1# Common fields for CAN controllers
2
3include: base.yaml
4
5properties:
6  bus-speed:
7    type: int
8    required: true
9    description: |
10      Initial bitrate in bit/s.
11  sample-point:
12    type: int
13    description: |
14      Initial sample point in per mille (e.g. 875 equals 87.5%).
15
16      This property is required unless the timing is specified using time quanta based properties
17      (`sjw`, `prop-seg`, `phase-seg1`, and `phase-seg2`).
18
19      If this property is present, the time quanta based timing properties are ignored.
20  sjw:
21    type: int
22    deprecated: true
23    default: 1
24    description: |
25      Initial time quanta of resynchronization jump width (ISO 11898-1).
26
27      Deprecated in favor of automatic calculation of a suitable default SJW based on existing
28      timing parameters. Default of 1 matches the default value previously used for all in-tree CAN
29      controller devicetree instances.
30
31      Applications can still manually set the SJW using the CAN timing APIs.
32  prop-seg:
33    type: int
34    deprecated: true
35    description: |
36      Initial time quanta of propagation segment (ISO 11898-1). Deprecated in favor of setting
37      advanced timing parameters from the application.
38  phase-seg1:
39    type: int
40    deprecated: true
41    description: |
42      Initial time quanta of phase buffer 1 segment (ISO 11898-1). Deprecated in favor of setting
43      advanced timing parameters from the application.
44  phase-seg2:
45    type: int
46    deprecated: true
47    description: |
48      Initial time quanta of phase buffer 2 segment (ISO 11898-1). Deprecated in favor of setting
49      advanced timing parameters from the application.
50  phys:
51    type: phandle
52    description: |
53      Actively controlled CAN transceiver.
54
55      Example:
56        transceiver0: can-phy0 {
57          compatible = "nxp,tja1040", "can-transceiver-gpio";
58          standby-gpios = <gpioa 0 GPIO_ACTIVE_HIGH>;
59          max-bitrate = <1000000>;
60          #phy-cells = <0>;
61        };
62
63        &can0 {
64          status = "okay";
65
66          phys = <&transceiver0>;
67        };
68
69child-binding:
70  description: |
71    Passive CAN transceiver. The child node must be named "can-transceiver".
72
73    Example:
74      &can0 {
75        status = "okay";
76
77        can-transceiver {
78          max-bitrate = <1000000>;
79        };
80      };
81
82  properties:
83    max-bitrate:
84      type: int
85      required: true
86      description: |
87        The maximum bitrate supported by the CAN transceiver in bits/s.
88