1 // SPDX-License-Identifier: GPL-2.0+
10 #include <power/pmic.h>
11 #include <power/max77663.h>
13 static int max77663_sysreset_request(struct udevice *dev,
18 val = pmic_reg_read(dev->parent, MAX77663_REG_ONOFF_CFG1);
23 val &= ~ONOFF_SFT_RST;
24 val &= ~ONOFF_PWR_OFF;
28 /* MAX77663: SFT_RST > ONOFF_CFG1 */
29 pmic_reg_write(dev->parent, MAX77663_REG_ONOFF_CFG1,
32 case SYSRESET_POWER_OFF:
33 /* MAX77663: PWR_OFF > ONOFF_CFG1 */
34 pmic_reg_write(dev->parent, MAX77663_REG_ONOFF_CFG1,
38 return -EPROTONOSUPPORT;
44 static struct sysreset_ops max77663_sysreset = {
45 .request = max77663_sysreset_request,
48 U_BOOT_DRIVER(sysreset_max77663) = {
49 .id = UCLASS_SYSRESET,
50 .name = MAX77663_RST_DRIVER,
51 .ops = &max77663_sysreset,