[PATCH v7 05/15] ARM: mxs: Add low-level debug UART support

Shawn Guo shawn.guo at freescale.com
Mon Dec 20 08:22:01 EST 2010


On Mon, Dec 20, 2010 at 12:50:59PM +0100, Wolfram Sang wrote:
> Hi Shawn,
> 
> I discovered this weekend that the DUART is just an amba-pl011 which
> is already supported in mainline. So we should use the existing
> infrastructure here.
> 
> On Sat, Dec 18, 2010 at 09:39:29PM +0800, Shawn Guo wrote:
> 
> >  - DEBUG_LL support, which is incompatible with multi-soc MXS image
> >    because of different DUART base address on MX23 and MX28
> 
> We should be able to use the AMBA identification signature to distinguish at
> runtime, no?
> 
> >  - uncompress message support
> > 
> > Signed-off-by: Shawn Guo <shawn.guo at freescale.com>
> 
> >  arch/arm/mach-mxs/include/mach/debug-macro.S |   52 ++++++++++++++++++
> 
> We should use asm/hardware/debug-pl01x.S, like the other users:
> 
> wsa at katana:~/Kernel/linux-2.6/arch/arm$ g debug-pl01x
> include/asm/hardware/debug-pl01x.S:1:/* arch/arm/include/asm/hardware/debug-pl01x.S
> mach-cns3xxx/include/mach/debug-macro.S:19:#include <asm/hardware/debug-pl01x.S>
> mach-ep93xx/include/mach/debug-macro.S:21:#include <asm/hardware/debug-pl01x.S>
> mach-integrator/include/mach/debug-macro.S:20:#include <asm/hardware/debug-pl01x.S>
> mach-nomadik/include/mach/debug-macro.S:20:#include <asm/hardware/debug-pl01x.S>
> mach-realview/include/mach/debug-macro.S:42:#include <asm/hardware/debug-pl01x.S>
> mach-u300/include/mach/debug-macro.S:21:#include <asm/hardware/debug-pl01x.S>
> mach-ux500/include/mach/debug-macro.S:26:#include <asm/hardware/debug-pl01x.S>
> mach-versatile/include/mach/debug-macro.S:21:#include <asm/hardware/debug-pl01x.S>
> mach-vexpress/include/mach/debug-macro.S:21:#include <asm/hardware/debug-pl01x.S>
> 

Just tested it, and it works.  Will do in v8.  Thanks for the comment.

> 
> >  arch/arm/mach-mxs/include/mach/uncompress.h  |   76 ++++++++++++++++++++++++++
> 
> Auto-detection could be used here, too?
> 
I'm afraid not.  How do you expect the detection is done, by reading
some register like we are doing in system.c?  Which register
specifically?  If the register gets different address between
mx23 and mx28, we need to utilize the current mechanism to
distinguish the address anyway.

-- 
Regards,
Shawn




More information about the linux-arm-kernel mailing list