[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200331125433.GA24486@lunn.ch>
Date: Tue, 31 Mar 2020 14:54:33 +0200
From: Andrew Lunn <andrew@...n.ch>
To: David Jander <david@...tonic.nl>
Cc: Russell King - ARM Linux admin <linux@...linux.org.uk>,
Florian Fainelli <f.fainelli@...il.com>,
Oleksij Rempel <o.rempel@...gutronix.de>,
netdev@...r.kernel.org, Sascha Hauer <s.hauer@...gutronix.de>,
linux-kernel@...r.kernel.org, Fabio Estevam <festevam@...il.com>,
linux-imx@....com, kernel@...gutronix.de,
Shawn Guo <shawnguo@...nel.org>,
linux-arm-kernel@...ts.infradead.org,
Heiner Kallweit <hkallweit1@...il.com>
Subject: Re: [PATCH v2] ARM: imx: allow to disable board specific PHY fixups
> - 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
Powered by blists - more mailing lists