1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/net/can/fsl,flexcan.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
8 Flexcan CAN controller on Freescale's ARM and PowerPC system-on-a-chip (SOC).
11 - Marc Kleine-Budde <mkl@pengutronix.de>
14 - $ref: can-controller.yaml#
28 - fsl,ls1021ar2-flexcan
29 - fsl,lx2160ar1-flexcan
34 - const: fsl,imx25-flexcan
40 - const: fsl,imx6q-flexcan
43 - fsl,ls1028ar1-flexcan
44 - const: fsl,lx2160ar1-flexcan
62 The oscillator frequency driving the flexcan device, filled in by the
63 boot loader. This property should only be used the used operating system
64 doesn't support the clocks and clock-names property.
70 description: Regulator that powers the CAN transceiver.
73 $ref: /schemas/types.yaml#/definitions/flag
75 This means the registers of FlexCAN controller are big endian. This is
76 optional property.i.e. if this property is not present in device tree
77 node then controller is assumed to be little endian. If this property is
78 present then controller is assumed to be big endian.
82 Register bits of stop mode control.
84 The format should be as follows:
86 gpr is the phandle to general purpose register node.
87 req_gpr is the gpr register offset of CAN stop request.
88 req_bit is the bit offset of CAN stop request.
89 $ref: /schemas/types.yaml#/definitions/phandle-array
92 - description: The 'gpr' is the phandle to general purpose register node.
93 - description: The 'req_gpr' is the gpr register offset of CAN stop request.
95 - description: The 'req_bit' is the bit offset of CAN stop request.
100 Select the clock source to the CAN Protocol Engine (PE). It's SoC
101 implementation dependent. Refer to RM for detailed definition. If this
102 property is not set in device tree node then driver selects clock source 1
104 0: clock source 0 (oscillator clock)
105 1: clock source 1 (peripheral clock)
106 $ref: /schemas/types.yaml#/definitions/uint8
112 $ref: /schemas/types.yaml#/definitions/flag
114 Enable CAN remote wakeup.
118 The scu index of CAN instance.
119 For SoCs with SCU support, need setup stop mode via SCU firmware, so this
120 property can help indicate a resource. It supports up to 3 CAN instances
122 $ref: /schemas/types.yaml#/definitions/uint8
126 termination-gpios: true
127 termination-ohms: true
134 additionalProperties: false
139 compatible = "fsl,p1010-flexcan";
140 reg = <0x1c000 0x1000>;
141 interrupts = <48 0x2>;
142 interrupt-parent = <&mpic>;
143 clock-frequency = <200000000>;
144 fsl,clk-source = /bits/ 8 <0>;
147 #include <dt-bindings/interrupt-controller/irq.h>
150 compatible = "fsl,imx6q-flexcan";
151 reg = <0x02090000 0x4000>;
152 interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
153 clocks = <&clks 1>, <&clks 2>;
154 clock-names = "ipg", "per";
155 fsl,stop-mode = <&gpr 0x34 28>;
156 fsl,scu-index = /bits/ 8 <1>;
159 #include <dt-bindings/interrupt-controller/irq.h>
160 #include <dt-bindings/gpio/gpio.h>
163 compatible = "fsl,imx6q-flexcan";
164 reg = <0x02090000 0x4000>;
165 interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
166 clocks = <&clks 1>, <&clks 2>;
167 clock-names = "ipg", "per";
168 fsl,stop-mode = <&gpr 0x34 28>;
169 termination-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>;
170 termination-ohms = <120>;