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

title:
  Rockchip CAN-FD controller

maintainers:
  - Marc Kleine-Budde <mkl@pengutronix.de>

allOf:
  - $ref: can-controller.yaml#

properties:
  compatible:
    oneOf:
      - const: rockchip,rk3568v2-canfd
      - items:
          - const: rockchip,rk3568v3-canfd
          - const: rockchip,rk3568v2-canfd

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 2

  clock-names:
    items:
      - const: baud
      - const: pclk

  resets:
    maxItems: 2

  reset-names:
    items:
      - const: core
      - const: apb

required:
  - compatible
  - reg
  - interrupts
  - clocks
  - resets

additionalProperties: false

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

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

        can@fe570000 {
            compatible = "rockchip,rk3568v2-canfd";
            reg = <0x0 0xfe570000 0x0 0x1000>;
            interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
            clocks = <&cru CLK_CAN0>, <&cru PCLK_CAN0>;
            clock-names = "baud", "pclk";
            resets = <&cru SRST_CAN0>, <&cru SRST_P_CAN0>;
            reset-names = "core", "apb";
        };
    };
