mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-29 18:11:43 +00:00
serial: a37xx: Do not call get_ref_clk() in _debug_uart_init()
Static inline function _debug_uart_init() should avoid calling external (non-inline) functions. Therefore do not call get_ref_clk() in _debug_uart_init() and reimplement its functionality without external function calls. Signed-off-by: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
5cd424d71f
commit
2cc4be280c
1 changed files with 3 additions and 1 deletions
|
@ -305,6 +305,7 @@ U_BOOT_DRIVER(serial_mvebu) = {
|
||||||
#ifdef CONFIG_DEBUG_MVEBU_A3700_UART
|
#ifdef CONFIG_DEBUG_MVEBU_A3700_UART
|
||||||
|
|
||||||
#include <debug_uart.h>
|
#include <debug_uart.h>
|
||||||
|
#include <mach/soc.h>
|
||||||
|
|
||||||
static inline void _debug_uart_init(void)
|
static inline void _debug_uart_init(void)
|
||||||
{
|
{
|
||||||
|
@ -322,7 +323,8 @@ static inline void _debug_uart_init(void)
|
||||||
* Calculate divider
|
* Calculate divider
|
||||||
* baudrate = clock / 16 / divider
|
* baudrate = clock / 16 / divider
|
||||||
*/
|
*/
|
||||||
parent_rate = get_ref_clk() * 1000000;
|
parent_rate = (readl(MVEBU_REGISTER(0x13808)) & BIT(9)) ?
|
||||||
|
40000000 : 25000000;
|
||||||
divider = DIV_ROUND_CLOSEST(parent_rate, CONFIG_BAUDRATE * 16);
|
divider = DIV_ROUND_CLOSEST(parent_rate, CONFIG_BAUDRATE * 16);
|
||||||
writel(divider, base + UART_BAUD_REG);
|
writel(divider, base + UART_BAUD_REG);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue