工具/软件:Linux
我在为正在开发的定制板设置 GPIO 时遇到问题。 我们在 AM335x EVM 之后对电路板进行了松散建模、但我们没有在尽可能多的外设附近使用这些器件。 我一直在尝试通过在 DTS 文件中创建一个新节点来利用 GPIO、但它似乎不像我认为的那样工作。 GPIO 未设置、对寄存器的访问甚至未设置。 与 GPIO 相关的 CM_PER 寄存器和 CM_WKUP 寄存器似乎从 Uboot 中的正确设置变为 Linux 中的错误设置。
在包含 am33xx.dtsi 文件的.dts 文件中、我尝试添加的节点示例包括在&am33xx_pinmux 部分中:
GPIO0_Pins:GPIO0_Pins{
pinctrl-single、pins =<
0x164 (PIN_INPUT | MUX_MODE7)/*(C18) eCAP0_IN_PWM0_OUT.GPIO0[7]*/
0xd0 (PIN_INPUT | MUX_MODE7)/*(V2) LCD_data12.GPIO0[8]*/
0xD4 (PIN_INPUT | MUX_MODE7)/*(V3) LCD_data13.GPIO0[9]*/
0xd8 (PIN_OUTPUT PULLUP | MUX_MODE7)/*(V4) LCD_data14.GPIO0[10]*/
0xdc (PIN_OUTPUT 上拉| MUX_MODE7)/*(T5) LCD_data15.GPIO0[11]*/
0x1b0 (PIN_INPUT | MUX_MODE7)/*(A15) xdma_event_in0.GPIO0[19]*/
0x1b4 (PIN_INPUT | MUX_MODE7)/*(D14) xdma_event_intr1.gpio0[20]*/
0x20 (PIN_INPUT | MUX_MODE7)/*(U10) GPMC_AD8.GPIO0[22]*/
0x24 (PIN_INPUT | MUX_MODE7)/*(T10) GPMC_AD9.GPIO0[23]*/
0x28 (PIN_INPUT | MUX_MODE7)/*(T11) GPMC_ad10.GPIO0[26]*/
0x2C (PIN_INPUT | MUX_MODE7)/*(U12) GPMC_AD11.GPIO0[27]*/
0x144 (PIN_INPUT | MUX_MODE7)/*(H18) rmii1_REFCLK.GPIO0[29]*/
>;
};
在下面的部分中:
GPIO0{&gpio0}
TI、no-reset-on-init;
};
我真的不熟悉器件树结构、因此我们希望获得任何帮助。
谢谢、
达拉斯