diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 12:38:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-05-02 12:38:16 -0400 |
commit | 99c6bcf46d2233d33e441834e958ed0bc22b190a (patch) | |
tree | 25abf5e856bc0f08d75e623715eb5acc4d4de2b2 /arch/arm/include/debug/sirf.S | |
parent | 97b1007a2924aaa9126398623f6755a8c3c6a616 (diff) | |
parent | 2fdfe1c26fb9f24cfdf124384abb35396ca2cd3f (diff) |
Merge tag 'multiplatform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC multiplatform updates from Olof Johansson:
"More multiplatform enablement for ARM platforms. The ones converted
in this branch are:
- bcm2835
- cns3xxx
- sirf
- nomadik
- msx
- spear
- tegra
- ux500
We're getting close to having most of them converted!
One of the larger platforms remaining is Samsung Exynos, and there are
a bunch of supporting patches in this merge window for it. There was
a patch in this branch to a early version of multiplatform conversion,
but it ended up being reverted due to need of more bake time. The
revert commit is part of the branch since it would have required
rebasing multiple dependent branches and they were stable by then"
* tag 'multiplatform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (70 commits)
mmc: sdhci-s3c: Fix operation on non-single image Samsung platforms
clocksource: nomadik-mtu: fix up clocksource/timer
Revert "ARM: exynos: enable multiplatform support"
ARM: SPEAr13xx: Fix typo "ARCH_HAVE_CPUFREQ"
ARM: exynos: enable multiplatform support
rtc: s3c: make header file local
mtd: onenand/samsung: make regs-onenand.h file local
thermal/exynos: remove unnecessary header inclusions
mmc: sdhci-s3c: remove platform dependencies
ARM: samsung: move mfc device definition to s5p-dev-mfc.c
ARM: exynos: move debug-macro.S to include/debug/
ARM: exynos: prepare for sparse IRQ
ARM: exynos: introduce EXYNOS_ATAGS symbol
ARM: tegra: build assembly files with -march=armv7-a
ARM: Push selects for TWD/SCU into machine entries
ARM: ux500: build hotplug.o for ARMv7-a
ARM: ux500: move to multiplatform
ARM: ux500: make remaining headers local
ARM: ux500: make irqs.h local to platform
ARM: ux500: get rid of <mach/[hardware|db8500-regs].h>
...
Diffstat (limited to 'arch/arm/include/debug/sirf.S')
-rw-r--r-- | arch/arm/include/debug/sirf.S | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/arch/arm/include/debug/sirf.S b/arch/arm/include/debug/sirf.S new file mode 100644 index 000000000000..dbf250cf18e6 --- /dev/null +++ b/arch/arm/include/debug/sirf.S | |||
@@ -0,0 +1,42 @@ | |||
1 | /* | ||
2 | * arch/arm/mach-prima2/include/mach/debug-macro.S | ||
3 | * | ||
4 | * Copyright (c) 2011 Cambridge Silicon Radio Limited, a CSR plc group company. | ||
5 | * | ||
6 | * Licensed under GPLv2 or later. | ||
7 | */ | ||
8 | |||
9 | #if defined(CONFIG_DEBUG_SIRFPRIMA2_UART1) | ||
10 | #define SIRFSOC_UART1_PA_BASE 0xb0060000 | ||
11 | #elif defined(CONFIG_DEBUG_SIRFMARCO_UART1) | ||
12 | #define SIRFSOC_UART1_PA_BASE 0xcc060000 | ||
13 | #else | ||
14 | #define SIRFSOC_UART1_PA_BASE 0 | ||
15 | #endif | ||
16 | |||
17 | #define SIRFSOC_UART1_VA_BASE 0xFEC60000 | ||
18 | |||
19 | #define SIRFSOC_UART_TXFIFO_STATUS 0x0114 | ||
20 | #define SIRFSOC_UART_TXFIFO_DATA 0x0118 | ||
21 | |||
22 | #define SIRFSOC_UART1_TXFIFO_FULL (1 << 5) | ||
23 | #define SIRFSOC_UART1_TXFIFO_EMPTY (1 << 6) | ||
24 | |||
25 | .macro addruart, rp, rv, tmp | ||
26 | ldr \rp, =SIRFSOC_UART1_PA_BASE @ physical | ||
27 | ldr \rv, =SIRFSOC_UART1_VA_BASE @ virtual | ||
28 | .endm | ||
29 | |||
30 | .macro senduart,rd,rx | ||
31 | str \rd, [\rx, #SIRFSOC_UART_TXFIFO_DATA] | ||
32 | .endm | ||
33 | |||
34 | .macro busyuart,rd,rx | ||
35 | .endm | ||
36 | |||
37 | .macro waituart,rd,rx | ||
38 | 1001: ldr \rd, [\rx, #SIRFSOC_UART_TXFIFO_STATUS] | ||
39 | tst \rd, #SIRFSOC_UART1_TXFIFO_EMPTY | ||
40 | beq 1001b | ||
41 | .endm | ||
42 | |||