[v2,1/2] ARM: debug: Add Iproc UART3 debug addresses

Message ID 20180530131956.13972-1-peron.clem@gmail.com
State New
Headers show
Series
  • [v2,1/2] ARM: debug: Add Iproc UART3 debug addresses
Related show

Commit Message

Clément Péron May 30, 2018, 1:19 p.m.
From: Clément Peron <clement.peron@devialet.com>

Broadcom Iproc SoCs typically use the UART3 for
debug/console, provide a known good location for that.

Signed-off-by: Clément Peron <clement.peron@devialet.com>
---

 arch/arm/Kconfig.debug | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

Comments

Ray Jui May 30, 2018, 5:25 p.m. | #1
Hi Clément,

Correct me if I'm wrong, but I thought the trend is to move to use 
earlycon that can be activated from kernel command line for early print 
before the serial driver is loaded.

Have you tried earlcon?

Thanks,

Ray

On 5/30/2018 6:19 AM, Clément Péron wrote:
> From: Clément Peron <clement.peron@devialet.com>
> 
> Broadcom Iproc SoCs typically use the UART3 for
> debug/console, provide a known good location for that.
> 
> Signed-off-by: Clément Peron <clement.peron@devialet.com>
> ---
> 
>   arch/arm/Kconfig.debug | 12 +++++++++++-
>   1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> index 199ebc1c4538..4ea9d5793b91 100644
> --- a/arch/arm/Kconfig.debug
> +++ b/arch/arm/Kconfig.debug
> @@ -207,6 +207,14 @@ choice
>   		depends on ARCH_BCM_HR2
>   		select DEBUG_UART_8250
>   
> +	config DEBUG_BCM_IPROC_UART3
> +		bool "Kernel low-level debugging on BCM IPROC UART3"
> +		depends on ARCH_BCM_CYGNUS
> +		select DEBUG_UART_8250
> +		help
> +		  Say Y here if you want the debug print routines to direct
> +		  their output to the third serial port on these devices.
> +
>   	config DEBUG_BCM_KONA_UART
>   		bool "Kernel low-level debugging messages via BCM KONA UART"
>   		depends on ARCH_BCM_MOBILE
> @@ -1557,6 +1565,7 @@ config DEBUG_UART_PHYS
>   	default 0x18000400 if DEBUG_BCM_HR2
>   	default 0x18010000 if DEBUG_SIRFATLAS7_UART0
>   	default 0x18020000 if DEBUG_SIRFATLAS7_UART1
> +	default 0x18023000 if DEBUG_BCM_IPROC_UART3
>   	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
>   	default 0x20001000 if DEBUG_HIP01_UART
>   	default 0x20060000 if DEBUG_RK29_UART0
> @@ -1676,6 +1685,7 @@ config DEBUG_UART_VIRT
>   	default 0xf1002000 if DEBUG_MT8127_UART0
>   	default 0xf1006000 if DEBUG_MT6589_UART0
>   	default 0xf1009000 if DEBUG_MT8135_UART3
> +	default 0xf1023000 if DEBUG_BCM_IPROC_UART3
>   	default 0xf11f1000 if DEBUG_VERSATILE
>   	default 0xf1600000 if DEBUG_INTEGRATOR
>   	default 0xf1c28000 if DEBUG_SUNXI_UART0
> @@ -1791,7 +1801,7 @@ config DEBUG_UART_8250_WORD
>   		DEBUG_KEYSTONE_UART0 || DEBUG_KEYSTONE_UART1 || \
>   		DEBUG_ALPINE_UART0 || \
>   		DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
> -		DEBUG_DAVINCI_DA8XX_UART2 || \
> +		DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_BCM_IPROC_UART3 || \
>   		DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
>   
>   config DEBUG_UART_8250_PALMCHIP
>
Clément Péron May 31, 2018, 8:22 a.m. | #2
Hi Rai,

On Wed, 30 May 2018 at 19:25, Ray Jui <ray.jui@broadcom.com> wrote:
>
> Hi Clément,
>
> Correct me if I'm wrong, but I thought the trend is to move to use
> earlycon that can be activated from kernel command line for early print
> before the serial driver is loaded.
>
> Have you tried earlcon?
No, only tested this method.

