Very slow shell from internal MPC8241 UART
Jim Thompson
jim at netgate.com
Sat Jan 11 06:21:15 EST 2003
The solution is to make the interrupt actually register.
They're 137 and 138, if memory serves.
Code is on musenki.com's CVS tree.
jim
Frederic Soulier writes:
>
> Hi,
>
> I'm using kernel linux-2.4.17-mvl21 on a custom board based on a MPC8241.
> Everything looks ok until my ramdisk shell is executed : it is *very*
> slow.
> For my tests I use simple-Ramdisk (available on the Denx ftp site).
>
> I use the internal UART of the MPC8241 (IRQ 137). It looks to work fine
> for U-Boot and for displaying Linux boot messages.
>
> I've found some threads from this mailing-list about the same problem.
> Solutions were about EPIC configuration.
> I use only the internal EPIC (no external 8259), my EPIC configuration is
> very simple and no external interrupts are generated at this time.
>
> Here are the modifications that I've applied to my kernel in order to take
> care of the internal UART (as described in
> http://lists.linuxppc.org/linuxppc-embedded/200202/msg00056.html)
>
> 1. Leave EUMBAR @ 0xFC000000
> 2. Call io_block_mapping(0xfc000000, 0xfc000000, 0x04000000, _PAGE_IO); in
> <platform>_map_io()
> 3. Call mpc10x_bridge_init() w/ 0xfc000000 as the last parameter in
> <platform>_find_bridge()
>
> I've alse defined this UART to work with IRQ 137 :
>
> #define STD_SERIAL_PORT_DFNS \
> { 0, BASE_BAUD, PPC200_SERIAL, 137, STD_COM_FLAGS, \
> iomem_base: (u8 *)PPC200_SERIAL, io_type: SERIAL_IO_MEM }
>
> w/ PPC200_SERIAL == 0xFC004500 (internal DUART channel #1)
>
> After that the UART was working for the kernel boot messages before the
> shell is executed.
> The shell is awfully slow (16 caracters in one time every 30 seconds
> approx.).
>
> I've tried to add the openpic_set_sources() as described in other threads
> in order to take care of the IRQ #137 :
>
> 1. Add openpic_set_sources(0, 138, NULL); in <platform>_init_irq() but in
> this case there is no more display from the shell.
>
> Please note that to do this modification I've had to replace
> arch/ppc/kernel/open_pic.c and arch/ppc/kernel/open_pic_defs.h in order to
> add the openpic_set_sources() function.
> The new open_pic.c and open_pic_defs.h came from linuxppc-2.4.18.
>
> Any advice will be welcomed,
>
> Best regards,
>
> Frederic Soulier
>
>
>
>
--
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list