serial: sh: Enable clock if available

If the clock framework provides the driver with valid clock,
enable them, otherwise the SCIF might not work if the clock
are not enabled prior to the driver probe.

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:
Marek Vasut 2017-09-15 21:11:27 +02:00 committed by Nobuhiro Iwamatsu
parent bddb44e94a
commit 791c174d58

View File

@ -226,11 +226,14 @@ static int sh_serial_ofdata_to_platdata(struct udevice *dev)
plat->base = addr;
ret = clk_get_by_name(dev, "fck", &sh_serial_clk);
if (!ret)
plat->clk = clk_get_rate(&sh_serial_clk);
else
if (!ret) {
ret = clk_enable(&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;