From 758553a786520b138307691e842e53b25606960b Mon Sep 17 00:00:00 2001 From: me-no-dev Date: Thu, 8 Dec 2016 23:43:41 +0200 Subject: [PATCH] Add analogRead, touchRead, dacWrite and updated esp-idf --- cores/esp32/esp32-hal-adc.c | 183 + cores/esp32/esp32-hal-adc.h | 74 + cores/esp32/esp32-hal-dac.c | 54 + cores/esp32/esp32-hal-dac.h | 35 + cores/esp32/esp32-hal-gpio.c | 158 +- cores/esp32/esp32-hal-gpio.h | 28 +- cores/esp32/esp32-hal-touch.c | 172 + cores/esp32/esp32-hal-touch.h | 56 + cores/esp32/esp32-hal.h | 3 + platform.txt | 2 +- tools/esptool.py | 291 +- tools/sdk/bin/bootloader.bin | Bin 5296 -> 5328 bytes tools/sdk/include/bt/bt.h | 1 + tools/sdk/include/config/sdkconfig.h | 4 + tools/sdk/include/driver/driver/adc.h | 122 + tools/sdk/include/driver/driver/dac.h | 57 + tools/sdk/include/driver/driver/gpio.h | 26 - tools/sdk/include/driver/driver/pcnt.h | 6 +- tools/sdk/include/driver/driver/rtc_io.h | 167 + tools/sdk/include/driver/driver/touch_pad.h | 165 + tools/sdk/include/esp32/esp_coexist.h | 46 + tools/sdk/include/esp32/rom/uart.h | 13 +- tools/sdk/include/esp32/soc/rtc_io_reg.h | 3902 +++++++++---------- tools/sdk/include/esp32/soc/saradc_reg.h | 1047 ----- tools/sdk/include/esp32/soc/sens_reg.h | 1047 +++++ tools/sdk/include/esp32/soc/soc.h | 10 +- tools/sdk/ld/esp32.rom.ld | 19 + tools/sdk/lib/libapp_update.a | Bin 36440 -> 36440 bytes tools/sdk/lib/libbt.a | Bin 8422136 -> 8422136 bytes tools/sdk/lib/libbtdm_app.a | Bin 62124 -> 66304 bytes tools/sdk/lib/libcoexist.a | Bin 10618 -> 10618 bytes tools/sdk/lib/libcore.a | Bin 26118 -> 26118 bytes tools/sdk/lib/libdriver.a | Bin 561750 -> 646190 bytes tools/sdk/lib/libesp32.a | Bin 2885222 -> 2895002 bytes tools/sdk/lib/libethernet.a | Bin 75964 -> 75964 bytes tools/sdk/lib/libexpat.a | Bin 1251396 -> 1251396 bytes tools/sdk/lib/libfreertos.a | Bin 539112 -> 539212 bytes tools/sdk/lib/libjson.a | Bin 209228 -> 209228 bytes tools/sdk/lib/liblog.a | Bin 21186 -> 21186 bytes tools/sdk/lib/liblwip.a | Bin 1787550 -> 1787550 bytes tools/sdk/lib/libmbedtls.a | Bin 3497760 -> 3505354 bytes tools/sdk/lib/libnet80211.a | Bin 607760 -> 607820 bytes tools/sdk/lib/libnewlib.a | Bin 80124 -> 80124 bytes tools/sdk/lib/libnghttp.a | Bin 1536182 -> 1536182 bytes tools/sdk/lib/libnvs_flash.a | Bin 617970 -> 617970 bytes tools/sdk/lib/libopenssl.a | Bin 274784 -> 274980 bytes tools/sdk/lib/libpp.a | Bin 360568 -> 363224 bytes tools/sdk/lib/libspi_flash.a | Bin 93504 -> 93504 bytes tools/sdk/lib/libtcpip_adapter.a | Bin 74998 -> 75006 bytes tools/sdk/lib/libulp.a | Bin 0 -> 24528 bytes tools/sdk/lib/libvfs.a | Bin 67966 -> 67966 bytes tools/sdk/lib/libwpa.a | Bin 150188 -> 150188 bytes tools/sdk/lib/libwpa2.a | Bin 425340 -> 425340 bytes tools/sdk/lib/libwpa_supplicant.a | Bin 471324 -> 471324 bytes tools/sdk/lib/libwps.a | Bin 337210 -> 337210 bytes tools/sdk/lib/libxtensa-debug-module.a | Bin 11990 -> 11990 bytes 56 files changed, 4416 insertions(+), 3272 deletions(-) create mode 100644 cores/esp32/esp32-hal-adc.c create mode 100644 cores/esp32/esp32-hal-adc.h create mode 100644 cores/esp32/esp32-hal-dac.c create mode 100644 cores/esp32/esp32-hal-dac.h create mode 100644 cores/esp32/esp32-hal-touch.c create mode 100644 cores/esp32/esp32-hal-touch.h create mode 100644 tools/sdk/include/driver/driver/adc.h create mode 100644 tools/sdk/include/driver/driver/dac.h create mode 100644 tools/sdk/include/driver/driver/rtc_io.h create mode 100644 tools/sdk/include/driver/driver/touch_pad.h create mode 100644 tools/sdk/include/esp32/esp_coexist.h delete mode 100644 tools/sdk/include/esp32/soc/saradc_reg.h create mode 100644 tools/sdk/include/esp32/soc/sens_reg.h mode change 100644 => 100755 tools/sdk/lib/libbtdm_app.a create mode 100644 tools/sdk/lib/libulp.a diff --git a/cores/esp32/esp32-hal-adc.c b/cores/esp32/esp32-hal-adc.c new file mode 100644 index 00000000..e0f50bb8 --- /dev/null +++ b/cores/esp32/esp32-hal-adc.c @@ -0,0 +1,183 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "esp32-hal-adc.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "rom/ets_sys.h" +#include "esp_attr.h" +#include "esp_intr.h" +#include "soc/rtc_io_reg.h" +#include "soc/rtc_cntl_reg.h" +#include "soc/sens_reg.h" + +static uint8_t __analogAttenuation = 0;//0db +static uint8_t __analogWidth = 3;//12 bits +static uint8_t __analogCycles = 8; +static uint8_t __analogSamples = 0;//1 sample +static uint8_t __analogClockDiv = 1; + +void __analogSetWidth(uint8_t bits){ + if(bits < 9){ + bits = 9; + } else if(bits > 12){ + bits = 12; + } + __analogWidth = bits - 9; + SET_PERI_REG_BITS(SENS_SAR_START_FORCE_REG, SENS_SAR1_BIT_WIDTH, __analogWidth, SENS_SAR1_BIT_WIDTH_S); + SET_PERI_REG_BITS(SENS_SAR_READ_CTRL_REG, SENS_SAR1_SAMPLE_BIT, __analogWidth, SENS_SAR1_SAMPLE_BIT_S); + + SET_PERI_REG_BITS(SENS_SAR_START_FORCE_REG, SENS_SAR2_BIT_WIDTH, __analogWidth, SENS_SAR2_BIT_WIDTH_S); + SET_PERI_REG_BITS(SENS_SAR_READ_CTRL2_REG, SENS_SAR2_SAMPLE_BIT, __analogWidth, SENS_SAR2_SAMPLE_BIT_S); +} + +void __analogSetCycles(uint8_t cycles){ + __analogCycles = cycles; + SET_PERI_REG_BITS(SENS_SAR_READ_CTRL_REG, SENS_SAR1_SAMPLE_CYCLE, __analogCycles, SENS_SAR1_SAMPLE_CYCLE_S); + SET_PERI_REG_BITS(SENS_SAR_READ_CTRL2_REG, SENS_SAR2_SAMPLE_CYCLE, __analogCycles, SENS_SAR2_SAMPLE_CYCLE_S); +} + +void __analogSetSamples(uint8_t samples){ + if(!samples){ + return; + } + __analogSamples = samples - 1; + SET_PERI_REG_BITS(SENS_SAR_READ_CTRL_REG, SENS_SAR1_SAMPLE_NUM, __analogSamples, SENS_SAR1_SAMPLE_NUM_S); + SET_PERI_REG_BITS(SENS_SAR_READ_CTRL2_REG, SENS_SAR2_SAMPLE_NUM, __analogSamples, SENS_SAR2_SAMPLE_NUM_S); +} + +void __analogSetClockDiv(uint8_t clockDiv){ + if(!clockDiv){ + return; + } + __analogClockDiv = clockDiv; + SET_PERI_REG_BITS(SENS_SAR_READ_CTRL_REG, SENS_SAR1_CLK_DIV, __analogClockDiv, SENS_SAR1_CLK_DIV_S); + SET_PERI_REG_BITS(SENS_SAR_READ_CTRL2_REG, SENS_SAR2_CLK_DIV, __analogClockDiv, SENS_SAR2_CLK_DIV_S); +} + +void __analogSetAttenuation(uint8_t attenuation){ + __analogAttenuation = attenuation & 3; + uint32_t att_data = 0; + int i = 8; + while(i--){ + att_data |= __analogAttenuation << (i * 2); + } + SET_PERI_REG_BITS(SENS_SAR_MEAS_START1_REG, SENS_MEAS1_DATA_SAR, att_data, SENS_MEAS1_DATA_SAR_S); + SET_PERI_REG_BITS(SENS_SAR_MEAS_START2_REG, SENS_MEAS2_DATA_SAR, att_data, SENS_MEAS2_DATA_SAR_S); +} + +void IRAM_ATTR __analogInit(){ + static bool initialized = false; + if(initialized){ + return; + } + __analogSetAttenuation(__analogAttenuation); + __analogSetCycles(__analogCycles); + __analogSetSamples(__analogSamples + 1);//in samples + __analogSetClockDiv(__analogClockDiv); + __analogSetWidth(__analogWidth + 9);//in bits + + SET_PERI_REG_MASK(SENS_SAR_READ_CTRL_REG, SENS_SAR1_DATA_INV); + SET_PERI_REG_MASK(SENS_SAR_READ_CTRL2_REG, SENS_SAR2_DATA_INV); + + SET_PERI_REG_MASK(SENS_SAR_MEAS_START1_REG, SENS_MEAS1_START_FORCE_M); //SAR ADC1 controller (in RTC) is started by SW + SET_PERI_REG_MASK(SENS_SAR_MEAS_START1_REG, SENS_SAR1_EN_PAD_FORCE_M); //SAR ADC1 pad enable bitmap is controlled by SW + SET_PERI_REG_MASK(SENS_SAR_MEAS_START2_REG, SENS_MEAS2_START_FORCE_M); //SAR ADC2 controller (in RTC) is started by SW + SET_PERI_REG_MASK(SENS_SAR_MEAS_START2_REG, SENS_SAR2_EN_PAD_FORCE_M); //SAR ADC2 pad enable bitmap is controlled by SW + + CLEAR_PERI_REG_MASK(SENS_SAR_MEAS_WAIT2_REG, SENS_FORCE_XPD_SAR_M); //force XPD_SAR=0, use XPD_FSM + SET_PERI_REG_BITS(SENS_SAR_MEAS_WAIT2_REG, SENS_FORCE_XPD_AMP, 0x2, SENS_FORCE_XPD_AMP_S); //force XPD_AMP=0 + + CLEAR_PERI_REG_MASK(SENS_SAR_MEAS_CTRL_REG, 0xfff << SENS_AMP_RST_FB_FSM_S); //clear FSM + SET_PERI_REG_BITS(SENS_SAR_MEAS_WAIT1_REG, SENS_SAR_AMP_WAIT1, 0x1, SENS_SAR_AMP_WAIT1_S); + SET_PERI_REG_BITS(SENS_SAR_MEAS_WAIT1_REG, SENS_SAR_AMP_WAIT2, 0x1, SENS_SAR_AMP_WAIT2_S); + SET_PERI_REG_BITS(SENS_SAR_MEAS_WAIT2_REG, SENS_SAR_AMP_WAIT3, 0x1, SENS_SAR_AMP_WAIT3_S); + while (GET_PERI_REG_BITS2(SENS_SAR_SLAVE_ADDR1_REG, 0x7, SENS_MEAS_STATUS_S) != 0); //wait det_fsm== + + initialized = true; +} + +uint16_t IRAM_ATTR __analogRead(uint8_t pin) +{ + int8_t channel = digitalPinToAnalogChannel(pin); + if(channel < 0){ + return 0;//not adc pin + } + int8_t pad = digitalPinToTouchChannel(pin); + + if(pad >= 0){ + uint32_t touch = READ_PERI_REG(SENS_SAR_TOUCH_ENABLE_REG); + if(touch & (1 << pad)){ + touch &= ~((1 << (pad + SENS_TOUCH_PAD_OUTEN2_S)) + | (1 << (pad + SENS_TOUCH_PAD_OUTEN1_S)) + | (1 << (pad + SENS_TOUCH_PAD_WORKEN_S))); + WRITE_PERI_REG(SENS_SAR_TOUCH_ENABLE_REG, touch); + } + } else if(pin == 25){ + CLEAR_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE);//stop dac1 + } else if(pin == 26){ + CLEAR_PERI_REG_MASK(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_XPD_DAC | RTC_IO_PDAC2_DAC_XPD_FORCE);//stop dac2 + } + + pinMode(pin, ANALOG); + + __analogInit(); + + if(channel > 7){ + channel -= 10; + + SET_PERI_REG_BITS(SENS_SAR_MEAS_START2_REG, SENS_SAR2_EN_PAD, (1 << channel), SENS_SAR2_EN_PAD_S); + CLEAR_PERI_REG_MASK(SENS_SAR_MEAS_START2_REG, SENS_MEAS2_START_SAR_M); + SET_PERI_REG_MASK(SENS_SAR_MEAS_START2_REG, SENS_MEAS2_START_SAR_M); + while (GET_PERI_REG_MASK(SENS_SAR_MEAS_START2_REG, SENS_MEAS2_DONE_SAR) == 0) {}; //read done + return GET_PERI_REG_BITS2(SENS_SAR_MEAS_START2_REG, SENS_MEAS2_DATA_SAR, SENS_MEAS2_DATA_SAR_S); + } + + SET_PERI_REG_BITS(SENS_SAR_MEAS_START1_REG, SENS_SAR1_EN_PAD, (1 << channel), SENS_SAR1_EN_PAD_S); + CLEAR_PERI_REG_MASK(SENS_SAR_MEAS_START1_REG, SENS_MEAS1_START_SAR_M); + SET_PERI_REG_MASK(SENS_SAR_MEAS_START1_REG, SENS_MEAS1_START_SAR_M); + while (GET_PERI_REG_MASK(SENS_SAR_MEAS_START1_REG, SENS_MEAS1_DONE_SAR) == 0) {}; //read done + return GET_PERI_REG_BITS2(SENS_SAR_MEAS_START1_REG, SENS_MEAS1_DATA_SAR, SENS_MEAS1_DATA_SAR_S); +} +int __hallRead() //hall sensor without LNA +{ + int Sens_Vp0; + int Sens_Vn0; + int Sens_Vp1; + int Sens_Vn1; + + pinMode(36, ANALOG); + pinMode(39, ANALOG); + SET_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL1_REG, SENS_XPD_HALL_FORCE_M); // hall sens force enable + SET_PERI_REG_MASK(RTC_IO_HALL_SENS_REG, RTC_IO_XPD_HALL); // xpd hall + SET_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL1_REG, SENS_HALL_PHASE_FORCE_M); // phase force + CLEAR_PERI_REG_MASK(RTC_IO_HALL_SENS_REG, RTC_IO_HALL_PHASE); // hall phase + Sens_Vp0 = __analogRead(36); + Sens_Vn0 = __analogRead(39); + SET_PERI_REG_MASK(RTC_IO_HALL_SENS_REG, RTC_IO_HALL_PHASE); + Sens_Vp1 = __analogRead(36); + Sens_Vn1 = __analogRead(39); + SET_PERI_REG_BITS(SENS_SAR_MEAS_WAIT2_REG, SENS_FORCE_XPD_SAR, 0, SENS_FORCE_XPD_SAR_S); + CLEAR_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL1_REG, SENS_XPD_HALL_FORCE); + CLEAR_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL1_REG, SENS_HALL_PHASE_FORCE); + return (Sens_Vp1 - Sens_Vp0) - (Sens_Vn1 - Sens_Vn0); +} + +extern uint16_t analogRead(uint8_t pin) __attribute__ ((weak, alias("__analogRead"))); +extern void analogSetWidth(uint8_t bits) __attribute__ ((weak, alias("__analogSetWidth"))); +extern void analogSetCycles(uint8_t cycles) __attribute__ ((weak, alias("__analogSetCycles"))); +extern void analogSetSamples(uint8_t samples) __attribute__ ((weak, alias("__analogSetSamples"))); +extern void analogSetClockDiv(uint8_t clockDiv) __attribute__ ((weak, alias("__analogSetClockDiv"))); +//extern void analogSetAttenuation(uint8_t attenuation) __attribute__ ((weak, alias("__analogSetAttenuation"))); +extern int hallRead() __attribute__ ((weak, alias("__hallRead"))); diff --git a/cores/esp32/esp32-hal-adc.h b/cores/esp32/esp32-hal-adc.h new file mode 100644 index 00000000..d29ecf6d --- /dev/null +++ b/cores/esp32/esp32-hal-adc.h @@ -0,0 +1,74 @@ +/* + Arduino.h - Main include file for the Arduino SDK + Copyright (c) 2005-2013 Arduino Team. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef MAIN_ESP32_HAL_ADC_H_ +#define MAIN_ESP32_HAL_ADC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "esp32-hal.h" + +/* + * Get ADC value for pin + * */ +uint16_t analogRead(uint8_t pin); + +/* + * Sets the sample bits (9 - 12) + * */ +void analogSetWidth(uint8_t bits); + +/* + * Set number of cycles per sample + * Default is 8 and seems to do well + * Range is 1 - 255 + * */ +void analogSetCycles(uint8_t cycles); + +/* + * Set number of samples in the range. + * Default is 1 + * Range is 1 - 255 + * This setting splits the range into + * "samples" pieces, which could look + * like the sensitivity has been multiplied + * that many times + * */ +void analogSetSamples(uint8_t samples); + +/* + * Set the divider for the ADC clock. + * Default is 1 + * Range is 1 - 255 + * */ +void analogSetClockDiv(uint8_t clockDiv); + +/* + * Get value for HALL sensor (without LNA) + * connected to pins 36(SVP) and 39(SVN) + * */ +int hallRead(); + +#ifdef __cplusplus +} +#endif + +#endif /* MAIN_ESP32_HAL_ADC_H_ */ diff --git a/cores/esp32/esp32-hal-dac.c b/cores/esp32/esp32-hal-dac.c new file mode 100644 index 00000000..e407c221 --- /dev/null +++ b/cores/esp32/esp32-hal-dac.c @@ -0,0 +1,54 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "esp32-hal-dac.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "rom/ets_sys.h" +#include "esp_attr.h" +#include "esp_intr.h" +#include "soc/rtc_io_reg.h" +#include "soc/rtc_cntl_reg.h" +#include "soc/sens_reg.h" + +void IRAM_ATTR __dacWrite(uint8_t pin, uint8_t value) +{ + if(pin < 25 || pin > 26){ + return;//not dac pin + } + pinMode(pin, ANALOG); + uint8_t channel = pin - 25; + + + //Disable Tone + CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL1_REG, SENS_SW_TONE_EN); + + if (channel) { + //Disable Channel Tone + CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN2_M); + //Set the Dac value + SET_PERI_REG_BITS(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_DAC, value, RTC_IO_PDAC2_DAC_S); //dac_output + //Channel output enable + SET_PERI_REG_MASK(RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_XPD_DAC | RTC_IO_PDAC2_DAC_XPD_FORCE); + } else { + //Disable Channel Tone + CLEAR_PERI_REG_MASK(SENS_SAR_DAC_CTRL2_REG, SENS_DAC_CW_EN1_M); + //Set the Dac value + SET_PERI_REG_BITS(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_DAC, value, RTC_IO_PDAC1_DAC_S); //dac_output + //Channel output enable + SET_PERI_REG_MASK(RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_XPD_DAC | RTC_IO_PDAC1_DAC_XPD_FORCE); + } +} + +extern void dacWrite(uint8_t pin, uint8_t value) __attribute__ ((weak, alias("__dacWrite"))); diff --git a/cores/esp32/esp32-hal-dac.h b/cores/esp32/esp32-hal-dac.h new file mode 100644 index 00000000..fdb21628 --- /dev/null +++ b/cores/esp32/esp32-hal-dac.h @@ -0,0 +1,35 @@ +/* + Arduino.h - Main include file for the Arduino SDK + Copyright (c) 2005-2013 Arduino Team. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef MAIN_ESP32_HAL_DAC_H_ +#define MAIN_ESP32_HAL_DAC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "esp32-hal.h" + +void dacWrite(uint8_t pin, uint8_t value); + +#ifdef __cplusplus +} +#endif + +#endif /* MAIN_ESP32_HAL_DAC_H_ */ diff --git a/cores/esp32/esp32-hal-gpio.c b/cores/esp32/esp32-hal-gpio.c index 19f0417a..74a45c2d 100644 --- a/cores/esp32/esp32-hal-gpio.c +++ b/cores/esp32/esp32-hal-gpio.c @@ -26,69 +26,97 @@ #define ETS_GPIO_INUM 4 -typedef struct { - uint32_t mux; /*!< Register to modify various pin settings */ - uint32_t pud; /*!< Register to modify to enable or disable pullups or pulldowns */ - uint32_t pu; /*!< Bit to set or clear in the above register to enable or disable the pullup, respectively */ - uint32_t pd; /*!< Bit to set or clear in the above register to enable or disable the pulldown, respectively */ -} esp32_gpioMux_t; - const DRAM_ATTR esp32_gpioMux_t esp32_gpioMux[GPIO_PIN_COUNT]={ - {DR_REG_IO_MUX_BASE + 0x44, RTC_IO_TOUCH_PAD1_REG, RTC_IO_TOUCH_PAD1_RUE_M, RTC_IO_TOUCH_PAD1_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x88, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x40, RTC_IO_TOUCH_PAD2_REG, RTC_IO_TOUCH_PAD2_RUE_M, RTC_IO_TOUCH_PAD2_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x84, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x48, RTC_IO_TOUCH_PAD0_REG, RTC_IO_TOUCH_PAD0_RUE_M, RTC_IO_TOUCH_PAD0_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x6c, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x60, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x64, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x68, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x54, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x58, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x5c, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x34, RTC_IO_TOUCH_PAD5_REG, RTC_IO_TOUCH_PAD5_RUE_M, RTC_IO_TOUCH_PAD5_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x38, RTC_IO_TOUCH_PAD4_REG, RTC_IO_TOUCH_PAD4_RUE_M, RTC_IO_TOUCH_PAD4_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x30, RTC_IO_TOUCH_PAD6_REG, RTC_IO_TOUCH_PAD6_RUE_M, RTC_IO_TOUCH_PAD6_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x3c, RTC_IO_TOUCH_PAD3_REG, RTC_IO_TOUCH_PAD3_RUE_M, RTC_IO_TOUCH_PAD3_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x4c, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x50, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x70, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x74, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x78, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x7c, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x80, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x8c, 0, 0, 0}, - {0, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x24, RTC_IO_PAD_DAC1_REG, RTC_IO_PDAC1_RUE_M, RTC_IO_PDAC1_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x28, RTC_IO_PAD_DAC2_REG, RTC_IO_PDAC2_RUE_M, RTC_IO_PDAC2_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x2c, RTC_IO_TOUCH_PAD7_REG, RTC_IO_TOUCH_PAD7_RUE_M, RTC_IO_TOUCH_PAD7_RDE_M}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {0, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x1c, RTC_IO_XTAL_32K_PAD_REG, RTC_IO_X32P_RUE_M, RTC_IO_X32P_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x20, RTC_IO_XTAL_32K_PAD_REG, RTC_IO_X32N_RUE_M, RTC_IO_X32N_RDE_M}, - {DR_REG_IO_MUX_BASE + 0x14, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x18, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x04, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x08, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x0c, 0, 0, 0}, - {DR_REG_IO_MUX_BASE + 0x10, 0, 0, 0} + {0x44, 11, 11, 1}, + {0x88, -1, -1, -1}, + {0x40, 12, 12, 2}, + {0x84, -1, -1, -1}, + {0x48, 10, 10, 0}, + {0x6c, -1, -1, -1}, + {0x60, -1, -1, -1}, + {0x64, -1, -1, -1}, + {0x68, -1, -1, -1}, + {0x54, -1, -1, -1}, + {0x58, -1, -1, -1}, + {0x5c, -1, -1, -1}, + {0x34, 15, 15, 5}, + {0x38, 14, 14, 4}, + {0x30, 16, 16, 6}, + {0x3c, 13, 13, 3}, + {0x4c, -1, -1, -1}, + {0x50, -1, -1, -1}, + {0x70, -1, -1, -1}, + {0x74, -1, -1, -1}, + {0x78, -1, -1, -1}, + {0x7c, -1, -1, -1}, + {0x80, -1, -1, -1}, + {0x8c, -1, -1, -1}, + {0, -1, -1, -1}, + {0x24, 6, 18, -1}, //DAC1 + {0x28, 7, 19, -1}, //DAC2 + {0x2c, 17, 17, 7}, + {0, -1, -1, -1}, + {0, -1, -1, -1}, + {0, -1, -1, -1}, + {0, -1, -1, -1}, + {0x1c, 9, 4, 9}, + {0x20, 8, 5, 8}, + {0x14, 4, 6, -1}, + {0x18, 5, 7, -1}, + {0x04, 0, 0, -1}, + {0x08, 1, -1, -1}, + {0x0c, 2, -1, -1}, + {0x10, 3, 3, -1} }; typedef void (*voidFuncPtr)(void); static voidFuncPtr __pinInterruptHandlers[GPIO_PIN_COUNT] = {0,}; +#include "driver/rtc_io.h" + extern void IRAM_ATTR __pinMode(uint8_t pin, uint8_t mode) { - if(pin > 39 || !esp32_gpioMux[pin].mux) { + if(!digitalPinIsValid(pin)) { return; } - uint32_t pinFunction = 0, pinControl = 0; - const esp32_gpioMux_t * mux = &esp32_gpioMux[pin]; + uint32_t rtc_reg = rtc_gpio_desc[pin].reg; + if(mode == ANALOG) { + if(!rtc_reg) { + return;//not rtc pin + } + //lock rtc + uint32_t reg_val = ESP_REG(rtc_reg); + if(reg_val & rtc_gpio_desc[pin].mux){ + return;//already in adc mode + } + reg_val &= ~( + (RTC_IO_TOUCH_PAD1_FUN_SEL_V << rtc_gpio_desc[pin].func) + |rtc_gpio_desc[pin].ie + |rtc_gpio_desc[pin].pullup + |rtc_gpio_desc[pin].pulldown); + ESP_REG(RTC_GPIO_ENABLE_W1TC_REG) = (1 << (rtc_gpio_desc[pin].rtc_num + RTC_GPIO_ENABLE_W1TC_S)); + ESP_REG(rtc_reg) = reg_val | rtc_gpio_desc[pin].mux; + //unlock rtc + ESP_REG(DR_REG_IO_MUX_BASE + esp32_gpioMux[pin].reg) = ((uint32_t)2 << MCU_SEL_S) | ((uint32_t)2 << FUN_DRV_S) | FUN_IE; + return; + } else if(rtc_reg) { + //lock rtc + ESP_REG(rtc_reg) = ESP_REG(rtc_reg) & ~(rtc_gpio_desc[pin].mux); + if(mode & PULLUP) { + ESP_REG(rtc_reg) = (ESP_REG(rtc_reg) | rtc_gpio_desc[pin].pullup) & ~(rtc_gpio_desc[pin].pulldown); + } else if(mode & PULLDOWN) { + ESP_REG(rtc_reg) = (ESP_REG(rtc_reg) | rtc_gpio_desc[pin].pulldown) & ~(rtc_gpio_desc[pin].pullup); + } else { + ESP_REG(rtc_reg) = ESP_REG(rtc_reg) & ~(rtc_gpio_desc[pin].pullup | rtc_gpio_desc[pin].pulldown); + } + //unlock rtc + } + uint32_t pinFunction = 0, pinControl = 0; + + //lock gpio if(mode & INPUT) { if(pin < 32) { GPIO.enable_w1tc = ((uint32_t)1 << pin); @@ -102,7 +130,10 @@ extern void IRAM_ATTR __pinMode(uint8_t pin, uint8_t mode) pinFunction |= FUN_PD; } } else if(mode & OUTPUT) { - if(pin < 32) { + if(pin > 33){ + //unlock gpio + return;//pins above 33 can be only inputs + } else if(pin < 32) { GPIO.enable_w1ts = ((uint32_t)1 << pin); } else { GPIO.enable1_w1ts.val = ((uint32_t)1 << (pin - 32)); @@ -120,25 +151,14 @@ extern void IRAM_ATTR __pinMode(uint8_t pin, uint8_t mode) pinFunction |= ((uint32_t)(mode >> 5) << MCU_SEL_S); } - ESP_REG(mux->mux) = pinFunction; - - if(mux->pud){ - if((mode & INPUT) && (mode & (PULLUP|PULLDOWN))) { - if(mode & PULLUP) { - ESP_REG(mux->pud) = (ESP_REG(mux->pud) | mux->pu) & ~(mux->pd); - } else { - ESP_REG(mux->pud) = (ESP_REG(mux->pud) | mux->pd) & ~(mux->pu); - } - } else { - ESP_REG(mux->pud) = ESP_REG(mux->pud) & ~(mux->pu | mux->pd); - } - } + ESP_REG(DR_REG_IO_MUX_BASE + esp32_gpioMux[pin].reg) = pinFunction; if(mode & OPEN_DRAIN) { pinControl = (1 << GPIO_PIN0_PAD_DRIVER_S); } GPIO.pin[pin].val = pinControl; + //unlock gpio } extern void IRAM_ATTR __digitalWrite(uint8_t pin, uint8_t val) @@ -146,13 +166,13 @@ extern void IRAM_ATTR __digitalWrite(uint8_t pin, uint8_t val) if(val) { if(pin < 32) { GPIO.out_w1ts = ((uint32_t)1 << pin); - } else if(pin < 35) { + } else if(pin < 34) { GPIO.out1_w1ts.val = ((uint32_t)1 << (pin - 32)); } } else { if(pin < 32) { GPIO.out_w1tc = ((uint32_t)1 << pin); - } else if(pin < 35) { + } else if(pin < 34) { GPIO.out1_w1tc.val = ((uint32_t)1 << (pin - 32)); } } @@ -215,6 +235,7 @@ extern void __attachInterrupt(uint8_t pin, voidFuncPtr userFunc, int intr_type) ESP_INTR_ENABLE(ETS_GPIO_INUM); } __pinInterruptHandlers[pin] = userFunc; + //lock gpio ESP_INTR_DISABLE(ETS_GPIO_INUM); if(core_id) { //APP_CPU GPIO.pin[pin].int_ena = 1; @@ -223,15 +244,18 @@ extern void __attachInterrupt(uint8_t pin, voidFuncPtr userFunc, int intr_type) } GPIO.pin[pin].int_type = intr_type; ESP_INTR_ENABLE(ETS_GPIO_INUM); + //unlock gpio } extern void __detachInterrupt(uint8_t pin) { - __pinInterruptHandlers[pin] = NULL; + //lock gpio ESP_INTR_DISABLE(ETS_GPIO_INUM); + __pinInterruptHandlers[pin] = NULL; GPIO.pin[pin].int_ena = 0; GPIO.pin[pin].int_type = 0; ESP_INTR_ENABLE(ETS_GPIO_INUM); + //unlock gpio } diff --git a/cores/esp32/esp32-hal-gpio.h b/cores/esp32/esp32-hal-gpio.h index 09fc8f8b..06e3b2b8 100644 --- a/cores/esp32/esp32-hal-gpio.h +++ b/cores/esp32/esp32-hal-gpio.h @@ -39,11 +39,13 @@ extern "C" { #define OPEN_DRAIN 0x10 #define OUTPUT_OPEN_DRAIN 0x12 #define SPECIAL 0xF0 -#define FUNCTION_0 0x00 -#define FUNCTION_1 0x20 -#define FUNCTION_2 0x40 -#define FUNCTION_3 0x70 -#define FUNCTION_4 0x80 +#define FUNCTION_1 0x00 +#define FUNCTION_2 0x20 +#define FUNCTION_3 0x40 +#define FUNCTION_4 0x60 +#define FUNCTION_5 0x80 +#define FUNCTION_6 0xA0 +#define ANALOG 0xC0 //Interrupt Modes #define DISABLED 0x00 @@ -55,6 +57,22 @@ extern "C" { #define ONLOW_WE 0x0C #define ONHIGH_WE 0x0D +typedef struct { + uint8_t reg; /*!< GPIO register offset from DR_REG_IO_MUX_BASE */ + int8_t rtc; /*!< RTC GPIO number (-1 if not RTC GPIO pin) */ + int8_t adc; /*!< ADC Channel number (-1 if not ADC pin) */ + int8_t touch; /*!< Touch Channel number (-1 if not Touch pin) */ +} esp32_gpioMux_t; + +extern const esp32_gpioMux_t esp32_gpioMux[40]; + +#define digitalPinIsValid(pin) ((pin) < 40 && esp32_gpioMux[(pin)].reg) +#define digitalPinCanOutput(pin) ((pin) < 34 && esp32_gpioMux[(pin)].reg) +#define digitalPinToRtcPin(pin) (((pin) < 40)?esp32_gpioMux[(pin)].rtc:-1) +#define digitalPinToAnalogChannel(pin) (((pin) < 40)?esp32_gpioMux[(pin)].adc:-1) +#define digitalPinToTouchChannel(pin) (((pin) < 40)?esp32_gpioMux[(pin)].touch:-1) +#define digitalPinToDacChannel(pin) (((pin) == 25)?0:((pin) == 26)?1:-1) + void pinMode(uint8_t pin, uint8_t mode); void digitalWrite(uint8_t pin, uint8_t val); int digitalRead(uint8_t pin); diff --git a/cores/esp32/esp32-hal-touch.c b/cores/esp32/esp32-hal-touch.c new file mode 100644 index 00000000..cb4d1d40 --- /dev/null +++ b/cores/esp32/esp32-hal-touch.c @@ -0,0 +1,172 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "esp32-hal-touch.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "rom/ets_sys.h" +#include "esp_attr.h" +#include "esp_intr.h" +#include "soc/rtc_io_reg.h" +#include "soc/rtc_cntl_reg.h" +#include "soc/sens_reg.h" + +#define RTC_TOUCH_INUM 5 + +static uint16_t __touchSleepCycles = 0x1000; +static uint16_t __touchMeasureCycles = 0x1000; + +typedef void (*voidFuncPtr)(void); +static voidFuncPtr __touchInterruptHandlers[10] = {0,}; + +void IRAM_ATTR __touchISR(void * arg) +{ + uint32_t pad_intr = READ_PERI_REG(SENS_SAR_TOUCH_CTRL2_REG) & 0x3ff; + uint32_t rtc_intr = READ_PERI_REG(RTC_CNTL_INT_ST_REG); + uint8_t i = 0; + //clear interrupt + WRITE_PERI_REG(RTC_CNTL_INT_CLR_REG, rtc_intr); + SET_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL2_REG, SENS_TOUCH_MEAS_EN_CLR); + + if (rtc_intr & RTC_CNTL_TOUCH_INT_ST) { + for (i = 0; i < 10; ++i) { + if ((pad_intr >> i) & 0x01) { + if(__touchInterruptHandlers[i]){ + __touchInterruptHandlers[i](); + } + } + } + } +} + +void __touchSetCycles(uint16_t measure, uint16_t sleep) +{ + __touchSleepCycles = sleep; + __touchMeasureCycles = measure; + //Touch pad SleepCycle Time + SET_PERI_REG_BITS(SENS_SAR_TOUCH_CTRL2_REG, SENS_TOUCH_SLEEP_CYCLES, __touchSleepCycles, SENS_TOUCH_SLEEP_CYCLES_S); + //Touch Pad Measure Time + SET_PERI_REG_BITS(SENS_SAR_TOUCH_CTRL1_REG, SENS_TOUCH_MEAS_DELAY, __touchMeasureCycles, SENS_TOUCH_MEAS_DELAY_S); +} + +void __touchInit() +{ + static bool initialized = false; + if(initialized){ + return; + } + SET_PERI_REG_BITS(RTC_IO_TOUCH_CFG_REG, RTC_IO_TOUCH_XPD_BIAS, 1, RTC_IO_TOUCH_XPD_BIAS_S); + SET_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL2_REG, SENS_TOUCH_MEAS_EN_CLR); + //clear touch enable + WRITE_PERI_REG(SENS_SAR_TOUCH_ENABLE_REG, 0x0); + SET_PERI_REG_MASK(RTC_CNTL_STATE0_REG, RTC_CNTL_TOUCH_SLP_TIMER_EN); + + __touchSetCycles(__touchMeasureCycles, __touchSleepCycles); + + ESP_INTR_DISABLE(RTC_TOUCH_INUM); + intr_matrix_set(xPortGetCoreID(), ETS_RTC_CORE_INTR_SOURCE, RTC_TOUCH_INUM); + xt_set_interrupt_handler(RTC_TOUCH_INUM, &__touchISR, NULL); + ESP_INTR_ENABLE(RTC_TOUCH_INUM); + initialized = true; +} + +uint16_t __touchRead(uint8_t pin) +{ + int8_t pad = digitalPinToTouchChannel(pin); + if(pad < 0){ + return 0; + } + + pinMode(pin, ANALOG); + + __touchInit(); + + uint32_t v0 = READ_PERI_REG(SENS_SAR_TOUCH_ENABLE_REG); + //Disable Intr & enable touch pad + WRITE_PERI_REG(SENS_SAR_TOUCH_ENABLE_REG, + (v0 & ~((1 << (pad + SENS_TOUCH_PAD_OUTEN2_S)) | (1 << (pad + SENS_TOUCH_PAD_OUTEN1_S)))) + | (1 << (pad + SENS_TOUCH_PAD_WORKEN_S))); + + SET_PERI_REG_MASK(SENS_SAR_TOUCH_ENABLE_REG, (1 << (pad + SENS_TOUCH_PAD_WORKEN_S))); + + uint32_t rtc_tio_reg = RTC_IO_TOUCH_PAD0_REG + pad * 4; + WRITE_PERI_REG(rtc_tio_reg, (READ_PERI_REG(rtc_tio_reg) + & ~(RTC_IO_TOUCH_PAD0_DAC_M)) + | (7 << RTC_IO_TOUCH_PAD0_DAC_S)//Touch Set Slope + | RTC_IO_TOUCH_PAD0_TIE_OPT_M //Enable Tie,Init Level + | RTC_IO_TOUCH_PAD0_START_M //Enable Touch Pad IO + | RTC_IO_TOUCH_PAD0_XPD_M); //Enable Touch Pad Power on + + //force oneTime test start + SET_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL2_REG, SENS_TOUCH_START_EN_M|SENS_TOUCH_START_FORCE_M); + + SET_PERI_REG_BITS(SENS_SAR_TOUCH_CTRL1_REG, SENS_TOUCH_XPD_WAIT, 10, SENS_TOUCH_XPD_WAIT_S); + + while (GET_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL2_REG, SENS_TOUCH_MEAS_DONE) == 0) {}; + + uint16_t touch_value = READ_PERI_REG(SENS_SAR_TOUCH_OUT1_REG + (pad / 2) * 4) >> ((pad & 1) ? SENS_TOUCH_MEAS_OUT1_S : SENS_TOUCH_MEAS_OUT0_S); + + //clear touch force ,select the Touch mode is Timer + CLEAR_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL2_REG, SENS_TOUCH_START_EN_M|SENS_TOUCH_START_FORCE_M); + + //restore previous value + WRITE_PERI_REG(SENS_SAR_TOUCH_ENABLE_REG, v0); + return touch_value; +} + +void __touchAttachInterrupt(uint8_t pin, void (*userFunc)(void), uint16_t threshold) +{ + int8_t pad = digitalPinToTouchChannel(pin); + if(pad < 0){ + return; + } + + pinMode(pin, ANALOG); + + __touchInit(); + + __touchInterruptHandlers[pad] = userFunc; + + //clear touch force ,select the Touch mode is Timer + CLEAR_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL2_REG, SENS_TOUCH_START_EN_M|SENS_TOUCH_START_FORCE_M); + + //interrupt when touch value < threshold + CLEAR_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL1_REG, SENS_TOUCH_OUT_SEL); + //Intr will give ,when SET0 < threshold + SET_PERI_REG_MASK(SENS_SAR_TOUCH_CTRL1_REG, SENS_TOUCH_OUT_1EN); + //Enable Rtc Touch Module Intr,the Interrupt need Rtc out Enable + SET_PERI_REG_MASK(RTC_CNTL_INT_ENA_REG, RTC_CNTL_TOUCH_INT_ENA); + + //set threshold + uint8_t shift = (pad & 1) ? SENS_TOUCH_OUT_TH1_S : SENS_TOUCH_OUT_TH0_S; + SET_PERI_REG_BITS((SENS_SAR_TOUCH_THRES1_REG + (pad / 2) * 4), SENS_TOUCH_OUT_TH0, threshold, shift); + + uint32_t rtc_tio_reg = RTC_IO_TOUCH_PAD0_REG + pad * 4; + WRITE_PERI_REG(rtc_tio_reg, (READ_PERI_REG(rtc_tio_reg) + & ~(RTC_IO_TOUCH_PAD0_DAC_M)) + | (7 << RTC_IO_TOUCH_PAD0_DAC_S)//Touch Set Slope + | RTC_IO_TOUCH_PAD0_TIE_OPT_M //Enable Tie,Init Level + | RTC_IO_TOUCH_PAD0_START_M //Enable Touch Pad IO + | RTC_IO_TOUCH_PAD0_XPD_M); //Enable Touch Pad Power on + + //Enable Digital rtc control :work mode and out mode + SET_PERI_REG_MASK(SENS_SAR_TOUCH_ENABLE_REG, + (1 << (pad + SENS_TOUCH_PAD_WORKEN_S)) | \ + (1 << (pad + SENS_TOUCH_PAD_OUTEN2_S)) | \ + (1 << (pad + SENS_TOUCH_PAD_OUTEN1_S))); +} + +extern uint16_t touchRead(uint8_t pin) __attribute__ ((weak, alias("__touchRead"))); +extern void touchAttachInterrupt(uint8_t pin, void (*userFunc)(void), uint16_t threshold) __attribute__ ((weak, alias("__touchAttachInterrupt"))); +extern void touchSetCycles(uint16_t measure, uint16_t sleep) __attribute__ ((weak, alias("__touchSetCycles"))); diff --git a/cores/esp32/esp32-hal-touch.h b/cores/esp32/esp32-hal-touch.h new file mode 100644 index 00000000..6f3b0fd0 --- /dev/null +++ b/cores/esp32/esp32-hal-touch.h @@ -0,0 +1,56 @@ +/* + Arduino.h - Main include file for the Arduino SDK + Copyright (c) 2005-2013 Arduino Team. All right reserved. + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef MAIN_ESP32_HAL_TOUCH_H_ +#define MAIN_ESP32_HAL_TOUCH_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "esp32-hal.h" + +/* + * Set cycles that measurement operation takes + * The result from touchRead, threshold and detection + * accuracy depend on these values. Defaults are + * 0x1000 for measure and 0x1000 for sleep. + * With default values touchRead takes 0.5ms + * */ +void touchSetCycles(uint16_t measure, uint16_t sleep); + +/* + * Read touch pad (values close to 0 mean touch detected) + * You can use this method to chose a good threshold value + * to use as value for touchAttachInterrupt + * */ +uint16_t touchRead(uint8_t pin); + +/* + * Set function to be called if touch pad value falls + * below the given threshold. Use touchRead to determine + * a proper threshold between touched and untouched state + * */ +void touchAttachInterrupt(uint8_t pin, void (*userFunc)(void), uint16_t threshold); + +#ifdef __cplusplus +} +#endif + +#endif /* MAIN_ESP32_HAL_TOUCH_H_ */ diff --git a/cores/esp32/esp32-hal.h b/cores/esp32/esp32-hal.h index 98b65b28..99153cea 100644 --- a/cores/esp32/esp32-hal.h +++ b/cores/esp32/esp32-hal.h @@ -50,6 +50,9 @@ void vPortYield( void ); #include "esp32-hal-matrix.h" #include "esp32-hal-uart.h" #include "esp32-hal-gpio.h" +#include "esp32-hal-touch.h" +#include "esp32-hal-dac.h" +#include "esp32-hal-adc.h" #include "esp32-hal-spi.h" #include "esp32-hal-i2c.h" #include "esp32-hal-ledc.h" diff --git a/platform.txt b/platform.txt index 8468f00f..af6a9d2e 100644 --- a/platform.txt +++ b/platform.txt @@ -26,7 +26,7 @@ compiler.S.flags=-c -g3 -x assembler-with-cpp -MMD -mlongcalls compiler.c.elf.cmd=xtensa-esp32-elf-gcc compiler.c.elf.flags="-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" -nostdlib -T esp32_out.ld -T esp32.common.ld -T esp32.rom.ld -T esp32.peripherals.ld -u call_user_start_cpu0 -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -compiler.c.elf.libs=-lapp_update -lbt -lbtdm_app -lc -lcoexist -lcore -ldriver -lesp32 -lethernet -lexpat -lfreertos -lg -lhal -ljson -llog -llwip -lm -lmbedtls -lnet80211 -lnewlib -lnghttp -lnvs_flash -lopenssl -lphy -lpp -lrtc -lsmartconfig -lspi_flash -ltcpip_adapter -lvfs -lwpa -lwpa2 -lwpa_supplicant -lwps -lxtensa-debug-module +compiler.c.elf.libs=-lapp_update -lbt -lbtdm_app -lc -lcoexist -lcore -ldriver -lesp32 -lethernet -lexpat -lfreertos -lg -lhal -ljson -llog -llwip -lm -lmbedtls -lnet80211 -lnewlib -lnghttp -lnvs_flash -lopenssl -lphy -lpp -lrtc -lsmartconfig -lspi_flash -ltcpip_adapter -lulp -lvfs -lwpa -lwpa2 -lwpa_supplicant -lwps -lxtensa-debug-module compiler.as.cmd=xtensa-esp32-elf-as diff --git a/tools/esptool.py b/tools/esptool.py index 4d847214..755f4cb8 100755 --- a/tools/esptool.py +++ b/tools/esptool.py @@ -51,7 +51,7 @@ def check_supported_function(func, check_func): if check_func(obj): return func(*args, **kwargs) else: - raise NotImplementedInROMError(obj, func) + raise NotImplementedInROMError(obj) return inner @@ -112,8 +112,9 @@ class ESPLoader(object): # Maximum block sized for RAM and Flash writes, respectively. ESP_RAM_BLOCK = 0x1800 + ESP_FLASH_BLOCK = 0x400 - FLASH_WRITE_SIZE = 0x400 + FLASH_WRITE_SIZE = ESP_FLASH_BLOCK # Default baudrate. The ROM auto-bauds, so we can use more or less whatever we want. ESP_ROM_BAUD = 115200 @@ -125,7 +126,7 @@ class ESPLoader(object): ESP_CHECKSUM_MAGIC = 0xef # Flash sector size, minimum unit of erase. - FLASH_SECTOR_SIZE = 0x1000 + ESP_FLASH_SECTOR = 0x1000 UART_DATA_REG_ADDR = 0x60000078 @@ -323,23 +324,19 @@ class ESPLoader(object): return self.check_command("leave RAM download mode", self.ESP_MEM_END, struct.pack(' 0.0: speed_msg = " (%.1f kbit/s)" % (written / t * 8 / 1000) print '\rWrote %d bytes at 0x%08x in %.1f seconds%s...' % (written, address, t, speed_msg) - try: - res = esp.flash_md5sum(address, uncsize) - if res != calcmd5: - print 'File md5: %s' % calcmd5 - print 'Flash md5: %s' % res - print 'MD5 of 0xFF is %s' % (hashlib.md5(b'\xFF' * uncsize).hexdigest()) - raise FatalError("MD5 of file does not match data in flash!") - else: - print 'Hash of data verified.' - except NotImplementedInROMError: - pass + res = esp.flash_md5sum(address, uncsize) + if res != calcmd5: + print 'File md5: %s' % calcmd5 + print 'Flash md5: %s' % res + raise FatalError("MD5 of file does not match data in flash!") + else: + print 'Hash of data verified.' print '\nLeaving...' if args.flash_mode == 'dio' and esp.CHIP_NAME == "ESP8266": esp.flash_unlock_dio() @@ -1559,10 +1539,6 @@ def elf2image(args): print "Creating image for ESP8266..." args.chip == 'esp8266' - if args.chip != 'esp32': - if args.set_encrypt_flag: - raise FatalError("--encrypt-flag only applies to ESP32 images") - if args.chip == 'esp32': image = ESP32FirmwareImage() elif args.version == '1': # ESP8266 @@ -1574,7 +1550,6 @@ def elf2image(args): image.flash_mode = {'qio':0, 'qout':1, 'dio':2, 'dout': 3}[args.flash_mode] image.flash_size_freq = image.ROM_LOADER.FLASH_SIZES[args.flash_size] image.flash_size_freq += {'40m':0, '26m':1, '20m':2, '80m': 0xf}[args.flash_freq] - image.encrypt_flag = args.set_encrypt_flag if args.output is None: args.output = image.default_output_name(args.input) @@ -1583,14 +1558,8 @@ def elf2image(args): def read_mac(esp, args): mac = esp.read_mac() - def print_mac(label, mac): - print '%s: %s' % (label, ':'.join(map(lambda x: '%02x' % x, mac))) - print("%r" % (mac,)) - if len(mac) == 1: - print_mac("MAC", mac) - else: - print_mac("WiFi MAC", mac[0]) - print_mac("BT MAC", mac[1]) + print 'MAC: %s' % ':'.join(map(lambda x: '%02x' % x, mac)) + def chip_id(esp, args): chipid = esp.chip_id() @@ -1792,8 +1761,6 @@ def main(): parser_elf2image.add_argument('input', help='Input ELF file') parser_elf2image.add_argument('--output', '-o', help='Output filename prefix (for version 1 image), or filename (for version 2 single image)', type=str) parser_elf2image.add_argument('--version', '-e', help='Output image version', choices=['1','2'], default='1') - parser_elf2image.add_argument('--set-encrypt-flag', help='Flag image to be encrypted by bootloader after flashing.', action="store_true") - add_spi_flash_subparsers(parser_elf2image) subparsers.add_parser( @@ -1877,10 +1844,8 @@ def main(): esp = esp.run_stub() if args.baud > initial_baud: - try: - esp.change_baud(args.baud) - except NotImplementedInROMError: - print "WARNING: ROM doesn't support changing baud rate. Keeping initial baud rate %d" % initial_baud + esp.change_baud(args.baud) + # TODO: handle a NotImplementedInROMError # override common SPI flash parameter stuff as required if hasattr(args, "ucIsHspi"): @@ -1954,98 +1919,96 @@ class AddrFilenamePairAction(argparse.Action): # Binary stub code (see flasher_stub dir for source & details) ESP8266ROM.STUB_CODE = eval(zlib.decompress(base64.b64decode(b""" -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\ -JlmuEgVGbP3zYv5L1xmpPPrX/wFeThnJ\ +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\ """))) ESP32ROM.STUB_CODE = eval(zlib.decompress(base64.b64decode(b""" -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\ """))) if __name__ == '__main__': diff --git a/tools/sdk/bin/bootloader.bin b/tools/sdk/bin/bootloader.bin index b614ae7fd09ded294e19b8efeb29ab9ab369ee4d..3eb62832809ae228269075ea17f278b135a6717c 100644 GIT binary patch delta 2233 zcmdm>c|mi-3|1ZqJ_d#h{R|EowG0lM=dd<23O3ID|A2#`aSn)-{lLJ$Fj} z+t~Ae1;>F+j0d~_U+n(>Xd%PLuK$faAQ>L6#%?Ix1)^m?m^m`k{MyTOXaP%O+vExC zI`TFDH`e@DZD0sn#j$iF!-8E33oHL0tonbk?Ek~E|BaQCZ?o4iMoy06kaF_`nZU!< z2&Nld{&%@JID9Si`(I!zP@p8h!?l;|Ec0C^AHKgVjXq$dQas#n5f6}v1*4<+(gV*hV2HHt%&@NhM%P0r)=GyR`6 zZ6V|T=~lcI7dsAicQhpmCM62+a7_IBZ`QPhfB#Ll670Cxlqdv|6G=)GZd$-Fmu2CP zf9Y0ClNK;cXJw!G?O(bjBM--1mW5ybrCTxba876CnE2^mx+PQ70tT@N=0%FUI}WNw zFywOGiAwDRdEm{zgE#-(xcK6rP~)wC4>%ZPKP*z@PS~b!;$Y*8$yr>6^-queUvyAn z(*lM=3l=m!1}SO0{_lVS!wQZ`tN%}!1q!a29F12XLK83lg9uH^U{GygSh()rUdGf! zhB;bK>p_;C`FC*hzs9W~Lu5ZN2rN`kJp?j*>FNJ>q@LD-R2=K#j@4thK{@p0l;cHwBQI_h#us};8EQ@hzB}jhOzk{>>-AH^< z*f<*^Z?r&R(SjWd7B(nsQaH=pxEv(9Xu*wD3#~StWri5CmML{|9k)35B&9?T)eo zWLvPtanUKp#z`Q71&b8sXr<ISujDdjx;;E;b|BL-% z0{cgGax#wrqw3@-Jlc$@lMnEy@TSIt?DzY3(CA;I@#K#@>h-EIAQ7j32UY(ys)3A> z{m{h7ktQLt=%9ouA48ZGqiPg5(OUmIDD$sT7NTU)f*-3EF5UAVl(7{+d4m@u&cniO zY+&OkZ5+t{FPD`~g@Hj~k%GWRg@B_9jfNlvb58MaHL`+OPeVY~YW=G}sP(Ur10=%3 zB>RCuVU1&>GKeR}1puB`G1XnK_XzaP{R|BDKtuhw15qN2a;Cx z2N^E>@1XF%#*ZKYuzICS0@5z#TbSH#{paCod;%61s+av>mdN1C#KUaKXvhUlw9E^Z zlr9ZnV9#P=OJv~T+IaQv(~tjkx$bB!^#mEq^zY!`zm0c5+GRg5EIj*HV55SnIYXEh z(+{~kR5 zw{h)c9)9Ke^M4N>`P;Y{Vu8_NM)ReY7O607JoQ)gA;{5Qs+J&=PW(N%`)}h+h$;pK z2E!wN4=6B1FgqUp>kujcB3%_gbbAE2}+83IKLLG@X1wK$NTKuj~hqk&1bf z-wS9uXZ}5y`S&hMqXtNsV#?p1MQfRPxMg}89YF%1+`^zxP-1jgLWzY@-8^!sB-sAg zzXxOf7F<_&#KPDpIXPNTLnY|%LBGG3R2dt2LHZVY{_QrlWa|*MvXFLZV`SiAS<9m6 zF?qRQ8Mp4=gBpKt9DK2{@!4bzAxi_nHyCb3lQigR`MQCCuah#GlAKaKM@+GA#Z3Utpm^<9CozVY6786d9BjF(_yV zXfi(i{lD@3AH}yIU7bvGnZQPcRs2u=^wtxW{Tmk?w>%b}i delta 2195 zcmcbhxj}Qo3|5vuybKJRm#{W7PPS$@v7Pq+0S80l#Q!Te4s2pPIN|@r3I880Wcb+s zzi}c+hKH+h0+j9t(Xt=R92shU?PWT&fTgi}@)~v>`Nsbn8~>{|Fodn*Sh|s6!7hb` zb^j06|G!xM|6%q2#=6Ph+3V`#{y(^Fe<^MtH|2LQ#WgseexEi%5cX4`h^8G)^^8YS#BkSZloRU%O|7T5G z$o7A_6>r7Gj)UDDO^Jd@i2^(v6PZ8~O#i1_33gm;N)&>~i6kWoH!Wb8%d+tAzjQ06 zNedXJv$9Y8{V&~;k%wb0%fg@k(ybVIIH$96O#D9CpG!vi>4tpv$0_;+x@zZ;1!3L6(fX+hRFxGMeCpL`M)U9l!r+v(QMIz8&a#D?*6|h z(RM9UV>!r_6^RShI5y4!F?G2XDY7kCru=J6 z0}0E1;NfbF0kMvmF)%PdJf*tjzt}G(uzyk~H}e=UrcU0%qs_Q<@&g_f-lg#%`$PU6 zwD{L(Ia!cby*@PtB;xV!p!UB;9gtD7ADS3B(j?>;9h6ArV+hM)OpO9(OUHi)mHss< zLzIAR`>|@_(mnrWKQNd%DuB|u5J--Ph1=M`#!=chkmp}6E1L=fgTf*OfsG0QM->{) zKnmuZ;^AuK0S_~*Y5I2cs@LH?5XcTnPA<2R51SiRCE0cjWWElh5= z{_}7(zWn>3o&#KzlKmH#4__tC00!UbC0mB3ahJ`2oZanZe_4R*H>eXUYbp~nv@b}=0 zzm3Nx-{6yFfARO={lATSC;#D7Wxx0L;FZ6Pn>FnQw2mUtBgQ#L)U@$!S_kaRJ1heCbzYd`SAktLIQ-|^Rpg+Z)^@u>mW zcU%7+-1@h%4rCd`a}0sie*=O90+bF|89C_^qa9cM1((g)#CJu%p9_h9c|g-Z&Jp_AtcNQ8F(J=pr!;Icxa4@gzbCyH zOqYv?tI-O?QWFyG2~tyHcVl8;0Hr9!^1relKn5rlPv#cXl*;>iFz@eOmPTEWV#UnA zJ&V>d^Ki@bG`dap6O`di`g<_(Z^3niM=Xqua+AviHB`d?9t{3_NtLlt2&7}7-`{Ry zOSTSCD+_6tHbw>>mbEO3zLO6NmT?>XJ*fNl#=#dG8(&X$5wbK;`g>63Z{zJh4>%YU zCH~5OPzXJcDD^jdn^Y96dEp2LyMAiwBx$$kJ~5SxJk9Kx(1M=3J>RnS_bpyvp#z9%w*;=Y5kp+P0g +#include #include "esp_err.h" #ifdef __cplusplus diff --git a/tools/sdk/include/config/sdkconfig.h b/tools/sdk/include/config/sdkconfig.h index 499d910d..ad2f7fbf 100644 --- a/tools/sdk/include/config/sdkconfig.h +++ b/tools/sdk/include/config/sdkconfig.h @@ -17,13 +17,16 @@ #define CONFIG_FREERTOS_THREAD_LOCAL_STORAGE_POINTERS 1 #define CONFIG_BT_RESERVE_DRAM 0x10000 #define CONFIG_LOG_BOOTLOADER_LEVEL_ERROR 1 +#define CONFIG_CONSOLE_UART_BAUDRATE 115200 #define CONFIG_LWIP_MAX_SOCKETS 4 #define CONFIG_ESP32_ENABLE_STACK_BT 1 #define CONFIG_ULP_COPROC_RESERVE_MEM 0 #define CONFIG_ESPTOOLPY_BAUD 921600 #define CONFIG_TOOLPREFIX "xtensa-esp32-elf-" +#define CONFIG_CONSOLE_UART_NUM 0 #define CONFIG_ESP32_RTC_CLOCK_SOURCE_INTERNAL_RC 1 #define CONFIG_LWIP_THREAD_LOCAL_STORAGE_INDEX 0 +#define CONFIG_CONSOLE_UART_DEFAULT 1 #define CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN 16384 #define CONFIG_AUTOSTART_ARDUINO 1 #define CONFIG_LOG_DEFAULT_LEVEL_ERROR 1 @@ -58,6 +61,7 @@ #define CONFIG_MBEDTLS_HARDWARE_SHA 1 #define CONFIG_FREERTOS_CORETIMER_0 1 #define CONFIG_PARTITION_TABLE_CUSTOM_FILENAME "partitions.csv" +#define CONFIG_MBEDTLS_HAVE_TIME 1 #define CONFIG_FREERTOS_ISR_STACKSIZE 1536 #define CONFIG_OPTIMIZATION_LEVEL_DEBUG 1 #define CONFIG_SYSTEM_EVENT_QUEUE_SIZE 32 diff --git a/tools/sdk/include/driver/driver/adc.h b/tools/sdk/include/driver/driver/adc.h new file mode 100644 index 00000000..56bdbc17 --- /dev/null +++ b/tools/sdk/include/driver/driver/adc.h @@ -0,0 +1,122 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _DRIVER_ADC_H_ +#define _DRIVER_ADC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include "esp_err.h" + +typedef enum { + ADC_ATTEN_0db = 0, /*! +#include "esp_err.h" + +typedef enum { + DAC_CHANNEL_1 = 1, /*!< DAC channel 1 is GPIO25 */ + DAC_CHANNEL_2, /*!< DAC channel 2 is GPIO26 */ + DAC_CHANNEL_MAX, +} dac_channel_t; + +/** + * @brief Set Dac output voltage. + * + * Dac width is 8bit ,and the voltage max is vdd + * + * @param channel dac channel + * @param dac_value dac output value + * + * @return + * - ESP_OK success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t dac_out_voltage(dac_channel_t channel, uint8_t dac_value); + +/** + *----------EXAMPLE TO USE DAC------------ * + * @code{c} + * dac_out_voltage(DAC_CHANNEL_1,200);//the dac out voltage ≈ 200*vdd/255 + * @endcode + **/ + +#ifdef __cplusplus +} +#endif + +#endif /*_DRIVER_DAC_H_*/ + diff --git a/tools/sdk/include/driver/driver/gpio.h b/tools/sdk/include/driver/driver/gpio.h index de34ac4e..de7525bd 100644 --- a/tools/sdk/include/driver/driver/gpio.h +++ b/tools/sdk/include/driver/driver/gpio.h @@ -117,32 +117,6 @@ extern const uint32_t GPIO_PIN_MUX_REG[GPIO_PIN_COUNT]; #define GPIO_IS_VALID_GPIO(gpio_num) ((gpio_num < GPIO_PIN_COUNT && GPIO_PIN_MUX_REG[gpio_num] != 0)) //to decide whether it is a valid GPIO number #define GPIO_IS_VALID_OUTPUT_GPIO(gpio_num) ((GPIO_IS_VALID_GPIO(gpio_num)) && (gpio_num < 34)) //to decide whether it can be a valid GPIO number of output mode -/** - * @brief Pullup/pulldown information for a single GPIO pad - */ -typedef struct { - uint32_t reg; /*!< Register to modify to enable or disable pullups or pulldowns */ - uint32_t pu; /*!< Bit to set or clear in the above register to enable or disable the pullup, respectively */ - uint32_t pd; /*!< Bit to set or clear in the above register to enable or disable the pulldown, respectively */ -} gpio_pu_pd_desc_t; - - -/** - * Per-GPIO pullup/pulldown information - * On the ESP32, some GPIOs need their pullups and pulldowns enabled and disabled in the RTC - * peripheral instead of in the GPIO peripheral. This array documents for every GPIO what bit - * to set or clear. - * - * This array is non-static, so if you need a very quick way of toggling the pull-up/downs, you can just - * do e.g. REG_SET_BIT(gpio_pu_pd_desc[gpio_num].reg, gpio_pu_pd_desc[gpio_num].pu); inline. - * - * ToDo: Functions using the contents of this array will do a read/modify/write on GPIO as well as RTC - * registers. We may need to look into muxes/locks for other code that accesses these RTC registers when we - * write drivers for the RTC stuff. - */ -extern const gpio_pu_pd_desc_t gpio_pu_pd_desc[GPIO_PIN_COUNT]; - - typedef enum { GPIO_NUM_0 = 0, /*!< GPIO0, input and output */ GPIO_NUM_1 = 1, /*!< GPIO1, input and output */ diff --git a/tools/sdk/include/driver/driver/pcnt.h b/tools/sdk/include/driver/driver/pcnt.h index deff7818..d2620cf1 100644 --- a/tools/sdk/include/driver/driver/pcnt.h +++ b/tools/sdk/include/driver/driver/pcnt.h @@ -27,9 +27,9 @@ typedef enum { } pcnt_ctrl_mode_t; typedef enum { - PCNT_COUNT_DIS = 0, /*!< Counter mode: Decrease counter value*/ + PCNT_COUNT_DIS = 0, /*!< Counter mode: Inhibit counter(counter value will not change in this condition)*/ PCNT_COUNT_INC = 1, /*!< Counter mode: Increase counter value*/ - PCNT_COUNT_DEC = 2, /*!< Counter mode: Inhibit counter(counter value will not change in this condition)*/ + PCNT_COUNT_DEC = 2, /*!< Counter mode: Decrease counter value*/ PCNT_COUNT_MAX } pcnt_count_mode_t; @@ -45,7 +45,7 @@ typedef enum { PCNT_UNIT_MAX, } pcnt_unit_t; -typedef enum{ +typedef enum { PCNT_CHANNEL_0 = 0x00, /*!< PCNT channel0 */ PCNT_CHANNEL_1 = 0x01, /*!< PCNT channel1 */ PCNT_CHANNEL_MAX, diff --git a/tools/sdk/include/driver/driver/rtc_io.h b/tools/sdk/include/driver/driver/rtc_io.h new file mode 100644 index 00000000..5196b058 --- /dev/null +++ b/tools/sdk/include/driver/driver/rtc_io.h @@ -0,0 +1,167 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _DRIVER_RTC_GPIO_H_ +#define _DRIVER_RTC_GPIO_H_ + +#include +#include "esp_err.h" +#include "driver/gpio.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Pullup/pulldown information for a single GPIO pad + */ +typedef struct { + uint32_t reg; /*!< Register of Rtc Pad */ + uint32_t mux; /*!< Mux seletct the Rtc pad is Digital Pad or Rtc pad */ + uint32_t func; /*!< Select Rtc Pad Func */ + uint32_t ie; /*!< Input Enable */ + uint32_t pullup; /*!< Pullup Enable */ + uint32_t pulldown; /*!< PullDown Enable */ + int rtc_num; /*!< The Rtc number */ +} rtc_gpio_desc_t; + +typedef enum { + RTC_GPIO_MODE_INPUT_ONLY , /*!< Pad output */ + RTC_GPIO_MODE_OUTPUT_ONLY, /*!< Pad input */ + RTC_GPIO_MODE_INPUT_OUTUT, /*!< Pad pull output + input */ + RTC_GPIO_MODE_DISABLED, /*!< Pad (output + input) disable */ +} rtc_gpio_mode_t; + +#define RTC_GPIO_IS_VALID_GPIO(gpio_num) ((gpio_num < GPIO_PIN_COUNT && rtc_gpio_desc[gpio_num].reg != 0)) //to decide whether it is a valid GPIO number + +extern const rtc_gpio_desc_t rtc_gpio_desc[GPIO_PIN_COUNT] ; + +/* + * @brief Init a gpio as rtc gpio + * + * when init a pad as analog function,need to call this funciton + * + * @param gpio_num gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_12 (12); + * + * @return + * - ESP_OK success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t rtc_gpio_init(gpio_num_t gpio_num); + +/** + * @brief Init a gpio as digital gpio + * + * @param gpio_num gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_12 (12); + * + * @return + * - ESP_OK success + * - ESP_ERR_INVALID_ARG Parameter error + */ +esp_err_t rtc_gpio_deinit(gpio_num_t gpio_num); + +/** + * @brief Get the rtc io input level + * + * @param gpio_num gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_12 (12); + * + * @return + * - 1 High level + * - 0 Low level + */ +uint32_t rtc_gpio_get_level(gpio_num_t gpio_num); + +/** + * @brief Set the rtc io output level + * + * @param gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_12 (12); + * @param level output level; + * + * @return + * - 1 High level + * - 0 Low level + */ +esp_err_t rtc_gpio_set_level(gpio_num_t gpio_num, uint32_t level); + +/** + * @brief Rtc gpio set direction + * + * Configure Rtc gpio direction,such as output_only,input_only,output_and_input + * + * @param gpio_num Configure GPIO pins number, it should be GPIO number. If you want to set direction of e.g. GPIO12, gpio_num should be GPIO_NUM_12 (12); + * @param mode GPIO direction + * + * @return + * - ESP_OK Success + * - ESP_ERR_INVALID_ARG GPIO error + */ +esp_err_t rtc_gpio_set_direction(gpio_num_t gpio_num, rtc_gpio_mode_t mode); + +/** + * @brief Rtc gpio pullup enable + * + * If the user needs to configure the GPIO pull ,Please call gpio_set_pull_mode.This function will be called in gpio_set_pull + * + * @param gpio_num GPIO number. If you want to set pull up or down mode for e.g. GPIO12, gpio_num should be GPIO_NUM_12 (12); + * + * @return + * - True the gpio number is Rts pad + * - False the gpio number is Digital pad + */ +esp_err_t rtc_gpio_pullup_en(gpio_num_t gpio_num); + +/** + * @brief Rtc gpio pulldown enable + * + * If the user needs to configure the GPIO pull ,Please call gpio_set_pull_mode.This function will be called in gpio_set_pull + * + * @param gpio_num GPIO number. If you want to set pull up or down mode for e.g. GPIO12, gpio_num should be GPIO_NUM_12 (12); + * + * @return + * - True the gpio number is Rts pad + * - False the gpio number is Digital pad + */ +esp_err_t rtc_gpio_pulldown_en(gpio_num_t gpio_num); + +/** + * @brief Rtc gpio pullup clear + * + * If the user needs to configure the GPIO pull ,Please call gpio_set_pull_mode.This function will be called in gpio_set_pull + * + * @param gpio_num GPIO number. If you want to set pull up or down mode for e.g. GPIO12, gpio_num should be GPIO_NUM_12 (12); + * + * @return + * - True the gpio number is Rts pad + * - False the gpio number is Digital pad + */ +esp_err_t rtc_gpio_pullup_dis(gpio_num_t gpio_num); + +/** + * @brief Rtc gpio pulldown clear + * + * If the user needs to configure the GPIO pull ,Please call gpio_set_pull_mode.This function will be called in gpio_set_pull + * + * @param gpio_num GPIO number. If you want to set pull up or down mode for e.g. GPIO12, gpio_num should be GPIO_NUM_12 (12); + * + * @return + * - True the gpio number is Rts pad + * - False the gpio number is Digital pad + */ +esp_err_t rtc_gpio_pulldown_dis(gpio_num_t gpio_num); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/tools/sdk/include/driver/driver/touch_pad.h b/tools/sdk/include/driver/driver/touch_pad.h new file mode 100644 index 00000000..b8dc6e75 --- /dev/null +++ b/tools/sdk/include/driver/driver/touch_pad.h @@ -0,0 +1,165 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef _DRIVER_TOUCH_PAD_H_ +#define _DRIVER_TOUCH_PAD_H_ +#ifdef __cplusplus +extern "C" { +#endif +#include "esp_intr.h" +#include "esp_err.h" +#define TOUCH_PAD_SLEEP_CYCLE_CONFIG (0x1000)//The Time is 150Khz,the Max value is 0xffff +#define TOUCH_PAD_MEASURE_CYCLE_CONFIG (0xffff)//The Time is 8Mhz,the Max value is 0xffff +typedef enum { + TOUCH_PAD_NUM0 = 0, /*!< Touch pad channel 0 is GPIO4 */ + TOUCH_PAD_NUM1, /*!< Touch pad channel 0 is GPIO0 */ + TOUCH_PAD_NUM2, /*!< Touch pad channel 0 is GPIO2 */ + TOUCH_PAD_NUM3, /*!< Touch pad channel 0 is GPIO15 */ + TOUCH_PAD_NUM4, /*!< Touch pad channel 0 is GPIO13 */ + TOUCH_PAD_NUM5, /*!< Touch pad channel 0 is GPIO12 */ + TOUCH_PAD_NUM6, /*!< Touch pad channel 0 is GPIO14 */ + TOUCH_PAD_NUM7, /*!< Touch pad channel 0 is GPIO27*/ + TOUCH_PAD_NUM8, /*!< Touch pad channel 0 is GPIO33*/ + TOUCH_PAD_NUM9, /*!< Touch pad channel 0 is GPIO32*/ + TOUCH_PAD_MAX, +} touch_pad_t; +/** + * @brief Initialize touch module. + * + *This function int touch pad module ,enable touch module + * + * @return None + * + */ +void touch_pad_init(); + +/** + * @brief Configure touch pad interrupt threshold. + * + * + * @param[in] touch_num : config touch num + * + * @param[in] threshold : interrupt threshold ,When the touch_pad_register less than threshold, + * will trigger the touch interrupt.User can use touch_pad_read function + * to determine the threshold. + * + * @return - ESP_OK Success + * - ESP_ERR_INVALID_ARG Touch pad error + * + */ +esp_err_t touch_pad_config(touch_pad_t touch_num, uint16_t threshold); + +/** + * @brief get touch pad touch_pad_register counter. + * + *User can use this function to determine the the interrupt threshold .When you do not touch the + *pad ,read the touch_pad_read number(NumNotTouch) by the touch_pad_register.When you touch the pad ,read the touch_pad_register + *number(NumTouch) by the touch_pad_read.Normal NumNotTouch>NumTouch,so you can select a interrupt threshold. + * + * @param[in] touch_num : touch num + * @param[out] touch_value : touch output value + * + * @return - ESP_OK Success + * - ESP_ERR_INVALID_ARG Touch pad error + * + */ +esp_err_t touch_pad_read(touch_pad_t touch_num, uint16_t * touch_value); + +/** + * @brief register TouchPad interrupt handler, the handler is an ISR. + * The handler will be attached to the same CPU core that this function is running on. + * @note + * Users should know that which CPU is running and then pick a INUM that is not used by system. + * We can find the information of INUM and interrupt level in soc.h. + * + * @param touch_intr_num Touch interrupt number,check the info in soc.h, and please see the core-isa.h for more details + * @param fn Interrupt handler function. + * + * @note + * Note that the handler function MUST be defined with attribution of "IRAM_ATTR". + * + * @param arg Parameter for handler function + * + * @return + * - ESP_OK Success ; + * - ESP_ERR_INVALID_ARG GPIO error + */ +esp_err_t touch_pad_isr_handler_register(uint32_t touch_intr_num, void(*fn)(void*), void *arg); + + +/** + * *************** ATTENTION ********************/ +/** + *@attention +*Touch button is through the body's capacitive characteristics, +*there is a charge discharge circuit inside the. When the hands touch, +*the charge and discharge time will be slow. +*Because of the different hardware, each pad needs to be calibrated at the factory. +*We use touch_pad_read to determine factory parament. +*/ +/** + *----------EXAMPLE TO CONIFGURE GPIO AS OUTPUT ------------ * + * @code{c} + * touch_pad_init(); + * void taskA(void* arg) + * { + * for(;;){ + * vtaskDelay(20/portTICK_PERIOD_MS); + * ets_printf("tocuch pad value %u\n",touch_pad_read(0));//Take the touched status and untouched status value + * } + * } + * @endcode + **/ +/** + *----------EXAMPLE TO SET ISR HANDLER ---------------------- + * @code{c} + * //the first parameter is INUM, you can pick one form interrupt level 1/2 which is not used by the system. + * touch_pad_isr_handler_register(19,rtc_intr,NULL); //hook the isr handler for TouchPad interrupt + * @endcode + * @note + * 1. user should arrange the INUMs that used, better not to use a same INUM for different interrupt. + * 2. do not pick the INUM that already occupied by the system. + * 3. refer to soc.h to check which INUMs that can be used. + */ +/** + *----------EXAMPLE TO USE TOUCH_PAD------------ * + * @code{c} + * touch_pad_init();//only init one time + * touch_pad_config(0,300);//set the intr threshold,use touch_pad_read to determine this threshold + * touch_pad_isr_handler_register(19,rtc_intr,NULL) + * #include "esp_attr.h" + * void IRAM_ATTR rtc_intr(void * arg) + * { + * uint32_t pad_intr = READ_PERI_REG(SARADC_SAR_TOUCH_CTRL2_REG) & 0x3ff; + * uint8_t i = 0; + * uint32_t rtc_intr = READ_PERI_REG(RTC_CNTL_INT_ST_REG); + * WRITE_PERI_REG(RTC_CNTL_INT_CLR_REG, rtc_intr); + * SET_PERI_REG_MASK(SARADC_SAR_TOUCH_CTRL2_REG, SARADC_TOUCH_MEAS_EN_CLR); + * if (rtc_intr & RTC_CNTL_TOUCH_INT_ST) { + * for (i = 0; i < TOUCH_PAD_MAX; ++i) { + * if ((pad_intr >> i) & 0x01) { + * ets_printf("touch pad intr %u\n",i); + * } + * } + * } + * } + * @endcode + **/ + +#ifdef __cplusplus +} +#endif + +#endif/*_DRIVER_TOUCH_PAD_H_*/ + diff --git a/tools/sdk/include/esp32/esp_coexist.h b/tools/sdk/include/esp32/esp_coexist.h new file mode 100644 index 00000000..f58d2ef9 --- /dev/null +++ b/tools/sdk/include/esp32/esp_coexist.h @@ -0,0 +1,46 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Init software coexist + * + * @return Init ok or failed. + */ +esp_err_t coex_init(void); + +/** + * @brief Get software coexist enable or not + * + * @return software coexist enable status. + */ +bool coexist_get_enable(void); + +/** + * @brief Set software coexist enable or not + * + * @param enable software coexist or disable it + * + * @return Void. + */ +void coexist_set_enable(bool enable); + +#ifdef __cplusplus +} +#endif diff --git a/tools/sdk/include/esp32/rom/uart.h b/tools/sdk/include/esp32/rom/uart.h index aa3cf592..81fa26c2 100644 --- a/tools/sdk/include/esp32/rom/uart.h +++ b/tools/sdk/include/esp32/rom/uart.h @@ -18,6 +18,8 @@ #include "esp_types.h" #include "esp_attr.h" #include "ets_sys.h" +#include "soc/soc.h" +#include "soc/uart_reg.h" #ifdef __cplusplus extern "C" { @@ -260,11 +262,16 @@ void uart_tx_flush(uint8_t uart_no); /** * @brief Wait until uart tx full empty and the last char send ok. * - * @param uint8_t uart_no : 0 for UART0, 1 for UART1. + * @param uart_no : 0 for UART0, 1 for UART1, 2 for UART2 * - * @return None. + * The function defined in ROM code has a bug, so we define the correct version + * here for compatibility. */ -void uart_tx_wait_idle(uint8_t uart_no); +static inline void uart_tx_wait_idle(uint8_t uart_no) { + while(REG_GET_FIELD(UART_STATUS_REG(uart_no), UART_ST_UTX_OUT)) { + ; + } +} /** * @brief Get an input char from message channel. diff --git a/tools/sdk/include/esp32/soc/rtc_io_reg.h b/tools/sdk/include/esp32/soc/rtc_io_reg.h index 086e8b76..345bb804 100644 --- a/tools/sdk/include/esp32/soc/rtc_io_reg.h +++ b/tools/sdk/include/esp32/soc/rtc_io_reg.h @@ -1,1951 +1,1951 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#ifndef _SOC_RTC_IO_REG_H_ -#define _SOC_RTC_IO_REG_H_ - - -#include "soc.h" -#define RTC_GPIO_OUT_REG (DR_REG_RTCIO_BASE + 0x0) -/* RTC_GPIO_OUT_DATA : R/W ;bitpos:[31:14] ;default: 0 ; */ -/*description: GPIO0~17 output value*/ -#define RTC_GPIO_OUT_DATA 0x0003FFFF -#define RTC_GPIO_OUT_DATA_M ((RTC_GPIO_OUT_DATA_V)<<(RTC_GPIO_OUT_DATA_S)) -#define RTC_GPIO_OUT_DATA_V 0x3FFFF -#define RTC_GPIO_OUT_DATA_S 14 - -#define RTC_GPIO_OUT_W1TS_REG (DR_REG_RTCIO_BASE + 0x4) -/* RTC_GPIO_OUT_DATA_W1TS : WO ;bitpos:[31:14] ;default: 0 ; */ -/*description: GPIO0~17 output value write 1 to set*/ -#define RTC_GPIO_OUT_DATA_W1TS 0x0003FFFF -#define RTC_GPIO_OUT_DATA_W1TS_M ((RTC_GPIO_OUT_DATA_W1TS_V)<<(RTC_GPIO_OUT_DATA_W1TS_S)) -#define RTC_GPIO_OUT_DATA_W1TS_V 0x3FFFF -#define RTC_GPIO_OUT_DATA_W1TS_S 14 - -#define RTC_GPIO_OUT_W1TC_REG (DR_REG_RTCIO_BASE + 0x8) -/* RTC_GPIO_OUT_DATA_W1TC : WO ;bitpos:[31:14] ;default: 0 ; */ -/*description: GPIO0~17 output value write 1 to clear*/ -#define RTC_GPIO_OUT_DATA_W1TC 0x0003FFFF -#define RTC_GPIO_OUT_DATA_W1TC_M ((RTC_GPIO_OUT_DATA_W1TC_V)<<(RTC_GPIO_OUT_DATA_W1TC_S)) -#define RTC_GPIO_OUT_DATA_W1TC_V 0x3FFFF -#define RTC_GPIO_OUT_DATA_W1TC_S 14 - -#define RTC_GPIO_ENABLE_REG (DR_REG_RTCIO_BASE + 0xc) -/* RTC_GPIO_ENABLE : R/W ;bitpos:[31:14] ;default: 0 ; */ -/*description: GPIO0~17 output enable*/ -#define RTC_GPIO_ENABLE 0x0003FFFF -#define RTC_GPIO_ENABLE_M ((RTC_GPIO_ENABLE_V)<<(RTC_GPIO_ENABLE_S)) -#define RTC_GPIO_ENABLE_V 0x3FFFF -#define RTC_GPIO_ENABLE_S 14 - -#define RTC_GPIO_ENABLE_W1TS_REG (DR_REG_RTCIO_BASE + 0x10) -/* RTC_GPIO_ENABLE_W1TS : WO ;bitpos:[31:14] ;default: 0 ; */ -/*description: GPIO0~17 output enable write 1 to set*/ -#define RTC_GPIO_ENABLE_W1TS 0x0003FFFF -#define RTC_GPIO_ENABLE_W1TS_M ((RTC_GPIO_ENABLE_W1TS_V)<<(RTC_GPIO_ENABLE_W1TS_S)) -#define RTC_GPIO_ENABLE_W1TS_V 0x3FFFF -#define RTC_GPIO_ENABLE_W1TS_S 14 - -#define RTC_GPIO_ENABLE_W1TC_REG (DR_REG_RTCIO_BASE + 0x14) -/* RTC_GPIO_ENABLE_W1TC : WO ;bitpos:[31:14] ;default: 0 ; */ -/*description: GPIO0~17 output enable write 1 to clear*/ -#define RTC_GPIO_ENABLE_W1TC 0x0003FFFF -#define RTC_GPIO_ENABLE_W1TC_M ((RTC_GPIO_ENABLE_W1TC_V)<<(RTC_GPIO_ENABLE_W1TC_S)) -#define RTC_GPIO_ENABLE_W1TC_V 0x3FFFF -#define RTC_GPIO_ENABLE_W1TC_S 14 - -#define RTC_GPIO_STATUS_REG (DR_REG_RTCIO_BASE + 0x18) -/* RTC_GPIO_STATUS_INT : R/W ;bitpos:[31:14] ;default: 0 ; */ -/*description: GPIO0~17 interrupt status*/ -#define RTC_GPIO_STATUS_INT 0x0003FFFF -#define RTC_GPIO_STATUS_INT_M ((RTC_GPIO_STATUS_INT_V)<<(RTC_GPIO_STATUS_INT_S)) -#define RTC_GPIO_STATUS_INT_V 0x3FFFF -#define RTC_GPIO_STATUS_INT_S 14 - -#define RTC_GPIO_STATUS_W1TS_REG (DR_REG_RTCIO_BASE + 0x1c) -/* RTC_GPIO_STATUS_INT_W1TS : WO ;bitpos:[31:14] ;default: 0 ; */ -/*description: GPIO0~17 interrupt status write 1 to set*/ -#define RTC_GPIO_STATUS_INT_W1TS 0x0003FFFF -#define RTC_GPIO_STATUS_INT_W1TS_M ((RTC_GPIO_STATUS_INT_W1TS_V)<<(RTC_GPIO_STATUS_INT_W1TS_S)) -#define RTC_GPIO_STATUS_INT_W1TS_V 0x3FFFF -#define RTC_GPIO_STATUS_INT_W1TS_S 14 - -#define RTC_GPIO_STATUS_W1TC_REG (DR_REG_RTCIO_BASE + 0x20) -/* RTC_GPIO_STATUS_INT_W1TC : WO ;bitpos:[31:14] ;default: 0 ; */ -/*description: GPIO0~17 interrupt status write 1 to clear*/ -#define RTC_GPIO_STATUS_INT_W1TC 0x0003FFFF -#define RTC_GPIO_STATUS_INT_W1TC_M ((RTC_GPIO_STATUS_INT_W1TC_V)<<(RTC_GPIO_STATUS_INT_W1TC_S)) -#define RTC_GPIO_STATUS_INT_W1TC_V 0x3FFFF -#define RTC_GPIO_STATUS_INT_W1TC_S 14 - -#define RTC_GPIO_IN_REG (DR_REG_RTCIO_BASE + 0x24) -/* RTC_GPIO_IN_NEXT : RO ;bitpos:[31:14] ;default: ; */ -/*description: GPIO0~17 input value*/ -#define RTC_GPIO_IN_NEXT 0x0003FFFF -#define RTC_GPIO_IN_NEXT_M ((RTC_GPIO_IN_NEXT_V)<<(RTC_GPIO_IN_NEXT_S)) -#define RTC_GPIO_IN_NEXT_V 0x3FFFF -#define RTC_GPIO_IN_NEXT_S 14 - -#define RTC_GPIO_PIN0_REG (DR_REG_RTCIO_BASE + 0x28) -/* RTC_GPIO_PIN0_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN0_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN0_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN0_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN0_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN0_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN0_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN0_INT_TYPE_M ((RTC_GPIO_PIN0_INT_TYPE_V)<<(RTC_GPIO_PIN0_INT_TYPE_S)) -#define RTC_GPIO_PIN0_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN0_INT_TYPE_S 7 -/* RTC_GPIO_PIN0_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN0_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN0_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN0_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN0_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN1_REG (DR_REG_RTCIO_BASE + 0x2c) -/* RTC_GPIO_PIN1_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN1_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN1_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN1_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN1_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN1_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN1_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN1_INT_TYPE_M ((RTC_GPIO_PIN1_INT_TYPE_V)<<(RTC_GPIO_PIN1_INT_TYPE_S)) -#define RTC_GPIO_PIN1_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN1_INT_TYPE_S 7 -/* RTC_GPIO_PIN1_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN1_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN1_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN1_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN1_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN2_REG (DR_REG_RTCIO_BASE + 0x30) -/* RTC_GPIO_PIN2_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN2_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN2_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN2_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN2_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN2_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN2_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN2_INT_TYPE_M ((RTC_GPIO_PIN2_INT_TYPE_V)<<(RTC_GPIO_PIN2_INT_TYPE_S)) -#define RTC_GPIO_PIN2_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN2_INT_TYPE_S 7 -/* RTC_GPIO_PIN2_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN2_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN2_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN2_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN2_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN3_REG (DR_REG_RTCIO_BASE + 0x34) -/* RTC_GPIO_PIN3_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN3_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN3_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN3_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN3_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN3_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN3_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN3_INT_TYPE_M ((RTC_GPIO_PIN3_INT_TYPE_V)<<(RTC_GPIO_PIN3_INT_TYPE_S)) -#define RTC_GPIO_PIN3_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN3_INT_TYPE_S 7 -/* RTC_GPIO_PIN3_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN3_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN3_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN3_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN3_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN4_REG (DR_REG_RTCIO_BASE + 0x38) -/* RTC_GPIO_PIN4_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN4_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN4_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN4_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN4_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN4_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN4_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN4_INT_TYPE_M ((RTC_GPIO_PIN4_INT_TYPE_V)<<(RTC_GPIO_PIN4_INT_TYPE_S)) -#define RTC_GPIO_PIN4_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN4_INT_TYPE_S 7 -/* RTC_GPIO_PIN4_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN4_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN4_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN4_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN4_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN5_REG (DR_REG_RTCIO_BASE + 0x3c) -/* RTC_GPIO_PIN5_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN5_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN5_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN5_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN5_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN5_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN5_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN5_INT_TYPE_M ((RTC_GPIO_PIN5_INT_TYPE_V)<<(RTC_GPIO_PIN5_INT_TYPE_S)) -#define RTC_GPIO_PIN5_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN5_INT_TYPE_S 7 -/* RTC_GPIO_PIN5_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN5_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN5_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN5_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN5_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN6_REG (DR_REG_RTCIO_BASE + 0x40) -/* RTC_GPIO_PIN6_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN6_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN6_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN6_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN6_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN6_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN6_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN6_INT_TYPE_M ((RTC_GPIO_PIN6_INT_TYPE_V)<<(RTC_GPIO_PIN6_INT_TYPE_S)) -#define RTC_GPIO_PIN6_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN6_INT_TYPE_S 7 -/* RTC_GPIO_PIN6_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN6_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN6_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN6_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN6_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN7_REG (DR_REG_RTCIO_BASE + 0x44) -/* RTC_GPIO_PIN7_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN7_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN7_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN7_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN7_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN7_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN7_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN7_INT_TYPE_M ((RTC_GPIO_PIN7_INT_TYPE_V)<<(RTC_GPIO_PIN7_INT_TYPE_S)) -#define RTC_GPIO_PIN7_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN7_INT_TYPE_S 7 -/* RTC_GPIO_PIN7_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN7_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN7_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN7_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN7_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN8_REG (DR_REG_RTCIO_BASE + 0x48) -/* RTC_GPIO_PIN8_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN8_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN8_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN8_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN8_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN8_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN8_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN8_INT_TYPE_M ((RTC_GPIO_PIN8_INT_TYPE_V)<<(RTC_GPIO_PIN8_INT_TYPE_S)) -#define RTC_GPIO_PIN8_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN8_INT_TYPE_S 7 -/* RTC_GPIO_PIN8_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN8_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN8_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN8_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN8_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN9_REG (DR_REG_RTCIO_BASE + 0x4c) -/* RTC_GPIO_PIN9_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN9_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN9_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN9_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN9_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN9_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN9_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN9_INT_TYPE_M ((RTC_GPIO_PIN9_INT_TYPE_V)<<(RTC_GPIO_PIN9_INT_TYPE_S)) -#define RTC_GPIO_PIN9_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN9_INT_TYPE_S 7 -/* RTC_GPIO_PIN9_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN9_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN9_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN9_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN9_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN10_REG (DR_REG_RTCIO_BASE + 0x50) -/* RTC_GPIO_PIN10_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN10_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN10_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN10_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN10_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN10_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN10_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN10_INT_TYPE_M ((RTC_GPIO_PIN10_INT_TYPE_V)<<(RTC_GPIO_PIN10_INT_TYPE_S)) -#define RTC_GPIO_PIN10_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN10_INT_TYPE_S 7 -/* RTC_GPIO_PIN10_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN10_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN10_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN10_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN10_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN11_REG (DR_REG_RTCIO_BASE + 0x54) -/* RTC_GPIO_PIN11_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN11_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN11_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN11_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN11_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN11_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN11_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN11_INT_TYPE_M ((RTC_GPIO_PIN11_INT_TYPE_V)<<(RTC_GPIO_PIN11_INT_TYPE_S)) -#define RTC_GPIO_PIN11_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN11_INT_TYPE_S 7 -/* RTC_GPIO_PIN11_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN11_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN11_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN11_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN11_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN12_REG (DR_REG_RTCIO_BASE + 0x58) -/* RTC_GPIO_PIN12_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN12_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN12_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN12_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN12_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN12_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN12_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN12_INT_TYPE_M ((RTC_GPIO_PIN12_INT_TYPE_V)<<(RTC_GPIO_PIN12_INT_TYPE_S)) -#define RTC_GPIO_PIN12_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN12_INT_TYPE_S 7 -/* RTC_GPIO_PIN12_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN12_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN12_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN12_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN12_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN13_REG (DR_REG_RTCIO_BASE + 0x5c) -/* RTC_GPIO_PIN13_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN13_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN13_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN13_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN13_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN13_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN13_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN13_INT_TYPE_M ((RTC_GPIO_PIN13_INT_TYPE_V)<<(RTC_GPIO_PIN13_INT_TYPE_S)) -#define RTC_GPIO_PIN13_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN13_INT_TYPE_S 7 -/* RTC_GPIO_PIN13_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN13_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN13_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN13_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN13_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN14_REG (DR_REG_RTCIO_BASE + 0x60) -/* RTC_GPIO_PIN14_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN14_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN14_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN14_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN14_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN14_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN14_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN14_INT_TYPE_M ((RTC_GPIO_PIN14_INT_TYPE_V)<<(RTC_GPIO_PIN14_INT_TYPE_S)) -#define RTC_GPIO_PIN14_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN14_INT_TYPE_S 7 -/* RTC_GPIO_PIN14_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN14_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN14_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN14_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN14_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN15_REG (DR_REG_RTCIO_BASE + 0x64) -/* RTC_GPIO_PIN15_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN15_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN15_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN15_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN15_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN15_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN15_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN15_INT_TYPE_M ((RTC_GPIO_PIN15_INT_TYPE_V)<<(RTC_GPIO_PIN15_INT_TYPE_S)) -#define RTC_GPIO_PIN15_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN15_INT_TYPE_S 7 -/* RTC_GPIO_PIN15_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN15_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN15_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN15_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN15_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN16_REG (DR_REG_RTCIO_BASE + 0x68) -/* RTC_GPIO_PIN16_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN16_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN16_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN16_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN16_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN16_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN16_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN16_INT_TYPE_M ((RTC_GPIO_PIN16_INT_TYPE_V)<<(RTC_GPIO_PIN16_INT_TYPE_S)) -#define RTC_GPIO_PIN16_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN16_INT_TYPE_S 7 -/* RTC_GPIO_PIN16_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN16_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN16_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN16_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN16_PAD_DRIVER_S 2 - -#define RTC_GPIO_PIN17_REG (DR_REG_RTCIO_BASE + 0x6c) -/* RTC_GPIO_PIN17_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ -/*description: GPIO wake up enable only available in light sleep*/ -#define RTC_GPIO_PIN17_WAKEUP_ENABLE (BIT(10)) -#define RTC_GPIO_PIN17_WAKEUP_ENABLE_M (BIT(10)) -#define RTC_GPIO_PIN17_WAKEUP_ENABLE_V 0x1 -#define RTC_GPIO_PIN17_WAKEUP_ENABLE_S 10 -/* RTC_GPIO_PIN17_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ -/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge - trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ -#define RTC_GPIO_PIN17_INT_TYPE 0x00000007 -#define RTC_GPIO_PIN17_INT_TYPE_M ((RTC_GPIO_PIN17_INT_TYPE_V)<<(RTC_GPIO_PIN17_INT_TYPE_S)) -#define RTC_GPIO_PIN17_INT_TYPE_V 0x7 -#define RTC_GPIO_PIN17_INT_TYPE_S 7 -/* RTC_GPIO_PIN17_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ -/*description: if set to 0: normal output if set to 1: open drain*/ -#define RTC_GPIO_PIN17_PAD_DRIVER (BIT(2)) -#define RTC_GPIO_PIN17_PAD_DRIVER_M (BIT(2)) -#define RTC_GPIO_PIN17_PAD_DRIVER_V 0x1 -#define RTC_GPIO_PIN17_PAD_DRIVER_S 2 - -#define RTC_IO_RTC_DEBUG_SEL_REG (DR_REG_RTCIO_BASE + 0x70) -/* RTC_IO_DEBUG_12M_NO_GATING : R/W ;bitpos:[25] ;default: 1'd0 ; */ -/*description: */ -#define RTC_IO_DEBUG_12M_NO_GATING (BIT(25)) -#define RTC_IO_DEBUG_12M_NO_GATING_M (BIT(25)) -#define RTC_IO_DEBUG_12M_NO_GATING_V 0x1 -#define RTC_IO_DEBUG_12M_NO_GATING_S 25 -/* RTC_IO_DEBUG_SEL4 : R/W ;bitpos:[24:20] ;default: 5'd0 ; */ -/*description: */ -#define RTC_IO_DEBUG_SEL4 0x0000001F -#define RTC_IO_DEBUG_SEL4_M ((RTC_IO_DEBUG_SEL4_V)<<(RTC_IO_DEBUG_SEL4_S)) -#define RTC_IO_DEBUG_SEL4_V 0x1F -#define RTC_IO_DEBUG_SEL4_S 20 -/* RTC_IO_DEBUG_SEL3 : R/W ;bitpos:[19:15] ;default: 5'd0 ; */ -/*description: */ -#define RTC_IO_DEBUG_SEL3 0x0000001F -#define RTC_IO_DEBUG_SEL3_M ((RTC_IO_DEBUG_SEL3_V)<<(RTC_IO_DEBUG_SEL3_S)) -#define RTC_IO_DEBUG_SEL3_V 0x1F -#define RTC_IO_DEBUG_SEL3_S 15 -/* RTC_IO_DEBUG_SEL2 : R/W ;bitpos:[14:10] ;default: 5'd0 ; */ -/*description: */ -#define RTC_IO_DEBUG_SEL2 0x0000001F -#define RTC_IO_DEBUG_SEL2_M ((RTC_IO_DEBUG_SEL2_V)<<(RTC_IO_DEBUG_SEL2_S)) -#define RTC_IO_DEBUG_SEL2_V 0x1F -#define RTC_IO_DEBUG_SEL2_S 10 -/* RTC_IO_DEBUG_SEL1 : R/W ;bitpos:[9:5] ;default: 5'd0 ; */ -/*description: */ -#define RTC_IO_DEBUG_SEL1 0x0000001F -#define RTC_IO_DEBUG_SEL1_M ((RTC_IO_DEBUG_SEL1_V)<<(RTC_IO_DEBUG_SEL1_S)) -#define RTC_IO_DEBUG_SEL1_V 0x1F -#define RTC_IO_DEBUG_SEL1_S 5 -/* RTC_IO_DEBUG_SEL0 : R/W ;bitpos:[4:0] ;default: 5'd0 ; */ -/*description: */ -#define RTC_IO_DEBUG_SEL0 0x0000001F -#define RTC_IO_DEBUG_SEL0_M ((RTC_IO_DEBUG_SEL0_V)<<(RTC_IO_DEBUG_SEL0_S)) -#define RTC_IO_DEBUG_SEL0_V 0x1F -#define RTC_IO_DEBUG_SEL0_S 0 - -#define RTC_IO_DIG_PAD_HOLD_REG (DR_REG_RTCIO_BASE + 0x74) -/* RTC_IO_DIG_PAD_HOLD : R/W ;bitpos:[31:0] ;default: 1'd0 ; */ -/*description: select the digital pad hold value.*/ -#define RTC_IO_DIG_PAD_HOLD 0xFFFFFFFF -#define RTC_IO_DIG_PAD_HOLD_M ((RTC_IO_DIG_PAD_HOLD_V)<<(RTC_IO_DIG_PAD_HOLD_S)) -#define RTC_IO_DIG_PAD_HOLD_V 0xFFFFFFFF -#define RTC_IO_DIG_PAD_HOLD_S 0 - -#define RTC_IO_HALL_SENS_REG (DR_REG_RTCIO_BASE + 0x78) -/* RTC_IO_XPD_HALL : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: Power on hall sensor and connect to VP and VN*/ -#define RTC_IO_XPD_HALL (BIT(31)) -#define RTC_IO_XPD_HALL_M (BIT(31)) -#define RTC_IO_XPD_HALL_V 0x1 -#define RTC_IO_XPD_HALL_S 31 -/* RTC_IO_HALL_PHASE : R/W ;bitpos:[30] ;default: 1'd0 ; */ -/*description: Reverse phase of hall sensor*/ -#define RTC_IO_HALL_PHASE (BIT(30)) -#define RTC_IO_HALL_PHASE_M (BIT(30)) -#define RTC_IO_HALL_PHASE_V 0x1 -#define RTC_IO_HALL_PHASE_S 30 - -#define RTC_IO_SENSOR_PADS_REG (DR_REG_RTCIO_BASE + 0x7c) -/* RTC_IO_SENSE1_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_SENSE1_HOLD (BIT(31)) -#define RTC_IO_SENSE1_HOLD_M (BIT(31)) -#define RTC_IO_SENSE1_HOLD_V 0x1 -#define RTC_IO_SENSE1_HOLD_S 31 -/* RTC_IO_SENSE2_HOLD : R/W ;bitpos:[30] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_SENSE2_HOLD (BIT(30)) -#define RTC_IO_SENSE2_HOLD_M (BIT(30)) -#define RTC_IO_SENSE2_HOLD_V 0x1 -#define RTC_IO_SENSE2_HOLD_S 30 -/* RTC_IO_SENSE3_HOLD : R/W ;bitpos:[29] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_SENSE3_HOLD (BIT(29)) -#define RTC_IO_SENSE3_HOLD_M (BIT(29)) -#define RTC_IO_SENSE3_HOLD_V 0x1 -#define RTC_IO_SENSE3_HOLD_S 29 -/* RTC_IO_SENSE4_HOLD : R/W ;bitpos:[28] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_SENSE4_HOLD (BIT(28)) -#define RTC_IO_SENSE4_HOLD_M (BIT(28)) -#define RTC_IO_SENSE4_HOLD_V 0x1 -#define RTC_IO_SENSE4_HOLD_S 28 -/* RTC_IO_SENSE1_MUX_SEL : R/W ;bitpos:[27] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_SENSE1_MUX_SEL (BIT(27)) -#define RTC_IO_SENSE1_MUX_SEL_M (BIT(27)) -#define RTC_IO_SENSE1_MUX_SEL_V 0x1 -#define RTC_IO_SENSE1_MUX_SEL_S 27 -/* RTC_IO_SENSE2_MUX_SEL : R/W ;bitpos:[26] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_SENSE2_MUX_SEL (BIT(26)) -#define RTC_IO_SENSE2_MUX_SEL_M (BIT(26)) -#define RTC_IO_SENSE2_MUX_SEL_V 0x1 -#define RTC_IO_SENSE2_MUX_SEL_S 26 -/* RTC_IO_SENSE3_MUX_SEL : R/W ;bitpos:[25] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_SENSE3_MUX_SEL (BIT(25)) -#define RTC_IO_SENSE3_MUX_SEL_M (BIT(25)) -#define RTC_IO_SENSE3_MUX_SEL_V 0x1 -#define RTC_IO_SENSE3_MUX_SEL_S 25 -/* RTC_IO_SENSE4_MUX_SEL : R/W ;bitpos:[24] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_SENSE4_MUX_SEL (BIT(24)) -#define RTC_IO_SENSE4_MUX_SEL_M (BIT(24)) -#define RTC_IO_SENSE4_MUX_SEL_V 0x1 -#define RTC_IO_SENSE4_MUX_SEL_S 24 -/* RTC_IO_SENSE1_FUN_SEL : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_SENSE1_FUN_SEL 0x00000003 -#define RTC_IO_SENSE1_FUN_SEL_M ((RTC_IO_SENSE1_FUN_SEL_V)<<(RTC_IO_SENSE1_FUN_SEL_S)) -#define RTC_IO_SENSE1_FUN_SEL_V 0x3 -#define RTC_IO_SENSE1_FUN_SEL_S 22 -/* RTC_IO_SENSE1_SLP_SEL : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_SENSE1_SLP_SEL (BIT(21)) -#define RTC_IO_SENSE1_SLP_SEL_M (BIT(21)) -#define RTC_IO_SENSE1_SLP_SEL_V 0x1 -#define RTC_IO_SENSE1_SLP_SEL_S 21 -/* RTC_IO_SENSE1_SLP_IE : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_SENSE1_SLP_IE (BIT(20)) -#define RTC_IO_SENSE1_SLP_IE_M (BIT(20)) -#define RTC_IO_SENSE1_SLP_IE_V 0x1 -#define RTC_IO_SENSE1_SLP_IE_S 20 -/* RTC_IO_SENSE1_FUN_IE : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_SENSE1_FUN_IE (BIT(19)) -#define RTC_IO_SENSE1_FUN_IE_M (BIT(19)) -#define RTC_IO_SENSE1_FUN_IE_V 0x1 -#define RTC_IO_SENSE1_FUN_IE_S 19 -/* RTC_IO_SENSE2_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_SENSE2_FUN_SEL 0x00000003 -#define RTC_IO_SENSE2_FUN_SEL_M ((RTC_IO_SENSE2_FUN_SEL_V)<<(RTC_IO_SENSE2_FUN_SEL_S)) -#define RTC_IO_SENSE2_FUN_SEL_V 0x3 -#define RTC_IO_SENSE2_FUN_SEL_S 17 -/* RTC_IO_SENSE2_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_SENSE2_SLP_SEL (BIT(16)) -#define RTC_IO_SENSE2_SLP_SEL_M (BIT(16)) -#define RTC_IO_SENSE2_SLP_SEL_V 0x1 -#define RTC_IO_SENSE2_SLP_SEL_S 16 -/* RTC_IO_SENSE2_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_SENSE2_SLP_IE (BIT(15)) -#define RTC_IO_SENSE2_SLP_IE_M (BIT(15)) -#define RTC_IO_SENSE2_SLP_IE_V 0x1 -#define RTC_IO_SENSE2_SLP_IE_S 15 -/* RTC_IO_SENSE2_FUN_IE : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_SENSE2_FUN_IE (BIT(14)) -#define RTC_IO_SENSE2_FUN_IE_M (BIT(14)) -#define RTC_IO_SENSE2_FUN_IE_V 0x1 -#define RTC_IO_SENSE2_FUN_IE_S 14 -/* RTC_IO_SENSE3_FUN_SEL : R/W ;bitpos:[13:12] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_SENSE3_FUN_SEL 0x00000003 -#define RTC_IO_SENSE3_FUN_SEL_M ((RTC_IO_SENSE3_FUN_SEL_V)<<(RTC_IO_SENSE3_FUN_SEL_S)) -#define RTC_IO_SENSE3_FUN_SEL_V 0x3 -#define RTC_IO_SENSE3_FUN_SEL_S 12 -/* RTC_IO_SENSE3_SLP_SEL : R/W ;bitpos:[11] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_SENSE3_SLP_SEL (BIT(11)) -#define RTC_IO_SENSE3_SLP_SEL_M (BIT(11)) -#define RTC_IO_SENSE3_SLP_SEL_V 0x1 -#define RTC_IO_SENSE3_SLP_SEL_S 11 -/* RTC_IO_SENSE3_SLP_IE : R/W ;bitpos:[10] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_SENSE3_SLP_IE (BIT(10)) -#define RTC_IO_SENSE3_SLP_IE_M (BIT(10)) -#define RTC_IO_SENSE3_SLP_IE_V 0x1 -#define RTC_IO_SENSE3_SLP_IE_S 10 -/* RTC_IO_SENSE3_FUN_IE : R/W ;bitpos:[9] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_SENSE3_FUN_IE (BIT(9)) -#define RTC_IO_SENSE3_FUN_IE_M (BIT(9)) -#define RTC_IO_SENSE3_FUN_IE_V 0x1 -#define RTC_IO_SENSE3_FUN_IE_S 9 -/* RTC_IO_SENSE4_FUN_SEL : R/W ;bitpos:[8:7] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_SENSE4_FUN_SEL 0x00000003 -#define RTC_IO_SENSE4_FUN_SEL_M ((RTC_IO_SENSE4_FUN_SEL_V)<<(RTC_IO_SENSE4_FUN_SEL_S)) -#define RTC_IO_SENSE4_FUN_SEL_V 0x3 -#define RTC_IO_SENSE4_FUN_SEL_S 7 -/* RTC_IO_SENSE4_SLP_SEL : R/W ;bitpos:[6] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_SENSE4_SLP_SEL (BIT(6)) -#define RTC_IO_SENSE4_SLP_SEL_M (BIT(6)) -#define RTC_IO_SENSE4_SLP_SEL_V 0x1 -#define RTC_IO_SENSE4_SLP_SEL_S 6 -/* RTC_IO_SENSE4_SLP_IE : R/W ;bitpos:[5] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_SENSE4_SLP_IE (BIT(5)) -#define RTC_IO_SENSE4_SLP_IE_M (BIT(5)) -#define RTC_IO_SENSE4_SLP_IE_V 0x1 -#define RTC_IO_SENSE4_SLP_IE_S 5 -/* RTC_IO_SENSE4_FUN_IE : R/W ;bitpos:[4] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_SENSE4_FUN_IE (BIT(4)) -#define RTC_IO_SENSE4_FUN_IE_M (BIT(4)) -#define RTC_IO_SENSE4_FUN_IE_V 0x1 -#define RTC_IO_SENSE4_FUN_IE_S 4 - -#define RTC_IO_ADC_PAD_REG (DR_REG_RTCIO_BASE + 0x80) -/* RTC_IO_ADC1_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_ADC1_HOLD (BIT(31)) -#define RTC_IO_ADC1_HOLD_M (BIT(31)) -#define RTC_IO_ADC1_HOLD_V 0x1 -#define RTC_IO_ADC1_HOLD_S 31 -/* RTC_IO_ADC2_HOLD : R/W ;bitpos:[30] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_ADC2_HOLD (BIT(30)) -#define RTC_IO_ADC2_HOLD_M (BIT(30)) -#define RTC_IO_ADC2_HOLD_V 0x1 -#define RTC_IO_ADC2_HOLD_S 30 -/* RTC_IO_ADC1_MUX_SEL : R/W ;bitpos:[29] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_ADC1_MUX_SEL (BIT(29)) -#define RTC_IO_ADC1_MUX_SEL_M (BIT(29)) -#define RTC_IO_ADC1_MUX_SEL_V 0x1 -#define RTC_IO_ADC1_MUX_SEL_S 29 -/* RTC_IO_ADC2_MUX_SEL : R/W ;bitpos:[28] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_ADC2_MUX_SEL (BIT(28)) -#define RTC_IO_ADC2_MUX_SEL_M (BIT(28)) -#define RTC_IO_ADC2_MUX_SEL_V 0x1 -#define RTC_IO_ADC2_MUX_SEL_S 28 -/* RTC_IO_ADC1_FUN_SEL : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_ADC1_FUN_SEL 0x00000003 -#define RTC_IO_ADC1_FUN_SEL_M ((RTC_IO_ADC1_FUN_SEL_V)<<(RTC_IO_ADC1_FUN_SEL_S)) -#define RTC_IO_ADC1_FUN_SEL_V 0x3 -#define RTC_IO_ADC1_FUN_SEL_S 26 -/* RTC_IO_ADC1_SLP_SEL : R/W ;bitpos:[25] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_ADC1_SLP_SEL (BIT(25)) -#define RTC_IO_ADC1_SLP_SEL_M (BIT(25)) -#define RTC_IO_ADC1_SLP_SEL_V 0x1 -#define RTC_IO_ADC1_SLP_SEL_S 25 -/* RTC_IO_ADC1_SLP_IE : R/W ;bitpos:[24] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_ADC1_SLP_IE (BIT(24)) -#define RTC_IO_ADC1_SLP_IE_M (BIT(24)) -#define RTC_IO_ADC1_SLP_IE_V 0x1 -#define RTC_IO_ADC1_SLP_IE_S 24 -/* RTC_IO_ADC1_FUN_IE : R/W ;bitpos:[23] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_ADC1_FUN_IE (BIT(23)) -#define RTC_IO_ADC1_FUN_IE_M (BIT(23)) -#define RTC_IO_ADC1_FUN_IE_V 0x1 -#define RTC_IO_ADC1_FUN_IE_S 23 -/* RTC_IO_ADC2_FUN_SEL : R/W ;bitpos:[22:21] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_ADC2_FUN_SEL 0x00000003 -#define RTC_IO_ADC2_FUN_SEL_M ((RTC_IO_ADC2_FUN_SEL_V)<<(RTC_IO_ADC2_FUN_SEL_S)) -#define RTC_IO_ADC2_FUN_SEL_V 0x3 -#define RTC_IO_ADC2_FUN_SEL_S 21 -/* RTC_IO_ADC2_SLP_SEL : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_ADC2_SLP_SEL (BIT(20)) -#define RTC_IO_ADC2_SLP_SEL_M (BIT(20)) -#define RTC_IO_ADC2_SLP_SEL_V 0x1 -#define RTC_IO_ADC2_SLP_SEL_S 20 -/* RTC_IO_ADC2_SLP_IE : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_ADC2_SLP_IE (BIT(19)) -#define RTC_IO_ADC2_SLP_IE_M (BIT(19)) -#define RTC_IO_ADC2_SLP_IE_V 0x1 -#define RTC_IO_ADC2_SLP_IE_S 19 -/* RTC_IO_ADC2_FUN_IE : R/W ;bitpos:[18] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_ADC2_FUN_IE (BIT(18)) -#define RTC_IO_ADC2_FUN_IE_M (BIT(18)) -#define RTC_IO_ADC2_FUN_IE_V 0x1 -#define RTC_IO_ADC2_FUN_IE_S 18 - -#define RTC_IO_PAD_DAC1_REG (DR_REG_RTCIO_BASE + 0x84) -/* RTC_IO_PDAC1_DRV : R/W ;bitpos:[31:30] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_PDAC1_DRV 0x00000003 -#define RTC_IO_PDAC1_DRV_M ((RTC_IO_PDAC1_DRV_V)<<(RTC_IO_PDAC1_DRV_S)) -#define RTC_IO_PDAC1_DRV_V 0x3 -#define RTC_IO_PDAC1_DRV_S 30 -/* RTC_IO_PDAC1_HOLD : R/W ;bitpos:[29] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_PDAC1_HOLD (BIT(29)) -#define RTC_IO_PDAC1_HOLD_M (BIT(29)) -#define RTC_IO_PDAC1_HOLD_V 0x1 -#define RTC_IO_PDAC1_HOLD_S 29 -/* RTC_IO_PDAC1_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_PDAC1_RDE (BIT(28)) -#define RTC_IO_PDAC1_RDE_M (BIT(28)) -#define RTC_IO_PDAC1_RDE_V 0x1 -#define RTC_IO_PDAC1_RDE_S 28 -/* RTC_IO_PDAC1_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_PDAC1_RUE (BIT(27)) -#define RTC_IO_PDAC1_RUE_M (BIT(27)) -#define RTC_IO_PDAC1_RUE_V 0x1 -#define RTC_IO_PDAC1_RUE_S 27 -/* RTC_IO_PDAC1_DAC : R/W ;bitpos:[26:19] ;default: 8'd0 ; */ -/*description: PAD DAC1 control code.*/ -#define RTC_IO_PDAC1_DAC 0x000000FF -#define RTC_IO_PDAC1_DAC_M ((RTC_IO_PDAC1_DAC_V)<<(RTC_IO_PDAC1_DAC_S)) -#define RTC_IO_PDAC1_DAC_V 0xFF -#define RTC_IO_PDAC1_DAC_S 19 -/* RTC_IO_PDAC1_XPD_DAC : R/W ;bitpos:[18] ;default: 1'd0 ; */ -/*description: Power on DAC1. Usually we need to tristate PDAC1 if we power - on the DAC i.e. IE=0 OE=0 RDE=0 RUE=0*/ -#define RTC_IO_PDAC1_XPD_DAC (BIT(18)) -#define RTC_IO_PDAC1_XPD_DAC_M (BIT(18)) -#define RTC_IO_PDAC1_XPD_DAC_V 0x1 -#define RTC_IO_PDAC1_XPD_DAC_S 18 -/* RTC_IO_PDAC1_MUX_SEL : R/W ;bitpos:[17] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_PDAC1_MUX_SEL (BIT(17)) -#define RTC_IO_PDAC1_MUX_SEL_M (BIT(17)) -#define RTC_IO_PDAC1_MUX_SEL_V 0x1 -#define RTC_IO_PDAC1_MUX_SEL_S 17 -/* RTC_IO_PDAC1_FUN_SEL : R/W ;bitpos:[16:15] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_PDAC1_FUN_SEL 0x00000003 -#define RTC_IO_PDAC1_FUN_SEL_M ((RTC_IO_PDAC1_FUN_SEL_V)<<(RTC_IO_PDAC1_FUN_SEL_S)) -#define RTC_IO_PDAC1_FUN_SEL_V 0x3 -#define RTC_IO_PDAC1_FUN_SEL_S 15 -/* RTC_IO_PDAC1_SLP_SEL : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_PDAC1_SLP_SEL (BIT(14)) -#define RTC_IO_PDAC1_SLP_SEL_M (BIT(14)) -#define RTC_IO_PDAC1_SLP_SEL_V 0x1 -#define RTC_IO_PDAC1_SLP_SEL_S 14 -/* RTC_IO_PDAC1_SLP_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_PDAC1_SLP_IE (BIT(13)) -#define RTC_IO_PDAC1_SLP_IE_M (BIT(13)) -#define RTC_IO_PDAC1_SLP_IE_V 0x1 -#define RTC_IO_PDAC1_SLP_IE_S 13 -/* RTC_IO_PDAC1_SLP_OE : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_PDAC1_SLP_OE (BIT(12)) -#define RTC_IO_PDAC1_SLP_OE_M (BIT(12)) -#define RTC_IO_PDAC1_SLP_OE_V 0x1 -#define RTC_IO_PDAC1_SLP_OE_S 12 -/* RTC_IO_PDAC1_FUN_IE : R/W ;bitpos:[11] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_PDAC1_FUN_IE (BIT(11)) -#define RTC_IO_PDAC1_FUN_IE_M (BIT(11)) -#define RTC_IO_PDAC1_FUN_IE_V 0x1 -#define RTC_IO_PDAC1_FUN_IE_S 11 -/* RTC_IO_PDAC1_DAC_XPD_FORCE : R/W ;bitpos:[10] ;default: 1'd0 ; */ -/*description: Power on DAC1. Usually we need to tristate PDAC1 if we power - on the DAC i.e. IE=0 OE=0 RDE=0 RUE=0*/ -#define RTC_IO_PDAC1_DAC_XPD_FORCE (BIT(10)) -#define RTC_IO_PDAC1_DAC_XPD_FORCE_M (BIT(10)) -#define RTC_IO_PDAC1_DAC_XPD_FORCE_V 0x1 -#define RTC_IO_PDAC1_DAC_XPD_FORCE_S 10 - -#define RTC_IO_PAD_DAC2_REG (DR_REG_RTCIO_BASE + 0x88) -/* RTC_IO_PDAC2_DRV : R/W ;bitpos:[31:30] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_PDAC2_DRV 0x00000003 -#define RTC_IO_PDAC2_DRV_M ((RTC_IO_PDAC2_DRV_V)<<(RTC_IO_PDAC2_DRV_S)) -#define RTC_IO_PDAC2_DRV_V 0x3 -#define RTC_IO_PDAC2_DRV_S 30 -/* RTC_IO_PDAC2_HOLD : R/W ;bitpos:[29] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_PDAC2_HOLD (BIT(29)) -#define RTC_IO_PDAC2_HOLD_M (BIT(29)) -#define RTC_IO_PDAC2_HOLD_V 0x1 -#define RTC_IO_PDAC2_HOLD_S 29 -/* RTC_IO_PDAC2_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_PDAC2_RDE (BIT(28)) -#define RTC_IO_PDAC2_RDE_M (BIT(28)) -#define RTC_IO_PDAC2_RDE_V 0x1 -#define RTC_IO_PDAC2_RDE_S 28 -/* RTC_IO_PDAC2_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_PDAC2_RUE (BIT(27)) -#define RTC_IO_PDAC2_RUE_M (BIT(27)) -#define RTC_IO_PDAC2_RUE_V 0x1 -#define RTC_IO_PDAC2_RUE_S 27 -/* RTC_IO_PDAC2_DAC : R/W ;bitpos:[26:19] ;default: 8'd0 ; */ -/*description: PAD DAC2 control code.*/ -#define RTC_IO_PDAC2_DAC 0x000000FF -#define RTC_IO_PDAC2_DAC_M ((RTC_IO_PDAC2_DAC_V)<<(RTC_IO_PDAC2_DAC_S)) -#define RTC_IO_PDAC2_DAC_V 0xFF -#define RTC_IO_PDAC2_DAC_S 19 -/* RTC_IO_PDAC2_XPD_DAC : R/W ;bitpos:[18] ;default: 1'd0 ; */ -/*description: Power on DAC2. Usually we need to tristate PDAC1 if we power - on the DAC i.e. IE=0 OE=0 RDE=0 RUE=0*/ -#define RTC_IO_PDAC2_XPD_DAC (BIT(18)) -#define RTC_IO_PDAC2_XPD_DAC_M (BIT(18)) -#define RTC_IO_PDAC2_XPD_DAC_V 0x1 -#define RTC_IO_PDAC2_XPD_DAC_S 18 -/* RTC_IO_PDAC2_MUX_SEL : R/W ;bitpos:[17] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_PDAC2_MUX_SEL (BIT(17)) -#define RTC_IO_PDAC2_MUX_SEL_M (BIT(17)) -#define RTC_IO_PDAC2_MUX_SEL_V 0x1 -#define RTC_IO_PDAC2_MUX_SEL_S 17 -/* RTC_IO_PDAC2_FUN_SEL : R/W ;bitpos:[16:15] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_PDAC2_FUN_SEL 0x00000003 -#define RTC_IO_PDAC2_FUN_SEL_M ((RTC_IO_PDAC2_FUN_SEL_V)<<(RTC_IO_PDAC2_FUN_SEL_S)) -#define RTC_IO_PDAC2_FUN_SEL_V 0x3 -#define RTC_IO_PDAC2_FUN_SEL_S 15 -/* RTC_IO_PDAC2_SLP_SEL : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_PDAC2_SLP_SEL (BIT(14)) -#define RTC_IO_PDAC2_SLP_SEL_M (BIT(14)) -#define RTC_IO_PDAC2_SLP_SEL_V 0x1 -#define RTC_IO_PDAC2_SLP_SEL_S 14 -/* RTC_IO_PDAC2_SLP_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_PDAC2_SLP_IE (BIT(13)) -#define RTC_IO_PDAC2_SLP_IE_M (BIT(13)) -#define RTC_IO_PDAC2_SLP_IE_V 0x1 -#define RTC_IO_PDAC2_SLP_IE_S 13 -/* RTC_IO_PDAC2_SLP_OE : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_PDAC2_SLP_OE (BIT(12)) -#define RTC_IO_PDAC2_SLP_OE_M (BIT(12)) -#define RTC_IO_PDAC2_SLP_OE_V 0x1 -#define RTC_IO_PDAC2_SLP_OE_S 12 -/* RTC_IO_PDAC2_FUN_IE : R/W ;bitpos:[11] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_PDAC2_FUN_IE (BIT(11)) -#define RTC_IO_PDAC2_FUN_IE_M (BIT(11)) -#define RTC_IO_PDAC2_FUN_IE_V 0x1 -#define RTC_IO_PDAC2_FUN_IE_S 11 -/* RTC_IO_PDAC2_DAC_XPD_FORCE : R/W ;bitpos:[10] ;default: 1'd0 ; */ -/*description: Power on DAC2. Usually we need to tristate PDAC2 if we power - on the DAC i.e. IE=0 OE=0 RDE=0 RUE=0*/ -#define RTC_IO_PDAC2_DAC_XPD_FORCE (BIT(10)) -#define RTC_IO_PDAC2_DAC_XPD_FORCE_M (BIT(10)) -#define RTC_IO_PDAC2_DAC_XPD_FORCE_V 0x1 -#define RTC_IO_PDAC2_DAC_XPD_FORCE_S 10 - -#define RTC_IO_XTAL_32K_PAD_REG (DR_REG_RTCIO_BASE + 0x8c) -/* RTC_IO_X32N_DRV : R/W ;bitpos:[31:30] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_X32N_DRV 0x00000003 -#define RTC_IO_X32N_DRV_M ((RTC_IO_X32N_DRV_V)<<(RTC_IO_X32N_DRV_S)) -#define RTC_IO_X32N_DRV_V 0x3 -#define RTC_IO_X32N_DRV_S 30 -/* RTC_IO_X32N_HOLD : R/W ;bitpos:[29] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_X32N_HOLD (BIT(29)) -#define RTC_IO_X32N_HOLD_M (BIT(29)) -#define RTC_IO_X32N_HOLD_V 0x1 -#define RTC_IO_X32N_HOLD_S 29 -/* RTC_IO_X32N_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_X32N_RDE (BIT(28)) -#define RTC_IO_X32N_RDE_M (BIT(28)) -#define RTC_IO_X32N_RDE_V 0x1 -#define RTC_IO_X32N_RDE_S 28 -/* RTC_IO_X32N_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_X32N_RUE (BIT(27)) -#define RTC_IO_X32N_RUE_M (BIT(27)) -#define RTC_IO_X32N_RUE_V 0x1 -#define RTC_IO_X32N_RUE_S 27 -/* RTC_IO_X32P_DRV : R/W ;bitpos:[26:25] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_X32P_DRV 0x00000003 -#define RTC_IO_X32P_DRV_M ((RTC_IO_X32P_DRV_V)<<(RTC_IO_X32P_DRV_S)) -#define RTC_IO_X32P_DRV_V 0x3 -#define RTC_IO_X32P_DRV_S 25 -/* RTC_IO_X32P_HOLD : R/W ;bitpos:[24] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_X32P_HOLD (BIT(24)) -#define RTC_IO_X32P_HOLD_M (BIT(24)) -#define RTC_IO_X32P_HOLD_V 0x1 -#define RTC_IO_X32P_HOLD_S 24 -/* RTC_IO_X32P_RDE : R/W ;bitpos:[23] ;default: 1'd0 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_X32P_RDE (BIT(23)) -#define RTC_IO_X32P_RDE_M (BIT(23)) -#define RTC_IO_X32P_RDE_V 0x1 -#define RTC_IO_X32P_RDE_S 23 -/* RTC_IO_X32P_RUE : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_X32P_RUE (BIT(22)) -#define RTC_IO_X32P_RUE_M (BIT(22)) -#define RTC_IO_X32P_RUE_V 0x1 -#define RTC_IO_X32P_RUE_S 22 -/* RTC_IO_DAC_XTAL_32K : R/W ;bitpos:[21:20] ;default: 2'b01 ; */ -/*description: 32K XTAL bias current DAC.*/ -#define RTC_IO_DAC_XTAL_32K 0x00000003 -#define RTC_IO_DAC_XTAL_32K_M ((RTC_IO_DAC_XTAL_32K_V)<<(RTC_IO_DAC_XTAL_32K_S)) -#define RTC_IO_DAC_XTAL_32K_V 0x3 -#define RTC_IO_DAC_XTAL_32K_S 20 -/* RTC_IO_XPD_XTAL_32K : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: Power up 32kHz crystal oscillator*/ -#define RTC_IO_XPD_XTAL_32K (BIT(19)) -#define RTC_IO_XPD_XTAL_32K_M (BIT(19)) -#define RTC_IO_XPD_XTAL_32K_V 0x1 -#define RTC_IO_XPD_XTAL_32K_S 19 -/* RTC_IO_X32N_MUX_SEL : R/W ;bitpos:[18] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_X32N_MUX_SEL (BIT(18)) -#define RTC_IO_X32N_MUX_SEL_M (BIT(18)) -#define RTC_IO_X32N_MUX_SEL_V 0x1 -#define RTC_IO_X32N_MUX_SEL_S 18 -/* RTC_IO_X32P_MUX_SEL : R/W ;bitpos:[17] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_X32P_MUX_SEL (BIT(17)) -#define RTC_IO_X32P_MUX_SEL_M (BIT(17)) -#define RTC_IO_X32P_MUX_SEL_V 0x1 -#define RTC_IO_X32P_MUX_SEL_S 17 -/* RTC_IO_X32N_FUN_SEL : R/W ;bitpos:[16:15] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_X32N_FUN_SEL 0x00000003 -#define RTC_IO_X32N_FUN_SEL_M ((RTC_IO_X32N_FUN_SEL_V)<<(RTC_IO_X32N_FUN_SEL_S)) -#define RTC_IO_X32N_FUN_SEL_V 0x3 -#define RTC_IO_X32N_FUN_SEL_S 15 -/* RTC_IO_X32N_SLP_SEL : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_X32N_SLP_SEL (BIT(14)) -#define RTC_IO_X32N_SLP_SEL_M (BIT(14)) -#define RTC_IO_X32N_SLP_SEL_V 0x1 -#define RTC_IO_X32N_SLP_SEL_S 14 -/* RTC_IO_X32N_SLP_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_X32N_SLP_IE (BIT(13)) -#define RTC_IO_X32N_SLP_IE_M (BIT(13)) -#define RTC_IO_X32N_SLP_IE_V 0x1 -#define RTC_IO_X32N_SLP_IE_S 13 -/* RTC_IO_X32N_SLP_OE : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_X32N_SLP_OE (BIT(12)) -#define RTC_IO_X32N_SLP_OE_M (BIT(12)) -#define RTC_IO_X32N_SLP_OE_V 0x1 -#define RTC_IO_X32N_SLP_OE_S 12 -/* RTC_IO_X32N_FUN_IE : R/W ;bitpos:[11] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_X32N_FUN_IE (BIT(11)) -#define RTC_IO_X32N_FUN_IE_M (BIT(11)) -#define RTC_IO_X32N_FUN_IE_V 0x1 -#define RTC_IO_X32N_FUN_IE_S 11 -/* RTC_IO_X32P_FUN_SEL : R/W ;bitpos:[10:9] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_X32P_FUN_SEL 0x00000003 -#define RTC_IO_X32P_FUN_SEL_M ((RTC_IO_X32P_FUN_SEL_V)<<(RTC_IO_X32P_FUN_SEL_S)) -#define RTC_IO_X32P_FUN_SEL_V 0x3 -#define RTC_IO_X32P_FUN_SEL_S 9 -/* RTC_IO_X32P_SLP_SEL : R/W ;bitpos:[8] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_X32P_SLP_SEL (BIT(8)) -#define RTC_IO_X32P_SLP_SEL_M (BIT(8)) -#define RTC_IO_X32P_SLP_SEL_V 0x1 -#define RTC_IO_X32P_SLP_SEL_S 8 -/* RTC_IO_X32P_SLP_IE : R/W ;bitpos:[7] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_X32P_SLP_IE (BIT(7)) -#define RTC_IO_X32P_SLP_IE_M (BIT(7)) -#define RTC_IO_X32P_SLP_IE_V 0x1 -#define RTC_IO_X32P_SLP_IE_S 7 -/* RTC_IO_X32P_SLP_OE : R/W ;bitpos:[6] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_X32P_SLP_OE (BIT(6)) -#define RTC_IO_X32P_SLP_OE_M (BIT(6)) -#define RTC_IO_X32P_SLP_OE_V 0x1 -#define RTC_IO_X32P_SLP_OE_S 6 -/* RTC_IO_X32P_FUN_IE : R/W ;bitpos:[5] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_X32P_FUN_IE (BIT(5)) -#define RTC_IO_X32P_FUN_IE_M (BIT(5)) -#define RTC_IO_X32P_FUN_IE_V 0x1 -#define RTC_IO_X32P_FUN_IE_S 5 -/* RTC_IO_DRES_XTAL_32K : R/W ;bitpos:[4:3] ;default: 2'b10 ; */ -/*description: 32K XTAL resistor bias control.*/ -#define RTC_IO_DRES_XTAL_32K 0x00000003 -#define RTC_IO_DRES_XTAL_32K_M ((RTC_IO_DRES_XTAL_32K_V)<<(RTC_IO_DRES_XTAL_32K_S)) -#define RTC_IO_DRES_XTAL_32K_V 0x3 -#define RTC_IO_DRES_XTAL_32K_S 3 -/* RTC_IO_DBIAS_XTAL_32K : R/W ;bitpos:[2:1] ;default: 2'b00 ; */ -/*description: 32K XTAL self-bias reference control.*/ -#define RTC_IO_DBIAS_XTAL_32K 0x00000003 -#define RTC_IO_DBIAS_XTAL_32K_M ((RTC_IO_DBIAS_XTAL_32K_V)<<(RTC_IO_DBIAS_XTAL_32K_S)) -#define RTC_IO_DBIAS_XTAL_32K_V 0x3 -#define RTC_IO_DBIAS_XTAL_32K_S 1 - -#define RTC_IO_TOUCH_CFG_REG (DR_REG_RTCIO_BASE + 0x90) -/* RTC_IO_TOUCH_XPD_BIAS : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: touch sensor bias power on.*/ -#define RTC_IO_TOUCH_XPD_BIAS (BIT(31)) -#define RTC_IO_TOUCH_XPD_BIAS_M (BIT(31)) -#define RTC_IO_TOUCH_XPD_BIAS_V 0x1 -#define RTC_IO_TOUCH_XPD_BIAS_S 31 -/* RTC_IO_TOUCH_DREFH : R/W ;bitpos:[30:29] ;default: 2'b11 ; */ -/*description: touch sensor saw wave top voltage.*/ -#define RTC_IO_TOUCH_DREFH 0x00000003 -#define RTC_IO_TOUCH_DREFH_M ((RTC_IO_TOUCH_DREFH_V)<<(RTC_IO_TOUCH_DREFH_S)) -#define RTC_IO_TOUCH_DREFH_V 0x3 -#define RTC_IO_TOUCH_DREFH_S 29 -/* RTC_IO_TOUCH_DREFL : R/W ;bitpos:[28:27] ;default: 2'b00 ; */ -/*description: touch sensor saw wave bottom voltage.*/ -#define RTC_IO_TOUCH_DREFL 0x00000003 -#define RTC_IO_TOUCH_DREFL_M ((RTC_IO_TOUCH_DREFL_V)<<(RTC_IO_TOUCH_DREFL_S)) -#define RTC_IO_TOUCH_DREFL_V 0x3 -#define RTC_IO_TOUCH_DREFL_S 27 -/* RTC_IO_TOUCH_DRANGE : R/W ;bitpos:[26:25] ;default: 2'b11 ; */ -/*description: touch sensor saw wave voltage range.*/ -#define RTC_IO_TOUCH_DRANGE 0x00000003 -#define RTC_IO_TOUCH_DRANGE_M ((RTC_IO_TOUCH_DRANGE_V)<<(RTC_IO_TOUCH_DRANGE_S)) -#define RTC_IO_TOUCH_DRANGE_V 0x3 -#define RTC_IO_TOUCH_DRANGE_S 25 -/* RTC_IO_TOUCH_DCUR : R/W ;bitpos:[24:23] ;default: 2'b00 ; */ -/*description: touch sensor bias current. Should have option to tie with BIAS_SLEEP(When - BIAS_SLEEP this setting is available*/ -#define RTC_IO_TOUCH_DCUR 0x00000003 -#define RTC_IO_TOUCH_DCUR_M ((RTC_IO_TOUCH_DCUR_V)<<(RTC_IO_TOUCH_DCUR_S)) -#define RTC_IO_TOUCH_DCUR_V 0x3 -#define RTC_IO_TOUCH_DCUR_S 23 - -#define RTC_IO_TOUCH_PAD0_REG (DR_REG_RTCIO_BASE + 0x94) -/* RTC_IO_TOUCH_PAD0_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_TOUCH_PAD0_HOLD (BIT(31)) -#define RTC_IO_TOUCH_PAD0_HOLD_M (BIT(31)) -#define RTC_IO_TOUCH_PAD0_HOLD_V 0x1 -#define RTC_IO_TOUCH_PAD0_HOLD_S 31 -/* RTC_IO_TOUCH_PAD0_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_TOUCH_PAD0_DRV 0x00000003 -#define RTC_IO_TOUCH_PAD0_DRV_M ((RTC_IO_TOUCH_PAD0_DRV_V)<<(RTC_IO_TOUCH_PAD0_DRV_S)) -#define RTC_IO_TOUCH_PAD0_DRV_V 0x3 -#define RTC_IO_TOUCH_PAD0_DRV_S 29 -/* RTC_IO_TOUCH_PAD0_RDE : R/W ;bitpos:[28] ;default: 1'd1 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_TOUCH_PAD0_RDE (BIT(28)) -#define RTC_IO_TOUCH_PAD0_RDE_M (BIT(28)) -#define RTC_IO_TOUCH_PAD0_RDE_V 0x1 -#define RTC_IO_TOUCH_PAD0_RDE_S 28 -/* RTC_IO_TOUCH_PAD0_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_TOUCH_PAD0_RUE (BIT(27)) -#define RTC_IO_TOUCH_PAD0_RUE_M (BIT(27)) -#define RTC_IO_TOUCH_PAD0_RUE_V 0x1 -#define RTC_IO_TOUCH_PAD0_RUE_S 27 -/* RTC_IO_TOUCH_PAD0_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ -/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ -#define RTC_IO_TOUCH_PAD0_DAC 0x00000007 -#define RTC_IO_TOUCH_PAD0_DAC_M ((RTC_IO_TOUCH_PAD0_DAC_V)<<(RTC_IO_TOUCH_PAD0_DAC_S)) -#define RTC_IO_TOUCH_PAD0_DAC_V 0x7 -#define RTC_IO_TOUCH_PAD0_DAC_S 23 -/* RTC_IO_TOUCH_PAD0_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: start touch sensor.*/ -#define RTC_IO_TOUCH_PAD0_START (BIT(22)) -#define RTC_IO_TOUCH_PAD0_START_M (BIT(22)) -#define RTC_IO_TOUCH_PAD0_START_V 0x1 -#define RTC_IO_TOUCH_PAD0_START_S 22 -/* RTC_IO_TOUCH_PAD0_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ -#define RTC_IO_TOUCH_PAD0_TIE_OPT (BIT(21)) -#define RTC_IO_TOUCH_PAD0_TIE_OPT_M (BIT(21)) -#define RTC_IO_TOUCH_PAD0_TIE_OPT_V 0x1 -#define RTC_IO_TOUCH_PAD0_TIE_OPT_S 21 -/* RTC_IO_TOUCH_PAD0_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: touch sensor power on.*/ -#define RTC_IO_TOUCH_PAD0_XPD (BIT(20)) -#define RTC_IO_TOUCH_PAD0_XPD_M (BIT(20)) -#define RTC_IO_TOUCH_PAD0_XPD_V 0x1 -#define RTC_IO_TOUCH_PAD0_XPD_S 20 -/* RTC_IO_TOUCH_PAD0_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_TOUCH_PAD0_MUX_SEL (BIT(19)) -#define RTC_IO_TOUCH_PAD0_MUX_SEL_M (BIT(19)) -#define RTC_IO_TOUCH_PAD0_MUX_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD0_MUX_SEL_S 19 -/* RTC_IO_TOUCH_PAD0_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD0_FUN_SEL 0x00000003 -#define RTC_IO_TOUCH_PAD0_FUN_SEL_M ((RTC_IO_TOUCH_PAD0_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD0_FUN_SEL_S)) -#define RTC_IO_TOUCH_PAD0_FUN_SEL_V 0x3 -#define RTC_IO_TOUCH_PAD0_FUN_SEL_S 17 -/* RTC_IO_TOUCH_PAD0_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD0_SLP_SEL (BIT(16)) -#define RTC_IO_TOUCH_PAD0_SLP_SEL_M (BIT(16)) -#define RTC_IO_TOUCH_PAD0_SLP_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD0_SLP_SEL_S 16 -/* RTC_IO_TOUCH_PAD0_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD0_SLP_IE (BIT(15)) -#define RTC_IO_TOUCH_PAD0_SLP_IE_M (BIT(15)) -#define RTC_IO_TOUCH_PAD0_SLP_IE_V 0x1 -#define RTC_IO_TOUCH_PAD0_SLP_IE_S 15 -/* RTC_IO_TOUCH_PAD0_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD0_SLP_OE (BIT(14)) -#define RTC_IO_TOUCH_PAD0_SLP_OE_M (BIT(14)) -#define RTC_IO_TOUCH_PAD0_SLP_OE_V 0x1 -#define RTC_IO_TOUCH_PAD0_SLP_OE_S 14 -/* RTC_IO_TOUCH_PAD0_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_TOUCH_PAD0_FUN_IE (BIT(13)) -#define RTC_IO_TOUCH_PAD0_FUN_IE_M (BIT(13)) -#define RTC_IO_TOUCH_PAD0_FUN_IE_V 0x1 -#define RTC_IO_TOUCH_PAD0_FUN_IE_S 13 -/* RTC_IO_TOUCH_PAD0_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale GPIO4*/ -#define RTC_IO_TOUCH_PAD0_TO_GPIO (BIT(12)) -#define RTC_IO_TOUCH_PAD0_TO_GPIO_M (BIT(12)) -#define RTC_IO_TOUCH_PAD0_TO_GPIO_V 0x1 -#define RTC_IO_TOUCH_PAD0_TO_GPIO_S 12 - -#define RTC_IO_TOUCH_PAD1_REG (DR_REG_RTCIO_BASE + 0x98) -/* RTC_IO_TOUCH_PAD1_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: */ -#define RTC_IO_TOUCH_PAD1_HOLD (BIT(31)) -#define RTC_IO_TOUCH_PAD1_HOLD_M (BIT(31)) -#define RTC_IO_TOUCH_PAD1_HOLD_V 0x1 -#define RTC_IO_TOUCH_PAD1_HOLD_S 31 -/* RTC_IO_TOUCH_PAD1_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_TOUCH_PAD1_DRV 0x00000003 -#define RTC_IO_TOUCH_PAD1_DRV_M ((RTC_IO_TOUCH_PAD1_DRV_V)<<(RTC_IO_TOUCH_PAD1_DRV_S)) -#define RTC_IO_TOUCH_PAD1_DRV_V 0x3 -#define RTC_IO_TOUCH_PAD1_DRV_S 29 -/* RTC_IO_TOUCH_PAD1_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_TOUCH_PAD1_RDE (BIT(28)) -#define RTC_IO_TOUCH_PAD1_RDE_M (BIT(28)) -#define RTC_IO_TOUCH_PAD1_RDE_V 0x1 -#define RTC_IO_TOUCH_PAD1_RDE_S 28 -/* RTC_IO_TOUCH_PAD1_RUE : R/W ;bitpos:[27] ;default: 1'd1 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_TOUCH_PAD1_RUE (BIT(27)) -#define RTC_IO_TOUCH_PAD1_RUE_M (BIT(27)) -#define RTC_IO_TOUCH_PAD1_RUE_V 0x1 -#define RTC_IO_TOUCH_PAD1_RUE_S 27 -/* RTC_IO_TOUCH_PAD1_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ -/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ -#define RTC_IO_TOUCH_PAD1_DAC 0x00000007 -#define RTC_IO_TOUCH_PAD1_DAC_M ((RTC_IO_TOUCH_PAD1_DAC_V)<<(RTC_IO_TOUCH_PAD1_DAC_S)) -#define RTC_IO_TOUCH_PAD1_DAC_V 0x7 -#define RTC_IO_TOUCH_PAD1_DAC_S 23 -/* RTC_IO_TOUCH_PAD1_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: start touch sensor.*/ -#define RTC_IO_TOUCH_PAD1_START (BIT(22)) -#define RTC_IO_TOUCH_PAD1_START_M (BIT(22)) -#define RTC_IO_TOUCH_PAD1_START_V 0x1 -#define RTC_IO_TOUCH_PAD1_START_S 22 -/* RTC_IO_TOUCH_PAD1_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ -#define RTC_IO_TOUCH_PAD1_TIE_OPT (BIT(21)) -#define RTC_IO_TOUCH_PAD1_TIE_OPT_M (BIT(21)) -#define RTC_IO_TOUCH_PAD1_TIE_OPT_V 0x1 -#define RTC_IO_TOUCH_PAD1_TIE_OPT_S 21 -/* RTC_IO_TOUCH_PAD1_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: touch sensor power on.*/ -#define RTC_IO_TOUCH_PAD1_XPD (BIT(20)) -#define RTC_IO_TOUCH_PAD1_XPD_M (BIT(20)) -#define RTC_IO_TOUCH_PAD1_XPD_V 0x1 -#define RTC_IO_TOUCH_PAD1_XPD_S 20 -/* RTC_IO_TOUCH_PAD1_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_TOUCH_PAD1_MUX_SEL (BIT(19)) -#define RTC_IO_TOUCH_PAD1_MUX_SEL_M (BIT(19)) -#define RTC_IO_TOUCH_PAD1_MUX_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD1_MUX_SEL_S 19 -/* RTC_IO_TOUCH_PAD1_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD1_FUN_SEL 0x00000003 -#define RTC_IO_TOUCH_PAD1_FUN_SEL_M ((RTC_IO_TOUCH_PAD1_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD1_FUN_SEL_S)) -#define RTC_IO_TOUCH_PAD1_FUN_SEL_V 0x3 -#define RTC_IO_TOUCH_PAD1_FUN_SEL_S 17 -/* RTC_IO_TOUCH_PAD1_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD1_SLP_SEL (BIT(16)) -#define RTC_IO_TOUCH_PAD1_SLP_SEL_M (BIT(16)) -#define RTC_IO_TOUCH_PAD1_SLP_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD1_SLP_SEL_S 16 -/* RTC_IO_TOUCH_PAD1_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD1_SLP_IE (BIT(15)) -#define RTC_IO_TOUCH_PAD1_SLP_IE_M (BIT(15)) -#define RTC_IO_TOUCH_PAD1_SLP_IE_V 0x1 -#define RTC_IO_TOUCH_PAD1_SLP_IE_S 15 -/* RTC_IO_TOUCH_PAD1_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD1_SLP_OE (BIT(14)) -#define RTC_IO_TOUCH_PAD1_SLP_OE_M (BIT(14)) -#define RTC_IO_TOUCH_PAD1_SLP_OE_V 0x1 -#define RTC_IO_TOUCH_PAD1_SLP_OE_S 14 -/* RTC_IO_TOUCH_PAD1_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_TOUCH_PAD1_FUN_IE (BIT(13)) -#define RTC_IO_TOUCH_PAD1_FUN_IE_M (BIT(13)) -#define RTC_IO_TOUCH_PAD1_FUN_IE_V 0x1 -#define RTC_IO_TOUCH_PAD1_FUN_IE_S 13 -/* RTC_IO_TOUCH_PAD1_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.GPIO0*/ -#define RTC_IO_TOUCH_PAD1_TO_GPIO (BIT(12)) -#define RTC_IO_TOUCH_PAD1_TO_GPIO_M (BIT(12)) -#define RTC_IO_TOUCH_PAD1_TO_GPIO_V 0x1 -#define RTC_IO_TOUCH_PAD1_TO_GPIO_S 12 - -#define RTC_IO_TOUCH_PAD2_REG (DR_REG_RTCIO_BASE + 0x9c) -/* RTC_IO_TOUCH_PAD2_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_TOUCH_PAD2_HOLD (BIT(31)) -#define RTC_IO_TOUCH_PAD2_HOLD_M (BIT(31)) -#define RTC_IO_TOUCH_PAD2_HOLD_V 0x1 -#define RTC_IO_TOUCH_PAD2_HOLD_S 31 -/* RTC_IO_TOUCH_PAD2_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_TOUCH_PAD2_DRV 0x00000003 -#define RTC_IO_TOUCH_PAD2_DRV_M ((RTC_IO_TOUCH_PAD2_DRV_V)<<(RTC_IO_TOUCH_PAD2_DRV_S)) -#define RTC_IO_TOUCH_PAD2_DRV_V 0x3 -#define RTC_IO_TOUCH_PAD2_DRV_S 29 -/* RTC_IO_TOUCH_PAD2_RDE : R/W ;bitpos:[28] ;default: 1'd1 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_TOUCH_PAD2_RDE (BIT(28)) -#define RTC_IO_TOUCH_PAD2_RDE_M (BIT(28)) -#define RTC_IO_TOUCH_PAD2_RDE_V 0x1 -#define RTC_IO_TOUCH_PAD2_RDE_S 28 -/* RTC_IO_TOUCH_PAD2_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_TOUCH_PAD2_RUE (BIT(27)) -#define RTC_IO_TOUCH_PAD2_RUE_M (BIT(27)) -#define RTC_IO_TOUCH_PAD2_RUE_V 0x1 -#define RTC_IO_TOUCH_PAD2_RUE_S 27 -/* RTC_IO_TOUCH_PAD2_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ -/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ -#define RTC_IO_TOUCH_PAD2_DAC 0x00000007 -#define RTC_IO_TOUCH_PAD2_DAC_M ((RTC_IO_TOUCH_PAD2_DAC_V)<<(RTC_IO_TOUCH_PAD2_DAC_S)) -#define RTC_IO_TOUCH_PAD2_DAC_V 0x7 -#define RTC_IO_TOUCH_PAD2_DAC_S 23 -/* RTC_IO_TOUCH_PAD2_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: start touch sensor.*/ -#define RTC_IO_TOUCH_PAD2_START (BIT(22)) -#define RTC_IO_TOUCH_PAD2_START_M (BIT(22)) -#define RTC_IO_TOUCH_PAD2_START_V 0x1 -#define RTC_IO_TOUCH_PAD2_START_S 22 -/* RTC_IO_TOUCH_PAD2_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ -#define RTC_IO_TOUCH_PAD2_TIE_OPT (BIT(21)) -#define RTC_IO_TOUCH_PAD2_TIE_OPT_M (BIT(21)) -#define RTC_IO_TOUCH_PAD2_TIE_OPT_V 0x1 -#define RTC_IO_TOUCH_PAD2_TIE_OPT_S 21 -/* RTC_IO_TOUCH_PAD2_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: touch sensor power on.*/ -#define RTC_IO_TOUCH_PAD2_XPD (BIT(20)) -#define RTC_IO_TOUCH_PAD2_XPD_M (BIT(20)) -#define RTC_IO_TOUCH_PAD2_XPD_V 0x1 -#define RTC_IO_TOUCH_PAD2_XPD_S 20 -/* RTC_IO_TOUCH_PAD2_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_TOUCH_PAD2_MUX_SEL (BIT(19)) -#define RTC_IO_TOUCH_PAD2_MUX_SEL_M (BIT(19)) -#define RTC_IO_TOUCH_PAD2_MUX_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD2_MUX_SEL_S 19 -/* RTC_IO_TOUCH_PAD2_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD2_FUN_SEL 0x00000003 -#define RTC_IO_TOUCH_PAD2_FUN_SEL_M ((RTC_IO_TOUCH_PAD2_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD2_FUN_SEL_S)) -#define RTC_IO_TOUCH_PAD2_FUN_SEL_V 0x3 -#define RTC_IO_TOUCH_PAD2_FUN_SEL_S 17 -/* RTC_IO_TOUCH_PAD2_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD2_SLP_SEL (BIT(16)) -#define RTC_IO_TOUCH_PAD2_SLP_SEL_M (BIT(16)) -#define RTC_IO_TOUCH_PAD2_SLP_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD2_SLP_SEL_S 16 -/* RTC_IO_TOUCH_PAD2_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD2_SLP_IE (BIT(15)) -#define RTC_IO_TOUCH_PAD2_SLP_IE_M (BIT(15)) -#define RTC_IO_TOUCH_PAD2_SLP_IE_V 0x1 -#define RTC_IO_TOUCH_PAD2_SLP_IE_S 15 -/* RTC_IO_TOUCH_PAD2_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD2_SLP_OE (BIT(14)) -#define RTC_IO_TOUCH_PAD2_SLP_OE_M (BIT(14)) -#define RTC_IO_TOUCH_PAD2_SLP_OE_V 0x1 -#define RTC_IO_TOUCH_PAD2_SLP_OE_S 14 -/* RTC_IO_TOUCH_PAD2_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_TOUCH_PAD2_FUN_IE (BIT(13)) -#define RTC_IO_TOUCH_PAD2_FUN_IE_M (BIT(13)) -#define RTC_IO_TOUCH_PAD2_FUN_IE_V 0x1 -#define RTC_IO_TOUCH_PAD2_FUN_IE_S 13 -/* RTC_IO_TOUCH_PAD2_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.GPIO2*/ -#define RTC_IO_TOUCH_PAD2_TO_GPIO (BIT(12)) -#define RTC_IO_TOUCH_PAD2_TO_GPIO_M (BIT(12)) -#define RTC_IO_TOUCH_PAD2_TO_GPIO_V 0x1 -#define RTC_IO_TOUCH_PAD2_TO_GPIO_S 12 - -#define RTC_IO_TOUCH_PAD3_REG (DR_REG_RTCIO_BASE + 0xa0) -/* RTC_IO_TOUCH_PAD3_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_TOUCH_PAD3_HOLD (BIT(31)) -#define RTC_IO_TOUCH_PAD3_HOLD_M (BIT(31)) -#define RTC_IO_TOUCH_PAD3_HOLD_V 0x1 -#define RTC_IO_TOUCH_PAD3_HOLD_S 31 -/* RTC_IO_TOUCH_PAD3_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_TOUCH_PAD3_DRV 0x00000003 -#define RTC_IO_TOUCH_PAD3_DRV_M ((RTC_IO_TOUCH_PAD3_DRV_V)<<(RTC_IO_TOUCH_PAD3_DRV_S)) -#define RTC_IO_TOUCH_PAD3_DRV_V 0x3 -#define RTC_IO_TOUCH_PAD3_DRV_S 29 -/* RTC_IO_TOUCH_PAD3_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_TOUCH_PAD3_RDE (BIT(28)) -#define RTC_IO_TOUCH_PAD3_RDE_M (BIT(28)) -#define RTC_IO_TOUCH_PAD3_RDE_V 0x1 -#define RTC_IO_TOUCH_PAD3_RDE_S 28 -/* RTC_IO_TOUCH_PAD3_RUE : R/W ;bitpos:[27] ;default: 1'd1 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_TOUCH_PAD3_RUE (BIT(27)) -#define RTC_IO_TOUCH_PAD3_RUE_M (BIT(27)) -#define RTC_IO_TOUCH_PAD3_RUE_V 0x1 -#define RTC_IO_TOUCH_PAD3_RUE_S 27 -/* RTC_IO_TOUCH_PAD3_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ -/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ -#define RTC_IO_TOUCH_PAD3_DAC 0x00000007 -#define RTC_IO_TOUCH_PAD3_DAC_M ((RTC_IO_TOUCH_PAD3_DAC_V)<<(RTC_IO_TOUCH_PAD3_DAC_S)) -#define RTC_IO_TOUCH_PAD3_DAC_V 0x7 -#define RTC_IO_TOUCH_PAD3_DAC_S 23 -/* RTC_IO_TOUCH_PAD3_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: start touch sensor.*/ -#define RTC_IO_TOUCH_PAD3_START (BIT(22)) -#define RTC_IO_TOUCH_PAD3_START_M (BIT(22)) -#define RTC_IO_TOUCH_PAD3_START_V 0x1 -#define RTC_IO_TOUCH_PAD3_START_S 22 -/* RTC_IO_TOUCH_PAD3_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ -#define RTC_IO_TOUCH_PAD3_TIE_OPT (BIT(21)) -#define RTC_IO_TOUCH_PAD3_TIE_OPT_M (BIT(21)) -#define RTC_IO_TOUCH_PAD3_TIE_OPT_V 0x1 -#define RTC_IO_TOUCH_PAD3_TIE_OPT_S 21 -/* RTC_IO_TOUCH_PAD3_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: touch sensor power on.*/ -#define RTC_IO_TOUCH_PAD3_XPD (BIT(20)) -#define RTC_IO_TOUCH_PAD3_XPD_M (BIT(20)) -#define RTC_IO_TOUCH_PAD3_XPD_V 0x1 -#define RTC_IO_TOUCH_PAD3_XPD_S 20 -/* RTC_IO_TOUCH_PAD3_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_TOUCH_PAD3_MUX_SEL (BIT(19)) -#define RTC_IO_TOUCH_PAD3_MUX_SEL_M (BIT(19)) -#define RTC_IO_TOUCH_PAD3_MUX_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD3_MUX_SEL_S 19 -/* RTC_IO_TOUCH_PAD3_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD3_FUN_SEL 0x00000003 -#define RTC_IO_TOUCH_PAD3_FUN_SEL_M ((RTC_IO_TOUCH_PAD3_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD3_FUN_SEL_S)) -#define RTC_IO_TOUCH_PAD3_FUN_SEL_V 0x3 -#define RTC_IO_TOUCH_PAD3_FUN_SEL_S 17 -/* RTC_IO_TOUCH_PAD3_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD3_SLP_SEL (BIT(16)) -#define RTC_IO_TOUCH_PAD3_SLP_SEL_M (BIT(16)) -#define RTC_IO_TOUCH_PAD3_SLP_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD3_SLP_SEL_S 16 -/* RTC_IO_TOUCH_PAD3_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD3_SLP_IE (BIT(15)) -#define RTC_IO_TOUCH_PAD3_SLP_IE_M (BIT(15)) -#define RTC_IO_TOUCH_PAD3_SLP_IE_V 0x1 -#define RTC_IO_TOUCH_PAD3_SLP_IE_S 15 -/* RTC_IO_TOUCH_PAD3_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD3_SLP_OE (BIT(14)) -#define RTC_IO_TOUCH_PAD3_SLP_OE_M (BIT(14)) -#define RTC_IO_TOUCH_PAD3_SLP_OE_V 0x1 -#define RTC_IO_TOUCH_PAD3_SLP_OE_S 14 -/* RTC_IO_TOUCH_PAD3_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_TOUCH_PAD3_FUN_IE (BIT(13)) -#define RTC_IO_TOUCH_PAD3_FUN_IE_M (BIT(13)) -#define RTC_IO_TOUCH_PAD3_FUN_IE_V 0x1 -#define RTC_IO_TOUCH_PAD3_FUN_IE_S 13 -/* RTC_IO_TOUCH_PAD3_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.MTDO*/ -#define RTC_IO_TOUCH_PAD3_TO_GPIO (BIT(12)) -#define RTC_IO_TOUCH_PAD3_TO_GPIO_M (BIT(12)) -#define RTC_IO_TOUCH_PAD3_TO_GPIO_V 0x1 -#define RTC_IO_TOUCH_PAD3_TO_GPIO_S 12 - -#define RTC_IO_TOUCH_PAD4_REG (DR_REG_RTCIO_BASE + 0xa4) -/* RTC_IO_TOUCH_PAD4_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_TOUCH_PAD4_HOLD (BIT(31)) -#define RTC_IO_TOUCH_PAD4_HOLD_M (BIT(31)) -#define RTC_IO_TOUCH_PAD4_HOLD_V 0x1 -#define RTC_IO_TOUCH_PAD4_HOLD_S 31 -/* RTC_IO_TOUCH_PAD4_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_TOUCH_PAD4_DRV 0x00000003 -#define RTC_IO_TOUCH_PAD4_DRV_M ((RTC_IO_TOUCH_PAD4_DRV_V)<<(RTC_IO_TOUCH_PAD4_DRV_S)) -#define RTC_IO_TOUCH_PAD4_DRV_V 0x3 -#define RTC_IO_TOUCH_PAD4_DRV_S 29 -/* RTC_IO_TOUCH_PAD4_RDE : R/W ;bitpos:[28] ;default: 1'd1 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_TOUCH_PAD4_RDE (BIT(28)) -#define RTC_IO_TOUCH_PAD4_RDE_M (BIT(28)) -#define RTC_IO_TOUCH_PAD4_RDE_V 0x1 -#define RTC_IO_TOUCH_PAD4_RDE_S 28 -/* RTC_IO_TOUCH_PAD4_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_TOUCH_PAD4_RUE (BIT(27)) -#define RTC_IO_TOUCH_PAD4_RUE_M (BIT(27)) -#define RTC_IO_TOUCH_PAD4_RUE_V 0x1 -#define RTC_IO_TOUCH_PAD4_RUE_S 27 -/* RTC_IO_TOUCH_PAD4_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ -/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ -#define RTC_IO_TOUCH_PAD4_DAC 0x00000007 -#define RTC_IO_TOUCH_PAD4_DAC_M ((RTC_IO_TOUCH_PAD4_DAC_V)<<(RTC_IO_TOUCH_PAD4_DAC_S)) -#define RTC_IO_TOUCH_PAD4_DAC_V 0x7 -#define RTC_IO_TOUCH_PAD4_DAC_S 23 -/* RTC_IO_TOUCH_PAD4_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: start touch sensor.*/ -#define RTC_IO_TOUCH_PAD4_START (BIT(22)) -#define RTC_IO_TOUCH_PAD4_START_M (BIT(22)) -#define RTC_IO_TOUCH_PAD4_START_V 0x1 -#define RTC_IO_TOUCH_PAD4_START_S 22 -/* RTC_IO_TOUCH_PAD4_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ -#define RTC_IO_TOUCH_PAD4_TIE_OPT (BIT(21)) -#define RTC_IO_TOUCH_PAD4_TIE_OPT_M (BIT(21)) -#define RTC_IO_TOUCH_PAD4_TIE_OPT_V 0x1 -#define RTC_IO_TOUCH_PAD4_TIE_OPT_S 21 -/* RTC_IO_TOUCH_PAD4_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: touch sensor power on.*/ -#define RTC_IO_TOUCH_PAD4_XPD (BIT(20)) -#define RTC_IO_TOUCH_PAD4_XPD_M (BIT(20)) -#define RTC_IO_TOUCH_PAD4_XPD_V 0x1 -#define RTC_IO_TOUCH_PAD4_XPD_S 20 -/* RTC_IO_TOUCH_PAD4_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_TOUCH_PAD4_MUX_SEL (BIT(19)) -#define RTC_IO_TOUCH_PAD4_MUX_SEL_M (BIT(19)) -#define RTC_IO_TOUCH_PAD4_MUX_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD4_MUX_SEL_S 19 -/* RTC_IO_TOUCH_PAD4_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD4_FUN_SEL 0x00000003 -#define RTC_IO_TOUCH_PAD4_FUN_SEL_M ((RTC_IO_TOUCH_PAD4_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD4_FUN_SEL_S)) -#define RTC_IO_TOUCH_PAD4_FUN_SEL_V 0x3 -#define RTC_IO_TOUCH_PAD4_FUN_SEL_S 17 -/* RTC_IO_TOUCH_PAD4_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD4_SLP_SEL (BIT(16)) -#define RTC_IO_TOUCH_PAD4_SLP_SEL_M (BIT(16)) -#define RTC_IO_TOUCH_PAD4_SLP_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD4_SLP_SEL_S 16 -/* RTC_IO_TOUCH_PAD4_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD4_SLP_IE (BIT(15)) -#define RTC_IO_TOUCH_PAD4_SLP_IE_M (BIT(15)) -#define RTC_IO_TOUCH_PAD4_SLP_IE_V 0x1 -#define RTC_IO_TOUCH_PAD4_SLP_IE_S 15 -/* RTC_IO_TOUCH_PAD4_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD4_SLP_OE (BIT(14)) -#define RTC_IO_TOUCH_PAD4_SLP_OE_M (BIT(14)) -#define RTC_IO_TOUCH_PAD4_SLP_OE_V 0x1 -#define RTC_IO_TOUCH_PAD4_SLP_OE_S 14 -/* RTC_IO_TOUCH_PAD4_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_TOUCH_PAD4_FUN_IE (BIT(13)) -#define RTC_IO_TOUCH_PAD4_FUN_IE_M (BIT(13)) -#define RTC_IO_TOUCH_PAD4_FUN_IE_V 0x1 -#define RTC_IO_TOUCH_PAD4_FUN_IE_S 13 -/* RTC_IO_TOUCH_PAD4_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.MTCK*/ -#define RTC_IO_TOUCH_PAD4_TO_GPIO (BIT(12)) -#define RTC_IO_TOUCH_PAD4_TO_GPIO_M (BIT(12)) -#define RTC_IO_TOUCH_PAD4_TO_GPIO_V 0x1 -#define RTC_IO_TOUCH_PAD4_TO_GPIO_S 12 - -#define RTC_IO_TOUCH_PAD5_REG (DR_REG_RTCIO_BASE + 0xa8) -/* RTC_IO_TOUCH_PAD5_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_TOUCH_PAD5_HOLD (BIT(31)) -#define RTC_IO_TOUCH_PAD5_HOLD_M (BIT(31)) -#define RTC_IO_TOUCH_PAD5_HOLD_V 0x1 -#define RTC_IO_TOUCH_PAD5_HOLD_S 31 -/* RTC_IO_TOUCH_PAD5_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_TOUCH_PAD5_DRV 0x00000003 -#define RTC_IO_TOUCH_PAD5_DRV_M ((RTC_IO_TOUCH_PAD5_DRV_V)<<(RTC_IO_TOUCH_PAD5_DRV_S)) -#define RTC_IO_TOUCH_PAD5_DRV_V 0x3 -#define RTC_IO_TOUCH_PAD5_DRV_S 29 -/* RTC_IO_TOUCH_PAD5_RDE : R/W ;bitpos:[28] ;default: 1'd1 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_TOUCH_PAD5_RDE (BIT(28)) -#define RTC_IO_TOUCH_PAD5_RDE_M (BIT(28)) -#define RTC_IO_TOUCH_PAD5_RDE_V 0x1 -#define RTC_IO_TOUCH_PAD5_RDE_S 28 -/* RTC_IO_TOUCH_PAD5_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_TOUCH_PAD5_RUE (BIT(27)) -#define RTC_IO_TOUCH_PAD5_RUE_M (BIT(27)) -#define RTC_IO_TOUCH_PAD5_RUE_V 0x1 -#define RTC_IO_TOUCH_PAD5_RUE_S 27 -/* RTC_IO_TOUCH_PAD5_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ -/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ -#define RTC_IO_TOUCH_PAD5_DAC 0x00000007 -#define RTC_IO_TOUCH_PAD5_DAC_M ((RTC_IO_TOUCH_PAD5_DAC_V)<<(RTC_IO_TOUCH_PAD5_DAC_S)) -#define RTC_IO_TOUCH_PAD5_DAC_V 0x7 -#define RTC_IO_TOUCH_PAD5_DAC_S 23 -/* RTC_IO_TOUCH_PAD5_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: start touch sensor.*/ -#define RTC_IO_TOUCH_PAD5_START (BIT(22)) -#define RTC_IO_TOUCH_PAD5_START_M (BIT(22)) -#define RTC_IO_TOUCH_PAD5_START_V 0x1 -#define RTC_IO_TOUCH_PAD5_START_S 22 -/* RTC_IO_TOUCH_PAD5_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ -#define RTC_IO_TOUCH_PAD5_TIE_OPT (BIT(21)) -#define RTC_IO_TOUCH_PAD5_TIE_OPT_M (BIT(21)) -#define RTC_IO_TOUCH_PAD5_TIE_OPT_V 0x1 -#define RTC_IO_TOUCH_PAD5_TIE_OPT_S 21 -/* RTC_IO_TOUCH_PAD5_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: touch sensor power on.*/ -#define RTC_IO_TOUCH_PAD5_XPD (BIT(20)) -#define RTC_IO_TOUCH_PAD5_XPD_M (BIT(20)) -#define RTC_IO_TOUCH_PAD5_XPD_V 0x1 -#define RTC_IO_TOUCH_PAD5_XPD_S 20 -/* RTC_IO_TOUCH_PAD5_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_TOUCH_PAD5_MUX_SEL (BIT(19)) -#define RTC_IO_TOUCH_PAD5_MUX_SEL_M (BIT(19)) -#define RTC_IO_TOUCH_PAD5_MUX_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD5_MUX_SEL_S 19 -/* RTC_IO_TOUCH_PAD5_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD5_FUN_SEL 0x00000003 -#define RTC_IO_TOUCH_PAD5_FUN_SEL_M ((RTC_IO_TOUCH_PAD5_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD5_FUN_SEL_S)) -#define RTC_IO_TOUCH_PAD5_FUN_SEL_V 0x3 -#define RTC_IO_TOUCH_PAD5_FUN_SEL_S 17 -/* RTC_IO_TOUCH_PAD5_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD5_SLP_SEL (BIT(16)) -#define RTC_IO_TOUCH_PAD5_SLP_SEL_M (BIT(16)) -#define RTC_IO_TOUCH_PAD5_SLP_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD5_SLP_SEL_S 16 -/* RTC_IO_TOUCH_PAD5_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD5_SLP_IE (BIT(15)) -#define RTC_IO_TOUCH_PAD5_SLP_IE_M (BIT(15)) -#define RTC_IO_TOUCH_PAD5_SLP_IE_V 0x1 -#define RTC_IO_TOUCH_PAD5_SLP_IE_S 15 -/* RTC_IO_TOUCH_PAD5_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD5_SLP_OE (BIT(14)) -#define RTC_IO_TOUCH_PAD5_SLP_OE_M (BIT(14)) -#define RTC_IO_TOUCH_PAD5_SLP_OE_V 0x1 -#define RTC_IO_TOUCH_PAD5_SLP_OE_S 14 -/* RTC_IO_TOUCH_PAD5_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_TOUCH_PAD5_FUN_IE (BIT(13)) -#define RTC_IO_TOUCH_PAD5_FUN_IE_M (BIT(13)) -#define RTC_IO_TOUCH_PAD5_FUN_IE_V 0x1 -#define RTC_IO_TOUCH_PAD5_FUN_IE_S 13 -/* RTC_IO_TOUCH_PAD5_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.MTDI*/ -#define RTC_IO_TOUCH_PAD5_TO_GPIO (BIT(12)) -#define RTC_IO_TOUCH_PAD5_TO_GPIO_M (BIT(12)) -#define RTC_IO_TOUCH_PAD5_TO_GPIO_V 0x1 -#define RTC_IO_TOUCH_PAD5_TO_GPIO_S 12 - -#define RTC_IO_TOUCH_PAD6_REG (DR_REG_RTCIO_BASE + 0xac) -/* RTC_IO_TOUCH_PAD6_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_TOUCH_PAD6_HOLD (BIT(31)) -#define RTC_IO_TOUCH_PAD6_HOLD_M (BIT(31)) -#define RTC_IO_TOUCH_PAD6_HOLD_V 0x1 -#define RTC_IO_TOUCH_PAD6_HOLD_S 31 -/* RTC_IO_TOUCH_PAD6_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_TOUCH_PAD6_DRV 0x00000003 -#define RTC_IO_TOUCH_PAD6_DRV_M ((RTC_IO_TOUCH_PAD6_DRV_V)<<(RTC_IO_TOUCH_PAD6_DRV_S)) -#define RTC_IO_TOUCH_PAD6_DRV_V 0x3 -#define RTC_IO_TOUCH_PAD6_DRV_S 29 -/* RTC_IO_TOUCH_PAD6_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_TOUCH_PAD6_RDE (BIT(28)) -#define RTC_IO_TOUCH_PAD6_RDE_M (BIT(28)) -#define RTC_IO_TOUCH_PAD6_RDE_V 0x1 -#define RTC_IO_TOUCH_PAD6_RDE_S 28 -/* RTC_IO_TOUCH_PAD6_RUE : R/W ;bitpos:[27] ;default: 1'd1 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_TOUCH_PAD6_RUE (BIT(27)) -#define RTC_IO_TOUCH_PAD6_RUE_M (BIT(27)) -#define RTC_IO_TOUCH_PAD6_RUE_V 0x1 -#define RTC_IO_TOUCH_PAD6_RUE_S 27 -/* RTC_IO_TOUCH_PAD6_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ -/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ -#define RTC_IO_TOUCH_PAD6_DAC 0x00000007 -#define RTC_IO_TOUCH_PAD6_DAC_M ((RTC_IO_TOUCH_PAD6_DAC_V)<<(RTC_IO_TOUCH_PAD6_DAC_S)) -#define RTC_IO_TOUCH_PAD6_DAC_V 0x7 -#define RTC_IO_TOUCH_PAD6_DAC_S 23 -/* RTC_IO_TOUCH_PAD6_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: start touch sensor.*/ -#define RTC_IO_TOUCH_PAD6_START (BIT(22)) -#define RTC_IO_TOUCH_PAD6_START_M (BIT(22)) -#define RTC_IO_TOUCH_PAD6_START_V 0x1 -#define RTC_IO_TOUCH_PAD6_START_S 22 -/* RTC_IO_TOUCH_PAD6_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ -#define RTC_IO_TOUCH_PAD6_TIE_OPT (BIT(21)) -#define RTC_IO_TOUCH_PAD6_TIE_OPT_M (BIT(21)) -#define RTC_IO_TOUCH_PAD6_TIE_OPT_V 0x1 -#define RTC_IO_TOUCH_PAD6_TIE_OPT_S 21 -/* RTC_IO_TOUCH_PAD6_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: touch sensor power on.*/ -#define RTC_IO_TOUCH_PAD6_XPD (BIT(20)) -#define RTC_IO_TOUCH_PAD6_XPD_M (BIT(20)) -#define RTC_IO_TOUCH_PAD6_XPD_V 0x1 -#define RTC_IO_TOUCH_PAD6_XPD_S 20 -/* RTC_IO_TOUCH_PAD6_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_TOUCH_PAD6_MUX_SEL (BIT(19)) -#define RTC_IO_TOUCH_PAD6_MUX_SEL_M (BIT(19)) -#define RTC_IO_TOUCH_PAD6_MUX_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD6_MUX_SEL_S 19 -/* RTC_IO_TOUCH_PAD6_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD6_FUN_SEL 0x00000003 -#define RTC_IO_TOUCH_PAD6_FUN_SEL_M ((RTC_IO_TOUCH_PAD6_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD6_FUN_SEL_S)) -#define RTC_IO_TOUCH_PAD6_FUN_SEL_V 0x3 -#define RTC_IO_TOUCH_PAD6_FUN_SEL_S 17 -/* RTC_IO_TOUCH_PAD6_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD6_SLP_SEL (BIT(16)) -#define RTC_IO_TOUCH_PAD6_SLP_SEL_M (BIT(16)) -#define RTC_IO_TOUCH_PAD6_SLP_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD6_SLP_SEL_S 16 -/* RTC_IO_TOUCH_PAD6_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD6_SLP_IE (BIT(15)) -#define RTC_IO_TOUCH_PAD6_SLP_IE_M (BIT(15)) -#define RTC_IO_TOUCH_PAD6_SLP_IE_V 0x1 -#define RTC_IO_TOUCH_PAD6_SLP_IE_S 15 -/* RTC_IO_TOUCH_PAD6_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD6_SLP_OE (BIT(14)) -#define RTC_IO_TOUCH_PAD6_SLP_OE_M (BIT(14)) -#define RTC_IO_TOUCH_PAD6_SLP_OE_V 0x1 -#define RTC_IO_TOUCH_PAD6_SLP_OE_S 14 -/* RTC_IO_TOUCH_PAD6_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_TOUCH_PAD6_FUN_IE (BIT(13)) -#define RTC_IO_TOUCH_PAD6_FUN_IE_M (BIT(13)) -#define RTC_IO_TOUCH_PAD6_FUN_IE_V 0x1 -#define RTC_IO_TOUCH_PAD6_FUN_IE_S 13 -/* RTC_IO_TOUCH_PAD6_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.MTMS*/ -#define RTC_IO_TOUCH_PAD6_TO_GPIO (BIT(12)) -#define RTC_IO_TOUCH_PAD6_TO_GPIO_M (BIT(12)) -#define RTC_IO_TOUCH_PAD6_TO_GPIO_V 0x1 -#define RTC_IO_TOUCH_PAD6_TO_GPIO_S 12 - -#define RTC_IO_TOUCH_PAD7_REG (DR_REG_RTCIO_BASE + 0xb0) -/* RTC_IO_TOUCH_PAD7_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ -/*description: hold the current value of the output when setting the hold to Ò1Ó*/ -#define RTC_IO_TOUCH_PAD7_HOLD (BIT(31)) -#define RTC_IO_TOUCH_PAD7_HOLD_M (BIT(31)) -#define RTC_IO_TOUCH_PAD7_HOLD_V 0x1 -#define RTC_IO_TOUCH_PAD7_HOLD_S 31 -/* RTC_IO_TOUCH_PAD7_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ -/*description: the driver strength of the pad*/ -#define RTC_IO_TOUCH_PAD7_DRV 0x00000003 -#define RTC_IO_TOUCH_PAD7_DRV_M ((RTC_IO_TOUCH_PAD7_DRV_V)<<(RTC_IO_TOUCH_PAD7_DRV_S)) -#define RTC_IO_TOUCH_PAD7_DRV_V 0x3 -#define RTC_IO_TOUCH_PAD7_DRV_S 29 -/* RTC_IO_TOUCH_PAD7_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ -/*description: the pull down enable of the pad*/ -#define RTC_IO_TOUCH_PAD7_RDE (BIT(28)) -#define RTC_IO_TOUCH_PAD7_RDE_M (BIT(28)) -#define RTC_IO_TOUCH_PAD7_RDE_V 0x1 -#define RTC_IO_TOUCH_PAD7_RDE_S 28 -/* RTC_IO_TOUCH_PAD7_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ -/*description: the pull up enable of the pad*/ -#define RTC_IO_TOUCH_PAD7_RUE (BIT(27)) -#define RTC_IO_TOUCH_PAD7_RUE_M (BIT(27)) -#define RTC_IO_TOUCH_PAD7_RUE_V 0x1 -#define RTC_IO_TOUCH_PAD7_RUE_S 27 -/* RTC_IO_TOUCH_PAD7_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ -/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ -#define RTC_IO_TOUCH_PAD7_DAC 0x00000007 -#define RTC_IO_TOUCH_PAD7_DAC_M ((RTC_IO_TOUCH_PAD7_DAC_V)<<(RTC_IO_TOUCH_PAD7_DAC_S)) -#define RTC_IO_TOUCH_PAD7_DAC_V 0x7 -#define RTC_IO_TOUCH_PAD7_DAC_S 23 -/* RTC_IO_TOUCH_PAD7_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: start touch sensor.*/ -#define RTC_IO_TOUCH_PAD7_START (BIT(22)) -#define RTC_IO_TOUCH_PAD7_START_M (BIT(22)) -#define RTC_IO_TOUCH_PAD7_START_V 0x1 -#define RTC_IO_TOUCH_PAD7_START_S 22 -/* RTC_IO_TOUCH_PAD7_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ -#define RTC_IO_TOUCH_PAD7_TIE_OPT (BIT(21)) -#define RTC_IO_TOUCH_PAD7_TIE_OPT_M (BIT(21)) -#define RTC_IO_TOUCH_PAD7_TIE_OPT_V 0x1 -#define RTC_IO_TOUCH_PAD7_TIE_OPT_S 21 -/* RTC_IO_TOUCH_PAD7_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: touch sensor power on.*/ -#define RTC_IO_TOUCH_PAD7_XPD (BIT(20)) -#define RTC_IO_TOUCH_PAD7_XPD_M (BIT(20)) -#define RTC_IO_TOUCH_PAD7_XPD_V 0x1 -#define RTC_IO_TOUCH_PAD7_XPD_S 20 -/* RTC_IO_TOUCH_PAD7_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ -#define RTC_IO_TOUCH_PAD7_MUX_SEL (BIT(19)) -#define RTC_IO_TOUCH_PAD7_MUX_SEL_M (BIT(19)) -#define RTC_IO_TOUCH_PAD7_MUX_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD7_MUX_SEL_S 19 -/* RTC_IO_TOUCH_PAD7_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ -/*description: the functional selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD7_FUN_SEL 0x00000003 -#define RTC_IO_TOUCH_PAD7_FUN_SEL_M ((RTC_IO_TOUCH_PAD7_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD7_FUN_SEL_S)) -#define RTC_IO_TOUCH_PAD7_FUN_SEL_V 0x3 -#define RTC_IO_TOUCH_PAD7_FUN_SEL_S 17 -/* RTC_IO_TOUCH_PAD7_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ -/*description: the sleep status selection signal of the pad*/ -#define RTC_IO_TOUCH_PAD7_SLP_SEL (BIT(16)) -#define RTC_IO_TOUCH_PAD7_SLP_SEL_M (BIT(16)) -#define RTC_IO_TOUCH_PAD7_SLP_SEL_V 0x1 -#define RTC_IO_TOUCH_PAD7_SLP_SEL_S 16 -/* RTC_IO_TOUCH_PAD7_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ -/*description: the input enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD7_SLP_IE (BIT(15)) -#define RTC_IO_TOUCH_PAD7_SLP_IE_M (BIT(15)) -#define RTC_IO_TOUCH_PAD7_SLP_IE_V 0x1 -#define RTC_IO_TOUCH_PAD7_SLP_IE_S 15 -/* RTC_IO_TOUCH_PAD7_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ -/*description: the output enable of the pad in sleep status*/ -#define RTC_IO_TOUCH_PAD7_SLP_OE (BIT(14)) -#define RTC_IO_TOUCH_PAD7_SLP_OE_M (BIT(14)) -#define RTC_IO_TOUCH_PAD7_SLP_OE_V 0x1 -#define RTC_IO_TOUCH_PAD7_SLP_OE_S 14 -/* RTC_IO_TOUCH_PAD7_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ -/*description: the input enable of the pad*/ -#define RTC_IO_TOUCH_PAD7_FUN_IE (BIT(13)) -#define RTC_IO_TOUCH_PAD7_FUN_IE_M (BIT(13)) -#define RTC_IO_TOUCH_PAD7_FUN_IE_V 0x1 -#define RTC_IO_TOUCH_PAD7_FUN_IE_S 13 -/* RTC_IO_TOUCH_PAD7_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ -/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.GPIO27*/ -#define RTC_IO_TOUCH_PAD7_TO_GPIO (BIT(12)) -#define RTC_IO_TOUCH_PAD7_TO_GPIO_M (BIT(12)) -#define RTC_IO_TOUCH_PAD7_TO_GPIO_V 0x1 -#define RTC_IO_TOUCH_PAD7_TO_GPIO_S 12 - -#define RTC_IO_TOUCH_PAD8_REG (DR_REG_RTCIO_BASE + 0xb4) -/* RTC_IO_TOUCH_PAD8_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ -/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ -#define RTC_IO_TOUCH_PAD8_DAC 0x00000007 -#define RTC_IO_TOUCH_PAD8_DAC_M ((RTC_IO_TOUCH_PAD8_DAC_V)<<(RTC_IO_TOUCH_PAD8_DAC_S)) -#define RTC_IO_TOUCH_PAD8_DAC_V 0x7 -#define RTC_IO_TOUCH_PAD8_DAC_S 23 -/* RTC_IO_TOUCH_PAD8_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: start touch sensor.*/ -#define RTC_IO_TOUCH_PAD8_START (BIT(22)) -#define RTC_IO_TOUCH_PAD8_START_M (BIT(22)) -#define RTC_IO_TOUCH_PAD8_START_V 0x1 -#define RTC_IO_TOUCH_PAD8_START_S 22 -/* RTC_IO_TOUCH_PAD8_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ -#define RTC_IO_TOUCH_PAD8_TIE_OPT (BIT(21)) -#define RTC_IO_TOUCH_PAD8_TIE_OPT_M (BIT(21)) -#define RTC_IO_TOUCH_PAD8_TIE_OPT_V 0x1 -#define RTC_IO_TOUCH_PAD8_TIE_OPT_S 21 -/* RTC_IO_TOUCH_PAD8_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: touch sensor power on.*/ -#define RTC_IO_TOUCH_PAD8_XPD (BIT(20)) -#define RTC_IO_TOUCH_PAD8_XPD_M (BIT(20)) -#define RTC_IO_TOUCH_PAD8_XPD_V 0x1 -#define RTC_IO_TOUCH_PAD8_XPD_S 20 -/* RTC_IO_TOUCH_PAD8_TO_GPIO : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale*/ -#define RTC_IO_TOUCH_PAD8_TO_GPIO (BIT(19)) -#define RTC_IO_TOUCH_PAD8_TO_GPIO_M (BIT(19)) -#define RTC_IO_TOUCH_PAD8_TO_GPIO_V 0x1 -#define RTC_IO_TOUCH_PAD8_TO_GPIO_S 19 - -#define RTC_IO_TOUCH_PAD9_REG (DR_REG_RTCIO_BASE + 0xb8) -/* RTC_IO_TOUCH_PAD9_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ -/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ -#define RTC_IO_TOUCH_PAD9_DAC 0x00000007 -#define RTC_IO_TOUCH_PAD9_DAC_M ((RTC_IO_TOUCH_PAD9_DAC_V)<<(RTC_IO_TOUCH_PAD9_DAC_S)) -#define RTC_IO_TOUCH_PAD9_DAC_V 0x7 -#define RTC_IO_TOUCH_PAD9_DAC_S 23 -/* RTC_IO_TOUCH_PAD9_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ -/*description: start touch sensor.*/ -#define RTC_IO_TOUCH_PAD9_START (BIT(22)) -#define RTC_IO_TOUCH_PAD9_START_M (BIT(22)) -#define RTC_IO_TOUCH_PAD9_START_V 0x1 -#define RTC_IO_TOUCH_PAD9_START_S 22 -/* RTC_IO_TOUCH_PAD9_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ -/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ -#define RTC_IO_TOUCH_PAD9_TIE_OPT (BIT(21)) -#define RTC_IO_TOUCH_PAD9_TIE_OPT_M (BIT(21)) -#define RTC_IO_TOUCH_PAD9_TIE_OPT_V 0x1 -#define RTC_IO_TOUCH_PAD9_TIE_OPT_S 21 -/* RTC_IO_TOUCH_PAD9_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ -/*description: touch sensor power on.*/ -#define RTC_IO_TOUCH_PAD9_XPD (BIT(20)) -#define RTC_IO_TOUCH_PAD9_XPD_M (BIT(20)) -#define RTC_IO_TOUCH_PAD9_XPD_V 0x1 -#define RTC_IO_TOUCH_PAD9_XPD_S 20 -/* RTC_IO_TOUCH_PAD9_TO_GPIO : R/W ;bitpos:[19] ;default: 1'd0 ; */ -/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale*/ -#define RTC_IO_TOUCH_PAD9_TO_GPIO (BIT(19)) -#define RTC_IO_TOUCH_PAD9_TO_GPIO_M (BIT(19)) -#define RTC_IO_TOUCH_PAD9_TO_GPIO_V 0x1 -#define RTC_IO_TOUCH_PAD9_TO_GPIO_S 19 - -#define RTC_IO_EXT_WAKEUP0_REG (DR_REG_RTCIO_BASE + 0xbc) -/* RTC_IO_EXT_WAKEUP0_SEL : R/W ;bitpos:[31:27] ;default: 5'd0 ; */ -/*description: select the wakeup source Ó0Ó select GPIO0 Ó1Ó select GPIO2 ...Ò17Ó select GPIO17*/ -#define RTC_IO_EXT_WAKEUP0_SEL 0x0000001F -#define RTC_IO_EXT_WAKEUP0_SEL_M ((RTC_IO_EXT_WAKEUP0_SEL_V)<<(RTC_IO_EXT_WAKEUP0_SEL_S)) -#define RTC_IO_EXT_WAKEUP0_SEL_V 0x1F -#define RTC_IO_EXT_WAKEUP0_SEL_S 27 - -#define RTC_IO_XTL_EXT_CTR_REG (DR_REG_RTCIO_BASE + 0xc0) -/* RTC_IO_XTL_EXT_CTR_SEL : R/W ;bitpos:[31:27] ;default: 5'd0 ; */ -/*description: select the external xtl power source Ó0Ó select GPIO0 Ó1Ó select - GPIO2 ...Ò17Ó select GPIO17*/ -#define RTC_IO_XTL_EXT_CTR_SEL 0x0000001F -#define RTC_IO_XTL_EXT_CTR_SEL_M ((RTC_IO_XTL_EXT_CTR_SEL_V)<<(RTC_IO_XTL_EXT_CTR_SEL_S)) -#define RTC_IO_XTL_EXT_CTR_SEL_V 0x1F -#define RTC_IO_XTL_EXT_CTR_SEL_S 27 - -#define RTC_IO_SAR_I2C_IO_REG (DR_REG_RTCIO_BASE + 0xc4) -/* RTC_IO_SAR_I2C_SDA_SEL : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ -/*description: Ò0Ó using TOUCH_PAD[1] as i2c sda Ò1Ó using TOUCH_PAD[3] as i2c sda*/ -#define RTC_IO_SAR_I2C_SDA_SEL 0x00000003 -#define RTC_IO_SAR_I2C_SDA_SEL_M ((RTC_IO_SAR_I2C_SDA_SEL_V)<<(RTC_IO_SAR_I2C_SDA_SEL_S)) -#define RTC_IO_SAR_I2C_SDA_SEL_V 0x3 -#define RTC_IO_SAR_I2C_SDA_SEL_S 30 -/* RTC_IO_SAR_I2C_SCL_SEL : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ -/*description: Ò0Ó using TOUCH_PAD[0] as i2c clk Ò1Ó using TOUCH_PAD[2] as i2c clk*/ -#define RTC_IO_SAR_I2C_SCL_SEL 0x00000003 -#define RTC_IO_SAR_I2C_SCL_SEL_M ((RTC_IO_SAR_I2C_SCL_SEL_V)<<(RTC_IO_SAR_I2C_SCL_SEL_S)) -#define RTC_IO_SAR_I2C_SCL_SEL_V 0x3 -#define RTC_IO_SAR_I2C_SCL_SEL_S 28 -/* RTC_IO_SAR_DEBUG_BIT_SEL : R/W ;bitpos:[27:23] ;default: 5'h0 ; */ -/*description: */ -#define RTC_IO_SAR_DEBUG_BIT_SEL 0x0000001F -#define RTC_IO_SAR_DEBUG_BIT_SEL_M ((RTC_IO_SAR_DEBUG_BIT_SEL_V)<<(RTC_IO_SAR_DEBUG_BIT_SEL_S)) -#define RTC_IO_SAR_DEBUG_BIT_SEL_V 0x1F -#define RTC_IO_SAR_DEBUG_BIT_SEL_S 23 - -#define RTC_IO_DATE_REG (DR_REG_RTCIO_BASE + 0xc8) -/* RTC_IO_IO_DATE : R/W ;bitpos:[27:0] ;default: 28'h1603160 ; */ -/*description: date*/ -#define RTC_IO_IO_DATE 0x0FFFFFFF -#define RTC_IO_IO_DATE_M ((RTC_IO_IO_DATE_V)<<(RTC_IO_IO_DATE_S)) -#define RTC_IO_IO_DATE_V 0xFFFFFFF -#define RTC_IO_IO_DATE_S 0 -#define RTC_IO_RTC_IO_DATE_VERSION 0x1703160 - - - - -#endif /*_SOC_RTC_IO_REG_H_ */ - - +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#ifndef _SOC_RTC_IO_REG_H_ +#define _SOC_RTC_IO_REG_H_ + + +#include "soc.h" +#define RTC_GPIO_OUT_REG (DR_REG_RTCIO_BASE + 0x0) +/* RTC_GPIO_OUT_DATA : R/W ;bitpos:[31:14] ;default: 0 ; */ +/*description: GPIO0~17 output value*/ +#define RTC_GPIO_OUT_DATA 0x0003FFFF +#define RTC_GPIO_OUT_DATA_M ((RTC_GPIO_OUT_DATA_V)<<(RTC_GPIO_OUT_DATA_S)) +#define RTC_GPIO_OUT_DATA_V 0x3FFFF +#define RTC_GPIO_OUT_DATA_S 14 + +#define RTC_GPIO_OUT_W1TS_REG (DR_REG_RTCIO_BASE + 0x4) +/* RTC_GPIO_OUT_DATA_W1TS : WO ;bitpos:[31:14] ;default: 0 ; */ +/*description: GPIO0~17 output value write 1 to set*/ +#define RTC_GPIO_OUT_DATA_W1TS 0x0003FFFF +#define RTC_GPIO_OUT_DATA_W1TS_M ((RTC_GPIO_OUT_DATA_W1TS_V)<<(RTC_GPIO_OUT_DATA_W1TS_S)) +#define RTC_GPIO_OUT_DATA_W1TS_V 0x3FFFF +#define RTC_GPIO_OUT_DATA_W1TS_S 14 + +#define RTC_GPIO_OUT_W1TC_REG (DR_REG_RTCIO_BASE + 0x8) +/* RTC_GPIO_OUT_DATA_W1TC : WO ;bitpos:[31:14] ;default: 0 ; */ +/*description: GPIO0~17 output value write 1 to clear*/ +#define RTC_GPIO_OUT_DATA_W1TC 0x0003FFFF +#define RTC_GPIO_OUT_DATA_W1TC_M ((RTC_GPIO_OUT_DATA_W1TC_V)<<(RTC_GPIO_OUT_DATA_W1TC_S)) +#define RTC_GPIO_OUT_DATA_W1TC_V 0x3FFFF +#define RTC_GPIO_OUT_DATA_W1TC_S 14 + +#define RTC_GPIO_ENABLE_REG (DR_REG_RTCIO_BASE + 0xc) +/* RTC_GPIO_ENABLE : R/W ;bitpos:[31:14] ;default: 0 ; */ +/*description: GPIO0~17 output enable*/ +#define RTC_GPIO_ENABLE 0x0003FFFF +#define RTC_GPIO_ENABLE_M ((RTC_GPIO_ENABLE_V)<<(RTC_GPIO_ENABLE_S)) +#define RTC_GPIO_ENABLE_V 0x3FFFF +#define RTC_GPIO_ENABLE_S 14 + +#define RTC_GPIO_ENABLE_W1TS_REG (DR_REG_RTCIO_BASE + 0x10) +/* RTC_GPIO_ENABLE_W1TS : WO ;bitpos:[31:14] ;default: 0 ; */ +/*description: GPIO0~17 output enable write 1 to set*/ +#define RTC_GPIO_ENABLE_W1TS 0x0003FFFF +#define RTC_GPIO_ENABLE_W1TS_M ((RTC_GPIO_ENABLE_W1TS_V)<<(RTC_GPIO_ENABLE_W1TS_S)) +#define RTC_GPIO_ENABLE_W1TS_V 0x3FFFF +#define RTC_GPIO_ENABLE_W1TS_S 14 + +#define RTC_GPIO_ENABLE_W1TC_REG (DR_REG_RTCIO_BASE + 0x14) +/* RTC_GPIO_ENABLE_W1TC : WO ;bitpos:[31:14] ;default: 0 ; */ +/*description: GPIO0~17 output enable write 1 to clear*/ +#define RTC_GPIO_ENABLE_W1TC 0x0003FFFF +#define RTC_GPIO_ENABLE_W1TC_M ((RTC_GPIO_ENABLE_W1TC_V)<<(RTC_GPIO_ENABLE_W1TC_S)) +#define RTC_GPIO_ENABLE_W1TC_V 0x3FFFF +#define RTC_GPIO_ENABLE_W1TC_S 14 + +#define RTC_GPIO_STATUS_REG (DR_REG_RTCIO_BASE + 0x18) +/* RTC_GPIO_STATUS_INT : R/W ;bitpos:[31:14] ;default: 0 ; */ +/*description: GPIO0~17 interrupt status*/ +#define RTC_GPIO_STATUS_INT 0x0003FFFF +#define RTC_GPIO_STATUS_INT_M ((RTC_GPIO_STATUS_INT_V)<<(RTC_GPIO_STATUS_INT_S)) +#define RTC_GPIO_STATUS_INT_V 0x3FFFF +#define RTC_GPIO_STATUS_INT_S 14 + +#define RTC_GPIO_STATUS_W1TS_REG (DR_REG_RTCIO_BASE + 0x1c) +/* RTC_GPIO_STATUS_INT_W1TS : WO ;bitpos:[31:14] ;default: 0 ; */ +/*description: GPIO0~17 interrupt status write 1 to set*/ +#define RTC_GPIO_STATUS_INT_W1TS 0x0003FFFF +#define RTC_GPIO_STATUS_INT_W1TS_M ((RTC_GPIO_STATUS_INT_W1TS_V)<<(RTC_GPIO_STATUS_INT_W1TS_S)) +#define RTC_GPIO_STATUS_INT_W1TS_V 0x3FFFF +#define RTC_GPIO_STATUS_INT_W1TS_S 14 + +#define RTC_GPIO_STATUS_W1TC_REG (DR_REG_RTCIO_BASE + 0x20) +/* RTC_GPIO_STATUS_INT_W1TC : WO ;bitpos:[31:14] ;default: 0 ; */ +/*description: GPIO0~17 interrupt status write 1 to clear*/ +#define RTC_GPIO_STATUS_INT_W1TC 0x0003FFFF +#define RTC_GPIO_STATUS_INT_W1TC_M ((RTC_GPIO_STATUS_INT_W1TC_V)<<(RTC_GPIO_STATUS_INT_W1TC_S)) +#define RTC_GPIO_STATUS_INT_W1TC_V 0x3FFFF +#define RTC_GPIO_STATUS_INT_W1TC_S 14 + +#define RTC_GPIO_IN_REG (DR_REG_RTCIO_BASE + 0x24) +/* RTC_GPIO_IN_NEXT : RO ;bitpos:[31:14] ;default: ; */ +/*description: GPIO0~17 input value*/ +#define RTC_GPIO_IN_NEXT 0x0003FFFF +#define RTC_GPIO_IN_NEXT_M ((RTC_GPIO_IN_NEXT_V)<<(RTC_GPIO_IN_NEXT_S)) +#define RTC_GPIO_IN_NEXT_V 0x3FFFF +#define RTC_GPIO_IN_NEXT_S 14 + +#define RTC_GPIO_PIN0_REG (DR_REG_RTCIO_BASE + 0x28) +/* RTC_GPIO_PIN0_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN0_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN0_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN0_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN0_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN0_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN0_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN0_INT_TYPE_M ((RTC_GPIO_PIN0_INT_TYPE_V)<<(RTC_GPIO_PIN0_INT_TYPE_S)) +#define RTC_GPIO_PIN0_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN0_INT_TYPE_S 7 +/* RTC_GPIO_PIN0_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN0_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN0_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN0_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN0_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN1_REG (DR_REG_RTCIO_BASE + 0x2c) +/* RTC_GPIO_PIN1_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN1_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN1_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN1_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN1_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN1_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN1_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN1_INT_TYPE_M ((RTC_GPIO_PIN1_INT_TYPE_V)<<(RTC_GPIO_PIN1_INT_TYPE_S)) +#define RTC_GPIO_PIN1_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN1_INT_TYPE_S 7 +/* RTC_GPIO_PIN1_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN1_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN1_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN1_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN1_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN2_REG (DR_REG_RTCIO_BASE + 0x30) +/* RTC_GPIO_PIN2_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN2_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN2_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN2_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN2_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN2_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN2_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN2_INT_TYPE_M ((RTC_GPIO_PIN2_INT_TYPE_V)<<(RTC_GPIO_PIN2_INT_TYPE_S)) +#define RTC_GPIO_PIN2_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN2_INT_TYPE_S 7 +/* RTC_GPIO_PIN2_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN2_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN2_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN2_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN2_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN3_REG (DR_REG_RTCIO_BASE + 0x34) +/* RTC_GPIO_PIN3_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN3_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN3_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN3_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN3_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN3_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN3_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN3_INT_TYPE_M ((RTC_GPIO_PIN3_INT_TYPE_V)<<(RTC_GPIO_PIN3_INT_TYPE_S)) +#define RTC_GPIO_PIN3_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN3_INT_TYPE_S 7 +/* RTC_GPIO_PIN3_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN3_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN3_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN3_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN3_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN4_REG (DR_REG_RTCIO_BASE + 0x38) +/* RTC_GPIO_PIN4_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN4_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN4_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN4_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN4_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN4_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN4_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN4_INT_TYPE_M ((RTC_GPIO_PIN4_INT_TYPE_V)<<(RTC_GPIO_PIN4_INT_TYPE_S)) +#define RTC_GPIO_PIN4_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN4_INT_TYPE_S 7 +/* RTC_GPIO_PIN4_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN4_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN4_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN4_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN4_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN5_REG (DR_REG_RTCIO_BASE + 0x3c) +/* RTC_GPIO_PIN5_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN5_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN5_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN5_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN5_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN5_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN5_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN5_INT_TYPE_M ((RTC_GPIO_PIN5_INT_TYPE_V)<<(RTC_GPIO_PIN5_INT_TYPE_S)) +#define RTC_GPIO_PIN5_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN5_INT_TYPE_S 7 +/* RTC_GPIO_PIN5_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN5_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN5_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN5_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN5_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN6_REG (DR_REG_RTCIO_BASE + 0x40) +/* RTC_GPIO_PIN6_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN6_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN6_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN6_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN6_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN6_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN6_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN6_INT_TYPE_M ((RTC_GPIO_PIN6_INT_TYPE_V)<<(RTC_GPIO_PIN6_INT_TYPE_S)) +#define RTC_GPIO_PIN6_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN6_INT_TYPE_S 7 +/* RTC_GPIO_PIN6_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN6_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN6_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN6_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN6_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN7_REG (DR_REG_RTCIO_BASE + 0x44) +/* RTC_GPIO_PIN7_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN7_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN7_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN7_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN7_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN7_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN7_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN7_INT_TYPE_M ((RTC_GPIO_PIN7_INT_TYPE_V)<<(RTC_GPIO_PIN7_INT_TYPE_S)) +#define RTC_GPIO_PIN7_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN7_INT_TYPE_S 7 +/* RTC_GPIO_PIN7_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN7_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN7_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN7_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN7_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN8_REG (DR_REG_RTCIO_BASE + 0x48) +/* RTC_GPIO_PIN8_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN8_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN8_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN8_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN8_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN8_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN8_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN8_INT_TYPE_M ((RTC_GPIO_PIN8_INT_TYPE_V)<<(RTC_GPIO_PIN8_INT_TYPE_S)) +#define RTC_GPIO_PIN8_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN8_INT_TYPE_S 7 +/* RTC_GPIO_PIN8_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN8_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN8_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN8_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN8_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN9_REG (DR_REG_RTCIO_BASE + 0x4c) +/* RTC_GPIO_PIN9_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN9_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN9_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN9_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN9_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN9_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN9_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN9_INT_TYPE_M ((RTC_GPIO_PIN9_INT_TYPE_V)<<(RTC_GPIO_PIN9_INT_TYPE_S)) +#define RTC_GPIO_PIN9_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN9_INT_TYPE_S 7 +/* RTC_GPIO_PIN9_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN9_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN9_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN9_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN9_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN10_REG (DR_REG_RTCIO_BASE + 0x50) +/* RTC_GPIO_PIN10_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN10_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN10_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN10_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN10_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN10_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN10_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN10_INT_TYPE_M ((RTC_GPIO_PIN10_INT_TYPE_V)<<(RTC_GPIO_PIN10_INT_TYPE_S)) +#define RTC_GPIO_PIN10_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN10_INT_TYPE_S 7 +/* RTC_GPIO_PIN10_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN10_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN10_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN10_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN10_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN11_REG (DR_REG_RTCIO_BASE + 0x54) +/* RTC_GPIO_PIN11_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN11_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN11_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN11_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN11_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN11_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN11_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN11_INT_TYPE_M ((RTC_GPIO_PIN11_INT_TYPE_V)<<(RTC_GPIO_PIN11_INT_TYPE_S)) +#define RTC_GPIO_PIN11_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN11_INT_TYPE_S 7 +/* RTC_GPIO_PIN11_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN11_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN11_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN11_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN11_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN12_REG (DR_REG_RTCIO_BASE + 0x58) +/* RTC_GPIO_PIN12_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN12_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN12_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN12_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN12_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN12_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN12_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN12_INT_TYPE_M ((RTC_GPIO_PIN12_INT_TYPE_V)<<(RTC_GPIO_PIN12_INT_TYPE_S)) +#define RTC_GPIO_PIN12_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN12_INT_TYPE_S 7 +/* RTC_GPIO_PIN12_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN12_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN12_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN12_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN12_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN13_REG (DR_REG_RTCIO_BASE + 0x5c) +/* RTC_GPIO_PIN13_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN13_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN13_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN13_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN13_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN13_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN13_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN13_INT_TYPE_M ((RTC_GPIO_PIN13_INT_TYPE_V)<<(RTC_GPIO_PIN13_INT_TYPE_S)) +#define RTC_GPIO_PIN13_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN13_INT_TYPE_S 7 +/* RTC_GPIO_PIN13_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN13_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN13_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN13_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN13_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN14_REG (DR_REG_RTCIO_BASE + 0x60) +/* RTC_GPIO_PIN14_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN14_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN14_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN14_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN14_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN14_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN14_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN14_INT_TYPE_M ((RTC_GPIO_PIN14_INT_TYPE_V)<<(RTC_GPIO_PIN14_INT_TYPE_S)) +#define RTC_GPIO_PIN14_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN14_INT_TYPE_S 7 +/* RTC_GPIO_PIN14_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN14_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN14_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN14_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN14_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN15_REG (DR_REG_RTCIO_BASE + 0x64) +/* RTC_GPIO_PIN15_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN15_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN15_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN15_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN15_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN15_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN15_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN15_INT_TYPE_M ((RTC_GPIO_PIN15_INT_TYPE_V)<<(RTC_GPIO_PIN15_INT_TYPE_S)) +#define RTC_GPIO_PIN15_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN15_INT_TYPE_S 7 +/* RTC_GPIO_PIN15_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN15_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN15_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN15_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN15_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN16_REG (DR_REG_RTCIO_BASE + 0x68) +/* RTC_GPIO_PIN16_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN16_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN16_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN16_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN16_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN16_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN16_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN16_INT_TYPE_M ((RTC_GPIO_PIN16_INT_TYPE_V)<<(RTC_GPIO_PIN16_INT_TYPE_S)) +#define RTC_GPIO_PIN16_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN16_INT_TYPE_S 7 +/* RTC_GPIO_PIN16_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN16_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN16_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN16_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN16_PAD_DRIVER_S 2 + +#define RTC_GPIO_PIN17_REG (DR_REG_RTCIO_BASE + 0x6c) +/* RTC_GPIO_PIN17_WAKEUP_ENABLE : R/W ;bitpos:[10] ;default: 0 ; */ +/*description: GPIO wake up enable only available in light sleep*/ +#define RTC_GPIO_PIN17_WAKEUP_ENABLE (BIT(10)) +#define RTC_GPIO_PIN17_WAKEUP_ENABLE_M (BIT(10)) +#define RTC_GPIO_PIN17_WAKEUP_ENABLE_V 0x1 +#define RTC_GPIO_PIN17_WAKEUP_ENABLE_S 10 +/* RTC_GPIO_PIN17_INT_TYPE : R/W ;bitpos:[9:7] ;default: 0 ; */ +/*description: if set to 0: GPIO interrupt disable if set to 1: rising edge + trigger if set to 2: falling edge trigger if set to 3: any edge trigger if set to 4: low level trigger if set to 5: high level trigger*/ +#define RTC_GPIO_PIN17_INT_TYPE 0x00000007 +#define RTC_GPIO_PIN17_INT_TYPE_M ((RTC_GPIO_PIN17_INT_TYPE_V)<<(RTC_GPIO_PIN17_INT_TYPE_S)) +#define RTC_GPIO_PIN17_INT_TYPE_V 0x7 +#define RTC_GPIO_PIN17_INT_TYPE_S 7 +/* RTC_GPIO_PIN17_PAD_DRIVER : R/W ;bitpos:[2] ;default: 0 ; */ +/*description: if set to 0: normal output if set to 1: open drain*/ +#define RTC_GPIO_PIN17_PAD_DRIVER (BIT(2)) +#define RTC_GPIO_PIN17_PAD_DRIVER_M (BIT(2)) +#define RTC_GPIO_PIN17_PAD_DRIVER_V 0x1 +#define RTC_GPIO_PIN17_PAD_DRIVER_S 2 + +#define RTC_IO_RTC_DEBUG_SEL_REG (DR_REG_RTCIO_BASE + 0x70) +/* RTC_IO_DEBUG_12M_NO_GATING : R/W ;bitpos:[25] ;default: 1'd0 ; */ +/*description: */ +#define RTC_IO_DEBUG_12M_NO_GATING (BIT(25)) +#define RTC_IO_DEBUG_12M_NO_GATING_M (BIT(25)) +#define RTC_IO_DEBUG_12M_NO_GATING_V 0x1 +#define RTC_IO_DEBUG_12M_NO_GATING_S 25 +/* RTC_IO_DEBUG_SEL4 : R/W ;bitpos:[24:20] ;default: 5'd0 ; */ +/*description: */ +#define RTC_IO_DEBUG_SEL4 0x0000001F +#define RTC_IO_DEBUG_SEL4_M ((RTC_IO_DEBUG_SEL4_V)<<(RTC_IO_DEBUG_SEL4_S)) +#define RTC_IO_DEBUG_SEL4_V 0x1F +#define RTC_IO_DEBUG_SEL4_S 20 +/* RTC_IO_DEBUG_SEL3 : R/W ;bitpos:[19:15] ;default: 5'd0 ; */ +/*description: */ +#define RTC_IO_DEBUG_SEL3 0x0000001F +#define RTC_IO_DEBUG_SEL3_M ((RTC_IO_DEBUG_SEL3_V)<<(RTC_IO_DEBUG_SEL3_S)) +#define RTC_IO_DEBUG_SEL3_V 0x1F +#define RTC_IO_DEBUG_SEL3_S 15 +/* RTC_IO_DEBUG_SEL2 : R/W ;bitpos:[14:10] ;default: 5'd0 ; */ +/*description: */ +#define RTC_IO_DEBUG_SEL2 0x0000001F +#define RTC_IO_DEBUG_SEL2_M ((RTC_IO_DEBUG_SEL2_V)<<(RTC_IO_DEBUG_SEL2_S)) +#define RTC_IO_DEBUG_SEL2_V 0x1F +#define RTC_IO_DEBUG_SEL2_S 10 +/* RTC_IO_DEBUG_SEL1 : R/W ;bitpos:[9:5] ;default: 5'd0 ; */ +/*description: */ +#define RTC_IO_DEBUG_SEL1 0x0000001F +#define RTC_IO_DEBUG_SEL1_M ((RTC_IO_DEBUG_SEL1_V)<<(RTC_IO_DEBUG_SEL1_S)) +#define RTC_IO_DEBUG_SEL1_V 0x1F +#define RTC_IO_DEBUG_SEL1_S 5 +/* RTC_IO_DEBUG_SEL0 : R/W ;bitpos:[4:0] ;default: 5'd0 ; */ +/*description: */ +#define RTC_IO_DEBUG_SEL0 0x0000001F +#define RTC_IO_DEBUG_SEL0_M ((RTC_IO_DEBUG_SEL0_V)<<(RTC_IO_DEBUG_SEL0_S)) +#define RTC_IO_DEBUG_SEL0_V 0x1F +#define RTC_IO_DEBUG_SEL0_S 0 + +#define RTC_IO_DIG_PAD_HOLD_REG (DR_REG_RTCIO_BASE + 0x74) +/* RTC_IO_DIG_PAD_HOLD : R/W ;bitpos:[31:0] ;default: 1'd0 ; */ +/*description: select the digital pad hold value.*/ +#define RTC_IO_DIG_PAD_HOLD 0xFFFFFFFF +#define RTC_IO_DIG_PAD_HOLD_M ((RTC_IO_DIG_PAD_HOLD_V)<<(RTC_IO_DIG_PAD_HOLD_S)) +#define RTC_IO_DIG_PAD_HOLD_V 0xFFFFFFFF +#define RTC_IO_DIG_PAD_HOLD_S 0 + +#define RTC_IO_HALL_SENS_REG (DR_REG_RTCIO_BASE + 0x78) +/* RTC_IO_XPD_HALL : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: Power on hall sensor and connect to VP and VN*/ +#define RTC_IO_XPD_HALL (BIT(31)) +#define RTC_IO_XPD_HALL_M (BIT(31)) +#define RTC_IO_XPD_HALL_V 0x1 +#define RTC_IO_XPD_HALL_S 31 +/* RTC_IO_HALL_PHASE : R/W ;bitpos:[30] ;default: 1'd0 ; */ +/*description: Reverse phase of hall sensor*/ +#define RTC_IO_HALL_PHASE (BIT(30)) +#define RTC_IO_HALL_PHASE_M (BIT(30)) +#define RTC_IO_HALL_PHASE_V 0x1 +#define RTC_IO_HALL_PHASE_S 30 + +#define RTC_IO_SENSOR_PADS_REG (DR_REG_RTCIO_BASE + 0x7c) +/* RTC_IO_SENSE1_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_SENSE1_HOLD (BIT(31)) +#define RTC_IO_SENSE1_HOLD_M (BIT(31)) +#define RTC_IO_SENSE1_HOLD_V 0x1 +#define RTC_IO_SENSE1_HOLD_S 31 +/* RTC_IO_SENSE2_HOLD : R/W ;bitpos:[30] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_SENSE2_HOLD (BIT(30)) +#define RTC_IO_SENSE2_HOLD_M (BIT(30)) +#define RTC_IO_SENSE2_HOLD_V 0x1 +#define RTC_IO_SENSE2_HOLD_S 30 +/* RTC_IO_SENSE3_HOLD : R/W ;bitpos:[29] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_SENSE3_HOLD (BIT(29)) +#define RTC_IO_SENSE3_HOLD_M (BIT(29)) +#define RTC_IO_SENSE3_HOLD_V 0x1 +#define RTC_IO_SENSE3_HOLD_S 29 +/* RTC_IO_SENSE4_HOLD : R/W ;bitpos:[28] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_SENSE4_HOLD (BIT(28)) +#define RTC_IO_SENSE4_HOLD_M (BIT(28)) +#define RTC_IO_SENSE4_HOLD_V 0x1 +#define RTC_IO_SENSE4_HOLD_S 28 +/* RTC_IO_SENSE1_MUX_SEL : R/W ;bitpos:[27] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_SENSE1_MUX_SEL (BIT(27)) +#define RTC_IO_SENSE1_MUX_SEL_M (BIT(27)) +#define RTC_IO_SENSE1_MUX_SEL_V 0x1 +#define RTC_IO_SENSE1_MUX_SEL_S 27 +/* RTC_IO_SENSE2_MUX_SEL : R/W ;bitpos:[26] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_SENSE2_MUX_SEL (BIT(26)) +#define RTC_IO_SENSE2_MUX_SEL_M (BIT(26)) +#define RTC_IO_SENSE2_MUX_SEL_V 0x1 +#define RTC_IO_SENSE2_MUX_SEL_S 26 +/* RTC_IO_SENSE3_MUX_SEL : R/W ;bitpos:[25] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_SENSE3_MUX_SEL (BIT(25)) +#define RTC_IO_SENSE3_MUX_SEL_M (BIT(25)) +#define RTC_IO_SENSE3_MUX_SEL_V 0x1 +#define RTC_IO_SENSE3_MUX_SEL_S 25 +/* RTC_IO_SENSE4_MUX_SEL : R/W ;bitpos:[24] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_SENSE4_MUX_SEL (BIT(24)) +#define RTC_IO_SENSE4_MUX_SEL_M (BIT(24)) +#define RTC_IO_SENSE4_MUX_SEL_V 0x1 +#define RTC_IO_SENSE4_MUX_SEL_S 24 +/* RTC_IO_SENSE1_FUN_SEL : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_SENSE1_FUN_SEL 0x00000003 +#define RTC_IO_SENSE1_FUN_SEL_M ((RTC_IO_SENSE1_FUN_SEL_V)<<(RTC_IO_SENSE1_FUN_SEL_S)) +#define RTC_IO_SENSE1_FUN_SEL_V 0x3 +#define RTC_IO_SENSE1_FUN_SEL_S 22 +/* RTC_IO_SENSE1_SLP_SEL : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_SENSE1_SLP_SEL (BIT(21)) +#define RTC_IO_SENSE1_SLP_SEL_M (BIT(21)) +#define RTC_IO_SENSE1_SLP_SEL_V 0x1 +#define RTC_IO_SENSE1_SLP_SEL_S 21 +/* RTC_IO_SENSE1_SLP_IE : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_SENSE1_SLP_IE (BIT(20)) +#define RTC_IO_SENSE1_SLP_IE_M (BIT(20)) +#define RTC_IO_SENSE1_SLP_IE_V 0x1 +#define RTC_IO_SENSE1_SLP_IE_S 20 +/* RTC_IO_SENSE1_FUN_IE : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_SENSE1_FUN_IE (BIT(19)) +#define RTC_IO_SENSE1_FUN_IE_M (BIT(19)) +#define RTC_IO_SENSE1_FUN_IE_V 0x1 +#define RTC_IO_SENSE1_FUN_IE_S 19 +/* RTC_IO_SENSE2_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_SENSE2_FUN_SEL 0x00000003 +#define RTC_IO_SENSE2_FUN_SEL_M ((RTC_IO_SENSE2_FUN_SEL_V)<<(RTC_IO_SENSE2_FUN_SEL_S)) +#define RTC_IO_SENSE2_FUN_SEL_V 0x3 +#define RTC_IO_SENSE2_FUN_SEL_S 17 +/* RTC_IO_SENSE2_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_SENSE2_SLP_SEL (BIT(16)) +#define RTC_IO_SENSE2_SLP_SEL_M (BIT(16)) +#define RTC_IO_SENSE2_SLP_SEL_V 0x1 +#define RTC_IO_SENSE2_SLP_SEL_S 16 +/* RTC_IO_SENSE2_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_SENSE2_SLP_IE (BIT(15)) +#define RTC_IO_SENSE2_SLP_IE_M (BIT(15)) +#define RTC_IO_SENSE2_SLP_IE_V 0x1 +#define RTC_IO_SENSE2_SLP_IE_S 15 +/* RTC_IO_SENSE2_FUN_IE : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_SENSE2_FUN_IE (BIT(14)) +#define RTC_IO_SENSE2_FUN_IE_M (BIT(14)) +#define RTC_IO_SENSE2_FUN_IE_V 0x1 +#define RTC_IO_SENSE2_FUN_IE_S 14 +/* RTC_IO_SENSE3_FUN_SEL : R/W ;bitpos:[13:12] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_SENSE3_FUN_SEL 0x00000003 +#define RTC_IO_SENSE3_FUN_SEL_M ((RTC_IO_SENSE3_FUN_SEL_V)<<(RTC_IO_SENSE3_FUN_SEL_S)) +#define RTC_IO_SENSE3_FUN_SEL_V 0x3 +#define RTC_IO_SENSE3_FUN_SEL_S 12 +/* RTC_IO_SENSE3_SLP_SEL : R/W ;bitpos:[11] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_SENSE3_SLP_SEL (BIT(11)) +#define RTC_IO_SENSE3_SLP_SEL_M (BIT(11)) +#define RTC_IO_SENSE3_SLP_SEL_V 0x1 +#define RTC_IO_SENSE3_SLP_SEL_S 11 +/* RTC_IO_SENSE3_SLP_IE : R/W ;bitpos:[10] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_SENSE3_SLP_IE (BIT(10)) +#define RTC_IO_SENSE3_SLP_IE_M (BIT(10)) +#define RTC_IO_SENSE3_SLP_IE_V 0x1 +#define RTC_IO_SENSE3_SLP_IE_S 10 +/* RTC_IO_SENSE3_FUN_IE : R/W ;bitpos:[9] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_SENSE3_FUN_IE (BIT(9)) +#define RTC_IO_SENSE3_FUN_IE_M (BIT(9)) +#define RTC_IO_SENSE3_FUN_IE_V 0x1 +#define RTC_IO_SENSE3_FUN_IE_S 9 +/* RTC_IO_SENSE4_FUN_SEL : R/W ;bitpos:[8:7] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_SENSE4_FUN_SEL 0x00000003 +#define RTC_IO_SENSE4_FUN_SEL_M ((RTC_IO_SENSE4_FUN_SEL_V)<<(RTC_IO_SENSE4_FUN_SEL_S)) +#define RTC_IO_SENSE4_FUN_SEL_V 0x3 +#define RTC_IO_SENSE4_FUN_SEL_S 7 +/* RTC_IO_SENSE4_SLP_SEL : R/W ;bitpos:[6] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_SENSE4_SLP_SEL (BIT(6)) +#define RTC_IO_SENSE4_SLP_SEL_M (BIT(6)) +#define RTC_IO_SENSE4_SLP_SEL_V 0x1 +#define RTC_IO_SENSE4_SLP_SEL_S 6 +/* RTC_IO_SENSE4_SLP_IE : R/W ;bitpos:[5] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_SENSE4_SLP_IE (BIT(5)) +#define RTC_IO_SENSE4_SLP_IE_M (BIT(5)) +#define RTC_IO_SENSE4_SLP_IE_V 0x1 +#define RTC_IO_SENSE4_SLP_IE_S 5 +/* RTC_IO_SENSE4_FUN_IE : R/W ;bitpos:[4] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_SENSE4_FUN_IE (BIT(4)) +#define RTC_IO_SENSE4_FUN_IE_M (BIT(4)) +#define RTC_IO_SENSE4_FUN_IE_V 0x1 +#define RTC_IO_SENSE4_FUN_IE_S 4 + +#define RTC_IO_ADC_PAD_REG (DR_REG_RTCIO_BASE + 0x80) +/* RTC_IO_ADC1_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_ADC1_HOLD (BIT(31)) +#define RTC_IO_ADC1_HOLD_M (BIT(31)) +#define RTC_IO_ADC1_HOLD_V 0x1 +#define RTC_IO_ADC1_HOLD_S 31 +/* RTC_IO_ADC2_HOLD : R/W ;bitpos:[30] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_ADC2_HOLD (BIT(30)) +#define RTC_IO_ADC2_HOLD_M (BIT(30)) +#define RTC_IO_ADC2_HOLD_V 0x1 +#define RTC_IO_ADC2_HOLD_S 30 +/* RTC_IO_ADC1_MUX_SEL : R/W ;bitpos:[29] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_ADC1_MUX_SEL (BIT(29)) +#define RTC_IO_ADC1_MUX_SEL_M (BIT(29)) +#define RTC_IO_ADC1_MUX_SEL_V 0x1 +#define RTC_IO_ADC1_MUX_SEL_S 29 +/* RTC_IO_ADC2_MUX_SEL : R/W ;bitpos:[28] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_ADC2_MUX_SEL (BIT(28)) +#define RTC_IO_ADC2_MUX_SEL_M (BIT(28)) +#define RTC_IO_ADC2_MUX_SEL_V 0x1 +#define RTC_IO_ADC2_MUX_SEL_S 28 +/* RTC_IO_ADC1_FUN_SEL : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_ADC1_FUN_SEL 0x00000003 +#define RTC_IO_ADC1_FUN_SEL_M ((RTC_IO_ADC1_FUN_SEL_V)<<(RTC_IO_ADC1_FUN_SEL_S)) +#define RTC_IO_ADC1_FUN_SEL_V 0x3 +#define RTC_IO_ADC1_FUN_SEL_S 26 +/* RTC_IO_ADC1_SLP_SEL : R/W ;bitpos:[25] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_ADC1_SLP_SEL (BIT(25)) +#define RTC_IO_ADC1_SLP_SEL_M (BIT(25)) +#define RTC_IO_ADC1_SLP_SEL_V 0x1 +#define RTC_IO_ADC1_SLP_SEL_S 25 +/* RTC_IO_ADC1_SLP_IE : R/W ;bitpos:[24] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_ADC1_SLP_IE (BIT(24)) +#define RTC_IO_ADC1_SLP_IE_M (BIT(24)) +#define RTC_IO_ADC1_SLP_IE_V 0x1 +#define RTC_IO_ADC1_SLP_IE_S 24 +/* RTC_IO_ADC1_FUN_IE : R/W ;bitpos:[23] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_ADC1_FUN_IE (BIT(23)) +#define RTC_IO_ADC1_FUN_IE_M (BIT(23)) +#define RTC_IO_ADC1_FUN_IE_V 0x1 +#define RTC_IO_ADC1_FUN_IE_S 23 +/* RTC_IO_ADC2_FUN_SEL : R/W ;bitpos:[22:21] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_ADC2_FUN_SEL 0x00000003 +#define RTC_IO_ADC2_FUN_SEL_M ((RTC_IO_ADC2_FUN_SEL_V)<<(RTC_IO_ADC2_FUN_SEL_S)) +#define RTC_IO_ADC2_FUN_SEL_V 0x3 +#define RTC_IO_ADC2_FUN_SEL_S 21 +/* RTC_IO_ADC2_SLP_SEL : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_ADC2_SLP_SEL (BIT(20)) +#define RTC_IO_ADC2_SLP_SEL_M (BIT(20)) +#define RTC_IO_ADC2_SLP_SEL_V 0x1 +#define RTC_IO_ADC2_SLP_SEL_S 20 +/* RTC_IO_ADC2_SLP_IE : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_ADC2_SLP_IE (BIT(19)) +#define RTC_IO_ADC2_SLP_IE_M (BIT(19)) +#define RTC_IO_ADC2_SLP_IE_V 0x1 +#define RTC_IO_ADC2_SLP_IE_S 19 +/* RTC_IO_ADC2_FUN_IE : R/W ;bitpos:[18] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_ADC2_FUN_IE (BIT(18)) +#define RTC_IO_ADC2_FUN_IE_M (BIT(18)) +#define RTC_IO_ADC2_FUN_IE_V 0x1 +#define RTC_IO_ADC2_FUN_IE_S 18 + +#define RTC_IO_PAD_DAC1_REG (DR_REG_RTCIO_BASE + 0x84) +/* RTC_IO_PDAC1_DRV : R/W ;bitpos:[31:30] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_PDAC1_DRV 0x00000003 +#define RTC_IO_PDAC1_DRV_M ((RTC_IO_PDAC1_DRV_V)<<(RTC_IO_PDAC1_DRV_S)) +#define RTC_IO_PDAC1_DRV_V 0x3 +#define RTC_IO_PDAC1_DRV_S 30 +/* RTC_IO_PDAC1_HOLD : R/W ;bitpos:[29] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_PDAC1_HOLD (BIT(29)) +#define RTC_IO_PDAC1_HOLD_M (BIT(29)) +#define RTC_IO_PDAC1_HOLD_V 0x1 +#define RTC_IO_PDAC1_HOLD_S 29 +/* RTC_IO_PDAC1_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_PDAC1_RDE (BIT(28)) +#define RTC_IO_PDAC1_RDE_M (BIT(28)) +#define RTC_IO_PDAC1_RDE_V 0x1 +#define RTC_IO_PDAC1_RDE_S 28 +/* RTC_IO_PDAC1_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_PDAC1_RUE (BIT(27)) +#define RTC_IO_PDAC1_RUE_M (BIT(27)) +#define RTC_IO_PDAC1_RUE_V 0x1 +#define RTC_IO_PDAC1_RUE_S 27 +/* RTC_IO_PDAC1_DAC : R/W ;bitpos:[26:19] ;default: 8'd0 ; */ +/*description: PAD DAC1 control code.*/ +#define RTC_IO_PDAC1_DAC 0x000000FF +#define RTC_IO_PDAC1_DAC_M ((RTC_IO_PDAC1_DAC_V)<<(RTC_IO_PDAC1_DAC_S)) +#define RTC_IO_PDAC1_DAC_V 0xFF +#define RTC_IO_PDAC1_DAC_S 19 +/* RTC_IO_PDAC1_XPD_DAC : R/W ;bitpos:[18] ;default: 1'd0 ; */ +/*description: Power on DAC1. Usually we need to tristate PDAC1 if we power + on the DAC i.e. IE=0 OE=0 RDE=0 RUE=0*/ +#define RTC_IO_PDAC1_XPD_DAC (BIT(18)) +#define RTC_IO_PDAC1_XPD_DAC_M (BIT(18)) +#define RTC_IO_PDAC1_XPD_DAC_V 0x1 +#define RTC_IO_PDAC1_XPD_DAC_S 18 +/* RTC_IO_PDAC1_MUX_SEL : R/W ;bitpos:[17] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_PDAC1_MUX_SEL (BIT(17)) +#define RTC_IO_PDAC1_MUX_SEL_M (BIT(17)) +#define RTC_IO_PDAC1_MUX_SEL_V 0x1 +#define RTC_IO_PDAC1_MUX_SEL_S 17 +/* RTC_IO_PDAC1_FUN_SEL : R/W ;bitpos:[16:15] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_PDAC1_FUN_SEL 0x00000003 +#define RTC_IO_PDAC1_FUN_SEL_M ((RTC_IO_PDAC1_FUN_SEL_V)<<(RTC_IO_PDAC1_FUN_SEL_S)) +#define RTC_IO_PDAC1_FUN_SEL_V 0x3 +#define RTC_IO_PDAC1_FUN_SEL_S 15 +/* RTC_IO_PDAC1_SLP_SEL : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_PDAC1_SLP_SEL (BIT(14)) +#define RTC_IO_PDAC1_SLP_SEL_M (BIT(14)) +#define RTC_IO_PDAC1_SLP_SEL_V 0x1 +#define RTC_IO_PDAC1_SLP_SEL_S 14 +/* RTC_IO_PDAC1_SLP_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_PDAC1_SLP_IE (BIT(13)) +#define RTC_IO_PDAC1_SLP_IE_M (BIT(13)) +#define RTC_IO_PDAC1_SLP_IE_V 0x1 +#define RTC_IO_PDAC1_SLP_IE_S 13 +/* RTC_IO_PDAC1_SLP_OE : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_PDAC1_SLP_OE (BIT(12)) +#define RTC_IO_PDAC1_SLP_OE_M (BIT(12)) +#define RTC_IO_PDAC1_SLP_OE_V 0x1 +#define RTC_IO_PDAC1_SLP_OE_S 12 +/* RTC_IO_PDAC1_FUN_IE : R/W ;bitpos:[11] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_PDAC1_FUN_IE (BIT(11)) +#define RTC_IO_PDAC1_FUN_IE_M (BIT(11)) +#define RTC_IO_PDAC1_FUN_IE_V 0x1 +#define RTC_IO_PDAC1_FUN_IE_S 11 +/* RTC_IO_PDAC1_DAC_XPD_FORCE : R/W ;bitpos:[10] ;default: 1'd0 ; */ +/*description: Power on DAC1. Usually we need to tristate PDAC1 if we power + on the DAC i.e. IE=0 OE=0 RDE=0 RUE=0*/ +#define RTC_IO_PDAC1_DAC_XPD_FORCE (BIT(10)) +#define RTC_IO_PDAC1_DAC_XPD_FORCE_M (BIT(10)) +#define RTC_IO_PDAC1_DAC_XPD_FORCE_V 0x1 +#define RTC_IO_PDAC1_DAC_XPD_FORCE_S 10 + +#define RTC_IO_PAD_DAC2_REG (DR_REG_RTCIO_BASE + 0x88) +/* RTC_IO_PDAC2_DRV : R/W ;bitpos:[31:30] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_PDAC2_DRV 0x00000003 +#define RTC_IO_PDAC2_DRV_M ((RTC_IO_PDAC2_DRV_V)<<(RTC_IO_PDAC2_DRV_S)) +#define RTC_IO_PDAC2_DRV_V 0x3 +#define RTC_IO_PDAC2_DRV_S 30 +/* RTC_IO_PDAC2_HOLD : R/W ;bitpos:[29] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_PDAC2_HOLD (BIT(29)) +#define RTC_IO_PDAC2_HOLD_M (BIT(29)) +#define RTC_IO_PDAC2_HOLD_V 0x1 +#define RTC_IO_PDAC2_HOLD_S 29 +/* RTC_IO_PDAC2_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_PDAC2_RDE (BIT(28)) +#define RTC_IO_PDAC2_RDE_M (BIT(28)) +#define RTC_IO_PDAC2_RDE_V 0x1 +#define RTC_IO_PDAC2_RDE_S 28 +/* RTC_IO_PDAC2_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_PDAC2_RUE (BIT(27)) +#define RTC_IO_PDAC2_RUE_M (BIT(27)) +#define RTC_IO_PDAC2_RUE_V 0x1 +#define RTC_IO_PDAC2_RUE_S 27 +/* RTC_IO_PDAC2_DAC : R/W ;bitpos:[26:19] ;default: 8'd0 ; */ +/*description: PAD DAC2 control code.*/ +#define RTC_IO_PDAC2_DAC 0x000000FF +#define RTC_IO_PDAC2_DAC_M ((RTC_IO_PDAC2_DAC_V)<<(RTC_IO_PDAC2_DAC_S)) +#define RTC_IO_PDAC2_DAC_V 0xFF +#define RTC_IO_PDAC2_DAC_S 19 +/* RTC_IO_PDAC2_XPD_DAC : R/W ;bitpos:[18] ;default: 1'd0 ; */ +/*description: Power on DAC2. Usually we need to tristate PDAC1 if we power + on the DAC i.e. IE=0 OE=0 RDE=0 RUE=0*/ +#define RTC_IO_PDAC2_XPD_DAC (BIT(18)) +#define RTC_IO_PDAC2_XPD_DAC_M (BIT(18)) +#define RTC_IO_PDAC2_XPD_DAC_V 0x1 +#define RTC_IO_PDAC2_XPD_DAC_S 18 +/* RTC_IO_PDAC2_MUX_SEL : R/W ;bitpos:[17] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_PDAC2_MUX_SEL (BIT(17)) +#define RTC_IO_PDAC2_MUX_SEL_M (BIT(17)) +#define RTC_IO_PDAC2_MUX_SEL_V 0x1 +#define RTC_IO_PDAC2_MUX_SEL_S 17 +/* RTC_IO_PDAC2_FUN_SEL : R/W ;bitpos:[16:15] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_PDAC2_FUN_SEL 0x00000003 +#define RTC_IO_PDAC2_FUN_SEL_M ((RTC_IO_PDAC2_FUN_SEL_V)<<(RTC_IO_PDAC2_FUN_SEL_S)) +#define RTC_IO_PDAC2_FUN_SEL_V 0x3 +#define RTC_IO_PDAC2_FUN_SEL_S 15 +/* RTC_IO_PDAC2_SLP_SEL : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_PDAC2_SLP_SEL (BIT(14)) +#define RTC_IO_PDAC2_SLP_SEL_M (BIT(14)) +#define RTC_IO_PDAC2_SLP_SEL_V 0x1 +#define RTC_IO_PDAC2_SLP_SEL_S 14 +/* RTC_IO_PDAC2_SLP_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_PDAC2_SLP_IE (BIT(13)) +#define RTC_IO_PDAC2_SLP_IE_M (BIT(13)) +#define RTC_IO_PDAC2_SLP_IE_V 0x1 +#define RTC_IO_PDAC2_SLP_IE_S 13 +/* RTC_IO_PDAC2_SLP_OE : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_PDAC2_SLP_OE (BIT(12)) +#define RTC_IO_PDAC2_SLP_OE_M (BIT(12)) +#define RTC_IO_PDAC2_SLP_OE_V 0x1 +#define RTC_IO_PDAC2_SLP_OE_S 12 +/* RTC_IO_PDAC2_FUN_IE : R/W ;bitpos:[11] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_PDAC2_FUN_IE (BIT(11)) +#define RTC_IO_PDAC2_FUN_IE_M (BIT(11)) +#define RTC_IO_PDAC2_FUN_IE_V 0x1 +#define RTC_IO_PDAC2_FUN_IE_S 11 +/* RTC_IO_PDAC2_DAC_XPD_FORCE : R/W ;bitpos:[10] ;default: 1'd0 ; */ +/*description: Power on DAC2. Usually we need to tristate PDAC2 if we power + on the DAC i.e. IE=0 OE=0 RDE=0 RUE=0*/ +#define RTC_IO_PDAC2_DAC_XPD_FORCE (BIT(10)) +#define RTC_IO_PDAC2_DAC_XPD_FORCE_M (BIT(10)) +#define RTC_IO_PDAC2_DAC_XPD_FORCE_V 0x1 +#define RTC_IO_PDAC2_DAC_XPD_FORCE_S 10 + +#define RTC_IO_XTAL_32K_PAD_REG (DR_REG_RTCIO_BASE + 0x8c) +/* RTC_IO_X32N_DRV : R/W ;bitpos:[31:30] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_X32N_DRV 0x00000003 +#define RTC_IO_X32N_DRV_M ((RTC_IO_X32N_DRV_V)<<(RTC_IO_X32N_DRV_S)) +#define RTC_IO_X32N_DRV_V 0x3 +#define RTC_IO_X32N_DRV_S 30 +/* RTC_IO_X32N_HOLD : R/W ;bitpos:[29] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_X32N_HOLD (BIT(29)) +#define RTC_IO_X32N_HOLD_M (BIT(29)) +#define RTC_IO_X32N_HOLD_V 0x1 +#define RTC_IO_X32N_HOLD_S 29 +/* RTC_IO_X32N_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_X32N_RDE (BIT(28)) +#define RTC_IO_X32N_RDE_M (BIT(28)) +#define RTC_IO_X32N_RDE_V 0x1 +#define RTC_IO_X32N_RDE_S 28 +/* RTC_IO_X32N_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_X32N_RUE (BIT(27)) +#define RTC_IO_X32N_RUE_M (BIT(27)) +#define RTC_IO_X32N_RUE_V 0x1 +#define RTC_IO_X32N_RUE_S 27 +/* RTC_IO_X32P_DRV : R/W ;bitpos:[26:25] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_X32P_DRV 0x00000003 +#define RTC_IO_X32P_DRV_M ((RTC_IO_X32P_DRV_V)<<(RTC_IO_X32P_DRV_S)) +#define RTC_IO_X32P_DRV_V 0x3 +#define RTC_IO_X32P_DRV_S 25 +/* RTC_IO_X32P_HOLD : R/W ;bitpos:[24] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_X32P_HOLD (BIT(24)) +#define RTC_IO_X32P_HOLD_M (BIT(24)) +#define RTC_IO_X32P_HOLD_V 0x1 +#define RTC_IO_X32P_HOLD_S 24 +/* RTC_IO_X32P_RDE : R/W ;bitpos:[23] ;default: 1'd0 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_X32P_RDE (BIT(23)) +#define RTC_IO_X32P_RDE_M (BIT(23)) +#define RTC_IO_X32P_RDE_V 0x1 +#define RTC_IO_X32P_RDE_S 23 +/* RTC_IO_X32P_RUE : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_X32P_RUE (BIT(22)) +#define RTC_IO_X32P_RUE_M (BIT(22)) +#define RTC_IO_X32P_RUE_V 0x1 +#define RTC_IO_X32P_RUE_S 22 +/* RTC_IO_DAC_XTAL_32K : R/W ;bitpos:[21:20] ;default: 2'b01 ; */ +/*description: 32K XTAL bias current DAC.*/ +#define RTC_IO_DAC_XTAL_32K 0x00000003 +#define RTC_IO_DAC_XTAL_32K_M ((RTC_IO_DAC_XTAL_32K_V)<<(RTC_IO_DAC_XTAL_32K_S)) +#define RTC_IO_DAC_XTAL_32K_V 0x3 +#define RTC_IO_DAC_XTAL_32K_S 20 +/* RTC_IO_XPD_XTAL_32K : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: Power up 32kHz crystal oscillator*/ +#define RTC_IO_XPD_XTAL_32K (BIT(19)) +#define RTC_IO_XPD_XTAL_32K_M (BIT(19)) +#define RTC_IO_XPD_XTAL_32K_V 0x1 +#define RTC_IO_XPD_XTAL_32K_S 19 +/* RTC_IO_X32N_MUX_SEL : R/W ;bitpos:[18] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_X32N_MUX_SEL (BIT(18)) +#define RTC_IO_X32N_MUX_SEL_M (BIT(18)) +#define RTC_IO_X32N_MUX_SEL_V 0x1 +#define RTC_IO_X32N_MUX_SEL_S 18 +/* RTC_IO_X32P_MUX_SEL : R/W ;bitpos:[17] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_X32P_MUX_SEL (BIT(17)) +#define RTC_IO_X32P_MUX_SEL_M (BIT(17)) +#define RTC_IO_X32P_MUX_SEL_V 0x1 +#define RTC_IO_X32P_MUX_SEL_S 17 +/* RTC_IO_X32N_FUN_SEL : R/W ;bitpos:[16:15] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_X32N_FUN_SEL 0x00000003 +#define RTC_IO_X32N_FUN_SEL_M ((RTC_IO_X32N_FUN_SEL_V)<<(RTC_IO_X32N_FUN_SEL_S)) +#define RTC_IO_X32N_FUN_SEL_V 0x3 +#define RTC_IO_X32N_FUN_SEL_S 15 +/* RTC_IO_X32N_SLP_SEL : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_X32N_SLP_SEL (BIT(14)) +#define RTC_IO_X32N_SLP_SEL_M (BIT(14)) +#define RTC_IO_X32N_SLP_SEL_V 0x1 +#define RTC_IO_X32N_SLP_SEL_S 14 +/* RTC_IO_X32N_SLP_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_X32N_SLP_IE (BIT(13)) +#define RTC_IO_X32N_SLP_IE_M (BIT(13)) +#define RTC_IO_X32N_SLP_IE_V 0x1 +#define RTC_IO_X32N_SLP_IE_S 13 +/* RTC_IO_X32N_SLP_OE : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_X32N_SLP_OE (BIT(12)) +#define RTC_IO_X32N_SLP_OE_M (BIT(12)) +#define RTC_IO_X32N_SLP_OE_V 0x1 +#define RTC_IO_X32N_SLP_OE_S 12 +/* RTC_IO_X32N_FUN_IE : R/W ;bitpos:[11] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_X32N_FUN_IE (BIT(11)) +#define RTC_IO_X32N_FUN_IE_M (BIT(11)) +#define RTC_IO_X32N_FUN_IE_V 0x1 +#define RTC_IO_X32N_FUN_IE_S 11 +/* RTC_IO_X32P_FUN_SEL : R/W ;bitpos:[10:9] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_X32P_FUN_SEL 0x00000003 +#define RTC_IO_X32P_FUN_SEL_M ((RTC_IO_X32P_FUN_SEL_V)<<(RTC_IO_X32P_FUN_SEL_S)) +#define RTC_IO_X32P_FUN_SEL_V 0x3 +#define RTC_IO_X32P_FUN_SEL_S 9 +/* RTC_IO_X32P_SLP_SEL : R/W ;bitpos:[8] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_X32P_SLP_SEL (BIT(8)) +#define RTC_IO_X32P_SLP_SEL_M (BIT(8)) +#define RTC_IO_X32P_SLP_SEL_V 0x1 +#define RTC_IO_X32P_SLP_SEL_S 8 +/* RTC_IO_X32P_SLP_IE : R/W ;bitpos:[7] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_X32P_SLP_IE (BIT(7)) +#define RTC_IO_X32P_SLP_IE_M (BIT(7)) +#define RTC_IO_X32P_SLP_IE_V 0x1 +#define RTC_IO_X32P_SLP_IE_S 7 +/* RTC_IO_X32P_SLP_OE : R/W ;bitpos:[6] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_X32P_SLP_OE (BIT(6)) +#define RTC_IO_X32P_SLP_OE_M (BIT(6)) +#define RTC_IO_X32P_SLP_OE_V 0x1 +#define RTC_IO_X32P_SLP_OE_S 6 +/* RTC_IO_X32P_FUN_IE : R/W ;bitpos:[5] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_X32P_FUN_IE (BIT(5)) +#define RTC_IO_X32P_FUN_IE_M (BIT(5)) +#define RTC_IO_X32P_FUN_IE_V 0x1 +#define RTC_IO_X32P_FUN_IE_S 5 +/* RTC_IO_DRES_XTAL_32K : R/W ;bitpos:[4:3] ;default: 2'b10 ; */ +/*description: 32K XTAL resistor bias control.*/ +#define RTC_IO_DRES_XTAL_32K 0x00000003 +#define RTC_IO_DRES_XTAL_32K_M ((RTC_IO_DRES_XTAL_32K_V)<<(RTC_IO_DRES_XTAL_32K_S)) +#define RTC_IO_DRES_XTAL_32K_V 0x3 +#define RTC_IO_DRES_XTAL_32K_S 3 +/* RTC_IO_DBIAS_XTAL_32K : R/W ;bitpos:[2:1] ;default: 2'b00 ; */ +/*description: 32K XTAL self-bias reference control.*/ +#define RTC_IO_DBIAS_XTAL_32K 0x00000003 +#define RTC_IO_DBIAS_XTAL_32K_M ((RTC_IO_DBIAS_XTAL_32K_V)<<(RTC_IO_DBIAS_XTAL_32K_S)) +#define RTC_IO_DBIAS_XTAL_32K_V 0x3 +#define RTC_IO_DBIAS_XTAL_32K_S 1 + +#define RTC_IO_TOUCH_CFG_REG (DR_REG_RTCIO_BASE + 0x90) +/* RTC_IO_TOUCH_XPD_BIAS : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: touch sensor bias power on.*/ +#define RTC_IO_TOUCH_XPD_BIAS (BIT(31)) +#define RTC_IO_TOUCH_XPD_BIAS_M (BIT(31)) +#define RTC_IO_TOUCH_XPD_BIAS_V 0x1 +#define RTC_IO_TOUCH_XPD_BIAS_S 31 +/* RTC_IO_TOUCH_DREFH : R/W ;bitpos:[30:29] ;default: 2'b11 ; */ +/*description: touch sensor saw wave top voltage.*/ +#define RTC_IO_TOUCH_DREFH 0x00000003 +#define RTC_IO_TOUCH_DREFH_M ((RTC_IO_TOUCH_DREFH_V)<<(RTC_IO_TOUCH_DREFH_S)) +#define RTC_IO_TOUCH_DREFH_V 0x3 +#define RTC_IO_TOUCH_DREFH_S 29 +/* RTC_IO_TOUCH_DREFL : R/W ;bitpos:[28:27] ;default: 2'b00 ; */ +/*description: touch sensor saw wave bottom voltage.*/ +#define RTC_IO_TOUCH_DREFL 0x00000003 +#define RTC_IO_TOUCH_DREFL_M ((RTC_IO_TOUCH_DREFL_V)<<(RTC_IO_TOUCH_DREFL_S)) +#define RTC_IO_TOUCH_DREFL_V 0x3 +#define RTC_IO_TOUCH_DREFL_S 27 +/* RTC_IO_TOUCH_DRANGE : R/W ;bitpos:[26:25] ;default: 2'b11 ; */ +/*description: touch sensor saw wave voltage range.*/ +#define RTC_IO_TOUCH_DRANGE 0x00000003 +#define RTC_IO_TOUCH_DRANGE_M ((RTC_IO_TOUCH_DRANGE_V)<<(RTC_IO_TOUCH_DRANGE_S)) +#define RTC_IO_TOUCH_DRANGE_V 0x3 +#define RTC_IO_TOUCH_DRANGE_S 25 +/* RTC_IO_TOUCH_DCUR : R/W ;bitpos:[24:23] ;default: 2'b00 ; */ +/*description: touch sensor bias current. Should have option to tie with BIAS_SLEEP(When + BIAS_SLEEP this setting is available*/ +#define RTC_IO_TOUCH_DCUR 0x00000003 +#define RTC_IO_TOUCH_DCUR_M ((RTC_IO_TOUCH_DCUR_V)<<(RTC_IO_TOUCH_DCUR_S)) +#define RTC_IO_TOUCH_DCUR_V 0x3 +#define RTC_IO_TOUCH_DCUR_S 23 + +#define RTC_IO_TOUCH_PAD0_REG (DR_REG_RTCIO_BASE + 0x94) +/* RTC_IO_TOUCH_PAD0_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_TOUCH_PAD0_HOLD (BIT(31)) +#define RTC_IO_TOUCH_PAD0_HOLD_M (BIT(31)) +#define RTC_IO_TOUCH_PAD0_HOLD_V 0x1 +#define RTC_IO_TOUCH_PAD0_HOLD_S 31 +/* RTC_IO_TOUCH_PAD0_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_TOUCH_PAD0_DRV 0x00000003 +#define RTC_IO_TOUCH_PAD0_DRV_M ((RTC_IO_TOUCH_PAD0_DRV_V)<<(RTC_IO_TOUCH_PAD0_DRV_S)) +#define RTC_IO_TOUCH_PAD0_DRV_V 0x3 +#define RTC_IO_TOUCH_PAD0_DRV_S 29 +/* RTC_IO_TOUCH_PAD0_RDE : R/W ;bitpos:[28] ;default: 1'd1 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_TOUCH_PAD0_RDE (BIT(28)) +#define RTC_IO_TOUCH_PAD0_RDE_M (BIT(28)) +#define RTC_IO_TOUCH_PAD0_RDE_V 0x1 +#define RTC_IO_TOUCH_PAD0_RDE_S 28 +/* RTC_IO_TOUCH_PAD0_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_TOUCH_PAD0_RUE (BIT(27)) +#define RTC_IO_TOUCH_PAD0_RUE_M (BIT(27)) +#define RTC_IO_TOUCH_PAD0_RUE_V 0x1 +#define RTC_IO_TOUCH_PAD0_RUE_S 27 +/* RTC_IO_TOUCH_PAD0_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ +/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ +#define RTC_IO_TOUCH_PAD0_DAC 0x00000007 +#define RTC_IO_TOUCH_PAD0_DAC_M ((RTC_IO_TOUCH_PAD0_DAC_V)<<(RTC_IO_TOUCH_PAD0_DAC_S)) +#define RTC_IO_TOUCH_PAD0_DAC_V 0x7 +#define RTC_IO_TOUCH_PAD0_DAC_S 23 +/* RTC_IO_TOUCH_PAD0_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: start touch sensor.*/ +#define RTC_IO_TOUCH_PAD0_START (BIT(22)) +#define RTC_IO_TOUCH_PAD0_START_M (BIT(22)) +#define RTC_IO_TOUCH_PAD0_START_V 0x1 +#define RTC_IO_TOUCH_PAD0_START_S 22 +/* RTC_IO_TOUCH_PAD0_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ +#define RTC_IO_TOUCH_PAD0_TIE_OPT (BIT(21)) +#define RTC_IO_TOUCH_PAD0_TIE_OPT_M (BIT(21)) +#define RTC_IO_TOUCH_PAD0_TIE_OPT_V 0x1 +#define RTC_IO_TOUCH_PAD0_TIE_OPT_S 21 +/* RTC_IO_TOUCH_PAD0_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: touch sensor power on.*/ +#define RTC_IO_TOUCH_PAD0_XPD (BIT(20)) +#define RTC_IO_TOUCH_PAD0_XPD_M (BIT(20)) +#define RTC_IO_TOUCH_PAD0_XPD_V 0x1 +#define RTC_IO_TOUCH_PAD0_XPD_S 20 +/* RTC_IO_TOUCH_PAD0_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_TOUCH_PAD0_MUX_SEL (BIT(19)) +#define RTC_IO_TOUCH_PAD0_MUX_SEL_M (BIT(19)) +#define RTC_IO_TOUCH_PAD0_MUX_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD0_MUX_SEL_S 19 +/* RTC_IO_TOUCH_PAD0_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD0_FUN_SEL 0x00000003 +#define RTC_IO_TOUCH_PAD0_FUN_SEL_M ((RTC_IO_TOUCH_PAD0_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD0_FUN_SEL_S)) +#define RTC_IO_TOUCH_PAD0_FUN_SEL_V 0x3 +#define RTC_IO_TOUCH_PAD0_FUN_SEL_S 17 +/* RTC_IO_TOUCH_PAD0_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD0_SLP_SEL (BIT(16)) +#define RTC_IO_TOUCH_PAD0_SLP_SEL_M (BIT(16)) +#define RTC_IO_TOUCH_PAD0_SLP_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD0_SLP_SEL_S 16 +/* RTC_IO_TOUCH_PAD0_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD0_SLP_IE (BIT(15)) +#define RTC_IO_TOUCH_PAD0_SLP_IE_M (BIT(15)) +#define RTC_IO_TOUCH_PAD0_SLP_IE_V 0x1 +#define RTC_IO_TOUCH_PAD0_SLP_IE_S 15 +/* RTC_IO_TOUCH_PAD0_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD0_SLP_OE (BIT(14)) +#define RTC_IO_TOUCH_PAD0_SLP_OE_M (BIT(14)) +#define RTC_IO_TOUCH_PAD0_SLP_OE_V 0x1 +#define RTC_IO_TOUCH_PAD0_SLP_OE_S 14 +/* RTC_IO_TOUCH_PAD0_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_TOUCH_PAD0_FUN_IE (BIT(13)) +#define RTC_IO_TOUCH_PAD0_FUN_IE_M (BIT(13)) +#define RTC_IO_TOUCH_PAD0_FUN_IE_V 0x1 +#define RTC_IO_TOUCH_PAD0_FUN_IE_S 13 +/* RTC_IO_TOUCH_PAD0_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale GPIO4*/ +#define RTC_IO_TOUCH_PAD0_TO_GPIO (BIT(12)) +#define RTC_IO_TOUCH_PAD0_TO_GPIO_M (BIT(12)) +#define RTC_IO_TOUCH_PAD0_TO_GPIO_V 0x1 +#define RTC_IO_TOUCH_PAD0_TO_GPIO_S 12 + +#define RTC_IO_TOUCH_PAD1_REG (DR_REG_RTCIO_BASE + 0x98) +/* RTC_IO_TOUCH_PAD1_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: */ +#define RTC_IO_TOUCH_PAD1_HOLD (BIT(31)) +#define RTC_IO_TOUCH_PAD1_HOLD_M (BIT(31)) +#define RTC_IO_TOUCH_PAD1_HOLD_V 0x1 +#define RTC_IO_TOUCH_PAD1_HOLD_S 31 +/* RTC_IO_TOUCH_PAD1_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_TOUCH_PAD1_DRV 0x00000003 +#define RTC_IO_TOUCH_PAD1_DRV_M ((RTC_IO_TOUCH_PAD1_DRV_V)<<(RTC_IO_TOUCH_PAD1_DRV_S)) +#define RTC_IO_TOUCH_PAD1_DRV_V 0x3 +#define RTC_IO_TOUCH_PAD1_DRV_S 29 +/* RTC_IO_TOUCH_PAD1_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_TOUCH_PAD1_RDE (BIT(28)) +#define RTC_IO_TOUCH_PAD1_RDE_M (BIT(28)) +#define RTC_IO_TOUCH_PAD1_RDE_V 0x1 +#define RTC_IO_TOUCH_PAD1_RDE_S 28 +/* RTC_IO_TOUCH_PAD1_RUE : R/W ;bitpos:[27] ;default: 1'd1 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_TOUCH_PAD1_RUE (BIT(27)) +#define RTC_IO_TOUCH_PAD1_RUE_M (BIT(27)) +#define RTC_IO_TOUCH_PAD1_RUE_V 0x1 +#define RTC_IO_TOUCH_PAD1_RUE_S 27 +/* RTC_IO_TOUCH_PAD1_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ +/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ +#define RTC_IO_TOUCH_PAD1_DAC 0x00000007 +#define RTC_IO_TOUCH_PAD1_DAC_M ((RTC_IO_TOUCH_PAD1_DAC_V)<<(RTC_IO_TOUCH_PAD1_DAC_S)) +#define RTC_IO_TOUCH_PAD1_DAC_V 0x7 +#define RTC_IO_TOUCH_PAD1_DAC_S 23 +/* RTC_IO_TOUCH_PAD1_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: start touch sensor.*/ +#define RTC_IO_TOUCH_PAD1_START (BIT(22)) +#define RTC_IO_TOUCH_PAD1_START_M (BIT(22)) +#define RTC_IO_TOUCH_PAD1_START_V 0x1 +#define RTC_IO_TOUCH_PAD1_START_S 22 +/* RTC_IO_TOUCH_PAD1_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ +#define RTC_IO_TOUCH_PAD1_TIE_OPT (BIT(21)) +#define RTC_IO_TOUCH_PAD1_TIE_OPT_M (BIT(21)) +#define RTC_IO_TOUCH_PAD1_TIE_OPT_V 0x1 +#define RTC_IO_TOUCH_PAD1_TIE_OPT_S 21 +/* RTC_IO_TOUCH_PAD1_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: touch sensor power on.*/ +#define RTC_IO_TOUCH_PAD1_XPD (BIT(20)) +#define RTC_IO_TOUCH_PAD1_XPD_M (BIT(20)) +#define RTC_IO_TOUCH_PAD1_XPD_V 0x1 +#define RTC_IO_TOUCH_PAD1_XPD_S 20 +/* RTC_IO_TOUCH_PAD1_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_TOUCH_PAD1_MUX_SEL (BIT(19)) +#define RTC_IO_TOUCH_PAD1_MUX_SEL_M (BIT(19)) +#define RTC_IO_TOUCH_PAD1_MUX_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD1_MUX_SEL_S 19 +/* RTC_IO_TOUCH_PAD1_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD1_FUN_SEL 0x00000003 +#define RTC_IO_TOUCH_PAD1_FUN_SEL_M ((RTC_IO_TOUCH_PAD1_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD1_FUN_SEL_S)) +#define RTC_IO_TOUCH_PAD1_FUN_SEL_V 0x3 +#define RTC_IO_TOUCH_PAD1_FUN_SEL_S 17 +/* RTC_IO_TOUCH_PAD1_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD1_SLP_SEL (BIT(16)) +#define RTC_IO_TOUCH_PAD1_SLP_SEL_M (BIT(16)) +#define RTC_IO_TOUCH_PAD1_SLP_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD1_SLP_SEL_S 16 +/* RTC_IO_TOUCH_PAD1_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD1_SLP_IE (BIT(15)) +#define RTC_IO_TOUCH_PAD1_SLP_IE_M (BIT(15)) +#define RTC_IO_TOUCH_PAD1_SLP_IE_V 0x1 +#define RTC_IO_TOUCH_PAD1_SLP_IE_S 15 +/* RTC_IO_TOUCH_PAD1_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD1_SLP_OE (BIT(14)) +#define RTC_IO_TOUCH_PAD1_SLP_OE_M (BIT(14)) +#define RTC_IO_TOUCH_PAD1_SLP_OE_V 0x1 +#define RTC_IO_TOUCH_PAD1_SLP_OE_S 14 +/* RTC_IO_TOUCH_PAD1_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_TOUCH_PAD1_FUN_IE (BIT(13)) +#define RTC_IO_TOUCH_PAD1_FUN_IE_M (BIT(13)) +#define RTC_IO_TOUCH_PAD1_FUN_IE_V 0x1 +#define RTC_IO_TOUCH_PAD1_FUN_IE_S 13 +/* RTC_IO_TOUCH_PAD1_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.GPIO0*/ +#define RTC_IO_TOUCH_PAD1_TO_GPIO (BIT(12)) +#define RTC_IO_TOUCH_PAD1_TO_GPIO_M (BIT(12)) +#define RTC_IO_TOUCH_PAD1_TO_GPIO_V 0x1 +#define RTC_IO_TOUCH_PAD1_TO_GPIO_S 12 + +#define RTC_IO_TOUCH_PAD2_REG (DR_REG_RTCIO_BASE + 0x9c) +/* RTC_IO_TOUCH_PAD2_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_TOUCH_PAD2_HOLD (BIT(31)) +#define RTC_IO_TOUCH_PAD2_HOLD_M (BIT(31)) +#define RTC_IO_TOUCH_PAD2_HOLD_V 0x1 +#define RTC_IO_TOUCH_PAD2_HOLD_S 31 +/* RTC_IO_TOUCH_PAD2_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_TOUCH_PAD2_DRV 0x00000003 +#define RTC_IO_TOUCH_PAD2_DRV_M ((RTC_IO_TOUCH_PAD2_DRV_V)<<(RTC_IO_TOUCH_PAD2_DRV_S)) +#define RTC_IO_TOUCH_PAD2_DRV_V 0x3 +#define RTC_IO_TOUCH_PAD2_DRV_S 29 +/* RTC_IO_TOUCH_PAD2_RDE : R/W ;bitpos:[28] ;default: 1'd1 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_TOUCH_PAD2_RDE (BIT(28)) +#define RTC_IO_TOUCH_PAD2_RDE_M (BIT(28)) +#define RTC_IO_TOUCH_PAD2_RDE_V 0x1 +#define RTC_IO_TOUCH_PAD2_RDE_S 28 +/* RTC_IO_TOUCH_PAD2_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_TOUCH_PAD2_RUE (BIT(27)) +#define RTC_IO_TOUCH_PAD2_RUE_M (BIT(27)) +#define RTC_IO_TOUCH_PAD2_RUE_V 0x1 +#define RTC_IO_TOUCH_PAD2_RUE_S 27 +/* RTC_IO_TOUCH_PAD2_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ +/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ +#define RTC_IO_TOUCH_PAD2_DAC 0x00000007 +#define RTC_IO_TOUCH_PAD2_DAC_M ((RTC_IO_TOUCH_PAD2_DAC_V)<<(RTC_IO_TOUCH_PAD2_DAC_S)) +#define RTC_IO_TOUCH_PAD2_DAC_V 0x7 +#define RTC_IO_TOUCH_PAD2_DAC_S 23 +/* RTC_IO_TOUCH_PAD2_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: start touch sensor.*/ +#define RTC_IO_TOUCH_PAD2_START (BIT(22)) +#define RTC_IO_TOUCH_PAD2_START_M (BIT(22)) +#define RTC_IO_TOUCH_PAD2_START_V 0x1 +#define RTC_IO_TOUCH_PAD2_START_S 22 +/* RTC_IO_TOUCH_PAD2_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ +#define RTC_IO_TOUCH_PAD2_TIE_OPT (BIT(21)) +#define RTC_IO_TOUCH_PAD2_TIE_OPT_M (BIT(21)) +#define RTC_IO_TOUCH_PAD2_TIE_OPT_V 0x1 +#define RTC_IO_TOUCH_PAD2_TIE_OPT_S 21 +/* RTC_IO_TOUCH_PAD2_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: touch sensor power on.*/ +#define RTC_IO_TOUCH_PAD2_XPD (BIT(20)) +#define RTC_IO_TOUCH_PAD2_XPD_M (BIT(20)) +#define RTC_IO_TOUCH_PAD2_XPD_V 0x1 +#define RTC_IO_TOUCH_PAD2_XPD_S 20 +/* RTC_IO_TOUCH_PAD2_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_TOUCH_PAD2_MUX_SEL (BIT(19)) +#define RTC_IO_TOUCH_PAD2_MUX_SEL_M (BIT(19)) +#define RTC_IO_TOUCH_PAD2_MUX_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD2_MUX_SEL_S 19 +/* RTC_IO_TOUCH_PAD2_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD2_FUN_SEL 0x00000003 +#define RTC_IO_TOUCH_PAD2_FUN_SEL_M ((RTC_IO_TOUCH_PAD2_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD2_FUN_SEL_S)) +#define RTC_IO_TOUCH_PAD2_FUN_SEL_V 0x3 +#define RTC_IO_TOUCH_PAD2_FUN_SEL_S 17 +/* RTC_IO_TOUCH_PAD2_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD2_SLP_SEL (BIT(16)) +#define RTC_IO_TOUCH_PAD2_SLP_SEL_M (BIT(16)) +#define RTC_IO_TOUCH_PAD2_SLP_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD2_SLP_SEL_S 16 +/* RTC_IO_TOUCH_PAD2_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD2_SLP_IE (BIT(15)) +#define RTC_IO_TOUCH_PAD2_SLP_IE_M (BIT(15)) +#define RTC_IO_TOUCH_PAD2_SLP_IE_V 0x1 +#define RTC_IO_TOUCH_PAD2_SLP_IE_S 15 +/* RTC_IO_TOUCH_PAD2_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD2_SLP_OE (BIT(14)) +#define RTC_IO_TOUCH_PAD2_SLP_OE_M (BIT(14)) +#define RTC_IO_TOUCH_PAD2_SLP_OE_V 0x1 +#define RTC_IO_TOUCH_PAD2_SLP_OE_S 14 +/* RTC_IO_TOUCH_PAD2_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_TOUCH_PAD2_FUN_IE (BIT(13)) +#define RTC_IO_TOUCH_PAD2_FUN_IE_M (BIT(13)) +#define RTC_IO_TOUCH_PAD2_FUN_IE_V 0x1 +#define RTC_IO_TOUCH_PAD2_FUN_IE_S 13 +/* RTC_IO_TOUCH_PAD2_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.GPIO2*/ +#define RTC_IO_TOUCH_PAD2_TO_GPIO (BIT(12)) +#define RTC_IO_TOUCH_PAD2_TO_GPIO_M (BIT(12)) +#define RTC_IO_TOUCH_PAD2_TO_GPIO_V 0x1 +#define RTC_IO_TOUCH_PAD2_TO_GPIO_S 12 + +#define RTC_IO_TOUCH_PAD3_REG (DR_REG_RTCIO_BASE + 0xa0) +/* RTC_IO_TOUCH_PAD3_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_TOUCH_PAD3_HOLD (BIT(31)) +#define RTC_IO_TOUCH_PAD3_HOLD_M (BIT(31)) +#define RTC_IO_TOUCH_PAD3_HOLD_V 0x1 +#define RTC_IO_TOUCH_PAD3_HOLD_S 31 +/* RTC_IO_TOUCH_PAD3_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_TOUCH_PAD3_DRV 0x00000003 +#define RTC_IO_TOUCH_PAD3_DRV_M ((RTC_IO_TOUCH_PAD3_DRV_V)<<(RTC_IO_TOUCH_PAD3_DRV_S)) +#define RTC_IO_TOUCH_PAD3_DRV_V 0x3 +#define RTC_IO_TOUCH_PAD3_DRV_S 29 +/* RTC_IO_TOUCH_PAD3_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_TOUCH_PAD3_RDE (BIT(28)) +#define RTC_IO_TOUCH_PAD3_RDE_M (BIT(28)) +#define RTC_IO_TOUCH_PAD3_RDE_V 0x1 +#define RTC_IO_TOUCH_PAD3_RDE_S 28 +/* RTC_IO_TOUCH_PAD3_RUE : R/W ;bitpos:[27] ;default: 1'd1 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_TOUCH_PAD3_RUE (BIT(27)) +#define RTC_IO_TOUCH_PAD3_RUE_M (BIT(27)) +#define RTC_IO_TOUCH_PAD3_RUE_V 0x1 +#define RTC_IO_TOUCH_PAD3_RUE_S 27 +/* RTC_IO_TOUCH_PAD3_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ +/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ +#define RTC_IO_TOUCH_PAD3_DAC 0x00000007 +#define RTC_IO_TOUCH_PAD3_DAC_M ((RTC_IO_TOUCH_PAD3_DAC_V)<<(RTC_IO_TOUCH_PAD3_DAC_S)) +#define RTC_IO_TOUCH_PAD3_DAC_V 0x7 +#define RTC_IO_TOUCH_PAD3_DAC_S 23 +/* RTC_IO_TOUCH_PAD3_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: start touch sensor.*/ +#define RTC_IO_TOUCH_PAD3_START (BIT(22)) +#define RTC_IO_TOUCH_PAD3_START_M (BIT(22)) +#define RTC_IO_TOUCH_PAD3_START_V 0x1 +#define RTC_IO_TOUCH_PAD3_START_S 22 +/* RTC_IO_TOUCH_PAD3_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ +#define RTC_IO_TOUCH_PAD3_TIE_OPT (BIT(21)) +#define RTC_IO_TOUCH_PAD3_TIE_OPT_M (BIT(21)) +#define RTC_IO_TOUCH_PAD3_TIE_OPT_V 0x1 +#define RTC_IO_TOUCH_PAD3_TIE_OPT_S 21 +/* RTC_IO_TOUCH_PAD3_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: touch sensor power on.*/ +#define RTC_IO_TOUCH_PAD3_XPD (BIT(20)) +#define RTC_IO_TOUCH_PAD3_XPD_M (BIT(20)) +#define RTC_IO_TOUCH_PAD3_XPD_V 0x1 +#define RTC_IO_TOUCH_PAD3_XPD_S 20 +/* RTC_IO_TOUCH_PAD3_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_TOUCH_PAD3_MUX_SEL (BIT(19)) +#define RTC_IO_TOUCH_PAD3_MUX_SEL_M (BIT(19)) +#define RTC_IO_TOUCH_PAD3_MUX_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD3_MUX_SEL_S 19 +/* RTC_IO_TOUCH_PAD3_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD3_FUN_SEL 0x00000003 +#define RTC_IO_TOUCH_PAD3_FUN_SEL_M ((RTC_IO_TOUCH_PAD3_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD3_FUN_SEL_S)) +#define RTC_IO_TOUCH_PAD3_FUN_SEL_V 0x3 +#define RTC_IO_TOUCH_PAD3_FUN_SEL_S 17 +/* RTC_IO_TOUCH_PAD3_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD3_SLP_SEL (BIT(16)) +#define RTC_IO_TOUCH_PAD3_SLP_SEL_M (BIT(16)) +#define RTC_IO_TOUCH_PAD3_SLP_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD3_SLP_SEL_S 16 +/* RTC_IO_TOUCH_PAD3_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD3_SLP_IE (BIT(15)) +#define RTC_IO_TOUCH_PAD3_SLP_IE_M (BIT(15)) +#define RTC_IO_TOUCH_PAD3_SLP_IE_V 0x1 +#define RTC_IO_TOUCH_PAD3_SLP_IE_S 15 +/* RTC_IO_TOUCH_PAD3_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD3_SLP_OE (BIT(14)) +#define RTC_IO_TOUCH_PAD3_SLP_OE_M (BIT(14)) +#define RTC_IO_TOUCH_PAD3_SLP_OE_V 0x1 +#define RTC_IO_TOUCH_PAD3_SLP_OE_S 14 +/* RTC_IO_TOUCH_PAD3_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_TOUCH_PAD3_FUN_IE (BIT(13)) +#define RTC_IO_TOUCH_PAD3_FUN_IE_M (BIT(13)) +#define RTC_IO_TOUCH_PAD3_FUN_IE_V 0x1 +#define RTC_IO_TOUCH_PAD3_FUN_IE_S 13 +/* RTC_IO_TOUCH_PAD3_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.MTDO*/ +#define RTC_IO_TOUCH_PAD3_TO_GPIO (BIT(12)) +#define RTC_IO_TOUCH_PAD3_TO_GPIO_M (BIT(12)) +#define RTC_IO_TOUCH_PAD3_TO_GPIO_V 0x1 +#define RTC_IO_TOUCH_PAD3_TO_GPIO_S 12 + +#define RTC_IO_TOUCH_PAD4_REG (DR_REG_RTCIO_BASE + 0xa4) +/* RTC_IO_TOUCH_PAD4_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_TOUCH_PAD4_HOLD (BIT(31)) +#define RTC_IO_TOUCH_PAD4_HOLD_M (BIT(31)) +#define RTC_IO_TOUCH_PAD4_HOLD_V 0x1 +#define RTC_IO_TOUCH_PAD4_HOLD_S 31 +/* RTC_IO_TOUCH_PAD4_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_TOUCH_PAD4_DRV 0x00000003 +#define RTC_IO_TOUCH_PAD4_DRV_M ((RTC_IO_TOUCH_PAD4_DRV_V)<<(RTC_IO_TOUCH_PAD4_DRV_S)) +#define RTC_IO_TOUCH_PAD4_DRV_V 0x3 +#define RTC_IO_TOUCH_PAD4_DRV_S 29 +/* RTC_IO_TOUCH_PAD4_RDE : R/W ;bitpos:[28] ;default: 1'd1 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_TOUCH_PAD4_RDE (BIT(28)) +#define RTC_IO_TOUCH_PAD4_RDE_M (BIT(28)) +#define RTC_IO_TOUCH_PAD4_RDE_V 0x1 +#define RTC_IO_TOUCH_PAD4_RDE_S 28 +/* RTC_IO_TOUCH_PAD4_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_TOUCH_PAD4_RUE (BIT(27)) +#define RTC_IO_TOUCH_PAD4_RUE_M (BIT(27)) +#define RTC_IO_TOUCH_PAD4_RUE_V 0x1 +#define RTC_IO_TOUCH_PAD4_RUE_S 27 +/* RTC_IO_TOUCH_PAD4_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ +/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ +#define RTC_IO_TOUCH_PAD4_DAC 0x00000007 +#define RTC_IO_TOUCH_PAD4_DAC_M ((RTC_IO_TOUCH_PAD4_DAC_V)<<(RTC_IO_TOUCH_PAD4_DAC_S)) +#define RTC_IO_TOUCH_PAD4_DAC_V 0x7 +#define RTC_IO_TOUCH_PAD4_DAC_S 23 +/* RTC_IO_TOUCH_PAD4_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: start touch sensor.*/ +#define RTC_IO_TOUCH_PAD4_START (BIT(22)) +#define RTC_IO_TOUCH_PAD4_START_M (BIT(22)) +#define RTC_IO_TOUCH_PAD4_START_V 0x1 +#define RTC_IO_TOUCH_PAD4_START_S 22 +/* RTC_IO_TOUCH_PAD4_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ +#define RTC_IO_TOUCH_PAD4_TIE_OPT (BIT(21)) +#define RTC_IO_TOUCH_PAD4_TIE_OPT_M (BIT(21)) +#define RTC_IO_TOUCH_PAD4_TIE_OPT_V 0x1 +#define RTC_IO_TOUCH_PAD4_TIE_OPT_S 21 +/* RTC_IO_TOUCH_PAD4_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: touch sensor power on.*/ +#define RTC_IO_TOUCH_PAD4_XPD (BIT(20)) +#define RTC_IO_TOUCH_PAD4_XPD_M (BIT(20)) +#define RTC_IO_TOUCH_PAD4_XPD_V 0x1 +#define RTC_IO_TOUCH_PAD4_XPD_S 20 +/* RTC_IO_TOUCH_PAD4_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_TOUCH_PAD4_MUX_SEL (BIT(19)) +#define RTC_IO_TOUCH_PAD4_MUX_SEL_M (BIT(19)) +#define RTC_IO_TOUCH_PAD4_MUX_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD4_MUX_SEL_S 19 +/* RTC_IO_TOUCH_PAD4_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD4_FUN_SEL 0x00000003 +#define RTC_IO_TOUCH_PAD4_FUN_SEL_M ((RTC_IO_TOUCH_PAD4_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD4_FUN_SEL_S)) +#define RTC_IO_TOUCH_PAD4_FUN_SEL_V 0x3 +#define RTC_IO_TOUCH_PAD4_FUN_SEL_S 17 +/* RTC_IO_TOUCH_PAD4_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD4_SLP_SEL (BIT(16)) +#define RTC_IO_TOUCH_PAD4_SLP_SEL_M (BIT(16)) +#define RTC_IO_TOUCH_PAD4_SLP_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD4_SLP_SEL_S 16 +/* RTC_IO_TOUCH_PAD4_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD4_SLP_IE (BIT(15)) +#define RTC_IO_TOUCH_PAD4_SLP_IE_M (BIT(15)) +#define RTC_IO_TOUCH_PAD4_SLP_IE_V 0x1 +#define RTC_IO_TOUCH_PAD4_SLP_IE_S 15 +/* RTC_IO_TOUCH_PAD4_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD4_SLP_OE (BIT(14)) +#define RTC_IO_TOUCH_PAD4_SLP_OE_M (BIT(14)) +#define RTC_IO_TOUCH_PAD4_SLP_OE_V 0x1 +#define RTC_IO_TOUCH_PAD4_SLP_OE_S 14 +/* RTC_IO_TOUCH_PAD4_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_TOUCH_PAD4_FUN_IE (BIT(13)) +#define RTC_IO_TOUCH_PAD4_FUN_IE_M (BIT(13)) +#define RTC_IO_TOUCH_PAD4_FUN_IE_V 0x1 +#define RTC_IO_TOUCH_PAD4_FUN_IE_S 13 +/* RTC_IO_TOUCH_PAD4_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.MTCK*/ +#define RTC_IO_TOUCH_PAD4_TO_GPIO (BIT(12)) +#define RTC_IO_TOUCH_PAD4_TO_GPIO_M (BIT(12)) +#define RTC_IO_TOUCH_PAD4_TO_GPIO_V 0x1 +#define RTC_IO_TOUCH_PAD4_TO_GPIO_S 12 + +#define RTC_IO_TOUCH_PAD5_REG (DR_REG_RTCIO_BASE + 0xa8) +/* RTC_IO_TOUCH_PAD5_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_TOUCH_PAD5_HOLD (BIT(31)) +#define RTC_IO_TOUCH_PAD5_HOLD_M (BIT(31)) +#define RTC_IO_TOUCH_PAD5_HOLD_V 0x1 +#define RTC_IO_TOUCH_PAD5_HOLD_S 31 +/* RTC_IO_TOUCH_PAD5_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_TOUCH_PAD5_DRV 0x00000003 +#define RTC_IO_TOUCH_PAD5_DRV_M ((RTC_IO_TOUCH_PAD5_DRV_V)<<(RTC_IO_TOUCH_PAD5_DRV_S)) +#define RTC_IO_TOUCH_PAD5_DRV_V 0x3 +#define RTC_IO_TOUCH_PAD5_DRV_S 29 +/* RTC_IO_TOUCH_PAD5_RDE : R/W ;bitpos:[28] ;default: 1'd1 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_TOUCH_PAD5_RDE (BIT(28)) +#define RTC_IO_TOUCH_PAD5_RDE_M (BIT(28)) +#define RTC_IO_TOUCH_PAD5_RDE_V 0x1 +#define RTC_IO_TOUCH_PAD5_RDE_S 28 +/* RTC_IO_TOUCH_PAD5_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_TOUCH_PAD5_RUE (BIT(27)) +#define RTC_IO_TOUCH_PAD5_RUE_M (BIT(27)) +#define RTC_IO_TOUCH_PAD5_RUE_V 0x1 +#define RTC_IO_TOUCH_PAD5_RUE_S 27 +/* RTC_IO_TOUCH_PAD5_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ +/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ +#define RTC_IO_TOUCH_PAD5_DAC 0x00000007 +#define RTC_IO_TOUCH_PAD5_DAC_M ((RTC_IO_TOUCH_PAD5_DAC_V)<<(RTC_IO_TOUCH_PAD5_DAC_S)) +#define RTC_IO_TOUCH_PAD5_DAC_V 0x7 +#define RTC_IO_TOUCH_PAD5_DAC_S 23 +/* RTC_IO_TOUCH_PAD5_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: start touch sensor.*/ +#define RTC_IO_TOUCH_PAD5_START (BIT(22)) +#define RTC_IO_TOUCH_PAD5_START_M (BIT(22)) +#define RTC_IO_TOUCH_PAD5_START_V 0x1 +#define RTC_IO_TOUCH_PAD5_START_S 22 +/* RTC_IO_TOUCH_PAD5_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ +#define RTC_IO_TOUCH_PAD5_TIE_OPT (BIT(21)) +#define RTC_IO_TOUCH_PAD5_TIE_OPT_M (BIT(21)) +#define RTC_IO_TOUCH_PAD5_TIE_OPT_V 0x1 +#define RTC_IO_TOUCH_PAD5_TIE_OPT_S 21 +/* RTC_IO_TOUCH_PAD5_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: touch sensor power on.*/ +#define RTC_IO_TOUCH_PAD5_XPD (BIT(20)) +#define RTC_IO_TOUCH_PAD5_XPD_M (BIT(20)) +#define RTC_IO_TOUCH_PAD5_XPD_V 0x1 +#define RTC_IO_TOUCH_PAD5_XPD_S 20 +/* RTC_IO_TOUCH_PAD5_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_TOUCH_PAD5_MUX_SEL (BIT(19)) +#define RTC_IO_TOUCH_PAD5_MUX_SEL_M (BIT(19)) +#define RTC_IO_TOUCH_PAD5_MUX_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD5_MUX_SEL_S 19 +/* RTC_IO_TOUCH_PAD5_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD5_FUN_SEL 0x00000003 +#define RTC_IO_TOUCH_PAD5_FUN_SEL_M ((RTC_IO_TOUCH_PAD5_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD5_FUN_SEL_S)) +#define RTC_IO_TOUCH_PAD5_FUN_SEL_V 0x3 +#define RTC_IO_TOUCH_PAD5_FUN_SEL_S 17 +/* RTC_IO_TOUCH_PAD5_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD5_SLP_SEL (BIT(16)) +#define RTC_IO_TOUCH_PAD5_SLP_SEL_M (BIT(16)) +#define RTC_IO_TOUCH_PAD5_SLP_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD5_SLP_SEL_S 16 +/* RTC_IO_TOUCH_PAD5_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD5_SLP_IE (BIT(15)) +#define RTC_IO_TOUCH_PAD5_SLP_IE_M (BIT(15)) +#define RTC_IO_TOUCH_PAD5_SLP_IE_V 0x1 +#define RTC_IO_TOUCH_PAD5_SLP_IE_S 15 +/* RTC_IO_TOUCH_PAD5_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD5_SLP_OE (BIT(14)) +#define RTC_IO_TOUCH_PAD5_SLP_OE_M (BIT(14)) +#define RTC_IO_TOUCH_PAD5_SLP_OE_V 0x1 +#define RTC_IO_TOUCH_PAD5_SLP_OE_S 14 +/* RTC_IO_TOUCH_PAD5_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_TOUCH_PAD5_FUN_IE (BIT(13)) +#define RTC_IO_TOUCH_PAD5_FUN_IE_M (BIT(13)) +#define RTC_IO_TOUCH_PAD5_FUN_IE_V 0x1 +#define RTC_IO_TOUCH_PAD5_FUN_IE_S 13 +/* RTC_IO_TOUCH_PAD5_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.MTDI*/ +#define RTC_IO_TOUCH_PAD5_TO_GPIO (BIT(12)) +#define RTC_IO_TOUCH_PAD5_TO_GPIO_M (BIT(12)) +#define RTC_IO_TOUCH_PAD5_TO_GPIO_V 0x1 +#define RTC_IO_TOUCH_PAD5_TO_GPIO_S 12 + +#define RTC_IO_TOUCH_PAD6_REG (DR_REG_RTCIO_BASE + 0xac) +/* RTC_IO_TOUCH_PAD6_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_TOUCH_PAD6_HOLD (BIT(31)) +#define RTC_IO_TOUCH_PAD6_HOLD_M (BIT(31)) +#define RTC_IO_TOUCH_PAD6_HOLD_V 0x1 +#define RTC_IO_TOUCH_PAD6_HOLD_S 31 +/* RTC_IO_TOUCH_PAD6_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_TOUCH_PAD6_DRV 0x00000003 +#define RTC_IO_TOUCH_PAD6_DRV_M ((RTC_IO_TOUCH_PAD6_DRV_V)<<(RTC_IO_TOUCH_PAD6_DRV_S)) +#define RTC_IO_TOUCH_PAD6_DRV_V 0x3 +#define RTC_IO_TOUCH_PAD6_DRV_S 29 +/* RTC_IO_TOUCH_PAD6_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_TOUCH_PAD6_RDE (BIT(28)) +#define RTC_IO_TOUCH_PAD6_RDE_M (BIT(28)) +#define RTC_IO_TOUCH_PAD6_RDE_V 0x1 +#define RTC_IO_TOUCH_PAD6_RDE_S 28 +/* RTC_IO_TOUCH_PAD6_RUE : R/W ;bitpos:[27] ;default: 1'd1 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_TOUCH_PAD6_RUE (BIT(27)) +#define RTC_IO_TOUCH_PAD6_RUE_M (BIT(27)) +#define RTC_IO_TOUCH_PAD6_RUE_V 0x1 +#define RTC_IO_TOUCH_PAD6_RUE_S 27 +/* RTC_IO_TOUCH_PAD6_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ +/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ +#define RTC_IO_TOUCH_PAD6_DAC 0x00000007 +#define RTC_IO_TOUCH_PAD6_DAC_M ((RTC_IO_TOUCH_PAD6_DAC_V)<<(RTC_IO_TOUCH_PAD6_DAC_S)) +#define RTC_IO_TOUCH_PAD6_DAC_V 0x7 +#define RTC_IO_TOUCH_PAD6_DAC_S 23 +/* RTC_IO_TOUCH_PAD6_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: start touch sensor.*/ +#define RTC_IO_TOUCH_PAD6_START (BIT(22)) +#define RTC_IO_TOUCH_PAD6_START_M (BIT(22)) +#define RTC_IO_TOUCH_PAD6_START_V 0x1 +#define RTC_IO_TOUCH_PAD6_START_S 22 +/* RTC_IO_TOUCH_PAD6_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ +#define RTC_IO_TOUCH_PAD6_TIE_OPT (BIT(21)) +#define RTC_IO_TOUCH_PAD6_TIE_OPT_M (BIT(21)) +#define RTC_IO_TOUCH_PAD6_TIE_OPT_V 0x1 +#define RTC_IO_TOUCH_PAD6_TIE_OPT_S 21 +/* RTC_IO_TOUCH_PAD6_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: touch sensor power on.*/ +#define RTC_IO_TOUCH_PAD6_XPD (BIT(20)) +#define RTC_IO_TOUCH_PAD6_XPD_M (BIT(20)) +#define RTC_IO_TOUCH_PAD6_XPD_V 0x1 +#define RTC_IO_TOUCH_PAD6_XPD_S 20 +/* RTC_IO_TOUCH_PAD6_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_TOUCH_PAD6_MUX_SEL (BIT(19)) +#define RTC_IO_TOUCH_PAD6_MUX_SEL_M (BIT(19)) +#define RTC_IO_TOUCH_PAD6_MUX_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD6_MUX_SEL_S 19 +/* RTC_IO_TOUCH_PAD6_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD6_FUN_SEL 0x00000003 +#define RTC_IO_TOUCH_PAD6_FUN_SEL_M ((RTC_IO_TOUCH_PAD6_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD6_FUN_SEL_S)) +#define RTC_IO_TOUCH_PAD6_FUN_SEL_V 0x3 +#define RTC_IO_TOUCH_PAD6_FUN_SEL_S 17 +/* RTC_IO_TOUCH_PAD6_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD6_SLP_SEL (BIT(16)) +#define RTC_IO_TOUCH_PAD6_SLP_SEL_M (BIT(16)) +#define RTC_IO_TOUCH_PAD6_SLP_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD6_SLP_SEL_S 16 +/* RTC_IO_TOUCH_PAD6_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD6_SLP_IE (BIT(15)) +#define RTC_IO_TOUCH_PAD6_SLP_IE_M (BIT(15)) +#define RTC_IO_TOUCH_PAD6_SLP_IE_V 0x1 +#define RTC_IO_TOUCH_PAD6_SLP_IE_S 15 +/* RTC_IO_TOUCH_PAD6_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD6_SLP_OE (BIT(14)) +#define RTC_IO_TOUCH_PAD6_SLP_OE_M (BIT(14)) +#define RTC_IO_TOUCH_PAD6_SLP_OE_V 0x1 +#define RTC_IO_TOUCH_PAD6_SLP_OE_S 14 +/* RTC_IO_TOUCH_PAD6_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_TOUCH_PAD6_FUN_IE (BIT(13)) +#define RTC_IO_TOUCH_PAD6_FUN_IE_M (BIT(13)) +#define RTC_IO_TOUCH_PAD6_FUN_IE_V 0x1 +#define RTC_IO_TOUCH_PAD6_FUN_IE_S 13 +/* RTC_IO_TOUCH_PAD6_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.MTMS*/ +#define RTC_IO_TOUCH_PAD6_TO_GPIO (BIT(12)) +#define RTC_IO_TOUCH_PAD6_TO_GPIO_M (BIT(12)) +#define RTC_IO_TOUCH_PAD6_TO_GPIO_V 0x1 +#define RTC_IO_TOUCH_PAD6_TO_GPIO_S 12 + +#define RTC_IO_TOUCH_PAD7_REG (DR_REG_RTCIO_BASE + 0xb0) +/* RTC_IO_TOUCH_PAD7_HOLD : R/W ;bitpos:[31] ;default: 1'd0 ; */ +/*description: hold the current value of the output when setting the hold to Ò1Ó*/ +#define RTC_IO_TOUCH_PAD7_HOLD (BIT(31)) +#define RTC_IO_TOUCH_PAD7_HOLD_M (BIT(31)) +#define RTC_IO_TOUCH_PAD7_HOLD_V 0x1 +#define RTC_IO_TOUCH_PAD7_HOLD_S 31 +/* RTC_IO_TOUCH_PAD7_DRV : R/W ;bitpos:[30:29] ;default: 2'd2 ; */ +/*description: the driver strength of the pad*/ +#define RTC_IO_TOUCH_PAD7_DRV 0x00000003 +#define RTC_IO_TOUCH_PAD7_DRV_M ((RTC_IO_TOUCH_PAD7_DRV_V)<<(RTC_IO_TOUCH_PAD7_DRV_S)) +#define RTC_IO_TOUCH_PAD7_DRV_V 0x3 +#define RTC_IO_TOUCH_PAD7_DRV_S 29 +/* RTC_IO_TOUCH_PAD7_RDE : R/W ;bitpos:[28] ;default: 1'd0 ; */ +/*description: the pull down enable of the pad*/ +#define RTC_IO_TOUCH_PAD7_RDE (BIT(28)) +#define RTC_IO_TOUCH_PAD7_RDE_M (BIT(28)) +#define RTC_IO_TOUCH_PAD7_RDE_V 0x1 +#define RTC_IO_TOUCH_PAD7_RDE_S 28 +/* RTC_IO_TOUCH_PAD7_RUE : R/W ;bitpos:[27] ;default: 1'd0 ; */ +/*description: the pull up enable of the pad*/ +#define RTC_IO_TOUCH_PAD7_RUE (BIT(27)) +#define RTC_IO_TOUCH_PAD7_RUE_M (BIT(27)) +#define RTC_IO_TOUCH_PAD7_RUE_V 0x1 +#define RTC_IO_TOUCH_PAD7_RUE_S 27 +/* RTC_IO_TOUCH_PAD7_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ +/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ +#define RTC_IO_TOUCH_PAD7_DAC 0x00000007 +#define RTC_IO_TOUCH_PAD7_DAC_M ((RTC_IO_TOUCH_PAD7_DAC_V)<<(RTC_IO_TOUCH_PAD7_DAC_S)) +#define RTC_IO_TOUCH_PAD7_DAC_V 0x7 +#define RTC_IO_TOUCH_PAD7_DAC_S 23 +/* RTC_IO_TOUCH_PAD7_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: start touch sensor.*/ +#define RTC_IO_TOUCH_PAD7_START (BIT(22)) +#define RTC_IO_TOUCH_PAD7_START_M (BIT(22)) +#define RTC_IO_TOUCH_PAD7_START_V 0x1 +#define RTC_IO_TOUCH_PAD7_START_S 22 +/* RTC_IO_TOUCH_PAD7_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ +#define RTC_IO_TOUCH_PAD7_TIE_OPT (BIT(21)) +#define RTC_IO_TOUCH_PAD7_TIE_OPT_M (BIT(21)) +#define RTC_IO_TOUCH_PAD7_TIE_OPT_V 0x1 +#define RTC_IO_TOUCH_PAD7_TIE_OPT_S 21 +/* RTC_IO_TOUCH_PAD7_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: touch sensor power on.*/ +#define RTC_IO_TOUCH_PAD7_XPD (BIT(20)) +#define RTC_IO_TOUCH_PAD7_XPD_M (BIT(20)) +#define RTC_IO_TOUCH_PAD7_XPD_V 0x1 +#define RTC_IO_TOUCH_PAD7_XPD_S 20 +/* RTC_IO_TOUCH_PAD7_MUX_SEL : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: Ò1Ó select the digital function Ó0Óslection the rtc function*/ +#define RTC_IO_TOUCH_PAD7_MUX_SEL (BIT(19)) +#define RTC_IO_TOUCH_PAD7_MUX_SEL_M (BIT(19)) +#define RTC_IO_TOUCH_PAD7_MUX_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD7_MUX_SEL_S 19 +/* RTC_IO_TOUCH_PAD7_FUN_SEL : R/W ;bitpos:[18:17] ;default: 2'd0 ; */ +/*description: the functional selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD7_FUN_SEL 0x00000003 +#define RTC_IO_TOUCH_PAD7_FUN_SEL_M ((RTC_IO_TOUCH_PAD7_FUN_SEL_V)<<(RTC_IO_TOUCH_PAD7_FUN_SEL_S)) +#define RTC_IO_TOUCH_PAD7_FUN_SEL_V 0x3 +#define RTC_IO_TOUCH_PAD7_FUN_SEL_S 17 +/* RTC_IO_TOUCH_PAD7_SLP_SEL : R/W ;bitpos:[16] ;default: 1'd0 ; */ +/*description: the sleep status selection signal of the pad*/ +#define RTC_IO_TOUCH_PAD7_SLP_SEL (BIT(16)) +#define RTC_IO_TOUCH_PAD7_SLP_SEL_M (BIT(16)) +#define RTC_IO_TOUCH_PAD7_SLP_SEL_V 0x1 +#define RTC_IO_TOUCH_PAD7_SLP_SEL_S 16 +/* RTC_IO_TOUCH_PAD7_SLP_IE : R/W ;bitpos:[15] ;default: 1'd0 ; */ +/*description: the input enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD7_SLP_IE (BIT(15)) +#define RTC_IO_TOUCH_PAD7_SLP_IE_M (BIT(15)) +#define RTC_IO_TOUCH_PAD7_SLP_IE_V 0x1 +#define RTC_IO_TOUCH_PAD7_SLP_IE_S 15 +/* RTC_IO_TOUCH_PAD7_SLP_OE : R/W ;bitpos:[14] ;default: 1'd0 ; */ +/*description: the output enable of the pad in sleep status*/ +#define RTC_IO_TOUCH_PAD7_SLP_OE (BIT(14)) +#define RTC_IO_TOUCH_PAD7_SLP_OE_M (BIT(14)) +#define RTC_IO_TOUCH_PAD7_SLP_OE_V 0x1 +#define RTC_IO_TOUCH_PAD7_SLP_OE_S 14 +/* RTC_IO_TOUCH_PAD7_FUN_IE : R/W ;bitpos:[13] ;default: 1'd0 ; */ +/*description: the input enable of the pad*/ +#define RTC_IO_TOUCH_PAD7_FUN_IE (BIT(13)) +#define RTC_IO_TOUCH_PAD7_FUN_IE_M (BIT(13)) +#define RTC_IO_TOUCH_PAD7_FUN_IE_V 0x1 +#define RTC_IO_TOUCH_PAD7_FUN_IE_S 13 +/* RTC_IO_TOUCH_PAD7_TO_GPIO : R/W ;bitpos:[12] ;default: 1'd0 ; */ +/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale.GPIO27*/ +#define RTC_IO_TOUCH_PAD7_TO_GPIO (BIT(12)) +#define RTC_IO_TOUCH_PAD7_TO_GPIO_M (BIT(12)) +#define RTC_IO_TOUCH_PAD7_TO_GPIO_V 0x1 +#define RTC_IO_TOUCH_PAD7_TO_GPIO_S 12 + +#define RTC_IO_TOUCH_PAD8_REG (DR_REG_RTCIO_BASE + 0xb4) +/* RTC_IO_TOUCH_PAD8_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ +/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ +#define RTC_IO_TOUCH_PAD8_DAC 0x00000007 +#define RTC_IO_TOUCH_PAD8_DAC_M ((RTC_IO_TOUCH_PAD8_DAC_V)<<(RTC_IO_TOUCH_PAD8_DAC_S)) +#define RTC_IO_TOUCH_PAD8_DAC_V 0x7 +#define RTC_IO_TOUCH_PAD8_DAC_S 23 +/* RTC_IO_TOUCH_PAD8_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: start touch sensor.*/ +#define RTC_IO_TOUCH_PAD8_START (BIT(22)) +#define RTC_IO_TOUCH_PAD8_START_M (BIT(22)) +#define RTC_IO_TOUCH_PAD8_START_V 0x1 +#define RTC_IO_TOUCH_PAD8_START_S 22 +/* RTC_IO_TOUCH_PAD8_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ +#define RTC_IO_TOUCH_PAD8_TIE_OPT (BIT(21)) +#define RTC_IO_TOUCH_PAD8_TIE_OPT_M (BIT(21)) +#define RTC_IO_TOUCH_PAD8_TIE_OPT_V 0x1 +#define RTC_IO_TOUCH_PAD8_TIE_OPT_S 21 +/* RTC_IO_TOUCH_PAD8_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: touch sensor power on.*/ +#define RTC_IO_TOUCH_PAD8_XPD (BIT(20)) +#define RTC_IO_TOUCH_PAD8_XPD_M (BIT(20)) +#define RTC_IO_TOUCH_PAD8_XPD_V 0x1 +#define RTC_IO_TOUCH_PAD8_XPD_S 20 +/* RTC_IO_TOUCH_PAD8_TO_GPIO : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale*/ +#define RTC_IO_TOUCH_PAD8_TO_GPIO (BIT(19)) +#define RTC_IO_TOUCH_PAD8_TO_GPIO_M (BIT(19)) +#define RTC_IO_TOUCH_PAD8_TO_GPIO_V 0x1 +#define RTC_IO_TOUCH_PAD8_TO_GPIO_S 19 + +#define RTC_IO_TOUCH_PAD9_REG (DR_REG_RTCIO_BASE + 0xb8) +/* RTC_IO_TOUCH_PAD9_DAC : R/W ;bitpos:[25:23] ;default: 3'h4 ; */ +/*description: touch sensor slope control. 3-bit for each touch panel default 100.*/ +#define RTC_IO_TOUCH_PAD9_DAC 0x00000007 +#define RTC_IO_TOUCH_PAD9_DAC_M ((RTC_IO_TOUCH_PAD9_DAC_V)<<(RTC_IO_TOUCH_PAD9_DAC_S)) +#define RTC_IO_TOUCH_PAD9_DAC_V 0x7 +#define RTC_IO_TOUCH_PAD9_DAC_S 23 +/* RTC_IO_TOUCH_PAD9_START : R/W ;bitpos:[22] ;default: 1'd0 ; */ +/*description: start touch sensor.*/ +#define RTC_IO_TOUCH_PAD9_START (BIT(22)) +#define RTC_IO_TOUCH_PAD9_START_M (BIT(22)) +#define RTC_IO_TOUCH_PAD9_START_V 0x1 +#define RTC_IO_TOUCH_PAD9_START_S 22 +/* RTC_IO_TOUCH_PAD9_TIE_OPT : R/W ;bitpos:[21] ;default: 1'd0 ; */ +/*description: default touch sensor tie option. 0: tie low 1: tie high.*/ +#define RTC_IO_TOUCH_PAD9_TIE_OPT (BIT(21)) +#define RTC_IO_TOUCH_PAD9_TIE_OPT_M (BIT(21)) +#define RTC_IO_TOUCH_PAD9_TIE_OPT_V 0x1 +#define RTC_IO_TOUCH_PAD9_TIE_OPT_S 21 +/* RTC_IO_TOUCH_PAD9_XPD : R/W ;bitpos:[20] ;default: 1'd0 ; */ +/*description: touch sensor power on.*/ +#define RTC_IO_TOUCH_PAD9_XPD (BIT(20)) +#define RTC_IO_TOUCH_PAD9_XPD_M (BIT(20)) +#define RTC_IO_TOUCH_PAD9_XPD_V 0x1 +#define RTC_IO_TOUCH_PAD9_XPD_S 20 +/* RTC_IO_TOUCH_PAD9_TO_GPIO : R/W ;bitpos:[19] ;default: 1'd0 ; */ +/*description: connect the rtc pad input to digital pad input Ó0Ó is availbale*/ +#define RTC_IO_TOUCH_PAD9_TO_GPIO (BIT(19)) +#define RTC_IO_TOUCH_PAD9_TO_GPIO_M (BIT(19)) +#define RTC_IO_TOUCH_PAD9_TO_GPIO_V 0x1 +#define RTC_IO_TOUCH_PAD9_TO_GPIO_S 19 + +#define RTC_IO_EXT_WAKEUP0_REG (DR_REG_RTCIO_BASE + 0xbc) +/* RTC_IO_EXT_WAKEUP0_SEL : R/W ;bitpos:[31:27] ;default: 5'd0 ; */ +/*description: select the wakeup source Ó0Ó select GPIO0 Ó1Ó select GPIO2 ...Ò17Ó select GPIO17*/ +#define RTC_IO_EXT_WAKEUP0_SEL 0x0000001F +#define RTC_IO_EXT_WAKEUP0_SEL_M ((RTC_IO_EXT_WAKEUP0_SEL_V)<<(RTC_IO_EXT_WAKEUP0_SEL_S)) +#define RTC_IO_EXT_WAKEUP0_SEL_V 0x1F +#define RTC_IO_EXT_WAKEUP0_SEL_S 27 + +#define RTC_IO_XTL_EXT_CTR_REG (DR_REG_RTCIO_BASE + 0xc0) +/* RTC_IO_XTL_EXT_CTR_SEL : R/W ;bitpos:[31:27] ;default: 5'd0 ; */ +/*description: select the external xtl power source Ó0Ó select GPIO0 Ó1Ó select + GPIO2 ...Ò17Ó select GPIO17*/ +#define RTC_IO_XTL_EXT_CTR_SEL 0x0000001F +#define RTC_IO_XTL_EXT_CTR_SEL_M ((RTC_IO_XTL_EXT_CTR_SEL_V)<<(RTC_IO_XTL_EXT_CTR_SEL_S)) +#define RTC_IO_XTL_EXT_CTR_SEL_V 0x1F +#define RTC_IO_XTL_EXT_CTR_SEL_S 27 + +#define RTC_IO_SAR_I2C_IO_REG (DR_REG_RTCIO_BASE + 0xc4) +/* RTC_IO_SAR_I2C_SDA_SEL : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ +/*description: Ò0Ó using TOUCH_PAD[1] as i2c sda Ò1Ó using TOUCH_PAD[3] as i2c sda*/ +#define RTC_IO_SAR_I2C_SDA_SEL 0x00000003 +#define RTC_IO_SAR_I2C_SDA_SEL_M ((RTC_IO_SAR_I2C_SDA_SEL_V)<<(RTC_IO_SAR_I2C_SDA_SEL_S)) +#define RTC_IO_SAR_I2C_SDA_SEL_V 0x3 +#define RTC_IO_SAR_I2C_SDA_SEL_S 30 +/* RTC_IO_SAR_I2C_SCL_SEL : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ +/*description: Ò0Ó using TOUCH_PAD[0] as i2c clk Ò1Ó using TOUCH_PAD[2] as i2c clk*/ +#define RTC_IO_SAR_I2C_SCL_SEL 0x00000003 +#define RTC_IO_SAR_I2C_SCL_SEL_M ((RTC_IO_SAR_I2C_SCL_SEL_V)<<(RTC_IO_SAR_I2C_SCL_SEL_S)) +#define RTC_IO_SAR_I2C_SCL_SEL_V 0x3 +#define RTC_IO_SAR_I2C_SCL_SEL_S 28 +/* RTC_IO_SAR_DEBUG_BIT_SEL : R/W ;bitpos:[27:23] ;default: 5'h0 ; */ +/*description: */ +#define RTC_IO_SAR_DEBUG_BIT_SEL 0x0000001F +#define RTC_IO_SAR_DEBUG_BIT_SEL_M ((RTC_IO_SAR_DEBUG_BIT_SEL_V)<<(RTC_IO_SAR_DEBUG_BIT_SEL_S)) +#define RTC_IO_SAR_DEBUG_BIT_SEL_V 0x1F +#define RTC_IO_SAR_DEBUG_BIT_SEL_S 23 + +#define RTC_IO_DATE_REG (DR_REG_RTCIO_BASE + 0xc8) +/* RTC_IO_IO_DATE : R/W ;bitpos:[27:0] ;default: 28'h1603160 ; */ +/*description: date*/ +#define RTC_IO_IO_DATE 0x0FFFFFFF +#define RTC_IO_IO_DATE_M ((RTC_IO_IO_DATE_V)<<(RTC_IO_IO_DATE_S)) +#define RTC_IO_IO_DATE_V 0xFFFFFFF +#define RTC_IO_IO_DATE_S 0 +#define RTC_IO_RTC_IO_DATE_VERSION 0x1703160 + + + + +#endif /*_SOC_RTC_IO_REG_H_ */ + + diff --git a/tools/sdk/include/esp32/soc/saradc_reg.h b/tools/sdk/include/esp32/soc/saradc_reg.h deleted file mode 100644 index 51903297..00000000 --- a/tools/sdk/include/esp32/soc/saradc_reg.h +++ /dev/null @@ -1,1047 +0,0 @@ -// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at - -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#ifndef _SOC_SARADC_REG_H_ -#define _SOC_SARADC_REG_H_ - - -#include "soc.h" -#define SARADC_SAR_READ_CTRL_REG (DR_REG_SARADC_BASE + 0x0000) -/* SARADC_SAR1_DATA_INV : R/W ;bitpos:[28] ;default: 1'd0 ; */ -/*description: Invert SAR ADC1 data*/ -#define SARADC_SAR1_DATA_INV (BIT(28)) -#define SARADC_SAR1_DATA_INV_M (BIT(28)) -#define SARADC_SAR1_DATA_INV_V 0x1 -#define SARADC_SAR1_DATA_INV_S 28 -/* SARADC_SAR1_DIG_FORCE : R/W ;bitpos:[27] ;default: 1'd0 ; */ -/*description: 1: SAR ADC1 controlled by DIG ADC1 CTRL 0: SAR ADC1 controlled by RTC ADC1 CTRL*/ -#define SARADC_SAR1_DIG_FORCE (BIT(27)) -#define SARADC_SAR1_DIG_FORCE_M (BIT(27)) -#define SARADC_SAR1_DIG_FORCE_V 0x1 -#define SARADC_SAR1_DIG_FORCE_S 27 -/* SARADC_SAR1_SAMPLE_NUM : R/W ;bitpos:[26:19] ;default: 8'd0 ; */ -/*description: */ -#define SARADC_SAR1_SAMPLE_NUM 0x000000FF -#define SARADC_SAR1_SAMPLE_NUM_M ((SARADC_SAR1_SAMPLE_NUM_V)<<(SARADC_SAR1_SAMPLE_NUM_S)) -#define SARADC_SAR1_SAMPLE_NUM_V 0xFF -#define SARADC_SAR1_SAMPLE_NUM_S 19 -/* SARADC_SAR1_CLK_GATED : R/W ;bitpos:[18] ;default: 1'b1 ; */ -/*description: */ -#define SARADC_SAR1_CLK_GATED (BIT(18)) -#define SARADC_SAR1_CLK_GATED_M (BIT(18)) -#define SARADC_SAR1_CLK_GATED_V 0x1 -#define SARADC_SAR1_CLK_GATED_S 18 -/* SARADC_SAR1_SAMPLE_BIT : R/W ;bitpos:[17:16] ;default: 2'd3 ; */ -/*description: 00: for 9-bit width 01: for 10-bit width 10: for 11-bit width - 11: for 12-bit width*/ -#define SARADC_SAR1_SAMPLE_BIT 0x00000003 -#define SARADC_SAR1_SAMPLE_BIT_M ((SARADC_SAR1_SAMPLE_BIT_V)<<(SARADC_SAR1_SAMPLE_BIT_S)) -#define SARADC_SAR1_SAMPLE_BIT_V 0x3 -#define SARADC_SAR1_SAMPLE_BIT_S 16 -/* SARADC_SAR1_SAMPLE_CYCLE : R/W ;bitpos:[15:8] ;default: 8'd9 ; */ -/*description: sample cycles for SAR ADC1*/ -#define SARADC_SAR1_SAMPLE_CYCLE 0x000000FF -#define SARADC_SAR1_SAMPLE_CYCLE_M ((SARADC_SAR1_SAMPLE_CYCLE_V)<<(SARADC_SAR1_SAMPLE_CYCLE_S)) -#define SARADC_SAR1_SAMPLE_CYCLE_V 0xFF -#define SARADC_SAR1_SAMPLE_CYCLE_S 8 -/* SARADC_SAR1_CLK_DIV : R/W ;bitpos:[7:0] ;default: 8'd2 ; */ -/*description: clock divider*/ -#define SARADC_SAR1_CLK_DIV 0x000000FF -#define SARADC_SAR1_CLK_DIV_M ((SARADC_SAR1_CLK_DIV_V)<<(SARADC_SAR1_CLK_DIV_S)) -#define SARADC_SAR1_CLK_DIV_V 0xFF -#define SARADC_SAR1_CLK_DIV_S 0 - -#define SARADC_SAR_READ_STATUS1_REG (DR_REG_SARADC_BASE + 0x0004) -/* SARADC_SAR1_READER_STATUS : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define SARADC_SAR1_READER_STATUS 0xFFFFFFFF -#define SARADC_SAR1_READER_STATUS_M ((SARADC_SAR1_READER_STATUS_V)<<(SARADC_SAR1_READER_STATUS_S)) -#define SARADC_SAR1_READER_STATUS_V 0xFFFFFFFF -#define SARADC_SAR1_READER_STATUS_S 0 - -#define SARADC_SAR_MEAS_WAIT1_REG (DR_REG_SARADC_BASE + 0x0008) -/* SARADC_SAR_AMP_WAIT2 : R/W ;bitpos:[31:16] ;default: 16'd10 ; */ -/*description: */ -#define SARADC_SAR_AMP_WAIT2 0x0000FFFF -#define SARADC_SAR_AMP_WAIT2_M ((SARADC_SAR_AMP_WAIT2_V)<<(SARADC_SAR_AMP_WAIT2_S)) -#define SARADC_SAR_AMP_WAIT2_V 0xFFFF -#define SARADC_SAR_AMP_WAIT2_S 16 -/* SARADC_SAR_AMP_WAIT1 : R/W ;bitpos:[15:0] ;default: 16'd10 ; */ -/*description: */ -#define SARADC_SAR_AMP_WAIT1 0x0000FFFF -#define SARADC_SAR_AMP_WAIT1_M ((SARADC_SAR_AMP_WAIT1_V)<<(SARADC_SAR_AMP_WAIT1_S)) -#define SARADC_SAR_AMP_WAIT1_V 0xFFFF -#define SARADC_SAR_AMP_WAIT1_S 0 - -#define SARADC_SAR_MEAS_WAIT2_REG (DR_REG_SARADC_BASE + 0x000c) -/* SARADC_SAR2_RSTB_WAIT : R/W ;bitpos:[27:20] ;default: 8'd2 ; */ -/*description: */ -#define SARADC_SAR2_RSTB_WAIT 0x000000FF -#define SARADC_SAR2_RSTB_WAIT_M ((SARADC_SAR2_RSTB_WAIT_V)<<(SARADC_SAR2_RSTB_WAIT_S)) -#define SARADC_SAR2_RSTB_WAIT_V 0xFF -#define SARADC_SAR2_RSTB_WAIT_S 20 -/* SARADC_FORCE_XPD_SAR : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ -/*description: */ -#define SARADC_FORCE_XPD_SAR 0x00000003 -#define SARADC_FORCE_XPD_SAR_M ((SARADC_FORCE_XPD_SAR_V)<<(SARADC_FORCE_XPD_SAR_S)) -#define SARADC_FORCE_XPD_SAR_V 0x3 -#define SARADC_FORCE_XPD_SAR_S 18 -/* SARADC_FORCE_XPD_AMP : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ -/*description: */ -#define SARADC_FORCE_XPD_AMP 0x00000003 -#define SARADC_FORCE_XPD_AMP_M ((SARADC_FORCE_XPD_AMP_V)<<(SARADC_FORCE_XPD_AMP_S)) -#define SARADC_FORCE_XPD_AMP_V 0x3 -#define SARADC_FORCE_XPD_AMP_S 16 -/* SARADC_SAR_AMP_WAIT3 : R/W ;bitpos:[15:0] ;default: 16'd10 ; */ -/*description: */ -#define SARADC_SAR_AMP_WAIT3 0x0000FFFF -#define SARADC_SAR_AMP_WAIT3_M ((SARADC_SAR_AMP_WAIT3_V)<<(SARADC_SAR_AMP_WAIT3_S)) -#define SARADC_SAR_AMP_WAIT3_V 0xFFFF -#define SARADC_SAR_AMP_WAIT3_S 0 - -#define SARADC_SAR_MEAS_CTRL_REG (DR_REG_SARADC_BASE + 0x0010) -/* SARADC_SAR2_XPD_WAIT : R/W ;bitpos:[31:24] ;default: 8'h7 ; */ -/*description: */ -#define SARADC_SAR2_XPD_WAIT 0x000000FF -#define SARADC_SAR2_XPD_WAIT_M ((SARADC_SAR2_XPD_WAIT_V)<<(SARADC_SAR2_XPD_WAIT_S)) -#define SARADC_SAR2_XPD_WAIT_V 0xFF -#define SARADC_SAR2_XPD_WAIT_S 24 -/* SARADC_SAR_RSTB_FSM : R/W ;bitpos:[23:20] ;default: 4'b0000 ; */ -/*description: */ -#define SARADC_SAR_RSTB_FSM 0x0000000F -#define SARADC_SAR_RSTB_FSM_M ((SARADC_SAR_RSTB_FSM_V)<<(SARADC_SAR_RSTB_FSM_S)) -#define SARADC_SAR_RSTB_FSM_V 0xF -#define SARADC_SAR_RSTB_FSM_S 20 -/* SARADC_XPD_SAR_FSM : R/W ;bitpos:[19:16] ;default: 4'b0111 ; */ -/*description: */ -#define SARADC_XPD_SAR_FSM 0x0000000F -#define SARADC_XPD_SAR_FSM_M ((SARADC_XPD_SAR_FSM_V)<<(SARADC_XPD_SAR_FSM_S)) -#define SARADC_XPD_SAR_FSM_V 0xF -#define SARADC_XPD_SAR_FSM_S 16 -/* SARADC_AMP_SHORT_REF_GND_FSM : R/W ;bitpos:[15:12] ;default: 4'b0011 ; */ -/*description: */ -#define SARADC_AMP_SHORT_REF_GND_FSM 0x0000000F -#define SARADC_AMP_SHORT_REF_GND_FSM_M ((SARADC_AMP_SHORT_REF_GND_FSM_V)<<(SARADC_AMP_SHORT_REF_GND_FSM_S)) -#define SARADC_AMP_SHORT_REF_GND_FSM_V 0xF -#define SARADC_AMP_SHORT_REF_GND_FSM_S 12 -/* SARADC_AMP_SHORT_REF_FSM : R/W ;bitpos:[11:8] ;default: 4'b0011 ; */ -/*description: */ -#define SARADC_AMP_SHORT_REF_FSM 0x0000000F -#define SARADC_AMP_SHORT_REF_FSM_M ((SARADC_AMP_SHORT_REF_FSM_V)<<(SARADC_AMP_SHORT_REF_FSM_S)) -#define SARADC_AMP_SHORT_REF_FSM_V 0xF -#define SARADC_AMP_SHORT_REF_FSM_S 8 -/* SARADC_AMP_RST_FB_FSM : R/W ;bitpos:[7:4] ;default: 4'b1000 ; */ -/*description: */ -#define SARADC_AMP_RST_FB_FSM 0x0000000F -#define SARADC_AMP_RST_FB_FSM_M ((SARADC_AMP_RST_FB_FSM_V)<<(SARADC_AMP_RST_FB_FSM_S)) -#define SARADC_AMP_RST_FB_FSM_V 0xF -#define SARADC_AMP_RST_FB_FSM_S 4 -/* SARADC_XPD_SAR_AMP_FSM : R/W ;bitpos:[3:0] ;default: 4'b1111 ; */ -/*description: */ -#define SARADC_XPD_SAR_AMP_FSM 0x0000000F -#define SARADC_XPD_SAR_AMP_FSM_M ((SARADC_XPD_SAR_AMP_FSM_V)<<(SARADC_XPD_SAR_AMP_FSM_S)) -#define SARADC_XPD_SAR_AMP_FSM_V 0xF -#define SARADC_XPD_SAR_AMP_FSM_S 0 - -#define SARADC_SAR_READ_STATUS2_REG (DR_REG_SARADC_BASE + 0x0014) -/* SARADC_SAR2_READER_STATUS : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define SARADC_SAR2_READER_STATUS 0xFFFFFFFF -#define SARADC_SAR2_READER_STATUS_M ((SARADC_SAR2_READER_STATUS_V)<<(SARADC_SAR2_READER_STATUS_S)) -#define SARADC_SAR2_READER_STATUS_V 0xFFFFFFFF -#define SARADC_SAR2_READER_STATUS_S 0 - -#define SARADC_ULP_CP_SLEEP_CYC0_REG (DR_REG_SARADC_BASE + 0x0018) -/* SARADC_SLEEP_CYCLES_S0 : R/W ;bitpos:[31:0] ;default: 32'd200 ; */ -/*description: sleep cycles for ULP-coprocessor timer*/ -#define SARADC_SLEEP_CYCLES_S0 0xFFFFFFFF -#define SARADC_SLEEP_CYCLES_S0_M ((SARADC_SLEEP_CYCLES_S0_V)<<(SARADC_SLEEP_CYCLES_S0_S)) -#define SARADC_SLEEP_CYCLES_S0_V 0xFFFFFFFF -#define SARADC_SLEEP_CYCLES_S0_S 0 - -#define SARADC_ULP_CP_SLEEP_CYC1_REG (DR_REG_SARADC_BASE + 0x001c) -/* SARADC_SLEEP_CYCLES_S1 : R/W ;bitpos:[31:0] ;default: 32'd100 ; */ -/*description: */ -#define SARADC_SLEEP_CYCLES_S1 0xFFFFFFFF -#define SARADC_SLEEP_CYCLES_S1_M ((SARADC_SLEEP_CYCLES_S1_V)<<(SARADC_SLEEP_CYCLES_S1_S)) -#define SARADC_SLEEP_CYCLES_S1_V 0xFFFFFFFF -#define SARADC_SLEEP_CYCLES_S1_S 0 - -#define SARADC_ULP_CP_SLEEP_CYC2_REG (DR_REG_SARADC_BASE + 0x0020) -/* SARADC_SLEEP_CYCLES_S2 : R/W ;bitpos:[31:0] ;default: 32'd50 ; */ -/*description: */ -#define SARADC_SLEEP_CYCLES_S2 0xFFFFFFFF -#define SARADC_SLEEP_CYCLES_S2_M ((SARADC_SLEEP_CYCLES_S2_V)<<(SARADC_SLEEP_CYCLES_S2_S)) -#define SARADC_SLEEP_CYCLES_S2_V 0xFFFFFFFF -#define SARADC_SLEEP_CYCLES_S2_S 0 - -#define SARADC_ULP_CP_SLEEP_CYC3_REG (DR_REG_SARADC_BASE + 0x0024) -/* SARADC_SLEEP_CYCLES_S3 : R/W ;bitpos:[31:0] ;default: 32'd40 ; */ -/*description: */ -#define SARADC_SLEEP_CYCLES_S3 0xFFFFFFFF -#define SARADC_SLEEP_CYCLES_S3_M ((SARADC_SLEEP_CYCLES_S3_V)<<(SARADC_SLEEP_CYCLES_S3_S)) -#define SARADC_SLEEP_CYCLES_S3_V 0xFFFFFFFF -#define SARADC_SLEEP_CYCLES_S3_S 0 - -#define SARADC_ULP_CP_SLEEP_CYC4_REG (DR_REG_SARADC_BASE + 0x0028) -/* SARADC_SLEEP_CYCLES_S4 : R/W ;bitpos:[31:0] ;default: 32'd20 ; */ -/*description: */ -#define SARADC_SLEEP_CYCLES_S4 0xFFFFFFFF -#define SARADC_SLEEP_CYCLES_S4_M ((SARADC_SLEEP_CYCLES_S4_V)<<(SARADC_SLEEP_CYCLES_S4_S)) -#define SARADC_SLEEP_CYCLES_S4_V 0xFFFFFFFF -#define SARADC_SLEEP_CYCLES_S4_S 0 - -#define SARADC_SAR_START_FORCE_REG (DR_REG_SARADC_BASE + 0x002c) -/* SARADC_SAR2_PWDET_EN : R/W ;bitpos:[24] ;default: 1'b0 ; */ -/*description: N/A*/ -#define SARADC_SAR2_PWDET_EN (BIT(24)) -#define SARADC_SAR2_PWDET_EN_M (BIT(24)) -#define SARADC_SAR2_PWDET_EN_V 0x1 -#define SARADC_SAR2_PWDET_EN_S 24 -/* SARADC_SAR1_STOP : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: stop SAR ADC1 conversion*/ -#define SARADC_SAR1_STOP (BIT(23)) -#define SARADC_SAR1_STOP_M (BIT(23)) -#define SARADC_SAR1_STOP_V 0x1 -#define SARADC_SAR1_STOP_S 23 -/* SARADC_SAR2_STOP : R/W ;bitpos:[22] ;default: 1'b0 ; */ -/*description: stop SAR ADC2 conversion*/ -#define SARADC_SAR2_STOP (BIT(22)) -#define SARADC_SAR2_STOP_M (BIT(22)) -#define SARADC_SAR2_STOP_V 0x1 -#define SARADC_SAR2_STOP_S 22 -/* SARADC_PC_INIT : R/W ;bitpos:[21:11] ;default: 11'b0 ; */ -/*description: initialized PC for ULP-coprocessor*/ -#define SARADC_PC_INIT 0x000007FF -#define SARADC_PC_INIT_M ((SARADC_PC_INIT_V)<<(SARADC_PC_INIT_S)) -#define SARADC_PC_INIT_V 0x7FF -#define SARADC_PC_INIT_S 11 -/* SARADC_SARCLK_EN : R/W ;bitpos:[10] ;default: 1'b0 ; */ -/*description: */ -#define SARADC_SARCLK_EN (BIT(10)) -#define SARADC_SARCLK_EN_M (BIT(10)) -#define SARADC_SARCLK_EN_V 0x1 -#define SARADC_SARCLK_EN_S 10 -/* SARADC_ULP_CP_START_TOP : R/W ;bitpos:[9] ;default: 1'b0 ; */ -/*description: Write 1 to start ULP-coprocessor only active when reg_ulp_cp_force_start_top - = 1*/ -#define SARADC_ULP_CP_START_TOP (BIT(9)) -#define SARADC_ULP_CP_START_TOP_M (BIT(9)) -#define SARADC_ULP_CP_START_TOP_V 0x1 -#define SARADC_ULP_CP_START_TOP_S 9 -/* SARADC_ULP_CP_FORCE_START_TOP : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: 1: ULP-coprocessor is started by SW 0: ULP-coprocessor is started by timer*/ -#define SARADC_ULP_CP_FORCE_START_TOP (BIT(8)) -#define SARADC_ULP_CP_FORCE_START_TOP_M (BIT(8)) -#define SARADC_ULP_CP_FORCE_START_TOP_V 0x1 -#define SARADC_ULP_CP_FORCE_START_TOP_S 8 -/* SARADC_SAR2_PWDET_CCT : R/W ;bitpos:[7:5] ;default: 3'b0 ; */ -/*description: SAR2_PWDET_CCT PA power detector capacitance tuning.*/ -#define SARADC_SAR2_PWDET_CCT 0x00000007 -#define SARADC_SAR2_PWDET_CCT_M ((SARADC_SAR2_PWDET_CCT_V)<<(SARADC_SAR2_PWDET_CCT_S)) -#define SARADC_SAR2_PWDET_CCT_V 0x7 -#define SARADC_SAR2_PWDET_CCT_S 5 -/* SARADC_SAR2_EN_TEST : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: SAR2_EN_TEST only active when reg_sar2_dig_force = 0*/ -#define SARADC_SAR2_EN_TEST (BIT(4)) -#define SARADC_SAR2_EN_TEST_M (BIT(4)) -#define SARADC_SAR2_EN_TEST_V 0x1 -#define SARADC_SAR2_EN_TEST_S 4 -/* SARADC_SAR2_BIT_WIDTH : R/W ;bitpos:[3:2] ;default: 2'b11 ; */ -/*description: 00: 9 bit 01: 10 bits 10: 11bits 11: 12bits*/ -#define SARADC_SAR2_BIT_WIDTH 0x00000003 -#define SARADC_SAR2_BIT_WIDTH_M ((SARADC_SAR2_BIT_WIDTH_V)<<(SARADC_SAR2_BIT_WIDTH_S)) -#define SARADC_SAR2_BIT_WIDTH_V 0x3 -#define SARADC_SAR2_BIT_WIDTH_S 2 -/* SARADC_SAR1_BIT_WIDTH : R/W ;bitpos:[1:0] ;default: 2'b11 ; */ -/*description: 00: 9 bit 01: 10 bits 10: 11bits 11: 12bits*/ -#define SARADC_SAR1_BIT_WIDTH 0x00000003 -#define SARADC_SAR1_BIT_WIDTH_M ((SARADC_SAR1_BIT_WIDTH_V)<<(SARADC_SAR1_BIT_WIDTH_S)) -#define SARADC_SAR1_BIT_WIDTH_V 0x3 -#define SARADC_SAR1_BIT_WIDTH_S 0 - -#define SARADC_SAR_MEM_WR_CTRL_REG (DR_REG_SARADC_BASE + 0x0030) -/* SARADC_RTC_MEM_WR_OFFST_CLR : WO ;bitpos:[22] ;default: 1'd0 ; */ -/*description: */ -#define SARADC_RTC_MEM_WR_OFFST_CLR (BIT(22)) -#define SARADC_RTC_MEM_WR_OFFST_CLR_M (BIT(22)) -#define SARADC_RTC_MEM_WR_OFFST_CLR_V 0x1 -#define SARADC_RTC_MEM_WR_OFFST_CLR_S 22 -/* SARADC_MEM_WR_ADDR_SIZE : R/W ;bitpos:[21:11] ;default: 11'd512 ; */ -/*description: */ -#define SARADC_MEM_WR_ADDR_SIZE 0x000007FF -#define SARADC_MEM_WR_ADDR_SIZE_M ((SARADC_MEM_WR_ADDR_SIZE_V)<<(SARADC_MEM_WR_ADDR_SIZE_S)) -#define SARADC_MEM_WR_ADDR_SIZE_V 0x7FF -#define SARADC_MEM_WR_ADDR_SIZE_S 11 -/* SARADC_MEM_WR_ADDR_INIT : R/W ;bitpos:[10:0] ;default: 11'd512 ; */ -/*description: */ -#define SARADC_MEM_WR_ADDR_INIT 0x000007FF -#define SARADC_MEM_WR_ADDR_INIT_M ((SARADC_MEM_WR_ADDR_INIT_V)<<(SARADC_MEM_WR_ADDR_INIT_S)) -#define SARADC_MEM_WR_ADDR_INIT_V 0x7FF -#define SARADC_MEM_WR_ADDR_INIT_S 0 - -#define SARADC_SAR_ATTEN1_REG (DR_REG_SARADC_BASE + 0x0034) -/* SARADC_SAR1_ATTEN : R/W ;bitpos:[31:0] ;default: 32'hffffffff ; */ -/*description: 2-bit attenuation for each pad 11:1dB 10:6dB 01:3dB 00:0dB*/ -#define SARADC_SAR1_ATTEN 0xFFFFFFFF -#define SARADC_SAR1_ATTEN_M ((SARADC_SAR1_ATTEN_V)<<(SARADC_SAR1_ATTEN_S)) -#define SARADC_SAR1_ATTEN_V 0xFFFFFFFF -#define SARADC_SAR1_ATTEN_S 0 - -#define SARADC_SAR_ATTEN2_REG (DR_REG_SARADC_BASE + 0x0038) -/* SARADC_SAR2_ATTEN : R/W ;bitpos:[31:0] ;default: 32'hffffffff ; */ -/*description: 2-bit attenuation for each pad 11:1dB 10:6dB 01:3dB 00:0dB*/ -#define SARADC_SAR2_ATTEN 0xFFFFFFFF -#define SARADC_SAR2_ATTEN_M ((SARADC_SAR2_ATTEN_V)<<(SARADC_SAR2_ATTEN_S)) -#define SARADC_SAR2_ATTEN_V 0xFFFFFFFF -#define SARADC_SAR2_ATTEN_S 0 - -#define SARADC_SAR_SLAVE_ADDR1_REG (DR_REG_SARADC_BASE + 0x003c) -/* SARADC_MEAS_STATUS : RO ;bitpos:[29:22] ;default: 8'h0 ; */ -/*description: */ -#define SARADC_MEAS_STATUS 0x000000FF -#define SARADC_MEAS_STATUS_M ((SARADC_MEAS_STATUS_V)<<(SARADC_MEAS_STATUS_S)) -#define SARADC_MEAS_STATUS_V 0xFF -#define SARADC_MEAS_STATUS_S 22 -/* SARADC_I2C_SLAVE_ADDR0 : R/W ;bitpos:[21:11] ;default: 11'h0 ; */ -/*description: */ -#define SARADC_I2C_SLAVE_ADDR0 0x000007FF -#define SARADC_I2C_SLAVE_ADDR0_M ((SARADC_I2C_SLAVE_ADDR0_V)<<(SARADC_I2C_SLAVE_ADDR0_S)) -#define SARADC_I2C_SLAVE_ADDR0_V 0x7FF -#define SARADC_I2C_SLAVE_ADDR0_S 11 -/* SARADC_I2C_SLAVE_ADDR1 : R/W ;bitpos:[10:0] ;default: 11'h0 ; */ -/*description: */ -#define SARADC_I2C_SLAVE_ADDR1 0x000007FF -#define SARADC_I2C_SLAVE_ADDR1_M ((SARADC_I2C_SLAVE_ADDR1_V)<<(SARADC_I2C_SLAVE_ADDR1_S)) -#define SARADC_I2C_SLAVE_ADDR1_V 0x7FF -#define SARADC_I2C_SLAVE_ADDR1_S 0 - -#define SARADC_SAR_SLAVE_ADDR2_REG (DR_REG_SARADC_BASE + 0x0040) -/* SARADC_I2C_SLAVE_ADDR2 : R/W ;bitpos:[21:11] ;default: 11'h0 ; */ -/*description: */ -#define SARADC_I2C_SLAVE_ADDR2 0x000007FF -#define SARADC_I2C_SLAVE_ADDR2_M ((SARADC_I2C_SLAVE_ADDR2_V)<<(SARADC_I2C_SLAVE_ADDR2_S)) -#define SARADC_I2C_SLAVE_ADDR2_V 0x7FF -#define SARADC_I2C_SLAVE_ADDR2_S 11 -/* SARADC_I2C_SLAVE_ADDR3 : R/W ;bitpos:[10:0] ;default: 11'h0 ; */ -/*description: */ -#define SARADC_I2C_SLAVE_ADDR3 0x000007FF -#define SARADC_I2C_SLAVE_ADDR3_M ((SARADC_I2C_SLAVE_ADDR3_V)<<(SARADC_I2C_SLAVE_ADDR3_S)) -#define SARADC_I2C_SLAVE_ADDR3_V 0x7FF -#define SARADC_I2C_SLAVE_ADDR3_S 0 - -#define SARADC_SAR_SLAVE_ADDR3_REG (DR_REG_SARADC_BASE + 0x0044) -/* SARADC_TSENS_RDY_OUT : RO ;bitpos:[30] ;default: 1'h0 ; */ -/*description: indicate temperature sensor out ready*/ -#define SARADC_TSENS_RDY_OUT (BIT(30)) -#define SARADC_TSENS_RDY_OUT_M (BIT(30)) -#define SARADC_TSENS_RDY_OUT_V 0x1 -#define SARADC_TSENS_RDY_OUT_S 30 -/* SARADC_TSENS_OUT : RO ;bitpos:[29:22] ;default: 8'h0 ; */ -/*description: temperature sensor data out*/ -#define SARADC_TSENS_OUT 0x000000FF -#define SARADC_TSENS_OUT_M ((SARADC_TSENS_OUT_V)<<(SARADC_TSENS_OUT_S)) -#define SARADC_TSENS_OUT_V 0xFF -#define SARADC_TSENS_OUT_S 22 -/* SARADC_I2C_SLAVE_ADDR4 : R/W ;bitpos:[21:11] ;default: 11'h0 ; */ -/*description: */ -#define SARADC_I2C_SLAVE_ADDR4 0x000007FF -#define SARADC_I2C_SLAVE_ADDR4_M ((SARADC_I2C_SLAVE_ADDR4_V)<<(SARADC_I2C_SLAVE_ADDR4_S)) -#define SARADC_I2C_SLAVE_ADDR4_V 0x7FF -#define SARADC_I2C_SLAVE_ADDR4_S 11 -/* SARADC_I2C_SLAVE_ADDR5 : R/W ;bitpos:[10:0] ;default: 11'h0 ; */ -/*description: */ -#define SARADC_I2C_SLAVE_ADDR5 0x000007FF -#define SARADC_I2C_SLAVE_ADDR5_M ((SARADC_I2C_SLAVE_ADDR5_V)<<(SARADC_I2C_SLAVE_ADDR5_S)) -#define SARADC_I2C_SLAVE_ADDR5_V 0x7FF -#define SARADC_I2C_SLAVE_ADDR5_S 0 - -#define SARADC_SAR_SLAVE_ADDR4_REG (DR_REG_SARADC_BASE + 0x0048) -/* SARADC_I2C_DONE : RO ;bitpos:[30] ;default: 1'h0 ; */ -/*description: indicate I2C done*/ -#define SARADC_I2C_DONE (BIT(30)) -#define SARADC_I2C_DONE_M (BIT(30)) -#define SARADC_I2C_DONE_V 0x1 -#define SARADC_I2C_DONE_S 30 -/* SARADC_I2C_RDATA : RO ;bitpos:[29:22] ;default: 8'h0 ; */ -/*description: I2C read data*/ -#define SARADC_I2C_RDATA 0x000000FF -#define SARADC_I2C_RDATA_M ((SARADC_I2C_RDATA_V)<<(SARADC_I2C_RDATA_S)) -#define SARADC_I2C_RDATA_V 0xFF -#define SARADC_I2C_RDATA_S 22 -/* SARADC_I2C_SLAVE_ADDR6 : R/W ;bitpos:[21:11] ;default: 11'h0 ; */ -/*description: */ -#define SARADC_I2C_SLAVE_ADDR6 0x000007FF -#define SARADC_I2C_SLAVE_ADDR6_M ((SARADC_I2C_SLAVE_ADDR6_V)<<(SARADC_I2C_SLAVE_ADDR6_S)) -#define SARADC_I2C_SLAVE_ADDR6_V 0x7FF -#define SARADC_I2C_SLAVE_ADDR6_S 11 -/* SARADC_I2C_SLAVE_ADDR7 : R/W ;bitpos:[10:0] ;default: 11'h0 ; */ -/*description: */ -#define SARADC_I2C_SLAVE_ADDR7 0x000007FF -#define SARADC_I2C_SLAVE_ADDR7_M ((SARADC_I2C_SLAVE_ADDR7_V)<<(SARADC_I2C_SLAVE_ADDR7_S)) -#define SARADC_I2C_SLAVE_ADDR7_V 0x7FF -#define SARADC_I2C_SLAVE_ADDR7_S 0 - -#define SARADC_SAR_TSENS_CTRL_REG (DR_REG_SARADC_BASE + 0x004c) -/* SARADC_TSENS_DUMP_OUT : R/W ;bitpos:[26] ;default: 1'b0 ; */ -/*description: temperature sensor dump out only active when reg_tsens_power_up_force = 1*/ -#define SARADC_TSENS_DUMP_OUT (BIT(26)) -#define SARADC_TSENS_DUMP_OUT_M (BIT(26)) -#define SARADC_TSENS_DUMP_OUT_V 0x1 -#define SARADC_TSENS_DUMP_OUT_S 26 -/* SARADC_TSENS_POWER_UP_FORCE : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: 1: dump out & power up controlled by SW 0: by FSM*/ -#define SARADC_TSENS_POWER_UP_FORCE (BIT(25)) -#define SARADC_TSENS_POWER_UP_FORCE_M (BIT(25)) -#define SARADC_TSENS_POWER_UP_FORCE_V 0x1 -#define SARADC_TSENS_POWER_UP_FORCE_S 25 -/* SARADC_TSENS_POWER_UP : R/W ;bitpos:[24] ;default: 1'b0 ; */ -/*description: temperature sensor power up*/ -#define SARADC_TSENS_POWER_UP (BIT(24)) -#define SARADC_TSENS_POWER_UP_M (BIT(24)) -#define SARADC_TSENS_POWER_UP_V 0x1 -#define SARADC_TSENS_POWER_UP_S 24 -/* SARADC_TSENS_CLK_DIV : R/W ;bitpos:[23:16] ;default: 8'd6 ; */ -/*description: temperature sensor clock divider*/ -#define SARADC_TSENS_CLK_DIV 0x000000FF -#define SARADC_TSENS_CLK_DIV_M ((SARADC_TSENS_CLK_DIV_V)<<(SARADC_TSENS_CLK_DIV_S)) -#define SARADC_TSENS_CLK_DIV_V 0xFF -#define SARADC_TSENS_CLK_DIV_S 16 -/* SARADC_TSENS_IN_INV : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: invert temperature sensor data*/ -#define SARADC_TSENS_IN_INV (BIT(15)) -#define SARADC_TSENS_IN_INV_M (BIT(15)) -#define SARADC_TSENS_IN_INV_V 0x1 -#define SARADC_TSENS_IN_INV_S 15 -/* SARADC_TSENS_CLK_GATED : R/W ;bitpos:[14] ;default: 1'b1 ; */ -/*description: */ -#define SARADC_TSENS_CLK_GATED (BIT(14)) -#define SARADC_TSENS_CLK_GATED_M (BIT(14)) -#define SARADC_TSENS_CLK_GATED_V 0x1 -#define SARADC_TSENS_CLK_GATED_S 14 -/* SARADC_TSENS_CLK_INV : R/W ;bitpos:[13] ;default: 1'b1 ; */ -/*description: */ -#define SARADC_TSENS_CLK_INV (BIT(13)) -#define SARADC_TSENS_CLK_INV_M (BIT(13)) -#define SARADC_TSENS_CLK_INV_V 0x1 -#define SARADC_TSENS_CLK_INV_S 13 -/* SARADC_TSENS_XPD_FORCE : R/W ;bitpos:[12] ;default: 1'b0 ; */ -/*description: */ -#define SARADC_TSENS_XPD_FORCE (BIT(12)) -#define SARADC_TSENS_XPD_FORCE_M (BIT(12)) -#define SARADC_TSENS_XPD_FORCE_V 0x1 -#define SARADC_TSENS_XPD_FORCE_S 12 -/* SARADC_TSENS_XPD_WAIT : R/W ;bitpos:[11:0] ;default: 12'h2 ; */ -/*description: */ -#define SARADC_TSENS_XPD_WAIT 0x00000FFF -#define SARADC_TSENS_XPD_WAIT_M ((SARADC_TSENS_XPD_WAIT_V)<<(SARADC_TSENS_XPD_WAIT_S)) -#define SARADC_TSENS_XPD_WAIT_V 0xFFF -#define SARADC_TSENS_XPD_WAIT_S 0 - -#define SARADC_SAR_I2C_CTRL_REG (DR_REG_SARADC_BASE + 0x0050) -/* SARADC_SAR_I2C_START_FORCE : R/W ;bitpos:[29] ;default: 1'b0 ; */ -/*description: 1: I2C started by SW 0: I2C started by FSM*/ -#define SARADC_SAR_I2C_START_FORCE (BIT(29)) -#define SARADC_SAR_I2C_START_FORCE_M (BIT(29)) -#define SARADC_SAR_I2C_START_FORCE_V 0x1 -#define SARADC_SAR_I2C_START_FORCE_S 29 -/* SARADC_SAR_I2C_START : R/W ;bitpos:[28] ;default: 1'b0 ; */ -/*description: start I2C only active when reg_sar_i2c_start_force = 1*/ -#define SARADC_SAR_I2C_START (BIT(28)) -#define SARADC_SAR_I2C_START_M (BIT(28)) -#define SARADC_SAR_I2C_START_V 0x1 -#define SARADC_SAR_I2C_START_S 28 -/* SARADC_SAR_I2C_CTRL : R/W ;bitpos:[27:0] ;default: 28'b0 ; */ -/*description: I2C control data only active when reg_sar_i2c_start_force = 1*/ -#define SARADC_SAR_I2C_CTRL 0x0FFFFFFF -#define SARADC_SAR_I2C_CTRL_M ((SARADC_SAR_I2C_CTRL_V)<<(SARADC_SAR_I2C_CTRL_S)) -#define SARADC_SAR_I2C_CTRL_V 0xFFFFFFF -#define SARADC_SAR_I2C_CTRL_S 0 - -#define SARADC_SAR_MEAS_START1_REG (DR_REG_SARADC_BASE + 0x0054) -/* SARADC_SAR1_EN_PAD_FORCE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: 1: SAR ADC1 pad enable bitmap is controlled by SW 0: SAR ADC1 - pad enable bitmap is controlled by ULP-coprocessor*/ -#define SARADC_SAR1_EN_PAD_FORCE (BIT(31)) -#define SARADC_SAR1_EN_PAD_FORCE_M (BIT(31)) -#define SARADC_SAR1_EN_PAD_FORCE_V 0x1 -#define SARADC_SAR1_EN_PAD_FORCE_S 31 -/* SARADC_SAR1_EN_PAD : R/W ;bitpos:[30:19] ;default: 12'b0 ; */ -/*description: SAR ADC1 pad enable bitmap only active when reg_sar1_en_pad_force = 1*/ -#define SARADC_SAR1_EN_PAD 0x00000FFF -#define SARADC_SAR1_EN_PAD_M ((SARADC_SAR1_EN_PAD_V)<<(SARADC_SAR1_EN_PAD_S)) -#define SARADC_SAR1_EN_PAD_V 0xFFF -#define SARADC_SAR1_EN_PAD_S 19 -/* SARADC_MEAS1_START_FORCE : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: 1: SAR ADC1 controller (in RTC) is started by SW 0: SAR ADC1 - controller is started by ULP-coprocessor*/ -#define SARADC_MEAS1_START_FORCE (BIT(18)) -#define SARADC_MEAS1_START_FORCE_M (BIT(18)) -#define SARADC_MEAS1_START_FORCE_V 0x1 -#define SARADC_MEAS1_START_FORCE_S 18 -/* SARADC_MEAS1_START_SAR : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: SAR ADC1 controller (in RTC) starts conversion only active when - reg_meas1_start_force = 1*/ -#define SARADC_MEAS1_START_SAR (BIT(17)) -#define SARADC_MEAS1_START_SAR_M (BIT(17)) -#define SARADC_MEAS1_START_SAR_V 0x1 -#define SARADC_MEAS1_START_SAR_S 17 -/* SARADC_MEAS1_DONE_SAR : RO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: SAR ADC1 conversion done indication*/ -#define SARADC_MEAS1_DONE_SAR (BIT(16)) -#define SARADC_MEAS1_DONE_SAR_M (BIT(16)) -#define SARADC_MEAS1_DONE_SAR_V 0x1 -#define SARADC_MEAS1_DONE_SAR_S 16 -/* SARADC_MEAS1_DATA_SAR : RO ;bitpos:[15:0] ;default: 16'b0 ; */ -/*description: SAR ADC1 data*/ -#define SARADC_MEAS1_DATA_SAR 0x0000FFFF -#define SARADC_MEAS1_DATA_SAR_M ((SARADC_MEAS1_DATA_SAR_V)<<(SARADC_MEAS1_DATA_SAR_S)) -#define SARADC_MEAS1_DATA_SAR_V 0xFFFF -#define SARADC_MEAS1_DATA_SAR_S 0 - -#define SARADC_SAR_TOUCH_CTRL1_REG (DR_REG_SARADC_BASE + 0x0058) -/* SARADC_HALL_PHASE_FORCE : R/W ;bitpos:[27] ;default: 1'b0 ; */ -/*description: 1: HALL PHASE is controlled by SW 0: HALL PHASE is controlled - by FSM in ULP-coprocessor*/ -#define SARADC_HALL_PHASE_FORCE (BIT(27)) -#define SARADC_HALL_PHASE_FORCE_M (BIT(27)) -#define SARADC_HALL_PHASE_FORCE_V 0x1 -#define SARADC_HALL_PHASE_FORCE_S 27 -/* SARADC_XPD_HALL_FORCE : R/W ;bitpos:[26] ;default: 1'b0 ; */ -/*description: 1: XPD HALL is controlled by SW. 0: XPD HALL is controlled by - FSM in ULP-coprocessor*/ -#define SARADC_XPD_HALL_FORCE (BIT(26)) -#define SARADC_XPD_HALL_FORCE_M (BIT(26)) -#define SARADC_XPD_HALL_FORCE_V 0x1 -#define SARADC_XPD_HALL_FORCE_S 26 -/* SARADC_TOUCH_OUT_1EN : R/W ;bitpos:[25] ;default: 1'b1 ; */ -/*description: 1: wakeup interrupt is generated if SET1 is "touched" 0: - wakeup interrupt is generated only if SET1 & SET2 is both "touched"*/ -#define SARADC_TOUCH_OUT_1EN (BIT(25)) -#define SARADC_TOUCH_OUT_1EN_M (BIT(25)) -#define SARADC_TOUCH_OUT_1EN_V 0x1 -#define SARADC_TOUCH_OUT_1EN_S 25 -/* SARADC_TOUCH_OUT_SEL : R/W ;bitpos:[24] ;default: 1'b0 ; */ -/*description: 1: when the counter is greater then the threshold the touch - pad is considered as "touched" 0: when the counter is less than the threshold the touch pad is considered as "touched"*/ -#define SARADC_TOUCH_OUT_SEL (BIT(24)) -#define SARADC_TOUCH_OUT_SEL_M (BIT(24)) -#define SARADC_TOUCH_OUT_SEL_V 0x1 -#define SARADC_TOUCH_OUT_SEL_S 24 -/* SARADC_TOUCH_XPD_WAIT : R/W ;bitpos:[23:16] ;default: 8'h4 ; */ -/*description: the waiting cycles (in 8MHz) between TOUCH_START and TOUCH_XPD*/ -#define SARADC_TOUCH_XPD_WAIT 0x000000FF -#define SARADC_TOUCH_XPD_WAIT_M ((SARADC_TOUCH_XPD_WAIT_V)<<(SARADC_TOUCH_XPD_WAIT_S)) -#define SARADC_TOUCH_XPD_WAIT_V 0xFF -#define SARADC_TOUCH_XPD_WAIT_S 16 -/* SARADC_TOUCH_MEAS_DELAY : R/W ;bitpos:[15:0] ;default: 16'h1000 ; */ -/*description: the meas length (in 8MHz)*/ -#define SARADC_TOUCH_MEAS_DELAY 0x0000FFFF -#define SARADC_TOUCH_MEAS_DELAY_M ((SARADC_TOUCH_MEAS_DELAY_V)<<(SARADC_TOUCH_MEAS_DELAY_S)) -#define SARADC_TOUCH_MEAS_DELAY_V 0xFFFF -#define SARADC_TOUCH_MEAS_DELAY_S 0 - -#define SARADC_SAR_TOUCH_THRES1_REG (DR_REG_SARADC_BASE + 0x005c) -/* SARADC_TOUCH_OUT_TH0 : R/W ;bitpos:[31:16] ;default: 16'h0 ; */ -/*description: the threshold for touch pad 0*/ -#define SARADC_TOUCH_OUT_TH0 0x0000FFFF -#define SARADC_TOUCH_OUT_TH0_M ((SARADC_TOUCH_OUT_TH0_V)<<(SARADC_TOUCH_OUT_TH0_S)) -#define SARADC_TOUCH_OUT_TH0_V 0xFFFF -#define SARADC_TOUCH_OUT_TH0_S 16 -/* SARADC_TOUCH_OUT_TH1 : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: the threshold for touch pad 1*/ -#define SARADC_TOUCH_OUT_TH1 0x0000FFFF -#define SARADC_TOUCH_OUT_TH1_M ((SARADC_TOUCH_OUT_TH1_V)<<(SARADC_TOUCH_OUT_TH1_S)) -#define SARADC_TOUCH_OUT_TH1_V 0xFFFF -#define SARADC_TOUCH_OUT_TH1_S 0 - -#define SARADC_SAR_TOUCH_THRES2_REG (DR_REG_SARADC_BASE + 0x0060) -/* SARADC_TOUCH_OUT_TH2 : R/W ;bitpos:[31:16] ;default: 16'h0 ; */ -/*description: the threshold for touch pad 2*/ -#define SARADC_TOUCH_OUT_TH2 0x0000FFFF -#define SARADC_TOUCH_OUT_TH2_M ((SARADC_TOUCH_OUT_TH2_V)<<(SARADC_TOUCH_OUT_TH2_S)) -#define SARADC_TOUCH_OUT_TH2_V 0xFFFF -#define SARADC_TOUCH_OUT_TH2_S 16 -/* SARADC_TOUCH_OUT_TH3 : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: the threshold for touch pad 3*/ -#define SARADC_TOUCH_OUT_TH3 0x0000FFFF -#define SARADC_TOUCH_OUT_TH3_M ((SARADC_TOUCH_OUT_TH3_V)<<(SARADC_TOUCH_OUT_TH3_S)) -#define SARADC_TOUCH_OUT_TH3_V 0xFFFF -#define SARADC_TOUCH_OUT_TH3_S 0 - -#define SARADC_SAR_TOUCH_THRES3_REG (DR_REG_SARADC_BASE + 0x0064) -/* SARADC_TOUCH_OUT_TH4 : R/W ;bitpos:[31:16] ;default: 16'h0 ; */ -/*description: the threshold for touch pad 4*/ -#define SARADC_TOUCH_OUT_TH4 0x0000FFFF -#define SARADC_TOUCH_OUT_TH4_M ((SARADC_TOUCH_OUT_TH4_V)<<(SARADC_TOUCH_OUT_TH4_S)) -#define SARADC_TOUCH_OUT_TH4_V 0xFFFF -#define SARADC_TOUCH_OUT_TH4_S 16 -/* SARADC_TOUCH_OUT_TH5 : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: the threshold for touch pad 5*/ -#define SARADC_TOUCH_OUT_TH5 0x0000FFFF -#define SARADC_TOUCH_OUT_TH5_M ((SARADC_TOUCH_OUT_TH5_V)<<(SARADC_TOUCH_OUT_TH5_S)) -#define SARADC_TOUCH_OUT_TH5_V 0xFFFF -#define SARADC_TOUCH_OUT_TH5_S 0 - -#define SARADC_SAR_TOUCH_THRES4_REG (DR_REG_SARADC_BASE + 0x0068) -/* SARADC_TOUCH_OUT_TH6 : R/W ;bitpos:[31:16] ;default: 16'h0 ; */ -/*description: the threshold for touch pad 6*/ -#define SARADC_TOUCH_OUT_TH6 0x0000FFFF -#define SARADC_TOUCH_OUT_TH6_M ((SARADC_TOUCH_OUT_TH6_V)<<(SARADC_TOUCH_OUT_TH6_S)) -#define SARADC_TOUCH_OUT_TH6_V 0xFFFF -#define SARADC_TOUCH_OUT_TH6_S 16 -/* SARADC_TOUCH_OUT_TH7 : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: the threshold for touch pad 7*/ -#define SARADC_TOUCH_OUT_TH7 0x0000FFFF -#define SARADC_TOUCH_OUT_TH7_M ((SARADC_TOUCH_OUT_TH7_V)<<(SARADC_TOUCH_OUT_TH7_S)) -#define SARADC_TOUCH_OUT_TH7_V 0xFFFF -#define SARADC_TOUCH_OUT_TH7_S 0 - -#define SARADC_SAR_TOUCH_THRES5_REG (DR_REG_SARADC_BASE + 0x006c) -/* SARADC_TOUCH_OUT_TH8 : R/W ;bitpos:[31:16] ;default: 16'h0 ; */ -/*description: the threshold for touch pad 8*/ -#define SARADC_TOUCH_OUT_TH8 0x0000FFFF -#define SARADC_TOUCH_OUT_TH8_M ((SARADC_TOUCH_OUT_TH8_V)<<(SARADC_TOUCH_OUT_TH8_S)) -#define SARADC_TOUCH_OUT_TH8_V 0xFFFF -#define SARADC_TOUCH_OUT_TH8_S 16 -/* SARADC_TOUCH_OUT_TH9 : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: the threshold for touch pad 9*/ -#define SARADC_TOUCH_OUT_TH9 0x0000FFFF -#define SARADC_TOUCH_OUT_TH9_M ((SARADC_TOUCH_OUT_TH9_V)<<(SARADC_TOUCH_OUT_TH9_S)) -#define SARADC_TOUCH_OUT_TH9_V 0xFFFF -#define SARADC_TOUCH_OUT_TH9_S 0 - -#define SARADC_SAR_TOUCH_OUT1_REG (DR_REG_SARADC_BASE + 0x0070) -/* SARADC_TOUCH_MEAS_OUT0 : RO ;bitpos:[31:16] ;default: 16'h0 ; */ -/*description: the counter for touch pad 0*/ -#define SARADC_TOUCH_MEAS_OUT0 0x0000FFFF -#define SARADC_TOUCH_MEAS_OUT0_M ((SARADC_TOUCH_MEAS_OUT0_V)<<(SARADC_TOUCH_MEAS_OUT0_S)) -#define SARADC_TOUCH_MEAS_OUT0_V 0xFFFF -#define SARADC_TOUCH_MEAS_OUT0_S 16 -/* SARADC_TOUCH_MEAS_OUT1 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: the counter for touch pad 1*/ -#define SARADC_TOUCH_MEAS_OUT1 0x0000FFFF -#define SARADC_TOUCH_MEAS_OUT1_M ((SARADC_TOUCH_MEAS_OUT1_V)<<(SARADC_TOUCH_MEAS_OUT1_S)) -#define SARADC_TOUCH_MEAS_OUT1_V 0xFFFF -#define SARADC_TOUCH_MEAS_OUT1_S 0 - -#define SARADC_SAR_TOUCH_OUT2_REG (DR_REG_SARADC_BASE + 0x0074) -/* SARADC_TOUCH_MEAS_OUT2 : RO ;bitpos:[31:16] ;default: 16'h0 ; */ -/*description: the counter for touch pad 2*/ -#define SARADC_TOUCH_MEAS_OUT2 0x0000FFFF -#define SARADC_TOUCH_MEAS_OUT2_M ((SARADC_TOUCH_MEAS_OUT2_V)<<(SARADC_TOUCH_MEAS_OUT2_S)) -#define SARADC_TOUCH_MEAS_OUT2_V 0xFFFF -#define SARADC_TOUCH_MEAS_OUT2_S 16 -/* SARADC_TOUCH_MEAS_OUT3 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: the counter for touch pad 3*/ -#define SARADC_TOUCH_MEAS_OUT3 0x0000FFFF -#define SARADC_TOUCH_MEAS_OUT3_M ((SARADC_TOUCH_MEAS_OUT3_V)<<(SARADC_TOUCH_MEAS_OUT3_S)) -#define SARADC_TOUCH_MEAS_OUT3_V 0xFFFF -#define SARADC_TOUCH_MEAS_OUT3_S 0 - -#define SARADC_SAR_TOUCH_OUT3_REG (DR_REG_SARADC_BASE + 0x0078) -/* SARADC_TOUCH_MEAS_OUT4 : RO ;bitpos:[31:16] ;default: 16'h0 ; */ -/*description: the counter for touch pad 4*/ -#define SARADC_TOUCH_MEAS_OUT4 0x0000FFFF -#define SARADC_TOUCH_MEAS_OUT4_M ((SARADC_TOUCH_MEAS_OUT4_V)<<(SARADC_TOUCH_MEAS_OUT4_S)) -#define SARADC_TOUCH_MEAS_OUT4_V 0xFFFF -#define SARADC_TOUCH_MEAS_OUT4_S 16 -/* SARADC_TOUCH_MEAS_OUT5 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: the counter for touch pad 5*/ -#define SARADC_TOUCH_MEAS_OUT5 0x0000FFFF -#define SARADC_TOUCH_MEAS_OUT5_M ((SARADC_TOUCH_MEAS_OUT5_V)<<(SARADC_TOUCH_MEAS_OUT5_S)) -#define SARADC_TOUCH_MEAS_OUT5_V 0xFFFF -#define SARADC_TOUCH_MEAS_OUT5_S 0 - -#define SARADC_SAR_TOUCH_OUT4_REG (DR_REG_SARADC_BASE + 0x007c) -/* SARADC_TOUCH_MEAS_OUT6 : RO ;bitpos:[31:16] ;default: 16'h0 ; */ -/*description: the counter for touch pad 6*/ -#define SARADC_TOUCH_MEAS_OUT6 0x0000FFFF -#define SARADC_TOUCH_MEAS_OUT6_M ((SARADC_TOUCH_MEAS_OUT6_V)<<(SARADC_TOUCH_MEAS_OUT6_S)) -#define SARADC_TOUCH_MEAS_OUT6_V 0xFFFF -#define SARADC_TOUCH_MEAS_OUT6_S 16 -/* SARADC_TOUCH_MEAS_OUT7 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: the counter for touch pad 7*/ -#define SARADC_TOUCH_MEAS_OUT7 0x0000FFFF -#define SARADC_TOUCH_MEAS_OUT7_M ((SARADC_TOUCH_MEAS_OUT7_V)<<(SARADC_TOUCH_MEAS_OUT7_S)) -#define SARADC_TOUCH_MEAS_OUT7_V 0xFFFF -#define SARADC_TOUCH_MEAS_OUT7_S 0 - -#define SARADC_SAR_TOUCH_OUT5_REG (DR_REG_SARADC_BASE + 0x0080) -/* SARADC_TOUCH_MEAS_OUT8 : RO ;bitpos:[31:16] ;default: 16'h0 ; */ -/*description: the counter for touch pad 8*/ -#define SARADC_TOUCH_MEAS_OUT8 0x0000FFFF -#define SARADC_TOUCH_MEAS_OUT8_M ((SARADC_TOUCH_MEAS_OUT8_V)<<(SARADC_TOUCH_MEAS_OUT8_S)) -#define SARADC_TOUCH_MEAS_OUT8_V 0xFFFF -#define SARADC_TOUCH_MEAS_OUT8_S 16 -/* SARADC_TOUCH_MEAS_OUT9 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: the counter for touch pad 9*/ -#define SARADC_TOUCH_MEAS_OUT9 0x0000FFFF -#define SARADC_TOUCH_MEAS_OUT9_M ((SARADC_TOUCH_MEAS_OUT9_V)<<(SARADC_TOUCH_MEAS_OUT9_S)) -#define SARADC_TOUCH_MEAS_OUT9_V 0xFFFF -#define SARADC_TOUCH_MEAS_OUT9_S 0 - -#define SARADC_SAR_TOUCH_CTRL2_REG (DR_REG_SARADC_BASE + 0x0084) -/* SARADC_TOUCH_MEAS_EN_CLR : WO ;bitpos:[30] ;default: 1'h0 ; */ -/*description: to clear reg_touch_meas_en*/ -#define SARADC_TOUCH_MEAS_EN_CLR (BIT(30)) -#define SARADC_TOUCH_MEAS_EN_CLR_M (BIT(30)) -#define SARADC_TOUCH_MEAS_EN_CLR_V 0x1 -#define SARADC_TOUCH_MEAS_EN_CLR_S 30 -/* SARADC_TOUCH_SLEEP_CYCLES : R/W ;bitpos:[29:14] ;default: 16'h100 ; */ -/*description: sleep cycles for timer*/ -#define SARADC_TOUCH_SLEEP_CYCLES 0x0000FFFF -#define SARADC_TOUCH_SLEEP_CYCLES_M ((SARADC_TOUCH_SLEEP_CYCLES_V)<<(SARADC_TOUCH_SLEEP_CYCLES_S)) -#define SARADC_TOUCH_SLEEP_CYCLES_V 0xFFFF -#define SARADC_TOUCH_SLEEP_CYCLES_S 14 -/* SARADC_TOUCH_START_FORCE : R/W ;bitpos:[13] ;default: 1'h0 ; */ -/*description: 1: to start touch fsm by SW 0: to start touch fsm by timer*/ -#define SARADC_TOUCH_START_FORCE (BIT(13)) -#define SARADC_TOUCH_START_FORCE_M (BIT(13)) -#define SARADC_TOUCH_START_FORCE_V 0x1 -#define SARADC_TOUCH_START_FORCE_S 13 -/* SARADC_TOUCH_START_EN : R/W ;bitpos:[12] ;default: 1'h0 ; */ -/*description: 1: start touch fsm valid when reg_touch_start_force is set*/ -#define SARADC_TOUCH_START_EN (BIT(12)) -#define SARADC_TOUCH_START_EN_M (BIT(12)) -#define SARADC_TOUCH_START_EN_V 0x1 -#define SARADC_TOUCH_START_EN_S 12 -/* SARADC_TOUCH_START_FSM_EN : R/W ;bitpos:[11] ;default: 1'h1 ; */ -/*description: 1: TOUCH_START & TOUCH_XPD is controlled by touch fsm 0: TOUCH_START - & TOUCH_XPD is controlled by registers*/ -#define SARADC_TOUCH_START_FSM_EN (BIT(11)) -#define SARADC_TOUCH_START_FSM_EN_M (BIT(11)) -#define SARADC_TOUCH_START_FSM_EN_V 0x1 -#define SARADC_TOUCH_START_FSM_EN_S 11 -/* SARADC_TOUCH_MEAS_DONE : RO ;bitpos:[10] ;default: 1'h0 ; */ -/*description: fsm set 1 to indicate touch touch meas is done*/ -#define SARADC_TOUCH_MEAS_DONE (BIT(10)) -#define SARADC_TOUCH_MEAS_DONE_M (BIT(10)) -#define SARADC_TOUCH_MEAS_DONE_V 0x1 -#define SARADC_TOUCH_MEAS_DONE_S 10 -/* SARADC_TOUCH_MEAS_EN : RO ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: 10-bit register to indicate which pads are "touched"*/ -#define SARADC_TOUCH_MEAS_EN 0x000003FF -#define SARADC_TOUCH_MEAS_EN_M ((SARADC_TOUCH_MEAS_EN_V)<<(SARADC_TOUCH_MEAS_EN_S)) -#define SARADC_TOUCH_MEAS_EN_V 0x3FF -#define SARADC_TOUCH_MEAS_EN_S 0 - -#define SARADC_SAR_TOUCH_ENABLE_REG (DR_REG_SARADC_BASE + 0x008c) -/* SARADC_TOUCH_PAD_OUTEN1 : R/W ;bitpos:[29:20] ;default: 10'h3ff ; */ -/*description: Bitmap defining SET1 for generating wakeup interrupt. SET1 is - "touched" only if at least one of touch pad in SET1 is "touched".*/ -#define SARADC_TOUCH_PAD_OUTEN1 0x000003FF -#define SARADC_TOUCH_PAD_OUTEN1_M ((SARADC_TOUCH_PAD_OUTEN1_V)<<(SARADC_TOUCH_PAD_OUTEN1_S)) -#define SARADC_TOUCH_PAD_OUTEN1_V 0x3FF -#define SARADC_TOUCH_PAD_OUTEN1_S 20 -/* SARADC_TOUCH_PAD_OUTEN2 : R/W ;bitpos:[19:10] ;default: 10'h3ff ; */ -/*description: Bitmap defining SET2 for generating wakeup interrupt. SET2 is - "touched" only if at least one of touch pad in SET2 is "touched".*/ -#define SARADC_TOUCH_PAD_OUTEN2 0x000003FF -#define SARADC_TOUCH_PAD_OUTEN2_M ((SARADC_TOUCH_PAD_OUTEN2_V)<<(SARADC_TOUCH_PAD_OUTEN2_S)) -#define SARADC_TOUCH_PAD_OUTEN2_V 0x3FF -#define SARADC_TOUCH_PAD_OUTEN2_S 10 -/* SARADC_TOUCH_PAD_WORKEN : R/W ;bitpos:[9:0] ;default: 10'h3ff ; */ -/*description: Bitmap defining the working set during the measurement.*/ -#define SARADC_TOUCH_PAD_WORKEN 0x000003FF -#define SARADC_TOUCH_PAD_WORKEN_M ((SARADC_TOUCH_PAD_WORKEN_V)<<(SARADC_TOUCH_PAD_WORKEN_S)) -#define SARADC_TOUCH_PAD_WORKEN_V 0x3FF -#define SARADC_TOUCH_PAD_WORKEN_S 0 - -#define SARADC_SAR_READ_CTRL2_REG (DR_REG_SARADC_BASE + 0x0090) -/* SARADC_SAR2_DATA_INV : R/W ;bitpos:[29] ;default: 1'b0 ; */ -/*description: Invert SAR ADC2 data*/ -#define SARADC_SAR2_DATA_INV (BIT(29)) -#define SARADC_SAR2_DATA_INV_M (BIT(29)) -#define SARADC_SAR2_DATA_INV_V 0x1 -#define SARADC_SAR2_DATA_INV_S 29 -/* SARADC_SAR2_DIG_FORCE : R/W ;bitpos:[28] ;default: 1'b0 ; */ -/*description: 1: SAR ADC2 controlled by DIG ADC2 CTRL or PWDET CTRL 0: SAR - ADC2 controlled by RTC ADC2 CTRL*/ -#define SARADC_SAR2_DIG_FORCE (BIT(28)) -#define SARADC_SAR2_DIG_FORCE_M (BIT(28)) -#define SARADC_SAR2_DIG_FORCE_V 0x1 -#define SARADC_SAR2_DIG_FORCE_S 28 -/* SARADC_SAR2_PWDET_FORCE : R/W ;bitpos:[27] ;default: 1'b0 ; */ -/*description: */ -#define SARADC_SAR2_PWDET_FORCE (BIT(27)) -#define SARADC_SAR2_PWDET_FORCE_M (BIT(27)) -#define SARADC_SAR2_PWDET_FORCE_V 0x1 -#define SARADC_SAR2_PWDET_FORCE_S 27 -/* SARADC_SAR2_SAMPLE_NUM : R/W ;bitpos:[26:19] ;default: 8'd0 ; */ -/*description: */ -#define SARADC_SAR2_SAMPLE_NUM 0x000000FF -#define SARADC_SAR2_SAMPLE_NUM_M ((SARADC_SAR2_SAMPLE_NUM_V)<<(SARADC_SAR2_SAMPLE_NUM_S)) -#define SARADC_SAR2_SAMPLE_NUM_V 0xFF -#define SARADC_SAR2_SAMPLE_NUM_S 19 -/* SARADC_SAR2_CLK_GATED : R/W ;bitpos:[18] ;default: 1'b1 ; */ -/*description: */ -#define SARADC_SAR2_CLK_GATED (BIT(18)) -#define SARADC_SAR2_CLK_GATED_M (BIT(18)) -#define SARADC_SAR2_CLK_GATED_V 0x1 -#define SARADC_SAR2_CLK_GATED_S 18 -/* SARADC_SAR2_SAMPLE_BIT : R/W ;bitpos:[17:16] ;default: 2'd3 ; */ -/*description: 00: for 9-bit width 01: for 10-bit width 10: for 11-bit width - 11: for 12-bit width*/ -#define SARADC_SAR2_SAMPLE_BIT 0x00000003 -#define SARADC_SAR2_SAMPLE_BIT_M ((SARADC_SAR2_SAMPLE_BIT_V)<<(SARADC_SAR2_SAMPLE_BIT_S)) -#define SARADC_SAR2_SAMPLE_BIT_V 0x3 -#define SARADC_SAR2_SAMPLE_BIT_S 16 -/* SARADC_SAR2_SAMPLE_CYCLE : R/W ;bitpos:[15:8] ;default: 8'd9 ; */ -/*description: sample cycles for SAR ADC2*/ -#define SARADC_SAR2_SAMPLE_CYCLE 0x000000FF -#define SARADC_SAR2_SAMPLE_CYCLE_M ((SARADC_SAR2_SAMPLE_CYCLE_V)<<(SARADC_SAR2_SAMPLE_CYCLE_S)) -#define SARADC_SAR2_SAMPLE_CYCLE_V 0xFF -#define SARADC_SAR2_SAMPLE_CYCLE_S 8 -/* SARADC_SAR2_CLK_DIV : R/W ;bitpos:[7:0] ;default: 8'd2 ; */ -/*description: clock divider*/ -#define SARADC_SAR2_CLK_DIV 0x000000FF -#define SARADC_SAR2_CLK_DIV_M ((SARADC_SAR2_CLK_DIV_V)<<(SARADC_SAR2_CLK_DIV_S)) -#define SARADC_SAR2_CLK_DIV_V 0xFF -#define SARADC_SAR2_CLK_DIV_S 0 - -#define SARADC_SAR_MEAS_START2_REG (DR_REG_SARADC_BASE + 0x0094) -/* SARADC_SAR2_EN_PAD_FORCE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: 1: SAR ADC2 pad enable bitmap is controlled by SW 0: SAR ADC2 - pad enable bitmap is controlled by ULP-coprocessor*/ -#define SARADC_SAR2_EN_PAD_FORCE (BIT(31)) -#define SARADC_SAR2_EN_PAD_FORCE_M (BIT(31)) -#define SARADC_SAR2_EN_PAD_FORCE_V 0x1 -#define SARADC_SAR2_EN_PAD_FORCE_S 31 -/* SARADC_SAR2_EN_PAD : R/W ;bitpos:[30:19] ;default: 12'b0 ; */ -/*description: SAR ADC2 pad enable bitmap only active when reg_sar2_en_pad_force = 1*/ -#define SARADC_SAR2_EN_PAD 0x00000FFF -#define SARADC_SAR2_EN_PAD_M ((SARADC_SAR2_EN_PAD_V)<<(SARADC_SAR2_EN_PAD_S)) -#define SARADC_SAR2_EN_PAD_V 0xFFF -#define SARADC_SAR2_EN_PAD_S 19 -/* SARADC_MEAS2_START_FORCE : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: 1: SAR ADC2 controller (in RTC) is started by SW 0: SAR ADC2 - controller is started by ULP-coprocessor*/ -#define SARADC_MEAS2_START_FORCE (BIT(18)) -#define SARADC_MEAS2_START_FORCE_M (BIT(18)) -#define SARADC_MEAS2_START_FORCE_V 0x1 -#define SARADC_MEAS2_START_FORCE_S 18 -/* SARADC_MEAS2_START_SAR : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: SAR ADC2 controller (in RTC) starts conversion only active when - reg_meas2_start_force = 1*/ -#define SARADC_MEAS2_START_SAR (BIT(17)) -#define SARADC_MEAS2_START_SAR_M (BIT(17)) -#define SARADC_MEAS2_START_SAR_V 0x1 -#define SARADC_MEAS2_START_SAR_S 17 -/* SARADC_MEAS2_DONE_SAR : RO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: SAR ADC2 conversion done indication*/ -#define SARADC_MEAS2_DONE_SAR (BIT(16)) -#define SARADC_MEAS2_DONE_SAR_M (BIT(16)) -#define SARADC_MEAS2_DONE_SAR_V 0x1 -#define SARADC_MEAS2_DONE_SAR_S 16 -/* SARADC_MEAS2_DATA_SAR : RO ;bitpos:[15:0] ;default: 16'b0 ; */ -/*description: SAR ADC2 data*/ -#define SARADC_MEAS2_DATA_SAR 0x0000FFFF -#define SARADC_MEAS2_DATA_SAR_M ((SARADC_MEAS2_DATA_SAR_V)<<(SARADC_MEAS2_DATA_SAR_S)) -#define SARADC_MEAS2_DATA_SAR_V 0xFFFF -#define SARADC_MEAS2_DATA_SAR_S 0 - -#define SARADC_SAR_DAC_CTRL1_REG (DR_REG_SARADC_BASE + 0x0098) -/* SARADC_DAC_CLK_INV : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: 1: invert PDAC_CLK*/ -#define SARADC_DAC_CLK_INV (BIT(25)) -#define SARADC_DAC_CLK_INV_M (BIT(25)) -#define SARADC_DAC_CLK_INV_V 0x1 -#define SARADC_DAC_CLK_INV_S 25 -/* SARADC_DAC_CLK_FORCE_HIGH : R/W ;bitpos:[24] ;default: 1'b0 ; */ -/*description: 1: force PDAC_CLK to high*/ -#define SARADC_DAC_CLK_FORCE_HIGH (BIT(24)) -#define SARADC_DAC_CLK_FORCE_HIGH_M (BIT(24)) -#define SARADC_DAC_CLK_FORCE_HIGH_V 0x1 -#define SARADC_DAC_CLK_FORCE_HIGH_S 24 -/* SARADC_DAC_CLK_FORCE_LOW : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: 1: force PDAC_CLK to low*/ -#define SARADC_DAC_CLK_FORCE_LOW (BIT(23)) -#define SARADC_DAC_CLK_FORCE_LOW_M (BIT(23)) -#define SARADC_DAC_CLK_FORCE_LOW_V 0x1 -#define SARADC_DAC_CLK_FORCE_LOW_S 23 -/* SARADC_DAC_DIG_FORCE : R/W ;bitpos:[22] ;default: 1'b0 ; */ -/*description: 1: DAC1 & DAC2 use DMA 0: DAC1 & DAC2 do not use DMA*/ -#define SARADC_DAC_DIG_FORCE (BIT(22)) -#define SARADC_DAC_DIG_FORCE_M (BIT(22)) -#define SARADC_DAC_DIG_FORCE_V 0x1 -#define SARADC_DAC_DIG_FORCE_S 22 -/* SARADC_DEBUG_BIT_SEL : R/W ;bitpos:[21:17] ;default: 5'b0 ; */ -/*description: */ -#define SARADC_DEBUG_BIT_SEL 0x0000001F -#define SARADC_DEBUG_BIT_SEL_M ((SARADC_DEBUG_BIT_SEL_V)<<(SARADC_DEBUG_BIT_SEL_S)) -#define SARADC_DEBUG_BIT_SEL_V 0x1F -#define SARADC_DEBUG_BIT_SEL_S 17 -/* SARADC_SW_TONE_EN : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: 1: enable CW generator 0: disable CW generator*/ -#define SARADC_SW_TONE_EN (BIT(16)) -#define SARADC_SW_TONE_EN_M (BIT(16)) -#define SARADC_SW_TONE_EN_V 0x1 -#define SARADC_SW_TONE_EN_S 16 -/* SARADC_SW_FSTEP : R/W ;bitpos:[15:0] ;default: 16'b0 ; */ -/*description: frequency step for CW generator can be used to adjust the frequency*/ -#define SARADC_SW_FSTEP 0x0000FFFF -#define SARADC_SW_FSTEP_M ((SARADC_SW_FSTEP_V)<<(SARADC_SW_FSTEP_S)) -#define SARADC_SW_FSTEP_V 0xFFFF -#define SARADC_SW_FSTEP_S 0 - -#define SARADC_SAR_DAC_CTRL2_REG (DR_REG_SARADC_BASE + 0x009c) -/* SARADC_DAC_CW_EN2 : R/W ;bitpos:[25] ;default: 1'b1 ; */ -/*description: 1: to select CW generator as source to PDAC2_DAC[7:0] 0: to - select register reg_pdac2_dac[7:0] as source to PDAC2_DAC[7:0]*/ -#define SARADC_DAC_CW_EN2 (BIT(25)) -#define SARADC_DAC_CW_EN2_M (BIT(25)) -#define SARADC_DAC_CW_EN2_V 0x1 -#define SARADC_DAC_CW_EN2_S 25 -/* SARADC_DAC_CW_EN1 : R/W ;bitpos:[24] ;default: 1'b1 ; */ -/*description: 1: to select CW generator as source to PDAC1_DAC[7:0] 0: to - select register reg_pdac1_dac[7:0] as source to PDAC1_DAC[7:0]*/ -#define SARADC_DAC_CW_EN1 (BIT(24)) -#define SARADC_DAC_CW_EN1_M (BIT(24)) -#define SARADC_DAC_CW_EN1_V 0x1 -#define SARADC_DAC_CW_EN1_S 24 -/* SARADC_DAC_INV2 : R/W ;bitpos:[23:22] ;default: 2'b0 ; */ -/*description: 00: do not invert any bits 01: invert all bits 10: invert MSB - 11: invert all bits except MSB*/ -#define SARADC_DAC_INV2 0x00000003 -#define SARADC_DAC_INV2_M ((SARADC_DAC_INV2_V)<<(SARADC_DAC_INV2_S)) -#define SARADC_DAC_INV2_V 0x3 -#define SARADC_DAC_INV2_S 22 -/* SARADC_DAC_INV1 : R/W ;bitpos:[21:20] ;default: 2'b0 ; */ -/*description: 00: do not invert any bits 01: invert all bits 10: invert MSB - 11: invert all bits except MSB*/ -#define SARADC_DAC_INV1 0x00000003 -#define SARADC_DAC_INV1_M ((SARADC_DAC_INV1_V)<<(SARADC_DAC_INV1_S)) -#define SARADC_DAC_INV1_V 0x3 -#define SARADC_DAC_INV1_S 20 -/* SARADC_DAC_SCALE2 : R/W ;bitpos:[19:18] ;default: 2'b0 ; */ -/*description: 00: no scale 01: scale to 1/2 10: scale to 1/4 scale to 1/8*/ -#define SARADC_DAC_SCALE2 0x00000003 -#define SARADC_DAC_SCALE2_M ((SARADC_DAC_SCALE2_V)<<(SARADC_DAC_SCALE2_S)) -#define SARADC_DAC_SCALE2_V 0x3 -#define SARADC_DAC_SCALE2_S 18 -/* SARADC_DAC_SCALE1 : R/W ;bitpos:[17:16] ;default: 2'b0 ; */ -/*description: 00: no scale 01: scale to 1/2 10: scale to 1/4 scale to 1/8*/ -#define SARADC_DAC_SCALE1 0x00000003 -#define SARADC_DAC_SCALE1_M ((SARADC_DAC_SCALE1_V)<<(SARADC_DAC_SCALE1_S)) -#define SARADC_DAC_SCALE1_V 0x3 -#define SARADC_DAC_SCALE1_S 16 -/* SARADC_DAC_DC2 : R/W ;bitpos:[15:8] ;default: 8'b0 ; */ -/*description: DC offset for DAC2 CW generator*/ -#define SARADC_DAC_DC2 0x000000FF -#define SARADC_DAC_DC2_M ((SARADC_DAC_DC2_V)<<(SARADC_DAC_DC2_S)) -#define SARADC_DAC_DC2_V 0xFF -#define SARADC_DAC_DC2_S 8 -/* SARADC_DAC_DC1 : R/W ;bitpos:[7:0] ;default: 8'b0 ; */ -/*description: DC offset for DAC1 CW generator*/ -#define SARADC_DAC_DC1 0x000000FF -#define SARADC_DAC_DC1_M ((SARADC_DAC_DC1_V)<<(SARADC_DAC_DC1_S)) -#define SARADC_DAC_DC1_V 0xFF -#define SARADC_DAC_DC1_S 0 - -#define SARADC_SAR_MEAS_CTRL2_REG (DR_REG_SARADC_BASE + 0x0a0) -/* SARADC_AMP_SHORT_REF_GND_FORCE : R/W ;bitpos:[18:17] ;default: 2'b0 ; */ -/*description: */ -#define SARADC_AMP_SHORT_REF_GND_FORCE 0x00000003 -#define SARADC_AMP_SHORT_REF_GND_FORCE_M ((SARADC_AMP_SHORT_REF_GND_FORCE_V)<<(SARADC_AMP_SHORT_REF_GND_FORCE_S)) -#define SARADC_AMP_SHORT_REF_GND_FORCE_V 0x3 -#define SARADC_AMP_SHORT_REF_GND_FORCE_S 17 -/* SARADC_AMP_SHORT_REF_FORCE : R/W ;bitpos:[16:15] ;default: 2'b0 ; */ -/*description: */ -#define SARADC_AMP_SHORT_REF_FORCE 0x00000003 -#define SARADC_AMP_SHORT_REF_FORCE_M ((SARADC_AMP_SHORT_REF_FORCE_V)<<(SARADC_AMP_SHORT_REF_FORCE_S)) -#define SARADC_AMP_SHORT_REF_FORCE_V 0x3 -#define SARADC_AMP_SHORT_REF_FORCE_S 15 -/* SARADC_AMP_RST_FB_FORCE : R/W ;bitpos:[14:13] ;default: 2'b0 ; */ -/*description: */ -#define SARADC_AMP_RST_FB_FORCE 0x00000003 -#define SARADC_AMP_RST_FB_FORCE_M ((SARADC_AMP_RST_FB_FORCE_V)<<(SARADC_AMP_RST_FB_FORCE_S)) -#define SARADC_AMP_RST_FB_FORCE_V 0x3 -#define SARADC_AMP_RST_FB_FORCE_S 13 -/* SARADC_SAR2_RSTB_FORCE : R/W ;bitpos:[12:11] ;default: 2'b0 ; */ -/*description: */ -#define SARADC_SAR2_RSTB_FORCE 0x00000003 -#define SARADC_SAR2_RSTB_FORCE_M ((SARADC_SAR2_RSTB_FORCE_V)<<(SARADC_SAR2_RSTB_FORCE_S)) -#define SARADC_SAR2_RSTB_FORCE_V 0x3 -#define SARADC_SAR2_RSTB_FORCE_S 11 -/* SARADC_SAR_RSTB_FSM_IDLE : R/W ;bitpos:[10] ;default: 1'b0 ; */ -/*description: */ -#define SARADC_SAR_RSTB_FSM_IDLE (BIT(10)) -#define SARADC_SAR_RSTB_FSM_IDLE_M (BIT(10)) -#define SARADC_SAR_RSTB_FSM_IDLE_V 0x1 -#define SARADC_SAR_RSTB_FSM_IDLE_S 10 -/* SARADC_XPD_SAR_FSM_IDLE : R/W ;bitpos:[9] ;default: 1'b0 ; */ -/*description: */ -#define SARADC_XPD_SAR_FSM_IDLE (BIT(9)) -#define SARADC_XPD_SAR_FSM_IDLE_M (BIT(9)) -#define SARADC_XPD_SAR_FSM_IDLE_V 0x1 -#define SARADC_XPD_SAR_FSM_IDLE_S 9 -/* SARADC_AMP_SHORT_REF_GND_FSM_IDLE : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: */ -#define SARADC_AMP_SHORT_REF_GND_FSM_IDLE (BIT(8)) -#define SARADC_AMP_SHORT_REF_GND_FSM_IDLE_M (BIT(8)) -#define SARADC_AMP_SHORT_REF_GND_FSM_IDLE_V 0x1 -#define SARADC_AMP_SHORT_REF_GND_FSM_IDLE_S 8 -/* SARADC_AMP_SHORT_REF_FSM_IDLE : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: */ -#define SARADC_AMP_SHORT_REF_FSM_IDLE (BIT(7)) -#define SARADC_AMP_SHORT_REF_FSM_IDLE_M (BIT(7)) -#define SARADC_AMP_SHORT_REF_FSM_IDLE_V 0x1 -#define SARADC_AMP_SHORT_REF_FSM_IDLE_S 7 -/* SARADC_AMP_RST_FB_FSM_IDLE : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: */ -#define SARADC_AMP_RST_FB_FSM_IDLE (BIT(6)) -#define SARADC_AMP_RST_FB_FSM_IDLE_M (BIT(6)) -#define SARADC_AMP_RST_FB_FSM_IDLE_V 0x1 -#define SARADC_AMP_RST_FB_FSM_IDLE_S 6 -/* SARADC_XPD_SAR_AMP_FSM_IDLE : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: */ -#define SARADC_XPD_SAR_AMP_FSM_IDLE (BIT(5)) -#define SARADC_XPD_SAR_AMP_FSM_IDLE_M (BIT(5)) -#define SARADC_XPD_SAR_AMP_FSM_IDLE_V 0x1 -#define SARADC_XPD_SAR_AMP_FSM_IDLE_S 5 -/* SARADC_SAR1_DAC_XPD_FSM_IDLE : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: */ -#define SARADC_SAR1_DAC_XPD_FSM_IDLE (BIT(4)) -#define SARADC_SAR1_DAC_XPD_FSM_IDLE_M (BIT(4)) -#define SARADC_SAR1_DAC_XPD_FSM_IDLE_V 0x1 -#define SARADC_SAR1_DAC_XPD_FSM_IDLE_S 4 -/* SARADC_SAR1_DAC_XPD_FSM : R/W ;bitpos:[3:0] ;default: 4'b0011 ; */ -/*description: */ -#define SARADC_SAR1_DAC_XPD_FSM 0x0000000F -#define SARADC_SAR1_DAC_XPD_FSM_M ((SARADC_SAR1_DAC_XPD_FSM_V)<<(SARADC_SAR1_DAC_XPD_FSM_S)) -#define SARADC_SAR1_DAC_XPD_FSM_V 0xF -#define SARADC_SAR1_DAC_XPD_FSM_S 0 - -#define SARADC_SAR_NOUSE_REG (DR_REG_SARADC_BASE + 0x00F8) -/* SARADC_SAR_NOUSE : R/W ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define SARADC_SAR_NOUSE 0xFFFFFFFF -#define SARADC_SAR_NOUSE_M ((SARADC_SAR_NOUSE_V)<<(SARADC_SAR_NOUSE_S)) -#define SARADC_SAR_NOUSE_V 0xFFFFFFFF -#define SARADC_SAR_NOUSE_S 0 - -#define SARADC_SARDATE_REG (DR_REG_SARADC_BASE + 0x00FC) -/* SARADC_SAR_DATE : R/W ;bitpos:[27:0] ;default: 28'h1605180 ; */ -/*description: */ -#define SARADC_SAR_DATE 0x0FFFFFFF -#define SARADC_SAR_DATE_M ((SARADC_SAR_DATE_V)<<(SARADC_SAR_DATE_S)) -#define SARADC_SAR_DATE_V 0xFFFFFFF -#define SARADC_SAR_DATE_S 0 - - - - -#endif /*_SOC_SARADC_REG_H_ */ - - diff --git a/tools/sdk/include/esp32/soc/sens_reg.h b/tools/sdk/include/esp32/soc/sens_reg.h new file mode 100644 index 00000000..0a032d21 --- /dev/null +++ b/tools/sdk/include/esp32/soc/sens_reg.h @@ -0,0 +1,1047 @@ +// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at + +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +#ifndef _SOC_SENS_REG_H_ +#define _SOC_SENS_REG_H_ + + +#include "soc.h" +#define SENS_SAR_READ_CTRL_REG (DR_REG_SENS_BASE + 0x0000) +/* SENS_SAR1_DATA_INV : R/W ;bitpos:[28] ;default: 1'd0 ; */ +/*description: Invert SAR ADC1 data*/ +#define SENS_SAR1_DATA_INV (BIT(28)) +#define SENS_SAR1_DATA_INV_M (BIT(28)) +#define SENS_SAR1_DATA_INV_V 0x1 +#define SENS_SAR1_DATA_INV_S 28 +/* SENS_SAR1_DIG_FORCE : R/W ;bitpos:[27] ;default: 1'd0 ; */ +/*description: 1: SAR ADC1 controlled by DIG ADC1 CTRL 0: SAR ADC1 controlled by RTC ADC1 CTRL*/ +#define SENS_SAR1_DIG_FORCE (BIT(27)) +#define SENS_SAR1_DIG_FORCE_M (BIT(27)) +#define SENS_SAR1_DIG_FORCE_V 0x1 +#define SENS_SAR1_DIG_FORCE_S 27 +/* SENS_SAR1_SAMPLE_NUM : R/W ;bitpos:[26:19] ;default: 8'd0 ; */ +/*description: */ +#define SENS_SAR1_SAMPLE_NUM 0x000000FF +#define SENS_SAR1_SAMPLE_NUM_M ((SENS_SAR1_SAMPLE_NUM_V)<<(SENS_SAR1_SAMPLE_NUM_S)) +#define SENS_SAR1_SAMPLE_NUM_V 0xFF +#define SENS_SAR1_SAMPLE_NUM_S 19 +/* SENS_SAR1_CLK_GATED : R/W ;bitpos:[18] ;default: 1'b1 ; */ +/*description: */ +#define SENS_SAR1_CLK_GATED (BIT(18)) +#define SENS_SAR1_CLK_GATED_M (BIT(18)) +#define SENS_SAR1_CLK_GATED_V 0x1 +#define SENS_SAR1_CLK_GATED_S 18 +/* SENS_SAR1_SAMPLE_BIT : R/W ;bitpos:[17:16] ;default: 2'd3 ; */ +/*description: 00: for 9-bit width 01: for 10-bit width 10: for 11-bit width + 11: for 12-bit width*/ +#define SENS_SAR1_SAMPLE_BIT 0x00000003 +#define SENS_SAR1_SAMPLE_BIT_M ((SENS_SAR1_SAMPLE_BIT_V)<<(SENS_SAR1_SAMPLE_BIT_S)) +#define SENS_SAR1_SAMPLE_BIT_V 0x3 +#define SENS_SAR1_SAMPLE_BIT_S 16 +/* SENS_SAR1_SAMPLE_CYCLE : R/W ;bitpos:[15:8] ;default: 8'd9 ; */ +/*description: sample cycles for SAR ADC1*/ +#define SENS_SAR1_SAMPLE_CYCLE 0x000000FF +#define SENS_SAR1_SAMPLE_CYCLE_M ((SENS_SAR1_SAMPLE_CYCLE_V)<<(SENS_SAR1_SAMPLE_CYCLE_S)) +#define SENS_SAR1_SAMPLE_CYCLE_V 0xFF +#define SENS_SAR1_SAMPLE_CYCLE_S 8 +/* SENS_SAR1_CLK_DIV : R/W ;bitpos:[7:0] ;default: 8'd2 ; */ +/*description: clock divider*/ +#define SENS_SAR1_CLK_DIV 0x000000FF +#define SENS_SAR1_CLK_DIV_M ((SENS_SAR1_CLK_DIV_V)<<(SENS_SAR1_CLK_DIV_S)) +#define SENS_SAR1_CLK_DIV_V 0xFF +#define SENS_SAR1_CLK_DIV_S 0 + +#define SENS_SAR_READ_STATUS1_REG (DR_REG_SENS_BASE + 0x0004) +/* SENS_SAR1_READER_STATUS : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define SENS_SAR1_READER_STATUS 0xFFFFFFFF +#define SENS_SAR1_READER_STATUS_M ((SENS_SAR1_READER_STATUS_V)<<(SENS_SAR1_READER_STATUS_S)) +#define SENS_SAR1_READER_STATUS_V 0xFFFFFFFF +#define SENS_SAR1_READER_STATUS_S 0 + +#define SENS_SAR_MEAS_WAIT1_REG (DR_REG_SENS_BASE + 0x0008) +/* SENS_SAR_AMP_WAIT2 : R/W ;bitpos:[31:16] ;default: 16'd10 ; */ +/*description: */ +#define SENS_SAR_AMP_WAIT2 0x0000FFFF +#define SENS_SAR_AMP_WAIT2_M ((SENS_SAR_AMP_WAIT2_V)<<(SENS_SAR_AMP_WAIT2_S)) +#define SENS_SAR_AMP_WAIT2_V 0xFFFF +#define SENS_SAR_AMP_WAIT2_S 16 +/* SENS_SAR_AMP_WAIT1 : R/W ;bitpos:[15:0] ;default: 16'd10 ; */ +/*description: */ +#define SENS_SAR_AMP_WAIT1 0x0000FFFF +#define SENS_SAR_AMP_WAIT1_M ((SENS_SAR_AMP_WAIT1_V)<<(SENS_SAR_AMP_WAIT1_S)) +#define SENS_SAR_AMP_WAIT1_V 0xFFFF +#define SENS_SAR_AMP_WAIT1_S 0 + +#define SENS_SAR_MEAS_WAIT2_REG (DR_REG_SENS_BASE + 0x000c) +/* SENS_SAR2_RSTB_WAIT : R/W ;bitpos:[27:20] ;default: 8'd2 ; */ +/*description: */ +#define SENS_SAR2_RSTB_WAIT 0x000000FF +#define SENS_SAR2_RSTB_WAIT_M ((SENS_SAR2_RSTB_WAIT_V)<<(SENS_SAR2_RSTB_WAIT_S)) +#define SENS_SAR2_RSTB_WAIT_V 0xFF +#define SENS_SAR2_RSTB_WAIT_S 20 +/* SENS_FORCE_XPD_SAR : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ +/*description: */ +#define SENS_FORCE_XPD_SAR 0x00000003 +#define SENS_FORCE_XPD_SAR_M ((SENS_FORCE_XPD_SAR_V)<<(SENS_FORCE_XPD_SAR_S)) +#define SENS_FORCE_XPD_SAR_V 0x3 +#define SENS_FORCE_XPD_SAR_S 18 +/* SENS_FORCE_XPD_AMP : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ +/*description: */ +#define SENS_FORCE_XPD_AMP 0x00000003 +#define SENS_FORCE_XPD_AMP_M ((SENS_FORCE_XPD_AMP_V)<<(SENS_FORCE_XPD_AMP_S)) +#define SENS_FORCE_XPD_AMP_V 0x3 +#define SENS_FORCE_XPD_AMP_S 16 +/* SENS_SAR_AMP_WAIT3 : R/W ;bitpos:[15:0] ;default: 16'd10 ; */ +/*description: */ +#define SENS_SAR_AMP_WAIT3 0x0000FFFF +#define SENS_SAR_AMP_WAIT3_M ((SENS_SAR_AMP_WAIT3_V)<<(SENS_SAR_AMP_WAIT3_S)) +#define SENS_SAR_AMP_WAIT3_V 0xFFFF +#define SENS_SAR_AMP_WAIT3_S 0 + +#define SENS_SAR_MEAS_CTRL_REG (DR_REG_SENS_BASE + 0x0010) +/* SENS_SAR2_XPD_WAIT : R/W ;bitpos:[31:24] ;default: 8'h7 ; */ +/*description: */ +#define SENS_SAR2_XPD_WAIT 0x000000FF +#define SENS_SAR2_XPD_WAIT_M ((SENS_SAR2_XPD_WAIT_V)<<(SENS_SAR2_XPD_WAIT_S)) +#define SENS_SAR2_XPD_WAIT_V 0xFF +#define SENS_SAR2_XPD_WAIT_S 24 +/* SENS_SAR_RSTB_FSM : R/W ;bitpos:[23:20] ;default: 4'b0000 ; */ +/*description: */ +#define SENS_SAR_RSTB_FSM 0x0000000F +#define SENS_SAR_RSTB_FSM_M ((SENS_SAR_RSTB_FSM_V)<<(SENS_SAR_RSTB_FSM_S)) +#define SENS_SAR_RSTB_FSM_V 0xF +#define SENS_SAR_RSTB_FSM_S 20 +/* SENS_XPD_SAR_FSM : R/W ;bitpos:[19:16] ;default: 4'b0111 ; */ +/*description: */ +#define SENS_XPD_SAR_FSM 0x0000000F +#define SENS_XPD_SAR_FSM_M ((SENS_XPD_SAR_FSM_V)<<(SENS_XPD_SAR_FSM_S)) +#define SENS_XPD_SAR_FSM_V 0xF +#define SENS_XPD_SAR_FSM_S 16 +/* SENS_AMP_SHORT_REF_GND_FSM : R/W ;bitpos:[15:12] ;default: 4'b0011 ; */ +/*description: */ +#define SENS_AMP_SHORT_REF_GND_FSM 0x0000000F +#define SENS_AMP_SHORT_REF_GND_FSM_M ((SENS_AMP_SHORT_REF_GND_FSM_V)<<(SENS_AMP_SHORT_REF_GND_FSM_S)) +#define SENS_AMP_SHORT_REF_GND_FSM_V 0xF +#define SENS_AMP_SHORT_REF_GND_FSM_S 12 +/* SENS_AMP_SHORT_REF_FSM : R/W ;bitpos:[11:8] ;default: 4'b0011 ; */ +/*description: */ +#define SENS_AMP_SHORT_REF_FSM 0x0000000F +#define SENS_AMP_SHORT_REF_FSM_M ((SENS_AMP_SHORT_REF_FSM_V)<<(SENS_AMP_SHORT_REF_FSM_S)) +#define SENS_AMP_SHORT_REF_FSM_V 0xF +#define SENS_AMP_SHORT_REF_FSM_S 8 +/* SENS_AMP_RST_FB_FSM : R/W ;bitpos:[7:4] ;default: 4'b1000 ; */ +/*description: */ +#define SENS_AMP_RST_FB_FSM 0x0000000F +#define SENS_AMP_RST_FB_FSM_M ((SENS_AMP_RST_FB_FSM_V)<<(SENS_AMP_RST_FB_FSM_S)) +#define SENS_AMP_RST_FB_FSM_V 0xF +#define SENS_AMP_RST_FB_FSM_S 4 +/* SENS_XPD_SAR_AMP_FSM : R/W ;bitpos:[3:0] ;default: 4'b1111 ; */ +/*description: */ +#define SENS_XPD_SAR_AMP_FSM 0x0000000F +#define SENS_XPD_SAR_AMP_FSM_M ((SENS_XPD_SAR_AMP_FSM_V)<<(SENS_XPD_SAR_AMP_FSM_S)) +#define SENS_XPD_SAR_AMP_FSM_V 0xF +#define SENS_XPD_SAR_AMP_FSM_S 0 + +#define SENS_SAR_READ_STATUS2_REG (DR_REG_SENS_BASE + 0x0014) +/* SENS_SAR2_READER_STATUS : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define SENS_SAR2_READER_STATUS 0xFFFFFFFF +#define SENS_SAR2_READER_STATUS_M ((SENS_SAR2_READER_STATUS_V)<<(SENS_SAR2_READER_STATUS_S)) +#define SENS_SAR2_READER_STATUS_V 0xFFFFFFFF +#define SENS_SAR2_READER_STATUS_S 0 + +#define SENS_ULP_CP_SLEEP_CYC0_REG (DR_REG_SENS_BASE + 0x0018) +/* SENS_SLEEP_CYCLES_S0 : R/W ;bitpos:[31:0] ;default: 32'd200 ; */ +/*description: sleep cycles for ULP-coprocessor timer*/ +#define SENS_SLEEP_CYCLES_S0 0xFFFFFFFF +#define SENS_SLEEP_CYCLES_S0_M ((SENS_SLEEP_CYCLES_S0_V)<<(SENS_SLEEP_CYCLES_S0_S)) +#define SENS_SLEEP_CYCLES_S0_V 0xFFFFFFFF +#define SENS_SLEEP_CYCLES_S0_S 0 + +#define SENS_ULP_CP_SLEEP_CYC1_REG (DR_REG_SENS_BASE + 0x001c) +/* SENS_SLEEP_CYCLES_S1 : R/W ;bitpos:[31:0] ;default: 32'd100 ; */ +/*description: */ +#define SENS_SLEEP_CYCLES_S1 0xFFFFFFFF +#define SENS_SLEEP_CYCLES_S1_M ((SENS_SLEEP_CYCLES_S1_V)<<(SENS_SLEEP_CYCLES_S1_S)) +#define SENS_SLEEP_CYCLES_S1_V 0xFFFFFFFF +#define SENS_SLEEP_CYCLES_S1_S 0 + +#define SENS_ULP_CP_SLEEP_CYC2_REG (DR_REG_SENS_BASE + 0x0020) +/* SENS_SLEEP_CYCLES_S2 : R/W ;bitpos:[31:0] ;default: 32'd50 ; */ +/*description: */ +#define SENS_SLEEP_CYCLES_S2 0xFFFFFFFF +#define SENS_SLEEP_CYCLES_S2_M ((SENS_SLEEP_CYCLES_S2_V)<<(SENS_SLEEP_CYCLES_S2_S)) +#define SENS_SLEEP_CYCLES_S2_V 0xFFFFFFFF +#define SENS_SLEEP_CYCLES_S2_S 0 + +#define SENS_ULP_CP_SLEEP_CYC3_REG (DR_REG_SENS_BASE + 0x0024) +/* SENS_SLEEP_CYCLES_S3 : R/W ;bitpos:[31:0] ;default: 32'd40 ; */ +/*description: */ +#define SENS_SLEEP_CYCLES_S3 0xFFFFFFFF +#define SENS_SLEEP_CYCLES_S3_M ((SENS_SLEEP_CYCLES_S3_V)<<(SENS_SLEEP_CYCLES_S3_S)) +#define SENS_SLEEP_CYCLES_S3_V 0xFFFFFFFF +#define SENS_SLEEP_CYCLES_S3_S 0 + +#define SENS_ULP_CP_SLEEP_CYC4_REG (DR_REG_SENS_BASE + 0x0028) +/* SENS_SLEEP_CYCLES_S4 : R/W ;bitpos:[31:0] ;default: 32'd20 ; */ +/*description: */ +#define SENS_SLEEP_CYCLES_S4 0xFFFFFFFF +#define SENS_SLEEP_CYCLES_S4_M ((SENS_SLEEP_CYCLES_S4_V)<<(SENS_SLEEP_CYCLES_S4_S)) +#define SENS_SLEEP_CYCLES_S4_V 0xFFFFFFFF +#define SENS_SLEEP_CYCLES_S4_S 0 + +#define SENS_SAR_START_FORCE_REG (DR_REG_SENS_BASE + 0x002c) +/* SENS_SAR2_PWDET_EN : R/W ;bitpos:[24] ;default: 1'b0 ; */ +/*description: N/A*/ +#define SENS_SAR2_PWDET_EN (BIT(24)) +#define SENS_SAR2_PWDET_EN_M (BIT(24)) +#define SENS_SAR2_PWDET_EN_V 0x1 +#define SENS_SAR2_PWDET_EN_S 24 +/* SENS_SAR1_STOP : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: stop SAR ADC1 conversion*/ +#define SENS_SAR1_STOP (BIT(23)) +#define SENS_SAR1_STOP_M (BIT(23)) +#define SENS_SAR1_STOP_V 0x1 +#define SENS_SAR1_STOP_S 23 +/* SENS_SAR2_STOP : R/W ;bitpos:[22] ;default: 1'b0 ; */ +/*description: stop SAR ADC2 conversion*/ +#define SENS_SAR2_STOP (BIT(22)) +#define SENS_SAR2_STOP_M (BIT(22)) +#define SENS_SAR2_STOP_V 0x1 +#define SENS_SAR2_STOP_S 22 +/* SENS_PC_INIT : R/W ;bitpos:[21:11] ;default: 11'b0 ; */ +/*description: initialized PC for ULP-coprocessor*/ +#define SENS_PC_INIT 0x000007FF +#define SENS_PC_INIT_M ((SENS_PC_INIT_V)<<(SENS_PC_INIT_S)) +#define SENS_PC_INIT_V 0x7FF +#define SENS_PC_INIT_S 11 +/* SENS_SARCLK_EN : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: */ +#define SENS_SARCLK_EN (BIT(10)) +#define SENS_SARCLK_EN_M (BIT(10)) +#define SENS_SARCLK_EN_V 0x1 +#define SENS_SARCLK_EN_S 10 +/* SENS_ULP_CP_START_TOP : R/W ;bitpos:[9] ;default: 1'b0 ; */ +/*description: Write 1 to start ULP-coprocessor only active when reg_ulp_cp_force_start_top + = 1*/ +#define SENS_ULP_CP_START_TOP (BIT(9)) +#define SENS_ULP_CP_START_TOP_M (BIT(9)) +#define SENS_ULP_CP_START_TOP_V 0x1 +#define SENS_ULP_CP_START_TOP_S 9 +/* SENS_ULP_CP_FORCE_START_TOP : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: 1: ULP-coprocessor is started by SW 0: ULP-coprocessor is started by timer*/ +#define SENS_ULP_CP_FORCE_START_TOP (BIT(8)) +#define SENS_ULP_CP_FORCE_START_TOP_M (BIT(8)) +#define SENS_ULP_CP_FORCE_START_TOP_V 0x1 +#define SENS_ULP_CP_FORCE_START_TOP_S 8 +/* SENS_SAR2_PWDET_CCT : R/W ;bitpos:[7:5] ;default: 3'b0 ; */ +/*description: SAR2_PWDET_CCT PA power detector capacitance tuning.*/ +#define SENS_SAR2_PWDET_CCT 0x00000007 +#define SENS_SAR2_PWDET_CCT_M ((SENS_SAR2_PWDET_CCT_V)<<(SENS_SAR2_PWDET_CCT_S)) +#define SENS_SAR2_PWDET_CCT_V 0x7 +#define SENS_SAR2_PWDET_CCT_S 5 +/* SENS_SAR2_EN_TEST : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: SAR2_EN_TEST only active when reg_sar2_dig_force = 0*/ +#define SENS_SAR2_EN_TEST (BIT(4)) +#define SENS_SAR2_EN_TEST_M (BIT(4)) +#define SENS_SAR2_EN_TEST_V 0x1 +#define SENS_SAR2_EN_TEST_S 4 +/* SENS_SAR2_BIT_WIDTH : R/W ;bitpos:[3:2] ;default: 2'b11 ; */ +/*description: 00: 9 bit 01: 10 bits 10: 11bits 11: 12bits*/ +#define SENS_SAR2_BIT_WIDTH 0x00000003 +#define SENS_SAR2_BIT_WIDTH_M ((SENS_SAR2_BIT_WIDTH_V)<<(SENS_SAR2_BIT_WIDTH_S)) +#define SENS_SAR2_BIT_WIDTH_V 0x3 +#define SENS_SAR2_BIT_WIDTH_S 2 +/* SENS_SAR1_BIT_WIDTH : R/W ;bitpos:[1:0] ;default: 2'b11 ; */ +/*description: 00: 9 bit 01: 10 bits 10: 11bits 11: 12bits*/ +#define SENS_SAR1_BIT_WIDTH 0x00000003 +#define SENS_SAR1_BIT_WIDTH_M ((SENS_SAR1_BIT_WIDTH_V)<<(SENS_SAR1_BIT_WIDTH_S)) +#define SENS_SAR1_BIT_WIDTH_V 0x3 +#define SENS_SAR1_BIT_WIDTH_S 0 + +#define SENS_SAR_MEM_WR_CTRL_REG (DR_REG_SENS_BASE + 0x0030) +/* SENS_RTC_MEM_WR_OFFST_CLR : WO ;bitpos:[22] ;default: 1'd0 ; */ +/*description: */ +#define SENS_RTC_MEM_WR_OFFST_CLR (BIT(22)) +#define SENS_RTC_MEM_WR_OFFST_CLR_M (BIT(22)) +#define SENS_RTC_MEM_WR_OFFST_CLR_V 0x1 +#define SENS_RTC_MEM_WR_OFFST_CLR_S 22 +/* SENS_MEM_WR_ADDR_SIZE : R/W ;bitpos:[21:11] ;default: 11'd512 ; */ +/*description: */ +#define SENS_MEM_WR_ADDR_SIZE 0x000007FF +#define SENS_MEM_WR_ADDR_SIZE_M ((SENS_MEM_WR_ADDR_SIZE_V)<<(SENS_MEM_WR_ADDR_SIZE_S)) +#define SENS_MEM_WR_ADDR_SIZE_V 0x7FF +#define SENS_MEM_WR_ADDR_SIZE_S 11 +/* SENS_MEM_WR_ADDR_INIT : R/W ;bitpos:[10:0] ;default: 11'd512 ; */ +/*description: */ +#define SENS_MEM_WR_ADDR_INIT 0x000007FF +#define SENS_MEM_WR_ADDR_INIT_M ((SENS_MEM_WR_ADDR_INIT_V)<<(SENS_MEM_WR_ADDR_INIT_S)) +#define SENS_MEM_WR_ADDR_INIT_V 0x7FF +#define SENS_MEM_WR_ADDR_INIT_S 0 + +#define SENS_SAR_ATTEN1_REG (DR_REG_SENS_BASE + 0x0034) +/* SENS_SAR1_ATTEN : R/W ;bitpos:[31:0] ;default: 32'hffffffff ; */ +/*description: 2-bit attenuation for each pad 11:1dB 10:6dB 01:3dB 00:0dB*/ +#define SENS_SAR1_ATTEN 0xFFFFFFFF +#define SENS_SAR1_ATTEN_M ((SENS_SAR1_ATTEN_V)<<(SENS_SAR1_ATTEN_S)) +#define SENS_SAR1_ATTEN_V 0xFFFFFFFF +#define SENS_SAR1_ATTEN_S 0 + +#define SENS_SAR_ATTEN2_REG (DR_REG_SENS_BASE + 0x0038) +/* SENS_SAR2_ATTEN : R/W ;bitpos:[31:0] ;default: 32'hffffffff ; */ +/*description: 2-bit attenuation for each pad 11:1dB 10:6dB 01:3dB 00:0dB*/ +#define SENS_SAR2_ATTEN 0xFFFFFFFF +#define SENS_SAR2_ATTEN_M ((SENS_SAR2_ATTEN_V)<<(SENS_SAR2_ATTEN_S)) +#define SENS_SAR2_ATTEN_V 0xFFFFFFFF +#define SENS_SAR2_ATTEN_S 0 + +#define SENS_SAR_SLAVE_ADDR1_REG (DR_REG_SENS_BASE + 0x003c) +/* SENS_MEAS_STATUS : RO ;bitpos:[29:22] ;default: 8'h0 ; */ +/*description: */ +#define SENS_MEAS_STATUS 0x000000FF +#define SENS_MEAS_STATUS_M ((SENS_MEAS_STATUS_V)<<(SENS_MEAS_STATUS_S)) +#define SENS_MEAS_STATUS_V 0xFF +#define SENS_MEAS_STATUS_S 22 +/* SENS_I2C_SLAVE_ADDR0 : R/W ;bitpos:[21:11] ;default: 11'h0 ; */ +/*description: */ +#define SENS_I2C_SLAVE_ADDR0 0x000007FF +#define SENS_I2C_SLAVE_ADDR0_M ((SENS_I2C_SLAVE_ADDR0_V)<<(SENS_I2C_SLAVE_ADDR0_S)) +#define SENS_I2C_SLAVE_ADDR0_V 0x7FF +#define SENS_I2C_SLAVE_ADDR0_S 11 +/* SENS_I2C_SLAVE_ADDR1 : R/W ;bitpos:[10:0] ;default: 11'h0 ; */ +/*description: */ +#define SENS_I2C_SLAVE_ADDR1 0x000007FF +#define SENS_I2C_SLAVE_ADDR1_M ((SENS_I2C_SLAVE_ADDR1_V)<<(SENS_I2C_SLAVE_ADDR1_S)) +#define SENS_I2C_SLAVE_ADDR1_V 0x7FF +#define SENS_I2C_SLAVE_ADDR1_S 0 + +#define SENS_SAR_SLAVE_ADDR2_REG (DR_REG_SENS_BASE + 0x0040) +/* SENS_I2C_SLAVE_ADDR2 : R/W ;bitpos:[21:11] ;default: 11'h0 ; */ +/*description: */ +#define SENS_I2C_SLAVE_ADDR2 0x000007FF +#define SENS_I2C_SLAVE_ADDR2_M ((SENS_I2C_SLAVE_ADDR2_V)<<(SENS_I2C_SLAVE_ADDR2_S)) +#define SENS_I2C_SLAVE_ADDR2_V 0x7FF +#define SENS_I2C_SLAVE_ADDR2_S 11 +/* SENS_I2C_SLAVE_ADDR3 : R/W ;bitpos:[10:0] ;default: 11'h0 ; */ +/*description: */ +#define SENS_I2C_SLAVE_ADDR3 0x000007FF +#define SENS_I2C_SLAVE_ADDR3_M ((SENS_I2C_SLAVE_ADDR3_V)<<(SENS_I2C_SLAVE_ADDR3_S)) +#define SENS_I2C_SLAVE_ADDR3_V 0x7FF +#define SENS_I2C_SLAVE_ADDR3_S 0 + +#define SENS_SAR_SLAVE_ADDR3_REG (DR_REG_SENS_BASE + 0x0044) +/* SENS_TSENS_RDY_OUT : RO ;bitpos:[30] ;default: 1'h0 ; */ +/*description: indicate temperature sensor out ready*/ +#define SENS_TSENS_RDY_OUT (BIT(30)) +#define SENS_TSENS_RDY_OUT_M (BIT(30)) +#define SENS_TSENS_RDY_OUT_V 0x1 +#define SENS_TSENS_RDY_OUT_S 30 +/* SENS_TSENS_OUT : RO ;bitpos:[29:22] ;default: 8'h0 ; */ +/*description: temperature sensor data out*/ +#define SENS_TSENS_OUT 0x000000FF +#define SENS_TSENS_OUT_M ((SENS_TSENS_OUT_V)<<(SENS_TSENS_OUT_S)) +#define SENS_TSENS_OUT_V 0xFF +#define SENS_TSENS_OUT_S 22 +/* SENS_I2C_SLAVE_ADDR4 : R/W ;bitpos:[21:11] ;default: 11'h0 ; */ +/*description: */ +#define SENS_I2C_SLAVE_ADDR4 0x000007FF +#define SENS_I2C_SLAVE_ADDR4_M ((SENS_I2C_SLAVE_ADDR4_V)<<(SENS_I2C_SLAVE_ADDR4_S)) +#define SENS_I2C_SLAVE_ADDR4_V 0x7FF +#define SENS_I2C_SLAVE_ADDR4_S 11 +/* SENS_I2C_SLAVE_ADDR5 : R/W ;bitpos:[10:0] ;default: 11'h0 ; */ +/*description: */ +#define SENS_I2C_SLAVE_ADDR5 0x000007FF +#define SENS_I2C_SLAVE_ADDR5_M ((SENS_I2C_SLAVE_ADDR5_V)<<(SENS_I2C_SLAVE_ADDR5_S)) +#define SENS_I2C_SLAVE_ADDR5_V 0x7FF +#define SENS_I2C_SLAVE_ADDR5_S 0 + +#define SENS_SAR_SLAVE_ADDR4_REG (DR_REG_SENS_BASE + 0x0048) +/* SENS_I2C_DONE : RO ;bitpos:[30] ;default: 1'h0 ; */ +/*description: indicate I2C done*/ +#define SENS_I2C_DONE (BIT(30)) +#define SENS_I2C_DONE_M (BIT(30)) +#define SENS_I2C_DONE_V 0x1 +#define SENS_I2C_DONE_S 30 +/* SENS_I2C_RDATA : RO ;bitpos:[29:22] ;default: 8'h0 ; */ +/*description: I2C read data*/ +#define SENS_I2C_RDATA 0x000000FF +#define SENS_I2C_RDATA_M ((SENS_I2C_RDATA_V)<<(SENS_I2C_RDATA_S)) +#define SENS_I2C_RDATA_V 0xFF +#define SENS_I2C_RDATA_S 22 +/* SENS_I2C_SLAVE_ADDR6 : R/W ;bitpos:[21:11] ;default: 11'h0 ; */ +/*description: */ +#define SENS_I2C_SLAVE_ADDR6 0x000007FF +#define SENS_I2C_SLAVE_ADDR6_M ((SENS_I2C_SLAVE_ADDR6_V)<<(SENS_I2C_SLAVE_ADDR6_S)) +#define SENS_I2C_SLAVE_ADDR6_V 0x7FF +#define SENS_I2C_SLAVE_ADDR6_S 11 +/* SENS_I2C_SLAVE_ADDR7 : R/W ;bitpos:[10:0] ;default: 11'h0 ; */ +/*description: */ +#define SENS_I2C_SLAVE_ADDR7 0x000007FF +#define SENS_I2C_SLAVE_ADDR7_M ((SENS_I2C_SLAVE_ADDR7_V)<<(SENS_I2C_SLAVE_ADDR7_S)) +#define SENS_I2C_SLAVE_ADDR7_V 0x7FF +#define SENS_I2C_SLAVE_ADDR7_S 0 + +#define SENS_SAR_TSENS_CTRL_REG (DR_REG_SENS_BASE + 0x004c) +/* SENS_TSENS_DUMP_OUT : R/W ;bitpos:[26] ;default: 1'b0 ; */ +/*description: temperature sensor dump out only active when reg_tsens_power_up_force = 1*/ +#define SENS_TSENS_DUMP_OUT (BIT(26)) +#define SENS_TSENS_DUMP_OUT_M (BIT(26)) +#define SENS_TSENS_DUMP_OUT_V 0x1 +#define SENS_TSENS_DUMP_OUT_S 26 +/* SENS_TSENS_POWER_UP_FORCE : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: 1: dump out & power up controlled by SW 0: by FSM*/ +#define SENS_TSENS_POWER_UP_FORCE (BIT(25)) +#define SENS_TSENS_POWER_UP_FORCE_M (BIT(25)) +#define SENS_TSENS_POWER_UP_FORCE_V 0x1 +#define SENS_TSENS_POWER_UP_FORCE_S 25 +/* SENS_TSENS_POWER_UP : R/W ;bitpos:[24] ;default: 1'b0 ; */ +/*description: temperature sensor power up*/ +#define SENS_TSENS_POWER_UP (BIT(24)) +#define SENS_TSENS_POWER_UP_M (BIT(24)) +#define SENS_TSENS_POWER_UP_V 0x1 +#define SENS_TSENS_POWER_UP_S 24 +/* SENS_TSENS_CLK_DIV : R/W ;bitpos:[23:16] ;default: 8'd6 ; */ +/*description: temperature sensor clock divider*/ +#define SENS_TSENS_CLK_DIV 0x000000FF +#define SENS_TSENS_CLK_DIV_M ((SENS_TSENS_CLK_DIV_V)<<(SENS_TSENS_CLK_DIV_S)) +#define SENS_TSENS_CLK_DIV_V 0xFF +#define SENS_TSENS_CLK_DIV_S 16 +/* SENS_TSENS_IN_INV : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: invert temperature sensor data*/ +#define SENS_TSENS_IN_INV (BIT(15)) +#define SENS_TSENS_IN_INV_M (BIT(15)) +#define SENS_TSENS_IN_INV_V 0x1 +#define SENS_TSENS_IN_INV_S 15 +/* SENS_TSENS_CLK_GATED : R/W ;bitpos:[14] ;default: 1'b1 ; */ +/*description: */ +#define SENS_TSENS_CLK_GATED (BIT(14)) +#define SENS_TSENS_CLK_GATED_M (BIT(14)) +#define SENS_TSENS_CLK_GATED_V 0x1 +#define SENS_TSENS_CLK_GATED_S 14 +/* SENS_TSENS_CLK_INV : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: */ +#define SENS_TSENS_CLK_INV (BIT(13)) +#define SENS_TSENS_CLK_INV_M (BIT(13)) +#define SENS_TSENS_CLK_INV_V 0x1 +#define SENS_TSENS_CLK_INV_S 13 +/* SENS_TSENS_XPD_FORCE : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: */ +#define SENS_TSENS_XPD_FORCE (BIT(12)) +#define SENS_TSENS_XPD_FORCE_M (BIT(12)) +#define SENS_TSENS_XPD_FORCE_V 0x1 +#define SENS_TSENS_XPD_FORCE_S 12 +/* SENS_TSENS_XPD_WAIT : R/W ;bitpos:[11:0] ;default: 12'h2 ; */ +/*description: */ +#define SENS_TSENS_XPD_WAIT 0x00000FFF +#define SENS_TSENS_XPD_WAIT_M ((SENS_TSENS_XPD_WAIT_V)<<(SENS_TSENS_XPD_WAIT_S)) +#define SENS_TSENS_XPD_WAIT_V 0xFFF +#define SENS_TSENS_XPD_WAIT_S 0 + +#define SENS_SAR_I2C_CTRL_REG (DR_REG_SENS_BASE + 0x0050) +/* SENS_SAR_I2C_START_FORCE : R/W ;bitpos:[29] ;default: 1'b0 ; */ +/*description: 1: I2C started by SW 0: I2C started by FSM*/ +#define SENS_SAR_I2C_START_FORCE (BIT(29)) +#define SENS_SAR_I2C_START_FORCE_M (BIT(29)) +#define SENS_SAR_I2C_START_FORCE_V 0x1 +#define SENS_SAR_I2C_START_FORCE_S 29 +/* SENS_SAR_I2C_START : R/W ;bitpos:[28] ;default: 1'b0 ; */ +/*description: start I2C only active when reg_sar_i2c_start_force = 1*/ +#define SENS_SAR_I2C_START (BIT(28)) +#define SENS_SAR_I2C_START_M (BIT(28)) +#define SENS_SAR_I2C_START_V 0x1 +#define SENS_SAR_I2C_START_S 28 +/* SENS_SAR_I2C_CTRL : R/W ;bitpos:[27:0] ;default: 28'b0 ; */ +/*description: I2C control data only active when reg_sar_i2c_start_force = 1*/ +#define SENS_SAR_I2C_CTRL 0x0FFFFFFF +#define SENS_SAR_I2C_CTRL_M ((SENS_SAR_I2C_CTRL_V)<<(SENS_SAR_I2C_CTRL_S)) +#define SENS_SAR_I2C_CTRL_V 0xFFFFFFF +#define SENS_SAR_I2C_CTRL_S 0 + +#define SENS_SAR_MEAS_START1_REG (DR_REG_SENS_BASE + 0x0054) +/* SENS_SAR1_EN_PAD_FORCE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: 1: SAR ADC1 pad enable bitmap is controlled by SW 0: SAR ADC1 + pad enable bitmap is controlled by ULP-coprocessor*/ +#define SENS_SAR1_EN_PAD_FORCE (BIT(31)) +#define SENS_SAR1_EN_PAD_FORCE_M (BIT(31)) +#define SENS_SAR1_EN_PAD_FORCE_V 0x1 +#define SENS_SAR1_EN_PAD_FORCE_S 31 +/* SENS_SAR1_EN_PAD : R/W ;bitpos:[30:19] ;default: 12'b0 ; */ +/*description: SAR ADC1 pad enable bitmap only active when reg_sar1_en_pad_force = 1*/ +#define SENS_SAR1_EN_PAD 0x00000FFF +#define SENS_SAR1_EN_PAD_M ((SENS_SAR1_EN_PAD_V)<<(SENS_SAR1_EN_PAD_S)) +#define SENS_SAR1_EN_PAD_V 0xFFF +#define SENS_SAR1_EN_PAD_S 19 +/* SENS_MEAS1_START_FORCE : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: 1: SAR ADC1 controller (in RTC) is started by SW 0: SAR ADC1 + controller is started by ULP-coprocessor*/ +#define SENS_MEAS1_START_FORCE (BIT(18)) +#define SENS_MEAS1_START_FORCE_M (BIT(18)) +#define SENS_MEAS1_START_FORCE_V 0x1 +#define SENS_MEAS1_START_FORCE_S 18 +/* SENS_MEAS1_START_SAR : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: SAR ADC1 controller (in RTC) starts conversion only active when + reg_meas1_start_force = 1*/ +#define SENS_MEAS1_START_SAR (BIT(17)) +#define SENS_MEAS1_START_SAR_M (BIT(17)) +#define SENS_MEAS1_START_SAR_V 0x1 +#define SENS_MEAS1_START_SAR_S 17 +/* SENS_MEAS1_DONE_SAR : RO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: SAR ADC1 conversion done indication*/ +#define SENS_MEAS1_DONE_SAR (BIT(16)) +#define SENS_MEAS1_DONE_SAR_M (BIT(16)) +#define SENS_MEAS1_DONE_SAR_V 0x1 +#define SENS_MEAS1_DONE_SAR_S 16 +/* SENS_MEAS1_DATA_SAR : RO ;bitpos:[15:0] ;default: 16'b0 ; */ +/*description: SAR ADC1 data*/ +#define SENS_MEAS1_DATA_SAR 0x0000FFFF +#define SENS_MEAS1_DATA_SAR_M ((SENS_MEAS1_DATA_SAR_V)<<(SENS_MEAS1_DATA_SAR_S)) +#define SENS_MEAS1_DATA_SAR_V 0xFFFF +#define SENS_MEAS1_DATA_SAR_S 0 + +#define SENS_SAR_TOUCH_CTRL1_REG (DR_REG_SENS_BASE + 0x0058) +/* SENS_HALL_PHASE_FORCE : R/W ;bitpos:[27] ;default: 1'b0 ; */ +/*description: 1: HALL PHASE is controlled by SW 0: HALL PHASE is controlled + by FSM in ULP-coprocessor*/ +#define SENS_HALL_PHASE_FORCE (BIT(27)) +#define SENS_HALL_PHASE_FORCE_M (BIT(27)) +#define SENS_HALL_PHASE_FORCE_V 0x1 +#define SENS_HALL_PHASE_FORCE_S 27 +/* SENS_XPD_HALL_FORCE : R/W ;bitpos:[26] ;default: 1'b0 ; */ +/*description: 1: XPD HALL is controlled by SW. 0: XPD HALL is controlled by + FSM in ULP-coprocessor*/ +#define SENS_XPD_HALL_FORCE (BIT(26)) +#define SENS_XPD_HALL_FORCE_M (BIT(26)) +#define SENS_XPD_HALL_FORCE_V 0x1 +#define SENS_XPD_HALL_FORCE_S 26 +/* SENS_TOUCH_OUT_1EN : R/W ;bitpos:[25] ;default: 1'b1 ; */ +/*description: 1: wakeup interrupt is generated if SET1 is "touched" 0: + wakeup interrupt is generated only if SET1 & SET2 is both "touched"*/ +#define SENS_TOUCH_OUT_1EN (BIT(25)) +#define SENS_TOUCH_OUT_1EN_M (BIT(25)) +#define SENS_TOUCH_OUT_1EN_V 0x1 +#define SENS_TOUCH_OUT_1EN_S 25 +/* SENS_TOUCH_OUT_SEL : R/W ;bitpos:[24] ;default: 1'b0 ; */ +/*description: 1: when the counter is greater then the threshold the touch + pad is considered as "touched" 0: when the counter is less than the threshold the touch pad is considered as "touched"*/ +#define SENS_TOUCH_OUT_SEL (BIT(24)) +#define SENS_TOUCH_OUT_SEL_M (BIT(24)) +#define SENS_TOUCH_OUT_SEL_V 0x1 +#define SENS_TOUCH_OUT_SEL_S 24 +/* SENS_TOUCH_XPD_WAIT : R/W ;bitpos:[23:16] ;default: 8'h4 ; */ +/*description: the waiting cycles (in 8MHz) between TOUCH_START and TOUCH_XPD*/ +#define SENS_TOUCH_XPD_WAIT 0x000000FF +#define SENS_TOUCH_XPD_WAIT_M ((SENS_TOUCH_XPD_WAIT_V)<<(SENS_TOUCH_XPD_WAIT_S)) +#define SENS_TOUCH_XPD_WAIT_V 0xFF +#define SENS_TOUCH_XPD_WAIT_S 16 +/* SENS_TOUCH_MEAS_DELAY : R/W ;bitpos:[15:0] ;default: 16'h1000 ; */ +/*description: the meas length (in 8MHz)*/ +#define SENS_TOUCH_MEAS_DELAY 0x0000FFFF +#define SENS_TOUCH_MEAS_DELAY_M ((SENS_TOUCH_MEAS_DELAY_V)<<(SENS_TOUCH_MEAS_DELAY_S)) +#define SENS_TOUCH_MEAS_DELAY_V 0xFFFF +#define SENS_TOUCH_MEAS_DELAY_S 0 + +#define SENS_SAR_TOUCH_THRES1_REG (DR_REG_SENS_BASE + 0x005c) +/* SENS_TOUCH_OUT_TH0 : R/W ;bitpos:[31:16] ;default: 16'h0 ; */ +/*description: the threshold for touch pad 0*/ +#define SENS_TOUCH_OUT_TH0 0x0000FFFF +#define SENS_TOUCH_OUT_TH0_M ((SENS_TOUCH_OUT_TH0_V)<<(SENS_TOUCH_OUT_TH0_S)) +#define SENS_TOUCH_OUT_TH0_V 0xFFFF +#define SENS_TOUCH_OUT_TH0_S 16 +/* SENS_TOUCH_OUT_TH1 : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: the threshold for touch pad 1*/ +#define SENS_TOUCH_OUT_TH1 0x0000FFFF +#define SENS_TOUCH_OUT_TH1_M ((SENS_TOUCH_OUT_TH1_V)<<(SENS_TOUCH_OUT_TH1_S)) +#define SENS_TOUCH_OUT_TH1_V 0xFFFF +#define SENS_TOUCH_OUT_TH1_S 0 + +#define SENS_SAR_TOUCH_THRES2_REG (DR_REG_SENS_BASE + 0x0060) +/* SENS_TOUCH_OUT_TH2 : R/W ;bitpos:[31:16] ;default: 16'h0 ; */ +/*description: the threshold for touch pad 2*/ +#define SENS_TOUCH_OUT_TH2 0x0000FFFF +#define SENS_TOUCH_OUT_TH2_M ((SENS_TOUCH_OUT_TH2_V)<<(SENS_TOUCH_OUT_TH2_S)) +#define SENS_TOUCH_OUT_TH2_V 0xFFFF +#define SENS_TOUCH_OUT_TH2_S 16 +/* SENS_TOUCH_OUT_TH3 : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: the threshold for touch pad 3*/ +#define SENS_TOUCH_OUT_TH3 0x0000FFFF +#define SENS_TOUCH_OUT_TH3_M ((SENS_TOUCH_OUT_TH3_V)<<(SENS_TOUCH_OUT_TH3_S)) +#define SENS_TOUCH_OUT_TH3_V 0xFFFF +#define SENS_TOUCH_OUT_TH3_S 0 + +#define SENS_SAR_TOUCH_THRES3_REG (DR_REG_SENS_BASE + 0x0064) +/* SENS_TOUCH_OUT_TH4 : R/W ;bitpos:[31:16] ;default: 16'h0 ; */ +/*description: the threshold for touch pad 4*/ +#define SENS_TOUCH_OUT_TH4 0x0000FFFF +#define SENS_TOUCH_OUT_TH4_M ((SENS_TOUCH_OUT_TH4_V)<<(SENS_TOUCH_OUT_TH4_S)) +#define SENS_TOUCH_OUT_TH4_V 0xFFFF +#define SENS_TOUCH_OUT_TH4_S 16 +/* SENS_TOUCH_OUT_TH5 : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: the threshold for touch pad 5*/ +#define SENS_TOUCH_OUT_TH5 0x0000FFFF +#define SENS_TOUCH_OUT_TH5_M ((SENS_TOUCH_OUT_TH5_V)<<(SENS_TOUCH_OUT_TH5_S)) +#define SENS_TOUCH_OUT_TH5_V 0xFFFF +#define SENS_TOUCH_OUT_TH5_S 0 + +#define SENS_SAR_TOUCH_THRES4_REG (DR_REG_SENS_BASE + 0x0068) +/* SENS_TOUCH_OUT_TH6 : R/W ;bitpos:[31:16] ;default: 16'h0 ; */ +/*description: the threshold for touch pad 6*/ +#define SENS_TOUCH_OUT_TH6 0x0000FFFF +#define SENS_TOUCH_OUT_TH6_M ((SENS_TOUCH_OUT_TH6_V)<<(SENS_TOUCH_OUT_TH6_S)) +#define SENS_TOUCH_OUT_TH6_V 0xFFFF +#define SENS_TOUCH_OUT_TH6_S 16 +/* SENS_TOUCH_OUT_TH7 : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: the threshold for touch pad 7*/ +#define SENS_TOUCH_OUT_TH7 0x0000FFFF +#define SENS_TOUCH_OUT_TH7_M ((SENS_TOUCH_OUT_TH7_V)<<(SENS_TOUCH_OUT_TH7_S)) +#define SENS_TOUCH_OUT_TH7_V 0xFFFF +#define SENS_TOUCH_OUT_TH7_S 0 + +#define SENS_SAR_TOUCH_THRES5_REG (DR_REG_SENS_BASE + 0x006c) +/* SENS_TOUCH_OUT_TH8 : R/W ;bitpos:[31:16] ;default: 16'h0 ; */ +/*description: the threshold for touch pad 8*/ +#define SENS_TOUCH_OUT_TH8 0x0000FFFF +#define SENS_TOUCH_OUT_TH8_M ((SENS_TOUCH_OUT_TH8_V)<<(SENS_TOUCH_OUT_TH8_S)) +#define SENS_TOUCH_OUT_TH8_V 0xFFFF +#define SENS_TOUCH_OUT_TH8_S 16 +/* SENS_TOUCH_OUT_TH9 : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: the threshold for touch pad 9*/ +#define SENS_TOUCH_OUT_TH9 0x0000FFFF +#define SENS_TOUCH_OUT_TH9_M ((SENS_TOUCH_OUT_TH9_V)<<(SENS_TOUCH_OUT_TH9_S)) +#define SENS_TOUCH_OUT_TH9_V 0xFFFF +#define SENS_TOUCH_OUT_TH9_S 0 + +#define SENS_SAR_TOUCH_OUT1_REG (DR_REG_SENS_BASE + 0x0070) +/* SENS_TOUCH_MEAS_OUT0 : RO ;bitpos:[31:16] ;default: 16'h0 ; */ +/*description: the counter for touch pad 0*/ +#define SENS_TOUCH_MEAS_OUT0 0x0000FFFF +#define SENS_TOUCH_MEAS_OUT0_M ((SENS_TOUCH_MEAS_OUT0_V)<<(SENS_TOUCH_MEAS_OUT0_S)) +#define SENS_TOUCH_MEAS_OUT0_V 0xFFFF +#define SENS_TOUCH_MEAS_OUT0_S 16 +/* SENS_TOUCH_MEAS_OUT1 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: the counter for touch pad 1*/ +#define SENS_TOUCH_MEAS_OUT1 0x0000FFFF +#define SENS_TOUCH_MEAS_OUT1_M ((SENS_TOUCH_MEAS_OUT1_V)<<(SENS_TOUCH_MEAS_OUT1_S)) +#define SENS_TOUCH_MEAS_OUT1_V 0xFFFF +#define SENS_TOUCH_MEAS_OUT1_S 0 + +#define SENS_SAR_TOUCH_OUT2_REG (DR_REG_SENS_BASE + 0x0074) +/* SENS_TOUCH_MEAS_OUT2 : RO ;bitpos:[31:16] ;default: 16'h0 ; */ +/*description: the counter for touch pad 2*/ +#define SENS_TOUCH_MEAS_OUT2 0x0000FFFF +#define SENS_TOUCH_MEAS_OUT2_M ((SENS_TOUCH_MEAS_OUT2_V)<<(SENS_TOUCH_MEAS_OUT2_S)) +#define SENS_TOUCH_MEAS_OUT2_V 0xFFFF +#define SENS_TOUCH_MEAS_OUT2_S 16 +/* SENS_TOUCH_MEAS_OUT3 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: the counter for touch pad 3*/ +#define SENS_TOUCH_MEAS_OUT3 0x0000FFFF +#define SENS_TOUCH_MEAS_OUT3_M ((SENS_TOUCH_MEAS_OUT3_V)<<(SENS_TOUCH_MEAS_OUT3_S)) +#define SENS_TOUCH_MEAS_OUT3_V 0xFFFF +#define SENS_TOUCH_MEAS_OUT3_S 0 + +#define SENS_SAR_TOUCH_OUT3_REG (DR_REG_SENS_BASE + 0x0078) +/* SENS_TOUCH_MEAS_OUT4 : RO ;bitpos:[31:16] ;default: 16'h0 ; */ +/*description: the counter for touch pad 4*/ +#define SENS_TOUCH_MEAS_OUT4 0x0000FFFF +#define SENS_TOUCH_MEAS_OUT4_M ((SENS_TOUCH_MEAS_OUT4_V)<<(SENS_TOUCH_MEAS_OUT4_S)) +#define SENS_TOUCH_MEAS_OUT4_V 0xFFFF +#define SENS_TOUCH_MEAS_OUT4_S 16 +/* SENS_TOUCH_MEAS_OUT5 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: the counter for touch pad 5*/ +#define SENS_TOUCH_MEAS_OUT5 0x0000FFFF +#define SENS_TOUCH_MEAS_OUT5_M ((SENS_TOUCH_MEAS_OUT5_V)<<(SENS_TOUCH_MEAS_OUT5_S)) +#define SENS_TOUCH_MEAS_OUT5_V 0xFFFF +#define SENS_TOUCH_MEAS_OUT5_S 0 + +#define SENS_SAR_TOUCH_OUT4_REG (DR_REG_SENS_BASE + 0x007c) +/* SENS_TOUCH_MEAS_OUT6 : RO ;bitpos:[31:16] ;default: 16'h0 ; */ +/*description: the counter for touch pad 6*/ +#define SENS_TOUCH_MEAS_OUT6 0x0000FFFF +#define SENS_TOUCH_MEAS_OUT6_M ((SENS_TOUCH_MEAS_OUT6_V)<<(SENS_TOUCH_MEAS_OUT6_S)) +#define SENS_TOUCH_MEAS_OUT6_V 0xFFFF +#define SENS_TOUCH_MEAS_OUT6_S 16 +/* SENS_TOUCH_MEAS_OUT7 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: the counter for touch pad 7*/ +#define SENS_TOUCH_MEAS_OUT7 0x0000FFFF +#define SENS_TOUCH_MEAS_OUT7_M ((SENS_TOUCH_MEAS_OUT7_V)<<(SENS_TOUCH_MEAS_OUT7_S)) +#define SENS_TOUCH_MEAS_OUT7_V 0xFFFF +#define SENS_TOUCH_MEAS_OUT7_S 0 + +#define SENS_SAR_TOUCH_OUT5_REG (DR_REG_SENS_BASE + 0x0080) +/* SENS_TOUCH_MEAS_OUT8 : RO ;bitpos:[31:16] ;default: 16'h0 ; */ +/*description: the counter for touch pad 8*/ +#define SENS_TOUCH_MEAS_OUT8 0x0000FFFF +#define SENS_TOUCH_MEAS_OUT8_M ((SENS_TOUCH_MEAS_OUT8_V)<<(SENS_TOUCH_MEAS_OUT8_S)) +#define SENS_TOUCH_MEAS_OUT8_V 0xFFFF +#define SENS_TOUCH_MEAS_OUT8_S 16 +/* SENS_TOUCH_MEAS_OUT9 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: the counter for touch pad 9*/ +#define SENS_TOUCH_MEAS_OUT9 0x0000FFFF +#define SENS_TOUCH_MEAS_OUT9_M ((SENS_TOUCH_MEAS_OUT9_V)<<(SENS_TOUCH_MEAS_OUT9_S)) +#define SENS_TOUCH_MEAS_OUT9_V 0xFFFF +#define SENS_TOUCH_MEAS_OUT9_S 0 + +#define SENS_SAR_TOUCH_CTRL2_REG (DR_REG_SENS_BASE + 0x0084) +/* SENS_TOUCH_MEAS_EN_CLR : WO ;bitpos:[30] ;default: 1'h0 ; */ +/*description: to clear reg_touch_meas_en*/ +#define SENS_TOUCH_MEAS_EN_CLR (BIT(30)) +#define SENS_TOUCH_MEAS_EN_CLR_M (BIT(30)) +#define SENS_TOUCH_MEAS_EN_CLR_V 0x1 +#define SENS_TOUCH_MEAS_EN_CLR_S 30 +/* SENS_TOUCH_SLEEP_CYCLES : R/W ;bitpos:[29:14] ;default: 16'h100 ; */ +/*description: sleep cycles for timer*/ +#define SENS_TOUCH_SLEEP_CYCLES 0x0000FFFF +#define SENS_TOUCH_SLEEP_CYCLES_M ((SENS_TOUCH_SLEEP_CYCLES_V)<<(SENS_TOUCH_SLEEP_CYCLES_S)) +#define SENS_TOUCH_SLEEP_CYCLES_V 0xFFFF +#define SENS_TOUCH_SLEEP_CYCLES_S 14 +/* SENS_TOUCH_START_FORCE : R/W ;bitpos:[13] ;default: 1'h0 ; */ +/*description: 1: to start touch fsm by SW 0: to start touch fsm by timer*/ +#define SENS_TOUCH_START_FORCE (BIT(13)) +#define SENS_TOUCH_START_FORCE_M (BIT(13)) +#define SENS_TOUCH_START_FORCE_V 0x1 +#define SENS_TOUCH_START_FORCE_S 13 +/* SENS_TOUCH_START_EN : R/W ;bitpos:[12] ;default: 1'h0 ; */ +/*description: 1: start touch fsm valid when reg_touch_start_force is set*/ +#define SENS_TOUCH_START_EN (BIT(12)) +#define SENS_TOUCH_START_EN_M (BIT(12)) +#define SENS_TOUCH_START_EN_V 0x1 +#define SENS_TOUCH_START_EN_S 12 +/* SENS_TOUCH_START_FSM_EN : R/W ;bitpos:[11] ;default: 1'h1 ; */ +/*description: 1: TOUCH_START & TOUCH_XPD is controlled by touch fsm 0: TOUCH_START + & TOUCH_XPD is controlled by registers*/ +#define SENS_TOUCH_START_FSM_EN (BIT(11)) +#define SENS_TOUCH_START_FSM_EN_M (BIT(11)) +#define SENS_TOUCH_START_FSM_EN_V 0x1 +#define SENS_TOUCH_START_FSM_EN_S 11 +/* SENS_TOUCH_MEAS_DONE : RO ;bitpos:[10] ;default: 1'h0 ; */ +/*description: fsm set 1 to indicate touch touch meas is done*/ +#define SENS_TOUCH_MEAS_DONE (BIT(10)) +#define SENS_TOUCH_MEAS_DONE_M (BIT(10)) +#define SENS_TOUCH_MEAS_DONE_V 0x1 +#define SENS_TOUCH_MEAS_DONE_S 10 +/* SENS_TOUCH_MEAS_EN : RO ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: 10-bit register to indicate which pads are "touched"*/ +#define SENS_TOUCH_MEAS_EN 0x000003FF +#define SENS_TOUCH_MEAS_EN_M ((SENS_TOUCH_MEAS_EN_V)<<(SENS_TOUCH_MEAS_EN_S)) +#define SENS_TOUCH_MEAS_EN_V 0x3FF +#define SENS_TOUCH_MEAS_EN_S 0 + +#define SENS_SAR_TOUCH_ENABLE_REG (DR_REG_SENS_BASE + 0x008c) +/* SENS_TOUCH_PAD_OUTEN1 : R/W ;bitpos:[29:20] ;default: 10'h3ff ; */ +/*description: Bitmap defining SET1 for generating wakeup interrupt. SET1 is + "touched" only if at least one of touch pad in SET1 is "touched".*/ +#define SENS_TOUCH_PAD_OUTEN1 0x000003FF +#define SENS_TOUCH_PAD_OUTEN1_M ((SENS_TOUCH_PAD_OUTEN1_V)<<(SENS_TOUCH_PAD_OUTEN1_S)) +#define SENS_TOUCH_PAD_OUTEN1_V 0x3FF +#define SENS_TOUCH_PAD_OUTEN1_S 20 +/* SENS_TOUCH_PAD_OUTEN2 : R/W ;bitpos:[19:10] ;default: 10'h3ff ; */ +/*description: Bitmap defining SET2 for generating wakeup interrupt. SET2 is + "touched" only if at least one of touch pad in SET2 is "touched".*/ +#define SENS_TOUCH_PAD_OUTEN2 0x000003FF +#define SENS_TOUCH_PAD_OUTEN2_M ((SENS_TOUCH_PAD_OUTEN2_V)<<(SENS_TOUCH_PAD_OUTEN2_S)) +#define SENS_TOUCH_PAD_OUTEN2_V 0x3FF +#define SENS_TOUCH_PAD_OUTEN2_S 10 +/* SENS_TOUCH_PAD_WORKEN : R/W ;bitpos:[9:0] ;default: 10'h3ff ; */ +/*description: Bitmap defining the working set during the measurement.*/ +#define SENS_TOUCH_PAD_WORKEN 0x000003FF +#define SENS_TOUCH_PAD_WORKEN_M ((SENS_TOUCH_PAD_WORKEN_V)<<(SENS_TOUCH_PAD_WORKEN_S)) +#define SENS_TOUCH_PAD_WORKEN_V 0x3FF +#define SENS_TOUCH_PAD_WORKEN_S 0 + +#define SENS_SAR_READ_CTRL2_REG (DR_REG_SENS_BASE + 0x0090) +/* SENS_SAR2_DATA_INV : R/W ;bitpos:[29] ;default: 1'b0 ; */ +/*description: Invert SAR ADC2 data*/ +#define SENS_SAR2_DATA_INV (BIT(29)) +#define SENS_SAR2_DATA_INV_M (BIT(29)) +#define SENS_SAR2_DATA_INV_V 0x1 +#define SENS_SAR2_DATA_INV_S 29 +/* SENS_SAR2_DIG_FORCE : R/W ;bitpos:[28] ;default: 1'b0 ; */ +/*description: 1: SAR ADC2 controlled by DIG ADC2 CTRL or PWDET CTRL 0: SAR + ADC2 controlled by RTC ADC2 CTRL*/ +#define SENS_SAR2_DIG_FORCE (BIT(28)) +#define SENS_SAR2_DIG_FORCE_M (BIT(28)) +#define SENS_SAR2_DIG_FORCE_V 0x1 +#define SENS_SAR2_DIG_FORCE_S 28 +/* SENS_SAR2_PWDET_FORCE : R/W ;bitpos:[27] ;default: 1'b0 ; */ +/*description: */ +#define SENS_SAR2_PWDET_FORCE (BIT(27)) +#define SENS_SAR2_PWDET_FORCE_M (BIT(27)) +#define SENS_SAR2_PWDET_FORCE_V 0x1 +#define SENS_SAR2_PWDET_FORCE_S 27 +/* SENS_SAR2_SAMPLE_NUM : R/W ;bitpos:[26:19] ;default: 8'd0 ; */ +/*description: */ +#define SENS_SAR2_SAMPLE_NUM 0x000000FF +#define SENS_SAR2_SAMPLE_NUM_M ((SENS_SAR2_SAMPLE_NUM_V)<<(SENS_SAR2_SAMPLE_NUM_S)) +#define SENS_SAR2_SAMPLE_NUM_V 0xFF +#define SENS_SAR2_SAMPLE_NUM_S 19 +/* SENS_SAR2_CLK_GATED : R/W ;bitpos:[18] ;default: 1'b1 ; */ +/*description: */ +#define SENS_SAR2_CLK_GATED (BIT(18)) +#define SENS_SAR2_CLK_GATED_M (BIT(18)) +#define SENS_SAR2_CLK_GATED_V 0x1 +#define SENS_SAR2_CLK_GATED_S 18 +/* SENS_SAR2_SAMPLE_BIT : R/W ;bitpos:[17:16] ;default: 2'd3 ; */ +/*description: 00: for 9-bit width 01: for 10-bit width 10: for 11-bit width + 11: for 12-bit width*/ +#define SENS_SAR2_SAMPLE_BIT 0x00000003 +#define SENS_SAR2_SAMPLE_BIT_M ((SENS_SAR2_SAMPLE_BIT_V)<<(SENS_SAR2_SAMPLE_BIT_S)) +#define SENS_SAR2_SAMPLE_BIT_V 0x3 +#define SENS_SAR2_SAMPLE_BIT_S 16 +/* SENS_SAR2_SAMPLE_CYCLE : R/W ;bitpos:[15:8] ;default: 8'd9 ; */ +/*description: sample cycles for SAR ADC2*/ +#define SENS_SAR2_SAMPLE_CYCLE 0x000000FF +#define SENS_SAR2_SAMPLE_CYCLE_M ((SENS_SAR2_SAMPLE_CYCLE_V)<<(SENS_SAR2_SAMPLE_CYCLE_S)) +#define SENS_SAR2_SAMPLE_CYCLE_V 0xFF +#define SENS_SAR2_SAMPLE_CYCLE_S 8 +/* SENS_SAR2_CLK_DIV : R/W ;bitpos:[7:0] ;default: 8'd2 ; */ +/*description: clock divider*/ +#define SENS_SAR2_CLK_DIV 0x000000FF +#define SENS_SAR2_CLK_DIV_M ((SENS_SAR2_CLK_DIV_V)<<(SENS_SAR2_CLK_DIV_S)) +#define SENS_SAR2_CLK_DIV_V 0xFF +#define SENS_SAR2_CLK_DIV_S 0 + +#define SENS_SAR_MEAS_START2_REG (DR_REG_SENS_BASE + 0x0094) +/* SENS_SAR2_EN_PAD_FORCE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: 1: SAR ADC2 pad enable bitmap is controlled by SW 0: SAR ADC2 + pad enable bitmap is controlled by ULP-coprocessor*/ +#define SENS_SAR2_EN_PAD_FORCE (BIT(31)) +#define SENS_SAR2_EN_PAD_FORCE_M (BIT(31)) +#define SENS_SAR2_EN_PAD_FORCE_V 0x1 +#define SENS_SAR2_EN_PAD_FORCE_S 31 +/* SENS_SAR2_EN_PAD : R/W ;bitpos:[30:19] ;default: 12'b0 ; */ +/*description: SAR ADC2 pad enable bitmap only active when reg_sar2_en_pad_force = 1*/ +#define SENS_SAR2_EN_PAD 0x00000FFF +#define SENS_SAR2_EN_PAD_M ((SENS_SAR2_EN_PAD_V)<<(SENS_SAR2_EN_PAD_S)) +#define SENS_SAR2_EN_PAD_V 0xFFF +#define SENS_SAR2_EN_PAD_S 19 +/* SENS_MEAS2_START_FORCE : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: 1: SAR ADC2 controller (in RTC) is started by SW 0: SAR ADC2 + controller is started by ULP-coprocessor*/ +#define SENS_MEAS2_START_FORCE (BIT(18)) +#define SENS_MEAS2_START_FORCE_M (BIT(18)) +#define SENS_MEAS2_START_FORCE_V 0x1 +#define SENS_MEAS2_START_FORCE_S 18 +/* SENS_MEAS2_START_SAR : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: SAR ADC2 controller (in RTC) starts conversion only active when + reg_meas2_start_force = 1*/ +#define SENS_MEAS2_START_SAR (BIT(17)) +#define SENS_MEAS2_START_SAR_M (BIT(17)) +#define SENS_MEAS2_START_SAR_V 0x1 +#define SENS_MEAS2_START_SAR_S 17 +/* SENS_MEAS2_DONE_SAR : RO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: SAR ADC2 conversion done indication*/ +#define SENS_MEAS2_DONE_SAR (BIT(16)) +#define SENS_MEAS2_DONE_SAR_M (BIT(16)) +#define SENS_MEAS2_DONE_SAR_V 0x1 +#define SENS_MEAS2_DONE_SAR_S 16 +/* SENS_MEAS2_DATA_SAR : RO ;bitpos:[15:0] ;default: 16'b0 ; */ +/*description: SAR ADC2 data*/ +#define SENS_MEAS2_DATA_SAR 0x0000FFFF +#define SENS_MEAS2_DATA_SAR_M ((SENS_MEAS2_DATA_SAR_V)<<(SENS_MEAS2_DATA_SAR_S)) +#define SENS_MEAS2_DATA_SAR_V 0xFFFF +#define SENS_MEAS2_DATA_SAR_S 0 + +#define SENS_SAR_DAC_CTRL1_REG (DR_REG_SENS_BASE + 0x0098) +/* SENS_DAC_CLK_INV : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: 1: invert PDAC_CLK*/ +#define SENS_DAC_CLK_INV (BIT(25)) +#define SENS_DAC_CLK_INV_M (BIT(25)) +#define SENS_DAC_CLK_INV_V 0x1 +#define SENS_DAC_CLK_INV_S 25 +/* SENS_DAC_CLK_FORCE_HIGH : R/W ;bitpos:[24] ;default: 1'b0 ; */ +/*description: 1: force PDAC_CLK to high*/ +#define SENS_DAC_CLK_FORCE_HIGH (BIT(24)) +#define SENS_DAC_CLK_FORCE_HIGH_M (BIT(24)) +#define SENS_DAC_CLK_FORCE_HIGH_V 0x1 +#define SENS_DAC_CLK_FORCE_HIGH_S 24 +/* SENS_DAC_CLK_FORCE_LOW : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: 1: force PDAC_CLK to low*/ +#define SENS_DAC_CLK_FORCE_LOW (BIT(23)) +#define SENS_DAC_CLK_FORCE_LOW_M (BIT(23)) +#define SENS_DAC_CLK_FORCE_LOW_V 0x1 +#define SENS_DAC_CLK_FORCE_LOW_S 23 +/* SENS_DAC_DIG_FORCE : R/W ;bitpos:[22] ;default: 1'b0 ; */ +/*description: 1: DAC1 & DAC2 use DMA 0: DAC1 & DAC2 do not use DMA*/ +#define SENS_DAC_DIG_FORCE (BIT(22)) +#define SENS_DAC_DIG_FORCE_M (BIT(22)) +#define SENS_DAC_DIG_FORCE_V 0x1 +#define SENS_DAC_DIG_FORCE_S 22 +/* SENS_DEBUG_BIT_SEL : R/W ;bitpos:[21:17] ;default: 5'b0 ; */ +/*description: */ +#define SENS_DEBUG_BIT_SEL 0x0000001F +#define SENS_DEBUG_BIT_SEL_M ((SENS_DEBUG_BIT_SEL_V)<<(SENS_DEBUG_BIT_SEL_S)) +#define SENS_DEBUG_BIT_SEL_V 0x1F +#define SENS_DEBUG_BIT_SEL_S 17 +/* SENS_SW_TONE_EN : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: 1: enable CW generator 0: disable CW generator*/ +#define SENS_SW_TONE_EN (BIT(16)) +#define SENS_SW_TONE_EN_M (BIT(16)) +#define SENS_SW_TONE_EN_V 0x1 +#define SENS_SW_TONE_EN_S 16 +/* SENS_SW_FSTEP : R/W ;bitpos:[15:0] ;default: 16'b0 ; */ +/*description: frequency step for CW generator can be used to adjust the frequency*/ +#define SENS_SW_FSTEP 0x0000FFFF +#define SENS_SW_FSTEP_M ((SENS_SW_FSTEP_V)<<(SENS_SW_FSTEP_S)) +#define SENS_SW_FSTEP_V 0xFFFF +#define SENS_SW_FSTEP_S 0 + +#define SENS_SAR_DAC_CTRL2_REG (DR_REG_SENS_BASE + 0x009c) +/* SENS_DAC_CW_EN2 : R/W ;bitpos:[25] ;default: 1'b1 ; */ +/*description: 1: to select CW generator as source to PDAC2_DAC[7:0] 0: to + select register reg_pdac2_dac[7:0] as source to PDAC2_DAC[7:0]*/ +#define SENS_DAC_CW_EN2 (BIT(25)) +#define SENS_DAC_CW_EN2_M (BIT(25)) +#define SENS_DAC_CW_EN2_V 0x1 +#define SENS_DAC_CW_EN2_S 25 +/* SENS_DAC_CW_EN1 : R/W ;bitpos:[24] ;default: 1'b1 ; */ +/*description: 1: to select CW generator as source to PDAC1_DAC[7:0] 0: to + select register reg_pdac1_dac[7:0] as source to PDAC1_DAC[7:0]*/ +#define SENS_DAC_CW_EN1 (BIT(24)) +#define SENS_DAC_CW_EN1_M (BIT(24)) +#define SENS_DAC_CW_EN1_V 0x1 +#define SENS_DAC_CW_EN1_S 24 +/* SENS_DAC_INV2 : R/W ;bitpos:[23:22] ;default: 2'b0 ; */ +/*description: 00: do not invert any bits 01: invert all bits 10: invert MSB + 11: invert all bits except MSB*/ +#define SENS_DAC_INV2 0x00000003 +#define SENS_DAC_INV2_M ((SENS_DAC_INV2_V)<<(SENS_DAC_INV2_S)) +#define SENS_DAC_INV2_V 0x3 +#define SENS_DAC_INV2_S 22 +/* SENS_DAC_INV1 : R/W ;bitpos:[21:20] ;default: 2'b0 ; */ +/*description: 00: do not invert any bits 01: invert all bits 10: invert MSB + 11: invert all bits except MSB*/ +#define SENS_DAC_INV1 0x00000003 +#define SENS_DAC_INV1_M ((SENS_DAC_INV1_V)<<(SENS_DAC_INV1_S)) +#define SENS_DAC_INV1_V 0x3 +#define SENS_DAC_INV1_S 20 +/* SENS_DAC_SCALE2 : R/W ;bitpos:[19:18] ;default: 2'b0 ; */ +/*description: 00: no scale 01: scale to 1/2 10: scale to 1/4 scale to 1/8*/ +#define SENS_DAC_SCALE2 0x00000003 +#define SENS_DAC_SCALE2_M ((SENS_DAC_SCALE2_V)<<(SENS_DAC_SCALE2_S)) +#define SENS_DAC_SCALE2_V 0x3 +#define SENS_DAC_SCALE2_S 18 +/* SENS_DAC_SCALE1 : R/W ;bitpos:[17:16] ;default: 2'b0 ; */ +/*description: 00: no scale 01: scale to 1/2 10: scale to 1/4 scale to 1/8*/ +#define SENS_DAC_SCALE1 0x00000003 +#define SENS_DAC_SCALE1_M ((SENS_DAC_SCALE1_V)<<(SENS_DAC_SCALE1_S)) +#define SENS_DAC_SCALE1_V 0x3 +#define SENS_DAC_SCALE1_S 16 +/* SENS_DAC_DC2 : R/W ;bitpos:[15:8] ;default: 8'b0 ; */ +/*description: DC offset for DAC2 CW generator*/ +#define SENS_DAC_DC2 0x000000FF +#define SENS_DAC_DC2_M ((SENS_DAC_DC2_V)<<(SENS_DAC_DC2_S)) +#define SENS_DAC_DC2_V 0xFF +#define SENS_DAC_DC2_S 8 +/* SENS_DAC_DC1 : R/W ;bitpos:[7:0] ;default: 8'b0 ; */ +/*description: DC offset for DAC1 CW generator*/ +#define SENS_DAC_DC1 0x000000FF +#define SENS_DAC_DC1_M ((SENS_DAC_DC1_V)<<(SENS_DAC_DC1_S)) +#define SENS_DAC_DC1_V 0xFF +#define SENS_DAC_DC1_S 0 + +#define SENS_SAR_MEAS_CTRL2_REG (DR_REG_SENS_BASE + 0x0a0) +/* SENS_AMP_SHORT_REF_GND_FORCE : R/W ;bitpos:[18:17] ;default: 2'b0 ; */ +/*description: */ +#define SENS_AMP_SHORT_REF_GND_FORCE 0x00000003 +#define SENS_AMP_SHORT_REF_GND_FORCE_M ((SENS_AMP_SHORT_REF_GND_FORCE_V)<<(SENS_AMP_SHORT_REF_GND_FORCE_S)) +#define SENS_AMP_SHORT_REF_GND_FORCE_V 0x3 +#define SENS_AMP_SHORT_REF_GND_FORCE_S 17 +/* SENS_AMP_SHORT_REF_FORCE : R/W ;bitpos:[16:15] ;default: 2'b0 ; */ +/*description: */ +#define SENS_AMP_SHORT_REF_FORCE 0x00000003 +#define SENS_AMP_SHORT_REF_FORCE_M ((SENS_AMP_SHORT_REF_FORCE_V)<<(SENS_AMP_SHORT_REF_FORCE_S)) +#define SENS_AMP_SHORT_REF_FORCE_V 0x3 +#define SENS_AMP_SHORT_REF_FORCE_S 15 +/* SENS_AMP_RST_FB_FORCE : R/W ;bitpos:[14:13] ;default: 2'b0 ; */ +/*description: */ +#define SENS_AMP_RST_FB_FORCE 0x00000003 +#define SENS_AMP_RST_FB_FORCE_M ((SENS_AMP_RST_FB_FORCE_V)<<(SENS_AMP_RST_FB_FORCE_S)) +#define SENS_AMP_RST_FB_FORCE_V 0x3 +#define SENS_AMP_RST_FB_FORCE_S 13 +/* SENS_SAR2_RSTB_FORCE : R/W ;bitpos:[12:11] ;default: 2'b0 ; */ +/*description: */ +#define SENS_SAR2_RSTB_FORCE 0x00000003 +#define SENS_SAR2_RSTB_FORCE_M ((SENS_SAR2_RSTB_FORCE_V)<<(SENS_SAR2_RSTB_FORCE_S)) +#define SENS_SAR2_RSTB_FORCE_V 0x3 +#define SENS_SAR2_RSTB_FORCE_S 11 +/* SENS_SAR_RSTB_FSM_IDLE : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: */ +#define SENS_SAR_RSTB_FSM_IDLE (BIT(10)) +#define SENS_SAR_RSTB_FSM_IDLE_M (BIT(10)) +#define SENS_SAR_RSTB_FSM_IDLE_V 0x1 +#define SENS_SAR_RSTB_FSM_IDLE_S 10 +/* SENS_XPD_SAR_FSM_IDLE : R/W ;bitpos:[9] ;default: 1'b0 ; */ +/*description: */ +#define SENS_XPD_SAR_FSM_IDLE (BIT(9)) +#define SENS_XPD_SAR_FSM_IDLE_M (BIT(9)) +#define SENS_XPD_SAR_FSM_IDLE_V 0x1 +#define SENS_XPD_SAR_FSM_IDLE_S 9 +/* SENS_AMP_SHORT_REF_GND_FSM_IDLE : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: */ +#define SENS_AMP_SHORT_REF_GND_FSM_IDLE (BIT(8)) +#define SENS_AMP_SHORT_REF_GND_FSM_IDLE_M (BIT(8)) +#define SENS_AMP_SHORT_REF_GND_FSM_IDLE_V 0x1 +#define SENS_AMP_SHORT_REF_GND_FSM_IDLE_S 8 +/* SENS_AMP_SHORT_REF_FSM_IDLE : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: */ +#define SENS_AMP_SHORT_REF_FSM_IDLE (BIT(7)) +#define SENS_AMP_SHORT_REF_FSM_IDLE_M (BIT(7)) +#define SENS_AMP_SHORT_REF_FSM_IDLE_V 0x1 +#define SENS_AMP_SHORT_REF_FSM_IDLE_S 7 +/* SENS_AMP_RST_FB_FSM_IDLE : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: */ +#define SENS_AMP_RST_FB_FSM_IDLE (BIT(6)) +#define SENS_AMP_RST_FB_FSM_IDLE_M (BIT(6)) +#define SENS_AMP_RST_FB_FSM_IDLE_V 0x1 +#define SENS_AMP_RST_FB_FSM_IDLE_S 6 +/* SENS_XPD_SAR_AMP_FSM_IDLE : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: */ +#define SENS_XPD_SAR_AMP_FSM_IDLE (BIT(5)) +#define SENS_XPD_SAR_AMP_FSM_IDLE_M (BIT(5)) +#define SENS_XPD_SAR_AMP_FSM_IDLE_V 0x1 +#define SENS_XPD_SAR_AMP_FSM_IDLE_S 5 +/* SENS_SAR1_DAC_XPD_FSM_IDLE : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: */ +#define SENS_SAR1_DAC_XPD_FSM_IDLE (BIT(4)) +#define SENS_SAR1_DAC_XPD_FSM_IDLE_M (BIT(4)) +#define SENS_SAR1_DAC_XPD_FSM_IDLE_V 0x1 +#define SENS_SAR1_DAC_XPD_FSM_IDLE_S 4 +/* SENS_SAR1_DAC_XPD_FSM : R/W ;bitpos:[3:0] ;default: 4'b0011 ; */ +/*description: */ +#define SENS_SAR1_DAC_XPD_FSM 0x0000000F +#define SENS_SAR1_DAC_XPD_FSM_M ((SENS_SAR1_DAC_XPD_FSM_V)<<(SENS_SAR1_DAC_XPD_FSM_S)) +#define SENS_SAR1_DAC_XPD_FSM_V 0xF +#define SENS_SAR1_DAC_XPD_FSM_S 0 + +#define SENS_SAR_NOUSE_REG (DR_REG_SENS_BASE + 0x00F8) +/* SENS_SAR_NOUSE : R/W ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define SENS_SAR_NOUSE 0xFFFFFFFF +#define SENS_SAR_NOUSE_M ((SENS_SAR_NOUSE_V)<<(SENS_SAR_NOUSE_S)) +#define SENS_SAR_NOUSE_V 0xFFFFFFFF +#define SENS_SAR_NOUSE_S 0 + +#define SENS_SARDATE_REG (DR_REG_SENS_BASE + 0x00FC) +/* SENS_SAR_DATE : R/W ;bitpos:[27:0] ;default: 28'h1605180 ; */ +/*description: */ +#define SENS_SAR_DATE 0x0FFFFFFF +#define SENS_SAR_DATE_M ((SENS_SAR_DATE_V)<<(SENS_SAR_DATE_S)) +#define SENS_SAR_DATE_V 0xFFFFFFF +#define SENS_SAR_DATE_S 0 + + + + +#endif /*_SOC_SENS_REG_H_ */ + + diff --git a/tools/sdk/include/esp32/soc/soc.h b/tools/sdk/include/esp32/soc/soc.h index c80b5182..3991152f 100755 --- a/tools/sdk/include/esp32/soc/soc.h +++ b/tools/sdk/include/esp32/soc/soc.h @@ -153,7 +153,7 @@ #define DR_REG_FRC_TIMER_BASE 0x3ff47000 #define DR_REG_RTCCNTL_BASE 0x3ff48000 #define DR_REG_RTCIO_BASE 0x3ff48400 -#define DR_REG_SARADC_BASE 0x3ff48800 +#define DR_REG_SENS_BASE 0x3ff48800 #define DR_REG_IO_MUX_BASE 0x3ff49000 #define DR_REG_RTCMEM0_BASE 0x3ff61000 #define DR_REG_RTCMEM1_BASE 0x3ff62000 @@ -213,10 +213,10 @@ #define ETS_TG1_LACT_LEVEL_INTR_SOURCE 21/**< interrupt of TIMER_GROUP1, LACT, level*/ #define ETS_GPIO_INTR_SOURCE 22/**< interrupt of GPIO, level*/ #define ETS_GPIO_NMI_SOURCE 23/**< interrupt of GPIO, NMI*/ -#define ETS_FROM_CPU_INTR0_SOURCE 24/**< interrupt0 generated from a CPU, level*/ -#define ETS_FROM_CPU_INTR1_SOURCE 25/**< interrupt1 generated from a CPU, level*/ -#define ETS_FROM_CPU_INTR2_SOURCE 26/**< interrupt2 generated from a CPU, level*/ -#define ETS_FROM_CPU_INTR3_SOURCE 27/**< interrupt3 generated from a CPU, level*/ +#define ETS_FROM_CPU_INTR0_SOURCE 24/**< interrupt0 generated from a CPU, level*/ /* Used for FreeRTOS */ +#define ETS_FROM_CPU_INTR1_SOURCE 25/**< interrupt1 generated from a CPU, level*/ /* Used for FreeRTOS */ +#define ETS_FROM_CPU_INTR2_SOURCE 26/**< interrupt2 generated from a CPU, level*/ /* Used for VHCI */ +#define ETS_FROM_CPU_INTR3_SOURCE 27/**< interrupt3 generated from a CPU, level*/ /* Reserved */ #define ETS_SPI0_INTR_SOURCE 28/**< interrupt of SPI0, level, SPI0 is for Cache Access, do not use this*/ #define ETS_SPI1_INTR_SOURCE 29/**< interrupt of SPI1, level, SPI1 is for flash read/write, do not use this*/ #define ETS_SPI2_INTR_SOURCE 30/**< interrupt of SPI2, level*/ diff --git a/tools/sdk/ld/esp32.rom.ld b/tools/sdk/ld/esp32.rom.ld index 5266a679..af952297 100644 --- a/tools/sdk/ld/esp32.rom.ld +++ b/tools/sdk/ld/esp32.rom.ld @@ -1841,3 +1841,22 @@ PROVIDE ( _xtos_syscall_handler = 0x40000790 ); PROVIDE ( _xtos_unhandled_exception = 0x4000c024 ); PROVIDE ( _xtos_unhandled_interrupt = 0x4000c01c ); PROVIDE ( _xtos_vpri_enabled = 0x3ffe0654 ); +/* Following are static data, but can be used, not generated by script <<<<< btdm data */ +PROVIDE ( ld_acl_env = 0x3ffb8258 ); +PROVIDE ( ld_active_ch_map = 0x3ffb8334 ); +PROVIDE ( ld_bcst_acl_env = 0x3ffb8274 ); +PROVIDE ( ld_csb_rx_env = 0x3ffb8278 ); +PROVIDE ( ld_csb_tx_env = 0x3ffb827c ); +PROVIDE ( ld_env = 0x3ffb9510 ); +PROVIDE ( ld_fm_env = 0x3ffb8284 ); +PROVIDE ( ld_inq_env = 0x3ffb82e4 ); +PROVIDE ( ld_iscan_env = 0x3ffb82e8 ); +PROVIDE ( ld_page_env = 0x3ffb82f0 ); +PROVIDE ( ld_pca_env = 0x3ffb82f4 ); +PROVIDE ( ld_pscan_env = 0x3ffb8308 ); +PROVIDE ( ld_sched_env = 0x3ffb830c ); +PROVIDE ( ld_sched_params = 0x3ffb96c0 ); +PROVIDE ( ld_sco_env = 0x3ffb824c ); +PROVIDE ( ld_sscan_env = 0x3ffb832c ); +PROVIDE ( ld_strain_env = 0x3ffb8330 ); +/* Above are static data, but can be used, not generated by script >>>>> btdm data */ diff --git a/tools/sdk/lib/libapp_update.a b/tools/sdk/lib/libapp_update.a index 2cdd7992d555dc6ee7f2579de8f7e1d703081238..fcfe53fb098f62e007200fd5dfd95fe4b8e5dc4d 100644 GIT binary patch delta 31 hcmcaHhv~)~rU}yQhDOFlh8Ct1m5#!g8{cL10syCf3V;9r delta 31 hcmcaHhv~)~rU}yQ24)sU#%6{Sm5#!g8{cL10syER3Wxvz diff --git a/tools/sdk/lib/libbt.a b/tools/sdk/lib/libbt.a index e9d85c5ba8a0d250cd81372b3798b50762361b51..ea138fb8ed75cdcdd06a8dcf9c1170f650b41336 100644 GIT binary patch delta 2739 zcmey-+Qb6F6QtP_} zc8_zc+da;)-LHcwOnfLM(eCQY-tOwlvE9{|^IANz%y!GQoYM?ZMBd)xRMUrvJhV~} z-)_Lib@>TQWaAbEiFU=$T-y~tbMJc%6MblxRjI%xqs$!oPhDvVDf1sIdu56s-GYlV}lK_rd5aiS3nwVzYu_ zYQQ3fsbaHYU?LB9sY^_k{Ua8z-SUvwJh>!mekKgg^4Di*LIo_E{Q5``>#!-rHk7 zi7iIazFqc@7$VFN23E3(BkTbgxZOlR+}jvtBBNP>#P+$);#zlMA|S2XpDIY0MZrYC zx-6Wyh9}a(MJ5v4*S5>uDnV8AM{aiu zl8D6i+D7@HY$Or!?Qh=5ABQK^M9*r8?HB*ZbJ-!Ok=*{vN+B~GNkn{m!z2Z5C71|U z*U2pkeKs%=uzN~BD(nh`iGbDkIxA+G!9>8mxKgRO8lIXIuhvO!pEp%8u@t68@oJsK zc3Ezvt|qw1T26`WM|+jD9HAnU4bO>h=Q*$RJQ7(zKvVg&EV954H|1((sK9hZkRcPj zl=VDOMD9*jj?;#VfUJ((ul%VCDgv^oJ;O_7dxn?lW*(^Ebg&C8!&Ub+!$dy5;1O>Z zxvjcgENP$Vxn#P#6-L86BF%~mcZ15YKQF?SRFPa%ruzf+RqdKIF zfSR!V>3v5pE0|7j;p`*j)b1nY-0mag((WVW+U_Ie*6t(azTHR4V}1opC8U6#?6IA5 zvgf*!Fi~(ta5cv3SSpf;`1T!#yl#JiiGYgw?HjjyN7=(fz(u&mckk^Q-+k1@P(*Wh zeYfZE`aOn}Vnznj!Mbzx{AM{LtJ|(pCu ziRW7pxDD=Nu!y2lP|^{YZcxeDzJM)w`vSHQX?T2rMQ>DuY`;+vx;zaK&kcy%J~tq~F9Ie5Dks`KSH`z{u1whOxiaxs2#SpEzr^jj|B~+Qfr)}jk#>#U z$=fw{r=%ld-?LhxeXVF}`&!Yo?Q2ET|LMZiE3V~~Y(M3kzWtPQM&?zhC^%~eNM>#i zkj%<->;6j1rNA7pH6<`qwro8kFm@cr$oUFXhC~Df*l;mw+ zQCAEUAL06mYq7_HxPgvzJRBL25)JgXtHWL?yPKEjtCNe4zr{w>Fi{>x3B#E}9B> z%G(QgD%uNpDz_K#RBdL2$QptQ8S(87d{y%y#gh?KTq_{}gijt){1?UkO@+bcb5 z>b@h3ZWnc|J){8>0To!=zh>6ngC-oPSs(V*UN1vZBfkBKX`T6e6cLN7b@gyHVEe9m M*Kfb--Jom^0CdBaumAu6 delta 2743 zcmey-+Qb6F6QtP<%q)zIEzCD6ah_uXv(2VIbW;{@_Bhw>agMRw;~Z1F$2sP9k8>>T z9_LuMdz@ptUk6jT(K%hB-PM=9-PM<4yQ?qfwRj{M$?aBaIj0&TiAZgKe~(i|A0`5_ zX1f6&*X1WLk&pc9;_V8bxwb2O=HCArCi-xfy2SRs_julM!bHI8I9~F!bG+o;&he73 zz8ghmNeTb zo^oASyc|VzhM&mx8GfS1Cdi`OUo?ppqv+mVAt*LG7)6ais@UupWRd9tpTvBoJDd?? z-EMhEY#!X7AoqafwmX~=TZ|&S?V8wUX^0u-(+d}wNKF5GkH>p^%qO@yi12pVKVq8FW{>&wM9*r8?WO|aUdBi!if^CeEUtYQNkn4%Qw0gLC?pZ_?H1J% z=?X9r#jAA^+xO0vP-}#V6fQCm-zF=0{|-z5Y}MbNl6Gz=B9RVKo4lbSlMT;_Z`bIN zG7g0bOjlgXDY3osp%jx2R0OPK2CuZZ6p}#u8FlIHXVhi<`JjRjeU@f2zto{3V0{5` zGVN7R0f>^XH)OQ5pdw%;Hq5fj637BE(z4nO$O21d%f5!DQ1j^@U+{=;U(+sky9BBP zBC_O<-0l_>k(x&N;A|9;H*e&RL(?hP9Et50|HyOMp{V&`rH~ztBGNEPL0bt)L}L5N zEed@$NFw6fOFk;>4nz`>*zW7Bm}Q0}BEJ1frQ&LMDgygr&Q!(ZQka^HO`;OpWx18Q znqVRmTLdJwAMI7ra)gN_3W`Z==RL3VED|Qt=qDnvT~Jf`lq^hSVvB(I_8)G_)yzmD z65A(wDeHNnh}@m59H$Kv0oxwAU-?rPOax?3dxn?F_6#r8%{(wsusX|d)qTxyk%MC5 z?IO2Tw~O3XyAI8t=F=}86cgXhA)tPF6_PrM_Mf}d+kfuTX#crObNkO-TK7a?vVuKQ zlI`ElYqftnuigIbyw3J-=XEn3V6u)5QsV730(#qP1oYYAVd&@}CDFc6TYvjPZG)&A zFtv(iGLr35EQZ^qSd5Og!$iR*{OLB@{-@ixyAoM+`w~`@<8xpl53Lj=+q)K-w0A8s zZSPuSw!LeS`QK_JS@HHIau(Z{$XV(ap@@E%V7dLn1gq`!D56IMthXN#u<7Q4i@GUG zwC76OY|oXpWrJr+aM?aF(YAeJqTTk1iS|lMVCo(BD@$y@$m*~OVJ^sog{=HNsAF468Q<<#yg<=pNo<#U|IVO9qKM50MWXhA=el5o9XewL;RATQqZ`b(l zqb`Obn#1e6J%`utF}wt0WHFT3o~!3K%NbeSc9kN(-B*xAB-;PF`M3Xd3)ueGEzk&B z$60{NVe#!g6@lBKE{2LII0Ypif#`;av@c)_-oAh>L>d}jP|+I|A=__Mgf34*Q9I{; z==M4H!{!&lL_wutdt_kv_Q=49ck7TvTT>%jQ=?i_qqnBUJmQARfC{ws6rPyvDLk># zE>J;mxz|27AhvyOK-~7Z0r7niFqw}pcqH0ASH`z{u1whOxiaxs2wY~8hh)3nzr^i& z|B~+Rfs4N25pUPnoxELRcS<@m@-3!=3X1l%qN(j`Mboyg6;1!A3sVo4Iq96f{iJh7 z)>R}?@%8}8%iDMwB~znKoOBJE0_;Wd0_h_wqNxr;0r@mvu$yK z_&%6`V2_kUyJ=!!yJ=!kyJ=$acGJX?DtKZ67aV6Umux?Cx%4r#O0<{`65V>H>@>9Q zg$Qil(o{CT6K3qjEeaCtg*@f$g*+AQg*=tp3wf$GF~VdYS}BNcci^j<4=tfArh`TP zOs$IF3{wL(q0+N@d!=Vh-FIZs?V^sghcsX!53Lj=wtvm6y$4S`V6#5#tG!-^q(*%E h6Vp2L`7jZ1$zpl6t`4pSRED%)^{(H3)w@C28~{xFsE+^u diff --git a/tools/sdk/lib/libbtdm_app.a b/tools/sdk/lib/libbtdm_app.a old mode 100644 new mode 100755 index b8ec4f9871694654aa50b9108a23a6abf4b58ffb..af4f0dd96ed1bf56a6a9942fb2909b57057d12af GIT binary patch delta 17551 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 diff --git a/tools/sdk/lib/libcore.a b/tools/sdk/lib/libcore.a index 91ef07b27b188e29f478cfc72e9f586c0cc39aed..c417bf802399b02b158d360ce1c4d2849cb61b90 100644 GIT binary patch delta 81 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
Lhz%+!K#>Sy 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 S5M@_uKeCcz`;nELSw;Zsg1fT- diff --git a/tools/sdk/lib/libesp32.a b/tools/sdk/lib/libesp32.a index 2df1a54620b8979a80a79fb357248d8cecd3fbaa..1bf2d1353f3a0517ab9705ec6ba354e76206dd72 100644 GIT binary patch delta 61595 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 delta 46 ocmdmUk!81A24)sU#+C*fl`@%N?9G#yZd$@QMK)e<096+bRR910 diff --git a/tools/sdk/lib/libexpat.a b/tools/sdk/lib/libexpat.a index ee94d7a3ee64181265e05f3a4d97f9c2e3a981d4..fe38f7c01b2910f79d48203908906fc09d6b62fe 100644 GIT binary patch delta 226 zcmX@I!RN>Zp9#|JhDOFlMuuh^l{~qiY}4s>H5_8i9bD}lT#W4Zp9#|J24)sU#+F7Kl{~qiY{ThxH5_8i9bD}lT#W4TX diff --git a/tools/sdk/lib/libfreertos.a b/tools/sdk/lib/libfreertos.a index 42f6b39d74793dad646233bf6d47533b5838687f..a9cad789d9380157442511e7ec5afbe25b4ed367 100644 GIT binary patch delta 3426 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 g-w5kpm{0%rgGqdQ?_2hDQZNPJ7WwuF4vq z13O_8Bu#9y53{oX)K5m!&!sVnZC)eX&WIl11o6P*}=G7X9v@12bggC zzaLE7|NUTYWQK`A6wdj>+&4)7R9p^Dr`R-&xDv z%%sD|z`(#bXFU@GgJ5D&Is;=`5lA3Nh=+lJ;R`bZgD_(hD>DNah)kc@z%EiR%FMtZ zn#aKCpbr*hU=U4XV07SNVqkD$U|gSSAJr#!`?L z9Y&ZF%0TAXGeVsp26IB41dIuGLJ%X^QZ|-gCI$v+TLuP(wag3*GT96a4Dt-JdJGH< z?CY3zGBYr+&t+y{kmg}xaAr6MQ&G<#SIEe~z^JniBnL9#B}~emLGBpH9|<>^85rbO zGBPl5+ynW9r-^}qL1FsFrR>tvKNK_OP0w#)4-@ZfVq_F#G!$lF5bkPXWMGn*=p@0w zATl{nL%Lp+m4TVVirbpoQQD;xI5snlKoG z)k~Q$F!Ld_OEWTh3Ns2bFvut}cna%tGcd?P6|i~=+e_L=GBC(N1-QWi;*tyu@_LN+ zk`PnWB|U{fiWIglZDy}yv;`#}PzZve9z=s84@AQ-K6%aU39ak_Of1ZdoXpb?w6kX_ zeP&=}X5nOJU}R?EWCgRi85miZn9nnS1X&oFH*WXtVDDp|-mbtTGJVc!c7g4GyV;jB zP2O)OKmDF9lfd*kc@Br^dYQ}t)6bQ#3rt_t!)P#l7eAxGH9L71t$ABC~zw? z@IxKQw_SDudp#o~^Yp+C?8@5@Ok@vXuAc)+PM`$Kz`(E)#Ab!4-T-0?K-jxLY<38H z9}@$EFqC}}Bo4|v3=9nSkl1gL*xx{GsQO<}y`YT2$jrdN$j(p?HWifXK!$=O_&^d+ zL&ZRBs3R0WY!0w;1{F|dg|f{-;!yQ2NbE2W8>%+}#D=QLM`Bknr!X)uLJg{c8VbrY z%^*ck@pdHf2_SK(LF+(ls0HVd*sqY-U%~9@T(OL1+wV+c-@#O$fD|4(L2RfkAxsPm zLeO}KfU-elQ8tJT4ZlJt8zf!@WrMUgL)oC<>x8le85kJ)p=@CW28O8+c0GeM0|Ucs z2!}zIfq`Kml&!(Qz_1+3HU^aqP_`Wd1H(or+kt_B;RuKgvXy~>;S`h&a?k}R8zglT z$_82d2+9Tp>kFoO1_mJx1_l`h28MS~2{};d3uUV?Fff2p2}q3^D6W|y>OqcUgR-?4 z7#MhB7?k=CKPf{ScX+G>=_vdck&f7Dgwq_=0)t0@D@dva?LzGLKz_bq@mr zgV*$h@$AZs9n%@-v#T?5Ocs0~KHXtHy8zP{(dj|++0|GR7#SGYr+>6%6rMg|KDz+x z7BL0}mFY|8vn#WvvobKOnjV6svE+4PAZDrfr61?=jq$2b@mbf+`su?tWCu>fSM3AVZsm6<+sPd8e~uEvzl zH+@|yquBIX8~7L)EG7$z3s0W`;=bTxV2}WF4=iLCVDy=OaUr`pE2uTTzvnmKMFq{P`QRe*sN{UPj4C)vxS-YBSGp(rfq}tH zkwKAx!GcNQ6|;#?_vMSGri{%yUlc#Q|vS9l^GZqlo%Kou7Oe` z0|Ntx1_Q$lP-V}+zyPYm-y?~CU|?WSg^G(pDq99nb^x(KW`M9cOk9J3!Ge*2!4s;! zk&%G`l#P@$7#La@85k5G;`R(nkTihUpsWD0_zX;(fq?Ip=aWdm< zVMdSX7q}R;rYC%6=bg^;fZc!kfzRwp+v^^%8?j9HxWN8I5M&|9A3_Yw44{_9hv~K# z*{$nugB%1BXJB9e6?E^JA$|u5ft0d>aubLHl@~zcE3-iS2vP!4uZJe@g2oSHVSsyA zh=F%VuwS-K@BsJcnCWdB%T0aSA*D$3=E*O0m33-5b;eAaVc=T?}2c@>|;>&x$TxW z*{?IQ@<=lv5Ps^6AI7?CYdZRqf&6m|zG1 Dv`l~%);8?U?z1OTHN3UUAd delta 31 hcmX@Kl=09~#tG8w24)sU#+D`%l~%);8?U?z1OTLi3XA{% diff --git a/tools/sdk/lib/liblwip.a b/tools/sdk/lib/liblwip.a index 4b97784331ef13f66343ae1e03f21d6b388208a6..2138c083a50ddfcdb5296a350a70c67286de9171 100644 GIT binary patch delta 1015 zcmbQ&n>(*JcY-v#p^>qXk&($pC1(W)+t6bAgJnVzn_Co4K7)%)c*G>up2g0%J&T>` za1LDf!7?H7?cOC!+k~M)meUJPaZ7Ah=wQl>f(dP(@QBIP3&xw?@PJKx`)3_yvpAU0 zc7tx_yX-LD^ano$CAaHNWJZmcn?` z4R-QKY=02S&R7KzGBTJBcK*Nf?A!mH=XlNt7dGf-mfX&IiQ@#+CYZ`sH#xSyy2+_u z2~)XUA($)BnGF(F)AyT7No?<*#d9y{3S7AvA=HpvG8lWewW}OLAcO_Pm&VbFPstN z)P)IcfACZADlF`wCSPI{S}p@u&>$xi*#YN0SSIB93dRGall1MACkp2wOn@bw7^dkL zGPqf{H_aA~XGLfLrPluogv&&rLdMfUZfc*hRe1Z9tsYX{NkUzh)zc~PK$Uvb0 delta 1016 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

l7_P7~FnnQUU=U$rV6b3g zU;l-FkInaV0gm8!0?5Gfq{pU zfkB0nfx&{4fx(B9fgypDfuV$xfuV(yfnf?K1H%eV28KPH3=C&D85r(xGBCX1WMKHi z$-uzF#lWDz#lT>|#lYae#lR54#lVol#lTSF!o|SQ!o|QagNuP-4HpB$0WJoH3tS8g zPq-KuesD1`aBwp)$Z#_-7;rN%xNtKtgm5!3q;NAZRB$se^l&pUEZ}Bf*fD+W4{dQN z6CMVJ03HU093BRS4ju-E1w0H4dw3WaZtzThrzod0o$aUgL&o~;FMeu2VPj%o+Imjs z9{cn)3T!;v*Kp{ZVV>^5tHUzAhDYZJL{~DfVSRE-*{F;c=`)# z76DcpNd|^5)A#b~C^JS(f5@w&&S)^5lTSyTv0=I)h^m+#38FfuH}dJIv-%1$Fob|} z!T~-V0mco}FM=c&P8YOg5}z)>uOl$MfM17Yx(dIJ3hO~Z1_lAJ+5~nSKx?{6vU>p?CVhiPFN;1at%#3#SVT=%}-95@CR5ya15s ztLcdXI_gXeO4GXpbkrC>P2ULO@+eKe1>!bMXB5;?XS_3A6GX*K4;0kVLdreuGX!XUj_ySZqWEC%U=+afq?@w z6%0C31gxErfd!8kIfGW!Ffg!y#xK}hV;LD3xSoKD zLUuvWqyo1Q=->y?Rv`ukZaEeP26kc4C8#V6ETF3;Idrr^D;8KzvoJ7l=z*^1WdV(? za~Obz16bCB79W{!2bl;e`&c-wK>cBEMbPR_YtZ6S1_qX&AXzhzO)L*t85p>%L9-WJ zzd@_cxEw%cafdN8FmO47R4{OJfY?qTQy971L2T!bAp4oPcYtmJbvet(z`(){nuz6c z18p|tVBi83&H`Mapc_8989_S2ASOKkvBM!I8GtN~04ZT&07qRL$c3P&<7EIxDpv;B z6KX6B3<})Ipf#4#6j0D*GH^GsFfed~j^Acr;r`0Rz`&gblHlNe#mvCKoepC2 zaF>JF86cAdxc7qCnILmSxGh*27`U@QBajl@-$3Hopz}Cn7}&re$;L8~iGe`?v|*Xi za(d$f6A?2zka?g!vmyfn1LK@tW(EeKv=jzLxHxD%7XzaMNEy?_0O20c(mu!OryrPD zXr2KHg7kuxa52t#2GW~cQo+D@2E+szC^i9f=*QLRIuA{>tl3!JfMOq%R3y)X#6cN@ z0kq~93Q3^ZvDaUGaz$Hc%O2X-CU6vj}9+d#*qGh{I_FhJbag6g&w6t}5@xp$cu z7(h$e7);q17!>jt7#DzC#WXQQ40Lh^Fv#p-WME)?4&sI|Gcd@3R#-E>0L?ZthRA7xV&?@Yn=^*WRfBx<0-ia9gSg#0e+I5<0XaxgG} zi!ufV)vX{?t*1RRkz}-v4AC!^8z+7oo1_l*yW(c2N^V}qav26Oq z=O&WrWnjbeSs56#z=oHB4QCA20vlZhHkvU+19XcpV>u(J9ApfISW^i$_ckj71K1l? zjG!S+rilScpjIqnH6y6RXPOwH335Zt^uQM;GQv$@?7l=cnCIs)f|l!?1@XZyoCh|NogL=+1z?jLL41(K3&GrY zc9`cEPq%q#62f?B`oxzeqKt>8FMny`!VL;uomSB5O1A0WUYeLHfO3uwm^jbFz@T#r zEX8t_hk=0|lr`9c7gHPhoa7@eM;`pZOcy6P{Jgz2AE#096n-7m*K zT~JqATre-SL@xt$UVKSrZmM1e1IzTYzf4TcSr`~nQq%M@7&sUhQj3c6@&R$@j*2B@grbj#l+>WpWmC;m1ukvPr3$jk^<#0K7z2~~7?`r6+n zXP6opr?2~M5;6VqACt9=FQzyCHF?CidwSzP6B)(>5bDJAdH+n57%xvh_|GJZ@%wb0 z|0dHI=S@HS-z1Ci&{jQDG4<&(n^buiO{NE`n_7Epv9yx_S5N%n^nbCLCZX0LZGFcFg9oz V2aIh#-BH6-oUv$os)p%qGXSxawV40_ delta 323985 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

cqDQ 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 delta 10476 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 G6$$`TI~hIz delta 85 zcmezKk>$@vmI>1A24)sUCWZzZm2#ONYy->9)0k>K;2bIMN<|3A&|vedoJ+*9|IU3N|y^gi|R5CNllQWDfD|vpYDAq~Jmz-)?`sh;x+%s?g@!oRiF8 zLLhInCkb)2Ckb)4CkgSiCkgSkCkgSjCkgSlCkY8`PZAQG{THg*46Is8Kxn&^fbio? rRM9Ho?NU`D$&N^(;@fBM7I`EH69N0Aea=~t_Bm%ox6e5%Cbbv delta 461 zcmdn?Fm~I+*a_0?24)sUCWgivmDG)(Y=g}KMy%UmoM|Un#Wxqfe3c3lnEpVDO}xF@ zpK*J&KNHhLRN>hVnA&GQVBS9a0ZZHqnAEnDtTzLp9K-Doq}Uo=VZ6x!Mq=CR64;cd zAd9r``@*(;-xqdgNth_e72D+*9|5FHZ$6UQz--{GX2A34)N`?J2;J`;6fnZZhyUqbCm_E(B|8mlgyw( zMj&srCkb)2Ckb)4CkgSiCkgSkCkgSjCkgSlCkY8`PZAQG{TD^Glz`B7DFNZfnW&;w p!rP^)M3NnmM8&ty-YxP-5GrB}_DTDkvm)(t&WdiIb5=}hF#w-ojT!&| diff --git a/tools/sdk/lib/libnvs_flash.a b/tools/sdk/lib/libnvs_flash.a index d481d19852ef27d65ff767c74506fbfcba2a0a8e..befa46ec371d4f810ef92a74549f69a2bda213be 100644 GIT binary patch delta 131 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 ZYs&NW6+pny!~%L0Gx%)eJG?9{$^Zf*b3_0D delta 22849 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 M1s-`tM%M6p0AHT$KL7v# delta 30258 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 W#4=w1k9=Y>3;PN@@{QcA;q?IN*Ipn1 diff --git a/tools/sdk/lib/libspi_flash.a b/tools/sdk/lib/libspi_flash.a index 6cbb978ef88cb89afedf497cff0cecddae9be631..642ce99d9028ee0ec64c9e67520d4dd6f9ceb796 100644 GIT binary patch delta 86 zcmX?bi}k=Q)(O(=hDOFlMkWRul?<6-?9EZklJ;;;l@q5QoYOUdH4x63_V8s1jI+Hh IjB%G302K)sivR!s delta 86 zcmX?bi}k=Q)(O(=24)sUCWhu4l?<6-?9EZklJ;;;l@q5QoYOUdH4x63_V8s1jI+Hh IjB%G303yQ}-v9sr diff --git a/tools/sdk/lib/libtcpip_adapter.a b/tools/sdk/lib/libtcpip_adapter.a index 2dea8d673e80f8311d5c6fceb32c44d63ff4d34b..f61d29c5cff981e597d60640f4a6416cba85d8b7 100644 GIT binary patch delta 6300 zcmex%lI7n?mI>1AhDOFlMkWRumAsjiplk&NQv*W<1qCAm1qB5KLjwad6B7jma}xs# zi^=`W>Wmtjw=;{eFmBp>j$MOCy+MJ2frSACSQwRr7#JA$NHQ?!u`)0ufW)AfY4c=R zkxa%XliNi?8BHhO6)`r>7hzyv;QA-Pz`)2AF37;Z#APqYz`)GFP(QR^oL=fYb$%`d48F?q4m1yHo6J%hx!@xCVa?`DsE$B6rS9p9Kkqi^Hb$XjA9xh3=E9lL9sIn0A`p%84Q{Q5)2HC8ElLoH#0EoV_;xloTE4S zth%`EIgkz?1_p-vAVv%W1H%^(BZYy1fmNP?LAQ^Afk6z!n8v`spaEj6V1O9Upm}1l zqK2^SauEgwxiBUM2F3}O*ccdCm>3vzY#A6BEae#(=1vaOaFPbOm_d^llv?M*+)xX4 z!|TcGG{pVDHl{(f=;kpnFht2SFfeG^b1*P4?u6-R0_!jkh1s?fWZN<(1_tfJ+#q#f zLJSOy!SbIc3u~%4&lP20Pystih!LdDl$n7+?K3EaiZB*)FfimZGcf2VGB7aY$TKiB zi-N*Gn$b{+F^Z{(fk9D+fq|iUa+Ri*#c#Mds$g^WGcz#gH#0IYFsd?wbr?M+b7}>#@rg4q7;sEZ)N*z55NBXeVP#;@*~P%X@LGg{;hGrO zW~PY&kR+jdh=GA&7ATa@z!=w{3`GG(1_s^9FSKOj*2^<6Xp2L1mNFcXut)y)%+YYh`?Ejr$cbl^^FzD-oQo&Bf_Q^%sO7bESun;-`RuRFxLU;qi_=T+I2F-VF!d8> zV2F@Jat$c1bP^dD7&c2VFchK7D9!<;sL7eSy3&6oVSY7W0@+Z{&cI+~0P*KWU18Ca z@(c`*!1|+@iWwLbcQ7z8+?#w;SKHfN3Z^pwtaB>|1A~zVSSKhkWio*hlOiVrgDxmB zff6zUgWfYxO0Q>vc~S!G$>o#%^^BRn$TLh1)EAjNQ%{tUck+5YV@CeTp87J3wUhKk z7>g&1>O%w!#nwqPFqovImN78SWSY;wz_5rD94iy_Rjoo~7#LKfKxNPhCJ?)di-AFZ z0}lfO;|iuI8BiuL&17I)#gxmyz_5jjfk8)!fq_9^fq_AI@_T(LR#1s!JDJZwmC

  • OscuVmbnHda&B($=wF3nnel>4CiD(;SUZa9Z+fmi9JGy zDT2xk-N`o%)ES*7Ga8E2gUz|d#U^Xa#RWcC@?AaI?W+5rC69(nbE?FCx5gNZi z(WU;64JN=1VxB?L;s(kb8hhYon!T8O!B8aiuPg(DV3i;P1A|4PBm;wp6{sW^6y{}M z5ClaFgSn_61A|yNhz$x@!6^(33}Ax65|rdY;-K;ytXPnbiGe{7VParlFyF<=z#zT}6tjEe7#IXW z!Dqu@{h5n_L9l@F97qVF+eDCof#)!&Ob6>`Fc;!sU=Ui8$POvrA%YehAi-szavmaJ zYvCoxz#udYRNzBItgi?#FbHNaf=Ygfh()sm1A|x;sB{N=iose8WP2)O)MPzlNvWH{ z3=D#GjG$r_qTZU1je$XM17q{#L}RgfP}v3+7nA`d0P|(63=EQa?o12}ph8U$#9%P5 z=U`yqIRXkgP{tHg1BDty<_aSNgU|wyFYd`RFn|qWuqXuiV%8U!fM5+5D7M%o85pFb z`4ynbz-|?cumOdl#X$)M25EUvmH-<8kpoGASqzpPA`A>5>wQ4FK@34qh(lt|`~xQg z1JBWFMh1p7kTjUc+3aWHXvCJBn3I#AytyxJAM@tmEJgY0auST3o9jCdaxx}wcARW$ zT>n*wfq{`9l&BdP_&|vi%C`o9HR9Z7IFsuf#q2_EsV(&#_9|y6` z8S23{Uj%VLNt%Iy;i@nLgD{l+03>b>R>JTK#5RVo--FmtH9wHpjG#gSD$a$(7Di&r zAhA_N>KPaqp&Il-5>U%5L2O}&Wws&=48l;h2S^;MCJ4laIw%~(hN>w9vGpK&Taeh( zk=XM;}8|5t!GP(wF?*r2vF0|Uc0ki}5;L6A69&1n!DYB8vF3Gy|_x|<+zsQO1p z>^C4bRPQ$sTNI?4f#H`314F$ql*1~@z`zJq#1CRaEf4{*q2h{2Y;6!5s>Tq+hN`gv zvBe-3IEXSZ2t(Q4AaSUgFc2G}x1J#y#DPkrf!GiUhHMZUs<{P;JrTrag;+2T#D?l! z31W*w#Mgo>hO&2n#Gz^qgV<2>Pk`9wpzvp4V7Lb6Kr}xDv7w5df!I)kn8Xkv#0z4B zs!>qkD#pMd3}wrJ#G#g{gV<1WbU=ht!sQS$yHq@LQAU0S{Jp;oYs0L8sbr2*0)o=#HhHAJ7VuLj> zFkFSImt$aHxCIi2s(%S$L)9>W>TW1o6vT$AQ2?=}Ar4iMU|Q1}AU4!u zdk`BM_bwndREy3 znTq+hN`g#v7u&0BC(4lLFGSGVgg74s$n*W4eIhS zFfh!QWMB}6vR8q`p=!2**ig%Mf!NS!+7Dtw)tmycp=!>9*idsG!`LAIe*kenVssZINMiq!T%^-82?3o}n#-Q+LU|^UB;y^X51hJupt_QK9;=4d>Rfs|RKn6kC zCqd#+HCI4vsNS0(HdOorhz%A03SvX`iqwO;M^KI(5<3yZhHB0MvDF|J7sxO$2t(P` zAaSUgHV_+XK{tpE6`zU3UIJo6)vN@u&7tN0HV{V>V!>_@8*0IMB=%z@_Ad|{Y5^;# zBc%b+%PGsiAPi-TfW)C{q9K40@l|aU`}T659%i z9gW1!MPj!gu@h$_aW){aPa(1IBeB0Cu>}+m4l+Pu`y#Q6Hy^*`Z_8*gU0i_CpD|;4 zI*6JveLINSGo4+K(Vwwqdbl8?KNG{$=_>>o{TL0Ve+P-SOm`Pz^kWojO z^D8l`GdfH+2T?B5<3W_f^mY(cF@3!fqdF6VjZXneGpw z-c2tDQ4Z7RgQ&*o$3fK2>F+^Q!*p>KMs>!<>GmLM&Gd8-^>=zdh`KR-JBV5_{k{sL FH~{3wM4SKs delta 6121 zcmex&lI7b;mI>1A24)sUCWhu4mAsjiplk&NQv*W<1qCAm1qB5KLjwad6B7jma}xs# zgUS8O>Wm7Tw=;{eFfQ7Bj$MOCy-b0DfrSACSQw>+7#JA$NHQ?!u`)0ufW)AfY0YF= zkxa(BliNi?8TBUL6)`r>5Mf|o;QA-Pz`)2AAjrVL#APAKz`)GFP(SCA(L=fZK$%`d48QCVEm1yIT7i3_#!@$)$Ia*SQv3YWx z7Ye$J2PcauS~2EM4ph`DAS1A|T>0|SGD90P;NWL|Z3RuC&;GOxOljP5c928I$j1_s>&3=9lyatsVQ ze;F7U=EyNHES+4gu2;VaB&Wp4zyM~LLKzI21riJlj2Uc;pSkQ-py*E{q8z zafywAp`MX}L06W6f#C?q3?BvthN~b(3(?^Pn&T1LFjkMUh~O7Qro=0J4aMiGe}KmVtpmU!H+s#^f*!Cs&Y{7&Li7 zDS19jZ!K8wGq~RQAibeX3=Fy^Fejx!4bjbGU|O?_t5Y1=^iku<_21OkP z28PPX^_p6Y-zKlpl$QA>%D})F4AHL+*8h{4fkDv$6o-=^YU(gLPv+AKV&fENU@%~u zoTlaKpu)<)ptFmCfdS-^i(+6qm?j1&F-9>OGUy&+U|^U43c)il#x*EIQGk(w zL3#39Eg9CO@(c`WllinI7?mfhYa25*O^()KsNjl zN3}uG2$W7H|J7DzjGU~fBPj~@{xh)iL8XMQ0w}^K`|C(EuA7{#6T@&O%?;dgYT z8M`L`&;f;|q^^Rgr#J&cuq2Yx=@Wdc_?K3=CH$-_zChc9Md{Tmlm)=C*P$Fc^6- zz@je`Y>px)1A{Io`asE(fkE#XDEZVg!P1WeIQ=Y|9HM8;{7Rl-@&`SU$@BC?8963z z(KBXbo$RMCBUT1Vt=(`fl3*=)lcn?_3Je)nPHxZ_VSF=rs=jKZzYGI|iZCeGuV4bP ztGE~#^f&M@FfguQ3Y7sR4%18q##KzY3=9lgxEL68lo%KoR23K)_+&ug7Q@6*qr@1^ zXaGuJpiBs1F3=E9Q&aw;)tjwUogj<1)fuRIR!E8`0 zsH7ki*t0RzGfYKNVGas()mFF)jW3`qss4`*ZYGF%97%^8sPxj<4%cD!P?&*%`)dd< z1A}=C4+Dc}Hz?A7$TBbpRtYjNFjyo?GBAi(fr?u}VO|CXRl)fnx0+uPVPFtT1+hWl zE;t1wXxT2#zyK0*n5=6g&sZ|q*GOLoRI&(5*a41xuWpu!TWQdf|Hf#)!&(1Zw>3-K^82rWruhZLX?K?@F$;4)A_3Keh`WMB}Q z1}ab?0@haq7#IXI7(pc~M8u+5f`LISN?%x>fdS$ZYcY`Rsf+>gll_duk{GNn2{SMV z)-i$#GKd~)J~jph!3~U+AUzHsCI|ig2OeAfNFmW{6ydZ5aGh1$A zPELOE=9nxc`OP(*XE+&iH+xRDHLm{vY9H}~B94K96O@pkY*Qq5A`&|biCv7uZUM3R zAm%Isv7zRyM`G_lVjlvr%^B*!I?jMNpoGT2z;HpBfk7C`z6}yL2P_13sR!}B~s^LRoizBfWMCutB7@>-^KoU^POh9a5h-DTc3=G0hwlhc^s>T<@ zhB_z+#D=QL0kQQUdh3zclaSamL2QtEkpCBhI8Z~^g4m#DC<6n-Mv%o&_8yQpRLwCE z8*1@s5F4uI3KIJ+68kxb4b}S*#1@4(?yCp`L%lGR!vLy{p^CUbY^VkNAU0H728pc( zVnfyFfY?wq<{-8h!~$zk1_og$+YKZRRTBteL-f`&gn>9vi9`?^BEgUbVna38Be8ox zY*vT`GeK;q-X$QmI7EB}$YLmaGe{h&W*>+RHUBV(Z4L^51_p+UU=Bp{9S|F;=pl#= zHRvyh4K;{EjDdj>R3Uj}D0?wT9IAdDhz&JoGl&gVQ_sM#9jXCTcg7N!dXP9&{Sy!ys^%{eTL4tqLe)rv*wPS(%1baX2-ib7S|ACi zB2y3>YOxiF4UKzy5F4t-3&e)1@dvS?=0t(mP&KI_whY9wOps+zb_qxvs;0gk#DN;r z0%AiYCLysGAhFjYv3G&kpdJnb1H(R$1yJ@$kT}$wDKpaqb zGB7ZF0~rKmgVF{gR0Fpp0|O(}AOR2?DlUt}RtK@6YIHzss2VE}8){|<5<5>4RQ^LH zxT?^hN`guv7zQTOMyD6P(^+q2~gvofq@|iWEqql3lfK_$pEpT26cegP&JD|Y^a)b zAU3F>4(h^!%z?7^g2bU}PJq}DbLtshfH+V^oYD*ou=o}Mv6VrA&cGlc&A=cGWh;Zk zp$6%J*bsvl{6K7|ntTu&s-_CWR)LsP2QmlBo&pj#28BNZ1H()Z2dZHShz&J#6^IQL z-wI-@LJZmoG6>2(0uqO+IS*n(^3;TZVx_7|JdKi9^*ig4j?C+CXfm_!K1ed=ML|W(kOG4lVyTf;gHG3$}sSPzz2W zvF{7#KAmdRb%{7=)p0evmj+jTDFtwOAg+hKlRTg35m=#{wh)RTKhZ zL&Xz7Y<-9Yr64v`yb;8PHnXOI*ii9BAhs?<{c;c+D!v)S28}^5Ffg0|vBBc?3=CI5 z9Bqh(n;hkHj`WVh19zlabg}NbJOkNStLz>;p*bt4QqENNhF*gd^0D*v?4o%+2R7 z`P(uYOqUm6^k+<%o)4lXOy3WpwoK<2Wb|h&nI135=+E?H%JdC_jDCz7)Bl4+Yo_}P zG5Rx3nLZyx9hv?fMBSNgFU;uAXfwSZM0rfV527lj>x(e@GtQY_5298~KM$gwOqUmB z^k>wWo)4m8rtb$)CDZxE82uT0rpJS*CDYe~s14KqgQzRh{lyvm83m@#7iT=qC^J1> zg3+Jx%k=FaDquRhBx5<_hUxW^jQ)%w)6avbDbwYp82uS}rsspGGt>8jsEq0S(v1F$ z52nY1D4*%;K~%%^{~)Soy1xvgKcmU?`7(^{0+2z1y zhJz@B>B~V>$n@_Zs$#mkJflD3f$7shl*RPtAc|$XxdLN4Bcsps`HGC%j8)T5D>5oG z7EFJy$f(YEYr41+qdKG6bbAnGGd&$d@lEdsQ3cbtD>14weRG)pK#5U}@y&F0Wkz*I zz3KWON@jXEhZ!*JQQ5DnWRT$M7%cr}8s3p_$LDc8z(?QgQ Z>HAd})g>16F)&PkjKhO-7j&?c0RXoCCUpP+ diff --git a/tools/sdk/lib/libulp.a b/tools/sdk/lib/libulp.a new file mode 100644 index 0000000000000000000000000000000000000000..a98ffbf238e823dd3388ba3c0788070339e32ee5 GIT binary patch literal 24528 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 literal 0 HcmV?d00001 diff --git a/tools/sdk/lib/libvfs.a b/tools/sdk/lib/libvfs.a index 7a7761d9cba3dd68f307d6618007a272034b6af9..1780b828837f4fc8e94392080d69a52e1d49e2f0 100644 GIT binary patch delta 46 ocmex2iRIrUmI>1AhDOFlMka1A24)sUCWhu4mE;*=?9CpGtjpn?kQG{q07Ci=0ssI2 diff --git a/tools/sdk/lib/libwpa.a b/tools/sdk/lib/libwpa.a index 1d49a0a641695591245df48827d981827d44adfb..4de239784cfcbede353bb18747141700af3996f3 100644 GIT binary patch delta 464 zcmZ28m2=Hh&IvMXX66Ql=H?rf_&6jXOa%o41rUIch6V;^CYwDu-mBx04m20a;R@^@m<4&$0W}H<~4XtvM@6I~Xlz&6!dPOC$EuC58JPv~$e;bgC@z6V{;vp=wFVyfKwGA0 FUI5?DU>pDd delta 464 zcmZ28m2=Hh&IvMXre-E)=0+Qp_&6jXOa%o)0|Nsj(#&kLC&znrJko&%#$tG+=eo^j zQ^aYwiGqTerI~`l-uSphWW+o7mru;dhh})#?m2!-?@yX{p zFy4Gj#;Og2B1Fc!ljt*f8Ur-)Ox ziGqTOsj;QmWXDhHo1fTvY*fIf)XdUMVY0&~jm;(R*D&F+)ACceC~oQPE7=+QE%3+( zIxt4B#On}4OEVLYL$-f;$+&3IS^`IAiivUr2f$k@`mle$Qcv8yt#)-`H`SF--f xjlgbk`Nra7hR3XxI;^J^@yPf3v0k^wBVXIcnvTyef6uXY>)_G9@Hgx2MgVD8-_`&C delta 1013 zcmezKOY+Yz$q6!Sre-E)=0+QpmPtrLmNZhO zFflc@G@I=BNqzGZTaS$j_>`Jinkh_n_@uG9XqFE1Gvu;Vdm?MKGzWq9Q0W-vWZz$br_iC-3P@EI9fni@?P3}V*U z{`DDCb1WXiCb}@k^Wu@`3}U`5fJgps67ywz;rgnF-SDhDOFlMkdA^l|FJn*@lz->cuu2aDG;W2~6c<6W{Ep&lUg^*z8yD z=?Le{J8)1B#+iPPhf#cU?fWQMn8@~fJdCz7Fy8cYRcsRNR+^04tu&b$f53z%`_+qY zzp2RFWeXKCn$BmzD!#ojo;gVYE+kjQBDtNpfq97;OlbSMZOp1ZFdoRA+dnd~tc!t( zfV{GOPdrPs6ij5hTop?zT>oUhdWr3aHn3c^hs)3Vz>?_>=kZyvPE~^Oz@{CDV*THR zB68;`t2WGh;q?WZnG O1RR>%4Mo^r%K!k3pM4kr delta 433 zcmbR9NM_C>nF-SD24)sUCPoGul|FJn*oNkl{p!Uw8*qMBg$YdMV-w%(sLvJv6WHum z@97BTSZtnm;GiCiGyNV9qxk09_ffJik?r?*7;R->yy@qv*d*GmG#R&BX)-nbfC*3b zs~6vXQ<1sL7A7*C&w^Eadt*Fvk^)>vu8Ku+J97i`5;K_4_I2BsRefMQkUO`3WMWwt z0}}yxW&56ZmS`!ch~;*t<8 diff --git a/tools/sdk/lib/libwps.a b/tools/sdk/lib/libwps.a index a783fa64f27badf1f8caa70bc2a94d01f3467903..47824e2de6bd4d9aa06abd27d1149348102c227b 100644 GIT binary patch delta 430 zcmdmWN@Uk5kqI(vX66Ql=H?rfLIflsOa%o41rUIch6V;^CY$>O!bR~&|5rWCjYs;n zVZDO_PQy(U6f7+*jVAA#sj+!c(H}KD25q1DS`v@+?#+?G(xwc0MfoX-C5d|R@ou4h z&LN)ue(~`t76yhE+x6KQgO}hoVEgRVjK!{aVnd`c-!`mw zP{3)piGqTqrKQp2eKR#SFDm+@hR2}oGha*Mk>0&IGFaM}L9Zx3C9xz?FFxKa)XzD@ z)88*XUd6(|&}_RtJ7e$?+y-o)y_&Ju6_337N5*gqJo3{unfeQH%eULlX4-B)n>m_O b5pQT%m>8K%-ak{l{m~NU?T?nQL^J>Zw@+zY diff --git a/tools/sdk/lib/libxtensa-debug-module.a b/tools/sdk/lib/libxtensa-debug-module.a index 93d0ca83faa4f9ec9aca629f4317551c366beba9..972e1f0c8932c66357aac97048e36588966f91e9 100644 GIT binary patch delta 46 pcmcZ>do6Z?G`pdZv5}F9@kFKhFy>?h0kMtutodR5%?bkBdo6Z?G`oSBg^`Jo!9=C`Fy>?h0kMtutodR5%?bkB