1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2e67e8565SEmmanuel Vadot%YAML 1.2 3e67e8565SEmmanuel Vadot--- 4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/watchdog/realtek,otto-wdt.yaml# 5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6e67e8565SEmmanuel Vadot 7e67e8565SEmmanuel Vadottitle: Realtek Otto watchdog timer 8e67e8565SEmmanuel Vadot 9e67e8565SEmmanuel Vadotmaintainers: 10e67e8565SEmmanuel Vadot - Sander Vanheule <sander@svanheule.net> 11e67e8565SEmmanuel Vadot 12e67e8565SEmmanuel Vadotdescription: | 13e67e8565SEmmanuel Vadot The timer has two timeout phases. Both phases have a maximum duration of 32 14e67e8565SEmmanuel Vadot prescaled clock ticks, which is ca. 43s with a bus clock of 200MHz. The 15e67e8565SEmmanuel Vadot minimum duration of each phase is one tick. Each phase can trigger an 16e67e8565SEmmanuel Vadot interrupt, although the phase 2 interrupt will occur with the system reset. 17e67e8565SEmmanuel Vadot - Phase 1: During this phase, the WDT can be pinged to reset the timeout. 18e67e8565SEmmanuel Vadot - Phase 2: Starts after phase 1 has timed out, and only serves to give the 19e67e8565SEmmanuel Vadot system some time to clean up, or notify others that it's going to reset. 20e67e8565SEmmanuel Vadot During this phase, pinging the WDT has no effect, and a reset is 21e67e8565SEmmanuel Vadot unavoidable, unless the WDT is disabled. 22e67e8565SEmmanuel Vadot 23e67e8565SEmmanuel VadotallOf: 24e67e8565SEmmanuel Vadot - $ref: watchdog.yaml# 25e67e8565SEmmanuel Vadot 26e67e8565SEmmanuel Vadotproperties: 27e67e8565SEmmanuel Vadot compatible: 28e67e8565SEmmanuel Vadot enum: 29e67e8565SEmmanuel Vadot - realtek,rtl8380-wdt 30e67e8565SEmmanuel Vadot - realtek,rtl8390-wdt 31e67e8565SEmmanuel Vadot - realtek,rtl9300-wdt 32b97ee269SEmmanuel Vadot - realtek,rtl9310-wdt 33e67e8565SEmmanuel Vadot 34e67e8565SEmmanuel Vadot reg: 35e67e8565SEmmanuel Vadot maxItems: 1 36e67e8565SEmmanuel Vadot 37e67e8565SEmmanuel Vadot clocks: 38e67e8565SEmmanuel Vadot maxItems: 1 39e67e8565SEmmanuel Vadot 40e67e8565SEmmanuel Vadot interrupts: 41e67e8565SEmmanuel Vadot items: 42e67e8565SEmmanuel Vadot - description: interrupt specifier for pretimeout 43e67e8565SEmmanuel Vadot - description: interrupt specifier for timeout 44e67e8565SEmmanuel Vadot 45e67e8565SEmmanuel Vadot interrupt-names: 46e67e8565SEmmanuel Vadot items: 47e67e8565SEmmanuel Vadot - const: phase1 48e67e8565SEmmanuel Vadot - const: phase2 49e67e8565SEmmanuel Vadot 50e67e8565SEmmanuel Vadot realtek,reset-mode: 51e67e8565SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 52e67e8565SEmmanuel Vadot description: | 53e67e8565SEmmanuel Vadot Specify how the system is reset after a timeout. Defaults to "cpu" if 54e67e8565SEmmanuel Vadot left unspecified. 55e67e8565SEmmanuel Vadot oneOf: 56e67e8565SEmmanuel Vadot - description: Reset the entire chip 57e67e8565SEmmanuel Vadot const: soc 58e67e8565SEmmanuel Vadot - description: | 59e67e8565SEmmanuel Vadot Reset the CPU and IPsec engine, but leave other peripherals untouched 60e67e8565SEmmanuel Vadot const: cpu 61e67e8565SEmmanuel Vadot - description: | 62e67e8565SEmmanuel Vadot Reset the execution pointer, but don't actually reset any hardware 63e67e8565SEmmanuel Vadot const: software 64e67e8565SEmmanuel Vadot 65e67e8565SEmmanuel Vadotrequired: 66e67e8565SEmmanuel Vadot - compatible 67e67e8565SEmmanuel Vadot - reg 68e67e8565SEmmanuel Vadot - clocks 69e67e8565SEmmanuel Vadot - interrupts 70*fac71e4eSEmmanuel Vadot - interrupt-names 71e67e8565SEmmanuel Vadot 72e67e8565SEmmanuel VadotunevaluatedProperties: false 73e67e8565SEmmanuel Vadot 74e67e8565SEmmanuel Vadotexamples: 75e67e8565SEmmanuel Vadot - | 76e67e8565SEmmanuel Vadot watchdog: watchdog@3150 { 77e67e8565SEmmanuel Vadot compatible = "realtek,rtl8380-wdt"; 78e67e8565SEmmanuel Vadot reg = <0x3150 0xc>; 79e67e8565SEmmanuel Vadot 80e67e8565SEmmanuel Vadot realtek,reset-mode = "soc"; 81e67e8565SEmmanuel Vadot 82e67e8565SEmmanuel Vadot clocks = <&lxbus_clock>; 83e67e8565SEmmanuel Vadot timeout-sec = <20>; 84e67e8565SEmmanuel Vadot 85e67e8565SEmmanuel Vadot interrupt-parent = <&rtlintc>; 86e67e8565SEmmanuel Vadot interrupt-names = "phase1", "phase2"; 87e67e8565SEmmanuel Vadot interrupts = <19>, <18>; 88e67e8565SEmmanuel Vadot }; 89e67e8565SEmmanuel Vadot 90e67e8565SEmmanuel Vadot... 91