Re: [PATCH 5/6] ARM: add low level debug uart for rk1108

From: Heiko Stuebner
Date: Fri Nov 04 2016 - 04:04:02 EST


Am Freitag, 4. November 2016, 15:58:35 CET schrieb Andy Yan:
> Hi Heiko:
>
> On 2016å11æ04æ 15:36, Heiko Stuebner wrote:
> > Am Donnerstag, 3. November 2016, 20:42:21 CET schrieb Andy Yan:
> >> RK1108 UARTs are Synopsis DesignWare 8250 compatible.
> >> Only with different register addresses.
> >>
> >> Signed-off-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx>
> >> ---
> >>
> >> arch/arm/Kconfig.debug | 30 ++++++++++++++++++++++++++++++
> >> 1 file changed, 30 insertions(+)
> >>
> >> diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
> >> index d83f7c3..408540f 100644
> >> --- a/arch/arm/Kconfig.debug
> >> +++ b/arch/arm/Kconfig.debug
> >> @@ -776,6 +776,30 @@ choice
> >>
> >> their output to the standard serial port on the RealView
> >> PB1176 platform.
> >>
> >> + config DEBUG_RK1108_UART0
> >> + bool "Kernel low-level debugging messages via Rockchip RK1108
UART0"
> >> + depends on ARCH_ROCKCHIP
> >> + select DEBUG_UART_8250
> >> + help
> >> + Say Y here if you want kernel low-level debugging support
> >> + on Rockchip RK1108 based platforms.
> >> +
> >> + config DEBUG_RK1108_UART1
> >> + bool "Kernel low-level debugging messages via Rockchip RK1108
UART1"
> >> + depends on ARCH_ROCKCHIP
> >> + select DEBUG_UART_8250
> >> + help
> >> + Say Y here if you want kernel low-level debugging support
> >> + on Rockchip RK1108 based platforms.
> >> +
> >> + config DEBUG_RK1108_UART2
> >> + bool "Kernel low-level debugging messages via Rockchip RK1108
UART2"
> >> + depends on ARCH_ROCKCHIP
> >> + select DEBUG_UART_8250
> >> + help
> >> + Say Y here if you want kernel low-level debugging support
> >> + on Rockchip RK1108 based platforms.
> >> +
> >
> > are you sure, you need all 3 of them?
> >
> > I.e. most Rockchip SoCs so far had one uart somewhat designated as debug
> > uart. Most likely due to it not having rts/cts and being used in
> > reference schematics, but no one ever used another uart than uart2 on
> > previous socs. So ideally we could check and only add uarts we actually
> > need for now. More can be added later anyway once boards try to use them.
> >
> >
> > Heiko
>
> Actually, I have two boards on my hand, one uses uart0 as debug
> port and the another uses uart2, so I add all of them here.

ok, then this is fine.

> I have a question here, I not very clear how to get the
> DEBUG_UART_VIRT value here, I now set the value I got from uart driver
> and it works , is there some rule or method to calculate this
> DEBUG_UART_VIRT value on different platform?

I don't really know. When I added the old uarts, I always just took the value
from the vendor-kernel :-) .

In any case, arm32 now also supports earlycon (like arm64) not needing the
bootloader setup of the uart. The one thing debug_ll can do that earlycon
cannot is outputting stuff from the kernel decompressor.


Heiko