diff options
author | yanhong.wang <yanhong.wang@starfivetech.com> | 2022-06-09 05:07:00 +0300 |
---|---|---|
committer | Yanhong Wang <yanhong.wang@linux.starfivetech.com> | 2022-10-18 11:24:36 +0300 |
commit | 98ef3602a1850c79d509fab405a673bf089e114e (patch) | |
tree | 9b8030929c8e7f10ebcda9cc51d8a1f0130a47ba /drivers | |
parent | 16178e355d396994e63546d552a5c75e4aad71c0 (diff) | |
download | u-boot-98ef3602a1850c79d509fab405a673bf089e114e.tar.xz |
serial: ns16550: support a list of clk
Add a list of clk enable operation.
Signed-off-by: yanhong.wang <yanhong.wang@starfivetech.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/serial/ns16550.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/serial/ns16550.c b/drivers/serial/ns16550.c index cc121eee27..a83b474c40 100644 --- a/drivers/serial/ns16550.c +++ b/drivers/serial/ns16550.c @@ -540,6 +540,7 @@ int ns16550_serial_of_to_plat(struct udevice *dev) const u32 port_type = dev_get_driver_data(dev); fdt_addr_t addr; struct clk clk; + struct clk_bulk clks; int err; addr = dev_read_addr(dev); @@ -571,6 +572,17 @@ int ns16550_serial_of_to_plat(struct udevice *dev) return -EINVAL; } + err = clk_get_bulk(dev, &clks); + if (err) + debug("ns16550 clk_get_bulk fail.\n"); + else { + err = clk_enable_bulk(&clks); + if (err) { + debug("ns16550 clk_enable_bulk fail.\n"); + return -EINVAL; + } + } + plat->fcr = UART_FCR_DEFVAL; if (port_type == PORT_JZ4780) plat->fcr |= UART_FCR_UME; |