Thanks for Bio_TICFSL comment, because UART3 TX pin is used as DEVELOP_MODE_SW pin and RX pin is used as LVDS1_CABC_EN1, so we IOMUX them to EIM_D25 as UART3 RXD pin and EIM_D24 as UART3 TXD bin, and modify IOMUX in bspserial.c file as below:
case CSP_BASE_REG_PA_UART3:
// DCE mode
//DDKIomuxSetPinMux(DDK_IOMUX_PIN_PATA_CS_1, DDK_IOMUX_PIN_MUXMODE_ALT4, DDK_IOMUX_PIN_SION_REGULAR);//RXD
//DDKIomuxSetPadConfig(DDK_IOMUX_PAD_PATA_CS_1, DDK_IOMUX_PAD_SLEW_FAST, DDK_IOMUX_PAD_DRIVE_HIGH, DDK_IOMUX_PAD_OPENDRAIN_DISABLE,DDK_IOMUX_PAD_PULL_UP_100K, DDK_IOMUX_PAD_HYSTERESIS_DISABLE,DDK_IOMUX_PAD_VDOEN_NULL,DDK_IOMUX_PAD_OUTVOLT_NULL);
//DDKIomuxSelectInput(DDK_IOMUX_SELECT_INPUT_UART3_IPP_UART_RXD_MUX, 0x3);
//DDKIomuxSetPinMux(DDK_IOMUX_PIN_PATA_CS_0, DDK_IOMUX_PIN_MUXMODE_ALT4, DDK_IOMUX_PIN_SION_REGULAR);//TXD
//DDKIomuxSetPadConfig(DDK_IOMUX_PAD_PATA_CS_0, DDK_IOMUX_PAD_SLEW_FAST, DDK_IOMUX_PAD_DRIVE_HIGH, DDK_IOMUX_PAD_OPENDRAIN_DISABLE,DDK_IOMUX_PAD_PULL_UP_100K,DDK_IOMUX_PAD_HYSTERESIS_DISABLE,DDK_IOMUX_PAD_VDOEN_NULL,DDK_IOMUX_PAD_OUTVOLT_NULL);
DDKIomuxSetPinMux(DDK_IOMUX_PIN_EIM_D25, DDK_IOMUX_PIN_MUXMODE_ALT2, DDK_IOMUX_PIN_SION_REGULAR);
DDKIomuxSetPadConfig(DDK_IOMUX_PAD_EIM_D25, DDK_IOMUX_PAD_SLEW_FAST, DDK_IOMUX_PAD_DRIVE_HIGH, DDK_IOMUX_PAD_OPENDRAIN_DISABLE,DDK_IOMUX_PAD_PULL_UP_100K,DDK_IOMUX_PAD_HYSTERESIS_DISABLE,DDK_IOMUX_PAD_VDOEN_NULL,DDK_IOMUX_PAD_OUTVOLT_NULL);
DDKIomuxSelectInput(DDK_IOMUX_SELECT_INPUT_UART3_IPP_UART_RXD_MUX, 0x3);
DDKIomuxSetPinMux(DDK_IOMUX_PIN_EIM_D24, DDK_IOMUX_PIN_MUXMODE_ALT2, DDK_IOMUX_PIN_SION_REGULAR);//TXD
DDKIomuxSetPadConfig(DDK_IOMUX_PAD_EIM_D24, DDK_IOMUX_PAD_SLEW_FAST, DDK_IOMUX_PAD_DRIVE_HIGH, DDK_IOMUX_PAD_OPENDRAIN_DISABLE,DDK_IOMUX_PAD_PULL_UP_100K, DDK_IOMUX_PAD_HYSTERESIS_DISABLE,DDK_IOMUX_PAD_VDOEN_NULL,DDK_IOMUX_PAD_OUTVOLT_NULL);
break;
also i set BSP environment varialbe BSP_SERIAL_UART3=1, but UART3 is still not working, and UART1 and UART2 are working well. do you know anywhere else we need modify too? thx.