# Enabling peripherals in Device Tree for custom usage other than EVK board functionality

**URL:** <https://community.solid-run.com/t/enabling-peripherals-in-device-tree-for-custom-usage-other-than-evk-board-functionality/447>\
**Category:** NXP i.MX8M Plus\
**Tags:** iMX8M-plus\
**Created:** [August 26, 2022, 8:20am UTC](https://community.solid-run.com/t/enabling-peripherals-in-device-tree-for-custom-usage-other-than-evk-board-functionality/447 "2022-08-26T08:20:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![j.lokesh](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/j.lokesh/32/146_2.png) [@j.lokesh](https://community.solid-run.com/u/j.lokesh)\
**Post date:** [August 26, 2022, 8:20am UTC](https://community.solid-run.com/t/enabling-peripherals-in-device-tree-for-custom-usage-other-than-evk-board-functionality/447/1 "2022-08-26T08:20:52Z")

</div>

Hello there,

I’m working on imx8mp-HummingBoard-Mate/Pulse. And I’m new to Yocto OS build and I’m open to learn.

Can anyone please help me with the information related to device tree.?  
Actually I want to edit some settings & enable some peripherals like UART and I2C from device tree.  
Which file I should consider and edit to reflect my custom changes to the final device tree.?  
How to edit, is there any specific way to do so.?

Looking forward to a positive respone.

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [August 31, 2022, 4:59am UTC](https://community.solid-run.com/t/enabling-peripherals-in-device-tree-for-custom-usage-other-than-evk-board-functionality/447/2 "2022-08-31T04:59:38Z")

</div>

are you designing a custom board you need to create a device-tree for? Or is there a specific feature on the HummingBoard that isn’t enabled?

Generally with Yocto you will be creating patches and then adding them to the kernel build recipe. However if you have an already built image and just need to change the device-tree I find it easier to take the kernel git repository and then just build the device-tree standalone and move it over.

Most generic Yocto and NXP documentation for using Yocto applies to our implementation with the only real SolidRun specific bits being the machine name and including our meta-layer.

---

<div class="post-metadata">

**Author:** ![j.lokesh](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/j.lokesh/32/146_2.png) [@j.lokesh](https://community.solid-run.com/u/j.lokesh)\
**Post date:** [September 12, 2022, 1:32pm UTC](https://community.solid-run.com/t/enabling-peripherals-in-device-tree-for-custom-usage-other-than-evk-board-functionality/447/3 "2022-09-12T13:32:23Z")

</div>

@jnettlet Yes, we have designed a custom board for imx8mp-som. And here I’m finding difficulty to know the pin control information.

---

<div class="post-metadata">

**Author:** ![jnettlet](https://dub1.discourse-cdn.com/flex005/user_avatar/community.solid-run.com/jnettlet/32/62_2.png) [@jnettlet](https://community.solid-run.com/u/jnettlet)\
**Post date:** [September 15, 2022, 1:04am UTC](https://community.solid-run.com/t/enabling-peripherals-in-device-tree-for-custom-usage-other-than-evk-board-functionality/447/4 "2022-09-15T01:04:10Z")

</div>

We have an online pinout tool to help with this type of customization. [https://pinout.solid-run.com/](https://pinout.solid-run.com/)

---

<div class="post-metadata">

**Author:** ![VPS\_Chris](https://avatars.discourse-cdn.com/v4/letter/v/34f0e0/32.png) [@VPS\_Chris](https://community.solid-run.com/u/VPS_Chris)\
**Post date:** [October 5, 2022, 8:36am UTC](https://community.solid-run.com/t/enabling-peripherals-in-device-tree-for-custom-usage-other-than-evk-board-functionality/447/5 "2022-10-05T08:36:48Z")

</div>

@jnettlet  
We have a similar problem, want to use the Micro Bus of the Hummingboard Pulse (with imx8mp).  
We need 3 GPIOs, 1 for a button, 2 for LEDs. We also need the UART on the MicroBus,  
Question:  
From our Yocto build, there is a dtb file stored on the emmc, is this used by the kernel ?  
What exactly do we have to change in the dts file to enable GPIOs and disable the SAI interface ?  
Is there a howto somewhere for these dts file changes ?
