1.打开内核的文件: $vi arch/arm/mach-omap2/board-am335xevm.c
2.添加uart4、uart5功能脚定义代码(如果没有)。
/* Module pin mux for uart3 */
static struct pinmux_config uart3_pin_mux[] =
{
{
"spi0_cs1.uart3_rxd",
OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP
},
{
"ecap0_in_pwm0_out.uart3_txd",
OMAP_MUX_MODE1 | AM33XX_PULL_ENBL
},
{
NULL,
0
},
};
/* Module pin mux for uart4 */
static struct pinmux_config uart4_pin_mux[] =
{
{
"uart0_ctsn.uart4_rxd",
OMAP_MUX_MODE1 | AM33XX_PIN_INPUT_PULLUP
},
{
"uart0_rtsn.uart4_txd",
OMAP_MUX_MODE1 | AM33XX_PULL_ENBL
},
{
NULL,
0
},
};
/* Module pin mux for uart5 */
static struct pinmux_config uart5_pin_mux[] =
{
{
"mii1_col.uart5_rxd",
OMAP_MUX_MODE3 | AM33XX_PIN_INPUT_PULLUP
},
{
"rmii1_refclk.uart5_txd",
OMAP_MUX_MODE3 | AM33XX_PULL_ENBL
},
{
NULL,
0
},
}
3.添加初始化串口4、5代码(如果没有),如下蓝色部分。
static void uart3_init(int evm_id, int profile)
{
printk("--------uart3_init\n");
/* Configure Uart3*/
setup_pin_mux(uart3_pin_mux);
return;
}
static void uart4_init(int evm_id, int profile)
{
printk("--------uart4_init\n");
/* Configure Uart4*/
setup_pin_mux(uart4_pin_mux);
return;
}
static void uart5_init(int evm_id, int profile)
{
printk("--------uart5_init\n");
/* Configure Uart4*/
setup_pin_mux(uart5_pin_mux);
return;
}
4.添加串口4、5的注册,如下蓝色代码,并注释掉can功能和keys按键功能,如下红色代码。
{uart1_init, DEV_ON_BASEBOARD, PROFILE_ALL},
{uart2_init, DEV_ON_BASEBOARD, PROFILE_ALL},
{uart3_init, DEV_ON_BASEBOARD, PROFILE_ALL},
{uart4_init, DEV_ON_BASEBOARD, PROFILE_ALL},
{uart5_init, DEV_ON_BASEBOARD, PROFILE_ALL},
//{d_can_init, DEV_ON_BASEBOARD, PROFILE_ALL},
//{gpio_keys_init,DEV_ON_BASEBOARD, PROFILE_ALL},
{gpio_led_init,DEV_ON_BASEBOARD, PROFILE_ALL},
{NULL, 0, 0},
5.重新编译内核,并更新系统就可以了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。