Просмотр исходного кода

hal/gpio_ll: fix digital gpio can not disable hold during deep sleep

jingli 3 лет назад
Родитель
Сommit
128d82eaaa

+ 1 - 1
components/hal/esp32c2/include/hal/gpio_ll.h

@@ -346,7 +346,7 @@ static inline void gpio_ll_deep_sleep_hold_en(gpio_dev_t *hw)
   */
   */
 static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw)
 static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw)
 {
 {
-    SET_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_CLR_DG_PAD_AUTOHOLD);
+    CLEAR_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_DG_PAD_AUTOHOLD_EN_M);
 }
 }
 
 
 /**
 /**

+ 1 - 1
components/hal/esp32c3/include/hal/gpio_ll.h

@@ -358,7 +358,7 @@ static inline void gpio_ll_deep_sleep_hold_en(gpio_dev_t *hw)
   */
   */
 static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw)
 static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw)
 {
 {
-    SET_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_CLR_DG_PAD_AUTOHOLD);
+    CLEAR_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_DG_PAD_AUTOHOLD_EN_M);
 }
 }
 
 
 /**
 /**

+ 1 - 1
components/hal/esp32s2/include/hal/gpio_ll.h

@@ -368,7 +368,7 @@ static inline void gpio_ll_deep_sleep_hold_en(gpio_dev_t *hw)
   */
   */
 static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw)
 static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw)
 {
 {
-    SET_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_CLR_DG_PAD_AUTOHOLD);
+    CLEAR_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_DG_PAD_AUTOHOLD_EN_M);
 }
 }
 
 
 /**
 /**

+ 1 - 1
components/hal/esp32s3/include/hal/gpio_ll.h

@@ -384,7 +384,7 @@ static inline void gpio_ll_deep_sleep_hold_en(gpio_dev_t *hw)
   */
   */
 static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw)
 static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw)
 {
 {
-    SET_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_CLR_DG_PAD_AUTOHOLD);
+    CLEAR_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_DG_PAD_AUTOHOLD_EN_M);
 }
 }
 
 
 /**
 /**