1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2d5b0e70fSEmmanuel Vadot%YAML 1.2 3d5b0e70fSEmmanuel Vadot--- 4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/arm/vexpress-config.yaml# 5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6d5b0e70fSEmmanuel Vadot 7*8bab661aSEmmanuel Vadottitle: ARM Versatile Express configuration bus 8d5b0e70fSEmmanuel Vadot 9d5b0e70fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - Andre Przywara <andre.przywara@arm.com> 11d5b0e70fSEmmanuel Vadot 12d5b0e70fSEmmanuel Vadotdescription: 13d5b0e70fSEmmanuel Vadot This is a system control register block, acting as a bridge to the 14d5b0e70fSEmmanuel Vadot platform's configuration bus via "system control" interface, addressing 15d5b0e70fSEmmanuel Vadot devices with site number, position in the board stack, config controller, 16d5b0e70fSEmmanuel Vadot function and device numbers - see motherboard's TRM for more details. 17d5b0e70fSEmmanuel Vadot 18d5b0e70fSEmmanuel Vadotproperties: 19d5b0e70fSEmmanuel Vadot compatible: 20d5b0e70fSEmmanuel Vadot const: arm,vexpress,config-bus 21d5b0e70fSEmmanuel Vadot 22d5b0e70fSEmmanuel Vadot arm,vexpress,config-bridge: 23d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 24d5b0e70fSEmmanuel Vadot description: 25d5b0e70fSEmmanuel Vadot Phandle to the sysreg node. 26d5b0e70fSEmmanuel Vadot 27d5b0e70fSEmmanuel Vadot muxfpga: 28d5b0e70fSEmmanuel Vadot type: object 29d5b0e70fSEmmanuel Vadot properties: 30d5b0e70fSEmmanuel Vadot compatible: 31d5b0e70fSEmmanuel Vadot const: arm,vexpress-muxfpga 32d5b0e70fSEmmanuel Vadot 33d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 34d5b0e70fSEmmanuel Vadot description: FPGA specifier 35d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 36d5b0e70fSEmmanuel Vadot items: 37d5b0e70fSEmmanuel Vadot - const: 7 38d5b0e70fSEmmanuel Vadot - description: device number 39d5b0e70fSEmmanuel Vadot 40d5b0e70fSEmmanuel Vadot additionalProperties: false 41d5b0e70fSEmmanuel Vadot required: 42d5b0e70fSEmmanuel Vadot - compatible 43d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 44d5b0e70fSEmmanuel Vadot 45d5b0e70fSEmmanuel Vadot shutdown: 46d5b0e70fSEmmanuel Vadot type: object 47d5b0e70fSEmmanuel Vadot properties: 48d5b0e70fSEmmanuel Vadot compatible: 49d5b0e70fSEmmanuel Vadot const: arm,vexpress-shutdown 50d5b0e70fSEmmanuel Vadot 51d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 52d5b0e70fSEmmanuel Vadot description: shutdown identifier 53d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 54d5b0e70fSEmmanuel Vadot items: 55d5b0e70fSEmmanuel Vadot - const: 8 56d5b0e70fSEmmanuel Vadot - description: device number 57d5b0e70fSEmmanuel Vadot 58d5b0e70fSEmmanuel Vadot additionalProperties: false 59d5b0e70fSEmmanuel Vadot required: 60d5b0e70fSEmmanuel Vadot - compatible 61d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 62d5b0e70fSEmmanuel Vadot 63d5b0e70fSEmmanuel Vadot reboot: 64d5b0e70fSEmmanuel Vadot type: object 65d5b0e70fSEmmanuel Vadot properties: 66d5b0e70fSEmmanuel Vadot compatible: 67d5b0e70fSEmmanuel Vadot const: arm,vexpress-reboot 68d5b0e70fSEmmanuel Vadot 69d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 70d5b0e70fSEmmanuel Vadot description: reboot identifier 71d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 72d5b0e70fSEmmanuel Vadot items: 73d5b0e70fSEmmanuel Vadot - const: 9 74d5b0e70fSEmmanuel Vadot - description: device number 75d5b0e70fSEmmanuel Vadot 76d5b0e70fSEmmanuel Vadot additionalProperties: false 77d5b0e70fSEmmanuel Vadot required: 78d5b0e70fSEmmanuel Vadot - compatible 79d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 80d5b0e70fSEmmanuel Vadot 81d5b0e70fSEmmanuel Vadot dvimode: 82d5b0e70fSEmmanuel Vadot type: object 83d5b0e70fSEmmanuel Vadot properties: 84d5b0e70fSEmmanuel Vadot compatible: 85d5b0e70fSEmmanuel Vadot const: arm,vexpress-dvimode 86d5b0e70fSEmmanuel Vadot 87d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 88d5b0e70fSEmmanuel Vadot description: DVI mode identifier 89d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 90d5b0e70fSEmmanuel Vadot items: 91d5b0e70fSEmmanuel Vadot - const: 11 92d5b0e70fSEmmanuel Vadot - description: device number 93d5b0e70fSEmmanuel Vadot 94d5b0e70fSEmmanuel Vadot additionalProperties: false 95d5b0e70fSEmmanuel Vadot required: 96d5b0e70fSEmmanuel Vadot - compatible 97d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 98d5b0e70fSEmmanuel Vadot 99d5b0e70fSEmmanuel VadotadditionalProperties: false 100d5b0e70fSEmmanuel Vadot 101d5b0e70fSEmmanuel Vadotrequired: 102d5b0e70fSEmmanuel Vadot - compatible 103d5b0e70fSEmmanuel Vadot - arm,vexpress,config-bridge 104d5b0e70fSEmmanuel Vadot 105d5b0e70fSEmmanuel VadotpatternProperties: 106d5b0e70fSEmmanuel Vadot 'clk[0-9]*$': 107d5b0e70fSEmmanuel Vadot type: object 108d5b0e70fSEmmanuel Vadot description: 109d5b0e70fSEmmanuel Vadot clocks 110d5b0e70fSEmmanuel Vadot 111d5b0e70fSEmmanuel Vadot properties: 112d5b0e70fSEmmanuel Vadot compatible: 113d5b0e70fSEmmanuel Vadot const: arm,vexpress-osc 114d5b0e70fSEmmanuel Vadot 115d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 116d5b0e70fSEmmanuel Vadot description: clock specifier 117d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 118d5b0e70fSEmmanuel Vadot items: 119d5b0e70fSEmmanuel Vadot - const: 1 120d5b0e70fSEmmanuel Vadot - description: clock number 121d5b0e70fSEmmanuel Vadot 122d5b0e70fSEmmanuel Vadot freq-range: 123d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 124d5b0e70fSEmmanuel Vadot items: 125d5b0e70fSEmmanuel Vadot - description: minimal clock frequency 126d5b0e70fSEmmanuel Vadot - description: maximum clock frequency 127d5b0e70fSEmmanuel Vadot 128d5b0e70fSEmmanuel Vadot "#clock-cells": 129d5b0e70fSEmmanuel Vadot const: 0 130d5b0e70fSEmmanuel Vadot 131d5b0e70fSEmmanuel Vadot clock-output-names: 132d5b0e70fSEmmanuel Vadot maxItems: 1 133d5b0e70fSEmmanuel Vadot 134d5b0e70fSEmmanuel Vadot additionalProperties: false 135d5b0e70fSEmmanuel Vadot required: 136d5b0e70fSEmmanuel Vadot - compatible 137d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 138d5b0e70fSEmmanuel Vadot - "#clock-cells" 139d5b0e70fSEmmanuel Vadot 140d5b0e70fSEmmanuel Vadot "^volt-.+$": 141d5b0e70fSEmmanuel Vadot $ref: /schemas/regulator/regulator.yaml# 142d5b0e70fSEmmanuel Vadot properties: 143d5b0e70fSEmmanuel Vadot compatible: 144d5b0e70fSEmmanuel Vadot const: arm,vexpress-volt 145d5b0e70fSEmmanuel Vadot 146d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 147d5b0e70fSEmmanuel Vadot description: regulator specifier 148d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 149d5b0e70fSEmmanuel Vadot items: 150d5b0e70fSEmmanuel Vadot - const: 2 151d5b0e70fSEmmanuel Vadot - description: device number 152d5b0e70fSEmmanuel Vadot 153d5b0e70fSEmmanuel Vadot label: 154d5b0e70fSEmmanuel Vadot maxItems: 1 155d5b0e70fSEmmanuel Vadot 156d5b0e70fSEmmanuel Vadot unevaluatedProperties: false 157d5b0e70fSEmmanuel Vadot required: 158d5b0e70fSEmmanuel Vadot - compatible 159d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 160d5b0e70fSEmmanuel Vadot 161d5b0e70fSEmmanuel Vadot "^amp-.+$": 162d5b0e70fSEmmanuel Vadot type: object 163d5b0e70fSEmmanuel Vadot properties: 164d5b0e70fSEmmanuel Vadot compatible: 165d5b0e70fSEmmanuel Vadot const: arm,vexpress-amp 166d5b0e70fSEmmanuel Vadot 167d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 168d5b0e70fSEmmanuel Vadot description: current sensor identifier 169d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 170d5b0e70fSEmmanuel Vadot items: 171d5b0e70fSEmmanuel Vadot - const: 3 172d5b0e70fSEmmanuel Vadot - description: device number 173d5b0e70fSEmmanuel Vadot 174d5b0e70fSEmmanuel Vadot label: 175d5b0e70fSEmmanuel Vadot maxItems: 1 176d5b0e70fSEmmanuel Vadot 177d5b0e70fSEmmanuel Vadot additionalProperties: false 178d5b0e70fSEmmanuel Vadot required: 179d5b0e70fSEmmanuel Vadot - compatible 180d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 181d5b0e70fSEmmanuel Vadot 182d5b0e70fSEmmanuel Vadot "^temp-.+$": 183d5b0e70fSEmmanuel Vadot type: object 184d5b0e70fSEmmanuel Vadot properties: 185d5b0e70fSEmmanuel Vadot compatible: 186d5b0e70fSEmmanuel Vadot const: arm,vexpress-temp 187d5b0e70fSEmmanuel Vadot 188d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 189d5b0e70fSEmmanuel Vadot description: temperature sensor identifier 190d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 191d5b0e70fSEmmanuel Vadot items: 192d5b0e70fSEmmanuel Vadot - const: 4 193d5b0e70fSEmmanuel Vadot - description: device number 194d5b0e70fSEmmanuel Vadot 195d5b0e70fSEmmanuel Vadot label: 196d5b0e70fSEmmanuel Vadot maxItems: 1 197d5b0e70fSEmmanuel Vadot 198d5b0e70fSEmmanuel Vadot additionalProperties: false 199d5b0e70fSEmmanuel Vadot required: 200d5b0e70fSEmmanuel Vadot - compatible 201d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 202d5b0e70fSEmmanuel Vadot 203d5b0e70fSEmmanuel Vadot "^reset[0-9]*$": 204d5b0e70fSEmmanuel Vadot type: object 205d5b0e70fSEmmanuel Vadot properties: 206d5b0e70fSEmmanuel Vadot compatible: 207d5b0e70fSEmmanuel Vadot const: arm,vexpress-reset 208d5b0e70fSEmmanuel Vadot 209d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 210d5b0e70fSEmmanuel Vadot description: reset specifier 211d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 212d5b0e70fSEmmanuel Vadot items: 213d5b0e70fSEmmanuel Vadot - const: 5 214d5b0e70fSEmmanuel Vadot - description: reset device number 215d5b0e70fSEmmanuel Vadot 216d5b0e70fSEmmanuel Vadot additionalProperties: false 217d5b0e70fSEmmanuel Vadot required: 218d5b0e70fSEmmanuel Vadot - compatible 219d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 220d5b0e70fSEmmanuel Vadot 221d5b0e70fSEmmanuel Vadot "^power-.+$": 222d5b0e70fSEmmanuel Vadot type: object 223d5b0e70fSEmmanuel Vadot properties: 224d5b0e70fSEmmanuel Vadot compatible: 225d5b0e70fSEmmanuel Vadot const: arm,vexpress-power 226d5b0e70fSEmmanuel Vadot 227d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 228d5b0e70fSEmmanuel Vadot description: power sensor identifier 229d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 230d5b0e70fSEmmanuel Vadot items: 231d5b0e70fSEmmanuel Vadot - const: 12 232d5b0e70fSEmmanuel Vadot - description: device number 233d5b0e70fSEmmanuel Vadot 234d5b0e70fSEmmanuel Vadot label: 235d5b0e70fSEmmanuel Vadot maxItems: 1 236d5b0e70fSEmmanuel Vadot 237d5b0e70fSEmmanuel Vadot additionalProperties: false 238d5b0e70fSEmmanuel Vadot required: 239d5b0e70fSEmmanuel Vadot - compatible 240d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 241d5b0e70fSEmmanuel Vadot 242d5b0e70fSEmmanuel Vadot "^energy(-.+)?$": 243d5b0e70fSEmmanuel Vadot type: object 244d5b0e70fSEmmanuel Vadot properties: 245d5b0e70fSEmmanuel Vadot compatible: 246d5b0e70fSEmmanuel Vadot const: arm,vexpress-energy 247d5b0e70fSEmmanuel Vadot 248d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func: 249d5b0e70fSEmmanuel Vadot description: energy sensor identifier 250d5b0e70fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 251d5b0e70fSEmmanuel Vadot oneOf: 252d5b0e70fSEmmanuel Vadot - items: 253d5b0e70fSEmmanuel Vadot - const: 13 254d5b0e70fSEmmanuel Vadot - description: device number 255d5b0e70fSEmmanuel Vadot - items: 256d5b0e70fSEmmanuel Vadot - const: 13 257d5b0e70fSEmmanuel Vadot - description: device number 258d5b0e70fSEmmanuel Vadot - const: 13 259d5b0e70fSEmmanuel Vadot - description: second device number 260d5b0e70fSEmmanuel Vadot 261d5b0e70fSEmmanuel Vadot label: 262d5b0e70fSEmmanuel Vadot maxItems: 1 263d5b0e70fSEmmanuel Vadot 264d5b0e70fSEmmanuel Vadot additionalProperties: false 265d5b0e70fSEmmanuel Vadot required: 266d5b0e70fSEmmanuel Vadot - compatible 267d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,func 268d5b0e70fSEmmanuel Vadot 269d5b0e70fSEmmanuel Vadotexamples: 270d5b0e70fSEmmanuel Vadot - | 271d5b0e70fSEmmanuel Vadot mcc { 272d5b0e70fSEmmanuel Vadot compatible = "arm,vexpress,config-bus"; 273d5b0e70fSEmmanuel Vadot arm,vexpress,config-bridge = <&v2m_sysreg>; 274d5b0e70fSEmmanuel Vadot 275d5b0e70fSEmmanuel Vadot clk0 { 276d5b0e70fSEmmanuel Vadot compatible = "arm,vexpress-osc"; 277d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func = <1 0>; 278d5b0e70fSEmmanuel Vadot #clock-cells = <0>; 279d5b0e70fSEmmanuel Vadot }; 280d5b0e70fSEmmanuel Vadot 281d5b0e70fSEmmanuel Vadot energy { 282d5b0e70fSEmmanuel Vadot compatible = "arm,vexpress-energy"; 283d5b0e70fSEmmanuel Vadot arm,vexpress-sysreg,func = <13 0>, <13 1>; 284d5b0e70fSEmmanuel Vadot }; 285d5b0e70fSEmmanuel Vadot }; 286