xref: /freebsd/sys/contrib/device-tree/Bindings/mfd/brcm,twd.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
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/mfd/brcm,twd.yaml#
5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6e67e8565SEmmanuel Vadot
7e67e8565SEmmanuel Vadottitle: Broadcom's Timer-Watchdog (aka TWD)
8e67e8565SEmmanuel Vadot
9e67e8565SEmmanuel Vadotmaintainers:
10e67e8565SEmmanuel Vadot  - Rafał Miłecki <rafal@milecki.pl>
11e67e8565SEmmanuel Vadot
12e67e8565SEmmanuel Vadotdescription: |
13e67e8565SEmmanuel Vadot  Broadcom has a Timer-Watchdog block used in multiple SoCs (e.g., BCM4908,
14e67e8565SEmmanuel Vadot  BCM63xx, BCM7038). There are few variants available (they differ slightly in
15e67e8565SEmmanuel Vadot  registers layout). This block consists of: timers, watchdog and optionally a
16e67e8565SEmmanuel Vadot  software reset handler.
17e67e8565SEmmanuel Vadot
18e67e8565SEmmanuel Vadotproperties:
19e67e8565SEmmanuel Vadot  compatible:
20e67e8565SEmmanuel Vadot    items:
21e67e8565SEmmanuel Vadot      - enum:
22e67e8565SEmmanuel Vadot          - brcm,bcm4908-twd
23e67e8565SEmmanuel Vadot          - brcm,bcm7038-twd
24e67e8565SEmmanuel Vadot      - const: simple-mfd
25e67e8565SEmmanuel Vadot      - const: syscon
26e67e8565SEmmanuel Vadot
27e67e8565SEmmanuel Vadot  reg:
28e67e8565SEmmanuel Vadot    maxItems: 1
29e67e8565SEmmanuel Vadot
30e67e8565SEmmanuel Vadot  ranges: true
31e67e8565SEmmanuel Vadot
32e67e8565SEmmanuel Vadot  "#address-cells":
33e67e8565SEmmanuel Vadot    const: 1
34e67e8565SEmmanuel Vadot
35e67e8565SEmmanuel Vadot  "#size-cells":
36e67e8565SEmmanuel Vadot    const: 1
37e67e8565SEmmanuel Vadot
38e67e8565SEmmanuel VadotpatternProperties:
39*8bab661aSEmmanuel Vadot  '^timer@[a-f0-9]+$':
40*8bab661aSEmmanuel Vadot    $ref: /schemas/timer/brcm,bcmbca-timer.yaml
41*8bab661aSEmmanuel Vadot
42e67e8565SEmmanuel Vadot  '^watchdog@[a-f0-9]+$':
43e67e8565SEmmanuel Vadot    $ref: /schemas/watchdog/brcm,bcm7038-wdt.yaml
44e67e8565SEmmanuel Vadot
45e67e8565SEmmanuel VadotadditionalProperties: false
46e67e8565SEmmanuel Vadot
47e67e8565SEmmanuel Vadotrequired:
48e67e8565SEmmanuel Vadot  - reg
49e67e8565SEmmanuel Vadot
50e67e8565SEmmanuel Vadotexamples:
51e67e8565SEmmanuel Vadot  - |
52e67e8565SEmmanuel Vadot    timer-mfd@ff800400 {
53e67e8565SEmmanuel Vadot        compatible = "brcm,bcm4908-twd", "simple-mfd", "syscon";
54e67e8565SEmmanuel Vadot        reg = <0xff800400 0x4c>;
55e67e8565SEmmanuel Vadot        ranges = <0x00000000 0xff800400 0x4c>;
56e67e8565SEmmanuel Vadot
57e67e8565SEmmanuel Vadot        #address-cells = <1>;
58e67e8565SEmmanuel Vadot        #size-cells = <1>;
59e67e8565SEmmanuel Vadot
60*8bab661aSEmmanuel Vadot        timer@0 {
61*8bab661aSEmmanuel Vadot            compatible = "brcm,bcm63138-timer";
62*8bab661aSEmmanuel Vadot            reg = <0x0 0x28>;
63*8bab661aSEmmanuel Vadot        };
64*8bab661aSEmmanuel Vadot
65e67e8565SEmmanuel Vadot        watchdog@28 {
66e67e8565SEmmanuel Vadot            compatible = "brcm,bcm7038-wdt";
67e67e8565SEmmanuel Vadot            reg = <0x28 0x8>;
68e67e8565SEmmanuel Vadot        };
69e67e8565SEmmanuel Vadot    };
70