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#
27 - fsl,ls1021ar2-flexcan
28 - fsl,lx2160ar1-flexcan
33 - const: fsl,imx25-flexcan
39 - const: fsl,imx6q-flexcan
42 - fsl,ls1028ar1-flexcan
43 - const: fsl,lx2160ar1-flexcan
60 $ref: /schemas/types.yaml#/definitions/uint32
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.
67 description: Regulator that powers the CAN transceiver.
70 $ref: /schemas/types.yaml#/definitions/flag
72 This means the registers of FlexCAN controller are big endian. This is
73 optional property.i.e. if this property is not present in device tree
74 node then controller is assumed to be little endian. If this property is
75 present then controller is assumed to be big endian.
79 Register bits of stop mode control.
81 The format should be as follows:
83 gpr is the phandle to general purpose register node.
84 req_gpr is the gpr register offset of CAN stop request.
85 req_bit is the bit offset of CAN stop request.
86 $ref: /schemas/types.yaml#/definitions/phandle-array
89 - description: The 'gpr' is the phandle to general purpose register node.
90 - description: The 'req_gpr' is the gpr register offset of CAN stop request.
92 - description: The 'req_bit' is the bit offset of CAN stop request.
97 Select the clock source to the CAN Protocol Engine (PE). It's SoC
98 implementation dependent. Refer to RM for detailed definition. If this
99 property is not set in device tree node then driver selects clock source 1
101 0: clock source 0 (oscillator clock)
102 1: clock source 1 (peripheral clock)
103 $ref: /schemas/types.yaml#/definitions/uint8
109 $ref: /schemas/types.yaml#/definitions/flag
111 Enable CAN remote wakeup.
118 additionalProperties: false
123 compatible = "fsl,p1010-flexcan";
124 reg = <0x1c000 0x1000>;
125 interrupts = <48 0x2>;
126 interrupt-parent = <&mpic>;
127 clock-frequency = <200000000>;
128 fsl,clk-source = /bits/ 8 <0>;
131 #include <dt-bindings/interrupt-controller/irq.h>
134 compatible = "fsl,imx6q-flexcan";
135 reg = <0x02090000 0x4000>;
136 interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
137 clocks = <&clks 1>, <&clks 2>;
138 clock-names = "ipg", "per";
139 fsl,stop-mode = <&gpr 0x34 28>;