Re: [PATCH v2] ARM: imx: allow to disable board specific PHY fixups
From: Andrew Lunn
Date: Tue Mar 31 2020 - 08:54:43 EST
> - Disable the SmartEEE feature of the phy. The comment in the code implies
> that for some reason it doesn't work, but the reason itself is not given.
> Anyway, disabling SmartEEE should IMHO opinion be controlled by a DT
> setting. There is no reason to believe this problem is specific to the
> i.MX6. Besides, it is a feature of the phy, so it seems logical to expose
> that via the DT. Once that is done, it has no place here.
The device tree properties are defined:
bindings/net/ethernet-phy.yaml: eee-broken-100tx:
bindings/net/ethernet-phy.yaml: eee-broken-1000t:
bindings/net/ethernet-phy.yaml: eee-broken-10gt:
bindings/net/ethernet-phy.yaml: eee-broken-1000kx:
bindings/net/ethernet-phy.yaml: eee-broken-10gkx4:
bindings/net/ethernet-phy.yaml: eee-broken-10gkr:
And there is a helper:
void of_set_phy_eee_broken(struct phy_device *phydev)
> - Enable TXC delay. To clarify, the RGMII specification version 1 specified
> that the RXC and TXC traces should be routed long enough to introduce a
> certain delay to the clock signal, or the delay should be introduced via
> other means. In a later version of the spec, a provision was given for MAC
> or PHY devices to generate this delay internally. The i.MX6 MAC interface
> is unable to generate the required delay internally, so it has to be taken
> care of either by the board layout, or by the PHY device. This is the
> crucial point: The amount of delay set by the PHY delay register depends on
> the board layout. It should NEVER be hard-coded in SoC setup code. The
> correct way is to specify it in the DT. Needless to say that this too,
> isn't i.MX6-specific.
Correct:
# RX and TX delays are added by the MAC when required
- rgmii
# RGMII with internal RX and TX delays provided by the PHY,
# the MAC should not add the RX or TX delays in this case
- rgmii-id
# RGMII with internal RX delay provided by the PHY, the MAC
# should not add an RX delay in this case
- rgmii-rxid
# RGMII with internal TX delay provided by the PHY, the MAC
# should not add an TX delay in this case
- rgmii-txid
The needed properties exist.
I think part of the issue is that there are iMX6 board which are not
device tree?
Andrew