Kernel-4.18.0-80.el8_sja1000

Memory mapped SJA1000 CAN controller from NXP (formerly Philips)

Required properties:

  • compatible : should be one of “nxp,sja1000”, “technologic,sja1000”.

  • reg : should specify the chip select, address offset and size required
    to map the registers of the SJA1000. The size is usually 0x80.

  • interrupts: property with a value describing the interrupt source
    (number and sensitivity) required for the SJA1000.

Optional properties:

  • reg-io-width : Specify the size (in bytes) of the IO accesses that
    should be performed on the device. Valid value is 1, 2 or 4.
    This property is ignored for technologic version.
    Default to 1 (8 bits).

  • nxp,external-clock-frequency : Frequency of the external oscillator
    clock in Hz. Note that the internal clock frequency used by the
    SJA1000 is half of that value. If not specified, a default value
    of 16000000 (16 MHz) is used.

  • nxp,tx-output-mode : operation mode of the TX output control logic:
    <0x0> : bi-phase output mode
    <0x1> : normal output mode (default)
    <0x2> : test output mode
    <0x3> : clock output mode

  • nxp,tx-output-config : TX output pin configuration:
    <0x01> : TX0 invert
    <0x02> : TX0 pull-down (default)
    <0x04> : TX0 pull-up
    <0x06> : TX0 push-pull
    <0x08> : TX1 invert
    <0x10> : TX1 pull-down
    <0x20> : TX1 pull-up
    <0x30> : TX1 push-pull

  • nxp,clock-out-frequency : clock frequency in Hz on the CLKOUT pin.
    If not specified or if the specified value is 0, the CLKOUT pin
    will be disabled.

  • nxp,no-comparator-bypass : Allows to disable the CAN input comparator.

For further information, please have a look to the SJA1000 data sheet.

Examples:

can@3,100 {
compatible = “nxp,sja1000”;
reg = <3 0x100 0x80>;
interrupts = <2 0>;
interrupt-parent = <&mpic>;
nxp,external-clock-frequency = <16000000>;
};