diff options
| author | Svyatoslav Ryhel <[email protected]> | 2023-10-24 10:49:07 +0300 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2023-11-03 17:42:14 -0400 |
| commit | 8b8a00eaf47719ee04338eff9cd94b0408779d9d (patch) | |
| tree | 6c1112be1f2b4d4ae255818b6fa24bffe8ff3371 /drivers/power | |
| parent | 9d937cdc2ce831adfef969ced5e35b72a3131dea (diff) | |
sysreset: implement TPS65910 sysreset functions
TPS65910/TPS65911 PMICs have embedded power control functions
used by some device to initiane device power off. Implement it as
sysreset driver.
Signed-off-by: Svyatoslav Ryhel <[email protected]>
Diffstat (limited to 'drivers/power')
| -rw-r--r-- | drivers/power/pmic/pmic_tps65910_dm.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/power/pmic/pmic_tps65910_dm.c b/drivers/power/pmic/pmic_tps65910_dm.c index 0a4911cef61..ecf836eb0e6 100644 --- a/drivers/power/pmic/pmic_tps65910_dm.c +++ b/drivers/power/pmic/pmic_tps65910_dm.c @@ -5,6 +5,7 @@ #include <common.h> #include <dm.h> +#include <dm/lists.h> #include <i2c.h> #include <log.h> #include <linux/printk.h> @@ -59,7 +60,16 @@ static int pmic_tps65910_bind(struct udevice *dev) const struct pmic_child_info *tps6591x_children_info = (struct pmic_child_info *)dev_get_driver_data(dev); ofnode regulators_node; - int children; + int children, ret; + + if (IS_ENABLED(CONFIG_SYSRESET_TPS65910)) { + ret = device_bind_driver(dev, TPS65910_RST_DRIVER, + "sysreset", NULL); + if (ret) { + log_err("cannot bind SYSRESET (ret = %d)\n", ret); + return ret; + } + } regulators_node = dev_read_subnode(dev, "regulators"); if (!ofnode_valid(regulators_node)) { |
