Other Parts Discussed in Thread: DP83869
When 'ti,op-mode' is not in device tree, DP83869 Linux driver reads STRAP_OPMODE from STRAP_STS register.
static int dp83869_set_strapped_mode(struct phy_device *phydev)
{
struct dp83869_private *dp83869 = phydev->priv;
int val;
val = phy_read_mmd(phydev, DP83869_DEVADDR, DP83869_STRAP_STS1);
if (val < 0)
return val;
dp83869->mode = val & DP83869_STRAP_OP_MODE_MASK;
return 0;
}
But, STRAP_OPMODE is bit11-9 of the STRAP_STS register.
Please tell me, need 9-bits right shift?
dp83869->mode = (val >> 9) & DP83869_STRAP_OP_MODE_MASK;
Best Regards.