LED_0, LED_1 and RX_D2 pins are bootstrapped with external 2.49k pull-ups but indirect register access of register 0x45D returns error -95
[ 1.951142] -->DWC_ETH_QOS_mdio_register
[ 1.951145]
[ 1.951145] ************* PHY Reg dump *************************
[ 1.951609] Phy Control Reg(Basic Mode Control Reg) (0x0) = 0x2100
[ 1.958026] Phy Status Reg(Basic Mode Status Reg) (0x1) = 0x61
[ 1.964105] Phy Id (PHYS ID 1) (0x2)= 0x2000
[ 1.969915] Phy Id (PHYS ID 2) (0x3)= 0xa271
[ 1.974345] Auto-nego Adv (Advertisement Control Reg)(0x4) = 0x1
[ 1.978599] Auto-nego Lap (Link Partner Ability Reg)(0x5)= 0x0
[ 1.984589] Auto-nego Exp (Extension Reg)(0x6) = 0x0
[ 1.990230] Auto-nego Np (0x7) = 0x2001
[ 1.995349] Extended Status Reg (0xf) = 0x0
[ 1.998908] 1000 Ctl Reg (1000BASE-T Control Reg)(0x9) = 0x0
[ 2.003078] 1000 Sts Reg (1000BASE-T Status)(0xa) = 0x100
[ 2.008980] PHY Ctl Reg (0x10) = 0x4
[ 2.014273] PHY Sts Reg (0x11) = 0x10b
[ 2.017918] PHY Intr Status Reg (0x13) = 0x0
[ 2.021479] PHY Intr EN Reg (0x12) = 0x4000
[ 2.025905] Smart Speed Reg (0x14) = 0x0
[ 2.029398]
[ 2.029398] ****************************************************
[ 2.033984] phyaddr 0 phy_reg_read_status 0 mii_status 61
[ 2.033987] DWC_ETH_QOS: Phy detected at ID/ADDR 0
[ 2.033992] libphy: __mdiobus_register
[ 2.035318] libphy: __mdiobus_register i 0
[ 2.035321] libphy: __mdiobus_register i 0 bus->phy_mask fffffffe
[ 2.035324] libphy: get_phy_device
[ 2.035325] libphy: get_phy_id
[ 2.036151] libphy: get_phy_id *phy_id 2000a271
[ 2.036153] libphy: phy_device_create
[ 2.036436] libphy: mdiobus_scan
[ 2.036518] libphy: phy_bus_match
[ 2.036522] libphy: phy_bus_match
[ 2.036524] libphy: phy_bus_match
[ 2.036526] libphy: phy_bus_match
[ 2.036528] libphy: phy_bus_match
[ 2.036530] libphy: phy_bus_match
[ 2.036532] libphy: phy_bus_match
[ 2.036571] libphy: phy_probe
[ 2.036588] TI DP83TC812CS2.0: probe of dwc_phy-1:00 failed with error -95
[ 2.036592] libphy: phy_bus_match
[ 2.036594] libphy: phy_bus_matc
TI asked us to replace phy_read_mmd" command with "phy_write_indirect" assuming that our kernel version 4.9 is not compatible with 812 driver.
After making the above changes the error -95 is gone but the register 0x45d reads all 0's instead of expected 0x2280 (pins LED_0 -- LED_1 -- RX_D2 have external 2.49k pull-ups to 1.8V VDDIO)