板载RS485通讯接口,定义如下:
LCD_D9: UART5_RXD
LCD_D8: UART5_TXD
LCD_D22: GPIO0_23 控制口
/*初始化函数 setup uart5 */
static void uart5_init(int evm_id, int profile)
{
setup_pin_mux(uart5_pin_mux);
return;
}
/* 初始化pin_mux Module pin mux for uart5 */
static struct pinmux_config uart5_pin_mux[] = {
{"lcd_data9.uart5_rxd", OMAP_MUX_MODE4 | AM33XX_SLEWCTRL_SLOW | AM33XX_PIN_INPUT_PULLUP},
{"lcd_data8.uart5_txd", OMAP_MUX_MODE4 | AM33XX_PULL_UP | AM33XX_PULL_DISA | AM33XX_SLEWCTRL_SLOW},
{NULL, 0},
};
/* 初始化使能口,setup uart5 control port */
static void uart5_ctl_init(int evm_id, int profile)
{
setup_pin_mux(uart5_ctl_pin_mux);
return;
}
/* 初始化使能口的pin_mux为GPIO, Module pin mux for uart5 control port */
static struct pinmux_config uart5_ctl_pin_mux[] = {
{"gpmc_ad14.gpio0_23", OMAP_MUX_MODE7 | AM33XX_PIN_OUTPUT_PULLUP},
{NULL, 0},
};
我为使能口专门写了一个驱动,叫rs485ctl, 专门来驱动使能口,通过ioctl函数, 而且该驱动已经在其他口上验证。
我的问题是:
为什么我的UART5始终无法使能起来? 请高升帮忙啊,已经查了一个礼拜了。