Re: [OpenWrt-Devel] [PATCH 1/2] ath79: load watchdog before PHY driver
On 10.12.18 09:55, Mathias Kresin wrote: > Hey David, > > have you tried to set GPIO_WATCHDOG_ARCH_INITCALL instead? According to > the help text, it might solve your issue: Hello Mathias, thanks for pointing out, indeed this does solve my issue. This patch is therefore obsolete. I will send a v2 later this evening. Best wishes David > > In some situations, the default initcall level (module_init) > in not early enough in the boot process to avoid the watchdog > to be triggered. > If you say yes here, the initcall level would be raised to > arch_initcall. > > Mathias ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
Re: [OpenWrt-Devel] [PATCH 1/2] ath79: load watchdog before PHY driver
10/12/2018 02:44, David Bauer: The initialization for the two ethernet PHYs causes the hardware wathchdog of devolo WiFi pro boards to trigger reset. Linking the watchdog drivers before the PHY driver fixes this issue. Signed-off-by: David Bauer --- .../431-link-phy-after-watchdog.patch | 31 +++ 1 file changed, 31 insertions(+) create mode 100644 target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch diff --git a/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch b/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch new file mode 100644 index 00..d5b5357fd5 --- /dev/null +++ b/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch @@ -0,0 +1,31 @@ +Index: linux-4.14.82/drivers/Makefile +=== +--- linux-4.14.82.orig/drivers/Makefile linux-4.14.82/drivers/Makefile +@@ -9,13 +9,16 @@ + obj-y += irqchip/ + obj-y += bus/ + +-obj-$(CONFIG_GENERIC_PHY) += phy/ +- + # GPIO must come after pinctrl as gpios may need to mux pins etc + obj-$(CONFIG_PINCTRL) += pinctrl/ + obj-$(CONFIG_GPIOLIB) += gpio/ + obj-y += pwm/ + ++# load watchdog before PHY drivers as PHY driver init causes ++# watchdog timeout on some devices ++obj-$(CONFIG_WATCHDOG)+= watchdog/ ++obj-$(CONFIG_GENERIC_PHY) += phy/ ++ + obj-$(CONFIG_PCI) += pci/ + obj-$(CONFIG_PCI_ENDPOINT)+= pci/endpoint/ + # PCI dwc controller drivers +@@ -120,7 +123,6 @@ obj-$(CONFIG_W1) += w1/ + obj-y += power/ + obj-$(CONFIG_HWMON) += hwmon/ + obj-$(CONFIG_THERMAL) += thermal/ +-obj-$(CONFIG_WATCHDOG)+= watchdog/ + obj-$(CONFIG_MD) += md/ + obj-$(CONFIG_BT) += bluetooth/ + obj-$(CONFIG_ACCESSIBILITY) += accessibility/ Hey David, have you tried to set GPIO_WATCHDOG_ARCH_INITCALL instead? According to the help text, it might solve your issue: In some situations, the default initcall level (module_init) in not early enough in the boot process to avoid the watchdog to be triggered. If you say yes here, the initcall level would be raised to arch_initcall. Mathias ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel
[OpenWrt-Devel] [PATCH 1/2] ath79: load watchdog before PHY driver
The initialization for the two ethernet PHYs causes the hardware wathchdog of devolo WiFi pro boards to trigger reset. Linking the watchdog drivers before the PHY driver fixes this issue. Signed-off-by: David Bauer --- .../431-link-phy-after-watchdog.patch | 31 +++ 1 file changed, 31 insertions(+) create mode 100644 target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch diff --git a/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch b/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch new file mode 100644 index 00..d5b5357fd5 --- /dev/null +++ b/target/linux/ath79/patches-4.14/431-link-phy-after-watchdog.patch @@ -0,0 +1,31 @@ +Index: linux-4.14.82/drivers/Makefile +=== +--- linux-4.14.82.orig/drivers/Makefile linux-4.14.82/drivers/Makefile +@@ -9,13 +9,16 @@ + obj-y += irqchip/ + obj-y += bus/ + +-obj-$(CONFIG_GENERIC_PHY) += phy/ +- + # GPIO must come after pinctrl as gpios may need to mux pins etc + obj-$(CONFIG_PINCTRL) += pinctrl/ + obj-$(CONFIG_GPIOLIB) += gpio/ + obj-y += pwm/ + ++# load watchdog before PHY drivers as PHY driver init causes ++# watchdog timeout on some devices ++obj-$(CONFIG_WATCHDOG)+= watchdog/ ++obj-$(CONFIG_GENERIC_PHY) += phy/ ++ + obj-$(CONFIG_PCI) += pci/ + obj-$(CONFIG_PCI_ENDPOINT)+= pci/endpoint/ + # PCI dwc controller drivers +@@ -120,7 +123,6 @@ obj-$(CONFIG_W1) += w1/ + obj-y += power/ + obj-$(CONFIG_HWMON) += hwmon/ + obj-$(CONFIG_THERMAL) += thermal/ +-obj-$(CONFIG_WATCHDOG)+= watchdog/ + obj-$(CONFIG_MD) += md/ + obj-$(CONFIG_BT) += bluetooth/ + obj-$(CONFIG_ACCESSIBILITY) += accessibility/ -- 2.19.2 ___ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel