0001 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/arm/vexpress-config.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: ARM Versatile Express configuration bus bindings
0008
0009 maintainers:
0010 - Andre Przywara <andre.przywara@arm.com>
0011
0012 description:
0013 This is a system control register block, acting as a bridge to the
0014 platform's configuration bus via "system control" interface, addressing
0015 devices with site number, position in the board stack, config controller,
0016 function and device numbers - see motherboard's TRM for more details.
0017
0018 properties:
0019 compatible:
0020 const: arm,vexpress,config-bus
0021
0022 arm,vexpress,config-bridge:
0023 $ref: /schemas/types.yaml#/definitions/phandle
0024 description:
0025 Phandle to the sysreg node.
0026
0027 muxfpga:
0028 type: object
0029 properties:
0030 compatible:
0031 const: arm,vexpress-muxfpga
0032
0033 arm,vexpress-sysreg,func:
0034 description: FPGA specifier
0035 $ref: /schemas/types.yaml#/definitions/uint32-array
0036 items:
0037 - const: 7
0038 - description: device number
0039
0040 additionalProperties: false
0041 required:
0042 - compatible
0043 - arm,vexpress-sysreg,func
0044
0045 shutdown:
0046 type: object
0047 properties:
0048 compatible:
0049 const: arm,vexpress-shutdown
0050
0051 arm,vexpress-sysreg,func:
0052 description: shutdown identifier
0053 $ref: /schemas/types.yaml#/definitions/uint32-array
0054 items:
0055 - const: 8
0056 - description: device number
0057
0058 additionalProperties: false
0059 required:
0060 - compatible
0061 - arm,vexpress-sysreg,func
0062
0063 reboot:
0064 type: object
0065 properties:
0066 compatible:
0067 const: arm,vexpress-reboot
0068
0069 arm,vexpress-sysreg,func:
0070 description: reboot identifier
0071 $ref: /schemas/types.yaml#/definitions/uint32-array
0072 items:
0073 - const: 9
0074 - description: device number
0075
0076 additionalProperties: false
0077 required:
0078 - compatible
0079 - arm,vexpress-sysreg,func
0080
0081 dvimode:
0082 type: object
0083 properties:
0084 compatible:
0085 const: arm,vexpress-dvimode
0086
0087 arm,vexpress-sysreg,func:
0088 description: DVI mode identifier
0089 $ref: /schemas/types.yaml#/definitions/uint32-array
0090 items:
0091 - const: 11
0092 - description: device number
0093
0094 additionalProperties: false
0095 required:
0096 - compatible
0097 - arm,vexpress-sysreg,func
0098
0099 additionalProperties: false
0100
0101 required:
0102 - compatible
0103 - arm,vexpress,config-bridge
0104
0105 patternProperties:
0106 'clk[0-9]*$':
0107 type: object
0108 description:
0109 clocks
0110
0111 properties:
0112 compatible:
0113 const: arm,vexpress-osc
0114
0115 arm,vexpress-sysreg,func:
0116 description: clock specifier
0117 $ref: /schemas/types.yaml#/definitions/uint32-array
0118 items:
0119 - const: 1
0120 - description: clock number
0121
0122 freq-range:
0123 $ref: /schemas/types.yaml#/definitions/uint32-array
0124 items:
0125 - description: minimal clock frequency
0126 - description: maximum clock frequency
0127
0128 "#clock-cells":
0129 const: 0
0130
0131 clock-output-names:
0132 maxItems: 1
0133
0134 additionalProperties: false
0135 required:
0136 - compatible
0137 - arm,vexpress-sysreg,func
0138 - "#clock-cells"
0139
0140 "^volt-.+$":
0141 $ref: /schemas/regulator/regulator.yaml#
0142 properties:
0143 compatible:
0144 const: arm,vexpress-volt
0145
0146 arm,vexpress-sysreg,func:
0147 description: regulator specifier
0148 $ref: /schemas/types.yaml#/definitions/uint32-array
0149 items:
0150 - const: 2
0151 - description: device number
0152
0153 label:
0154 maxItems: 1
0155
0156 unevaluatedProperties: false
0157 required:
0158 - compatible
0159 - arm,vexpress-sysreg,func
0160
0161 "^amp-.+$":
0162 type: object
0163 properties:
0164 compatible:
0165 const: arm,vexpress-amp
0166
0167 arm,vexpress-sysreg,func:
0168 description: current sensor identifier
0169 $ref: /schemas/types.yaml#/definitions/uint32-array
0170 items:
0171 - const: 3
0172 - description: device number
0173
0174 label:
0175 maxItems: 1
0176
0177 additionalProperties: false
0178 required:
0179 - compatible
0180 - arm,vexpress-sysreg,func
0181
0182 "^temp-.+$":
0183 type: object
0184 properties:
0185 compatible:
0186 const: arm,vexpress-temp
0187
0188 arm,vexpress-sysreg,func:
0189 description: temperature sensor identifier
0190 $ref: /schemas/types.yaml#/definitions/uint32-array
0191 items:
0192 - const: 4
0193 - description: device number
0194
0195 label:
0196 maxItems: 1
0197
0198 additionalProperties: false
0199 required:
0200 - compatible
0201 - arm,vexpress-sysreg,func
0202
0203 "^reset[0-9]*$":
0204 type: object
0205 properties:
0206 compatible:
0207 const: arm,vexpress-reset
0208
0209 arm,vexpress-sysreg,func:
0210 description: reset specifier
0211 $ref: /schemas/types.yaml#/definitions/uint32-array
0212 items:
0213 - const: 5
0214 - description: reset device number
0215
0216 additionalProperties: false
0217 required:
0218 - compatible
0219 - arm,vexpress-sysreg,func
0220
0221 "^power-.+$":
0222 type: object
0223 properties:
0224 compatible:
0225 const: arm,vexpress-power
0226
0227 arm,vexpress-sysreg,func:
0228 description: power sensor identifier
0229 $ref: /schemas/types.yaml#/definitions/uint32-array
0230 items:
0231 - const: 12
0232 - description: device number
0233
0234 label:
0235 maxItems: 1
0236
0237 additionalProperties: false
0238 required:
0239 - compatible
0240 - arm,vexpress-sysreg,func
0241
0242 "^energy(-.+)?$":
0243 type: object
0244 properties:
0245 compatible:
0246 const: arm,vexpress-energy
0247
0248 arm,vexpress-sysreg,func:
0249 description: energy sensor identifier
0250 $ref: /schemas/types.yaml#/definitions/uint32-array
0251 oneOf:
0252 - items:
0253 - const: 13
0254 - description: device number
0255 - items:
0256 - const: 13
0257 - description: device number
0258 - const: 13
0259 - description: second device number
0260
0261 label:
0262 maxItems: 1
0263
0264 additionalProperties: false
0265 required:
0266 - compatible
0267 - arm,vexpress-sysreg,func
0268
0269 examples:
0270 - |
0271 mcc {
0272 compatible = "arm,vexpress,config-bus";
0273 arm,vexpress,config-bridge = <&v2m_sysreg>;
0274
0275 clk0 {
0276 compatible = "arm,vexpress-osc";
0277 arm,vexpress-sysreg,func = <1 0>;
0278 #clock-cells = <0>;
0279 };
0280
0281 energy {
0282 compatible = "arm,vexpress-energy";
0283 arm,vexpress-sysreg,func = <13 0>, <13 1>;
0284 };
0285 };