Led_output Cortex-m4

Dear Support,

I have an i.MX8MMIN with a Verdin development board, and I attempted to run hello_world and led_output on the Cortex-M using the instructions provided at the following links:

To debug the code, I utilized the Segger J-Link as a debugger X56. I connected X66 to my PC and initially tried running the hello_world.bin file, but it didn’t work.

I have two COM ports, as follows:

  • COM13 is used for UART3, through which I can observe the Linux side. One for the connection to U-Boot / Linux
  • COM12 is for UART4, but since UART4 is not enabled on the DT (Device Tree), there is no output displayed on COM12 I guess. One for the communication with the M4

I tried to run hello_world, and I guess the UART4 is not enabled, so I can not see anything on that, and I tried to toggle the led.

Next, I attempted to execute the “./build_all.sh” command for the led_output and tried sending the igpio_led_output.bin file using the “loadfile” command. However, I encountered the same challenge, and the LED did not blink as expected.

The LED I am expecting to see is as follows:

gpiochip4 - line 11: “SODIMM_200” unused input active-high

I was wondering if you could provide assistance with this issue.

Best regards,
Mehrdad

Hi @Mehrdad,

Can you please share the steps that you’ve used to run the hello_world binary?

On the u-boot prompt, you should see the messages on the UART4 from Cortex-M. Once you boot Linux, the messages will stop unless you activate the verdin-imx8mm_hmp_overlay.dts. Have you tried to enable this overlay? Can you share your steps to launch the M4 cortex?

Best Regards,
Hiago.

1 Like

Hi @hfranco.tx ,

  1. download SDK[SDK_2_13_0_MIMX8MM6xxxKZ.tar]
  2. Download the GCC Toolchain and extract it in /cortex-m/toolchain[gcc-arm-11.2-2022.02-x86_64-arm-none-eabi]
  3. in the hello-world folder in the directory export ARMGCC_DIR=~/cortex-m/toolchain/gcc-arm-11.2-2022.02-x86_64-arm-none-eabi
  4. run the build_debug.sh[/cortex-m/boards/evkmimx8mm/demo_apps/hello_world/armgcc$]
    image
    copied and tried to send binary files with Jlink debugger via loadfile command

On the u-boot prompt, you should see the messages on the UART4 from Cortex-M. Once you boot Linux, the messages will stop unless you activate the verdin-imx8mm_hmp_overlay.dts . Have you tried to enable this overlay? Can you share your steps to launch the M4 cortex?

the torizonCore that I am using is 5 and there is no overlays for hmp or UART, just I have 4 file in the overlays folder

image

the imx8mm-verdin has a uart pinctrul and I enabled it before and also I can not see that in the /dev/ directory

image

Thanks, Hiago, for your time.

Best regards,
Mehrdad

Hi @Mehrdad,

Ok, these steps look correct. Instead of trying to go with the Jlink, were you able to load the hello world binary using u-boot first? If not, can you try that first so that at least we know the code is working? You can follow this guide for that: High performance, low power Embedded Computing Systems | Toradex Developer Center.

Yes, that’s correct, this overlay is only available on version 6 and newer. Is there a specific reason for you to use version 5?

Best Regards,
Hiago.

1 Like

Hi @hfranco.tx ,

at the moment I have some issues with U-Boot, the instruction is not clear for me

And

Yes, that’s correct, this overlay is only available on version 6 and newer. Is there a specific reason for you to use version 5?

Regarding TorizonCore :
As it turns out, the kernel config for LAN7850 is already enabled in TorizonCore 6, and TorizonCore 5 is LTS already and no modifications/additions/removals are easily done in it. I have to use Torizoncore 6

but I have another issue,

I successfully modified the device tree (DT) and added SPI0.0 on TorizonCore 5, and it worked perfectly for me. However, when I attempted to do the same on TorizonCore 6, I encountered an issue where the /dev directory did not show the expected result. This presents a new challenge for me, which I plan to address at a later time.

Hiago, if it’s not possible to enable UART4 in TorizonCore 5, then I’ll need to switch to TorizonCore 6. Please share your thoughts on this, as I’m ready to migrate quickly if necessary.

Best regards,
Mehrdad

Hi @Mehrdad,

As you are in development now, I believe TorizonCore 6 will be the best option here. You will get the latest kernel, with the latest drivers and all overlays that we’re adding now, including the Cortex-M overlay. We can help if you have issues with your device tree overlay on torizonCore 6, but I’d say you should test it and migrate to TorizonCore 6, probably it’s going to be easier when you deal with the Cortex-M side.

Best Regards,
Hiago.

1 Like

Hi @hfranco.tx ,
Thank you so much for your time , I installed TorizonCore 6 and I want to have and active activate the verdin-imx8mm_hmp_overlay.dts
but I have this and nothing appears on dev directory for UART4(I mean there is no ttymxc3)

