summaryrefslogtreecommitdiff
path: root/drivers/serial/serial_stm32.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2018-12-15 17:47:28 -0500
committerTom Rini <trini@konsulko.com>2018-12-15 17:47:28 -0500
commit0dc526d98eb216003ea884739abc17f6eb05c0df (patch)
tree918155725e45773124d7b61cb61f6a78e3d8845d /drivers/serial/serial_stm32.c
parent8fc26fce41592175ae004514e431e68a9dd60671 (diff)
parentde5bab9c59807b109f89a39855c9eacfe4d08822 (diff)
Merge branch '2018-12-15-master-imports'
- Introduce tools-only build for host tools - Bugfixes to poplar, syscon and the hashtable, a tee return code - Fix a warning on gcc-8 by reworking part of mtk_image to be not unsafe wrt strings. - serial_stm32 reset support
Diffstat (limited to 'drivers/serial/serial_stm32.c')
-rw-r--r--drivers/serial/serial_stm32.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/serial/serial_stm32.c b/drivers/serial/serial_stm32.c
index 31b43ee88dd..e31c87b9ac5 100644
--- a/drivers/serial/serial_stm32.c
+++ b/drivers/serial/serial_stm32.c
@@ -7,6 +7,7 @@
#include <common.h>
#include <clk.h>
#include <dm.h>
+#include <reset.h>
#include <serial.h>
#include <watchdog.h>
#include <asm/io.h>
@@ -171,6 +172,7 @@ static int stm32_serial_probe(struct udevice *dev)
{
struct stm32x7_serial_platdata *plat = dev_get_platdata(dev);
struct clk clk;
+ struct reset_ctl reset;
int ret;
plat->uart_info = (struct stm32_uart_info *)dev_get_driver_data(dev);
@@ -185,6 +187,13 @@ static int stm32_serial_probe(struct udevice *dev)
return ret;
}
+ ret = reset_get_by_index(dev, 0, &reset);
+ if (!ret) {
+ reset_assert(&reset);
+ udelay(2);
+ reset_deassert(&reset);
+ }
+
plat->clock_rate = clk_get_rate(&clk);
if (plat->clock_rate < 0) {
clk_disable(&clk);