debug-uart.S 554 B

123456789101112131415161718192021222324
  1. /*
  2. * Copyright (C) 2014 Panasonic Corporation
  3. * Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #include <linux/serial_reg.h>
  8. #if !defined(CONFIG_DEBUG_SEMIHOSTING)
  9. #include CONFIG_DEBUG_LL_INCLUDE
  10. #endif
  11. #define BAUDRATE 115200
  12. #define DIV_ROUND(x, d) (((x) + ((d) / 2)) / (d))
  13. #define DIVISOR DIV_ROUND(UART_CLK, 16 * BAUDRATE)
  14. .macro init_debug_uart, ra, rb, rc
  15. addruart \ra, \rb, \rc
  16. mov \rb, #UART_LCR_WLEN8
  17. strb \rb, [\ra, #0x11]
  18. ldr \rb, =DIVISOR
  19. str \rb, [\ra, #0x24]
  20. .endm