1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/net/can/renesas,rcar-canfd.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Renesas R-Car CAN FD Controller 8 9maintainers: 10 - Fabrizio Castro <fabrizio.castro.jz@renesas.com> 11 12allOf: 13 - $ref: can-controller.yaml# 14 15properties: 16 compatible: 17 oneOf: 18 - items: 19 - enum: 20 - renesas,r8a774a1-canfd # RZ/G2M 21 - renesas,r8a774b1-canfd # RZ/G2N 22 - renesas,r8a774c0-canfd # RZ/G2E 23 - renesas,r8a774e1-canfd # RZ/G2H 24 - renesas,r8a7795-canfd # R-Car H3 25 - renesas,r8a7796-canfd # R-Car M3-W 26 - renesas,r8a77965-canfd # R-Car M3-N 27 - renesas,r8a77970-canfd # R-Car V3M 28 - renesas,r8a77980-canfd # R-Car V3H 29 - renesas,r8a77990-canfd # R-Car E3 30 - renesas,r8a77995-canfd # R-Car D3 31 - const: renesas,rcar-gen3-canfd # R-Car Gen3 and RZ/G2 32 33 reg: 34 maxItems: 1 35 36 interrupts: 37 items: 38 - description: Channel interrupt 39 - description: Global interrupt 40 41 clocks: 42 maxItems: 3 43 44 clock-names: 45 items: 46 - const: fck 47 - const: canfd 48 - const: can_clk 49 50 power-domains: 51 maxItems: 1 52 53 resets: 54 maxItems: 1 55 56 renesas,no-can-fd: 57 $ref: /schemas/types.yaml#/definitions/flag 58 description: 59 The controller can operate in either CAN FD only mode (default) or 60 Classical CAN only mode. The mode is global to both the channels. 61 Specify this property to put the controller in Classical CAN only mode. 62 63 assigned-clocks: 64 description: 65 Reference to the CANFD clock. The CANFD clock is a div6 clock and can be 66 used by both CAN (if present) and CAN FD controllers at the same time. 67 It needs to be scaled to maximum frequency if any of these controllers 68 use it. 69 70 assigned-clock-rates: 71 description: Maximum frequency of the CANFD clock. 72 73patternProperties: 74 "^channel[01]$": 75 type: object 76 description: 77 The controller supports two channels and each is represented as a child 78 node. Each child node supports the "status" property only, which 79 is used to enable/disable the respective channel. 80 81required: 82 - compatible 83 - reg 84 - interrupts 85 - clocks 86 - clock-names 87 - power-domains 88 - resets 89 - assigned-clocks 90 - assigned-clock-rates 91 - channel0 92 - channel1 93 94unevaluatedProperties: false 95 96examples: 97 - | 98 #include <dt-bindings/clock/r8a7795-cpg-mssr.h> 99 #include <dt-bindings/interrupt-controller/arm-gic.h> 100 #include <dt-bindings/power/r8a7795-sysc.h> 101 102 canfd: can@e66c0000 { 103 compatible = "renesas,r8a7795-canfd", 104 "renesas,rcar-gen3-canfd"; 105 reg = <0xe66c0000 0x8000>; 106 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>, 107 <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>; 108 clocks = <&cpg CPG_MOD 914>, 109 <&cpg CPG_CORE R8A7795_CLK_CANFD>, 110 <&can_clk>; 111 clock-names = "fck", "canfd", "can_clk"; 112 assigned-clocks = <&cpg CPG_CORE R8A7795_CLK_CANFD>; 113 assigned-clock-rates = <40000000>; 114 power-domains = <&sysc R8A7795_PD_ALWAYS_ON>; 115 resets = <&cpg 914>; 116 117 channel0 { 118 }; 119 120 channel1 { 121 }; 122 }; 123