torizon@verdin-imx8mm-07219476:/dev$ ls
autofs           mmcblk0boot0   rtc0       tty46     vcs
block            mmcblk0boot1   rtc1       tty47     vcs1
btrfs-control    mmcblk0p1      shm        tty48     vcs2
bus              mmcblk0rpmb    snd        tty49     vcs3
caam-keygen      mqueue         spidev1.0  tty5      vcs4
char             mxc_hantro     stderr     tty50     vcs5
console          mxc_hantro_h1  stdin      tty51     vcs6
cpu_dma_latency  net            stdout     tty52     vcs7
cuse             null           tty        tty53     vcsa
disk             port           tty0       tty54     vcsa1
dma_heap         ppp            tty1       tty55     vcsa2
dri              pps0           tty10      tty56     vcsa3
emmc             ptmx           tty11      tty57     vcsa4
emmc-boot0       ptp0           tty12      tty58     vcsa5
emmc-boot1       pts            tty13      tty59     vcsa6
emmc-part1       ptyp0          tty14      tty6      vcsa7
fd               ptyp1          tty15      tty60     vcsu
full             ptyp2          tty16      tty61     vcsu1
fuse             ptyp3          tty17      tty62     vcsu2
galcore          ptyp4          tty18      tty63     vcsu3
gpiochip0        ptyp5          tty19      tty7      vcsu4
gpiochip1        ptyp6          tty2       tty8      vcsu5
gpiochip2        ptyp7          tty20      tty9      vcsu6
gpiochip3        ptyp8          tty21      ttyS0     vcsu7
gpiochip4        ptyp9          tty22      ttyS1     verdin-adc1
gpiochip5        ptypa          tty23      ttyS2     verdin-adc2
hugepages        ptypb          tty24      ttyS3     verdin-adc3
hwrng            ptypc          tty25      ttymxc0   verdin-adc4
i2c-0            ptypd          tty26      ttymxc1   verdin-i2c-on-module
i2c-1            ptype          tty27      ttymxc2   verdin-i2c1
i2c-2            ptypf          tty28      ttyp0     verdin-i2c2
i2c-3            ram0           tty29      ttyp1     verdin-i2c4
iio:device0      ram1           tty3       ttyp2     verdin-spi-cs0
initctl          ram10          tty30      ttyp3     verdin-uart1
input            ram11          tty31      ttyp4     verdin-uart2
kmsg             ram12          tty32      ttyp5     verdin-uart3
kvm              ram13          tty33      ttyp6     verdin-watchdog
log              ram14          tty34      ttyp7     verdin-watchdog-soc
loop-control     ram15          tty35      ttyp8     vfio
loop0            ram2           tty36      ttyp9     vga_arbiter
loop1            ram3           tty37      ttypa     vhci
loop2            ram4           tty38      ttypb     video0
loop3            ram5           tty39      ttypc     video1
loop4            ram6           tty4       ttypd     vsi_daemon_ctrl
loop5            ram7           tty40      ttype     watchdog
loop6            ram8           tty41      ttypf     watchdog0
loop7            ram9           tty42      ubi_ctrl  zero
mapper           random         tty43      uinput    zram0
mem              rfkill         tty44      urandom
mmcblk0          rtc            tty45      v4l
mehrdad@GB-IRUL051:~/tcbdir/images/device-trees$ torizoncore-builder dto deploy --remote-host 10.50.49.69 --remote-username torizon --remote-password 1 --force --reboot overlays/verdin-imx8mm_hmp_overlay.dts
Downloading image from: https://artifacts.toradex.com/artifactory/torizoncore-oe-prod-frankfurt/kirkstone-6.x.y/release/2/verdin-imx8mm/torizon/torizon-core-docker/oedeploy/torizon-core-docker-verdin-imx8mm-Tezi_6.2.0+build.2.tar

The download may take some time. Please wait...
Download Complete!

Unpacking Toradex Easy Installer image.
Copying Toradex Easy Installer image.
Unpacking TorizonCore Toradex Easy Installer image.
Importing OSTree revision 8fcecdceae5e7e70f0d852eea6d97f940ea0196849d6461cbd665312ca43a3ba from local repository...
957 metadata, 9227 content objects imported; 579.3 MB content written
Unpacked OSTree from Toradex Easy Installer image:
  Commit checksum: 8fcecdceae5e7e70f0d852eea6d97f940ea0196849d6461cbd665312ca43a3ba
  TorizonCore Version: 6.2.0+build.2
The TorizonCore Builder team is re-evaluating the device tree and device tree overlays workflow, and the dt checkout command is currently not supported on TorizonCore 6. Learn how to clone the device trees and overlays repositories on https://developer.toradex.com/torizon/os-customization/use-cases/device-tree-overlays-on-torizon/#clone-toradex-device-tree-and-overlays-repository.

I faced issues with SPI and attempted to add the **SPI

verdin-imx8mm_spidev_overlay.dts and verdin-imx8mm_hmp_overlay.dts DTS** files to the YAML file. However, I couldn’t find SPI and UART4 in it.
please see the yaml and imx8mmin dtsi files.
verdin-imx8mm_hmp_overlay.dts (1.1 KB)
verdin-imx8mm_spidev_overlay.dts (701 Bytes)
imx8mm-verdin-wifi-dev.dts (411 Bytes)
imx8mm-verdin.dtsi (34.8 KB)
imx8mm-verdin-wifi.dtsi (1.8 KB)
imx8mm-verdin-dev.dtsi (2.3 KB)

tcbuild.yaml (4.7 KB)
Thanks for your help.

Best regards,
Mehrdad

Hi @Mehrdad,

Please, check the overlay source code that you’re applying: verdin-imx8mm_hmp_overlay.dts « overlays - device-tree-overlays.git - Sources for Device Tree Overlays

This overlay disables the UART4, that’s why you can’t see it on the Linux side. This happens because this UART is used by default on the Cortex-M side to print debug messages on the NXP SDK.

What issue did you face and what is your final objective? Do you like to use the M4 Cortex to access the SPI?

Best Regards,
Hiago.

1 Like

Please, check the overlay source code that you’re applying: verdin-imx8mm_hmp_overlay.dts « overlays - device-tree-overlays.git - Sources for Device Tree Overlays
This overlay disables the UART4, that’s why you can’t see it on the Linux side. This happens because this UART is used by default on the Cortex-M side to print debug messages on the NXP SDK.
[/quote]

Did you have a chance to review the attached file I uploaded? I made modifications to the UART configuration by changing the status to “okay.”

What issue did you face and what is your final objective?

I missed mentioning the output of the ls command in the /dev directory. After adding the overlay for SPI, I observed that there was no entry for spidev0.0 in the output.

Do you like to use the M4 Cortex to access the SPI?

No, I would like to use spidev0.0 with my DAC.

Allow me to describe the steps I took to enable second SPI spidev0.0 on TorizonCore 5:

In the imx8mm-verdin-dahlia.dtsi file, there is a pre-existing “Verdin SPI_1” interface that utilizes the “ecspi2” controller by default.

