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

Commit 9bed3e05 authored by Linus Walleij's avatar Linus Walleij
Browse files

ARM: ux500: make debug macro stand-alone



This pushes the knowledge of physical addresses down into
the debug macro so we can get rid of the <mach/hardware.h>
dependency.

Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent f87b95dd
Loading
Loading
Loading
Loading
+16 −7
Original line number Diff line number Diff line
@@ -8,7 +8,7 @@
 * published by the Free Software Foundation.
 *
 */
#include <mach/hardware.h>


#if CONFIG_UX500_DEBUG_UART > 2
#error Invalid Ux500 debug UART
@@ -21,19 +21,28 @@
 */

#ifdef CONFIG_UX500_SOC_DB8500
#define __UX500_UART(n)	U8500_UART##n##_BASE
#define U8500_UART0_PHYS_BASE	(0x80120000)
#define U8500_UART1_PHYS_BASE	(0x80121000)
#define U8500_UART2_PHYS_BASE	(0x80007000)
#define U8500_UART0_VIRT_BASE	(0xa8120000)
#define U8500_UART1_VIRT_BASE	(0xa8121000)
#define U8500_UART2_VIRT_BASE	(0xa8007000)
#define __UX500_PHYS_UART(n)	U8500_UART##n##_PHYS_BASE
#define __UX500_VIRT_UART(n)	U8500_UART##n##_VIRT_BASE
#endif

#ifndef __UX500_UART
#if !defined(__UX500_PHYS_UART) || !defined(__UX500_VIRT_UART)
#error Unknown SOC
#endif

#define UX500_UART(n)	__UX500_UART(n)
#define UART_BASE	UX500_UART(CONFIG_UX500_DEBUG_UART)
#define UX500_PHYS_UART(n)	__UX500_PHYS_UART(n)
#define UX500_VIRT_UART(n)	__UX500_VIRT_UART(n)
#define UART_PHYS_BASE	UX500_PHYS_UART(CONFIG_UX500_DEBUG_UART)
#define UART_VIRT_BASE	UX500_VIRT_UART(CONFIG_UX500_DEBUG_UART)

	.macro	addruart, rp, rv, tmp
	ldr	\rp, =UART_BASE				@ no, physical address
	ldr	\rv, =IO_ADDRESS(UART_BASE)		@ yes, virtual address
	ldr	\rp, =UART_PHYS_BASE		@ no, physical address
	ldr	\rv, =UART_VIRT_BASE		@ yes, virtual address
	.endm

#include <asm/hardware/debug-pl01x.S>