From 5b9cdd2449098b3cd519a02dfed7588fd2becd0e Mon Sep 17 00:00:00 2001 From: Paul Burton Date: Sun, 24 May 2015 16:11:46 +0100 Subject: MIPS: ingenic: Initial JZ4780 support Support the Ingenic JZ4780 SoC using the existing code under arch/mips/jz4740 now that it has been generalised sufficiently. Signed-off-by: Paul Burton Cc: Ian Campbell Cc: Kumar Gala Cc: Lars-Peter Clausen Cc: Mark Rutland Cc: Pawel Moll Cc: Rob Herring Cc: devicetree@vger.kernel.org Cc: linux-mips@linux-mips.org Cc: Joshua Kinard Cc: Leonid Yegoshin Cc: Deng-Cheng Zhu Cc: linux-kernel@vger.kernel.org Cc: Markos Chandras Cc: Andreas Herrmann Patchwork: https://patchwork.linux-mips.org/patch/10164/ Signed-off-by: Ralf Baechle --- arch/mips/jz4740/Kconfig | 6 ++++++ arch/mips/jz4740/Makefile | 4 +++- arch/mips/jz4740/setup.c | 3 +++ arch/mips/jz4740/time.c | 7 ++++++- 4 files changed, 18 insertions(+), 2 deletions(-) (limited to 'arch/mips/jz4740') diff --git a/arch/mips/jz4740/Kconfig b/arch/mips/jz4740/Kconfig index dff0966284c4..21adcea73d63 100644 --- a/arch/mips/jz4740/Kconfig +++ b/arch/mips/jz4740/Kconfig @@ -12,3 +12,9 @@ endchoice config MACH_JZ4740 bool select SYS_HAS_CPU_MIPS32_R1 + +config MACH_JZ4780 + bool + select MIPS_CPU_SCACHE + select SYS_HAS_CPU_MIPS32_R2 + select SYS_SUPPORTS_HIGHMEM diff --git a/arch/mips/jz4740/Makefile b/arch/mips/jz4740/Makefile index 89ce40143854..39d70bde8cfe 100644 --- a/arch/mips/jz4740/Makefile +++ b/arch/mips/jz4740/Makefile @@ -5,7 +5,9 @@ # Object file lists. obj-y += prom.o time.o reset.o setup.o \ - gpio.o platform.o timer.o + platform.o timer.o + +obj-$(CONFIG_MACH_JZ4740) += gpio.o CFLAGS_setup.o = -I$(src)/../../../scripts/dtc/libfdt diff --git a/arch/mips/jz4740/setup.c b/arch/mips/jz4740/setup.c index 1bed3cb062b3..510fc0d962f2 100644 --- a/arch/mips/jz4740/setup.c +++ b/arch/mips/jz4740/setup.c @@ -83,6 +83,9 @@ arch_initcall(populate_machine); const char *get_system_type(void) { + if (config_enabled(CONFIG_MACH_JZ4780)) + return "JZ4780"; + return "JZ4740"; } diff --git a/arch/mips/jz4740/time.c b/arch/mips/jz4740/time.c index 917255368db8..7ab47fee1be8 100644 --- a/arch/mips/jz4740/time.c +++ b/arch/mips/jz4740/time.c @@ -102,7 +102,12 @@ static struct clock_event_device jz4740_clockevent = { .set_next_event = jz4740_clockevent_set_next, .set_mode = jz4740_clockevent_set_mode, .rating = 200, +#ifdef CONFIG_MACH_JZ4740 .irq = JZ4740_IRQ_TCU0, +#endif +#ifdef CONFIG_MACH_JZ4780 + .irq = JZ4780_IRQ_TCU2, +#endif }; static struct irqaction timer_irqaction = { @@ -144,7 +149,7 @@ void __init plat_time_init(void) sched_clock_register(jz4740_read_sched_clock, 16, clk_rate); - setup_irq(JZ4740_IRQ_TCU0, &timer_irqaction); + setup_irq(jz4740_clockevent.irq, &timer_irqaction); ctrl = JZ_TIMER_CTRL_PRESCALE_16 | JZ_TIMER_CTRL_SRC_EXT; -- cgit v1.2.3