ath79: ag71xx: remove PHY reset
authorChuanhong Guo <gch981213@gmail.com>
Tue, 7 Aug 2018 04:02:07 +0000 (12:02 +0800)
committerMathias Kresin <dev@kresin.me>
Thu, 9 Aug 2018 16:44:57 +0000 (18:44 +0200)
Bit 8/12 of reset controller which is marked as PHY_RESET/SWITCH_RESET
in datasheets will trigger either a reset for builtin switch or assert
an external ETH0_RESET_L/ETH1_RESET_L pin, which are usually connected
to external PHY/switch. None of them should be triggered every time an
interface is brought up in ethernet driver.

Remove PHY reset support from ag71xx and definition for them in dtsi.

Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
target/linux/ath79/dts/ar7100.dtsi
target/linux/ath79/dts/ar7161_netgear_wndr3800.dts
target/linux/ath79/dts/ar9132.dtsi
target/linux/ath79/dts/ar9132_tplink_tl-wr1043nd-v1.dts
target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx.h
target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c

index 9957b8df600dd3eca20037a246c1b2f7237a429d..8994a7d688dc29340662c03cd732d260e9d3d26c 100644 (file)
        pll-handle = <&pll>;
        phy-mode = "rgmii";
 
-       resets = <&rst 8>, <&rst 9>;
-       reset-names = "phy", "mac";
+       resets = <&rst 9>;
+       reset-names = "mac";
 };
 
 &mdio1 {
 
        phy-mode = "rgmii";
 
-       resets = <&rst 12>, <&rst 13>;
-       reset-names = "phy", "mac";
+       resets = <&rst 13>;
+       reset-names = "mac";
 };
index 8e28c4d90f93ca4456dfe9a7af30f9ef89e41afa..725583c4918546617e2094bc72efa0e16b505b39 100644 (file)
 
        mtd-mac-address = <&art 0x06>;
 
-       resets = <&rst 13>;
-       reset-names = "mac";
-
        phy-handle = <&phy4>;
 };
index d079811fe6ee1bbc42cd8b510299e06585a422d3..f3105e330de13c0d5f6a40c88d1107f763bca2e1 100644 (file)
        pll-data = <0x1a000000 0x13000a44 0x00441099>;
        pll-reg = <0x4 0x10 17>;
        pll-handle = <&pll>;
-       resets = <&rst 8>, <&rst 9>;
-       reset-names = "phy", "mac";
+       resets = <&rst 9>;
+       reset-names = "mac";
 };
index 58fc8a583296e0f8c6d570a8070c0060808dc0c9..b97b57f5865ba7cb63c8ea6ec6ba42d3161792d2 100644 (file)
        phy-mode = "rgmii";
        mtd-mac-address = <&uboot 0x1fc00>;
 
-       resets = <&rst 9>;
-       reset-names = "mac";
-
        fixed-link {
                speed = <1000>;
                full-duplex;
index 70c85822942a36427ae4b4cfc726b782f22f8629..377b9f8fe2470727cba89792ee662a87a82fba0a 100644 (file)
@@ -186,7 +186,6 @@ struct ag71xx {
        struct timer_list       oom_timer;
 
        struct reset_control *mac_reset;
-       struct reset_control *phy_reset;
 
        u32                     fifodata[3];
        u32                     plldata[3];
index 3a25904d56c4e50104c42540cd404e2f2736c76c..4f1c75fbff3c24bb407fb7a07f32235cdf5c9d90 100644 (file)
@@ -423,13 +423,6 @@ static void ag71xx_hw_init(struct ag71xx *ag)
 {
        ag71xx_hw_stop(ag);
 
-       if (ag->phy_reset) {
-               reset_control_assert(ag->phy_reset);
-               msleep(50);
-               reset_control_deassert(ag->phy_reset);
-               msleep(200);
-       }
-
        ag71xx_sb(ag, AG71XX_REG_MAC_CFG1, MAC_CFG1_SR);
        udelay(20);
 
@@ -1313,8 +1306,6 @@ static int ag71xx_probe(struct platform_device *pdev)
                goto err_free;
        }
 
-       ag->phy_reset = devm_reset_control_get_optional(&pdev->dev, "phy");
-
        if (of_property_read_u32_array(np, "fifo-data", ag->fifodata, 3)) {
                if (of_device_is_compatible(np, "qca,ar9130-eth") ||
                    of_device_is_compatible(np, "qca,ar7100-eth")) {