SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
| Address Offset | 0x0000 0000 | ||
| Physical Address | 0x4B23 2400 0x4B2B 2400 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | MDIO MODULE VERSION REGISTER | ||
| Type | R | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| REVISION | |||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:0 | REVISION | IP Revision. | R | 0x-(1) |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 0004 | ||
| Physical Address | 0x4B23 2404 0x4B2B 2404 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | MDIO MODULE CONTROL REGISTER | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| IDLE | ENABLE | RESERVED | HIGHEST_USER_CHANNEL | RESERVED | PREAMBLE | FAULT | FAULT_DETECT_ENABLE | INT_TEST_ENABLE | RESERVED | CLKDIV | |||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31 | IDLE | MDIO state machine IDLE. Set to 1 when the state machine is in the idle state. | R | 0x1 |
| 30 | ENABLE | Enable control. Writing a 1 to this bit enables the MDIO state machine, writing a 0 disables it. If the MDIO state machine is active at the time it is disabled, it will complete the current operation before halting and setting the idle bit. If using byte access, the enable bit has to be the last bit written in this register. | RW | 0x0 |
| 29 | RESERVED | R | 0 | |
| 28:24 | HIGHEST_USER_CHANNEL | Highest user channel. This field specifies the highest useraccess channel that is available in the module and is currently set to 1. This implies that MDIOUserAccess1 is the highest available user access channel. | R | 0x1 |
| 23:21 | RESERVED | R | 0x0 | |
| 20 | PREAMBLE | Preamble disable. Writing a 1 to this bit disables this device from sending MDIO frame preambles. | RW | 0x0 |
| 19 | FAULT | Fault indicator. This bit is set to 1 if the MDIO pins fail to read back what the device is driving onto them. This indicates a physical layer fault and the module state machine is reset. Writing a 1 to it clears this bit. | RW | 0x0 |
| 18 | FAULT_DETECT_ENABLE | Fault detect enable. This bit has to be set to 1 to enable the physical layer fault detection. | RW | 0x0 |
| 17 | INT_TEST_ENABLE | Interrupt test enable. This bit can be set to 1 to enable the host to set the userint and linkint bits for test purposes. | RW | 0x0 |
| 16 | RESERVED | R | 0 | |
| 15:0 | CLKDIV | Clock Divider. This field specifies the division ratio between CLK and the frequency of MDCLK. MDCLK is disabled when clkdiv is set to 0. MDCLK frequency = clk frequency/(clkdiv+1). | RW | 0xff |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 0008 | ||
| Physical Address | 0x4B23 2408 0x4B2B 2408 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | PHY ACKNOWLEDGE STATUS REGISTER | ||
| Type | RWr1Clr | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ALIVE | |||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:0 | ALIVE | MDIO Alive bitfield. Each of the 32 bits of this register is set if the most recent access to the PHY with address corresponding to the register bit number was acknowledged by the PHY, the bit is reset if the PHY fails to acknowledge the access. Both the user and polling accesses to a PHY will cause the corresponding alive bit to be updated. The alive bits are only meant to be used to give an indication of the presence or not of a PHY with the corresponding address. Writing a 1 to any bit will clear it, writing a 0 has no effect. | RWr1Clr | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 000C | ||
| Physical Address | 0x4B23 240C 0x4B2B 240C | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | PHY LINK STATUS REGISTER | ||
| Type | R | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| LINK | |||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:0 | LINK | MDIO Link state. This register is updated after a read of the Generic Status Register of a PHY. The bit is set if the PHY with the corresponding address has link and the PHY acknowledges the read transaction. The bit is reset if the PHY indicates it does not have link or fails to acknowledge the read transaction. Writes to the register have no effect. In addition, the status of the two PHYs specified in the MDIOUserPhySel registers can be determined using the MLINK input pins. This is determined by the linksel bit in the MDIOUserPhySel register. | R | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 0010 | ||
| Physical Address | 0x4B23 2410 0x4B2B 2410 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | LINK STATUS CHANGE INTERRUPT REGISTER (RAW VALUE) | ||
| Type | RWr1Clr | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | LINKINTRAW | ||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:2 | RESERVED | R | 0x0000 000 | |
| 1:0 | LINKINTRAW | MDIO link change event, raw value. When asserted ‘1’, a bit indicates that there was an MDIO link change event (i.e. change in the MDIOLink register) corresponding to the PHY address in the MDIOUserPhySel register. linkintraw[0] and linkintraw[1] correspond to MDIOUserPhySel0 and MDIOUserPhysel1, respectively. Writing a ‘1’ will clear the event and writing 0 has no effect. If the int_test bit in the MDIOControl register is set, the host may set the linkintraw bits to a ‘1’. This mode may be used for test purposes. | RWr1Clr | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 0014 | ||
| Physical Address | 0x4B23 2414 0x4B2B 2414 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | LINK STATUS CHANGE INTERRUPT REGISTER (MASKED VALUE) | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | LINKINTMASKED | ||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:2 | RESERVED | R | 0x0000 000 | |
| 1:0 | LINKINTMASKED | MDIO link change interrupt, masked value. When asserted ‘1’, a bit indicates that there was an MDIO link change event (i.e. change in the MDIOLink register) corresponding to the PHY address in the MDIOUserPhySel register and the corresponding linkint_enable bit was set.. linkintmasked[0] and linkintmasked[1] correspond to MDIOUserPhySel0 and MDIOUserPhysel1, respectively. Writing a ‘1’ will clear the interrupt and writing 0 has no effect. If the int_test bit in the MDIOControl register is set, the host may set the linkint bits to a ‘1’. This mode may be used for test purposes. | RW | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 0020 | ||
| Physical Address | 0x4B23 2420 0x4B2B 2420 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | USER COMMAND COMPLETE INTERRUPT REGISTER (RAW VALUE) | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | USERINTRAW | ||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:2 | RESERVED | R | 0x0000 000 | |
| 1:0 | USERINTRAW | Raw value of MDIO user command complete event for MDIOUserAccess1 through MDIOUserAccess0, respectively. When asserted ‘1’, a bit indicates that the previously scheduled PHY read or write command using that particular MDIOUserAccess register has completed. Writing a ‘1’ will clear the event and writing ‘0’ has no effect. If the int_test bit in the MDIOControl register is set, the host may set the userintraw bits to a ‘1’. This mode may be used for test purposes. | RW | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 0024 | ||
| Physical Address | 0x4B23 2424 0x4B2B 2424 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | USER COMMAND COMPLETE INTERRUPT REGISTER (MASKED VALUE) | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | USERINTMASKED | ||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:2 | RESERVED | R | 0x0000 000 | |
| 1:0 | USERINTMASKED | Masked value of MDIO user command complete interrupt for MDIOUserAccess1 through MDIOUserAccess0, respectively. When asserted ‘1’, a bit indicates that the previously scheduled PHY read or write command using that particular MDIOUserAccess register has completed and the corresponding userintmaskset bit is set to ‘1’.Writing a ‘1’ will clear the interrupt and writing ‘0’ has no effect. If the int_test bit in the MDIOControl register is set, the host may set the userintmasked bits to a ‘1’. This mode may be used for test purposes. | RW | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 0028 | ||
| Physical Address | 0x4B23 2428 0x4B2B 2428 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | USER INTERRUPT MASK SET REGISTER | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | USERINTMASKEDSET | ||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:2 | RESERVED | R | 0x0000 000 | |
| 1:0 | USERINTMASKEDSET | MDIO user interrupt mask set for userintmasked[1:0], respectively. Writing a bit to ‘1’ will enable MDIO user command complete interrupts for that particular MDIOUserAccess register. MDIO user interrupt for a particular MDIOUserAccess register is disabled if the corresponding bit is ‘0’. Writing a ‘0’ to this register has no effect. | RW | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 002C | ||
| Physical Address | 0x4B23 242C 0x4B2B 242C | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | USER INTERRUPT MASK CLEAR REGISTER | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | USERINTMASKEDCLR | ||||||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:2 | RESERVED | R | 0x0000 000 | |
| 1:0 | USERINTMASKEDCLR | MDIO user command complete interrupt mask clear for userintmasked[1:0], respectively. Writing a bit to ‘1’ will disable further user command complete interrupts for that particular MDIOUserAccess register. Writing a ‘0’ to this register has no effect. | RW | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 0080 | ||
| Physical Address | 0x4B23 2480 0x4B2B 2480 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | USER ACCESS REGISTER0 | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| GO | WRITE | ACK | RESERVED | REGADR | PHYADR | DATA | |||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31 | GO | Go. Writing a 1 to this bit causes the MDIO state machine to perform an MDIO access when it is convenient for it to do so, this is not an instantaneous process. Writing a 0 to this bit has no effect. This bit is write able only if the MDIO state machine is enabled. This bit will self clear when the requested access has been completed. Any writes to the MDIOUserAccess0 register are blocked when the go bit is ‘1’. If byte access is being used, the go bit should be written last. | RW | 0x0 |
| 30 | WRITE | Write enable. Setting this bit to a 1 causes the MDIO transaction to be a register write, otherwise it is a register read. | RW | 0x0 |
| 29 | ACK | Acknowledge. This bit is set if the PHY acknowledged the read transaction. | RW | 0x0 |
| 28:26 | RESERVED | R | 0x0 | |
| 25:21 | REGADR | Register address. This field specifies the PHY register to be accessed for this transaction. | RW | 0x0 |
| 20:16 | PHYADR | PHY address. This field specifies the PHY to be accessed for this transaction. | RW | 0x0 |
| 15:0 | DATA | User data. The data value read from or to be written to the specified PHY register. | RW | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 0084 | ||
| Physical Address | 0x4B23 2484 0x4B2B 2484 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | USER PHY SELECT REGISTER0 | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | LINKSEL | LINKINT_ENABLE | RESERVED | PHYADR_MON | |||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:8 | RESERVED | R | 0x0000 00 | |
| 7 | LINKSEL | Link status determination select. Set to ‘1’ to determine link status using the MLINK pin. Default value is ‘0’ which implies that the link status is determined by the MDIO state machine. | RW | 0x0 |
| 6 | LINKINT_ENABLE | Link change interrupt enable. Set to ‘1’ to enable link change status interrupts for PHY address specified in phyadr_mon. Link change interrupts are disabled if this bit is set to ‘0’. | RW | 0x0 |
| 5 | RESERVED | R | 0 | |
| 4:0 | PHYADR_MON | PHY address whose link status is to be monitored. | RW | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 0088 | ||
| Physical Address | 0x4B23 2488 0x4B2B 2488 | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | USER ACCESS REGISTER1 | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| GO | WRITE | ACK | RESERVED | REGADR | PHYADR | DATA | |||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31 | GO | Go. Writing a 1 to this bit causes the MDIO state machine to perform an MDIO access when it is convenient for it to do so, this is not an instantaneous process. Writing a 0 to this bit has no effect. This bit is write able only if the MDIO state machine is enabled. This bit will self clear when the requested access has been completed. Any writes to the MDIOUserAccess0 register are blocked when the go bit is ‘1’. If byte access is being used, the go bit should be written last. | RW | 0x0 |
| 30 | WRITE | Write enable. Setting this bit to a 1 causes the MDIO transaction to be a register write, otherwise it is a register read. | RW | 0x0 |
| 29 | ACK | Acknowledge. This bit is set if the PHY acknowledged the read transaction. | RW | 0x0 |
| 28:26 | RESERVED | R | 0x0 | |
| 25:21 | REGADR | Register address. This field specifies the PHY register to be accessed for this transaction. | RW | 0x0 |
| 20:16 | PHYADR | PHY address. This field specifies the PHY to be accessed for this transaction. | RW | 0x0 |
| 15:0 | DATA | User data. The data value read from or to be written to the specified PHY register. | RW | 0x0 |
| PRU-ICSS MII MDIO Module |
| Address Offset | 0x0000 008C | ||
| Physical Address | 0x4B23 248C 0x4B2B 248C | Instance | PRUSS1_MII_MDIO PRUSS2_MII_MDIO |
| Description | USER PHY SELECT REGISTER1 | ||
| Type | RW | ||
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | LINKSEL | LINKINT_ENABLE | RESERVED | PHYADR_MON | |||||||||||||||||||||||||||
| Bits | Field Name | Description | Type | Reset |
|---|---|---|---|---|
| 31:8 | RESERVED | R | 0x0000 000 | |
| 7 | LINKSEL | Link status determination select. Set to ‘1’ to determine link status using the MLINK pin. Default value is ‘0’ which implies that the link status is determined by the MDIO state machine. | RW | 0x0 |
| 6 | LINKINT_ENABLE | Link change interrupt enable. Set to ‘1’ to enable link change status interrupts for PHY address specified in phyadr_mon. Link change interrupts are disabled if this bit is set to ‘0’. | RW | 0x0 |
| 5 | RESERVED | R | 0 | |
| 4:0 | PHYADR_MON | PHY address whose link status is to be monitored. | RW | 0x0 |
| PRU-ICSS MII MDIO Module |