diff mbox

ARM: BCM5301X: Enable UART0 for SmartRG SR-400AC

Message ID 1435103504-28592-1-git-send-email-f.fainelli@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Florian Fainelli June 23, 2015, 11:51 p.m. UTC
Enable the use of UART0 by overriding its default status property.

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
---
 arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Tyler Baker June 24, 2015, 9:48 p.m. UTC | #1
On 23 June 2015 at 16:51, Florian Fainelli <f.fainelli@gmail.com> wrote:
> Enable the use of UART0 by overriding its default status property.
>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>

Thanks Florian! I've tested this patch atop next-20150624 on the
smartrg-sr400ac, and confirmed UART0 is working properly.

Tested-by: Tyler Baker <tyler.baker@linaro.org>

Cheers,

Tyler
Rafał Miłecki June 24, 2015, 9:56 p.m. UTC | #2
On 24 June 2015 at 01:51, Florian Fainelli <f.fainelli@gmail.com> wrote:
> Enable the use of UART0 by overriding its default status property.

Give me 2-3 days to look at this, please.
Rafał Miłecki June 27, 2015, 10:08 p.m. UTC | #3
On 24 June 2015 at 01:51, Florian Fainelli <f.fainelli@gmail.com> wrote:
> Enable the use of UART0 by overriding its default status property.
>
> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
> ---
>  arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
> index d6a033b97c70..64a5e8ab65e0 100644
> --- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
> +++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
> @@ -118,3 +118,7 @@
>                 };
>         };
>  };
> +
> +&uart0 {
> +       status = "okay";
> +};

We have many more changes like this in OpenWrt, I just didn't upstream
them because of current chipcommonA state.

It was added before we got "brcm,bus-axi" and I believe Hauke wanted
move it to the "correct" place at some point. Since UART is part of
ChipCommon device and ChipCommon is part of "brcm,bus-axi",.I guess we
should add UARTs as a ChipCommon device subnodes. We already have
chipcommon: chipcommon@0 {
        reg = <0x00000000 0x1000>;

        gpio-controller;
        #gpio-cells = <2>;
};
, is it possible to move UARTs there?

I'm not sure if this UART cleanup should block your change. I guess it
depends on the way it'll finally look like.

I'm also wondering: is there any preference between overwriting status
with something like
&uart0 { };
and
chipcommonA {
    uart0: serial@0300 { };
};
? I don't know DT that well, just asking.
Florian Fainelli June 28, 2015, 1:38 a.m. UTC | #4
Le 06/27/15 15:08, Rafa? Mi?ecki a écrit :
> On 24 June 2015 at 01:51, Florian Fainelli <f.fainelli@gmail.com> wrote:
>> Enable the use of UART0 by overriding its default status property.
>>
>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>> ---
>>  arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
>> index d6a033b97c70..64a5e8ab65e0 100644
>> --- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
>> +++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
>> @@ -118,3 +118,7 @@
>>                 };
>>         };
>>  };
>> +
>> +&uart0 {
>> +       status = "okay";
>> +};
> 
> We have many more changes like this in OpenWrt, I just didn't upstream
> them because of current chipcommonA state.
> 
> It was added before we got "brcm,bus-axi" and I believe Hauke wanted
> move it to the "correct" place at some point. Since UART is part of
> ChipCommon device and ChipCommon is part of "brcm,bus-axi",.I guess we
> should add UARTs as a ChipCommon device subnodes. We already have
> chipcommon: chipcommon@0 {
>         reg = <0x00000000 0x1000>;
> 
>         gpio-controller;
>         #gpio-cells = <2>;
> };
> , is it possible to move UARTs there?
> 
> I'm not sure if this UART cleanup should block your change. I guess it
> depends on the way it'll finally look like.

I do not think it will, see below:

> 
> I'm also wondering: is there any preference between overwriting status
> with something like
> &uart0 { };
> and
> chipcommonA {
>     uart0: serial@0300 { };
> };
> ? I don't know DT that well, just asking.

An alias can be located pretty much anywhere in the DTS as long as the
name is unique, which is why I took this approach, because I do not have
to do something like this and need to know the full depth of the tree:

foo0 {
	bar0 {
		baz0 {
			status = "okay";
		};
	};
};

This is both more compact, and more robust to re-parenting the UART0
node in case you ever wanted to do it in the future.

I will happily fix the other DTSes to use that convention if we agree
this is the route to take.

