| # 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 <lee.jones@linaro.org> |
| |
| 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 |
| - brcm,cru-clkset |
| - freecom,fsg-cs2-system-controller |
| - hisilicon,dsa-subctrl |
| - hisilicon,hi6220-sramctrl |
| - hisilicon,pcie-sas-subctrl |
| - hisilicon,peri-subctrl |
| - microchip,sparx5-cpu-syscon |
| - mstar,msc313-pmsleep |
| - rockchip,px30-qos |
| - rockchip,rk3036-qos |
| - rockchip,rk3066-qos |
| - rockchip,rk3228-qos |
| - rockchip,rk3288-qos |
| - rockchip,rk3368-qos |
| - rockchip,rk3399-qos |
| - rockchip,rk3568-qos |
| - samsung,exynos3-sysreg |
| - samsung,exynos4-sysreg |
| - samsung,exynos5-sysreg |
| - samsung,exynos5433-sysreg |
| - samsung,exynos850-sysreg |
| - samsung,exynosautov9-sysreg |
| |
| - 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 |
| |
| additionalProperties: true |
| |
| 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>; |
| }; |
| |
| ... |