# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/devfreq/event/rockchip,dfi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Rockchip DFI

maintainers:
  - Sascha Hauer <s.hauer@pengutronix.de>

properties:
  compatible:
    enum:
      - rockchip,rk3399-dfi
      - rockchip,rk3568-dfi
      - rockchip,rk3588-dfi

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: pclk_ddr_mon

  interrupts:
    minItems: 1
    maxItems: 4

  reg:
    maxItems: 1

  rockchip,pmu:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Phandle to the syscon managing the "PMU general register files".

required:
  - compatible
  - interrupts
  - reg

if:
  properties:
    compatible:
      contains:
        enum:
          - rockchip,rk3399-dfi

then:
  required:
    - clocks
    - clock-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/rk3308-cru.h>

    bus {
      #address-cells = <2>;
      #size-cells = <2>;

      dfi: dfi@ff630000 {
        compatible = "rockchip,rk3399-dfi";
        reg = <0x00 0xff630000 0x00 0x4000>;
        interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH 0>;
        rockchip,pmu = <&pmugrf>;
        clocks = <&cru PCLK_DDR_MON>;
        clock-names = "pclk_ddr_mon";
      };
    };
