/* SPDX-License-Identifier: GPL-2.0 */1/*2* Copyright (C) STMicroelectronics SA 2017 - All Rights Reserved3* Author: Gerald Baeza <[email protected]> for STMicroelectronics.4*/56#ifdef CONFIG_STM32F4_DEBUG_UART7#define STM32_USART_SR_OFF 0x008#define STM32_USART_TDR_OFF 0x049#endif1011#if defined(CONFIG_STM32F7_DEBUG_UART) || defined(CONFIG_STM32H7_DEBUG_UART) || \12defined(CONFIG_STM32MP1_DEBUG_UART)13#define STM32_USART_SR_OFF 0x1C14#define STM32_USART_TDR_OFF 0x2815#endif1617#define STM32_USART_TC (1 << 6) /* Tx complete */18#define STM32_USART_TXE (1 << 7) /* Tx data reg empty */1920.macro addruart, rp, rv, tmp21ldr \rp, =CONFIG_DEBUG_UART_PHYS @ physical base22ldr \rv, =CONFIG_DEBUG_UART_VIRT @ virt base23.endm2425.macro senduart,rd,rx26strb \rd, [\rx, #STM32_USART_TDR_OFF]27.endm2829.macro waituartcts,rd,rx30.endm3132.macro waituarttxrdy,rd,rx331001: ldr \rd, [\rx, #(STM32_USART_SR_OFF)] @ Read Status Register34tst \rd, #STM32_USART_TXE @ TXE = 1 = tx empty35beq 1001b36.endm3738.macro busyuart,rd,rx391001: ldr \rd, [\rx, #(STM32_USART_SR_OFF)] @ Read Status Register40tst \rd, #STM32_USART_TC @ TC = 1 = tx complete41beq 1001b42.endm434445