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