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-sysreg.yaml# 5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6d5b0e70fSEmmanuel Vadot 7*8bab661aSEmmanuel Vadottitle: ARM Versatile Express system registers 8d5b0e70fSEmmanuel Vadot 9d5b0e70fSEmmanuel Vadotmaintainers: 10d5b0e70fSEmmanuel Vadot - Andre Przywara <andre.przywara@arm.com> 11d5b0e70fSEmmanuel Vadot 12d5b0e70fSEmmanuel Vadotdescription: 13d5b0e70fSEmmanuel Vadot This is a system control registers block, providing multiple low level 14d5b0e70fSEmmanuel Vadot platform functions like board detection and identification, software 15d5b0e70fSEmmanuel Vadot interrupt generation, MMC and NOR Flash control, etc. 16d5b0e70fSEmmanuel Vadot 17d5b0e70fSEmmanuel Vadotproperties: 18d5b0e70fSEmmanuel Vadot compatible: 19d5b0e70fSEmmanuel Vadot const: arm,vexpress-sysreg 20d5b0e70fSEmmanuel Vadot 21d5b0e70fSEmmanuel Vadot reg: 22d5b0e70fSEmmanuel Vadot maxItems: 1 23d5b0e70fSEmmanuel Vadot 24d5b0e70fSEmmanuel Vadot "#address-cells": 25d5b0e70fSEmmanuel Vadot const: 1 26d5b0e70fSEmmanuel Vadot 27d5b0e70fSEmmanuel Vadot "#size-cells": 28d5b0e70fSEmmanuel Vadot const: 1 29d5b0e70fSEmmanuel Vadot 30d5b0e70fSEmmanuel Vadot ranges: true 31d5b0e70fSEmmanuel Vadot 32b97ee269SEmmanuel Vadot gpio-controller: 33b97ee269SEmmanuel Vadot deprecated: true 34b97ee269SEmmanuel Vadot 35b97ee269SEmmanuel Vadot "#gpio-cells": 36b97ee269SEmmanuel Vadot deprecated: true 37b97ee269SEmmanuel Vadot const: 2 38b97ee269SEmmanuel Vadot 39d5b0e70fSEmmanuel VadotadditionalProperties: false 40d5b0e70fSEmmanuel Vadot 41d5b0e70fSEmmanuel VadotpatternProperties: 42d5b0e70fSEmmanuel Vadot '^gpio@[0-9a-f]+$': 43d5b0e70fSEmmanuel Vadot type: object 44d5b0e70fSEmmanuel Vadot additionalProperties: false 45d5b0e70fSEmmanuel Vadot description: 46d5b0e70fSEmmanuel Vadot GPIO children 47d5b0e70fSEmmanuel Vadot 48d5b0e70fSEmmanuel Vadot properties: 49d5b0e70fSEmmanuel Vadot compatible: 50d5b0e70fSEmmanuel Vadot enum: 51d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,sys_led 52d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,sys_mci 53d5b0e70fSEmmanuel Vadot - arm,vexpress-sysreg,sys_flash 54d5b0e70fSEmmanuel Vadot 55d5b0e70fSEmmanuel Vadot gpio-controller: true 56d5b0e70fSEmmanuel Vadot 57d5b0e70fSEmmanuel Vadot "#gpio-cells": 58d5b0e70fSEmmanuel Vadot const: 2 59d5b0e70fSEmmanuel Vadot description: | 60d5b0e70fSEmmanuel Vadot The first cell is the function number: 61d5b0e70fSEmmanuel Vadot for sys_led : 0..7 = LED 0..7 62d5b0e70fSEmmanuel Vadot for sys_mci : 0 = MMC CARDIN, 1 = MMC WPROT 63d5b0e70fSEmmanuel Vadot for sys_flash : 0 = NOR FLASH WPn 64d5b0e70fSEmmanuel Vadot The second cell can take standard GPIO flags. 65d5b0e70fSEmmanuel Vadot 66d5b0e70fSEmmanuel Vadot reg: 67d5b0e70fSEmmanuel Vadot maxItems: 1 68d5b0e70fSEmmanuel Vadot 69d5b0e70fSEmmanuel Vadot required: 70d5b0e70fSEmmanuel Vadot - compatible 71d5b0e70fSEmmanuel Vadot - reg 72d5b0e70fSEmmanuel Vadot - gpio-controller 73d5b0e70fSEmmanuel Vadot - "#gpio-cells" 74d5b0e70fSEmmanuel Vadot 75d5b0e70fSEmmanuel Vadotrequired: 76d5b0e70fSEmmanuel Vadot - compatible 77b97ee269SEmmanuel Vadot - reg 78d5b0e70fSEmmanuel Vadot 79d5b0e70fSEmmanuel Vadotexamples: 80d5b0e70fSEmmanuel Vadot - | 81d5b0e70fSEmmanuel Vadot sysreg@0 { 82d5b0e70fSEmmanuel Vadot compatible = "arm,vexpress-sysreg"; 83d5b0e70fSEmmanuel Vadot reg = <0x00000 0x1000>; 84d5b0e70fSEmmanuel Vadot #address-cells = <1>; 85d5b0e70fSEmmanuel Vadot #size-cells = <1>; 86d5b0e70fSEmmanuel Vadot ranges = <0 0 0x1000>; 87d5b0e70fSEmmanuel Vadot 88d5b0e70fSEmmanuel Vadot v2m_led_gpios: gpio@8 { 89d5b0e70fSEmmanuel Vadot compatible = "arm,vexpress-sysreg,sys_led"; 90d5b0e70fSEmmanuel Vadot reg = <0x008 4>; 91d5b0e70fSEmmanuel Vadot gpio-controller; 92d5b0e70fSEmmanuel Vadot #gpio-cells = <2>; 93d5b0e70fSEmmanuel Vadot }; 94d5b0e70fSEmmanuel Vadot }; 95d5b0e70fSEmmanuel Vadot 96d5b0e70fSEmmanuel Vadot... 97