
Hi,
On Wed, Sep 27, 2017 at 01:58:45PM +0000, Stefan Mavrodiev wrote:
On 09/27/2017 04:19 PM, Maxime Ripard wrote:
Hi Stefan,
You should also put Jagan Teki as recipients.
On Wed, Sep 27, 2017 at 07:19:10AM +0000, Stefan Mavrodiev wrote:
From revision J the board uses new phy chip LAN8710. Compared with RTL8201, RA17 pin is TXERR. It has pullup which causes phy not to work. To fix this PA17 is muxed with GMAC function. This makes the pin output-low.
Signed-off-by: Stefan Mavrodiev stefan@olimex.com
arch/arm/dts/sun7i-a20-olinuxino-micro.dts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/arch/arm/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/dts/sun7i-a20-olinuxino-micro.dts index 7e3006f..0bc5ea9 100644 --- a/arch/arm/dts/sun7i-a20-olinuxino-micro.dts +++ b/arch/arm/dts/sun7i-a20-olinuxino-micro.dts @@ -95,7 +95,7 @@ &gmac { pinctrl-names = "default";
- pinctrl-0 = <&gmac_pins_mii_a>;
- pinctrl-0 = <&gmac_pins_mii_a>,<&gmac_txerr>; phy = <&phy1>; phy-mode = "mii"; status = "okay";
@@ -226,6 +226,13 @@ }; &pio {
- gmac_txerr: gmac_txerr@0 {
allwinner,pins = "PA17";
allwinner,function = "gpio_out";
allwinner,drive = <SUN4I_PINCTRL_10_MA>;
allwinner,pull = <SUN4I_PINCTRL_NO_PULL>;
- };
There's two issues with that patch:
- In general we try to sync the DT with Linux when we can, and the patch that ended up in Linux wasn't this one.
I'm little confused. If I sync the DT with the one from mainline linux, doesn't this counts as dangerous? I mean it will be the only one that is synced. This could corrupt building if sun7i-a20.dtsi is not synced for example.
I'm not sure what's dangerous about this. If the device tree is working in Linux, it should be working in U-Boot, right?
- And we don't have any pinctrl support in U-Boot, that patch will basically do nothing
The code that changes the muxing is here: http://git.denx.de/?p=u-boot.git;a=blob;f=board/sunxi/gmac.c#l34
Again, since this is common for all boards, doesn't it counts as dangerous? This is feature only on our board.
We can probably solve this through a Kconfig option.
But then, if it's working in u-boot right now, I'm not really sure what it's trying to fix?
Maxime