xref: /linux/Documentation/devicetree/bindings/soc/rockchip/grf.yaml (revision 42b16d3ac371a2fac9b6f08fd75f23f34ba3955a)
12ed2732eSJohan Jonker# SPDX-License-Identifier: GPL-2.0
22ed2732eSJohan Jonker%YAML 1.2
32ed2732eSJohan Jonker---
42ed2732eSJohan Jonker$id: http://devicetree.org/schemas/soc/rockchip/grf.yaml#
52ed2732eSJohan Jonker$schema: http://devicetree.org/meta-schemas/core.yaml#
62ed2732eSJohan Jonker
72ed2732eSJohan Jonkertitle: Rockchip General Register Files (GRF)
82ed2732eSJohan Jonker
92ed2732eSJohan Jonkermaintainers:
102ed2732eSJohan Jonker  - Heiko Stuebner <heiko@sntech.de>
112ed2732eSJohan Jonker
122ed2732eSJohan Jonkerproperties:
132ed2732eSJohan Jonker  compatible:
142ed2732eSJohan Jonker    oneOf:
152ed2732eSJohan Jonker      - items:
162ed2732eSJohan Jonker          - enum:
172ed2732eSJohan Jonker              - rockchip,rk3288-sgrf
182a872dd8SPeter Geis              - rockchip,rk3566-pipe-grf
194e441643SFrank Wunderlich              - rockchip,rk3568-pcie3-phy-grf
208a1b63b1SJohan Jonker              - rockchip,rk3568-pipe-grf
218a1b63b1SJohan Jonker              - rockchip,rk3568-pipe-phy-grf
227dbb47d6SPeter Geis              - rockchip,rk3568-usb2phy-grf
23306f74d2SSebastian Reichel              - rockchip,rk3576-bigcore-grf
24306f74d2SSebastian Reichel              - rockchip,rk3576-cci-grf
25738227abSCristian Ciocaltea              - rockchip,rk3576-gpu-grf
26306f74d2SSebastian Reichel              - rockchip,rk3576-litcore-grf
27306f74d2SSebastian Reichel              - rockchip,rk3576-npu-grf
28ea85370dSSebastian Reichel              - rockchip,rk3576-php-grf
29306f74d2SSebastian Reichel              - rockchip,rk3576-pipe-phy-grf
304e441643SFrank Wunderlich              - rockchip,rk3576-pmu1-grf
314e441643SFrank Wunderlich              - rockchip,rk3576-sdgmac-grf
3285a33544SSebastian Reichel              - rockchip,rk3576-sys-grf
3385a33544SSebastian Reichel              - rockchip,rk3576-usb-grf
34*11746c33SCristian Ciocaltea              - rockchip,rk3576-usbdpphy-grf
35*11746c33SCristian Ciocaltea              - rockchip,rk3576-vo0-grf
361a648f8bSAndy Yan              - rockchip,rk3576-vop-grf
372ed2732eSJohan Jonker              - rockchip,rk3588-bigcore0-grf
382ed2732eSJohan Jonker              - rockchip,rk3588-bigcore1-grf
392ed2732eSJohan Jonker              - rockchip,rk3588-hdptxphy-grf
40*11746c33SCristian Ciocaltea              - rockchip,rk3588-ioc
41*11746c33SCristian Ciocaltea              - rockchip,rk3588-php-grf
42*11746c33SCristian Ciocaltea              - rockchip,rk3588-pipe-phy-grf
43*11746c33SCristian Ciocaltea              - rockchip,rk3588-sys-grf
44*11746c33SCristian Ciocaltea              - rockchip,rk3588-pcie3-phy-grf
452ed2732eSJohan Jonker              - rockchip,rk3588-pcie3-pipe-grf
462ed2732eSJohan Jonker              - rockchip,rk3588-usb-grf
472ed2732eSJohan Jonker              - rockchip,rk3588-usbdpphy-grf
482ed2732eSJohan Jonker              - rockchip,rk3588-vo0-grf
492ed2732eSJohan Jonker              - rockchip,rk3588-vo1-grf
502ed2732eSJohan Jonker              - rockchip,rk3588-vop-grf
51adc4f190SJohan Jonker              - rockchip,rv1108-usbgrf
522ed2732eSJohan Jonker          - const: syscon
532ed2732eSJohan Jonker      - items:
542ed2732eSJohan Jonker          - const: rockchip,rk3588-vo-grf
552ed2732eSJohan Jonker          - const: syscon
562ed2732eSJohan Jonker        deprecated: true
572ed2732eSJohan Jonker        description: Use rockchip,rk3588-vo{0,1}-grf instead.
58da76290fSTobias Schramm      - items:
592ed2732eSJohan Jonker          - enum:
602ed2732eSJohan Jonker              - rockchip,px30-grf
612ed2732eSJohan Jonker              - rockchip,px30-pmugrf
622ed2732eSJohan Jonker              - rockchip,px30-usb2phy-grf
632ed2732eSJohan Jonker              - rockchip,rk3036-grf
642ed2732eSJohan Jonker              - rockchip,rk3066-grf
652ed2732eSJohan Jonker              - rockchip,rk3128-grf
662ed2732eSJohan Jonker              - rockchip,rk3188-grf
677224aefbSSebastian Reichel              - rockchip,rk3228-grf
682ed2732eSJohan Jonker              - rockchip,rk3288-grf
69959e131fSJohan Jonker              - rockchip,rk3308-core-grf
7026d8b279SJagan Teki              - rockchip,rk3308-detect-grf
71614ce48bSJagan Teki              - rockchip,rk3308-grf
722ed2732eSJohan Jonker              - rockchip,rk3308-usb2phy-grf
732ed2732eSJohan Jonker              - rockchip,rk3328-grf
742ed2732eSJohan Jonker              - rockchip,rk3328-usb2phy-grf
752ed2732eSJohan Jonker              - rockchip,rk3368-grf
762ed2732eSJohan Jonker              - rockchip,rk3368-pmugrf
772ed2732eSJohan Jonker              - rockchip,rk3399-grf
78c110b7e2SSebastian Reichel              - rockchip,rk3399-pmugrf
79c110b7e2SSebastian Reichel              - rockchip,rk3568-grf
80c110b7e2SSebastian Reichel              - rockchip,rk3568-pmugrf
812ed2732eSJohan Jonker              - rockchip,rk3576-ioc-grf
822ed2732eSJohan Jonker              - rockchip,rk3576-pmu0-grf
832ed2732eSJohan Jonker              - rockchip,rk3588-usb2phy-grf
842ed2732eSJohan Jonker              - rockchip,rv1108-grf
852ed2732eSJohan Jonker              - rockchip,rv1108-pmugrf
862ed2732eSJohan Jonker              - rockchip,rv1126-grf
872ed2732eSJohan Jonker              - rockchip,rv1126-pmugrf
882ed2732eSJohan Jonker          - const: syscon
892ed2732eSJohan Jonker          - const: simple-mfd
902ed2732eSJohan Jonker
912ed2732eSJohan Jonker  reg:
922ed2732eSJohan Jonker    maxItems: 1
932ed2732eSJohan Jonker
942ed2732eSJohan Jonker  clocks:
952ed2732eSJohan Jonker    maxItems: 1
962ed2732eSJohan Jonker
972ed2732eSJohan Jonker  "#address-cells":
982ed2732eSJohan Jonker    const: 1
99cbfc73a3SJohan Jonker
100cbfc73a3SJohan Jonker  "#size-cells":
1012ed2732eSJohan Jonker    const: 1
1022ed2732eSJohan Jonker
1032ed2732eSJohan Jonkerrequired:
1042ed2732eSJohan Jonker  - compatible
105cbfc73a3SJohan Jonker  - reg
106cbfc73a3SJohan Jonker
107cbfc73a3SJohan JonkeradditionalProperties:
108cbfc73a3SJohan Jonker  type: object
109cbfc73a3SJohan Jonker
1102ed2732eSJohan JonkerallOf:
1112ed2732eSJohan Jonker  - if:
1122ed2732eSJohan Jonker      properties:
1132ed2732eSJohan Jonker        compatible:
1142ed2732eSJohan Jonker          contains:
1152ed2732eSJohan Jonker            enum:
1162ed2732eSJohan Jonker              - rockchip,px30-grf
1172ed2732eSJohan Jonker
1182ed2732eSJohan Jonker    then:
1192ed2732eSJohan Jonker      properties:
12051b20892SJohan Jonker        lvds:
12151b20892SJohan Jonker          type: object
12251b20892SJohan Jonker
1232ed2732eSJohan Jonker          $ref: /schemas/display/rockchip/rockchip,lvds.yaml#
1242ed2732eSJohan Jonker
1252ed2732eSJohan Jonker          unevaluatedProperties: false
1262ed2732eSJohan Jonker
1272ed2732eSJohan Jonker  - if:
1282ed2732eSJohan Jonker      properties:
1292ed2732eSJohan Jonker        compatible:
1302ed2732eSJohan Jonker          contains:
1312ed2732eSJohan Jonker            const: rockchip,rk3288-grf
1322ed2732eSJohan Jonker
1332ed2732eSJohan Jonker    then:
1342ed2732eSJohan Jonker      properties:
1352ed2732eSJohan Jonker        edp-phy:
1362ed2732eSJohan Jonker          type: object
1372ed2732eSJohan Jonker          $ref: /schemas/phy/rockchip,rk3288-dp-phy.yaml#
1380d36b50eSKrzysztof Kozlowski          unevaluatedProperties: false
1392ed2732eSJohan Jonker
1402ed2732eSJohan Jonker  - if:
1412ed2732eSJohan Jonker      properties:
1422ed2732eSJohan Jonker        compatible:
1432ed2732eSJohan Jonker          contains:
1442ed2732eSJohan Jonker            enum:
1452ed2732eSJohan Jonker              - rockchip,rk3066-grf
1462ed2732eSJohan Jonker              - rockchip,rk3188-grf
1472ed2732eSJohan Jonker              - rockchip,rk3288-grf
1482ed2732eSJohan Jonker
1492ed2732eSJohan Jonker    then:
1502ed2732eSJohan Jonker      properties:
1512ed2732eSJohan Jonker        usbphy:
1522ed2732eSJohan Jonker          type: object
1530d36b50eSKrzysztof Kozlowski
1542ed2732eSJohan Jonker          $ref: /schemas/phy/rockchip-usb-phy.yaml#
1552ed2732eSJohan Jonker
1562ed2732eSJohan Jonker          unevaluatedProperties: false
1572ed2732eSJohan Jonker
1582ed2732eSJohan Jonker  - if:
1592ed2732eSJohan Jonker      properties:
1600d36b50eSKrzysztof Kozlowski        compatible:
1612ed2732eSJohan Jonker          contains:
1622ed2732eSJohan Jonker            const: rockchip,rk3328-grf
1632ed2732eSJohan Jonker
1642ed2732eSJohan Jonker    then:
1652ed2732eSJohan Jonker      properties:
1662ed2732eSJohan Jonker        gpio:
1672ed2732eSJohan Jonker          type: object
1682ed2732eSJohan Jonker
1692ed2732eSJohan Jonker          $ref: /schemas/gpio/rockchip,rk3328-grf-gpio.yaml#
1702ed2732eSJohan Jonker
1712ed2732eSJohan Jonker          unevaluatedProperties: false
1722ed2732eSJohan Jonker
1732ed2732eSJohan Jonker        power-controller:
1742ed2732eSJohan Jonker          type: object
1750d36b50eSKrzysztof Kozlowski
1762ed2732eSJohan Jonker          $ref: /schemas/power/rockchip,power-controller.yaml#
1772ed2732eSJohan Jonker
1782ed2732eSJohan Jonker          unevaluatedProperties: false
1792ed2732eSJohan Jonker
180d41201c9SRob Herring  - if:
1812ed2732eSJohan Jonker      properties:
1822ed2732eSJohan Jonker        compatible:
1832ed2732eSJohan Jonker          contains:
1842ed2732eSJohan Jonker            const: rockchip,rk3399-grf
185e245c725SShresth Prasad
186e245c725SShresth Prasad    then:
187e245c725SShresth Prasad      properties:
188e245c725SShresth Prasad        mipi-dphy-rx0:
1892ed2732eSJohan Jonker          type: object
1902ed2732eSJohan Jonker
1912ed2732eSJohan Jonker          $ref: /schemas/phy/rockchip-mipi-dphy-rx0.yaml#
1922ed2732eSJohan Jonker
1932ed2732eSJohan Jonker          unevaluatedProperties: false
1942ed2732eSJohan Jonker
1952ed2732eSJohan Jonker        pcie-phy:
1962ed2732eSJohan Jonker          type: object
1972ed2732eSJohan Jonker          description:
1982ed2732eSJohan Jonker            Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt
1992ed2732eSJohan Jonker
2002ed2732eSJohan Jonker      patternProperties:
2012ed2732eSJohan Jonker        "^phy@[0-9a-f]+$":
2022ed2732eSJohan Jonker          type: object
2032ed2732eSJohan Jonker          $ref: /schemas/phy/rockchip,rk3399-emmc-phy.yaml#
2042ed2732eSJohan Jonker          unevaluatedProperties: false
2050d36b50eSKrzysztof Kozlowski
2062ed2732eSJohan Jonker  - if:
2072ed2732eSJohan Jonker      properties:
2082ed2732eSJohan Jonker        compatible:
2092ed2732eSJohan Jonker          contains:
2102ed2732eSJohan Jonker            enum:
2112ed2732eSJohan Jonker              - rockchip,px30-pmugrf
2122ed2732eSJohan Jonker              - rockchip,rk3036-grf
2132ed2732eSJohan Jonker              - rockchip,rk3308-grf
2142ed2732eSJohan Jonker              - rockchip,rk3368-pmugrf
215adc4f190SJohan Jonker
2162ed2732eSJohan Jonker    then:
217da76290fSTobias Schramm      properties:
2182ed2732eSJohan Jonker        reboot-mode:
2192ed2732eSJohan Jonker          type: object
2207224aefbSSebastian Reichel
2212ed2732eSJohan Jonker          $ref: /schemas/power/reset/syscon-reboot-mode.yaml#
2222ed2732eSJohan Jonker
2232ed2732eSJohan Jonker          unevaluatedProperties: false
2242ed2732eSJohan Jonker
2252ed2732eSJohan Jonker  - if:
2262ed2732eSJohan Jonker      properties:
2272ed2732eSJohan Jonker        compatible:
2282ed2732eSJohan Jonker          contains:
229e71ccdffSJohan Jonker            enum:
2302ed2732eSJohan Jonker              - rockchip,px30-usb2phy-grf
2312ed2732eSJohan Jonker              - rockchip,rk3128-grf
2320f48b0edSJohan Jonker              - rockchip,rk3228-grf
2332ed2732eSJohan Jonker              - rockchip,rk3308-usb2phy-grf
2342ed2732eSJohan Jonker              - rockchip,rk3328-usb2phy-grf
2352ed2732eSJohan Jonker              - rockchip,rk3399-grf
2362ed2732eSJohan Jonker              - rockchip,rk3588-usb2phy-grf
2372ed2732eSJohan Jonker              - rockchip,rv1108-grf
2382ed2732eSJohan Jonker
2392ed2732eSJohan Jonker    then:
2402ed2732eSJohan Jonker      required:
2412ed2732eSJohan Jonker        - "#address-cells"
242959e131fSJohan Jonker        - "#size-cells"
243959e131fSJohan Jonker
2442ed2732eSJohan Jonker      patternProperties:
2452ed2732eSJohan Jonker        "usb2phy@[0-9a-f]+$":
2462ed2732eSJohan Jonker          type: object
2472ed2732eSJohan Jonker
248959e131fSJohan Jonker          $ref: /schemas/phy/rockchip,inno-usb2phy.yaml#
2492ed2732eSJohan Jonker
250959e131fSJohan Jonker          unevaluatedProperties: false
251fadbd4e7SMichael Riesch
2522a842c4eSSascha Hauer  - if:
253959e131fSJohan Jonker      properties:
254959e131fSJohan Jonker        compatible:
2552ed2732eSJohan Jonker          contains:
2562ed2732eSJohan Jonker            enum:
2572ed2732eSJohan Jonker              - rockchip,px30-grf
2582ed2732eSJohan Jonker              - rockchip,px30-pmugrf
259959e131fSJohan Jonker              - rockchip,rk3188-grf
260959e131fSJohan Jonker              - rockchip,rk3228-grf
2610d36b50eSKrzysztof Kozlowski              - rockchip,rk3288-grf
262959e131fSJohan Jonker              - rockchip,rk3328-grf
263959e131fSJohan Jonker              - rockchip,rk3368-grf
2642ed2732eSJohan Jonker              - rockchip,rk3368-pmugrf
265c110b7e2SSebastian Reichel              - rockchip,rk3399-grf
266c110b7e2SSebastian Reichel              - rockchip,rk3399-pmugrf
267c110b7e2SSebastian Reichel              - rockchip,rk3568-pmugrf
268c110b7e2SSebastian Reichel              - rockchip,rk3588-pmugrf
269c110b7e2SSebastian Reichel              - rockchip,rv1108-grf
270c110b7e2SSebastian Reichel              - rockchip,rv1108-pmugrf
271*11746c33SCristian Ciocaltea
272*11746c33SCristian Ciocaltea    then:
273c110b7e2SSebastian Reichel      properties:
274c110b7e2SSebastian Reichel        io-domains:
275c110b7e2SSebastian Reichel          type: object
276c110b7e2SSebastian Reichel
277c110b7e2SSebastian Reichel          $ref: /schemas/power/rockchip-io-domain.yaml#
278c110b7e2SSebastian Reichel
279c110b7e2SSebastian Reichel          unevaluatedProperties: false
280c110b7e2SSebastian Reichel
281c110b7e2SSebastian Reichel  - if:
282c110b7e2SSebastian Reichel      properties:
2832ed2732eSJohan Jonker        compatible:
2842ed2732eSJohan Jonker          contains:
2852ed2732eSJohan Jonker            enum:
2862ed2732eSJohan Jonker              - rockchip,rk3588-vo-grf
2872ed2732eSJohan Jonker              - rockchip,rk3588-vo0-grf
2882ed2732eSJohan Jonker              - rockchip,rk3588-vo1-grf
2892ed2732eSJohan Jonker
2902ed2732eSJohan Jonker    then:
2912ed2732eSJohan Jonker      required:
2922ed2732eSJohan Jonker        - clocks
2932ed2732eSJohan Jonker
2942ed2732eSJohan Jonker    else:
2952ed2732eSJohan Jonker      properties:
2962ed2732eSJohan Jonker        clocks: false
2972ed2732eSJohan Jonker
2982ed2732eSJohan Jonker
2992ed2732eSJohan Jonkerexamples:
3002ed2732eSJohan Jonker  - |
3012ed2732eSJohan Jonker    #include <dt-bindings/clock/rk3399-cru.h>
3022ed2732eSJohan Jonker    #include <dt-bindings/interrupt-controller/arm-gic.h>
3032ed2732eSJohan Jonker    #include <dt-bindings/power/rk3399-power.h>
304e245c725SShresth Prasad    grf: syscon@ff770000 {
305e245c725SShresth Prasad      compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
306e245c725SShresth Prasad      reg = <0xff770000 0x10000>;
307e245c725SShresth Prasad      #address-cells = <1>;
308e245c725SShresth Prasad      #size-cells = <1>;
309e245c725SShresth Prasad
310e245c725SShresth Prasad      mipi_dphy_rx0: mipi-dphy-rx0 {
311e245c725SShresth Prasad        compatible = "rockchip,rk3399-mipi-dphy-rx0";
312e245c725SShresth Prasad        clocks = <&cru SCLK_MIPIDPHY_REF>,
313e71ccdffSJohan Jonker                 <&cru SCLK_DPHY_RX0_CFG>,
3142ed2732eSJohan Jonker                 <&cru PCLK_VIO_GRF>;
3152ed2732eSJohan Jonker        clock-names = "dphy-ref", "dphy-cfg", "grf";
3162ed2732eSJohan Jonker        power-domains = <&power RK3399_PD_VIO>;
3172ed2732eSJohan Jonker        #phy-cells = <0>;
3182ed2732eSJohan Jonker      };
3192ed2732eSJohan Jonker
3202ed2732eSJohan Jonker      phy@f780 {
3212ed2732eSJohan Jonker        compatible = "rockchip,rk3399-emmc-phy";
3222ed2732eSJohan Jonker        reg = <0xf780 0x20>;
3232ed2732eSJohan Jonker        clocks = <&sdhci>;
3242ed2732eSJohan Jonker        clock-names = "emmcclk";
3252ed2732eSJohan Jonker        drive-impedance-ohm = <50>;
3262ed2732eSJohan Jonker        #phy-cells = <0>;
3272ed2732eSJohan Jonker      };
3282ed2732eSJohan Jonker
3292ed2732eSJohan Jonker      u2phy0: usb2phy@e450 {
3302ed2732eSJohan Jonker        compatible = "rockchip,rk3399-usb2phy";
3312ed2732eSJohan Jonker        reg = <0xe450 0x10>;
3322ed2732eSJohan Jonker        clocks = <&cru SCLK_USB2PHY0_REF>;
3332ed2732eSJohan Jonker        clock-names = "phyclk";
3342ed2732eSJohan Jonker        #clock-cells = <0>;
3352ed2732eSJohan Jonker        clock-output-names = "clk_usbphy0_480m";
3362ed2732eSJohan Jonker
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