Merge tag 'locking-urgent-2020-10-25' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / net / can / fsl-flexcan.txt
1 Flexcan CAN controller on Freescale's ARM and PowerPC system-on-a-chip (SOC).
2
3 Required properties:
4
5 - compatible : Should be "fsl,<processor>-flexcan"
6
7   where <processor> is imx8qm, imx6q, imx28, imx53, imx35, imx25, p1010,
8   vf610, ls1021ar2, lx2160ar1, ls1028ar1.
9
10   The ls1028ar1 must be followed by lx2160ar1, e.g.
11    - "fsl,ls1028ar1-flexcan", "fsl,lx2160ar1-flexcan"
12
13   An implementation should also claim any of the following compatibles
14   that it is fully backwards compatible with:
15
16   - fsl,p1010-flexcan
17
18 - reg : Offset and length of the register set for this device
19 - interrupts : Interrupt tuple for this device
20
21 Optional properties:
22
23 - clock-frequency : The oscillator frequency driving the flexcan device
24
25 - xceiver-supply: Regulator that powers the CAN transceiver
26
27 - big-endian: This means the registers of FlexCAN controller are big endian.
28               This is optional property.i.e. if this property is not present in
29               device tree node then controller is assumed to be little endian.
30               if this property is present then controller is assumed to be big
31               endian.
32
33 - fsl,stop-mode: register bits of stop mode control, the format is
34                  <&gpr req_gpr req_bit>.
35                  gpr is the phandle to general purpose register node.
36                  req_gpr is the gpr register offset of CAN stop request.
37                  req_bit is the bit offset of CAN stop request.
38
39 - fsl,clk-source: Select the clock source to the CAN Protocol Engine (PE).
40                   It's SoC Implementation dependent. Refer to RM for detailed
41                   definition. If this property is not set in device tree node
42                   then driver selects clock source 1 by default.
43                   0: clock source 0 (oscillator clock)
44                   1: clock source 1 (peripheral clock)
45
46 - wakeup-source: enable CAN remote wakeup
47
48 Example:
49
50         can@1c000 {
51                 compatible = "fsl,p1010-flexcan";
52                 reg = <0x1c000 0x1000>;
53                 interrupts = <48 0x2>;
54                 interrupt-parent = <&mpic>;
55                 clock-frequency = <200000000>; // filled in by bootloader
56                 fsl,clk-source = <0>; // select clock source 0 for PE
57         };