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