Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac237cd1 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'omap-for-v4.14/debug-ll-signed' of...

Merge tag 'omap-for-v4.14/debug-ll-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

Pull "Updates to for omap debug_ll code to use generic DEBUG_UART_8250 code" from Tony Lindgren:

The legacy code to try to detect the debug_ll uart based on machine
is no longer needed, and we can remove it. Note that the Kconfig
options stay the same, we just need to define the port configuration
now.

* tag 'omap-for-v4.14/debug-ll-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: debug: Use generic 8250 debug_ll for am3517 and am335x
  ARM: debug: Use generic 8250 debug_ll for ti81xx
  ARM: debug: Use generic 8250 debug_ll for omap3/4/5
  ARM: debug: Use generic 8250 debug_ll for omap2 and omap3/4/5 common uarts
parents a968bc52 51ef7003
Loading
Loading
Loading
Loading
+33 −11
Original line number Original line Diff line number Diff line
@@ -646,7 +646,7 @@ choice
	config DEBUG_OMAP2UART1
	config DEBUG_OMAP2UART1
		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
		bool "OMAP2/3/4 UART1 (omap2/3 sdp boards and some omap3 boards)"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250
		help
		help
		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
		  This covers at least h4, 2430sdp, 3430sdp, 3630sdp,
		  omap3 torpedo and 3530 lv som.
		  omap3 torpedo and 3530 lv som.
@@ -654,17 +654,17 @@ choice
	config DEBUG_OMAP2UART2
	config DEBUG_OMAP2UART2
		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
		bool "Kernel low-level debugging messages via OMAP2/3/4 UART2"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250


	config DEBUG_OMAP2UART3
	config DEBUG_OMAP2UART3
		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
		bool "Kernel low-level debugging messages via OMAP2 UART3 (n8x0)"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250


	config DEBUG_OMAP3UART3
	config DEBUG_OMAP3UART3
		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
		bool "Kernel low-level debugging messages via OMAP3 UART3 (most omap3 boards)"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250
		help
		help
		  This covers at least cm_t3x, beagle, crane, devkit8000,
		  This covers at least cm_t3x, beagle, crane, devkit8000,
		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
		  igep00x0, ldp, n900, n9(50), pandora, overo, touchbook,
@@ -673,17 +673,17 @@ choice
	config DEBUG_OMAP4UART3
	config DEBUG_OMAP4UART3
		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
		bool "Kernel low-level debugging messages via OMAP4/5 UART3 (omap4 blaze, panda, omap5 sevm)"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250


	config DEBUG_OMAP3UART4
	config DEBUG_OMAP3UART4
		bool "Kernel low-level debugging messages via OMAP36XX UART4"
		bool "Kernel low-level debugging messages via OMAP36XX UART4"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250


	config DEBUG_OMAP4UART4
	config DEBUG_OMAP4UART4
		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
		bool "Kernel low-level debugging messages via OMAP4/5 UART4"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250


	config DEBUG_OMAP7XXUART1
	config DEBUG_OMAP7XXUART1
		bool "Kernel low-level debugging via OMAP730 UART1"
		bool "Kernel low-level debugging via OMAP730 UART1"
@@ -712,22 +712,22 @@ choice
	config DEBUG_TI81XXUART1
	config DEBUG_TI81XXUART1
		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
		bool "Kernel low-level debugging messages via TI81XX UART1 (ti8148evm)"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250


	config DEBUG_TI81XXUART2
	config DEBUG_TI81XXUART2
		bool "Kernel low-level debugging messages via TI81XX UART2"
		bool "Kernel low-level debugging messages via TI81XX UART2"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250


	config DEBUG_TI81XXUART3
	config DEBUG_TI81XXUART3
		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
		bool "Kernel low-level debugging messages via TI81XX UART3 (ti8168evm)"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250


	config DEBUG_AM33XXUART1
	config DEBUG_AM33XXUART1
		bool "Kernel low-level debugging messages via AM33XX UART1"
		bool "Kernel low-level debugging messages via AM33XX UART1"
		depends on ARCH_OMAP2PLUS
		depends on ARCH_OMAP2PLUS
		select DEBUG_OMAP2PLUS_UART
		select DEBUG_UART_8250


	config DEBUG_ZOOM_UART
	config DEBUG_ZOOM_UART
		bool "Kernel low-level debugging messages via Zoom2/3 UART"
		bool "Kernel low-level debugging messages via Zoom2/3 UART"
