1*4d023bebSNeil Armstrong# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*4d023bebSNeil Armstrong%YAML 1.2 3*4d023bebSNeil Armstrong--- 4*4d023bebSNeil Armstrong$id: http://devicetree.org/schemas/soc/amlogic/amlogic,meson-gx-hhi-sysctrl.yaml# 5*4d023bebSNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4d023bebSNeil Armstrong 7*4d023bebSNeil Armstrongtitle: Amlogic Meson System Control registers 8*4d023bebSNeil Armstrong 9*4d023bebSNeil Armstrongmaintainers: 10*4d023bebSNeil Armstrong - Neil Armstrong <neil.armstrong@linaro.org> 11*4d023bebSNeil Armstrong 12*4d023bebSNeil Armstrongproperties: 13*4d023bebSNeil Armstrong compatible: 14*4d023bebSNeil Armstrong items: 15*4d023bebSNeil Armstrong - enum: 16*4d023bebSNeil Armstrong - amlogic,meson-gx-hhi-sysctrl 17*4d023bebSNeil Armstrong - amlogic,meson-gx-ao-sysctrl 18*4d023bebSNeil Armstrong - amlogic,meson-axg-hhi-sysctrl 19*4d023bebSNeil Armstrong - amlogic,meson-axg-ao-sysctrl 20*4d023bebSNeil Armstrong - const: simple-mfd 21*4d023bebSNeil Armstrong - const: syscon 22*4d023bebSNeil Armstrong 23*4d023bebSNeil Armstrong reg: 24*4d023bebSNeil Armstrong maxItems: 1 25*4d023bebSNeil Armstrong 26*4d023bebSNeil Armstrong clock-controller: 27*4d023bebSNeil Armstrong type: object 28*4d023bebSNeil Armstrong 29*4d023bebSNeil Armstrong power-controller: 30*4d023bebSNeil Armstrong $ref: /schemas/power/amlogic,meson-ee-pwrc.yaml 31*4d023bebSNeil Armstrong 32*4d023bebSNeil Armstrong pinctrl: 33*4d023bebSNeil Armstrong type: object 34*4d023bebSNeil Armstrong 35*4d023bebSNeil Armstrong phy: 36*4d023bebSNeil Armstrong type: object 37*4d023bebSNeil Armstrong 38*4d023bebSNeil ArmstrongallOf: 39*4d023bebSNeil Armstrong - if: 40*4d023bebSNeil Armstrong properties: 41*4d023bebSNeil Armstrong compatible: 42*4d023bebSNeil Armstrong enum: 43*4d023bebSNeil Armstrong - amlogic,meson-gx-hhi-sysctrl 44*4d023bebSNeil Armstrong - amlogic,meson-axg-hhi-sysctrl 45*4d023bebSNeil Armstrong then: 46*4d023bebSNeil Armstrong properties: 47*4d023bebSNeil Armstrong clock-controller: 48*4d023bebSNeil Armstrong $ref: /schemas/clock/amlogic,gxbb-clkc.yaml# 49*4d023bebSNeil Armstrong 50*4d023bebSNeil Armstrong required: 51*4d023bebSNeil Armstrong - power-controller 52*4d023bebSNeil Armstrong 53*4d023bebSNeil Armstrong - if: 54*4d023bebSNeil Armstrong properties: 55*4d023bebSNeil Armstrong compatible: 56*4d023bebSNeil Armstrong enum: 57*4d023bebSNeil Armstrong - amlogic,meson-gx-ao-sysctrl 58*4d023bebSNeil Armstrong - amlogic,meson-axg-ao-sysctrl 59*4d023bebSNeil Armstrong then: 60*4d023bebSNeil Armstrong properties: 61*4d023bebSNeil Armstrong clock-controller: 62*4d023bebSNeil Armstrong $ref: /schemas/clock/amlogic,gxbb-aoclkc.yaml# 63*4d023bebSNeil Armstrong 64*4d023bebSNeil Armstrong power-controller: false 65*4d023bebSNeil Armstrong phy: false 66*4d023bebSNeil Armstrong 67*4d023bebSNeil Armstrong - if: 68*4d023bebSNeil Armstrong properties: 69*4d023bebSNeil Armstrong compatible: 70*4d023bebSNeil Armstrong enum: 71*4d023bebSNeil Armstrong - amlogic,meson-gx-hhi-sysctrl 72*4d023bebSNeil Armstrong then: 73*4d023bebSNeil Armstrong properties: 74*4d023bebSNeil Armstrong phy: false 75*4d023bebSNeil Armstrong 76*4d023bebSNeil Armstrong - if: 77*4d023bebSNeil Armstrong properties: 78*4d023bebSNeil Armstrong compatible: 79*4d023bebSNeil Armstrong enum: 80*4d023bebSNeil Armstrong - amlogic,meson-axg-hhi-sysctrl 81*4d023bebSNeil Armstrong then: 82*4d023bebSNeil Armstrong properties: 83*4d023bebSNeil Armstrong phy: 84*4d023bebSNeil Armstrong oneOf: 85*4d023bebSNeil Armstrong - $ref: /schemas/phy/amlogic,g12a-mipi-dphy-analog.yaml 86*4d023bebSNeil Armstrong - $ref: /schemas/phy/amlogic,meson-axg-mipi-pcie-analog.yaml 87*4d023bebSNeil Armstrong 88*4d023bebSNeil Armstrongrequired: 89*4d023bebSNeil Armstrong - compatible 90*4d023bebSNeil Armstrong - reg 91*4d023bebSNeil Armstrong - clock-controller 92*4d023bebSNeil Armstrong 93*4d023bebSNeil ArmstrongadditionalProperties: false 94*4d023bebSNeil Armstrong 95*4d023bebSNeil Armstrongexamples: 96*4d023bebSNeil Armstrong - | 97*4d023bebSNeil Armstrong bus@c883c000 { 98*4d023bebSNeil Armstrong compatible = "simple-bus"; 99*4d023bebSNeil Armstrong reg = <0xc883c000 0x2000>; 100*4d023bebSNeil Armstrong #address-cells = <1>; 101*4d023bebSNeil Armstrong #size-cells = <1>; 102*4d023bebSNeil Armstrong ranges = <0x0 0xc883c000 0x2000>; 103*4d023bebSNeil Armstrong 104*4d023bebSNeil Armstrong sysctrl: system-controller@0 { 105*4d023bebSNeil Armstrong compatible = "amlogic,meson-gx-hhi-sysctrl", "simple-mfd", "syscon"; 106*4d023bebSNeil Armstrong reg = <0 0x400>; 107*4d023bebSNeil Armstrong 108*4d023bebSNeil Armstrong clock-controller { 109*4d023bebSNeil Armstrong compatible = "amlogic,gxbb-clkc"; 110*4d023bebSNeil Armstrong #clock-cells = <1>; 111*4d023bebSNeil Armstrong clocks = <&xtal>; 112*4d023bebSNeil Armstrong clock-names = "xtal"; 113*4d023bebSNeil Armstrong }; 114*4d023bebSNeil Armstrong 115*4d023bebSNeil Armstrong power-controller { 116*4d023bebSNeil Armstrong compatible = "amlogic,meson-gxbb-pwrc"; 117*4d023bebSNeil Armstrong #power-domain-cells = <1>; 118*4d023bebSNeil Armstrong amlogic,ao-sysctrl = <&sysctrl_AO>; 119*4d023bebSNeil Armstrong 120*4d023bebSNeil Armstrong resets = <&reset_viu>, 121*4d023bebSNeil Armstrong <&reset_venc>, 122*4d023bebSNeil Armstrong <&reset_vcbus>, 123*4d023bebSNeil Armstrong <&reset_bt656>, 124*4d023bebSNeil Armstrong <&reset_dvin>, 125*4d023bebSNeil Armstrong <&reset_rdma>, 126*4d023bebSNeil Armstrong <&reset_venci>, 127*4d023bebSNeil Armstrong <&reset_vencp>, 128*4d023bebSNeil Armstrong <&reset_vdac>, 129*4d023bebSNeil Armstrong <&reset_vdi6>, 130*4d023bebSNeil Armstrong <&reset_vencl>, 131*4d023bebSNeil Armstrong <&reset_vid_lock>; 132*4d023bebSNeil Armstrong reset-names = "viu", "venc", "vcbus", "bt656", "dvin", 133*4d023bebSNeil Armstrong "rdma", "venci", "vencp", "vdac", "vdi6", 134*4d023bebSNeil Armstrong "vencl", "vid_lock"; 135*4d023bebSNeil Armstrong clocks = <&clk_vpu>, <&clk_vapb>; 136*4d023bebSNeil Armstrong clock-names = "vpu", "vapb"; 137*4d023bebSNeil Armstrong }; 138*4d023bebSNeil Armstrong }; 139*4d023bebSNeil Armstrong }; 140*4d023bebSNeil Armstrong 141*4d023bebSNeil Armstrong bus@c8100000 { 142*4d023bebSNeil Armstrong compatible = "simple-bus"; 143*4d023bebSNeil Armstrong reg = <0xc8100000 0x100000>; 144*4d023bebSNeil Armstrong #address-cells = <1>; 145*4d023bebSNeil Armstrong #size-cells = <1>; 146*4d023bebSNeil Armstrong ranges = <0x0 0xc8100000 0x100000>; 147*4d023bebSNeil Armstrong 148*4d023bebSNeil Armstrong sysctrl_AO: system-controller@0 { 149*4d023bebSNeil Armstrong compatible = "amlogic,meson-gx-ao-sysctrl", "simple-mfd", "syscon"; 150*4d023bebSNeil Armstrong reg = <0 0x100>; 151*4d023bebSNeil Armstrong 152*4d023bebSNeil Armstrong clock-controller { 153*4d023bebSNeil Armstrong compatible = "amlogic,meson-gxbb-aoclkc", "amlogic,meson-gx-aoclkc"; 154*4d023bebSNeil Armstrong #clock-cells = <1>; 155*4d023bebSNeil Armstrong #reset-cells = <1>; 156*4d023bebSNeil Armstrong clocks = <&xtal>, <&clk81>; 157*4d023bebSNeil Armstrong clock-names = "xtal", "mpeg-clk"; 158*4d023bebSNeil Armstrong }; 159*4d023bebSNeil Armstrong }; 160*4d023bebSNeil Armstrong }; 161