Thanks,
Clement

>
> Thanks,
>
> Ray
>
> On 5/30/2018 6:19 AM, Clément Péron wrote:
> > From: Clément Peron <clement.peron@devialet.com>
> >
> > Broadcom Iproc SoCs typically use the UART3 for
> > debug/console, provide a known good location for that.
> >
> > Signed-off-by: Clément Peron <clement.peron@devialet.com>
> > ---
> >
> >   arch/arm/Kconfig.debug | 12 +++++++++++-
> >   1 file changed, 11 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> > index 199ebc1c4538..4ea9d5793b91 100644
> > --- a/arch/arm/Kconfig.debug
> > +++ b/arch/arm/Kconfig.debug
> > @@ -207,6 +207,14 @@ choice
> >               depends on ARCH_BCM_HR2
> >               select DEBUG_UART_8250
> >
> > +     config DEBUG_BCM_IPROC_UART3
> > +             bool "Kernel low-level debugging on BCM IPROC UART3"
> > +             depends on ARCH_BCM_CYGNUS
> > +             select DEBUG_UART_8250
> > +             help
> > +               Say Y here if you want the debug print routines to direct
> > +               their output to the third serial port on these devices.
> > +
> >       config DEBUG_BCM_KONA_UART
> >               bool "Kernel low-level debugging messages via BCM KONA UART"
> >               depends on ARCH_BCM_MOBILE
> > @@ -1557,6 +1565,7 @@ config DEBUG_UART_PHYS
> >       default 0x18000400 if DEBUG_BCM_HR2
> >       default 0x18010000 if DEBUG_SIRFATLAS7_UART0
> >       default 0x18020000 if DEBUG_SIRFATLAS7_UART1
> > +     default 0x18023000 if DEBUG_BCM_IPROC_UART3
> >       default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
> >       default 0x20001000 if DEBUG_HIP01_UART
> >       default 0x20060000 if DEBUG_RK29_UART0
> > @@ -1676,6 +1685,7 @@ config DEBUG_UART_VIRT
> >       default 0xf1002000 if DEBUG_MT8127_UART0
> >       default 0xf1006000 if DEBUG_MT6589_UART0
> >       default 0xf1009000 if DEBUG_MT8135_UART3
> > +     default 0xf1023000 if DEBUG_BCM_IPROC_UART3
> >       default 0xf11f1000 if DEBUG_VERSATILE
> >       default 0xf1600000 if DEBUG_INTEGRATOR
> >       default 0xf1c28000 if DEBUG_SUNXI_UART0
> > @@ -1791,7 +1801,7 @@ config DEBUG_UART_8250_WORD
> >               DEBUG_KEYSTONE_UART0 || DEBUG_KEYSTONE_UART1 || \
> >               DEBUG_ALPINE_UART0 || \
> >               DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
> > -             DEBUG_DAVINCI_DA8XX_UART2 || \
> > +             DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_BCM_IPROC_UART3 || \
> >               DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
> >
> >   config DEBUG_UART_8250_PALMCHIP
> >
Ray Jui May 31, 2018, 5:24 p.m. | #3
On 5/31/2018 1:22 AM, Clément Péron wrote:
> Hi Rai,
> 
> On Wed, 30 May 2018 at 19:25, Ray Jui <ray.jui@broadcom.com> wrote:
>>
>> Hi Clément,
>>
>> Correct me if I'm wrong, but I thought the trend is to move to use
>> earlycon that can be activated from kernel command line for early print
>> before the serial driver is loaded.
>>
>> Have you tried earlcon?
> No, only tested this method.
> 
> Thanks,
> Clement
> 

If I remember it correctly, I think the trend is to use earlycon. There 
are obvious shortcomings by making this configuration compile time based.

