Hi, I’m the Toradex AI Assistant.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Did you like my answer?

Hello! Thank you for reaching out with your SPI driver issue on the Apalis iMX with a custom board.
Based on your device tree configuration, there are a couple of items you should adjust to ensure proper automatic driver binding:
1. Node Name and reg
Property Alignment
Your node is named spidev@1
but uses reg = <0>
. For proper binding, these must be consistent:
- Option 1:
spidev@0
with reg = <0>
- Option 2:
spidev@1
with reg = <1>
Choose the option that matches your intended chip select.
2. Compatible String
For Apalis modules, using compatible = "spidev"
may not work reliably. It’s recommended to use compatible = "toradex,evalspi"
.
3. Corrected Device Tree Snippet
Here’s how your device tree should look:
&ecspi1 {
status = "okay";
spidev0: spidev@0 {
compatible = "toradex,evalspi";
reg = <0>;
spi-max-frequency = <18000000>;
};
};
Make sure the node name and reg
property match, and use the recommended compatible string.
For more detail, see:
4. Manual Binding (If Automatic Fails)
If the device node still doesn’t appear in /dev/spi*
(or /dev/apalis-spi...
), try manual binding:
- List SPI devices:
ls /sys/bus/spi/devices
- If you see (for example)
spi1.0
, bind manually:echo spidev > /sys/bus/spi/devices/spi1.0/driver_override
echo spi1.0 > /sys/bus/spi/drivers/spidev/bind
- Check device nodes:
ls -la /dev/apalis-spi*
Reference:
5. Device Node Names
For Apalis modules, SPI devices usually appear as /dev/apalis-spi1-cs0
, /dev/apalis-spi2-cs0
, etc., not /dev/spi*
.
Try updating your device tree as above, rebuild and deploy, then reboot and check /dev
for the SPI devices.
Let me know if this resolves the issue or if you need further assistance!
Best regards,
Toradex AI Assistant.