linux/arch/arm/mach-davinci
Chaithrika U S 17eb157041 davinci: use 32-bit accesses for low-level debug macros
This patch defines debug macros for low-level debugging for Davinci
based platforms

Tested on :
        - DM644x DaVinci EVM
        - DM646X DaVinciHD EVM
	- DM355 EVM

This patch attempts to solve the low-level debug issue in DM646x. The
UART on DM646x SoC allows only 32-bit access. The existing
debug-macro.S uses the macros from debug-8250.S file. This led to
garbage serial out in the case of DM646x.

The inclusion of debug-8250.S does not allow for run time fix for this
issue.  There are compile time errors due to multiple definitions of
the macros.  Also when building a single image for multiple DaVinci
Platforms, the ifdefs cannot be relied upon.

The solution below does not include the debug-8250.S file and defines
the necessary macros. This solution was arrived at after observing
that word access does not affect the low-level debug messages on
DM644x/DM355.

The other approach to this issue is to use the UART module information
available in the peripheral registers to decide the access
mechanism. But this will have to be done for every access of UART
specifically for DM646x. Also this calls for a modification of the
debug-8250.S file.

Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-05-26 07:18:14 -07:00
..
include/mach davinci: use 32-bit accesses for low-level debug macros 2009-05-26 07:18:14 -07:00
Kconfig davinci: update DM644x support in preparation for more SoCs 2009-04-27 09:50:11 -07:00
Makefile davinci: update DM644x support in preparation for more SoCs 2009-04-27 09:50:11 -07:00
Makefile.boot [ARM] 4303/3: base kernel support for TI DaVinci 2007-05-11 17:26:55 +01:00
board-dm644x-evm.c [ARM] 5506/1: davinci: DMA_32BIT_MASK --> DMA_BIT_MASK(32) 2009-05-07 14:44:47 +01:00
clock.c davinci: major rework of clock, PLL, PSC infrastructure 2009-04-23 09:31:00 -07:00
clock.h davinci: major rework of clock, PLL, PSC infrastructure 2009-04-23 09:31:00 -07:00
devices.c davinci: update pin-multiplexing support 2009-04-27 09:49:46 -07:00
dm644x.c davinci: update DM644x support in preparation for more SoCs 2009-04-27 09:50:11 -07:00
dma.c davinci: add EDMA driver 2009-04-27 09:49:42 -07:00
gpio.c davinci: fixups for banked GPIO interrupt handling 2009-05-26 07:17:54 -07:00
id.c davinci: add arch_ioremap() which uses existing static mappings 2009-04-23 09:31:09 -07:00
io.c davinci: add arch_ioremap() which uses existing static mappings 2009-04-23 09:31:09 -07:00
irq.c davinci: DM355 IRQ Definitions 2009-04-27 09:49:44 -07:00
mux.c davinci: update pin-multiplexing support 2009-04-27 09:49:46 -07:00
mux.h davinci: update pin-multiplexing support 2009-04-27 09:49:46 -07:00
psc.c davinci: PSC: Clear bits in MDCTL reg before setting new bits 2009-04-27 09:49:43 -07:00
serial.c davinci: serial: generalize for more SoCs 2009-04-27 09:49:45 -07:00
time.c davinci: timers: use clk_get_rate() 2009-04-27 09:49:36 -07:00
usb.c davinci: add arch_ioremap() which uses existing static mappings 2009-04-23 09:31:09 -07:00