1*4882a593Smuzhiyun/* SPDX-License-Identifier: GPL-2.0-only */ 2*4882a593Smuzhiyun/* arch/arm/mach-realview/include/mach/debug-macro.S 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * Debugging macro include header 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Copyright (C) 1994-1999 Russell King 7*4882a593Smuzhiyun * Moved from linux/arch/arm/kernel/debug.S by Ben Dooks 8*4882a593Smuzhiyun */ 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun#define DEBUG_LL_PHYS_BASE 0x10000000 11*4882a593Smuzhiyun#define DEBUG_LL_UART_OFFSET 0x00009000 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun#define DEBUG_LL_PHYS_BASE_RS1 0x1c000000 14*4882a593Smuzhiyun#define DEBUG_LL_UART_OFFSET_RS1 0x00090000 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun#define DEBUG_LL_UART_PHYS_CRX 0xb0090000 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun#define DEBUG_LL_VIRT_BASE 0xf8000000 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun#if defined(CONFIG_DEBUG_VEXPRESS_UART0_DETECT) 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun .macro addruart,rp,rv,tmp 23*4882a593Smuzhiyun .arch armv7-a 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun @ Make an educated guess regarding the memory map: 26*4882a593Smuzhiyun @ - the original A9 core tile (based on ARM Cortex-A9 r0p1) 27*4882a593Smuzhiyun @ should use UART at 0x10009000 28*4882a593Smuzhiyun @ - all other (RS1 complaint) tiles use UART mapped 29*4882a593Smuzhiyun @ at 0x1c090000 30*4882a593Smuzhiyun mrc p15, 0, \rp, c0, c0, 0 31*4882a593Smuzhiyun movw \rv, #0xc091 32*4882a593Smuzhiyun movt \rv, #0x410f 33*4882a593Smuzhiyun cmp \rp, \rv 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun @ Original memory map 36*4882a593Smuzhiyun moveq \rp, #DEBUG_LL_UART_OFFSET 37*4882a593Smuzhiyun orreq \rv, \rp, #DEBUG_LL_VIRT_BASE 38*4882a593Smuzhiyun orreq \rp, \rp, #DEBUG_LL_PHYS_BASE 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun @ RS1 memory map 41*4882a593Smuzhiyun movne \rp, #DEBUG_LL_UART_OFFSET_RS1 42*4882a593Smuzhiyun orrne \rv, \rp, #DEBUG_LL_VIRT_BASE 43*4882a593Smuzhiyun orrne \rp, \rp, #DEBUG_LL_PHYS_BASE_RS1 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun .endm 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun#include <debug/pl01x.S> 48*4882a593Smuzhiyun#endif 49