On Thu, 6 Jun 2019 10:08:04 +0200 Marek Vasut <ma...@denx.de> wrote: > On 6/6/19 10:00 AM, Lukasz Majewski wrote: > > On Thu, 6 Jun 2019 09:26:04 +0200 > > Marek Vasut <ma...@denx.de> wrote: > > > >> On 6/6/19 9:09 AM, Lukasz Majewski wrote: > >>> On Wed, 5 Jun 2019 18:24:11 +0200 > >>> Lukasz Majewski <lu...@denx.de> wrote: > >>> > >>>> Hi Marek, > >>>> > >>>>> On Sun, 12 May 2019 23:34:52 +0200 > >>>>> Marek Vasut <ma...@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 <ma...@denx.de> > >>>>>> Cc: Peng Fan <peng....@freescale.com> > >>>>>> Cc: Stefano Babic <sba...@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 <lu...@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: lu...@denx.de
pgpxj2Kw1PSfM.pgp
Description: OpenPGP digital signature
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot