summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorYe Li <ye.li@nxp.com>2020-05-28 03:24:21 -0700
committerYe Li <ye.li@nxp.com>2022-04-06 18:03:56 +0800
commit9acf8d4d522043e51b013976cde0132794048090 (patch)
tree5bdf0c47c0afceda07386a19d3055fd14a86ba14 /drivers
parent8b3ea2ad3e53f6d4d1c1b2a0f27342c54914ec9c (diff)
MLK-24192-1 lpuart: Enable IPG clock
Current codes only ennable the PER clock. However on iMX8 the LPUART also needs IPG clock which is an LPCG. Should not depend on the default LPCG setting. Signed-off-by: Ye Li <ye.li@nxp.com> Reviewed-by: Peng Fan <peng.fan@nxp.com> (cherry picked from commit 117c616d77d8e5274c69d46543fe8cc808d359bf) (cherry picked from commit 0108adc403f50a99d61c0f432951c48e24991118) (cherry picked from commit dc0789d8fbd16d095ffe0271506dfd725cb4407f)
Diffstat (limited to 'drivers')
-rw-r--r--drivers/serial/serial_lpuart.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/serial/serial_lpuart.c b/drivers/serial/serial_lpuart.c
index ca49ef73723..d0700252ad2 100644
--- a/drivers/serial/serial_lpuart.c
+++ b/drivers/serial/serial_lpuart.c
@@ -489,18 +489,30 @@ static int lpuart_serial_probe(struct udevice *dev)
{
#if CONFIG_IS_ENABLED(CLK)
struct clk per_clk;
+ struct clk ipg_clk;
int ret;
ret = clk_get_by_name(dev, "per", &per_clk);
if (!ret) {
ret = clk_enable(&per_clk);
if (ret) {
- dev_err(dev, "Failed to get per clk: %d\n", ret);
+ dev_err(dev, "Failed to enable per clk: %d\n", ret);
return ret;
}
} else {
debug("%s: Failed to get per clk: %d\n", __func__, ret);
}
+
+ ret = clk_get_by_name(dev, "ipg", &ipg_clk);
+ if (!ret) {
+ ret = clk_enable(&ipg_clk);
+ if (ret) {
+ dev_err(dev, "Failed to enable ipg clk: %d\n", ret);
+ return ret;
+ }
+ } else {
+ debug("%s: Failed to get ipg clk: %d\n", __func__, ret);
+ }
#endif
if (is_lpuart32(dev))