| # 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 |
| |
| 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@kernel.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 |
| - amd,pensando-elba-syscon |
| - brcm,cru-clkset |
| - freecom,fsg-cs2-system-controller |
| - fsl,imx93-aonmix-ns-syscfg |
| - fsl,imx93-wakeupmix-syscfg |
| - hisilicon,dsa-subctrl |
| - hisilicon,hi6220-sramctrl |
| - hisilicon,pcie-sas-subctrl |
| - hisilicon,peri-subctrl |
| - hpe,gxp-sysreg |
| - intel,lgm-syscon |
| - loongson,ls1b-syscon |
| - loongson,ls1c-syscon |
| - marvell,armada-3700-usb2-host-misc |
| - mediatek,mt8135-pctl-a-syscfg |
| - mediatek,mt8135-pctl-b-syscfg |
| - mediatek,mt8365-syscfg |
| - microchip,lan966x-cpu-syscon |
| - microchip,sparx5-cpu-syscon |
| - mstar,msc313-pmsleep |
| - nuvoton,ma35d1-sys |
| - nuvoton,wpcm450-shm |
| - rockchip,px30-qos |
| - rockchip,rk3036-qos |
| - rockchip,rk3066-qos |
| - rockchip,rk3128-qos |
| - rockchip,rk3228-qos |
| - rockchip,rk3288-qos |
| - rockchip,rk3368-qos |
| - rockchip,rk3399-qos |
| - rockchip,rk3568-qos |
| - rockchip,rk3588-qos |
| - rockchip,rv1126-qos |
| - starfive,jh7100-sysmain |
| - ti,am62-usb-phy-ctrl |
| - ti,am654-dss-oldi-io-ctrl |
| - ti,am654-serdes-ctrl |
| - ti,j784s4-pcie-ctrl |
| |
| - const: syscon |
| |
| - contains: |
| const: syscon |
| minItems: 2 |
| maxItems: 5 # 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. |
| enum: [1, 2, 4, 8] |
| |
| resets: |
| maxItems: 1 |
| |
| hwlocks: |
| maxItems: 1 |
| description: |
| Reference to a phandle of a hardware spinlock provider node. |
| |
| required: |
| - compatible |
| - reg |
| |
| allOf: |
| - if: |
| properties: |
| compatible: |
| contains: |
| const: simple-mfd |
| then: |
| properties: |
| compatible: |
| minItems: 3 |
| maxItems: 5 |
| |
| additionalProperties: true |
| |
| examples: |
| - | |
| syscon: syscon@1c00000 { |
| compatible = "allwinner,sun8i-h3-system-controller", "syscon"; |
| reg = <0x01c00000 0x1000>; |
| }; |
| ... |