Loading...
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (C) 2012 Synopsys, Inc. (www.synopsys.com)
4 */
5
6#ifndef _ASM_ARC_SERIAL_H
7#define _ASM_ARC_SERIAL_H
8
9/*
10 * early 8250 (now earlycon) requires BASE_BAUD to be defined in this header.
11 * However to still determine it dynamically (for multi-platform images)
12 * we do this in a helper by parsing the FDT early
13 */
14
15extern unsigned int __init arc_early_base_baud(void);
16
17#define BASE_BAUD arc_early_base_baud()
18
19#endif /* _ASM_ARC_SERIAL_H */
1/*
2 * Copyright (C) 2012 Synopsys, Inc. (www.synopsys.com)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#ifndef _ASM_ARC_SERIAL_H
10#define _ASM_ARC_SERIAL_H
11
12/*
13 * early-8250 requires BASE_BAUD to be defined and includes this header.
14 * We put in a typical value:
15 * (core clk / 16) - i.e. UART samples 16 times per sec.
16 * Athough in multi-platform-image this might not work, specially if the
17 * clk driving the UART is different.
18 * We can't use DeviceTree as this is typically for early serial.
19 */
20
21#include <asm/clk.h>
22
23#define BASE_BAUD (arc_get_core_freq() / 16)
24
25/*
26 * This is definitely going to break early 8250 consoles on multi-platform
27 * images but hey, it won't add any code complexity for a debug feature of
28 * one broken driver.
29 */
30#ifdef CONFIG_ARC_PLAT_TB10X
31#undef BASE_BAUD
32#define BASE_BAUD (arc_get_core_freq() / 16 / 3)
33#endif
34
35#endif /* _ASM_ARC_SERIAL_H */