aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-08-30 09:32:58 +0000
committerJohn Crispin <john@openwrt.org>2014-08-30 09:32:58 +0000
commit3c1f6e358d4f1da4cf79083996544ce909f21b5f (patch)
tree212892dbf4b51bc026d8aca5a12f45cafcef1b84 /target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch
parent926f000b99d31b9d4495c112149377c0da66dbc1 (diff)
downloadupstream-3c1f6e358d4f1da4cf79083996544ce909f21b5f.tar.gz
upstream-3c1f6e358d4f1da4cf79083996544ce909f21b5f.tar.bz2
upstream-3c1f6e358d4f1da4cf79083996544ce909f21b5f.zip
ipq806x: Add support for IPQ806x chip family
Patches are generated using the "format-patch" command from the following location: *https://www.codeaurora.org/cgit/quic/kernel/galak-msm/log/?h=apq_ipq_base *rev=0771849495b4128cac2faf7d49c85c729fc48b20 Patches numbered 76/77/102/103 have already been integrated in 3.14.12, so they're not in this list. All these patches are either integrated are pending integration into kernel.org, therefore these patches should go away once the kernel gets upgraded to 3.16. Support is currently limited to AP148 board but can be extended to other platforms in the future. These changes do not cover ethernet connectivity. Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org> SVN-Revision: 42334
Diffstat (limited to 'target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch')
-rw-r--r--target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch267
1 files changed, 267 insertions, 0 deletions
diff --git a/target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch b/target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch
new file mode 100644
index 0000000000..2f9cad735e
--- /dev/null
+++ b/target/linux/ipq806x/patches/0097-ARM-debug-qcom-make-UART-address-selection-configura.patch
@@ -0,0 +1,267 @@
+From 48167d4a55890a783cc8b1590bc8071253ae4b83 Mon Sep 17 00:00:00 2001
+From: "Ivan T. Ivanov" <iivanov@mm-sol.com>
+Date: Mon, 14 Apr 2014 16:47:34 +0300
+Subject: [PATCH 097/182] ARM: debug: qcom: make UART address selection
+ configuration option
+
+Separate Qualcomm low-level debugging UART to two options.
+
+DEBUG_MSM_UART is used in earlier non-multi platform arches,
+like MSM7X00A, QSD8X50 and MSM7X30.
+
+DEBUG_QCOM_UARTDM is used in multi-plafrom arches and have
+embedded data mover.
+
+Make DEBUG_UART_PHYS and DEBUG_UART_BASE user adjustable by
+Kconfig menu.
+
+Signed-off-by: Ivan T. Ivanov <iivanov@mm-sol.com>
+Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
+Tested-by: Stephen Boyd <sboyd@codeaurora.org>
+Signed-off-by: Kumar Gala <galak@codeaurora.org>
+---
+ arch/arm/Kconfig.debug | 81 +++++++++++++++++-------------------------
+ arch/arm/include/debug/msm.S | 46 +++---------------------
+ arch/arm/mach-msm/Kconfig | 3 --
+ 3 files changed, 38 insertions(+), 92 deletions(-)
+
+diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
+index 4491c7b..1a5895d 100644
+--- a/arch/arm/Kconfig.debug
++++ b/arch/arm/Kconfig.debug
+@@ -353,56 +353,39 @@ choice
+ Say Y here if you want kernel low-level debugging support
+ on MMP UART3.
+
+- config DEBUG_MSM_UART1
+- bool "Kernel low-level debugging messages via MSM UART1"
+- depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
+- select DEBUG_MSM_UART
++ config DEBUG_MSM_UART
++ bool "Kernel low-level debugging messages via MSM UART"
++ depends on ARCH_MSM
+ help
+ Say Y here if you want the debug print routines to direct
+- their output to the first serial port on MSM devices.
++ their output to the serial port on MSM devices.
+
+- config DEBUG_MSM_UART2
+- bool "Kernel low-level debugging messages via MSM UART2"
+- depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
+- select DEBUG_MSM_UART
+- help
+- Say Y here if you want the debug print routines to direct
+- their output to the second serial port on MSM devices.
++ ARCH DEBUG_UART_PHYS DEBUG_UART_BASE #
++ MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1
++ MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2
++ MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3
+
+- config DEBUG_MSM_UART3
+- bool "Kernel low-level debugging messages via MSM UART3"
+- depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50
+- select DEBUG_MSM_UART
+- help
+- Say Y here if you want the debug print routines to direct
+- their output to the third serial port on MSM devices.
++ MSM7X30 0xaca00000 0xe1000000 UART1
++ MSM7X30 0xacb00000 0xe1000000 UART2
++ MSM7X30 0xacc00000 0xe1000000 UART3
+
+- config DEBUG_MSM8660_UART
+- bool "Kernel low-level debugging messages via MSM 8660 UART"
+- depends on ARCH_MSM8X60
+- select MSM_HAS_DEBUG_UART_HS
+- select DEBUG_MSM_UART
+- help
+- Say Y here if you want the debug print routines to direct
+- their output to the serial port on MSM 8660 devices.
++ Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
++ options based on your needs.
+
+- config DEBUG_MSM8960_UART
+- bool "Kernel low-level debugging messages via MSM 8960 UART"
+- depends on ARCH_MSM8960
+- select MSM_HAS_DEBUG_UART_HS
+- select DEBUG_MSM_UART
++ config DEBUG_QCOM_UARTDM
++ bool "Kernel low-level debugging messages via QCOM UARTDM"
++ depends on ARCH_QCOM
+ help
+ Say Y here if you want the debug print routines to direct
+- their output to the serial port on MSM 8960 devices.
++ their output to the serial port on Qualcomm devices.
+
+- config DEBUG_MSM8974_UART
+- bool "Kernel low-level debugging messages via MSM 8974 UART"
+- depends on ARCH_MSM8974
+- select MSM_HAS_DEBUG_UART_HS
+- select DEBUG_MSM_UART
+- help
+- Say Y here if you want the debug print routines to direct
+- their output to the serial port on MSM 8974 devices.
++ ARCH DEBUG_UART_PHYS DEBUG_UART_BASE
++ MSM8X60 0x19c40000 0xf0040000
++ MSM8960 0x16440000 0xf0040000
++ MSM8974 0xf991e000 0xfa71e000
++
++ Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
++ options based on your needs.
+
+ config DEBUG_MVEBU_UART
+ bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
+@@ -954,10 +937,6 @@ config DEBUG_STI_UART
+ bool
+ depends on ARCH_STI
+
+-config DEBUG_MSM_UART
+- bool
+- depends on ARCH_MSM || ARCH_QCOM
+-
+ config DEBUG_LL_INCLUDE
+ string
+ default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
+@@ -975,7 +954,7 @@ config DEBUG_LL_INCLUDE
+ DEBUG_IMX53_UART ||\
+ DEBUG_IMX6Q_UART || \
+ DEBUG_IMX6SL_UART
+- default "debug/msm.S" if DEBUG_MSM_UART
++ default "debug/msm.S" if DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
+ default "debug/omap2plus.S" if DEBUG_OMAP2PLUS_UART
+ default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
+ default "debug/sti.S" if DEBUG_STI_UART
+@@ -1039,6 +1018,7 @@ config DEBUG_UART_PHYS
+ default 0x80074000 if DEBUG_IMX28_UART
+ default 0x808c0000 if ARCH_EP93XX
+ default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART
++ default 0xa9a00000 if DEBUG_MSM_UART
+ default 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
+ default 0xc0013000 if DEBUG_U300_UART
+ default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
+@@ -1054,6 +1034,7 @@ config DEBUG_UART_PHYS
+ ARCH_ORION5X
+ default 0xf7fc9000 if DEBUG_BERLIN_UART
+ default 0xf8b00000 if DEBUG_HI3716_UART
++ default 0xf991e000 if DEBUG_QCOM_UARTDM
+ default 0xfcb00000 if DEBUG_HI3620_UART
+ default 0xfe800000 if ARCH_IOP32X
+ default 0xffc02000 if DEBUG_SOCFPGA_UART
+@@ -1062,11 +1043,13 @@ config DEBUG_UART_PHYS
+ default 0xfffff700 if ARCH_IOP33X
+ depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
+ DEBUG_LL_UART_EFM32 || \
+- DEBUG_UART_8250 || DEBUG_UART_PL01X
++ DEBUG_UART_8250 || DEBUG_UART_PL01X || \
++ DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
+
+ config DEBUG_UART_VIRT
+ hex "Virtual base address of debug UART"
+ default 0xe0010fe0 if ARCH_RPC
++ default 0xe1000000 if DEBUG_MSM_UART
+ default 0xf0000be0 if ARCH_EBSA110
+ default 0xf0009000 if DEBUG_CNS3XXX
+ default 0xf01fb000 if DEBUG_NOMADIK_UART
+@@ -1081,6 +1064,7 @@ config DEBUG_UART_VIRT
+ default 0xf7fc9000 if DEBUG_BERLIN_UART
+ default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
+ default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
++ default 0xfa71e000 if DEBUG_QCOM_UARTDM
+ default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
+ default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
+ default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
+@@ -1120,7 +1104,8 @@ config DEBUG_UART_VIRT
+ default 0xff003000 if DEBUG_U300_UART
+ default DEBUG_UART_PHYS if !MMU
+ depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
+- DEBUG_UART_8250 || DEBUG_UART_PL01X
++ DEBUG_UART_8250 || DEBUG_UART_PL01X || \
++ DEBUG_MSM_UART || DEBUG_QCOM_UARTDM
+
+ config DEBUG_UART_8250_SHIFT
+ 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 9d653d4..9ef5761 100644
+--- a/arch/arm/include/debug/msm.S
++++ b/arch/arm/include/debug/msm.S
+@@ -15,51 +15,15 @@
+ *
+ */
+
+-#if defined(CONFIG_ARCH_MSM7X00A) || defined(CONFIG_ARCH_QSD8X50)
+-#define MSM_UART1_PHYS 0xA9A00000
+-#define MSM_UART2_PHYS 0xA9B00000
+-#define MSM_UART3_PHYS 0xA9C00000
+-#elif defined(CONFIG_ARCH_MSM7X30)
+-#define MSM_UART1_PHYS 0xACA00000
+-#define MSM_UART2_PHYS 0xACB00000
+-#define MSM_UART3_PHYS 0xACC00000
+-#endif
+-
+-#if defined(CONFIG_DEBUG_MSM_UART1)
+-#define MSM_DEBUG_UART_BASE 0xE1000000
+-#define MSM_DEBUG_UART_PHYS MSM_UART1_PHYS
+-#elif defined(CONFIG_DEBUG_MSM_UART2)
+-#define MSM_DEBUG_UART_BASE 0xE1000000
+-#define MSM_DEBUG_UART_PHYS MSM_UART2_PHYS
+-#elif defined(CONFIG_DEBUG_MSM_UART3)
+-#define MSM_DEBUG_UART_BASE 0xE1000000
+-#define MSM_DEBUG_UART_PHYS MSM_UART3_PHYS
+-#endif
+-
+-#ifdef CONFIG_DEBUG_MSM8660_UART
+-#define MSM_DEBUG_UART_BASE 0xF0040000
+-#define MSM_DEBUG_UART_PHYS 0x19C40000
+-#endif
+-
+-#ifdef CONFIG_DEBUG_MSM8960_UART
+-#define MSM_DEBUG_UART_BASE 0xF0040000
+-#define MSM_DEBUG_UART_PHYS 0x16440000
+-#endif
+-
+-#ifdef CONFIG_DEBUG_MSM8974_UART
+-#define MSM_DEBUG_UART_BASE 0xFA71E000
+-#define MSM_DEBUG_UART_PHYS 0xF991E000
+-#endif
+-
+ .macro addruart, rp, rv, tmp
+-#ifdef MSM_DEBUG_UART_PHYS
+- ldr \rp, =MSM_DEBUG_UART_PHYS
+- ldr \rv, =MSM_DEBUG_UART_BASE
++#ifdef CONFIG_DEBUG_UART_PHYS
++ ldr \rp, =CONFIG_DEBUG_UART_PHYS
++ ldr \rv, =CONFIG_DEBUG_UART_VIRT
+ #endif
+ .endm
+
+ .macro senduart, rd, rx
+-#ifdef CONFIG_MSM_HAS_DEBUG_UART_HS
++#ifdef CONFIG_DEBUG_QCOM_UARTDM
+ @ Write the 1 character to UARTDM_TF
+ str \rd, [\rx, #0x70]
+ #else
+@@ -68,7 +32,7 @@
+ .endm
+
+ .macro waituart, rd, rx
+-#ifdef CONFIG_MSM_HAS_DEBUG_UART_HS
++#ifdef CONFIG_DEBUG_QCOM_UARTDM
+ @ check for TX_EMT in UARTDM_SR
+ ldr \rd, [\rx, #0x08]
+ tst \rd, #0x08
+diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig
+index a7f959e..9b26976 100644
+--- a/arch/arm/mach-msm/Kconfig
++++ b/arch/arm/mach-msm/Kconfig
+@@ -42,9 +42,6 @@ config ARCH_QSD8X50
+
+ endchoice
+
+-config MSM_HAS_DEBUG_UART_HS
+- bool
+-
+ config MSM_SOC_REV_A
+ bool
+
+--
+1.7.10.4
+