0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/arm/sp810.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: ARM Versatile Express SP810 System Controller bindings
0008
0009 maintainers:
0010 - Andre Przywara <andre.przywara@arm.com>
0011
0012 description:
0013 The Arm SP810 system controller provides clocks, timers and a watchdog.
0014
0015 # We need a select here so we don't match all nodes with 'arm,primecell'
0016 select:
0017 properties:
0018 compatible:
0019 contains:
0020 const: arm,sp810
0021 required:
0022 - compatible
0023
0024 properties:
0025 compatible:
0026 items:
0027 - const: arm,sp810
0028 - const: arm,primecell
0029
0030 reg:
0031 maxItems: 1
0032
0033 clock-names:
0034 items:
0035 - const: refclk
0036 - const: timclk
0037 - const: apb_pclk
0038
0039 clocks:
0040 items:
0041 - description: reference clock
0042 - description: timer clock
0043 - description: APB register access clock
0044
0045 "#clock-cells":
0046 const: 1
0047
0048 clock-output-names:
0049 maxItems: 4
0050
0051 assigned-clocks:
0052 maxItems: 4
0053
0054 assigned-clock-parents:
0055 maxItems: 4
0056
0057 additionalProperties: false
0058
0059 required:
0060 - compatible
0061 - reg
0062 - clocks
0063 - clock-names
0064 - "#clock-cells"
0065
0066 examples:
0067 - |
0068 sysctl@20000 {
0069 compatible = "arm,sp810", "arm,primecell";
0070 reg = <0x020000 0x1000>;
0071 clocks = <&v2m_refclk32khz>, <&v2m_refclk1mhz>, <&smbclk>;
0072 clock-names = "refclk", "timclk", "apb_pclk";
0073 #clock-cells = <1>;
0074 clock-output-names = "timerclken0", "timerclken1",
0075 "timerclken2", "timerclken3";
0076 assigned-clocks = <&v2m_sysctl 0>, <&v2m_sysctl 1>,
0077 <&v2m_sysctl 3>, <&v2m_sysctl 3>;
0078 assigned-clock-parents = <&v2m_refclk1mhz>, <&v2m_refclk1mhz>,
0079 <&v2m_refclk1mhz>, <&v2m_refclk1mhz>;
0080 };