1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/net/can/ren 4 $id: http://devicetree.org/schemas/net/can/renesas,rcar-can.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Renesas R-Car CAN Controller 7 title: Renesas R-Car CAN Controller 8 8 9 maintainers: 9 maintainers: 10 - Sergei Shtylyov <sergei.shtylyov@gmail.com> 10 - Sergei Shtylyov <sergei.shtylyov@gmail.com> 11 11 12 properties: 12 properties: 13 compatible: 13 compatible: 14 oneOf: 14 oneOf: 15 - items: 15 - items: 16 - enum: 16 - enum: 17 - renesas,can-r8a7778 # R-C 17 - renesas,can-r8a7778 # R-Car M1-A 18 - renesas,can-r8a7779 # R-C 18 - renesas,can-r8a7779 # R-Car H1 19 - const: renesas,rcar-gen1-can # R-C 19 - const: renesas,rcar-gen1-can # R-Car Gen1 20 20 21 - items: 21 - items: 22 - enum: 22 - enum: 23 - renesas,can-r8a7742 # RZ/ 23 - renesas,can-r8a7742 # RZ/G1H 24 - renesas,can-r8a7743 # RZ/ 24 - renesas,can-r8a7743 # RZ/G1M 25 - renesas,can-r8a7744 # RZ/ 25 - renesas,can-r8a7744 # RZ/G1N 26 - renesas,can-r8a7745 # RZ/ 26 - renesas,can-r8a7745 # RZ/G1E 27 - renesas,can-r8a77470 # RZ/ 27 - renesas,can-r8a77470 # RZ/G1C 28 - renesas,can-r8a7790 # R-C 28 - renesas,can-r8a7790 # R-Car H2 29 - renesas,can-r8a7791 # R-C 29 - renesas,can-r8a7791 # R-Car M2-W 30 - renesas,can-r8a7792 # R-C 30 - renesas,can-r8a7792 # R-Car V2H 31 - renesas,can-r8a7793 # R-C 31 - renesas,can-r8a7793 # R-Car M2-N 32 - renesas,can-r8a7794 # R-C 32 - renesas,can-r8a7794 # R-Car E2 33 - const: renesas,rcar-gen2-can # R-C 33 - const: renesas,rcar-gen2-can # R-Car Gen2 and RZ/G1 34 34 35 - items: 35 - items: 36 - enum: 36 - enum: 37 - renesas,can-r8a774a1 # RZ/ 37 - renesas,can-r8a774a1 # RZ/G2M 38 - renesas,can-r8a774b1 # RZ/ 38 - renesas,can-r8a774b1 # RZ/G2N 39 - renesas,can-r8a774c0 # RZ/ 39 - renesas,can-r8a774c0 # RZ/G2E 40 - renesas,can-r8a774e1 # RZ/ 40 - renesas,can-r8a774e1 # RZ/G2H 41 - renesas,can-r8a7795 # R-C 41 - renesas,can-r8a7795 # R-Car H3 42 - renesas,can-r8a7796 # R-C 42 - renesas,can-r8a7796 # R-Car M3-W 43 - renesas,can-r8a77961 # R-C 43 - renesas,can-r8a77961 # R-Car M3-W+ 44 - renesas,can-r8a77965 # R-C 44 - renesas,can-r8a77965 # R-Car M3-N 45 - renesas,can-r8a77990 # R-C 45 - renesas,can-r8a77990 # R-Car E3 46 - renesas,can-r8a77995 # R-C 46 - renesas,can-r8a77995 # R-Car D3 47 - const: renesas,rcar-gen3-can # R-C 47 - const: renesas,rcar-gen3-can # R-Car Gen3 and RZ/G2 48 48 49 reg: 49 reg: 50 maxItems: 1 50 maxItems: 1 51 51 52 interrupts: 52 interrupts: 53 maxItems: 1 53 maxItems: 1 54 54 55 clocks: 55 clocks: 56 maxItems: 3 56 maxItems: 3 57 57 58 clock-names: 58 clock-names: 59 items: 59 items: 60 - const: clkp1 60 - const: clkp1 61 - const: clkp2 61 - const: clkp2 62 - const: can_clk 62 - const: can_clk 63 63 64 power-domains: 64 power-domains: 65 maxItems: 1 65 maxItems: 1 66 66 67 resets: 67 resets: 68 maxItems: 1 68 maxItems: 1 69 69 70 renesas,can-clock-select: 70 renesas,can-clock-select: 71 $ref: /schemas/types.yaml#/definitions/uin 71 $ref: /schemas/types.yaml#/definitions/uint32 72 enum: [ 0, 1, 3 ] 72 enum: [ 0, 1, 3 ] 73 default: 0 73 default: 0 74 description: | 74 description: | 75 R-Car CAN Clock Source Select. Valid va 75 R-Car CAN Clock Source Select. Valid values are: 76 <0x0> (default) : Peripheral clock (cl 76 <0x0> (default) : Peripheral clock (clkp1) 77 <0x1> : Peripheral clock (clkp2) 77 <0x1> : Peripheral clock (clkp2) 78 <0x3> : External input clock 78 <0x3> : External input clock 79 79 80 assigned-clocks: 80 assigned-clocks: 81 description: 81 description: 82 Reference to the clkp2 (CANFD) clock. 82 Reference to the clkp2 (CANFD) clock. 83 On R-Car Gen3 and RZ/G2 SoCs, "clkp2" is 83 On R-Car Gen3 and RZ/G2 SoCs, "clkp2" is the CANFD clock. This is a div6 84 clock and can be used by both CAN and CA 84 clock and can be used by both CAN and CAN FD controllers at the same 85 time. It needs to be scaled to maximum 85 time. It needs to be scaled to maximum frequency if any of these 86 controllers use it. 86 controllers use it. 87 87 88 assigned-clock-rates: 88 assigned-clock-rates: 89 description: Maximum frequency of the CANF 89 description: Maximum frequency of the CANFD clock. 90 90 91 required: 91 required: 92 - compatible 92 - compatible 93 - reg 93 - reg 94 - interrupts 94 - interrupts 95 - clocks 95 - clocks 96 - clock-names 96 - clock-names 97 - power-domains 97 - power-domains 98 98 99 allOf: 99 allOf: 100 - $ref: can-controller.yaml# 100 - $ref: can-controller.yaml# 101 101 102 - if: 102 - if: 103 not: 103 not: 104 properties: 104 properties: 105 compatible: 105 compatible: 106 contains: 106 contains: 107 const: renesas,rcar-gen1-can 107 const: renesas,rcar-gen1-can 108 then: 108 then: 109 required: 109 required: 110 - resets 110 - resets 111 111 112 - if: 112 - if: 113 properties: 113 properties: 114 compatible: 114 compatible: 115 contains: 115 contains: 116 const: renesas,rcar-gen3-can 116 const: renesas,rcar-gen3-can 117 then: 117 then: 118 required: 118 required: 119 - assigned-clocks 119 - assigned-clocks 120 - assigned-clock-rates 120 - assigned-clock-rates 121 121 122 unevaluatedProperties: false 122 unevaluatedProperties: false 123 123 124 examples: 124 examples: 125 - | 125 - | 126 #include <dt-bindings/clock/r8a7791-cpg-ms 126 #include <dt-bindings/clock/r8a7791-cpg-mssr.h> 127 #include <dt-bindings/interrupt-controller 127 #include <dt-bindings/interrupt-controller/arm-gic.h> 128 #include <dt-bindings/power/r8a7791-sysc.h 128 #include <dt-bindings/power/r8a7791-sysc.h> 129 129 130 can0: can@e6e80000 { 130 can0: can@e6e80000 { 131 compatible = "renesas,can-r8a7791" 131 compatible = "renesas,can-r8a7791", "renesas,rcar-gen2-can"; 132 reg = <0xe6e80000 0x1000>; 132 reg = <0xe6e80000 0x1000>; 133 interrupts = <GIC_SPI 186 IRQ_TYPE 133 interrupts = <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>; 134 clocks = <&cpg CPG_MOD 916>, 134 clocks = <&cpg CPG_MOD 916>, 135 <&cpg CPG_CORE R8A7791_CL 135 <&cpg CPG_CORE R8A7791_CLK_RCAN>, <&can_clk>; 136 clock-names = "clkp1", "clkp2", "c 136 clock-names = "clkp1", "clkp2", "can_clk"; 137 power-domains = <&sysc R8A7791_PD_ 137 power-domains = <&sysc R8A7791_PD_ALWAYS_ON>; 138 resets = <&cpg 916>; 138 resets = <&cpg 916>; 139 }; 139 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.