@@ -1524,6 +1524,17 @@ config DEBUG_UART_PHYS
	default 0x40090000 if DEBUG_LPC32XX
	default 0x40090000 if DEBUG_LPC32XX
	default 0x40100000 if DEBUG_PXA_UART1
	default 0x40100000 if DEBUG_PXA_UART1
	default 0x42000000 if DEBUG_GEMINI
	default 0x42000000 if DEBUG_GEMINI
	default 0x44e09000 if DEBUG_AM33XXUART1
	default 0x48020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
	default 0x48022000 if DEBUG_TI81XXUART2
	default 0x48024000 if DEBUG_TI81XXUART3
	default 0x4806a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
				DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
	default 0x4806c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
				DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
	default 0x4806e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
	default 0x49020000 if DEBUG_OMAP3UART3
	default 0x49042000 if DEBUG_OMAP3UART4
	default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
	default 0x50000000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART0 || \
				DEBUG_S3C2410_UART0)
				DEBUG_S3C2410_UART0)
	default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
	default 0x50004000 if DEBUG_S3C24XX_UART && (DEBUG_S3C_UART1 || \
@@ -1642,10 +1653,21 @@ config DEBUG_UART_VIRT
	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
	default 0xf8090000 if DEBUG_VEXPRESS_UART0_RS1
	default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
	default 0xf8ffee00 if DEBUG_AT91_SAM9263_DBGU
	default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
	default 0xf8fff200 if DEBUG_AT91_RM9200_DBGU
	default 0xf9e09000 if DEBUG_AM33XXUART1
	default 0xfa020000 if DEBUG_OMAP4UART3 || DEBUG_TI81XXUART1
	default 0xfa022000 if DEBUG_TI81XXUART2
	default 0xfa024000 if DEBUG_TI81XXUART3
	default 0xfa06a000 if DEBUG_OMAP2UART1 || DEBUG_OMAP3UART1 || \
				DEBUG_OMAP4UART1 || DEBUG_OMAP5UART1
	default 0xfa06c000 if DEBUG_OMAP2UART2 || DEBUG_OMAP3UART2 || \
				DEBUG_OMAP4UART2 || DEBUG_OMAP5UART2
	default 0xfa06e000 if DEBUG_OMAP2UART3 || DEBUG_OMAP4UART4
	default 0xfa71e000 if DEBUG_QCOM_UARTDM
	default 0xfa71e000 if DEBUG_QCOM_UARTDM
	default 0xfb002000 if DEBUG_CNS3XXX
	default 0xfb002000 if DEBUG_CNS3XXX
	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
	default 0xfb009000 if DEBUG_REALVIEW_STD_PORT
	default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
	default 0xfb00c000 if DEBUG_AT91_SAMA5D4_USART3
	default 0xfb020000 if DEBUG_OMAP3UART3
	default 0xfb042000 if DEBUG_OMAP3UART4
	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
	default 0xfb10c000 if DEBUG_REALVIEW_PB1176_PORT
	default 0xfc705000 if DEBUG_ZTE_ZX
	default 0xfc705000 if DEBUG_ZTE_ZX
	default 0xfcfe8600 if DEBUG_BCM63XX_UART
	default 0xfcfe8600 if DEBUG_BCM63XX_UART
+0 −108
Original line number Original line Diff line number Diff line
@@ -12,43 +12,6 @@


#include <linux/serial_reg.h>
#include <linux/serial_reg.h>


/* OMAP2 serial ports */
#define OMAP2_UART1_BASE	0x4806a000
#define OMAP2_UART2_BASE	0x4806c000
#define OMAP2_UART3_BASE	0x4806e000

/* OMAP3 serial ports */
#define OMAP3_UART1_BASE	OMAP2_UART1_BASE
#define OMAP3_UART2_BASE	OMAP2_UART2_BASE
#define OMAP3_UART3_BASE	0x49020000
#define OMAP3_UART4_BASE	0x49042000	/* Only on 36xx */
#define OMAP3_UART4_AM35XX_BASE	0x4809E000	/* Only on AM35xx */

/* OMAP4 serial ports */
#define OMAP4_UART1_BASE	OMAP2_UART1_BASE
#define OMAP4_UART2_BASE	OMAP2_UART2_BASE
#define OMAP4_UART3_BASE	0x48020000
#define OMAP4_UART4_BASE	0x4806e000

/* TI81XX serial ports */
#define TI81XX_UART1_BASE	0x48020000
#define TI81XX_UART2_BASE	0x48022000
#define TI81XX_UART3_BASE	0x48024000

/* AM3505/3517 UART4 */
#define AM35XX_UART4_BASE	0x4809E000	/* Only on AM3505/3517 */

/* AM33XX serial port */
#define AM33XX_UART1_BASE	0x44E09000

/* OMAP5 serial ports */
#define OMAP5_UART1_BASE	OMAP2_UART1_BASE
#define OMAP5_UART2_BASE	OMAP2_UART2_BASE
#define OMAP5_UART3_BASE	OMAP4_UART3_BASE
#define OMAP5_UART4_BASE	OMAP4_UART4_BASE
#define OMAP5_UART5_BASE	0x48066000
#define OMAP5_UART6_BASE	0x48068000

/* External port on Zoom2/3 */
/* External port on Zoom2/3 */
#define ZOOM_UART_BASE		0x10000000
#define ZOOM_UART_BASE		0x10000000
#define ZOOM_UART_VIRT		0xfa400000
#define ZOOM_UART_VIRT		0xfa400000
@@ -79,55 +42,6 @@ omap_uart_lsr: .word 0
		bne	100f			@ already configured
		bne	100f			@ already configured


		/* Configure the UART offset from the phys/virt base */
		/* Configure the UART offset from the phys/virt base */
#ifdef CONFIG_DEBUG_OMAP2UART1
		mov	\rp, #UART_OFFSET(OMAP2_UART1_BASE)	@ omap2/3/4
		b	98f
#endif
#ifdef CONFIG_DEBUG_OMAP2UART2
		mov	\rp, #UART_OFFSET(OMAP2_UART2_BASE)	@ omap2/3/4
		b	98f
#endif
#ifdef CONFIG_DEBUG_OMAP2UART3
		mov	\rp, #UART_OFFSET(OMAP2_UART3_BASE)
		b	98f
#endif
#ifdef CONFIG_DEBUG_OMAP3UART3
		mov	\rp, #UART_OFFSET(OMAP3_UART1_BASE)
		add	\rp, \rp, #0x00fb0000
		add	\rp, \rp, #0x00006000		@ OMAP3_UART3_BASE
		b	98f
#endif
#ifdef CONFIG_DEBUG_OMAP4UART3
		mov	\rp, #UART_OFFSET(OMAP4_UART3_BASE)
		b	98f
#endif
#ifdef CONFIG_DEBUG_OMAP3UART4
		mov	\rp, #UART_OFFSET(OMAP3_UART1_BASE)
		add	\rp, \rp, #0x00fb0000
		add	\rp, \rp, #0x00028000		@ OMAP3_UART4_BASE
		b	98f
#endif
#ifdef CONFIG_DEBUG_OMAP4UART4
		mov	\rp, #UART_OFFSET(OMAP4_UART4_BASE)
		b	98f
#endif
#ifdef CONFIG_DEBUG_TI81XXUART1
		mov	\rp, #UART_OFFSET(TI81XX_UART1_BASE)
		b	98f
#endif
#ifdef CONFIG_DEBUG_TI81XXUART2
		mov	\rp, #UART_OFFSET(TI81XX_UART2_BASE)
		b	98f
#endif
#ifdef CONFIG_DEBUG_TI81XXUART3
		mov	\rp, #UART_OFFSET(TI81XX_UART3_BASE)
		b	98f
#endif
#ifdef CONFIG_DEBUG_AM33XXUART1
		ldr	\rp, =AM33XX_UART1_BASE
		and	\rp, \rp, #0x00ffffff
		b	97f
#endif
#ifdef CONFIG_DEBUG_ZOOM_UART
#ifdef CONFIG_DEBUG_ZOOM_UART
		ldr	\rp, =ZOOM_UART_BASE
		ldr	\rp, =ZOOM_UART_BASE
		str	\rp, [\tmp, #0]		@ omap_uart_phys
		str	\rp, [\tmp, #0]		@ omap_uart_phys
@@ -138,28 +52,6 @@ omap_uart_lsr: .word 0
#endif
#endif
		b	10b
		b	10b


		/* AM33XX: Store both phys and virt address for the uart */
97:		add	\rp, \rp, #0x44000000	@ phys base
		str	\rp, [\tmp, #0]		@ omap_uart_phys
		sub	\rp, \rp, #0x44000000	@ phys base
		add	\rp, \rp, #0xf9000000	@ virt base
		str	\rp, [\tmp, #4]		@ omap_uart_virt
		mov	\rp, #(UART_LSR << OMAP_PORT_SHIFT)
		str	\rp, [\tmp, #8]		@ omap_uart_lsr

		b	10b

		/* Store both phys and virt address for the uart */
98:		add	\rp, \rp, #0x48000000	@ phys base
		str	\rp, [\tmp, #0]		@ omap_uart_phys
		sub	\rp, \rp, #0x48000000	@ phys base
		add	\rp, \rp, #0xfa000000	@ virt base
		str	\rp, [\tmp, #4]		@ omap_uart_virt
		mov	\rp, #(UART_LSR << OMAP_PORT_SHIFT)
		str	\rp, [\tmp, #8]		@ omap_uart_lsr

		b	10b

		.align
		.align
99:		.word	.
99:		.word	.
		.word	omap_uart_phys
		.word	omap_uart_phys