--- zzzz-none-000/linux-3.10.107/arch/arm/mach-msm/include/mach/debug-macro.S 2017-06-27 09:49:32.000000000 +0000 +++ vr9-7490-729/linux-3.10.107/arch/arm/mach-msm/include/mach/debug-macro.S 2021-11-10 11:53:52.000000000 +0000 @@ -1,7 +1,6 @@ /* * * Copyright (C) 2007 Google, Inc. - * Copyright (c) 2011, Code Aurora Forum. All rights reserved. * Author: Brian Swetland * * This software is licensed under the terms of the GNU General Public @@ -15,51 +14,70 @@ * */ + + #include #include +#include - .macro addruart, rp, rv, tmp #ifdef MSM_DEBUG_UART_PHYS - ldr \rp, =MSM_DEBUG_UART_PHYS - ldr \rv, =MSM_DEBUG_UART_BASE +#ifndef IOMEM +#define IOMEM(x) (x) #endif + .macro addruart, rp, rv, tmp + ldr \rp, =MSM_DEBUG_UART_PHYS + ldr \rv, =MSM_DEBUG_UART_BASE .endm - .macro senduart, rd, rx + .macro senduart,rd,rx #ifdef CONFIG_MSM_HAS_DEBUG_UART_HS + @ Clear TX_READY by writing to the UARTDM_CR register + mov r12, #0x300 + str r12, [\rx, #UARTDM_CR_OFFSET] + @ Write 0x1 to NCF register + mov r12, #0x1 + str r12, [\rx, #UARTDM_NCF_TX_OFFSET] + @ UARTDM reg. Read to induce delay + ldr r12, [\rx, #UARTDM_SR_OFFSET] @ Write the 1 character to UARTDM_TF - str \rd, [\rx, #0x70] + str \rd, [\rx, #UARTDM_TF_OFFSET] #else - str \rd, [\rx, #0x0C] + teq \rx, #0 + strne \rd, [\rx, #0x0C] #endif .endm - .macro waituart, rd, rx + .macro waituart,rd,rx #ifdef CONFIG_MSM_HAS_DEBUG_UART_HS @ check for TX_EMT in UARTDM_SR - ldr \rd, [\rx, #0x08] + ldr \rd, [\rx, #UARTDM_SR_OFFSET] tst \rd, #0x08 bne 1002f @ wait for TXREADY in UARTDM_ISR -1001: ldr \rd, [\rx, #0x14] +1001: ldreq \rd, [\rx, #UARTDM_ISR_OFFSET] tst \rd, #0x80 + dsb beq 1001b -1002: - @ Clear TX_READY by writing to the UARTDM_CR register - mov \rd, #0x300 - str \rd, [\rx, #0x10] - @ Write 0x1 to NCF register - mov \rd, #0x1 - str \rd, [\rx, #0x40] - @ UARTDM reg. Read to induce delay - ldr \rd, [\rx, #0x08] #else @ wait for TX_READY -1001: ldr \rd, [\rx, #0x08] - tst \rd, #0x04 - beq 1001b +1001: ldr \rd, [\rx, #0x08] + tst \rd, #0x04 + beq 1001b #endif +1002: .endm - .macro busyuart, rd, rx +#else + + .macro addruart, rp, rv + .endm + + .macro senduart,rd,rx + .endm + + .macro waituart,rd,rx + .endm +#endif + + .macro busyuart,rd,rx .endm