/* Verdin SPI_1 */
&ecspi2 {
	status = "okay";

	spidev20: spidev@0 {
		compatible = "toradex,evalspi";
		reg = <0>;
		spi-max-frequency = <10000000>;
		status = "okay";
	};
};

I duplicated the existing code and made minimal modifications to create an SPI_2 controller device node labeled as “cspi1.”

/* Verdin SPI_2 */
&ecspi1 {
	status = "okay";

	spidev10: spidev@0 {
		compatible = "toradex,evalspi";
		reg = <0>;
		spi-max-frequency = <10000000>;
		status = "okay";
	};
};

In the imx8mm-verdin.dtsi file, I made some modifications by utilizing the UART 2 pins to create a second SPI interface on the System-on-Module (SoM). These changes involved configuring the necessary pin assignments and making minor adjustments to the existing configuration. As a result, the SoM now has a secondary SPI interface available.

/* Verdin SPI_2 */
&ecspi1 {
	status = "okay";
	#address-cells = <1>;
	#size-cells = <0>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_ecspi1_n>;
	cs-gpios = <&gpio2 18 GPIO_ACTIVE_LOW>;
	status = "okay";
};
	pinctrl_ecspi1_n: ecspi1grpn {
		fsl,pins = <
			MX8MM_IOMUXC_ECSPI1_SCLK_ECSPI1_SCLK		0x6	/* SODIMM 137 */
			MX8MM_IOMUXC_ECSPI1_MOSI_ECSPI1_MOSI		0x6	/* SODIMM 139 */
			MX8MM_IOMUXC_ECSPI1_MISO_ECSPI1_MISO		0x6	/* SODIMM 41 */
			MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9		0x6	/* SODIMM 143 */
		>;
	};

I tried to reproduce the steps on TorizonCore 6 by modifying the spi_1 configuration in the imx8mm_spidev_overlay.dts file…


/* Verdin SPI_1 */
&ecspi2 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	spidev@0 {
		/* Use compatible "rohm,dh2228fv" to bind spidev driver */
		compatible = "rohm,dh2228fv";
		reg = <0>;
		spi-max-frequency = <10000000>;
	};
};

/* Verdin SPI_2 */
&ecspi1 {
	#address-cells = <1>;
	#size-cells = <0>;
	status = "okay";

	spidev10: spidev@0 {
		/* Use compatible "rohm,dh2228fv" to bind spidev driver */
		compatible = "toradex,evalspi";
		reg = <0>;
		spi-max-frequency = <10000000>;
	};
};

and applied similar modifications as done for imx8mm-verdin.dtsi. However, when checking the /dev/ output, it appears that there is no output for spidev0.0, and the modifications made to spidev0.0 did not take effect. :frowning:

I currently have two challenges: configuring UART4 and implementing a second SPI interface. I appreciate your assistance thus far.

Best regards,
Mehrdad

Hi @hfranco.tx ,

On TorizonCore 5, when I disable pwm_1, it functions as a regular GPIO and allows me to toggle the LED. However, on TorizonCore 6, disabling pwm_1 prevents me from toggling the LED. It appears that my recent modification did not take effect.

gpiochip0 - 32 lines:
        line   1:  "SODIMM_19"        "hpd"   input  active-high [used]

image

Please see the details about the currently active deployments (root filesystems).

torizon@verdin-imx8mm-07219476:~$ ostree admin status
  torizon d0f6b723e7d1a0563c181c75de7ce90b1cdd91a64e62939c0e44d186daa8fc02.0 (pending)
    Version: 6.2.0+build.2-tcbuilder.20230526094134
    origin refspec: tcbuilder:d0f6b723e7d1a0563c181c75de7ce90b1cdd91a64e62939c0e44d186daa8fc02
* torizon 47a0ef4bfec4a8407b7f4244829fd35380a033560bdd83f24a369b9c0c2e77e4.0
    Version: 6.2.0+build.2-tcbuilder.20230419205206
    origin refspec: torizon
torizon@verdin-imx8mm-07219476:~$ ls /proc/device-tree/chosen/overlays/
name  verdin-imx8mm_dsi-to-hdmi_overlay.dtbo  verdin-imx8mm_spidev_overlay.dtbo

Best regards,
Mehrdad

Hi @Mehrdad !

From the overlay verdin-imx8mm_dsi-to-hdmi_overlay.dtbo (verdin-imx8mm_dsi-to-hdmi_overlay.dts « overlays - device-tree-overlays.git - Sources for Device Tree Overlays) we can see that pwm1 is disabled and hdmi_connector is enabled.

Enabling hdmi_connector (imx8mm-verdin.dtsi « freescale « dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules
) will make the pinctrl_pwm_3_dsi_hpd_gpio (imx8mm-verdin.dtsi « freescale « dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules) be used, uses the SODIMM 19 (MX8MM_IOMUXC_GPIO1_IO01). So must be this preventing you from using this specific pin.

Therefore, you will need to disable the pwm1 and the verdin-imx8mm_dsi-to-hdmi_overlay.dtbo overlay to use the SODIMM 19 with the gpiod commands.

You could try to remove the SODIMM 19 from pinctrl_pwm_3_dsi_hpd_gpio, but I don’t know what will be the output (HDMI might just not work with this modification) and of course, this modification is not supported/recommended/documented. But you can try it on your own.

Best regards,

1 Like

Hi @henrique.tx ,

I sincerely appreciate your continuous assistance.

I tried your idea and it failed to achieve the desired result despite our efforts :frowning: . The LED remains unresponsive, as no changes were observed for PWM_3, and the error message " gpioset: error setting the GPIO line values: Device or resource busy " persists.

