Re: [PATCH 2/3] gpio: sprd: In the sleep state, the eic dbnc clk must be forced open

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 8/8/2023 11:31 AM, Wenhua Lin wrote:
In the sleep state, Eic dbnc has no clock and the clk enable
of dbnc needs to be forced open, so that eic can wake up normally.

Sounds reasonable to me. Should add a Fixes tag if need to backport for stable kernel?

Signed-off-by: Wenhua Lin <Wenhua.Lin@xxxxxxxxxx>
---
  drivers/gpio/gpio-eic-sprd.c | 2 ++
  1 file changed, 2 insertions(+)

diff --git a/drivers/gpio/gpio-eic-sprd.c b/drivers/gpio/gpio-eic-sprd.c
index 0d85d9e80848..c506cfd6df8e 100644
--- a/drivers/gpio/gpio-eic-sprd.c
+++ b/drivers/gpio/gpio-eic-sprd.c
@@ -23,6 +23,7 @@
  #define SPRD_EIC_DBNC_IC		0x24
  #define SPRD_EIC_DBNC_TRIG		0x28
  #define SPRD_EIC_DBNC_CTRL0		0x40
+#define SPRD_EIC_DBNC_FORCE_CLK		0x8000
#define SPRD_EIC_LATCH_INTEN 0x0
  #define SPRD_EIC_LATCH_INTRAW		0x4
@@ -213,6 +214,7 @@ static int sprd_eic_set_debounce(struct gpio_chip *chip, unsigned int offset,
  	u32 value = readl_relaxed(base + reg) & ~SPRD_EIC_DBNC_MASK;
value |= (debounce / 1000) & SPRD_EIC_DBNC_MASK;
+	value |= SPRD_EIC_DBNC_FORCE_CLK;
  	writel_relaxed(value, base + reg);
return 0;



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux