From: scott.branden@broadcom.com (Scott Branden)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] ARM: dts: BCM5301X: Specify serial console parameters
Date: Tue, 14 Mar 2017 14:28:38 -0700 [thread overview]
Message-ID: <5776ba44-e280-9711-1b05-1c79556884e2@broadcom.com> (raw)
In-Reply-To: <CAC3K-4pAzs5fXNB=ZpyzYZnTENa=c0v81GVn7WpW53K7GV9UOg@mail.gmail.com>
On 17-03-14 02:18 PM, Jon Mason wrote:
> On Tue, Mar 14, 2017 at 4:44 PM, Scott Branden
> <scott.branden@broadcom.com> wrote:
>>
>>
>> On 17-03-14 07:53 AM, Jon Mason wrote:
>>>
>>> On Tue, Mar 14, 2017 at 8:32 AM, Rafa? Mi?ecki <zajec5@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@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@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.
>
> Unfortunately, there is not a common bootloader. CFE is used for the
> 4708/9 boards, and u-boot is used for the 5301x boards.
OK, little different situation not having a boot rom with console output
enforcing all designs to use the same UART.
Do both of the bootloaders happen to use the same UART and all the
boards are designed to use the same UART?
>
> Thanks,
> Jon
>
>> I don't see a good reason for duplicating the code in every dts file.
>>
>> Acked-by: Scott Branden <scott.branden@broadcom.com>
>>>
>>>
>>> Thanks,
>>> Jon
>>>
>>
WARNING: multiple messages have this Message-ID (diff)
From: Scott Branden <scott.branden-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
To: Jon Mason <jon.mason-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
Cc: "Rafał Miłecki" <zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Andrew Lunn" <andrew-g2DYL2Zd6BY@public.gmane.org>,
"Florian Fainelli"
<f.fainelli-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
"Mark Rutland" <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
"open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"Hauke Mehrtens" <hauke-5/S+JYg5SzeELgA04lAiVw@public.gmane.org>,
"Russell King" <linux-I+IVW8TIWO2tmTQ+vhA3Yw@public.gmane.org>,
"Rob Herring" <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
"BCM Kernel Feedback"
<bcm-kernel-feedback-list-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>,
"Rafa?? Mi??ecki" <rafal-g1n6cQUeyibVItvQsEIGlw@public.gmane.org>,
linux-arm-kernel
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [PATCH 1/2] ARM: dts: BCM5301X: Specify serial console parameters
Date: Tue, 14 Mar 2017 14:28:38 -0700 [thread overview]
Message-ID: <5776ba44-e280-9711-1b05-1c79556884e2@broadcom.com> (raw)
In-Reply-To: <CAC3K-4pAzs5fXNB=ZpyzYZnTENa=c0v81GVn7WpW53K7GV9UOg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On 17-03-14 02:18 PM, Jon Mason wrote:
> On Tue, Mar 14, 2017 at 4:44 PM, Scott Branden
> <scott.branden-dY08KVG/lbpWk0Htik3J/w@public.gmane.org> wrote:
>>
>>
>> On 17-03-14 07:53 AM, Jon Mason wrote:
>>>
>>> On Tue, Mar 14, 2017 at 8:32 AM, Rafał Miłecki <zajec5-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 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-g1n6cQUeyibVItvQsEIGlw@public.gmane.org>
>>>>>>
>>>>>> This adds baud rate, parity & number of data bits. It's required to get
>>>>>> serial working correctly.
>>>>>>
>>>>>> Signed-off-by: Rafa?? Mi??ecki <rafal-g1n6cQUeyibVItvQsEIGlw@public.gmane.org>
>>>>>> ---
>>>>>> 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.
>
> Unfortunately, there is not a common bootloader. CFE is used for the
> 4708/9 boards, and u-boot is used for the 5301x boards.
OK, little different situation not having a boot rom with console output
enforcing all designs to use the same UART.
Do both of the bootloaders happen to use the same UART and all the
boards are designed to use the same UART?
>
> Thanks,
> Jon
>
>> I don't see a good reason for duplicating the code in every dts file.
>>
>> Acked-by: Scott Branden <scott.branden-dY08KVG/lbpWk0Htik3J/w@public.gmane.org>
>>>
>>>
>>> Thanks,
>>> Jon
>>>
>>
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2017-03-14 21:28 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-14 7:58 [PATCH 1/2] ARM: dts: BCM5301X: Specify serial console parameters Rafał Miłecki
2017-03-14 7:58 ` Rafał Miłecki
2017-03-14 7:58 ` [PATCH 2/2] ARM: dts: BCM53573: " Rafał Miłecki
2017-03-14 7:58 ` Rafał Miłecki
2017-03-14 12:26 ` [PATCH 1/2] ARM: dts: BCM5301X: " Andrew Lunn
2017-03-14 12:26 ` Andrew Lunn
2017-03-14 12:32 ` Rafał Miłecki
2017-03-14 12:32 ` Rafał Miłecki
2017-03-14 12:37 ` Rafał Miłecki
2017-03-14 12:37 ` Rafał Miłecki
2017-03-14 12:51 ` Andrew Lunn
2017-03-14 12:51 ` Andrew Lunn
2017-03-14 14:53 ` Jon Mason
2017-03-14 14:53 ` Jon Mason
2017-03-14 20:44 ` Scott Branden
2017-03-14 20:44 ` Scott Branden
2017-03-14 21:18 ` Jon Mason
2017-03-14 21:18 ` Jon Mason
2017-03-14 21:28 ` Scott Branden [this message]
2017-03-14 21:28 ` Scott Branden
2017-03-14 21:51 ` Andrew Lunn
2017-03-14 21:51 ` Andrew Lunn
2017-03-15 17:03 ` [PATCH V2 1/2] ARM: dts: BCM5301X: Specify serial console params in dtsi files Rafał Miłecki
2017-03-15 17:03 ` Rafał Miłecki
2017-03-15 17:03 ` [PATCH V2 2/2] ARM: dts: BCM53573: Specify serial console parameters Rafał Miłecki
2017-03-15 17:03 ` Rafał Miłecki
2017-03-22 16:49 ` [PATCH V2 1/2] ARM: dts: BCM5301X: Specify serial console params in dtsi files Florian Fainelli
2017-03-22 16:49 ` Florian Fainelli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5776ba44-e280-9711-1b05-1c79556884e2@broadcom.com \
--to=scott.branden@broadcom.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.