Файл DTS для отключения ЖК-дисплея и использования его GPIO в iMX6ULL

Я использую Toradex модульную систему colibri imx6ULL с настраиваемой платой. Я пытаюсь отключить ЖК-дисплей и использовать его GPIO для своих датчиков. Я следил за ответом по этой ссылке . Я застрял на одном из предложений в ответе.

Помимо назначения этих эхо-запросов группе pinctrl iomuxc, вам также необходимо назначить группу pinctrl активированному узлу, чтобы они инициализировались. Вы можете создать новый узел специально для этой цели, если хотите.

  1. Что означает эта линия? Нужно ли мне создавать фиктивный узел со свойством status, установленным на okay?

  2. Могу ли я изменить имя, отображаемое в / dev / для порта uart?

  3. Как я могу включить 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
                >;
            };
        };
    };
};

person abhiarora    schedule 11.08.2018    source источник


Ответы (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.

person lgraba    schedule 13.08.2018
comment
Обратите внимание, что в дереве устройств, указанном в вопросе выше, вы ссылаетесь на &iomux, которого не существует. Вы можете исправить это, заменив его на &iomuxc. - person lgraba; 13.08.2018
comment
Спасибо за ответ. Пожалуйста, проверьте мой новый вопрос: stackoverflow.com/questions/51884314/ - person abhiarora; 17.08.2018
comment
Привет, @abhiarora, хоть я и согласен ответить здесь, не могли бы вы опубликовать сообщение в сообществе Toradex? toradex.com/community Там у вас будет команда специалистов Toradex, которые рассмотрят ваш вопрос и быстрее ответят . - person lgraba; 17.08.2018
comment
Я тоже писал там. Вот ссылка: toradex.com/community/questions/27640/ - person abhiarora; 17.08.2018