summaryrefslogtreecommitdiff
path: root/arch/arm/mach-uniphier/include/mach/debug-uart.S
blob: d2b431f5443ffd68864218dc7486fbe6d8f2a73d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
 * Copyright (C) 2014-2015 Masahiro Yamada <yamada.masahiro@socionext.com>
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

#include <linux/serial_reg.h>

#if !defined(CONFIG_DEBUG_SEMIHOSTING)
#include CONFIG_DEBUG_LL_INCLUDE
#endif

#define BAUDRATE		115200
#define DIV_ROUND(x, d)		(((x) + ((d) / 2)) / (d))
#define DIVISOR			DIV_ROUND(UART_CLK, 16 * BAUDRATE)

	.macro		init_debug_uart, ra, rb, rc
	addruart	\ra, \rb, \rc
	mov		\rb, #UART_LCR_WLEN8 << 8
	str		\rb, [\ra, #0x10]
	ldr		\rb, =DIVISOR
	str		\rb, [\ra, #0x24]
	.endm