Re: [PATCH] arm64: dts: rockchip: Change serial baud rate for Pinephone Pro to 1.5 MB

Javier Martinez Canillas
2023-04-04T14:05:21Z

Ondřej Jirman <megi@xff.cz> writes:

> On Tue, Apr 04, 2023 at 09:51:11AM +0200, Heiko Stübner wrote:
>> Hi,
>>
>> Am Montag, 3. April 2023, 19:59:37 CEST schrieb Javier Martinez Canillas:
>> > This baud rate is set for the device by mainline u-boot and is also what
>> > is set in the Pinebook Pro Device Tree, which is a device similar to the
>> > PinePhone Pro but with a different form factor.
>> >
>> > Otherwise, the baud rate of the firmware and Linux don't match by default
>> > and a 'console=ttyS2,1500000n8' kernel command line parameter is required
>> > to have proper output for both.
>>
>> The interesting question is always if this will break someone else's setup.
>> I've never really understood the strange setting of 1.5MBps, but on the
>> other hand it _is_ a reality on most boards.
>
> Normal users of the phone probably run with UART console disabled, because
> UART is muxed with audio jack output and to enable it they have to add
> console=ttyS2 to the kernel command line and flip a physical switch inside
> the phone.
>
> Fortunately, not sepcifying stdout-path baud rate in the options part
> of the string, will make the serial driver probe for the baud rate from
> the previous boot stage and make the user happy by keeping whatever was
> already set in the bootloader.
>

As mentioned in the first email of this thread, I tried that but it didn't
work for me. Either using stdout-path = "serial2"; or stdout-path = &uart2;
gives me no serial output with console=ttyS2, I needed to specify the baud
rate explicitly (i.e: console=ttyS2,1500000n8).

> https://elixir.bootlin.com/linux/latest/source/drivers/tty/serial/8250/8250_port.c#L3496
>

Is that helper really used by the serial driver in the PinePhone Pro?
(drivers/tty/serial/8250/8250_dw.c), I was meaning to dig why just ttyS2
was not working but decided that could be a follow-up patch.

Since chaging to 1.5 MBps seemed to have merits on its own, decided to
post this patch anyways in the meantime.

> So we can make the kernel just keep the baudrate setup from the previous
> boot stage by:
>
> stdout-path = "serial2";
>

Did it work for you? Maybe I'm doing something silly but as mentioned it
didn't work for me with upstream u-boot.

> regards,
> o.
>

--
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat