Am 11. Januar 2021 08:02:12 MEZ schrieb Stefan Roese <[email protected]>: >Added Heinrich to Cc. > >On 10.01.21 19:44, Matthias Brugger wrote: >> On 09/01/2021 15:57, Stefan Roese wrote: >>> On 09.01.21 03:32, Matthias Brugger wrote: >>>> On 08/01/2021 08:39, Stefan Roese wrote: >>>>> On 07.01.21 16:36, [email protected] wrote: >>>>>> From: Matthias Brugger <[email protected]> >>>>>> >>>>>> Watchdog timeout comes in before we are able to load the >>>>>> kernel and reset the watchdog. Disable the watchdog late in the >boot >>>>>> process to be able to boot the board. >>>>> >>>>> Can't you change the WDT reset timeout instead to a higher value? >>>>> >>>> >>>> I tried that, but the HW has a max timeout of 15984 ms. >Unfortunately that's not >>>> enough. >>> >>> Nearly 16 seconds is not enough to boot into Linux so that the Linux >>> watchdog daemon can take control? >>> >> >> Exactly. I'm using a standard distro image. I think the main problem >is, that it >> needs 14 seconds for the EFI stub to actually boot the kernel. > >I've not much experience (yet) with the "EFI stub". But if it takes >this >long, wouldn't it make sense that this stub also supports the WDT?
efi_timer_check() calls WATCHDOG_RESET() trying to avoid that the hardware watchdog is triggered. There is a software watchdog defaulting to 5 minutes in efi_watchdog.c which can be modified via the EFI API. Is there a U-Boot API to disable the hardware watchdog? Best regards Heinrich > >Thanks, >Stefan > >> I've already the >> watchdog timer as build-in (which is not the best to do, taking into >account >> that we don't want to bloat our distro kernel with random board >specific drivers >> build-in. If we I had the watchdog driver as kernel module it would >take forever >> to get that loaded. >> >> You can find a serial log with timestamp from the moment U-Boot got >loaded until >> the kernel actually boots here: >> https://paste.opensuse.org/98390849 >> >> Regards, >> Matthias >> >>> Thanks, >>> Stefan >>> >>>> Regards, >>>> Matthias >>>> >>>>> Thanks, >>>>> Stefan >>>>> >>>>>> Signed-off-by: Matthias Brugger <[email protected]> >>>>>> >>>>>> --- >>>>>> >>>>>> board/mediatek/mt7623/mt7623_rfb.c | 8 ++++++++ >>>>>> configs/mt7623n_bpir2_defconfig | 1 + >>>>>> 2 files changed, 9 insertions(+) >>>>>> >>>>>> diff --git a/board/mediatek/mt7623/mt7623_rfb.c >>>>>> b/board/mediatek/mt7623/mt7623_rfb.c >>>>>> index 984e75ccaf..22120be412 100644 >>>>>> --- a/board/mediatek/mt7623/mt7623_rfb.c >>>>>> +++ b/board/mediatek/mt7623/mt7623_rfb.c >>>>>> @@ -5,6 +5,7 @@ >>>>>> #include <common.h> >>>>>> #include <mmc.h> >>>>>> +#include <watchdog.h> >>>>>> DECLARE_GLOBAL_DATA_PTR; >>>>>> @@ -40,3 +41,10 @@ int mmc_get_env_dev(void) >>>>>> return mmc_get_boot_dev(); >>>>>> } >>>>>> #endif >>>>>> + >>>>>> +#ifdef CONFIG_BOARD_LATE_INIT >>>>>> +int board_late_init(void) >>>>>> +{ >>>>>> + wdt_stop(gd->watchdog_dev); >>>>>> +} >>>>>> +#endif >>>>>> diff --git a/configs/mt7623n_bpir2_defconfig >b/configs/mt7623n_bpir2_defconfig >>>>>> index 9177c17dff..fe0b6259dd 100644 >>>>>> --- a/configs/mt7623n_bpir2_defconfig >>>>>> +++ b/configs/mt7623n_bpir2_defconfig >>>>>> @@ -14,6 +14,7 @@ CONFIG_FIT_VERBOSE=y >>>>>> CONFIG_BOOTDELAY=3 >>>>>> CONFIG_SYS_CONSOLE_IS_IN_ENV=y >>>>>> CONFIG_DEFAULT_FDT_FILE="mt7623n-bananapi-bpi-r2.dtb" >>>>>> +CONFIG_BOARD_LATE_INIT=y >>>>>> # CONFIG_DISPLAY_BOARDINFO is not set >>>>>> CONFIG_SYS_PROMPT="U-Boot> " >>>>>> CONFIG_CMD_BOOTMENU=y >>>>>> >>>>> >>>>> >>>>> Viele Grüße, >>>>> Stefan >>>>> >>>> >>> >>> >>> Viele Grüße, >>> Stefan >>> >> > > >Viele Grüße, >Stefan

