我正在iMX6 Wandboard ARM 计算机上开发。Wandboard 的默认配置仅提供 8 个 GPIO 引脚供使用,尽管 iMX6 有更多可用引脚可以从当前设置切换到 GPIO 模式。我的项目需要更多的 GPIO,为此我一直在尝试更改某些引脚的模式。
我能够修改 iMX6/wandboard 设备树文件并将其编译为 DTB 并在我的设备上使用它(我通过禁用 HDMI 输出进行了测试)但我还没有弄清楚如何将某些引脚从当前设置更改为 GPIO -模式。
我目前正在尝试将DISP0
显示器(MX6QDL_PAD_DISP0_DAT0 - DAT23
在下面的 pinfunc.h 中)切换到 GPIO 模式,因为这些引脚在开发板上的接头上可用。我目前正在尝试使用来自 imx6qdl-wandboard.dsti 的这些引脚:
&iomuxc {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_hog_1>;
/* other fields unchanged */
gpio {
pinctrl_gpio: gpiogrp {
fsl,pins = <
MX6QDL_PAD_EIM_DA12__GPIO3_IO12 0x4001b0b0 /* GPIO3_12 EDM pin 255 */
MX6QDL_PAD_EIM_DA11__GPIO3_IO11 0x4001b0b0 /* GPIO3_11 EDM pin 256 */
MX6QDL_PAD_EIM_DA10__GPIO3_IO10 0x4001b0b0 /* GPIO3_10 EDM pin 257 */
MX6QDL_PAD_EIM_D27__GPIO3_IO27 0x4001b0b0 /* GPIO3_27 EDM pin 258 */
MX6QDL_PAD_EIM_D26__GPIO3_IO26 0x4001b0b0 /* GPIO3_26 EDM pin 259 */
MX6QDL_PAD_EIM_BCLK__GPIO6_IO31 0x4001b0b0 /* GPIO6_31 EDM pin 260 */
MX6QDL_PAD_EIM_DA8__GPIO3_IO08 0x4001b0b0 /* GPIO3_8 EDM pin 261 */
MX6QDL_PAD_ENET_RX_ER__GPIO1_IO24 0x4001b0b0 /* GPIO1_24 EDM pin 262 */
MX6QDL_PAD_GPIO_19__GPIO4_IO05 0x4001b0b0 /* GPIO4_5 EDM pin 263 */
MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x4001b0b0 /* GPIO7_8 EDM pin 264 */
/* my added pins */
MX6QDL_PAD_DISP0_DAT0__GPIO4_IO21 0x4001b0b0 /* GPIO4_21 GPIO117 JP1-1*/
MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x4001b0b0 /* GPIO3_21 GPIO85 JP2-9 */
>;
};
};
};
我首先尝试在 imx6qdl-wandboard.dtsi 中使用一个status = "disabled";
字段,&ipu2
但这不允许我通过/sys/class/gpio
界面更改值。也没有完全删除ipu2
and&iomuxc
块。我不知道下一步该尝试什么。我 90% 确定这些引脚可以用于我正在尝试的目的,但这种配置超出了我的理解范围。
来自 Wandboard Linux 源的相关文件
- imx6q-pinfunc.h (所有 iMX6 引脚及其功能的列表)
- imx6qdl.dtsi (基本 iMX6 设置)
- imx6q.dtsi (四核设置)
- imx6qdl-wandboard.dtsi(魔杖板特定设置)
- imx6q-wandboard.dts (一种将其他人拉在一起的存根)