xref: /freebsd-src/sys/contrib/device-tree/Bindings/arm/sp810.yaml (revision 8bab661a3316d8bd9b9fbd11a3b4371b91507bd2)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/arm/sp810.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7*8bab661aSEmmanuel Vadottitle: ARM Versatile Express SP810 System Controller
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Andre Przywara <andre.przywara@arm.com>
11d5b0e70fSEmmanuel Vadot
12d5b0e70fSEmmanuel Vadotdescription:
13d5b0e70fSEmmanuel Vadot  The Arm SP810 system controller provides clocks, timers and a watchdog.
14d5b0e70fSEmmanuel Vadot
15d5b0e70fSEmmanuel Vadot# We need a select here so we don't match all nodes with 'arm,primecell'
16d5b0e70fSEmmanuel Vadotselect:
17d5b0e70fSEmmanuel Vadot  properties:
18d5b0e70fSEmmanuel Vadot    compatible:
19d5b0e70fSEmmanuel Vadot      contains:
20d5b0e70fSEmmanuel Vadot        const: arm,sp810
21d5b0e70fSEmmanuel Vadot  required:
22d5b0e70fSEmmanuel Vadot    - compatible
23d5b0e70fSEmmanuel Vadot
24d5b0e70fSEmmanuel Vadotproperties:
25d5b0e70fSEmmanuel Vadot  compatible:
26d5b0e70fSEmmanuel Vadot    items:
27d5b0e70fSEmmanuel Vadot      - const: arm,sp810
28d5b0e70fSEmmanuel Vadot      - const: arm,primecell
29d5b0e70fSEmmanuel Vadot
30d5b0e70fSEmmanuel Vadot  reg:
31d5b0e70fSEmmanuel Vadot    maxItems: 1
32d5b0e70fSEmmanuel Vadot
33d5b0e70fSEmmanuel Vadot  clock-names:
34d5b0e70fSEmmanuel Vadot    items:
35d5b0e70fSEmmanuel Vadot      - const: refclk
36d5b0e70fSEmmanuel Vadot      - const: timclk
37d5b0e70fSEmmanuel Vadot      - const: apb_pclk
38d5b0e70fSEmmanuel Vadot
39d5b0e70fSEmmanuel Vadot  clocks:
40d5b0e70fSEmmanuel Vadot    items:
41d5b0e70fSEmmanuel Vadot      - description: reference clock
42d5b0e70fSEmmanuel Vadot      - description: timer clock
43d5b0e70fSEmmanuel Vadot      - description: APB register access clock
44d5b0e70fSEmmanuel Vadot
45d5b0e70fSEmmanuel Vadot  "#clock-cells":
46d5b0e70fSEmmanuel Vadot    const: 1
47d5b0e70fSEmmanuel Vadot
48d5b0e70fSEmmanuel Vadot  clock-output-names:
49d5b0e70fSEmmanuel Vadot    maxItems: 4
50d5b0e70fSEmmanuel Vadot
51d5b0e70fSEmmanuel Vadot  assigned-clocks:
52d5b0e70fSEmmanuel Vadot    maxItems: 4
53d5b0e70fSEmmanuel Vadot
54d5b0e70fSEmmanuel Vadot  assigned-clock-parents:
55d5b0e70fSEmmanuel Vadot    maxItems: 4
56d5b0e70fSEmmanuel Vadot
57d5b0e70fSEmmanuel VadotadditionalProperties: false
58d5b0e70fSEmmanuel Vadot
59d5b0e70fSEmmanuel Vadotrequired:
60d5b0e70fSEmmanuel Vadot  - compatible
61d5b0e70fSEmmanuel Vadot  - reg
62d5b0e70fSEmmanuel Vadot  - clocks
63d5b0e70fSEmmanuel Vadot  - clock-names
64d5b0e70fSEmmanuel Vadot  - "#clock-cells"
65d5b0e70fSEmmanuel Vadot
66d5b0e70fSEmmanuel Vadotexamples:
67d5b0e70fSEmmanuel Vadot  - |
68d5b0e70fSEmmanuel Vadot    sysctl@20000 {
69d5b0e70fSEmmanuel Vadot        compatible = "arm,sp810", "arm,primecell";
70d5b0e70fSEmmanuel Vadot        reg = <0x020000 0x1000>;
71d5b0e70fSEmmanuel Vadot        clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>;
72d5b0e70fSEmmanuel Vadot        clock-names = "refclk", "timclk", "apb_pclk";
73d5b0e70fSEmmanuel Vadot        #clock-cells = <1>;
74d5b0e70fSEmmanuel Vadot        clock-output-names = "timerclken0", "timerclken1",
75d5b0e70fSEmmanuel Vadot                             "timerclken2", "timerclken3";
76d5b0e70fSEmmanuel Vadot        assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>,
77d5b0e70fSEmmanuel Vadot                          <&v2m_sysctl 3>, <&v2m_sysctl 3>;
78d5b0e70fSEmmanuel Vadot        assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>,
79d5b0e70fSEmmanuel Vadot                                 <&v2m_refclk1mhz>, <&v2m_refclk1mhz>;
80d5b0e70fSEmmanuel Vadot    };
81