Hi,
I’m trying to configure a device tree overlay for the TCAN4X5X module on the Jetson Orin Nano devkit, using the Jetson-IO config-by-hardware.py tool. Upon compiling the overlay, I get the following errors:
tcan.dts:75.27-92.23: Warning (spi_bus_bridge): /fragment@2/__overlay__/spi@0: incorrect #address-cells for SPI bus
tcan.dts:75.27-92.23: Warning (spi_bus_bridge): /fragment@2/__overlay__/spi@0: incorrect #size-cells for SPI bus
/boot/tcan.dtbo: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge'
When I reboot, the SPI pins aren’t configured, even though the extlinux.conf file was updated to include the file mentioned above. Any idea why I might be getting these errors? The device tree binding for this device can be found here, my dts file is included below, and I’m using L4T 35.3.1, thank you!
/dts-v1/;
/plugin/;
/ {
jetson-header-name = "Jetson 40pin Header";
overlay-name = "TCAN4X5X";
compatible = "nvidia,p3768-0000+p3767-0000\0nvidia,p3768-0000+p3767-0001\0nvidia,p3768-0000+p3767-0003\0nvidia,p3768-0000+p3767-0004\0nvidia,p3768-0000+p3767-0005\0nvidia,p3509-0000+p3767-0000\0nvidia,p3509-0000+p3767-0001\0nvidia,p3509-0000+p3767-0003\0nvidia,p3509-0000+p3767-0004\0nvidia,p3509-0000+p3767-0005";
fragment@0 {
target = <0xffffffff>;
__overlay__ {
pinctrl-names = "default";
pinctrl-0 = <0x01>;
exp-header-pinmux {
phandle = <0x01>;
hdr40-pin13 {
nvidia,pins = "spi3_sck_py0";
nvidia,function = "spi3";
nvidia,tristate = <0x00>;
nvidia,enable-input = <0x01>;
};
hdr40-pin16 {
nvidia,pins = "spi3_cs1_py4";
nvidia,function = "spi3";
nvidia,tristate = <0x00>;
nvidia,enable-input = <0x01>;
};
hdr40-pin18 {
nvidia,pins = "spi3_cs0_py3";
nvidia,function = "spi3";
nvidia,tristate = <0x00>;
nvidia,enable-input = <0x01>;
};
hdr40-pin22 {
nvidia,pins = "spi3_miso_py1";
nvidia,function = "spi3";
nvidia,tristate = <0x00>;
nvidia,enable-input = <0x01>;
};
hdr40-pin37 {
nvidia,pins = "spi3_mosi_py2";
nvidia,function = "spi3";
nvidia,tristate = <0x00>;
nvidia,enable-input = <0x01>;
};
};
};
};
fragment@1 {
target-path = "/";
__overlay__ {
clocks {
can_clock: can_clock {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <16000000>;
clock-accuracy = <100>;
};
};
};
};
fragment@2 {
target = <&hdr40_spi3>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
spi@0 {
status = "okay";
compatible = "ti,tcan4x5x";
reg = <0>;
spi-max-frequency = <10000000>;
bosch,mram-cfg = <0x0 0 0 16 0 0 1 1>;
nvidia,enable-hw-based-cs;
nvidia,rx-clk-tap-delay = <0x7>;
clocks = <&can_clock>;
interrupt-parent = <&gpio>;
interrupts = <&gpio 141 0x1>;
controller-data {
nvidia,cs-setup-clk-count = <0x1e>;
nvidia,cs-hold-clk-count = <0x1e>;
nvidia,rx-clk-tap-delay = <0x1f>;
nvidia,tx-clk-tap-delay = <0x0>;
};
};
};
};
__symbols__ {
jetson_io_pinmux = "/fragment@0/__overlay__/exp-header-pinmux";
};
__fixups__ {
pinmux = "/fragment@0:target:0";
};
__local_fixups__ {
fragment@0 {
__overlay__ {
pinctrl-0 = <0x00>;
};
};
};
};