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