mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
serial: sh: Use the clock framework to obtain clock config
Since we now have clock driver on the RCar Gen3 , obtain the clock configuration using the clock framework functions. In case this fails, fall back to the original code for pulling the clock config directly out of OF. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
This commit is contained in:
parent
03a38a3972
commit
8171499df9
1 changed files with 11 additions and 2 deletions
|
@ -9,6 +9,7 @@
|
|||
|
||||
#include <common.h>
|
||||
#include <errno.h>
|
||||
#include <clk.h>
|
||||
#include <dm.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/processor.h>
|
||||
|
@ -214,15 +215,23 @@ static const struct udevice_id sh_serial_id[] ={
|
|||
static int sh_serial_ofdata_to_platdata(struct udevice *dev)
|
||||
{
|
||||
struct sh_serial_platdata *plat = dev_get_platdata(dev);
|
||||
struct clk sh_serial_clk;
|
||||
fdt_addr_t addr;
|
||||
int ret;
|
||||
|
||||
addr = fdtdec_get_addr(gd->fdt_blob, dev_of_offset(dev), "reg");
|
||||
if (addr == FDT_ADDR_T_NONE)
|
||||
return -EINVAL;
|
||||
|
||||
plat->base = addr;
|
||||
plat->clk = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev), "clock",
|
||||
1);
|
||||
|
||||
ret = clk_get_by_name(dev, "fck", &sh_serial_clk);
|
||||
if (!ret)
|
||||
plat->clk = clk_get_rate(&sh_serial_clk);
|
||||
else
|
||||
plat->clk = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
|
||||
"clock", 1);
|
||||
|
||||
plat->type = dev_get_driver_data(dev);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue