Mention branches and keyring.
[releases.git] / bindings / soc / socionext / socionext,uniphier-soc-glue.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/soc/socionext/socionext,uniphier-soc-glue.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Socionext UniPhier SoC-glue logic
8
9 maintainers:
10   - Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
11
12 description: |+
13   SoC-glue logic implemented on Socionext UniPhier SoCs is a collection of
14   miscellaneous function registers handling signals outside system components.
15
16 properties:
17   compatible:
18     items:
19       - enum:
20           - socionext,uniphier-ld4-soc-glue
21           - socionext,uniphier-pro4-soc-glue
22           - socionext,uniphier-pro5-soc-glue
23           - socionext,uniphier-pxs2-soc-glue
24           - socionext,uniphier-sld8-soc-glue
25           - socionext,uniphier-ld11-soc-glue
26           - socionext,uniphier-ld20-soc-glue
27           - socionext,uniphier-pxs3-soc-glue
28           - socionext,uniphier-nx1-soc-glue
29       - const: simple-mfd
30       - const: syscon
31
32   reg:
33     maxItems: 1
34
35   pinctrl:
36     $ref: /schemas/pinctrl/socionext,uniphier-pinctrl.yaml#
37
38   usb-hub:
39     $ref: /schemas/phy/socionext,uniphier-usb2-phy.yaml#
40
41   clock-controller:
42     $ref: /schemas/clock/socionext,uniphier-clock.yaml#
43
44 allOf:
45   - if:
46       not:
47         properties:
48           compatible:
49             contains:
50               enum:
51                 - socionext,uniphier-pro4-soc-glue
52                 - socionext,uniphier-ld11-soc-glue
53     then:
54       properties:
55         usb-hub: false
56
57   - if:
58       not:
59         properties:
60           compatible:
61             contains:
62               const: socionext,uniphier-pro4-soc-glue
63     then:
64       properties:
65         clock-controller: false
66
67 required:
68   - compatible
69   - reg
70
71 additionalProperties: false
72
73 examples:
74   - |
75     syscon@5f800000 {
76         compatible = "socionext,uniphier-pro4-soc-glue",
77                      "simple-mfd", "syscon";
78         reg = <0x5f800000 0x2000>;
79
80         pinctrl {
81             compatible = "socionext,uniphier-pro4-pinctrl";
82         };
83
84         usb-hub {
85             compatible = "socionext,uniphier-pro4-usb2-phy";
86             #address-cells = <1>;
87             #size-cells = <0>;
88
89             phy@0 {
90                 reg = <0>;
91                 #phy-cells = <0>;
92             };
93
94             phy@1 {
95                 reg = <1>;
96                 #phy-cells = <0>;
97             };
98
99             phy@2 {
100                 reg = <2>;
101                 #phy-cells = <0>;
102             };
103
104             phy@3 {
105                 reg = <3>;
106                 #phy-cells = <0>;
107             };
108         };
109
110         clock-controller {
111             compatible = "socionext,uniphier-pro4-sg-clock";
112             #clock-cells = <1>;
113         };
114     };