android_kernel_xiaomi_sm8350/arch/arm/mach-davinci
Mark A. Greer b9ab12797e davinci: Support JTAG ID register at any address
The Davinci cpu_is_davinci_*() macros use the SoC part number
and variant retrieved from the JTAG ID register to determine the
type of cpu that the kernel is running on.  Currently, the code to
read the JTAG ID register assumes that the register is always at
the same base address.  This isn't true on some newer SoCs.

To solve this, have the SoC-specific code set the JTAG ID register
base address in soc_info structure and add a 'cpu_id' member to it.
'cpu_id' will be used by the cpu_is_davinci_*() macros to match
the cpu id.  Also move the info used to identify the cpu type into
the SoC-specific code to keep all SoC-specific code together.

The common code will read the JTAG ID register, search through
an array of davinci_id structures to identify the cpu type.
Once identified, it will set the 'cpu_id' member of the soc_info
structure to the proper value and the cpu_is_davinci_*() macros
will now work.

Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
2009-05-26 08:14:56 -07:00
..
include/mach davinci: Support JTAG ID register at any address 2009-05-26 08:14:56 -07:00
board-dm355-evm.c davinci: Encapsulate SoC-specific data in a structure 2009-05-26 08:14:04 -07:00
board-dm355-leopard.c davinci: Encapsulate SoC-specific data in a structure 2009-05-26 08:14:04 -07:00
board-dm644x-evm.c davinci: Encapsulate SoC-specific data in a structure 2009-05-26 08:14:04 -07:00
board-dm646x-evm.c davinci: Encapsulate SoC-specific data in a structure 2009-05-26 08:14:04 -07:00
board-sffsdr.c davinci: Encapsulate SoC-specific data in a structure 2009-05-26 08:14:04 -07:00
clock.c davinci: major rework of clock, PLL, PSC infrastructure 2009-04-23 09:31:00 -07:00
clock.h davinci: add platform support for watchdog timer 2009-05-26 07:18:15 -07:00
common.c davinci: Support JTAG ID register at any address 2009-05-26 08:14:56 -07:00
cp_intc.c davinci: INTC: add support for TI cp_intc 2009-05-26 07:18:14 -07:00
devices.c davinci: MMC platform support 2009-05-26 07:18:16 -07:00
dm355.c davinci: Support JTAG ID register at any address 2009-05-26 08:14:56 -07:00
dm644x.c davinci: Support JTAG ID register at any address 2009-05-26 08:14:56 -07:00
dm646x.c davinci: Support JTAG ID register at any address 2009-05-26 08:14:56 -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
io.c davinci: Encapsulate SoC-specific data in a structure 2009-05-26 08:14:04 -07:00
irq.c davinci: DM355 IRQ Definitions 2009-04-27 09:49:44 -07:00
Kconfig davinci: DM646x: add base SoC and board support 2009-05-26 07:18:15 -07:00
Makefile davinci: Support JTAG ID register at any address 2009-05-26 08:14:56 -07:00
Makefile.boot
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: add platform support for watchdog timer 2009-05-26 07:18:15 -07:00
usb.c davinci: add arch_ioremap() which uses existing static mappings 2009-04-23 09:31:09 -07:00