debug-uart.S 532 B

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