162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/soc/rockchip/grf.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Rockchip General Register Files (GRF) 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Heiko Stuebner <heiko@sntech.de> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ciproperties: 1362306a36Sopenharmony_ci compatible: 1462306a36Sopenharmony_ci oneOf: 1562306a36Sopenharmony_ci - items: 1662306a36Sopenharmony_ci - enum: 1762306a36Sopenharmony_ci - rockchip,rk3288-sgrf 1862306a36Sopenharmony_ci - rockchip,rk3566-pipe-grf 1962306a36Sopenharmony_ci - rockchip,rk3568-pcie3-phy-grf 2062306a36Sopenharmony_ci - rockchip,rk3568-pipe-grf 2162306a36Sopenharmony_ci - rockchip,rk3568-pipe-phy-grf 2262306a36Sopenharmony_ci - rockchip,rk3568-usb2phy-grf 2362306a36Sopenharmony_ci - rockchip,rk3588-bigcore0-grf 2462306a36Sopenharmony_ci - rockchip,rk3588-bigcore1-grf 2562306a36Sopenharmony_ci - rockchip,rk3588-ioc 2662306a36Sopenharmony_ci - rockchip,rk3588-php-grf 2762306a36Sopenharmony_ci - rockchip,rk3588-pipe-phy-grf 2862306a36Sopenharmony_ci - rockchip,rk3588-sys-grf 2962306a36Sopenharmony_ci - rockchip,rk3588-pcie3-phy-grf 3062306a36Sopenharmony_ci - rockchip,rk3588-pcie3-pipe-grf 3162306a36Sopenharmony_ci - rockchip,rv1108-usbgrf 3262306a36Sopenharmony_ci - const: syscon 3362306a36Sopenharmony_ci - items: 3462306a36Sopenharmony_ci - enum: 3562306a36Sopenharmony_ci - rockchip,px30-grf 3662306a36Sopenharmony_ci - rockchip,px30-pmugrf 3762306a36Sopenharmony_ci - rockchip,px30-usb2phy-grf 3862306a36Sopenharmony_ci - rockchip,rk3036-grf 3962306a36Sopenharmony_ci - rockchip,rk3066-grf 4062306a36Sopenharmony_ci - rockchip,rk3128-grf 4162306a36Sopenharmony_ci - rockchip,rk3188-grf 4262306a36Sopenharmony_ci - rockchip,rk3228-grf 4362306a36Sopenharmony_ci - rockchip,rk3288-grf 4462306a36Sopenharmony_ci - rockchip,rk3308-core-grf 4562306a36Sopenharmony_ci - rockchip,rk3308-detect-grf 4662306a36Sopenharmony_ci - rockchip,rk3308-grf 4762306a36Sopenharmony_ci - rockchip,rk3308-usb2phy-grf 4862306a36Sopenharmony_ci - rockchip,rk3328-grf 4962306a36Sopenharmony_ci - rockchip,rk3328-usb2phy-grf 5062306a36Sopenharmony_ci - rockchip,rk3368-grf 5162306a36Sopenharmony_ci - rockchip,rk3368-pmugrf 5262306a36Sopenharmony_ci - rockchip,rk3399-grf 5362306a36Sopenharmony_ci - rockchip,rk3399-pmugrf 5462306a36Sopenharmony_ci - rockchip,rk3568-grf 5562306a36Sopenharmony_ci - rockchip,rk3568-pmugrf 5662306a36Sopenharmony_ci - rockchip,rk3588-usb2phy-grf 5762306a36Sopenharmony_ci - rockchip,rv1108-grf 5862306a36Sopenharmony_ci - rockchip,rv1108-pmugrf 5962306a36Sopenharmony_ci - rockchip,rv1126-grf 6062306a36Sopenharmony_ci - rockchip,rv1126-pmugrf 6162306a36Sopenharmony_ci - const: syscon 6262306a36Sopenharmony_ci - const: simple-mfd 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci reg: 6562306a36Sopenharmony_ci maxItems: 1 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci "#address-cells": 6862306a36Sopenharmony_ci const: 1 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci "#size-cells": 7162306a36Sopenharmony_ci const: 1 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_cirequired: 7462306a36Sopenharmony_ci - compatible 7562306a36Sopenharmony_ci - reg 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ciadditionalProperties: 7862306a36Sopenharmony_ci type: object 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ciallOf: 8162306a36Sopenharmony_ci - if: 8262306a36Sopenharmony_ci properties: 8362306a36Sopenharmony_ci compatible: 8462306a36Sopenharmony_ci contains: 8562306a36Sopenharmony_ci enum: 8662306a36Sopenharmony_ci - rockchip,px30-grf 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci then: 8962306a36Sopenharmony_ci properties: 9062306a36Sopenharmony_ci lvds: 9162306a36Sopenharmony_ci type: object 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci $ref: /schemas/display/rockchip/rockchip,lvds.yaml# 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci unevaluatedProperties: false 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci - if: 9862306a36Sopenharmony_ci properties: 9962306a36Sopenharmony_ci compatible: 10062306a36Sopenharmony_ci contains: 10162306a36Sopenharmony_ci const: rockchip,rk3288-grf 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci then: 10462306a36Sopenharmony_ci properties: 10562306a36Sopenharmony_ci edp-phy: 10662306a36Sopenharmony_ci type: object 10762306a36Sopenharmony_ci $ref: /schemas/phy/rockchip,rk3288-dp-phy.yaml# 10862306a36Sopenharmony_ci unevaluatedProperties: false 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci - if: 11162306a36Sopenharmony_ci properties: 11262306a36Sopenharmony_ci compatible: 11362306a36Sopenharmony_ci contains: 11462306a36Sopenharmony_ci enum: 11562306a36Sopenharmony_ci - rockchip,rk3066-grf 11662306a36Sopenharmony_ci - rockchip,rk3188-grf 11762306a36Sopenharmony_ci - rockchip,rk3288-grf 11862306a36Sopenharmony_ci 11962306a36Sopenharmony_ci then: 12062306a36Sopenharmony_ci properties: 12162306a36Sopenharmony_ci usbphy: 12262306a36Sopenharmony_ci type: object 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ci $ref: /schemas/phy/rockchip-usb-phy.yaml# 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci unevaluatedProperties: false 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci - if: 12962306a36Sopenharmony_ci properties: 13062306a36Sopenharmony_ci compatible: 13162306a36Sopenharmony_ci contains: 13262306a36Sopenharmony_ci const: rockchip,rk3328-grf 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ci then: 13562306a36Sopenharmony_ci properties: 13662306a36Sopenharmony_ci gpio: 13762306a36Sopenharmony_ci type: object 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci $ref: /schemas/gpio/rockchip,rk3328-grf-gpio.yaml# 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci unevaluatedProperties: false 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci power-controller: 14462306a36Sopenharmony_ci type: object 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ci $ref: /schemas/power/rockchip,power-controller.yaml# 14762306a36Sopenharmony_ci 14862306a36Sopenharmony_ci unevaluatedProperties: false 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci - if: 15162306a36Sopenharmony_ci properties: 15262306a36Sopenharmony_ci compatible: 15362306a36Sopenharmony_ci contains: 15462306a36Sopenharmony_ci const: rockchip,rk3399-grf 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci then: 15762306a36Sopenharmony_ci properties: 15862306a36Sopenharmony_ci mipi-dphy-rx0: 15962306a36Sopenharmony_ci type: object 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci $ref: /schemas/phy/rockchip-mipi-dphy-rx0.yaml# 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci unevaluatedProperties: false 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci pcie-phy: 16662306a36Sopenharmony_ci description: 16762306a36Sopenharmony_ci Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ci patternProperties: 17062306a36Sopenharmony_ci "phy@[0-9a-f]+$": 17162306a36Sopenharmony_ci description: 17262306a36Sopenharmony_ci Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci - if: 17562306a36Sopenharmony_ci properties: 17662306a36Sopenharmony_ci compatible: 17762306a36Sopenharmony_ci contains: 17862306a36Sopenharmony_ci enum: 17962306a36Sopenharmony_ci - rockchip,px30-pmugrf 18062306a36Sopenharmony_ci - rockchip,rk3036-grf 18162306a36Sopenharmony_ci - rockchip,rk3308-grf 18262306a36Sopenharmony_ci - rockchip,rk3368-pmugrf 18362306a36Sopenharmony_ci 18462306a36Sopenharmony_ci then: 18562306a36Sopenharmony_ci properties: 18662306a36Sopenharmony_ci reboot-mode: 18762306a36Sopenharmony_ci type: object 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci $ref: /schemas/power/reset/syscon-reboot-mode.yaml# 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci unevaluatedProperties: false 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ci - if: 19462306a36Sopenharmony_ci properties: 19562306a36Sopenharmony_ci compatible: 19662306a36Sopenharmony_ci contains: 19762306a36Sopenharmony_ci enum: 19862306a36Sopenharmony_ci - rockchip,px30-usb2phy-grf 19962306a36Sopenharmony_ci - rockchip,rk3128-grf 20062306a36Sopenharmony_ci - rockchip,rk3228-grf 20162306a36Sopenharmony_ci - rockchip,rk3308-usb2phy-grf 20262306a36Sopenharmony_ci - rockchip,rk3328-usb2phy-grf 20362306a36Sopenharmony_ci - rockchip,rk3399-grf 20462306a36Sopenharmony_ci - rockchip,rk3588-usb2phy-grf 20562306a36Sopenharmony_ci - rockchip,rv1108-grf 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci then: 20862306a36Sopenharmony_ci required: 20962306a36Sopenharmony_ci - "#address-cells" 21062306a36Sopenharmony_ci - "#size-cells" 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci patternProperties: 21362306a36Sopenharmony_ci "usb2phy@[0-9a-f]+$": 21462306a36Sopenharmony_ci type: object 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci $ref: /schemas/phy/rockchip,inno-usb2phy.yaml# 21762306a36Sopenharmony_ci 21862306a36Sopenharmony_ci unevaluatedProperties: false 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci - if: 22162306a36Sopenharmony_ci properties: 22262306a36Sopenharmony_ci compatible: 22362306a36Sopenharmony_ci contains: 22462306a36Sopenharmony_ci enum: 22562306a36Sopenharmony_ci - rockchip,px30-grf 22662306a36Sopenharmony_ci - rockchip,px30-pmugrf 22762306a36Sopenharmony_ci - rockchip,rk3188-grf 22862306a36Sopenharmony_ci - rockchip,rk3228-grf 22962306a36Sopenharmony_ci - rockchip,rk3288-grf 23062306a36Sopenharmony_ci - rockchip,rk3328-grf 23162306a36Sopenharmony_ci - rockchip,rk3368-grf 23262306a36Sopenharmony_ci - rockchip,rk3368-pmugrf 23362306a36Sopenharmony_ci - rockchip,rk3399-grf 23462306a36Sopenharmony_ci - rockchip,rk3399-pmugrf 23562306a36Sopenharmony_ci - rockchip,rk3568-pmugrf 23662306a36Sopenharmony_ci - rockchip,rv1108-grf 23762306a36Sopenharmony_ci - rockchip,rv1108-pmugrf 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_ci then: 24062306a36Sopenharmony_ci properties: 24162306a36Sopenharmony_ci io-domains: 24262306a36Sopenharmony_ci type: object 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci $ref: /schemas/power/rockchip-io-domain.yaml# 24562306a36Sopenharmony_ci 24662306a36Sopenharmony_ci unevaluatedProperties: false 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ciexamples: 24962306a36Sopenharmony_ci - | 25062306a36Sopenharmony_ci #include <dt-bindings/clock/rk3399-cru.h> 25162306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 25262306a36Sopenharmony_ci #include <dt-bindings/power/rk3399-power.h> 25362306a36Sopenharmony_ci grf: syscon@ff770000 { 25462306a36Sopenharmony_ci compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd"; 25562306a36Sopenharmony_ci reg = <0xff770000 0x10000>; 25662306a36Sopenharmony_ci #address-cells = <1>; 25762306a36Sopenharmony_ci #size-cells = <1>; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci mipi_dphy_rx0: mipi-dphy-rx0 { 26062306a36Sopenharmony_ci compatible = "rockchip,rk3399-mipi-dphy-rx0"; 26162306a36Sopenharmony_ci clocks = <&cru SCLK_MIPIDPHY_REF>, 26262306a36Sopenharmony_ci <&cru SCLK_DPHY_RX0_CFG>, 26362306a36Sopenharmony_ci <&cru PCLK_VIO_GRF>; 26462306a36Sopenharmony_ci clock-names = "dphy-ref", "dphy-cfg", "grf"; 26562306a36Sopenharmony_ci power-domains = <&power RK3399_PD_VIO>; 26662306a36Sopenharmony_ci #phy-cells = <0>; 26762306a36Sopenharmony_ci }; 26862306a36Sopenharmony_ci 26962306a36Sopenharmony_ci u2phy0: usb2phy@e450 { 27062306a36Sopenharmony_ci compatible = "rockchip,rk3399-usb2phy"; 27162306a36Sopenharmony_ci reg = <0xe450 0x10>; 27262306a36Sopenharmony_ci clocks = <&cru SCLK_USB2PHY0_REF>; 27362306a36Sopenharmony_ci clock-names = "phyclk"; 27462306a36Sopenharmony_ci #clock-cells = <0>; 27562306a36Sopenharmony_ci clock-output-names = "clk_usbphy0_480m"; 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci u2phy0_host: host-port { 27862306a36Sopenharmony_ci #phy-cells = <0>; 27962306a36Sopenharmony_ci interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>; 28062306a36Sopenharmony_ci interrupt-names = "linestate"; 28162306a36Sopenharmony_ci }; 28262306a36Sopenharmony_ci 28362306a36Sopenharmony_ci u2phy0_otg: otg-port { 28462306a36Sopenharmony_ci #phy-cells = <0>; 28562306a36Sopenharmony_ci interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>, 28662306a36Sopenharmony_ci <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>, 28762306a36Sopenharmony_ci <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>; 28862306a36Sopenharmony_ci interrupt-names = "otg-bvalid", "otg-id", 28962306a36Sopenharmony_ci "linestate"; 29062306a36Sopenharmony_ci }; 29162306a36Sopenharmony_ci }; 29262306a36Sopenharmony_ci }; 293