[PATCH 1/2] ARM: dts: BCM5301X: Specify serial console parameters
Scott Branden
scott.branden at broadcom.com
Tue Mar 14 13:44:36 PDT 2017
On 17-03-14 07:53 AM, Jon Mason wrote:
> On Tue, Mar 14, 2017 at 8:32 AM, Rafał Miłecki <zajec5 at gmail.com> wrote:
>> On 03/14/2017 01:26 PM, Andrew Lunn wrote:
>>>
>>> On Tue, Mar 14, 2017 at 08:58:29AM +0100, Rafa?? Mi??ecki wrote:
>>>>
>>>> From: Rafa?? Mi??ecki <rafal at milecki.pl>
>>>>
>>>> This adds baud rate, parity & number of data bits. It's required to get
>>>> serial working correctly.
>>>>
>>>> Signed-off-by: Rafa?? Mi??ecki <rafal at milecki.pl>
>>>> ---
>>>> arch/arm/boot/dts/bcm5301x.dtsi | 6 +++++-
>>>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/arch/arm/boot/dts/bcm5301x.dtsi
>>>> b/arch/arm/boot/dts/bcm5301x.dtsi
>>>> index 8fd1ef9f0c2d..468107166a6f 100644
>>>> --- a/arch/arm/boot/dts/bcm5301x.dtsi
>>>> +++ b/arch/arm/boot/dts/bcm5301x.dtsi
>>>> @@ -18,8 +18,12 @@
>>>> / {
>>>> interrupt-parent = <&gic>;
>>>>
>>>> + aliases {
>>>> + serial0 = &uart0;
>>>> + };
>>>> +
>>>> chosen {
>>>> - stdout-path = &uart0;
>>>> + stdout-path = "serial0:115200n8";
>>>> };
>>>
>>>
>>> Hi Rafal
>>>
>>> The alias is fine. But putting the stdout-path here is unusual. Which
>>> serial port is used for console is board specific, where as
>>> bcm5301x.dtsi is very generic, it describes the SoC, not a board. If
>>> you look at other .dtsi files, those that specify stdout-path contain
>>> properties which are common to a range of similar boards.
>>
>>
>> So far I've never seen any board using other uart. Also uart0 is disabled by
>> default and we enable it per board family (BCM4708 / BCM47081 / BCM4709 /
>> BCM47094). I think it's just more practical to have simple DTS that covers
>> 99,9% boards by default and handled that margin of devices separately.
>>
>> We already got a lot of duplicated code for enabling uart0, see:
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7b790d3b2943bf8e7e7bafe184008bd6451fe0bd
>>
>> Jon Mason from Broadcom who knows this hardware and designs very well
>> confirmed
>> it's a sane/safe assumption.
>
>
> It should work for all the boards. The question is whether it should
> be in the DTSI or DTS file. This code replicates code I have in
> arch/arm/boot/dts/bcm953012k.dts
> So, either it should be removed or we should change all of the other
> DTS files to have this entry. My understanding is that the latter
> approach is the acceptable one (which matches Andrew's comment), but I
> can make the other changes if necessary.
dtsi file is fine to handle 99% of the use cases and not duplicate the
entry. This is what we do for newer SoCs (such as Cygnus) where the
console will always be a particular UART (as the BootROM already uses a
certain UART the boards are designed to use that UART as the console
always). For bcm953012 a similar situation exists as a common
bootloader is used across boards. So, the uart used as the terminal
will always be the same.
I don't see a good reason for duplicating the code in every dts file.
Acked-by: Scott Branden <scott.branden at broadcom.com>
>
> Thanks,
> Jon
>
More information about the linux-arm-kernel
mailing list