# Device tree modification on Hailo15 Hummingboard IIOT

**URL:** <https://community.solid-run.com/t/device-tree-modification-on-hailo15-hummingboard-iiot/1047>\
**Category:** Uncategorized\
**Created:** [July 30, 2025, 1:57am UTC](https://community.solid-run.com/t/device-tree-modification-on-hailo15-hummingboard-iiot/1047 "2025-07-30T01:57:08Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![ajin](https://avatars.discourse-cdn.com/v4/letter/a/7feea3/32.png) [@ajin](https://community.solid-run.com/u/ajin)\
**Post date:** [July 30, 2025, 1:57am UTC](https://community.solid-run.com/t/device-tree-modification-on-hailo15-hummingboard-iiot/1047/1 "2025-07-30T01:57:08Z")

</div>

I build yocto image from [GitHub - SolidRun/meta-solidrun-arm-hailo: A yocto meta layer for SolidRun Hailo-15 SOM](https://github.com/SolidRun/meta-solidrun-arm-hailo?tab=readme-ov-file#build-steps) for Hailo15 Hummingboard IIOT. Based on my requirements, I have to add an external SPI communication(disabled by default) and configure 4 gpio pins for that (I choose, Hailo15 Pins 7,10,20,27). So I have modified the DTS as below. (All the modified portions from the default device tree are represented in bold.)

/ {  
carrier\_spi\_mux: carrier\_spi\_mux {  
compatible = “gpio-mux”;  
#mux-control-cells = \<0\>;  
mux-gpios = \<&tca6416\_21 0 GPIO\_ACTIVE\_HIGH\>;  
idle-state = \<0\>;  
};

/\* NOTE: Frequency can’t go below 6250000 for hailo unit \*/  
&hailo\_spi\_muxed {  
/delete-node/ b2b\_spi@1;  
carrier\_spi\_muxed: carrier\_spi\_muxed@1 {  
compatible = “spi-mux”;  
reg = \<1\>;  
#address-cells = \<1\>;  
#size-cells = \<0\>;  
spi-max-frequency = \<6250000\>;  
mux-controls = \<&carrier\_spi\_mux\>;  
carrier\_tpm: tpm@0 {  
compatible = “infineon,slb9670”, “tcg,tpm\_tis-spi”;  
reg = \<0\>;  
spi-max-frequency = \<6250000\>;  
};  
carrier\_conn: carrier\_conn\_spi@1 {  
**status = “okay”;**  
**compatible = “xxxx,xxxx-xxx”;**  
reg = \<1\>;  
spi-max-frequency = \<6250000\>;  
**spi-irq-gpios = \<&gpio0 7 GPIO\_ACTIVE\_HIGH\>;  
reset-gpios = \<&gpio0 10 GPIO\_ACTIVE\_HIGH\>; //reset  
power-gpios = \<&gpio1 20 GPIO\_ACTIVE\_HIGH\>, \<&gpio1 21 GPIO\_ACTIVE\_HIGH\>; //wake,busy**  
};  
};  
};

Also I set pin 7 and pin 10 as gpio since these were not configured in pinctrl.

**pinctrl\_gpio7: gpio7 {  
function = “gpio”;  
groups = “gpio7\_grp”;  
};**

**pinctrl\_gpio10: gpio10 {  
function = “gpio”;  
groups = “gpio10\_grp”;  
};**

Since ‘_mux-gpios’_ control pin (&tca6416\_21 0)has made HIGH in device tree, the external SPI should have to be active.

Does my configuration is correct? I have configured such that I could take output from the J22 connector on Hummingboard IIOT. Also how to validate the dts configuration?
