nxp,flexcan

Vendor: NXP Semiconductors

Note

An implementation of a driver matching this compatible is available in drivers/can/can_mcux_flexcan.c.

Description

NXP FlexCAN controller

Example:
  flexcan0: can@40024000 {
    status = "okay";
    compatible = "nxp,flexcan";
    reg = <0x40024000 0x1000>;
    interrupts = <78 0>, <79 0>, <80 0>, <81 0>;
    interrupt-names = "warning", "error", "wake-up", "mb-0-15";
    clocks = <&scg KINETIS_SCG_BUS_CLK>;
    clk-source = <1>;
    pinctrl-0 = <&pinmux_flexcan0>;
    pinctrl-names = "default";

    can-transceiver {
      max-bitrate = <1000000>;
    };
  };

Properties

Top level properties

These property descriptions apply to “nxp,flexcan” nodes themselves. This page also describes child node properties in the following sections.

Properties not inherited from the base binding file.

Name

Type

Details

clk-source

int

CAN engine clock source

This property is required.

bitrate

int

Initial bitrate in bit/s. If this is unset, the initial bitrate is set to
CONFIG_CAN_DEFAULT_BITRATE.

sample-point

int

Initial sample point in per mille (e.g. 875 equals 87.5%).

If this is unset (or if it is set to 0), the initial sample point will default to 75.0% for
bitrates over 800 kbit/s, 80.0% for bitrates over 500 kbit/s, and 87.5% for all other
bitrates.

phys

phandle

Actively controlled CAN transceiver.

Example:
  transceiver0: can-phy0 {
    compatible = "nxp,tja1040", "can-transceiver-gpio";
    standby-gpios = <gpioa 0 GPIO_ACTIVE_HIGH>;
    max-bitrate = <1000000>;
    #phy-cells = <0>;
  };

  &can0 {
    status = "okay";

    phys = <&transceiver0>;
  };

pinctrl-0

phandles

Pin configuration/s for the first state. Content is specific to the
selected pin controller driver implementation.

pinctrl-1

phandles

Pin configuration/s for the second state. See pinctrl-0.

pinctrl-2

phandles

Pin configuration/s for the third state. See pinctrl-0.

pinctrl-3

phandles

Pin configuration/s for the fourth state. See pinctrl-0.

pinctrl-4

phandles

Pin configuration/s for the fifth state. See pinctrl-0.

pinctrl-names

string-array

Names for the provided states. The number of names needs to match the
number of states.

Child node properties

Name

Type

Details

min-bitrate

int

The minimum bitrate supported by the CAN transceiver in bits/s.

max-bitrate

int

The maximum bitrate supported by the CAN transceiver in bits/s.

This property is required.