diff options
| author | Patrick Delaunay <[email protected]> | 2021-06-29 12:04:23 +0200 |
|---|---|---|
| committer | Patrick Delaunay <[email protected]> | 2021-07-16 09:28:46 +0200 |
| commit | 7c55249307a930251473c6635b67529fec36c7e3 (patch) | |
| tree | 7386d24debe3e83caea5fbf435749ea472328f63 | |
| parent | 3105836c9e5d7c2823dc5817b60d6940bb1b817f (diff) | |
stm32mp: syscon: manage clock when present in device tree
Enable the clocks during syscon probe when they are present in device tree.
This patch avoids a freeze when the SYSCFG clock is not enabled by
TF-A / OP-TEE.
Signed-off-by: Patrick Delaunay <[email protected]>
Reviewed-by: Patrice Chotard <[email protected]>
| -rw-r--r-- | arch/arm/mach-stm32mp/syscon.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/arm/mach-stm32mp/syscon.c b/arch/arm/mach-stm32mp/syscon.c index 3e61ce40978..a0e8e1dfdc5 100644 --- a/arch/arm/mach-stm32mp/syscon.c +++ b/arch/arm/mach-stm32mp/syscon.c @@ -4,6 +4,7 @@ */ #include <common.h> +#include <clk.h> #include <dm.h> #include <syscon.h> #include <asm/arch/stm32.h> @@ -14,9 +15,22 @@ static const struct udevice_id stm32mp_syscon_ids[] = { { } }; +static int stm32mp_syscon_probe(struct udevice *dev) +{ + struct clk_bulk clk_bulk; + int ret; + + ret = clk_get_bulk(dev, &clk_bulk); + if (!ret) + clk_enable_bulk(&clk_bulk); + + return 0; +} + U_BOOT_DRIVER(syscon_stm32mp) = { .name = "stmp32mp_syscon", .id = UCLASS_SYSCON, .of_match = stm32mp_syscon_ids, .bind = dm_scan_fdt_dev, + .probe = stm32mp_syscon_probe, }; |
