Device Tree/en: различия между версиями

Материал из Wiren Board
(Новая страница: «===Compilation===»)
 
(не показаны 3 промежуточные версии 2 участников)
Строка 1: Строка 1:
<languages/>
<languages/>
Device Tree are files describing the hardware configuration. They are used in Linux and therefore in the Wiren Board controllers firmware. Modification of Device Tree-files may be required when re-assigning ports, connecting some UEXT-devices, when connecting 1-Wire sensors, etc.
Device Tree - hardware configuration description files. They are used by Linux and hence the Wiren Board.
Modification of Device Tree files may be required when reassigning ports, connecting some UEXT devices, when connecting 1-wire sensors, etc.


Read more about Device Tree: https://en.wikipedia.org/wiki/Device_tree , http://elinux.org/Device_Tree
Read more about Device Tree: https://en.wikipedia.org/wiki/Device_tree , http://elinux.org/Device_Tree
Строка 8: Строка 9:


Device Tree files are written in .dts text format, which is compiled into dtb binary format
Device Tree files are written in .dts text format, which is compiled into dtb binary format


== Loading ==
== Loading ==
Строка 20: Строка 20:


The dtb file is located in /boot/dtbs/imx23-wirenboard28.dtb (for Wiren Board rev. 2.8), at /boot/dtbs/imx23-wirenboard32.dtb (for Wiren Board Smart Home rev. 3.5)
The dtb file is located in /boot/dtbs/imx23-wirenboard28.dtb (for Wiren Board rev. 2.8), at /boot/dtbs/imx23-wirenboard32.dtb (for Wiren Board Smart Home rev. 3.5)


== Reassembly ==
== Reassembly ==
Строка 27: Строка 26:


Another way is to build the kernel:[[Special:MyLanguage/Сборка ядра|Сборка ядра]]
Another way is to build the kernel:[[Special:MyLanguage/Сборка ядра|Сборка ядра]]


===Download===
===Download===
Строка 38: Строка 36:


imx23-wirenboard28.dts for Wiren Board rev. 2.8
imx23-wirenboard28.dts for Wiren Board rev. 2.8


:
:
Строка 48: Строка 45:
$ #export WB_BRANCH=v3.12-rc3-imxv5-x0.3  # for kernel 3.12
$ #export WB_BRANCH=v3.12-rc3-imxv5-x0.3  # for kernel 3.12
$ export WB_BRANCH=v3.13-imxv5-x0.1
$ export WB_BRANCH=v3.13-imxv5-x0.1


$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/mxs-pinfunc.h
$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/mxs-pinfunc.h
Строка 67: Строка 63:
imx23.dtsi      imx23-wirenboard28.dts  skeleton.dtsi
imx23.dtsi      imx23-wirenboard28.dts  skeleton.dtsi
imx23-pinfunc.h  mxs-pinfunc.h
imx23-pinfunc.h  mxs-pinfunc.h


</pre>
</pre>


===Compiler===
===Compiler===
Строка 80: Строка 73:
$ sudo apt-get install device-tree-compiler
$ sudo apt-get install device-tree-compiler
</pre>
</pre>


gcc is also required
gcc is also required
Строка 87: Строка 79:
$ sudo apt-get install gcc
$ sudo apt-get install gcc
</pre>
</pre>


===Compilation===
===Compilation===
Строка 98: Строка 89:
</pre>
</pre>


===Installation===


===Установка===
The compiled file must be written to /boot/dtsb. <b>Be sure to make a backup of the existing / boot/dtsb file!</b>
 
Скомпилированный файл необходимо записать в /boot/dtsb.
<b> Обязательно сделайте резервную копию существущего в /boot/dtsb файла!</b>

Текущая версия на 10:26, 6 сентября 2022

Другие языки:

Device Tree - hardware configuration description files. They are used by Linux and hence the Wiren Board. Modification of Device Tree files may be required when reassigning ports, connecting some UEXT devices, when connecting 1-wire sensors, etc.

Read more about Device Tree: https://en.wikipedia.org/wiki/Device_tree , http://elinux.org/Device_Tree

Device Tree for Wiren Board is located in the imx23-wirenboard28.dts

file. It also uses the processor description file imx23.dtsi

Device Tree files are written in .dts text format, which is compiled into dtb binary format

Loading

n the standard image of the Wiren Board, the U-Boot loader reads the dtb file of the Device Tree description and passes it to the kernel. The dtb file name is specified in the/boot/uEnv.txt :

#These are the default settings for some useful u-boot variables:
fdt_file=/boot/dtbs/imx23-wirenboard28.dtb

The dtb file is located in /boot/dtbs/imx23-wirenboard28.dtb (for Wiren Board rev. 2.8), at /boot/dtbs/imx23-wirenboard32.dtb (for Wiren Board Smart Home rev. 3.5)

Reassembly

To make changes to Device Tree, you need to download Device Tree in text format, compile the imx23-wirenboard28 file.dts and record the result (imx23-wirenboard28.dtb) to /boot/dtbs/

Another way is to build the kernel:Сборка ядра

Download

Here[1] you must download imx23-wirenboardXX.dts file, corresponding the device version, and dependencies. The dependencies on this file are imx23.dtsi, skeleton.dtsi.

Main DTS file:

imx23-wirenboard32.dts for Wiren Board Smart Home rev. 3.5

imx23-wirenboard28.dts for Wiren Board rev. 2.8

$ mkdir dts
$ cd dts

$ #export WB_BRANCH=v3.12-rc3-imxv5-x0.3  # for kernel 3.12
$ export WB_BRANCH=v3.13-imxv5-x0.1

$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/mxs-pinfunc.h

$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/imx23-wirenboard28.dts

2013-11-17 04:24:28 (37.9 MB/s) - «imx23-wirenboard28.dts» is saved [5255/5255]

$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/imx23.dtsi

2013-11-17 04:24:33 (272 KB/s) - «imx23.dtsi» is saved [13052/13052]

$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/skeleton.dtsi

$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/imx23-pinfunc.h

$ ls 
imx23.dtsi       imx23-wirenboard28.dts  skeleton.dtsi
imx23-pinfunc.h  mxs-pinfunc.h

Compiler

The Device Tree compiler in Ubuntu and Debian is in the device-tree-compiler package. Install it:

$ sudo apt-get install device-tree-compiler

gcc is also required

$ sudo apt-get install gcc

Compilation

$ gcc -E -Wp,-MD,imx23-wirenboard28.dtb.d.pre.tmp -nostdinc -I. -undef -D__DTS__ -x assembler-with-cpp -o .imx23-wirenboard28.dtb.dts.tmp  imx23-wirenboard28.dts

$ cat .imx23-wirenboard28.dtb.dts.tmp | grep -v "^#" | dtc -I dts -O dtb -o imx23-wirenboard28.dtb
DTC: dts->dtb  on file "-"

Installation

The compiled file must be written to /boot/dtsb. Be sure to make a backup of the existing / boot/dtsb file!