summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdrivers/pinctrl/starfive/pinctrl-starfive-jh7110.c26
-rw-r--r--drivers/pinctrl/starfive/pinctrl-starfive.h8
2 files changed, 18 insertions, 16 deletions
diff --git a/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c b/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c
index 091f36649512..06a8e21075af 100755
--- a/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c
+++ b/drivers/pinctrl/starfive/pinctrl-starfive-jh7110.c
@@ -1668,13 +1668,15 @@ static int __maybe_unused starfive_pinctrl_suspend(struct device *dev)
struct starfive_pinctrl *pctl = dev_get_drvdata(dev);
u8 i;
- for (i = 0 ; i < SYS_IRQ_REG_SUSPENDED_NUM ; i++)
- pctl->sys_irq_reg_suspended[i] =
- readl_relaxed(pctl->padctl_base + GPIO_EN + OFFSET_PER_REG * i);
+ for (i = 0 ; i < SYS_REG_SUSPENDED_NUM ; i++)
+ pctl->sys_reg_suspended[i] = readl_relaxed(pctl->padctl_base +
+ SYS_GPO_DOEN_CFG_BASE_REG +
+ OFFSET_PER_REG * i);
- for (i = 0 ; i < AON_IRQ_REG_SUSPENDED_NUM ; i++)
- pctl->aon_irq_reg_suspended[i] =
- readl_relaxed(pctl->padctl_base + AON_GPIO_EN_REG + OFFSET_PER_REG * i);
+ for (i = 0 ; i < AON_REG_SUSPENDED_NUM ; i++)
+ pctl->aon_reg_suspended[i] = readl_relaxed(pctl->padctl_base +
+ AON_GPO_DOEN_CFG_BASE_REG +
+ OFFSET_PER_REG * i);
return pinctrl_force_sleep(pctl->pctl_dev);
}
@@ -1684,13 +1686,13 @@ static int __maybe_unused starfive_pinctrl_resume(struct device *dev)
struct starfive_pinctrl *pctl = dev_get_drvdata(dev);
u8 i;
- for (i = 0 ; i < SYS_IRQ_REG_SUSPENDED_NUM ; i++)
- writel_relaxed(pctl->sys_irq_reg_suspended[i],
- pctl->padctl_base + GPIO_EN + OFFSET_PER_REG * i);
+ for (i = 0 ; i < SYS_REG_SUSPENDED_NUM ; i++)
+ writel_relaxed(pctl->sys_reg_suspended[i],
+ pctl->padctl_base + SYS_GPO_DOEN_CFG_BASE_REG + OFFSET_PER_REG * i);
- for (i = 0 ; i < AON_IRQ_REG_SUSPENDED_NUM ; i++)
- writel_relaxed(pctl->aon_irq_reg_suspended[i],
- pctl->padctl_base + AON_GPIO_EN_REG + OFFSET_PER_REG * i);
+ for (i = 0 ; i < AON_REG_SUSPENDED_NUM ; i++)
+ writel_relaxed(pctl->aon_reg_suspended[i],
+ pctl->padctl_base + AON_GPO_DOEN_CFG_BASE_REG + OFFSET_PER_REG * i);
return pinctrl_force_default(pctl->pctl_dev);
}
diff --git a/drivers/pinctrl/starfive/pinctrl-starfive.h b/drivers/pinctrl/starfive/pinctrl-starfive.h
index ed79d72aaea3..19539b814128 100644
--- a/drivers/pinctrl/starfive/pinctrl-starfive.h
+++ b/drivers/pinctrl/starfive/pinctrl-starfive.h
@@ -17,8 +17,8 @@
#define STARFIVE_USE_SCU BIT(0)
-#define SYS_IRQ_REG_SUSPENDED_NUM 11
-#define AON_IRQ_REG_SUSPENDED_NUM 6
+#define SYS_REG_SUSPENDED_NUM 174
+#define AON_REG_SUSPENDED_NUM 37
struct platform_device;
@@ -78,8 +78,8 @@ struct starfive_pinctrl {
unsigned long enabled;
unsigned int trigger[MAX_GPIO];
- u32 sys_irq_reg_suspended[SYS_IRQ_REG_SUSPENDED_NUM];
- u32 aon_irq_reg_suspended[AON_IRQ_REG_SUSPENDED_NUM];
+ u32 sys_reg_suspended[SYS_REG_SUSPENDED_NUM];
+ u32 aon_reg_suspended[AON_REG_SUSPENDED_NUM];
};
struct starfive_pinctrl_soc_info {