diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-06 16:21:16 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-06 16:21:16 -0400 |
| commit | 8e73e367f7dc50f1d1bc22a63e5764bb4eea9b48 (patch) | |
| tree | 9bf593c1fc7612bcdd64b9ba46e41d340f9e94d3 /arch/arm/include/debug | |
| parent | d2f3e9eb7c9e12e89f0ac5f0dbc7a9aed0ea925d (diff) | |
| parent | 7323f219533e01cc075ba45a76f3e5b214adb23f (diff) | |
Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC cleanups from Olof Johansson:
"This branch contains code cleanups, moves and removals for 3.12.
There's a large number of various cleanups, and a nice net removal of
13500 lines of code.
Highlights worth mentioning are:
- A series of patches from Stephen Boyd removing the ARM local timer
API.
- Move of Qualcomm MSM IOMMU code to drivers/iommu.
- Samsung PWM driver cleanups from Tomasz Figa, removing legacy PWM
driver and switching over to the drivers/pwm one.
- Removal of some unusued auto-generated headers for OMAP2+ (PRM/CM).
There's also a move of a header file out of include/linux/i2c/ to
platform_data, where it really belongs. It touches mostly ARM
platform code for include changes so we took it through our tree"
* tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
ARM: OMAP2+: Add back the define for AM33XX_RST_GLOBAL_WARM_SW_MASK
gpio: (gpio-pca953x) move header to linux/platform_data/
arm: zynq: hotplug: Remove unreachable code
ARM: SAMSUNG: Remove unnecessary exynos4_default_sdhci*()
tegra: simplify use of devm_ioremap_resource
ARM: SAMSUNG: Remove plat/regs-timer.h header
ARM: SAMSUNG: Remove remaining uses of plat/regs-timer.h header
ARM: SAMSUNG: Remove pwm-clock infrastructure
ARM: SAMSUNG: Remove old PWM timer platform devices
pwm: Remove superseded pwm-samsung-legacy driver
ARM: SAMSUNG: Modify board files to use new PWM platform device
ARM: SAMSUNG: Rework private data handling in dev-backlight
pwm: Add new pwm-samsung driver
ARM: mach-mvebu: remove redundant DT parsing and validation
ARM: msm: Only compile io.c on platforms that use it
iommu/msm: Move mach includes to iommu directory
ARM: msm: Remove devices-iommu.c
ARM: msm: Move mach/board.h contents to common.h
ARM: msm: Migrate msm_timer to CLOCKSOURCE_OF_DECLARE
ARM: msm: Remove TMR and TMR0 static mappings
...
Diffstat (limited to 'arch/arm/include/debug')
| -rw-r--r-- | arch/arm/include/debug/msm.S | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/arch/arm/include/debug/msm.S b/arch/arm/include/debug/msm.S new file mode 100644 index 000000000000..9166e1bc470e --- /dev/null +++ b/arch/arm/include/debug/msm.S | |||
| @@ -0,0 +1,93 @@ | |||
| 1 | /* | ||
| 2 | * | ||
| 3 | * Copyright (C) 2007 Google, Inc. | ||
| 4 | * Copyright (c) 2011, Code Aurora Forum. All rights reserved. | ||
| 5 | * Author: Brian Swetland <swetland@google.com> | ||
| 6 | * | ||
| 7 | * This software is licensed under the terms of the GNU General Public | ||
| 8 | * License version 2, as published by the Free Software Foundation, and | ||
| 9 | * may be copied, distributed, and modified under those terms. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, | ||
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | * GNU General Public License for more details. | ||
| 15 | * | ||
| 16 | */ | ||
| 17 | |||
| 18 | #if defined(CONFIG_ARCH_MSM7X00A) || defined(CONFIG_ARCH_QSD8X50) | ||
| 19 | #define MSM_UART1_PHYS 0xA9A00000 | ||
| 20 | #define MSM_UART2_PHYS 0xA9B00000 | ||
| 21 | #define MSM_UART3_PHYS 0xA9C00000 | ||
| 22 | #elif defined(CONFIG_ARCH_MSM7X30) | ||
| 23 | #define MSM_UART1_PHYS 0xACA00000 | ||
| 24 | #define MSM_UART2_PHYS 0xACB00000 | ||
| 25 | #define MSM_UART3_PHYS 0xACC00000 | ||
| 26 | #endif | ||
| 27 | |||
| 28 | #if defined(CONFIG_DEBUG_MSM_UART1) | ||
| 29 | #define MSM_DEBUG_UART_BASE 0xE1000000 | ||
| 30 | #define MSM_DEBUG_UART_PHYS MSM_UART1_PHYS | ||
| 31 | #elif defined(CONFIG_DEBUG_MSM_UART2) | ||
| 32 | #define MSM_DEBUG_UART_BASE 0xE1000000 | ||
| 33 | #define MSM_DEBUG_UART_PHYS MSM_UART2_PHYS | ||
| 34 | #elif defined(CONFIG_DEBUG_MSM_UART3) | ||
| 35 | #define MSM_DEBUG_UART_BASE 0xE1000000 | ||
| 36 | #define MSM_DEBUG_UART_PHYS MSM_UART3_PHYS | ||
| 37 | #endif | ||
| 38 | |||
| 39 | #ifdef CONFIG_DEBUG_MSM8660_UART | ||
| 40 | #define MSM_DEBUG_UART_BASE 0xF0040000 | ||
| 41 | #define MSM_DEBUG_UART_PHYS 0x19C40000 | ||
| 42 | #endif | ||
| 43 | |||
| 44 | #ifdef CONFIG_DEBUG_MSM8960_UART | ||
| 45 | #define MSM_DEBUG_UART_BASE 0xF0040000 | ||
| 46 | #define MSM_DEBUG_UART_PHYS 0x16440000 | ||
| 47 | #endif | ||
| 48 | |||
| 49 | .macro addruart, rp, rv, tmp | ||
| 50 | #ifdef MSM_DEBUG_UART_PHYS | ||
| 51 | ldr \rp, =MSM_DEBUG_UART_PHYS | ||
| 52 | ldr \rv, =MSM_DEBUG_UART_BASE | ||
| 53 | #endif | ||
| 54 | .endm | ||
| 55 | |||
| 56 | .macro senduart, rd, rx | ||
| 57 | #ifdef CONFIG_MSM_HAS_DEBUG_UART_HS | ||
| 58 | @ Write the 1 character to UARTDM_TF | ||
| 59 | str \rd, [\rx, #0x70] | ||
| 60 | #else | ||
| 61 | str \rd, [\rx, #0x0C] | ||
| 62 | #endif | ||
| 63 | .endm | ||
| 64 | |||
| 65 | .macro waituart, rd, rx | ||
| 66 | #ifdef CONFIG_MSM_HAS_DEBUG_UART_HS | ||
| 67 | @ check for TX_EMT in UARTDM_SR | ||
| 68 | ldr \rd, [\rx, #0x08] | ||
| 69 | tst \rd, #0x08 | ||
| 70 | bne 1002f | ||
| 71 | @ wait for TXREADY in UARTDM_ISR | ||
| 72 | 1001: ldr \rd, [\rx, #0x14] | ||
| 73 | tst \rd, #0x80 | ||
| 74 | beq 1001b | ||
| 75 | 1002: | ||
| 76 | @ Clear TX_READY by writing to the UARTDM_CR register | ||
| 77 | mov \rd, #0x300 | ||
| 78 | str \rd, [\rx, #0x10] | ||
| 79 | @ Write 0x1 to NCF register | ||
| 80 | mov \rd, #0x1 | ||
| 81 | str \rd, [\rx, #0x40] | ||
| 82 | @ UARTDM reg. Read to induce delay | ||
| 83 | ldr \rd, [\rx, #0x08] | ||
| 84 | #else | ||
| 85 | @ wait for TX_READY | ||
| 86 | 1001: ldr \rd, [\rx, #0x08] | ||
| 87 | tst \rd, #0x04 | ||
| 88 | beq 1001b | ||
| 89 | #endif | ||
| 90 | .endm | ||
| 91 | |||
| 92 | .macro busyuart, rd, rx | ||
| 93 | .endm | ||
