[PATCH-V4 3/3] arm:omap:am33xx: Add low level debugging support
Hiremath, Vaibhav
hvaibhav at ti.com
Thu Dec 1 05:52:52 EST 2011
> -----Original Message-----
> From: Hilman, Kevin
> Sent: Thursday, December 01, 2011 5:03 AM
> To: Hiremath, Vaibhav
> Cc: linux-omap at vger.kernel.org; tony at atomide.com; linux-arm-
> kernel at lists.infradead.org; paul at pwsan.com; Mohammed, Afzal
> Subject: Re: [PATCH-V4 3/3] arm:omap:am33xx: Add low level debugging
> support
>
> Hi Vaibhav,
>
> Vaibhav Hiremath <hvaibhav at ti.com> writes:
>
> > From: Afzal Mohammed <afzal at ti.com>
> >
> > Add support for low level debugging on AM335X EVM (AM33XX family).
> > Currently only support for UART1 console, which is used on AM335X EVM
> > is added.
> >
> > Signed-off-by: Afzal Mohammed <afzal at ti.com>
> > Signed-off-by: Vaibhav Hiremath <hvaibhav at ti.com>
>
> One minor comment below...
>
> > ---
> > arch/arm/mach-omap2/include/mach/debug-macro.S | 17 ++++++++++++++++-
> > arch/arm/plat-omap/include/plat/serial.h | 4 ++++
> > arch/arm/plat-omap/include/plat/uncompress.h | 6 ++++++
> > 3 files changed, 26 insertions(+), 1 deletions(-)
> >
> > diff --git a/arch/arm/mach-omap2/include/mach/debug-macro.S
> b/arch/arm/mach-omap2/include/mach/debug-macro.S
> > index 13f98e5..ce543ae 100644
> > --- a/arch/arm/mach-omap2/include/mach/debug-macro.S
> > +++ b/arch/arm/mach-omap2/include/mach/debug-macro.S
> > @@ -72,6 +72,8 @@ omap_uart_lsr: .word 0
> > beq 82f @ configure UART2
> > cmp \rp, #TI816XUART3 @ ti816x UART offsets different
> > beq 83f @ configure UART3
> > + cmp \rp, #AM33XXUART1 @ AM33XX UART offsets different
> > + beq 84f @ configure UART1
> > cmp \rp, #ZOOM_UART @ only on zoom2/3
> > beq 95f @ configure ZOOM_UART
> >
> > @@ -100,7 +102,9 @@ omap_uart_lsr: .word 0
> > b 98f
> > 83: mov \rp, #UART_OFFSET(TI816X_UART3_BASE)
> > b 98f
> > -
> > +84: ldr \rp, =AM33XX_UART1_BASE
> > + and \rp, \rp, #0x00ffffff
> > + b 97f
> > 95: ldr \rp, =ZOOM_UART_BASE
> > str \rp, [\tmp, #0] @ omap_uart_phys
> > ldr \rp, =ZOOM_UART_VIRT
> > @@ -110,6 +114,17 @@ omap_uart_lsr: .word 0
> > b 10b
> >
> > /* Store both phys and virt address for the uart */
>
> Please update this comment to clarify that this block is for AM33xx
> only, and update the following one as the catch all.
>
Ok, will update.
> > +97: add \rp, \rp, #0x44000000 @ phys base
> > + str \rp, [\tmp, #0] @ omap_uart_phys
> > + sub \rp, \rp, #0x44000000 @ phys base
> > + add \rp, \rp, #0xf9000000 @ virt base
> > + str \rp, [\tmp, #4] @ omap_uart_virt
> > + mov \rp, #(UART_LSR << OMAP_PORT_SHIFT)
> > + str \rp, [\tmp, #8] @ omap_uart_lsr
>
> The last 3 lines are unnecessarily duplicated. They can be shared with
> the common block that follows. IOW, only the base addresses are
> different, the rest of the operations are shared.
>
I thought about this, but then code looks complex & ugly, just to save
duplication of 3 lines. So I added separate code for AM33xx devices.
If you still think it should be done, then How about below change -
- /* Store both phys and virt address for the uart */
-98: add \rp, \rp, #0x48000000 @ phys base
+ /* AM33XX: Store both phys and virt address for the uart */
+96: add \rp, \rp, #0x44000000 @ phys base
str \rp, [\tmp, #0] @ omap_uart_phys
- sub \rp, \rp, #0x48000000 @ phys base
- add \rp, \rp, #0xfa000000 @ virt base
- str \rp, [\tmp, #4] @ omap_uart_virt
+ sub \rp, \rp, #0x44000000 @ phys base
+ add \rp, \rp, #0xf9000000 @ virt base
+97: str \rp, [\tmp, #4] @ omap_uart_virt
mov \rp, #(UART_LSR << OMAP_PORT_SHIFT)
str \rp, [\tmp, #8] @ omap_uart_lsr
b 10b
+ /* Store both phys and virt address for the uart */
+98: add \rp, \rp, #0x48000000 @ phys base
+ str \rp, [\tmp, #0] @ omap_uart_phys
+ sub \rp, \rp, #0x48000000 @ phys base
+ add \rp, \rp, #0xfa000000 @ virt base
+ b 97b
+
Thanks,
Vaibhav
> > + b 10b
> > +
> > + /* Store both phys and virt address for the uart */
> > 98: add \rp, \rp, #0x48000000 @ phys base
> > str \rp, [\tmp, #0] @ omap_uart_phys
> > sub \rp, \rp, #0x48000000 @ phys base
>
> Kevin
More information about the linux-arm-kernel
mailing list