feat(bod): Update bod threshold on esp32p4-eco2

This commit is contained in:
C.S.M 2024-10-12 15:09:03 +08:00
parent 12d6cdb29a
commit 4049f2b5fb
5 changed files with 24 additions and 12 deletions

View File

@ -13,12 +13,15 @@ choice ESP32P4_REV_MIN
bool "Rev v0.0" bool "Rev v0.0"
config ESP32P4_REV_MIN_1 config ESP32P4_REV_MIN_1
bool "Rev v0.1" bool "Rev v0.1"
config ESP32P4_REV_MIN_100
bool "Rev v1.0"
endchoice endchoice
config ESP32P4_REV_MIN_FULL config ESP32P4_REV_MIN_FULL
int int
default 0 if ESP32P4_REV_MIN_0 default 0 if ESP32P4_REV_MIN_0
default 1 if ESP32P4_REV_MIN_1 default 1 if ESP32P4_REV_MIN_1
default 100 if ESP32P4_REV_MIN_100
config ESP_REV_MIN_FULL config ESP_REV_MIN_FULL
int int
@ -28,7 +31,7 @@ config ESP_REV_MIN_FULL
# MAX Revision # MAX Revision
# #
comment "Maximum Supported ESP32-P4 Revision (Rev v0.99)" comment "Maximum Supported ESP32-P4 Revision (Rev v1.99)"
# Maximum revision that IDF supports. # Maximum revision that IDF supports.
# It can not be changed by user. # It can not be changed by user.
# Only Espressif can change it when a new version will be supported in IDF. # Only Espressif can change it when a new version will be supported in IDF.
@ -36,7 +39,7 @@ config ESP_REV_MIN_FULL
config ESP32P4_REV_MAX_FULL config ESP32P4_REV_MAX_FULL
int int
default 99 default 199
# keep in sync the "Maximum Supported Revision" description with this value # keep in sync the "Maximum Supported Revision" description with this value
config ESP_REV_MAX_FULL config ESP_REV_MAX_FULL

View File

@ -65,7 +65,8 @@ static inline void brownout_ll_reset_config(bool reset_ena, uint32_t reset_wait,
*/ */
static inline void brownout_ll_set_threshold(uint8_t threshold) static inline void brownout_ll_set_threshold(uint8_t threshold)
{ {
REGI2C_WRITE_MASK(I2C_BOD, I2C_BOD_THRESHOLD, threshold); REGI2C_WRITE_MASK(I2C_BOD, I2C_BOD_THRESHOLD_L, threshold);
REGI2C_WRITE_MASK(I2C_BOD, I2C_BOD_THRESHOLD_H, threshold);
} }
/** /**

View File

@ -62,7 +62,8 @@ static inline void brownout_ll_reset_config(bool reset_ena, uint32_t reset_wait,
*/ */
static inline void brownout_ll_set_threshold(uint8_t threshold) static inline void brownout_ll_set_threshold(uint8_t threshold)
{ {
REGI2C_WRITE_MASK(I2C_BOD, I2C_BOD_THRESHOLD, threshold); REGI2C_WRITE_MASK(I2C_BOD, I2C_BOD_THRESHOLD_L, threshold);
REGI2C_WRITE_MASK(I2C_BOD, I2C_BOD_THRESHOLD_H, threshold);
} }
/** /**

View File

@ -1,5 +1,5 @@
/* /*
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
* *
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
@ -44,6 +44,10 @@
#define I2C_PMU_OR_DREFH_VDDA_MSB 7 #define I2C_PMU_OR_DREFH_VDDA_MSB 7
#define I2C_PMU_OR_DREFH_VDDA_LSB 5 #define I2C_PMU_OR_DREFH_VDDA_LSB 5
#define I2C_BOD_THRESHOLD I2C_PMU_OR_DREFL_VDDA #define I2C_BOD_THRESHOLD_L I2C_PMU_OR_DREFL_VDDA
#define I2C_BOD_THRESHOLD_MSB I2C_PMU_OR_DREFL_VDDA_MSB #define I2C_BOD_THRESHOLD_L_MSB I2C_PMU_OR_DREFL_VDDA_MSB
#define I2C_BOD_THRESHOLD_LSB I2C_PMU_OR_DREFL_VDDA_LSB #define I2C_BOD_THRESHOLD_L_LSB I2C_PMU_OR_DREFL_VDDA_LSB
#define I2C_BOD_THRESHOLD_H I2C_PMU_OR_DREFH_VDDA
#define I2C_BOD_THRESHOLD_H_MSB I2C_PMU_OR_DREFH_VDDA_MSB
#define I2C_BOD_THRESHOLD_H_LSB I2C_PMU_OR_DREFH_VDDA_LSB

View File

@ -14,9 +14,12 @@
* bus. These definitions are used via macros defined in regi2c_ctrl.h. * bus. These definitions are used via macros defined in regi2c_ctrl.h.
*/ */
#define I2C_BOD 0x61 #define I2C_BOD 0x6a
#define I2C_BOD_HOSTID 0 #define I2C_BOD_HOSTID 0
#define I2C_BOD_THRESHOLD 0x5 #define I2C_BOD_THRESHOLD_L 0x9
#define I2C_BOD_THRESHOLD_MSB 2 #define I2C_BOD_THRESHOLD_L_MSB 4
#define I2C_BOD_THRESHOLD_LSB 0 #define I2C_BOD_THRESHOLD_L_LSB 2
#define I2C_BOD_THRESHOLD_H 0x9
#define I2C_BOD_THRESHOLD_H_MSB 7
#define I2C_BOD_THRESHOLD_H_LSB 5