diff options
| author | Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> | 2007-12-26 11:45:06 +0900 | 
|---|---|---|
| committer | Paul Mundt <lethal@linux-sh.org> | 2008-01-28 13:19:02 +0900 | 
| commit | 31a49c4bf8f964b7a9897baa889916d71b51d9c1 (patch) | |
| tree | e6c900dfbdf51d97d4c189a712a8c4e1aa059cf4 /arch/sh/kernel | |
| parent | 52e8b118ecd17185ce514cd3f955094c1d8f4288 (diff) | |
sh: Add support for SH7721 CPU subtype.
Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel')
| -rw-r--r-- | arch/sh/kernel/cpu/sh3/Makefile | 1 | ||||
| -rw-r--r-- | arch/sh/kernel/cpu/sh3/probe.c | 3 | ||||
| -rw-r--r-- | arch/sh/kernel/cpu/sh3/setup-sh7720.c | 11 | ||||
| -rw-r--r-- | arch/sh/kernel/early_printk.c | 12 | ||||
| -rw-r--r-- | arch/sh/kernel/setup.c | 8 | ||||
| -rw-r--r-- | arch/sh/kernel/timers/timer-tmu.c | 1 | 
6 files changed, 26 insertions, 10 deletions
| diff --git a/arch/sh/kernel/cpu/sh3/Makefile b/arch/sh/kernel/cpu/sh3/Makefile index 646eb693361..1afd05e62d1 100644 --- a/arch/sh/kernel/cpu/sh3/Makefile +++ b/arch/sh/kernel/cpu/sh3/Makefile @@ -13,6 +13,7 @@ obj-$(CONFIG_CPU_SUBTYPE_SH7709)	+= setup-sh770x.o  obj-$(CONFIG_CPU_SUBTYPE_SH7710)	+= setup-sh7710.o  obj-$(CONFIG_CPU_SUBTYPE_SH7712)	+= setup-sh7710.o  obj-$(CONFIG_CPU_SUBTYPE_SH7720)	+= setup-sh7720.o +obj-$(CONFIG_CPU_SUBTYPE_SH7721)	+= setup-sh7720.o  # Primary on-chip clocks (common)  clock-$(CONFIG_CPU_SH3)			:= clock-sh3.o diff --git a/arch/sh/kernel/cpu/sh3/probe.c b/arch/sh/kernel/cpu/sh3/probe.c index 22070e43e34..fcc80bb7bee 100644 --- a/arch/sh/kernel/cpu/sh3/probe.c +++ b/arch/sh/kernel/cpu/sh3/probe.c @@ -84,6 +84,9 @@ int __uses_jump_to_uncached detect_cpu_and_cache_system(void)  #if defined(CONFIG_CPU_SUBTYPE_SH7720)  		boot_cpu_data.type = CPU_SH7720;  #endif +#if defined(CONFIG_CPU_SUBTYPE_SH7721) +		boot_cpu_data.type = CPU_SH7721; +#endif  #if defined(CONFIG_CPU_SUBTYPE_SH7705)  		boot_cpu_data.type = CPU_SH7705; diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7720.c b/arch/sh/kernel/cpu/sh3/setup-sh7720.c index a0929b8a95a..00facd028a0 100644 --- a/arch/sh/kernel/cpu/sh3/setup-sh7720.c +++ b/arch/sh/kernel/cpu/sh3/setup-sh7720.c @@ -127,8 +127,11 @@ static struct intc_vect vectors[] __initdata = {  	INTC_VECT(USBF_SPD, 0x6e0),   INTC_VECT(DMAC1_DEI0, 0x800),  	INTC_VECT(DMAC1_DEI1, 0x820), INTC_VECT(DMAC1_DEI2, 0x840),  	INTC_VECT(DMAC1_DEI3, 0x860), INTC_VECT(LCDC, 0x900), -	INTC_VECT(SSL, 0x980),        INTC_VECT(USBFI0, 0xa20), -	INTC_VECT(USBFI1, 0xa40),     INTC_VECT(USBHI, 0xa60), +#if defined(CONFIG_CPU_SUBTYPE_SH7720) +	INTC_VECT(SSL, 0x980), +#endif +	INTC_VECT(USBFI0, 0xa20),     INTC_VECT(USBFI1, 0xa40), +	INTC_VECT(USBHI, 0xa60),  	INTC_VECT(DMAC2_DEI4, 0xb80), INTC_VECT(DMAC2_DEI5, 0xba0),  	INTC_VECT(ADC, 0xbe0),        INTC_VECT(SCIF0, 0xc00),  	INTC_VECT(SCIF1, 0xc20),      INTC_VECT(PINT07, 0xc80), @@ -168,7 +171,11 @@ static struct intc_prio_reg prio_registers[] __initdata = {  	{ 0xA414FEE4UL, 0, 16, 4, /* IPRB */ { WDT, REF_RCMI, SIM, 0 } },  	{ 0xA4140016UL, 0, 16, 4, /* IPRC */ { IRQ3, IRQ2, IRQ1, IRQ0 } },  	{ 0xA4140018UL, 0, 16, 4, /* IPRD */ { USBF_SPD, TMU_SUNI, IRQ5, IRQ4 } }, +#if defined(CONFIG_CPU_SUBTYPE_SH7720)  	{ 0xA414001AUL, 0, 16, 4, /* IPRE */ { DMAC1, 0, LCDC, SSL } }, +#else +	{ 0xA414001AUL, 0, 16, 4, /* IPRE */ { DMAC1, 0, LCDC, 0 } }, +#endif  	{ 0xA4080000UL, 0, 16, 4, /* IPRF */ { ADC, DMAC2, USBFI, CMT } },  	{ 0xA4080002UL, 0, 16, 4, /* IPRG */ { SCIF0, SCIF1, 0, 0 } },  	{ 0xA4080004UL, 0, 16, 4, /* IPRH */ { PINT07, PINT815, TPU, IIC } }, diff --git a/arch/sh/kernel/early_printk.c b/arch/sh/kernel/early_printk.c index 2f30977558a..957f2561154 100644 --- a/arch/sh/kernel/early_printk.c +++ b/arch/sh/kernel/early_printk.c @@ -63,7 +63,8 @@ static struct console bios_console = {  #include <linux/serial_core.h>  #include "../../../drivers/serial/sh-sci.h" -#if defined(CONFIG_CPU_SUBTYPE_SH7720) +#if defined(CONFIG_CPU_SUBTYPE_SH7720) || \ +    defined(CONFIG_CPU_SUBTYPE_SH7721)  #define EPK_SCSMR_VALUE 0x000  #define EPK_SCBRR_VALUE 0x00C  #define EPK_FIFO_SIZE 64 @@ -117,7 +118,8 @@ static struct console scif_console = {  };  #if !defined(CONFIG_SH_STANDARD_BIOS) -#if defined(CONFIG_CPU_SUBTYPE_SH7720) +#if defined(CONFIG_CPU_SUBTYPE_SH7720) || \ +    defined(CONFIG_CPU_SUBTYPE_SH7721)  static void scif_sercon_init(char *s)  {  	sci_out(&scif_port, SCSCR, 0x0000);	/* clear TE and RE */ @@ -208,10 +210,12 @@ static int __init setup_early_printk(char *buf)  	if (!strncmp(buf, "serial", 6)) {  		early_console = &scif_console; -#if (defined(CONFIG_CPU_SH4) || defined(CONFIG_CPU_SUBTYPE_SH7720)) && \ -    !defined(CONFIG_SH_STANDARD_BIOS) +#if !defined(CONFIG_SH_STANDARD_BIOS) +#if defined(CONFIG_CPU_SH4) || defined(CONFIG_CPU_SUBTYPE_SH7720) || \ +    defined(CONFIG_CPU_SUBTYPE_SH7721)  		scif_sercon_init(buf + 6);  #endif +#endif  	}  #endif diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index 9c105c827e8..48cd576754b 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c @@ -314,10 +314,10 @@ static const char *cpu_name[] = {  	[CPU_SH7707]	= "SH7707",	[CPU_SH7708]	= "SH7708",  	[CPU_SH7709]	= "SH7709",	[CPU_SH7710]	= "SH7710",  	[CPU_SH7712]	= "SH7712",	[CPU_SH7720]	= "SH7720", -	[CPU_SH7729]	= "SH7729",	[CPU_SH7750]	= "SH7750", -	[CPU_SH7750S]	= "SH7750S",	[CPU_SH7750R]	= "SH7750R", -	[CPU_SH7751]	= "SH7751",	[CPU_SH7751R]	= "SH7751R", -	[CPU_SH7760]	= "SH7760", +	[CPU_SH7721]	= "SH7721",	[CPU_SH7729]	= "SH7729", +	[CPU_SH7750]	= "SH7750",	[CPU_SH7750S]	= "SH7750S", +	[CPU_SH7750R]	= "SH7750R",	[CPU_SH7751]	= "SH7751", +	[CPU_SH7751R]	= "SH7751R",	[CPU_SH7760]	= "SH7760",  	[CPU_SH4_202]	= "SH4-202",	[CPU_SH4_501]	= "SH4-501",  	[CPU_SH7770]	= "SH7770",	[CPU_SH7780]	= "SH7780",  	[CPU_SH7781]	= "SH7781",	[CPU_SH7343]	= "SH7343", diff --git a/arch/sh/kernel/timers/timer-tmu.c b/arch/sh/kernel/timers/timer-tmu.c index 628ec9a15e3..8935570008d 100644 --- a/arch/sh/kernel/timers/timer-tmu.c +++ b/arch/sh/kernel/timers/timer-tmu.c @@ -174,6 +174,7 @@ static int tmu_timer_init(void)  	tmu_timer_stop();  #if !defined(CONFIG_CPU_SUBTYPE_SH7720) && \ +    !defined(CONFIG_CPU_SUBTYPE_SH7721) && \      !defined(CONFIG_CPU_SUBTYPE_SH7760) && \      !defined(CONFIG_CPU_SUBTYPE_SH7785) && \      !defined(CONFIG_CPU_SUBTYPE_SHX3) | 
