OpenCloudOS-Kernel/arch/arm/mach-at91
Jean-Christophe PLAGNIOL-VILLARD 8c3583b634 at91: use structure to store the current soc
instead of reading the registers everytime

the current implementation respect the following constrain:
 - allow 1 to n soc to be enabled
 - allow to have a virtual cpu type and subtype
 - always detect the cpu type and subtype and report it
 - detect if the soc support is enabled
 - prepare for sysfs export support
 - drop soc specific code via compiler when the soc not enabled
   (via cpu_is_xxx)

Today if we read the exid we will have the same value for 9g35 and 9m11
and we will need to check the cidr too

with the new implementation we just need to check the soc subtype

this will also allow to have specific virtual subtype for rm9200 which the
board will have to specify via at91rm9200_set_type(int) as we have no way to
detect it.

this implementation is inspired by the SH cpu detection support

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: Patrice Vilchez <patrice.vilchez@atmel.com>
2011-07-28 15:07:28 +00:00
..
include/mach at91: use structure to store the current soc 2011-07-28 15:07:28 +00:00
Kconfig at91: drop at572d940hf support 2011-05-25 23:04:35 +08:00
Makefile at91: introduce commom AT91_BASE_SYS 2011-07-28 15:07:28 +00:00
Makefile.boot [ARM] 5572/1: at91: Support for at91sam9g45 series: core chip & board support 2009-06-27 11:05:22 +01:00
at91cap9.c at91: use structure to store the current soc 2011-07-28 15:07:28 +00:00
at91cap9_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91rm9200.c at91: use structure to store the current soc 2011-07-28 15:07:28 +00:00
at91rm9200_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91rm9200_time.c ARM: AT91: update clock source registration 2010-12-19 15:44:53 +00:00
at91sam9_alt_reset.S AT91: reset routine cleanup, remove not needed icache flush 2010-10-26 11:32:48 +02:00
at91sam9g45.c at91: use structure to store the current soc 2011-07-28 15:07:28 +00:00
at91sam9g45_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91sam9rl.c at91: use structure to store the current soc 2011-07-28 15:07:28 +00:00
at91sam9rl_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91sam926x_time.c ARM: AT91: update clock source registration 2010-12-19 15:44:53 +00:00
at91sam9260.c at91: use structure to store the current soc 2011-07-28 15:07:28 +00:00
at91sam9260_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91sam9261.c at91: use structure to store the current soc 2011-07-28 15:07:28 +00:00
at91sam9261_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91sam9263.c at91: use structure to store the current soc 2011-07-28 15:07:28 +00:00
at91sam9263_devices.c at91: fix at91_set_serial_console: use platform device id 2011-06-25 13:34:11 +08:00
at91x40.c at91: switch to CLKDEV_LOOKUP 2011-05-25 23:04:34 +08:00
at91x40_time.c [ARM] Convert asm/io.h to linux/io.h 2008-09-06 12:10:45 +01:00
board-1arm.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-afeb-9260v1.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-cam60.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-cap9adk.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-carmeva.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-cpu9krea.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-cpuat91.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-csb337.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-csb637.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-eb01.c at91: fix map_io init usage 2011-05-25 23:04:34 +08:00
board-eb9200.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-ecbat91.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-eco920.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-flexibity.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-foxg20.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-gsia18s.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-kafa.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-kb9202.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-neocore926.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-pcontrol-g20.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-picotux200.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-qil-a9260.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-rm9200dk.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-rm9200ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9-l9260.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9g20ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9m10g45ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9rlek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9260ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9261ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-sam9263ek.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-snapper9260.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-stamp9g20.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-usb-a9260.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-usb-a9263.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
board-yl-9200.c at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
clock.c at91: drop at572d940hf support 2011-05-25 23:04:35 +08:00
clock.h at91: switch to CLKDEV_LOOKUP 2011-05-25 23:04:34 +08:00
cpuidle.c ARM: 5778/1: AT91: Add cpuidle support 2009-11-10 23:46:35 +00:00
generic.h at91: factorize at91 interrupts init to soc 2011-07-28 15:07:28 +00:00
gpio.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
irq.c arm: Fold irq_set_chip/irq_set_handler 2011-03-29 14:47:58 +02:00
leds.c [ARM] 5267/1: [AT91] Name conflict in mach-at91/leds.c 2008-09-29 15:46:26 +01:00
pm.c suspend: constify platform_suspend_ops 2010-11-16 14:14:02 +01:00
pm.h AT91: pm: make sure that r0 is 0 when dealing with cache operations 2010-10-26 11:32:48 +02:00
pm_slowclock.S AT91: pm: make sure that r0 is 0 when dealing with cache operations 2010-10-26 11:32:48 +02:00
sam9_smc.c [ARM] 5287/2: [AT91] Configuration of Static Memory Controller 2008-12-01 17:18:08 +00:00
sam9_smc.h [ARM] 5287/2: [AT91] Configuration of Static Memory Controller 2008-12-01 17:18:08 +00:00
setup.c at91: use structure to store the current soc 2011-07-28 15:07:28 +00:00
soc.h at91: use structure to store the current soc 2011-07-28 15:07:28 +00:00