Applying device tree overlay

arch-armdevice-treeembeddedu-boot

I have a device based on imx233-Olinuxino-Nano.

The Arch Linux Arm distro boots and works.

However, there is a slave device on my board that is connected to SPI of CPU. It is supported by kernel, but, obviously, generic device tree for Olinuxino doesn't contain its description.

How do I make it show in /dev directory?
I know I can alter device tree in Linux kernel and recompile that device tree, but I heard that it's possible to supply device tree overlay file to alter the device tree on boot. How do I do that? The information that I found up to now is scarce and vague.

Best Answer

I don't know a lot about this but you can read de devicetree Doc in the folder bindings there are information about specific drivers, here you are an example in the Beaglebone Black,

When I was working with the Beaglebone Black, I place the dtb or dtbo files in the /lib/firmware directory and enable which one I want to load in the following files:

I don't know what bootloader are you using it, this is an example that how I do it using uboot

/boot/uboot/uEnv.txt:

optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G capemgr.enable_partno=BB-UART1,BB-UART4,BB-UART5

/etc/default/capemgr:

CAPE=BBBIO-EHRPWM,BBBIO-EHRPWM-OTHER
Related Question