>>
>> Thanks,
>>
>> Ray
>>
>> On 5/30/2018 6:19 AM, Clément Péron wrote:
>>> From: Clément Peron <clement.peron@devialet.com>
>>>
>>> Broadcom Iproc SoCs typically use the UART3 for
>>> debug/console, provide a known good location for that.
>>>
>>> Signed-off-by: Clément Peron <clement.peron@devialet.com>
>>> ---
>>>
>>>    arch/arm/Kconfig.debug | 12 +++++++++++-
>>>    1 file changed, 11 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
>>> index 199ebc1c4538..4ea9d5793b91 100644
>>> --- a/arch/arm/Kconfig.debug
>>> +++ b/arch/arm/Kconfig.debug
>>> @@ -207,6 +207,14 @@ choice
>>>                depends on ARCH_BCM_HR2
>>>                select DEBUG_UART_8250
>>>
>>> +     config DEBUG_BCM_IPROC_UART3
>>> +             bool "Kernel low-level debugging on BCM IPROC UART3"
>>> +             depends on ARCH_BCM_CYGNUS
>>> +             select DEBUG_UART_8250
>>> +             help
>>> +               Say Y here if you want the debug print routines to direct
>>> +               their output to the third serial port on these devices.
>>> +
>>>        config DEBUG_BCM_KONA_UART
>>>                bool "Kernel low-level debugging messages via BCM KONA UART"
>>>                depends on ARCH_BCM_MOBILE
>>> @@ -1557,6 +1565,7 @@ config DEBUG_UART_PHYS
>>>        default 0x18000400 if DEBUG_BCM_HR2
>>>        default 0x18010000 if DEBUG_SIRFATLAS7_UART0
>>>        default 0x18020000 if DEBUG_SIRFATLAS7_UART1
>>> +     default 0x18023000 if DEBUG_BCM_IPROC_UART3
>>>        default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
>>>        default 0x20001000 if DEBUG_HIP01_UART
>>>        default 0x20060000 if DEBUG_RK29_UART0
>>> @@ -1676,6 +1685,7 @@ config DEBUG_UART_VIRT
>>>        default 0xf1002000 if DEBUG_MT8127_UART0
>>>        default 0xf1006000 if DEBUG_MT6589_UART0
>>>        default 0xf1009000 if DEBUG_MT8135_UART3
>>> +     default 0xf1023000 if DEBUG_BCM_IPROC_UART3
>>>        default 0xf11f1000 if DEBUG_VERSATILE
>>>        default 0xf1600000 if DEBUG_INTEGRATOR
>>>        default 0xf1c28000 if DEBUG_SUNXI_UART0
>>> @@ -1791,7 +1801,7 @@ config DEBUG_UART_8250_WORD
>>>                DEBUG_KEYSTONE_UART0 || DEBUG_KEYSTONE_UART1 || \
>>>                DEBUG_ALPINE_UART0 || \
>>>                DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
>>> -             DEBUG_DAVINCI_DA8XX_UART2 || \
>>> +             DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_BCM_IPROC_UART3 || \
>>>                DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
>>>
>>>    config DEBUG_UART_8250_PALMCHIP
>>>
Florian Fainelli May 31, 2018, 10:16 p.m. | #4
On 05/31/2018 10:24 AM, Ray Jui wrote:
> 
> 
> On 5/31/2018 1:22 AM, Clément Péron wrote:
>> Hi Rai,
>>
>> On Wed, 30 May 2018 at 19:25, Ray Jui <ray.jui@broadcom.com> wrote:
>>>
>>> Hi Clément,
>>>
>>> Correct me if I'm wrong, but I thought the trend is to move to use
>>> earlycon that can be activated from kernel command line for early print
>>> before the serial driver is loaded.
>>>
>>> Have you tried earlcon?
>> No, only tested this method.
>>
>> Thanks,
>> Clement
>>
> 
> If I remember it correctly, I think the trend is to use earlycon. There
> are obvious shortcomings by making this configuration compile time based.

This is true, though on ARM 32-bit kernels DEBUG_LL gets used by the
kernel self-decompressor and also before earlycon has a chance to run,
this is useful to debugging memory issues where your memory
configuration is incorrect typically.

Either way is fine with me (accepting or dropping) the patch, though
there is probably minimal impact in just accepting such a change.
Ray Jui June 1, 2018, 5:54 p.m. | #5
Sorry Florian, I had a couple issues with my email client yesterday and 
I'm not sure if you have received my reply.

Please see my reply inline.

