ADIN1110
Recommended for New Designs
The ADIN1110 is an ultra low power, single port, 10BASE-T1L
transceiver design for industrial Ethernet applications and is compliant with the IEEE® 802...
Datasheet
ADIN1110 on Analog.com
Hi ADI,
I have brought the ADIN1110 up in the Linux OS. Phytool has been installed and used. Clause 22 register can be read out as below.
But how to access clause 45 register? Phytool said I need put ADDR as C22 ADDR | C45 ADDR as below.
I did not find a C45 ADDR in ADIN1110's datasheet. Instead, I found MDIO Access Registers need to be modified in page 40. However, it is SPI register instead of a PHY register. Does that mean we need to use SPI dev tool? Can phytool visit clause 45 register in some magic ways? Thanks!
Hi,
The C45 register map is listed in the datasheet from page 72 onward. Clause 45 operations are not directly supported by the ADIN1110 driver (so you cannot use a single phytool command), you will have to do a C45 access over 4 C22 transfers. For this we'll use the C22 0xD and 0xE (MMD_CTRL and MMD_DATA) registers in the following way:
1. Write the C45 device address to the 0xD register.
2. Write the register address to the 0xE register.
3. Write the (0x4000 | C45 device address) to 0xD. This will set the access mode to "data without post increment".
4. Read the 0xE register (in case you want to do a read access) or write the 0xE register (in case you want to do a write access).
I would recommend creating a shell script similar to the one I'm attaching in order to do this sequence.
Example of using it:
./c45_access.sh read eth1 0x1 0x1E 0x8C83 # Read the register 0x8C83 of the device with id 0x1E on MDIO port 1. eth1 is the name of the network interface specific to ADIN1110.
./c45_access.sh write eth1 0x1 0x1E 0x8C83 0x3 # Write the 0x3 value to the register 0x8C83 of the device with id 0x1E on MDIO port 1.