Enabling Uarts 4 & 5 on i.MX53 QSB

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

Enabling Uarts 4 & 5 on i.MX53 QSB

1,883 Views
NivelinnPantev
Contributor I

Hi Everyone,

 

I am trying to enable and use Uarts 4 and 5 on i.MX53 QSB

What I did was to add the following code in board-mx53_loco.c:

// for pad initialization

/* UART4 */  

            MX53_PAD_CSI0_DAT12__UART4_TXD_MUX,

            MX53_PAD_CSI0_DAT13__UART4_RXD_MUX,

/* UART5 */  

            MX53_PAD_CSI0_DAT14__UART5_TXD_MUX,

            MX53_PAD_CSI0_DAT15__UART5_RXD_MUX,

 

// for uarts initialization

/* UART4 */

            imx53_add_imx_uart(3, NULL);

/* UART5 */

            imx53_add_imx_uart(4, NULL);

 

But this is what happens at kernel start-up:

[    0.928123] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled

[    1.010420] Serial: IMX driver

[    1.010977] imx21-uart.0: ttymxc0 at MMIO 0x53fbc000 (irq = 31) is a IMX

[    1.744170] console [ttymxc0] enabled

[    1.760031] imx-uart: probe of imx21-uart.3 failed with error -2

[    1.766274] imx-uart: probe of imx21-uart.4 failed with error -2

 

Uart 1 is OK, other Uarts probing fails:

 

What I am missing?

 

Thanks a lot in advance!

Labels (1)
0 Kudos
3 Replies

837 Views
NivelinnPantev
Contributor I

Hi guys,

 

Found a time to go to the issue:

It is in clock.c, clk_lookup mx53_lookup structure

The following lines:

 _REGISTER_CLOCK("imx-uart.3", NULL, uart4_clk[0]),

_REGISTER_CLOCK("imx-uart.4", NULL, uart5_clk[0]),

 

Have to be:

_REGISTER_CLOCK("imx21-uart.3", NULL, uart4_clk[0]),

_REGISTER_CLOCK("imx21-uart.4", NULL, uart5_clk[0]),

 

Now is is shown at start-up:

[    1.790564] imx21-uart.3: ttymxc3 at MMIO 0x53ff0000 (irq = 13) is a IMX

[    1.810558] imx21-uart.4: ttymxc4 at MMIO 0x63f90000 (irq = 86) is a IMX

 

and

ls /dev/tty*

gives them:

/dev/ttymxc3

/dev/ttymxc4

 

Maybe, who ever takes care of mainline kernel support of i.mx53 has to be imformed?

 

Cheers.

0 Kudos

837 Views
NivelinnPantev
Contributor I

Hi Matthias,

 

And thank you for your help and suggestion!

 

Well, it has to be latest kernel, it’s  3.1.0. from Linaro 11.10  release., Ubuntu Oneiric build

 

Nivelinn

0 Kudos

837 Views
MatthiasFend
Contributor I

maybe there is no clock registered for uart 4/5.

have a look at the mainline kernel - there uart 4/5 are working.

 

~matthias

0 Kudos