DTS File для отключения LCD и использования его GPIO в iMX6ULL
Я использую Toradex
система на модуле колибри imx6ULL
с нестандартной доской. Я пытаюсь отключить ЖК-дисплей и использовать его GPIO для своих датчиков. Я следовал за ответом в этой ссылке. Я застрял с одним предложением в ответе.
В дополнение к назначению этих эхо-запросов группе iomuxc pinctrl вам также необходимо назначить группу pinctrl включенному узлу, чтобы они могли инициализироваться. Вы можете создать новый узел специально для этой цели, если хотите.
Что означает эта строка? Нужно ли создавать фиктивный узел с
status
свойство установлено вokay
?Могу ли я изменить имя, отображаемое в /dev/ для порта uart?
Как я могу включить
JTAG
в моей таможенной доске?
Мой исходный файл дерева устройств находится ниже:
/dts-v1/;
#include "imx6ull-colibri-nonwifi.dtsi"
#include "imx6ull-colibri-eval-v3.dtsi"
/ {
model = "Toradex Colibri iMX6ULL 256MB on Colibri Evaluation Board V3";
compatible = "toradex,colibri_imx6ull-eval", "fsl,imx6ull";
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart4 {
status = "disabled";
};
&uart5 {
status = "disabled";
};
&ecspi1 {
status = "okay";
};
&i2c1 {
status = "okay";
/* M41T0M6 real time clock on carrier board */
rtc: m41t0m6@68 {
status = "disabled";
};
};
&pwm1 {
status = "okay";
};
&pwm2 {
status = "okay";
};
&lcdif {
status = "disabled";
};
&iomux {
imx6ull-colibri {
pinctrl_additionalgpio: additionalgpios {
fsl,pins = <
MX6UL_PAD_UART2_RTS_B__GPIO1_IO23 0x14 // Pin 34 => GPS SafeBoot
MX6UL_PAD_CSI_DATA00__GPIO4_IO21 0x14 // Pin 101 => 1V8 Power Supply Enable
MX6UL_PAD_LCD_ENABLE__GPIO3_IO01 0x14 // Pin 44 => GPS EXINT
MX6UL_PAD_LCD_DATA07__GPIO3_IO12 0x14 // Pin 46 => GPS RST
MX6UL_PAD_LCD_DATA09__GPIO3_IO14 0x14 // Pin 48 => UNUSED
MX6UL_PAD_LCD_DATA06__GPIO3_IO11 0x14 // Pin 80 => SX1301 RST
>;
};
};
};
};
Дерево устройства imx6ull-colibri-nonwifi.dtsi
можно найти здесь.
Дерево устройства imx6ull-colibri-eval-v3.dtsi
можно найти здесь.
РЕДАКТИРОВАТЬ:
Я пробовал несколько раз самостоятельно, прочитав некоторые документы в Интернете на dts
, Найти последнюю версию моего DTS ниже. Я также узнал SPI
не работает в моей доске, поэтому я отредактировал мой dts, чтобы включить spi.
Я добавил фиктивный узел для включения gpio.
/dts-v1/;
#include "imx6ull-colibri-nonwifi.dtsi"
#include "imx6ull-colibri-eval-v3.dtsi"
/ {
model = "Toradex Colibri iMX6ULL 256MB on Colibri Evaluation Board V3";
compatible = "toradex,colibri_imx6ull-eval", "fsl,imx6ull";
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart4 {
status = "disabled";
};
&uart5 {
status = "disabled";
};
&ecspi1 {
status = "okay";
};
&i2c1 {
status = "okay";
/* M41T0M6 real time clock on carrier board */
rtc: m41t0m6@68 {
status = "disabled";
};
};
&pwm1 {
status = "okay";
};
&pwm2 {
status = "okay";
};
&lcdif {
status = "disabled";
};
gpio_additional {
pinctrl-name = "default";
pinctrl-0 = <&pinctrl_additionalgpio>;
status = "okay";
};
&ecspi1 {
status = "okay";
};
&iomux {
imx6ull-colibri {
pinctrl_additionalgpio: additionalgpios {
fsl,pins = <
MX6UL_PAD_UART2_RTS_B__GPIO1_IO23 0x14 // Pin 34 => GPS SafeBoot
MX6UL_PAD_CSI_DATA00__GPIO4_IO21 0x14 // Pin 101 => 1V8 Power Supply Enable
MX6UL_PAD_LCD_ENABLE__GPIO3_IO01 0x14 // Pin 44 => GPS EXINT
MX6UL_PAD_LCD_DATA07__GPIO3_IO12 0x14 // Pin 46 => GPS RST
MX6UL_PAD_LCD_DATA09__GPIO3_IO14 0x14 // Pin 48 => UNUSED
MX6UL_PAD_LCD_DATA06__GPIO3_IO11 0x14 // Pin 80 => SX1301 RST
>;
};
};
};
};
1 ответ
1) Это означает, что вам нужно добавить группу pinctrl, например ту, которую вы создали pinctrl_additionalgpio
в узел.
Я возьму, например, узел lcdif, который вы отключили в своем дереве устройств, чтобы проиллюстрировать группу pinctrl, добавленную к узлу. В этом примере pinctrl_lcdif_dat
а также pinctrl_lcdif_ctrl
добавлены в lcdif
узел:
&lcdif {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_lcdif_dat
&pinctrl_lcdif_ctrl>;
};
Вы должны либо создать свой собственный узел и добавить группу pinctrl, либо найти подходящий узел, например:
myadditionalgpio {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_additionalgpio>;
};
2) Я так и не дошел до того, как сменил название устройства. Если все, что вам нужно, это иметь альтернативное имя, вы можете использовать правило udev для создания символической ссылки:
/etc/udev/rules.d/rename-uart.rules
KERNEL=="ttymxc0", SYMLINK+="test_serial"
Тогда у вас будет /dev/test_serial
устройство, которое указывает на /dev/ttymxc0
,
3) Вы можете взглянуть на общую документацию JTAG Toradex https://developer.toradex.com/knowledge-base/jtag.