Merge branch 'fix/regi2c_phy_test_v6.1' into 'release/v6.1'

fix(regi2c): Fix regi2c for phy testing (backport v6.1)

See merge request espressif/esp-idf!49603
This commit is contained in:
morris
2026-06-12 16:43:21 +08:00
5 changed files with 12 additions and 2 deletions
@@ -12,6 +12,7 @@
#include "modem/modem_lpcon_struct.h"
#include "modem/modem_syscon_struct.h"
#include "soc/pmu_reg.h"
#include "esp_rom_sys.h"
#ifdef __cplusplus
extern "C" {
@@ -81,6 +82,7 @@ static inline void regi2c_ctrl_ll_i2c_sar_periph_enable(void)
{
//Enter regi2c reset mode
CLEAR_PERI_REG_MASK(PMU_RF_PWC_REG, PMU_PERIF_I2C_RSTB);
esp_rom_delay_us(1); // 1us delay is recommended by digital design
//Enable REGI2C for SAR_ADC and TSENS
SET_PERI_REG_MASK(PMU_RF_PWC_REG, PMU_XPD_PERIF_I2C);
//Release regi2c reset mode, enter work mode
@@ -11,6 +11,7 @@
#include "soc/soc.h"
#include "soc/pmu_reg.h"
#include "modem/modem_lpcon_struct.h"
#include "esp_rom_sys.h"
#ifdef __cplusplus
extern "C" {
@@ -80,6 +81,7 @@ static inline void regi2c_ctrl_ll_i2c_sar_periph_enable(void)
{
//Enter regi2c reset mode
CLEAR_PERI_REG_MASK(PMU_RF_PWC_REG, PMU_PERIF_I2C_RSTB);
esp_rom_delay_us(1); // 1us delay is recommended by digital design
//Enable REGI2C for SAR_ADC and TSENS
SET_PERI_REG_MASK(PMU_RF_PWC_REG, PMU_XPD_PERIF_I2C);
//Release regi2c reset mode, enter work mode
@@ -12,6 +12,7 @@
#include "soc/pmu_reg.h"
#include "modem/modem_lpcon_struct.h"
#include "modem/modem_syscon_struct.h"
#include "esp_rom_sys.h"
#ifdef __cplusplus
extern "C" {
@@ -81,6 +82,7 @@ static inline void regi2c_ctrl_ll_i2c_sar_periph_enable(void)
{
//Enter regi2c reset mode
CLEAR_PERI_REG_MASK(PMU_RF_PWC_REG, PMU_PERIF_I2C_RSTB);
esp_rom_delay_us(1); // 1us delay is recommended by digital design
//Enable REGI2C for SAR_ADC and TSENS
SET_PERI_REG_MASK(PMU_RF_PWC_REG, PMU_XPD_PERIF_I2C);
//Release regi2c reset mode, enter work mode
@@ -12,6 +12,7 @@
#include "soc/lpperi_struct.h"
#include "soc/lp_i2c_ana_mst_struct.h"
#include "soc/pmu_reg.h"
#include "esp_rom_sys.h"
#ifdef __cplusplus
extern "C" {
@@ -71,6 +72,7 @@ static inline void regi2c_ctrl_ll_i2c_sar_periph_enable(void)
{
//Enter regi2c reset mode
CLEAR_PERI_REG_MASK(PMU_RF_PWC_REG, PMU_PERIF_I2C_RSTB);
esp_rom_delay_us(1); // 1us delay is recommended by digital design
//Enable REGI2C for SAR_ADC and TSENS
SET_PERI_REG_MASK(PMU_RF_PWC_REG, PMU_XPD_PERIF_I2C);
//Release regi2c reset mode, enter work mode
@@ -12,6 +12,7 @@
#include "soc/pmu_reg.h"
#include "modem/modem_lpcon_struct.h"
#include "modem/modem_syscon_struct.h"
#include "esp_rom_sys.h"
#ifdef __cplusplus
extern "C" {
@@ -72,7 +73,9 @@ static inline __attribute__((always_inline)) void regi2c_ctrl_ll_master_configur
*/
static inline __attribute__((always_inline)) void regi2c_ctrl_ll_i2c_sar_periph_enable(void)
{
// TODO: IDF-14632, IDF-14744
//Enter regi2c reset mode
CLEAR_PERI_REG_MASK(PMU_ANA_PERI_PWR_CTRL_REG, PMU_RSTB_PERIF_I2C);
esp_rom_delay_us(1); // 1us delay is recommended by digital design
//Enable REGI2C for SAR_ADC and TSENS
SET_PERI_REG_MASK(PMU_ANA_PERI_PWR_CTRL_REG, PMU_XPD_PERIF_I2C);
//Release regi2c reset mode, enter work mode
@@ -84,7 +87,6 @@ static inline __attribute__((always_inline)) void regi2c_ctrl_ll_i2c_sar_periph_
*/
static inline __attribute__((always_inline)) void regi2c_ctrl_ll_i2c_sar_periph_disable(void)
{
// TODO: IDF-14632, IDF-14744
CLEAR_PERI_REG_MASK(PMU_ANA_PERI_PWR_CTRL_REG, PMU_XPD_PERIF_I2C);
}