1 // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
2 /*
3 * Copyright (C) 2018, STMicroelectronics - All Rights Reserved
4 */
5
6 #include <clk.h>
7 #include <dm.h>
8 #include <syscon.h>
9 #include <asm/arch/stm32.h>
10
11 static const struct udevice_id stm32mp_syscon_ids[] = {
12 { .compatible = "st,stm32mp157-syscfg", .data = STM32MP_SYSCON_SYSCFG },
13 { .compatible = "st,stm32mp25-syscfg", .data = STM32MP_SYSCON_SYSCFG},
14 { }
15 };
16
stm32mp_syscon_probe(struct udevice * dev)17 static int stm32mp_syscon_probe(struct udevice *dev)
18 {
19 struct clk_bulk clk_bulk;
20 int ret;
21
22 ret = clk_get_bulk(dev, &clk_bulk);
23 if (!ret)
24 clk_enable_bulk(&clk_bulk);
25
26 return 0;
27 }
28
29 U_BOOT_DRIVER(syscon_stm32mp) = {
30 .name = "stmp32mp_syscon",
31 .id = UCLASS_SYSCON,
32 .of_match = stm32mp_syscon_ids,
33 .bind = dm_scan_fdt_dev,
34 .probe = stm32mp_syscon_probe,
35 };
36