1f87b95ddSLinus Walleij/* 2f87b95ddSLinus Walleij * Debugging macro include header 3f87b95ddSLinus Walleij * 4f87b95ddSLinus Walleij * Copyright (C) 2009 ST-Ericsson 5f87b95ddSLinus Walleij * 6f87b95ddSLinus Walleij * This program is free software; you can redistribute it and/or modify 7f87b95ddSLinus Walleij * it under the terms of the GNU General Public License version 2 as 8f87b95ddSLinus Walleij * published by the Free Software Foundation. 9f87b95ddSLinus Walleij * 10f87b95ddSLinus Walleij */ 11f87b95ddSLinus Walleij#include <mach/hardware.h> 12f87b95ddSLinus Walleij 13f87b95ddSLinus Walleij#if CONFIG_UX500_DEBUG_UART > 2 14f87b95ddSLinus Walleij#error Invalid Ux500 debug UART 15f87b95ddSLinus Walleij#endif 16f87b95ddSLinus Walleij 17f87b95ddSLinus Walleij/* 18f87b95ddSLinus Walleij * DEBUG_LL only works if only one SOC is built in. We don't use #else below 19f87b95ddSLinus Walleij * in order to get "__UX500_UART redefined" warnings if more than one SOC is 20f87b95ddSLinus Walleij * built, so that there's some hint during the build that something is wrong. 21f87b95ddSLinus Walleij */ 22f87b95ddSLinus Walleij 23f87b95ddSLinus Walleij#ifdef CONFIG_UX500_SOC_DB8500 24f87b95ddSLinus Walleij#define __UX500_UART(n) U8500_UART##n##_BASE 25f87b95ddSLinus Walleij#endif 26f87b95ddSLinus Walleij 27f87b95ddSLinus Walleij#ifndef __UX500_UART 28f87b95ddSLinus Walleij#error Unknown SOC 29f87b95ddSLinus Walleij#endif 30f87b95ddSLinus Walleij 31f87b95ddSLinus Walleij#define UX500_UART(n) __UX500_UART(n) 32f87b95ddSLinus Walleij#define UART_BASE UX500_UART(CONFIG_UX500_DEBUG_UART) 33f87b95ddSLinus Walleij 34f87b95ddSLinus Walleij .macro addruart, rp, rv, tmp 35f87b95ddSLinus Walleij ldr \rp, =UART_BASE @ no, physical address 36f87b95ddSLinus Walleij ldr \rv, =IO_ADDRESS(UART_BASE) @ yes, virtual address 37f87b95ddSLinus Walleij .endm 38f87b95ddSLinus Walleij 39f87b95ddSLinus Walleij#include <asm/hardware/debug-pl01x.S> 40