Device Tree/en: различия между версиями
(Новая страница: «The compiled file must be written to /boot/dtsb. <b>Be sure to make a backup of the existing / boot/dtsb file!</b>») |
FuzzyBot (обсуждение | вклад) (Обновление для соответствия новой версии исходной страницы.) |
||
Строка 1: | Строка 1: | ||
<languages/> | <languages/> | ||
<div class="mw-translate-fuzzy"> | |||
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 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. | ||
</div> | |||
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: | Строка 10: | ||
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: | Строка 21: | ||
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: | Строка 27: | ||
Another way is to build the kernel:[[Special:MyLanguage/Сборка ядра|Сборка ядра]] | Another way is to build the kernel:[[Special:MyLanguage/Сборка ядра|Сборка ядра]] | ||
===Download=== | ===Download=== | ||
Строка 38: | Строка 37: | ||
imx23-wirenboard28.dts for Wiren Board rev. 2.8 | imx23-wirenboard28.dts for Wiren Board rev. 2.8 | ||
: | : | ||
Строка 48: | Строка 46: | ||
$ #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: | Строка 64: | ||
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: | Строка 74: | ||
$ 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: | Строка 80: | ||
$ sudo apt-get install gcc | $ sudo apt-get install gcc | ||
</pre> | </pre> | ||
===Compilation=== | ===Compilation=== | ||
Строка 97: | Строка 89: | ||
DTC: dts->dtb on file "-" | DTC: dts->dtb on file "-" | ||
</pre> | </pre> | ||
===Installation=== | ===Installation=== | ||
The compiled file must be written to /boot/dtsb. <b>Be sure to make a backup of the existing / boot/dtsb file!</b> | The compiled file must be written to /boot/dtsb. <b>Be sure to make a backup of the existing / boot/dtsb file!</b> |
Версия 10:25, 6 сентября 2022
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.
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!