QUIRK FLAGS FOR DIFFERENT SAMSUNG WATCHDOG IP-CORES(9)
β¨ Quirk flags for different Samsung watchdog IP-cores β¨
okay so you're in the Kernel API Manual section, and this page is literally the cheat sheet for all the quirk flags on Samsung watchdog IP-cores(9) πΆπ pull up a chair bestie
πΈ DESCRIPTION πΈ
So this driver is a whole multitasker β it supports multiple Samsung SoCs, and every single one of them might have a different set of registers and features supported π like no two are the same, main character behavior honestly.
And here's the thing: the watchdog block sometimes requires modifying PMU registers for proper functioning, so you gotta account for register differences in both the watchdog and the PMU IP-cores. fr fr, both of them. π
The quirk flags below? They exist purely to tell the driver about those SoC traits we just mentioned, and you can specify them in driver data for each particular supported device. it's giving "personalized notes for every device" and I'm obsessed π
π THE QUIRKS π
QUIRK_HAS_WTCLRINT_REGβ so the watchdog block has aWTCLRINTregister. what's it for? it clears the interrupt once the interrupt service routine is complete, periodt. but listen β it's write-only π writing any values to this register clears the interrupt, but reading is not permitted. nope. don't even try it.QUIRK_HAS_PMU_MASK_RESETβ the PMU block has the register for disabling/enabling the WDT reset request. on old SoCs it's usually calledMASK_WDT_RESET_REQUEST, and new SoCs haveCLUSTERx_NONCPU_INT_ENinstead β and heads up, that one'smask_bitvalue is inverted compared to the former one π yeah. inverted. keep that in mind.QUIRK_HAS_PMU_RST_STATβ the PMU block has theRST_STAT(reset status) register, which contains bits indicating the reason for the most recent CPU reset. if it's present, the driver will use this register to check if the previous reboot was due to a watchdog timer reset. detective mode activated πQUIRK_HAS_PMU_AUTO_DISABLEβ the PMU block has theAUTOMATIC_WDT_RESET_DISABLEregister. and if themask_bitbit is set, the PMU will disable WDT reset when the corresponding processor is in reset state. slay.QUIRK_HAS_PMU_CNT_ENβ the PMU block has some register (e.g.CLUSTERx_NONCPU_OUT) with a "watchdog counter enable" bit. that bit should be set to make the watchdog counter running πββοΈ like literally, that's the whole assignment.QUIRK_HAS_DBGACK_BITβ theWTCONregister has aDBGACK_MASKbit. setting theDBGACK_MASKbit disables the watchdog outputs when the SoC is in debug mode. and how do we know it's in debug mode? that's determined by the DBGACK CPU signal π cute.QUIRK_HAS_32BIT_CNTβWTDATandWTCNTare 32-bit registers. with these 32-bit registers, larger values will be set, which means that larger timeouts value can be set π₯ bigger numbers, longer waits, we love to see it.
π¦ SEE ALSO π¦
- Kernel file
./drivers/watchdog/s3c2410_wdt.cstructs3c2410_wdt_variant(9)
iykyk, go read those next π
okay that's the whole page bestie, mwah π this one came from <pink>./drivers/watchdog</pink> and it's dated October 2026 β same title energy, Quirk flags...dog IP-cores(9), and that's a wrap πβ¨π«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms