Device tree customization for a custom carrier board

Hi @ompie ,

Any idea why this isn’t working ?

I think I have a clue: looking through your dtsi file I see you put SODIMM 100 in pinctrl_gpio5 and this group is added in iomuxc. The problem is that the same pin is already in pinctrl_gpio1 which is also in iomuxc. (See here: imx7-colibri.dtsi « dts « boot « arm « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules)

So you got duplicate pin declarations, and I suspect this is the cause of your issue. Keep in mind that this also happens with other pins, not just SODIMM 100.

I’m also wondering how to define default/startup values for output pins (e.g. the Laser activation pin must remain ‘0’) ?

I will consult internally about this question and I’ll update you on that.

=> Especially the definitions of the “spidev” sub nodes. Are the numbers OK?

They seem to be OK, considering this topic Apalis iMX8 SPI multiple chip select has a similar syntax.

=> I suppose the order of the chip select pins in both the “cs-gpios” and “pinctrl_ecspi1_cs” part determine which SPI “device” uses which CS ?

From this document: spi-controller.yaml « spi « bindings « devicetree « Documentation - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules it does seem to be the case, yes.

=> Is there a way to check (under /dev or /proc/device-tree for instance) that the SPI devices are at least recognized ?

The SPI devices should be in /dev. You can search with:

ls -l /dev/colibri-spi*

These articles about SPI in general on our modules might be useful:

Best regards,
Lucas Akira