19
Writing EEPROM Space through the I2C Interface
The ISL35822 permits two methods for writing the requisite
values into EEPROM or other I2C devices from the MDIO
space into the I2C register space. Many DOM circuits protect
their important internal data through some form of password
protection, and in general the ISL35822 will allow this to be
done without a problem.
BLOCK WRITES TO EEPROM SPACE
The first method is applicable only to the NVR space (I2C
address space A0.00:FF’h). If the WRTP (Write Protect) pin is
inactive (low), and the NVR Write Size bit (1.32773.7 =
1.8005.7’h) is set to a ‘1’, then issuing a ‘Write All NVR’
command (write 0023’h to 1.32768 = 1.8000’h) will write the
current contents of MDIO registers 1.8007:8106’h into the NVR
space. The ‘NVR Write Page Size’ bits in 1.32773.1:0
(1.8005.1:0’h) control the block size used for the write
operation. See
Figure 21 for the sequence timing. Normally this
operation is only useful for initialization of a module EEPROM
space, but it could be used for field upgrades or the like. If the
WRTP (Write Protect) pin is high (active, normal condition), OR
the Write Size bit (1.32773.7 = 1.8005.7’h) is cleared to a ‘0’,
then issuing a ‘Write All NVR’ command (write 0023’h to
1.32768 = 1.8000’h) will write only the current contents of the
MDIO register block within 1.807F:80AE’h to the XENPAK-
defined Customer Area, A0.77:A6’h. The actual block write will
occur one byte at a time. The block write size controls cannot
be used here, since the Customer Area block boundaries do
not lie on page-write boundaries of the EEPROM, a feature of
the XENPAK specification.
BYTE WRITES TO EEPROM SPACE
The second method is applicable to any part of the I2C space.
The write operation is performed one byte at a time. The device
address and memory address are written into the 1.32769
(1.8001’h) and 1.32770 (1.8002’h) registers respectively (see
1.32772 (1.8004’h) register. On issuing a ‘Write one byte’
command (write 0022’h to 1.32768 = 1.8000’h) the data will be
written into the I2C space. See Figure 23 for the timing sequence. Note that if the WRTP (Write Protect) pin is high, or
the Write Size bit (1.32773.7 = 1.8005.7’h) is cleared to a ‘0’,
writes to any part of the basic NVR space outside the XENPAK-
defined Customer Area will be ignored. Also note that a 16-bit
addressable EEPROM (or equivalent) device on the I2C bus
may be written by setting the Long Memory bit 1.32773.8
(1.8005.8’h) to a ‘1’, and writing a full 16-bit memory address
value into 1.32770 (1.8002’h). Note that this 16-bit operation
MUST NOT be used on an 8-bit device.
These one-byte operations could be used to load modified
Device Address values or protective passwords into multiple
DOM devices, or for loading other types of data into them. They
are also useful for writing data into I2C interface DCP devices
for setting laser currents, etc.
MDIO Registers
In the following tables, the addresses are given in the table
headers both in decimal (as used in the IEEE 802.3ae and
802.3ak documents) and in hexadecimal form. Where the
registers coincide in structure and meaning, but the Device
Addresses differ, the underlying register bits are the same, and
may be read or written indiscriminately via any relevant Device
Address. For instance a full RESET may be initiated by writing
any one of 1.0.15, 3.0.15, or 4.0.15. While the reset is active,
reading any of these bits would return a ‘1’ (except that the
reset lasts less than the MDIO preamble plus frame time).
When the reset operation is complete, reading any of them will
return a ‘0’. Note that extra preambles may be required after
Table 4. MDIO PMA/PMD DEVAD 1 REGISTERS
PMA/PMD DEVICE 1 MDIO REGISTERS
ADDRESS
NAME
DESCRIPTION
DEFAULT
AC (5)
R/W
DETAILS
DEC
HEX
1.0
PMA/PMD Control 1 Reset, Enable serial loop back mode.
2040’h
R/W
1.1
PMA/PMD Status 1
Local Fault and Link Status
0004’h (2)
RO/LL
1.2:3
ID Code
Manufacturer OUI & Device ID
01839C6V’h
RO
See (1)
1.4
Speed Ablty
PMA/PMD Speed Ability
0001’h
RO
1.5
Dev in Pkg.
Devices in Package, Clause 22.
001A’h
RO
1.6
Vend Sp Dev
Vendor Specific Devices in Package
0000’h
RO
1.7
PMA/PMD Control 2 PMA/PMD type Selection
P (4)
RO (6)
1.8
PMA/PMD Status 2
Fault Summary, Device Ability
B311’h (2)
RO
(LH)
1.9
PMD TX Dis
Disable PMD Transmit
0000’h
R/W
1.10
1.A
PMD Sig Det
PMD Signal Detect
001F’h (2)
RO
ISL35822