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

Материал из Wiren Board
(Новая страница: «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…»)
 
(не показано 16 промежуточных версий 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 ==
Строка 26: Строка 25:
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/  
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/  


Другой способ - [[Special:MyLanguage/Сборка ядра|Сборка ядра]]
Another way is to build the kernel:[[Special:MyLanguage/Сборка ядра|Сборка ядра]]
 
 
===Загрузка===


Необходимо скачать  из [https://github.com/contactless/linux/tree/v3.13-imxv5-x0.1/arch/arm/boot/dts] файл imx23-wirenboardXX.dts, соответствующий версии устройства  и зависимости. Зависимости на настоящий момент это файлы imx23.dtsi, skeleton.dtsi.
===Download===


Основной DTS-файл:
Here[https://github.com/contactless/linux/tree/v3.13-imxv5-x0.1/arch/arm/boot/dts] you must download imx23-wirenboardXX.dts file,  corresponding the device version, and dependencies. The dependencies on this file are imx23.dtsi, skeleton.dtsi.


imx23-wirenboard32.dts для Wiren Board Smart Home rev. 3.5
Main DTS file:


imx23-wirenboard28.dts для Wiren Board rev. 2.8
imx23-wirenboard32.dts for Wiren Board Smart Home rev. 3.5


imx23-wirenboard28.dts for Wiren Board rev. 2.8


:
:
Строка 46: Строка 43:
$ cd dts
$ cd dts


$ #export WB_BRANCH=v3.12-rc3-imxv5-x0.3  # для ядра 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
Строка 54: Строка 50:
$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/imx23-wirenboard28.dts
$ 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» сохранён [5255/5255]
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
$ 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» сохранён [13052/13052]
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/skeleton.dtsi
Строка 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===


===Компилятор===
The Device Tree compiler in Ubuntu and Debian is in the device-tree-compiler package. Install it:
 
Компилятор Device Tree в Ubuntu и Debian находится в пакете device-tree-compiler. Установим его:


<pre>
<pre>
Строка 81: Строка 74:
</pre>
</pre>


 
gcc is also required
Также требуется gcc


<pre>
<pre>
Строка 88: Строка 80:
</pre>
</pre>


 
===Compilation===
===Компиляция===


<pre>
<pre>
Строка 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!