From fcd247d02b9ec00b0af846d642d50e8916d41074 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sun, 15 Mar 2020 00:01:38 +0100 Subject: [PATCH 1/3] ath79: add correct phy-mode for QCA9563 boards The TP-Link RE450 as well as the UniFi AC series missed the phy-mode property. Because of this, the incorrect MII phy-mode from the root dtsi was used. With Kernel 5.4, this leads to problems when used with a AR8033 PHY. The bootloader seems to leave the fiber pages selected. As there's not switch to copper pages happening in at803x_config_init due to the incorrect phy-mode, the new at803x_read_status will interpret the status of the SGMII side as the status of the copper side. Signed-off-by: David Bauer --- target/linux/ath79/dts/qca9563_tplink_re450-v2.dts | 1 + target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dtsi | 1 + 2 files changed, 2 insertions(+) diff --git a/target/linux/ath79/dts/qca9563_tplink_re450-v2.dts b/target/linux/ath79/dts/qca9563_tplink_re450-v2.dts index 28fefe224d..16bc26c978 100644 --- a/target/linux/ath79/dts/qca9563_tplink_re450-v2.dts +++ b/target/linux/ath79/dts/qca9563_tplink_re450-v2.dts @@ -180,6 +180,7 @@ ð0 { status = "okay"; + phy-mode = "sgmii"; phy-handle = <&phy4>; mtd-mac-address = <&info 0x8>; diff --git a/target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dtsi b/target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dtsi index 8248e060c5..b9a5b55cd6 100644 --- a/target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dtsi +++ b/target/linux/ath79/dts/qca9563_ubnt_unifiac-lite.dtsi @@ -22,5 +22,6 @@ status = "okay"; mtd-mac-address = <&art 0x0>; + phy-mode = "sgmii"; phy-handle = <&phy4>; }; From ee808154571229cd3b677ea6c1ab96b122475c10 Mon Sep 17 00:00:00 2001 From: Sungbo Eo Date: Thu, 12 Mar 2020 02:50:35 +0900 Subject: [PATCH 2/3] mvebu: use generic diag.sh This commit removes the target-specific diag.sh script. This way, the generic one is used for the target, which uses DT-aliases to specify the LEDs used. Signed-off-by: Sungbo Eo Tested-by: Ansuel Smith [wrt3200acm @ 5.4] --- target/linux/mvebu/base-files/etc/diag.sh | 48 ------------------ .../patches-4.19/240-linksys-status-led.patch | 50 +++++++++++++++++++ 2 files changed, 50 insertions(+), 48 deletions(-) delete mode 100644 target/linux/mvebu/base-files/etc/diag.sh create mode 100644 target/linux/mvebu/patches-4.19/240-linksys-status-led.patch diff --git a/target/linux/mvebu/base-files/etc/diag.sh b/target/linux/mvebu/base-files/etc/diag.sh deleted file mode 100644 index be825379f9..0000000000 --- a/target/linux/mvebu/base-files/etc/diag.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -# Copyright (C) 2014-2016 OpenWrt.org -# Copyright (C) 2016 LEDE-Project.org - -. /lib/functions.sh -. /lib/functions/leds.sh - -get_status_led() { - case $(board_name) in - linksys,caiman) - status_led="caiman:white:power" - ;; - linksys,cobra) - status_led="cobra:white:power" - ;; - linksys,mamba) - status_led="mamba:white:power" - ;; - linksys,rango) - status_led="rango:white:power" - ;; - linksys,shelby) - status_led="shelby:white:power" - ;; - linksys,venom) - status_led="venom:blue:power" - ;; - esac -} - -set_state() { - get_status_led - - case "$1" in - preinit) - status_led_blink_preinit - ;; - failsafe) - status_led_blink_failsafe - ;; - preinit_regular) - status_led_blink_preinit_regular - ;; - done) - status_led_on - ;; - esac -} diff --git a/target/linux/mvebu/patches-4.19/240-linksys-status-led.patch b/target/linux/mvebu/patches-4.19/240-linksys-status-led.patch new file mode 100644 index 0000000000..e5e83572c9 --- /dev/null +++ b/target/linux/mvebu/patches-4.19/240-linksys-status-led.patch @@ -0,0 +1,50 @@ +--- a/arch/arm/boot/dts/armada-385-linksys.dtsi ++++ b/arch/arm/boot/dts/armada-385-linksys.dtsi +@@ -14,6 +14,13 @@ + compatible = "linksys,armada385", "marvell,armada385", + "marvell,armada380"; + ++ aliases { ++ led-boot = &led_power; ++ led-failsafe = &led_power; ++ led-running = &led_power; ++ led-upgrade = &led_power; ++ }; ++ + chosen { + stdout-path = "serial0:115200n8"; + }; +@@ -71,7 +78,7 @@ + pinctrl-0 = <&gpio_leds_pins>; + pinctrl-names = "default"; + +- power { ++ led_power: power { + gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>; + default-state = "on"; + }; +--- a/arch/arm/boot/dts/armada-xp-linksys-mamba.dts ++++ b/arch/arm/boot/dts/armada-xp-linksys-mamba.dts +@@ -26,6 +26,13 @@ + compatible = "linksys,mamba", "marvell,armadaxp-mv78230", + "marvell,armadaxp", "marvell,armada-370-xp"; + ++ aliases { ++ led-boot = &led_power; ++ led-failsafe = &led_power; ++ led-running = &led_power; ++ led-upgrade = &led_power; ++ }; ++ + chosen { + bootargs = "console=ttyS0,115200"; + stdout-path = &uart0; +@@ -197,7 +204,7 @@ + pinctrl-0 = <&power_led_pin>; + pinctrl-names = "default"; + +- power { ++ led_power: power { + label = "mamba:white:power"; + gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; + default-state = "on"; From f68c48f7dda2e35d343e69c714b8de2ff211957b Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sun, 15 Mar 2020 03:36:16 +0100 Subject: [PATCH 3/3] ath79: fix missing watchdog core dependency for hwmon-sch5627 Fixes following error uncovered while building ath79/tiny on 5.4: Package kmod-hwmon-sch5627 is missing dependencies for the following libraries: watchdog.ko See the similar commit e546e6252bb1 ("malta: fix missing watchdog core dependency for hwmon-sch5627") for a detailed explanation. Signed-off-by: David Bauer --- target/linux/ath79/config-5.4 | 1 + 1 file changed, 1 insertion(+) diff --git a/target/linux/ath79/config-5.4 b/target/linux/ath79/config-5.4 index 6f607ee7e4..d591f884e7 100644 --- a/target/linux/ath79/config-5.4 +++ b/target/linux/ath79/config-5.4 @@ -244,3 +244,4 @@ CONFIG_TICK_CPU_ACCOUNTING=y CONFIG_TINY_SRCU=y CONFIG_USB_SUPPORT=y CONFIG_USE_OF=y +CONFIG_WATCHDOG_CORE=y