mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-24 13:43:28 +00:00
serial: s5p: use clock api to get clock rate
On Exynos platforms that support clock driver API, allow the driver to use clock api get the SCLK clock rate. Cc: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Thomas Abraham <thomas.ab@samsung.com> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
parent
5ab6c4df27
commit
cf75cdf96e
1 changed files with 14 additions and 1 deletions
|
@ -17,6 +17,7 @@
|
|||
#include <asm/arch/clk.h>
|
||||
#include <asm/arch/uart.h>
|
||||
#include <serial.h>
|
||||
#include <clk.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
|
@ -90,7 +91,19 @@ int s5p_serial_setbrg(struct udevice *dev, int baudrate)
|
|||
{
|
||||
struct s5p_serial_platdata *plat = dev->platdata;
|
||||
struct s5p_uart *const uart = plat->reg;
|
||||
u32 uclk = get_uart_clk(plat->port_id);
|
||||
u32 uclk;
|
||||
|
||||
#ifdef CONFIG_CLK_EXYNOS
|
||||
struct udevice *clk_dev;
|
||||
u32 ret;
|
||||
|
||||
ret = clk_get_by_index(dev, 1, &clk_dev);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
uclk = clk_get_periph_rate(clk_dev, ret);
|
||||
#else
|
||||
uclk = get_uart_clk(plat->port_id);
|
||||
#endif
|
||||
|
||||
s5p_serial_baud(uart, uclk, baudrate);
|
||||
|
||||
|
|
Loading…
Reference in a new issue