xref: /openbmc/linux/Documentation/devicetree/bindings/mfd/syscon.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1cc57d7daSMaxime Ripard# SPDX-License-Identifier: GPL-2.0
2cc57d7daSMaxime Ripard%YAML 1.2
3cc57d7daSMaxime Ripard---
4cc57d7daSMaxime Ripard$id: http://devicetree.org/schemas/mfd/syscon.yaml#
5cc57d7daSMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml#
6cc57d7daSMaxime Ripard
7dd3cb467SAndrew Lunntitle: System Controller Registers R/W
8cc57d7daSMaxime Ripard
9cc57d7daSMaxime Riparddescription: |
10cc57d7daSMaxime Ripard  System controller node represents a register region containing a set
11cc57d7daSMaxime Ripard  of miscellaneous registers. The registers are not cohesive enough to
12cc57d7daSMaxime Ripard  represent as any specific type of device. The typical use-case is
13cc57d7daSMaxime Ripard  for some other node's driver, or platform-specific code, to acquire
14cc57d7daSMaxime Ripard  a reference to the syscon node (e.g. by phandle, node path, or
15cc57d7daSMaxime Ripard  search using a specific compatible value), interrogate the node (or
16cc57d7daSMaxime Ripard  associated OS driver) to determine the location of the registers,
17cc57d7daSMaxime Ripard  and access the registers directly.
18cc57d7daSMaxime Ripard
19cc57d7daSMaxime Ripardmaintainers:
200a2de5bbSLee Jones  - Lee Jones <lee@kernel.org>
21cc57d7daSMaxime Ripard
22cc57d7daSMaxime Ripardselect:
23cc57d7daSMaxime Ripard  properties:
24cc57d7daSMaxime Ripard    compatible:
25cc57d7daSMaxime Ripard      contains:
26cc57d7daSMaxime Ripard        enum:
27cc57d7daSMaxime Ripard          - syscon
28cc57d7daSMaxime Ripard
29cc57d7daSMaxime Ripard  required:
30cc57d7daSMaxime Ripard    - compatible
31cc57d7daSMaxime Ripard
32cc57d7daSMaxime Ripardproperties:
33cc57d7daSMaxime Ripard  compatible:
34cc57d7daSMaxime Ripard    anyOf:
35cc57d7daSMaxime Ripard      - items:
36cc57d7daSMaxime Ripard          - enum:
37cc57d7daSMaxime Ripard              - allwinner,sun8i-a83t-system-controller
38cc57d7daSMaxime Ripard              - allwinner,sun8i-h3-system-controller
39cc57d7daSMaxime Ripard              - allwinner,sun8i-v3s-system-controller
40cc57d7daSMaxime Ripard              - allwinner,sun50i-a64-system-controller
418e993c58SBrad Larson              - amd,pensando-elba-syscon
4215fd4ca4SRafał Miłecki              - brcm,cru-clkset
438ae4069aSLinus Walleij              - freecom,fsg-cs2-system-controller
447a8a4471SPeng Fan              - fsl,imx93-aonmix-ns-syscfg
457a8a4471SPeng Fan              - fsl,imx93-wakeupmix-syscfg
465376471bSZhen Lei              - hisilicon,dsa-subctrl
475376471bSZhen Lei              - hisilicon,hi6220-sramctrl
485376471bSZhen Lei              - hisilicon,pcie-sas-subctrl
495376471bSZhen Lei              - hisilicon,peri-subctrl
500b053279SNick Hawkins              - hpe,gxp-sysreg
519876ef1dSRob Herring              - intel,lgm-syscon
529876ef1dSRob Herring              - marvell,armada-3700-usb2-host-misc
539876ef1dSRob Herring              - mediatek,mt8135-pctl-a-syscfg
549876ef1dSRob Herring              - mediatek,mt8135-pctl-b-syscfg
554d83bcbeSBernhard Rosenkränzer              - mediatek,mt8365-syscfg
56d99460edSMichael Walle              - microchip,lan966x-cpu-syscon
5785032207SLars Povlsen              - microchip,sparx5-cpu-syscon
584b4b27e4SDaniel Palmer              - mstar,msc313-pmsleep
59*dbc5e572SJacky Huang              - nuvoton,ma35d1-sys
60ef170923SJonathan Neuschäfer              - nuvoton,wpcm450-shm
6115ad3048SJohan Jonker              - rockchip,px30-qos
6205f3485cSAlex Bee              - rockchip,rk3036-qos
6315ad3048SJohan Jonker              - rockchip,rk3066-qos
6405f3485cSAlex Bee              - rockchip,rk3228-qos
6515ad3048SJohan Jonker              - rockchip,rk3288-qos
664ce0808cSHeiko Stuebner              - rockchip,rk3368-qos
6715ad3048SJohan Jonker              - rockchip,rk3399-qos
68f861d1d7SLiang Chen              - rockchip,rk3568-qos
693064c115SSebastian Reichel              - rockchip,rk3588-qos
70fe969e9fSJagan Teki              - rockchip,rv1126-qos
714d820ddaSEmil Renner Berthing              - starfive,jh7100-sysmain
72cc57d7daSMaxime Ripard
73cc57d7daSMaxime Ripard          - const: syscon
74cc57d7daSMaxime Ripard
75cc57d7daSMaxime Ripard      - contains:
76cc57d7daSMaxime Ripard          const: syscon
77ad440432SRob Herring        minItems: 2
78f5e90351SKrzysztof Kozlowski        maxItems: 5  # Should be enough
79cc57d7daSMaxime Ripard
80cc57d7daSMaxime Ripard  reg:
81cc57d7daSMaxime Ripard    maxItems: 1
82cc57d7daSMaxime Ripard
83cc57d7daSMaxime Ripard  reg-io-width:
84cc57d7daSMaxime Ripard    description: |
85cc57d7daSMaxime Ripard      The size (in bytes) of the IO accesses that should be performed
86cc57d7daSMaxime Ripard      on the device.
873d21a460SRob Herring    enum: [1, 2, 4, 8]
88cc57d7daSMaxime Ripard
890f4d2619SJeremy Kerr  resets:
900f4d2619SJeremy Kerr    maxItems: 1
910f4d2619SJeremy Kerr
92cc57d7daSMaxime Ripard  hwlocks:
93cc57d7daSMaxime Ripard    maxItems: 1
94cc57d7daSMaxime Ripard    description:
95cc57d7daSMaxime Ripard      Reference to a phandle of a hardware spinlock provider node.
96cc57d7daSMaxime Ripard
97cc57d7daSMaxime Ripardrequired:
98cc57d7daSMaxime Ripard  - compatible
99cc57d7daSMaxime Ripard  - reg
100cc57d7daSMaxime Ripard
101f5e90351SKrzysztof KozlowskiallOf:
102f5e90351SKrzysztof Kozlowski  - if:
103f5e90351SKrzysztof Kozlowski      properties:
104f5e90351SKrzysztof Kozlowski        compatible:
105f5e90351SKrzysztof Kozlowski          contains:
106f5e90351SKrzysztof Kozlowski            const: simple-mfd
107f5e90351SKrzysztof Kozlowski    then:
108f5e90351SKrzysztof Kozlowski      properties:
109f5e90351SKrzysztof Kozlowski        compatible:
110f5e90351SKrzysztof Kozlowski          minItems: 3
111f5e90351SKrzysztof Kozlowski          maxItems: 5
112f5e90351SKrzysztof Kozlowski
1136a0e321eSRob HerringadditionalProperties: true
114cc57d7daSMaxime Ripard
115cc57d7daSMaxime Ripardexamples:
116cc57d7daSMaxime Ripard  - |
117cc57d7daSMaxime Ripard    syscon: syscon@1c00000 {
118cc57d7daSMaxime Ripard        compatible = "allwinner,sun8i-h3-system-controller", "syscon";
119cc57d7daSMaxime Ripard        reg = <0x01c00000 0x1000>;
120cc57d7daSMaxime Ripard    };
121cc57d7daSMaxime Ripard...
122