Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
litesom:devicetree [2017/02/12 09:25] filug [Available device tree files] |
litesom:devicetree [2021/05/10 13:37] (current) kateryna.kozakova |
<newcolumn> | <newcolumn> |
| |
//Device tree// is a structure used to describe hardware configuration. Each boot it is interpreted by the [[http://kernel.org|kernel]] and according to this configuration all: | //Device tree// is a structure used to describe hardware configuration. Each boot it is interpreted by the [[https://kernel.org|kernel]] and according to this configuration all: |
| |
* CPU registers and peripherals, | * CPU registers and peripherals, |
are configured. | are configured. |
| |
In the past //hardware configuration// was hard coded in the source code ([[http://lxr.free-electrons.com/source/arch/arm/mach-at91/board-sam9260ek.c?v=3.12|example]]), now it is a human readable file ([[https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/imx6ul-litesom.dtsi|example]]) compiled into a binary format <tooltip title="Flattened Device Tree">FDT</tooltip>. | In the past //hardware configuration// was hard coded in the source code ([[https://lxr.free-electrons.com/source/arch/arm/mach-at91/board-sam9260ek.c?v=3.12|example]]), now it is a human readable file ([[https://github.com/torvalds/linux/blob/master/arch/arm/boot/dts/imx6ul-litesom.dtsi|example]]) compiled into a binary format <tooltip title="Flattened Device Tree">FDT</tooltip>. |
| |
If you are interested how - in details - //device tree// works please read [[http://elinux.org/Device_Tree_Usage|Device Tree Usage]] and [[http://elinux.org/index.php?title=Device_Tree_Reference|Device Tree Reference]] articles created by [[http://elinux.org|eLinux team]]. | If you are interested how - in details - //device tree// works please read [[https://elinux.org/Device_Tree_Usage|Device Tree Usage]] and [[https://elinux.org/index.php?title=Device_Tree_Reference|Device Tree Reference]] articles created by [[https://elinux.org|eLinux team]]. |
| |
Generic information about //device tree// you can find in [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/booting-without-of.txt|Booting the Linux without Open Firmware]]. | Generic information about //device tree// you can find in [[https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/booting-without-of.txt|Booting the Linux without Open Firmware]]. |
</code> | </code> |
<newcolumn> | <newcolumn> |
Since [[:liteSOM]] is using ''i.MX6UL'' CPU kernel must know how to configure CPU, what peripherals are available etc. All (from CPU point of view) informations are available in ''imx6ul.dtsi'' file. This file is base for all \\device tree\\ files where ''i.MX6UL'' is used. | Since [[:liteSOM]] is using ''i.MX6UL'' CPU kernel must know how to configure CPU, what peripherals are available etc. All (from CPU point of view) informations are available in ''imx6ul.dtsi'' file. This file is base for all //device tree// files where ''i.MX6UL'' is used. |
</columns> | </columns> |
| |
===== More examples ===== | ===== More examples ===== |
| |
On the following pages you can find more examples about //device tree// fir [[:liteSOM]] and [[litesom:liteboard]]: | On the following pages you can find more examples about //device tree// for [[:liteSOM]] and [[litesom:liteboard]]: |
| |
FIXME link examples | * [[litesom:devicetree:lcd|LCD display]], |
| * [[litesom:devicetree:eth|Network interface]], |
| * [[litesom:devicetree:can|CAN inteface]], |
| * [[litesom:devicetree:spi|SPI Interface]], |
| * [[litesom:devicetree:usb|USB interface]]. |