ath79: add syscon compatible property to ar7100 ethernet nodes
authorMatt Merhar <mattmerhar@protonmail.com>
Thu, 30 Aug 2018 00:14:19 +0000 (20:14 -0400)
committerMathias Kresin <dev@kresin.me>
Thu, 6 Sep 2018 19:35:53 +0000 (21:35 +0200)
This adds "syscon" to the compatible properties for the eth0/eth1 nodes
in ar7100.dtsi.

Without this, a kernel panic is encountered on boot with some ar7100
boards. This for some reason wasn't an issue for the WNDR3800, which
uses a Realtek switch chipset, but the panic was encountered on the
RouterStation Pro (using an AR8216 switch) and some other boards that
haven't yet been merged.

The panic message mentions an unaligned access and happens in
ag71xx_mdio_probe in drivers/net/ethernet/atheros/ag71xx/ag71xx_mdio.c.

Even if the unaligned access is fixed, the ag71xx_mdio probe still fails
without the "syscon" property.

This was already being worked around in
ar7161_ubnt_routerstation-pro.dts by overriding the compatible property,
so this commit removes that as well.

All of the other ath79 .dtsi already have this property, so no changes
are needed elsewhere.

Signed-off-by: Matt Merhar <mattmerhar@protonmail.com>
target/linux/ath79/dts/ar7100.dtsi
target/linux/ath79/dts/ar7161_ubnt_routerstation-pro.dts

index 5d5c97cd891e7af3b6abe284eb81987360525fca..982ad9648467107aeac85a3ea51acb7b2758c5e8 100644 (file)
 };
 
 &eth0 {
-       compatible = "qca,ar7100-eth";
+       compatible = "qca,ar7100-eth", "syscon";
        reg = <0x19000000 0x200
                0x18070000 0x4>;
 
 };
 
 &eth1 {
-       compatible = "qca,ar7100-eth";
+       compatible = "qca,ar7100-eth", "syscon";
        reg = <0x1a000000 0x200
                0x18070004 0x4>;
 
index 123d1efbf1dd279f08830fb07f30f54c07862109..1ffb1239b9f1e0384e614040669e8a14ecf049d8 100644 (file)
 };
 
 &eth0 {
-       compatible = "qca,ar7100-eth", "syscon";
        phy-mode = "rgmii";
        phy-handle = <&phy4>;
 };
 
 &eth1 {
-       compatible = "qca,ar7100-eth", "syscon";
        phy-mode = "rgmii";
        phy-handle = <&phy0>;
 };