15956d97fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 25956d97fSEmmanuel Vadot%YAML 1.2 35956d97fSEmmanuel Vadot--- 45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/soc/rockchip/grf.yaml# 55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65956d97fSEmmanuel Vadot 75956d97fSEmmanuel Vadottitle: Rockchip General Register Files (GRF) 85956d97fSEmmanuel Vadot 95956d97fSEmmanuel Vadotmaintainers: 105956d97fSEmmanuel Vadot - Heiko Stuebner <heiko@sntech.de> 115956d97fSEmmanuel Vadot 125956d97fSEmmanuel Vadotproperties: 135956d97fSEmmanuel Vadot compatible: 145956d97fSEmmanuel Vadot oneOf: 155956d97fSEmmanuel Vadot - items: 165956d97fSEmmanuel Vadot - enum: 175956d97fSEmmanuel Vadot - rockchip,rk3288-sgrf 18d5b0e70fSEmmanuel Vadot - rockchip,rk3566-pipe-grf 197ef62cebSEmmanuel Vadot - rockchip,rk3568-pcie3-phy-grf 20d5b0e70fSEmmanuel Vadot - rockchip,rk3568-pipe-grf 21d5b0e70fSEmmanuel Vadot - rockchip,rk3568-pipe-phy-grf 22c9ccf3a3SEmmanuel Vadot - rockchip,rk3568-usb2phy-grf 23*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-bigcore-grf 24*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-cci-grf 25*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-gpu-grf 26*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-litcore-grf 27*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-npu-grf 28*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-php-grf 29*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-pipe-phy-grf 30*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-pmu1-grf 31*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-sdgmac-grf 32*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-sys-grf 33*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-usb-grf 34*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-usbdpphy-grf 35*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-vo0-grf 36*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-vop-grf 37cb7aa33aSEmmanuel Vadot - rockchip,rk3588-bigcore0-grf 38cb7aa33aSEmmanuel Vadot - rockchip,rk3588-bigcore1-grf 3901950c46SEmmanuel Vadot - rockchip,rk3588-hdptxphy-grf 40cb7aa33aSEmmanuel Vadot - rockchip,rk3588-ioc 41cb7aa33aSEmmanuel Vadot - rockchip,rk3588-php-grf 42f126890aSEmmanuel Vadot - rockchip,rk3588-pipe-phy-grf 43cb7aa33aSEmmanuel Vadot - rockchip,rk3588-sys-grf 447ef62cebSEmmanuel Vadot - rockchip,rk3588-pcie3-phy-grf 457ef62cebSEmmanuel Vadot - rockchip,rk3588-pcie3-pipe-grf 4601950c46SEmmanuel Vadot - rockchip,rk3588-usb-grf 4701950c46SEmmanuel Vadot - rockchip,rk3588-usbdpphy-grf 480e8011faSEmmanuel Vadot - rockchip,rk3588-vo0-grf 490e8011faSEmmanuel Vadot - rockchip,rk3588-vo1-grf 508d13bc63SEmmanuel Vadot - rockchip,rk3588-vop-grf 515956d97fSEmmanuel Vadot - rockchip,rv1108-usbgrf 525956d97fSEmmanuel Vadot - const: syscon 535956d97fSEmmanuel Vadot - items: 540e8011faSEmmanuel Vadot - const: rockchip,rk3588-vo-grf 550e8011faSEmmanuel Vadot - const: syscon 560e8011faSEmmanuel Vadot deprecated: true 570e8011faSEmmanuel Vadot description: Use rockchip,rk3588-vo{0,1}-grf instead. 580e8011faSEmmanuel Vadot - items: 595956d97fSEmmanuel Vadot - enum: 605956d97fSEmmanuel Vadot - rockchip,px30-grf 615956d97fSEmmanuel Vadot - rockchip,px30-pmugrf 625956d97fSEmmanuel Vadot - rockchip,px30-usb2phy-grf 635956d97fSEmmanuel Vadot - rockchip,rk3036-grf 645956d97fSEmmanuel Vadot - rockchip,rk3066-grf 657ef62cebSEmmanuel Vadot - rockchip,rk3128-grf 665956d97fSEmmanuel Vadot - rockchip,rk3188-grf 675956d97fSEmmanuel Vadot - rockchip,rk3228-grf 685956d97fSEmmanuel Vadot - rockchip,rk3288-grf 695956d97fSEmmanuel Vadot - rockchip,rk3308-core-grf 705956d97fSEmmanuel Vadot - rockchip,rk3308-detect-grf 715956d97fSEmmanuel Vadot - rockchip,rk3308-grf 725956d97fSEmmanuel Vadot - rockchip,rk3308-usb2phy-grf 735956d97fSEmmanuel Vadot - rockchip,rk3328-grf 745956d97fSEmmanuel Vadot - rockchip,rk3328-usb2phy-grf 755956d97fSEmmanuel Vadot - rockchip,rk3368-grf 765956d97fSEmmanuel Vadot - rockchip,rk3368-pmugrf 775956d97fSEmmanuel Vadot - rockchip,rk3399-grf 785956d97fSEmmanuel Vadot - rockchip,rk3399-pmugrf 795956d97fSEmmanuel Vadot - rockchip,rk3568-grf 805956d97fSEmmanuel Vadot - rockchip,rk3568-pmugrf 81*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-ioc-grf 82*b2d2a78aSEmmanuel Vadot - rockchip,rk3576-pmu0-grf 83f126890aSEmmanuel Vadot - rockchip,rk3588-usb2phy-grf 845956d97fSEmmanuel Vadot - rockchip,rv1108-grf 85354d7675SEmmanuel Vadot - rockchip,rv1108-pmugrf 867ef62cebSEmmanuel Vadot - rockchip,rv1126-grf 877ef62cebSEmmanuel Vadot - rockchip,rv1126-pmugrf 885956d97fSEmmanuel Vadot - const: syscon 895956d97fSEmmanuel Vadot - const: simple-mfd 905956d97fSEmmanuel Vadot 915956d97fSEmmanuel Vadot reg: 925956d97fSEmmanuel Vadot maxItems: 1 935956d97fSEmmanuel Vadot 9401950c46SEmmanuel Vadot clocks: 9501950c46SEmmanuel Vadot maxItems: 1 9601950c46SEmmanuel Vadot 975956d97fSEmmanuel Vadot "#address-cells": 985956d97fSEmmanuel Vadot const: 1 995956d97fSEmmanuel Vadot 1005956d97fSEmmanuel Vadot "#size-cells": 1015956d97fSEmmanuel Vadot const: 1 1025956d97fSEmmanuel Vadot 1035956d97fSEmmanuel Vadotrequired: 1045956d97fSEmmanuel Vadot - compatible 1055956d97fSEmmanuel Vadot - reg 1065956d97fSEmmanuel Vadot 1075956d97fSEmmanuel VadotadditionalProperties: 1085956d97fSEmmanuel Vadot type: object 1095956d97fSEmmanuel Vadot 1105956d97fSEmmanuel VadotallOf: 1115956d97fSEmmanuel Vadot - if: 1125956d97fSEmmanuel Vadot properties: 1135956d97fSEmmanuel Vadot compatible: 1145956d97fSEmmanuel Vadot contains: 115fac71e4eSEmmanuel Vadot enum: 116fac71e4eSEmmanuel Vadot - rockchip,px30-grf 1175956d97fSEmmanuel Vadot 1185956d97fSEmmanuel Vadot then: 1195956d97fSEmmanuel Vadot properties: 1205956d97fSEmmanuel Vadot lvds: 121fac71e4eSEmmanuel Vadot type: object 122fac71e4eSEmmanuel Vadot 123fac71e4eSEmmanuel Vadot $ref: /schemas/display/rockchip/rockchip,lvds.yaml# 124fac71e4eSEmmanuel Vadot 125fac71e4eSEmmanuel Vadot unevaluatedProperties: false 1265956d97fSEmmanuel Vadot 1275956d97fSEmmanuel Vadot - if: 1285956d97fSEmmanuel Vadot properties: 1295956d97fSEmmanuel Vadot compatible: 1305956d97fSEmmanuel Vadot contains: 1315956d97fSEmmanuel Vadot const: rockchip,rk3288-grf 1325956d97fSEmmanuel Vadot 1335956d97fSEmmanuel Vadot then: 1345956d97fSEmmanuel Vadot properties: 1355956d97fSEmmanuel Vadot edp-phy: 136cb7aa33aSEmmanuel Vadot type: object 137cb7aa33aSEmmanuel Vadot $ref: /schemas/phy/rockchip,rk3288-dp-phy.yaml# 138cb7aa33aSEmmanuel Vadot unevaluatedProperties: false 1395956d97fSEmmanuel Vadot 1405956d97fSEmmanuel Vadot - if: 1415956d97fSEmmanuel Vadot properties: 1425956d97fSEmmanuel Vadot compatible: 1435956d97fSEmmanuel Vadot contains: 1445956d97fSEmmanuel Vadot enum: 1455956d97fSEmmanuel Vadot - rockchip,rk3066-grf 1465956d97fSEmmanuel Vadot - rockchip,rk3188-grf 1475956d97fSEmmanuel Vadot - rockchip,rk3288-grf 1485956d97fSEmmanuel Vadot 1495956d97fSEmmanuel Vadot then: 1505956d97fSEmmanuel Vadot properties: 1515956d97fSEmmanuel Vadot usbphy: 1525956d97fSEmmanuel Vadot type: object 1535956d97fSEmmanuel Vadot 154f126890aSEmmanuel Vadot $ref: /schemas/phy/rockchip-usb-phy.yaml# 1555956d97fSEmmanuel Vadot 1565956d97fSEmmanuel Vadot unevaluatedProperties: false 1575956d97fSEmmanuel Vadot 1585956d97fSEmmanuel Vadot - if: 1595956d97fSEmmanuel Vadot properties: 1605956d97fSEmmanuel Vadot compatible: 1615956d97fSEmmanuel Vadot contains: 1625956d97fSEmmanuel Vadot const: rockchip,rk3328-grf 1635956d97fSEmmanuel Vadot 1645956d97fSEmmanuel Vadot then: 1655956d97fSEmmanuel Vadot properties: 1665956d97fSEmmanuel Vadot gpio: 1675956d97fSEmmanuel Vadot type: object 1685956d97fSEmmanuel Vadot 169f126890aSEmmanuel Vadot $ref: /schemas/gpio/rockchip,rk3328-grf-gpio.yaml# 1705956d97fSEmmanuel Vadot 1715956d97fSEmmanuel Vadot unevaluatedProperties: false 1725956d97fSEmmanuel Vadot 1735956d97fSEmmanuel Vadot power-controller: 1745956d97fSEmmanuel Vadot type: object 1755956d97fSEmmanuel Vadot 176f126890aSEmmanuel Vadot $ref: /schemas/power/rockchip,power-controller.yaml# 1775956d97fSEmmanuel Vadot 1785956d97fSEmmanuel Vadot unevaluatedProperties: false 1795956d97fSEmmanuel Vadot 1805956d97fSEmmanuel Vadot - if: 1815956d97fSEmmanuel Vadot properties: 1825956d97fSEmmanuel Vadot compatible: 1835956d97fSEmmanuel Vadot contains: 1845956d97fSEmmanuel Vadot const: rockchip,rk3399-grf 1855956d97fSEmmanuel Vadot 1865956d97fSEmmanuel Vadot then: 1875956d97fSEmmanuel Vadot properties: 1885956d97fSEmmanuel Vadot mipi-dphy-rx0: 1895956d97fSEmmanuel Vadot type: object 1905956d97fSEmmanuel Vadot 191f126890aSEmmanuel Vadot $ref: /schemas/phy/rockchip-mipi-dphy-rx0.yaml# 1925956d97fSEmmanuel Vadot 1935956d97fSEmmanuel Vadot unevaluatedProperties: false 1945956d97fSEmmanuel Vadot 1955956d97fSEmmanuel Vadot pcie-phy: 19601950c46SEmmanuel Vadot type: object 1975956d97fSEmmanuel Vadot description: 1985956d97fSEmmanuel Vadot Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt 1995956d97fSEmmanuel Vadot 2005956d97fSEmmanuel Vadot patternProperties: 2010e8011faSEmmanuel Vadot "^phy@[0-9a-f]+$": 2020e8011faSEmmanuel Vadot type: object 2030e8011faSEmmanuel Vadot $ref: /schemas/phy/rockchip,rk3399-emmc-phy.yaml# 2040e8011faSEmmanuel Vadot unevaluatedProperties: false 2055956d97fSEmmanuel Vadot 2065956d97fSEmmanuel Vadot - if: 2075956d97fSEmmanuel Vadot properties: 2085956d97fSEmmanuel Vadot compatible: 2095956d97fSEmmanuel Vadot contains: 2105956d97fSEmmanuel Vadot enum: 2115956d97fSEmmanuel Vadot - rockchip,px30-pmugrf 2125956d97fSEmmanuel Vadot - rockchip,rk3036-grf 2135956d97fSEmmanuel Vadot - rockchip,rk3308-grf 2145956d97fSEmmanuel Vadot - rockchip,rk3368-pmugrf 2155956d97fSEmmanuel Vadot 2165956d97fSEmmanuel Vadot then: 2175956d97fSEmmanuel Vadot properties: 2185956d97fSEmmanuel Vadot reboot-mode: 2195956d97fSEmmanuel Vadot type: object 2205956d97fSEmmanuel Vadot 221f126890aSEmmanuel Vadot $ref: /schemas/power/reset/syscon-reboot-mode.yaml# 2225956d97fSEmmanuel Vadot 2235956d97fSEmmanuel Vadot unevaluatedProperties: false 2245956d97fSEmmanuel Vadot 2255956d97fSEmmanuel Vadot - if: 2265956d97fSEmmanuel Vadot properties: 2275956d97fSEmmanuel Vadot compatible: 2285956d97fSEmmanuel Vadot contains: 2295956d97fSEmmanuel Vadot enum: 2305956d97fSEmmanuel Vadot - rockchip,px30-usb2phy-grf 2317ef62cebSEmmanuel Vadot - rockchip,rk3128-grf 2325956d97fSEmmanuel Vadot - rockchip,rk3228-grf 2335956d97fSEmmanuel Vadot - rockchip,rk3308-usb2phy-grf 2345956d97fSEmmanuel Vadot - rockchip,rk3328-usb2phy-grf 2355956d97fSEmmanuel Vadot - rockchip,rk3399-grf 236f126890aSEmmanuel Vadot - rockchip,rk3588-usb2phy-grf 2375956d97fSEmmanuel Vadot - rockchip,rv1108-grf 2385956d97fSEmmanuel Vadot 2395956d97fSEmmanuel Vadot then: 2405956d97fSEmmanuel Vadot required: 2415956d97fSEmmanuel Vadot - "#address-cells" 2425956d97fSEmmanuel Vadot - "#size-cells" 2435956d97fSEmmanuel Vadot 2445956d97fSEmmanuel Vadot patternProperties: 2455956d97fSEmmanuel Vadot "usb2phy@[0-9a-f]+$": 2465956d97fSEmmanuel Vadot type: object 2475956d97fSEmmanuel Vadot 248cb7aa33aSEmmanuel Vadot $ref: /schemas/phy/rockchip,inno-usb2phy.yaml# 2495956d97fSEmmanuel Vadot 2505956d97fSEmmanuel Vadot unevaluatedProperties: false 2515956d97fSEmmanuel Vadot 2525956d97fSEmmanuel Vadot - if: 2535956d97fSEmmanuel Vadot properties: 2545956d97fSEmmanuel Vadot compatible: 2555956d97fSEmmanuel Vadot contains: 2565956d97fSEmmanuel Vadot enum: 2575956d97fSEmmanuel Vadot - rockchip,px30-grf 258354d7675SEmmanuel Vadot - rockchip,px30-pmugrf 259354d7675SEmmanuel Vadot - rockchip,rk3188-grf 2605956d97fSEmmanuel Vadot - rockchip,rk3228-grf 2615956d97fSEmmanuel Vadot - rockchip,rk3288-grf 2625956d97fSEmmanuel Vadot - rockchip,rk3328-grf 2635956d97fSEmmanuel Vadot - rockchip,rk3368-grf 264354d7675SEmmanuel Vadot - rockchip,rk3368-pmugrf 2655956d97fSEmmanuel Vadot - rockchip,rk3399-grf 266354d7675SEmmanuel Vadot - rockchip,rk3399-pmugrf 267354d7675SEmmanuel Vadot - rockchip,rk3568-pmugrf 26884943d6fSEmmanuel Vadot - rockchip,rk3588-pmugrf 269354d7675SEmmanuel Vadot - rockchip,rv1108-grf 270354d7675SEmmanuel Vadot - rockchip,rv1108-pmugrf 2715956d97fSEmmanuel Vadot 2725956d97fSEmmanuel Vadot then: 2735956d97fSEmmanuel Vadot properties: 2745956d97fSEmmanuel Vadot io-domains: 275354d7675SEmmanuel Vadot type: object 276354d7675SEmmanuel Vadot 277f126890aSEmmanuel Vadot $ref: /schemas/power/rockchip-io-domain.yaml# 278354d7675SEmmanuel Vadot 279354d7675SEmmanuel Vadot unevaluatedProperties: false 2805956d97fSEmmanuel Vadot 28101950c46SEmmanuel Vadot - if: 28201950c46SEmmanuel Vadot properties: 28301950c46SEmmanuel Vadot compatible: 28401950c46SEmmanuel Vadot contains: 28501950c46SEmmanuel Vadot enum: 28601950c46SEmmanuel Vadot - rockchip,rk3588-vo-grf 2870e8011faSEmmanuel Vadot - rockchip,rk3588-vo0-grf 2880e8011faSEmmanuel Vadot - rockchip,rk3588-vo1-grf 28901950c46SEmmanuel Vadot 29001950c46SEmmanuel Vadot then: 29101950c46SEmmanuel Vadot required: 29201950c46SEmmanuel Vadot - clocks 29301950c46SEmmanuel Vadot 29401950c46SEmmanuel Vadot else: 29501950c46SEmmanuel Vadot properties: 29601950c46SEmmanuel Vadot clocks: false 29701950c46SEmmanuel Vadot 29801950c46SEmmanuel Vadot 2995956d97fSEmmanuel Vadotexamples: 3005956d97fSEmmanuel Vadot - | 3015956d97fSEmmanuel Vadot #include <dt-bindings/clock/rk3399-cru.h> 3025956d97fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 3035956d97fSEmmanuel Vadot #include <dt-bindings/power/rk3399-power.h> 3045956d97fSEmmanuel Vadot grf: syscon@ff770000 { 3055956d97fSEmmanuel Vadot compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd"; 3065956d97fSEmmanuel Vadot reg = <0xff770000 0x10000>; 3075956d97fSEmmanuel Vadot #address-cells = <1>; 3085956d97fSEmmanuel Vadot #size-cells = <1>; 3095956d97fSEmmanuel Vadot 3105956d97fSEmmanuel Vadot mipi_dphy_rx0: mipi-dphy-rx0 { 3115956d97fSEmmanuel Vadot compatible = "rockchip,rk3399-mipi-dphy-rx0"; 3125956d97fSEmmanuel Vadot clocks = <&cru SCLK_MIPIDPHY_REF>, 3135956d97fSEmmanuel Vadot <&cru SCLK_DPHY_RX0_CFG>, 3145956d97fSEmmanuel Vadot <&cru PCLK_VIO_GRF>; 3155956d97fSEmmanuel Vadot clock-names = "dphy-ref", "dphy-cfg", "grf"; 3165956d97fSEmmanuel Vadot power-domains = <&power RK3399_PD_VIO>; 3175956d97fSEmmanuel Vadot #phy-cells = <0>; 3185956d97fSEmmanuel Vadot }; 3195956d97fSEmmanuel Vadot 3200e8011faSEmmanuel Vadot phy@f780 { 3210e8011faSEmmanuel Vadot compatible = "rockchip,rk3399-emmc-phy"; 3220e8011faSEmmanuel Vadot reg = <0xf780 0x20>; 3230e8011faSEmmanuel Vadot clocks = <&sdhci>; 3240e8011faSEmmanuel Vadot clock-names = "emmcclk"; 3250e8011faSEmmanuel Vadot drive-impedance-ohm = <50>; 3260e8011faSEmmanuel Vadot #phy-cells = <0>; 3270e8011faSEmmanuel Vadot }; 3280e8011faSEmmanuel Vadot 3295956d97fSEmmanuel Vadot u2phy0: usb2phy@e450 { 3305956d97fSEmmanuel Vadot compatible = "rockchip,rk3399-usb2phy"; 3315956d97fSEmmanuel Vadot reg = <0xe450 0x10>; 3325956d97fSEmmanuel Vadot clocks = <&cru SCLK_USB2PHY0_REF>; 3335956d97fSEmmanuel Vadot clock-names = "phyclk"; 3345956d97fSEmmanuel Vadot #clock-cells = <0>; 3355956d97fSEmmanuel Vadot clock-output-names = "clk_usbphy0_480m"; 3365956d97fSEmmanuel Vadot 3375956d97fSEmmanuel Vadot u2phy0_host: host-port { 3385956d97fSEmmanuel Vadot #phy-cells = <0>; 3395956d97fSEmmanuel Vadot interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>; 3405956d97fSEmmanuel Vadot interrupt-names = "linestate"; 3415956d97fSEmmanuel Vadot }; 3425956d97fSEmmanuel Vadot 3435956d97fSEmmanuel Vadot u2phy0_otg: otg-port { 3445956d97fSEmmanuel Vadot #phy-cells = <0>; 3455956d97fSEmmanuel Vadot interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>, 3465956d97fSEmmanuel Vadot <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>, 3475956d97fSEmmanuel Vadot <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>; 3485956d97fSEmmanuel Vadot interrupt-names = "otg-bvalid", "otg-id", 3495956d97fSEmmanuel Vadot "linestate"; 3505956d97fSEmmanuel Vadot }; 3515956d97fSEmmanuel Vadot }; 3525956d97fSEmmanuel Vadot }; 353