From 6aa16a26585520993b5e464471550d8d1b8364c9 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Fri, 15 Nov 2013 15:26:16 -0800 Subject: ARM: msm: Switch to sched_clock_register() The 32 bit sched_clock interface now supports 64 bits. Upgrade to the 64 bit function to allow us to remove the 32 bit registration interface. Signed-off-by: Stephen Boyd Acked-by: David Brown Signed-off-by: Kevin Hilman --- arch/arm/mach-msm/timer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'arch/arm/mach-msm') diff --git a/arch/arm/mach-msm/timer.c b/arch/arm/mach-msm/timer.c index 1e9c338..fd16449 100644 --- a/arch/arm/mach-msm/timer.c +++ b/arch/arm/mach-msm/timer.c @@ -187,7 +187,7 @@ static struct notifier_block msm_timer_cpu_nb = { .notifier_call = msm_timer_cpu_notify, }; -static notrace u32 msm_sched_clock_read(void) +static u64 notrace msm_sched_clock_read(void) { return msm_clocksource.read(&msm_clocksource); } @@ -229,7 +229,7 @@ err: res = clocksource_register_hz(cs, dgt_hz); if (res) pr_err("clocksource_register failed\n"); - setup_sched_clock(msm_sched_clock_read, sched_bits, dgt_hz); + sched_clock_register(msm_sched_clock_read, sched_bits, dgt_hz); } #ifdef CONFIG_OF -- cgit v1.1 From 2aec37c659500b1ab39355adc17029d0acca7bcb Mon Sep 17 00:00:00 2001 From: Rohit Vaswani Date: Fri, 20 Dec 2013 11:09:15 -0800 Subject: ARM: msm: Add support for MSM8974 SoC Add support for the Snapdragon 800 MSM8974 SoC, used on the Dragonboard and others. Board support added in separate patch. Signed-off-by: Rohit Vaswani Acked-by: Kumar Gala Signed-off-by: David Brown [olof: split off SoC support in separate patch] Signed-off-by: Olof Johansson --- arch/arm/mach-msm/Kconfig | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'arch/arm/mach-msm') diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 2586c28..5e5782d 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -58,9 +58,18 @@ config ARCH_MSM8960 select GPIO_MSM_V2 select MSM_SCM if SMP +config ARCH_MSM8974 + bool "MSM8974" + select ARM_GIC + select CPU_V7 + select HAVE_ARM_ARCH_TIMER + select HAVE_SMP + select MSM_SCM if SMP + select USE_OF + config ARCH_MSM_DT def_bool y - depends on (ARCH_MSM8X60 || ARCH_MSM8960) + depends on (ARCH_MSM8X60 || ARCH_MSM8960 || ARCH_MSM8974) select SPARSE_IRQ select USE_OF -- cgit v1.1 From 17d0900c95622c0bb672bbd7115ae228cfc3cd21 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Fri, 20 Dec 2013 11:09:17 -0800 Subject: ARM: msm: Simplify ARCH_MSM_DT config This doesn't need to be a def_bool y. Instead we can have every DT supported platform select ARCH_MSM_DT and we achieve the same thing with less chance of conflicts. Signed-off-by: Stephen Boyd Signed-off-by: David Brown Signed-off-by: Olof Johansson --- arch/arm/mach-msm/Kconfig | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'arch/arm/mach-msm') diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 5e5782d..702553b 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -44,6 +44,7 @@ endchoice config ARCH_MSM8X60 bool "MSM8X60" + select ARCH_MSM_DT select ARM_GIC select CPU_V7 select GPIO_MSM_V2 @@ -52,6 +53,7 @@ config ARCH_MSM8X60 config ARCH_MSM8960 bool "MSM8960" + select ARCH_MSM_DT select ARM_GIC select CPU_V7 select HAVE_SMP @@ -60,6 +62,7 @@ config ARCH_MSM8960 config ARCH_MSM8974 bool "MSM8974" + select ARCH_MSM_DT select ARM_GIC select CPU_V7 select HAVE_ARM_ARCH_TIMER @@ -68,8 +71,7 @@ config ARCH_MSM8974 select USE_OF config ARCH_MSM_DT - def_bool y - depends on (ARCH_MSM8X60 || ARCH_MSM8960 || ARCH_MSM8974) + bool select SPARSE_IRQ select USE_OF -- cgit v1.1 From 0158a4a733d8f7141530279ba4653004704e9306 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Mon, 30 Dec 2013 13:15:30 -0800 Subject: ARM: msm: Only build clock.c on proc_comm based platforms The functionality provided by clock.c in mach-msm is only needed on proc_comm based platforms. Only build the file if proc_comm is enabled. This prevents compile failures for platforms that are part of the multi-platform kernel. Signed-off-by: Stephen Boyd Signed-off-by: Olof Johansson --- arch/arm/mach-msm/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/arm/mach-msm') diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index 7ed4c1b..6baae6e 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile @@ -1,5 +1,5 @@ obj-y += timer.o -obj-y += clock.o +obj-$(CONFIG_MSM_PROC_COMM) += clock.o obj-$(CONFIG_MSM_VIC) += irq-vic.o -- cgit v1.1 From 301c5a993d62d74e98cb965fcb04eeffb0e1db32 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Mon, 30 Dec 2013 13:15:31 -0800 Subject: ARM: msm: Only build timer.c if required The MSM timer is only used on MSM devices that don't have the architected timers. Introduce a hidden Kconfig option for this driver so that we don't build it on the platforms that don't need it. Signed-off-by: Stephen Boyd Signed-off-by: Olof Johansson --- arch/arm/mach-msm/Kconfig | 9 +++++++++ arch/arm/mach-msm/Makefile | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'arch/arm/mach-msm') diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index 702553b..ff69e1c 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -16,6 +16,7 @@ config ARCH_MSM7X00A select MACH_TROUT if !MACH_HALIBUT select MSM_PROC_COMM select MSM_SMD + select MSM_TIMER select MSM_SMD_PKG3 config ARCH_MSM7X30 @@ -27,6 +28,7 @@ config ARCH_MSM7X30 select MSM_GPIOMUX select MSM_PROC_COMM select MSM_SMD + select MSM_TIMER select MSM_VIC config ARCH_QSD8X50 @@ -38,6 +40,7 @@ config ARCH_QSD8X50 select MSM_GPIOMUX select MSM_PROC_COMM select MSM_SMD + select MSM_TIMER select MSM_VIC endchoice @@ -50,6 +53,7 @@ config ARCH_MSM8X60 select GPIO_MSM_V2 select HAVE_SMP select MSM_SCM if SMP + select MSM_TIMER config ARCH_MSM8960 bool "MSM8960" @@ -59,6 +63,7 @@ config ARCH_MSM8960 select HAVE_SMP select GPIO_MSM_V2 select MSM_SCM if SMP + select MSM_TIMER config ARCH_MSM8974 bool "MSM8974" @@ -145,4 +150,8 @@ config MSM_GPIOMUX config MSM_SCM bool + +config MSM_TIMER + bool + endif diff --git a/arch/arm/mach-msm/Makefile b/arch/arm/mach-msm/Makefile index 6baae6e..8e307a1 100644 --- a/arch/arm/mach-msm/Makefile +++ b/arch/arm/mach-msm/Makefile @@ -1,4 +1,4 @@ -obj-y += timer.o +obj-$(CONFIG_MSM_TIMER) += timer.o obj-$(CONFIG_MSM_PROC_COMM) += clock.o obj-$(CONFIG_MSM_VIC) += irq-vic.o -- cgit v1.1 From 4f2041174d62d21ec46db48809a29d6517f6d006 Mon Sep 17 00:00:00 2001 From: Stephen Boyd Date: Mon, 30 Dec 2013 13:15:33 -0800 Subject: ARM: msm: Move MSM's DT based hardware to multi-platform support The DT based MSM platforms can join the multi-platform builds, so introduce a DT based ARCH_MSM option. This option allows DT based MSM platforms to be built into the multi-platform kernel. Also introduce a hidden ARCH_MSM config that both the DT and non-DT platform support code select to avoid churn in places that depend on CONFIG_ARCH_MSM. Cc: Arnd Bergmann Signed-off-by: Stephen Boyd Signed-off-by: Olof Johansson --- arch/arm/mach-msm/Kconfig | 80 ++++++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 39 deletions(-) (limited to 'arch/arm/mach-msm') diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig index ff69e1c..9625cf3 100644 --- a/arch/arm/mach-msm/Kconfig +++ b/arch/arm/mach-msm/Kconfig @@ -1,12 +1,50 @@ +config ARCH_MSM + bool + +config ARCH_MSM_DT + bool "Qualcomm MSM DT Support" if ARCH_MULTI_V7 + select ARCH_MSM + select ARCH_REQUIRE_GPIOLIB + select CLKSRC_OF + select GENERIC_CLOCKEVENTS + help + Support for Qualcomm's devicetree based MSM systems. + if ARCH_MSM -comment "Qualcomm MSM SoC Type" +menu "Qualcomm MSM SoC Selection" depends on ARCH_MSM_DT +config ARCH_MSM8X60 + bool "Enable support for MSM8X60" + select ARM_GIC + select CPU_V7 + select HAVE_SMP + select MSM_SCM if SMP + select MSM_TIMER + +config ARCH_MSM8960 + bool "Enable support for MSM8960" + select ARM_GIC + select CPU_V7 + select HAVE_SMP + select MSM_SCM if SMP + select MSM_TIMER + +config ARCH_MSM8974 + bool "Enable support for MSM8974" + select ARM_GIC + select CPU_V7 + select HAVE_ARM_ARCH_TIMER + select HAVE_SMP + select MSM_SCM if SMP + +endmenu + choice prompt "Qualcomm MSM SoC Type" default ARCH_MSM7X00A - depends on !ARCH_MSM_DT + depends on ARCH_MSM_NODT config ARCH_MSM7X00A bool "MSM7x00A / MSM7x01A" @@ -45,41 +83,6 @@ config ARCH_QSD8X50 endchoice -config ARCH_MSM8X60 - bool "MSM8X60" - select ARCH_MSM_DT - select ARM_GIC - select CPU_V7 - select GPIO_MSM_V2 - select HAVE_SMP - select MSM_SCM if SMP - select MSM_TIMER - -config ARCH_MSM8960 - bool "MSM8960" - select ARCH_MSM_DT - select ARM_GIC - select CPU_V7 - select HAVE_SMP - select GPIO_MSM_V2 - select MSM_SCM if SMP - select MSM_TIMER - -config ARCH_MSM8974 - bool "MSM8974" - select ARCH_MSM_DT - select ARM_GIC - select CPU_V7 - select HAVE_ARM_ARCH_TIMER - select HAVE_SMP - select MSM_SCM if SMP - select USE_OF - -config ARCH_MSM_DT - bool - select SPARSE_IRQ - select USE_OF - config MSM_HAS_DEBUG_UART_HS bool @@ -96,7 +99,7 @@ config MSM_VIC bool menu "Qualcomm MSM Board Type" - depends on !ARCH_MSM_DT + depends on ARCH_MSM_NODT config MACH_HALIBUT depends on ARCH_MSM @@ -144,7 +147,6 @@ config MSM_SMD config MSM_GPIOMUX bool - depends on !ARCH_MSM_DT help Support for MSM V1 TLMM GPIOMUX architecture. -- cgit v1.1