IMX6DL Uart5 not working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6DL Uart5 not working

912 Views
leejohn
Contributor I

hi,

We have a custom design that utilizes uart5 to a z-wave module and the uart does not receive or transmit any data.

the hardware connection is on

Capture-uart5.JPG.jpg

IO-Mux

#define MX6DL_PAD_CSI0_DAT14__UART5_TXD                                        \

  IOMUX_PAD(0x0370, 0x005C, 3, 0x0000, 0, MX6DL_UART_PAD_CTRL)

#define MX6DL_PAD_CSI0_DAT14__UART5_RXD                                        \

  IOMUX_PAD(0x0370, 0x005C, 3, 0x091C, 0, MX6DL_UART_PAD_CTRL)

#define MX6DL_PAD_CSI0_DAT14__SDMA_DEBUG_PC_8                                  \

  IOMUX_PAD(0x0370, 0x005C, 4, 0x0000, 0, NO_PAD_CTRL)

#define MX6DL_PAD_CSI0_DAT14__GPIO_6_0                                         \

  IOMUX_PAD(0x0370, 0x005C, 5, 0x0000, 0, NO_PAD_CTRL)

#define MX6DL_PAD_CSI0_DAT14__MMDC_MMDC_DEBUG_37                               \

  IOMUX_PAD(0x0370, 0x005C, 6, 0x0000, 0, NO_PAD_CTRL)

#define MX6DL_PAD_CSI0_DAT14__SIMBA_TRACE_11                                   \

  IOMUX_PAD(0x0370, 0x005C, 7, 0x0000, 0, NO_PAD_CTRL)

#define MX6DL_PAD_CSI0_DAT15__IPU1_CSI0_D_15                                   \

  IOMUX_PAD(0x0374, 0x0060, 0, 0x0000, 0, NO_PAD_CTRL)

#define MX6DL_PAD_CSI0_DAT15__WEIM_WEIM_D_11                                   \

  IOMUX_PAD(0x0374, 0x0060, 1, 0x0000, 0, NO_PAD_CTRL)

#define MX6DL_PAD_CSI0_DAT15__PCIE_CTRL_DIAG_STATUS_BUS_MUX_19                 \

  IOMUX_PAD(0x0374, 0x0060, 2, 0x0000, 0, NO_PAD_CTRL)

#define MX6DL_PAD_CSI0_DAT15__UART5_TXD                                        \

  IOMUX_PAD(0x0374, 0x0060, 3, 0x0000, 0, MX6DL_UART_PAD_CTRL)

#define MX6DL_PAD_CSI0_DAT15__UART5_RXD                                        \

  IOMUX_PAD(0x0374, 0x0060, 3, 0x091C, 1, MX6DL_UART_PAD_CTRL)

board-mx6 uart config

static iomux_v3_cfg_t mx6dl_uart5_pads[] = {

  MX6DL_PAD_CSI0_DAT15__UART5_RXD,

  MX6DL_PAD_CSI0_DAT14__UART5_TXD,

};

static const struct imxuart_platform_data mx6q_sd_uart5_data __initconst = {

  .flags      = IMXUART_HAVE_RTSCTS | IMXUART_USE_DCEDTE | IMXUART_SDMA,

  .dma_req_rx = MX6Q_DMA_REQ_UART5_RX,

  .dma_req_tx = MX6Q_DMA_REQ_UART5_TX,

};

mxc_iomux_v3_setup_multiple_pads(mx6dl_uart5_pads,

  ARRAY_SIZE(mx6dl_uart5_pads));

  imx6q_add_imx_uart(4, &mx6q_sd_uart5_data);

Any idea on what could be the problem?

Labels (2)
Tags (3)
0 Kudos
Reply
1 Reply

550 Views
weidong_sun
NXP TechSupport
NXP TechSupport

Hello John,

     your steps are correct, but by default UART5 is not enabled, so you please check file named "linux top/arch/arm/mach-mx6/board-mx6q_sabresd.c" , and find "static int uart5_enable", then modify it "static int uart5_enable=1;"

Please try to test if your UART5 is OK !

Regards,

Weidong

0 Kudos
Reply