# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/mfd/syscon.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: System Controller Registers R/W Device Tree Bindings description: | System controller node represents a register region containing a set of miscellaneous registers. The registers are not cohesive enough to represent as any specific type of device. The typical use-case is for some other node's driver, or platform-specific code, to acquire a reference to the syscon node (e.g. by phandle, node path, or search using a specific compatible value), interrogate the node (or associated OS driver) to determine the location of the registers, and access the registers directly. maintainers: - Lee Jones select: properties: compatible: contains: enum: - syscon required: - compatible properties: compatible: anyOf: - items: - enum: - allwinner,sun8i-a83t-system-controller - allwinner,sun8i-h3-system-controller - allwinner,sun8i-v3s-system-controller - allwinner,sun50i-a64-system-controller - microchip,sparx5-cpu-syscon - mstar,msc313-pmsleep - const: syscon - contains: const: syscon minItems: 2 maxItems: 4 # Should be enough reg: maxItems: 1 reg-io-width: description: | The size (in bytes) of the IO accesses that should be performed on the device. $ref: /schemas/types.yaml#/definitions/uint32 enum: [1, 2, 4, 8] hwlocks: maxItems: 1 description: Reference to a phandle of a hardware spinlock provider node. required: - compatible - reg unevaluatedProperties: false examples: - | syscon: syscon@1c00000 { compatible = "allwinner,sun8i-h3-system-controller", "syscon"; reg = <0x01c00000 0x1000>; }; - | gpr: iomuxc-gpr@20e0000 { compatible = "fsl,imx6q-iomuxc-gpr", "syscon"; reg = <0x020e0000 0x38>; hwlocks = <&hwlock1 1>; }; ...