1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 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-sgrf 18 - rockchip,rk3528-ioc-grf 19 - rockchip,rk3528-vo-grf 20 - rockchip,rk3528-vpu-grf 21 - rockchip,rk3566-pipe-grf 22 - rockchip,rk3568-pcie3-phy-grf 23 - rockchip,rk3568-pipe-grf 24 - rockchip,rk3568-pipe-phy-grf 25 - rockchip,rk3568-usb2phy-grf 26 - rockchip,rk3576-bigcore-grf 27 - rockchip,rk3576-cci-grf 28 - rockchip,rk3576-gpu-grf 29 - rockchip,rk3576-hdptxphy-grf 30 - rockchip,rk3576-litcore-grf 31 - rockchip,rk3576-npu-grf 32 - rockchip,rk3576-php-grf 33 - rockchip,rk3576-pipe-phy-grf 34 - rockchip,rk3576-pmu1-grf 35 - rockchip,rk3576-sdgmac-grf 36 - rockchip,rk3576-sys-grf 37 - rockchip,rk3576-usb-grf 38 - rockchip,rk3576-usbdpphy-grf 39 - rockchip,rk3576-vo0-grf 40 - rockchip,rk3576-vo1-grf 41 - rockchip,rk3576-vop-grf 42 - rockchip,rk3588-bigcore0-grf 43 - rockchip,rk3588-bigcore1-grf 44 - rockchip,rk3588-dcphy-grf 45 - rockchip,rk3588-hdptxphy-grf 46 - rockchip,rk3588-ioc 47 - rockchip,rk3588-php-grf 48 - rockchip,rk3588-pipe-phy-grf 49 - rockchip,rk3588-sys-grf 50 - rockchip,rk3588-pcie3-phy-grf 51 - rockchip,rk3588-pcie3-pipe-grf 52 - rockchip,rk3588-usb-grf 53 - rockchip,rk3588-usbdpphy-grf 54 - rockchip,rk3588-vo0-grf 55 - rockchip,rk3588-vo1-grf 56 - rockchip,rk3588-vop-grf 57 - rockchip,rv1108-usbgrf 58 - const: syscon 59 - items: 60 - const: rockchip,rk3588-vo-grf 61 - const: syscon 62 deprecated: true 63 description: Use rockchip,rk3588-vo{0,1}-grf instead. 64 - items: 65 - enum: 66 - rockchip,px30-grf 67 - rockchip,px30-pmugrf 68 - rockchip,px30-usb2phy-grf 69 - rockchip,rk3036-grf 70 - rockchip,rk3066-grf 71 - rockchip,rk3128-grf 72 - rockchip,rk3188-grf 73 - rockchip,rk3228-grf 74 - rockchip,rk3288-grf 75 - rockchip,rk3308-core-grf 76 - rockchip,rk3308-detect-grf 77 - rockchip,rk3308-grf 78 - rockchip,rk3308-usb2phy-grf 79 - rockchip,rk3328-grf 80 - rockchip,rk3328-usb2phy-grf 81 - rockchip,rk3368-grf 82 - rockchip,rk3368-pmugrf 83 - rockchip,rk3399-grf 84 - rockchip,rk3399-pmugrf 85 - rockchip,rk3568-grf 86 - rockchip,rk3568-pmugrf 87 - rockchip,rk3576-ioc-grf 88 - rockchip,rk3576-pmu0-grf 89 - rockchip,rk3576-usb2phy-grf 90 - rockchip,rk3588-usb2phy-grf 91 - rockchip,rv1108-grf 92 - rockchip,rv1108-pmugrf 93 - rockchip,rv1126-grf 94 - rockchip,rv1126-pmugrf 95 - const: syscon 96 - const: simple-mfd 97 98 reg: 99 maxItems: 1 100 101 clocks: 102 maxItems: 1 103 104 "#address-cells": 105 const: 1 106 107 "#size-cells": 108 const: 1 109 110required: 111 - compatible 112 - reg 113 114additionalProperties: 115 type: object 116 117allOf: 118 - if: 119 properties: 120 compatible: 121 contains: 122 enum: 123 - rockchip,px30-grf 124 125 then: 126 properties: 127 lvds: 128 type: object 129 130 $ref: /schemas/display/rockchip/rockchip,lvds.yaml# 131 132 unevaluatedProperties: false 133 134 - if: 135 properties: 136 compatible: 137 contains: 138 const: rockchip,rk3288-grf 139 140 then: 141 properties: 142 edp-phy: 143 type: object 144 $ref: /schemas/phy/rockchip,rk3288-dp-phy.yaml# 145 unevaluatedProperties: false 146 147 - if: 148 properties: 149 compatible: 150 contains: 151 enum: 152 - rockchip,rk3066-grf 153 - rockchip,rk3188-grf 154 - rockchip,rk3288-grf 155 156 then: 157 properties: 158 usbphy: 159 type: object 160 161 $ref: /schemas/phy/rockchip-usb-phy.yaml# 162 163 unevaluatedProperties: false 164 165 - if: 166 properties: 167 compatible: 168 contains: 169 const: rockchip,rk3328-grf 170 171 then: 172 properties: 173 gpio: 174 type: object 175 176 $ref: /schemas/gpio/rockchip,rk3328-grf-gpio.yaml# 177 178 unevaluatedProperties: false 179 180 power-controller: 181 type: object 182 183 $ref: /schemas/power/rockchip,power-controller.yaml# 184 185 unevaluatedProperties: false 186 187 - if: 188 properties: 189 compatible: 190 contains: 191 const: rockchip,rk3399-grf 192 193 then: 194 properties: 195 mipi-dphy-rx0: 196 type: object 197 198 $ref: /schemas/phy/rockchip-mipi-dphy-rx0.yaml# 199 200 unevaluatedProperties: false 201 202 pcie-phy: 203 type: object 204 description: 205 Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt 206 207 patternProperties: 208 "^phy@[0-9a-f]+$": 209 type: object 210 $ref: /schemas/phy/rockchip,rk3399-emmc-phy.yaml# 211 unevaluatedProperties: false 212 213 - if: 214 properties: 215 compatible: 216 contains: 217 enum: 218 - rockchip,px30-pmugrf 219 - rockchip,rk3036-grf 220 - rockchip,rk3308-grf 221 - rockchip,rk3368-pmugrf 222 223 then: 224 properties: 225 reboot-mode: 226 type: object 227 228 $ref: /schemas/power/reset/syscon-reboot-mode.yaml# 229 230 unevaluatedProperties: false 231 232 - if: 233 properties: 234 compatible: 235 contains: 236 enum: 237 - rockchip,px30-usb2phy-grf 238 - rockchip,rk3128-grf 239 - rockchip,rk3228-grf 240 - rockchip,rk3308-usb2phy-grf 241 - rockchip,rk3328-usb2phy-grf 242 - rockchip,rk3399-grf 243 - rockchip,rk3576-usb2phy-grf 244 - rockchip,rk3588-usb2phy-grf 245 - rockchip,rv1108-grf 246 247 then: 248 required: 249 - "#address-cells" 250 - "#size-cells" 251 252 patternProperties: 253 "usb2phy@[0-9a-f]+$": 254 type: object 255 256 $ref: /schemas/phy/rockchip,inno-usb2phy.yaml# 257 258 unevaluatedProperties: false 259 260 - if: 261 properties: 262 compatible: 263 contains: 264 enum: 265 - rockchip,px30-grf 266 - rockchip,px30-pmugrf 267 - rockchip,rk3188-grf 268 - rockchip,rk3228-grf 269 - rockchip,rk3288-grf 270 - rockchip,rk3328-grf 271 - rockchip,rk3368-grf 272 - rockchip,rk3368-pmugrf 273 - rockchip,rk3399-grf 274 - rockchip,rk3399-pmugrf 275 - rockchip,rk3568-pmugrf 276 - rockchip,rk3588-pmugrf 277 - rockchip,rv1108-grf 278 - rockchip,rv1108-pmugrf 279 280 then: 281 properties: 282 io-domains: 283 type: object 284 285 $ref: /schemas/power/rockchip-io-domain.yaml# 286 287 unevaluatedProperties: false 288 289 - if: 290 properties: 291 compatible: 292 contains: 293 enum: 294 - rockchip,rk3576-vo1-grf 295 - rockchip,rk3588-vo-grf 296 - rockchip,rk3588-vo0-grf 297 - rockchip,rk3588-vo1-grf 298 299 then: 300 required: 301 - clocks 302 303 else: 304 properties: 305 clocks: false 306 307 308examples: 309 - | 310 #include <dt-bindings/clock/rk3399-cru.h> 311 #include <dt-bindings/interrupt-controller/arm-gic.h> 312 #include <dt-bindings/power/rk3399-power.h> 313 grf: syscon@ff770000 { 314 compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd"; 315 reg = <0xff770000 0x10000>; 316 #address-cells = <1>; 317 #size-cells = <1>; 318 319 mipi_dphy_rx0: mipi-dphy-rx0 { 320 compatible = "rockchip,rk3399-mipi-dphy-rx0"; 321 clocks = <&cru SCLK_MIPIDPHY_REF>, 322 <&cru SCLK_DPHY_RX0_CFG>, 323 <&cru PCLK_VIO_GRF>; 324 clock-names = "dphy-ref", "dphy-cfg", "grf"; 325 power-domains = <&power RK3399_PD_VIO>; 326 #phy-cells = <0>; 327 }; 328 329 phy@f780 { 330 compatible = "rockchip,rk3399-emmc-phy"; 331 reg = <0xf780 0x20>; 332 clocks = <&sdhci>; 333 clock-names = "emmcclk"; 334 drive-impedance-ohm = <50>; 335 #phy-cells = <0>; 336 }; 337 338 u2phy0: usb2phy@e450 { 339 compatible = "rockchip,rk3399-usb2phy"; 340 reg = <0xe450 0x10>; 341 clocks = <&cru SCLK_USB2PHY0_REF>; 342 clock-names = "phyclk"; 343 #clock-cells = <0>; 344 clock-output-names = "clk_usbphy0_480m"; 345 346 u2phy0_host: host-port { 347 #phy-cells = <0>; 348 interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>; 349 interrupt-names = "linestate"; 350 }; 351 352 u2phy0_otg: otg-port { 353 #phy-cells = <0>; 354 interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>, 355 <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>, 356 <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>; 357 interrupt-names = "otg-bvalid", "otg-id", 358 "linestate"; 359 }; 360 }; 361 }; 362