Commit 242521e9 authored by Olof Johansson's avatar Olof Johansson

Merge branch 'marco-prepare' of...

Merge branch 'marco-prepare' of git://gitorious.org/sirfprima2-kernel/sirfprima2-kernel into next/cleanup

* 'marco-prepare' of git://gitorious.org/sirfprima2-kernel/sirfprima2-kernel:
  ARM: SIRF: make sirf irqchip driver optional since new SoCs will have GIC
  ARM: PRIMA2: adjust Kconfig to support select SoC features
  ARM: PRIMA2: use DT_MACHINE_START and convert to generic board
  clk: prima2: move from arch/arm/mach to drivers/clk
  ARM: PRIMA2: convert to common clk and finish full clk tree
parents 3fbb96d2 c1e3c119
...@@ -405,21 +405,19 @@ config ARCH_GEMINI ...@@ -405,21 +405,19 @@ config ARCH_GEMINI
help help
Support for the Cortina Systems Gemini family SoCs Support for the Cortina Systems Gemini family SoCs
config ARCH_PRIMA2 config ARCH_SIRF
bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform" bool "CSR SiRF"
select CPU_V7
select NO_IOPORT select NO_IOPORT
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select GENERIC_CLOCKEVENTS select GENERIC_CLOCKEVENTS
select CLKDEV_LOOKUP select COMMON_CLK
select GENERIC_IRQ_CHIP select GENERIC_IRQ_CHIP
select MIGHT_HAVE_CACHE_L2X0 select MIGHT_HAVE_CACHE_L2X0
select PINCTRL select PINCTRL
select PINCTRL_SIRF select PINCTRL_SIRF
select USE_OF select USE_OF
select ZONE_DMA
help help
Support for CSR SiRFSoC ARM Cortex A9 Platform Support for CSR SiRFprimaII/Marco/Polo platforms
config ARCH_EBSA110 config ARCH_EBSA110
bool "EBSA-110" bool "EBSA-110"
...@@ -1108,6 +1106,8 @@ source "arch/arm/mach-exynos/Kconfig" ...@@ -1108,6 +1106,8 @@ source "arch/arm/mach-exynos/Kconfig"
source "arch/arm/mach-shmobile/Kconfig" source "arch/arm/mach-shmobile/Kconfig"
source "arch/arm/mach-prima2/Kconfig"
source "arch/arm/mach-tegra/Kconfig" source "arch/arm/mach-tegra/Kconfig"
source "arch/arm/mach-u300/Kconfig" source "arch/arm/mach-u300/Kconfig"
......
CONFIG_EXPERIMENTAL=y CONFIG_EXPERIMENTAL=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_RELAY=y CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_INITRD=y
CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_ALL=y
...@@ -8,9 +10,7 @@ CONFIG_MODULE_UNLOAD=y ...@@ -8,9 +10,7 @@ CONFIG_MODULE_UNLOAD=y
CONFIG_PARTITION_ADVANCED=y CONFIG_PARTITION_ADVANCED=y
CONFIG_BSD_DISKLABEL=y CONFIG_BSD_DISKLABEL=y
CONFIG_SOLARIS_X86_PARTITION=y CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_ARCH_PRIMA2=y CONFIG_ARCH_SIRF=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_PREEMPT=y CONFIG_PREEMPT=y
CONFIG_AEABI=y CONFIG_AEABI=y
CONFIG_KEXEC=y CONFIG_KEXEC=y
...@@ -36,7 +36,6 @@ CONFIG_SPI=y ...@@ -36,7 +36,6 @@ CONFIG_SPI=y
CONFIG_SPI_SIRF=y CONFIG_SPI_SIRF=y
CONFIG_SPI_SPIDEV=y CONFIG_SPI_SPIDEV=y
# CONFIG_HWMON is not set # CONFIG_HWMON is not set
# CONFIG_HID_SUPPORT is not set
CONFIG_USB_GADGET=y CONFIG_USB_GADGET=y
CONFIG_USB_FILE_STORAGE=m CONFIG_USB_FILE_STORAGE=m
CONFIG_USB_MASS_STORAGE=m CONFIG_USB_MASS_STORAGE=m
......
if ARCH_SIRF
menu "CSR SiRF primaII/Marco/Polo Specific Features"
config ARCH_PRIMA2
bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform"
default y
select CPU_V7
select ZONE_DMA
select SIRF_IRQ
help
Support for CSR SiRFSoC ARM Cortex A9 Platform
endmenu
config SIRF_IRQ
bool
endif
obj-y := timer.o obj-y := timer.o
obj-y += irq.o
obj-y += clock.o
obj-y += rstc.o obj-y += rstc.o
obj-y += prima2.o obj-y += common.o
obj-y += rtciobrg.o obj-y += rtciobrg.o
obj-$(CONFIG_DEBUG_LL) += lluart.o obj-$(CONFIG_DEBUG_LL) += lluart.o
obj-$(CONFIG_CACHE_L2X0) += l2x0.o obj-$(CONFIG_CACHE_L2X0) += l2x0.o
obj-$(CONFIG_SUSPEND) += pm.o sleep.o obj-$(CONFIG_SUSPEND) += pm.o sleep.o
obj-$(CONFIG_SIRF_IRQ) += irq.o
This diff is collapsed.
...@@ -30,21 +30,21 @@ void __init sirfsoc_init_late(void) ...@@ -30,21 +30,21 @@ void __init sirfsoc_init_late(void)
sirfsoc_pm_init(); sirfsoc_pm_init();
} }
static const char *prima2cb_dt_match[] __initdata = { #ifdef CONFIG_ARCH_PRIMA2
"sirf,prima2-cb", static const char *prima2_dt_match[] __initdata = {
"sirf,prima2",
NULL NULL
}; };
MACHINE_START(PRIMA2_EVB, "prima2cb") DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)")
/* Maintainer: Barry Song <baohua.song@csr.com> */ /* Maintainer: Barry Song <baohua.song@csr.com> */
.atag_offset = 0x100,
.init_early = sirfsoc_of_clk_init,
.map_io = sirfsoc_map_lluart, .map_io = sirfsoc_map_lluart,
.init_irq = sirfsoc_of_irq_init, .init_irq = sirfsoc_of_irq_init,
.timer = &sirfsoc_timer, .timer = &sirfsoc_timer,
.dma_zone_size = SZ_256M, .dma_zone_size = SZ_256M,
.init_machine = sirfsoc_mach_init, .init_machine = sirfsoc_mach_init,
.init_late = sirfsoc_init_late, .init_late = sirfsoc_init_late,
.dt_compat = prima2cb_dt_match, .dt_compat = prima2_dt_match,
.restart = sirfsoc_restart, .restart = sirfsoc_restart,
MACHINE_END MACHINE_END
#endif
...@@ -63,7 +63,7 @@ void __init sirfsoc_of_irq_init(void) ...@@ -63,7 +63,7 @@ void __init sirfsoc_of_irq_init(void)
np = of_find_matching_node(NULL, intc_ids); np = of_find_matching_node(NULL, intc_ids);
if (!np) if (!np)
panic("unable to find compatible intc node in dtb\n"); return;
sirfsoc_intc_base = of_iomap(np, 0); sirfsoc_intc_base = of_iomap(np, 0);
if (!sirfsoc_intc_base) if (!sirfsoc_intc_base)
......
...@@ -21,6 +21,8 @@ ...@@ -21,6 +21,8 @@
#include <asm/sched_clock.h> #include <asm/sched_clock.h>
#include <asm/mach/time.h> #include <asm/mach/time.h>
#include "common.h"
#define SIRFSOC_TIMER_COUNTER_LO 0x0000 #define SIRFSOC_TIMER_COUNTER_LO 0x0000
#define SIRFSOC_TIMER_COUNTER_HI 0x0004 #define SIRFSOC_TIMER_COUNTER_HI 0x0004
#define SIRFSOC_TIMER_MATCH_0 0x0008 #define SIRFSOC_TIMER_MATCH_0 0x0008
...@@ -188,9 +190,13 @@ static void __init sirfsoc_clockevent_init(void) ...@@ -188,9 +190,13 @@ static void __init sirfsoc_clockevent_init(void)
static void __init sirfsoc_timer_init(void) static void __init sirfsoc_timer_init(void)
{ {
unsigned long rate; unsigned long rate;
struct clk *clk;
/* initialize clocking early, we want to set the OS timer */
sirfsoc_of_clk_init();
/* timer's input clock is io clock */ /* timer's input clock is io clock */
struct clk *clk = clk_get_sys("io", NULL); clk = clk_get_sys("io", NULL);
BUG_ON(IS_ERR(clk)); BUG_ON(IS_ERR(clk));
......
...@@ -10,6 +10,7 @@ obj-$(CONFIG_ARCH_SOCFPGA) += socfpga/ ...@@ -10,6 +10,7 @@ obj-$(CONFIG_ARCH_SOCFPGA) += socfpga/
obj-$(CONFIG_PLAT_SPEAR) += spear/ obj-$(CONFIG_PLAT_SPEAR) += spear/
obj-$(CONFIG_ARCH_U300) += clk-u300.o obj-$(CONFIG_ARCH_U300) += clk-u300.o
obj-$(CONFIG_ARCH_INTEGRATOR) += versatile/ obj-$(CONFIG_ARCH_INTEGRATOR) += versatile/
obj-$(CONFIG_ARCH_PRIMA2) += clk-prima2.o
# Chip specific # Chip specific
obj-$(CONFIG_COMMON_CLK_WM831X) += clk-wm831x.o obj-$(CONFIG_COMMON_CLK_WM831X) += clk-wm831x.o
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment