Setting up for 5 CAN on Beaglebone AI 64

Here is my overlay file : BONE-5CAN.dts

#include <dt-bindings/pinctrl/k3.h>

&{/chosen} {
overlays {
BONE-5CAN = TIMESTAMP;
};
};

&main_pmx0 {
main_mcan4_pins_default: main_mcan4-default-pins {
pinctrl-single,pins = <
J721E_IOPAD(0x24, PIN_INPUT, 6) /* (AJ20) PRG1_PRU0_GPO8.MCAN4_RX /
J721E_IOPAD(0x20, PIN_OUTPUT, 6) /
(AE20) PRG1_PRU0_GPO7.MCAN4_TX */
>;
};

    main_mcan5_pins_default: main_mcan5-default-pins {
            pinctrl-single,pins = <
                    J721E_IOPAD(0x3c, PIN_INPUT, 6) /* (AD24) PRG1_PRU0_GPO14.MCAN5_RX */
                    J721E_IOPAD(0x38, PIN_OUTPUT, 6) /* (AG24) PRG1_PRU0_GPO13.MCAN5_TX */
            >;
    };

    main_mcan6_pins_default: main_mcan6-default-pins {
            pinctrl-single,pins = <
                    J721E_IOPAD(0x44, PIN_INPUT, 6) /* (AE24) PRG1_PRU0_GPO16.MCAN6_RX */
                    J721E_IOPAD(0x54, PIN_OUTPUT, 6) /* (AH21) PRG1_PRU0_GPO19.MCAN6_TX */
            >;
    };

    main_mcan7_pins_default: main_mcan7-default-pins {
            pinctrl-single,pins = <
                    J721E_IOPAD(0x8c, PIN_INPUT, 6) /* (AG25) PRG1_PRU1_GPO13.MCAN7_RX */
                    J721E_IOPAD(0x88, PIN_OUTPUT, 6) /* (AH25) PRG1_PRU1_GPO12.MCAN7_TX */
            >;
    };

    main_mcan8_pins_default: main_mcan8-default-pins {
            pinctrl-single,pins = <
                    J721E_IOPAD(0x80, PIN_INPUT, 6) /* (AB23) PRG1_PRU1_GPO10.MCAN8_RX */
                    J721E_IOPAD(0x7c, PIN_OUTPUT, 6) /* (AF21) PRG1_PRU1_GPO9.MCAN8_TX */
            >;
    };

};

&main_mcan4 {
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <&main_mcan4_pins_default >;
};

&main_mcan5 {
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <&main_mcan5_pins_default >;
};

&main_mcan6 {
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <&main_mcan6_pins_default >;
};

&main_mcan7 {
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <&main_mcan7_pins_default >;
};

&main_mcan8 {
status = “okay”;
pinctrl-names = “default”;
pinctrl-0 = <&main_mcan8_pins_default >;
};

What is wrong in the file?

Error: src/arm64/overlays/BONE-5CAN.dts:3.1-11 syntax error
FATAL ERROR: Unable to parse input tree
make[1]: *** [Makefile:200 : src/arm64/overlays/BONE-5CAN.dtbo] Erreur 1
make: *** [Makefile:148 : all_arm64] Erreur 2

Not sure if it is the issue but try

__TIMESTAMP__

If that doesn’t fix it, I would suggest starting with a new file, and just copy one block at a time, compiling as you go to see just what is causing the error. Unfortunately the error messages are generally not very helpful.

I guess the pasting in the message removed the underline chars, I didn’t notice that.
The file has it correct.

Michel

The problem was missing lines on top but then I get errors on the next ones

/dts-v1/;
/plugin/;

I am not using the 7 inch panel so I will take this out.

DTC src/arm64/overlays/k3-j721e-beagleboneai64-RPi-7inch-panel.dtbo
src/arm64/overlays/k3-j721e-beagleboneai64-RPi-7inch-panel.dts:22.5-25: Warning (reg_format): /fragment@101/overlay/reg_bridge@0:reg: property has invalid length (16 bytes) (#address-cells == 2, #size-cells == 1)
src/arm64/overlays/k3-j721e-beagleboneai64-RPi-7inch-panel.dts:31.5-25: Warning (reg_format): /fragment@101/overlay/panel_disp1@0:reg: property has invalid length (16 bytes) (#address-cells == 2, #size-cells == 1)
src/arm64/overlays/k3-j721e-beagleboneai64-RPi-7inch-panel.dts:62.3-16: Warning (reg_format): /fragment@1/overlay/reg_display@45:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
src/arm64/overlays/k3-j721e-beagleboneai64-RPi-7inch-panel.dts:69.3-16: Warning (reg_format): /fragment@1/overlay/ts@38:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
src/arm64/overlays/k3-j721e-beagleboneai64-RPi-7inch-panel.dts:117.3-13: Warning (reg_format): /fragment@3/overlay/bridge@0:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
src/arm64/overlays/k3-j721e-beagleboneai64-RPi-7inch-panel.dtbo: Warning (i2c_bus_reg): Failed prerequisite ‘reg_format’
src/arm64/overlays/k3-j721e-beagleboneai64-RPi-7inch-panel.dtbo: Warning (spi_bus_reg): Failed prerequisite ‘reg_format’
DTC src/arm64/overlays/BONE-I2C2.dtbo
DTC src/arm64/overlays/BONE-SPI0_1.dtbo
src/arm64/overlays/BONE-SPI0_1.dts:37.3-13: Warning (reg_format): /fragment@1/overlay/spidev@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
src/arm64/overlays/BONE-SPI0_1.dtbo: Warning (i2c_bus_reg): Failed prerequisite ‘reg_format’
src/arm64/overlays/BONE-SPI0_1.dtbo: Warning (spi_bus_reg): Failed prerequisite ‘reg_format’

I’ve got all 5 CAN working now,

Next will be to check my J1939 and GMLAN code

Michel