我正在使用模块colibriToradex上的imx6ULL系统和自定义板。
我正试图禁用液晶显示器,并使用它的gpios为我的传感器。我已经按照这个link中的答案做了。我被答案中的一个建议困住了。
除了将这些ping分配给iomoxc pinctrl组之外,还需要将pinctrl组分配给已启用的节点,以便初始化它们。如果愿意,可以专门为此目的创建一个新节点。
那条线是什么意思?是否需要创建属性设置为status的虚拟节点?
我可以更改/dev/中出现的uart端口的名称吗?
如何在自定义板中启用okay
我的设备树源文件如下:

/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
                >;
            };
        };
    };
};

设备树JTAG可以在here上找到。
设备树imx6ull-colibri-nonwifi.dtsi可以在here上找到。
编辑:
在网上阅读了imx6ull-colibri-eval-v3.dtsi上的一些文档后,我自己试过几次。在下面找到我的DTS的最新版本。我还发现dts在我的板中不起作用,因此我编辑了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)这意味着您需要将pinctrl组(例如,您创建的pinctrl_additionalgpio组)添加到节点。
我将以您在设备树中禁用的lcdif节点为例来说明添加到节点的pinctrl组。在本例中,pinctrl_lcdif_datpinctrl_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

关于linux - DTS文件可禁用LCD并在iMX6ULL中使用其GPIO,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51799533/

10-10 08:47