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!
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.
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
maybe there is no clock registered for uart 4/5.
have a look at the mainline kernel - there uart 4/5 are working.
~matthias