From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthias Brugger Date: Sun, 10 Jan 2021 19:55:40 +0100 Subject: [PATCH] board: mediatek: disable watchdog on BananaPi R2 In-Reply-To: References: <20210107153638.15241-1-matthias.bgg@kernel.org> <2d6ea8fa-7adb-3e92-44a5-e4a8f7694577@denx.de> Message-ID: <139ff2cf-c748-cae7-40dd-45839c2c15e8@suse.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 10/01/2021 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, matthias.bgg at kernel.org wrote: >>>>> From: Matthias Brugger >>>>> >>>>> 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 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. I just checked and "forever" was a bit of a overstatement. Kernel modules get loaded after around 2 seconds into kernel booting. But adding this to the 14 seconds the EFI stub needs we already got reset by the watchdog. Regards, Matthias > > 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 >>>>> >>>>> --- >>>>> >>>>> ?? 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 >>>>> ?? #include >>>>> +#include >>>>> ?? ? 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 >>