353 lines · yaml
1# SPDX-License-Identifier: GPL-2.02%YAML 1.23---4$id: http://devicetree.org/schemas/soc/rockchip/grf.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Rockchip General Register Files (GRF)8 9maintainers:10 - Heiko Stuebner <heiko@sntech.de>11 12properties:13 compatible:14 oneOf:15 - items:16 - enum:17 - rockchip,rk3288-sgrf18 - rockchip,rk3566-pipe-grf19 - rockchip,rk3568-pcie3-phy-grf20 - rockchip,rk3568-pipe-grf21 - rockchip,rk3568-pipe-phy-grf22 - rockchip,rk3568-usb2phy-grf23 - rockchip,rk3576-bigcore-grf24 - rockchip,rk3576-cci-grf25 - rockchip,rk3576-gpu-grf26 - rockchip,rk3576-litcore-grf27 - rockchip,rk3576-npu-grf28 - rockchip,rk3576-php-grf29 - rockchip,rk3576-pipe-phy-grf30 - rockchip,rk3576-pmu1-grf31 - rockchip,rk3576-sdgmac-grf32 - rockchip,rk3576-sys-grf33 - rockchip,rk3576-usb-grf34 - rockchip,rk3576-usbdpphy-grf35 - rockchip,rk3576-vo0-grf36 - rockchip,rk3576-vop-grf37 - rockchip,rk3588-bigcore0-grf38 - rockchip,rk3588-bigcore1-grf39 - rockchip,rk3588-hdptxphy-grf40 - rockchip,rk3588-ioc41 - rockchip,rk3588-php-grf42 - rockchip,rk3588-pipe-phy-grf43 - rockchip,rk3588-sys-grf44 - rockchip,rk3588-pcie3-phy-grf45 - rockchip,rk3588-pcie3-pipe-grf46 - rockchip,rk3588-usb-grf47 - rockchip,rk3588-usbdpphy-grf48 - rockchip,rk3588-vo0-grf49 - rockchip,rk3588-vo1-grf50 - rockchip,rk3588-vop-grf51 - rockchip,rv1108-usbgrf52 - const: syscon53 - items:54 - const: rockchip,rk3588-vo-grf55 - const: syscon56 deprecated: true57 description: Use rockchip,rk3588-vo{0,1}-grf instead.58 - items:59 - enum:60 - rockchip,px30-grf61 - rockchip,px30-pmugrf62 - rockchip,px30-usb2phy-grf63 - rockchip,rk3036-grf64 - rockchip,rk3066-grf65 - rockchip,rk3128-grf66 - rockchip,rk3188-grf67 - rockchip,rk3228-grf68 - rockchip,rk3288-grf69 - rockchip,rk3308-core-grf70 - rockchip,rk3308-detect-grf71 - rockchip,rk3308-grf72 - rockchip,rk3308-usb2phy-grf73 - rockchip,rk3328-grf74 - rockchip,rk3328-usb2phy-grf75 - rockchip,rk3368-grf76 - rockchip,rk3368-pmugrf77 - rockchip,rk3399-grf78 - rockchip,rk3399-pmugrf79 - rockchip,rk3568-grf80 - rockchip,rk3568-pmugrf81 - rockchip,rk3576-ioc-grf82 - rockchip,rk3576-pmu0-grf83 - rockchip,rk3588-usb2phy-grf84 - rockchip,rv1108-grf85 - rockchip,rv1108-pmugrf86 - rockchip,rv1126-grf87 - rockchip,rv1126-pmugrf88 - const: syscon89 - const: simple-mfd90 91 reg:92 maxItems: 193 94 clocks:95 maxItems: 196 97 "#address-cells":98 const: 199 100 "#size-cells":101 const: 1102 103required:104 - compatible105 - reg106 107additionalProperties:108 type: object109 110allOf:111 - if:112 properties:113 compatible:114 contains:115 enum:116 - rockchip,px30-grf117 118 then:119 properties:120 lvds:121 type: object122 123 $ref: /schemas/display/rockchip/rockchip,lvds.yaml#124 125 unevaluatedProperties: false126 127 - if:128 properties:129 compatible:130 contains:131 const: rockchip,rk3288-grf132 133 then:134 properties:135 edp-phy:136 type: object137 $ref: /schemas/phy/rockchip,rk3288-dp-phy.yaml#138 unevaluatedProperties: false139 140 - if:141 properties:142 compatible:143 contains:144 enum:145 - rockchip,rk3066-grf146 - rockchip,rk3188-grf147 - rockchip,rk3288-grf148 149 then:150 properties:151 usbphy:152 type: object153 154 $ref: /schemas/phy/rockchip-usb-phy.yaml#155 156 unevaluatedProperties: false157 158 - if:159 properties:160 compatible:161 contains:162 const: rockchip,rk3328-grf163 164 then:165 properties:166 gpio:167 type: object168 169 $ref: /schemas/gpio/rockchip,rk3328-grf-gpio.yaml#170 171 unevaluatedProperties: false172 173 power-controller:174 type: object175 176 $ref: /schemas/power/rockchip,power-controller.yaml#177 178 unevaluatedProperties: false179 180 - if:181 properties:182 compatible:183 contains:184 const: rockchip,rk3399-grf185 186 then:187 properties:188 mipi-dphy-rx0:189 type: object190 191 $ref: /schemas/phy/rockchip-mipi-dphy-rx0.yaml#192 193 unevaluatedProperties: false194 195 pcie-phy:196 type: object197 description:198 Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt199 200 patternProperties:201 "^phy@[0-9a-f]+$":202 type: object203 $ref: /schemas/phy/rockchip,rk3399-emmc-phy.yaml#204 unevaluatedProperties: false205 206 - if:207 properties:208 compatible:209 contains:210 enum:211 - rockchip,px30-pmugrf212 - rockchip,rk3036-grf213 - rockchip,rk3308-grf214 - rockchip,rk3368-pmugrf215 216 then:217 properties:218 reboot-mode:219 type: object220 221 $ref: /schemas/power/reset/syscon-reboot-mode.yaml#222 223 unevaluatedProperties: false224 225 - if:226 properties:227 compatible:228 contains:229 enum:230 - rockchip,px30-usb2phy-grf231 - rockchip,rk3128-grf232 - rockchip,rk3228-grf233 - rockchip,rk3308-usb2phy-grf234 - rockchip,rk3328-usb2phy-grf235 - rockchip,rk3399-grf236 - rockchip,rk3588-usb2phy-grf237 - rockchip,rv1108-grf238 239 then:240 required:241 - "#address-cells"242 - "#size-cells"243 244 patternProperties:245 "usb2phy@[0-9a-f]+$":246 type: object247 248 $ref: /schemas/phy/rockchip,inno-usb2phy.yaml#249 250 unevaluatedProperties: false251 252 - if:253 properties:254 compatible:255 contains:256 enum:257 - rockchip,px30-grf258 - rockchip,px30-pmugrf259 - rockchip,rk3188-grf260 - rockchip,rk3228-grf261 - rockchip,rk3288-grf262 - rockchip,rk3328-grf263 - rockchip,rk3368-grf264 - rockchip,rk3368-pmugrf265 - rockchip,rk3399-grf266 - rockchip,rk3399-pmugrf267 - rockchip,rk3568-pmugrf268 - rockchip,rk3588-pmugrf269 - rockchip,rv1108-grf270 - rockchip,rv1108-pmugrf271 272 then:273 properties:274 io-domains:275 type: object276 277 $ref: /schemas/power/rockchip-io-domain.yaml#278 279 unevaluatedProperties: false280 281 - if:282 properties:283 compatible:284 contains:285 enum:286 - rockchip,rk3588-vo-grf287 - rockchip,rk3588-vo0-grf288 - rockchip,rk3588-vo1-grf289 290 then:291 required:292 - clocks293 294 else:295 properties:296 clocks: false297 298 299examples:300 - |301 #include <dt-bindings/clock/rk3399-cru.h>302 #include <dt-bindings/interrupt-controller/arm-gic.h>303 #include <dt-bindings/power/rk3399-power.h>304 grf: syscon@ff770000 {305 compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";306 reg = <0xff770000 0x10000>;307 #address-cells = <1>;308 #size-cells = <1>;309 310 mipi_dphy_rx0: mipi-dphy-rx0 {311 compatible = "rockchip,rk3399-mipi-dphy-rx0";312 clocks = <&cru SCLK_MIPIDPHY_REF>,313 <&cru SCLK_DPHY_RX0_CFG>,314 <&cru PCLK_VIO_GRF>;315 clock-names = "dphy-ref", "dphy-cfg", "grf";316 power-domains = <&power RK3399_PD_VIO>;317 #phy-cells = <0>;318 };319 320 phy@f780 {321 compatible = "rockchip,rk3399-emmc-phy";322 reg = <0xf780 0x20>;323 clocks = <&sdhci>;324 clock-names = "emmcclk";325 drive-impedance-ohm = <50>;326 #phy-cells = <0>;327 };328 329 u2phy0: usb2phy@e450 {330 compatible = "rockchip,rk3399-usb2phy";331 reg = <0xe450 0x10>;332 clocks = <&cru SCLK_USB2PHY0_REF>;333 clock-names = "phyclk";334 #clock-cells = <0>;335 clock-output-names = "clk_usbphy0_480m";336 337 u2phy0_host: host-port {338 #phy-cells = <0>;339 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>;340 interrupt-names = "linestate";341 };342 343 u2phy0_otg: otg-port {344 #phy-cells = <0>;345 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>,346 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>,347 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>;348 interrupt-names = "otg-bvalid", "otg-id",349 "linestate";350 };351 };352 };353