blob: 0039319e91fe6e6aadc4300114626348e4dfb7ce [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/soc/starfive/starfive,jh7110-syscon.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: StarFive JH7110 SoC system controller
8
9maintainers:
10 - William Qiu <william.qiu@starfivetech.com>
11
12description:
13 The StarFive JH7110 SoC system controller provides register information such
14 as offset, mask and shift to configure related modules such as MMC and PCIe.
15
16properties:
17 compatible:
18 oneOf:
19 - items:
20 - const: starfive,jh7110-sys-syscon
21 - const: syscon
22 - const: simple-mfd
23 - items:
24 - enum:
25 - starfive,jh7110-aon-syscon
26 - starfive,jh7110-stg-syscon
27 - const: syscon
28
29 reg:
30 maxItems: 1
31
32 clock-controller:
33 $ref: /schemas/clock/starfive,jh7110-pll.yaml#
34 type: object
35
36 "#power-domain-cells":
37 const: 1
38
39required:
40 - compatible
41 - reg
42
43allOf:
44 - if:
45 properties:
46 compatible:
47 contains:
48 const: starfive,jh7110-sys-syscon
49 then:
50 required:
51 - clock-controller
52 else:
53 properties:
54 clock-controller: false
55 - if:
56 properties:
57 compatible:
58 contains:
59 const: starfive,jh7110-aon-syscon
60 then:
61 required:
62 - "#power-domain-cells"
63 else:
64 properties:
65 "#power-domain-cells": false
66
67additionalProperties: false
68
69examples:
70 - |
71 syscon@10240000 {
72 compatible = "starfive,jh7110-stg-syscon", "syscon";
73 reg = <0x10240000 0x1000>;
74 };
75
76 syscon@13030000 {
77 compatible = "starfive,jh7110-sys-syscon", "syscon", "simple-mfd";
78 reg = <0x13030000 0x1000>;
79
80 clock-controller {
81 compatible = "starfive,jh7110-pll";
82 clocks = <&osc>;
83 #clock-cells = <1>;
84 };
85 };
86
87 syscon@17010000 {
88 compatible = "starfive,jh7110-aon-syscon", "syscon";
89 reg = <0x17010000 0x1000>;
90 #power-domain-cells = <1>;
91 };
92
93...