[PATCH] Revert "power: pmic: rk8xx: Support sysreset shutdown method"
Chris Morgan
macroalpha82 at gmail.com
Fri Jul 22 19:24:21 CEST 2022
From: Chris Morgan <macromorgan at hotmail.com>
This reverts commit ad607512f5757f4485968efd5bcf2c0245a8a235.
It was found during extensive testing that this causes problems
on certain boards. I was able to test this patch on a second
device (an Anbernic RG353) and it resulted in similar failures.
Signed-off-by: Chris Morgan <macromorgan at hotmail.com>
---
drivers/power/pmic/rk8xx.c | 50 +-------------------------------------
1 file changed, 1 insertion(+), 49 deletions(-)
diff --git a/drivers/power/pmic/rk8xx.c b/drivers/power/pmic/rk8xx.c
index 25ef621f8d..8d703112c3 100644
--- a/drivers/power/pmic/rk8xx.c
+++ b/drivers/power/pmic/rk8xx.c
@@ -6,50 +6,10 @@
#include <common.h>
#include <dm.h>
-#include <dm/lists.h>
#include <errno.h>
#include <log.h>
#include <power/rk8xx_pmic.h>
#include <power/pmic.h>
-#include <sysreset.h>
-
-static int rk8xx_sysreset_request(struct udevice *dev, enum sysreset_t type)
-{
- struct rk8xx_priv *priv = dev_get_priv(dev->parent);
-
- if (type != SYSRESET_POWER_OFF)
- return -EPROTONOSUPPORT;
-
- switch (priv->variant) {
- case RK805_ID:
- case RK808_ID:
- case RK816_ID:
- case RK818_ID:
- pmic_clrsetbits(dev->parent, REG_DEVCTRL, 0, BIT(0));
- break;
- case RK809_ID:
- case RK817_ID:
- pmic_clrsetbits(dev->parent, RK817_REG_SYS_CFG3, 0,
- BIT(0));
- break;
- default:
- printf("Unknown PMIC RK%x: Cannot shutdown\n",
- priv->variant);
- return -EPROTONOSUPPORT;
- };
-
- return -EINPROGRESS;
-}
-
-static struct sysreset_ops rk8xx_sysreset_ops = {
- .request = rk8xx_sysreset_request,
-};
-
-U_BOOT_DRIVER(rk8xx_sysreset) = {
- .name = "rk8xx_sysreset",
- .id = UCLASS_SYSRESET,
- .ops = &rk8xx_sysreset_ops,
-};
/* In the event of a plug-in and the appropriate option has been
* selected, we simply shutdown instead of continue the normal boot
@@ -133,7 +93,7 @@ static int rk8xx_read(struct udevice *dev, uint reg, uint8_t *buff, int len)
static int rk8xx_bind(struct udevice *dev)
{
ofnode regulators_node;
- int children, ret;
+ int children;
regulators_node = dev_read_subnode(dev, "regulators");
if (!ofnode_valid(regulators_node)) {
@@ -144,14 +104,6 @@ static int rk8xx_bind(struct udevice *dev)
debug("%s: '%s' - found regulators subnode\n", __func__, dev->name);
- if (CONFIG_IS_ENABLED(SYSRESET)) {
- ret = device_bind_driver_to_node(dev, "rk8xx_sysreset",
- "rk8xx_sysreset",
- dev_ofnode(dev), NULL);
- if (ret)
- return ret;
- }
-
children = pmic_bind_children(dev, regulators_node, pmic_children_info);
if (!children)
debug("%s: %s - no child found\n", __func__, dev->name);
--
2.25.1
More information about the U-Boot
mailing list