39e
的板子要用到uart2,即CIS_DATA0/GPIO6_PD/RXD2、CIS_DATA1/GPIO7_PD/TXD2这两个pin要利用成RXD2、TXD2功能,那么在软件上配置如下就可以正常使用:
1、kernel/arch/arm/mach-ak39/ak39-gpio.c修改如下:
struct gpio_sharepin_cfg share_cfg_module[] = {
{ePIN_AS_UART2, SHARE_CFG2, 0, 0, (0xff<<4), (0x5a<<4), 0, 0,0, 0},
{ePIN_AS_CAMERA, SHARE_CFG2, 0, 0, (0xff00f), (0x0), 0, 0,0, 0},
}
2、 kernel/arch/arm/mach-ak39/mach-cloud39e_ak3918e+h42.c修改如下:
static struct platform_device *ak3918_platform_devices[] __initdata = {
&ak39_uart0_device,
&ak39_uart1_device,
}
3、drivers/tty/serial/ak39_uart.c修改如下:
static void ak39_serial_set_termios(struct uart_port *port,
struct ktermios *termios, struct ktermios *old)
{
......
/* flow control setting */
if(port->line != 0)
{
if((termios->c_cflag & CRTSCTS)) /* directly */
{
switch (port->line) {
case 1:
AK_GPIO_UART1_FLOW(1);
break;
}
regval &= ~(1<<18|1<<19);
}
else /* inversly */
{
switch(port->line) {
case 1:
ak_setpin_as_gpio(8);
ak_setpin_as_gpio(9);
break;
}
}
1、kernel/arch/arm/mach-ak39/ak39-gpio.c修改如下:
struct gpio_sharepin_cfg share_cfg_module[] = {
{ePIN_AS_UART2, SHARE_CFG2, 0, 0, (0xff<<4), (0x5a<<4), 0, 0,0, 0},
{ePIN_AS_CAMERA, SHARE_CFG2, 0, 0, (0xff00f), (0x0), 0, 0,0, 0},
}
2、 kernel/arch/arm/mach-ak39/mach-cloud39e_ak3918e+h42.c修改如下:
static struct platform_device *ak3918_platform_devices[] __initdata = {
&ak39_uart0_device,
&ak39_uart1_device,
}
3、drivers/tty/serial/ak39_uart.c修改如下:
static void ak39_serial_set_termios(struct uart_port *port,
struct ktermios *termios, struct ktermios *old)
{
......
/* flow control setting */
if(port->line != 0)
{
if((termios->c_cflag & CRTSCTS)) /* directly */
{
switch (port->line) {
case 1:
AK_GPIO_UART1_FLOW(1);
break;
}
regval &= ~(1<<18|1<<19);
}
else /* inversly */
{
switch(port->line) {
case 1:
ak_setpin_as_gpio(8);
ak_setpin_as_gpio(9);
break;
}
}