Thanks!
--
Florian
Rafał Miłecki June 28, 2015, 7:17 a.m. UTC | #5
On 28 June 2015 at 03:38, Florian Fainelli <f.fainelli@gmail.com> wrote:
> Le 06/27/15 15:08, Rafa? Mi?ecki a écrit :
>> On 24 June 2015 at 01:51, Florian Fainelli <f.fainelli@gmail.com> wrote:
>>> Enable the use of UART0 by overriding its default status property.
>>>
>>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>>> ---
>>>  arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts | 4 ++++
>>>  1 file changed, 4 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
>>> index d6a033b97c70..64a5e8ab65e0 100644
>>> --- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
>>> +++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
>>> @@ -118,3 +118,7 @@
>>>                 };
>>>         };
>>>  };
>>> +
>>> +&uart0 {
>>> +       status = "okay";
>>> +};
>>
>> We have many more changes like this in OpenWrt, I just didn't upstream
>> them because of current chipcommonA state.
>>
>> It was added before we got "brcm,bus-axi" and I believe Hauke wanted
>> move it to the "correct" place at some point. Since UART is part of
>> ChipCommon device and ChipCommon is part of "brcm,bus-axi",.I guess we
>> should add UARTs as a ChipCommon device subnodes. We already have
>> chipcommon: chipcommon@0 {
>>         reg = <0x00000000 0x1000>;
>>
>>         gpio-controller;
>>         #gpio-cells = <2>;
>> };
>> , is it possible to move UARTs there?
>>
>> I'm not sure if this UART cleanup should block your change. I guess it
>> depends on the way it'll finally look like.
>
> I do not think it will, see below:

You answered about using &uart0 instead a whole path and it sounds OK.

What about moving this whole chipcommonA node into "chipcommon: chipcommon@0"?
Hauke did you try that?
Hauke Mehrtens June 30, 2015, 10:04 p.m. UTC | #6
On 06/28/2015 03:38 AM, Florian Fainelli wrote:
> Le 06/27/15 15:08, Rafa? Mi?ecki a écrit :
>> On 24 June 2015 at 01:51, Florian Fainelli <f.fainelli@gmail.com> wrote:
>>> Enable the use of UART0 by overriding its default status property.
>>>
>>> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
>>> ---
>>>  arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts | 4 ++++
>>>  1 file changed, 4 insertions(+)
>>>
>>> diff --git a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
>>> index d6a033b97c70..64a5e8ab65e0 100644
>>> --- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
>>> +++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
>>> @@ -118,3 +118,7 @@
>>>                 };
>>>         };
>>>  };
>>> +
>>> +&uart0 {
>>> +       status = "okay";
>>> +};
>>
>> We have many more changes like this in OpenWrt, I just didn't upstream
>> them because of current chipcommonA state.
>>
>> It was added before we got "brcm,bus-axi" and I believe Hauke wanted
>> move it to the "correct" place at some point. Since UART is part of
>> ChipCommon device and ChipCommon is part of "brcm,bus-axi",.I guess we
>> should add UARTs as a ChipCommon device subnodes. We already have
>> chipcommon: chipcommon@0 {
>>         reg = <0x00000000 0x1000>;
>>
>>         gpio-controller;
>>         #gpio-cells = <2>;
>> };
>> , is it possible to move UARTs there?

I added it at the beginning of the port so I have serial, even without
adding support for bcma. I haven't look at that part later, but it
should go into the chipcommon part. Thats for the patches.

>>
>> I'm not sure if this UART cleanup should block your change. I guess it
>> depends on the way it'll finally look like.
> 
> I do not think it will, see below:
> 
>>
>> I'm also wondering: is there any preference between overwriting status
>> with something like
>> &uart0 { };
>> and
>> chipcommonA {
>>     uart0: serial@0300 { };
>> };
>> ? I don't know DT that well, just asking.
> 
> An alias can be located pretty much anywhere in the DTS as long as the
> name is unique, which is why I took this approach, because I do not have
> to do something like this and need to know the full depth of the tree:
> 
> foo0 {
> 	bar0 {
> 		baz0 {
> 			status = "okay";
> 		};
> 	};
> };
> 
> This is both more compact, and more robust to re-parenting the UART0
> node in case you ever wanted to do it in the future.
> 
> I will happily fix the other DTSes to use that convention if we agree
> this is the route to take.

I haven't used that earlier because I did not know of this feature. I
think Rafa? already did or is currently doing this steps.

Hauke
diff mbox

Patch

diff --git a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
index d6a033b97c70..64a5e8ab65e0 100644
--- a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
+++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
@@ -118,3 +118,7 @@ 
 		};
 	};
 };
+
+&uart0 {
+	status = "okay";
+};