TI中文支持网
TI专业的中文技术问题搜集分享网站

AM3358 UART2在设备树中配置后仍无法使用,把UART2作为RS485使用,通过RS485向PC串口调试助手发数据,PC无法收到。源码是从ti官网下的,linux的版本是4.4的,开发板也是一个全新的板子,板子只有UART0可以使用,现在如果我想使用UART2,将其作为485使用,我在dts中该怎么配置呢? 急求答复,万分感谢!!!

下面是串口2在设备树中的配置,不知道是正确的方法应该是怎么配置的

uart0_pins: pinmux_uart0_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
>;
};
uart2_pins: pinmux_uart2_pins {
pinctrl-single,pins = <
AM33XX_IOPAD(0x90c, PIN_INPUT_PULLUP | MUX_MODE0) /* CONTROL_CONF_MII1_CRS.uart2_rxd */
AM33XX_IOPAD(0x910, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* CONTROL_CONF_MII1_RXERR.uart2_txd */
>;
};

&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins>;

status = "okay";
};

&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
// gpios = <&gpio3 8 GPIO_ACTIVE_LOW>;
// rts-gpio = <&gpio3 2 GPIO_ACTIVE_HIGH>;
// rs485-rx-during-tx;
// rs485-rts-delay = <1 1>;
linux,rs485-enabled-at-boot-time;
status = "okay";
};

用命令查看uart2,有下面信息

root@arm:/usr/bin# cat /proc/tty/driver/serialserinfo:1.0 driver revision:0: uart:8250 mmio:0x44E09000 irq:155 tx:8179 rx:63 RTS|CTS|DTR|DSR1: uart:unknown port:00000000 irq:02: uart:8250 mmio:0x48024000 irq:156 tx:0 rx:0 CTS|DSR3: uart:unknown port:00000000 irq:04: uart:unknown port:00000000 irq:05: uart:unknown port:00000000 irq:0root@arm:/usr/bin# echo 1 > /dev/ttyS2

root@arm:/usr/bin# cat /proc/tty/driver/serialserinfo:1.0 driver revision:0: uart:8250 mmio:0x44E09000 irq:155 tx:8613 rx:90 RTS|CTS|DTR|DSR1: uart:unknown port:00000000 irq:02: uart:8250 mmio:0x48024000 irq:156 tx:3 rx:0 CTS|DSR3: uart:unknown port:00000000 irq:04: uart:unknown port:00000000 irq:05: uart:unknown port:00000000 irq:0

通过485连好电脑后,给pc发数据,pc仍无法收到收据。将串口2的收发引脚相连,也无法收到自己发出的数据。驱动的代码都没改动,我该怎么配置才能使用uart2呢?

Shine:

pinmux配置有问题,uart2_rxd,uart2_txd对应的是MUX_MODE6。
AM33XX_IOPAD(0x90c, PIN_INPUT_PULLUP | MUX_MODE0) /* CONTROL_CONF_MII1_CRS.uart2_rxd */
AM33XX_IOPAD(0x910, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* CONTROL_CONF_MII1_RXERR.uart2_txd */

赞(0)
未经允许不得转载:TI中文支持网 » AM3358 UART2在设备树中配置后仍无法使用,把UART2作为RS485使用,通过RS485向PC串口调试助手发数据,PC无法收到。源码是从ti官网下的,linux的版本是4.4的,开发板也是一个全新的板子,板子只有UART0可以使用,现在如果我想使用UART2,将其作为485使用,我在dts中该怎么配置呢? 急求答复,万分感谢!!!
分享到: 更多 (0)