# 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-pmugrf
              - 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
          - 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:
          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-pmugrf
              - rockchip,px30-grf
              - rockchip,rk3228-grf
              - rockchip,rk3288-grf
              - rockchip,rk3328-grf
              - rockchip,rk3368-pmugrf
              - rockchip,rk3368-grf
              - rockchip,rk3399-pmugrf
              - rockchip,rk3399-grf

    then:
      properties:
        io-domains:
          description:
            Documentation/devicetree/bindings/power/rockchip-io-domain.txt

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";
        };
      };
    };
