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>
This commit is contained in:
parent
7831c4b2a1
commit
7098cff2a3
|
@ -349,56 +349,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)"
|
||||
|
@ -950,10 +933,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
|
||||
|
@ -971,7 +950,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
|
||||
|
@ -1035,6 +1014,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
|
||||
|
@ -1050,6 +1030,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
|
||||
|
@ -1058,11 +1039,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
|
||||
|
@ -1078,6 +1061,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
|
||||
|
@ -1116,7 +1100,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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -42,9 +42,6 @@ config ARCH_QSD8X50
|
|||
|
||||
endchoice
|
||||
|
||||
config MSM_HAS_DEBUG_UART_HS
|
||||
bool
|
||||
|
||||
config MSM_SOC_REV_A
|
||||
bool
|
||||
|
||||
|
|
Loading…
Reference in New Issue