1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/mfd/syscon.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: System Controller Registers R/W Device Tree Bindings 8*4882a593Smuzhiyun 9*4882a593Smuzhiyundescription: | 10*4882a593Smuzhiyun System controller node represents a register region containing a set 11*4882a593Smuzhiyun of miscellaneous registers. The registers are not cohesive enough to 12*4882a593Smuzhiyun represent as any specific type of device. The typical use-case is 13*4882a593Smuzhiyun for some other node's driver, or platform-specific code, to acquire 14*4882a593Smuzhiyun a reference to the syscon node (e.g. by phandle, node path, or 15*4882a593Smuzhiyun search using a specific compatible value), interrogate the node (or 16*4882a593Smuzhiyun associated OS driver) to determine the location of the registers, 17*4882a593Smuzhiyun and access the registers directly. 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunmaintainers: 20*4882a593Smuzhiyun - Lee Jones <lee.jones@linaro.org> 21*4882a593Smuzhiyun 22*4882a593Smuzhiyunselect: 23*4882a593Smuzhiyun properties: 24*4882a593Smuzhiyun compatible: 25*4882a593Smuzhiyun contains: 26*4882a593Smuzhiyun enum: 27*4882a593Smuzhiyun - syscon 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun required: 30*4882a593Smuzhiyun - compatible 31*4882a593Smuzhiyun 32*4882a593Smuzhiyunproperties: 33*4882a593Smuzhiyun compatible: 34*4882a593Smuzhiyun anyOf: 35*4882a593Smuzhiyun - items: 36*4882a593Smuzhiyun - enum: 37*4882a593Smuzhiyun - allwinner,sun8i-a83t-system-controller 38*4882a593Smuzhiyun - allwinner,sun8i-h3-system-controller 39*4882a593Smuzhiyun - allwinner,sun8i-v3s-system-controller 40*4882a593Smuzhiyun - allwinner,sun50i-a64-system-controller 41*4882a593Smuzhiyun - hisilicon,dsa-subctrl 42*4882a593Smuzhiyun - hisilicon,hi6220-sramctrl 43*4882a593Smuzhiyun - hisilicon,pcie-sas-subctrl 44*4882a593Smuzhiyun - hisilicon,peri-subctrl 45*4882a593Smuzhiyun - microchip,sparx5-cpu-syscon 46*4882a593Smuzhiyun - mstar,msc313-pmsleep 47*4882a593Smuzhiyun - samsung,exynos3-sysreg 48*4882a593Smuzhiyun - samsung,exynos4-sysreg 49*4882a593Smuzhiyun - samsung,exynos5-sysreg 50*4882a593Smuzhiyun - samsung,exynos5433-sysreg 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun - const: syscon 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun - contains: 55*4882a593Smuzhiyun const: syscon 56*4882a593Smuzhiyun minItems: 2 57*4882a593Smuzhiyun maxItems: 4 # Should be enough 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun reg: 60*4882a593Smuzhiyun maxItems: 1 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun reg-io-width: 63*4882a593Smuzhiyun description: | 64*4882a593Smuzhiyun The size (in bytes) of the IO accesses that should be performed 65*4882a593Smuzhiyun on the device. 66*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/uint32 67*4882a593Smuzhiyun enum: [1, 2, 4, 8] 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun hwlocks: 70*4882a593Smuzhiyun maxItems: 1 71*4882a593Smuzhiyun description: 72*4882a593Smuzhiyun Reference to a phandle of a hardware spinlock provider node. 73*4882a593Smuzhiyun 74*4882a593Smuzhiyunrequired: 75*4882a593Smuzhiyun - compatible 76*4882a593Smuzhiyun - reg 77*4882a593Smuzhiyun 78*4882a593SmuzhiyunadditionalProperties: true 79*4882a593Smuzhiyun 80*4882a593Smuzhiyunexamples: 81*4882a593Smuzhiyun - | 82*4882a593Smuzhiyun syscon: syscon@1c00000 { 83*4882a593Smuzhiyun compatible = "allwinner,sun8i-h3-system-controller", "syscon"; 84*4882a593Smuzhiyun reg = <0x01c00000 0x1000>; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun - | 88*4882a593Smuzhiyun gpr: iomuxc-gpr@20e0000 { 89*4882a593Smuzhiyun compatible = "fsl,imx6q-iomuxc-gpr", "syscon"; 90*4882a593Smuzhiyun reg = <0x020e0000 0x38>; 91*4882a593Smuzhiyun hwlocks = <&hwlock1 1>; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun... 95