On 5/31/2018 3:16 PM, Florian Fainelli wrote:
> 
> 
> On 05/31/2018 10:24 AM, Ray Jui wrote:
>>
>>
>> On 5/31/2018 1:22 AM, Clément Péron wrote:
>>> Hi Rai,
>>>
>>> On Wed, 30 May 2018 at 19:25, Ray Jui <ray.jui@broadcom.com> wrote:
>>>>
>>>> Hi Clément,
>>>>
>>>> Correct me if I'm wrong, but I thought the trend is to move to use
>>>> earlycon that can be activated from kernel command line for early print
>>>> before the serial driver is loaded.
>>>>
>>>> Have you tried earlcon?
>>> No, only tested this method.
>>>
>>> Thanks,
>>> Clement
>>>
>>
>> If I remember it correctly, I think the trend is to use earlycon. There
>> are obvious shortcomings by making this configuration compile time based.
> 
> This is true, though on ARM 32-bit kernels DEBUG_LL gets used by the
> kernel self-decompressor and also before earlycon has a chance to run,
> this is useful to debugging memory issues where your memory
> configuration is incorrect typically.
> 

This is true.

> Either way is fine with me (accepting or dropping) the patch, though
> there is probably minimal impact in just accepting such a change.
> 

Will leave the decision to you then.

Thanks,

Ray
Florian Fainelli June 4, 2018, 9:12 p.m. | #6
On Wed, 30 May 2018 15:19:55 +0200, Clément Péron <peron.clem@gmail.com> wrote:
> From: Clément Peron <clement.peron@devialet.com>
> 
> Broadcom Iproc SoCs typically use the UART3 for
> debug/console, provide a known good location for that.
> 
> Signed-off-by: Clément Peron <clement.peron@devialet.com>
> ---

Applied to soc/next, thanks!
--
Florian

Patch

diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 199ebc1c4538..4ea9d5793b91 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -207,6 +207,14 @@  choice
 		depends on ARCH_BCM_HR2
 		select DEBUG_UART_8250
 
+	config DEBUG_BCM_IPROC_UART3
+		bool "Kernel low-level debugging on BCM IPROC UART3"
+		depends on ARCH_BCM_CYGNUS
+		select DEBUG_UART_8250
+		help
+		  Say Y here if you want the debug print routines to direct
+		  their output to the third serial port on these devices.
+
 	config DEBUG_BCM_KONA_UART
 		bool "Kernel low-level debugging messages via BCM KONA UART"
 		depends on ARCH_BCM_MOBILE
@@ -1557,6 +1565,7 @@  config DEBUG_UART_PHYS
 	default 0x18000400 if DEBUG_BCM_HR2
 	default 0x18010000 if DEBUG_SIRFATLAS7_UART0
 	default 0x18020000 if DEBUG_SIRFATLAS7_UART1
+	default 0x18023000 if DEBUG_BCM_IPROC_UART3
 	default 0x1c090000 if DEBUG_VEXPRESS_UART0_RS1
 	default 0x20001000 if DEBUG_HIP01_UART
 	default 0x20060000 if DEBUG_RK29_UART0
@@ -1676,6 +1685,7 @@  config DEBUG_UART_VIRT
 	default 0xf1002000 if DEBUG_MT8127_UART0
 	default 0xf1006000 if DEBUG_MT6589_UART0
 	default 0xf1009000 if DEBUG_MT8135_UART3
+	default 0xf1023000 if DEBUG_BCM_IPROC_UART3
 	default 0xf11f1000 if DEBUG_VERSATILE
 	default 0xf1600000 if DEBUG_INTEGRATOR
 	default 0xf1c28000 if DEBUG_SUNXI_UART0
@@ -1791,7 +1801,7 @@  config DEBUG_UART_8250_WORD
 		DEBUG_KEYSTONE_UART0 || DEBUG_KEYSTONE_UART1 || \
 		DEBUG_ALPINE_UART0 || \
 		DEBUG_DAVINCI_DMx_UART0 || DEBUG_DAVINCI_DA8XX_UART1 || \
-		DEBUG_DAVINCI_DA8XX_UART2 || \
+		DEBUG_DAVINCI_DA8XX_UART2 || DEBUG_BCM_IPROC_UART3 || \
 		DEBUG_BCM_KONA_UART || DEBUG_RK32_UART2
 
 config DEBUG_UART_8250_PALMCHIP