On Thu, 19 Sep 2019 at 09:40, Suniel Mahesh <sunil.m@xxxxxxxxxxxx> wrote: > > Hi, > > I am working on one of the Samsung based S3C2440A chipset based target . > > I have couple of questions and I request someone to shed some light on these: (Thank you) > > The watchdog driver in linux, looks like, it just configured WDT but didn't start it (code snippet included below). > > May i know the reasson why WDT is not started ? Is it because u-boot already started WDT, implies it is not required to do the > same once we jump into linux ? or is there any specific reason ? > > drivers/watchdog/s3c2410_wdt.c (line 53 and lines 616 - 625) > > #define S3C2410_WATCHDOG_ATBOOT (0) > .... > static int tmr_atboot = S3C2410_WATCHDOG_ATBOOT; > ... > ... > if (tmr_atboot && started == 0) { > dev_info(dev, "starting watchdog timer\n"); > s3c2410wdt_start(&wdt->wdt_device); > } else if (!tmr_atboot) { > /* if we're not enabling the watchdog, then ensure it is > * disabled if it has been left running from the bootloader > * or other source */ > > s3c2410wdt_stop(&wdt->wdt_device); > } > ... > ... > > Tried to start WDT in linux by assigning value 1 to S3C2410_WATCHDOG_ATBOOT. The target resets. > > please comment. I think watchdog should not start during boot before user-space is brought up. Otherwise who will ping it? Usually watchdog is started by opening the watchdog device by user-space. If you need it to be running without user-space, there are special flags for this (see WDOG_HW_RUNNING and others). Best regards, Krzysztof