Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  *
0004  * Copyright (C) 2007 Google, Inc.
0005  * Copyright (c) 2011, Code Aurora Forum. All rights reserved.
0006  * Author: Brian Swetland <swetland@google.com>
0007  */
0008 
0009     .macro  addruart, rp, rv, tmp
0010     ldr \rp, =CONFIG_DEBUG_UART_PHYS
0011     ldr \rv, =CONFIG_DEBUG_UART_VIRT
0012     .endm
0013 
0014     .macro  senduart, rd, rx
0015 ARM_BE8(rev \rd, \rd )
0016     @ Write the 1 character to UARTDM_TF
0017     str \rd, [\rx, #0x70]
0018     .endm
0019 
0020     .macro  waituartcts,rd,rx
0021     .endm
0022 
0023     .macro  waituarttxrdy, rd, rx
0024     @ check for TX_EMT in UARTDM_SR
0025     ldr \rd, [\rx, #0x08]
0026 ARM_BE8(rev     \rd, \rd )
0027     tst \rd, #0x08
0028     bne 1002f
0029     @ wait for TXREADY in UARTDM_ISR
0030 1001:   ldr \rd, [\rx, #0x14]
0031 ARM_BE8(rev     \rd, \rd )
0032     tst \rd, #0x80
0033     beq     1001b
0034 1002:
0035     @ Clear TX_READY by writing to the UARTDM_CR register
0036     mov \rd, #0x300
0037 ARM_BE8(rev     \rd, \rd )
0038     str \rd, [\rx, #0x10]
0039     @ Write 0x1 to NCF register
0040     mov     \rd, #0x1
0041 ARM_BE8(rev     \rd, \rd )
0042     str \rd, [\rx, #0x40]
0043     @ UARTDM reg. Read to induce delay
0044     ldr \rd, [\rx, #0x08]
0045     .endm
0046 
0047     .macro  busyuart, rd, rx
0048     .endm