Il giorno mar, 30/10/2007 alle 10.09 +0100, Martin Michlmayr ha scritto:
> * Giuseppe Sacco <firstname.lastname@example.org> [2007-10-30 09:41]:
> > 1. serial line does not work
> What exactly is not working? I see kernel messages but serial doesn't
> work when I reach user land. Do you see the same?
Yes. I understood that the serial line is correctly setup at startup,
then when the serial8250 device is started, it scan all registered
drivers (including the "platform" one), it tries to assign the two uarts
registered from ip32-platform.c, but here it get lost because the first
line is correctly registered, but the second line overlap the first one.
What happens is that when registering the second uart, the serial device
look for an unused uart and it gets the one used by ttyS0. I think that
the device think the uart is free because our uarts are UPIO_MEM but
mapbase isn't used.
Beside this, there is an error in ip32-platform:uart8250_init() since
the two uart structures are initialised with the same
&mace->isa.serial1. (this has already been pointed out in a previous
message on this list.)
A solution would be to change the initialisation in
ip32-platform:uart8250_init() in order to use mapbase instead of
membase, but I don't know how to translate the two numbers to mapbase.
Infact, if you use mapbase, the serial device know how to translate it
to membase and will correctly find the uart as used.