aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/mach-msm/io.c
AgeCommit message (Collapse)Author
2015-03-27ARM: Remove mach-msm and associated ARM architecture codeStephen Boyd
The maintainers for mach-msm no longer have any plans to support or test the platforms supported by this architecture[1]. Most likely there aren't any active users of this code anyway, so let's delete it. [1] http://lkml.kernel.org/r/20150307031212.GA8434@fifo99.com Cc: David Brown <davidb@codeaurora.org> Cc: Bryan Huntsman <bryanh@codeaurora.org> Cc: Daniel Walker <dwalker@fifo99.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Kumar Gala <galak@codeaurora.org>
2014-08-24ARM: msm: Update the references to DEBUG_MSM_UARTxGeorgi Djakov
The Kconfig options DEBUG_MSM_UART1, DEBUG_MSM_UART2, DEBUG_MSM_UART3, MSM_DEBUG_UART1, MSM_DEBUG_UART2 and MSM_DEBUG_UART3 are removed, but they are still referenced in the following files: arch/arm/mach-msm/io.c, arch/arm/mach-msm/board-trout.c arch/arm/mach-msm/board-trout-gpio.c Fix this by updating the reference to the new Kconfig option. Reported-by: Paul Bolle <pebolle@tiscali.nl> Signed-off-by: Georgi Djakov <gdjakov@mm-sol.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2014-03-21ARM: msm: avoid calling debug_ll_addr on !MMUArnd Bergmann
MSM7X00A has an open-coded version of debug_ll_io_init so it can use MT_DEVICE_NONSHARED as required by the platform. However, this fails to build on no-MMU kernels because the debug_ll_addr function is not available. Since the iotable_init function doesn't actually do anyting in this configuration, we can simply get away by enclosing the broken function call in an #ifdef, which seems to be the least ugly workaround. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: David Brown <davidb@codeaurora.org> Cc: Daniel Walker <dwalker@fifo99.com> Cc: Bryan Huntsman <bryanh@codeaurora.org>
2013-08-06ARM: msm: Move mach/board.h contents to common.hStephen Boyd
The contents of mach/board.h are only used by files within mach-msm so there is no need to export this file outside of the mach-msm directory. Move the contents of the file to common.h to allow us to compile MSM in the multi-platform kernel. Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Acked-by: Tomi Valkeinen <tomi.valkeinen@ti.com> Signed-off-by: David Brown <davidb@codeaurora.org>
2013-08-06ARM: msm: Remove TMR and TMR0 static mappingsStephen Boyd
Nobody is using these mappings so just drop them. of_iomap() in the timer driver will take care of it for us. Doing this allows us to remove the 8x60 and 8960 iomap files completely. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2013-08-06ARM: msm: Move debug-macro.S to include/debugStephen Boyd
One more step to allowing MSM to participate in the multi-platform defconfig. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> [davidb: Comment cleanup requested by sboyd] Signed-off-by: David Brown <davidb@codeaurora.org>
2013-07-29ARM: msm: Don't compile __msm_ioremap_caller() unless usedStephen Boyd
This function is only used on MSM7x00A so only compile the function if the build includes support for that platform. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2013-07-03Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-armLinus Torvalds
Pull ARM updates from Russell King: "This contains the usual updates from other people (listed below) and the usual random muddle of miscellaneous ARM updates which cover some low priority bug fixes and performance improvements. I've started to put the pull request wording into the merge commits, which are: - NoMMU stuff: This includes the following series sent earlier to the list: - nommu-fixes - R7 Support - MPU support I've left out the ARCH_MULTIPLATFORM/!MMU stuff that Arnd and I were discussing today until we've reached a conclusion/that's had some more review. This is rebased (and re-tested) on your devel-stable branch because otherwise there were going to be conflicts with Uwe's V7M work now that you've merged that. I've included the fix for limiting MPU to CPU_V7. - Huge page support These changes bring both HugeTLB support and Transparent HugePage (THP) support to ARM. Only long descriptors (LPAE) are supported in this series. The code has been tested on an Arndale board (Exynos 5250). - LPAE updates Please pull these miscellaneous LPAE fixes I've been collecting for a while now for 3.11. They've been tested and reviewed by quite a few people, and most of the patches are pretty trivial. -- Will Deacon. - arch_timer cleanups Please pull these arch_timer cleanups I've been holding onto for a while. They're the same as my last posting, but have been rebased to v3.10-rc3. - mpidr linearisation (multiprocessor id register - identifies which CPU number we are in the system) This patch series that implements MPIDR linearization through a simple hashing algorithm and updates current cpu_{suspend}/{resume} code to use the newly created hash structures to retrieve context pointers. It represents a stepping stone for the implementation of power management code on forthcoming multi-cluster ARM systems. It has been tested on TC2 (dual cluster A15xA7 system), iMX6q, OMAP4 and Tegra, with processors hitting low-power states requiring warm-boot resume through the cpu_resume code path" * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (77 commits) ARM: 7775/1: mm: Remove do_sect_fault from LPAE code ARM: 7777/1: Avoid extra calls to the C compiler ARM: 7774/1: Fix dtb dependency to use order-only prerequisites ARM: 7770/1: remove residual ARMv2 support from decompressor ARM: 7769/1: Cortex-A15: fix erratum 798181 implementation ARM: 7768/1: prevent risks of out-of-bound access in ASID allocator ARM: 7767/1: let the ASID allocator handle suspended animation ARM: 7766/1: versatile: don't mark pen as __INIT ARM: 7765/1: perf: Record the user-mode PC in the call chain. ARM: 7735/2: Preserve the user r/w register TPIDRURW on context switch and fork ARM: kernel: implement stack pointer save array through MPIDR hashing ARM: kernel: build MPIDR hash function data structure ARM: mpu: Ensure that MPU depends on CPU_V7 ARM: mpu: protect the vectors page with an MPU region ARM: mpu: Allow enabling of the MPU via kconfig ARM: 7758/1: introduce config HAS_BANDGAP ARM: 7757/1: mm: don't flush icache in switch_mm with hardware broadcasting ARM: 7751/1: zImage: don't overwrite ourself with a page table ARM: 7749/1: spinlock: retry trylock operation if strex fails on free lock ARM: 7748/1: oabi: handle faults when loading swi instruction from userspace ...
2013-05-31msm: iomap: Remove unused bases and mappingsRohit Vaswani
QGIC_DIST and QGIC_CPU bases are now unused as they are obtained from device tree. Remove the static iomappings. Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2013-05-23ARM: 7728/1: mm: Use phys_addr_t properly for ioremap functionsLaura Abbott
Several of the ioremap functions use unsigned long in places resulting in truncation if physical addresses greater than 4G are passed in. Change the types of the functions and the callers accordingly. Cc: Krzysztof Halasa <khc@pm.waw.pl> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Laura Abbott <lauraa@codeaurora.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-01Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-socLinus Torvalds
Pull ARM soc board specific updates from Olof Johansson: "Misc board updates: - Greg added a handful of boards to KS8695 (since he has stepped up to maintain it). - Qualcomm has added DT-only board support for a couple of their newer SoCs. - misc other updates for Samsung and Freescale boards." Fix up trivial conflict in arch/arm/mach-shmobile/board-armadillo800eva.c due to gpio device data being added next to hdmi device data that got moved. * tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: msm: Allow 8960 and 8660 to compile together ARM: msm: Allow msm_iomap-8x60 and msm_iomap-8960 to coexist ARM: EXYNOS: Add generic PWM lookup support for SMDKV310 ARM: EXYNOS: Add generic PWM lookup support for SMDK4X12 ARM: EXYNOS: Use generic pwm driver in Origen board ARM: shmobile: armadillo800eva: Add support RTC ARM: ks8695: add board support for the OpenGear boards based on the KS8695 ARM: ks8695: add board support for the SnapGear boards based on the KS8695 ARM: dts: Add heartbeat gpio-leds support to Origen ARM: dts: Use active low flag for gpio-keys on Origen ARM: shmobile: marzen: enable thermal sensor ARM: shmobile: marzen: fixup regulator id for smsc911x ARM: shmobile: marzen: add SDHI0 support ARM: mmp: enable debug uart port in defconfig ARM: mmp: implement DEBUG_LL port choice ARM: S3C64XX: Register audio platform devices for Bells on Cragganmore ARM: S3C64XX: Update configuration for WM5102 module on Cragganmore ARM: mx27pdk: Add audio support ARM: ttc_dkb: add nand support
2012-09-16Merge tag 'msm-dt-for-3.7' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm into next/dt From David Brown: These patches migrate both the 8660 and 8960 targets on msm to be devicetree only. This also sets most of the frame in place necessary to build both targets into the same image. There's a couple of cleanups in here that are kept in this series because they are intimately tied to the changes necessary to support the devicetree conversions. By Stephen Boyd via David Brown * tag 'msm-dt-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm: ARM: msm: Remove non-DT targets from 8960 ARM: msm: Add DT support for 8960 ARM: msm: Move io mapping prototypes to common.h ARM: msm: Rename board-msm8x60 to signify its DT only status ARM: msm: Make 8660 a DT only target ARM: msm: Move 8660 to DT timer ARM: msm: Add DT support to msm_timer ARM: msm: Allow timer.c to compile on multiple targets ARM: msm: Don't touch GIC registers outside of GIC code ARM: msm: Add msm8660-surf.dts to Makefile.boot ARM: msm: Add handle_irq handler for 8660 DT machine Resolved trivial context conflict in arch/arm/mach-msm/io.c and a remove/change conflict in arch/arm/mach-msm/board-msm8x60.c. Signed-off-by: Olof Johansson <olof@lixom.net>
2012-09-16Merge branches 'msm/fixes-non-critical' and 'msm/cleanup' into next/dtOlof Johansson
Merging in fixes and cleanup as prereqs to simplify merge conflicts. * msm/fixes-non-critical: ARM: msm: Fix early debug uart mapping on some memory configs ARM: msm: io: Change the default static iomappings to be shared ARM: msm: io: Remove 7x30 iomap region from 7x00 ARM: msm: Remove call to missing FPGA init on 8660 * msm/cleanup: ARM: msm: Remove uncompiled board-msm7x27 ARM: msm: Remove unused acpuclock-arm11 ARM: msm: dma: use list_move_tail instead of list_del/list_add_tail ARM: msm: Fix sparse warnings due to incorrect type ARM: msm: Remove unused idle.c ARM: msm: clock-pcom: Mark functions static ARM: msm: Remove msm_hw_reset_hook Signed-off-by: Olof Johansson <olof@lixom.net>
2012-09-13ARM: msm: Allow msm_iomap-8x60 and msm_iomap-8960 to coexistStephen Boyd
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. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2012-09-13ARM: msm: Move io mapping prototypes to common.hStephen Boyd
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. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2012-09-13ARM: msm: Remove uncompiled board-msm7x27Stephen Boyd
This board file has never been compiled. Let's just remove it along with the one Kconfig reference to it in io.c. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2012-09-13ARM: msm: io: Change the default static iomappings to be sharedRohit Vaswani
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. Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2012-09-13ARM: msm: io: Remove 7x30 iomap region from 7x00Rohit Vaswani
This is redundant code. Signed-off-by: Rohit Vaswani <rvaswani@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2012-03-06ARM: msm: use runtime ioremap hookRob Herring
Convert msm platforms to use run-time ioremap hook instead of the compile time hook. According to David Brown, only the msm7201 needed the ioremap hook. Signed-off-by: Rob Herring <rob.herring@calxeda.com> Tested-by: David Brown <davidb@codeaurora.org> Acked-by: David Brown <davidb@codeaurora.org> Cc: Daniel Walker <dwalker@fifo99.com> Cc: Bryan Huntsman <bryanh@codeaurora.org>
2011-11-10msm: Support DEBUG_LL on MSM8660 and MSM8960Stephen Boyd
Add support for DEBUG_LL on the 8660 and 8960 development boards. While we're here cleanup the uncompress.h code a bit. Avoid the use of readl/writel as those are Linux specific APIs that aren't guaranteed to work in the decompressor. Cc: Nicolas Pitre <nico@fluxnic.net> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Acked-by: Nicolas Pitre <nico@linaro.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-11-10ARM: msm: Consolidate and move DEBUG_LL to DEBUG_LL choiceStephen Boyd
Now that DEBUG_LL is a choice we can move MSM's homegrown choice menu to DEBUG_LL. Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-10-31arm: Add export.h to ARM specific files as required.Paul Gortmaker
These files all make use of one of the EXPORT_SYMBOL variants or the THIS_MODULE macro. So they will need <linux/export.h> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2011-08-01msm: Remove chip-ifdefs for GPIO io mappingsDavid Brown
The two GPIO controllers are always mapped to the same virtual address across all MSM devices. Instead of selecting this at compile time, determine the physical address at runtime, eliminating yet something else preventing multiple MSM targets from being compiled into the same kernel. Change-Id: I1672219d978ab6243526adeda6badf49472baa27 Signed-off-by: David Brown <davidb@codeaurora.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org>
2011-01-28msm: Remove broken register definition from troutDavid Brown
Missed a register change with the clock cleanup on the MSM7x01 targets. Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21msm: io: I/O register definitions for MSM8960Stepan Moskovchenko
Add the register address definitions for the basic hardware blocks on the Qualcomm MSM8960 chip. Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21msm: Generalize QGIC registersDavid Brown
The QGIC registers are mapped to the same virtual addresses across targets, only the physical address changes. Move the BASE address out of target-specific files, and add a SOC name to the base addresses. Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-21msm: Generalize timer register mappingsDavid Brown
Allow the timer register to be determined dynamically instead of at compile time. Use common virtual addresses for the registers across all MSM chips, and select the register mappings based on the detected CPU. Signed-off-by: David Brown <davidb@codeaurora.org>
2011-01-13Merge branch 'for-next' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits) Documentation/trace/events.txt: Remove obsolete sched_signal_send. writeback: fix global_dirty_limits comment runtime -> real-time ppc: fix comment typo singal -> signal drivers: fix comment typo diable -> disable. m68k: fix comment typo diable -> disable. wireless: comment typo fix diable -> disable. media: comment typo fix diable -> disable. remove doc for obsolete dynamic-printk kernel-parameter remove extraneous 'is' from Documentation/iostats.txt Fix spelling milisec -> ms in snd_ps3 module parameter description Fix spelling mistakes in comments Revert conflicting V4L changes i7core_edac: fix typos in comments mm/rmap.c: fix comment sound, ca0106: Fix assignment to 'channel'. hrtimer: fix a typo in comment init/Kconfig: fix typo anon_inodes: fix wrong function name in comment fix comment typos concerning "consistent" poll: fix a typo in comment ... Fix up trivial conflicts in: - drivers/net/wireless/iwlwifi/iwl-core.c (moved to iwl-legacy.c) - fs/ext4/ext4.h Also fix missed 'diabled' typo in drivers/net/bnx2x/bnx2x.h while at it.
2011-01-07msm: timer: SMP timer support for msmJeff Ohlstein
The msm provides timer hardware that is private to each core. Each timer has separate counter and match registers, so we create separate clock_event_devices for each core. For the global clocksource, use cpu 0's counter. Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org>
2010-11-19msm: io: Export __msm_ioremapPavankumar Kondeti
This is required for modules to use ioremap() Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-11-01tree-wide: fix comment/printk typosUwe Kleine-König
"gadget", "through", "command", "maintain", "maintain", "controller", "address", "between", "initiali[zs]e", "instead", "function", "select", "already", "equal", "access", "management", "hierarchy", "registration", "interest", "relative", "memory", "offset", "already", Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-10-08msm: io: MSM8X60 io supportSteve Muckle
MSM8X60 has different IO mappings than previous MSMs. Signed-off-by: Steve Muckle <smuckle@codeaurora.org> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-05-13msm: io: add io support for 7x30Daniel Walker
Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2010-05-13msm: io: add io support for 8x50Daniel Walker
Signed-off-by: Daniel Walker <dwalker@codeaurora.org> Signed-off-by: David Brown <davidb@codeaurora.org> Signed-off-by: Gregory Bean <gbean@codeaurora.org> Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org> Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
2010-05-12arm: msm: correctly signal the apps-to-modem irq in smd/proc_commDima Zavin
Signed-off-by: Dima Zavin <dima@android.com> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2010-02-15ARM: Add caller information to ioremapRussell King
This allows the procfs vmallocinfo file to show who created the ioremap regions. Note: __builtin_return_address(0) doesn't do what's expected if its used in an inline function, so we leave __arm_ioremap callers in such places alone. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2009-11-20msm: make debugging UART (for DEBUG_LL) configurablePavel Machek
Provides options to select one of the three "lowspeed" UARTs on MSM7k SoCs for DEBUG_LL output from the zImage decompressor and kernel. Signed-off-by: Brian Swetland <swetland@google.com> Signed-off-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Daniel Walker <dwalker@codeaurora.org>
2008-10-22[ARM] msm: clean up iomap and devicesBrian Swetland
- Add some more peripherals (sdcc, etc) to the iomap. - Remove virtual base addresses for devices that we should be passing physical addresses to drivers via resources and ioremap()ing. - don't try to use uarts for ll debug once the mmu is enabled due to problems with the peripheral window - make base addresses void __iomem * and fixup irq.c and timer.c - Remove common.c and bring in devices.c/devices.h similar to the PXA architecture. Signed-off-by: Brian Swetland <swetland@google.com>
2008-09-06[ARM] Convert asm/io.h to linux/io.hRussell King
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-08-07[ARM] Move include/asm-arm/arch-* to arch/arm/*/include/machRussell King
This just leaves include/asm-arm/plat-* to deal with. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-08-07[ARM] Remove asm/hardware.h, use asm/arch/hardware.h insteadRussell King
Remove includes of asm/hardware.h in addition to asm/arch/hardware.h. Then, since asm/hardware.h only exists to include asm/arch/hardware.h, update everything to directly include asm/arch/hardware.h and remove asm/hardware.h. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-01-26[ARM] msm: core platform support for ARCH_MSM7X00ABrian Swetland
- core header files for arch-msm - Kconfig and Makefiles to enable ARCH_MSM7X00A builds - MSM7X00A specific arch_idle - peripheral iomap and irq number definitions Signed-off-by: Brian Swetland <swetland@google.com>