&iomuxc {
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_gpio1>, <&pinctrl_gpio2>,
			<&pinctrl_gpio_9_dsi>, <&pinctrl_gpio_10_dsi>,
		    <&pinctrl_gpio7>, <&pinctrl_gpio8>, <&pinctrl_pwm_3_gpio>,
		    <&pinctrl_gpio_hog1>, <&pinctrl_gpio_hog2>, <&pinctrl_gpio_hog3>,
		    <&pinctrl_pmic_tpm_ena>;


	pinctrl_pwm_3_gpio: pwm3dsihpdgpiogrp {
		fsl,pins =
			<MX8MM_IOMUXC_GPIO1_IO01_GPIO1_IO1		0x106>;	/* SODIMM 19 */
	};

Additionally, I tried and modified the PWM_1 and PWM_2 as shown below and added them to pinctrl_gpio2. However, even after these modifications, the LEDs still fail to toggle as intended.

	pinctrl_gpio2: gpio2grp {
		fsl,pins =
			<MX8MM_IOMUXC_SPDIF_TX_GPIO5_IO3		0x106>,	/* SODIMM 15 */
			<MX8MM_IOMUXC_SPDIF_RX_GPIO5_IO4		0x106>,	/* SODIMM 16 */
			<MX8MM_IOMUXC_SPDIF_EXT_CLK_GPIO5_IO5		0x106>;	/* SODIMM 208 */
	};

also disabled them first:

/* Verdin PWM_3_DSI */
&pwm1 {
	status = "disabled";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm_1>;
	#pwm-cells = <3>;
};

/* Verdin PWM_1 */
&pwm2 {
	status = "disabled";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm_2>;
	#pwm-cells = <3>;
};

/* Verdin PWM_2 */
&pwm3 {
	status = "disabled";
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_pwm_3>;
	#pwm-cells = <3>;
};

In TorizonCore 5, disabling PWMs was a quick and easy way to achieve the desired outcome.

Best regards,
Mehrdad

Hi @Mehrdad !

Maybe you were missing configuring the mux of the pin.

The device tree overlay worked for me on Verdin iMX8MM (Q 2GB WB IT) V1.1A on a Verdin Development Board V1.1A:

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include "imx8mm-pinfunc.h"

/ {
    compatible = "toradex,verdin-imx8mm";
};

&{/} {
    leds {
        compatible = "gpio-leds";

        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_my_led>;

        myled_sodimm_19 {
            label = "my_led_sodimm_19";
            gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>;
            linux,default-trigger = "heartbeat";
            default-state = "on";
        };

        myled_sodimm_55 {
            label = "my_led_sodimm_55";
            gpios = <&gpio5 16 GPIO_ACTIVE_HIGH>;
            linux,default-trigger = "heartbeat";
            default-state = "on";
        };
    };
};

&pwm1 {
    status = "disabled";
};

&pwm2 {
    status = "disabled";
};

&iomuxc {
    /*pinctrl-0 = <&pinctrl_gpio1>, <&pinctrl_gpio2>,
                <&pinctrl_gpio3>, <&pinctrl_gpio4>,
                <&pinctrl_gpio7>, <&pinctrl_gpio8>,
                <&pinctrl_gpio_hog1>, <&pinctrl_gpio_hog2>, <&pinctrl_gpio_hog3>,
                <&pinctrl_pmic_tpm_ena>, <&pinctrl_my_led>;*/
    pinctrl_my_led: myledgrp {
        fsl,pins =
            <MX8MM_IOMUXC_GPIO1_IO01_GPIO1_IO1 0x104>, // SODIMM 19 // pull-down enabled and drive strength X2
            <MX8MM_IOMUXC_I2C2_SCL_GPIO5_IO16  0x104>; // SODIMM 55 // pull-down enabled and drive strength X2
    };
};

I could see on the module:

torizon@verdin-imx8mm-06827711:~$ ls /sys/class/leds/
mmc0::  mmc1::  mmc2::  my_led_sodimm_19  my_led_sodimm_55

And the LEDs are blinking using the heartbeat pattern. The SODIMM 55 there is just because of the tests I was doing.

Important remarks:

Let us know if this helps you :slight_smile:

Best regards,

1 Like

Hi @henrique.tx ,

I have 2 SoM and unfortunately, both boards appear to be non-changeable, as none of the modifications I attempted have resulted in the desired outcomes. Specifically, I am unable to access the SPI, PWM, and UART functionalities on either of the boards.

I have followed the instructions provided in the documentation and performed the necessary modifications, but no progress has been made. I have also checked the designated directory for any potential files related to these functionalities, but I have found nothing.

torizon@verdin-imx8mm-07219476:/sys/class/leds$ ls
mmc0::  mmc1::  mmc2::

Your attached link does not work

pinctrl-0 of its own (e.g.: https://git.toradex.com/cgit/linux-toradex.git/tree/lib/scatterlist.o?h=toradex_5.15-2.1.x-imx#n56 ).

The issue is somewhere else; I disabled the SPI, and still it is in the /dev directory.

/* Verdin SPI_1 */
&ecspi2 {
	status = "disabled";
};

torizon@verdin-imx8mm-07219476:/dev$ ls
autofs           mmcblk0boot1   rtc1       tty47     vcs1
block            mmcblk0p1      shm        tty48     vcs2
btrfs-control    mmcblk0rpmb    snd        tty49     vcs3
bus              mqueue         spidev1.0  tty5      vcs4
caam-keygen      mxc_hantro     stderr     tty50     vcs5
char             mxc_hantro_h1  stdin      tty51     vcs6
console          net            stdout     tty52     vcs7
cpu_dma_latency  null           tty        tty53     vcsa
cuse             port           tty0       tty54     vcsa1
disk             ppp            tty1       tty55     vcsa2
dma_heap         pps0           tty10      tty56     vcsa3
dri              ptmx           tty11      tty57     vcsa4
emmc             ptp0           tty12      tty58     vcsa5
emmc-boot0       pts            tty13      tty59     vcsa6
emmc-boot1       ptyp0          tty14      tty6      vcsa7
emmc-part1       ptyp1          tty15      tty60     vcsu
fd               ptyp2          tty16      tty61     vcsu1
full             ptyp3          tty17      tty62     vcsu2
fuse             ptyp4          tty18      tty63     vcsu3
galcore          ptyp5          tty19      tty7      vcsu4
gpiochip0        ptyp6          tty2       tty8      vcsu5
gpiochip1        ptyp7          tty20      tty9      vcsu6
gpiochip2        ptyp8          tty21      ttyS0     vcsu7
gpiochip3        ptyp9          tty22      ttyS1     verdin-adc1
gpiochip4        ptypa          tty23      ttyS2     verdin-adc2
hugepages        ptypb          tty24      ttyS3     verdin-adc3
hwrng            ptypc          tty25      ttymxc0   verdin-adc4
i2c-0            ptypd          tty26      ttymxc1   verdin-i2c-on-module
i2c-1            ptype          tty27      ttymxc2   verdin-i2c1
i2c-2            ptypf          tty28      ttyp0     verdin-i2c2
i2c-3            ram0           tty29      ttyp1     verdin-i2c4
iio:device0      ram1           tty3       ttyp2     verdin-spi-cs0
initctl          ram10          tty30      ttyp3     verdin-uart1
input            ram11          tty31      ttyp4     verdin-uart2
kmsg             ram12          tty32      ttyp5     verdin-uart3
kvm              ram13          tty33      ttyp6     verdin-watchdog
log              ram14          tty34      ttyp7     verdin-watchdog-soc
loop-control     ram15          tty35      ttyp8     vfio
loop0            ram2           tty36      ttyp9     vga_arbiter
loop1            ram3           tty37      ttypa     vhci
loop2            ram4           tty38      ttypb     video0
loop3            ram5           tty39      ttypc     video1
loop4            ram6           tty4       ttypd     vsi_daemon_ctrl
loop5            ram7           tty40      ttype     watchdog
loop6            ram8           tty41      ttypf     watchdog0
loop7            ram9           tty42      ubi_ctrl  zero
mapper           random         tty43      uinput    zram0
mem              rfkill         tty44      urandom
mmcblk0          rtc            tty45      v4l
mmcblk0boot0     rtc0           tty46      vcs
torizon@verdin-imx8mm-07219476:/dev$ sudo ostree admin status
Password:
  torizon 45eb289dc71b87d163da0edede2e1c493bac4844dd69f79c36cf2550ef46f6ab.0 (pending)
    Version: 6.2.0+build.2-tcbuilder.20230602092901
    origin refspec: tcbuilder:45eb289dc71b87d163da0edede2e1c493bac4844dd69f79c36cf2550ef46f6ab
* torizon 8fcecdceae5e7e70f0d852eea6d97f940ea0196849d6461cbd665312ca43a3ba.0
    Version: 6.2.0+build.2
    origin refspec: tcbuilder:8fcecdceae5e7e70f0d852eea6d97f940ea0196849d6461cbd665312ca43a3ba

Thank you for your attention to this matter.

Best regards,
Mehrdad

Hi @Mehrdad !

Sorry for the wrong link. This is the right one (but it was just an illustrative example of leds node in the device tree without a pinctrl-0 property): imx8mm-beacon-baseboard.dtsi « freescale « dts « boot « arm64 « arch - linux-toradex.git - Linux kernel for Apalis, Colibri and Verdin modules

By default, TorizonCore 6 images are shipped with SPI and HDMI overlays applied. Did you disable them?

Also, please share all steps you are executing to perform this modification as well as all the versions you are using. The fact that something is working for me and not working for you is a bit odd…

Best regards,

1 Like

Yes, I intentionally disabled the SPI to test whether it would deactivate or not. However, I observed that my changes had no effect and the default SPI is still present in the TorizonCore 6 images.

all steps: :slight_smile:
from this directory tcbdir\images\linux\arch\arm64\boot\dts\freescale

In the imx8mm-verdin-dev.dtsi (2.3 KB) file just disable the SPI_1 to see if it works or not.

disabling the SPI_1 was unsuccessful and the SPI_0 remains active.

In addition, I have attached other files that may be useful:

imx8mm-verdin-wifi.dtsi (1.8 KB)

imx8mm-verdin.dtsi (35.0 KB)

tcbuild.yaml (4.7 KB)


torizon@verdin-imx8mm-07201697:/dev$ ls
autofs           mmcblk0boot1   rtc1       tty47     vcs1
block            mmcblk0p1      shm        tty48     vcs2
btrfs-control    mmcblk0rpmb    snd        tty49     vcs3
bus              mqueue         spidev1.0  tty5      vcs4
caam-keygen      mxc_hantro     stderr     tty50     vcs5
char             mxc_hantro_h1  stdin      tty51     vcs6
console          net            stdout     tty52     vcs7
cpu_dma_latency  null           tty        tty53     vcsa
cuse             port           tty0       tty54     vcsa1
disk             ppp            tty1       tty55     vcsa2
dma_heap         pps0           tty10      tty56     vcsa3
dri              ptmx           tty11      tty57     vcsa4
emmc             ptp0           tty12      tty58     vcsa5
emmc-boot0       pts            tty13      tty59     vcsa6
emmc-boot1       ptyp0          tty14      tty6      vcsa7
emmc-part1       ptyp1          tty15      tty60     vcsu
fd               ptyp2          tty16      tty61     vcsu1
full             ptyp3          tty17      tty62     vcsu2
fuse             ptyp4          tty18      tty63     vcsu3
galcore          ptyp5          tty19      tty7      vcsu4
gpiochip0        ptyp6          tty2       tty8      vcsu5
gpiochip1        ptyp7          tty20      tty9      vcsu6
gpiochip2        ptyp8          tty21      ttyS0     vcsu7
gpiochip3        ptyp9          tty22      ttyS1     verdin-adc1
gpiochip4        ptypa          tty23      ttyS2     verdin-adc2
hugepages        ptypb          tty24      ttyS3     verdin-adc3
hwrng            ptypc          tty25      ttymxc0   verdin-adc4
i2c-0            ptypd          tty26      ttymxc1   verdin-i2c-on-module
i2c-1            ptype          tty27      ttymxc2   verdin-i2c1
i2c-2            ptypf          tty28      ttyp0     verdin-i2c2
i2c-3            ram0           tty29      ttyp1     verdin-i2c4
iio:device0      ram1           tty3       ttyp2     verdin-spi-cs0
initctl          ram10          tty30      ttyp3     verdin-uart1
input            ram11          tty31      ttyp4     verdin-uart2
kmsg             ram12          tty32      ttyp5     verdin-uart3
kvm              ram13          tty33      ttyp6     verdin-watchdog
log              ram14          tty34      ttyp7     verdin-watchdog-soc
loop-control     ram15          tty35      ttyp8     vfio
loop0            ram2           tty36      ttyp9     vga_arbiter
loop1            ram3           tty37      ttypa     vhci
loop2            ram4           tty38      ttypb     video0
loop3            ram5           tty39      ttypc     video1
loop4            ram6           tty4       ttypd     vsi_daemon_ctrl
loop5            ram7           tty40      ttype     watchdog
loop6            ram8           tty41      ttypf     watchdog0
loop7            ram9           tty42      ubi_ctrl  zero
mapper           random         tty43      uinput    zram0
mem              rfkill         tty44      urandom
mmcblk0          rtc            tty45      v4l
mmcblk0boot0     rtc0           tty46      vcs
torizon@verdin-imx8mm-07201697:/dev$ sudo ostree admin status
Password:
  torizon 45eb289dc71b87d163da0edede2e1c493bac4844dd69f79c36cf2550ef46f6ab.0 (pe                                                                                                                                                             nding)
    Version: 6.2.0+build.2-tcbuilder.20230602092901
    origin refspec: tcbuilder:45eb289dc71b87d163da0edede2e1c493bac4844dd69f79c36                                                                                                                                                             cf2550ef46f6ab
* torizon 47a0ef4bfec4a8407b7f4244829fd35380a033560bdd83f24a369b9c0c2e77e4.0
    Version: 6.2.0+build.2-tcbuilder.20230419205206
    origin refspec: torizon

Also, this SoM is new. and why there is pending on the ostree status?


I reboot the board but still is pending:

Best regards,
Mehrdad

Hi @Mehrdad !

As said before, Verdin iMX8M Mini comes with HDMI and SPI overlays pre-enabled by default on TorizonCore 6 (reference: Device Tree Overlays on Torizon | Toradex Developer Center)

Please try disabling them.

You can do so by using the statement clear: true under the overlays section of your tcbuild.yaml.

Best regards,

1 Like

Hi @henrique.tx

This is the process on Ubuntu and the yaml file:

tcbuild.yaml (4.7 KB)

mehrdad@GB-IRUL051:~/tcbdir$ torizoncore-builder build
Building image as per configuration file 'tcbuild.yaml'...

=>> Handling input section
Unpacking Toradex Easy Installer image.
Copying Toradex Easy Installer image.
Unpacking TorizonCore Toradex Easy Installer image.
Importing OSTree revision 8fcecdceae5e7e70f0d852eea6d97f940ea0196849d6461cbd665312ca43a3ba from local repository...
957 metadata, 9227 content objects imported; 579.3 MB content written
Unpacked OSTree from Toradex Easy Installer image:
  Commit checksum: 8fcecdceae5e7e70f0d852eea6d97f940ea0196849d6461cbd665312ca43a3ba
  TorizonCore Version: 6.2.0+build.2

=>> Handling customization section

=> Handling device-tree subsection

=> Selecting custom device-tree 'images/linux/arch/arm64/boot/dts/freescale/imx8mm-verdin-wifi-dev.dts'
'imx8mm-verdin-wifi-dev.dts' compiles successfully.
warning: removing currently applied device tree overlays
Device tree imx8mm-verdin-wifi-dev.dtb successfully applied.

=> Adding device-tree overlay 'images/device-trees/overlays/verdin-imx8mm_hmp_overlay.dts'
'verdin-imx8mm_hmp_overlay.dts' compiles successfully.
/tmp/tmpy1ilbkh5: Device Tree Blob version 17, size=68562, boot CPU=0, string block size=5770, DT structure block size=62736
'verdin-imx8mm_hmp_overlay.dtbo' can successfully modify the device tree 'imx8mm-verdin-wifi-dev.dtb'.
Overlay verdin-imx8mm_hmp_overlay.dtbo successfully applied.

=> Adding device-tree overlay 'images/device-trees/overlays/verdin-imx8mm_spidev_overlay.dts'
'verdin-imx8mm_spidev_overlay.dts' compiles successfully.
/tmp/tmpp2zk1fqy: Device Tree Blob version 17, size=68815, boot CPU=0, string block size=5779, DT structure block size=62980
'verdin-imx8mm_spidev_overlay.dtbo' can successfully modify the device tree 'imx8mm-verdin-wifi-dev.dtb'.
Overlay verdin-imx8mm_spidev_overlay.dtbo successfully applied.

=>> Handling output section
Applying changes from STORAGE/dt.
Commit 8defc7a2d69d1fbceaeebfd8ddf6b07311b9ac8b966371c31ef76c497e98043c has been generated for changes and is ready to be deployed.
Deploying commit ref: tcbuilder-20230612120342
Pulling OSTree with ref tcbuilder-20230612120342 from local archive repository...
  Commit checksum: 8defc7a2d69d1fbceaeebfd8ddf6b07311b9ac8b966371c31ef76c497e98043c
  TorizonCore Version: 6.2.0+build.2-tcbuilder.20230612120342
  Default kernel arguments: quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3

957 metadata, 9227 content objects imported; 579.3 MB content written
Pulling done.
Deploying OSTree with checksum 8defc7a2d69d1fbceaeebfd8ddf6b07311b9ac8b966371c31ef76c497e98043c
Deploying done.
Copy files not under OSTree control from original deployment.
Packing rootfs...
Packing rootfs done.
Updating TorizonCore image in place.

=>> Build command successfully executed!
mehrdad@GB-IRUL051:~/tcbdir$ cd output_directory/
mehrdad@GB-IRUL051:~/tcbdir/output_directory$ torizoncore-builder images unpack torizon-core-docker-evaluation-verdin-imx8mm-Tezi_6.1.0.8.CUSTOM
Storage not empty. Delete current image before continuing? [y/N] y
Copying Toradex Easy Installer image.
Unpacking TorizonCore Toradex Easy Installer image.
Importing OSTree revision 8defc7a2d69d1fbceaeebfd8ddf6b07311b9ac8b966371c31ef76c497e98043c from local repository...
957 metadata, 9227 content objects imported; 579.3 MB content written
Unpacked OSTree from Toradex Easy Installer image:
  Commit checksum: 8defc7a2d69d1fbceaeebfd8ddf6b07311b9ac8b966371c31ef76c497e98043c
  TorizonCore Version: 6.2.0+build.2-tcbuilder.20230612120342
mehrdad@GB-IRUL051:~/tcbdir/output_directory$ torizoncore-builder deploy --remote-host 10.50.49.147 --remote-username torizon --remote-password 1 --reboot
Pulling OSTree with ref base (checksum 8defc7a2d69d1fbceaeebfd8ddf6b07311b9ac8b966371c31ef76c497e98043c) from local archive repository...
Starting http server to serve OSTree.
OSTree server listening on "localhost:46285".
Starting OSTree pull on the device...
Deploying new OSTree on the device...
Deploying successfully finished.
Device reboot initiated...
mehrdad@GB-IRUL051:~/tcbdir/output_directory$

this is before depoloy the new DT:

login as: torizon
torizon@verdin-imx8mm-07201697's password:
torizon@verdin-imx8mm-07201697:~$ ls
torizon@verdin-imx8mm-07201697:~$ cd /dev
torizon@verdin-imx8mm-07201697:/dev$ ls
autofs           mmcblk0boot1   rtc1       tty47     vcs1
block            mmcblk0p1      shm        tty48     vcs2
btrfs-control    mmcblk0rpmb    snd        tty49     vcs3
bus              mqueue         spidev1.0  tty5      vcs4
caam-keygen      mxc_hantro     stderr     tty50     vcs5
char             mxc_hantro_h1  stdin      tty51     vcs6
console          net            stdout     tty52     vcs7
cpu_dma_latency  null           tty        tty53     vcsa
cuse             port           tty0       tty54     vcsa1
disk             ppp            tty1       tty55     vcsa2
dma_heap         pps0           tty10      tty56     vcsa3
dri              ptmx           tty11      tty57     vcsa4
emmc             ptp0           tty12      tty58     vcsa5
emmc-boot0       pts            tty13      tty59     vcsa6
emmc-boot1       ptyp0          tty14      tty6      vcsa7
emmc-part1       ptyp1          tty15      tty60     vcsu
fd               ptyp2          tty16      tty61     vcsu1
full             ptyp3          tty17      tty62     vcsu2
fuse             ptyp4          tty18      tty63     vcsu3
galcore          ptyp5          tty19      tty7      vcsu4
gpiochip0        ptyp6          tty2       tty8      vcsu5
gpiochip1        ptyp7          tty20      tty9      vcsu6
gpiochip2        ptyp8          tty21      ttyS0     vcsu7
gpiochip3        ptyp9          tty22      ttyS1     verdin-adc1
gpiochip4        ptypa          tty23      ttyS2     verdin-adc2
hugepages        ptypb          tty24      ttyS3     verdin-adc3
hwrng            ptypc          tty25      ttymxc0   verdin-adc4
i2c-0            ptypd          tty26      ttymxc1   verdin-i2c-on-module
i2c-1            ptype          tty27      ttymxc2   verdin-i2c1
i2c-2            ptypf          tty28      ttyp0     verdin-i2c2
i2c-3            ram0           tty29      ttyp1     verdin-i2c4
iio:device0      ram1           tty3       ttyp2     verdin-spi-cs0
initctl          ram10          tty30      ttyp3     verdin-uart1
input            ram11          tty31      ttyp4     verdin-uart2
kmsg             ram12          tty32      ttyp5     verdin-uart3
kvm              ram13          tty33      ttyp6     verdin-watchdog
log              ram14          tty34      ttyp7     verdin-watchdog-soc
loop-control     ram15          tty35      ttyp8     vfio
loop0            ram2           tty36      ttyp9     vga_arbiter
loop1            ram3           tty37      ttypa     vhci
loop2            ram4           tty38      ttypb     video0
loop3            ram5           tty39      ttypc     video1
loop4            ram6           tty4       ttypd     vsi_daemon_ctrl
loop5            ram7           tty40      ttype     watchdog
loop6            ram8           tty41      ttypf     watchdog0
loop7            ram9           tty42      ubi_ctrl  zero
mapper           random         tty43      uinput    zram0
mem              rfkill         tty44      urandom
mmcblk0          rtc            tty45      v4l
mmcblk0boot0     rtc0           tty46      vcs
torizon@verdin-imx8mm-07201697:/dev$ sudo ostree admin status
Password:
  torizon 45eb289dc71b87d163da0edede2e1c493bac4844dd69f79c36cf2550ef46f6ab.0 (pending)
    Version: 6.2.0+build.2-tcbuilder.20230602092901
    origin refspec: tcbuilder:45eb289dc71b87d163da0edede2e1c493bac4844dd69f79c36cf2550ef46f6ab
* torizon 47a0ef4bfec4a8407b7f4244829fd35380a033560bdd83f24a369b9c0c2e77e4.0
    Version: 6.2.0+build.2-tcbuilder.20230419205206
    origin refspec: torizon
torizon@verdin-imx8mm-07201697:/dev$ ifconfig
br-79de83bab851: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.18.255.255
        inet6 fe80::42:b8ff:fe8a:f3cc  prefixlen 64  scopeid 0x20<link>
        ether 02:42:b8:8a:f3:cc  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 30  bytes 4321 (4.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:1a:e7:00:1a  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:80:0f:78:50:01  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ethernet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.50.49.147  netmask 255.255.255.0  broadcast 10.50.49.255
        inet6 fe80::4871:c5e8:157a:957  prefixlen 64  scopeid 0x20<link>
        ether 00:14:2d:6d:e3:a1  txqueuelen 1000  (Ethernet)
        RX packets 749  bytes 77632 (75.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 112  bytes 23832 (23.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 90  bytes 7794 (7.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 90  bytes 7794 (7.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

mlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 66:15:b6:c6:f3:58  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

uap0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether b2:ef:b7:f7:ae:b7  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth01fd8bf: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::2077:cbff:fe79:e5aa  prefixlen 64  scopeid 0x20<link>
        ether 22:77:cb:79:e5:aa  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 23  bytes 3302 (3.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

veth0752a09: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::d8a6:f1ff:fea7:f799  prefixlen 64  scopeid 0x20<link>
        ether da:a6:f1:a7:f7:99  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48  bytes 6649 (6.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

torizon@verdin-imx8mm-07201697:/dev$

after deploy the image:

login as: torizon
torizon@verdin-imx8mm-07201697's password:
torizon@verdin-imx8mm-07201697:~$ cd /dev
torizon@verdin-imx8mm-07201697:/dev$ ls
autofs           mmcblk0boot1   rtc1       tty47     vcs1
block            mmcblk0p1      shm        tty48     vcs2
btrfs-control    mmcblk0rpmb    snd        tty49     vcs3
bus              mqueue         spidev1.0  tty5      vcs4
caam-keygen      mxc_hantro     stderr     tty50     vcs5
char             mxc_hantro_h1  stdin      tty51     vcs6
console          net            stdout     tty52     vcs7
cpu_dma_latency  null           tty        tty53     vcsa
cuse             port           tty0       tty54     vcsa1
disk             ppp            tty1       tty55     vcsa2
dma_heap         pps0           tty10      tty56     vcsa3
dri              ptmx           tty11      tty57     vcsa4
emmc             ptp0           tty12      tty58     vcsa5
emmc-boot0       pts            tty13      tty59     vcsa6
emmc-boot1       ptyp0          tty14      tty6      vcsa7
emmc-part1       ptyp1          tty15      tty60     vcsu
fd               ptyp2          tty16      tty61     vcsu1
full             ptyp3          tty17      tty62     vcsu2
fuse             ptyp4          tty18      tty63     vcsu3
galcore          ptyp5          tty19      tty7      vcsu4
gpiochip0        ptyp6          tty2       tty8      vcsu5
gpiochip1        ptyp7          tty20      tty9      vcsu6
gpiochip2        ptyp8          tty21      ttyS0     vcsu7
gpiochip3        ptyp9          tty22      ttyS1     verdin-adc1
gpiochip4        ptypa          tty23      ttyS2     verdin-adc2
hugepages        ptypb          tty24      ttyS3     verdin-adc3
hwrng            ptypc          tty25      ttymxc0   verdin-adc4
i2c-0            ptypd          tty26      ttymxc1   verdin-i2c-on-module
i2c-1            ptype          tty27      ttymxc2   verdin-i2c1
i2c-2            ptypf          tty28      ttyp0     verdin-i2c2
i2c-3            ram0           tty29      ttyp1     verdin-i2c4
iio:device0      ram1           tty3       ttyp2     verdin-spi-cs0
initctl          ram10          tty30      ttyp3     verdin-uart1
input            ram11          tty31      ttyp4     verdin-uart2
kmsg             ram12          tty32      ttyp5     verdin-uart3
kvm              ram13          tty33      ttyp6     verdin-watchdog
log              ram14          tty34      ttyp7     verdin-watchdog-soc
loop-control     ram15          tty35      ttyp8     vfio
loop0            ram2           tty36      ttyp9     vga_arbiter
loop1            ram3           tty37      ttypa     vhci
loop2            ram4           tty38      ttypb     video0
loop3            ram5           tty39      ttypc     video1
loop4            ram6           tty4       ttypd     vsi_daemon_ctrl
loop5            ram7           tty40      ttype     watchdog
loop6            ram8           tty41      ttypf     watchdog0
loop7            ram9           tty42      ubi_ctrl  zero
mapper           random         tty43      uinput    zram0
mem              rfkill         tty44      urandom
mmcblk0          rtc            tty45      v4l
mmcblk0boot0     rtc0           tty46      vcs
torizon@verdin-imx8mm-07201697:/dev$ sudo ostree admin status
Password:
  torizon 8defc7a2d69d1fbceaeebfd8ddf6b07311b9ac8b966371c31ef76c497e98043c.0 (pending)
    Version: 6.2.0+build.2-tcbuilder.20230612120342
    origin refspec: tcbuilder:8defc7a2d69d1fbceaeebfd8ddf6b07311b9ac8b966371c31ef76c497e98043c
* torizon 47a0ef4bfec4a8407b7f4244829fd35380a033560bdd83f24a369b9c0c2e77e4.0
    Version: 6.2.0+build.2-tcbuilder.20230419205206
    origin refspec: torizon


still, SPI is there

Best regards,
Mehrdad

Hi @Mehrdad !

Please be sure to thoroughly read all tips we share here and follow them. Doing so helps a lot in the support process.

You just uncommented the clear: false in your tcbuild.yaml, which is not the intention.

As said before, please use clear: true. You might want to read de documentation to understand it: TorizonCore Builder Tool “build” command | Toradex Developer Center.

One additional piece of information that seems to be helpful:

Device tree overlays are applied on top of the device tree during the boot process. An effect of this fact: if you disable a node (e.g. SPI) on the device tree and a device tree overlay enables it, the SPI will be enabled in the end because the device tree overlay(s) is(are) applied “later” w.r.t. the device tree.

Best regards,

1 Like

My YAML file was shared incorrectly and the clear was true

image