aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2014-05-23 15:32:29 -0400
committerArnd Bergmann <arnd@arndb.de>2014-05-23 15:56:57 -0400
commit8ad0bbd8696904c34a1fb266a25efe2be818c0c7 (patch)
treed1b58d1d47a40f267c3ef195831786fcceec91a9
parent37f5f4e17399ffb572af3834b8045c5391a5bf0b (diff)
parent87cfb00d666cca3abf36f755279cde1b27b9c377 (diff)
Merge tag 'qcom-soc-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/soc
Merge "Qualcomm ARM Based SoC Updates for v3.16" from Kumar Gala: * Enabling building pinctrl and AMBA bus support * Clean up debug UART selection * tag 'qcom-soc-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: qcom: Select PINCTRL by default for ARCH_QCOM ARM: debug: qcom: make UART address selection configuration option ARM: qcom: Enable ARM_AMBA option for Qualcomm SOCs. Conflicts: arch/arm/Kconfig.debug arch/arm/mach-qcom/Kconfig Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--arch/arm/Kconfig.debug81
-rw-r--r--arch/arm/include/debug/msm.S46
-rw-r--r--arch/arm/mach-msm/Kconfig3
-rw-r--r--arch/arm/mach-qcom/Kconfig2
4 files changed, 40 insertions, 92 deletions
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
index 4dd565f84f6f..6ff3dc661fdd 100644
--- a/arch/arm/Kconfig.debug
+++ b/arch/arm/Kconfig.debug
@@ -356,56 +356,39 @@ choice
356 Say Y here if you want kernel low-level debugging support 356 Say Y here if you want kernel low-level debugging support
357 on MMP UART3. 357 on MMP UART3.
358 358
359 config DEBUG_MSM_UART1 359 config DEBUG_MSM_UART
360 bool "Kernel low-level debugging messages via MSM UART1" 360 bool "Kernel low-level debugging messages via MSM UART"
361 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 361 depends on ARCH_MSM
362 select DEBUG_MSM_UART
363 help 362 help
364 Say Y here if you want the debug print routines to direct 363 Say Y here if you want the debug print routines to direct
365 their output to the first serial port on MSM devices. 364 their output to the serial port on MSM devices.
366 365
367 config DEBUG_MSM_UART2 366 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE #
368 bool "Kernel low-level debugging messages via MSM UART2" 367 MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1
369 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 368 MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2
370 select DEBUG_MSM_UART 369 MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3
371 help
372 Say Y here if you want the debug print routines to direct
373 their output to the second serial port on MSM devices.
374 370
375 config DEBUG_MSM_UART3 371 MSM7X30 0xaca00000 0xe1000000 UART1
376 bool "Kernel low-level debugging messages via MSM UART3" 372 MSM7X30 0xacb00000 0xe1000000 UART2
377 depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 373 MSM7X30 0xacc00000 0xe1000000 UART3
378 select DEBUG_MSM_UART
379 help
380 Say Y here if you want the debug print routines to direct
381 their output to the third serial port on MSM devices.
382 374
383 config DEBUG_MSM8660_UART 375 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
384 bool "Kernel low-level debugging messages via MSM 8660 UART" 376 options based on your needs.
385 depends on ARCH_MSM8X60
386 select MSM_HAS_DEBUG_UART_HS
387 select DEBUG_MSM_UART
388 help
389 Say Y here if you want the debug print routines to direct
390 their output to the serial port on MSM 8660 devices.
391 377
392 config DEBUG_MSM8960_UART 378 config DEBUG_QCOM_UARTDM
393 bool "Kernel low-level debugging messages via MSM 8960 UART" 379 bool "Kernel low-level debugging messages via QCOM UARTDM"
394 depends on ARCH_MSM8960 380 depends on ARCH_QCOM
395 select MSM_HAS_DEBUG_UART_HS
396 select DEBUG_MSM_UART
397 help 381 help
398 Say Y here if you want the debug print routines to direct 382 Say Y here if you want the debug print routines to direct
399 their output to the serial port on MSM 8960 devices. 383 their output to the serial port on Qualcomm devices.
400 384
401 config DEBUG_MSM8974_UART 385 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE
402 bool "Kernel low-level debugging messages via MSM 8974 UART" 386 MSM8X60 0x19c40000 0xf0040000
403 depends on ARCH_MSM8974 387 MSM8960 0x16440000 0xf0040000
404 select MSM_HAS_DEBUG_UART_HS 388 MSM8974 0xf991e000 0xfa71e000
405 select DEBUG_MSM_UART 389
406 help 390 Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
407 Say Y here if you want the debug print routines to direct 391 options based on your needs.
408 their output to the serial port on MSM 8974 devices.
409 392
410 config DEBUG_MVEBU_UART 393 config DEBUG_MVEBU_UART
411 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)" 394 bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
@@ -967,10 +950,6 @@ config DEBUG_STI_UART
967 bool 950 bool
968 depends on ARCH_STI 951 depends on ARCH_STI
969 952
970config DEBUG_MSM_UART
971 bool
972 depends on ARCH_MSM || ARCH_QCOM
973
974config DEBUG_LL_INCLUDE 953config DEBUG_LL_INCLUDE
975 string 954 string
976 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250 955 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
@@ -989,7 +968,7 @@ config DEBUG_LL_INCLUDE
989 DEBUG_IMX6Q_UART || \ 968 DEBUG_IMX6Q_UART || \
990 DEBUG_IMX6SL_UART || \ 969 DEBUG_IMX6SL_UART || \
991 DEBUG_IMX6SX_UART 970 DEBUG_IMX6SX_UART
992 default "debug/msm.S" if DEBUG_MSM_UART 971 default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
993 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART 972 default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
994 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1 973 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
995 default "debug/sti.S" if DEBUG_STI_UART 974 default "debug/sti.S" if DEBUG_STI_UART
@@ -1053,6 +1032,7 @@ config DEBUG_UART_PHYS
1053 default 0x80230000 if DEBUG_PICOXCELL_UART 1032 default 0x80230000 if DEBUG_PICOXCELL_UART
1054 default 0x808c0000 if ARCH_EP93XX 1033 default 0x808c0000 if ARCH_EP93XX
1055 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART 1034 default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
1035 default 0xa9a00000 if DEBUG_MSM_UART
1056 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX 1036 default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
1057 default 0xc0013000 if DEBUG_U300_UART 1037 default 0xc0013000 if DEBUG_U300_UART
1058 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN 1038 default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
@@ -1068,6 +1048,7 @@ config DEBUG_UART_PHYS
1068 ARCH_ORION5X 1048 ARCH_ORION5X
1069 default 0xf7fc9000 if DEBUG_BERLIN_UART 1049 default 0xf7fc9000 if DEBUG_BERLIN_UART
1070 default 0xf8b00000 if DEBUG_HI3716_UART 1050 default 0xf8b00000 if DEBUG_HI3716_UART
1051 default 0xf991e000 if DEBUG_QCOM_UARTDM
1071 default 0xfcb00000 if DEBUG_HI3620_UART 1052 default 0xfcb00000 if DEBUG_HI3620_UART
1072 default 0xfe800000 if ARCH_IOP32X 1053 default 0xfe800000 if ARCH_IOP32X
1073 default 0xffc02000 if DEBUG_SOCFPGA_UART 1054 default 0xffc02000 if DEBUG_SOCFPGA_UART
@@ -1076,11 +1057,13 @@ config DEBUG_UART_PHYS
1076 default 0xfffff700 if ARCH_IOP33X 1057 default 0xfffff700 if ARCH_IOP33X
1077 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ 1058 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1078 DEBUG_LL_UART_EFM32 || \ 1059 DEBUG_LL_UART_EFM32 || \
1079 DEBUG_UART_8250 || DEBUG_UART_PL01X 1060 DEBUG_UART_8250 || DEBUG_UART_PL01X || \
1061 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1080 1062
1081config DEBUG_UART_VIRT 1063config DEBUG_UART_VIRT
1082 hex "Virtual base address of debug UART" 1064 hex "Virtual base address of debug UART"
1083 default 0xe0010fe0 if ARCH_RPC 1065 default 0xe0010fe0 if ARCH_RPC
1066 default 0xe1000000 if DEBUG_MSM_UART
1084 default 0xf0000be0 if ARCH_EBSA110 1067 default 0xf0000be0 if ARCH_EBSA110
1085 default 0xf0009000 if DEBUG_CNS3XXX 1068 default 0xf0009000 if DEBUG_CNS3XXX
1086 default 0xf01fb000 if DEBUG_NOMADIK_UART 1069 default 0xf01fb000 if DEBUG_NOMADIK_UART
@@ -1096,6 +1079,7 @@ config DEBUG_UART_VIRT
1096 default 0xf7fc9000 if DEBUG_BERLIN_UART 1079 default 0xf7fc9000 if DEBUG_BERLIN_UART
1097 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9 1080 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
1098 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1 1081 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
1082 default 0xfa71e000 if DEBUG_QCOM_UARTDM
1099 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT 1083 default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
1100 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT 1084 default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
1101 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX 1085 default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
@@ -1134,7 +1118,8 @@ config DEBUG_UART_VIRT
1134 default 0xff003000 if DEBUG_U300_UART 1118 default 0xff003000 if DEBUG_U300_UART
1135 default DEBUG_UART_PHYS if !MMU 1119 default DEBUG_UART_PHYS if !MMU
1136 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ 1120 depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
1137 DEBUG_UART_8250 || DEBUG_UART_PL01X 1121 DEBUG_UART_8250 || DEBUG_UART_PL01X || \
1122 DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
1138 1123
1139config DEBUG_UART_8250_SHIFT 1124config DEBUG_UART_8250_SHIFT
1140 int "Register offset shift for the 8250 debug UART" 1125 int "Register offset shift for the 8250 debug UART"
diff --git a/arch/arm/include/debug/msm.S b/arch/arm/include/debug/msm.S
index 9d653d475903..9ef57612811d 100644
--- a/arch/arm/include/debug/msm.S
+++ b/arch/arm/include/debug/msm.S
@@ -15,51 +15,15 @@
15 * 15 *
16 */ 16 */
17 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#ifdef CONFIG_DEBUG_MSM8974_UART
50#define MSM_DEBUG_UART_BASE 0xFA71E000
51#define MSM_DEBUG_UART_PHYS 0xF991E000
52#endif
53
54 .macro addruart, rp, rv, tmp 18 .macro addruart, rp, rv, tmp
55#ifdef MSM_DEBUG_UART_PHYS 19#ifdef CONFIG_DEBUG_UART_PHYS
56 ldr \rp, =MSM_DEBUG_UART_PHYS 20 ldr \rp, =CONFIG_DEBUG_UART_PHYS
57 ldr \rv, =MSM_DEBUG_UART_BASE 21 ldr \rv, =CONFIG_DEBUG_UART_VIRT
58#endif 22#endif
59 .endm 23 .endm
60 24
61 .macro senduart, rd, rx 25 .macro senduart, rd, rx
62#ifdef CONFIG_MSM_HAS_DEBUG_UART_HS 26#ifdef CONFIG_DEBUG_QCOM_UARTDM
63 @ Write the 1 character to UARTDM_TF 27 @ Write the 1 character to UARTDM_TF
64 str \rd, [\rx, #0x70] 28 str \rd, [\rx, #0x70]
65#else 29#else
@@ -68,7 +32,7 @@
68 .endm 32 .endm
69 33
70 .macro waituart, rd, rx 34 .macro waituart, rd, rx
71#ifdef CONFIG_MSM_HAS_DEBUG_UART_HS 35#ifdef CONFIG_DEBUG_QCOM_UARTDM
72 @ check for TX_EMT in UARTDM_SR 36 @ check for TX_EMT in UARTDM_SR
73 ldr \rd, [\rx, #0x08] 37 ldr \rd, [\rx, #0x08]
74 tst \rd, #0x08 38 tst \rd, #0x08
diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
index a7f959e58c3d..9b26976fb084 100644
--- a/arch/arm/mach-msm/Kconfig
+++ b/arch/arm/mach-msm/Kconfig
@@ -42,9 +42,6 @@ config ARCH_QSD8X50
42 42
43endchoice 43endchoice
44 44
45config MSM_HAS_DEBUG_UART_HS
46 bool
47
48config MSM_SOC_REV_A 45config MSM_SOC_REV_A
49 bool 46 bool
50 47
diff --git a/arch/arm/mach-qcom/Kconfig b/arch/arm/mach-qcom/Kconfig
index 6aa22147cace..fd2b99dceb89 100644
--- a/arch/arm/mach-qcom/Kconfig
+++ b/arch/arm/mach-qcom/Kconfig
@@ -2,7 +2,9 @@ config ARCH_QCOM
2 bool "Qualcomm Support" if ARCH_MULTI_V7 2 bool "Qualcomm Support" if ARCH_MULTI_V7
3 select ARCH_REQUIRE_GPIOLIB 3 select ARCH_REQUIRE_GPIOLIB
4 select ARM_GIC 4 select ARM_GIC
5 select ARM_AMBA
5 select CLKSRC_OF 6 select CLKSRC_OF
7 select PINCTRL
6 select QCOM_SCM if SMP 8 select QCOM_SCM if SMP
7 help 9 help
8 Support for Qualcomm's devicetree based systems. 10 Support for Qualcomm's devicetree based systems.