ARM: msm: Remove msm_hw_reset_hook
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH 1/24 ARM: msm: Remove msm_hw_reset_hook
From: Stephen Boyd <[email protected]>
This reset hook is never assigned and is dead code. Remove it so we have one less header file in the mach directory.
--- arch/arm/mach-msm/board-mahimahi.c | 1 - arch/arm/mach-msm/board-sapphire.c | 1 - arch/arm/mach-msm/include/mach/system.h | 19 ------------------- arch/arm/mach-msm/proc_comm.c | 1 - arch/arm/mach-msm/smd.c | 7 ------- 5 files changed, 29 deletions(-) delete mode 100644 arch/arm/mach-msm/include/mach/system.h
arch/arm/mach-msm/board-mahimahi.c +0 -1
@@ -30,7 +30,6 @@#include <mach/board.h> #include <mach/hardware.h> -#include <mach/system.h> #include "board-mahimahi.h" #include "devices.h"
arch/arm/mach-msm/board-sapphire.c +0 -1
@@ -27,7 +27,6 @@#include <asm/mach/arch.h> #include <asm/mach/map.h> #include <asm/mach/flash.h> -#include <mach/system.h> #include <mach/vreg.h> #include <mach/board.h>
arch/arm/mach-msm/include/mach/system.h deleted +0 -19
@@ -1,19 +0,0 @@ -/* arch/arm/mach-msm/include/mach/system.h -* -* Copyright (C) 2007 Google, Inc. -* -* This software is licensed under the terms of the GNU General Public -* License version 2, as published by the Free Software Foundation, and -* may be copied, distributed, and modified under those terms. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -*/ - -/* low level hardware reset hook -- for example, hitting the -* PSHOLD line on the PMIC to hard reset the system -*/ -extern void (*msm_hw_reset_hook)(void );
arch/arm/mach-msm/proc_comm.c +0 -1
@@ -19,7 +19,6 @@#include <linux/io.h> #include <linux/spinlock.h> #include <mach/msm_iomap.h> -#include <mach/system.h> #include "proc_comm.h"
arch/arm/mach-msm/smd.c +0 -7
@@ -30,7 +30,6 @@#include <linux/delay.h> #include <mach/msm_smd.h> -#include <mach/system.h> #include "smd_private.h" #include "proc_comm.h"
@@ -39,8 +38,6 @@#define CONFIG_QDSP6 1#endif -void (*msm_hw_reset_hook)(void ); -#define MODULE_NAME "msm_smd"enum {
@@ -101,10 +98,6 @@ static void handle_modem_crash(void)pr_err ("ARM9 has CRASHED\n" );smd_diag (); -/* hard reboot if possible */ -if (msm_hw_reset_hook) -msm_hw_reset_hook (); -/* in this case the modem or watchdog should reboot us */ for (;;) ;
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
[GIT PULL] msm-core changes for v3.7
Sigh. I appear to have mangled the headers the first time. So, instead of a nice patch series in reply to the pull request, the pull request is in reply to the first patch. Sorry about that.
David
The following changes since commit 28a33cbc24e4256c143dce96c7d93bf423229f92:
Linux 3.5 (2012-07-21 13:58:29 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git tags/msm-core-for-3.7
for you to fetch changes up to fe3a47b1c7cd74a7e39cec1fa0d89bd3724f4f65:
ARM: msm: Allow 8960 and 8660 to compile together (2012-09-12 09:31:56 -0700)
----------------------------------------------------------------
In addition to some minor fixes, this series fully converts two primary MSM targets (8660 and 8960) exclusively to devicetree. It removes a lot of dead code, both from the devicetree conversion, and code that has never been compiled.
It is now possible to build both 8660 and 8960 into the same kernel. Not quite ready to be part of a single zImage, but at least many of the internal issues preventing this are resolved.
----------------------------------------------------------------
David Brown (1):
ARM: msm: Remove call to missing FPGA init on 8660
Rohit Vaswani (2):
ARM: msm: io: Remove 7x30 iomap region from 7x00
ARM: msm: io: Change the default static iomappings to be shared
Stephen Boyd (20):
ARM: msm: Remove msm_hw_reset_hook
ARM: msm: clock-pcom: Mark functions static
ARM: msm: Remove unused idle.c
ARM: msm: Fix early debug uart mapping on some memory configs
ARM: msm: Add handle_irq handler for 8660 DT machine
ARM: msm: Add msm8660-surf.dts to Makefile.boot
ARM: msm: Fix sparse warnings due to incorrect type
ARM: msm: Don't touch GIC registers outside of GIC code
ARM: msm: Allow timer.c to compile on multiple targets
ARM: msm: Add DT support to msm_timer
ARM: msm: Move 8660 to DT timer
ARM: msm: Make 8660 a DT only target
ARM: msm: Rename board-msm8x60 to signify its DT only status
ARM: msm: Move io mapping prototypes to common.h
ARM: msm: Add DT support for 8960
ARM: msm: Remove non-DT targets from 8960
ARM: msm: Remove unused acpuclock-arm11
ARM: msm: Remove uncompiled board-msm7x27
ARM: msm: Allow msm_iomap-8x60 and msm_iomap-8960 to coexist
ARM: msm: Allow 8960 and 8660 to compile together
Wei Yongjun (1):
ARM: msm: dma: use list_move_tail instead of list_del/list_add_tail
.../devicetree/bindings/arm/msm/timer.txt | 38 ++ arch/arm/boot/dts/msm8660-surf.dts | 19 +- arch/arm/boot/dts/msm8960-cdp.dts | 41 ++ arch/arm/mach-msm/Kconfig | 49 +- arch/arm/mach-msm/Makefile | 8 +- arch/arm/mach-msm/Makefile.boot | 3 + arch/arm/mach-msm/acpuclock-arm11.c | 525 --------------------- arch/arm/mach-msm/acpuclock.h | 32 -- arch/arm/mach-msm/board-dt-8660.c | 63 +++ arch/arm/mach-msm/board-dt-8960.c | 49 ++ arch/arm/mach-msm/board-halibut.c | 5 +- arch/arm/mach-msm/board-mahimahi.c | 1 - arch/arm/mach-msm/board-msm7x27.c | 170 ------- arch/arm/mach-msm/board-msm7x30.c | 9 +- arch/arm/mach-msm/board-msm8960.c | 122 ----- arch/arm/mach-msm/board-msm8x60.c | 166 ------- arch/arm/mach-msm/board-qsd8x50.c | 7 +- arch/arm/mach-msm/board-sapphire.c | 1 - arch/arm/mach-msm/board-trout.c | 5 +- arch/arm/mach-msm/clock-pcom.c | 18 +- arch/arm/mach-msm/common.h | 30 ++ arch/arm/mach-msm/devices-msm8960.c | 85 ---- arch/arm/mach-msm/dma.c | 3 +- arch/arm/mach-msm/idle.c | 49 -- arch/arm/mach-msm/include/mach/board.h | 13 - arch/arm/mach-msm/include/mach/msm_iomap-7x00.h | 7 - arch/arm/mach-msm/include/mach/msm_iomap-7x30.h | 4 - arch/arm/mach-msm/include/mach/msm_iomap-8960.h | 6 +- arch/arm/mach-msm/include/mach/msm_iomap-8x50.h | 4 - arch/arm/mach-msm/include/mach/msm_iomap-8x60.h | 17 +- arch/arm/mach-msm/include/mach/msm_iomap.h | 3 +- arch/arm/mach-msm/include/mach/system.h | 19 - arch/arm/mach-msm/io.c | 32 +- arch/arm/mach-msm/platsmp.c | 8 - arch/arm/mach-msm/proc_comm.c | 1 - arch/arm/mach-msm/smd.c | 7 - arch/arm/mach-msm/timer.c | 188 ++++++-- 37 files changed, 443 insertions(+), 1364 deletions(-) create mode 100644 Documentation/devicetree/bindings/arm/msm/timer.txt create mode 100644 arch/arm/boot/dts/msm8960-cdp.dts delete mode 100644 arch/arm/mach-msm/acpuclock-arm11.c delete mode 100644 arch/arm/mach-msm/acpuclock.h create mode 100644 arch/arm/mach-msm/board-dt-8660.c create mode 100644 arch/arm/mach-msm/board-dt-8960.c delete mode 100644 arch/arm/mach-msm/board-msm7x27.c delete mode 100644 arch/arm/mach-msm/board-msm8960.c delete mode 100644 arch/arm/mach-msm/board-msm8x60.c create mode 100644 arch/arm/mach-msm/common.h delete mode 100644 arch/arm/mach-msm/devices-msm8960.c delete mode 100644 arch/arm/mach-msm/idle.c delete mode 100644 arch/arm/mach-msm/include/mach/system.h
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 2/24 ARM: msm: clock-pcom: Mark functions static
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
These functions are only used within clock-pcom.c, therefore mark them as static.
--- arch/arm/mach-msm/clock-pcom.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)
arch/arm/mach-msm/clock-pcom.c +9 -9
@@ -25,7 +25,7 @@/* * glue for the proc_comm interface */ -int pc_clk_enable (unsigned id) +static int pc_clk_enable (unsigned id) {int rc =msm_proc_comm (PCOM_CLKCTL_RPC_ENABLE , &id,NULL );if (rc <0 )
@@ -34,7 +34,7 @@ int pc_clk_enable(unsigned id)return (int )id <0 ? -EINVAL :0 ; } -void pc_clk_disable (unsigned id) +static void pc_clk_disable (unsigned id) {msm_proc_comm (PCOM_CLKCTL_RPC_DISABLE , &id,NULL ); }
@@ -54,7 +54,7 @@ int pc_clk_reset(unsigned id, enum clk_reset_action action)return (int )id <0 ? -EINVAL :0 ; } -int pc_clk_set_rate (unsigned id,unsigned rate) +static int pc_clk_set_rate (unsigned id,unsigned rate) {/* The rate _might_ be rounded off to the nearest KHz value by the * remote function. So a return value of 0 doesn't necessarily mean
@@ -67,7 +67,7 @@ int pc_clk_set_rate(unsigned id, unsigned rate)return (int )id <0 ? -EINVAL :0 ; } -int pc_clk_set_min_rate (unsigned id,unsigned rate) +static int pc_clk_set_min_rate (unsigned id,unsigned rate) {int rc =msm_proc_comm (PCOM_CLKCTL_RPC_MIN_RATE , &id, &rate);if (rc <0 )
@@ -76,7 +76,7 @@ int pc_clk_set_min_rate(unsigned id, unsigned rate)return (int )id <0 ? -EINVAL :0 ; } -int pc_clk_set_max_rate (unsigned id,unsigned rate) +static int pc_clk_set_max_rate (unsigned id,unsigned rate) {int rc =msm_proc_comm (PCOM_CLKCTL_RPC_MAX_RATE , &id, &rate);if (rc <0 )
@@ -85,7 +85,7 @@ int pc_clk_set_max_rate(unsigned id, unsigned rate)return (int )id <0 ? -EINVAL :0 ; } -int pc_clk_set_flags (unsigned id,unsigned flags) +static int pc_clk_set_flags (unsigned id,unsigned flags) {int rc =msm_proc_comm (PCOM_CLKCTL_RPC_SET_FLAGS , &id, &flags);if (rc <0 )
@@ -94,7 +94,7 @@ int pc_clk_set_flags(unsigned id, unsigned flags)return (int )id <0 ? -EINVAL :0 ; } -unsigned pc_clk_get_rate (unsigned id) +static unsigned pc_clk_get_rate (unsigned id) {if (msm_proc_comm (PCOM_CLKCTL_RPC_RATE , &id,NULL ))return 0 ;
@@ -102,7 +102,7 @@ unsigned pc_clk_get_rate(unsigned id)return id; } -unsigned pc_clk_is_enabled (unsigned id) +static unsigned pc_clk_is_enabled (unsigned id) {if (msm_proc_comm (PCOM_CLKCTL_RPC_ENABLED , &id,NULL ))return 0 ;
@@ -110,7 +110,7 @@ unsigned pc_clk_is_enabled(unsigned id)return id; } -long pc_clk_round_rate (unsigned id,unsigned rate) +static long pc_clk_round_rate (unsigned id,unsigned rate) {/* Not really supported; pc_clk_set_rate() does rounding on it's own. */
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 3/24 ARM: msm: Remove unused idle.c
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Forcing arm_pm_idle to be msm_idle() doesn't make sense in configurations that don't have CONFIG_MSM7X00A_IDLE=y (i.e. any targets that aren't 7x00a). Furthermore, that config doesn't even exist, so this entire file is dead code. Just remove it so we can use the default idle support on MSM.
--- arch/arm/mach-msm/Makefile | 2 +- arch/arm/mach-msm/idle.c | 49 ---------------------------------------------- 2 files changed, 1 insertion(+), 50 deletions(-) delete mode 100644 arch/arm/mach-msm/idle.c
arch/arm/mach-msm/Makefile +1 -1
@@ -1,4 +1,4 @@ -obj-y += io.o idle.o timer.o +obj-y += io.o timer.o obj-y += clock.o obj-$(CONFIG_DEBUG_FS) += clock-debug.o
arch/arm/mach-msm/idle.c deleted +0 -49
49 lines not on this page · raw message
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 4/24 ARM: msm: Fix early debug uart mapping on some memory configs
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
The uart mapping runs into the space allocated for lowmem on some 8960 boards when we have more than 512Mb of memory. We were getting lucky before and our mapping wasn't part of DDR. Move the mapping up into the vmalloc area which will always be outside of the lowmem mapping regardless of how much lowmem actually exists.
--- arch/arm/mach-msm/include/mach/msm_iomap-8960.h | 2 +- arch/arm/mach-msm/include/mach/msm_iomap-8x60.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/mach-msm/include/mach/msm_iomap-8960.h +1 -1
@@ -46,7 +46,7 @@#define MSM8960_TMR0_SIZE SZ_4K#ifdef CONFIG_DEBUG_MSM8960_UART -#define MSM_DEBUG_UART_BASE 0xE1040000 +#define MSM_DEBUG_UART_BASE 0xF0040000#define MSM_DEBUG_UART_PHYS 0x16440000#endif
arch/arm/mach-msm/include/mach/msm_iomap-8x60.h +1 -1
@@ -63,7 +63,7 @@#define MSM8X60_TMR0_SIZE SZ_4K#ifdef CONFIG_DEBUG_MSM8660_UART -#define MSM_DEBUG_UART_BASE 0xE1040000 +#define MSM_DEBUG_UART_BASE 0xF0040000#define MSM_DEBUG_UART_PHYS 0x19C40000#endif
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 5/24 ARM: msm: io: Remove 7x30 iomap region from 7x00
In reply to a message not in the archiveFrom: Rohit Vaswani <[email protected]>
This is redundant code.
--- arch/arm/mach-msm/io.c | 3 --- 1 file changed, 3 deletions(-)
arch/arm/mach-msm/io.c +0 -3
@@ -51,9 +51,6 @@ static struct map_desc msm_io_desc[] __initdata = { defined(CONFIG_DEBUG_MSM_UART3) MSM_DEVICE(DEBUG_UART), #endif -#ifdef CONFIG_ARCH_MSM7X30 - MSM_DEVICE(GCC), -#endif { .virtual = (unsigned long) MSM_SHARED_RAM_BASE, .pfn = __phys_to_pfn(MSM_SHARED_RAM_PHYS),
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 6/24 ARM: msm: io: Change the default static iomappings to be shared
In reply to a message not in the archiveFrom: Rohit Vaswani <[email protected]>
With 3.4 kernel the static iomappings can be shared with the ioremap mappings. If ioremap is called with an address for which a static mapping already exists, then that mapping should be used instead of creating a new one.
However, the MT_DEVICE_NONSHARED flag prevents this. Hence, get rid of this flag. Some targets (7X00) that require the static iomappings to be NONSHARED use the MSM_DEVICE_TYPE and MSM_CHIP_DEVICE_TYPE macros.
--- arch/arm/mach-msm/io.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-)
arch/arm/mach-msm/io.c +13 -9
@@ -29,27 +29,31 @@#include <mach/board.h> -#define MSM_CHIP_DEVICE (name, chip) { \ +#define MSM_CHIP_DEVICE_TYPE (name, chip, mem_type) { \ .virtual = (unsigned long) MSM_##name##_BASE, \ .pfn = __phys_to_pfn(chip##_##name##_PHYS), \ .length = chip##_##name##_SIZE, \ - .type = MT_DEVICE_NONSHARED, \ + .type = mem_type, \ } +#define MSM_DEVICE_TYPE (name, mem_type) \ + MSM_CHIP_DEVICE_TYPE(name, MSM, mem_type) +#define MSM_CHIP_DEVICE (name, chip) \ + MSM_CHIP_DEVICE_TYPE(name, chip, MT_DEVICE)#define MSM_DEVICE (name) MSM_CHIP_DEVICE(name, MSM) #if defined(CONFIG_ARCH_MSM7X00A) || defined(CONFIG_ARCH_MSM7X27) \ || defined(CONFIG_ARCH_MSM7X25) static struct map_desc msm_io_desc[] __initdata = { - MSM_DEVICE(VIC), - MSM_CHIP_DEVICE(CSR, MSM7X00), - MSM_DEVICE(DMOV), - MSM_CHIP_DEVICE(GPIO1, MSM7X00), - MSM_CHIP_DEVICE(GPIO2, MSM7X00), - MSM_DEVICE(CLK_CTL), + MSM_DEVICE_TYPE(VIC, MT_DEVICE_NONSHARED), + MSM_CHIP_DEVICE_TYPE(CSR, MSM7X00, MT_DEVICE_NONSHARED), + MSM_DEVICE_TYPE(DMOV, MT_DEVICE_NONSHARED), + MSM_CHIP_DEVICE_TYPE(GPIO1, MSM7X00, MT_DEVICE_NONSHARED), + MSM_CHIP_DEVICE_TYPE(GPIO2, MSM7X00, MT_DEVICE_NONSHARED), + MSM_DEVICE_TYPE(CLK_CTL, MT_DEVICE_NONSHARED), #if defined(CONFIG_DEBUG_MSM_UART1) || defined(CONFIG_DEBUG_MSM_UART2) || \ defined(CONFIG_DEBUG_MSM_UART3) - MSM_DEVICE(DEBUG_UART), + MSM_DEVICE_TYPE(DEBUG_UART, MT_DEVICE_NONSHARED), #endif { .virtual = (unsigned long) MSM_SHARED_RAM_BASE,
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 7/24 ARM: msm: Add handle_irq handler for 8660 DT machine
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Commit 041f777 (ARM: msm: convert SMP platforms to CONFIG_MULTI_IRQ_HANDLER, 2011-09-06) forgot to add the .handle_irq for the DT machine record. Add it so we get interrupts instead of panics on DT enabled bootloaders.
--- arch/arm/mach-msm/board-msm8x60.c | 1 + 1 file changed, 1 insertion(+)
arch/arm/mach-msm/board-msm8x60.c +1 -0
@@ -158,6 +158,7 @@ MACHINE_ENDDT_MACHINE_START (MSM_DT ,"Qualcomm MSM (Flattened Device Tree)" ) .map_io = msm8x60_map_io, .init_irq = msm8x60_init_irq, + .handle_irq = gic_handle_irq, .init_machine = msm8x60_dt_init, .init_late = msm8x60_init_late, .timer = &msm_timer,
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 8/24 ARM: msm: Add msm8660-surf.dts to Makefile.boot
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Add this entry to the Makefile so that we can build the dtb automatically with 'make dtbs'.
--- arch/arm/mach-msm/Makefile.boot | 2 ++ 1 file changed, 2 insertions(+)
arch/arm/mach-msm/Makefile.boot +2 -0
@@ -1,3 +1,5 @@ zreladdr-y += 0x10008000 params_phys-y := 0x10000100 initrd_phys-y := 0x10800000 + +dtb-$(CONFIG_ARCH_MSM8X60) += msm8660-surf.dtb
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 9/24 ARM: msm: Remove call to missing FPGA init on 8660
In reply to a message not in the archiveA previous patch[1] added code to initialize an FPGA register on the 8660 "SURF" development platform. Since this development platform is not widely available, and there is now a more available device "the Dragonboard" based on the same core SOC, this change was dropped.
However, the DT code kept a lingering call to this FPGA init function. Remove it.
[1] https://lkml.org/lkml/2011/8/12/357
--- arch/arm/mach-msm/board-msm8x60.c | 5 ----- 1 file changed, 5 deletions(-)
arch/arm/mach-msm/board-msm8x60.c +0 -5
@@ -93,11 +93,6 @@ static struct of_dev_auxdata msm_auxdata_lookup[] __initdata = {static void __init msm8x60_dt_init (void ) { -if (of_machine_is_compatible ("qcom,msm8660-surf" )) { -printk (KERN_INFO "Init surf UART registers\n" ); -msm8x60_init_uart12dm (); - } -of_platform_populate (NULL , of_default_bus_match_table, msm_auxdata_lookup,NULL ); }
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 10/24 ARM: msm: Fix sparse warnings due to incorrect type
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
arch/arm/mach-msm/timer.c:153:3: warning: incorrect type in initializer (different address spaces)arch/arm/mach-msm/timer.c:153:3: expected void const [noderef] <asn:3>*__vpp_verifyarch/arm/mach-msm/timer.c:153:3: got struct clock_event_device [noderef] <asn:3>**<noident>arch/arm/mach-msm/timer.c:153:38: warning: incorrect type in assignment (different address spaces)arch/arm/mach-msm/timer.c:153:38: expected struct clock_event_device [noderef] <asn:3>*<noident>arch/arm/mach-msm/timer.c:153:38: got struct clock_event_device *evtarch/arm/mach-msm/timer.c:191:22: warning: incorrect type in assignment (different address spaces)arch/arm/mach-msm/timer.c:191:22: expected struct clock_event_device [noderef] <asn:3>**static [toplevel] percpu_evtarch/arm/mach-msm/timer.c:191:22: got struct clock_event_device *[noderef] <asn:3>*<noident>arch/arm/mach-msm/timer.c:196:4: warning: incorrect type in initializer (different address spaces)arch/arm/mach-msm/timer.c:196:4: expected void const [noderef] <asn:3>*__vpp_verifyarch/arm/mach-msm/timer.c:196:4: got struct clock_event_device [noderef] <asn:3>**<noident>arch/arm/mach-msm/timer.c:196:39: warning: incorrect type in assignment (different address spaces)arch/arm/mach-msm/timer.c:196:39: expected struct clock_event_device [noderef] <asn:3>*<noident>arch/arm/mach-msm/timer.c:196:39: got struct clock_event_device *cearch/arm/mach-msm/timer.c:198:24: warning: incorrect type in argument 4 (different address spaces)arch/arm/mach-msm/timer.c:198:24: expected void [noderef] <asn:3>*percpu_dev_idarch/arm/mach-msm/timer.c:198:24: got struct clock_event_device [noderef] <asn:3>**static [toplevel] percpu_evt
--- arch/arm/mach-msm/timer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm/mach-msm/timer.c +1 -1
@@ -101,7 +101,7 @@ static struct clock_event_device msm_clockevent = {static union {struct clock_event_device *evt; -struct clock_event_device __percpu **percpu_evt; +struct clock_event_device *__percpu *percpu_evt; } msm_evt;static void __iomem *source_base;
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 11/24 ARM: msm: Don't touch GIC registers outside of GIC code
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
The MSM code has some antiquated register writes to set up the PPIs to be edge triggered. Now that we have the percpu irq interface we don't need this code so let's remove it and update the percpu irq user (msm_timer) to set the irq type.
--- arch/arm/mach-msm/board-msm8960.c | 13 ------------- arch/arm/mach-msm/board-msm8x60.c | 3 --- arch/arm/mach-msm/platsmp.c | 8 -------- arch/arm/mach-msm/timer.c | 4 ++-- 4 files changed, 2 insertions(+), 26 deletions(-)
arch/arm/mach-msm/board-msm8960.c +0 -13
@@ -55,24 +55,11 @@ static void __init msm8960_map_io(void)static void __init msm8960_init_irq (void ) { -unsigned int i;gic_init (0 ,GIC_PPI_START ,MSM_QGIC_DIST_BASE , (void *)MSM_QGIC_CPU_BASE ); -/* Edge trigger PPIs except AVS_SVICINT and AVS_SVICINTSWDONE */ -writel (0xFFFFD7FF ,MSM_QGIC_DIST_BASE +GIC_DIST_CONFIG +4 ); -if (machine_is_msm8960_rumi3 ())writel (0x0000FFFF ,MSM_QGIC_DIST_BASE +GIC_DIST_ENABLE_SET ); - -/* FIXME: Not installing AVS_SVICINT and AVS_SVICINTSWDONE yet -* as they are configured as level, which does not play nice with -* handle_percpu_irq. -*/ -for (i =GIC_PPI_START ; i <GIC_SPI_START ; i++) { -if (i !=AVS_SVICINT && i !=AVS_SVICINTSWDONE ) -irq_set_handler (i, handle_percpu_irq); - } }static struct platform_device *sim_devices[]__initdata = {
arch/arm/mach-msm/board-msm8x60.c +0 -3
@@ -67,9 +67,6 @@ static void __init msm8x60_init_irq(void)of_irq_init (msm_dt_gic_match);#endif -/* Edge trigger PPIs except AVS_SVICINT and AVS_SVICINTSWDONE */ -writel (0xFFFFD7FF ,MSM_QGIC_DIST_BASE +GIC_DIST_CONFIG +4 ); -/* RUMI does not adhere to GIC spec by enabling STIs by default. * Enable/clear is supposed to be RO for STIs, but is RW on RUMI. */
arch/arm/mach-msm/platsmp.c +0 -8
@@ -22,17 +22,12 @@#include <asm/mach-types.h> #include <asm/smp_plat.h> -#include <mach/msm_iomap.h> -#include "scm-boot.h" #define VDD_SC1_ARRAY_CLAMP_GFS_CTL 0x15A0#define SCSS_CPU1CORE_RESET 0xD80#define SCSS_DBG_STATUS_CORE_PWRDUP 0xE64 -/* Mask for edge trigger PPIs except AVS_SVICINT and AVS_SVICINTSWDONE */ -#define GIC_PPI_EDGE_MASK 0xFFFFD7FF -extern void msm_secondary_startup (void );/* * control for which core is the next to come out of the secondary
@@ -50,9 +45,6 @@ static inline int get_core_count(void)void __cpuinit platform_secondary_init (unsigned int cpu) { -/* Configure edge-triggered PPIs */ -writel (GIC_PPI_EDGE_MASK ,MSM_QGIC_DIST_BASE +GIC_DIST_CONFIG +4 ); -/* * if any interrupts are already enabled for the primary * core (e.g. timer irq), then they will not have been enabled
arch/arm/mach-msm/timer.c +2 -2
@@ -151,7 +151,7 @@ static int __cpuinit msm_local_timer_setup(struct clock_event_device *evt) *__this_cpu_ptr (msm_evt.percpu_evt) = evt;clockevents_register_device (evt); -enable_percpu_irq (evt->irq,0 ); +enable_percpu_irq (evt->irq,IRQ_TYPE_EDGE_RISING );return 0 ; }
@@ -219,7 +219,7 @@ static void __init msm_timer_init(void) res =request_percpu_irq (ce->irq, msm_timer_interrupt, ce->name, msm_evt.percpu_evt);if (!res) { -enable_percpu_irq (ce->irq,0 ); +enable_percpu_irq (ce->irq,IRQ_TYPE_EDGE_RISING );#ifdef CONFIG_LOCAL_TIMERS local_timer_register (&msm_local_timer_ops);#endif
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 12/24 ARM: msm: Allow timer.c to compile on multiple targets
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
The timer code relies on #defines from mach/iomap.h, cpu_is_*() checks, and a global irq #define. All this makes this file impossible to compile in a mult-target build. Therefore, make a sys_timer struct for each SoC so that machine descriptors can reference the correct timer. Then go through and replace all the defines with raw values that are passed to a common initialization function.
This paves the way to adding DT support to this code as well as allows us to compile this file on multiple targets at the same time.
--- arch/arm/mach-msm/board-halibut.c | 5 +- arch/arm/mach-msm/board-msm7x30.c | 9 ++- arch/arm/mach-msm/board-msm8960.c | 5 +- arch/arm/mach-msm/board-msm8x60.c | 11 +-- arch/arm/mach-msm/board-qsd8x50.c | 7 +- arch/arm/mach-msm/board-trout.c | 5 +- arch/arm/mach-msm/common.h | 21 ++++++ arch/arm/mach-msm/include/mach/board.h | 2 - arch/arm/mach-msm/timer.c | 120 +++++++++++++++++++++++---------- 9 files changed, 125 insertions(+), 60 deletions(-) create mode 100644 arch/arm/mach-msm/common.h
arch/arm/mach-msm/board-halibut.c +2 -3
@@ -36,6 +36,7 @@#include <linux/mtd/partitions.h> #include "devices.h" +#include "common.h" static struct resource smc91x_resources[] = { [0 ] = {
@@ -66,8 +67,6 @@ static struct platform_device *devices[] __initdata = { &smc91x_device, }; -extern struct sys_timer msm_timer; -static void __init halibut_init_early (void ) { arch_ioremap_caller = __msm_ioremap_caller;
@@ -107,5 +106,5 @@ MACHINE_START(HALIBUT, "Halibut Board (QCT SURF7200A)") .init_irq = halibut_init_irq, .init_machine = halibut_init, .init_late = halibut_init_late, - .timer = &msm_timer, + .timer = &msm7x01_timer,MACHINE_END
arch/arm/mach-msm/board-msm7x30.c +4 -5
@@ -38,8 +38,7 @@#include "devices.h" #include "gpiomux.h" #include "proc_comm.h" - -extern struct sys_timer msm_timer; +#include "common.h" static void __init msm7x30_fixup (struct tag *tag,char **cmdline,struct meminfo *mi)
@@ -132,7 +131,7 @@ MACHINE_START(MSM7X30_SURF, "QCT MSM7X30 SURF") .init_irq = msm7x30_init_irq, .init_machine = msm7x30_init, .init_late = msm7x30_init_late, - .timer = &msm_timer, + .timer = &msm7x30_timer, MACHINE_ENDMACHINE_START (MSM7X30_FFA ,"QCT MSM7X30 FFA" )
@@ -143,7 +142,7 @@ MACHINE_START(MSM7X30_FFA, "QCT MSM7X30 FFA") .init_irq = msm7x30_init_irq, .init_machine = msm7x30_init, .init_late = msm7x30_init_late, - .timer = &msm_timer, + .timer = &msm7x30_timer, MACHINE_ENDMACHINE_START (MSM7X30_FLUID ,"QCT MSM7X30 FLUID" )
@@ -154,5 +153,5 @@ MACHINE_START(MSM7X30_FLUID, "QCT MSM7X30 FLUID") .init_irq = msm7x30_init_irq, .init_machine = msm7x30_init, .init_late = msm7x30_init_late, - .timer = &msm_timer, + .timer = &msm7x30_timer,MACHINE_END
arch/arm/mach-msm/board-msm8960.c +3 -2
@@ -31,6 +31,7 @@#include <mach/msm_iomap.h> #include "devices.h" +#include "common.h" static void __init msm8960_fixup (struct tag *tag,char **cmdline,struct meminfo *mi)
@@ -90,7 +91,7 @@ MACHINE_START(MSM8960_SIM, "QCT MSM8960 SIMULATOR") .reserve = msm8960_reserve, .map_io = msm8960_map_io, .init_irq = msm8960_init_irq, - .timer = &msm_timer, + .timer = &msm8960_timer, .handle_irq = gic_handle_irq, .init_machine = msm8960_sim_init, .init_late = msm8960_init_late,
@@ -101,7 +102,7 @@ MACHINE_START(MSM8960_RUMI3, "QCT MSM8960 RUMI3") .reserve = msm8960_reserve, .map_io = msm8960_map_io, .init_irq = msm8960_init_irq, - .timer = &msm_timer, + .timer = &msm8960_timer, .handle_irq = gic_handle_irq, .init_machine = msm8960_rumi3_init, .init_late = msm8960_init_late,
arch/arm/mach-msm/board-msm8x60.c +6 -5
@@ -28,6 +28,7 @@#include <mach/board.h> #include <mach/msm_iomap.h> +#include "common.h" static void __init msm8x60_fixup (struct tag *tag,char **cmdline,struct meminfo *mi)
@@ -109,7 +110,7 @@ MACHINE_START(MSM8X60_RUMI3, "QCT MSM8X60 RUMI3") .handle_irq = gic_handle_irq, .init_machine = msm8x60_init, .init_late = msm8x60_init_late, - .timer = &msm_timer, + .timer = &msm8x60_timer, MACHINE_ENDMACHINE_START (MSM8X60_SURF ,"QCT MSM8X60 SURF" )
@@ -120,7 +121,7 @@ MACHINE_START(MSM8X60_SURF, "QCT MSM8X60 SURF") .handle_irq = gic_handle_irq, .init_machine = msm8x60_init, .init_late = msm8x60_init_late, - .timer = &msm_timer, + .timer = &msm8x60_timer, MACHINE_ENDMACHINE_START (MSM8X60_SIM ,"QCT MSM8X60 SIMULATOR" )
@@ -131,7 +132,7 @@ MACHINE_START(MSM8X60_SIM, "QCT MSM8X60 SIMULATOR") .handle_irq = gic_handle_irq, .init_machine = msm8x60_init, .init_late = msm8x60_init_late, - .timer = &msm_timer, + .timer = &msm8x60_timer, MACHINE_ENDMACHINE_START (MSM8X60_FFA ,"QCT MSM8X60 FFA" )
@@ -142,7 +143,7 @@ MACHINE_START(MSM8X60_FFA, "QCT MSM8X60 FFA") .handle_irq = gic_handle_irq, .init_machine = msm8x60_init, .init_late = msm8x60_init_late, - .timer = &msm_timer, + .timer = &msm8x60_timer, MACHINE_END#ifdef CONFIG_OF
@@ -153,7 +154,7 @@ DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)") .handle_irq = gic_handle_irq, .init_machine = msm8x60_dt_init, .init_late = msm8x60_init_late, - .timer = &msm_timer, + .timer = &msm8x60_timer, .dt_compat = msm8x60_fluid_match, MACHINE_END#endif /* CONFIG_OF */
arch/arm/mach-msm/board-qsd8x50.c +3 -4
@@ -35,8 +35,7 @@#include <mach/mmc.h> #include "devices.h" - -extern struct sys_timer msm_timer; +#include "common.h" static const resource_size_t qsd8x50_surf_smc91x_base__initdata =0x70000300 ;static const unsigned qsd8x50_surf_smc91x_gpio__initdata =156 ;
@@ -201,7 +200,7 @@ MACHINE_START(QSD8X50_SURF, "QCT QSD8X50 SURF") .init_irq = qsd8x50_init_irq, .init_machine = qsd8x50_init, .init_late = qsd8x50_init_late, - .timer = &msm_timer, + .timer = &qsd8x50_timer, MACHINE_ENDMACHINE_START (QSD8X50A_ST1_5 ,"QCT QSD8X50A ST1.5" )
@@ -210,5 +209,5 @@ MACHINE_START(QSD8X50A_ST1_5, "QCT QSD8X50A ST1.5") .init_irq = qsd8x50_init_irq, .init_machine = qsd8x50_init, .init_late = qsd8x50_init_late, - .timer = &msm_timer, + .timer = &qsd8x50_timer,MACHINE_END
arch/arm/mach-msm/board-trout.c +2 -3
@@ -31,6 +31,7 @@#include "devices.h" #include "board-trout.h" +#include "common.h" extern int trout_init_mmc (unsigned int );
@@ -42,8 +43,6 @@ static struct platform_device *devices[] __initdata = { &msm_device_i2c, }; -extern struct sys_timer msm_timer; -static void __init trout_init_early (void ) { arch_ioremap_caller = __msm_ioremap_caller;
@@ -111,5 +110,5 @@ MACHINE_START(TROUT, "HTC Dream") .init_irq = trout_init_irq, .init_machine = trout_init, .init_late = trout_init_late, - .timer = &msm_timer, + .timer = &msm7x01_timer,MACHINE_END
arch/arm/mach-msm/common.h new file +21 -0
@@ -0,0 +1,21 @@ +/* Copyright (c) 2012, The Linux Foundation. All rights reserved. +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 and +* only version 2 as published by the Free Software Foundation. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU General Public License for more details. +*/ +#ifndef __MACH_COMMON_H +#define __MACH_COMMON_H + +extern struct sys_timer msm7x01_timer; +extern struct sys_timer msm7x30_timer; +extern struct sys_timer msm8x60_timer; +extern struct sys_timer msm8960_timer; +extern struct sys_timer qsd8x50_timer; + +#endif
arch/arm/mach-msm/include/mach/board.h +0 -2
@@ -33,8 +33,6 @@ struct msm_acpu_clock_platform_datastruct clk_lookup ; -extern struct sys_timer msm_timer; -/* common init routines for use by arch/arm/mach-msm/board-*.c */ void __init msm_add_devices (void );
arch/arm/mach-msm/timer.c +84 -36
161 lines not on this page · raw message
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 13/24 ARM: msm: Add DT support to msm_timer
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Add support to setup the MSM timer via information obtained from the devicetree.
--- .../devicetree/bindings/arm/msm/timer.txt | 38 ++++++++++ arch/arm/mach-msm/common.h | 1 + arch/arm/mach-msm/timer.c | 87 ++++++++++++++++++++++ 3 files changed, 126 insertions(+) create mode 100644 Documentation/devicetree/bindings/arm/msm/timer.txt
Documentation/devicetree/bindings/arm/msm/timer.txt new file +38 -0
@@ -0,0 +1,38 @@ +* MSM Timer + +Properties: + +- compatible : Should at least contain "qcom,msm-timer". More specific + properties such as "qcom,msm-gpt" and "qcom,msm-dgt" specify a general + purpose timer and a debug timer respectively. + +- interrupts : Interrupt indicating a match event. + +- reg : Specifies the base address of the timer registers. The second region + specifies an optional register used to configure the clock divider. + +- clock-frequency : The frequency of the timer in Hz. + +Optional: + +- cpu-offset : per-cpu offset used when the timer is accessed without the + CPU remapping facilities. The offset is cpu-offset * cpu-nr. + +Example: + + timer@200a004 { + compatible = "qcom,msm-gpt", "qcom,msm-timer"; + interrupts = <1 2 0x301>; + reg = <0x0200a004 0x10>; + clock-frequency = <32768>; + cpu-offset = <0x40000>; + }; + + timer@200a024 { + compatible = "qcom,msm-dgt", "qcom,msm-timer"; + interrupts = <1 3 0x301>; + reg = <0x0200a024 0x10>, + <0x0200a034 0x4>; + clock-frequency = <6750000>; + cpu-offset = <0x40000>; + };
arch/arm/mach-msm/common.h +1 -0
@@ -16,6 +16,7 @@ extern struct sys_timer msm7x01_timer;extern struct sys_timer msm7x30_timer;extern struct sys_timer msm8x60_timer;extern struct sys_timer msm8960_timer; +extern struct sys_timer msm_dt_timer;extern struct sys_timer qsd8x50_timer;#endif
arch/arm/mach-msm/timer.c +87 -0
99 lines not on this page · raw message
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 14/24 ARM: msm: Move 8660 to DT timer
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Add the timer entry and point the machine descriptor to the device tree based msm timer.
--- arch/arm/boot/dts/msm8660-surf.dts | 19 ++++++++++++++++++- arch/arm/mach-msm/board-msm8x60.c | 2 +- 2 files changed, 19 insertions(+), 2 deletions(-)
arch/arm/boot/dts/msm8660-surf.dts +18 -1
@@ -7,7 +7,7 @@ compatible = "qcom,msm8660-surf", "qcom,msm8660"; interrupt-parent = <&intc>; - intc: interrupt-controller@02080000 { + intc: interrupt-controller@2080000 { compatible = "qcom,msm-8660-qgic"; interrupt-controller; #interrupt-cells = <3>;
@@ -15,6 +15,23 @@ < 0x02081000 0x1000 >; }; + timer@2000004 { + compatible = "qcom,msm-gpt", "qcom,msm-timer"; + interrupts = <1 1 0x301>; + reg = <0x02000004 0x10>; + clock-frequency = <32768>; + cpu-offset = <0x40000>; + }; + + timer@2000024 { + compatible = "qcom,msm-dgt", "qcom,msm-timer"; + interrupts = <1 0 0x301>; + reg = <0x02000024 0x10>, + <0x02000034 0x4>; + clock-frequency = <6750000>; + cpu-offset = <0x40000>; + }; + serial@19c400000 { compatible = "qcom,msm-hsuart", "qcom,msm-uart"; reg = <0x19c40000 0x1000>,
arch/arm/mach-msm/board-msm8x60.c +1 -1
@@ -154,7 +154,7 @@ DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)") .handle_irq = gic_handle_irq, .init_machine = msm8x60_dt_init, .init_late = msm8x60_init_late, - .timer = &msm8x60_timer, + .timer = &msm_dt_timer, .dt_compat = msm8x60_fluid_match, MACHINE_END#endif /* CONFIG_OF */
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 15/24 ARM: msm: Make 8660 a DT only target
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
We don't plan to support anything besides devicetree on these targets so remove all other machine support.
--- arch/arm/mach-msm/Kconfig | 27 +--------- arch/arm/mach-msm/board-msm8x60.c | 106 ++------------------------------------ arch/arm/mach-msm/common.h | 1 - arch/arm/mach-msm/timer.c | 12 ----- 4 files changed, 6 insertions(+), 140 deletions(-)
arch/arm/mach-msm/Kconfig +1 -26
@@ -38,8 +38,6 @@ config ARCH_QSD8X50 config ARCH_MSM8X60 bool "MSM8X60" - select MACH_MSM8X60_SURF if (!MACH_MSM8X60_RUMI3 && !MACH_MSM8X60_SIM \ - && !MACH_MSM8X60_FFA) select ARCH_MSM_SCORPIONMP select ARM_GIC select CPU_V7
@@ -47,6 +45,7 @@ config ARCH_MSM8X60 select GPIO_MSM_V2 select MSM_GPIOMUX select MSM_SCM if SMP + select USE_OF config ARCH_MSM8960 bool "MSM8960"
@@ -112,30 +111,6 @@ config MACH_QSD8X50A_ST1_5 help Support for the Qualcomm ST1.5. -config MACH_MSM8X60_RUMI3 - depends on ARCH_MSM8X60 - bool "MSM8x60 RUMI3" - help - Support for the Qualcomm MSM8x60 RUMI3 emulator. - -config MACH_MSM8X60_SURF - depends on ARCH_MSM8X60 - bool "MSM8x60 SURF" - help - Support for the Qualcomm MSM8x60 SURF eval board. - -config MACH_MSM8X60_SIM - depends on ARCH_MSM8X60 - bool "MSM8x60 Simulator" - help - Support for the Qualcomm MSM8x60 simulator. - -config MACH_MSM8X60_FFA - depends on ARCH_MSM8X60 - bool "MSM8x60 FFA" - help - Support for the Qualcomm MSM8x60 FFA eval board. - config MACH_MSM8960_SIM depends on ARCH_MSM8960 bool "MSM8960 Simulator"
arch/arm/mach-msm/board-msm8x60.c +5 -101
149 lines not on this page · raw message
arch/arm/mach-msm/common.h +0 -1
@@ -14,7 +14,6 @@extern struct sys_timer msm7x01_timer;extern struct sys_timer msm7x30_timer; -extern struct sys_timer msm8x60_timer;extern struct sys_timer msm8960_timer;extern struct sys_timer msm_dt_timer;extern struct sys_timer qsd8x50_timer;
arch/arm/mach-msm/timer.c +0 -12
@@ -346,18 +346,6 @@ struct sys_timer msm7x30_timer = { .init = msm7x30_timer_init }; -static void __init msm8x60_timer_init (void ) -{ -if (msm_timer_map (0x02000004 ,0x02040024 )) -return ; -writel_relaxed (DGT_CLK_CTL_DIV_4 , event_base +DGT_CLK_CTL ); -msm_timer_init (27000000 /4 ,32 ,17 , true); -} - -struct sys_timer msm8x60_timer = { - .init = msm8x60_timer_init -}; -static void __init msm8960_timer_init (void ) {if (msm_timer_map (0x0200A004 ,0x0208A024 ))
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 16/24 ARM: msm: Rename board-msm8x60 to signify its DT only status
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Rename this file to signify that this board is only supported via devicetree.
---
arch/arm/mach-msm/Makefile | 2 +-
arch/arm/mach-msm/{board-msm8x60.c => board-dt-8660.c} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
rename arch/arm/mach-msm/{board-msm8x60.c => board-dt-8660.c} (100%)arch/arm/mach-msm/Makefile +1 -1
@@ -25,7 +25,7 @@ obj-$(CONFIG_MACH_TROUT) += board-trout.o board-trout-gpio.o board-trout-mmc.o b obj-$(CONFIG_MACH_HALIBUT) += board-halibut.o devices-msm7x00.o obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o -obj-$(CONFIG_ARCH_MSM8X60) += board-msm8x60.o +obj-$(CONFIG_ARCH_MSM8X60) += board-dt-8660.o obj-$(CONFIG_ARCH_MSM8960) += board-msm8960.o devices-msm8960.o obj-$(CONFIG_ARCH_MSM7X30) += gpiomux-v1.o gpiomux.o
arch/arm/mach-msm/board-dt-8660.c renamed from arch/arm/mach-msm/board-msm8x60.c +0 -0
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 17/24 ARM: msm: Move io mapping prototypes to common.h
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Consolidate the handful of iomapping functions into common.h so that board files don't need to include mach/msm_iomap.h if they don't need static virtual mapping addresses.
--- arch/arm/mach-msm/board-dt-8660.c | 1 - arch/arm/mach-msm/common.h | 10 ++++++++++ arch/arm/mach-msm/include/mach/board.h | 1 - arch/arm/mach-msm/include/mach/msm_iomap-7x00.h | 7 ------- arch/arm/mach-msm/include/mach/msm_iomap-7x30.h | 4 ---- arch/arm/mach-msm/include/mach/msm_iomap-8960.h | 4 ---- arch/arm/mach-msm/include/mach/msm_iomap-8x50.h | 4 ---- arch/arm/mach-msm/include/mach/msm_iomap-8x60.h | 4 ---- arch/arm/mach-msm/io.c | 2 ++ 9 files changed, 12 insertions(+), 25 deletions(-)
arch/arm/mach-msm/board-dt-8660.c +0 -1
@@ -19,7 +19,6 @@#include <asm/hardware/gic.h> #include <mach/board.h> -#include <mach/msm_iomap.h> #include "common.h" static const struct of_device_id msm_dt_gic_match[]__initconst = {
arch/arm/mach-msm/common.h +10 -0
@@ -18,4 +18,14 @@ extern struct sys_timer msm8960_timer;extern struct sys_timer msm_dt_timer;extern struct sys_timer qsd8x50_timer; +extern void msm_map_common_io (void ); +extern void msm_map_msm7x30_io (void ); +extern void msm_map_msm8x60_io (void ); +extern void msm_map_msm8960_io (void ); +extern void msm_map_qsd8x50_io (void ); + +extern void __iomem *__msm_ioremap_caller (unsigned long phys_addr,size_t size, +unsigned int mtype,void *caller); + +#endif
arch/arm/mach-msm/include/mach/board.h +0 -1
@@ -36,7 +36,6 @@ struct clk_lookup;/* common init routines for use by arch/arm/mach-msm/board-*.c */ void __init msm_add_devices (void ); -void __init msm_map_common_io (void );void __init msm_init_irq (void );void __init msm_init_gpio (void );void __init msm_clock_init (struct clk_lookup *clock_tbl,unsigned num_clocks);
arch/arm/mach-msm/include/mach/msm_iomap-7x00.h +0 -7
@@ -105,11 +105,4 @@#define MSM_AD5_PHYS 0xAC000000#define MSM_AD5_SIZE (SZ_1M*13) -#ifndef __ASSEMBLY__ - -extern void __iomem *__msm_ioremap_caller (unsigned long phys_addr,size_t size, -unsigned int mtype,void *caller); - -#endif -#endif
arch/arm/mach-msm/include/mach/msm_iomap-7x30.h +0 -4
@@ -100,8 +100,4 @@#define MSM_HSUSB_PHYS 0xA3600000#define MSM_HSUSB_SIZE SZ_1K -#ifndef __ASSEMBLY__ -extern void msm_map_msm7x30_io (void ); -#endif -#endif
arch/arm/mach-msm/include/mach/msm_iomap-8960.h +0 -4
@@ -50,8 +50,4 @@#define MSM_DEBUG_UART_PHYS 0x16440000#endif -#ifndef __ASSEMBLY__ -extern void msm_map_msm8960_io (void ); -#endif -#endif
arch/arm/mach-msm/include/mach/msm_iomap-8x50.h +0 -4
@@ -122,8 +122,4 @@#define MSM_SDC4_PHYS 0xA0600000#define MSM_SDC4_SIZE SZ_4K -#ifndef __ASSEMBLY__ -extern void msm_map_qsd8x50_io (void ); -#endif -#endif
arch/arm/mach-msm/include/mach/msm_iomap-8x60.h +0 -4
@@ -67,8 +67,4 @@#define MSM_DEBUG_UART_PHYS 0x19C40000#endif -#ifndef __ASSEMBLY__ -extern void msm_map_msm8x60_io (void ); -#endif -#endif
arch/arm/mach-msm/io.c +2 -0
@@ -29,6 +29,8 @@#include <mach/board.h> +#include "common.h" +#define MSM_CHIP_DEVICE_TYPE (name, chip, mem_type) { \ .virtual = (unsigned long) MSM_##name##_BASE, \ .pfn = __phys_to_pfn(chip##_##name##_PHYS), \
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 18/24 ARM: msm: Add DT support for 8960
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Add basic support to boot 8960 with device tree. For now just support a basic machine with a uart device.
--- arch/arm/boot/dts/msm8960-cdp.dts | 41 ++++++++++++++++++++++++++++++++ arch/arm/mach-msm/Kconfig | 1 + arch/arm/mach-msm/Makefile | 1 + arch/arm/mach-msm/Makefile.boot | 1 + arch/arm/mach-msm/board-dt-8960.c | 49 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 93 insertions(+) create mode 100644 arch/arm/boot/dts/msm8960-cdp.dts create mode 100644 arch/arm/mach-msm/board-dt-8960.c
arch/arm/boot/dts/msm8960-cdp.dts new file +41 -0
@@ -0,0 +1,41 @@ +/dts-v1/; + +/include/ "skeleton.dtsi" + +/ { + model = "Qualcomm MSM8960 CDP"; + compatible = "qcom,msm8960-cdp", "qcom,msm8960"; + interrupt-parent = <&intc>; + + intc: interrupt-controller@2000000 { + compatible = "qcom,msm-qgic2"; + interrupt-controller; + #interrupt-cells = <3>; + reg = < 0x02000000 0x1000 >, + < 0x02002000 0x1000 >; + }; + + timer@200a004 { + compatible = "qcom,msm-gpt", "qcom,msm-timer"; + interrupts = <1 2 0x301>; + reg = <0x0200a004 0x10>; + clock-frequency = <32768>; + cpu-offset = <0x80000>; + }; + + timer@200a024 { + compatible = "qcom,msm-dgt", "qcom,msm-timer"; + interrupts = <1 1 0x301>; + reg = <0x0200a024 0x10>, + <0x0200a034 0x4>; + clock-frequency = <6750000>; + cpu-offset = <0x80000>; + }; + + serial@19c400000 { + compatible = "qcom,msm-hsuart", "qcom,msm-uart"; + reg = <0x16440000 0x1000>, + <0x16400000 0x1000>; + interrupts = <0 154 0x0>; + }; +};
arch/arm/mach-msm/Kconfig +1 -0
@@ -56,6 +56,7 @@ config ARCH_MSM8960 select MSM_V2_TLMM select MSM_GPIOMUX select MSM_SCM if SMP + select USE_OF endchoice
arch/arm/mach-msm/Makefile +1 -0
@@ -27,6 +27,7 @@ obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o obj-$(CONFIG_ARCH_MSM8X60) += board-dt-8660.o obj-$(CONFIG_ARCH_MSM8960) += board-msm8960.o devices-msm8960.o +obj-$(CONFIG_ARCH_MSM8960) += board-dt-8960.o obj-$(CONFIG_ARCH_MSM7X30) += gpiomux-v1.o gpiomux.o obj-$(CONFIG_ARCH_QSD8X50) += gpiomux-8x50.o gpiomux-v1.o gpiomux.o
arch/arm/mach-msm/Makefile.boot +1 -0
@@ -3,3 +3,4 @@ params_phys-y := 0x10000100 initrd_phys-y := 0x10800000 dtb-$(CONFIG_ARCH_MSM8X60) += msm8660-surf.dtb +dtb-$(CONFIG_ARCH_MSM8960) += msm8960-cdp.dtb
arch/arm/mach-msm/board-dt-8960.c new file +49 -0
49 lines not on this page · raw message
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 19/24 ARM: msm: Remove non-DT targets from 8960
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Remove the non-DT targets supported by 8960. This makes 8960 a device tree only target.
--- arch/arm/mach-msm/Kconfig | 13 ----- arch/arm/mach-msm/Makefile | 1 - arch/arm/mach-msm/board-msm8960.c | 110 ------------------------------------ arch/arm/mach-msm/common.h | 1 - arch/arm/mach-msm/devices-msm8960.c | 85 ---------------------------- arch/arm/mach-msm/timer.c | 13 ----- 6 files changed, 223 deletions(-) delete mode 100644 arch/arm/mach-msm/board-msm8960.c delete mode 100644 arch/arm/mach-msm/devices-msm8960.c
arch/arm/mach-msm/Kconfig +0 -13
@@ -50,7 +50,6 @@ config ARCH_MSM8X60 config ARCH_MSM8960 bool "MSM8960" select ARCH_MSM_SCORPIONMP - select MACH_MSM8960_SIM if (!MACH_MSM8960_RUMI3) select ARM_GIC select CPU_V7 select MSM_V2_TLMM
@@ -112,18 +111,6 @@ config MACH_QSD8X50A_ST1_5 help Support for the Qualcomm ST1.5. -config MACH_MSM8960_SIM - depends on ARCH_MSM8960 - bool "MSM8960 Simulator" - help - Support for the Qualcomm MSM8960 simulator. - -config MACH_MSM8960_RUMI3 - depends on ARCH_MSM8960 - bool "MSM8960 RUMI3" - help - Support for the Qualcomm MSM8960 RUMI3 emulator. - endmenu config MSM_SMD_PKG3
arch/arm/mach-msm/Makefile +0 -1
@@ -26,7 +26,6 @@ obj-$(CONFIG_MACH_HALIBUT) += board-halibut.o devices-msm7x00.o obj-$(CONFIG_ARCH_MSM7X30) += board-msm7x30.o devices-msm7x30.o obj-$(CONFIG_ARCH_QSD8X50) += board-qsd8x50.o devices-qsd8x50.o obj-$(CONFIG_ARCH_MSM8X60) += board-dt-8660.o -obj-$(CONFIG_ARCH_MSM8960) += board-msm8960.o devices-msm8960.o obj-$(CONFIG_ARCH_MSM8960) += board-dt-8960.o obj-$(CONFIG_ARCH_MSM7X30) += gpiomux-v1.o gpiomux.o
arch/arm/mach-msm/board-msm8960.c deleted +0 -110
110 lines not on this page · raw message
arch/arm/mach-msm/common.h +0 -1
@@ -14,7 +14,6 @@extern struct sys_timer msm7x01_timer;extern struct sys_timer msm7x30_timer; -extern struct sys_timer msm8960_timer;extern struct sys_timer msm_dt_timer;extern struct sys_timer qsd8x50_timer;
arch/arm/mach-msm/devices-msm8960.c deleted +0 -85
85 lines not on this page · raw message
arch/arm/mach-msm/timer.c +0 -13
@@ -37,7 +37,6 @@#define TIMER_ENABLE_CLR_ON_MATCH_EN BIT(1)#define TIMER_ENABLE_EN BIT(0)#define TIMER_CLEAR 0x000C -#define DGT_CLK_CTL 0x0030#define DGT_CLK_CTL_DIV_4 0x3#define GPT_HZ 32768
@@ -346,18 +345,6 @@ struct sys_timer msm7x30_timer = { .init = msm7x30_timer_init }; -static void __init msm8960_timer_init (void ) -{ -if (msm_timer_map (0x0200A004 ,0x0208A024 )) -return ; -writel_relaxed (DGT_CLK_CTL_DIV_4 , event_base +DGT_CLK_CTL ); -msm_timer_init (27000000 /4 ,32 ,17 , true); -} - -struct sys_timer msm8960_timer = { - .init = msm8960_timer_init -}; -static void __init qsd8x50_timer_init (void ) {if (msm_timer_map (0xAC100000 ,0xAC100010 ))
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 20/24 ARM: msm: dma: use list_move_tail instead of list_del/list_add_tail
In reply to a message not in the archiveFrom: Wei Yongjun <[email protected]>
Using list_move_tail() instead of list_del() + list_add_tail().
spatch with a semantic match is used to found this problem.
(http://coccinelle.lip6.fr/)
--- arch/arm/mach-msm/dma.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
arch/arm/mach-msm/dma.c +1 -2
@@ -223,8 +223,7 @@ static irqreturn_t msm_datamover_irq_handler(int irq, void *dev_id)PRINT_FLOW ("msm_datamover_irq_handler id %d, status %x\n" , id, ch_status);if ((ch_status &DMOV_STATUS_CMD_PTR_RDY ) && !list_empty (&ready_commands[id])) { cmd =list_entry (ready_commands[id].next,typeof (*cmd), list); -list_del (&cmd->list); -list_add_tail (&cmd->list, &active_commands[id]); +list_move_tail (&cmd->list, &active_commands[id]);if (cmd->execute_func) cmd->execute_func (cmd);PRINT_FLOW ("msm_datamover_irq_handler id %d, start command\n" , id);
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 21/24 ARM: msm: Remove unused acpuclock-arm11
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
This is dead code that isn't initialized or setup (although it is compiled). Remove it and the data structures it references.
--- arch/arm/mach-msm/Makefile | 2 +- arch/arm/mach-msm/acpuclock-arm11.c | 525 --------------------------------- arch/arm/mach-msm/acpuclock.h | 32 -- arch/arm/mach-msm/include/mach/board.h | 10 - 4 files changed, 1 insertion(+), 568 deletions(-) delete mode 100644 arch/arm/mach-msm/acpuclock-arm11.c delete mode 100644 arch/arm/mach-msm/acpuclock.h
arch/arm/mach-msm/Makefile +1 -1
@@ -5,7 +5,7 @@ obj-$(CONFIG_DEBUG_FS) += clock-debug.o obj-$(CONFIG_MSM_VIC) += irq-vic.o obj-$(CONFIG_MSM_IOMMU) += devices-iommu.o -obj-$(CONFIG_ARCH_MSM7X00A) += dma.o irq.o acpuclock-arm11.o +obj-$(CONFIG_ARCH_MSM7X00A) += dma.o irq.o obj-$(CONFIG_ARCH_MSM7X30) += dma.o obj-$(CONFIG_ARCH_QSD8X50) += dma.o sirc.o
arch/arm/mach-msm/acpuclock-arm11.c deleted +0 -525
525 lines not on this page · raw message
arch/arm/mach-msm/acpuclock.h deleted +0 -32
@@ -1,32 +0,0 @@ -/* arch/arm/mach-msm/acpuclock.h -* -* MSM architecture clock driver header -* -* Copyright (C) 2007 Google, Inc. -* Copyright (c) 2007 QUALCOMM Incorporated -* Author: San Mehat <[email protected]> -* -* This software is licensed under the terms of the GNU General Public -* License version 2, as published by the Free Software Foundation, and -* may be copied, distributed, and modified under those terms. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -*/ - -#ifndef __ARCH_ARM_MACH_MSM_ACPUCLOCK_H -#define __ARCH_ARM_MACH_MSM_ACPUCLOCK_H - -int acpuclk_set_rate (unsigned long rate,int for_power_collapse); -unsigned long acpuclk_get_rate (void ); -uint32_t acpuclk_get_switch_time (void ); -unsigned long acpuclk_wait_for_irq (void ); -unsigned long acpuclk_power_collapse (void ); -unsigned long acpuclk_get_wfi_rate (void ); - - -#endif -
arch/arm/mach-msm/include/mach/board.h +0 -10
@@ -22,15 +22,6 @@/* platform device data structures */ -struct msm_acpu_clock_platform_data -{ -uint32_t acpu_switch_time_us; -uint32_t max_speed_delta_khz; -uint32_t vdd_switch_time_us; -unsigned long power_collapse_khz; -unsigned long wait_for_irq_khz; -}; -struct clk_lookup ;/* common init routines for use by arch/arm/mach-msm/board-*.c */
@@ -39,7 +30,6 @@ void __init msm_add_devices(void);void __init msm_init_irq (void );void __init msm_init_gpio (void );void __init msm_clock_init (struct clk_lookup *clock_tbl,unsigned num_clocks); -void __init msm_acpu_clock_init (struct msm_acpu_clock_platform_data *);int __init msm_add_sdcc (unsigned int controller,struct msm_mmc_platform_data *plat,unsigned int stat_irq,unsigned long stat_irq_flags);
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 22/24 ARM: msm: Remove uncompiled board-msm7x27
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
This board file has never been compiled. Let's just remove it along with the one Kconfig reference to it in io.c.
--- arch/arm/mach-msm/board-msm7x27.c | 170 -------------------------------------- arch/arm/mach-msm/io.c | 3 +- 2 files changed, 1 insertion(+), 172 deletions(-) delete mode 100644 arch/arm/mach-msm/board-msm7x27.c
arch/arm/mach-msm/board-msm7x27.c deleted +0 -170
@@ -1,170 +0,0 @@ -/* -* Copyright (C) 2007 Google, Inc. -* Copyright (c) 2008-2009, Code Aurora Forum. All rights reserved. -* Author: Brian Swetland <[email protected]> -* -* This software is licensed under the terms of the GNU General Public -* License version 2, as published by the Free Software Foundation, and -* may be copied, distributed, and modified under those terms. -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -*/ -#include <linux/gpio.h> -#include <linux/kernel.h> -#include <linux/init.h> -#include <linux/platform_device.h> -#include <linux/input.h> -#include <linux/io.h> -#include <linux/delay.h> -#include <linux/power_supply.h> - -#include <mach/hardware.h> -#include <asm/mach-types.h> -#include <asm/mach/arch.h> -#include <asm/mach/map.h> -#include <asm/mach/flash.h> -#include <asm/setup.h> -#ifdef CONFIG_CACHE_L2X0 -#include <asm/hardware/cache-l2x0.h> -#endif - -#include <mach/vreg.h> -#include <mach/mpp.h> -#include <mach/board.h> -#include <mach/msm_iomap.h> - -#include <linux/mtd/nand.h> -#include <linux/mtd/partitions.h> - -#include "devices.h" -#include "socinfo.h" -#include "clock.h" - -static struct resource smc91x_resources[] = { - [0 ] = { - .start =0x9C004300 , - .end =0x9C0043ff , - .flags =IORESOURCE_MEM , - }, - [1 ] = { - .start =MSM_GPIO_TO_INT (132 ), - .end =MSM_GPIO_TO_INT (132 ), - .flags =IORESOURCE_IRQ , - }, -}; - -static struct platform_device smc91x_device = { - .name ="smc91x" , - .id =0 , - .num_resources =ARRAY_SIZE (smc91x_resources), - .resource = smc91x_resources, -}; - -static struct platform_device *devices[]__initdata = { - &msm_device_uart3, - &msm_device_smd, - &msm_device_dmov, - &msm_device_nand, - &smc91x_device, -}; - -extern struct sys_timer msm_timer; - -static void __init msm7x2x_init_irq (void ) -{ -msm_init_irq (); -} - -static void __init msm7x2x_init (void ) -{ -if (socinfo_init () <0 ) -BUG (); - -if (machine_is_msm7x25_ffa () ||machine_is_msm7x27_ffa ()) { - smc91x_resources[0 ].start =0x98000300 ; - smc91x_resources[0 ].end =0x980003ff ; - smc91x_resources[1 ].start =MSM_GPIO_TO_INT (85 ); - smc91x_resources[1 ].end =MSM_GPIO_TO_INT (85 ); -if (gpio_tlmm_config (GPIO_CFG (85 ,0 , -GPIO_INPUT , -GPIO_PULL_DOWN , -GPIO_2MA ), -GPIO_ENABLE )) { -printk (KERN_ERR -"%s: Err: Config GPIO-85 INT\n" , - __func__); - } - } - -platform_add_devices (devices,ARRAY_SIZE (devices)); -} - -static void __init msm7x2x_map_io (void ) -{ -msm_map_common_io (); -/* Technically dependent on the SoC but using machine_is -* macros since socinfo is not available this early and there -* are plans to restructure the code which will eliminate the -* need for socinfo. -*/ -if (machine_is_msm7x27_surf () ||machine_is_msm7x27_ffa ()) -msm_clock_init (msm_clocks_7x27, msm_num_clocks_7x27); - -if (machine_is_msm7x25_surf () ||machine_is_msm7x25_ffa ()) -msm_clock_init (msm_clocks_7x25, msm_num_clocks_7x25); - -#ifdef CONFIG_CACHE_L2X0 -if (machine_is_msm7x27_surf () ||machine_is_msm7x27_ffa ()) { -/* 7x27 has 256KB L2 cache: -64Kb/Way and 4-Way Associativity; -R/W latency: 3 cycles; -evmon/parity/share disabled. */ -l2x0_init (MSM_L2CC_BASE ,0x00068012 ,0xfe000000 ); - } -#endif -} - -static void __init msm7x2x_init_late (void ) -{ -smd_debugfs_init (); -} - -MACHINE_START (MSM7X27_SURF ,"QCT MSM7x27 SURF" ) - .atag_offset = 0x100, - .map_io = msm7x2x_map_io, - .init_irq = msm7x2x_init_irq, - .init_machine = msm7x2x_init, - .init_late = msm7x2x_init_late, - .timer = &msm_timer, -MACHINE_END - -MACHINE_START (MSM7X27_FFA ,"QCT MSM7x27 FFA" ) - .atag_offset =0x100 , - .map_io = msm7x2x_map_io, - .init_irq = msm7x2x_init_irq, - .init_machine = msm7x2x_init, - .init_late = msm7x2x_init_late, - .timer = &msm_timer, -MACHINE_END - -MACHINE_START (MSM7X25_SURF ,"QCT MSM7x25 SURF" ) - .atag_offset =0x100 , - .map_io = msm7x2x_map_io, - .init_irq = msm7x2x_init_irq, - .init_machine = msm7x2x_init, - .init_late = msm7x2x_init_late, - .timer = &msm_timer, -MACHINE_END - -MACHINE_START (MSM7X25_FFA ,"QCT MSM7x25 FFA" ) - .atag_offset =0x100 , - .map_io = msm7x2x_map_io, - .init_irq = msm7x2x_init_irq, - .init_machine = msm7x2x_init, - .init_late = msm7x2x_init_late, - .timer = &msm_timer, -MACHINE_END
arch/arm/mach-msm/io.c +1 -2
@@ -44,8 +44,7 @@ MSM_CHIP_DEVICE_TYPE(name, chip, MT_DEVICE)#define MSM_DEVICE (name) MSM_CHIP_DEVICE(name, MSM) -#if defined(CONFIG_ARCH_MSM7X00A ) || defined(CONFIG_ARCH_MSM7X27 ) \ - || defined(CONFIG_ARCH_MSM7X25 ) +#if defined(CONFIG_ARCH_MSM7X00A )static struct map_desc msm_io_desc[]__initdata = {MSM_DEVICE_TYPE (VIC ,MT_DEVICE_NONSHARED ), MSM_CHIP_DEVICE_TYPE(CSR, MSM7X00, MT_DEVICE_NONSHARED),
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 23/24 ARM: msm: Allow msm_iomap-8x60 and msm_iomap-8960 to coexist
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Remove the unused GCC, ACC, and shared memory definitions in the 8660 static mappings. This allows the 8660 header file to be included in msm_iomap.h unconditionally.
--- arch/arm/mach-msm/include/mach/msm_iomap-8x60.h | 11 ----------- arch/arm/mach-msm/include/mach/msm_iomap.h | 3 +-- arch/arm/mach-msm/io.c | 2 -- 3 files changed, 1 insertion(+), 15 deletions(-)
arch/arm/mach-msm/include/mach/msm_iomap-8x60.h +0 -11
@@ -41,21 +41,10 @@#define MSM8X60_QGIC_CPU_PHYS 0x02081000#define MSM8X60_QGIC_CPU_SIZE SZ_4K -#define MSM_ACC_BASE IOMEM(0xF0002000) -#define MSM_ACC_PHYS 0x02001000 -#define MSM_ACC_SIZE SZ_4K - -#define MSM_GCC_BASE IOMEM(0xF0003000) -#define MSM_GCC_PHYS 0x02082000 -#define MSM_GCC_SIZE SZ_4K -#define MSM_TLMM_BASE IOMEM(0xF0004000)#define MSM_TLMM_PHYS 0x00800000#define MSM_TLMM_SIZE SZ_16K -#define MSM_SHARED_RAM_BASE IOMEM(0xF0100000) -#define MSM_SHARED_RAM_SIZE SZ_1M -#define MSM8X60_TMR_PHYS 0x02000000#define MSM8X60_TMR_SIZE SZ_4K
arch/arm/mach-msm/include/mach/msm_iomap.h +1 -2
@@ -41,12 +41,11 @@#include "msm_iomap-7x30.h" #elif defined(CONFIG_ARCH_QSD8X50 )#include "msm_iomap-8x50.h" -#elif defined(CONFIG_ARCH_MSM8X60 ) -#include "msm_iomap-8x60.h" #else #include "msm_iomap-7x00.h" #endif +#include "msm_iomap-8x60.h" #include "msm_iomap-8960.h" #define MSM_DEBUG_UART_SIZE SZ_4K
arch/arm/mach-msm/io.c +0 -2
@@ -111,8 +111,6 @@ static struct map_desc msm8x60_io_desc[] __initdata = {MSM_CHIP_DEVICE (QGIC_CPU ,MSM8X60 ),MSM_CHIP_DEVICE (TMR ,MSM8X60 ),MSM_CHIP_DEVICE (TMR0 ,MSM8X60 ), -MSM_DEVICE (ACC ), -MSM_DEVICE (GCC ), #ifdef CONFIG_DEBUG_MSM8660_UART MSM_DEVICE(DEBUG_UART), #endif
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
PATCH 24/24 ARM: msm: Allow 8960 and 8660 to compile together
In reply to a message not in the archiveFrom: Stephen Boyd <[email protected]>
Modify the Kconfig to allow the MSM 8660 and MSM 8960 targets to compile together in the same build. As long as one of these two targets is selected the choice menu used to select which SoC to support will be hidden. Deselecting both of these targets will reintroduce the choice menu, and allow users to select targets that must be compiled in isolation.
--- arch/arm/mach-msm/Kconfig | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
arch/arm/mach-msm/Kconfig +6 -2
@@ -1,8 +1,12 @@ if ARCH_MSM +comment "Qualcomm MSM SoC Type" + depends on (ARCH_MSM8X60 || ARCH_MSM8960) + choice prompt "Qualcomm MSM SoC Type" default ARCH_MSM7X00A + depends on !(ARCH_MSM8X60 || ARCH_MSM8960) config ARCH_MSM7X00A bool "MSM7x00A / MSM7x01A"
@@ -36,6 +40,8 @@ config ARCH_QSD8X50 select GPIO_MSM_V1 select MSM_PROC_COMM +endchoice + config ARCH_MSM8X60 bool "MSM8X60" select ARCH_MSM_SCORPIONMP
@@ -57,8 +63,6 @@ config ARCH_MSM8960 select MSM_SCM if SMP select USE_OF -endchoice - config MSM_HAS_DEBUG_UART_HS bool
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH 24/24] ARM: msm: Allow 8960 and 8660 to compile together
Hi,
Quoted 20 lines · David Brown
From: Stephen Boyd <[email protected]>
Modify the
Kconfigto allow the MSM 8660 and MSM 8960 targets to compile together in the same build. As long as one of these two targets is selected the choice menu used to select which SoC to support will be hidden. Deselecting both of these targets will reintroduce the choice menu, and allow users to select targets that must be compiled in isolation.Signed-off-by Stephen Boyd <[email protected]>Signed-off-by David Brown <[email protected]>--- arch/arm/mach-msm/Kconfig | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)arch/arm/mach-msm/Kconfig +0
-0
arch/arm/mach-msm/Kconfig line 4
Quoted 4 lines
arch/arm/mach-msm/Kconfig +2
-0@@ -1,8 +1,12 @@ if ARCH_MSM +comment "Qualcomm MSM SoC Type" + depends on (ARCH_MSM8X60 || ARCH_MSM8960)
This OK for now but will stop scaling pretty quickly.
When you introduce the next SoC to this, please add a new silent option instead, that the multi-soc-capable configs select and switch the depends over to that option.
-Olof
Re: [GIT PULL] msm-core changes for v3.7
In reply to a message not in the archiveHi,
Quoted 18 lines · David Brown
The following changes since commit
28a33cbc24e4256c143dce96c7d93bf423229f92:Linux 3.5 (2012-07-21 13:58:29 -0700)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.gittags/msm-core-for-3.7for you to fetch changes up to
fe3a47b1c7cd74a7e39cec1fa0d89bd3724f4f65:ARM: msm: Allow 8960 and 8660 to compile together (2012-09-12 09:31:56 -0700)
----------------------------------------------------------------
In addition to some minor fixes, this series fully converts two primary MSM targets (8660 and 8960) exclusively to devicetree. It removes a lot of dead code, both from the devicetree conversion, and code that has never been compiled.
Quoted 3 lines
It is now possible to build both 8660 and 8960 into the same kernel. Not quite ready to be part of a single zImage, but at least many of the internal issues preventing this are resolved.
This is awesome to see, thanks for starting the platform conversion and cleanup.
I have some comments on the branch organization to make it fit the arm-soc branch setups a bit better:
I think it could be a good idea to split off the cleanups and fixes to a separate branch. For the other patches there seems to be enough for at least a 'dt' branch and either a multi-platform topic branch or a 'boards' topic branch -- probably the former. So see my annotation below for suggested sorting (I didn't check for conflicts/dependencies).
Quoted 3 lines
----------------------------------------------------------------
David Brown (1):
ARM: msm: Remove call to missing FPGA init on 8660
fixes-non-critical
Quoted 3 lines
Rohit Vaswani (2):
ARM: msm: io: Remove 7x30 iomap region from 7x00
ARM: msm: io: Change the default static iomappings to be shared
fixes-non-critical
Quoted 5 lines
Stephen Boyd (20):
ARM: msm: Removemsm_hw_reset_hook
ARM: msm: clock-pcom: Mark functions static
ARM: msm: Remove unusedidle.c
above are cleanup
Quoted 1 line
ARM: msm: Fix early debug uart mapping on some memory configs
fixes-non-critical
Quoted 2 lines
ARM: msm: Add
handle_irqhandler for 8660 DT machine
ARM: msm: Addmsm8660-surf.dtsto Makefile.boot
above are dt
Quoted 1 line
ARM: msm: Fix sparse warnings due to incorrect type
cleanup
Quoted 1 line
ARM: msm: Don't touch GIC registers outside of GIC code
cleanup
Quoted 1 line
ARM: msm: Allow
timer.cto compile on multiple targets
Hmm. cleanup or a separate multi-platform branch
Quoted 4 lines
ARM: msm: Add DT support to
msm_timer
ARM: msm: Move 8660 to DT timer
ARM: msm: Make 8660 a DT only target
ARM: msm: Rename board-msm8x60 to signify its DT only status
above are dt, last maybe board but it's one of the few patches of that topic so can be grouped with dt
Quoted 1 line
ARM: msm: Move io mapping prototypes to
common.h
cleanup
Quoted 1 line
ARM: msm: Add DT support for 8960
dt
Quoted 3 lines
ARM: msm: Remove non-DT targets from 8960
ARM: msm: Remove unused acpuclock-arm11
ARM: msm: Remove uncompiled board-msm7x27
above are cleanup
Quoted 2 lines
ARM: msm: Allow msm_iomap-8x60 and msm_iomap-8960 to coexist
ARM: msm: Allow 8960 and 8660 to compile together
both of those are multi-platform or board branch
Quoted 2 lines
Wei Yongjun (1):
ARM: msm: dma: uselist_move_tailinstead of list_del/list_add_tail
cleanup
-Olof
Re: [GIT PULL] msm-core changes for v3.7
Quoted 6 lines · Olof Johansson
I think it could be a good idea to split off the cleanups and fixes to a separate branch. For the other patches there seems to be enough for at least a 'dt' branch and either a multi-platform topic branch or a 'boards' topic branch -- probably the former. So see my annotation below for suggested sorting (I didn't check for conflicts/dependencies).
I'll give a go at splitting things up tomorrow, then. I'd held off on making separate branches because there are a bunch of changes to similar stuff. Even if I get them separated, they are unlikely to build without all being applied.
But, I'll see what I can do.
David
Signature · 2 lines
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, hosted by The Linux Foundation
Re: [GIT PULL] msm-core changes for v3.7
Quoted 9 lines · David Brown
Quoted 6 lines · Olof Johansson
I think it could be a good idea to split off the cleanups and fixes to a separate branch. For the other patches there seems to be enough for at least a 'dt' branch and either a multi-platform topic branch or a 'boards' topic branch -- probably the former. So see my annotation below for suggested sorting (I didn't check for conflicts/dependencies).
Quoted 6 lines
I'll give a go at splitting things up tomorrow, then. I'd held off on making separate branches because there are a bunch of changes to similar stuff. Even if I get them separated, they are unlikely to build without all being applied.
But, I'll see what I can do.
Ok. If it's too hairy this time around, let us know and we can figure something out. Over time hopefully it'll get easier to sort patches in buckets.
-Olof