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