SPI_4 on SMARC IMX95

Hi, we would like to use a non-standard SPI on the SMARC IMX95. Now we did configure the SMARC SPI_4 on the Pinout Designer. The configuration uses SPI5 and SPI3 function. Is this possible?

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


I’d be glad to help with your SMARC iMX95 SPI configuration! To provide you with the most accurate guidance, could you let me know which OS and version you are using? Also, please run the tdx-info command to get detailed information about your hardware setup - you can find more details about this command at High performance, low power Embedded Computing Systems | Toradex Developer Center

Pinout Designer Configuration

The Pinout Designer is designed to validate pin multiplexing configurations and detect conflicts(1). When you configure SPI_4 using both SPI5 and SPI3 functions, the tool should indicate if there are any resource conflicts in the “Conflicts” column(1).

Key Considerations for SMARC iMX95

The SMARC iMX95 supports various SPI interfaces according to the SMARC specification(2). However, it’s important to verify that:

  • The pins you’re using for SPI5 and SPI3 functions don’t conflict with other required interfaces
  • The SoC functions aren’t being used more than once
  • The edge pins aren’t assigned to multiple interfaces simultaneously(1)

Next Steps

Once you provide your OS version and hardware details, I can give you specific guidance on:

  • Device tree configuration for your custom SPI setup
  • How to enable and bind the SPI interfaces
  • Potential conflicts and how to resolve them

The Pinout Designer should show you any conflicts in real-time - if it’s not showing conflicts, the configuration should be technically feasible from a hardware perspective(1).

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

How can I do the Device tree configuration for your custom SPI setup? I tried this

fram.dts (1.4 KB)

To provide specific guidance for your SMARC iMX95 device tree configuration, I need to know which OS and version you’re running. Could you please specify the OS version you’re using and run the tdx-info command to get detailed information about your setup? You can find more details about this command at tdx-info documentation.

Device Tree Overlay Structure for Custom SPI

Based on the Toradex documentation, writing a device tree overlay for custom SPI configuration involves several key steps (1):

1. Define Target Hardware

Your overlay should start with the proper headers and compatibility (1):

/dts-v1/;
/plugin/;

/ {
    compatible = "toradex,smarc-imx95";
};

(1)

2. Create Pin Multiplexing Groups

You’ll need to create pinctrl groups for your SPI configuration (1). The process involves:

  • Locating existing pinctrl groups in your SoM’s device tree files
  • Creating similar groups for your specific pins
  • Using SoC-specific macros for pin configuration (1)

3. Enable Your SPI Interface

You need to reference the SPI controller node and configure it properly (1). This typically involves:

  • Setting the status property to "okay"
  • Configuring chip select pins if needed
  • Adding pinctrl references (1)

4. Resolve Pin Conflicts

Make sure to disable any conflicting interfaces that might be using the same pins (1):

&conflicting_interface {
    status = "disabled";
};

(1)

Compilation and Deployment

Once you have your overlay written, you can compile and deploy it using (2):

  1. TorizonCore Builder for Torizon OS (3)
  2. Device Tree Compiler (DTC) for manual compilation (2)
  3. Yocto Project for custom BSP builds (2)

Without seeing your specific OS version and the content of your fram.dts file, I cannot provide more detailed guidance on the exact syntax and pin configurations needed for your SMARC iMX95 setup.

Please share your OS version so I can provide platform-specific instructions for your device tree overlay configuration.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

tdx-info

Software summary

Bootloader: U-Boot

Kernel version: 6.6.119-7.5.0-devel #1 SMP PREEMPT Mon Jan 5 09:23:13 UTC 2026
Kernel command line: root=PARTUUID=dc15faed-02 ro rootwait console=tty1 console=ttyLP1,115200
Distro name: NAME=“TDX Wayland with XWayland”
Distro version: VERSION_ID=7.5.0-devel-20260202154048-build.0
Distro variant: -
Hostname: toradex-smarc-imx95-12594443

Hardware info

HW model: Toradex SMARC iMX95 on Toradex SMARC Development Board

Toradex version: 0096 V1.1A
Serial number: 12594443
Processor arch: aarch64

Hi @inetronic!

The answer given by Toradex AI seems to be a good starting point.

You would need to write an overlay that configures the pins you need. If you’re not familiar with device tree overlays, refer to this article.

Also, you could check our Partner Network, where you can find partners with the necessary expertise to help you with your project.

Best regards.