This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM365 and UART1

Hi, I'm trying to bring up UART1 on my custom board, and have followed the various advice on the board about UART1 configuration:

I've edited serial.h with:
#define DAVINCI_UART1_BASE (IO_PHYS + 0x106000)
I've edited the dm365.c to add:
   {
        .mapbase = DAVINCI_UART1_BASE,
        .irq = IRQ_UARTINT1,
        .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_IOREMAP,
        .iotype = UPIO_MEM,
        .regshift = 2,
    },
and
static struct clk uart1_clk = {
    .name = "uart1",
    .parent = &pll1_sysclk4,
    .lpsc = DAVINCI_LPSC_UART1,
};
and
    CLK(NULL, "uart1", &uart1_clk),
and I've setup pinmux  for my board's alternate UART1 pinout:
    MUX_CFG(DM365, UART1_TXD, 3,   29,    3,    3,     false)   // GPIO 25 : UART1_TXD
    MUX_CFG(DM365, UART1_RXD, 4,   14,    3,    3,  false)     // GPIO 34 : UART1_RXD

and I've altered the board config:

static struct davinci_uart_config uart_config __initdata = {

  .enabled_uarts = 0x03,  //enable two uarts

};

when i run this kernel, and a write a bunch of data to /dev/ttyS1, here's cat /proc/tty/driver/serial

serinfo:1.0 driver revision:

0: uart:16550A mmio:0x01C20000 irq:40 tx:1545 rx:155 RTS|CTS|DTR|DSR

1: uart:16550A mmio:0x01D06000 irq:41 tx:623250 rx:0 CTS|DSR

You can see that the driver thinks its transmitted a lot of bytes...  But there's nothing coming out of pin UART1_TXD, I've checked with a scope.

 

Anything I'm missing?  What to try next?

Regards,
Mitch