* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
@ 2019-05-12 21:34 Marek Vasut
2019-05-12 21:34 ` [U-Boot] [PATCH 2/2] watchdog: imx: Add DM support Marek Vasut
` (2 more replies)
0 siblings, 3 replies; 16+ messages in thread
From: Marek Vasut @ 2019-05-12 21:34 UTC (permalink / raw)
To: u-boot
Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without DM,
while the full U-Boot can use rich DM/DT WDT driver.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
---
common/board_r.c | 2 +-
common/spl/spl.c | 2 +-
drivers/watchdog/Makefile | 2 +-
include/asm-generic/global_data.h | 2 +-
include/wdt.h | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/common/board_r.c b/common/board_r.c
index 150e8cd424..988e40abb2 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
#ifdef CONFIG_DM
initr_dm,
#endif
-#if defined(CONFIG_WDT)
+#if CONFIG_IS_ENABLED(WDT)
initr_watchdog,
#endif
#if defined(CONFIG_ARM) || defined(CONFIG_NDS32) || defined(CONFIG_RISCV) || \
diff --git a/common/spl/spl.c b/common/spl/spl.c
index 0a6a47c202..f22f854718 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
spl_board_init();
#endif
-#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && defined(CONFIG_WDT)
+#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && CONFIG_IS_ENABLED(WDT)
initr_watchdog();
#endif
diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
index 40b2f4bc66..4b94ae988c 100644
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
@@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
-obj-$(CONFIG_WDT) += wdt-uclass.o
+obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h
index 02a3ed6838..7c2220643b 100644
--- a/include/asm-generic/global_data.h
+++ b/include/asm-generic/global_data.h
@@ -137,7 +137,7 @@ typedef struct global_data {
#if defined(CONFIG_TRANSLATION_OFFSET)
fdt_addr_t translation_offset; /* optional translation offset */
#endif
-#if defined(CONFIG_WDT)
+#if CONFIG_IS_ENABLED(WDT)
struct udevice *watchdog_dev;
#endif
} gd_t;
diff --git a/include/wdt.h b/include/wdt.h
index aa77d3e9b4..5bcff24ab3 100644
--- a/include/wdt.h
+++ b/include/wdt.h
@@ -106,7 +106,7 @@ struct wdt_ops {
int (*expire_now)(struct udevice *dev, ulong flags);
};
-#if defined(CONFIG_WDT)
+#if CONFIG_IS_ENABLED(WDT)
#ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
#define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
#endif
--
2.20.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 2/2] watchdog: imx: Add DM support
2019-05-12 21:34 [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT Marek Vasut
@ 2019-05-12 21:34 ` Marek Vasut
2019-05-15 5:54 ` Peng Fan
2019-06-04 21:21 ` Lukasz Majewski
2019-05-15 5:46 ` [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT Peng Fan
2019-06-04 21:22 ` Lukasz Majewski
2 siblings, 2 replies; 16+ messages in thread
From: Marek Vasut @ 2019-05-12 21:34 UTC (permalink / raw)
To: u-boot
Add DM and DT probing support to iMX watchdog driver. This should
allow boards to move over to this driver, enable SYSRESET_WATCHDOG
to handle cpu_reset() if required.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Peng Fan <Peng.Fan@freescale.com>
Cc: Stefano Babic <sbabic@denx.de>
---
drivers/watchdog/Kconfig | 2 +-
drivers/watchdog/imx_watchdog.c | 119 +++++++++++++++++++++++++++-----
2 files changed, 104 insertions(+), 17 deletions(-)
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
index f909d40f45..b2ebe528ab 100644
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
@@ -129,7 +129,7 @@ config XILINX_TB_WATCHDOG
config IMX_WATCHDOG
bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
- select HW_WATCHDOG
+ select HW_WATCHDOG if !WDT
help
Select this to enable the IMX and LSCH2 of Layerscape watchdog
driver.
diff --git a/drivers/watchdog/imx_watchdog.c b/drivers/watchdog/imx_watchdog.c
index 14cc618074..53a3e9f5c7 100644
--- a/drivers/watchdog/imx_watchdog.c
+++ b/drivers/watchdog/imx_watchdog.c
@@ -5,7 +5,9 @@
*/
#include <common.h>
+#include <dm.h>
#include <asm/io.h>
+#include <wdt.h>
#include <watchdog.h>
#include <asm/arch/imx-regs.h>
#ifdef CONFIG_FSL_LSCH2
@@ -13,20 +15,40 @@
#endif
#include <fsl_wdog.h>
-#ifdef CONFIG_IMX_WATCHDOG
-void hw_watchdog_reset(void)
+static void imx_watchdog_expire_now(struct watchdog_regs *wdog)
+{
+ clrsetbits_le16(&wdog->wcr, WCR_WT_MSK, WCR_WDE);
+
+ writew(0x5555, &wdog->wsr);
+ writew(0xaaaa, &wdog->wsr); /* load minimum 1/2 second timeout */
+ while (1) {
+ /*
+ * spin for .5 seconds before reset
+ */
+ }
+}
+
+#if !defined(CONFIG_IMX_WATCHDOG) || \
+ (defined(CONFIG_IMX_WATCHDOG) && !CONFIG_IS_ENABLED(WDT))
+void __attribute__((weak)) reset_cpu(ulong addr)
{
-#ifndef CONFIG_WATCHDOG_RESET_DISABLE
struct watchdog_regs *wdog = (struct watchdog_regs *)WDOG1_BASE_ADDR;
+ imx_watchdog_expire_now(wdog);
+}
+#endif
+
+#if defined(CONFIG_IMX_WATCHDOG)
+static void imx_watchdog_reset(struct watchdog_regs *wdog)
+{
+#ifndef CONFIG_WATCHDOG_RESET_DISABLE
writew(0x5555, &wdog->wsr);
writew(0xaaaa, &wdog->wsr);
#endif /* CONFIG_WATCHDOG_RESET_DISABLE*/
}
-void hw_watchdog_init(void)
+static void imx_watchdog_init(struct watchdog_regs *wdog)
{
- struct watchdog_regs *wdog = (struct watchdog_regs *)WDOG1_BASE_ADDR;
u16 timeout;
/*
@@ -44,21 +66,86 @@ void hw_watchdog_init(void)
writew(WCR_WDZST | WCR_WDBG | WCR_WDE | WCR_WDT | WCR_SRS |
WCR_WDA | SET_WCR_WT(timeout), &wdog->wcr);
#endif /* CONFIG_FSL_LSCH2*/
- hw_watchdog_reset();
+ imx_watchdog_reset(wdog);
}
-#endif
-void __attribute__((weak)) reset_cpu(ulong addr)
+#if !CONFIG_IS_ENABLED(WDT)
+void hw_watchdog_reset(void)
{
struct watchdog_regs *wdog = (struct watchdog_regs *)WDOG1_BASE_ADDR;
- clrsetbits_le16(&wdog->wcr, WCR_WT_MSK, WCR_WDE);
+ imx_watchdog_reset(wdog);
+}
- writew(0x5555, &wdog->wsr);
- writew(0xaaaa, &wdog->wsr); /* load minimum 1/2 second timeout */
- while (1) {
- /*
- * spin for .5 seconds before reset
- */
- }
+void hw_watchdog_init(void)
+{
+ struct watchdog_regs *wdog = (struct watchdog_regs *)WDOG1_BASE_ADDR;
+
+ imx_watchdog_init(wdog);
+}
+#else
+struct imx_wdt_priv {
+ void __iomem *base;
+};
+
+static int imx_wdt_reset(struct udevice *dev)
+{
+ struct imx_wdt_priv *priv = dev_get_priv(dev);
+
+ imx_watchdog_reset(priv->base);
+
+ return 0;
+}
+
+static int imx_wdt_expire_now(struct udevice *dev, ulong flags)
+{
+ struct imx_wdt_priv *priv = dev_get_priv(dev);
+
+ imx_watchdog_expire_now(priv->base);
+ hang();
+
+ return 0;
+}
+
+static int imx_wdt_start(struct udevice *dev, u64 timeout, ulong flags)
+{
+ struct imx_wdt_priv *priv = dev_get_priv(dev);
+
+ imx_watchdog_init(priv->base);
+
+ return 0;
+}
+
+static int imx_wdt_probe(struct udevice *dev)
+{
+ struct imx_wdt_priv *priv = dev_get_priv(dev);
+
+ priv->base = dev_read_addr_ptr(dev);
+ if (!priv->base)
+ return -ENOENT;
+
+ return 0;
}
+
+static const struct wdt_ops imx_wdt_ops = {
+ .start = imx_wdt_start,
+ .reset = imx_wdt_reset,
+ .expire_now = imx_wdt_expire_now,
+};
+
+static const struct udevice_id imx_wdt_ids[] = {
+ { .compatible = "fsl,imx21-wdt" },
+ {}
+};
+
+U_BOOT_DRIVER(imx_wdt) = {
+ .name = "imx_wdt",
+ .id = UCLASS_WDT,
+ .of_match = imx_wdt_ids,
+ .probe = imx_wdt_probe,
+ .ops = &imx_wdt_ops,
+ .priv_auto_alloc_size = sizeof(struct imx_wdt_priv),
+ .flags = DM_FLAG_PRE_RELOC,
+};
+#endif
+#endif
--
2.20.1
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-05-12 21:34 [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT Marek Vasut
2019-05-12 21:34 ` [U-Boot] [PATCH 2/2] watchdog: imx: Add DM support Marek Vasut
@ 2019-05-15 5:46 ` Peng Fan
2019-06-04 21:22 ` Lukasz Majewski
2 siblings, 0 replies; 16+ messages in thread
From: Peng Fan @ 2019-05-15 5:46 UTC (permalink / raw)
To: u-boot
> Subject: [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
>
> Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without DM,
> while the full U-Boot can use rich DM/DT WDT driver.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Peng Fan <Peng.Fan@freescale.com>
> Cc: Stefano Babic <sbabic@denx.de>
> ---
> common/board_r.c | 2 +-
> common/spl/spl.c | 2 +-
> drivers/watchdog/Makefile | 2 +-
> include/asm-generic/global_data.h | 2 +-
> include/wdt.h | 2 +-
> 5 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/common/board_r.c b/common/board_r.c index
> 150e8cd424..988e40abb2 100644
> --- a/common/board_r.c
> +++ b/common/board_r.c
> @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = { #ifdef
> CONFIG_DM
> initr_dm,
> #endif
> -#if defined(CONFIG_WDT)
> +#if CONFIG_IS_ENABLED(WDT)
> initr_watchdog,
> #endif
> #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
> defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
> b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> spl_board_init();
> #endif
>
> -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && defined(CONFIG_WDT)
> +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) &&
> CONFIG_IS_ENABLED(WDT)
> initr_watchdog();
> #endif
>
> diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile index
> 40b2f4bc66..4b94ae988c 100644
> --- a/drivers/watchdog/Makefile
> +++ b/drivers/watchdog/Makefile
> @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
> obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
> obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
> obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
> -obj-$(CONFIG_WDT) += wdt-uclass.o
> +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
> obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
> obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
> obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
> diff --git a/include/asm-generic/global_data.h
> b/include/asm-generic/global_data.h
> index 02a3ed6838..7c2220643b 100644
> --- a/include/asm-generic/global_data.h
> +++ b/include/asm-generic/global_data.h
> @@ -137,7 +137,7 @@ typedef struct global_data { #if
> defined(CONFIG_TRANSLATION_OFFSET)
> fdt_addr_t translation_offset; /* optional translation offset */
> #endif
> -#if defined(CONFIG_WDT)
> +#if CONFIG_IS_ENABLED(WDT)
> struct udevice *watchdog_dev;
> #endif
> } gd_t;
> diff --git a/include/wdt.h b/include/wdt.h index aa77d3e9b4..5bcff24ab3
> 100644
> --- a/include/wdt.h
> +++ b/include/wdt.h
> @@ -106,7 +106,7 @@ struct wdt_ops {
> int (*expire_now)(struct udevice *dev, ulong flags); };
>
> -#if defined(CONFIG_WDT)
> +#if CONFIG_IS_ENABLED(WDT)
> #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
> #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
> #endif
Reviewed-by: Peng Fan <peng.fan@nxp.com>
> --
> 2.20.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.d
> enx.de%2Flistinfo%2Fu-boot&data=02%7C01%7CPeng.Fan%40nxp.com
> %7C80a98d74e79849cca5bd08d6d721cb41%7C686ea1d3bc2b4c6fa92cd99c
> 5c301635%7C0%7C0%7C636932937538649220&sdata=JB4foxgQVteQw
> MUJrefgqegLm6N%2ByFq%2BfLknDE89nfo%3D&reserved=0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 2/2] watchdog: imx: Add DM support
2019-05-12 21:34 ` [U-Boot] [PATCH 2/2] watchdog: imx: Add DM support Marek Vasut
@ 2019-05-15 5:54 ` Peng Fan
2019-06-04 21:21 ` Lukasz Majewski
1 sibling, 0 replies; 16+ messages in thread
From: Peng Fan @ 2019-05-15 5:54 UTC (permalink / raw)
To: u-boot
> Subject: [U-Boot] [PATCH 2/2] watchdog: imx: Add DM support
>
> Add DM and DT probing support to iMX watchdog driver. This should allow
> boards to move over to this driver, enable SYSRESET_WATCHDOG to handle
> cpu_reset() if required.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Peng Fan <Peng.Fan@freescale.com>
> Cc: Stefano Babic <sbabic@denx.de>
> ---
> drivers/watchdog/Kconfig | 2 +-
> drivers/watchdog/imx_watchdog.c | 119
> +++++++++++++++++++++++++++-----
> 2 files changed, 104 insertions(+), 17 deletions(-)
>
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig index
> f909d40f45..b2ebe528ab 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -129,7 +129,7 @@ config XILINX_TB_WATCHDOG
>
> config IMX_WATCHDOG
> bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
> - select HW_WATCHDOG
> + select HW_WATCHDOG if !WDT
> help
> Select this to enable the IMX and LSCH2 of Layerscape watchdog
> driver.
> diff --git a/drivers/watchdog/imx_watchdog.c
> b/drivers/watchdog/imx_watchdog.c index 14cc618074..53a3e9f5c7 100644
> --- a/drivers/watchdog/imx_watchdog.c
> +++ b/drivers/watchdog/imx_watchdog.c
> @@ -5,7 +5,9 @@
> */
>
> #include <common.h>
> +#include <dm.h>
> #include <asm/io.h>
> +#include <wdt.h>
> #include <watchdog.h>
> #include <asm/arch/imx-regs.h>
> #ifdef CONFIG_FSL_LSCH2
> @@ -13,20 +15,40 @@
> #endif
> #include <fsl_wdog.h>
>
> -#ifdef CONFIG_IMX_WATCHDOG
> -void hw_watchdog_reset(void)
> +static void imx_watchdog_expire_now(struct watchdog_regs *wdog) {
> + clrsetbits_le16(&wdog->wcr, WCR_WT_MSK, WCR_WDE);
> +
> + writew(0x5555, &wdog->wsr);
> + writew(0xaaaa, &wdog->wsr); /* load minimum 1/2 second timeout
> */
> + while (1) {
> + /*
> + * spin for .5 seconds before reset
> + */
> + }
> +}
> +
> +#if !defined(CONFIG_IMX_WATCHDOG) || \
> + (defined(CONFIG_IMX_WATCHDOG) && !CONFIG_IS_ENABLED(WDT))
> void
> +__attribute__((weak)) reset_cpu(ulong addr)
> {
> -#ifndef CONFIG_WATCHDOG_RESET_DISABLE
> struct watchdog_regs *wdog = (struct watchdog_regs
> *)WDOG1_BASE_ADDR;
>
> + imx_watchdog_expire_now(wdog);
> +}
> +#endif
> +
> +#if defined(CONFIG_IMX_WATCHDOG)
> +static void imx_watchdog_reset(struct watchdog_regs *wdog) { #ifndef
> +CONFIG_WATCHDOG_RESET_DISABLE
> writew(0x5555, &wdog->wsr);
> writew(0xaaaa, &wdog->wsr);
> #endif /* CONFIG_WATCHDOG_RESET_DISABLE*/ }
>
> -void hw_watchdog_init(void)
> +static void imx_watchdog_init(struct watchdog_regs *wdog)
> {
> - struct watchdog_regs *wdog = (struct watchdog_regs
> *)WDOG1_BASE_ADDR;
> u16 timeout;
>
> /*
> @@ -44,21 +66,86 @@ void hw_watchdog_init(void)
> writew(WCR_WDZST | WCR_WDBG | WCR_WDE | WCR_WDT |
> WCR_SRS |
> WCR_WDA | SET_WCR_WT(timeout), &wdog->wcr); #endif /*
> CONFIG_FSL_LSCH2*/
> - hw_watchdog_reset();
> + imx_watchdog_reset(wdog);
> }
> -#endif
>
> -void __attribute__((weak)) reset_cpu(ulong addr)
> +#if !CONFIG_IS_ENABLED(WDT)
> +void hw_watchdog_reset(void)
> {
> struct watchdog_regs *wdog = (struct watchdog_regs
> *)WDOG1_BASE_ADDR;
>
> - clrsetbits_le16(&wdog->wcr, WCR_WT_MSK, WCR_WDE);
> + imx_watchdog_reset(wdog);
> +}
>
> - writew(0x5555, &wdog->wsr);
> - writew(0xaaaa, &wdog->wsr); /* load minimum 1/2 second timeout
> */
> - while (1) {
> - /*
> - * spin for .5 seconds before reset
> - */
> - }
> +void hw_watchdog_init(void)
> +{
> + struct watchdog_regs *wdog = (struct watchdog_regs
> *)WDOG1_BASE_ADDR;
> +
> + imx_watchdog_init(wdog);
> +}
> +#else
> +struct imx_wdt_priv {
> + void __iomem *base;
> +};
> +
> +static int imx_wdt_reset(struct udevice *dev) {
> + struct imx_wdt_priv *priv = dev_get_priv(dev);
> +
> + imx_watchdog_reset(priv->base);
> +
> + return 0;
> +}
> +
> +static int imx_wdt_expire_now(struct udevice *dev, ulong flags) {
> + struct imx_wdt_priv *priv = dev_get_priv(dev);
> +
> + imx_watchdog_expire_now(priv->base);
> + hang();
> +
> + return 0;
> +}
> +
> +static int imx_wdt_start(struct udevice *dev, u64 timeout, ulong flags)
> +{
> + struct imx_wdt_priv *priv = dev_get_priv(dev);
> +
> + imx_watchdog_init(priv->base);
> +
> + return 0;
> +}
> +
> +static int imx_wdt_probe(struct udevice *dev) {
> + struct imx_wdt_priv *priv = dev_get_priv(dev);
> +
> + priv->base = dev_read_addr_ptr(dev);
> + if (!priv->base)
> + return -ENOENT;
> +
> + return 0;
> }
> +
> +static const struct wdt_ops imx_wdt_ops = {
> + .start = imx_wdt_start,
> + .reset = imx_wdt_reset,
> + .expire_now = imx_wdt_expire_now,
> +};
> +
> +static const struct udevice_id imx_wdt_ids[] = {
> + { .compatible = "fsl,imx21-wdt" },
> + {}
> +};
> +
> +U_BOOT_DRIVER(imx_wdt) = {
> + .name = "imx_wdt",
> + .id = UCLASS_WDT,
> + .of_match = imx_wdt_ids,
> + .probe = imx_wdt_probe,
> + .ops = &imx_wdt_ops,
> + .priv_auto_alloc_size = sizeof(struct imx_wdt_priv),
> + .flags = DM_FLAG_PRE_RELOC,
> +};
> +#endif
> +#endif
Reviewed-by: Peng Fan <peng.fan@nxp.com>
> --
> 2.20.1
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.d
> enx.de%2Flistinfo%2Fu-boot&data=02%7C01%7CPeng.Fan%40nxp.com
> %7C3104426ece13427d689008d6d721d25b%7C686ea1d3bc2b4c6fa92cd99c
> 5c301635%7C0%7C0%7C636932937614272001&sdata=l54tJxZN03iuNL
> XrqPvykahvk2YF0vduEbDU9tPFqXo%3D&reserved=0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 2/2] watchdog: imx: Add DM support
2019-05-12 21:34 ` [U-Boot] [PATCH 2/2] watchdog: imx: Add DM support Marek Vasut
2019-05-15 5:54 ` Peng Fan
@ 2019-06-04 21:21 ` Lukasz Majewski
1 sibling, 0 replies; 16+ messages in thread
From: Lukasz Majewski @ 2019-06-04 21:21 UTC (permalink / raw)
To: u-boot
On Sun, 12 May 2019 23:34:53 +0200
Marek Vasut <marex@denx.de> wrote:
> Add DM and DT probing support to iMX watchdog driver. This should
> allow boards to move over to this driver, enable SYSRESET_WATCHDOG
> to handle cpu_reset() if required.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Peng Fan <Peng.Fan@freescale.com>
> Cc: Stefano Babic <sbabic@denx.de>
> ---
> drivers/watchdog/Kconfig | 2 +-
> drivers/watchdog/imx_watchdog.c | 119
> +++++++++++++++++++++++++++----- 2 files changed, 104 insertions(+),
> 17 deletions(-)
>
> diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
> index f909d40f45..b2ebe528ab 100644
> --- a/drivers/watchdog/Kconfig
> +++ b/drivers/watchdog/Kconfig
> @@ -129,7 +129,7 @@ config XILINX_TB_WATCHDOG
>
> config IMX_WATCHDOG
> bool "Enable Watchdog Timer support for IMX and LSCH2 of NXP"
> - select HW_WATCHDOG
> + select HW_WATCHDOG if !WDT
> help
> Select this to enable the IMX and LSCH2 of Layerscape
> watchdog driver.
> diff --git a/drivers/watchdog/imx_watchdog.c
> b/drivers/watchdog/imx_watchdog.c index 14cc618074..53a3e9f5c7 100644
> --- a/drivers/watchdog/imx_watchdog.c
> +++ b/drivers/watchdog/imx_watchdog.c
> @@ -5,7 +5,9 @@
> */
>
> #include <common.h>
> +#include <dm.h>
> #include <asm/io.h>
> +#include <wdt.h>
> #include <watchdog.h>
> #include <asm/arch/imx-regs.h>
> #ifdef CONFIG_FSL_LSCH2
> @@ -13,20 +15,40 @@
> #endif
> #include <fsl_wdog.h>
>
> -#ifdef CONFIG_IMX_WATCHDOG
> -void hw_watchdog_reset(void)
> +static void imx_watchdog_expire_now(struct watchdog_regs *wdog)
> +{
> + clrsetbits_le16(&wdog->wcr, WCR_WT_MSK, WCR_WDE);
> +
> + writew(0x5555, &wdog->wsr);
> + writew(0xaaaa, &wdog->wsr); /* load minimum 1/2
> second timeout */
> + while (1) {
> + /*
> + * spin for .5 seconds before reset
> + */
> + }
> +}
> +
> +#if !defined(CONFIG_IMX_WATCHDOG) || \
> + (defined(CONFIG_IMX_WATCHDOG) && !CONFIG_IS_ENABLED(WDT))
> +void __attribute__((weak)) reset_cpu(ulong addr)
> {
> -#ifndef CONFIG_WATCHDOG_RESET_DISABLE
> struct watchdog_regs *wdog = (struct watchdog_regs
> *)WDOG1_BASE_ADDR;
> + imx_watchdog_expire_now(wdog);
> +}
> +#endif
> +
> +#if defined(CONFIG_IMX_WATCHDOG)
> +static void imx_watchdog_reset(struct watchdog_regs *wdog)
> +{
> +#ifndef CONFIG_WATCHDOG_RESET_DISABLE
> writew(0x5555, &wdog->wsr);
> writew(0xaaaa, &wdog->wsr);
> #endif /* CONFIG_WATCHDOG_RESET_DISABLE*/
> }
>
> -void hw_watchdog_init(void)
> +static void imx_watchdog_init(struct watchdog_regs *wdog)
> {
> - struct watchdog_regs *wdog = (struct watchdog_regs
> *)WDOG1_BASE_ADDR; u16 timeout;
>
> /*
> @@ -44,21 +66,86 @@ void hw_watchdog_init(void)
> writew(WCR_WDZST | WCR_WDBG | WCR_WDE | WCR_WDT | WCR_SRS |
> WCR_WDA | SET_WCR_WT(timeout), &wdog->wcr);
> #endif /* CONFIG_FSL_LSCH2*/
> - hw_watchdog_reset();
> + imx_watchdog_reset(wdog);
> }
> -#endif
>
> -void __attribute__((weak)) reset_cpu(ulong addr)
> +#if !CONFIG_IS_ENABLED(WDT)
> +void hw_watchdog_reset(void)
> {
> struct watchdog_regs *wdog = (struct watchdog_regs
> *)WDOG1_BASE_ADDR;
> - clrsetbits_le16(&wdog->wcr, WCR_WT_MSK, WCR_WDE);
> + imx_watchdog_reset(wdog);
> +}
>
> - writew(0x5555, &wdog->wsr);
> - writew(0xaaaa, &wdog->wsr); /* load minimum 1/2
> second timeout */
> - while (1) {
> - /*
> - * spin for .5 seconds before reset
> - */
> - }
> +void hw_watchdog_init(void)
> +{
> + struct watchdog_regs *wdog = (struct watchdog_regs
> *)WDOG1_BASE_ADDR; +
> + imx_watchdog_init(wdog);
> +}
> +#else
> +struct imx_wdt_priv {
> + void __iomem *base;
> +};
> +
> +static int imx_wdt_reset(struct udevice *dev)
> +{
> + struct imx_wdt_priv *priv = dev_get_priv(dev);
> +
> + imx_watchdog_reset(priv->base);
> +
> + return 0;
> +}
> +
> +static int imx_wdt_expire_now(struct udevice *dev, ulong flags)
> +{
> + struct imx_wdt_priv *priv = dev_get_priv(dev);
> +
> + imx_watchdog_expire_now(priv->base);
> + hang();
> +
> + return 0;
> +}
> +
> +static int imx_wdt_start(struct udevice *dev, u64 timeout, ulong
> flags) +{
> + struct imx_wdt_priv *priv = dev_get_priv(dev);
> +
> + imx_watchdog_init(priv->base);
> +
> + return 0;
> +}
> +
> +static int imx_wdt_probe(struct udevice *dev)
> +{
> + struct imx_wdt_priv *priv = dev_get_priv(dev);
> +
> + priv->base = dev_read_addr_ptr(dev);
> + if (!priv->base)
> + return -ENOENT;
> +
> + return 0;
> }
> +
> +static const struct wdt_ops imx_wdt_ops = {
> + .start = imx_wdt_start,
> + .reset = imx_wdt_reset,
> + .expire_now = imx_wdt_expire_now,
> +};
> +
> +static const struct udevice_id imx_wdt_ids[] = {
> + { .compatible = "fsl,imx21-wdt" },
> + {}
> +};
> +
> +U_BOOT_DRIVER(imx_wdt) = {
> + .name = "imx_wdt",
> + .id = UCLASS_WDT,
> + .of_match = imx_wdt_ids,
> + .probe = imx_wdt_probe,
> + .ops = &imx_wdt_ops,
> + .priv_auto_alloc_size = sizeof(struct imx_wdt_priv),
> + .flags = DM_FLAG_PRE_RELOC,
> +};
> +#endif
> +#endif
Tested-by: Lukasz Majewski <lukma@denx.de>
Test-HW: i.MX6Q - display5
For the record - one needs to add following code to dts file:
+ wdt-reboot {
+ compatible = "wdt-reboot";
+ wdt = <&wdog1>;
+ };
@ _defconfig:
+CONFIG_SYSRESET=y
+CONFIG_SYSRESET_WATCHDOG=y
@ include/<board_config>.h
+#if defined(CONFIG_SPL_BUILD)
+#undef CONFIG_WDT
+#undef CONFIG_WATCHDOG
+#define CONFIG_HW_WATCHDOG
+#endif
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190604/3e8c1bbf/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-05-12 21:34 [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT Marek Vasut
2019-05-12 21:34 ` [U-Boot] [PATCH 2/2] watchdog: imx: Add DM support Marek Vasut
2019-05-15 5:46 ` [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT Peng Fan
@ 2019-06-04 21:22 ` Lukasz Majewski
2019-06-05 16:24 ` Lukasz Majewski
2 siblings, 1 reply; 16+ messages in thread
From: Lukasz Majewski @ 2019-06-04 21:22 UTC (permalink / raw)
To: u-boot
On Sun, 12 May 2019 23:34:52 +0200
Marek Vasut <marex@denx.de> wrote:
> Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without DM,
> while the full U-Boot can use rich DM/DT WDT driver.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Peng Fan <Peng.Fan@freescale.com>
> Cc: Stefano Babic <sbabic@denx.de>
> ---
> common/board_r.c | 2 +-
> common/spl/spl.c | 2 +-
> drivers/watchdog/Makefile | 2 +-
> include/asm-generic/global_data.h | 2 +-
> include/wdt.h | 2 +-
> 5 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/common/board_r.c b/common/board_r.c
> index 150e8cd424..988e40abb2 100644
> --- a/common/board_r.c
> +++ b/common/board_r.c
> @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
> #ifdef CONFIG_DM
> initr_dm,
> #endif
> -#if defined(CONFIG_WDT)
> +#if CONFIG_IS_ENABLED(WDT)
> initr_watchdog,
> #endif
> #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
> defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
> b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> spl_board_init();
> #endif
>
> -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && defined(CONFIG_WDT)
> +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && CONFIG_IS_ENABLED(WDT)
> initr_watchdog();
> #endif
>
> diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
> index 40b2f4bc66..4b94ae988c 100644
> --- a/drivers/watchdog/Makefile
> +++ b/drivers/watchdog/Makefile
> @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
> obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
> obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
> obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
> -obj-$(CONFIG_WDT) += wdt-uclass.o
> +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
> obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
> obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
> obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
> diff --git a/include/asm-generic/global_data.h
> b/include/asm-generic/global_data.h index 02a3ed6838..7c2220643b
> 100644 --- a/include/asm-generic/global_data.h
> +++ b/include/asm-generic/global_data.h
> @@ -137,7 +137,7 @@ typedef struct global_data {
> #if defined(CONFIG_TRANSLATION_OFFSET)
> fdt_addr_t translation_offset; /* optional
> translation offset */ #endif
> -#if defined(CONFIG_WDT)
> +#if CONFIG_IS_ENABLED(WDT)
> struct udevice *watchdog_dev;
> #endif
> } gd_t;
> diff --git a/include/wdt.h b/include/wdt.h
> index aa77d3e9b4..5bcff24ab3 100644
> --- a/include/wdt.h
> +++ b/include/wdt.h
> @@ -106,7 +106,7 @@ struct wdt_ops {
> int (*expire_now)(struct udevice *dev, ulong flags);
> };
>
> -#if defined(CONFIG_WDT)
> +#if CONFIG_IS_ENABLED(WDT)
> #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
> #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
> #endif
Tested-by: Lukasz Majewski <lukma@denx.de>
Test HW: display5 i.MX6Q device
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190604/1b014a93/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-06-04 21:22 ` Lukasz Majewski
@ 2019-06-05 16:24 ` Lukasz Majewski
2019-06-06 7:09 ` Lukasz Majewski
0 siblings, 1 reply; 16+ messages in thread
From: Lukasz Majewski @ 2019-06-05 16:24 UTC (permalink / raw)
To: u-boot
Hi Marek,
> On Sun, 12 May 2019 23:34:52 +0200
> Marek Vasut <marex@denx.de> wrote:
>
> > Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without DM,
> > while the full U-Boot can use rich DM/DT WDT driver.
> >
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > Cc: Peng Fan <Peng.Fan@freescale.com>
> > Cc: Stefano Babic <sbabic@denx.de>
> > ---
> > common/board_r.c | 2 +-
> > common/spl/spl.c | 2 +-
> > drivers/watchdog/Makefile | 2 +-
> > include/asm-generic/global_data.h | 2 +-
> > include/wdt.h | 2 +-
> > 5 files changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/common/board_r.c b/common/board_r.c
> > index 150e8cd424..988e40abb2 100644
> > --- a/common/board_r.c
> > +++ b/common/board_r.c
> > @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
> > #ifdef CONFIG_DM
> > initr_dm,
> > #endif
> > -#if defined(CONFIG_WDT)
> > +#if CONFIG_IS_ENABLED(WDT)
> > initr_watchdog,
> > #endif
> > #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
> > defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
> > b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
> > --- a/common/spl/spl.c
> > +++ b/common/spl/spl.c
> > @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> > spl_board_init();
> > #endif
> >
> > -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && defined(CONFIG_WDT)
> > +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && CONFIG_IS_ENABLED(WDT)
> > initr_watchdog();
> > #endif
> >
> > diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
> > index 40b2f4bc66..4b94ae988c 100644
> > --- a/drivers/watchdog/Makefile
> > +++ b/drivers/watchdog/Makefile
> > @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
> > obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
> > obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
> > obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
> > -obj-$(CONFIG_WDT) += wdt-uclass.o
> > +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
> > obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
> > obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
> > obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
> > diff --git a/include/asm-generic/global_data.h
> > b/include/asm-generic/global_data.h index 02a3ed6838..7c2220643b
> > 100644 --- a/include/asm-generic/global_data.h
> > +++ b/include/asm-generic/global_data.h
> > @@ -137,7 +137,7 @@ typedef struct global_data {
> > #if defined(CONFIG_TRANSLATION_OFFSET)
> > fdt_addr_t translation_offset; /* optional
> > translation offset */ #endif
> > -#if defined(CONFIG_WDT)
> > +#if CONFIG_IS_ENABLED(WDT)
> > struct udevice *watchdog_dev;
> > #endif
> > } gd_t;
> > diff --git a/include/wdt.h b/include/wdt.h
> > index aa77d3e9b4..5bcff24ab3 100644
> > --- a/include/wdt.h
> > +++ b/include/wdt.h
> > @@ -106,7 +106,7 @@ struct wdt_ops {
> > int (*expire_now)(struct udevice *dev, ulong flags);
> > };
> >
> > -#if defined(CONFIG_WDT)
> > +#if CONFIG_IS_ENABLED(WDT)
> > #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
> > #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
> > #endif
>
> Tested-by: Lukasz Majewski <lukma@denx.de>
>
> Test HW: display5 i.MX6Q device
>
Unfortunately this series causes build break when run on Travis-CI for
some Atmel/Microchip:
arm: + picosam9g45
+lib/built-in.o: In function `udelay':
+lib/time.c:167: undefined reference to `watchdog_reset'
+drivers/built-in.o: In function `atmel_serial_getc':
+drivers/serial/atmel_usart.c:103: undefined reference to
`watchdog_reset' +make[2]: *** [spl/u-boot-spl] Error 1
+make[1]: *** [spl/u-boot-spl] Error 2
+make: *** [sub-make] Error 2
14 38 1 /53 axm
boards.cfg is up to date. Nothing to do.
Summary of current source for 53 boards (2 threads, 1 job per thread)
u-boot master SHA1: e1a2ed7180adeefb6164239a18249dca5701319d
> Best regards,
>
> Lukasz Majewski
>
> --
>
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email:
> lukma at denx.de
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190605/718acc7f/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-06-05 16:24 ` Lukasz Majewski
@ 2019-06-06 7:09 ` Lukasz Majewski
2019-06-06 7:26 ` Marek Vasut
0 siblings, 1 reply; 16+ messages in thread
From: Lukasz Majewski @ 2019-06-06 7:09 UTC (permalink / raw)
To: u-boot
On Wed, 5 Jun 2019 18:24:11 +0200
Lukasz Majewski <lukma@denx.de> wrote:
> Hi Marek,
>
> > On Sun, 12 May 2019 23:34:52 +0200
> > Marek Vasut <marex@denx.de> wrote:
> >
> > > Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without DM,
> > > while the full U-Boot can use rich DM/DT WDT driver.
> > >
> > > Signed-off-by: Marek Vasut <marex@denx.de>
> > > Cc: Peng Fan <Peng.Fan@freescale.com>
> > > Cc: Stefano Babic <sbabic@denx.de>
> > > ---
> > > common/board_r.c | 2 +-
> > > common/spl/spl.c | 2 +-
> > > drivers/watchdog/Makefile | 2 +-
> > > include/asm-generic/global_data.h | 2 +-
> > > include/wdt.h | 2 +-
> > > 5 files changed, 5 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/common/board_r.c b/common/board_r.c
> > > index 150e8cd424..988e40abb2 100644
> > > --- a/common/board_r.c
> > > +++ b/common/board_r.c
> > > @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
> > > #ifdef CONFIG_DM
> > > initr_dm,
> > > #endif
> > > -#if defined(CONFIG_WDT)
> > > +#if CONFIG_IS_ENABLED(WDT)
> > > initr_watchdog,
> > > #endif
> > > #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
> > > defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
> > > b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
> > > --- a/common/spl/spl.c
> > > +++ b/common/spl/spl.c
> > > @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> > > spl_board_init();
> > > #endif
> > >
> > > -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && defined(CONFIG_WDT)
> > > +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) &&
> > > CONFIG_IS_ENABLED(WDT) initr_watchdog();
> > > #endif
> > >
> > > diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
> > > index 40b2f4bc66..4b94ae988c 100644
> > > --- a/drivers/watchdog/Makefile
> > > +++ b/drivers/watchdog/Makefile
> > > @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
> > > obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
> > > obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
> > > obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
> > > -obj-$(CONFIG_WDT) += wdt-uclass.o
> > > +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
> > > obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
> > > obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
> > > obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
> > > diff --git a/include/asm-generic/global_data.h
> > > b/include/asm-generic/global_data.h index 02a3ed6838..7c2220643b
> > > 100644 --- a/include/asm-generic/global_data.h
> > > +++ b/include/asm-generic/global_data.h
> > > @@ -137,7 +137,7 @@ typedef struct global_data {
> > > #if defined(CONFIG_TRANSLATION_OFFSET)
> > > fdt_addr_t translation_offset; /* optional
> > > translation offset */ #endif
> > > -#if defined(CONFIG_WDT)
> > > +#if CONFIG_IS_ENABLED(WDT)
> > > struct udevice *watchdog_dev;
> > > #endif
> > > } gd_t;
> > > diff --git a/include/wdt.h b/include/wdt.h
> > > index aa77d3e9b4..5bcff24ab3 100644
> > > --- a/include/wdt.h
> > > +++ b/include/wdt.h
> > > @@ -106,7 +106,7 @@ struct wdt_ops {
> > > int (*expire_now)(struct udevice *dev, ulong flags);
> > > };
> > >
> > > -#if defined(CONFIG_WDT)
> > > +#if CONFIG_IS_ENABLED(WDT)
> > > #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
> > > #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
> > > #endif
> >
> > Tested-by: Lukasz Majewski <lukma@denx.de>
> >
> > Test HW: display5 i.MX6Q device
> >
>
> Unfortunately this series causes build break when run on Travis-CI for
> some Atmel/Microchip:
>
> arm: + picosam9g45
> +lib/built-in.o: In function `udelay':
> +lib/time.c:167: undefined reference to `watchdog_reset'
> +drivers/built-in.o: In function `atmel_serial_getc':
> +drivers/serial/atmel_usart.c:103: undefined reference to
> `watchdog_reset' +make[2]: *** [spl/u-boot-spl] Error 1
> +make[1]: *** [spl/u-boot-spl] Error 2
> +make: *** [sub-make] Error 2
> 14 38 1 /53 axm
> boards.cfg is up to date. Nothing to do.
> Summary of current source for 53 boards (2 threads, 1 job per thread)
>
>
> u-boot master SHA1: e1a2ed7180adeefb6164239a18249dca5701319d
>
The fix is under Travis-CI testing:
https://travis-ci.org/lmajewski/u-boot-dfu/builds/542118403
I will post patches when it finishes.
>
>
> > Best regards,
> >
> > Lukasz Majewski
> >
> > --
> >
> > DENX Software Engineering GmbH, Managing Director: Wolfgang
> > Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell,
> > Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email:
> > lukma at denx.de
>
>
>
>
> Best regards,
>
> Lukasz Majewski
>
> --
>
> DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email:
> lukma at denx.de
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190606/7484218c/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-06-06 7:09 ` Lukasz Majewski
@ 2019-06-06 7:26 ` Marek Vasut
2019-06-06 8:00 ` Lukasz Majewski
0 siblings, 1 reply; 16+ messages in thread
From: Marek Vasut @ 2019-06-06 7:26 UTC (permalink / raw)
To: u-boot
On 6/6/19 9:09 AM, Lukasz Majewski wrote:
> On Wed, 5 Jun 2019 18:24:11 +0200
> Lukasz Majewski <lukma@denx.de> wrote:
>
>> Hi Marek,
>>
>>> On Sun, 12 May 2019 23:34:52 +0200
>>> Marek Vasut <marex@denx.de> wrote:
>>>
>>>> Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without DM,
>>>> while the full U-Boot can use rich DM/DT WDT driver.
>>>>
>>>> Signed-off-by: Marek Vasut <marex@denx.de>
>>>> Cc: Peng Fan <Peng.Fan@freescale.com>
>>>> Cc: Stefano Babic <sbabic@denx.de>
>>>> ---
>>>> common/board_r.c | 2 +-
>>>> common/spl/spl.c | 2 +-
>>>> drivers/watchdog/Makefile | 2 +-
>>>> include/asm-generic/global_data.h | 2 +-
>>>> include/wdt.h | 2 +-
>>>> 5 files changed, 5 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/common/board_r.c b/common/board_r.c
>>>> index 150e8cd424..988e40abb2 100644
>>>> --- a/common/board_r.c
>>>> +++ b/common/board_r.c
>>>> @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
>>>> #ifdef CONFIG_DM
>>>> initr_dm,
>>>> #endif
>>>> -#if defined(CONFIG_WDT)
>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>> initr_watchdog,
>>>> #endif
>>>> #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
>>>> defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
>>>> b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
>>>> --- a/common/spl/spl.c
>>>> +++ b/common/spl/spl.c
>>>> @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
>>>> spl_board_init();
>>>> #endif
>>>>
>>>> -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && defined(CONFIG_WDT)
>>>> +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) &&
>>>> CONFIG_IS_ENABLED(WDT) initr_watchdog();
>>>> #endif
>>>>
>>>> diff --git a/drivers/watchdog/Makefile b/drivers/watchdog/Makefile
>>>> index 40b2f4bc66..4b94ae988c 100644
>>>> --- a/drivers/watchdog/Makefile
>>>> +++ b/drivers/watchdog/Makefile
>>>> @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
>>>> obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
>>>> obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
>>>> obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
>>>> -obj-$(CONFIG_WDT) += wdt-uclass.o
>>>> +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
>>>> obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
>>>> obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
>>>> obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
>>>> diff --git a/include/asm-generic/global_data.h
>>>> b/include/asm-generic/global_data.h index 02a3ed6838..7c2220643b
>>>> 100644 --- a/include/asm-generic/global_data.h
>>>> +++ b/include/asm-generic/global_data.h
>>>> @@ -137,7 +137,7 @@ typedef struct global_data {
>>>> #if defined(CONFIG_TRANSLATION_OFFSET)
>>>> fdt_addr_t translation_offset; /* optional
>>>> translation offset */ #endif
>>>> -#if defined(CONFIG_WDT)
>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>> struct udevice *watchdog_dev;
>>>> #endif
>>>> } gd_t;
>>>> diff --git a/include/wdt.h b/include/wdt.h
>>>> index aa77d3e9b4..5bcff24ab3 100644
>>>> --- a/include/wdt.h
>>>> +++ b/include/wdt.h
>>>> @@ -106,7 +106,7 @@ struct wdt_ops {
>>>> int (*expire_now)(struct udevice *dev, ulong flags);
>>>> };
>>>>
>>>> -#if defined(CONFIG_WDT)
>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>> #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
>>>> #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
>>>> #endif
>>>
>>> Tested-by: Lukasz Majewski <lukma@denx.de>
>>>
>>> Test HW: display5 i.MX6Q device
>>>
>>
>> Unfortunately this series causes build break when run on Travis-CI for
>> some Atmel/Microchip:
>>
>> arm: + picosam9g45
>> +lib/built-in.o: In function `udelay':
>> +lib/time.c:167: undefined reference to `watchdog_reset'
>> +drivers/built-in.o: In function `atmel_serial_getc':
>> +drivers/serial/atmel_usart.c:103: undefined reference to
>> `watchdog_reset' +make[2]: *** [spl/u-boot-spl] Error 1
>> +make[1]: *** [spl/u-boot-spl] Error 2
>> +make: *** [sub-make] Error 2
>> 14 38 1 /53 axm
>> boards.cfg is up to date. Nothing to do.
>> Summary of current source for 53 boards (2 threads, 1 job per thread)
>>
>>
>> u-boot master SHA1: e1a2ed7180adeefb6164239a18249dca5701319d
>>
>
> The fix is under Travis-CI testing:
> https://travis-ci.org/lmajewski/u-boot-dfu/builds/542118403
>
> I will post patches when it finishes.
What's the fix ?
I am testing this since yesterday:
https://github.com/marex/u-boot-imx/commit/c8e1bff9f332a35859e1f4d44e114c3aa639b390
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-06-06 7:26 ` Marek Vasut
@ 2019-06-06 8:00 ` Lukasz Majewski
2019-06-06 8:08 ` Marek Vasut
0 siblings, 1 reply; 16+ messages in thread
From: Lukasz Majewski @ 2019-06-06 8:00 UTC (permalink / raw)
To: u-boot
On Thu, 6 Jun 2019 09:26:04 +0200
Marek Vasut <marex@denx.de> wrote:
> On 6/6/19 9:09 AM, Lukasz Majewski wrote:
> > On Wed, 5 Jun 2019 18:24:11 +0200
> > Lukasz Majewski <lukma@denx.de> wrote:
> >
> >> Hi Marek,
> >>
> >>> On Sun, 12 May 2019 23:34:52 +0200
> >>> Marek Vasut <marex@denx.de> wrote:
> >>>
> >>>> Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without
> >>>> DM, while the full U-Boot can use rich DM/DT WDT driver.
> >>>>
> >>>> Signed-off-by: Marek Vasut <marex@denx.de>
> >>>> Cc: Peng Fan <Peng.Fan@freescale.com>
> >>>> Cc: Stefano Babic <sbabic@denx.de>
> >>>> ---
> >>>> common/board_r.c | 2 +-
> >>>> common/spl/spl.c | 2 +-
> >>>> drivers/watchdog/Makefile | 2 +-
> >>>> include/asm-generic/global_data.h | 2 +-
> >>>> include/wdt.h | 2 +-
> >>>> 5 files changed, 5 insertions(+), 5 deletions(-)
> >>>>
> >>>> diff --git a/common/board_r.c b/common/board_r.c
> >>>> index 150e8cd424..988e40abb2 100644
> >>>> --- a/common/board_r.c
> >>>> +++ b/common/board_r.c
> >>>> @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
> >>>> #ifdef CONFIG_DM
> >>>> initr_dm,
> >>>> #endif
> >>>> -#if defined(CONFIG_WDT)
> >>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>> initr_watchdog,
> >>>> #endif
> >>>> #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
> >>>> defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
> >>>> b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
> >>>> --- a/common/spl/spl.c
> >>>> +++ b/common/spl/spl.c
> >>>> @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> >>>> spl_board_init();
> >>>> #endif
> >>>>
> >>>> -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && defined(CONFIG_WDT)
> >>>> +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) &&
> >>>> CONFIG_IS_ENABLED(WDT) initr_watchdog();
> >>>> #endif
> >>>>
> >>>> diff --git a/drivers/watchdog/Makefile
> >>>> b/drivers/watchdog/Makefile index 40b2f4bc66..4b94ae988c 100644
> >>>> --- a/drivers/watchdog/Makefile
> >>>> +++ b/drivers/watchdog/Makefile
> >>>> @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
> >>>> obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
> >>>> obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
> >>>> obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
> >>>> -obj-$(CONFIG_WDT) += wdt-uclass.o
> >>>> +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
> >>>> obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
> >>>> obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
> >>>> obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
> >>>> diff --git a/include/asm-generic/global_data.h
> >>>> b/include/asm-generic/global_data.h index 02a3ed6838..7c2220643b
> >>>> 100644 --- a/include/asm-generic/global_data.h
> >>>> +++ b/include/asm-generic/global_data.h
> >>>> @@ -137,7 +137,7 @@ typedef struct global_data {
> >>>> #if defined(CONFIG_TRANSLATION_OFFSET)
> >>>> fdt_addr_t translation_offset; /* optional
> >>>> translation offset */ #endif
> >>>> -#if defined(CONFIG_WDT)
> >>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>> struct udevice *watchdog_dev;
> >>>> #endif
> >>>> } gd_t;
> >>>> diff --git a/include/wdt.h b/include/wdt.h
> >>>> index aa77d3e9b4..5bcff24ab3 100644
> >>>> --- a/include/wdt.h
> >>>> +++ b/include/wdt.h
> >>>> @@ -106,7 +106,7 @@ struct wdt_ops {
> >>>> int (*expire_now)(struct udevice *dev, ulong flags);
> >>>> };
> >>>>
> >>>> -#if defined(CONFIG_WDT)
> >>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>> #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
> >>>> #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
> >>>> #endif
> >>>
> >>> Tested-by: Lukasz Majewski <lukma@denx.de>
> >>>
> >>> Test HW: display5 i.MX6Q device
> >>>
> >>
> >> Unfortunately this series causes build break when run on Travis-CI
> >> for some Atmel/Microchip:
> >>
> >> arm: + picosam9g45
> >> +lib/built-in.o: In function `udelay':
> >> +lib/time.c:167: undefined reference to `watchdog_reset'
> >> +drivers/built-in.o: In function `atmel_serial_getc':
> >> +drivers/serial/atmel_usart.c:103: undefined reference to
> >> `watchdog_reset' +make[2]: *** [spl/u-boot-spl] Error 1
> >> +make[1]: *** [spl/u-boot-spl] Error 2
> >> +make: *** [sub-make] Error 2
> >> 14 38 1 /53 axm
> >> boards.cfg is up to date. Nothing to do.
> >> Summary of current source for 53 boards (2 threads, 1 job per
> >> thread)
> >>
> >>
> >> u-boot master SHA1: e1a2ed7180adeefb6164239a18249dca5701319d
> >>
> >
> > The fix is under Travis-CI testing:
> > https://travis-ci.org/lmajewski/u-boot-dfu/builds/542118403
> >
> > I will post patches when it finishes.
>
> What's the fix ?
>
https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
I've explicitly enabled SPL_WDT=y for affected boards.
> I am testing this since yesterday:
> https://github.com/marex/u-boot-imx/commit/c8e1bff9f332a35859e1f4d44e114c3aa639b390
>
However, if your version is building without any issues, it looks
better than mine (IMHO imply is more elegant).
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190606/bf9ec55c/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-06-06 8:00 ` Lukasz Majewski
@ 2019-06-06 8:08 ` Marek Vasut
2019-06-06 8:16 ` Lukasz Majewski
0 siblings, 1 reply; 16+ messages in thread
From: Marek Vasut @ 2019-06-06 8:08 UTC (permalink / raw)
To: u-boot
On 6/6/19 10:00 AM, Lukasz Majewski wrote:
> On Thu, 6 Jun 2019 09:26:04 +0200
> Marek Vasut <marex@denx.de> wrote:
>
>> On 6/6/19 9:09 AM, Lukasz Majewski wrote:
>>> On Wed, 5 Jun 2019 18:24:11 +0200
>>> Lukasz Majewski <lukma@denx.de> wrote:
>>>
>>>> Hi Marek,
>>>>
>>>>> On Sun, 12 May 2019 23:34:52 +0200
>>>>> Marek Vasut <marex@denx.de> wrote:
>>>>>
>>>>>> Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without
>>>>>> DM, while the full U-Boot can use rich DM/DT WDT driver.
>>>>>>
>>>>>> Signed-off-by: Marek Vasut <marex@denx.de>
>>>>>> Cc: Peng Fan <Peng.Fan@freescale.com>
>>>>>> Cc: Stefano Babic <sbabic@denx.de>
>>>>>> ---
>>>>>> common/board_r.c | 2 +-
>>>>>> common/spl/spl.c | 2 +-
>>>>>> drivers/watchdog/Makefile | 2 +-
>>>>>> include/asm-generic/global_data.h | 2 +-
>>>>>> include/wdt.h | 2 +-
>>>>>> 5 files changed, 5 insertions(+), 5 deletions(-)
>>>>>>
>>>>>> diff --git a/common/board_r.c b/common/board_r.c
>>>>>> index 150e8cd424..988e40abb2 100644
>>>>>> --- a/common/board_r.c
>>>>>> +++ b/common/board_r.c
>>>>>> @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
>>>>>> #ifdef CONFIG_DM
>>>>>> initr_dm,
>>>>>> #endif
>>>>>> -#if defined(CONFIG_WDT)
>>>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>>>> initr_watchdog,
>>>>>> #endif
>>>>>> #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
>>>>>> defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
>>>>>> b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
>>>>>> --- a/common/spl/spl.c
>>>>>> +++ b/common/spl/spl.c
>>>>>> @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
>>>>>> spl_board_init();
>>>>>> #endif
>>>>>>
>>>>>> -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) && defined(CONFIG_WDT)
>>>>>> +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) &&
>>>>>> CONFIG_IS_ENABLED(WDT) initr_watchdog();
>>>>>> #endif
>>>>>>
>>>>>> diff --git a/drivers/watchdog/Makefile
>>>>>> b/drivers/watchdog/Makefile index 40b2f4bc66..4b94ae988c 100644
>>>>>> --- a/drivers/watchdog/Makefile
>>>>>> +++ b/drivers/watchdog/Makefile
>>>>>> @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
>>>>>> obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
>>>>>> obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
>>>>>> obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
>>>>>> -obj-$(CONFIG_WDT) += wdt-uclass.o
>>>>>> +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
>>>>>> obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
>>>>>> obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
>>>>>> obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
>>>>>> diff --git a/include/asm-generic/global_data.h
>>>>>> b/include/asm-generic/global_data.h index 02a3ed6838..7c2220643b
>>>>>> 100644 --- a/include/asm-generic/global_data.h
>>>>>> +++ b/include/asm-generic/global_data.h
>>>>>> @@ -137,7 +137,7 @@ typedef struct global_data {
>>>>>> #if defined(CONFIG_TRANSLATION_OFFSET)
>>>>>> fdt_addr_t translation_offset; /* optional
>>>>>> translation offset */ #endif
>>>>>> -#if defined(CONFIG_WDT)
>>>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>>>> struct udevice *watchdog_dev;
>>>>>> #endif
>>>>>> } gd_t;
>>>>>> diff --git a/include/wdt.h b/include/wdt.h
>>>>>> index aa77d3e9b4..5bcff24ab3 100644
>>>>>> --- a/include/wdt.h
>>>>>> +++ b/include/wdt.h
>>>>>> @@ -106,7 +106,7 @@ struct wdt_ops {
>>>>>> int (*expire_now)(struct udevice *dev, ulong flags);
>>>>>> };
>>>>>>
>>>>>> -#if defined(CONFIG_WDT)
>>>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>>>> #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
>>>>>> #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
>>>>>> #endif
>>>>>
>>>>> Tested-by: Lukasz Majewski <lukma@denx.de>
>>>>>
>>>>> Test HW: display5 i.MX6Q device
>>>>>
>>>>
>>>> Unfortunately this series causes build break when run on Travis-CI
>>>> for some Atmel/Microchip:
>>>>
>>>> arm: + picosam9g45
>>>> +lib/built-in.o: In function `udelay':
>>>> +lib/time.c:167: undefined reference to `watchdog_reset'
>>>> +drivers/built-in.o: In function `atmel_serial_getc':
>>>> +drivers/serial/atmel_usart.c:103: undefined reference to
>>>> `watchdog_reset' +make[2]: *** [spl/u-boot-spl] Error 1
>>>> +make[1]: *** [spl/u-boot-spl] Error 2
>>>> +make: *** [sub-make] Error 2
>>>> 14 38 1 /53 axm
>>>> boards.cfg is up to date. Nothing to do.
>>>> Summary of current source for 53 boards (2 threads, 1 job per
>>>> thread)
>>>>
>>>>
>>>> u-boot master SHA1: e1a2ed7180adeefb6164239a18249dca5701319d
>>>>
>>>
>>> The fix is under Travis-CI testing:
>>> https://travis-ci.org/lmajewski/u-boot-dfu/builds/542118403
>>>
>>> I will post patches when it finishes.
>>
>> What's the fix ?
>>
>
> https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
>
> I've explicitly enabled SPL_WDT=y for affected boards.
I don't think that's the right approach, it should be possible to do
without explicit board config modification. I'm building another take,
since some boards still failed to build.
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-06-06 8:08 ` Marek Vasut
@ 2019-06-06 8:16 ` Lukasz Majewski
2019-06-06 8:23 ` Marek Vasut
0 siblings, 1 reply; 16+ messages in thread
From: Lukasz Majewski @ 2019-06-06 8:16 UTC (permalink / raw)
To: u-boot
On Thu, 6 Jun 2019 10:08:04 +0200
Marek Vasut <marex@denx.de> wrote:
> On 6/6/19 10:00 AM, Lukasz Majewski wrote:
> > On Thu, 6 Jun 2019 09:26:04 +0200
> > Marek Vasut <marex@denx.de> wrote:
> >
> >> On 6/6/19 9:09 AM, Lukasz Majewski wrote:
> >>> On Wed, 5 Jun 2019 18:24:11 +0200
> >>> Lukasz Majewski <lukma@denx.de> wrote:
> >>>
> >>>> Hi Marek,
> >>>>
> >>>>> On Sun, 12 May 2019 23:34:52 +0200
> >>>>> Marek Vasut <marex@denx.de> wrote:
> >>>>>
> >>>>>> Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without
> >>>>>> DM, while the full U-Boot can use rich DM/DT WDT driver.
> >>>>>>
> >>>>>> Signed-off-by: Marek Vasut <marex@denx.de>
> >>>>>> Cc: Peng Fan <Peng.Fan@freescale.com>
> >>>>>> Cc: Stefano Babic <sbabic@denx.de>
> >>>>>> ---
> >>>>>> common/board_r.c | 2 +-
> >>>>>> common/spl/spl.c | 2 +-
> >>>>>> drivers/watchdog/Makefile | 2 +-
> >>>>>> include/asm-generic/global_data.h | 2 +-
> >>>>>> include/wdt.h | 2 +-
> >>>>>> 5 files changed, 5 insertions(+), 5 deletions(-)
> >>>>>>
> >>>>>> diff --git a/common/board_r.c b/common/board_r.c
> >>>>>> index 150e8cd424..988e40abb2 100644
> >>>>>> --- a/common/board_r.c
> >>>>>> +++ b/common/board_r.c
> >>>>>> @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
> >>>>>> #ifdef CONFIG_DM
> >>>>>> initr_dm,
> >>>>>> #endif
> >>>>>> -#if defined(CONFIG_WDT)
> >>>>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>>>> initr_watchdog,
> >>>>>> #endif
> >>>>>> #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
> >>>>>> defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
> >>>>>> b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
> >>>>>> --- a/common/spl/spl.c
> >>>>>> +++ b/common/spl/spl.c
> >>>>>> @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong
> >>>>>> dummy2) spl_board_init();
> >>>>>> #endif
> >>>>>>
> >>>>>> -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) &&
> >>>>>> defined(CONFIG_WDT) +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT)
> >>>>>> && CONFIG_IS_ENABLED(WDT) initr_watchdog();
> >>>>>> #endif
> >>>>>>
> >>>>>> diff --git a/drivers/watchdog/Makefile
> >>>>>> b/drivers/watchdog/Makefile index 40b2f4bc66..4b94ae988c 100644
> >>>>>> --- a/drivers/watchdog/Makefile
> >>>>>> +++ b/drivers/watchdog/Makefile
> >>>>>> @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
> >>>>>> obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
> >>>>>> obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
> >>>>>> obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
> >>>>>> -obj-$(CONFIG_WDT) += wdt-uclass.o
> >>>>>> +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
> >>>>>> obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
> >>>>>> obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
> >>>>>> obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
> >>>>>> diff --git a/include/asm-generic/global_data.h
> >>>>>> b/include/asm-generic/global_data.h index
> >>>>>> 02a3ed6838..7c2220643b 100644 ---
> >>>>>> a/include/asm-generic/global_data.h +++
> >>>>>> b/include/asm-generic/global_data.h @@ -137,7 +137,7 @@
> >>>>>> typedef struct global_data { #if
> >>>>>> defined(CONFIG_TRANSLATION_OFFSET) fdt_addr_t
> >>>>>> translation_offset; /* optional translation offset */
> >>>>>> #endif -#if defined(CONFIG_WDT)
> >>>>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>>>> struct udevice *watchdog_dev;
> >>>>>> #endif
> >>>>>> } gd_t;
> >>>>>> diff --git a/include/wdt.h b/include/wdt.h
> >>>>>> index aa77d3e9b4..5bcff24ab3 100644
> >>>>>> --- a/include/wdt.h
> >>>>>> +++ b/include/wdt.h
> >>>>>> @@ -106,7 +106,7 @@ struct wdt_ops {
> >>>>>> int (*expire_now)(struct udevice *dev, ulong flags);
> >>>>>> };
> >>>>>>
> >>>>>> -#if defined(CONFIG_WDT)
> >>>>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>>>> #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
> >>>>>> #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
> >>>>>> #endif
> >>>>>
> >>>>> Tested-by: Lukasz Majewski <lukma@denx.de>
> >>>>>
> >>>>> Test HW: display5 i.MX6Q device
> >>>>>
> >>>>
> >>>> Unfortunately this series causes build break when run on
> >>>> Travis-CI for some Atmel/Microchip:
> >>>>
> >>>> arm: + picosam9g45
> >>>> +lib/built-in.o: In function `udelay':
> >>>> +lib/time.c:167: undefined reference to `watchdog_reset'
> >>>> +drivers/built-in.o: In function `atmel_serial_getc':
> >>>> +drivers/serial/atmel_usart.c:103: undefined reference to
> >>>> `watchdog_reset' +make[2]: *** [spl/u-boot-spl] Error 1
> >>>> +make[1]: *** [spl/u-boot-spl] Error 2
> >>>> +make: *** [sub-make] Error 2
> >>>> 14 38 1 /53 axm
> >>>> boards.cfg is up to date. Nothing to do.
> >>>> Summary of current source for 53 boards (2 threads, 1 job per
> >>>> thread)
> >>>>
> >>>>
> >>>> u-boot master SHA1: e1a2ed7180adeefb6164239a18249dca5701319d
> >>>>
> >>>
> >>> The fix is under Travis-CI testing:
> >>> https://travis-ci.org/lmajewski/u-boot-dfu/builds/542118403
> >>>
> >>> I will post patches when it finishes.
> >>
> >> What's the fix ?
> >>
> >
> > https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
> >
> > I've explicitly enabled SPL_WDT=y for affected boards.
>
> I don't think that's the right approach, it should be possible to do
> without explicit board config modification. I'm building another take,
> since some boards still failed to build.
>
Just to be clear - if it works with imply - I'm for this solution.
However, if it breaks, then we may need to find another solution (as
for example shown here:
https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
- the number of affected boards is small - just 3 of them).
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190606/a0903f6e/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-06-06 8:16 ` Lukasz Majewski
@ 2019-06-06 8:23 ` Marek Vasut
2019-06-06 8:28 ` Lukasz Majewski
2019-06-08 6:23 ` Lukasz Majewski
0 siblings, 2 replies; 16+ messages in thread
From: Marek Vasut @ 2019-06-06 8:23 UTC (permalink / raw)
To: u-boot
On 6/6/19 10:16 AM, Lukasz Majewski wrote:
> On Thu, 6 Jun 2019 10:08:04 +0200
> Marek Vasut <marex@denx.de> wrote:
>
>> On 6/6/19 10:00 AM, Lukasz Majewski wrote:
>>> On Thu, 6 Jun 2019 09:26:04 +0200
>>> Marek Vasut <marex@denx.de> wrote:
>>>
>>>> On 6/6/19 9:09 AM, Lukasz Majewski wrote:
>>>>> On Wed, 5 Jun 2019 18:24:11 +0200
>>>>> Lukasz Majewski <lukma@denx.de> wrote:
>>>>>
>>>>>> Hi Marek,
>>>>>>
>>>>>>> On Sun, 12 May 2019 23:34:52 +0200
>>>>>>> Marek Vasut <marex@denx.de> wrote:
>>>>>>>
>>>>>>>> Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL without
>>>>>>>> DM, while the full U-Boot can use rich DM/DT WDT driver.
>>>>>>>>
>>>>>>>> Signed-off-by: Marek Vasut <marex@denx.de>
>>>>>>>> Cc: Peng Fan <Peng.Fan@freescale.com>
>>>>>>>> Cc: Stefano Babic <sbabic@denx.de>
>>>>>>>> ---
>>>>>>>> common/board_r.c | 2 +-
>>>>>>>> common/spl/spl.c | 2 +-
>>>>>>>> drivers/watchdog/Makefile | 2 +-
>>>>>>>> include/asm-generic/global_data.h | 2 +-
>>>>>>>> include/wdt.h | 2 +-
>>>>>>>> 5 files changed, 5 insertions(+), 5 deletions(-)
>>>>>>>>
>>>>>>>> diff --git a/common/board_r.c b/common/board_r.c
>>>>>>>> index 150e8cd424..988e40abb2 100644
>>>>>>>> --- a/common/board_r.c
>>>>>>>> +++ b/common/board_r.c
>>>>>>>> @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
>>>>>>>> #ifdef CONFIG_DM
>>>>>>>> initr_dm,
>>>>>>>> #endif
>>>>>>>> -#if defined(CONFIG_WDT)
>>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>>>>>> initr_watchdog,
>>>>>>>> #endif
>>>>>>>> #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
>>>>>>>> defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
>>>>>>>> b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
>>>>>>>> --- a/common/spl/spl.c
>>>>>>>> +++ b/common/spl/spl.c
>>>>>>>> @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong
>>>>>>>> dummy2) spl_board_init();
>>>>>>>> #endif
>>>>>>>>
>>>>>>>> -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) &&
>>>>>>>> defined(CONFIG_WDT) +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT)
>>>>>>>> && CONFIG_IS_ENABLED(WDT) initr_watchdog();
>>>>>>>> #endif
>>>>>>>>
>>>>>>>> diff --git a/drivers/watchdog/Makefile
>>>>>>>> b/drivers/watchdog/Makefile index 40b2f4bc66..4b94ae988c 100644
>>>>>>>> --- a/drivers/watchdog/Makefile
>>>>>>>> +++ b/drivers/watchdog/Makefile
>>>>>>>> @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
>>>>>>>> obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
>>>>>>>> obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
>>>>>>>> obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
>>>>>>>> -obj-$(CONFIG_WDT) += wdt-uclass.o
>>>>>>>> +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
>>>>>>>> obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
>>>>>>>> obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
>>>>>>>> obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
>>>>>>>> diff --git a/include/asm-generic/global_data.h
>>>>>>>> b/include/asm-generic/global_data.h index
>>>>>>>> 02a3ed6838..7c2220643b 100644 ---
>>>>>>>> a/include/asm-generic/global_data.h +++
>>>>>>>> b/include/asm-generic/global_data.h @@ -137,7 +137,7 @@
>>>>>>>> typedef struct global_data { #if
>>>>>>>> defined(CONFIG_TRANSLATION_OFFSET) fdt_addr_t
>>>>>>>> translation_offset; /* optional translation offset */
>>>>>>>> #endif -#if defined(CONFIG_WDT)
>>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>>>>>> struct udevice *watchdog_dev;
>>>>>>>> #endif
>>>>>>>> } gd_t;
>>>>>>>> diff --git a/include/wdt.h b/include/wdt.h
>>>>>>>> index aa77d3e9b4..5bcff24ab3 100644
>>>>>>>> --- a/include/wdt.h
>>>>>>>> +++ b/include/wdt.h
>>>>>>>> @@ -106,7 +106,7 @@ struct wdt_ops {
>>>>>>>> int (*expire_now)(struct udevice *dev, ulong flags);
>>>>>>>> };
>>>>>>>>
>>>>>>>> -#if defined(CONFIG_WDT)
>>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>>>>>> #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
>>>>>>>> #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
>>>>>>>> #endif
>>>>>>>
>>>>>>> Tested-by: Lukasz Majewski <lukma@denx.de>
>>>>>>>
>>>>>>> Test HW: display5 i.MX6Q device
>>>>>>>
>>>>>>
>>>>>> Unfortunately this series causes build break when run on
>>>>>> Travis-CI for some Atmel/Microchip:
>>>>>>
>>>>>> arm: + picosam9g45
>>>>>> +lib/built-in.o: In function `udelay':
>>>>>> +lib/time.c:167: undefined reference to `watchdog_reset'
>>>>>> +drivers/built-in.o: In function `atmel_serial_getc':
>>>>>> +drivers/serial/atmel_usart.c:103: undefined reference to
>>>>>> `watchdog_reset' +make[2]: *** [spl/u-boot-spl] Error 1
>>>>>> +make[1]: *** [spl/u-boot-spl] Error 2
>>>>>> +make: *** [sub-make] Error 2
>>>>>> 14 38 1 /53 axm
>>>>>> boards.cfg is up to date. Nothing to do.
>>>>>> Summary of current source for 53 boards (2 threads, 1 job per
>>>>>> thread)
>>>>>>
>>>>>>
>>>>>> u-boot master SHA1: e1a2ed7180adeefb6164239a18249dca5701319d
>>>>>>
>>>>>
>>>>> The fix is under Travis-CI testing:
>>>>> https://travis-ci.org/lmajewski/u-boot-dfu/builds/542118403
>>>>>
>>>>> I will post patches when it finishes.
>>>>
>>>> What's the fix ?
>>>>
>>>
>>> https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
>>>
>>> I've explicitly enabled SPL_WDT=y for affected boards.
>>
>> I don't think that's the right approach, it should be possible to do
>> without explicit board config modification. I'm building another take,
>> since some boards still failed to build.
>>
>
> Just to be clear - if it works with imply - I'm for this solution.
>
> However, if it breaks, then we may need to find another solution (as
> for example shown here:
> https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
> - the number of affected boards is small - just 3 of them).
I would very much prefer to make it work without defconfig
modifications. This has to be possible, since it worked before the split.
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-06-06 8:23 ` Marek Vasut
@ 2019-06-06 8:28 ` Lukasz Majewski
2019-06-08 6:23 ` Lukasz Majewski
1 sibling, 0 replies; 16+ messages in thread
From: Lukasz Majewski @ 2019-06-06 8:28 UTC (permalink / raw)
To: u-boot
On Thu, 6 Jun 2019 10:23:06 +0200
Marek Vasut <marex@denx.de> wrote:
> On 6/6/19 10:16 AM, Lukasz Majewski wrote:
> > On Thu, 6 Jun 2019 10:08:04 +0200
> > Marek Vasut <marex@denx.de> wrote:
> >
> >> On 6/6/19 10:00 AM, Lukasz Majewski wrote:
> >>> On Thu, 6 Jun 2019 09:26:04 +0200
> >>> Marek Vasut <marex@denx.de> wrote:
> >>>
> >>>> On 6/6/19 9:09 AM, Lukasz Majewski wrote:
> >>>>> On Wed, 5 Jun 2019 18:24:11 +0200
> >>>>> Lukasz Majewski <lukma@denx.de> wrote:
> >>>>>
> >>>>>> Hi Marek,
> >>>>>>
> >>>>>>> On Sun, 12 May 2019 23:34:52 +0200
> >>>>>>> Marek Vasut <marex@denx.de> wrote:
> >>>>>>>
> >>>>>>>> Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL
> >>>>>>>> without DM, while the full U-Boot can use rich DM/DT WDT
> >>>>>>>> driver.
> >>>>>>>>
> >>>>>>>> Signed-off-by: Marek Vasut <marex@denx.de>
> >>>>>>>> Cc: Peng Fan <Peng.Fan@freescale.com>
> >>>>>>>> Cc: Stefano Babic <sbabic@denx.de>
> >>>>>>>> ---
> >>>>>>>> common/board_r.c | 2 +-
> >>>>>>>> common/spl/spl.c | 2 +-
> >>>>>>>> drivers/watchdog/Makefile | 2 +-
> >>>>>>>> include/asm-generic/global_data.h | 2 +-
> >>>>>>>> include/wdt.h | 2 +-
> >>>>>>>> 5 files changed, 5 insertions(+), 5 deletions(-)
> >>>>>>>>
> >>>>>>>> diff --git a/common/board_r.c b/common/board_r.c
> >>>>>>>> index 150e8cd424..988e40abb2 100644
> >>>>>>>> --- a/common/board_r.c
> >>>>>>>> +++ b/common/board_r.c
> >>>>>>>> @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
> >>>>>>>> #ifdef CONFIG_DM
> >>>>>>>> initr_dm,
> >>>>>>>> #endif
> >>>>>>>> -#if defined(CONFIG_WDT)
> >>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>>>>>> initr_watchdog,
> >>>>>>>> #endif
> >>>>>>>> #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
> >>>>>>>> defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
> >>>>>>>> b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
> >>>>>>>> --- a/common/spl/spl.c
> >>>>>>>> +++ b/common/spl/spl.c
> >>>>>>>> @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong
> >>>>>>>> dummy2) spl_board_init();
> >>>>>>>> #endif
> >>>>>>>>
> >>>>>>>> -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) &&
> >>>>>>>> defined(CONFIG_WDT) +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT)
> >>>>>>>> && CONFIG_IS_ENABLED(WDT) initr_watchdog();
> >>>>>>>> #endif
> >>>>>>>>
> >>>>>>>> diff --git a/drivers/watchdog/Makefile
> >>>>>>>> b/drivers/watchdog/Makefile index 40b2f4bc66..4b94ae988c
> >>>>>>>> 100644 --- a/drivers/watchdog/Makefile
> >>>>>>>> +++ b/drivers/watchdog/Makefile
> >>>>>>>> @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
> >>>>>>>> obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
> >>>>>>>> obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
> >>>>>>>> obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
> >>>>>>>> -obj-$(CONFIG_WDT) += wdt-uclass.o
> >>>>>>>> +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
> >>>>>>>> obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
> >>>>>>>> obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
> >>>>>>>> obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
> >>>>>>>> diff --git a/include/asm-generic/global_data.h
> >>>>>>>> b/include/asm-generic/global_data.h index
> >>>>>>>> 02a3ed6838..7c2220643b 100644 ---
> >>>>>>>> a/include/asm-generic/global_data.h +++
> >>>>>>>> b/include/asm-generic/global_data.h @@ -137,7 +137,7 @@
> >>>>>>>> typedef struct global_data { #if
> >>>>>>>> defined(CONFIG_TRANSLATION_OFFSET) fdt_addr_t
> >>>>>>>> translation_offset; /* optional translation offset */
> >>>>>>>> #endif -#if defined(CONFIG_WDT)
> >>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>>>>>> struct udevice *watchdog_dev;
> >>>>>>>> #endif
> >>>>>>>> } gd_t;
> >>>>>>>> diff --git a/include/wdt.h b/include/wdt.h
> >>>>>>>> index aa77d3e9b4..5bcff24ab3 100644
> >>>>>>>> --- a/include/wdt.h
> >>>>>>>> +++ b/include/wdt.h
> >>>>>>>> @@ -106,7 +106,7 @@ struct wdt_ops {
> >>>>>>>> int (*expire_now)(struct udevice *dev, ulong flags);
> >>>>>>>> };
> >>>>>>>>
> >>>>>>>> -#if defined(CONFIG_WDT)
> >>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>>>>>> #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
> >>>>>>>> #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
> >>>>>>>> #endif
> >>>>>>>
> >>>>>>> Tested-by: Lukasz Majewski <lukma@denx.de>
> >>>>>>>
> >>>>>>> Test HW: display5 i.MX6Q device
> >>>>>>>
> >>>>>>
> >>>>>> Unfortunately this series causes build break when run on
> >>>>>> Travis-CI for some Atmel/Microchip:
> >>>>>>
> >>>>>> arm: + picosam9g45
> >>>>>> +lib/built-in.o: In function `udelay':
> >>>>>> +lib/time.c:167: undefined reference to `watchdog_reset'
> >>>>>> +drivers/built-in.o: In function `atmel_serial_getc':
> >>>>>> +drivers/serial/atmel_usart.c:103: undefined reference to
> >>>>>> `watchdog_reset' +make[2]: *** [spl/u-boot-spl] Error 1
> >>>>>> +make[1]: *** [spl/u-boot-spl] Error 2
> >>>>>> +make: *** [sub-make] Error 2
> >>>>>> 14 38 1 /53 axm
> >>>>>> boards.cfg is up to date. Nothing to do.
> >>>>>> Summary of current source for 53 boards (2 threads, 1 job per
> >>>>>> thread)
> >>>>>>
> >>>>>>
> >>>>>> u-boot master SHA1: e1a2ed7180adeefb6164239a18249dca5701319d
> >>>>>>
> >>>>>
> >>>>> The fix is under Travis-CI testing:
> >>>>> https://travis-ci.org/lmajewski/u-boot-dfu/builds/542118403
> >>>>>
> >>>>> I will post patches when it finishes.
> >>>>
> >>>> What's the fix ?
> >>>>
> >>>
> >>> https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
> >>>
> >>> I've explicitly enabled SPL_WDT=y for affected boards.
> >>
> >> I don't think that's the right approach, it should be possible to
> >> do without explicit board config modification. I'm building
> >> another take, since some boards still failed to build.
> >>
> >
> > Just to be clear - if it works with imply - I'm for this solution.
> >
> > However, if it breaks, then we may need to find another solution (as
> > for example shown here:
> > https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
> > - the number of affected boards is small - just 3 of them).
>
> I would very much prefer to make it work without defconfig
> modifications. This has to be possible, since it worked before the
> split.
>
Ok.
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190606/8fe457ea/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-06-06 8:23 ` Marek Vasut
2019-06-06 8:28 ` Lukasz Majewski
@ 2019-06-08 6:23 ` Lukasz Majewski
2019-06-08 15:32 ` Marek Vasut
1 sibling, 1 reply; 16+ messages in thread
From: Lukasz Majewski @ 2019-06-08 6:23 UTC (permalink / raw)
To: u-boot
Hi Marek,
> On 6/6/19 10:16 AM, Lukasz Majewski wrote:
> > On Thu, 6 Jun 2019 10:08:04 +0200
> > Marek Vasut <marex@denx.de> wrote:
> >
> >> On 6/6/19 10:00 AM, Lukasz Majewski wrote:
> >>> On Thu, 6 Jun 2019 09:26:04 +0200
> >>> Marek Vasut <marex@denx.de> wrote:
> >>>
> >>>> On 6/6/19 9:09 AM, Lukasz Majewski wrote:
> >>>>> On Wed, 5 Jun 2019 18:24:11 +0200
> >>>>> Lukasz Majewski <lukma@denx.de> wrote:
> >>>>>
> >>>>>> Hi Marek,
> >>>>>>
> >>>>>>> On Sun, 12 May 2019 23:34:52 +0200
> >>>>>>> Marek Vasut <marex@denx.de> wrote:
> >>>>>>>
> >>>>>>>> Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL
> >>>>>>>> without DM, while the full U-Boot can use rich DM/DT WDT
> >>>>>>>> driver.
> >>>>>>>>
> >>>>>>>> Signed-off-by: Marek Vasut <marex@denx.de>
> >>>>>>>> Cc: Peng Fan <Peng.Fan@freescale.com>
> >>>>>>>> Cc: Stefano Babic <sbabic@denx.de>
> >>>>>>>> ---
> >>>>>>>> common/board_r.c | 2 +-
> >>>>>>>> common/spl/spl.c | 2 +-
> >>>>>>>> drivers/watchdog/Makefile | 2 +-
> >>>>>>>> include/asm-generic/global_data.h | 2 +-
> >>>>>>>> include/wdt.h | 2 +-
> >>>>>>>> 5 files changed, 5 insertions(+), 5 deletions(-)
> >>>>>>>>
> >>>>>>>> diff --git a/common/board_r.c b/common/board_r.c
> >>>>>>>> index 150e8cd424..988e40abb2 100644
> >>>>>>>> --- a/common/board_r.c
> >>>>>>>> +++ b/common/board_r.c
> >>>>>>>> @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
> >>>>>>>> #ifdef CONFIG_DM
> >>>>>>>> initr_dm,
> >>>>>>>> #endif
> >>>>>>>> -#if defined(CONFIG_WDT)
> >>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>>>>>> initr_watchdog,
> >>>>>>>> #endif
> >>>>>>>> #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
> >>>>>>>> defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
> >>>>>>>> b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
> >>>>>>>> --- a/common/spl/spl.c
> >>>>>>>> +++ b/common/spl/spl.c
> >>>>>>>> @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong
> >>>>>>>> dummy2) spl_board_init();
> >>>>>>>> #endif
> >>>>>>>>
> >>>>>>>> -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) &&
> >>>>>>>> defined(CONFIG_WDT) +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT)
> >>>>>>>> && CONFIG_IS_ENABLED(WDT) initr_watchdog();
> >>>>>>>> #endif
> >>>>>>>>
> >>>>>>>> diff --git a/drivers/watchdog/Makefile
> >>>>>>>> b/drivers/watchdog/Makefile index 40b2f4bc66..4b94ae988c
> >>>>>>>> 100644 --- a/drivers/watchdog/Makefile
> >>>>>>>> +++ b/drivers/watchdog/Makefile
> >>>>>>>> @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
> >>>>>>>> obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
> >>>>>>>> obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
> >>>>>>>> obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
> >>>>>>>> -obj-$(CONFIG_WDT) += wdt-uclass.o
> >>>>>>>> +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
> >>>>>>>> obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
> >>>>>>>> obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
> >>>>>>>> obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
> >>>>>>>> diff --git a/include/asm-generic/global_data.h
> >>>>>>>> b/include/asm-generic/global_data.h index
> >>>>>>>> 02a3ed6838..7c2220643b 100644 ---
> >>>>>>>> a/include/asm-generic/global_data.h +++
> >>>>>>>> b/include/asm-generic/global_data.h @@ -137,7 +137,7 @@
> >>>>>>>> typedef struct global_data { #if
> >>>>>>>> defined(CONFIG_TRANSLATION_OFFSET) fdt_addr_t
> >>>>>>>> translation_offset; /* optional translation offset */
> >>>>>>>> #endif -#if defined(CONFIG_WDT)
> >>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>>>>>> struct udevice *watchdog_dev;
> >>>>>>>> #endif
> >>>>>>>> } gd_t;
> >>>>>>>> diff --git a/include/wdt.h b/include/wdt.h
> >>>>>>>> index aa77d3e9b4..5bcff24ab3 100644
> >>>>>>>> --- a/include/wdt.h
> >>>>>>>> +++ b/include/wdt.h
> >>>>>>>> @@ -106,7 +106,7 @@ struct wdt_ops {
> >>>>>>>> int (*expire_now)(struct udevice *dev, ulong flags);
> >>>>>>>> };
> >>>>>>>>
> >>>>>>>> -#if defined(CONFIG_WDT)
> >>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
> >>>>>>>> #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
> >>>>>>>> #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
> >>>>>>>> #endif
> >>>>>>>
> >>>>>>> Tested-by: Lukasz Majewski <lukma@denx.de>
> >>>>>>>
> >>>>>>> Test HW: display5 i.MX6Q device
> >>>>>>>
> >>>>>>
> >>>>>> Unfortunately this series causes build break when run on
> >>>>>> Travis-CI for some Atmel/Microchip:
> >>>>>>
> >>>>>> arm: + picosam9g45
> >>>>>> +lib/built-in.o: In function `udelay':
> >>>>>> +lib/time.c:167: undefined reference to `watchdog_reset'
> >>>>>> +drivers/built-in.o: In function `atmel_serial_getc':
> >>>>>> +drivers/serial/atmel_usart.c:103: undefined reference to
> >>>>>> `watchdog_reset' +make[2]: *** [spl/u-boot-spl] Error 1
> >>>>>> +make[1]: *** [spl/u-boot-spl] Error 2
> >>>>>> +make: *** [sub-make] Error 2
> >>>>>> 14 38 1 /53 axm
> >>>>>> boards.cfg is up to date. Nothing to do.
> >>>>>> Summary of current source for 53 boards (2 threads, 1 job per
> >>>>>> thread)
> >>>>>>
> >>>>>>
> >>>>>> u-boot master SHA1: e1a2ed7180adeefb6164239a18249dca5701319d
> >>>>>>
> >>>>>
> >>>>> The fix is under Travis-CI testing:
> >>>>> https://travis-ci.org/lmajewski/u-boot-dfu/builds/542118403
> >>>>>
> >>>>> I will post patches when it finishes.
> >>>>
> >>>> What's the fix ?
> >>>>
> >>>
> >>> https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
> >>>
> >>> I've explicitly enabled SPL_WDT=y for affected boards.
> >>
> >> I don't think that's the right approach, it should be possible to
> >> do without explicit board config modification. I'm building
> >> another take, since some boards still failed to build.
> >>
> >
> > Just to be clear - if it works with imply - I'm for this solution.
> >
> > However, if it breaks, then we may need to find another solution (as
> > for example shown here:
> > https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
> > - the number of affected boards is small - just 3 of them).
>
> I would very much prefer to make it work without defconfig
> modifications. This has to be possible, since it worked before the
> split.
>
Have you managed to fix the code? Will you post revised patches soon?
Best regards and thanks in advance,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190608/d3ea901f/attachment.sig>
^ permalink raw reply [flat|nested] 16+ messages in thread
* [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT
2019-06-08 6:23 ` Lukasz Majewski
@ 2019-06-08 15:32 ` Marek Vasut
0 siblings, 0 replies; 16+ messages in thread
From: Marek Vasut @ 2019-06-08 15:32 UTC (permalink / raw)
To: u-boot
On 6/8/19 8:23 AM, Lukasz Majewski wrote:
> Hi Marek,
>
>> On 6/6/19 10:16 AM, Lukasz Majewski wrote:
>>> On Thu, 6 Jun 2019 10:08:04 +0200
>>> Marek Vasut <marex@denx.de> wrote:
>>>
>>>> On 6/6/19 10:00 AM, Lukasz Majewski wrote:
>>>>> On Thu, 6 Jun 2019 09:26:04 +0200
>>>>> Marek Vasut <marex@denx.de> wrote:
>>>>>
>>>>>> On 6/6/19 9:09 AM, Lukasz Majewski wrote:
>>>>>>> On Wed, 5 Jun 2019 18:24:11 +0200
>>>>>>> Lukasz Majewski <lukma@denx.de> wrote:
>>>>>>>
>>>>>>>> Hi Marek,
>>>>>>>>
>>>>>>>>> On Sun, 12 May 2019 23:34:52 +0200
>>>>>>>>> Marek Vasut <marex@denx.de> wrote:
>>>>>>>>>
>>>>>>>>>> Use CONFIG_IS_ENABLED(WDT) to permit use of WDT in SPL
>>>>>>>>>> without DM, while the full U-Boot can use rich DM/DT WDT
>>>>>>>>>> driver.
>>>>>>>>>>
>>>>>>>>>> Signed-off-by: Marek Vasut <marex@denx.de>
>>>>>>>>>> Cc: Peng Fan <Peng.Fan@freescale.com>
>>>>>>>>>> Cc: Stefano Babic <sbabic@denx.de>
>>>>>>>>>> ---
>>>>>>>>>> common/board_r.c | 2 +-
>>>>>>>>>> common/spl/spl.c | 2 +-
>>>>>>>>>> drivers/watchdog/Makefile | 2 +-
>>>>>>>>>> include/asm-generic/global_data.h | 2 +-
>>>>>>>>>> include/wdt.h | 2 +-
>>>>>>>>>> 5 files changed, 5 insertions(+), 5 deletions(-)
>>>>>>>>>>
>>>>>>>>>> diff --git a/common/board_r.c b/common/board_r.c
>>>>>>>>>> index 150e8cd424..988e40abb2 100644
>>>>>>>>>> --- a/common/board_r.c
>>>>>>>>>> +++ b/common/board_r.c
>>>>>>>>>> @@ -678,7 +678,7 @@ static init_fnc_t init_sequence_r[] = {
>>>>>>>>>> #ifdef CONFIG_DM
>>>>>>>>>> initr_dm,
>>>>>>>>>> #endif
>>>>>>>>>> -#if defined(CONFIG_WDT)
>>>>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>>>>>>>> initr_watchdog,
>>>>>>>>>> #endif
>>>>>>>>>> #if defined(CONFIG_ARM) || defined(CONFIG_NDS32) ||
>>>>>>>>>> defined(CONFIG_RISCV) || \ diff --git a/common/spl/spl.c
>>>>>>>>>> b/common/spl/spl.c index 0a6a47c202..f22f854718 100644
>>>>>>>>>> --- a/common/spl/spl.c
>>>>>>>>>> +++ b/common/spl/spl.c
>>>>>>>>>> @@ -601,7 +601,7 @@ void board_init_r(gd_t *dummy1, ulong
>>>>>>>>>> dummy2) spl_board_init();
>>>>>>>>>> #endif
>>>>>>>>>>
>>>>>>>>>> -#if defined(CONFIG_SPL_WATCHDOG_SUPPORT) &&
>>>>>>>>>> defined(CONFIG_WDT) +#if defined(CONFIG_SPL_WATCHDOG_SUPPORT)
>>>>>>>>>> && CONFIG_IS_ENABLED(WDT) initr_watchdog();
>>>>>>>>>> #endif
>>>>>>>>>>
>>>>>>>>>> diff --git a/drivers/watchdog/Makefile
>>>>>>>>>> b/drivers/watchdog/Makefile index 40b2f4bc66..4b94ae988c
>>>>>>>>>> 100644 --- a/drivers/watchdog/Makefile
>>>>>>>>>> +++ b/drivers/watchdog/Makefile
>>>>>>>>>> @@ -16,7 +16,7 @@ obj-$(CONFIG_OMAP_WATCHDOG) += omap_wdt.o
>>>>>>>>>> obj-$(CONFIG_DESIGNWARE_WATCHDOG) += designware_wdt.o
>>>>>>>>>> obj-$(CONFIG_TANGIER_WATCHDOG) += tangier_wdt.o
>>>>>>>>>> obj-$(CONFIG_ULP_WATCHDOG) += ulp_wdog.o
>>>>>>>>>> -obj-$(CONFIG_WDT) += wdt-uclass.o
>>>>>>>>>> +obj-$(CONFIG_$(SPL_TPL_)WDT) += wdt-uclass.o
>>>>>>>>>> obj-$(CONFIG_WDT_SANDBOX) += sandbox_wdt.o
>>>>>>>>>> obj-$(CONFIG_WDT_ARMADA_37XX) += armada-37xx-wdt.o
>>>>>>>>>> obj-$(CONFIG_WDT_ASPEED) += ast_wdt.o
>>>>>>>>>> diff --git a/include/asm-generic/global_data.h
>>>>>>>>>> b/include/asm-generic/global_data.h index
>>>>>>>>>> 02a3ed6838..7c2220643b 100644 ---
>>>>>>>>>> a/include/asm-generic/global_data.h +++
>>>>>>>>>> b/include/asm-generic/global_data.h @@ -137,7 +137,7 @@
>>>>>>>>>> typedef struct global_data { #if
>>>>>>>>>> defined(CONFIG_TRANSLATION_OFFSET) fdt_addr_t
>>>>>>>>>> translation_offset; /* optional translation offset */
>>>>>>>>>> #endif -#if defined(CONFIG_WDT)
>>>>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>>>>>>>> struct udevice *watchdog_dev;
>>>>>>>>>> #endif
>>>>>>>>>> } gd_t;
>>>>>>>>>> diff --git a/include/wdt.h b/include/wdt.h
>>>>>>>>>> index aa77d3e9b4..5bcff24ab3 100644
>>>>>>>>>> --- a/include/wdt.h
>>>>>>>>>> +++ b/include/wdt.h
>>>>>>>>>> @@ -106,7 +106,7 @@ struct wdt_ops {
>>>>>>>>>> int (*expire_now)(struct udevice *dev, ulong flags);
>>>>>>>>>> };
>>>>>>>>>>
>>>>>>>>>> -#if defined(CONFIG_WDT)
>>>>>>>>>> +#if CONFIG_IS_ENABLED(WDT)
>>>>>>>>>> #ifndef CONFIG_WATCHDOG_TIMEOUT_MSECS
>>>>>>>>>> #define CONFIG_WATCHDOG_TIMEOUT_MSECS (60 * 1000)
>>>>>>>>>> #endif
>>>>>>>>>
>>>>>>>>> Tested-by: Lukasz Majewski <lukma@denx.de>
>>>>>>>>>
>>>>>>>>> Test HW: display5 i.MX6Q device
>>>>>>>>>
>>>>>>>>
>>>>>>>> Unfortunately this series causes build break when run on
>>>>>>>> Travis-CI for some Atmel/Microchip:
>>>>>>>>
>>>>>>>> arm: + picosam9g45
>>>>>>>> +lib/built-in.o: In function `udelay':
>>>>>>>> +lib/time.c:167: undefined reference to `watchdog_reset'
>>>>>>>> +drivers/built-in.o: In function `atmel_serial_getc':
>>>>>>>> +drivers/serial/atmel_usart.c:103: undefined reference to
>>>>>>>> `watchdog_reset' +make[2]: *** [spl/u-boot-spl] Error 1
>>>>>>>> +make[1]: *** [spl/u-boot-spl] Error 2
>>>>>>>> +make: *** [sub-make] Error 2
>>>>>>>> 14 38 1 /53 axm
>>>>>>>> boards.cfg is up to date. Nothing to do.
>>>>>>>> Summary of current source for 53 boards (2 threads, 1 job per
>>>>>>>> thread)
>>>>>>>>
>>>>>>>>
>>>>>>>> u-boot master SHA1: e1a2ed7180adeefb6164239a18249dca5701319d
>>>>>>>>
>>>>>>>
>>>>>>> The fix is under Travis-CI testing:
>>>>>>> https://travis-ci.org/lmajewski/u-boot-dfu/builds/542118403
>>>>>>>
>>>>>>> I will post patches when it finishes.
>>>>>>
>>>>>> What's the fix ?
>>>>>>
>>>>>
>>>>> https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
>>>>>
>>>>> I've explicitly enabled SPL_WDT=y for affected boards.
>>>>
>>>> I don't think that's the right approach, it should be possible to
>>>> do without explicit board config modification. I'm building
>>>> another take, since some boards still failed to build.
>>>>
>>>
>>> Just to be clear - if it works with imply - I'm for this solution.
>>>
>>> However, if it breaks, then we may need to find another solution (as
>>> for example shown here:
>>> https://github.com/lmajewski/u-boot-dfu/commit/98c95790fee02296023a2906811092a1868f622d
>>> - the number of affected boards is small - just 3 of them).
>>
>> I would very much prefer to make it work without defconfig
>> modifications. This has to be possible, since it worked before the
>> split.
>>
>
> Have you managed to fix the code? Will you post revised patches soon?
Yes, when they are ready and tested.
--
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2019-06-08 15:32 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-12 21:34 [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT Marek Vasut
2019-05-12 21:34 ` [U-Boot] [PATCH 2/2] watchdog: imx: Add DM support Marek Vasut
2019-05-15 5:54 ` Peng Fan
2019-06-04 21:21 ` Lukasz Majewski
2019-05-15 5:46 ` [U-Boot] [PATCH 1/2] watchdog: Split WDT from SPL_WDT Peng Fan
2019-06-04 21:22 ` Lukasz Majewski
2019-06-05 16:24 ` Lukasz Majewski
2019-06-06 7:09 ` Lukasz Majewski
2019-06-06 7:26 ` Marek Vasut
2019-06-06 8:00 ` Lukasz Majewski
2019-06-06 8:08 ` Marek Vasut
2019-06-06 8:16 ` Lukasz Majewski
2019-06-06 8:23 ` Marek Vasut
2019-06-06 8:28 ` Lukasz Majewski
2019-06-08 6:23 ` Lukasz Majewski
2019-06-08 15:32 ` Marek Vasut
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.