[U-Boot] [PATCH 2/4] dm: serial: Tidy up the pl01x driver

Linus Walleij linus.walleij at linaro.org
Tue Apr 21 14:00:20 CEST 2015


On Tue, Apr 21, 2015 at 1:56 PM, Linus Walleij <linus.walleij at linaro.org> wrote:
> On Tue, Sep 23, 2014 at 1:30 AM, Simon Glass <sjg at chromium.org> wrote:
>
>> Adjust the driver so that leaf functions take a pointer to the serial port
>> register base. Put all the global configuration in the init function, and
>> use the same settings from then on.
>>
>> This makes it much easier to move to driver model without duplicating the
>> code, since with driver model we use platform data rather than global
>> settings.
>>
>> The driver is compiled with either the CONFIG_PL010_SERIAL or
>> CONFIG_PL011_SERIAL option and this determines the uart type. With driver
>> model this needs to come in from platform data, so create a new
>> CONFIG_PL01X_SERIAL config which brings in the driver, and adjust the
>> driver to support both peripheral variants.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>
> Unfortunately this patch regresses PL010 (Integrator/AP), and I
> suspect it has never been tested on real-world PL010 hardware?
>
> I'm hunting around to figure out what is causing it, any hints welcome.

FYI: U-Boot does come up, but trying to switch baudrate from
the default 38400 to 115200 with set baudrate 115200 hangs,
it's as if the change never hits the hardware so the routine looking
for a CR after the baudrate switch just waits. If I switch the terminal
back to 38400 and hit enter it goes through and works again, and
U-Boot thinks it has successfully switched to 115200, while it hasn't,
really.

Kind of frustrating since I upload kernels over the serial port :P

Yours,
Linus Walleij


More information about the U-Boot mailing list