Commit 7098cff2 authored by Ivan T. Ivanov's avatar Ivan T. Ivanov Committed by Kumar Gala

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: default avatarIvan T. Ivanov <iivanov@mm-sol.com>
Reviewed-by: default avatarStephen Boyd <sboyd@codeaurora.org>
Tested-by: default avatarStephen Boyd <sboyd@codeaurora.org>
Signed-off-by: default avatarKumar Gala <galak@codeaurora.org>
parent 7831c4b2
...@@ -349,56 +349,39 @@ choice ...@@ -349,56 +349,39 @@ choice
Say Y here if you want kernel low-level debugging support Say Y here if you want kernel low-level debugging support
on MMP UART3. on MMP UART3.
config DEBUG_MSM_UART1 config DEBUG_MSM_UART
bool "Kernel low-level debugging messages via MSM UART1" bool "Kernel low-level debugging messages via MSM UART"
depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 depends on ARCH_MSM
select DEBUG_MSM_UART
help help
Say Y here if you want the debug print routines to direct 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 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE #
bool "Kernel low-level debugging messages via MSM UART2" MSM7X00A, QSD8X50 0xa9a00000 0xe1000000 UART1
depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 MSM7X00A, QSD8X50 0xa9b00000 0xe1000000 UART2
select DEBUG_MSM_UART MSM7X00A, QSD8X50 0xa9c00000 0xe1000000 UART3
help
Say Y here if you want the debug print routines to direct
their output to the second serial port on MSM devices.
config DEBUG_MSM_UART3 MSM7X30 0xaca00000 0xe1000000 UART1
bool "Kernel low-level debugging messages via MSM UART3" MSM7X30 0xacb00000 0xe1000000 UART2
depends on ARCH_MSM7X00A || ARCH_MSM7X30 || ARCH_QSD8X50 MSM7X30 0xacc00000 0xe1000000 UART3
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.
config DEBUG_MSM8660_UART Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
bool "Kernel low-level debugging messages via MSM 8660 UART" options based on your needs.
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.
config DEBUG_MSM8960_UART config DEBUG_QCOM_UARTDM
bool "Kernel low-level debugging messages via MSM 8960 UART" bool "Kernel low-level debugging messages via QCOM UARTDM"
depends on ARCH_MSM8960 depends on ARCH_QCOM
select MSM_HAS_DEBUG_UART_HS
select DEBUG_MSM_UART
help help
Say Y here if you want the debug print routines to direct 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 ARCH DEBUG_UART_PHYS DEBUG_UART_BASE
bool "Kernel low-level debugging messages via MSM 8974 UART" MSM8X60 0x19c40000 0xf0040000
depends on ARCH_MSM8974 MSM8960 0x16440000 0xf0040000
select MSM_HAS_DEBUG_UART_HS MSM8974 0xf991e000 0xfa71e000
select DEBUG_MSM_UART
help Please adjust DEBUG_UART_PHYS and DEBUG_UART_BASE configuration
Say Y here if you want the debug print routines to direct options based on your needs.
their output to the serial port on MSM 8974 devices.
config DEBUG_MVEBU_UART config DEBUG_MVEBU_UART
bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)" bool "Kernel low-level debugging messages via MVEBU UART (old bootloaders)"
...@@ -950,10 +933,6 @@ config DEBUG_STI_UART ...@@ -950,10 +933,6 @@ config DEBUG_STI_UART
bool bool
depends on ARCH_STI depends on ARCH_STI
config DEBUG_MSM_UART
bool
depends on ARCH_MSM || ARCH_QCOM
config DEBUG_LL_INCLUDE config DEBUG_LL_INCLUDE
string string
default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250 default "debug/8250.S" if DEBUG_LL_UART_8250 || DEBUG_UART_8250
...@@ -971,7 +950,7 @@ config DEBUG_LL_INCLUDE ...@@ -971,7 +950,7 @@ config DEBUG_LL_INCLUDE
DEBUG_IMX53_UART ||\ DEBUG_IMX53_UART ||\
DEBUG_IMX6Q_UART || \ DEBUG_IMX6Q_UART || \
DEBUG_IMX6SL_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/omap2plus.S" if DEBUG_OMAP2PLUS_UART
default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1 default "debug/sirf.S" if DEBUG_SIRFPRIMA2_UART1 || DEBUG_SIRFMARCO_UART1
default "debug/sti.S" if DEBUG_STI_UART default "debug/sti.S" if DEBUG_STI_UART
...@@ -1035,6 +1014,7 @@ config DEBUG_UART_PHYS ...@@ -1035,6 +1014,7 @@ config DEBUG_UART_PHYS
default 0x80074000 if DEBUG_IMX28_UART default 0x80074000 if DEBUG_IMX28_UART
default 0x808c0000 if ARCH_EP93XX default 0x808c0000 if ARCH_EP93XX
default 0x90020000 if DEBUG_NSPIRE_CLASSIC_UART || DEBUG_NSPIRE_CX_UART 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 0xb0090000 if DEBUG_VEXPRESS_UART0_CRX
default 0xc0013000 if DEBUG_U300_UART default 0xc0013000 if DEBUG_U300_UART
default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN default 0xc8000000 if ARCH_IXP4XX && !CPU_BIG_ENDIAN
...@@ -1050,6 +1030,7 @@ config DEBUG_UART_PHYS ...@@ -1050,6 +1030,7 @@ config DEBUG_UART_PHYS
ARCH_ORION5X ARCH_ORION5X
default 0xf7fc9000 if DEBUG_BERLIN_UART default 0xf7fc9000 if DEBUG_BERLIN_UART
default 0xf8b00000 if DEBUG_HI3716_UART default 0xf8b00000 if DEBUG_HI3716_UART
default 0xf991e000 if DEBUG_QCOM_UARTDM
default 0xfcb00000 if DEBUG_HI3620_UART default 0xfcb00000 if DEBUG_HI3620_UART
default 0xfe800000 if ARCH_IOP32X default 0xfe800000 if ARCH_IOP32X
default 0xffc02000 if DEBUG_SOCFPGA_UART default 0xffc02000 if DEBUG_SOCFPGA_UART
...@@ -1058,11 +1039,13 @@ config DEBUG_UART_PHYS ...@@ -1058,11 +1039,13 @@ config DEBUG_UART_PHYS
default 0xfffff700 if ARCH_IOP33X default 0xfffff700 if ARCH_IOP33X
depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \
DEBUG_LL_UART_EFM32 || \ 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 config DEBUG_UART_VIRT
hex "Virtual base address of debug UART" hex "Virtual base address of debug UART"
default 0xe0010fe0 if ARCH_RPC default 0xe0010fe0 if ARCH_RPC
default 0xe1000000 if DEBUG_MSM_UART
default 0xf0000be0 if ARCH_EBSA110 default 0xf0000be0 if ARCH_EBSA110
default 0xf0009000 if DEBUG_CNS3XXX default 0xf0009000 if DEBUG_CNS3XXX
default 0xf01fb000 if DEBUG_NOMADIK_UART default 0xf01fb000 if DEBUG_NOMADIK_UART
...@@ -1078,6 +1061,7 @@ config DEBUG_UART_VIRT ...@@ -1078,6 +1061,7 @@ config DEBUG_UART_VIRT
default 0xf7fc9000 if DEBUG_BERLIN_UART default 0xf7fc9000 if DEBUG_BERLIN_UART
default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9 default 0xf8009000 if DEBUG_VEXPRESS_UART0_CA9
default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1 default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
default 0xfa71e000 if DEBUG_QCOM_UARTDM
default 0xfb009000 if DEBUG_REALVIEW_STD_PORT default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX default 0xfd000000 if ARCH_SPEAR3XX || ARCH_SPEAR6XX
...@@ -1116,7 +1100,8 @@ config DEBUG_UART_VIRT ...@@ -1116,7 +1100,8 @@ config DEBUG_UART_VIRT
default 0xff003000 if DEBUG_U300_UART default 0xff003000 if DEBUG_U300_UART
default DEBUG_UART_PHYS if !MMU default DEBUG_UART_PHYS if !MMU
depends on DEBUG_LL_UART_8250 || DEBUG_LL_UART_PL01X || \ 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 config DEBUG_UART_8250_SHIFT
int "Register offset shift for the 8250 debug UART" int "Register offset shift for the 8250 debug UART"
......
...@@ -15,51 +15,15 @@ ...@@ -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 .macro addruart, rp, rv, tmp
#ifdef MSM_DEBUG_UART_PHYS #ifdef CONFIG_DEBUG_UART_PHYS
ldr \rp, =MSM_DEBUG_UART_PHYS ldr \rp, =CONFIG_DEBUG_UART_PHYS
ldr \rv, =MSM_DEBUG_UART_BASE ldr \rv, =CONFIG_DEBUG_UART_VIRT
#endif #endif
.endm .endm
.macro senduart, rd, rx .macro senduart, rd, rx
#ifdef CONFIG_MSM_HAS_DEBUG_UART_HS #ifdef CONFIG_DEBUG_QCOM_UARTDM
@ Write the 1 character to UARTDM_TF @ Write the 1 character to UARTDM_TF
str \rd, [\rx, #0x70] str \rd, [\rx, #0x70]
#else #else
...@@ -68,7 +32,7 @@ ...@@ -68,7 +32,7 @@
.endm .endm
.macro waituart, rd, rx .macro waituart, rd, rx
#ifdef CONFIG_MSM_HAS_DEBUG_UART_HS #ifdef CONFIG_DEBUG_QCOM_UARTDM
@ check for TX_EMT in UARTDM_SR @ check for TX_EMT in UARTDM_SR
ldr \rd, [\rx, #0x08] ldr \rd, [\rx, #0x08]
tst \rd, #0x08 tst \rd, #0x08
......
...@@ -42,9 +42,6 @@ config ARCH_QSD8X50 ...@@ -42,9 +42,6 @@ config ARCH_QSD8X50
endchoice endchoice
config MSM_HAS_DEBUG_UART_HS
bool
config MSM_SOC_REV_A config MSM_SOC_REV_A
bool bool
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment