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