270 lines
6.4 KiB
YAML
270 lines
6.4 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/soc/rockchip/grf.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Rockchip General Register Files (GRF)
|
|
|
|
maintainers:
|
|
- Heiko Stuebner <heiko@sntech.de>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- enum:
|
|
- rockchip,rk3288-sgrf
|
|
- rockchip,rv1108-usbgrf
|
|
- const: syscon
|
|
- items:
|
|
- enum:
|
|
- rockchip,px30-grf
|
|
- rockchip,px30-pmugrf
|
|
- rockchip,px30-usb2phy-grf
|
|
- rockchip,rk3036-grf
|
|
- rockchip,rk3066-grf
|
|
- rockchip,rk3188-grf
|
|
- rockchip,rk3228-grf
|
|
- rockchip,rk3288-grf
|
|
- rockchip,rk3308-core-grf
|
|
- rockchip,rk3308-detect-grf
|
|
- rockchip,rk3308-grf
|
|
- rockchip,rk3308-usb2phy-grf
|
|
- rockchip,rk3328-grf
|
|
- rockchip,rk3328-usb2phy-grf
|
|
- rockchip,rk3368-grf
|
|
- rockchip,rk3368-pmugrf
|
|
- rockchip,rk3399-grf
|
|
- rockchip,rk3399-pmugrf
|
|
- rockchip,rk3568-grf
|
|
- rockchip,rk3568-pmugrf
|
|
- rockchip,rv1108-grf
|
|
- rockchip,rv1108-pmugrf
|
|
- const: syscon
|
|
- const: simple-mfd
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
additionalProperties:
|
|
type: object
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: rockchip,px30-grf
|
|
|
|
then:
|
|
properties:
|
|
lvds:
|
|
description:
|
|
Documentation/devicetree/bindings/display/rockchip/rockchip-lvds.txt
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: rockchip,rk3288-grf
|
|
|
|
then:
|
|
properties:
|
|
edp-phy:
|
|
description:
|
|
Documentation/devicetree/bindings/phy/rockchip-dp-phy.txt
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- rockchip,rk3066-grf
|
|
- rockchip,rk3188-grf
|
|
- rockchip,rk3288-grf
|
|
|
|
then:
|
|
properties:
|
|
usbphy:
|
|
type: object
|
|
|
|
$ref: "/schemas/phy/rockchip-usb-phy.yaml#"
|
|
|
|
unevaluatedProperties: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: rockchip,rk3328-grf
|
|
|
|
then:
|
|
properties:
|
|
gpio:
|
|
type: object
|
|
|
|
$ref: "/schemas/gpio/rockchip,rk3328-grf-gpio.yaml#"
|
|
|
|
unevaluatedProperties: false
|
|
|
|
power-controller:
|
|
type: object
|
|
|
|
$ref: "/schemas/power/rockchip,power-controller.yaml#"
|
|
|
|
unevaluatedProperties: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: rockchip,rk3399-grf
|
|
|
|
then:
|
|
properties:
|
|
mipi-dphy-rx0:
|
|
type: object
|
|
|
|
$ref: "/schemas/phy/rockchip-mipi-dphy-rx0.yaml#"
|
|
|
|
unevaluatedProperties: false
|
|
|
|
pcie-phy:
|
|
type: object
|
|
description:
|
|
Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt
|
|
|
|
patternProperties:
|
|
"phy@[0-9a-f]+$":
|
|
description:
|
|
Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- rockchip,px30-pmugrf
|
|
- rockchip,rk3036-grf
|
|
- rockchip,rk3308-grf
|
|
- rockchip,rk3368-pmugrf
|
|
|
|
then:
|
|
properties:
|
|
reboot-mode:
|
|
type: object
|
|
|
|
$ref: "/schemas/power/reset/syscon-reboot-mode.yaml#"
|
|
|
|
unevaluatedProperties: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- rockchip,px30-usb2phy-grf
|
|
- rockchip,rk3228-grf
|
|
- rockchip,rk3308-usb2phy-grf
|
|
- rockchip,rk3328-usb2phy-grf
|
|
- rockchip,rk3399-grf
|
|
- rockchip,rv1108-grf
|
|
|
|
then:
|
|
required:
|
|
- "#address-cells"
|
|
- "#size-cells"
|
|
|
|
patternProperties:
|
|
"usb2phy@[0-9a-f]+$":
|
|
type: object
|
|
|
|
$ref: "/schemas/phy/phy-rockchip-inno-usb2.yaml#"
|
|
|
|
unevaluatedProperties: false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- rockchip,px30-grf
|
|
- rockchip,px30-pmugrf
|
|
- rockchip,rk3188-grf
|
|
- rockchip,rk3228-grf
|
|
- rockchip,rk3288-grf
|
|
- rockchip,rk3328-grf
|
|
- rockchip,rk3368-grf
|
|
- rockchip,rk3368-pmugrf
|
|
- rockchip,rk3399-grf
|
|
- rockchip,rk3399-pmugrf
|
|
- rockchip,rk3568-pmugrf
|
|
- rockchip,rv1108-grf
|
|
- rockchip,rv1108-pmugrf
|
|
|
|
then:
|
|
properties:
|
|
io-domains:
|
|
type: object
|
|
|
|
$ref: "/schemas/power/rockchip-io-domain.yaml#"
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/rk3399-cru.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/power/rk3399-power.h>
|
|
grf: syscon@ff770000 {
|
|
compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
|
|
reg = <0xff770000 0x10000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
mipi_dphy_rx0: mipi-dphy-rx0 {
|
|
compatible = "rockchip,rk3399-mipi-dphy-rx0";
|
|
clocks = <&cru SCLK_MIPIDPHY_REF>,
|
|
<&cru SCLK_DPHY_RX0_CFG>,
|
|
<&cru PCLK_VIO_GRF>;
|
|
clock-names = "dphy-ref", "dphy-cfg", "grf";
|
|
power-domains = <&power RK3399_PD_VIO>;
|
|
#phy-cells = <0>;
|
|
};
|
|
|
|
u2phy0: usb2phy@e450 {
|
|
compatible = "rockchip,rk3399-usb2phy";
|
|
reg = <0xe450 0x10>;
|
|
clocks = <&cru SCLK_USB2PHY0_REF>;
|
|
clock-names = "phyclk";
|
|
#clock-cells = <0>;
|
|
clock-output-names = "clk_usbphy0_480m";
|
|
|
|
u2phy0_host: host-port {
|
|
#phy-cells = <0>;
|
|
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH 0>;
|
|
interrupt-names = "linestate";
|
|
};
|
|
|
|
u2phy0_otg: otg-port {
|
|
#phy-cells = <0>;
|
|
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH 0>,
|
|
<GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH 0>,
|
|
<GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH 0>;
|
|
interrupt-names = "otg-bvalid", "otg-id",
|
|
"linestate";
|
|
};
|
|
};
|
|
};
|