From 56ef31f899670ab6b6813bbe58afbc7f7395efc1 Mon Sep 17 00:00:00 2001 From: Me No Dev Date: Wed, 12 Apr 2017 21:49:58 +0300 Subject: [PATCH] Update IDF to version 3cad00f (#310) --- platform.txt | 4 +- tools/platformio-build.py | 3 +- tools/sdk/bin/bootloader.bin | Bin 10128 -> 11328 bytes tools/sdk/include/bluedroid/alarm.h | 3 + tools/sdk/include/bluedroid/bta_api.h | 2 + tools/sdk/include/bluedroid/btm_api.h | 2 + tools/sdk/include/bluedroid/esp_gap_ble_api.h | 2 + tools/sdk/include/bluedroid/thread.h | 10 +- tools/sdk/include/bt/bt.h | 38 +- tools/sdk/include/config/sdkconfig.h | 4 +- tools/sdk/include/driver/driver/rmt.h | 6 +- tools/sdk/include/esp32/esp_err.h | 5 +- tools/sdk/include/esp32/esp_panic.h | 5 + tools/sdk/include/esp32/esp_task.h | 2 +- tools/sdk/include/esp32/rom/rtc.h | 3 + tools/sdk/include/esp32/rom/spi_flash.h | 299 +- tools/sdk/include/esp32/soc/bb_reg.h | 102 - .../sdk/include/freertos/freertos/portmacro.h | 14 + tools/sdk/include/mdns/mdns.h | 4 + .../sdk/include/{esp32 => soc}/esp_brownout.h | 0 tools/sdk/include/soc/soc/apb_ctrl_reg.h | 294 + tools/sdk/include/soc/soc/apb_ctrl_struct.h | 120 + tools/sdk/include/soc/soc/bb_reg.h | 34 + .../include/{esp32 => soc}/soc/boot_mode.h | 0 tools/sdk/include/{esp32 => soc}/soc/cpu.h | 0 .../include/{esp32 => soc}/soc/dport_reg.h | 0 .../include/{esp32 => soc}/soc/efuse_reg.h | 0 .../include/{esp32 => soc}/soc/emac_ex_reg.h | 0 .../include/{esp32 => soc}/soc/emac_reg_v2.h | 0 tools/sdk/include/soc/soc/fe_reg.h | 33 + .../{esp32 => soc}/soc/frc_timer_reg.h | 0 .../sdk/include/{esp32 => soc}/soc/gpio_reg.h | 0 .../include/{esp32 => soc}/soc/gpio_sd_reg.h | 0 .../{esp32 => soc}/soc/gpio_sd_struct.h | 0 .../include/{esp32 => soc}/soc/gpio_sig_map.h | 0 .../include/{esp32 => soc}/soc/gpio_struct.h | 0 .../include/{esp32 => soc}/soc/hwcrypto_reg.h | 0 .../sdk/include/{esp32 => soc}/soc/i2c_reg.h | 1902 +++---- .../include/{esp32 => soc}/soc/i2c_struct.h | 0 .../sdk/include/{esp32 => soc}/soc/i2s_reg.h | 0 .../include/{esp32 => soc}/soc/i2s_struct.h | 0 .../include/{esp32 => soc}/soc/io_mux_reg.h | 0 .../sdk/include/{esp32 => soc}/soc/ledc_reg.h | 4846 ++++++++--------- .../include/{esp32 => soc}/soc/ledc_struct.h | 0 tools/sdk/include/soc/soc/nrx_reg.h | 39 + .../sdk/include/{esp32 => soc}/soc/pcnt_reg.h | 3052 +++++------ .../include/{esp32 => soc}/soc/pcnt_struct.h | 0 tools/sdk/include/{esp32 => soc}/soc/pid.h | 0 .../sdk/include/{esp32 => soc}/soc/rmt_reg.h | 4344 +++++++-------- .../include/{esp32 => soc}/soc/rmt_struct.h | 0 tools/sdk/include/soc/soc/rtc.h | 496 ++ .../include/{esp32 => soc}/soc/rtc_cntl_reg.h | 70 + tools/sdk/include/soc/soc/rtc_cntl_struct.h | 553 ++ .../include/{esp32 => soc}/soc/rtc_io_reg.h | 3904 ++++++------- tools/sdk/include/soc/soc/rtc_io_struct.h | 280 + .../include/{esp32 => soc}/soc/sdmmc_reg.h | 0 .../include/{esp32 => soc}/soc/sdmmc_struct.h | 0 .../sdk/include/{esp32 => soc}/soc/sens_reg.h | 0 tools/sdk/include/{esp32 => soc}/soc/soc.h | 3 + .../sdk/include/{esp32 => soc}/soc/soc_ulp.h | 0 .../sdk/include/{esp32 => soc}/soc/spi_reg.h | 3422 ++++++------ .../include/{esp32 => soc}/soc/spi_struct.h | 0 .../include/{esp32 => soc}/soc/syscon_reg.h | 0 .../{esp32 => soc}/soc/syscon_struct.h | 0 .../{esp32 => soc}/soc/timer_group_reg.h | 0 .../{esp32 => soc}/soc/timer_group_struct.h | 0 .../sdk/include/{esp32 => soc}/soc/uart_reg.h | 2334 ++++---- .../include/{esp32 => soc}/soc/uart_struct.h | 0 .../sdk/include/{esp32 => soc}/soc/uhci_reg.h | 0 .../include/{esp32 => soc}/soc/uhci_struct.h | 0 .../sdk/include/{esp32 => soc}/soc/wdev_reg.h | 0 .../sdk/include/tcpip_adapter/tcpip_adapter.h | 33 + tools/sdk/ld/esp32.common.ld | 4 +- tools/sdk/ld/esp32.rom.ld | 46 +- tools/sdk/ld/esp32.rom.spiflash.ld | 23 + tools/sdk/lib/libapp_update.a | Bin 45784 -> 45784 bytes tools/sdk/lib/libbootloader_support.a | Bin 111978 -> 111990 bytes tools/sdk/lib/libbt.a | Bin 8570180 -> 8591828 bytes tools/sdk/lib/libbtdm_app.a | Bin 71934 -> 87382 bytes tools/sdk/lib/libcoap.a | Bin 450954 -> 450954 bytes tools/sdk/lib/libcoexist.a | Bin 14930 -> 14930 bytes tools/sdk/lib/libcore.a | Bin 24578 -> 25624 bytes tools/sdk/lib/libcxx.a | Bin 50148 -> 50148 bytes tools/sdk/lib/libdriver.a | Bin 1134386 -> 1134442 bytes tools/sdk/lib/libesp32.a | Bin 507090 -> 505968 bytes tools/sdk/lib/libethernet.a | Bin 100188 -> 100188 bytes tools/sdk/lib/libexpat.a | Bin 1239676 -> 1239676 bytes tools/sdk/lib/libfatfs.a | Bin 344484 -> 344484 bytes tools/sdk/lib/libfreertos.a | Bin 543322 -> 545626 bytes tools/sdk/lib/libjsmn.a | Bin 21578 -> 21578 bytes tools/sdk/lib/libjson.a | Bin 208230 -> 208230 bytes tools/sdk/lib/liblog.a | Bin 20986 -> 20986 bytes tools/sdk/lib/liblwip.a | Bin 1881464 -> 1881672 bytes tools/sdk/lib/libmbedtls.a | Bin 3595712 -> 3595712 bytes tools/sdk/lib/libmdns.a | Bin 199480 -> 199480 bytes tools/sdk/lib/libmicro-ecc.a | Bin 154324 -> 154324 bytes tools/sdk/lib/libnet80211.a | Bin 705680 -> 706290 bytes tools/sdk/lib/libnewlib.a | Bin 80438 -> 80438 bytes tools/sdk/lib/libnghttp.a | Bin 1523258 -> 1523258 bytes tools/sdk/lib/libnvs_flash.a | Bin 626354 -> 626354 bytes tools/sdk/lib/libopenssl.a | Bin 269248 -> 269248 bytes tools/sdk/lib/libpp.a | Bin 410224 -> 463070 bytes tools/sdk/lib/librtc.a | Bin 92258 -> 162012 bytes tools/sdk/lib/librtc_clk.a | Bin 10956 -> 0 bytes tools/sdk/lib/librtc_pm.a | Bin 14202 -> 0 bytes tools/sdk/lib/libsdmmc.a | Bin 70902 -> 70902 bytes tools/sdk/lib/libsoc.a | Bin 0 -> 90482 bytes tools/sdk/lib/libspi_flash.a | Bin 127358 -> 176504 bytes tools/sdk/lib/libtcpip_adapter.a | Bin 77182 -> 95886 bytes tools/sdk/lib/libulp.a | Bin 32720 -> 32720 bytes tools/sdk/lib/libvfs.a | Bin 91266 -> 91270 bytes tools/sdk/lib/libwpa.a | Bin 150704 -> 150704 bytes tools/sdk/lib/libwpa2.a | Bin 427410 -> 427410 bytes tools/sdk/lib/libwpa_supplicant.a | Bin 462596 -> 462596 bytes tools/sdk/lib/libwps.a | Bin 337386 -> 337386 bytes tools/sdk/lib/libxtensa-debug-module.a | Bin 12082 -> 12082 bytes 116 files changed, 14132 insertions(+), 12208 deletions(-) delete mode 100755 tools/sdk/include/esp32/soc/bb_reg.h rename tools/sdk/include/{esp32 => soc}/esp_brownout.h (100%) create mode 100644 tools/sdk/include/soc/soc/apb_ctrl_reg.h create mode 100644 tools/sdk/include/soc/soc/apb_ctrl_struct.h create mode 100644 tools/sdk/include/soc/soc/bb_reg.h rename tools/sdk/include/{esp32 => soc}/soc/boot_mode.h (100%) mode change 100755 => 100644 rename tools/sdk/include/{esp32 => soc}/soc/cpu.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/dport_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/efuse_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/emac_ex_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/emac_reg_v2.h (100%) create mode 100644 tools/sdk/include/soc/soc/fe_reg.h rename tools/sdk/include/{esp32 => soc}/soc/frc_timer_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/gpio_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/gpio_sd_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/gpio_sd_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/gpio_sig_map.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/gpio_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/hwcrypto_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/i2c_reg.h (98%) rename tools/sdk/include/{esp32 => soc}/soc/i2c_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/i2s_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/i2s_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/io_mux_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/ledc_reg.h (98%) rename tools/sdk/include/{esp32 => soc}/soc/ledc_struct.h (100%) create mode 100644 tools/sdk/include/soc/soc/nrx_reg.h rename tools/sdk/include/{esp32 => soc}/soc/pcnt_reg.h (98%) rename tools/sdk/include/{esp32 => soc}/soc/pcnt_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/pid.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/rmt_reg.h (97%) rename tools/sdk/include/{esp32 => soc}/soc/rmt_struct.h (100%) create mode 100644 tools/sdk/include/soc/soc/rtc.h rename tools/sdk/include/{esp32 => soc}/soc/rtc_cntl_reg.h (96%) create mode 100644 tools/sdk/include/soc/soc/rtc_cntl_struct.h rename tools/sdk/include/{esp32 => soc}/soc/rtc_io_reg.h (98%) create mode 100644 tools/sdk/include/soc/soc/rtc_io_struct.h rename tools/sdk/include/{esp32 => soc}/soc/sdmmc_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/sdmmc_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/sens_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/soc.h (99%) mode change 100755 => 100644 rename tools/sdk/include/{esp32 => soc}/soc/soc_ulp.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/spi_reg.h (97%) rename tools/sdk/include/{esp32 => soc}/soc/spi_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/syscon_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/syscon_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/timer_group_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/timer_group_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/uart_reg.h (97%) rename tools/sdk/include/{esp32 => soc}/soc/uart_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/uhci_reg.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/uhci_struct.h (100%) rename tools/sdk/include/{esp32 => soc}/soc/wdev_reg.h (100%) create mode 100644 tools/sdk/ld/esp32.rom.spiflash.ld delete mode 100755 tools/sdk/lib/librtc_clk.a delete mode 100755 tools/sdk/lib/librtc_pm.a create mode 100644 tools/sdk/lib/libsoc.a diff --git a/platform.txt b/platform.txt index 4c8c56f1..d08160ab 100644 --- a/platform.txt +++ b/platform.txt @@ -21,7 +21,7 @@ compiler.warning_flags.all=-Wall -Werror=all -Wextra compiler.path={runtime.tools.xtensa-esp32-elf-gcc.path}/bin/ compiler.sdk.path={runtime.platform.path}/tools/sdk -compiler.cpreprocessor.flags=-DESP_PLATFORM -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DHAVE_CONFIG_H "-I{compiler.sdk.path}/include/config" "-I{compiler.sdk.path}/include/bluedroid" "-I{compiler.sdk.path}/include/app_update" "-I{compiler.sdk.path}/include/bootloader_support" "-I{compiler.sdk.path}/include/bt" "-I{compiler.sdk.path}/include/driver" "-I{compiler.sdk.path}/include/esp32" "-I{compiler.sdk.path}/include/ethernet" "-I{compiler.sdk.path}/include/fatfs" "-I{compiler.sdk.path}/include/freertos" "-I{compiler.sdk.path}/include/jsmn" "-I{compiler.sdk.path}/include/log" "-I{compiler.sdk.path}/include/mdns" "-I{compiler.sdk.path}/include/mbedtls" "-I{compiler.sdk.path}/include/mbedtls_port" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nvs_flash" "-I{compiler.sdk.path}/include/openssl" "-I{compiler.sdk.path}/include/spi_flash" "-I{compiler.sdk.path}/include/sdmmc" "-I{compiler.sdk.path}/include/tcpip_adapter" "-I{compiler.sdk.path}/include/ulp" "-I{compiler.sdk.path}/include/vfs" "-I{compiler.sdk.path}/include/xtensa-debug-module" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/coap" "-I{compiler.sdk.path}/include/wpa_supplicant" "-I{compiler.sdk.path}/include/expat" "-I{compiler.sdk.path}/include/json" "-I{compiler.sdk.path}/include/nghttp" "-I{compiler.sdk.path}/include/lwip" +compiler.cpreprocessor.flags=-DESP_PLATFORM -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DHAVE_CONFIG_H "-I{compiler.sdk.path}/include/config" "-I{compiler.sdk.path}/include/bluedroid" "-I{compiler.sdk.path}/include/app_update" "-I{compiler.sdk.path}/include/bootloader_support" "-I{compiler.sdk.path}/include/bt" "-I{compiler.sdk.path}/include/driver" "-I{compiler.sdk.path}/include/esp32" "-I{compiler.sdk.path}/include/ethernet" "-I{compiler.sdk.path}/include/fatfs" "-I{compiler.sdk.path}/include/freertos" "-I{compiler.sdk.path}/include/jsmn" "-I{compiler.sdk.path}/include/log" "-I{compiler.sdk.path}/include/mdns" "-I{compiler.sdk.path}/include/mbedtls" "-I{compiler.sdk.path}/include/mbedtls_port" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/nvs_flash" "-I{compiler.sdk.path}/include/openssl" "-I{compiler.sdk.path}/include/soc" "-I{compiler.sdk.path}/include/spi_flash" "-I{compiler.sdk.path}/include/sdmmc" "-I{compiler.sdk.path}/include/tcpip_adapter" "-I{compiler.sdk.path}/include/ulp" "-I{compiler.sdk.path}/include/vfs" "-I{compiler.sdk.path}/include/xtensa-debug-module" "-I{compiler.sdk.path}/include/newlib" "-I{compiler.sdk.path}/include/coap" "-I{compiler.sdk.path}/include/wpa_supplicant" "-I{compiler.sdk.path}/include/expat" "-I{compiler.sdk.path}/include/json" "-I{compiler.sdk.path}/include/nghttp" "-I{compiler.sdk.path}/include/lwip" compiler.c.cmd=xtensa-esp32-elf-gcc compiler.c.flags=-std=gnu99 -Os -g3 -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -mlongcalls -nostdlib -Wpointer-arith {compiler.warning_flags} -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -Wno-old-style-declaration -MMD -c @@ -34,7 +34,7 @@ compiler.S.flags=-c -g3 -x assembler-with-cpp -MMD -mlongcalls compiler.c.elf.cmd=xtensa-esp32-elf-gcc compiler.c.elf.flags=-nostdlib "-L{compiler.sdk.path}/lib" "-L{compiler.sdk.path}/ld" -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=-lgcc -lstdc++ -lapp_update -lbootloader_support -lbt -lbtdm_app -lc -lc_nano -lcoap -lcoexist -lcore -lcxx -ldriver -lesp32 -lethernet -lexpat -lfatfs -lfreertos -lhal -ljsmn -ljson -llog -llwip -lm -lmbedtls -lmdns -lmicro-ecc -lnet80211 -lnewlib -lnghttp -lnvs_flash -lopenssl -lphy -lpp -lrtc -lrtc_clk -lrtc_pm -lsdmmc -lsmartconfig -lspi_flash -ltcpip_adapter -lulp -lvfs -lwpa -lwpa2 -lwpa_supplicant -lwps -lxtensa-debug-module +compiler.c.elf.libs=-lgcc -lstdc++ -lapp_update -lbootloader_support -lbt -lbtdm_app -lc -lc_nano -lcoap -lcoexist -lcore -lcxx -ldriver -lesp32 -lethernet -lexpat -lfatfs -lfreertos -lhal -ljsmn -ljson -llog -llwip -lm -lmbedtls -lmdns -lmicro-ecc -lnet80211 -lnewlib -lnghttp -lnvs_flash -lopenssl -lphy -lpp -lrtc -lsdmmc -lsmartconfig -lsoc -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/platformio-build.py b/tools/platformio-build.py index 6bbe097b..34c15826 100644 --- a/tools/platformio-build.py +++ b/tools/platformio-build.py @@ -67,6 +67,7 @@ env.Prepend( join(FRAMEWORK_DIR, "tools", "sdk", "include", "newlib"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "nvs_flash"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "openssl"), + join(FRAMEWORK_DIR, "tools", "sdk", "include", "soc"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "spi_flash"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "sdmmc"), join(FRAMEWORK_DIR, "tools", "sdk", "include", "tcpip_adapter"), @@ -89,7 +90,7 @@ env.Prepend( ], LIBS=[ - "gcc", "stdc++", "app_update", "bootloader_support", "bt", "btdm_app", "c", "c_nano", "coap", "coexist", "core", "cxx", "driver", "esp32", "ethernet", "expat", "fatfs", "freertos", "hal", "jsmn", "json", "log", "lwip", "m", "mbedtls", "mdns", "micro-ecc", "net80211", "newlib", "nghttp", "nvs_flash", "openssl", "phy", "pp", "rtc", "rtc_clk", "rtc_pm", "sdmmc", "smartconfig", "spi_flash", "tcpip_adapter", "ulp", "vfs", "wpa", "wpa2", "wpa_supplicant", "wps", "xtensa-debug-module" + "gcc", "stdc++", "app_update", "bootloader_support", "bt", "btdm_app", "c", "c_nano", "coap", "coexist", "core", "cxx", "driver", "esp32", "ethernet", "expat", "fatfs", "freertos", "hal", "jsmn", "json", "log", "lwip", "m", "mbedtls", "mdns", "micro-ecc", "net80211", "newlib", "nghttp", "nvs_flash", "openssl", "phy", "pp", "rtc", "sdmmc", "smartconfig", "soc", "spi_flash", "tcpip_adapter", "ulp", "vfs", "wpa", "wpa2", "wpa_supplicant", "wps", "xtensa-debug-module" ], UPLOADERFLAGS=[ diff --git a/tools/sdk/bin/bootloader.bin b/tools/sdk/bin/bootloader.bin index 52aff86707dec5787f9c24b22ca65cc1079cb3da..bc20ab09663136319c12e4ed6708a9c80904b804 100644 GIT binary patch literal 11328 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 #include #include "esp_err.h" +#include "sdkconfig.h" #ifdef __cplusplus extern "C" { #endif +/** + * @brief Controller config options, depend on config mask. + * Config mask indicate which functions enabled, this means + * some options or parameters of some functions enabled by config mask. + */ +typedef struct { + uint8_t hci_uart_no; /*!< If use UART1/2 as HCI IO interface, indicate UART number */ + uint32_t hci_uart_baudrate; /*!< If use UART1/2 as HCI IO interface, indicate UART baudrate */ +} esp_bt_controller_config_t; + +#ifdef CONFIG_BT_ENABLED + +#ifdef CONFIG_BT_HCI_UART_NO +#define BT_HCI_UART_NO_DEFAULT CONFIG_BT_HCI_UART_NO +#else +#define BT_HCI_UART_NO_DEFAULT 1 +#endif /* BT_HCI_UART_NO_DEFAULT */ + +#ifdef CONFIG_BT_HCI_UART_BAUDRATE +#define BT_HCI_UART_BAUDRATE_DEFAULT CONFIG_BT_HCI_UART_BAUDRATE +#else +#define BT_HCI_UART_BAUDRATE_DEFAULT 921600 +#endif /* BT_HCI_UART_BAUDRATE_DEFAULT */ + +#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() { \ + .hci_uart_no = BT_HCI_UART_NO_DEFAULT,\ + .hci_uart_baudrate = BT_HCI_UART_BAUDRATE_DEFAULT,\ +}; +#else +#define BT_CONTROLLER_INIT_CONFIG_DEFAULT() {0}; _Static_assert(0, "please enable bluetooth in menuconfig to use bt.h"); +#endif + /** * @brief Bluetooth mode for controller enable/disable */ @@ -45,10 +78,11 @@ typedef enum { /** * @brief Initialize BT controller to allocate task and other resource. - * + * @param cfg: Initial configuration of BT controller. * This function should be called only once, before any other BT functions are called. + * @return ESP_OK - success, other - failed */ -void esp_bt_controller_init(void); +esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg); /** * @brief De-initialize BT controller to free resource and delete task. diff --git a/tools/sdk/include/config/sdkconfig.h b/tools/sdk/include/config/sdkconfig.h index 1a7afb67..f58bf8bb 100644 --- a/tools/sdk/include/config/sdkconfig.h +++ b/tools/sdk/include/config/sdkconfig.h @@ -46,6 +46,7 @@ #define CONFIG_LOG_DEFAULT_LEVEL_ERROR 1 #define CONFIG_MBEDTLS_MPI_USE_INTERRUPT 1 #define CONFIG_ESP32_ENABLE_COREDUMP_TO_NONE 1 +#define CONFIG_BTDM_CONTROLLER_RUN_CPU 0 #define CONFIG_FATFS_CODEPAGE_850 1 #define CONFIG_TASK_WDT 1 #define CONFIG_MAIN_TASK_STACK_SIZE 4096 @@ -74,7 +75,7 @@ #define CONFIG_FLASHMODE_QIO 1 #define CONFIG_ESPTOOLPY_FLASHFREQ_80M 1 #define CONFIG_SYSTEM_EVENT_TASK_STACK_SIZE 2048 -#define CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY 0 +#define CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY 1000 #define CONFIG_PHY_DATA_OFFSET 0xf000 #define CONFIG_PARTITION_TABLE_CUSTOM_APP_BIN_OFFSET 0x10000 #define CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM 32 @@ -110,6 +111,7 @@ #define CONFIG_ESPTOOLPY_BAUD_921600B 1 #define CONFIG_APP_OFFSET 0x10000 #define CONFIG_MEMMAP_SMP 1 +#define CONFIG_SPI_FLASH_ROM_DRIVER_PATCH 1 #define CONFIG_LWIP_SO_RCVBUF 1 #define CONFIG_MBEDTLS_HARDWARE_MPI 1 #define CONFIG_MONITOR_BAUD_OTHER_VAL 115200 diff --git a/tools/sdk/include/driver/driver/rmt.h b/tools/sdk/include/driver/driver/rmt.h index f5e82b4a..0a958688 100644 --- a/tools/sdk/include/driver/driver/rmt.h +++ b/tools/sdk/include/driver/driver/rmt.h @@ -564,7 +564,7 @@ esp_err_t rmt_set_pin(rmt_channel_t channel, rmt_mode_t mode, gpio_num_t gpio_nu * - ESP_ERR_INVALID_ARG Parameter error * - ESP_OK Success */ -esp_err_t rmt_config(rmt_config_t* rmt_param); +esp_err_t rmt_config(const rmt_config_t* rmt_param); /** * @brief register RMT interrupt handler, the handler is an ISR. @@ -612,7 +612,7 @@ esp_err_t rmt_isr_deregister(rmt_isr_handle_t handle); * - ESP_ERR_INVALID_ARG Parameter error * - ESP_OK Success */ -esp_err_t rmt_fill_tx_items(rmt_channel_t channel, rmt_item32_t* item, uint16_t item_num, uint16_t mem_offset); +esp_err_t rmt_fill_tx_items(rmt_channel_t channel, const rmt_item32_t* item, uint16_t item_num, uint16_t mem_offset); /** * @brief Initialize RMT driver @@ -670,7 +670,7 @@ esp_err_t rmt_driver_uninstall(rmt_channel_t channel); * - ESP_ERR_INVALID_ARG Parameter error * - ESP_OK Success */ -esp_err_t rmt_write_items(rmt_channel_t channel, rmt_item32_t* rmt_item, int item_num, bool wait_tx_done); +esp_err_t rmt_write_items(rmt_channel_t channel, const rmt_item32_t* rmt_item, int item_num, bool wait_tx_done); /** * @brief Wait RMT TX finished. diff --git a/tools/sdk/include/esp32/esp_err.h b/tools/sdk/include/esp32/esp_err.h index c7beafd3..2990c893 100644 --- a/tools/sdk/include/esp32/esp_err.h +++ b/tools/sdk/include/esp32/esp_err.h @@ -61,7 +61,10 @@ void _esp_error_check_failed(esp_err_t rc, const char *file, int line, const cha * Disabled if assertions are disabled. */ #ifdef NDEBUG -#define ESP_ERROR_CHECK(x) do { (x); } while (0) +#define ESP_ERROR_CHECK(x) do { \ + esp_err_t rc = (x); \ + (void) sizeof(rc); \ + } while(0); #else #define ESP_ERROR_CHECK(x) do { \ esp_err_t rc = (x); \ diff --git a/tools/sdk/include/esp32/esp_panic.h b/tools/sdk/include/esp32/esp_panic.h index e9668fac..c9ee1409 100644 --- a/tools/sdk/include/esp32/esp_panic.h +++ b/tools/sdk/include/esp32/esp_panic.h @@ -61,6 +61,11 @@ esp_err_t esp_set_watchpoint(int no, void *adr, int size, int flags); void esp_clear_watchpoint(int no); +/** + * @brief Stops panic WDT + */ +void esp_panic_wdt_stop(void); + #endif #ifdef __cplusplus diff --git a/tools/sdk/include/esp32/esp_task.h b/tools/sdk/include/esp32/esp_task.h index bd263626..522067ca 100644 --- a/tools/sdk/include/esp32/esp_task.h +++ b/tools/sdk/include/esp32/esp_task.h @@ -33,7 +33,7 @@ /* Bt contoller Task */ /* controller */ -#define ESP_TASK_BT_CONTROLLER_PRIO (ESP_TASK_PRIO_MAX - 1) +#define ESP_TASK_BT_CONTROLLER_PRIO (ESP_TASK_PRIO_MAX - 2) #ifdef CONFIG_NEWLIB_NANO_FORMAT #define BT_TASK_EXTRA_STACK_SIZE (0) #else diff --git a/tools/sdk/include/esp32/rom/rtc.h b/tools/sdk/include/esp32/rom/rtc.h index 9bcd9bd7..9ea3126a 100644 --- a/tools/sdk/include/esp32/rom/rtc.h +++ b/tools/sdk/include/esp32/rom/rtc.h @@ -61,8 +61,11 @@ extern "C" { * RTC_CNTL_STORE7_REG FAST_RTC_MEMORY_CRC ************************************************************************************* */ + #define RTC_BOOT_TIME_LOW_REG RTC_CNTL_STORE2_REG #define RTC_BOOT_TIME_HIGH_REG RTC_CNTL_STORE3_REG +#define RTC_XTAL_FREQ_REG RTC_CNTL_STORE4_REG +#define RTC_APB_FREQ_REG RTC_CNTL_STORE5_REG #define RTC_ENTRY_ADDR_REG RTC_CNTL_STORE6_REG #define RTC_MEMORY_CRC_REG RTC_CNTL_STORE7_REG diff --git a/tools/sdk/include/esp32/rom/spi_flash.h b/tools/sdk/include/esp32/rom/spi_flash.h index a9d617e7..bb2da748 100644 --- a/tools/sdk/include/esp32/rom/spi_flash.h +++ b/tools/sdk/include/esp32/rom/spi_flash.h @@ -65,81 +65,81 @@ extern "C" { ************************************************************* */ -#define PERIPHS_SPI_FLASH_CMD SPI_CMD(1) -#define PERIPHS_SPI_FLASH_ADDR SPI_ADDR(1) -#define PERIPHS_SPI_FLASH_CTRL SPI_CTRL(1) -#define PERIPHS_SPI_FLASH_CTRL1 SPI_CTRL1(1) -#define PERIPHS_SPI_FLASH_STATUS SPI_RD_STATUS(1) -#define PERIPHS_SPI_FLASH_USRREG SPI_USER(1) -#define PERIPHS_SPI_FLASH_USRREG1 SPI_USER1(1) -#define PERIPHS_SPI_FLASH_USRREG2 SPI_USER2(1) -#define PERIPHS_SPI_FLASH_C0 SPI_W0(1) -#define PERIPHS_SPI_FLASH_C1 SPI_W1(1) -#define PERIPHS_SPI_FLASH_C2 SPI_W2(1) -#define PERIPHS_SPI_FLASH_C3 SPI_W3(1) -#define PERIPHS_SPI_FLASH_C4 SPI_W4(1) -#define PERIPHS_SPI_FLASH_C5 SPI_W5(1) -#define PERIPHS_SPI_FLASH_C6 SPI_W6(1) -#define PERIPHS_SPI_FLASH_C7 SPI_W7(1) -#define PERIPHS_SPI_FLASH_TX_CRC SPI_TX_CRC(1) +#define PERIPHS_SPI_FLASH_CMD SPI_CMD_REG(1) +#define PERIPHS_SPI_FLASH_ADDR SPI_ADDR_REG(1) +#define PERIPHS_SPI_FLASH_CTRL SPI_CTRL_REG(1) +#define PERIPHS_SPI_FLASH_CTRL1 SPI_CTRL1_REG(1) +#define PERIPHS_SPI_FLASH_STATUS SPI_RD_STATUS_REG(1) +#define PERIPHS_SPI_FLASH_USRREG SPI_USER_REG(1) +#define PERIPHS_SPI_FLASH_USRREG1 SPI_USER1_REG(1) +#define PERIPHS_SPI_FLASH_USRREG2 SPI_USER2_REG(1) +#define PERIPHS_SPI_FLASH_C0 SPI_W0_REG(1) +#define PERIPHS_SPI_FLASH_C1 SPI_W1_REG(1) +#define PERIPHS_SPI_FLASH_C2 SPI_W2_REG(1) +#define PERIPHS_SPI_FLASH_C3 SPI_W3_REG(1) +#define PERIPHS_SPI_FLASH_C4 SPI_W4_REG(1) +#define PERIPHS_SPI_FLASH_C5 SPI_W5_REG(1) +#define PERIPHS_SPI_FLASH_C6 SPI_W6_REG(1) +#define PERIPHS_SPI_FLASH_C7 SPI_W7_REG(1) +#define PERIPHS_SPI_FLASH_TX_CRC SPI_TX_CRC_REG(1) -#define SPI0_R_QIO_DUMMY_CYCLELEN 3 -#define SPI0_R_QIO_ADDR_BITSLEN 31 -#define SPI0_R_FAST_DUMMY_CYCLELEN 7 -#define SPI0_R_DIO_DUMMY_CYCLELEN 3 -#define SPI0_R_FAST_ADDR_BITSLEN 23 -#define SPI0_R_SIO_ADDR_BITSLEN 23 +#define SPI0_R_QIO_DUMMY_CYCLELEN 3 +#define SPI0_R_QIO_ADDR_BITSLEN 31 +#define SPI0_R_FAST_DUMMY_CYCLELEN 7 +#define SPI0_R_DIO_DUMMY_CYCLELEN 3 +#define SPI0_R_FAST_ADDR_BITSLEN 23 +#define SPI0_R_SIO_ADDR_BITSLEN 23 -#define SPI1_R_QIO_DUMMY_CYCLELEN 3 -#define SPI1_R_QIO_ADDR_BITSLEN 31 -#define SPI1_R_FAST_DUMMY_CYCLELEN 7 -#define SPI1_R_DIO_DUMMY_CYCLELEN 3 -#define SPI1_R_DIO_ADDR_BITSLEN 31 -#define SPI1_R_FAST_ADDR_BITSLEN 23 -#define SPI1_R_SIO_ADDR_BITSLEN 23 +#define SPI1_R_QIO_DUMMY_CYCLELEN 3 +#define SPI1_R_QIO_ADDR_BITSLEN 31 +#define SPI1_R_FAST_DUMMY_CYCLELEN 7 +#define SPI1_R_DIO_DUMMY_CYCLELEN 3 +#define SPI1_R_DIO_ADDR_BITSLEN 31 +#define SPI1_R_FAST_ADDR_BITSLEN 23 +#define SPI1_R_SIO_ADDR_BITSLEN 23 -#define SPI_W_SIO_ADDR_BITSLEN 23 +#define ESP_ROM_SPIFLASH_W_SIO_ADDR_BITSLEN 23 -#define TWO_BYTE_STATUS_EN SPI_WRSR_2B +#define ESP_ROM_SPIFLASH_TWO_BYTE_STATUS_EN SPI_WRSR_2B //SPI address register -#define SPI_FLASH_BYTES_LEN 24 -#define SPI_BUFF_BYTE_WRITE_NUM 32 -#define SPI_BUFF_BYTE_READ_NUM 64 -#define SPI_BUFF_BYTE_READ_BITS 0x3f +#define ESP_ROM_SPIFLASH_BYTES_LEN 24 +#define ESP_ROM_SPIFLASH_BUFF_BYTE_WRITE_NUM 32 +#define ESP_ROM_SPIFLASH_BUFF_BYTE_READ_NUM 64 +#define ESP_ROM_SPIFLASH_BUFF_BYTE_READ_BITS 0x3f //SPI status register -#define SPI_FLASH_BUSY_FLAG BIT0 -#define SPI_FLASH_WRENABLE_FLAG BIT1 -#define SPI_FLASH_BP0 BIT2 -#define SPI_FLASH_BP1 BIT3 -#define SPI_FLASH_BP2 BIT4 -#define FLASH_WR_PROTECT (SPI_FLASH_BP0|SPI_FLASH_BP1|SPI_FLASH_BP2) -#define SPI_FLASH_QE BIT9 +#define ESP_ROM_SPIFLASH_BUSY_FLAG BIT0 +#define ESP_ROM_SPIFLASH_WRENABLE_FLAG BIT1 +#define ESP_ROM_SPIFLASH_BP0 BIT2 +#define ESP_ROM_SPIFLASH_BP1 BIT3 +#define ESP_ROM_SPIFLASH_BP2 BIT4 +#define ESP_ROM_SPIFLASH_WR_PROTECT (ESP_ROM_SPIFLASH_BP0|ESP_ROM_SPIFLASH_BP1|ESP_ROM_SPIFLASH_BP2) +#define ESP_ROM_SPIFLASH_QE BIT9 typedef enum { - SPI_FLASH_QIO_MODE = 0, - SPI_FLASH_QOUT_MODE, - SPI_FLASH_DIO_MODE, - SPI_FLASH_DOUT_MODE, - SPI_FLASH_FASTRD_MODE, - SPI_FLASH_SLOWRD_MODE -} SpiFlashRdMode; + ESP_ROM_SPIFLASH_QIO_MODE = 0, + ESP_ROM_SPIFLASH_QOUT_MODE, + ESP_ROM_SPIFLASH_DIO_MODE, + ESP_ROM_SPIFLASH_DOUT_MODE, + ESP_ROM_SPIFLASH_FASTRD_MODE, + ESP_ROM_SPIFLASH_SLOWRD_MODE +} esp_rom_spiflash_read_mode_t; typedef enum { - SPI_FLASH_RESULT_OK, - SPI_FLASH_RESULT_ERR, - SPI_FLASH_RESULT_TIMEOUT -} SpiFlashOpResult; + ESP_ROM_SPIFLASH_RESULT_OK, + ESP_ROM_SPIFLASH_RESULT_ERR, + ESP_ROM_SPIFLASH_RESULT_TIMEOUT +} esp_rom_spiflash_result_t; typedef struct { - uint32_t deviceId; + uint32_t device_id; uint32_t chip_size; // chip size in bytes uint32_t block_size; uint32_t sector_size; uint32_t page_size; uint32_t status_mask; -} SpiFlashChip; +} esp_rom_spiflash_chip_t; typedef struct { uint8_t data_length; @@ -148,7 +148,7 @@ typedef struct { uint8_t write_cmd; uint16_t data_mask; uint16_t data; -} SpiCommonCmd; +} esp_rom_spiflash_common_cmd_t; /** * @brief Fix the bug in SPI hardware communication with Flash/Ext-SRAM in High Speed. @@ -160,7 +160,7 @@ typedef struct { * * @return None */ -void spi_dummy_len_fix(uint8_t spi, uint8_t freqdiv); +void esp_rom_spiflash_fix_dummylen(uint8_t spi, uint8_t freqdiv); /** * @brief Select SPI Flash to QIO mode when WP pad is read from Flash. @@ -173,7 +173,7 @@ void spi_dummy_len_fix(uint8_t spi, uint8_t freqdiv); * * @return None */ -void SelectSpiQIO(uint8_t wp_gpio_num, uint32_t ishspi); +void esp_rom_spiflash_select_qiomode(uint8_t wp_gpio_num, uint32_t ishspi); /** * @brief Set SPI Flash pad drivers. @@ -191,7 +191,7 @@ void SelectSpiQIO(uint8_t wp_gpio_num, uint32_t ishspi); * * @return None */ -void SetSpiDrvs(uint8_t wp_gpio_num, uint32_t ishspi, uint8_t *drvs); +void esp_rom_spiflash_set_drvs(uint8_t wp_gpio_num, uint32_t ishspi, uint8_t *drvs); /** * @brief Select SPI Flash function for pads. @@ -202,7 +202,7 @@ void SetSpiDrvs(uint8_t wp_gpio_num, uint32_t ishspi, uint8_t *drvs); * * @return None */ -void SelectSpiFunction(uint32_t ishspi); +void esp_rom_spiflash_select_padsfunc(uint32_t ishspi); /** * @brief SPI Flash init, clock divisor is 4, use 1 line Slow read mode. @@ -215,89 +215,89 @@ void SelectSpiFunction(uint32_t ishspi); * * @return None */ -void spi_flash_attach(uint32_t ishspi, bool legacy); +void esp_rom_spiflash_attach(uint32_t ishspi, bool legacy); /** * @brief SPI Read Flash status register. We use CMD 0x05 (RDSR). * Please do not call this function in SDK. * - * @param SpiFlashChip *spi : The information for Flash, which is exported from ld file. + * @param esp_rom_spiflash_chip_t *spi : The information for Flash, which is exported from ld file. * * @param uint32_t *status : The pointer to which to return the Flash status value. * - * @return SPI_FLASH_RESULT_OK : read OK. - * SPI_FLASH_RESULT_ERR : read error. - * SPI_FLASH_RESULT_TIMEOUT : read timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : read OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : read error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : read timeout. */ -SpiFlashOpResult SPI_read_status(SpiFlashChip *spi, uint32_t *status); +esp_rom_spiflash_result_t esp_rom_spiflash_read_status(esp_rom_spiflash_chip_t *spi, uint32_t *status); /** * @brief SPI Read Flash status register bits 8-15. We use CMD 0x35 (RDSR2). * Please do not call this function in SDK. * - * @param SpiFlashChip *spi : The information for Flash, which is exported from ld file. + * @param esp_rom_spiflash_chip_t *spi : The information for Flash, which is exported from ld file. * * @param uint32_t *status : The pointer to which to return the Flash status value. * - * @return SPI_FLASH_RESULT_OK : read OK. - * SPI_FLASH_RESULT_ERR : read error. - * SPI_FLASH_RESULT_TIMEOUT : read timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : read OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : read error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : read timeout. */ -SpiFlashOpResult SPI_read_status_high(uint32_t *status); +esp_rom_spiflash_result_t esp_rom_spiflash_read_statushigh(esp_rom_spiflash_chip_t *spi, uint32_t *status); /** * @brief Write status to Falsh status register. * Please do not call this function in SDK. * - * @param SpiFlashChip *spi : The information for Flash, which is exported from ld file. + * @param esp_rom_spiflash_chip_t *spi : The information for Flash, which is exported from ld file. * * @param uint32_t status_value : Value to . * - * @return SPI_FLASH_RESULT_OK : write OK. - * SPI_FLASH_RESULT_ERR : write error. - * SPI_FLASH_RESULT_TIMEOUT : write timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : write OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : write error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : write timeout. */ -SpiFlashOpResult SPI_write_status(SpiFlashChip *spi, uint32_t status_value); +esp_rom_spiflash_result_t esp_rom_spiflash_write_status(esp_rom_spiflash_chip_t *spi, uint32_t status_value); /** * @brief Use a command to Read Flash status register. * Please do not call this function in SDK. * - * @param SpiFlashChip *spi : The information for Flash, which is exported from ld file. + * @param esp_rom_spiflash_chip_t *spi : The information for Flash, which is exported from ld file. * * @param uint32_t*status : The pointer to which to return the Flash status value. * - * @return SPI_FLASH_RESULT_OK : read OK. - * SPI_FLASH_RESULT_ERR : read error. - * SPI_FLASH_RESULT_TIMEOUT : read timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : read OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : read error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : read timeout. */ -SpiFlashOpResult SPI_user_command_read(uint32_t *status, uint8_t cmd); +esp_rom_spiflash_result_t esp_rom_spiflash_read_user_cmd(uint32_t *status, uint8_t cmd); /** * @brief Config SPI Flash read mode when init. * Please do not call this function in SDK. * - * @param SpiFlashRdMode mode : QIO/QOUT/DIO/DOUT/FastRD/SlowRD. + * @param esp_rom_spiflash_read_mode_t mode : QIO/QOUT/DIO/DOUT/FastRD/SlowRD. * * @param uint8_t legacy: In legacy mode, more SPI command is used in line. * - * @return SPI_FLASH_RESULT_OK : config OK. - * SPI_FLASH_RESULT_ERR : config error. - * SPI_FLASH_RESULT_TIMEOUT : config timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : config OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : config error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : config timeout. */ -SpiFlashOpResult SPIReadModeCnfig(SpiFlashRdMode mode, bool legacy); +esp_rom_spiflash_result_t esp_rom_spiflash_config_readmode(esp_rom_spiflash_read_mode_t mode, bool legacy); /** * @brief Config SPI Flash read mode when Flash is running in some mode. * Please do not call this function in SDK. * - * @param SpiFlashRdMode mode : QIO/QOUT/DIO/DOUT/FastRD/SlowRD. + * @param esp_rom_spiflash_read_mode_t mode : QIO/QOUT/DIO/DOUT/FastRD/SlowRD. * - * @return SPI_FLASH_RESULT_OK : config OK. - * SPI_FLASH_RESULT_ERR : config error. - * SPI_FLASH_RESULT_TIMEOUT : config timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : config OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : config error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : config timeout. */ -SpiFlashOpResult SPIMasterReadModeCnfig(SpiFlashRdMode mode); +esp_rom_spiflash_result_t esp_rom_spiflash_master_config_readmode(esp_rom_spiflash_read_mode_t mode); /** * @brief Config SPI Flash clock divisor. @@ -307,23 +307,23 @@ SpiFlashOpResult SPIMasterReadModeCnfig(SpiFlashRdMode mode); * * @param uint8_t spi: 0 for SPI0, 1 for SPI1. * - * @return SPI_FLASH_RESULT_OK : config OK. - * SPI_FLASH_RESULT_ERR : config error. - * SPI_FLASH_RESULT_TIMEOUT : config timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : config OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : config error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : config timeout. */ -SpiFlashOpResult SPIClkConfig(uint8_t freqdiv, uint8_t spi); +esp_rom_spiflash_result_t esp_rom_spiflash_config_clk(uint8_t freqdiv, uint8_t spi); /** * @brief Send CommonCmd to Flash so that is can go into QIO mode, some Flash use different CMD. * Please do not call this function in SDK. * - * @param SpiCommonCmd *cmd : A struct to show the action of a command. + * @param esp_rom_spiflash_common_cmd_t *cmd : A struct to show the action of a command. * * @return uint16_t 0 : do not send command any more. * 1 : go to the next command. * n > 1 : skip (n - 1) commands. */ -uint16_t SPI_Common_Command(SpiCommonCmd *cmd); +uint16_t esp_rom_spiflash_common_cmd(esp_rom_spiflash_common_cmd_t *cmd); /** * @brief Unlock SPI write protect. @@ -331,11 +331,11 @@ uint16_t SPI_Common_Command(SpiCommonCmd *cmd); * * @param None. * - * @return SPI_FLASH_RESULT_OK : Unlock OK. - * SPI_FLASH_RESULT_ERR : Unlock error. - * SPI_FLASH_RESULT_TIMEOUT : Unlock timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Unlock OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : Unlock error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Unlock timeout. */ -SpiFlashOpResult SPIUnlock(void); +esp_rom_spiflash_result_t esp_rom_spiflash_unlock(void); /** * @brief SPI write protect. @@ -343,11 +343,11 @@ SpiFlashOpResult SPIUnlock(void); * * @param None. * - * @return SPI_FLASH_RESULT_OK : Lock OK. - * SPI_FLASH_RESULT_ERR : Lock error. - * SPI_FLASH_RESULT_TIMEOUT : Lock timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Lock OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : Lock error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Lock timeout. */ -SpiFlashOpResult SPILock(void); +esp_rom_spiflash_result_t esp_rom_spiflash_lock(void); /** * @brief Update SPI Flash parameter. @@ -365,11 +365,12 @@ SpiFlashOpResult SPILock(void); * * @param uint32_t status_mask : The Mask used when read status from Flash(use single CMD). * - * @return SPI_FLASH_RESULT_OK : Update OK. - * SPI_FLASH_RESULT_ERR : Update error. - * SPI_FLASH_RESULT_TIMEOUT : Update timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Update OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : Update error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Update timeout. */ -SpiFlashOpResult SPIParamCfg(uint32_t deviceId, uint32_t chip_size, uint32_t block_size, uint32_t sector_size, uint32_t page_size, uint32_t status_mask); +esp_rom_spiflash_result_t esp_rom_spiflash_config_param(uint32_t deviceId, uint32_t chip_size, uint32_t block_size, + uint32_t sector_size, uint32_t page_size, uint32_t status_mask); /** * @brief Erase whole flash chip. @@ -377,11 +378,11 @@ SpiFlashOpResult SPIParamCfg(uint32_t deviceId, uint32_t chip_size, uint32_t blo * * @param None * - * @return SPI_FLASH_RESULT_OK : Erase OK. - * SPI_FLASH_RESULT_ERR : Erase error. - * SPI_FLASH_RESULT_TIMEOUT : Erase timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Erase OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : Erase error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Erase timeout. */ -SpiFlashOpResult SPIEraseChip(void); +esp_rom_spiflash_result_t esp_rom_spiflash_erase_chip(void); /** * @brief Erase a 64KB block of flash @@ -390,11 +391,11 @@ SpiFlashOpResult SPIEraseChip(void); * * @param uint32_t block_num : Which block to erase. * - * @return SPI_FLASH_RESULT_OK : Erase OK. - * SPI_FLASH_RESULT_ERR : Erase error. - * SPI_FLASH_RESULT_TIMEOUT : Erase timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Erase OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : Erase error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Erase timeout. */ -SpiFlashOpResult SPIEraseBlock(uint32_t block_num); +esp_rom_spiflash_result_t esp_rom_spiflash_erase_block(uint32_t block_num); /** * @brief Erase a sector of flash. @@ -403,11 +404,11 @@ SpiFlashOpResult SPIEraseBlock(uint32_t block_num); * * @param uint32_t sector_num : Which sector to erase. * - * @return SPI_FLASH_RESULT_OK : Erase OK. - * SPI_FLASH_RESULT_ERR : Erase error. - * SPI_FLASH_RESULT_TIMEOUT : Erase timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Erase OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : Erase error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Erase timeout. */ -SpiFlashOpResult SPIEraseSector(uint32_t sector_num); +esp_rom_spiflash_result_t esp_rom_spiflash_erase_sector(uint32_t sector_num); /** * @brief Erase some sectors. @@ -417,11 +418,11 @@ SpiFlashOpResult SPIEraseSector(uint32_t sector_num); * * @param uint32_t area_len : Length to erase, should be sector aligned. * - * @return SPI_FLASH_RESULT_OK : Erase OK. - * SPI_FLASH_RESULT_ERR : Erase error. - * SPI_FLASH_RESULT_TIMEOUT : Erase timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Erase OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : Erase error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Erase timeout. */ -SpiFlashOpResult SPIEraseArea(uint32_t start_addr, uint32_t area_len); +esp_rom_spiflash_result_t esp_rom_spiflash_erase_area(uint32_t start_addr, uint32_t area_len); /** * @brief Write Data to Flash, you should Erase it yourself if need. @@ -433,11 +434,11 @@ SpiFlashOpResult SPIEraseArea(uint32_t start_addr, uint32_t area_len); * * @param uint32_t len : Length to write, should be 4 bytes aligned. * - * @return SPI_FLASH_RESULT_OK : Write OK. - * SPI_FLASH_RESULT_ERR : Write error. - * SPI_FLASH_RESULT_TIMEOUT : Write timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Write OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : Write error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Write timeout. */ -SpiFlashOpResult SPIWrite(uint32_t dest_addr, const uint32_t *src, int32_t len); +esp_rom_spiflash_result_t esp_rom_spiflash_write(uint32_t dest_addr, const uint32_t *src, int32_t len); /** * @brief Read Data from Flash, you should Erase it yourself if need. @@ -449,11 +450,11 @@ SpiFlashOpResult SPIWrite(uint32_t dest_addr, const uint32_t *src, int32_t len); * * @param uint32_t len : Length to read, should be 4 bytes aligned. * - * @return SPI_FLASH_RESULT_OK : Read OK. - * SPI_FLASH_RESULT_ERR : Read error. - * SPI_FLASH_RESULT_TIMEOUT : Read timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Read OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : Read error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Read timeout. */ -SpiFlashOpResult SPIRead(uint32_t src_addr, uint32_t *dest, int32_t len); +esp_rom_spiflash_result_t esp_rom_spiflash_read(uint32_t src_addr, uint32_t *dest, int32_t len); /** * @brief SPI1 go into encrypto mode. @@ -463,7 +464,7 @@ SpiFlashOpResult SPIRead(uint32_t src_addr, uint32_t *dest, int32_t len); * * @return None */ -void SPI_Write_Encrypt_Enable(void); +void esp_rom_spiflash_write_encrypted_enable(void); /** * @brief Prepare 32 Bytes data to encrpto writing, you should Erase it yourself if need. @@ -473,11 +474,11 @@ void SPI_Write_Encrypt_Enable(void); * * @param uint32_t *data : The pointer to data which is to write. * - * @return SPI_FLASH_RESULT_OK : Prepare OK. - * SPI_FLASH_RESULT_ERR : Prepare error. - * SPI_FLASH_RESULT_TIMEOUT : Prepare timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Prepare OK. + * ESP_ROM_SPIFLASH_RESULT_ERR : Prepare error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Prepare timeout. */ -SpiFlashOpResult SPI_Prepare_Encrypt_Data(uint32_t flash_addr, uint32_t *data); +esp_rom_spiflash_result_t esp_rom_spiflash_prepare_encrypted_data(uint32_t flash_addr, uint32_t *data); /** * @brief SPI1 go out of encrypto mode. @@ -487,7 +488,7 @@ SpiFlashOpResult SPI_Prepare_Encrypt_Data(uint32_t flash_addr, uint32_t *data); * * @return None */ -void SPI_Write_Encrypt_Disable(void); +void esp_rom_spiflash_write_encrypted_disable(void); /** * @brief Write data to flash with transparent encryption. @@ -503,11 +504,11 @@ void SPI_Write_Encrypt_Disable(void); * * @param uint32_t len : Length to write, should be 32 bytes aligned. * - * @return SPI_FLASH_RESULT_OK : Data written successfully. - * SPI_FLASH_RESULT_ERR : Encryption write error. - * SPI_FLASH_RESULT_TIMEOUT : Encrypto write timeout. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Data written successfully. + * ESP_ROM_SPIFLASH_RESULT_ERR : Encryption write error. + * ESP_ROM_SPIFLASH_RESULT_TIMEOUT : Encrypto write timeout. */ -SpiFlashOpResult SPI_Encrypt_Write(uint32_t flash_addr, uint32_t *data, uint32_t len); +esp_rom_spiflash_result_t esp_rom_spiflash_write_encrypted(uint32_t flash_addr, uint32_t *data, uint32_t len); /** @brief Wait until SPI flash write operation is complete @@ -517,16 +518,16 @@ SpiFlashOpResult SPI_Encrypt_Write(uint32_t flash_addr, uint32_t *data, uint32_t * Reads the Write In Progress bit of the SPI flash status register, * repeats until this bit is zero (indicating write complete). * - * @return SPI_FLASH_RESULT_OK : Write is complete - * SPI_FLASH_RESULT_ERR : Error while reading status. + * @return ESP_ROM_SPIFLASH_RESULT_OK : Write is complete + * ESP_ROM_SPIFLASH_RESULT_ERR : Error while reading status. */ -SpiFlashOpResult SPI_Wait_Idle(SpiFlashChip *spi); +esp_rom_spiflash_result_t esp_rom_spiflash_wait_idle(esp_rom_spiflash_chip_t *spi); -/** @brief Global SpiFlashChip structure used by ROM functions +/** @brief Global esp_rom_spiflash_chip_t structure used by ROM functions * */ -extern SpiFlashChip g_rom_flashchip; +extern esp_rom_spiflash_chip_t g_rom_flashchip; /** * @} diff --git a/tools/sdk/include/esp32/soc/bb_reg.h b/tools/sdk/include/esp32/soc/bb_reg.h deleted file mode 100755 index 0b52f66a..00000000 --- a/tools/sdk/include/esp32/soc/bb_reg.h +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2010-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_BB_REG_H_ -#define _SOC_BB_REG_H_ - -#define apb_bb_offset 0x6001c000 - -#define BB_DLY apb_bb_offset + 0x00009b00 // reg 00 -#define BB_TEST apb_bb_offset + 0x00009b08 // reg 02 -#define BB_TM1 apb_bb_offset + 0x00009b0c // reg 03 -#define BB_TM_CNTL apb_bb_offset + 0x00009b14 // reg 05 -#define BB_DEL_CNTL apb_bb_offset + 0x00009b28 // reg 10 -#define BB_PARAL_CNTL apb_bb_offset + 0x00009b2c // reg 11 -#define BB_FSM1 apb_bb_offset + 0x00009b44 // reg 17 -#define BB_MXG apb_bb_offset + 0x00009b48 // reg 18 -#define BB_MNOF apb_bb_offset + 0x00009b4c // reg 19 -#define BB_SIZE apb_bb_offset + 0x00009b50 // reg 20 -#define BB_TM3a apb_bb_offset + 0x00009b54 // reg 21 -#define BB_TM4a apb_bb_offset + 0x00009b58 // reg 22 -#define BB_GAIN apb_bb_offset + 0x00009b5c // reg 23 -#define BB_CNTL apb_bb_offset + 0x00009b60 // reg 24 -#define BB_CAD apb_bb_offset + 0x00009b64 // reg 25 -#define BB_DET apb_bb_offset + 0x00009b68 // reg 26 -#define BB_DETL apb_bb_offset + 0x00009b6c // reg 27 - -#define BB_MASK_PCLL apb_bb_offset + 0x00009d08 // reg 66 -#define BB_MASK_PCLH apb_bb_offset + 0x00009d0c // reg 67 -#define BB_RX_CTRL4 apb_bb_offset + 0x00009d10 // reg 68 -#define BB_RX_CTRL apb_bb_offset + 0x00009d1c // reg 71 -#define BB_RX_CTRL2 apb_bb_offset + 0x00009d20 // reg 72 -#define BB_RX_CTRL3 apb_bb_offset + 0x00009d24 // reg 73 -#define BB_DEL4 apb_bb_offset + 0x00009d40 // reg 80 -#define BB_TM5 apb_bb_offset + 0x00009d44 // reg 81 -#define BB_TM6 apb_bb_offset + 0x00009d48 // reg 82 -#define BB_PMCTRL apb_bb_offset + 0x00009d4c // reg 83 -#define BB_PWR apb_bb_offset + 0x00009d68 // reg 90 -#define BB_BCTRL2 apb_bb_offset + 0x00009d70 // reg 92 - -#define BB_MASK_PL apb_bb_offset + 0x00009884 // reg 97 -#define BB_MASK_PCHL apb_bb_offset + 0x00009888 // reg 98 -#define BB_MASK_PCHH apb_bb_offset + 0x0000988c // reg 99 - -#define BB_MASK_CL apb_bb_offset + 0x0000989c // reg 103 -#define BB_TONE apb_bb_offset + 0x000098a0 // reg 104 -#define BB_MASK_CH apb_bb_offset + 0x000098d4 // reg 117 -#define BB_SER apb_bb_offset + 0x000098ec // reg 123 -#define BB_GN_TB apb_bb_offset + 0x00009e00 // reg 128 - -#define BB_MODE apb_bb_offset + 0x00009c00 // reg 640 -#define BB_TXCTRL apb_bb_offset + 0x00009c04 // reg 641 -#define BB_BCTRL3 apb_bb_offset + 0x00009c08 // reg 642 -#define BB_BCTRL apb_bb_offset + 0x00009c28 // reg 650 -#define BB_SMCTRL apb_bb_offset + 0x00009c48 // reg 658 -#define BB_SMCTRL2 apb_bb_offset + 0x00009c4C // reg 659 -#define BB_TXCNT apb_bb_offset + 0x00009c58 // reg 662 -#define BB_RXCTRL apb_bb_offset + 0x00009c68 // reg 666 - -#define BB_TXGAIN apb_bb_offset + 0x00009900 // reg 704 - -#define BB_RXS_CNTL apb_bb_offset + 0x00009988 // reg 738 -#define BB_MASK2_PCLL apb_bb_offset + 0x000099a8 // reg 746 -#define BB_MASK2_PCLH apb_bb_offset + 0x000099ac // reg 747 -#define BB_MASK_PH apb_bb_offset + 0x000099b0 // reg 748 -#define BB_MASK2_PCHL apb_bb_offset + 0x000099b8 // reg 750 -#define BB_MASK2_PCHH apb_bb_offset + 0x000099bc // reg 751 -// -#define BB_TX_TONE_CNTL apb_bb_offset + 0x000099f0 // reg 764 -#define BB_ADD_CNTL0 apb_bb_offset + 0x00009a28 // reg 778 -#define BB_ADD_CNTL2 apb_bb_offset + 0x00009a2c // reg 779 -#define BB_GAIN_CNTL0 apb_bb_offset + 0x00009a34 // reg 781 -#define BB_GAIN_CNTL1 apb_bb_offset + 0x00009a38 // reg 782 -#define BB_GAIN_CNTL2 apb_bb_offset + 0x00009a3c // reg 783 -#define BB_AGCMEM_CTRL apb_bb_offset + 0x00009a68 // reg 794 - -#define BB_11B_RECORD apb_bb_offset + 0x00009808 // reg 802 -#define BB_FILTER_CNTL apb_bb_offset + 0x0000980c // reg 803 -#define BB_ANALOG_CTRL1 apb_bb_offset + 0x00009838 -#define BB_ANALOG_CTRL2 apb_bb_offset + 0x0000983c //reg 815 -#define BB_ANALOG_CTRL3 apb_bb_offset + 0x00009840 //reg 816 -#define BB_RFCFG_CTRL0 apb_bb_offset + 0x00009844 //reg 817 -#define BB_RFCFG_CTRL1 apb_bb_offset + 0x00009848 //reg 818 - -#define BB_ADD_CNTL1 apb_bb_offset + 0x00009860 //reg824 -#define BB_PA_CNTL apb_bb_offset + 0x00009864 //reg825 -#define BB_RFCFG_CTRL2 apb_bb_offset + 0x0000986c //reg827 -#define BB_RXDEL_CTRL apb_bb_offset + 0x00009d18 -#define BB_RXLENGTH_CTRL apb_bb_offset + 0x00009d1c - -#endif /* _SOC_BB_REG_H_ */ - diff --git a/tools/sdk/include/freertos/freertos/portmacro.h b/tools/sdk/include/freertos/freertos/portmacro.h index 7cae4b05..157b9156 100644 --- a/tools/sdk/include/freertos/freertos/portmacro.h +++ b/tools/sdk/include/freertos/freertos/portmacro.h @@ -79,6 +79,8 @@ extern "C" { #include #include /* required for XSHAL_CLIB */ #include +#include "esp_crosscore_int.h" + //#include "xtensa_context.h" @@ -261,6 +263,18 @@ void vPortYield( void ); void _frxt_setup_switch( void ); #define portYIELD() vPortYield() #define portYIELD_FROM_ISR() _frxt_setup_switch() + +static inline uint32_t xPortGetCoreID(); + +/* Yielding within an API call (when interrupts are off), means the yield should be delayed + until interrupts are re-enabled. + + To do this, we use the "cross-core" interrupt as a trigger to yield on this core when interrupts are re-enabled.This + is the same interrupt & code path which is used to trigger a yield between CPUs, although in this case the yield is + happening on the same CPU. +*/ +#define portYIELD_WITHIN_API() esp_crosscore_int_send_yield(xPortGetCoreID()) + /*-----------------------------------------------------------*/ /* Task function macros as described on the FreeRTOS.org WEB site. */ diff --git a/tools/sdk/include/mdns/mdns.h b/tools/sdk/include/mdns/mdns.h index 58e588e3..c0855466 100644 --- a/tools/sdk/include/mdns/mdns.h +++ b/tools/sdk/include/mdns/mdns.h @@ -18,7 +18,11 @@ extern "C" { #endif +#ifndef MDNS_TEST_MODE #include +#else +#include "esp32_compat.h" +#endif struct mdns_server_s; typedef struct mdns_server_s mdns_server_t; diff --git a/tools/sdk/include/esp32/esp_brownout.h b/tools/sdk/include/soc/esp_brownout.h similarity index 100% rename from tools/sdk/include/esp32/esp_brownout.h rename to tools/sdk/include/soc/esp_brownout.h diff --git a/tools/sdk/include/soc/soc/apb_ctrl_reg.h b/tools/sdk/include/soc/soc/apb_ctrl_reg.h new file mode 100644 index 00000000..2e5ea54c --- /dev/null +++ b/tools/sdk/include/soc/soc/apb_ctrl_reg.h @@ -0,0 +1,294 @@ +// 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_APB_CTRL_REG_H_ +#define _SOC_APB_CTRL_REG_H_ + +#include "soc.h" +#define APB_CTRL_SYSCLK_CONF_REG (DR_REG_APB_CTRL_BASE + 0x0) +/* APB_CTRL_QUICK_CLK_CHNG : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: */ +#define APB_CTRL_QUICK_CLK_CHNG (BIT(13)) +#define APB_CTRL_QUICK_CLK_CHNG_M (BIT(13)) +#define APB_CTRL_QUICK_CLK_CHNG_V 0x1 +#define APB_CTRL_QUICK_CLK_CHNG_S 13 +/* APB_CTRL_RST_TICK_CNT : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: */ +#define APB_CTRL_RST_TICK_CNT (BIT(12)) +#define APB_CTRL_RST_TICK_CNT_M (BIT(12)) +#define APB_CTRL_RST_TICK_CNT_V 0x1 +#define APB_CTRL_RST_TICK_CNT_S 12 +/* APB_CTRL_CLK_EN : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: */ +#define APB_CTRL_CLK_EN (BIT(11)) +#define APB_CTRL_CLK_EN_M (BIT(11)) +#define APB_CTRL_CLK_EN_V 0x1 +#define APB_CTRL_CLK_EN_S 11 +/* APB_CTRL_CLK_320M_EN : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: */ +#define APB_CTRL_CLK_320M_EN (BIT(10)) +#define APB_CTRL_CLK_320M_EN_M (BIT(10)) +#define APB_CTRL_CLK_320M_EN_V 0x1 +#define APB_CTRL_CLK_320M_EN_S 10 +/* APB_CTRL_PRE_DIV_CNT : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: */ +#define APB_CTRL_PRE_DIV_CNT 0x000003FF +#define APB_CTRL_PRE_DIV_CNT_M ((APB_CTRL_PRE_DIV_CNT_V)<<(APB_CTRL_PRE_DIV_CNT_S)) +#define APB_CTRL_PRE_DIV_CNT_V 0x3FF +#define APB_CTRL_PRE_DIV_CNT_S 0 + +#define APB_CTRL_XTAL_TICK_CONF_REG (DR_REG_APB_CTRL_BASE + 0x4) +/* APB_CTRL_XTAL_TICK_NUM : R/W ;bitpos:[7:0] ;default: 8'd39 ; */ +/*description: */ +#define APB_CTRL_XTAL_TICK_NUM 0x000000FF +#define APB_CTRL_XTAL_TICK_NUM_M ((APB_CTRL_XTAL_TICK_NUM_V)<<(APB_CTRL_XTAL_TICK_NUM_S)) +#define APB_CTRL_XTAL_TICK_NUM_V 0xFF +#define APB_CTRL_XTAL_TICK_NUM_S 0 + +#define APB_CTRL_PLL_TICK_CONF_REG (DR_REG_APB_CTRL_BASE + 0x8) +/* APB_CTRL_PLL_TICK_NUM : R/W ;bitpos:[7:0] ;default: 8'd79 ; */ +/*description: */ +#define APB_CTRL_PLL_TICK_NUM 0x000000FF +#define APB_CTRL_PLL_TICK_NUM_M ((APB_CTRL_PLL_TICK_NUM_V)<<(APB_CTRL_PLL_TICK_NUM_S)) +#define APB_CTRL_PLL_TICK_NUM_V 0xFF +#define APB_CTRL_PLL_TICK_NUM_S 0 + +#define APB_CTRL_CK8M_TICK_CONF_REG (DR_REG_APB_CTRL_BASE + 0xC) +/* APB_CTRL_CK8M_TICK_NUM : R/W ;bitpos:[7:0] ;default: 8'd11 ; */ +/*description: */ +#define APB_CTRL_CK8M_TICK_NUM 0x000000FF +#define APB_CTRL_CK8M_TICK_NUM_M ((APB_CTRL_CK8M_TICK_NUM_V)<<(APB_CTRL_CK8M_TICK_NUM_S)) +#define APB_CTRL_CK8M_TICK_NUM_V 0xFF +#define APB_CTRL_CK8M_TICK_NUM_S 0 + +#define APB_CTRL_APB_SARADC_CTRL_REG (DR_REG_APB_CTRL_BASE + 0x10) +/* APB_CTRL_SARADC_DATA_TO_I2S : R/W ;bitpos:[26] ;default: 1'b0 ; */ +/*description: 1: I2S input data is from SAR ADC (for DMA) 0: I2S input data + is from GPIO matrix*/ +#define APB_CTRL_SARADC_DATA_TO_I2S (BIT(26)) +#define APB_CTRL_SARADC_DATA_TO_I2S_M (BIT(26)) +#define APB_CTRL_SARADC_DATA_TO_I2S_V 0x1 +#define APB_CTRL_SARADC_DATA_TO_I2S_S 26 +/* APB_CTRL_SARADC_DATA_SAR_SEL : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: 1: sar_sel will be coded by the MSB of the 16-bit output data + in this case the resolution should not be larger than 11 bits.*/ +#define APB_CTRL_SARADC_DATA_SAR_SEL (BIT(25)) +#define APB_CTRL_SARADC_DATA_SAR_SEL_M (BIT(25)) +#define APB_CTRL_SARADC_DATA_SAR_SEL_V 0x1 +#define APB_CTRL_SARADC_DATA_SAR_SEL_S 25 +/* APB_CTRL_SARADC_SAR2_PATT_P_CLEAR : R/W ;bitpos:[24] ;default: 1'd0 ; */ +/*description: clear the pointer of pattern table for DIG ADC2 CTRL*/ +#define APB_CTRL_SARADC_SAR2_PATT_P_CLEAR (BIT(24)) +#define APB_CTRL_SARADC_SAR2_PATT_P_CLEAR_M (BIT(24)) +#define APB_CTRL_SARADC_SAR2_PATT_P_CLEAR_V 0x1 +#define APB_CTRL_SARADC_SAR2_PATT_P_CLEAR_S 24 +/* APB_CTRL_SARADC_SAR1_PATT_P_CLEAR : R/W ;bitpos:[23] ;default: 1'd0 ; */ +/*description: clear the pointer of pattern table for DIG ADC1 CTRL*/ +#define APB_CTRL_SARADC_SAR1_PATT_P_CLEAR (BIT(23)) +#define APB_CTRL_SARADC_SAR1_PATT_P_CLEAR_M (BIT(23)) +#define APB_CTRL_SARADC_SAR1_PATT_P_CLEAR_V 0x1 +#define APB_CTRL_SARADC_SAR1_PATT_P_CLEAR_S 23 +/* APB_CTRL_SARADC_SAR2_PATT_LEN : R/W ;bitpos:[22:19] ;default: 4'd15 ; */ +/*description: 0 ~ 15 means length 1 ~ 16*/ +#define APB_CTRL_SARADC_SAR2_PATT_LEN 0x0000000F +#define APB_CTRL_SARADC_SAR2_PATT_LEN_M ((APB_CTRL_SARADC_SAR2_PATT_LEN_V)<<(APB_CTRL_SARADC_SAR2_PATT_LEN_S)) +#define APB_CTRL_SARADC_SAR2_PATT_LEN_V 0xF +#define APB_CTRL_SARADC_SAR2_PATT_LEN_S 19 +/* APB_CTRL_SARADC_SAR1_PATT_LEN : R/W ;bitpos:[18:15] ;default: 4'd15 ; */ +/*description: 0 ~ 15 means length 1 ~ 16*/ +#define APB_CTRL_SARADC_SAR1_PATT_LEN 0x0000000F +#define APB_CTRL_SARADC_SAR1_PATT_LEN_M ((APB_CTRL_SARADC_SAR1_PATT_LEN_V)<<(APB_CTRL_SARADC_SAR1_PATT_LEN_S)) +#define APB_CTRL_SARADC_SAR1_PATT_LEN_V 0xF +#define APB_CTRL_SARADC_SAR1_PATT_LEN_S 15 +/* APB_CTRL_SARADC_SAR_CLK_DIV : R/W ;bitpos:[14:7] ;default: 8'd4 ; */ +/*description: SAR clock divider*/ +#define APB_CTRL_SARADC_SAR_CLK_DIV 0x000000FF +#define APB_CTRL_SARADC_SAR_CLK_DIV_M ((APB_CTRL_SARADC_SAR_CLK_DIV_V)<<(APB_CTRL_SARADC_SAR_CLK_DIV_S)) +#define APB_CTRL_SARADC_SAR_CLK_DIV_V 0xFF +#define APB_CTRL_SARADC_SAR_CLK_DIV_S 7 +/* APB_CTRL_SARADC_SAR_CLK_GATED : R/W ;bitpos:[6] ;default: 1'b1 ; */ +/*description: */ +#define APB_CTRL_SARADC_SAR_CLK_GATED (BIT(6)) +#define APB_CTRL_SARADC_SAR_CLK_GATED_M (BIT(6)) +#define APB_CTRL_SARADC_SAR_CLK_GATED_V 0x1 +#define APB_CTRL_SARADC_SAR_CLK_GATED_S 6 +/* APB_CTRL_SARADC_SAR_SEL : R/W ;bitpos:[5] ;default: 1'd0 ; */ +/*description: 0: SAR1 1: SAR2 only work for single SAR mode*/ +#define APB_CTRL_SARADC_SAR_SEL (BIT(5)) +#define APB_CTRL_SARADC_SAR_SEL_M (BIT(5)) +#define APB_CTRL_SARADC_SAR_SEL_V 0x1 +#define APB_CTRL_SARADC_SAR_SEL_S 5 +/* APB_CTRL_SARADC_WORK_MODE : R/W ;bitpos:[4:3] ;default: 2'd0 ; */ +/*description: 0: single mode 1: double mode 2: alternate mode*/ +#define APB_CTRL_SARADC_WORK_MODE 0x00000003 +#define APB_CTRL_SARADC_WORK_MODE_M ((APB_CTRL_SARADC_WORK_MODE_V)<<(APB_CTRL_SARADC_WORK_MODE_S)) +#define APB_CTRL_SARADC_WORK_MODE_V 0x3 +#define APB_CTRL_SARADC_WORK_MODE_S 3 +/* APB_CTRL_SARADC_SAR2_MUX : R/W ;bitpos:[2] ;default: 1'd0 ; */ +/*description: 1: SAR ADC2 is controlled by DIG ADC2 CTRL 0: SAR ADC2 is controlled + by PWDET CTRL*/ +#define APB_CTRL_SARADC_SAR2_MUX (BIT(2)) +#define APB_CTRL_SARADC_SAR2_MUX_M (BIT(2)) +#define APB_CTRL_SARADC_SAR2_MUX_V 0x1 +#define APB_CTRL_SARADC_SAR2_MUX_S 2 +/* APB_CTRL_SARADC_START : R/W ;bitpos:[1] ;default: 1'd0 ; */ +/*description: */ +#define APB_CTRL_SARADC_START (BIT(1)) +#define APB_CTRL_SARADC_START_M (BIT(1)) +#define APB_CTRL_SARADC_START_V 0x1 +#define APB_CTRL_SARADC_START_S 1 +/* APB_CTRL_SARADC_START_FORCE : R/W ;bitpos:[0] ;default: 1'd0 ; */ +/*description: */ +#define APB_CTRL_SARADC_START_FORCE (BIT(0)) +#define APB_CTRL_SARADC_START_FORCE_M (BIT(0)) +#define APB_CTRL_SARADC_START_FORCE_V 0x1 +#define APB_CTRL_SARADC_START_FORCE_S 0 + +#define APB_CTRL_APB_SARADC_CTRL2_REG (DR_REG_APB_CTRL_BASE + 0x14) +/* APB_CTRL_SARADC_SAR2_INV : R/W ;bitpos:[10] ;default: 1'd0 ; */ +/*description: 1: data to DIG ADC2 CTRL is inverted otherwise not*/ +#define APB_CTRL_SARADC_SAR2_INV (BIT(10)) +#define APB_CTRL_SARADC_SAR2_INV_M (BIT(10)) +#define APB_CTRL_SARADC_SAR2_INV_V 0x1 +#define APB_CTRL_SARADC_SAR2_INV_S 10 +/* APB_CTRL_SARADC_SAR1_INV : R/W ;bitpos:[9] ;default: 1'd0 ; */ +/*description: 1: data to DIG ADC1 CTRL is inverted otherwise not*/ +#define APB_CTRL_SARADC_SAR1_INV (BIT(9)) +#define APB_CTRL_SARADC_SAR1_INV_M (BIT(9)) +#define APB_CTRL_SARADC_SAR1_INV_V 0x1 +#define APB_CTRL_SARADC_SAR1_INV_S 9 +/* APB_CTRL_SARADC_MAX_MEAS_NUM : R/W ;bitpos:[8:1] ;default: 8'd255 ; */ +/*description: max conversion number*/ +#define APB_CTRL_SARADC_MAX_MEAS_NUM 0x000000FF +#define APB_CTRL_SARADC_MAX_MEAS_NUM_M ((APB_CTRL_SARADC_MAX_MEAS_NUM_V)<<(APB_CTRL_SARADC_MAX_MEAS_NUM_S)) +#define APB_CTRL_SARADC_MAX_MEAS_NUM_V 0xFF +#define APB_CTRL_SARADC_MAX_MEAS_NUM_S 1 +/* APB_CTRL_SARADC_MEAS_NUM_LIMIT : R/W ;bitpos:[0] ;default: 1'd0 ; */ +/*description: */ +#define APB_CTRL_SARADC_MEAS_NUM_LIMIT (BIT(0)) +#define APB_CTRL_SARADC_MEAS_NUM_LIMIT_M (BIT(0)) +#define APB_CTRL_SARADC_MEAS_NUM_LIMIT_V 0x1 +#define APB_CTRL_SARADC_MEAS_NUM_LIMIT_S 0 + +#define APB_CTRL_APB_SARADC_FSM_REG (DR_REG_APB_CTRL_BASE + 0x18) +/* APB_CTRL_SARADC_SAMPLE_CYCLE : R/W ;bitpos:[31:24] ;default: 8'd2 ; */ +/*description: sample cycles*/ +#define APB_CTRL_SARADC_SAMPLE_CYCLE 0x000000FF +#define APB_CTRL_SARADC_SAMPLE_CYCLE_M ((APB_CTRL_SARADC_SAMPLE_CYCLE_V)<<(APB_CTRL_SARADC_SAMPLE_CYCLE_S)) +#define APB_CTRL_SARADC_SAMPLE_CYCLE_V 0xFF +#define APB_CTRL_SARADC_SAMPLE_CYCLE_S 24 +/* APB_CTRL_SARADC_START_WAIT : R/W ;bitpos:[23:16] ;default: 8'd8 ; */ +/*description: */ +#define APB_CTRL_SARADC_START_WAIT 0x000000FF +#define APB_CTRL_SARADC_START_WAIT_M ((APB_CTRL_SARADC_START_WAIT_V)<<(APB_CTRL_SARADC_START_WAIT_S)) +#define APB_CTRL_SARADC_START_WAIT_V 0xFF +#define APB_CTRL_SARADC_START_WAIT_S 16 +/* APB_CTRL_SARADC_STANDBY_WAIT : R/W ;bitpos:[15:8] ;default: 8'd255 ; */ +/*description: */ +#define APB_CTRL_SARADC_STANDBY_WAIT 0x000000FF +#define APB_CTRL_SARADC_STANDBY_WAIT_M ((APB_CTRL_SARADC_STANDBY_WAIT_V)<<(APB_CTRL_SARADC_STANDBY_WAIT_S)) +#define APB_CTRL_SARADC_STANDBY_WAIT_V 0xFF +#define APB_CTRL_SARADC_STANDBY_WAIT_S 8 +/* APB_CTRL_SARADC_RSTB_WAIT : R/W ;bitpos:[7:0] ;default: 8'd8 ; */ +/*description: */ +#define APB_CTRL_SARADC_RSTB_WAIT 0x000000FF +#define APB_CTRL_SARADC_RSTB_WAIT_M ((APB_CTRL_SARADC_RSTB_WAIT_V)<<(APB_CTRL_SARADC_RSTB_WAIT_S)) +#define APB_CTRL_SARADC_RSTB_WAIT_V 0xFF +#define APB_CTRL_SARADC_RSTB_WAIT_S 0 + +#define APB_CTRL_APB_SARADC_SAR1_PATT_TAB1_REG (DR_REG_APB_CTRL_BASE + 0x1C) +/* APB_CTRL_SARADC_SAR1_PATT_TAB1 : R/W ;bitpos:[31:0] ;default: 32'hf0f0f0f ; */ +/*description: item 0 ~ 3 for pattern table 1 (each item one byte)*/ +#define APB_CTRL_SARADC_SAR1_PATT_TAB1 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR1_PATT_TAB1_M ((APB_CTRL_SARADC_SAR1_PATT_TAB1_V)<<(APB_CTRL_SARADC_SAR1_PATT_TAB1_S)) +#define APB_CTRL_SARADC_SAR1_PATT_TAB1_V 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR1_PATT_TAB1_S 0 + +#define APB_CTRL_APB_SARADC_SAR1_PATT_TAB2_REG (DR_REG_APB_CTRL_BASE + 0x20) +/* APB_CTRL_SARADC_SAR1_PATT_TAB2 : R/W ;bitpos:[31:0] ;default: 32'hf0f0f0f ; */ +/*description: Item 4 ~ 7 for pattern table 1 (each item one byte)*/ +#define APB_CTRL_SARADC_SAR1_PATT_TAB2 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR1_PATT_TAB2_M ((APB_CTRL_SARADC_SAR1_PATT_TAB2_V)<<(APB_CTRL_SARADC_SAR1_PATT_TAB2_S)) +#define APB_CTRL_SARADC_SAR1_PATT_TAB2_V 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR1_PATT_TAB2_S 0 + +#define APB_CTRL_APB_SARADC_SAR1_PATT_TAB3_REG (DR_REG_APB_CTRL_BASE + 0x24) +/* APB_CTRL_SARADC_SAR1_PATT_TAB3 : R/W ;bitpos:[31:0] ;default: 32'hf0f0f0f ; */ +/*description: Item 8 ~ 11 for pattern table 1 (each item one byte)*/ +#define APB_CTRL_SARADC_SAR1_PATT_TAB3 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR1_PATT_TAB3_M ((APB_CTRL_SARADC_SAR1_PATT_TAB3_V)<<(APB_CTRL_SARADC_SAR1_PATT_TAB3_S)) +#define APB_CTRL_SARADC_SAR1_PATT_TAB3_V 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR1_PATT_TAB3_S 0 + +#define APB_CTRL_APB_SARADC_SAR1_PATT_TAB4_REG (DR_REG_APB_CTRL_BASE + 0x28) +/* APB_CTRL_SARADC_SAR1_PATT_TAB4 : R/W ;bitpos:[31:0] ;default: 32'hf0f0f0f ; */ +/*description: Item 12 ~ 15 for pattern table 1 (each item one byte)*/ +#define APB_CTRL_SARADC_SAR1_PATT_TAB4 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR1_PATT_TAB4_M ((APB_CTRL_SARADC_SAR1_PATT_TAB4_V)<<(APB_CTRL_SARADC_SAR1_PATT_TAB4_S)) +#define APB_CTRL_SARADC_SAR1_PATT_TAB4_V 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR1_PATT_TAB4_S 0 + +#define APB_CTRL_APB_SARADC_SAR2_PATT_TAB1_REG (DR_REG_APB_CTRL_BASE + 0x2C) +/* APB_CTRL_SARADC_SAR2_PATT_TAB1 : R/W ;bitpos:[31:0] ;default: 32'hf0f0f0f ; */ +/*description: item 0 ~ 3 for pattern table 2 (each item one byte)*/ +#define APB_CTRL_SARADC_SAR2_PATT_TAB1 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR2_PATT_TAB1_M ((APB_CTRL_SARADC_SAR2_PATT_TAB1_V)<<(APB_CTRL_SARADC_SAR2_PATT_TAB1_S)) +#define APB_CTRL_SARADC_SAR2_PATT_TAB1_V 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR2_PATT_TAB1_S 0 + +#define APB_CTRL_APB_SARADC_SAR2_PATT_TAB2_REG (DR_REG_APB_CTRL_BASE + 0x30) +/* APB_CTRL_SARADC_SAR2_PATT_TAB2 : R/W ;bitpos:[31:0] ;default: 32'hf0f0f0f ; */ +/*description: Item 4 ~ 7 for pattern table 2 (each item one byte)*/ +#define APB_CTRL_SARADC_SAR2_PATT_TAB2 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR2_PATT_TAB2_M ((APB_CTRL_SARADC_SAR2_PATT_TAB2_V)<<(APB_CTRL_SARADC_SAR2_PATT_TAB2_S)) +#define APB_CTRL_SARADC_SAR2_PATT_TAB2_V 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR2_PATT_TAB2_S 0 + +#define APB_CTRL_APB_SARADC_SAR2_PATT_TAB3_REG (DR_REG_APB_CTRL_BASE + 0x34) +/* APB_CTRL_SARADC_SAR2_PATT_TAB3 : R/W ;bitpos:[31:0] ;default: 32'hf0f0f0f ; */ +/*description: Item 8 ~ 11 for pattern table 2 (each item one byte)*/ +#define APB_CTRL_SARADC_SAR2_PATT_TAB3 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR2_PATT_TAB3_M ((APB_CTRL_SARADC_SAR2_PATT_TAB3_V)<<(APB_CTRL_SARADC_SAR2_PATT_TAB3_S)) +#define APB_CTRL_SARADC_SAR2_PATT_TAB3_V 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR2_PATT_TAB3_S 0 + +#define APB_CTRL_APB_SARADC_SAR2_PATT_TAB4_REG (DR_REG_APB_CTRL_BASE + 0x38) +/* APB_CTRL_SARADC_SAR2_PATT_TAB4 : R/W ;bitpos:[31:0] ;default: 32'hf0f0f0f ; */ +/*description: Item 12 ~ 15 for pattern table 2 (each item one byte)*/ +#define APB_CTRL_SARADC_SAR2_PATT_TAB4 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR2_PATT_TAB4_M ((APB_CTRL_SARADC_SAR2_PATT_TAB4_V)<<(APB_CTRL_SARADC_SAR2_PATT_TAB4_S)) +#define APB_CTRL_SARADC_SAR2_PATT_TAB4_V 0xFFFFFFFF +#define APB_CTRL_SARADC_SAR2_PATT_TAB4_S 0 + +#define APB_CTRL_APLL_TICK_CONF_REG (DR_REG_APB_CTRL_BASE + 0x3C) +/* APB_CTRL_APLL_TICK_NUM : R/W ;bitpos:[7:0] ;default: 8'd99 ; */ +/*description: */ +#define APB_CTRL_APLL_TICK_NUM 0x000000FF +#define APB_CTRL_APLL_TICK_NUM_M ((APB_CTRL_APLL_TICK_NUM_V)<<(APB_CTRL_APLL_TICK_NUM_S)) +#define APB_CTRL_APLL_TICK_NUM_V 0xFF +#define APB_CTRL_APLL_TICK_NUM_S 0 + +#define APB_CTRL_DATE_REG (DR_REG_APB_CTRL_BASE + 0x7C) +/* APB_CTRL_DATE : R/W ;bitpos:[31:0] ;default: 32'h16042000 ; */ +/*description: */ +#define APB_CTRL_DATE 0xFFFFFFFF +#define APB_CTRL_DATE_M ((APB_CTRL_DATE_V)<<(APB_CTRL_DATE_S)) +#define APB_CTRL_DATE_V 0xFFFFFFFF +#define APB_CTRL_DATE_S 0 + + + + +#endif /*_SOC_APB_CTRL_REG_H_ */ + + diff --git a/tools/sdk/include/soc/soc/apb_ctrl_struct.h b/tools/sdk/include/soc/soc/apb_ctrl_struct.h new file mode 100644 index 00000000..d2596783 --- /dev/null +++ b/tools/sdk/include/soc/soc/apb_ctrl_struct.h @@ -0,0 +1,120 @@ +// 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_APB_CTRL_STRUCT_H_ +#define _SOC_APB_CTRL_STRUCT_H_ +typedef struct { + union { + struct { + volatile uint32_t pre_div: 10; + volatile uint32_t clk_320m_en: 1; + volatile uint32_t clk_en: 1; + volatile uint32_t rst_tick: 1; + volatile uint32_t quick_clk_chng: 1; + volatile uint32_t reserved14: 18; + }; + volatile uint32_t val; + }clk_conf; + union { + struct { + volatile uint32_t xtal_tick: 8; + volatile uint32_t reserved8: 24; + }; + volatile uint32_t val; + }xtal_tick_conf; + union { + struct { + volatile uint32_t pll_tick: 8; + volatile uint32_t reserved8: 24; + }; + volatile uint32_t val; + }pll_tick_conf; + union { + struct { + volatile uint32_t ck8m_tick: 8; + volatile uint32_t reserved8: 24; + }; + volatile uint32_t val; + }ck8m_tick_conf; + union { + struct { + volatile uint32_t start_force: 1; + volatile uint32_t start: 1; + volatile uint32_t sar2_mux: 1; /*1: SAR ADC2 is controlled by DIG ADC2 CTRL 0: SAR ADC2 is controlled by PWDET CTRL*/ + volatile uint32_t work_mode: 2; /*0: single mode 1: double mode 2: alternate mode*/ + volatile uint32_t sar_sel: 1; /*0: SAR1 1: SAR2 only work for single SAR mode*/ + volatile uint32_t sar_clk_gated: 1; + volatile uint32_t sar_clk_div: 8; /*SAR clock divider*/ + volatile uint32_t sar1_patt_len: 4; /*0 ~ 15 means length 1 ~ 16*/ + volatile uint32_t sar2_patt_len: 4; /*0 ~ 15 means length 1 ~ 16*/ + volatile uint32_t sar1_patt_p_clear: 1; /*clear the pointer of pattern table for DIG ADC1 CTRL*/ + volatile uint32_t sar2_patt_p_clear: 1; /*clear the pointer of pattern table for DIG ADC2 CTRL*/ + volatile uint32_t data_sar_sel: 1; /*1: sar_sel will be coded by the MSB of the 16-bit output data in this case the resolution should not be larger than 11 bits.*/ + volatile uint32_t data_to_i2s: 1; /*1: I2S input data is from SAR ADC (for DMA) 0: I2S input data is from GPIO matrix*/ + volatile uint32_t reserved27: 5; + }; + volatile uint32_t val; + }saradc_ctrl; + union { + struct { + volatile uint32_t meas_num_limit: 1; + volatile uint32_t max_meas_num: 8; /*max conversion number*/ + volatile uint32_t sar1_inv: 1; /*1: data to DIG ADC1 CTRL is inverted otherwise not*/ + volatile uint32_t sar2_inv: 1; /*1: data to DIG ADC2 CTRL is inverted otherwise not*/ + volatile uint32_t reserved11: 21; + }; + volatile uint32_t val; + }saradc_ctrl2; + union { + struct { + volatile uint32_t rstb_wait: 8; + volatile uint32_t standby_wait: 8; + volatile uint32_t start_wait: 8; + volatile uint32_t sample_cycle: 8; /*sample cycles*/ + }; + volatile uint32_t val; + }saradc_fsm; + volatile uint32_t saradc_sar1_patt_tab1; /*item 0 ~ 3 for pattern table 1 (each item one byte)*/ + volatile uint32_t saradc_sar1_patt_tab2; /*Item 4 ~ 7 for pattern table 1 (each item one byte)*/ + volatile uint32_t saradc_sar1_patt_tab3; /*Item 8 ~ 11 for pattern table 1 (each item one byte)*/ + volatile uint32_t saradc_sar1_patt_tab4; /*Item 12 ~ 15 for pattern table 1 (each item one byte)*/ + volatile uint32_t saradc_sar2_patt_tab1; /*item 0 ~ 3 for pattern table 2 (each item one byte)*/ + volatile uint32_t saradc_sar2_patt_tab2; /*Item 4 ~ 7 for pattern table 2 (each item one byte)*/ + volatile uint32_t saradc_sar2_patt_tab3; /*Item 8 ~ 11 for pattern table 2 (each item one byte)*/ + volatile uint32_t saradc_sar2_patt_tab4; /*Item 12 ~ 15 for pattern table 2 (each item one byte)*/ + union { + struct { + volatile uint32_t apll_tick: 8; + volatile uint32_t reserved8: 24; + }; + volatile uint32_t val; + }apll_tick_conf; + volatile uint32_t reserved_40; + volatile uint32_t reserved_44; + volatile uint32_t reserved_48; + volatile uint32_t reserved_4c; + volatile uint32_t reserved_50; + volatile uint32_t reserved_54; + volatile uint32_t reserved_58; + volatile uint32_t reserved_5c; + volatile uint32_t reserved_60; + volatile uint32_t reserved_64; + volatile uint32_t reserved_68; + volatile uint32_t reserved_6c; + volatile uint32_t reserved_70; + volatile uint32_t reserved_74; + volatile uint32_t reserved_78; + volatile uint32_t date; /**/ +} apb_ctrl_dev_t; + +#endif /* _SOC_APB_CTRL_STRUCT_H_ */ diff --git a/tools/sdk/include/soc/soc/bb_reg.h b/tools/sdk/include/soc/soc/bb_reg.h new file mode 100644 index 00000000..fca84deb --- /dev/null +++ b/tools/sdk/include/soc/soc/bb_reg.h @@ -0,0 +1,34 @@ +// Copyright 2010-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_BB_REG_H_ +#define _SOC_BB_REG_H_ + +/* Some of the baseband control registers. + * PU/PD fields defined here are used in sleep related functions. + */ + +#define BBPD_CTRL (DR_REG_BB_BASE + 0x0054) +#define BB_FFT_FORCE_PU (BIT(3)) +#define BB_FFT_FORCE_PU_S 3 +#define BB_FFT_FORCE_PD (BIT(2)) +#define BB_FFT_FORCE_PD_S 2 +#define BB_DC_EST_FORCE_PU (BIT(1)) +#define BB_DC_EST_FORCE_PU_S 1 +#define BB_DC_EST_FORCE_PD (BIT(0)) +#define BB_DC_EST_FORCE_PD_S 0 + + +#endif /* _SOC_BB_REG_H_ */ + diff --git a/tools/sdk/include/esp32/soc/boot_mode.h b/tools/sdk/include/soc/soc/boot_mode.h old mode 100755 new mode 100644 similarity index 100% rename from tools/sdk/include/esp32/soc/boot_mode.h rename to tools/sdk/include/soc/soc/boot_mode.h diff --git a/tools/sdk/include/esp32/soc/cpu.h b/tools/sdk/include/soc/soc/cpu.h similarity index 100% rename from tools/sdk/include/esp32/soc/cpu.h rename to tools/sdk/include/soc/soc/cpu.h diff --git a/tools/sdk/include/esp32/soc/dport_reg.h b/tools/sdk/include/soc/soc/dport_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/dport_reg.h rename to tools/sdk/include/soc/soc/dport_reg.h diff --git a/tools/sdk/include/esp32/soc/efuse_reg.h b/tools/sdk/include/soc/soc/efuse_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/efuse_reg.h rename to tools/sdk/include/soc/soc/efuse_reg.h diff --git a/tools/sdk/include/esp32/soc/emac_ex_reg.h b/tools/sdk/include/soc/soc/emac_ex_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/emac_ex_reg.h rename to tools/sdk/include/soc/soc/emac_ex_reg.h diff --git a/tools/sdk/include/esp32/soc/emac_reg_v2.h b/tools/sdk/include/soc/soc/emac_reg_v2.h similarity index 100% rename from tools/sdk/include/esp32/soc/emac_reg_v2.h rename to tools/sdk/include/soc/soc/emac_reg_v2.h diff --git a/tools/sdk/include/soc/soc/fe_reg.h b/tools/sdk/include/soc/soc/fe_reg.h new file mode 100644 index 00000000..f8c2ce58 --- /dev/null +++ b/tools/sdk/include/soc/soc/fe_reg.h @@ -0,0 +1,33 @@ +// 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. + +#pragma once + +#include "soc/soc.h" + +/* Some of the RF frontend control registers. + * PU/PD fields defined here are used in sleep related functions. + */ + +#define FE_GEN_CTRL (DR_REG_FE_BASE + 0x0090) +#define FE_IQ_EST_FORCE_PU (BIT(5)) +#define FE_IQ_EST_FORCE_PU_S 5 +#define FE_IQ_EST_FORCE_PD (BIT(4)) +#define FE_IQ_EST_FORCE_PD_S 4 + +#define FE2_TX_INTERP_CTRL (DR_REG_FE2_BASE + 0x00f0) +#define FE2_TX_INF_FORCE_PU (BIT(10)) +#define FE2_TX_INF_FORCE_PU_S 10 +#define FE2_TX_INF_FORCE_PD (BIT(9)) +#define FE2_TX_INF_FORCE_PD_S 9 diff --git a/tools/sdk/include/esp32/soc/frc_timer_reg.h b/tools/sdk/include/soc/soc/frc_timer_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/frc_timer_reg.h rename to tools/sdk/include/soc/soc/frc_timer_reg.h diff --git a/tools/sdk/include/esp32/soc/gpio_reg.h b/tools/sdk/include/soc/soc/gpio_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/gpio_reg.h rename to tools/sdk/include/soc/soc/gpio_reg.h diff --git a/tools/sdk/include/esp32/soc/gpio_sd_reg.h b/tools/sdk/include/soc/soc/gpio_sd_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/gpio_sd_reg.h rename to tools/sdk/include/soc/soc/gpio_sd_reg.h diff --git a/tools/sdk/include/esp32/soc/gpio_sd_struct.h b/tools/sdk/include/soc/soc/gpio_sd_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/gpio_sd_struct.h rename to tools/sdk/include/soc/soc/gpio_sd_struct.h diff --git a/tools/sdk/include/esp32/soc/gpio_sig_map.h b/tools/sdk/include/soc/soc/gpio_sig_map.h similarity index 100% rename from tools/sdk/include/esp32/soc/gpio_sig_map.h rename to tools/sdk/include/soc/soc/gpio_sig_map.h diff --git a/tools/sdk/include/esp32/soc/gpio_struct.h b/tools/sdk/include/soc/soc/gpio_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/gpio_struct.h rename to tools/sdk/include/soc/soc/gpio_struct.h diff --git a/tools/sdk/include/esp32/soc/hwcrypto_reg.h b/tools/sdk/include/soc/soc/hwcrypto_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/hwcrypto_reg.h rename to tools/sdk/include/soc/soc/hwcrypto_reg.h diff --git a/tools/sdk/include/esp32/soc/i2c_reg.h b/tools/sdk/include/soc/soc/i2c_reg.h similarity index 98% rename from tools/sdk/include/esp32/soc/i2c_reg.h rename to tools/sdk/include/soc/soc/i2c_reg.h index 9693ca5b..292695eb 100644 --- a/tools/sdk/include/esp32/soc/i2c_reg.h +++ b/tools/sdk/include/soc/soc/i2c_reg.h @@ -1,951 +1,951 @@ -// 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_I2C_REG_H_ -#define _SOC_I2C_REG_H_ - - -#include "soc.h" - -#define REG_I2C_BASE(i) (DR_REG_I2C_EXT_BASE + (i) * 0x14000 ) - -#define I2C_SCL_LOW_PERIOD_REG(i) (REG_I2C_BASE(i) + 0x0000) -/* I2C_SCL_LOW_PERIOD : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This register is used to configure the low level width of SCL clock.*/ -#define I2C_SCL_LOW_PERIOD 0x00003FFF -#define I2C_SCL_LOW_PERIOD_M ((I2C_SCL_LOW_PERIOD_V)<<(I2C_SCL_LOW_PERIOD_S)) -#define I2C_SCL_LOW_PERIOD_V 0x3FFF -#define I2C_SCL_LOW_PERIOD_S 0 - -#define I2C_CTR_REG(i) (REG_I2C_BASE(i) + 0x0004) -/* I2C_CLK_EN : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: This is the clock gating control bit for reading or writing registers.*/ -#define I2C_CLK_EN (BIT(8)) -#define I2C_CLK_EN_M (BIT(8)) -#define I2C_CLK_EN_V 0x1 -#define I2C_CLK_EN_S 8 -/* I2C_RX_LSB_FIRST : R/W ;bitpos:[7] ;default: 1'h0 ; */ -/*description: This bit is used to control the storage mode for received datas. - 1: receive data from most significant bit 0: receive data from least significant bit*/ -#define I2C_RX_LSB_FIRST (BIT(7)) -#define I2C_RX_LSB_FIRST_M (BIT(7)) -#define I2C_RX_LSB_FIRST_V 0x1 -#define I2C_RX_LSB_FIRST_S 7 -/* I2C_TX_LSB_FIRST : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: This bit is used to control the sending mode for data need to - be send. 1: receive data from most significant bit 0: receive data from least significant bit*/ -#define I2C_TX_LSB_FIRST (BIT(6)) -#define I2C_TX_LSB_FIRST_M (BIT(6)) -#define I2C_TX_LSB_FIRST_V 0x1 -#define I2C_TX_LSB_FIRST_S 6 -/* I2C_TRANS_START : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: Set this bit to start sending data in txfifo.*/ -#define I2C_TRANS_START (BIT(5)) -#define I2C_TRANS_START_M (BIT(5)) -#define I2C_TRANS_START_V 0x1 -#define I2C_TRANS_START_S 5 -/* I2C_MS_MODE : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to configure the module as i2c master clear this - bit to configure the module as i2c slave.*/ -#define I2C_MS_MODE (BIT(4)) -#define I2C_MS_MODE_M (BIT(4)) -#define I2C_MS_MODE_V 0x1 -#define I2C_MS_MODE_S 4 -/* I2C_SAMPLE_SCL_LEVEL : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: Set this bit to sample data in SCL low level. clear this bit - to sample data in SCL high level.*/ -#define I2C_SAMPLE_SCL_LEVEL (BIT(2)) -#define I2C_SAMPLE_SCL_LEVEL_M (BIT(2)) -#define I2C_SAMPLE_SCL_LEVEL_V 0x1 -#define I2C_SAMPLE_SCL_LEVEL_S 2 -/* I2C_SCL_FORCE_OUT : R/W ;bitpos:[1] ;default: 1'b1 ; */ -/*description: 1: normally ouput scl clock 0: exchange the function of scl_o - and scl_oe (scl_o is the original internal output scl signal scl_oe is the enable bit for the internal output scl signal)*/ -#define I2C_SCL_FORCE_OUT (BIT(1)) -#define I2C_SCL_FORCE_OUT_M (BIT(1)) -#define I2C_SCL_FORCE_OUT_V 0x1 -#define I2C_SCL_FORCE_OUT_S 1 -/* I2C_SDA_FORCE_OUT : R/W ;bitpos:[0] ;default: 1'b1 ; */ -/*description: 1: normally ouput sda data 0: exchange the function of sda_o - and sda_oe (sda_o is the original internal output sda signal sda_oe is the enable bit for the internal output sda signal)*/ -#define I2C_SDA_FORCE_OUT (BIT(0)) -#define I2C_SDA_FORCE_OUT_M (BIT(0)) -#define I2C_SDA_FORCE_OUT_V 0x1 -#define I2C_SDA_FORCE_OUT_S 0 - -#define I2C_SR_REG(i) (REG_I2C_BASE(i) + 0x0008) -/* I2C_SCL_STATE_LAST : RO ;bitpos:[30:28] ;default: 3'b0 ; */ -/*description: This register stores the value of state machine to produce SCL. - 3'h0: SCL_IDLE 3'h1:SCL_START 3'h2:SCL_LOW_EDGE 3'h3: SCL_LOW 3'h4:SCL_HIGH_EDGE 3'h5:SCL_HIGH 3'h6:SCL_STOP*/ -#define I2C_SCL_STATE_LAST 0x00000007 -#define I2C_SCL_STATE_LAST_M ((I2C_SCL_STATE_LAST_V)<<(I2C_SCL_STATE_LAST_S)) -#define I2C_SCL_STATE_LAST_V 0x7 -#define I2C_SCL_STATE_LAST_S 28 -/* I2C_SCL_MAIN_STATE_LAST : RO ;bitpos:[26:24] ;default: 3'b0 ; */ -/*description: This register stores the value of state machine for i2c module. - 3'h0: SCL_MAIN_IDLE 3'h1: SCL_ADDRESS_SHIFT 3'h2: SCL_ACK_ADDRESS 3'h3: SCL_RX_DATA 3'h4 SCL_TX_DATA 3'h5:SCL_SEND_ACK 3'h6:SCL_WAIT_ACK*/ -#define I2C_SCL_MAIN_STATE_LAST 0x00000007 -#define I2C_SCL_MAIN_STATE_LAST_M ((I2C_SCL_MAIN_STATE_LAST_V)<<(I2C_SCL_MAIN_STATE_LAST_S)) -#define I2C_SCL_MAIN_STATE_LAST_V 0x7 -#define I2C_SCL_MAIN_STATE_LAST_S 24 -/* I2C_TXFIFO_CNT : RO ;bitpos:[23:18] ;default: 6'b0 ; */ -/*description: This register stores the amount of received data in ram.*/ -#define I2C_TXFIFO_CNT 0x0000003F -#define I2C_TXFIFO_CNT_M ((I2C_TXFIFO_CNT_V)<<(I2C_TXFIFO_CNT_S)) -#define I2C_TXFIFO_CNT_V 0x3F -#define I2C_TXFIFO_CNT_S 18 -/* I2C_RXFIFO_CNT : RO ;bitpos:[13:8] ;default: 6'b0 ; */ -/*description: This register represent the amount of data need to send.*/ -#define I2C_RXFIFO_CNT 0x0000003F -#define I2C_RXFIFO_CNT_M ((I2C_RXFIFO_CNT_V)<<(I2C_RXFIFO_CNT_S)) -#define I2C_RXFIFO_CNT_V 0x3F -#define I2C_RXFIFO_CNT_S 8 -/* I2C_BYTE_TRANS : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: This register changes to high level when one byte is transferred.*/ -#define I2C_BYTE_TRANS (BIT(6)) -#define I2C_BYTE_TRANS_M (BIT(6)) -#define I2C_BYTE_TRANS_V 0x1 -#define I2C_BYTE_TRANS_S 6 -/* I2C_SLAVE_ADDRESSED : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: when configured as i2c slave and the address send by master - is equal to slave's address then this bit will be high level.*/ -#define I2C_SLAVE_ADDRESSED (BIT(5)) -#define I2C_SLAVE_ADDRESSED_M (BIT(5)) -#define I2C_SLAVE_ADDRESSED_V 0x1 -#define I2C_SLAVE_ADDRESSED_S 5 -/* I2C_BUS_BUSY : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: 1:I2C bus is busy transferring data. 0:I2C bus is in idle state.*/ -#define I2C_BUS_BUSY (BIT(4)) -#define I2C_BUS_BUSY_M (BIT(4)) -#define I2C_BUS_BUSY_V 0x1 -#define I2C_BUS_BUSY_S 4 -/* I2C_ARB_LOST : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: when I2C lost control of SDA line this register changes to high level.*/ -#define I2C_ARB_LOST (BIT(3)) -#define I2C_ARB_LOST_M (BIT(3)) -#define I2C_ARB_LOST_V 0x1 -#define I2C_ARB_LOST_S 3 -/* I2C_TIME_OUT : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: when I2C takes more than time_out_reg clocks to receive a data - then this register changes to high level.*/ -#define I2C_TIME_OUT (BIT(2)) -#define I2C_TIME_OUT_M (BIT(2)) -#define I2C_TIME_OUT_V 0x1 -#define I2C_TIME_OUT_S 2 -/* I2C_SLAVE_RW : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: when in slave mode 1: master read slave 0: master write slave.*/ -#define I2C_SLAVE_RW (BIT(1)) -#define I2C_SLAVE_RW_M (BIT(1)) -#define I2C_SLAVE_RW_V 0x1 -#define I2C_SLAVE_RW_S 1 -/* I2C_ACK_REC : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: This register stores the value of ACK bit.*/ -#define I2C_ACK_REC (BIT(0)) -#define I2C_ACK_REC_M (BIT(0)) -#define I2C_ACK_REC_V 0x1 -#define I2C_ACK_REC_S 0 - -#define I2C_TO_REG(i) (REG_I2C_BASE(i) + 0x000c) -/* I2C_TIME_OUT_REG : R/W ;bitpos:[19:0] ;default: 20'b0 ; */ -/*description: This register is used to configure the max clock number of receiving a data.*/ -#define I2C_TIME_OUT_REG 0x000FFFFF -#define I2C_TIME_OUT_REG_M ((I2C_TIME_OUT_REG_V)<<(I2C_TIME_OUT_REG_S)) -#define I2C_TIME_OUT_REG_V 0xFFFFF -#define I2C_TIME_OUT_REG_S 0 - -#define I2C_SLAVE_ADDR_REG(i) (REG_I2C_BASE(i) + 0x0010) -/* I2C_ADDR_10BIT_EN : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: This register is used to enable slave 10bit address mode.*/ -#define I2C_ADDR_10BIT_EN (BIT(31)) -#define I2C_ADDR_10BIT_EN_M (BIT(31)) -#define I2C_ADDR_10BIT_EN_V 0x1 -#define I2C_ADDR_10BIT_EN_S 31 -/* I2C_SLAVE_ADDR : R/W ;bitpos:[14:0] ;default: 15'b0 ; */ -/*description: when configured as i2c slave this register is used to configure - slave's address.*/ -#define I2C_SLAVE_ADDR 0x00007FFF -#define I2C_SLAVE_ADDR_M ((I2C_SLAVE_ADDR_V)<<(I2C_SLAVE_ADDR_S)) -#define I2C_SLAVE_ADDR_V 0x7FFF -#define I2C_SLAVE_ADDR_S 0 - -#define I2C_RXFIFO_ST_REG(i) (REG_I2C_BASE(i) + 0x0014) -/* I2C_TXFIFO_END_ADDR : RO ;bitpos:[19:15] ;default: 5'b0 ; */ -/*description: This is the offset address of the last sending data as described - in nonfifo_tx_thres register.*/ -#define I2C_TXFIFO_END_ADDR 0x0000001F -#define I2C_TXFIFO_END_ADDR_M ((I2C_TXFIFO_END_ADDR_V)<<(I2C_TXFIFO_END_ADDR_S)) -#define I2C_TXFIFO_END_ADDR_V 0x1F -#define I2C_TXFIFO_END_ADDR_S 15 -/* I2C_TXFIFO_START_ADDR : RO ;bitpos:[14:10] ;default: 5'b0 ; */ -/*description: This is the offset address of the first sending data as described - in nonfifo_tx_thres register.*/ -#define I2C_TXFIFO_START_ADDR 0x0000001F -#define I2C_TXFIFO_START_ADDR_M ((I2C_TXFIFO_START_ADDR_V)<<(I2C_TXFIFO_START_ADDR_S)) -#define I2C_TXFIFO_START_ADDR_V 0x1F -#define I2C_TXFIFO_START_ADDR_S 10 -/* I2C_RXFIFO_END_ADDR : RO ;bitpos:[9:5] ;default: 5'b0 ; */ -/*description: This is the offset address of the first receiving data as described - in nonfifo_rx_thres_register.*/ -#define I2C_RXFIFO_END_ADDR 0x0000001F -#define I2C_RXFIFO_END_ADDR_M ((I2C_RXFIFO_END_ADDR_V)<<(I2C_RXFIFO_END_ADDR_S)) -#define I2C_RXFIFO_END_ADDR_V 0x1F -#define I2C_RXFIFO_END_ADDR_S 5 -/* I2C_RXFIFO_START_ADDR : RO ;bitpos:[4:0] ;default: 5'b0 ; */ -/*description: This is the offset address of the last receiving data as described - in nonfifo_rx_thres_register.*/ -#define I2C_RXFIFO_START_ADDR 0x0000001F -#define I2C_RXFIFO_START_ADDR_M ((I2C_RXFIFO_START_ADDR_V)<<(I2C_RXFIFO_START_ADDR_S)) -#define I2C_RXFIFO_START_ADDR_V 0x1F -#define I2C_RXFIFO_START_ADDR_S 0 - -#define I2C_FIFO_CONF_REG(i) (REG_I2C_BASE(i) + 0x0018) -/* I2C_NONFIFO_TX_THRES : R/W ;bitpos:[25:20] ;default: 6'h15 ; */ -/*description: when I2C sends more than nonfifo_tx_thres data it will produce - tx_send_empty_int_raw interrupt and update the current offset address of the sending data.*/ -#define I2C_NONFIFO_TX_THRES 0x0000003F -#define I2C_NONFIFO_TX_THRES_M ((I2C_NONFIFO_TX_THRES_V)<<(I2C_NONFIFO_TX_THRES_S)) -#define I2C_NONFIFO_TX_THRES_V 0x3F -#define I2C_NONFIFO_TX_THRES_S 20 -/* I2C_NONFIFO_RX_THRES : R/W ;bitpos:[19:14] ;default: 6'h15 ; */ -/*description: when I2C receives more than nonfifo_rx_thres data it will produce - rx_send_full_int_raw interrupt and update the current offset address of the receiving data.*/ -#define I2C_NONFIFO_RX_THRES 0x0000003F -#define I2C_NONFIFO_RX_THRES_M ((I2C_NONFIFO_RX_THRES_V)<<(I2C_NONFIFO_RX_THRES_S)) -#define I2C_NONFIFO_RX_THRES_V 0x3F -#define I2C_NONFIFO_RX_THRES_S 14 -/* I2C_TX_FIFO_RST : R/W ;bitpos:[13] ;default: 1'b0 ; */ -/*description: Set this bit to reset tx fifo when using apb fifo access.*/ -#define I2C_TX_FIFO_RST (BIT(13)) -#define I2C_TX_FIFO_RST_M (BIT(13)) -#define I2C_TX_FIFO_RST_V 0x1 -#define I2C_TX_FIFO_RST_S 13 -/* I2C_RX_FIFO_RST : R/W ;bitpos:[12] ;default: 1'b0 ; */ -/*description: Set this bit to reset rx fifo when using apb fifo access.*/ -#define I2C_RX_FIFO_RST (BIT(12)) -#define I2C_RX_FIFO_RST_M (BIT(12)) -#define I2C_RX_FIFO_RST_V 0x1 -#define I2C_RX_FIFO_RST_S 12 -/* I2C_FIFO_ADDR_CFG_EN : R/W ;bitpos:[11] ;default: 1'b0 ; */ -/*description: When this bit is set to 1 then the byte after address represent - the offset address of I2C Slave's ram.*/ -#define I2C_FIFO_ADDR_CFG_EN (BIT(11)) -#define I2C_FIFO_ADDR_CFG_EN_M (BIT(11)) -#define I2C_FIFO_ADDR_CFG_EN_V 0x1 -#define I2C_FIFO_ADDR_CFG_EN_S 11 -/* I2C_NONFIFO_EN : R/W ;bitpos:[10] ;default: 1'b0 ; */ -/*description: Set this bit to enble apb nonfifo access.*/ -#define I2C_NONFIFO_EN (BIT(10)) -#define I2C_NONFIFO_EN_M (BIT(10)) -#define I2C_NONFIFO_EN_V 0x1 -#define I2C_NONFIFO_EN_S 10 -/* I2C_TXFIFO_EMPTY_THRHD : R/W ;bitpos:[9:5] ;default: 5'h4 ; */ -/*description: Config txfifo empty threhd value when using apb fifo access*/ -#define I2C_TXFIFO_EMPTY_THRHD 0x0000001F -#define I2C_TXFIFO_EMPTY_THRHD_M ((I2C_TXFIFO_EMPTY_THRHD_V)<<(I2C_TXFIFO_EMPTY_THRHD_S)) -#define I2C_TXFIFO_EMPTY_THRHD_V 0x1F -#define I2C_TXFIFO_EMPTY_THRHD_S 5 -/* I2C_RXFIFO_FULL_THRHD : R/W ;bitpos:[4:0] ;default: 5'hb ; */ -/*description: */ -#define I2C_RXFIFO_FULL_THRHD 0x0000001F -#define I2C_RXFIFO_FULL_THRHD_M ((I2C_RXFIFO_FULL_THRHD_V)<<(I2C_RXFIFO_FULL_THRHD_S)) -#define I2C_RXFIFO_FULL_THRHD_V 0x1F -#define I2C_RXFIFO_FULL_THRHD_S 0 - -#define I2C_DATA_APB_REG(i) (0x60013000 + (i) * 0x14000 + 0x001c) - -#define I2C_DATA_REG(i) (REG_I2C_BASE(i) + 0x001c) -/* I2C_FIFO_RDATA : RO ;bitpos:[7:0] ;default: 8'b0 ; */ -/*description: The register represent the byte data read from rxfifo when use apb fifo access*/ -#define I2C_FIFO_RDATA 0x000000FF -#define I2C_FIFO_RDATA_M ((I2C_FIFO_RDATA_V)<<(I2C_FIFO_RDATA_S)) -#define I2C_FIFO_RDATA_V 0xFF -#define I2C_FIFO_RDATA_S 0 - -#define I2C_INT_RAW_REG(i) (REG_I2C_BASE(i) + 0x0020) -/* I2C_TX_SEND_EMPTY_INT_RAW : RO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for tx_send_empty_int interrupt.when - I2C sends more data than nonfifo_tx_thres it will produce tx_send_empty_int interrupt..*/ -#define I2C_TX_SEND_EMPTY_INT_RAW (BIT(12)) -#define I2C_TX_SEND_EMPTY_INT_RAW_M (BIT(12)) -#define I2C_TX_SEND_EMPTY_INT_RAW_V 0x1 -#define I2C_TX_SEND_EMPTY_INT_RAW_S 12 -/* I2C_RX_REC_FULL_INT_RAW : RO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for rx_rec_full_int interrupt. when - I2C receives more data than nonfifo_rx_thres it will produce rx_rec_full_int interrupt.*/ -#define I2C_RX_REC_FULL_INT_RAW (BIT(11)) -#define I2C_RX_REC_FULL_INT_RAW_M (BIT(11)) -#define I2C_RX_REC_FULL_INT_RAW_V 0x1 -#define I2C_RX_REC_FULL_INT_RAW_S 11 -/* I2C_ACK_ERR_INT_RAW : RO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for ack_err_int interrupt. when - I2C receives a wrong ACK bit it will produce ack_err_int interrupt..*/ -#define I2C_ACK_ERR_INT_RAW (BIT(10)) -#define I2C_ACK_ERR_INT_RAW_M (BIT(10)) -#define I2C_ACK_ERR_INT_RAW_V 0x1 -#define I2C_ACK_ERR_INT_RAW_S 10 -/* I2C_TRANS_START_INT_RAW : RO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for trans_start_int interrupt. when - I2C sends the START bit it will produce trans_start_int interrupt.*/ -#define I2C_TRANS_START_INT_RAW (BIT(9)) -#define I2C_TRANS_START_INT_RAW_M (BIT(9)) -#define I2C_TRANS_START_INT_RAW_V 0x1 -#define I2C_TRANS_START_INT_RAW_S 9 -/* I2C_TIME_OUT_INT_RAW : RO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for time_out_int interrupt. when - I2C takes a lot of time to receive a data it will produce time_out_int interrupt.*/ -#define I2C_TIME_OUT_INT_RAW (BIT(8)) -#define I2C_TIME_OUT_INT_RAW_M (BIT(8)) -#define I2C_TIME_OUT_INT_RAW_V 0x1 -#define I2C_TIME_OUT_INT_RAW_S 8 -/* I2C_TRANS_COMPLETE_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for trans_complete_int interrupt. - when I2C Master finished STOP command it will produce trans_complete_int interrupt.*/ -#define I2C_TRANS_COMPLETE_INT_RAW (BIT(7)) -#define I2C_TRANS_COMPLETE_INT_RAW_M (BIT(7)) -#define I2C_TRANS_COMPLETE_INT_RAW_V 0x1 -#define I2C_TRANS_COMPLETE_INT_RAW_S 7 -/* I2C_MASTER_TRAN_COMP_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for master_tra_comp_int interrupt. - when I2C Master sends or receives a byte it will produce master_tran_comp_int interrupt.*/ -#define I2C_MASTER_TRAN_COMP_INT_RAW (BIT(6)) -#define I2C_MASTER_TRAN_COMP_INT_RAW_M (BIT(6)) -#define I2C_MASTER_TRAN_COMP_INT_RAW_V 0x1 -#define I2C_MASTER_TRAN_COMP_INT_RAW_S 6 -/* I2C_ARBITRATION_LOST_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for arbitration_lost_int interrupt.when - I2C lost the usage right of I2C BUS it will produce arbitration_lost_int interrupt.*/ -#define I2C_ARBITRATION_LOST_INT_RAW (BIT(5)) -#define I2C_ARBITRATION_LOST_INT_RAW_M (BIT(5)) -#define I2C_ARBITRATION_LOST_INT_RAW_V 0x1 -#define I2C_ARBITRATION_LOST_INT_RAW_S 5 -/* I2C_SLAVE_TRAN_COMP_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for slave_tran_comp_int interrupt. - when I2C Slave detectsthe STOP bit it will produce slave_tran_comp_int interrupt.*/ -#define I2C_SLAVE_TRAN_COMP_INT_RAW (BIT(4)) -#define I2C_SLAVE_TRAN_COMP_INT_RAW_M (BIT(4)) -#define I2C_SLAVE_TRAN_COMP_INT_RAW_V 0x1 -#define I2C_SLAVE_TRAN_COMP_INT_RAW_S 4 -/* I2C_END_DETECT_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for end_detect_int interrupt. when - I2C deals with the END command it will produce end_detect_int interrupt.*/ -#define I2C_END_DETECT_INT_RAW (BIT(3)) -#define I2C_END_DETECT_INT_RAW_M (BIT(3)) -#define I2C_END_DETECT_INT_RAW_V 0x1 -#define I2C_END_DETECT_INT_RAW_S 3 -/* I2C_RXFIFO_OVF_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for receiving data overflow when - use apb fifo access.*/ -#define I2C_RXFIFO_OVF_INT_RAW (BIT(2)) -#define I2C_RXFIFO_OVF_INT_RAW_M (BIT(2)) -#define I2C_RXFIFO_OVF_INT_RAW_V 0x1 -#define I2C_RXFIFO_OVF_INT_RAW_S 2 -/* I2C_TXFIFO_EMPTY_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for txfifo empty when use apb fifo access.*/ -#define I2C_TXFIFO_EMPTY_INT_RAW (BIT(1)) -#define I2C_TXFIFO_EMPTY_INT_RAW_M (BIT(1)) -#define I2C_TXFIFO_EMPTY_INT_RAW_V 0x1 -#define I2C_TXFIFO_EMPTY_INT_RAW_S 1 -/* I2C_RXFIFO_FULL_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The raw interrupt status bit for rxfifo full when use apb fifo access.*/ -#define I2C_RXFIFO_FULL_INT_RAW (BIT(0)) -#define I2C_RXFIFO_FULL_INT_RAW_M (BIT(0)) -#define I2C_RXFIFO_FULL_INT_RAW_V 0x1 -#define I2C_RXFIFO_FULL_INT_RAW_S 0 - -#define I2C_INT_CLR_REG(i) (REG_I2C_BASE(i) + 0x0024) -/* I2C_TX_SEND_EMPTY_INT_CLR : WO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: Set this bit to clear the tx_send_empty_int interrupt.*/ -#define I2C_TX_SEND_EMPTY_INT_CLR (BIT(12)) -#define I2C_TX_SEND_EMPTY_INT_CLR_M (BIT(12)) -#define I2C_TX_SEND_EMPTY_INT_CLR_V 0x1 -#define I2C_TX_SEND_EMPTY_INT_CLR_S 12 -/* I2C_RX_REC_FULL_INT_CLR : WO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rx_rec_full_int interrupt.*/ -#define I2C_RX_REC_FULL_INT_CLR (BIT(11)) -#define I2C_RX_REC_FULL_INT_CLR_M (BIT(11)) -#define I2C_RX_REC_FULL_INT_CLR_V 0x1 -#define I2C_RX_REC_FULL_INT_CLR_S 11 -/* I2C_ACK_ERR_INT_CLR : WO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: Set this bit to clear the ack_err_int interrupt.*/ -#define I2C_ACK_ERR_INT_CLR (BIT(10)) -#define I2C_ACK_ERR_INT_CLR_M (BIT(10)) -#define I2C_ACK_ERR_INT_CLR_V 0x1 -#define I2C_ACK_ERR_INT_CLR_S 10 -/* I2C_TRANS_START_INT_CLR : WO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: Set this bit to clear the trans_start_int interrupt.*/ -#define I2C_TRANS_START_INT_CLR (BIT(9)) -#define I2C_TRANS_START_INT_CLR_M (BIT(9)) -#define I2C_TRANS_START_INT_CLR_V 0x1 -#define I2C_TRANS_START_INT_CLR_S 9 -/* I2C_TIME_OUT_INT_CLR : WO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: Set this bit to clear the time_out_int interrupt.*/ -#define I2C_TIME_OUT_INT_CLR (BIT(8)) -#define I2C_TIME_OUT_INT_CLR_M (BIT(8)) -#define I2C_TIME_OUT_INT_CLR_V 0x1 -#define I2C_TIME_OUT_INT_CLR_S 8 -/* I2C_TRANS_COMPLETE_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: Set this bit to clear the trans_complete_int interrupt.*/ -#define I2C_TRANS_COMPLETE_INT_CLR (BIT(7)) -#define I2C_TRANS_COMPLETE_INT_CLR_M (BIT(7)) -#define I2C_TRANS_COMPLETE_INT_CLR_V 0x1 -#define I2C_TRANS_COMPLETE_INT_CLR_S 7 -/* I2C_MASTER_TRAN_COMP_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to clear the master_tran_comp interrupt.*/ -#define I2C_MASTER_TRAN_COMP_INT_CLR (BIT(6)) -#define I2C_MASTER_TRAN_COMP_INT_CLR_M (BIT(6)) -#define I2C_MASTER_TRAN_COMP_INT_CLR_V 0x1 -#define I2C_MASTER_TRAN_COMP_INT_CLR_S 6 -/* I2C_ARBITRATION_LOST_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: Set this bit to clear the arbitration_lost_int interrupt.*/ -#define I2C_ARBITRATION_LOST_INT_CLR (BIT(5)) -#define I2C_ARBITRATION_LOST_INT_CLR_M (BIT(5)) -#define I2C_ARBITRATION_LOST_INT_CLR_V 0x1 -#define I2C_ARBITRATION_LOST_INT_CLR_S 5 -/* I2C_SLAVE_TRAN_COMP_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to clear the slave_tran_comp_int interrupt.*/ -#define I2C_SLAVE_TRAN_COMP_INT_CLR (BIT(4)) -#define I2C_SLAVE_TRAN_COMP_INT_CLR_M (BIT(4)) -#define I2C_SLAVE_TRAN_COMP_INT_CLR_V 0x1 -#define I2C_SLAVE_TRAN_COMP_INT_CLR_S 4 -/* I2C_END_DETECT_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to clear the end_detect_int interrupt.*/ -#define I2C_END_DETECT_INT_CLR (BIT(3)) -#define I2C_END_DETECT_INT_CLR_M (BIT(3)) -#define I2C_END_DETECT_INT_CLR_V 0x1 -#define I2C_END_DETECT_INT_CLR_S 3 -/* I2C_RXFIFO_OVF_INT_CLR : WO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rxfifo_ovf_int interrupt.*/ -#define I2C_RXFIFO_OVF_INT_CLR (BIT(2)) -#define I2C_RXFIFO_OVF_INT_CLR_M (BIT(2)) -#define I2C_RXFIFO_OVF_INT_CLR_V 0x1 -#define I2C_RXFIFO_OVF_INT_CLR_S 2 -/* I2C_TXFIFO_EMPTY_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: Set this bit to clear the txfifo_empty_int interrupt.*/ -#define I2C_TXFIFO_EMPTY_INT_CLR (BIT(1)) -#define I2C_TXFIFO_EMPTY_INT_CLR_M (BIT(1)) -#define I2C_TXFIFO_EMPTY_INT_CLR_V 0x1 -#define I2C_TXFIFO_EMPTY_INT_CLR_S 1 -/* I2C_RXFIFO_FULL_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rxfifo_full_int interrupt.*/ -#define I2C_RXFIFO_FULL_INT_CLR (BIT(0)) -#define I2C_RXFIFO_FULL_INT_CLR_M (BIT(0)) -#define I2C_RXFIFO_FULL_INT_CLR_V 0x1 -#define I2C_RXFIFO_FULL_INT_CLR_S 0 - -#define I2C_INT_ENA_REG(i) (REG_I2C_BASE(i) + 0x0028) -/* I2C_TX_SEND_EMPTY_INT_ENA : R/W ;bitpos:[12] ;default: 1'b0 ; */ -/*description: The enable bit for tx_send_empty_int interrupt.*/ -#define I2C_TX_SEND_EMPTY_INT_ENA (BIT(12)) -#define I2C_TX_SEND_EMPTY_INT_ENA_M (BIT(12)) -#define I2C_TX_SEND_EMPTY_INT_ENA_V 0x1 -#define I2C_TX_SEND_EMPTY_INT_ENA_S 12 -/* I2C_RX_REC_FULL_INT_ENA : R/W ;bitpos:[11] ;default: 1'b0 ; */ -/*description: The enable bit for rx_rec_full_int interrupt.*/ -#define I2C_RX_REC_FULL_INT_ENA (BIT(11)) -#define I2C_RX_REC_FULL_INT_ENA_M (BIT(11)) -#define I2C_RX_REC_FULL_INT_ENA_V 0x1 -#define I2C_RX_REC_FULL_INT_ENA_S 11 -/* I2C_ACK_ERR_INT_ENA : R/W ;bitpos:[10] ;default: 1'b0 ; */ -/*description: The enable bit for ack_err_int interrupt.*/ -#define I2C_ACK_ERR_INT_ENA (BIT(10)) -#define I2C_ACK_ERR_INT_ENA_M (BIT(10)) -#define I2C_ACK_ERR_INT_ENA_V 0x1 -#define I2C_ACK_ERR_INT_ENA_S 10 -/* I2C_TRANS_START_INT_ENA : R/W ;bitpos:[9] ;default: 1'b0 ; */ -/*description: The enable bit for trans_start_int interrupt.*/ -#define I2C_TRANS_START_INT_ENA (BIT(9)) -#define I2C_TRANS_START_INT_ENA_M (BIT(9)) -#define I2C_TRANS_START_INT_ENA_V 0x1 -#define I2C_TRANS_START_INT_ENA_S 9 -/* I2C_TIME_OUT_INT_ENA : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The enable bit for time_out_int interrupt.*/ -#define I2C_TIME_OUT_INT_ENA (BIT(8)) -#define I2C_TIME_OUT_INT_ENA_M (BIT(8)) -#define I2C_TIME_OUT_INT_ENA_V 0x1 -#define I2C_TIME_OUT_INT_ENA_S 8 -/* I2C_TRANS_COMPLETE_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The enable bit for trans_complete_int interrupt.*/ -#define I2C_TRANS_COMPLETE_INT_ENA (BIT(7)) -#define I2C_TRANS_COMPLETE_INT_ENA_M (BIT(7)) -#define I2C_TRANS_COMPLETE_INT_ENA_V 0x1 -#define I2C_TRANS_COMPLETE_INT_ENA_S 7 -/* I2C_MASTER_TRAN_COMP_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The enable bit for master_tran_comp_int interrupt.*/ -#define I2C_MASTER_TRAN_COMP_INT_ENA (BIT(6)) -#define I2C_MASTER_TRAN_COMP_INT_ENA_M (BIT(6)) -#define I2C_MASTER_TRAN_COMP_INT_ENA_V 0x1 -#define I2C_MASTER_TRAN_COMP_INT_ENA_S 6 -/* I2C_ARBITRATION_LOST_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The enable bit for arbitration_lost_int interrupt.*/ -#define I2C_ARBITRATION_LOST_INT_ENA (BIT(5)) -#define I2C_ARBITRATION_LOST_INT_ENA_M (BIT(5)) -#define I2C_ARBITRATION_LOST_INT_ENA_V 0x1 -#define I2C_ARBITRATION_LOST_INT_ENA_S 5 -/* I2C_SLAVE_TRAN_COMP_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The enable bit for slave_tran_comp_int interrupt.*/ -#define I2C_SLAVE_TRAN_COMP_INT_ENA (BIT(4)) -#define I2C_SLAVE_TRAN_COMP_INT_ENA_M (BIT(4)) -#define I2C_SLAVE_TRAN_COMP_INT_ENA_V 0x1 -#define I2C_SLAVE_TRAN_COMP_INT_ENA_S 4 -/* I2C_END_DETECT_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The enable bit for end_detect_int interrupt.*/ -#define I2C_END_DETECT_INT_ENA (BIT(3)) -#define I2C_END_DETECT_INT_ENA_M (BIT(3)) -#define I2C_END_DETECT_INT_ENA_V 0x1 -#define I2C_END_DETECT_INT_ENA_S 3 -/* I2C_RXFIFO_OVF_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The enable bit for rxfifo_ovf_int interrupt.*/ -#define I2C_RXFIFO_OVF_INT_ENA (BIT(2)) -#define I2C_RXFIFO_OVF_INT_ENA_M (BIT(2)) -#define I2C_RXFIFO_OVF_INT_ENA_V 0x1 -#define I2C_RXFIFO_OVF_INT_ENA_S 2 -/* I2C_TXFIFO_EMPTY_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The enable bit for txfifo_empty_int interrupt.*/ -#define I2C_TXFIFO_EMPTY_INT_ENA (BIT(1)) -#define I2C_TXFIFO_EMPTY_INT_ENA_M (BIT(1)) -#define I2C_TXFIFO_EMPTY_INT_ENA_V 0x1 -#define I2C_TXFIFO_EMPTY_INT_ENA_S 1 -/* I2C_RXFIFO_FULL_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The enable bit for rxfifo_full_int interrupt.*/ -#define I2C_RXFIFO_FULL_INT_ENA (BIT(0)) -#define I2C_RXFIFO_FULL_INT_ENA_M (BIT(0)) -#define I2C_RXFIFO_FULL_INT_ENA_V 0x1 -#define I2C_RXFIFO_FULL_INT_ENA_S 0 - -#define I2C_INT_STATUS_REG(i) (REG_I2C_BASE(i) + 0x002c) -/* I2C_TX_SEND_EMPTY_INT_ST : RO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: The masked interrupt status for tx_send_empty_int interrupt.*/ -#define I2C_TX_SEND_EMPTY_INT_ST (BIT(12)) -#define I2C_TX_SEND_EMPTY_INT_ST_M (BIT(12)) -#define I2C_TX_SEND_EMPTY_INT_ST_V 0x1 -#define I2C_TX_SEND_EMPTY_INT_ST_S 12 -/* I2C_RX_REC_FULL_INT_ST : RO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: The masked interrupt status for rx_rec_full_int interrupt.*/ -#define I2C_RX_REC_FULL_INT_ST (BIT(11)) -#define I2C_RX_REC_FULL_INT_ST_M (BIT(11)) -#define I2C_RX_REC_FULL_INT_ST_V 0x1 -#define I2C_RX_REC_FULL_INT_ST_S 11 -/* I2C_ACK_ERR_INT_ST : RO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: The masked interrupt status for ack_err_int interrupt.*/ -#define I2C_ACK_ERR_INT_ST (BIT(10)) -#define I2C_ACK_ERR_INT_ST_M (BIT(10)) -#define I2C_ACK_ERR_INT_ST_V 0x1 -#define I2C_ACK_ERR_INT_ST_S 10 -/* I2C_TRANS_START_INT_ST : RO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: The masked interrupt status for trans_start_int interrupt.*/ -#define I2C_TRANS_START_INT_ST (BIT(9)) -#define I2C_TRANS_START_INT_ST_M (BIT(9)) -#define I2C_TRANS_START_INT_ST_V 0x1 -#define I2C_TRANS_START_INT_ST_S 9 -/* I2C_TIME_OUT_INT_ST : RO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The masked interrupt status for time_out_int interrupt.*/ -#define I2C_TIME_OUT_INT_ST (BIT(8)) -#define I2C_TIME_OUT_INT_ST_M (BIT(8)) -#define I2C_TIME_OUT_INT_ST_V 0x1 -#define I2C_TIME_OUT_INT_ST_S 8 -/* I2C_TRANS_COMPLETE_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The masked interrupt status for trans_complete_int interrupt.*/ -#define I2C_TRANS_COMPLETE_INT_ST (BIT(7)) -#define I2C_TRANS_COMPLETE_INT_ST_M (BIT(7)) -#define I2C_TRANS_COMPLETE_INT_ST_V 0x1 -#define I2C_TRANS_COMPLETE_INT_ST_S 7 -/* I2C_MASTER_TRAN_COMP_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The masked interrupt status for master_tran_comp_int interrupt.*/ -#define I2C_MASTER_TRAN_COMP_INT_ST (BIT(6)) -#define I2C_MASTER_TRAN_COMP_INT_ST_M (BIT(6)) -#define I2C_MASTER_TRAN_COMP_INT_ST_V 0x1 -#define I2C_MASTER_TRAN_COMP_INT_ST_S 6 -/* I2C_ARBITRATION_LOST_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The masked interrupt status for arbitration_lost_int interrupt.*/ -#define I2C_ARBITRATION_LOST_INT_ST (BIT(5)) -#define I2C_ARBITRATION_LOST_INT_ST_M (BIT(5)) -#define I2C_ARBITRATION_LOST_INT_ST_V 0x1 -#define I2C_ARBITRATION_LOST_INT_ST_S 5 -/* I2C_SLAVE_TRAN_COMP_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The masked interrupt status for slave_tran_comp_int interrupt.*/ -#define I2C_SLAVE_TRAN_COMP_INT_ST (BIT(4)) -#define I2C_SLAVE_TRAN_COMP_INT_ST_M (BIT(4)) -#define I2C_SLAVE_TRAN_COMP_INT_ST_V 0x1 -#define I2C_SLAVE_TRAN_COMP_INT_ST_S 4 -/* I2C_END_DETECT_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The masked interrupt status for end_detect_int interrupt.*/ -#define I2C_END_DETECT_INT_ST (BIT(3)) -#define I2C_END_DETECT_INT_ST_M (BIT(3)) -#define I2C_END_DETECT_INT_ST_V 0x1 -#define I2C_END_DETECT_INT_ST_S 3 -/* I2C_RXFIFO_OVF_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The masked interrupt status for rxfifo_ovf_int interrupt.*/ -#define I2C_RXFIFO_OVF_INT_ST (BIT(2)) -#define I2C_RXFIFO_OVF_INT_ST_M (BIT(2)) -#define I2C_RXFIFO_OVF_INT_ST_V 0x1 -#define I2C_RXFIFO_OVF_INT_ST_S 2 -/* I2C_TXFIFO_EMPTY_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The masked interrupt status for txfifo_empty_int interrupt.*/ -#define I2C_TXFIFO_EMPTY_INT_ST (BIT(1)) -#define I2C_TXFIFO_EMPTY_INT_ST_M (BIT(1)) -#define I2C_TXFIFO_EMPTY_INT_ST_V 0x1 -#define I2C_TXFIFO_EMPTY_INT_ST_S 1 -/* I2C_RXFIFO_FULL_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The masked interrupt status for rxfifo_full_int interrupt.*/ -#define I2C_RXFIFO_FULL_INT_ST (BIT(0)) -#define I2C_RXFIFO_FULL_INT_ST_M (BIT(0)) -#define I2C_RXFIFO_FULL_INT_ST_V 0x1 -#define I2C_RXFIFO_FULL_INT_ST_S 0 - -#define I2C_SDA_HOLD_REG(i) (REG_I2C_BASE(i) + 0x0030) -/* I2C_SDA_HOLD_TIME : R/W ;bitpos:[9:0] ;default: 10'b0 ; */ -/*description: This register is used to configure the clock num I2C used to - hold the data after the negedge of SCL.*/ -#define I2C_SDA_HOLD_TIME 0x000003FF -#define I2C_SDA_HOLD_TIME_M ((I2C_SDA_HOLD_TIME_V)<<(I2C_SDA_HOLD_TIME_S)) -#define I2C_SDA_HOLD_TIME_V 0x3FF -#define I2C_SDA_HOLD_TIME_S 0 - -#define I2C_SDA_SAMPLE_REG(i) (REG_I2C_BASE(i) + 0x0034) -/* I2C_SDA_SAMPLE_TIME : R/W ;bitpos:[9:0] ;default: 10'b0 ; */ -/*description: This register is used to configure the clock num I2C used to - sample data on SDA after the posedge of SCL*/ -#define I2C_SDA_SAMPLE_TIME 0x000003FF -#define I2C_SDA_SAMPLE_TIME_M ((I2C_SDA_SAMPLE_TIME_V)<<(I2C_SDA_SAMPLE_TIME_S)) -#define I2C_SDA_SAMPLE_TIME_V 0x3FF -#define I2C_SDA_SAMPLE_TIME_S 0 - -#define I2C_SCL_HIGH_PERIOD_REG(i) (REG_I2C_BASE(i) + 0x0038) -/* I2C_SCL_HIGH_PERIOD : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This register is used to configure the clock num during SCL is low level.*/ -#define I2C_SCL_HIGH_PERIOD 0x00003FFF -#define I2C_SCL_HIGH_PERIOD_M ((I2C_SCL_HIGH_PERIOD_V)<<(I2C_SCL_HIGH_PERIOD_S)) -#define I2C_SCL_HIGH_PERIOD_V 0x3FFF -#define I2C_SCL_HIGH_PERIOD_S 0 - -#define I2C_SCL_START_HOLD_REG(i) (REG_I2C_BASE(i) + 0x0040) -/* I2C_SCL_START_HOLD_TIME : R/W ;bitpos:[9:0] ;default: 10'b1000 ; */ -/*description: This register is used to configure the clock num between the - negedge of SDA and negedge of SCL for start mark.*/ -#define I2C_SCL_START_HOLD_TIME 0x000003FF -#define I2C_SCL_START_HOLD_TIME_M ((I2C_SCL_START_HOLD_TIME_V)<<(I2C_SCL_START_HOLD_TIME_S)) -#define I2C_SCL_START_HOLD_TIME_V 0x3FF -#define I2C_SCL_START_HOLD_TIME_S 0 - -#define I2C_SCL_RSTART_SETUP_REG(i) (REG_I2C_BASE(i) + 0x0044) -/* I2C_SCL_RSTART_SETUP_TIME : R/W ;bitpos:[9:0] ;default: 10'b1000 ; */ -/*description: This register is used to configure the clock num between the - posedge of SCL and the negedge of SDA for restart mark.*/ -#define I2C_SCL_RSTART_SETUP_TIME 0x000003FF -#define I2C_SCL_RSTART_SETUP_TIME_M ((I2C_SCL_RSTART_SETUP_TIME_V)<<(I2C_SCL_RSTART_SETUP_TIME_S)) -#define I2C_SCL_RSTART_SETUP_TIME_V 0x3FF -#define I2C_SCL_RSTART_SETUP_TIME_S 0 - -#define I2C_SCL_STOP_HOLD_REG(i) (REG_I2C_BASE(i) + 0x0048) -/* I2C_SCL_STOP_HOLD_TIME : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This register is used to configure the clock num after the STOP bit's posedge.*/ -#define I2C_SCL_STOP_HOLD_TIME 0x00003FFF -#define I2C_SCL_STOP_HOLD_TIME_M ((I2C_SCL_STOP_HOLD_TIME_V)<<(I2C_SCL_STOP_HOLD_TIME_S)) -#define I2C_SCL_STOP_HOLD_TIME_V 0x3FFF -#define I2C_SCL_STOP_HOLD_TIME_S 0 - -#define I2C_SCL_STOP_SETUP_REG(i) (REG_I2C_BASE(i) + 0x004C) -/* I2C_SCL_STOP_SETUP_TIME : R/W ;bitpos:[9:0] ;default: 10'b0 ; */ -/*description: This register is used to configure the clock num between the - posedge of SCL and the posedge of SDA.*/ -#define I2C_SCL_STOP_SETUP_TIME 0x000003FF -#define I2C_SCL_STOP_SETUP_TIME_M ((I2C_SCL_STOP_SETUP_TIME_V)<<(I2C_SCL_STOP_SETUP_TIME_S)) -#define I2C_SCL_STOP_SETUP_TIME_V 0x3FF -#define I2C_SCL_STOP_SETUP_TIME_S 0 - -#define I2C_SCL_FILTER_CFG_REG(i) (REG_I2C_BASE(i) + 0x0050) -/* I2C_SCL_FILTER_EN : R/W ;bitpos:[3] ;default: 1'b1 ; */ -/*description: This is the filter enable bit for SCL.*/ -#define I2C_SCL_FILTER_EN (BIT(3)) -#define I2C_SCL_FILTER_EN_M (BIT(3)) -#define I2C_SCL_FILTER_EN_V 0x1 -#define I2C_SCL_FILTER_EN_S 3 -/* I2C_SCL_FILTER_THRES : R/W ;bitpos:[2:0] ;default: 3'b0 ; */ -/*description: When input SCL's pulse width is smaller than this register value - I2C ignores this pulse.*/ -#define I2C_SCL_FILTER_THRES 0x00000007 -#define I2C_SCL_FILTER_THRES_M ((I2C_SCL_FILTER_THRES_V)<<(I2C_SCL_FILTER_THRES_S)) -#define I2C_SCL_FILTER_THRES_V 0x7 -#define I2C_SCL_FILTER_THRES_S 0 - -#define I2C_SDA_FILTER_CFG_REG(i) (REG_I2C_BASE(i) + 0x0054) -/* I2C_SDA_FILTER_EN : R/W ;bitpos:[3] ;default: 1'b1 ; */ -/*description: This is the filter enable bit for SDA.*/ -#define I2C_SDA_FILTER_EN (BIT(3)) -#define I2C_SDA_FILTER_EN_M (BIT(3)) -#define I2C_SDA_FILTER_EN_V 0x1 -#define I2C_SDA_FILTER_EN_S 3 -/* I2C_SDA_FILTER_THRES : R/W ;bitpos:[2:0] ;default: 3'b0 ; */ -/*description: When input SCL's pulse width is smaller than this register value - I2C ignores this pulse.*/ -#define I2C_SDA_FILTER_THRES 0x00000007 -#define I2C_SDA_FILTER_THRES_M ((I2C_SDA_FILTER_THRES_V)<<(I2C_SDA_FILTER_THRES_S)) -#define I2C_SDA_FILTER_THRES_V 0x7 -#define I2C_SDA_FILTER_THRES_S 0 - -#define I2C_COMD0_REG(i) (REG_I2C_BASE(i) + 0x0058) -/* I2C_COMMAND0_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command0 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND0_DONE (BIT(31)) -#define I2C_COMMAND0_DONE_M (BIT(31)) -#define I2C_COMMAND0_DONE_V 0x1 -#define I2C_COMMAND0_DONE_S 31 -/* I2C_COMMAND0 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command0. It consists of three part. op_code - is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND0 0x00003FFF -#define I2C_COMMAND0_M ((I2C_COMMAND0_V)<<(I2C_COMMAND0_S)) -#define I2C_COMMAND0_V 0x3FFF -#define I2C_COMMAND0_S 0 - -#define I2C_COMD1_REG(i) (REG_I2C_BASE(i) + 0x005C) -/* I2C_COMMAND1_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command1 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND1_DONE (BIT(31)) -#define I2C_COMMAND1_DONE_M (BIT(31)) -#define I2C_COMMAND1_DONE_V 0x1 -#define I2C_COMMAND1_DONE_S 31 -/* I2C_COMMAND1 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command1. It consists of three part. op_code - is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND1 0x00003FFF -#define I2C_COMMAND1_M ((I2C_COMMAND1_V)<<(I2C_COMMAND1_S)) -#define I2C_COMMAND1_V 0x3FFF -#define I2C_COMMAND1_S 0 - -#define I2C_COMD2_REG(i) (REG_I2C_BASE(i) + 0x0060) -/* I2C_COMMAND2_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command2 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND2_DONE (BIT(31)) -#define I2C_COMMAND2_DONE_M (BIT(31)) -#define I2C_COMMAND2_DONE_V 0x1 -#define I2C_COMMAND2_DONE_S 31 -/* I2C_COMMAND2 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command2. It consists of three part. op_code - is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND2 0x00003FFF -#define I2C_COMMAND2_M ((I2C_COMMAND2_V)<<(I2C_COMMAND2_S)) -#define I2C_COMMAND2_V 0x3FFF -#define I2C_COMMAND2_S 0 - -#define I2C_COMD3_REG(i) (REG_I2C_BASE(i) + 0x0064) -/* I2C_COMMAND3_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command3 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND3_DONE (BIT(31)) -#define I2C_COMMAND3_DONE_M (BIT(31)) -#define I2C_COMMAND3_DONE_V 0x1 -#define I2C_COMMAND3_DONE_S 31 -/* I2C_COMMAND3 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command3. It consists of three part. op_code - is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND3 0x00003FFF -#define I2C_COMMAND3_M ((I2C_COMMAND3_V)<<(I2C_COMMAND3_S)) -#define I2C_COMMAND3_V 0x3FFF -#define I2C_COMMAND3_S 0 - -#define I2C_COMD4_REG(i) (REG_I2C_BASE(i) + 0x0068) -/* I2C_COMMAND4_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command4 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND4_DONE (BIT(31)) -#define I2C_COMMAND4_DONE_M (BIT(31)) -#define I2C_COMMAND4_DONE_V 0x1 -#define I2C_COMMAND4_DONE_S 31 -/* I2C_COMMAND4 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command4. It consists of three part. op_code - is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND4 0x00003FFF -#define I2C_COMMAND4_M ((I2C_COMMAND4_V)<<(I2C_COMMAND4_S)) -#define I2C_COMMAND4_V 0x3FFF -#define I2C_COMMAND4_S 0 - -#define I2C_COMD5_REG(i) (REG_I2C_BASE(i) + 0x006C) -/* I2C_COMMAND5_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command5 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND5_DONE (BIT(31)) -#define I2C_COMMAND5_DONE_M (BIT(31)) -#define I2C_COMMAND5_DONE_V 0x1 -#define I2C_COMMAND5_DONE_S 31 -/* I2C_COMMAND5 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command5. It consists of three part. op_code - is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND5 0x00003FFF -#define I2C_COMMAND5_M ((I2C_COMMAND5_V)<<(I2C_COMMAND5_S)) -#define I2C_COMMAND5_V 0x3FFF -#define I2C_COMMAND5_S 0 - -#define I2C_COMD6_REG(i) (REG_I2C_BASE(i) + 0x0070) -/* I2C_COMMAND6_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command6 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND6_DONE (BIT(31)) -#define I2C_COMMAND6_DONE_M (BIT(31)) -#define I2C_COMMAND6_DONE_V 0x1 -#define I2C_COMMAND6_DONE_S 31 -/* I2C_COMMAND6 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command6. It consists of three part. op_code - is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND6 0x00003FFF -#define I2C_COMMAND6_M ((I2C_COMMAND6_V)<<(I2C_COMMAND6_S)) -#define I2C_COMMAND6_V 0x3FFF -#define I2C_COMMAND6_S 0 - -#define I2C_COMD7_REG(i) (REG_I2C_BASE(i) + 0x0074) -/* I2C_COMMAND7_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command7 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND7_DONE (BIT(31)) -#define I2C_COMMAND7_DONE_M (BIT(31)) -#define I2C_COMMAND7_DONE_V 0x1 -#define I2C_COMMAND7_DONE_S 31 -/* I2C_COMMAND7 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command7. It consists of three part. op_code - is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND7 0x00003FFF -#define I2C_COMMAND7_M ((I2C_COMMAND7_V)<<(I2C_COMMAND7_S)) -#define I2C_COMMAND7_V 0x3FFF -#define I2C_COMMAND7_S 0 - -#define I2C_COMD8_REG(i) (REG_I2C_BASE(i) + 0x0078) -/* I2C_COMMAND8_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command8 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND8_DONE (BIT(31)) -#define I2C_COMMAND8_DONE_M (BIT(31)) -#define I2C_COMMAND8_DONE_V 0x1 -#define I2C_COMMAND8_DONE_S 31 -/* I2C_COMMAND8 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command8. It consists of three part. op_code - is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND8 0x00003FFF -#define I2C_COMMAND8_M ((I2C_COMMAND8_V)<<(I2C_COMMAND8_S)) -#define I2C_COMMAND8_V 0x3FFF -#define I2C_COMMAND8_S 0 - -#define I2C_COMD9_REG(i) (REG_I2C_BASE(i) + 0x007C) -/* I2C_COMMAND9_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command9 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND9_DONE (BIT(31)) -#define I2C_COMMAND9_DONE_M (BIT(31)) -#define I2C_COMMAND9_DONE_V 0x1 -#define I2C_COMMAND9_DONE_S 31 -/* I2C_COMMAND9 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command9. It consists of three part. op_code - is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND9 0x00003FFF -#define I2C_COMMAND9_M ((I2C_COMMAND9_V)<<(I2C_COMMAND9_S)) -#define I2C_COMMAND9_V 0x3FFF -#define I2C_COMMAND9_S 0 - -#define I2C_COMD10_REG(i) (REG_I2C_BASE(i) + 0x0080) -/* I2C_COMMAND10_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command10 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND10_DONE (BIT(31)) -#define I2C_COMMAND10_DONE_M (BIT(31)) -#define I2C_COMMAND10_DONE_V 0x1 -#define I2C_COMMAND10_DONE_S 31 -/* I2C_COMMAND10 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command10. It consists of three part. - op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND10 0x00003FFF -#define I2C_COMMAND10_M ((I2C_COMMAND10_V)<<(I2C_COMMAND10_S)) -#define I2C_COMMAND10_V 0x3FFF -#define I2C_COMMAND10_S 0 - -#define I2C_COMD11_REG(i) (REG_I2C_BASE(i) + 0x0084) -/* I2C_COMMAND11_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command11 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND11_DONE (BIT(31)) -#define I2C_COMMAND11_DONE_M (BIT(31)) -#define I2C_COMMAND11_DONE_V 0x1 -#define I2C_COMMAND11_DONE_S 31 -/* I2C_COMMAND11 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command11. It consists of three part. - op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND11 0x00003FFF -#define I2C_COMMAND11_M ((I2C_COMMAND11_V)<<(I2C_COMMAND11_S)) -#define I2C_COMMAND11_V 0x3FFF -#define I2C_COMMAND11_S 0 - -#define I2C_COMD12_REG(i) (REG_I2C_BASE(i) + 0x0088) -/* I2C_COMMAND12_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command12 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND12_DONE (BIT(31)) -#define I2C_COMMAND12_DONE_M (BIT(31)) -#define I2C_COMMAND12_DONE_V 0x1 -#define I2C_COMMAND12_DONE_S 31 -/* I2C_COMMAND12 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command12. It consists of three part. - op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND12 0x00003FFF -#define I2C_COMMAND12_M ((I2C_COMMAND12_V)<<(I2C_COMMAND12_S)) -#define I2C_COMMAND12_V 0x3FFF -#define I2C_COMMAND12_S 0 - -#define I2C_COMD13_REG(i) (REG_I2C_BASE(i) + 0x008C) -/* I2C_COMMAND13_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command13 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND13_DONE (BIT(31)) -#define I2C_COMMAND13_DONE_M (BIT(31)) -#define I2C_COMMAND13_DONE_V 0x1 -#define I2C_COMMAND13_DONE_S 31 -/* I2C_COMMAND13 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command13. It consists of three part. - op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND13 0x00003FFF -#define I2C_COMMAND13_M ((I2C_COMMAND13_V)<<(I2C_COMMAND13_S)) -#define I2C_COMMAND13_V 0x3FFF -#define I2C_COMMAND13_S 0 - -#define I2C_COMD14_REG(i) (REG_I2C_BASE(i) + 0x0090) -/* I2C_COMMAND14_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command14 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND14_DONE (BIT(31)) -#define I2C_COMMAND14_DONE_M (BIT(31)) -#define I2C_COMMAND14_DONE_V 0x1 -#define I2C_COMMAND14_DONE_S 31 -/* I2C_COMMAND14 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command14. It consists of three part. - op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND14 0x00003FFF -#define I2C_COMMAND14_M ((I2C_COMMAND14_V)<<(I2C_COMMAND14_S)) -#define I2C_COMMAND14_V 0x3FFF -#define I2C_COMMAND14_S 0 - -#define I2C_COMD15_REG(i) (REG_I2C_BASE(i) + 0x0094) -/* I2C_COMMAND15_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When command15 is done in I2C Master mode this bit changes to high level.*/ -#define I2C_COMMAND15_DONE (BIT(31)) -#define I2C_COMMAND15_DONE_M (BIT(31)) -#define I2C_COMMAND15_DONE_V 0x1 -#define I2C_COMMAND15_DONE_S 31 -/* I2C_COMMAND15 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ -/*description: This is the content of command15. It consists of three part. - op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ -#define I2C_COMMAND15 0x00003FFF -#define I2C_COMMAND15_M ((I2C_COMMAND15_V)<<(I2C_COMMAND15_S)) -#define I2C_COMMAND15_V 0x3FFF -#define I2C_COMMAND15_S 0 - -#define I2C_DATE_REG(i) (REG_I2C_BASE(i) + 0x00F8) -/* I2C_DATE : R/W ;bitpos:[31:0] ;default: 32'h16042000 ; */ -/*description: */ -#define I2C_DATE 0xFFFFFFFF -#define I2C_DATE_M ((I2C_DATE_V)<<(I2C_DATE_S)) -#define I2C_DATE_V 0xFFFFFFFF -#define I2C_DATE_S 0 - -#define I2C_FIFO_START_ADDR_REG(i) (REG_I2C_BASE(i) + 0x0100) - - - - -#endif /*_SOC_I2C_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_I2C_REG_H_ +#define _SOC_I2C_REG_H_ + + +#include "soc.h" + +#define REG_I2C_BASE(i) (DR_REG_I2C_EXT_BASE + (i) * 0x14000 ) + +#define I2C_SCL_LOW_PERIOD_REG(i) (REG_I2C_BASE(i) + 0x0000) +/* I2C_SCL_LOW_PERIOD : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This register is used to configure the low level width of SCL clock.*/ +#define I2C_SCL_LOW_PERIOD 0x00003FFF +#define I2C_SCL_LOW_PERIOD_M ((I2C_SCL_LOW_PERIOD_V)<<(I2C_SCL_LOW_PERIOD_S)) +#define I2C_SCL_LOW_PERIOD_V 0x3FFF +#define I2C_SCL_LOW_PERIOD_S 0 + +#define I2C_CTR_REG(i) (REG_I2C_BASE(i) + 0x0004) +/* I2C_CLK_EN : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: This is the clock gating control bit for reading or writing registers.*/ +#define I2C_CLK_EN (BIT(8)) +#define I2C_CLK_EN_M (BIT(8)) +#define I2C_CLK_EN_V 0x1 +#define I2C_CLK_EN_S 8 +/* I2C_RX_LSB_FIRST : R/W ;bitpos:[7] ;default: 1'h0 ; */ +/*description: This bit is used to control the storage mode for received datas. + 1: receive data from most significant bit 0: receive data from least significant bit*/ +#define I2C_RX_LSB_FIRST (BIT(7)) +#define I2C_RX_LSB_FIRST_M (BIT(7)) +#define I2C_RX_LSB_FIRST_V 0x1 +#define I2C_RX_LSB_FIRST_S 7 +/* I2C_TX_LSB_FIRST : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: This bit is used to control the sending mode for data need to + be send. 1: receive data from most significant bit 0: receive data from least significant bit*/ +#define I2C_TX_LSB_FIRST (BIT(6)) +#define I2C_TX_LSB_FIRST_M (BIT(6)) +#define I2C_TX_LSB_FIRST_V 0x1 +#define I2C_TX_LSB_FIRST_S 6 +/* I2C_TRANS_START : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: Set this bit to start sending data in txfifo.*/ +#define I2C_TRANS_START (BIT(5)) +#define I2C_TRANS_START_M (BIT(5)) +#define I2C_TRANS_START_V 0x1 +#define I2C_TRANS_START_S 5 +/* I2C_MS_MODE : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to configure the module as i2c master clear this + bit to configure the module as i2c slave.*/ +#define I2C_MS_MODE (BIT(4)) +#define I2C_MS_MODE_M (BIT(4)) +#define I2C_MS_MODE_V 0x1 +#define I2C_MS_MODE_S 4 +/* I2C_SAMPLE_SCL_LEVEL : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: Set this bit to sample data in SCL low level. clear this bit + to sample data in SCL high level.*/ +#define I2C_SAMPLE_SCL_LEVEL (BIT(2)) +#define I2C_SAMPLE_SCL_LEVEL_M (BIT(2)) +#define I2C_SAMPLE_SCL_LEVEL_V 0x1 +#define I2C_SAMPLE_SCL_LEVEL_S 2 +/* I2C_SCL_FORCE_OUT : R/W ;bitpos:[1] ;default: 1'b1 ; */ +/*description: 1: normally ouput scl clock 0: exchange the function of scl_o + and scl_oe (scl_o is the original internal output scl signal scl_oe is the enable bit for the internal output scl signal)*/ +#define I2C_SCL_FORCE_OUT (BIT(1)) +#define I2C_SCL_FORCE_OUT_M (BIT(1)) +#define I2C_SCL_FORCE_OUT_V 0x1 +#define I2C_SCL_FORCE_OUT_S 1 +/* I2C_SDA_FORCE_OUT : R/W ;bitpos:[0] ;default: 1'b1 ; */ +/*description: 1: normally ouput sda data 0: exchange the function of sda_o + and sda_oe (sda_o is the original internal output sda signal sda_oe is the enable bit for the internal output sda signal)*/ +#define I2C_SDA_FORCE_OUT (BIT(0)) +#define I2C_SDA_FORCE_OUT_M (BIT(0)) +#define I2C_SDA_FORCE_OUT_V 0x1 +#define I2C_SDA_FORCE_OUT_S 0 + +#define I2C_SR_REG(i) (REG_I2C_BASE(i) + 0x0008) +/* I2C_SCL_STATE_LAST : RO ;bitpos:[30:28] ;default: 3'b0 ; */ +/*description: This register stores the value of state machine to produce SCL. + 3'h0: SCL_IDLE 3'h1:SCL_START 3'h2:SCL_LOW_EDGE 3'h3: SCL_LOW 3'h4:SCL_HIGH_EDGE 3'h5:SCL_HIGH 3'h6:SCL_STOP*/ +#define I2C_SCL_STATE_LAST 0x00000007 +#define I2C_SCL_STATE_LAST_M ((I2C_SCL_STATE_LAST_V)<<(I2C_SCL_STATE_LAST_S)) +#define I2C_SCL_STATE_LAST_V 0x7 +#define I2C_SCL_STATE_LAST_S 28 +/* I2C_SCL_MAIN_STATE_LAST : RO ;bitpos:[26:24] ;default: 3'b0 ; */ +/*description: This register stores the value of state machine for i2c module. + 3'h0: SCL_MAIN_IDLE 3'h1: SCL_ADDRESS_SHIFT 3'h2: SCL_ACK_ADDRESS 3'h3: SCL_RX_DATA 3'h4 SCL_TX_DATA 3'h5:SCL_SEND_ACK 3'h6:SCL_WAIT_ACK*/ +#define I2C_SCL_MAIN_STATE_LAST 0x00000007 +#define I2C_SCL_MAIN_STATE_LAST_M ((I2C_SCL_MAIN_STATE_LAST_V)<<(I2C_SCL_MAIN_STATE_LAST_S)) +#define I2C_SCL_MAIN_STATE_LAST_V 0x7 +#define I2C_SCL_MAIN_STATE_LAST_S 24 +/* I2C_TXFIFO_CNT : RO ;bitpos:[23:18] ;default: 6'b0 ; */ +/*description: This register stores the amount of received data in ram.*/ +#define I2C_TXFIFO_CNT 0x0000003F +#define I2C_TXFIFO_CNT_M ((I2C_TXFIFO_CNT_V)<<(I2C_TXFIFO_CNT_S)) +#define I2C_TXFIFO_CNT_V 0x3F +#define I2C_TXFIFO_CNT_S 18 +/* I2C_RXFIFO_CNT : RO ;bitpos:[13:8] ;default: 6'b0 ; */ +/*description: This register represent the amount of data need to send.*/ +#define I2C_RXFIFO_CNT 0x0000003F +#define I2C_RXFIFO_CNT_M ((I2C_RXFIFO_CNT_V)<<(I2C_RXFIFO_CNT_S)) +#define I2C_RXFIFO_CNT_V 0x3F +#define I2C_RXFIFO_CNT_S 8 +/* I2C_BYTE_TRANS : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: This register changes to high level when one byte is transferred.*/ +#define I2C_BYTE_TRANS (BIT(6)) +#define I2C_BYTE_TRANS_M (BIT(6)) +#define I2C_BYTE_TRANS_V 0x1 +#define I2C_BYTE_TRANS_S 6 +/* I2C_SLAVE_ADDRESSED : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: when configured as i2c slave and the address send by master + is equal to slave's address then this bit will be high level.*/ +#define I2C_SLAVE_ADDRESSED (BIT(5)) +#define I2C_SLAVE_ADDRESSED_M (BIT(5)) +#define I2C_SLAVE_ADDRESSED_V 0x1 +#define I2C_SLAVE_ADDRESSED_S 5 +/* I2C_BUS_BUSY : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: 1:I2C bus is busy transferring data. 0:I2C bus is in idle state.*/ +#define I2C_BUS_BUSY (BIT(4)) +#define I2C_BUS_BUSY_M (BIT(4)) +#define I2C_BUS_BUSY_V 0x1 +#define I2C_BUS_BUSY_S 4 +/* I2C_ARB_LOST : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: when I2C lost control of SDA line this register changes to high level.*/ +#define I2C_ARB_LOST (BIT(3)) +#define I2C_ARB_LOST_M (BIT(3)) +#define I2C_ARB_LOST_V 0x1 +#define I2C_ARB_LOST_S 3 +/* I2C_TIME_OUT : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: when I2C takes more than time_out_reg clocks to receive a data + then this register changes to high level.*/ +#define I2C_TIME_OUT (BIT(2)) +#define I2C_TIME_OUT_M (BIT(2)) +#define I2C_TIME_OUT_V 0x1 +#define I2C_TIME_OUT_S 2 +/* I2C_SLAVE_RW : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: when in slave mode 1: master read slave 0: master write slave.*/ +#define I2C_SLAVE_RW (BIT(1)) +#define I2C_SLAVE_RW_M (BIT(1)) +#define I2C_SLAVE_RW_V 0x1 +#define I2C_SLAVE_RW_S 1 +/* I2C_ACK_REC : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: This register stores the value of ACK bit.*/ +#define I2C_ACK_REC (BIT(0)) +#define I2C_ACK_REC_M (BIT(0)) +#define I2C_ACK_REC_V 0x1 +#define I2C_ACK_REC_S 0 + +#define I2C_TO_REG(i) (REG_I2C_BASE(i) + 0x000c) +/* I2C_TIME_OUT_REG : R/W ;bitpos:[19:0] ;default: 20'b0 ; */ +/*description: This register is used to configure the max clock number of receiving a data.*/ +#define I2C_TIME_OUT_REG 0x000FFFFF +#define I2C_TIME_OUT_REG_M ((I2C_TIME_OUT_REG_V)<<(I2C_TIME_OUT_REG_S)) +#define I2C_TIME_OUT_REG_V 0xFFFFF +#define I2C_TIME_OUT_REG_S 0 + +#define I2C_SLAVE_ADDR_REG(i) (REG_I2C_BASE(i) + 0x0010) +/* I2C_ADDR_10BIT_EN : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: This register is used to enable slave 10bit address mode.*/ +#define I2C_ADDR_10BIT_EN (BIT(31)) +#define I2C_ADDR_10BIT_EN_M (BIT(31)) +#define I2C_ADDR_10BIT_EN_V 0x1 +#define I2C_ADDR_10BIT_EN_S 31 +/* I2C_SLAVE_ADDR : R/W ;bitpos:[14:0] ;default: 15'b0 ; */ +/*description: when configured as i2c slave this register is used to configure + slave's address.*/ +#define I2C_SLAVE_ADDR 0x00007FFF +#define I2C_SLAVE_ADDR_M ((I2C_SLAVE_ADDR_V)<<(I2C_SLAVE_ADDR_S)) +#define I2C_SLAVE_ADDR_V 0x7FFF +#define I2C_SLAVE_ADDR_S 0 + +#define I2C_RXFIFO_ST_REG(i) (REG_I2C_BASE(i) + 0x0014) +/* I2C_TXFIFO_END_ADDR : RO ;bitpos:[19:15] ;default: 5'b0 ; */ +/*description: This is the offset address of the last sending data as described + in nonfifo_tx_thres register.*/ +#define I2C_TXFIFO_END_ADDR 0x0000001F +#define I2C_TXFIFO_END_ADDR_M ((I2C_TXFIFO_END_ADDR_V)<<(I2C_TXFIFO_END_ADDR_S)) +#define I2C_TXFIFO_END_ADDR_V 0x1F +#define I2C_TXFIFO_END_ADDR_S 15 +/* I2C_TXFIFO_START_ADDR : RO ;bitpos:[14:10] ;default: 5'b0 ; */ +/*description: This is the offset address of the first sending data as described + in nonfifo_tx_thres register.*/ +#define I2C_TXFIFO_START_ADDR 0x0000001F +#define I2C_TXFIFO_START_ADDR_M ((I2C_TXFIFO_START_ADDR_V)<<(I2C_TXFIFO_START_ADDR_S)) +#define I2C_TXFIFO_START_ADDR_V 0x1F +#define I2C_TXFIFO_START_ADDR_S 10 +/* I2C_RXFIFO_END_ADDR : RO ;bitpos:[9:5] ;default: 5'b0 ; */ +/*description: This is the offset address of the first receiving data as described + in nonfifo_rx_thres_register.*/ +#define I2C_RXFIFO_END_ADDR 0x0000001F +#define I2C_RXFIFO_END_ADDR_M ((I2C_RXFIFO_END_ADDR_V)<<(I2C_RXFIFO_END_ADDR_S)) +#define I2C_RXFIFO_END_ADDR_V 0x1F +#define I2C_RXFIFO_END_ADDR_S 5 +/* I2C_RXFIFO_START_ADDR : RO ;bitpos:[4:0] ;default: 5'b0 ; */ +/*description: This is the offset address of the last receiving data as described + in nonfifo_rx_thres_register.*/ +#define I2C_RXFIFO_START_ADDR 0x0000001F +#define I2C_RXFIFO_START_ADDR_M ((I2C_RXFIFO_START_ADDR_V)<<(I2C_RXFIFO_START_ADDR_S)) +#define I2C_RXFIFO_START_ADDR_V 0x1F +#define I2C_RXFIFO_START_ADDR_S 0 + +#define I2C_FIFO_CONF_REG(i) (REG_I2C_BASE(i) + 0x0018) +/* I2C_NONFIFO_TX_THRES : R/W ;bitpos:[25:20] ;default: 6'h15 ; */ +/*description: when I2C sends more than nonfifo_tx_thres data it will produce + tx_send_empty_int_raw interrupt and update the current offset address of the sending data.*/ +#define I2C_NONFIFO_TX_THRES 0x0000003F +#define I2C_NONFIFO_TX_THRES_M ((I2C_NONFIFO_TX_THRES_V)<<(I2C_NONFIFO_TX_THRES_S)) +#define I2C_NONFIFO_TX_THRES_V 0x3F +#define I2C_NONFIFO_TX_THRES_S 20 +/* I2C_NONFIFO_RX_THRES : R/W ;bitpos:[19:14] ;default: 6'h15 ; */ +/*description: when I2C receives more than nonfifo_rx_thres data it will produce + rx_send_full_int_raw interrupt and update the current offset address of the receiving data.*/ +#define I2C_NONFIFO_RX_THRES 0x0000003F +#define I2C_NONFIFO_RX_THRES_M ((I2C_NONFIFO_RX_THRES_V)<<(I2C_NONFIFO_RX_THRES_S)) +#define I2C_NONFIFO_RX_THRES_V 0x3F +#define I2C_NONFIFO_RX_THRES_S 14 +/* I2C_TX_FIFO_RST : R/W ;bitpos:[13] ;default: 1'b0 ; */ +/*description: Set this bit to reset tx fifo when using apb fifo access.*/ +#define I2C_TX_FIFO_RST (BIT(13)) +#define I2C_TX_FIFO_RST_M (BIT(13)) +#define I2C_TX_FIFO_RST_V 0x1 +#define I2C_TX_FIFO_RST_S 13 +/* I2C_RX_FIFO_RST : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: Set this bit to reset rx fifo when using apb fifo access.*/ +#define I2C_RX_FIFO_RST (BIT(12)) +#define I2C_RX_FIFO_RST_M (BIT(12)) +#define I2C_RX_FIFO_RST_V 0x1 +#define I2C_RX_FIFO_RST_S 12 +/* I2C_FIFO_ADDR_CFG_EN : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: When this bit is set to 1 then the byte after address represent + the offset address of I2C Slave's ram.*/ +#define I2C_FIFO_ADDR_CFG_EN (BIT(11)) +#define I2C_FIFO_ADDR_CFG_EN_M (BIT(11)) +#define I2C_FIFO_ADDR_CFG_EN_V 0x1 +#define I2C_FIFO_ADDR_CFG_EN_S 11 +/* I2C_NONFIFO_EN : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: Set this bit to enble apb nonfifo access.*/ +#define I2C_NONFIFO_EN (BIT(10)) +#define I2C_NONFIFO_EN_M (BIT(10)) +#define I2C_NONFIFO_EN_V 0x1 +#define I2C_NONFIFO_EN_S 10 +/* I2C_TXFIFO_EMPTY_THRHD : R/W ;bitpos:[9:5] ;default: 5'h4 ; */ +/*description: Config txfifo empty threhd value when using apb fifo access*/ +#define I2C_TXFIFO_EMPTY_THRHD 0x0000001F +#define I2C_TXFIFO_EMPTY_THRHD_M ((I2C_TXFIFO_EMPTY_THRHD_V)<<(I2C_TXFIFO_EMPTY_THRHD_S)) +#define I2C_TXFIFO_EMPTY_THRHD_V 0x1F +#define I2C_TXFIFO_EMPTY_THRHD_S 5 +/* I2C_RXFIFO_FULL_THRHD : R/W ;bitpos:[4:0] ;default: 5'hb ; */ +/*description: */ +#define I2C_RXFIFO_FULL_THRHD 0x0000001F +#define I2C_RXFIFO_FULL_THRHD_M ((I2C_RXFIFO_FULL_THRHD_V)<<(I2C_RXFIFO_FULL_THRHD_S)) +#define I2C_RXFIFO_FULL_THRHD_V 0x1F +#define I2C_RXFIFO_FULL_THRHD_S 0 + +#define I2C_DATA_APB_REG(i) (0x60013000 + (i) * 0x14000 + 0x001c) + +#define I2C_DATA_REG(i) (REG_I2C_BASE(i) + 0x001c) +/* I2C_FIFO_RDATA : RO ;bitpos:[7:0] ;default: 8'b0 ; */ +/*description: The register represent the byte data read from rxfifo when use apb fifo access*/ +#define I2C_FIFO_RDATA 0x000000FF +#define I2C_FIFO_RDATA_M ((I2C_FIFO_RDATA_V)<<(I2C_FIFO_RDATA_S)) +#define I2C_FIFO_RDATA_V 0xFF +#define I2C_FIFO_RDATA_S 0 + +#define I2C_INT_RAW_REG(i) (REG_I2C_BASE(i) + 0x0020) +/* I2C_TX_SEND_EMPTY_INT_RAW : RO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for tx_send_empty_int interrupt.when + I2C sends more data than nonfifo_tx_thres it will produce tx_send_empty_int interrupt..*/ +#define I2C_TX_SEND_EMPTY_INT_RAW (BIT(12)) +#define I2C_TX_SEND_EMPTY_INT_RAW_M (BIT(12)) +#define I2C_TX_SEND_EMPTY_INT_RAW_V 0x1 +#define I2C_TX_SEND_EMPTY_INT_RAW_S 12 +/* I2C_RX_REC_FULL_INT_RAW : RO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for rx_rec_full_int interrupt. when + I2C receives more data than nonfifo_rx_thres it will produce rx_rec_full_int interrupt.*/ +#define I2C_RX_REC_FULL_INT_RAW (BIT(11)) +#define I2C_RX_REC_FULL_INT_RAW_M (BIT(11)) +#define I2C_RX_REC_FULL_INT_RAW_V 0x1 +#define I2C_RX_REC_FULL_INT_RAW_S 11 +/* I2C_ACK_ERR_INT_RAW : RO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for ack_err_int interrupt. when + I2C receives a wrong ACK bit it will produce ack_err_int interrupt..*/ +#define I2C_ACK_ERR_INT_RAW (BIT(10)) +#define I2C_ACK_ERR_INT_RAW_M (BIT(10)) +#define I2C_ACK_ERR_INT_RAW_V 0x1 +#define I2C_ACK_ERR_INT_RAW_S 10 +/* I2C_TRANS_START_INT_RAW : RO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for trans_start_int interrupt. when + I2C sends the START bit it will produce trans_start_int interrupt.*/ +#define I2C_TRANS_START_INT_RAW (BIT(9)) +#define I2C_TRANS_START_INT_RAW_M (BIT(9)) +#define I2C_TRANS_START_INT_RAW_V 0x1 +#define I2C_TRANS_START_INT_RAW_S 9 +/* I2C_TIME_OUT_INT_RAW : RO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for time_out_int interrupt. when + I2C takes a lot of time to receive a data it will produce time_out_int interrupt.*/ +#define I2C_TIME_OUT_INT_RAW (BIT(8)) +#define I2C_TIME_OUT_INT_RAW_M (BIT(8)) +#define I2C_TIME_OUT_INT_RAW_V 0x1 +#define I2C_TIME_OUT_INT_RAW_S 8 +/* I2C_TRANS_COMPLETE_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for trans_complete_int interrupt. + when I2C Master finished STOP command it will produce trans_complete_int interrupt.*/ +#define I2C_TRANS_COMPLETE_INT_RAW (BIT(7)) +#define I2C_TRANS_COMPLETE_INT_RAW_M (BIT(7)) +#define I2C_TRANS_COMPLETE_INT_RAW_V 0x1 +#define I2C_TRANS_COMPLETE_INT_RAW_S 7 +/* I2C_MASTER_TRAN_COMP_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for master_tra_comp_int interrupt. + when I2C Master sends or receives a byte it will produce master_tran_comp_int interrupt.*/ +#define I2C_MASTER_TRAN_COMP_INT_RAW (BIT(6)) +#define I2C_MASTER_TRAN_COMP_INT_RAW_M (BIT(6)) +#define I2C_MASTER_TRAN_COMP_INT_RAW_V 0x1 +#define I2C_MASTER_TRAN_COMP_INT_RAW_S 6 +/* I2C_ARBITRATION_LOST_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for arbitration_lost_int interrupt.when + I2C lost the usage right of I2C BUS it will produce arbitration_lost_int interrupt.*/ +#define I2C_ARBITRATION_LOST_INT_RAW (BIT(5)) +#define I2C_ARBITRATION_LOST_INT_RAW_M (BIT(5)) +#define I2C_ARBITRATION_LOST_INT_RAW_V 0x1 +#define I2C_ARBITRATION_LOST_INT_RAW_S 5 +/* I2C_SLAVE_TRAN_COMP_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for slave_tran_comp_int interrupt. + when I2C Slave detectsthe STOP bit it will produce slave_tran_comp_int interrupt.*/ +#define I2C_SLAVE_TRAN_COMP_INT_RAW (BIT(4)) +#define I2C_SLAVE_TRAN_COMP_INT_RAW_M (BIT(4)) +#define I2C_SLAVE_TRAN_COMP_INT_RAW_V 0x1 +#define I2C_SLAVE_TRAN_COMP_INT_RAW_S 4 +/* I2C_END_DETECT_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for end_detect_int interrupt. when + I2C deals with the END command it will produce end_detect_int interrupt.*/ +#define I2C_END_DETECT_INT_RAW (BIT(3)) +#define I2C_END_DETECT_INT_RAW_M (BIT(3)) +#define I2C_END_DETECT_INT_RAW_V 0x1 +#define I2C_END_DETECT_INT_RAW_S 3 +/* I2C_RXFIFO_OVF_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for receiving data overflow when + use apb fifo access.*/ +#define I2C_RXFIFO_OVF_INT_RAW (BIT(2)) +#define I2C_RXFIFO_OVF_INT_RAW_M (BIT(2)) +#define I2C_RXFIFO_OVF_INT_RAW_V 0x1 +#define I2C_RXFIFO_OVF_INT_RAW_S 2 +/* I2C_TXFIFO_EMPTY_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for txfifo empty when use apb fifo access.*/ +#define I2C_TXFIFO_EMPTY_INT_RAW (BIT(1)) +#define I2C_TXFIFO_EMPTY_INT_RAW_M (BIT(1)) +#define I2C_TXFIFO_EMPTY_INT_RAW_V 0x1 +#define I2C_TXFIFO_EMPTY_INT_RAW_S 1 +/* I2C_RXFIFO_FULL_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The raw interrupt status bit for rxfifo full when use apb fifo access.*/ +#define I2C_RXFIFO_FULL_INT_RAW (BIT(0)) +#define I2C_RXFIFO_FULL_INT_RAW_M (BIT(0)) +#define I2C_RXFIFO_FULL_INT_RAW_V 0x1 +#define I2C_RXFIFO_FULL_INT_RAW_S 0 + +#define I2C_INT_CLR_REG(i) (REG_I2C_BASE(i) + 0x0024) +/* I2C_TX_SEND_EMPTY_INT_CLR : WO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: Set this bit to clear the tx_send_empty_int interrupt.*/ +#define I2C_TX_SEND_EMPTY_INT_CLR (BIT(12)) +#define I2C_TX_SEND_EMPTY_INT_CLR_M (BIT(12)) +#define I2C_TX_SEND_EMPTY_INT_CLR_V 0x1 +#define I2C_TX_SEND_EMPTY_INT_CLR_S 12 +/* I2C_RX_REC_FULL_INT_CLR : WO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rx_rec_full_int interrupt.*/ +#define I2C_RX_REC_FULL_INT_CLR (BIT(11)) +#define I2C_RX_REC_FULL_INT_CLR_M (BIT(11)) +#define I2C_RX_REC_FULL_INT_CLR_V 0x1 +#define I2C_RX_REC_FULL_INT_CLR_S 11 +/* I2C_ACK_ERR_INT_CLR : WO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: Set this bit to clear the ack_err_int interrupt.*/ +#define I2C_ACK_ERR_INT_CLR (BIT(10)) +#define I2C_ACK_ERR_INT_CLR_M (BIT(10)) +#define I2C_ACK_ERR_INT_CLR_V 0x1 +#define I2C_ACK_ERR_INT_CLR_S 10 +/* I2C_TRANS_START_INT_CLR : WO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: Set this bit to clear the trans_start_int interrupt.*/ +#define I2C_TRANS_START_INT_CLR (BIT(9)) +#define I2C_TRANS_START_INT_CLR_M (BIT(9)) +#define I2C_TRANS_START_INT_CLR_V 0x1 +#define I2C_TRANS_START_INT_CLR_S 9 +/* I2C_TIME_OUT_INT_CLR : WO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: Set this bit to clear the time_out_int interrupt.*/ +#define I2C_TIME_OUT_INT_CLR (BIT(8)) +#define I2C_TIME_OUT_INT_CLR_M (BIT(8)) +#define I2C_TIME_OUT_INT_CLR_V 0x1 +#define I2C_TIME_OUT_INT_CLR_S 8 +/* I2C_TRANS_COMPLETE_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: Set this bit to clear the trans_complete_int interrupt.*/ +#define I2C_TRANS_COMPLETE_INT_CLR (BIT(7)) +#define I2C_TRANS_COMPLETE_INT_CLR_M (BIT(7)) +#define I2C_TRANS_COMPLETE_INT_CLR_V 0x1 +#define I2C_TRANS_COMPLETE_INT_CLR_S 7 +/* I2C_MASTER_TRAN_COMP_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to clear the master_tran_comp interrupt.*/ +#define I2C_MASTER_TRAN_COMP_INT_CLR (BIT(6)) +#define I2C_MASTER_TRAN_COMP_INT_CLR_M (BIT(6)) +#define I2C_MASTER_TRAN_COMP_INT_CLR_V 0x1 +#define I2C_MASTER_TRAN_COMP_INT_CLR_S 6 +/* I2C_ARBITRATION_LOST_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: Set this bit to clear the arbitration_lost_int interrupt.*/ +#define I2C_ARBITRATION_LOST_INT_CLR (BIT(5)) +#define I2C_ARBITRATION_LOST_INT_CLR_M (BIT(5)) +#define I2C_ARBITRATION_LOST_INT_CLR_V 0x1 +#define I2C_ARBITRATION_LOST_INT_CLR_S 5 +/* I2C_SLAVE_TRAN_COMP_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to clear the slave_tran_comp_int interrupt.*/ +#define I2C_SLAVE_TRAN_COMP_INT_CLR (BIT(4)) +#define I2C_SLAVE_TRAN_COMP_INT_CLR_M (BIT(4)) +#define I2C_SLAVE_TRAN_COMP_INT_CLR_V 0x1 +#define I2C_SLAVE_TRAN_COMP_INT_CLR_S 4 +/* I2C_END_DETECT_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to clear the end_detect_int interrupt.*/ +#define I2C_END_DETECT_INT_CLR (BIT(3)) +#define I2C_END_DETECT_INT_CLR_M (BIT(3)) +#define I2C_END_DETECT_INT_CLR_V 0x1 +#define I2C_END_DETECT_INT_CLR_S 3 +/* I2C_RXFIFO_OVF_INT_CLR : WO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rxfifo_ovf_int interrupt.*/ +#define I2C_RXFIFO_OVF_INT_CLR (BIT(2)) +#define I2C_RXFIFO_OVF_INT_CLR_M (BIT(2)) +#define I2C_RXFIFO_OVF_INT_CLR_V 0x1 +#define I2C_RXFIFO_OVF_INT_CLR_S 2 +/* I2C_TXFIFO_EMPTY_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: Set this bit to clear the txfifo_empty_int interrupt.*/ +#define I2C_TXFIFO_EMPTY_INT_CLR (BIT(1)) +#define I2C_TXFIFO_EMPTY_INT_CLR_M (BIT(1)) +#define I2C_TXFIFO_EMPTY_INT_CLR_V 0x1 +#define I2C_TXFIFO_EMPTY_INT_CLR_S 1 +/* I2C_RXFIFO_FULL_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rxfifo_full_int interrupt.*/ +#define I2C_RXFIFO_FULL_INT_CLR (BIT(0)) +#define I2C_RXFIFO_FULL_INT_CLR_M (BIT(0)) +#define I2C_RXFIFO_FULL_INT_CLR_V 0x1 +#define I2C_RXFIFO_FULL_INT_CLR_S 0 + +#define I2C_INT_ENA_REG(i) (REG_I2C_BASE(i) + 0x0028) +/* I2C_TX_SEND_EMPTY_INT_ENA : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: The enable bit for tx_send_empty_int interrupt.*/ +#define I2C_TX_SEND_EMPTY_INT_ENA (BIT(12)) +#define I2C_TX_SEND_EMPTY_INT_ENA_M (BIT(12)) +#define I2C_TX_SEND_EMPTY_INT_ENA_V 0x1 +#define I2C_TX_SEND_EMPTY_INT_ENA_S 12 +/* I2C_RX_REC_FULL_INT_ENA : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: The enable bit for rx_rec_full_int interrupt.*/ +#define I2C_RX_REC_FULL_INT_ENA (BIT(11)) +#define I2C_RX_REC_FULL_INT_ENA_M (BIT(11)) +#define I2C_RX_REC_FULL_INT_ENA_V 0x1 +#define I2C_RX_REC_FULL_INT_ENA_S 11 +/* I2C_ACK_ERR_INT_ENA : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: The enable bit for ack_err_int interrupt.*/ +#define I2C_ACK_ERR_INT_ENA (BIT(10)) +#define I2C_ACK_ERR_INT_ENA_M (BIT(10)) +#define I2C_ACK_ERR_INT_ENA_V 0x1 +#define I2C_ACK_ERR_INT_ENA_S 10 +/* I2C_TRANS_START_INT_ENA : R/W ;bitpos:[9] ;default: 1'b0 ; */ +/*description: The enable bit for trans_start_int interrupt.*/ +#define I2C_TRANS_START_INT_ENA (BIT(9)) +#define I2C_TRANS_START_INT_ENA_M (BIT(9)) +#define I2C_TRANS_START_INT_ENA_V 0x1 +#define I2C_TRANS_START_INT_ENA_S 9 +/* I2C_TIME_OUT_INT_ENA : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The enable bit for time_out_int interrupt.*/ +#define I2C_TIME_OUT_INT_ENA (BIT(8)) +#define I2C_TIME_OUT_INT_ENA_M (BIT(8)) +#define I2C_TIME_OUT_INT_ENA_V 0x1 +#define I2C_TIME_OUT_INT_ENA_S 8 +/* I2C_TRANS_COMPLETE_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The enable bit for trans_complete_int interrupt.*/ +#define I2C_TRANS_COMPLETE_INT_ENA (BIT(7)) +#define I2C_TRANS_COMPLETE_INT_ENA_M (BIT(7)) +#define I2C_TRANS_COMPLETE_INT_ENA_V 0x1 +#define I2C_TRANS_COMPLETE_INT_ENA_S 7 +/* I2C_MASTER_TRAN_COMP_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The enable bit for master_tran_comp_int interrupt.*/ +#define I2C_MASTER_TRAN_COMP_INT_ENA (BIT(6)) +#define I2C_MASTER_TRAN_COMP_INT_ENA_M (BIT(6)) +#define I2C_MASTER_TRAN_COMP_INT_ENA_V 0x1 +#define I2C_MASTER_TRAN_COMP_INT_ENA_S 6 +/* I2C_ARBITRATION_LOST_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The enable bit for arbitration_lost_int interrupt.*/ +#define I2C_ARBITRATION_LOST_INT_ENA (BIT(5)) +#define I2C_ARBITRATION_LOST_INT_ENA_M (BIT(5)) +#define I2C_ARBITRATION_LOST_INT_ENA_V 0x1 +#define I2C_ARBITRATION_LOST_INT_ENA_S 5 +/* I2C_SLAVE_TRAN_COMP_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The enable bit for slave_tran_comp_int interrupt.*/ +#define I2C_SLAVE_TRAN_COMP_INT_ENA (BIT(4)) +#define I2C_SLAVE_TRAN_COMP_INT_ENA_M (BIT(4)) +#define I2C_SLAVE_TRAN_COMP_INT_ENA_V 0x1 +#define I2C_SLAVE_TRAN_COMP_INT_ENA_S 4 +/* I2C_END_DETECT_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The enable bit for end_detect_int interrupt.*/ +#define I2C_END_DETECT_INT_ENA (BIT(3)) +#define I2C_END_DETECT_INT_ENA_M (BIT(3)) +#define I2C_END_DETECT_INT_ENA_V 0x1 +#define I2C_END_DETECT_INT_ENA_S 3 +/* I2C_RXFIFO_OVF_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The enable bit for rxfifo_ovf_int interrupt.*/ +#define I2C_RXFIFO_OVF_INT_ENA (BIT(2)) +#define I2C_RXFIFO_OVF_INT_ENA_M (BIT(2)) +#define I2C_RXFIFO_OVF_INT_ENA_V 0x1 +#define I2C_RXFIFO_OVF_INT_ENA_S 2 +/* I2C_TXFIFO_EMPTY_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The enable bit for txfifo_empty_int interrupt.*/ +#define I2C_TXFIFO_EMPTY_INT_ENA (BIT(1)) +#define I2C_TXFIFO_EMPTY_INT_ENA_M (BIT(1)) +#define I2C_TXFIFO_EMPTY_INT_ENA_V 0x1 +#define I2C_TXFIFO_EMPTY_INT_ENA_S 1 +/* I2C_RXFIFO_FULL_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The enable bit for rxfifo_full_int interrupt.*/ +#define I2C_RXFIFO_FULL_INT_ENA (BIT(0)) +#define I2C_RXFIFO_FULL_INT_ENA_M (BIT(0)) +#define I2C_RXFIFO_FULL_INT_ENA_V 0x1 +#define I2C_RXFIFO_FULL_INT_ENA_S 0 + +#define I2C_INT_STATUS_REG(i) (REG_I2C_BASE(i) + 0x002c) +/* I2C_TX_SEND_EMPTY_INT_ST : RO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: The masked interrupt status for tx_send_empty_int interrupt.*/ +#define I2C_TX_SEND_EMPTY_INT_ST (BIT(12)) +#define I2C_TX_SEND_EMPTY_INT_ST_M (BIT(12)) +#define I2C_TX_SEND_EMPTY_INT_ST_V 0x1 +#define I2C_TX_SEND_EMPTY_INT_ST_S 12 +/* I2C_RX_REC_FULL_INT_ST : RO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: The masked interrupt status for rx_rec_full_int interrupt.*/ +#define I2C_RX_REC_FULL_INT_ST (BIT(11)) +#define I2C_RX_REC_FULL_INT_ST_M (BIT(11)) +#define I2C_RX_REC_FULL_INT_ST_V 0x1 +#define I2C_RX_REC_FULL_INT_ST_S 11 +/* I2C_ACK_ERR_INT_ST : RO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: The masked interrupt status for ack_err_int interrupt.*/ +#define I2C_ACK_ERR_INT_ST (BIT(10)) +#define I2C_ACK_ERR_INT_ST_M (BIT(10)) +#define I2C_ACK_ERR_INT_ST_V 0x1 +#define I2C_ACK_ERR_INT_ST_S 10 +/* I2C_TRANS_START_INT_ST : RO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: The masked interrupt status for trans_start_int interrupt.*/ +#define I2C_TRANS_START_INT_ST (BIT(9)) +#define I2C_TRANS_START_INT_ST_M (BIT(9)) +#define I2C_TRANS_START_INT_ST_V 0x1 +#define I2C_TRANS_START_INT_ST_S 9 +/* I2C_TIME_OUT_INT_ST : RO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The masked interrupt status for time_out_int interrupt.*/ +#define I2C_TIME_OUT_INT_ST (BIT(8)) +#define I2C_TIME_OUT_INT_ST_M (BIT(8)) +#define I2C_TIME_OUT_INT_ST_V 0x1 +#define I2C_TIME_OUT_INT_ST_S 8 +/* I2C_TRANS_COMPLETE_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The masked interrupt status for trans_complete_int interrupt.*/ +#define I2C_TRANS_COMPLETE_INT_ST (BIT(7)) +#define I2C_TRANS_COMPLETE_INT_ST_M (BIT(7)) +#define I2C_TRANS_COMPLETE_INT_ST_V 0x1 +#define I2C_TRANS_COMPLETE_INT_ST_S 7 +/* I2C_MASTER_TRAN_COMP_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The masked interrupt status for master_tran_comp_int interrupt.*/ +#define I2C_MASTER_TRAN_COMP_INT_ST (BIT(6)) +#define I2C_MASTER_TRAN_COMP_INT_ST_M (BIT(6)) +#define I2C_MASTER_TRAN_COMP_INT_ST_V 0x1 +#define I2C_MASTER_TRAN_COMP_INT_ST_S 6 +/* I2C_ARBITRATION_LOST_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The masked interrupt status for arbitration_lost_int interrupt.*/ +#define I2C_ARBITRATION_LOST_INT_ST (BIT(5)) +#define I2C_ARBITRATION_LOST_INT_ST_M (BIT(5)) +#define I2C_ARBITRATION_LOST_INT_ST_V 0x1 +#define I2C_ARBITRATION_LOST_INT_ST_S 5 +/* I2C_SLAVE_TRAN_COMP_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The masked interrupt status for slave_tran_comp_int interrupt.*/ +#define I2C_SLAVE_TRAN_COMP_INT_ST (BIT(4)) +#define I2C_SLAVE_TRAN_COMP_INT_ST_M (BIT(4)) +#define I2C_SLAVE_TRAN_COMP_INT_ST_V 0x1 +#define I2C_SLAVE_TRAN_COMP_INT_ST_S 4 +/* I2C_END_DETECT_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The masked interrupt status for end_detect_int interrupt.*/ +#define I2C_END_DETECT_INT_ST (BIT(3)) +#define I2C_END_DETECT_INT_ST_M (BIT(3)) +#define I2C_END_DETECT_INT_ST_V 0x1 +#define I2C_END_DETECT_INT_ST_S 3 +/* I2C_RXFIFO_OVF_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The masked interrupt status for rxfifo_ovf_int interrupt.*/ +#define I2C_RXFIFO_OVF_INT_ST (BIT(2)) +#define I2C_RXFIFO_OVF_INT_ST_M (BIT(2)) +#define I2C_RXFIFO_OVF_INT_ST_V 0x1 +#define I2C_RXFIFO_OVF_INT_ST_S 2 +/* I2C_TXFIFO_EMPTY_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The masked interrupt status for txfifo_empty_int interrupt.*/ +#define I2C_TXFIFO_EMPTY_INT_ST (BIT(1)) +#define I2C_TXFIFO_EMPTY_INT_ST_M (BIT(1)) +#define I2C_TXFIFO_EMPTY_INT_ST_V 0x1 +#define I2C_TXFIFO_EMPTY_INT_ST_S 1 +/* I2C_RXFIFO_FULL_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The masked interrupt status for rxfifo_full_int interrupt.*/ +#define I2C_RXFIFO_FULL_INT_ST (BIT(0)) +#define I2C_RXFIFO_FULL_INT_ST_M (BIT(0)) +#define I2C_RXFIFO_FULL_INT_ST_V 0x1 +#define I2C_RXFIFO_FULL_INT_ST_S 0 + +#define I2C_SDA_HOLD_REG(i) (REG_I2C_BASE(i) + 0x0030) +/* I2C_SDA_HOLD_TIME : R/W ;bitpos:[9:0] ;default: 10'b0 ; */ +/*description: This register is used to configure the clock num I2C used to + hold the data after the negedge of SCL.*/ +#define I2C_SDA_HOLD_TIME 0x000003FF +#define I2C_SDA_HOLD_TIME_M ((I2C_SDA_HOLD_TIME_V)<<(I2C_SDA_HOLD_TIME_S)) +#define I2C_SDA_HOLD_TIME_V 0x3FF +#define I2C_SDA_HOLD_TIME_S 0 + +#define I2C_SDA_SAMPLE_REG(i) (REG_I2C_BASE(i) + 0x0034) +/* I2C_SDA_SAMPLE_TIME : R/W ;bitpos:[9:0] ;default: 10'b0 ; */ +/*description: This register is used to configure the clock num I2C used to + sample data on SDA after the posedge of SCL*/ +#define I2C_SDA_SAMPLE_TIME 0x000003FF +#define I2C_SDA_SAMPLE_TIME_M ((I2C_SDA_SAMPLE_TIME_V)<<(I2C_SDA_SAMPLE_TIME_S)) +#define I2C_SDA_SAMPLE_TIME_V 0x3FF +#define I2C_SDA_SAMPLE_TIME_S 0 + +#define I2C_SCL_HIGH_PERIOD_REG(i) (REG_I2C_BASE(i) + 0x0038) +/* I2C_SCL_HIGH_PERIOD : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This register is used to configure the clock num during SCL is low level.*/ +#define I2C_SCL_HIGH_PERIOD 0x00003FFF +#define I2C_SCL_HIGH_PERIOD_M ((I2C_SCL_HIGH_PERIOD_V)<<(I2C_SCL_HIGH_PERIOD_S)) +#define I2C_SCL_HIGH_PERIOD_V 0x3FFF +#define I2C_SCL_HIGH_PERIOD_S 0 + +#define I2C_SCL_START_HOLD_REG(i) (REG_I2C_BASE(i) + 0x0040) +/* I2C_SCL_START_HOLD_TIME : R/W ;bitpos:[9:0] ;default: 10'b1000 ; */ +/*description: This register is used to configure the clock num between the + negedge of SDA and negedge of SCL for start mark.*/ +#define I2C_SCL_START_HOLD_TIME 0x000003FF +#define I2C_SCL_START_HOLD_TIME_M ((I2C_SCL_START_HOLD_TIME_V)<<(I2C_SCL_START_HOLD_TIME_S)) +#define I2C_SCL_START_HOLD_TIME_V 0x3FF +#define I2C_SCL_START_HOLD_TIME_S 0 + +#define I2C_SCL_RSTART_SETUP_REG(i) (REG_I2C_BASE(i) + 0x0044) +/* I2C_SCL_RSTART_SETUP_TIME : R/W ;bitpos:[9:0] ;default: 10'b1000 ; */ +/*description: This register is used to configure the clock num between the + posedge of SCL and the negedge of SDA for restart mark.*/ +#define I2C_SCL_RSTART_SETUP_TIME 0x000003FF +#define I2C_SCL_RSTART_SETUP_TIME_M ((I2C_SCL_RSTART_SETUP_TIME_V)<<(I2C_SCL_RSTART_SETUP_TIME_S)) +#define I2C_SCL_RSTART_SETUP_TIME_V 0x3FF +#define I2C_SCL_RSTART_SETUP_TIME_S 0 + +#define I2C_SCL_STOP_HOLD_REG(i) (REG_I2C_BASE(i) + 0x0048) +/* I2C_SCL_STOP_HOLD_TIME : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This register is used to configure the clock num after the STOP bit's posedge.*/ +#define I2C_SCL_STOP_HOLD_TIME 0x00003FFF +#define I2C_SCL_STOP_HOLD_TIME_M ((I2C_SCL_STOP_HOLD_TIME_V)<<(I2C_SCL_STOP_HOLD_TIME_S)) +#define I2C_SCL_STOP_HOLD_TIME_V 0x3FFF +#define I2C_SCL_STOP_HOLD_TIME_S 0 + +#define I2C_SCL_STOP_SETUP_REG(i) (REG_I2C_BASE(i) + 0x004C) +/* I2C_SCL_STOP_SETUP_TIME : R/W ;bitpos:[9:0] ;default: 10'b0 ; */ +/*description: This register is used to configure the clock num between the + posedge of SCL and the posedge of SDA.*/ +#define I2C_SCL_STOP_SETUP_TIME 0x000003FF +#define I2C_SCL_STOP_SETUP_TIME_M ((I2C_SCL_STOP_SETUP_TIME_V)<<(I2C_SCL_STOP_SETUP_TIME_S)) +#define I2C_SCL_STOP_SETUP_TIME_V 0x3FF +#define I2C_SCL_STOP_SETUP_TIME_S 0 + +#define I2C_SCL_FILTER_CFG_REG(i) (REG_I2C_BASE(i) + 0x0050) +/* I2C_SCL_FILTER_EN : R/W ;bitpos:[3] ;default: 1'b1 ; */ +/*description: This is the filter enable bit for SCL.*/ +#define I2C_SCL_FILTER_EN (BIT(3)) +#define I2C_SCL_FILTER_EN_M (BIT(3)) +#define I2C_SCL_FILTER_EN_V 0x1 +#define I2C_SCL_FILTER_EN_S 3 +/* I2C_SCL_FILTER_THRES : R/W ;bitpos:[2:0] ;default: 3'b0 ; */ +/*description: When input SCL's pulse width is smaller than this register value + I2C ignores this pulse.*/ +#define I2C_SCL_FILTER_THRES 0x00000007 +#define I2C_SCL_FILTER_THRES_M ((I2C_SCL_FILTER_THRES_V)<<(I2C_SCL_FILTER_THRES_S)) +#define I2C_SCL_FILTER_THRES_V 0x7 +#define I2C_SCL_FILTER_THRES_S 0 + +#define I2C_SDA_FILTER_CFG_REG(i) (REG_I2C_BASE(i) + 0x0054) +/* I2C_SDA_FILTER_EN : R/W ;bitpos:[3] ;default: 1'b1 ; */ +/*description: This is the filter enable bit for SDA.*/ +#define I2C_SDA_FILTER_EN (BIT(3)) +#define I2C_SDA_FILTER_EN_M (BIT(3)) +#define I2C_SDA_FILTER_EN_V 0x1 +#define I2C_SDA_FILTER_EN_S 3 +/* I2C_SDA_FILTER_THRES : R/W ;bitpos:[2:0] ;default: 3'b0 ; */ +/*description: When input SCL's pulse width is smaller than this register value + I2C ignores this pulse.*/ +#define I2C_SDA_FILTER_THRES 0x00000007 +#define I2C_SDA_FILTER_THRES_M ((I2C_SDA_FILTER_THRES_V)<<(I2C_SDA_FILTER_THRES_S)) +#define I2C_SDA_FILTER_THRES_V 0x7 +#define I2C_SDA_FILTER_THRES_S 0 + +#define I2C_COMD0_REG(i) (REG_I2C_BASE(i) + 0x0058) +/* I2C_COMMAND0_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command0 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND0_DONE (BIT(31)) +#define I2C_COMMAND0_DONE_M (BIT(31)) +#define I2C_COMMAND0_DONE_V 0x1 +#define I2C_COMMAND0_DONE_S 31 +/* I2C_COMMAND0 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command0. It consists of three part. op_code + is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND0 0x00003FFF +#define I2C_COMMAND0_M ((I2C_COMMAND0_V)<<(I2C_COMMAND0_S)) +#define I2C_COMMAND0_V 0x3FFF +#define I2C_COMMAND0_S 0 + +#define I2C_COMD1_REG(i) (REG_I2C_BASE(i) + 0x005C) +/* I2C_COMMAND1_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command1 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND1_DONE (BIT(31)) +#define I2C_COMMAND1_DONE_M (BIT(31)) +#define I2C_COMMAND1_DONE_V 0x1 +#define I2C_COMMAND1_DONE_S 31 +/* I2C_COMMAND1 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command1. It consists of three part. op_code + is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND1 0x00003FFF +#define I2C_COMMAND1_M ((I2C_COMMAND1_V)<<(I2C_COMMAND1_S)) +#define I2C_COMMAND1_V 0x3FFF +#define I2C_COMMAND1_S 0 + +#define I2C_COMD2_REG(i) (REG_I2C_BASE(i) + 0x0060) +/* I2C_COMMAND2_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command2 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND2_DONE (BIT(31)) +#define I2C_COMMAND2_DONE_M (BIT(31)) +#define I2C_COMMAND2_DONE_V 0x1 +#define I2C_COMMAND2_DONE_S 31 +/* I2C_COMMAND2 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command2. It consists of three part. op_code + is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND2 0x00003FFF +#define I2C_COMMAND2_M ((I2C_COMMAND2_V)<<(I2C_COMMAND2_S)) +#define I2C_COMMAND2_V 0x3FFF +#define I2C_COMMAND2_S 0 + +#define I2C_COMD3_REG(i) (REG_I2C_BASE(i) + 0x0064) +/* I2C_COMMAND3_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command3 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND3_DONE (BIT(31)) +#define I2C_COMMAND3_DONE_M (BIT(31)) +#define I2C_COMMAND3_DONE_V 0x1 +#define I2C_COMMAND3_DONE_S 31 +/* I2C_COMMAND3 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command3. It consists of three part. op_code + is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND3 0x00003FFF +#define I2C_COMMAND3_M ((I2C_COMMAND3_V)<<(I2C_COMMAND3_S)) +#define I2C_COMMAND3_V 0x3FFF +#define I2C_COMMAND3_S 0 + +#define I2C_COMD4_REG(i) (REG_I2C_BASE(i) + 0x0068) +/* I2C_COMMAND4_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command4 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND4_DONE (BIT(31)) +#define I2C_COMMAND4_DONE_M (BIT(31)) +#define I2C_COMMAND4_DONE_V 0x1 +#define I2C_COMMAND4_DONE_S 31 +/* I2C_COMMAND4 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command4. It consists of three part. op_code + is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND4 0x00003FFF +#define I2C_COMMAND4_M ((I2C_COMMAND4_V)<<(I2C_COMMAND4_S)) +#define I2C_COMMAND4_V 0x3FFF +#define I2C_COMMAND4_S 0 + +#define I2C_COMD5_REG(i) (REG_I2C_BASE(i) + 0x006C) +/* I2C_COMMAND5_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command5 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND5_DONE (BIT(31)) +#define I2C_COMMAND5_DONE_M (BIT(31)) +#define I2C_COMMAND5_DONE_V 0x1 +#define I2C_COMMAND5_DONE_S 31 +/* I2C_COMMAND5 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command5. It consists of three part. op_code + is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND5 0x00003FFF +#define I2C_COMMAND5_M ((I2C_COMMAND5_V)<<(I2C_COMMAND5_S)) +#define I2C_COMMAND5_V 0x3FFF +#define I2C_COMMAND5_S 0 + +#define I2C_COMD6_REG(i) (REG_I2C_BASE(i) + 0x0070) +/* I2C_COMMAND6_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command6 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND6_DONE (BIT(31)) +#define I2C_COMMAND6_DONE_M (BIT(31)) +#define I2C_COMMAND6_DONE_V 0x1 +#define I2C_COMMAND6_DONE_S 31 +/* I2C_COMMAND6 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command6. It consists of three part. op_code + is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND6 0x00003FFF +#define I2C_COMMAND6_M ((I2C_COMMAND6_V)<<(I2C_COMMAND6_S)) +#define I2C_COMMAND6_V 0x3FFF +#define I2C_COMMAND6_S 0 + +#define I2C_COMD7_REG(i) (REG_I2C_BASE(i) + 0x0074) +/* I2C_COMMAND7_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command7 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND7_DONE (BIT(31)) +#define I2C_COMMAND7_DONE_M (BIT(31)) +#define I2C_COMMAND7_DONE_V 0x1 +#define I2C_COMMAND7_DONE_S 31 +/* I2C_COMMAND7 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command7. It consists of three part. op_code + is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND7 0x00003FFF +#define I2C_COMMAND7_M ((I2C_COMMAND7_V)<<(I2C_COMMAND7_S)) +#define I2C_COMMAND7_V 0x3FFF +#define I2C_COMMAND7_S 0 + +#define I2C_COMD8_REG(i) (REG_I2C_BASE(i) + 0x0078) +/* I2C_COMMAND8_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command8 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND8_DONE (BIT(31)) +#define I2C_COMMAND8_DONE_M (BIT(31)) +#define I2C_COMMAND8_DONE_V 0x1 +#define I2C_COMMAND8_DONE_S 31 +/* I2C_COMMAND8 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command8. It consists of three part. op_code + is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND8 0x00003FFF +#define I2C_COMMAND8_M ((I2C_COMMAND8_V)<<(I2C_COMMAND8_S)) +#define I2C_COMMAND8_V 0x3FFF +#define I2C_COMMAND8_S 0 + +#define I2C_COMD9_REG(i) (REG_I2C_BASE(i) + 0x007C) +/* I2C_COMMAND9_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command9 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND9_DONE (BIT(31)) +#define I2C_COMMAND9_DONE_M (BIT(31)) +#define I2C_COMMAND9_DONE_V 0x1 +#define I2C_COMMAND9_DONE_S 31 +/* I2C_COMMAND9 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command9. It consists of three part. op_code + is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND9 0x00003FFF +#define I2C_COMMAND9_M ((I2C_COMMAND9_V)<<(I2C_COMMAND9_S)) +#define I2C_COMMAND9_V 0x3FFF +#define I2C_COMMAND9_S 0 + +#define I2C_COMD10_REG(i) (REG_I2C_BASE(i) + 0x0080) +/* I2C_COMMAND10_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command10 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND10_DONE (BIT(31)) +#define I2C_COMMAND10_DONE_M (BIT(31)) +#define I2C_COMMAND10_DONE_V 0x1 +#define I2C_COMMAND10_DONE_S 31 +/* I2C_COMMAND10 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command10. It consists of three part. + op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND10 0x00003FFF +#define I2C_COMMAND10_M ((I2C_COMMAND10_V)<<(I2C_COMMAND10_S)) +#define I2C_COMMAND10_V 0x3FFF +#define I2C_COMMAND10_S 0 + +#define I2C_COMD11_REG(i) (REG_I2C_BASE(i) + 0x0084) +/* I2C_COMMAND11_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command11 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND11_DONE (BIT(31)) +#define I2C_COMMAND11_DONE_M (BIT(31)) +#define I2C_COMMAND11_DONE_V 0x1 +#define I2C_COMMAND11_DONE_S 31 +/* I2C_COMMAND11 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command11. It consists of three part. + op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND11 0x00003FFF +#define I2C_COMMAND11_M ((I2C_COMMAND11_V)<<(I2C_COMMAND11_S)) +#define I2C_COMMAND11_V 0x3FFF +#define I2C_COMMAND11_S 0 + +#define I2C_COMD12_REG(i) (REG_I2C_BASE(i) + 0x0088) +/* I2C_COMMAND12_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command12 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND12_DONE (BIT(31)) +#define I2C_COMMAND12_DONE_M (BIT(31)) +#define I2C_COMMAND12_DONE_V 0x1 +#define I2C_COMMAND12_DONE_S 31 +/* I2C_COMMAND12 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command12. It consists of three part. + op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND12 0x00003FFF +#define I2C_COMMAND12_M ((I2C_COMMAND12_V)<<(I2C_COMMAND12_S)) +#define I2C_COMMAND12_V 0x3FFF +#define I2C_COMMAND12_S 0 + +#define I2C_COMD13_REG(i) (REG_I2C_BASE(i) + 0x008C) +/* I2C_COMMAND13_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command13 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND13_DONE (BIT(31)) +#define I2C_COMMAND13_DONE_M (BIT(31)) +#define I2C_COMMAND13_DONE_V 0x1 +#define I2C_COMMAND13_DONE_S 31 +/* I2C_COMMAND13 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command13. It consists of three part. + op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND13 0x00003FFF +#define I2C_COMMAND13_M ((I2C_COMMAND13_V)<<(I2C_COMMAND13_S)) +#define I2C_COMMAND13_V 0x3FFF +#define I2C_COMMAND13_S 0 + +#define I2C_COMD14_REG(i) (REG_I2C_BASE(i) + 0x0090) +/* I2C_COMMAND14_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command14 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND14_DONE (BIT(31)) +#define I2C_COMMAND14_DONE_M (BIT(31)) +#define I2C_COMMAND14_DONE_V 0x1 +#define I2C_COMMAND14_DONE_S 31 +/* I2C_COMMAND14 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command14. It consists of three part. + op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND14 0x00003FFF +#define I2C_COMMAND14_M ((I2C_COMMAND14_V)<<(I2C_COMMAND14_S)) +#define I2C_COMMAND14_V 0x3FFF +#define I2C_COMMAND14_S 0 + +#define I2C_COMD15_REG(i) (REG_I2C_BASE(i) + 0x0094) +/* I2C_COMMAND15_DONE : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When command15 is done in I2C Master mode this bit changes to high level.*/ +#define I2C_COMMAND15_DONE (BIT(31)) +#define I2C_COMMAND15_DONE_M (BIT(31)) +#define I2C_COMMAND15_DONE_V 0x1 +#define I2C_COMMAND15_DONE_S 31 +/* I2C_COMMAND15 : R/W ;bitpos:[13:0] ;default: 14'b0 ; */ +/*description: This is the content of command15. It consists of three part. + op_code is the command 0: RSTART 1: WRITE 2: READ 3: STOP . 4:END. Byte_num represent the number of data need to be send or data need to be received. ack_check_en ack_exp and ack value are used to control the ack bit.*/ +#define I2C_COMMAND15 0x00003FFF +#define I2C_COMMAND15_M ((I2C_COMMAND15_V)<<(I2C_COMMAND15_S)) +#define I2C_COMMAND15_V 0x3FFF +#define I2C_COMMAND15_S 0 + +#define I2C_DATE_REG(i) (REG_I2C_BASE(i) + 0x00F8) +/* I2C_DATE : R/W ;bitpos:[31:0] ;default: 32'h16042000 ; */ +/*description: */ +#define I2C_DATE 0xFFFFFFFF +#define I2C_DATE_M ((I2C_DATE_V)<<(I2C_DATE_S)) +#define I2C_DATE_V 0xFFFFFFFF +#define I2C_DATE_S 0 + +#define I2C_FIFO_START_ADDR_REG(i) (REG_I2C_BASE(i) + 0x0100) + + + + +#endif /*_SOC_I2C_REG_H_ */ + + diff --git a/tools/sdk/include/esp32/soc/i2c_struct.h b/tools/sdk/include/soc/soc/i2c_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/i2c_struct.h rename to tools/sdk/include/soc/soc/i2c_struct.h diff --git a/tools/sdk/include/esp32/soc/i2s_reg.h b/tools/sdk/include/soc/soc/i2s_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/i2s_reg.h rename to tools/sdk/include/soc/soc/i2s_reg.h diff --git a/tools/sdk/include/esp32/soc/i2s_struct.h b/tools/sdk/include/soc/soc/i2s_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/i2s_struct.h rename to tools/sdk/include/soc/soc/i2s_struct.h diff --git a/tools/sdk/include/esp32/soc/io_mux_reg.h b/tools/sdk/include/soc/soc/io_mux_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/io_mux_reg.h rename to tools/sdk/include/soc/soc/io_mux_reg.h diff --git a/tools/sdk/include/esp32/soc/ledc_reg.h b/tools/sdk/include/soc/soc/ledc_reg.h similarity index 98% rename from tools/sdk/include/esp32/soc/ledc_reg.h rename to tools/sdk/include/soc/soc/ledc_reg.h index 1137e3da..6d6abf8b 100644 --- a/tools/sdk/include/esp32/soc/ledc_reg.h +++ b/tools/sdk/include/soc/soc/ledc_reg.h @@ -1,2423 +1,2423 @@ -// 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_LEDC_REG_H_ -#define _SOC_LEDC_REG_H_ - - -#include "soc.h" -#define LEDC_HSCH0_CONF0_REG (DR_REG_LEDC_BASE + 0x0000) -/* LEDC_CLK_EN : R/W ;bitpos:[31] ;default: 1'h0 ; */ -/*description: This bit is clock gating control signal. when software config - LED_PWM internal registers it controls the register clock.*/ -#define LEDC_CLK_EN (BIT(31)) -#define LEDC_CLK_EN_M (BIT(31)) -#define LEDC_CLK_EN_V 0x1 -#define LEDC_CLK_EN_S 31 -/* LEDC_IDLE_LV_HSCH0 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when high speed channel0 is off.*/ -#define LEDC_IDLE_LV_HSCH0 (BIT(3)) -#define LEDC_IDLE_LV_HSCH0_M (BIT(3)) -#define LEDC_IDLE_LV_HSCH0_V 0x1 -#define LEDC_IDLE_LV_HSCH0_S 3 -/* LEDC_SIG_OUT_EN_HSCH0 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for high speed channel0*/ -#define LEDC_SIG_OUT_EN_HSCH0 (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH0_M (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH0_V 0x1 -#define LEDC_SIG_OUT_EN_HSCH0_S 2 -/* LEDC_TIMER_SEL_HSCH0 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four high speed timers the two bits are used to select - one of them for high speed channel0. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ -#define LEDC_TIMER_SEL_HSCH0 0x00000003 -#define LEDC_TIMER_SEL_HSCH0_M ((LEDC_TIMER_SEL_HSCH0_V)<<(LEDC_TIMER_SEL_HSCH0_S)) -#define LEDC_TIMER_SEL_HSCH0_V 0x3 -#define LEDC_TIMER_SEL_HSCH0_S 0 - -#define LEDC_HSCH0_HPOINT_REG (DR_REG_LEDC_BASE + 0x0004) -/* LEDC_HPOINT_HSCH0 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when htimerx(x=[0 3]) selected - by high speed channel0 has reached reg_hpoint_hsch0[19:0]*/ -#define LEDC_HPOINT_HSCH0 0x000FFFFF -#define LEDC_HPOINT_HSCH0_M ((LEDC_HPOINT_HSCH0_V)<<(LEDC_HPOINT_HSCH0_S)) -#define LEDC_HPOINT_HSCH0_V 0xFFFFF -#define LEDC_HPOINT_HSCH0_S 0 - -#define LEDC_HSCH0_DUTY_REG (DR_REG_LEDC_BASE + 0x0008) -/* LEDC_DUTY_HSCH0 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When hstimerx(x=[0 - 3]) choosed by high speed channel0 has reached reg_lpoint_hsch0 the output signal changes to low. reg_lpoint_hsch0=(reg_hpoint_hsch0[19:0]+reg_duty_hsch0[24:4]) (1) reg_lpoint_hsch0=(reg_hpoint_hsch0[19:0]+reg_duty_hsch0[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_HSCH0 0x01FFFFFF -#define LEDC_DUTY_HSCH0_M ((LEDC_DUTY_HSCH0_V)<<(LEDC_DUTY_HSCH0_S)) -#define LEDC_DUTY_HSCH0_V 0x1FFFFFF -#define LEDC_DUTY_HSCH0_S 0 - -#define LEDC_HSCH0_CONF1_REG (DR_REG_LEDC_BASE + 0x000C) -/* LEDC_DUTY_START_HSCH0 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch0 reg_duty_cycle_hsch0 and reg_duty_scale_hsch0 - has been configured. these register won't take effect until set reg_duty_start_hsch0. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_HSCH0 (BIT(31)) -#define LEDC_DUTY_START_HSCH0_M (BIT(31)) -#define LEDC_DUTY_START_HSCH0_V 0x1 -#define LEDC_DUTY_START_HSCH0_S 31 -/* LEDC_DUTY_INC_HSCH0 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for high speed channel0.*/ -#define LEDC_DUTY_INC_HSCH0 (BIT(30)) -#define LEDC_DUTY_INC_HSCH0_M (BIT(30)) -#define LEDC_DUTY_INC_HSCH0_V 0x1 -#define LEDC_DUTY_INC_HSCH0_S 30 -/* LEDC_DUTY_NUM_HSCH0 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for high speed channel0.*/ -#define LEDC_DUTY_NUM_HSCH0 0x000003FF -#define LEDC_DUTY_NUM_HSCH0_M ((LEDC_DUTY_NUM_HSCH0_V)<<(LEDC_DUTY_NUM_HSCH0_S)) -#define LEDC_DUTY_NUM_HSCH0_V 0x3FF -#define LEDC_DUTY_NUM_HSCH0_S 20 -/* LEDC_DUTY_CYCLE_HSCH0 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_hsch0 cycles for high speed channel0.*/ -#define LEDC_DUTY_CYCLE_HSCH0 0x000003FF -#define LEDC_DUTY_CYCLE_HSCH0_M ((LEDC_DUTY_CYCLE_HSCH0_V)<<(LEDC_DUTY_CYCLE_HSCH0_S)) -#define LEDC_DUTY_CYCLE_HSCH0_V 0x3FF -#define LEDC_DUTY_CYCLE_HSCH0_S 10 -/* LEDC_DUTY_SCALE_HSCH0 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - high speed channel0.*/ -#define LEDC_DUTY_SCALE_HSCH0 0x000003FF -#define LEDC_DUTY_SCALE_HSCH0_M ((LEDC_DUTY_SCALE_HSCH0_V)<<(LEDC_DUTY_SCALE_HSCH0_S)) -#define LEDC_DUTY_SCALE_HSCH0_V 0x3FF -#define LEDC_DUTY_SCALE_HSCH0_S 0 - -#define LEDC_HSCH0_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0010) -/* LEDC_DUTY_HSCH0 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for high speed channel0.*/ -#define LEDC_DUTY_HSCH0 0x01FFFFFF -#define LEDC_DUTY_HSCH0_M ((LEDC_DUTY_HSCH0_V)<<(LEDC_DUTY_HSCH0_S)) -#define LEDC_DUTY_HSCH0_V 0x1FFFFFF -#define LEDC_DUTY_HSCH0_S 0 - -#define LEDC_HSCH1_CONF0_REG (DR_REG_LEDC_BASE + 0x0014) -/* LEDC_IDLE_LV_HSCH1 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when high speed channel1 is off.*/ -#define LEDC_IDLE_LV_HSCH1 (BIT(3)) -#define LEDC_IDLE_LV_HSCH1_M (BIT(3)) -#define LEDC_IDLE_LV_HSCH1_V 0x1 -#define LEDC_IDLE_LV_HSCH1_S 3 -/* LEDC_SIG_OUT_EN_HSCH1 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for high speed channel1*/ -#define LEDC_SIG_OUT_EN_HSCH1 (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH1_M (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH1_V 0x1 -#define LEDC_SIG_OUT_EN_HSCH1_S 2 -/* LEDC_TIMER_SEL_HSCH1 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four high speed timers the two bits are used to select - one of them for high speed channel1. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ -#define LEDC_TIMER_SEL_HSCH1 0x00000003 -#define LEDC_TIMER_SEL_HSCH1_M ((LEDC_TIMER_SEL_HSCH1_V)<<(LEDC_TIMER_SEL_HSCH1_S)) -#define LEDC_TIMER_SEL_HSCH1_V 0x3 -#define LEDC_TIMER_SEL_HSCH1_S 0 - -#define LEDC_HSCH1_HPOINT_REG (DR_REG_LEDC_BASE + 0x0018) -/* LEDC_HPOINT_HSCH1 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when htimerx(x=[0 3]) selected - by high speed channel1 has reached reg_hpoint_hsch1[19:0]*/ -#define LEDC_HPOINT_HSCH1 0x000FFFFF -#define LEDC_HPOINT_HSCH1_M ((LEDC_HPOINT_HSCH1_V)<<(LEDC_HPOINT_HSCH1_S)) -#define LEDC_HPOINT_HSCH1_V 0xFFFFF -#define LEDC_HPOINT_HSCH1_S 0 - -#define LEDC_HSCH1_DUTY_REG (DR_REG_LEDC_BASE + 0x001C) -/* LEDC_DUTY_HSCH1 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When hstimerx(x=[0 - 3]) choosed by high speed channel1 has reached reg_lpoint_hsch1 the output signal changes to low. reg_lpoint_hsch1=(reg_hpoint_hsch1[19:0]+reg_duty_hsch1[24:4]) (1) reg_lpoint_hsch1=(reg_hpoint_hsch1[19:0]+reg_duty_hsch1[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_HSCH1 0x01FFFFFF -#define LEDC_DUTY_HSCH1_M ((LEDC_DUTY_HSCH1_V)<<(LEDC_DUTY_HSCH1_S)) -#define LEDC_DUTY_HSCH1_V 0x1FFFFFF -#define LEDC_DUTY_HSCH1_S 0 - -#define LEDC_HSCH1_CONF1_REG (DR_REG_LEDC_BASE + 0x0020) -/* LEDC_DUTY_START_HSCH1 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 - has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_HSCH1 (BIT(31)) -#define LEDC_DUTY_START_HSCH1_M (BIT(31)) -#define LEDC_DUTY_START_HSCH1_V 0x1 -#define LEDC_DUTY_START_HSCH1_S 31 -/* LEDC_DUTY_INC_HSCH1 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for high speed channel1.*/ -#define LEDC_DUTY_INC_HSCH1 (BIT(30)) -#define LEDC_DUTY_INC_HSCH1_M (BIT(30)) -#define LEDC_DUTY_INC_HSCH1_V 0x1 -#define LEDC_DUTY_INC_HSCH1_S 30 -/* LEDC_DUTY_NUM_HSCH1 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for high speed channel1.*/ -#define LEDC_DUTY_NUM_HSCH1 0x000003FF -#define LEDC_DUTY_NUM_HSCH1_M ((LEDC_DUTY_NUM_HSCH1_V)<<(LEDC_DUTY_NUM_HSCH1_S)) -#define LEDC_DUTY_NUM_HSCH1_V 0x3FF -#define LEDC_DUTY_NUM_HSCH1_S 20 -/* LEDC_DUTY_CYCLE_HSCH1 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_hsch1 cycles for high speed channel1.*/ -#define LEDC_DUTY_CYCLE_HSCH1 0x000003FF -#define LEDC_DUTY_CYCLE_HSCH1_M ((LEDC_DUTY_CYCLE_HSCH1_V)<<(LEDC_DUTY_CYCLE_HSCH1_S)) -#define LEDC_DUTY_CYCLE_HSCH1_V 0x3FF -#define LEDC_DUTY_CYCLE_HSCH1_S 10 -/* LEDC_DUTY_SCALE_HSCH1 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - high speed channel1.*/ -#define LEDC_DUTY_SCALE_HSCH1 0x000003FF -#define LEDC_DUTY_SCALE_HSCH1_M ((LEDC_DUTY_SCALE_HSCH1_V)<<(LEDC_DUTY_SCALE_HSCH1_S)) -#define LEDC_DUTY_SCALE_HSCH1_V 0x3FF -#define LEDC_DUTY_SCALE_HSCH1_S 0 - -#define LEDC_HSCH1_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0024) -/* LEDC_DUTY_HSCH1 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for high speed channel1.*/ -#define LEDC_DUTY_HSCH1 0x01FFFFFF -#define LEDC_DUTY_HSCH1_M ((LEDC_DUTY_HSCH1_V)<<(LEDC_DUTY_HSCH1_S)) -#define LEDC_DUTY_HSCH1_V 0x1FFFFFF -#define LEDC_DUTY_HSCH1_S 0 - -#define LEDC_HSCH2_CONF0_REG (DR_REG_LEDC_BASE + 0x0028) -/* LEDC_IDLE_LV_HSCH2 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when high speed channel2 is off.*/ -#define LEDC_IDLE_LV_HSCH2 (BIT(3)) -#define LEDC_IDLE_LV_HSCH2_M (BIT(3)) -#define LEDC_IDLE_LV_HSCH2_V 0x1 -#define LEDC_IDLE_LV_HSCH2_S 3 -/* LEDC_SIG_OUT_EN_HSCH2 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for high speed channel2*/ -#define LEDC_SIG_OUT_EN_HSCH2 (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH2_M (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH2_V 0x1 -#define LEDC_SIG_OUT_EN_HSCH2_S 2 -/* LEDC_TIMER_SEL_HSCH2 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four high speed timers the two bits are used to select - one of them for high speed channel2. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ -#define LEDC_TIMER_SEL_HSCH2 0x00000003 -#define LEDC_TIMER_SEL_HSCH2_M ((LEDC_TIMER_SEL_HSCH2_V)<<(LEDC_TIMER_SEL_HSCH2_S)) -#define LEDC_TIMER_SEL_HSCH2_V 0x3 -#define LEDC_TIMER_SEL_HSCH2_S 0 - -#define LEDC_HSCH2_HPOINT_REG (DR_REG_LEDC_BASE + 0x002C) -/* LEDC_HPOINT_HSCH2 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when htimerx(x=[0 3]) selected - by high speed channel2 has reached reg_hpoint_hsch2[19:0]*/ -#define LEDC_HPOINT_HSCH2 0x000FFFFF -#define LEDC_HPOINT_HSCH2_M ((LEDC_HPOINT_HSCH2_V)<<(LEDC_HPOINT_HSCH2_S)) -#define LEDC_HPOINT_HSCH2_V 0xFFFFF -#define LEDC_HPOINT_HSCH2_S 0 - -#define LEDC_HSCH2_DUTY_REG (DR_REG_LEDC_BASE + 0x0030) -/* LEDC_DUTY_HSCH2 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When hstimerx(x=[0 - 3]) choosed by high speed channel2 has reached reg_lpoint_hsch2 the output signal changes to low. reg_lpoint_hsch2=(reg_hpoint_hsch2[19:0]+reg_duty_hsch2[24:4]) (1) reg_lpoint_hsch2=(reg_hpoint_hsch2[19:0]+reg_duty_hsch2[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_HSCH2 0x01FFFFFF -#define LEDC_DUTY_HSCH2_M ((LEDC_DUTY_HSCH2_V)<<(LEDC_DUTY_HSCH2_S)) -#define LEDC_DUTY_HSCH2_V 0x1FFFFFF -#define LEDC_DUTY_HSCH2_S 0 - -#define LEDC_HSCH2_CONF1_REG (DR_REG_LEDC_BASE + 0x0034) -/* LEDC_DUTY_START_HSCH2 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch2 reg_duty_cycle_hsch2 and reg_duty_scale_hsch2 - has been configured. these register won't take effect until set reg_duty_start_hsch2. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_HSCH2 (BIT(31)) -#define LEDC_DUTY_START_HSCH2_M (BIT(31)) -#define LEDC_DUTY_START_HSCH2_V 0x1 -#define LEDC_DUTY_START_HSCH2_S 31 -/* LEDC_DUTY_INC_HSCH2 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for high speed channel2.*/ -#define LEDC_DUTY_INC_HSCH2 (BIT(30)) -#define LEDC_DUTY_INC_HSCH2_M (BIT(30)) -#define LEDC_DUTY_INC_HSCH2_V 0x1 -#define LEDC_DUTY_INC_HSCH2_S 30 -/* LEDC_DUTY_NUM_HSCH2 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for high speed channel2.*/ -#define LEDC_DUTY_NUM_HSCH2 0x000003FF -#define LEDC_DUTY_NUM_HSCH2_M ((LEDC_DUTY_NUM_HSCH2_V)<<(LEDC_DUTY_NUM_HSCH2_S)) -#define LEDC_DUTY_NUM_HSCH2_V 0x3FF -#define LEDC_DUTY_NUM_HSCH2_S 20 -/* LEDC_DUTY_CYCLE_HSCH2 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_hsch2 cycles for high speed channel2.*/ -#define LEDC_DUTY_CYCLE_HSCH2 0x000003FF -#define LEDC_DUTY_CYCLE_HSCH2_M ((LEDC_DUTY_CYCLE_HSCH2_V)<<(LEDC_DUTY_CYCLE_HSCH2_S)) -#define LEDC_DUTY_CYCLE_HSCH2_V 0x3FF -#define LEDC_DUTY_CYCLE_HSCH2_S 10 -/* LEDC_DUTY_SCALE_HSCH2 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - high speed channel2.*/ -#define LEDC_DUTY_SCALE_HSCH2 0x000003FF -#define LEDC_DUTY_SCALE_HSCH2_M ((LEDC_DUTY_SCALE_HSCH2_V)<<(LEDC_DUTY_SCALE_HSCH2_S)) -#define LEDC_DUTY_SCALE_HSCH2_V 0x3FF -#define LEDC_DUTY_SCALE_HSCH2_S 0 - -#define LEDC_HSCH2_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0038) -/* LEDC_DUTY_HSCH2 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for high speed channel2.*/ -#define LEDC_DUTY_HSCH2 0x01FFFFFF -#define LEDC_DUTY_HSCH2_M ((LEDC_DUTY_HSCH2_V)<<(LEDC_DUTY_HSCH2_S)) -#define LEDC_DUTY_HSCH2_V 0x1FFFFFF -#define LEDC_DUTY_HSCH2_S 0 - -#define LEDC_HSCH3_CONF0_REG (DR_REG_LEDC_BASE + 0x003C) -/* LEDC_IDLE_LV_HSCH3 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when high speed channel3 is off.*/ -#define LEDC_IDLE_LV_HSCH3 (BIT(3)) -#define LEDC_IDLE_LV_HSCH3_M (BIT(3)) -#define LEDC_IDLE_LV_HSCH3_V 0x1 -#define LEDC_IDLE_LV_HSCH3_S 3 -/* LEDC_SIG_OUT_EN_HSCH3 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for high speed channel3*/ -#define LEDC_SIG_OUT_EN_HSCH3 (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH3_M (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH3_V 0x1 -#define LEDC_SIG_OUT_EN_HSCH3_S 2 -/* LEDC_TIMER_SEL_HSCH3 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four high speed timers the two bits are used to select - one of them for high speed channel3. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ -#define LEDC_TIMER_SEL_HSCH3 0x00000003 -#define LEDC_TIMER_SEL_HSCH3_M ((LEDC_TIMER_SEL_HSCH3_V)<<(LEDC_TIMER_SEL_HSCH3_S)) -#define LEDC_TIMER_SEL_HSCH3_V 0x3 -#define LEDC_TIMER_SEL_HSCH3_S 0 - -#define LEDC_HSCH3_HPOINT_REG (DR_REG_LEDC_BASE + 0x0040) -/* LEDC_HPOINT_HSCH3 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when htimerx(x=[0 3]) selected - by high speed channel3 has reached reg_hpoint_hsch3[19:0]*/ -#define LEDC_HPOINT_HSCH3 0x000FFFFF -#define LEDC_HPOINT_HSCH3_M ((LEDC_HPOINT_HSCH3_V)<<(LEDC_HPOINT_HSCH3_S)) -#define LEDC_HPOINT_HSCH3_V 0xFFFFF -#define LEDC_HPOINT_HSCH3_S 0 - -#define LEDC_HSCH3_DUTY_REG (DR_REG_LEDC_BASE + 0x0044) -/* LEDC_DUTY_HSCH3 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When hstimerx(x=[0 - 3]) choosed by high speed channel3 has reached reg_lpoint_hsch3 the output signal changes to low. reg_lpoint_hsch3=(reg_hpoint_hsch3[19:0]+reg_duty_hsch3[24:4]) (1) reg_lpoint_hsch3=(reg_hpoint_hsch3[19:0]+reg_duty_hsch3[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_HSCH3 0x01FFFFFF -#define LEDC_DUTY_HSCH3_M ((LEDC_DUTY_HSCH3_V)<<(LEDC_DUTY_HSCH3_S)) -#define LEDC_DUTY_HSCH3_V 0x1FFFFFF -#define LEDC_DUTY_HSCH3_S 0 - -#define LEDC_HSCH3_CONF1_REG (DR_REG_LEDC_BASE + 0x0048) -/* LEDC_DUTY_START_HSCH3 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch3 reg_duty_cycle_hsch3 and reg_duty_scale_hsch3 - has been configured. these register won't take effect until set reg_duty_start_hsch3. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_HSCH3 (BIT(31)) -#define LEDC_DUTY_START_HSCH3_M (BIT(31)) -#define LEDC_DUTY_START_HSCH3_V 0x1 -#define LEDC_DUTY_START_HSCH3_S 31 -/* LEDC_DUTY_INC_HSCH3 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for high speed channel3.*/ -#define LEDC_DUTY_INC_HSCH3 (BIT(30)) -#define LEDC_DUTY_INC_HSCH3_M (BIT(30)) -#define LEDC_DUTY_INC_HSCH3_V 0x1 -#define LEDC_DUTY_INC_HSCH3_S 30 -/* LEDC_DUTY_NUM_HSCH3 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for high speed channel3.*/ -#define LEDC_DUTY_NUM_HSCH3 0x000003FF -#define LEDC_DUTY_NUM_HSCH3_M ((LEDC_DUTY_NUM_HSCH3_V)<<(LEDC_DUTY_NUM_HSCH3_S)) -#define LEDC_DUTY_NUM_HSCH3_V 0x3FF -#define LEDC_DUTY_NUM_HSCH3_S 20 -/* LEDC_DUTY_CYCLE_HSCH3 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_hsch3 cycles for high speed channel3.*/ -#define LEDC_DUTY_CYCLE_HSCH3 0x000003FF -#define LEDC_DUTY_CYCLE_HSCH3_M ((LEDC_DUTY_CYCLE_HSCH3_V)<<(LEDC_DUTY_CYCLE_HSCH3_S)) -#define LEDC_DUTY_CYCLE_HSCH3_V 0x3FF -#define LEDC_DUTY_CYCLE_HSCH3_S 10 -/* LEDC_DUTY_SCALE_HSCH3 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - high speed channel3.*/ -#define LEDC_DUTY_SCALE_HSCH3 0x000003FF -#define LEDC_DUTY_SCALE_HSCH3_M ((LEDC_DUTY_SCALE_HSCH3_V)<<(LEDC_DUTY_SCALE_HSCH3_S)) -#define LEDC_DUTY_SCALE_HSCH3_V 0x3FF -#define LEDC_DUTY_SCALE_HSCH3_S 0 - -#define LEDC_HSCH3_DUTY_R_REG (DR_REG_LEDC_BASE + 0x004C) -/* LEDC_DUTY_HSCH3 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for high speed channel3.*/ -#define LEDC_DUTY_HSCH3 0x01FFFFFF -#define LEDC_DUTY_HSCH3_M ((LEDC_DUTY_HSCH3_V)<<(LEDC_DUTY_HSCH3_S)) -#define LEDC_DUTY_HSCH3_V 0x1FFFFFF -#define LEDC_DUTY_HSCH3_S 0 - -#define LEDC_HSCH4_CONF0_REG (DR_REG_LEDC_BASE + 0x0050) -/* LEDC_IDLE_LV_HSCH4 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when high speed channel4 is off.*/ -#define LEDC_IDLE_LV_HSCH4 (BIT(3)) -#define LEDC_IDLE_LV_HSCH4_M (BIT(3)) -#define LEDC_IDLE_LV_HSCH4_V 0x1 -#define LEDC_IDLE_LV_HSCH4_S 3 -/* LEDC_SIG_OUT_EN_HSCH4 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for high speed channel4*/ -#define LEDC_SIG_OUT_EN_HSCH4 (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH4_M (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH4_V 0x1 -#define LEDC_SIG_OUT_EN_HSCH4_S 2 -/* LEDC_TIMER_SEL_HSCH4 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four high speed timers the two bits are used to select - one of them for high speed channel4. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ -#define LEDC_TIMER_SEL_HSCH4 0x00000003 -#define LEDC_TIMER_SEL_HSCH4_M ((LEDC_TIMER_SEL_HSCH4_V)<<(LEDC_TIMER_SEL_HSCH4_S)) -#define LEDC_TIMER_SEL_HSCH4_V 0x3 -#define LEDC_TIMER_SEL_HSCH4_S 0 - -#define LEDC_HSCH4_HPOINT_REG (DR_REG_LEDC_BASE + 0x0054) -/* LEDC_HPOINT_HSCH4 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when htimerx(x=[0 3]) selected - by high speed channel4 has reached reg_hpoint_hsch4[19:0]*/ -#define LEDC_HPOINT_HSCH4 0x000FFFFF -#define LEDC_HPOINT_HSCH4_M ((LEDC_HPOINT_HSCH4_V)<<(LEDC_HPOINT_HSCH4_S)) -#define LEDC_HPOINT_HSCH4_V 0xFFFFF -#define LEDC_HPOINT_HSCH4_S 0 - -#define LEDC_HSCH4_DUTY_REG (DR_REG_LEDC_BASE + 0x0058) -/* LEDC_DUTY_HSCH4 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When hstimerx(x=[0 - 3]) choosed by high speed channel4 has reached reg_lpoint_hsch4 the output signal changes to low. reg_lpoint_hsch4=(reg_hpoint_hsch4[19:0]+reg_duty_hsch4[24:4]) (1) reg_lpoint_hsch4=(reg_hpoint_hsch4[19:0]+reg_duty_hsch4[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_HSCH4 0x01FFFFFF -#define LEDC_DUTY_HSCH4_M ((LEDC_DUTY_HSCH4_V)<<(LEDC_DUTY_HSCH4_S)) -#define LEDC_DUTY_HSCH4_V 0x1FFFFFF -#define LEDC_DUTY_HSCH4_S 0 - -#define LEDC_HSCH4_CONF1_REG (DR_REG_LEDC_BASE + 0x005C) -/* LEDC_DUTY_START_HSCH4 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 - has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_HSCH4 (BIT(31)) -#define LEDC_DUTY_START_HSCH4_M (BIT(31)) -#define LEDC_DUTY_START_HSCH4_V 0x1 -#define LEDC_DUTY_START_HSCH4_S 31 -/* LEDC_DUTY_INC_HSCH4 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for high speed channel4.*/ -#define LEDC_DUTY_INC_HSCH4 (BIT(30)) -#define LEDC_DUTY_INC_HSCH4_M (BIT(30)) -#define LEDC_DUTY_INC_HSCH4_V 0x1 -#define LEDC_DUTY_INC_HSCH4_S 30 -/* LEDC_DUTY_NUM_HSCH4 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for high speed channel1.*/ -#define LEDC_DUTY_NUM_HSCH4 0x000003FF -#define LEDC_DUTY_NUM_HSCH4_M ((LEDC_DUTY_NUM_HSCH4_V)<<(LEDC_DUTY_NUM_HSCH4_S)) -#define LEDC_DUTY_NUM_HSCH4_V 0x3FF -#define LEDC_DUTY_NUM_HSCH4_S 20 -/* LEDC_DUTY_CYCLE_HSCH4 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_hsch4 cycles for high speed channel4.*/ -#define LEDC_DUTY_CYCLE_HSCH4 0x000003FF -#define LEDC_DUTY_CYCLE_HSCH4_M ((LEDC_DUTY_CYCLE_HSCH4_V)<<(LEDC_DUTY_CYCLE_HSCH4_S)) -#define LEDC_DUTY_CYCLE_HSCH4_V 0x3FF -#define LEDC_DUTY_CYCLE_HSCH4_S 10 -/* LEDC_DUTY_SCALE_HSCH4 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - high speed channel4.*/ -#define LEDC_DUTY_SCALE_HSCH4 0x000003FF -#define LEDC_DUTY_SCALE_HSCH4_M ((LEDC_DUTY_SCALE_HSCH4_V)<<(LEDC_DUTY_SCALE_HSCH4_S)) -#define LEDC_DUTY_SCALE_HSCH4_V 0x3FF -#define LEDC_DUTY_SCALE_HSCH4_S 0 - -#define LEDC_HSCH4_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0060) -/* LEDC_DUTY_HSCH4 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for high speed channel4.*/ -#define LEDC_DUTY_HSCH4 0x01FFFFFF -#define LEDC_DUTY_HSCH4_M ((LEDC_DUTY_HSCH4_V)<<(LEDC_DUTY_HSCH4_S)) -#define LEDC_DUTY_HSCH4_V 0x1FFFFFF -#define LEDC_DUTY_HSCH4_S 0 - -#define LEDC_HSCH5_CONF0_REG (DR_REG_LEDC_BASE + 0x0064) -/* LEDC_IDLE_LV_HSCH5 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when high speed channel5 is off.*/ -#define LEDC_IDLE_LV_HSCH5 (BIT(3)) -#define LEDC_IDLE_LV_HSCH5_M (BIT(3)) -#define LEDC_IDLE_LV_HSCH5_V 0x1 -#define LEDC_IDLE_LV_HSCH5_S 3 -/* LEDC_SIG_OUT_EN_HSCH5 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for high speed channel5.*/ -#define LEDC_SIG_OUT_EN_HSCH5 (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH5_M (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH5_V 0x1 -#define LEDC_SIG_OUT_EN_HSCH5_S 2 -/* LEDC_TIMER_SEL_HSCH5 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four high speed timers the two bits are used to select - one of them for high speed channel5. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ -#define LEDC_TIMER_SEL_HSCH5 0x00000003 -#define LEDC_TIMER_SEL_HSCH5_M ((LEDC_TIMER_SEL_HSCH5_V)<<(LEDC_TIMER_SEL_HSCH5_S)) -#define LEDC_TIMER_SEL_HSCH5_V 0x3 -#define LEDC_TIMER_SEL_HSCH5_S 0 - -#define LEDC_HSCH5_HPOINT_REG (DR_REG_LEDC_BASE + 0x0068) -/* LEDC_HPOINT_HSCH5 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when htimerx(x=[0 3]) selected - by high speed channel5 has reached reg_hpoint_hsch5[19:0]*/ -#define LEDC_HPOINT_HSCH5 0x000FFFFF -#define LEDC_HPOINT_HSCH5_M ((LEDC_HPOINT_HSCH5_V)<<(LEDC_HPOINT_HSCH5_S)) -#define LEDC_HPOINT_HSCH5_V 0xFFFFF -#define LEDC_HPOINT_HSCH5_S 0 - -#define LEDC_HSCH5_DUTY_REG (DR_REG_LEDC_BASE + 0x006C) -/* LEDC_DUTY_HSCH5 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When hstimerx(x=[0 - 3]) choosed by high speed channel5 has reached reg_lpoint_hsch5 the output signal changes to low. reg_lpoint_hsch5=(reg_hpoint_hsch5[19:0]+reg_duty_hsch5[24:4]) (1) reg_lpoint_hsch5=(reg_hpoint_hsch5[19:0]+reg_duty_hsch5[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_HSCH5 0x01FFFFFF -#define LEDC_DUTY_HSCH5_M ((LEDC_DUTY_HSCH5_V)<<(LEDC_DUTY_HSCH5_S)) -#define LEDC_DUTY_HSCH5_V 0x1FFFFFF -#define LEDC_DUTY_HSCH5_S 0 - -#define LEDC_HSCH5_CONF1_REG (DR_REG_LEDC_BASE + 0x0070) -/* LEDC_DUTY_START_HSCH5 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch5 reg_duty_cycle_hsch5 and reg_duty_scale_hsch5 - has been configured. these register won't take effect until set reg_duty_start_hsch5. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_HSCH5 (BIT(31)) -#define LEDC_DUTY_START_HSCH5_M (BIT(31)) -#define LEDC_DUTY_START_HSCH5_V 0x1 -#define LEDC_DUTY_START_HSCH5_S 31 -/* LEDC_DUTY_INC_HSCH5 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for high speed channel5.*/ -#define LEDC_DUTY_INC_HSCH5 (BIT(30)) -#define LEDC_DUTY_INC_HSCH5_M (BIT(30)) -#define LEDC_DUTY_INC_HSCH5_V 0x1 -#define LEDC_DUTY_INC_HSCH5_S 30 -/* LEDC_DUTY_NUM_HSCH5 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for high speed channel5.*/ -#define LEDC_DUTY_NUM_HSCH5 0x000003FF -#define LEDC_DUTY_NUM_HSCH5_M ((LEDC_DUTY_NUM_HSCH5_V)<<(LEDC_DUTY_NUM_HSCH5_S)) -#define LEDC_DUTY_NUM_HSCH5_V 0x3FF -#define LEDC_DUTY_NUM_HSCH5_S 20 -/* LEDC_DUTY_CYCLE_HSCH5 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_hsch5 cycles for high speed channel5.*/ -#define LEDC_DUTY_CYCLE_HSCH5 0x000003FF -#define LEDC_DUTY_CYCLE_HSCH5_M ((LEDC_DUTY_CYCLE_HSCH5_V)<<(LEDC_DUTY_CYCLE_HSCH5_S)) -#define LEDC_DUTY_CYCLE_HSCH5_V 0x3FF -#define LEDC_DUTY_CYCLE_HSCH5_S 10 -/* LEDC_DUTY_SCALE_HSCH5 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - high speed channel5.*/ -#define LEDC_DUTY_SCALE_HSCH5 0x000003FF -#define LEDC_DUTY_SCALE_HSCH5_M ((LEDC_DUTY_SCALE_HSCH5_V)<<(LEDC_DUTY_SCALE_HSCH5_S)) -#define LEDC_DUTY_SCALE_HSCH5_V 0x3FF -#define LEDC_DUTY_SCALE_HSCH5_S 0 - -#define LEDC_HSCH5_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0074) -/* LEDC_DUTY_HSCH5 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for high speed channel5.*/ -#define LEDC_DUTY_HSCH5 0x01FFFFFF -#define LEDC_DUTY_HSCH5_M ((LEDC_DUTY_HSCH5_V)<<(LEDC_DUTY_HSCH5_S)) -#define LEDC_DUTY_HSCH5_V 0x1FFFFFF -#define LEDC_DUTY_HSCH5_S 0 - -#define LEDC_HSCH6_CONF0_REG (DR_REG_LEDC_BASE + 0x0078) -/* LEDC_IDLE_LV_HSCH6 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when high speed channel6 is off.*/ -#define LEDC_IDLE_LV_HSCH6 (BIT(3)) -#define LEDC_IDLE_LV_HSCH6_M (BIT(3)) -#define LEDC_IDLE_LV_HSCH6_V 0x1 -#define LEDC_IDLE_LV_HSCH6_S 3 -/* LEDC_SIG_OUT_EN_HSCH6 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for high speed channel6*/ -#define LEDC_SIG_OUT_EN_HSCH6 (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH6_M (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH6_V 0x1 -#define LEDC_SIG_OUT_EN_HSCH6_S 2 -/* LEDC_TIMER_SEL_HSCH6 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four high speed timers the two bits are used to select - one of them for high speed channel6. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ -#define LEDC_TIMER_SEL_HSCH6 0x00000003 -#define LEDC_TIMER_SEL_HSCH6_M ((LEDC_TIMER_SEL_HSCH6_V)<<(LEDC_TIMER_SEL_HSCH6_S)) -#define LEDC_TIMER_SEL_HSCH6_V 0x3 -#define LEDC_TIMER_SEL_HSCH6_S 0 - -#define LEDC_HSCH6_HPOINT_REG (DR_REG_LEDC_BASE + 0x007C) -/* LEDC_HPOINT_HSCH6 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when htimerx(x=[0 3]) selected - by high speed channel6 has reached reg_hpoint_hsch6[19:0]*/ -#define LEDC_HPOINT_HSCH6 0x000FFFFF -#define LEDC_HPOINT_HSCH6_M ((LEDC_HPOINT_HSCH6_V)<<(LEDC_HPOINT_HSCH6_S)) -#define LEDC_HPOINT_HSCH6_V 0xFFFFF -#define LEDC_HPOINT_HSCH6_S 0 - -#define LEDC_HSCH6_DUTY_REG (DR_REG_LEDC_BASE + 0x0080) -/* LEDC_DUTY_HSCH6 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When hstimerx(x=[0 - 3]) choosed by high speed channel6 has reached reg_lpoint_hsch6 the output signal changes to low. reg_lpoint_hsch6=(reg_hpoint_hsch6[19:0]+reg_duty_hsch6[24:4]) (1) reg_lpoint_hsch6=(reg_hpoint_hsch6[19:0]+reg_duty_hsch6[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_HSCH6 0x01FFFFFF -#define LEDC_DUTY_HSCH6_M ((LEDC_DUTY_HSCH6_V)<<(LEDC_DUTY_HSCH6_S)) -#define LEDC_DUTY_HSCH6_V 0x1FFFFFF -#define LEDC_DUTY_HSCH6_S 0 - -#define LEDC_HSCH6_CONF1_REG (DR_REG_LEDC_BASE + 0x0084) -/* LEDC_DUTY_START_HSCH6 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 - has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_HSCH6 (BIT(31)) -#define LEDC_DUTY_START_HSCH6_M (BIT(31)) -#define LEDC_DUTY_START_HSCH6_V 0x1 -#define LEDC_DUTY_START_HSCH6_S 31 -/* LEDC_DUTY_INC_HSCH6 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for high speed channel6.*/ -#define LEDC_DUTY_INC_HSCH6 (BIT(30)) -#define LEDC_DUTY_INC_HSCH6_M (BIT(30)) -#define LEDC_DUTY_INC_HSCH6_V 0x1 -#define LEDC_DUTY_INC_HSCH6_S 30 -/* LEDC_DUTY_NUM_HSCH6 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for high speed channel6.*/ -#define LEDC_DUTY_NUM_HSCH6 0x000003FF -#define LEDC_DUTY_NUM_HSCH6_M ((LEDC_DUTY_NUM_HSCH6_V)<<(LEDC_DUTY_NUM_HSCH6_S)) -#define LEDC_DUTY_NUM_HSCH6_V 0x3FF -#define LEDC_DUTY_NUM_HSCH6_S 20 -/* LEDC_DUTY_CYCLE_HSCH6 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_hsch6 cycles for high speed channel6.*/ -#define LEDC_DUTY_CYCLE_HSCH6 0x000003FF -#define LEDC_DUTY_CYCLE_HSCH6_M ((LEDC_DUTY_CYCLE_HSCH6_V)<<(LEDC_DUTY_CYCLE_HSCH6_S)) -#define LEDC_DUTY_CYCLE_HSCH6_V 0x3FF -#define LEDC_DUTY_CYCLE_HSCH6_S 10 -/* LEDC_DUTY_SCALE_HSCH6 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - high speed channel6.*/ -#define LEDC_DUTY_SCALE_HSCH6 0x000003FF -#define LEDC_DUTY_SCALE_HSCH6_M ((LEDC_DUTY_SCALE_HSCH6_V)<<(LEDC_DUTY_SCALE_HSCH6_S)) -#define LEDC_DUTY_SCALE_HSCH6_V 0x3FF -#define LEDC_DUTY_SCALE_HSCH6_S 0 - -#define LEDC_HSCH6_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0088) -/* LEDC_DUTY_HSCH6 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for high speed channel6.*/ -#define LEDC_DUTY_HSCH6 0x01FFFFFF -#define LEDC_DUTY_HSCH6_M ((LEDC_DUTY_HSCH6_V)<<(LEDC_DUTY_HSCH6_S)) -#define LEDC_DUTY_HSCH6_V 0x1FFFFFF -#define LEDC_DUTY_HSCH6_S 0 - -#define LEDC_HSCH7_CONF0_REG (DR_REG_LEDC_BASE + 0x008C) -/* LEDC_IDLE_LV_HSCH7 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when high speed channel7 is off.*/ -#define LEDC_IDLE_LV_HSCH7 (BIT(3)) -#define LEDC_IDLE_LV_HSCH7_M (BIT(3)) -#define LEDC_IDLE_LV_HSCH7_V 0x1 -#define LEDC_IDLE_LV_HSCH7_S 3 -/* LEDC_SIG_OUT_EN_HSCH7 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for high speed channel7.*/ -#define LEDC_SIG_OUT_EN_HSCH7 (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH7_M (BIT(2)) -#define LEDC_SIG_OUT_EN_HSCH7_V 0x1 -#define LEDC_SIG_OUT_EN_HSCH7_S 2 -/* LEDC_TIMER_SEL_HSCH7 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four high speed timers the two bits are used to select - one of them for high speed channel7. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ -#define LEDC_TIMER_SEL_HSCH7 0x00000003 -#define LEDC_TIMER_SEL_HSCH7_M ((LEDC_TIMER_SEL_HSCH7_V)<<(LEDC_TIMER_SEL_HSCH7_S)) -#define LEDC_TIMER_SEL_HSCH7_V 0x3 -#define LEDC_TIMER_SEL_HSCH7_S 0 - -#define LEDC_HSCH7_HPOINT_REG (DR_REG_LEDC_BASE + 0x0090) -/* LEDC_HPOINT_HSCH7 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when htimerx(x=[0 3]) selected - by high speed channel7 has reached reg_hpoint_hsch7[19:0]*/ -#define LEDC_HPOINT_HSCH7 0x000FFFFF -#define LEDC_HPOINT_HSCH7_M ((LEDC_HPOINT_HSCH7_V)<<(LEDC_HPOINT_HSCH7_S)) -#define LEDC_HPOINT_HSCH7_V 0xFFFFF -#define LEDC_HPOINT_HSCH7_S 0 - -#define LEDC_HSCH7_DUTY_REG (DR_REG_LEDC_BASE + 0x0094) -/* LEDC_DUTY_HSCH7 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When hstimerx(x=[0 - 3]) choosed by high speed channel7 has reached reg_lpoint_hsch7 the output signal changes to low. reg_lpoint_hsch7=(reg_hpoint_hsch7[19:0]+reg_duty_hsch7[24:4]) (1) reg_lpoint_hsch7=(reg_hpoint_hsch7[19:0]+reg_duty_hsch7[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_HSCH7 0x01FFFFFF -#define LEDC_DUTY_HSCH7_M ((LEDC_DUTY_HSCH7_V)<<(LEDC_DUTY_HSCH7_S)) -#define LEDC_DUTY_HSCH7_V 0x1FFFFFF -#define LEDC_DUTY_HSCH7_S 0 - -#define LEDC_HSCH7_CONF1_REG (DR_REG_LEDC_BASE + 0x0098) -/* LEDC_DUTY_START_HSCH7 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 - has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_HSCH7 (BIT(31)) -#define LEDC_DUTY_START_HSCH7_M (BIT(31)) -#define LEDC_DUTY_START_HSCH7_V 0x1 -#define LEDC_DUTY_START_HSCH7_S 31 -/* LEDC_DUTY_INC_HSCH7 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for high speed channel6.*/ -#define LEDC_DUTY_INC_HSCH7 (BIT(30)) -#define LEDC_DUTY_INC_HSCH7_M (BIT(30)) -#define LEDC_DUTY_INC_HSCH7_V 0x1 -#define LEDC_DUTY_INC_HSCH7_S 30 -/* LEDC_DUTY_NUM_HSCH7 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for high speed channel6.*/ -#define LEDC_DUTY_NUM_HSCH7 0x000003FF -#define LEDC_DUTY_NUM_HSCH7_M ((LEDC_DUTY_NUM_HSCH7_V)<<(LEDC_DUTY_NUM_HSCH7_S)) -#define LEDC_DUTY_NUM_HSCH7_V 0x3FF -#define LEDC_DUTY_NUM_HSCH7_S 20 -/* LEDC_DUTY_CYCLE_HSCH7 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_hsch7 cycles for high speed channel7.*/ -#define LEDC_DUTY_CYCLE_HSCH7 0x000003FF -#define LEDC_DUTY_CYCLE_HSCH7_M ((LEDC_DUTY_CYCLE_HSCH7_V)<<(LEDC_DUTY_CYCLE_HSCH7_S)) -#define LEDC_DUTY_CYCLE_HSCH7_V 0x3FF -#define LEDC_DUTY_CYCLE_HSCH7_S 10 -/* LEDC_DUTY_SCALE_HSCH7 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - high speed channel7.*/ -#define LEDC_DUTY_SCALE_HSCH7 0x000003FF -#define LEDC_DUTY_SCALE_HSCH7_M ((LEDC_DUTY_SCALE_HSCH7_V)<<(LEDC_DUTY_SCALE_HSCH7_S)) -#define LEDC_DUTY_SCALE_HSCH7_V 0x3FF -#define LEDC_DUTY_SCALE_HSCH7_S 0 - -#define LEDC_HSCH7_DUTY_R_REG (DR_REG_LEDC_BASE + 0x009C) -/* LEDC_DUTY_HSCH7 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for high speed channel7.*/ -#define LEDC_DUTY_HSCH7 0x01FFFFFF -#define LEDC_DUTY_HSCH7_M ((LEDC_DUTY_HSCH7_V)<<(LEDC_DUTY_HSCH7_S)) -#define LEDC_DUTY_HSCH7_V 0x1FFFFFF -#define LEDC_DUTY_HSCH7_S 0 - -#define LEDC_LSCH0_CONF0_REG (DR_REG_LEDC_BASE + 0x00A0) -/* LEDC_PARA_UP_LSCH0 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This bit is used to update register LEDC_LSCH0_HPOINT and LEDC_LSCH0_DUTY - for low speed channel0.*/ -#define LEDC_PARA_UP_LSCH0 (BIT(4)) -#define LEDC_PARA_UP_LSCH0_M (BIT(4)) -#define LEDC_PARA_UP_LSCH0_V 0x1 -#define LEDC_PARA_UP_LSCH0_S 4 -/* LEDC_IDLE_LV_LSCH0 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when low speed channel0 is off.*/ -#define LEDC_IDLE_LV_LSCH0 (BIT(3)) -#define LEDC_IDLE_LV_LSCH0_M (BIT(3)) -#define LEDC_IDLE_LV_LSCH0_V 0x1 -#define LEDC_IDLE_LV_LSCH0_S 3 -/* LEDC_SIG_OUT_EN_LSCH0 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for low speed channel0.*/ -#define LEDC_SIG_OUT_EN_LSCH0 (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH0_M (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH0_V 0x1 -#define LEDC_SIG_OUT_EN_LSCH0_S 2 -/* LEDC_TIMER_SEL_LSCH0 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four low speed timers the two bits are used to select - one of them for low speed channel0. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ -#define LEDC_TIMER_SEL_LSCH0 0x00000003 -#define LEDC_TIMER_SEL_LSCH0_M ((LEDC_TIMER_SEL_LSCH0_V)<<(LEDC_TIMER_SEL_LSCH0_S)) -#define LEDC_TIMER_SEL_LSCH0_V 0x3 -#define LEDC_TIMER_SEL_LSCH0_S 0 - -#define LEDC_LSCH0_HPOINT_REG (DR_REG_LEDC_BASE + 0x00A4) -/* LEDC_HPOINT_LSCH0 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when lstimerx(x=[0 3]) selected - by low speed channel0 has reached reg_hpoint_lsch0[19:0]*/ -#define LEDC_HPOINT_LSCH0 0x000FFFFF -#define LEDC_HPOINT_LSCH0_M ((LEDC_HPOINT_LSCH0_V)<<(LEDC_HPOINT_LSCH0_S)) -#define LEDC_HPOINT_LSCH0_V 0xFFFFF -#define LEDC_HPOINT_LSCH0_S 0 - -#define LEDC_LSCH0_DUTY_REG (DR_REG_LEDC_BASE + 0x00A8) -/* LEDC_DUTY_LSCH0 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When lstimerx(x=[0 - 3]) choosed by low speed channel0 has reached reg_lpoint_lsch0 the output signal changes to low. reg_lpoint_lsch0=(reg_hpoint_lsch0[19:0]+reg_duty_lsch0[24:4]) (1) reg_lpoint_lsch0=(reg_hpoint_lsch0[19:0]+reg_duty_lsch0[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_LSCH0 0x01FFFFFF -#define LEDC_DUTY_LSCH0_M ((LEDC_DUTY_LSCH0_V)<<(LEDC_DUTY_LSCH0_S)) -#define LEDC_DUTY_LSCH0_V 0x1FFFFFF -#define LEDC_DUTY_LSCH0_S 0 - -#define LEDC_LSCH0_CONF1_REG (DR_REG_LEDC_BASE + 0x00AC) -/* LEDC_DUTY_START_LSCH0 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 - has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_LSCH0 (BIT(31)) -#define LEDC_DUTY_START_LSCH0_M (BIT(31)) -#define LEDC_DUTY_START_LSCH0_V 0x1 -#define LEDC_DUTY_START_LSCH0_S 31 -/* LEDC_DUTY_INC_LSCH0 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for low speed channel6.*/ -#define LEDC_DUTY_INC_LSCH0 (BIT(30)) -#define LEDC_DUTY_INC_LSCH0_M (BIT(30)) -#define LEDC_DUTY_INC_LSCH0_V 0x1 -#define LEDC_DUTY_INC_LSCH0_S 30 -/* LEDC_DUTY_NUM_LSCH0 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for low speed channel6.*/ -#define LEDC_DUTY_NUM_LSCH0 0x000003FF -#define LEDC_DUTY_NUM_LSCH0_M ((LEDC_DUTY_NUM_LSCH0_V)<<(LEDC_DUTY_NUM_LSCH0_S)) -#define LEDC_DUTY_NUM_LSCH0_V 0x3FF -#define LEDC_DUTY_NUM_LSCH0_S 20 -/* LEDC_DUTY_CYCLE_LSCH0 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_lsch0 cycles for low speed channel0.*/ -#define LEDC_DUTY_CYCLE_LSCH0 0x000003FF -#define LEDC_DUTY_CYCLE_LSCH0_M ((LEDC_DUTY_CYCLE_LSCH0_V)<<(LEDC_DUTY_CYCLE_LSCH0_S)) -#define LEDC_DUTY_CYCLE_LSCH0_V 0x3FF -#define LEDC_DUTY_CYCLE_LSCH0_S 10 -/* LEDC_DUTY_SCALE_LSCH0 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - low speed channel0.*/ -#define LEDC_DUTY_SCALE_LSCH0 0x000003FF -#define LEDC_DUTY_SCALE_LSCH0_M ((LEDC_DUTY_SCALE_LSCH0_V)<<(LEDC_DUTY_SCALE_LSCH0_S)) -#define LEDC_DUTY_SCALE_LSCH0_V 0x3FF -#define LEDC_DUTY_SCALE_LSCH0_S 0 - -#define LEDC_LSCH0_DUTY_R_REG (DR_REG_LEDC_BASE + 0x00B0) -/* LEDC_DUTY_LSCH0 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for low speed channel0.*/ -#define LEDC_DUTY_LSCH0 0x01FFFFFF -#define LEDC_DUTY_LSCH0_M ((LEDC_DUTY_LSCH0_V)<<(LEDC_DUTY_LSCH0_S)) -#define LEDC_DUTY_LSCH0_V 0x1FFFFFF -#define LEDC_DUTY_LSCH0_S 0 - -#define LEDC_LSCH1_CONF0_REG (DR_REG_LEDC_BASE + 0x00B4) -/* LEDC_PARA_UP_LSCH1 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This bit is used to update register LEDC_LSCH1_HPOINT and LEDC_LSCH1_DUTY - for low speed channel1.*/ -#define LEDC_PARA_UP_LSCH1 (BIT(4)) -#define LEDC_PARA_UP_LSCH1_M (BIT(4)) -#define LEDC_PARA_UP_LSCH1_V 0x1 -#define LEDC_PARA_UP_LSCH1_S 4 -/* LEDC_IDLE_LV_LSCH1 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when low speed channel1 is off.*/ -#define LEDC_IDLE_LV_LSCH1 (BIT(3)) -#define LEDC_IDLE_LV_LSCH1_M (BIT(3)) -#define LEDC_IDLE_LV_LSCH1_V 0x1 -#define LEDC_IDLE_LV_LSCH1_S 3 -/* LEDC_SIG_OUT_EN_LSCH1 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for low speed channel1.*/ -#define LEDC_SIG_OUT_EN_LSCH1 (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH1_M (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH1_V 0x1 -#define LEDC_SIG_OUT_EN_LSCH1_S 2 -/* LEDC_TIMER_SEL_LSCH1 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four low speed timers the two bits are used to select - one of them for low speed channel1. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ -#define LEDC_TIMER_SEL_LSCH1 0x00000003 -#define LEDC_TIMER_SEL_LSCH1_M ((LEDC_TIMER_SEL_LSCH1_V)<<(LEDC_TIMER_SEL_LSCH1_S)) -#define LEDC_TIMER_SEL_LSCH1_V 0x3 -#define LEDC_TIMER_SEL_LSCH1_S 0 - -#define LEDC_LSCH1_HPOINT_REG (DR_REG_LEDC_BASE + 0x00B8) -/* LEDC_HPOINT_LSCH1 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when lstimerx(x=[0 3]) selected - by low speed channel1 has reached reg_hpoint_lsch1[19:0]*/ -#define LEDC_HPOINT_LSCH1 0x000FFFFF -#define LEDC_HPOINT_LSCH1_M ((LEDC_HPOINT_LSCH1_V)<<(LEDC_HPOINT_LSCH1_S)) -#define LEDC_HPOINT_LSCH1_V 0xFFFFF -#define LEDC_HPOINT_LSCH1_S 0 - -#define LEDC_LSCH1_DUTY_REG (DR_REG_LEDC_BASE + 0x00BC) -/* LEDC_DUTY_LSCH1 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When lstimerx(x=[0 - 3]) choosed by low speed channel1 has reached reg_lpoint_lsch1 the output signal changes to low. reg_lpoint_lsch1=(reg_hpoint_lsch1[19:0]+reg_duty_lsch1[24:4]) (1) reg_lpoint_lsch1=(reg_hpoint_lsch1[19:0]+reg_duty_lsch1[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_LSCH1 0x01FFFFFF -#define LEDC_DUTY_LSCH1_M ((LEDC_DUTY_LSCH1_V)<<(LEDC_DUTY_LSCH1_S)) -#define LEDC_DUTY_LSCH1_V 0x1FFFFFF -#define LEDC_DUTY_LSCH1_S 0 - -#define LEDC_LSCH1_CONF1_REG (DR_REG_LEDC_BASE + 0x00C0) -/* LEDC_DUTY_START_LSCH1 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 - has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_LSCH1 (BIT(31)) -#define LEDC_DUTY_START_LSCH1_M (BIT(31)) -#define LEDC_DUTY_START_LSCH1_V 0x1 -#define LEDC_DUTY_START_LSCH1_S 31 -/* LEDC_DUTY_INC_LSCH1 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for low speed channel1.*/ -#define LEDC_DUTY_INC_LSCH1 (BIT(30)) -#define LEDC_DUTY_INC_LSCH1_M (BIT(30)) -#define LEDC_DUTY_INC_LSCH1_V 0x1 -#define LEDC_DUTY_INC_LSCH1_S 30 -/* LEDC_DUTY_NUM_LSCH1 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for low speed channel1.*/ -#define LEDC_DUTY_NUM_LSCH1 0x000003FF -#define LEDC_DUTY_NUM_LSCH1_M ((LEDC_DUTY_NUM_LSCH1_V)<<(LEDC_DUTY_NUM_LSCH1_S)) -#define LEDC_DUTY_NUM_LSCH1_V 0x3FF -#define LEDC_DUTY_NUM_LSCH1_S 20 -/* LEDC_DUTY_CYCLE_LSCH1 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_lsch1 cycles for low speed channel1.*/ -#define LEDC_DUTY_CYCLE_LSCH1 0x000003FF -#define LEDC_DUTY_CYCLE_LSCH1_M ((LEDC_DUTY_CYCLE_LSCH1_V)<<(LEDC_DUTY_CYCLE_LSCH1_S)) -#define LEDC_DUTY_CYCLE_LSCH1_V 0x3FF -#define LEDC_DUTY_CYCLE_LSCH1_S 10 -/* LEDC_DUTY_SCALE_LSCH1 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - low speed channel1.*/ -#define LEDC_DUTY_SCALE_LSCH1 0x000003FF -#define LEDC_DUTY_SCALE_LSCH1_M ((LEDC_DUTY_SCALE_LSCH1_V)<<(LEDC_DUTY_SCALE_LSCH1_S)) -#define LEDC_DUTY_SCALE_LSCH1_V 0x3FF -#define LEDC_DUTY_SCALE_LSCH1_S 0 - -#define LEDC_LSCH1_DUTY_R_REG (DR_REG_LEDC_BASE + 0x00C4) -/* LEDC_DUTY_LSCH1 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for low speed channel1.*/ -#define LEDC_DUTY_LSCH1 0x01FFFFFF -#define LEDC_DUTY_LSCH1_M ((LEDC_DUTY_LSCH1_V)<<(LEDC_DUTY_LSCH1_S)) -#define LEDC_DUTY_LSCH1_V 0x1FFFFFF -#define LEDC_DUTY_LSCH1_S 0 - -#define LEDC_LSCH2_CONF0_REG (DR_REG_LEDC_BASE + 0x00C8) -/* LEDC_PARA_UP_LSCH2 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This bit is used to update register LEDC_LSCH2_HPOINT and LEDC_LSCH2_DUTY - for low speed channel2.*/ -#define LEDC_PARA_UP_LSCH2 (BIT(4)) -#define LEDC_PARA_UP_LSCH2_M (BIT(4)) -#define LEDC_PARA_UP_LSCH2_V 0x1 -#define LEDC_PARA_UP_LSCH2_S 4 -/* LEDC_IDLE_LV_LSCH2 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when low speed channel2 is off.*/ -#define LEDC_IDLE_LV_LSCH2 (BIT(3)) -#define LEDC_IDLE_LV_LSCH2_M (BIT(3)) -#define LEDC_IDLE_LV_LSCH2_V 0x1 -#define LEDC_IDLE_LV_LSCH2_S 3 -/* LEDC_SIG_OUT_EN_LSCH2 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for low speed channel2.*/ -#define LEDC_SIG_OUT_EN_LSCH2 (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH2_M (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH2_V 0x1 -#define LEDC_SIG_OUT_EN_LSCH2_S 2 -/* LEDC_TIMER_SEL_LSCH2 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four low speed timers the two bits are used to select - one of them for low speed channel2. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ -#define LEDC_TIMER_SEL_LSCH2 0x00000003 -#define LEDC_TIMER_SEL_LSCH2_M ((LEDC_TIMER_SEL_LSCH2_V)<<(LEDC_TIMER_SEL_LSCH2_S)) -#define LEDC_TIMER_SEL_LSCH2_V 0x3 -#define LEDC_TIMER_SEL_LSCH2_S 0 - -#define LEDC_LSCH2_HPOINT_REG (DR_REG_LEDC_BASE + 0x00CC) -/* LEDC_HPOINT_LSCH2 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when lstimerx(x=[0 3]) selected - by low speed channel2 has reached reg_hpoint_lsch2[19:0]*/ -#define LEDC_HPOINT_LSCH2 0x000FFFFF -#define LEDC_HPOINT_LSCH2_M ((LEDC_HPOINT_LSCH2_V)<<(LEDC_HPOINT_LSCH2_S)) -#define LEDC_HPOINT_LSCH2_V 0xFFFFF -#define LEDC_HPOINT_LSCH2_S 0 - -#define LEDC_LSCH2_DUTY_REG (DR_REG_LEDC_BASE + 0x00D0) -/* LEDC_DUTY_LSCH2 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When lstimerx(x=[0 - 3]) choosed by low speed channel2 has reached reg_lpoint_lsch2 the output signal changes to low. reg_lpoint_lsch2=(reg_hpoint_lsch2[19:0]+reg_duty_lsch2[24:4]) (1) reg_lpoint_lsch2=(reg_hpoint_lsch2[19:0]+reg_duty_lsch2[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_LSCH2 0x01FFFFFF -#define LEDC_DUTY_LSCH2_M ((LEDC_DUTY_LSCH2_V)<<(LEDC_DUTY_LSCH2_S)) -#define LEDC_DUTY_LSCH2_V 0x1FFFFFF -#define LEDC_DUTY_LSCH2_S 0 - -#define LEDC_LSCH2_CONF1_REG (DR_REG_LEDC_BASE + 0x00D4) -/* LEDC_DUTY_START_LSCH2 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch2 reg_duty_cycle_hsch2 and reg_duty_scale_hsch2 - has been configured. these register won't take effect until set reg_duty_start_hsch2. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_LSCH2 (BIT(31)) -#define LEDC_DUTY_START_LSCH2_M (BIT(31)) -#define LEDC_DUTY_START_LSCH2_V 0x1 -#define LEDC_DUTY_START_LSCH2_S 31 -/* LEDC_DUTY_INC_LSCH2 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for low speed channel2.*/ -#define LEDC_DUTY_INC_LSCH2 (BIT(30)) -#define LEDC_DUTY_INC_LSCH2_M (BIT(30)) -#define LEDC_DUTY_INC_LSCH2_V 0x1 -#define LEDC_DUTY_INC_LSCH2_S 30 -/* LEDC_DUTY_NUM_LSCH2 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for low speed channel2.*/ -#define LEDC_DUTY_NUM_LSCH2 0x000003FF -#define LEDC_DUTY_NUM_LSCH2_M ((LEDC_DUTY_NUM_LSCH2_V)<<(LEDC_DUTY_NUM_LSCH2_S)) -#define LEDC_DUTY_NUM_LSCH2_V 0x3FF -#define LEDC_DUTY_NUM_LSCH2_S 20 -/* LEDC_DUTY_CYCLE_LSCH2 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_lsch2 cycles for low speed channel2.*/ -#define LEDC_DUTY_CYCLE_LSCH2 0x000003FF -#define LEDC_DUTY_CYCLE_LSCH2_M ((LEDC_DUTY_CYCLE_LSCH2_V)<<(LEDC_DUTY_CYCLE_LSCH2_S)) -#define LEDC_DUTY_CYCLE_LSCH2_V 0x3FF -#define LEDC_DUTY_CYCLE_LSCH2_S 10 -/* LEDC_DUTY_SCALE_LSCH2 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - low speed channel2.*/ -#define LEDC_DUTY_SCALE_LSCH2 0x000003FF -#define LEDC_DUTY_SCALE_LSCH2_M ((LEDC_DUTY_SCALE_LSCH2_V)<<(LEDC_DUTY_SCALE_LSCH2_S)) -#define LEDC_DUTY_SCALE_LSCH2_V 0x3FF -#define LEDC_DUTY_SCALE_LSCH2_S 0 - -#define LEDC_LSCH2_DUTY_R_REG (DR_REG_LEDC_BASE + 0x00D8) -/* LEDC_DUTY_LSCH2 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for low speed channel2.*/ -#define LEDC_DUTY_LSCH2 0x01FFFFFF -#define LEDC_DUTY_LSCH2_M ((LEDC_DUTY_LSCH2_V)<<(LEDC_DUTY_LSCH2_S)) -#define LEDC_DUTY_LSCH2_V 0x1FFFFFF -#define LEDC_DUTY_LSCH2_S 0 - -#define LEDC_LSCH3_CONF0_REG (DR_REG_LEDC_BASE + 0x00DC) -/* LEDC_PARA_UP_LSCH3 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This bit is used to update register LEDC_LSCH3_HPOINT and LEDC_LSCH3_DUTY - for low speed channel3.*/ -#define LEDC_PARA_UP_LSCH3 (BIT(4)) -#define LEDC_PARA_UP_LSCH3_M (BIT(4)) -#define LEDC_PARA_UP_LSCH3_V 0x1 -#define LEDC_PARA_UP_LSCH3_S 4 -/* LEDC_IDLE_LV_LSCH3 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when low speed channel3 is off.*/ -#define LEDC_IDLE_LV_LSCH3 (BIT(3)) -#define LEDC_IDLE_LV_LSCH3_M (BIT(3)) -#define LEDC_IDLE_LV_LSCH3_V 0x1 -#define LEDC_IDLE_LV_LSCH3_S 3 -/* LEDC_SIG_OUT_EN_LSCH3 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for low speed channel3.*/ -#define LEDC_SIG_OUT_EN_LSCH3 (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH3_M (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH3_V 0x1 -#define LEDC_SIG_OUT_EN_LSCH3_S 2 -/* LEDC_TIMER_SEL_LSCH3 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four low speed timers the two bits are used to select - one of them for low speed channel3. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ -#define LEDC_TIMER_SEL_LSCH3 0x00000003 -#define LEDC_TIMER_SEL_LSCH3_M ((LEDC_TIMER_SEL_LSCH3_V)<<(LEDC_TIMER_SEL_LSCH3_S)) -#define LEDC_TIMER_SEL_LSCH3_V 0x3 -#define LEDC_TIMER_SEL_LSCH3_S 0 - -#define LEDC_LSCH3_HPOINT_REG (DR_REG_LEDC_BASE + 0x00E0) -/* LEDC_HPOINT_LSCH3 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when lstimerx(x=[0 3]) selected - by low speed channel3 has reached reg_hpoint_lsch3[19:0]*/ -#define LEDC_HPOINT_LSCH3 0x000FFFFF -#define LEDC_HPOINT_LSCH3_M ((LEDC_HPOINT_LSCH3_V)<<(LEDC_HPOINT_LSCH3_S)) -#define LEDC_HPOINT_LSCH3_V 0xFFFFF -#define LEDC_HPOINT_LSCH3_S 0 - -#define LEDC_LSCH3_DUTY_REG (DR_REG_LEDC_BASE + 0x00E4) -/* LEDC_DUTY_LSCH3 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When lstimerx(x=[0 - 3]) choosed by low speed channel3 has reached reg_lpoint_lsch3 the output signal changes to low. reg_lpoint_lsch3=(reg_hpoint_lsch3[19:0]+reg_duty_lsch3[24:4]) (1) reg_lpoint_lsch3=(reg_hpoint_lsch3[19:0]+reg_duty_lsch3[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_LSCH3 0x01FFFFFF -#define LEDC_DUTY_LSCH3_M ((LEDC_DUTY_LSCH3_V)<<(LEDC_DUTY_LSCH3_S)) -#define LEDC_DUTY_LSCH3_V 0x1FFFFFF -#define LEDC_DUTY_LSCH3_S 0 - -#define LEDC_LSCH3_CONF1_REG (DR_REG_LEDC_BASE + 0x00E8) -/* LEDC_DUTY_START_LSCH3 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch3 reg_duty_cycle_hsch3 and reg_duty_scale_hsch3 - has been configured. these register won't take effect until set reg_duty_start_hsch3. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_LSCH3 (BIT(31)) -#define LEDC_DUTY_START_LSCH3_M (BIT(31)) -#define LEDC_DUTY_START_LSCH3_V 0x1 -#define LEDC_DUTY_START_LSCH3_S 31 -/* LEDC_DUTY_INC_LSCH3 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for low speed channel3.*/ -#define LEDC_DUTY_INC_LSCH3 (BIT(30)) -#define LEDC_DUTY_INC_LSCH3_M (BIT(30)) -#define LEDC_DUTY_INC_LSCH3_V 0x1 -#define LEDC_DUTY_INC_LSCH3_S 30 -/* LEDC_DUTY_NUM_LSCH3 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for low speed channel3.*/ -#define LEDC_DUTY_NUM_LSCH3 0x000003FF -#define LEDC_DUTY_NUM_LSCH3_M ((LEDC_DUTY_NUM_LSCH3_V)<<(LEDC_DUTY_NUM_LSCH3_S)) -#define LEDC_DUTY_NUM_LSCH3_V 0x3FF -#define LEDC_DUTY_NUM_LSCH3_S 20 -/* LEDC_DUTY_CYCLE_LSCH3 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_lsch3 cycles for low speed channel3.*/ -#define LEDC_DUTY_CYCLE_LSCH3 0x000003FF -#define LEDC_DUTY_CYCLE_LSCH3_M ((LEDC_DUTY_CYCLE_LSCH3_V)<<(LEDC_DUTY_CYCLE_LSCH3_S)) -#define LEDC_DUTY_CYCLE_LSCH3_V 0x3FF -#define LEDC_DUTY_CYCLE_LSCH3_S 10 -/* LEDC_DUTY_SCALE_LSCH3 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - low speed channel3.*/ -#define LEDC_DUTY_SCALE_LSCH3 0x000003FF -#define LEDC_DUTY_SCALE_LSCH3_M ((LEDC_DUTY_SCALE_LSCH3_V)<<(LEDC_DUTY_SCALE_LSCH3_S)) -#define LEDC_DUTY_SCALE_LSCH3_V 0x3FF -#define LEDC_DUTY_SCALE_LSCH3_S 0 - -#define LEDC_LSCH3_DUTY_R_REG (DR_REG_LEDC_BASE + 0x00EC) -/* LEDC_DUTY_LSCH3 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for low speed channel3.*/ -#define LEDC_DUTY_LSCH3 0x01FFFFFF -#define LEDC_DUTY_LSCH3_M ((LEDC_DUTY_LSCH3_V)<<(LEDC_DUTY_LSCH3_S)) -#define LEDC_DUTY_LSCH3_V 0x1FFFFFF -#define LEDC_DUTY_LSCH3_S 0 - -#define LEDC_LSCH4_CONF0_REG (DR_REG_LEDC_BASE + 0x00F0) -/* LEDC_PARA_UP_LSCH4 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This bit is used to update register LEDC_LSCH4_HPOINT and LEDC_LSCH4_DUTY - for low speed channel4.*/ -#define LEDC_PARA_UP_LSCH4 (BIT(4)) -#define LEDC_PARA_UP_LSCH4_M (BIT(4)) -#define LEDC_PARA_UP_LSCH4_V 0x1 -#define LEDC_PARA_UP_LSCH4_S 4 -/* LEDC_IDLE_LV_LSCH4 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when low speed channel4 is off.*/ -#define LEDC_IDLE_LV_LSCH4 (BIT(3)) -#define LEDC_IDLE_LV_LSCH4_M (BIT(3)) -#define LEDC_IDLE_LV_LSCH4_V 0x1 -#define LEDC_IDLE_LV_LSCH4_S 3 -/* LEDC_SIG_OUT_EN_LSCH4 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for low speed channel4.*/ -#define LEDC_SIG_OUT_EN_LSCH4 (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH4_M (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH4_V 0x1 -#define LEDC_SIG_OUT_EN_LSCH4_S 2 -/* LEDC_TIMER_SEL_LSCH4 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four low speed timers the two bits are used to select - one of them for low speed channel4. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ -#define LEDC_TIMER_SEL_LSCH4 0x00000003 -#define LEDC_TIMER_SEL_LSCH4_M ((LEDC_TIMER_SEL_LSCH4_V)<<(LEDC_TIMER_SEL_LSCH4_S)) -#define LEDC_TIMER_SEL_LSCH4_V 0x3 -#define LEDC_TIMER_SEL_LSCH4_S 0 - -#define LEDC_LSCH4_HPOINT_REG (DR_REG_LEDC_BASE + 0x00F4) -/* LEDC_HPOINT_LSCH4 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when lstimerx(x=[0 3]) selected - by low speed channel4 has reached reg_hpoint_lsch4[19:0]*/ -#define LEDC_HPOINT_LSCH4 0x000FFFFF -#define LEDC_HPOINT_LSCH4_M ((LEDC_HPOINT_LSCH4_V)<<(LEDC_HPOINT_LSCH4_S)) -#define LEDC_HPOINT_LSCH4_V 0xFFFFF -#define LEDC_HPOINT_LSCH4_S 0 - -#define LEDC_LSCH4_DUTY_REG (DR_REG_LEDC_BASE + 0x00F8) -/* LEDC_DUTY_LSCH4 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When lstimerx(x=[0 - 3]) choosed by low speed channel4 has reached reg_lpoint_lsch4 the output signal changes to low. reg_lpoint_lsch4=(reg_hpoint_lsch4[19:0]+reg_duty_lsch4[24:4]) (1) reg_lpoint_lsch4=(reg_hpoint_lsch4[19:0]+reg_duty_lsch4[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_LSCH4 0x01FFFFFF -#define LEDC_DUTY_LSCH4_M ((LEDC_DUTY_LSCH4_V)<<(LEDC_DUTY_LSCH4_S)) -#define LEDC_DUTY_LSCH4_V 0x1FFFFFF -#define LEDC_DUTY_LSCH4_S 0 - -#define LEDC_LSCH4_CONF1_REG (DR_REG_LEDC_BASE + 0x00FC) -/* LEDC_DUTY_START_LSCH4 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch4 reg_duty_cycle_hsch4 and reg_duty_scale_hsch4 - has been configured. these register won't take effect until set reg_duty_start_hsch4. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_LSCH4 (BIT(31)) -#define LEDC_DUTY_START_LSCH4_M (BIT(31)) -#define LEDC_DUTY_START_LSCH4_V 0x1 -#define LEDC_DUTY_START_LSCH4_S 31 -/* LEDC_DUTY_INC_LSCH4 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for low speed channel4.*/ -#define LEDC_DUTY_INC_LSCH4 (BIT(30)) -#define LEDC_DUTY_INC_LSCH4_M (BIT(30)) -#define LEDC_DUTY_INC_LSCH4_V 0x1 -#define LEDC_DUTY_INC_LSCH4_S 30 -/* LEDC_DUTY_NUM_LSCH4 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for low speed channel4.*/ -#define LEDC_DUTY_NUM_LSCH4 0x000003FF -#define LEDC_DUTY_NUM_LSCH4_M ((LEDC_DUTY_NUM_LSCH4_V)<<(LEDC_DUTY_NUM_LSCH4_S)) -#define LEDC_DUTY_NUM_LSCH4_V 0x3FF -#define LEDC_DUTY_NUM_LSCH4_S 20 -/* LEDC_DUTY_CYCLE_LSCH4 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_lsch4 cycles for low speed channel4.*/ -#define LEDC_DUTY_CYCLE_LSCH4 0x000003FF -#define LEDC_DUTY_CYCLE_LSCH4_M ((LEDC_DUTY_CYCLE_LSCH4_V)<<(LEDC_DUTY_CYCLE_LSCH4_S)) -#define LEDC_DUTY_CYCLE_LSCH4_V 0x3FF -#define LEDC_DUTY_CYCLE_LSCH4_S 10 -/* LEDC_DUTY_SCALE_LSCH4 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - low speed channel4.*/ -#define LEDC_DUTY_SCALE_LSCH4 0x000003FF -#define LEDC_DUTY_SCALE_LSCH4_M ((LEDC_DUTY_SCALE_LSCH4_V)<<(LEDC_DUTY_SCALE_LSCH4_S)) -#define LEDC_DUTY_SCALE_LSCH4_V 0x3FF -#define LEDC_DUTY_SCALE_LSCH4_S 0 - -#define LEDC_LSCH4_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0100) -/* LEDC_DUTY_LSCH4 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for low speed channel4.*/ -#define LEDC_DUTY_LSCH4 0x01FFFFFF -#define LEDC_DUTY_LSCH4_M ((LEDC_DUTY_LSCH4_V)<<(LEDC_DUTY_LSCH4_S)) -#define LEDC_DUTY_LSCH4_V 0x1FFFFFF -#define LEDC_DUTY_LSCH4_S 0 - -#define LEDC_LSCH5_CONF0_REG (DR_REG_LEDC_BASE + 0x0104) -/* LEDC_PARA_UP_LSCH5 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This bit is used to update register LEDC_LSCH5_HPOINT and LEDC_LSCH5_DUTY - for low speed channel5.*/ -#define LEDC_PARA_UP_LSCH5 (BIT(4)) -#define LEDC_PARA_UP_LSCH5_M (BIT(4)) -#define LEDC_PARA_UP_LSCH5_V 0x1 -#define LEDC_PARA_UP_LSCH5_S 4 -/* LEDC_IDLE_LV_LSCH5 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when low speed channel5 is off.*/ -#define LEDC_IDLE_LV_LSCH5 (BIT(3)) -#define LEDC_IDLE_LV_LSCH5_M (BIT(3)) -#define LEDC_IDLE_LV_LSCH5_V 0x1 -#define LEDC_IDLE_LV_LSCH5_S 3 -/* LEDC_SIG_OUT_EN_LSCH5 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for low speed channel5.*/ -#define LEDC_SIG_OUT_EN_LSCH5 (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH5_M (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH5_V 0x1 -#define LEDC_SIG_OUT_EN_LSCH5_S 2 -/* LEDC_TIMER_SEL_LSCH5 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four low speed timers the two bits are used to select - one of them for low speed channel5. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ -#define LEDC_TIMER_SEL_LSCH5 0x00000003 -#define LEDC_TIMER_SEL_LSCH5_M ((LEDC_TIMER_SEL_LSCH5_V)<<(LEDC_TIMER_SEL_LSCH5_S)) -#define LEDC_TIMER_SEL_LSCH5_V 0x3 -#define LEDC_TIMER_SEL_LSCH5_S 0 - -#define LEDC_LSCH5_HPOINT_REG (DR_REG_LEDC_BASE + 0x0108) -/* LEDC_HPOINT_LSCH5 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when lstimerx(x=[0 3]) selected - by low speed channel5 has reached reg_hpoint_lsch5[19:0]*/ -#define LEDC_HPOINT_LSCH5 0x000FFFFF -#define LEDC_HPOINT_LSCH5_M ((LEDC_HPOINT_LSCH5_V)<<(LEDC_HPOINT_LSCH5_S)) -#define LEDC_HPOINT_LSCH5_V 0xFFFFF -#define LEDC_HPOINT_LSCH5_S 0 - -#define LEDC_LSCH5_DUTY_REG (DR_REG_LEDC_BASE + 0x010C) -/* LEDC_DUTY_LSCH5 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When lstimerx(x=[0 - 3]) choosed by low speed channel5 has reached reg_lpoint_lsch5 the output signal changes to low. reg_lpoint_lsch5=(reg_hpoint_lsch5[19:0]+reg_duty_lsch5[24:4]) (1) reg_lpoint_lsch5=(reg_hpoint_lsch5[19:0]+reg_duty_lsch5[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_LSCH5 0x01FFFFFF -#define LEDC_DUTY_LSCH5_M ((LEDC_DUTY_LSCH5_V)<<(LEDC_DUTY_LSCH5_S)) -#define LEDC_DUTY_LSCH5_V 0x1FFFFFF -#define LEDC_DUTY_LSCH5_S 0 - -#define LEDC_LSCH5_CONF1_REG (DR_REG_LEDC_BASE + 0x0110) -/* LEDC_DUTY_START_LSCH5 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch4 reg_duty_cycle_hsch4 and reg_duty_scale_hsch4 - has been configured. these register won't take effect until set reg_duty_start_hsch4. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_LSCH5 (BIT(31)) -#define LEDC_DUTY_START_LSCH5_M (BIT(31)) -#define LEDC_DUTY_START_LSCH5_V 0x1 -#define LEDC_DUTY_START_LSCH5_S 31 -/* LEDC_DUTY_INC_LSCH5 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for low speed channel5.*/ -#define LEDC_DUTY_INC_LSCH5 (BIT(30)) -#define LEDC_DUTY_INC_LSCH5_M (BIT(30)) -#define LEDC_DUTY_INC_LSCH5_V 0x1 -#define LEDC_DUTY_INC_LSCH5_S 30 -/* LEDC_DUTY_NUM_LSCH5 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for low speed channel5.*/ -#define LEDC_DUTY_NUM_LSCH5 0x000003FF -#define LEDC_DUTY_NUM_LSCH5_M ((LEDC_DUTY_NUM_LSCH5_V)<<(LEDC_DUTY_NUM_LSCH5_S)) -#define LEDC_DUTY_NUM_LSCH5_V 0x3FF -#define LEDC_DUTY_NUM_LSCH5_S 20 -/* LEDC_DUTY_CYCLE_LSCH5 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_lsch5 cycles for low speed channel4.*/ -#define LEDC_DUTY_CYCLE_LSCH5 0x000003FF -#define LEDC_DUTY_CYCLE_LSCH5_M ((LEDC_DUTY_CYCLE_LSCH5_V)<<(LEDC_DUTY_CYCLE_LSCH5_S)) -#define LEDC_DUTY_CYCLE_LSCH5_V 0x3FF -#define LEDC_DUTY_CYCLE_LSCH5_S 10 -/* LEDC_DUTY_SCALE_LSCH5 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - low speed channel5.*/ -#define LEDC_DUTY_SCALE_LSCH5 0x000003FF -#define LEDC_DUTY_SCALE_LSCH5_M ((LEDC_DUTY_SCALE_LSCH5_V)<<(LEDC_DUTY_SCALE_LSCH5_S)) -#define LEDC_DUTY_SCALE_LSCH5_V 0x3FF -#define LEDC_DUTY_SCALE_LSCH5_S 0 - -#define LEDC_LSCH5_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0114) -/* LEDC_DUTY_LSCH5 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for low speed channel5.*/ -#define LEDC_DUTY_LSCH5 0x01FFFFFF -#define LEDC_DUTY_LSCH5_M ((LEDC_DUTY_LSCH5_V)<<(LEDC_DUTY_LSCH5_S)) -#define LEDC_DUTY_LSCH5_V 0x1FFFFFF -#define LEDC_DUTY_LSCH5_S 0 - -#define LEDC_LSCH6_CONF0_REG (DR_REG_LEDC_BASE + 0x0118) -/* LEDC_PARA_UP_LSCH6 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This bit is used to update register LEDC_LSCH6_HPOINT and LEDC_LSCH6_DUTY - for low speed channel6.*/ -#define LEDC_PARA_UP_LSCH6 (BIT(4)) -#define LEDC_PARA_UP_LSCH6_M (BIT(4)) -#define LEDC_PARA_UP_LSCH6_V 0x1 -#define LEDC_PARA_UP_LSCH6_S 4 -/* LEDC_IDLE_LV_LSCH6 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when low speed channel6 is off.*/ -#define LEDC_IDLE_LV_LSCH6 (BIT(3)) -#define LEDC_IDLE_LV_LSCH6_M (BIT(3)) -#define LEDC_IDLE_LV_LSCH6_V 0x1 -#define LEDC_IDLE_LV_LSCH6_S 3 -/* LEDC_SIG_OUT_EN_LSCH6 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for low speed channel6.*/ -#define LEDC_SIG_OUT_EN_LSCH6 (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH6_M (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH6_V 0x1 -#define LEDC_SIG_OUT_EN_LSCH6_S 2 -/* LEDC_TIMER_SEL_LSCH6 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four low speed timers the two bits are used to select - one of them for low speed channel6. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ -#define LEDC_TIMER_SEL_LSCH6 0x00000003 -#define LEDC_TIMER_SEL_LSCH6_M ((LEDC_TIMER_SEL_LSCH6_V)<<(LEDC_TIMER_SEL_LSCH6_S)) -#define LEDC_TIMER_SEL_LSCH6_V 0x3 -#define LEDC_TIMER_SEL_LSCH6_S 0 - -#define LEDC_LSCH6_HPOINT_REG (DR_REG_LEDC_BASE + 0x011C) -/* LEDC_HPOINT_LSCH6 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when lstimerx(x=[0 3]) selected - by low speed channel6 has reached reg_hpoint_lsch6[19:0]*/ -#define LEDC_HPOINT_LSCH6 0x000FFFFF -#define LEDC_HPOINT_LSCH6_M ((LEDC_HPOINT_LSCH6_V)<<(LEDC_HPOINT_LSCH6_S)) -#define LEDC_HPOINT_LSCH6_V 0xFFFFF -#define LEDC_HPOINT_LSCH6_S 0 - -#define LEDC_LSCH6_DUTY_REG (DR_REG_LEDC_BASE + 0x0120) -/* LEDC_DUTY_LSCH6 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When lstimerx(x=[0 - 3]) choosed by low speed channel6 has reached reg_lpoint_lsch6 the output signal changes to low. reg_lpoint_lsch6=(reg_hpoint_lsch6[19:0]+reg_duty_lsch6[24:4]) (1) reg_lpoint_lsch6=(reg_hpoint_lsch6[19:0]+reg_duty_lsch6[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_LSCH6 0x01FFFFFF -#define LEDC_DUTY_LSCH6_M ((LEDC_DUTY_LSCH6_V)<<(LEDC_DUTY_LSCH6_S)) -#define LEDC_DUTY_LSCH6_V 0x1FFFFFF -#define LEDC_DUTY_LSCH6_S 0 - -#define LEDC_LSCH6_CONF1_REG (DR_REG_LEDC_BASE + 0x0124) -/* LEDC_DUTY_START_LSCH6 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch6 reg_duty_cycle_hsch6 and reg_duty_scale_hsch6 - has been configured. these register won't take effect until set reg_duty_start_hsch6. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_LSCH6 (BIT(31)) -#define LEDC_DUTY_START_LSCH6_M (BIT(31)) -#define LEDC_DUTY_START_LSCH6_V 0x1 -#define LEDC_DUTY_START_LSCH6_S 31 -/* LEDC_DUTY_INC_LSCH6 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for low speed channel6.*/ -#define LEDC_DUTY_INC_LSCH6 (BIT(30)) -#define LEDC_DUTY_INC_LSCH6_M (BIT(30)) -#define LEDC_DUTY_INC_LSCH6_V 0x1 -#define LEDC_DUTY_INC_LSCH6_S 30 -/* LEDC_DUTY_NUM_LSCH6 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for low speed channel6.*/ -#define LEDC_DUTY_NUM_LSCH6 0x000003FF -#define LEDC_DUTY_NUM_LSCH6_M ((LEDC_DUTY_NUM_LSCH6_V)<<(LEDC_DUTY_NUM_LSCH6_S)) -#define LEDC_DUTY_NUM_LSCH6_V 0x3FF -#define LEDC_DUTY_NUM_LSCH6_S 20 -/* LEDC_DUTY_CYCLE_LSCH6 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_lsch6 cycles for low speed channel6.*/ -#define LEDC_DUTY_CYCLE_LSCH6 0x000003FF -#define LEDC_DUTY_CYCLE_LSCH6_M ((LEDC_DUTY_CYCLE_LSCH6_V)<<(LEDC_DUTY_CYCLE_LSCH6_S)) -#define LEDC_DUTY_CYCLE_LSCH6_V 0x3FF -#define LEDC_DUTY_CYCLE_LSCH6_S 10 -/* LEDC_DUTY_SCALE_LSCH6 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - low speed channel6.*/ -#define LEDC_DUTY_SCALE_LSCH6 0x000003FF -#define LEDC_DUTY_SCALE_LSCH6_M ((LEDC_DUTY_SCALE_LSCH6_V)<<(LEDC_DUTY_SCALE_LSCH6_S)) -#define LEDC_DUTY_SCALE_LSCH6_V 0x3FF -#define LEDC_DUTY_SCALE_LSCH6_S 0 - -#define LEDC_LSCH6_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0128) -/* LEDC_DUTY_LSCH6 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for low speed channel6.*/ -#define LEDC_DUTY_LSCH6 0x01FFFFFF -#define LEDC_DUTY_LSCH6_M ((LEDC_DUTY_LSCH6_V)<<(LEDC_DUTY_LSCH6_S)) -#define LEDC_DUTY_LSCH6_V 0x1FFFFFF -#define LEDC_DUTY_LSCH6_S 0 - -#define LEDC_LSCH7_CONF0_REG (DR_REG_LEDC_BASE + 0x012C) -/* LEDC_PARA_UP_LSCH7 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This bit is used to update register LEDC_LSCH7_HPOINT and LEDC_LSCH7_DUTY - for low speed channel7.*/ -#define LEDC_PARA_UP_LSCH7 (BIT(4)) -#define LEDC_PARA_UP_LSCH7_M (BIT(4)) -#define LEDC_PARA_UP_LSCH7_V 0x1 -#define LEDC_PARA_UP_LSCH7_S 4 -/* LEDC_IDLE_LV_LSCH7 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This bit is used to control the output value when low speed channel7 is off.*/ -#define LEDC_IDLE_LV_LSCH7 (BIT(3)) -#define LEDC_IDLE_LV_LSCH7_M (BIT(3)) -#define LEDC_IDLE_LV_LSCH7_V 0x1 -#define LEDC_IDLE_LV_LSCH7_S 3 -/* LEDC_SIG_OUT_EN_LSCH7 : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for low speed channel7.*/ -#define LEDC_SIG_OUT_EN_LSCH7 (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH7_M (BIT(2)) -#define LEDC_SIG_OUT_EN_LSCH7_V 0x1 -#define LEDC_SIG_OUT_EN_LSCH7_S 2 -/* LEDC_TIMER_SEL_LSCH7 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ -/*description: There are four low speed timers the two bits are used to select - one of them for low speed channel7. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ -#define LEDC_TIMER_SEL_LSCH7 0x00000003 -#define LEDC_TIMER_SEL_LSCH7_M ((LEDC_TIMER_SEL_LSCH7_V)<<(LEDC_TIMER_SEL_LSCH7_S)) -#define LEDC_TIMER_SEL_LSCH7_V 0x3 -#define LEDC_TIMER_SEL_LSCH7_S 0 - -#define LEDC_LSCH7_HPOINT_REG (DR_REG_LEDC_BASE + 0x0130) -/* LEDC_HPOINT_LSCH7 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The output value changes to high when lstimerx(x=[0 3]) selected - by low speed channel7 has reached reg_hpoint_lsch7[19:0]*/ -#define LEDC_HPOINT_LSCH7 0x000FFFFF -#define LEDC_HPOINT_LSCH7_M ((LEDC_HPOINT_LSCH7_V)<<(LEDC_HPOINT_LSCH7_S)) -#define LEDC_HPOINT_LSCH7_V 0xFFFFF -#define LEDC_HPOINT_LSCH7_S 0 - -#define LEDC_LSCH7_DUTY_REG (DR_REG_LEDC_BASE + 0x0134) -/* LEDC_DUTY_LSCH7 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: The register is used to control output duty. When lstimerx(x=[0 - 3]) choosed by low speed channel7 has reached reg_lpoint_lsch7 the output signal changes to low. reg_lpoint_lsch7=(reg_hpoint_lsch7[19:0]+reg_duty_lsch7[24:4]) (1) reg_lpoint_lsch7=(reg_hpoint_lsch7[19:0]+reg_duty_lsch7[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ -#define LEDC_DUTY_LSCH7 0x01FFFFFF -#define LEDC_DUTY_LSCH7_M ((LEDC_DUTY_LSCH7_V)<<(LEDC_DUTY_LSCH7_S)) -#define LEDC_DUTY_LSCH7_V 0x1FFFFFF -#define LEDC_DUTY_LSCH7_S 0 - -#define LEDC_LSCH7_CONF1_REG (DR_REG_LEDC_BASE + 0x0138) -/* LEDC_DUTY_START_LSCH7 : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: When reg_duty_num_hsch4 reg_duty_cycle_hsch4 and reg_duty_scale_hsch4 - has been configured. these register won't take effect until set reg_duty_start_hsch4. this bit is automatically cleared by hardware.*/ -#define LEDC_DUTY_START_LSCH7 (BIT(31)) -#define LEDC_DUTY_START_LSCH7_M (BIT(31)) -#define LEDC_DUTY_START_LSCH7_V 0x1 -#define LEDC_DUTY_START_LSCH7_S 31 -/* LEDC_DUTY_INC_LSCH7 : R/W ;bitpos:[30] ;default: 1'b1 ; */ -/*description: This register is used to increase the duty of output signal or - decrease the duty of output signal for low speed channel4.*/ -#define LEDC_DUTY_INC_LSCH7 (BIT(30)) -#define LEDC_DUTY_INC_LSCH7_M (BIT(30)) -#define LEDC_DUTY_INC_LSCH7_V 0x1 -#define LEDC_DUTY_INC_LSCH7_S 30 -/* LEDC_DUTY_NUM_LSCH7 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ -/*description: This register is used to control the num of increased or decreased - times for low speed channel4.*/ -#define LEDC_DUTY_NUM_LSCH7 0x000003FF -#define LEDC_DUTY_NUM_LSCH7_M ((LEDC_DUTY_NUM_LSCH7_V)<<(LEDC_DUTY_NUM_LSCH7_S)) -#define LEDC_DUTY_NUM_LSCH7_V 0x3FF -#define LEDC_DUTY_NUM_LSCH7_S 20 -/* LEDC_DUTY_CYCLE_LSCH7 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ -/*description: This register is used to increase or decrease the duty every - reg_duty_cycle_lsch7 cycles for low speed channel7.*/ -#define LEDC_DUTY_CYCLE_LSCH7 0x000003FF -#define LEDC_DUTY_CYCLE_LSCH7_M ((LEDC_DUTY_CYCLE_LSCH7_V)<<(LEDC_DUTY_CYCLE_LSCH7_S)) -#define LEDC_DUTY_CYCLE_LSCH7_V 0x3FF -#define LEDC_DUTY_CYCLE_LSCH7_S 10 -/* LEDC_DUTY_SCALE_LSCH7 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register controls the increase or decrease step scale for - low speed channel7.*/ -#define LEDC_DUTY_SCALE_LSCH7 0x000003FF -#define LEDC_DUTY_SCALE_LSCH7_M ((LEDC_DUTY_SCALE_LSCH7_V)<<(LEDC_DUTY_SCALE_LSCH7_S)) -#define LEDC_DUTY_SCALE_LSCH7_V 0x3FF -#define LEDC_DUTY_SCALE_LSCH7_S 0 - -#define LEDC_LSCH7_DUTY_R_REG (DR_REG_LEDC_BASE + 0x013C) -/* LEDC_DUTY_LSCH7 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ -/*description: This register represents the current duty of the output signal - for low speed channel7.*/ -#define LEDC_DUTY_LSCH7 0x01FFFFFF -#define LEDC_DUTY_LSCH7_M ((LEDC_DUTY_LSCH7_V)<<(LEDC_DUTY_LSCH7_S)) -#define LEDC_DUTY_LSCH7_V 0x1FFFFFF -#define LEDC_DUTY_LSCH7_S 0 - -#define LEDC_HSTIMER0_CONF_REG (DR_REG_LEDC_BASE + 0x0140) -/* LEDC_TICK_SEL_HSTIMER0 : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: This bit is used to choose apb_clk or ref_tick for high speed - timer0. 1'b1:apb_clk 0:ref_tick*/ -#define LEDC_TICK_SEL_HSTIMER0 (BIT(25)) -#define LEDC_TICK_SEL_HSTIMER0_M (BIT(25)) -#define LEDC_TICK_SEL_HSTIMER0_V 0x1 -#define LEDC_TICK_SEL_HSTIMER0_S 25 -/* LEDC_HSTIMER0_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ -/*description: This bit is used to reset high speed timer0 the counter will be 0 after reset.*/ -#define LEDC_HSTIMER0_RST (BIT(24)) -#define LEDC_HSTIMER0_RST_M (BIT(24)) -#define LEDC_HSTIMER0_RST_V 0x1 -#define LEDC_HSTIMER0_RST_S 24 -/* LEDC_HSTIMER0_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: This bit is used to pause the counter in high speed timer0*/ -#define LEDC_HSTIMER0_PAUSE (BIT(23)) -#define LEDC_HSTIMER0_PAUSE_M (BIT(23)) -#define LEDC_HSTIMER0_PAUSE_V 0x1 -#define LEDC_HSTIMER0_PAUSE_S 23 -/* LEDC_DIV_NUM_HSTIMER0 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ -/*description: This register is used to configure parameter for divider in high - speed timer0 the least significant eight bits represent the decimal part.*/ -#define LEDC_DIV_NUM_HSTIMER0 0x0003FFFF -#define LEDC_DIV_NUM_HSTIMER0_M ((LEDC_DIV_NUM_HSTIMER0_V)<<(LEDC_DIV_NUM_HSTIMER0_S)) -#define LEDC_DIV_NUM_HSTIMER0_V 0x3FFFF -#define LEDC_DIV_NUM_HSTIMER0_S 5 -/* LEDC_HSTIMER0_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ -/*description: This register controls the range of the counter in high speed - timer0. the counter range is [0 2**reg_hstimer0_lim] the max bit width for counter is 20.*/ -#define LEDC_HSTIMER0_LIM 0x0000001F -#define LEDC_HSTIMER0_LIM_M ((LEDC_HSTIMER0_LIM_V)<<(LEDC_HSTIMER0_LIM_S)) -#define LEDC_HSTIMER0_LIM_V 0x1F -#define LEDC_HSTIMER0_LIM_S 0 - -#define LEDC_HSTIMER0_VALUE_REG (DR_REG_LEDC_BASE + 0x0144) -/* LEDC_HSTIMER0_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ -/*description: software can read this register to get the current counter value - in high speed timer0*/ -#define LEDC_HSTIMER0_CNT 0x000FFFFF -#define LEDC_HSTIMER0_CNT_M ((LEDC_HSTIMER0_CNT_V)<<(LEDC_HSTIMER0_CNT_S)) -#define LEDC_HSTIMER0_CNT_V 0xFFFFF -#define LEDC_HSTIMER0_CNT_S 0 - -#define LEDC_HSTIMER1_CONF_REG (DR_REG_LEDC_BASE + 0x0148) -/* LEDC_TICK_SEL_HSTIMER1 : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: This bit is used to choose apb_clk or ref_tick for high speed - timer1. 1'b1:apb_clk 0:ref_tick*/ -#define LEDC_TICK_SEL_HSTIMER1 (BIT(25)) -#define LEDC_TICK_SEL_HSTIMER1_M (BIT(25)) -#define LEDC_TICK_SEL_HSTIMER1_V 0x1 -#define LEDC_TICK_SEL_HSTIMER1_S 25 -/* LEDC_HSTIMER1_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ -/*description: This bit is used to reset high speed timer1 the counter will be 0 after reset.*/ -#define LEDC_HSTIMER1_RST (BIT(24)) -#define LEDC_HSTIMER1_RST_M (BIT(24)) -#define LEDC_HSTIMER1_RST_V 0x1 -#define LEDC_HSTIMER1_RST_S 24 -/* LEDC_HSTIMER1_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: This bit is used to pause the counter in high speed timer1*/ -#define LEDC_HSTIMER1_PAUSE (BIT(23)) -#define LEDC_HSTIMER1_PAUSE_M (BIT(23)) -#define LEDC_HSTIMER1_PAUSE_V 0x1 -#define LEDC_HSTIMER1_PAUSE_S 23 -/* LEDC_DIV_NUM_HSTIMER1 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ -/*description: This register is used to configure parameter for divider in high - speed timer1 the least significant eight bits represent the decimal part.*/ -#define LEDC_DIV_NUM_HSTIMER1 0x0003FFFF -#define LEDC_DIV_NUM_HSTIMER1_M ((LEDC_DIV_NUM_HSTIMER1_V)<<(LEDC_DIV_NUM_HSTIMER1_S)) -#define LEDC_DIV_NUM_HSTIMER1_V 0x3FFFF -#define LEDC_DIV_NUM_HSTIMER1_S 5 -/* LEDC_HSTIMER1_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ -/*description: This register controls the range of the counter in high speed - timer1. the counter range is [0 2**reg_hstimer1_lim] the max bit width for counter is 20.*/ -#define LEDC_HSTIMER1_LIM 0x0000001F -#define LEDC_HSTIMER1_LIM_M ((LEDC_HSTIMER1_LIM_V)<<(LEDC_HSTIMER1_LIM_S)) -#define LEDC_HSTIMER1_LIM_V 0x1F -#define LEDC_HSTIMER1_LIM_S 0 - -#define LEDC_HSTIMER1_VALUE_REG (DR_REG_LEDC_BASE + 0x014C) -/* LEDC_HSTIMER1_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ -/*description: software can read this register to get the current counter value - in high speed timer1.*/ -#define LEDC_HSTIMER1_CNT 0x000FFFFF -#define LEDC_HSTIMER1_CNT_M ((LEDC_HSTIMER1_CNT_V)<<(LEDC_HSTIMER1_CNT_S)) -#define LEDC_HSTIMER1_CNT_V 0xFFFFF -#define LEDC_HSTIMER1_CNT_S 0 - -#define LEDC_HSTIMER2_CONF_REG (DR_REG_LEDC_BASE + 0x0150) -/* LEDC_TICK_SEL_HSTIMER2 : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: This bit is used to choose apb_clk or ref_tick for high speed - timer2. 1'b1:apb_clk 0:ref_tick*/ -#define LEDC_TICK_SEL_HSTIMER2 (BIT(25)) -#define LEDC_TICK_SEL_HSTIMER2_M (BIT(25)) -#define LEDC_TICK_SEL_HSTIMER2_V 0x1 -#define LEDC_TICK_SEL_HSTIMER2_S 25 -/* LEDC_HSTIMER2_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ -/*description: This bit is used to reset high speed timer2 the counter will be 0 after reset.*/ -#define LEDC_HSTIMER2_RST (BIT(24)) -#define LEDC_HSTIMER2_RST_M (BIT(24)) -#define LEDC_HSTIMER2_RST_V 0x1 -#define LEDC_HSTIMER2_RST_S 24 -/* LEDC_HSTIMER2_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: This bit is used to pause the counter in high speed timer2*/ -#define LEDC_HSTIMER2_PAUSE (BIT(23)) -#define LEDC_HSTIMER2_PAUSE_M (BIT(23)) -#define LEDC_HSTIMER2_PAUSE_V 0x1 -#define LEDC_HSTIMER2_PAUSE_S 23 -/* LEDC_DIV_NUM_HSTIMER2 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ -/*description: This register is used to configure parameter for divider in high - speed timer2 the least significant eight bits represent the decimal part.*/ -#define LEDC_DIV_NUM_HSTIMER2 0x0003FFFF -#define LEDC_DIV_NUM_HSTIMER2_M ((LEDC_DIV_NUM_HSTIMER2_V)<<(LEDC_DIV_NUM_HSTIMER2_S)) -#define LEDC_DIV_NUM_HSTIMER2_V 0x3FFFF -#define LEDC_DIV_NUM_HSTIMER2_S 5 -/* LEDC_HSTIMER2_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ -/*description: This register controls the range of the counter in high speed - timer2. the counter range is [0 2**reg_hstimer2_lim] the max bit width for counter is 20.*/ -#define LEDC_HSTIMER2_LIM 0x0000001F -#define LEDC_HSTIMER2_LIM_M ((LEDC_HSTIMER2_LIM_V)<<(LEDC_HSTIMER2_LIM_S)) -#define LEDC_HSTIMER2_LIM_V 0x1F -#define LEDC_HSTIMER2_LIM_S 0 - -#define LEDC_HSTIMER2_VALUE_REG (DR_REG_LEDC_BASE + 0x0154) -/* LEDC_HSTIMER2_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ -/*description: software can read this register to get the current counter value - in high speed timer2*/ -#define LEDC_HSTIMER2_CNT 0x000FFFFF -#define LEDC_HSTIMER2_CNT_M ((LEDC_HSTIMER2_CNT_V)<<(LEDC_HSTIMER2_CNT_S)) -#define LEDC_HSTIMER2_CNT_V 0xFFFFF -#define LEDC_HSTIMER2_CNT_S 0 - -#define LEDC_HSTIMER3_CONF_REG (DR_REG_LEDC_BASE + 0x0158) -/* LEDC_TICK_SEL_HSTIMER3 : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: This bit is used to choose apb_clk or ref_tick for high speed - timer3. 1'b1:apb_clk 0:ref_tick*/ -#define LEDC_TICK_SEL_HSTIMER3 (BIT(25)) -#define LEDC_TICK_SEL_HSTIMER3_M (BIT(25)) -#define LEDC_TICK_SEL_HSTIMER3_V 0x1 -#define LEDC_TICK_SEL_HSTIMER3_S 25 -/* LEDC_HSTIMER3_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ -/*description: This bit is used to reset high speed timer3 the counter will be 0 after reset.*/ -#define LEDC_HSTIMER3_RST (BIT(24)) -#define LEDC_HSTIMER3_RST_M (BIT(24)) -#define LEDC_HSTIMER3_RST_V 0x1 -#define LEDC_HSTIMER3_RST_S 24 -/* LEDC_HSTIMER3_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: This bit is used to pause the counter in high speed timer3*/ -#define LEDC_HSTIMER3_PAUSE (BIT(23)) -#define LEDC_HSTIMER3_PAUSE_M (BIT(23)) -#define LEDC_HSTIMER3_PAUSE_V 0x1 -#define LEDC_HSTIMER3_PAUSE_S 23 -/* LEDC_DIV_NUM_HSTIMER3 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ -/*description: This register is used to configure parameter for divider in high - speed timer3 the least significant eight bits represent the decimal part.*/ -#define LEDC_DIV_NUM_HSTIMER3 0x0003FFFF -#define LEDC_DIV_NUM_HSTIMER3_M ((LEDC_DIV_NUM_HSTIMER3_V)<<(LEDC_DIV_NUM_HSTIMER3_S)) -#define LEDC_DIV_NUM_HSTIMER3_V 0x3FFFF -#define LEDC_DIV_NUM_HSTIMER3_S 5 -/* LEDC_HSTIMER3_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ -/*description: This register controls the range of the counter in high speed - timer3. the counter range is [0 2**reg_hstimer3_lim] the max bit width for counter is 20.*/ -#define LEDC_HSTIMER3_LIM 0x0000001F -#define LEDC_HSTIMER3_LIM_M ((LEDC_HSTIMER3_LIM_V)<<(LEDC_HSTIMER3_LIM_S)) -#define LEDC_HSTIMER3_LIM_V 0x1F -#define LEDC_HSTIMER3_LIM_S 0 - -#define LEDC_HSTIMER3_VALUE_REG (DR_REG_LEDC_BASE + 0x015C) -/* LEDC_HSTIMER3_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ -/*description: software can read this register to get the current counter value - in high speed timer3*/ -#define LEDC_HSTIMER3_CNT 0x000FFFFF -#define LEDC_HSTIMER3_CNT_M ((LEDC_HSTIMER3_CNT_V)<<(LEDC_HSTIMER3_CNT_S)) -#define LEDC_HSTIMER3_CNT_V 0xFFFFF -#define LEDC_HSTIMER3_CNT_S 0 - -#define LEDC_LSTIMER0_CONF_REG (DR_REG_LEDC_BASE + 0x0160) -/* LEDC_LSTIMER0_PARA_UP : R/W ;bitpos:[26] ;default: 1'h0 ; */ -/*description: Set this bit to update reg_div_num_lstime0 and reg_lstimer0_lim.*/ -#define LEDC_LSTIMER0_PARA_UP (BIT(26)) -#define LEDC_LSTIMER0_PARA_UP_M (BIT(26)) -#define LEDC_LSTIMER0_PARA_UP_V 0x1 -#define LEDC_LSTIMER0_PARA_UP_S 26 -/* LEDC_TICK_SEL_LSTIMER0 : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: This bit is used to choose slow_clk or ref_tick for low speed - timer0. 1'b1:slow_clk 0:ref_tick*/ -#define LEDC_TICK_SEL_LSTIMER0 (BIT(25)) -#define LEDC_TICK_SEL_LSTIMER0_M (BIT(25)) -#define LEDC_TICK_SEL_LSTIMER0_V 0x1 -#define LEDC_TICK_SEL_LSTIMER0_S 25 -/* LEDC_LSTIMER0_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ -/*description: This bit is used to reset low speed timer0 the counter will be 0 after reset.*/ -#define LEDC_LSTIMER0_RST (BIT(24)) -#define LEDC_LSTIMER0_RST_M (BIT(24)) -#define LEDC_LSTIMER0_RST_V 0x1 -#define LEDC_LSTIMER0_RST_S 24 -/* LEDC_LSTIMER0_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: This bit is used to pause the counter in low speed timer0.*/ -#define LEDC_LSTIMER0_PAUSE (BIT(23)) -#define LEDC_LSTIMER0_PAUSE_M (BIT(23)) -#define LEDC_LSTIMER0_PAUSE_V 0x1 -#define LEDC_LSTIMER0_PAUSE_S 23 -/* LEDC_DIV_NUM_LSTIMER0 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ -/*description: This register is used to configure parameter for divider in low - speed timer0 the least significant eight bits represent the decimal part.*/ -#define LEDC_DIV_NUM_LSTIMER0 0x0003FFFF -#define LEDC_DIV_NUM_LSTIMER0_M ((LEDC_DIV_NUM_LSTIMER0_V)<<(LEDC_DIV_NUM_LSTIMER0_S)) -#define LEDC_DIV_NUM_LSTIMER0_V 0x3FFFF -#define LEDC_DIV_NUM_LSTIMER0_S 5 -/* LEDC_LSTIMER0_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ -/*description: This register controls the range of the counter in low speed - timer0. the counter range is [0 2**reg_lstimer0_lim] the max bit width for counter is 20.*/ -#define LEDC_LSTIMER0_LIM 0x0000001F -#define LEDC_LSTIMER0_LIM_M ((LEDC_LSTIMER0_LIM_V)<<(LEDC_LSTIMER0_LIM_S)) -#define LEDC_LSTIMER0_LIM_V 0x1F -#define LEDC_LSTIMER0_LIM_S 0 - -#define LEDC_LSTIMER0_VALUE_REG (DR_REG_LEDC_BASE + 0x0164) -/* LEDC_LSTIMER0_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ -/*description: software can read this register to get the current counter value - in low speed timer0.*/ -#define LEDC_LSTIMER0_CNT 0x000FFFFF -#define LEDC_LSTIMER0_CNT_M ((LEDC_LSTIMER0_CNT_V)<<(LEDC_LSTIMER0_CNT_S)) -#define LEDC_LSTIMER0_CNT_V 0xFFFFF -#define LEDC_LSTIMER0_CNT_S 0 - -#define LEDC_LSTIMER1_CONF_REG (DR_REG_LEDC_BASE + 0x0168) -/* LEDC_LSTIMER1_PARA_UP : R/W ;bitpos:[26] ;default: 1'h0 ; */ -/*description: Set this bit to update reg_div_num_lstime1 and reg_lstimer1_lim.*/ -#define LEDC_LSTIMER1_PARA_UP (BIT(26)) -#define LEDC_LSTIMER1_PARA_UP_M (BIT(26)) -#define LEDC_LSTIMER1_PARA_UP_V 0x1 -#define LEDC_LSTIMER1_PARA_UP_S 26 -/* LEDC_TICK_SEL_LSTIMER1 : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: This bit is used to choose slow_clk or ref_tick for low speed - timer1. 1'b1:slow_clk 0:ref_tick*/ -#define LEDC_TICK_SEL_LSTIMER1 (BIT(25)) -#define LEDC_TICK_SEL_LSTIMER1_M (BIT(25)) -#define LEDC_TICK_SEL_LSTIMER1_V 0x1 -#define LEDC_TICK_SEL_LSTIMER1_S 25 -/* LEDC_LSTIMER1_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ -/*description: This bit is used to reset low speed timer1 the counter will be 0 after reset.*/ -#define LEDC_LSTIMER1_RST (BIT(24)) -#define LEDC_LSTIMER1_RST_M (BIT(24)) -#define LEDC_LSTIMER1_RST_V 0x1 -#define LEDC_LSTIMER1_RST_S 24 -/* LEDC_LSTIMER1_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: This bit is used to pause the counter in low speed timer1.*/ -#define LEDC_LSTIMER1_PAUSE (BIT(23)) -#define LEDC_LSTIMER1_PAUSE_M (BIT(23)) -#define LEDC_LSTIMER1_PAUSE_V 0x1 -#define LEDC_LSTIMER1_PAUSE_S 23 -/* LEDC_DIV_NUM_LSTIMER1 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ -/*description: This register is used to configure parameter for divider in low - speed timer1 the least significant eight bits represent the decimal part.*/ -#define LEDC_DIV_NUM_LSTIMER1 0x0003FFFF -#define LEDC_DIV_NUM_LSTIMER1_M ((LEDC_DIV_NUM_LSTIMER1_V)<<(LEDC_DIV_NUM_LSTIMER1_S)) -#define LEDC_DIV_NUM_LSTIMER1_V 0x3FFFF -#define LEDC_DIV_NUM_LSTIMER1_S 5 -/* LEDC_LSTIMER1_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ -/*description: This register controls the range of the counter in low speed - timer1. the counter range is [0 2**reg_lstimer1_lim] the max bit width for counter is 20.*/ -#define LEDC_LSTIMER1_LIM 0x0000001F -#define LEDC_LSTIMER1_LIM_M ((LEDC_LSTIMER1_LIM_V)<<(LEDC_LSTIMER1_LIM_S)) -#define LEDC_LSTIMER1_LIM_V 0x1F -#define LEDC_LSTIMER1_LIM_S 0 - -#define LEDC_LSTIMER1_VALUE_REG (DR_REG_LEDC_BASE + 0x016C) -/* LEDC_LSTIMER1_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ -/*description: software can read this register to get the current counter value - in low speed timer1.*/ -#define LEDC_LSTIMER1_CNT 0x000FFFFF -#define LEDC_LSTIMER1_CNT_M ((LEDC_LSTIMER1_CNT_V)<<(LEDC_LSTIMER1_CNT_S)) -#define LEDC_LSTIMER1_CNT_V 0xFFFFF -#define LEDC_LSTIMER1_CNT_S 0 - -#define LEDC_LSTIMER2_CONF_REG (DR_REG_LEDC_BASE + 0x0170) -/* LEDC_LSTIMER2_PARA_UP : R/W ;bitpos:[26] ;default: 1'h0 ; */ -/*description: Set this bit to update reg_div_num_lstime2 and reg_lstimer2_lim.*/ -#define LEDC_LSTIMER2_PARA_UP (BIT(26)) -#define LEDC_LSTIMER2_PARA_UP_M (BIT(26)) -#define LEDC_LSTIMER2_PARA_UP_V 0x1 -#define LEDC_LSTIMER2_PARA_UP_S 26 -/* LEDC_TICK_SEL_LSTIMER2 : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: This bit is used to choose slow_clk or ref_tick for low speed - timer2. 1'b1:slow_clk 0:ref_tick*/ -#define LEDC_TICK_SEL_LSTIMER2 (BIT(25)) -#define LEDC_TICK_SEL_LSTIMER2_M (BIT(25)) -#define LEDC_TICK_SEL_LSTIMER2_V 0x1 -#define LEDC_TICK_SEL_LSTIMER2_S 25 -/* LEDC_LSTIMER2_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ -/*description: This bit is used to reset low speed timer2 the counter will be 0 after reset.*/ -#define LEDC_LSTIMER2_RST (BIT(24)) -#define LEDC_LSTIMER2_RST_M (BIT(24)) -#define LEDC_LSTIMER2_RST_V 0x1 -#define LEDC_LSTIMER2_RST_S 24 -/* LEDC_LSTIMER2_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: This bit is used to pause the counter in low speed timer2.*/ -#define LEDC_LSTIMER2_PAUSE (BIT(23)) -#define LEDC_LSTIMER2_PAUSE_M (BIT(23)) -#define LEDC_LSTIMER2_PAUSE_V 0x1 -#define LEDC_LSTIMER2_PAUSE_S 23 -/* LEDC_DIV_NUM_LSTIMER2 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ -/*description: This register is used to configure parameter for divider in low - speed timer2 the least significant eight bits represent the decimal part.*/ -#define LEDC_DIV_NUM_LSTIMER2 0x0003FFFF -#define LEDC_DIV_NUM_LSTIMER2_M ((LEDC_DIV_NUM_LSTIMER2_V)<<(LEDC_DIV_NUM_LSTIMER2_S)) -#define LEDC_DIV_NUM_LSTIMER2_V 0x3FFFF -#define LEDC_DIV_NUM_LSTIMER2_S 5 -/* LEDC_LSTIMER2_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ -/*description: This register controls the range of the counter in low speed - timer2. the counter range is [0 2**reg_lstimer2_lim] the max bit width for counter is 20.*/ -#define LEDC_LSTIMER2_LIM 0x0000001F -#define LEDC_LSTIMER2_LIM_M ((LEDC_LSTIMER2_LIM_V)<<(LEDC_LSTIMER2_LIM_S)) -#define LEDC_LSTIMER2_LIM_V 0x1F -#define LEDC_LSTIMER2_LIM_S 0 - -#define LEDC_LSTIMER2_VALUE_REG (DR_REG_LEDC_BASE + 0x0174) -/* LEDC_LSTIMER2_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ -/*description: software can read this register to get the current counter value - in low speed timer2.*/ -#define LEDC_LSTIMER2_CNT 0x000FFFFF -#define LEDC_LSTIMER2_CNT_M ((LEDC_LSTIMER2_CNT_V)<<(LEDC_LSTIMER2_CNT_S)) -#define LEDC_LSTIMER2_CNT_V 0xFFFFF -#define LEDC_LSTIMER2_CNT_S 0 - -#define LEDC_LSTIMER3_CONF_REG (DR_REG_LEDC_BASE + 0x0178) -/* LEDC_LSTIMER3_PARA_UP : R/W ;bitpos:[26] ;default: 1'h0 ; */ -/*description: Set this bit to update reg_div_num_lstime3 and reg_lstimer3_lim.*/ -#define LEDC_LSTIMER3_PARA_UP (BIT(26)) -#define LEDC_LSTIMER3_PARA_UP_M (BIT(26)) -#define LEDC_LSTIMER3_PARA_UP_V 0x1 -#define LEDC_LSTIMER3_PARA_UP_S 26 -/* LEDC_TICK_SEL_LSTIMER3 : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: This bit is used to choose slow_clk or ref_tick for low speed - timer3. 1'b1:slow_clk 0:ref_tick*/ -#define LEDC_TICK_SEL_LSTIMER3 (BIT(25)) -#define LEDC_TICK_SEL_LSTIMER3_M (BIT(25)) -#define LEDC_TICK_SEL_LSTIMER3_V 0x1 -#define LEDC_TICK_SEL_LSTIMER3_S 25 -/* LEDC_LSTIMER3_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ -/*description: This bit is used to reset low speed timer3 the counter will be 0 after reset.*/ -#define LEDC_LSTIMER3_RST (BIT(24)) -#define LEDC_LSTIMER3_RST_M (BIT(24)) -#define LEDC_LSTIMER3_RST_V 0x1 -#define LEDC_LSTIMER3_RST_S 24 -/* LEDC_LSTIMER3_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: This bit is used to pause the counter in low speed timer3.*/ -#define LEDC_LSTIMER3_PAUSE (BIT(23)) -#define LEDC_LSTIMER3_PAUSE_M (BIT(23)) -#define LEDC_LSTIMER3_PAUSE_V 0x1 -#define LEDC_LSTIMER3_PAUSE_S 23 -/* LEDC_DIV_NUM_LSTIMER3 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ -/*description: This register is used to configure parameter for divider in low - speed timer3 the least significant eight bits represent the decimal part.*/ -#define LEDC_DIV_NUM_LSTIMER3 0x0003FFFF -#define LEDC_DIV_NUM_LSTIMER3_M ((LEDC_DIV_NUM_LSTIMER3_V)<<(LEDC_DIV_NUM_LSTIMER3_S)) -#define LEDC_DIV_NUM_LSTIMER3_V 0x3FFFF -#define LEDC_DIV_NUM_LSTIMER3_S 5 -/* LEDC_LSTIMER3_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ -/*description: This register controls the range of the counter in low speed - timer3. the counter range is [0 2**reg_lstimer3_lim] the max bit width for counter is 20.*/ -#define LEDC_LSTIMER3_LIM 0x0000001F -#define LEDC_LSTIMER3_LIM_M ((LEDC_LSTIMER3_LIM_V)<<(LEDC_LSTIMER3_LIM_S)) -#define LEDC_LSTIMER3_LIM_V 0x1F -#define LEDC_LSTIMER3_LIM_S 0 - -#define LEDC_LSTIMER3_VALUE_REG (DR_REG_LEDC_BASE + 0x017C) -/* LEDC_LSTIMER3_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ -/*description: software can read this register to get the current counter value - in low speed timer3.*/ -#define LEDC_LSTIMER3_CNT 0x000FFFFF -#define LEDC_LSTIMER3_CNT_M ((LEDC_LSTIMER3_CNT_V)<<(LEDC_LSTIMER3_CNT_S)) -#define LEDC_LSTIMER3_CNT_V 0xFFFFF -#define LEDC_LSTIMER3_CNT_S 0 - -#define LEDC_INT_RAW_REG (DR_REG_LEDC_BASE + 0x0180) -/* LEDC_DUTY_CHNG_END_LSCH7_INT_RAW : RO ;bitpos:[23] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel 7 duty change done.*/ -#define LEDC_DUTY_CHNG_END_LSCH7_INT_RAW (BIT(23)) -#define LEDC_DUTY_CHNG_END_LSCH7_INT_RAW_M (BIT(23)) -#define LEDC_DUTY_CHNG_END_LSCH7_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH7_INT_RAW_S 23 -/* LEDC_DUTY_CHNG_END_LSCH6_INT_RAW : RO ;bitpos:[22] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel 6 duty change done.*/ -#define LEDC_DUTY_CHNG_END_LSCH6_INT_RAW (BIT(22)) -#define LEDC_DUTY_CHNG_END_LSCH6_INT_RAW_M (BIT(22)) -#define LEDC_DUTY_CHNG_END_LSCH6_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH6_INT_RAW_S 22 -/* LEDC_DUTY_CHNG_END_LSCH5_INT_RAW : RO ;bitpos:[21] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel 5 duty change done.*/ -#define LEDC_DUTY_CHNG_END_LSCH5_INT_RAW (BIT(21)) -#define LEDC_DUTY_CHNG_END_LSCH5_INT_RAW_M (BIT(21)) -#define LEDC_DUTY_CHNG_END_LSCH5_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH5_INT_RAW_S 21 -/* LEDC_DUTY_CHNG_END_LSCH4_INT_RAW : RO ;bitpos:[20] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel 4 duty change done.*/ -#define LEDC_DUTY_CHNG_END_LSCH4_INT_RAW (BIT(20)) -#define LEDC_DUTY_CHNG_END_LSCH4_INT_RAW_M (BIT(20)) -#define LEDC_DUTY_CHNG_END_LSCH4_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH4_INT_RAW_S 20 -/* LEDC_DUTY_CHNG_END_LSCH3_INT_RAW : RO ;bitpos:[19] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel 3 duty change done.*/ -#define LEDC_DUTY_CHNG_END_LSCH3_INT_RAW (BIT(19)) -#define LEDC_DUTY_CHNG_END_LSCH3_INT_RAW_M (BIT(19)) -#define LEDC_DUTY_CHNG_END_LSCH3_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH3_INT_RAW_S 19 -/* LEDC_DUTY_CHNG_END_LSCH2_INT_RAW : RO ;bitpos:[18] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel 2 duty change done.*/ -#define LEDC_DUTY_CHNG_END_LSCH2_INT_RAW (BIT(18)) -#define LEDC_DUTY_CHNG_END_LSCH2_INT_RAW_M (BIT(18)) -#define LEDC_DUTY_CHNG_END_LSCH2_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH2_INT_RAW_S 18 -/* LEDC_DUTY_CHNG_END_LSCH1_INT_RAW : RO ;bitpos:[17] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel 1 duty change done.*/ -#define LEDC_DUTY_CHNG_END_LSCH1_INT_RAW (BIT(17)) -#define LEDC_DUTY_CHNG_END_LSCH1_INT_RAW_M (BIT(17)) -#define LEDC_DUTY_CHNG_END_LSCH1_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH1_INT_RAW_S 17 -/* LEDC_DUTY_CHNG_END_LSCH0_INT_RAW : RO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel 0 duty change done.*/ -#define LEDC_DUTY_CHNG_END_LSCH0_INT_RAW (BIT(16)) -#define LEDC_DUTY_CHNG_END_LSCH0_INT_RAW_M (BIT(16)) -#define LEDC_DUTY_CHNG_END_LSCH0_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH0_INT_RAW_S 16 -/* LEDC_DUTY_CHNG_END_HSCH7_INT_RAW : RO ;bitpos:[15] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel 7 duty change done.*/ -#define LEDC_DUTY_CHNG_END_HSCH7_INT_RAW (BIT(15)) -#define LEDC_DUTY_CHNG_END_HSCH7_INT_RAW_M (BIT(15)) -#define LEDC_DUTY_CHNG_END_HSCH7_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH7_INT_RAW_S 15 -/* LEDC_DUTY_CHNG_END_HSCH6_INT_RAW : RO ;bitpos:[14] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel 6 duty change done.*/ -#define LEDC_DUTY_CHNG_END_HSCH6_INT_RAW (BIT(14)) -#define LEDC_DUTY_CHNG_END_HSCH6_INT_RAW_M (BIT(14)) -#define LEDC_DUTY_CHNG_END_HSCH6_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH6_INT_RAW_S 14 -/* LEDC_DUTY_CHNG_END_HSCH5_INT_RAW : RO ;bitpos:[13] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel 5 duty change done.*/ -#define LEDC_DUTY_CHNG_END_HSCH5_INT_RAW (BIT(13)) -#define LEDC_DUTY_CHNG_END_HSCH5_INT_RAW_M (BIT(13)) -#define LEDC_DUTY_CHNG_END_HSCH5_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH5_INT_RAW_S 13 -/* LEDC_DUTY_CHNG_END_HSCH4_INT_RAW : RO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel 4 duty change done.*/ -#define LEDC_DUTY_CHNG_END_HSCH4_INT_RAW (BIT(12)) -#define LEDC_DUTY_CHNG_END_HSCH4_INT_RAW_M (BIT(12)) -#define LEDC_DUTY_CHNG_END_HSCH4_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH4_INT_RAW_S 12 -/* LEDC_DUTY_CHNG_END_HSCH3_INT_RAW : RO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel 3 duty change done.*/ -#define LEDC_DUTY_CHNG_END_HSCH3_INT_RAW (BIT(11)) -#define LEDC_DUTY_CHNG_END_HSCH3_INT_RAW_M (BIT(11)) -#define LEDC_DUTY_CHNG_END_HSCH3_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH3_INT_RAW_S 11 -/* LEDC_DUTY_CHNG_END_HSCH2_INT_RAW : RO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel 2 duty change done.*/ -#define LEDC_DUTY_CHNG_END_HSCH2_INT_RAW (BIT(10)) -#define LEDC_DUTY_CHNG_END_HSCH2_INT_RAW_M (BIT(10)) -#define LEDC_DUTY_CHNG_END_HSCH2_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH2_INT_RAW_S 10 -/* LEDC_DUTY_CHNG_END_HSCH1_INT_RAW : RO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel 1 duty change done.*/ -#define LEDC_DUTY_CHNG_END_HSCH1_INT_RAW (BIT(9)) -#define LEDC_DUTY_CHNG_END_HSCH1_INT_RAW_M (BIT(9)) -#define LEDC_DUTY_CHNG_END_HSCH1_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH1_INT_RAW_S 9 -/* LEDC_DUTY_CHNG_END_HSCH0_INT_RAW : RO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel 0 duty change done.*/ -#define LEDC_DUTY_CHNG_END_HSCH0_INT_RAW (BIT(8)) -#define LEDC_DUTY_CHNG_END_HSCH0_INT_RAW_M (BIT(8)) -#define LEDC_DUTY_CHNG_END_HSCH0_INT_RAW_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH0_INT_RAW_S 8 -/* LEDC_LSTIMER3_OVF_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel3 counter overflow.*/ -#define LEDC_LSTIMER3_OVF_INT_RAW (BIT(7)) -#define LEDC_LSTIMER3_OVF_INT_RAW_M (BIT(7)) -#define LEDC_LSTIMER3_OVF_INT_RAW_V 0x1 -#define LEDC_LSTIMER3_OVF_INT_RAW_S 7 -/* LEDC_LSTIMER2_OVF_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel2 counter overflow.*/ -#define LEDC_LSTIMER2_OVF_INT_RAW (BIT(6)) -#define LEDC_LSTIMER2_OVF_INT_RAW_M (BIT(6)) -#define LEDC_LSTIMER2_OVF_INT_RAW_V 0x1 -#define LEDC_LSTIMER2_OVF_INT_RAW_S 6 -/* LEDC_LSTIMER1_OVF_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel1 counter overflow.*/ -#define LEDC_LSTIMER1_OVF_INT_RAW (BIT(5)) -#define LEDC_LSTIMER1_OVF_INT_RAW_M (BIT(5)) -#define LEDC_LSTIMER1_OVF_INT_RAW_V 0x1 -#define LEDC_LSTIMER1_OVF_INT_RAW_S 5 -/* LEDC_LSTIMER0_OVF_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for low speed channel0 counter overflow.*/ -#define LEDC_LSTIMER0_OVF_INT_RAW (BIT(4)) -#define LEDC_LSTIMER0_OVF_INT_RAW_M (BIT(4)) -#define LEDC_LSTIMER0_OVF_INT_RAW_V 0x1 -#define LEDC_LSTIMER0_OVF_INT_RAW_S 4 -/* LEDC_HSTIMER3_OVF_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel3 counter overflow.*/ -#define LEDC_HSTIMER3_OVF_INT_RAW (BIT(3)) -#define LEDC_HSTIMER3_OVF_INT_RAW_M (BIT(3)) -#define LEDC_HSTIMER3_OVF_INT_RAW_V 0x1 -#define LEDC_HSTIMER3_OVF_INT_RAW_S 3 -/* LEDC_HSTIMER2_OVF_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel2 counter overflow.*/ -#define LEDC_HSTIMER2_OVF_INT_RAW (BIT(2)) -#define LEDC_HSTIMER2_OVF_INT_RAW_M (BIT(2)) -#define LEDC_HSTIMER2_OVF_INT_RAW_V 0x1 -#define LEDC_HSTIMER2_OVF_INT_RAW_S 2 -/* LEDC_HSTIMER1_OVF_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel1 counter overflow.*/ -#define LEDC_HSTIMER1_OVF_INT_RAW (BIT(1)) -#define LEDC_HSTIMER1_OVF_INT_RAW_M (BIT(1)) -#define LEDC_HSTIMER1_OVF_INT_RAW_V 0x1 -#define LEDC_HSTIMER1_OVF_INT_RAW_S 1 -/* LEDC_HSTIMER0_OVF_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for high speed channel0 counter overflow.*/ -#define LEDC_HSTIMER0_OVF_INT_RAW (BIT(0)) -#define LEDC_HSTIMER0_OVF_INT_RAW_M (BIT(0)) -#define LEDC_HSTIMER0_OVF_INT_RAW_V 0x1 -#define LEDC_HSTIMER0_OVF_INT_RAW_S 0 - -#define LEDC_INT_ST_REG (DR_REG_LEDC_BASE + 0x0184) -/* LEDC_DUTY_CHNG_END_LSCH7_INT_ST : RO ;bitpos:[23] ;default: 1'h0 ; */ -/*description: The interrupt status bit for low speed channel 7 duty change done event*/ -#define LEDC_DUTY_CHNG_END_LSCH7_INT_ST (BIT(23)) -#define LEDC_DUTY_CHNG_END_LSCH7_INT_ST_M (BIT(23)) -#define LEDC_DUTY_CHNG_END_LSCH7_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH7_INT_ST_S 23 -/* LEDC_DUTY_CHNG_END_LSCH6_INT_ST : RO ;bitpos:[22] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel 6 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_LSCH6_INT_ST (BIT(22)) -#define LEDC_DUTY_CHNG_END_LSCH6_INT_ST_M (BIT(22)) -#define LEDC_DUTY_CHNG_END_LSCH6_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH6_INT_ST_S 22 -/* LEDC_DUTY_CHNG_END_LSCH5_INT_ST : RO ;bitpos:[21] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel 5 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_LSCH5_INT_ST (BIT(21)) -#define LEDC_DUTY_CHNG_END_LSCH5_INT_ST_M (BIT(21)) -#define LEDC_DUTY_CHNG_END_LSCH5_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH5_INT_ST_S 21 -/* LEDC_DUTY_CHNG_END_LSCH4_INT_ST : RO ;bitpos:[20] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel 4 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_LSCH4_INT_ST (BIT(20)) -#define LEDC_DUTY_CHNG_END_LSCH4_INT_ST_M (BIT(20)) -#define LEDC_DUTY_CHNG_END_LSCH4_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH4_INT_ST_S 20 -/* LEDC_DUTY_CHNG_END_LSCH3_INT_ST : RO ;bitpos:[19] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel 3 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_LSCH3_INT_ST (BIT(19)) -#define LEDC_DUTY_CHNG_END_LSCH3_INT_ST_M (BIT(19)) -#define LEDC_DUTY_CHNG_END_LSCH3_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH3_INT_ST_S 19 -/* LEDC_DUTY_CHNG_END_LSCH2_INT_ST : RO ;bitpos:[18] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel 2 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_LSCH2_INT_ST (BIT(18)) -#define LEDC_DUTY_CHNG_END_LSCH2_INT_ST_M (BIT(18)) -#define LEDC_DUTY_CHNG_END_LSCH2_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH2_INT_ST_S 18 -/* LEDC_DUTY_CHNG_END_LSCH1_INT_ST : RO ;bitpos:[17] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel 1 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_LSCH1_INT_ST (BIT(17)) -#define LEDC_DUTY_CHNG_END_LSCH1_INT_ST_M (BIT(17)) -#define LEDC_DUTY_CHNG_END_LSCH1_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH1_INT_ST_S 17 -/* LEDC_DUTY_CHNG_END_LSCH0_INT_ST : RO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel 0 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_LSCH0_INT_ST (BIT(16)) -#define LEDC_DUTY_CHNG_END_LSCH0_INT_ST_M (BIT(16)) -#define LEDC_DUTY_CHNG_END_LSCH0_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH0_INT_ST_S 16 -/* LEDC_DUTY_CHNG_END_HSCH7_INT_ST : RO ;bitpos:[15] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel 7 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_HSCH7_INT_ST (BIT(15)) -#define LEDC_DUTY_CHNG_END_HSCH7_INT_ST_M (BIT(15)) -#define LEDC_DUTY_CHNG_END_HSCH7_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH7_INT_ST_S 15 -/* LEDC_DUTY_CHNG_END_HSCH6_INT_ST : RO ;bitpos:[14] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel 6 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_HSCH6_INT_ST (BIT(14)) -#define LEDC_DUTY_CHNG_END_HSCH6_INT_ST_M (BIT(14)) -#define LEDC_DUTY_CHNG_END_HSCH6_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH6_INT_ST_S 14 -/* LEDC_DUTY_CHNG_END_HSCH5_INT_ST : RO ;bitpos:[13] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel 5 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_HSCH5_INT_ST (BIT(13)) -#define LEDC_DUTY_CHNG_END_HSCH5_INT_ST_M (BIT(13)) -#define LEDC_DUTY_CHNG_END_HSCH5_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH5_INT_ST_S 13 -/* LEDC_DUTY_CHNG_END_HSCH4_INT_ST : RO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel 4 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_HSCH4_INT_ST (BIT(12)) -#define LEDC_DUTY_CHNG_END_HSCH4_INT_ST_M (BIT(12)) -#define LEDC_DUTY_CHNG_END_HSCH4_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH4_INT_ST_S 12 -/* LEDC_DUTY_CHNG_END_HSCH3_INT_ST : RO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel 3 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_HSCH3_INT_ST (BIT(11)) -#define LEDC_DUTY_CHNG_END_HSCH3_INT_ST_M (BIT(11)) -#define LEDC_DUTY_CHNG_END_HSCH3_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH3_INT_ST_S 11 -/* LEDC_DUTY_CHNG_END_HSCH2_INT_ST : RO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel 2 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_HSCH2_INT_ST (BIT(10)) -#define LEDC_DUTY_CHNG_END_HSCH2_INT_ST_M (BIT(10)) -#define LEDC_DUTY_CHNG_END_HSCH2_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH2_INT_ST_S 10 -/* LEDC_DUTY_CHNG_END_HSCH1_INT_ST : RO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel 1 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_HSCH1_INT_ST (BIT(9)) -#define LEDC_DUTY_CHNG_END_HSCH1_INT_ST_M (BIT(9)) -#define LEDC_DUTY_CHNG_END_HSCH1_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH1_INT_ST_S 9 -/* LEDC_DUTY_CHNG_END_HSCH0_INT_ST : RO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel 0 duty change done event.*/ -#define LEDC_DUTY_CHNG_END_HSCH0_INT_ST (BIT(8)) -#define LEDC_DUTY_CHNG_END_HSCH0_INT_ST_M (BIT(8)) -#define LEDC_DUTY_CHNG_END_HSCH0_INT_ST_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH0_INT_ST_S 8 -/* LEDC_LSTIMER3_OVF_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel3 counter overflow event.*/ -#define LEDC_LSTIMER3_OVF_INT_ST (BIT(7)) -#define LEDC_LSTIMER3_OVF_INT_ST_M (BIT(7)) -#define LEDC_LSTIMER3_OVF_INT_ST_V 0x1 -#define LEDC_LSTIMER3_OVF_INT_ST_S 7 -/* LEDC_LSTIMER2_OVF_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel2 counter overflow event.*/ -#define LEDC_LSTIMER2_OVF_INT_ST (BIT(6)) -#define LEDC_LSTIMER2_OVF_INT_ST_M (BIT(6)) -#define LEDC_LSTIMER2_OVF_INT_ST_V 0x1 -#define LEDC_LSTIMER2_OVF_INT_ST_S 6 -/* LEDC_LSTIMER1_OVF_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel1 counter overflow event.*/ -#define LEDC_LSTIMER1_OVF_INT_ST (BIT(5)) -#define LEDC_LSTIMER1_OVF_INT_ST_M (BIT(5)) -#define LEDC_LSTIMER1_OVF_INT_ST_V 0x1 -#define LEDC_LSTIMER1_OVF_INT_ST_S 5 -/* LEDC_LSTIMER0_OVF_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The interrupt status bit for low speed channel0 counter overflow event.*/ -#define LEDC_LSTIMER0_OVF_INT_ST (BIT(4)) -#define LEDC_LSTIMER0_OVF_INT_ST_M (BIT(4)) -#define LEDC_LSTIMER0_OVF_INT_ST_V 0x1 -#define LEDC_LSTIMER0_OVF_INT_ST_S 4 -/* LEDC_HSTIMER3_OVF_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel3 counter overflow event.*/ -#define LEDC_HSTIMER3_OVF_INT_ST (BIT(3)) -#define LEDC_HSTIMER3_OVF_INT_ST_M (BIT(3)) -#define LEDC_HSTIMER3_OVF_INT_ST_V 0x1 -#define LEDC_HSTIMER3_OVF_INT_ST_S 3 -/* LEDC_HSTIMER2_OVF_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel2 counter overflow event.*/ -#define LEDC_HSTIMER2_OVF_INT_ST (BIT(2)) -#define LEDC_HSTIMER2_OVF_INT_ST_M (BIT(2)) -#define LEDC_HSTIMER2_OVF_INT_ST_V 0x1 -#define LEDC_HSTIMER2_OVF_INT_ST_S 2 -/* LEDC_HSTIMER1_OVF_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel1 counter overflow event.*/ -#define LEDC_HSTIMER1_OVF_INT_ST (BIT(1)) -#define LEDC_HSTIMER1_OVF_INT_ST_M (BIT(1)) -#define LEDC_HSTIMER1_OVF_INT_ST_V 0x1 -#define LEDC_HSTIMER1_OVF_INT_ST_S 1 -/* LEDC_HSTIMER0_OVF_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The interrupt status bit for high speed channel0 counter overflow event.*/ -#define LEDC_HSTIMER0_OVF_INT_ST (BIT(0)) -#define LEDC_HSTIMER0_OVF_INT_ST_M (BIT(0)) -#define LEDC_HSTIMER0_OVF_INT_ST_V 0x1 -#define LEDC_HSTIMER0_OVF_INT_ST_S 0 - -#define LEDC_INT_ENA_REG (DR_REG_LEDC_BASE + 0x0188) -/* LEDC_DUTY_CHNG_END_LSCH7_INT_ENA : R/W ;bitpos:[23] ;default: 1'h0 ; */ -/*description: The interrupt enable bit for low speed channel 7 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH7_INT_ENA (BIT(23)) -#define LEDC_DUTY_CHNG_END_LSCH7_INT_ENA_M (BIT(23)) -#define LEDC_DUTY_CHNG_END_LSCH7_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH7_INT_ENA_S 23 -/* LEDC_DUTY_CHNG_END_LSCH6_INT_ENA : R/W ;bitpos:[22] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel 6 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH6_INT_ENA (BIT(22)) -#define LEDC_DUTY_CHNG_END_LSCH6_INT_ENA_M (BIT(22)) -#define LEDC_DUTY_CHNG_END_LSCH6_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH6_INT_ENA_S 22 -/* LEDC_DUTY_CHNG_END_LSCH5_INT_ENA : R/W ;bitpos:[21] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel 5 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH5_INT_ENA (BIT(21)) -#define LEDC_DUTY_CHNG_END_LSCH5_INT_ENA_M (BIT(21)) -#define LEDC_DUTY_CHNG_END_LSCH5_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH5_INT_ENA_S 21 -/* LEDC_DUTY_CHNG_END_LSCH4_INT_ENA : R/W ;bitpos:[20] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel 4 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH4_INT_ENA (BIT(20)) -#define LEDC_DUTY_CHNG_END_LSCH4_INT_ENA_M (BIT(20)) -#define LEDC_DUTY_CHNG_END_LSCH4_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH4_INT_ENA_S 20 -/* LEDC_DUTY_CHNG_END_LSCH3_INT_ENA : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel 3 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH3_INT_ENA (BIT(19)) -#define LEDC_DUTY_CHNG_END_LSCH3_INT_ENA_M (BIT(19)) -#define LEDC_DUTY_CHNG_END_LSCH3_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH3_INT_ENA_S 19 -/* LEDC_DUTY_CHNG_END_LSCH2_INT_ENA : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel 2 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH2_INT_ENA (BIT(18)) -#define LEDC_DUTY_CHNG_END_LSCH2_INT_ENA_M (BIT(18)) -#define LEDC_DUTY_CHNG_END_LSCH2_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH2_INT_ENA_S 18 -/* LEDC_DUTY_CHNG_END_LSCH1_INT_ENA : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel 1 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH1_INT_ENA (BIT(17)) -#define LEDC_DUTY_CHNG_END_LSCH1_INT_ENA_M (BIT(17)) -#define LEDC_DUTY_CHNG_END_LSCH1_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH1_INT_ENA_S 17 -/* LEDC_DUTY_CHNG_END_LSCH0_INT_ENA : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel 0 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH0_INT_ENA (BIT(16)) -#define LEDC_DUTY_CHNG_END_LSCH0_INT_ENA_M (BIT(16)) -#define LEDC_DUTY_CHNG_END_LSCH0_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH0_INT_ENA_S 16 -/* LEDC_DUTY_CHNG_END_HSCH7_INT_ENA : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel 7 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH7_INT_ENA (BIT(15)) -#define LEDC_DUTY_CHNG_END_HSCH7_INT_ENA_M (BIT(15)) -#define LEDC_DUTY_CHNG_END_HSCH7_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH7_INT_ENA_S 15 -/* LEDC_DUTY_CHNG_END_HSCH6_INT_ENA : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel 6 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH6_INT_ENA (BIT(14)) -#define LEDC_DUTY_CHNG_END_HSCH6_INT_ENA_M (BIT(14)) -#define LEDC_DUTY_CHNG_END_HSCH6_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH6_INT_ENA_S 14 -/* LEDC_DUTY_CHNG_END_HSCH5_INT_ENA : R/W ;bitpos:[13] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel 5 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH5_INT_ENA (BIT(13)) -#define LEDC_DUTY_CHNG_END_HSCH5_INT_ENA_M (BIT(13)) -#define LEDC_DUTY_CHNG_END_HSCH5_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH5_INT_ENA_S 13 -/* LEDC_DUTY_CHNG_END_HSCH4_INT_ENA : R/W ;bitpos:[12] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel 4 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH4_INT_ENA (BIT(12)) -#define LEDC_DUTY_CHNG_END_HSCH4_INT_ENA_M (BIT(12)) -#define LEDC_DUTY_CHNG_END_HSCH4_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH4_INT_ENA_S 12 -/* LEDC_DUTY_CHNG_END_HSCH3_INT_ENA : R/W ;bitpos:[11] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel 3 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH3_INT_ENA (BIT(11)) -#define LEDC_DUTY_CHNG_END_HSCH3_INT_ENA_M (BIT(11)) -#define LEDC_DUTY_CHNG_END_HSCH3_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH3_INT_ENA_S 11 -/* LEDC_DUTY_CHNG_END_HSCH2_INT_ENA : R/W ;bitpos:[10] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel 2 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH2_INT_ENA (BIT(10)) -#define LEDC_DUTY_CHNG_END_HSCH2_INT_ENA_M (BIT(10)) -#define LEDC_DUTY_CHNG_END_HSCH2_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH2_INT_ENA_S 10 -/* LEDC_DUTY_CHNG_END_HSCH1_INT_ENA : R/W ;bitpos:[9] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel 1 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH1_INT_ENA (BIT(9)) -#define LEDC_DUTY_CHNG_END_HSCH1_INT_ENA_M (BIT(9)) -#define LEDC_DUTY_CHNG_END_HSCH1_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH1_INT_ENA_S 9 -/* LEDC_DUTY_CHNG_END_HSCH0_INT_ENA : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel 0 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH0_INT_ENA (BIT(8)) -#define LEDC_DUTY_CHNG_END_HSCH0_INT_ENA_M (BIT(8)) -#define LEDC_DUTY_CHNG_END_HSCH0_INT_ENA_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH0_INT_ENA_S 8 -/* LEDC_LSTIMER3_OVF_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel3 counter overflow interrupt.*/ -#define LEDC_LSTIMER3_OVF_INT_ENA (BIT(7)) -#define LEDC_LSTIMER3_OVF_INT_ENA_M (BIT(7)) -#define LEDC_LSTIMER3_OVF_INT_ENA_V 0x1 -#define LEDC_LSTIMER3_OVF_INT_ENA_S 7 -/* LEDC_LSTIMER2_OVF_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel2 counter overflow interrupt.*/ -#define LEDC_LSTIMER2_OVF_INT_ENA (BIT(6)) -#define LEDC_LSTIMER2_OVF_INT_ENA_M (BIT(6)) -#define LEDC_LSTIMER2_OVF_INT_ENA_V 0x1 -#define LEDC_LSTIMER2_OVF_INT_ENA_S 6 -/* LEDC_LSTIMER1_OVF_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel1 counter overflow interrupt.*/ -#define LEDC_LSTIMER1_OVF_INT_ENA (BIT(5)) -#define LEDC_LSTIMER1_OVF_INT_ENA_M (BIT(5)) -#define LEDC_LSTIMER1_OVF_INT_ENA_V 0x1 -#define LEDC_LSTIMER1_OVF_INT_ENA_S 5 -/* LEDC_LSTIMER0_OVF_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for low speed channel0 counter overflow interrupt.*/ -#define LEDC_LSTIMER0_OVF_INT_ENA (BIT(4)) -#define LEDC_LSTIMER0_OVF_INT_ENA_M (BIT(4)) -#define LEDC_LSTIMER0_OVF_INT_ENA_V 0x1 -#define LEDC_LSTIMER0_OVF_INT_ENA_S 4 -/* LEDC_HSTIMER3_OVF_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel3 counter overflow interrupt.*/ -#define LEDC_HSTIMER3_OVF_INT_ENA (BIT(3)) -#define LEDC_HSTIMER3_OVF_INT_ENA_M (BIT(3)) -#define LEDC_HSTIMER3_OVF_INT_ENA_V 0x1 -#define LEDC_HSTIMER3_OVF_INT_ENA_S 3 -/* LEDC_HSTIMER2_OVF_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel2 counter overflow interrupt.*/ -#define LEDC_HSTIMER2_OVF_INT_ENA (BIT(2)) -#define LEDC_HSTIMER2_OVF_INT_ENA_M (BIT(2)) -#define LEDC_HSTIMER2_OVF_INT_ENA_V 0x1 -#define LEDC_HSTIMER2_OVF_INT_ENA_S 2 -/* LEDC_HSTIMER1_OVF_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel1 counter overflow interrupt.*/ -#define LEDC_HSTIMER1_OVF_INT_ENA (BIT(1)) -#define LEDC_HSTIMER1_OVF_INT_ENA_M (BIT(1)) -#define LEDC_HSTIMER1_OVF_INT_ENA_V 0x1 -#define LEDC_HSTIMER1_OVF_INT_ENA_S 1 -/* LEDC_HSTIMER0_OVF_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The interrupt enable bit for high speed channel0 counter overflow interrupt.*/ -#define LEDC_HSTIMER0_OVF_INT_ENA (BIT(0)) -#define LEDC_HSTIMER0_OVF_INT_ENA_M (BIT(0)) -#define LEDC_HSTIMER0_OVF_INT_ENA_V 0x1 -#define LEDC_HSTIMER0_OVF_INT_ENA_S 0 - -#define LEDC_INT_CLR_REG (DR_REG_LEDC_BASE + 0x018C) -/* LEDC_DUTY_CHNG_END_LSCH7_INT_CLR : WO ;bitpos:[23] ;default: 1'h0 ; */ -/*description: Set this bit to clear low speed channel 7 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH7_INT_CLR (BIT(23)) -#define LEDC_DUTY_CHNG_END_LSCH7_INT_CLR_M (BIT(23)) -#define LEDC_DUTY_CHNG_END_LSCH7_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH7_INT_CLR_S 23 -/* LEDC_DUTY_CHNG_END_LSCH6_INT_CLR : WO ;bitpos:[22] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel 6 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH6_INT_CLR (BIT(22)) -#define LEDC_DUTY_CHNG_END_LSCH6_INT_CLR_M (BIT(22)) -#define LEDC_DUTY_CHNG_END_LSCH6_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH6_INT_CLR_S 22 -/* LEDC_DUTY_CHNG_END_LSCH5_INT_CLR : WO ;bitpos:[21] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel 5 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH5_INT_CLR (BIT(21)) -#define LEDC_DUTY_CHNG_END_LSCH5_INT_CLR_M (BIT(21)) -#define LEDC_DUTY_CHNG_END_LSCH5_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH5_INT_CLR_S 21 -/* LEDC_DUTY_CHNG_END_LSCH4_INT_CLR : WO ;bitpos:[20] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel 4 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH4_INT_CLR (BIT(20)) -#define LEDC_DUTY_CHNG_END_LSCH4_INT_CLR_M (BIT(20)) -#define LEDC_DUTY_CHNG_END_LSCH4_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH4_INT_CLR_S 20 -/* LEDC_DUTY_CHNG_END_LSCH3_INT_CLR : WO ;bitpos:[19] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel 3 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH3_INT_CLR (BIT(19)) -#define LEDC_DUTY_CHNG_END_LSCH3_INT_CLR_M (BIT(19)) -#define LEDC_DUTY_CHNG_END_LSCH3_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH3_INT_CLR_S 19 -/* LEDC_DUTY_CHNG_END_LSCH2_INT_CLR : WO ;bitpos:[18] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel 2 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH2_INT_CLR (BIT(18)) -#define LEDC_DUTY_CHNG_END_LSCH2_INT_CLR_M (BIT(18)) -#define LEDC_DUTY_CHNG_END_LSCH2_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH2_INT_CLR_S 18 -/* LEDC_DUTY_CHNG_END_LSCH1_INT_CLR : WO ;bitpos:[17] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel 1 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH1_INT_CLR (BIT(17)) -#define LEDC_DUTY_CHNG_END_LSCH1_INT_CLR_M (BIT(17)) -#define LEDC_DUTY_CHNG_END_LSCH1_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH1_INT_CLR_S 17 -/* LEDC_DUTY_CHNG_END_LSCH0_INT_CLR : WO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel 0 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_LSCH0_INT_CLR (BIT(16)) -#define LEDC_DUTY_CHNG_END_LSCH0_INT_CLR_M (BIT(16)) -#define LEDC_DUTY_CHNG_END_LSCH0_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_LSCH0_INT_CLR_S 16 -/* LEDC_DUTY_CHNG_END_HSCH7_INT_CLR : WO ;bitpos:[15] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel 7 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH7_INT_CLR (BIT(15)) -#define LEDC_DUTY_CHNG_END_HSCH7_INT_CLR_M (BIT(15)) -#define LEDC_DUTY_CHNG_END_HSCH7_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH7_INT_CLR_S 15 -/* LEDC_DUTY_CHNG_END_HSCH6_INT_CLR : WO ;bitpos:[14] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel 6 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH6_INT_CLR (BIT(14)) -#define LEDC_DUTY_CHNG_END_HSCH6_INT_CLR_M (BIT(14)) -#define LEDC_DUTY_CHNG_END_HSCH6_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH6_INT_CLR_S 14 -/* LEDC_DUTY_CHNG_END_HSCH5_INT_CLR : WO ;bitpos:[13] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel 5 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH5_INT_CLR (BIT(13)) -#define LEDC_DUTY_CHNG_END_HSCH5_INT_CLR_M (BIT(13)) -#define LEDC_DUTY_CHNG_END_HSCH5_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH5_INT_CLR_S 13 -/* LEDC_DUTY_CHNG_END_HSCH4_INT_CLR : WO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel 4 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH4_INT_CLR (BIT(12)) -#define LEDC_DUTY_CHNG_END_HSCH4_INT_CLR_M (BIT(12)) -#define LEDC_DUTY_CHNG_END_HSCH4_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH4_INT_CLR_S 12 -/* LEDC_DUTY_CHNG_END_HSCH3_INT_CLR : WO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel 3 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH3_INT_CLR (BIT(11)) -#define LEDC_DUTY_CHNG_END_HSCH3_INT_CLR_M (BIT(11)) -#define LEDC_DUTY_CHNG_END_HSCH3_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH3_INT_CLR_S 11 -/* LEDC_DUTY_CHNG_END_HSCH2_INT_CLR : WO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel 2 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH2_INT_CLR (BIT(10)) -#define LEDC_DUTY_CHNG_END_HSCH2_INT_CLR_M (BIT(10)) -#define LEDC_DUTY_CHNG_END_HSCH2_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH2_INT_CLR_S 10 -/* LEDC_DUTY_CHNG_END_HSCH1_INT_CLR : WO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel 1 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH1_INT_CLR (BIT(9)) -#define LEDC_DUTY_CHNG_END_HSCH1_INT_CLR_M (BIT(9)) -#define LEDC_DUTY_CHNG_END_HSCH1_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH1_INT_CLR_S 9 -/* LEDC_DUTY_CHNG_END_HSCH0_INT_CLR : WO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel 0 duty change done interrupt.*/ -#define LEDC_DUTY_CHNG_END_HSCH0_INT_CLR (BIT(8)) -#define LEDC_DUTY_CHNG_END_HSCH0_INT_CLR_M (BIT(8)) -#define LEDC_DUTY_CHNG_END_HSCH0_INT_CLR_V 0x1 -#define LEDC_DUTY_CHNG_END_HSCH0_INT_CLR_S 8 -/* LEDC_LSTIMER3_OVF_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel3 counter overflow interrupt.*/ -#define LEDC_LSTIMER3_OVF_INT_CLR (BIT(7)) -#define LEDC_LSTIMER3_OVF_INT_CLR_M (BIT(7)) -#define LEDC_LSTIMER3_OVF_INT_CLR_V 0x1 -#define LEDC_LSTIMER3_OVF_INT_CLR_S 7 -/* LEDC_LSTIMER2_OVF_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel2 counter overflow interrupt.*/ -#define LEDC_LSTIMER2_OVF_INT_CLR (BIT(6)) -#define LEDC_LSTIMER2_OVF_INT_CLR_M (BIT(6)) -#define LEDC_LSTIMER2_OVF_INT_CLR_V 0x1 -#define LEDC_LSTIMER2_OVF_INT_CLR_S 6 -/* LEDC_LSTIMER1_OVF_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel1 counter overflow interrupt.*/ -#define LEDC_LSTIMER1_OVF_INT_CLR (BIT(5)) -#define LEDC_LSTIMER1_OVF_INT_CLR_M (BIT(5)) -#define LEDC_LSTIMER1_OVF_INT_CLR_V 0x1 -#define LEDC_LSTIMER1_OVF_INT_CLR_S 5 -/* LEDC_LSTIMER0_OVF_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to clear low speed channel0 counter overflow interrupt.*/ -#define LEDC_LSTIMER0_OVF_INT_CLR (BIT(4)) -#define LEDC_LSTIMER0_OVF_INT_CLR_M (BIT(4)) -#define LEDC_LSTIMER0_OVF_INT_CLR_V 0x1 -#define LEDC_LSTIMER0_OVF_INT_CLR_S 4 -/* LEDC_HSTIMER3_OVF_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel3 counter overflow interrupt.*/ -#define LEDC_HSTIMER3_OVF_INT_CLR (BIT(3)) -#define LEDC_HSTIMER3_OVF_INT_CLR_M (BIT(3)) -#define LEDC_HSTIMER3_OVF_INT_CLR_V 0x1 -#define LEDC_HSTIMER3_OVF_INT_CLR_S 3 -/* LEDC_HSTIMER2_OVF_INT_CLR : WO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel2 counter overflow interrupt.*/ -#define LEDC_HSTIMER2_OVF_INT_CLR (BIT(2)) -#define LEDC_HSTIMER2_OVF_INT_CLR_M (BIT(2)) -#define LEDC_HSTIMER2_OVF_INT_CLR_V 0x1 -#define LEDC_HSTIMER2_OVF_INT_CLR_S 2 -/* LEDC_HSTIMER1_OVF_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel1 counter overflow interrupt.*/ -#define LEDC_HSTIMER1_OVF_INT_CLR (BIT(1)) -#define LEDC_HSTIMER1_OVF_INT_CLR_M (BIT(1)) -#define LEDC_HSTIMER1_OVF_INT_CLR_V 0x1 -#define LEDC_HSTIMER1_OVF_INT_CLR_S 1 -/* LEDC_HSTIMER0_OVF_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: Set this bit to clear high speed channel0 counter overflow interrupt.*/ -#define LEDC_HSTIMER0_OVF_INT_CLR (BIT(0)) -#define LEDC_HSTIMER0_OVF_INT_CLR_M (BIT(0)) -#define LEDC_HSTIMER0_OVF_INT_CLR_V 0x1 -#define LEDC_HSTIMER0_OVF_INT_CLR_S 0 - -#define LEDC_CONF_REG (DR_REG_LEDC_BASE + 0x0190) -/* LEDC_APB_CLK_SEL : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: This bit is used to set the frequency of slow_clk. 1'b1:80mhz 1'b0:8mhz*/ -#define LEDC_APB_CLK_SEL (BIT(0)) -#define LEDC_APB_CLK_SEL_M (BIT(0)) -#define LEDC_APB_CLK_SEL_V 0x1 -#define LEDC_APB_CLK_SEL_S 0 - -#define LEDC_DATE_REG (DR_REG_LEDC_BASE + 0x01FC) -/* LEDC_DATE : R/W ;bitpos:[31:0] ;default: 32'h16031700 ; */ -/*description: This register represents the version .*/ -#define LEDC_DATE 0xFFFFFFFF -#define LEDC_DATE_M ((LEDC_DATE_V)<<(LEDC_DATE_S)) -#define LEDC_DATE_V 0xFFFFFFFF -#define LEDC_DATE_S 0 - - - - -#endif /*_SOC_LEDC_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_LEDC_REG_H_ +#define _SOC_LEDC_REG_H_ + + +#include "soc.h" +#define LEDC_HSCH0_CONF0_REG (DR_REG_LEDC_BASE + 0x0000) +/* LEDC_CLK_EN : R/W ;bitpos:[31] ;default: 1'h0 ; */ +/*description: This bit is clock gating control signal. when software config + LED_PWM internal registers it controls the register clock.*/ +#define LEDC_CLK_EN (BIT(31)) +#define LEDC_CLK_EN_M (BIT(31)) +#define LEDC_CLK_EN_V 0x1 +#define LEDC_CLK_EN_S 31 +/* LEDC_IDLE_LV_HSCH0 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when high speed channel0 is off.*/ +#define LEDC_IDLE_LV_HSCH0 (BIT(3)) +#define LEDC_IDLE_LV_HSCH0_M (BIT(3)) +#define LEDC_IDLE_LV_HSCH0_V 0x1 +#define LEDC_IDLE_LV_HSCH0_S 3 +/* LEDC_SIG_OUT_EN_HSCH0 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for high speed channel0*/ +#define LEDC_SIG_OUT_EN_HSCH0 (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH0_M (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH0_V 0x1 +#define LEDC_SIG_OUT_EN_HSCH0_S 2 +/* LEDC_TIMER_SEL_HSCH0 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four high speed timers the two bits are used to select + one of them for high speed channel0. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ +#define LEDC_TIMER_SEL_HSCH0 0x00000003 +#define LEDC_TIMER_SEL_HSCH0_M ((LEDC_TIMER_SEL_HSCH0_V)<<(LEDC_TIMER_SEL_HSCH0_S)) +#define LEDC_TIMER_SEL_HSCH0_V 0x3 +#define LEDC_TIMER_SEL_HSCH0_S 0 + +#define LEDC_HSCH0_HPOINT_REG (DR_REG_LEDC_BASE + 0x0004) +/* LEDC_HPOINT_HSCH0 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when htimerx(x=[0 3]) selected + by high speed channel0 has reached reg_hpoint_hsch0[19:0]*/ +#define LEDC_HPOINT_HSCH0 0x000FFFFF +#define LEDC_HPOINT_HSCH0_M ((LEDC_HPOINT_HSCH0_V)<<(LEDC_HPOINT_HSCH0_S)) +#define LEDC_HPOINT_HSCH0_V 0xFFFFF +#define LEDC_HPOINT_HSCH0_S 0 + +#define LEDC_HSCH0_DUTY_REG (DR_REG_LEDC_BASE + 0x0008) +/* LEDC_DUTY_HSCH0 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When hstimerx(x=[0 + 3]) choosed by high speed channel0 has reached reg_lpoint_hsch0 the output signal changes to low. reg_lpoint_hsch0=(reg_hpoint_hsch0[19:0]+reg_duty_hsch0[24:4]) (1) reg_lpoint_hsch0=(reg_hpoint_hsch0[19:0]+reg_duty_hsch0[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_HSCH0 0x01FFFFFF +#define LEDC_DUTY_HSCH0_M ((LEDC_DUTY_HSCH0_V)<<(LEDC_DUTY_HSCH0_S)) +#define LEDC_DUTY_HSCH0_V 0x1FFFFFF +#define LEDC_DUTY_HSCH0_S 0 + +#define LEDC_HSCH0_CONF1_REG (DR_REG_LEDC_BASE + 0x000C) +/* LEDC_DUTY_START_HSCH0 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch0 reg_duty_cycle_hsch0 and reg_duty_scale_hsch0 + has been configured. these register won't take effect until set reg_duty_start_hsch0. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_HSCH0 (BIT(31)) +#define LEDC_DUTY_START_HSCH0_M (BIT(31)) +#define LEDC_DUTY_START_HSCH0_V 0x1 +#define LEDC_DUTY_START_HSCH0_S 31 +/* LEDC_DUTY_INC_HSCH0 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for high speed channel0.*/ +#define LEDC_DUTY_INC_HSCH0 (BIT(30)) +#define LEDC_DUTY_INC_HSCH0_M (BIT(30)) +#define LEDC_DUTY_INC_HSCH0_V 0x1 +#define LEDC_DUTY_INC_HSCH0_S 30 +/* LEDC_DUTY_NUM_HSCH0 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for high speed channel0.*/ +#define LEDC_DUTY_NUM_HSCH0 0x000003FF +#define LEDC_DUTY_NUM_HSCH0_M ((LEDC_DUTY_NUM_HSCH0_V)<<(LEDC_DUTY_NUM_HSCH0_S)) +#define LEDC_DUTY_NUM_HSCH0_V 0x3FF +#define LEDC_DUTY_NUM_HSCH0_S 20 +/* LEDC_DUTY_CYCLE_HSCH0 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_hsch0 cycles for high speed channel0.*/ +#define LEDC_DUTY_CYCLE_HSCH0 0x000003FF +#define LEDC_DUTY_CYCLE_HSCH0_M ((LEDC_DUTY_CYCLE_HSCH0_V)<<(LEDC_DUTY_CYCLE_HSCH0_S)) +#define LEDC_DUTY_CYCLE_HSCH0_V 0x3FF +#define LEDC_DUTY_CYCLE_HSCH0_S 10 +/* LEDC_DUTY_SCALE_HSCH0 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + high speed channel0.*/ +#define LEDC_DUTY_SCALE_HSCH0 0x000003FF +#define LEDC_DUTY_SCALE_HSCH0_M ((LEDC_DUTY_SCALE_HSCH0_V)<<(LEDC_DUTY_SCALE_HSCH0_S)) +#define LEDC_DUTY_SCALE_HSCH0_V 0x3FF +#define LEDC_DUTY_SCALE_HSCH0_S 0 + +#define LEDC_HSCH0_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0010) +/* LEDC_DUTY_HSCH0 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for high speed channel0.*/ +#define LEDC_DUTY_HSCH0 0x01FFFFFF +#define LEDC_DUTY_HSCH0_M ((LEDC_DUTY_HSCH0_V)<<(LEDC_DUTY_HSCH0_S)) +#define LEDC_DUTY_HSCH0_V 0x1FFFFFF +#define LEDC_DUTY_HSCH0_S 0 + +#define LEDC_HSCH1_CONF0_REG (DR_REG_LEDC_BASE + 0x0014) +/* LEDC_IDLE_LV_HSCH1 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when high speed channel1 is off.*/ +#define LEDC_IDLE_LV_HSCH1 (BIT(3)) +#define LEDC_IDLE_LV_HSCH1_M (BIT(3)) +#define LEDC_IDLE_LV_HSCH1_V 0x1 +#define LEDC_IDLE_LV_HSCH1_S 3 +/* LEDC_SIG_OUT_EN_HSCH1 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for high speed channel1*/ +#define LEDC_SIG_OUT_EN_HSCH1 (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH1_M (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH1_V 0x1 +#define LEDC_SIG_OUT_EN_HSCH1_S 2 +/* LEDC_TIMER_SEL_HSCH1 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four high speed timers the two bits are used to select + one of them for high speed channel1. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ +#define LEDC_TIMER_SEL_HSCH1 0x00000003 +#define LEDC_TIMER_SEL_HSCH1_M ((LEDC_TIMER_SEL_HSCH1_V)<<(LEDC_TIMER_SEL_HSCH1_S)) +#define LEDC_TIMER_SEL_HSCH1_V 0x3 +#define LEDC_TIMER_SEL_HSCH1_S 0 + +#define LEDC_HSCH1_HPOINT_REG (DR_REG_LEDC_BASE + 0x0018) +/* LEDC_HPOINT_HSCH1 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when htimerx(x=[0 3]) selected + by high speed channel1 has reached reg_hpoint_hsch1[19:0]*/ +#define LEDC_HPOINT_HSCH1 0x000FFFFF +#define LEDC_HPOINT_HSCH1_M ((LEDC_HPOINT_HSCH1_V)<<(LEDC_HPOINT_HSCH1_S)) +#define LEDC_HPOINT_HSCH1_V 0xFFFFF +#define LEDC_HPOINT_HSCH1_S 0 + +#define LEDC_HSCH1_DUTY_REG (DR_REG_LEDC_BASE + 0x001C) +/* LEDC_DUTY_HSCH1 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When hstimerx(x=[0 + 3]) choosed by high speed channel1 has reached reg_lpoint_hsch1 the output signal changes to low. reg_lpoint_hsch1=(reg_hpoint_hsch1[19:0]+reg_duty_hsch1[24:4]) (1) reg_lpoint_hsch1=(reg_hpoint_hsch1[19:0]+reg_duty_hsch1[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_HSCH1 0x01FFFFFF +#define LEDC_DUTY_HSCH1_M ((LEDC_DUTY_HSCH1_V)<<(LEDC_DUTY_HSCH1_S)) +#define LEDC_DUTY_HSCH1_V 0x1FFFFFF +#define LEDC_DUTY_HSCH1_S 0 + +#define LEDC_HSCH1_CONF1_REG (DR_REG_LEDC_BASE + 0x0020) +/* LEDC_DUTY_START_HSCH1 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 + has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_HSCH1 (BIT(31)) +#define LEDC_DUTY_START_HSCH1_M (BIT(31)) +#define LEDC_DUTY_START_HSCH1_V 0x1 +#define LEDC_DUTY_START_HSCH1_S 31 +/* LEDC_DUTY_INC_HSCH1 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for high speed channel1.*/ +#define LEDC_DUTY_INC_HSCH1 (BIT(30)) +#define LEDC_DUTY_INC_HSCH1_M (BIT(30)) +#define LEDC_DUTY_INC_HSCH1_V 0x1 +#define LEDC_DUTY_INC_HSCH1_S 30 +/* LEDC_DUTY_NUM_HSCH1 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for high speed channel1.*/ +#define LEDC_DUTY_NUM_HSCH1 0x000003FF +#define LEDC_DUTY_NUM_HSCH1_M ((LEDC_DUTY_NUM_HSCH1_V)<<(LEDC_DUTY_NUM_HSCH1_S)) +#define LEDC_DUTY_NUM_HSCH1_V 0x3FF +#define LEDC_DUTY_NUM_HSCH1_S 20 +/* LEDC_DUTY_CYCLE_HSCH1 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_hsch1 cycles for high speed channel1.*/ +#define LEDC_DUTY_CYCLE_HSCH1 0x000003FF +#define LEDC_DUTY_CYCLE_HSCH1_M ((LEDC_DUTY_CYCLE_HSCH1_V)<<(LEDC_DUTY_CYCLE_HSCH1_S)) +#define LEDC_DUTY_CYCLE_HSCH1_V 0x3FF +#define LEDC_DUTY_CYCLE_HSCH1_S 10 +/* LEDC_DUTY_SCALE_HSCH1 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + high speed channel1.*/ +#define LEDC_DUTY_SCALE_HSCH1 0x000003FF +#define LEDC_DUTY_SCALE_HSCH1_M ((LEDC_DUTY_SCALE_HSCH1_V)<<(LEDC_DUTY_SCALE_HSCH1_S)) +#define LEDC_DUTY_SCALE_HSCH1_V 0x3FF +#define LEDC_DUTY_SCALE_HSCH1_S 0 + +#define LEDC_HSCH1_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0024) +/* LEDC_DUTY_HSCH1 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for high speed channel1.*/ +#define LEDC_DUTY_HSCH1 0x01FFFFFF +#define LEDC_DUTY_HSCH1_M ((LEDC_DUTY_HSCH1_V)<<(LEDC_DUTY_HSCH1_S)) +#define LEDC_DUTY_HSCH1_V 0x1FFFFFF +#define LEDC_DUTY_HSCH1_S 0 + +#define LEDC_HSCH2_CONF0_REG (DR_REG_LEDC_BASE + 0x0028) +/* LEDC_IDLE_LV_HSCH2 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when high speed channel2 is off.*/ +#define LEDC_IDLE_LV_HSCH2 (BIT(3)) +#define LEDC_IDLE_LV_HSCH2_M (BIT(3)) +#define LEDC_IDLE_LV_HSCH2_V 0x1 +#define LEDC_IDLE_LV_HSCH2_S 3 +/* LEDC_SIG_OUT_EN_HSCH2 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for high speed channel2*/ +#define LEDC_SIG_OUT_EN_HSCH2 (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH2_M (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH2_V 0x1 +#define LEDC_SIG_OUT_EN_HSCH2_S 2 +/* LEDC_TIMER_SEL_HSCH2 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four high speed timers the two bits are used to select + one of them for high speed channel2. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ +#define LEDC_TIMER_SEL_HSCH2 0x00000003 +#define LEDC_TIMER_SEL_HSCH2_M ((LEDC_TIMER_SEL_HSCH2_V)<<(LEDC_TIMER_SEL_HSCH2_S)) +#define LEDC_TIMER_SEL_HSCH2_V 0x3 +#define LEDC_TIMER_SEL_HSCH2_S 0 + +#define LEDC_HSCH2_HPOINT_REG (DR_REG_LEDC_BASE + 0x002C) +/* LEDC_HPOINT_HSCH2 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when htimerx(x=[0 3]) selected + by high speed channel2 has reached reg_hpoint_hsch2[19:0]*/ +#define LEDC_HPOINT_HSCH2 0x000FFFFF +#define LEDC_HPOINT_HSCH2_M ((LEDC_HPOINT_HSCH2_V)<<(LEDC_HPOINT_HSCH2_S)) +#define LEDC_HPOINT_HSCH2_V 0xFFFFF +#define LEDC_HPOINT_HSCH2_S 0 + +#define LEDC_HSCH2_DUTY_REG (DR_REG_LEDC_BASE + 0x0030) +/* LEDC_DUTY_HSCH2 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When hstimerx(x=[0 + 3]) choosed by high speed channel2 has reached reg_lpoint_hsch2 the output signal changes to low. reg_lpoint_hsch2=(reg_hpoint_hsch2[19:0]+reg_duty_hsch2[24:4]) (1) reg_lpoint_hsch2=(reg_hpoint_hsch2[19:0]+reg_duty_hsch2[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_HSCH2 0x01FFFFFF +#define LEDC_DUTY_HSCH2_M ((LEDC_DUTY_HSCH2_V)<<(LEDC_DUTY_HSCH2_S)) +#define LEDC_DUTY_HSCH2_V 0x1FFFFFF +#define LEDC_DUTY_HSCH2_S 0 + +#define LEDC_HSCH2_CONF1_REG (DR_REG_LEDC_BASE + 0x0034) +/* LEDC_DUTY_START_HSCH2 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch2 reg_duty_cycle_hsch2 and reg_duty_scale_hsch2 + has been configured. these register won't take effect until set reg_duty_start_hsch2. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_HSCH2 (BIT(31)) +#define LEDC_DUTY_START_HSCH2_M (BIT(31)) +#define LEDC_DUTY_START_HSCH2_V 0x1 +#define LEDC_DUTY_START_HSCH2_S 31 +/* LEDC_DUTY_INC_HSCH2 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for high speed channel2.*/ +#define LEDC_DUTY_INC_HSCH2 (BIT(30)) +#define LEDC_DUTY_INC_HSCH2_M (BIT(30)) +#define LEDC_DUTY_INC_HSCH2_V 0x1 +#define LEDC_DUTY_INC_HSCH2_S 30 +/* LEDC_DUTY_NUM_HSCH2 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for high speed channel2.*/ +#define LEDC_DUTY_NUM_HSCH2 0x000003FF +#define LEDC_DUTY_NUM_HSCH2_M ((LEDC_DUTY_NUM_HSCH2_V)<<(LEDC_DUTY_NUM_HSCH2_S)) +#define LEDC_DUTY_NUM_HSCH2_V 0x3FF +#define LEDC_DUTY_NUM_HSCH2_S 20 +/* LEDC_DUTY_CYCLE_HSCH2 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_hsch2 cycles for high speed channel2.*/ +#define LEDC_DUTY_CYCLE_HSCH2 0x000003FF +#define LEDC_DUTY_CYCLE_HSCH2_M ((LEDC_DUTY_CYCLE_HSCH2_V)<<(LEDC_DUTY_CYCLE_HSCH2_S)) +#define LEDC_DUTY_CYCLE_HSCH2_V 0x3FF +#define LEDC_DUTY_CYCLE_HSCH2_S 10 +/* LEDC_DUTY_SCALE_HSCH2 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + high speed channel2.*/ +#define LEDC_DUTY_SCALE_HSCH2 0x000003FF +#define LEDC_DUTY_SCALE_HSCH2_M ((LEDC_DUTY_SCALE_HSCH2_V)<<(LEDC_DUTY_SCALE_HSCH2_S)) +#define LEDC_DUTY_SCALE_HSCH2_V 0x3FF +#define LEDC_DUTY_SCALE_HSCH2_S 0 + +#define LEDC_HSCH2_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0038) +/* LEDC_DUTY_HSCH2 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for high speed channel2.*/ +#define LEDC_DUTY_HSCH2 0x01FFFFFF +#define LEDC_DUTY_HSCH2_M ((LEDC_DUTY_HSCH2_V)<<(LEDC_DUTY_HSCH2_S)) +#define LEDC_DUTY_HSCH2_V 0x1FFFFFF +#define LEDC_DUTY_HSCH2_S 0 + +#define LEDC_HSCH3_CONF0_REG (DR_REG_LEDC_BASE + 0x003C) +/* LEDC_IDLE_LV_HSCH3 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when high speed channel3 is off.*/ +#define LEDC_IDLE_LV_HSCH3 (BIT(3)) +#define LEDC_IDLE_LV_HSCH3_M (BIT(3)) +#define LEDC_IDLE_LV_HSCH3_V 0x1 +#define LEDC_IDLE_LV_HSCH3_S 3 +/* LEDC_SIG_OUT_EN_HSCH3 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for high speed channel3*/ +#define LEDC_SIG_OUT_EN_HSCH3 (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH3_M (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH3_V 0x1 +#define LEDC_SIG_OUT_EN_HSCH3_S 2 +/* LEDC_TIMER_SEL_HSCH3 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four high speed timers the two bits are used to select + one of them for high speed channel3. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ +#define LEDC_TIMER_SEL_HSCH3 0x00000003 +#define LEDC_TIMER_SEL_HSCH3_M ((LEDC_TIMER_SEL_HSCH3_V)<<(LEDC_TIMER_SEL_HSCH3_S)) +#define LEDC_TIMER_SEL_HSCH3_V 0x3 +#define LEDC_TIMER_SEL_HSCH3_S 0 + +#define LEDC_HSCH3_HPOINT_REG (DR_REG_LEDC_BASE + 0x0040) +/* LEDC_HPOINT_HSCH3 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when htimerx(x=[0 3]) selected + by high speed channel3 has reached reg_hpoint_hsch3[19:0]*/ +#define LEDC_HPOINT_HSCH3 0x000FFFFF +#define LEDC_HPOINT_HSCH3_M ((LEDC_HPOINT_HSCH3_V)<<(LEDC_HPOINT_HSCH3_S)) +#define LEDC_HPOINT_HSCH3_V 0xFFFFF +#define LEDC_HPOINT_HSCH3_S 0 + +#define LEDC_HSCH3_DUTY_REG (DR_REG_LEDC_BASE + 0x0044) +/* LEDC_DUTY_HSCH3 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When hstimerx(x=[0 + 3]) choosed by high speed channel3 has reached reg_lpoint_hsch3 the output signal changes to low. reg_lpoint_hsch3=(reg_hpoint_hsch3[19:0]+reg_duty_hsch3[24:4]) (1) reg_lpoint_hsch3=(reg_hpoint_hsch3[19:0]+reg_duty_hsch3[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_HSCH3 0x01FFFFFF +#define LEDC_DUTY_HSCH3_M ((LEDC_DUTY_HSCH3_V)<<(LEDC_DUTY_HSCH3_S)) +#define LEDC_DUTY_HSCH3_V 0x1FFFFFF +#define LEDC_DUTY_HSCH3_S 0 + +#define LEDC_HSCH3_CONF1_REG (DR_REG_LEDC_BASE + 0x0048) +/* LEDC_DUTY_START_HSCH3 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch3 reg_duty_cycle_hsch3 and reg_duty_scale_hsch3 + has been configured. these register won't take effect until set reg_duty_start_hsch3. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_HSCH3 (BIT(31)) +#define LEDC_DUTY_START_HSCH3_M (BIT(31)) +#define LEDC_DUTY_START_HSCH3_V 0x1 +#define LEDC_DUTY_START_HSCH3_S 31 +/* LEDC_DUTY_INC_HSCH3 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for high speed channel3.*/ +#define LEDC_DUTY_INC_HSCH3 (BIT(30)) +#define LEDC_DUTY_INC_HSCH3_M (BIT(30)) +#define LEDC_DUTY_INC_HSCH3_V 0x1 +#define LEDC_DUTY_INC_HSCH3_S 30 +/* LEDC_DUTY_NUM_HSCH3 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for high speed channel3.*/ +#define LEDC_DUTY_NUM_HSCH3 0x000003FF +#define LEDC_DUTY_NUM_HSCH3_M ((LEDC_DUTY_NUM_HSCH3_V)<<(LEDC_DUTY_NUM_HSCH3_S)) +#define LEDC_DUTY_NUM_HSCH3_V 0x3FF +#define LEDC_DUTY_NUM_HSCH3_S 20 +/* LEDC_DUTY_CYCLE_HSCH3 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_hsch3 cycles for high speed channel3.*/ +#define LEDC_DUTY_CYCLE_HSCH3 0x000003FF +#define LEDC_DUTY_CYCLE_HSCH3_M ((LEDC_DUTY_CYCLE_HSCH3_V)<<(LEDC_DUTY_CYCLE_HSCH3_S)) +#define LEDC_DUTY_CYCLE_HSCH3_V 0x3FF +#define LEDC_DUTY_CYCLE_HSCH3_S 10 +/* LEDC_DUTY_SCALE_HSCH3 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + high speed channel3.*/ +#define LEDC_DUTY_SCALE_HSCH3 0x000003FF +#define LEDC_DUTY_SCALE_HSCH3_M ((LEDC_DUTY_SCALE_HSCH3_V)<<(LEDC_DUTY_SCALE_HSCH3_S)) +#define LEDC_DUTY_SCALE_HSCH3_V 0x3FF +#define LEDC_DUTY_SCALE_HSCH3_S 0 + +#define LEDC_HSCH3_DUTY_R_REG (DR_REG_LEDC_BASE + 0x004C) +/* LEDC_DUTY_HSCH3 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for high speed channel3.*/ +#define LEDC_DUTY_HSCH3 0x01FFFFFF +#define LEDC_DUTY_HSCH3_M ((LEDC_DUTY_HSCH3_V)<<(LEDC_DUTY_HSCH3_S)) +#define LEDC_DUTY_HSCH3_V 0x1FFFFFF +#define LEDC_DUTY_HSCH3_S 0 + +#define LEDC_HSCH4_CONF0_REG (DR_REG_LEDC_BASE + 0x0050) +/* LEDC_IDLE_LV_HSCH4 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when high speed channel4 is off.*/ +#define LEDC_IDLE_LV_HSCH4 (BIT(3)) +#define LEDC_IDLE_LV_HSCH4_M (BIT(3)) +#define LEDC_IDLE_LV_HSCH4_V 0x1 +#define LEDC_IDLE_LV_HSCH4_S 3 +/* LEDC_SIG_OUT_EN_HSCH4 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for high speed channel4*/ +#define LEDC_SIG_OUT_EN_HSCH4 (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH4_M (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH4_V 0x1 +#define LEDC_SIG_OUT_EN_HSCH4_S 2 +/* LEDC_TIMER_SEL_HSCH4 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four high speed timers the two bits are used to select + one of them for high speed channel4. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ +#define LEDC_TIMER_SEL_HSCH4 0x00000003 +#define LEDC_TIMER_SEL_HSCH4_M ((LEDC_TIMER_SEL_HSCH4_V)<<(LEDC_TIMER_SEL_HSCH4_S)) +#define LEDC_TIMER_SEL_HSCH4_V 0x3 +#define LEDC_TIMER_SEL_HSCH4_S 0 + +#define LEDC_HSCH4_HPOINT_REG (DR_REG_LEDC_BASE + 0x0054) +/* LEDC_HPOINT_HSCH4 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when htimerx(x=[0 3]) selected + by high speed channel4 has reached reg_hpoint_hsch4[19:0]*/ +#define LEDC_HPOINT_HSCH4 0x000FFFFF +#define LEDC_HPOINT_HSCH4_M ((LEDC_HPOINT_HSCH4_V)<<(LEDC_HPOINT_HSCH4_S)) +#define LEDC_HPOINT_HSCH4_V 0xFFFFF +#define LEDC_HPOINT_HSCH4_S 0 + +#define LEDC_HSCH4_DUTY_REG (DR_REG_LEDC_BASE + 0x0058) +/* LEDC_DUTY_HSCH4 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When hstimerx(x=[0 + 3]) choosed by high speed channel4 has reached reg_lpoint_hsch4 the output signal changes to low. reg_lpoint_hsch4=(reg_hpoint_hsch4[19:0]+reg_duty_hsch4[24:4]) (1) reg_lpoint_hsch4=(reg_hpoint_hsch4[19:0]+reg_duty_hsch4[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_HSCH4 0x01FFFFFF +#define LEDC_DUTY_HSCH4_M ((LEDC_DUTY_HSCH4_V)<<(LEDC_DUTY_HSCH4_S)) +#define LEDC_DUTY_HSCH4_V 0x1FFFFFF +#define LEDC_DUTY_HSCH4_S 0 + +#define LEDC_HSCH4_CONF1_REG (DR_REG_LEDC_BASE + 0x005C) +/* LEDC_DUTY_START_HSCH4 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 + has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_HSCH4 (BIT(31)) +#define LEDC_DUTY_START_HSCH4_M (BIT(31)) +#define LEDC_DUTY_START_HSCH4_V 0x1 +#define LEDC_DUTY_START_HSCH4_S 31 +/* LEDC_DUTY_INC_HSCH4 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for high speed channel4.*/ +#define LEDC_DUTY_INC_HSCH4 (BIT(30)) +#define LEDC_DUTY_INC_HSCH4_M (BIT(30)) +#define LEDC_DUTY_INC_HSCH4_V 0x1 +#define LEDC_DUTY_INC_HSCH4_S 30 +/* LEDC_DUTY_NUM_HSCH4 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for high speed channel1.*/ +#define LEDC_DUTY_NUM_HSCH4 0x000003FF +#define LEDC_DUTY_NUM_HSCH4_M ((LEDC_DUTY_NUM_HSCH4_V)<<(LEDC_DUTY_NUM_HSCH4_S)) +#define LEDC_DUTY_NUM_HSCH4_V 0x3FF +#define LEDC_DUTY_NUM_HSCH4_S 20 +/* LEDC_DUTY_CYCLE_HSCH4 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_hsch4 cycles for high speed channel4.*/ +#define LEDC_DUTY_CYCLE_HSCH4 0x000003FF +#define LEDC_DUTY_CYCLE_HSCH4_M ((LEDC_DUTY_CYCLE_HSCH4_V)<<(LEDC_DUTY_CYCLE_HSCH4_S)) +#define LEDC_DUTY_CYCLE_HSCH4_V 0x3FF +#define LEDC_DUTY_CYCLE_HSCH4_S 10 +/* LEDC_DUTY_SCALE_HSCH4 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + high speed channel4.*/ +#define LEDC_DUTY_SCALE_HSCH4 0x000003FF +#define LEDC_DUTY_SCALE_HSCH4_M ((LEDC_DUTY_SCALE_HSCH4_V)<<(LEDC_DUTY_SCALE_HSCH4_S)) +#define LEDC_DUTY_SCALE_HSCH4_V 0x3FF +#define LEDC_DUTY_SCALE_HSCH4_S 0 + +#define LEDC_HSCH4_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0060) +/* LEDC_DUTY_HSCH4 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for high speed channel4.*/ +#define LEDC_DUTY_HSCH4 0x01FFFFFF +#define LEDC_DUTY_HSCH4_M ((LEDC_DUTY_HSCH4_V)<<(LEDC_DUTY_HSCH4_S)) +#define LEDC_DUTY_HSCH4_V 0x1FFFFFF +#define LEDC_DUTY_HSCH4_S 0 + +#define LEDC_HSCH5_CONF0_REG (DR_REG_LEDC_BASE + 0x0064) +/* LEDC_IDLE_LV_HSCH5 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when high speed channel5 is off.*/ +#define LEDC_IDLE_LV_HSCH5 (BIT(3)) +#define LEDC_IDLE_LV_HSCH5_M (BIT(3)) +#define LEDC_IDLE_LV_HSCH5_V 0x1 +#define LEDC_IDLE_LV_HSCH5_S 3 +/* LEDC_SIG_OUT_EN_HSCH5 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for high speed channel5.*/ +#define LEDC_SIG_OUT_EN_HSCH5 (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH5_M (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH5_V 0x1 +#define LEDC_SIG_OUT_EN_HSCH5_S 2 +/* LEDC_TIMER_SEL_HSCH5 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four high speed timers the two bits are used to select + one of them for high speed channel5. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ +#define LEDC_TIMER_SEL_HSCH5 0x00000003 +#define LEDC_TIMER_SEL_HSCH5_M ((LEDC_TIMER_SEL_HSCH5_V)<<(LEDC_TIMER_SEL_HSCH5_S)) +#define LEDC_TIMER_SEL_HSCH5_V 0x3 +#define LEDC_TIMER_SEL_HSCH5_S 0 + +#define LEDC_HSCH5_HPOINT_REG (DR_REG_LEDC_BASE + 0x0068) +/* LEDC_HPOINT_HSCH5 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when htimerx(x=[0 3]) selected + by high speed channel5 has reached reg_hpoint_hsch5[19:0]*/ +#define LEDC_HPOINT_HSCH5 0x000FFFFF +#define LEDC_HPOINT_HSCH5_M ((LEDC_HPOINT_HSCH5_V)<<(LEDC_HPOINT_HSCH5_S)) +#define LEDC_HPOINT_HSCH5_V 0xFFFFF +#define LEDC_HPOINT_HSCH5_S 0 + +#define LEDC_HSCH5_DUTY_REG (DR_REG_LEDC_BASE + 0x006C) +/* LEDC_DUTY_HSCH5 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When hstimerx(x=[0 + 3]) choosed by high speed channel5 has reached reg_lpoint_hsch5 the output signal changes to low. reg_lpoint_hsch5=(reg_hpoint_hsch5[19:0]+reg_duty_hsch5[24:4]) (1) reg_lpoint_hsch5=(reg_hpoint_hsch5[19:0]+reg_duty_hsch5[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_HSCH5 0x01FFFFFF +#define LEDC_DUTY_HSCH5_M ((LEDC_DUTY_HSCH5_V)<<(LEDC_DUTY_HSCH5_S)) +#define LEDC_DUTY_HSCH5_V 0x1FFFFFF +#define LEDC_DUTY_HSCH5_S 0 + +#define LEDC_HSCH5_CONF1_REG (DR_REG_LEDC_BASE + 0x0070) +/* LEDC_DUTY_START_HSCH5 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch5 reg_duty_cycle_hsch5 and reg_duty_scale_hsch5 + has been configured. these register won't take effect until set reg_duty_start_hsch5. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_HSCH5 (BIT(31)) +#define LEDC_DUTY_START_HSCH5_M (BIT(31)) +#define LEDC_DUTY_START_HSCH5_V 0x1 +#define LEDC_DUTY_START_HSCH5_S 31 +/* LEDC_DUTY_INC_HSCH5 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for high speed channel5.*/ +#define LEDC_DUTY_INC_HSCH5 (BIT(30)) +#define LEDC_DUTY_INC_HSCH5_M (BIT(30)) +#define LEDC_DUTY_INC_HSCH5_V 0x1 +#define LEDC_DUTY_INC_HSCH5_S 30 +/* LEDC_DUTY_NUM_HSCH5 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for high speed channel5.*/ +#define LEDC_DUTY_NUM_HSCH5 0x000003FF +#define LEDC_DUTY_NUM_HSCH5_M ((LEDC_DUTY_NUM_HSCH5_V)<<(LEDC_DUTY_NUM_HSCH5_S)) +#define LEDC_DUTY_NUM_HSCH5_V 0x3FF +#define LEDC_DUTY_NUM_HSCH5_S 20 +/* LEDC_DUTY_CYCLE_HSCH5 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_hsch5 cycles for high speed channel5.*/ +#define LEDC_DUTY_CYCLE_HSCH5 0x000003FF +#define LEDC_DUTY_CYCLE_HSCH5_M ((LEDC_DUTY_CYCLE_HSCH5_V)<<(LEDC_DUTY_CYCLE_HSCH5_S)) +#define LEDC_DUTY_CYCLE_HSCH5_V 0x3FF +#define LEDC_DUTY_CYCLE_HSCH5_S 10 +/* LEDC_DUTY_SCALE_HSCH5 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + high speed channel5.*/ +#define LEDC_DUTY_SCALE_HSCH5 0x000003FF +#define LEDC_DUTY_SCALE_HSCH5_M ((LEDC_DUTY_SCALE_HSCH5_V)<<(LEDC_DUTY_SCALE_HSCH5_S)) +#define LEDC_DUTY_SCALE_HSCH5_V 0x3FF +#define LEDC_DUTY_SCALE_HSCH5_S 0 + +#define LEDC_HSCH5_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0074) +/* LEDC_DUTY_HSCH5 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for high speed channel5.*/ +#define LEDC_DUTY_HSCH5 0x01FFFFFF +#define LEDC_DUTY_HSCH5_M ((LEDC_DUTY_HSCH5_V)<<(LEDC_DUTY_HSCH5_S)) +#define LEDC_DUTY_HSCH5_V 0x1FFFFFF +#define LEDC_DUTY_HSCH5_S 0 + +#define LEDC_HSCH6_CONF0_REG (DR_REG_LEDC_BASE + 0x0078) +/* LEDC_IDLE_LV_HSCH6 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when high speed channel6 is off.*/ +#define LEDC_IDLE_LV_HSCH6 (BIT(3)) +#define LEDC_IDLE_LV_HSCH6_M (BIT(3)) +#define LEDC_IDLE_LV_HSCH6_V 0x1 +#define LEDC_IDLE_LV_HSCH6_S 3 +/* LEDC_SIG_OUT_EN_HSCH6 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for high speed channel6*/ +#define LEDC_SIG_OUT_EN_HSCH6 (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH6_M (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH6_V 0x1 +#define LEDC_SIG_OUT_EN_HSCH6_S 2 +/* LEDC_TIMER_SEL_HSCH6 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four high speed timers the two bits are used to select + one of them for high speed channel6. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ +#define LEDC_TIMER_SEL_HSCH6 0x00000003 +#define LEDC_TIMER_SEL_HSCH6_M ((LEDC_TIMER_SEL_HSCH6_V)<<(LEDC_TIMER_SEL_HSCH6_S)) +#define LEDC_TIMER_SEL_HSCH6_V 0x3 +#define LEDC_TIMER_SEL_HSCH6_S 0 + +#define LEDC_HSCH6_HPOINT_REG (DR_REG_LEDC_BASE + 0x007C) +/* LEDC_HPOINT_HSCH6 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when htimerx(x=[0 3]) selected + by high speed channel6 has reached reg_hpoint_hsch6[19:0]*/ +#define LEDC_HPOINT_HSCH6 0x000FFFFF +#define LEDC_HPOINT_HSCH6_M ((LEDC_HPOINT_HSCH6_V)<<(LEDC_HPOINT_HSCH6_S)) +#define LEDC_HPOINT_HSCH6_V 0xFFFFF +#define LEDC_HPOINT_HSCH6_S 0 + +#define LEDC_HSCH6_DUTY_REG (DR_REG_LEDC_BASE + 0x0080) +/* LEDC_DUTY_HSCH6 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When hstimerx(x=[0 + 3]) choosed by high speed channel6 has reached reg_lpoint_hsch6 the output signal changes to low. reg_lpoint_hsch6=(reg_hpoint_hsch6[19:0]+reg_duty_hsch6[24:4]) (1) reg_lpoint_hsch6=(reg_hpoint_hsch6[19:0]+reg_duty_hsch6[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_HSCH6 0x01FFFFFF +#define LEDC_DUTY_HSCH6_M ((LEDC_DUTY_HSCH6_V)<<(LEDC_DUTY_HSCH6_S)) +#define LEDC_DUTY_HSCH6_V 0x1FFFFFF +#define LEDC_DUTY_HSCH6_S 0 + +#define LEDC_HSCH6_CONF1_REG (DR_REG_LEDC_BASE + 0x0084) +/* LEDC_DUTY_START_HSCH6 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 + has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_HSCH6 (BIT(31)) +#define LEDC_DUTY_START_HSCH6_M (BIT(31)) +#define LEDC_DUTY_START_HSCH6_V 0x1 +#define LEDC_DUTY_START_HSCH6_S 31 +/* LEDC_DUTY_INC_HSCH6 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for high speed channel6.*/ +#define LEDC_DUTY_INC_HSCH6 (BIT(30)) +#define LEDC_DUTY_INC_HSCH6_M (BIT(30)) +#define LEDC_DUTY_INC_HSCH6_V 0x1 +#define LEDC_DUTY_INC_HSCH6_S 30 +/* LEDC_DUTY_NUM_HSCH6 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for high speed channel6.*/ +#define LEDC_DUTY_NUM_HSCH6 0x000003FF +#define LEDC_DUTY_NUM_HSCH6_M ((LEDC_DUTY_NUM_HSCH6_V)<<(LEDC_DUTY_NUM_HSCH6_S)) +#define LEDC_DUTY_NUM_HSCH6_V 0x3FF +#define LEDC_DUTY_NUM_HSCH6_S 20 +/* LEDC_DUTY_CYCLE_HSCH6 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_hsch6 cycles for high speed channel6.*/ +#define LEDC_DUTY_CYCLE_HSCH6 0x000003FF +#define LEDC_DUTY_CYCLE_HSCH6_M ((LEDC_DUTY_CYCLE_HSCH6_V)<<(LEDC_DUTY_CYCLE_HSCH6_S)) +#define LEDC_DUTY_CYCLE_HSCH6_V 0x3FF +#define LEDC_DUTY_CYCLE_HSCH6_S 10 +/* LEDC_DUTY_SCALE_HSCH6 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + high speed channel6.*/ +#define LEDC_DUTY_SCALE_HSCH6 0x000003FF +#define LEDC_DUTY_SCALE_HSCH6_M ((LEDC_DUTY_SCALE_HSCH6_V)<<(LEDC_DUTY_SCALE_HSCH6_S)) +#define LEDC_DUTY_SCALE_HSCH6_V 0x3FF +#define LEDC_DUTY_SCALE_HSCH6_S 0 + +#define LEDC_HSCH6_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0088) +/* LEDC_DUTY_HSCH6 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for high speed channel6.*/ +#define LEDC_DUTY_HSCH6 0x01FFFFFF +#define LEDC_DUTY_HSCH6_M ((LEDC_DUTY_HSCH6_V)<<(LEDC_DUTY_HSCH6_S)) +#define LEDC_DUTY_HSCH6_V 0x1FFFFFF +#define LEDC_DUTY_HSCH6_S 0 + +#define LEDC_HSCH7_CONF0_REG (DR_REG_LEDC_BASE + 0x008C) +/* LEDC_IDLE_LV_HSCH7 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when high speed channel7 is off.*/ +#define LEDC_IDLE_LV_HSCH7 (BIT(3)) +#define LEDC_IDLE_LV_HSCH7_M (BIT(3)) +#define LEDC_IDLE_LV_HSCH7_V 0x1 +#define LEDC_IDLE_LV_HSCH7_S 3 +/* LEDC_SIG_OUT_EN_HSCH7 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for high speed channel7.*/ +#define LEDC_SIG_OUT_EN_HSCH7 (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH7_M (BIT(2)) +#define LEDC_SIG_OUT_EN_HSCH7_V 0x1 +#define LEDC_SIG_OUT_EN_HSCH7_S 2 +/* LEDC_TIMER_SEL_HSCH7 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four high speed timers the two bits are used to select + one of them for high speed channel7. 2'b00: seletc hstimer0. 2'b01: select hstimer1. 2'b10: select hstimer2. 2'b11: select hstimer3.*/ +#define LEDC_TIMER_SEL_HSCH7 0x00000003 +#define LEDC_TIMER_SEL_HSCH7_M ((LEDC_TIMER_SEL_HSCH7_V)<<(LEDC_TIMER_SEL_HSCH7_S)) +#define LEDC_TIMER_SEL_HSCH7_V 0x3 +#define LEDC_TIMER_SEL_HSCH7_S 0 + +#define LEDC_HSCH7_HPOINT_REG (DR_REG_LEDC_BASE + 0x0090) +/* LEDC_HPOINT_HSCH7 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when htimerx(x=[0 3]) selected + by high speed channel7 has reached reg_hpoint_hsch7[19:0]*/ +#define LEDC_HPOINT_HSCH7 0x000FFFFF +#define LEDC_HPOINT_HSCH7_M ((LEDC_HPOINT_HSCH7_V)<<(LEDC_HPOINT_HSCH7_S)) +#define LEDC_HPOINT_HSCH7_V 0xFFFFF +#define LEDC_HPOINT_HSCH7_S 0 + +#define LEDC_HSCH7_DUTY_REG (DR_REG_LEDC_BASE + 0x0094) +/* LEDC_DUTY_HSCH7 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When hstimerx(x=[0 + 3]) choosed by high speed channel7 has reached reg_lpoint_hsch7 the output signal changes to low. reg_lpoint_hsch7=(reg_hpoint_hsch7[19:0]+reg_duty_hsch7[24:4]) (1) reg_lpoint_hsch7=(reg_hpoint_hsch7[19:0]+reg_duty_hsch7[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_HSCH7 0x01FFFFFF +#define LEDC_DUTY_HSCH7_M ((LEDC_DUTY_HSCH7_V)<<(LEDC_DUTY_HSCH7_S)) +#define LEDC_DUTY_HSCH7_V 0x1FFFFFF +#define LEDC_DUTY_HSCH7_S 0 + +#define LEDC_HSCH7_CONF1_REG (DR_REG_LEDC_BASE + 0x0098) +/* LEDC_DUTY_START_HSCH7 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 + has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_HSCH7 (BIT(31)) +#define LEDC_DUTY_START_HSCH7_M (BIT(31)) +#define LEDC_DUTY_START_HSCH7_V 0x1 +#define LEDC_DUTY_START_HSCH7_S 31 +/* LEDC_DUTY_INC_HSCH7 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for high speed channel6.*/ +#define LEDC_DUTY_INC_HSCH7 (BIT(30)) +#define LEDC_DUTY_INC_HSCH7_M (BIT(30)) +#define LEDC_DUTY_INC_HSCH7_V 0x1 +#define LEDC_DUTY_INC_HSCH7_S 30 +/* LEDC_DUTY_NUM_HSCH7 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for high speed channel6.*/ +#define LEDC_DUTY_NUM_HSCH7 0x000003FF +#define LEDC_DUTY_NUM_HSCH7_M ((LEDC_DUTY_NUM_HSCH7_V)<<(LEDC_DUTY_NUM_HSCH7_S)) +#define LEDC_DUTY_NUM_HSCH7_V 0x3FF +#define LEDC_DUTY_NUM_HSCH7_S 20 +/* LEDC_DUTY_CYCLE_HSCH7 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_hsch7 cycles for high speed channel7.*/ +#define LEDC_DUTY_CYCLE_HSCH7 0x000003FF +#define LEDC_DUTY_CYCLE_HSCH7_M ((LEDC_DUTY_CYCLE_HSCH7_V)<<(LEDC_DUTY_CYCLE_HSCH7_S)) +#define LEDC_DUTY_CYCLE_HSCH7_V 0x3FF +#define LEDC_DUTY_CYCLE_HSCH7_S 10 +/* LEDC_DUTY_SCALE_HSCH7 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + high speed channel7.*/ +#define LEDC_DUTY_SCALE_HSCH7 0x000003FF +#define LEDC_DUTY_SCALE_HSCH7_M ((LEDC_DUTY_SCALE_HSCH7_V)<<(LEDC_DUTY_SCALE_HSCH7_S)) +#define LEDC_DUTY_SCALE_HSCH7_V 0x3FF +#define LEDC_DUTY_SCALE_HSCH7_S 0 + +#define LEDC_HSCH7_DUTY_R_REG (DR_REG_LEDC_BASE + 0x009C) +/* LEDC_DUTY_HSCH7 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for high speed channel7.*/ +#define LEDC_DUTY_HSCH7 0x01FFFFFF +#define LEDC_DUTY_HSCH7_M ((LEDC_DUTY_HSCH7_V)<<(LEDC_DUTY_HSCH7_S)) +#define LEDC_DUTY_HSCH7_V 0x1FFFFFF +#define LEDC_DUTY_HSCH7_S 0 + +#define LEDC_LSCH0_CONF0_REG (DR_REG_LEDC_BASE + 0x00A0) +/* LEDC_PARA_UP_LSCH0 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This bit is used to update register LEDC_LSCH0_HPOINT and LEDC_LSCH0_DUTY + for low speed channel0.*/ +#define LEDC_PARA_UP_LSCH0 (BIT(4)) +#define LEDC_PARA_UP_LSCH0_M (BIT(4)) +#define LEDC_PARA_UP_LSCH0_V 0x1 +#define LEDC_PARA_UP_LSCH0_S 4 +/* LEDC_IDLE_LV_LSCH0 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when low speed channel0 is off.*/ +#define LEDC_IDLE_LV_LSCH0 (BIT(3)) +#define LEDC_IDLE_LV_LSCH0_M (BIT(3)) +#define LEDC_IDLE_LV_LSCH0_V 0x1 +#define LEDC_IDLE_LV_LSCH0_S 3 +/* LEDC_SIG_OUT_EN_LSCH0 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for low speed channel0.*/ +#define LEDC_SIG_OUT_EN_LSCH0 (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH0_M (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH0_V 0x1 +#define LEDC_SIG_OUT_EN_LSCH0_S 2 +/* LEDC_TIMER_SEL_LSCH0 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four low speed timers the two bits are used to select + one of them for low speed channel0. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ +#define LEDC_TIMER_SEL_LSCH0 0x00000003 +#define LEDC_TIMER_SEL_LSCH0_M ((LEDC_TIMER_SEL_LSCH0_V)<<(LEDC_TIMER_SEL_LSCH0_S)) +#define LEDC_TIMER_SEL_LSCH0_V 0x3 +#define LEDC_TIMER_SEL_LSCH0_S 0 + +#define LEDC_LSCH0_HPOINT_REG (DR_REG_LEDC_BASE + 0x00A4) +/* LEDC_HPOINT_LSCH0 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when lstimerx(x=[0 3]) selected + by low speed channel0 has reached reg_hpoint_lsch0[19:0]*/ +#define LEDC_HPOINT_LSCH0 0x000FFFFF +#define LEDC_HPOINT_LSCH0_M ((LEDC_HPOINT_LSCH0_V)<<(LEDC_HPOINT_LSCH0_S)) +#define LEDC_HPOINT_LSCH0_V 0xFFFFF +#define LEDC_HPOINT_LSCH0_S 0 + +#define LEDC_LSCH0_DUTY_REG (DR_REG_LEDC_BASE + 0x00A8) +/* LEDC_DUTY_LSCH0 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When lstimerx(x=[0 + 3]) choosed by low speed channel0 has reached reg_lpoint_lsch0 the output signal changes to low. reg_lpoint_lsch0=(reg_hpoint_lsch0[19:0]+reg_duty_lsch0[24:4]) (1) reg_lpoint_lsch0=(reg_hpoint_lsch0[19:0]+reg_duty_lsch0[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_LSCH0 0x01FFFFFF +#define LEDC_DUTY_LSCH0_M ((LEDC_DUTY_LSCH0_V)<<(LEDC_DUTY_LSCH0_S)) +#define LEDC_DUTY_LSCH0_V 0x1FFFFFF +#define LEDC_DUTY_LSCH0_S 0 + +#define LEDC_LSCH0_CONF1_REG (DR_REG_LEDC_BASE + 0x00AC) +/* LEDC_DUTY_START_LSCH0 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 + has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_LSCH0 (BIT(31)) +#define LEDC_DUTY_START_LSCH0_M (BIT(31)) +#define LEDC_DUTY_START_LSCH0_V 0x1 +#define LEDC_DUTY_START_LSCH0_S 31 +/* LEDC_DUTY_INC_LSCH0 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for low speed channel6.*/ +#define LEDC_DUTY_INC_LSCH0 (BIT(30)) +#define LEDC_DUTY_INC_LSCH0_M (BIT(30)) +#define LEDC_DUTY_INC_LSCH0_V 0x1 +#define LEDC_DUTY_INC_LSCH0_S 30 +/* LEDC_DUTY_NUM_LSCH0 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for low speed channel6.*/ +#define LEDC_DUTY_NUM_LSCH0 0x000003FF +#define LEDC_DUTY_NUM_LSCH0_M ((LEDC_DUTY_NUM_LSCH0_V)<<(LEDC_DUTY_NUM_LSCH0_S)) +#define LEDC_DUTY_NUM_LSCH0_V 0x3FF +#define LEDC_DUTY_NUM_LSCH0_S 20 +/* LEDC_DUTY_CYCLE_LSCH0 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_lsch0 cycles for low speed channel0.*/ +#define LEDC_DUTY_CYCLE_LSCH0 0x000003FF +#define LEDC_DUTY_CYCLE_LSCH0_M ((LEDC_DUTY_CYCLE_LSCH0_V)<<(LEDC_DUTY_CYCLE_LSCH0_S)) +#define LEDC_DUTY_CYCLE_LSCH0_V 0x3FF +#define LEDC_DUTY_CYCLE_LSCH0_S 10 +/* LEDC_DUTY_SCALE_LSCH0 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + low speed channel0.*/ +#define LEDC_DUTY_SCALE_LSCH0 0x000003FF +#define LEDC_DUTY_SCALE_LSCH0_M ((LEDC_DUTY_SCALE_LSCH0_V)<<(LEDC_DUTY_SCALE_LSCH0_S)) +#define LEDC_DUTY_SCALE_LSCH0_V 0x3FF +#define LEDC_DUTY_SCALE_LSCH0_S 0 + +#define LEDC_LSCH0_DUTY_R_REG (DR_REG_LEDC_BASE + 0x00B0) +/* LEDC_DUTY_LSCH0 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for low speed channel0.*/ +#define LEDC_DUTY_LSCH0 0x01FFFFFF +#define LEDC_DUTY_LSCH0_M ((LEDC_DUTY_LSCH0_V)<<(LEDC_DUTY_LSCH0_S)) +#define LEDC_DUTY_LSCH0_V 0x1FFFFFF +#define LEDC_DUTY_LSCH0_S 0 + +#define LEDC_LSCH1_CONF0_REG (DR_REG_LEDC_BASE + 0x00B4) +/* LEDC_PARA_UP_LSCH1 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This bit is used to update register LEDC_LSCH1_HPOINT and LEDC_LSCH1_DUTY + for low speed channel1.*/ +#define LEDC_PARA_UP_LSCH1 (BIT(4)) +#define LEDC_PARA_UP_LSCH1_M (BIT(4)) +#define LEDC_PARA_UP_LSCH1_V 0x1 +#define LEDC_PARA_UP_LSCH1_S 4 +/* LEDC_IDLE_LV_LSCH1 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when low speed channel1 is off.*/ +#define LEDC_IDLE_LV_LSCH1 (BIT(3)) +#define LEDC_IDLE_LV_LSCH1_M (BIT(3)) +#define LEDC_IDLE_LV_LSCH1_V 0x1 +#define LEDC_IDLE_LV_LSCH1_S 3 +/* LEDC_SIG_OUT_EN_LSCH1 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for low speed channel1.*/ +#define LEDC_SIG_OUT_EN_LSCH1 (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH1_M (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH1_V 0x1 +#define LEDC_SIG_OUT_EN_LSCH1_S 2 +/* LEDC_TIMER_SEL_LSCH1 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four low speed timers the two bits are used to select + one of them for low speed channel1. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ +#define LEDC_TIMER_SEL_LSCH1 0x00000003 +#define LEDC_TIMER_SEL_LSCH1_M ((LEDC_TIMER_SEL_LSCH1_V)<<(LEDC_TIMER_SEL_LSCH1_S)) +#define LEDC_TIMER_SEL_LSCH1_V 0x3 +#define LEDC_TIMER_SEL_LSCH1_S 0 + +#define LEDC_LSCH1_HPOINT_REG (DR_REG_LEDC_BASE + 0x00B8) +/* LEDC_HPOINT_LSCH1 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when lstimerx(x=[0 3]) selected + by low speed channel1 has reached reg_hpoint_lsch1[19:0]*/ +#define LEDC_HPOINT_LSCH1 0x000FFFFF +#define LEDC_HPOINT_LSCH1_M ((LEDC_HPOINT_LSCH1_V)<<(LEDC_HPOINT_LSCH1_S)) +#define LEDC_HPOINT_LSCH1_V 0xFFFFF +#define LEDC_HPOINT_LSCH1_S 0 + +#define LEDC_LSCH1_DUTY_REG (DR_REG_LEDC_BASE + 0x00BC) +/* LEDC_DUTY_LSCH1 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When lstimerx(x=[0 + 3]) choosed by low speed channel1 has reached reg_lpoint_lsch1 the output signal changes to low. reg_lpoint_lsch1=(reg_hpoint_lsch1[19:0]+reg_duty_lsch1[24:4]) (1) reg_lpoint_lsch1=(reg_hpoint_lsch1[19:0]+reg_duty_lsch1[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_LSCH1 0x01FFFFFF +#define LEDC_DUTY_LSCH1_M ((LEDC_DUTY_LSCH1_V)<<(LEDC_DUTY_LSCH1_S)) +#define LEDC_DUTY_LSCH1_V 0x1FFFFFF +#define LEDC_DUTY_LSCH1_S 0 + +#define LEDC_LSCH1_CONF1_REG (DR_REG_LEDC_BASE + 0x00C0) +/* LEDC_DUTY_START_LSCH1 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch1 reg_duty_cycle_hsch1 and reg_duty_scale_hsch1 + has been configured. these register won't take effect until set reg_duty_start_hsch1. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_LSCH1 (BIT(31)) +#define LEDC_DUTY_START_LSCH1_M (BIT(31)) +#define LEDC_DUTY_START_LSCH1_V 0x1 +#define LEDC_DUTY_START_LSCH1_S 31 +/* LEDC_DUTY_INC_LSCH1 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for low speed channel1.*/ +#define LEDC_DUTY_INC_LSCH1 (BIT(30)) +#define LEDC_DUTY_INC_LSCH1_M (BIT(30)) +#define LEDC_DUTY_INC_LSCH1_V 0x1 +#define LEDC_DUTY_INC_LSCH1_S 30 +/* LEDC_DUTY_NUM_LSCH1 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for low speed channel1.*/ +#define LEDC_DUTY_NUM_LSCH1 0x000003FF +#define LEDC_DUTY_NUM_LSCH1_M ((LEDC_DUTY_NUM_LSCH1_V)<<(LEDC_DUTY_NUM_LSCH1_S)) +#define LEDC_DUTY_NUM_LSCH1_V 0x3FF +#define LEDC_DUTY_NUM_LSCH1_S 20 +/* LEDC_DUTY_CYCLE_LSCH1 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_lsch1 cycles for low speed channel1.*/ +#define LEDC_DUTY_CYCLE_LSCH1 0x000003FF +#define LEDC_DUTY_CYCLE_LSCH1_M ((LEDC_DUTY_CYCLE_LSCH1_V)<<(LEDC_DUTY_CYCLE_LSCH1_S)) +#define LEDC_DUTY_CYCLE_LSCH1_V 0x3FF +#define LEDC_DUTY_CYCLE_LSCH1_S 10 +/* LEDC_DUTY_SCALE_LSCH1 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + low speed channel1.*/ +#define LEDC_DUTY_SCALE_LSCH1 0x000003FF +#define LEDC_DUTY_SCALE_LSCH1_M ((LEDC_DUTY_SCALE_LSCH1_V)<<(LEDC_DUTY_SCALE_LSCH1_S)) +#define LEDC_DUTY_SCALE_LSCH1_V 0x3FF +#define LEDC_DUTY_SCALE_LSCH1_S 0 + +#define LEDC_LSCH1_DUTY_R_REG (DR_REG_LEDC_BASE + 0x00C4) +/* LEDC_DUTY_LSCH1 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for low speed channel1.*/ +#define LEDC_DUTY_LSCH1 0x01FFFFFF +#define LEDC_DUTY_LSCH1_M ((LEDC_DUTY_LSCH1_V)<<(LEDC_DUTY_LSCH1_S)) +#define LEDC_DUTY_LSCH1_V 0x1FFFFFF +#define LEDC_DUTY_LSCH1_S 0 + +#define LEDC_LSCH2_CONF0_REG (DR_REG_LEDC_BASE + 0x00C8) +/* LEDC_PARA_UP_LSCH2 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This bit is used to update register LEDC_LSCH2_HPOINT and LEDC_LSCH2_DUTY + for low speed channel2.*/ +#define LEDC_PARA_UP_LSCH2 (BIT(4)) +#define LEDC_PARA_UP_LSCH2_M (BIT(4)) +#define LEDC_PARA_UP_LSCH2_V 0x1 +#define LEDC_PARA_UP_LSCH2_S 4 +/* LEDC_IDLE_LV_LSCH2 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when low speed channel2 is off.*/ +#define LEDC_IDLE_LV_LSCH2 (BIT(3)) +#define LEDC_IDLE_LV_LSCH2_M (BIT(3)) +#define LEDC_IDLE_LV_LSCH2_V 0x1 +#define LEDC_IDLE_LV_LSCH2_S 3 +/* LEDC_SIG_OUT_EN_LSCH2 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for low speed channel2.*/ +#define LEDC_SIG_OUT_EN_LSCH2 (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH2_M (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH2_V 0x1 +#define LEDC_SIG_OUT_EN_LSCH2_S 2 +/* LEDC_TIMER_SEL_LSCH2 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four low speed timers the two bits are used to select + one of them for low speed channel2. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ +#define LEDC_TIMER_SEL_LSCH2 0x00000003 +#define LEDC_TIMER_SEL_LSCH2_M ((LEDC_TIMER_SEL_LSCH2_V)<<(LEDC_TIMER_SEL_LSCH2_S)) +#define LEDC_TIMER_SEL_LSCH2_V 0x3 +#define LEDC_TIMER_SEL_LSCH2_S 0 + +#define LEDC_LSCH2_HPOINT_REG (DR_REG_LEDC_BASE + 0x00CC) +/* LEDC_HPOINT_LSCH2 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when lstimerx(x=[0 3]) selected + by low speed channel2 has reached reg_hpoint_lsch2[19:0]*/ +#define LEDC_HPOINT_LSCH2 0x000FFFFF +#define LEDC_HPOINT_LSCH2_M ((LEDC_HPOINT_LSCH2_V)<<(LEDC_HPOINT_LSCH2_S)) +#define LEDC_HPOINT_LSCH2_V 0xFFFFF +#define LEDC_HPOINT_LSCH2_S 0 + +#define LEDC_LSCH2_DUTY_REG (DR_REG_LEDC_BASE + 0x00D0) +/* LEDC_DUTY_LSCH2 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When lstimerx(x=[0 + 3]) choosed by low speed channel2 has reached reg_lpoint_lsch2 the output signal changes to low. reg_lpoint_lsch2=(reg_hpoint_lsch2[19:0]+reg_duty_lsch2[24:4]) (1) reg_lpoint_lsch2=(reg_hpoint_lsch2[19:0]+reg_duty_lsch2[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_LSCH2 0x01FFFFFF +#define LEDC_DUTY_LSCH2_M ((LEDC_DUTY_LSCH2_V)<<(LEDC_DUTY_LSCH2_S)) +#define LEDC_DUTY_LSCH2_V 0x1FFFFFF +#define LEDC_DUTY_LSCH2_S 0 + +#define LEDC_LSCH2_CONF1_REG (DR_REG_LEDC_BASE + 0x00D4) +/* LEDC_DUTY_START_LSCH2 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch2 reg_duty_cycle_hsch2 and reg_duty_scale_hsch2 + has been configured. these register won't take effect until set reg_duty_start_hsch2. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_LSCH2 (BIT(31)) +#define LEDC_DUTY_START_LSCH2_M (BIT(31)) +#define LEDC_DUTY_START_LSCH2_V 0x1 +#define LEDC_DUTY_START_LSCH2_S 31 +/* LEDC_DUTY_INC_LSCH2 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for low speed channel2.*/ +#define LEDC_DUTY_INC_LSCH2 (BIT(30)) +#define LEDC_DUTY_INC_LSCH2_M (BIT(30)) +#define LEDC_DUTY_INC_LSCH2_V 0x1 +#define LEDC_DUTY_INC_LSCH2_S 30 +/* LEDC_DUTY_NUM_LSCH2 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for low speed channel2.*/ +#define LEDC_DUTY_NUM_LSCH2 0x000003FF +#define LEDC_DUTY_NUM_LSCH2_M ((LEDC_DUTY_NUM_LSCH2_V)<<(LEDC_DUTY_NUM_LSCH2_S)) +#define LEDC_DUTY_NUM_LSCH2_V 0x3FF +#define LEDC_DUTY_NUM_LSCH2_S 20 +/* LEDC_DUTY_CYCLE_LSCH2 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_lsch2 cycles for low speed channel2.*/ +#define LEDC_DUTY_CYCLE_LSCH2 0x000003FF +#define LEDC_DUTY_CYCLE_LSCH2_M ((LEDC_DUTY_CYCLE_LSCH2_V)<<(LEDC_DUTY_CYCLE_LSCH2_S)) +#define LEDC_DUTY_CYCLE_LSCH2_V 0x3FF +#define LEDC_DUTY_CYCLE_LSCH2_S 10 +/* LEDC_DUTY_SCALE_LSCH2 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + low speed channel2.*/ +#define LEDC_DUTY_SCALE_LSCH2 0x000003FF +#define LEDC_DUTY_SCALE_LSCH2_M ((LEDC_DUTY_SCALE_LSCH2_V)<<(LEDC_DUTY_SCALE_LSCH2_S)) +#define LEDC_DUTY_SCALE_LSCH2_V 0x3FF +#define LEDC_DUTY_SCALE_LSCH2_S 0 + +#define LEDC_LSCH2_DUTY_R_REG (DR_REG_LEDC_BASE + 0x00D8) +/* LEDC_DUTY_LSCH2 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for low speed channel2.*/ +#define LEDC_DUTY_LSCH2 0x01FFFFFF +#define LEDC_DUTY_LSCH2_M ((LEDC_DUTY_LSCH2_V)<<(LEDC_DUTY_LSCH2_S)) +#define LEDC_DUTY_LSCH2_V 0x1FFFFFF +#define LEDC_DUTY_LSCH2_S 0 + +#define LEDC_LSCH3_CONF0_REG (DR_REG_LEDC_BASE + 0x00DC) +/* LEDC_PARA_UP_LSCH3 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This bit is used to update register LEDC_LSCH3_HPOINT and LEDC_LSCH3_DUTY + for low speed channel3.*/ +#define LEDC_PARA_UP_LSCH3 (BIT(4)) +#define LEDC_PARA_UP_LSCH3_M (BIT(4)) +#define LEDC_PARA_UP_LSCH3_V 0x1 +#define LEDC_PARA_UP_LSCH3_S 4 +/* LEDC_IDLE_LV_LSCH3 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when low speed channel3 is off.*/ +#define LEDC_IDLE_LV_LSCH3 (BIT(3)) +#define LEDC_IDLE_LV_LSCH3_M (BIT(3)) +#define LEDC_IDLE_LV_LSCH3_V 0x1 +#define LEDC_IDLE_LV_LSCH3_S 3 +/* LEDC_SIG_OUT_EN_LSCH3 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for low speed channel3.*/ +#define LEDC_SIG_OUT_EN_LSCH3 (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH3_M (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH3_V 0x1 +#define LEDC_SIG_OUT_EN_LSCH3_S 2 +/* LEDC_TIMER_SEL_LSCH3 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four low speed timers the two bits are used to select + one of them for low speed channel3. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ +#define LEDC_TIMER_SEL_LSCH3 0x00000003 +#define LEDC_TIMER_SEL_LSCH3_M ((LEDC_TIMER_SEL_LSCH3_V)<<(LEDC_TIMER_SEL_LSCH3_S)) +#define LEDC_TIMER_SEL_LSCH3_V 0x3 +#define LEDC_TIMER_SEL_LSCH3_S 0 + +#define LEDC_LSCH3_HPOINT_REG (DR_REG_LEDC_BASE + 0x00E0) +/* LEDC_HPOINT_LSCH3 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when lstimerx(x=[0 3]) selected + by low speed channel3 has reached reg_hpoint_lsch3[19:0]*/ +#define LEDC_HPOINT_LSCH3 0x000FFFFF +#define LEDC_HPOINT_LSCH3_M ((LEDC_HPOINT_LSCH3_V)<<(LEDC_HPOINT_LSCH3_S)) +#define LEDC_HPOINT_LSCH3_V 0xFFFFF +#define LEDC_HPOINT_LSCH3_S 0 + +#define LEDC_LSCH3_DUTY_REG (DR_REG_LEDC_BASE + 0x00E4) +/* LEDC_DUTY_LSCH3 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When lstimerx(x=[0 + 3]) choosed by low speed channel3 has reached reg_lpoint_lsch3 the output signal changes to low. reg_lpoint_lsch3=(reg_hpoint_lsch3[19:0]+reg_duty_lsch3[24:4]) (1) reg_lpoint_lsch3=(reg_hpoint_lsch3[19:0]+reg_duty_lsch3[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_LSCH3 0x01FFFFFF +#define LEDC_DUTY_LSCH3_M ((LEDC_DUTY_LSCH3_V)<<(LEDC_DUTY_LSCH3_S)) +#define LEDC_DUTY_LSCH3_V 0x1FFFFFF +#define LEDC_DUTY_LSCH3_S 0 + +#define LEDC_LSCH3_CONF1_REG (DR_REG_LEDC_BASE + 0x00E8) +/* LEDC_DUTY_START_LSCH3 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch3 reg_duty_cycle_hsch3 and reg_duty_scale_hsch3 + has been configured. these register won't take effect until set reg_duty_start_hsch3. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_LSCH3 (BIT(31)) +#define LEDC_DUTY_START_LSCH3_M (BIT(31)) +#define LEDC_DUTY_START_LSCH3_V 0x1 +#define LEDC_DUTY_START_LSCH3_S 31 +/* LEDC_DUTY_INC_LSCH3 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for low speed channel3.*/ +#define LEDC_DUTY_INC_LSCH3 (BIT(30)) +#define LEDC_DUTY_INC_LSCH3_M (BIT(30)) +#define LEDC_DUTY_INC_LSCH3_V 0x1 +#define LEDC_DUTY_INC_LSCH3_S 30 +/* LEDC_DUTY_NUM_LSCH3 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for low speed channel3.*/ +#define LEDC_DUTY_NUM_LSCH3 0x000003FF +#define LEDC_DUTY_NUM_LSCH3_M ((LEDC_DUTY_NUM_LSCH3_V)<<(LEDC_DUTY_NUM_LSCH3_S)) +#define LEDC_DUTY_NUM_LSCH3_V 0x3FF +#define LEDC_DUTY_NUM_LSCH3_S 20 +/* LEDC_DUTY_CYCLE_LSCH3 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_lsch3 cycles for low speed channel3.*/ +#define LEDC_DUTY_CYCLE_LSCH3 0x000003FF +#define LEDC_DUTY_CYCLE_LSCH3_M ((LEDC_DUTY_CYCLE_LSCH3_V)<<(LEDC_DUTY_CYCLE_LSCH3_S)) +#define LEDC_DUTY_CYCLE_LSCH3_V 0x3FF +#define LEDC_DUTY_CYCLE_LSCH3_S 10 +/* LEDC_DUTY_SCALE_LSCH3 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + low speed channel3.*/ +#define LEDC_DUTY_SCALE_LSCH3 0x000003FF +#define LEDC_DUTY_SCALE_LSCH3_M ((LEDC_DUTY_SCALE_LSCH3_V)<<(LEDC_DUTY_SCALE_LSCH3_S)) +#define LEDC_DUTY_SCALE_LSCH3_V 0x3FF +#define LEDC_DUTY_SCALE_LSCH3_S 0 + +#define LEDC_LSCH3_DUTY_R_REG (DR_REG_LEDC_BASE + 0x00EC) +/* LEDC_DUTY_LSCH3 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for low speed channel3.*/ +#define LEDC_DUTY_LSCH3 0x01FFFFFF +#define LEDC_DUTY_LSCH3_M ((LEDC_DUTY_LSCH3_V)<<(LEDC_DUTY_LSCH3_S)) +#define LEDC_DUTY_LSCH3_V 0x1FFFFFF +#define LEDC_DUTY_LSCH3_S 0 + +#define LEDC_LSCH4_CONF0_REG (DR_REG_LEDC_BASE + 0x00F0) +/* LEDC_PARA_UP_LSCH4 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This bit is used to update register LEDC_LSCH4_HPOINT and LEDC_LSCH4_DUTY + for low speed channel4.*/ +#define LEDC_PARA_UP_LSCH4 (BIT(4)) +#define LEDC_PARA_UP_LSCH4_M (BIT(4)) +#define LEDC_PARA_UP_LSCH4_V 0x1 +#define LEDC_PARA_UP_LSCH4_S 4 +/* LEDC_IDLE_LV_LSCH4 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when low speed channel4 is off.*/ +#define LEDC_IDLE_LV_LSCH4 (BIT(3)) +#define LEDC_IDLE_LV_LSCH4_M (BIT(3)) +#define LEDC_IDLE_LV_LSCH4_V 0x1 +#define LEDC_IDLE_LV_LSCH4_S 3 +/* LEDC_SIG_OUT_EN_LSCH4 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for low speed channel4.*/ +#define LEDC_SIG_OUT_EN_LSCH4 (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH4_M (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH4_V 0x1 +#define LEDC_SIG_OUT_EN_LSCH4_S 2 +/* LEDC_TIMER_SEL_LSCH4 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four low speed timers the two bits are used to select + one of them for low speed channel4. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ +#define LEDC_TIMER_SEL_LSCH4 0x00000003 +#define LEDC_TIMER_SEL_LSCH4_M ((LEDC_TIMER_SEL_LSCH4_V)<<(LEDC_TIMER_SEL_LSCH4_S)) +#define LEDC_TIMER_SEL_LSCH4_V 0x3 +#define LEDC_TIMER_SEL_LSCH4_S 0 + +#define LEDC_LSCH4_HPOINT_REG (DR_REG_LEDC_BASE + 0x00F4) +/* LEDC_HPOINT_LSCH4 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when lstimerx(x=[0 3]) selected + by low speed channel4 has reached reg_hpoint_lsch4[19:0]*/ +#define LEDC_HPOINT_LSCH4 0x000FFFFF +#define LEDC_HPOINT_LSCH4_M ((LEDC_HPOINT_LSCH4_V)<<(LEDC_HPOINT_LSCH4_S)) +#define LEDC_HPOINT_LSCH4_V 0xFFFFF +#define LEDC_HPOINT_LSCH4_S 0 + +#define LEDC_LSCH4_DUTY_REG (DR_REG_LEDC_BASE + 0x00F8) +/* LEDC_DUTY_LSCH4 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When lstimerx(x=[0 + 3]) choosed by low speed channel4 has reached reg_lpoint_lsch4 the output signal changes to low. reg_lpoint_lsch4=(reg_hpoint_lsch4[19:0]+reg_duty_lsch4[24:4]) (1) reg_lpoint_lsch4=(reg_hpoint_lsch4[19:0]+reg_duty_lsch4[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_LSCH4 0x01FFFFFF +#define LEDC_DUTY_LSCH4_M ((LEDC_DUTY_LSCH4_V)<<(LEDC_DUTY_LSCH4_S)) +#define LEDC_DUTY_LSCH4_V 0x1FFFFFF +#define LEDC_DUTY_LSCH4_S 0 + +#define LEDC_LSCH4_CONF1_REG (DR_REG_LEDC_BASE + 0x00FC) +/* LEDC_DUTY_START_LSCH4 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch4 reg_duty_cycle_hsch4 and reg_duty_scale_hsch4 + has been configured. these register won't take effect until set reg_duty_start_hsch4. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_LSCH4 (BIT(31)) +#define LEDC_DUTY_START_LSCH4_M (BIT(31)) +#define LEDC_DUTY_START_LSCH4_V 0x1 +#define LEDC_DUTY_START_LSCH4_S 31 +/* LEDC_DUTY_INC_LSCH4 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for low speed channel4.*/ +#define LEDC_DUTY_INC_LSCH4 (BIT(30)) +#define LEDC_DUTY_INC_LSCH4_M (BIT(30)) +#define LEDC_DUTY_INC_LSCH4_V 0x1 +#define LEDC_DUTY_INC_LSCH4_S 30 +/* LEDC_DUTY_NUM_LSCH4 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for low speed channel4.*/ +#define LEDC_DUTY_NUM_LSCH4 0x000003FF +#define LEDC_DUTY_NUM_LSCH4_M ((LEDC_DUTY_NUM_LSCH4_V)<<(LEDC_DUTY_NUM_LSCH4_S)) +#define LEDC_DUTY_NUM_LSCH4_V 0x3FF +#define LEDC_DUTY_NUM_LSCH4_S 20 +/* LEDC_DUTY_CYCLE_LSCH4 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_lsch4 cycles for low speed channel4.*/ +#define LEDC_DUTY_CYCLE_LSCH4 0x000003FF +#define LEDC_DUTY_CYCLE_LSCH4_M ((LEDC_DUTY_CYCLE_LSCH4_V)<<(LEDC_DUTY_CYCLE_LSCH4_S)) +#define LEDC_DUTY_CYCLE_LSCH4_V 0x3FF +#define LEDC_DUTY_CYCLE_LSCH4_S 10 +/* LEDC_DUTY_SCALE_LSCH4 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + low speed channel4.*/ +#define LEDC_DUTY_SCALE_LSCH4 0x000003FF +#define LEDC_DUTY_SCALE_LSCH4_M ((LEDC_DUTY_SCALE_LSCH4_V)<<(LEDC_DUTY_SCALE_LSCH4_S)) +#define LEDC_DUTY_SCALE_LSCH4_V 0x3FF +#define LEDC_DUTY_SCALE_LSCH4_S 0 + +#define LEDC_LSCH4_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0100) +/* LEDC_DUTY_LSCH4 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for low speed channel4.*/ +#define LEDC_DUTY_LSCH4 0x01FFFFFF +#define LEDC_DUTY_LSCH4_M ((LEDC_DUTY_LSCH4_V)<<(LEDC_DUTY_LSCH4_S)) +#define LEDC_DUTY_LSCH4_V 0x1FFFFFF +#define LEDC_DUTY_LSCH4_S 0 + +#define LEDC_LSCH5_CONF0_REG (DR_REG_LEDC_BASE + 0x0104) +/* LEDC_PARA_UP_LSCH5 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This bit is used to update register LEDC_LSCH5_HPOINT and LEDC_LSCH5_DUTY + for low speed channel5.*/ +#define LEDC_PARA_UP_LSCH5 (BIT(4)) +#define LEDC_PARA_UP_LSCH5_M (BIT(4)) +#define LEDC_PARA_UP_LSCH5_V 0x1 +#define LEDC_PARA_UP_LSCH5_S 4 +/* LEDC_IDLE_LV_LSCH5 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when low speed channel5 is off.*/ +#define LEDC_IDLE_LV_LSCH5 (BIT(3)) +#define LEDC_IDLE_LV_LSCH5_M (BIT(3)) +#define LEDC_IDLE_LV_LSCH5_V 0x1 +#define LEDC_IDLE_LV_LSCH5_S 3 +/* LEDC_SIG_OUT_EN_LSCH5 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for low speed channel5.*/ +#define LEDC_SIG_OUT_EN_LSCH5 (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH5_M (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH5_V 0x1 +#define LEDC_SIG_OUT_EN_LSCH5_S 2 +/* LEDC_TIMER_SEL_LSCH5 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four low speed timers the two bits are used to select + one of them for low speed channel5. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ +#define LEDC_TIMER_SEL_LSCH5 0x00000003 +#define LEDC_TIMER_SEL_LSCH5_M ((LEDC_TIMER_SEL_LSCH5_V)<<(LEDC_TIMER_SEL_LSCH5_S)) +#define LEDC_TIMER_SEL_LSCH5_V 0x3 +#define LEDC_TIMER_SEL_LSCH5_S 0 + +#define LEDC_LSCH5_HPOINT_REG (DR_REG_LEDC_BASE + 0x0108) +/* LEDC_HPOINT_LSCH5 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when lstimerx(x=[0 3]) selected + by low speed channel5 has reached reg_hpoint_lsch5[19:0]*/ +#define LEDC_HPOINT_LSCH5 0x000FFFFF +#define LEDC_HPOINT_LSCH5_M ((LEDC_HPOINT_LSCH5_V)<<(LEDC_HPOINT_LSCH5_S)) +#define LEDC_HPOINT_LSCH5_V 0xFFFFF +#define LEDC_HPOINT_LSCH5_S 0 + +#define LEDC_LSCH5_DUTY_REG (DR_REG_LEDC_BASE + 0x010C) +/* LEDC_DUTY_LSCH5 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When lstimerx(x=[0 + 3]) choosed by low speed channel5 has reached reg_lpoint_lsch5 the output signal changes to low. reg_lpoint_lsch5=(reg_hpoint_lsch5[19:0]+reg_duty_lsch5[24:4]) (1) reg_lpoint_lsch5=(reg_hpoint_lsch5[19:0]+reg_duty_lsch5[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_LSCH5 0x01FFFFFF +#define LEDC_DUTY_LSCH5_M ((LEDC_DUTY_LSCH5_V)<<(LEDC_DUTY_LSCH5_S)) +#define LEDC_DUTY_LSCH5_V 0x1FFFFFF +#define LEDC_DUTY_LSCH5_S 0 + +#define LEDC_LSCH5_CONF1_REG (DR_REG_LEDC_BASE + 0x0110) +/* LEDC_DUTY_START_LSCH5 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch4 reg_duty_cycle_hsch4 and reg_duty_scale_hsch4 + has been configured. these register won't take effect until set reg_duty_start_hsch4. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_LSCH5 (BIT(31)) +#define LEDC_DUTY_START_LSCH5_M (BIT(31)) +#define LEDC_DUTY_START_LSCH5_V 0x1 +#define LEDC_DUTY_START_LSCH5_S 31 +/* LEDC_DUTY_INC_LSCH5 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for low speed channel5.*/ +#define LEDC_DUTY_INC_LSCH5 (BIT(30)) +#define LEDC_DUTY_INC_LSCH5_M (BIT(30)) +#define LEDC_DUTY_INC_LSCH5_V 0x1 +#define LEDC_DUTY_INC_LSCH5_S 30 +/* LEDC_DUTY_NUM_LSCH5 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for low speed channel5.*/ +#define LEDC_DUTY_NUM_LSCH5 0x000003FF +#define LEDC_DUTY_NUM_LSCH5_M ((LEDC_DUTY_NUM_LSCH5_V)<<(LEDC_DUTY_NUM_LSCH5_S)) +#define LEDC_DUTY_NUM_LSCH5_V 0x3FF +#define LEDC_DUTY_NUM_LSCH5_S 20 +/* LEDC_DUTY_CYCLE_LSCH5 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_lsch5 cycles for low speed channel4.*/ +#define LEDC_DUTY_CYCLE_LSCH5 0x000003FF +#define LEDC_DUTY_CYCLE_LSCH5_M ((LEDC_DUTY_CYCLE_LSCH5_V)<<(LEDC_DUTY_CYCLE_LSCH5_S)) +#define LEDC_DUTY_CYCLE_LSCH5_V 0x3FF +#define LEDC_DUTY_CYCLE_LSCH5_S 10 +/* LEDC_DUTY_SCALE_LSCH5 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + low speed channel5.*/ +#define LEDC_DUTY_SCALE_LSCH5 0x000003FF +#define LEDC_DUTY_SCALE_LSCH5_M ((LEDC_DUTY_SCALE_LSCH5_V)<<(LEDC_DUTY_SCALE_LSCH5_S)) +#define LEDC_DUTY_SCALE_LSCH5_V 0x3FF +#define LEDC_DUTY_SCALE_LSCH5_S 0 + +#define LEDC_LSCH5_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0114) +/* LEDC_DUTY_LSCH5 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for low speed channel5.*/ +#define LEDC_DUTY_LSCH5 0x01FFFFFF +#define LEDC_DUTY_LSCH5_M ((LEDC_DUTY_LSCH5_V)<<(LEDC_DUTY_LSCH5_S)) +#define LEDC_DUTY_LSCH5_V 0x1FFFFFF +#define LEDC_DUTY_LSCH5_S 0 + +#define LEDC_LSCH6_CONF0_REG (DR_REG_LEDC_BASE + 0x0118) +/* LEDC_PARA_UP_LSCH6 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This bit is used to update register LEDC_LSCH6_HPOINT and LEDC_LSCH6_DUTY + for low speed channel6.*/ +#define LEDC_PARA_UP_LSCH6 (BIT(4)) +#define LEDC_PARA_UP_LSCH6_M (BIT(4)) +#define LEDC_PARA_UP_LSCH6_V 0x1 +#define LEDC_PARA_UP_LSCH6_S 4 +/* LEDC_IDLE_LV_LSCH6 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when low speed channel6 is off.*/ +#define LEDC_IDLE_LV_LSCH6 (BIT(3)) +#define LEDC_IDLE_LV_LSCH6_M (BIT(3)) +#define LEDC_IDLE_LV_LSCH6_V 0x1 +#define LEDC_IDLE_LV_LSCH6_S 3 +/* LEDC_SIG_OUT_EN_LSCH6 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for low speed channel6.*/ +#define LEDC_SIG_OUT_EN_LSCH6 (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH6_M (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH6_V 0x1 +#define LEDC_SIG_OUT_EN_LSCH6_S 2 +/* LEDC_TIMER_SEL_LSCH6 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four low speed timers the two bits are used to select + one of them for low speed channel6. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ +#define LEDC_TIMER_SEL_LSCH6 0x00000003 +#define LEDC_TIMER_SEL_LSCH6_M ((LEDC_TIMER_SEL_LSCH6_V)<<(LEDC_TIMER_SEL_LSCH6_S)) +#define LEDC_TIMER_SEL_LSCH6_V 0x3 +#define LEDC_TIMER_SEL_LSCH6_S 0 + +#define LEDC_LSCH6_HPOINT_REG (DR_REG_LEDC_BASE + 0x011C) +/* LEDC_HPOINT_LSCH6 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when lstimerx(x=[0 3]) selected + by low speed channel6 has reached reg_hpoint_lsch6[19:0]*/ +#define LEDC_HPOINT_LSCH6 0x000FFFFF +#define LEDC_HPOINT_LSCH6_M ((LEDC_HPOINT_LSCH6_V)<<(LEDC_HPOINT_LSCH6_S)) +#define LEDC_HPOINT_LSCH6_V 0xFFFFF +#define LEDC_HPOINT_LSCH6_S 0 + +#define LEDC_LSCH6_DUTY_REG (DR_REG_LEDC_BASE + 0x0120) +/* LEDC_DUTY_LSCH6 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When lstimerx(x=[0 + 3]) choosed by low speed channel6 has reached reg_lpoint_lsch6 the output signal changes to low. reg_lpoint_lsch6=(reg_hpoint_lsch6[19:0]+reg_duty_lsch6[24:4]) (1) reg_lpoint_lsch6=(reg_hpoint_lsch6[19:0]+reg_duty_lsch6[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_LSCH6 0x01FFFFFF +#define LEDC_DUTY_LSCH6_M ((LEDC_DUTY_LSCH6_V)<<(LEDC_DUTY_LSCH6_S)) +#define LEDC_DUTY_LSCH6_V 0x1FFFFFF +#define LEDC_DUTY_LSCH6_S 0 + +#define LEDC_LSCH6_CONF1_REG (DR_REG_LEDC_BASE + 0x0124) +/* LEDC_DUTY_START_LSCH6 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch6 reg_duty_cycle_hsch6 and reg_duty_scale_hsch6 + has been configured. these register won't take effect until set reg_duty_start_hsch6. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_LSCH6 (BIT(31)) +#define LEDC_DUTY_START_LSCH6_M (BIT(31)) +#define LEDC_DUTY_START_LSCH6_V 0x1 +#define LEDC_DUTY_START_LSCH6_S 31 +/* LEDC_DUTY_INC_LSCH6 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for low speed channel6.*/ +#define LEDC_DUTY_INC_LSCH6 (BIT(30)) +#define LEDC_DUTY_INC_LSCH6_M (BIT(30)) +#define LEDC_DUTY_INC_LSCH6_V 0x1 +#define LEDC_DUTY_INC_LSCH6_S 30 +/* LEDC_DUTY_NUM_LSCH6 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for low speed channel6.*/ +#define LEDC_DUTY_NUM_LSCH6 0x000003FF +#define LEDC_DUTY_NUM_LSCH6_M ((LEDC_DUTY_NUM_LSCH6_V)<<(LEDC_DUTY_NUM_LSCH6_S)) +#define LEDC_DUTY_NUM_LSCH6_V 0x3FF +#define LEDC_DUTY_NUM_LSCH6_S 20 +/* LEDC_DUTY_CYCLE_LSCH6 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_lsch6 cycles for low speed channel6.*/ +#define LEDC_DUTY_CYCLE_LSCH6 0x000003FF +#define LEDC_DUTY_CYCLE_LSCH6_M ((LEDC_DUTY_CYCLE_LSCH6_V)<<(LEDC_DUTY_CYCLE_LSCH6_S)) +#define LEDC_DUTY_CYCLE_LSCH6_V 0x3FF +#define LEDC_DUTY_CYCLE_LSCH6_S 10 +/* LEDC_DUTY_SCALE_LSCH6 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + low speed channel6.*/ +#define LEDC_DUTY_SCALE_LSCH6 0x000003FF +#define LEDC_DUTY_SCALE_LSCH6_M ((LEDC_DUTY_SCALE_LSCH6_V)<<(LEDC_DUTY_SCALE_LSCH6_S)) +#define LEDC_DUTY_SCALE_LSCH6_V 0x3FF +#define LEDC_DUTY_SCALE_LSCH6_S 0 + +#define LEDC_LSCH6_DUTY_R_REG (DR_REG_LEDC_BASE + 0x0128) +/* LEDC_DUTY_LSCH6 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for low speed channel6.*/ +#define LEDC_DUTY_LSCH6 0x01FFFFFF +#define LEDC_DUTY_LSCH6_M ((LEDC_DUTY_LSCH6_V)<<(LEDC_DUTY_LSCH6_S)) +#define LEDC_DUTY_LSCH6_V 0x1FFFFFF +#define LEDC_DUTY_LSCH6_S 0 + +#define LEDC_LSCH7_CONF0_REG (DR_REG_LEDC_BASE + 0x012C) +/* LEDC_PARA_UP_LSCH7 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This bit is used to update register LEDC_LSCH7_HPOINT and LEDC_LSCH7_DUTY + for low speed channel7.*/ +#define LEDC_PARA_UP_LSCH7 (BIT(4)) +#define LEDC_PARA_UP_LSCH7_M (BIT(4)) +#define LEDC_PARA_UP_LSCH7_V 0x1 +#define LEDC_PARA_UP_LSCH7_S 4 +/* LEDC_IDLE_LV_LSCH7 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This bit is used to control the output value when low speed channel7 is off.*/ +#define LEDC_IDLE_LV_LSCH7 (BIT(3)) +#define LEDC_IDLE_LV_LSCH7_M (BIT(3)) +#define LEDC_IDLE_LV_LSCH7_V 0x1 +#define LEDC_IDLE_LV_LSCH7_S 3 +/* LEDC_SIG_OUT_EN_LSCH7 : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for low speed channel7.*/ +#define LEDC_SIG_OUT_EN_LSCH7 (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH7_M (BIT(2)) +#define LEDC_SIG_OUT_EN_LSCH7_V 0x1 +#define LEDC_SIG_OUT_EN_LSCH7_S 2 +/* LEDC_TIMER_SEL_LSCH7 : R/W ;bitpos:[1:0] ;default: 2'd0 ; */ +/*description: There are four low speed timers the two bits are used to select + one of them for low speed channel7. 2'b00: seletc lstimer0. 2'b01: select lstimer1. 2'b10: select lstimer2. 2'b11: select lstimer3.*/ +#define LEDC_TIMER_SEL_LSCH7 0x00000003 +#define LEDC_TIMER_SEL_LSCH7_M ((LEDC_TIMER_SEL_LSCH7_V)<<(LEDC_TIMER_SEL_LSCH7_S)) +#define LEDC_TIMER_SEL_LSCH7_V 0x3 +#define LEDC_TIMER_SEL_LSCH7_S 0 + +#define LEDC_LSCH7_HPOINT_REG (DR_REG_LEDC_BASE + 0x0130) +/* LEDC_HPOINT_LSCH7 : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The output value changes to high when lstimerx(x=[0 3]) selected + by low speed channel7 has reached reg_hpoint_lsch7[19:0]*/ +#define LEDC_HPOINT_LSCH7 0x000FFFFF +#define LEDC_HPOINT_LSCH7_M ((LEDC_HPOINT_LSCH7_V)<<(LEDC_HPOINT_LSCH7_S)) +#define LEDC_HPOINT_LSCH7_V 0xFFFFF +#define LEDC_HPOINT_LSCH7_S 0 + +#define LEDC_LSCH7_DUTY_REG (DR_REG_LEDC_BASE + 0x0134) +/* LEDC_DUTY_LSCH7 : R/W ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: The register is used to control output duty. When lstimerx(x=[0 + 3]) choosed by low speed channel7 has reached reg_lpoint_lsch7 the output signal changes to low. reg_lpoint_lsch7=(reg_hpoint_lsch7[19:0]+reg_duty_lsch7[24:4]) (1) reg_lpoint_lsch7=(reg_hpoint_lsch7[19:0]+reg_duty_lsch7[24:4] +1) (2) The least four bits in this register represent the decimal part and determines when to choose (1) or (2)*/ +#define LEDC_DUTY_LSCH7 0x01FFFFFF +#define LEDC_DUTY_LSCH7_M ((LEDC_DUTY_LSCH7_V)<<(LEDC_DUTY_LSCH7_S)) +#define LEDC_DUTY_LSCH7_V 0x1FFFFFF +#define LEDC_DUTY_LSCH7_S 0 + +#define LEDC_LSCH7_CONF1_REG (DR_REG_LEDC_BASE + 0x0138) +/* LEDC_DUTY_START_LSCH7 : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: When reg_duty_num_hsch4 reg_duty_cycle_hsch4 and reg_duty_scale_hsch4 + has been configured. these register won't take effect until set reg_duty_start_hsch4. this bit is automatically cleared by hardware.*/ +#define LEDC_DUTY_START_LSCH7 (BIT(31)) +#define LEDC_DUTY_START_LSCH7_M (BIT(31)) +#define LEDC_DUTY_START_LSCH7_V 0x1 +#define LEDC_DUTY_START_LSCH7_S 31 +/* LEDC_DUTY_INC_LSCH7 : R/W ;bitpos:[30] ;default: 1'b1 ; */ +/*description: This register is used to increase the duty of output signal or + decrease the duty of output signal for low speed channel4.*/ +#define LEDC_DUTY_INC_LSCH7 (BIT(30)) +#define LEDC_DUTY_INC_LSCH7_M (BIT(30)) +#define LEDC_DUTY_INC_LSCH7_V 0x1 +#define LEDC_DUTY_INC_LSCH7_S 30 +/* LEDC_DUTY_NUM_LSCH7 : R/W ;bitpos:[29:20] ;default: 10'h0 ; */ +/*description: This register is used to control the num of increased or decreased + times for low speed channel4.*/ +#define LEDC_DUTY_NUM_LSCH7 0x000003FF +#define LEDC_DUTY_NUM_LSCH7_M ((LEDC_DUTY_NUM_LSCH7_V)<<(LEDC_DUTY_NUM_LSCH7_S)) +#define LEDC_DUTY_NUM_LSCH7_V 0x3FF +#define LEDC_DUTY_NUM_LSCH7_S 20 +/* LEDC_DUTY_CYCLE_LSCH7 : R/W ;bitpos:[19:10] ;default: 10'h0 ; */ +/*description: This register is used to increase or decrease the duty every + reg_duty_cycle_lsch7 cycles for low speed channel7.*/ +#define LEDC_DUTY_CYCLE_LSCH7 0x000003FF +#define LEDC_DUTY_CYCLE_LSCH7_M ((LEDC_DUTY_CYCLE_LSCH7_V)<<(LEDC_DUTY_CYCLE_LSCH7_S)) +#define LEDC_DUTY_CYCLE_LSCH7_V 0x3FF +#define LEDC_DUTY_CYCLE_LSCH7_S 10 +/* LEDC_DUTY_SCALE_LSCH7 : R/W ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register controls the increase or decrease step scale for + low speed channel7.*/ +#define LEDC_DUTY_SCALE_LSCH7 0x000003FF +#define LEDC_DUTY_SCALE_LSCH7_M ((LEDC_DUTY_SCALE_LSCH7_V)<<(LEDC_DUTY_SCALE_LSCH7_S)) +#define LEDC_DUTY_SCALE_LSCH7_V 0x3FF +#define LEDC_DUTY_SCALE_LSCH7_S 0 + +#define LEDC_LSCH7_DUTY_R_REG (DR_REG_LEDC_BASE + 0x013C) +/* LEDC_DUTY_LSCH7 : RO ;bitpos:[24:0] ;default: 25'h0 ; */ +/*description: This register represents the current duty of the output signal + for low speed channel7.*/ +#define LEDC_DUTY_LSCH7 0x01FFFFFF +#define LEDC_DUTY_LSCH7_M ((LEDC_DUTY_LSCH7_V)<<(LEDC_DUTY_LSCH7_S)) +#define LEDC_DUTY_LSCH7_V 0x1FFFFFF +#define LEDC_DUTY_LSCH7_S 0 + +#define LEDC_HSTIMER0_CONF_REG (DR_REG_LEDC_BASE + 0x0140) +/* LEDC_TICK_SEL_HSTIMER0 : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: This bit is used to choose apb_clk or ref_tick for high speed + timer0. 1'b1:apb_clk 0:ref_tick*/ +#define LEDC_TICK_SEL_HSTIMER0 (BIT(25)) +#define LEDC_TICK_SEL_HSTIMER0_M (BIT(25)) +#define LEDC_TICK_SEL_HSTIMER0_V 0x1 +#define LEDC_TICK_SEL_HSTIMER0_S 25 +/* LEDC_HSTIMER0_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ +/*description: This bit is used to reset high speed timer0 the counter will be 0 after reset.*/ +#define LEDC_HSTIMER0_RST (BIT(24)) +#define LEDC_HSTIMER0_RST_M (BIT(24)) +#define LEDC_HSTIMER0_RST_V 0x1 +#define LEDC_HSTIMER0_RST_S 24 +/* LEDC_HSTIMER0_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: This bit is used to pause the counter in high speed timer0*/ +#define LEDC_HSTIMER0_PAUSE (BIT(23)) +#define LEDC_HSTIMER0_PAUSE_M (BIT(23)) +#define LEDC_HSTIMER0_PAUSE_V 0x1 +#define LEDC_HSTIMER0_PAUSE_S 23 +/* LEDC_DIV_NUM_HSTIMER0 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ +/*description: This register is used to configure parameter for divider in high + speed timer0 the least significant eight bits represent the decimal part.*/ +#define LEDC_DIV_NUM_HSTIMER0 0x0003FFFF +#define LEDC_DIV_NUM_HSTIMER0_M ((LEDC_DIV_NUM_HSTIMER0_V)<<(LEDC_DIV_NUM_HSTIMER0_S)) +#define LEDC_DIV_NUM_HSTIMER0_V 0x3FFFF +#define LEDC_DIV_NUM_HSTIMER0_S 5 +/* LEDC_HSTIMER0_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ +/*description: This register controls the range of the counter in high speed + timer0. the counter range is [0 2**reg_hstimer0_lim] the max bit width for counter is 20.*/ +#define LEDC_HSTIMER0_LIM 0x0000001F +#define LEDC_HSTIMER0_LIM_M ((LEDC_HSTIMER0_LIM_V)<<(LEDC_HSTIMER0_LIM_S)) +#define LEDC_HSTIMER0_LIM_V 0x1F +#define LEDC_HSTIMER0_LIM_S 0 + +#define LEDC_HSTIMER0_VALUE_REG (DR_REG_LEDC_BASE + 0x0144) +/* LEDC_HSTIMER0_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ +/*description: software can read this register to get the current counter value + in high speed timer0*/ +#define LEDC_HSTIMER0_CNT 0x000FFFFF +#define LEDC_HSTIMER0_CNT_M ((LEDC_HSTIMER0_CNT_V)<<(LEDC_HSTIMER0_CNT_S)) +#define LEDC_HSTIMER0_CNT_V 0xFFFFF +#define LEDC_HSTIMER0_CNT_S 0 + +#define LEDC_HSTIMER1_CONF_REG (DR_REG_LEDC_BASE + 0x0148) +/* LEDC_TICK_SEL_HSTIMER1 : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: This bit is used to choose apb_clk or ref_tick for high speed + timer1. 1'b1:apb_clk 0:ref_tick*/ +#define LEDC_TICK_SEL_HSTIMER1 (BIT(25)) +#define LEDC_TICK_SEL_HSTIMER1_M (BIT(25)) +#define LEDC_TICK_SEL_HSTIMER1_V 0x1 +#define LEDC_TICK_SEL_HSTIMER1_S 25 +/* LEDC_HSTIMER1_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ +/*description: This bit is used to reset high speed timer1 the counter will be 0 after reset.*/ +#define LEDC_HSTIMER1_RST (BIT(24)) +#define LEDC_HSTIMER1_RST_M (BIT(24)) +#define LEDC_HSTIMER1_RST_V 0x1 +#define LEDC_HSTIMER1_RST_S 24 +/* LEDC_HSTIMER1_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: This bit is used to pause the counter in high speed timer1*/ +#define LEDC_HSTIMER1_PAUSE (BIT(23)) +#define LEDC_HSTIMER1_PAUSE_M (BIT(23)) +#define LEDC_HSTIMER1_PAUSE_V 0x1 +#define LEDC_HSTIMER1_PAUSE_S 23 +/* LEDC_DIV_NUM_HSTIMER1 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ +/*description: This register is used to configure parameter for divider in high + speed timer1 the least significant eight bits represent the decimal part.*/ +#define LEDC_DIV_NUM_HSTIMER1 0x0003FFFF +#define LEDC_DIV_NUM_HSTIMER1_M ((LEDC_DIV_NUM_HSTIMER1_V)<<(LEDC_DIV_NUM_HSTIMER1_S)) +#define LEDC_DIV_NUM_HSTIMER1_V 0x3FFFF +#define LEDC_DIV_NUM_HSTIMER1_S 5 +/* LEDC_HSTIMER1_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ +/*description: This register controls the range of the counter in high speed + timer1. the counter range is [0 2**reg_hstimer1_lim] the max bit width for counter is 20.*/ +#define LEDC_HSTIMER1_LIM 0x0000001F +#define LEDC_HSTIMER1_LIM_M ((LEDC_HSTIMER1_LIM_V)<<(LEDC_HSTIMER1_LIM_S)) +#define LEDC_HSTIMER1_LIM_V 0x1F +#define LEDC_HSTIMER1_LIM_S 0 + +#define LEDC_HSTIMER1_VALUE_REG (DR_REG_LEDC_BASE + 0x014C) +/* LEDC_HSTIMER1_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ +/*description: software can read this register to get the current counter value + in high speed timer1.*/ +#define LEDC_HSTIMER1_CNT 0x000FFFFF +#define LEDC_HSTIMER1_CNT_M ((LEDC_HSTIMER1_CNT_V)<<(LEDC_HSTIMER1_CNT_S)) +#define LEDC_HSTIMER1_CNT_V 0xFFFFF +#define LEDC_HSTIMER1_CNT_S 0 + +#define LEDC_HSTIMER2_CONF_REG (DR_REG_LEDC_BASE + 0x0150) +/* LEDC_TICK_SEL_HSTIMER2 : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: This bit is used to choose apb_clk or ref_tick for high speed + timer2. 1'b1:apb_clk 0:ref_tick*/ +#define LEDC_TICK_SEL_HSTIMER2 (BIT(25)) +#define LEDC_TICK_SEL_HSTIMER2_M (BIT(25)) +#define LEDC_TICK_SEL_HSTIMER2_V 0x1 +#define LEDC_TICK_SEL_HSTIMER2_S 25 +/* LEDC_HSTIMER2_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ +/*description: This bit is used to reset high speed timer2 the counter will be 0 after reset.*/ +#define LEDC_HSTIMER2_RST (BIT(24)) +#define LEDC_HSTIMER2_RST_M (BIT(24)) +#define LEDC_HSTIMER2_RST_V 0x1 +#define LEDC_HSTIMER2_RST_S 24 +/* LEDC_HSTIMER2_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: This bit is used to pause the counter in high speed timer2*/ +#define LEDC_HSTIMER2_PAUSE (BIT(23)) +#define LEDC_HSTIMER2_PAUSE_M (BIT(23)) +#define LEDC_HSTIMER2_PAUSE_V 0x1 +#define LEDC_HSTIMER2_PAUSE_S 23 +/* LEDC_DIV_NUM_HSTIMER2 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ +/*description: This register is used to configure parameter for divider in high + speed timer2 the least significant eight bits represent the decimal part.*/ +#define LEDC_DIV_NUM_HSTIMER2 0x0003FFFF +#define LEDC_DIV_NUM_HSTIMER2_M ((LEDC_DIV_NUM_HSTIMER2_V)<<(LEDC_DIV_NUM_HSTIMER2_S)) +#define LEDC_DIV_NUM_HSTIMER2_V 0x3FFFF +#define LEDC_DIV_NUM_HSTIMER2_S 5 +/* LEDC_HSTIMER2_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ +/*description: This register controls the range of the counter in high speed + timer2. the counter range is [0 2**reg_hstimer2_lim] the max bit width for counter is 20.*/ +#define LEDC_HSTIMER2_LIM 0x0000001F +#define LEDC_HSTIMER2_LIM_M ((LEDC_HSTIMER2_LIM_V)<<(LEDC_HSTIMER2_LIM_S)) +#define LEDC_HSTIMER2_LIM_V 0x1F +#define LEDC_HSTIMER2_LIM_S 0 + +#define LEDC_HSTIMER2_VALUE_REG (DR_REG_LEDC_BASE + 0x0154) +/* LEDC_HSTIMER2_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ +/*description: software can read this register to get the current counter value + in high speed timer2*/ +#define LEDC_HSTIMER2_CNT 0x000FFFFF +#define LEDC_HSTIMER2_CNT_M ((LEDC_HSTIMER2_CNT_V)<<(LEDC_HSTIMER2_CNT_S)) +#define LEDC_HSTIMER2_CNT_V 0xFFFFF +#define LEDC_HSTIMER2_CNT_S 0 + +#define LEDC_HSTIMER3_CONF_REG (DR_REG_LEDC_BASE + 0x0158) +/* LEDC_TICK_SEL_HSTIMER3 : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: This bit is used to choose apb_clk or ref_tick for high speed + timer3. 1'b1:apb_clk 0:ref_tick*/ +#define LEDC_TICK_SEL_HSTIMER3 (BIT(25)) +#define LEDC_TICK_SEL_HSTIMER3_M (BIT(25)) +#define LEDC_TICK_SEL_HSTIMER3_V 0x1 +#define LEDC_TICK_SEL_HSTIMER3_S 25 +/* LEDC_HSTIMER3_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ +/*description: This bit is used to reset high speed timer3 the counter will be 0 after reset.*/ +#define LEDC_HSTIMER3_RST (BIT(24)) +#define LEDC_HSTIMER3_RST_M (BIT(24)) +#define LEDC_HSTIMER3_RST_V 0x1 +#define LEDC_HSTIMER3_RST_S 24 +/* LEDC_HSTIMER3_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: This bit is used to pause the counter in high speed timer3*/ +#define LEDC_HSTIMER3_PAUSE (BIT(23)) +#define LEDC_HSTIMER3_PAUSE_M (BIT(23)) +#define LEDC_HSTIMER3_PAUSE_V 0x1 +#define LEDC_HSTIMER3_PAUSE_S 23 +/* LEDC_DIV_NUM_HSTIMER3 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ +/*description: This register is used to configure parameter for divider in high + speed timer3 the least significant eight bits represent the decimal part.*/ +#define LEDC_DIV_NUM_HSTIMER3 0x0003FFFF +#define LEDC_DIV_NUM_HSTIMER3_M ((LEDC_DIV_NUM_HSTIMER3_V)<<(LEDC_DIV_NUM_HSTIMER3_S)) +#define LEDC_DIV_NUM_HSTIMER3_V 0x3FFFF +#define LEDC_DIV_NUM_HSTIMER3_S 5 +/* LEDC_HSTIMER3_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ +/*description: This register controls the range of the counter in high speed + timer3. the counter range is [0 2**reg_hstimer3_lim] the max bit width for counter is 20.*/ +#define LEDC_HSTIMER3_LIM 0x0000001F +#define LEDC_HSTIMER3_LIM_M ((LEDC_HSTIMER3_LIM_V)<<(LEDC_HSTIMER3_LIM_S)) +#define LEDC_HSTIMER3_LIM_V 0x1F +#define LEDC_HSTIMER3_LIM_S 0 + +#define LEDC_HSTIMER3_VALUE_REG (DR_REG_LEDC_BASE + 0x015C) +/* LEDC_HSTIMER3_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ +/*description: software can read this register to get the current counter value + in high speed timer3*/ +#define LEDC_HSTIMER3_CNT 0x000FFFFF +#define LEDC_HSTIMER3_CNT_M ((LEDC_HSTIMER3_CNT_V)<<(LEDC_HSTIMER3_CNT_S)) +#define LEDC_HSTIMER3_CNT_V 0xFFFFF +#define LEDC_HSTIMER3_CNT_S 0 + +#define LEDC_LSTIMER0_CONF_REG (DR_REG_LEDC_BASE + 0x0160) +/* LEDC_LSTIMER0_PARA_UP : R/W ;bitpos:[26] ;default: 1'h0 ; */ +/*description: Set this bit to update reg_div_num_lstime0 and reg_lstimer0_lim.*/ +#define LEDC_LSTIMER0_PARA_UP (BIT(26)) +#define LEDC_LSTIMER0_PARA_UP_M (BIT(26)) +#define LEDC_LSTIMER0_PARA_UP_V 0x1 +#define LEDC_LSTIMER0_PARA_UP_S 26 +/* LEDC_TICK_SEL_LSTIMER0 : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: This bit is used to choose slow_clk or ref_tick for low speed + timer0. 1'b1:slow_clk 0:ref_tick*/ +#define LEDC_TICK_SEL_LSTIMER0 (BIT(25)) +#define LEDC_TICK_SEL_LSTIMER0_M (BIT(25)) +#define LEDC_TICK_SEL_LSTIMER0_V 0x1 +#define LEDC_TICK_SEL_LSTIMER0_S 25 +/* LEDC_LSTIMER0_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ +/*description: This bit is used to reset low speed timer0 the counter will be 0 after reset.*/ +#define LEDC_LSTIMER0_RST (BIT(24)) +#define LEDC_LSTIMER0_RST_M (BIT(24)) +#define LEDC_LSTIMER0_RST_V 0x1 +#define LEDC_LSTIMER0_RST_S 24 +/* LEDC_LSTIMER0_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: This bit is used to pause the counter in low speed timer0.*/ +#define LEDC_LSTIMER0_PAUSE (BIT(23)) +#define LEDC_LSTIMER0_PAUSE_M (BIT(23)) +#define LEDC_LSTIMER0_PAUSE_V 0x1 +#define LEDC_LSTIMER0_PAUSE_S 23 +/* LEDC_DIV_NUM_LSTIMER0 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ +/*description: This register is used to configure parameter for divider in low + speed timer0 the least significant eight bits represent the decimal part.*/ +#define LEDC_DIV_NUM_LSTIMER0 0x0003FFFF +#define LEDC_DIV_NUM_LSTIMER0_M ((LEDC_DIV_NUM_LSTIMER0_V)<<(LEDC_DIV_NUM_LSTIMER0_S)) +#define LEDC_DIV_NUM_LSTIMER0_V 0x3FFFF +#define LEDC_DIV_NUM_LSTIMER0_S 5 +/* LEDC_LSTIMER0_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ +/*description: This register controls the range of the counter in low speed + timer0. the counter range is [0 2**reg_lstimer0_lim] the max bit width for counter is 20.*/ +#define LEDC_LSTIMER0_LIM 0x0000001F +#define LEDC_LSTIMER0_LIM_M ((LEDC_LSTIMER0_LIM_V)<<(LEDC_LSTIMER0_LIM_S)) +#define LEDC_LSTIMER0_LIM_V 0x1F +#define LEDC_LSTIMER0_LIM_S 0 + +#define LEDC_LSTIMER0_VALUE_REG (DR_REG_LEDC_BASE + 0x0164) +/* LEDC_LSTIMER0_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ +/*description: software can read this register to get the current counter value + in low speed timer0.*/ +#define LEDC_LSTIMER0_CNT 0x000FFFFF +#define LEDC_LSTIMER0_CNT_M ((LEDC_LSTIMER0_CNT_V)<<(LEDC_LSTIMER0_CNT_S)) +#define LEDC_LSTIMER0_CNT_V 0xFFFFF +#define LEDC_LSTIMER0_CNT_S 0 + +#define LEDC_LSTIMER1_CONF_REG (DR_REG_LEDC_BASE + 0x0168) +/* LEDC_LSTIMER1_PARA_UP : R/W ;bitpos:[26] ;default: 1'h0 ; */ +/*description: Set this bit to update reg_div_num_lstime1 and reg_lstimer1_lim.*/ +#define LEDC_LSTIMER1_PARA_UP (BIT(26)) +#define LEDC_LSTIMER1_PARA_UP_M (BIT(26)) +#define LEDC_LSTIMER1_PARA_UP_V 0x1 +#define LEDC_LSTIMER1_PARA_UP_S 26 +/* LEDC_TICK_SEL_LSTIMER1 : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: This bit is used to choose slow_clk or ref_tick for low speed + timer1. 1'b1:slow_clk 0:ref_tick*/ +#define LEDC_TICK_SEL_LSTIMER1 (BIT(25)) +#define LEDC_TICK_SEL_LSTIMER1_M (BIT(25)) +#define LEDC_TICK_SEL_LSTIMER1_V 0x1 +#define LEDC_TICK_SEL_LSTIMER1_S 25 +/* LEDC_LSTIMER1_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ +/*description: This bit is used to reset low speed timer1 the counter will be 0 after reset.*/ +#define LEDC_LSTIMER1_RST (BIT(24)) +#define LEDC_LSTIMER1_RST_M (BIT(24)) +#define LEDC_LSTIMER1_RST_V 0x1 +#define LEDC_LSTIMER1_RST_S 24 +/* LEDC_LSTIMER1_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: This bit is used to pause the counter in low speed timer1.*/ +#define LEDC_LSTIMER1_PAUSE (BIT(23)) +#define LEDC_LSTIMER1_PAUSE_M (BIT(23)) +#define LEDC_LSTIMER1_PAUSE_V 0x1 +#define LEDC_LSTIMER1_PAUSE_S 23 +/* LEDC_DIV_NUM_LSTIMER1 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ +/*description: This register is used to configure parameter for divider in low + speed timer1 the least significant eight bits represent the decimal part.*/ +#define LEDC_DIV_NUM_LSTIMER1 0x0003FFFF +#define LEDC_DIV_NUM_LSTIMER1_M ((LEDC_DIV_NUM_LSTIMER1_V)<<(LEDC_DIV_NUM_LSTIMER1_S)) +#define LEDC_DIV_NUM_LSTIMER1_V 0x3FFFF +#define LEDC_DIV_NUM_LSTIMER1_S 5 +/* LEDC_LSTIMER1_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ +/*description: This register controls the range of the counter in low speed + timer1. the counter range is [0 2**reg_lstimer1_lim] the max bit width for counter is 20.*/ +#define LEDC_LSTIMER1_LIM 0x0000001F +#define LEDC_LSTIMER1_LIM_M ((LEDC_LSTIMER1_LIM_V)<<(LEDC_LSTIMER1_LIM_S)) +#define LEDC_LSTIMER1_LIM_V 0x1F +#define LEDC_LSTIMER1_LIM_S 0 + +#define LEDC_LSTIMER1_VALUE_REG (DR_REG_LEDC_BASE + 0x016C) +/* LEDC_LSTIMER1_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ +/*description: software can read this register to get the current counter value + in low speed timer1.*/ +#define LEDC_LSTIMER1_CNT 0x000FFFFF +#define LEDC_LSTIMER1_CNT_M ((LEDC_LSTIMER1_CNT_V)<<(LEDC_LSTIMER1_CNT_S)) +#define LEDC_LSTIMER1_CNT_V 0xFFFFF +#define LEDC_LSTIMER1_CNT_S 0 + +#define LEDC_LSTIMER2_CONF_REG (DR_REG_LEDC_BASE + 0x0170) +/* LEDC_LSTIMER2_PARA_UP : R/W ;bitpos:[26] ;default: 1'h0 ; */ +/*description: Set this bit to update reg_div_num_lstime2 and reg_lstimer2_lim.*/ +#define LEDC_LSTIMER2_PARA_UP (BIT(26)) +#define LEDC_LSTIMER2_PARA_UP_M (BIT(26)) +#define LEDC_LSTIMER2_PARA_UP_V 0x1 +#define LEDC_LSTIMER2_PARA_UP_S 26 +/* LEDC_TICK_SEL_LSTIMER2 : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: This bit is used to choose slow_clk or ref_tick for low speed + timer2. 1'b1:slow_clk 0:ref_tick*/ +#define LEDC_TICK_SEL_LSTIMER2 (BIT(25)) +#define LEDC_TICK_SEL_LSTIMER2_M (BIT(25)) +#define LEDC_TICK_SEL_LSTIMER2_V 0x1 +#define LEDC_TICK_SEL_LSTIMER2_S 25 +/* LEDC_LSTIMER2_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ +/*description: This bit is used to reset low speed timer2 the counter will be 0 after reset.*/ +#define LEDC_LSTIMER2_RST (BIT(24)) +#define LEDC_LSTIMER2_RST_M (BIT(24)) +#define LEDC_LSTIMER2_RST_V 0x1 +#define LEDC_LSTIMER2_RST_S 24 +/* LEDC_LSTIMER2_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: This bit is used to pause the counter in low speed timer2.*/ +#define LEDC_LSTIMER2_PAUSE (BIT(23)) +#define LEDC_LSTIMER2_PAUSE_M (BIT(23)) +#define LEDC_LSTIMER2_PAUSE_V 0x1 +#define LEDC_LSTIMER2_PAUSE_S 23 +/* LEDC_DIV_NUM_LSTIMER2 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ +/*description: This register is used to configure parameter for divider in low + speed timer2 the least significant eight bits represent the decimal part.*/ +#define LEDC_DIV_NUM_LSTIMER2 0x0003FFFF +#define LEDC_DIV_NUM_LSTIMER2_M ((LEDC_DIV_NUM_LSTIMER2_V)<<(LEDC_DIV_NUM_LSTIMER2_S)) +#define LEDC_DIV_NUM_LSTIMER2_V 0x3FFFF +#define LEDC_DIV_NUM_LSTIMER2_S 5 +/* LEDC_LSTIMER2_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ +/*description: This register controls the range of the counter in low speed + timer2. the counter range is [0 2**reg_lstimer2_lim] the max bit width for counter is 20.*/ +#define LEDC_LSTIMER2_LIM 0x0000001F +#define LEDC_LSTIMER2_LIM_M ((LEDC_LSTIMER2_LIM_V)<<(LEDC_LSTIMER2_LIM_S)) +#define LEDC_LSTIMER2_LIM_V 0x1F +#define LEDC_LSTIMER2_LIM_S 0 + +#define LEDC_LSTIMER2_VALUE_REG (DR_REG_LEDC_BASE + 0x0174) +/* LEDC_LSTIMER2_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ +/*description: software can read this register to get the current counter value + in low speed timer2.*/ +#define LEDC_LSTIMER2_CNT 0x000FFFFF +#define LEDC_LSTIMER2_CNT_M ((LEDC_LSTIMER2_CNT_V)<<(LEDC_LSTIMER2_CNT_S)) +#define LEDC_LSTIMER2_CNT_V 0xFFFFF +#define LEDC_LSTIMER2_CNT_S 0 + +#define LEDC_LSTIMER3_CONF_REG (DR_REG_LEDC_BASE + 0x0178) +/* LEDC_LSTIMER3_PARA_UP : R/W ;bitpos:[26] ;default: 1'h0 ; */ +/*description: Set this bit to update reg_div_num_lstime3 and reg_lstimer3_lim.*/ +#define LEDC_LSTIMER3_PARA_UP (BIT(26)) +#define LEDC_LSTIMER3_PARA_UP_M (BIT(26)) +#define LEDC_LSTIMER3_PARA_UP_V 0x1 +#define LEDC_LSTIMER3_PARA_UP_S 26 +/* LEDC_TICK_SEL_LSTIMER3 : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: This bit is used to choose slow_clk or ref_tick for low speed + timer3. 1'b1:slow_clk 0:ref_tick*/ +#define LEDC_TICK_SEL_LSTIMER3 (BIT(25)) +#define LEDC_TICK_SEL_LSTIMER3_M (BIT(25)) +#define LEDC_TICK_SEL_LSTIMER3_V 0x1 +#define LEDC_TICK_SEL_LSTIMER3_S 25 +/* LEDC_LSTIMER3_RST : R/W ;bitpos:[24] ;default: 1'b1 ; */ +/*description: This bit is used to reset low speed timer3 the counter will be 0 after reset.*/ +#define LEDC_LSTIMER3_RST (BIT(24)) +#define LEDC_LSTIMER3_RST_M (BIT(24)) +#define LEDC_LSTIMER3_RST_V 0x1 +#define LEDC_LSTIMER3_RST_S 24 +/* LEDC_LSTIMER3_PAUSE : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: This bit is used to pause the counter in low speed timer3.*/ +#define LEDC_LSTIMER3_PAUSE (BIT(23)) +#define LEDC_LSTIMER3_PAUSE_M (BIT(23)) +#define LEDC_LSTIMER3_PAUSE_V 0x1 +#define LEDC_LSTIMER3_PAUSE_S 23 +/* LEDC_DIV_NUM_LSTIMER3 : R/W ;bitpos:[22:5] ;default: 18'h0 ; */ +/*description: This register is used to configure parameter for divider in low + speed timer3 the least significant eight bits represent the decimal part.*/ +#define LEDC_DIV_NUM_LSTIMER3 0x0003FFFF +#define LEDC_DIV_NUM_LSTIMER3_M ((LEDC_DIV_NUM_LSTIMER3_V)<<(LEDC_DIV_NUM_LSTIMER3_S)) +#define LEDC_DIV_NUM_LSTIMER3_V 0x3FFFF +#define LEDC_DIV_NUM_LSTIMER3_S 5 +/* LEDC_LSTIMER3_LIM : R/W ;bitpos:[4:0] ;default: 5'h0 ; */ +/*description: This register controls the range of the counter in low speed + timer3. the counter range is [0 2**reg_lstimer3_lim] the max bit width for counter is 20.*/ +#define LEDC_LSTIMER3_LIM 0x0000001F +#define LEDC_LSTIMER3_LIM_M ((LEDC_LSTIMER3_LIM_V)<<(LEDC_LSTIMER3_LIM_S)) +#define LEDC_LSTIMER3_LIM_V 0x1F +#define LEDC_LSTIMER3_LIM_S 0 + +#define LEDC_LSTIMER3_VALUE_REG (DR_REG_LEDC_BASE + 0x017C) +/* LEDC_LSTIMER3_CNT : RO ;bitpos:[19:0] ;default: 20'b0 ; */ +/*description: software can read this register to get the current counter value + in low speed timer3.*/ +#define LEDC_LSTIMER3_CNT 0x000FFFFF +#define LEDC_LSTIMER3_CNT_M ((LEDC_LSTIMER3_CNT_V)<<(LEDC_LSTIMER3_CNT_S)) +#define LEDC_LSTIMER3_CNT_V 0xFFFFF +#define LEDC_LSTIMER3_CNT_S 0 + +#define LEDC_INT_RAW_REG (DR_REG_LEDC_BASE + 0x0180) +/* LEDC_DUTY_CHNG_END_LSCH7_INT_RAW : RO ;bitpos:[23] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel 7 duty change done.*/ +#define LEDC_DUTY_CHNG_END_LSCH7_INT_RAW (BIT(23)) +#define LEDC_DUTY_CHNG_END_LSCH7_INT_RAW_M (BIT(23)) +#define LEDC_DUTY_CHNG_END_LSCH7_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH7_INT_RAW_S 23 +/* LEDC_DUTY_CHNG_END_LSCH6_INT_RAW : RO ;bitpos:[22] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel 6 duty change done.*/ +#define LEDC_DUTY_CHNG_END_LSCH6_INT_RAW (BIT(22)) +#define LEDC_DUTY_CHNG_END_LSCH6_INT_RAW_M (BIT(22)) +#define LEDC_DUTY_CHNG_END_LSCH6_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH6_INT_RAW_S 22 +/* LEDC_DUTY_CHNG_END_LSCH5_INT_RAW : RO ;bitpos:[21] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel 5 duty change done.*/ +#define LEDC_DUTY_CHNG_END_LSCH5_INT_RAW (BIT(21)) +#define LEDC_DUTY_CHNG_END_LSCH5_INT_RAW_M (BIT(21)) +#define LEDC_DUTY_CHNG_END_LSCH5_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH5_INT_RAW_S 21 +/* LEDC_DUTY_CHNG_END_LSCH4_INT_RAW : RO ;bitpos:[20] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel 4 duty change done.*/ +#define LEDC_DUTY_CHNG_END_LSCH4_INT_RAW (BIT(20)) +#define LEDC_DUTY_CHNG_END_LSCH4_INT_RAW_M (BIT(20)) +#define LEDC_DUTY_CHNG_END_LSCH4_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH4_INT_RAW_S 20 +/* LEDC_DUTY_CHNG_END_LSCH3_INT_RAW : RO ;bitpos:[19] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel 3 duty change done.*/ +#define LEDC_DUTY_CHNG_END_LSCH3_INT_RAW (BIT(19)) +#define LEDC_DUTY_CHNG_END_LSCH3_INT_RAW_M (BIT(19)) +#define LEDC_DUTY_CHNG_END_LSCH3_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH3_INT_RAW_S 19 +/* LEDC_DUTY_CHNG_END_LSCH2_INT_RAW : RO ;bitpos:[18] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel 2 duty change done.*/ +#define LEDC_DUTY_CHNG_END_LSCH2_INT_RAW (BIT(18)) +#define LEDC_DUTY_CHNG_END_LSCH2_INT_RAW_M (BIT(18)) +#define LEDC_DUTY_CHNG_END_LSCH2_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH2_INT_RAW_S 18 +/* LEDC_DUTY_CHNG_END_LSCH1_INT_RAW : RO ;bitpos:[17] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel 1 duty change done.*/ +#define LEDC_DUTY_CHNG_END_LSCH1_INT_RAW (BIT(17)) +#define LEDC_DUTY_CHNG_END_LSCH1_INT_RAW_M (BIT(17)) +#define LEDC_DUTY_CHNG_END_LSCH1_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH1_INT_RAW_S 17 +/* LEDC_DUTY_CHNG_END_LSCH0_INT_RAW : RO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel 0 duty change done.*/ +#define LEDC_DUTY_CHNG_END_LSCH0_INT_RAW (BIT(16)) +#define LEDC_DUTY_CHNG_END_LSCH0_INT_RAW_M (BIT(16)) +#define LEDC_DUTY_CHNG_END_LSCH0_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH0_INT_RAW_S 16 +/* LEDC_DUTY_CHNG_END_HSCH7_INT_RAW : RO ;bitpos:[15] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel 7 duty change done.*/ +#define LEDC_DUTY_CHNG_END_HSCH7_INT_RAW (BIT(15)) +#define LEDC_DUTY_CHNG_END_HSCH7_INT_RAW_M (BIT(15)) +#define LEDC_DUTY_CHNG_END_HSCH7_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH7_INT_RAW_S 15 +/* LEDC_DUTY_CHNG_END_HSCH6_INT_RAW : RO ;bitpos:[14] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel 6 duty change done.*/ +#define LEDC_DUTY_CHNG_END_HSCH6_INT_RAW (BIT(14)) +#define LEDC_DUTY_CHNG_END_HSCH6_INT_RAW_M (BIT(14)) +#define LEDC_DUTY_CHNG_END_HSCH6_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH6_INT_RAW_S 14 +/* LEDC_DUTY_CHNG_END_HSCH5_INT_RAW : RO ;bitpos:[13] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel 5 duty change done.*/ +#define LEDC_DUTY_CHNG_END_HSCH5_INT_RAW (BIT(13)) +#define LEDC_DUTY_CHNG_END_HSCH5_INT_RAW_M (BIT(13)) +#define LEDC_DUTY_CHNG_END_HSCH5_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH5_INT_RAW_S 13 +/* LEDC_DUTY_CHNG_END_HSCH4_INT_RAW : RO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel 4 duty change done.*/ +#define LEDC_DUTY_CHNG_END_HSCH4_INT_RAW (BIT(12)) +#define LEDC_DUTY_CHNG_END_HSCH4_INT_RAW_M (BIT(12)) +#define LEDC_DUTY_CHNG_END_HSCH4_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH4_INT_RAW_S 12 +/* LEDC_DUTY_CHNG_END_HSCH3_INT_RAW : RO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel 3 duty change done.*/ +#define LEDC_DUTY_CHNG_END_HSCH3_INT_RAW (BIT(11)) +#define LEDC_DUTY_CHNG_END_HSCH3_INT_RAW_M (BIT(11)) +#define LEDC_DUTY_CHNG_END_HSCH3_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH3_INT_RAW_S 11 +/* LEDC_DUTY_CHNG_END_HSCH2_INT_RAW : RO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel 2 duty change done.*/ +#define LEDC_DUTY_CHNG_END_HSCH2_INT_RAW (BIT(10)) +#define LEDC_DUTY_CHNG_END_HSCH2_INT_RAW_M (BIT(10)) +#define LEDC_DUTY_CHNG_END_HSCH2_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH2_INT_RAW_S 10 +/* LEDC_DUTY_CHNG_END_HSCH1_INT_RAW : RO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel 1 duty change done.*/ +#define LEDC_DUTY_CHNG_END_HSCH1_INT_RAW (BIT(9)) +#define LEDC_DUTY_CHNG_END_HSCH1_INT_RAW_M (BIT(9)) +#define LEDC_DUTY_CHNG_END_HSCH1_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH1_INT_RAW_S 9 +/* LEDC_DUTY_CHNG_END_HSCH0_INT_RAW : RO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel 0 duty change done.*/ +#define LEDC_DUTY_CHNG_END_HSCH0_INT_RAW (BIT(8)) +#define LEDC_DUTY_CHNG_END_HSCH0_INT_RAW_M (BIT(8)) +#define LEDC_DUTY_CHNG_END_HSCH0_INT_RAW_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH0_INT_RAW_S 8 +/* LEDC_LSTIMER3_OVF_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel3 counter overflow.*/ +#define LEDC_LSTIMER3_OVF_INT_RAW (BIT(7)) +#define LEDC_LSTIMER3_OVF_INT_RAW_M (BIT(7)) +#define LEDC_LSTIMER3_OVF_INT_RAW_V 0x1 +#define LEDC_LSTIMER3_OVF_INT_RAW_S 7 +/* LEDC_LSTIMER2_OVF_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel2 counter overflow.*/ +#define LEDC_LSTIMER2_OVF_INT_RAW (BIT(6)) +#define LEDC_LSTIMER2_OVF_INT_RAW_M (BIT(6)) +#define LEDC_LSTIMER2_OVF_INT_RAW_V 0x1 +#define LEDC_LSTIMER2_OVF_INT_RAW_S 6 +/* LEDC_LSTIMER1_OVF_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel1 counter overflow.*/ +#define LEDC_LSTIMER1_OVF_INT_RAW (BIT(5)) +#define LEDC_LSTIMER1_OVF_INT_RAW_M (BIT(5)) +#define LEDC_LSTIMER1_OVF_INT_RAW_V 0x1 +#define LEDC_LSTIMER1_OVF_INT_RAW_S 5 +/* LEDC_LSTIMER0_OVF_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for low speed channel0 counter overflow.*/ +#define LEDC_LSTIMER0_OVF_INT_RAW (BIT(4)) +#define LEDC_LSTIMER0_OVF_INT_RAW_M (BIT(4)) +#define LEDC_LSTIMER0_OVF_INT_RAW_V 0x1 +#define LEDC_LSTIMER0_OVF_INT_RAW_S 4 +/* LEDC_HSTIMER3_OVF_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel3 counter overflow.*/ +#define LEDC_HSTIMER3_OVF_INT_RAW (BIT(3)) +#define LEDC_HSTIMER3_OVF_INT_RAW_M (BIT(3)) +#define LEDC_HSTIMER3_OVF_INT_RAW_V 0x1 +#define LEDC_HSTIMER3_OVF_INT_RAW_S 3 +/* LEDC_HSTIMER2_OVF_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel2 counter overflow.*/ +#define LEDC_HSTIMER2_OVF_INT_RAW (BIT(2)) +#define LEDC_HSTIMER2_OVF_INT_RAW_M (BIT(2)) +#define LEDC_HSTIMER2_OVF_INT_RAW_V 0x1 +#define LEDC_HSTIMER2_OVF_INT_RAW_S 2 +/* LEDC_HSTIMER1_OVF_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel1 counter overflow.*/ +#define LEDC_HSTIMER1_OVF_INT_RAW (BIT(1)) +#define LEDC_HSTIMER1_OVF_INT_RAW_M (BIT(1)) +#define LEDC_HSTIMER1_OVF_INT_RAW_V 0x1 +#define LEDC_HSTIMER1_OVF_INT_RAW_S 1 +/* LEDC_HSTIMER0_OVF_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for high speed channel0 counter overflow.*/ +#define LEDC_HSTIMER0_OVF_INT_RAW (BIT(0)) +#define LEDC_HSTIMER0_OVF_INT_RAW_M (BIT(0)) +#define LEDC_HSTIMER0_OVF_INT_RAW_V 0x1 +#define LEDC_HSTIMER0_OVF_INT_RAW_S 0 + +#define LEDC_INT_ST_REG (DR_REG_LEDC_BASE + 0x0184) +/* LEDC_DUTY_CHNG_END_LSCH7_INT_ST : RO ;bitpos:[23] ;default: 1'h0 ; */ +/*description: The interrupt status bit for low speed channel 7 duty change done event*/ +#define LEDC_DUTY_CHNG_END_LSCH7_INT_ST (BIT(23)) +#define LEDC_DUTY_CHNG_END_LSCH7_INT_ST_M (BIT(23)) +#define LEDC_DUTY_CHNG_END_LSCH7_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH7_INT_ST_S 23 +/* LEDC_DUTY_CHNG_END_LSCH6_INT_ST : RO ;bitpos:[22] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel 6 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_LSCH6_INT_ST (BIT(22)) +#define LEDC_DUTY_CHNG_END_LSCH6_INT_ST_M (BIT(22)) +#define LEDC_DUTY_CHNG_END_LSCH6_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH6_INT_ST_S 22 +/* LEDC_DUTY_CHNG_END_LSCH5_INT_ST : RO ;bitpos:[21] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel 5 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_LSCH5_INT_ST (BIT(21)) +#define LEDC_DUTY_CHNG_END_LSCH5_INT_ST_M (BIT(21)) +#define LEDC_DUTY_CHNG_END_LSCH5_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH5_INT_ST_S 21 +/* LEDC_DUTY_CHNG_END_LSCH4_INT_ST : RO ;bitpos:[20] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel 4 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_LSCH4_INT_ST (BIT(20)) +#define LEDC_DUTY_CHNG_END_LSCH4_INT_ST_M (BIT(20)) +#define LEDC_DUTY_CHNG_END_LSCH4_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH4_INT_ST_S 20 +/* LEDC_DUTY_CHNG_END_LSCH3_INT_ST : RO ;bitpos:[19] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel 3 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_LSCH3_INT_ST (BIT(19)) +#define LEDC_DUTY_CHNG_END_LSCH3_INT_ST_M (BIT(19)) +#define LEDC_DUTY_CHNG_END_LSCH3_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH3_INT_ST_S 19 +/* LEDC_DUTY_CHNG_END_LSCH2_INT_ST : RO ;bitpos:[18] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel 2 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_LSCH2_INT_ST (BIT(18)) +#define LEDC_DUTY_CHNG_END_LSCH2_INT_ST_M (BIT(18)) +#define LEDC_DUTY_CHNG_END_LSCH2_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH2_INT_ST_S 18 +/* LEDC_DUTY_CHNG_END_LSCH1_INT_ST : RO ;bitpos:[17] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel 1 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_LSCH1_INT_ST (BIT(17)) +#define LEDC_DUTY_CHNG_END_LSCH1_INT_ST_M (BIT(17)) +#define LEDC_DUTY_CHNG_END_LSCH1_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH1_INT_ST_S 17 +/* LEDC_DUTY_CHNG_END_LSCH0_INT_ST : RO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel 0 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_LSCH0_INT_ST (BIT(16)) +#define LEDC_DUTY_CHNG_END_LSCH0_INT_ST_M (BIT(16)) +#define LEDC_DUTY_CHNG_END_LSCH0_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH0_INT_ST_S 16 +/* LEDC_DUTY_CHNG_END_HSCH7_INT_ST : RO ;bitpos:[15] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel 7 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_HSCH7_INT_ST (BIT(15)) +#define LEDC_DUTY_CHNG_END_HSCH7_INT_ST_M (BIT(15)) +#define LEDC_DUTY_CHNG_END_HSCH7_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH7_INT_ST_S 15 +/* LEDC_DUTY_CHNG_END_HSCH6_INT_ST : RO ;bitpos:[14] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel 6 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_HSCH6_INT_ST (BIT(14)) +#define LEDC_DUTY_CHNG_END_HSCH6_INT_ST_M (BIT(14)) +#define LEDC_DUTY_CHNG_END_HSCH6_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH6_INT_ST_S 14 +/* LEDC_DUTY_CHNG_END_HSCH5_INT_ST : RO ;bitpos:[13] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel 5 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_HSCH5_INT_ST (BIT(13)) +#define LEDC_DUTY_CHNG_END_HSCH5_INT_ST_M (BIT(13)) +#define LEDC_DUTY_CHNG_END_HSCH5_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH5_INT_ST_S 13 +/* LEDC_DUTY_CHNG_END_HSCH4_INT_ST : RO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel 4 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_HSCH4_INT_ST (BIT(12)) +#define LEDC_DUTY_CHNG_END_HSCH4_INT_ST_M (BIT(12)) +#define LEDC_DUTY_CHNG_END_HSCH4_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH4_INT_ST_S 12 +/* LEDC_DUTY_CHNG_END_HSCH3_INT_ST : RO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel 3 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_HSCH3_INT_ST (BIT(11)) +#define LEDC_DUTY_CHNG_END_HSCH3_INT_ST_M (BIT(11)) +#define LEDC_DUTY_CHNG_END_HSCH3_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH3_INT_ST_S 11 +/* LEDC_DUTY_CHNG_END_HSCH2_INT_ST : RO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel 2 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_HSCH2_INT_ST (BIT(10)) +#define LEDC_DUTY_CHNG_END_HSCH2_INT_ST_M (BIT(10)) +#define LEDC_DUTY_CHNG_END_HSCH2_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH2_INT_ST_S 10 +/* LEDC_DUTY_CHNG_END_HSCH1_INT_ST : RO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel 1 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_HSCH1_INT_ST (BIT(9)) +#define LEDC_DUTY_CHNG_END_HSCH1_INT_ST_M (BIT(9)) +#define LEDC_DUTY_CHNG_END_HSCH1_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH1_INT_ST_S 9 +/* LEDC_DUTY_CHNG_END_HSCH0_INT_ST : RO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel 0 duty change done event.*/ +#define LEDC_DUTY_CHNG_END_HSCH0_INT_ST (BIT(8)) +#define LEDC_DUTY_CHNG_END_HSCH0_INT_ST_M (BIT(8)) +#define LEDC_DUTY_CHNG_END_HSCH0_INT_ST_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH0_INT_ST_S 8 +/* LEDC_LSTIMER3_OVF_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel3 counter overflow event.*/ +#define LEDC_LSTIMER3_OVF_INT_ST (BIT(7)) +#define LEDC_LSTIMER3_OVF_INT_ST_M (BIT(7)) +#define LEDC_LSTIMER3_OVF_INT_ST_V 0x1 +#define LEDC_LSTIMER3_OVF_INT_ST_S 7 +/* LEDC_LSTIMER2_OVF_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel2 counter overflow event.*/ +#define LEDC_LSTIMER2_OVF_INT_ST (BIT(6)) +#define LEDC_LSTIMER2_OVF_INT_ST_M (BIT(6)) +#define LEDC_LSTIMER2_OVF_INT_ST_V 0x1 +#define LEDC_LSTIMER2_OVF_INT_ST_S 6 +/* LEDC_LSTIMER1_OVF_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel1 counter overflow event.*/ +#define LEDC_LSTIMER1_OVF_INT_ST (BIT(5)) +#define LEDC_LSTIMER1_OVF_INT_ST_M (BIT(5)) +#define LEDC_LSTIMER1_OVF_INT_ST_V 0x1 +#define LEDC_LSTIMER1_OVF_INT_ST_S 5 +/* LEDC_LSTIMER0_OVF_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The interrupt status bit for low speed channel0 counter overflow event.*/ +#define LEDC_LSTIMER0_OVF_INT_ST (BIT(4)) +#define LEDC_LSTIMER0_OVF_INT_ST_M (BIT(4)) +#define LEDC_LSTIMER0_OVF_INT_ST_V 0x1 +#define LEDC_LSTIMER0_OVF_INT_ST_S 4 +/* LEDC_HSTIMER3_OVF_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel3 counter overflow event.*/ +#define LEDC_HSTIMER3_OVF_INT_ST (BIT(3)) +#define LEDC_HSTIMER3_OVF_INT_ST_M (BIT(3)) +#define LEDC_HSTIMER3_OVF_INT_ST_V 0x1 +#define LEDC_HSTIMER3_OVF_INT_ST_S 3 +/* LEDC_HSTIMER2_OVF_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel2 counter overflow event.*/ +#define LEDC_HSTIMER2_OVF_INT_ST (BIT(2)) +#define LEDC_HSTIMER2_OVF_INT_ST_M (BIT(2)) +#define LEDC_HSTIMER2_OVF_INT_ST_V 0x1 +#define LEDC_HSTIMER2_OVF_INT_ST_S 2 +/* LEDC_HSTIMER1_OVF_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel1 counter overflow event.*/ +#define LEDC_HSTIMER1_OVF_INT_ST (BIT(1)) +#define LEDC_HSTIMER1_OVF_INT_ST_M (BIT(1)) +#define LEDC_HSTIMER1_OVF_INT_ST_V 0x1 +#define LEDC_HSTIMER1_OVF_INT_ST_S 1 +/* LEDC_HSTIMER0_OVF_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The interrupt status bit for high speed channel0 counter overflow event.*/ +#define LEDC_HSTIMER0_OVF_INT_ST (BIT(0)) +#define LEDC_HSTIMER0_OVF_INT_ST_M (BIT(0)) +#define LEDC_HSTIMER0_OVF_INT_ST_V 0x1 +#define LEDC_HSTIMER0_OVF_INT_ST_S 0 + +#define LEDC_INT_ENA_REG (DR_REG_LEDC_BASE + 0x0188) +/* LEDC_DUTY_CHNG_END_LSCH7_INT_ENA : R/W ;bitpos:[23] ;default: 1'h0 ; */ +/*description: The interrupt enable bit for low speed channel 7 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH7_INT_ENA (BIT(23)) +#define LEDC_DUTY_CHNG_END_LSCH7_INT_ENA_M (BIT(23)) +#define LEDC_DUTY_CHNG_END_LSCH7_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH7_INT_ENA_S 23 +/* LEDC_DUTY_CHNG_END_LSCH6_INT_ENA : R/W ;bitpos:[22] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel 6 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH6_INT_ENA (BIT(22)) +#define LEDC_DUTY_CHNG_END_LSCH6_INT_ENA_M (BIT(22)) +#define LEDC_DUTY_CHNG_END_LSCH6_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH6_INT_ENA_S 22 +/* LEDC_DUTY_CHNG_END_LSCH5_INT_ENA : R/W ;bitpos:[21] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel 5 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH5_INT_ENA (BIT(21)) +#define LEDC_DUTY_CHNG_END_LSCH5_INT_ENA_M (BIT(21)) +#define LEDC_DUTY_CHNG_END_LSCH5_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH5_INT_ENA_S 21 +/* LEDC_DUTY_CHNG_END_LSCH4_INT_ENA : R/W ;bitpos:[20] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel 4 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH4_INT_ENA (BIT(20)) +#define LEDC_DUTY_CHNG_END_LSCH4_INT_ENA_M (BIT(20)) +#define LEDC_DUTY_CHNG_END_LSCH4_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH4_INT_ENA_S 20 +/* LEDC_DUTY_CHNG_END_LSCH3_INT_ENA : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel 3 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH3_INT_ENA (BIT(19)) +#define LEDC_DUTY_CHNG_END_LSCH3_INT_ENA_M (BIT(19)) +#define LEDC_DUTY_CHNG_END_LSCH3_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH3_INT_ENA_S 19 +/* LEDC_DUTY_CHNG_END_LSCH2_INT_ENA : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel 2 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH2_INT_ENA (BIT(18)) +#define LEDC_DUTY_CHNG_END_LSCH2_INT_ENA_M (BIT(18)) +#define LEDC_DUTY_CHNG_END_LSCH2_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH2_INT_ENA_S 18 +/* LEDC_DUTY_CHNG_END_LSCH1_INT_ENA : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel 1 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH1_INT_ENA (BIT(17)) +#define LEDC_DUTY_CHNG_END_LSCH1_INT_ENA_M (BIT(17)) +#define LEDC_DUTY_CHNG_END_LSCH1_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH1_INT_ENA_S 17 +/* LEDC_DUTY_CHNG_END_LSCH0_INT_ENA : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel 0 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH0_INT_ENA (BIT(16)) +#define LEDC_DUTY_CHNG_END_LSCH0_INT_ENA_M (BIT(16)) +#define LEDC_DUTY_CHNG_END_LSCH0_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH0_INT_ENA_S 16 +/* LEDC_DUTY_CHNG_END_HSCH7_INT_ENA : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel 7 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH7_INT_ENA (BIT(15)) +#define LEDC_DUTY_CHNG_END_HSCH7_INT_ENA_M (BIT(15)) +#define LEDC_DUTY_CHNG_END_HSCH7_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH7_INT_ENA_S 15 +/* LEDC_DUTY_CHNG_END_HSCH6_INT_ENA : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel 6 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH6_INT_ENA (BIT(14)) +#define LEDC_DUTY_CHNG_END_HSCH6_INT_ENA_M (BIT(14)) +#define LEDC_DUTY_CHNG_END_HSCH6_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH6_INT_ENA_S 14 +/* LEDC_DUTY_CHNG_END_HSCH5_INT_ENA : R/W ;bitpos:[13] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel 5 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH5_INT_ENA (BIT(13)) +#define LEDC_DUTY_CHNG_END_HSCH5_INT_ENA_M (BIT(13)) +#define LEDC_DUTY_CHNG_END_HSCH5_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH5_INT_ENA_S 13 +/* LEDC_DUTY_CHNG_END_HSCH4_INT_ENA : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel 4 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH4_INT_ENA (BIT(12)) +#define LEDC_DUTY_CHNG_END_HSCH4_INT_ENA_M (BIT(12)) +#define LEDC_DUTY_CHNG_END_HSCH4_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH4_INT_ENA_S 12 +/* LEDC_DUTY_CHNG_END_HSCH3_INT_ENA : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel 3 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH3_INT_ENA (BIT(11)) +#define LEDC_DUTY_CHNG_END_HSCH3_INT_ENA_M (BIT(11)) +#define LEDC_DUTY_CHNG_END_HSCH3_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH3_INT_ENA_S 11 +/* LEDC_DUTY_CHNG_END_HSCH2_INT_ENA : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel 2 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH2_INT_ENA (BIT(10)) +#define LEDC_DUTY_CHNG_END_HSCH2_INT_ENA_M (BIT(10)) +#define LEDC_DUTY_CHNG_END_HSCH2_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH2_INT_ENA_S 10 +/* LEDC_DUTY_CHNG_END_HSCH1_INT_ENA : R/W ;bitpos:[9] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel 1 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH1_INT_ENA (BIT(9)) +#define LEDC_DUTY_CHNG_END_HSCH1_INT_ENA_M (BIT(9)) +#define LEDC_DUTY_CHNG_END_HSCH1_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH1_INT_ENA_S 9 +/* LEDC_DUTY_CHNG_END_HSCH0_INT_ENA : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel 0 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH0_INT_ENA (BIT(8)) +#define LEDC_DUTY_CHNG_END_HSCH0_INT_ENA_M (BIT(8)) +#define LEDC_DUTY_CHNG_END_HSCH0_INT_ENA_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH0_INT_ENA_S 8 +/* LEDC_LSTIMER3_OVF_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel3 counter overflow interrupt.*/ +#define LEDC_LSTIMER3_OVF_INT_ENA (BIT(7)) +#define LEDC_LSTIMER3_OVF_INT_ENA_M (BIT(7)) +#define LEDC_LSTIMER3_OVF_INT_ENA_V 0x1 +#define LEDC_LSTIMER3_OVF_INT_ENA_S 7 +/* LEDC_LSTIMER2_OVF_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel2 counter overflow interrupt.*/ +#define LEDC_LSTIMER2_OVF_INT_ENA (BIT(6)) +#define LEDC_LSTIMER2_OVF_INT_ENA_M (BIT(6)) +#define LEDC_LSTIMER2_OVF_INT_ENA_V 0x1 +#define LEDC_LSTIMER2_OVF_INT_ENA_S 6 +/* LEDC_LSTIMER1_OVF_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel1 counter overflow interrupt.*/ +#define LEDC_LSTIMER1_OVF_INT_ENA (BIT(5)) +#define LEDC_LSTIMER1_OVF_INT_ENA_M (BIT(5)) +#define LEDC_LSTIMER1_OVF_INT_ENA_V 0x1 +#define LEDC_LSTIMER1_OVF_INT_ENA_S 5 +/* LEDC_LSTIMER0_OVF_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for low speed channel0 counter overflow interrupt.*/ +#define LEDC_LSTIMER0_OVF_INT_ENA (BIT(4)) +#define LEDC_LSTIMER0_OVF_INT_ENA_M (BIT(4)) +#define LEDC_LSTIMER0_OVF_INT_ENA_V 0x1 +#define LEDC_LSTIMER0_OVF_INT_ENA_S 4 +/* LEDC_HSTIMER3_OVF_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel3 counter overflow interrupt.*/ +#define LEDC_HSTIMER3_OVF_INT_ENA (BIT(3)) +#define LEDC_HSTIMER3_OVF_INT_ENA_M (BIT(3)) +#define LEDC_HSTIMER3_OVF_INT_ENA_V 0x1 +#define LEDC_HSTIMER3_OVF_INT_ENA_S 3 +/* LEDC_HSTIMER2_OVF_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel2 counter overflow interrupt.*/ +#define LEDC_HSTIMER2_OVF_INT_ENA (BIT(2)) +#define LEDC_HSTIMER2_OVF_INT_ENA_M (BIT(2)) +#define LEDC_HSTIMER2_OVF_INT_ENA_V 0x1 +#define LEDC_HSTIMER2_OVF_INT_ENA_S 2 +/* LEDC_HSTIMER1_OVF_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel1 counter overflow interrupt.*/ +#define LEDC_HSTIMER1_OVF_INT_ENA (BIT(1)) +#define LEDC_HSTIMER1_OVF_INT_ENA_M (BIT(1)) +#define LEDC_HSTIMER1_OVF_INT_ENA_V 0x1 +#define LEDC_HSTIMER1_OVF_INT_ENA_S 1 +/* LEDC_HSTIMER0_OVF_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The interrupt enable bit for high speed channel0 counter overflow interrupt.*/ +#define LEDC_HSTIMER0_OVF_INT_ENA (BIT(0)) +#define LEDC_HSTIMER0_OVF_INT_ENA_M (BIT(0)) +#define LEDC_HSTIMER0_OVF_INT_ENA_V 0x1 +#define LEDC_HSTIMER0_OVF_INT_ENA_S 0 + +#define LEDC_INT_CLR_REG (DR_REG_LEDC_BASE + 0x018C) +/* LEDC_DUTY_CHNG_END_LSCH7_INT_CLR : WO ;bitpos:[23] ;default: 1'h0 ; */ +/*description: Set this bit to clear low speed channel 7 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH7_INT_CLR (BIT(23)) +#define LEDC_DUTY_CHNG_END_LSCH7_INT_CLR_M (BIT(23)) +#define LEDC_DUTY_CHNG_END_LSCH7_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH7_INT_CLR_S 23 +/* LEDC_DUTY_CHNG_END_LSCH6_INT_CLR : WO ;bitpos:[22] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel 6 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH6_INT_CLR (BIT(22)) +#define LEDC_DUTY_CHNG_END_LSCH6_INT_CLR_M (BIT(22)) +#define LEDC_DUTY_CHNG_END_LSCH6_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH6_INT_CLR_S 22 +/* LEDC_DUTY_CHNG_END_LSCH5_INT_CLR : WO ;bitpos:[21] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel 5 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH5_INT_CLR (BIT(21)) +#define LEDC_DUTY_CHNG_END_LSCH5_INT_CLR_M (BIT(21)) +#define LEDC_DUTY_CHNG_END_LSCH5_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH5_INT_CLR_S 21 +/* LEDC_DUTY_CHNG_END_LSCH4_INT_CLR : WO ;bitpos:[20] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel 4 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH4_INT_CLR (BIT(20)) +#define LEDC_DUTY_CHNG_END_LSCH4_INT_CLR_M (BIT(20)) +#define LEDC_DUTY_CHNG_END_LSCH4_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH4_INT_CLR_S 20 +/* LEDC_DUTY_CHNG_END_LSCH3_INT_CLR : WO ;bitpos:[19] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel 3 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH3_INT_CLR (BIT(19)) +#define LEDC_DUTY_CHNG_END_LSCH3_INT_CLR_M (BIT(19)) +#define LEDC_DUTY_CHNG_END_LSCH3_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH3_INT_CLR_S 19 +/* LEDC_DUTY_CHNG_END_LSCH2_INT_CLR : WO ;bitpos:[18] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel 2 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH2_INT_CLR (BIT(18)) +#define LEDC_DUTY_CHNG_END_LSCH2_INT_CLR_M (BIT(18)) +#define LEDC_DUTY_CHNG_END_LSCH2_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH2_INT_CLR_S 18 +/* LEDC_DUTY_CHNG_END_LSCH1_INT_CLR : WO ;bitpos:[17] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel 1 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH1_INT_CLR (BIT(17)) +#define LEDC_DUTY_CHNG_END_LSCH1_INT_CLR_M (BIT(17)) +#define LEDC_DUTY_CHNG_END_LSCH1_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH1_INT_CLR_S 17 +/* LEDC_DUTY_CHNG_END_LSCH0_INT_CLR : WO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel 0 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_LSCH0_INT_CLR (BIT(16)) +#define LEDC_DUTY_CHNG_END_LSCH0_INT_CLR_M (BIT(16)) +#define LEDC_DUTY_CHNG_END_LSCH0_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_LSCH0_INT_CLR_S 16 +/* LEDC_DUTY_CHNG_END_HSCH7_INT_CLR : WO ;bitpos:[15] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel 7 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH7_INT_CLR (BIT(15)) +#define LEDC_DUTY_CHNG_END_HSCH7_INT_CLR_M (BIT(15)) +#define LEDC_DUTY_CHNG_END_HSCH7_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH7_INT_CLR_S 15 +/* LEDC_DUTY_CHNG_END_HSCH6_INT_CLR : WO ;bitpos:[14] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel 6 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH6_INT_CLR (BIT(14)) +#define LEDC_DUTY_CHNG_END_HSCH6_INT_CLR_M (BIT(14)) +#define LEDC_DUTY_CHNG_END_HSCH6_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH6_INT_CLR_S 14 +/* LEDC_DUTY_CHNG_END_HSCH5_INT_CLR : WO ;bitpos:[13] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel 5 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH5_INT_CLR (BIT(13)) +#define LEDC_DUTY_CHNG_END_HSCH5_INT_CLR_M (BIT(13)) +#define LEDC_DUTY_CHNG_END_HSCH5_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH5_INT_CLR_S 13 +/* LEDC_DUTY_CHNG_END_HSCH4_INT_CLR : WO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel 4 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH4_INT_CLR (BIT(12)) +#define LEDC_DUTY_CHNG_END_HSCH4_INT_CLR_M (BIT(12)) +#define LEDC_DUTY_CHNG_END_HSCH4_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH4_INT_CLR_S 12 +/* LEDC_DUTY_CHNG_END_HSCH3_INT_CLR : WO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel 3 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH3_INT_CLR (BIT(11)) +#define LEDC_DUTY_CHNG_END_HSCH3_INT_CLR_M (BIT(11)) +#define LEDC_DUTY_CHNG_END_HSCH3_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH3_INT_CLR_S 11 +/* LEDC_DUTY_CHNG_END_HSCH2_INT_CLR : WO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel 2 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH2_INT_CLR (BIT(10)) +#define LEDC_DUTY_CHNG_END_HSCH2_INT_CLR_M (BIT(10)) +#define LEDC_DUTY_CHNG_END_HSCH2_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH2_INT_CLR_S 10 +/* LEDC_DUTY_CHNG_END_HSCH1_INT_CLR : WO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel 1 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH1_INT_CLR (BIT(9)) +#define LEDC_DUTY_CHNG_END_HSCH1_INT_CLR_M (BIT(9)) +#define LEDC_DUTY_CHNG_END_HSCH1_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH1_INT_CLR_S 9 +/* LEDC_DUTY_CHNG_END_HSCH0_INT_CLR : WO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel 0 duty change done interrupt.*/ +#define LEDC_DUTY_CHNG_END_HSCH0_INT_CLR (BIT(8)) +#define LEDC_DUTY_CHNG_END_HSCH0_INT_CLR_M (BIT(8)) +#define LEDC_DUTY_CHNG_END_HSCH0_INT_CLR_V 0x1 +#define LEDC_DUTY_CHNG_END_HSCH0_INT_CLR_S 8 +/* LEDC_LSTIMER3_OVF_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel3 counter overflow interrupt.*/ +#define LEDC_LSTIMER3_OVF_INT_CLR (BIT(7)) +#define LEDC_LSTIMER3_OVF_INT_CLR_M (BIT(7)) +#define LEDC_LSTIMER3_OVF_INT_CLR_V 0x1 +#define LEDC_LSTIMER3_OVF_INT_CLR_S 7 +/* LEDC_LSTIMER2_OVF_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel2 counter overflow interrupt.*/ +#define LEDC_LSTIMER2_OVF_INT_CLR (BIT(6)) +#define LEDC_LSTIMER2_OVF_INT_CLR_M (BIT(6)) +#define LEDC_LSTIMER2_OVF_INT_CLR_V 0x1 +#define LEDC_LSTIMER2_OVF_INT_CLR_S 6 +/* LEDC_LSTIMER1_OVF_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel1 counter overflow interrupt.*/ +#define LEDC_LSTIMER1_OVF_INT_CLR (BIT(5)) +#define LEDC_LSTIMER1_OVF_INT_CLR_M (BIT(5)) +#define LEDC_LSTIMER1_OVF_INT_CLR_V 0x1 +#define LEDC_LSTIMER1_OVF_INT_CLR_S 5 +/* LEDC_LSTIMER0_OVF_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to clear low speed channel0 counter overflow interrupt.*/ +#define LEDC_LSTIMER0_OVF_INT_CLR (BIT(4)) +#define LEDC_LSTIMER0_OVF_INT_CLR_M (BIT(4)) +#define LEDC_LSTIMER0_OVF_INT_CLR_V 0x1 +#define LEDC_LSTIMER0_OVF_INT_CLR_S 4 +/* LEDC_HSTIMER3_OVF_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel3 counter overflow interrupt.*/ +#define LEDC_HSTIMER3_OVF_INT_CLR (BIT(3)) +#define LEDC_HSTIMER3_OVF_INT_CLR_M (BIT(3)) +#define LEDC_HSTIMER3_OVF_INT_CLR_V 0x1 +#define LEDC_HSTIMER3_OVF_INT_CLR_S 3 +/* LEDC_HSTIMER2_OVF_INT_CLR : WO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel2 counter overflow interrupt.*/ +#define LEDC_HSTIMER2_OVF_INT_CLR (BIT(2)) +#define LEDC_HSTIMER2_OVF_INT_CLR_M (BIT(2)) +#define LEDC_HSTIMER2_OVF_INT_CLR_V 0x1 +#define LEDC_HSTIMER2_OVF_INT_CLR_S 2 +/* LEDC_HSTIMER1_OVF_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel1 counter overflow interrupt.*/ +#define LEDC_HSTIMER1_OVF_INT_CLR (BIT(1)) +#define LEDC_HSTIMER1_OVF_INT_CLR_M (BIT(1)) +#define LEDC_HSTIMER1_OVF_INT_CLR_V 0x1 +#define LEDC_HSTIMER1_OVF_INT_CLR_S 1 +/* LEDC_HSTIMER0_OVF_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: Set this bit to clear high speed channel0 counter overflow interrupt.*/ +#define LEDC_HSTIMER0_OVF_INT_CLR (BIT(0)) +#define LEDC_HSTIMER0_OVF_INT_CLR_M (BIT(0)) +#define LEDC_HSTIMER0_OVF_INT_CLR_V 0x1 +#define LEDC_HSTIMER0_OVF_INT_CLR_S 0 + +#define LEDC_CONF_REG (DR_REG_LEDC_BASE + 0x0190) +/* LEDC_APB_CLK_SEL : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: This bit is used to set the frequency of slow_clk. 1'b1:80mhz 1'b0:8mhz*/ +#define LEDC_APB_CLK_SEL (BIT(0)) +#define LEDC_APB_CLK_SEL_M (BIT(0)) +#define LEDC_APB_CLK_SEL_V 0x1 +#define LEDC_APB_CLK_SEL_S 0 + +#define LEDC_DATE_REG (DR_REG_LEDC_BASE + 0x01FC) +/* LEDC_DATE : R/W ;bitpos:[31:0] ;default: 32'h16031700 ; */ +/*description: This register represents the version .*/ +#define LEDC_DATE 0xFFFFFFFF +#define LEDC_DATE_M ((LEDC_DATE_V)<<(LEDC_DATE_S)) +#define LEDC_DATE_V 0xFFFFFFFF +#define LEDC_DATE_S 0 + + + + +#endif /*_SOC_LEDC_REG_H_ */ + + diff --git a/tools/sdk/include/esp32/soc/ledc_struct.h b/tools/sdk/include/soc/soc/ledc_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/ledc_struct.h rename to tools/sdk/include/soc/soc/ledc_struct.h diff --git a/tools/sdk/include/soc/soc/nrx_reg.h b/tools/sdk/include/soc/soc/nrx_reg.h new file mode 100644 index 00000000..cd13319c --- /dev/null +++ b/tools/sdk/include/soc/soc/nrx_reg.h @@ -0,0 +1,39 @@ +// 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. + +#pragma once + +#include "soc/soc.h" + +/* Some of the WiFi RX control registers. + * PU/PD fields defined here are used in sleep related functions. + */ + +#define NRXPD_CTRL (DR_REG_NRX_BASE + 0x00d4) +#define NRX_CHAN_EST_FORCE_PU (BIT(7)) +#define NRX_CHAN_EST_FORCE_PU_S 7 +#define NRX_CHAN_EST_FORCE_PD (BIT(6)) +#define NRX_CHAN_EST_FORCE_PD_S 6 +#define NRX_RX_ROT_FORCE_PU (BIT(5)) +#define NRX_RX_ROT_FORCE_PU_S 5 +#define NRX_RX_ROT_FORCE_PD (BIT(4)) +#define NRX_RX_ROT_FORCE_PD_S 4 +#define NRX_VIT_FORCE_PU (BIT(3)) +#define NRX_VIT_FORCE_PU_S 3 +#define NRX_VIT_FORCE_PD (BIT(2)) +#define NRX_VIT_FORCE_PD_S 2 +#define NRX_DEMAP_FORCE_PU (BIT(1)) +#define NRX_DEMAP_FORCE_PU_S 1 +#define NRX_DEMAP_FORCE_PD (BIT(0)) +#define NRX_DEMAP_FORCE_PD_S 0 diff --git a/tools/sdk/include/esp32/soc/pcnt_reg.h b/tools/sdk/include/soc/soc/pcnt_reg.h similarity index 98% rename from tools/sdk/include/esp32/soc/pcnt_reg.h rename to tools/sdk/include/soc/soc/pcnt_reg.h index 9809faf7..fa7dedc2 100644 --- a/tools/sdk/include/esp32/soc/pcnt_reg.h +++ b/tools/sdk/include/soc/soc/pcnt_reg.h @@ -1,1526 +1,1526 @@ -// 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_PCNT_REG_H_ -#define _SOC_PCNT_REG_H_ - - -#include "soc.h" -#define PCNT_U0_CONF0_REG (DR_REG_PCNT_BASE + 0x0000) -/* PCNT_CH1_LCTRL_MODE_U0 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's low control - signal for unit0. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_LCTRL_MODE_U0 0x00000003 -#define PCNT_CH1_LCTRL_MODE_U0_M ((PCNT_CH1_LCTRL_MODE_U0_V)<<(PCNT_CH1_LCTRL_MODE_U0_S)) -#define PCNT_CH1_LCTRL_MODE_U0_V 0x3 -#define PCNT_CH1_LCTRL_MODE_U0_S 30 -/* PCNT_CH1_HCTRL_MODE_U0 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's high - control signal for unit0. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_HCTRL_MODE_U0 0x00000003 -#define PCNT_CH1_HCTRL_MODE_U0_M ((PCNT_CH1_HCTRL_MODE_U0_V)<<(PCNT_CH1_HCTRL_MODE_U0_S)) -#define PCNT_CH1_HCTRL_MODE_U0_V 0x3 -#define PCNT_CH1_HCTRL_MODE_U0_S 28 -/* PCNT_CH1_POS_MODE_U0 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - posedge signal for unit0. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH1_POS_MODE_U0 0x00000003 -#define PCNT_CH1_POS_MODE_U0_M ((PCNT_CH1_POS_MODE_U0_V)<<(PCNT_CH1_POS_MODE_U0_S)) -#define PCNT_CH1_POS_MODE_U0_V 0x3 -#define PCNT_CH1_POS_MODE_U0_S 26 -/* PCNT_CH1_NEG_MODE_U0 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - negedge signal for unit0. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH1_NEG_MODE_U0 0x00000003 -#define PCNT_CH1_NEG_MODE_U0_M ((PCNT_CH1_NEG_MODE_U0_V)<<(PCNT_CH1_NEG_MODE_U0_S)) -#define PCNT_CH1_NEG_MODE_U0_V 0x3 -#define PCNT_CH1_NEG_MODE_U0_S 24 -/* PCNT_CH0_LCTRL_MODE_U0 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's low control - signal for unit0. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_LCTRL_MODE_U0 0x00000003 -#define PCNT_CH0_LCTRL_MODE_U0_M ((PCNT_CH0_LCTRL_MODE_U0_V)<<(PCNT_CH0_LCTRL_MODE_U0_S)) -#define PCNT_CH0_LCTRL_MODE_U0_V 0x3 -#define PCNT_CH0_LCTRL_MODE_U0_S 22 -/* PCNT_CH0_HCTRL_MODE_U0 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's high - control signal for unit0. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_HCTRL_MODE_U0 0x00000003 -#define PCNT_CH0_HCTRL_MODE_U0_M ((PCNT_CH0_HCTRL_MODE_U0_V)<<(PCNT_CH0_HCTRL_MODE_U0_S)) -#define PCNT_CH0_HCTRL_MODE_U0_V 0x3 -#define PCNT_CH0_HCTRL_MODE_U0_S 20 -/* PCNT_CH0_POS_MODE_U0 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - posedge signal for unit0. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH0_POS_MODE_U0 0x00000003 -#define PCNT_CH0_POS_MODE_U0_M ((PCNT_CH0_POS_MODE_U0_V)<<(PCNT_CH0_POS_MODE_U0_S)) -#define PCNT_CH0_POS_MODE_U0_V 0x3 -#define PCNT_CH0_POS_MODE_U0_S 18 -/* PCNT_CH0_NEG_MODE_U0 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - negedge signal for unit0. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH0_NEG_MODE_U0 0x00000003 -#define PCNT_CH0_NEG_MODE_U0_M ((PCNT_CH0_NEG_MODE_U0_V)<<(PCNT_CH0_NEG_MODE_U0_S)) -#define PCNT_CH0_NEG_MODE_U0_V 0x3 -#define PCNT_CH0_NEG_MODE_U0_S 16 -/* PCNT_THR_THRES1_EN_U0 : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit0's count with thres1 value .*/ -#define PCNT_THR_THRES1_EN_U0 (BIT(15)) -#define PCNT_THR_THRES1_EN_U0_M (BIT(15)) -#define PCNT_THR_THRES1_EN_U0_V 0x1 -#define PCNT_THR_THRES1_EN_U0_S 15 -/* PCNT_THR_THRES0_EN_U0 : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit0's count with thres0 value.*/ -#define PCNT_THR_THRES0_EN_U0 (BIT(14)) -#define PCNT_THR_THRES0_EN_U0_M (BIT(14)) -#define PCNT_THR_THRES0_EN_U0_V 0x1 -#define PCNT_THR_THRES0_EN_U0_S 14 -/* PCNT_THR_L_LIM_EN_U0 : R/W ;bitpos:[13] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit0's count with thr_l_lim value.*/ -#define PCNT_THR_L_LIM_EN_U0 (BIT(13)) -#define PCNT_THR_L_LIM_EN_U0_M (BIT(13)) -#define PCNT_THR_L_LIM_EN_U0_V 0x1 -#define PCNT_THR_L_LIM_EN_U0_S 13 -/* PCNT_THR_H_LIM_EN_U0 : R/W ;bitpos:[12] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit0's count with thr_h_lim value.*/ -#define PCNT_THR_H_LIM_EN_U0 (BIT(12)) -#define PCNT_THR_H_LIM_EN_U0_M (BIT(12)) -#define PCNT_THR_H_LIM_EN_U0_V 0x1 -#define PCNT_THR_H_LIM_EN_U0_S 12 -/* PCNT_THR_ZERO_EN_U0 : R/W ;bitpos:[11] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit0's count with 0 value.*/ -#define PCNT_THR_ZERO_EN_U0 (BIT(11)) -#define PCNT_THR_ZERO_EN_U0_M (BIT(11)) -#define PCNT_THR_ZERO_EN_U0_V 0x1 -#define PCNT_THR_ZERO_EN_U0_S 11 -/* PCNT_FILTER_EN_U0 : R/W ;bitpos:[10] ;default: 1'b1 ; */ -/*description: This is the enable bit for filtering input signals for unit0.*/ -#define PCNT_FILTER_EN_U0 (BIT(10)) -#define PCNT_FILTER_EN_U0_M (BIT(10)) -#define PCNT_FILTER_EN_U0_V 0x1 -#define PCNT_FILTER_EN_U0_S 10 -/* PCNT_FILTER_THRES_U0 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ -/*description: This register is used to filter pluse whose width is smaller - than this value for unit0.*/ -#define PCNT_FILTER_THRES_U0 0x000003FF -#define PCNT_FILTER_THRES_U0_M ((PCNT_FILTER_THRES_U0_V)<<(PCNT_FILTER_THRES_U0_S)) -#define PCNT_FILTER_THRES_U0_V 0x3FF -#define PCNT_FILTER_THRES_U0_S 0 - -#define PCNT_U0_CONF1_REG (DR_REG_PCNT_BASE + 0x0004) -/* PCNT_CNT_THRES1_U0 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to configure thres1 value for unit0.*/ -#define PCNT_CNT_THRES1_U0 0x0000FFFF -#define PCNT_CNT_THRES1_U0_M ((PCNT_CNT_THRES1_U0_V)<<(PCNT_CNT_THRES1_U0_S)) -#define PCNT_CNT_THRES1_U0_V 0xFFFF -#define PCNT_CNT_THRES1_U0_S 16 -/* PCNT_CNT_THRES0_U0 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thres0 value for unit0.*/ -#define PCNT_CNT_THRES0_U0 0x0000FFFF -#define PCNT_CNT_THRES0_U0_M ((PCNT_CNT_THRES0_U0_V)<<(PCNT_CNT_THRES0_U0_S)) -#define PCNT_CNT_THRES0_U0_V 0xFFFF -#define PCNT_CNT_THRES0_U0_S 0 - -#define PCNT_U0_CONF2_REG (DR_REG_PCNT_BASE + 0x0008) -/* PCNT_CNT_L_LIM_U0 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to confiugre thr_l_lim value for unit0.*/ -#define PCNT_CNT_L_LIM_U0 0x0000FFFF -#define PCNT_CNT_L_LIM_U0_M ((PCNT_CNT_L_LIM_U0_V)<<(PCNT_CNT_L_LIM_U0_S)) -#define PCNT_CNT_L_LIM_U0_V 0xFFFF -#define PCNT_CNT_L_LIM_U0_S 16 -/* PCNT_CNT_H_LIM_U0 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thr_h_lim value for unit0.*/ -#define PCNT_CNT_H_LIM_U0 0x0000FFFF -#define PCNT_CNT_H_LIM_U0_M ((PCNT_CNT_H_LIM_U0_V)<<(PCNT_CNT_H_LIM_U0_S)) -#define PCNT_CNT_H_LIM_U0_V 0xFFFF -#define PCNT_CNT_H_LIM_U0_S 0 - -#define PCNT_U1_CONF0_REG (DR_REG_PCNT_BASE + 0x000c) -/* PCNT_CH1_LCTRL_MODE_U1 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's low control - signal for unit1. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_LCTRL_MODE_U1 0x00000003 -#define PCNT_CH1_LCTRL_MODE_U1_M ((PCNT_CH1_LCTRL_MODE_U1_V)<<(PCNT_CH1_LCTRL_MODE_U1_S)) -#define PCNT_CH1_LCTRL_MODE_U1_V 0x3 -#define PCNT_CH1_LCTRL_MODE_U1_S 30 -/* PCNT_CH1_HCTRL_MODE_U1 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's high - control signal for unit1. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_HCTRL_MODE_U1 0x00000003 -#define PCNT_CH1_HCTRL_MODE_U1_M ((PCNT_CH1_HCTRL_MODE_U1_V)<<(PCNT_CH1_HCTRL_MODE_U1_S)) -#define PCNT_CH1_HCTRL_MODE_U1_V 0x3 -#define PCNT_CH1_HCTRL_MODE_U1_S 28 -/* PCNT_CH1_POS_MODE_U1 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - posedge signal for unit1. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH1_POS_MODE_U1 0x00000003 -#define PCNT_CH1_POS_MODE_U1_M ((PCNT_CH1_POS_MODE_U1_V)<<(PCNT_CH1_POS_MODE_U1_S)) -#define PCNT_CH1_POS_MODE_U1_V 0x3 -#define PCNT_CH1_POS_MODE_U1_S 26 -/* PCNT_CH1_NEG_MODE_U1 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - negedge signal for unit1. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH1_NEG_MODE_U1 0x00000003 -#define PCNT_CH1_NEG_MODE_U1_M ((PCNT_CH1_NEG_MODE_U1_V)<<(PCNT_CH1_NEG_MODE_U1_S)) -#define PCNT_CH1_NEG_MODE_U1_V 0x3 -#define PCNT_CH1_NEG_MODE_U1_S 24 -/* PCNT_CH0_LCTRL_MODE_U1 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's low control - signal for unit1. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_LCTRL_MODE_U1 0x00000003 -#define PCNT_CH0_LCTRL_MODE_U1_M ((PCNT_CH0_LCTRL_MODE_U1_V)<<(PCNT_CH0_LCTRL_MODE_U1_S)) -#define PCNT_CH0_LCTRL_MODE_U1_V 0x3 -#define PCNT_CH0_LCTRL_MODE_U1_S 22 -/* PCNT_CH0_HCTRL_MODE_U1 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's high - control signal for unit1. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_HCTRL_MODE_U1 0x00000003 -#define PCNT_CH0_HCTRL_MODE_U1_M ((PCNT_CH0_HCTRL_MODE_U1_V)<<(PCNT_CH0_HCTRL_MODE_U1_S)) -#define PCNT_CH0_HCTRL_MODE_U1_V 0x3 -#define PCNT_CH0_HCTRL_MODE_U1_S 20 -/* PCNT_CH0_POS_MODE_U1 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - posedge signal for unit1. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH0_POS_MODE_U1 0x00000003 -#define PCNT_CH0_POS_MODE_U1_M ((PCNT_CH0_POS_MODE_U1_V)<<(PCNT_CH0_POS_MODE_U1_S)) -#define PCNT_CH0_POS_MODE_U1_V 0x3 -#define PCNT_CH0_POS_MODE_U1_S 18 -/* PCNT_CH0_NEG_MODE_U1 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - negedge signal for unit1. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH0_NEG_MODE_U1 0x00000003 -#define PCNT_CH0_NEG_MODE_U1_M ((PCNT_CH0_NEG_MODE_U1_V)<<(PCNT_CH0_NEG_MODE_U1_S)) -#define PCNT_CH0_NEG_MODE_U1_V 0x3 -#define PCNT_CH0_NEG_MODE_U1_S 16 -/* PCNT_THR_THRES1_EN_U1 : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit1's count with thres1 value .*/ -#define PCNT_THR_THRES1_EN_U1 (BIT(15)) -#define PCNT_THR_THRES1_EN_U1_M (BIT(15)) -#define PCNT_THR_THRES1_EN_U1_V 0x1 -#define PCNT_THR_THRES1_EN_U1_S 15 -/* PCNT_THR_THRES0_EN_U1 : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit1's count with thres0 value.*/ -#define PCNT_THR_THRES0_EN_U1 (BIT(14)) -#define PCNT_THR_THRES0_EN_U1_M (BIT(14)) -#define PCNT_THR_THRES0_EN_U1_V 0x1 -#define PCNT_THR_THRES0_EN_U1_S 14 -/* PCNT_THR_L_LIM_EN_U1 : R/W ;bitpos:[13] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit1's count with thr_l_lim value.*/ -#define PCNT_THR_L_LIM_EN_U1 (BIT(13)) -#define PCNT_THR_L_LIM_EN_U1_M (BIT(13)) -#define PCNT_THR_L_LIM_EN_U1_V 0x1 -#define PCNT_THR_L_LIM_EN_U1_S 13 -/* PCNT_THR_H_LIM_EN_U1 : R/W ;bitpos:[12] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit1's count with thr_h_lim value.*/ -#define PCNT_THR_H_LIM_EN_U1 (BIT(12)) -#define PCNT_THR_H_LIM_EN_U1_M (BIT(12)) -#define PCNT_THR_H_LIM_EN_U1_V 0x1 -#define PCNT_THR_H_LIM_EN_U1_S 12 -/* PCNT_THR_ZERO_EN_U1 : R/W ;bitpos:[11] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit1's count with 0 value.*/ -#define PCNT_THR_ZERO_EN_U1 (BIT(11)) -#define PCNT_THR_ZERO_EN_U1_M (BIT(11)) -#define PCNT_THR_ZERO_EN_U1_V 0x1 -#define PCNT_THR_ZERO_EN_U1_S 11 -/* PCNT_FILTER_EN_U1 : R/W ;bitpos:[10] ;default: 1'b1 ; */ -/*description: This is the enable bit for filtering input signals for unit1.*/ -#define PCNT_FILTER_EN_U1 (BIT(10)) -#define PCNT_FILTER_EN_U1_M (BIT(10)) -#define PCNT_FILTER_EN_U1_V 0x1 -#define PCNT_FILTER_EN_U1_S 10 -/* PCNT_FILTER_THRES_U1 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ -/*description: This register is used to filter pluse whose width is smaller - than this value for unit1.*/ -#define PCNT_FILTER_THRES_U1 0x000003FF -#define PCNT_FILTER_THRES_U1_M ((PCNT_FILTER_THRES_U1_V)<<(PCNT_FILTER_THRES_U1_S)) -#define PCNT_FILTER_THRES_U1_V 0x3FF -#define PCNT_FILTER_THRES_U1_S 0 - -#define PCNT_U1_CONF1_REG (DR_REG_PCNT_BASE + 0x0010) -/* PCNT_CNT_THRES1_U1 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to configure thres1 value for unit1.*/ -#define PCNT_CNT_THRES1_U1 0x0000FFFF -#define PCNT_CNT_THRES1_U1_M ((PCNT_CNT_THRES1_U1_V)<<(PCNT_CNT_THRES1_U1_S)) -#define PCNT_CNT_THRES1_U1_V 0xFFFF -#define PCNT_CNT_THRES1_U1_S 16 -/* PCNT_CNT_THRES0_U1 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thres0 value for unit1.*/ -#define PCNT_CNT_THRES0_U1 0x0000FFFF -#define PCNT_CNT_THRES0_U1_M ((PCNT_CNT_THRES0_U1_V)<<(PCNT_CNT_THRES0_U1_S)) -#define PCNT_CNT_THRES0_U1_V 0xFFFF -#define PCNT_CNT_THRES0_U1_S 0 - -#define PCNT_U1_CONF2_REG (DR_REG_PCNT_BASE + 0x0014) -/* PCNT_CNT_L_LIM_U1 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to confiugre thr_l_lim value for unit1.*/ -#define PCNT_CNT_L_LIM_U1 0x0000FFFF -#define PCNT_CNT_L_LIM_U1_M ((PCNT_CNT_L_LIM_U1_V)<<(PCNT_CNT_L_LIM_U1_S)) -#define PCNT_CNT_L_LIM_U1_V 0xFFFF -#define PCNT_CNT_L_LIM_U1_S 16 -/* PCNT_CNT_H_LIM_U1 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thr_h_lim value for unit1.*/ -#define PCNT_CNT_H_LIM_U1 0x0000FFFF -#define PCNT_CNT_H_LIM_U1_M ((PCNT_CNT_H_LIM_U1_V)<<(PCNT_CNT_H_LIM_U1_S)) -#define PCNT_CNT_H_LIM_U1_V 0xFFFF -#define PCNT_CNT_H_LIM_U1_S 0 - -#define PCNT_U2_CONF0_REG (DR_REG_PCNT_BASE + 0x0018) -/* PCNT_CH1_LCTRL_MODE_U2 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's low control - signal for unit2. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_LCTRL_MODE_U2 0x00000003 -#define PCNT_CH1_LCTRL_MODE_U2_M ((PCNT_CH1_LCTRL_MODE_U2_V)<<(PCNT_CH1_LCTRL_MODE_U2_S)) -#define PCNT_CH1_LCTRL_MODE_U2_V 0x3 -#define PCNT_CH1_LCTRL_MODE_U2_S 30 -/* PCNT_CH1_HCTRL_MODE_U2 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's high - control signal for unit2. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_HCTRL_MODE_U2 0x00000003 -#define PCNT_CH1_HCTRL_MODE_U2_M ((PCNT_CH1_HCTRL_MODE_U2_V)<<(PCNT_CH1_HCTRL_MODE_U2_S)) -#define PCNT_CH1_HCTRL_MODE_U2_V 0x3 -#define PCNT_CH1_HCTRL_MODE_U2_S 28 -/* PCNT_CH1_POS_MODE_U2 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - posedge signal for unit2. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH1_POS_MODE_U2 0x00000003 -#define PCNT_CH1_POS_MODE_U2_M ((PCNT_CH1_POS_MODE_U2_V)<<(PCNT_CH1_POS_MODE_U2_S)) -#define PCNT_CH1_POS_MODE_U2_V 0x3 -#define PCNT_CH1_POS_MODE_U2_S 26 -/* PCNT_CH1_NEG_MODE_U2 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - negedge signal for unit2. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH1_NEG_MODE_U2 0x00000003 -#define PCNT_CH1_NEG_MODE_U2_M ((PCNT_CH1_NEG_MODE_U2_V)<<(PCNT_CH1_NEG_MODE_U2_S)) -#define PCNT_CH1_NEG_MODE_U2_V 0x3 -#define PCNT_CH1_NEG_MODE_U2_S 24 -/* PCNT_CH0_LCTRL_MODE_U2 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's low control - signal for unit2. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_LCTRL_MODE_U2 0x00000003 -#define PCNT_CH0_LCTRL_MODE_U2_M ((PCNT_CH0_LCTRL_MODE_U2_V)<<(PCNT_CH0_LCTRL_MODE_U2_S)) -#define PCNT_CH0_LCTRL_MODE_U2_V 0x3 -#define PCNT_CH0_LCTRL_MODE_U2_S 22 -/* PCNT_CH0_HCTRL_MODE_U2 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's high - control signal for unit2. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_HCTRL_MODE_U2 0x00000003 -#define PCNT_CH0_HCTRL_MODE_U2_M ((PCNT_CH0_HCTRL_MODE_U2_V)<<(PCNT_CH0_HCTRL_MODE_U2_S)) -#define PCNT_CH0_HCTRL_MODE_U2_V 0x3 -#define PCNT_CH0_HCTRL_MODE_U2_S 20 -/* PCNT_CH0_POS_MODE_U2 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - posedge signal for unit2. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH0_POS_MODE_U2 0x00000003 -#define PCNT_CH0_POS_MODE_U2_M ((PCNT_CH0_POS_MODE_U2_V)<<(PCNT_CH0_POS_MODE_U2_S)) -#define PCNT_CH0_POS_MODE_U2_V 0x3 -#define PCNT_CH0_POS_MODE_U2_S 18 -/* PCNT_CH0_NEG_MODE_U2 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - negedge signal for unit2. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH0_NEG_MODE_U2 0x00000003 -#define PCNT_CH0_NEG_MODE_U2_M ((PCNT_CH0_NEG_MODE_U2_V)<<(PCNT_CH0_NEG_MODE_U2_S)) -#define PCNT_CH0_NEG_MODE_U2_V 0x3 -#define PCNT_CH0_NEG_MODE_U2_S 16 -/* PCNT_THR_THRES1_EN_U2 : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit2's count with thres1 value .*/ -#define PCNT_THR_THRES1_EN_U2 (BIT(15)) -#define PCNT_THR_THRES1_EN_U2_M (BIT(15)) -#define PCNT_THR_THRES1_EN_U2_V 0x1 -#define PCNT_THR_THRES1_EN_U2_S 15 -/* PCNT_THR_THRES0_EN_U2 : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit2's count with thres0 value.*/ -#define PCNT_THR_THRES0_EN_U2 (BIT(14)) -#define PCNT_THR_THRES0_EN_U2_M (BIT(14)) -#define PCNT_THR_THRES0_EN_U2_V 0x1 -#define PCNT_THR_THRES0_EN_U2_S 14 -/* PCNT_THR_L_LIM_EN_U2 : R/W ;bitpos:[13] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit2's count with thr_l_lim value.*/ -#define PCNT_THR_L_LIM_EN_U2 (BIT(13)) -#define PCNT_THR_L_LIM_EN_U2_M (BIT(13)) -#define PCNT_THR_L_LIM_EN_U2_V 0x1 -#define PCNT_THR_L_LIM_EN_U2_S 13 -/* PCNT_THR_H_LIM_EN_U2 : R/W ;bitpos:[12] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit2's count with thr_h_lim value.*/ -#define PCNT_THR_H_LIM_EN_U2 (BIT(12)) -#define PCNT_THR_H_LIM_EN_U2_M (BIT(12)) -#define PCNT_THR_H_LIM_EN_U2_V 0x1 -#define PCNT_THR_H_LIM_EN_U2_S 12 -/* PCNT_THR_ZERO_EN_U2 : R/W ;bitpos:[11] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit2's count with 0 value.*/ -#define PCNT_THR_ZERO_EN_U2 (BIT(11)) -#define PCNT_THR_ZERO_EN_U2_M (BIT(11)) -#define PCNT_THR_ZERO_EN_U2_V 0x1 -#define PCNT_THR_ZERO_EN_U2_S 11 -/* PCNT_FILTER_EN_U2 : R/W ;bitpos:[10] ;default: 1'b1 ; */ -/*description: This is the enable bit for filtering input signals for unit2.*/ -#define PCNT_FILTER_EN_U2 (BIT(10)) -#define PCNT_FILTER_EN_U2_M (BIT(10)) -#define PCNT_FILTER_EN_U2_V 0x1 -#define PCNT_FILTER_EN_U2_S 10 -/* PCNT_FILTER_THRES_U2 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ -/*description: This register is used to filter pluse whose width is smaller - than this value for unit2.*/ -#define PCNT_FILTER_THRES_U2 0x000003FF -#define PCNT_FILTER_THRES_U2_M ((PCNT_FILTER_THRES_U2_V)<<(PCNT_FILTER_THRES_U2_S)) -#define PCNT_FILTER_THRES_U2_V 0x3FF -#define PCNT_FILTER_THRES_U2_S 0 - -#define PCNT_U2_CONF1_REG (DR_REG_PCNT_BASE + 0x001c) -/* PCNT_CNT_THRES1_U2 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to configure thres1 value for unit2.*/ -#define PCNT_CNT_THRES1_U2 0x0000FFFF -#define PCNT_CNT_THRES1_U2_M ((PCNT_CNT_THRES1_U2_V)<<(PCNT_CNT_THRES1_U2_S)) -#define PCNT_CNT_THRES1_U2_V 0xFFFF -#define PCNT_CNT_THRES1_U2_S 16 -/* PCNT_CNT_THRES0_U2 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thres0 value for unit2.*/ -#define PCNT_CNT_THRES0_U2 0x0000FFFF -#define PCNT_CNT_THRES0_U2_M ((PCNT_CNT_THRES0_U2_V)<<(PCNT_CNT_THRES0_U2_S)) -#define PCNT_CNT_THRES0_U2_V 0xFFFF -#define PCNT_CNT_THRES0_U2_S 0 - -#define PCNT_U2_CONF2_REG (DR_REG_PCNT_BASE + 0x0020) -/* PCNT_CNT_L_LIM_U2 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to confiugre thr_l_lim value for unit2.*/ -#define PCNT_CNT_L_LIM_U2 0x0000FFFF -#define PCNT_CNT_L_LIM_U2_M ((PCNT_CNT_L_LIM_U2_V)<<(PCNT_CNT_L_LIM_U2_S)) -#define PCNT_CNT_L_LIM_U2_V 0xFFFF -#define PCNT_CNT_L_LIM_U2_S 16 -/* PCNT_CNT_H_LIM_U2 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thr_h_lim value for unit2.*/ -#define PCNT_CNT_H_LIM_U2 0x0000FFFF -#define PCNT_CNT_H_LIM_U2_M ((PCNT_CNT_H_LIM_U2_V)<<(PCNT_CNT_H_LIM_U2_S)) -#define PCNT_CNT_H_LIM_U2_V 0xFFFF -#define PCNT_CNT_H_LIM_U2_S 0 - -#define PCNT_U3_CONF0_REG (DR_REG_PCNT_BASE + 0x0024) -/* PCNT_CH1_LCTRL_MODE_U3 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's low control - signal for unit3. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_LCTRL_MODE_U3 0x00000003 -#define PCNT_CH1_LCTRL_MODE_U3_M ((PCNT_CH1_LCTRL_MODE_U3_V)<<(PCNT_CH1_LCTRL_MODE_U3_S)) -#define PCNT_CH1_LCTRL_MODE_U3_V 0x3 -#define PCNT_CH1_LCTRL_MODE_U3_S 30 -/* PCNT_CH1_HCTRL_MODE_U3 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's high - control signal for unit3. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_HCTRL_MODE_U3 0x00000003 -#define PCNT_CH1_HCTRL_MODE_U3_M ((PCNT_CH1_HCTRL_MODE_U3_V)<<(PCNT_CH1_HCTRL_MODE_U3_S)) -#define PCNT_CH1_HCTRL_MODE_U3_V 0x3 -#define PCNT_CH1_HCTRL_MODE_U3_S 28 -/* PCNT_CH1_POS_MODE_U3 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - posedge signal for unit3. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH1_POS_MODE_U3 0x00000003 -#define PCNT_CH1_POS_MODE_U3_M ((PCNT_CH1_POS_MODE_U3_V)<<(PCNT_CH1_POS_MODE_U3_S)) -#define PCNT_CH1_POS_MODE_U3_V 0x3 -#define PCNT_CH1_POS_MODE_U3_S 26 -/* PCNT_CH1_NEG_MODE_U3 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - negedge signal for unit3. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH1_NEG_MODE_U3 0x00000003 -#define PCNT_CH1_NEG_MODE_U3_M ((PCNT_CH1_NEG_MODE_U3_V)<<(PCNT_CH1_NEG_MODE_U3_S)) -#define PCNT_CH1_NEG_MODE_U3_V 0x3 -#define PCNT_CH1_NEG_MODE_U3_S 24 -/* PCNT_CH0_LCTRL_MODE_U3 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's low control - signal for unit3. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_LCTRL_MODE_U3 0x00000003 -#define PCNT_CH0_LCTRL_MODE_U3_M ((PCNT_CH0_LCTRL_MODE_U3_V)<<(PCNT_CH0_LCTRL_MODE_U3_S)) -#define PCNT_CH0_LCTRL_MODE_U3_V 0x3 -#define PCNT_CH0_LCTRL_MODE_U3_S 22 -/* PCNT_CH0_HCTRL_MODE_U3 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's high - control signal for unit3. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_HCTRL_MODE_U3 0x00000003 -#define PCNT_CH0_HCTRL_MODE_U3_M ((PCNT_CH0_HCTRL_MODE_U3_V)<<(PCNT_CH0_HCTRL_MODE_U3_S)) -#define PCNT_CH0_HCTRL_MODE_U3_V 0x3 -#define PCNT_CH0_HCTRL_MODE_U3_S 20 -/* PCNT_CH0_POS_MODE_U3 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - posedge signal for unit3. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH0_POS_MODE_U3 0x00000003 -#define PCNT_CH0_POS_MODE_U3_M ((PCNT_CH0_POS_MODE_U3_V)<<(PCNT_CH0_POS_MODE_U3_S)) -#define PCNT_CH0_POS_MODE_U3_V 0x3 -#define PCNT_CH0_POS_MODE_U3_S 18 -/* PCNT_CH0_NEG_MODE_U3 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - negedge signal for unit3. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH0_NEG_MODE_U3 0x00000003 -#define PCNT_CH0_NEG_MODE_U3_M ((PCNT_CH0_NEG_MODE_U3_V)<<(PCNT_CH0_NEG_MODE_U3_S)) -#define PCNT_CH0_NEG_MODE_U3_V 0x3 -#define PCNT_CH0_NEG_MODE_U3_S 16 -/* PCNT_THR_THRES1_EN_U3 : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit3's count with thres1 value .*/ -#define PCNT_THR_THRES1_EN_U3 (BIT(15)) -#define PCNT_THR_THRES1_EN_U3_M (BIT(15)) -#define PCNT_THR_THRES1_EN_U3_V 0x1 -#define PCNT_THR_THRES1_EN_U3_S 15 -/* PCNT_THR_THRES0_EN_U3 : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit3's count with thres0 value.*/ -#define PCNT_THR_THRES0_EN_U3 (BIT(14)) -#define PCNT_THR_THRES0_EN_U3_M (BIT(14)) -#define PCNT_THR_THRES0_EN_U3_V 0x1 -#define PCNT_THR_THRES0_EN_U3_S 14 -/* PCNT_THR_L_LIM_EN_U3 : R/W ;bitpos:[13] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit3's count with thr_l_lim value.*/ -#define PCNT_THR_L_LIM_EN_U3 (BIT(13)) -#define PCNT_THR_L_LIM_EN_U3_M (BIT(13)) -#define PCNT_THR_L_LIM_EN_U3_V 0x1 -#define PCNT_THR_L_LIM_EN_U3_S 13 -/* PCNT_THR_H_LIM_EN_U3 : R/W ;bitpos:[12] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit3's count with thr_h_lim value.*/ -#define PCNT_THR_H_LIM_EN_U3 (BIT(12)) -#define PCNT_THR_H_LIM_EN_U3_M (BIT(12)) -#define PCNT_THR_H_LIM_EN_U3_V 0x1 -#define PCNT_THR_H_LIM_EN_U3_S 12 -/* PCNT_THR_ZERO_EN_U3 : R/W ;bitpos:[11] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit3's count with 0 value.*/ -#define PCNT_THR_ZERO_EN_U3 (BIT(11)) -#define PCNT_THR_ZERO_EN_U3_M (BIT(11)) -#define PCNT_THR_ZERO_EN_U3_V 0x1 -#define PCNT_THR_ZERO_EN_U3_S 11 -/* PCNT_FILTER_EN_U3 : R/W ;bitpos:[10] ;default: 1'b1 ; */ -/*description: This is the enable bit for filtering input signals for unit3.*/ -#define PCNT_FILTER_EN_U3 (BIT(10)) -#define PCNT_FILTER_EN_U3_M (BIT(10)) -#define PCNT_FILTER_EN_U3_V 0x1 -#define PCNT_FILTER_EN_U3_S 10 -/* PCNT_FILTER_THRES_U3 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ -/*description: This register is used to filter pluse whose width is smaller - than this value for unit3.*/ -#define PCNT_FILTER_THRES_U3 0x000003FF -#define PCNT_FILTER_THRES_U3_M ((PCNT_FILTER_THRES_U3_V)<<(PCNT_FILTER_THRES_U3_S)) -#define PCNT_FILTER_THRES_U3_V 0x3FF -#define PCNT_FILTER_THRES_U3_S 0 - -#define PCNT_U3_CONF1_REG (DR_REG_PCNT_BASE + 0x0028) -/* PCNT_CNT_THRES1_U3 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to configure thres1 value for unit3.*/ -#define PCNT_CNT_THRES1_U3 0x0000FFFF -#define PCNT_CNT_THRES1_U3_M ((PCNT_CNT_THRES1_U3_V)<<(PCNT_CNT_THRES1_U3_S)) -#define PCNT_CNT_THRES1_U3_V 0xFFFF -#define PCNT_CNT_THRES1_U3_S 16 -/* PCNT_CNT_THRES0_U3 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thres0 value for unit3.*/ -#define PCNT_CNT_THRES0_U3 0x0000FFFF -#define PCNT_CNT_THRES0_U3_M ((PCNT_CNT_THRES0_U3_V)<<(PCNT_CNT_THRES0_U3_S)) -#define PCNT_CNT_THRES0_U3_V 0xFFFF -#define PCNT_CNT_THRES0_U3_S 0 - -#define PCNT_U3_CONF2_REG (DR_REG_PCNT_BASE + 0x002c) -/* PCNT_CNT_L_LIM_U3 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to confiugre thr_l_lim value for unit3.*/ -#define PCNT_CNT_L_LIM_U3 0x0000FFFF -#define PCNT_CNT_L_LIM_U3_M ((PCNT_CNT_L_LIM_U3_V)<<(PCNT_CNT_L_LIM_U3_S)) -#define PCNT_CNT_L_LIM_U3_V 0xFFFF -#define PCNT_CNT_L_LIM_U3_S 16 -/* PCNT_CNT_H_LIM_U3 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thr_h_lim value for unit3.*/ -#define PCNT_CNT_H_LIM_U3 0x0000FFFF -#define PCNT_CNT_H_LIM_U3_M ((PCNT_CNT_H_LIM_U3_V)<<(PCNT_CNT_H_LIM_U3_S)) -#define PCNT_CNT_H_LIM_U3_V 0xFFFF -#define PCNT_CNT_H_LIM_U3_S 0 - -#define PCNT_U4_CONF0_REG (DR_REG_PCNT_BASE + 0x0030) -/* PCNT_CH1_LCTRL_MODE_U4 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's low control - signal for unit4. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_LCTRL_MODE_U4 0x00000003 -#define PCNT_CH1_LCTRL_MODE_U4_M ((PCNT_CH1_LCTRL_MODE_U4_V)<<(PCNT_CH1_LCTRL_MODE_U4_S)) -#define PCNT_CH1_LCTRL_MODE_U4_V 0x3 -#define PCNT_CH1_LCTRL_MODE_U4_S 30 -/* PCNT_CH1_HCTRL_MODE_U4 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's high - control signal for unit4. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_HCTRL_MODE_U4 0x00000003 -#define PCNT_CH1_HCTRL_MODE_U4_M ((PCNT_CH1_HCTRL_MODE_U4_V)<<(PCNT_CH1_HCTRL_MODE_U4_S)) -#define PCNT_CH1_HCTRL_MODE_U4_V 0x3 -#define PCNT_CH1_HCTRL_MODE_U4_S 28 -/* PCNT_CH1_POS_MODE_U4 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - posedge signal for unit4. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH1_POS_MODE_U4 0x00000003 -#define PCNT_CH1_POS_MODE_U4_M ((PCNT_CH1_POS_MODE_U4_V)<<(PCNT_CH1_POS_MODE_U4_S)) -#define PCNT_CH1_POS_MODE_U4_V 0x3 -#define PCNT_CH1_POS_MODE_U4_S 26 -/* PCNT_CH1_NEG_MODE_U4 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - negedge signal for unit4. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH1_NEG_MODE_U4 0x00000003 -#define PCNT_CH1_NEG_MODE_U4_M ((PCNT_CH1_NEG_MODE_U4_V)<<(PCNT_CH1_NEG_MODE_U4_S)) -#define PCNT_CH1_NEG_MODE_U4_V 0x3 -#define PCNT_CH1_NEG_MODE_U4_S 24 -/* PCNT_CH0_LCTRL_MODE_U4 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's low control - signal for unit4. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_LCTRL_MODE_U4 0x00000003 -#define PCNT_CH0_LCTRL_MODE_U4_M ((PCNT_CH0_LCTRL_MODE_U4_V)<<(PCNT_CH0_LCTRL_MODE_U4_S)) -#define PCNT_CH0_LCTRL_MODE_U4_V 0x3 -#define PCNT_CH0_LCTRL_MODE_U4_S 22 -/* PCNT_CH0_HCTRL_MODE_U4 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's high - control signal for unit4. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_HCTRL_MODE_U4 0x00000003 -#define PCNT_CH0_HCTRL_MODE_U4_M ((PCNT_CH0_HCTRL_MODE_U4_V)<<(PCNT_CH0_HCTRL_MODE_U4_S)) -#define PCNT_CH0_HCTRL_MODE_U4_V 0x3 -#define PCNT_CH0_HCTRL_MODE_U4_S 20 -/* PCNT_CH0_POS_MODE_U4 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - posedge signal for unit4. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH0_POS_MODE_U4 0x00000003 -#define PCNT_CH0_POS_MODE_U4_M ((PCNT_CH0_POS_MODE_U4_V)<<(PCNT_CH0_POS_MODE_U4_S)) -#define PCNT_CH0_POS_MODE_U4_V 0x3 -#define PCNT_CH0_POS_MODE_U4_S 18 -/* PCNT_CH0_NEG_MODE_U4 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - negedge signal for unit4. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH0_NEG_MODE_U4 0x00000003 -#define PCNT_CH0_NEG_MODE_U4_M ((PCNT_CH0_NEG_MODE_U4_V)<<(PCNT_CH0_NEG_MODE_U4_S)) -#define PCNT_CH0_NEG_MODE_U4_V 0x3 -#define PCNT_CH0_NEG_MODE_U4_S 16 -/* PCNT_THR_THRES1_EN_U4 : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit4's count with thres1 value .*/ -#define PCNT_THR_THRES1_EN_U4 (BIT(15)) -#define PCNT_THR_THRES1_EN_U4_M (BIT(15)) -#define PCNT_THR_THRES1_EN_U4_V 0x1 -#define PCNT_THR_THRES1_EN_U4_S 15 -/* PCNT_THR_THRES0_EN_U4 : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit4's count with thres0 value.*/ -#define PCNT_THR_THRES0_EN_U4 (BIT(14)) -#define PCNT_THR_THRES0_EN_U4_M (BIT(14)) -#define PCNT_THR_THRES0_EN_U4_V 0x1 -#define PCNT_THR_THRES0_EN_U4_S 14 -/* PCNT_THR_L_LIM_EN_U4 : R/W ;bitpos:[13] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit4's count with thr_l_lim value.*/ -#define PCNT_THR_L_LIM_EN_U4 (BIT(13)) -#define PCNT_THR_L_LIM_EN_U4_M (BIT(13)) -#define PCNT_THR_L_LIM_EN_U4_V 0x1 -#define PCNT_THR_L_LIM_EN_U4_S 13 -/* PCNT_THR_H_LIM_EN_U4 : R/W ;bitpos:[12] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit4's count with thr_h_lim value.*/ -#define PCNT_THR_H_LIM_EN_U4 (BIT(12)) -#define PCNT_THR_H_LIM_EN_U4_M (BIT(12)) -#define PCNT_THR_H_LIM_EN_U4_V 0x1 -#define PCNT_THR_H_LIM_EN_U4_S 12 -/* PCNT_THR_ZERO_EN_U4 : R/W ;bitpos:[11] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit4's count with 0 value.*/ -#define PCNT_THR_ZERO_EN_U4 (BIT(11)) -#define PCNT_THR_ZERO_EN_U4_M (BIT(11)) -#define PCNT_THR_ZERO_EN_U4_V 0x1 -#define PCNT_THR_ZERO_EN_U4_S 11 -/* PCNT_FILTER_EN_U4 : R/W ;bitpos:[10] ;default: 1'b1 ; */ -/*description: This is the enable bit for filtering input signals for unit4.*/ -#define PCNT_FILTER_EN_U4 (BIT(10)) -#define PCNT_FILTER_EN_U4_M (BIT(10)) -#define PCNT_FILTER_EN_U4_V 0x1 -#define PCNT_FILTER_EN_U4_S 10 -/* PCNT_FILTER_THRES_U4 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ -/*description: This register is used to filter pluse whose width is smaller - than this value for unit4.*/ -#define PCNT_FILTER_THRES_U4 0x000003FF -#define PCNT_FILTER_THRES_U4_M ((PCNT_FILTER_THRES_U4_V)<<(PCNT_FILTER_THRES_U4_S)) -#define PCNT_FILTER_THRES_U4_V 0x3FF -#define PCNT_FILTER_THRES_U4_S 0 - -#define PCNT_U4_CONF1_REG (DR_REG_PCNT_BASE + 0x0034) -/* PCNT_CNT_THRES1_U4 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to configure thres1 value for unit4.*/ -#define PCNT_CNT_THRES1_U4 0x0000FFFF -#define PCNT_CNT_THRES1_U4_M ((PCNT_CNT_THRES1_U4_V)<<(PCNT_CNT_THRES1_U4_S)) -#define PCNT_CNT_THRES1_U4_V 0xFFFF -#define PCNT_CNT_THRES1_U4_S 16 -/* PCNT_CNT_THRES0_U4 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thres0 value for unit4.*/ -#define PCNT_CNT_THRES0_U4 0x0000FFFF -#define PCNT_CNT_THRES0_U4_M ((PCNT_CNT_THRES0_U4_V)<<(PCNT_CNT_THRES0_U4_S)) -#define PCNT_CNT_THRES0_U4_V 0xFFFF -#define PCNT_CNT_THRES0_U4_S 0 - -#define PCNT_U4_CONF2_REG (DR_REG_PCNT_BASE + 0x0038) -/* PCNT_CNT_L_LIM_U4 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to confiugre thr_l_lim value for unit4.*/ -#define PCNT_CNT_L_LIM_U4 0x0000FFFF -#define PCNT_CNT_L_LIM_U4_M ((PCNT_CNT_L_LIM_U4_V)<<(PCNT_CNT_L_LIM_U4_S)) -#define PCNT_CNT_L_LIM_U4_V 0xFFFF -#define PCNT_CNT_L_LIM_U4_S 16 -/* PCNT_CNT_H_LIM_U4 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thr_h_lim value for unit4.*/ -#define PCNT_CNT_H_LIM_U4 0x0000FFFF -#define PCNT_CNT_H_LIM_U4_M ((PCNT_CNT_H_LIM_U4_V)<<(PCNT_CNT_H_LIM_U4_S)) -#define PCNT_CNT_H_LIM_U4_V 0xFFFF -#define PCNT_CNT_H_LIM_U4_S 0 - -#define PCNT_U5_CONF0_REG (DR_REG_PCNT_BASE + 0x003c) -/* PCNT_CH1_LCTRL_MODE_U5 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's low control - signal for unit5. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_LCTRL_MODE_U5 0x00000003 -#define PCNT_CH1_LCTRL_MODE_U5_M ((PCNT_CH1_LCTRL_MODE_U5_V)<<(PCNT_CH1_LCTRL_MODE_U5_S)) -#define PCNT_CH1_LCTRL_MODE_U5_V 0x3 -#define PCNT_CH1_LCTRL_MODE_U5_S 30 -/* PCNT_CH1_HCTRL_MODE_U5 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's high - control signal for unit5. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_HCTRL_MODE_U5 0x00000003 -#define PCNT_CH1_HCTRL_MODE_U5_M ((PCNT_CH1_HCTRL_MODE_U5_V)<<(PCNT_CH1_HCTRL_MODE_U5_S)) -#define PCNT_CH1_HCTRL_MODE_U5_V 0x3 -#define PCNT_CH1_HCTRL_MODE_U5_S 28 -/* PCNT_CH1_POS_MODE_U5 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - posedge signal for unit5. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH1_POS_MODE_U5 0x00000003 -#define PCNT_CH1_POS_MODE_U5_M ((PCNT_CH1_POS_MODE_U5_V)<<(PCNT_CH1_POS_MODE_U5_S)) -#define PCNT_CH1_POS_MODE_U5_V 0x3 -#define PCNT_CH1_POS_MODE_U5_S 26 -/* PCNT_CH1_NEG_MODE_U5 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - negedge signal for unit5. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH1_NEG_MODE_U5 0x00000003 -#define PCNT_CH1_NEG_MODE_U5_M ((PCNT_CH1_NEG_MODE_U5_V)<<(PCNT_CH1_NEG_MODE_U5_S)) -#define PCNT_CH1_NEG_MODE_U5_V 0x3 -#define PCNT_CH1_NEG_MODE_U5_S 24 -/* PCNT_CH0_LCTRL_MODE_U5 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's low control - signal for unit5. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_LCTRL_MODE_U5 0x00000003 -#define PCNT_CH0_LCTRL_MODE_U5_M ((PCNT_CH0_LCTRL_MODE_U5_V)<<(PCNT_CH0_LCTRL_MODE_U5_S)) -#define PCNT_CH0_LCTRL_MODE_U5_V 0x3 -#define PCNT_CH0_LCTRL_MODE_U5_S 22 -/* PCNT_CH0_HCTRL_MODE_U5 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's high - control signal for unit5. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_HCTRL_MODE_U5 0x00000003 -#define PCNT_CH0_HCTRL_MODE_U5_M ((PCNT_CH0_HCTRL_MODE_U5_V)<<(PCNT_CH0_HCTRL_MODE_U5_S)) -#define PCNT_CH0_HCTRL_MODE_U5_V 0x3 -#define PCNT_CH0_HCTRL_MODE_U5_S 20 -/* PCNT_CH0_POS_MODE_U5 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - posedge signal for unit5. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH0_POS_MODE_U5 0x00000003 -#define PCNT_CH0_POS_MODE_U5_M ((PCNT_CH0_POS_MODE_U5_V)<<(PCNT_CH0_POS_MODE_U5_S)) -#define PCNT_CH0_POS_MODE_U5_V 0x3 -#define PCNT_CH0_POS_MODE_U5_S 18 -/* PCNT_CH0_NEG_MODE_U5 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - negedge signal for unit5. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH0_NEG_MODE_U5 0x00000003 -#define PCNT_CH0_NEG_MODE_U5_M ((PCNT_CH0_NEG_MODE_U5_V)<<(PCNT_CH0_NEG_MODE_U5_S)) -#define PCNT_CH0_NEG_MODE_U5_V 0x3 -#define PCNT_CH0_NEG_MODE_U5_S 16 -/* PCNT_THR_THRES1_EN_U5 : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit5's count with thres1 value .*/ -#define PCNT_THR_THRES1_EN_U5 (BIT(15)) -#define PCNT_THR_THRES1_EN_U5_M (BIT(15)) -#define PCNT_THR_THRES1_EN_U5_V 0x1 -#define PCNT_THR_THRES1_EN_U5_S 15 -/* PCNT_THR_THRES0_EN_U5 : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit5's count with thres0 value.*/ -#define PCNT_THR_THRES0_EN_U5 (BIT(14)) -#define PCNT_THR_THRES0_EN_U5_M (BIT(14)) -#define PCNT_THR_THRES0_EN_U5_V 0x1 -#define PCNT_THR_THRES0_EN_U5_S 14 -/* PCNT_THR_L_LIM_EN_U5 : R/W ;bitpos:[13] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit5's count with thr_l_lim value.*/ -#define PCNT_THR_L_LIM_EN_U5 (BIT(13)) -#define PCNT_THR_L_LIM_EN_U5_M (BIT(13)) -#define PCNT_THR_L_LIM_EN_U5_V 0x1 -#define PCNT_THR_L_LIM_EN_U5_S 13 -/* PCNT_THR_H_LIM_EN_U5 : R/W ;bitpos:[12] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit5's count with thr_h_lim value.*/ -#define PCNT_THR_H_LIM_EN_U5 (BIT(12)) -#define PCNT_THR_H_LIM_EN_U5_M (BIT(12)) -#define PCNT_THR_H_LIM_EN_U5_V 0x1 -#define PCNT_THR_H_LIM_EN_U5_S 12 -/* PCNT_THR_ZERO_EN_U5 : R/W ;bitpos:[11] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit5's count with 0 value.*/ -#define PCNT_THR_ZERO_EN_U5 (BIT(11)) -#define PCNT_THR_ZERO_EN_U5_M (BIT(11)) -#define PCNT_THR_ZERO_EN_U5_V 0x1 -#define PCNT_THR_ZERO_EN_U5_S 11 -/* PCNT_FILTER_EN_U5 : R/W ;bitpos:[10] ;default: 1'b1 ; */ -/*description: This is the enable bit for filtering input signals for unit5.*/ -#define PCNT_FILTER_EN_U5 (BIT(10)) -#define PCNT_FILTER_EN_U5_M (BIT(10)) -#define PCNT_FILTER_EN_U5_V 0x1 -#define PCNT_FILTER_EN_U5_S 10 -/* PCNT_FILTER_THRES_U5 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ -/*description: This register is used to filter pluse whose width is smaller - than this value for unit5.*/ -#define PCNT_FILTER_THRES_U5 0x000003FF -#define PCNT_FILTER_THRES_U5_M ((PCNT_FILTER_THRES_U5_V)<<(PCNT_FILTER_THRES_U5_S)) -#define PCNT_FILTER_THRES_U5_V 0x3FF -#define PCNT_FILTER_THRES_U5_S 0 - -#define PCNT_U5_CONF1_REG (DR_REG_PCNT_BASE + 0x0040) -/* PCNT_CNT_THRES1_U5 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to configure thres1 value for unit5.*/ -#define PCNT_CNT_THRES1_U5 0x0000FFFF -#define PCNT_CNT_THRES1_U5_M ((PCNT_CNT_THRES1_U5_V)<<(PCNT_CNT_THRES1_U5_S)) -#define PCNT_CNT_THRES1_U5_V 0xFFFF -#define PCNT_CNT_THRES1_U5_S 16 -/* PCNT_CNT_THRES0_U5 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thres0 value for unit5.*/ -#define PCNT_CNT_THRES0_U5 0x0000FFFF -#define PCNT_CNT_THRES0_U5_M ((PCNT_CNT_THRES0_U5_V)<<(PCNT_CNT_THRES0_U5_S)) -#define PCNT_CNT_THRES0_U5_V 0xFFFF -#define PCNT_CNT_THRES0_U5_S 0 - -#define PCNT_U5_CONF2_REG (DR_REG_PCNT_BASE + 0x0044) -/* PCNT_CNT_L_LIM_U5 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to confiugre thr_l_lim value for unit5.*/ -#define PCNT_CNT_L_LIM_U5 0x0000FFFF -#define PCNT_CNT_L_LIM_U5_M ((PCNT_CNT_L_LIM_U5_V)<<(PCNT_CNT_L_LIM_U5_S)) -#define PCNT_CNT_L_LIM_U5_V 0xFFFF -#define PCNT_CNT_L_LIM_U5_S 16 -/* PCNT_CNT_H_LIM_U5 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thr_h_lim value for unit5.*/ -#define PCNT_CNT_H_LIM_U5 0x0000FFFF -#define PCNT_CNT_H_LIM_U5_M ((PCNT_CNT_H_LIM_U5_V)<<(PCNT_CNT_H_LIM_U5_S)) -#define PCNT_CNT_H_LIM_U5_V 0xFFFF -#define PCNT_CNT_H_LIM_U5_S 0 - -#define PCNT_U6_CONF0_REG (DR_REG_PCNT_BASE + 0x0048) -/* PCNT_CH1_LCTRL_MODE_U6 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's low control - signal for unit6. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_LCTRL_MODE_U6 0x00000003 -#define PCNT_CH1_LCTRL_MODE_U6_M ((PCNT_CH1_LCTRL_MODE_U6_V)<<(PCNT_CH1_LCTRL_MODE_U6_S)) -#define PCNT_CH1_LCTRL_MODE_U6_V 0x3 -#define PCNT_CH1_LCTRL_MODE_U6_S 30 -/* PCNT_CH1_HCTRL_MODE_U6 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's high - control signal for unit6. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_HCTRL_MODE_U6 0x00000003 -#define PCNT_CH1_HCTRL_MODE_U6_M ((PCNT_CH1_HCTRL_MODE_U6_V)<<(PCNT_CH1_HCTRL_MODE_U6_S)) -#define PCNT_CH1_HCTRL_MODE_U6_V 0x3 -#define PCNT_CH1_HCTRL_MODE_U6_S 28 -/* PCNT_CH1_POS_MODE_U6 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - posedge signal for unit6. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH1_POS_MODE_U6 0x00000003 -#define PCNT_CH1_POS_MODE_U6_M ((PCNT_CH1_POS_MODE_U6_V)<<(PCNT_CH1_POS_MODE_U6_S)) -#define PCNT_CH1_POS_MODE_U6_V 0x3 -#define PCNT_CH1_POS_MODE_U6_S 26 -/* PCNT_CH1_NEG_MODE_U6 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - negedge signal for unit6. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH1_NEG_MODE_U6 0x00000003 -#define PCNT_CH1_NEG_MODE_U6_M ((PCNT_CH1_NEG_MODE_U6_V)<<(PCNT_CH1_NEG_MODE_U6_S)) -#define PCNT_CH1_NEG_MODE_U6_V 0x3 -#define PCNT_CH1_NEG_MODE_U6_S 24 -/* PCNT_CH0_LCTRL_MODE_U6 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's low control - signal for unit6. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_LCTRL_MODE_U6 0x00000003 -#define PCNT_CH0_LCTRL_MODE_U6_M ((PCNT_CH0_LCTRL_MODE_U6_V)<<(PCNT_CH0_LCTRL_MODE_U6_S)) -#define PCNT_CH0_LCTRL_MODE_U6_V 0x3 -#define PCNT_CH0_LCTRL_MODE_U6_S 22 -/* PCNT_CH0_HCTRL_MODE_U6 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's high - control signal for unit6. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_HCTRL_MODE_U6 0x00000003 -#define PCNT_CH0_HCTRL_MODE_U6_M ((PCNT_CH0_HCTRL_MODE_U6_V)<<(PCNT_CH0_HCTRL_MODE_U6_S)) -#define PCNT_CH0_HCTRL_MODE_U6_V 0x3 -#define PCNT_CH0_HCTRL_MODE_U6_S 20 -/* PCNT_CH0_POS_MODE_U6 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - posedge signal for unit6. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH0_POS_MODE_U6 0x00000003 -#define PCNT_CH0_POS_MODE_U6_M ((PCNT_CH0_POS_MODE_U6_V)<<(PCNT_CH0_POS_MODE_U6_S)) -#define PCNT_CH0_POS_MODE_U6_V 0x3 -#define PCNT_CH0_POS_MODE_U6_S 18 -/* PCNT_CH0_NEG_MODE_U6 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - negedge signal for unit6. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH0_NEG_MODE_U6 0x00000003 -#define PCNT_CH0_NEG_MODE_U6_M ((PCNT_CH0_NEG_MODE_U6_V)<<(PCNT_CH0_NEG_MODE_U6_S)) -#define PCNT_CH0_NEG_MODE_U6_V 0x3 -#define PCNT_CH0_NEG_MODE_U6_S 16 -/* PCNT_THR_THRES1_EN_U6 : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit6's count with thres1 value .*/ -#define PCNT_THR_THRES1_EN_U6 (BIT(15)) -#define PCNT_THR_THRES1_EN_U6_M (BIT(15)) -#define PCNT_THR_THRES1_EN_U6_V 0x1 -#define PCNT_THR_THRES1_EN_U6_S 15 -/* PCNT_THR_THRES0_EN_U6 : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit6's count with thres0 value.*/ -#define PCNT_THR_THRES0_EN_U6 (BIT(14)) -#define PCNT_THR_THRES0_EN_U6_M (BIT(14)) -#define PCNT_THR_THRES0_EN_U6_V 0x1 -#define PCNT_THR_THRES0_EN_U6_S 14 -/* PCNT_THR_L_LIM_EN_U6 : R/W ;bitpos:[13] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit6's count with thr_l_lim value.*/ -#define PCNT_THR_L_LIM_EN_U6 (BIT(13)) -#define PCNT_THR_L_LIM_EN_U6_M (BIT(13)) -#define PCNT_THR_L_LIM_EN_U6_V 0x1 -#define PCNT_THR_L_LIM_EN_U6_S 13 -/* PCNT_THR_H_LIM_EN_U6 : R/W ;bitpos:[12] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit6's count with thr_h_lim value.*/ -#define PCNT_THR_H_LIM_EN_U6 (BIT(12)) -#define PCNT_THR_H_LIM_EN_U6_M (BIT(12)) -#define PCNT_THR_H_LIM_EN_U6_V 0x1 -#define PCNT_THR_H_LIM_EN_U6_S 12 -/* PCNT_THR_ZERO_EN_U6 : R/W ;bitpos:[11] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit6's count with 0 value.*/ -#define PCNT_THR_ZERO_EN_U6 (BIT(11)) -#define PCNT_THR_ZERO_EN_U6_M (BIT(11)) -#define PCNT_THR_ZERO_EN_U6_V 0x1 -#define PCNT_THR_ZERO_EN_U6_S 11 -/* PCNT_FILTER_EN_U6 : R/W ;bitpos:[10] ;default: 1'b1 ; */ -/*description: This is the enable bit for filtering input signals for unit6.*/ -#define PCNT_FILTER_EN_U6 (BIT(10)) -#define PCNT_FILTER_EN_U6_M (BIT(10)) -#define PCNT_FILTER_EN_U6_V 0x1 -#define PCNT_FILTER_EN_U6_S 10 -/* PCNT_FILTER_THRES_U6 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ -/*description: This register is used to filter pluse whose width is smaller - than this value for unit6.*/ -#define PCNT_FILTER_THRES_U6 0x000003FF -#define PCNT_FILTER_THRES_U6_M ((PCNT_FILTER_THRES_U6_V)<<(PCNT_FILTER_THRES_U6_S)) -#define PCNT_FILTER_THRES_U6_V 0x3FF -#define PCNT_FILTER_THRES_U6_S 0 - -#define PCNT_U6_CONF1_REG (DR_REG_PCNT_BASE + 0x004c) -/* PCNT_CNT_THRES1_U6 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to configure thres1 value for unit6.*/ -#define PCNT_CNT_THRES1_U6 0x0000FFFF -#define PCNT_CNT_THRES1_U6_M ((PCNT_CNT_THRES1_U6_V)<<(PCNT_CNT_THRES1_U6_S)) -#define PCNT_CNT_THRES1_U6_V 0xFFFF -#define PCNT_CNT_THRES1_U6_S 16 -/* PCNT_CNT_THRES0_U6 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thres0 value for unit6.*/ -#define PCNT_CNT_THRES0_U6 0x0000FFFF -#define PCNT_CNT_THRES0_U6_M ((PCNT_CNT_THRES0_U6_V)<<(PCNT_CNT_THRES0_U6_S)) -#define PCNT_CNT_THRES0_U6_V 0xFFFF -#define PCNT_CNT_THRES0_U6_S 0 - -#define PCNT_U6_CONF2_REG (DR_REG_PCNT_BASE + 0x0050) -/* PCNT_CNT_L_LIM_U6 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to confiugre thr_l_lim value for unit6.*/ -#define PCNT_CNT_L_LIM_U6 0x0000FFFF -#define PCNT_CNT_L_LIM_U6_M ((PCNT_CNT_L_LIM_U6_V)<<(PCNT_CNT_L_LIM_U6_S)) -#define PCNT_CNT_L_LIM_U6_V 0xFFFF -#define PCNT_CNT_L_LIM_U6_S 16 -/* PCNT_CNT_H_LIM_U6 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thr_h_lim value for unit6.*/ -#define PCNT_CNT_H_LIM_U6 0x0000FFFF -#define PCNT_CNT_H_LIM_U6_M ((PCNT_CNT_H_LIM_U6_V)<<(PCNT_CNT_H_LIM_U6_S)) -#define PCNT_CNT_H_LIM_U6_V 0xFFFF -#define PCNT_CNT_H_LIM_U6_S 0 - -#define PCNT_U7_CONF0_REG (DR_REG_PCNT_BASE + 0x0054) -/* PCNT_CH1_LCTRL_MODE_U7 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's low control - signal for unit7. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_LCTRL_MODE_U7 0x00000003 -#define PCNT_CH1_LCTRL_MODE_U7_M ((PCNT_CH1_LCTRL_MODE_U7_V)<<(PCNT_CH1_LCTRL_MODE_U7_S)) -#define PCNT_CH1_LCTRL_MODE_U7_V 0x3 -#define PCNT_CH1_LCTRL_MODE_U7_S 30 -/* PCNT_CH1_HCTRL_MODE_U7 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's high - control signal for unit7. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH1_HCTRL_MODE_U7 0x00000003 -#define PCNT_CH1_HCTRL_MODE_U7_M ((PCNT_CH1_HCTRL_MODE_U7_V)<<(PCNT_CH1_HCTRL_MODE_U7_S)) -#define PCNT_CH1_HCTRL_MODE_U7_V 0x3 -#define PCNT_CH1_HCTRL_MODE_U7_S 28 -/* PCNT_CH1_POS_MODE_U7 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - posedge signal for unit7. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH1_POS_MODE_U7 0x00000003 -#define PCNT_CH1_POS_MODE_U7_M ((PCNT_CH1_POS_MODE_U7_V)<<(PCNT_CH1_POS_MODE_U7_S)) -#define PCNT_CH1_POS_MODE_U7_V 0x3 -#define PCNT_CH1_POS_MODE_U7_S 26 -/* PCNT_CH1_NEG_MODE_U7 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel1's input - negedge signal for unit7. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH1_NEG_MODE_U7 0x00000003 -#define PCNT_CH1_NEG_MODE_U7_M ((PCNT_CH1_NEG_MODE_U7_V)<<(PCNT_CH1_NEG_MODE_U7_S)) -#define PCNT_CH1_NEG_MODE_U7_V 0x3 -#define PCNT_CH1_NEG_MODE_U7_S 24 -/* PCNT_CH0_LCTRL_MODE_U7 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's low control - signal for unit7. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_LCTRL_MODE_U7 0x00000003 -#define PCNT_CH0_LCTRL_MODE_U7_M ((PCNT_CH0_LCTRL_MODE_U7_V)<<(PCNT_CH0_LCTRL_MODE_U7_S)) -#define PCNT_CH0_LCTRL_MODE_U7_V 0x3 -#define PCNT_CH0_LCTRL_MODE_U7_S 22 -/* PCNT_CH0_HCTRL_MODE_U7 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's high - control signal for unit7. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ -#define PCNT_CH0_HCTRL_MODE_U7 0x00000003 -#define PCNT_CH0_HCTRL_MODE_U7_M ((PCNT_CH0_HCTRL_MODE_U7_V)<<(PCNT_CH0_HCTRL_MODE_U7_S)) -#define PCNT_CH0_HCTRL_MODE_U7_V 0x3 -#define PCNT_CH0_HCTRL_MODE_U7_S 20 -/* PCNT_CH0_POS_MODE_U7 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - posedge signal for unit7. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ -#define PCNT_CH0_POS_MODE_U7 0x00000003 -#define PCNT_CH0_POS_MODE_U7_M ((PCNT_CH0_POS_MODE_U7_V)<<(PCNT_CH0_POS_MODE_U7_S)) -#define PCNT_CH0_POS_MODE_U7_V 0x3 -#define PCNT_CH0_POS_MODE_U7_S 18 -/* PCNT_CH0_NEG_MODE_U7 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ -/*description: This register is used to control the mode of channel0's input - negedge signal for unit7. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ -#define PCNT_CH0_NEG_MODE_U7 0x00000003 -#define PCNT_CH0_NEG_MODE_U7_M ((PCNT_CH0_NEG_MODE_U7_V)<<(PCNT_CH0_NEG_MODE_U7_S)) -#define PCNT_CH0_NEG_MODE_U7_V 0x3 -#define PCNT_CH0_NEG_MODE_U7_S 16 -/* PCNT_THR_THRES1_EN_U7 : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit7's count with thres1 value .*/ -#define PCNT_THR_THRES1_EN_U7 (BIT(15)) -#define PCNT_THR_THRES1_EN_U7_M (BIT(15)) -#define PCNT_THR_THRES1_EN_U7_V 0x1 -#define PCNT_THR_THRES1_EN_U7_S 15 -/* PCNT_THR_THRES0_EN_U7 : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This is the enable bit for comparing unit7's count with thres0 value.*/ -#define PCNT_THR_THRES0_EN_U7 (BIT(14)) -#define PCNT_THR_THRES0_EN_U7_M (BIT(14)) -#define PCNT_THR_THRES0_EN_U7_V 0x1 -#define PCNT_THR_THRES0_EN_U7_S 14 -/* PCNT_THR_L_LIM_EN_U7 : R/W ;bitpos:[13] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit7's count with thr_l_lim value.*/ -#define PCNT_THR_L_LIM_EN_U7 (BIT(13)) -#define PCNT_THR_L_LIM_EN_U7_M (BIT(13)) -#define PCNT_THR_L_LIM_EN_U7_V 0x1 -#define PCNT_THR_L_LIM_EN_U7_S 13 -/* PCNT_THR_H_LIM_EN_U7 : R/W ;bitpos:[12] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit7's count with thr_h_lim value.*/ -#define PCNT_THR_H_LIM_EN_U7 (BIT(12)) -#define PCNT_THR_H_LIM_EN_U7_M (BIT(12)) -#define PCNT_THR_H_LIM_EN_U7_V 0x1 -#define PCNT_THR_H_LIM_EN_U7_S 12 -/* PCNT_THR_ZERO_EN_U7 : R/W ;bitpos:[11] ;default: 1'b1 ; */ -/*description: This is the enable bit for comparing unit7's count with 0 value.*/ -#define PCNT_THR_ZERO_EN_U7 (BIT(11)) -#define PCNT_THR_ZERO_EN_U7_M (BIT(11)) -#define PCNT_THR_ZERO_EN_U7_V 0x1 -#define PCNT_THR_ZERO_EN_U7_S 11 -/* PCNT_FILTER_EN_U7 : R/W ;bitpos:[10] ;default: 1'b1 ; */ -/*description: This is the enable bit for filtering input signals for unit7.*/ -#define PCNT_FILTER_EN_U7 (BIT(10)) -#define PCNT_FILTER_EN_U7_M (BIT(10)) -#define PCNT_FILTER_EN_U7_V 0x1 -#define PCNT_FILTER_EN_U7_S 10 -/* PCNT_FILTER_THRES_U7 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ -/*description: This register is used to filter pluse whose width is smaller - than this value for unit7.*/ -#define PCNT_FILTER_THRES_U7 0x000003FF -#define PCNT_FILTER_THRES_U7_M ((PCNT_FILTER_THRES_U7_V)<<(PCNT_FILTER_THRES_U7_S)) -#define PCNT_FILTER_THRES_U7_V 0x3FF -#define PCNT_FILTER_THRES_U7_S 0 - -#define PCNT_U7_CONF1_REG (DR_REG_PCNT_BASE + 0x0058) -/* PCNT_CNT_THRES1_U7 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to configure thres1 value for unit7.*/ -#define PCNT_CNT_THRES1_U7 0x0000FFFF -#define PCNT_CNT_THRES1_U7_M ((PCNT_CNT_THRES1_U7_V)<<(PCNT_CNT_THRES1_U7_S)) -#define PCNT_CNT_THRES1_U7_V 0xFFFF -#define PCNT_CNT_THRES1_U7_S 16 -/* PCNT_CNT_THRES0_U7 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thres0 value for unit7.*/ -#define PCNT_CNT_THRES0_U7 0x0000FFFF -#define PCNT_CNT_THRES0_U7_M ((PCNT_CNT_THRES0_U7_V)<<(PCNT_CNT_THRES0_U7_S)) -#define PCNT_CNT_THRES0_U7_V 0xFFFF -#define PCNT_CNT_THRES0_U7_S 0 - -#define PCNT_U7_CONF2_REG (DR_REG_PCNT_BASE + 0x005c) -/* PCNT_CNT_L_LIM_U7 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ -/*description: This register is used to confiugre thr_l_lim value for unit7.*/ -#define PCNT_CNT_L_LIM_U7 0x0000FFFF -#define PCNT_CNT_L_LIM_U7_M ((PCNT_CNT_L_LIM_U7_V)<<(PCNT_CNT_L_LIM_U7_S)) -#define PCNT_CNT_L_LIM_U7_V 0xFFFF -#define PCNT_CNT_L_LIM_U7_S 16 -/* PCNT_CNT_H_LIM_U7 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ -/*description: This register is used to configure thr_h_lim value for unit7.*/ -#define PCNT_CNT_H_LIM_U7 0x0000FFFF -#define PCNT_CNT_H_LIM_U7_M ((PCNT_CNT_H_LIM_U7_V)<<(PCNT_CNT_H_LIM_U7_S)) -#define PCNT_CNT_H_LIM_U7_V 0xFFFF -#define PCNT_CNT_H_LIM_U7_S 0 - -#define PCNT_U0_CNT_REG (DR_REG_PCNT_BASE + 0x0060) -/* PCNT_PLUS_CNT_U0 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: This register stores the current pulse count value for unit0.*/ -#define PCNT_PLUS_CNT_U0 0x0000FFFF -#define PCNT_PLUS_CNT_U0_M ((PCNT_PLUS_CNT_U0_V)<<(PCNT_PLUS_CNT_U0_S)) -#define PCNT_PLUS_CNT_U0_V 0xFFFF -#define PCNT_PLUS_CNT_U0_S 0 - -#define PCNT_U1_CNT_REG (DR_REG_PCNT_BASE + 0x0064) -/* PCNT_PLUS_CNT_U1 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: This register stores the current pulse count value for unit1.*/ -#define PCNT_PLUS_CNT_U1 0x0000FFFF -#define PCNT_PLUS_CNT_U1_M ((PCNT_PLUS_CNT_U1_V)<<(PCNT_PLUS_CNT_U1_S)) -#define PCNT_PLUS_CNT_U1_V 0xFFFF -#define PCNT_PLUS_CNT_U1_S 0 - -#define PCNT_U2_CNT_REG (DR_REG_PCNT_BASE + 0x0068) -/* PCNT_PLUS_CNT_U2 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: This register stores the current pulse count value for unit2.*/ -#define PCNT_PLUS_CNT_U2 0x0000FFFF -#define PCNT_PLUS_CNT_U2_M ((PCNT_PLUS_CNT_U2_V)<<(PCNT_PLUS_CNT_U2_S)) -#define PCNT_PLUS_CNT_U2_V 0xFFFF -#define PCNT_PLUS_CNT_U2_S 0 - -#define PCNT_U3_CNT_REG (DR_REG_PCNT_BASE + 0x006c) -/* PCNT_PLUS_CNT_U3 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: This register stores the current pulse count value for unit3.*/ -#define PCNT_PLUS_CNT_U3 0x0000FFFF -#define PCNT_PLUS_CNT_U3_M ((PCNT_PLUS_CNT_U3_V)<<(PCNT_PLUS_CNT_U3_S)) -#define PCNT_PLUS_CNT_U3_V 0xFFFF -#define PCNT_PLUS_CNT_U3_S 0 - -#define PCNT_U4_CNT_REG (DR_REG_PCNT_BASE + 0x0070) -/* PCNT_PLUS_CNT_U4 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: This register stores the current pulse count value for unit4.*/ -#define PCNT_PLUS_CNT_U4 0x0000FFFF -#define PCNT_PLUS_CNT_U4_M ((PCNT_PLUS_CNT_U4_V)<<(PCNT_PLUS_CNT_U4_S)) -#define PCNT_PLUS_CNT_U4_V 0xFFFF -#define PCNT_PLUS_CNT_U4_S 0 - -#define PCNT_U5_CNT_REG (DR_REG_PCNT_BASE + 0x0074) -/* PCNT_PLUS_CNT_U5 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: This register stores the current pulse count value for unit5.*/ -#define PCNT_PLUS_CNT_U5 0x0000FFFF -#define PCNT_PLUS_CNT_U5_M ((PCNT_PLUS_CNT_U5_V)<<(PCNT_PLUS_CNT_U5_S)) -#define PCNT_PLUS_CNT_U5_V 0xFFFF -#define PCNT_PLUS_CNT_U5_S 0 - -#define PCNT_U6_CNT_REG (DR_REG_PCNT_BASE + 0x0078) -/* PCNT_PLUS_CNT_U6 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: This register stores the current pulse count value for unit6.*/ -#define PCNT_PLUS_CNT_U6 0x0000FFFF -#define PCNT_PLUS_CNT_U6_M ((PCNT_PLUS_CNT_U6_V)<<(PCNT_PLUS_CNT_U6_S)) -#define PCNT_PLUS_CNT_U6_V 0xFFFF -#define PCNT_PLUS_CNT_U6_S 0 - -#define PCNT_U7_CNT_REG (DR_REG_PCNT_BASE + 0x007c) -/* PCNT_PLUS_CNT_U7 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: This register stores the current pulse count value for unit7.*/ -#define PCNT_PLUS_CNT_U7 0x0000FFFF -#define PCNT_PLUS_CNT_U7_M ((PCNT_PLUS_CNT_U7_V)<<(PCNT_PLUS_CNT_U7_S)) -#define PCNT_PLUS_CNT_U7_V 0xFFFF -#define PCNT_PLUS_CNT_U7_S 0 - -#define PCNT_INT_RAW_REG (DR_REG_PCNT_BASE + 0x0080) -/* PCNT_CNT_THR_EVENT_U7_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the interrupt raw bit for channel7 event.*/ -#define PCNT_CNT_THR_EVENT_U7_INT_RAW (BIT(7)) -#define PCNT_CNT_THR_EVENT_U7_INT_RAW_M (BIT(7)) -#define PCNT_CNT_THR_EVENT_U7_INT_RAW_V 0x1 -#define PCNT_CNT_THR_EVENT_U7_INT_RAW_S 7 -/* PCNT_CNT_THR_EVENT_U6_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: This is the interrupt raw bit for channel6 event.*/ -#define PCNT_CNT_THR_EVENT_U6_INT_RAW (BIT(6)) -#define PCNT_CNT_THR_EVENT_U6_INT_RAW_M (BIT(6)) -#define PCNT_CNT_THR_EVENT_U6_INT_RAW_V 0x1 -#define PCNT_CNT_THR_EVENT_U6_INT_RAW_S 6 -/* PCNT_CNT_THR_EVENT_U5_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: This is the interrupt raw bit for channel5 event.*/ -#define PCNT_CNT_THR_EVENT_U5_INT_RAW (BIT(5)) -#define PCNT_CNT_THR_EVENT_U5_INT_RAW_M (BIT(5)) -#define PCNT_CNT_THR_EVENT_U5_INT_RAW_V 0x1 -#define PCNT_CNT_THR_EVENT_U5_INT_RAW_S 5 -/* PCNT_CNT_THR_EVENT_U4_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This is the interrupt raw bit for channel4 event.*/ -#define PCNT_CNT_THR_EVENT_U4_INT_RAW (BIT(4)) -#define PCNT_CNT_THR_EVENT_U4_INT_RAW_M (BIT(4)) -#define PCNT_CNT_THR_EVENT_U4_INT_RAW_V 0x1 -#define PCNT_CNT_THR_EVENT_U4_INT_RAW_S 4 -/* PCNT_CNT_THR_EVENT_U3_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This is the interrupt raw bit for channel3 event.*/ -#define PCNT_CNT_THR_EVENT_U3_INT_RAW (BIT(3)) -#define PCNT_CNT_THR_EVENT_U3_INT_RAW_M (BIT(3)) -#define PCNT_CNT_THR_EVENT_U3_INT_RAW_V 0x1 -#define PCNT_CNT_THR_EVENT_U3_INT_RAW_S 3 -/* PCNT_CNT_THR_EVENT_U2_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the interrupt raw bit for channel2 event.*/ -#define PCNT_CNT_THR_EVENT_U2_INT_RAW (BIT(2)) -#define PCNT_CNT_THR_EVENT_U2_INT_RAW_M (BIT(2)) -#define PCNT_CNT_THR_EVENT_U2_INT_RAW_V 0x1 -#define PCNT_CNT_THR_EVENT_U2_INT_RAW_S 2 -/* PCNT_CNT_THR_EVENT_U1_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: This is the interrupt raw bit for channel1 event.*/ -#define PCNT_CNT_THR_EVENT_U1_INT_RAW (BIT(1)) -#define PCNT_CNT_THR_EVENT_U1_INT_RAW_M (BIT(1)) -#define PCNT_CNT_THR_EVENT_U1_INT_RAW_V 0x1 -#define PCNT_CNT_THR_EVENT_U1_INT_RAW_S 1 -/* PCNT_CNT_THR_EVENT_U0_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: This is the interrupt raw bit for channel0 event.*/ -#define PCNT_CNT_THR_EVENT_U0_INT_RAW (BIT(0)) -#define PCNT_CNT_THR_EVENT_U0_INT_RAW_M (BIT(0)) -#define PCNT_CNT_THR_EVENT_U0_INT_RAW_V 0x1 -#define PCNT_CNT_THR_EVENT_U0_INT_RAW_S 0 - -#define PCNT_INT_ST_REG (DR_REG_PCNT_BASE + 0x0084) -/* PCNT_CNT_THR_EVENT_U7_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the interrupt status bit for channel7 event.*/ -#define PCNT_CNT_THR_EVENT_U7_INT_ST (BIT(7)) -#define PCNT_CNT_THR_EVENT_U7_INT_ST_M (BIT(7)) -#define PCNT_CNT_THR_EVENT_U7_INT_ST_V 0x1 -#define PCNT_CNT_THR_EVENT_U7_INT_ST_S 7 -/* PCNT_CNT_THR_EVENT_U6_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: This is the interrupt status bit for channel6 event.*/ -#define PCNT_CNT_THR_EVENT_U6_INT_ST (BIT(6)) -#define PCNT_CNT_THR_EVENT_U6_INT_ST_M (BIT(6)) -#define PCNT_CNT_THR_EVENT_U6_INT_ST_V 0x1 -#define PCNT_CNT_THR_EVENT_U6_INT_ST_S 6 -/* PCNT_CNT_THR_EVENT_U5_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: This is the interrupt status bit for channel5 event.*/ -#define PCNT_CNT_THR_EVENT_U5_INT_ST (BIT(5)) -#define PCNT_CNT_THR_EVENT_U5_INT_ST_M (BIT(5)) -#define PCNT_CNT_THR_EVENT_U5_INT_ST_V 0x1 -#define PCNT_CNT_THR_EVENT_U5_INT_ST_S 5 -/* PCNT_CNT_THR_EVENT_U4_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This is the interrupt status bit for channel4 event.*/ -#define PCNT_CNT_THR_EVENT_U4_INT_ST (BIT(4)) -#define PCNT_CNT_THR_EVENT_U4_INT_ST_M (BIT(4)) -#define PCNT_CNT_THR_EVENT_U4_INT_ST_V 0x1 -#define PCNT_CNT_THR_EVENT_U4_INT_ST_S 4 -/* PCNT_CNT_THR_EVENT_U3_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This is the interrupt status bit for channel3 event.*/ -#define PCNT_CNT_THR_EVENT_U3_INT_ST (BIT(3)) -#define PCNT_CNT_THR_EVENT_U3_INT_ST_M (BIT(3)) -#define PCNT_CNT_THR_EVENT_U3_INT_ST_V 0x1 -#define PCNT_CNT_THR_EVENT_U3_INT_ST_S 3 -/* PCNT_CNT_THR_EVENT_U2_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the interrupt status bit for channel2 event.*/ -#define PCNT_CNT_THR_EVENT_U2_INT_ST (BIT(2)) -#define PCNT_CNT_THR_EVENT_U2_INT_ST_M (BIT(2)) -#define PCNT_CNT_THR_EVENT_U2_INT_ST_V 0x1 -#define PCNT_CNT_THR_EVENT_U2_INT_ST_S 2 -/* PCNT_CNT_THR_EVENT_U1_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: This is the interrupt status bit for channel1 event.*/ -#define PCNT_CNT_THR_EVENT_U1_INT_ST (BIT(1)) -#define PCNT_CNT_THR_EVENT_U1_INT_ST_M (BIT(1)) -#define PCNT_CNT_THR_EVENT_U1_INT_ST_V 0x1 -#define PCNT_CNT_THR_EVENT_U1_INT_ST_S 1 -/* PCNT_CNT_THR_EVENT_U0_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: This is the interrupt status bit for channel0 event.*/ -#define PCNT_CNT_THR_EVENT_U0_INT_ST (BIT(0)) -#define PCNT_CNT_THR_EVENT_U0_INT_ST_M (BIT(0)) -#define PCNT_CNT_THR_EVENT_U0_INT_ST_V 0x1 -#define PCNT_CNT_THR_EVENT_U0_INT_ST_S 0 - -#define PCNT_INT_ENA_REG (DR_REG_PCNT_BASE + 0x0088) -/* PCNT_CNT_THR_EVENT_U7_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the interrupt enable bit for channel7 event.*/ -#define PCNT_CNT_THR_EVENT_U7_INT_ENA (BIT(7)) -#define PCNT_CNT_THR_EVENT_U7_INT_ENA_M (BIT(7)) -#define PCNT_CNT_THR_EVENT_U7_INT_ENA_V 0x1 -#define PCNT_CNT_THR_EVENT_U7_INT_ENA_S 7 -/* PCNT_CNT_THR_EVENT_U6_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: This is the interrupt enable bit for channel6 event.*/ -#define PCNT_CNT_THR_EVENT_U6_INT_ENA (BIT(6)) -#define PCNT_CNT_THR_EVENT_U6_INT_ENA_M (BIT(6)) -#define PCNT_CNT_THR_EVENT_U6_INT_ENA_V 0x1 -#define PCNT_CNT_THR_EVENT_U6_INT_ENA_S 6 -/* PCNT_CNT_THR_EVENT_U5_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: This is the interrupt enable bit for channel5 event.*/ -#define PCNT_CNT_THR_EVENT_U5_INT_ENA (BIT(5)) -#define PCNT_CNT_THR_EVENT_U5_INT_ENA_M (BIT(5)) -#define PCNT_CNT_THR_EVENT_U5_INT_ENA_V 0x1 -#define PCNT_CNT_THR_EVENT_U5_INT_ENA_S 5 -/* PCNT_CNT_THR_EVENT_U4_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This is the interrupt enable bit for channel4 event.*/ -#define PCNT_CNT_THR_EVENT_U4_INT_ENA (BIT(4)) -#define PCNT_CNT_THR_EVENT_U4_INT_ENA_M (BIT(4)) -#define PCNT_CNT_THR_EVENT_U4_INT_ENA_V 0x1 -#define PCNT_CNT_THR_EVENT_U4_INT_ENA_S 4 -/* PCNT_CNT_THR_EVENT_U3_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This is the interrupt enable bit for channel3 event.*/ -#define PCNT_CNT_THR_EVENT_U3_INT_ENA (BIT(3)) -#define PCNT_CNT_THR_EVENT_U3_INT_ENA_M (BIT(3)) -#define PCNT_CNT_THR_EVENT_U3_INT_ENA_V 0x1 -#define PCNT_CNT_THR_EVENT_U3_INT_ENA_S 3 -/* PCNT_CNT_THR_EVENT_U2_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the interrupt enable bit for channel2 event.*/ -#define PCNT_CNT_THR_EVENT_U2_INT_ENA (BIT(2)) -#define PCNT_CNT_THR_EVENT_U2_INT_ENA_M (BIT(2)) -#define PCNT_CNT_THR_EVENT_U2_INT_ENA_V 0x1 -#define PCNT_CNT_THR_EVENT_U2_INT_ENA_S 2 -/* PCNT_CNT_THR_EVENT_U1_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: This is the interrupt enable bit for channel1 event.*/ -#define PCNT_CNT_THR_EVENT_U1_INT_ENA (BIT(1)) -#define PCNT_CNT_THR_EVENT_U1_INT_ENA_M (BIT(1)) -#define PCNT_CNT_THR_EVENT_U1_INT_ENA_V 0x1 -#define PCNT_CNT_THR_EVENT_U1_INT_ENA_S 1 -/* PCNT_CNT_THR_EVENT_U0_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: This is the interrupt enable bit for channel0 event.*/ -#define PCNT_CNT_THR_EVENT_U0_INT_ENA (BIT(0)) -#define PCNT_CNT_THR_EVENT_U0_INT_ENA_M (BIT(0)) -#define PCNT_CNT_THR_EVENT_U0_INT_ENA_V 0x1 -#define PCNT_CNT_THR_EVENT_U0_INT_ENA_S 0 - -#define PCNT_INT_CLR_REG (DR_REG_PCNT_BASE + 0x008c) -/* PCNT_CNT_THR_EVENT_U7_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: Set this bit to clear channel7 event interrupt.*/ -#define PCNT_CNT_THR_EVENT_U7_INT_CLR (BIT(7)) -#define PCNT_CNT_THR_EVENT_U7_INT_CLR_M (BIT(7)) -#define PCNT_CNT_THR_EVENT_U7_INT_CLR_V 0x1 -#define PCNT_CNT_THR_EVENT_U7_INT_CLR_S 7 -/* PCNT_CNT_THR_EVENT_U6_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to clear channel6 event interrupt.*/ -#define PCNT_CNT_THR_EVENT_U6_INT_CLR (BIT(6)) -#define PCNT_CNT_THR_EVENT_U6_INT_CLR_M (BIT(6)) -#define PCNT_CNT_THR_EVENT_U6_INT_CLR_V 0x1 -#define PCNT_CNT_THR_EVENT_U6_INT_CLR_S 6 -/* PCNT_CNT_THR_EVENT_U5_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: Set this bit to clear channel5 event interrupt.*/ -#define PCNT_CNT_THR_EVENT_U5_INT_CLR (BIT(5)) -#define PCNT_CNT_THR_EVENT_U5_INT_CLR_M (BIT(5)) -#define PCNT_CNT_THR_EVENT_U5_INT_CLR_V 0x1 -#define PCNT_CNT_THR_EVENT_U5_INT_CLR_S 5 -/* PCNT_CNT_THR_EVENT_U4_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to clear channel4 event interrupt.*/ -#define PCNT_CNT_THR_EVENT_U4_INT_CLR (BIT(4)) -#define PCNT_CNT_THR_EVENT_U4_INT_CLR_M (BIT(4)) -#define PCNT_CNT_THR_EVENT_U4_INT_CLR_V 0x1 -#define PCNT_CNT_THR_EVENT_U4_INT_CLR_S 4 -/* PCNT_CNT_THR_EVENT_U3_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to clear channel3 event interrupt.*/ -#define PCNT_CNT_THR_EVENT_U3_INT_CLR (BIT(3)) -#define PCNT_CNT_THR_EVENT_U3_INT_CLR_M (BIT(3)) -#define PCNT_CNT_THR_EVENT_U3_INT_CLR_V 0x1 -#define PCNT_CNT_THR_EVENT_U3_INT_CLR_S 3 -/* PCNT_CNT_THR_EVENT_U2_INT_CLR : WO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: Set this bit to clear channel2 event interrupt.*/ -#define PCNT_CNT_THR_EVENT_U2_INT_CLR (BIT(2)) -#define PCNT_CNT_THR_EVENT_U2_INT_CLR_M (BIT(2)) -#define PCNT_CNT_THR_EVENT_U2_INT_CLR_V 0x1 -#define PCNT_CNT_THR_EVENT_U2_INT_CLR_S 2 -/* PCNT_CNT_THR_EVENT_U1_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: Set this bit to clear channel1 event interrupt.*/ -#define PCNT_CNT_THR_EVENT_U1_INT_CLR (BIT(1)) -#define PCNT_CNT_THR_EVENT_U1_INT_CLR_M (BIT(1)) -#define PCNT_CNT_THR_EVENT_U1_INT_CLR_V 0x1 -#define PCNT_CNT_THR_EVENT_U1_INT_CLR_S 1 -/* PCNT_CNT_THR_EVENT_U0_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: Set this bit to clear channel0 event interrupt.*/ -#define PCNT_CNT_THR_EVENT_U0_INT_CLR (BIT(0)) -#define PCNT_CNT_THR_EVENT_U0_INT_CLR_M (BIT(0)) -#define PCNT_CNT_THR_EVENT_U0_INT_CLR_V 0x1 -#define PCNT_CNT_THR_EVENT_U0_INT_CLR_S 0 - -#define PCNT_U0_STATUS_REG (DR_REG_PCNT_BASE + 0x0090) -/* PCNT_CORE_STATUS_U0 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define PCNT_CORE_STATUS_U0 0xFFFFFFFF -#define PCNT_CORE_STATUS_U0_M ((PCNT_CORE_STATUS_U0_V)<<(PCNT_CORE_STATUS_U0_S)) -#define PCNT_CORE_STATUS_U0_V 0xFFFFFFFF -#define PCNT_CORE_STATUS_U0_S 0 -/*0: positive value to zero; 1: negative value to zero; 2: counter value negative ; 3: counter value positive*/ -#define PCNT_STATUS_CNT_MODE 0x3 -#define PCNT_STATUS_CNT_MODE_M ((PCNT_STATUS_CNT_MODE_V)<<(PCNT_STATUS_CNT_MODE_S)) -#define PCNT_STATUS_CNT_MODE_V 0x3 -#define PCNT_STATUS_CNT_MODE_S 0 -/* counter value equals to thresh1*/ -#define PCNT_STATUS_THRES1 BIT(2) -#define PCNT_STATUS_THRES1_M BIT(2) -#define PCNT_STATUS_THRES1_V 0x1 -#define PCNT_STATUS_THRES1_S 2 -/* counter value equals to thresh0*/ -#define PCNT_STATUS_THRES0 BIT(3) -#define PCNT_STATUS_THRES0_M BIT(3) -#define PCNT_STATUS_THRES0_V 0x1 -#define PCNT_STATUS_THRES0_S 3 -/* counter value reaches h_lim*/ -#define PCNT_STATUS_L_LIM BIT(4) -#define PCNT_STATUS_L_LIM_M BIT(4) -#define PCNT_STATUS_L_LIM_V 0x1 -#define PCNT_STATUS_L_LIM_S 4 -/* counter value reaches l_lim*/ -#define PCNT_STATUS_H_LIM BIT(5) -#define PCNT_STATUS_H_LIM_M BIT(5) -#define PCNT_STATUS_H_LIM_V 0x1 -#define PCNT_STATUS_H_LIM_S 5 -/* counter value equals to zero*/ -#define PCNT_STATUS_ZERO BIT(6) -#define PCNT_STATUS_ZERO_M BIT(6) -#define PCNT_STATUS_ZERO_V 0x1 -#define PCNT_STATUS_ZERO_S 6 - -#define PCNT_U1_STATUS_REG (DR_REG_PCNT_BASE + 0x0094) -/* PCNT_CORE_STATUS_U1 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define PCNT_CORE_STATUS_U1 0xFFFFFFFF -#define PCNT_CORE_STATUS_U1_M ((PCNT_CORE_STATUS_U1_V)<<(PCNT_CORE_STATUS_U1_S)) -#define PCNT_CORE_STATUS_U1_V 0xFFFFFFFF -#define PCNT_CORE_STATUS_U1_S 0 - -#define PCNT_U2_STATUS_REG (DR_REG_PCNT_BASE + 0x0098) -/* PCNT_CORE_STATUS_U2 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define PCNT_CORE_STATUS_U2 0xFFFFFFFF -#define PCNT_CORE_STATUS_U2_M ((PCNT_CORE_STATUS_U2_V)<<(PCNT_CORE_STATUS_U2_S)) -#define PCNT_CORE_STATUS_U2_V 0xFFFFFFFF -#define PCNT_CORE_STATUS_U2_S 0 - -#define PCNT_U3_STATUS_REG (DR_REG_PCNT_BASE + 0x009c) -/* PCNT_CORE_STATUS_U3 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define PCNT_CORE_STATUS_U3 0xFFFFFFFF -#define PCNT_CORE_STATUS_U3_M ((PCNT_CORE_STATUS_U3_V)<<(PCNT_CORE_STATUS_U3_S)) -#define PCNT_CORE_STATUS_U3_V 0xFFFFFFFF -#define PCNT_CORE_STATUS_U3_S 0 - -#define PCNT_U4_STATUS_REG (DR_REG_PCNT_BASE + 0x00a0) -/* PCNT_CORE_STATUS_U4 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define PCNT_CORE_STATUS_U4 0xFFFFFFFF -#define PCNT_CORE_STATUS_U4_M ((PCNT_CORE_STATUS_U4_V)<<(PCNT_CORE_STATUS_U4_S)) -#define PCNT_CORE_STATUS_U4_V 0xFFFFFFFF -#define PCNT_CORE_STATUS_U4_S 0 - -#define PCNT_U5_STATUS_REG (DR_REG_PCNT_BASE + 0x00a4) -/* PCNT_CORE_STATUS_U5 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define PCNT_CORE_STATUS_U5 0xFFFFFFFF -#define PCNT_CORE_STATUS_U5_M ((PCNT_CORE_STATUS_U5_V)<<(PCNT_CORE_STATUS_U5_S)) -#define PCNT_CORE_STATUS_U5_V 0xFFFFFFFF -#define PCNT_CORE_STATUS_U5_S 0 - -#define PCNT_U6_STATUS_REG (DR_REG_PCNT_BASE + 0x00a8) -/* PCNT_CORE_STATUS_U6 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define PCNT_CORE_STATUS_U6 0xFFFFFFFF -#define PCNT_CORE_STATUS_U6_M ((PCNT_CORE_STATUS_U6_V)<<(PCNT_CORE_STATUS_U6_S)) -#define PCNT_CORE_STATUS_U6_V 0xFFFFFFFF -#define PCNT_CORE_STATUS_U6_S 0 - -#define PCNT_U7_STATUS_REG (DR_REG_PCNT_BASE + 0x00ac) -/* PCNT_CORE_STATUS_U7 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: */ -#define PCNT_CORE_STATUS_U7 0xFFFFFFFF -#define PCNT_CORE_STATUS_U7_M ((PCNT_CORE_STATUS_U7_V)<<(PCNT_CORE_STATUS_U7_S)) -#define PCNT_CORE_STATUS_U7_V 0xFFFFFFFF -#define PCNT_CORE_STATUS_U7_S 0 - -#define PCNT_CTRL_REG (DR_REG_PCNT_BASE + 0x00b0) -/* PCNT_CLK_EN : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: */ -#define PCNT_CLK_EN (BIT(16)) -#define PCNT_CLK_EN_M (BIT(16)) -#define PCNT_CLK_EN_V 0x1 -#define PCNT_CLK_EN_S 16 -/* PCNT_CNT_PAUSE_U7 : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: Set this bit to pause unit7's counter.*/ -#define PCNT_CNT_PAUSE_U7 (BIT(15)) -#define PCNT_CNT_PAUSE_U7_M (BIT(15)) -#define PCNT_CNT_PAUSE_U7_V 0x1 -#define PCNT_CNT_PAUSE_U7_S 15 -/* PCNT_PLUS_CNT_RST_U7 : R/W ;bitpos:[14] ;default: 1'b1 ; */ -/*description: Set this bit to clear unit7's counter.*/ -#define PCNT_PLUS_CNT_RST_U7 (BIT(14)) -#define PCNT_PLUS_CNT_RST_U7_M (BIT(14)) -#define PCNT_PLUS_CNT_RST_U7_V 0x1 -#define PCNT_PLUS_CNT_RST_U7_S 14 -/* PCNT_CNT_PAUSE_U6 : R/W ;bitpos:[13] ;default: 1'b0 ; */ -/*description: Set this bit to pause unit6's counter.*/ -#define PCNT_CNT_PAUSE_U6 (BIT(13)) -#define PCNT_CNT_PAUSE_U6_M (BIT(13)) -#define PCNT_CNT_PAUSE_U6_V 0x1 -#define PCNT_CNT_PAUSE_U6_S 13 -/* PCNT_PLUS_CNT_RST_U6 : R/W ;bitpos:[12] ;default: 1'b1 ; */ -/*description: Set this bit to clear unit6's counter.*/ -#define PCNT_PLUS_CNT_RST_U6 (BIT(12)) -#define PCNT_PLUS_CNT_RST_U6_M (BIT(12)) -#define PCNT_PLUS_CNT_RST_U6_V 0x1 -#define PCNT_PLUS_CNT_RST_U6_S 12 -/* PCNT_CNT_PAUSE_U5 : R/W ;bitpos:[11] ;default: 1'b0 ; */ -/*description: Set this bit to pause unit5's counter.*/ -#define PCNT_CNT_PAUSE_U5 (BIT(11)) -#define PCNT_CNT_PAUSE_U5_M (BIT(11)) -#define PCNT_CNT_PAUSE_U5_V 0x1 -#define PCNT_CNT_PAUSE_U5_S 11 -/* PCNT_PLUS_CNT_RST_U5 : R/W ;bitpos:[10] ;default: 1'b1 ; */ -/*description: Set this bit to clear unit5's counter.*/ -#define PCNT_PLUS_CNT_RST_U5 (BIT(10)) -#define PCNT_PLUS_CNT_RST_U5_M (BIT(10)) -#define PCNT_PLUS_CNT_RST_U5_V 0x1 -#define PCNT_PLUS_CNT_RST_U5_S 10 -/* PCNT_CNT_PAUSE_U4 : R/W ;bitpos:[9] ;default: 1'b0 ; */ -/*description: Set this bit to pause unit4's counter.*/ -#define PCNT_CNT_PAUSE_U4 (BIT(9)) -#define PCNT_CNT_PAUSE_U4_M (BIT(9)) -#define PCNT_CNT_PAUSE_U4_V 0x1 -#define PCNT_CNT_PAUSE_U4_S 9 -/* PCNT_PLUS_CNT_RST_U4 : R/W ;bitpos:[8] ;default: 1'b1 ; */ -/*description: Set this bit to clear unit4's counter.*/ -#define PCNT_PLUS_CNT_RST_U4 (BIT(8)) -#define PCNT_PLUS_CNT_RST_U4_M (BIT(8)) -#define PCNT_PLUS_CNT_RST_U4_V 0x1 -#define PCNT_PLUS_CNT_RST_U4_S 8 -/* PCNT_CNT_PAUSE_U3 : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: Set this bit to pause unit3's counter.*/ -#define PCNT_CNT_PAUSE_U3 (BIT(7)) -#define PCNT_CNT_PAUSE_U3_M (BIT(7)) -#define PCNT_CNT_PAUSE_U3_V 0x1 -#define PCNT_CNT_PAUSE_U3_S 7 -/* PCNT_PLUS_CNT_RST_U3 : R/W ;bitpos:[6] ;default: 1'b1 ; */ -/*description: Set this bit to clear unit3's counter.*/ -#define PCNT_PLUS_CNT_RST_U3 (BIT(6)) -#define PCNT_PLUS_CNT_RST_U3_M (BIT(6)) -#define PCNT_PLUS_CNT_RST_U3_V 0x1 -#define PCNT_PLUS_CNT_RST_U3_S 6 -/* PCNT_CNT_PAUSE_U2 : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: Set this bit to pause unit2's counter.*/ -#define PCNT_CNT_PAUSE_U2 (BIT(5)) -#define PCNT_CNT_PAUSE_U2_M (BIT(5)) -#define PCNT_CNT_PAUSE_U2_V 0x1 -#define PCNT_CNT_PAUSE_U2_S 5 -/* PCNT_PLUS_CNT_RST_U2 : R/W ;bitpos:[4] ;default: 1'b1 ; */ -/*description: Set this bit to clear unit2's counter.*/ -#define PCNT_PLUS_CNT_RST_U2 (BIT(4)) -#define PCNT_PLUS_CNT_RST_U2_M (BIT(4)) -#define PCNT_PLUS_CNT_RST_U2_V 0x1 -#define PCNT_PLUS_CNT_RST_U2_S 4 -/* PCNT_CNT_PAUSE_U1 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to pause unit1's counter.*/ -#define PCNT_CNT_PAUSE_U1 (BIT(3)) -#define PCNT_CNT_PAUSE_U1_M (BIT(3)) -#define PCNT_CNT_PAUSE_U1_V 0x1 -#define PCNT_CNT_PAUSE_U1_S 3 -/* PCNT_PLUS_CNT_RST_U1 : R/W ;bitpos:[2] ;default: 1'b1 ; */ -/*description: Set this bit to clear unit1's counter.*/ -#define PCNT_PLUS_CNT_RST_U1 (BIT(2)) -#define PCNT_PLUS_CNT_RST_U1_M (BIT(2)) -#define PCNT_PLUS_CNT_RST_U1_V 0x1 -#define PCNT_PLUS_CNT_RST_U1_S 2 -/* PCNT_CNT_PAUSE_U0 : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: Set this bit to pause unit0's counter.*/ -#define PCNT_CNT_PAUSE_U0 (BIT(1)) -#define PCNT_CNT_PAUSE_U0_M (BIT(1)) -#define PCNT_CNT_PAUSE_U0_V 0x1 -#define PCNT_CNT_PAUSE_U0_S 1 -/* PCNT_PLUS_CNT_RST_U0 : R/W ;bitpos:[0] ;default: 1'b1 ; */ -/*description: Set this bit to clear unit0's counter.*/ -#define PCNT_PLUS_CNT_RST_U0 (BIT(0)) -#define PCNT_PLUS_CNT_RST_U0_M (BIT(0)) -#define PCNT_PLUS_CNT_RST_U0_V 0x1 -#define PCNT_PLUS_CNT_RST_U0_S 0 - -#define PCNT_DATE_REG (DR_REG_PCNT_BASE + 0x00fc) -/* PCNT_DATE : R/W ;bitpos:[31:0] ;default: 32'h14122600 ; */ -/*description: */ -#define PCNT_DATE 0xFFFFFFFF -#define PCNT_DATE_M ((PCNT_DATE_V)<<(PCNT_DATE_S)) -#define PCNT_DATE_V 0xFFFFFFFF -#define PCNT_DATE_S 0 - - - - -#endif /*_SOC_PCNT_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_PCNT_REG_H_ +#define _SOC_PCNT_REG_H_ + + +#include "soc.h" +#define PCNT_U0_CONF0_REG (DR_REG_PCNT_BASE + 0x0000) +/* PCNT_CH1_LCTRL_MODE_U0 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's low control + signal for unit0. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_LCTRL_MODE_U0 0x00000003 +#define PCNT_CH1_LCTRL_MODE_U0_M ((PCNT_CH1_LCTRL_MODE_U0_V)<<(PCNT_CH1_LCTRL_MODE_U0_S)) +#define PCNT_CH1_LCTRL_MODE_U0_V 0x3 +#define PCNT_CH1_LCTRL_MODE_U0_S 30 +/* PCNT_CH1_HCTRL_MODE_U0 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's high + control signal for unit0. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_HCTRL_MODE_U0 0x00000003 +#define PCNT_CH1_HCTRL_MODE_U0_M ((PCNT_CH1_HCTRL_MODE_U0_V)<<(PCNT_CH1_HCTRL_MODE_U0_S)) +#define PCNT_CH1_HCTRL_MODE_U0_V 0x3 +#define PCNT_CH1_HCTRL_MODE_U0_S 28 +/* PCNT_CH1_POS_MODE_U0 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + posedge signal for unit0. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH1_POS_MODE_U0 0x00000003 +#define PCNT_CH1_POS_MODE_U0_M ((PCNT_CH1_POS_MODE_U0_V)<<(PCNT_CH1_POS_MODE_U0_S)) +#define PCNT_CH1_POS_MODE_U0_V 0x3 +#define PCNT_CH1_POS_MODE_U0_S 26 +/* PCNT_CH1_NEG_MODE_U0 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + negedge signal for unit0. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH1_NEG_MODE_U0 0x00000003 +#define PCNT_CH1_NEG_MODE_U0_M ((PCNT_CH1_NEG_MODE_U0_V)<<(PCNT_CH1_NEG_MODE_U0_S)) +#define PCNT_CH1_NEG_MODE_U0_V 0x3 +#define PCNT_CH1_NEG_MODE_U0_S 24 +/* PCNT_CH0_LCTRL_MODE_U0 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's low control + signal for unit0. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_LCTRL_MODE_U0 0x00000003 +#define PCNT_CH0_LCTRL_MODE_U0_M ((PCNT_CH0_LCTRL_MODE_U0_V)<<(PCNT_CH0_LCTRL_MODE_U0_S)) +#define PCNT_CH0_LCTRL_MODE_U0_V 0x3 +#define PCNT_CH0_LCTRL_MODE_U0_S 22 +/* PCNT_CH0_HCTRL_MODE_U0 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's high + control signal for unit0. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_HCTRL_MODE_U0 0x00000003 +#define PCNT_CH0_HCTRL_MODE_U0_M ((PCNT_CH0_HCTRL_MODE_U0_V)<<(PCNT_CH0_HCTRL_MODE_U0_S)) +#define PCNT_CH0_HCTRL_MODE_U0_V 0x3 +#define PCNT_CH0_HCTRL_MODE_U0_S 20 +/* PCNT_CH0_POS_MODE_U0 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + posedge signal for unit0. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH0_POS_MODE_U0 0x00000003 +#define PCNT_CH0_POS_MODE_U0_M ((PCNT_CH0_POS_MODE_U0_V)<<(PCNT_CH0_POS_MODE_U0_S)) +#define PCNT_CH0_POS_MODE_U0_V 0x3 +#define PCNT_CH0_POS_MODE_U0_S 18 +/* PCNT_CH0_NEG_MODE_U0 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + negedge signal for unit0. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH0_NEG_MODE_U0 0x00000003 +#define PCNT_CH0_NEG_MODE_U0_M ((PCNT_CH0_NEG_MODE_U0_V)<<(PCNT_CH0_NEG_MODE_U0_S)) +#define PCNT_CH0_NEG_MODE_U0_V 0x3 +#define PCNT_CH0_NEG_MODE_U0_S 16 +/* PCNT_THR_THRES1_EN_U0 : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit0's count with thres1 value .*/ +#define PCNT_THR_THRES1_EN_U0 (BIT(15)) +#define PCNT_THR_THRES1_EN_U0_M (BIT(15)) +#define PCNT_THR_THRES1_EN_U0_V 0x1 +#define PCNT_THR_THRES1_EN_U0_S 15 +/* PCNT_THR_THRES0_EN_U0 : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit0's count with thres0 value.*/ +#define PCNT_THR_THRES0_EN_U0 (BIT(14)) +#define PCNT_THR_THRES0_EN_U0_M (BIT(14)) +#define PCNT_THR_THRES0_EN_U0_V 0x1 +#define PCNT_THR_THRES0_EN_U0_S 14 +/* PCNT_THR_L_LIM_EN_U0 : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit0's count with thr_l_lim value.*/ +#define PCNT_THR_L_LIM_EN_U0 (BIT(13)) +#define PCNT_THR_L_LIM_EN_U0_M (BIT(13)) +#define PCNT_THR_L_LIM_EN_U0_V 0x1 +#define PCNT_THR_L_LIM_EN_U0_S 13 +/* PCNT_THR_H_LIM_EN_U0 : R/W ;bitpos:[12] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit0's count with thr_h_lim value.*/ +#define PCNT_THR_H_LIM_EN_U0 (BIT(12)) +#define PCNT_THR_H_LIM_EN_U0_M (BIT(12)) +#define PCNT_THR_H_LIM_EN_U0_V 0x1 +#define PCNT_THR_H_LIM_EN_U0_S 12 +/* PCNT_THR_ZERO_EN_U0 : R/W ;bitpos:[11] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit0's count with 0 value.*/ +#define PCNT_THR_ZERO_EN_U0 (BIT(11)) +#define PCNT_THR_ZERO_EN_U0_M (BIT(11)) +#define PCNT_THR_ZERO_EN_U0_V 0x1 +#define PCNT_THR_ZERO_EN_U0_S 11 +/* PCNT_FILTER_EN_U0 : R/W ;bitpos:[10] ;default: 1'b1 ; */ +/*description: This is the enable bit for filtering input signals for unit0.*/ +#define PCNT_FILTER_EN_U0 (BIT(10)) +#define PCNT_FILTER_EN_U0_M (BIT(10)) +#define PCNT_FILTER_EN_U0_V 0x1 +#define PCNT_FILTER_EN_U0_S 10 +/* PCNT_FILTER_THRES_U0 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ +/*description: This register is used to filter pluse whose width is smaller + than this value for unit0.*/ +#define PCNT_FILTER_THRES_U0 0x000003FF +#define PCNT_FILTER_THRES_U0_M ((PCNT_FILTER_THRES_U0_V)<<(PCNT_FILTER_THRES_U0_S)) +#define PCNT_FILTER_THRES_U0_V 0x3FF +#define PCNT_FILTER_THRES_U0_S 0 + +#define PCNT_U0_CONF1_REG (DR_REG_PCNT_BASE + 0x0004) +/* PCNT_CNT_THRES1_U0 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to configure thres1 value for unit0.*/ +#define PCNT_CNT_THRES1_U0 0x0000FFFF +#define PCNT_CNT_THRES1_U0_M ((PCNT_CNT_THRES1_U0_V)<<(PCNT_CNT_THRES1_U0_S)) +#define PCNT_CNT_THRES1_U0_V 0xFFFF +#define PCNT_CNT_THRES1_U0_S 16 +/* PCNT_CNT_THRES0_U0 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thres0 value for unit0.*/ +#define PCNT_CNT_THRES0_U0 0x0000FFFF +#define PCNT_CNT_THRES0_U0_M ((PCNT_CNT_THRES0_U0_V)<<(PCNT_CNT_THRES0_U0_S)) +#define PCNT_CNT_THRES0_U0_V 0xFFFF +#define PCNT_CNT_THRES0_U0_S 0 + +#define PCNT_U0_CONF2_REG (DR_REG_PCNT_BASE + 0x0008) +/* PCNT_CNT_L_LIM_U0 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to confiugre thr_l_lim value for unit0.*/ +#define PCNT_CNT_L_LIM_U0 0x0000FFFF +#define PCNT_CNT_L_LIM_U0_M ((PCNT_CNT_L_LIM_U0_V)<<(PCNT_CNT_L_LIM_U0_S)) +#define PCNT_CNT_L_LIM_U0_V 0xFFFF +#define PCNT_CNT_L_LIM_U0_S 16 +/* PCNT_CNT_H_LIM_U0 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thr_h_lim value for unit0.*/ +#define PCNT_CNT_H_LIM_U0 0x0000FFFF +#define PCNT_CNT_H_LIM_U0_M ((PCNT_CNT_H_LIM_U0_V)<<(PCNT_CNT_H_LIM_U0_S)) +#define PCNT_CNT_H_LIM_U0_V 0xFFFF +#define PCNT_CNT_H_LIM_U0_S 0 + +#define PCNT_U1_CONF0_REG (DR_REG_PCNT_BASE + 0x000c) +/* PCNT_CH1_LCTRL_MODE_U1 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's low control + signal for unit1. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_LCTRL_MODE_U1 0x00000003 +#define PCNT_CH1_LCTRL_MODE_U1_M ((PCNT_CH1_LCTRL_MODE_U1_V)<<(PCNT_CH1_LCTRL_MODE_U1_S)) +#define PCNT_CH1_LCTRL_MODE_U1_V 0x3 +#define PCNT_CH1_LCTRL_MODE_U1_S 30 +/* PCNT_CH1_HCTRL_MODE_U1 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's high + control signal for unit1. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_HCTRL_MODE_U1 0x00000003 +#define PCNT_CH1_HCTRL_MODE_U1_M ((PCNT_CH1_HCTRL_MODE_U1_V)<<(PCNT_CH1_HCTRL_MODE_U1_S)) +#define PCNT_CH1_HCTRL_MODE_U1_V 0x3 +#define PCNT_CH1_HCTRL_MODE_U1_S 28 +/* PCNT_CH1_POS_MODE_U1 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + posedge signal for unit1. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH1_POS_MODE_U1 0x00000003 +#define PCNT_CH1_POS_MODE_U1_M ((PCNT_CH1_POS_MODE_U1_V)<<(PCNT_CH1_POS_MODE_U1_S)) +#define PCNT_CH1_POS_MODE_U1_V 0x3 +#define PCNT_CH1_POS_MODE_U1_S 26 +/* PCNT_CH1_NEG_MODE_U1 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + negedge signal for unit1. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH1_NEG_MODE_U1 0x00000003 +#define PCNT_CH1_NEG_MODE_U1_M ((PCNT_CH1_NEG_MODE_U1_V)<<(PCNT_CH1_NEG_MODE_U1_S)) +#define PCNT_CH1_NEG_MODE_U1_V 0x3 +#define PCNT_CH1_NEG_MODE_U1_S 24 +/* PCNT_CH0_LCTRL_MODE_U1 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's low control + signal for unit1. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_LCTRL_MODE_U1 0x00000003 +#define PCNT_CH0_LCTRL_MODE_U1_M ((PCNT_CH0_LCTRL_MODE_U1_V)<<(PCNT_CH0_LCTRL_MODE_U1_S)) +#define PCNT_CH0_LCTRL_MODE_U1_V 0x3 +#define PCNT_CH0_LCTRL_MODE_U1_S 22 +/* PCNT_CH0_HCTRL_MODE_U1 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's high + control signal for unit1. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_HCTRL_MODE_U1 0x00000003 +#define PCNT_CH0_HCTRL_MODE_U1_M ((PCNT_CH0_HCTRL_MODE_U1_V)<<(PCNT_CH0_HCTRL_MODE_U1_S)) +#define PCNT_CH0_HCTRL_MODE_U1_V 0x3 +#define PCNT_CH0_HCTRL_MODE_U1_S 20 +/* PCNT_CH0_POS_MODE_U1 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + posedge signal for unit1. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH0_POS_MODE_U1 0x00000003 +#define PCNT_CH0_POS_MODE_U1_M ((PCNT_CH0_POS_MODE_U1_V)<<(PCNT_CH0_POS_MODE_U1_S)) +#define PCNT_CH0_POS_MODE_U1_V 0x3 +#define PCNT_CH0_POS_MODE_U1_S 18 +/* PCNT_CH0_NEG_MODE_U1 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + negedge signal for unit1. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH0_NEG_MODE_U1 0x00000003 +#define PCNT_CH0_NEG_MODE_U1_M ((PCNT_CH0_NEG_MODE_U1_V)<<(PCNT_CH0_NEG_MODE_U1_S)) +#define PCNT_CH0_NEG_MODE_U1_V 0x3 +#define PCNT_CH0_NEG_MODE_U1_S 16 +/* PCNT_THR_THRES1_EN_U1 : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit1's count with thres1 value .*/ +#define PCNT_THR_THRES1_EN_U1 (BIT(15)) +#define PCNT_THR_THRES1_EN_U1_M (BIT(15)) +#define PCNT_THR_THRES1_EN_U1_V 0x1 +#define PCNT_THR_THRES1_EN_U1_S 15 +/* PCNT_THR_THRES0_EN_U1 : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit1's count with thres0 value.*/ +#define PCNT_THR_THRES0_EN_U1 (BIT(14)) +#define PCNT_THR_THRES0_EN_U1_M (BIT(14)) +#define PCNT_THR_THRES0_EN_U1_V 0x1 +#define PCNT_THR_THRES0_EN_U1_S 14 +/* PCNT_THR_L_LIM_EN_U1 : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit1's count with thr_l_lim value.*/ +#define PCNT_THR_L_LIM_EN_U1 (BIT(13)) +#define PCNT_THR_L_LIM_EN_U1_M (BIT(13)) +#define PCNT_THR_L_LIM_EN_U1_V 0x1 +#define PCNT_THR_L_LIM_EN_U1_S 13 +/* PCNT_THR_H_LIM_EN_U1 : R/W ;bitpos:[12] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit1's count with thr_h_lim value.*/ +#define PCNT_THR_H_LIM_EN_U1 (BIT(12)) +#define PCNT_THR_H_LIM_EN_U1_M (BIT(12)) +#define PCNT_THR_H_LIM_EN_U1_V 0x1 +#define PCNT_THR_H_LIM_EN_U1_S 12 +/* PCNT_THR_ZERO_EN_U1 : R/W ;bitpos:[11] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit1's count with 0 value.*/ +#define PCNT_THR_ZERO_EN_U1 (BIT(11)) +#define PCNT_THR_ZERO_EN_U1_M (BIT(11)) +#define PCNT_THR_ZERO_EN_U1_V 0x1 +#define PCNT_THR_ZERO_EN_U1_S 11 +/* PCNT_FILTER_EN_U1 : R/W ;bitpos:[10] ;default: 1'b1 ; */ +/*description: This is the enable bit for filtering input signals for unit1.*/ +#define PCNT_FILTER_EN_U1 (BIT(10)) +#define PCNT_FILTER_EN_U1_M (BIT(10)) +#define PCNT_FILTER_EN_U1_V 0x1 +#define PCNT_FILTER_EN_U1_S 10 +/* PCNT_FILTER_THRES_U1 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ +/*description: This register is used to filter pluse whose width is smaller + than this value for unit1.*/ +#define PCNT_FILTER_THRES_U1 0x000003FF +#define PCNT_FILTER_THRES_U1_M ((PCNT_FILTER_THRES_U1_V)<<(PCNT_FILTER_THRES_U1_S)) +#define PCNT_FILTER_THRES_U1_V 0x3FF +#define PCNT_FILTER_THRES_U1_S 0 + +#define PCNT_U1_CONF1_REG (DR_REG_PCNT_BASE + 0x0010) +/* PCNT_CNT_THRES1_U1 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to configure thres1 value for unit1.*/ +#define PCNT_CNT_THRES1_U1 0x0000FFFF +#define PCNT_CNT_THRES1_U1_M ((PCNT_CNT_THRES1_U1_V)<<(PCNT_CNT_THRES1_U1_S)) +#define PCNT_CNT_THRES1_U1_V 0xFFFF +#define PCNT_CNT_THRES1_U1_S 16 +/* PCNT_CNT_THRES0_U1 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thres0 value for unit1.*/ +#define PCNT_CNT_THRES0_U1 0x0000FFFF +#define PCNT_CNT_THRES0_U1_M ((PCNT_CNT_THRES0_U1_V)<<(PCNT_CNT_THRES0_U1_S)) +#define PCNT_CNT_THRES0_U1_V 0xFFFF +#define PCNT_CNT_THRES0_U1_S 0 + +#define PCNT_U1_CONF2_REG (DR_REG_PCNT_BASE + 0x0014) +/* PCNT_CNT_L_LIM_U1 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to confiugre thr_l_lim value for unit1.*/ +#define PCNT_CNT_L_LIM_U1 0x0000FFFF +#define PCNT_CNT_L_LIM_U1_M ((PCNT_CNT_L_LIM_U1_V)<<(PCNT_CNT_L_LIM_U1_S)) +#define PCNT_CNT_L_LIM_U1_V 0xFFFF +#define PCNT_CNT_L_LIM_U1_S 16 +/* PCNT_CNT_H_LIM_U1 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thr_h_lim value for unit1.*/ +#define PCNT_CNT_H_LIM_U1 0x0000FFFF +#define PCNT_CNT_H_LIM_U1_M ((PCNT_CNT_H_LIM_U1_V)<<(PCNT_CNT_H_LIM_U1_S)) +#define PCNT_CNT_H_LIM_U1_V 0xFFFF +#define PCNT_CNT_H_LIM_U1_S 0 + +#define PCNT_U2_CONF0_REG (DR_REG_PCNT_BASE + 0x0018) +/* PCNT_CH1_LCTRL_MODE_U2 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's low control + signal for unit2. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_LCTRL_MODE_U2 0x00000003 +#define PCNT_CH1_LCTRL_MODE_U2_M ((PCNT_CH1_LCTRL_MODE_U2_V)<<(PCNT_CH1_LCTRL_MODE_U2_S)) +#define PCNT_CH1_LCTRL_MODE_U2_V 0x3 +#define PCNT_CH1_LCTRL_MODE_U2_S 30 +/* PCNT_CH1_HCTRL_MODE_U2 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's high + control signal for unit2. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_HCTRL_MODE_U2 0x00000003 +#define PCNT_CH1_HCTRL_MODE_U2_M ((PCNT_CH1_HCTRL_MODE_U2_V)<<(PCNT_CH1_HCTRL_MODE_U2_S)) +#define PCNT_CH1_HCTRL_MODE_U2_V 0x3 +#define PCNT_CH1_HCTRL_MODE_U2_S 28 +/* PCNT_CH1_POS_MODE_U2 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + posedge signal for unit2. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH1_POS_MODE_U2 0x00000003 +#define PCNT_CH1_POS_MODE_U2_M ((PCNT_CH1_POS_MODE_U2_V)<<(PCNT_CH1_POS_MODE_U2_S)) +#define PCNT_CH1_POS_MODE_U2_V 0x3 +#define PCNT_CH1_POS_MODE_U2_S 26 +/* PCNT_CH1_NEG_MODE_U2 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + negedge signal for unit2. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH1_NEG_MODE_U2 0x00000003 +#define PCNT_CH1_NEG_MODE_U2_M ((PCNT_CH1_NEG_MODE_U2_V)<<(PCNT_CH1_NEG_MODE_U2_S)) +#define PCNT_CH1_NEG_MODE_U2_V 0x3 +#define PCNT_CH1_NEG_MODE_U2_S 24 +/* PCNT_CH0_LCTRL_MODE_U2 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's low control + signal for unit2. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_LCTRL_MODE_U2 0x00000003 +#define PCNT_CH0_LCTRL_MODE_U2_M ((PCNT_CH0_LCTRL_MODE_U2_V)<<(PCNT_CH0_LCTRL_MODE_U2_S)) +#define PCNT_CH0_LCTRL_MODE_U2_V 0x3 +#define PCNT_CH0_LCTRL_MODE_U2_S 22 +/* PCNT_CH0_HCTRL_MODE_U2 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's high + control signal for unit2. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_HCTRL_MODE_U2 0x00000003 +#define PCNT_CH0_HCTRL_MODE_U2_M ((PCNT_CH0_HCTRL_MODE_U2_V)<<(PCNT_CH0_HCTRL_MODE_U2_S)) +#define PCNT_CH0_HCTRL_MODE_U2_V 0x3 +#define PCNT_CH0_HCTRL_MODE_U2_S 20 +/* PCNT_CH0_POS_MODE_U2 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + posedge signal for unit2. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH0_POS_MODE_U2 0x00000003 +#define PCNT_CH0_POS_MODE_U2_M ((PCNT_CH0_POS_MODE_U2_V)<<(PCNT_CH0_POS_MODE_U2_S)) +#define PCNT_CH0_POS_MODE_U2_V 0x3 +#define PCNT_CH0_POS_MODE_U2_S 18 +/* PCNT_CH0_NEG_MODE_U2 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + negedge signal for unit2. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH0_NEG_MODE_U2 0x00000003 +#define PCNT_CH0_NEG_MODE_U2_M ((PCNT_CH0_NEG_MODE_U2_V)<<(PCNT_CH0_NEG_MODE_U2_S)) +#define PCNT_CH0_NEG_MODE_U2_V 0x3 +#define PCNT_CH0_NEG_MODE_U2_S 16 +/* PCNT_THR_THRES1_EN_U2 : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit2's count with thres1 value .*/ +#define PCNT_THR_THRES1_EN_U2 (BIT(15)) +#define PCNT_THR_THRES1_EN_U2_M (BIT(15)) +#define PCNT_THR_THRES1_EN_U2_V 0x1 +#define PCNT_THR_THRES1_EN_U2_S 15 +/* PCNT_THR_THRES0_EN_U2 : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit2's count with thres0 value.*/ +#define PCNT_THR_THRES0_EN_U2 (BIT(14)) +#define PCNT_THR_THRES0_EN_U2_M (BIT(14)) +#define PCNT_THR_THRES0_EN_U2_V 0x1 +#define PCNT_THR_THRES0_EN_U2_S 14 +/* PCNT_THR_L_LIM_EN_U2 : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit2's count with thr_l_lim value.*/ +#define PCNT_THR_L_LIM_EN_U2 (BIT(13)) +#define PCNT_THR_L_LIM_EN_U2_M (BIT(13)) +#define PCNT_THR_L_LIM_EN_U2_V 0x1 +#define PCNT_THR_L_LIM_EN_U2_S 13 +/* PCNT_THR_H_LIM_EN_U2 : R/W ;bitpos:[12] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit2's count with thr_h_lim value.*/ +#define PCNT_THR_H_LIM_EN_U2 (BIT(12)) +#define PCNT_THR_H_LIM_EN_U2_M (BIT(12)) +#define PCNT_THR_H_LIM_EN_U2_V 0x1 +#define PCNT_THR_H_LIM_EN_U2_S 12 +/* PCNT_THR_ZERO_EN_U2 : R/W ;bitpos:[11] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit2's count with 0 value.*/ +#define PCNT_THR_ZERO_EN_U2 (BIT(11)) +#define PCNT_THR_ZERO_EN_U2_M (BIT(11)) +#define PCNT_THR_ZERO_EN_U2_V 0x1 +#define PCNT_THR_ZERO_EN_U2_S 11 +/* PCNT_FILTER_EN_U2 : R/W ;bitpos:[10] ;default: 1'b1 ; */ +/*description: This is the enable bit for filtering input signals for unit2.*/ +#define PCNT_FILTER_EN_U2 (BIT(10)) +#define PCNT_FILTER_EN_U2_M (BIT(10)) +#define PCNT_FILTER_EN_U2_V 0x1 +#define PCNT_FILTER_EN_U2_S 10 +/* PCNT_FILTER_THRES_U2 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ +/*description: This register is used to filter pluse whose width is smaller + than this value for unit2.*/ +#define PCNT_FILTER_THRES_U2 0x000003FF +#define PCNT_FILTER_THRES_U2_M ((PCNT_FILTER_THRES_U2_V)<<(PCNT_FILTER_THRES_U2_S)) +#define PCNT_FILTER_THRES_U2_V 0x3FF +#define PCNT_FILTER_THRES_U2_S 0 + +#define PCNT_U2_CONF1_REG (DR_REG_PCNT_BASE + 0x001c) +/* PCNT_CNT_THRES1_U2 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to configure thres1 value for unit2.*/ +#define PCNT_CNT_THRES1_U2 0x0000FFFF +#define PCNT_CNT_THRES1_U2_M ((PCNT_CNT_THRES1_U2_V)<<(PCNT_CNT_THRES1_U2_S)) +#define PCNT_CNT_THRES1_U2_V 0xFFFF +#define PCNT_CNT_THRES1_U2_S 16 +/* PCNT_CNT_THRES0_U2 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thres0 value for unit2.*/ +#define PCNT_CNT_THRES0_U2 0x0000FFFF +#define PCNT_CNT_THRES0_U2_M ((PCNT_CNT_THRES0_U2_V)<<(PCNT_CNT_THRES0_U2_S)) +#define PCNT_CNT_THRES0_U2_V 0xFFFF +#define PCNT_CNT_THRES0_U2_S 0 + +#define PCNT_U2_CONF2_REG (DR_REG_PCNT_BASE + 0x0020) +/* PCNT_CNT_L_LIM_U2 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to confiugre thr_l_lim value for unit2.*/ +#define PCNT_CNT_L_LIM_U2 0x0000FFFF +#define PCNT_CNT_L_LIM_U2_M ((PCNT_CNT_L_LIM_U2_V)<<(PCNT_CNT_L_LIM_U2_S)) +#define PCNT_CNT_L_LIM_U2_V 0xFFFF +#define PCNT_CNT_L_LIM_U2_S 16 +/* PCNT_CNT_H_LIM_U2 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thr_h_lim value for unit2.*/ +#define PCNT_CNT_H_LIM_U2 0x0000FFFF +#define PCNT_CNT_H_LIM_U2_M ((PCNT_CNT_H_LIM_U2_V)<<(PCNT_CNT_H_LIM_U2_S)) +#define PCNT_CNT_H_LIM_U2_V 0xFFFF +#define PCNT_CNT_H_LIM_U2_S 0 + +#define PCNT_U3_CONF0_REG (DR_REG_PCNT_BASE + 0x0024) +/* PCNT_CH1_LCTRL_MODE_U3 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's low control + signal for unit3. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_LCTRL_MODE_U3 0x00000003 +#define PCNT_CH1_LCTRL_MODE_U3_M ((PCNT_CH1_LCTRL_MODE_U3_V)<<(PCNT_CH1_LCTRL_MODE_U3_S)) +#define PCNT_CH1_LCTRL_MODE_U3_V 0x3 +#define PCNT_CH1_LCTRL_MODE_U3_S 30 +/* PCNT_CH1_HCTRL_MODE_U3 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's high + control signal for unit3. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_HCTRL_MODE_U3 0x00000003 +#define PCNT_CH1_HCTRL_MODE_U3_M ((PCNT_CH1_HCTRL_MODE_U3_V)<<(PCNT_CH1_HCTRL_MODE_U3_S)) +#define PCNT_CH1_HCTRL_MODE_U3_V 0x3 +#define PCNT_CH1_HCTRL_MODE_U3_S 28 +/* PCNT_CH1_POS_MODE_U3 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + posedge signal for unit3. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH1_POS_MODE_U3 0x00000003 +#define PCNT_CH1_POS_MODE_U3_M ((PCNT_CH1_POS_MODE_U3_V)<<(PCNT_CH1_POS_MODE_U3_S)) +#define PCNT_CH1_POS_MODE_U3_V 0x3 +#define PCNT_CH1_POS_MODE_U3_S 26 +/* PCNT_CH1_NEG_MODE_U3 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + negedge signal for unit3. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH1_NEG_MODE_U3 0x00000003 +#define PCNT_CH1_NEG_MODE_U3_M ((PCNT_CH1_NEG_MODE_U3_V)<<(PCNT_CH1_NEG_MODE_U3_S)) +#define PCNT_CH1_NEG_MODE_U3_V 0x3 +#define PCNT_CH1_NEG_MODE_U3_S 24 +/* PCNT_CH0_LCTRL_MODE_U3 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's low control + signal for unit3. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_LCTRL_MODE_U3 0x00000003 +#define PCNT_CH0_LCTRL_MODE_U3_M ((PCNT_CH0_LCTRL_MODE_U3_V)<<(PCNT_CH0_LCTRL_MODE_U3_S)) +#define PCNT_CH0_LCTRL_MODE_U3_V 0x3 +#define PCNT_CH0_LCTRL_MODE_U3_S 22 +/* PCNT_CH0_HCTRL_MODE_U3 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's high + control signal for unit3. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_HCTRL_MODE_U3 0x00000003 +#define PCNT_CH0_HCTRL_MODE_U3_M ((PCNT_CH0_HCTRL_MODE_U3_V)<<(PCNT_CH0_HCTRL_MODE_U3_S)) +#define PCNT_CH0_HCTRL_MODE_U3_V 0x3 +#define PCNT_CH0_HCTRL_MODE_U3_S 20 +/* PCNT_CH0_POS_MODE_U3 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + posedge signal for unit3. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH0_POS_MODE_U3 0x00000003 +#define PCNT_CH0_POS_MODE_U3_M ((PCNT_CH0_POS_MODE_U3_V)<<(PCNT_CH0_POS_MODE_U3_S)) +#define PCNT_CH0_POS_MODE_U3_V 0x3 +#define PCNT_CH0_POS_MODE_U3_S 18 +/* PCNT_CH0_NEG_MODE_U3 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + negedge signal for unit3. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH0_NEG_MODE_U3 0x00000003 +#define PCNT_CH0_NEG_MODE_U3_M ((PCNT_CH0_NEG_MODE_U3_V)<<(PCNT_CH0_NEG_MODE_U3_S)) +#define PCNT_CH0_NEG_MODE_U3_V 0x3 +#define PCNT_CH0_NEG_MODE_U3_S 16 +/* PCNT_THR_THRES1_EN_U3 : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit3's count with thres1 value .*/ +#define PCNT_THR_THRES1_EN_U3 (BIT(15)) +#define PCNT_THR_THRES1_EN_U3_M (BIT(15)) +#define PCNT_THR_THRES1_EN_U3_V 0x1 +#define PCNT_THR_THRES1_EN_U3_S 15 +/* PCNT_THR_THRES0_EN_U3 : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit3's count with thres0 value.*/ +#define PCNT_THR_THRES0_EN_U3 (BIT(14)) +#define PCNT_THR_THRES0_EN_U3_M (BIT(14)) +#define PCNT_THR_THRES0_EN_U3_V 0x1 +#define PCNT_THR_THRES0_EN_U3_S 14 +/* PCNT_THR_L_LIM_EN_U3 : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit3's count with thr_l_lim value.*/ +#define PCNT_THR_L_LIM_EN_U3 (BIT(13)) +#define PCNT_THR_L_LIM_EN_U3_M (BIT(13)) +#define PCNT_THR_L_LIM_EN_U3_V 0x1 +#define PCNT_THR_L_LIM_EN_U3_S 13 +/* PCNT_THR_H_LIM_EN_U3 : R/W ;bitpos:[12] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit3's count with thr_h_lim value.*/ +#define PCNT_THR_H_LIM_EN_U3 (BIT(12)) +#define PCNT_THR_H_LIM_EN_U3_M (BIT(12)) +#define PCNT_THR_H_LIM_EN_U3_V 0x1 +#define PCNT_THR_H_LIM_EN_U3_S 12 +/* PCNT_THR_ZERO_EN_U3 : R/W ;bitpos:[11] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit3's count with 0 value.*/ +#define PCNT_THR_ZERO_EN_U3 (BIT(11)) +#define PCNT_THR_ZERO_EN_U3_M (BIT(11)) +#define PCNT_THR_ZERO_EN_U3_V 0x1 +#define PCNT_THR_ZERO_EN_U3_S 11 +/* PCNT_FILTER_EN_U3 : R/W ;bitpos:[10] ;default: 1'b1 ; */ +/*description: This is the enable bit for filtering input signals for unit3.*/ +#define PCNT_FILTER_EN_U3 (BIT(10)) +#define PCNT_FILTER_EN_U3_M (BIT(10)) +#define PCNT_FILTER_EN_U3_V 0x1 +#define PCNT_FILTER_EN_U3_S 10 +/* PCNT_FILTER_THRES_U3 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ +/*description: This register is used to filter pluse whose width is smaller + than this value for unit3.*/ +#define PCNT_FILTER_THRES_U3 0x000003FF +#define PCNT_FILTER_THRES_U3_M ((PCNT_FILTER_THRES_U3_V)<<(PCNT_FILTER_THRES_U3_S)) +#define PCNT_FILTER_THRES_U3_V 0x3FF +#define PCNT_FILTER_THRES_U3_S 0 + +#define PCNT_U3_CONF1_REG (DR_REG_PCNT_BASE + 0x0028) +/* PCNT_CNT_THRES1_U3 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to configure thres1 value for unit3.*/ +#define PCNT_CNT_THRES1_U3 0x0000FFFF +#define PCNT_CNT_THRES1_U3_M ((PCNT_CNT_THRES1_U3_V)<<(PCNT_CNT_THRES1_U3_S)) +#define PCNT_CNT_THRES1_U3_V 0xFFFF +#define PCNT_CNT_THRES1_U3_S 16 +/* PCNT_CNT_THRES0_U3 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thres0 value for unit3.*/ +#define PCNT_CNT_THRES0_U3 0x0000FFFF +#define PCNT_CNT_THRES0_U3_M ((PCNT_CNT_THRES0_U3_V)<<(PCNT_CNT_THRES0_U3_S)) +#define PCNT_CNT_THRES0_U3_V 0xFFFF +#define PCNT_CNT_THRES0_U3_S 0 + +#define PCNT_U3_CONF2_REG (DR_REG_PCNT_BASE + 0x002c) +/* PCNT_CNT_L_LIM_U3 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to confiugre thr_l_lim value for unit3.*/ +#define PCNT_CNT_L_LIM_U3 0x0000FFFF +#define PCNT_CNT_L_LIM_U3_M ((PCNT_CNT_L_LIM_U3_V)<<(PCNT_CNT_L_LIM_U3_S)) +#define PCNT_CNT_L_LIM_U3_V 0xFFFF +#define PCNT_CNT_L_LIM_U3_S 16 +/* PCNT_CNT_H_LIM_U3 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thr_h_lim value for unit3.*/ +#define PCNT_CNT_H_LIM_U3 0x0000FFFF +#define PCNT_CNT_H_LIM_U3_M ((PCNT_CNT_H_LIM_U3_V)<<(PCNT_CNT_H_LIM_U3_S)) +#define PCNT_CNT_H_LIM_U3_V 0xFFFF +#define PCNT_CNT_H_LIM_U3_S 0 + +#define PCNT_U4_CONF0_REG (DR_REG_PCNT_BASE + 0x0030) +/* PCNT_CH1_LCTRL_MODE_U4 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's low control + signal for unit4. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_LCTRL_MODE_U4 0x00000003 +#define PCNT_CH1_LCTRL_MODE_U4_M ((PCNT_CH1_LCTRL_MODE_U4_V)<<(PCNT_CH1_LCTRL_MODE_U4_S)) +#define PCNT_CH1_LCTRL_MODE_U4_V 0x3 +#define PCNT_CH1_LCTRL_MODE_U4_S 30 +/* PCNT_CH1_HCTRL_MODE_U4 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's high + control signal for unit4. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_HCTRL_MODE_U4 0x00000003 +#define PCNT_CH1_HCTRL_MODE_U4_M ((PCNT_CH1_HCTRL_MODE_U4_V)<<(PCNT_CH1_HCTRL_MODE_U4_S)) +#define PCNT_CH1_HCTRL_MODE_U4_V 0x3 +#define PCNT_CH1_HCTRL_MODE_U4_S 28 +/* PCNT_CH1_POS_MODE_U4 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + posedge signal for unit4. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH1_POS_MODE_U4 0x00000003 +#define PCNT_CH1_POS_MODE_U4_M ((PCNT_CH1_POS_MODE_U4_V)<<(PCNT_CH1_POS_MODE_U4_S)) +#define PCNT_CH1_POS_MODE_U4_V 0x3 +#define PCNT_CH1_POS_MODE_U4_S 26 +/* PCNT_CH1_NEG_MODE_U4 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + negedge signal for unit4. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH1_NEG_MODE_U4 0x00000003 +#define PCNT_CH1_NEG_MODE_U4_M ((PCNT_CH1_NEG_MODE_U4_V)<<(PCNT_CH1_NEG_MODE_U4_S)) +#define PCNT_CH1_NEG_MODE_U4_V 0x3 +#define PCNT_CH1_NEG_MODE_U4_S 24 +/* PCNT_CH0_LCTRL_MODE_U4 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's low control + signal for unit4. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_LCTRL_MODE_U4 0x00000003 +#define PCNT_CH0_LCTRL_MODE_U4_M ((PCNT_CH0_LCTRL_MODE_U4_V)<<(PCNT_CH0_LCTRL_MODE_U4_S)) +#define PCNT_CH0_LCTRL_MODE_U4_V 0x3 +#define PCNT_CH0_LCTRL_MODE_U4_S 22 +/* PCNT_CH0_HCTRL_MODE_U4 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's high + control signal for unit4. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_HCTRL_MODE_U4 0x00000003 +#define PCNT_CH0_HCTRL_MODE_U4_M ((PCNT_CH0_HCTRL_MODE_U4_V)<<(PCNT_CH0_HCTRL_MODE_U4_S)) +#define PCNT_CH0_HCTRL_MODE_U4_V 0x3 +#define PCNT_CH0_HCTRL_MODE_U4_S 20 +/* PCNT_CH0_POS_MODE_U4 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + posedge signal for unit4. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH0_POS_MODE_U4 0x00000003 +#define PCNT_CH0_POS_MODE_U4_M ((PCNT_CH0_POS_MODE_U4_V)<<(PCNT_CH0_POS_MODE_U4_S)) +#define PCNT_CH0_POS_MODE_U4_V 0x3 +#define PCNT_CH0_POS_MODE_U4_S 18 +/* PCNT_CH0_NEG_MODE_U4 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + negedge signal for unit4. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH0_NEG_MODE_U4 0x00000003 +#define PCNT_CH0_NEG_MODE_U4_M ((PCNT_CH0_NEG_MODE_U4_V)<<(PCNT_CH0_NEG_MODE_U4_S)) +#define PCNT_CH0_NEG_MODE_U4_V 0x3 +#define PCNT_CH0_NEG_MODE_U4_S 16 +/* PCNT_THR_THRES1_EN_U4 : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit4's count with thres1 value .*/ +#define PCNT_THR_THRES1_EN_U4 (BIT(15)) +#define PCNT_THR_THRES1_EN_U4_M (BIT(15)) +#define PCNT_THR_THRES1_EN_U4_V 0x1 +#define PCNT_THR_THRES1_EN_U4_S 15 +/* PCNT_THR_THRES0_EN_U4 : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit4's count with thres0 value.*/ +#define PCNT_THR_THRES0_EN_U4 (BIT(14)) +#define PCNT_THR_THRES0_EN_U4_M (BIT(14)) +#define PCNT_THR_THRES0_EN_U4_V 0x1 +#define PCNT_THR_THRES0_EN_U4_S 14 +/* PCNT_THR_L_LIM_EN_U4 : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit4's count with thr_l_lim value.*/ +#define PCNT_THR_L_LIM_EN_U4 (BIT(13)) +#define PCNT_THR_L_LIM_EN_U4_M (BIT(13)) +#define PCNT_THR_L_LIM_EN_U4_V 0x1 +#define PCNT_THR_L_LIM_EN_U4_S 13 +/* PCNT_THR_H_LIM_EN_U4 : R/W ;bitpos:[12] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit4's count with thr_h_lim value.*/ +#define PCNT_THR_H_LIM_EN_U4 (BIT(12)) +#define PCNT_THR_H_LIM_EN_U4_M (BIT(12)) +#define PCNT_THR_H_LIM_EN_U4_V 0x1 +#define PCNT_THR_H_LIM_EN_U4_S 12 +/* PCNT_THR_ZERO_EN_U4 : R/W ;bitpos:[11] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit4's count with 0 value.*/ +#define PCNT_THR_ZERO_EN_U4 (BIT(11)) +#define PCNT_THR_ZERO_EN_U4_M (BIT(11)) +#define PCNT_THR_ZERO_EN_U4_V 0x1 +#define PCNT_THR_ZERO_EN_U4_S 11 +/* PCNT_FILTER_EN_U4 : R/W ;bitpos:[10] ;default: 1'b1 ; */ +/*description: This is the enable bit for filtering input signals for unit4.*/ +#define PCNT_FILTER_EN_U4 (BIT(10)) +#define PCNT_FILTER_EN_U4_M (BIT(10)) +#define PCNT_FILTER_EN_U4_V 0x1 +#define PCNT_FILTER_EN_U4_S 10 +/* PCNT_FILTER_THRES_U4 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ +/*description: This register is used to filter pluse whose width is smaller + than this value for unit4.*/ +#define PCNT_FILTER_THRES_U4 0x000003FF +#define PCNT_FILTER_THRES_U4_M ((PCNT_FILTER_THRES_U4_V)<<(PCNT_FILTER_THRES_U4_S)) +#define PCNT_FILTER_THRES_U4_V 0x3FF +#define PCNT_FILTER_THRES_U4_S 0 + +#define PCNT_U4_CONF1_REG (DR_REG_PCNT_BASE + 0x0034) +/* PCNT_CNT_THRES1_U4 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to configure thres1 value for unit4.*/ +#define PCNT_CNT_THRES1_U4 0x0000FFFF +#define PCNT_CNT_THRES1_U4_M ((PCNT_CNT_THRES1_U4_V)<<(PCNT_CNT_THRES1_U4_S)) +#define PCNT_CNT_THRES1_U4_V 0xFFFF +#define PCNT_CNT_THRES1_U4_S 16 +/* PCNT_CNT_THRES0_U4 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thres0 value for unit4.*/ +#define PCNT_CNT_THRES0_U4 0x0000FFFF +#define PCNT_CNT_THRES0_U4_M ((PCNT_CNT_THRES0_U4_V)<<(PCNT_CNT_THRES0_U4_S)) +#define PCNT_CNT_THRES0_U4_V 0xFFFF +#define PCNT_CNT_THRES0_U4_S 0 + +#define PCNT_U4_CONF2_REG (DR_REG_PCNT_BASE + 0x0038) +/* PCNT_CNT_L_LIM_U4 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to confiugre thr_l_lim value for unit4.*/ +#define PCNT_CNT_L_LIM_U4 0x0000FFFF +#define PCNT_CNT_L_LIM_U4_M ((PCNT_CNT_L_LIM_U4_V)<<(PCNT_CNT_L_LIM_U4_S)) +#define PCNT_CNT_L_LIM_U4_V 0xFFFF +#define PCNT_CNT_L_LIM_U4_S 16 +/* PCNT_CNT_H_LIM_U4 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thr_h_lim value for unit4.*/ +#define PCNT_CNT_H_LIM_U4 0x0000FFFF +#define PCNT_CNT_H_LIM_U4_M ((PCNT_CNT_H_LIM_U4_V)<<(PCNT_CNT_H_LIM_U4_S)) +#define PCNT_CNT_H_LIM_U4_V 0xFFFF +#define PCNT_CNT_H_LIM_U4_S 0 + +#define PCNT_U5_CONF0_REG (DR_REG_PCNT_BASE + 0x003c) +/* PCNT_CH1_LCTRL_MODE_U5 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's low control + signal for unit5. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_LCTRL_MODE_U5 0x00000003 +#define PCNT_CH1_LCTRL_MODE_U5_M ((PCNT_CH1_LCTRL_MODE_U5_V)<<(PCNT_CH1_LCTRL_MODE_U5_S)) +#define PCNT_CH1_LCTRL_MODE_U5_V 0x3 +#define PCNT_CH1_LCTRL_MODE_U5_S 30 +/* PCNT_CH1_HCTRL_MODE_U5 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's high + control signal for unit5. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_HCTRL_MODE_U5 0x00000003 +#define PCNT_CH1_HCTRL_MODE_U5_M ((PCNT_CH1_HCTRL_MODE_U5_V)<<(PCNT_CH1_HCTRL_MODE_U5_S)) +#define PCNT_CH1_HCTRL_MODE_U5_V 0x3 +#define PCNT_CH1_HCTRL_MODE_U5_S 28 +/* PCNT_CH1_POS_MODE_U5 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + posedge signal for unit5. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH1_POS_MODE_U5 0x00000003 +#define PCNT_CH1_POS_MODE_U5_M ((PCNT_CH1_POS_MODE_U5_V)<<(PCNT_CH1_POS_MODE_U5_S)) +#define PCNT_CH1_POS_MODE_U5_V 0x3 +#define PCNT_CH1_POS_MODE_U5_S 26 +/* PCNT_CH1_NEG_MODE_U5 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + negedge signal for unit5. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH1_NEG_MODE_U5 0x00000003 +#define PCNT_CH1_NEG_MODE_U5_M ((PCNT_CH1_NEG_MODE_U5_V)<<(PCNT_CH1_NEG_MODE_U5_S)) +#define PCNT_CH1_NEG_MODE_U5_V 0x3 +#define PCNT_CH1_NEG_MODE_U5_S 24 +/* PCNT_CH0_LCTRL_MODE_U5 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's low control + signal for unit5. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_LCTRL_MODE_U5 0x00000003 +#define PCNT_CH0_LCTRL_MODE_U5_M ((PCNT_CH0_LCTRL_MODE_U5_V)<<(PCNT_CH0_LCTRL_MODE_U5_S)) +#define PCNT_CH0_LCTRL_MODE_U5_V 0x3 +#define PCNT_CH0_LCTRL_MODE_U5_S 22 +/* PCNT_CH0_HCTRL_MODE_U5 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's high + control signal for unit5. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_HCTRL_MODE_U5 0x00000003 +#define PCNT_CH0_HCTRL_MODE_U5_M ((PCNT_CH0_HCTRL_MODE_U5_V)<<(PCNT_CH0_HCTRL_MODE_U5_S)) +#define PCNT_CH0_HCTRL_MODE_U5_V 0x3 +#define PCNT_CH0_HCTRL_MODE_U5_S 20 +/* PCNT_CH0_POS_MODE_U5 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + posedge signal for unit5. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH0_POS_MODE_U5 0x00000003 +#define PCNT_CH0_POS_MODE_U5_M ((PCNT_CH0_POS_MODE_U5_V)<<(PCNT_CH0_POS_MODE_U5_S)) +#define PCNT_CH0_POS_MODE_U5_V 0x3 +#define PCNT_CH0_POS_MODE_U5_S 18 +/* PCNT_CH0_NEG_MODE_U5 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + negedge signal for unit5. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH0_NEG_MODE_U5 0x00000003 +#define PCNT_CH0_NEG_MODE_U5_M ((PCNT_CH0_NEG_MODE_U5_V)<<(PCNT_CH0_NEG_MODE_U5_S)) +#define PCNT_CH0_NEG_MODE_U5_V 0x3 +#define PCNT_CH0_NEG_MODE_U5_S 16 +/* PCNT_THR_THRES1_EN_U5 : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit5's count with thres1 value .*/ +#define PCNT_THR_THRES1_EN_U5 (BIT(15)) +#define PCNT_THR_THRES1_EN_U5_M (BIT(15)) +#define PCNT_THR_THRES1_EN_U5_V 0x1 +#define PCNT_THR_THRES1_EN_U5_S 15 +/* PCNT_THR_THRES0_EN_U5 : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit5's count with thres0 value.*/ +#define PCNT_THR_THRES0_EN_U5 (BIT(14)) +#define PCNT_THR_THRES0_EN_U5_M (BIT(14)) +#define PCNT_THR_THRES0_EN_U5_V 0x1 +#define PCNT_THR_THRES0_EN_U5_S 14 +/* PCNT_THR_L_LIM_EN_U5 : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit5's count with thr_l_lim value.*/ +#define PCNT_THR_L_LIM_EN_U5 (BIT(13)) +#define PCNT_THR_L_LIM_EN_U5_M (BIT(13)) +#define PCNT_THR_L_LIM_EN_U5_V 0x1 +#define PCNT_THR_L_LIM_EN_U5_S 13 +/* PCNT_THR_H_LIM_EN_U5 : R/W ;bitpos:[12] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit5's count with thr_h_lim value.*/ +#define PCNT_THR_H_LIM_EN_U5 (BIT(12)) +#define PCNT_THR_H_LIM_EN_U5_M (BIT(12)) +#define PCNT_THR_H_LIM_EN_U5_V 0x1 +#define PCNT_THR_H_LIM_EN_U5_S 12 +/* PCNT_THR_ZERO_EN_U5 : R/W ;bitpos:[11] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit5's count with 0 value.*/ +#define PCNT_THR_ZERO_EN_U5 (BIT(11)) +#define PCNT_THR_ZERO_EN_U5_M (BIT(11)) +#define PCNT_THR_ZERO_EN_U5_V 0x1 +#define PCNT_THR_ZERO_EN_U5_S 11 +/* PCNT_FILTER_EN_U5 : R/W ;bitpos:[10] ;default: 1'b1 ; */ +/*description: This is the enable bit for filtering input signals for unit5.*/ +#define PCNT_FILTER_EN_U5 (BIT(10)) +#define PCNT_FILTER_EN_U5_M (BIT(10)) +#define PCNT_FILTER_EN_U5_V 0x1 +#define PCNT_FILTER_EN_U5_S 10 +/* PCNT_FILTER_THRES_U5 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ +/*description: This register is used to filter pluse whose width is smaller + than this value for unit5.*/ +#define PCNT_FILTER_THRES_U5 0x000003FF +#define PCNT_FILTER_THRES_U5_M ((PCNT_FILTER_THRES_U5_V)<<(PCNT_FILTER_THRES_U5_S)) +#define PCNT_FILTER_THRES_U5_V 0x3FF +#define PCNT_FILTER_THRES_U5_S 0 + +#define PCNT_U5_CONF1_REG (DR_REG_PCNT_BASE + 0x0040) +/* PCNT_CNT_THRES1_U5 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to configure thres1 value for unit5.*/ +#define PCNT_CNT_THRES1_U5 0x0000FFFF +#define PCNT_CNT_THRES1_U5_M ((PCNT_CNT_THRES1_U5_V)<<(PCNT_CNT_THRES1_U5_S)) +#define PCNT_CNT_THRES1_U5_V 0xFFFF +#define PCNT_CNT_THRES1_U5_S 16 +/* PCNT_CNT_THRES0_U5 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thres0 value for unit5.*/ +#define PCNT_CNT_THRES0_U5 0x0000FFFF +#define PCNT_CNT_THRES0_U5_M ((PCNT_CNT_THRES0_U5_V)<<(PCNT_CNT_THRES0_U5_S)) +#define PCNT_CNT_THRES0_U5_V 0xFFFF +#define PCNT_CNT_THRES0_U5_S 0 + +#define PCNT_U5_CONF2_REG (DR_REG_PCNT_BASE + 0x0044) +/* PCNT_CNT_L_LIM_U5 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to confiugre thr_l_lim value for unit5.*/ +#define PCNT_CNT_L_LIM_U5 0x0000FFFF +#define PCNT_CNT_L_LIM_U5_M ((PCNT_CNT_L_LIM_U5_V)<<(PCNT_CNT_L_LIM_U5_S)) +#define PCNT_CNT_L_LIM_U5_V 0xFFFF +#define PCNT_CNT_L_LIM_U5_S 16 +/* PCNT_CNT_H_LIM_U5 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thr_h_lim value for unit5.*/ +#define PCNT_CNT_H_LIM_U5 0x0000FFFF +#define PCNT_CNT_H_LIM_U5_M ((PCNT_CNT_H_LIM_U5_V)<<(PCNT_CNT_H_LIM_U5_S)) +#define PCNT_CNT_H_LIM_U5_V 0xFFFF +#define PCNT_CNT_H_LIM_U5_S 0 + +#define PCNT_U6_CONF0_REG (DR_REG_PCNT_BASE + 0x0048) +/* PCNT_CH1_LCTRL_MODE_U6 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's low control + signal for unit6. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_LCTRL_MODE_U6 0x00000003 +#define PCNT_CH1_LCTRL_MODE_U6_M ((PCNT_CH1_LCTRL_MODE_U6_V)<<(PCNT_CH1_LCTRL_MODE_U6_S)) +#define PCNT_CH1_LCTRL_MODE_U6_V 0x3 +#define PCNT_CH1_LCTRL_MODE_U6_S 30 +/* PCNT_CH1_HCTRL_MODE_U6 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's high + control signal for unit6. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_HCTRL_MODE_U6 0x00000003 +#define PCNT_CH1_HCTRL_MODE_U6_M ((PCNT_CH1_HCTRL_MODE_U6_V)<<(PCNT_CH1_HCTRL_MODE_U6_S)) +#define PCNT_CH1_HCTRL_MODE_U6_V 0x3 +#define PCNT_CH1_HCTRL_MODE_U6_S 28 +/* PCNT_CH1_POS_MODE_U6 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + posedge signal for unit6. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH1_POS_MODE_U6 0x00000003 +#define PCNT_CH1_POS_MODE_U6_M ((PCNT_CH1_POS_MODE_U6_V)<<(PCNT_CH1_POS_MODE_U6_S)) +#define PCNT_CH1_POS_MODE_U6_V 0x3 +#define PCNT_CH1_POS_MODE_U6_S 26 +/* PCNT_CH1_NEG_MODE_U6 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + negedge signal for unit6. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH1_NEG_MODE_U6 0x00000003 +#define PCNT_CH1_NEG_MODE_U6_M ((PCNT_CH1_NEG_MODE_U6_V)<<(PCNT_CH1_NEG_MODE_U6_S)) +#define PCNT_CH1_NEG_MODE_U6_V 0x3 +#define PCNT_CH1_NEG_MODE_U6_S 24 +/* PCNT_CH0_LCTRL_MODE_U6 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's low control + signal for unit6. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_LCTRL_MODE_U6 0x00000003 +#define PCNT_CH0_LCTRL_MODE_U6_M ((PCNT_CH0_LCTRL_MODE_U6_V)<<(PCNT_CH0_LCTRL_MODE_U6_S)) +#define PCNT_CH0_LCTRL_MODE_U6_V 0x3 +#define PCNT_CH0_LCTRL_MODE_U6_S 22 +/* PCNT_CH0_HCTRL_MODE_U6 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's high + control signal for unit6. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_HCTRL_MODE_U6 0x00000003 +#define PCNT_CH0_HCTRL_MODE_U6_M ((PCNT_CH0_HCTRL_MODE_U6_V)<<(PCNT_CH0_HCTRL_MODE_U6_S)) +#define PCNT_CH0_HCTRL_MODE_U6_V 0x3 +#define PCNT_CH0_HCTRL_MODE_U6_S 20 +/* PCNT_CH0_POS_MODE_U6 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + posedge signal for unit6. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH0_POS_MODE_U6 0x00000003 +#define PCNT_CH0_POS_MODE_U6_M ((PCNT_CH0_POS_MODE_U6_V)<<(PCNT_CH0_POS_MODE_U6_S)) +#define PCNT_CH0_POS_MODE_U6_V 0x3 +#define PCNT_CH0_POS_MODE_U6_S 18 +/* PCNT_CH0_NEG_MODE_U6 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + negedge signal for unit6. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH0_NEG_MODE_U6 0x00000003 +#define PCNT_CH0_NEG_MODE_U6_M ((PCNT_CH0_NEG_MODE_U6_V)<<(PCNT_CH0_NEG_MODE_U6_S)) +#define PCNT_CH0_NEG_MODE_U6_V 0x3 +#define PCNT_CH0_NEG_MODE_U6_S 16 +/* PCNT_THR_THRES1_EN_U6 : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit6's count with thres1 value .*/ +#define PCNT_THR_THRES1_EN_U6 (BIT(15)) +#define PCNT_THR_THRES1_EN_U6_M (BIT(15)) +#define PCNT_THR_THRES1_EN_U6_V 0x1 +#define PCNT_THR_THRES1_EN_U6_S 15 +/* PCNT_THR_THRES0_EN_U6 : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit6's count with thres0 value.*/ +#define PCNT_THR_THRES0_EN_U6 (BIT(14)) +#define PCNT_THR_THRES0_EN_U6_M (BIT(14)) +#define PCNT_THR_THRES0_EN_U6_V 0x1 +#define PCNT_THR_THRES0_EN_U6_S 14 +/* PCNT_THR_L_LIM_EN_U6 : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit6's count with thr_l_lim value.*/ +#define PCNT_THR_L_LIM_EN_U6 (BIT(13)) +#define PCNT_THR_L_LIM_EN_U6_M (BIT(13)) +#define PCNT_THR_L_LIM_EN_U6_V 0x1 +#define PCNT_THR_L_LIM_EN_U6_S 13 +/* PCNT_THR_H_LIM_EN_U6 : R/W ;bitpos:[12] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit6's count with thr_h_lim value.*/ +#define PCNT_THR_H_LIM_EN_U6 (BIT(12)) +#define PCNT_THR_H_LIM_EN_U6_M (BIT(12)) +#define PCNT_THR_H_LIM_EN_U6_V 0x1 +#define PCNT_THR_H_LIM_EN_U6_S 12 +/* PCNT_THR_ZERO_EN_U6 : R/W ;bitpos:[11] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit6's count with 0 value.*/ +#define PCNT_THR_ZERO_EN_U6 (BIT(11)) +#define PCNT_THR_ZERO_EN_U6_M (BIT(11)) +#define PCNT_THR_ZERO_EN_U6_V 0x1 +#define PCNT_THR_ZERO_EN_U6_S 11 +/* PCNT_FILTER_EN_U6 : R/W ;bitpos:[10] ;default: 1'b1 ; */ +/*description: This is the enable bit for filtering input signals for unit6.*/ +#define PCNT_FILTER_EN_U6 (BIT(10)) +#define PCNT_FILTER_EN_U6_M (BIT(10)) +#define PCNT_FILTER_EN_U6_V 0x1 +#define PCNT_FILTER_EN_U6_S 10 +/* PCNT_FILTER_THRES_U6 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ +/*description: This register is used to filter pluse whose width is smaller + than this value for unit6.*/ +#define PCNT_FILTER_THRES_U6 0x000003FF +#define PCNT_FILTER_THRES_U6_M ((PCNT_FILTER_THRES_U6_V)<<(PCNT_FILTER_THRES_U6_S)) +#define PCNT_FILTER_THRES_U6_V 0x3FF +#define PCNT_FILTER_THRES_U6_S 0 + +#define PCNT_U6_CONF1_REG (DR_REG_PCNT_BASE + 0x004c) +/* PCNT_CNT_THRES1_U6 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to configure thres1 value for unit6.*/ +#define PCNT_CNT_THRES1_U6 0x0000FFFF +#define PCNT_CNT_THRES1_U6_M ((PCNT_CNT_THRES1_U6_V)<<(PCNT_CNT_THRES1_U6_S)) +#define PCNT_CNT_THRES1_U6_V 0xFFFF +#define PCNT_CNT_THRES1_U6_S 16 +/* PCNT_CNT_THRES0_U6 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thres0 value for unit6.*/ +#define PCNT_CNT_THRES0_U6 0x0000FFFF +#define PCNT_CNT_THRES0_U6_M ((PCNT_CNT_THRES0_U6_V)<<(PCNT_CNT_THRES0_U6_S)) +#define PCNT_CNT_THRES0_U6_V 0xFFFF +#define PCNT_CNT_THRES0_U6_S 0 + +#define PCNT_U6_CONF2_REG (DR_REG_PCNT_BASE + 0x0050) +/* PCNT_CNT_L_LIM_U6 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to confiugre thr_l_lim value for unit6.*/ +#define PCNT_CNT_L_LIM_U6 0x0000FFFF +#define PCNT_CNT_L_LIM_U6_M ((PCNT_CNT_L_LIM_U6_V)<<(PCNT_CNT_L_LIM_U6_S)) +#define PCNT_CNT_L_LIM_U6_V 0xFFFF +#define PCNT_CNT_L_LIM_U6_S 16 +/* PCNT_CNT_H_LIM_U6 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thr_h_lim value for unit6.*/ +#define PCNT_CNT_H_LIM_U6 0x0000FFFF +#define PCNT_CNT_H_LIM_U6_M ((PCNT_CNT_H_LIM_U6_V)<<(PCNT_CNT_H_LIM_U6_S)) +#define PCNT_CNT_H_LIM_U6_V 0xFFFF +#define PCNT_CNT_H_LIM_U6_S 0 + +#define PCNT_U7_CONF0_REG (DR_REG_PCNT_BASE + 0x0054) +/* PCNT_CH1_LCTRL_MODE_U7 : R/W ;bitpos:[31:30] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's low control + signal for unit7. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_LCTRL_MODE_U7 0x00000003 +#define PCNT_CH1_LCTRL_MODE_U7_M ((PCNT_CH1_LCTRL_MODE_U7_V)<<(PCNT_CH1_LCTRL_MODE_U7_S)) +#define PCNT_CH1_LCTRL_MODE_U7_V 0x3 +#define PCNT_CH1_LCTRL_MODE_U7_S 30 +/* PCNT_CH1_HCTRL_MODE_U7 : R/W ;bitpos:[29:28] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's high + control signal for unit7. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH1_HCTRL_MODE_U7 0x00000003 +#define PCNT_CH1_HCTRL_MODE_U7_M ((PCNT_CH1_HCTRL_MODE_U7_V)<<(PCNT_CH1_HCTRL_MODE_U7_S)) +#define PCNT_CH1_HCTRL_MODE_U7_V 0x3 +#define PCNT_CH1_HCTRL_MODE_U7_S 28 +/* PCNT_CH1_POS_MODE_U7 : R/W ;bitpos:[27:26] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + posedge signal for unit7. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH1_POS_MODE_U7 0x00000003 +#define PCNT_CH1_POS_MODE_U7_M ((PCNT_CH1_POS_MODE_U7_V)<<(PCNT_CH1_POS_MODE_U7_S)) +#define PCNT_CH1_POS_MODE_U7_V 0x3 +#define PCNT_CH1_POS_MODE_U7_S 26 +/* PCNT_CH1_NEG_MODE_U7 : R/W ;bitpos:[25:24] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel1's input + negedge signal for unit7. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH1_NEG_MODE_U7 0x00000003 +#define PCNT_CH1_NEG_MODE_U7_M ((PCNT_CH1_NEG_MODE_U7_V)<<(PCNT_CH1_NEG_MODE_U7_S)) +#define PCNT_CH1_NEG_MODE_U7_V 0x3 +#define PCNT_CH1_NEG_MODE_U7_S 24 +/* PCNT_CH0_LCTRL_MODE_U7 : R/W ;bitpos:[23:22] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's low control + signal for unit7. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_LCTRL_MODE_U7 0x00000003 +#define PCNT_CH0_LCTRL_MODE_U7_M ((PCNT_CH0_LCTRL_MODE_U7_V)<<(PCNT_CH0_LCTRL_MODE_U7_S)) +#define PCNT_CH0_LCTRL_MODE_U7_V 0x3 +#define PCNT_CH0_LCTRL_MODE_U7_S 22 +/* PCNT_CH0_HCTRL_MODE_U7 : R/W ;bitpos:[21:20] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's high + control signal for unit7. 2'd0:increase when control signal is low 2'd1: decrease when control signal is high others:forbidden*/ +#define PCNT_CH0_HCTRL_MODE_U7 0x00000003 +#define PCNT_CH0_HCTRL_MODE_U7_M ((PCNT_CH0_HCTRL_MODE_U7_V)<<(PCNT_CH0_HCTRL_MODE_U7_S)) +#define PCNT_CH0_HCTRL_MODE_U7_V 0x3 +#define PCNT_CH0_HCTRL_MODE_U7_S 20 +/* PCNT_CH0_POS_MODE_U7 : R/W ;bitpos:[19:18] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + posedge signal for unit7. 2'd1: increase at the posedge of input signal 2'd2:decrease at the posedge of input signal others:forbidden*/ +#define PCNT_CH0_POS_MODE_U7 0x00000003 +#define PCNT_CH0_POS_MODE_U7_M ((PCNT_CH0_POS_MODE_U7_V)<<(PCNT_CH0_POS_MODE_U7_S)) +#define PCNT_CH0_POS_MODE_U7_V 0x3 +#define PCNT_CH0_POS_MODE_U7_S 18 +/* PCNT_CH0_NEG_MODE_U7 : R/W ;bitpos:[17:16] ;default: 2'd0 ; */ +/*description: This register is used to control the mode of channel0's input + negedge signal for unit7. 2'd1: increase at the negedge of input signal 2'd2:decrease at the negedge of input signal others:forbidden*/ +#define PCNT_CH0_NEG_MODE_U7 0x00000003 +#define PCNT_CH0_NEG_MODE_U7_M ((PCNT_CH0_NEG_MODE_U7_V)<<(PCNT_CH0_NEG_MODE_U7_S)) +#define PCNT_CH0_NEG_MODE_U7_V 0x3 +#define PCNT_CH0_NEG_MODE_U7_S 16 +/* PCNT_THR_THRES1_EN_U7 : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit7's count with thres1 value .*/ +#define PCNT_THR_THRES1_EN_U7 (BIT(15)) +#define PCNT_THR_THRES1_EN_U7_M (BIT(15)) +#define PCNT_THR_THRES1_EN_U7_V 0x1 +#define PCNT_THR_THRES1_EN_U7_S 15 +/* PCNT_THR_THRES0_EN_U7 : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This is the enable bit for comparing unit7's count with thres0 value.*/ +#define PCNT_THR_THRES0_EN_U7 (BIT(14)) +#define PCNT_THR_THRES0_EN_U7_M (BIT(14)) +#define PCNT_THR_THRES0_EN_U7_V 0x1 +#define PCNT_THR_THRES0_EN_U7_S 14 +/* PCNT_THR_L_LIM_EN_U7 : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit7's count with thr_l_lim value.*/ +#define PCNT_THR_L_LIM_EN_U7 (BIT(13)) +#define PCNT_THR_L_LIM_EN_U7_M (BIT(13)) +#define PCNT_THR_L_LIM_EN_U7_V 0x1 +#define PCNT_THR_L_LIM_EN_U7_S 13 +/* PCNT_THR_H_LIM_EN_U7 : R/W ;bitpos:[12] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit7's count with thr_h_lim value.*/ +#define PCNT_THR_H_LIM_EN_U7 (BIT(12)) +#define PCNT_THR_H_LIM_EN_U7_M (BIT(12)) +#define PCNT_THR_H_LIM_EN_U7_V 0x1 +#define PCNT_THR_H_LIM_EN_U7_S 12 +/* PCNT_THR_ZERO_EN_U7 : R/W ;bitpos:[11] ;default: 1'b1 ; */ +/*description: This is the enable bit for comparing unit7's count with 0 value.*/ +#define PCNT_THR_ZERO_EN_U7 (BIT(11)) +#define PCNT_THR_ZERO_EN_U7_M (BIT(11)) +#define PCNT_THR_ZERO_EN_U7_V 0x1 +#define PCNT_THR_ZERO_EN_U7_S 11 +/* PCNT_FILTER_EN_U7 : R/W ;bitpos:[10] ;default: 1'b1 ; */ +/*description: This is the enable bit for filtering input signals for unit7.*/ +#define PCNT_FILTER_EN_U7 (BIT(10)) +#define PCNT_FILTER_EN_U7_M (BIT(10)) +#define PCNT_FILTER_EN_U7_V 0x1 +#define PCNT_FILTER_EN_U7_S 10 +/* PCNT_FILTER_THRES_U7 : R/W ;bitpos:[9:0] ;default: 10'h10 ; */ +/*description: This register is used to filter pluse whose width is smaller + than this value for unit7.*/ +#define PCNT_FILTER_THRES_U7 0x000003FF +#define PCNT_FILTER_THRES_U7_M ((PCNT_FILTER_THRES_U7_V)<<(PCNT_FILTER_THRES_U7_S)) +#define PCNT_FILTER_THRES_U7_V 0x3FF +#define PCNT_FILTER_THRES_U7_S 0 + +#define PCNT_U7_CONF1_REG (DR_REG_PCNT_BASE + 0x0058) +/* PCNT_CNT_THRES1_U7 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to configure thres1 value for unit7.*/ +#define PCNT_CNT_THRES1_U7 0x0000FFFF +#define PCNT_CNT_THRES1_U7_M ((PCNT_CNT_THRES1_U7_V)<<(PCNT_CNT_THRES1_U7_S)) +#define PCNT_CNT_THRES1_U7_V 0xFFFF +#define PCNT_CNT_THRES1_U7_S 16 +/* PCNT_CNT_THRES0_U7 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thres0 value for unit7.*/ +#define PCNT_CNT_THRES0_U7 0x0000FFFF +#define PCNT_CNT_THRES0_U7_M ((PCNT_CNT_THRES0_U7_V)<<(PCNT_CNT_THRES0_U7_S)) +#define PCNT_CNT_THRES0_U7_V 0xFFFF +#define PCNT_CNT_THRES0_U7_S 0 + +#define PCNT_U7_CONF2_REG (DR_REG_PCNT_BASE + 0x005c) +/* PCNT_CNT_L_LIM_U7 : R/W ;bitpos:[31:16] ;default: 10'h0 ; */ +/*description: This register is used to confiugre thr_l_lim value for unit7.*/ +#define PCNT_CNT_L_LIM_U7 0x0000FFFF +#define PCNT_CNT_L_LIM_U7_M ((PCNT_CNT_L_LIM_U7_V)<<(PCNT_CNT_L_LIM_U7_S)) +#define PCNT_CNT_L_LIM_U7_V 0xFFFF +#define PCNT_CNT_L_LIM_U7_S 16 +/* PCNT_CNT_H_LIM_U7 : R/W ;bitpos:[15:0] ;default: 10'h0 ; */ +/*description: This register is used to configure thr_h_lim value for unit7.*/ +#define PCNT_CNT_H_LIM_U7 0x0000FFFF +#define PCNT_CNT_H_LIM_U7_M ((PCNT_CNT_H_LIM_U7_V)<<(PCNT_CNT_H_LIM_U7_S)) +#define PCNT_CNT_H_LIM_U7_V 0xFFFF +#define PCNT_CNT_H_LIM_U7_S 0 + +#define PCNT_U0_CNT_REG (DR_REG_PCNT_BASE + 0x0060) +/* PCNT_PLUS_CNT_U0 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: This register stores the current pulse count value for unit0.*/ +#define PCNT_PLUS_CNT_U0 0x0000FFFF +#define PCNT_PLUS_CNT_U0_M ((PCNT_PLUS_CNT_U0_V)<<(PCNT_PLUS_CNT_U0_S)) +#define PCNT_PLUS_CNT_U0_V 0xFFFF +#define PCNT_PLUS_CNT_U0_S 0 + +#define PCNT_U1_CNT_REG (DR_REG_PCNT_BASE + 0x0064) +/* PCNT_PLUS_CNT_U1 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: This register stores the current pulse count value for unit1.*/ +#define PCNT_PLUS_CNT_U1 0x0000FFFF +#define PCNT_PLUS_CNT_U1_M ((PCNT_PLUS_CNT_U1_V)<<(PCNT_PLUS_CNT_U1_S)) +#define PCNT_PLUS_CNT_U1_V 0xFFFF +#define PCNT_PLUS_CNT_U1_S 0 + +#define PCNT_U2_CNT_REG (DR_REG_PCNT_BASE + 0x0068) +/* PCNT_PLUS_CNT_U2 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: This register stores the current pulse count value for unit2.*/ +#define PCNT_PLUS_CNT_U2 0x0000FFFF +#define PCNT_PLUS_CNT_U2_M ((PCNT_PLUS_CNT_U2_V)<<(PCNT_PLUS_CNT_U2_S)) +#define PCNT_PLUS_CNT_U2_V 0xFFFF +#define PCNT_PLUS_CNT_U2_S 0 + +#define PCNT_U3_CNT_REG (DR_REG_PCNT_BASE + 0x006c) +/* PCNT_PLUS_CNT_U3 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: This register stores the current pulse count value for unit3.*/ +#define PCNT_PLUS_CNT_U3 0x0000FFFF +#define PCNT_PLUS_CNT_U3_M ((PCNT_PLUS_CNT_U3_V)<<(PCNT_PLUS_CNT_U3_S)) +#define PCNT_PLUS_CNT_U3_V 0xFFFF +#define PCNT_PLUS_CNT_U3_S 0 + +#define PCNT_U4_CNT_REG (DR_REG_PCNT_BASE + 0x0070) +/* PCNT_PLUS_CNT_U4 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: This register stores the current pulse count value for unit4.*/ +#define PCNT_PLUS_CNT_U4 0x0000FFFF +#define PCNT_PLUS_CNT_U4_M ((PCNT_PLUS_CNT_U4_V)<<(PCNT_PLUS_CNT_U4_S)) +#define PCNT_PLUS_CNT_U4_V 0xFFFF +#define PCNT_PLUS_CNT_U4_S 0 + +#define PCNT_U5_CNT_REG (DR_REG_PCNT_BASE + 0x0074) +/* PCNT_PLUS_CNT_U5 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: This register stores the current pulse count value for unit5.*/ +#define PCNT_PLUS_CNT_U5 0x0000FFFF +#define PCNT_PLUS_CNT_U5_M ((PCNT_PLUS_CNT_U5_V)<<(PCNT_PLUS_CNT_U5_S)) +#define PCNT_PLUS_CNT_U5_V 0xFFFF +#define PCNT_PLUS_CNT_U5_S 0 + +#define PCNT_U6_CNT_REG (DR_REG_PCNT_BASE + 0x0078) +/* PCNT_PLUS_CNT_U6 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: This register stores the current pulse count value for unit6.*/ +#define PCNT_PLUS_CNT_U6 0x0000FFFF +#define PCNT_PLUS_CNT_U6_M ((PCNT_PLUS_CNT_U6_V)<<(PCNT_PLUS_CNT_U6_S)) +#define PCNT_PLUS_CNT_U6_V 0xFFFF +#define PCNT_PLUS_CNT_U6_S 0 + +#define PCNT_U7_CNT_REG (DR_REG_PCNT_BASE + 0x007c) +/* PCNT_PLUS_CNT_U7 : RO ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: This register stores the current pulse count value for unit7.*/ +#define PCNT_PLUS_CNT_U7 0x0000FFFF +#define PCNT_PLUS_CNT_U7_M ((PCNT_PLUS_CNT_U7_V)<<(PCNT_PLUS_CNT_U7_S)) +#define PCNT_PLUS_CNT_U7_V 0xFFFF +#define PCNT_PLUS_CNT_U7_S 0 + +#define PCNT_INT_RAW_REG (DR_REG_PCNT_BASE + 0x0080) +/* PCNT_CNT_THR_EVENT_U7_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the interrupt raw bit for channel7 event.*/ +#define PCNT_CNT_THR_EVENT_U7_INT_RAW (BIT(7)) +#define PCNT_CNT_THR_EVENT_U7_INT_RAW_M (BIT(7)) +#define PCNT_CNT_THR_EVENT_U7_INT_RAW_V 0x1 +#define PCNT_CNT_THR_EVENT_U7_INT_RAW_S 7 +/* PCNT_CNT_THR_EVENT_U6_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: This is the interrupt raw bit for channel6 event.*/ +#define PCNT_CNT_THR_EVENT_U6_INT_RAW (BIT(6)) +#define PCNT_CNT_THR_EVENT_U6_INT_RAW_M (BIT(6)) +#define PCNT_CNT_THR_EVENT_U6_INT_RAW_V 0x1 +#define PCNT_CNT_THR_EVENT_U6_INT_RAW_S 6 +/* PCNT_CNT_THR_EVENT_U5_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: This is the interrupt raw bit for channel5 event.*/ +#define PCNT_CNT_THR_EVENT_U5_INT_RAW (BIT(5)) +#define PCNT_CNT_THR_EVENT_U5_INT_RAW_M (BIT(5)) +#define PCNT_CNT_THR_EVENT_U5_INT_RAW_V 0x1 +#define PCNT_CNT_THR_EVENT_U5_INT_RAW_S 5 +/* PCNT_CNT_THR_EVENT_U4_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This is the interrupt raw bit for channel4 event.*/ +#define PCNT_CNT_THR_EVENT_U4_INT_RAW (BIT(4)) +#define PCNT_CNT_THR_EVENT_U4_INT_RAW_M (BIT(4)) +#define PCNT_CNT_THR_EVENT_U4_INT_RAW_V 0x1 +#define PCNT_CNT_THR_EVENT_U4_INT_RAW_S 4 +/* PCNT_CNT_THR_EVENT_U3_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This is the interrupt raw bit for channel3 event.*/ +#define PCNT_CNT_THR_EVENT_U3_INT_RAW (BIT(3)) +#define PCNT_CNT_THR_EVENT_U3_INT_RAW_M (BIT(3)) +#define PCNT_CNT_THR_EVENT_U3_INT_RAW_V 0x1 +#define PCNT_CNT_THR_EVENT_U3_INT_RAW_S 3 +/* PCNT_CNT_THR_EVENT_U2_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the interrupt raw bit for channel2 event.*/ +#define PCNT_CNT_THR_EVENT_U2_INT_RAW (BIT(2)) +#define PCNT_CNT_THR_EVENT_U2_INT_RAW_M (BIT(2)) +#define PCNT_CNT_THR_EVENT_U2_INT_RAW_V 0x1 +#define PCNT_CNT_THR_EVENT_U2_INT_RAW_S 2 +/* PCNT_CNT_THR_EVENT_U1_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: This is the interrupt raw bit for channel1 event.*/ +#define PCNT_CNT_THR_EVENT_U1_INT_RAW (BIT(1)) +#define PCNT_CNT_THR_EVENT_U1_INT_RAW_M (BIT(1)) +#define PCNT_CNT_THR_EVENT_U1_INT_RAW_V 0x1 +#define PCNT_CNT_THR_EVENT_U1_INT_RAW_S 1 +/* PCNT_CNT_THR_EVENT_U0_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: This is the interrupt raw bit for channel0 event.*/ +#define PCNT_CNT_THR_EVENT_U0_INT_RAW (BIT(0)) +#define PCNT_CNT_THR_EVENT_U0_INT_RAW_M (BIT(0)) +#define PCNT_CNT_THR_EVENT_U0_INT_RAW_V 0x1 +#define PCNT_CNT_THR_EVENT_U0_INT_RAW_S 0 + +#define PCNT_INT_ST_REG (DR_REG_PCNT_BASE + 0x0084) +/* PCNT_CNT_THR_EVENT_U7_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the interrupt status bit for channel7 event.*/ +#define PCNT_CNT_THR_EVENT_U7_INT_ST (BIT(7)) +#define PCNT_CNT_THR_EVENT_U7_INT_ST_M (BIT(7)) +#define PCNT_CNT_THR_EVENT_U7_INT_ST_V 0x1 +#define PCNT_CNT_THR_EVENT_U7_INT_ST_S 7 +/* PCNT_CNT_THR_EVENT_U6_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: This is the interrupt status bit for channel6 event.*/ +#define PCNT_CNT_THR_EVENT_U6_INT_ST (BIT(6)) +#define PCNT_CNT_THR_EVENT_U6_INT_ST_M (BIT(6)) +#define PCNT_CNT_THR_EVENT_U6_INT_ST_V 0x1 +#define PCNT_CNT_THR_EVENT_U6_INT_ST_S 6 +/* PCNT_CNT_THR_EVENT_U5_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: This is the interrupt status bit for channel5 event.*/ +#define PCNT_CNT_THR_EVENT_U5_INT_ST (BIT(5)) +#define PCNT_CNT_THR_EVENT_U5_INT_ST_M (BIT(5)) +#define PCNT_CNT_THR_EVENT_U5_INT_ST_V 0x1 +#define PCNT_CNT_THR_EVENT_U5_INT_ST_S 5 +/* PCNT_CNT_THR_EVENT_U4_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This is the interrupt status bit for channel4 event.*/ +#define PCNT_CNT_THR_EVENT_U4_INT_ST (BIT(4)) +#define PCNT_CNT_THR_EVENT_U4_INT_ST_M (BIT(4)) +#define PCNT_CNT_THR_EVENT_U4_INT_ST_V 0x1 +#define PCNT_CNT_THR_EVENT_U4_INT_ST_S 4 +/* PCNT_CNT_THR_EVENT_U3_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This is the interrupt status bit for channel3 event.*/ +#define PCNT_CNT_THR_EVENT_U3_INT_ST (BIT(3)) +#define PCNT_CNT_THR_EVENT_U3_INT_ST_M (BIT(3)) +#define PCNT_CNT_THR_EVENT_U3_INT_ST_V 0x1 +#define PCNT_CNT_THR_EVENT_U3_INT_ST_S 3 +/* PCNT_CNT_THR_EVENT_U2_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the interrupt status bit for channel2 event.*/ +#define PCNT_CNT_THR_EVENT_U2_INT_ST (BIT(2)) +#define PCNT_CNT_THR_EVENT_U2_INT_ST_M (BIT(2)) +#define PCNT_CNT_THR_EVENT_U2_INT_ST_V 0x1 +#define PCNT_CNT_THR_EVENT_U2_INT_ST_S 2 +/* PCNT_CNT_THR_EVENT_U1_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: This is the interrupt status bit for channel1 event.*/ +#define PCNT_CNT_THR_EVENT_U1_INT_ST (BIT(1)) +#define PCNT_CNT_THR_EVENT_U1_INT_ST_M (BIT(1)) +#define PCNT_CNT_THR_EVENT_U1_INT_ST_V 0x1 +#define PCNT_CNT_THR_EVENT_U1_INT_ST_S 1 +/* PCNT_CNT_THR_EVENT_U0_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: This is the interrupt status bit for channel0 event.*/ +#define PCNT_CNT_THR_EVENT_U0_INT_ST (BIT(0)) +#define PCNT_CNT_THR_EVENT_U0_INT_ST_M (BIT(0)) +#define PCNT_CNT_THR_EVENT_U0_INT_ST_V 0x1 +#define PCNT_CNT_THR_EVENT_U0_INT_ST_S 0 + +#define PCNT_INT_ENA_REG (DR_REG_PCNT_BASE + 0x0088) +/* PCNT_CNT_THR_EVENT_U7_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the interrupt enable bit for channel7 event.*/ +#define PCNT_CNT_THR_EVENT_U7_INT_ENA (BIT(7)) +#define PCNT_CNT_THR_EVENT_U7_INT_ENA_M (BIT(7)) +#define PCNT_CNT_THR_EVENT_U7_INT_ENA_V 0x1 +#define PCNT_CNT_THR_EVENT_U7_INT_ENA_S 7 +/* PCNT_CNT_THR_EVENT_U6_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: This is the interrupt enable bit for channel6 event.*/ +#define PCNT_CNT_THR_EVENT_U6_INT_ENA (BIT(6)) +#define PCNT_CNT_THR_EVENT_U6_INT_ENA_M (BIT(6)) +#define PCNT_CNT_THR_EVENT_U6_INT_ENA_V 0x1 +#define PCNT_CNT_THR_EVENT_U6_INT_ENA_S 6 +/* PCNT_CNT_THR_EVENT_U5_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: This is the interrupt enable bit for channel5 event.*/ +#define PCNT_CNT_THR_EVENT_U5_INT_ENA (BIT(5)) +#define PCNT_CNT_THR_EVENT_U5_INT_ENA_M (BIT(5)) +#define PCNT_CNT_THR_EVENT_U5_INT_ENA_V 0x1 +#define PCNT_CNT_THR_EVENT_U5_INT_ENA_S 5 +/* PCNT_CNT_THR_EVENT_U4_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This is the interrupt enable bit for channel4 event.*/ +#define PCNT_CNT_THR_EVENT_U4_INT_ENA (BIT(4)) +#define PCNT_CNT_THR_EVENT_U4_INT_ENA_M (BIT(4)) +#define PCNT_CNT_THR_EVENT_U4_INT_ENA_V 0x1 +#define PCNT_CNT_THR_EVENT_U4_INT_ENA_S 4 +/* PCNT_CNT_THR_EVENT_U3_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This is the interrupt enable bit for channel3 event.*/ +#define PCNT_CNT_THR_EVENT_U3_INT_ENA (BIT(3)) +#define PCNT_CNT_THR_EVENT_U3_INT_ENA_M (BIT(3)) +#define PCNT_CNT_THR_EVENT_U3_INT_ENA_V 0x1 +#define PCNT_CNT_THR_EVENT_U3_INT_ENA_S 3 +/* PCNT_CNT_THR_EVENT_U2_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the interrupt enable bit for channel2 event.*/ +#define PCNT_CNT_THR_EVENT_U2_INT_ENA (BIT(2)) +#define PCNT_CNT_THR_EVENT_U2_INT_ENA_M (BIT(2)) +#define PCNT_CNT_THR_EVENT_U2_INT_ENA_V 0x1 +#define PCNT_CNT_THR_EVENT_U2_INT_ENA_S 2 +/* PCNT_CNT_THR_EVENT_U1_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: This is the interrupt enable bit for channel1 event.*/ +#define PCNT_CNT_THR_EVENT_U1_INT_ENA (BIT(1)) +#define PCNT_CNT_THR_EVENT_U1_INT_ENA_M (BIT(1)) +#define PCNT_CNT_THR_EVENT_U1_INT_ENA_V 0x1 +#define PCNT_CNT_THR_EVENT_U1_INT_ENA_S 1 +/* PCNT_CNT_THR_EVENT_U0_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: This is the interrupt enable bit for channel0 event.*/ +#define PCNT_CNT_THR_EVENT_U0_INT_ENA (BIT(0)) +#define PCNT_CNT_THR_EVENT_U0_INT_ENA_M (BIT(0)) +#define PCNT_CNT_THR_EVENT_U0_INT_ENA_V 0x1 +#define PCNT_CNT_THR_EVENT_U0_INT_ENA_S 0 + +#define PCNT_INT_CLR_REG (DR_REG_PCNT_BASE + 0x008c) +/* PCNT_CNT_THR_EVENT_U7_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: Set this bit to clear channel7 event interrupt.*/ +#define PCNT_CNT_THR_EVENT_U7_INT_CLR (BIT(7)) +#define PCNT_CNT_THR_EVENT_U7_INT_CLR_M (BIT(7)) +#define PCNT_CNT_THR_EVENT_U7_INT_CLR_V 0x1 +#define PCNT_CNT_THR_EVENT_U7_INT_CLR_S 7 +/* PCNT_CNT_THR_EVENT_U6_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to clear channel6 event interrupt.*/ +#define PCNT_CNT_THR_EVENT_U6_INT_CLR (BIT(6)) +#define PCNT_CNT_THR_EVENT_U6_INT_CLR_M (BIT(6)) +#define PCNT_CNT_THR_EVENT_U6_INT_CLR_V 0x1 +#define PCNT_CNT_THR_EVENT_U6_INT_CLR_S 6 +/* PCNT_CNT_THR_EVENT_U5_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: Set this bit to clear channel5 event interrupt.*/ +#define PCNT_CNT_THR_EVENT_U5_INT_CLR (BIT(5)) +#define PCNT_CNT_THR_EVENT_U5_INT_CLR_M (BIT(5)) +#define PCNT_CNT_THR_EVENT_U5_INT_CLR_V 0x1 +#define PCNT_CNT_THR_EVENT_U5_INT_CLR_S 5 +/* PCNT_CNT_THR_EVENT_U4_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to clear channel4 event interrupt.*/ +#define PCNT_CNT_THR_EVENT_U4_INT_CLR (BIT(4)) +#define PCNT_CNT_THR_EVENT_U4_INT_CLR_M (BIT(4)) +#define PCNT_CNT_THR_EVENT_U4_INT_CLR_V 0x1 +#define PCNT_CNT_THR_EVENT_U4_INT_CLR_S 4 +/* PCNT_CNT_THR_EVENT_U3_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to clear channel3 event interrupt.*/ +#define PCNT_CNT_THR_EVENT_U3_INT_CLR (BIT(3)) +#define PCNT_CNT_THR_EVENT_U3_INT_CLR_M (BIT(3)) +#define PCNT_CNT_THR_EVENT_U3_INT_CLR_V 0x1 +#define PCNT_CNT_THR_EVENT_U3_INT_CLR_S 3 +/* PCNT_CNT_THR_EVENT_U2_INT_CLR : WO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: Set this bit to clear channel2 event interrupt.*/ +#define PCNT_CNT_THR_EVENT_U2_INT_CLR (BIT(2)) +#define PCNT_CNT_THR_EVENT_U2_INT_CLR_M (BIT(2)) +#define PCNT_CNT_THR_EVENT_U2_INT_CLR_V 0x1 +#define PCNT_CNT_THR_EVENT_U2_INT_CLR_S 2 +/* PCNT_CNT_THR_EVENT_U1_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: Set this bit to clear channel1 event interrupt.*/ +#define PCNT_CNT_THR_EVENT_U1_INT_CLR (BIT(1)) +#define PCNT_CNT_THR_EVENT_U1_INT_CLR_M (BIT(1)) +#define PCNT_CNT_THR_EVENT_U1_INT_CLR_V 0x1 +#define PCNT_CNT_THR_EVENT_U1_INT_CLR_S 1 +/* PCNT_CNT_THR_EVENT_U0_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: Set this bit to clear channel0 event interrupt.*/ +#define PCNT_CNT_THR_EVENT_U0_INT_CLR (BIT(0)) +#define PCNT_CNT_THR_EVENT_U0_INT_CLR_M (BIT(0)) +#define PCNT_CNT_THR_EVENT_U0_INT_CLR_V 0x1 +#define PCNT_CNT_THR_EVENT_U0_INT_CLR_S 0 + +#define PCNT_U0_STATUS_REG (DR_REG_PCNT_BASE + 0x0090) +/* PCNT_CORE_STATUS_U0 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define PCNT_CORE_STATUS_U0 0xFFFFFFFF +#define PCNT_CORE_STATUS_U0_M ((PCNT_CORE_STATUS_U0_V)<<(PCNT_CORE_STATUS_U0_S)) +#define PCNT_CORE_STATUS_U0_V 0xFFFFFFFF +#define PCNT_CORE_STATUS_U0_S 0 +/*0: positive value to zero; 1: negative value to zero; 2: counter value negative ; 3: counter value positive*/ +#define PCNT_STATUS_CNT_MODE 0x3 +#define PCNT_STATUS_CNT_MODE_M ((PCNT_STATUS_CNT_MODE_V)<<(PCNT_STATUS_CNT_MODE_S)) +#define PCNT_STATUS_CNT_MODE_V 0x3 +#define PCNT_STATUS_CNT_MODE_S 0 +/* counter value equals to thresh1*/ +#define PCNT_STATUS_THRES1 BIT(2) +#define PCNT_STATUS_THRES1_M BIT(2) +#define PCNT_STATUS_THRES1_V 0x1 +#define PCNT_STATUS_THRES1_S 2 +/* counter value equals to thresh0*/ +#define PCNT_STATUS_THRES0 BIT(3) +#define PCNT_STATUS_THRES0_M BIT(3) +#define PCNT_STATUS_THRES0_V 0x1 +#define PCNT_STATUS_THRES0_S 3 +/* counter value reaches h_lim*/ +#define PCNT_STATUS_L_LIM BIT(4) +#define PCNT_STATUS_L_LIM_M BIT(4) +#define PCNT_STATUS_L_LIM_V 0x1 +#define PCNT_STATUS_L_LIM_S 4 +/* counter value reaches l_lim*/ +#define PCNT_STATUS_H_LIM BIT(5) +#define PCNT_STATUS_H_LIM_M BIT(5) +#define PCNT_STATUS_H_LIM_V 0x1 +#define PCNT_STATUS_H_LIM_S 5 +/* counter value equals to zero*/ +#define PCNT_STATUS_ZERO BIT(6) +#define PCNT_STATUS_ZERO_M BIT(6) +#define PCNT_STATUS_ZERO_V 0x1 +#define PCNT_STATUS_ZERO_S 6 + +#define PCNT_U1_STATUS_REG (DR_REG_PCNT_BASE + 0x0094) +/* PCNT_CORE_STATUS_U1 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define PCNT_CORE_STATUS_U1 0xFFFFFFFF +#define PCNT_CORE_STATUS_U1_M ((PCNT_CORE_STATUS_U1_V)<<(PCNT_CORE_STATUS_U1_S)) +#define PCNT_CORE_STATUS_U1_V 0xFFFFFFFF +#define PCNT_CORE_STATUS_U1_S 0 + +#define PCNT_U2_STATUS_REG (DR_REG_PCNT_BASE + 0x0098) +/* PCNT_CORE_STATUS_U2 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define PCNT_CORE_STATUS_U2 0xFFFFFFFF +#define PCNT_CORE_STATUS_U2_M ((PCNT_CORE_STATUS_U2_V)<<(PCNT_CORE_STATUS_U2_S)) +#define PCNT_CORE_STATUS_U2_V 0xFFFFFFFF +#define PCNT_CORE_STATUS_U2_S 0 + +#define PCNT_U3_STATUS_REG (DR_REG_PCNT_BASE + 0x009c) +/* PCNT_CORE_STATUS_U3 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define PCNT_CORE_STATUS_U3 0xFFFFFFFF +#define PCNT_CORE_STATUS_U3_M ((PCNT_CORE_STATUS_U3_V)<<(PCNT_CORE_STATUS_U3_S)) +#define PCNT_CORE_STATUS_U3_V 0xFFFFFFFF +#define PCNT_CORE_STATUS_U3_S 0 + +#define PCNT_U4_STATUS_REG (DR_REG_PCNT_BASE + 0x00a0) +/* PCNT_CORE_STATUS_U4 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define PCNT_CORE_STATUS_U4 0xFFFFFFFF +#define PCNT_CORE_STATUS_U4_M ((PCNT_CORE_STATUS_U4_V)<<(PCNT_CORE_STATUS_U4_S)) +#define PCNT_CORE_STATUS_U4_V 0xFFFFFFFF +#define PCNT_CORE_STATUS_U4_S 0 + +#define PCNT_U5_STATUS_REG (DR_REG_PCNT_BASE + 0x00a4) +/* PCNT_CORE_STATUS_U5 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define PCNT_CORE_STATUS_U5 0xFFFFFFFF +#define PCNT_CORE_STATUS_U5_M ((PCNT_CORE_STATUS_U5_V)<<(PCNT_CORE_STATUS_U5_S)) +#define PCNT_CORE_STATUS_U5_V 0xFFFFFFFF +#define PCNT_CORE_STATUS_U5_S 0 + +#define PCNT_U6_STATUS_REG (DR_REG_PCNT_BASE + 0x00a8) +/* PCNT_CORE_STATUS_U6 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define PCNT_CORE_STATUS_U6 0xFFFFFFFF +#define PCNT_CORE_STATUS_U6_M ((PCNT_CORE_STATUS_U6_V)<<(PCNT_CORE_STATUS_U6_S)) +#define PCNT_CORE_STATUS_U6_V 0xFFFFFFFF +#define PCNT_CORE_STATUS_U6_S 0 + +#define PCNT_U7_STATUS_REG (DR_REG_PCNT_BASE + 0x00ac) +/* PCNT_CORE_STATUS_U7 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: */ +#define PCNT_CORE_STATUS_U7 0xFFFFFFFF +#define PCNT_CORE_STATUS_U7_M ((PCNT_CORE_STATUS_U7_V)<<(PCNT_CORE_STATUS_U7_S)) +#define PCNT_CORE_STATUS_U7_V 0xFFFFFFFF +#define PCNT_CORE_STATUS_U7_S 0 + +#define PCNT_CTRL_REG (DR_REG_PCNT_BASE + 0x00b0) +/* PCNT_CLK_EN : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: */ +#define PCNT_CLK_EN (BIT(16)) +#define PCNT_CLK_EN_M (BIT(16)) +#define PCNT_CLK_EN_V 0x1 +#define PCNT_CLK_EN_S 16 +/* PCNT_CNT_PAUSE_U7 : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: Set this bit to pause unit7's counter.*/ +#define PCNT_CNT_PAUSE_U7 (BIT(15)) +#define PCNT_CNT_PAUSE_U7_M (BIT(15)) +#define PCNT_CNT_PAUSE_U7_V 0x1 +#define PCNT_CNT_PAUSE_U7_S 15 +/* PCNT_PLUS_CNT_RST_U7 : R/W ;bitpos:[14] ;default: 1'b1 ; */ +/*description: Set this bit to clear unit7's counter.*/ +#define PCNT_PLUS_CNT_RST_U7 (BIT(14)) +#define PCNT_PLUS_CNT_RST_U7_M (BIT(14)) +#define PCNT_PLUS_CNT_RST_U7_V 0x1 +#define PCNT_PLUS_CNT_RST_U7_S 14 +/* PCNT_CNT_PAUSE_U6 : R/W ;bitpos:[13] ;default: 1'b0 ; */ +/*description: Set this bit to pause unit6's counter.*/ +#define PCNT_CNT_PAUSE_U6 (BIT(13)) +#define PCNT_CNT_PAUSE_U6_M (BIT(13)) +#define PCNT_CNT_PAUSE_U6_V 0x1 +#define PCNT_CNT_PAUSE_U6_S 13 +/* PCNT_PLUS_CNT_RST_U6 : R/W ;bitpos:[12] ;default: 1'b1 ; */ +/*description: Set this bit to clear unit6's counter.*/ +#define PCNT_PLUS_CNT_RST_U6 (BIT(12)) +#define PCNT_PLUS_CNT_RST_U6_M (BIT(12)) +#define PCNT_PLUS_CNT_RST_U6_V 0x1 +#define PCNT_PLUS_CNT_RST_U6_S 12 +/* PCNT_CNT_PAUSE_U5 : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: Set this bit to pause unit5's counter.*/ +#define PCNT_CNT_PAUSE_U5 (BIT(11)) +#define PCNT_CNT_PAUSE_U5_M (BIT(11)) +#define PCNT_CNT_PAUSE_U5_V 0x1 +#define PCNT_CNT_PAUSE_U5_S 11 +/* PCNT_PLUS_CNT_RST_U5 : R/W ;bitpos:[10] ;default: 1'b1 ; */ +/*description: Set this bit to clear unit5's counter.*/ +#define PCNT_PLUS_CNT_RST_U5 (BIT(10)) +#define PCNT_PLUS_CNT_RST_U5_M (BIT(10)) +#define PCNT_PLUS_CNT_RST_U5_V 0x1 +#define PCNT_PLUS_CNT_RST_U5_S 10 +/* PCNT_CNT_PAUSE_U4 : R/W ;bitpos:[9] ;default: 1'b0 ; */ +/*description: Set this bit to pause unit4's counter.*/ +#define PCNT_CNT_PAUSE_U4 (BIT(9)) +#define PCNT_CNT_PAUSE_U4_M (BIT(9)) +#define PCNT_CNT_PAUSE_U4_V 0x1 +#define PCNT_CNT_PAUSE_U4_S 9 +/* PCNT_PLUS_CNT_RST_U4 : R/W ;bitpos:[8] ;default: 1'b1 ; */ +/*description: Set this bit to clear unit4's counter.*/ +#define PCNT_PLUS_CNT_RST_U4 (BIT(8)) +#define PCNT_PLUS_CNT_RST_U4_M (BIT(8)) +#define PCNT_PLUS_CNT_RST_U4_V 0x1 +#define PCNT_PLUS_CNT_RST_U4_S 8 +/* PCNT_CNT_PAUSE_U3 : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: Set this bit to pause unit3's counter.*/ +#define PCNT_CNT_PAUSE_U3 (BIT(7)) +#define PCNT_CNT_PAUSE_U3_M (BIT(7)) +#define PCNT_CNT_PAUSE_U3_V 0x1 +#define PCNT_CNT_PAUSE_U3_S 7 +/* PCNT_PLUS_CNT_RST_U3 : R/W ;bitpos:[6] ;default: 1'b1 ; */ +/*description: Set this bit to clear unit3's counter.*/ +#define PCNT_PLUS_CNT_RST_U3 (BIT(6)) +#define PCNT_PLUS_CNT_RST_U3_M (BIT(6)) +#define PCNT_PLUS_CNT_RST_U3_V 0x1 +#define PCNT_PLUS_CNT_RST_U3_S 6 +/* PCNT_CNT_PAUSE_U2 : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: Set this bit to pause unit2's counter.*/ +#define PCNT_CNT_PAUSE_U2 (BIT(5)) +#define PCNT_CNT_PAUSE_U2_M (BIT(5)) +#define PCNT_CNT_PAUSE_U2_V 0x1 +#define PCNT_CNT_PAUSE_U2_S 5 +/* PCNT_PLUS_CNT_RST_U2 : R/W ;bitpos:[4] ;default: 1'b1 ; */ +/*description: Set this bit to clear unit2's counter.*/ +#define PCNT_PLUS_CNT_RST_U2 (BIT(4)) +#define PCNT_PLUS_CNT_RST_U2_M (BIT(4)) +#define PCNT_PLUS_CNT_RST_U2_V 0x1 +#define PCNT_PLUS_CNT_RST_U2_S 4 +/* PCNT_CNT_PAUSE_U1 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to pause unit1's counter.*/ +#define PCNT_CNT_PAUSE_U1 (BIT(3)) +#define PCNT_CNT_PAUSE_U1_M (BIT(3)) +#define PCNT_CNT_PAUSE_U1_V 0x1 +#define PCNT_CNT_PAUSE_U1_S 3 +/* PCNT_PLUS_CNT_RST_U1 : R/W ;bitpos:[2] ;default: 1'b1 ; */ +/*description: Set this bit to clear unit1's counter.*/ +#define PCNT_PLUS_CNT_RST_U1 (BIT(2)) +#define PCNT_PLUS_CNT_RST_U1_M (BIT(2)) +#define PCNT_PLUS_CNT_RST_U1_V 0x1 +#define PCNT_PLUS_CNT_RST_U1_S 2 +/* PCNT_CNT_PAUSE_U0 : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: Set this bit to pause unit0's counter.*/ +#define PCNT_CNT_PAUSE_U0 (BIT(1)) +#define PCNT_CNT_PAUSE_U0_M (BIT(1)) +#define PCNT_CNT_PAUSE_U0_V 0x1 +#define PCNT_CNT_PAUSE_U0_S 1 +/* PCNT_PLUS_CNT_RST_U0 : R/W ;bitpos:[0] ;default: 1'b1 ; */ +/*description: Set this bit to clear unit0's counter.*/ +#define PCNT_PLUS_CNT_RST_U0 (BIT(0)) +#define PCNT_PLUS_CNT_RST_U0_M (BIT(0)) +#define PCNT_PLUS_CNT_RST_U0_V 0x1 +#define PCNT_PLUS_CNT_RST_U0_S 0 + +#define PCNT_DATE_REG (DR_REG_PCNT_BASE + 0x00fc) +/* PCNT_DATE : R/W ;bitpos:[31:0] ;default: 32'h14122600 ; */ +/*description: */ +#define PCNT_DATE 0xFFFFFFFF +#define PCNT_DATE_M ((PCNT_DATE_V)<<(PCNT_DATE_S)) +#define PCNT_DATE_V 0xFFFFFFFF +#define PCNT_DATE_S 0 + + + + +#endif /*_SOC_PCNT_REG_H_ */ + + diff --git a/tools/sdk/include/esp32/soc/pcnt_struct.h b/tools/sdk/include/soc/soc/pcnt_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/pcnt_struct.h rename to tools/sdk/include/soc/soc/pcnt_struct.h diff --git a/tools/sdk/include/esp32/soc/pid.h b/tools/sdk/include/soc/soc/pid.h similarity index 100% rename from tools/sdk/include/esp32/soc/pid.h rename to tools/sdk/include/soc/soc/pid.h diff --git a/tools/sdk/include/esp32/soc/rmt_reg.h b/tools/sdk/include/soc/soc/rmt_reg.h similarity index 97% rename from tools/sdk/include/esp32/soc/rmt_reg.h rename to tools/sdk/include/soc/soc/rmt_reg.h index 07ba24ac..59756fa2 100644 --- a/tools/sdk/include/esp32/soc/rmt_reg.h +++ b/tools/sdk/include/soc/soc/rmt_reg.h @@ -1,2172 +1,2172 @@ -// 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_RMT_REG_H_ -#define _SOC_RMT_REG_H_ - -#include "soc.h" -#define RMT_CH0DATA_REG (DR_REG_RMT_BASE + 0x0000) - -#define RMT_CH1DATA_REG (DR_REG_RMT_BASE + 0x0004) - -#define RMT_CH2DATA_REG (DR_REG_RMT_BASE + 0x0008) - -#define RMT_CH3DATA_REG (DR_REG_RMT_BASE + 0x000c) - -#define RMT_CH4DATA_REG (DR_REG_RMT_BASE + 0x0010) - -#define RMT_CH5DATA_REG (DR_REG_RMT_BASE + 0x0014) - -#define RMT_CH6DATA_REG (DR_REG_RMT_BASE + 0x0018) - -#define RMT_CH7DATA_REG (DR_REG_RMT_BASE + 0x001c) - -#define RMT_CH0CONF0_REG (DR_REG_RMT_BASE + 0x0020) -/* RMT_CLK_EN : R/W ;bitpos:[31] ;default: 1'h0 ; */ -/*description: This bit is used to control clock.when software config RMT - internal registers it controls the register clock.*/ -#define RMT_CLK_EN (BIT(31)) -#define RMT_CLK_EN_M (BIT(31)) -#define RMT_CLK_EN_V 0x1 -#define RMT_CLK_EN_S 31 -/* RMT_MEM_PD : R/W ;bitpos:[30] ;default: 1'b0 ; */ -/*description: This bit is used to reduce power consumed by mem. 1:mem is in low power state.*/ -#define RMT_MEM_PD (BIT(30)) -#define RMT_MEM_PD_M (BIT(30)) -#define RMT_MEM_PD_V 0x1 -#define RMT_MEM_PD_S 30 -/* RMT_CARRIER_OUT_LV_CH0 : R/W ;bitpos:[29] ;default: 1'b1 ; */ -/*description: This bit is used to configure the way carrier wave is modulated - for channel0.1'b1:transmit on low output level 1'b0:transmit on high output level.*/ -#define RMT_CARRIER_OUT_LV_CH0 (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH0_M (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH0_V 0x1 -#define RMT_CARRIER_OUT_LV_CH0_S 29 -/* RMT_CARRIER_EN_CH0 : R/W ;bitpos:[28] ;default: 1'b1 ; */ -/*description: This is the carrier modulation enable control bit for channel0.*/ -#define RMT_CARRIER_EN_CH0 (BIT(28)) -#define RMT_CARRIER_EN_CH0_M (BIT(28)) -#define RMT_CARRIER_EN_CH0_V 0x1 -#define RMT_CARRIER_EN_CH0_S 28 -/* RMT_MEM_SIZE_CH0 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ -/*description: This register is used to configure the the amount of memory blocks - allocated to channel0.*/ -#define RMT_MEM_SIZE_CH0 0x0000000F -#define RMT_MEM_SIZE_CH0_M ((RMT_MEM_SIZE_CH0_V)<<(RMT_MEM_SIZE_CH0_S)) -#define RMT_MEM_SIZE_CH0_V 0xF -#define RMT_MEM_SIZE_CH0_S 24 -/* RMT_IDLE_THRES_CH0 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ -/*description: In receive mode when no edge is detected on the input signal - for longer than reg_idle_thres_ch0 then the receive process is done.*/ -#define RMT_IDLE_THRES_CH0 0x0000FFFF -#define RMT_IDLE_THRES_CH0_M ((RMT_IDLE_THRES_CH0_V)<<(RMT_IDLE_THRES_CH0_S)) -#define RMT_IDLE_THRES_CH0_V 0xFFFF -#define RMT_IDLE_THRES_CH0_S 8 -/* RMT_DIV_CNT_CH0 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ -/*description: This register is used to configure the frequency divider's factor in channel0.*/ -#define RMT_DIV_CNT_CH0 0x000000FF -#define RMT_DIV_CNT_CH0_M ((RMT_DIV_CNT_CH0_V)<<(RMT_DIV_CNT_CH0_S)) -#define RMT_DIV_CNT_CH0_V 0xFF -#define RMT_DIV_CNT_CH0_S 0 - -#define RMT_CH0CONF1_REG (DR_REG_RMT_BASE + 0x0024) -/* RMT_IDLE_OUT_EN_CH0 : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for channel0 in IDLE state.*/ -#define RMT_IDLE_OUT_EN_CH0 (BIT(19)) -#define RMT_IDLE_OUT_EN_CH0_M (BIT(19)) -#define RMT_IDLE_OUT_EN_CH0_V 0x1 -#define RMT_IDLE_OUT_EN_CH0_S 19 -/* RMT_IDLE_OUT_LV_CH0 : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This bit configures the output signal's level for channel0 in IDLE state.*/ -#define RMT_IDLE_OUT_LV_CH0 (BIT(18)) -#define RMT_IDLE_OUT_LV_CH0_M (BIT(18)) -#define RMT_IDLE_OUT_LV_CH0_V 0x1 -#define RMT_IDLE_OUT_LV_CH0_S 18 -/* RMT_REF_ALWAYS_ON_CH0 : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ -#define RMT_REF_ALWAYS_ON_CH0 (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH0_M (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH0_V 0x1 -#define RMT_REF_ALWAYS_ON_CH0_S 17 -/* RMT_REF_CNT_RST_CH0 : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This bit is used to reset divider in channel0.*/ -#define RMT_REF_CNT_RST_CH0 (BIT(16)) -#define RMT_REF_CNT_RST_CH0_M (BIT(16)) -#define RMT_REF_CNT_RST_CH0_V 0x1 -#define RMT_REF_CNT_RST_CH0_S 16 -/* RMT_RX_FILTER_THRES_CH0 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ -/*description: in receive mode channel0 ignore input pulse when the pulse width - is smaller then this value.*/ -#define RMT_RX_FILTER_THRES_CH0 0x000000FF -#define RMT_RX_FILTER_THRES_CH0_M ((RMT_RX_FILTER_THRES_CH0_V)<<(RMT_RX_FILTER_THRES_CH0_S)) -#define RMT_RX_FILTER_THRES_CH0_V 0xFF -#define RMT_RX_FILTER_THRES_CH0_S 8 -/* RMT_RX_FILTER_EN_CH0 : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the receive filter enable bit for channel0.*/ -#define RMT_RX_FILTER_EN_CH0 (BIT(7)) -#define RMT_RX_FILTER_EN_CH0_M (BIT(7)) -#define RMT_RX_FILTER_EN_CH0_V 0x1 -#define RMT_RX_FILTER_EN_CH0_S 7 -/* RMT_TX_CONTI_MODE_CH0 : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to continue sending from the first data to the - last data in channel0 again and again.*/ -#define RMT_TX_CONTI_MODE_CH0 (BIT(6)) -#define RMT_TX_CONTI_MODE_CH0_M (BIT(6)) -#define RMT_TX_CONTI_MODE_CH0_V 0x1 -#define RMT_TX_CONTI_MODE_CH0_S 6 -/* RMT_MEM_OWNER_CH0 : R/W ;bitpos:[5] ;default: 1'b1 ; */ -/*description: This is the mark of channel0's ram usage right.1'b1:receiver - uses the ram 0:transmitter uses the ram*/ -#define RMT_MEM_OWNER_CH0 (BIT(5)) -#define RMT_MEM_OWNER_CH0_M (BIT(5)) -#define RMT_MEM_OWNER_CH0_V 0x1 -#define RMT_MEM_OWNER_CH0_S 5 -/* RMT_APB_MEM_RST_CH0 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to reset W/R ram address for channel0 by apb fifo access*/ -#define RMT_APB_MEM_RST_CH0 (BIT(4)) -#define RMT_APB_MEM_RST_CH0_M (BIT(4)) -#define RMT_APB_MEM_RST_CH0_V 0x1 -#define RMT_APB_MEM_RST_CH0_S 4 -/* RMT_MEM_RD_RST_CH0 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to reset read ram address for channel0 by transmitter access.*/ -#define RMT_MEM_RD_RST_CH0 (BIT(3)) -#define RMT_MEM_RD_RST_CH0_M (BIT(3)) -#define RMT_MEM_RD_RST_CH0_V 0x1 -#define RMT_MEM_RD_RST_CH0_S 3 -/* RMT_MEM_WR_RST_CH0 : R/W ;bitpos:[2] ;default: 1'h0 ; */ -/*description: Set this bit to reset write ram address for channel0 by receiver access.*/ -#define RMT_MEM_WR_RST_CH0 (BIT(2)) -#define RMT_MEM_WR_RST_CH0_M (BIT(2)) -#define RMT_MEM_WR_RST_CH0_V 0x1 -#define RMT_MEM_WR_RST_CH0_S 2 -/* RMT_RX_EN_CH0 : R/W ;bitpos:[1] ;default: 1'h0 ; */ -/*description: Set this bit to enbale receving data for channel0.*/ -#define RMT_RX_EN_CH0 (BIT(1)) -#define RMT_RX_EN_CH0_M (BIT(1)) -#define RMT_RX_EN_CH0_V 0x1 -#define RMT_RX_EN_CH0_S 1 -/* RMT_TX_START_CH0 : R/W ;bitpos:[0] ;default: 1'h0 ; */ -/*description: Set this bit to start sending data for channel0.*/ -#define RMT_TX_START_CH0 (BIT(0)) -#define RMT_TX_START_CH0_M (BIT(0)) -#define RMT_TX_START_CH0_V 0x1 -#define RMT_TX_START_CH0_S 0 - -#define RMT_CH1CONF0_REG (DR_REG_RMT_BASE + 0x0028) -/* RMT_CARRIER_OUT_LV_CH1 : R/W ;bitpos:[29] ;default: 1'b1 ; */ -/*description: This bit is used to configure the way carrier wave is modulated - for channel1.1'b1:transmit on low output level 1'b0:transmit on high output level.*/ -#define RMT_CARRIER_OUT_LV_CH1 (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH1_M (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH1_V 0x1 -#define RMT_CARRIER_OUT_LV_CH1_S 29 -/* RMT_CARRIER_EN_CH1 : R/W ;bitpos:[28] ;default: 1'b1 ; */ -/*description: This is the carrier modulation enable control bit for channel1.*/ -#define RMT_CARRIER_EN_CH1 (BIT(28)) -#define RMT_CARRIER_EN_CH1_M (BIT(28)) -#define RMT_CARRIER_EN_CH1_V 0x1 -#define RMT_CARRIER_EN_CH1_S 28 -/* RMT_MEM_SIZE_CH1 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ -/*description: This register is used to configure the the amount of memory blocks - allocated to channel1.*/ -#define RMT_MEM_SIZE_CH1 0x0000000F -#define RMT_MEM_SIZE_CH1_M ((RMT_MEM_SIZE_CH1_V)<<(RMT_MEM_SIZE_CH1_S)) -#define RMT_MEM_SIZE_CH1_V 0xF -#define RMT_MEM_SIZE_CH1_S 24 -/* RMT_IDLE_THRES_CH1 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ -/*description: This register is used to configure the the amount of memory blocks - allocated to channel1.*/ -#define RMT_IDLE_THRES_CH1 0x0000FFFF -#define RMT_IDLE_THRES_CH1_M ((RMT_IDLE_THRES_CH1_V)<<(RMT_IDLE_THRES_CH1_S)) -#define RMT_IDLE_THRES_CH1_V 0xFFFF -#define RMT_IDLE_THRES_CH1_S 8 -/* RMT_DIV_CNT_CH1 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ -/*description: This register is used to configure the frequency divider's factor in channel1.*/ -#define RMT_DIV_CNT_CH1 0x000000FF -#define RMT_DIV_CNT_CH1_M ((RMT_DIV_CNT_CH1_V)<<(RMT_DIV_CNT_CH1_S)) -#define RMT_DIV_CNT_CH1_V 0xFF -#define RMT_DIV_CNT_CH1_S 0 - -#define RMT_CH1CONF1_REG (DR_REG_RMT_BASE + 0x002c) -/* RMT_IDLE_OUT_EN_CH1 : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for channel1 in IDLE state.*/ -#define RMT_IDLE_OUT_EN_CH1 (BIT(19)) -#define RMT_IDLE_OUT_EN_CH1_M (BIT(19)) -#define RMT_IDLE_OUT_EN_CH1_V 0x1 -#define RMT_IDLE_OUT_EN_CH1_S 19 -/* RMT_IDLE_OUT_LV_CH1 : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This bit configures the output signal's level for channel1 in IDLE state.*/ -#define RMT_IDLE_OUT_LV_CH1 (BIT(18)) -#define RMT_IDLE_OUT_LV_CH1_M (BIT(18)) -#define RMT_IDLE_OUT_LV_CH1_V 0x1 -#define RMT_IDLE_OUT_LV_CH1_S 18 -/* RMT_REF_ALWAYS_ON_CH1 : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ -#define RMT_REF_ALWAYS_ON_CH1 (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH1_M (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH1_V 0x1 -#define RMT_REF_ALWAYS_ON_CH1_S 17 -/* RMT_REF_CNT_RST_CH1 : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This bit is used to reset divider in channel1.*/ -#define RMT_REF_CNT_RST_CH1 (BIT(16)) -#define RMT_REF_CNT_RST_CH1_M (BIT(16)) -#define RMT_REF_CNT_RST_CH1_V 0x1 -#define RMT_REF_CNT_RST_CH1_S 16 -/* RMT_RX_FILTER_THRES_CH1 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ -/*description: in receive mode channel1 ignore input pulse when the pulse width - is smaller then this value.*/ -#define RMT_RX_FILTER_THRES_CH1 0x000000FF -#define RMT_RX_FILTER_THRES_CH1_M ((RMT_RX_FILTER_THRES_CH1_V)<<(RMT_RX_FILTER_THRES_CH1_S)) -#define RMT_RX_FILTER_THRES_CH1_V 0xFF -#define RMT_RX_FILTER_THRES_CH1_S 8 -/* RMT_RX_FILTER_EN_CH1 : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the receive filter enable bit for channel1.*/ -#define RMT_RX_FILTER_EN_CH1 (BIT(7)) -#define RMT_RX_FILTER_EN_CH1_M (BIT(7)) -#define RMT_RX_FILTER_EN_CH1_V 0x1 -#define RMT_RX_FILTER_EN_CH1_S 7 -/* RMT_TX_CONTI_MODE_CH1 : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to continue sending from the first data to the - last data in channel1 again and again.*/ -#define RMT_TX_CONTI_MODE_CH1 (BIT(6)) -#define RMT_TX_CONTI_MODE_CH1_M (BIT(6)) -#define RMT_TX_CONTI_MODE_CH1_V 0x1 -#define RMT_TX_CONTI_MODE_CH1_S 6 -/* RMT_MEM_OWNER_CH1 : R/W ;bitpos:[5] ;default: 1'b1 ; */ -/*description: This is the mark of channel1's ram usage right.1'b1:receiver - uses the ram 0:transmitter uses the ram*/ -#define RMT_MEM_OWNER_CH1 (BIT(5)) -#define RMT_MEM_OWNER_CH1_M (BIT(5)) -#define RMT_MEM_OWNER_CH1_V 0x1 -#define RMT_MEM_OWNER_CH1_S 5 -/* RMT_APB_MEM_RST_CH1 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to reset W/R ram address for channel1 by apb fifo access*/ -#define RMT_APB_MEM_RST_CH1 (BIT(4)) -#define RMT_APB_MEM_RST_CH1_M (BIT(4)) -#define RMT_APB_MEM_RST_CH1_V 0x1 -#define RMT_APB_MEM_RST_CH1_S 4 -/* RMT_MEM_RD_RST_CH1 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to reset read ram address for channel1 by transmitter access.*/ -#define RMT_MEM_RD_RST_CH1 (BIT(3)) -#define RMT_MEM_RD_RST_CH1_M (BIT(3)) -#define RMT_MEM_RD_RST_CH1_V 0x1 -#define RMT_MEM_RD_RST_CH1_S 3 -/* RMT_MEM_WR_RST_CH1 : R/W ;bitpos:[2] ;default: 1'h0 ; */ -/*description: Set this bit to reset write ram address for channel1 by receiver access.*/ -#define RMT_MEM_WR_RST_CH1 (BIT(2)) -#define RMT_MEM_WR_RST_CH1_M (BIT(2)) -#define RMT_MEM_WR_RST_CH1_V 0x1 -#define RMT_MEM_WR_RST_CH1_S 2 -/* RMT_RX_EN_CH1 : R/W ;bitpos:[1] ;default: 1'h0 ; */ -/*description: Set this bit to enbale receving data for channel1.*/ -#define RMT_RX_EN_CH1 (BIT(1)) -#define RMT_RX_EN_CH1_M (BIT(1)) -#define RMT_RX_EN_CH1_V 0x1 -#define RMT_RX_EN_CH1_S 1 -/* RMT_TX_START_CH1 : R/W ;bitpos:[0] ;default: 1'h0 ; */ -/*description: Set this bit to start sending data for channel1.*/ -#define RMT_TX_START_CH1 (BIT(0)) -#define RMT_TX_START_CH1_M (BIT(0)) -#define RMT_TX_START_CH1_V 0x1 -#define RMT_TX_START_CH1_S 0 - -#define RMT_CH2CONF0_REG (DR_REG_RMT_BASE + 0x0030) -/* RMT_CARRIER_OUT_LV_CH2 : R/W ;bitpos:[29] ;default: 1'b1 ; */ -/*description: This bit is used to configure carrier wave's position for channel2.1'b1:add - on low level 1'b0:add on high level.*/ -#define RMT_CARRIER_OUT_LV_CH2 (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH2_M (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH2_V 0x1 -#define RMT_CARRIER_OUT_LV_CH2_S 29 -/* RMT_CARRIER_EN_CH2 : R/W ;bitpos:[28] ;default: 1'b1 ; */ -/*description: This is the carrier modulation enable control bit for channel2.*/ -#define RMT_CARRIER_EN_CH2 (BIT(28)) -#define RMT_CARRIER_EN_CH2_M (BIT(28)) -#define RMT_CARRIER_EN_CH2_V 0x1 -#define RMT_CARRIER_EN_CH2_S 28 -/* RMT_MEM_SIZE_CH2 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ -/*description: This register is used to configure the the amount of memory blocks - allocated to channel2.*/ -#define RMT_MEM_SIZE_CH2 0x0000000F -#define RMT_MEM_SIZE_CH2_M ((RMT_MEM_SIZE_CH2_V)<<(RMT_MEM_SIZE_CH2_S)) -#define RMT_MEM_SIZE_CH2_V 0xF -#define RMT_MEM_SIZE_CH2_S 24 -/* RMT_IDLE_THRES_CH2 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ -/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch2 - then the receive process is done.*/ -#define RMT_IDLE_THRES_CH2 0x0000FFFF -#define RMT_IDLE_THRES_CH2_M ((RMT_IDLE_THRES_CH2_V)<<(RMT_IDLE_THRES_CH2_S)) -#define RMT_IDLE_THRES_CH2_V 0xFFFF -#define RMT_IDLE_THRES_CH2_S 8 -/* RMT_DIV_CNT_CH2 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ -/*description: This register is used to configure the frequency divider's factor in channel2.*/ -#define RMT_DIV_CNT_CH2 0x000000FF -#define RMT_DIV_CNT_CH2_M ((RMT_DIV_CNT_CH2_V)<<(RMT_DIV_CNT_CH2_S)) -#define RMT_DIV_CNT_CH2_V 0xFF -#define RMT_DIV_CNT_CH2_S 0 - -#define RMT_CH2CONF1_REG (DR_REG_RMT_BASE + 0x0034) -/* RMT_IDLE_OUT_EN_CH2 : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for channel2 in IDLE state.*/ -#define RMT_IDLE_OUT_EN_CH2 (BIT(19)) -#define RMT_IDLE_OUT_EN_CH2_M (BIT(19)) -#define RMT_IDLE_OUT_EN_CH2_V 0x1 -#define RMT_IDLE_OUT_EN_CH2_S 19 -/* RMT_IDLE_OUT_LV_CH2 : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This bit configures the output signal's level for channel2 in IDLE state.*/ -#define RMT_IDLE_OUT_LV_CH2 (BIT(18)) -#define RMT_IDLE_OUT_LV_CH2_M (BIT(18)) -#define RMT_IDLE_OUT_LV_CH2_V 0x1 -#define RMT_IDLE_OUT_LV_CH2_S 18 -/* RMT_REF_ALWAYS_ON_CH2 : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ -#define RMT_REF_ALWAYS_ON_CH2 (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH2_M (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH2_V 0x1 -#define RMT_REF_ALWAYS_ON_CH2_S 17 -/* RMT_REF_CNT_RST_CH2 : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This bit is used to reset divider in channel2.*/ -#define RMT_REF_CNT_RST_CH2 (BIT(16)) -#define RMT_REF_CNT_RST_CH2_M (BIT(16)) -#define RMT_REF_CNT_RST_CH2_V 0x1 -#define RMT_REF_CNT_RST_CH2_S 16 -/* RMT_RX_FILTER_THRES_CH2 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ -/*description: in receive mode channel2 ignore input pulse when the pulse width - is smaller then this value.*/ -#define RMT_RX_FILTER_THRES_CH2 0x000000FF -#define RMT_RX_FILTER_THRES_CH2_M ((RMT_RX_FILTER_THRES_CH2_V)<<(RMT_RX_FILTER_THRES_CH2_S)) -#define RMT_RX_FILTER_THRES_CH2_V 0xFF -#define RMT_RX_FILTER_THRES_CH2_S 8 -/* RMT_RX_FILTER_EN_CH2 : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the receive filter enable bit for channel2.*/ -#define RMT_RX_FILTER_EN_CH2 (BIT(7)) -#define RMT_RX_FILTER_EN_CH2_M (BIT(7)) -#define RMT_RX_FILTER_EN_CH2_V 0x1 -#define RMT_RX_FILTER_EN_CH2_S 7 -/* RMT_TX_CONTI_MODE_CH2 : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to continue sending from the first data to the - last data in channel2.*/ -#define RMT_TX_CONTI_MODE_CH2 (BIT(6)) -#define RMT_TX_CONTI_MODE_CH2_M (BIT(6)) -#define RMT_TX_CONTI_MODE_CH2_V 0x1 -#define RMT_TX_CONTI_MODE_CH2_S 6 -/* RMT_MEM_OWNER_CH2 : R/W ;bitpos:[5] ;default: 1'b1 ; */ -/*description: This is the mark of channel2's ram usage right.1'b1:receiver - uses the ram 0:transmitter uses the ram*/ -#define RMT_MEM_OWNER_CH2 (BIT(5)) -#define RMT_MEM_OWNER_CH2_M (BIT(5)) -#define RMT_MEM_OWNER_CH2_V 0x1 -#define RMT_MEM_OWNER_CH2_S 5 -/* RMT_APB_MEM_RST_CH2 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to reset W/R ram address for channel2 by apb fifo access*/ -#define RMT_APB_MEM_RST_CH2 (BIT(4)) -#define RMT_APB_MEM_RST_CH2_M (BIT(4)) -#define RMT_APB_MEM_RST_CH2_V 0x1 -#define RMT_APB_MEM_RST_CH2_S 4 -/* RMT_MEM_RD_RST_CH2 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to reset read ram address for channel2 by transmitter access.*/ -#define RMT_MEM_RD_RST_CH2 (BIT(3)) -#define RMT_MEM_RD_RST_CH2_M (BIT(3)) -#define RMT_MEM_RD_RST_CH2_V 0x1 -#define RMT_MEM_RD_RST_CH2_S 3 -/* RMT_MEM_WR_RST_CH2 : R/W ;bitpos:[2] ;default: 1'h0 ; */ -/*description: Set this bit to reset write ram address for channel2 by receiver access.*/ -#define RMT_MEM_WR_RST_CH2 (BIT(2)) -#define RMT_MEM_WR_RST_CH2_M (BIT(2)) -#define RMT_MEM_WR_RST_CH2_V 0x1 -#define RMT_MEM_WR_RST_CH2_S 2 -/* RMT_RX_EN_CH2 : R/W ;bitpos:[1] ;default: 1'h0 ; */ -/*description: Set this bit to enbale receving data for channel2.*/ -#define RMT_RX_EN_CH2 (BIT(1)) -#define RMT_RX_EN_CH2_M (BIT(1)) -#define RMT_RX_EN_CH2_V 0x1 -#define RMT_RX_EN_CH2_S 1 -/* RMT_TX_START_CH2 : R/W ;bitpos:[0] ;default: 1'h0 ; */ -/*description: Set this bit to start sending data for channel2.*/ -#define RMT_TX_START_CH2 (BIT(0)) -#define RMT_TX_START_CH2_M (BIT(0)) -#define RMT_TX_START_CH2_V 0x1 -#define RMT_TX_START_CH2_S 0 - -#define RMT_CH3CONF0_REG (DR_REG_RMT_BASE + 0x0038) -/* RMT_CARRIER_OUT_LV_CH3 : R/W ;bitpos:[29] ;default: 1'b1 ; */ -/*description: This bit is used to configure carrier wave's position for channel3.1'b1:add - on low level 1'b0:add on high level.*/ -#define RMT_CARRIER_OUT_LV_CH3 (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH3_M (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH3_V 0x1 -#define RMT_CARRIER_OUT_LV_CH3_S 29 -/* RMT_CARRIER_EN_CH3 : R/W ;bitpos:[28] ;default: 1'b1 ; */ -/*description: This is the carrier modulation enable control bit for channel3.*/ -#define RMT_CARRIER_EN_CH3 (BIT(28)) -#define RMT_CARRIER_EN_CH3_M (BIT(28)) -#define RMT_CARRIER_EN_CH3_V 0x1 -#define RMT_CARRIER_EN_CH3_S 28 -/* RMT_MEM_SIZE_CH3 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ -/*description: This register is used to configure the the amount of memory blocks - allocated to channel3.*/ -#define RMT_MEM_SIZE_CH3 0x0000000F -#define RMT_MEM_SIZE_CH3_M ((RMT_MEM_SIZE_CH3_V)<<(RMT_MEM_SIZE_CH3_S)) -#define RMT_MEM_SIZE_CH3_V 0xF -#define RMT_MEM_SIZE_CH3_S 24 -/* RMT_IDLE_THRES_CH3 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ -/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch3 - then the receive process is done.*/ -#define RMT_IDLE_THRES_CH3 0x0000FFFF -#define RMT_IDLE_THRES_CH3_M ((RMT_IDLE_THRES_CH3_V)<<(RMT_IDLE_THRES_CH3_S)) -#define RMT_IDLE_THRES_CH3_V 0xFFFF -#define RMT_IDLE_THRES_CH3_S 8 -/* RMT_DIV_CNT_CH3 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ -/*description: This register is used to configure the frequency divider's factor in channel3.*/ -#define RMT_DIV_CNT_CH3 0x000000FF -#define RMT_DIV_CNT_CH3_M ((RMT_DIV_CNT_CH3_V)<<(RMT_DIV_CNT_CH3_S)) -#define RMT_DIV_CNT_CH3_V 0xFF -#define RMT_DIV_CNT_CH3_S 0 - -#define RMT_CH3CONF1_REG (DR_REG_RMT_BASE + 0x003c) -/* RMT_IDLE_OUT_EN_CH3 : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for channel3 in IDLE state.*/ -#define RMT_IDLE_OUT_EN_CH3 (BIT(19)) -#define RMT_IDLE_OUT_EN_CH3_M (BIT(19)) -#define RMT_IDLE_OUT_EN_CH3_V 0x1 -#define RMT_IDLE_OUT_EN_CH3_S 19 -/* RMT_IDLE_OUT_LV_CH3 : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This bit configures the output signal's level for channel3 in IDLE state.*/ -#define RMT_IDLE_OUT_LV_CH3 (BIT(18)) -#define RMT_IDLE_OUT_LV_CH3_M (BIT(18)) -#define RMT_IDLE_OUT_LV_CH3_V 0x1 -#define RMT_IDLE_OUT_LV_CH3_S 18 -/* RMT_REF_ALWAYS_ON_CH3 : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ -#define RMT_REF_ALWAYS_ON_CH3 (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH3_M (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH3_V 0x1 -#define RMT_REF_ALWAYS_ON_CH3_S 17 -/* RMT_REF_CNT_RST_CH3 : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This bit is used to reset divider in channel3.*/ -#define RMT_REF_CNT_RST_CH3 (BIT(16)) -#define RMT_REF_CNT_RST_CH3_M (BIT(16)) -#define RMT_REF_CNT_RST_CH3_V 0x1 -#define RMT_REF_CNT_RST_CH3_S 16 -/* RMT_RX_FILTER_THRES_CH3 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ -/*description: in receive mode channel3 ignore input pulse when the pulse width - is smaller then this value.*/ -#define RMT_RX_FILTER_THRES_CH3 0x000000FF -#define RMT_RX_FILTER_THRES_CH3_M ((RMT_RX_FILTER_THRES_CH3_V)<<(RMT_RX_FILTER_THRES_CH3_S)) -#define RMT_RX_FILTER_THRES_CH3_V 0xFF -#define RMT_RX_FILTER_THRES_CH3_S 8 -/* RMT_RX_FILTER_EN_CH3 : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the receive filter enable bit for channel3.*/ -#define RMT_RX_FILTER_EN_CH3 (BIT(7)) -#define RMT_RX_FILTER_EN_CH3_M (BIT(7)) -#define RMT_RX_FILTER_EN_CH3_V 0x1 -#define RMT_RX_FILTER_EN_CH3_S 7 -/* RMT_TX_CONTI_MODE_CH3 : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to continue sending from the first data to the - last data in channel3.*/ -#define RMT_TX_CONTI_MODE_CH3 (BIT(6)) -#define RMT_TX_CONTI_MODE_CH3_M (BIT(6)) -#define RMT_TX_CONTI_MODE_CH3_V 0x1 -#define RMT_TX_CONTI_MODE_CH3_S 6 -/* RMT_MEM_OWNER_CH3 : R/W ;bitpos:[5] ;default: 1'b1 ; */ -/*description: This is the mark of channel3's ram usage right.1'b1:receiver - uses the ram 0:transmitter uses the ram*/ -#define RMT_MEM_OWNER_CH3 (BIT(5)) -#define RMT_MEM_OWNER_CH3_M (BIT(5)) -#define RMT_MEM_OWNER_CH3_V 0x1 -#define RMT_MEM_OWNER_CH3_S 5 -/* RMT_APB_MEM_RST_CH3 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to reset W/R ram address for channel3 by apb fifo access*/ -#define RMT_APB_MEM_RST_CH3 (BIT(4)) -#define RMT_APB_MEM_RST_CH3_M (BIT(4)) -#define RMT_APB_MEM_RST_CH3_V 0x1 -#define RMT_APB_MEM_RST_CH3_S 4 -/* RMT_MEM_RD_RST_CH3 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to reset read ram address for channel3 by transmitter access.*/ -#define RMT_MEM_RD_RST_CH3 (BIT(3)) -#define RMT_MEM_RD_RST_CH3_M (BIT(3)) -#define RMT_MEM_RD_RST_CH3_V 0x1 -#define RMT_MEM_RD_RST_CH3_S 3 -/* RMT_MEM_WR_RST_CH3 : R/W ;bitpos:[2] ;default: 1'h0 ; */ -/*description: Set this bit to reset write ram address for channel3 by receiver access.*/ -#define RMT_MEM_WR_RST_CH3 (BIT(2)) -#define RMT_MEM_WR_RST_CH3_M (BIT(2)) -#define RMT_MEM_WR_RST_CH3_V 0x1 -#define RMT_MEM_WR_RST_CH3_S 2 -/* RMT_RX_EN_CH3 : R/W ;bitpos:[1] ;default: 1'h0 ; */ -/*description: Set this bit to enbale receving data for channel3.*/ -#define RMT_RX_EN_CH3 (BIT(1)) -#define RMT_RX_EN_CH3_M (BIT(1)) -#define RMT_RX_EN_CH3_V 0x1 -#define RMT_RX_EN_CH3_S 1 -/* RMT_TX_START_CH3 : R/W ;bitpos:[0] ;default: 1'h0 ; */ -/*description: Set this bit to start sending data for channel3.*/ -#define RMT_TX_START_CH3 (BIT(0)) -#define RMT_TX_START_CH3_M (BIT(0)) -#define RMT_TX_START_CH3_V 0x1 -#define RMT_TX_START_CH3_S 0 - -#define RMT_CH4CONF0_REG (DR_REG_RMT_BASE + 0x0040) -/* RMT_CARRIER_OUT_LV_CH4 : R/W ;bitpos:[29] ;default: 1'b1 ; */ -/*description: This bit is used to configure carrier wave's position for channel4.1'b1:add - on low level 1'b0:add on high level.*/ -#define RMT_CARRIER_OUT_LV_CH4 (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH4_M (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH4_V 0x1 -#define RMT_CARRIER_OUT_LV_CH4_S 29 -/* RMT_CARRIER_EN_CH4 : R/W ;bitpos:[28] ;default: 1'b1 ; */ -/*description: This is the carrier modulation enable control bit for channel4.*/ -#define RMT_CARRIER_EN_CH4 (BIT(28)) -#define RMT_CARRIER_EN_CH4_M (BIT(28)) -#define RMT_CARRIER_EN_CH4_V 0x1 -#define RMT_CARRIER_EN_CH4_S 28 -/* RMT_MEM_SIZE_CH4 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ -/*description: This register is used to configure the the amount of memory blocks - allocated to channel4.*/ -#define RMT_MEM_SIZE_CH4 0x0000000F -#define RMT_MEM_SIZE_CH4_M ((RMT_MEM_SIZE_CH4_V)<<(RMT_MEM_SIZE_CH4_S)) -#define RMT_MEM_SIZE_CH4_V 0xF -#define RMT_MEM_SIZE_CH4_S 24 -/* RMT_IDLE_THRES_CH4 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ -/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch4 - then the receive process is done.*/ -#define RMT_IDLE_THRES_CH4 0x0000FFFF -#define RMT_IDLE_THRES_CH4_M ((RMT_IDLE_THRES_CH4_V)<<(RMT_IDLE_THRES_CH4_S)) -#define RMT_IDLE_THRES_CH4_V 0xFFFF -#define RMT_IDLE_THRES_CH4_S 8 -/* RMT_DIV_CNT_CH4 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ -/*description: This register is used to configure the frequency divider's factor in channel4.*/ -#define RMT_DIV_CNT_CH4 0x000000FF -#define RMT_DIV_CNT_CH4_M ((RMT_DIV_CNT_CH4_V)<<(RMT_DIV_CNT_CH4_S)) -#define RMT_DIV_CNT_CH4_V 0xFF -#define RMT_DIV_CNT_CH4_S 0 - -#define RMT_CH4CONF1_REG (DR_REG_RMT_BASE + 0x0044) -/* RMT_IDLE_OUT_EN_CH4 : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for channel4 in IDLE state.*/ -#define RMT_IDLE_OUT_EN_CH4 (BIT(19)) -#define RMT_IDLE_OUT_EN_CH4_M (BIT(19)) -#define RMT_IDLE_OUT_EN_CH4_V 0x1 -#define RMT_IDLE_OUT_EN_CH4_S 19 -/* RMT_IDLE_OUT_LV_CH4 : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This bit configures the output signal's level for channel4 in IDLE state.*/ -#define RMT_IDLE_OUT_LV_CH4 (BIT(18)) -#define RMT_IDLE_OUT_LV_CH4_M (BIT(18)) -#define RMT_IDLE_OUT_LV_CH4_V 0x1 -#define RMT_IDLE_OUT_LV_CH4_S 18 -/* RMT_REF_ALWAYS_ON_CH4 : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ -#define RMT_REF_ALWAYS_ON_CH4 (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH4_M (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH4_V 0x1 -#define RMT_REF_ALWAYS_ON_CH4_S 17 -/* RMT_REF_CNT_RST_CH4 : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This bit is used to reset divider in channel4.*/ -#define RMT_REF_CNT_RST_CH4 (BIT(16)) -#define RMT_REF_CNT_RST_CH4_M (BIT(16)) -#define RMT_REF_CNT_RST_CH4_V 0x1 -#define RMT_REF_CNT_RST_CH4_S 16 -/* RMT_RX_FILTER_THRES_CH4 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ -/*description: in receive mode channel4 ignore input pulse when the pulse width - is smaller then this value.*/ -#define RMT_RX_FILTER_THRES_CH4 0x000000FF -#define RMT_RX_FILTER_THRES_CH4_M ((RMT_RX_FILTER_THRES_CH4_V)<<(RMT_RX_FILTER_THRES_CH4_S)) -#define RMT_RX_FILTER_THRES_CH4_V 0xFF -#define RMT_RX_FILTER_THRES_CH4_S 8 -/* RMT_RX_FILTER_EN_CH4 : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the receive filter enable bit for channel4.*/ -#define RMT_RX_FILTER_EN_CH4 (BIT(7)) -#define RMT_RX_FILTER_EN_CH4_M (BIT(7)) -#define RMT_RX_FILTER_EN_CH4_V 0x1 -#define RMT_RX_FILTER_EN_CH4_S 7 -/* RMT_TX_CONTI_MODE_CH4 : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to continue sending from the first data to the - last data in channel4.*/ -#define RMT_TX_CONTI_MODE_CH4 (BIT(6)) -#define RMT_TX_CONTI_MODE_CH4_M (BIT(6)) -#define RMT_TX_CONTI_MODE_CH4_V 0x1 -#define RMT_TX_CONTI_MODE_CH4_S 6 -/* RMT_MEM_OWNER_CH4 : R/W ;bitpos:[5] ;default: 1'b1 ; */ -/*description: This is the mark of channel4's ram usage right.1'b1:receiver - uses the ram 0:transmitter uses the ram*/ -#define RMT_MEM_OWNER_CH4 (BIT(5)) -#define RMT_MEM_OWNER_CH4_M (BIT(5)) -#define RMT_MEM_OWNER_CH4_V 0x1 -#define RMT_MEM_OWNER_CH4_S 5 -/* RMT_APB_MEM_RST_CH4 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to reset W/R ram address for channel4 by apb fifo access*/ -#define RMT_APB_MEM_RST_CH4 (BIT(4)) -#define RMT_APB_MEM_RST_CH4_M (BIT(4)) -#define RMT_APB_MEM_RST_CH4_V 0x1 -#define RMT_APB_MEM_RST_CH4_S 4 -/* RMT_MEM_RD_RST_CH4 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to reset read ram address for channel4 by transmitter access.*/ -#define RMT_MEM_RD_RST_CH4 (BIT(3)) -#define RMT_MEM_RD_RST_CH4_M (BIT(3)) -#define RMT_MEM_RD_RST_CH4_V 0x1 -#define RMT_MEM_RD_RST_CH4_S 3 -/* RMT_MEM_WR_RST_CH4 : R/W ;bitpos:[2] ;default: 1'h0 ; */ -/*description: Set this bit to reset write ram address for channel4 by receiver access.*/ -#define RMT_MEM_WR_RST_CH4 (BIT(2)) -#define RMT_MEM_WR_RST_CH4_M (BIT(2)) -#define RMT_MEM_WR_RST_CH4_V 0x1 -#define RMT_MEM_WR_RST_CH4_S 2 -/* RMT_RX_EN_CH4 : R/W ;bitpos:[1] ;default: 1'h0 ; */ -/*description: Set this bit to enbale receving data for channel4.*/ -#define RMT_RX_EN_CH4 (BIT(1)) -#define RMT_RX_EN_CH4_M (BIT(1)) -#define RMT_RX_EN_CH4_V 0x1 -#define RMT_RX_EN_CH4_S 1 -/* RMT_TX_START_CH4 : R/W ;bitpos:[0] ;default: 1'h0 ; */ -/*description: Set this bit to start sending data for channel4.*/ -#define RMT_TX_START_CH4 (BIT(0)) -#define RMT_TX_START_CH4_M (BIT(0)) -#define RMT_TX_START_CH4_V 0x1 -#define RMT_TX_START_CH4_S 0 - -#define RMT_CH5CONF0_REG (DR_REG_RMT_BASE + 0x0048) -/* RMT_CARRIER_OUT_LV_CH5 : R/W ;bitpos:[29] ;default: 1'b1 ; */ -/*description: This bit is used to configure carrier wave's position for channel5.1'b1:add - on low level 1'b0:add on high level.*/ -#define RMT_CARRIER_OUT_LV_CH5 (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH5_M (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH5_V 0x1 -#define RMT_CARRIER_OUT_LV_CH5_S 29 -/* RMT_CARRIER_EN_CH5 : R/W ;bitpos:[28] ;default: 1'b1 ; */ -/*description: This is the carrier modulation enable control bit for channel5.*/ -#define RMT_CARRIER_EN_CH5 (BIT(28)) -#define RMT_CARRIER_EN_CH5_M (BIT(28)) -#define RMT_CARRIER_EN_CH5_V 0x1 -#define RMT_CARRIER_EN_CH5_S 28 -/* RMT_MEM_SIZE_CH5 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ -/*description: This register is used to configure the the amount of memory blocks - allocated to channel5.*/ -#define RMT_MEM_SIZE_CH5 0x0000000F -#define RMT_MEM_SIZE_CH5_M ((RMT_MEM_SIZE_CH5_V)<<(RMT_MEM_SIZE_CH5_S)) -#define RMT_MEM_SIZE_CH5_V 0xF -#define RMT_MEM_SIZE_CH5_S 24 -/* RMT_IDLE_THRES_CH5 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ -/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch5 - then the receive process is done.*/ -#define RMT_IDLE_THRES_CH5 0x0000FFFF -#define RMT_IDLE_THRES_CH5_M ((RMT_IDLE_THRES_CH5_V)<<(RMT_IDLE_THRES_CH5_S)) -#define RMT_IDLE_THRES_CH5_V 0xFFFF -#define RMT_IDLE_THRES_CH5_S 8 -/* RMT_DIV_CNT_CH5 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ -/*description: This register is used to configure the frequency divider's factor in channel5.*/ -#define RMT_DIV_CNT_CH5 0x000000FF -#define RMT_DIV_CNT_CH5_M ((RMT_DIV_CNT_CH5_V)<<(RMT_DIV_CNT_CH5_S)) -#define RMT_DIV_CNT_CH5_V 0xFF -#define RMT_DIV_CNT_CH5_S 0 - -#define RMT_CH5CONF1_REG (DR_REG_RMT_BASE + 0x004c) -/* RMT_IDLE_OUT_EN_CH5 : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for channel5 in IDLE state.*/ -#define RMT_IDLE_OUT_EN_CH5 (BIT(19)) -#define RMT_IDLE_OUT_EN_CH5_M (BIT(19)) -#define RMT_IDLE_OUT_EN_CH5_V 0x1 -#define RMT_IDLE_OUT_EN_CH5_S 19 -/* RMT_IDLE_OUT_LV_CH5 : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This bit configures the output signal's level for channel5 in IDLE state.*/ -#define RMT_IDLE_OUT_LV_CH5 (BIT(18)) -#define RMT_IDLE_OUT_LV_CH5_M (BIT(18)) -#define RMT_IDLE_OUT_LV_CH5_V 0x1 -#define RMT_IDLE_OUT_LV_CH5_S 18 -/* RMT_REF_ALWAYS_ON_CH5 : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ -#define RMT_REF_ALWAYS_ON_CH5 (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH5_M (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH5_V 0x1 -#define RMT_REF_ALWAYS_ON_CH5_S 17 -/* RMT_REF_CNT_RST_CH5 : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This bit is used to reset divider in channel5.*/ -#define RMT_REF_CNT_RST_CH5 (BIT(16)) -#define RMT_REF_CNT_RST_CH5_M (BIT(16)) -#define RMT_REF_CNT_RST_CH5_V 0x1 -#define RMT_REF_CNT_RST_CH5_S 16 -/* RMT_RX_FILTER_THRES_CH5 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ -/*description: in receive mode channel5 ignore input pulse when the pulse width - is smaller then this value.*/ -#define RMT_RX_FILTER_THRES_CH5 0x000000FF -#define RMT_RX_FILTER_THRES_CH5_M ((RMT_RX_FILTER_THRES_CH5_V)<<(RMT_RX_FILTER_THRES_CH5_S)) -#define RMT_RX_FILTER_THRES_CH5_V 0xFF -#define RMT_RX_FILTER_THRES_CH5_S 8 -/* RMT_RX_FILTER_EN_CH5 : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the receive filter enable bit for channel5.*/ -#define RMT_RX_FILTER_EN_CH5 (BIT(7)) -#define RMT_RX_FILTER_EN_CH5_M (BIT(7)) -#define RMT_RX_FILTER_EN_CH5_V 0x1 -#define RMT_RX_FILTER_EN_CH5_S 7 -/* RMT_TX_CONTI_MODE_CH5 : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to continue sending from the first data to the - last data in channel5.*/ -#define RMT_TX_CONTI_MODE_CH5 (BIT(6)) -#define RMT_TX_CONTI_MODE_CH5_M (BIT(6)) -#define RMT_TX_CONTI_MODE_CH5_V 0x1 -#define RMT_TX_CONTI_MODE_CH5_S 6 -/* RMT_MEM_OWNER_CH5 : R/W ;bitpos:[5] ;default: 1'b1 ; */ -/*description: This is the mark of channel5's ram usage right.1'b1:receiver - uses the ram 0:transmitter uses the ram*/ -#define RMT_MEM_OWNER_CH5 (BIT(5)) -#define RMT_MEM_OWNER_CH5_M (BIT(5)) -#define RMT_MEM_OWNER_CH5_V 0x1 -#define RMT_MEM_OWNER_CH5_S 5 -/* RMT_APB_MEM_RST_CH5 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to reset W/R ram address for channel5 by apb fifo access*/ -#define RMT_APB_MEM_RST_CH5 (BIT(4)) -#define RMT_APB_MEM_RST_CH5_M (BIT(4)) -#define RMT_APB_MEM_RST_CH5_V 0x1 -#define RMT_APB_MEM_RST_CH5_S 4 -/* RMT_MEM_RD_RST_CH5 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to reset read ram address for channel5 by transmitter access.*/ -#define RMT_MEM_RD_RST_CH5 (BIT(3)) -#define RMT_MEM_RD_RST_CH5_M (BIT(3)) -#define RMT_MEM_RD_RST_CH5_V 0x1 -#define RMT_MEM_RD_RST_CH5_S 3 -/* RMT_MEM_WR_RST_CH5 : R/W ;bitpos:[2] ;default: 1'h0 ; */ -/*description: Set this bit to reset write ram address for channel5 by receiver access.*/ -#define RMT_MEM_WR_RST_CH5 (BIT(2)) -#define RMT_MEM_WR_RST_CH5_M (BIT(2)) -#define RMT_MEM_WR_RST_CH5_V 0x1 -#define RMT_MEM_WR_RST_CH5_S 2 -/* RMT_RX_EN_CH5 : R/W ;bitpos:[1] ;default: 1'h0 ; */ -/*description: Set this bit to enbale receving data for channel5.*/ -#define RMT_RX_EN_CH5 (BIT(1)) -#define RMT_RX_EN_CH5_M (BIT(1)) -#define RMT_RX_EN_CH5_V 0x1 -#define RMT_RX_EN_CH5_S 1 -/* RMT_TX_START_CH5 : R/W ;bitpos:[0] ;default: 1'h0 ; */ -/*description: Set this bit to start sending data for channel5.*/ -#define RMT_TX_START_CH5 (BIT(0)) -#define RMT_TX_START_CH5_M (BIT(0)) -#define RMT_TX_START_CH5_V 0x1 -#define RMT_TX_START_CH5_S 0 - -#define RMT_CH6CONF0_REG (DR_REG_RMT_BASE + 0x0050) -/* RMT_CARRIER_OUT_LV_CH6 : R/W ;bitpos:[29] ;default: 1'b1 ; */ -/*description: This bit is used to configure carrier wave's position for channel6.1'b1:add - on low level 1'b0:add on high level.*/ -#define RMT_CARRIER_OUT_LV_CH6 (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH6_M (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH6_V 0x1 -#define RMT_CARRIER_OUT_LV_CH6_S 29 -/* RMT_CARRIER_EN_CH6 : R/W ;bitpos:[28] ;default: 1'b1 ; */ -/*description: This is the carrier modulation enable control bit for channel6.*/ -#define RMT_CARRIER_EN_CH6 (BIT(28)) -#define RMT_CARRIER_EN_CH6_M (BIT(28)) -#define RMT_CARRIER_EN_CH6_V 0x1 -#define RMT_CARRIER_EN_CH6_S 28 -/* RMT_MEM_SIZE_CH6 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ -/*description: This register is used to configure the the amount of memory blocks - allocated to channel6.*/ -#define RMT_MEM_SIZE_CH6 0x0000000F -#define RMT_MEM_SIZE_CH6_M ((RMT_MEM_SIZE_CH6_V)<<(RMT_MEM_SIZE_CH6_S)) -#define RMT_MEM_SIZE_CH6_V 0xF -#define RMT_MEM_SIZE_CH6_S 24 -/* RMT_IDLE_THRES_CH6 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ -/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch6 - then the receive process is done.*/ -#define RMT_IDLE_THRES_CH6 0x0000FFFF -#define RMT_IDLE_THRES_CH6_M ((RMT_IDLE_THRES_CH6_V)<<(RMT_IDLE_THRES_CH6_S)) -#define RMT_IDLE_THRES_CH6_V 0xFFFF -#define RMT_IDLE_THRES_CH6_S 8 -/* RMT_DIV_CNT_CH6 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ -/*description: This register is used to configure the frequency divider's factor in channel6.*/ -#define RMT_DIV_CNT_CH6 0x000000FF -#define RMT_DIV_CNT_CH6_M ((RMT_DIV_CNT_CH6_V)<<(RMT_DIV_CNT_CH6_S)) -#define RMT_DIV_CNT_CH6_V 0xFF -#define RMT_DIV_CNT_CH6_S 0 - -#define RMT_CH6CONF1_REG (DR_REG_RMT_BASE + 0x0054) -/* RMT_IDLE_OUT_EN_CH6 : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for channel6 in IDLE state.*/ -#define RMT_IDLE_OUT_EN_CH6 (BIT(19)) -#define RMT_IDLE_OUT_EN_CH6_M (BIT(19)) -#define RMT_IDLE_OUT_EN_CH6_V 0x1 -#define RMT_IDLE_OUT_EN_CH6_S 19 -/* RMT_IDLE_OUT_LV_CH6 : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This bit configures the output signal's level for channel6 in IDLE state.*/ -#define RMT_IDLE_OUT_LV_CH6 (BIT(18)) -#define RMT_IDLE_OUT_LV_CH6_M (BIT(18)) -#define RMT_IDLE_OUT_LV_CH6_V 0x1 -#define RMT_IDLE_OUT_LV_CH6_S 18 -/* RMT_REF_ALWAYS_ON_CH6 : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ -#define RMT_REF_ALWAYS_ON_CH6 (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH6_M (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH6_V 0x1 -#define RMT_REF_ALWAYS_ON_CH6_S 17 -/* RMT_REF_CNT_RST_CH6 : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This bit is used to reset divider in channel6.*/ -#define RMT_REF_CNT_RST_CH6 (BIT(16)) -#define RMT_REF_CNT_RST_CH6_M (BIT(16)) -#define RMT_REF_CNT_RST_CH6_V 0x1 -#define RMT_REF_CNT_RST_CH6_S 16 -/* RMT_RX_FILTER_THRES_CH6 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ -/*description: in receive mode channel6 ignore input pulse when the pulse width - is smaller then this value.*/ -#define RMT_RX_FILTER_THRES_CH6 0x000000FF -#define RMT_RX_FILTER_THRES_CH6_M ((RMT_RX_FILTER_THRES_CH6_V)<<(RMT_RX_FILTER_THRES_CH6_S)) -#define RMT_RX_FILTER_THRES_CH6_V 0xFF -#define RMT_RX_FILTER_THRES_CH6_S 8 -/* RMT_RX_FILTER_EN_CH6 : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the receive filter enable bit for channel6.*/ -#define RMT_RX_FILTER_EN_CH6 (BIT(7)) -#define RMT_RX_FILTER_EN_CH6_M (BIT(7)) -#define RMT_RX_FILTER_EN_CH6_V 0x1 -#define RMT_RX_FILTER_EN_CH6_S 7 -/* RMT_TX_CONTI_MODE_CH6 : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to continue sending from the first data to the - last data in channel6.*/ -#define RMT_TX_CONTI_MODE_CH6 (BIT(6)) -#define RMT_TX_CONTI_MODE_CH6_M (BIT(6)) -#define RMT_TX_CONTI_MODE_CH6_V 0x1 -#define RMT_TX_CONTI_MODE_CH6_S 6 -/* RMT_MEM_OWNER_CH6 : R/W ;bitpos:[5] ;default: 1'b1 ; */ -/*description: This is the mark of channel6's ram usage right.1'b1:receiver - uses the ram 0:transmitter uses the ram*/ -#define RMT_MEM_OWNER_CH6 (BIT(5)) -#define RMT_MEM_OWNER_CH6_M (BIT(5)) -#define RMT_MEM_OWNER_CH6_V 0x1 -#define RMT_MEM_OWNER_CH6_S 5 -/* RMT_APB_MEM_RST_CH6 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to reset W/R ram address for channel6 by apb fifo access*/ -#define RMT_APB_MEM_RST_CH6 (BIT(4)) -#define RMT_APB_MEM_RST_CH6_M (BIT(4)) -#define RMT_APB_MEM_RST_CH6_V 0x1 -#define RMT_APB_MEM_RST_CH6_S 4 -/* RMT_MEM_RD_RST_CH6 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to reset read ram address for channel6 by transmitter access.*/ -#define RMT_MEM_RD_RST_CH6 (BIT(3)) -#define RMT_MEM_RD_RST_CH6_M (BIT(3)) -#define RMT_MEM_RD_RST_CH6_V 0x1 -#define RMT_MEM_RD_RST_CH6_S 3 -/* RMT_MEM_WR_RST_CH6 : R/W ;bitpos:[2] ;default: 1'h0 ; */ -/*description: Set this bit to reset write ram address for channel6 by receiver access.*/ -#define RMT_MEM_WR_RST_CH6 (BIT(2)) -#define RMT_MEM_WR_RST_CH6_M (BIT(2)) -#define RMT_MEM_WR_RST_CH6_V 0x1 -#define RMT_MEM_WR_RST_CH6_S 2 -/* RMT_RX_EN_CH6 : R/W ;bitpos:[1] ;default: 1'h0 ; */ -/*description: Set this bit to enbale receving data for channel6.*/ -#define RMT_RX_EN_CH6 (BIT(1)) -#define RMT_RX_EN_CH6_M (BIT(1)) -#define RMT_RX_EN_CH6_V 0x1 -#define RMT_RX_EN_CH6_S 1 -/* RMT_TX_START_CH6 : R/W ;bitpos:[0] ;default: 1'h0 ; */ -/*description: Set this bit to start sending data for channel6.*/ -#define RMT_TX_START_CH6 (BIT(0)) -#define RMT_TX_START_CH6_M (BIT(0)) -#define RMT_TX_START_CH6_V 0x1 -#define RMT_TX_START_CH6_S 0 - -#define RMT_CH7CONF0_REG (DR_REG_RMT_BASE + 0x0058) -/* RMT_CARRIER_OUT_LV_CH7 : R/W ;bitpos:[29] ;default: 1'b1 ; */ -/*description: This bit is used to configure carrier wave's position for channel7.1'b1:add - on low level 1'b0:add on high level.*/ -#define RMT_CARRIER_OUT_LV_CH7 (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH7_M (BIT(29)) -#define RMT_CARRIER_OUT_LV_CH7_V 0x1 -#define RMT_CARRIER_OUT_LV_CH7_S 29 -/* RMT_CARRIER_EN_CH7 : R/W ;bitpos:[28] ;default: 1'b1 ; */ -/*description: This is the carrier modulation enable control bit for channel7.*/ -#define RMT_CARRIER_EN_CH7 (BIT(28)) -#define RMT_CARRIER_EN_CH7_M (BIT(28)) -#define RMT_CARRIER_EN_CH7_V 0x1 -#define RMT_CARRIER_EN_CH7_S 28 -/* RMT_MEM_SIZE_CH7 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ -/*description: This register is used to configure the the amount of memory blocks - allocated to channel7.*/ -#define RMT_MEM_SIZE_CH7 0x0000000F -#define RMT_MEM_SIZE_CH7_M ((RMT_MEM_SIZE_CH7_V)<<(RMT_MEM_SIZE_CH7_S)) -#define RMT_MEM_SIZE_CH7_V 0xF -#define RMT_MEM_SIZE_CH7_S 24 -/* RMT_IDLE_THRES_CH7 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ -/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch7 - then the receive process is done.*/ -#define RMT_IDLE_THRES_CH7 0x0000FFFF -#define RMT_IDLE_THRES_CH7_M ((RMT_IDLE_THRES_CH7_V)<<(RMT_IDLE_THRES_CH7_S)) -#define RMT_IDLE_THRES_CH7_V 0xFFFF -#define RMT_IDLE_THRES_CH7_S 8 -/* RMT_DIV_CNT_CH7 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ -/*description: This register is used to configure the frequency divider's factor in channel7.*/ -#define RMT_DIV_CNT_CH7 0x000000FF -#define RMT_DIV_CNT_CH7_M ((RMT_DIV_CNT_CH7_V)<<(RMT_DIV_CNT_CH7_S)) -#define RMT_DIV_CNT_CH7_V 0xFF -#define RMT_DIV_CNT_CH7_S 0 - -#define RMT_CH7CONF1_REG (DR_REG_RMT_BASE + 0x005c) -/* RMT_IDLE_OUT_EN_CH7 : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: This is the output enable control bit for channel6 in IDLE state.*/ -#define RMT_IDLE_OUT_EN_CH7 (BIT(19)) -#define RMT_IDLE_OUT_EN_CH7_M (BIT(19)) -#define RMT_IDLE_OUT_EN_CH7_V 0x1 -#define RMT_IDLE_OUT_EN_CH7_S 19 -/* RMT_IDLE_OUT_LV_CH7 : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This bit configures the output signal's level for channel7 in IDLE state.*/ -#define RMT_IDLE_OUT_LV_CH7 (BIT(18)) -#define RMT_IDLE_OUT_LV_CH7_M (BIT(18)) -#define RMT_IDLE_OUT_LV_CH7_V 0x1 -#define RMT_IDLE_OUT_LV_CH7_S 18 -/* RMT_REF_ALWAYS_ON_CH7 : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ -#define RMT_REF_ALWAYS_ON_CH7 (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH7_M (BIT(17)) -#define RMT_REF_ALWAYS_ON_CH7_V 0x1 -#define RMT_REF_ALWAYS_ON_CH7_S 17 -/* RMT_REF_CNT_RST_CH7 : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This bit is used to reset divider in channel7.*/ -#define RMT_REF_CNT_RST_CH7 (BIT(16)) -#define RMT_REF_CNT_RST_CH7_M (BIT(16)) -#define RMT_REF_CNT_RST_CH7_V 0x1 -#define RMT_REF_CNT_RST_CH7_S 16 -/* RMT_RX_FILTER_THRES_CH7 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ -/*description: in receive mode channel7 ignore input pulse when the pulse width - is smaller then this value.*/ -#define RMT_RX_FILTER_THRES_CH7 0x000000FF -#define RMT_RX_FILTER_THRES_CH7_M ((RMT_RX_FILTER_THRES_CH7_V)<<(RMT_RX_FILTER_THRES_CH7_S)) -#define RMT_RX_FILTER_THRES_CH7_V 0xFF -#define RMT_RX_FILTER_THRES_CH7_S 8 -/* RMT_RX_FILTER_EN_CH7 : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the receive filter enable bit for channel7.*/ -#define RMT_RX_FILTER_EN_CH7 (BIT(7)) -#define RMT_RX_FILTER_EN_CH7_M (BIT(7)) -#define RMT_RX_FILTER_EN_CH7_V 0x1 -#define RMT_RX_FILTER_EN_CH7_S 7 -/* RMT_TX_CONTI_MODE_CH7 : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to continue sending from the first data to the - last data in channel7.*/ -#define RMT_TX_CONTI_MODE_CH7 (BIT(6)) -#define RMT_TX_CONTI_MODE_CH7_M (BIT(6)) -#define RMT_TX_CONTI_MODE_CH7_V 0x1 -#define RMT_TX_CONTI_MODE_CH7_S 6 -/* RMT_MEM_OWNER_CH7 : R/W ;bitpos:[5] ;default: 1'b1 ; */ -/*description: This is the mark of channel7's ram usage right.1'b1:receiver - uses the ram 0:transmitter uses the ram*/ -#define RMT_MEM_OWNER_CH7 (BIT(5)) -#define RMT_MEM_OWNER_CH7_M (BIT(5)) -#define RMT_MEM_OWNER_CH7_V 0x1 -#define RMT_MEM_OWNER_CH7_S 5 -/* RMT_APB_MEM_RST_CH7 : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to reset W/R ram address for channel7 by apb fifo access*/ -#define RMT_APB_MEM_RST_CH7 (BIT(4)) -#define RMT_APB_MEM_RST_CH7_M (BIT(4)) -#define RMT_APB_MEM_RST_CH7_V 0x1 -#define RMT_APB_MEM_RST_CH7_S 4 -/* RMT_MEM_RD_RST_CH7 : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to reset read ram address for channel7 by transmitter access.*/ -#define RMT_MEM_RD_RST_CH7 (BIT(3)) -#define RMT_MEM_RD_RST_CH7_M (BIT(3)) -#define RMT_MEM_RD_RST_CH7_V 0x1 -#define RMT_MEM_RD_RST_CH7_S 3 -/* RMT_MEM_WR_RST_CH7 : R/W ;bitpos:[2] ;default: 1'h0 ; */ -/*description: Set this bit to reset write ram address for channel7 by receiver access.*/ -#define RMT_MEM_WR_RST_CH7 (BIT(2)) -#define RMT_MEM_WR_RST_CH7_M (BIT(2)) -#define RMT_MEM_WR_RST_CH7_V 0x1 -#define RMT_MEM_WR_RST_CH7_S 2 -/* RMT_RX_EN_CH7 : R/W ;bitpos:[1] ;default: 1'h0 ; */ -/*description: Set this bit to enbale receving data for channel7.*/ -#define RMT_RX_EN_CH7 (BIT(1)) -#define RMT_RX_EN_CH7_M (BIT(1)) -#define RMT_RX_EN_CH7_V 0x1 -#define RMT_RX_EN_CH7_S 1 -/* RMT_TX_START_CH7 : R/W ;bitpos:[0] ;default: 1'h0 ; */ -/*description: Set this bit to start sending data for channel7.*/ -#define RMT_TX_START_CH7 (BIT(0)) -#define RMT_TX_START_CH7_M (BIT(0)) -#define RMT_TX_START_CH7_V 0x1 -#define RMT_TX_START_CH7_S 0 - -#define RMT_CH0STATUS_REG (DR_REG_RMT_BASE + 0x0060) -/* RMT_STATUS_CH0 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The status for channel0*/ -#define RMT_STATUS_CH0 0xFFFFFFFF -#define RMT_STATUS_CH0_M ((RMT_STATUS_CH0_V)<<(RMT_STATUS_CH0_S)) -#define RMT_STATUS_CH0_V 0xFFFFFFFF -#define RMT_STATUS_CH0_S 0 - -#define RMT_CH1STATUS_REG (DR_REG_RMT_BASE + 0x0064) -/* RMT_STATUS_CH1 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The status for channel1*/ -#define RMT_STATUS_CH1 0xFFFFFFFF -#define RMT_STATUS_CH1_M ((RMT_STATUS_CH1_V)<<(RMT_STATUS_CH1_S)) -#define RMT_STATUS_CH1_V 0xFFFFFFFF -#define RMT_STATUS_CH1_S 0 - -#define RMT_CH2STATUS_REG (DR_REG_RMT_BASE + 0x0068) -/* RMT_STATUS_CH2 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The status for channel2*/ -#define RMT_STATUS_CH2 0xFFFFFFFF -#define RMT_STATUS_CH2_M ((RMT_STATUS_CH2_V)<<(RMT_STATUS_CH2_S)) -#define RMT_STATUS_CH2_V 0xFFFFFFFF -#define RMT_STATUS_CH2_S 0 - -#define RMT_CH3STATUS_REG (DR_REG_RMT_BASE + 0x006c) -/* RMT_STATUS_CH3 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The status for channel3*/ -#define RMT_STATUS_CH3 0xFFFFFFFF -#define RMT_STATUS_CH3_M ((RMT_STATUS_CH3_V)<<(RMT_STATUS_CH3_S)) -#define RMT_STATUS_CH3_V 0xFFFFFFFF -#define RMT_STATUS_CH3_S 0 - -#define RMT_CH4STATUS_REG (DR_REG_RMT_BASE + 0x0070) -/* RMT_STATUS_CH4 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The status for channel4*/ -#define RMT_STATUS_CH4 0xFFFFFFFF -#define RMT_STATUS_CH4_M ((RMT_STATUS_CH4_V)<<(RMT_STATUS_CH4_S)) -#define RMT_STATUS_CH4_V 0xFFFFFFFF -#define RMT_STATUS_CH4_S 0 - -#define RMT_CH5STATUS_REG (DR_REG_RMT_BASE + 0x0074) -/* RMT_STATUS_CH5 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The status for channel5*/ -#define RMT_STATUS_CH5 0xFFFFFFFF -#define RMT_STATUS_CH5_M ((RMT_STATUS_CH5_V)<<(RMT_STATUS_CH5_S)) -#define RMT_STATUS_CH5_V 0xFFFFFFFF -#define RMT_STATUS_CH5_S 0 - -#define RMT_CH6STATUS_REG (DR_REG_RMT_BASE + 0x0078) -/* RMT_STATUS_CH6 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The status for channel6*/ -#define RMT_STATUS_CH6 0xFFFFFFFF -#define RMT_STATUS_CH6_M ((RMT_STATUS_CH6_V)<<(RMT_STATUS_CH6_S)) -#define RMT_STATUS_CH6_V 0xFFFFFFFF -#define RMT_STATUS_CH6_S 0 - -#define RMT_CH7STATUS_REG (DR_REG_RMT_BASE + 0x007c) -/* RMT_STATUS_CH7 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The status for channel7*/ -#define RMT_STATUS_CH7 0xFFFFFFFF -#define RMT_STATUS_CH7_M ((RMT_STATUS_CH7_V)<<(RMT_STATUS_CH7_S)) -#define RMT_STATUS_CH7_V 0xFFFFFFFF -#define RMT_STATUS_CH7_S 0 - -#define RMT_CH0ADDR_REG (DR_REG_RMT_BASE + 0x0080) -/* RMT_APB_MEM_ADDR_CH0 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The ram relative address in channel0 by apb fifo access*/ -#define RMT_APB_MEM_ADDR_CH0 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH0_M ((RMT_APB_MEM_ADDR_CH0_V)<<(RMT_APB_MEM_ADDR_CH0_S)) -#define RMT_APB_MEM_ADDR_CH0_V 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH0_S 0 - -#define RMT_CH1ADDR_REG (DR_REG_RMT_BASE + 0x0084) -/* RMT_APB_MEM_ADDR_CH1 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The ram relative address in channel1 by apb fifo access*/ -#define RMT_APB_MEM_ADDR_CH1 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH1_M ((RMT_APB_MEM_ADDR_CH1_V)<<(RMT_APB_MEM_ADDR_CH1_S)) -#define RMT_APB_MEM_ADDR_CH1_V 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH1_S 0 - -#define RMT_CH2ADDR_REG (DR_REG_RMT_BASE + 0x0088) -/* RMT_APB_MEM_ADDR_CH2 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The ram relative address in channel2 by apb fifo access*/ -#define RMT_APB_MEM_ADDR_CH2 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH2_M ((RMT_APB_MEM_ADDR_CH2_V)<<(RMT_APB_MEM_ADDR_CH2_S)) -#define RMT_APB_MEM_ADDR_CH2_V 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH2_S 0 - -#define RMT_CH3ADDR_REG (DR_REG_RMT_BASE + 0x008c) -/* RMT_APB_MEM_ADDR_CH3 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The ram relative address in channel3 by apb fifo access*/ -#define RMT_APB_MEM_ADDR_CH3 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH3_M ((RMT_APB_MEM_ADDR_CH3_V)<<(RMT_APB_MEM_ADDR_CH3_S)) -#define RMT_APB_MEM_ADDR_CH3_V 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH3_S 0 - -#define RMT_CH4ADDR_REG (DR_REG_RMT_BASE + 0x0090) -/* RMT_APB_MEM_ADDR_CH4 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The ram relative address in channel4 by apb fifo access*/ -#define RMT_APB_MEM_ADDR_CH4 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH4_M ((RMT_APB_MEM_ADDR_CH4_V)<<(RMT_APB_MEM_ADDR_CH4_S)) -#define RMT_APB_MEM_ADDR_CH4_V 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH4_S 0 - -#define RMT_CH5ADDR_REG (DR_REG_RMT_BASE + 0x0094) -/* RMT_APB_MEM_ADDR_CH5 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The ram relative address in channel5 by apb fifo access*/ -#define RMT_APB_MEM_ADDR_CH5 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH5_M ((RMT_APB_MEM_ADDR_CH5_V)<<(RMT_APB_MEM_ADDR_CH5_S)) -#define RMT_APB_MEM_ADDR_CH5_V 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH5_S 0 - -#define RMT_CH6ADDR_REG (DR_REG_RMT_BASE + 0x0098) -/* RMT_APB_MEM_ADDR_CH6 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The ram relative address in channel6 by apb fifo access*/ -#define RMT_APB_MEM_ADDR_CH6 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH6_M ((RMT_APB_MEM_ADDR_CH6_V)<<(RMT_APB_MEM_ADDR_CH6_S)) -#define RMT_APB_MEM_ADDR_CH6_V 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH6_S 0 - -#define RMT_CH7ADDR_REG (DR_REG_RMT_BASE + 0x009c) -/* RMT_APB_MEM_ADDR_CH7 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ -/*description: The ram relative address in channel7 by apb fifo access*/ -#define RMT_APB_MEM_ADDR_CH7 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH7_M ((RMT_APB_MEM_ADDR_CH7_V)<<(RMT_APB_MEM_ADDR_CH7_S)) -#define RMT_APB_MEM_ADDR_CH7_V 0xFFFFFFFF -#define RMT_APB_MEM_ADDR_CH7_S 0 - -#define RMT_INT_RAW_REG (DR_REG_RMT_BASE + 0x00a0) -/* RMT_CH7_TX_THR_EVENT_INT_RAW : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 7 turns to high level when - transmitter in channle7 have send datas more than reg_rmt_tx_lim_ch7 after detecting this interrupt software can updata the old datas with new datas.*/ -#define RMT_CH7_TX_THR_EVENT_INT_RAW (BIT(31)) -#define RMT_CH7_TX_THR_EVENT_INT_RAW_M (BIT(31)) -#define RMT_CH7_TX_THR_EVENT_INT_RAW_V 0x1 -#define RMT_CH7_TX_THR_EVENT_INT_RAW_S 31 -/* RMT_CH6_TX_THR_EVENT_INT_RAW : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 6 turns to high level when - transmitter in channle6 have send datas more than reg_rmt_tx_lim_ch6 after detecting this interrupt software can updata the old datas with new datas.*/ -#define RMT_CH6_TX_THR_EVENT_INT_RAW (BIT(30)) -#define RMT_CH6_TX_THR_EVENT_INT_RAW_M (BIT(30)) -#define RMT_CH6_TX_THR_EVENT_INT_RAW_V 0x1 -#define RMT_CH6_TX_THR_EVENT_INT_RAW_S 30 -/* RMT_CH5_TX_THR_EVENT_INT_RAW : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 5 turns to high level when - transmitter in channle5 have send datas more than reg_rmt_tx_lim_ch5 after detecting this interrupt software can updata the old datas with new datas.*/ -#define RMT_CH5_TX_THR_EVENT_INT_RAW (BIT(29)) -#define RMT_CH5_TX_THR_EVENT_INT_RAW_M (BIT(29)) -#define RMT_CH5_TX_THR_EVENT_INT_RAW_V 0x1 -#define RMT_CH5_TX_THR_EVENT_INT_RAW_S 29 -/* RMT_CH4_TX_THR_EVENT_INT_RAW : RO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 4 turns to high level when - transmitter in channle4 have send datas more than reg_rmt_tx_lim_ch4 after detecting this interrupt software can updata the old datas with new datas.*/ -#define RMT_CH4_TX_THR_EVENT_INT_RAW (BIT(28)) -#define RMT_CH4_TX_THR_EVENT_INT_RAW_M (BIT(28)) -#define RMT_CH4_TX_THR_EVENT_INT_RAW_V 0x1 -#define RMT_CH4_TX_THR_EVENT_INT_RAW_S 28 -/* RMT_CH3_TX_THR_EVENT_INT_RAW : RO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 3 turns to high level when - transmitter in channle3 have send datas more than reg_rmt_tx_lim_ch3 after detecting this interrupt software can updata the old datas with new datas.*/ -#define RMT_CH3_TX_THR_EVENT_INT_RAW (BIT(27)) -#define RMT_CH3_TX_THR_EVENT_INT_RAW_M (BIT(27)) -#define RMT_CH3_TX_THR_EVENT_INT_RAW_V 0x1 -#define RMT_CH3_TX_THR_EVENT_INT_RAW_S 27 -/* RMT_CH2_TX_THR_EVENT_INT_RAW : RO ;bitpos:[26] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 2 turns to high level when - transmitter in channle2 have send datas more than reg_rmt_tx_lim_ch2 after detecting this interrupt software can updata the old datas with new datas.*/ -#define RMT_CH2_TX_THR_EVENT_INT_RAW (BIT(26)) -#define RMT_CH2_TX_THR_EVENT_INT_RAW_M (BIT(26)) -#define RMT_CH2_TX_THR_EVENT_INT_RAW_V 0x1 -#define RMT_CH2_TX_THR_EVENT_INT_RAW_S 26 -/* RMT_CH1_TX_THR_EVENT_INT_RAW : RO ;bitpos:[25] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 1 turns to high level when - transmitter in channle1 have send datas more than reg_rmt_tx_lim_ch1 after detecting this interrupt software can updata the old datas with new datas.*/ -#define RMT_CH1_TX_THR_EVENT_INT_RAW (BIT(25)) -#define RMT_CH1_TX_THR_EVENT_INT_RAW_M (BIT(25)) -#define RMT_CH1_TX_THR_EVENT_INT_RAW_V 0x1 -#define RMT_CH1_TX_THR_EVENT_INT_RAW_S 25 -/* RMT_CH0_TX_THR_EVENT_INT_RAW : RO ;bitpos:[24] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 0 turns to high level when - transmitter in channle0 have send datas more than reg_rmt_tx_lim_ch0 after detecting this interrupt software can updata the old datas with new datas.*/ -#define RMT_CH0_TX_THR_EVENT_INT_RAW (BIT(24)) -#define RMT_CH0_TX_THR_EVENT_INT_RAW_M (BIT(24)) -#define RMT_CH0_TX_THR_EVENT_INT_RAW_V 0x1 -#define RMT_CH0_TX_THR_EVENT_INT_RAW_S 24 -/* RMT_CH7_ERR_INT_RAW : RO ;bitpos:[23] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 7 turns to high level when - channle 7 detects some errors.*/ -#define RMT_CH7_ERR_INT_RAW (BIT(23)) -#define RMT_CH7_ERR_INT_RAW_M (BIT(23)) -#define RMT_CH7_ERR_INT_RAW_V 0x1 -#define RMT_CH7_ERR_INT_RAW_S 23 -/* RMT_CH7_RX_END_INT_RAW : RO ;bitpos:[22] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 7 turns to high level when - the receive process is done.*/ -#define RMT_CH7_RX_END_INT_RAW (BIT(22)) -#define RMT_CH7_RX_END_INT_RAW_M (BIT(22)) -#define RMT_CH7_RX_END_INT_RAW_V 0x1 -#define RMT_CH7_RX_END_INT_RAW_S 22 -/* RMT_CH7_TX_END_INT_RAW : RO ;bitpos:[21] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 7 turns to high level when - the transmit process is done.*/ -#define RMT_CH7_TX_END_INT_RAW (BIT(21)) -#define RMT_CH7_TX_END_INT_RAW_M (BIT(21)) -#define RMT_CH7_TX_END_INT_RAW_V 0x1 -#define RMT_CH7_TX_END_INT_RAW_S 21 -/* RMT_CH6_ERR_INT_RAW : RO ;bitpos:[20] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 6 turns to high level when - channle 6 detects some errors.*/ -#define RMT_CH6_ERR_INT_RAW (BIT(20)) -#define RMT_CH6_ERR_INT_RAW_M (BIT(20)) -#define RMT_CH6_ERR_INT_RAW_V 0x1 -#define RMT_CH6_ERR_INT_RAW_S 20 -/* RMT_CH6_RX_END_INT_RAW : RO ;bitpos:[19] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 6 turns to high level when - the receive process is done.*/ -#define RMT_CH6_RX_END_INT_RAW (BIT(19)) -#define RMT_CH6_RX_END_INT_RAW_M (BIT(19)) -#define RMT_CH6_RX_END_INT_RAW_V 0x1 -#define RMT_CH6_RX_END_INT_RAW_S 19 -/* RMT_CH6_TX_END_INT_RAW : RO ;bitpos:[18] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 6 turns to high level when - the transmit process is done.*/ -#define RMT_CH6_TX_END_INT_RAW (BIT(18)) -#define RMT_CH6_TX_END_INT_RAW_M (BIT(18)) -#define RMT_CH6_TX_END_INT_RAW_V 0x1 -#define RMT_CH6_TX_END_INT_RAW_S 18 -/* RMT_CH5_ERR_INT_RAW : RO ;bitpos:[17] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 5 turns to high level when - channle 5 detects some errors.*/ -#define RMT_CH5_ERR_INT_RAW (BIT(17)) -#define RMT_CH5_ERR_INT_RAW_M (BIT(17)) -#define RMT_CH5_ERR_INT_RAW_V 0x1 -#define RMT_CH5_ERR_INT_RAW_S 17 -/* RMT_CH5_RX_END_INT_RAW : RO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 5 turns to high level when - the receive process is done.*/ -#define RMT_CH5_RX_END_INT_RAW (BIT(16)) -#define RMT_CH5_RX_END_INT_RAW_M (BIT(16)) -#define RMT_CH5_RX_END_INT_RAW_V 0x1 -#define RMT_CH5_RX_END_INT_RAW_S 16 -/* RMT_CH5_TX_END_INT_RAW : RO ;bitpos:[15] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 5 turns to high level when - the transmit process is done.*/ -#define RMT_CH5_TX_END_INT_RAW (BIT(15)) -#define RMT_CH5_TX_END_INT_RAW_M (BIT(15)) -#define RMT_CH5_TX_END_INT_RAW_V 0x1 -#define RMT_CH5_TX_END_INT_RAW_S 15 -/* RMT_CH4_ERR_INT_RAW : RO ;bitpos:[14] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 4 turns to high level when - channle 4 detects some errors.*/ -#define RMT_CH4_ERR_INT_RAW (BIT(14)) -#define RMT_CH4_ERR_INT_RAW_M (BIT(14)) -#define RMT_CH4_ERR_INT_RAW_V 0x1 -#define RMT_CH4_ERR_INT_RAW_S 14 -/* RMT_CH4_RX_END_INT_RAW : RO ;bitpos:[13] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 4 turns to high level when - the receive process is done.*/ -#define RMT_CH4_RX_END_INT_RAW (BIT(13)) -#define RMT_CH4_RX_END_INT_RAW_M (BIT(13)) -#define RMT_CH4_RX_END_INT_RAW_V 0x1 -#define RMT_CH4_RX_END_INT_RAW_S 13 -/* RMT_CH4_TX_END_INT_RAW : RO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 4 turns to high level when - the transmit process is done.*/ -#define RMT_CH4_TX_END_INT_RAW (BIT(12)) -#define RMT_CH4_TX_END_INT_RAW_M (BIT(12)) -#define RMT_CH4_TX_END_INT_RAW_V 0x1 -#define RMT_CH4_TX_END_INT_RAW_S 12 -/* RMT_CH3_ERR_INT_RAW : RO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 3 turns to high level when - channle 3 detects some errors.*/ -#define RMT_CH3_ERR_INT_RAW (BIT(11)) -#define RMT_CH3_ERR_INT_RAW_M (BIT(11)) -#define RMT_CH3_ERR_INT_RAW_V 0x1 -#define RMT_CH3_ERR_INT_RAW_S 11 -/* RMT_CH3_RX_END_INT_RAW : RO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 3 turns to high level when - the receive process is done.*/ -#define RMT_CH3_RX_END_INT_RAW (BIT(10)) -#define RMT_CH3_RX_END_INT_RAW_M (BIT(10)) -#define RMT_CH3_RX_END_INT_RAW_V 0x1 -#define RMT_CH3_RX_END_INT_RAW_S 10 -/* RMT_CH3_TX_END_INT_RAW : RO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 3 turns to high level when - the transmit process is done.*/ -#define RMT_CH3_TX_END_INT_RAW (BIT(9)) -#define RMT_CH3_TX_END_INT_RAW_M (BIT(9)) -#define RMT_CH3_TX_END_INT_RAW_V 0x1 -#define RMT_CH3_TX_END_INT_RAW_S 9 -/* RMT_CH2_ERR_INT_RAW : RO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 2 turns to high level when - channle 2 detects some errors.*/ -#define RMT_CH2_ERR_INT_RAW (BIT(8)) -#define RMT_CH2_ERR_INT_RAW_M (BIT(8)) -#define RMT_CH2_ERR_INT_RAW_V 0x1 -#define RMT_CH2_ERR_INT_RAW_S 8 -/* RMT_CH2_RX_END_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 2 turns to high level when - the receive process is done.*/ -#define RMT_CH2_RX_END_INT_RAW (BIT(7)) -#define RMT_CH2_RX_END_INT_RAW_M (BIT(7)) -#define RMT_CH2_RX_END_INT_RAW_V 0x1 -#define RMT_CH2_RX_END_INT_RAW_S 7 -/* RMT_CH2_TX_END_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 2 turns to high level when - the transmit process is done.*/ -#define RMT_CH2_TX_END_INT_RAW (BIT(6)) -#define RMT_CH2_TX_END_INT_RAW_M (BIT(6)) -#define RMT_CH2_TX_END_INT_RAW_V 0x1 -#define RMT_CH2_TX_END_INT_RAW_S 6 -/* RMT_CH1_ERR_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 1 turns to high level when - channle 1 detects some errors.*/ -#define RMT_CH1_ERR_INT_RAW (BIT(5)) -#define RMT_CH1_ERR_INT_RAW_M (BIT(5)) -#define RMT_CH1_ERR_INT_RAW_V 0x1 -#define RMT_CH1_ERR_INT_RAW_S 5 -/* RMT_CH1_RX_END_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 1 turns to high level when - the receive process is done.*/ -#define RMT_CH1_RX_END_INT_RAW (BIT(4)) -#define RMT_CH1_RX_END_INT_RAW_M (BIT(4)) -#define RMT_CH1_RX_END_INT_RAW_V 0x1 -#define RMT_CH1_RX_END_INT_RAW_S 4 -/* RMT_CH1_TX_END_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 1 turns to high level when - the transmit process is done.*/ -#define RMT_CH1_TX_END_INT_RAW (BIT(3)) -#define RMT_CH1_TX_END_INT_RAW_M (BIT(3)) -#define RMT_CH1_TX_END_INT_RAW_V 0x1 -#define RMT_CH1_TX_END_INT_RAW_S 3 -/* RMT_CH0_ERR_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 0 turns to high level when - channle 0 detects some errors.*/ -#define RMT_CH0_ERR_INT_RAW (BIT(2)) -#define RMT_CH0_ERR_INT_RAW_M (BIT(2)) -#define RMT_CH0_ERR_INT_RAW_V 0x1 -#define RMT_CH0_ERR_INT_RAW_S 2 -/* RMT_CH0_RX_END_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 0 turns to high level when - the receive process is done.*/ -#define RMT_CH0_RX_END_INT_RAW (BIT(1)) -#define RMT_CH0_RX_END_INT_RAW_M (BIT(1)) -#define RMT_CH0_RX_END_INT_RAW_V 0x1 -#define RMT_CH0_RX_END_INT_RAW_S 1 -/* RMT_CH0_TX_END_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for channel 0 turns to high level when - the transmit process is done.*/ -#define RMT_CH0_TX_END_INT_RAW (BIT(0)) -#define RMT_CH0_TX_END_INT_RAW_M (BIT(0)) -#define RMT_CH0_TX_END_INT_RAW_V 0x1 -#define RMT_CH0_TX_END_INT_RAW_S 0 - -#define RMT_INT_ST_REG (DR_REG_RMT_BASE + 0x00a4) -/* RMT_CH7_TX_THR_EVENT_INT_ST : RO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 7's rmt_ch7_tx_thr_event_int_raw - when mt_ch7_tx_thr_event_int_ena is set to 1.*/ -#define RMT_CH7_TX_THR_EVENT_INT_ST (BIT(31)) -#define RMT_CH7_TX_THR_EVENT_INT_ST_M (BIT(31)) -#define RMT_CH7_TX_THR_EVENT_INT_ST_V 0x1 -#define RMT_CH7_TX_THR_EVENT_INT_ST_S 31 -/* RMT_CH6_TX_THR_EVENT_INT_ST : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 6's rmt_ch6_tx_thr_event_int_raw - when mt_ch6_tx_thr_event_int_ena is set to 1.*/ -#define RMT_CH6_TX_THR_EVENT_INT_ST (BIT(30)) -#define RMT_CH6_TX_THR_EVENT_INT_ST_M (BIT(30)) -#define RMT_CH6_TX_THR_EVENT_INT_ST_V 0x1 -#define RMT_CH6_TX_THR_EVENT_INT_ST_S 30 -/* RMT_CH5_TX_THR_EVENT_INT_ST : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 5's rmt_ch5_tx_thr_event_int_raw - when mt_ch5_tx_thr_event_int_ena is set to 1.*/ -#define RMT_CH5_TX_THR_EVENT_INT_ST (BIT(29)) -#define RMT_CH5_TX_THR_EVENT_INT_ST_M (BIT(29)) -#define RMT_CH5_TX_THR_EVENT_INT_ST_V 0x1 -#define RMT_CH5_TX_THR_EVENT_INT_ST_S 29 -/* RMT_CH4_TX_THR_EVENT_INT_ST : RO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 4's rmt_ch4_tx_thr_event_int_raw - when mt_ch4_tx_thr_event_int_ena is set to 1.*/ -#define RMT_CH4_TX_THR_EVENT_INT_ST (BIT(28)) -#define RMT_CH4_TX_THR_EVENT_INT_ST_M (BIT(28)) -#define RMT_CH4_TX_THR_EVENT_INT_ST_V 0x1 -#define RMT_CH4_TX_THR_EVENT_INT_ST_S 28 -/* RMT_CH3_TX_THR_EVENT_INT_ST : RO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 3's rmt_ch3_tx_thr_event_int_raw - when mt_ch3_tx_thr_event_int_ena is set to 1.*/ -#define RMT_CH3_TX_THR_EVENT_INT_ST (BIT(27)) -#define RMT_CH3_TX_THR_EVENT_INT_ST_M (BIT(27)) -#define RMT_CH3_TX_THR_EVENT_INT_ST_V 0x1 -#define RMT_CH3_TX_THR_EVENT_INT_ST_S 27 -/* RMT_CH2_TX_THR_EVENT_INT_ST : RO ;bitpos:[26] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 2's rmt_ch2_tx_thr_event_int_raw - when mt_ch2_tx_thr_event_int_ena is set to 1.*/ -#define RMT_CH2_TX_THR_EVENT_INT_ST (BIT(26)) -#define RMT_CH2_TX_THR_EVENT_INT_ST_M (BIT(26)) -#define RMT_CH2_TX_THR_EVENT_INT_ST_V 0x1 -#define RMT_CH2_TX_THR_EVENT_INT_ST_S 26 -/* RMT_CH1_TX_THR_EVENT_INT_ST : RO ;bitpos:[25] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 1's rmt_ch1_tx_thr_event_int_raw - when mt_ch1_tx_thr_event_int_ena is set to 1.*/ -#define RMT_CH1_TX_THR_EVENT_INT_ST (BIT(25)) -#define RMT_CH1_TX_THR_EVENT_INT_ST_M (BIT(25)) -#define RMT_CH1_TX_THR_EVENT_INT_ST_V 0x1 -#define RMT_CH1_TX_THR_EVENT_INT_ST_S 25 -/* RMT_CH0_TX_THR_EVENT_INT_ST : RO ;bitpos:[24] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 0's rmt_ch0_tx_thr_event_int_raw - when mt_ch0_tx_thr_event_int_ena is set to 1.*/ -#define RMT_CH0_TX_THR_EVENT_INT_ST (BIT(24)) -#define RMT_CH0_TX_THR_EVENT_INT_ST_M (BIT(24)) -#define RMT_CH0_TX_THR_EVENT_INT_ST_V 0x1 -#define RMT_CH0_TX_THR_EVENT_INT_ST_S 24 -/* RMT_CH7_ERR_INT_ST : RO ;bitpos:[23] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 7's rmt_ch7_err_int_raw - when rmt_ch7_err_int_ena is set to 1.*/ -#define RMT_CH7_ERR_INT_ST (BIT(23)) -#define RMT_CH7_ERR_INT_ST_M (BIT(23)) -#define RMT_CH7_ERR_INT_ST_V 0x1 -#define RMT_CH7_ERR_INT_ST_S 23 -/* RMT_CH7_RX_END_INT_ST : RO ;bitpos:[22] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 7's rmt_ch7_rx_end_int_raw - when rmt_ch7_rx_end_int_ena is set to 1.*/ -#define RMT_CH7_RX_END_INT_ST (BIT(22)) -#define RMT_CH7_RX_END_INT_ST_M (BIT(22)) -#define RMT_CH7_RX_END_INT_ST_V 0x1 -#define RMT_CH7_RX_END_INT_ST_S 22 -/* RMT_CH7_TX_END_INT_ST : RO ;bitpos:[21] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 7's mt_ch7_tx_end_int_raw - when mt_ch7_tx_end_int_ena is set to 1.*/ -#define RMT_CH7_TX_END_INT_ST (BIT(21)) -#define RMT_CH7_TX_END_INT_ST_M (BIT(21)) -#define RMT_CH7_TX_END_INT_ST_V 0x1 -#define RMT_CH7_TX_END_INT_ST_S 21 -/* RMT_CH6_ERR_INT_ST : RO ;bitpos:[20] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 6's rmt_ch6_err_int_raw - when rmt_ch6_err_int_ena is set to 1.*/ -#define RMT_CH6_ERR_INT_ST (BIT(20)) -#define RMT_CH6_ERR_INT_ST_M (BIT(20)) -#define RMT_CH6_ERR_INT_ST_V 0x1 -#define RMT_CH6_ERR_INT_ST_S 20 -/* RMT_CH6_RX_END_INT_ST : RO ;bitpos:[19] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 6's rmt_ch6_rx_end_int_raw - when rmt_ch6_rx_end_int_ena is set to 1.*/ -#define RMT_CH6_RX_END_INT_ST (BIT(19)) -#define RMT_CH6_RX_END_INT_ST_M (BIT(19)) -#define RMT_CH6_RX_END_INT_ST_V 0x1 -#define RMT_CH6_RX_END_INT_ST_S 19 -/* RMT_CH6_TX_END_INT_ST : RO ;bitpos:[18] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 6's mt_ch6_tx_end_int_raw - when mt_ch6_tx_end_int_ena is set to 1.*/ -#define RMT_CH6_TX_END_INT_ST (BIT(18)) -#define RMT_CH6_TX_END_INT_ST_M (BIT(18)) -#define RMT_CH6_TX_END_INT_ST_V 0x1 -#define RMT_CH6_TX_END_INT_ST_S 18 -/* RMT_CH5_ERR_INT_ST : RO ;bitpos:[17] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 5's rmt_ch5_err_int_raw - when rmt_ch5_err_int_ena is set to 1.*/ -#define RMT_CH5_ERR_INT_ST (BIT(17)) -#define RMT_CH5_ERR_INT_ST_M (BIT(17)) -#define RMT_CH5_ERR_INT_ST_V 0x1 -#define RMT_CH5_ERR_INT_ST_S 17 -/* RMT_CH5_RX_END_INT_ST : RO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 5's rmt_ch5_rx_end_int_raw - when rmt_ch5_rx_end_int_ena is set to 1.*/ -#define RMT_CH5_RX_END_INT_ST (BIT(16)) -#define RMT_CH5_RX_END_INT_ST_M (BIT(16)) -#define RMT_CH5_RX_END_INT_ST_V 0x1 -#define RMT_CH5_RX_END_INT_ST_S 16 -/* RMT_CH5_TX_END_INT_ST : RO ;bitpos:[15] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 5's mt_ch5_tx_end_int_raw - when mt_ch5_tx_end_int_ena is set to 1.*/ -#define RMT_CH5_TX_END_INT_ST (BIT(15)) -#define RMT_CH5_TX_END_INT_ST_M (BIT(15)) -#define RMT_CH5_TX_END_INT_ST_V 0x1 -#define RMT_CH5_TX_END_INT_ST_S 15 -/* RMT_CH4_ERR_INT_ST : RO ;bitpos:[14] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 4's rmt_ch4_err_int_raw - when rmt_ch4_err_int_ena is set to 1.*/ -#define RMT_CH4_ERR_INT_ST (BIT(14)) -#define RMT_CH4_ERR_INT_ST_M (BIT(14)) -#define RMT_CH4_ERR_INT_ST_V 0x1 -#define RMT_CH4_ERR_INT_ST_S 14 -/* RMT_CH4_RX_END_INT_ST : RO ;bitpos:[13] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 4's rmt_ch4_rx_end_int_raw - when rmt_ch4_rx_end_int_ena is set to 1.*/ -#define RMT_CH4_RX_END_INT_ST (BIT(13)) -#define RMT_CH4_RX_END_INT_ST_M (BIT(13)) -#define RMT_CH4_RX_END_INT_ST_V 0x1 -#define RMT_CH4_RX_END_INT_ST_S 13 -/* RMT_CH4_TX_END_INT_ST : RO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 4's mt_ch4_tx_end_int_raw - when mt_ch4_tx_end_int_ena is set to 1.*/ -#define RMT_CH4_TX_END_INT_ST (BIT(12)) -#define RMT_CH4_TX_END_INT_ST_M (BIT(12)) -#define RMT_CH4_TX_END_INT_ST_V 0x1 -#define RMT_CH4_TX_END_INT_ST_S 12 -/* RMT_CH3_ERR_INT_ST : RO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 3's rmt_ch3_err_int_raw - when rmt_ch3_err_int_ena is set to 1.*/ -#define RMT_CH3_ERR_INT_ST (BIT(11)) -#define RMT_CH3_ERR_INT_ST_M (BIT(11)) -#define RMT_CH3_ERR_INT_ST_V 0x1 -#define RMT_CH3_ERR_INT_ST_S 11 -/* RMT_CH3_RX_END_INT_ST : RO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 3's rmt_ch3_rx_end_int_raw - when rmt_ch3_rx_end_int_ena is set to 1.*/ -#define RMT_CH3_RX_END_INT_ST (BIT(10)) -#define RMT_CH3_RX_END_INT_ST_M (BIT(10)) -#define RMT_CH3_RX_END_INT_ST_V 0x1 -#define RMT_CH3_RX_END_INT_ST_S 10 -/* RMT_CH3_TX_END_INT_ST : RO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 3's mt_ch3_tx_end_int_raw - when mt_ch3_tx_end_int_ena is set to 1.*/ -#define RMT_CH3_TX_END_INT_ST (BIT(9)) -#define RMT_CH3_TX_END_INT_ST_M (BIT(9)) -#define RMT_CH3_TX_END_INT_ST_V 0x1 -#define RMT_CH3_TX_END_INT_ST_S 9 -/* RMT_CH2_ERR_INT_ST : RO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 2's rmt_ch2_err_int_raw - when rmt_ch2_err_int_ena is set to 1.*/ -#define RMT_CH2_ERR_INT_ST (BIT(8)) -#define RMT_CH2_ERR_INT_ST_M (BIT(8)) -#define RMT_CH2_ERR_INT_ST_V 0x1 -#define RMT_CH2_ERR_INT_ST_S 8 -/* RMT_CH2_RX_END_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 2's rmt_ch2_rx_end_int_raw - when rmt_ch2_rx_end_int_ena is set to 1.*/ -#define RMT_CH2_RX_END_INT_ST (BIT(7)) -#define RMT_CH2_RX_END_INT_ST_M (BIT(7)) -#define RMT_CH2_RX_END_INT_ST_V 0x1 -#define RMT_CH2_RX_END_INT_ST_S 7 -/* RMT_CH2_TX_END_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 2's mt_ch2_tx_end_int_raw - when mt_ch2_tx_end_int_ena is set to 1.*/ -#define RMT_CH2_TX_END_INT_ST (BIT(6)) -#define RMT_CH2_TX_END_INT_ST_M (BIT(6)) -#define RMT_CH2_TX_END_INT_ST_V 0x1 -#define RMT_CH2_TX_END_INT_ST_S 6 -/* RMT_CH1_ERR_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 1's rmt_ch1_err_int_raw - when rmt_ch1_err_int_ena is set to 1.*/ -#define RMT_CH1_ERR_INT_ST (BIT(5)) -#define RMT_CH1_ERR_INT_ST_M (BIT(5)) -#define RMT_CH1_ERR_INT_ST_V 0x1 -#define RMT_CH1_ERR_INT_ST_S 5 -/* RMT_CH1_RX_END_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 1's rmt_ch1_rx_end_int_raw - when rmt_ch1_rx_end_int_ena is set to 1.*/ -#define RMT_CH1_RX_END_INT_ST (BIT(4)) -#define RMT_CH1_RX_END_INT_ST_M (BIT(4)) -#define RMT_CH1_RX_END_INT_ST_V 0x1 -#define RMT_CH1_RX_END_INT_ST_S 4 -/* RMT_CH1_TX_END_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 1's mt_ch1_tx_end_int_raw - when mt_ch1_tx_end_int_ena is set to 1.*/ -#define RMT_CH1_TX_END_INT_ST (BIT(3)) -#define RMT_CH1_TX_END_INT_ST_M (BIT(3)) -#define RMT_CH1_TX_END_INT_ST_V 0x1 -#define RMT_CH1_TX_END_INT_ST_S 3 -/* RMT_CH0_ERR_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 0's rmt_ch0_err_int_raw - when rmt_ch0_err_int_ena is set to 0.*/ -#define RMT_CH0_ERR_INT_ST (BIT(2)) -#define RMT_CH0_ERR_INT_ST_M (BIT(2)) -#define RMT_CH0_ERR_INT_ST_V 0x1 -#define RMT_CH0_ERR_INT_ST_S 2 -/* RMT_CH0_RX_END_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 0's rmt_ch0_rx_end_int_raw - when rmt_ch0_rx_end_int_ena is set to 0.*/ -#define RMT_CH0_RX_END_INT_ST (BIT(1)) -#define RMT_CH0_RX_END_INT_ST_M (BIT(1)) -#define RMT_CH0_RX_END_INT_ST_V 0x1 -#define RMT_CH0_RX_END_INT_ST_S 1 -/* RMT_CH0_TX_END_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The interrupt state bit for channel 0's mt_ch0_tx_end_int_raw - when mt_ch0_tx_end_int_ena is set to 0.*/ -#define RMT_CH0_TX_END_INT_ST (BIT(0)) -#define RMT_CH0_TX_END_INT_ST_M (BIT(0)) -#define RMT_CH0_TX_END_INT_ST_V 0x1 -#define RMT_CH0_TX_END_INT_ST_S 0 - -#define RMT_INT_ENA_REG (DR_REG_RMT_BASE + 0x00a8) -/* RMT_CH7_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch7_tx_thr_event_int_st.*/ -#define RMT_CH7_TX_THR_EVENT_INT_ENA (BIT(31)) -#define RMT_CH7_TX_THR_EVENT_INT_ENA_M (BIT(31)) -#define RMT_CH7_TX_THR_EVENT_INT_ENA_V 0x1 -#define RMT_CH7_TX_THR_EVENT_INT_ENA_S 31 -/* RMT_CH6_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[30] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch6_tx_thr_event_int_st.*/ -#define RMT_CH6_TX_THR_EVENT_INT_ENA (BIT(30)) -#define RMT_CH6_TX_THR_EVENT_INT_ENA_M (BIT(30)) -#define RMT_CH6_TX_THR_EVENT_INT_ENA_V 0x1 -#define RMT_CH6_TX_THR_EVENT_INT_ENA_S 30 -/* RMT_CH5_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[29] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch5_tx_thr_event_int_st.*/ -#define RMT_CH5_TX_THR_EVENT_INT_ENA (BIT(29)) -#define RMT_CH5_TX_THR_EVENT_INT_ENA_M (BIT(29)) -#define RMT_CH5_TX_THR_EVENT_INT_ENA_V 0x1 -#define RMT_CH5_TX_THR_EVENT_INT_ENA_S 29 -/* RMT_CH4_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[28] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch4_tx_thr_event_int_st.*/ -#define RMT_CH4_TX_THR_EVENT_INT_ENA (BIT(28)) -#define RMT_CH4_TX_THR_EVENT_INT_ENA_M (BIT(28)) -#define RMT_CH4_TX_THR_EVENT_INT_ENA_V 0x1 -#define RMT_CH4_TX_THR_EVENT_INT_ENA_S 28 -/* RMT_CH3_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[27] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch3_tx_thr_event_int_st.*/ -#define RMT_CH3_TX_THR_EVENT_INT_ENA (BIT(27)) -#define RMT_CH3_TX_THR_EVENT_INT_ENA_M (BIT(27)) -#define RMT_CH3_TX_THR_EVENT_INT_ENA_V 0x1 -#define RMT_CH3_TX_THR_EVENT_INT_ENA_S 27 -/* RMT_CH2_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[26] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch2_tx_thr_event_int_st.*/ -#define RMT_CH2_TX_THR_EVENT_INT_ENA (BIT(26)) -#define RMT_CH2_TX_THR_EVENT_INT_ENA_M (BIT(26)) -#define RMT_CH2_TX_THR_EVENT_INT_ENA_V 0x1 -#define RMT_CH2_TX_THR_EVENT_INT_ENA_S 26 -/* RMT_CH1_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch1_tx_thr_event_int_st.*/ -#define RMT_CH1_TX_THR_EVENT_INT_ENA (BIT(25)) -#define RMT_CH1_TX_THR_EVENT_INT_ENA_M (BIT(25)) -#define RMT_CH1_TX_THR_EVENT_INT_ENA_V 0x1 -#define RMT_CH1_TX_THR_EVENT_INT_ENA_S 25 -/* RMT_CH0_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[24] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch0_tx_thr_event_int_st.*/ -#define RMT_CH0_TX_THR_EVENT_INT_ENA (BIT(24)) -#define RMT_CH0_TX_THR_EVENT_INT_ENA_M (BIT(24)) -#define RMT_CH0_TX_THR_EVENT_INT_ENA_V 0x1 -#define RMT_CH0_TX_THR_EVENT_INT_ENA_S 24 -/* RMT_CH7_ERR_INT_ENA : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch7_err_int_st.*/ -#define RMT_CH7_ERR_INT_ENA (BIT(23)) -#define RMT_CH7_ERR_INT_ENA_M (BIT(23)) -#define RMT_CH7_ERR_INT_ENA_V 0x1 -#define RMT_CH7_ERR_INT_ENA_S 23 -/* RMT_CH7_RX_END_INT_ENA : R/W ;bitpos:[22] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch7_rx_end_int_st.*/ -#define RMT_CH7_RX_END_INT_ENA (BIT(22)) -#define RMT_CH7_RX_END_INT_ENA_M (BIT(22)) -#define RMT_CH7_RX_END_INT_ENA_V 0x1 -#define RMT_CH7_RX_END_INT_ENA_S 22 -/* RMT_CH7_TX_END_INT_ENA : R/W ;bitpos:[21] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch7_tx_end_int_st.*/ -#define RMT_CH7_TX_END_INT_ENA (BIT(21)) -#define RMT_CH7_TX_END_INT_ENA_M (BIT(21)) -#define RMT_CH7_TX_END_INT_ENA_V 0x1 -#define RMT_CH7_TX_END_INT_ENA_S 21 -/* RMT_CH6_ERR_INT_ENA : R/W ;bitpos:[20] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch6_err_int_st.*/ -#define RMT_CH6_ERR_INT_ENA (BIT(20)) -#define RMT_CH6_ERR_INT_ENA_M (BIT(20)) -#define RMT_CH6_ERR_INT_ENA_V 0x1 -#define RMT_CH6_ERR_INT_ENA_S 20 -/* RMT_CH6_RX_END_INT_ENA : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch6_rx_end_int_st.*/ -#define RMT_CH6_RX_END_INT_ENA (BIT(19)) -#define RMT_CH6_RX_END_INT_ENA_M (BIT(19)) -#define RMT_CH6_RX_END_INT_ENA_V 0x1 -#define RMT_CH6_RX_END_INT_ENA_S 19 -/* RMT_CH6_TX_END_INT_ENA : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch6_tx_end_int_st.*/ -#define RMT_CH6_TX_END_INT_ENA (BIT(18)) -#define RMT_CH6_TX_END_INT_ENA_M (BIT(18)) -#define RMT_CH6_TX_END_INT_ENA_V 0x1 -#define RMT_CH6_TX_END_INT_ENA_S 18 -/* RMT_CH5_ERR_INT_ENA : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch5_err_int_st.*/ -#define RMT_CH5_ERR_INT_ENA (BIT(17)) -#define RMT_CH5_ERR_INT_ENA_M (BIT(17)) -#define RMT_CH5_ERR_INT_ENA_V 0x1 -#define RMT_CH5_ERR_INT_ENA_S 17 -/* RMT_CH5_RX_END_INT_ENA : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch5_rx_end_int_st.*/ -#define RMT_CH5_RX_END_INT_ENA (BIT(16)) -#define RMT_CH5_RX_END_INT_ENA_M (BIT(16)) -#define RMT_CH5_RX_END_INT_ENA_V 0x1 -#define RMT_CH5_RX_END_INT_ENA_S 16 -/* RMT_CH5_TX_END_INT_ENA : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch5_tx_end_int_st.*/ -#define RMT_CH5_TX_END_INT_ENA (BIT(15)) -#define RMT_CH5_TX_END_INT_ENA_M (BIT(15)) -#define RMT_CH5_TX_END_INT_ENA_V 0x1 -#define RMT_CH5_TX_END_INT_ENA_S 15 -/* RMT_CH4_ERR_INT_ENA : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch4_err_int_st.*/ -#define RMT_CH4_ERR_INT_ENA (BIT(14)) -#define RMT_CH4_ERR_INT_ENA_M (BIT(14)) -#define RMT_CH4_ERR_INT_ENA_V 0x1 -#define RMT_CH4_ERR_INT_ENA_S 14 -/* RMT_CH4_RX_END_INT_ENA : R/W ;bitpos:[13] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch4_rx_end_int_st.*/ -#define RMT_CH4_RX_END_INT_ENA (BIT(13)) -#define RMT_CH4_RX_END_INT_ENA_M (BIT(13)) -#define RMT_CH4_RX_END_INT_ENA_V 0x1 -#define RMT_CH4_RX_END_INT_ENA_S 13 -/* RMT_CH4_TX_END_INT_ENA : R/W ;bitpos:[12] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch4_tx_end_int_st.*/ -#define RMT_CH4_TX_END_INT_ENA (BIT(12)) -#define RMT_CH4_TX_END_INT_ENA_M (BIT(12)) -#define RMT_CH4_TX_END_INT_ENA_V 0x1 -#define RMT_CH4_TX_END_INT_ENA_S 12 -/* RMT_CH3_ERR_INT_ENA : R/W ;bitpos:[11] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch3_err_int_st.*/ -#define RMT_CH3_ERR_INT_ENA (BIT(11)) -#define RMT_CH3_ERR_INT_ENA_M (BIT(11)) -#define RMT_CH3_ERR_INT_ENA_V 0x1 -#define RMT_CH3_ERR_INT_ENA_S 11 -/* RMT_CH3_RX_END_INT_ENA : R/W ;bitpos:[10] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch3_rx_end_int_st.*/ -#define RMT_CH3_RX_END_INT_ENA (BIT(10)) -#define RMT_CH3_RX_END_INT_ENA_M (BIT(10)) -#define RMT_CH3_RX_END_INT_ENA_V 0x1 -#define RMT_CH3_RX_END_INT_ENA_S 10 -/* RMT_CH3_TX_END_INT_ENA : R/W ;bitpos:[9] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch3_tx_end_int_st.*/ -#define RMT_CH3_TX_END_INT_ENA (BIT(9)) -#define RMT_CH3_TX_END_INT_ENA_M (BIT(9)) -#define RMT_CH3_TX_END_INT_ENA_V 0x1 -#define RMT_CH3_TX_END_INT_ENA_S 9 -/* RMT_CH2_ERR_INT_ENA : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch2_err_int_st.*/ -#define RMT_CH2_ERR_INT_ENA (BIT(8)) -#define RMT_CH2_ERR_INT_ENA_M (BIT(8)) -#define RMT_CH2_ERR_INT_ENA_V 0x1 -#define RMT_CH2_ERR_INT_ENA_S 8 -/* RMT_CH2_RX_END_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch2_rx_end_int_st.*/ -#define RMT_CH2_RX_END_INT_ENA (BIT(7)) -#define RMT_CH2_RX_END_INT_ENA_M (BIT(7)) -#define RMT_CH2_RX_END_INT_ENA_V 0x1 -#define RMT_CH2_RX_END_INT_ENA_S 7 -/* RMT_CH2_TX_END_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch2_tx_end_int_st.*/ -#define RMT_CH2_TX_END_INT_ENA (BIT(6)) -#define RMT_CH2_TX_END_INT_ENA_M (BIT(6)) -#define RMT_CH2_TX_END_INT_ENA_V 0x1 -#define RMT_CH2_TX_END_INT_ENA_S 6 -/* RMT_CH1_ERR_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch1_err_int_st.*/ -#define RMT_CH1_ERR_INT_ENA (BIT(5)) -#define RMT_CH1_ERR_INT_ENA_M (BIT(5)) -#define RMT_CH1_ERR_INT_ENA_V 0x1 -#define RMT_CH1_ERR_INT_ENA_S 5 -/* RMT_CH1_RX_END_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch1_rx_end_int_st.*/ -#define RMT_CH1_RX_END_INT_ENA (BIT(4)) -#define RMT_CH1_RX_END_INT_ENA_M (BIT(4)) -#define RMT_CH1_RX_END_INT_ENA_V 0x1 -#define RMT_CH1_RX_END_INT_ENA_S 4 -/* RMT_CH1_TX_END_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch1_tx_end_int_st.*/ -#define RMT_CH1_TX_END_INT_ENA (BIT(3)) -#define RMT_CH1_TX_END_INT_ENA_M (BIT(3)) -#define RMT_CH1_TX_END_INT_ENA_V 0x1 -#define RMT_CH1_TX_END_INT_ENA_S 3 -/* RMT_CH0_ERR_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch0_err_int_st.*/ -#define RMT_CH0_ERR_INT_ENA (BIT(2)) -#define RMT_CH0_ERR_INT_ENA_M (BIT(2)) -#define RMT_CH0_ERR_INT_ENA_V 0x1 -#define RMT_CH0_ERR_INT_ENA_S 2 -/* RMT_CH0_RX_END_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch0_rx_end_int_st.*/ -#define RMT_CH0_RX_END_INT_ENA (BIT(1)) -#define RMT_CH0_RX_END_INT_ENA_M (BIT(1)) -#define RMT_CH0_RX_END_INT_ENA_V 0x1 -#define RMT_CH0_RX_END_INT_ENA_S 1 -/* RMT_CH0_TX_END_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: Set this bit to enable rmt_ch0_tx_end_int_st.*/ -#define RMT_CH0_TX_END_INT_ENA (BIT(0)) -#define RMT_CH0_TX_END_INT_ENA_M (BIT(0)) -#define RMT_CH0_TX_END_INT_ENA_V 0x1 -#define RMT_CH0_TX_END_INT_ENA_S 0 - -#define RMT_INT_CLR_REG (DR_REG_RMT_BASE + 0x00ac) -/* RMT_CH7_TX_THR_EVENT_INT_CLR : WO ;bitpos:[31] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch7_tx_thr_event_int_raw interrupt.*/ -#define RMT_CH7_TX_THR_EVENT_INT_CLR (BIT(31)) -#define RMT_CH7_TX_THR_EVENT_INT_CLR_M (BIT(31)) -#define RMT_CH7_TX_THR_EVENT_INT_CLR_V 0x1 -#define RMT_CH7_TX_THR_EVENT_INT_CLR_S 31 -/* RMT_CH6_TX_THR_EVENT_INT_CLR : WO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch6_tx_thr_event_int_raw interrupt.*/ -#define RMT_CH6_TX_THR_EVENT_INT_CLR (BIT(30)) -#define RMT_CH6_TX_THR_EVENT_INT_CLR_M (BIT(30)) -#define RMT_CH6_TX_THR_EVENT_INT_CLR_V 0x1 -#define RMT_CH6_TX_THR_EVENT_INT_CLR_S 30 -/* RMT_CH5_TX_THR_EVENT_INT_CLR : WO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch5_tx_thr_event_int_raw interrupt.*/ -#define RMT_CH5_TX_THR_EVENT_INT_CLR (BIT(29)) -#define RMT_CH5_TX_THR_EVENT_INT_CLR_M (BIT(29)) -#define RMT_CH5_TX_THR_EVENT_INT_CLR_V 0x1 -#define RMT_CH5_TX_THR_EVENT_INT_CLR_S 29 -/* RMT_CH4_TX_THR_EVENT_INT_CLR : WO ;bitpos:[28] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch4_tx_thr_event_int_raw interrupt.*/ -#define RMT_CH4_TX_THR_EVENT_INT_CLR (BIT(28)) -#define RMT_CH4_TX_THR_EVENT_INT_CLR_M (BIT(28)) -#define RMT_CH4_TX_THR_EVENT_INT_CLR_V 0x1 -#define RMT_CH4_TX_THR_EVENT_INT_CLR_S 28 -/* RMT_CH3_TX_THR_EVENT_INT_CLR : WO ;bitpos:[27] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch3_tx_thr_event_int_raw interrupt.*/ -#define RMT_CH3_TX_THR_EVENT_INT_CLR (BIT(27)) -#define RMT_CH3_TX_THR_EVENT_INT_CLR_M (BIT(27)) -#define RMT_CH3_TX_THR_EVENT_INT_CLR_V 0x1 -#define RMT_CH3_TX_THR_EVENT_INT_CLR_S 27 -/* RMT_CH2_TX_THR_EVENT_INT_CLR : WO ;bitpos:[26] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch2_tx_thr_event_int_raw interrupt.*/ -#define RMT_CH2_TX_THR_EVENT_INT_CLR (BIT(26)) -#define RMT_CH2_TX_THR_EVENT_INT_CLR_M (BIT(26)) -#define RMT_CH2_TX_THR_EVENT_INT_CLR_V 0x1 -#define RMT_CH2_TX_THR_EVENT_INT_CLR_S 26 -/* RMT_CH1_TX_THR_EVENT_INT_CLR : WO ;bitpos:[25] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch1_tx_thr_event_int_raw interrupt.*/ -#define RMT_CH1_TX_THR_EVENT_INT_CLR (BIT(25)) -#define RMT_CH1_TX_THR_EVENT_INT_CLR_M (BIT(25)) -#define RMT_CH1_TX_THR_EVENT_INT_CLR_V 0x1 -#define RMT_CH1_TX_THR_EVENT_INT_CLR_S 25 -/* RMT_CH0_TX_THR_EVENT_INT_CLR : WO ;bitpos:[24] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch0_tx_thr_event_int_raw interrupt.*/ -#define RMT_CH0_TX_THR_EVENT_INT_CLR (BIT(24)) -#define RMT_CH0_TX_THR_EVENT_INT_CLR_M (BIT(24)) -#define RMT_CH0_TX_THR_EVENT_INT_CLR_V 0x1 -#define RMT_CH0_TX_THR_EVENT_INT_CLR_S 24 -/* RMT_CH7_ERR_INT_CLR : WO ;bitpos:[23] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch7_err_int_raw.*/ -#define RMT_CH7_ERR_INT_CLR (BIT(23)) -#define RMT_CH7_ERR_INT_CLR_M (BIT(23)) -#define RMT_CH7_ERR_INT_CLR_V 0x1 -#define RMT_CH7_ERR_INT_CLR_S 23 -/* RMT_CH7_RX_END_INT_CLR : WO ;bitpos:[22] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch7_tx_end_int_raw.*/ -#define RMT_CH7_RX_END_INT_CLR (BIT(22)) -#define RMT_CH7_RX_END_INT_CLR_M (BIT(22)) -#define RMT_CH7_RX_END_INT_CLR_V 0x1 -#define RMT_CH7_RX_END_INT_CLR_S 22 -/* RMT_CH7_TX_END_INT_CLR : WO ;bitpos:[21] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch7_rx_end_int_raw..*/ -#define RMT_CH7_TX_END_INT_CLR (BIT(21)) -#define RMT_CH7_TX_END_INT_CLR_M (BIT(21)) -#define RMT_CH7_TX_END_INT_CLR_V 0x1 -#define RMT_CH7_TX_END_INT_CLR_S 21 -/* RMT_CH6_ERR_INT_CLR : WO ;bitpos:[20] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch6_err_int_raw.*/ -#define RMT_CH6_ERR_INT_CLR (BIT(20)) -#define RMT_CH6_ERR_INT_CLR_M (BIT(20)) -#define RMT_CH6_ERR_INT_CLR_V 0x1 -#define RMT_CH6_ERR_INT_CLR_S 20 -/* RMT_CH6_RX_END_INT_CLR : WO ;bitpos:[19] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch6_tx_end_int_raw.*/ -#define RMT_CH6_RX_END_INT_CLR (BIT(19)) -#define RMT_CH6_RX_END_INT_CLR_M (BIT(19)) -#define RMT_CH6_RX_END_INT_CLR_V 0x1 -#define RMT_CH6_RX_END_INT_CLR_S 19 -/* RMT_CH6_TX_END_INT_CLR : WO ;bitpos:[18] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch6_rx_end_int_raw..*/ -#define RMT_CH6_TX_END_INT_CLR (BIT(18)) -#define RMT_CH6_TX_END_INT_CLR_M (BIT(18)) -#define RMT_CH6_TX_END_INT_CLR_V 0x1 -#define RMT_CH6_TX_END_INT_CLR_S 18 -/* RMT_CH5_ERR_INT_CLR : WO ;bitpos:[17] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch5_err_int_raw.*/ -#define RMT_CH5_ERR_INT_CLR (BIT(17)) -#define RMT_CH5_ERR_INT_CLR_M (BIT(17)) -#define RMT_CH5_ERR_INT_CLR_V 0x1 -#define RMT_CH5_ERR_INT_CLR_S 17 -/* RMT_CH5_RX_END_INT_CLR : WO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch5_tx_end_int_raw.*/ -#define RMT_CH5_RX_END_INT_CLR (BIT(16)) -#define RMT_CH5_RX_END_INT_CLR_M (BIT(16)) -#define RMT_CH5_RX_END_INT_CLR_V 0x1 -#define RMT_CH5_RX_END_INT_CLR_S 16 -/* RMT_CH5_TX_END_INT_CLR : WO ;bitpos:[15] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch5_rx_end_int_raw..*/ -#define RMT_CH5_TX_END_INT_CLR (BIT(15)) -#define RMT_CH5_TX_END_INT_CLR_M (BIT(15)) -#define RMT_CH5_TX_END_INT_CLR_V 0x1 -#define RMT_CH5_TX_END_INT_CLR_S 15 -/* RMT_CH4_ERR_INT_CLR : WO ;bitpos:[14] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch4_err_int_raw.*/ -#define RMT_CH4_ERR_INT_CLR (BIT(14)) -#define RMT_CH4_ERR_INT_CLR_M (BIT(14)) -#define RMT_CH4_ERR_INT_CLR_V 0x1 -#define RMT_CH4_ERR_INT_CLR_S 14 -/* RMT_CH4_RX_END_INT_CLR : WO ;bitpos:[13] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch4_tx_end_int_raw.*/ -#define RMT_CH4_RX_END_INT_CLR (BIT(13)) -#define RMT_CH4_RX_END_INT_CLR_M (BIT(13)) -#define RMT_CH4_RX_END_INT_CLR_V 0x1 -#define RMT_CH4_RX_END_INT_CLR_S 13 -/* RMT_CH4_TX_END_INT_CLR : WO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch4_rx_end_int_raw..*/ -#define RMT_CH4_TX_END_INT_CLR (BIT(12)) -#define RMT_CH4_TX_END_INT_CLR_M (BIT(12)) -#define RMT_CH4_TX_END_INT_CLR_V 0x1 -#define RMT_CH4_TX_END_INT_CLR_S 12 -/* RMT_CH3_ERR_INT_CLR : WO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch3_err_int_raw.*/ -#define RMT_CH3_ERR_INT_CLR (BIT(11)) -#define RMT_CH3_ERR_INT_CLR_M (BIT(11)) -#define RMT_CH3_ERR_INT_CLR_V 0x1 -#define RMT_CH3_ERR_INT_CLR_S 11 -/* RMT_CH3_RX_END_INT_CLR : WO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch3_tx_end_int_raw.*/ -#define RMT_CH3_RX_END_INT_CLR (BIT(10)) -#define RMT_CH3_RX_END_INT_CLR_M (BIT(10)) -#define RMT_CH3_RX_END_INT_CLR_V 0x1 -#define RMT_CH3_RX_END_INT_CLR_S 10 -/* RMT_CH3_TX_END_INT_CLR : WO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch3_rx_end_int_raw..*/ -#define RMT_CH3_TX_END_INT_CLR (BIT(9)) -#define RMT_CH3_TX_END_INT_CLR_M (BIT(9)) -#define RMT_CH3_TX_END_INT_CLR_V 0x1 -#define RMT_CH3_TX_END_INT_CLR_S 9 -/* RMT_CH2_ERR_INT_CLR : WO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch2_err_int_raw.*/ -#define RMT_CH2_ERR_INT_CLR (BIT(8)) -#define RMT_CH2_ERR_INT_CLR_M (BIT(8)) -#define RMT_CH2_ERR_INT_CLR_V 0x1 -#define RMT_CH2_ERR_INT_CLR_S 8 -/* RMT_CH2_RX_END_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch2_tx_end_int_raw.*/ -#define RMT_CH2_RX_END_INT_CLR (BIT(7)) -#define RMT_CH2_RX_END_INT_CLR_M (BIT(7)) -#define RMT_CH2_RX_END_INT_CLR_V 0x1 -#define RMT_CH2_RX_END_INT_CLR_S 7 -/* RMT_CH2_TX_END_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch2_rx_end_int_raw..*/ -#define RMT_CH2_TX_END_INT_CLR (BIT(6)) -#define RMT_CH2_TX_END_INT_CLR_M (BIT(6)) -#define RMT_CH2_TX_END_INT_CLR_V 0x1 -#define RMT_CH2_TX_END_INT_CLR_S 6 -/* RMT_CH1_ERR_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch1_err_int_raw.*/ -#define RMT_CH1_ERR_INT_CLR (BIT(5)) -#define RMT_CH1_ERR_INT_CLR_M (BIT(5)) -#define RMT_CH1_ERR_INT_CLR_V 0x1 -#define RMT_CH1_ERR_INT_CLR_S 5 -/* RMT_CH1_RX_END_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch1_tx_end_int_raw.*/ -#define RMT_CH1_RX_END_INT_CLR (BIT(4)) -#define RMT_CH1_RX_END_INT_CLR_M (BIT(4)) -#define RMT_CH1_RX_END_INT_CLR_V 0x1 -#define RMT_CH1_RX_END_INT_CLR_S 4 -/* RMT_CH1_TX_END_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch1_rx_end_int_raw..*/ -#define RMT_CH1_TX_END_INT_CLR (BIT(3)) -#define RMT_CH1_TX_END_INT_CLR_M (BIT(3)) -#define RMT_CH1_TX_END_INT_CLR_V 0x1 -#define RMT_CH1_TX_END_INT_CLR_S 3 -/* RMT_CH0_ERR_INT_CLR : WO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch0_err_int_raw.*/ -#define RMT_CH0_ERR_INT_CLR (BIT(2)) -#define RMT_CH0_ERR_INT_CLR_M (BIT(2)) -#define RMT_CH0_ERR_INT_CLR_V 0x1 -#define RMT_CH0_ERR_INT_CLR_S 2 -/* RMT_CH0_RX_END_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch0_tx_end_int_raw.*/ -#define RMT_CH0_RX_END_INT_CLR (BIT(1)) -#define RMT_CH0_RX_END_INT_CLR_M (BIT(1)) -#define RMT_CH0_RX_END_INT_CLR_V 0x1 -#define RMT_CH0_RX_END_INT_CLR_S 1 -/* RMT_CH0_TX_END_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rmt_ch0_rx_end_int_raw..*/ -#define RMT_CH0_TX_END_INT_CLR (BIT(0)) -#define RMT_CH0_TX_END_INT_CLR_M (BIT(0)) -#define RMT_CH0_TX_END_INT_CLR_V 0x1 -#define RMT_CH0_TX_END_INT_CLR_S 0 - -#define RMT_CH0CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00b0) -/* RMT_CARRIER_HIGH_CH0 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's high level value for channel0.*/ -#define RMT_CARRIER_HIGH_CH0 0x0000FFFF -#define RMT_CARRIER_HIGH_CH0_M ((RMT_CARRIER_HIGH_CH0_V)<<(RMT_CARRIER_HIGH_CH0_S)) -#define RMT_CARRIER_HIGH_CH0_V 0xFFFF -#define RMT_CARRIER_HIGH_CH0_S 16 -/* RMT_CARRIER_LOW_CH0 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's low level value for channel0.*/ -#define RMT_CARRIER_LOW_CH0 0x0000FFFF -#define RMT_CARRIER_LOW_CH0_M ((RMT_CARRIER_LOW_CH0_V)<<(RMT_CARRIER_LOW_CH0_S)) -#define RMT_CARRIER_LOW_CH0_V 0xFFFF -#define RMT_CARRIER_LOW_CH0_S 0 - -#define RMT_CH1CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00b4) -/* RMT_CARRIER_HIGH_CH1 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's high level value for channel1.*/ -#define RMT_CARRIER_HIGH_CH1 0x0000FFFF -#define RMT_CARRIER_HIGH_CH1_M ((RMT_CARRIER_HIGH_CH1_V)<<(RMT_CARRIER_HIGH_CH1_S)) -#define RMT_CARRIER_HIGH_CH1_V 0xFFFF -#define RMT_CARRIER_HIGH_CH1_S 16 -/* RMT_CARRIER_LOW_CH1 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's low level value for channel1.*/ -#define RMT_CARRIER_LOW_CH1 0x0000FFFF -#define RMT_CARRIER_LOW_CH1_M ((RMT_CARRIER_LOW_CH1_V)<<(RMT_CARRIER_LOW_CH1_S)) -#define RMT_CARRIER_LOW_CH1_V 0xFFFF -#define RMT_CARRIER_LOW_CH1_S 0 - -#define RMT_CH2CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00b8) -/* RMT_CARRIER_HIGH_CH2 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's high level value for channel2.*/ -#define RMT_CARRIER_HIGH_CH2 0x0000FFFF -#define RMT_CARRIER_HIGH_CH2_M ((RMT_CARRIER_HIGH_CH2_V)<<(RMT_CARRIER_HIGH_CH2_S)) -#define RMT_CARRIER_HIGH_CH2_V 0xFFFF -#define RMT_CARRIER_HIGH_CH2_S 16 -/* RMT_CARRIER_LOW_CH2 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's low level value for channel2.*/ -#define RMT_CARRIER_LOW_CH2 0x0000FFFF -#define RMT_CARRIER_LOW_CH2_M ((RMT_CARRIER_LOW_CH2_V)<<(RMT_CARRIER_LOW_CH2_S)) -#define RMT_CARRIER_LOW_CH2_V 0xFFFF -#define RMT_CARRIER_LOW_CH2_S 0 - -#define RMT_CH3CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00bc) -/* RMT_CARRIER_HIGH_CH3 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's high level value for channel3.*/ -#define RMT_CARRIER_HIGH_CH3 0x0000FFFF -#define RMT_CARRIER_HIGH_CH3_M ((RMT_CARRIER_HIGH_CH3_V)<<(RMT_CARRIER_HIGH_CH3_S)) -#define RMT_CARRIER_HIGH_CH3_V 0xFFFF -#define RMT_CARRIER_HIGH_CH3_S 16 -/* RMT_CARRIER_LOW_CH3 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's low level value for channel3.*/ -#define RMT_CARRIER_LOW_CH3 0x0000FFFF -#define RMT_CARRIER_LOW_CH3_M ((RMT_CARRIER_LOW_CH3_V)<<(RMT_CARRIER_LOW_CH3_S)) -#define RMT_CARRIER_LOW_CH3_V 0xFFFF -#define RMT_CARRIER_LOW_CH3_S 0 - -#define RMT_CH4CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00c0) -/* RMT_CARRIER_HIGH_CH4 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's high level value for channel4.*/ -#define RMT_CARRIER_HIGH_CH4 0x0000FFFF -#define RMT_CARRIER_HIGH_CH4_M ((RMT_CARRIER_HIGH_CH4_V)<<(RMT_CARRIER_HIGH_CH4_S)) -#define RMT_CARRIER_HIGH_CH4_V 0xFFFF -#define RMT_CARRIER_HIGH_CH4_S 16 -/* RMT_CARRIER_LOW_CH4 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's low level value for channel4.*/ -#define RMT_CARRIER_LOW_CH4 0x0000FFFF -#define RMT_CARRIER_LOW_CH4_M ((RMT_CARRIER_LOW_CH4_V)<<(RMT_CARRIER_LOW_CH4_S)) -#define RMT_CARRIER_LOW_CH4_V 0xFFFF -#define RMT_CARRIER_LOW_CH4_S 0 - -#define RMT_CH5CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00c4) -/* RMT_CARRIER_HIGH_CH5 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's high level value for channel5.*/ -#define RMT_CARRIER_HIGH_CH5 0x0000FFFF -#define RMT_CARRIER_HIGH_CH5_M ((RMT_CARRIER_HIGH_CH5_V)<<(RMT_CARRIER_HIGH_CH5_S)) -#define RMT_CARRIER_HIGH_CH5_V 0xFFFF -#define RMT_CARRIER_HIGH_CH5_S 16 -/* RMT_CARRIER_LOW_CH5 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's low level value for channel5.*/ -#define RMT_CARRIER_LOW_CH5 0x0000FFFF -#define RMT_CARRIER_LOW_CH5_M ((RMT_CARRIER_LOW_CH5_V)<<(RMT_CARRIER_LOW_CH5_S)) -#define RMT_CARRIER_LOW_CH5_V 0xFFFF -#define RMT_CARRIER_LOW_CH5_S 0 - -#define RMT_CH6CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00c8) -/* RMT_CARRIER_HIGH_CH6 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's high level value for channel6.*/ -#define RMT_CARRIER_HIGH_CH6 0x0000FFFF -#define RMT_CARRIER_HIGH_CH6_M ((RMT_CARRIER_HIGH_CH6_V)<<(RMT_CARRIER_HIGH_CH6_S)) -#define RMT_CARRIER_HIGH_CH6_V 0xFFFF -#define RMT_CARRIER_HIGH_CH6_S 16 -/* RMT_CARRIER_LOW_CH6 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's low level value for channel6.*/ -#define RMT_CARRIER_LOW_CH6 0x0000FFFF -#define RMT_CARRIER_LOW_CH6_M ((RMT_CARRIER_LOW_CH6_V)<<(RMT_CARRIER_LOW_CH6_S)) -#define RMT_CARRIER_LOW_CH6_V 0xFFFF -#define RMT_CARRIER_LOW_CH6_S 0 - -#define RMT_CH7CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00cc) -/* RMT_CARRIER_HIGH_CH7 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's high level value for channel7.*/ -#define RMT_CARRIER_HIGH_CH7 0x0000FFFF -#define RMT_CARRIER_HIGH_CH7_M ((RMT_CARRIER_HIGH_CH7_V)<<(RMT_CARRIER_HIGH_CH7_S)) -#define RMT_CARRIER_HIGH_CH7_V 0xFFFF -#define RMT_CARRIER_HIGH_CH7_S 16 -/* RMT_CARRIER_LOW_CH7 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ -/*description: This register is used to configure carrier wave's low level value for channel7.*/ -#define RMT_CARRIER_LOW_CH7 0x0000FFFF -#define RMT_CARRIER_LOW_CH7_M ((RMT_CARRIER_LOW_CH7_V)<<(RMT_CARRIER_LOW_CH7_S)) -#define RMT_CARRIER_LOW_CH7_V 0xFFFF -#define RMT_CARRIER_LOW_CH7_S 0 - -#define RMT_CH0_TX_LIM_REG (DR_REG_RMT_BASE + 0x00d0) -/* RMT_TX_LIM_CH0 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ -/*description: When channel0 sends more than reg_rmt_tx_lim_ch0 datas then channel0 - produce the relative interrupt.*/ -#define RMT_TX_LIM_CH0 0x000001FF -#define RMT_TX_LIM_CH0_M ((RMT_TX_LIM_CH0_V)<<(RMT_TX_LIM_CH0_S)) -#define RMT_TX_LIM_CH0_V 0x1FF -#define RMT_TX_LIM_CH0_S 0 - -#define RMT_CH1_TX_LIM_REG (DR_REG_RMT_BASE + 0x00d4) -/* RMT_TX_LIM_CH1 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ -/*description: When channel1 sends more than reg_rmt_tx_lim_ch1 datas then channel1 - produce the relative interrupt.*/ -#define RMT_TX_LIM_CH1 0x000001FF -#define RMT_TX_LIM_CH1_M ((RMT_TX_LIM_CH1_V)<<(RMT_TX_LIM_CH1_S)) -#define RMT_TX_LIM_CH1_V 0x1FF -#define RMT_TX_LIM_CH1_S 0 - -#define RMT_CH2_TX_LIM_REG (DR_REG_RMT_BASE + 0x00d8) -/* RMT_TX_LIM_CH2 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ -/*description: When channel2 sends more than reg_rmt_tx_lim_ch2 datas then channel2 - produce the relative interrupt.*/ -#define RMT_TX_LIM_CH2 0x000001FF -#define RMT_TX_LIM_CH2_M ((RMT_TX_LIM_CH2_V)<<(RMT_TX_LIM_CH2_S)) -#define RMT_TX_LIM_CH2_V 0x1FF -#define RMT_TX_LIM_CH2_S 0 - -#define RMT_CH3_TX_LIM_REG (DR_REG_RMT_BASE + 0x00dc) -/* RMT_TX_LIM_CH3 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ -/*description: When channel3 sends more than reg_rmt_tx_lim_ch3 datas then channel3 - produce the relative interrupt.*/ -#define RMT_TX_LIM_CH3 0x000001FF -#define RMT_TX_LIM_CH3_M ((RMT_TX_LIM_CH3_V)<<(RMT_TX_LIM_CH3_S)) -#define RMT_TX_LIM_CH3_V 0x1FF -#define RMT_TX_LIM_CH3_S 0 - -#define RMT_CH4_TX_LIM_REG (DR_REG_RMT_BASE + 0x00e0) -/* RMT_TX_LIM_CH4 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ -/*description: When channel4 sends more than reg_rmt_tx_lim_ch4 datas then channel4 - produce the relative interrupt.*/ -#define RMT_TX_LIM_CH4 0x000001FF -#define RMT_TX_LIM_CH4_M ((RMT_TX_LIM_CH4_V)<<(RMT_TX_LIM_CH4_S)) -#define RMT_TX_LIM_CH4_V 0x1FF -#define RMT_TX_LIM_CH4_S 0 - -#define RMT_CH5_TX_LIM_REG (DR_REG_RMT_BASE + 0x00e4) -/* RMT_TX_LIM_CH5 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ -/*description: When channel5 sends more than reg_rmt_tx_lim_ch5 datas then channel5 - produce the relative interrupt.*/ -#define RMT_TX_LIM_CH5 0x000001FF -#define RMT_TX_LIM_CH5_M ((RMT_TX_LIM_CH5_V)<<(RMT_TX_LIM_CH5_S)) -#define RMT_TX_LIM_CH5_V 0x1FF -#define RMT_TX_LIM_CH5_S 0 - -#define RMT_CH6_TX_LIM_REG (DR_REG_RMT_BASE + 0x00e8) -/* RMT_TX_LIM_CH6 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ -/*description: When channel6 sends more than reg_rmt_tx_lim_ch6 datas then channel6 - produce the relative interrupt.*/ -#define RMT_TX_LIM_CH6 0x000001FF -#define RMT_TX_LIM_CH6_M ((RMT_TX_LIM_CH6_V)<<(RMT_TX_LIM_CH6_S)) -#define RMT_TX_LIM_CH6_V 0x1FF -#define RMT_TX_LIM_CH6_S 0 - -#define RMT_CH7_TX_LIM_REG (DR_REG_RMT_BASE + 0x00ec) -/* RMT_TX_LIM_CH7 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ -/*description: When channel7 sends more than reg_rmt_tx_lim_ch7 datas then channel7 - produce the relative interrupt.*/ -#define RMT_TX_LIM_CH7 0x000001FF -#define RMT_TX_LIM_CH7_M ((RMT_TX_LIM_CH7_V)<<(RMT_TX_LIM_CH7_S)) -#define RMT_TX_LIM_CH7_V 0x1FF -#define RMT_TX_LIM_CH7_S 0 - -#define RMT_APB_CONF_REG (DR_REG_RMT_BASE + 0x00f0) -/* RMT_MEM_TX_WRAP_EN : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: when datas need to be send is more than channel's mem can store - then set this bit to enable reusage of mem this bit is used together with reg_rmt_tx_lim_chn.*/ -#define RMT_MEM_TX_WRAP_EN (BIT(1)) -#define RMT_MEM_TX_WRAP_EN_M (BIT(1)) -#define RMT_MEM_TX_WRAP_EN_V 0x1 -#define RMT_MEM_TX_WRAP_EN_S 1 -/* RMT_APB_FIFO_MASK : R/W ;bitpos:[0] ;default: 1'h0 ; */ -/*description: Set this bit to disable apb fifo access*/ -#define RMT_APB_FIFO_MASK (BIT(0)) -#define RMT_APB_FIFO_MASK_M (BIT(0)) -#define RMT_APB_FIFO_MASK_V 0x1 -#define RMT_APB_FIFO_MASK_S 0 - -#define RMT_DATE_REG (DR_REG_RMT_BASE + 0x00fc) -/* RMT_DATE : R/W ;bitpos:[31:0] ;default: 32'h16022600 ; */ -/*description: This is the version register.*/ -#define RMT_DATE 0xFFFFFFFF -#define RMT_DATE_M ((RMT_DATE_V)<<(RMT_DATE_S)) -#define RMT_DATE_V 0xFFFFFFFF -#define RMT_DATE_S 0 - -/* RMT memory block address */ -#define RMT_CHANNEL_MEM(i) (DR_REG_RMT_BASE + 0x800 + 64 * 4 * (i)) - - -#endif /*_SOC_RMT_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_RMT_REG_H_ +#define _SOC_RMT_REG_H_ + +#include "soc.h" +#define RMT_CH0DATA_REG (DR_REG_RMT_BASE + 0x0000) + +#define RMT_CH1DATA_REG (DR_REG_RMT_BASE + 0x0004) + +#define RMT_CH2DATA_REG (DR_REG_RMT_BASE + 0x0008) + +#define RMT_CH3DATA_REG (DR_REG_RMT_BASE + 0x000c) + +#define RMT_CH4DATA_REG (DR_REG_RMT_BASE + 0x0010) + +#define RMT_CH5DATA_REG (DR_REG_RMT_BASE + 0x0014) + +#define RMT_CH6DATA_REG (DR_REG_RMT_BASE + 0x0018) + +#define RMT_CH7DATA_REG (DR_REG_RMT_BASE + 0x001c) + +#define RMT_CH0CONF0_REG (DR_REG_RMT_BASE + 0x0020) +/* RMT_CLK_EN : R/W ;bitpos:[31] ;default: 1'h0 ; */ +/*description: This bit is used to control clock.when software config RMT + internal registers it controls the register clock.*/ +#define RMT_CLK_EN (BIT(31)) +#define RMT_CLK_EN_M (BIT(31)) +#define RMT_CLK_EN_V 0x1 +#define RMT_CLK_EN_S 31 +/* RMT_MEM_PD : R/W ;bitpos:[30] ;default: 1'b0 ; */ +/*description: This bit is used to reduce power consumed by mem. 1:mem is in low power state.*/ +#define RMT_MEM_PD (BIT(30)) +#define RMT_MEM_PD_M (BIT(30)) +#define RMT_MEM_PD_V 0x1 +#define RMT_MEM_PD_S 30 +/* RMT_CARRIER_OUT_LV_CH0 : R/W ;bitpos:[29] ;default: 1'b1 ; */ +/*description: This bit is used to configure the way carrier wave is modulated + for channel0.1'b1:transmit on low output level 1'b0:transmit on high output level.*/ +#define RMT_CARRIER_OUT_LV_CH0 (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH0_M (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH0_V 0x1 +#define RMT_CARRIER_OUT_LV_CH0_S 29 +/* RMT_CARRIER_EN_CH0 : R/W ;bitpos:[28] ;default: 1'b1 ; */ +/*description: This is the carrier modulation enable control bit for channel0.*/ +#define RMT_CARRIER_EN_CH0 (BIT(28)) +#define RMT_CARRIER_EN_CH0_M (BIT(28)) +#define RMT_CARRIER_EN_CH0_V 0x1 +#define RMT_CARRIER_EN_CH0_S 28 +/* RMT_MEM_SIZE_CH0 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ +/*description: This register is used to configure the the amount of memory blocks + allocated to channel0.*/ +#define RMT_MEM_SIZE_CH0 0x0000000F +#define RMT_MEM_SIZE_CH0_M ((RMT_MEM_SIZE_CH0_V)<<(RMT_MEM_SIZE_CH0_S)) +#define RMT_MEM_SIZE_CH0_V 0xF +#define RMT_MEM_SIZE_CH0_S 24 +/* RMT_IDLE_THRES_CH0 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ +/*description: In receive mode when no edge is detected on the input signal + for longer than reg_idle_thres_ch0 then the receive process is done.*/ +#define RMT_IDLE_THRES_CH0 0x0000FFFF +#define RMT_IDLE_THRES_CH0_M ((RMT_IDLE_THRES_CH0_V)<<(RMT_IDLE_THRES_CH0_S)) +#define RMT_IDLE_THRES_CH0_V 0xFFFF +#define RMT_IDLE_THRES_CH0_S 8 +/* RMT_DIV_CNT_CH0 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ +/*description: This register is used to configure the frequency divider's factor in channel0.*/ +#define RMT_DIV_CNT_CH0 0x000000FF +#define RMT_DIV_CNT_CH0_M ((RMT_DIV_CNT_CH0_V)<<(RMT_DIV_CNT_CH0_S)) +#define RMT_DIV_CNT_CH0_V 0xFF +#define RMT_DIV_CNT_CH0_S 0 + +#define RMT_CH0CONF1_REG (DR_REG_RMT_BASE + 0x0024) +/* RMT_IDLE_OUT_EN_CH0 : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for channel0 in IDLE state.*/ +#define RMT_IDLE_OUT_EN_CH0 (BIT(19)) +#define RMT_IDLE_OUT_EN_CH0_M (BIT(19)) +#define RMT_IDLE_OUT_EN_CH0_V 0x1 +#define RMT_IDLE_OUT_EN_CH0_S 19 +/* RMT_IDLE_OUT_LV_CH0 : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This bit configures the output signal's level for channel0 in IDLE state.*/ +#define RMT_IDLE_OUT_LV_CH0 (BIT(18)) +#define RMT_IDLE_OUT_LV_CH0_M (BIT(18)) +#define RMT_IDLE_OUT_LV_CH0_V 0x1 +#define RMT_IDLE_OUT_LV_CH0_S 18 +/* RMT_REF_ALWAYS_ON_CH0 : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ +#define RMT_REF_ALWAYS_ON_CH0 (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH0_M (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH0_V 0x1 +#define RMT_REF_ALWAYS_ON_CH0_S 17 +/* RMT_REF_CNT_RST_CH0 : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This bit is used to reset divider in channel0.*/ +#define RMT_REF_CNT_RST_CH0 (BIT(16)) +#define RMT_REF_CNT_RST_CH0_M (BIT(16)) +#define RMT_REF_CNT_RST_CH0_V 0x1 +#define RMT_REF_CNT_RST_CH0_S 16 +/* RMT_RX_FILTER_THRES_CH0 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ +/*description: in receive mode channel0 ignore input pulse when the pulse width + is smaller then this value.*/ +#define RMT_RX_FILTER_THRES_CH0 0x000000FF +#define RMT_RX_FILTER_THRES_CH0_M ((RMT_RX_FILTER_THRES_CH0_V)<<(RMT_RX_FILTER_THRES_CH0_S)) +#define RMT_RX_FILTER_THRES_CH0_V 0xFF +#define RMT_RX_FILTER_THRES_CH0_S 8 +/* RMT_RX_FILTER_EN_CH0 : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the receive filter enable bit for channel0.*/ +#define RMT_RX_FILTER_EN_CH0 (BIT(7)) +#define RMT_RX_FILTER_EN_CH0_M (BIT(7)) +#define RMT_RX_FILTER_EN_CH0_V 0x1 +#define RMT_RX_FILTER_EN_CH0_S 7 +/* RMT_TX_CONTI_MODE_CH0 : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to continue sending from the first data to the + last data in channel0 again and again.*/ +#define RMT_TX_CONTI_MODE_CH0 (BIT(6)) +#define RMT_TX_CONTI_MODE_CH0_M (BIT(6)) +#define RMT_TX_CONTI_MODE_CH0_V 0x1 +#define RMT_TX_CONTI_MODE_CH0_S 6 +/* RMT_MEM_OWNER_CH0 : R/W ;bitpos:[5] ;default: 1'b1 ; */ +/*description: This is the mark of channel0's ram usage right.1'b1:receiver + uses the ram 0:transmitter uses the ram*/ +#define RMT_MEM_OWNER_CH0 (BIT(5)) +#define RMT_MEM_OWNER_CH0_M (BIT(5)) +#define RMT_MEM_OWNER_CH0_V 0x1 +#define RMT_MEM_OWNER_CH0_S 5 +/* RMT_APB_MEM_RST_CH0 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to reset W/R ram address for channel0 by apb fifo access*/ +#define RMT_APB_MEM_RST_CH0 (BIT(4)) +#define RMT_APB_MEM_RST_CH0_M (BIT(4)) +#define RMT_APB_MEM_RST_CH0_V 0x1 +#define RMT_APB_MEM_RST_CH0_S 4 +/* RMT_MEM_RD_RST_CH0 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to reset read ram address for channel0 by transmitter access.*/ +#define RMT_MEM_RD_RST_CH0 (BIT(3)) +#define RMT_MEM_RD_RST_CH0_M (BIT(3)) +#define RMT_MEM_RD_RST_CH0_V 0x1 +#define RMT_MEM_RD_RST_CH0_S 3 +/* RMT_MEM_WR_RST_CH0 : R/W ;bitpos:[2] ;default: 1'h0 ; */ +/*description: Set this bit to reset write ram address for channel0 by receiver access.*/ +#define RMT_MEM_WR_RST_CH0 (BIT(2)) +#define RMT_MEM_WR_RST_CH0_M (BIT(2)) +#define RMT_MEM_WR_RST_CH0_V 0x1 +#define RMT_MEM_WR_RST_CH0_S 2 +/* RMT_RX_EN_CH0 : R/W ;bitpos:[1] ;default: 1'h0 ; */ +/*description: Set this bit to enbale receving data for channel0.*/ +#define RMT_RX_EN_CH0 (BIT(1)) +#define RMT_RX_EN_CH0_M (BIT(1)) +#define RMT_RX_EN_CH0_V 0x1 +#define RMT_RX_EN_CH0_S 1 +/* RMT_TX_START_CH0 : R/W ;bitpos:[0] ;default: 1'h0 ; */ +/*description: Set this bit to start sending data for channel0.*/ +#define RMT_TX_START_CH0 (BIT(0)) +#define RMT_TX_START_CH0_M (BIT(0)) +#define RMT_TX_START_CH0_V 0x1 +#define RMT_TX_START_CH0_S 0 + +#define RMT_CH1CONF0_REG (DR_REG_RMT_BASE + 0x0028) +/* RMT_CARRIER_OUT_LV_CH1 : R/W ;bitpos:[29] ;default: 1'b1 ; */ +/*description: This bit is used to configure the way carrier wave is modulated + for channel1.1'b1:transmit on low output level 1'b0:transmit on high output level.*/ +#define RMT_CARRIER_OUT_LV_CH1 (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH1_M (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH1_V 0x1 +#define RMT_CARRIER_OUT_LV_CH1_S 29 +/* RMT_CARRIER_EN_CH1 : R/W ;bitpos:[28] ;default: 1'b1 ; */ +/*description: This is the carrier modulation enable control bit for channel1.*/ +#define RMT_CARRIER_EN_CH1 (BIT(28)) +#define RMT_CARRIER_EN_CH1_M (BIT(28)) +#define RMT_CARRIER_EN_CH1_V 0x1 +#define RMT_CARRIER_EN_CH1_S 28 +/* RMT_MEM_SIZE_CH1 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ +/*description: This register is used to configure the the amount of memory blocks + allocated to channel1.*/ +#define RMT_MEM_SIZE_CH1 0x0000000F +#define RMT_MEM_SIZE_CH1_M ((RMT_MEM_SIZE_CH1_V)<<(RMT_MEM_SIZE_CH1_S)) +#define RMT_MEM_SIZE_CH1_V 0xF +#define RMT_MEM_SIZE_CH1_S 24 +/* RMT_IDLE_THRES_CH1 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ +/*description: This register is used to configure the the amount of memory blocks + allocated to channel1.*/ +#define RMT_IDLE_THRES_CH1 0x0000FFFF +#define RMT_IDLE_THRES_CH1_M ((RMT_IDLE_THRES_CH1_V)<<(RMT_IDLE_THRES_CH1_S)) +#define RMT_IDLE_THRES_CH1_V 0xFFFF +#define RMT_IDLE_THRES_CH1_S 8 +/* RMT_DIV_CNT_CH1 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ +/*description: This register is used to configure the frequency divider's factor in channel1.*/ +#define RMT_DIV_CNT_CH1 0x000000FF +#define RMT_DIV_CNT_CH1_M ((RMT_DIV_CNT_CH1_V)<<(RMT_DIV_CNT_CH1_S)) +#define RMT_DIV_CNT_CH1_V 0xFF +#define RMT_DIV_CNT_CH1_S 0 + +#define RMT_CH1CONF1_REG (DR_REG_RMT_BASE + 0x002c) +/* RMT_IDLE_OUT_EN_CH1 : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for channel1 in IDLE state.*/ +#define RMT_IDLE_OUT_EN_CH1 (BIT(19)) +#define RMT_IDLE_OUT_EN_CH1_M (BIT(19)) +#define RMT_IDLE_OUT_EN_CH1_V 0x1 +#define RMT_IDLE_OUT_EN_CH1_S 19 +/* RMT_IDLE_OUT_LV_CH1 : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This bit configures the output signal's level for channel1 in IDLE state.*/ +#define RMT_IDLE_OUT_LV_CH1 (BIT(18)) +#define RMT_IDLE_OUT_LV_CH1_M (BIT(18)) +#define RMT_IDLE_OUT_LV_CH1_V 0x1 +#define RMT_IDLE_OUT_LV_CH1_S 18 +/* RMT_REF_ALWAYS_ON_CH1 : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ +#define RMT_REF_ALWAYS_ON_CH1 (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH1_M (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH1_V 0x1 +#define RMT_REF_ALWAYS_ON_CH1_S 17 +/* RMT_REF_CNT_RST_CH1 : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This bit is used to reset divider in channel1.*/ +#define RMT_REF_CNT_RST_CH1 (BIT(16)) +#define RMT_REF_CNT_RST_CH1_M (BIT(16)) +#define RMT_REF_CNT_RST_CH1_V 0x1 +#define RMT_REF_CNT_RST_CH1_S 16 +/* RMT_RX_FILTER_THRES_CH1 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ +/*description: in receive mode channel1 ignore input pulse when the pulse width + is smaller then this value.*/ +#define RMT_RX_FILTER_THRES_CH1 0x000000FF +#define RMT_RX_FILTER_THRES_CH1_M ((RMT_RX_FILTER_THRES_CH1_V)<<(RMT_RX_FILTER_THRES_CH1_S)) +#define RMT_RX_FILTER_THRES_CH1_V 0xFF +#define RMT_RX_FILTER_THRES_CH1_S 8 +/* RMT_RX_FILTER_EN_CH1 : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the receive filter enable bit for channel1.*/ +#define RMT_RX_FILTER_EN_CH1 (BIT(7)) +#define RMT_RX_FILTER_EN_CH1_M (BIT(7)) +#define RMT_RX_FILTER_EN_CH1_V 0x1 +#define RMT_RX_FILTER_EN_CH1_S 7 +/* RMT_TX_CONTI_MODE_CH1 : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to continue sending from the first data to the + last data in channel1 again and again.*/ +#define RMT_TX_CONTI_MODE_CH1 (BIT(6)) +#define RMT_TX_CONTI_MODE_CH1_M (BIT(6)) +#define RMT_TX_CONTI_MODE_CH1_V 0x1 +#define RMT_TX_CONTI_MODE_CH1_S 6 +/* RMT_MEM_OWNER_CH1 : R/W ;bitpos:[5] ;default: 1'b1 ; */ +/*description: This is the mark of channel1's ram usage right.1'b1:receiver + uses the ram 0:transmitter uses the ram*/ +#define RMT_MEM_OWNER_CH1 (BIT(5)) +#define RMT_MEM_OWNER_CH1_M (BIT(5)) +#define RMT_MEM_OWNER_CH1_V 0x1 +#define RMT_MEM_OWNER_CH1_S 5 +/* RMT_APB_MEM_RST_CH1 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to reset W/R ram address for channel1 by apb fifo access*/ +#define RMT_APB_MEM_RST_CH1 (BIT(4)) +#define RMT_APB_MEM_RST_CH1_M (BIT(4)) +#define RMT_APB_MEM_RST_CH1_V 0x1 +#define RMT_APB_MEM_RST_CH1_S 4 +/* RMT_MEM_RD_RST_CH1 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to reset read ram address for channel1 by transmitter access.*/ +#define RMT_MEM_RD_RST_CH1 (BIT(3)) +#define RMT_MEM_RD_RST_CH1_M (BIT(3)) +#define RMT_MEM_RD_RST_CH1_V 0x1 +#define RMT_MEM_RD_RST_CH1_S 3 +/* RMT_MEM_WR_RST_CH1 : R/W ;bitpos:[2] ;default: 1'h0 ; */ +/*description: Set this bit to reset write ram address for channel1 by receiver access.*/ +#define RMT_MEM_WR_RST_CH1 (BIT(2)) +#define RMT_MEM_WR_RST_CH1_M (BIT(2)) +#define RMT_MEM_WR_RST_CH1_V 0x1 +#define RMT_MEM_WR_RST_CH1_S 2 +/* RMT_RX_EN_CH1 : R/W ;bitpos:[1] ;default: 1'h0 ; */ +/*description: Set this bit to enbale receving data for channel1.*/ +#define RMT_RX_EN_CH1 (BIT(1)) +#define RMT_RX_EN_CH1_M (BIT(1)) +#define RMT_RX_EN_CH1_V 0x1 +#define RMT_RX_EN_CH1_S 1 +/* RMT_TX_START_CH1 : R/W ;bitpos:[0] ;default: 1'h0 ; */ +/*description: Set this bit to start sending data for channel1.*/ +#define RMT_TX_START_CH1 (BIT(0)) +#define RMT_TX_START_CH1_M (BIT(0)) +#define RMT_TX_START_CH1_V 0x1 +#define RMT_TX_START_CH1_S 0 + +#define RMT_CH2CONF0_REG (DR_REG_RMT_BASE + 0x0030) +/* RMT_CARRIER_OUT_LV_CH2 : R/W ;bitpos:[29] ;default: 1'b1 ; */ +/*description: This bit is used to configure carrier wave's position for channel2.1'b1:add + on low level 1'b0:add on high level.*/ +#define RMT_CARRIER_OUT_LV_CH2 (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH2_M (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH2_V 0x1 +#define RMT_CARRIER_OUT_LV_CH2_S 29 +/* RMT_CARRIER_EN_CH2 : R/W ;bitpos:[28] ;default: 1'b1 ; */ +/*description: This is the carrier modulation enable control bit for channel2.*/ +#define RMT_CARRIER_EN_CH2 (BIT(28)) +#define RMT_CARRIER_EN_CH2_M (BIT(28)) +#define RMT_CARRIER_EN_CH2_V 0x1 +#define RMT_CARRIER_EN_CH2_S 28 +/* RMT_MEM_SIZE_CH2 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ +/*description: This register is used to configure the the amount of memory blocks + allocated to channel2.*/ +#define RMT_MEM_SIZE_CH2 0x0000000F +#define RMT_MEM_SIZE_CH2_M ((RMT_MEM_SIZE_CH2_V)<<(RMT_MEM_SIZE_CH2_S)) +#define RMT_MEM_SIZE_CH2_V 0xF +#define RMT_MEM_SIZE_CH2_S 24 +/* RMT_IDLE_THRES_CH2 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ +/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch2 + then the receive process is done.*/ +#define RMT_IDLE_THRES_CH2 0x0000FFFF +#define RMT_IDLE_THRES_CH2_M ((RMT_IDLE_THRES_CH2_V)<<(RMT_IDLE_THRES_CH2_S)) +#define RMT_IDLE_THRES_CH2_V 0xFFFF +#define RMT_IDLE_THRES_CH2_S 8 +/* RMT_DIV_CNT_CH2 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ +/*description: This register is used to configure the frequency divider's factor in channel2.*/ +#define RMT_DIV_CNT_CH2 0x000000FF +#define RMT_DIV_CNT_CH2_M ((RMT_DIV_CNT_CH2_V)<<(RMT_DIV_CNT_CH2_S)) +#define RMT_DIV_CNT_CH2_V 0xFF +#define RMT_DIV_CNT_CH2_S 0 + +#define RMT_CH2CONF1_REG (DR_REG_RMT_BASE + 0x0034) +/* RMT_IDLE_OUT_EN_CH2 : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for channel2 in IDLE state.*/ +#define RMT_IDLE_OUT_EN_CH2 (BIT(19)) +#define RMT_IDLE_OUT_EN_CH2_M (BIT(19)) +#define RMT_IDLE_OUT_EN_CH2_V 0x1 +#define RMT_IDLE_OUT_EN_CH2_S 19 +/* RMT_IDLE_OUT_LV_CH2 : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This bit configures the output signal's level for channel2 in IDLE state.*/ +#define RMT_IDLE_OUT_LV_CH2 (BIT(18)) +#define RMT_IDLE_OUT_LV_CH2_M (BIT(18)) +#define RMT_IDLE_OUT_LV_CH2_V 0x1 +#define RMT_IDLE_OUT_LV_CH2_S 18 +/* RMT_REF_ALWAYS_ON_CH2 : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ +#define RMT_REF_ALWAYS_ON_CH2 (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH2_M (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH2_V 0x1 +#define RMT_REF_ALWAYS_ON_CH2_S 17 +/* RMT_REF_CNT_RST_CH2 : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This bit is used to reset divider in channel2.*/ +#define RMT_REF_CNT_RST_CH2 (BIT(16)) +#define RMT_REF_CNT_RST_CH2_M (BIT(16)) +#define RMT_REF_CNT_RST_CH2_V 0x1 +#define RMT_REF_CNT_RST_CH2_S 16 +/* RMT_RX_FILTER_THRES_CH2 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ +/*description: in receive mode channel2 ignore input pulse when the pulse width + is smaller then this value.*/ +#define RMT_RX_FILTER_THRES_CH2 0x000000FF +#define RMT_RX_FILTER_THRES_CH2_M ((RMT_RX_FILTER_THRES_CH2_V)<<(RMT_RX_FILTER_THRES_CH2_S)) +#define RMT_RX_FILTER_THRES_CH2_V 0xFF +#define RMT_RX_FILTER_THRES_CH2_S 8 +/* RMT_RX_FILTER_EN_CH2 : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the receive filter enable bit for channel2.*/ +#define RMT_RX_FILTER_EN_CH2 (BIT(7)) +#define RMT_RX_FILTER_EN_CH2_M (BIT(7)) +#define RMT_RX_FILTER_EN_CH2_V 0x1 +#define RMT_RX_FILTER_EN_CH2_S 7 +/* RMT_TX_CONTI_MODE_CH2 : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to continue sending from the first data to the + last data in channel2.*/ +#define RMT_TX_CONTI_MODE_CH2 (BIT(6)) +#define RMT_TX_CONTI_MODE_CH2_M (BIT(6)) +#define RMT_TX_CONTI_MODE_CH2_V 0x1 +#define RMT_TX_CONTI_MODE_CH2_S 6 +/* RMT_MEM_OWNER_CH2 : R/W ;bitpos:[5] ;default: 1'b1 ; */ +/*description: This is the mark of channel2's ram usage right.1'b1:receiver + uses the ram 0:transmitter uses the ram*/ +#define RMT_MEM_OWNER_CH2 (BIT(5)) +#define RMT_MEM_OWNER_CH2_M (BIT(5)) +#define RMT_MEM_OWNER_CH2_V 0x1 +#define RMT_MEM_OWNER_CH2_S 5 +/* RMT_APB_MEM_RST_CH2 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to reset W/R ram address for channel2 by apb fifo access*/ +#define RMT_APB_MEM_RST_CH2 (BIT(4)) +#define RMT_APB_MEM_RST_CH2_M (BIT(4)) +#define RMT_APB_MEM_RST_CH2_V 0x1 +#define RMT_APB_MEM_RST_CH2_S 4 +/* RMT_MEM_RD_RST_CH2 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to reset read ram address for channel2 by transmitter access.*/ +#define RMT_MEM_RD_RST_CH2 (BIT(3)) +#define RMT_MEM_RD_RST_CH2_M (BIT(3)) +#define RMT_MEM_RD_RST_CH2_V 0x1 +#define RMT_MEM_RD_RST_CH2_S 3 +/* RMT_MEM_WR_RST_CH2 : R/W ;bitpos:[2] ;default: 1'h0 ; */ +/*description: Set this bit to reset write ram address for channel2 by receiver access.*/ +#define RMT_MEM_WR_RST_CH2 (BIT(2)) +#define RMT_MEM_WR_RST_CH2_M (BIT(2)) +#define RMT_MEM_WR_RST_CH2_V 0x1 +#define RMT_MEM_WR_RST_CH2_S 2 +/* RMT_RX_EN_CH2 : R/W ;bitpos:[1] ;default: 1'h0 ; */ +/*description: Set this bit to enbale receving data for channel2.*/ +#define RMT_RX_EN_CH2 (BIT(1)) +#define RMT_RX_EN_CH2_M (BIT(1)) +#define RMT_RX_EN_CH2_V 0x1 +#define RMT_RX_EN_CH2_S 1 +/* RMT_TX_START_CH2 : R/W ;bitpos:[0] ;default: 1'h0 ; */ +/*description: Set this bit to start sending data for channel2.*/ +#define RMT_TX_START_CH2 (BIT(0)) +#define RMT_TX_START_CH2_M (BIT(0)) +#define RMT_TX_START_CH2_V 0x1 +#define RMT_TX_START_CH2_S 0 + +#define RMT_CH3CONF0_REG (DR_REG_RMT_BASE + 0x0038) +/* RMT_CARRIER_OUT_LV_CH3 : R/W ;bitpos:[29] ;default: 1'b1 ; */ +/*description: This bit is used to configure carrier wave's position for channel3.1'b1:add + on low level 1'b0:add on high level.*/ +#define RMT_CARRIER_OUT_LV_CH3 (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH3_M (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH3_V 0x1 +#define RMT_CARRIER_OUT_LV_CH3_S 29 +/* RMT_CARRIER_EN_CH3 : R/W ;bitpos:[28] ;default: 1'b1 ; */ +/*description: This is the carrier modulation enable control bit for channel3.*/ +#define RMT_CARRIER_EN_CH3 (BIT(28)) +#define RMT_CARRIER_EN_CH3_M (BIT(28)) +#define RMT_CARRIER_EN_CH3_V 0x1 +#define RMT_CARRIER_EN_CH3_S 28 +/* RMT_MEM_SIZE_CH3 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ +/*description: This register is used to configure the the amount of memory blocks + allocated to channel3.*/ +#define RMT_MEM_SIZE_CH3 0x0000000F +#define RMT_MEM_SIZE_CH3_M ((RMT_MEM_SIZE_CH3_V)<<(RMT_MEM_SIZE_CH3_S)) +#define RMT_MEM_SIZE_CH3_V 0xF +#define RMT_MEM_SIZE_CH3_S 24 +/* RMT_IDLE_THRES_CH3 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ +/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch3 + then the receive process is done.*/ +#define RMT_IDLE_THRES_CH3 0x0000FFFF +#define RMT_IDLE_THRES_CH3_M ((RMT_IDLE_THRES_CH3_V)<<(RMT_IDLE_THRES_CH3_S)) +#define RMT_IDLE_THRES_CH3_V 0xFFFF +#define RMT_IDLE_THRES_CH3_S 8 +/* RMT_DIV_CNT_CH3 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ +/*description: This register is used to configure the frequency divider's factor in channel3.*/ +#define RMT_DIV_CNT_CH3 0x000000FF +#define RMT_DIV_CNT_CH3_M ((RMT_DIV_CNT_CH3_V)<<(RMT_DIV_CNT_CH3_S)) +#define RMT_DIV_CNT_CH3_V 0xFF +#define RMT_DIV_CNT_CH3_S 0 + +#define RMT_CH3CONF1_REG (DR_REG_RMT_BASE + 0x003c) +/* RMT_IDLE_OUT_EN_CH3 : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for channel3 in IDLE state.*/ +#define RMT_IDLE_OUT_EN_CH3 (BIT(19)) +#define RMT_IDLE_OUT_EN_CH3_M (BIT(19)) +#define RMT_IDLE_OUT_EN_CH3_V 0x1 +#define RMT_IDLE_OUT_EN_CH3_S 19 +/* RMT_IDLE_OUT_LV_CH3 : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This bit configures the output signal's level for channel3 in IDLE state.*/ +#define RMT_IDLE_OUT_LV_CH3 (BIT(18)) +#define RMT_IDLE_OUT_LV_CH3_M (BIT(18)) +#define RMT_IDLE_OUT_LV_CH3_V 0x1 +#define RMT_IDLE_OUT_LV_CH3_S 18 +/* RMT_REF_ALWAYS_ON_CH3 : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ +#define RMT_REF_ALWAYS_ON_CH3 (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH3_M (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH3_V 0x1 +#define RMT_REF_ALWAYS_ON_CH3_S 17 +/* RMT_REF_CNT_RST_CH3 : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This bit is used to reset divider in channel3.*/ +#define RMT_REF_CNT_RST_CH3 (BIT(16)) +#define RMT_REF_CNT_RST_CH3_M (BIT(16)) +#define RMT_REF_CNT_RST_CH3_V 0x1 +#define RMT_REF_CNT_RST_CH3_S 16 +/* RMT_RX_FILTER_THRES_CH3 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ +/*description: in receive mode channel3 ignore input pulse when the pulse width + is smaller then this value.*/ +#define RMT_RX_FILTER_THRES_CH3 0x000000FF +#define RMT_RX_FILTER_THRES_CH3_M ((RMT_RX_FILTER_THRES_CH3_V)<<(RMT_RX_FILTER_THRES_CH3_S)) +#define RMT_RX_FILTER_THRES_CH3_V 0xFF +#define RMT_RX_FILTER_THRES_CH3_S 8 +/* RMT_RX_FILTER_EN_CH3 : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the receive filter enable bit for channel3.*/ +#define RMT_RX_FILTER_EN_CH3 (BIT(7)) +#define RMT_RX_FILTER_EN_CH3_M (BIT(7)) +#define RMT_RX_FILTER_EN_CH3_V 0x1 +#define RMT_RX_FILTER_EN_CH3_S 7 +/* RMT_TX_CONTI_MODE_CH3 : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to continue sending from the first data to the + last data in channel3.*/ +#define RMT_TX_CONTI_MODE_CH3 (BIT(6)) +#define RMT_TX_CONTI_MODE_CH3_M (BIT(6)) +#define RMT_TX_CONTI_MODE_CH3_V 0x1 +#define RMT_TX_CONTI_MODE_CH3_S 6 +/* RMT_MEM_OWNER_CH3 : R/W ;bitpos:[5] ;default: 1'b1 ; */ +/*description: This is the mark of channel3's ram usage right.1'b1:receiver + uses the ram 0:transmitter uses the ram*/ +#define RMT_MEM_OWNER_CH3 (BIT(5)) +#define RMT_MEM_OWNER_CH3_M (BIT(5)) +#define RMT_MEM_OWNER_CH3_V 0x1 +#define RMT_MEM_OWNER_CH3_S 5 +/* RMT_APB_MEM_RST_CH3 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to reset W/R ram address for channel3 by apb fifo access*/ +#define RMT_APB_MEM_RST_CH3 (BIT(4)) +#define RMT_APB_MEM_RST_CH3_M (BIT(4)) +#define RMT_APB_MEM_RST_CH3_V 0x1 +#define RMT_APB_MEM_RST_CH3_S 4 +/* RMT_MEM_RD_RST_CH3 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to reset read ram address for channel3 by transmitter access.*/ +#define RMT_MEM_RD_RST_CH3 (BIT(3)) +#define RMT_MEM_RD_RST_CH3_M (BIT(3)) +#define RMT_MEM_RD_RST_CH3_V 0x1 +#define RMT_MEM_RD_RST_CH3_S 3 +/* RMT_MEM_WR_RST_CH3 : R/W ;bitpos:[2] ;default: 1'h0 ; */ +/*description: Set this bit to reset write ram address for channel3 by receiver access.*/ +#define RMT_MEM_WR_RST_CH3 (BIT(2)) +#define RMT_MEM_WR_RST_CH3_M (BIT(2)) +#define RMT_MEM_WR_RST_CH3_V 0x1 +#define RMT_MEM_WR_RST_CH3_S 2 +/* RMT_RX_EN_CH3 : R/W ;bitpos:[1] ;default: 1'h0 ; */ +/*description: Set this bit to enbale receving data for channel3.*/ +#define RMT_RX_EN_CH3 (BIT(1)) +#define RMT_RX_EN_CH3_M (BIT(1)) +#define RMT_RX_EN_CH3_V 0x1 +#define RMT_RX_EN_CH3_S 1 +/* RMT_TX_START_CH3 : R/W ;bitpos:[0] ;default: 1'h0 ; */ +/*description: Set this bit to start sending data for channel3.*/ +#define RMT_TX_START_CH3 (BIT(0)) +#define RMT_TX_START_CH3_M (BIT(0)) +#define RMT_TX_START_CH3_V 0x1 +#define RMT_TX_START_CH3_S 0 + +#define RMT_CH4CONF0_REG (DR_REG_RMT_BASE + 0x0040) +/* RMT_CARRIER_OUT_LV_CH4 : R/W ;bitpos:[29] ;default: 1'b1 ; */ +/*description: This bit is used to configure carrier wave's position for channel4.1'b1:add + on low level 1'b0:add on high level.*/ +#define RMT_CARRIER_OUT_LV_CH4 (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH4_M (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH4_V 0x1 +#define RMT_CARRIER_OUT_LV_CH4_S 29 +/* RMT_CARRIER_EN_CH4 : R/W ;bitpos:[28] ;default: 1'b1 ; */ +/*description: This is the carrier modulation enable control bit for channel4.*/ +#define RMT_CARRIER_EN_CH4 (BIT(28)) +#define RMT_CARRIER_EN_CH4_M (BIT(28)) +#define RMT_CARRIER_EN_CH4_V 0x1 +#define RMT_CARRIER_EN_CH4_S 28 +/* RMT_MEM_SIZE_CH4 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ +/*description: This register is used to configure the the amount of memory blocks + allocated to channel4.*/ +#define RMT_MEM_SIZE_CH4 0x0000000F +#define RMT_MEM_SIZE_CH4_M ((RMT_MEM_SIZE_CH4_V)<<(RMT_MEM_SIZE_CH4_S)) +#define RMT_MEM_SIZE_CH4_V 0xF +#define RMT_MEM_SIZE_CH4_S 24 +/* RMT_IDLE_THRES_CH4 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ +/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch4 + then the receive process is done.*/ +#define RMT_IDLE_THRES_CH4 0x0000FFFF +#define RMT_IDLE_THRES_CH4_M ((RMT_IDLE_THRES_CH4_V)<<(RMT_IDLE_THRES_CH4_S)) +#define RMT_IDLE_THRES_CH4_V 0xFFFF +#define RMT_IDLE_THRES_CH4_S 8 +/* RMT_DIV_CNT_CH4 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ +/*description: This register is used to configure the frequency divider's factor in channel4.*/ +#define RMT_DIV_CNT_CH4 0x000000FF +#define RMT_DIV_CNT_CH4_M ((RMT_DIV_CNT_CH4_V)<<(RMT_DIV_CNT_CH4_S)) +#define RMT_DIV_CNT_CH4_V 0xFF +#define RMT_DIV_CNT_CH4_S 0 + +#define RMT_CH4CONF1_REG (DR_REG_RMT_BASE + 0x0044) +/* RMT_IDLE_OUT_EN_CH4 : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for channel4 in IDLE state.*/ +#define RMT_IDLE_OUT_EN_CH4 (BIT(19)) +#define RMT_IDLE_OUT_EN_CH4_M (BIT(19)) +#define RMT_IDLE_OUT_EN_CH4_V 0x1 +#define RMT_IDLE_OUT_EN_CH4_S 19 +/* RMT_IDLE_OUT_LV_CH4 : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This bit configures the output signal's level for channel4 in IDLE state.*/ +#define RMT_IDLE_OUT_LV_CH4 (BIT(18)) +#define RMT_IDLE_OUT_LV_CH4_M (BIT(18)) +#define RMT_IDLE_OUT_LV_CH4_V 0x1 +#define RMT_IDLE_OUT_LV_CH4_S 18 +/* RMT_REF_ALWAYS_ON_CH4 : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ +#define RMT_REF_ALWAYS_ON_CH4 (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH4_M (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH4_V 0x1 +#define RMT_REF_ALWAYS_ON_CH4_S 17 +/* RMT_REF_CNT_RST_CH4 : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This bit is used to reset divider in channel4.*/ +#define RMT_REF_CNT_RST_CH4 (BIT(16)) +#define RMT_REF_CNT_RST_CH4_M (BIT(16)) +#define RMT_REF_CNT_RST_CH4_V 0x1 +#define RMT_REF_CNT_RST_CH4_S 16 +/* RMT_RX_FILTER_THRES_CH4 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ +/*description: in receive mode channel4 ignore input pulse when the pulse width + is smaller then this value.*/ +#define RMT_RX_FILTER_THRES_CH4 0x000000FF +#define RMT_RX_FILTER_THRES_CH4_M ((RMT_RX_FILTER_THRES_CH4_V)<<(RMT_RX_FILTER_THRES_CH4_S)) +#define RMT_RX_FILTER_THRES_CH4_V 0xFF +#define RMT_RX_FILTER_THRES_CH4_S 8 +/* RMT_RX_FILTER_EN_CH4 : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the receive filter enable bit for channel4.*/ +#define RMT_RX_FILTER_EN_CH4 (BIT(7)) +#define RMT_RX_FILTER_EN_CH4_M (BIT(7)) +#define RMT_RX_FILTER_EN_CH4_V 0x1 +#define RMT_RX_FILTER_EN_CH4_S 7 +/* RMT_TX_CONTI_MODE_CH4 : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to continue sending from the first data to the + last data in channel4.*/ +#define RMT_TX_CONTI_MODE_CH4 (BIT(6)) +#define RMT_TX_CONTI_MODE_CH4_M (BIT(6)) +#define RMT_TX_CONTI_MODE_CH4_V 0x1 +#define RMT_TX_CONTI_MODE_CH4_S 6 +/* RMT_MEM_OWNER_CH4 : R/W ;bitpos:[5] ;default: 1'b1 ; */ +/*description: This is the mark of channel4's ram usage right.1'b1:receiver + uses the ram 0:transmitter uses the ram*/ +#define RMT_MEM_OWNER_CH4 (BIT(5)) +#define RMT_MEM_OWNER_CH4_M (BIT(5)) +#define RMT_MEM_OWNER_CH4_V 0x1 +#define RMT_MEM_OWNER_CH4_S 5 +/* RMT_APB_MEM_RST_CH4 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to reset W/R ram address for channel4 by apb fifo access*/ +#define RMT_APB_MEM_RST_CH4 (BIT(4)) +#define RMT_APB_MEM_RST_CH4_M (BIT(4)) +#define RMT_APB_MEM_RST_CH4_V 0x1 +#define RMT_APB_MEM_RST_CH4_S 4 +/* RMT_MEM_RD_RST_CH4 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to reset read ram address for channel4 by transmitter access.*/ +#define RMT_MEM_RD_RST_CH4 (BIT(3)) +#define RMT_MEM_RD_RST_CH4_M (BIT(3)) +#define RMT_MEM_RD_RST_CH4_V 0x1 +#define RMT_MEM_RD_RST_CH4_S 3 +/* RMT_MEM_WR_RST_CH4 : R/W ;bitpos:[2] ;default: 1'h0 ; */ +/*description: Set this bit to reset write ram address for channel4 by receiver access.*/ +#define RMT_MEM_WR_RST_CH4 (BIT(2)) +#define RMT_MEM_WR_RST_CH4_M (BIT(2)) +#define RMT_MEM_WR_RST_CH4_V 0x1 +#define RMT_MEM_WR_RST_CH4_S 2 +/* RMT_RX_EN_CH4 : R/W ;bitpos:[1] ;default: 1'h0 ; */ +/*description: Set this bit to enbale receving data for channel4.*/ +#define RMT_RX_EN_CH4 (BIT(1)) +#define RMT_RX_EN_CH4_M (BIT(1)) +#define RMT_RX_EN_CH4_V 0x1 +#define RMT_RX_EN_CH4_S 1 +/* RMT_TX_START_CH4 : R/W ;bitpos:[0] ;default: 1'h0 ; */ +/*description: Set this bit to start sending data for channel4.*/ +#define RMT_TX_START_CH4 (BIT(0)) +#define RMT_TX_START_CH4_M (BIT(0)) +#define RMT_TX_START_CH4_V 0x1 +#define RMT_TX_START_CH4_S 0 + +#define RMT_CH5CONF0_REG (DR_REG_RMT_BASE + 0x0048) +/* RMT_CARRIER_OUT_LV_CH5 : R/W ;bitpos:[29] ;default: 1'b1 ; */ +/*description: This bit is used to configure carrier wave's position for channel5.1'b1:add + on low level 1'b0:add on high level.*/ +#define RMT_CARRIER_OUT_LV_CH5 (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH5_M (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH5_V 0x1 +#define RMT_CARRIER_OUT_LV_CH5_S 29 +/* RMT_CARRIER_EN_CH5 : R/W ;bitpos:[28] ;default: 1'b1 ; */ +/*description: This is the carrier modulation enable control bit for channel5.*/ +#define RMT_CARRIER_EN_CH5 (BIT(28)) +#define RMT_CARRIER_EN_CH5_M (BIT(28)) +#define RMT_CARRIER_EN_CH5_V 0x1 +#define RMT_CARRIER_EN_CH5_S 28 +/* RMT_MEM_SIZE_CH5 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ +/*description: This register is used to configure the the amount of memory blocks + allocated to channel5.*/ +#define RMT_MEM_SIZE_CH5 0x0000000F +#define RMT_MEM_SIZE_CH5_M ((RMT_MEM_SIZE_CH5_V)<<(RMT_MEM_SIZE_CH5_S)) +#define RMT_MEM_SIZE_CH5_V 0xF +#define RMT_MEM_SIZE_CH5_S 24 +/* RMT_IDLE_THRES_CH5 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ +/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch5 + then the receive process is done.*/ +#define RMT_IDLE_THRES_CH5 0x0000FFFF +#define RMT_IDLE_THRES_CH5_M ((RMT_IDLE_THRES_CH5_V)<<(RMT_IDLE_THRES_CH5_S)) +#define RMT_IDLE_THRES_CH5_V 0xFFFF +#define RMT_IDLE_THRES_CH5_S 8 +/* RMT_DIV_CNT_CH5 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ +/*description: This register is used to configure the frequency divider's factor in channel5.*/ +#define RMT_DIV_CNT_CH5 0x000000FF +#define RMT_DIV_CNT_CH5_M ((RMT_DIV_CNT_CH5_V)<<(RMT_DIV_CNT_CH5_S)) +#define RMT_DIV_CNT_CH5_V 0xFF +#define RMT_DIV_CNT_CH5_S 0 + +#define RMT_CH5CONF1_REG (DR_REG_RMT_BASE + 0x004c) +/* RMT_IDLE_OUT_EN_CH5 : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for channel5 in IDLE state.*/ +#define RMT_IDLE_OUT_EN_CH5 (BIT(19)) +#define RMT_IDLE_OUT_EN_CH5_M (BIT(19)) +#define RMT_IDLE_OUT_EN_CH5_V 0x1 +#define RMT_IDLE_OUT_EN_CH5_S 19 +/* RMT_IDLE_OUT_LV_CH5 : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This bit configures the output signal's level for channel5 in IDLE state.*/ +#define RMT_IDLE_OUT_LV_CH5 (BIT(18)) +#define RMT_IDLE_OUT_LV_CH5_M (BIT(18)) +#define RMT_IDLE_OUT_LV_CH5_V 0x1 +#define RMT_IDLE_OUT_LV_CH5_S 18 +/* RMT_REF_ALWAYS_ON_CH5 : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ +#define RMT_REF_ALWAYS_ON_CH5 (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH5_M (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH5_V 0x1 +#define RMT_REF_ALWAYS_ON_CH5_S 17 +/* RMT_REF_CNT_RST_CH5 : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This bit is used to reset divider in channel5.*/ +#define RMT_REF_CNT_RST_CH5 (BIT(16)) +#define RMT_REF_CNT_RST_CH5_M (BIT(16)) +#define RMT_REF_CNT_RST_CH5_V 0x1 +#define RMT_REF_CNT_RST_CH5_S 16 +/* RMT_RX_FILTER_THRES_CH5 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ +/*description: in receive mode channel5 ignore input pulse when the pulse width + is smaller then this value.*/ +#define RMT_RX_FILTER_THRES_CH5 0x000000FF +#define RMT_RX_FILTER_THRES_CH5_M ((RMT_RX_FILTER_THRES_CH5_V)<<(RMT_RX_FILTER_THRES_CH5_S)) +#define RMT_RX_FILTER_THRES_CH5_V 0xFF +#define RMT_RX_FILTER_THRES_CH5_S 8 +/* RMT_RX_FILTER_EN_CH5 : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the receive filter enable bit for channel5.*/ +#define RMT_RX_FILTER_EN_CH5 (BIT(7)) +#define RMT_RX_FILTER_EN_CH5_M (BIT(7)) +#define RMT_RX_FILTER_EN_CH5_V 0x1 +#define RMT_RX_FILTER_EN_CH5_S 7 +/* RMT_TX_CONTI_MODE_CH5 : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to continue sending from the first data to the + last data in channel5.*/ +#define RMT_TX_CONTI_MODE_CH5 (BIT(6)) +#define RMT_TX_CONTI_MODE_CH5_M (BIT(6)) +#define RMT_TX_CONTI_MODE_CH5_V 0x1 +#define RMT_TX_CONTI_MODE_CH5_S 6 +/* RMT_MEM_OWNER_CH5 : R/W ;bitpos:[5] ;default: 1'b1 ; */ +/*description: This is the mark of channel5's ram usage right.1'b1:receiver + uses the ram 0:transmitter uses the ram*/ +#define RMT_MEM_OWNER_CH5 (BIT(5)) +#define RMT_MEM_OWNER_CH5_M (BIT(5)) +#define RMT_MEM_OWNER_CH5_V 0x1 +#define RMT_MEM_OWNER_CH5_S 5 +/* RMT_APB_MEM_RST_CH5 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to reset W/R ram address for channel5 by apb fifo access*/ +#define RMT_APB_MEM_RST_CH5 (BIT(4)) +#define RMT_APB_MEM_RST_CH5_M (BIT(4)) +#define RMT_APB_MEM_RST_CH5_V 0x1 +#define RMT_APB_MEM_RST_CH5_S 4 +/* RMT_MEM_RD_RST_CH5 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to reset read ram address for channel5 by transmitter access.*/ +#define RMT_MEM_RD_RST_CH5 (BIT(3)) +#define RMT_MEM_RD_RST_CH5_M (BIT(3)) +#define RMT_MEM_RD_RST_CH5_V 0x1 +#define RMT_MEM_RD_RST_CH5_S 3 +/* RMT_MEM_WR_RST_CH5 : R/W ;bitpos:[2] ;default: 1'h0 ; */ +/*description: Set this bit to reset write ram address for channel5 by receiver access.*/ +#define RMT_MEM_WR_RST_CH5 (BIT(2)) +#define RMT_MEM_WR_RST_CH5_M (BIT(2)) +#define RMT_MEM_WR_RST_CH5_V 0x1 +#define RMT_MEM_WR_RST_CH5_S 2 +/* RMT_RX_EN_CH5 : R/W ;bitpos:[1] ;default: 1'h0 ; */ +/*description: Set this bit to enbale receving data for channel5.*/ +#define RMT_RX_EN_CH5 (BIT(1)) +#define RMT_RX_EN_CH5_M (BIT(1)) +#define RMT_RX_EN_CH5_V 0x1 +#define RMT_RX_EN_CH5_S 1 +/* RMT_TX_START_CH5 : R/W ;bitpos:[0] ;default: 1'h0 ; */ +/*description: Set this bit to start sending data for channel5.*/ +#define RMT_TX_START_CH5 (BIT(0)) +#define RMT_TX_START_CH5_M (BIT(0)) +#define RMT_TX_START_CH5_V 0x1 +#define RMT_TX_START_CH5_S 0 + +#define RMT_CH6CONF0_REG (DR_REG_RMT_BASE + 0x0050) +/* RMT_CARRIER_OUT_LV_CH6 : R/W ;bitpos:[29] ;default: 1'b1 ; */ +/*description: This bit is used to configure carrier wave's position for channel6.1'b1:add + on low level 1'b0:add on high level.*/ +#define RMT_CARRIER_OUT_LV_CH6 (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH6_M (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH6_V 0x1 +#define RMT_CARRIER_OUT_LV_CH6_S 29 +/* RMT_CARRIER_EN_CH6 : R/W ;bitpos:[28] ;default: 1'b1 ; */ +/*description: This is the carrier modulation enable control bit for channel6.*/ +#define RMT_CARRIER_EN_CH6 (BIT(28)) +#define RMT_CARRIER_EN_CH6_M (BIT(28)) +#define RMT_CARRIER_EN_CH6_V 0x1 +#define RMT_CARRIER_EN_CH6_S 28 +/* RMT_MEM_SIZE_CH6 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ +/*description: This register is used to configure the the amount of memory blocks + allocated to channel6.*/ +#define RMT_MEM_SIZE_CH6 0x0000000F +#define RMT_MEM_SIZE_CH6_M ((RMT_MEM_SIZE_CH6_V)<<(RMT_MEM_SIZE_CH6_S)) +#define RMT_MEM_SIZE_CH6_V 0xF +#define RMT_MEM_SIZE_CH6_S 24 +/* RMT_IDLE_THRES_CH6 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ +/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch6 + then the receive process is done.*/ +#define RMT_IDLE_THRES_CH6 0x0000FFFF +#define RMT_IDLE_THRES_CH6_M ((RMT_IDLE_THRES_CH6_V)<<(RMT_IDLE_THRES_CH6_S)) +#define RMT_IDLE_THRES_CH6_V 0xFFFF +#define RMT_IDLE_THRES_CH6_S 8 +/* RMT_DIV_CNT_CH6 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ +/*description: This register is used to configure the frequency divider's factor in channel6.*/ +#define RMT_DIV_CNT_CH6 0x000000FF +#define RMT_DIV_CNT_CH6_M ((RMT_DIV_CNT_CH6_V)<<(RMT_DIV_CNT_CH6_S)) +#define RMT_DIV_CNT_CH6_V 0xFF +#define RMT_DIV_CNT_CH6_S 0 + +#define RMT_CH6CONF1_REG (DR_REG_RMT_BASE + 0x0054) +/* RMT_IDLE_OUT_EN_CH6 : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for channel6 in IDLE state.*/ +#define RMT_IDLE_OUT_EN_CH6 (BIT(19)) +#define RMT_IDLE_OUT_EN_CH6_M (BIT(19)) +#define RMT_IDLE_OUT_EN_CH6_V 0x1 +#define RMT_IDLE_OUT_EN_CH6_S 19 +/* RMT_IDLE_OUT_LV_CH6 : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This bit configures the output signal's level for channel6 in IDLE state.*/ +#define RMT_IDLE_OUT_LV_CH6 (BIT(18)) +#define RMT_IDLE_OUT_LV_CH6_M (BIT(18)) +#define RMT_IDLE_OUT_LV_CH6_V 0x1 +#define RMT_IDLE_OUT_LV_CH6_S 18 +/* RMT_REF_ALWAYS_ON_CH6 : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ +#define RMT_REF_ALWAYS_ON_CH6 (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH6_M (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH6_V 0x1 +#define RMT_REF_ALWAYS_ON_CH6_S 17 +/* RMT_REF_CNT_RST_CH6 : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This bit is used to reset divider in channel6.*/ +#define RMT_REF_CNT_RST_CH6 (BIT(16)) +#define RMT_REF_CNT_RST_CH6_M (BIT(16)) +#define RMT_REF_CNT_RST_CH6_V 0x1 +#define RMT_REF_CNT_RST_CH6_S 16 +/* RMT_RX_FILTER_THRES_CH6 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ +/*description: in receive mode channel6 ignore input pulse when the pulse width + is smaller then this value.*/ +#define RMT_RX_FILTER_THRES_CH6 0x000000FF +#define RMT_RX_FILTER_THRES_CH6_M ((RMT_RX_FILTER_THRES_CH6_V)<<(RMT_RX_FILTER_THRES_CH6_S)) +#define RMT_RX_FILTER_THRES_CH6_V 0xFF +#define RMT_RX_FILTER_THRES_CH6_S 8 +/* RMT_RX_FILTER_EN_CH6 : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the receive filter enable bit for channel6.*/ +#define RMT_RX_FILTER_EN_CH6 (BIT(7)) +#define RMT_RX_FILTER_EN_CH6_M (BIT(7)) +#define RMT_RX_FILTER_EN_CH6_V 0x1 +#define RMT_RX_FILTER_EN_CH6_S 7 +/* RMT_TX_CONTI_MODE_CH6 : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to continue sending from the first data to the + last data in channel6.*/ +#define RMT_TX_CONTI_MODE_CH6 (BIT(6)) +#define RMT_TX_CONTI_MODE_CH6_M (BIT(6)) +#define RMT_TX_CONTI_MODE_CH6_V 0x1 +#define RMT_TX_CONTI_MODE_CH6_S 6 +/* RMT_MEM_OWNER_CH6 : R/W ;bitpos:[5] ;default: 1'b1 ; */ +/*description: This is the mark of channel6's ram usage right.1'b1:receiver + uses the ram 0:transmitter uses the ram*/ +#define RMT_MEM_OWNER_CH6 (BIT(5)) +#define RMT_MEM_OWNER_CH6_M (BIT(5)) +#define RMT_MEM_OWNER_CH6_V 0x1 +#define RMT_MEM_OWNER_CH6_S 5 +/* RMT_APB_MEM_RST_CH6 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to reset W/R ram address for channel6 by apb fifo access*/ +#define RMT_APB_MEM_RST_CH6 (BIT(4)) +#define RMT_APB_MEM_RST_CH6_M (BIT(4)) +#define RMT_APB_MEM_RST_CH6_V 0x1 +#define RMT_APB_MEM_RST_CH6_S 4 +/* RMT_MEM_RD_RST_CH6 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to reset read ram address for channel6 by transmitter access.*/ +#define RMT_MEM_RD_RST_CH6 (BIT(3)) +#define RMT_MEM_RD_RST_CH6_M (BIT(3)) +#define RMT_MEM_RD_RST_CH6_V 0x1 +#define RMT_MEM_RD_RST_CH6_S 3 +/* RMT_MEM_WR_RST_CH6 : R/W ;bitpos:[2] ;default: 1'h0 ; */ +/*description: Set this bit to reset write ram address for channel6 by receiver access.*/ +#define RMT_MEM_WR_RST_CH6 (BIT(2)) +#define RMT_MEM_WR_RST_CH6_M (BIT(2)) +#define RMT_MEM_WR_RST_CH6_V 0x1 +#define RMT_MEM_WR_RST_CH6_S 2 +/* RMT_RX_EN_CH6 : R/W ;bitpos:[1] ;default: 1'h0 ; */ +/*description: Set this bit to enbale receving data for channel6.*/ +#define RMT_RX_EN_CH6 (BIT(1)) +#define RMT_RX_EN_CH6_M (BIT(1)) +#define RMT_RX_EN_CH6_V 0x1 +#define RMT_RX_EN_CH6_S 1 +/* RMT_TX_START_CH6 : R/W ;bitpos:[0] ;default: 1'h0 ; */ +/*description: Set this bit to start sending data for channel6.*/ +#define RMT_TX_START_CH6 (BIT(0)) +#define RMT_TX_START_CH6_M (BIT(0)) +#define RMT_TX_START_CH6_V 0x1 +#define RMT_TX_START_CH6_S 0 + +#define RMT_CH7CONF0_REG (DR_REG_RMT_BASE + 0x0058) +/* RMT_CARRIER_OUT_LV_CH7 : R/W ;bitpos:[29] ;default: 1'b1 ; */ +/*description: This bit is used to configure carrier wave's position for channel7.1'b1:add + on low level 1'b0:add on high level.*/ +#define RMT_CARRIER_OUT_LV_CH7 (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH7_M (BIT(29)) +#define RMT_CARRIER_OUT_LV_CH7_V 0x1 +#define RMT_CARRIER_OUT_LV_CH7_S 29 +/* RMT_CARRIER_EN_CH7 : R/W ;bitpos:[28] ;default: 1'b1 ; */ +/*description: This is the carrier modulation enable control bit for channel7.*/ +#define RMT_CARRIER_EN_CH7 (BIT(28)) +#define RMT_CARRIER_EN_CH7_M (BIT(28)) +#define RMT_CARRIER_EN_CH7_V 0x1 +#define RMT_CARRIER_EN_CH7_S 28 +/* RMT_MEM_SIZE_CH7 : R/W ;bitpos:[27:24] ;default: 4'h1 ; */ +/*description: This register is used to configure the the amount of memory blocks + allocated to channel7.*/ +#define RMT_MEM_SIZE_CH7 0x0000000F +#define RMT_MEM_SIZE_CH7_M ((RMT_MEM_SIZE_CH7_V)<<(RMT_MEM_SIZE_CH7_S)) +#define RMT_MEM_SIZE_CH7_V 0xF +#define RMT_MEM_SIZE_CH7_S 24 +/* RMT_IDLE_THRES_CH7 : R/W ;bitpos:[23:8] ;default: 16'h1000 ; */ +/*description: In receive mode when the counter's value is bigger than reg_idle_thres_ch7 + then the receive process is done.*/ +#define RMT_IDLE_THRES_CH7 0x0000FFFF +#define RMT_IDLE_THRES_CH7_M ((RMT_IDLE_THRES_CH7_V)<<(RMT_IDLE_THRES_CH7_S)) +#define RMT_IDLE_THRES_CH7_V 0xFFFF +#define RMT_IDLE_THRES_CH7_S 8 +/* RMT_DIV_CNT_CH7 : R/W ;bitpos:[7:0] ;default: 8'h2 ; */ +/*description: This register is used to configure the frequency divider's factor in channel7.*/ +#define RMT_DIV_CNT_CH7 0x000000FF +#define RMT_DIV_CNT_CH7_M ((RMT_DIV_CNT_CH7_V)<<(RMT_DIV_CNT_CH7_S)) +#define RMT_DIV_CNT_CH7_V 0xFF +#define RMT_DIV_CNT_CH7_S 0 + +#define RMT_CH7CONF1_REG (DR_REG_RMT_BASE + 0x005c) +/* RMT_IDLE_OUT_EN_CH7 : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: This is the output enable control bit for channel6 in IDLE state.*/ +#define RMT_IDLE_OUT_EN_CH7 (BIT(19)) +#define RMT_IDLE_OUT_EN_CH7_M (BIT(19)) +#define RMT_IDLE_OUT_EN_CH7_V 0x1 +#define RMT_IDLE_OUT_EN_CH7_S 19 +/* RMT_IDLE_OUT_LV_CH7 : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This bit configures the output signal's level for channel7 in IDLE state.*/ +#define RMT_IDLE_OUT_LV_CH7 (BIT(18)) +#define RMT_IDLE_OUT_LV_CH7_M (BIT(18)) +#define RMT_IDLE_OUT_LV_CH7_V 0x1 +#define RMT_IDLE_OUT_LV_CH7_S 18 +/* RMT_REF_ALWAYS_ON_CH7 : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This bit is used to select base clock. 1'b1:clk_apb 1'b0:clk_ref*/ +#define RMT_REF_ALWAYS_ON_CH7 (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH7_M (BIT(17)) +#define RMT_REF_ALWAYS_ON_CH7_V 0x1 +#define RMT_REF_ALWAYS_ON_CH7_S 17 +/* RMT_REF_CNT_RST_CH7 : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This bit is used to reset divider in channel7.*/ +#define RMT_REF_CNT_RST_CH7 (BIT(16)) +#define RMT_REF_CNT_RST_CH7_M (BIT(16)) +#define RMT_REF_CNT_RST_CH7_V 0x1 +#define RMT_REF_CNT_RST_CH7_S 16 +/* RMT_RX_FILTER_THRES_CH7 : R/W ;bitpos:[15:8] ;default: 8'hf ; */ +/*description: in receive mode channel7 ignore input pulse when the pulse width + is smaller then this value.*/ +#define RMT_RX_FILTER_THRES_CH7 0x000000FF +#define RMT_RX_FILTER_THRES_CH7_M ((RMT_RX_FILTER_THRES_CH7_V)<<(RMT_RX_FILTER_THRES_CH7_S)) +#define RMT_RX_FILTER_THRES_CH7_V 0xFF +#define RMT_RX_FILTER_THRES_CH7_S 8 +/* RMT_RX_FILTER_EN_CH7 : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the receive filter enable bit for channel7.*/ +#define RMT_RX_FILTER_EN_CH7 (BIT(7)) +#define RMT_RX_FILTER_EN_CH7_M (BIT(7)) +#define RMT_RX_FILTER_EN_CH7_V 0x1 +#define RMT_RX_FILTER_EN_CH7_S 7 +/* RMT_TX_CONTI_MODE_CH7 : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to continue sending from the first data to the + last data in channel7.*/ +#define RMT_TX_CONTI_MODE_CH7 (BIT(6)) +#define RMT_TX_CONTI_MODE_CH7_M (BIT(6)) +#define RMT_TX_CONTI_MODE_CH7_V 0x1 +#define RMT_TX_CONTI_MODE_CH7_S 6 +/* RMT_MEM_OWNER_CH7 : R/W ;bitpos:[5] ;default: 1'b1 ; */ +/*description: This is the mark of channel7's ram usage right.1'b1:receiver + uses the ram 0:transmitter uses the ram*/ +#define RMT_MEM_OWNER_CH7 (BIT(5)) +#define RMT_MEM_OWNER_CH7_M (BIT(5)) +#define RMT_MEM_OWNER_CH7_V 0x1 +#define RMT_MEM_OWNER_CH7_S 5 +/* RMT_APB_MEM_RST_CH7 : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to reset W/R ram address for channel7 by apb fifo access*/ +#define RMT_APB_MEM_RST_CH7 (BIT(4)) +#define RMT_APB_MEM_RST_CH7_M (BIT(4)) +#define RMT_APB_MEM_RST_CH7_V 0x1 +#define RMT_APB_MEM_RST_CH7_S 4 +/* RMT_MEM_RD_RST_CH7 : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to reset read ram address for channel7 by transmitter access.*/ +#define RMT_MEM_RD_RST_CH7 (BIT(3)) +#define RMT_MEM_RD_RST_CH7_M (BIT(3)) +#define RMT_MEM_RD_RST_CH7_V 0x1 +#define RMT_MEM_RD_RST_CH7_S 3 +/* RMT_MEM_WR_RST_CH7 : R/W ;bitpos:[2] ;default: 1'h0 ; */ +/*description: Set this bit to reset write ram address for channel7 by receiver access.*/ +#define RMT_MEM_WR_RST_CH7 (BIT(2)) +#define RMT_MEM_WR_RST_CH7_M (BIT(2)) +#define RMT_MEM_WR_RST_CH7_V 0x1 +#define RMT_MEM_WR_RST_CH7_S 2 +/* RMT_RX_EN_CH7 : R/W ;bitpos:[1] ;default: 1'h0 ; */ +/*description: Set this bit to enbale receving data for channel7.*/ +#define RMT_RX_EN_CH7 (BIT(1)) +#define RMT_RX_EN_CH7_M (BIT(1)) +#define RMT_RX_EN_CH7_V 0x1 +#define RMT_RX_EN_CH7_S 1 +/* RMT_TX_START_CH7 : R/W ;bitpos:[0] ;default: 1'h0 ; */ +/*description: Set this bit to start sending data for channel7.*/ +#define RMT_TX_START_CH7 (BIT(0)) +#define RMT_TX_START_CH7_M (BIT(0)) +#define RMT_TX_START_CH7_V 0x1 +#define RMT_TX_START_CH7_S 0 + +#define RMT_CH0STATUS_REG (DR_REG_RMT_BASE + 0x0060) +/* RMT_STATUS_CH0 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The status for channel0*/ +#define RMT_STATUS_CH0 0xFFFFFFFF +#define RMT_STATUS_CH0_M ((RMT_STATUS_CH0_V)<<(RMT_STATUS_CH0_S)) +#define RMT_STATUS_CH0_V 0xFFFFFFFF +#define RMT_STATUS_CH0_S 0 + +#define RMT_CH1STATUS_REG (DR_REG_RMT_BASE + 0x0064) +/* RMT_STATUS_CH1 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The status for channel1*/ +#define RMT_STATUS_CH1 0xFFFFFFFF +#define RMT_STATUS_CH1_M ((RMT_STATUS_CH1_V)<<(RMT_STATUS_CH1_S)) +#define RMT_STATUS_CH1_V 0xFFFFFFFF +#define RMT_STATUS_CH1_S 0 + +#define RMT_CH2STATUS_REG (DR_REG_RMT_BASE + 0x0068) +/* RMT_STATUS_CH2 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The status for channel2*/ +#define RMT_STATUS_CH2 0xFFFFFFFF +#define RMT_STATUS_CH2_M ((RMT_STATUS_CH2_V)<<(RMT_STATUS_CH2_S)) +#define RMT_STATUS_CH2_V 0xFFFFFFFF +#define RMT_STATUS_CH2_S 0 + +#define RMT_CH3STATUS_REG (DR_REG_RMT_BASE + 0x006c) +/* RMT_STATUS_CH3 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The status for channel3*/ +#define RMT_STATUS_CH3 0xFFFFFFFF +#define RMT_STATUS_CH3_M ((RMT_STATUS_CH3_V)<<(RMT_STATUS_CH3_S)) +#define RMT_STATUS_CH3_V 0xFFFFFFFF +#define RMT_STATUS_CH3_S 0 + +#define RMT_CH4STATUS_REG (DR_REG_RMT_BASE + 0x0070) +/* RMT_STATUS_CH4 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The status for channel4*/ +#define RMT_STATUS_CH4 0xFFFFFFFF +#define RMT_STATUS_CH4_M ((RMT_STATUS_CH4_V)<<(RMT_STATUS_CH4_S)) +#define RMT_STATUS_CH4_V 0xFFFFFFFF +#define RMT_STATUS_CH4_S 0 + +#define RMT_CH5STATUS_REG (DR_REG_RMT_BASE + 0x0074) +/* RMT_STATUS_CH5 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The status for channel5*/ +#define RMT_STATUS_CH5 0xFFFFFFFF +#define RMT_STATUS_CH5_M ((RMT_STATUS_CH5_V)<<(RMT_STATUS_CH5_S)) +#define RMT_STATUS_CH5_V 0xFFFFFFFF +#define RMT_STATUS_CH5_S 0 + +#define RMT_CH6STATUS_REG (DR_REG_RMT_BASE + 0x0078) +/* RMT_STATUS_CH6 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The status for channel6*/ +#define RMT_STATUS_CH6 0xFFFFFFFF +#define RMT_STATUS_CH6_M ((RMT_STATUS_CH6_V)<<(RMT_STATUS_CH6_S)) +#define RMT_STATUS_CH6_V 0xFFFFFFFF +#define RMT_STATUS_CH6_S 0 + +#define RMT_CH7STATUS_REG (DR_REG_RMT_BASE + 0x007c) +/* RMT_STATUS_CH7 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The status for channel7*/ +#define RMT_STATUS_CH7 0xFFFFFFFF +#define RMT_STATUS_CH7_M ((RMT_STATUS_CH7_V)<<(RMT_STATUS_CH7_S)) +#define RMT_STATUS_CH7_V 0xFFFFFFFF +#define RMT_STATUS_CH7_S 0 + +#define RMT_CH0ADDR_REG (DR_REG_RMT_BASE + 0x0080) +/* RMT_APB_MEM_ADDR_CH0 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The ram relative address in channel0 by apb fifo access*/ +#define RMT_APB_MEM_ADDR_CH0 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH0_M ((RMT_APB_MEM_ADDR_CH0_V)<<(RMT_APB_MEM_ADDR_CH0_S)) +#define RMT_APB_MEM_ADDR_CH0_V 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH0_S 0 + +#define RMT_CH1ADDR_REG (DR_REG_RMT_BASE + 0x0084) +/* RMT_APB_MEM_ADDR_CH1 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The ram relative address in channel1 by apb fifo access*/ +#define RMT_APB_MEM_ADDR_CH1 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH1_M ((RMT_APB_MEM_ADDR_CH1_V)<<(RMT_APB_MEM_ADDR_CH1_S)) +#define RMT_APB_MEM_ADDR_CH1_V 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH1_S 0 + +#define RMT_CH2ADDR_REG (DR_REG_RMT_BASE + 0x0088) +/* RMT_APB_MEM_ADDR_CH2 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The ram relative address in channel2 by apb fifo access*/ +#define RMT_APB_MEM_ADDR_CH2 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH2_M ((RMT_APB_MEM_ADDR_CH2_V)<<(RMT_APB_MEM_ADDR_CH2_S)) +#define RMT_APB_MEM_ADDR_CH2_V 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH2_S 0 + +#define RMT_CH3ADDR_REG (DR_REG_RMT_BASE + 0x008c) +/* RMT_APB_MEM_ADDR_CH3 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The ram relative address in channel3 by apb fifo access*/ +#define RMT_APB_MEM_ADDR_CH3 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH3_M ((RMT_APB_MEM_ADDR_CH3_V)<<(RMT_APB_MEM_ADDR_CH3_S)) +#define RMT_APB_MEM_ADDR_CH3_V 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH3_S 0 + +#define RMT_CH4ADDR_REG (DR_REG_RMT_BASE + 0x0090) +/* RMT_APB_MEM_ADDR_CH4 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The ram relative address in channel4 by apb fifo access*/ +#define RMT_APB_MEM_ADDR_CH4 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH4_M ((RMT_APB_MEM_ADDR_CH4_V)<<(RMT_APB_MEM_ADDR_CH4_S)) +#define RMT_APB_MEM_ADDR_CH4_V 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH4_S 0 + +#define RMT_CH5ADDR_REG (DR_REG_RMT_BASE + 0x0094) +/* RMT_APB_MEM_ADDR_CH5 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The ram relative address in channel5 by apb fifo access*/ +#define RMT_APB_MEM_ADDR_CH5 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH5_M ((RMT_APB_MEM_ADDR_CH5_V)<<(RMT_APB_MEM_ADDR_CH5_S)) +#define RMT_APB_MEM_ADDR_CH5_V 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH5_S 0 + +#define RMT_CH6ADDR_REG (DR_REG_RMT_BASE + 0x0098) +/* RMT_APB_MEM_ADDR_CH6 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The ram relative address in channel6 by apb fifo access*/ +#define RMT_APB_MEM_ADDR_CH6 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH6_M ((RMT_APB_MEM_ADDR_CH6_V)<<(RMT_APB_MEM_ADDR_CH6_S)) +#define RMT_APB_MEM_ADDR_CH6_V 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH6_S 0 + +#define RMT_CH7ADDR_REG (DR_REG_RMT_BASE + 0x009c) +/* RMT_APB_MEM_ADDR_CH7 : RO ;bitpos:[31:0] ;default: 32'h0 ; */ +/*description: The ram relative address in channel7 by apb fifo access*/ +#define RMT_APB_MEM_ADDR_CH7 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH7_M ((RMT_APB_MEM_ADDR_CH7_V)<<(RMT_APB_MEM_ADDR_CH7_S)) +#define RMT_APB_MEM_ADDR_CH7_V 0xFFFFFFFF +#define RMT_APB_MEM_ADDR_CH7_S 0 + +#define RMT_INT_RAW_REG (DR_REG_RMT_BASE + 0x00a0) +/* RMT_CH7_TX_THR_EVENT_INT_RAW : RO ;bitpos:[31] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 7 turns to high level when + transmitter in channle7 have send datas more than reg_rmt_tx_lim_ch7 after detecting this interrupt software can updata the old datas with new datas.*/ +#define RMT_CH7_TX_THR_EVENT_INT_RAW (BIT(31)) +#define RMT_CH7_TX_THR_EVENT_INT_RAW_M (BIT(31)) +#define RMT_CH7_TX_THR_EVENT_INT_RAW_V 0x1 +#define RMT_CH7_TX_THR_EVENT_INT_RAW_S 31 +/* RMT_CH6_TX_THR_EVENT_INT_RAW : RO ;bitpos:[30] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 6 turns to high level when + transmitter in channle6 have send datas more than reg_rmt_tx_lim_ch6 after detecting this interrupt software can updata the old datas with new datas.*/ +#define RMT_CH6_TX_THR_EVENT_INT_RAW (BIT(30)) +#define RMT_CH6_TX_THR_EVENT_INT_RAW_M (BIT(30)) +#define RMT_CH6_TX_THR_EVENT_INT_RAW_V 0x1 +#define RMT_CH6_TX_THR_EVENT_INT_RAW_S 30 +/* RMT_CH5_TX_THR_EVENT_INT_RAW : RO ;bitpos:[29] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 5 turns to high level when + transmitter in channle5 have send datas more than reg_rmt_tx_lim_ch5 after detecting this interrupt software can updata the old datas with new datas.*/ +#define RMT_CH5_TX_THR_EVENT_INT_RAW (BIT(29)) +#define RMT_CH5_TX_THR_EVENT_INT_RAW_M (BIT(29)) +#define RMT_CH5_TX_THR_EVENT_INT_RAW_V 0x1 +#define RMT_CH5_TX_THR_EVENT_INT_RAW_S 29 +/* RMT_CH4_TX_THR_EVENT_INT_RAW : RO ;bitpos:[28] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 4 turns to high level when + transmitter in channle4 have send datas more than reg_rmt_tx_lim_ch4 after detecting this interrupt software can updata the old datas with new datas.*/ +#define RMT_CH4_TX_THR_EVENT_INT_RAW (BIT(28)) +#define RMT_CH4_TX_THR_EVENT_INT_RAW_M (BIT(28)) +#define RMT_CH4_TX_THR_EVENT_INT_RAW_V 0x1 +#define RMT_CH4_TX_THR_EVENT_INT_RAW_S 28 +/* RMT_CH3_TX_THR_EVENT_INT_RAW : RO ;bitpos:[27] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 3 turns to high level when + transmitter in channle3 have send datas more than reg_rmt_tx_lim_ch3 after detecting this interrupt software can updata the old datas with new datas.*/ +#define RMT_CH3_TX_THR_EVENT_INT_RAW (BIT(27)) +#define RMT_CH3_TX_THR_EVENT_INT_RAW_M (BIT(27)) +#define RMT_CH3_TX_THR_EVENT_INT_RAW_V 0x1 +#define RMT_CH3_TX_THR_EVENT_INT_RAW_S 27 +/* RMT_CH2_TX_THR_EVENT_INT_RAW : RO ;bitpos:[26] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 2 turns to high level when + transmitter in channle2 have send datas more than reg_rmt_tx_lim_ch2 after detecting this interrupt software can updata the old datas with new datas.*/ +#define RMT_CH2_TX_THR_EVENT_INT_RAW (BIT(26)) +#define RMT_CH2_TX_THR_EVENT_INT_RAW_M (BIT(26)) +#define RMT_CH2_TX_THR_EVENT_INT_RAW_V 0x1 +#define RMT_CH2_TX_THR_EVENT_INT_RAW_S 26 +/* RMT_CH1_TX_THR_EVENT_INT_RAW : RO ;bitpos:[25] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 1 turns to high level when + transmitter in channle1 have send datas more than reg_rmt_tx_lim_ch1 after detecting this interrupt software can updata the old datas with new datas.*/ +#define RMT_CH1_TX_THR_EVENT_INT_RAW (BIT(25)) +#define RMT_CH1_TX_THR_EVENT_INT_RAW_M (BIT(25)) +#define RMT_CH1_TX_THR_EVENT_INT_RAW_V 0x1 +#define RMT_CH1_TX_THR_EVENT_INT_RAW_S 25 +/* RMT_CH0_TX_THR_EVENT_INT_RAW : RO ;bitpos:[24] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 0 turns to high level when + transmitter in channle0 have send datas more than reg_rmt_tx_lim_ch0 after detecting this interrupt software can updata the old datas with new datas.*/ +#define RMT_CH0_TX_THR_EVENT_INT_RAW (BIT(24)) +#define RMT_CH0_TX_THR_EVENT_INT_RAW_M (BIT(24)) +#define RMT_CH0_TX_THR_EVENT_INT_RAW_V 0x1 +#define RMT_CH0_TX_THR_EVENT_INT_RAW_S 24 +/* RMT_CH7_ERR_INT_RAW : RO ;bitpos:[23] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 7 turns to high level when + channle 7 detects some errors.*/ +#define RMT_CH7_ERR_INT_RAW (BIT(23)) +#define RMT_CH7_ERR_INT_RAW_M (BIT(23)) +#define RMT_CH7_ERR_INT_RAW_V 0x1 +#define RMT_CH7_ERR_INT_RAW_S 23 +/* RMT_CH7_RX_END_INT_RAW : RO ;bitpos:[22] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 7 turns to high level when + the receive process is done.*/ +#define RMT_CH7_RX_END_INT_RAW (BIT(22)) +#define RMT_CH7_RX_END_INT_RAW_M (BIT(22)) +#define RMT_CH7_RX_END_INT_RAW_V 0x1 +#define RMT_CH7_RX_END_INT_RAW_S 22 +/* RMT_CH7_TX_END_INT_RAW : RO ;bitpos:[21] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 7 turns to high level when + the transmit process is done.*/ +#define RMT_CH7_TX_END_INT_RAW (BIT(21)) +#define RMT_CH7_TX_END_INT_RAW_M (BIT(21)) +#define RMT_CH7_TX_END_INT_RAW_V 0x1 +#define RMT_CH7_TX_END_INT_RAW_S 21 +/* RMT_CH6_ERR_INT_RAW : RO ;bitpos:[20] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 6 turns to high level when + channle 6 detects some errors.*/ +#define RMT_CH6_ERR_INT_RAW (BIT(20)) +#define RMT_CH6_ERR_INT_RAW_M (BIT(20)) +#define RMT_CH6_ERR_INT_RAW_V 0x1 +#define RMT_CH6_ERR_INT_RAW_S 20 +/* RMT_CH6_RX_END_INT_RAW : RO ;bitpos:[19] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 6 turns to high level when + the receive process is done.*/ +#define RMT_CH6_RX_END_INT_RAW (BIT(19)) +#define RMT_CH6_RX_END_INT_RAW_M (BIT(19)) +#define RMT_CH6_RX_END_INT_RAW_V 0x1 +#define RMT_CH6_RX_END_INT_RAW_S 19 +/* RMT_CH6_TX_END_INT_RAW : RO ;bitpos:[18] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 6 turns to high level when + the transmit process is done.*/ +#define RMT_CH6_TX_END_INT_RAW (BIT(18)) +#define RMT_CH6_TX_END_INT_RAW_M (BIT(18)) +#define RMT_CH6_TX_END_INT_RAW_V 0x1 +#define RMT_CH6_TX_END_INT_RAW_S 18 +/* RMT_CH5_ERR_INT_RAW : RO ;bitpos:[17] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 5 turns to high level when + channle 5 detects some errors.*/ +#define RMT_CH5_ERR_INT_RAW (BIT(17)) +#define RMT_CH5_ERR_INT_RAW_M (BIT(17)) +#define RMT_CH5_ERR_INT_RAW_V 0x1 +#define RMT_CH5_ERR_INT_RAW_S 17 +/* RMT_CH5_RX_END_INT_RAW : RO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 5 turns to high level when + the receive process is done.*/ +#define RMT_CH5_RX_END_INT_RAW (BIT(16)) +#define RMT_CH5_RX_END_INT_RAW_M (BIT(16)) +#define RMT_CH5_RX_END_INT_RAW_V 0x1 +#define RMT_CH5_RX_END_INT_RAW_S 16 +/* RMT_CH5_TX_END_INT_RAW : RO ;bitpos:[15] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 5 turns to high level when + the transmit process is done.*/ +#define RMT_CH5_TX_END_INT_RAW (BIT(15)) +#define RMT_CH5_TX_END_INT_RAW_M (BIT(15)) +#define RMT_CH5_TX_END_INT_RAW_V 0x1 +#define RMT_CH5_TX_END_INT_RAW_S 15 +/* RMT_CH4_ERR_INT_RAW : RO ;bitpos:[14] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 4 turns to high level when + channle 4 detects some errors.*/ +#define RMT_CH4_ERR_INT_RAW (BIT(14)) +#define RMT_CH4_ERR_INT_RAW_M (BIT(14)) +#define RMT_CH4_ERR_INT_RAW_V 0x1 +#define RMT_CH4_ERR_INT_RAW_S 14 +/* RMT_CH4_RX_END_INT_RAW : RO ;bitpos:[13] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 4 turns to high level when + the receive process is done.*/ +#define RMT_CH4_RX_END_INT_RAW (BIT(13)) +#define RMT_CH4_RX_END_INT_RAW_M (BIT(13)) +#define RMT_CH4_RX_END_INT_RAW_V 0x1 +#define RMT_CH4_RX_END_INT_RAW_S 13 +/* RMT_CH4_TX_END_INT_RAW : RO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 4 turns to high level when + the transmit process is done.*/ +#define RMT_CH4_TX_END_INT_RAW (BIT(12)) +#define RMT_CH4_TX_END_INT_RAW_M (BIT(12)) +#define RMT_CH4_TX_END_INT_RAW_V 0x1 +#define RMT_CH4_TX_END_INT_RAW_S 12 +/* RMT_CH3_ERR_INT_RAW : RO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 3 turns to high level when + channle 3 detects some errors.*/ +#define RMT_CH3_ERR_INT_RAW (BIT(11)) +#define RMT_CH3_ERR_INT_RAW_M (BIT(11)) +#define RMT_CH3_ERR_INT_RAW_V 0x1 +#define RMT_CH3_ERR_INT_RAW_S 11 +/* RMT_CH3_RX_END_INT_RAW : RO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 3 turns to high level when + the receive process is done.*/ +#define RMT_CH3_RX_END_INT_RAW (BIT(10)) +#define RMT_CH3_RX_END_INT_RAW_M (BIT(10)) +#define RMT_CH3_RX_END_INT_RAW_V 0x1 +#define RMT_CH3_RX_END_INT_RAW_S 10 +/* RMT_CH3_TX_END_INT_RAW : RO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 3 turns to high level when + the transmit process is done.*/ +#define RMT_CH3_TX_END_INT_RAW (BIT(9)) +#define RMT_CH3_TX_END_INT_RAW_M (BIT(9)) +#define RMT_CH3_TX_END_INT_RAW_V 0x1 +#define RMT_CH3_TX_END_INT_RAW_S 9 +/* RMT_CH2_ERR_INT_RAW : RO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 2 turns to high level when + channle 2 detects some errors.*/ +#define RMT_CH2_ERR_INT_RAW (BIT(8)) +#define RMT_CH2_ERR_INT_RAW_M (BIT(8)) +#define RMT_CH2_ERR_INT_RAW_V 0x1 +#define RMT_CH2_ERR_INT_RAW_S 8 +/* RMT_CH2_RX_END_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 2 turns to high level when + the receive process is done.*/ +#define RMT_CH2_RX_END_INT_RAW (BIT(7)) +#define RMT_CH2_RX_END_INT_RAW_M (BIT(7)) +#define RMT_CH2_RX_END_INT_RAW_V 0x1 +#define RMT_CH2_RX_END_INT_RAW_S 7 +/* RMT_CH2_TX_END_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 2 turns to high level when + the transmit process is done.*/ +#define RMT_CH2_TX_END_INT_RAW (BIT(6)) +#define RMT_CH2_TX_END_INT_RAW_M (BIT(6)) +#define RMT_CH2_TX_END_INT_RAW_V 0x1 +#define RMT_CH2_TX_END_INT_RAW_S 6 +/* RMT_CH1_ERR_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 1 turns to high level when + channle 1 detects some errors.*/ +#define RMT_CH1_ERR_INT_RAW (BIT(5)) +#define RMT_CH1_ERR_INT_RAW_M (BIT(5)) +#define RMT_CH1_ERR_INT_RAW_V 0x1 +#define RMT_CH1_ERR_INT_RAW_S 5 +/* RMT_CH1_RX_END_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 1 turns to high level when + the receive process is done.*/ +#define RMT_CH1_RX_END_INT_RAW (BIT(4)) +#define RMT_CH1_RX_END_INT_RAW_M (BIT(4)) +#define RMT_CH1_RX_END_INT_RAW_V 0x1 +#define RMT_CH1_RX_END_INT_RAW_S 4 +/* RMT_CH1_TX_END_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 1 turns to high level when + the transmit process is done.*/ +#define RMT_CH1_TX_END_INT_RAW (BIT(3)) +#define RMT_CH1_TX_END_INT_RAW_M (BIT(3)) +#define RMT_CH1_TX_END_INT_RAW_V 0x1 +#define RMT_CH1_TX_END_INT_RAW_S 3 +/* RMT_CH0_ERR_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 0 turns to high level when + channle 0 detects some errors.*/ +#define RMT_CH0_ERR_INT_RAW (BIT(2)) +#define RMT_CH0_ERR_INT_RAW_M (BIT(2)) +#define RMT_CH0_ERR_INT_RAW_V 0x1 +#define RMT_CH0_ERR_INT_RAW_S 2 +/* RMT_CH0_RX_END_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 0 turns to high level when + the receive process is done.*/ +#define RMT_CH0_RX_END_INT_RAW (BIT(1)) +#define RMT_CH0_RX_END_INT_RAW_M (BIT(1)) +#define RMT_CH0_RX_END_INT_RAW_V 0x1 +#define RMT_CH0_RX_END_INT_RAW_S 1 +/* RMT_CH0_TX_END_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for channel 0 turns to high level when + the transmit process is done.*/ +#define RMT_CH0_TX_END_INT_RAW (BIT(0)) +#define RMT_CH0_TX_END_INT_RAW_M (BIT(0)) +#define RMT_CH0_TX_END_INT_RAW_V 0x1 +#define RMT_CH0_TX_END_INT_RAW_S 0 + +#define RMT_INT_ST_REG (DR_REG_RMT_BASE + 0x00a4) +/* RMT_CH7_TX_THR_EVENT_INT_ST : RO ;bitpos:[31] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 7's rmt_ch7_tx_thr_event_int_raw + when mt_ch7_tx_thr_event_int_ena is set to 1.*/ +#define RMT_CH7_TX_THR_EVENT_INT_ST (BIT(31)) +#define RMT_CH7_TX_THR_EVENT_INT_ST_M (BIT(31)) +#define RMT_CH7_TX_THR_EVENT_INT_ST_V 0x1 +#define RMT_CH7_TX_THR_EVENT_INT_ST_S 31 +/* RMT_CH6_TX_THR_EVENT_INT_ST : RO ;bitpos:[30] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 6's rmt_ch6_tx_thr_event_int_raw + when mt_ch6_tx_thr_event_int_ena is set to 1.*/ +#define RMT_CH6_TX_THR_EVENT_INT_ST (BIT(30)) +#define RMT_CH6_TX_THR_EVENT_INT_ST_M (BIT(30)) +#define RMT_CH6_TX_THR_EVENT_INT_ST_V 0x1 +#define RMT_CH6_TX_THR_EVENT_INT_ST_S 30 +/* RMT_CH5_TX_THR_EVENT_INT_ST : RO ;bitpos:[29] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 5's rmt_ch5_tx_thr_event_int_raw + when mt_ch5_tx_thr_event_int_ena is set to 1.*/ +#define RMT_CH5_TX_THR_EVENT_INT_ST (BIT(29)) +#define RMT_CH5_TX_THR_EVENT_INT_ST_M (BIT(29)) +#define RMT_CH5_TX_THR_EVENT_INT_ST_V 0x1 +#define RMT_CH5_TX_THR_EVENT_INT_ST_S 29 +/* RMT_CH4_TX_THR_EVENT_INT_ST : RO ;bitpos:[28] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 4's rmt_ch4_tx_thr_event_int_raw + when mt_ch4_tx_thr_event_int_ena is set to 1.*/ +#define RMT_CH4_TX_THR_EVENT_INT_ST (BIT(28)) +#define RMT_CH4_TX_THR_EVENT_INT_ST_M (BIT(28)) +#define RMT_CH4_TX_THR_EVENT_INT_ST_V 0x1 +#define RMT_CH4_TX_THR_EVENT_INT_ST_S 28 +/* RMT_CH3_TX_THR_EVENT_INT_ST : RO ;bitpos:[27] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 3's rmt_ch3_tx_thr_event_int_raw + when mt_ch3_tx_thr_event_int_ena is set to 1.*/ +#define RMT_CH3_TX_THR_EVENT_INT_ST (BIT(27)) +#define RMT_CH3_TX_THR_EVENT_INT_ST_M (BIT(27)) +#define RMT_CH3_TX_THR_EVENT_INT_ST_V 0x1 +#define RMT_CH3_TX_THR_EVENT_INT_ST_S 27 +/* RMT_CH2_TX_THR_EVENT_INT_ST : RO ;bitpos:[26] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 2's rmt_ch2_tx_thr_event_int_raw + when mt_ch2_tx_thr_event_int_ena is set to 1.*/ +#define RMT_CH2_TX_THR_EVENT_INT_ST (BIT(26)) +#define RMT_CH2_TX_THR_EVENT_INT_ST_M (BIT(26)) +#define RMT_CH2_TX_THR_EVENT_INT_ST_V 0x1 +#define RMT_CH2_TX_THR_EVENT_INT_ST_S 26 +/* RMT_CH1_TX_THR_EVENT_INT_ST : RO ;bitpos:[25] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 1's rmt_ch1_tx_thr_event_int_raw + when mt_ch1_tx_thr_event_int_ena is set to 1.*/ +#define RMT_CH1_TX_THR_EVENT_INT_ST (BIT(25)) +#define RMT_CH1_TX_THR_EVENT_INT_ST_M (BIT(25)) +#define RMT_CH1_TX_THR_EVENT_INT_ST_V 0x1 +#define RMT_CH1_TX_THR_EVENT_INT_ST_S 25 +/* RMT_CH0_TX_THR_EVENT_INT_ST : RO ;bitpos:[24] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 0's rmt_ch0_tx_thr_event_int_raw + when mt_ch0_tx_thr_event_int_ena is set to 1.*/ +#define RMT_CH0_TX_THR_EVENT_INT_ST (BIT(24)) +#define RMT_CH0_TX_THR_EVENT_INT_ST_M (BIT(24)) +#define RMT_CH0_TX_THR_EVENT_INT_ST_V 0x1 +#define RMT_CH0_TX_THR_EVENT_INT_ST_S 24 +/* RMT_CH7_ERR_INT_ST : RO ;bitpos:[23] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 7's rmt_ch7_err_int_raw + when rmt_ch7_err_int_ena is set to 1.*/ +#define RMT_CH7_ERR_INT_ST (BIT(23)) +#define RMT_CH7_ERR_INT_ST_M (BIT(23)) +#define RMT_CH7_ERR_INT_ST_V 0x1 +#define RMT_CH7_ERR_INT_ST_S 23 +/* RMT_CH7_RX_END_INT_ST : RO ;bitpos:[22] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 7's rmt_ch7_rx_end_int_raw + when rmt_ch7_rx_end_int_ena is set to 1.*/ +#define RMT_CH7_RX_END_INT_ST (BIT(22)) +#define RMT_CH7_RX_END_INT_ST_M (BIT(22)) +#define RMT_CH7_RX_END_INT_ST_V 0x1 +#define RMT_CH7_RX_END_INT_ST_S 22 +/* RMT_CH7_TX_END_INT_ST : RO ;bitpos:[21] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 7's mt_ch7_tx_end_int_raw + when mt_ch7_tx_end_int_ena is set to 1.*/ +#define RMT_CH7_TX_END_INT_ST (BIT(21)) +#define RMT_CH7_TX_END_INT_ST_M (BIT(21)) +#define RMT_CH7_TX_END_INT_ST_V 0x1 +#define RMT_CH7_TX_END_INT_ST_S 21 +/* RMT_CH6_ERR_INT_ST : RO ;bitpos:[20] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 6's rmt_ch6_err_int_raw + when rmt_ch6_err_int_ena is set to 1.*/ +#define RMT_CH6_ERR_INT_ST (BIT(20)) +#define RMT_CH6_ERR_INT_ST_M (BIT(20)) +#define RMT_CH6_ERR_INT_ST_V 0x1 +#define RMT_CH6_ERR_INT_ST_S 20 +/* RMT_CH6_RX_END_INT_ST : RO ;bitpos:[19] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 6's rmt_ch6_rx_end_int_raw + when rmt_ch6_rx_end_int_ena is set to 1.*/ +#define RMT_CH6_RX_END_INT_ST (BIT(19)) +#define RMT_CH6_RX_END_INT_ST_M (BIT(19)) +#define RMT_CH6_RX_END_INT_ST_V 0x1 +#define RMT_CH6_RX_END_INT_ST_S 19 +/* RMT_CH6_TX_END_INT_ST : RO ;bitpos:[18] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 6's mt_ch6_tx_end_int_raw + when mt_ch6_tx_end_int_ena is set to 1.*/ +#define RMT_CH6_TX_END_INT_ST (BIT(18)) +#define RMT_CH6_TX_END_INT_ST_M (BIT(18)) +#define RMT_CH6_TX_END_INT_ST_V 0x1 +#define RMT_CH6_TX_END_INT_ST_S 18 +/* RMT_CH5_ERR_INT_ST : RO ;bitpos:[17] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 5's rmt_ch5_err_int_raw + when rmt_ch5_err_int_ena is set to 1.*/ +#define RMT_CH5_ERR_INT_ST (BIT(17)) +#define RMT_CH5_ERR_INT_ST_M (BIT(17)) +#define RMT_CH5_ERR_INT_ST_V 0x1 +#define RMT_CH5_ERR_INT_ST_S 17 +/* RMT_CH5_RX_END_INT_ST : RO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 5's rmt_ch5_rx_end_int_raw + when rmt_ch5_rx_end_int_ena is set to 1.*/ +#define RMT_CH5_RX_END_INT_ST (BIT(16)) +#define RMT_CH5_RX_END_INT_ST_M (BIT(16)) +#define RMT_CH5_RX_END_INT_ST_V 0x1 +#define RMT_CH5_RX_END_INT_ST_S 16 +/* RMT_CH5_TX_END_INT_ST : RO ;bitpos:[15] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 5's mt_ch5_tx_end_int_raw + when mt_ch5_tx_end_int_ena is set to 1.*/ +#define RMT_CH5_TX_END_INT_ST (BIT(15)) +#define RMT_CH5_TX_END_INT_ST_M (BIT(15)) +#define RMT_CH5_TX_END_INT_ST_V 0x1 +#define RMT_CH5_TX_END_INT_ST_S 15 +/* RMT_CH4_ERR_INT_ST : RO ;bitpos:[14] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 4's rmt_ch4_err_int_raw + when rmt_ch4_err_int_ena is set to 1.*/ +#define RMT_CH4_ERR_INT_ST (BIT(14)) +#define RMT_CH4_ERR_INT_ST_M (BIT(14)) +#define RMT_CH4_ERR_INT_ST_V 0x1 +#define RMT_CH4_ERR_INT_ST_S 14 +/* RMT_CH4_RX_END_INT_ST : RO ;bitpos:[13] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 4's rmt_ch4_rx_end_int_raw + when rmt_ch4_rx_end_int_ena is set to 1.*/ +#define RMT_CH4_RX_END_INT_ST (BIT(13)) +#define RMT_CH4_RX_END_INT_ST_M (BIT(13)) +#define RMT_CH4_RX_END_INT_ST_V 0x1 +#define RMT_CH4_RX_END_INT_ST_S 13 +/* RMT_CH4_TX_END_INT_ST : RO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 4's mt_ch4_tx_end_int_raw + when mt_ch4_tx_end_int_ena is set to 1.*/ +#define RMT_CH4_TX_END_INT_ST (BIT(12)) +#define RMT_CH4_TX_END_INT_ST_M (BIT(12)) +#define RMT_CH4_TX_END_INT_ST_V 0x1 +#define RMT_CH4_TX_END_INT_ST_S 12 +/* RMT_CH3_ERR_INT_ST : RO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 3's rmt_ch3_err_int_raw + when rmt_ch3_err_int_ena is set to 1.*/ +#define RMT_CH3_ERR_INT_ST (BIT(11)) +#define RMT_CH3_ERR_INT_ST_M (BIT(11)) +#define RMT_CH3_ERR_INT_ST_V 0x1 +#define RMT_CH3_ERR_INT_ST_S 11 +/* RMT_CH3_RX_END_INT_ST : RO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 3's rmt_ch3_rx_end_int_raw + when rmt_ch3_rx_end_int_ena is set to 1.*/ +#define RMT_CH3_RX_END_INT_ST (BIT(10)) +#define RMT_CH3_RX_END_INT_ST_M (BIT(10)) +#define RMT_CH3_RX_END_INT_ST_V 0x1 +#define RMT_CH3_RX_END_INT_ST_S 10 +/* RMT_CH3_TX_END_INT_ST : RO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 3's mt_ch3_tx_end_int_raw + when mt_ch3_tx_end_int_ena is set to 1.*/ +#define RMT_CH3_TX_END_INT_ST (BIT(9)) +#define RMT_CH3_TX_END_INT_ST_M (BIT(9)) +#define RMT_CH3_TX_END_INT_ST_V 0x1 +#define RMT_CH3_TX_END_INT_ST_S 9 +/* RMT_CH2_ERR_INT_ST : RO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 2's rmt_ch2_err_int_raw + when rmt_ch2_err_int_ena is set to 1.*/ +#define RMT_CH2_ERR_INT_ST (BIT(8)) +#define RMT_CH2_ERR_INT_ST_M (BIT(8)) +#define RMT_CH2_ERR_INT_ST_V 0x1 +#define RMT_CH2_ERR_INT_ST_S 8 +/* RMT_CH2_RX_END_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 2's rmt_ch2_rx_end_int_raw + when rmt_ch2_rx_end_int_ena is set to 1.*/ +#define RMT_CH2_RX_END_INT_ST (BIT(7)) +#define RMT_CH2_RX_END_INT_ST_M (BIT(7)) +#define RMT_CH2_RX_END_INT_ST_V 0x1 +#define RMT_CH2_RX_END_INT_ST_S 7 +/* RMT_CH2_TX_END_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 2's mt_ch2_tx_end_int_raw + when mt_ch2_tx_end_int_ena is set to 1.*/ +#define RMT_CH2_TX_END_INT_ST (BIT(6)) +#define RMT_CH2_TX_END_INT_ST_M (BIT(6)) +#define RMT_CH2_TX_END_INT_ST_V 0x1 +#define RMT_CH2_TX_END_INT_ST_S 6 +/* RMT_CH1_ERR_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 1's rmt_ch1_err_int_raw + when rmt_ch1_err_int_ena is set to 1.*/ +#define RMT_CH1_ERR_INT_ST (BIT(5)) +#define RMT_CH1_ERR_INT_ST_M (BIT(5)) +#define RMT_CH1_ERR_INT_ST_V 0x1 +#define RMT_CH1_ERR_INT_ST_S 5 +/* RMT_CH1_RX_END_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 1's rmt_ch1_rx_end_int_raw + when rmt_ch1_rx_end_int_ena is set to 1.*/ +#define RMT_CH1_RX_END_INT_ST (BIT(4)) +#define RMT_CH1_RX_END_INT_ST_M (BIT(4)) +#define RMT_CH1_RX_END_INT_ST_V 0x1 +#define RMT_CH1_RX_END_INT_ST_S 4 +/* RMT_CH1_TX_END_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 1's mt_ch1_tx_end_int_raw + when mt_ch1_tx_end_int_ena is set to 1.*/ +#define RMT_CH1_TX_END_INT_ST (BIT(3)) +#define RMT_CH1_TX_END_INT_ST_M (BIT(3)) +#define RMT_CH1_TX_END_INT_ST_V 0x1 +#define RMT_CH1_TX_END_INT_ST_S 3 +/* RMT_CH0_ERR_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 0's rmt_ch0_err_int_raw + when rmt_ch0_err_int_ena is set to 0.*/ +#define RMT_CH0_ERR_INT_ST (BIT(2)) +#define RMT_CH0_ERR_INT_ST_M (BIT(2)) +#define RMT_CH0_ERR_INT_ST_V 0x1 +#define RMT_CH0_ERR_INT_ST_S 2 +/* RMT_CH0_RX_END_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 0's rmt_ch0_rx_end_int_raw + when rmt_ch0_rx_end_int_ena is set to 0.*/ +#define RMT_CH0_RX_END_INT_ST (BIT(1)) +#define RMT_CH0_RX_END_INT_ST_M (BIT(1)) +#define RMT_CH0_RX_END_INT_ST_V 0x1 +#define RMT_CH0_RX_END_INT_ST_S 1 +/* RMT_CH0_TX_END_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The interrupt state bit for channel 0's mt_ch0_tx_end_int_raw + when mt_ch0_tx_end_int_ena is set to 0.*/ +#define RMT_CH0_TX_END_INT_ST (BIT(0)) +#define RMT_CH0_TX_END_INT_ST_M (BIT(0)) +#define RMT_CH0_TX_END_INT_ST_V 0x1 +#define RMT_CH0_TX_END_INT_ST_S 0 + +#define RMT_INT_ENA_REG (DR_REG_RMT_BASE + 0x00a8) +/* RMT_CH7_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch7_tx_thr_event_int_st.*/ +#define RMT_CH7_TX_THR_EVENT_INT_ENA (BIT(31)) +#define RMT_CH7_TX_THR_EVENT_INT_ENA_M (BIT(31)) +#define RMT_CH7_TX_THR_EVENT_INT_ENA_V 0x1 +#define RMT_CH7_TX_THR_EVENT_INT_ENA_S 31 +/* RMT_CH6_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[30] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch6_tx_thr_event_int_st.*/ +#define RMT_CH6_TX_THR_EVENT_INT_ENA (BIT(30)) +#define RMT_CH6_TX_THR_EVENT_INT_ENA_M (BIT(30)) +#define RMT_CH6_TX_THR_EVENT_INT_ENA_V 0x1 +#define RMT_CH6_TX_THR_EVENT_INT_ENA_S 30 +/* RMT_CH5_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[29] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch5_tx_thr_event_int_st.*/ +#define RMT_CH5_TX_THR_EVENT_INT_ENA (BIT(29)) +#define RMT_CH5_TX_THR_EVENT_INT_ENA_M (BIT(29)) +#define RMT_CH5_TX_THR_EVENT_INT_ENA_V 0x1 +#define RMT_CH5_TX_THR_EVENT_INT_ENA_S 29 +/* RMT_CH4_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[28] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch4_tx_thr_event_int_st.*/ +#define RMT_CH4_TX_THR_EVENT_INT_ENA (BIT(28)) +#define RMT_CH4_TX_THR_EVENT_INT_ENA_M (BIT(28)) +#define RMT_CH4_TX_THR_EVENT_INT_ENA_V 0x1 +#define RMT_CH4_TX_THR_EVENT_INT_ENA_S 28 +/* RMT_CH3_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[27] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch3_tx_thr_event_int_st.*/ +#define RMT_CH3_TX_THR_EVENT_INT_ENA (BIT(27)) +#define RMT_CH3_TX_THR_EVENT_INT_ENA_M (BIT(27)) +#define RMT_CH3_TX_THR_EVENT_INT_ENA_V 0x1 +#define RMT_CH3_TX_THR_EVENT_INT_ENA_S 27 +/* RMT_CH2_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[26] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch2_tx_thr_event_int_st.*/ +#define RMT_CH2_TX_THR_EVENT_INT_ENA (BIT(26)) +#define RMT_CH2_TX_THR_EVENT_INT_ENA_M (BIT(26)) +#define RMT_CH2_TX_THR_EVENT_INT_ENA_V 0x1 +#define RMT_CH2_TX_THR_EVENT_INT_ENA_S 26 +/* RMT_CH1_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch1_tx_thr_event_int_st.*/ +#define RMT_CH1_TX_THR_EVENT_INT_ENA (BIT(25)) +#define RMT_CH1_TX_THR_EVENT_INT_ENA_M (BIT(25)) +#define RMT_CH1_TX_THR_EVENT_INT_ENA_V 0x1 +#define RMT_CH1_TX_THR_EVENT_INT_ENA_S 25 +/* RMT_CH0_TX_THR_EVENT_INT_ENA : R/W ;bitpos:[24] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch0_tx_thr_event_int_st.*/ +#define RMT_CH0_TX_THR_EVENT_INT_ENA (BIT(24)) +#define RMT_CH0_TX_THR_EVENT_INT_ENA_M (BIT(24)) +#define RMT_CH0_TX_THR_EVENT_INT_ENA_V 0x1 +#define RMT_CH0_TX_THR_EVENT_INT_ENA_S 24 +/* RMT_CH7_ERR_INT_ENA : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch7_err_int_st.*/ +#define RMT_CH7_ERR_INT_ENA (BIT(23)) +#define RMT_CH7_ERR_INT_ENA_M (BIT(23)) +#define RMT_CH7_ERR_INT_ENA_V 0x1 +#define RMT_CH7_ERR_INT_ENA_S 23 +/* RMT_CH7_RX_END_INT_ENA : R/W ;bitpos:[22] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch7_rx_end_int_st.*/ +#define RMT_CH7_RX_END_INT_ENA (BIT(22)) +#define RMT_CH7_RX_END_INT_ENA_M (BIT(22)) +#define RMT_CH7_RX_END_INT_ENA_V 0x1 +#define RMT_CH7_RX_END_INT_ENA_S 22 +/* RMT_CH7_TX_END_INT_ENA : R/W ;bitpos:[21] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch7_tx_end_int_st.*/ +#define RMT_CH7_TX_END_INT_ENA (BIT(21)) +#define RMT_CH7_TX_END_INT_ENA_M (BIT(21)) +#define RMT_CH7_TX_END_INT_ENA_V 0x1 +#define RMT_CH7_TX_END_INT_ENA_S 21 +/* RMT_CH6_ERR_INT_ENA : R/W ;bitpos:[20] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch6_err_int_st.*/ +#define RMT_CH6_ERR_INT_ENA (BIT(20)) +#define RMT_CH6_ERR_INT_ENA_M (BIT(20)) +#define RMT_CH6_ERR_INT_ENA_V 0x1 +#define RMT_CH6_ERR_INT_ENA_S 20 +/* RMT_CH6_RX_END_INT_ENA : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch6_rx_end_int_st.*/ +#define RMT_CH6_RX_END_INT_ENA (BIT(19)) +#define RMT_CH6_RX_END_INT_ENA_M (BIT(19)) +#define RMT_CH6_RX_END_INT_ENA_V 0x1 +#define RMT_CH6_RX_END_INT_ENA_S 19 +/* RMT_CH6_TX_END_INT_ENA : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch6_tx_end_int_st.*/ +#define RMT_CH6_TX_END_INT_ENA (BIT(18)) +#define RMT_CH6_TX_END_INT_ENA_M (BIT(18)) +#define RMT_CH6_TX_END_INT_ENA_V 0x1 +#define RMT_CH6_TX_END_INT_ENA_S 18 +/* RMT_CH5_ERR_INT_ENA : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch5_err_int_st.*/ +#define RMT_CH5_ERR_INT_ENA (BIT(17)) +#define RMT_CH5_ERR_INT_ENA_M (BIT(17)) +#define RMT_CH5_ERR_INT_ENA_V 0x1 +#define RMT_CH5_ERR_INT_ENA_S 17 +/* RMT_CH5_RX_END_INT_ENA : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch5_rx_end_int_st.*/ +#define RMT_CH5_RX_END_INT_ENA (BIT(16)) +#define RMT_CH5_RX_END_INT_ENA_M (BIT(16)) +#define RMT_CH5_RX_END_INT_ENA_V 0x1 +#define RMT_CH5_RX_END_INT_ENA_S 16 +/* RMT_CH5_TX_END_INT_ENA : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch5_tx_end_int_st.*/ +#define RMT_CH5_TX_END_INT_ENA (BIT(15)) +#define RMT_CH5_TX_END_INT_ENA_M (BIT(15)) +#define RMT_CH5_TX_END_INT_ENA_V 0x1 +#define RMT_CH5_TX_END_INT_ENA_S 15 +/* RMT_CH4_ERR_INT_ENA : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch4_err_int_st.*/ +#define RMT_CH4_ERR_INT_ENA (BIT(14)) +#define RMT_CH4_ERR_INT_ENA_M (BIT(14)) +#define RMT_CH4_ERR_INT_ENA_V 0x1 +#define RMT_CH4_ERR_INT_ENA_S 14 +/* RMT_CH4_RX_END_INT_ENA : R/W ;bitpos:[13] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch4_rx_end_int_st.*/ +#define RMT_CH4_RX_END_INT_ENA (BIT(13)) +#define RMT_CH4_RX_END_INT_ENA_M (BIT(13)) +#define RMT_CH4_RX_END_INT_ENA_V 0x1 +#define RMT_CH4_RX_END_INT_ENA_S 13 +/* RMT_CH4_TX_END_INT_ENA : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch4_tx_end_int_st.*/ +#define RMT_CH4_TX_END_INT_ENA (BIT(12)) +#define RMT_CH4_TX_END_INT_ENA_M (BIT(12)) +#define RMT_CH4_TX_END_INT_ENA_V 0x1 +#define RMT_CH4_TX_END_INT_ENA_S 12 +/* RMT_CH3_ERR_INT_ENA : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch3_err_int_st.*/ +#define RMT_CH3_ERR_INT_ENA (BIT(11)) +#define RMT_CH3_ERR_INT_ENA_M (BIT(11)) +#define RMT_CH3_ERR_INT_ENA_V 0x1 +#define RMT_CH3_ERR_INT_ENA_S 11 +/* RMT_CH3_RX_END_INT_ENA : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch3_rx_end_int_st.*/ +#define RMT_CH3_RX_END_INT_ENA (BIT(10)) +#define RMT_CH3_RX_END_INT_ENA_M (BIT(10)) +#define RMT_CH3_RX_END_INT_ENA_V 0x1 +#define RMT_CH3_RX_END_INT_ENA_S 10 +/* RMT_CH3_TX_END_INT_ENA : R/W ;bitpos:[9] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch3_tx_end_int_st.*/ +#define RMT_CH3_TX_END_INT_ENA (BIT(9)) +#define RMT_CH3_TX_END_INT_ENA_M (BIT(9)) +#define RMT_CH3_TX_END_INT_ENA_V 0x1 +#define RMT_CH3_TX_END_INT_ENA_S 9 +/* RMT_CH2_ERR_INT_ENA : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch2_err_int_st.*/ +#define RMT_CH2_ERR_INT_ENA (BIT(8)) +#define RMT_CH2_ERR_INT_ENA_M (BIT(8)) +#define RMT_CH2_ERR_INT_ENA_V 0x1 +#define RMT_CH2_ERR_INT_ENA_S 8 +/* RMT_CH2_RX_END_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch2_rx_end_int_st.*/ +#define RMT_CH2_RX_END_INT_ENA (BIT(7)) +#define RMT_CH2_RX_END_INT_ENA_M (BIT(7)) +#define RMT_CH2_RX_END_INT_ENA_V 0x1 +#define RMT_CH2_RX_END_INT_ENA_S 7 +/* RMT_CH2_TX_END_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch2_tx_end_int_st.*/ +#define RMT_CH2_TX_END_INT_ENA (BIT(6)) +#define RMT_CH2_TX_END_INT_ENA_M (BIT(6)) +#define RMT_CH2_TX_END_INT_ENA_V 0x1 +#define RMT_CH2_TX_END_INT_ENA_S 6 +/* RMT_CH1_ERR_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch1_err_int_st.*/ +#define RMT_CH1_ERR_INT_ENA (BIT(5)) +#define RMT_CH1_ERR_INT_ENA_M (BIT(5)) +#define RMT_CH1_ERR_INT_ENA_V 0x1 +#define RMT_CH1_ERR_INT_ENA_S 5 +/* RMT_CH1_RX_END_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch1_rx_end_int_st.*/ +#define RMT_CH1_RX_END_INT_ENA (BIT(4)) +#define RMT_CH1_RX_END_INT_ENA_M (BIT(4)) +#define RMT_CH1_RX_END_INT_ENA_V 0x1 +#define RMT_CH1_RX_END_INT_ENA_S 4 +/* RMT_CH1_TX_END_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch1_tx_end_int_st.*/ +#define RMT_CH1_TX_END_INT_ENA (BIT(3)) +#define RMT_CH1_TX_END_INT_ENA_M (BIT(3)) +#define RMT_CH1_TX_END_INT_ENA_V 0x1 +#define RMT_CH1_TX_END_INT_ENA_S 3 +/* RMT_CH0_ERR_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch0_err_int_st.*/ +#define RMT_CH0_ERR_INT_ENA (BIT(2)) +#define RMT_CH0_ERR_INT_ENA_M (BIT(2)) +#define RMT_CH0_ERR_INT_ENA_V 0x1 +#define RMT_CH0_ERR_INT_ENA_S 2 +/* RMT_CH0_RX_END_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch0_rx_end_int_st.*/ +#define RMT_CH0_RX_END_INT_ENA (BIT(1)) +#define RMT_CH0_RX_END_INT_ENA_M (BIT(1)) +#define RMT_CH0_RX_END_INT_ENA_V 0x1 +#define RMT_CH0_RX_END_INT_ENA_S 1 +/* RMT_CH0_TX_END_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: Set this bit to enable rmt_ch0_tx_end_int_st.*/ +#define RMT_CH0_TX_END_INT_ENA (BIT(0)) +#define RMT_CH0_TX_END_INT_ENA_M (BIT(0)) +#define RMT_CH0_TX_END_INT_ENA_V 0x1 +#define RMT_CH0_TX_END_INT_ENA_S 0 + +#define RMT_INT_CLR_REG (DR_REG_RMT_BASE + 0x00ac) +/* RMT_CH7_TX_THR_EVENT_INT_CLR : WO ;bitpos:[31] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch7_tx_thr_event_int_raw interrupt.*/ +#define RMT_CH7_TX_THR_EVENT_INT_CLR (BIT(31)) +#define RMT_CH7_TX_THR_EVENT_INT_CLR_M (BIT(31)) +#define RMT_CH7_TX_THR_EVENT_INT_CLR_V 0x1 +#define RMT_CH7_TX_THR_EVENT_INT_CLR_S 31 +/* RMT_CH6_TX_THR_EVENT_INT_CLR : WO ;bitpos:[30] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch6_tx_thr_event_int_raw interrupt.*/ +#define RMT_CH6_TX_THR_EVENT_INT_CLR (BIT(30)) +#define RMT_CH6_TX_THR_EVENT_INT_CLR_M (BIT(30)) +#define RMT_CH6_TX_THR_EVENT_INT_CLR_V 0x1 +#define RMT_CH6_TX_THR_EVENT_INT_CLR_S 30 +/* RMT_CH5_TX_THR_EVENT_INT_CLR : WO ;bitpos:[29] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch5_tx_thr_event_int_raw interrupt.*/ +#define RMT_CH5_TX_THR_EVENT_INT_CLR (BIT(29)) +#define RMT_CH5_TX_THR_EVENT_INT_CLR_M (BIT(29)) +#define RMT_CH5_TX_THR_EVENT_INT_CLR_V 0x1 +#define RMT_CH5_TX_THR_EVENT_INT_CLR_S 29 +/* RMT_CH4_TX_THR_EVENT_INT_CLR : WO ;bitpos:[28] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch4_tx_thr_event_int_raw interrupt.*/ +#define RMT_CH4_TX_THR_EVENT_INT_CLR (BIT(28)) +#define RMT_CH4_TX_THR_EVENT_INT_CLR_M (BIT(28)) +#define RMT_CH4_TX_THR_EVENT_INT_CLR_V 0x1 +#define RMT_CH4_TX_THR_EVENT_INT_CLR_S 28 +/* RMT_CH3_TX_THR_EVENT_INT_CLR : WO ;bitpos:[27] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch3_tx_thr_event_int_raw interrupt.*/ +#define RMT_CH3_TX_THR_EVENT_INT_CLR (BIT(27)) +#define RMT_CH3_TX_THR_EVENT_INT_CLR_M (BIT(27)) +#define RMT_CH3_TX_THR_EVENT_INT_CLR_V 0x1 +#define RMT_CH3_TX_THR_EVENT_INT_CLR_S 27 +/* RMT_CH2_TX_THR_EVENT_INT_CLR : WO ;bitpos:[26] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch2_tx_thr_event_int_raw interrupt.*/ +#define RMT_CH2_TX_THR_EVENT_INT_CLR (BIT(26)) +#define RMT_CH2_TX_THR_EVENT_INT_CLR_M (BIT(26)) +#define RMT_CH2_TX_THR_EVENT_INT_CLR_V 0x1 +#define RMT_CH2_TX_THR_EVENT_INT_CLR_S 26 +/* RMT_CH1_TX_THR_EVENT_INT_CLR : WO ;bitpos:[25] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch1_tx_thr_event_int_raw interrupt.*/ +#define RMT_CH1_TX_THR_EVENT_INT_CLR (BIT(25)) +#define RMT_CH1_TX_THR_EVENT_INT_CLR_M (BIT(25)) +#define RMT_CH1_TX_THR_EVENT_INT_CLR_V 0x1 +#define RMT_CH1_TX_THR_EVENT_INT_CLR_S 25 +/* RMT_CH0_TX_THR_EVENT_INT_CLR : WO ;bitpos:[24] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch0_tx_thr_event_int_raw interrupt.*/ +#define RMT_CH0_TX_THR_EVENT_INT_CLR (BIT(24)) +#define RMT_CH0_TX_THR_EVENT_INT_CLR_M (BIT(24)) +#define RMT_CH0_TX_THR_EVENT_INT_CLR_V 0x1 +#define RMT_CH0_TX_THR_EVENT_INT_CLR_S 24 +/* RMT_CH7_ERR_INT_CLR : WO ;bitpos:[23] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch7_err_int_raw.*/ +#define RMT_CH7_ERR_INT_CLR (BIT(23)) +#define RMT_CH7_ERR_INT_CLR_M (BIT(23)) +#define RMT_CH7_ERR_INT_CLR_V 0x1 +#define RMT_CH7_ERR_INT_CLR_S 23 +/* RMT_CH7_RX_END_INT_CLR : WO ;bitpos:[22] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch7_tx_end_int_raw.*/ +#define RMT_CH7_RX_END_INT_CLR (BIT(22)) +#define RMT_CH7_RX_END_INT_CLR_M (BIT(22)) +#define RMT_CH7_RX_END_INT_CLR_V 0x1 +#define RMT_CH7_RX_END_INT_CLR_S 22 +/* RMT_CH7_TX_END_INT_CLR : WO ;bitpos:[21] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch7_rx_end_int_raw..*/ +#define RMT_CH7_TX_END_INT_CLR (BIT(21)) +#define RMT_CH7_TX_END_INT_CLR_M (BIT(21)) +#define RMT_CH7_TX_END_INT_CLR_V 0x1 +#define RMT_CH7_TX_END_INT_CLR_S 21 +/* RMT_CH6_ERR_INT_CLR : WO ;bitpos:[20] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch6_err_int_raw.*/ +#define RMT_CH6_ERR_INT_CLR (BIT(20)) +#define RMT_CH6_ERR_INT_CLR_M (BIT(20)) +#define RMT_CH6_ERR_INT_CLR_V 0x1 +#define RMT_CH6_ERR_INT_CLR_S 20 +/* RMT_CH6_RX_END_INT_CLR : WO ;bitpos:[19] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch6_tx_end_int_raw.*/ +#define RMT_CH6_RX_END_INT_CLR (BIT(19)) +#define RMT_CH6_RX_END_INT_CLR_M (BIT(19)) +#define RMT_CH6_RX_END_INT_CLR_V 0x1 +#define RMT_CH6_RX_END_INT_CLR_S 19 +/* RMT_CH6_TX_END_INT_CLR : WO ;bitpos:[18] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch6_rx_end_int_raw..*/ +#define RMT_CH6_TX_END_INT_CLR (BIT(18)) +#define RMT_CH6_TX_END_INT_CLR_M (BIT(18)) +#define RMT_CH6_TX_END_INT_CLR_V 0x1 +#define RMT_CH6_TX_END_INT_CLR_S 18 +/* RMT_CH5_ERR_INT_CLR : WO ;bitpos:[17] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch5_err_int_raw.*/ +#define RMT_CH5_ERR_INT_CLR (BIT(17)) +#define RMT_CH5_ERR_INT_CLR_M (BIT(17)) +#define RMT_CH5_ERR_INT_CLR_V 0x1 +#define RMT_CH5_ERR_INT_CLR_S 17 +/* RMT_CH5_RX_END_INT_CLR : WO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch5_tx_end_int_raw.*/ +#define RMT_CH5_RX_END_INT_CLR (BIT(16)) +#define RMT_CH5_RX_END_INT_CLR_M (BIT(16)) +#define RMT_CH5_RX_END_INT_CLR_V 0x1 +#define RMT_CH5_RX_END_INT_CLR_S 16 +/* RMT_CH5_TX_END_INT_CLR : WO ;bitpos:[15] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch5_rx_end_int_raw..*/ +#define RMT_CH5_TX_END_INT_CLR (BIT(15)) +#define RMT_CH5_TX_END_INT_CLR_M (BIT(15)) +#define RMT_CH5_TX_END_INT_CLR_V 0x1 +#define RMT_CH5_TX_END_INT_CLR_S 15 +/* RMT_CH4_ERR_INT_CLR : WO ;bitpos:[14] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch4_err_int_raw.*/ +#define RMT_CH4_ERR_INT_CLR (BIT(14)) +#define RMT_CH4_ERR_INT_CLR_M (BIT(14)) +#define RMT_CH4_ERR_INT_CLR_V 0x1 +#define RMT_CH4_ERR_INT_CLR_S 14 +/* RMT_CH4_RX_END_INT_CLR : WO ;bitpos:[13] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch4_tx_end_int_raw.*/ +#define RMT_CH4_RX_END_INT_CLR (BIT(13)) +#define RMT_CH4_RX_END_INT_CLR_M (BIT(13)) +#define RMT_CH4_RX_END_INT_CLR_V 0x1 +#define RMT_CH4_RX_END_INT_CLR_S 13 +/* RMT_CH4_TX_END_INT_CLR : WO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch4_rx_end_int_raw..*/ +#define RMT_CH4_TX_END_INT_CLR (BIT(12)) +#define RMT_CH4_TX_END_INT_CLR_M (BIT(12)) +#define RMT_CH4_TX_END_INT_CLR_V 0x1 +#define RMT_CH4_TX_END_INT_CLR_S 12 +/* RMT_CH3_ERR_INT_CLR : WO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch3_err_int_raw.*/ +#define RMT_CH3_ERR_INT_CLR (BIT(11)) +#define RMT_CH3_ERR_INT_CLR_M (BIT(11)) +#define RMT_CH3_ERR_INT_CLR_V 0x1 +#define RMT_CH3_ERR_INT_CLR_S 11 +/* RMT_CH3_RX_END_INT_CLR : WO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch3_tx_end_int_raw.*/ +#define RMT_CH3_RX_END_INT_CLR (BIT(10)) +#define RMT_CH3_RX_END_INT_CLR_M (BIT(10)) +#define RMT_CH3_RX_END_INT_CLR_V 0x1 +#define RMT_CH3_RX_END_INT_CLR_S 10 +/* RMT_CH3_TX_END_INT_CLR : WO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch3_rx_end_int_raw..*/ +#define RMT_CH3_TX_END_INT_CLR (BIT(9)) +#define RMT_CH3_TX_END_INT_CLR_M (BIT(9)) +#define RMT_CH3_TX_END_INT_CLR_V 0x1 +#define RMT_CH3_TX_END_INT_CLR_S 9 +/* RMT_CH2_ERR_INT_CLR : WO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch2_err_int_raw.*/ +#define RMT_CH2_ERR_INT_CLR (BIT(8)) +#define RMT_CH2_ERR_INT_CLR_M (BIT(8)) +#define RMT_CH2_ERR_INT_CLR_V 0x1 +#define RMT_CH2_ERR_INT_CLR_S 8 +/* RMT_CH2_RX_END_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch2_tx_end_int_raw.*/ +#define RMT_CH2_RX_END_INT_CLR (BIT(7)) +#define RMT_CH2_RX_END_INT_CLR_M (BIT(7)) +#define RMT_CH2_RX_END_INT_CLR_V 0x1 +#define RMT_CH2_RX_END_INT_CLR_S 7 +/* RMT_CH2_TX_END_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch2_rx_end_int_raw..*/ +#define RMT_CH2_TX_END_INT_CLR (BIT(6)) +#define RMT_CH2_TX_END_INT_CLR_M (BIT(6)) +#define RMT_CH2_TX_END_INT_CLR_V 0x1 +#define RMT_CH2_TX_END_INT_CLR_S 6 +/* RMT_CH1_ERR_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch1_err_int_raw.*/ +#define RMT_CH1_ERR_INT_CLR (BIT(5)) +#define RMT_CH1_ERR_INT_CLR_M (BIT(5)) +#define RMT_CH1_ERR_INT_CLR_V 0x1 +#define RMT_CH1_ERR_INT_CLR_S 5 +/* RMT_CH1_RX_END_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch1_tx_end_int_raw.*/ +#define RMT_CH1_RX_END_INT_CLR (BIT(4)) +#define RMT_CH1_RX_END_INT_CLR_M (BIT(4)) +#define RMT_CH1_RX_END_INT_CLR_V 0x1 +#define RMT_CH1_RX_END_INT_CLR_S 4 +/* RMT_CH1_TX_END_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch1_rx_end_int_raw..*/ +#define RMT_CH1_TX_END_INT_CLR (BIT(3)) +#define RMT_CH1_TX_END_INT_CLR_M (BIT(3)) +#define RMT_CH1_TX_END_INT_CLR_V 0x1 +#define RMT_CH1_TX_END_INT_CLR_S 3 +/* RMT_CH0_ERR_INT_CLR : WO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch0_err_int_raw.*/ +#define RMT_CH0_ERR_INT_CLR (BIT(2)) +#define RMT_CH0_ERR_INT_CLR_M (BIT(2)) +#define RMT_CH0_ERR_INT_CLR_V 0x1 +#define RMT_CH0_ERR_INT_CLR_S 2 +/* RMT_CH0_RX_END_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch0_tx_end_int_raw.*/ +#define RMT_CH0_RX_END_INT_CLR (BIT(1)) +#define RMT_CH0_RX_END_INT_CLR_M (BIT(1)) +#define RMT_CH0_RX_END_INT_CLR_V 0x1 +#define RMT_CH0_RX_END_INT_CLR_S 1 +/* RMT_CH0_TX_END_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rmt_ch0_rx_end_int_raw..*/ +#define RMT_CH0_TX_END_INT_CLR (BIT(0)) +#define RMT_CH0_TX_END_INT_CLR_M (BIT(0)) +#define RMT_CH0_TX_END_INT_CLR_V 0x1 +#define RMT_CH0_TX_END_INT_CLR_S 0 + +#define RMT_CH0CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00b0) +/* RMT_CARRIER_HIGH_CH0 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's high level value for channel0.*/ +#define RMT_CARRIER_HIGH_CH0 0x0000FFFF +#define RMT_CARRIER_HIGH_CH0_M ((RMT_CARRIER_HIGH_CH0_V)<<(RMT_CARRIER_HIGH_CH0_S)) +#define RMT_CARRIER_HIGH_CH0_V 0xFFFF +#define RMT_CARRIER_HIGH_CH0_S 16 +/* RMT_CARRIER_LOW_CH0 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's low level value for channel0.*/ +#define RMT_CARRIER_LOW_CH0 0x0000FFFF +#define RMT_CARRIER_LOW_CH0_M ((RMT_CARRIER_LOW_CH0_V)<<(RMT_CARRIER_LOW_CH0_S)) +#define RMT_CARRIER_LOW_CH0_V 0xFFFF +#define RMT_CARRIER_LOW_CH0_S 0 + +#define RMT_CH1CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00b4) +/* RMT_CARRIER_HIGH_CH1 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's high level value for channel1.*/ +#define RMT_CARRIER_HIGH_CH1 0x0000FFFF +#define RMT_CARRIER_HIGH_CH1_M ((RMT_CARRIER_HIGH_CH1_V)<<(RMT_CARRIER_HIGH_CH1_S)) +#define RMT_CARRIER_HIGH_CH1_V 0xFFFF +#define RMT_CARRIER_HIGH_CH1_S 16 +/* RMT_CARRIER_LOW_CH1 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's low level value for channel1.*/ +#define RMT_CARRIER_LOW_CH1 0x0000FFFF +#define RMT_CARRIER_LOW_CH1_M ((RMT_CARRIER_LOW_CH1_V)<<(RMT_CARRIER_LOW_CH1_S)) +#define RMT_CARRIER_LOW_CH1_V 0xFFFF +#define RMT_CARRIER_LOW_CH1_S 0 + +#define RMT_CH2CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00b8) +/* RMT_CARRIER_HIGH_CH2 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's high level value for channel2.*/ +#define RMT_CARRIER_HIGH_CH2 0x0000FFFF +#define RMT_CARRIER_HIGH_CH2_M ((RMT_CARRIER_HIGH_CH2_V)<<(RMT_CARRIER_HIGH_CH2_S)) +#define RMT_CARRIER_HIGH_CH2_V 0xFFFF +#define RMT_CARRIER_HIGH_CH2_S 16 +/* RMT_CARRIER_LOW_CH2 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's low level value for channel2.*/ +#define RMT_CARRIER_LOW_CH2 0x0000FFFF +#define RMT_CARRIER_LOW_CH2_M ((RMT_CARRIER_LOW_CH2_V)<<(RMT_CARRIER_LOW_CH2_S)) +#define RMT_CARRIER_LOW_CH2_V 0xFFFF +#define RMT_CARRIER_LOW_CH2_S 0 + +#define RMT_CH3CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00bc) +/* RMT_CARRIER_HIGH_CH3 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's high level value for channel3.*/ +#define RMT_CARRIER_HIGH_CH3 0x0000FFFF +#define RMT_CARRIER_HIGH_CH3_M ((RMT_CARRIER_HIGH_CH3_V)<<(RMT_CARRIER_HIGH_CH3_S)) +#define RMT_CARRIER_HIGH_CH3_V 0xFFFF +#define RMT_CARRIER_HIGH_CH3_S 16 +/* RMT_CARRIER_LOW_CH3 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's low level value for channel3.*/ +#define RMT_CARRIER_LOW_CH3 0x0000FFFF +#define RMT_CARRIER_LOW_CH3_M ((RMT_CARRIER_LOW_CH3_V)<<(RMT_CARRIER_LOW_CH3_S)) +#define RMT_CARRIER_LOW_CH3_V 0xFFFF +#define RMT_CARRIER_LOW_CH3_S 0 + +#define RMT_CH4CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00c0) +/* RMT_CARRIER_HIGH_CH4 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's high level value for channel4.*/ +#define RMT_CARRIER_HIGH_CH4 0x0000FFFF +#define RMT_CARRIER_HIGH_CH4_M ((RMT_CARRIER_HIGH_CH4_V)<<(RMT_CARRIER_HIGH_CH4_S)) +#define RMT_CARRIER_HIGH_CH4_V 0xFFFF +#define RMT_CARRIER_HIGH_CH4_S 16 +/* RMT_CARRIER_LOW_CH4 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's low level value for channel4.*/ +#define RMT_CARRIER_LOW_CH4 0x0000FFFF +#define RMT_CARRIER_LOW_CH4_M ((RMT_CARRIER_LOW_CH4_V)<<(RMT_CARRIER_LOW_CH4_S)) +#define RMT_CARRIER_LOW_CH4_V 0xFFFF +#define RMT_CARRIER_LOW_CH4_S 0 + +#define RMT_CH5CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00c4) +/* RMT_CARRIER_HIGH_CH5 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's high level value for channel5.*/ +#define RMT_CARRIER_HIGH_CH5 0x0000FFFF +#define RMT_CARRIER_HIGH_CH5_M ((RMT_CARRIER_HIGH_CH5_V)<<(RMT_CARRIER_HIGH_CH5_S)) +#define RMT_CARRIER_HIGH_CH5_V 0xFFFF +#define RMT_CARRIER_HIGH_CH5_S 16 +/* RMT_CARRIER_LOW_CH5 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's low level value for channel5.*/ +#define RMT_CARRIER_LOW_CH5 0x0000FFFF +#define RMT_CARRIER_LOW_CH5_M ((RMT_CARRIER_LOW_CH5_V)<<(RMT_CARRIER_LOW_CH5_S)) +#define RMT_CARRIER_LOW_CH5_V 0xFFFF +#define RMT_CARRIER_LOW_CH5_S 0 + +#define RMT_CH6CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00c8) +/* RMT_CARRIER_HIGH_CH6 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's high level value for channel6.*/ +#define RMT_CARRIER_HIGH_CH6 0x0000FFFF +#define RMT_CARRIER_HIGH_CH6_M ((RMT_CARRIER_HIGH_CH6_V)<<(RMT_CARRIER_HIGH_CH6_S)) +#define RMT_CARRIER_HIGH_CH6_V 0xFFFF +#define RMT_CARRIER_HIGH_CH6_S 16 +/* RMT_CARRIER_LOW_CH6 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's low level value for channel6.*/ +#define RMT_CARRIER_LOW_CH6 0x0000FFFF +#define RMT_CARRIER_LOW_CH6_M ((RMT_CARRIER_LOW_CH6_V)<<(RMT_CARRIER_LOW_CH6_S)) +#define RMT_CARRIER_LOW_CH6_V 0xFFFF +#define RMT_CARRIER_LOW_CH6_S 0 + +#define RMT_CH7CARRIER_DUTY_REG (DR_REG_RMT_BASE + 0x00cc) +/* RMT_CARRIER_HIGH_CH7 : R/W ;bitpos:[31:16] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's high level value for channel7.*/ +#define RMT_CARRIER_HIGH_CH7 0x0000FFFF +#define RMT_CARRIER_HIGH_CH7_M ((RMT_CARRIER_HIGH_CH7_V)<<(RMT_CARRIER_HIGH_CH7_S)) +#define RMT_CARRIER_HIGH_CH7_V 0xFFFF +#define RMT_CARRIER_HIGH_CH7_S 16 +/* RMT_CARRIER_LOW_CH7 : R/W ;bitpos:[15:0] ;default: 16'h40 ; */ +/*description: This register is used to configure carrier wave's low level value for channel7.*/ +#define RMT_CARRIER_LOW_CH7 0x0000FFFF +#define RMT_CARRIER_LOW_CH7_M ((RMT_CARRIER_LOW_CH7_V)<<(RMT_CARRIER_LOW_CH7_S)) +#define RMT_CARRIER_LOW_CH7_V 0xFFFF +#define RMT_CARRIER_LOW_CH7_S 0 + +#define RMT_CH0_TX_LIM_REG (DR_REG_RMT_BASE + 0x00d0) +/* RMT_TX_LIM_CH0 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ +/*description: When channel0 sends more than reg_rmt_tx_lim_ch0 datas then channel0 + produce the relative interrupt.*/ +#define RMT_TX_LIM_CH0 0x000001FF +#define RMT_TX_LIM_CH0_M ((RMT_TX_LIM_CH0_V)<<(RMT_TX_LIM_CH0_S)) +#define RMT_TX_LIM_CH0_V 0x1FF +#define RMT_TX_LIM_CH0_S 0 + +#define RMT_CH1_TX_LIM_REG (DR_REG_RMT_BASE + 0x00d4) +/* RMT_TX_LIM_CH1 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ +/*description: When channel1 sends more than reg_rmt_tx_lim_ch1 datas then channel1 + produce the relative interrupt.*/ +#define RMT_TX_LIM_CH1 0x000001FF +#define RMT_TX_LIM_CH1_M ((RMT_TX_LIM_CH1_V)<<(RMT_TX_LIM_CH1_S)) +#define RMT_TX_LIM_CH1_V 0x1FF +#define RMT_TX_LIM_CH1_S 0 + +#define RMT_CH2_TX_LIM_REG (DR_REG_RMT_BASE + 0x00d8) +/* RMT_TX_LIM_CH2 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ +/*description: When channel2 sends more than reg_rmt_tx_lim_ch2 datas then channel2 + produce the relative interrupt.*/ +#define RMT_TX_LIM_CH2 0x000001FF +#define RMT_TX_LIM_CH2_M ((RMT_TX_LIM_CH2_V)<<(RMT_TX_LIM_CH2_S)) +#define RMT_TX_LIM_CH2_V 0x1FF +#define RMT_TX_LIM_CH2_S 0 + +#define RMT_CH3_TX_LIM_REG (DR_REG_RMT_BASE + 0x00dc) +/* RMT_TX_LIM_CH3 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ +/*description: When channel3 sends more than reg_rmt_tx_lim_ch3 datas then channel3 + produce the relative interrupt.*/ +#define RMT_TX_LIM_CH3 0x000001FF +#define RMT_TX_LIM_CH3_M ((RMT_TX_LIM_CH3_V)<<(RMT_TX_LIM_CH3_S)) +#define RMT_TX_LIM_CH3_V 0x1FF +#define RMT_TX_LIM_CH3_S 0 + +#define RMT_CH4_TX_LIM_REG (DR_REG_RMT_BASE + 0x00e0) +/* RMT_TX_LIM_CH4 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ +/*description: When channel4 sends more than reg_rmt_tx_lim_ch4 datas then channel4 + produce the relative interrupt.*/ +#define RMT_TX_LIM_CH4 0x000001FF +#define RMT_TX_LIM_CH4_M ((RMT_TX_LIM_CH4_V)<<(RMT_TX_LIM_CH4_S)) +#define RMT_TX_LIM_CH4_V 0x1FF +#define RMT_TX_LIM_CH4_S 0 + +#define RMT_CH5_TX_LIM_REG (DR_REG_RMT_BASE + 0x00e4) +/* RMT_TX_LIM_CH5 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ +/*description: When channel5 sends more than reg_rmt_tx_lim_ch5 datas then channel5 + produce the relative interrupt.*/ +#define RMT_TX_LIM_CH5 0x000001FF +#define RMT_TX_LIM_CH5_M ((RMT_TX_LIM_CH5_V)<<(RMT_TX_LIM_CH5_S)) +#define RMT_TX_LIM_CH5_V 0x1FF +#define RMT_TX_LIM_CH5_S 0 + +#define RMT_CH6_TX_LIM_REG (DR_REG_RMT_BASE + 0x00e8) +/* RMT_TX_LIM_CH6 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ +/*description: When channel6 sends more than reg_rmt_tx_lim_ch6 datas then channel6 + produce the relative interrupt.*/ +#define RMT_TX_LIM_CH6 0x000001FF +#define RMT_TX_LIM_CH6_M ((RMT_TX_LIM_CH6_V)<<(RMT_TX_LIM_CH6_S)) +#define RMT_TX_LIM_CH6_V 0x1FF +#define RMT_TX_LIM_CH6_S 0 + +#define RMT_CH7_TX_LIM_REG (DR_REG_RMT_BASE + 0x00ec) +/* RMT_TX_LIM_CH7 : R/W ;bitpos:[8:0] ;default: 9'h80 ; */ +/*description: When channel7 sends more than reg_rmt_tx_lim_ch7 datas then channel7 + produce the relative interrupt.*/ +#define RMT_TX_LIM_CH7 0x000001FF +#define RMT_TX_LIM_CH7_M ((RMT_TX_LIM_CH7_V)<<(RMT_TX_LIM_CH7_S)) +#define RMT_TX_LIM_CH7_V 0x1FF +#define RMT_TX_LIM_CH7_S 0 + +#define RMT_APB_CONF_REG (DR_REG_RMT_BASE + 0x00f0) +/* RMT_MEM_TX_WRAP_EN : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: when datas need to be send is more than channel's mem can store + then set this bit to enable reusage of mem this bit is used together with reg_rmt_tx_lim_chn.*/ +#define RMT_MEM_TX_WRAP_EN (BIT(1)) +#define RMT_MEM_TX_WRAP_EN_M (BIT(1)) +#define RMT_MEM_TX_WRAP_EN_V 0x1 +#define RMT_MEM_TX_WRAP_EN_S 1 +/* RMT_APB_FIFO_MASK : R/W ;bitpos:[0] ;default: 1'h0 ; */ +/*description: Set this bit to disable apb fifo access*/ +#define RMT_APB_FIFO_MASK (BIT(0)) +#define RMT_APB_FIFO_MASK_M (BIT(0)) +#define RMT_APB_FIFO_MASK_V 0x1 +#define RMT_APB_FIFO_MASK_S 0 + +#define RMT_DATE_REG (DR_REG_RMT_BASE + 0x00fc) +/* RMT_DATE : R/W ;bitpos:[31:0] ;default: 32'h16022600 ; */ +/*description: This is the version register.*/ +#define RMT_DATE 0xFFFFFFFF +#define RMT_DATE_M ((RMT_DATE_V)<<(RMT_DATE_S)) +#define RMT_DATE_V 0xFFFFFFFF +#define RMT_DATE_S 0 + +/* RMT memory block address */ +#define RMT_CHANNEL_MEM(i) (DR_REG_RMT_BASE + 0x800 + 64 * 4 * (i)) + + +#endif /*_SOC_RMT_REG_H_ */ + + diff --git a/tools/sdk/include/esp32/soc/rmt_struct.h b/tools/sdk/include/soc/soc/rmt_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/rmt_struct.h rename to tools/sdk/include/soc/soc/rmt_struct.h diff --git a/tools/sdk/include/soc/soc/rtc.h b/tools/sdk/include/soc/soc/rtc.h new file mode 100644 index 00000000..aecf76be --- /dev/null +++ b/tools/sdk/include/soc/soc/rtc.h @@ -0,0 +1,496 @@ +// Copyright 2015-2017 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. +#pragma once + +#include +#include +#include +#include "soc/soc.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @file rtc.h + * @brief Low-level RTC power, clock, and sleep functions. + * + * Functions in this file facilitate configuration of ESP32's RTC_CNTL peripheral. + * RTC_CNTL peripheral handles many functions: + * - enables/disables clocks and power to various parts of the chip; this is + * done using direct register access (forcing power up or power down) or by + * allowing state machines to control power and clocks automatically + * - handles sleep and wakeup functions + * - maintains a 48-bit counter which can be used for timekeeping + * + * These functions are not thread safe, and should not be viewed as high level + * APIs. For example, while this file provides a function which can switch + * CPU frequency, this function is on its own is not sufficient to implement + * frequency switching in ESP-IDF context: some coordination with RTOS, + * peripheral drivers, and WiFi/BT stacks is also required. + * + * These functions will normally not be used in applications directly. + * ESP-IDF provides, or will provide, drivers and other facilities to use + * RTC subsystem functionality. + * + * The functions are loosely split into the following groups: + * - rtc_clk: clock switching, calibration + * - rtc_time: reading RTC counter, conversion between counter values and time + * - rtc_sleep: entry into sleep modes + * - rtc_init: initialization + */ + + +/** + * @brief Possible main XTAL frequency values. + * + * Enum values should be equal to frequency in MHz. + */ +typedef enum { + RTC_XTAL_FREQ_AUTO = 0, //!< Automatic XTAL frequency detection + RTC_XTAL_FREQ_40M = 40, //!< 40 MHz XTAL + RTC_XTAL_FREQ_26M = 26, //!< 26 MHz XTAL + RTC_XTAL_FREQ_24M = 24, //!< 24 MHz XTAL +} rtc_xtal_freq_t; + +/** + * @brief CPU frequency values + */ +typedef enum { + RTC_CPU_FREQ_XTAL = 0, //!< Main XTAL frequency + RTC_CPU_FREQ_80M = 1, //!< 80 MHz + RTC_CPU_FREQ_160M = 2, //!< 160 MHz + RTC_CPU_FREQ_240M = 3, //!< 240 MHz + RTC_CPU_FREQ_2M = 4, //!< 2 MHz +} rtc_cpu_freq_t; + +/** + * @brief RTC SLOW_CLK frequency values + */ +typedef enum { + RTC_SLOW_FREQ_RTC = 0, //!< Internal 150 kHz RC oscillator + RTC_SLOW_FREQ_32K_XTAL = 1, //!< External 32 kHz XTAL + RTC_SLOW_FREQ_8MD256 = 2, //!< Internal 8 MHz RC oscillator, divided by 256 +} rtc_slow_freq_t; + +/** + * @brief RTC FAST_CLK frequency values + */ +typedef enum { + RTC_FAST_FREQ_XTALD4 = 0, //!< Main XTAL, divided by 4 + RTC_FAST_FREQ_8M = 1, //!< Internal 8 MHz RC oscillator +} rtc_fast_freq_t; + +/** + * @brief Clock source to be calibrated using rtc_clk_cal function + */ +typedef enum { + RTC_CAL_RTC_MUX = 0, //!< Currently selected RTC SLOW_CLK + RTC_CAL_8MD256 = 1, //!< Internal 8 MHz RC oscillator, divided by 256 + RTC_CAL_32K_XTAL = 2 //!< External 32 kHz XTAL +} rtc_cal_sel_t; + +/** + * Initialization parameters for rtc_clk_init + */ +typedef struct { + rtc_xtal_freq_t xtal_freq : 8; //!< Main XTAL frequency + rtc_cpu_freq_t cpu_freq : 3; //!< CPU frequency to set + rtc_fast_freq_t fast_freq : 1; //!< RTC_FAST_CLK frequency to set + rtc_slow_freq_t slow_freq : 2; //!< RTC_SLOW_CLK frequency to set + uint32_t clk_8m_div : 3; //!< RTC 8M clock divider (division is by clk_8m_div+1, i.e. 0 means 8MHz frequency) + uint32_t slow_clk_dcap : 8; //!< RTC 150k clock adjustment parameter (higher value leads to lower frequency) + uint32_t clk_8m_dfreq : 8; //!< RTC 8m clock adjustment parameter (higher value leads to higher frequency) +} rtc_clk_config_t; + +/** + * Default initializer for rtc_clk_config_t + */ +#define RTC_CLK_CONFIG_DEFAULT() { \ + .xtal_freq = RTC_XTAL_FREQ_AUTO, \ + .cpu_freq = RTC_CPU_FREQ_80M, \ + .fast_freq = RTC_FAST_FREQ_8M, \ + .slow_freq = RTC_SLOW_FREQ_RTC, \ + .clk_8m_div = 0, \ + .slow_clk_dcap = RTC_CNTL_SCK_DCAP_DEFAULT, \ + .clk_8m_dfreq = RTC_CNTL_CK8M_DFREQ_DEFAULT, \ +} + +/** + * Initialize clocks and set CPU frequency + * + * If cfg.xtal_freq is set to RTC_XTAL_FREQ_AUTO, this function will attempt + * to auto detect XTAL frequency. Auto detection is performed by comparing + * XTAL frequency with the frequency of internal 8MHz oscillator. Note that at + * high temperatures the frequency of the internal 8MHz oscillator may drift + * enough for auto detection to be unreliable. + * Auto detection code will attempt to distinguish between 26MHz and 40MHz + * crystals. 24 MHz crystals are not supported by auto detection code. + * If XTAL frequency can not be auto detected, this 26MHz frequency will be used. + * + * @param cfg clock configuration as rtc_clk_config_t + */ +void rtc_clk_init(rtc_clk_config_t cfg); + +/** + * @brief Get main XTAL frequency + * + * This is the value passed to rtc_clk_init function, or if the value was + * RTC_XTAL_FREQ_AUTO, the detected XTAL frequency. + * + * @return XTAL frequency, one of rtc_xtal_freq_t + */ +rtc_xtal_freq_t rtc_clk_xtal_freq_get(); + +/** + * @brief Enable or disable 32 kHz XTAL oscillator + * @param en true to enable, false to disable + */ +void rtc_clk_32k_enable(bool en); + +/** + * @brief Get the state of 32k XTAL oscillator + * @return true if 32k XTAL oscillator has been enabled + */ +bool rtc_clk_32k_enabled(); + +/** + * @brief Enable or disable 8 MHz internal oscillator + * + * Output from 8 MHz internal oscillator is passed into a configurable + * divider, which by default divides the input clock frequency by 256. + * Output of the divider may be used as RTC_SLOW_CLK source. + * Output of the divider is referred to in register descriptions and code as + * 8md256 or simply d256. Divider values other than 256 may be configured, but + * this facility is not currently needed, so is not exposed in the code. + * + * When 8MHz/256 divided output is not needed, the divider should be disabled + * to reduce power consumption. + * + * @param clk_8m_en true to enable 8MHz generator + * @param d256_en true to enable /256 divider + */ +void rtc_clk_8m_enable(bool clk_8m_en, bool d256_en); + +/** + * @brief Get the state of 8 MHz internal oscillator + * @return true if the oscillator is enabled + */ +bool rtc_clk_8m_enabled(); + +/** + * @brief Get the state of /256 divider which is applied to 8MHz clock + * @return true if the divided output is enabled + */ +bool rtc_clk_8md256_enabled(); + +/** + * @brief Enable or disable APLL + * + * Output frequency is given by the formula: + * apll_freq = xtal_freq * (4 + sdm2 + sdm1/256 + sdm0/65536)/((o_div + 2) * 2) + * + * The dividend in this expression should be in the range of 240 - 600 MHz. + * + * In rev. 0 of ESP32, sdm0 and sdm1 are unused and always set to 0. + * + * @param enable true to enable, false to disable + * @param sdm0 frequency adjustment parameter, 0..255 + * @param sdm1 frequency adjustment parameter, 0..255 + * @param sdm2 frequency adjustment parameter, 0..63 + * @param o_div frequency divider, 0..31 + */ +void rtc_clk_apll_enable(bool enable, uint32_t sdm0, uint32_t sdm1, + uint32_t sdm2, uint32_t o_div); + +/** + * @brief Select source for RTC_SLOW_CLK + * @param slow_freq clock source (one of rtc_slow_freq_t values) + */ +void rtc_clk_slow_freq_set(rtc_slow_freq_t slow_freq); + +/** + * @brief Get the RTC_SLOW_CLK source + * @return currently selected clock source (one of rtc_slow_freq_t values) + */ +rtc_slow_freq_t rtc_clk_slow_freq_get(); + +/** + * @brief Select source for RTC_FAST_CLK + * @param fast_freq clock source (one of rtc_fast_freq_t values) + */ +void rtc_clk_fast_freq_set(rtc_fast_freq_t fast_freq); + +/** + * @brief Get the RTC_FAST_CLK source + * @return currently selected clock source (one of rtc_fast_freq_t values) + */ +rtc_fast_freq_t rtc_clk_fast_freq_get(); + +/** + * @brief Switch CPU frequency + * + * If a PLL-derived frequency is requested (80, 160, 240 MHz), this function + * will enable the PLL. Otherwise, PLL will be disabled. + * Note: this function is not optimized for switching speed. It may take several + * hundred microseconds to perform frequency switch. + * + * @param cpu_freq new CPU frequency + */ +void rtc_clk_cpu_freq_set(rtc_cpu_freq_t cpu_freq); + +/** + * @brief Get the currently selected CPU frequency + * + * Although CPU can be clocked by APLL and RTC 8M sources, such support is not + * exposed through this library. As such, this function will not return + * meaningful values when these clock sources are configured (e.g. using direct + * access to clock selection registers). In debug builds, it will assert; in + * release builds, it will return RTC_CPU_FREQ_XTAL. + * + * @return CPU frequency (one of rtc_cpu_freq_t values) + */ +rtc_cpu_freq_t rtc_clk_cpu_freq_get(); + +/** + * @brief Get corresponding frequency value for rtc_cpu_freq_t enum value + * @param cpu_freq CPU frequency, on of rtc_cpu_freq_t values + * @return CPU frequency, in HZ + */ +uint32_t rtc_clk_cpu_freq_value(rtc_cpu_freq_t cpu_freq); + +/** + * @brief Store new APB frequency value into RTC_APB_FREQ_REG + * + * This function doesn't change any hardware clocks. + * + * Functions which perform frequency switching and change APB frequency call + * this function to update the value of APB frequency stored in RTC_APB_FREQ_REG + * (one of RTC general purpose retention registers). This should not normally + * be called from application code. + * + * @param apb_freq new APB frequency, in Hz + */ +void rtc_clk_apb_freq_update(uint32_t apb_freq); + +/** + * @brief Get the current stored APB frequency. + * @return The APB frequency value as last set via rtc_clk_apb_freq_update(), in Hz. + */ +uint32_t rtc_clk_apb_freq_get(); + +#define RTC_CLK_CAL_FRACT 19 //!< Number of fractional bits in values returned by rtc_clk_cal + +/** + * @brief Measure RTC slow clock's period, based on main XTAL frequency + * + * This function will time out and return 0 if the time for the given number + * of cycles to be counted exceeds the expected time twice. This may happen if + * 32k XTAL is being calibrated, but the oscillator has not started up (due to + * incorrect loading capacitance, board design issue, or lack of 32 XTAL on board). + * + * @param cal_clk clock to be measured + * @param slow_clk_cycles number of slow clock cycles to average + * @return average slow clock period in microseconds, Q13.19 fixed point format, + * or 0 if calibration has timed out + */ +uint32_t rtc_clk_cal(rtc_cal_sel_t cal_clk, uint32_t slow_clk_cycles); + +/** + * @brief Convert time interval from microseconds to RTC_SLOW_CLK cycles + * @param time_in_us Time interval in microseconds + * @param slow_clk_period Period of slow clock in microseconds, Q13.19 + * fixed point format (as returned by rtc_slowck_cali). + * @return number of slow clock cycles + */ +uint64_t rtc_time_us_to_slowclk(uint64_t time_in_us, uint32_t period); + +/** + * @brief Convert time interval from RTC_SLOW_CLK to microseconds + * @param time_in_us Time interval in RTC_SLOW_CLK cycles + * @param slow_clk_period Period of slow clock in microseconds, Q13.19 + * fixed point format (as returned by rtc_slowck_cali). + * @return time interval in microseconds + */ +uint64_t rtc_time_slowclk_to_us(uint64_t rtc_cycles, uint32_t period); + +/** + * @brief Get current value of RTC counter + * + * RTC has a 48-bit counter which is incremented by 2 every 2 RTC_SLOW_CLK + * cycles. Counter value is not writable by software. The value is not adjusted + * when switching to a different RTC_SLOW_CLK source. + * + * Note: this function may take up to 1 RTC_SLOW_CLK cycle to execute + * + * @return current value of RTC counter + */ +uint64_t rtc_time_get(); + +/** + * @brief sleep configuration for rtc_sleep_init function + */ +typedef struct { + uint32_t soc_clk_sel : 2; //!< SoC clock select, see RTC_CNTL_SOC_CLK_SEL + uint32_t lslp_mem_inf_fpu : 1; //!< force normal voltage in sleep mode (digital domain memory) + uint32_t rtc_mem_inf_fpu : 1; //!< force normal voltage in sleep mode (RTC memory) + uint32_t rtc_mem_inf_follow_cpu : 1;//!< keep low voltage in sleep mode (even if ULP/touch is used) + uint32_t rtc_fastmem_pd_en : 1; //!< power down RTC fast memory + uint32_t rtc_slowmem_pd_en : 1; //!< power down RTC slow memory + uint32_t rtc_peri_pd_en : 1; //!< power down RTC peripherals + uint32_t wifi_pd_en : 1; //!< power down WiFi + uint32_t rom_mem_pd_en : 1; //!< power down main RAM and ROM + uint32_t deep_slp : 1; //!< power down digital domain + uint32_t wdt_flashboot_mod_en : 1; //!< enable WDT flashboot mode + uint32_t dig_dbias_wak : 3; //!< set bias for digital domain, in active mode + uint32_t dig_dbias_slp : 3; //!< set bias for digital domain, in sleep mode + uint32_t rtc_dbias_wak : 3; //!< set bias for RTC domain, in active mode + uint32_t rtc_dbias_slp : 3; //!< set bias for RTC domain, in sleep mode + uint32_t lslp_meminf_pd : 1; //!< remove all peripheral force power up flags +} rtc_sleep_config_t; + +/** + * Default initializer for rtc_sleep_config_t + * + * This initializer sets all fields to "reasonable" values (e.g. suggested for + * production use) based on a combination of RTC_SLEEP_PD_x flags. + * + * @param RTC_SLEEP_PD_x flags combined using bitwise OR + */ +#define RTC_SLEEP_CONFIG_DEFAULT(sleep_flags) { \ + .soc_clk_sel = RTC_CNTL_SOC_CLK_SEL_XTL, \ + .lslp_mem_inf_fpu = 0, \ + .rtc_mem_inf_fpu = 0, \ + .rtc_mem_inf_follow_cpu = ((sleep_flags) & RTC_SLEEP_PD_RTC_MEM_FOLLOW_CPU) ? 1 : 0, \ + .rtc_fastmem_pd_en = ((sleep_flags) & RTC_SLEEP_PD_RTC_FAST_MEM) ? 1 : 0, \ + .rtc_slowmem_pd_en = ((sleep_flags) & RTC_SLEEP_PD_RTC_SLOW_MEM) ? 1 : 0, \ + .rtc_peri_pd_en = ((sleep_flags) & RTC_SLEEP_PD_RTC_PERIPH) ? 1 : 0, \ + .wifi_pd_en = 0, \ + .rom_mem_pd_en = 0, \ + .deep_slp = ((sleep_flags) & RTC_SLEEP_PD_DIG) ? 1 : 0, \ + .wdt_flashboot_mod_en = 0, \ + .dig_dbias_wak = RTC_CNTL_DBIAS_1V10, \ + .dig_dbias_slp = RTC_CNTL_DBIAS_0V90, \ + .rtc_dbias_wak = RTC_CNTL_DBIAS_0V90, \ + .rtc_dbias_slp = RTC_CNTL_DBIAS_0V90, \ + .lslp_meminf_pd = 1 \ +}; + +#define RTC_SLEEP_PD_DIG BIT(0) //!< Deep sleep (power down digital domain) +#define RTC_SLEEP_PD_RTC_PERIPH BIT(1) //!< Power down RTC peripherals +#define RTC_SLEEP_PD_RTC_SLOW_MEM BIT(2) //!< Power down RTC SLOW memory +#define RTC_SLEEP_PD_RTC_FAST_MEM BIT(3) //!< Power down RTC FAST memory +#define RTC_SLEEP_PD_RTC_MEM_FOLLOW_CPU BIT(4) //!< RTC FAST and SLOW memories are automatically powered up and down along with the CPU + +/** + * @brief Prepare the chip to enter sleep mode + * + * This function configures various power control state machines to handle + * entry into light sleep or deep sleep mode, switches APB and CPU clock source + * (usually to XTAL), and sets bias voltages for digital and RTC power domains. + * + * This function does not actually enter sleep mode; this is done using + * rtc_sleep_start function. Software may do some other actions between + * rtc_sleep_init and rtc_sleep_start, such as set wakeup timer and configure + * wakeup sources. + * @param cfg sleep mode configuration + */ +void rtc_sleep_init(rtc_sleep_config_t cfg); + + +/** + * @brief Set target value of RTC counter for RTC_TIMER_TRIG_EN wakeup source + * @param t value of RTC counter at which wakeup from sleep will happen; + * only the lower 48 bits are used + */ +void rtc_sleep_set_wakeup_time(uint64_t t); + + +#define RTC_EXT0_TRIG_EN BIT(0) //!< EXT0 GPIO wakeup +#define RTC_EXT1_TRIG_EN BIT(1) //!< EXT1 GPIO wakeup +#define RTC_GPIO_TRIG_EN BIT(2) //!< GPIO wakeup (light sleep only) +#define RTC_TIMER_TRIG_EN BIT(3) //!< Timer wakeup +#define RTC_SDIO_TRIG_EN BIT(4) //!< SDIO wakeup (light sleep only) +#define RTC_MAC_TRIG_EN BIT(5) //!< MAC wakeup (light sleep only) +#define RTC_UART0_TRIG_EN BIT(6) //!< UART0 wakeup (light sleep only) +#define RTC_UART1_TRIG_EN BIT(7) //!< UART1 wakeup (light sleep only) +#define RTC_TOUCH_TRIG_EN BIT(8) //!< Touch wakeup +#define RTC_ULP_TRIG_EN BIT(9) //!< ULP wakeup +#define RTC_BT_TRIG_EN BIT(10) //!< BT wakeup (light sleep only) + +/** + * @brief Enter deep or light sleep mode + * + * This function enters the sleep mode previously configured using rtc_sleep_init + * function. Before entering sleep, software should configure wake up sources + * appropriately (set up GPIO wakeup registers, timer wakeup registers, + * and so on). + * + * If deep sleep mode was configured using rtc_sleep_init, and sleep is not + * rejected by hardware (based on reject_opt flags), this function never returns. + * When the chip wakes up from deep sleep, CPU is reset and execution starts + * from ROM bootloader. + * + * If light sleep mode was configured using rtc_sleep_init, this function + * returns on wakeup, or if sleep is rejected by hardware. + * + * @param wakeup_opt bit mask wake up reasons to enable (RTC_xxx_TRIG_EN flags + * combined with OR) + * @param reject_opt bit mask of sleep reject reasons: + * - RTC_CNTL_GPIO_REJECT_EN + * - RTC_CNTL_SDIO_REJECT_EN + * These flags are used to prevent entering sleep when e.g. + * an external host is communicating via SDIO slave + * @return non-zero if sleep was rejected by hardware + */ +uint32_t rtc_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt); + +/** + * RTC power and clock control initialization settings + */ +typedef struct { + uint32_t ck8m_wait : 8; //!< Number of rtc_fast_clk cycles to wait for 8M clock to be ready + uint32_t xtal_wait : 8; //!< Number of rtc_fast_clk cycles to wait for XTAL clock to be ready + uint32_t pll_wait : 8; //!< Number of rtc_fast_clk cycles to wait for PLL to be ready + uint32_t clkctl_init : 1; //!< Perform clock control related initialization + uint32_t pwrctl_init : 1; //!< Perform power control related initialization + uint32_t rtc_dboost_fpd : 1; //!< Force power down RTC_DBOOST +} rtc_config_t; + +/** + * Default initializer of rtc_config_t. + * + * This initializer sets all fields to "reasonable" values (e.g. suggested for + * production use). + */ +#define RTC_CONFIG_DEFAULT() {\ + .ck8m_wait = RTC_CNTL_CK8M_WAIT_DEFAULT, \ + .xtal_wait = RTC_CNTL_XTL_BUF_WAIT_DEFAULT, \ + .pll_wait = RTC_CNTL_PLL_BUF_WAIT_DEFAULT, \ + .clkctl_init = 1, \ + .pwrctl_init = 1, \ + .rtc_dboost_fpd = 1 \ +} + +/** + * Initialize RTC clock and power control related functions + * @param cfg configuration options as rtc_config_t + */ +void rtc_init(rtc_config_t cfg); + + +#ifdef __cplusplus +} +#endif + diff --git a/tools/sdk/include/esp32/soc/rtc_cntl_reg.h b/tools/sdk/include/soc/soc/rtc_cntl_reg.h similarity index 96% rename from tools/sdk/include/esp32/soc/rtc_cntl_reg.h rename to tools/sdk/include/soc/soc/rtc_cntl_reg.h index 40d65f21..067f2296 100644 --- a/tools/sdk/include/esp32/soc/rtc_cntl_reg.h +++ b/tools/sdk/include/soc/soc/rtc_cntl_reg.h @@ -321,18 +321,21 @@ #define RTC_CNTL_PLL_BUF_WAIT_M ((RTC_CNTL_PLL_BUF_WAIT_V)<<(RTC_CNTL_PLL_BUF_WAIT_S)) #define RTC_CNTL_PLL_BUF_WAIT_V 0xFF #define RTC_CNTL_PLL_BUF_WAIT_S 24 +#define RTC_CNTL_PLL_BUF_WAIT_DEFAULT 20 /* RTC_CNTL_XTL_BUF_WAIT : R/W ;bitpos:[23:14] ;default: 10'd80 ; */ /*description: XTAL wait cycles in slow_clk_rtc*/ #define RTC_CNTL_XTL_BUF_WAIT 0x000003FF #define RTC_CNTL_XTL_BUF_WAIT_M ((RTC_CNTL_XTL_BUF_WAIT_V)<<(RTC_CNTL_XTL_BUF_WAIT_S)) #define RTC_CNTL_XTL_BUF_WAIT_V 0x3FF #define RTC_CNTL_XTL_BUF_WAIT_S 14 +#define RTC_CNTL_XTL_BUF_WAIT_DEFAULT 20 /* RTC_CNTL_CK8M_WAIT : R/W ;bitpos:[13:6] ;default: 8'h10 ; */ /*description: CK8M wait cycles in slow_clk_rtc*/ #define RTC_CNTL_CK8M_WAIT 0x000000FF #define RTC_CNTL_CK8M_WAIT_M ((RTC_CNTL_CK8M_WAIT_V)<<(RTC_CNTL_CK8M_WAIT_S)) #define RTC_CNTL_CK8M_WAIT_V 0xFF #define RTC_CNTL_CK8M_WAIT_S 6 +#define RTC_CNTL_CK8M_WAIT_DEFAULT 20 /* RTC_CNTL_CPU_STALL_WAIT : R/W ;bitpos:[5:1] ;default: 5'd1 ; */ /*description: CPU stall wait cycles in fast_clk_rtc*/ #define RTC_CNTL_CPU_STALL_WAIT 0x0000001F @@ -892,6 +895,10 @@ #define RTC_CNTL_SOC_CLK_SEL_M ((RTC_CNTL_SOC_CLK_SEL_V)<<(RTC_CNTL_SOC_CLK_SEL_S)) #define RTC_CNTL_SOC_CLK_SEL_V 0x3 #define RTC_CNTL_SOC_CLK_SEL_S 27 +#define RTC_CNTL_SOC_CLK_SEL_XTL 0 +#define RTC_CNTL_SOC_CLK_SEL_PLL 1 +#define RTC_CNTL_SOC_CLK_SEL_8M 2 +#define RTC_CNTL_SOC_CLK_SEL_APLL 3 /* RTC_CNTL_CK8M_FORCE_PU : R/W ;bitpos:[26] ;default: 1'd0 ; */ /*description: CK8M force power up*/ #define RTC_CNTL_CK8M_FORCE_PU (BIT(26)) @@ -910,6 +917,7 @@ #define RTC_CNTL_CK8M_DFREQ_M ((RTC_CNTL_CK8M_DFREQ_V)<<(RTC_CNTL_CK8M_DFREQ_S)) #define RTC_CNTL_CK8M_DFREQ_V 0xFF #define RTC_CNTL_CK8M_DFREQ_S 17 +#define RTC_CNTL_CK8M_DFREQ_DEFAULT 172 /* RTC_CNTL_CK8M_FORCE_NOGATING : R/W ;bitpos:[16] ;default: 1'd0 ; */ /*description: CK8M force no gating during sleep*/ #define RTC_CNTL_CK8M_FORCE_NOGATING (BIT(16)) @@ -1109,6 +1117,7 @@ #define RTC_CNTL_SCK_DCAP_M ((RTC_CNTL_SCK_DCAP_V)<<(RTC_CNTL_SCK_DCAP_S)) #define RTC_CNTL_SCK_DCAP_V 0xFF #define RTC_CNTL_SCK_DCAP_S 14 +#define RTC_CNTL_SCK_DCAP_DEFAULT 255 /* RTC_CNTL_DIG_DBIAS_WAK : R/W ;bitpos:[13:11] ;default: 3'd4 ; */ /*description: DIG_REG_DBIAS during wakeup*/ #define RTC_CNTL_DIG_DBIAS_WAK 0x00000007 @@ -1128,6 +1137,19 @@ #define RTC_CNTL_SCK_DCAP_FORCE_V 0x1 #define RTC_CNTL_SCK_DCAP_FORCE_S 7 +/* Approximate mapping of voltages to RTC_CNTL_DBIAS_WAK, RTC_CNTL_DBIAS_SLP, + * RTC_CNTL_DIG_DBIAS_WAK, RTC_CNTL_DIG_DBIAS_SLP values. + * Valid if RTC_CNTL_DBG_ATTEN is 0. + */ +#define RTC_CNTL_DBIAS_0V90 0 +#define RTC_CNTL_DBIAS_0V95 1 +#define RTC_CNTL_DBIAS_1V00 2 +#define RTC_CNTL_DBIAS_1V05 3 +#define RTC_CNTL_DBIAS_1V10 4 +#define RTC_CNTL_DBIAS_1V15 5 +#define RTC_CNTL_DBIAS_1V20 6 +#define RTC_CNTL_DBIAS_1V25 7 + #define RTC_CNTL_PWC_REG (DR_REG_RTCCNTL_BASE + 0x80) /* RTC_CNTL_PD_EN : R/W ;bitpos:[20] ;default: 1'd0 ; */ /*description: enable power down rtc_peri in sleep*/ @@ -1257,6 +1279,24 @@ #define RTC_CNTL_FASTMEM_FORCE_NOISO_V 0x1 #define RTC_CNTL_FASTMEM_FORCE_NOISO_S 0 +/* Useful groups of RTC_CNTL_PWC_REG bits */ +#define RTC_CNTL_MEM_FORCE_ISO \ + (RTC_CNTL_SLOWMEM_FORCE_ISO | RTC_CNTL_FASTMEM_FORCE_ISO) +#define RTC_CNTL_MEM_FORCE_NOISO \ + (RTC_CNTL_SLOWMEM_FORCE_NOISO | RTC_CNTL_FASTMEM_FORCE_NOISO) +#define RTC_CNTL_MEM_PD_EN \ + (RTC_CNTL_SLOWMEM_PD_EN | RTC_CNTL_FASTMEM_PD_EN) +#define RTC_CNTL_MEM_FORCE_PU \ + (RTC_CNTL_SLOWMEM_FORCE_PU | RTC_CNTL_FASTMEM_FORCE_PU) +#define RTC_CNTL_MEM_FORCE_PD \ + (RTC_CNTL_SLOWMEM_FORCE_PD | RTC_CNTL_FASTMEM_FORCE_PD) +#define RTC_CNTL_MEM_FOLW_CPU \ + (RTC_CNTL_SLOWMEM_FOLW_CPU | RTC_CNTL_FASTMEM_FOLW_CPU) +#define RTC_CNTL_MEM_FORCE_LPU \ + (RTC_CNTL_SLOWMEM_FORCE_LPU | RTC_CNTL_FASTMEM_FORCE_LPU) +#define RTC_CNTL_MEM_FORCE_LPD \ + (RTC_CNTL_SLOWMEM_FORCE_LPD | RTC_CNTL_FASTMEM_FORCE_LPD) + #define RTC_CNTL_DIG_PWC_REG (DR_REG_RTCCNTL_BASE + 0x84) /* RTC_CNTL_DG_WRAP_PD_EN : R/W ;bitpos:[31] ;default: 0 ; */ /*description: enable power down digital core in sleep*/ @@ -1415,6 +1455,20 @@ #define RTC_CNTL_LSLP_MEM_FORCE_PD_V 0x1 #define RTC_CNTL_LSLP_MEM_FORCE_PD_S 3 +/* Useful groups of RTC_CNTL_DIG_PWC_REG bits */ +#define RTC_CNTL_CPU_ROM_RAM_PD_EN \ + (RTC_CNTL_INTER_RAM4_PD_EN | RTC_CNTL_INTER_RAM3_PD_EN |\ + RTC_CNTL_INTER_RAM2_PD_EN | RTC_CNTL_INTER_RAM1_PD_EN |\ + RTC_CNTL_INTER_RAM0_PD_EN | RTC_CNTL_ROM0_PD_EN) +#define RTC_CNTL_CPU_ROM_RAM_FORCE_PU \ + (RTC_CNTL_INTER_RAM4_FORCE_PU | RTC_CNTL_INTER_RAM3_FORCE_PU |\ + RTC_CNTL_INTER_RAM2_FORCE_PU | RTC_CNTL_INTER_RAM1_FORCE_PU |\ + RTC_CNTL_INTER_RAM0_FORCE_PU | RTC_CNTL_ROM0_FORCE_PU) +#define RTC_CNTL_CPU_ROM_RAM_FORCE_PD \ + (RTC_CNTL_INTER_RAM4_FORCE_PD | RTC_CNTL_INTER_RAM3_FORCE_PD |\ + RTC_CNTL_INTER_RAM2_FORCE_PD | RTC_CNTL_INTER_RAM1_FORCE_PD |\ + RTC_CNTL_INTER_RAM0_FORCE_PD | RTC_CNTL_ROM0_FORCE_PD + #define RTC_CNTL_DIG_ISO_REG (DR_REG_RTCCNTL_BASE + 0x88) /* RTC_CNTL_DG_WRAP_FORCE_NOISO : R/W ;bitpos:[31] ;default: 1'd1 ; */ /*description: digital core force no ISO*/ @@ -1567,6 +1621,16 @@ #define RTC_CNTL_DIG_ISO_FORCE_OFF_V 0x1 #define RTC_CNTL_DIG_ISO_FORCE_OFF_S 7 +/* Useful groups of RTC_CNTL_DIG_ISO_REG bits */ +#define RTC_CNTL_CPU_ROM_RAM_FORCE_ISO \ + (RTC_CNTL_INTER_RAM4_FORCE_ISO | RTC_CNTL_INTER_RAM3_FORCE_ISO |\ + RTC_CNTL_INTER_RAM2_FORCE_ISO | RTC_CNTL_INTER_RAM1_FORCE_ISO |\ + RTC_CNTL_INTER_RAM0_FORCE_ISO | RTC_CNTL_ROM0_FORCE_ISO) +#define RTC_CNTL_CPU_ROM_RAM_FORCE_NOISO \ + (RTC_CNTL_INTER_RAM4_FORCE_NOISO | RTC_CNTL_INTER_RAM3_FORCE_NOISO |\ + RTC_CNTL_INTER_RAM2_FORCE_NOISO | RTC_CNTL_INTER_RAM1_FORCE_NOISO |\ + RTC_CNTL_INTER_RAM0_FORCE_NOISO | RTC_CNTL_ROM0_FORCE_NOISO) + #define RTC_CNTL_WDTCONFIG0_REG (DR_REG_RTCCNTL_BASE + 0x8c) /* RTC_CNTL_WDT_EN : R/W ;bitpos:[31] ;default: 1'h0 ; */ /*description: enable RTC WDT*/ @@ -1650,6 +1714,12 @@ #define RTC_CNTL_WDT_PAUSE_IN_SLP_M (BIT(7)) #define RTC_CNTL_WDT_PAUSE_IN_SLP_V 0x1 #define RTC_CNTL_WDT_PAUSE_IN_SLP_S 7 +/* RTC_CNTL_WDT_STGX : */ +/*description: stage action selection values */ +#define RTC_WDT_STG_SEL_OFF 0 +#define RTC_WDT_STG_SEL_INT 1 +#define RTC_WDT_STG_SEL_RESET_CPU 2 +#define RTC_WDT_STG_SEL_RESET_SYSTEM 3 #define RTC_CNTL_WDTCONFIG1_REG (DR_REG_RTCCNTL_BASE + 0x90) /* RTC_CNTL_WDT_STG0_HOLD : R/W ;bitpos:[31:0] ;default: 32'd128000 ; */ diff --git a/tools/sdk/include/soc/soc/rtc_cntl_struct.h b/tools/sdk/include/soc/soc/rtc_cntl_struct.h new file mode 100644 index 00000000..acb12432 --- /dev/null +++ b/tools/sdk/include/soc/soc/rtc_cntl_struct.h @@ -0,0 +1,553 @@ +// 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_CNTL_STRUCT_H_ +#define _SOC_RTC_CNTL_STRUCT_H_ +typedef volatile struct { + union { + struct { + uint32_t sw_stall_appcpu_c0: 2; /*{reg_sw_stall_appcpu_c1[5:0] reg_sw_stall_appcpu_c0[1:0]} == 0x86 will stall APP CPU*/ + uint32_t sw_stall_procpu_c0: 2; /*{reg_sw_stall_procpu_c1[5:0] reg_sw_stall_procpu_c0[1:0]} == 0x86 will stall PRO CPU*/ + uint32_t sw_appcpu_rst: 1; /*APP CPU SW reset*/ + uint32_t sw_procpu_rst: 1; /*PRO CPU SW reset*/ + uint32_t bb_i2c_force_pd: 1; /*BB_I2C force power down*/ + uint32_t bb_i2c_force_pu: 1; /*BB_I2C force power up*/ + uint32_t bbpll_i2c_force_pd: 1; /*BB_PLL _I2C force power down*/ + uint32_t bbpll_i2c_force_pu: 1; /*BB_PLL_I2C force power up*/ + uint32_t bbpll_force_pd: 1; /*BB_PLL force power down*/ + uint32_t bbpll_force_pu: 1; /*BB_PLL force power up*/ + uint32_t xtl_force_pd: 1; /*crystall force power down*/ + uint32_t xtl_force_pu: 1; /*crystall force power up*/ + uint32_t bias_sleep_folw_8m: 1; /*BIAS_SLEEP follow CK8M*/ + uint32_t bias_force_sleep: 1; /*BIAS_SLEEP force sleep*/ + uint32_t bias_force_nosleep: 1; /*BIAS_SLEEP force no sleep*/ + uint32_t bias_i2c_folw_8m: 1; /*BIAS_I2C follow CK8M*/ + uint32_t bias_i2c_force_pd: 1; /*BIAS_I2C force power down*/ + uint32_t bias_i2c_force_pu: 1; /*BIAS_I2C force power up*/ + uint32_t bias_core_folw_8m: 1; /*BIAS_CORE follow CK8M*/ + uint32_t bias_core_force_pd: 1; /*BIAS_CORE force power down*/ + uint32_t bias_core_force_pu: 1; /*BIAS_CORE force power up*/ + uint32_t xtl_force_iso: 1; + uint32_t pll_force_iso: 1; + uint32_t analog_force_iso: 1; + uint32_t xtl_force_noiso: 1; + uint32_t pll_force_noiso: 1; + uint32_t analog_force_noiso: 1; + uint32_t dg_wrap_force_rst: 1; /*digital wrap force reset in deep sleep*/ + uint32_t dg_wrap_force_norst: 1; /*digital core force no reset in deep sleep*/ + uint32_t sw_sys_rst: 1; /*SW system reset*/ + }; + uint32_t val; + } options0; + uint32_t slp_timer0; /*RTC sleep timer low 32 bits*/ + union { + struct { + uint32_t slp_val_hi: 16; /*RTC sleep timer high 16 bits*/ + uint32_t main_timer_alarm_en: 1; /*timer alarm enable bit*/ + uint32_t reserved17: 15; + }; + uint32_t val; + } slp_timer1; + union { + struct { + uint32_t reserved0: 30; + uint32_t valid: 1; /*To indicate the register is updated*/ + uint32_t update: 1; /*Set 1: to update register with RTC timer*/ + }; + uint32_t val; + } time_update; + uint32_t time0; /*RTC timer low 32 bits*/ + union { + struct { + uint32_t time_hi:16; /*RTC timer high 16 bits*/ + uint32_t reserved16: 16; + }; + uint32_t val; + } time1; + union { + struct { + uint32_t reserved0: 20; + uint32_t touch_wakeup_force_en: 1; /*touch controller force wake up*/ + uint32_t ulp_cp_wakeup_force_en: 1; /*ULP-coprocessor force wake up*/ + uint32_t apb2rtc_bridge_sel: 1; /*1: APB to RTC using bridge 0: APB to RTC using sync*/ + uint32_t touch_slp_timer_en: 1; /*touch timer enable bit*/ + uint32_t ulp_cp_slp_timer_en: 1; /*ULP-coprocessor timer enable bit*/ + uint32_t reserved25: 3; + uint32_t sdio_active_ind: 1; /*SDIO active indication*/ + uint32_t slp_wakeup: 1; /*sleep wakeup bit*/ + uint32_t slp_reject: 1; /*sleep reject bit*/ + uint32_t sleep_en: 1; /*sleep enable bit*/ + }; + uint32_t val; + } state0; + union { + struct { + uint32_t cpu_stall_en: 1; /*CPU stall enable bit*/ + uint32_t cpu_stall_wait: 5; /*CPU stall wait cycles in fast_clk_rtc*/ + uint32_t ck8m_wait: 8; /*CK8M wait cycles in slow_clk_rtc*/ + uint32_t xtl_buf_wait: 10; /*XTAL wait cycles in slow_clk_rtc*/ + uint32_t pll_buf_wait: 8; /*PLL wait cycles in slow_clk_rtc*/ + }; + uint32_t val; + } timer1; + union { + struct { + uint32_t reserved0: 15; + uint32_t ulpcp_touch_start_wait: 9; /*wait cycles in slow_clk_rtc before ULP-coprocessor / touch controller start to work*/ + uint32_t min_time_ck8m_off: 8; /*minimal cycles in slow_clk_rtc for CK8M in power down state*/ + }; + uint32_t val; + } timer2; + union { + struct { + uint32_t wifi_wait_timer: 9; + uint32_t wifi_powerup_timer: 7; + uint32_t rom_ram_wait_timer: 9; + uint32_t rom_ram_powerup_timer: 7; + }; + uint32_t val; + } timer3; + union { + struct { + uint32_t rtc_wait_timer: 9; + uint32_t rtc_powerup_timer: 7; + uint32_t dg_wrap_wait_timer: 9; + uint32_t dg_wrap_powerup_timer: 7; + }; + uint32_t val; + } timer4; + union { + struct { + uint32_t ulp_cp_subtimer_prediv: 8; + uint32_t min_slp_val: 8; /*minimal sleep cycles in slow_clk_rtc*/ + uint32_t rtcmem_wait_timer: 9; + uint32_t rtcmem_powerup_timer: 7; + }; + uint32_t val; + } timer5; + union { + struct { + uint32_t reserved0: 23; + uint32_t plla_force_pd: 1; /*PLLA force power down*/ + uint32_t plla_force_pu: 1; /*PLLA force power up*/ + uint32_t bbpll_cal_slp_start: 1; /*start BBPLL calibration during sleep*/ + uint32_t pvtmon_pu: 1; /*1: PVTMON power up otherwise power down*/ + uint32_t txrf_i2c_pu: 1; /*1: TXRF_I2C power up otherwise power down*/ + uint32_t rfrx_pbus_pu: 1; /*1: RFRX_PBUS power up otherwise power down*/ + uint32_t reserved29: 1; + uint32_t ckgen_i2c_pu: 1; /*1: CKGEN_I2C power up otherwise power down*/ + uint32_t pll_i2c_pu: 1; /*1: PLL_I2C power up otherwise power down*/ + }; + uint32_t val; + } ana_conf; + union { + struct { + uint32_t reset_cause_procpu: 6; /*reset cause of PRO CPU*/ + uint32_t reset_cause_appcpu: 6; /*reset cause of APP CPU*/ + uint32_t appcpu_stat_vector_sel: 1; /*APP CPU state vector sel*/ + uint32_t procpu_stat_vector_sel: 1; /*PRO CPU state vector sel*/ + uint32_t reserved14: 18; + }; + uint32_t val; + } reset_state; + union { + struct { + uint32_t wakeup_cause: 11; /*wakeup cause*/ + uint32_t rtc_wakeup_ena: 11; /*wakeup enable bitmap*/ + uint32_t gpio_wakeup_filter: 1; /*enable filter for gpio wakeup event*/ + uint32_t reserved23: 9; + }; + uint32_t val; + } wakeup_state; + union { + struct { + uint32_t slp_wakeup: 1; /*enable sleep wakeup interrupt*/ + uint32_t slp_reject: 1; /*enable sleep reject interrupt*/ + uint32_t sdio_idle: 1; /*enable SDIO idle interrupt*/ + uint32_t rtc_wdt: 1; /*enable RTC WDT interrupt*/ + uint32_t rtc_time_valid: 1; /*enable RTC time valid interrupt*/ + uint32_t rtc_ulp_cp: 1; /*enable ULP-coprocessor interrupt*/ + uint32_t rtc_touch: 1; /*enable touch interrupt*/ + uint32_t rtc_brown_out: 1; /*enable brown out interrupt*/ + uint32_t rtc_main_timer: 1; /*enable RTC main timer interrupt*/ + uint32_t reserved9: 23; + }; + uint32_t val; + } int_ena; + union { + struct { + uint32_t slp_wakeup: 1; /*sleep wakeup interrupt raw*/ + uint32_t slp_reject: 1; /*sleep reject interrupt raw*/ + uint32_t sdio_idle: 1; /*SDIO idle interrupt raw*/ + uint32_t rtc_wdt: 1; /*RTC WDT interrupt raw*/ + uint32_t rtc_time_valid: 1; /*RTC time valid interrupt raw*/ + uint32_t rtc_ulp_cp: 1; /*ULP-coprocessor interrupt raw*/ + uint32_t rtc_touch: 1; /*touch interrupt raw*/ + uint32_t rtc_brown_out: 1; /*brown out interrupt raw*/ + uint32_t rtc_main_timer: 1; /*RTC main timer interrupt raw*/ + uint32_t reserved9: 23; + }; + uint32_t val; + } int_raw; + union { + struct { + uint32_t slp_wakeup: 1; /*sleep wakeup interrupt state*/ + uint32_t slp_reject: 1; /*sleep reject interrupt state*/ + uint32_t sdio_idle: 1; /*SDIO idle interrupt state*/ + uint32_t rtc_wdt: 1; /*RTC WDT interrupt state*/ + uint32_t rtc_time_valid: 1; /*RTC time valid interrupt state*/ + uint32_t rtc_sar: 1; /*ULP-coprocessor interrupt state*/ + uint32_t rtc_touch: 1; /*touch interrupt state*/ + uint32_t rtc_brown_out: 1; /*brown out interrupt state*/ + uint32_t rtc_main_timer: 1; /*RTC main timer interrupt state*/ + uint32_t reserved9: 23; + }; + uint32_t val; + } int_st; + union { + struct { + uint32_t slp_wakeup: 1; /*Clear sleep wakeup interrupt state*/ + uint32_t slp_reject: 1; /*Clear sleep reject interrupt state*/ + uint32_t sdio_idle: 1; /*Clear SDIO idle interrupt state*/ + uint32_t rtc_wdt: 1; /*Clear RTC WDT interrupt state*/ + uint32_t rtc_time_valid: 1; /*Clear RTC time valid interrupt state*/ + uint32_t rtc_sar: 1; /*Clear ULP-coprocessor interrupt state*/ + uint32_t rtc_touch: 1; /*Clear touch interrupt state*/ + uint32_t rtc_brown_out: 1; /*Clear brown out interrupt state*/ + uint32_t rtc_main_timer: 1; /*Clear RTC main timer interrupt state*/ + uint32_t reserved9: 23; + }; + uint32_t val; + } int_clr; + uint32_t rtc_store0; /*32-bit general purpose retention register*/ + uint32_t rtc_store1; /*32-bit general purpose retention register*/ + uint32_t rtc_store2; /*32-bit general purpose retention register*/ + uint32_t rtc_store3; /*32-bit general purpose retention register*/ + union { + struct { + uint32_t reserved0: 30; + uint32_t ctr_lv: 1; /*0: power down XTAL at high level 1: power down XTAL at low level*/ + uint32_t ctr_en: 1; /*enable control XTAL by external pads*/ + }; + uint32_t val; + } ext_xtl_conf; + union { + struct { + uint32_t reserved0: 30; + uint32_t wakeup0_lv: 1; /*0: external wakeup at low level 1: external wakeup at high level*/ + uint32_t wakeup1_lv: 1; /*0: external wakeup at low level 1: external wakeup at high level*/ + }; + uint32_t val; + } ext_wakeup_conf; + union { + struct { + uint32_t reserved0: 24; + uint32_t gpio_reject_en: 1; /*enable GPIO reject*/ + uint32_t sdio_reject_en: 1; /*enable SDIO reject*/ + uint32_t light_slp_reject_en: 1; /*enable reject for light sleep*/ + uint32_t deep_slp_reject_en: 1; /*enable reject for deep sleep*/ + uint32_t reject_cause: 4; /*sleep reject cause*/ + }; + uint32_t val; + } slp_reject_conf; + union { + struct { + uint32_t reserved0: 29; + uint32_t cpusel_conf: 1; /*CPU sel option*/ + uint32_t cpuperiod_sel: 2; /*CPU period sel*/ + }; + uint32_t val; + } cpu_period_conf; + union { + struct { + uint32_t reserved0: 22; + uint32_t sdio_act_dnum:10; + }; + uint32_t val; + } sdio_act_conf; + union { + struct { + uint32_t reserved0: 4; + uint32_t ck8m_div: 2; /*CK8M_D256_OUT divider. 00: div128 01: div256 10: div512 11: div1024.*/ + uint32_t enb_ck8m: 1; /*disable CK8M and CK8M_D256_OUT*/ + uint32_t enb_ck8m_div: 1; /*1: CK8M_D256_OUT is actually CK8M 0: CK8M_D256_OUT is CK8M divided by 256*/ + uint32_t dig_xtal32k_en: 1; /*enable CK_XTAL_32K for digital core (no relationship with RTC core)*/ + uint32_t dig_clk8m_d256_en: 1; /*enable CK8M_D256_OUT for digital core (no relationship with RTC core)*/ + uint32_t dig_clk8m_en: 1; /*enable CK8M for digital core (no relationship with RTC core)*/ + uint32_t ck8m_dfreq_force: 1; + uint32_t ck8m_div_sel: 3; /*divider = reg_ck8m_div_sel + 1*/ + uint32_t xtal_force_nogating: 1; /*XTAL force no gating during sleep*/ + uint32_t ck8m_force_nogating: 1; /*CK8M force no gating during sleep*/ + uint32_t ck8m_dfreq: 8; /*CK8M_DFREQ*/ + uint32_t ck8m_force_pd: 1; /*CK8M force power down*/ + uint32_t ck8m_force_pu: 1; /*CK8M force power up*/ + uint32_t soc_clk_sel: 2; /*SOC clock sel. 0: XTAL 1: PLL 2: CK8M 3: APLL*/ + uint32_t fast_clk_rtc_sel: 1; /*fast_clk_rtc sel. 0: XTAL div 4 1: CK8M*/ + uint32_t ana_clk_rtc_sel: 2; /*slow_clk_rtc sel. 0: SLOW_CK 1: CK_XTAL_32K 2: CK8M_D256_OUT*/ + }; + uint32_t val; + } clk_conf; + union { + struct { + uint32_t reserved0: 21; + uint32_t sdio_pd_en: 1; /*power down SDIO_REG in sleep. Only active when reg_sdio_force = 0*/ + uint32_t sdio_force: 1; /*1: use SW option to control SDIO_REG 0: use state machine*/ + uint32_t sdio_tieh: 1; /*SW option for SDIO_TIEH. Only active when reg_sdio_force = 1*/ + uint32_t reg1p8_ready: 1; /*read only register for REG1P8_READY*/ + uint32_t drefl_sdio: 2; /*SW option for DREFL_SDIO. Only active when reg_sdio_force = 1*/ + uint32_t drefm_sdio: 2; /*SW option for DREFM_SDIO. Only active when reg_sdio_force = 1*/ + uint32_t drefh_sdio: 2; /*SW option for DREFH_SDIO. Only active when reg_sdio_force = 1*/ + uint32_t xpd_sdio: 1; /*SW option for XPD_SDIO_REG. Only active when reg_sdio_force = 1*/ + }; + uint32_t val; + } sdio_conf; + union { + struct { + uint32_t reserved0: 24; + uint32_t dbg_atten: 2; /*DBG_ATTEN*/ + uint32_t enb_sck_xtal: 1; /*ENB_SCK_XTAL*/ + uint32_t inc_heartbeat_refresh: 1; /*INC_HEARTBEAT_REFRESH*/ + uint32_t dec_heartbeat_period: 1; /*DEC_HEARTBEAT_PERIOD*/ + uint32_t inc_heartbeat_period: 1; /*INC_HEARTBEAT_PERIOD*/ + uint32_t dec_heartbeat_width: 1; /*DEC_HEARTBEAT_WIDTH*/ + uint32_t rst_bias_i2c: 1; /*RST_BIAS_I2C*/ + }; + uint32_t val; + } bias_conf; + union { + struct { + uint32_t reserved0: 7; + uint32_t sck_dcap_force: 1; /*N/A*/ + uint32_t dig_dbias_slp: 3; /*DIG_REG_DBIAS during sleep*/ + uint32_t dig_dbias_wak: 3; /*DIG_REG_DBIAS during wakeup*/ + uint32_t sck_dcap: 8; /*SCK_DCAP*/ + uint32_t rtc_dbias_slp: 3; /*RTC_DBIAS during sleep*/ + uint32_t rtc_dbias_wak: 3; /*RTC_DBIAS during wakeup*/ + uint32_t rtc_dboost_force_pd: 1; /*RTC_DBOOST force power down*/ + uint32_t rtc_dboost_force_pu: 1; /*RTC_DBOOST force power up*/ + uint32_t rtc_force_pd: 1; /*RTC_REG force power down (for RTC_REG power down means decrease the voltage to 0.8v or lower )*/ + uint32_t rtc_force_pu: 1; /*RTC_REG force power up*/ + }; + uint32_t val; + } rtc; + union { + struct { + uint32_t fastmem_force_noiso: 1; /*Fast RTC memory force no ISO*/ + uint32_t fastmem_force_iso: 1; /*Fast RTC memory force ISO*/ + uint32_t slowmem_force_noiso: 1; /*RTC memory force no ISO*/ + uint32_t slowmem_force_iso: 1; /*RTC memory force ISO*/ + uint32_t rtc_force_iso: 1; /*rtc_peri force ISO*/ + uint32_t force_noiso: 1; /*rtc_peri force no ISO*/ + uint32_t fastmem_folw_cpu: 1; /*1: Fast RTC memory PD following CPU 0: fast RTC memory PD following RTC state machine*/ + uint32_t fastmem_force_lpd: 1; /*Fast RTC memory force PD*/ + uint32_t fastmem_force_lpu: 1; /*Fast RTC memory force no PD*/ + uint32_t slowmem_folw_cpu: 1; /*1: RTC memory PD following CPU 0: RTC memory PD following RTC state machine*/ + uint32_t slowmem_force_lpd: 1; /*RTC memory force PD*/ + uint32_t slowmem_force_lpu: 1; /*RTC memory force no PD*/ + uint32_t fastmem_force_pd: 1; /*Fast RTC memory force power down*/ + uint32_t fastmem_force_pu: 1; /*Fast RTC memory force power up*/ + uint32_t fastmem_pd_en: 1; /*enable power down fast RTC memory in sleep*/ + uint32_t slowmem_force_pd: 1; /*RTC memory force power down*/ + uint32_t slowmem_force_pu: 1; /*RTC memory force power up*/ + uint32_t slowmem_pd_en: 1; /*enable power down RTC memory in sleep*/ + uint32_t pwc_force_pd: 1; /*rtc_peri force power down*/ + uint32_t pwc_force_pu: 1; /*rtc_peri force power up*/ + uint32_t pd_en: 1; /*enable power down rtc_peri in sleep*/ + uint32_t reserved21: 11; + }; + uint32_t val; + } rtc_pwc; + union { + struct { + uint32_t reserved0: 3; + uint32_t lslp_mem_force_pd: 1; /*memories in digital core force PD in sleep*/ + uint32_t lslp_mem_force_pu: 1; /*memories in digital core force no PD in sleep*/ + uint32_t rom0_force_pd: 1; /*ROM force power down*/ + uint32_t rom0_force_pu: 1; /*ROM force power up*/ + uint32_t inter_ram0_force_pd: 1; /*internal SRAM 0 force power down*/ + uint32_t inter_ram0_force_pu: 1; /*internal SRAM 0 force power up*/ + uint32_t inter_ram1_force_pd: 1; /*internal SRAM 1 force power down*/ + uint32_t inter_ram1_force_pu: 1; /*internal SRAM 1 force power up*/ + uint32_t inter_ram2_force_pd: 1; /*internal SRAM 2 force power down*/ + uint32_t inter_ram2_force_pu: 1; /*internal SRAM 2 force power up*/ + uint32_t inter_ram3_force_pd: 1; /*internal SRAM 3 force power down*/ + uint32_t inter_ram3_force_pu: 1; /*internal SRAM 3 force power up*/ + uint32_t inter_ram4_force_pd: 1; /*internal SRAM 4 force power down*/ + uint32_t inter_ram4_force_pu: 1; /*internal SRAM 4 force power up*/ + uint32_t wifi_force_pd: 1; /*wifi force power down*/ + uint32_t wifi_force_pu: 1; /*wifi force power up*/ + uint32_t dg_wrap_force_pd: 1; /*digital core force power down*/ + uint32_t dg_wrap_force_pu: 1; /*digital core force power up*/ + uint32_t reserved21: 3; + uint32_t rom0_pd_en: 1; /*enable power down ROM in sleep*/ + uint32_t inter_ram0_pd_en: 1; /*enable power down internal SRAM 0 in sleep*/ + uint32_t inter_ram1_pd_en: 1; /*enable power down internal SRAM 1 in sleep*/ + uint32_t inter_ram2_pd_en: 1; /*enable power down internal SRAM 2 in sleep*/ + uint32_t inter_ram3_pd_en: 1; /*enable power down internal SRAM 3 in sleep*/ + uint32_t inter_ram4_pd_en: 1; /*enable power down internal SRAM 4 in sleep*/ + uint32_t wifi_pd_en: 1; /*enable power down wifi in sleep*/ + uint32_t dg_wrap_pd_en: 1; /*enable power down digital core in sleep*/ + }; + uint32_t val; + } dig_pwc; + union { + struct { + uint32_t reserved0: 7; + uint32_t dig_iso_force_off: 1; + uint32_t dig_iso_force_on: 1; + uint32_t dg_pad_autohold: 1; /*read only register to indicate digital pad auto-hold status*/ + uint32_t clr_dg_pad_autohold: 1; /*wtite only register to clear digital pad auto-hold*/ + uint32_t dg_pad_autohold_en: 1; /*digital pad enable auto-hold*/ + uint32_t dg_pad_force_noiso: 1; /*digital pad force no ISO*/ + uint32_t dg_pad_force_iso: 1; /*digital pad force ISO*/ + uint32_t dg_pad_force_unhold: 1; /*digital pad force un-hold*/ + uint32_t dg_pad_force_hold: 1; /*digital pad force hold*/ + uint32_t rom0_force_iso: 1; /*ROM force ISO*/ + uint32_t rom0_force_noiso: 1; /*ROM force no ISO*/ + uint32_t inter_ram0_force_iso: 1; /*internal SRAM 0 force ISO*/ + uint32_t inter_ram0_force_noiso: 1; /*internal SRAM 0 force no ISO*/ + uint32_t inter_ram1_force_iso: 1; /*internal SRAM 1 force ISO*/ + uint32_t inter_ram1_force_noiso: 1; /*internal SRAM 1 force no ISO*/ + uint32_t inter_ram2_force_iso: 1; /*internal SRAM 2 force ISO*/ + uint32_t inter_ram2_force_noiso: 1; /*internal SRAM 2 force no ISO*/ + uint32_t inter_ram3_force_iso: 1; /*internal SRAM 3 force ISO*/ + uint32_t inter_ram3_force_noiso: 1; /*internal SRAM 3 force no ISO*/ + uint32_t inter_ram4_force_iso: 1; /*internal SRAM 4 force ISO*/ + uint32_t inter_ram4_force_noiso: 1; /*internal SRAM 4 force no ISO*/ + uint32_t wifi_force_iso: 1; /*wifi force ISO*/ + uint32_t wifi_force_noiso: 1; /*wifi force no ISO*/ + uint32_t dg_wrap_force_iso: 1; /*digital core force ISO*/ + uint32_t dg_wrap_force_noiso: 1; /*digital core force no ISO*/ + }; + uint32_t val; + } dig_iso; + union { + struct { + uint32_t reserved0: 7; + uint32_t pause_in_slp: 1; /*pause WDT in sleep*/ + uint32_t appcpu_reset_en: 1; /*enable WDT reset APP CPU*/ + uint32_t procpu_reset_en: 1; /*enable WDT reset PRO CPU*/ + uint32_t flashboot_mod_en: 1; /*enable WDT in flash boot*/ + uint32_t sys_reset_length: 3; /*system reset counter length*/ + uint32_t cpu_reset_length: 3; /*CPU reset counter length*/ + uint32_t level_int_en: 1; /*N/A*/ + uint32_t edge_int_en: 1; /*N/A*/ + uint32_t stg3: 3; /*1: interrupt stage en 2: CPU reset stage en 3: system reset stage en 4: RTC reset stage en*/ + uint32_t stg2: 3; /*1: interrupt stage en 2: CPU reset stage en 3: system reset stage en 4: RTC reset stage en*/ + uint32_t stg1: 3; /*1: interrupt stage en 2: CPU reset stage en 3: system reset stage en 4: RTC reset stage en*/ + uint32_t stg0: 3; /*1: interrupt stage en 2: CPU reset stage en 3: system reset stage en 4: RTC reset stage en*/ + uint32_t en: 1; /*enable RTC WDT*/ + }; + uint32_t val; + } wdt_config0; + uint32_t wdt_config1; /**/ + uint32_t wdt_config2; /**/ + uint32_t wdt_config3; /**/ + uint32_t wdt_config4; /**/ + union { + struct { + uint32_t reserved0: 31; + uint32_t feed: 1; + }; + uint32_t val; + } wdt_feed; + uint32_t wdt_wprotect; /**/ + union { + struct { + uint32_t reserved0: 29; + uint32_t ent_rtc: 1; /*ENT_RTC*/ + uint32_t dtest_rtc: 2; /*DTEST_RTC*/ + }; + uint32_t val; + } test_mux; + union { + struct { + uint32_t reserved0: 20; + uint32_t appcpu_c1: 6; /*{reg_sw_stall_appcpu_c1[5:0] reg_sw_stall_appcpu_c0[1:0]} == 0x86 will stall APP CPU*/ + uint32_t procpu_c1: 6; /*{reg_sw_stall_procpu_c1[5:0] reg_sw_stall_procpu_c0[1:0]} == 0x86 will stall PRO CPU*/ + }; + uint32_t val; + } sw_cpu_stall; + uint32_t store4; /*32-bit general purpose retention register*/ + uint32_t store5; /*32-bit general purpose retention register*/ + uint32_t store6; /*32-bit general purpose retention register*/ + uint32_t store7; /*32-bit general purpose retention register*/ + uint32_t diag0; /**/ + uint32_t diag1; /**/ + union { + struct { + uint32_t adc1_hold_force: 1; + uint32_t adc2_hold_force: 1; + uint32_t pdac1_hold_force: 1; + uint32_t pdac2_hold_force: 1; + uint32_t sense1_hold_force: 1; + uint32_t sense2_hold_force: 1; + uint32_t sense3_hold_force: 1; + uint32_t sense4_hold_force: 1; + uint32_t touch_pad0_hold_force: 1; + uint32_t touch_pad1_hold_force: 1; + uint32_t touch_pad2_hold_force: 1; + uint32_t touch_pad3_hold_force: 1; + uint32_t touch_pad4_hold_force: 1; + uint32_t touch_pad5_hold_force: 1; + uint32_t touch_pad6_hold_force: 1; + uint32_t touch_pad7_hold_force: 1; + uint32_t x32p_hold_force: 1; + uint32_t x32n_hold_force: 1; + uint32_t reserved18: 14; + }; + uint32_t val; + } hold_force; + union { + struct { + uint32_t ext_wakeup1_sel: 18; /*Bitmap to select RTC pads for ext wakeup1*/ + uint32_t ext_wakeup1_status_clr: 1; /*clear ext wakeup1 status*/ + uint32_t reserved19: 13; + }; + uint32_t val; + } ext_wakeup1; + union { + struct { + uint32_t ext_wakeup1_status:18; /*ext wakeup1 status*/ + uint32_t reserved18: 14; + }; + uint32_t val; + } ext_wakeup1_status; + union { + struct { + uint32_t reserved0: 14; + uint32_t close_flash_ena: 1; /*enable close flash when brown out happens*/ + uint32_t pd_rf_ena: 1; /*enable power down RF when brown out happens*/ + uint32_t rst_wait: 10; /*brown out reset wait cycles*/ + uint32_t rst_ena: 1; /*enable brown out reset*/ + uint32_t thres: 3; /*brown out threshold*/ + uint32_t ena: 1; /*enable brown out*/ + uint32_t det: 1; /*brown out detect*/ + }; + uint32_t val; + } brown_out; + uint32_t reserved_39; + uint32_t reserved_3d; + uint32_t reserved_41; + uint32_t reserved_45; + uint32_t reserved_49; + uint32_t reserved_4d; + union { + struct { + uint32_t date: 28; + uint32_t reserved28: 4; + }; + uint32_t val; + } date; +} rtc_cntl_dev_t; +#endif /* _SOC_RTC_CNTL_STRUCT_H_ */ diff --git a/tools/sdk/include/esp32/soc/rtc_io_reg.h b/tools/sdk/include/soc/soc/rtc_io_reg.h similarity index 98% rename from tools/sdk/include/esp32/soc/rtc_io_reg.h rename to tools/sdk/include/soc/soc/rtc_io_reg.h index 345bb804..f6d0dac7 100644 --- a/tools/sdk/include/esp32/soc/rtc_io_reg.h +++ b/tools/sdk/include/soc/soc/rtc_io_reg.h @@ -1,1951 +1,1953 @@ -// 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_DEBUG_SEL0_32K_XTAL 4 +#define RTC_IO_DEBUG_SEL0_150K_OSC 5 + +#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/soc/soc/rtc_io_struct.h b/tools/sdk/include/soc/soc/rtc_io_struct.h new file mode 100644 index 00000000..da27078c --- /dev/null +++ b/tools/sdk/include/soc/soc/rtc_io_struct.h @@ -0,0 +1,280 @@ +// 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_STRUCT_H_ +#define _SOC_RTC_IO_STRUCT_H_ +typedef volatile struct { + union { + struct { + uint32_t reserved0: 14; + uint32_t data:18; /*GPIO0~17 output value*/ + }; + uint32_t val; + } out; + union { + struct { + uint32_t reserved0: 14; + uint32_t w1ts:18; /*GPIO0~17 output value write 1 to set*/ + }; + uint32_t val; + } out_w1ts; + union { + struct { + uint32_t reserved0: 14; + uint32_t w1tc:18; /*GPIO0~17 output value write 1 to clear*/ + }; + uint32_t val; + } out_w1tc; + union { + struct { + uint32_t reserved0: 14; + uint32_t enable:18; /*GPIO0~17 output enable*/ + }; + uint32_t val; + } enable; + union { + struct { + uint32_t reserved0: 14; + uint32_t w1ts:18; /*GPIO0~17 output enable write 1 to set*/ + }; + uint32_t val; + } enable_w1ts; + union { + struct { + uint32_t reserved0: 14; + uint32_t w1tc:18; /*GPIO0~17 output enable write 1 to clear*/ + }; + uint32_t val; + } enable_w1tc; + union { + struct { + uint32_t reserved0: 14; + uint32_t status:18; /*GPIO0~17 interrupt status*/ + }; + uint32_t val; + } status; + union { + struct { + uint32_t reserved0: 14; + uint32_t w1ts:18; /*GPIO0~17 interrupt status write 1 to set*/ + }; + uint32_t val; + } status_w1ts; + union { + struct { + uint32_t reserved0: 14; + uint32_t w1tc:18; /*GPIO0~17 interrupt status write 1 to clear*/ + }; + uint32_t val; + } status_w1tc; + union { + struct { + uint32_t reserved0: 14; + uint32_t in:18; /*GPIO0~17 input value*/ + }; + uint32_t val; + } in_val; + union { + struct { + uint32_t reserved0: 2; + uint32_t pad_driver: 1; /*if set to 0: normal output if set to 1: open drain*/ + uint32_t reserved3: 4; + uint32_t int_type: 3; /*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*/ + uint32_t wakeup_enable: 1; /*GPIO wake up enable only available in light sleep*/ + uint32_t reserved11: 21; + }; + uint32_t val; + } pin[18]; + union { + struct { + uint32_t sel0: 5; + uint32_t sel1: 5; + uint32_t sel2: 5; + uint32_t sel3: 5; + uint32_t sel4: 5; + uint32_t no_gating_12m: 1; + uint32_t reserved26: 6; + }; + uint32_t val; + } debug_sel; + uint32_t dig_pad_hold; /*select the digital pad hold value.*/ + union { + struct { + uint32_t reserved0: 30; + uint32_t hall_phase: 1; /*Reverse phase of hall sensor*/ + uint32_t xpd_hall: 1; /*Power on hall sensor and connect to VP and VN*/ + }; + uint32_t val; + } hall_sens; + union { + struct { + uint32_t reserved0: 4; + uint32_t sense4_fun_ie: 1; /*the input enable of the pad*/ + uint32_t sense4_slp_ie: 1; /*the input enable of the pad in sleep status*/ + uint32_t sense4_slp_sel: 1; /*the sleep status selection signal of the pad*/ + uint32_t sense4_fun_sel: 2; /*the functional selection signal of the pad*/ + uint32_t sense3_fun_ie: 1; /*the input enable of the pad*/ + uint32_t sense3_slp_ie: 1; /*the input enable of the pad in sleep status*/ + uint32_t sense3_slp_sel: 1; /*the sleep status selection signal of the pad*/ + uint32_t sense3_fun_sel: 2; /*the functional selection signal of the pad*/ + uint32_t sense2_fun_ie: 1; /*the input enable of the pad*/ + uint32_t sense2_slp_ie: 1; /*the input enable of the pad in sleep status*/ + uint32_t sense2_slp_sel: 1; /*the sleep status selection signal of the pad*/ + uint32_t sense2_fun_sel: 2; /*the functional selection signal of the pad*/ + uint32_t sense1_fun_ie: 1; /*the input enable of the pad*/ + uint32_t sense1_slp_ie: 1; /*the input enable of the pad in sleep status*/ + uint32_t sense1_slp_sel: 1; /*the sleep status selection signal of the pad*/ + uint32_t sense1_fun_sel: 2; /*the functional selection signal of the pad*/ + uint32_t sense4_mux_sel: 1; /*�1� select the digital function �0�slection the rtc function*/ + uint32_t sense3_mux_sel: 1; /*�1� select the digital function �0�slection the rtc function*/ + uint32_t sense2_mux_sel: 1; /*�1� select the digital function �0�slection the rtc function*/ + uint32_t sense1_mux_sel: 1; /*�1� select the digital function �0�slection the rtc function*/ + uint32_t sense4_hold: 1; /*hold the current value of the output when setting the hold to �1�*/ + uint32_t sense3_hold: 1; /*hold the current value of the output when setting the hold to �1�*/ + uint32_t sense2_hold: 1; /*hold the current value of the output when setting the hold to �1�*/ + uint32_t sense1_hold: 1; /*hold the current value of the output when setting the hold to �1�*/ + }; + uint32_t val; + } sensor_pads; + union { + struct { + uint32_t reserved0: 18; + uint32_t adc2_fun_ie: 1; /*the input enable of the pad*/ + uint32_t adc2_slp_ie: 1; /*the input enable of the pad in sleep status*/ + uint32_t adc2_slp_sel: 1; /*the sleep status selection signal of the pad*/ + uint32_t adc2_fun_sel: 2; /*the functional selection signal of the pad*/ + uint32_t adc1_fun_ie: 1; /*the input enable of the pad*/ + uint32_t adc1_slp_ie: 1; /*the input enable of the pad in sleep status*/ + uint32_t adc1_slp_sel: 1; /*the sleep status selection signal of the pad*/ + uint32_t adc1_fun_sel: 2; /*the functional selection signal of the pad*/ + uint32_t adc2_mux_sel: 1; /*�1� select the digital function �0�slection the rtc function*/ + uint32_t adc1_mux_sel: 1; /*�1� select the digital function �0�slection the rtc function*/ + uint32_t adc2_hold: 1; /*hold the current value of the output when setting the hold to �1�*/ + uint32_t adc1_hold: 1; /*hold the current value of the output when setting the hold to �1�*/ + }; + uint32_t val; + } adc_pad; + union { + struct { + uint32_t reserved0: 10; + uint32_t dac_xpd_force: 1; /*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*/ + uint32_t fun_ie: 1; /*the input enable of the pad*/ + uint32_t slp_oe: 1; /*the output enable of the pad in sleep status*/ + uint32_t slp_ie: 1; /*the input enable of the pad in sleep status*/ + uint32_t slp_sel: 1; /*the sleep status selection signal of the pad*/ + uint32_t fun_sel: 2; /*the functional selection signal of the pad*/ + uint32_t mux_sel: 1; /*�1� select the digital function �0�slection the rtc function*/ + uint32_t xpd_dac: 1; /*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*/ + uint32_t dac: 8; /*PAD DAC1 control code.*/ + uint32_t rue: 1; /*the pull up enable of the pad*/ + uint32_t rde: 1; /*the pull down enable of the pad*/ + uint32_t hold: 1; /*hold the current value of the output when setting the hold to �1�*/ + uint32_t drv: 2; /*the driver strength of the pad*/ + }; + uint32_t val; + } pad_dac[2]; + union { + struct { + uint32_t reserved0: 1; + uint32_t dbias_xtal_32k: 2; /*32K XTAL self-bias reference control.*/ + uint32_t dres_xtal_32k: 2; /*32K XTAL resistor bias control.*/ + uint32_t x32p_fun_ie: 1; /*the input enable of the pad*/ + uint32_t x32p_slp_oe: 1; /*the output enable of the pad in sleep status*/ + uint32_t x32p_slp_ie: 1; /*the input enable of the pad in sleep status*/ + uint32_t x32p_slp_sel: 1; /*the sleep status selection signal of the pad*/ + uint32_t x32p_fun_sel: 2; /*the functional selection signal of the pad*/ + uint32_t x32n_fun_ie: 1; /*the input enable of the pad*/ + uint32_t x32n_slp_oe: 1; /*the output enable of the pad in sleep status*/ + uint32_t x32n_slp_ie: 1; /*the input enable of the pad in sleep status*/ + uint32_t x32n_slp_sel: 1; /*the sleep status selection signal of the pad*/ + uint32_t x32n_fun_sel: 2; /*the functional selection signal of the pad*/ + uint32_t x32p_mux_sel: 1; /*�1� select the digital function �0�slection the rtc function*/ + uint32_t x32n_mux_sel: 1; /*�1� select the digital function �0�slection the rtc function*/ + uint32_t xpd_xtal_32k: 1; /*Power up 32kHz crystal oscillator*/ + uint32_t dac_xtal_32k: 2; /*32K XTAL bias current DAC.*/ + uint32_t x32p_rue: 1; /*the pull up enable of the pad*/ + uint32_t x32p_rde: 1; /*the pull down enable of the pad*/ + uint32_t x32p_hold: 1; /*hold the current value of the output when setting the hold to �1�*/ + uint32_t x32p_drv: 2; /*the driver strength of the pad*/ + uint32_t x32n_rue: 1; /*the pull up enable of the pad*/ + uint32_t x32n_rde: 1; /*the pull down enable of the pad*/ + uint32_t x32n_hold: 1; /*hold the current value of the output when setting the hold to �1�*/ + uint32_t x32n_drv: 2; /*the driver strength of the pad*/ + }; + uint32_t val; + } xtal_32k_pad; + union { + struct { + uint32_t reserved0: 23; + uint32_t dcur: 2; /*touch sensor bias current. Should have option to tie with BIAS_SLEEP(When BIAS_SLEEP this setting is available*/ + uint32_t drange: 2; /*touch sensor saw wave voltage range.*/ + uint32_t drefl: 2; /*touch sensor saw wave bottom voltage.*/ + uint32_t drefh: 2; /*touch sensor saw wave top voltage.*/ + uint32_t xpd_bias: 1; /*touch sensor bias power on.*/ + }; + uint32_t val; + } touch_cfg; + union { + struct { + uint32_t reserved0: 12; + uint32_t to_gpio: 1; /*connect the rtc pad input to digital pad input �0� is availbale GPIO4*/ + uint32_t fun_ie: 1; /*the input enable of the pad*/ + uint32_t slp_oe: 1; /*the output enable of the pad in sleep status*/ + uint32_t slp_ie: 1; /*the input enable of the pad in sleep status*/ + uint32_t slp_sel: 1; /*the sleep status selection signal of the pad*/ + uint32_t fun_sel: 2; /*the functional selection signal of the pad*/ + uint32_t mux_sel: 1; /*�1� select the digital function �0�slection the rtc function*/ + uint32_t xpd: 1; /*touch sensor power on.*/ + uint32_t tie_opt: 1; /*default touch sensor tie option. 0: tie low 1: tie high.*/ + uint32_t start: 1; /*start touch sensor.*/ + uint32_t dac: 3; /*touch sensor slope control. 3-bit for each touch panel default 100.*/ + uint32_t reserved26: 1; + uint32_t rue: 1; /*the pull up enable of the pad*/ + uint32_t rde: 1; /*the pull down enable of the pad*/ + uint32_t drv: 2; /*the driver strength of the pad*/ + uint32_t hold: 1; /*hold the current value of the output when setting the hold to �1�*/ + }; + uint32_t val; + } touch_pad[10]; + union { + struct { + uint32_t reserved0: 27; + uint32_t sel: 5; /*select the wakeup source �0� select GPIO0 �1� select GPIO2 ...�17� select GPIO17*/ + }; + uint32_t val; + } ext_wakeup0; + union { + struct { + uint32_t reserved0: 27; + uint32_t sel: 5; /*select the external xtl power source �0� select GPIO0 �1� select GPIO2 ...�17� select GPIO17*/ + }; + uint32_t val; + } xtl_ext_ctr; + union { + struct { + uint32_t reserved0: 23; + uint32_t debug_bit_sel: 5; + uint32_t scl_sel: 2; /*�0� using TOUCH_PAD[0] as i2c clk �1� using TOUCH_PAD[2] as i2c clk*/ + uint32_t sda_sel: 2; /*�0� using TOUCH_PAD[1] as i2c sda �1� using TOUCH_PAD[3] as i2c sda*/ + }; + uint32_t val; + } sar_i2c_io; + union { + struct { + uint32_t date: 28; /*date*/ + uint32_t reserved28: 4; + }; + uint32_t val; + } date; +} rtc_io_dev_t; +#endif /* _SOC_RTC_IO_STRUCT_H_ */ diff --git a/tools/sdk/include/esp32/soc/sdmmc_reg.h b/tools/sdk/include/soc/soc/sdmmc_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/sdmmc_reg.h rename to tools/sdk/include/soc/soc/sdmmc_reg.h diff --git a/tools/sdk/include/esp32/soc/sdmmc_struct.h b/tools/sdk/include/soc/soc/sdmmc_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/sdmmc_struct.h rename to tools/sdk/include/soc/soc/sdmmc_struct.h diff --git a/tools/sdk/include/esp32/soc/sens_reg.h b/tools/sdk/include/soc/soc/sens_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/sens_reg.h rename to tools/sdk/include/soc/soc/sens_reg.h diff --git a/tools/sdk/include/esp32/soc/soc.h b/tools/sdk/include/soc/soc/soc.h old mode 100755 new mode 100644 similarity index 99% rename from tools/sdk/include/esp32/soc/soc.h rename to tools/sdk/include/soc/soc/soc.h index 9b0c82fc..bcb49a66 --- a/tools/sdk/include/esp32/soc/soc.h +++ b/tools/sdk/include/soc/soc/soc.h @@ -179,11 +179,14 @@ #define DR_REG_LEDC_BASE 0x3ff59000 #define DR_REG_EFUSE_BASE 0x3ff5A000 #define DR_REG_SPI_ENCRYPT_BASE 0x3ff5B000 +#define DR_REG_NRX_BASE 0x3ff5CC00 +#define DR_REG_BB_BASE 0x3ff5D000 #define DR_REG_PWM_BASE 0x3ff5E000 #define DR_REG_TIMERGROUP0_BASE 0x3ff5F000 #define DR_REG_TIMERGROUP1_BASE 0x3ff60000 #define DR_REG_SPI2_BASE 0x3ff64000 #define DR_REG_SPI3_BASE 0x3ff65000 +#define DR_REG_APB_CTRL_BASE 0x3ff66000 #define DR_REG_I2C1_EXT_BASE 0x3ff67000 #define DR_REG_SDMMC_BASE 0x3ff68000 #define DR_REG_EMAC_BASE 0x3ff69000 diff --git a/tools/sdk/include/esp32/soc/soc_ulp.h b/tools/sdk/include/soc/soc/soc_ulp.h similarity index 100% rename from tools/sdk/include/esp32/soc/soc_ulp.h rename to tools/sdk/include/soc/soc/soc_ulp.h diff --git a/tools/sdk/include/esp32/soc/spi_reg.h b/tools/sdk/include/soc/soc/spi_reg.h similarity index 97% rename from tools/sdk/include/esp32/soc/spi_reg.h rename to tools/sdk/include/soc/soc/spi_reg.h index 0cc27b89..fac2965c 100644 --- a/tools/sdk/include/esp32/soc/spi_reg.h +++ b/tools/sdk/include/soc/soc/spi_reg.h @@ -1,1713 +1,1713 @@ -// 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 __SPI_REG_H__ -#define __SPI_REG_H__ - - -#include "soc.h" -#define REG_SPI_BASE(i) (DR_REG_SPI1_BASE + (((i)>1) ? (((i)* 0x1000) + 0x20000) : (((~(i)) & 1)* 0x1000 ))) - -#define SPI_CMD_REG(i) (REG_SPI_BASE(i) + 0x0) -/* SPI_FLASH_READ : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: Read flash enable. Read flash operation will be triggered when - the bit is set. The bit will be cleared once the operation done. 1: enable 0: disable.*/ -#define SPI_FLASH_READ (BIT(31)) -#define SPI_FLASH_READ_M (BIT(31)) -#define SPI_FLASH_READ_V 0x1 -#define SPI_FLASH_READ_S 31 -/* SPI_FLASH_WREN : R/W ;bitpos:[30] ;default: 1'b0 ; */ -/*description: Write flash enable. Write enable command will be sent when the - bit is set. The bit will be cleared once the operation done. 1: enable 0: disable.*/ -#define SPI_FLASH_WREN (BIT(30)) -#define SPI_FLASH_WREN_M (BIT(30)) -#define SPI_FLASH_WREN_V 0x1 -#define SPI_FLASH_WREN_S 30 -/* SPI_FLASH_WRDI : R/W ;bitpos:[29] ;default: 1'b0 ; */ -/*description: Write flash disable. Write disable command will be sent when - the bit is set. The bit will be cleared once the operation done. 1: enable 0: disable.*/ -#define SPI_FLASH_WRDI (BIT(29)) -#define SPI_FLASH_WRDI_M (BIT(29)) -#define SPI_FLASH_WRDI_V 0x1 -#define SPI_FLASH_WRDI_S 29 -/* SPI_FLASH_RDID : R/W ;bitpos:[28] ;default: 1'b0 ; */ -/*description: Read JEDEC ID . Read ID command will be sent when the bit is - set. The bit will be cleared once the operation done. 1: enable 0: disable.*/ -#define SPI_FLASH_RDID (BIT(28)) -#define SPI_FLASH_RDID_M (BIT(28)) -#define SPI_FLASH_RDID_V 0x1 -#define SPI_FLASH_RDID_S 28 -/* SPI_FLASH_RDSR : R/W ;bitpos:[27] ;default: 1'b0 ; */ -/*description: Read status register-1. Read status operation will be triggered - when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ -#define SPI_FLASH_RDSR (BIT(27)) -#define SPI_FLASH_RDSR_M (BIT(27)) -#define SPI_FLASH_RDSR_V 0x1 -#define SPI_FLASH_RDSR_S 27 -/* SPI_FLASH_WRSR : R/W ;bitpos:[26] ;default: 1'b0 ; */ -/*description: Write status register enable. Write status operation will - be triggered when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ -#define SPI_FLASH_WRSR (BIT(26)) -#define SPI_FLASH_WRSR_M (BIT(26)) -#define SPI_FLASH_WRSR_V 0x1 -#define SPI_FLASH_WRSR_S 26 -/* SPI_FLASH_PP : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: Page program enable(1 byte ~256 bytes data to be programmed). - Page program operation will be triggered when the bit is set. The bit will be cleared once the operation done .1: enable 0: disable.*/ -#define SPI_FLASH_PP (BIT(25)) -#define SPI_FLASH_PP_M (BIT(25)) -#define SPI_FLASH_PP_V 0x1 -#define SPI_FLASH_PP_S 25 -/* SPI_FLASH_SE : R/W ;bitpos:[24] ;default: 1'b0 ; */ -/*description: Sector erase enable. A 4KB sector is erased via SPI command 20H. Sector erase operation will be triggered - when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ -#define SPI_FLASH_SE (BIT(24)) -#define SPI_FLASH_SE_M (BIT(24)) -#define SPI_FLASH_SE_V 0x1 -#define SPI_FLASH_SE_S 24 -/* SPI_FLASH_BE : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: Block erase enable. A 64KB block is erased via SPI command D8H. Block erase operation will be triggered - when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ -#define SPI_FLASH_BE (BIT(23)) -#define SPI_FLASH_BE_M (BIT(23)) -#define SPI_FLASH_BE_V 0x1 -#define SPI_FLASH_BE_S 23 -/* SPI_FLASH_CE : R/W ;bitpos:[22] ;default: 1'b0 ; */ -/*description: Chip erase enable. Chip erase operation will be triggered when - the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ -#define SPI_FLASH_CE (BIT(22)) -#define SPI_FLASH_CE_M (BIT(22)) -#define SPI_FLASH_CE_V 0x1 -#define SPI_FLASH_CE_S 22 -/* SPI_FLASH_DP : R/W ;bitpos:[21] ;default: 1'b0 ; */ -/*description: Drive Flash into power down. An operation will be triggered - when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ -#define SPI_FLASH_DP (BIT(21)) -#define SPI_FLASH_DP_M (BIT(21)) -#define SPI_FLASH_DP_V 0x1 -#define SPI_FLASH_DP_S 21 -/* SPI_FLASH_RES : R/W ;bitpos:[20] ;default: 1'b0 ; */ -/*description: This bit combined with reg_resandres bit releases Flash from - the power-down state or high performance mode and obtains the devices ID. The bit will be cleared once the operation done.1: enable 0: disable.*/ -#define SPI_FLASH_RES (BIT(20)) -#define SPI_FLASH_RES_M (BIT(20)) -#define SPI_FLASH_RES_V 0x1 -#define SPI_FLASH_RES_S 20 -/* SPI_FLASH_HPM : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: Drive Flash into high performance mode. The bit will be cleared - once the operation done.1: enable 0: disable.*/ -#define SPI_FLASH_HPM (BIT(19)) -#define SPI_FLASH_HPM_M (BIT(19)) -#define SPI_FLASH_HPM_V 0x1 -#define SPI_FLASH_HPM_S 19 -/* SPI_USR : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: User define command enable. An operation will be triggered when - the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ -#define SPI_USR (BIT(18)) -#define SPI_USR_M (BIT(18)) -#define SPI_USR_V 0x1 -#define SPI_USR_S 18 -/* SPI_FLASH_PES : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: program erase suspend bit program erase suspend operation will - be triggered when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ -#define SPI_FLASH_PES (BIT(17)) -#define SPI_FLASH_PES_M (BIT(17)) -#define SPI_FLASH_PES_V 0x1 -#define SPI_FLASH_PES_S 17 -/* SPI_FLASH_PER : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: program erase resume bit program erase suspend operation will - be triggered when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ -#define SPI_FLASH_PER (BIT(16)) -#define SPI_FLASH_PER_M (BIT(16)) -#define SPI_FLASH_PER_V 0x1 -#define SPI_FLASH_PER_S 16 - -#define SPI_ADDR_REG(i) (REG_SPI_BASE(i) + 0x4) +// 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 __SPI_REG_H__ +#define __SPI_REG_H__ + + +#include "soc.h" +#define REG_SPI_BASE(i) (DR_REG_SPI1_BASE + (((i)>1) ? (((i)* 0x1000) + 0x20000) : (((~(i)) & 1)* 0x1000 ))) + +#define SPI_CMD_REG(i) (REG_SPI_BASE(i) + 0x0) +/* SPI_FLASH_READ : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: Read flash enable. Read flash operation will be triggered when + the bit is set. The bit will be cleared once the operation done. 1: enable 0: disable.*/ +#define SPI_FLASH_READ (BIT(31)) +#define SPI_FLASH_READ_M (BIT(31)) +#define SPI_FLASH_READ_V 0x1 +#define SPI_FLASH_READ_S 31 +/* SPI_FLASH_WREN : R/W ;bitpos:[30] ;default: 1'b0 ; */ +/*description: Write flash enable. Write enable command will be sent when the + bit is set. The bit will be cleared once the operation done. 1: enable 0: disable.*/ +#define SPI_FLASH_WREN (BIT(30)) +#define SPI_FLASH_WREN_M (BIT(30)) +#define SPI_FLASH_WREN_V 0x1 +#define SPI_FLASH_WREN_S 30 +/* SPI_FLASH_WRDI : R/W ;bitpos:[29] ;default: 1'b0 ; */ +/*description: Write flash disable. Write disable command will be sent when + the bit is set. The bit will be cleared once the operation done. 1: enable 0: disable.*/ +#define SPI_FLASH_WRDI (BIT(29)) +#define SPI_FLASH_WRDI_M (BIT(29)) +#define SPI_FLASH_WRDI_V 0x1 +#define SPI_FLASH_WRDI_S 29 +/* SPI_FLASH_RDID : R/W ;bitpos:[28] ;default: 1'b0 ; */ +/*description: Read JEDEC ID . Read ID command will be sent when the bit is + set. The bit will be cleared once the operation done. 1: enable 0: disable.*/ +#define SPI_FLASH_RDID (BIT(28)) +#define SPI_FLASH_RDID_M (BIT(28)) +#define SPI_FLASH_RDID_V 0x1 +#define SPI_FLASH_RDID_S 28 +/* SPI_FLASH_RDSR : R/W ;bitpos:[27] ;default: 1'b0 ; */ +/*description: Read status register-1. Read status operation will be triggered + when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ +#define SPI_FLASH_RDSR (BIT(27)) +#define SPI_FLASH_RDSR_M (BIT(27)) +#define SPI_FLASH_RDSR_V 0x1 +#define SPI_FLASH_RDSR_S 27 +/* SPI_FLASH_WRSR : R/W ;bitpos:[26] ;default: 1'b0 ; */ +/*description: Write status register enable. Write status operation will + be triggered when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ +#define SPI_FLASH_WRSR (BIT(26)) +#define SPI_FLASH_WRSR_M (BIT(26)) +#define SPI_FLASH_WRSR_V 0x1 +#define SPI_FLASH_WRSR_S 26 +/* SPI_FLASH_PP : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: Page program enable(1 byte ~256 bytes data to be programmed). + Page program operation will be triggered when the bit is set. The bit will be cleared once the operation done .1: enable 0: disable.*/ +#define SPI_FLASH_PP (BIT(25)) +#define SPI_FLASH_PP_M (BIT(25)) +#define SPI_FLASH_PP_V 0x1 +#define SPI_FLASH_PP_S 25 +/* SPI_FLASH_SE : R/W ;bitpos:[24] ;default: 1'b0 ; */ +/*description: Sector erase enable. A 4KB sector is erased via SPI command 20H. Sector erase operation will be triggered + when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ +#define SPI_FLASH_SE (BIT(24)) +#define SPI_FLASH_SE_M (BIT(24)) +#define SPI_FLASH_SE_V 0x1 +#define SPI_FLASH_SE_S 24 +/* SPI_FLASH_BE : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: Block erase enable. A 64KB block is erased via SPI command D8H. Block erase operation will be triggered + when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ +#define SPI_FLASH_BE (BIT(23)) +#define SPI_FLASH_BE_M (BIT(23)) +#define SPI_FLASH_BE_V 0x1 +#define SPI_FLASH_BE_S 23 +/* SPI_FLASH_CE : R/W ;bitpos:[22] ;default: 1'b0 ; */ +/*description: Chip erase enable. Chip erase operation will be triggered when + the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ +#define SPI_FLASH_CE (BIT(22)) +#define SPI_FLASH_CE_M (BIT(22)) +#define SPI_FLASH_CE_V 0x1 +#define SPI_FLASH_CE_S 22 +/* SPI_FLASH_DP : R/W ;bitpos:[21] ;default: 1'b0 ; */ +/*description: Drive Flash into power down. An operation will be triggered + when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ +#define SPI_FLASH_DP (BIT(21)) +#define SPI_FLASH_DP_M (BIT(21)) +#define SPI_FLASH_DP_V 0x1 +#define SPI_FLASH_DP_S 21 +/* SPI_FLASH_RES : R/W ;bitpos:[20] ;default: 1'b0 ; */ +/*description: This bit combined with reg_resandres bit releases Flash from + the power-down state or high performance mode and obtains the devices ID. The bit will be cleared once the operation done.1: enable 0: disable.*/ +#define SPI_FLASH_RES (BIT(20)) +#define SPI_FLASH_RES_M (BIT(20)) +#define SPI_FLASH_RES_V 0x1 +#define SPI_FLASH_RES_S 20 +/* SPI_FLASH_HPM : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: Drive Flash into high performance mode. The bit will be cleared + once the operation done.1: enable 0: disable.*/ +#define SPI_FLASH_HPM (BIT(19)) +#define SPI_FLASH_HPM_M (BIT(19)) +#define SPI_FLASH_HPM_V 0x1 +#define SPI_FLASH_HPM_S 19 +/* SPI_USR : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: User define command enable. An operation will be triggered when + the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ +#define SPI_USR (BIT(18)) +#define SPI_USR_M (BIT(18)) +#define SPI_USR_V 0x1 +#define SPI_USR_S 18 +/* SPI_FLASH_PES : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: program erase suspend bit program erase suspend operation will + be triggered when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ +#define SPI_FLASH_PES (BIT(17)) +#define SPI_FLASH_PES_M (BIT(17)) +#define SPI_FLASH_PES_V 0x1 +#define SPI_FLASH_PES_S 17 +/* SPI_FLASH_PER : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: program erase resume bit program erase suspend operation will + be triggered when the bit is set. The bit will be cleared once the operation done.1: enable 0: disable.*/ +#define SPI_FLASH_PER (BIT(16)) +#define SPI_FLASH_PER_M (BIT(16)) +#define SPI_FLASH_PER_V 0x1 +#define SPI_FLASH_PER_S 16 + +#define SPI_ADDR_REG(i) (REG_SPI_BASE(i) + 0x4) //The CSV actually is wrong here. It indicates that the lower 8 bits of this register are reserved. This is not true, //all 32 bits of SPI_ADDR_REG are usable/used. - -#define SPI_CTRL_REG(i) (REG_SPI_BASE(i) + 0x8) -/* SPI_WR_BIT_ORDER : R/W ;bitpos:[26] ;default: 1'b0 ; */ -/*description: In command address write-data (MOSI) phases 1: LSB firs 0: MSB first*/ -#define SPI_WR_BIT_ORDER (BIT(26)) -#define SPI_WR_BIT_ORDER_M (BIT(26)) -#define SPI_WR_BIT_ORDER_V 0x1 -#define SPI_WR_BIT_ORDER_S 26 -/* SPI_RD_BIT_ORDER : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: In read-data (MISO) phase 1: LSB first 0: MSB first*/ -#define SPI_RD_BIT_ORDER (BIT(25)) -#define SPI_RD_BIT_ORDER_M (BIT(25)) -#define SPI_RD_BIT_ORDER_V 0x1 -#define SPI_RD_BIT_ORDER_S 25 -/* SPI_FREAD_QIO : R/W ;bitpos:[24] ;default: 1'b0 ; */ -/*description: In the read operations address phase and read-data phase apply - 4 signals. 1: enable 0: disable.*/ -#define SPI_FREAD_QIO (BIT(24)) -#define SPI_FREAD_QIO_M (BIT(24)) -#define SPI_FREAD_QIO_V 0x1 -#define SPI_FREAD_QIO_S 24 -/* SPI_FREAD_DIO : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: In the read operations address phase and read-data phase apply - 2 signals. 1: enable 0: disable.*/ -#define SPI_FREAD_DIO (BIT(23)) -#define SPI_FREAD_DIO_M (BIT(23)) -#define SPI_FREAD_DIO_V 0x1 -#define SPI_FREAD_DIO_S 23 -/* SPI_WRSR_2B : R/W ;bitpos:[22] ;default: 1'b0 ; */ -/*description: two bytes data will be written to status register when it is - set. 1: enable 0: disable.*/ -#define SPI_WRSR_2B (BIT(22)) -#define SPI_WRSR_2B_M (BIT(22)) -#define SPI_WRSR_2B_V 0x1 -#define SPI_WRSR_2B_S 22 -/* SPI_WP_REG : R/W ;bitpos:[21] ;default: 1'b1 ; */ -/*description: Write protect signal output when SPI is idle. 1: output high 0: output low.*/ -#define SPI_WP_REG (BIT(21)) -#define SPI_WP_REG_M (BIT(21)) -#define SPI_WP_REG_V 0x1 -#define SPI_WP_REG_S 21 -/* SPI_FREAD_QUAD : R/W ;bitpos:[20] ;default: 1'b0 ; */ -/*description: In the read operations read-data phase apply 4 signals. 1: enable 0: disable.*/ -#define SPI_FREAD_QUAD (BIT(20)) -#define SPI_FREAD_QUAD_M (BIT(20)) -#define SPI_FREAD_QUAD_V 0x1 -#define SPI_FREAD_QUAD_S 20 -/* SPI_RESANDRES : R/W ;bitpos:[15] ;default: 1'b1 ; */ -/*description: The Device ID is read out to SPI_RD_STATUS register, this bit - combine with spi_flash_res bit. 1: enable 0: disable.*/ -#define SPI_RESANDRES (BIT(15)) -#define SPI_RESANDRES_M (BIT(15)) -#define SPI_RESANDRES_V 0x1 -#define SPI_RESANDRES_S 15 -/* SPI_FREAD_DUAL : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: In the read operations read-data phase apply 2 signals. 1: enable 0: disable.*/ -#define SPI_FREAD_DUAL (BIT(14)) -#define SPI_FREAD_DUAL_M (BIT(14)) -#define SPI_FREAD_DUAL_V 0x1 -#define SPI_FREAD_DUAL_S 14 -/* SPI_FASTRD_MODE : R/W ;bitpos:[13] ;default: 1'b1 ; */ -/*description: This bit enable the bits: spi_fread_qio spi_fread_dio spi_fread_qout - and spi_fread_dout. 1: enable 0: disable.*/ -#define SPI_FASTRD_MODE (BIT(13)) -#define SPI_FASTRD_MODE_M (BIT(13)) -#define SPI_FASTRD_MODE_V 0x1 -#define SPI_FASTRD_MODE_S 13 -/* SPI_WAIT_FLASH_IDLE_EN : R/W ;bitpos:[12] ;default: 1'b0 ; */ -/*description: wait flash idle when program flash or erase flash. 1: enable 0: disable.*/ -#define SPI_WAIT_FLASH_IDLE_EN (BIT(12)) -#define SPI_WAIT_FLASH_IDLE_EN_M (BIT(12)) -#define SPI_WAIT_FLASH_IDLE_EN_V 0x1 -#define SPI_WAIT_FLASH_IDLE_EN_S 12 -/* SPI_TX_CRC_EN : R/W ;bitpos:[11] ;default: 1'b0 ; */ -/*description: For SPI1 enable crc32 when writing encrypted data to flash. - 1: enable 0:disable*/ -#define SPI_TX_CRC_EN (BIT(11)) -#define SPI_TX_CRC_EN_M (BIT(11)) -#define SPI_TX_CRC_EN_V 0x1 -#define SPI_TX_CRC_EN_S 11 -/* SPI_FCS_CRC_EN : R/W ;bitpos:[10] ;default: 1'b1 ; */ -/*description: For SPI1 initialize crc32 module before writing encrypted data - to flash. Active low.*/ -#define SPI_FCS_CRC_EN (BIT(10)) -#define SPI_FCS_CRC_EN_M (BIT(10)) -#define SPI_FCS_CRC_EN_V 0x1 -#define SPI_FCS_CRC_EN_S 10 - -#define SPI_CTRL1_REG(i) (REG_SPI_BASE(i) + 0xC) -/* SPI_CS_HOLD_DELAY : R/W ;bitpos:[31:28] ;default: 4'h5 ; */ -/*description: SPI cs signal is delayed by spi clock cycles*/ -#define SPI_CS_HOLD_DELAY 0x0000000F -#define SPI_CS_HOLD_DELAY_M ((SPI_CS_HOLD_DELAY_V)<<(SPI_CS_HOLD_DELAY_S)) -#define SPI_CS_HOLD_DELAY_V 0xF -#define SPI_CS_HOLD_DELAY_S 28 -/* SPI_CS_HOLD_DELAY_RES : R/W ;bitpos:[27:16] ;default: 12'hfff ; */ -/*description: Delay cycles of resume Flash when resume Flash is enable by spi clock.*/ -#define SPI_CS_HOLD_DELAY_RES 0x00000FFF -#define SPI_CS_HOLD_DELAY_RES_M ((SPI_CS_HOLD_DELAY_RES_V)<<(SPI_CS_HOLD_DELAY_RES_S)) -#define SPI_CS_HOLD_DELAY_RES_V 0xFFF -#define SPI_CS_HOLD_DELAY_RES_S 16 - -#define SPI_RD_STATUS_REG(i) (REG_SPI_BASE(i) + 0x10) -/* SPI_STATUS_EXT : R/W ;bitpos:[31:24] ;default: 8'h00 ; */ -/*description: In the slave mode,it is the status for master to read out.*/ -#define SPI_STATUS_EXT 0x000000FF -#define SPI_STATUS_EXT_M ((SPI_STATUS_EXT_V)<<(SPI_STATUS_EXT_S)) -#define SPI_STATUS_EXT_V 0xFF -#define SPI_STATUS_EXT_S 24 -/* SPI_WB_MODE : R/W ;bitpos:[23:16] ;default: 8'h00 ; */ -/*description: Mode bits in the flash fast read mode, it is combined with spi_fastrd_mode bit.*/ -#define SPI_WB_MODE 0x000000FF -#define SPI_WB_MODE_M ((SPI_WB_MODE_V)<<(SPI_WB_MODE_S)) -#define SPI_WB_MODE_V 0xFF -#define SPI_WB_MODE_S 16 -/* SPI_STATUS : R/W ;bitpos:[15:0] ;default: 16'b0 ; */ -/*description: In the slave mode, it is the status for master to read out.*/ -#define SPI_STATUS 0x0000FFFF -#define SPI_STATUS_M ((SPI_STATUS_V)<<(SPI_STATUS_S)) -#define SPI_STATUS_V 0xFFFF -#define SPI_STATUS_S 0 - -#define SPI_CTRL2_REG(i) (REG_SPI_BASE(i) + 0x14) -/* SPI_CS_DELAY_NUM : R/W ;bitpos:[31:28] ;default: 4'h0 ; */ -/*description: spi_cs signal is delayed by system clock cycles*/ -#define SPI_CS_DELAY_NUM 0x0000000F -#define SPI_CS_DELAY_NUM_M ((SPI_CS_DELAY_NUM_V)<<(SPI_CS_DELAY_NUM_S)) -#define SPI_CS_DELAY_NUM_V 0xF -#define SPI_CS_DELAY_NUM_S 28 -/* SPI_CS_DELAY_MODE : R/W ;bitpos:[27:26] ;default: 2'h0 ; */ -/*description: spi_cs signal is delayed by spi_clk . 0: zero 1: if spi_ck_out_edge - or spi_ck_i_edge is set 1 delayed by half cycle else delayed by one cycle 2: if spi_ck_out_edge or spi_ck_i_edge is set 1 delayed by one cycle else delayed by half cycle 3: delayed one cycle*/ -#define SPI_CS_DELAY_MODE 0x00000003 -#define SPI_CS_DELAY_MODE_M ((SPI_CS_DELAY_MODE_V)<<(SPI_CS_DELAY_MODE_S)) -#define SPI_CS_DELAY_MODE_V 0x3 -#define SPI_CS_DELAY_MODE_S 26 -/* SPI_MOSI_DELAY_NUM : R/W ;bitpos:[25:23] ;default: 3'h0 ; */ -/*description: MOSI signals are delayed by system clock cycles*/ -#define SPI_MOSI_DELAY_NUM 0x00000007 -#define SPI_MOSI_DELAY_NUM_M ((SPI_MOSI_DELAY_NUM_V)<<(SPI_MOSI_DELAY_NUM_S)) -#define SPI_MOSI_DELAY_NUM_V 0x7 -#define SPI_MOSI_DELAY_NUM_S 23 -/* SPI_MOSI_DELAY_MODE : R/W ;bitpos:[22:21] ;default: 2'h0 ; */ -/*description: MOSI signals are delayed by spi_clk. 0: zero 1: if spi_ck_out_edge - or spi_ck_i_edge is set 1 delayed by half cycle else delayed by one cycle 2: if spi_ck_out_edge or spi_ck_i_edge is set 1 delayed by one cycle else delayed by half cycle 3: delayed one cycle*/ -#define SPI_MOSI_DELAY_MODE 0x00000003 -#define SPI_MOSI_DELAY_MODE_M ((SPI_MOSI_DELAY_MODE_V)<<(SPI_MOSI_DELAY_MODE_S)) -#define SPI_MOSI_DELAY_MODE_V 0x3 -#define SPI_MOSI_DELAY_MODE_S 21 -/* SPI_MISO_DELAY_NUM : R/W ;bitpos:[20:18] ;default: 3'h0 ; */ -/*description: MISO signals are delayed by system clock cycles*/ -#define SPI_MISO_DELAY_NUM 0x00000007 -#define SPI_MISO_DELAY_NUM_M ((SPI_MISO_DELAY_NUM_V)<<(SPI_MISO_DELAY_NUM_S)) -#define SPI_MISO_DELAY_NUM_V 0x7 -#define SPI_MISO_DELAY_NUM_S 18 -/* SPI_MISO_DELAY_MODE : R/W ;bitpos:[17:16] ;default: 2'h0 ; */ -/*description: MISO signals are delayed by spi_clk. 0: zero 1: if spi_ck_out_edge - or spi_ck_i_edge is set 1 delayed by half cycle else delayed by one cycle 2: if spi_ck_out_edge or spi_ck_i_edge is set 1 delayed by one cycle else delayed by half cycle 3: delayed one cycle*/ -#define SPI_MISO_DELAY_MODE 0x00000003 -#define SPI_MISO_DELAY_MODE_M ((SPI_MISO_DELAY_MODE_V)<<(SPI_MISO_DELAY_MODE_S)) -#define SPI_MISO_DELAY_MODE_V 0x3 -#define SPI_MISO_DELAY_MODE_S 16 -/* SPI_CK_OUT_HIGH_MODE : R/W ;bitpos:[15:12] ;default: 4'h0 ; */ -/*description: modify spi clock duty ratio when the value is lager than 8, - the bits are combined with spi_clkcnt_N bits and spi_clkcnt_H bits.*/ -#define SPI_CK_OUT_HIGH_MODE 0x0000000F -#define SPI_CK_OUT_HIGH_MODE_M ((SPI_CK_OUT_HIGH_MODE_V)<<(SPI_CK_OUT_HIGH_MODE_S)) -#define SPI_CK_OUT_HIGH_MODE_V 0xF -#define SPI_CK_OUT_HIGH_MODE_S 12 -/* SPI_CK_OUT_LOW_MODE : R/W ;bitpos:[11:8] ;default: 4'h0 ; */ -/*description: modify spi clock duty ratio when the value is lager than 8, - the bits are combined with spi_clkcnt_N bits and spi_clkcnt_L bits.*/ -#define SPI_CK_OUT_LOW_MODE 0x0000000F -#define SPI_CK_OUT_LOW_MODE_M ((SPI_CK_OUT_LOW_MODE_V)<<(SPI_CK_OUT_LOW_MODE_S)) -#define SPI_CK_OUT_LOW_MODE_V 0xF -#define SPI_CK_OUT_LOW_MODE_S 8 -/* SPI_HOLD_TIME : R/W ;bitpos:[7:4] ;default: 4'h1 ; */ -/*description: delay cycles of cs pin by spi clock, this bits combined with spi_cs_hold bit.*/ -#define SPI_HOLD_TIME 0x0000000F -#define SPI_HOLD_TIME_M ((SPI_HOLD_TIME_V)<<(SPI_HOLD_TIME_S)) -#define SPI_HOLD_TIME_V 0xF -#define SPI_HOLD_TIME_S 4 -/* SPI_SETUP_TIME : R/W ;bitpos:[3:0] ;default: 4'h1 ; */ -/*description: (cycles-1) of ¡°prepare¡± phase by spi clock, this bits combined - with spi_cs_setup bit.*/ -#define SPI_SETUP_TIME 0x0000000F -#define SPI_SETUP_TIME_M ((SPI_SETUP_TIME_V)<<(SPI_SETUP_TIME_S)) -#define SPI_SETUP_TIME_V 0xF -#define SPI_SETUP_TIME_S 0 - -#define SPI_CLOCK_REG(i) (REG_SPI_BASE(i) + 0x18) -/* SPI_CLK_EQU_SYSCLK : R/W ;bitpos:[31] ;default: 1'b1 ; */ -/*description: In the master mode 1: spi_clk is eqaul to system 0: spi_clk is - divided from system clock.*/ -#define SPI_CLK_EQU_SYSCLK (BIT(31)) -#define SPI_CLK_EQU_SYSCLK_M (BIT(31)) -#define SPI_CLK_EQU_SYSCLK_V 0x1 -#define SPI_CLK_EQU_SYSCLK_S 31 -/* SPI_CLKDIV_PRE : R/W ;bitpos:[30:18] ;default: 13'b0 ; */ -/*description: In the master mode it is pre-divider of spi_clk.*/ -#define SPI_CLKDIV_PRE 0x00001FFF -#define SPI_CLKDIV_PRE_M ((SPI_CLKDIV_PRE_V)<<(SPI_CLKDIV_PRE_S)) -#define SPI_CLKDIV_PRE_V 0x1FFF -#define SPI_CLKDIV_PRE_S 18 -/* SPI_CLKCNT_N : R/W ;bitpos:[17:12] ;default: 6'h3 ; */ -/*description: In the master mode it is the divider of spi_clk. So spi_clk frequency - is system/(spi_clkdiv_pre+1)/(spi_clkcnt_N+1)*/ -#define SPI_CLKCNT_N 0x0000003F -#define SPI_CLKCNT_N_M ((SPI_CLKCNT_N_V)<<(SPI_CLKCNT_N_S)) -#define SPI_CLKCNT_N_V 0x3F -#define SPI_CLKCNT_N_S 12 -/* SPI_CLKCNT_H : R/W ;bitpos:[11:6] ;default: 6'h1 ; */ -/*description: In the master mode it must be floor((spi_clkcnt_N+1)/2-1). In - the slave mode it must be 0.*/ -#define SPI_CLKCNT_H 0x0000003F -#define SPI_CLKCNT_H_M ((SPI_CLKCNT_H_V)<<(SPI_CLKCNT_H_S)) -#define SPI_CLKCNT_H_V 0x3F -#define SPI_CLKCNT_H_S 6 -/* SPI_CLKCNT_L : R/W ;bitpos:[5:0] ;default: 6'h3 ; */ -/*description: In the master mode it must be equal to spi_clkcnt_N. In the slave - mode it must be 0.*/ -#define SPI_CLKCNT_L 0x0000003F -#define SPI_CLKCNT_L_M ((SPI_CLKCNT_L_V)<<(SPI_CLKCNT_L_S)) -#define SPI_CLKCNT_L_V 0x3F -#define SPI_CLKCNT_L_S 0 - -#define SPI_USER_REG(i) (REG_SPI_BASE(i) + 0x1C) -/* SPI_USR_COMMAND : R/W ;bitpos:[31] ;default: 1'b1 ; */ -/*description: This bit enable the command phase of an operation.*/ -#define SPI_USR_COMMAND (BIT(31)) -#define SPI_USR_COMMAND_M (BIT(31)) -#define SPI_USR_COMMAND_V 0x1 -#define SPI_USR_COMMAND_S 31 -/* SPI_USR_ADDR : R/W ;bitpos:[30] ;default: 1'b0 ; */ -/*description: This bit enable the address phase of an operation.*/ -#define SPI_USR_ADDR (BIT(30)) -#define SPI_USR_ADDR_M (BIT(30)) -#define SPI_USR_ADDR_V 0x1 -#define SPI_USR_ADDR_S 30 -/* SPI_USR_DUMMY : R/W ;bitpos:[29] ;default: 1'b0 ; */ -/*description: This bit enable the dummy phase of an operation.*/ -#define SPI_USR_DUMMY (BIT(29)) -#define SPI_USR_DUMMY_M (BIT(29)) -#define SPI_USR_DUMMY_V 0x1 -#define SPI_USR_DUMMY_S 29 -/* SPI_USR_MISO : R/W ;bitpos:[28] ;default: 1'b0 ; */ -/*description: This bit enable the read-data phase of an operation.*/ -#define SPI_USR_MISO (BIT(28)) -#define SPI_USR_MISO_M (BIT(28)) -#define SPI_USR_MISO_V 0x1 -#define SPI_USR_MISO_S 28 -/* SPI_USR_MOSI : R/W ;bitpos:[27] ;default: 1'b0 ; */ -/*description: This bit enable the write-data phase of an operation.*/ -#define SPI_USR_MOSI (BIT(27)) -#define SPI_USR_MOSI_M (BIT(27)) -#define SPI_USR_MOSI_V 0x1 -#define SPI_USR_MOSI_S 27 -/* SPI_USR_DUMMY_IDLE : R/W ;bitpos:[26] ;default: 1'b0 ; */ -/*description: spi clock is disable in dummy phase when the bit is enable.*/ -#define SPI_USR_DUMMY_IDLE (BIT(26)) -#define SPI_USR_DUMMY_IDLE_M (BIT(26)) -#define SPI_USR_DUMMY_IDLE_V 0x1 -#define SPI_USR_DUMMY_IDLE_S 26 -/* SPI_USR_MOSI_HIGHPART : R/W ;bitpos:[25] ;default: 1'b0 ; */ -/*description: write-data phase only access to high-part of the buffer spi_w8~spi_w15. - 1: enable 0: disable.*/ -#define SPI_USR_MOSI_HIGHPART (BIT(25)) -#define SPI_USR_MOSI_HIGHPART_M (BIT(25)) -#define SPI_USR_MOSI_HIGHPART_V 0x1 -#define SPI_USR_MOSI_HIGHPART_S 25 -/* SPI_USR_MISO_HIGHPART : R/W ;bitpos:[24] ;default: 1'b0 ; */ -/*description: read-data phase only access to high-part of the buffer spi_w8~spi_w15. - 1: enable 0: disable.*/ -#define SPI_USR_MISO_HIGHPART (BIT(24)) -#define SPI_USR_MISO_HIGHPART_M (BIT(24)) -#define SPI_USR_MISO_HIGHPART_V 0x1 -#define SPI_USR_MISO_HIGHPART_S 24 -/* SPI_USR_PREP_HOLD : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: spi is hold at prepare state the bit combined with spi_usr_hold_pol bit.*/ -#define SPI_USR_PREP_HOLD (BIT(23)) -#define SPI_USR_PREP_HOLD_M (BIT(23)) -#define SPI_USR_PREP_HOLD_V 0x1 -#define SPI_USR_PREP_HOLD_S 23 -/* SPI_USR_CMD_HOLD : R/W ;bitpos:[22] ;default: 1'b0 ; */ -/*description: spi is hold at command state the bit combined with spi_usr_hold_pol bit.*/ -#define SPI_USR_CMD_HOLD (BIT(22)) -#define SPI_USR_CMD_HOLD_M (BIT(22)) -#define SPI_USR_CMD_HOLD_V 0x1 -#define SPI_USR_CMD_HOLD_S 22 -/* SPI_USR_ADDR_HOLD : R/W ;bitpos:[21] ;default: 1'b0 ; */ -/*description: spi is hold at address state the bit combined with spi_usr_hold_pol bit.*/ -#define SPI_USR_ADDR_HOLD (BIT(21)) -#define SPI_USR_ADDR_HOLD_M (BIT(21)) -#define SPI_USR_ADDR_HOLD_V 0x1 -#define SPI_USR_ADDR_HOLD_S 21 -/* SPI_USR_DUMMY_HOLD : R/W ;bitpos:[20] ;default: 1'b0 ; */ -/*description: spi is hold at dummy state the bit combined with spi_usr_hold_pol bit.*/ -#define SPI_USR_DUMMY_HOLD (BIT(20)) -#define SPI_USR_DUMMY_HOLD_M (BIT(20)) -#define SPI_USR_DUMMY_HOLD_V 0x1 -#define SPI_USR_DUMMY_HOLD_S 20 -/* SPI_USR_DIN_HOLD : R/W ;bitpos:[19] ;default: 1'b0 ; */ -/*description: spi is hold at data in state the bit combined with spi_usr_hold_pol bit.*/ -#define SPI_USR_DIN_HOLD (BIT(19)) -#define SPI_USR_DIN_HOLD_M (BIT(19)) -#define SPI_USR_DIN_HOLD_V 0x1 -#define SPI_USR_DIN_HOLD_S 19 -/* SPI_USR_DOUT_HOLD : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: spi is hold at data out state the bit combined with spi_usr_hold_pol bit.*/ -#define SPI_USR_DOUT_HOLD (BIT(18)) -#define SPI_USR_DOUT_HOLD_M (BIT(18)) -#define SPI_USR_DOUT_HOLD_V 0x1 -#define SPI_USR_DOUT_HOLD_S 18 -/* SPI_USR_HOLD_POL : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: It is combined with hold bits to set the polarity of spi hold - line 1: spi will be held when spi hold line is high 0: spi will be held when spi hold line is low*/ -#define SPI_USR_HOLD_POL (BIT(17)) -#define SPI_USR_HOLD_POL_M (BIT(17)) -#define SPI_USR_HOLD_POL_V 0x1 -#define SPI_USR_HOLD_POL_S 17 -/* SPI_SIO : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: Set the bit to enable 3-line half duplex communication mosi - and miso signals share the same pin. 1: enable 0: disable.*/ -#define SPI_SIO (BIT(16)) -#define SPI_SIO_M (BIT(16)) -#define SPI_SIO_V 0x1 -#define SPI_SIO_S 16 -/* SPI_FWRITE_QIO : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: In the write operations address phase and read-data phase apply 4 signals.*/ -#define SPI_FWRITE_QIO (BIT(15)) -#define SPI_FWRITE_QIO_M (BIT(15)) -#define SPI_FWRITE_QIO_V 0x1 -#define SPI_FWRITE_QIO_S 15 -/* SPI_FWRITE_DIO : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: In the write operations address phase and read-data phase apply 2 signals.*/ -#define SPI_FWRITE_DIO (BIT(14)) -#define SPI_FWRITE_DIO_M (BIT(14)) -#define SPI_FWRITE_DIO_V 0x1 -#define SPI_FWRITE_DIO_S 14 -/* SPI_FWRITE_QUAD : R/W ;bitpos:[13] ;default: 1'b0 ; */ -/*description: In the write operations read-data phase apply 4 signals*/ -#define SPI_FWRITE_QUAD (BIT(13)) -#define SPI_FWRITE_QUAD_M (BIT(13)) -#define SPI_FWRITE_QUAD_V 0x1 -#define SPI_FWRITE_QUAD_S 13 -/* SPI_FWRITE_DUAL : R/W ;bitpos:[12] ;default: 1'b0 ; */ -/*description: In the write operations read-data phase apply 2 signals*/ -#define SPI_FWRITE_DUAL (BIT(12)) -#define SPI_FWRITE_DUAL_M (BIT(12)) -#define SPI_FWRITE_DUAL_V 0x1 -#define SPI_FWRITE_DUAL_S 12 -/* SPI_WR_BYTE_ORDER : R/W ;bitpos:[11] ;default: 1'b0 ; */ -/*description: In command address write-data (MOSI) phases 1: big-endian 0: litte_endian*/ -#define SPI_WR_BYTE_ORDER (BIT(11)) -#define SPI_WR_BYTE_ORDER_M (BIT(11)) -#define SPI_WR_BYTE_ORDER_V 0x1 -#define SPI_WR_BYTE_ORDER_S 11 -/* SPI_RD_BYTE_ORDER : R/W ;bitpos:[10] ;default: 1'b0 ; */ -/*description: In read-data (MISO) phase 1: big-endian 0: little_endian*/ -#define SPI_RD_BYTE_ORDER (BIT(10)) -#define SPI_RD_BYTE_ORDER_M (BIT(10)) -#define SPI_RD_BYTE_ORDER_V 0x1 -#define SPI_RD_BYTE_ORDER_S 10 -/* SPI_CK_OUT_EDGE : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: the bit combined with spi_mosi_delay_mode bits to set mosi signal delay mode.*/ -#define SPI_CK_OUT_EDGE (BIT(7)) -#define SPI_CK_OUT_EDGE_M (BIT(7)) -#define SPI_CK_OUT_EDGE_V 0x1 -#define SPI_CK_OUT_EDGE_S 7 -/* SPI_CK_I_EDGE : R/W ;bitpos:[6] ;default: 1'b1 ; */ -/*description: In the slave mode the bit is same as spi_ck_out_edge in master - mode. It is combined with spi_miso_delay_mode bits.*/ -#define SPI_CK_I_EDGE (BIT(6)) -#define SPI_CK_I_EDGE_M (BIT(6)) -#define SPI_CK_I_EDGE_V 0x1 -#define SPI_CK_I_EDGE_S 6 -/* SPI_CS_SETUP : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: spi cs is enable when spi is in ¡°prepare¡± phase. 1: enable 0: disable.*/ -#define SPI_CS_SETUP (BIT(5)) -#define SPI_CS_SETUP_M (BIT(5)) -#define SPI_CS_SETUP_V 0x1 -#define SPI_CS_SETUP_S 5 -/* SPI_CS_HOLD : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: spi cs keep low when spi is in ¡°done¡± phase. 1: enable 0: disable.*/ -#define SPI_CS_HOLD (BIT(4)) -#define SPI_CS_HOLD_M (BIT(4)) -#define SPI_CS_HOLD_V 0x1 -#define SPI_CS_HOLD_S 4 -/* SPI_DOUTDIN : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: Set the bit to enable full duplex communication. 1: enable 0: disable.*/ -#define SPI_DOUTDIN (BIT(0)) -#define SPI_DOUTDIN_M (BIT(0)) -#define SPI_DOUTDIN_V 0x1 -#define SPI_DOUTDIN_S 0 - -#define SPI_USER1_REG(i) (REG_SPI_BASE(i) + 0x20) -/* SPI_USR_ADDR_BITLEN : RO ;bitpos:[31:26] ;default: 6'd23 ; */ -/*description: The length in bits of address phase. The register value shall be (bit_num-1).*/ -#define SPI_USR_ADDR_BITLEN 0x0000003F -#define SPI_USR_ADDR_BITLEN_M ((SPI_USR_ADDR_BITLEN_V)<<(SPI_USR_ADDR_BITLEN_S)) -#define SPI_USR_ADDR_BITLEN_V 0x3F -#define SPI_USR_ADDR_BITLEN_S 26 -/* SPI_USR_DUMMY_CYCLELEN : R/W ;bitpos:[7:0] ;default: 8'd7 ; */ -/*description: The length in spi_clk cycles of dummy phase. The register value - shall be (cycle_num-1).*/ -#define SPI_USR_DUMMY_CYCLELEN 0x000000FF -#define SPI_USR_DUMMY_CYCLELEN_M ((SPI_USR_DUMMY_CYCLELEN_V)<<(SPI_USR_DUMMY_CYCLELEN_S)) -#define SPI_USR_DUMMY_CYCLELEN_V 0xFF -#define SPI_USR_DUMMY_CYCLELEN_S 0 - -#define SPI_USER2_REG(i) (REG_SPI_BASE(i) + 0x24) -/* SPI_USR_COMMAND_BITLEN : R/W ;bitpos:[31:28] ;default: 4'd7 ; */ -/*description: The length in bits of command phase. The register value shall be (bit_num-1)*/ -#define SPI_USR_COMMAND_BITLEN 0x0000000F -#define SPI_USR_COMMAND_BITLEN_M ((SPI_USR_COMMAND_BITLEN_V)<<(SPI_USR_COMMAND_BITLEN_S)) -#define SPI_USR_COMMAND_BITLEN_V 0xF -#define SPI_USR_COMMAND_BITLEN_S 28 -/* SPI_USR_COMMAND_VALUE : R/W ;bitpos:[15:0] ;default: 16'b0 ; */ -/*description: The value of command.*/ -#define SPI_USR_COMMAND_VALUE 0x0000FFFF -#define SPI_USR_COMMAND_VALUE_M ((SPI_USR_COMMAND_VALUE_V)<<(SPI_USR_COMMAND_VALUE_S)) -#define SPI_USR_COMMAND_VALUE_V 0xFFFF -#define SPI_USR_COMMAND_VALUE_S 0 - -#define SPI_MOSI_DLEN_REG(i) (REG_SPI_BASE(i) + 0x28) -/* SPI_USR_MOSI_DBITLEN : R/W ;bitpos:[23:0] ;default: 24'h0 ; */ -/*description: The length in bits of write-data. The register value shall be (bit_num-1).*/ -#define SPI_USR_MOSI_DBITLEN 0x00FFFFFF -#define SPI_USR_MOSI_DBITLEN_M ((SPI_USR_MOSI_DBITLEN_V)<<(SPI_USR_MOSI_DBITLEN_S)) -#define SPI_USR_MOSI_DBITLEN_V 0xFFFFFF -#define SPI_USR_MOSI_DBITLEN_S 0 - -#define SPI_MISO_DLEN_REG(i) (REG_SPI_BASE(i) + 0x2C) -/* SPI_USR_MISO_DBITLEN : R/W ;bitpos:[23:0] ;default: 24'h0 ; */ -/*description: The length in bits of read-data. The register value shall be (bit_num-1).*/ -#define SPI_USR_MISO_DBITLEN 0x00FFFFFF -#define SPI_USR_MISO_DBITLEN_M ((SPI_USR_MISO_DBITLEN_V)<<(SPI_USR_MISO_DBITLEN_S)) -#define SPI_USR_MISO_DBITLEN_V 0xFFFFFF -#define SPI_USR_MISO_DBITLEN_S 0 - -#define SPI_SLV_WR_STATUS_REG(i) (REG_SPI_BASE(i) + 0x30) -/* SPI_SLV_WR_ST : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: In the slave mode this register are the status register for the - master to write into. In the master mode this register are the higher 32bits in the 64 bits address condition.*/ -#define SPI_SLV_WR_ST 0xFFFFFFFF -#define SPI_SLV_WR_ST_M ((SPI_SLV_WR_ST_V)<<(SPI_SLV_WR_ST_S)) -#define SPI_SLV_WR_ST_V 0xFFFFFFFF -#define SPI_SLV_WR_ST_S 0 - -#define SPI_PIN_REG(i) (REG_SPI_BASE(i) + 0x34) -/* SPI_CS_KEEP_ACTIVE : R/W ;bitpos:[30] ;default: 1'b0 ; */ -/*description: spi cs line keep low when the bit is set.*/ -#define SPI_CS_KEEP_ACTIVE (BIT(30)) -#define SPI_CS_KEEP_ACTIVE_M (BIT(30)) -#define SPI_CS_KEEP_ACTIVE_V 0x1 -#define SPI_CS_KEEP_ACTIVE_S 30 -/* SPI_CK_IDLE_EDGE : R/W ;bitpos:[29] ;default: 1'b0 ; */ -/*description: 1: spi clk line is high when idle 0: spi clk line is low when idle*/ -#define SPI_CK_IDLE_EDGE (BIT(29)) -#define SPI_CK_IDLE_EDGE_M (BIT(29)) -#define SPI_CK_IDLE_EDGE_V 0x1 -#define SPI_CK_IDLE_EDGE_S 29 -/* SPI_MASTER_CK_SEL : R/W ;bitpos:[13:11] ;default: 3'b0 ; */ -/*description: In the master mode spi cs line is enable as spi clk it is combined - with spi_cs0_dis spi_cs1_dis spi_cs2_dis.*/ -#define SPI_MASTER_CK_SEL 0x00000007 -#define SPI_MASTER_CK_SEL_M ((SPI_MASTER_CK_SEL_V)<<(SPI_MASTER_CK_SEL_S)) -#define SPI_MASTER_CK_SEL_V 0x07 -#define SPI_MASTER_CK_SEL_S 11 -/* SPI_MASTER_CS_POL : R/W ;bitpos:[8:6] ;default: 3'b0 ; */ -/*description: In the master mode the bits are the polarity of spi cs line - the value is equivalent to spi_cs ^ spi_master_cs_pol.*/ -#define SPI_MASTER_CS_POL 0x00000007 -#define SPI_MASTER_CS_POL_M ((SPI_MASTER_CS_POL_V)<<(SPI_MASTER_CS_POL_S)) -#define SPI_MASTER_CS_POL_V 0x7 -#define SPI_MASTER_CS_POL_S 6 -/* SPI_CK_DIS : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: 1: spi clk out disable 0: spi clk out enable*/ -#define SPI_CK_DIS (BIT(5)) -#define SPI_CK_DIS_M (BIT(5)) -#define SPI_CK_DIS_V 0x1 -#define SPI_CK_DIS_S 5 -/* SPI_CS2_DIS : R/W ;bitpos:[2] ;default: 1'b1 ; */ -/*description: SPI CS2 pin enable, 1: disable CS2, 0: spi_cs2 signal is from/to CS2 pin*/ -#define SPI_CS2_DIS (BIT(2)) -#define SPI_CS2_DIS_M (BIT(2)) -#define SPI_CS2_DIS_V 0x1 -#define SPI_CS2_DIS_S 2 -/* SPI_CS1_DIS : R/W ;bitpos:[1] ;default: 1'b1 ; */ -/*description: SPI CS1 pin enable, 1: disable CS1, 0: spi_cs1 signal is from/to CS1 pin*/ -#define SPI_CS1_DIS (BIT(1)) -#define SPI_CS1_DIS_M (BIT(1)) -#define SPI_CS1_DIS_V 0x1 -#define SPI_CS1_DIS_S 1 -/* SPI_CS0_DIS : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: SPI CS0 pin enable, 1: disable CS0, 0: spi_cs0 signal is from/to CS0 pin*/ -#define SPI_CS0_DIS (BIT(0)) -#define SPI_CS0_DIS_M (BIT(0)) -#define SPI_CS0_DIS_V 0x1 -#define SPI_CS0_DIS_S 0 - -#define SPI_SLAVE_REG(i) (REG_SPI_BASE(i) + 0x38) -/* SPI_SYNC_RESET : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: Software reset enable, reset the spi clock line cs line and data lines.*/ -#define SPI_SYNC_RESET (BIT(31)) -#define SPI_SYNC_RESET_M (BIT(31)) -#define SPI_SYNC_RESET_V 0x1 -#define SPI_SYNC_RESET_S 31 -/* SPI_SLAVE_MODE : R/W ;bitpos:[30] ;default: 1'b0 ; */ -/*description: 1: slave mode 0: master mode.*/ -#define SPI_SLAVE_MODE (BIT(30)) -#define SPI_SLAVE_MODE_M (BIT(30)) -#define SPI_SLAVE_MODE_V 0x1 -#define SPI_SLAVE_MODE_S 30 -/* SPI_SLV_WR_RD_BUF_EN : R/W ;bitpos:[29] ;default: 1'b0 ; */ -/*description: write and read buffer enable in the slave mode*/ -#define SPI_SLV_WR_RD_BUF_EN (BIT(29)) -#define SPI_SLV_WR_RD_BUF_EN_M (BIT(29)) -#define SPI_SLV_WR_RD_BUF_EN_V 0x1 -#define SPI_SLV_WR_RD_BUF_EN_S 29 -/* SPI_SLV_WR_RD_STA_EN : R/W ;bitpos:[28] ;default: 1'b0 ; */ -/*description: write and read status enable in the slave mode*/ -#define SPI_SLV_WR_RD_STA_EN (BIT(28)) -#define SPI_SLV_WR_RD_STA_EN_M (BIT(28)) -#define SPI_SLV_WR_RD_STA_EN_V 0x1 -#define SPI_SLV_WR_RD_STA_EN_S 28 -/* SPI_SLV_CMD_DEFINE : R/W ;bitpos:[27] ;default: 1'b0 ; */ -/*description: 1: slave mode commands are defined in SPI_SLAVE3. 0: slave mode - commands are fixed as: 1: write-status 2: write-buffer and 3: read-buffer.*/ -#define SPI_SLV_CMD_DEFINE (BIT(27)) -#define SPI_SLV_CMD_DEFINE_M (BIT(27)) -#define SPI_SLV_CMD_DEFINE_V 0x1 -#define SPI_SLV_CMD_DEFINE_S 27 -/* SPI_TRANS_CNT : RO ;bitpos:[26:23] ;default: 4'b0 ; */ -/*description: The operations counter in both the master mode and the slave - mode. 4: read-status*/ -#define SPI_TRANS_CNT 0x0000000F -#define SPI_TRANS_CNT_M ((SPI_TRANS_CNT_V)<<(SPI_TRANS_CNT_S)) -#define SPI_TRANS_CNT_V 0xF -#define SPI_TRANS_CNT_S 23 -/* SPI_SLV_LAST_STATE : RO ;bitpos:[22:20] ;default: 3'b0 ; */ -/*description: In the slave mode it is the state of spi state machine.*/ -#define SPI_SLV_LAST_STATE 0x00000007 -#define SPI_SLV_LAST_STATE_M ((SPI_SLV_LAST_STATE_V)<<(SPI_SLV_LAST_STATE_S)) -#define SPI_SLV_LAST_STATE_V 0x7 -#define SPI_SLV_LAST_STATE_S 20 -/* SPI_SLV_LAST_COMMAND : RO ;bitpos:[19:17] ;default: 3'b0 ; */ -/*description: In the slave mode it is the value of command.*/ -#define SPI_SLV_LAST_COMMAND 0x00000007 -#define SPI_SLV_LAST_COMMAND_M ((SPI_SLV_LAST_COMMAND_V)<<(SPI_SLV_LAST_COMMAND_S)) -#define SPI_SLV_LAST_COMMAND_V 0x7 -#define SPI_SLV_LAST_COMMAND_S 17 -/* SPI_CS_I_MODE : R/W ;bitpos:[11:10] ;default: 2'b0 ; */ -/*description: In the slave mode this bits used to synchronize the input spi - cs signal and eliminate spi cs jitter.*/ -#define SPI_CS_I_MODE 0x00000003 -#define SPI_CS_I_MODE_M ((SPI_CS_I_MODE_V)<<(SPI_CS_I_MODE_S)) -#define SPI_CS_I_MODE_V 0x3 -#define SPI_CS_I_MODE_S 10 -/* SPI_INT_EN : R/W ;bitpos:[9:5] ;default: 5'b1_0000 ; */ -/*description: Interrupt enable bits for the below 5 sources*/ -#define SPI_INT_EN 0x0000001F -#define SPI_INT_EN_M ((SPI_INT_EN_V)<<(SPI_INT_EN_S)) -#define SPI_INT_EN_V 0x1F -#define SPI_INT_EN_S 5 -/* SPI_TRANS_DONE : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for the completion of any operation in - both the master mode and the slave mode.*/ -#define SPI_TRANS_DONE (BIT(4)) -#define SPI_TRANS_DONE_M (BIT(4)) -#define SPI_TRANS_DONE_V 0x1 -#define SPI_TRANS_DONE_S 4 -/* SPI_SLV_WR_STA_DONE : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for the completion of write-status operation - in the slave mode.*/ -#define SPI_SLV_WR_STA_DONE (BIT(3)) -#define SPI_SLV_WR_STA_DONE_M (BIT(3)) -#define SPI_SLV_WR_STA_DONE_V 0x1 -#define SPI_SLV_WR_STA_DONE_S 3 -/* SPI_SLV_RD_STA_DONE : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for the completion of read-status operation - in the slave mode.*/ -#define SPI_SLV_RD_STA_DONE (BIT(2)) -#define SPI_SLV_RD_STA_DONE_M (BIT(2)) -#define SPI_SLV_RD_STA_DONE_V 0x1 -#define SPI_SLV_RD_STA_DONE_S 2 -/* SPI_SLV_WR_BUF_DONE : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for the completion of write-buffer operation - in the slave mode.*/ -#define SPI_SLV_WR_BUF_DONE (BIT(1)) -#define SPI_SLV_WR_BUF_DONE_M (BIT(1)) -#define SPI_SLV_WR_BUF_DONE_V 0x1 -#define SPI_SLV_WR_BUF_DONE_S 1 -/* SPI_SLV_RD_BUF_DONE : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The interrupt raw bit for the completion of read-buffer operation - in the slave mode.*/ -#define SPI_SLV_RD_BUF_DONE (BIT(0)) -#define SPI_SLV_RD_BUF_DONE_M (BIT(0)) -#define SPI_SLV_RD_BUF_DONE_V 0x1 -#define SPI_SLV_RD_BUF_DONE_S 0 - -#define SPI_SLAVE1_REG(i) (REG_SPI_BASE(i) + 0x3C) -/* SPI_SLV_STATUS_BITLEN : R/W ;bitpos:[31:27] ;default: 5'b0 ; */ -/*description: In the slave mode it is the length of status bit.*/ -#define SPI_SLV_STATUS_BITLEN 0x0000001F -#define SPI_SLV_STATUS_BITLEN_M ((SPI_SLV_STATUS_BITLEN_V)<<(SPI_SLV_STATUS_BITLEN_S)) -#define SPI_SLV_STATUS_BITLEN_V 0x1F -#define SPI_SLV_STATUS_BITLEN_S 27 -/* SPI_SLV_STATUS_FAST_EN : R/W ;bitpos:[26] ;default: 1'b0 ; */ -/*description: In the slave mode enable fast read status.*/ -#define SPI_SLV_STATUS_FAST_EN (BIT(26)) -#define SPI_SLV_STATUS_FAST_EN_M (BIT(26)) -#define SPI_SLV_STATUS_FAST_EN_V 0x1 -#define SPI_SLV_STATUS_FAST_EN_S 26 -/* SPI_SLV_STATUS_READBACK : R/W ;bitpos:[25] ;default: 1'b1 ; */ -/*description: In the slave mode 1:read register of SPI_SLV_WR_STATUS 0: read - register of SPI_RD_STATUS.*/ -#define SPI_SLV_STATUS_READBACK (BIT(25)) -#define SPI_SLV_STATUS_READBACK_M (BIT(25)) -#define SPI_SLV_STATUS_READBACK_V 0x1 -#define SPI_SLV_STATUS_READBACK_S 25 -/* SPI_SLV_RD_ADDR_BITLEN : R/W ;bitpos:[15:10] ;default: 6'h0 ; */ -/*description: In the slave mode it is the address length in bits for read-buffer - operation. The register value shall be (bit_num-1).*/ -#define SPI_SLV_RD_ADDR_BITLEN 0x0000003F -#define SPI_SLV_RD_ADDR_BITLEN_M ((SPI_SLV_RD_ADDR_BITLEN_V)<<(SPI_SLV_RD_ADDR_BITLEN_S)) -#define SPI_SLV_RD_ADDR_BITLEN_V 0x3F -#define SPI_SLV_RD_ADDR_BITLEN_S 10 -/* SPI_SLV_WR_ADDR_BITLEN : R/W ;bitpos:[9:4] ;default: 6'h0 ; */ -/*description: In the slave mode it is the address length in bits for write-buffer - operation. The register value shall be (bit_num-1).*/ -#define SPI_SLV_WR_ADDR_BITLEN 0x0000003F -#define SPI_SLV_WR_ADDR_BITLEN_M ((SPI_SLV_WR_ADDR_BITLEN_V)<<(SPI_SLV_WR_ADDR_BITLEN_S)) -#define SPI_SLV_WR_ADDR_BITLEN_V 0x3F -#define SPI_SLV_WR_ADDR_BITLEN_S 4 -/* SPI_SLV_WRSTA_DUMMY_EN : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: In the slave mode it is the enable bit of dummy phase for write-status - operations.*/ -#define SPI_SLV_WRSTA_DUMMY_EN (BIT(3)) -#define SPI_SLV_WRSTA_DUMMY_EN_M (BIT(3)) -#define SPI_SLV_WRSTA_DUMMY_EN_V 0x1 -#define SPI_SLV_WRSTA_DUMMY_EN_S 3 -/* SPI_SLV_RDSTA_DUMMY_EN : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: In the slave mode it is the enable bit of dummy phase for read-status - operations.*/ -#define SPI_SLV_RDSTA_DUMMY_EN (BIT(2)) -#define SPI_SLV_RDSTA_DUMMY_EN_M (BIT(2)) -#define SPI_SLV_RDSTA_DUMMY_EN_V 0x1 -#define SPI_SLV_RDSTA_DUMMY_EN_S 2 -/* SPI_SLV_WRBUF_DUMMY_EN : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: In the slave mode it is the enable bit of dummy phase for write-buffer - operations.*/ -#define SPI_SLV_WRBUF_DUMMY_EN (BIT(1)) -#define SPI_SLV_WRBUF_DUMMY_EN_M (BIT(1)) -#define SPI_SLV_WRBUF_DUMMY_EN_V 0x1 -#define SPI_SLV_WRBUF_DUMMY_EN_S 1 -/* SPI_SLV_RDBUF_DUMMY_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: In the slave mode it is the enable bit of dummy phase for read-buffer - operations.*/ -#define SPI_SLV_RDBUF_DUMMY_EN (BIT(0)) -#define SPI_SLV_RDBUF_DUMMY_EN_M (BIT(0)) -#define SPI_SLV_RDBUF_DUMMY_EN_V 0x1 -#define SPI_SLV_RDBUF_DUMMY_EN_S 0 - -#define SPI_SLAVE2_REG(i) (REG_SPI_BASE(i) + 0x40) -/* SPI_SLV_WRBUF_DUMMY_CYCLELEN : R/W ;bitpos:[31:24] ;default: 8'b0 ; */ -/*description: In the slave mode it is the length in spi_clk cycles of dummy - phase for write-buffer operations. The register value shall be (cycle_num-1).*/ -#define SPI_SLV_WRBUF_DUMMY_CYCLELEN 0x000000FF -#define SPI_SLV_WRBUF_DUMMY_CYCLELEN_M ((SPI_SLV_WRBUF_DUMMY_CYCLELEN_V)<<(SPI_SLV_WRBUF_DUMMY_CYCLELEN_S)) -#define SPI_SLV_WRBUF_DUMMY_CYCLELEN_V 0xFF -#define SPI_SLV_WRBUF_DUMMY_CYCLELEN_S 24 -/* SPI_SLV_RDBUF_DUMMY_CYCLELEN : R/W ;bitpos:[23:16] ;default: 8'h0 ; */ -/*description: In the slave mode it is the length in spi_clk cycles of dummy - phase for read-buffer operations. The register value shall be (cycle_num-1).*/ -#define SPI_SLV_RDBUF_DUMMY_CYCLELEN 0x000000FF -#define SPI_SLV_RDBUF_DUMMY_CYCLELEN_M ((SPI_SLV_RDBUF_DUMMY_CYCLELEN_V)<<(SPI_SLV_RDBUF_DUMMY_CYCLELEN_S)) -#define SPI_SLV_RDBUF_DUMMY_CYCLELEN_V 0xFF -#define SPI_SLV_RDBUF_DUMMY_CYCLELEN_S 16 -/* SPI_SLV_WRSTA_DUMMY_CYCLELEN : R/W ;bitpos:[15:8] ;default: 8'h0 ; */ -/*description: In the slave mode it is the length in spi_clk cycles of dummy - phase for write-status operations. The register value shall be (cycle_num-1).*/ -#define SPI_SLV_WRSTA_DUMMY_CYCLELEN 0x000000FF -#define SPI_SLV_WRSTA_DUMMY_CYCLELEN_M ((SPI_SLV_WRSTA_DUMMY_CYCLELEN_V)<<(SPI_SLV_WRSTA_DUMMY_CYCLELEN_S)) -#define SPI_SLV_WRSTA_DUMMY_CYCLELEN_V 0xFF -#define SPI_SLV_WRSTA_DUMMY_CYCLELEN_S 8 -/* SPI_SLV_RDSTA_DUMMY_CYCLELEN : R/W ;bitpos:[7:0] ;default: 8'h0 ; */ -/*description: In the slave mode it is the length in spi_clk cycles of dummy - phase for read-status operations. The register value shall be (cycle_num-1).*/ -#define SPI_SLV_RDSTA_DUMMY_CYCLELEN 0x000000FF -#define SPI_SLV_RDSTA_DUMMY_CYCLELEN_M ((SPI_SLV_RDSTA_DUMMY_CYCLELEN_V)<<(SPI_SLV_RDSTA_DUMMY_CYCLELEN_S)) -#define SPI_SLV_RDSTA_DUMMY_CYCLELEN_V 0xFF -#define SPI_SLV_RDSTA_DUMMY_CYCLELEN_S 0 - -#define SPI_SLAVE3_REG(i) (REG_SPI_BASE(i) + 0x44) -/* SPI_SLV_WRSTA_CMD_VALUE : R/W ;bitpos:[31:24] ;default: 8'b0 ; */ -/*description: In the slave mode it is the value of write-status command.*/ -#define SPI_SLV_WRSTA_CMD_VALUE 0x000000FF -#define SPI_SLV_WRSTA_CMD_VALUE_M ((SPI_SLV_WRSTA_CMD_VALUE_V)<<(SPI_SLV_WRSTA_CMD_VALUE_S)) -#define SPI_SLV_WRSTA_CMD_VALUE_V 0xFF -#define SPI_SLV_WRSTA_CMD_VALUE_S 24 -/* SPI_SLV_RDSTA_CMD_VALUE : R/W ;bitpos:[23:16] ;default: 8'b0 ; */ -/*description: In the slave mode it is the value of read-status command.*/ -#define SPI_SLV_RDSTA_CMD_VALUE 0x000000FF -#define SPI_SLV_RDSTA_CMD_VALUE_M ((SPI_SLV_RDSTA_CMD_VALUE_V)<<(SPI_SLV_RDSTA_CMD_VALUE_S)) -#define SPI_SLV_RDSTA_CMD_VALUE_V 0xFF -#define SPI_SLV_RDSTA_CMD_VALUE_S 16 -/* SPI_SLV_WRBUF_CMD_VALUE : R/W ;bitpos:[15:8] ;default: 8'b0 ; */ -/*description: In the slave mode it is the value of write-buffer command.*/ -#define SPI_SLV_WRBUF_CMD_VALUE 0x000000FF -#define SPI_SLV_WRBUF_CMD_VALUE_M ((SPI_SLV_WRBUF_CMD_VALUE_V)<<(SPI_SLV_WRBUF_CMD_VALUE_S)) -#define SPI_SLV_WRBUF_CMD_VALUE_V 0xFF -#define SPI_SLV_WRBUF_CMD_VALUE_S 8 -/* SPI_SLV_RDBUF_CMD_VALUE : R/W ;bitpos:[7:0] ;default: 8'b0 ; */ -/*description: In the slave mode it is the value of read-buffer command.*/ -#define SPI_SLV_RDBUF_CMD_VALUE 0x000000FF -#define SPI_SLV_RDBUF_CMD_VALUE_M ((SPI_SLV_RDBUF_CMD_VALUE_V)<<(SPI_SLV_RDBUF_CMD_VALUE_S)) -#define SPI_SLV_RDBUF_CMD_VALUE_V 0xFF -#define SPI_SLV_RDBUF_CMD_VALUE_S 0 - -#define SPI_SLV_WRBUF_DLEN_REG(i) (REG_SPI_BASE(i) + 0x48) -/* SPI_SLV_WRBUF_DBITLEN : R/W ;bitpos:[23:0] ;default: 24'h0 ; */ -/*description: In the slave mode it is the length in bits for write-buffer operations. - The register value shall be (bit_num-1).*/ -#define SPI_SLV_WRBUF_DBITLEN 0x00FFFFFF -#define SPI_SLV_WRBUF_DBITLEN_M ((SPI_SLV_WRBUF_DBITLEN_V)<<(SPI_SLV_WRBUF_DBITLEN_S)) -#define SPI_SLV_WRBUF_DBITLEN_V 0xFFFFFF -#define SPI_SLV_WRBUF_DBITLEN_S 0 - -#define SPI_SLV_RDBUF_DLEN_REG(i) (REG_SPI_BASE(i) + 0x4C) -/* SPI_SLV_RDBUF_DBITLEN : R/W ;bitpos:[23:0] ;default: 24'h0 ; */ -/*description: In the slave mode it is the length in bits for read-buffer operations. - The register value shall be (bit_num-1).*/ -#define SPI_SLV_RDBUF_DBITLEN 0x00FFFFFF -#define SPI_SLV_RDBUF_DBITLEN_M ((SPI_SLV_RDBUF_DBITLEN_V)<<(SPI_SLV_RDBUF_DBITLEN_S)) -#define SPI_SLV_RDBUF_DBITLEN_V 0xFFFFFF -#define SPI_SLV_RDBUF_DBITLEN_S 0 - -#define SPI_CACHE_FCTRL_REG(i) (REG_SPI_BASE(i) + 0x50) -/* SPI_CACHE_FLASH_PES_EN : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: For SPI0 spi1 send suspend command before cache read flash - 1: enable 0:disable.*/ -#define SPI_CACHE_FLASH_PES_EN (BIT(3)) -#define SPI_CACHE_FLASH_PES_EN_M (BIT(3)) -#define SPI_CACHE_FLASH_PES_EN_V 0x1 -#define SPI_CACHE_FLASH_PES_EN_S 3 -/* SPI_CACHE_FLASH_USR_CMD : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: For SPI0 cache read flash for user define command 1: enable 0:disable.*/ -#define SPI_CACHE_FLASH_USR_CMD (BIT(2)) -#define SPI_CACHE_FLASH_USR_CMD_M (BIT(2)) -#define SPI_CACHE_FLASH_USR_CMD_V 0x1 -#define SPI_CACHE_FLASH_USR_CMD_S 2 -/* SPI_CACHE_USR_CMD_4BYTE : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: For SPI0 cache read flash with 4 bytes command 1: enable 0:disable.*/ -#define SPI_CACHE_USR_CMD_4BYTE (BIT(1)) -#define SPI_CACHE_USR_CMD_4BYTE_M (BIT(1)) -#define SPI_CACHE_USR_CMD_4BYTE_V 0x1 -#define SPI_CACHE_USR_CMD_4BYTE_S 1 -/* SPI_CACHE_REQ_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: For SPI0 Cache access enable 1: enable 0:disable.*/ -#define SPI_CACHE_REQ_EN (BIT(0)) -#define SPI_CACHE_REQ_EN_M (BIT(0)) -#define SPI_CACHE_REQ_EN_V 0x1 -#define SPI_CACHE_REQ_EN_S 0 - -#define SPI_CACHE_SCTRL_REG(i) (REG_SPI_BASE(i) + 0x54) -/* SPI_CACHE_SRAM_USR_WCMD : R/W ;bitpos:[28] ;default: 1'b1 ; */ -/*description: For SPI0 In the spi sram mode cache write sram for user define command*/ -#define SPI_CACHE_SRAM_USR_WCMD (BIT(28)) -#define SPI_CACHE_SRAM_USR_WCMD_M (BIT(28)) -#define SPI_CACHE_SRAM_USR_WCMD_V 0x1 -#define SPI_CACHE_SRAM_USR_WCMD_S 28 -/* SPI_SRAM_ADDR_BITLEN : R/W ;bitpos:[27:22] ;default: 6'd23 ; */ -/*description: For SPI0 In the sram mode it is the length in bits of address - phase. The register value shall be (bit_num-1).*/ -#define SPI_SRAM_ADDR_BITLEN 0x0000003F -#define SPI_SRAM_ADDR_BITLEN_M ((SPI_SRAM_ADDR_BITLEN_V)<<(SPI_SRAM_ADDR_BITLEN_S)) -#define SPI_SRAM_ADDR_BITLEN_V 0x3F -#define SPI_SRAM_ADDR_BITLEN_S 22 -/* SPI_SRAM_DUMMY_CYCLELEN : R/W ;bitpos:[21:14] ;default: 8'b1 ; */ -/*description: For SPI0 In the sram mode it is the length in bits of address - phase. The register value shall be (bit_num-1).*/ -#define SPI_SRAM_DUMMY_CYCLELEN 0x000000FF -#define SPI_SRAM_DUMMY_CYCLELEN_M ((SPI_SRAM_DUMMY_CYCLELEN_V)<<(SPI_SRAM_DUMMY_CYCLELEN_S)) -#define SPI_SRAM_DUMMY_CYCLELEN_V 0xFF -#define SPI_SRAM_DUMMY_CYCLELEN_S 14 -/* SPI_SRAM_BYTES_LEN : R/W ;bitpos:[13:6] ;default: 8'b32 ; */ -/*description: For SPI0 In the sram mode it is the byte length of spi read sram data.*/ -#define SPI_SRAM_BYTES_LEN 0x000000FF -#define SPI_SRAM_BYTES_LEN_M ((SPI_SRAM_BYTES_LEN_V)<<(SPI_SRAM_BYTES_LEN_S)) -#define SPI_SRAM_BYTES_LEN_V 0xFF -#define SPI_SRAM_BYTES_LEN_S 6 -/* SPI_CACHE_SRAM_USR_RCMD : R/W ;bitpos:[5] ;default: 1'b1 ; */ -/*description: For SPI0 In the spi sram mode cache read sram for user define command.*/ -#define SPI_CACHE_SRAM_USR_RCMD (BIT(5)) -#define SPI_CACHE_SRAM_USR_RCMD_M (BIT(5)) -#define SPI_CACHE_SRAM_USR_RCMD_V 0x1 -#define SPI_CACHE_SRAM_USR_RCMD_S 5 -/* SPI_USR_RD_SRAM_DUMMY : R/W ;bitpos:[4] ;default: 1'b1 ; */ -/*description: For SPI0 In the spi sram mode it is the enable bit of dummy - phase for read operations.*/ -#define SPI_USR_RD_SRAM_DUMMY (BIT(4)) -#define SPI_USR_RD_SRAM_DUMMY_M (BIT(4)) -#define SPI_USR_RD_SRAM_DUMMY_V 0x1 -#define SPI_USR_RD_SRAM_DUMMY_S 4 -/* SPI_USR_WR_SRAM_DUMMY : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: For SPI0 In the spi sram mode it is the enable bit of dummy - phase for write operations.*/ -#define SPI_USR_WR_SRAM_DUMMY (BIT(3)) -#define SPI_USR_WR_SRAM_DUMMY_M (BIT(3)) -#define SPI_USR_WR_SRAM_DUMMY_V 0x1 -#define SPI_USR_WR_SRAM_DUMMY_S 3 -/* SPI_USR_SRAM_QIO : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: For SPI0 In the spi sram mode spi quad I/O mode enable 1: enable 0:disable*/ -#define SPI_USR_SRAM_QIO (BIT(2)) -#define SPI_USR_SRAM_QIO_M (BIT(2)) -#define SPI_USR_SRAM_QIO_V 0x1 -#define SPI_USR_SRAM_QIO_S 2 -/* SPI_USR_SRAM_DIO : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: For SPI0 In the spi sram mode spi dual I/O mode enable 1: enable 0:disable*/ -#define SPI_USR_SRAM_DIO (BIT(1)) -#define SPI_USR_SRAM_DIO_M (BIT(1)) -#define SPI_USR_SRAM_DIO_V 0x1 -#define SPI_USR_SRAM_DIO_S 1 - -#define SPI_SRAM_CMD_REG(i) (REG_SPI_BASE(i) + 0x58) -/* SPI_SRAM_RSTIO : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: For SPI0 SRAM IO mode reset enable. SRAM IO mode reset operation - will be triggered when the bit is set. The bit will be cleared once the operation done*/ -#define SPI_SRAM_RSTIO (BIT(4)) -#define SPI_SRAM_RSTIO_M (BIT(4)) -#define SPI_SRAM_RSTIO_V 0x1 -#define SPI_SRAM_RSTIO_S 4 -/* SPI_SRAM_QIO : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: For SPI0 SRAM QIO mode enable . SRAM QIO enable command will - be send when the bit is set. The bit will be cleared once the operation done.*/ -#define SPI_SRAM_QIO (BIT(1)) -#define SPI_SRAM_QIO_M (BIT(1)) -#define SPI_SRAM_QIO_V 0x1 -#define SPI_SRAM_QIO_S 1 -/* SPI_SRAM_DIO : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: For SPI0 SRAM DIO mode enable . SRAM DIO enable command will - be send when the bit is set. The bit will be cleared once the operation done.*/ -#define SPI_SRAM_DIO (BIT(0)) -#define SPI_SRAM_DIO_M (BIT(0)) -#define SPI_SRAM_DIO_V 0x1 -#define SPI_SRAM_DIO_S 0 - -#define SPI_SRAM_DRD_CMD_REG(i) (REG_SPI_BASE(i) + 0x5C) -/* SPI_CACHE_SRAM_USR_RD_CMD_BITLEN : R/W ;bitpos:[31:28] ;default: 4'h0 ; */ -/*description: For SPI0 When cache mode is enable it is the length in bits of - command phase for SRAM. The register value shall be (bit_num-1).*/ -#define SPI_CACHE_SRAM_USR_RD_CMD_BITLEN 0x0000000F -#define SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_M ((SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_V)<<(SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_S)) -#define SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_V 0xF -#define SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_S 28 -/* SPI_CACHE_SRAM_USR_RD_CMD_VALUE : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: For SPI0 When cache mode is enable it is the read command value - of command phase for SRAM.*/ -#define SPI_CACHE_SRAM_USR_RD_CMD_VALUE 0x0000FFFF -#define SPI_CACHE_SRAM_USR_RD_CMD_VALUE_M ((SPI_CACHE_SRAM_USR_RD_CMD_VALUE_V)<<(SPI_CACHE_SRAM_USR_RD_CMD_VALUE_S)) -#define SPI_CACHE_SRAM_USR_RD_CMD_VALUE_V 0xFFFF -#define SPI_CACHE_SRAM_USR_RD_CMD_VALUE_S 0 - -#define SPI_SRAM_DWR_CMD_REG(i) (REG_SPI_BASE(i) + 0x60) -/* SPI_CACHE_SRAM_USR_WR_CMD_BITLEN : R/W ;bitpos:[31:28] ;default: 4'h0 ; */ -/*description: For SPI0 When cache mode is enable it is the in bits of command - phase for SRAM. The register value shall be (bit_num-1).*/ -#define SPI_CACHE_SRAM_USR_WR_CMD_BITLEN 0x0000000F -#define SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_M ((SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_V)<<(SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_S)) -#define SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_V 0xF -#define SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_S 28 -/* SPI_CACHE_SRAM_USR_WR_CMD_VALUE : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ -/*description: For SPI0 When cache mode is enable it is the write command value - of command phase for SRAM.*/ -#define SPI_CACHE_SRAM_USR_WR_CMD_VALUE 0x0000FFFF -#define SPI_CACHE_SRAM_USR_WR_CMD_VALUE_M ((SPI_CACHE_SRAM_USR_WR_CMD_VALUE_V)<<(SPI_CACHE_SRAM_USR_WR_CMD_VALUE_S)) -#define SPI_CACHE_SRAM_USR_WR_CMD_VALUE_V 0xFFFF -#define SPI_CACHE_SRAM_USR_WR_CMD_VALUE_S 0 - -#define SPI_SLV_RD_BIT_REG(i) (REG_SPI_BASE(i) + 0x64) -/* SPI_SLV_RDATA_BIT : RW ;bitpos:[23:0] ;default: 24'b0 ; */ -/*description: In the slave mode it is the bit length of read data. The value - is the length - 1.*/ -#define SPI_SLV_RDATA_BIT 0x00FFFFFF -#define SPI_SLV_RDATA_BIT_M ((SPI_SLV_RDATA_BIT_V)<<(SPI_SLV_RDATA_BIT_S)) -#define SPI_SLV_RDATA_BIT_V 0xFFFFFF -#define SPI_SLV_RDATA_BIT_S 0 - -#define SPI_W0_REG(i) (REG_SPI_BASE(i) + 0x80) -/* SPI_BUF0 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF0 0xFFFFFFFF -#define SPI_BUF0_M ((SPI_BUF0_V)<<(SPI_BUF0_S)) -#define SPI_BUF0_V 0xFFFFFFFF -#define SPI_BUF0_S 0 - -#define SPI_W1_REG(i) (REG_SPI_BASE(i) + 0x84) -/* SPI_BUF1 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF1 0xFFFFFFFF -#define SPI_BUF1_M ((SPI_BUF1_V)<<(SPI_BUF1_S)) -#define SPI_BUF1_V 0xFFFFFFFF -#define SPI_BUF1_S 0 - -#define SPI_W2_REG(i) (REG_SPI_BASE(i) + 0x88) -/* SPI_BUF2 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF2 0xFFFFFFFF -#define SPI_BUF2_M ((SPI_BUF2_V)<<(SPI_BUF2_S)) -#define SPI_BUF2_V 0xFFFFFFFF -#define SPI_BUF2_S 0 - -#define SPI_W3_REG(i) (REG_SPI_BASE(i) + 0x8C) -/* SPI_BUF3 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF3 0xFFFFFFFF -#define SPI_BUF3_M ((SPI_BUF3_V)<<(SPI_BUF3_S)) -#define SPI_BUF3_V 0xFFFFFFFF -#define SPI_BUF3_S 0 - -#define SPI_W4_REG(i) (REG_SPI_BASE(i) + 0x90) -/* SPI_BUF4 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF4 0xFFFFFFFF -#define SPI_BUF4_M ((SPI_BUF4_V)<<(SPI_BUF4_S)) -#define SPI_BUF4_V 0xFFFFFFFF -#define SPI_BUF4_S 0 - -#define SPI_W5_REG(i) (REG_SPI_BASE(i) + 0x94) -/* SPI_BUF5 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF5 0xFFFFFFFF -#define SPI_BUF5_M ((SPI_BUF5_V)<<(SPI_BUF5_S)) -#define SPI_BUF5_V 0xFFFFFFFF -#define SPI_BUF5_S 0 - -#define SPI_W6_REG(i) (REG_SPI_BASE(i) + 0x98) -/* SPI_BUF6 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF6 0xFFFFFFFF -#define SPI_BUF6_M ((SPI_BUF6_V)<<(SPI_BUF6_S)) -#define SPI_BUF6_V 0xFFFFFFFF -#define SPI_BUF6_S 0 - -#define SPI_W7_REG(i) (REG_SPI_BASE(i) + 0x9C) -/* SPI_BUF7 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF7 0xFFFFFFFF -#define SPI_BUF7_M ((SPI_BUF7_V)<<(SPI_BUF7_S)) -#define SPI_BUF7_V 0xFFFFFFFF -#define SPI_BUF7_S 0 - -#define SPI_W8_REG(i) (REG_SPI_BASE(i) + 0xA0) -/* SPI_BUF8 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF8 0xFFFFFFFF -#define SPI_BUF8_M ((SPI_BUF8_V)<<(SPI_BUF8_S)) -#define SPI_BUF8_V 0xFFFFFFFF -#define SPI_BUF8_S 0 - -#define SPI_W9_REG(i) (REG_SPI_BASE(i) + 0xA4) -/* SPI_BUF9 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF9 0xFFFFFFFF -#define SPI_BUF9_M ((SPI_BUF9_V)<<(SPI_BUF9_S)) -#define SPI_BUF9_V 0xFFFFFFFF -#define SPI_BUF9_S 0 - -#define SPI_W10_REG(i) (REG_SPI_BASE(i) + 0xA8) -/* SPI_BUF10 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF10 0xFFFFFFFF -#define SPI_BUF10_M ((SPI_BUF10_V)<<(SPI_BUF10_S)) -#define SPI_BUF10_V 0xFFFFFFFF -#define SPI_BUF10_S 0 - -#define SPI_W11_REG(i) (REG_SPI_BASE(i) + 0xAC) -/* SPI_BUF11 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF11 0xFFFFFFFF -#define SPI_BUF11_M ((SPI_BUF11_V)<<(SPI_BUF11_S)) -#define SPI_BUF11_V 0xFFFFFFFF -#define SPI_BUF11_S 0 - -#define SPI_W12_REG(i) (REG_SPI_BASE(i) + 0xB0) -/* SPI_BUF12 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF12 0xFFFFFFFF -#define SPI_BUF12_M ((SPI_BUF12_V)<<(SPI_BUF12_S)) -#define SPI_BUF12_V 0xFFFFFFFF -#define SPI_BUF12_S 0 - -#define SPI_W13_REG(i) (REG_SPI_BASE(i) + 0xB4) -/* SPI_BUF13 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF13 0xFFFFFFFF -#define SPI_BUF13_M ((SPI_BUF13_V)<<(SPI_BUF13_S)) -#define SPI_BUF13_V 0xFFFFFFFF -#define SPI_BUF13_S 0 - -#define SPI_W14_REG(i) (REG_SPI_BASE(i) + 0xB8) -/* SPI_BUF14 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF14 0xFFFFFFFF -#define SPI_BUF14_M ((SPI_BUF14_V)<<(SPI_BUF14_S)) -#define SPI_BUF14_V 0xFFFFFFFF -#define SPI_BUF14_S 0 - -#define SPI_W15_REG(i) (REG_SPI_BASE(i) + 0xBC) -/* SPI_BUF15 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: data buffer*/ -#define SPI_BUF15 0xFFFFFFFF -#define SPI_BUF15_M ((SPI_BUF15_V)<<(SPI_BUF15_S)) -#define SPI_BUF15_V 0xFFFFFFFF -#define SPI_BUF15_S 0 - -#define SPI_TX_CRC_REG(i) (REG_SPI_BASE(i) + 0xC0) -/* SPI_TX_CRC_DATA : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: For SPI1 the value of crc32 for 256 bits data.*/ -#define SPI_TX_CRC_DATA 0xFFFFFFFF -#define SPI_TX_CRC_DATA_M ((SPI_TX_CRC_DATA_V)<<(SPI_TX_CRC_DATA_S)) -#define SPI_TX_CRC_DATA_V 0xFFFFFFFF -#define SPI_TX_CRC_DATA_S 0 - -#define SPI_EXT0_REG(i) (REG_SPI_BASE(i) + 0xF0) -/* SPI_T_PP_ENA : R/W ;bitpos:[31] ;default: 1'b1 ; */ -/*description: page program delay enable.*/ -#define SPI_T_PP_ENA (BIT(31)) -#define SPI_T_PP_ENA_M (BIT(31)) -#define SPI_T_PP_ENA_V 0x1 -#define SPI_T_PP_ENA_S 31 -/* SPI_T_PP_SHIFT : R/W ;bitpos:[19:16] ;default: 4'd10 ; */ -/*description: page program delay time shift .*/ -#define SPI_T_PP_SHIFT 0x0000000F -#define SPI_T_PP_SHIFT_M ((SPI_T_PP_SHIFT_V)<<(SPI_T_PP_SHIFT_S)) -#define SPI_T_PP_SHIFT_V 0xF -#define SPI_T_PP_SHIFT_S 16 -/* SPI_T_PP_TIME : R/W ;bitpos:[11:0] ;default: 12'd80 ; */ -/*description: page program delay time by system clock.*/ -#define SPI_T_PP_TIME 0x00000FFF -#define SPI_T_PP_TIME_M ((SPI_T_PP_TIME_V)<<(SPI_T_PP_TIME_S)) -#define SPI_T_PP_TIME_V 0xFFF -#define SPI_T_PP_TIME_S 0 - -#define SPI_EXT1_REG(i) (REG_SPI_BASE(i) + 0xF4) -/* SPI_T_ERASE_ENA : R/W ;bitpos:[31] ;default: 1'b1 ; */ -/*description: erase flash delay enable.*/ -#define SPI_T_ERASE_ENA (BIT(31)) -#define SPI_T_ERASE_ENA_M (BIT(31)) -#define SPI_T_ERASE_ENA_V 0x1 -#define SPI_T_ERASE_ENA_S 31 -/* SPI_T_ERASE_SHIFT : R/W ;bitpos:[19:16] ;default: 4'd15 ; */ -/*description: erase flash delay time shift.*/ -#define SPI_T_ERASE_SHIFT 0x0000000F -#define SPI_T_ERASE_SHIFT_M ((SPI_T_ERASE_SHIFT_V)<<(SPI_T_ERASE_SHIFT_S)) -#define SPI_T_ERASE_SHIFT_V 0xF -#define SPI_T_ERASE_SHIFT_S 16 -/* SPI_T_ERASE_TIME : R/W ;bitpos:[11:0] ;default: 12'd0 ; */ -/*description: erase flash delay time by system clock.*/ -#define SPI_T_ERASE_TIME 0x00000FFF -#define SPI_T_ERASE_TIME_M ((SPI_T_ERASE_TIME_V)<<(SPI_T_ERASE_TIME_S)) -#define SPI_T_ERASE_TIME_V 0xFFF -#define SPI_T_ERASE_TIME_S 0 - -#define SPI_EXT2_REG(i) (REG_SPI_BASE(i) + 0xF8) -/* SPI_ST : RO ;bitpos:[2:0] ;default: 3'b0 ; */ -/*description: The status of spi state machine .*/ -#define SPI_ST 0x00000007 -#define SPI_ST_M ((SPI_ST_V)<<(SPI_ST_S)) -#define SPI_ST_V 0x7 -#define SPI_ST_S 0 - -#define SPI_EXT3_REG(i) (REG_SPI_BASE(i) + 0xFC) -/* SPI_INT_HOLD_ENA : R/W ;bitpos:[1:0] ;default: 2'b0 ; */ -/*description: This register is for two SPI masters to share the same cs clock - and data signals. The bits of one SPI are set if the other SPI is busy the SPI will be hold. 1(3): hold at ¡°idle¡± phase 2: hold at ¡°prepare¡± phase.*/ -#define SPI_INT_HOLD_ENA 0x00000003 -#define SPI_INT_HOLD_ENA_M ((SPI_INT_HOLD_ENA_V)<<(SPI_INT_HOLD_ENA_S)) -#define SPI_INT_HOLD_ENA_V 0x3 -#define SPI_INT_HOLD_ENA_S 0 - -#define SPI_DMA_CONF_REG(i) (REG_SPI_BASE(i) + 0x100) -/* SPI_DMA_CONTINUE : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: spi dma continue tx/rx data.*/ -#define SPI_DMA_CONTINUE (BIT(16)) -#define SPI_DMA_CONTINUE_M (BIT(16)) -#define SPI_DMA_CONTINUE_V 0x1 -#define SPI_DMA_CONTINUE_S 16 -/* SPI_DMA_TX_STOP : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: spi dma write data stop when in continue tx/rx mode.*/ -#define SPI_DMA_TX_STOP (BIT(15)) -#define SPI_DMA_TX_STOP_M (BIT(15)) -#define SPI_DMA_TX_STOP_V 0x1 -#define SPI_DMA_TX_STOP_S 15 -/* SPI_DMA_RX_STOP : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: spi dma read data stop when in continue tx/rx mode.*/ -#define SPI_DMA_RX_STOP (BIT(14)) -#define SPI_DMA_RX_STOP_M (BIT(14)) -#define SPI_DMA_RX_STOP_V 0x1 -#define SPI_DMA_RX_STOP_S 14 -/* SPI_OUT_DATA_BURST_EN : R/W ;bitpos:[12] ;default: 1'b0 ; */ -/*description: spi dma read data from memory in burst mode.*/ -#define SPI_OUT_DATA_BURST_EN (BIT(12)) -#define SPI_OUT_DATA_BURST_EN_M (BIT(12)) -#define SPI_OUT_DATA_BURST_EN_V 0x1 -#define SPI_OUT_DATA_BURST_EN_S 12 -/* SPI_INDSCR_BURST_EN : R/W ;bitpos:[11] ;default: 1'b0 ; */ -/*description: read descriptor use burst mode when write data to memory.*/ -#define SPI_INDSCR_BURST_EN (BIT(11)) -#define SPI_INDSCR_BURST_EN_M (BIT(11)) -#define SPI_INDSCR_BURST_EN_V 0x1 -#define SPI_INDSCR_BURST_EN_S 11 -/* SPI_OUTDSCR_BURST_EN : R/W ;bitpos:[10] ;default: 1'b0 ; */ -/*description: read descriptor use burst mode when read data for memory.*/ -#define SPI_OUTDSCR_BURST_EN (BIT(10)) -#define SPI_OUTDSCR_BURST_EN_M (BIT(10)) -#define SPI_OUTDSCR_BURST_EN_V 0x1 -#define SPI_OUTDSCR_BURST_EN_S 10 -/* SPI_OUT_EOF_MODE : R/W ;bitpos:[9] ;default: 1'b1 ; */ -/*description: out eof flag generation mode . 1: when dma pop all data from - fifo 0:when ahb push all data to fifo.*/ -#define SPI_OUT_EOF_MODE (BIT(9)) -#define SPI_OUT_EOF_MODE_M (BIT(9)) -#define SPI_OUT_EOF_MODE_V 0x1 -#define SPI_OUT_EOF_MODE_S 9 -/* SPI_OUT_AUTO_WRBACK : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: when the link is empty jump to next automatically.*/ -#define SPI_OUT_AUTO_WRBACK (BIT(8)) -#define SPI_OUT_AUTO_WRBACK_M (BIT(8)) -#define SPI_OUT_AUTO_WRBACK_V 0x1 -#define SPI_OUT_AUTO_WRBACK_S 8 -/* SPI_OUT_LOOP_TEST : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: Set bit to test out link.*/ -#define SPI_OUT_LOOP_TEST (BIT(7)) -#define SPI_OUT_LOOP_TEST_M (BIT(7)) -#define SPI_OUT_LOOP_TEST_V 0x1 -#define SPI_OUT_LOOP_TEST_S 7 -/* SPI_IN_LOOP_TEST : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set bit to test in link.*/ -#define SPI_IN_LOOP_TEST (BIT(6)) -#define SPI_IN_LOOP_TEST_M (BIT(6)) -#define SPI_IN_LOOP_TEST_V 0x1 -#define SPI_IN_LOOP_TEST_S 6 -/* SPI_AHBM_RST : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: reset spi dma ahb master.*/ -#define SPI_AHBM_RST (BIT(5)) -#define SPI_AHBM_RST_M (BIT(5)) -#define SPI_AHBM_RST_V 0x1 -#define SPI_AHBM_RST_S 5 -/* SPI_AHBM_FIFO_RST : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: reset spi dma ahb master fifo pointer.*/ -#define SPI_AHBM_FIFO_RST (BIT(4)) -#define SPI_AHBM_FIFO_RST_M (BIT(4)) -#define SPI_AHBM_FIFO_RST_V 0x1 -#define SPI_AHBM_FIFO_RST_S 4 -/* SPI_OUT_RST : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The bit is used to reset out dma fsm and out data fifo pointer.*/ -#define SPI_OUT_RST (BIT(3)) -#define SPI_OUT_RST_M (BIT(3)) -#define SPI_OUT_RST_V 0x1 -#define SPI_OUT_RST_S 3 -/* SPI_IN_RST : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The bit is used to reset in dma fsm and in data fifo pointer.*/ -#define SPI_IN_RST (BIT(2)) -#define SPI_IN_RST_M (BIT(2)) -#define SPI_IN_RST_V 0x1 -#define SPI_IN_RST_S 2 - -#define SPI_DMA_OUT_LINK_REG(i) (REG_SPI_BASE(i) + 0x104) -/* SPI_OUTLINK_RESTART : R/W ;bitpos:[30] ;default: 1'b0 ; */ -/*description: Set the bit to mount on new outlink descriptors.*/ -#define SPI_OUTLINK_RESTART (BIT(30)) -#define SPI_OUTLINK_RESTART_M (BIT(30)) -#define SPI_OUTLINK_RESTART_V 0x1 -#define SPI_OUTLINK_RESTART_S 30 -/* SPI_OUTLINK_START : R/W ;bitpos:[29] ;default: 1'b0 ; */ -/*description: Set the bit to start to use outlink descriptor.*/ -#define SPI_OUTLINK_START (BIT(29)) -#define SPI_OUTLINK_START_M (BIT(29)) -#define SPI_OUTLINK_START_V 0x1 -#define SPI_OUTLINK_START_S 29 -/* SPI_OUTLINK_STOP : R/W ;bitpos:[28] ;default: 1'b0 ; */ -/*description: Set the bit to stop to use outlink descriptor.*/ -#define SPI_OUTLINK_STOP (BIT(28)) -#define SPI_OUTLINK_STOP_M (BIT(28)) -#define SPI_OUTLINK_STOP_V 0x1 -#define SPI_OUTLINK_STOP_S 28 -/* SPI_OUTLINK_ADDR : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The address of the first outlink descriptor.*/ -#define SPI_OUTLINK_ADDR 0x000FFFFF -#define SPI_OUTLINK_ADDR_M ((SPI_OUTLINK_ADDR_V)<<(SPI_OUTLINK_ADDR_S)) -#define SPI_OUTLINK_ADDR_V 0xFFFFF -#define SPI_OUTLINK_ADDR_S 0 - -#define SPI_DMA_IN_LINK_REG(i) (REG_SPI_BASE(i) + 0x108) -/* SPI_INLINK_RESTART : R/W ;bitpos:[30] ;default: 1'b0 ; */ -/*description: Set the bit to mount on new inlink descriptors.*/ -#define SPI_INLINK_RESTART (BIT(30)) -#define SPI_INLINK_RESTART_M (BIT(30)) -#define SPI_INLINK_RESTART_V 0x1 -#define SPI_INLINK_RESTART_S 30 -/* SPI_INLINK_START : R/W ;bitpos:[29] ;default: 1'b0 ; */ -/*description: Set the bit to start to use inlink descriptor.*/ -#define SPI_INLINK_START (BIT(29)) -#define SPI_INLINK_START_M (BIT(29)) -#define SPI_INLINK_START_V 0x1 -#define SPI_INLINK_START_S 29 -/* SPI_INLINK_STOP : R/W ;bitpos:[28] ;default: 1'b0 ; */ -/*description: Set the bit to stop to use inlink descriptor.*/ -#define SPI_INLINK_STOP (BIT(28)) -#define SPI_INLINK_STOP_M (BIT(28)) -#define SPI_INLINK_STOP_V 0x1 -#define SPI_INLINK_STOP_S 28 -/* SPI_INLINK_AUTO_RET : R/W ;bitpos:[20] ;default: 1'b0 ; */ -/*description: when the bit is set inlink descriptor returns to the next descriptor - while a packet is wrong*/ -#define SPI_INLINK_AUTO_RET (BIT(20)) -#define SPI_INLINK_AUTO_RET_M (BIT(20)) -#define SPI_INLINK_AUTO_RET_V 0x1 -#define SPI_INLINK_AUTO_RET_S 20 -/* SPI_INLINK_ADDR : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ -/*description: The address of the first inlink descriptor.*/ -#define SPI_INLINK_ADDR 0x000FFFFF -#define SPI_INLINK_ADDR_M ((SPI_INLINK_ADDR_V)<<(SPI_INLINK_ADDR_S)) -#define SPI_INLINK_ADDR_V 0xFFFFF -#define SPI_INLINK_ADDR_S 0 - -#define SPI_DMA_STATUS_REG(i) (REG_SPI_BASE(i) + 0x10C) -/* SPI_DMA_TX_EN : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: spi dma write data status bit.*/ -#define SPI_DMA_TX_EN (BIT(1)) -#define SPI_DMA_TX_EN_M (BIT(1)) -#define SPI_DMA_TX_EN_V 0x1 -#define SPI_DMA_TX_EN_S 1 -/* SPI_DMA_RX_EN : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: spi dma read data status bit.*/ -#define SPI_DMA_RX_EN (BIT(0)) -#define SPI_DMA_RX_EN_M (BIT(0)) -#define SPI_DMA_RX_EN_V 0x1 -#define SPI_DMA_RX_EN_S 0 - -#define SPI_DMA_INT_ENA_REG(i) (REG_SPI_BASE(i) + 0x110) -/* SPI_OUT_TOTAL_EOF_INT_ENA : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The enable bit for sending all the packets to host done.*/ -#define SPI_OUT_TOTAL_EOF_INT_ENA (BIT(8)) -#define SPI_OUT_TOTAL_EOF_INT_ENA_M (BIT(8)) -#define SPI_OUT_TOTAL_EOF_INT_ENA_V 0x1 -#define SPI_OUT_TOTAL_EOF_INT_ENA_S 8 -/* SPI_OUT_EOF_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The enable bit for sending a packet to host done.*/ -#define SPI_OUT_EOF_INT_ENA (BIT(7)) -#define SPI_OUT_EOF_INT_ENA_M (BIT(7)) -#define SPI_OUT_EOF_INT_ENA_V 0x1 -#define SPI_OUT_EOF_INT_ENA_S 7 -/* SPI_OUT_DONE_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The enable bit for completing usage of a outlink descriptor .*/ -#define SPI_OUT_DONE_INT_ENA (BIT(6)) -#define SPI_OUT_DONE_INT_ENA_M (BIT(6)) -#define SPI_OUT_DONE_INT_ENA_V 0x1 -#define SPI_OUT_DONE_INT_ENA_S 6 -/* SPI_IN_SUC_EOF_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The enable bit for completing receiving all the packets from host.*/ -#define SPI_IN_SUC_EOF_INT_ENA (BIT(5)) -#define SPI_IN_SUC_EOF_INT_ENA_M (BIT(5)) -#define SPI_IN_SUC_EOF_INT_ENA_V 0x1 -#define SPI_IN_SUC_EOF_INT_ENA_S 5 -/* SPI_IN_ERR_EOF_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The enable bit for receiving error.*/ -#define SPI_IN_ERR_EOF_INT_ENA (BIT(4)) -#define SPI_IN_ERR_EOF_INT_ENA_M (BIT(4)) -#define SPI_IN_ERR_EOF_INT_ENA_V 0x1 -#define SPI_IN_ERR_EOF_INT_ENA_S 4 -/* SPI_IN_DONE_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The enable bit for completing usage of a inlink descriptor.*/ -#define SPI_IN_DONE_INT_ENA (BIT(3)) -#define SPI_IN_DONE_INT_ENA_M (BIT(3)) -#define SPI_IN_DONE_INT_ENA_V 0x1 -#define SPI_IN_DONE_INT_ENA_S 3 -/* SPI_INLINK_DSCR_ERROR_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The enable bit for inlink descriptor error.*/ -#define SPI_INLINK_DSCR_ERROR_INT_ENA (BIT(2)) -#define SPI_INLINK_DSCR_ERROR_INT_ENA_M (BIT(2)) -#define SPI_INLINK_DSCR_ERROR_INT_ENA_V 0x1 -#define SPI_INLINK_DSCR_ERROR_INT_ENA_S 2 -/* SPI_OUTLINK_DSCR_ERROR_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The enable bit for outlink descriptor error.*/ -#define SPI_OUTLINK_DSCR_ERROR_INT_ENA (BIT(1)) -#define SPI_OUTLINK_DSCR_ERROR_INT_ENA_M (BIT(1)) -#define SPI_OUTLINK_DSCR_ERROR_INT_ENA_V 0x1 -#define SPI_OUTLINK_DSCR_ERROR_INT_ENA_S 1 -/* SPI_INLINK_DSCR_EMPTY_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The enable bit for lack of enough inlink descriptors.*/ -#define SPI_INLINK_DSCR_EMPTY_INT_ENA (BIT(0)) -#define SPI_INLINK_DSCR_EMPTY_INT_ENA_M (BIT(0)) -#define SPI_INLINK_DSCR_EMPTY_INT_ENA_V 0x1 -#define SPI_INLINK_DSCR_EMPTY_INT_ENA_S 0 - -#define SPI_DMA_INT_RAW_REG(i) (REG_SPI_BASE(i) + 0x114) -/* SPI_OUT_TOTAL_EOF_INT_RAW : RO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The raw bit for sending all the packets to host done.*/ -#define SPI_OUT_TOTAL_EOF_INT_RAW (BIT(8)) -#define SPI_OUT_TOTAL_EOF_INT_RAW_M (BIT(8)) -#define SPI_OUT_TOTAL_EOF_INT_RAW_V 0x1 -#define SPI_OUT_TOTAL_EOF_INT_RAW_S 8 -/* SPI_OUT_EOF_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The raw bit for sending a packet to host done.*/ -#define SPI_OUT_EOF_INT_RAW (BIT(7)) -#define SPI_OUT_EOF_INT_RAW_M (BIT(7)) -#define SPI_OUT_EOF_INT_RAW_V 0x1 -#define SPI_OUT_EOF_INT_RAW_S 7 -/* SPI_OUT_DONE_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The raw bit for completing usage of a outlink descriptor.*/ -#define SPI_OUT_DONE_INT_RAW (BIT(6)) -#define SPI_OUT_DONE_INT_RAW_M (BIT(6)) -#define SPI_OUT_DONE_INT_RAW_V 0x1 -#define SPI_OUT_DONE_INT_RAW_S 6 -/* SPI_IN_SUC_EOF_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The raw bit for completing receiving all the packets from host.*/ -#define SPI_IN_SUC_EOF_INT_RAW (BIT(5)) -#define SPI_IN_SUC_EOF_INT_RAW_M (BIT(5)) -#define SPI_IN_SUC_EOF_INT_RAW_V 0x1 -#define SPI_IN_SUC_EOF_INT_RAW_S 5 -/* SPI_IN_ERR_EOF_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The raw bit for receiving error.*/ -#define SPI_IN_ERR_EOF_INT_RAW (BIT(4)) -#define SPI_IN_ERR_EOF_INT_RAW_M (BIT(4)) -#define SPI_IN_ERR_EOF_INT_RAW_V 0x1 -#define SPI_IN_ERR_EOF_INT_RAW_S 4 -/* SPI_IN_DONE_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The raw bit for completing usage of a inlink descriptor.*/ -#define SPI_IN_DONE_INT_RAW (BIT(3)) -#define SPI_IN_DONE_INT_RAW_M (BIT(3)) -#define SPI_IN_DONE_INT_RAW_V 0x1 -#define SPI_IN_DONE_INT_RAW_S 3 -/* SPI_INLINK_DSCR_ERROR_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The raw bit for inlink descriptor error.*/ -#define SPI_INLINK_DSCR_ERROR_INT_RAW (BIT(2)) -#define SPI_INLINK_DSCR_ERROR_INT_RAW_M (BIT(2)) -#define SPI_INLINK_DSCR_ERROR_INT_RAW_V 0x1 -#define SPI_INLINK_DSCR_ERROR_INT_RAW_S 2 -/* SPI_OUTLINK_DSCR_ERROR_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The raw bit for outlink descriptor error.*/ -#define SPI_OUTLINK_DSCR_ERROR_INT_RAW (BIT(1)) -#define SPI_OUTLINK_DSCR_ERROR_INT_RAW_M (BIT(1)) -#define SPI_OUTLINK_DSCR_ERROR_INT_RAW_V 0x1 -#define SPI_OUTLINK_DSCR_ERROR_INT_RAW_S 1 -/* SPI_INLINK_DSCR_EMPTY_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The raw bit for lack of enough inlink descriptors.*/ -#define SPI_INLINK_DSCR_EMPTY_INT_RAW (BIT(0)) -#define SPI_INLINK_DSCR_EMPTY_INT_RAW_M (BIT(0)) -#define SPI_INLINK_DSCR_EMPTY_INT_RAW_V 0x1 -#define SPI_INLINK_DSCR_EMPTY_INT_RAW_S 0 - -#define SPI_DMA_INT_ST_REG(i) (REG_SPI_BASE(i) + 0x118) -/* SPI_OUT_TOTAL_EOF_INT_ST : RO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The status bit for sending all the packets to host done.*/ -#define SPI_OUT_TOTAL_EOF_INT_ST (BIT(8)) -#define SPI_OUT_TOTAL_EOF_INT_ST_M (BIT(8)) -#define SPI_OUT_TOTAL_EOF_INT_ST_V 0x1 -#define SPI_OUT_TOTAL_EOF_INT_ST_S 8 -/* SPI_OUT_EOF_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The status bit for sending a packet to host done.*/ -#define SPI_OUT_EOF_INT_ST (BIT(7)) -#define SPI_OUT_EOF_INT_ST_M (BIT(7)) -#define SPI_OUT_EOF_INT_ST_V 0x1 -#define SPI_OUT_EOF_INT_ST_S 7 -/* SPI_OUT_DONE_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The status bit for completing usage of a outlink descriptor.*/ -#define SPI_OUT_DONE_INT_ST (BIT(6)) -#define SPI_OUT_DONE_INT_ST_M (BIT(6)) -#define SPI_OUT_DONE_INT_ST_V 0x1 -#define SPI_OUT_DONE_INT_ST_S 6 -/* SPI_IN_SUC_EOF_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The status bit for completing receiving all the packets from host.*/ -#define SPI_IN_SUC_EOF_INT_ST (BIT(5)) -#define SPI_IN_SUC_EOF_INT_ST_M (BIT(5)) -#define SPI_IN_SUC_EOF_INT_ST_V 0x1 -#define SPI_IN_SUC_EOF_INT_ST_S 5 -/* SPI_IN_ERR_EOF_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The status bit for receiving error.*/ -#define SPI_IN_ERR_EOF_INT_ST (BIT(4)) -#define SPI_IN_ERR_EOF_INT_ST_M (BIT(4)) -#define SPI_IN_ERR_EOF_INT_ST_V 0x1 -#define SPI_IN_ERR_EOF_INT_ST_S 4 -/* SPI_IN_DONE_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The status bit for completing usage of a inlink descriptor.*/ -#define SPI_IN_DONE_INT_ST (BIT(3)) -#define SPI_IN_DONE_INT_ST_M (BIT(3)) -#define SPI_IN_DONE_INT_ST_V 0x1 -#define SPI_IN_DONE_INT_ST_S 3 -/* SPI_INLINK_DSCR_ERROR_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The status bit for inlink descriptor error.*/ -#define SPI_INLINK_DSCR_ERROR_INT_ST (BIT(2)) -#define SPI_INLINK_DSCR_ERROR_INT_ST_M (BIT(2)) -#define SPI_INLINK_DSCR_ERROR_INT_ST_V 0x1 -#define SPI_INLINK_DSCR_ERROR_INT_ST_S 2 -/* SPI_OUTLINK_DSCR_ERROR_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The status bit for outlink descriptor error.*/ -#define SPI_OUTLINK_DSCR_ERROR_INT_ST (BIT(1)) -#define SPI_OUTLINK_DSCR_ERROR_INT_ST_M (BIT(1)) -#define SPI_OUTLINK_DSCR_ERROR_INT_ST_V 0x1 -#define SPI_OUTLINK_DSCR_ERROR_INT_ST_S 1 -/* SPI_INLINK_DSCR_EMPTY_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The status bit for lack of enough inlink descriptors.*/ -#define SPI_INLINK_DSCR_EMPTY_INT_ST (BIT(0)) -#define SPI_INLINK_DSCR_EMPTY_INT_ST_M (BIT(0)) -#define SPI_INLINK_DSCR_EMPTY_INT_ST_V 0x1 -#define SPI_INLINK_DSCR_EMPTY_INT_ST_S 0 - -#define SPI_DMA_INT_CLR_REG(i) (REG_SPI_BASE(i) + 0x11C) -/* SPI_OUT_TOTAL_EOF_INT_CLR : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: The clear bit for sending all the packets to host done.*/ -#define SPI_OUT_TOTAL_EOF_INT_CLR (BIT(8)) -#define SPI_OUT_TOTAL_EOF_INT_CLR_M (BIT(8)) -#define SPI_OUT_TOTAL_EOF_INT_CLR_V 0x1 -#define SPI_OUT_TOTAL_EOF_INT_CLR_S 8 -/* SPI_OUT_EOF_INT_CLR : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: The clear bit for sending a packet to host done.*/ -#define SPI_OUT_EOF_INT_CLR (BIT(7)) -#define SPI_OUT_EOF_INT_CLR_M (BIT(7)) -#define SPI_OUT_EOF_INT_CLR_V 0x1 -#define SPI_OUT_EOF_INT_CLR_S 7 -/* SPI_OUT_DONE_INT_CLR : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: The clear bit for completing usage of a outlink descriptor.*/ -#define SPI_OUT_DONE_INT_CLR (BIT(6)) -#define SPI_OUT_DONE_INT_CLR_M (BIT(6)) -#define SPI_OUT_DONE_INT_CLR_V 0x1 -#define SPI_OUT_DONE_INT_CLR_S 6 -/* SPI_IN_SUC_EOF_INT_CLR : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: The clear bit for completing receiving all the packets from host.*/ -#define SPI_IN_SUC_EOF_INT_CLR (BIT(5)) -#define SPI_IN_SUC_EOF_INT_CLR_M (BIT(5)) -#define SPI_IN_SUC_EOF_INT_CLR_V 0x1 -#define SPI_IN_SUC_EOF_INT_CLR_S 5 -/* SPI_IN_ERR_EOF_INT_CLR : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: The clear bit for receiving error.*/ -#define SPI_IN_ERR_EOF_INT_CLR (BIT(4)) -#define SPI_IN_ERR_EOF_INT_CLR_M (BIT(4)) -#define SPI_IN_ERR_EOF_INT_CLR_V 0x1 -#define SPI_IN_ERR_EOF_INT_CLR_S 4 -/* SPI_IN_DONE_INT_CLR : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: The clear bit for completing usage of a inlink descriptor.*/ -#define SPI_IN_DONE_INT_CLR (BIT(3)) -#define SPI_IN_DONE_INT_CLR_M (BIT(3)) -#define SPI_IN_DONE_INT_CLR_V 0x1 -#define SPI_IN_DONE_INT_CLR_S 3 -/* SPI_INLINK_DSCR_ERROR_INT_CLR : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: The clear bit for inlink descriptor error.*/ -#define SPI_INLINK_DSCR_ERROR_INT_CLR (BIT(2)) -#define SPI_INLINK_DSCR_ERROR_INT_CLR_M (BIT(2)) -#define SPI_INLINK_DSCR_ERROR_INT_CLR_V 0x1 -#define SPI_INLINK_DSCR_ERROR_INT_CLR_S 2 -/* SPI_OUTLINK_DSCR_ERROR_INT_CLR : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: The clear bit for outlink descriptor error.*/ -#define SPI_OUTLINK_DSCR_ERROR_INT_CLR (BIT(1)) -#define SPI_OUTLINK_DSCR_ERROR_INT_CLR_M (BIT(1)) -#define SPI_OUTLINK_DSCR_ERROR_INT_CLR_V 0x1 -#define SPI_OUTLINK_DSCR_ERROR_INT_CLR_S 1 -/* SPI_INLINK_DSCR_EMPTY_INT_CLR : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: The clear bit for lack of enough inlink descriptors.*/ -#define SPI_INLINK_DSCR_EMPTY_INT_CLR (BIT(0)) -#define SPI_INLINK_DSCR_EMPTY_INT_CLR_M (BIT(0)) -#define SPI_INLINK_DSCR_EMPTY_INT_CLR_V 0x1 -#define SPI_INLINK_DSCR_EMPTY_INT_CLR_S 0 - -#define SPI_IN_ERR_EOF_DES_ADDR_REG(i) (REG_SPI_BASE(i) + 0x120) -/* SPI_DMA_IN_ERR_EOF_DES_ADDR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: The inlink descriptor address when spi dma produce receiving error.*/ -#define SPI_DMA_IN_ERR_EOF_DES_ADDR 0xFFFFFFFF -#define SPI_DMA_IN_ERR_EOF_DES_ADDR_M ((SPI_DMA_IN_ERR_EOF_DES_ADDR_V)<<(SPI_DMA_IN_ERR_EOF_DES_ADDR_S)) -#define SPI_DMA_IN_ERR_EOF_DES_ADDR_V 0xFFFFFFFF -#define SPI_DMA_IN_ERR_EOF_DES_ADDR_S 0 - -#define SPI_IN_SUC_EOF_DES_ADDR_REG(i) (REG_SPI_BASE(i) + 0x124) -/* SPI_DMA_IN_SUC_EOF_DES_ADDR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: The last inlink descriptor address when spi dma produce from_suc_eof.*/ -#define SPI_DMA_IN_SUC_EOF_DES_ADDR 0xFFFFFFFF -#define SPI_DMA_IN_SUC_EOF_DES_ADDR_M ((SPI_DMA_IN_SUC_EOF_DES_ADDR_V)<<(SPI_DMA_IN_SUC_EOF_DES_ADDR_S)) -#define SPI_DMA_IN_SUC_EOF_DES_ADDR_V 0xFFFFFFFF -#define SPI_DMA_IN_SUC_EOF_DES_ADDR_S 0 - -#define SPI_INLINK_DSCR_REG(i) (REG_SPI_BASE(i) + 0x128) -/* SPI_DMA_INLINK_DSCR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: The content of current in descriptor pointer.*/ -#define SPI_DMA_INLINK_DSCR 0xFFFFFFFF -#define SPI_DMA_INLINK_DSCR_M ((SPI_DMA_INLINK_DSCR_V)<<(SPI_DMA_INLINK_DSCR_S)) -#define SPI_DMA_INLINK_DSCR_V 0xFFFFFFFF -#define SPI_DMA_INLINK_DSCR_S 0 - -#define SPI_INLINK_DSCR_BF0_REG(i) (REG_SPI_BASE(i) + 0x12C) -/* SPI_DMA_INLINK_DSCR_BF0 : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: The content of next in descriptor pointer.*/ -#define SPI_DMA_INLINK_DSCR_BF0 0xFFFFFFFF -#define SPI_DMA_INLINK_DSCR_BF0_M ((SPI_DMA_INLINK_DSCR_BF0_V)<<(SPI_DMA_INLINK_DSCR_BF0_S)) -#define SPI_DMA_INLINK_DSCR_BF0_V 0xFFFFFFFF -#define SPI_DMA_INLINK_DSCR_BF0_S 0 - -#define SPI_INLINK_DSCR_BF1_REG(i) (REG_SPI_BASE(i) + 0x130) -/* SPI_DMA_INLINK_DSCR_BF1 : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: The content of current in descriptor data buffer pointer.*/ -#define SPI_DMA_INLINK_DSCR_BF1 0xFFFFFFFF -#define SPI_DMA_INLINK_DSCR_BF1_M ((SPI_DMA_INLINK_DSCR_BF1_V)<<(SPI_DMA_INLINK_DSCR_BF1_S)) -#define SPI_DMA_INLINK_DSCR_BF1_V 0xFFFFFFFF -#define SPI_DMA_INLINK_DSCR_BF1_S 0 - -#define SPI_OUT_EOF_BFR_DES_ADDR_REG(i) (REG_SPI_BASE(i) + 0x134) -/* SPI_DMA_OUT_EOF_BFR_DES_ADDR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: The address of buffer relative to the outlink descriptor that produce eof.*/ -#define SPI_DMA_OUT_EOF_BFR_DES_ADDR 0xFFFFFFFF -#define SPI_DMA_OUT_EOF_BFR_DES_ADDR_M ((SPI_DMA_OUT_EOF_BFR_DES_ADDR_V)<<(SPI_DMA_OUT_EOF_BFR_DES_ADDR_S)) -#define SPI_DMA_OUT_EOF_BFR_DES_ADDR_V 0xFFFFFFFF -#define SPI_DMA_OUT_EOF_BFR_DES_ADDR_S 0 - -#define SPI_OUT_EOF_DES_ADDR_REG(i) (REG_SPI_BASE(i) + 0x138) -/* SPI_DMA_OUT_EOF_DES_ADDR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: The last outlink descriptor address when spi dma produce to_eof.*/ -#define SPI_DMA_OUT_EOF_DES_ADDR 0xFFFFFFFF -#define SPI_DMA_OUT_EOF_DES_ADDR_M ((SPI_DMA_OUT_EOF_DES_ADDR_V)<<(SPI_DMA_OUT_EOF_DES_ADDR_S)) -#define SPI_DMA_OUT_EOF_DES_ADDR_V 0xFFFFFFFF -#define SPI_DMA_OUT_EOF_DES_ADDR_S 0 - -#define SPI_OUTLINK_DSCR_REG(i) (REG_SPI_BASE(i) + 0x13C) -/* SPI_DMA_OUTLINK_DSCR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: The content of current out descriptor pointer.*/ -#define SPI_DMA_OUTLINK_DSCR 0xFFFFFFFF -#define SPI_DMA_OUTLINK_DSCR_M ((SPI_DMA_OUTLINK_DSCR_V)<<(SPI_DMA_OUTLINK_DSCR_S)) -#define SPI_DMA_OUTLINK_DSCR_V 0xFFFFFFFF -#define SPI_DMA_OUTLINK_DSCR_S 0 - -#define SPI_OUTLINK_DSCR_BF0_REG(i) (REG_SPI_BASE(i) + 0x140) -/* SPI_DMA_OUTLINK_DSCR_BF0 : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: The content of next out descriptor pointer.*/ -#define SPI_DMA_OUTLINK_DSCR_BF0 0xFFFFFFFF -#define SPI_DMA_OUTLINK_DSCR_BF0_M ((SPI_DMA_OUTLINK_DSCR_BF0_V)<<(SPI_DMA_OUTLINK_DSCR_BF0_S)) -#define SPI_DMA_OUTLINK_DSCR_BF0_V 0xFFFFFFFF -#define SPI_DMA_OUTLINK_DSCR_BF0_S 0 - -#define SPI_OUTLINK_DSCR_BF1_REG(i) (REG_SPI_BASE(i) + 0x144) -/* SPI_DMA_OUTLINK_DSCR_BF1 : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: The content of current out descriptor data buffer pointer.*/ -#define SPI_DMA_OUTLINK_DSCR_BF1 0xFFFFFFFF -#define SPI_DMA_OUTLINK_DSCR_BF1_M ((SPI_DMA_OUTLINK_DSCR_BF1_V)<<(SPI_DMA_OUTLINK_DSCR_BF1_S)) -#define SPI_DMA_OUTLINK_DSCR_BF1_V 0xFFFFFFFF -#define SPI_DMA_OUTLINK_DSCR_BF1_S 0 - -#define SPI_DMA_RSTATUS_REG(i) (REG_SPI_BASE(i) + 0x148) -/* SPI_DMA_OUT_STATUS : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: spi dma read data from memory status.*/ -#define SPI_DMA_OUT_STATUS 0xFFFFFFFF -#define SPI_DMA_OUT_STATUS_M ((SPI_DMA_OUT_STATUS_V)<<(SPI_DMA_OUT_STATUS_S)) -#define SPI_DMA_OUT_STATUS_V 0xFFFFFFFF -#define SPI_DMA_OUT_STATUS_S 0 - -#define SPI_DMA_TSTATUS_REG(i) (REG_SPI_BASE(i) + 0x14C) -/* SPI_DMA_IN_STATUS : RO ;bitpos:[31:0] ;default: 32'b0 ; */ -/*description: spi dma write data to memory status.*/ -#define SPI_DMA_IN_STATUS 0xFFFFFFFF -#define SPI_DMA_IN_STATUS_M ((SPI_DMA_IN_STATUS_V)<<(SPI_DMA_IN_STATUS_S)) -#define SPI_DMA_IN_STATUS_V 0xFFFFFFFF -#define SPI_DMA_IN_STATUS_S 0 - -#define SPI_DATE_REG(i) (REG_SPI_BASE(i) + 0x3FC) -/* SPI_DATE : RO ;bitpos:[27:0] ;default: 32'h1604270 ; */ -/*description: SPI register version.*/ -#define SPI_DATE 0x0FFFFFFF -#define SPI_DATE_M ((SPI_DATE_V)<<(SPI_DATE_S)) -#define SPI_DATE_V 0xFFFFFFF -#define SPI_DATE_S 0 - - - - -#endif /*__SPI_REG_H__ */ - - + +#define SPI_CTRL_REG(i) (REG_SPI_BASE(i) + 0x8) +/* SPI_WR_BIT_ORDER : R/W ;bitpos:[26] ;default: 1'b0 ; */ +/*description: In command address write-data (MOSI) phases 1: LSB firs 0: MSB first*/ +#define SPI_WR_BIT_ORDER (BIT(26)) +#define SPI_WR_BIT_ORDER_M (BIT(26)) +#define SPI_WR_BIT_ORDER_V 0x1 +#define SPI_WR_BIT_ORDER_S 26 +/* SPI_RD_BIT_ORDER : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: In read-data (MISO) phase 1: LSB first 0: MSB first*/ +#define SPI_RD_BIT_ORDER (BIT(25)) +#define SPI_RD_BIT_ORDER_M (BIT(25)) +#define SPI_RD_BIT_ORDER_V 0x1 +#define SPI_RD_BIT_ORDER_S 25 +/* SPI_FREAD_QIO : R/W ;bitpos:[24] ;default: 1'b0 ; */ +/*description: In the read operations address phase and read-data phase apply + 4 signals. 1: enable 0: disable.*/ +#define SPI_FREAD_QIO (BIT(24)) +#define SPI_FREAD_QIO_M (BIT(24)) +#define SPI_FREAD_QIO_V 0x1 +#define SPI_FREAD_QIO_S 24 +/* SPI_FREAD_DIO : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: In the read operations address phase and read-data phase apply + 2 signals. 1: enable 0: disable.*/ +#define SPI_FREAD_DIO (BIT(23)) +#define SPI_FREAD_DIO_M (BIT(23)) +#define SPI_FREAD_DIO_V 0x1 +#define SPI_FREAD_DIO_S 23 +/* SPI_WRSR_2B : R/W ;bitpos:[22] ;default: 1'b0 ; */ +/*description: two bytes data will be written to status register when it is + set. 1: enable 0: disable.*/ +#define SPI_WRSR_2B (BIT(22)) +#define SPI_WRSR_2B_M (BIT(22)) +#define SPI_WRSR_2B_V 0x1 +#define SPI_WRSR_2B_S 22 +/* SPI_WP_REG : R/W ;bitpos:[21] ;default: 1'b1 ; */ +/*description: Write protect signal output when SPI is idle. 1: output high 0: output low.*/ +#define SPI_WP_REG (BIT(21)) +#define SPI_WP_REG_M (BIT(21)) +#define SPI_WP_REG_V 0x1 +#define SPI_WP_REG_S 21 +/* SPI_FREAD_QUAD : R/W ;bitpos:[20] ;default: 1'b0 ; */ +/*description: In the read operations read-data phase apply 4 signals. 1: enable 0: disable.*/ +#define SPI_FREAD_QUAD (BIT(20)) +#define SPI_FREAD_QUAD_M (BIT(20)) +#define SPI_FREAD_QUAD_V 0x1 +#define SPI_FREAD_QUAD_S 20 +/* SPI_RESANDRES : R/W ;bitpos:[15] ;default: 1'b1 ; */ +/*description: The Device ID is read out to SPI_RD_STATUS register, this bit + combine with spi_flash_res bit. 1: enable 0: disable.*/ +#define SPI_RESANDRES (BIT(15)) +#define SPI_RESANDRES_M (BIT(15)) +#define SPI_RESANDRES_V 0x1 +#define SPI_RESANDRES_S 15 +/* SPI_FREAD_DUAL : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: In the read operations read-data phase apply 2 signals. 1: enable 0: disable.*/ +#define SPI_FREAD_DUAL (BIT(14)) +#define SPI_FREAD_DUAL_M (BIT(14)) +#define SPI_FREAD_DUAL_V 0x1 +#define SPI_FREAD_DUAL_S 14 +/* SPI_FASTRD_MODE : R/W ;bitpos:[13] ;default: 1'b1 ; */ +/*description: This bit enable the bits: spi_fread_qio spi_fread_dio spi_fread_qout + and spi_fread_dout. 1: enable 0: disable.*/ +#define SPI_FASTRD_MODE (BIT(13)) +#define SPI_FASTRD_MODE_M (BIT(13)) +#define SPI_FASTRD_MODE_V 0x1 +#define SPI_FASTRD_MODE_S 13 +/* SPI_WAIT_FLASH_IDLE_EN : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: wait flash idle when program flash or erase flash. 1: enable 0: disable.*/ +#define SPI_WAIT_FLASH_IDLE_EN (BIT(12)) +#define SPI_WAIT_FLASH_IDLE_EN_M (BIT(12)) +#define SPI_WAIT_FLASH_IDLE_EN_V 0x1 +#define SPI_WAIT_FLASH_IDLE_EN_S 12 +/* SPI_TX_CRC_EN : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: For SPI1 enable crc32 when writing encrypted data to flash. + 1: enable 0:disable*/ +#define SPI_TX_CRC_EN (BIT(11)) +#define SPI_TX_CRC_EN_M (BIT(11)) +#define SPI_TX_CRC_EN_V 0x1 +#define SPI_TX_CRC_EN_S 11 +/* SPI_FCS_CRC_EN : R/W ;bitpos:[10] ;default: 1'b1 ; */ +/*description: For SPI1 initialize crc32 module before writing encrypted data + to flash. Active low.*/ +#define SPI_FCS_CRC_EN (BIT(10)) +#define SPI_FCS_CRC_EN_M (BIT(10)) +#define SPI_FCS_CRC_EN_V 0x1 +#define SPI_FCS_CRC_EN_S 10 + +#define SPI_CTRL1_REG(i) (REG_SPI_BASE(i) + 0xC) +/* SPI_CS_HOLD_DELAY : R/W ;bitpos:[31:28] ;default: 4'h5 ; */ +/*description: SPI cs signal is delayed by spi clock cycles*/ +#define SPI_CS_HOLD_DELAY 0x0000000F +#define SPI_CS_HOLD_DELAY_M ((SPI_CS_HOLD_DELAY_V)<<(SPI_CS_HOLD_DELAY_S)) +#define SPI_CS_HOLD_DELAY_V 0xF +#define SPI_CS_HOLD_DELAY_S 28 +/* SPI_CS_HOLD_DELAY_RES : R/W ;bitpos:[27:16] ;default: 12'hfff ; */ +/*description: Delay cycles of resume Flash when resume Flash is enable by spi clock.*/ +#define SPI_CS_HOLD_DELAY_RES 0x00000FFF +#define SPI_CS_HOLD_DELAY_RES_M ((SPI_CS_HOLD_DELAY_RES_V)<<(SPI_CS_HOLD_DELAY_RES_S)) +#define SPI_CS_HOLD_DELAY_RES_V 0xFFF +#define SPI_CS_HOLD_DELAY_RES_S 16 + +#define SPI_RD_STATUS_REG(i) (REG_SPI_BASE(i) + 0x10) +/* SPI_STATUS_EXT : R/W ;bitpos:[31:24] ;default: 8'h00 ; */ +/*description: In the slave mode,it is the status for master to read out.*/ +#define SPI_STATUS_EXT 0x000000FF +#define SPI_STATUS_EXT_M ((SPI_STATUS_EXT_V)<<(SPI_STATUS_EXT_S)) +#define SPI_STATUS_EXT_V 0xFF +#define SPI_STATUS_EXT_S 24 +/* SPI_WB_MODE : R/W ;bitpos:[23:16] ;default: 8'h00 ; */ +/*description: Mode bits in the flash fast read mode, it is combined with spi_fastrd_mode bit.*/ +#define SPI_WB_MODE 0x000000FF +#define SPI_WB_MODE_M ((SPI_WB_MODE_V)<<(SPI_WB_MODE_S)) +#define SPI_WB_MODE_V 0xFF +#define SPI_WB_MODE_S 16 +/* SPI_STATUS : R/W ;bitpos:[15:0] ;default: 16'b0 ; */ +/*description: In the slave mode, it is the status for master to read out.*/ +#define SPI_STATUS 0x0000FFFF +#define SPI_STATUS_M ((SPI_STATUS_V)<<(SPI_STATUS_S)) +#define SPI_STATUS_V 0xFFFF +#define SPI_STATUS_S 0 + +#define SPI_CTRL2_REG(i) (REG_SPI_BASE(i) + 0x14) +/* SPI_CS_DELAY_NUM : R/W ;bitpos:[31:28] ;default: 4'h0 ; */ +/*description: spi_cs signal is delayed by system clock cycles*/ +#define SPI_CS_DELAY_NUM 0x0000000F +#define SPI_CS_DELAY_NUM_M ((SPI_CS_DELAY_NUM_V)<<(SPI_CS_DELAY_NUM_S)) +#define SPI_CS_DELAY_NUM_V 0xF +#define SPI_CS_DELAY_NUM_S 28 +/* SPI_CS_DELAY_MODE : R/W ;bitpos:[27:26] ;default: 2'h0 ; */ +/*description: spi_cs signal is delayed by spi_clk . 0: zero 1: if spi_ck_out_edge + or spi_ck_i_edge is set 1 delayed by half cycle else delayed by one cycle 2: if spi_ck_out_edge or spi_ck_i_edge is set 1 delayed by one cycle else delayed by half cycle 3: delayed one cycle*/ +#define SPI_CS_DELAY_MODE 0x00000003 +#define SPI_CS_DELAY_MODE_M ((SPI_CS_DELAY_MODE_V)<<(SPI_CS_DELAY_MODE_S)) +#define SPI_CS_DELAY_MODE_V 0x3 +#define SPI_CS_DELAY_MODE_S 26 +/* SPI_MOSI_DELAY_NUM : R/W ;bitpos:[25:23] ;default: 3'h0 ; */ +/*description: MOSI signals are delayed by system clock cycles*/ +#define SPI_MOSI_DELAY_NUM 0x00000007 +#define SPI_MOSI_DELAY_NUM_M ((SPI_MOSI_DELAY_NUM_V)<<(SPI_MOSI_DELAY_NUM_S)) +#define SPI_MOSI_DELAY_NUM_V 0x7 +#define SPI_MOSI_DELAY_NUM_S 23 +/* SPI_MOSI_DELAY_MODE : R/W ;bitpos:[22:21] ;default: 2'h0 ; */ +/*description: MOSI signals are delayed by spi_clk. 0: zero 1: if spi_ck_out_edge + or spi_ck_i_edge is set 1 delayed by half cycle else delayed by one cycle 2: if spi_ck_out_edge or spi_ck_i_edge is set 1 delayed by one cycle else delayed by half cycle 3: delayed one cycle*/ +#define SPI_MOSI_DELAY_MODE 0x00000003 +#define SPI_MOSI_DELAY_MODE_M ((SPI_MOSI_DELAY_MODE_V)<<(SPI_MOSI_DELAY_MODE_S)) +#define SPI_MOSI_DELAY_MODE_V 0x3 +#define SPI_MOSI_DELAY_MODE_S 21 +/* SPI_MISO_DELAY_NUM : R/W ;bitpos:[20:18] ;default: 3'h0 ; */ +/*description: MISO signals are delayed by system clock cycles*/ +#define SPI_MISO_DELAY_NUM 0x00000007 +#define SPI_MISO_DELAY_NUM_M ((SPI_MISO_DELAY_NUM_V)<<(SPI_MISO_DELAY_NUM_S)) +#define SPI_MISO_DELAY_NUM_V 0x7 +#define SPI_MISO_DELAY_NUM_S 18 +/* SPI_MISO_DELAY_MODE : R/W ;bitpos:[17:16] ;default: 2'h0 ; */ +/*description: MISO signals are delayed by spi_clk. 0: zero 1: if spi_ck_out_edge + or spi_ck_i_edge is set 1 delayed by half cycle else delayed by one cycle 2: if spi_ck_out_edge or spi_ck_i_edge is set 1 delayed by one cycle else delayed by half cycle 3: delayed one cycle*/ +#define SPI_MISO_DELAY_MODE 0x00000003 +#define SPI_MISO_DELAY_MODE_M ((SPI_MISO_DELAY_MODE_V)<<(SPI_MISO_DELAY_MODE_S)) +#define SPI_MISO_DELAY_MODE_V 0x3 +#define SPI_MISO_DELAY_MODE_S 16 +/* SPI_CK_OUT_HIGH_MODE : R/W ;bitpos:[15:12] ;default: 4'h0 ; */ +/*description: modify spi clock duty ratio when the value is lager than 8, + the bits are combined with spi_clkcnt_N bits and spi_clkcnt_H bits.*/ +#define SPI_CK_OUT_HIGH_MODE 0x0000000F +#define SPI_CK_OUT_HIGH_MODE_M ((SPI_CK_OUT_HIGH_MODE_V)<<(SPI_CK_OUT_HIGH_MODE_S)) +#define SPI_CK_OUT_HIGH_MODE_V 0xF +#define SPI_CK_OUT_HIGH_MODE_S 12 +/* SPI_CK_OUT_LOW_MODE : R/W ;bitpos:[11:8] ;default: 4'h0 ; */ +/*description: modify spi clock duty ratio when the value is lager than 8, + the bits are combined with spi_clkcnt_N bits and spi_clkcnt_L bits.*/ +#define SPI_CK_OUT_LOW_MODE 0x0000000F +#define SPI_CK_OUT_LOW_MODE_M ((SPI_CK_OUT_LOW_MODE_V)<<(SPI_CK_OUT_LOW_MODE_S)) +#define SPI_CK_OUT_LOW_MODE_V 0xF +#define SPI_CK_OUT_LOW_MODE_S 8 +/* SPI_HOLD_TIME : R/W ;bitpos:[7:4] ;default: 4'h1 ; */ +/*description: delay cycles of cs pin by spi clock, this bits combined with spi_cs_hold bit.*/ +#define SPI_HOLD_TIME 0x0000000F +#define SPI_HOLD_TIME_M ((SPI_HOLD_TIME_V)<<(SPI_HOLD_TIME_S)) +#define SPI_HOLD_TIME_V 0xF +#define SPI_HOLD_TIME_S 4 +/* SPI_SETUP_TIME : R/W ;bitpos:[3:0] ;default: 4'h1 ; */ +/*description: (cycles-1) of ¡°prepare¡± phase by spi clock, this bits combined + with spi_cs_setup bit.*/ +#define SPI_SETUP_TIME 0x0000000F +#define SPI_SETUP_TIME_M ((SPI_SETUP_TIME_V)<<(SPI_SETUP_TIME_S)) +#define SPI_SETUP_TIME_V 0xF +#define SPI_SETUP_TIME_S 0 + +#define SPI_CLOCK_REG(i) (REG_SPI_BASE(i) + 0x18) +/* SPI_CLK_EQU_SYSCLK : R/W ;bitpos:[31] ;default: 1'b1 ; */ +/*description: In the master mode 1: spi_clk is eqaul to system 0: spi_clk is + divided from system clock.*/ +#define SPI_CLK_EQU_SYSCLK (BIT(31)) +#define SPI_CLK_EQU_SYSCLK_M (BIT(31)) +#define SPI_CLK_EQU_SYSCLK_V 0x1 +#define SPI_CLK_EQU_SYSCLK_S 31 +/* SPI_CLKDIV_PRE : R/W ;bitpos:[30:18] ;default: 13'b0 ; */ +/*description: In the master mode it is pre-divider of spi_clk.*/ +#define SPI_CLKDIV_PRE 0x00001FFF +#define SPI_CLKDIV_PRE_M ((SPI_CLKDIV_PRE_V)<<(SPI_CLKDIV_PRE_S)) +#define SPI_CLKDIV_PRE_V 0x1FFF +#define SPI_CLKDIV_PRE_S 18 +/* SPI_CLKCNT_N : R/W ;bitpos:[17:12] ;default: 6'h3 ; */ +/*description: In the master mode it is the divider of spi_clk. So spi_clk frequency + is system/(spi_clkdiv_pre+1)/(spi_clkcnt_N+1)*/ +#define SPI_CLKCNT_N 0x0000003F +#define SPI_CLKCNT_N_M ((SPI_CLKCNT_N_V)<<(SPI_CLKCNT_N_S)) +#define SPI_CLKCNT_N_V 0x3F +#define SPI_CLKCNT_N_S 12 +/* SPI_CLKCNT_H : R/W ;bitpos:[11:6] ;default: 6'h1 ; */ +/*description: In the master mode it must be floor((spi_clkcnt_N+1)/2-1). In + the slave mode it must be 0.*/ +#define SPI_CLKCNT_H 0x0000003F +#define SPI_CLKCNT_H_M ((SPI_CLKCNT_H_V)<<(SPI_CLKCNT_H_S)) +#define SPI_CLKCNT_H_V 0x3F +#define SPI_CLKCNT_H_S 6 +/* SPI_CLKCNT_L : R/W ;bitpos:[5:0] ;default: 6'h3 ; */ +/*description: In the master mode it must be equal to spi_clkcnt_N. In the slave + mode it must be 0.*/ +#define SPI_CLKCNT_L 0x0000003F +#define SPI_CLKCNT_L_M ((SPI_CLKCNT_L_V)<<(SPI_CLKCNT_L_S)) +#define SPI_CLKCNT_L_V 0x3F +#define SPI_CLKCNT_L_S 0 + +#define SPI_USER_REG(i) (REG_SPI_BASE(i) + 0x1C) +/* SPI_USR_COMMAND : R/W ;bitpos:[31] ;default: 1'b1 ; */ +/*description: This bit enable the command phase of an operation.*/ +#define SPI_USR_COMMAND (BIT(31)) +#define SPI_USR_COMMAND_M (BIT(31)) +#define SPI_USR_COMMAND_V 0x1 +#define SPI_USR_COMMAND_S 31 +/* SPI_USR_ADDR : R/W ;bitpos:[30] ;default: 1'b0 ; */ +/*description: This bit enable the address phase of an operation.*/ +#define SPI_USR_ADDR (BIT(30)) +#define SPI_USR_ADDR_M (BIT(30)) +#define SPI_USR_ADDR_V 0x1 +#define SPI_USR_ADDR_S 30 +/* SPI_USR_DUMMY : R/W ;bitpos:[29] ;default: 1'b0 ; */ +/*description: This bit enable the dummy phase of an operation.*/ +#define SPI_USR_DUMMY (BIT(29)) +#define SPI_USR_DUMMY_M (BIT(29)) +#define SPI_USR_DUMMY_V 0x1 +#define SPI_USR_DUMMY_S 29 +/* SPI_USR_MISO : R/W ;bitpos:[28] ;default: 1'b0 ; */ +/*description: This bit enable the read-data phase of an operation.*/ +#define SPI_USR_MISO (BIT(28)) +#define SPI_USR_MISO_M (BIT(28)) +#define SPI_USR_MISO_V 0x1 +#define SPI_USR_MISO_S 28 +/* SPI_USR_MOSI : R/W ;bitpos:[27] ;default: 1'b0 ; */ +/*description: This bit enable the write-data phase of an operation.*/ +#define SPI_USR_MOSI (BIT(27)) +#define SPI_USR_MOSI_M (BIT(27)) +#define SPI_USR_MOSI_V 0x1 +#define SPI_USR_MOSI_S 27 +/* SPI_USR_DUMMY_IDLE : R/W ;bitpos:[26] ;default: 1'b0 ; */ +/*description: spi clock is disable in dummy phase when the bit is enable.*/ +#define SPI_USR_DUMMY_IDLE (BIT(26)) +#define SPI_USR_DUMMY_IDLE_M (BIT(26)) +#define SPI_USR_DUMMY_IDLE_V 0x1 +#define SPI_USR_DUMMY_IDLE_S 26 +/* SPI_USR_MOSI_HIGHPART : R/W ;bitpos:[25] ;default: 1'b0 ; */ +/*description: write-data phase only access to high-part of the buffer spi_w8~spi_w15. + 1: enable 0: disable.*/ +#define SPI_USR_MOSI_HIGHPART (BIT(25)) +#define SPI_USR_MOSI_HIGHPART_M (BIT(25)) +#define SPI_USR_MOSI_HIGHPART_V 0x1 +#define SPI_USR_MOSI_HIGHPART_S 25 +/* SPI_USR_MISO_HIGHPART : R/W ;bitpos:[24] ;default: 1'b0 ; */ +/*description: read-data phase only access to high-part of the buffer spi_w8~spi_w15. + 1: enable 0: disable.*/ +#define SPI_USR_MISO_HIGHPART (BIT(24)) +#define SPI_USR_MISO_HIGHPART_M (BIT(24)) +#define SPI_USR_MISO_HIGHPART_V 0x1 +#define SPI_USR_MISO_HIGHPART_S 24 +/* SPI_USR_PREP_HOLD : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: spi is hold at prepare state the bit combined with spi_usr_hold_pol bit.*/ +#define SPI_USR_PREP_HOLD (BIT(23)) +#define SPI_USR_PREP_HOLD_M (BIT(23)) +#define SPI_USR_PREP_HOLD_V 0x1 +#define SPI_USR_PREP_HOLD_S 23 +/* SPI_USR_CMD_HOLD : R/W ;bitpos:[22] ;default: 1'b0 ; */ +/*description: spi is hold at command state the bit combined with spi_usr_hold_pol bit.*/ +#define SPI_USR_CMD_HOLD (BIT(22)) +#define SPI_USR_CMD_HOLD_M (BIT(22)) +#define SPI_USR_CMD_HOLD_V 0x1 +#define SPI_USR_CMD_HOLD_S 22 +/* SPI_USR_ADDR_HOLD : R/W ;bitpos:[21] ;default: 1'b0 ; */ +/*description: spi is hold at address state the bit combined with spi_usr_hold_pol bit.*/ +#define SPI_USR_ADDR_HOLD (BIT(21)) +#define SPI_USR_ADDR_HOLD_M (BIT(21)) +#define SPI_USR_ADDR_HOLD_V 0x1 +#define SPI_USR_ADDR_HOLD_S 21 +/* SPI_USR_DUMMY_HOLD : R/W ;bitpos:[20] ;default: 1'b0 ; */ +/*description: spi is hold at dummy state the bit combined with spi_usr_hold_pol bit.*/ +#define SPI_USR_DUMMY_HOLD (BIT(20)) +#define SPI_USR_DUMMY_HOLD_M (BIT(20)) +#define SPI_USR_DUMMY_HOLD_V 0x1 +#define SPI_USR_DUMMY_HOLD_S 20 +/* SPI_USR_DIN_HOLD : R/W ;bitpos:[19] ;default: 1'b0 ; */ +/*description: spi is hold at data in state the bit combined with spi_usr_hold_pol bit.*/ +#define SPI_USR_DIN_HOLD (BIT(19)) +#define SPI_USR_DIN_HOLD_M (BIT(19)) +#define SPI_USR_DIN_HOLD_V 0x1 +#define SPI_USR_DIN_HOLD_S 19 +/* SPI_USR_DOUT_HOLD : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: spi is hold at data out state the bit combined with spi_usr_hold_pol bit.*/ +#define SPI_USR_DOUT_HOLD (BIT(18)) +#define SPI_USR_DOUT_HOLD_M (BIT(18)) +#define SPI_USR_DOUT_HOLD_V 0x1 +#define SPI_USR_DOUT_HOLD_S 18 +/* SPI_USR_HOLD_POL : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: It is combined with hold bits to set the polarity of spi hold + line 1: spi will be held when spi hold line is high 0: spi will be held when spi hold line is low*/ +#define SPI_USR_HOLD_POL (BIT(17)) +#define SPI_USR_HOLD_POL_M (BIT(17)) +#define SPI_USR_HOLD_POL_V 0x1 +#define SPI_USR_HOLD_POL_S 17 +/* SPI_SIO : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: Set the bit to enable 3-line half duplex communication mosi + and miso signals share the same pin. 1: enable 0: disable.*/ +#define SPI_SIO (BIT(16)) +#define SPI_SIO_M (BIT(16)) +#define SPI_SIO_V 0x1 +#define SPI_SIO_S 16 +/* SPI_FWRITE_QIO : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: In the write operations address phase and read-data phase apply 4 signals.*/ +#define SPI_FWRITE_QIO (BIT(15)) +#define SPI_FWRITE_QIO_M (BIT(15)) +#define SPI_FWRITE_QIO_V 0x1 +#define SPI_FWRITE_QIO_S 15 +/* SPI_FWRITE_DIO : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: In the write operations address phase and read-data phase apply 2 signals.*/ +#define SPI_FWRITE_DIO (BIT(14)) +#define SPI_FWRITE_DIO_M (BIT(14)) +#define SPI_FWRITE_DIO_V 0x1 +#define SPI_FWRITE_DIO_S 14 +/* SPI_FWRITE_QUAD : R/W ;bitpos:[13] ;default: 1'b0 ; */ +/*description: In the write operations read-data phase apply 4 signals*/ +#define SPI_FWRITE_QUAD (BIT(13)) +#define SPI_FWRITE_QUAD_M (BIT(13)) +#define SPI_FWRITE_QUAD_V 0x1 +#define SPI_FWRITE_QUAD_S 13 +/* SPI_FWRITE_DUAL : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: In the write operations read-data phase apply 2 signals*/ +#define SPI_FWRITE_DUAL (BIT(12)) +#define SPI_FWRITE_DUAL_M (BIT(12)) +#define SPI_FWRITE_DUAL_V 0x1 +#define SPI_FWRITE_DUAL_S 12 +/* SPI_WR_BYTE_ORDER : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: In command address write-data (MOSI) phases 1: big-endian 0: litte_endian*/ +#define SPI_WR_BYTE_ORDER (BIT(11)) +#define SPI_WR_BYTE_ORDER_M (BIT(11)) +#define SPI_WR_BYTE_ORDER_V 0x1 +#define SPI_WR_BYTE_ORDER_S 11 +/* SPI_RD_BYTE_ORDER : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: In read-data (MISO) phase 1: big-endian 0: little_endian*/ +#define SPI_RD_BYTE_ORDER (BIT(10)) +#define SPI_RD_BYTE_ORDER_M (BIT(10)) +#define SPI_RD_BYTE_ORDER_V 0x1 +#define SPI_RD_BYTE_ORDER_S 10 +/* SPI_CK_OUT_EDGE : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: the bit combined with spi_mosi_delay_mode bits to set mosi signal delay mode.*/ +#define SPI_CK_OUT_EDGE (BIT(7)) +#define SPI_CK_OUT_EDGE_M (BIT(7)) +#define SPI_CK_OUT_EDGE_V 0x1 +#define SPI_CK_OUT_EDGE_S 7 +/* SPI_CK_I_EDGE : R/W ;bitpos:[6] ;default: 1'b1 ; */ +/*description: In the slave mode the bit is same as spi_ck_out_edge in master + mode. It is combined with spi_miso_delay_mode bits.*/ +#define SPI_CK_I_EDGE (BIT(6)) +#define SPI_CK_I_EDGE_M (BIT(6)) +#define SPI_CK_I_EDGE_V 0x1 +#define SPI_CK_I_EDGE_S 6 +/* SPI_CS_SETUP : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: spi cs is enable when spi is in ¡°prepare¡± phase. 1: enable 0: disable.*/ +#define SPI_CS_SETUP (BIT(5)) +#define SPI_CS_SETUP_M (BIT(5)) +#define SPI_CS_SETUP_V 0x1 +#define SPI_CS_SETUP_S 5 +/* SPI_CS_HOLD : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: spi cs keep low when spi is in ¡°done¡± phase. 1: enable 0: disable.*/ +#define SPI_CS_HOLD (BIT(4)) +#define SPI_CS_HOLD_M (BIT(4)) +#define SPI_CS_HOLD_V 0x1 +#define SPI_CS_HOLD_S 4 +/* SPI_DOUTDIN : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: Set the bit to enable full duplex communication. 1: enable 0: disable.*/ +#define SPI_DOUTDIN (BIT(0)) +#define SPI_DOUTDIN_M (BIT(0)) +#define SPI_DOUTDIN_V 0x1 +#define SPI_DOUTDIN_S 0 + +#define SPI_USER1_REG(i) (REG_SPI_BASE(i) + 0x20) +/* SPI_USR_ADDR_BITLEN : RO ;bitpos:[31:26] ;default: 6'd23 ; */ +/*description: The length in bits of address phase. The register value shall be (bit_num-1).*/ +#define SPI_USR_ADDR_BITLEN 0x0000003F +#define SPI_USR_ADDR_BITLEN_M ((SPI_USR_ADDR_BITLEN_V)<<(SPI_USR_ADDR_BITLEN_S)) +#define SPI_USR_ADDR_BITLEN_V 0x3F +#define SPI_USR_ADDR_BITLEN_S 26 +/* SPI_USR_DUMMY_CYCLELEN : R/W ;bitpos:[7:0] ;default: 8'd7 ; */ +/*description: The length in spi_clk cycles of dummy phase. The register value + shall be (cycle_num-1).*/ +#define SPI_USR_DUMMY_CYCLELEN 0x000000FF +#define SPI_USR_DUMMY_CYCLELEN_M ((SPI_USR_DUMMY_CYCLELEN_V)<<(SPI_USR_DUMMY_CYCLELEN_S)) +#define SPI_USR_DUMMY_CYCLELEN_V 0xFF +#define SPI_USR_DUMMY_CYCLELEN_S 0 + +#define SPI_USER2_REG(i) (REG_SPI_BASE(i) + 0x24) +/* SPI_USR_COMMAND_BITLEN : R/W ;bitpos:[31:28] ;default: 4'd7 ; */ +/*description: The length in bits of command phase. The register value shall be (bit_num-1)*/ +#define SPI_USR_COMMAND_BITLEN 0x0000000F +#define SPI_USR_COMMAND_BITLEN_M ((SPI_USR_COMMAND_BITLEN_V)<<(SPI_USR_COMMAND_BITLEN_S)) +#define SPI_USR_COMMAND_BITLEN_V 0xF +#define SPI_USR_COMMAND_BITLEN_S 28 +/* SPI_USR_COMMAND_VALUE : R/W ;bitpos:[15:0] ;default: 16'b0 ; */ +/*description: The value of command.*/ +#define SPI_USR_COMMAND_VALUE 0x0000FFFF +#define SPI_USR_COMMAND_VALUE_M ((SPI_USR_COMMAND_VALUE_V)<<(SPI_USR_COMMAND_VALUE_S)) +#define SPI_USR_COMMAND_VALUE_V 0xFFFF +#define SPI_USR_COMMAND_VALUE_S 0 + +#define SPI_MOSI_DLEN_REG(i) (REG_SPI_BASE(i) + 0x28) +/* SPI_USR_MOSI_DBITLEN : R/W ;bitpos:[23:0] ;default: 24'h0 ; */ +/*description: The length in bits of write-data. The register value shall be (bit_num-1).*/ +#define SPI_USR_MOSI_DBITLEN 0x00FFFFFF +#define SPI_USR_MOSI_DBITLEN_M ((SPI_USR_MOSI_DBITLEN_V)<<(SPI_USR_MOSI_DBITLEN_S)) +#define SPI_USR_MOSI_DBITLEN_V 0xFFFFFF +#define SPI_USR_MOSI_DBITLEN_S 0 + +#define SPI_MISO_DLEN_REG(i) (REG_SPI_BASE(i) + 0x2C) +/* SPI_USR_MISO_DBITLEN : R/W ;bitpos:[23:0] ;default: 24'h0 ; */ +/*description: The length in bits of read-data. The register value shall be (bit_num-1).*/ +#define SPI_USR_MISO_DBITLEN 0x00FFFFFF +#define SPI_USR_MISO_DBITLEN_M ((SPI_USR_MISO_DBITLEN_V)<<(SPI_USR_MISO_DBITLEN_S)) +#define SPI_USR_MISO_DBITLEN_V 0xFFFFFF +#define SPI_USR_MISO_DBITLEN_S 0 + +#define SPI_SLV_WR_STATUS_REG(i) (REG_SPI_BASE(i) + 0x30) +/* SPI_SLV_WR_ST : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: In the slave mode this register are the status register for the + master to write into. In the master mode this register are the higher 32bits in the 64 bits address condition.*/ +#define SPI_SLV_WR_ST 0xFFFFFFFF +#define SPI_SLV_WR_ST_M ((SPI_SLV_WR_ST_V)<<(SPI_SLV_WR_ST_S)) +#define SPI_SLV_WR_ST_V 0xFFFFFFFF +#define SPI_SLV_WR_ST_S 0 + +#define SPI_PIN_REG(i) (REG_SPI_BASE(i) + 0x34) +/* SPI_CS_KEEP_ACTIVE : R/W ;bitpos:[30] ;default: 1'b0 ; */ +/*description: spi cs line keep low when the bit is set.*/ +#define SPI_CS_KEEP_ACTIVE (BIT(30)) +#define SPI_CS_KEEP_ACTIVE_M (BIT(30)) +#define SPI_CS_KEEP_ACTIVE_V 0x1 +#define SPI_CS_KEEP_ACTIVE_S 30 +/* SPI_CK_IDLE_EDGE : R/W ;bitpos:[29] ;default: 1'b0 ; */ +/*description: 1: spi clk line is high when idle 0: spi clk line is low when idle*/ +#define SPI_CK_IDLE_EDGE (BIT(29)) +#define SPI_CK_IDLE_EDGE_M (BIT(29)) +#define SPI_CK_IDLE_EDGE_V 0x1 +#define SPI_CK_IDLE_EDGE_S 29 +/* SPI_MASTER_CK_SEL : R/W ;bitpos:[13:11] ;default: 3'b0 ; */ +/*description: In the master mode spi cs line is enable as spi clk it is combined + with spi_cs0_dis spi_cs1_dis spi_cs2_dis.*/ +#define SPI_MASTER_CK_SEL 0x00000007 +#define SPI_MASTER_CK_SEL_M ((SPI_MASTER_CK_SEL_V)<<(SPI_MASTER_CK_SEL_S)) +#define SPI_MASTER_CK_SEL_V 0x07 +#define SPI_MASTER_CK_SEL_S 11 +/* SPI_MASTER_CS_POL : R/W ;bitpos:[8:6] ;default: 3'b0 ; */ +/*description: In the master mode the bits are the polarity of spi cs line + the value is equivalent to spi_cs ^ spi_master_cs_pol.*/ +#define SPI_MASTER_CS_POL 0x00000007 +#define SPI_MASTER_CS_POL_M ((SPI_MASTER_CS_POL_V)<<(SPI_MASTER_CS_POL_S)) +#define SPI_MASTER_CS_POL_V 0x7 +#define SPI_MASTER_CS_POL_S 6 +/* SPI_CK_DIS : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: 1: spi clk out disable 0: spi clk out enable*/ +#define SPI_CK_DIS (BIT(5)) +#define SPI_CK_DIS_M (BIT(5)) +#define SPI_CK_DIS_V 0x1 +#define SPI_CK_DIS_S 5 +/* SPI_CS2_DIS : R/W ;bitpos:[2] ;default: 1'b1 ; */ +/*description: SPI CS2 pin enable, 1: disable CS2, 0: spi_cs2 signal is from/to CS2 pin*/ +#define SPI_CS2_DIS (BIT(2)) +#define SPI_CS2_DIS_M (BIT(2)) +#define SPI_CS2_DIS_V 0x1 +#define SPI_CS2_DIS_S 2 +/* SPI_CS1_DIS : R/W ;bitpos:[1] ;default: 1'b1 ; */ +/*description: SPI CS1 pin enable, 1: disable CS1, 0: spi_cs1 signal is from/to CS1 pin*/ +#define SPI_CS1_DIS (BIT(1)) +#define SPI_CS1_DIS_M (BIT(1)) +#define SPI_CS1_DIS_V 0x1 +#define SPI_CS1_DIS_S 1 +/* SPI_CS0_DIS : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: SPI CS0 pin enable, 1: disable CS0, 0: spi_cs0 signal is from/to CS0 pin*/ +#define SPI_CS0_DIS (BIT(0)) +#define SPI_CS0_DIS_M (BIT(0)) +#define SPI_CS0_DIS_V 0x1 +#define SPI_CS0_DIS_S 0 + +#define SPI_SLAVE_REG(i) (REG_SPI_BASE(i) + 0x38) +/* SPI_SYNC_RESET : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: Software reset enable, reset the spi clock line cs line and data lines.*/ +#define SPI_SYNC_RESET (BIT(31)) +#define SPI_SYNC_RESET_M (BIT(31)) +#define SPI_SYNC_RESET_V 0x1 +#define SPI_SYNC_RESET_S 31 +/* SPI_SLAVE_MODE : R/W ;bitpos:[30] ;default: 1'b0 ; */ +/*description: 1: slave mode 0: master mode.*/ +#define SPI_SLAVE_MODE (BIT(30)) +#define SPI_SLAVE_MODE_M (BIT(30)) +#define SPI_SLAVE_MODE_V 0x1 +#define SPI_SLAVE_MODE_S 30 +/* SPI_SLV_WR_RD_BUF_EN : R/W ;bitpos:[29] ;default: 1'b0 ; */ +/*description: write and read buffer enable in the slave mode*/ +#define SPI_SLV_WR_RD_BUF_EN (BIT(29)) +#define SPI_SLV_WR_RD_BUF_EN_M (BIT(29)) +#define SPI_SLV_WR_RD_BUF_EN_V 0x1 +#define SPI_SLV_WR_RD_BUF_EN_S 29 +/* SPI_SLV_WR_RD_STA_EN : R/W ;bitpos:[28] ;default: 1'b0 ; */ +/*description: write and read status enable in the slave mode*/ +#define SPI_SLV_WR_RD_STA_EN (BIT(28)) +#define SPI_SLV_WR_RD_STA_EN_M (BIT(28)) +#define SPI_SLV_WR_RD_STA_EN_V 0x1 +#define SPI_SLV_WR_RD_STA_EN_S 28 +/* SPI_SLV_CMD_DEFINE : R/W ;bitpos:[27] ;default: 1'b0 ; */ +/*description: 1: slave mode commands are defined in SPI_SLAVE3. 0: slave mode + commands are fixed as: 1: write-status 2: write-buffer and 3: read-buffer.*/ +#define SPI_SLV_CMD_DEFINE (BIT(27)) +#define SPI_SLV_CMD_DEFINE_M (BIT(27)) +#define SPI_SLV_CMD_DEFINE_V 0x1 +#define SPI_SLV_CMD_DEFINE_S 27 +/* SPI_TRANS_CNT : RO ;bitpos:[26:23] ;default: 4'b0 ; */ +/*description: The operations counter in both the master mode and the slave + mode. 4: read-status*/ +#define SPI_TRANS_CNT 0x0000000F +#define SPI_TRANS_CNT_M ((SPI_TRANS_CNT_V)<<(SPI_TRANS_CNT_S)) +#define SPI_TRANS_CNT_V 0xF +#define SPI_TRANS_CNT_S 23 +/* SPI_SLV_LAST_STATE : RO ;bitpos:[22:20] ;default: 3'b0 ; */ +/*description: In the slave mode it is the state of spi state machine.*/ +#define SPI_SLV_LAST_STATE 0x00000007 +#define SPI_SLV_LAST_STATE_M ((SPI_SLV_LAST_STATE_V)<<(SPI_SLV_LAST_STATE_S)) +#define SPI_SLV_LAST_STATE_V 0x7 +#define SPI_SLV_LAST_STATE_S 20 +/* SPI_SLV_LAST_COMMAND : RO ;bitpos:[19:17] ;default: 3'b0 ; */ +/*description: In the slave mode it is the value of command.*/ +#define SPI_SLV_LAST_COMMAND 0x00000007 +#define SPI_SLV_LAST_COMMAND_M ((SPI_SLV_LAST_COMMAND_V)<<(SPI_SLV_LAST_COMMAND_S)) +#define SPI_SLV_LAST_COMMAND_V 0x7 +#define SPI_SLV_LAST_COMMAND_S 17 +/* SPI_CS_I_MODE : R/W ;bitpos:[11:10] ;default: 2'b0 ; */ +/*description: In the slave mode this bits used to synchronize the input spi + cs signal and eliminate spi cs jitter.*/ +#define SPI_CS_I_MODE 0x00000003 +#define SPI_CS_I_MODE_M ((SPI_CS_I_MODE_V)<<(SPI_CS_I_MODE_S)) +#define SPI_CS_I_MODE_V 0x3 +#define SPI_CS_I_MODE_S 10 +/* SPI_INT_EN : R/W ;bitpos:[9:5] ;default: 5'b1_0000 ; */ +/*description: Interrupt enable bits for the below 5 sources*/ +#define SPI_INT_EN 0x0000001F +#define SPI_INT_EN_M ((SPI_INT_EN_V)<<(SPI_INT_EN_S)) +#define SPI_INT_EN_V 0x1F +#define SPI_INT_EN_S 5 +/* SPI_TRANS_DONE : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for the completion of any operation in + both the master mode and the slave mode.*/ +#define SPI_TRANS_DONE (BIT(4)) +#define SPI_TRANS_DONE_M (BIT(4)) +#define SPI_TRANS_DONE_V 0x1 +#define SPI_TRANS_DONE_S 4 +/* SPI_SLV_WR_STA_DONE : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for the completion of write-status operation + in the slave mode.*/ +#define SPI_SLV_WR_STA_DONE (BIT(3)) +#define SPI_SLV_WR_STA_DONE_M (BIT(3)) +#define SPI_SLV_WR_STA_DONE_V 0x1 +#define SPI_SLV_WR_STA_DONE_S 3 +/* SPI_SLV_RD_STA_DONE : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for the completion of read-status operation + in the slave mode.*/ +#define SPI_SLV_RD_STA_DONE (BIT(2)) +#define SPI_SLV_RD_STA_DONE_M (BIT(2)) +#define SPI_SLV_RD_STA_DONE_V 0x1 +#define SPI_SLV_RD_STA_DONE_S 2 +/* SPI_SLV_WR_BUF_DONE : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for the completion of write-buffer operation + in the slave mode.*/ +#define SPI_SLV_WR_BUF_DONE (BIT(1)) +#define SPI_SLV_WR_BUF_DONE_M (BIT(1)) +#define SPI_SLV_WR_BUF_DONE_V 0x1 +#define SPI_SLV_WR_BUF_DONE_S 1 +/* SPI_SLV_RD_BUF_DONE : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The interrupt raw bit for the completion of read-buffer operation + in the slave mode.*/ +#define SPI_SLV_RD_BUF_DONE (BIT(0)) +#define SPI_SLV_RD_BUF_DONE_M (BIT(0)) +#define SPI_SLV_RD_BUF_DONE_V 0x1 +#define SPI_SLV_RD_BUF_DONE_S 0 + +#define SPI_SLAVE1_REG(i) (REG_SPI_BASE(i) + 0x3C) +/* SPI_SLV_STATUS_BITLEN : R/W ;bitpos:[31:27] ;default: 5'b0 ; */ +/*description: In the slave mode it is the length of status bit.*/ +#define SPI_SLV_STATUS_BITLEN 0x0000001F +#define SPI_SLV_STATUS_BITLEN_M ((SPI_SLV_STATUS_BITLEN_V)<<(SPI_SLV_STATUS_BITLEN_S)) +#define SPI_SLV_STATUS_BITLEN_V 0x1F +#define SPI_SLV_STATUS_BITLEN_S 27 +/* SPI_SLV_STATUS_FAST_EN : R/W ;bitpos:[26] ;default: 1'b0 ; */ +/*description: In the slave mode enable fast read status.*/ +#define SPI_SLV_STATUS_FAST_EN (BIT(26)) +#define SPI_SLV_STATUS_FAST_EN_M (BIT(26)) +#define SPI_SLV_STATUS_FAST_EN_V 0x1 +#define SPI_SLV_STATUS_FAST_EN_S 26 +/* SPI_SLV_STATUS_READBACK : R/W ;bitpos:[25] ;default: 1'b1 ; */ +/*description: In the slave mode 1:read register of SPI_SLV_WR_STATUS 0: read + register of SPI_RD_STATUS.*/ +#define SPI_SLV_STATUS_READBACK (BIT(25)) +#define SPI_SLV_STATUS_READBACK_M (BIT(25)) +#define SPI_SLV_STATUS_READBACK_V 0x1 +#define SPI_SLV_STATUS_READBACK_S 25 +/* SPI_SLV_RD_ADDR_BITLEN : R/W ;bitpos:[15:10] ;default: 6'h0 ; */ +/*description: In the slave mode it is the address length in bits for read-buffer + operation. The register value shall be (bit_num-1).*/ +#define SPI_SLV_RD_ADDR_BITLEN 0x0000003F +#define SPI_SLV_RD_ADDR_BITLEN_M ((SPI_SLV_RD_ADDR_BITLEN_V)<<(SPI_SLV_RD_ADDR_BITLEN_S)) +#define SPI_SLV_RD_ADDR_BITLEN_V 0x3F +#define SPI_SLV_RD_ADDR_BITLEN_S 10 +/* SPI_SLV_WR_ADDR_BITLEN : R/W ;bitpos:[9:4] ;default: 6'h0 ; */ +/*description: In the slave mode it is the address length in bits for write-buffer + operation. The register value shall be (bit_num-1).*/ +#define SPI_SLV_WR_ADDR_BITLEN 0x0000003F +#define SPI_SLV_WR_ADDR_BITLEN_M ((SPI_SLV_WR_ADDR_BITLEN_V)<<(SPI_SLV_WR_ADDR_BITLEN_S)) +#define SPI_SLV_WR_ADDR_BITLEN_V 0x3F +#define SPI_SLV_WR_ADDR_BITLEN_S 4 +/* SPI_SLV_WRSTA_DUMMY_EN : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: In the slave mode it is the enable bit of dummy phase for write-status + operations.*/ +#define SPI_SLV_WRSTA_DUMMY_EN (BIT(3)) +#define SPI_SLV_WRSTA_DUMMY_EN_M (BIT(3)) +#define SPI_SLV_WRSTA_DUMMY_EN_V 0x1 +#define SPI_SLV_WRSTA_DUMMY_EN_S 3 +/* SPI_SLV_RDSTA_DUMMY_EN : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: In the slave mode it is the enable bit of dummy phase for read-status + operations.*/ +#define SPI_SLV_RDSTA_DUMMY_EN (BIT(2)) +#define SPI_SLV_RDSTA_DUMMY_EN_M (BIT(2)) +#define SPI_SLV_RDSTA_DUMMY_EN_V 0x1 +#define SPI_SLV_RDSTA_DUMMY_EN_S 2 +/* SPI_SLV_WRBUF_DUMMY_EN : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: In the slave mode it is the enable bit of dummy phase for write-buffer + operations.*/ +#define SPI_SLV_WRBUF_DUMMY_EN (BIT(1)) +#define SPI_SLV_WRBUF_DUMMY_EN_M (BIT(1)) +#define SPI_SLV_WRBUF_DUMMY_EN_V 0x1 +#define SPI_SLV_WRBUF_DUMMY_EN_S 1 +/* SPI_SLV_RDBUF_DUMMY_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: In the slave mode it is the enable bit of dummy phase for read-buffer + operations.*/ +#define SPI_SLV_RDBUF_DUMMY_EN (BIT(0)) +#define SPI_SLV_RDBUF_DUMMY_EN_M (BIT(0)) +#define SPI_SLV_RDBUF_DUMMY_EN_V 0x1 +#define SPI_SLV_RDBUF_DUMMY_EN_S 0 + +#define SPI_SLAVE2_REG(i) (REG_SPI_BASE(i) + 0x40) +/* SPI_SLV_WRBUF_DUMMY_CYCLELEN : R/W ;bitpos:[31:24] ;default: 8'b0 ; */ +/*description: In the slave mode it is the length in spi_clk cycles of dummy + phase for write-buffer operations. The register value shall be (cycle_num-1).*/ +#define SPI_SLV_WRBUF_DUMMY_CYCLELEN 0x000000FF +#define SPI_SLV_WRBUF_DUMMY_CYCLELEN_M ((SPI_SLV_WRBUF_DUMMY_CYCLELEN_V)<<(SPI_SLV_WRBUF_DUMMY_CYCLELEN_S)) +#define SPI_SLV_WRBUF_DUMMY_CYCLELEN_V 0xFF +#define SPI_SLV_WRBUF_DUMMY_CYCLELEN_S 24 +/* SPI_SLV_RDBUF_DUMMY_CYCLELEN : R/W ;bitpos:[23:16] ;default: 8'h0 ; */ +/*description: In the slave mode it is the length in spi_clk cycles of dummy + phase for read-buffer operations. The register value shall be (cycle_num-1).*/ +#define SPI_SLV_RDBUF_DUMMY_CYCLELEN 0x000000FF +#define SPI_SLV_RDBUF_DUMMY_CYCLELEN_M ((SPI_SLV_RDBUF_DUMMY_CYCLELEN_V)<<(SPI_SLV_RDBUF_DUMMY_CYCLELEN_S)) +#define SPI_SLV_RDBUF_DUMMY_CYCLELEN_V 0xFF +#define SPI_SLV_RDBUF_DUMMY_CYCLELEN_S 16 +/* SPI_SLV_WRSTA_DUMMY_CYCLELEN : R/W ;bitpos:[15:8] ;default: 8'h0 ; */ +/*description: In the slave mode it is the length in spi_clk cycles of dummy + phase for write-status operations. The register value shall be (cycle_num-1).*/ +#define SPI_SLV_WRSTA_DUMMY_CYCLELEN 0x000000FF +#define SPI_SLV_WRSTA_DUMMY_CYCLELEN_M ((SPI_SLV_WRSTA_DUMMY_CYCLELEN_V)<<(SPI_SLV_WRSTA_DUMMY_CYCLELEN_S)) +#define SPI_SLV_WRSTA_DUMMY_CYCLELEN_V 0xFF +#define SPI_SLV_WRSTA_DUMMY_CYCLELEN_S 8 +/* SPI_SLV_RDSTA_DUMMY_CYCLELEN : R/W ;bitpos:[7:0] ;default: 8'h0 ; */ +/*description: In the slave mode it is the length in spi_clk cycles of dummy + phase for read-status operations. The register value shall be (cycle_num-1).*/ +#define SPI_SLV_RDSTA_DUMMY_CYCLELEN 0x000000FF +#define SPI_SLV_RDSTA_DUMMY_CYCLELEN_M ((SPI_SLV_RDSTA_DUMMY_CYCLELEN_V)<<(SPI_SLV_RDSTA_DUMMY_CYCLELEN_S)) +#define SPI_SLV_RDSTA_DUMMY_CYCLELEN_V 0xFF +#define SPI_SLV_RDSTA_DUMMY_CYCLELEN_S 0 + +#define SPI_SLAVE3_REG(i) (REG_SPI_BASE(i) + 0x44) +/* SPI_SLV_WRSTA_CMD_VALUE : R/W ;bitpos:[31:24] ;default: 8'b0 ; */ +/*description: In the slave mode it is the value of write-status command.*/ +#define SPI_SLV_WRSTA_CMD_VALUE 0x000000FF +#define SPI_SLV_WRSTA_CMD_VALUE_M ((SPI_SLV_WRSTA_CMD_VALUE_V)<<(SPI_SLV_WRSTA_CMD_VALUE_S)) +#define SPI_SLV_WRSTA_CMD_VALUE_V 0xFF +#define SPI_SLV_WRSTA_CMD_VALUE_S 24 +/* SPI_SLV_RDSTA_CMD_VALUE : R/W ;bitpos:[23:16] ;default: 8'b0 ; */ +/*description: In the slave mode it is the value of read-status command.*/ +#define SPI_SLV_RDSTA_CMD_VALUE 0x000000FF +#define SPI_SLV_RDSTA_CMD_VALUE_M ((SPI_SLV_RDSTA_CMD_VALUE_V)<<(SPI_SLV_RDSTA_CMD_VALUE_S)) +#define SPI_SLV_RDSTA_CMD_VALUE_V 0xFF +#define SPI_SLV_RDSTA_CMD_VALUE_S 16 +/* SPI_SLV_WRBUF_CMD_VALUE : R/W ;bitpos:[15:8] ;default: 8'b0 ; */ +/*description: In the slave mode it is the value of write-buffer command.*/ +#define SPI_SLV_WRBUF_CMD_VALUE 0x000000FF +#define SPI_SLV_WRBUF_CMD_VALUE_M ((SPI_SLV_WRBUF_CMD_VALUE_V)<<(SPI_SLV_WRBUF_CMD_VALUE_S)) +#define SPI_SLV_WRBUF_CMD_VALUE_V 0xFF +#define SPI_SLV_WRBUF_CMD_VALUE_S 8 +/* SPI_SLV_RDBUF_CMD_VALUE : R/W ;bitpos:[7:0] ;default: 8'b0 ; */ +/*description: In the slave mode it is the value of read-buffer command.*/ +#define SPI_SLV_RDBUF_CMD_VALUE 0x000000FF +#define SPI_SLV_RDBUF_CMD_VALUE_M ((SPI_SLV_RDBUF_CMD_VALUE_V)<<(SPI_SLV_RDBUF_CMD_VALUE_S)) +#define SPI_SLV_RDBUF_CMD_VALUE_V 0xFF +#define SPI_SLV_RDBUF_CMD_VALUE_S 0 + +#define SPI_SLV_WRBUF_DLEN_REG(i) (REG_SPI_BASE(i) + 0x48) +/* SPI_SLV_WRBUF_DBITLEN : R/W ;bitpos:[23:0] ;default: 24'h0 ; */ +/*description: In the slave mode it is the length in bits for write-buffer operations. + The register value shall be (bit_num-1).*/ +#define SPI_SLV_WRBUF_DBITLEN 0x00FFFFFF +#define SPI_SLV_WRBUF_DBITLEN_M ((SPI_SLV_WRBUF_DBITLEN_V)<<(SPI_SLV_WRBUF_DBITLEN_S)) +#define SPI_SLV_WRBUF_DBITLEN_V 0xFFFFFF +#define SPI_SLV_WRBUF_DBITLEN_S 0 + +#define SPI_SLV_RDBUF_DLEN_REG(i) (REG_SPI_BASE(i) + 0x4C) +/* SPI_SLV_RDBUF_DBITLEN : R/W ;bitpos:[23:0] ;default: 24'h0 ; */ +/*description: In the slave mode it is the length in bits for read-buffer operations. + The register value shall be (bit_num-1).*/ +#define SPI_SLV_RDBUF_DBITLEN 0x00FFFFFF +#define SPI_SLV_RDBUF_DBITLEN_M ((SPI_SLV_RDBUF_DBITLEN_V)<<(SPI_SLV_RDBUF_DBITLEN_S)) +#define SPI_SLV_RDBUF_DBITLEN_V 0xFFFFFF +#define SPI_SLV_RDBUF_DBITLEN_S 0 + +#define SPI_CACHE_FCTRL_REG(i) (REG_SPI_BASE(i) + 0x50) +/* SPI_CACHE_FLASH_PES_EN : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: For SPI0 spi1 send suspend command before cache read flash + 1: enable 0:disable.*/ +#define SPI_CACHE_FLASH_PES_EN (BIT(3)) +#define SPI_CACHE_FLASH_PES_EN_M (BIT(3)) +#define SPI_CACHE_FLASH_PES_EN_V 0x1 +#define SPI_CACHE_FLASH_PES_EN_S 3 +/* SPI_CACHE_FLASH_USR_CMD : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: For SPI0 cache read flash for user define command 1: enable 0:disable.*/ +#define SPI_CACHE_FLASH_USR_CMD (BIT(2)) +#define SPI_CACHE_FLASH_USR_CMD_M (BIT(2)) +#define SPI_CACHE_FLASH_USR_CMD_V 0x1 +#define SPI_CACHE_FLASH_USR_CMD_S 2 +/* SPI_CACHE_USR_CMD_4BYTE : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: For SPI0 cache read flash with 4 bytes command 1: enable 0:disable.*/ +#define SPI_CACHE_USR_CMD_4BYTE (BIT(1)) +#define SPI_CACHE_USR_CMD_4BYTE_M (BIT(1)) +#define SPI_CACHE_USR_CMD_4BYTE_V 0x1 +#define SPI_CACHE_USR_CMD_4BYTE_S 1 +/* SPI_CACHE_REQ_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: For SPI0 Cache access enable 1: enable 0:disable.*/ +#define SPI_CACHE_REQ_EN (BIT(0)) +#define SPI_CACHE_REQ_EN_M (BIT(0)) +#define SPI_CACHE_REQ_EN_V 0x1 +#define SPI_CACHE_REQ_EN_S 0 + +#define SPI_CACHE_SCTRL_REG(i) (REG_SPI_BASE(i) + 0x54) +/* SPI_CACHE_SRAM_USR_WCMD : R/W ;bitpos:[28] ;default: 1'b1 ; */ +/*description: For SPI0 In the spi sram mode cache write sram for user define command*/ +#define SPI_CACHE_SRAM_USR_WCMD (BIT(28)) +#define SPI_CACHE_SRAM_USR_WCMD_M (BIT(28)) +#define SPI_CACHE_SRAM_USR_WCMD_V 0x1 +#define SPI_CACHE_SRAM_USR_WCMD_S 28 +/* SPI_SRAM_ADDR_BITLEN : R/W ;bitpos:[27:22] ;default: 6'd23 ; */ +/*description: For SPI0 In the sram mode it is the length in bits of address + phase. The register value shall be (bit_num-1).*/ +#define SPI_SRAM_ADDR_BITLEN 0x0000003F +#define SPI_SRAM_ADDR_BITLEN_M ((SPI_SRAM_ADDR_BITLEN_V)<<(SPI_SRAM_ADDR_BITLEN_S)) +#define SPI_SRAM_ADDR_BITLEN_V 0x3F +#define SPI_SRAM_ADDR_BITLEN_S 22 +/* SPI_SRAM_DUMMY_CYCLELEN : R/W ;bitpos:[21:14] ;default: 8'b1 ; */ +/*description: For SPI0 In the sram mode it is the length in bits of address + phase. The register value shall be (bit_num-1).*/ +#define SPI_SRAM_DUMMY_CYCLELEN 0x000000FF +#define SPI_SRAM_DUMMY_CYCLELEN_M ((SPI_SRAM_DUMMY_CYCLELEN_V)<<(SPI_SRAM_DUMMY_CYCLELEN_S)) +#define SPI_SRAM_DUMMY_CYCLELEN_V 0xFF +#define SPI_SRAM_DUMMY_CYCLELEN_S 14 +/* SPI_SRAM_BYTES_LEN : R/W ;bitpos:[13:6] ;default: 8'b32 ; */ +/*description: For SPI0 In the sram mode it is the byte length of spi read sram data.*/ +#define SPI_SRAM_BYTES_LEN 0x000000FF +#define SPI_SRAM_BYTES_LEN_M ((SPI_SRAM_BYTES_LEN_V)<<(SPI_SRAM_BYTES_LEN_S)) +#define SPI_SRAM_BYTES_LEN_V 0xFF +#define SPI_SRAM_BYTES_LEN_S 6 +/* SPI_CACHE_SRAM_USR_RCMD : R/W ;bitpos:[5] ;default: 1'b1 ; */ +/*description: For SPI0 In the spi sram mode cache read sram for user define command.*/ +#define SPI_CACHE_SRAM_USR_RCMD (BIT(5)) +#define SPI_CACHE_SRAM_USR_RCMD_M (BIT(5)) +#define SPI_CACHE_SRAM_USR_RCMD_V 0x1 +#define SPI_CACHE_SRAM_USR_RCMD_S 5 +/* SPI_USR_RD_SRAM_DUMMY : R/W ;bitpos:[4] ;default: 1'b1 ; */ +/*description: For SPI0 In the spi sram mode it is the enable bit of dummy + phase for read operations.*/ +#define SPI_USR_RD_SRAM_DUMMY (BIT(4)) +#define SPI_USR_RD_SRAM_DUMMY_M (BIT(4)) +#define SPI_USR_RD_SRAM_DUMMY_V 0x1 +#define SPI_USR_RD_SRAM_DUMMY_S 4 +/* SPI_USR_WR_SRAM_DUMMY : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: For SPI0 In the spi sram mode it is the enable bit of dummy + phase for write operations.*/ +#define SPI_USR_WR_SRAM_DUMMY (BIT(3)) +#define SPI_USR_WR_SRAM_DUMMY_M (BIT(3)) +#define SPI_USR_WR_SRAM_DUMMY_V 0x1 +#define SPI_USR_WR_SRAM_DUMMY_S 3 +/* SPI_USR_SRAM_QIO : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: For SPI0 In the spi sram mode spi quad I/O mode enable 1: enable 0:disable*/ +#define SPI_USR_SRAM_QIO (BIT(2)) +#define SPI_USR_SRAM_QIO_M (BIT(2)) +#define SPI_USR_SRAM_QIO_V 0x1 +#define SPI_USR_SRAM_QIO_S 2 +/* SPI_USR_SRAM_DIO : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: For SPI0 In the spi sram mode spi dual I/O mode enable 1: enable 0:disable*/ +#define SPI_USR_SRAM_DIO (BIT(1)) +#define SPI_USR_SRAM_DIO_M (BIT(1)) +#define SPI_USR_SRAM_DIO_V 0x1 +#define SPI_USR_SRAM_DIO_S 1 + +#define SPI_SRAM_CMD_REG(i) (REG_SPI_BASE(i) + 0x58) +/* SPI_SRAM_RSTIO : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: For SPI0 SRAM IO mode reset enable. SRAM IO mode reset operation + will be triggered when the bit is set. The bit will be cleared once the operation done*/ +#define SPI_SRAM_RSTIO (BIT(4)) +#define SPI_SRAM_RSTIO_M (BIT(4)) +#define SPI_SRAM_RSTIO_V 0x1 +#define SPI_SRAM_RSTIO_S 4 +/* SPI_SRAM_QIO : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: For SPI0 SRAM QIO mode enable . SRAM QIO enable command will + be send when the bit is set. The bit will be cleared once the operation done.*/ +#define SPI_SRAM_QIO (BIT(1)) +#define SPI_SRAM_QIO_M (BIT(1)) +#define SPI_SRAM_QIO_V 0x1 +#define SPI_SRAM_QIO_S 1 +/* SPI_SRAM_DIO : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: For SPI0 SRAM DIO mode enable . SRAM DIO enable command will + be send when the bit is set. The bit will be cleared once the operation done.*/ +#define SPI_SRAM_DIO (BIT(0)) +#define SPI_SRAM_DIO_M (BIT(0)) +#define SPI_SRAM_DIO_V 0x1 +#define SPI_SRAM_DIO_S 0 + +#define SPI_SRAM_DRD_CMD_REG(i) (REG_SPI_BASE(i) + 0x5C) +/* SPI_CACHE_SRAM_USR_RD_CMD_BITLEN : R/W ;bitpos:[31:28] ;default: 4'h0 ; */ +/*description: For SPI0 When cache mode is enable it is the length in bits of + command phase for SRAM. The register value shall be (bit_num-1).*/ +#define SPI_CACHE_SRAM_USR_RD_CMD_BITLEN 0x0000000F +#define SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_M ((SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_V)<<(SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_S)) +#define SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_V 0xF +#define SPI_CACHE_SRAM_USR_RD_CMD_BITLEN_S 28 +/* SPI_CACHE_SRAM_USR_RD_CMD_VALUE : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: For SPI0 When cache mode is enable it is the read command value + of command phase for SRAM.*/ +#define SPI_CACHE_SRAM_USR_RD_CMD_VALUE 0x0000FFFF +#define SPI_CACHE_SRAM_USR_RD_CMD_VALUE_M ((SPI_CACHE_SRAM_USR_RD_CMD_VALUE_V)<<(SPI_CACHE_SRAM_USR_RD_CMD_VALUE_S)) +#define SPI_CACHE_SRAM_USR_RD_CMD_VALUE_V 0xFFFF +#define SPI_CACHE_SRAM_USR_RD_CMD_VALUE_S 0 + +#define SPI_SRAM_DWR_CMD_REG(i) (REG_SPI_BASE(i) + 0x60) +/* SPI_CACHE_SRAM_USR_WR_CMD_BITLEN : R/W ;bitpos:[31:28] ;default: 4'h0 ; */ +/*description: For SPI0 When cache mode is enable it is the in bits of command + phase for SRAM. The register value shall be (bit_num-1).*/ +#define SPI_CACHE_SRAM_USR_WR_CMD_BITLEN 0x0000000F +#define SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_M ((SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_V)<<(SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_S)) +#define SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_V 0xF +#define SPI_CACHE_SRAM_USR_WR_CMD_BITLEN_S 28 +/* SPI_CACHE_SRAM_USR_WR_CMD_VALUE : R/W ;bitpos:[15:0] ;default: 16'h0 ; */ +/*description: For SPI0 When cache mode is enable it is the write command value + of command phase for SRAM.*/ +#define SPI_CACHE_SRAM_USR_WR_CMD_VALUE 0x0000FFFF +#define SPI_CACHE_SRAM_USR_WR_CMD_VALUE_M ((SPI_CACHE_SRAM_USR_WR_CMD_VALUE_V)<<(SPI_CACHE_SRAM_USR_WR_CMD_VALUE_S)) +#define SPI_CACHE_SRAM_USR_WR_CMD_VALUE_V 0xFFFF +#define SPI_CACHE_SRAM_USR_WR_CMD_VALUE_S 0 + +#define SPI_SLV_RD_BIT_REG(i) (REG_SPI_BASE(i) + 0x64) +/* SPI_SLV_RDATA_BIT : RW ;bitpos:[23:0] ;default: 24'b0 ; */ +/*description: In the slave mode it is the bit length of read data. The value + is the length - 1.*/ +#define SPI_SLV_RDATA_BIT 0x00FFFFFF +#define SPI_SLV_RDATA_BIT_M ((SPI_SLV_RDATA_BIT_V)<<(SPI_SLV_RDATA_BIT_S)) +#define SPI_SLV_RDATA_BIT_V 0xFFFFFF +#define SPI_SLV_RDATA_BIT_S 0 + +#define SPI_W0_REG(i) (REG_SPI_BASE(i) + 0x80) +/* SPI_BUF0 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF0 0xFFFFFFFF +#define SPI_BUF0_M ((SPI_BUF0_V)<<(SPI_BUF0_S)) +#define SPI_BUF0_V 0xFFFFFFFF +#define SPI_BUF0_S 0 + +#define SPI_W1_REG(i) (REG_SPI_BASE(i) + 0x84) +/* SPI_BUF1 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF1 0xFFFFFFFF +#define SPI_BUF1_M ((SPI_BUF1_V)<<(SPI_BUF1_S)) +#define SPI_BUF1_V 0xFFFFFFFF +#define SPI_BUF1_S 0 + +#define SPI_W2_REG(i) (REG_SPI_BASE(i) + 0x88) +/* SPI_BUF2 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF2 0xFFFFFFFF +#define SPI_BUF2_M ((SPI_BUF2_V)<<(SPI_BUF2_S)) +#define SPI_BUF2_V 0xFFFFFFFF +#define SPI_BUF2_S 0 + +#define SPI_W3_REG(i) (REG_SPI_BASE(i) + 0x8C) +/* SPI_BUF3 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF3 0xFFFFFFFF +#define SPI_BUF3_M ((SPI_BUF3_V)<<(SPI_BUF3_S)) +#define SPI_BUF3_V 0xFFFFFFFF +#define SPI_BUF3_S 0 + +#define SPI_W4_REG(i) (REG_SPI_BASE(i) + 0x90) +/* SPI_BUF4 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF4 0xFFFFFFFF +#define SPI_BUF4_M ((SPI_BUF4_V)<<(SPI_BUF4_S)) +#define SPI_BUF4_V 0xFFFFFFFF +#define SPI_BUF4_S 0 + +#define SPI_W5_REG(i) (REG_SPI_BASE(i) + 0x94) +/* SPI_BUF5 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF5 0xFFFFFFFF +#define SPI_BUF5_M ((SPI_BUF5_V)<<(SPI_BUF5_S)) +#define SPI_BUF5_V 0xFFFFFFFF +#define SPI_BUF5_S 0 + +#define SPI_W6_REG(i) (REG_SPI_BASE(i) + 0x98) +/* SPI_BUF6 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF6 0xFFFFFFFF +#define SPI_BUF6_M ((SPI_BUF6_V)<<(SPI_BUF6_S)) +#define SPI_BUF6_V 0xFFFFFFFF +#define SPI_BUF6_S 0 + +#define SPI_W7_REG(i) (REG_SPI_BASE(i) + 0x9C) +/* SPI_BUF7 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF7 0xFFFFFFFF +#define SPI_BUF7_M ((SPI_BUF7_V)<<(SPI_BUF7_S)) +#define SPI_BUF7_V 0xFFFFFFFF +#define SPI_BUF7_S 0 + +#define SPI_W8_REG(i) (REG_SPI_BASE(i) + 0xA0) +/* SPI_BUF8 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF8 0xFFFFFFFF +#define SPI_BUF8_M ((SPI_BUF8_V)<<(SPI_BUF8_S)) +#define SPI_BUF8_V 0xFFFFFFFF +#define SPI_BUF8_S 0 + +#define SPI_W9_REG(i) (REG_SPI_BASE(i) + 0xA4) +/* SPI_BUF9 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF9 0xFFFFFFFF +#define SPI_BUF9_M ((SPI_BUF9_V)<<(SPI_BUF9_S)) +#define SPI_BUF9_V 0xFFFFFFFF +#define SPI_BUF9_S 0 + +#define SPI_W10_REG(i) (REG_SPI_BASE(i) + 0xA8) +/* SPI_BUF10 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF10 0xFFFFFFFF +#define SPI_BUF10_M ((SPI_BUF10_V)<<(SPI_BUF10_S)) +#define SPI_BUF10_V 0xFFFFFFFF +#define SPI_BUF10_S 0 + +#define SPI_W11_REG(i) (REG_SPI_BASE(i) + 0xAC) +/* SPI_BUF11 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF11 0xFFFFFFFF +#define SPI_BUF11_M ((SPI_BUF11_V)<<(SPI_BUF11_S)) +#define SPI_BUF11_V 0xFFFFFFFF +#define SPI_BUF11_S 0 + +#define SPI_W12_REG(i) (REG_SPI_BASE(i) + 0xB0) +/* SPI_BUF12 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF12 0xFFFFFFFF +#define SPI_BUF12_M ((SPI_BUF12_V)<<(SPI_BUF12_S)) +#define SPI_BUF12_V 0xFFFFFFFF +#define SPI_BUF12_S 0 + +#define SPI_W13_REG(i) (REG_SPI_BASE(i) + 0xB4) +/* SPI_BUF13 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF13 0xFFFFFFFF +#define SPI_BUF13_M ((SPI_BUF13_V)<<(SPI_BUF13_S)) +#define SPI_BUF13_V 0xFFFFFFFF +#define SPI_BUF13_S 0 + +#define SPI_W14_REG(i) (REG_SPI_BASE(i) + 0xB8) +/* SPI_BUF14 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF14 0xFFFFFFFF +#define SPI_BUF14_M ((SPI_BUF14_V)<<(SPI_BUF14_S)) +#define SPI_BUF14_V 0xFFFFFFFF +#define SPI_BUF14_S 0 + +#define SPI_W15_REG(i) (REG_SPI_BASE(i) + 0xBC) +/* SPI_BUF15 : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: data buffer*/ +#define SPI_BUF15 0xFFFFFFFF +#define SPI_BUF15_M ((SPI_BUF15_V)<<(SPI_BUF15_S)) +#define SPI_BUF15_V 0xFFFFFFFF +#define SPI_BUF15_S 0 + +#define SPI_TX_CRC_REG(i) (REG_SPI_BASE(i) + 0xC0) +/* SPI_TX_CRC_DATA : R/W ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: For SPI1 the value of crc32 for 256 bits data.*/ +#define SPI_TX_CRC_DATA 0xFFFFFFFF +#define SPI_TX_CRC_DATA_M ((SPI_TX_CRC_DATA_V)<<(SPI_TX_CRC_DATA_S)) +#define SPI_TX_CRC_DATA_V 0xFFFFFFFF +#define SPI_TX_CRC_DATA_S 0 + +#define SPI_EXT0_REG(i) (REG_SPI_BASE(i) + 0xF0) +/* SPI_T_PP_ENA : R/W ;bitpos:[31] ;default: 1'b1 ; */ +/*description: page program delay enable.*/ +#define SPI_T_PP_ENA (BIT(31)) +#define SPI_T_PP_ENA_M (BIT(31)) +#define SPI_T_PP_ENA_V 0x1 +#define SPI_T_PP_ENA_S 31 +/* SPI_T_PP_SHIFT : R/W ;bitpos:[19:16] ;default: 4'd10 ; */ +/*description: page program delay time shift .*/ +#define SPI_T_PP_SHIFT 0x0000000F +#define SPI_T_PP_SHIFT_M ((SPI_T_PP_SHIFT_V)<<(SPI_T_PP_SHIFT_S)) +#define SPI_T_PP_SHIFT_V 0xF +#define SPI_T_PP_SHIFT_S 16 +/* SPI_T_PP_TIME : R/W ;bitpos:[11:0] ;default: 12'd80 ; */ +/*description: page program delay time by system clock.*/ +#define SPI_T_PP_TIME 0x00000FFF +#define SPI_T_PP_TIME_M ((SPI_T_PP_TIME_V)<<(SPI_T_PP_TIME_S)) +#define SPI_T_PP_TIME_V 0xFFF +#define SPI_T_PP_TIME_S 0 + +#define SPI_EXT1_REG(i) (REG_SPI_BASE(i) + 0xF4) +/* SPI_T_ERASE_ENA : R/W ;bitpos:[31] ;default: 1'b1 ; */ +/*description: erase flash delay enable.*/ +#define SPI_T_ERASE_ENA (BIT(31)) +#define SPI_T_ERASE_ENA_M (BIT(31)) +#define SPI_T_ERASE_ENA_V 0x1 +#define SPI_T_ERASE_ENA_S 31 +/* SPI_T_ERASE_SHIFT : R/W ;bitpos:[19:16] ;default: 4'd15 ; */ +/*description: erase flash delay time shift.*/ +#define SPI_T_ERASE_SHIFT 0x0000000F +#define SPI_T_ERASE_SHIFT_M ((SPI_T_ERASE_SHIFT_V)<<(SPI_T_ERASE_SHIFT_S)) +#define SPI_T_ERASE_SHIFT_V 0xF +#define SPI_T_ERASE_SHIFT_S 16 +/* SPI_T_ERASE_TIME : R/W ;bitpos:[11:0] ;default: 12'd0 ; */ +/*description: erase flash delay time by system clock.*/ +#define SPI_T_ERASE_TIME 0x00000FFF +#define SPI_T_ERASE_TIME_M ((SPI_T_ERASE_TIME_V)<<(SPI_T_ERASE_TIME_S)) +#define SPI_T_ERASE_TIME_V 0xFFF +#define SPI_T_ERASE_TIME_S 0 + +#define SPI_EXT2_REG(i) (REG_SPI_BASE(i) + 0xF8) +/* SPI_ST : RO ;bitpos:[2:0] ;default: 3'b0 ; */ +/*description: The status of spi state machine .*/ +#define SPI_ST 0x00000007 +#define SPI_ST_M ((SPI_ST_V)<<(SPI_ST_S)) +#define SPI_ST_V 0x7 +#define SPI_ST_S 0 + +#define SPI_EXT3_REG(i) (REG_SPI_BASE(i) + 0xFC) +/* SPI_INT_HOLD_ENA : R/W ;bitpos:[1:0] ;default: 2'b0 ; */ +/*description: This register is for two SPI masters to share the same cs clock + and data signals. The bits of one SPI are set if the other SPI is busy the SPI will be hold. 1(3): hold at ¡°idle¡± phase 2: hold at ¡°prepare¡± phase.*/ +#define SPI_INT_HOLD_ENA 0x00000003 +#define SPI_INT_HOLD_ENA_M ((SPI_INT_HOLD_ENA_V)<<(SPI_INT_HOLD_ENA_S)) +#define SPI_INT_HOLD_ENA_V 0x3 +#define SPI_INT_HOLD_ENA_S 0 + +#define SPI_DMA_CONF_REG(i) (REG_SPI_BASE(i) + 0x100) +/* SPI_DMA_CONTINUE : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: spi dma continue tx/rx data.*/ +#define SPI_DMA_CONTINUE (BIT(16)) +#define SPI_DMA_CONTINUE_M (BIT(16)) +#define SPI_DMA_CONTINUE_V 0x1 +#define SPI_DMA_CONTINUE_S 16 +/* SPI_DMA_TX_STOP : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: spi dma write data stop when in continue tx/rx mode.*/ +#define SPI_DMA_TX_STOP (BIT(15)) +#define SPI_DMA_TX_STOP_M (BIT(15)) +#define SPI_DMA_TX_STOP_V 0x1 +#define SPI_DMA_TX_STOP_S 15 +/* SPI_DMA_RX_STOP : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: spi dma read data stop when in continue tx/rx mode.*/ +#define SPI_DMA_RX_STOP (BIT(14)) +#define SPI_DMA_RX_STOP_M (BIT(14)) +#define SPI_DMA_RX_STOP_V 0x1 +#define SPI_DMA_RX_STOP_S 14 +/* SPI_OUT_DATA_BURST_EN : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: spi dma read data from memory in burst mode.*/ +#define SPI_OUT_DATA_BURST_EN (BIT(12)) +#define SPI_OUT_DATA_BURST_EN_M (BIT(12)) +#define SPI_OUT_DATA_BURST_EN_V 0x1 +#define SPI_OUT_DATA_BURST_EN_S 12 +/* SPI_INDSCR_BURST_EN : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: read descriptor use burst mode when write data to memory.*/ +#define SPI_INDSCR_BURST_EN (BIT(11)) +#define SPI_INDSCR_BURST_EN_M (BIT(11)) +#define SPI_INDSCR_BURST_EN_V 0x1 +#define SPI_INDSCR_BURST_EN_S 11 +/* SPI_OUTDSCR_BURST_EN : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: read descriptor use burst mode when read data for memory.*/ +#define SPI_OUTDSCR_BURST_EN (BIT(10)) +#define SPI_OUTDSCR_BURST_EN_M (BIT(10)) +#define SPI_OUTDSCR_BURST_EN_V 0x1 +#define SPI_OUTDSCR_BURST_EN_S 10 +/* SPI_OUT_EOF_MODE : R/W ;bitpos:[9] ;default: 1'b1 ; */ +/*description: out eof flag generation mode . 1: when dma pop all data from + fifo 0:when ahb push all data to fifo.*/ +#define SPI_OUT_EOF_MODE (BIT(9)) +#define SPI_OUT_EOF_MODE_M (BIT(9)) +#define SPI_OUT_EOF_MODE_V 0x1 +#define SPI_OUT_EOF_MODE_S 9 +/* SPI_OUT_AUTO_WRBACK : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: when the link is empty jump to next automatically.*/ +#define SPI_OUT_AUTO_WRBACK (BIT(8)) +#define SPI_OUT_AUTO_WRBACK_M (BIT(8)) +#define SPI_OUT_AUTO_WRBACK_V 0x1 +#define SPI_OUT_AUTO_WRBACK_S 8 +/* SPI_OUT_LOOP_TEST : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: Set bit to test out link.*/ +#define SPI_OUT_LOOP_TEST (BIT(7)) +#define SPI_OUT_LOOP_TEST_M (BIT(7)) +#define SPI_OUT_LOOP_TEST_V 0x1 +#define SPI_OUT_LOOP_TEST_S 7 +/* SPI_IN_LOOP_TEST : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set bit to test in link.*/ +#define SPI_IN_LOOP_TEST (BIT(6)) +#define SPI_IN_LOOP_TEST_M (BIT(6)) +#define SPI_IN_LOOP_TEST_V 0x1 +#define SPI_IN_LOOP_TEST_S 6 +/* SPI_AHBM_RST : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: reset spi dma ahb master.*/ +#define SPI_AHBM_RST (BIT(5)) +#define SPI_AHBM_RST_M (BIT(5)) +#define SPI_AHBM_RST_V 0x1 +#define SPI_AHBM_RST_S 5 +/* SPI_AHBM_FIFO_RST : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: reset spi dma ahb master fifo pointer.*/ +#define SPI_AHBM_FIFO_RST (BIT(4)) +#define SPI_AHBM_FIFO_RST_M (BIT(4)) +#define SPI_AHBM_FIFO_RST_V 0x1 +#define SPI_AHBM_FIFO_RST_S 4 +/* SPI_OUT_RST : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The bit is used to reset out dma fsm and out data fifo pointer.*/ +#define SPI_OUT_RST (BIT(3)) +#define SPI_OUT_RST_M (BIT(3)) +#define SPI_OUT_RST_V 0x1 +#define SPI_OUT_RST_S 3 +/* SPI_IN_RST : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The bit is used to reset in dma fsm and in data fifo pointer.*/ +#define SPI_IN_RST (BIT(2)) +#define SPI_IN_RST_M (BIT(2)) +#define SPI_IN_RST_V 0x1 +#define SPI_IN_RST_S 2 + +#define SPI_DMA_OUT_LINK_REG(i) (REG_SPI_BASE(i) + 0x104) +/* SPI_OUTLINK_RESTART : R/W ;bitpos:[30] ;default: 1'b0 ; */ +/*description: Set the bit to mount on new outlink descriptors.*/ +#define SPI_OUTLINK_RESTART (BIT(30)) +#define SPI_OUTLINK_RESTART_M (BIT(30)) +#define SPI_OUTLINK_RESTART_V 0x1 +#define SPI_OUTLINK_RESTART_S 30 +/* SPI_OUTLINK_START : R/W ;bitpos:[29] ;default: 1'b0 ; */ +/*description: Set the bit to start to use outlink descriptor.*/ +#define SPI_OUTLINK_START (BIT(29)) +#define SPI_OUTLINK_START_M (BIT(29)) +#define SPI_OUTLINK_START_V 0x1 +#define SPI_OUTLINK_START_S 29 +/* SPI_OUTLINK_STOP : R/W ;bitpos:[28] ;default: 1'b0 ; */ +/*description: Set the bit to stop to use outlink descriptor.*/ +#define SPI_OUTLINK_STOP (BIT(28)) +#define SPI_OUTLINK_STOP_M (BIT(28)) +#define SPI_OUTLINK_STOP_V 0x1 +#define SPI_OUTLINK_STOP_S 28 +/* SPI_OUTLINK_ADDR : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The address of the first outlink descriptor.*/ +#define SPI_OUTLINK_ADDR 0x000FFFFF +#define SPI_OUTLINK_ADDR_M ((SPI_OUTLINK_ADDR_V)<<(SPI_OUTLINK_ADDR_S)) +#define SPI_OUTLINK_ADDR_V 0xFFFFF +#define SPI_OUTLINK_ADDR_S 0 + +#define SPI_DMA_IN_LINK_REG(i) (REG_SPI_BASE(i) + 0x108) +/* SPI_INLINK_RESTART : R/W ;bitpos:[30] ;default: 1'b0 ; */ +/*description: Set the bit to mount on new inlink descriptors.*/ +#define SPI_INLINK_RESTART (BIT(30)) +#define SPI_INLINK_RESTART_M (BIT(30)) +#define SPI_INLINK_RESTART_V 0x1 +#define SPI_INLINK_RESTART_S 30 +/* SPI_INLINK_START : R/W ;bitpos:[29] ;default: 1'b0 ; */ +/*description: Set the bit to start to use inlink descriptor.*/ +#define SPI_INLINK_START (BIT(29)) +#define SPI_INLINK_START_M (BIT(29)) +#define SPI_INLINK_START_V 0x1 +#define SPI_INLINK_START_S 29 +/* SPI_INLINK_STOP : R/W ;bitpos:[28] ;default: 1'b0 ; */ +/*description: Set the bit to stop to use inlink descriptor.*/ +#define SPI_INLINK_STOP (BIT(28)) +#define SPI_INLINK_STOP_M (BIT(28)) +#define SPI_INLINK_STOP_V 0x1 +#define SPI_INLINK_STOP_S 28 +/* SPI_INLINK_AUTO_RET : R/W ;bitpos:[20] ;default: 1'b0 ; */ +/*description: when the bit is set inlink descriptor returns to the next descriptor + while a packet is wrong*/ +#define SPI_INLINK_AUTO_RET (BIT(20)) +#define SPI_INLINK_AUTO_RET_M (BIT(20)) +#define SPI_INLINK_AUTO_RET_V 0x1 +#define SPI_INLINK_AUTO_RET_S 20 +/* SPI_INLINK_ADDR : R/W ;bitpos:[19:0] ;default: 20'h0 ; */ +/*description: The address of the first inlink descriptor.*/ +#define SPI_INLINK_ADDR 0x000FFFFF +#define SPI_INLINK_ADDR_M ((SPI_INLINK_ADDR_V)<<(SPI_INLINK_ADDR_S)) +#define SPI_INLINK_ADDR_V 0xFFFFF +#define SPI_INLINK_ADDR_S 0 + +#define SPI_DMA_STATUS_REG(i) (REG_SPI_BASE(i) + 0x10C) +/* SPI_DMA_TX_EN : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: spi dma write data status bit.*/ +#define SPI_DMA_TX_EN (BIT(1)) +#define SPI_DMA_TX_EN_M (BIT(1)) +#define SPI_DMA_TX_EN_V 0x1 +#define SPI_DMA_TX_EN_S 1 +/* SPI_DMA_RX_EN : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: spi dma read data status bit.*/ +#define SPI_DMA_RX_EN (BIT(0)) +#define SPI_DMA_RX_EN_M (BIT(0)) +#define SPI_DMA_RX_EN_V 0x1 +#define SPI_DMA_RX_EN_S 0 + +#define SPI_DMA_INT_ENA_REG(i) (REG_SPI_BASE(i) + 0x110) +/* SPI_OUT_TOTAL_EOF_INT_ENA : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The enable bit for sending all the packets to host done.*/ +#define SPI_OUT_TOTAL_EOF_INT_ENA (BIT(8)) +#define SPI_OUT_TOTAL_EOF_INT_ENA_M (BIT(8)) +#define SPI_OUT_TOTAL_EOF_INT_ENA_V 0x1 +#define SPI_OUT_TOTAL_EOF_INT_ENA_S 8 +/* SPI_OUT_EOF_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The enable bit for sending a packet to host done.*/ +#define SPI_OUT_EOF_INT_ENA (BIT(7)) +#define SPI_OUT_EOF_INT_ENA_M (BIT(7)) +#define SPI_OUT_EOF_INT_ENA_V 0x1 +#define SPI_OUT_EOF_INT_ENA_S 7 +/* SPI_OUT_DONE_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The enable bit for completing usage of a outlink descriptor .*/ +#define SPI_OUT_DONE_INT_ENA (BIT(6)) +#define SPI_OUT_DONE_INT_ENA_M (BIT(6)) +#define SPI_OUT_DONE_INT_ENA_V 0x1 +#define SPI_OUT_DONE_INT_ENA_S 6 +/* SPI_IN_SUC_EOF_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The enable bit for completing receiving all the packets from host.*/ +#define SPI_IN_SUC_EOF_INT_ENA (BIT(5)) +#define SPI_IN_SUC_EOF_INT_ENA_M (BIT(5)) +#define SPI_IN_SUC_EOF_INT_ENA_V 0x1 +#define SPI_IN_SUC_EOF_INT_ENA_S 5 +/* SPI_IN_ERR_EOF_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The enable bit for receiving error.*/ +#define SPI_IN_ERR_EOF_INT_ENA (BIT(4)) +#define SPI_IN_ERR_EOF_INT_ENA_M (BIT(4)) +#define SPI_IN_ERR_EOF_INT_ENA_V 0x1 +#define SPI_IN_ERR_EOF_INT_ENA_S 4 +/* SPI_IN_DONE_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The enable bit for completing usage of a inlink descriptor.*/ +#define SPI_IN_DONE_INT_ENA (BIT(3)) +#define SPI_IN_DONE_INT_ENA_M (BIT(3)) +#define SPI_IN_DONE_INT_ENA_V 0x1 +#define SPI_IN_DONE_INT_ENA_S 3 +/* SPI_INLINK_DSCR_ERROR_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The enable bit for inlink descriptor error.*/ +#define SPI_INLINK_DSCR_ERROR_INT_ENA (BIT(2)) +#define SPI_INLINK_DSCR_ERROR_INT_ENA_M (BIT(2)) +#define SPI_INLINK_DSCR_ERROR_INT_ENA_V 0x1 +#define SPI_INLINK_DSCR_ERROR_INT_ENA_S 2 +/* SPI_OUTLINK_DSCR_ERROR_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The enable bit for outlink descriptor error.*/ +#define SPI_OUTLINK_DSCR_ERROR_INT_ENA (BIT(1)) +#define SPI_OUTLINK_DSCR_ERROR_INT_ENA_M (BIT(1)) +#define SPI_OUTLINK_DSCR_ERROR_INT_ENA_V 0x1 +#define SPI_OUTLINK_DSCR_ERROR_INT_ENA_S 1 +/* SPI_INLINK_DSCR_EMPTY_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The enable bit for lack of enough inlink descriptors.*/ +#define SPI_INLINK_DSCR_EMPTY_INT_ENA (BIT(0)) +#define SPI_INLINK_DSCR_EMPTY_INT_ENA_M (BIT(0)) +#define SPI_INLINK_DSCR_EMPTY_INT_ENA_V 0x1 +#define SPI_INLINK_DSCR_EMPTY_INT_ENA_S 0 + +#define SPI_DMA_INT_RAW_REG(i) (REG_SPI_BASE(i) + 0x114) +/* SPI_OUT_TOTAL_EOF_INT_RAW : RO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The raw bit for sending all the packets to host done.*/ +#define SPI_OUT_TOTAL_EOF_INT_RAW (BIT(8)) +#define SPI_OUT_TOTAL_EOF_INT_RAW_M (BIT(8)) +#define SPI_OUT_TOTAL_EOF_INT_RAW_V 0x1 +#define SPI_OUT_TOTAL_EOF_INT_RAW_S 8 +/* SPI_OUT_EOF_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The raw bit for sending a packet to host done.*/ +#define SPI_OUT_EOF_INT_RAW (BIT(7)) +#define SPI_OUT_EOF_INT_RAW_M (BIT(7)) +#define SPI_OUT_EOF_INT_RAW_V 0x1 +#define SPI_OUT_EOF_INT_RAW_S 7 +/* SPI_OUT_DONE_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The raw bit for completing usage of a outlink descriptor.*/ +#define SPI_OUT_DONE_INT_RAW (BIT(6)) +#define SPI_OUT_DONE_INT_RAW_M (BIT(6)) +#define SPI_OUT_DONE_INT_RAW_V 0x1 +#define SPI_OUT_DONE_INT_RAW_S 6 +/* SPI_IN_SUC_EOF_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The raw bit for completing receiving all the packets from host.*/ +#define SPI_IN_SUC_EOF_INT_RAW (BIT(5)) +#define SPI_IN_SUC_EOF_INT_RAW_M (BIT(5)) +#define SPI_IN_SUC_EOF_INT_RAW_V 0x1 +#define SPI_IN_SUC_EOF_INT_RAW_S 5 +/* SPI_IN_ERR_EOF_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The raw bit for receiving error.*/ +#define SPI_IN_ERR_EOF_INT_RAW (BIT(4)) +#define SPI_IN_ERR_EOF_INT_RAW_M (BIT(4)) +#define SPI_IN_ERR_EOF_INT_RAW_V 0x1 +#define SPI_IN_ERR_EOF_INT_RAW_S 4 +/* SPI_IN_DONE_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The raw bit for completing usage of a inlink descriptor.*/ +#define SPI_IN_DONE_INT_RAW (BIT(3)) +#define SPI_IN_DONE_INT_RAW_M (BIT(3)) +#define SPI_IN_DONE_INT_RAW_V 0x1 +#define SPI_IN_DONE_INT_RAW_S 3 +/* SPI_INLINK_DSCR_ERROR_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The raw bit for inlink descriptor error.*/ +#define SPI_INLINK_DSCR_ERROR_INT_RAW (BIT(2)) +#define SPI_INLINK_DSCR_ERROR_INT_RAW_M (BIT(2)) +#define SPI_INLINK_DSCR_ERROR_INT_RAW_V 0x1 +#define SPI_INLINK_DSCR_ERROR_INT_RAW_S 2 +/* SPI_OUTLINK_DSCR_ERROR_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The raw bit for outlink descriptor error.*/ +#define SPI_OUTLINK_DSCR_ERROR_INT_RAW (BIT(1)) +#define SPI_OUTLINK_DSCR_ERROR_INT_RAW_M (BIT(1)) +#define SPI_OUTLINK_DSCR_ERROR_INT_RAW_V 0x1 +#define SPI_OUTLINK_DSCR_ERROR_INT_RAW_S 1 +/* SPI_INLINK_DSCR_EMPTY_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The raw bit for lack of enough inlink descriptors.*/ +#define SPI_INLINK_DSCR_EMPTY_INT_RAW (BIT(0)) +#define SPI_INLINK_DSCR_EMPTY_INT_RAW_M (BIT(0)) +#define SPI_INLINK_DSCR_EMPTY_INT_RAW_V 0x1 +#define SPI_INLINK_DSCR_EMPTY_INT_RAW_S 0 + +#define SPI_DMA_INT_ST_REG(i) (REG_SPI_BASE(i) + 0x118) +/* SPI_OUT_TOTAL_EOF_INT_ST : RO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The status bit for sending all the packets to host done.*/ +#define SPI_OUT_TOTAL_EOF_INT_ST (BIT(8)) +#define SPI_OUT_TOTAL_EOF_INT_ST_M (BIT(8)) +#define SPI_OUT_TOTAL_EOF_INT_ST_V 0x1 +#define SPI_OUT_TOTAL_EOF_INT_ST_S 8 +/* SPI_OUT_EOF_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The status bit for sending a packet to host done.*/ +#define SPI_OUT_EOF_INT_ST (BIT(7)) +#define SPI_OUT_EOF_INT_ST_M (BIT(7)) +#define SPI_OUT_EOF_INT_ST_V 0x1 +#define SPI_OUT_EOF_INT_ST_S 7 +/* SPI_OUT_DONE_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The status bit for completing usage of a outlink descriptor.*/ +#define SPI_OUT_DONE_INT_ST (BIT(6)) +#define SPI_OUT_DONE_INT_ST_M (BIT(6)) +#define SPI_OUT_DONE_INT_ST_V 0x1 +#define SPI_OUT_DONE_INT_ST_S 6 +/* SPI_IN_SUC_EOF_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The status bit for completing receiving all the packets from host.*/ +#define SPI_IN_SUC_EOF_INT_ST (BIT(5)) +#define SPI_IN_SUC_EOF_INT_ST_M (BIT(5)) +#define SPI_IN_SUC_EOF_INT_ST_V 0x1 +#define SPI_IN_SUC_EOF_INT_ST_S 5 +/* SPI_IN_ERR_EOF_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The status bit for receiving error.*/ +#define SPI_IN_ERR_EOF_INT_ST (BIT(4)) +#define SPI_IN_ERR_EOF_INT_ST_M (BIT(4)) +#define SPI_IN_ERR_EOF_INT_ST_V 0x1 +#define SPI_IN_ERR_EOF_INT_ST_S 4 +/* SPI_IN_DONE_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The status bit for completing usage of a inlink descriptor.*/ +#define SPI_IN_DONE_INT_ST (BIT(3)) +#define SPI_IN_DONE_INT_ST_M (BIT(3)) +#define SPI_IN_DONE_INT_ST_V 0x1 +#define SPI_IN_DONE_INT_ST_S 3 +/* SPI_INLINK_DSCR_ERROR_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The status bit for inlink descriptor error.*/ +#define SPI_INLINK_DSCR_ERROR_INT_ST (BIT(2)) +#define SPI_INLINK_DSCR_ERROR_INT_ST_M (BIT(2)) +#define SPI_INLINK_DSCR_ERROR_INT_ST_V 0x1 +#define SPI_INLINK_DSCR_ERROR_INT_ST_S 2 +/* SPI_OUTLINK_DSCR_ERROR_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The status bit for outlink descriptor error.*/ +#define SPI_OUTLINK_DSCR_ERROR_INT_ST (BIT(1)) +#define SPI_OUTLINK_DSCR_ERROR_INT_ST_M (BIT(1)) +#define SPI_OUTLINK_DSCR_ERROR_INT_ST_V 0x1 +#define SPI_OUTLINK_DSCR_ERROR_INT_ST_S 1 +/* SPI_INLINK_DSCR_EMPTY_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The status bit for lack of enough inlink descriptors.*/ +#define SPI_INLINK_DSCR_EMPTY_INT_ST (BIT(0)) +#define SPI_INLINK_DSCR_EMPTY_INT_ST_M (BIT(0)) +#define SPI_INLINK_DSCR_EMPTY_INT_ST_V 0x1 +#define SPI_INLINK_DSCR_EMPTY_INT_ST_S 0 + +#define SPI_DMA_INT_CLR_REG(i) (REG_SPI_BASE(i) + 0x11C) +/* SPI_OUT_TOTAL_EOF_INT_CLR : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: The clear bit for sending all the packets to host done.*/ +#define SPI_OUT_TOTAL_EOF_INT_CLR (BIT(8)) +#define SPI_OUT_TOTAL_EOF_INT_CLR_M (BIT(8)) +#define SPI_OUT_TOTAL_EOF_INT_CLR_V 0x1 +#define SPI_OUT_TOTAL_EOF_INT_CLR_S 8 +/* SPI_OUT_EOF_INT_CLR : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: The clear bit for sending a packet to host done.*/ +#define SPI_OUT_EOF_INT_CLR (BIT(7)) +#define SPI_OUT_EOF_INT_CLR_M (BIT(7)) +#define SPI_OUT_EOF_INT_CLR_V 0x1 +#define SPI_OUT_EOF_INT_CLR_S 7 +/* SPI_OUT_DONE_INT_CLR : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: The clear bit for completing usage of a outlink descriptor.*/ +#define SPI_OUT_DONE_INT_CLR (BIT(6)) +#define SPI_OUT_DONE_INT_CLR_M (BIT(6)) +#define SPI_OUT_DONE_INT_CLR_V 0x1 +#define SPI_OUT_DONE_INT_CLR_S 6 +/* SPI_IN_SUC_EOF_INT_CLR : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: The clear bit for completing receiving all the packets from host.*/ +#define SPI_IN_SUC_EOF_INT_CLR (BIT(5)) +#define SPI_IN_SUC_EOF_INT_CLR_M (BIT(5)) +#define SPI_IN_SUC_EOF_INT_CLR_V 0x1 +#define SPI_IN_SUC_EOF_INT_CLR_S 5 +/* SPI_IN_ERR_EOF_INT_CLR : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: The clear bit for receiving error.*/ +#define SPI_IN_ERR_EOF_INT_CLR (BIT(4)) +#define SPI_IN_ERR_EOF_INT_CLR_M (BIT(4)) +#define SPI_IN_ERR_EOF_INT_CLR_V 0x1 +#define SPI_IN_ERR_EOF_INT_CLR_S 4 +/* SPI_IN_DONE_INT_CLR : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: The clear bit for completing usage of a inlink descriptor.*/ +#define SPI_IN_DONE_INT_CLR (BIT(3)) +#define SPI_IN_DONE_INT_CLR_M (BIT(3)) +#define SPI_IN_DONE_INT_CLR_V 0x1 +#define SPI_IN_DONE_INT_CLR_S 3 +/* SPI_INLINK_DSCR_ERROR_INT_CLR : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: The clear bit for inlink descriptor error.*/ +#define SPI_INLINK_DSCR_ERROR_INT_CLR (BIT(2)) +#define SPI_INLINK_DSCR_ERROR_INT_CLR_M (BIT(2)) +#define SPI_INLINK_DSCR_ERROR_INT_CLR_V 0x1 +#define SPI_INLINK_DSCR_ERROR_INT_CLR_S 2 +/* SPI_OUTLINK_DSCR_ERROR_INT_CLR : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: The clear bit for outlink descriptor error.*/ +#define SPI_OUTLINK_DSCR_ERROR_INT_CLR (BIT(1)) +#define SPI_OUTLINK_DSCR_ERROR_INT_CLR_M (BIT(1)) +#define SPI_OUTLINK_DSCR_ERROR_INT_CLR_V 0x1 +#define SPI_OUTLINK_DSCR_ERROR_INT_CLR_S 1 +/* SPI_INLINK_DSCR_EMPTY_INT_CLR : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: The clear bit for lack of enough inlink descriptors.*/ +#define SPI_INLINK_DSCR_EMPTY_INT_CLR (BIT(0)) +#define SPI_INLINK_DSCR_EMPTY_INT_CLR_M (BIT(0)) +#define SPI_INLINK_DSCR_EMPTY_INT_CLR_V 0x1 +#define SPI_INLINK_DSCR_EMPTY_INT_CLR_S 0 + +#define SPI_IN_ERR_EOF_DES_ADDR_REG(i) (REG_SPI_BASE(i) + 0x120) +/* SPI_DMA_IN_ERR_EOF_DES_ADDR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: The inlink descriptor address when spi dma produce receiving error.*/ +#define SPI_DMA_IN_ERR_EOF_DES_ADDR 0xFFFFFFFF +#define SPI_DMA_IN_ERR_EOF_DES_ADDR_M ((SPI_DMA_IN_ERR_EOF_DES_ADDR_V)<<(SPI_DMA_IN_ERR_EOF_DES_ADDR_S)) +#define SPI_DMA_IN_ERR_EOF_DES_ADDR_V 0xFFFFFFFF +#define SPI_DMA_IN_ERR_EOF_DES_ADDR_S 0 + +#define SPI_IN_SUC_EOF_DES_ADDR_REG(i) (REG_SPI_BASE(i) + 0x124) +/* SPI_DMA_IN_SUC_EOF_DES_ADDR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: The last inlink descriptor address when spi dma produce from_suc_eof.*/ +#define SPI_DMA_IN_SUC_EOF_DES_ADDR 0xFFFFFFFF +#define SPI_DMA_IN_SUC_EOF_DES_ADDR_M ((SPI_DMA_IN_SUC_EOF_DES_ADDR_V)<<(SPI_DMA_IN_SUC_EOF_DES_ADDR_S)) +#define SPI_DMA_IN_SUC_EOF_DES_ADDR_V 0xFFFFFFFF +#define SPI_DMA_IN_SUC_EOF_DES_ADDR_S 0 + +#define SPI_INLINK_DSCR_REG(i) (REG_SPI_BASE(i) + 0x128) +/* SPI_DMA_INLINK_DSCR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: The content of current in descriptor pointer.*/ +#define SPI_DMA_INLINK_DSCR 0xFFFFFFFF +#define SPI_DMA_INLINK_DSCR_M ((SPI_DMA_INLINK_DSCR_V)<<(SPI_DMA_INLINK_DSCR_S)) +#define SPI_DMA_INLINK_DSCR_V 0xFFFFFFFF +#define SPI_DMA_INLINK_DSCR_S 0 + +#define SPI_INLINK_DSCR_BF0_REG(i) (REG_SPI_BASE(i) + 0x12C) +/* SPI_DMA_INLINK_DSCR_BF0 : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: The content of next in descriptor pointer.*/ +#define SPI_DMA_INLINK_DSCR_BF0 0xFFFFFFFF +#define SPI_DMA_INLINK_DSCR_BF0_M ((SPI_DMA_INLINK_DSCR_BF0_V)<<(SPI_DMA_INLINK_DSCR_BF0_S)) +#define SPI_DMA_INLINK_DSCR_BF0_V 0xFFFFFFFF +#define SPI_DMA_INLINK_DSCR_BF0_S 0 + +#define SPI_INLINK_DSCR_BF1_REG(i) (REG_SPI_BASE(i) + 0x130) +/* SPI_DMA_INLINK_DSCR_BF1 : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: The content of current in descriptor data buffer pointer.*/ +#define SPI_DMA_INLINK_DSCR_BF1 0xFFFFFFFF +#define SPI_DMA_INLINK_DSCR_BF1_M ((SPI_DMA_INLINK_DSCR_BF1_V)<<(SPI_DMA_INLINK_DSCR_BF1_S)) +#define SPI_DMA_INLINK_DSCR_BF1_V 0xFFFFFFFF +#define SPI_DMA_INLINK_DSCR_BF1_S 0 + +#define SPI_OUT_EOF_BFR_DES_ADDR_REG(i) (REG_SPI_BASE(i) + 0x134) +/* SPI_DMA_OUT_EOF_BFR_DES_ADDR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: The address of buffer relative to the outlink descriptor that produce eof.*/ +#define SPI_DMA_OUT_EOF_BFR_DES_ADDR 0xFFFFFFFF +#define SPI_DMA_OUT_EOF_BFR_DES_ADDR_M ((SPI_DMA_OUT_EOF_BFR_DES_ADDR_V)<<(SPI_DMA_OUT_EOF_BFR_DES_ADDR_S)) +#define SPI_DMA_OUT_EOF_BFR_DES_ADDR_V 0xFFFFFFFF +#define SPI_DMA_OUT_EOF_BFR_DES_ADDR_S 0 + +#define SPI_OUT_EOF_DES_ADDR_REG(i) (REG_SPI_BASE(i) + 0x138) +/* SPI_DMA_OUT_EOF_DES_ADDR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: The last outlink descriptor address when spi dma produce to_eof.*/ +#define SPI_DMA_OUT_EOF_DES_ADDR 0xFFFFFFFF +#define SPI_DMA_OUT_EOF_DES_ADDR_M ((SPI_DMA_OUT_EOF_DES_ADDR_V)<<(SPI_DMA_OUT_EOF_DES_ADDR_S)) +#define SPI_DMA_OUT_EOF_DES_ADDR_V 0xFFFFFFFF +#define SPI_DMA_OUT_EOF_DES_ADDR_S 0 + +#define SPI_OUTLINK_DSCR_REG(i) (REG_SPI_BASE(i) + 0x13C) +/* SPI_DMA_OUTLINK_DSCR : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: The content of current out descriptor pointer.*/ +#define SPI_DMA_OUTLINK_DSCR 0xFFFFFFFF +#define SPI_DMA_OUTLINK_DSCR_M ((SPI_DMA_OUTLINK_DSCR_V)<<(SPI_DMA_OUTLINK_DSCR_S)) +#define SPI_DMA_OUTLINK_DSCR_V 0xFFFFFFFF +#define SPI_DMA_OUTLINK_DSCR_S 0 + +#define SPI_OUTLINK_DSCR_BF0_REG(i) (REG_SPI_BASE(i) + 0x140) +/* SPI_DMA_OUTLINK_DSCR_BF0 : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: The content of next out descriptor pointer.*/ +#define SPI_DMA_OUTLINK_DSCR_BF0 0xFFFFFFFF +#define SPI_DMA_OUTLINK_DSCR_BF0_M ((SPI_DMA_OUTLINK_DSCR_BF0_V)<<(SPI_DMA_OUTLINK_DSCR_BF0_S)) +#define SPI_DMA_OUTLINK_DSCR_BF0_V 0xFFFFFFFF +#define SPI_DMA_OUTLINK_DSCR_BF0_S 0 + +#define SPI_OUTLINK_DSCR_BF1_REG(i) (REG_SPI_BASE(i) + 0x144) +/* SPI_DMA_OUTLINK_DSCR_BF1 : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: The content of current out descriptor data buffer pointer.*/ +#define SPI_DMA_OUTLINK_DSCR_BF1 0xFFFFFFFF +#define SPI_DMA_OUTLINK_DSCR_BF1_M ((SPI_DMA_OUTLINK_DSCR_BF1_V)<<(SPI_DMA_OUTLINK_DSCR_BF1_S)) +#define SPI_DMA_OUTLINK_DSCR_BF1_V 0xFFFFFFFF +#define SPI_DMA_OUTLINK_DSCR_BF1_S 0 + +#define SPI_DMA_RSTATUS_REG(i) (REG_SPI_BASE(i) + 0x148) +/* SPI_DMA_OUT_STATUS : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: spi dma read data from memory status.*/ +#define SPI_DMA_OUT_STATUS 0xFFFFFFFF +#define SPI_DMA_OUT_STATUS_M ((SPI_DMA_OUT_STATUS_V)<<(SPI_DMA_OUT_STATUS_S)) +#define SPI_DMA_OUT_STATUS_V 0xFFFFFFFF +#define SPI_DMA_OUT_STATUS_S 0 + +#define SPI_DMA_TSTATUS_REG(i) (REG_SPI_BASE(i) + 0x14C) +/* SPI_DMA_IN_STATUS : RO ;bitpos:[31:0] ;default: 32'b0 ; */ +/*description: spi dma write data to memory status.*/ +#define SPI_DMA_IN_STATUS 0xFFFFFFFF +#define SPI_DMA_IN_STATUS_M ((SPI_DMA_IN_STATUS_V)<<(SPI_DMA_IN_STATUS_S)) +#define SPI_DMA_IN_STATUS_V 0xFFFFFFFF +#define SPI_DMA_IN_STATUS_S 0 + +#define SPI_DATE_REG(i) (REG_SPI_BASE(i) + 0x3FC) +/* SPI_DATE : RO ;bitpos:[27:0] ;default: 32'h1604270 ; */ +/*description: SPI register version.*/ +#define SPI_DATE 0x0FFFFFFF +#define SPI_DATE_M ((SPI_DATE_V)<<(SPI_DATE_S)) +#define SPI_DATE_V 0xFFFFFFF +#define SPI_DATE_S 0 + + + + +#endif /*__SPI_REG_H__ */ + + diff --git a/tools/sdk/include/esp32/soc/spi_struct.h b/tools/sdk/include/soc/soc/spi_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/spi_struct.h rename to tools/sdk/include/soc/soc/spi_struct.h diff --git a/tools/sdk/include/esp32/soc/syscon_reg.h b/tools/sdk/include/soc/soc/syscon_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/syscon_reg.h rename to tools/sdk/include/soc/soc/syscon_reg.h diff --git a/tools/sdk/include/esp32/soc/syscon_struct.h b/tools/sdk/include/soc/soc/syscon_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/syscon_struct.h rename to tools/sdk/include/soc/soc/syscon_struct.h diff --git a/tools/sdk/include/esp32/soc/timer_group_reg.h b/tools/sdk/include/soc/soc/timer_group_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/timer_group_reg.h rename to tools/sdk/include/soc/soc/timer_group_reg.h diff --git a/tools/sdk/include/esp32/soc/timer_group_struct.h b/tools/sdk/include/soc/soc/timer_group_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/timer_group_struct.h rename to tools/sdk/include/soc/soc/timer_group_struct.h diff --git a/tools/sdk/include/esp32/soc/uart_reg.h b/tools/sdk/include/soc/soc/uart_reg.h similarity index 97% rename from tools/sdk/include/esp32/soc/uart_reg.h rename to tools/sdk/include/soc/soc/uart_reg.h index 8cac4bb8..df614a88 100644 --- a/tools/sdk/include/esp32/soc/uart_reg.h +++ b/tools/sdk/include/soc/soc/uart_reg.h @@ -1,1167 +1,1167 @@ -// 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 __UART_REG_H__ -#define __UART_REG_H__ - - -#include "soc.h" - -#define REG_UART_BASE( i ) (DR_REG_UART_BASE + (i) * 0x10000 + ( i > 1 ? 0xe000 : 0 ) ) -#define REG_UART_AHB_BASE(i) (0x60000000 + (i) * 0x10000 + ( i > 1 ? 0xe000 : 0 ) ) -#define UART_FIFO_AHB_REG(i) (REG_UART_AHB_BASE(i) + 0x0) -#define UART_FIFO_REG(i) (REG_UART_BASE(i) + 0x0) - -/* UART_RXFIFO_RD_BYTE : RO ;bitpos:[7:0] ;default: 8'b0 ; */ -/*description: This register stores one byte data read by rx fifo.*/ -#define UART_RXFIFO_RD_BYTE 0x000000FF -#define UART_RXFIFO_RD_BYTE_M ((UART_RXFIFO_RD_BYTE_V)<<(UART_RXFIFO_RD_BYTE_S)) -#define UART_RXFIFO_RD_BYTE_V 0xFF -#define UART_RXFIFO_RD_BYTE_S 0 - -#define UART_INT_RAW_REG(i) (REG_UART_BASE(i) + 0x4) -/* UART_AT_CMD_CHAR_DET_INT_RAW : RO ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver detects - the configured at_cmd chars.*/ -#define UART_AT_CMD_CHAR_DET_INT_RAW (BIT(18)) -#define UART_AT_CMD_CHAR_DET_INT_RAW_M (BIT(18)) -#define UART_AT_CMD_CHAR_DET_INT_RAW_V 0x1 -#define UART_AT_CMD_CHAR_DET_INT_RAW_S 18 -/* UART_RS485_CLASH_INT_RAW : RO ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when rs485 detects - the clash between transmitter and receiver.*/ -#define UART_RS485_CLASH_INT_RAW (BIT(17)) -#define UART_RS485_CLASH_INT_RAW_M (BIT(17)) -#define UART_RS485_CLASH_INT_RAW_V 0x1 -#define UART_RS485_CLASH_INT_RAW_S 17 -/* UART_RS485_FRM_ERR_INT_RAW : RO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when rs485 detects - the data frame error.*/ -#define UART_RS485_FRM_ERR_INT_RAW (BIT(16)) -#define UART_RS485_FRM_ERR_INT_RAW_M (BIT(16)) -#define UART_RS485_FRM_ERR_INT_RAW_V 0x1 -#define UART_RS485_FRM_ERR_INT_RAW_S 16 -/* UART_RS485_PARITY_ERR_INT_RAW : RO ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when rs485 detects the parity error.*/ -#define UART_RS485_PARITY_ERR_INT_RAW (BIT(15)) -#define UART_RS485_PARITY_ERR_INT_RAW_M (BIT(15)) -#define UART_RS485_PARITY_ERR_INT_RAW_V 0x1 -#define UART_RS485_PARITY_ERR_INT_RAW_S 15 -/* UART_TX_DONE_INT_RAW : RO ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when transmitter has - send all the data in fifo.*/ -#define UART_TX_DONE_INT_RAW (BIT(14)) -#define UART_TX_DONE_INT_RAW_M (BIT(14)) -#define UART_TX_DONE_INT_RAW_V 0x1 -#define UART_TX_DONE_INT_RAW_S 14 -/* UART_TX_BRK_IDLE_DONE_INT_RAW : RO ;bitpos:[13] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when transmitter has - kept the shortest duration after the last data has been send.*/ -#define UART_TX_BRK_IDLE_DONE_INT_RAW (BIT(13)) -#define UART_TX_BRK_IDLE_DONE_INT_RAW_M (BIT(13)) -#define UART_TX_BRK_IDLE_DONE_INT_RAW_V 0x1 -#define UART_TX_BRK_IDLE_DONE_INT_RAW_S 13 -/* UART_TX_BRK_DONE_INT_RAW : RO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when transmitter completes - sendding 0 after all the datas in transmitter's fifo are send.*/ -#define UART_TX_BRK_DONE_INT_RAW (BIT(12)) -#define UART_TX_BRK_DONE_INT_RAW_M (BIT(12)) -#define UART_TX_BRK_DONE_INT_RAW_V 0x1 -#define UART_TX_BRK_DONE_INT_RAW_S 12 -/* UART_GLITCH_DET_INT_RAW : RO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver detects the start bit.*/ -#define UART_GLITCH_DET_INT_RAW (BIT(11)) -#define UART_GLITCH_DET_INT_RAW_M (BIT(11)) -#define UART_GLITCH_DET_INT_RAW_V 0x1 -#define UART_GLITCH_DET_INT_RAW_S 11 -/* UART_SW_XOFF_INT_RAW : RO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver receives - xon char with uart_sw_flow_con_en is set to 1.*/ -#define UART_SW_XOFF_INT_RAW (BIT(10)) -#define UART_SW_XOFF_INT_RAW_M (BIT(10)) -#define UART_SW_XOFF_INT_RAW_V 0x1 -#define UART_SW_XOFF_INT_RAW_S 10 -/* UART_SW_XON_INT_RAW : RO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver receives - xoff char with uart_sw_flow_con_en is set to 1.*/ -#define UART_SW_XON_INT_RAW (BIT(9)) -#define UART_SW_XON_INT_RAW_M (BIT(9)) -#define UART_SW_XON_INT_RAW_V 0x1 -#define UART_SW_XON_INT_RAW_S 9 -/* UART_RXFIFO_TOUT_INT_RAW : RO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver takes - more time than rx_tout_thrhd to receive a byte.*/ -#define UART_RXFIFO_TOUT_INT_RAW (BIT(8)) -#define UART_RXFIFO_TOUT_INT_RAW_M (BIT(8)) -#define UART_RXFIFO_TOUT_INT_RAW_V 0x1 -#define UART_RXFIFO_TOUT_INT_RAW_S 8 -/* UART_BRK_DET_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver detects - the 0 after the stop bit.*/ -#define UART_BRK_DET_INT_RAW (BIT(7)) -#define UART_BRK_DET_INT_RAW_M (BIT(7)) -#define UART_BRK_DET_INT_RAW_V 0x1 -#define UART_BRK_DET_INT_RAW_S 7 -/* UART_CTS_CHG_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver detects - the edge change of ctsn signal.*/ -#define UART_CTS_CHG_INT_RAW (BIT(6)) -#define UART_CTS_CHG_INT_RAW_M (BIT(6)) -#define UART_CTS_CHG_INT_RAW_V 0x1 -#define UART_CTS_CHG_INT_RAW_S 6 -/* UART_DSR_CHG_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver detects - the edge change of dsrn signal.*/ -#define UART_DSR_CHG_INT_RAW (BIT(5)) -#define UART_DSR_CHG_INT_RAW_M (BIT(5)) -#define UART_DSR_CHG_INT_RAW_V 0x1 -#define UART_DSR_CHG_INT_RAW_S 5 -/* UART_RXFIFO_OVF_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver receives - more data than the fifo can store.*/ -#define UART_RXFIFO_OVF_INT_RAW (BIT(4)) -#define UART_RXFIFO_OVF_INT_RAW_M (BIT(4)) -#define UART_RXFIFO_OVF_INT_RAW_V 0x1 -#define UART_RXFIFO_OVF_INT_RAW_S 4 -/* UART_FRM_ERR_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver detects - data's frame error .*/ -#define UART_FRM_ERR_INT_RAW (BIT(3)) -#define UART_FRM_ERR_INT_RAW_M (BIT(3)) -#define UART_FRM_ERR_INT_RAW_V 0x1 -#define UART_FRM_ERR_INT_RAW_S 3 -/* UART_PARITY_ERR_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver detects - the parity error of data.*/ -#define UART_PARITY_ERR_INT_RAW (BIT(2)) -#define UART_PARITY_ERR_INT_RAW_M (BIT(2)) -#define UART_PARITY_ERR_INT_RAW_V 0x1 -#define UART_PARITY_ERR_INT_RAW_S 2 -/* UART_TXFIFO_EMPTY_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when the amount of - data in transmitter's fifo is less than ((tx_mem_cnttxfifo_cnt) .*/ -#define UART_TXFIFO_EMPTY_INT_RAW (BIT(1)) -#define UART_TXFIFO_EMPTY_INT_RAW_M (BIT(1)) -#define UART_TXFIFO_EMPTY_INT_RAW_V 0x1 -#define UART_TXFIFO_EMPTY_INT_RAW_S 1 -/* UART_RXFIFO_FULL_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: This interrupt raw bit turns to high level when receiver receives - more data than (rx_flow_thrhd_h3 rx_flow_thrhd).*/ -#define UART_RXFIFO_FULL_INT_RAW (BIT(0)) -#define UART_RXFIFO_FULL_INT_RAW_M (BIT(0)) -#define UART_RXFIFO_FULL_INT_RAW_V 0x1 -#define UART_RXFIFO_FULL_INT_RAW_S 0 - -#define UART_INT_ST_REG(i) (REG_UART_BASE(i) + 0x8) -/* UART_AT_CMD_CHAR_DET_INT_ST : RO ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This is the status bit for at_cmd_det_int_raw when at_cmd_char_det_int_ena - is set to 1.*/ -#define UART_AT_CMD_CHAR_DET_INT_ST (BIT(18)) -#define UART_AT_CMD_CHAR_DET_INT_ST_M (BIT(18)) -#define UART_AT_CMD_CHAR_DET_INT_ST_V 0x1 -#define UART_AT_CMD_CHAR_DET_INT_ST_S 18 -/* UART_RS485_CLASH_INT_ST : RO ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This is the status bit for rs485_clash_int_raw when rs485_clash_int_ena - is set to 1.*/ -#define UART_RS485_CLASH_INT_ST (BIT(17)) -#define UART_RS485_CLASH_INT_ST_M (BIT(17)) -#define UART_RS485_CLASH_INT_ST_V 0x1 -#define UART_RS485_CLASH_INT_ST_S 17 -/* UART_RS485_FRM_ERR_INT_ST : RO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This is the status bit for rs485_fm_err_int_raw when rs485_fm_err_int_ena - is set to 1.*/ -#define UART_RS485_FRM_ERR_INT_ST (BIT(16)) -#define UART_RS485_FRM_ERR_INT_ST_M (BIT(16)) -#define UART_RS485_FRM_ERR_INT_ST_V 0x1 -#define UART_RS485_FRM_ERR_INT_ST_S 16 -/* UART_RS485_PARITY_ERR_INT_ST : RO ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This is the status bit for rs485_parity_err_int_raw when rs485_parity_int_ena - is set to 1.*/ -#define UART_RS485_PARITY_ERR_INT_ST (BIT(15)) -#define UART_RS485_PARITY_ERR_INT_ST_M (BIT(15)) -#define UART_RS485_PARITY_ERR_INT_ST_V 0x1 -#define UART_RS485_PARITY_ERR_INT_ST_S 15 -/* UART_TX_DONE_INT_ST : RO ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This is the status bit for tx_done_int_raw when tx_done_int_ena is set to 1.*/ -#define UART_TX_DONE_INT_ST (BIT(14)) -#define UART_TX_DONE_INT_ST_M (BIT(14)) -#define UART_TX_DONE_INT_ST_V 0x1 -#define UART_TX_DONE_INT_ST_S 14 -/* UART_TX_BRK_IDLE_DONE_INT_ST : RO ;bitpos:[13] ;default: 1'b0 ; */ -/*description: This is the stauts bit for tx_brk_idle_done_int_raw when tx_brk_idle_done_int_ena - is set to 1.*/ -#define UART_TX_BRK_IDLE_DONE_INT_ST (BIT(13)) -#define UART_TX_BRK_IDLE_DONE_INT_ST_M (BIT(13)) -#define UART_TX_BRK_IDLE_DONE_INT_ST_V 0x1 -#define UART_TX_BRK_IDLE_DONE_INT_ST_S 13 -/* UART_TX_BRK_DONE_INT_ST : RO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: This is the status bit for tx_brk_done_int_raw when tx_brk_done_int_ena - is set to 1.*/ -#define UART_TX_BRK_DONE_INT_ST (BIT(12)) -#define UART_TX_BRK_DONE_INT_ST_M (BIT(12)) -#define UART_TX_BRK_DONE_INT_ST_V 0x1 -#define UART_TX_BRK_DONE_INT_ST_S 12 -/* UART_GLITCH_DET_INT_ST : RO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: This is the status bit for glitch_det_int_raw when glitch_det_int_ena - is set to 1.*/ -#define UART_GLITCH_DET_INT_ST (BIT(11)) -#define UART_GLITCH_DET_INT_ST_M (BIT(11)) -#define UART_GLITCH_DET_INT_ST_V 0x1 -#define UART_GLITCH_DET_INT_ST_S 11 -/* UART_SW_XOFF_INT_ST : RO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: This is the status bit for sw_xoff_int_raw when sw_xoff_int_ena is set to 1.*/ -#define UART_SW_XOFF_INT_ST (BIT(10)) -#define UART_SW_XOFF_INT_ST_M (BIT(10)) -#define UART_SW_XOFF_INT_ST_V 0x1 -#define UART_SW_XOFF_INT_ST_S 10 -/* UART_SW_XON_INT_ST : RO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: This is the status bit for sw_xon_int_raw when sw_xon_int_ena is set to 1.*/ -#define UART_SW_XON_INT_ST (BIT(9)) -#define UART_SW_XON_INT_ST_M (BIT(9)) -#define UART_SW_XON_INT_ST_V 0x1 -#define UART_SW_XON_INT_ST_S 9 -/* UART_RXFIFO_TOUT_INT_ST : RO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: This is the status bit for rxfifo_tout_int_raw when rxfifo_tout_int_ena - is set to 1.*/ -#define UART_RXFIFO_TOUT_INT_ST (BIT(8)) -#define UART_RXFIFO_TOUT_INT_ST_M (BIT(8)) -#define UART_RXFIFO_TOUT_INT_ST_V 0x1 -#define UART_RXFIFO_TOUT_INT_ST_S 8 -/* UART_BRK_DET_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the status bit for brk_det_int_raw when brk_det_int_ena is set to 1.*/ -#define UART_BRK_DET_INT_ST (BIT(7)) -#define UART_BRK_DET_INT_ST_M (BIT(7)) -#define UART_BRK_DET_INT_ST_V 0x1 -#define UART_BRK_DET_INT_ST_S 7 -/* UART_CTS_CHG_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: This is the status bit for cts_chg_int_raw when cts_chg_int_ena is set to 1.*/ -#define UART_CTS_CHG_INT_ST (BIT(6)) -#define UART_CTS_CHG_INT_ST_M (BIT(6)) -#define UART_CTS_CHG_INT_ST_V 0x1 -#define UART_CTS_CHG_INT_ST_S 6 -/* UART_DSR_CHG_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: This is the status bit for dsr_chg_int_raw when dsr_chg_int_ena is set to 1.*/ -#define UART_DSR_CHG_INT_ST (BIT(5)) -#define UART_DSR_CHG_INT_ST_M (BIT(5)) -#define UART_DSR_CHG_INT_ST_V 0x1 -#define UART_DSR_CHG_INT_ST_S 5 -/* UART_RXFIFO_OVF_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This is the status bit for rxfifo_ovf_int_raw when rxfifo_ovf_int_ena - is set to 1.*/ -#define UART_RXFIFO_OVF_INT_ST (BIT(4)) -#define UART_RXFIFO_OVF_INT_ST_M (BIT(4)) -#define UART_RXFIFO_OVF_INT_ST_V 0x1 -#define UART_RXFIFO_OVF_INT_ST_S 4 -/* UART_FRM_ERR_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This is the status bit for frm_err_int_raw when fm_err_int_ena is set to 1.*/ -#define UART_FRM_ERR_INT_ST (BIT(3)) -#define UART_FRM_ERR_INT_ST_M (BIT(3)) -#define UART_FRM_ERR_INT_ST_V 0x1 -#define UART_FRM_ERR_INT_ST_S 3 -/* UART_PARITY_ERR_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the status bit for parity_err_int_raw when parity_err_int_ena - is set to 1.*/ -#define UART_PARITY_ERR_INT_ST (BIT(2)) -#define UART_PARITY_ERR_INT_ST_M (BIT(2)) -#define UART_PARITY_ERR_INT_ST_V 0x1 -#define UART_PARITY_ERR_INT_ST_S 2 -/* UART_TXFIFO_EMPTY_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: This is the status bit for txfifo_empty_int_raw when txfifo_empty_int_ena - is set to 1.*/ -#define UART_TXFIFO_EMPTY_INT_ST (BIT(1)) -#define UART_TXFIFO_EMPTY_INT_ST_M (BIT(1)) -#define UART_TXFIFO_EMPTY_INT_ST_V 0x1 -#define UART_TXFIFO_EMPTY_INT_ST_S 1 -/* UART_RXFIFO_FULL_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: This is the status bit for rxfifo_full_int_raw when rxfifo_full_int_ena - is set to 1.*/ -#define UART_RXFIFO_FULL_INT_ST (BIT(0)) -#define UART_RXFIFO_FULL_INT_ST_M (BIT(0)) -#define UART_RXFIFO_FULL_INT_ST_V 0x1 -#define UART_RXFIFO_FULL_INT_ST_S 0 - -#define UART_INT_ENA_REG(i) (REG_UART_BASE(i) + 0xC) -/* UART_AT_CMD_CHAR_DET_INT_ENA : R/W ;bitpos:[18] ;default: 1'b0 ; */ -/*description: This is the enable bit for at_cmd_char_det_int_st register.*/ -#define UART_AT_CMD_CHAR_DET_INT_ENA (BIT(18)) -#define UART_AT_CMD_CHAR_DET_INT_ENA_M (BIT(18)) -#define UART_AT_CMD_CHAR_DET_INT_ENA_V 0x1 -#define UART_AT_CMD_CHAR_DET_INT_ENA_S 18 -/* UART_RS485_CLASH_INT_ENA : R/W ;bitpos:[17] ;default: 1'b0 ; */ -/*description: This is the enable bit for rs485_clash_int_st register.*/ -#define UART_RS485_CLASH_INT_ENA (BIT(17)) -#define UART_RS485_CLASH_INT_ENA_M (BIT(17)) -#define UART_RS485_CLASH_INT_ENA_V 0x1 -#define UART_RS485_CLASH_INT_ENA_S 17 -/* UART_RS485_FRM_ERR_INT_ENA : R/W ;bitpos:[16] ;default: 1'b0 ; */ -/*description: This is the enable bit for rs485_parity_err_int_st register.*/ -#define UART_RS485_FRM_ERR_INT_ENA (BIT(16)) -#define UART_RS485_FRM_ERR_INT_ENA_M (BIT(16)) -#define UART_RS485_FRM_ERR_INT_ENA_V 0x1 -#define UART_RS485_FRM_ERR_INT_ENA_S 16 -/* UART_RS485_PARITY_ERR_INT_ENA : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This is the enable bit for rs485_parity_err_int_st register.*/ -#define UART_RS485_PARITY_ERR_INT_ENA (BIT(15)) -#define UART_RS485_PARITY_ERR_INT_ENA_M (BIT(15)) -#define UART_RS485_PARITY_ERR_INT_ENA_V 0x1 -#define UART_RS485_PARITY_ERR_INT_ENA_S 15 -/* UART_TX_DONE_INT_ENA : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This is the enable bit for tx_done_int_st register.*/ -#define UART_TX_DONE_INT_ENA (BIT(14)) -#define UART_TX_DONE_INT_ENA_M (BIT(14)) -#define UART_TX_DONE_INT_ENA_V 0x1 -#define UART_TX_DONE_INT_ENA_S 14 -/* UART_TX_BRK_IDLE_DONE_INT_ENA : R/W ;bitpos:[13] ;default: 1'b0 ; */ -/*description: This is the enable bit for tx_brk_idle_done_int_st register.*/ -#define UART_TX_BRK_IDLE_DONE_INT_ENA (BIT(13)) -#define UART_TX_BRK_IDLE_DONE_INT_ENA_M (BIT(13)) -#define UART_TX_BRK_IDLE_DONE_INT_ENA_V 0x1 -#define UART_TX_BRK_IDLE_DONE_INT_ENA_S 13 -/* UART_TX_BRK_DONE_INT_ENA : R/W ;bitpos:[12] ;default: 1'b0 ; */ -/*description: This is the enable bit for tx_brk_done_int_st register.*/ -#define UART_TX_BRK_DONE_INT_ENA (BIT(12)) -#define UART_TX_BRK_DONE_INT_ENA_M (BIT(12)) -#define UART_TX_BRK_DONE_INT_ENA_V 0x1 -#define UART_TX_BRK_DONE_INT_ENA_S 12 -/* UART_GLITCH_DET_INT_ENA : R/W ;bitpos:[11] ;default: 1'b0 ; */ -/*description: This is the enable bit for glitch_det_int_st register.*/ -#define UART_GLITCH_DET_INT_ENA (BIT(11)) -#define UART_GLITCH_DET_INT_ENA_M (BIT(11)) -#define UART_GLITCH_DET_INT_ENA_V 0x1 -#define UART_GLITCH_DET_INT_ENA_S 11 -/* UART_SW_XOFF_INT_ENA : R/W ;bitpos:[10] ;default: 1'b0 ; */ -/*description: This is the enable bit for sw_xoff_int_st register.*/ -#define UART_SW_XOFF_INT_ENA (BIT(10)) -#define UART_SW_XOFF_INT_ENA_M (BIT(10)) -#define UART_SW_XOFF_INT_ENA_V 0x1 -#define UART_SW_XOFF_INT_ENA_S 10 -/* UART_SW_XON_INT_ENA : R/W ;bitpos:[9] ;default: 1'b0 ; */ -/*description: This is the enable bit for sw_xon_int_st register.*/ -#define UART_SW_XON_INT_ENA (BIT(9)) -#define UART_SW_XON_INT_ENA_M (BIT(9)) -#define UART_SW_XON_INT_ENA_V 0x1 -#define UART_SW_XON_INT_ENA_S 9 -/* UART_RXFIFO_TOUT_INT_ENA : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: This is the enable bit for rxfifo_tout_int_st register.*/ -#define UART_RXFIFO_TOUT_INT_ENA (BIT(8)) -#define UART_RXFIFO_TOUT_INT_ENA_M (BIT(8)) -#define UART_RXFIFO_TOUT_INT_ENA_V 0x1 -#define UART_RXFIFO_TOUT_INT_ENA_S 8 -/* UART_BRK_DET_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This is the enable bit for brk_det_int_st register.*/ -#define UART_BRK_DET_INT_ENA (BIT(7)) -#define UART_BRK_DET_INT_ENA_M (BIT(7)) -#define UART_BRK_DET_INT_ENA_V 0x1 -#define UART_BRK_DET_INT_ENA_S 7 -/* UART_CTS_CHG_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: This is the enable bit for cts_chg_int_st register.*/ -#define UART_CTS_CHG_INT_ENA (BIT(6)) -#define UART_CTS_CHG_INT_ENA_M (BIT(6)) -#define UART_CTS_CHG_INT_ENA_V 0x1 -#define UART_CTS_CHG_INT_ENA_S 6 -/* UART_DSR_CHG_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: This is the enable bit for dsr_chg_int_st register.*/ -#define UART_DSR_CHG_INT_ENA (BIT(5)) -#define UART_DSR_CHG_INT_ENA_M (BIT(5)) -#define UART_DSR_CHG_INT_ENA_V 0x1 -#define UART_DSR_CHG_INT_ENA_S 5 -/* UART_RXFIFO_OVF_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: This is the enable bit for rxfifo_ovf_int_st register.*/ -#define UART_RXFIFO_OVF_INT_ENA (BIT(4)) -#define UART_RXFIFO_OVF_INT_ENA_M (BIT(4)) -#define UART_RXFIFO_OVF_INT_ENA_V 0x1 -#define UART_RXFIFO_OVF_INT_ENA_S 4 -/* UART_FRM_ERR_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: This is the enable bit for frm_err_int_st register.*/ -#define UART_FRM_ERR_INT_ENA (BIT(3)) -#define UART_FRM_ERR_INT_ENA_M (BIT(3)) -#define UART_FRM_ERR_INT_ENA_V 0x1 -#define UART_FRM_ERR_INT_ENA_S 3 -/* UART_PARITY_ERR_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: This is the enable bit for parity_err_int_st register.*/ -#define UART_PARITY_ERR_INT_ENA (BIT(2)) -#define UART_PARITY_ERR_INT_ENA_M (BIT(2)) -#define UART_PARITY_ERR_INT_ENA_V 0x1 -#define UART_PARITY_ERR_INT_ENA_S 2 -/* UART_TXFIFO_EMPTY_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: This is the enable bit for rxfifo_full_int_st register.*/ -#define UART_TXFIFO_EMPTY_INT_ENA (BIT(1)) -#define UART_TXFIFO_EMPTY_INT_ENA_M (BIT(1)) -#define UART_TXFIFO_EMPTY_INT_ENA_V 0x1 -#define UART_TXFIFO_EMPTY_INT_ENA_S 1 -/* UART_RXFIFO_FULL_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: This is the enable bit for rxfifo_full_int_st register.*/ -#define UART_RXFIFO_FULL_INT_ENA (BIT(0)) -#define UART_RXFIFO_FULL_INT_ENA_M (BIT(0)) -#define UART_RXFIFO_FULL_INT_ENA_V 0x1 -#define UART_RXFIFO_FULL_INT_ENA_S 0 - -#define UART_INT_CLR_REG(i) (REG_UART_BASE(i) + 0x10) -/* UART_AT_CMD_CHAR_DET_INT_CLR : WO ;bitpos:[18] ;default: 1'b0 ; */ -/*description: Set this bit to clear the at_cmd_char_det_int_raw interrupt.*/ -#define UART_AT_CMD_CHAR_DET_INT_CLR (BIT(18)) -#define UART_AT_CMD_CHAR_DET_INT_CLR_M (BIT(18)) -#define UART_AT_CMD_CHAR_DET_INT_CLR_V 0x1 -#define UART_AT_CMD_CHAR_DET_INT_CLR_S 18 -/* UART_RS485_CLASH_INT_CLR : WO ;bitpos:[17] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rs485_clash_int_raw interrupt.*/ -#define UART_RS485_CLASH_INT_CLR (BIT(17)) -#define UART_RS485_CLASH_INT_CLR_M (BIT(17)) -#define UART_RS485_CLASH_INT_CLR_V 0x1 -#define UART_RS485_CLASH_INT_CLR_S 17 -/* UART_RS485_FRM_ERR_INT_CLR : WO ;bitpos:[16] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rs485_frm_err_int_raw interrupt.*/ -#define UART_RS485_FRM_ERR_INT_CLR (BIT(16)) -#define UART_RS485_FRM_ERR_INT_CLR_M (BIT(16)) -#define UART_RS485_FRM_ERR_INT_CLR_V 0x1 -#define UART_RS485_FRM_ERR_INT_CLR_S 16 -/* UART_RS485_PARITY_ERR_INT_CLR : WO ;bitpos:[15] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rs485_parity_err_int_raw interrupt.*/ -#define UART_RS485_PARITY_ERR_INT_CLR (BIT(15)) -#define UART_RS485_PARITY_ERR_INT_CLR_M (BIT(15)) -#define UART_RS485_PARITY_ERR_INT_CLR_V 0x1 -#define UART_RS485_PARITY_ERR_INT_CLR_S 15 -/* UART_TX_DONE_INT_CLR : WO ;bitpos:[14] ;default: 1'b0 ; */ -/*description: Set this bit to clear the tx_done_int_raw interrupt.*/ -#define UART_TX_DONE_INT_CLR (BIT(14)) -#define UART_TX_DONE_INT_CLR_M (BIT(14)) -#define UART_TX_DONE_INT_CLR_V 0x1 -#define UART_TX_DONE_INT_CLR_S 14 -/* UART_TX_BRK_IDLE_DONE_INT_CLR : WO ;bitpos:[13] ;default: 1'b0 ; */ -/*description: Set this bit to clear the tx_brk_idle_done_int_raw interrupt.*/ -#define UART_TX_BRK_IDLE_DONE_INT_CLR (BIT(13)) -#define UART_TX_BRK_IDLE_DONE_INT_CLR_M (BIT(13)) -#define UART_TX_BRK_IDLE_DONE_INT_CLR_V 0x1 -#define UART_TX_BRK_IDLE_DONE_INT_CLR_S 13 -/* UART_TX_BRK_DONE_INT_CLR : WO ;bitpos:[12] ;default: 1'b0 ; */ -/*description: Set this bit to clear the tx_brk_done_int_raw interrupt..*/ -#define UART_TX_BRK_DONE_INT_CLR (BIT(12)) -#define UART_TX_BRK_DONE_INT_CLR_M (BIT(12)) -#define UART_TX_BRK_DONE_INT_CLR_V 0x1 -#define UART_TX_BRK_DONE_INT_CLR_S 12 -/* UART_GLITCH_DET_INT_CLR : WO ;bitpos:[11] ;default: 1'b0 ; */ -/*description: Set this bit to clear the glitch_det_int_raw interrupt.*/ -#define UART_GLITCH_DET_INT_CLR (BIT(11)) -#define UART_GLITCH_DET_INT_CLR_M (BIT(11)) -#define UART_GLITCH_DET_INT_CLR_V 0x1 -#define UART_GLITCH_DET_INT_CLR_S 11 -/* UART_SW_XOFF_INT_CLR : WO ;bitpos:[10] ;default: 1'b0 ; */ -/*description: Set this bit to clear the sw_xon_int_raw interrupt.*/ -#define UART_SW_XOFF_INT_CLR (BIT(10)) -#define UART_SW_XOFF_INT_CLR_M (BIT(10)) -#define UART_SW_XOFF_INT_CLR_V 0x1 -#define UART_SW_XOFF_INT_CLR_S 10 -/* UART_SW_XON_INT_CLR : WO ;bitpos:[9] ;default: 1'b0 ; */ -/*description: Set this bit to clear the sw_xon_int_raw interrupt.*/ -#define UART_SW_XON_INT_CLR (BIT(9)) -#define UART_SW_XON_INT_CLR_M (BIT(9)) -#define UART_SW_XON_INT_CLR_V 0x1 -#define UART_SW_XON_INT_CLR_S 9 -/* UART_RXFIFO_TOUT_INT_CLR : WO ;bitpos:[8] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rxfifo_tout_int_raw interrupt.*/ -#define UART_RXFIFO_TOUT_INT_CLR (BIT(8)) -#define UART_RXFIFO_TOUT_INT_CLR_M (BIT(8)) -#define UART_RXFIFO_TOUT_INT_CLR_V 0x1 -#define UART_RXFIFO_TOUT_INT_CLR_S 8 -/* UART_BRK_DET_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ; */ -/*description: Set this bit to clear the brk_det_int_raw interrupt.*/ -#define UART_BRK_DET_INT_CLR (BIT(7)) -#define UART_BRK_DET_INT_CLR_M (BIT(7)) -#define UART_BRK_DET_INT_CLR_V 0x1 -#define UART_BRK_DET_INT_CLR_S 7 -/* UART_CTS_CHG_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ; */ -/*description: Set this bit to clear the cts_chg_int_raw interrupt.*/ -#define UART_CTS_CHG_INT_CLR (BIT(6)) -#define UART_CTS_CHG_INT_CLR_M (BIT(6)) -#define UART_CTS_CHG_INT_CLR_V 0x1 -#define UART_CTS_CHG_INT_CLR_S 6 -/* UART_DSR_CHG_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ; */ -/*description: Set this bit to clear the dsr_chg_int_raw interrupt.*/ -#define UART_DSR_CHG_INT_CLR (BIT(5)) -#define UART_DSR_CHG_INT_CLR_M (BIT(5)) -#define UART_DSR_CHG_INT_CLR_V 0x1 -#define UART_DSR_CHG_INT_CLR_S 5 -/* UART_RXFIFO_OVF_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to clear rxfifo_ovf_int_raw interrupt.*/ -#define UART_RXFIFO_OVF_INT_CLR (BIT(4)) -#define UART_RXFIFO_OVF_INT_CLR_M (BIT(4)) -#define UART_RXFIFO_OVF_INT_CLR_V 0x1 -#define UART_RXFIFO_OVF_INT_CLR_S 4 -/* UART_FRM_ERR_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to clear frm_err_int_raw interrupt.*/ -#define UART_FRM_ERR_INT_CLR (BIT(3)) -#define UART_FRM_ERR_INT_CLR_M (BIT(3)) -#define UART_FRM_ERR_INT_CLR_V 0x1 -#define UART_FRM_ERR_INT_CLR_S 3 -/* UART_PARITY_ERR_INT_CLR : WO ;bitpos:[2] ;default: 1'b0 ; */ -/*description: Set this bit to clear parity_err_int_raw interrupt.*/ -#define UART_PARITY_ERR_INT_CLR (BIT(2)) -#define UART_PARITY_ERR_INT_CLR_M (BIT(2)) -#define UART_PARITY_ERR_INT_CLR_V 0x1 -#define UART_PARITY_ERR_INT_CLR_S 2 -/* UART_TXFIFO_EMPTY_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ; */ -/*description: Set this bit to clear txfifo_empty_int_raw interrupt.*/ -#define UART_TXFIFO_EMPTY_INT_CLR (BIT(1)) -#define UART_TXFIFO_EMPTY_INT_CLR_M (BIT(1)) -#define UART_TXFIFO_EMPTY_INT_CLR_V 0x1 -#define UART_TXFIFO_EMPTY_INT_CLR_S 1 -/* UART_RXFIFO_FULL_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ; */ -/*description: Set this bit to clear the rxfifo_full_int_raw interrupt.*/ -#define UART_RXFIFO_FULL_INT_CLR (BIT(0)) -#define UART_RXFIFO_FULL_INT_CLR_M (BIT(0)) -#define UART_RXFIFO_FULL_INT_CLR_V 0x1 -#define UART_RXFIFO_FULL_INT_CLR_S 0 - -#define UART_CLKDIV_REG(i) (REG_UART_BASE(i) + 0x14) -/* UART_CLKDIV_FRAG : R/W ;bitpos:[23:20] ;default: 4'h0 ; */ -/*description: The register value is the decimal part of the frequency divider's factor.*/ -#define UART_CLKDIV_FRAG 0x0000000F -#define UART_CLKDIV_FRAG_M ((UART_CLKDIV_FRAG_V)<<(UART_CLKDIV_FRAG_S)) -#define UART_CLKDIV_FRAG_V 0xF -#define UART_CLKDIV_FRAG_S 20 -/* UART_CLKDIV : R/W ;bitpos:[19:0] ;default: 20'h2B6 ; */ -/*description: The register value is the integer part of the frequency divider's factor.*/ -#define UART_CLKDIV 0x000FFFFF -#define UART_CLKDIV_M ((UART_CLKDIV_V)<<(UART_CLKDIV_S)) -#define UART_CLKDIV_V 0xFFFFF -#define UART_CLKDIV_S 0 - -#define UART_AUTOBAUD_REG(i) (REG_UART_BASE(i) + 0x18) -/* UART_GLITCH_FILT : R/W ;bitpos:[15:8] ;default: 8'h10 ; */ -/*description: when input pulse width is lower then this value igore this pulse.this - register is used in autobaud detect process.*/ -#define UART_GLITCH_FILT 0x000000FF -#define UART_GLITCH_FILT_M ((UART_GLITCH_FILT_V)<<(UART_GLITCH_FILT_S)) -#define UART_GLITCH_FILT_V 0xFF -#define UART_GLITCH_FILT_S 8 -/* UART_AUTOBAUD_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: This is the enable bit for detecting baudrate.*/ -#define UART_AUTOBAUD_EN (BIT(0)) -#define UART_AUTOBAUD_EN_M (BIT(0)) -#define UART_AUTOBAUD_EN_V 0x1 -#define UART_AUTOBAUD_EN_S 0 - -#define UART_STATUS_REG(i) (REG_UART_BASE(i) + 0x1C) -/* UART_TXD : RO ;bitpos:[31] ;default: 8'h0 ; */ -/*description: This register represent the level value of the internal uart rxd signal.*/ -#define UART_TXD (BIT(31)) -#define UART_TXD_M (BIT(31)) -#define UART_TXD_V 0x1 -#define UART_TXD_S 31 -/* UART_RTSN : RO ;bitpos:[30] ;default: 1'b0 ; */ -/*description: This register represent the level value of the internal uart cts signal.*/ -#define UART_RTSN (BIT(30)) -#define UART_RTSN_M (BIT(30)) -#define UART_RTSN_V 0x1 -#define UART_RTSN_S 30 -/* UART_DTRN : RO ;bitpos:[29] ;default: 1'b0 ; */ -/*description: The register represent the level value of the internal uart dsr signal.*/ -#define UART_DTRN (BIT(29)) -#define UART_DTRN_M (BIT(29)) -#define UART_DTRN_V 0x1 -#define UART_DTRN_S 29 -/* UART_ST_UTX_OUT : RO ;bitpos:[27:24] ;default: 4'b0 ; */ -/*description: This register stores the value of transmitter's finite state - machine. 0:TX_IDLE 1:TX_STRT 2:TX_DAT0 3:TX_DAT1 4:TX_DAT2 5:TX_DAT3 6:TX_DAT4 7:TX_DAT5 8:TX_DAT6 9:TX_DAT7 10:TX_PRTY 11:TX_STP1 12:TX_STP2 13:TX_DL0 14:TX_DL1*/ -#define UART_ST_UTX_OUT 0x0000000F -#define UART_ST_UTX_OUT_M ((UART_ST_UTX_OUT_V)<<(UART_ST_UTX_OUT_S)) -#define UART_ST_UTX_OUT_V 0xF -#define UART_ST_UTX_OUT_S 24 -/* UART_TXFIFO_CNT : RO ;bitpos:[23:16] ;default: 8'b0 ; */ -/*description: (tx_mem_cnt txfifo_cnt) stores the byte num of valid datas in - transmitter's fifo.tx_mem_cnt stores the 3 most significant bits txfifo_cnt stores the 8 least significant bits.*/ -#define UART_TXFIFO_CNT 0x000000FF -#define UART_TXFIFO_CNT_M ((UART_TXFIFO_CNT_V)<<(UART_TXFIFO_CNT_S)) -#define UART_TXFIFO_CNT_V 0xFF -#define UART_TXFIFO_CNT_S 16 -/* UART_RXD : RO ;bitpos:[15] ;default: 1'b0 ; */ -/*description: This register stores the level value of the internal uart rxd signal.*/ -#define UART_RXD (BIT(15)) -#define UART_RXD_M (BIT(15)) -#define UART_RXD_V 0x1 -#define UART_RXD_S 15 -/* UART_CTSN : RO ;bitpos:[14] ;default: 1'b0 ; */ -/*description: This register stores the level value of the internal uart cts signal.*/ -#define UART_CTSN (BIT(14)) -#define UART_CTSN_M (BIT(14)) -#define UART_CTSN_V 0x1 -#define UART_CTSN_S 14 -/* UART_DSRN : RO ;bitpos:[13] ;default: 1'b0 ; */ -/*description: This register stores the level value of the internal uart dsr signal.*/ -#define UART_DSRN (BIT(13)) -#define UART_DSRN_M (BIT(13)) -#define UART_DSRN_V 0x1 -#define UART_DSRN_S 13 -/* UART_ST_URX_OUT : RO ;bitpos:[11:8] ;default: 4'b0 ; */ -/*description: This register stores the value of receiver's finite state machine. - 0:RX_IDLE 1:RX_STRT 2:RX_DAT0 3:RX_DAT1 4:RX_DAT2 5:RX_DAT3 6:RX_DAT4 7:RX_DAT5 8:RX_DAT6 9:RX_DAT7 10:RX_PRTY 11:RX_STP1 12:RX_STP2 13:RX_DL1*/ -#define UART_ST_URX_OUT 0x0000000F -#define UART_ST_URX_OUT_M ((UART_ST_URX_OUT_V)<<(UART_ST_URX_OUT_S)) -#define UART_ST_URX_OUT_V 0xF -#define UART_ST_URX_OUT_S 8 -/* UART_RXFIFO_CNT : RO ;bitpos:[7:0] ;default: 8'b0 ; */ -/*description: (rx_mem_cnt rxfifo_cnt) stores the byte num of valid datas in - receiver's fifo. rx_mem_cnt register stores the 3 most significant bits rxfifo_cnt stores the 8 least significant bits.*/ -#define UART_RXFIFO_CNT 0x000000FF -#define UART_RXFIFO_CNT_M ((UART_RXFIFO_CNT_V)<<(UART_RXFIFO_CNT_S)) -#define UART_RXFIFO_CNT_V 0xFF -#define UART_RXFIFO_CNT_S 0 - -#define UART_CONF0_REG(i) (REG_UART_BASE(i) + 0x20) -/* UART_TICK_REF_ALWAYS_ON : R/W ;bitpos:[27] ;default: 1'b1 ; */ -/*description: This register is used to select the clock.1.apb clock 0:ref_tick*/ -#define UART_TICK_REF_ALWAYS_ON (BIT(27)) -#define UART_TICK_REF_ALWAYS_ON_M (BIT(27)) -#define UART_TICK_REF_ALWAYS_ON_V 0x1 -#define UART_TICK_REF_ALWAYS_ON_S 27 -/* UART_ERR_WR_MASK : R/W ;bitpos:[26] ;default: 1'b0 ; */ -/*description: 1.receiver stops storing data int fifo when data is wrong. - 0.receiver stores the data even if the received data is wrong.*/ -#define UART_ERR_WR_MASK (BIT(26)) -#define UART_ERR_WR_MASK_M (BIT(26)) -#define UART_ERR_WR_MASK_V 0x1 -#define UART_ERR_WR_MASK_S 26 -/* UART_CLK_EN : R/W ;bitpos:[25] ;default: 1'h0 ; */ -/*description: 1.force clock on for registers.support clock only when write registers*/ -#define UART_CLK_EN (BIT(25)) -#define UART_CLK_EN_M (BIT(25)) -#define UART_CLK_EN_V 0x1 -#define UART_CLK_EN_S 25 -/* UART_DTR_INV : R/W ;bitpos:[24] ;default: 1'h0 ; */ -/*description: Set this bit to inverse the level value of uart dtr signal.*/ -#define UART_DTR_INV (BIT(24)) -#define UART_DTR_INV_M (BIT(24)) -#define UART_DTR_INV_V 0x1 -#define UART_DTR_INV_S 24 -/* UART_RTS_INV : R/W ;bitpos:[23] ;default: 1'h0 ; */ -/*description: Set this bit to inverse the level value of uart rts signal.*/ -#define UART_RTS_INV (BIT(23)) -#define UART_RTS_INV_M (BIT(23)) -#define UART_RTS_INV_V 0x1 -#define UART_RTS_INV_S 23 -/* UART_TXD_INV : R/W ;bitpos:[22] ;default: 1'h0 ; */ -/*description: Set this bit to inverse the level value of uart txd signal.*/ -#define UART_TXD_INV (BIT(22)) -#define UART_TXD_INV_M (BIT(22)) -#define UART_TXD_INV_V 0x1 -#define UART_TXD_INV_S 22 -/* UART_DSR_INV : R/W ;bitpos:[21] ;default: 1'h0 ; */ -/*description: Set this bit to inverse the level value of uart dsr signal.*/ -#define UART_DSR_INV (BIT(21)) -#define UART_DSR_INV_M (BIT(21)) -#define UART_DSR_INV_V 0x1 -#define UART_DSR_INV_S 21 -/* UART_CTS_INV : R/W ;bitpos:[20] ;default: 1'h0 ; */ -/*description: Set this bit to inverse the level value of uart cts signal.*/ -#define UART_CTS_INV (BIT(20)) -#define UART_CTS_INV_M (BIT(20)) -#define UART_CTS_INV_V 0x1 -#define UART_CTS_INV_S 20 -/* UART_RXD_INV : R/W ;bitpos:[19] ;default: 1'h0 ; */ -/*description: Set this bit to inverse the level value of uart rxd signal.*/ -#define UART_RXD_INV (BIT(19)) -#define UART_RXD_INV_M (BIT(19)) -#define UART_RXD_INV_V 0x1 -#define UART_RXD_INV_S 19 -/* UART_TXFIFO_RST : R/W ;bitpos:[18] ;default: 1'h0 ; */ -/*description: Set this bit to reset uart transmitter's fifo.*/ -#define UART_TXFIFO_RST (BIT(18)) -#define UART_TXFIFO_RST_M (BIT(18)) -#define UART_TXFIFO_RST_V 0x1 -#define UART_TXFIFO_RST_S 18 -/* UART_RXFIFO_RST : R/W ;bitpos:[17] ;default: 1'h0 ; */ -/*description: Set this bit to reset uart receiver's fifo.*/ -#define UART_RXFIFO_RST (BIT(17)) -#define UART_RXFIFO_RST_M (BIT(17)) -#define UART_RXFIFO_RST_V 0x1 -#define UART_RXFIFO_RST_S 17 -/* UART_IRDA_EN : R/W ;bitpos:[16] ;default: 1'h0 ; */ -/*description: Set this bit to enable irda protocol.*/ -#define UART_IRDA_EN (BIT(16)) -#define UART_IRDA_EN_M (BIT(16)) -#define UART_IRDA_EN_V 0x1 -#define UART_IRDA_EN_S 16 -/* UART_TX_FLOW_EN : R/W ;bitpos:[15] ;default: 1'b0 ; */ -/*description: Set this bit to enable transmitter's flow control function.*/ -#define UART_TX_FLOW_EN (BIT(15)) -#define UART_TX_FLOW_EN_M (BIT(15)) -#define UART_TX_FLOW_EN_V 0x1 -#define UART_TX_FLOW_EN_S 15 -/* UART_LOOPBACK : R/W ;bitpos:[14] ;default: 1'b0 ; */ -/*description: Set this bit to enable uart loopback test mode.*/ -#define UART_LOOPBACK (BIT(14)) -#define UART_LOOPBACK_M (BIT(14)) -#define UART_LOOPBACK_V 0x1 -#define UART_LOOPBACK_S 14 -/* UART_IRDA_RX_INV : R/W ;bitpos:[13] ;default: 1'b0 ; */ -/*description: Set this bit to inverse the level value of irda receiver's level.*/ -#define UART_IRDA_RX_INV (BIT(13)) -#define UART_IRDA_RX_INV_M (BIT(13)) -#define UART_IRDA_RX_INV_V 0x1 -#define UART_IRDA_RX_INV_S 13 -/* UART_IRDA_TX_INV : R/W ;bitpos:[12] ;default: 1'b0 ; */ -/*description: Set this bit to inverse the level value of irda transmitter's level.*/ -#define UART_IRDA_TX_INV (BIT(12)) -#define UART_IRDA_TX_INV_M (BIT(12)) -#define UART_IRDA_TX_INV_V 0x1 -#define UART_IRDA_TX_INV_S 12 -/* UART_IRDA_WCTL : R/W ;bitpos:[11] ;default: 1'b0 ; */ -/*description: 1.the irda transmitter's 11th bit is the same to the 10th bit. - 0.set irda transmitter's 11th bit to 0.*/ -#define UART_IRDA_WCTL (BIT(11)) -#define UART_IRDA_WCTL_M (BIT(11)) -#define UART_IRDA_WCTL_V 0x1 -#define UART_IRDA_WCTL_S 11 -/* UART_IRDA_TX_EN : R/W ;bitpos:[10] ;default: 1'b0 ; */ -/*description: This is the start enable bit for irda transmitter.*/ -#define UART_IRDA_TX_EN (BIT(10)) -#define UART_IRDA_TX_EN_M (BIT(10)) -#define UART_IRDA_TX_EN_V 0x1 -#define UART_IRDA_TX_EN_S 10 -/* UART_IRDA_DPLX : R/W ;bitpos:[9] ;default: 1'b0 ; */ -/*description: Set this bit to enable irda loopback mode.*/ -#define UART_IRDA_DPLX (BIT(9)) -#define UART_IRDA_DPLX_M (BIT(9)) -#define UART_IRDA_DPLX_V 0x1 -#define UART_IRDA_DPLX_S 9 -/* UART_TXD_BRK : R/W ;bitpos:[8] ;default: 1'b0 ; */ -/*description: Set this bit to enbale transmitter to send 0 when the process - of sending data is done.*/ -#define UART_TXD_BRK (BIT(8)) -#define UART_TXD_BRK_M (BIT(8)) -#define UART_TXD_BRK_V 0x1 -#define UART_TXD_BRK_S 8 -/* UART_SW_DTR : R/W ;bitpos:[7] ;default: 1'b0 ; */ -/*description: This register is used to configure the software dtr signal which - is used in software flow control..*/ -#define UART_SW_DTR (BIT(7)) -#define UART_SW_DTR_M (BIT(7)) -#define UART_SW_DTR_V 0x1 -#define UART_SW_DTR_S 7 -/* UART_SW_RTS : R/W ;bitpos:[6] ;default: 1'b0 ; */ -/*description: This register is used to configure the software rts signal which - is used in software flow control.*/ -#define UART_SW_RTS (BIT(6)) -#define UART_SW_RTS_M (BIT(6)) -#define UART_SW_RTS_V 0x1 -#define UART_SW_RTS_S 6 -/* UART_STOP_BIT_NUM : R/W ;bitpos:[5:4] ;default: 2'd1 ; */ -/*description: This register is used to set the length of stop bit. 1:1bit 2:1.5bits 3:2bits*/ -#define UART_STOP_BIT_NUM 0x00000003 -#define UART_STOP_BIT_NUM_M ((UART_STOP_BIT_NUM_V)<<(UART_STOP_BIT_NUM_S)) -#define UART_STOP_BIT_NUM_V 0x3 -#define UART_STOP_BIT_NUM_S 4 -/* UART_BIT_NUM : R/W ;bitpos:[3:2] ;default: 2'd3 ; */ -/*description: This registe is used to set the length of data: 0:5bits 1:6bits 2:7bits 3:8bits*/ -#define UART_BIT_NUM 0x00000003 -#define UART_BIT_NUM_M ((UART_BIT_NUM_V)<<(UART_BIT_NUM_S)) -#define UART_BIT_NUM_V 0x3 -#define UART_BIT_NUM_S 2 -/* UART_PARITY_EN : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: Set this bit to enable uart parity check.*/ -#define UART_PARITY_EN (BIT(1)) -#define UART_PARITY_EN_M (BIT(1)) -#define UART_PARITY_EN_V 0x1 -#define UART_PARITY_EN_S 1 -/* UART_PARITY : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: This register is used to configure the parity check mode. 0:even 1:odd*/ -#define UART_PARITY (BIT(0)) -#define UART_PARITY_M (BIT(0)) -#define UART_PARITY_V 0x1 -#define UART_PARITY_S 0 - -#define UART_CONF1_REG(i) (REG_UART_BASE(i) + 0x24) -/* UART_RX_TOUT_EN : R/W ;bitpos:[31] ;default: 1'b0 ; */ -/*description: This is the enble bit for uart receiver's timeout function.*/ -#define UART_RX_TOUT_EN (BIT(31)) -#define UART_RX_TOUT_EN_M (BIT(31)) -#define UART_RX_TOUT_EN_V 0x1 -#define UART_RX_TOUT_EN_S 31 -/* UART_RX_TOUT_THRHD : R/W ;bitpos:[30:24] ;default: 7'b0 ; */ -/*description: This register is used to configure the timeout value for uart - receiver receiving a byte.*/ -#define UART_RX_TOUT_THRHD 0x0000007F -#define UART_RX_TOUT_THRHD_M ((UART_RX_TOUT_THRHD_V)<<(UART_RX_TOUT_THRHD_S)) -#define UART_RX_TOUT_THRHD_V 0x7F -#define UART_RX_TOUT_THRHD_S 24 -/* UART_RX_FLOW_EN : R/W ;bitpos:[23] ;default: 1'b0 ; */ -/*description: This is the flow enable bit for uart receiver. 1:choose software - flow control with configuring sw_rts signal*/ -#define UART_RX_FLOW_EN (BIT(23)) -#define UART_RX_FLOW_EN_M (BIT(23)) -#define UART_RX_FLOW_EN_V 0x1 -#define UART_RX_FLOW_EN_S 23 -/* UART_RX_FLOW_THRHD : R/W ;bitpos:[22:16] ;default: 7'h0 ; */ -/*description: when receiver receives more data than its threshold value. - receiver produce signal to tell the transmitter stop transferring data. the threshold value is (rx_flow_thrhd_h3 rx_flow_thrhd).*/ -#define UART_RX_FLOW_THRHD 0x0000007F -#define UART_RX_FLOW_THRHD_M ((UART_RX_FLOW_THRHD_V)<<(UART_RX_FLOW_THRHD_S)) -#define UART_RX_FLOW_THRHD_V 0x7F -#define UART_RX_FLOW_THRHD_S 16 -/* UART_TXFIFO_EMPTY_THRHD : R/W ;bitpos:[14:8] ;default: 7'h60 ; */ -/*description: when the data amount in transmitter fifo is less than its threshold - value. it will produce txfifo_empty_int_raw interrupt. the threshold value is (tx_mem_empty_thrhd txfifo_empty_thrhd)*/ -#define UART_TXFIFO_EMPTY_THRHD 0x0000007F -#define UART_TXFIFO_EMPTY_THRHD_M ((UART_TXFIFO_EMPTY_THRHD_V)<<(UART_TXFIFO_EMPTY_THRHD_S)) -#define UART_TXFIFO_EMPTY_THRHD_V 0x7F -#define UART_TXFIFO_EMPTY_THRHD_S 8 -/* UART_RXFIFO_FULL_THRHD : R/W ;bitpos:[6:0] ;default: 7'h60 ; */ -/*description: When receiver receives more data than its threshold value.receiver - will produce rxfifo_full_int_raw interrupt.the threshold value is (rx_flow_thrhd_h3 rxfifo_full_thrhd).*/ -#define UART_RXFIFO_FULL_THRHD 0x0000007F -#define UART_RXFIFO_FULL_THRHD_M ((UART_RXFIFO_FULL_THRHD_V)<<(UART_RXFIFO_FULL_THRHD_S)) -#define UART_RXFIFO_FULL_THRHD_V 0x7F -#define UART_RXFIFO_FULL_THRHD_S 0 - -#define UART_LOWPULSE_REG(i) (REG_UART_BASE(i) + 0x28) -/* UART_LOWPULSE_MIN_CNT : RO ;bitpos:[19:0] ;default: 20'hFFFFF ; */ -/*description: This register stores the value of the minimum duration time for - the low level pulse. it is used in baudrate-detect process.*/ -#define UART_LOWPULSE_MIN_CNT 0x000FFFFF -#define UART_LOWPULSE_MIN_CNT_M ((UART_LOWPULSE_MIN_CNT_V)<<(UART_LOWPULSE_MIN_CNT_S)) -#define UART_LOWPULSE_MIN_CNT_V 0xFFFFF -#define UART_LOWPULSE_MIN_CNT_S 0 - -#define UART_HIGHPULSE_REG(i) (REG_UART_BASE(i) + 0x2C) -/* UART_HIGHPULSE_MIN_CNT : RO ;bitpos:[19:0] ;default: 20'hFFFFF ; */ -/*description: This register stores the value of the maxinum duration time - for the high level pulse. it is used in baudrate-detect process.*/ -#define UART_HIGHPULSE_MIN_CNT 0x000FFFFF -#define UART_HIGHPULSE_MIN_CNT_M ((UART_HIGHPULSE_MIN_CNT_V)<<(UART_HIGHPULSE_MIN_CNT_S)) -#define UART_HIGHPULSE_MIN_CNT_V 0xFFFFF -#define UART_HIGHPULSE_MIN_CNT_S 0 - -#define UART_RXD_CNT_REG(i) (REG_UART_BASE(i) + 0x30) -/* UART_RXD_EDGE_CNT : RO ;bitpos:[9:0] ;default: 10'h0 ; */ -/*description: This register stores the count of rxd edge change. it is used - in baudrate-detect process.*/ -#define UART_RXD_EDGE_CNT 0x000003FF -#define UART_RXD_EDGE_CNT_M ((UART_RXD_EDGE_CNT_V)<<(UART_RXD_EDGE_CNT_S)) -#define UART_RXD_EDGE_CNT_V 0x3FF -#define UART_RXD_EDGE_CNT_S 0 - -#define UART_FLOW_CONF_REG(i) (REG_UART_BASE(i) + 0x34) -/* UART_SEND_XOFF : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: Set this bit to send xoff char. it is cleared by hardware automatically.*/ -#define UART_SEND_XOFF (BIT(5)) -#define UART_SEND_XOFF_M (BIT(5)) -#define UART_SEND_XOFF_V 0x1 -#define UART_SEND_XOFF_S 5 -/* UART_SEND_XON : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: Set this bit to send xon char. it is cleared by hardware automatically.*/ -#define UART_SEND_XON (BIT(4)) -#define UART_SEND_XON_M (BIT(4)) -#define UART_SEND_XON_V 0x1 -#define UART_SEND_XON_S 4 -/* UART_FORCE_XOFF : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to set ctsn to enable the transmitter to go on sending data.*/ -#define UART_FORCE_XOFF (BIT(3)) -#define UART_FORCE_XOFF_M (BIT(3)) -#define UART_FORCE_XOFF_V 0x1 -#define UART_FORCE_XOFF_S 3 -/* UART_FORCE_XON : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: Set this bit to clear ctsn to stop the transmitter from sending data.*/ -#define UART_FORCE_XON (BIT(2)) -#define UART_FORCE_XON_M (BIT(2)) -#define UART_FORCE_XON_V 0x1 -#define UART_FORCE_XON_S 2 -/* UART_XONOFF_DEL : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: Set this bit to remove flow control char from the received data.*/ -#define UART_XONOFF_DEL (BIT(1)) -#define UART_XONOFF_DEL_M (BIT(1)) -#define UART_XONOFF_DEL_V 0x1 -#define UART_XONOFF_DEL_S 1 -/* UART_SW_FLOW_CON_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: Set this bit to enable software flow control. it is used with - register sw_xon or sw_xoff .*/ -#define UART_SW_FLOW_CON_EN (BIT(0)) -#define UART_SW_FLOW_CON_EN_M (BIT(0)) -#define UART_SW_FLOW_CON_EN_V 0x1 -#define UART_SW_FLOW_CON_EN_S 0 - -#define UART_SLEEP_CONF_REG(i) (REG_UART_BASE(i) + 0x38) -/* UART_ACTIVE_THRESHOLD : R/W ;bitpos:[9:0] ;default: 10'hf0 ; */ -/*description: When the input rxd edge changes more than this register value. - the uart is active from light sleeping mode.*/ -#define UART_ACTIVE_THRESHOLD 0x000003FF -#define UART_ACTIVE_THRESHOLD_M ((UART_ACTIVE_THRESHOLD_V)<<(UART_ACTIVE_THRESHOLD_S)) -#define UART_ACTIVE_THRESHOLD_V 0x3FF -#define UART_ACTIVE_THRESHOLD_S 0 - -#define UART_SWFC_CONF_REG(i) (REG_UART_BASE(i) + 0x3C) -/* UART_XOFF_CHAR : R/W ;bitpos:[31:24] ;default: 8'h13 ; */ -/*description: This register stores the xoff flow control char.*/ -#define UART_XOFF_CHAR 0x000000FF -#define UART_XOFF_CHAR_M ((UART_XOFF_CHAR_V)<<(UART_XOFF_CHAR_S)) -#define UART_XOFF_CHAR_V 0xFF -#define UART_XOFF_CHAR_S 24 -/* UART_XON_CHAR : R/W ;bitpos:[23:16] ;default: 8'h11 ; */ -/*description: This register stores the xon flow control char.*/ -#define UART_XON_CHAR 0x000000FF -#define UART_XON_CHAR_M ((UART_XON_CHAR_V)<<(UART_XON_CHAR_S)) -#define UART_XON_CHAR_V 0xFF -#define UART_XON_CHAR_S 16 -/* UART_XOFF_THRESHOLD : R/W ;bitpos:[15:8] ;default: 8'he0 ; */ -/*description: When the data amount in receiver's fifo is less than this register - value. it will send a xon char with uart_sw_flow_con_en set to 1.*/ -#define UART_XOFF_THRESHOLD 0x000000FF -#define UART_XOFF_THRESHOLD_M ((UART_XOFF_THRESHOLD_V)<<(UART_XOFF_THRESHOLD_S)) -#define UART_XOFF_THRESHOLD_V 0xFF -#define UART_XOFF_THRESHOLD_S 8 -/* UART_XON_THRESHOLD : R/W ;bitpos:[7:0] ;default: 8'h0 ; */ -/*description: when the data amount in receiver's fifo is more than this register - value. it will send a xoff char with uart_sw_flow_con_en set to 1.*/ -#define UART_XON_THRESHOLD 0x000000FF -#define UART_XON_THRESHOLD_M ((UART_XON_THRESHOLD_V)<<(UART_XON_THRESHOLD_S)) -#define UART_XON_THRESHOLD_V 0xFF -#define UART_XON_THRESHOLD_S 0 - -#define UART_IDLE_CONF_REG(i) (REG_UART_BASE(i) + 0x40) -/* UART_TX_BRK_NUM : R/W ;bitpos:[27:20] ;default: 8'ha ; */ -/*description: This register is used to configure the num of 0 send after the - process of sending data is done. it is active when txd_brk is set to 1.*/ -#define UART_TX_BRK_NUM 0x000000FF -#define UART_TX_BRK_NUM_M ((UART_TX_BRK_NUM_V)<<(UART_TX_BRK_NUM_S)) -#define UART_TX_BRK_NUM_V 0xFF -#define UART_TX_BRK_NUM_S 20 -/* UART_TX_IDLE_NUM : R/W ;bitpos:[19:10] ;default: 10'h100 ; */ -/*description: This register is used to configure the duration time between transfers.*/ -#define UART_TX_IDLE_NUM 0x000003FF -#define UART_TX_IDLE_NUM_M ((UART_TX_IDLE_NUM_V)<<(UART_TX_IDLE_NUM_S)) -#define UART_TX_IDLE_NUM_V 0x3FF -#define UART_TX_IDLE_NUM_S 10 -/* UART_RX_IDLE_THRHD : R/W ;bitpos:[9:0] ;default: 10'h100 ; */ -/*description: when receiver takes more time than this register value to receive - a byte data. it will produce frame end signal for uhci to stop receiving data.*/ -#define UART_RX_IDLE_THRHD 0x000003FF -#define UART_RX_IDLE_THRHD_M ((UART_RX_IDLE_THRHD_V)<<(UART_RX_IDLE_THRHD_S)) -#define UART_RX_IDLE_THRHD_V 0x3FF -#define UART_RX_IDLE_THRHD_S 0 - -#define UART_RS485_CONF_REG(i) (REG_UART_BASE(i) + 0x44) -/* UART_RS485_TX_DLY_NUM : R/W ;bitpos:[9:6] ;default: 4'b0 ; */ -/*description: This register is used to delay the transmitter's internal data signal.*/ -#define UART_RS485_TX_DLY_NUM 0x0000000F -#define UART_RS485_TX_DLY_NUM_M ((UART_RS485_TX_DLY_NUM_V)<<(UART_RS485_TX_DLY_NUM_S)) -#define UART_RS485_TX_DLY_NUM_V 0xF -#define UART_RS485_TX_DLY_NUM_S 6 -/* UART_RS485_RX_DLY_NUM : R/W ;bitpos:[5] ;default: 1'b0 ; */ -/*description: This register is used to delay the receiver's internal data signal.*/ -#define UART_RS485_RX_DLY_NUM (BIT(5)) -#define UART_RS485_RX_DLY_NUM_M (BIT(5)) -#define UART_RS485_RX_DLY_NUM_V 0x1 -#define UART_RS485_RX_DLY_NUM_S 5 -/* UART_RS485RXBY_TX_EN : R/W ;bitpos:[4] ;default: 1'b0 ; */ -/*description: 1: enable rs485's transmitter to send data when rs485's receiver - is busy. 0:rs485's transmitter should not send data when its receiver is busy.*/ -#define UART_RS485RXBY_TX_EN (BIT(4)) -#define UART_RS485RXBY_TX_EN_M (BIT(4)) -#define UART_RS485RXBY_TX_EN_V 0x1 -#define UART_RS485RXBY_TX_EN_S 4 -/* UART_RS485TX_RX_EN : R/W ;bitpos:[3] ;default: 1'b0 ; */ -/*description: Set this bit to enable loopback transmitter's output data signal - to receiver's input data signal.*/ -#define UART_RS485TX_RX_EN (BIT(3)) -#define UART_RS485TX_RX_EN_M (BIT(3)) -#define UART_RS485TX_RX_EN_V 0x1 -#define UART_RS485TX_RX_EN_S 3 -/* UART_DL1_EN : R/W ;bitpos:[2] ;default: 1'b0 ; */ -/*description: Set this bit to delay the stop bit by 1 bit.*/ -#define UART_DL1_EN (BIT(2)) -#define UART_DL1_EN_M (BIT(2)) -#define UART_DL1_EN_V 0x1 -#define UART_DL1_EN_S 2 -/* UART_DL0_EN : R/W ;bitpos:[1] ;default: 1'b0 ; */ -/*description: Set this bit to delay the stop bit by 1 bit.*/ -#define UART_DL0_EN (BIT(1)) -#define UART_DL0_EN_M (BIT(1)) -#define UART_DL0_EN_V 0x1 -#define UART_DL0_EN_S 1 -/* UART_RS485_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: Set this bit to choose rs485 mode.*/ -#define UART_RS485_EN (BIT(0)) -#define UART_RS485_EN_M (BIT(0)) -#define UART_RS485_EN_V 0x1 -#define UART_RS485_EN_S 0 - -#define UART_AT_CMD_PRECNT_REG(i) (REG_UART_BASE(i) + 0x48) -/* UART_PRE_IDLE_NUM : R/W ;bitpos:[23:0] ;default: 24'h186a00 ; */ -/*description: This register is used to configure the idle duration time before - the first at_cmd is received by receiver. when the the duration is less than this register value it will not take the next data received as at_cmd char.*/ -#define UART_PRE_IDLE_NUM 0x00FFFFFF -#define UART_PRE_IDLE_NUM_M ((UART_PRE_IDLE_NUM_V)<<(UART_PRE_IDLE_NUM_S)) -#define UART_PRE_IDLE_NUM_V 0xFFFFFF -#define UART_PRE_IDLE_NUM_S 0 - -#define UART_AT_CMD_POSTCNT_REG(i) (REG_UART_BASE(i) + 0x4c) -/* UART_POST_IDLE_NUM : R/W ;bitpos:[23:0] ;default: 24'h186a00 ; */ -/*description: This register is used to configure the duration time between - the last at_cmd and the next data. when the duration is less than this register value it will not take the previous data as at_cmd char.*/ -#define UART_POST_IDLE_NUM 0x00FFFFFF -#define UART_POST_IDLE_NUM_M ((UART_POST_IDLE_NUM_V)<<(UART_POST_IDLE_NUM_S)) -#define UART_POST_IDLE_NUM_V 0xFFFFFF -#define UART_POST_IDLE_NUM_S 0 - -#define UART_AT_CMD_GAPTOUT_REG(i) (REG_UART_BASE(i) + 0x50) -/* UART_RX_GAP_TOUT : R/W ;bitpos:[23:0] ;default: 24'h1e00 ; */ -/*description: This register is used to configure the duration time between - the at_cmd chars. when the duration time is less than this register value it will not take the datas as continous at_cmd chars.*/ -#define UART_RX_GAP_TOUT 0x00FFFFFF -#define UART_RX_GAP_TOUT_M ((UART_RX_GAP_TOUT_V)<<(UART_RX_GAP_TOUT_S)) -#define UART_RX_GAP_TOUT_V 0xFFFFFF -#define UART_RX_GAP_TOUT_S 0 - -#define UART_AT_CMD_CHAR_REG(i) (REG_UART_BASE(i) + 0x54) -/* UART_CHAR_NUM : R/W ;bitpos:[15:8] ;default: 8'h3 ; */ -/*description: This register is used to configure the num of continous at_cmd - chars received by receiver.*/ -#define UART_CHAR_NUM 0x000000FF -#define UART_CHAR_NUM_M ((UART_CHAR_NUM_V)<<(UART_CHAR_NUM_S)) -#define UART_CHAR_NUM_V 0xFF -#define UART_CHAR_NUM_S 8 -/* UART_AT_CMD_CHAR : R/W ;bitpos:[7:0] ;default: 8'h2b ; */ -/*description: This register is used to configure the content of at_cmd char.*/ -#define UART_AT_CMD_CHAR 0x000000FF -#define UART_AT_CMD_CHAR_M ((UART_AT_CMD_CHAR_V)<<(UART_AT_CMD_CHAR_S)) -#define UART_AT_CMD_CHAR_V 0xFF -#define UART_AT_CMD_CHAR_S 0 - -#define UART_MEM_CONF_REG(i) (REG_UART_BASE(i) + 0x58) -/* UART_TX_MEM_EMPTY_THRHD : R/W ;bitpos:[30:28] ;default: 3'h0 ; */ -/*description: refer to txfifo_empty_thrhd 's describtion.*/ -#define UART_TX_MEM_EMPTY_THRHD 0x00000007 -#define UART_TX_MEM_EMPTY_THRHD_M ((UART_TX_MEM_EMPTY_THRHD_V)<<(UART_TX_MEM_EMPTY_THRHD_S)) -#define UART_TX_MEM_EMPTY_THRHD_V 0x7 -#define UART_TX_MEM_EMPTY_THRHD_S 28 -/* UART_RX_MEM_FULL_THRHD : R/W ;bitpos:[27:25] ;default: 3'h0 ; */ -/*description: refer to the rxfifo_full_thrhd's describtion.*/ -#define UART_RX_MEM_FULL_THRHD 0x00000007 -#define UART_RX_MEM_FULL_THRHD_M ((UART_RX_MEM_FULL_THRHD_V)<<(UART_RX_MEM_FULL_THRHD_S)) -#define UART_RX_MEM_FULL_THRHD_V 0x7 -#define UART_RX_MEM_FULL_THRHD_S 25 -/* UART_XOFF_THRESHOLD_H2 : R/W ;bitpos:[24:23] ;default: 2'h0 ; */ -/*description: refer to the uart_xoff_threshold's describtion.*/ -#define UART_XOFF_THRESHOLD_H2 0x00000003 -#define UART_XOFF_THRESHOLD_H2_M ((UART_XOFF_THRESHOLD_H2_V)<<(UART_XOFF_THRESHOLD_H2_S)) -#define UART_XOFF_THRESHOLD_H2_V 0x3 -#define UART_XOFF_THRESHOLD_H2_S 23 -/* UART_XON_THRESHOLD_H2 : R/W ;bitpos:[22:21] ;default: 2'h0 ; */ -/*description: refer to the uart_xon_threshold's describtion.*/ -#define UART_XON_THRESHOLD_H2 0x00000003 -#define UART_XON_THRESHOLD_H2_M ((UART_XON_THRESHOLD_H2_V)<<(UART_XON_THRESHOLD_H2_S)) -#define UART_XON_THRESHOLD_H2_V 0x3 -#define UART_XON_THRESHOLD_H2_S 21 -/* UART_RX_TOUT_THRHD_H3 : R/W ;bitpos:[20:18] ;default: 3'h0 ; */ -/*description: refer to the rx_tout_thrhd's describtion.*/ -#define UART_RX_TOUT_THRHD_H3 0x00000007 -#define UART_RX_TOUT_THRHD_H3_M ((UART_RX_TOUT_THRHD_H3_V)<<(UART_RX_TOUT_THRHD_H3_S)) -#define UART_RX_TOUT_THRHD_H3_V 0x7 -#define UART_RX_TOUT_THRHD_H3_S 18 -/* UART_RX_FLOW_THRHD_H3 : R/W ;bitpos:[17:15] ;default: 3'h0 ; */ -/*description: refer to the rx_flow_thrhd's describtion.*/ -#define UART_RX_FLOW_THRHD_H3 0x00000007 -#define UART_RX_FLOW_THRHD_H3_M ((UART_RX_FLOW_THRHD_H3_V)<<(UART_RX_FLOW_THRHD_H3_S)) -#define UART_RX_FLOW_THRHD_H3_V 0x7 -#define UART_RX_FLOW_THRHD_H3_S 15 -/* UART_TX_SIZE : R/W ;bitpos:[10:7] ;default: 4'h1 ; */ -/*description: This register is used to configure the amount of mem allocated - to transmitter's fifo.the default byte num is 128.*/ -#define UART_TX_SIZE 0x0000000F -#define UART_TX_SIZE_M ((UART_TX_SIZE_V)<<(UART_TX_SIZE_S)) -#define UART_TX_SIZE_V 0xF -#define UART_TX_SIZE_S 7 -/* UART_RX_SIZE : R/W ;bitpos:[6:3] ;default: 4'h1 ; */ -/*description: This register is used to configure the amount of mem allocated - to receiver's fifo. the default byte num is 128.*/ -#define UART_RX_SIZE 0x0000000F -#define UART_RX_SIZE_M ((UART_RX_SIZE_V)<<(UART_RX_SIZE_S)) -#define UART_RX_SIZE_V 0xF -#define UART_RX_SIZE_S 3 -/* UART_MEM_PD : R/W ;bitpos:[0] ;default: 1'b0 ; */ -/*description: Set this bit to power down mem.when reg_mem_pd registers in - the 3 uarts are all set to 1 mem will enter low power mode.*/ -#define UART_MEM_PD (BIT(0)) -#define UART_MEM_PD_M (BIT(0)) -#define UART_MEM_PD_V 0x1 -#define UART_MEM_PD_S 0 - -#define UART_MEM_TX_STATUS_REG(i) (REG_UART_BASE(i) + 0x5c) -/* UART_MEM_TX_STATUS : RO ;bitpos:[23:0] ;default: 24'h0 ; */ -/*description: */ -#define UART_MEM_TX_STATUS 0x00FFFFFF -#define UART_MEM_TX_STATUS_M ((UART_MEM_TX_STATUS_V)<<(UART_MEM_TX_STATUS_S)) -#define UART_MEM_TX_STATUS_V 0xFFFFFF -#define UART_MEM_TX_STATUS_S 0 - -#define UART_MEM_RX_STATUS_REG(i) (REG_UART_BASE(i) + 0x60) -/* UART_MEM_RX_STATUS : RO ;bitpos:[23:0] ;default: 24'h0 ; */ -/*description: */ -#define UART_MEM_RX_STATUS 0x00FFFFFF -#define UART_MEM_RX_STATUS_M ((UART_MEM_RX_STATUS_V)<<(UART_MEM_RX_STATUS_S)) -#define UART_MEM_RX_STATUS_V 0xFFFFFF -#define UART_MEM_RX_STATUS_S 0 - -#define UART_MEM_CNT_STATUS_REG(i) (REG_UART_BASE(i) + 0x64) -/* UART_TX_MEM_CNT : RO ;bitpos:[5:3] ;default: 3'b0 ; */ -/*description: refer to the txfifo_cnt's describtion.*/ -#define UART_TX_MEM_CNT 0x00000007 -#define UART_TX_MEM_CNT_M ((UART_TX_MEM_CNT_V)<<(UART_TX_MEM_CNT_S)) -#define UART_TX_MEM_CNT_V 0x7 -#define UART_TX_MEM_CNT_S 3 -/* UART_RX_MEM_CNT : RO ;bitpos:[2:0] ;default: 3'b0 ; */ -/*description: refer to the rxfifo_cnt's describtion.*/ -#define UART_RX_MEM_CNT 0x00000007 -#define UART_RX_MEM_CNT_M ((UART_RX_MEM_CNT_V)<<(UART_RX_MEM_CNT_S)) -#define UART_RX_MEM_CNT_V 0x7 -#define UART_RX_MEM_CNT_S 0 - -#define UART_POSPULSE_REG(i) (REG_UART_BASE(i) + 0x68) -/* UART_POSEDGE_MIN_CNT : RO ;bitpos:[19:0] ;default: 20'hFFFFF ; */ -/*description: This register stores the count of rxd posedge edge. it is used - in boudrate-detect process.*/ -#define UART_POSEDGE_MIN_CNT 0x000FFFFF -#define UART_POSEDGE_MIN_CNT_M ((UART_POSEDGE_MIN_CNT_V)<<(UART_POSEDGE_MIN_CNT_S)) -#define UART_POSEDGE_MIN_CNT_V 0xFFFFF -#define UART_POSEDGE_MIN_CNT_S 0 - -#define UART_NEGPULSE_REG(i) (REG_UART_BASE(i) + 0x6c) -/* UART_NEGEDGE_MIN_CNT : RO ;bitpos:[19:0] ;default: 20'hFFFFF ; */ -/*description: This register stores the count of rxd negedge edge. it is used - in boudrate-detect process.*/ -#define UART_NEGEDGE_MIN_CNT 0x000FFFFF -#define UART_NEGEDGE_MIN_CNT_M ((UART_NEGEDGE_MIN_CNT_V)<<(UART_NEGEDGE_MIN_CNT_S)) -#define UART_NEGEDGE_MIN_CNT_V 0xFFFFF -#define UART_NEGEDGE_MIN_CNT_S 0 - -#define UART_DATE_REG(i) (REG_UART_BASE(i) + 0x78) -/* UART_DATE : R/W ;bitpos:[31:0] ;default: 32'h15122500 ; */ -/*description: */ -#define UART_DATE 0xFFFFFFFF -#define UART_DATE_M ((UART_DATE_V)<<(UART_DATE_S)) -#define UART_DATE_V 0xFFFFFFFF -#define UART_DATE_S 0 - -#define UART_ID_REG(i) (REG_UART_BASE(i) + 0x7C) -/* UART_ID : R/W ;bitpos:[31:0] ;default: 32'h0500 ; */ -/*description: */ -#define UART_ID 0xFFFFFFFF -#define UART_ID_M ((UART_ID_V)<<(UART_ID_S)) -#define UART_ID_V 0xFFFFFFFF -#define UART_ID_S 0 - - - - -#endif /*__UART_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 __UART_REG_H__ +#define __UART_REG_H__ + + +#include "soc.h" + +#define REG_UART_BASE( i ) (DR_REG_UART_BASE + (i) * 0x10000 + ( i > 1 ? 0xe000 : 0 ) ) +#define REG_UART_AHB_BASE(i) (0x60000000 + (i) * 0x10000 + ( i > 1 ? 0xe000 : 0 ) ) +#define UART_FIFO_AHB_REG(i) (REG_UART_AHB_BASE(i) + 0x0) +#define UART_FIFO_REG(i) (REG_UART_BASE(i) + 0x0) + +/* UART_RXFIFO_RD_BYTE : RO ;bitpos:[7:0] ;default: 8'b0 ; */ +/*description: This register stores one byte data read by rx fifo.*/ +#define UART_RXFIFO_RD_BYTE 0x000000FF +#define UART_RXFIFO_RD_BYTE_M ((UART_RXFIFO_RD_BYTE_V)<<(UART_RXFIFO_RD_BYTE_S)) +#define UART_RXFIFO_RD_BYTE_V 0xFF +#define UART_RXFIFO_RD_BYTE_S 0 + +#define UART_INT_RAW_REG(i) (REG_UART_BASE(i) + 0x4) +/* UART_AT_CMD_CHAR_DET_INT_RAW : RO ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver detects + the configured at_cmd chars.*/ +#define UART_AT_CMD_CHAR_DET_INT_RAW (BIT(18)) +#define UART_AT_CMD_CHAR_DET_INT_RAW_M (BIT(18)) +#define UART_AT_CMD_CHAR_DET_INT_RAW_V 0x1 +#define UART_AT_CMD_CHAR_DET_INT_RAW_S 18 +/* UART_RS485_CLASH_INT_RAW : RO ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when rs485 detects + the clash between transmitter and receiver.*/ +#define UART_RS485_CLASH_INT_RAW (BIT(17)) +#define UART_RS485_CLASH_INT_RAW_M (BIT(17)) +#define UART_RS485_CLASH_INT_RAW_V 0x1 +#define UART_RS485_CLASH_INT_RAW_S 17 +/* UART_RS485_FRM_ERR_INT_RAW : RO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when rs485 detects + the data frame error.*/ +#define UART_RS485_FRM_ERR_INT_RAW (BIT(16)) +#define UART_RS485_FRM_ERR_INT_RAW_M (BIT(16)) +#define UART_RS485_FRM_ERR_INT_RAW_V 0x1 +#define UART_RS485_FRM_ERR_INT_RAW_S 16 +/* UART_RS485_PARITY_ERR_INT_RAW : RO ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when rs485 detects the parity error.*/ +#define UART_RS485_PARITY_ERR_INT_RAW (BIT(15)) +#define UART_RS485_PARITY_ERR_INT_RAW_M (BIT(15)) +#define UART_RS485_PARITY_ERR_INT_RAW_V 0x1 +#define UART_RS485_PARITY_ERR_INT_RAW_S 15 +/* UART_TX_DONE_INT_RAW : RO ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when transmitter has + send all the data in fifo.*/ +#define UART_TX_DONE_INT_RAW (BIT(14)) +#define UART_TX_DONE_INT_RAW_M (BIT(14)) +#define UART_TX_DONE_INT_RAW_V 0x1 +#define UART_TX_DONE_INT_RAW_S 14 +/* UART_TX_BRK_IDLE_DONE_INT_RAW : RO ;bitpos:[13] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when transmitter has + kept the shortest duration after the last data has been send.*/ +#define UART_TX_BRK_IDLE_DONE_INT_RAW (BIT(13)) +#define UART_TX_BRK_IDLE_DONE_INT_RAW_M (BIT(13)) +#define UART_TX_BRK_IDLE_DONE_INT_RAW_V 0x1 +#define UART_TX_BRK_IDLE_DONE_INT_RAW_S 13 +/* UART_TX_BRK_DONE_INT_RAW : RO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when transmitter completes + sendding 0 after all the datas in transmitter's fifo are send.*/ +#define UART_TX_BRK_DONE_INT_RAW (BIT(12)) +#define UART_TX_BRK_DONE_INT_RAW_M (BIT(12)) +#define UART_TX_BRK_DONE_INT_RAW_V 0x1 +#define UART_TX_BRK_DONE_INT_RAW_S 12 +/* UART_GLITCH_DET_INT_RAW : RO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver detects the start bit.*/ +#define UART_GLITCH_DET_INT_RAW (BIT(11)) +#define UART_GLITCH_DET_INT_RAW_M (BIT(11)) +#define UART_GLITCH_DET_INT_RAW_V 0x1 +#define UART_GLITCH_DET_INT_RAW_S 11 +/* UART_SW_XOFF_INT_RAW : RO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver receives + xon char with uart_sw_flow_con_en is set to 1.*/ +#define UART_SW_XOFF_INT_RAW (BIT(10)) +#define UART_SW_XOFF_INT_RAW_M (BIT(10)) +#define UART_SW_XOFF_INT_RAW_V 0x1 +#define UART_SW_XOFF_INT_RAW_S 10 +/* UART_SW_XON_INT_RAW : RO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver receives + xoff char with uart_sw_flow_con_en is set to 1.*/ +#define UART_SW_XON_INT_RAW (BIT(9)) +#define UART_SW_XON_INT_RAW_M (BIT(9)) +#define UART_SW_XON_INT_RAW_V 0x1 +#define UART_SW_XON_INT_RAW_S 9 +/* UART_RXFIFO_TOUT_INT_RAW : RO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver takes + more time than rx_tout_thrhd to receive a byte.*/ +#define UART_RXFIFO_TOUT_INT_RAW (BIT(8)) +#define UART_RXFIFO_TOUT_INT_RAW_M (BIT(8)) +#define UART_RXFIFO_TOUT_INT_RAW_V 0x1 +#define UART_RXFIFO_TOUT_INT_RAW_S 8 +/* UART_BRK_DET_INT_RAW : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver detects + the 0 after the stop bit.*/ +#define UART_BRK_DET_INT_RAW (BIT(7)) +#define UART_BRK_DET_INT_RAW_M (BIT(7)) +#define UART_BRK_DET_INT_RAW_V 0x1 +#define UART_BRK_DET_INT_RAW_S 7 +/* UART_CTS_CHG_INT_RAW : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver detects + the edge change of ctsn signal.*/ +#define UART_CTS_CHG_INT_RAW (BIT(6)) +#define UART_CTS_CHG_INT_RAW_M (BIT(6)) +#define UART_CTS_CHG_INT_RAW_V 0x1 +#define UART_CTS_CHG_INT_RAW_S 6 +/* UART_DSR_CHG_INT_RAW : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver detects + the edge change of dsrn signal.*/ +#define UART_DSR_CHG_INT_RAW (BIT(5)) +#define UART_DSR_CHG_INT_RAW_M (BIT(5)) +#define UART_DSR_CHG_INT_RAW_V 0x1 +#define UART_DSR_CHG_INT_RAW_S 5 +/* UART_RXFIFO_OVF_INT_RAW : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver receives + more data than the fifo can store.*/ +#define UART_RXFIFO_OVF_INT_RAW (BIT(4)) +#define UART_RXFIFO_OVF_INT_RAW_M (BIT(4)) +#define UART_RXFIFO_OVF_INT_RAW_V 0x1 +#define UART_RXFIFO_OVF_INT_RAW_S 4 +/* UART_FRM_ERR_INT_RAW : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver detects + data's frame error .*/ +#define UART_FRM_ERR_INT_RAW (BIT(3)) +#define UART_FRM_ERR_INT_RAW_M (BIT(3)) +#define UART_FRM_ERR_INT_RAW_V 0x1 +#define UART_FRM_ERR_INT_RAW_S 3 +/* UART_PARITY_ERR_INT_RAW : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver detects + the parity error of data.*/ +#define UART_PARITY_ERR_INT_RAW (BIT(2)) +#define UART_PARITY_ERR_INT_RAW_M (BIT(2)) +#define UART_PARITY_ERR_INT_RAW_V 0x1 +#define UART_PARITY_ERR_INT_RAW_S 2 +/* UART_TXFIFO_EMPTY_INT_RAW : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when the amount of + data in transmitter's fifo is less than ((tx_mem_cnttxfifo_cnt) .*/ +#define UART_TXFIFO_EMPTY_INT_RAW (BIT(1)) +#define UART_TXFIFO_EMPTY_INT_RAW_M (BIT(1)) +#define UART_TXFIFO_EMPTY_INT_RAW_V 0x1 +#define UART_TXFIFO_EMPTY_INT_RAW_S 1 +/* UART_RXFIFO_FULL_INT_RAW : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: This interrupt raw bit turns to high level when receiver receives + more data than (rx_flow_thrhd_h3 rx_flow_thrhd).*/ +#define UART_RXFIFO_FULL_INT_RAW (BIT(0)) +#define UART_RXFIFO_FULL_INT_RAW_M (BIT(0)) +#define UART_RXFIFO_FULL_INT_RAW_V 0x1 +#define UART_RXFIFO_FULL_INT_RAW_S 0 + +#define UART_INT_ST_REG(i) (REG_UART_BASE(i) + 0x8) +/* UART_AT_CMD_CHAR_DET_INT_ST : RO ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This is the status bit for at_cmd_det_int_raw when at_cmd_char_det_int_ena + is set to 1.*/ +#define UART_AT_CMD_CHAR_DET_INT_ST (BIT(18)) +#define UART_AT_CMD_CHAR_DET_INT_ST_M (BIT(18)) +#define UART_AT_CMD_CHAR_DET_INT_ST_V 0x1 +#define UART_AT_CMD_CHAR_DET_INT_ST_S 18 +/* UART_RS485_CLASH_INT_ST : RO ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This is the status bit for rs485_clash_int_raw when rs485_clash_int_ena + is set to 1.*/ +#define UART_RS485_CLASH_INT_ST (BIT(17)) +#define UART_RS485_CLASH_INT_ST_M (BIT(17)) +#define UART_RS485_CLASH_INT_ST_V 0x1 +#define UART_RS485_CLASH_INT_ST_S 17 +/* UART_RS485_FRM_ERR_INT_ST : RO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This is the status bit for rs485_fm_err_int_raw when rs485_fm_err_int_ena + is set to 1.*/ +#define UART_RS485_FRM_ERR_INT_ST (BIT(16)) +#define UART_RS485_FRM_ERR_INT_ST_M (BIT(16)) +#define UART_RS485_FRM_ERR_INT_ST_V 0x1 +#define UART_RS485_FRM_ERR_INT_ST_S 16 +/* UART_RS485_PARITY_ERR_INT_ST : RO ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This is the status bit for rs485_parity_err_int_raw when rs485_parity_int_ena + is set to 1.*/ +#define UART_RS485_PARITY_ERR_INT_ST (BIT(15)) +#define UART_RS485_PARITY_ERR_INT_ST_M (BIT(15)) +#define UART_RS485_PARITY_ERR_INT_ST_V 0x1 +#define UART_RS485_PARITY_ERR_INT_ST_S 15 +/* UART_TX_DONE_INT_ST : RO ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This is the status bit for tx_done_int_raw when tx_done_int_ena is set to 1.*/ +#define UART_TX_DONE_INT_ST (BIT(14)) +#define UART_TX_DONE_INT_ST_M (BIT(14)) +#define UART_TX_DONE_INT_ST_V 0x1 +#define UART_TX_DONE_INT_ST_S 14 +/* UART_TX_BRK_IDLE_DONE_INT_ST : RO ;bitpos:[13] ;default: 1'b0 ; */ +/*description: This is the stauts bit for tx_brk_idle_done_int_raw when tx_brk_idle_done_int_ena + is set to 1.*/ +#define UART_TX_BRK_IDLE_DONE_INT_ST (BIT(13)) +#define UART_TX_BRK_IDLE_DONE_INT_ST_M (BIT(13)) +#define UART_TX_BRK_IDLE_DONE_INT_ST_V 0x1 +#define UART_TX_BRK_IDLE_DONE_INT_ST_S 13 +/* UART_TX_BRK_DONE_INT_ST : RO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: This is the status bit for tx_brk_done_int_raw when tx_brk_done_int_ena + is set to 1.*/ +#define UART_TX_BRK_DONE_INT_ST (BIT(12)) +#define UART_TX_BRK_DONE_INT_ST_M (BIT(12)) +#define UART_TX_BRK_DONE_INT_ST_V 0x1 +#define UART_TX_BRK_DONE_INT_ST_S 12 +/* UART_GLITCH_DET_INT_ST : RO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: This is the status bit for glitch_det_int_raw when glitch_det_int_ena + is set to 1.*/ +#define UART_GLITCH_DET_INT_ST (BIT(11)) +#define UART_GLITCH_DET_INT_ST_M (BIT(11)) +#define UART_GLITCH_DET_INT_ST_V 0x1 +#define UART_GLITCH_DET_INT_ST_S 11 +/* UART_SW_XOFF_INT_ST : RO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: This is the status bit for sw_xoff_int_raw when sw_xoff_int_ena is set to 1.*/ +#define UART_SW_XOFF_INT_ST (BIT(10)) +#define UART_SW_XOFF_INT_ST_M (BIT(10)) +#define UART_SW_XOFF_INT_ST_V 0x1 +#define UART_SW_XOFF_INT_ST_S 10 +/* UART_SW_XON_INT_ST : RO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: This is the status bit for sw_xon_int_raw when sw_xon_int_ena is set to 1.*/ +#define UART_SW_XON_INT_ST (BIT(9)) +#define UART_SW_XON_INT_ST_M (BIT(9)) +#define UART_SW_XON_INT_ST_V 0x1 +#define UART_SW_XON_INT_ST_S 9 +/* UART_RXFIFO_TOUT_INT_ST : RO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: This is the status bit for rxfifo_tout_int_raw when rxfifo_tout_int_ena + is set to 1.*/ +#define UART_RXFIFO_TOUT_INT_ST (BIT(8)) +#define UART_RXFIFO_TOUT_INT_ST_M (BIT(8)) +#define UART_RXFIFO_TOUT_INT_ST_V 0x1 +#define UART_RXFIFO_TOUT_INT_ST_S 8 +/* UART_BRK_DET_INT_ST : RO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the status bit for brk_det_int_raw when brk_det_int_ena is set to 1.*/ +#define UART_BRK_DET_INT_ST (BIT(7)) +#define UART_BRK_DET_INT_ST_M (BIT(7)) +#define UART_BRK_DET_INT_ST_V 0x1 +#define UART_BRK_DET_INT_ST_S 7 +/* UART_CTS_CHG_INT_ST : RO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: This is the status bit for cts_chg_int_raw when cts_chg_int_ena is set to 1.*/ +#define UART_CTS_CHG_INT_ST (BIT(6)) +#define UART_CTS_CHG_INT_ST_M (BIT(6)) +#define UART_CTS_CHG_INT_ST_V 0x1 +#define UART_CTS_CHG_INT_ST_S 6 +/* UART_DSR_CHG_INT_ST : RO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: This is the status bit for dsr_chg_int_raw when dsr_chg_int_ena is set to 1.*/ +#define UART_DSR_CHG_INT_ST (BIT(5)) +#define UART_DSR_CHG_INT_ST_M (BIT(5)) +#define UART_DSR_CHG_INT_ST_V 0x1 +#define UART_DSR_CHG_INT_ST_S 5 +/* UART_RXFIFO_OVF_INT_ST : RO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This is the status bit for rxfifo_ovf_int_raw when rxfifo_ovf_int_ena + is set to 1.*/ +#define UART_RXFIFO_OVF_INT_ST (BIT(4)) +#define UART_RXFIFO_OVF_INT_ST_M (BIT(4)) +#define UART_RXFIFO_OVF_INT_ST_V 0x1 +#define UART_RXFIFO_OVF_INT_ST_S 4 +/* UART_FRM_ERR_INT_ST : RO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This is the status bit for frm_err_int_raw when fm_err_int_ena is set to 1.*/ +#define UART_FRM_ERR_INT_ST (BIT(3)) +#define UART_FRM_ERR_INT_ST_M (BIT(3)) +#define UART_FRM_ERR_INT_ST_V 0x1 +#define UART_FRM_ERR_INT_ST_S 3 +/* UART_PARITY_ERR_INT_ST : RO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the status bit for parity_err_int_raw when parity_err_int_ena + is set to 1.*/ +#define UART_PARITY_ERR_INT_ST (BIT(2)) +#define UART_PARITY_ERR_INT_ST_M (BIT(2)) +#define UART_PARITY_ERR_INT_ST_V 0x1 +#define UART_PARITY_ERR_INT_ST_S 2 +/* UART_TXFIFO_EMPTY_INT_ST : RO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: This is the status bit for txfifo_empty_int_raw when txfifo_empty_int_ena + is set to 1.*/ +#define UART_TXFIFO_EMPTY_INT_ST (BIT(1)) +#define UART_TXFIFO_EMPTY_INT_ST_M (BIT(1)) +#define UART_TXFIFO_EMPTY_INT_ST_V 0x1 +#define UART_TXFIFO_EMPTY_INT_ST_S 1 +/* UART_RXFIFO_FULL_INT_ST : RO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: This is the status bit for rxfifo_full_int_raw when rxfifo_full_int_ena + is set to 1.*/ +#define UART_RXFIFO_FULL_INT_ST (BIT(0)) +#define UART_RXFIFO_FULL_INT_ST_M (BIT(0)) +#define UART_RXFIFO_FULL_INT_ST_V 0x1 +#define UART_RXFIFO_FULL_INT_ST_S 0 + +#define UART_INT_ENA_REG(i) (REG_UART_BASE(i) + 0xC) +/* UART_AT_CMD_CHAR_DET_INT_ENA : R/W ;bitpos:[18] ;default: 1'b0 ; */ +/*description: This is the enable bit for at_cmd_char_det_int_st register.*/ +#define UART_AT_CMD_CHAR_DET_INT_ENA (BIT(18)) +#define UART_AT_CMD_CHAR_DET_INT_ENA_M (BIT(18)) +#define UART_AT_CMD_CHAR_DET_INT_ENA_V 0x1 +#define UART_AT_CMD_CHAR_DET_INT_ENA_S 18 +/* UART_RS485_CLASH_INT_ENA : R/W ;bitpos:[17] ;default: 1'b0 ; */ +/*description: This is the enable bit for rs485_clash_int_st register.*/ +#define UART_RS485_CLASH_INT_ENA (BIT(17)) +#define UART_RS485_CLASH_INT_ENA_M (BIT(17)) +#define UART_RS485_CLASH_INT_ENA_V 0x1 +#define UART_RS485_CLASH_INT_ENA_S 17 +/* UART_RS485_FRM_ERR_INT_ENA : R/W ;bitpos:[16] ;default: 1'b0 ; */ +/*description: This is the enable bit for rs485_parity_err_int_st register.*/ +#define UART_RS485_FRM_ERR_INT_ENA (BIT(16)) +#define UART_RS485_FRM_ERR_INT_ENA_M (BIT(16)) +#define UART_RS485_FRM_ERR_INT_ENA_V 0x1 +#define UART_RS485_FRM_ERR_INT_ENA_S 16 +/* UART_RS485_PARITY_ERR_INT_ENA : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This is the enable bit for rs485_parity_err_int_st register.*/ +#define UART_RS485_PARITY_ERR_INT_ENA (BIT(15)) +#define UART_RS485_PARITY_ERR_INT_ENA_M (BIT(15)) +#define UART_RS485_PARITY_ERR_INT_ENA_V 0x1 +#define UART_RS485_PARITY_ERR_INT_ENA_S 15 +/* UART_TX_DONE_INT_ENA : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This is the enable bit for tx_done_int_st register.*/ +#define UART_TX_DONE_INT_ENA (BIT(14)) +#define UART_TX_DONE_INT_ENA_M (BIT(14)) +#define UART_TX_DONE_INT_ENA_V 0x1 +#define UART_TX_DONE_INT_ENA_S 14 +/* UART_TX_BRK_IDLE_DONE_INT_ENA : R/W ;bitpos:[13] ;default: 1'b0 ; */ +/*description: This is the enable bit for tx_brk_idle_done_int_st register.*/ +#define UART_TX_BRK_IDLE_DONE_INT_ENA (BIT(13)) +#define UART_TX_BRK_IDLE_DONE_INT_ENA_M (BIT(13)) +#define UART_TX_BRK_IDLE_DONE_INT_ENA_V 0x1 +#define UART_TX_BRK_IDLE_DONE_INT_ENA_S 13 +/* UART_TX_BRK_DONE_INT_ENA : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: This is the enable bit for tx_brk_done_int_st register.*/ +#define UART_TX_BRK_DONE_INT_ENA (BIT(12)) +#define UART_TX_BRK_DONE_INT_ENA_M (BIT(12)) +#define UART_TX_BRK_DONE_INT_ENA_V 0x1 +#define UART_TX_BRK_DONE_INT_ENA_S 12 +/* UART_GLITCH_DET_INT_ENA : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: This is the enable bit for glitch_det_int_st register.*/ +#define UART_GLITCH_DET_INT_ENA (BIT(11)) +#define UART_GLITCH_DET_INT_ENA_M (BIT(11)) +#define UART_GLITCH_DET_INT_ENA_V 0x1 +#define UART_GLITCH_DET_INT_ENA_S 11 +/* UART_SW_XOFF_INT_ENA : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: This is the enable bit for sw_xoff_int_st register.*/ +#define UART_SW_XOFF_INT_ENA (BIT(10)) +#define UART_SW_XOFF_INT_ENA_M (BIT(10)) +#define UART_SW_XOFF_INT_ENA_V 0x1 +#define UART_SW_XOFF_INT_ENA_S 10 +/* UART_SW_XON_INT_ENA : R/W ;bitpos:[9] ;default: 1'b0 ; */ +/*description: This is the enable bit for sw_xon_int_st register.*/ +#define UART_SW_XON_INT_ENA (BIT(9)) +#define UART_SW_XON_INT_ENA_M (BIT(9)) +#define UART_SW_XON_INT_ENA_V 0x1 +#define UART_SW_XON_INT_ENA_S 9 +/* UART_RXFIFO_TOUT_INT_ENA : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: This is the enable bit for rxfifo_tout_int_st register.*/ +#define UART_RXFIFO_TOUT_INT_ENA (BIT(8)) +#define UART_RXFIFO_TOUT_INT_ENA_M (BIT(8)) +#define UART_RXFIFO_TOUT_INT_ENA_V 0x1 +#define UART_RXFIFO_TOUT_INT_ENA_S 8 +/* UART_BRK_DET_INT_ENA : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This is the enable bit for brk_det_int_st register.*/ +#define UART_BRK_DET_INT_ENA (BIT(7)) +#define UART_BRK_DET_INT_ENA_M (BIT(7)) +#define UART_BRK_DET_INT_ENA_V 0x1 +#define UART_BRK_DET_INT_ENA_S 7 +/* UART_CTS_CHG_INT_ENA : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: This is the enable bit for cts_chg_int_st register.*/ +#define UART_CTS_CHG_INT_ENA (BIT(6)) +#define UART_CTS_CHG_INT_ENA_M (BIT(6)) +#define UART_CTS_CHG_INT_ENA_V 0x1 +#define UART_CTS_CHG_INT_ENA_S 6 +/* UART_DSR_CHG_INT_ENA : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: This is the enable bit for dsr_chg_int_st register.*/ +#define UART_DSR_CHG_INT_ENA (BIT(5)) +#define UART_DSR_CHG_INT_ENA_M (BIT(5)) +#define UART_DSR_CHG_INT_ENA_V 0x1 +#define UART_DSR_CHG_INT_ENA_S 5 +/* UART_RXFIFO_OVF_INT_ENA : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: This is the enable bit for rxfifo_ovf_int_st register.*/ +#define UART_RXFIFO_OVF_INT_ENA (BIT(4)) +#define UART_RXFIFO_OVF_INT_ENA_M (BIT(4)) +#define UART_RXFIFO_OVF_INT_ENA_V 0x1 +#define UART_RXFIFO_OVF_INT_ENA_S 4 +/* UART_FRM_ERR_INT_ENA : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: This is the enable bit for frm_err_int_st register.*/ +#define UART_FRM_ERR_INT_ENA (BIT(3)) +#define UART_FRM_ERR_INT_ENA_M (BIT(3)) +#define UART_FRM_ERR_INT_ENA_V 0x1 +#define UART_FRM_ERR_INT_ENA_S 3 +/* UART_PARITY_ERR_INT_ENA : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: This is the enable bit for parity_err_int_st register.*/ +#define UART_PARITY_ERR_INT_ENA (BIT(2)) +#define UART_PARITY_ERR_INT_ENA_M (BIT(2)) +#define UART_PARITY_ERR_INT_ENA_V 0x1 +#define UART_PARITY_ERR_INT_ENA_S 2 +/* UART_TXFIFO_EMPTY_INT_ENA : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: This is the enable bit for rxfifo_full_int_st register.*/ +#define UART_TXFIFO_EMPTY_INT_ENA (BIT(1)) +#define UART_TXFIFO_EMPTY_INT_ENA_M (BIT(1)) +#define UART_TXFIFO_EMPTY_INT_ENA_V 0x1 +#define UART_TXFIFO_EMPTY_INT_ENA_S 1 +/* UART_RXFIFO_FULL_INT_ENA : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: This is the enable bit for rxfifo_full_int_st register.*/ +#define UART_RXFIFO_FULL_INT_ENA (BIT(0)) +#define UART_RXFIFO_FULL_INT_ENA_M (BIT(0)) +#define UART_RXFIFO_FULL_INT_ENA_V 0x1 +#define UART_RXFIFO_FULL_INT_ENA_S 0 + +#define UART_INT_CLR_REG(i) (REG_UART_BASE(i) + 0x10) +/* UART_AT_CMD_CHAR_DET_INT_CLR : WO ;bitpos:[18] ;default: 1'b0 ; */ +/*description: Set this bit to clear the at_cmd_char_det_int_raw interrupt.*/ +#define UART_AT_CMD_CHAR_DET_INT_CLR (BIT(18)) +#define UART_AT_CMD_CHAR_DET_INT_CLR_M (BIT(18)) +#define UART_AT_CMD_CHAR_DET_INT_CLR_V 0x1 +#define UART_AT_CMD_CHAR_DET_INT_CLR_S 18 +/* UART_RS485_CLASH_INT_CLR : WO ;bitpos:[17] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rs485_clash_int_raw interrupt.*/ +#define UART_RS485_CLASH_INT_CLR (BIT(17)) +#define UART_RS485_CLASH_INT_CLR_M (BIT(17)) +#define UART_RS485_CLASH_INT_CLR_V 0x1 +#define UART_RS485_CLASH_INT_CLR_S 17 +/* UART_RS485_FRM_ERR_INT_CLR : WO ;bitpos:[16] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rs485_frm_err_int_raw interrupt.*/ +#define UART_RS485_FRM_ERR_INT_CLR (BIT(16)) +#define UART_RS485_FRM_ERR_INT_CLR_M (BIT(16)) +#define UART_RS485_FRM_ERR_INT_CLR_V 0x1 +#define UART_RS485_FRM_ERR_INT_CLR_S 16 +/* UART_RS485_PARITY_ERR_INT_CLR : WO ;bitpos:[15] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rs485_parity_err_int_raw interrupt.*/ +#define UART_RS485_PARITY_ERR_INT_CLR (BIT(15)) +#define UART_RS485_PARITY_ERR_INT_CLR_M (BIT(15)) +#define UART_RS485_PARITY_ERR_INT_CLR_V 0x1 +#define UART_RS485_PARITY_ERR_INT_CLR_S 15 +/* UART_TX_DONE_INT_CLR : WO ;bitpos:[14] ;default: 1'b0 ; */ +/*description: Set this bit to clear the tx_done_int_raw interrupt.*/ +#define UART_TX_DONE_INT_CLR (BIT(14)) +#define UART_TX_DONE_INT_CLR_M (BIT(14)) +#define UART_TX_DONE_INT_CLR_V 0x1 +#define UART_TX_DONE_INT_CLR_S 14 +/* UART_TX_BRK_IDLE_DONE_INT_CLR : WO ;bitpos:[13] ;default: 1'b0 ; */ +/*description: Set this bit to clear the tx_brk_idle_done_int_raw interrupt.*/ +#define UART_TX_BRK_IDLE_DONE_INT_CLR (BIT(13)) +#define UART_TX_BRK_IDLE_DONE_INT_CLR_M (BIT(13)) +#define UART_TX_BRK_IDLE_DONE_INT_CLR_V 0x1 +#define UART_TX_BRK_IDLE_DONE_INT_CLR_S 13 +/* UART_TX_BRK_DONE_INT_CLR : WO ;bitpos:[12] ;default: 1'b0 ; */ +/*description: Set this bit to clear the tx_brk_done_int_raw interrupt..*/ +#define UART_TX_BRK_DONE_INT_CLR (BIT(12)) +#define UART_TX_BRK_DONE_INT_CLR_M (BIT(12)) +#define UART_TX_BRK_DONE_INT_CLR_V 0x1 +#define UART_TX_BRK_DONE_INT_CLR_S 12 +/* UART_GLITCH_DET_INT_CLR : WO ;bitpos:[11] ;default: 1'b0 ; */ +/*description: Set this bit to clear the glitch_det_int_raw interrupt.*/ +#define UART_GLITCH_DET_INT_CLR (BIT(11)) +#define UART_GLITCH_DET_INT_CLR_M (BIT(11)) +#define UART_GLITCH_DET_INT_CLR_V 0x1 +#define UART_GLITCH_DET_INT_CLR_S 11 +/* UART_SW_XOFF_INT_CLR : WO ;bitpos:[10] ;default: 1'b0 ; */ +/*description: Set this bit to clear the sw_xon_int_raw interrupt.*/ +#define UART_SW_XOFF_INT_CLR (BIT(10)) +#define UART_SW_XOFF_INT_CLR_M (BIT(10)) +#define UART_SW_XOFF_INT_CLR_V 0x1 +#define UART_SW_XOFF_INT_CLR_S 10 +/* UART_SW_XON_INT_CLR : WO ;bitpos:[9] ;default: 1'b0 ; */ +/*description: Set this bit to clear the sw_xon_int_raw interrupt.*/ +#define UART_SW_XON_INT_CLR (BIT(9)) +#define UART_SW_XON_INT_CLR_M (BIT(9)) +#define UART_SW_XON_INT_CLR_V 0x1 +#define UART_SW_XON_INT_CLR_S 9 +/* UART_RXFIFO_TOUT_INT_CLR : WO ;bitpos:[8] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rxfifo_tout_int_raw interrupt.*/ +#define UART_RXFIFO_TOUT_INT_CLR (BIT(8)) +#define UART_RXFIFO_TOUT_INT_CLR_M (BIT(8)) +#define UART_RXFIFO_TOUT_INT_CLR_V 0x1 +#define UART_RXFIFO_TOUT_INT_CLR_S 8 +/* UART_BRK_DET_INT_CLR : WO ;bitpos:[7] ;default: 1'b0 ; */ +/*description: Set this bit to clear the brk_det_int_raw interrupt.*/ +#define UART_BRK_DET_INT_CLR (BIT(7)) +#define UART_BRK_DET_INT_CLR_M (BIT(7)) +#define UART_BRK_DET_INT_CLR_V 0x1 +#define UART_BRK_DET_INT_CLR_S 7 +/* UART_CTS_CHG_INT_CLR : WO ;bitpos:[6] ;default: 1'b0 ; */ +/*description: Set this bit to clear the cts_chg_int_raw interrupt.*/ +#define UART_CTS_CHG_INT_CLR (BIT(6)) +#define UART_CTS_CHG_INT_CLR_M (BIT(6)) +#define UART_CTS_CHG_INT_CLR_V 0x1 +#define UART_CTS_CHG_INT_CLR_S 6 +/* UART_DSR_CHG_INT_CLR : WO ;bitpos:[5] ;default: 1'b0 ; */ +/*description: Set this bit to clear the dsr_chg_int_raw interrupt.*/ +#define UART_DSR_CHG_INT_CLR (BIT(5)) +#define UART_DSR_CHG_INT_CLR_M (BIT(5)) +#define UART_DSR_CHG_INT_CLR_V 0x1 +#define UART_DSR_CHG_INT_CLR_S 5 +/* UART_RXFIFO_OVF_INT_CLR : WO ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to clear rxfifo_ovf_int_raw interrupt.*/ +#define UART_RXFIFO_OVF_INT_CLR (BIT(4)) +#define UART_RXFIFO_OVF_INT_CLR_M (BIT(4)) +#define UART_RXFIFO_OVF_INT_CLR_V 0x1 +#define UART_RXFIFO_OVF_INT_CLR_S 4 +/* UART_FRM_ERR_INT_CLR : WO ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to clear frm_err_int_raw interrupt.*/ +#define UART_FRM_ERR_INT_CLR (BIT(3)) +#define UART_FRM_ERR_INT_CLR_M (BIT(3)) +#define UART_FRM_ERR_INT_CLR_V 0x1 +#define UART_FRM_ERR_INT_CLR_S 3 +/* UART_PARITY_ERR_INT_CLR : WO ;bitpos:[2] ;default: 1'b0 ; */ +/*description: Set this bit to clear parity_err_int_raw interrupt.*/ +#define UART_PARITY_ERR_INT_CLR (BIT(2)) +#define UART_PARITY_ERR_INT_CLR_M (BIT(2)) +#define UART_PARITY_ERR_INT_CLR_V 0x1 +#define UART_PARITY_ERR_INT_CLR_S 2 +/* UART_TXFIFO_EMPTY_INT_CLR : WO ;bitpos:[1] ;default: 1'b0 ; */ +/*description: Set this bit to clear txfifo_empty_int_raw interrupt.*/ +#define UART_TXFIFO_EMPTY_INT_CLR (BIT(1)) +#define UART_TXFIFO_EMPTY_INT_CLR_M (BIT(1)) +#define UART_TXFIFO_EMPTY_INT_CLR_V 0x1 +#define UART_TXFIFO_EMPTY_INT_CLR_S 1 +/* UART_RXFIFO_FULL_INT_CLR : WO ;bitpos:[0] ;default: 1'b0 ; */ +/*description: Set this bit to clear the rxfifo_full_int_raw interrupt.*/ +#define UART_RXFIFO_FULL_INT_CLR (BIT(0)) +#define UART_RXFIFO_FULL_INT_CLR_M (BIT(0)) +#define UART_RXFIFO_FULL_INT_CLR_V 0x1 +#define UART_RXFIFO_FULL_INT_CLR_S 0 + +#define UART_CLKDIV_REG(i) (REG_UART_BASE(i) + 0x14) +/* UART_CLKDIV_FRAG : R/W ;bitpos:[23:20] ;default: 4'h0 ; */ +/*description: The register value is the decimal part of the frequency divider's factor.*/ +#define UART_CLKDIV_FRAG 0x0000000F +#define UART_CLKDIV_FRAG_M ((UART_CLKDIV_FRAG_V)<<(UART_CLKDIV_FRAG_S)) +#define UART_CLKDIV_FRAG_V 0xF +#define UART_CLKDIV_FRAG_S 20 +/* UART_CLKDIV : R/W ;bitpos:[19:0] ;default: 20'h2B6 ; */ +/*description: The register value is the integer part of the frequency divider's factor.*/ +#define UART_CLKDIV 0x000FFFFF +#define UART_CLKDIV_M ((UART_CLKDIV_V)<<(UART_CLKDIV_S)) +#define UART_CLKDIV_V 0xFFFFF +#define UART_CLKDIV_S 0 + +#define UART_AUTOBAUD_REG(i) (REG_UART_BASE(i) + 0x18) +/* UART_GLITCH_FILT : R/W ;bitpos:[15:8] ;default: 8'h10 ; */ +/*description: when input pulse width is lower then this value igore this pulse.this + register is used in autobaud detect process.*/ +#define UART_GLITCH_FILT 0x000000FF +#define UART_GLITCH_FILT_M ((UART_GLITCH_FILT_V)<<(UART_GLITCH_FILT_S)) +#define UART_GLITCH_FILT_V 0xFF +#define UART_GLITCH_FILT_S 8 +/* UART_AUTOBAUD_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: This is the enable bit for detecting baudrate.*/ +#define UART_AUTOBAUD_EN (BIT(0)) +#define UART_AUTOBAUD_EN_M (BIT(0)) +#define UART_AUTOBAUD_EN_V 0x1 +#define UART_AUTOBAUD_EN_S 0 + +#define UART_STATUS_REG(i) (REG_UART_BASE(i) + 0x1C) +/* UART_TXD : RO ;bitpos:[31] ;default: 8'h0 ; */ +/*description: This register represent the level value of the internal uart rxd signal.*/ +#define UART_TXD (BIT(31)) +#define UART_TXD_M (BIT(31)) +#define UART_TXD_V 0x1 +#define UART_TXD_S 31 +/* UART_RTSN : RO ;bitpos:[30] ;default: 1'b0 ; */ +/*description: This register represent the level value of the internal uart cts signal.*/ +#define UART_RTSN (BIT(30)) +#define UART_RTSN_M (BIT(30)) +#define UART_RTSN_V 0x1 +#define UART_RTSN_S 30 +/* UART_DTRN : RO ;bitpos:[29] ;default: 1'b0 ; */ +/*description: The register represent the level value of the internal uart dsr signal.*/ +#define UART_DTRN (BIT(29)) +#define UART_DTRN_M (BIT(29)) +#define UART_DTRN_V 0x1 +#define UART_DTRN_S 29 +/* UART_ST_UTX_OUT : RO ;bitpos:[27:24] ;default: 4'b0 ; */ +/*description: This register stores the value of transmitter's finite state + machine. 0:TX_IDLE 1:TX_STRT 2:TX_DAT0 3:TX_DAT1 4:TX_DAT2 5:TX_DAT3 6:TX_DAT4 7:TX_DAT5 8:TX_DAT6 9:TX_DAT7 10:TX_PRTY 11:TX_STP1 12:TX_STP2 13:TX_DL0 14:TX_DL1*/ +#define UART_ST_UTX_OUT 0x0000000F +#define UART_ST_UTX_OUT_M ((UART_ST_UTX_OUT_V)<<(UART_ST_UTX_OUT_S)) +#define UART_ST_UTX_OUT_V 0xF +#define UART_ST_UTX_OUT_S 24 +/* UART_TXFIFO_CNT : RO ;bitpos:[23:16] ;default: 8'b0 ; */ +/*description: (tx_mem_cnt txfifo_cnt) stores the byte num of valid datas in + transmitter's fifo.tx_mem_cnt stores the 3 most significant bits txfifo_cnt stores the 8 least significant bits.*/ +#define UART_TXFIFO_CNT 0x000000FF +#define UART_TXFIFO_CNT_M ((UART_TXFIFO_CNT_V)<<(UART_TXFIFO_CNT_S)) +#define UART_TXFIFO_CNT_V 0xFF +#define UART_TXFIFO_CNT_S 16 +/* UART_RXD : RO ;bitpos:[15] ;default: 1'b0 ; */ +/*description: This register stores the level value of the internal uart rxd signal.*/ +#define UART_RXD (BIT(15)) +#define UART_RXD_M (BIT(15)) +#define UART_RXD_V 0x1 +#define UART_RXD_S 15 +/* UART_CTSN : RO ;bitpos:[14] ;default: 1'b0 ; */ +/*description: This register stores the level value of the internal uart cts signal.*/ +#define UART_CTSN (BIT(14)) +#define UART_CTSN_M (BIT(14)) +#define UART_CTSN_V 0x1 +#define UART_CTSN_S 14 +/* UART_DSRN : RO ;bitpos:[13] ;default: 1'b0 ; */ +/*description: This register stores the level value of the internal uart dsr signal.*/ +#define UART_DSRN (BIT(13)) +#define UART_DSRN_M (BIT(13)) +#define UART_DSRN_V 0x1 +#define UART_DSRN_S 13 +/* UART_ST_URX_OUT : RO ;bitpos:[11:8] ;default: 4'b0 ; */ +/*description: This register stores the value of receiver's finite state machine. + 0:RX_IDLE 1:RX_STRT 2:RX_DAT0 3:RX_DAT1 4:RX_DAT2 5:RX_DAT3 6:RX_DAT4 7:RX_DAT5 8:RX_DAT6 9:RX_DAT7 10:RX_PRTY 11:RX_STP1 12:RX_STP2 13:RX_DL1*/ +#define UART_ST_URX_OUT 0x0000000F +#define UART_ST_URX_OUT_M ((UART_ST_URX_OUT_V)<<(UART_ST_URX_OUT_S)) +#define UART_ST_URX_OUT_V 0xF +#define UART_ST_URX_OUT_S 8 +/* UART_RXFIFO_CNT : RO ;bitpos:[7:0] ;default: 8'b0 ; */ +/*description: (rx_mem_cnt rxfifo_cnt) stores the byte num of valid datas in + receiver's fifo. rx_mem_cnt register stores the 3 most significant bits rxfifo_cnt stores the 8 least significant bits.*/ +#define UART_RXFIFO_CNT 0x000000FF +#define UART_RXFIFO_CNT_M ((UART_RXFIFO_CNT_V)<<(UART_RXFIFO_CNT_S)) +#define UART_RXFIFO_CNT_V 0xFF +#define UART_RXFIFO_CNT_S 0 + +#define UART_CONF0_REG(i) (REG_UART_BASE(i) + 0x20) +/* UART_TICK_REF_ALWAYS_ON : R/W ;bitpos:[27] ;default: 1'b1 ; */ +/*description: This register is used to select the clock.1.apb clock 0:ref_tick*/ +#define UART_TICK_REF_ALWAYS_ON (BIT(27)) +#define UART_TICK_REF_ALWAYS_ON_M (BIT(27)) +#define UART_TICK_REF_ALWAYS_ON_V 0x1 +#define UART_TICK_REF_ALWAYS_ON_S 27 +/* UART_ERR_WR_MASK : R/W ;bitpos:[26] ;default: 1'b0 ; */ +/*description: 1.receiver stops storing data int fifo when data is wrong. + 0.receiver stores the data even if the received data is wrong.*/ +#define UART_ERR_WR_MASK (BIT(26)) +#define UART_ERR_WR_MASK_M (BIT(26)) +#define UART_ERR_WR_MASK_V 0x1 +#define UART_ERR_WR_MASK_S 26 +/* UART_CLK_EN : R/W ;bitpos:[25] ;default: 1'h0 ; */ +/*description: 1.force clock on for registers.support clock only when write registers*/ +#define UART_CLK_EN (BIT(25)) +#define UART_CLK_EN_M (BIT(25)) +#define UART_CLK_EN_V 0x1 +#define UART_CLK_EN_S 25 +/* UART_DTR_INV : R/W ;bitpos:[24] ;default: 1'h0 ; */ +/*description: Set this bit to inverse the level value of uart dtr signal.*/ +#define UART_DTR_INV (BIT(24)) +#define UART_DTR_INV_M (BIT(24)) +#define UART_DTR_INV_V 0x1 +#define UART_DTR_INV_S 24 +/* UART_RTS_INV : R/W ;bitpos:[23] ;default: 1'h0 ; */ +/*description: Set this bit to inverse the level value of uart rts signal.*/ +#define UART_RTS_INV (BIT(23)) +#define UART_RTS_INV_M (BIT(23)) +#define UART_RTS_INV_V 0x1 +#define UART_RTS_INV_S 23 +/* UART_TXD_INV : R/W ;bitpos:[22] ;default: 1'h0 ; */ +/*description: Set this bit to inverse the level value of uart txd signal.*/ +#define UART_TXD_INV (BIT(22)) +#define UART_TXD_INV_M (BIT(22)) +#define UART_TXD_INV_V 0x1 +#define UART_TXD_INV_S 22 +/* UART_DSR_INV : R/W ;bitpos:[21] ;default: 1'h0 ; */ +/*description: Set this bit to inverse the level value of uart dsr signal.*/ +#define UART_DSR_INV (BIT(21)) +#define UART_DSR_INV_M (BIT(21)) +#define UART_DSR_INV_V 0x1 +#define UART_DSR_INV_S 21 +/* UART_CTS_INV : R/W ;bitpos:[20] ;default: 1'h0 ; */ +/*description: Set this bit to inverse the level value of uart cts signal.*/ +#define UART_CTS_INV (BIT(20)) +#define UART_CTS_INV_M (BIT(20)) +#define UART_CTS_INV_V 0x1 +#define UART_CTS_INV_S 20 +/* UART_RXD_INV : R/W ;bitpos:[19] ;default: 1'h0 ; */ +/*description: Set this bit to inverse the level value of uart rxd signal.*/ +#define UART_RXD_INV (BIT(19)) +#define UART_RXD_INV_M (BIT(19)) +#define UART_RXD_INV_V 0x1 +#define UART_RXD_INV_S 19 +/* UART_TXFIFO_RST : R/W ;bitpos:[18] ;default: 1'h0 ; */ +/*description: Set this bit to reset uart transmitter's fifo.*/ +#define UART_TXFIFO_RST (BIT(18)) +#define UART_TXFIFO_RST_M (BIT(18)) +#define UART_TXFIFO_RST_V 0x1 +#define UART_TXFIFO_RST_S 18 +/* UART_RXFIFO_RST : R/W ;bitpos:[17] ;default: 1'h0 ; */ +/*description: Set this bit to reset uart receiver's fifo.*/ +#define UART_RXFIFO_RST (BIT(17)) +#define UART_RXFIFO_RST_M (BIT(17)) +#define UART_RXFIFO_RST_V 0x1 +#define UART_RXFIFO_RST_S 17 +/* UART_IRDA_EN : R/W ;bitpos:[16] ;default: 1'h0 ; */ +/*description: Set this bit to enable irda protocol.*/ +#define UART_IRDA_EN (BIT(16)) +#define UART_IRDA_EN_M (BIT(16)) +#define UART_IRDA_EN_V 0x1 +#define UART_IRDA_EN_S 16 +/* UART_TX_FLOW_EN : R/W ;bitpos:[15] ;default: 1'b0 ; */ +/*description: Set this bit to enable transmitter's flow control function.*/ +#define UART_TX_FLOW_EN (BIT(15)) +#define UART_TX_FLOW_EN_M (BIT(15)) +#define UART_TX_FLOW_EN_V 0x1 +#define UART_TX_FLOW_EN_S 15 +/* UART_LOOPBACK : R/W ;bitpos:[14] ;default: 1'b0 ; */ +/*description: Set this bit to enable uart loopback test mode.*/ +#define UART_LOOPBACK (BIT(14)) +#define UART_LOOPBACK_M (BIT(14)) +#define UART_LOOPBACK_V 0x1 +#define UART_LOOPBACK_S 14 +/* UART_IRDA_RX_INV : R/W ;bitpos:[13] ;default: 1'b0 ; */ +/*description: Set this bit to inverse the level value of irda receiver's level.*/ +#define UART_IRDA_RX_INV (BIT(13)) +#define UART_IRDA_RX_INV_M (BIT(13)) +#define UART_IRDA_RX_INV_V 0x1 +#define UART_IRDA_RX_INV_S 13 +/* UART_IRDA_TX_INV : R/W ;bitpos:[12] ;default: 1'b0 ; */ +/*description: Set this bit to inverse the level value of irda transmitter's level.*/ +#define UART_IRDA_TX_INV (BIT(12)) +#define UART_IRDA_TX_INV_M (BIT(12)) +#define UART_IRDA_TX_INV_V 0x1 +#define UART_IRDA_TX_INV_S 12 +/* UART_IRDA_WCTL : R/W ;bitpos:[11] ;default: 1'b0 ; */ +/*description: 1.the irda transmitter's 11th bit is the same to the 10th bit. + 0.set irda transmitter's 11th bit to 0.*/ +#define UART_IRDA_WCTL (BIT(11)) +#define UART_IRDA_WCTL_M (BIT(11)) +#define UART_IRDA_WCTL_V 0x1 +#define UART_IRDA_WCTL_S 11 +/* UART_IRDA_TX_EN : R/W ;bitpos:[10] ;default: 1'b0 ; */ +/*description: This is the start enable bit for irda transmitter.*/ +#define UART_IRDA_TX_EN (BIT(10)) +#define UART_IRDA_TX_EN_M (BIT(10)) +#define UART_IRDA_TX_EN_V 0x1 +#define UART_IRDA_TX_EN_S 10 +/* UART_IRDA_DPLX : R/W ;bitpos:[9] ;default: 1'b0 ; */ +/*description: Set this bit to enable irda loopback mode.*/ +#define UART_IRDA_DPLX (BIT(9)) +#define UART_IRDA_DPLX_M (BIT(9)) +#define UART_IRDA_DPLX_V 0x1 +#define UART_IRDA_DPLX_S 9 +/* UART_TXD_BRK : R/W ;bitpos:[8] ;default: 1'b0 ; */ +/*description: Set this bit to enbale transmitter to send 0 when the process + of sending data is done.*/ +#define UART_TXD_BRK (BIT(8)) +#define UART_TXD_BRK_M (BIT(8)) +#define UART_TXD_BRK_V 0x1 +#define UART_TXD_BRK_S 8 +/* UART_SW_DTR : R/W ;bitpos:[7] ;default: 1'b0 ; */ +/*description: This register is used to configure the software dtr signal which + is used in software flow control..*/ +#define UART_SW_DTR (BIT(7)) +#define UART_SW_DTR_M (BIT(7)) +#define UART_SW_DTR_V 0x1 +#define UART_SW_DTR_S 7 +/* UART_SW_RTS : R/W ;bitpos:[6] ;default: 1'b0 ; */ +/*description: This register is used to configure the software rts signal which + is used in software flow control.*/ +#define UART_SW_RTS (BIT(6)) +#define UART_SW_RTS_M (BIT(6)) +#define UART_SW_RTS_V 0x1 +#define UART_SW_RTS_S 6 +/* UART_STOP_BIT_NUM : R/W ;bitpos:[5:4] ;default: 2'd1 ; */ +/*description: This register is used to set the length of stop bit. 1:1bit 2:1.5bits 3:2bits*/ +#define UART_STOP_BIT_NUM 0x00000003 +#define UART_STOP_BIT_NUM_M ((UART_STOP_BIT_NUM_V)<<(UART_STOP_BIT_NUM_S)) +#define UART_STOP_BIT_NUM_V 0x3 +#define UART_STOP_BIT_NUM_S 4 +/* UART_BIT_NUM : R/W ;bitpos:[3:2] ;default: 2'd3 ; */ +/*description: This registe is used to set the length of data: 0:5bits 1:6bits 2:7bits 3:8bits*/ +#define UART_BIT_NUM 0x00000003 +#define UART_BIT_NUM_M ((UART_BIT_NUM_V)<<(UART_BIT_NUM_S)) +#define UART_BIT_NUM_V 0x3 +#define UART_BIT_NUM_S 2 +/* UART_PARITY_EN : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: Set this bit to enable uart parity check.*/ +#define UART_PARITY_EN (BIT(1)) +#define UART_PARITY_EN_M (BIT(1)) +#define UART_PARITY_EN_V 0x1 +#define UART_PARITY_EN_S 1 +/* UART_PARITY : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: This register is used to configure the parity check mode. 0:even 1:odd*/ +#define UART_PARITY (BIT(0)) +#define UART_PARITY_M (BIT(0)) +#define UART_PARITY_V 0x1 +#define UART_PARITY_S 0 + +#define UART_CONF1_REG(i) (REG_UART_BASE(i) + 0x24) +/* UART_RX_TOUT_EN : R/W ;bitpos:[31] ;default: 1'b0 ; */ +/*description: This is the enble bit for uart receiver's timeout function.*/ +#define UART_RX_TOUT_EN (BIT(31)) +#define UART_RX_TOUT_EN_M (BIT(31)) +#define UART_RX_TOUT_EN_V 0x1 +#define UART_RX_TOUT_EN_S 31 +/* UART_RX_TOUT_THRHD : R/W ;bitpos:[30:24] ;default: 7'b0 ; */ +/*description: This register is used to configure the timeout value for uart + receiver receiving a byte.*/ +#define UART_RX_TOUT_THRHD 0x0000007F +#define UART_RX_TOUT_THRHD_M ((UART_RX_TOUT_THRHD_V)<<(UART_RX_TOUT_THRHD_S)) +#define UART_RX_TOUT_THRHD_V 0x7F +#define UART_RX_TOUT_THRHD_S 24 +/* UART_RX_FLOW_EN : R/W ;bitpos:[23] ;default: 1'b0 ; */ +/*description: This is the flow enable bit for uart receiver. 1:choose software + flow control with configuring sw_rts signal*/ +#define UART_RX_FLOW_EN (BIT(23)) +#define UART_RX_FLOW_EN_M (BIT(23)) +#define UART_RX_FLOW_EN_V 0x1 +#define UART_RX_FLOW_EN_S 23 +/* UART_RX_FLOW_THRHD : R/W ;bitpos:[22:16] ;default: 7'h0 ; */ +/*description: when receiver receives more data than its threshold value. + receiver produce signal to tell the transmitter stop transferring data. the threshold value is (rx_flow_thrhd_h3 rx_flow_thrhd).*/ +#define UART_RX_FLOW_THRHD 0x0000007F +#define UART_RX_FLOW_THRHD_M ((UART_RX_FLOW_THRHD_V)<<(UART_RX_FLOW_THRHD_S)) +#define UART_RX_FLOW_THRHD_V 0x7F +#define UART_RX_FLOW_THRHD_S 16 +/* UART_TXFIFO_EMPTY_THRHD : R/W ;bitpos:[14:8] ;default: 7'h60 ; */ +/*description: when the data amount in transmitter fifo is less than its threshold + value. it will produce txfifo_empty_int_raw interrupt. the threshold value is (tx_mem_empty_thrhd txfifo_empty_thrhd)*/ +#define UART_TXFIFO_EMPTY_THRHD 0x0000007F +#define UART_TXFIFO_EMPTY_THRHD_M ((UART_TXFIFO_EMPTY_THRHD_V)<<(UART_TXFIFO_EMPTY_THRHD_S)) +#define UART_TXFIFO_EMPTY_THRHD_V 0x7F +#define UART_TXFIFO_EMPTY_THRHD_S 8 +/* UART_RXFIFO_FULL_THRHD : R/W ;bitpos:[6:0] ;default: 7'h60 ; */ +/*description: When receiver receives more data than its threshold value.receiver + will produce rxfifo_full_int_raw interrupt.the threshold value is (rx_flow_thrhd_h3 rxfifo_full_thrhd).*/ +#define UART_RXFIFO_FULL_THRHD 0x0000007F +#define UART_RXFIFO_FULL_THRHD_M ((UART_RXFIFO_FULL_THRHD_V)<<(UART_RXFIFO_FULL_THRHD_S)) +#define UART_RXFIFO_FULL_THRHD_V 0x7F +#define UART_RXFIFO_FULL_THRHD_S 0 + +#define UART_LOWPULSE_REG(i) (REG_UART_BASE(i) + 0x28) +/* UART_LOWPULSE_MIN_CNT : RO ;bitpos:[19:0] ;default: 20'hFFFFF ; */ +/*description: This register stores the value of the minimum duration time for + the low level pulse. it is used in baudrate-detect process.*/ +#define UART_LOWPULSE_MIN_CNT 0x000FFFFF +#define UART_LOWPULSE_MIN_CNT_M ((UART_LOWPULSE_MIN_CNT_V)<<(UART_LOWPULSE_MIN_CNT_S)) +#define UART_LOWPULSE_MIN_CNT_V 0xFFFFF +#define UART_LOWPULSE_MIN_CNT_S 0 + +#define UART_HIGHPULSE_REG(i) (REG_UART_BASE(i) + 0x2C) +/* UART_HIGHPULSE_MIN_CNT : RO ;bitpos:[19:0] ;default: 20'hFFFFF ; */ +/*description: This register stores the value of the maxinum duration time + for the high level pulse. it is used in baudrate-detect process.*/ +#define UART_HIGHPULSE_MIN_CNT 0x000FFFFF +#define UART_HIGHPULSE_MIN_CNT_M ((UART_HIGHPULSE_MIN_CNT_V)<<(UART_HIGHPULSE_MIN_CNT_S)) +#define UART_HIGHPULSE_MIN_CNT_V 0xFFFFF +#define UART_HIGHPULSE_MIN_CNT_S 0 + +#define UART_RXD_CNT_REG(i) (REG_UART_BASE(i) + 0x30) +/* UART_RXD_EDGE_CNT : RO ;bitpos:[9:0] ;default: 10'h0 ; */ +/*description: This register stores the count of rxd edge change. it is used + in baudrate-detect process.*/ +#define UART_RXD_EDGE_CNT 0x000003FF +#define UART_RXD_EDGE_CNT_M ((UART_RXD_EDGE_CNT_V)<<(UART_RXD_EDGE_CNT_S)) +#define UART_RXD_EDGE_CNT_V 0x3FF +#define UART_RXD_EDGE_CNT_S 0 + +#define UART_FLOW_CONF_REG(i) (REG_UART_BASE(i) + 0x34) +/* UART_SEND_XOFF : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: Set this bit to send xoff char. it is cleared by hardware automatically.*/ +#define UART_SEND_XOFF (BIT(5)) +#define UART_SEND_XOFF_M (BIT(5)) +#define UART_SEND_XOFF_V 0x1 +#define UART_SEND_XOFF_S 5 +/* UART_SEND_XON : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: Set this bit to send xon char. it is cleared by hardware automatically.*/ +#define UART_SEND_XON (BIT(4)) +#define UART_SEND_XON_M (BIT(4)) +#define UART_SEND_XON_V 0x1 +#define UART_SEND_XON_S 4 +/* UART_FORCE_XOFF : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to set ctsn to enable the transmitter to go on sending data.*/ +#define UART_FORCE_XOFF (BIT(3)) +#define UART_FORCE_XOFF_M (BIT(3)) +#define UART_FORCE_XOFF_V 0x1 +#define UART_FORCE_XOFF_S 3 +/* UART_FORCE_XON : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: Set this bit to clear ctsn to stop the transmitter from sending data.*/ +#define UART_FORCE_XON (BIT(2)) +#define UART_FORCE_XON_M (BIT(2)) +#define UART_FORCE_XON_V 0x1 +#define UART_FORCE_XON_S 2 +/* UART_XONOFF_DEL : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: Set this bit to remove flow control char from the received data.*/ +#define UART_XONOFF_DEL (BIT(1)) +#define UART_XONOFF_DEL_M (BIT(1)) +#define UART_XONOFF_DEL_V 0x1 +#define UART_XONOFF_DEL_S 1 +/* UART_SW_FLOW_CON_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: Set this bit to enable software flow control. it is used with + register sw_xon or sw_xoff .*/ +#define UART_SW_FLOW_CON_EN (BIT(0)) +#define UART_SW_FLOW_CON_EN_M (BIT(0)) +#define UART_SW_FLOW_CON_EN_V 0x1 +#define UART_SW_FLOW_CON_EN_S 0 + +#define UART_SLEEP_CONF_REG(i) (REG_UART_BASE(i) + 0x38) +/* UART_ACTIVE_THRESHOLD : R/W ;bitpos:[9:0] ;default: 10'hf0 ; */ +/*description: When the input rxd edge changes more than this register value. + the uart is active from light sleeping mode.*/ +#define UART_ACTIVE_THRESHOLD 0x000003FF +#define UART_ACTIVE_THRESHOLD_M ((UART_ACTIVE_THRESHOLD_V)<<(UART_ACTIVE_THRESHOLD_S)) +#define UART_ACTIVE_THRESHOLD_V 0x3FF +#define UART_ACTIVE_THRESHOLD_S 0 + +#define UART_SWFC_CONF_REG(i) (REG_UART_BASE(i) + 0x3C) +/* UART_XOFF_CHAR : R/W ;bitpos:[31:24] ;default: 8'h13 ; */ +/*description: This register stores the xoff flow control char.*/ +#define UART_XOFF_CHAR 0x000000FF +#define UART_XOFF_CHAR_M ((UART_XOFF_CHAR_V)<<(UART_XOFF_CHAR_S)) +#define UART_XOFF_CHAR_V 0xFF +#define UART_XOFF_CHAR_S 24 +/* UART_XON_CHAR : R/W ;bitpos:[23:16] ;default: 8'h11 ; */ +/*description: This register stores the xon flow control char.*/ +#define UART_XON_CHAR 0x000000FF +#define UART_XON_CHAR_M ((UART_XON_CHAR_V)<<(UART_XON_CHAR_S)) +#define UART_XON_CHAR_V 0xFF +#define UART_XON_CHAR_S 16 +/* UART_XOFF_THRESHOLD : R/W ;bitpos:[15:8] ;default: 8'he0 ; */ +/*description: When the data amount in receiver's fifo is less than this register + value. it will send a xon char with uart_sw_flow_con_en set to 1.*/ +#define UART_XOFF_THRESHOLD 0x000000FF +#define UART_XOFF_THRESHOLD_M ((UART_XOFF_THRESHOLD_V)<<(UART_XOFF_THRESHOLD_S)) +#define UART_XOFF_THRESHOLD_V 0xFF +#define UART_XOFF_THRESHOLD_S 8 +/* UART_XON_THRESHOLD : R/W ;bitpos:[7:0] ;default: 8'h0 ; */ +/*description: when the data amount in receiver's fifo is more than this register + value. it will send a xoff char with uart_sw_flow_con_en set to 1.*/ +#define UART_XON_THRESHOLD 0x000000FF +#define UART_XON_THRESHOLD_M ((UART_XON_THRESHOLD_V)<<(UART_XON_THRESHOLD_S)) +#define UART_XON_THRESHOLD_V 0xFF +#define UART_XON_THRESHOLD_S 0 + +#define UART_IDLE_CONF_REG(i) (REG_UART_BASE(i) + 0x40) +/* UART_TX_BRK_NUM : R/W ;bitpos:[27:20] ;default: 8'ha ; */ +/*description: This register is used to configure the num of 0 send after the + process of sending data is done. it is active when txd_brk is set to 1.*/ +#define UART_TX_BRK_NUM 0x000000FF +#define UART_TX_BRK_NUM_M ((UART_TX_BRK_NUM_V)<<(UART_TX_BRK_NUM_S)) +#define UART_TX_BRK_NUM_V 0xFF +#define UART_TX_BRK_NUM_S 20 +/* UART_TX_IDLE_NUM : R/W ;bitpos:[19:10] ;default: 10'h100 ; */ +/*description: This register is used to configure the duration time between transfers.*/ +#define UART_TX_IDLE_NUM 0x000003FF +#define UART_TX_IDLE_NUM_M ((UART_TX_IDLE_NUM_V)<<(UART_TX_IDLE_NUM_S)) +#define UART_TX_IDLE_NUM_V 0x3FF +#define UART_TX_IDLE_NUM_S 10 +/* UART_RX_IDLE_THRHD : R/W ;bitpos:[9:0] ;default: 10'h100 ; */ +/*description: when receiver takes more time than this register value to receive + a byte data. it will produce frame end signal for uhci to stop receiving data.*/ +#define UART_RX_IDLE_THRHD 0x000003FF +#define UART_RX_IDLE_THRHD_M ((UART_RX_IDLE_THRHD_V)<<(UART_RX_IDLE_THRHD_S)) +#define UART_RX_IDLE_THRHD_V 0x3FF +#define UART_RX_IDLE_THRHD_S 0 + +#define UART_RS485_CONF_REG(i) (REG_UART_BASE(i) + 0x44) +/* UART_RS485_TX_DLY_NUM : R/W ;bitpos:[9:6] ;default: 4'b0 ; */ +/*description: This register is used to delay the transmitter's internal data signal.*/ +#define UART_RS485_TX_DLY_NUM 0x0000000F +#define UART_RS485_TX_DLY_NUM_M ((UART_RS485_TX_DLY_NUM_V)<<(UART_RS485_TX_DLY_NUM_S)) +#define UART_RS485_TX_DLY_NUM_V 0xF +#define UART_RS485_TX_DLY_NUM_S 6 +/* UART_RS485_RX_DLY_NUM : R/W ;bitpos:[5] ;default: 1'b0 ; */ +/*description: This register is used to delay the receiver's internal data signal.*/ +#define UART_RS485_RX_DLY_NUM (BIT(5)) +#define UART_RS485_RX_DLY_NUM_M (BIT(5)) +#define UART_RS485_RX_DLY_NUM_V 0x1 +#define UART_RS485_RX_DLY_NUM_S 5 +/* UART_RS485RXBY_TX_EN : R/W ;bitpos:[4] ;default: 1'b0 ; */ +/*description: 1: enable rs485's transmitter to send data when rs485's receiver + is busy. 0:rs485's transmitter should not send data when its receiver is busy.*/ +#define UART_RS485RXBY_TX_EN (BIT(4)) +#define UART_RS485RXBY_TX_EN_M (BIT(4)) +#define UART_RS485RXBY_TX_EN_V 0x1 +#define UART_RS485RXBY_TX_EN_S 4 +/* UART_RS485TX_RX_EN : R/W ;bitpos:[3] ;default: 1'b0 ; */ +/*description: Set this bit to enable loopback transmitter's output data signal + to receiver's input data signal.*/ +#define UART_RS485TX_RX_EN (BIT(3)) +#define UART_RS485TX_RX_EN_M (BIT(3)) +#define UART_RS485TX_RX_EN_V 0x1 +#define UART_RS485TX_RX_EN_S 3 +/* UART_DL1_EN : R/W ;bitpos:[2] ;default: 1'b0 ; */ +/*description: Set this bit to delay the stop bit by 1 bit.*/ +#define UART_DL1_EN (BIT(2)) +#define UART_DL1_EN_M (BIT(2)) +#define UART_DL1_EN_V 0x1 +#define UART_DL1_EN_S 2 +/* UART_DL0_EN : R/W ;bitpos:[1] ;default: 1'b0 ; */ +/*description: Set this bit to delay the stop bit by 1 bit.*/ +#define UART_DL0_EN (BIT(1)) +#define UART_DL0_EN_M (BIT(1)) +#define UART_DL0_EN_V 0x1 +#define UART_DL0_EN_S 1 +/* UART_RS485_EN : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: Set this bit to choose rs485 mode.*/ +#define UART_RS485_EN (BIT(0)) +#define UART_RS485_EN_M (BIT(0)) +#define UART_RS485_EN_V 0x1 +#define UART_RS485_EN_S 0 + +#define UART_AT_CMD_PRECNT_REG(i) (REG_UART_BASE(i) + 0x48) +/* UART_PRE_IDLE_NUM : R/W ;bitpos:[23:0] ;default: 24'h186a00 ; */ +/*description: This register is used to configure the idle duration time before + the first at_cmd is received by receiver. when the the duration is less than this register value it will not take the next data received as at_cmd char.*/ +#define UART_PRE_IDLE_NUM 0x00FFFFFF +#define UART_PRE_IDLE_NUM_M ((UART_PRE_IDLE_NUM_V)<<(UART_PRE_IDLE_NUM_S)) +#define UART_PRE_IDLE_NUM_V 0xFFFFFF +#define UART_PRE_IDLE_NUM_S 0 + +#define UART_AT_CMD_POSTCNT_REG(i) (REG_UART_BASE(i) + 0x4c) +/* UART_POST_IDLE_NUM : R/W ;bitpos:[23:0] ;default: 24'h186a00 ; */ +/*description: This register is used to configure the duration time between + the last at_cmd and the next data. when the duration is less than this register value it will not take the previous data as at_cmd char.*/ +#define UART_POST_IDLE_NUM 0x00FFFFFF +#define UART_POST_IDLE_NUM_M ((UART_POST_IDLE_NUM_V)<<(UART_POST_IDLE_NUM_S)) +#define UART_POST_IDLE_NUM_V 0xFFFFFF +#define UART_POST_IDLE_NUM_S 0 + +#define UART_AT_CMD_GAPTOUT_REG(i) (REG_UART_BASE(i) + 0x50) +/* UART_RX_GAP_TOUT : R/W ;bitpos:[23:0] ;default: 24'h1e00 ; */ +/*description: This register is used to configure the duration time between + the at_cmd chars. when the duration time is less than this register value it will not take the datas as continous at_cmd chars.*/ +#define UART_RX_GAP_TOUT 0x00FFFFFF +#define UART_RX_GAP_TOUT_M ((UART_RX_GAP_TOUT_V)<<(UART_RX_GAP_TOUT_S)) +#define UART_RX_GAP_TOUT_V 0xFFFFFF +#define UART_RX_GAP_TOUT_S 0 + +#define UART_AT_CMD_CHAR_REG(i) (REG_UART_BASE(i) + 0x54) +/* UART_CHAR_NUM : R/W ;bitpos:[15:8] ;default: 8'h3 ; */ +/*description: This register is used to configure the num of continous at_cmd + chars received by receiver.*/ +#define UART_CHAR_NUM 0x000000FF +#define UART_CHAR_NUM_M ((UART_CHAR_NUM_V)<<(UART_CHAR_NUM_S)) +#define UART_CHAR_NUM_V 0xFF +#define UART_CHAR_NUM_S 8 +/* UART_AT_CMD_CHAR : R/W ;bitpos:[7:0] ;default: 8'h2b ; */ +/*description: This register is used to configure the content of at_cmd char.*/ +#define UART_AT_CMD_CHAR 0x000000FF +#define UART_AT_CMD_CHAR_M ((UART_AT_CMD_CHAR_V)<<(UART_AT_CMD_CHAR_S)) +#define UART_AT_CMD_CHAR_V 0xFF +#define UART_AT_CMD_CHAR_S 0 + +#define UART_MEM_CONF_REG(i) (REG_UART_BASE(i) + 0x58) +/* UART_TX_MEM_EMPTY_THRHD : R/W ;bitpos:[30:28] ;default: 3'h0 ; */ +/*description: refer to txfifo_empty_thrhd 's describtion.*/ +#define UART_TX_MEM_EMPTY_THRHD 0x00000007 +#define UART_TX_MEM_EMPTY_THRHD_M ((UART_TX_MEM_EMPTY_THRHD_V)<<(UART_TX_MEM_EMPTY_THRHD_S)) +#define UART_TX_MEM_EMPTY_THRHD_V 0x7 +#define UART_TX_MEM_EMPTY_THRHD_S 28 +/* UART_RX_MEM_FULL_THRHD : R/W ;bitpos:[27:25] ;default: 3'h0 ; */ +/*description: refer to the rxfifo_full_thrhd's describtion.*/ +#define UART_RX_MEM_FULL_THRHD 0x00000007 +#define UART_RX_MEM_FULL_THRHD_M ((UART_RX_MEM_FULL_THRHD_V)<<(UART_RX_MEM_FULL_THRHD_S)) +#define UART_RX_MEM_FULL_THRHD_V 0x7 +#define UART_RX_MEM_FULL_THRHD_S 25 +/* UART_XOFF_THRESHOLD_H2 : R/W ;bitpos:[24:23] ;default: 2'h0 ; */ +/*description: refer to the uart_xoff_threshold's describtion.*/ +#define UART_XOFF_THRESHOLD_H2 0x00000003 +#define UART_XOFF_THRESHOLD_H2_M ((UART_XOFF_THRESHOLD_H2_V)<<(UART_XOFF_THRESHOLD_H2_S)) +#define UART_XOFF_THRESHOLD_H2_V 0x3 +#define UART_XOFF_THRESHOLD_H2_S 23 +/* UART_XON_THRESHOLD_H2 : R/W ;bitpos:[22:21] ;default: 2'h0 ; */ +/*description: refer to the uart_xon_threshold's describtion.*/ +#define UART_XON_THRESHOLD_H2 0x00000003 +#define UART_XON_THRESHOLD_H2_M ((UART_XON_THRESHOLD_H2_V)<<(UART_XON_THRESHOLD_H2_S)) +#define UART_XON_THRESHOLD_H2_V 0x3 +#define UART_XON_THRESHOLD_H2_S 21 +/* UART_RX_TOUT_THRHD_H3 : R/W ;bitpos:[20:18] ;default: 3'h0 ; */ +/*description: refer to the rx_tout_thrhd's describtion.*/ +#define UART_RX_TOUT_THRHD_H3 0x00000007 +#define UART_RX_TOUT_THRHD_H3_M ((UART_RX_TOUT_THRHD_H3_V)<<(UART_RX_TOUT_THRHD_H3_S)) +#define UART_RX_TOUT_THRHD_H3_V 0x7 +#define UART_RX_TOUT_THRHD_H3_S 18 +/* UART_RX_FLOW_THRHD_H3 : R/W ;bitpos:[17:15] ;default: 3'h0 ; */ +/*description: refer to the rx_flow_thrhd's describtion.*/ +#define UART_RX_FLOW_THRHD_H3 0x00000007 +#define UART_RX_FLOW_THRHD_H3_M ((UART_RX_FLOW_THRHD_H3_V)<<(UART_RX_FLOW_THRHD_H3_S)) +#define UART_RX_FLOW_THRHD_H3_V 0x7 +#define UART_RX_FLOW_THRHD_H3_S 15 +/* UART_TX_SIZE : R/W ;bitpos:[10:7] ;default: 4'h1 ; */ +/*description: This register is used to configure the amount of mem allocated + to transmitter's fifo.the default byte num is 128.*/ +#define UART_TX_SIZE 0x0000000F +#define UART_TX_SIZE_M ((UART_TX_SIZE_V)<<(UART_TX_SIZE_S)) +#define UART_TX_SIZE_V 0xF +#define UART_TX_SIZE_S 7 +/* UART_RX_SIZE : R/W ;bitpos:[6:3] ;default: 4'h1 ; */ +/*description: This register is used to configure the amount of mem allocated + to receiver's fifo. the default byte num is 128.*/ +#define UART_RX_SIZE 0x0000000F +#define UART_RX_SIZE_M ((UART_RX_SIZE_V)<<(UART_RX_SIZE_S)) +#define UART_RX_SIZE_V 0xF +#define UART_RX_SIZE_S 3 +/* UART_MEM_PD : R/W ;bitpos:[0] ;default: 1'b0 ; */ +/*description: Set this bit to power down mem.when reg_mem_pd registers in + the 3 uarts are all set to 1 mem will enter low power mode.*/ +#define UART_MEM_PD (BIT(0)) +#define UART_MEM_PD_M (BIT(0)) +#define UART_MEM_PD_V 0x1 +#define UART_MEM_PD_S 0 + +#define UART_MEM_TX_STATUS_REG(i) (REG_UART_BASE(i) + 0x5c) +/* UART_MEM_TX_STATUS : RO ;bitpos:[23:0] ;default: 24'h0 ; */ +/*description: */ +#define UART_MEM_TX_STATUS 0x00FFFFFF +#define UART_MEM_TX_STATUS_M ((UART_MEM_TX_STATUS_V)<<(UART_MEM_TX_STATUS_S)) +#define UART_MEM_TX_STATUS_V 0xFFFFFF +#define UART_MEM_TX_STATUS_S 0 + +#define UART_MEM_RX_STATUS_REG(i) (REG_UART_BASE(i) + 0x60) +/* UART_MEM_RX_STATUS : RO ;bitpos:[23:0] ;default: 24'h0 ; */ +/*description: */ +#define UART_MEM_RX_STATUS 0x00FFFFFF +#define UART_MEM_RX_STATUS_M ((UART_MEM_RX_STATUS_V)<<(UART_MEM_RX_STATUS_S)) +#define UART_MEM_RX_STATUS_V 0xFFFFFF +#define UART_MEM_RX_STATUS_S 0 + +#define UART_MEM_CNT_STATUS_REG(i) (REG_UART_BASE(i) + 0x64) +/* UART_TX_MEM_CNT : RO ;bitpos:[5:3] ;default: 3'b0 ; */ +/*description: refer to the txfifo_cnt's describtion.*/ +#define UART_TX_MEM_CNT 0x00000007 +#define UART_TX_MEM_CNT_M ((UART_TX_MEM_CNT_V)<<(UART_TX_MEM_CNT_S)) +#define UART_TX_MEM_CNT_V 0x7 +#define UART_TX_MEM_CNT_S 3 +/* UART_RX_MEM_CNT : RO ;bitpos:[2:0] ;default: 3'b0 ; */ +/*description: refer to the rxfifo_cnt's describtion.*/ +#define UART_RX_MEM_CNT 0x00000007 +#define UART_RX_MEM_CNT_M ((UART_RX_MEM_CNT_V)<<(UART_RX_MEM_CNT_S)) +#define UART_RX_MEM_CNT_V 0x7 +#define UART_RX_MEM_CNT_S 0 + +#define UART_POSPULSE_REG(i) (REG_UART_BASE(i) + 0x68) +/* UART_POSEDGE_MIN_CNT : RO ;bitpos:[19:0] ;default: 20'hFFFFF ; */ +/*description: This register stores the count of rxd posedge edge. it is used + in boudrate-detect process.*/ +#define UART_POSEDGE_MIN_CNT 0x000FFFFF +#define UART_POSEDGE_MIN_CNT_M ((UART_POSEDGE_MIN_CNT_V)<<(UART_POSEDGE_MIN_CNT_S)) +#define UART_POSEDGE_MIN_CNT_V 0xFFFFF +#define UART_POSEDGE_MIN_CNT_S 0 + +#define UART_NEGPULSE_REG(i) (REG_UART_BASE(i) + 0x6c) +/* UART_NEGEDGE_MIN_CNT : RO ;bitpos:[19:0] ;default: 20'hFFFFF ; */ +/*description: This register stores the count of rxd negedge edge. it is used + in boudrate-detect process.*/ +#define UART_NEGEDGE_MIN_CNT 0x000FFFFF +#define UART_NEGEDGE_MIN_CNT_M ((UART_NEGEDGE_MIN_CNT_V)<<(UART_NEGEDGE_MIN_CNT_S)) +#define UART_NEGEDGE_MIN_CNT_V 0xFFFFF +#define UART_NEGEDGE_MIN_CNT_S 0 + +#define UART_DATE_REG(i) (REG_UART_BASE(i) + 0x78) +/* UART_DATE : R/W ;bitpos:[31:0] ;default: 32'h15122500 ; */ +/*description: */ +#define UART_DATE 0xFFFFFFFF +#define UART_DATE_M ((UART_DATE_V)<<(UART_DATE_S)) +#define UART_DATE_V 0xFFFFFFFF +#define UART_DATE_S 0 + +#define UART_ID_REG(i) (REG_UART_BASE(i) + 0x7C) +/* UART_ID : R/W ;bitpos:[31:0] ;default: 32'h0500 ; */ +/*description: */ +#define UART_ID 0xFFFFFFFF +#define UART_ID_M ((UART_ID_V)<<(UART_ID_S)) +#define UART_ID_V 0xFFFFFFFF +#define UART_ID_S 0 + + + + +#endif /*__UART_REG_H__ */ + + diff --git a/tools/sdk/include/esp32/soc/uart_struct.h b/tools/sdk/include/soc/soc/uart_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/uart_struct.h rename to tools/sdk/include/soc/soc/uart_struct.h diff --git a/tools/sdk/include/esp32/soc/uhci_reg.h b/tools/sdk/include/soc/soc/uhci_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/uhci_reg.h rename to tools/sdk/include/soc/soc/uhci_reg.h diff --git a/tools/sdk/include/esp32/soc/uhci_struct.h b/tools/sdk/include/soc/soc/uhci_struct.h similarity index 100% rename from tools/sdk/include/esp32/soc/uhci_struct.h rename to tools/sdk/include/soc/soc/uhci_struct.h diff --git a/tools/sdk/include/esp32/soc/wdev_reg.h b/tools/sdk/include/soc/soc/wdev_reg.h similarity index 100% rename from tools/sdk/include/esp32/soc/wdev_reg.h rename to tools/sdk/include/soc/soc/wdev_reg.h diff --git a/tools/sdk/include/tcpip_adapter/tcpip_adapter.h b/tools/sdk/include/tcpip_adapter/tcpip_adapter.h index 4f3b49ed..f1a0a9e2 100644 --- a/tools/sdk/include/tcpip_adapter/tcpip_adapter.h +++ b/tools/sdk/include/tcpip_adapter/tcpip_adapter.h @@ -136,6 +136,39 @@ typedef enum{ TCPIP_ADAPTER_IP_REQUEST_RETRY_TIME = 52, /**< request IP address retry counter */ } tcpip_adapter_option_id_t; +struct tcpip_adapter_api_msg_s; +typedef int (*tcpip_adapter_api_fn)(struct tcpip_adapter_api_msg_s *msg); +typedef struct tcpip_adapter_api_msg_s { + int type; /**< The first field MUST be int */ + int ret; + tcpip_adapter_api_fn api_fn; + tcpip_adapter_if_t tcpip_if; + tcpip_adapter_ip_info_t *ip_info; + uint8_t *mac; + const char *hostname; +} tcpip_adapter_api_msg_t; + +#define TCPIP_ADAPTER_TRHEAD_SAFE 1 +#define TCPIP_ADAPTER_IPC_LOCAL 0 +#define TCPIP_ADAPTER_IPC_REMOTE 1 + +#define TCPIP_ADAPTER_IPC_CALL(_if, _mac, _ip, _hostname, _fn) do {\ + tcpip_adapter_api_msg_t msg;\ + memset(&msg, 0, sizeof(msg));\ + msg.tcpip_if = (_if);\ + msg.mac = (_mac);\ + msg.ip_info = (_ip);\ + msg.hostname = (_hostname);\ + msg.api_fn = (_fn);\ + if (TCPIP_ADAPTER_IPC_REMOTE == tcpip_adapter_ipc_check(&msg)) {\ + ESP_LOGD(TAG, "check: remote, if=%d fn=%p\n", (_if), (_fn));\ + return msg.ret;\ + } else {\ + ESP_LOGD(TAG, "check: local, if=%d fn=%p\n", (_if), (_fn));\ + }\ +}while(0) + + /** * @brief Initialize tcpip adapter * diff --git a/tools/sdk/ld/esp32.common.ld b/tools/sdk/ld/esp32.common.ld index 8d5a9c42..5c1dba68 100644 --- a/tools/sdk/ld/esp32.common.ld +++ b/tools/sdk/ld/esp32.common.ld @@ -88,8 +88,7 @@ SECTIONS *libesp32.a:heap_alloc_caps.o(.literal .text .literal.* .text.*) *libphy.a:(.literal .text .literal.* .text.*) *librtc.a:(.literal .text .literal.* .text.*) - *librtc_clk.a:(.literal .text .literal.* .text.*) - *librtc_pm.a:(.literal .text .literal.* .text.*) + *libsoc.a:(.literal .text .literal.* .text.*) *libpp.a:pp.o(.literal .text .literal.* .text.*) *libpp.a:lmac.o(.literal .text .literal.* .text.*) *libpp.a:wdev.o(.literal .text .literal.* .text.*) @@ -97,6 +96,7 @@ SECTIONS *libnet80211.a:ieee80211_misc.o(.literal .text .literal.* .text.*) *libhal.a:(.literal .text .literal.* .text.*) *libcoexist.a:(.literal .text .literal.* .text.*) + *libspi_flash.a:spi_flash_rom_patch.o(.literal .text .literal.* .text.*) _iram_text_end = ABSOLUTE(.); } > iram0_0_seg diff --git a/tools/sdk/ld/esp32.rom.ld b/tools/sdk/ld/esp32.rom.ld index 6cbd2fc7..b61bc7ef 100644 --- a/tools/sdk/ld/esp32.rom.ld +++ b/tools/sdk/ld/esp32.rom.ld @@ -125,7 +125,7 @@ PROVIDE ( __divdi3 = 0x4000ca84 ); PROVIDE ( __divsc3 = 0x40064200 ); PROVIDE ( __divsf3 = 0x4000234c ); PROVIDE ( __divsi3 = 0x4000c7b8 ); -PROVIDE ( dummy_len_plus = 0x3ffae290 ); +PROVIDE ( g_rom_spiflash_dummy_len_plus = 0x3ffae290 ); PROVIDE ( __dummy_lock = 0x4000c728 ); PROVIDE ( __dummy_lock_try = 0x4000c730 ); PROVIDE ( ecc_env = 0x3ffb8d60 ); @@ -1349,13 +1349,10 @@ PROVIDE ( sbrk = 0x400017f4 ); PROVIDE ( _sbrk_r = 0x4000bce4 ); PROVIDE ( __sccl = 0x4000c498 ); PROVIDE ( __sclose = 0x400011b8 ); -PROVIDE ( SelectSpiFunction = 0x40061f84 ); -PROVIDE ( SelectSpiQIO = 0x40061ddc ); PROVIDE ( __seofread = 0x40001148 ); PROVIDE ( setjmp = 0x40056268 ); PROVIDE ( setlocale = 0x40059568 ); PROVIDE ( _setlocale_r = 0x4005950c ); -PROVIDE ( SetSpiDrvs = 0x40061e78 ); PROVIDE ( __sf_fake_stderr = 0x3ff96458 ); PROVIDE ( __sf_fake_stdin = 0x3ff96498 ); PROVIDE ( __sf_fake_stdout = 0x3ff96478 ); @@ -1404,40 +1401,6 @@ PROVIDE ( slc_set_host_io_max_window = 0x4000b89c ); PROVIDE ( slc_to_host_chain_recycle = 0x4000b758 ); PROVIDE ( __smakebuf_r = 0x40059108 ); PROVIDE ( specialModP256 = 0x4001600c ); -PROVIDE ( spi_cache_sram_init = 0x400626e4 ); -PROVIDE ( SPIClkConfig = 0x40062bc8 ); -PROVIDE ( SPI_Common_Command = 0x4006246c ); -PROVIDE ( spi_dummy_len_fix = 0x40061d90 ); -PROVIDE ( SPI_Encrypt_Write = 0x40062e78 ); -PROVIDE ( SPIEraseArea = 0x400631ac ); -PROVIDE ( SPIEraseBlock = 0x40062c4c ); -PROVIDE ( SPIEraseChip = 0x40062c14 ); -PROVIDE ( SPIEraseSector = 0x40062ccc ); -PROVIDE ( spi_flash_attach = 0x40062a6c ); -/* NB: SPIUnlock @ 0x400628b0 has been replaced with an updated - version in the "spi_flash" component */ -PROVIDE ( SPILock = 0x400628f0 ); -PROVIDE ( SPIMasterReadModeCnfig = 0x40062b64 ); -PROVIDE ( spi_modes = 0x3ff99270 ); -PROVIDE ( SPIParamCfg = 0x40063238 ); -PROVIDE ( SPI_Prepare_Encrypt_Data = 0x40062e1c ); -PROVIDE ( SPIRead = 0x40062ed8 ); -PROVIDE ( SPIReadModeCnfig = 0x40062944 ); -/* This is static function, but can be used, not generated by script*/ -PROVIDE ( SPI_read_status = 0x4006226c ); -/* This is static function, but can be used, not generated by script*/ -PROVIDE ( SPI_read_status_high = 0x40062448 ); -PROVIDE ( SPI_user_command_read = 0x400621b0 ); -PROVIDE ( SPI_flashchip_data = 0x3ffae270 ); -PROVIDE ( SPIWrite = 0x40062d50 ); -/* This is static function, but can be used, not generated by script*/ -PROVIDE ( SPI_write_enable = 0x40062320 ); -PROVIDE ( SPI_Write_Encrypt_Disable = 0x40062e60 ); -PROVIDE ( SPI_Write_Encrypt_Enable = 0x40062df4 ); -/* This is static function, but can be used, not generated by script*/ -PROVIDE ( SPI_write_status = 0x400622f0 ); -/* This is static function, but can be used, not generated by script */ -PROVIDE ( SPI_Wait_Idle = 0x400622c0 ); PROVIDE ( srand = 0x40001004 ); PROVIDE ( __sread = 0x40001118 ); PROVIDE ( __srefill_r = 0x400593d4 ); @@ -1569,6 +1532,13 @@ PROVIDE ( xthal_set_intclear = 0x4000c1ec ); PROVIDE ( _xtos_set_intlevel = 0x4000bfdc ); PROVIDE ( g_ticks_per_us_pro = 0x3ffe01e0 ); PROVIDE ( g_ticks_per_us_app = 0x3ffe40f0 ); +PROVIDE ( esp_rom_spiflash_config_param = 0x40063238 ); +PROVIDE ( esp_rom_spiflash_read_user_cmd = 0x400621b0 ); +PROVIDE ( esp_rom_spiflash_write_encrypted_disable = 0x40062e60 ); +PROVIDE ( esp_rom_spiflash_write_encrypted_enable = 0x40062df4 ); +PROVIDE ( esp_rom_spiflash_prepare_encrypted_data = 0x40062e1c ); +PROVIDE ( esp_rom_spiflash_master_config_readmode = 0x40062944 ); +PROVIDE ( g_rom_spiflash_chip = 0x3ffae270 ); /* These functions are xtos-related (or call xtos-related functions) and do not play well diff --git a/tools/sdk/ld/esp32.rom.spiflash.ld b/tools/sdk/ld/esp32.rom.spiflash.ld new file mode 100644 index 00000000..64af6a4b --- /dev/null +++ b/tools/sdk/ld/esp32.rom.spiflash.ld @@ -0,0 +1,23 @@ +/* + Address table for SPI driver functions in ESP32 ROM. + These functions are only linked from ROM when SPI_FLASH_ROM_DRIVER_PATCH is not set in configuration. +*/ + +PROVIDE ( esp_rom_spiflash_write_encrypted = 0x40062e78 ); +PROVIDE ( esp_rom_spiflash_erase_area = 0x400631ac ); +PROVIDE ( esp_rom_spiflash_erase_block = 0x40062c4c ); +PROVIDE ( esp_rom_spiflash_erase_chip = 0x40062c14 ); +PROVIDE ( esp_rom_spiflash_erase_sector = 0x40062ccc ); +PROVIDE ( esp_rom_spiflash_lock = 0x400628f0 ); +PROVIDE ( esp_rom_spiflash_read = 0x40062ed8 ); +PROVIDE ( esp_rom_spiflash_config_readmode = 0x40062944 ); +PROVIDE ( esp_rom_spiflash_read_status = 0x4006226c ); +PROVIDE ( esp_rom_spiflash_read_statushigh = 0x40062448 ); +PROVIDE ( esp_rom_spiflash_write = 0x40062d50 ); +PROVIDE ( esp_rom_spiflash_enable_write = 0x40062320 ); +PROVIDE ( esp_rom_spiflash_write_status = 0x400622f0 ); + +/* always using patched versions of these functions +PROVIDE ( esp_rom_spiflash_wait_idle = 0x400622c0 ); +PROVIDE ( esp_rom_spiflash_unlock = 0x400????? ); +*/ diff --git a/tools/sdk/lib/libapp_update.a b/tools/sdk/lib/libapp_update.a index d7894d77a317c138d0357102da864c7ad54bd82e..40af8532458d8a5486648abfd2d8b4dcfe12fdb1 100644 GIT binary patch delta 198 zcmccdl3E^67}Na(@OJ_7!R^NJ~y!dXfe=6B(-Kno9BgD#Q*?b8$6Q$ delta 198 zcmccdl3E^67}Na(@OJ_6J_G=NANT4IqjF*n~l$4{D_38-jiXeyJT3%W1?jYgt2 z1~PTKS*;x`zT$m^cOI>JONUDj^g&G#U~Itu-MI5UoMuN_RahnRz#C5>SEfH-ob}qbiDe zTu~HJww+IquYroN)T6@#{@xYtss~xp^ie@YT2%4~sn1ZSPLiTlH1fHdqiQ1zzq8cX z&F~1bO(}vxv&7h`>C2p>>329AWD=)5;D#E^d!S)gKaE(LCTL!f9>!a4vRCHGW7*1B zElCe#6iYyoU6a>&CfG~ZCMVG6h33``L@D+&bbx(`&GsIWRr@`P(ClMuP}Bn?SiK`8 z=vDftjU>5*h8OCpFB8^p&yjAE(=@DS89QW&zy&Wj;U#|Zf)BP~sSny=1P}V40JpH! z55dYZ!AY(*isfzH@9Lz4PV=fCzUh^TOgeU9pg)#Lr%sB- nbSTO`m~_+M3FFQv4ZOg36zYrjYW3Qg52NrbQlw0}z03YT{LZX^ delta 739 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 z zPy*Y2nZx^;%*l9E=8NSiIUD|7t_)w0`MUO-%#pq#=fQr=)Hn~;6o~*5G@n|<>4yMp zWo34vf*gQr$RW6aoC@d3nQ#la1l(5U)AepS8^`zcRN@9?43ewC!(`6Yh3@?NW88LPLQ3lfj^L!zz5`|@F95_d`#X7pOHCl zev&zFF3Equf5`z{ZYPfAh(n!>M5-KyGvo+dTrLThl}p1hnJ=!DmRm)ry%BDaMfmHE~?UhW1zDffeC$;06VG9TYdWIn!^%TK~e$vgS}e_4qSkdau? zyBr7Li2MayRK5h4mj8rrkpG4&%KyOCWIvvk^<=&`+#*NeW^^29Uj~WR%E*R0$kpJk zaviv*To>*u*M}dWM_^`Q8z=L2eO%^}JXKDIXUaw3_*^BpRzD~69$hNu!YgGwm3`}E zE;5_sy723A6L_b554>CM4Ih*rgun0{_i?d1u8fiJxAIu{oIDZ!Ow3a!gGL{J6I=L#mQN9g+j~)Zy_`VO7-~kTGysn?iJlHXr2Rl!5b;5R0X59pwUg5{w zurEbsJR-BrB61imPRCJ!w^L;%#sS!B%B);ZX60MtFnpWLx_8sOj@a&#S+~E;GDGBI z@WXN=I6g*+rcB73j8DmT!q3W_XbWZDiZ94q+gHf^P_b6#AiXN{+_uS2!aF?2ea|5A zo-%lkekd=356Vm7&*c^HSMqB3l)Mi9Ufu*>kaxnr$-Cjp@(1wMD!Bd}y3dhF$1Ev~ zG`He1hcQ=9fh);{;2Lr!Tvz6sZezI=+(OQV+sZeT|h0{EgfR{z>izUy||2i2MFhg16&Uc>@q%eCMMavnTc=7Kg&ZUfJjJ97P>s|0VYm+7ehwoNh* z{D#Z}zb)5>_s9+5eR3ZBsoWMmBD4JyGH>0}bQ}j8gv1ZZz%AjsAanWTJ5}Ln1fJ_M zJCrJOAxf8{@D23S0Je%U%U6@Rh}DsKGVz8=Qs&3+k89xibGV8laab8;;Vn>oFhLC-zd+9tH|@=S~5TR)|dI4r<=(9*1Ng98EzxL0e6%? zh3|voJp02)+^>w2@PqOhc$EA-9GCxqr^wgfr)8fXA5`R2c(I%XFOy5dtK|xQ+<#k? z;3wI)qyye)y_< z6i&d3!Vx+Jr^vs+5%~|eh@D@hmh%$=6-^!)oALR1zFY>MMA95@BU%4afU|nXL zo#3E+KU`QI3Ky3jO~m!jRbl}$D#_2mwdF-{19=6UC$EKD$m`)doK+~p5s2u37;Qt70f6E zC(BVdRW1vcrDp-yVlwMil3BNg%(``C)@@182C%i4S+`RiTz_V;au;Q=@`Lmo0NZex z6&{sY{xO;5XVT9A*yhSC|C}6xm&z=^QZ9kx`_?Iu4R4ey!SB(}0@yy3+2~<80)Hj* zbKNN!BkTKKZVX?L^Wfj)7Vu>_&I9l*@7Fa{4iWv<|}-T z%oD3k&j+wIka+@mGEN}wYokOFWZWs2fxF4g;r{X+@L>5)c!b;u9xeBTC&+{0$?{Nm zn*0bn+cmm50g3s_cmiH3PlwmY3*e3NbMR~OVtALl9^Naz27fGn3LlogfWMT#g1?C? zaR!O+EEs9YW%DYFw}5Tnnxz z*T?aFw zcoSYAZ-|OBY2~H9DYMS1HUW(3h$GDhd-6CaQ#1`gdeNb2{{q|PUfGC zo|g;3zsgbgZ@C0~P38|UB{uLbUj;ZM^W$5(TpKR#8spDD^(?E5c5qC-6Rsrl^IHv> zKfzR2z8`KZ4}@FDL*TaZFu1eKKN;;U^9Ps)#+BfobPkpIxo)J)&voPF7vU%5jqp?Q zR(O{D7CcYh0WXnv!OP{{@ESS(6%rej_y&GW<_{BYmw$&pkohN?AIpW{!!kb0`A*1< z;P2$7@Go+6_z$@){BHxU|CoSxBH>{9qC3GMxeJ^w-v<|!hr*>~{$$gQ@}qDKIS$v8 zr@*(!v*2d(JU_1g9ZIY~MrU~g+)X|X_mR)S56Tze;WB^8_oH$$JYFsWKOtwqPst_W zS#%s{Tn32+$|wgfk;}u&fkZVqpgJHtEW9`J6tAAC^m4zD-U{ z#Cy9OgxkyM@I7)-xVu~q?km@T2g$YIVKP5Aj+R@)6B^-6i@gHoD93`|9?oNDI*!5(=z3BxP;6Po#o^ba0R&n+>m|= z3p=)3Wj+;emrKHT%BA71GTtrl^FK=5ii`(jKJkXj_rj0LkHF*QN$^zpDR{d44EzGU z48XQb#? znKIv?O3Qpxx*@Ja4`D=K&d>&pSUxYWvNqCOzqF+W3+XuIB{YQes z_?a>?;V2C&M{%Q5@e_n~60nj!&sF zE9A+n&`f6M?x8s(*zS{AekjfNDr_TU#;4HyaER?Gnejz5|796&OPPR~v6+6w4g21Z z8Gl<2z{6CqODG93@%dn$`WR65sj^OydEF}uVrDc8_a)ZoEP*JV`SCemoYsppN7W5kc zwze`mbf?TY(M9GZ=mE!Bp(ql4l)-C1ihdKo_L$6uCdq8*e=-}IA+w!1GTT{BzXf1h zBeR{2GTMpzUQ>b%ZI{{5J2D$OL~jSM9h2G6NtqowE3=)SWVZ8*%y#^@p&hPZ*pgji z{Mk^3GB}B{WLCI|ejC76Rc85H>30~#Q%+|5PMLQ^S2+XjDRZ&9U*ORh4;WwPoG~ z4dmKzo?I7hCg;KT(7OR_-Q@(hubhhG`vxh&TW*-lYd=cn!5))&%T1E`nf`xr6L^Nq zvz#NhhL_WO0Bo2uo$z;Z zC-}VF1^!jO7moj_L?0wl(DlN6sAG%B32+gam!_o5J0(ZvEq9~L8D2%^DAtnsD6cP< zftz@a`?8T}u8bOR8<}5|+#%l#_n|)kunm;ixuG&UH&SNj#>%`*6Xj~~WVt46n&J8v z-V0${%nX=~E|b~lYMG6`BJ&Kk%GvN6@(u8Q`a=NQXENJ7DznY6wE6Hu(8gQJA-i1V6Wpsuc%A6qW>3smU zt}+kYOXh+5%jMv~a%Fgg%*#4jZVFG3+jISYTnWzDdGvk&+ftbads*he*2_HDW|;?j zL*~KWmU-9gkvqWqWFG6FYm7h7_**6p0NBpSJn+vl5B$5#b>eTi7+k0Y>V6Dhi^{B< zCG+7_T4voGxhz~e&cs0oTN9a;TgW_cM|l$5MVIv3GWx@BoBUtC$`Gkeq1NGwG{t zt}!{S-JN6ljHE}9G6jWmr1VK?2(;O@LRft|lpO;hy&v|Fy0nSecN9(aIFs&q4pMC^XfK z=Wd-jz}+{d^eF6JH$%AFZFX??i3vY~-DuODyLZfb?EJ|s%(X{w%ilCnfnec%q^qczRVbnS_91q?nas_W3ZcO#&fsV9Kg<>c)KYx7FF8bZiaH-<#w|Z zdkjSQF_b!Ix^wrtS&yCH*V0^j424o#n)c(cFV@m5;l5l;^E3A7W#jQEJ=x6QZk0K~ z-5FD50_tYBG7~1aeL8?7I#W81-F7pCyKl@6?EHzXP1;1XSE04(!F}7-W&`#ZlB*Mu zU9631Kgm7J;z_8q%3R=XziIq9GCQ<2GanDW@2}m?bbf+$+nJS51Ruc!DLon4)!Un) zlTmlC*}-I92a`6%ZMpjtw%pNdU~-kYiX^5{yC<z0HKFsNc^VKoWDb^i$ZKGefZRm+NnKK84I)COi$%MW#D;{t5%lhG~c% zHCGw^-L!ieyS-*HcK*Df=I5u8iMw+;k}XG=nbVQP?a5^IQKsq)Bo~?SGmy-F#C*&o z&U7Z4xMGIP3|4ZUGrQIWGt9b~!E{W39W#SBCgovCJ8mv5>Yr(@&J0HUwI`aiS;6v2 zrSN>)=oN1}E12%@@VM#0_FE@)BPQ^oenHN6J@ELP~;f;8_KEy^cO_ez~ zWG~Zr4#L?T@iyVLJ#G$4cQZ2>?uPKqUU)ylSV$P2i|{xv{K+$qCYtPLf~o%6^Gwxe za8l`bXlHqugP+04ww!M!FkS)is;1+SNQT*tI9H!%&{h|`)ZF70Pkk1}YcDWmo<;GE zh&S{4-wkozwa=pX?|0*U*(<(|#j_Wioha@<-WeCPaF)6HEXKXU5|cI;ZCtzuAEvy* zZRetm>8AT!w6Pp7*Q>nnB8IWHG2FH*9_L>8Jj093Rfgvx+{p_!nujCSTV~qNL*wTV zFX6?fBaS<5@jMhy#LHMAFMOO~tWyl9BV5)CSDuen5|^7>=A)JBh?nu=;~1~K+{|RW z1L7yW_M`?fU_2$|_ z4og400(-4AdJe7ZH|?H7@ooj-=?MGly>6B~hvHKaFKKQqePgCM@f=!TZZ5F+ayRUr zQRU~+$~UI*^9a9#@Xg+BI{tY~mr`$-na`t@zY+hRchLPTzSNvx@rih4y3L!or53qo zRAmvuyZc|CxPuv9WyUjHY5+dWdyQ;oxSKh^@Lq)P^1`W$(eu=IOqsOyjZ(KrfIhX=Z~k^ z5)@A!#<@6YZ7~cw!v3}&n++_UiFlfE?!GD0Tww8j<|>PqbHna%HF^OD9cS9TfN*Vu zi+bljo#ClwF~e;i!kewv#p4VwFc%nJhj1S+TzM%@wA82OmZdmm`f&WYgcl!&I0kpd zQZ|lowz>6=aHcu16kR!PPB7dF;dHNbsTa{ovCmA^7tu<;g7{#@tAA!DFg_A--Hh8A zZ~2+|nDN<&YcWcF2}kW^O235WS0Svsu^Ypq%@Bt7A{;ft*N@9I>t8}=W}6)hA4j;6 z*O@CUy~>1_AzW+(eulss#dgaux|I)^9?NjdJj82z#TP9@@#$tgi;qM&%?qDL*q?sb zTx0Rch(F@R8!bn?!eP^XIpS9kFY3joGhXa-vxM=?hw)+Eiyvpa`se0n##1>tcFuQD?jo>~yz&+r*@g5gze_)=c4OjCL#&MEr~Q*|X8--~!%@1TQM zqBs_ql_>7RCkUO>c81TJ0}Q7le4AG~^<{K1@rWt&GFs_`co#3;4ROq*Aupr&x`OaJ z7H@gf>}2u8QP)@AD~u-}Gij?3?@|zNy9&+hHQiUS8H6A7T3>{)ztopz1B(}XE0PGVL}8 zZ%kO;-*1{6$}VbVY<3s$#R&SRe`(&|94wDHb%Du=-AKWE4WE=zYxa2XDc*IsTs2;Nn9NNlZ){ zG<2lTKZp_chkO$fgZ%lMgyf{Gy4(eGYoW%jQYf1lLk)ii^VHE`cIss$602b4^7(%@ zTM^0nv?yGDE+Ywr@xKaN$s5f1qrn;__;&{Ud)FY680cOE{*Vp?HdZr{cb!s&`THaN zgUjQ8`!ex`NN9H*)A(JdxS4P)7;Nz}zBlvNcUB=InP2ho*CZ6;k1+*(p+dEh*T~_| z3b}cQ^YbFU5dX%k|28)-lv3F2I~Hsb9$g%8S&4XVCTSezoz+Ib|keKw}4H%Hb;PYnBm%-ffN9v)8tcEzelf@ss@MpD* zB0pG}18UEeNK(pG2_@|im zUj>VX>!Xjss{Bb5UtqWy{#7t5)(FELtnn8jsex_Ta7{Wra3T|~bqdZ5Y&7dpv_$L% zgl^_ImGPw}4nr%ciTu$T|7P>`SHYW_d{!ErsQ3-ewkZEvfiJmAE6lE}`^&*uebJti z^$o9vFDW^B{sYJg@Fz%;4e1NiHMbuRHXPC)=jzK!a7%x|3!ha!gJ(Yx;l!*xm`+Jq zdAR0*tcP(?gIRrXxa6!iFr`wm__td^S;H}Mg|bTH5~XIniy;nYZ9>P=va%{+UCP=L z!r5i@$Fz%Py1{`DRT+$IE8D zf}Un)^+$6#S)FhTW1%{V_7}Y@b;2bCl`Mrko99a{wOCa6)jZE zI)|~pDJu^*Q>CoCafvHujX@WyWX)whWeuX$Ldp>1QsEY9xaR!Ovwv;fsA6&w&+31 zt!~{C(bnix%583GQ-NswXGzt99TW*3L|67x?UYr`mg+O7A!55nsw3Za>n!Lw9g17xr4}=q56Jq3Z0% zoq@S-KjJBO2TI`@MBRRL_WI#9b&uPW`q9O$9q@YC)jcBa-|Z=A>fXTDY$_|ITc9gi zN*^==Bh_6am4!%3kH9DlZ+i4?T#}TYfw362DDKwsNX2^vDxgTXR7#(~S|IH|T(FeB z?wF_fdCvXZfl6!5ak}3N zTHp^Pvg+YU;LCbH!n>qoHs}3UWw072WF17060?qACM9J>aWVm4D2R0>_Mi|6#24sdtm1dbq5qbsdgeBt3Psa{`kt+WH0r$9TUEJ9-2?P95teoM~t^> zUkyw-9V}n>Wz2)rC)}*GXeOpl>SQ;8=h{-N9jQ~Cx@aynkz*D~PMz;$W7wlJ&9|q6 zRq)_UKNDK<;kb(xt~f8_|F9^gmPz2yg)k^RZhKo6z=xKMbo#Jk`FVw~yJR8iZPz_Tx zTvlWL7Un@X+fDeRnN^U;aX9l5qH|5L?}B$1&8dJ`cc(WV7m?&}FJ~8kQGVh(ykCws zYrhNTM4rRt2oG}jS6&l+p&!jx-vz72-QckN;0qY`@I%g3ua$?L9vHFcKRkz#?y-H* zwYXH_QEo;eu4+{j2)$Dau}7Q+aHLdtwDTfsox;2bk8uWJZ170Af2c3)&7aJud&tM! zLl(Qo7rL_&3XXFgVoOmD_yngj@66A5q_|Taj#Lg$az5ir!;7oeS2855U|D&vN##bKmfAbDS-xnfW&USL9c8%@=wcYghPL zHyq+m>V_9OMG7IlyC}TK$)=a_S}t>&4n=Tdh1a^qmD=Fkg}msE)ewBe?T9aW7kjml z36uCkuymZi)GWN&;i4Uga&-uAaehGpkEKlP!dsnxu?wBX8W#T0JIH-E!v{Tg!a^H9 z=}bg#L-(@G6)&EW11ET|2#xT(3Kwx5P7i1KKS!t1M$|yCm_N>`p0)@}ceuF!6#W-x zV+lWBW__WbF*f0n{+CfBk{vGXFN;eQEs58ea2fwlj!?8P?&5G+Kc_-s)Q@LjINSdO ziWiHX#EVln$E{Kdvx!Fywc#n{`cJXFrupW_U^YHzIX?xn%D3Y9-r|p;qiLIYGdJ;E zl!KG!{}XXvXpXrBW#fA}NX@)K;?HV_hq#V7;fMUsK;h&70 zoCGI4%KtsfxVQSFe%|W1{W$=m{of!Fi1K&Qg~#}>Ad!;$Pemlg`gvdDzfc0!^?SpQ z`Cmp8p;a9Im0mwy%Yj$>`LY&zk9F4g`Gyrb$gZsQ^L;5ajFWYppD#S2H?h=**ZcX( z5-t^f#XlnxC;p$QdOlbUUz_weA1vngXPMFGgAL;RMJnNU{0mVcw4Jxj9`BI?1} zc@X=2z`q^WHu7Ki6Mtz8p?8X(>J;6x`pi8mykGdx|L`IIWwaSd4S(*x_j>s+RQ@@( ze#HMf|Dt3d`doFSj{3KuySQ}x{iESy{)(uSQ^W}$_n*IB{Y3uZ%zz8Q8zXKjr`$fK zJGleQ;tRogeO7Rl{m$Q?)p0?7^w%qz-`k(^tMh!$d%ca0=h$BGU&YD&m+M}tU))RO z!v*25PYYl2|BbdH!SL_?fo@Z#?$5z$CEZJWRV`-nLR@ou5{Py)lYS1Ch`(79v4n(? zsDsLZgm16+BbeY#jPtcnBH4Y;Vbp$QM^X}Yvb;Z>not-QG+K`LOV};qiymSk;wI3! z1AK&}C;W`^p_rC7`9ZELT@wx?m6Pm*yCpP31725q*j?>ubu}LD zrM{NON*nI2zWPEJ*mR$SL^P4(cf$84Jbt~g0d`{pt;WKGytaIyi+mV7kkA2jaIX(Z zSi#CoIpRYTbgwVrLN(0Hy%?+zU(KasR08K_+EG5x9!cOtOY4bw6n->;GbL>`YmZLY zMDL}?xED1oi%+hx?qx~)nCr)5?s=!(ghPhMx!q2?n^$za+lw^*md@}5cQDhoan8gO znsPR!olZnzVgm2Sw6nbFCMED*OXKgN3qPLlA#eL$mEk86+z)r5*6hXPgjaE(PkRKr;(~jO%xI9)UwwoRdA1(kA2IbkQU6sEOzw*EwK)p6JAghbx%f!z5lpP1;r1UtD8aOnsny3blC zcOD<Yq+F)-f5*UDZ-`P9tEYyOmt@3k%jaV#hHQyu)@iIu^8@jJ2d zc#}+UV*E`ciB4<*#xTi=^}sIR#17z^2A$YsT;^maRuSis;>7ru-a=07X58k5oY>l2c48fB<8F0g^Ki#yI@@PSome+Co#Vt3arJYZSbP|IbAuB*icu-Tq-5)S@{ulSr;KU|a> zo!A_tD>$(X)UW8o{)hQ_lN002sN}?gn6#Ch*btmd6$~Eos$#g%?P^YJJ?2?;3?({R z!-@TkT}>yp2-CBc6MGi(tF{wsZD#+CNzfQ0Q_qRj!HCvJ1zf}ij=p1!%)JF2j)iNW zOa9mhjH~01RmPb6{jtN9adrH$zL;r={@4awxg>wA1X2Ni?1fxh9e*qVZ6*6-&*Pp; z!S}MMk>x$nTyS8&5x&R@{=Hpa;Am}5f|ZOXW3tUfeg7C-&B)6GI%~Z; zkK;rm>$pNC`~3X(i6ZMCLYbtr$i{E4mwnYMI}lxuZ0d+flN{KD%M{t%4GskcV^||w zcqg??4eY~ZjBI5h?DJpY(O+APhP>~YBd@38Y_bA)0^;v3pt6%S8>8v>`JcKOC3mn| zQn|=GBh8POgH$l02> zHeOTTsVR=j_gvGHz1rtkJI&{xk&TQWl29J?&OdOy-UX}P&sM!(R4-N+^)5DMz3j+u zZ^o}z{N1Yfhgb0v%-zVJ?0Q;&pR6PNcg^vY$56b5ME>55c)HL3B14x)vBBiXl`pTi zchzmr=U-I``PcR!9!ZZlPEpLyba(3b9hAVdaUWcf1otbG1S}VQ z82419n|p`~@hCrEM7q15ohwGiWBx~aIAw4z-4xw|cZx_)w_K&@XjF~#aub!^&v%jD z4(D!_+-%OYK5oy-JGt-TW{LE5o4dvF{!r*U^x6I6mMnb1i(5C+&&fq7k`@`@)F_G> z?2X4j`-BF0C*%taEQFE|IKQ$&dSr-mm-+JwzLdQS)%Zm!|9!X6X_pZbk_s~%^&VM8>w2b33*14aJ zSC5Q$d^m&jF76eaVD~t#3-|+Xr-=?fji!5pJIVPC6Q;5+RFQY?6VAJADm^mAY0akG zmY&RS$^3dXcw>ARXZ_PoDhDewGQ*jBz2MCJf-Eshhji!6Y;Vp)`FSBS$Nkzf-509C zY5R=RnJuM9<~kgI?~wECmgajcrH{D(Vf?Xl-1!{6$Mh?TCv{|jv(&5oyu*LV)2qEm zwGD@Fv2zOLlcO2%QQe;I3%oC1>>YCYGs*vAnd)bt;cyk&VPx zcz;3|?aj4grJG2PF6P{P*-aFV{#_f1Rc-=*wz3^hp2!*}n-e<}+3c*kevmCX$a}nH zx4J`wPu~-HUavWmS-w={4Trx|-#f22Ssr(6l;3Pe-g0inI44Kj<3SbK?v80{bOD~S zksaOuM=P6M{{?fpZ}D1s*O_*`rT27Xx1rs3LwoFo-p_A{1Nngy!qv-+?&BQV>)u2~ zqD|*DNzREE<4TYj`NBDM{Rl^NglU`$N4;~4^83}uF?V1>QM{P?B40XOh*P8YhLHHm ztBa5>;)TMuYwmvM7@frpjfXBuy^GDJhO9>*YE##KA)U@X6CIk@06X{ z?75!8bCMsb=9mgVCXc|yDCn^m20m9m4|~qhH0L?p3Hg4e7hxTKk~Ie zG8Y==S>fxpQ#MLd!QfgN+={_kY=1xzZnD&#RwtsV6j2t5uv{*KljU{~wsT&xnSFQI zC+4(BQKlEXz)sxCzMC?j;9e^DA`5w~Z5|ARq0;_^g?db@G75I~Mp64{&oXGlSnZ(q zTaCPqMxM)MMzWLr6eSfWyVy&yGK(Ztr;I4Ri!#~OxEp69bkm8f;2Mqx-F3nZ%Gn2c zXaQbu7o)SMy^_*`V>p=ivezJy7qp|o-Zsyi3*pY4aNUbf*WbMTa5+^c``C7+)t?sC z*uU0U)Xx}H$zI#vo(Y9!lsL-xrbmeZI*}8s4sVS+MaOD|M;nFii!tyHwy%cJq?a6O zw}Nevzr&1lO+Q@IW6+9|@EDsf5JxDDwC9AG8BS?R6OGnH2$^5meq-z|5z#pN_Bx^C zrO*kH(BK*Nh>4ntBleqg`xLh5BzqA>c*)~zo{~j&O-VNcmIukHy1+?+?I79aa}u6r zKNe}8ZMVVz8nGR3*tj{DJV9?JI)Tq-nWJ}w{XkF8b8Sw~IAHsMUFRhGD@w{wo@QTK zCuxzCbh?(5;{-XFrjv{9-B=CzL8q`w!f8Lf3y1H*B=(@|m{%I+VGNbC>??GeE$xED z+4jvyWCc9IOs=wLVXkn4n;D0zHNO{ZWjm*A8zWLq&@OyF;S{Bg<;ZxB9a2+X@;rMi z3w7k5FEw3Y!nKIidZDKBqR_iYHv)SSPYPYWrYO1A&f}=pI(doxN}aq*rMz`UUP@bg znYK17n1n$mdAU6UHn~AV_P8tbF-37Og`?7yT3T78_bRQoIrO%p-WePsuD0huor|#u ztK6s?@l7X5OK-rSCY{*b9WgDo=a8SpJ(}>HOeZIGFGHb0>;o`60onl}6I+XB%nDkt z%5V^a5z`HLVv_V@{{vZr;6@Hc$rx8@UXV*IL5#=yIl<@bk-0J6ng_x2Y>hmfXc)|P zkZ7c(;`Tw^P!WO!9* zzwQmX$B}5R6ZcsTUHlP$dbNt3+YJ~Rk}YF=$8&N~vTtlsCkUIx`?kRvTd80l7ZyWf z-@?sV!9*4f(}@#;4Qz$sTJ(ugy^YX&TPH<&t`l|Q=ioNn-6v1diC+SbWA(h)Ibn0xDW7l-$EEpNkRPu|_((0# zggNmF{>V#mp>{2ZSLnOgQ+29gykaorpB7t*z{rbN%%$Ipw3Ht4ic7ziVx8c$uo6D_m5Y!VH+&do1TN?730GFU{Hs{zi>%?!x3n8?6nO1M{vC2U+jHr zVppNA&yH8<5WP@`XmLhG1GfJ~F*a0LhUKuaNN1wN;T|4ee5=#go~&T3UL0EjGB5rT zyM12r+1O`n#c~dT&&BvU+>{k;W4Le8)esNXF%qBGWRB&0jIQ)kS|)qp+40oU43666;B4Q%0n%q? zj0;coocu}r$u{(D{kwH4m2n8kP6hZn6?vVq0d54~R+pyeQjVOhNMK6`u3DF$fNdF= z&{a*bmmv?O){V%k2tV+g#;H31`RyfvQJuP~sTncQgAEa5vFwv@eYR7O`Zr+pQOKiTe;fKfR3RfqsBY8cAkt?FU*qM=$;_w#bVc2-)*0OYq(wY%!1tfG{~ zkkSj?)!IqRngi?sc(hwsR_!zj7yC|bTbjD9UOvJilHWT6m8z~mQn#b_#%Cwg_Xb1!Z!@~L1>Xt%Btc!~!z+Rl2alMCP08rbI*1s;OYWarD zzT9b3+ql!F#`fh_o7%>$HZ`vAYiJI&ja^BN@7o1)ok>iH8fQD%xhGVO@klpL2V~G? zyrroZ2E%kib91lv#ys$UhD?j?qiPR;wg=ySs6IOow#~ut6m_}C{r~-lVl|=8{q>P# z8&9iMV^r4xy2a$30i98p>SC-;EcTYY>Eimz!MpUj^+$2K%bWr1#fM>R_TnpNz}uS3 z^PyJ3Cu{)XPu2E;h5dAk#1zBmH~O0nM!vf8{{~|XZ!J}U7BO6lC`9vDZVoE~r@8Sl z8deJR4Xm0F4I_=!IEKN*j%*u-C+f>mWs1*P>tUo4@u7ziu6#PDDfBRME^=TN{Lszt zWn`A^RM%HlCXDE+!fk=msCnA`GeKW-3bj^ibEhD!YJZB%{rmr#+w~vjc9-U24W@rA zMfFyEXQDRu#k9ExXl|N9n_CzIeZ9F`wP{ndxua3Q#`{#~g||0!8m0bWZoC<6ie;0L)^&=Ojf|Y8<{)1iIUj|(POk^(oTku5{u?>E zsZ&vLb|>l3&CS7M4Lty*8GKWSzV}Y zi$>TJ7E+jcR;M%JuVEW1B#O}aKls&(q>v^iT)s;&8w)}%?aHMx4Ct?L_i)mxJu zjnKPS~>%MkN`2 zUi=xh_i|3G&+9rZrq0?Az#i4%3yOF0i*JV>=xdYLA+UeC>V`R%-Wq0sJ#?xT+K#a4}f^Z{T=w zZU)p;rWo5_X%nB-zVgLrQEY#uO*|j6D*50EsMtJrG0mNLlYW`$`Av}iTJOgH59umy z$Rn+nRTC?@A+NsCP3_>mrHXsMF#d+{&A zHwv7h#P$7I&EcT}CqG5J8#ZfS5lzuBR&K9AzV`K}w69IE5bvC((7p~wjtIteU|~~Z zf}V_gs)kM;Nz@de|ETVICb<#0s&?*CFyY!Hv>}^KdopB2tL5(Y-0;Rir+JHhC7|r3 zZ=YjVU70#+G$T4nm$heSQN8W?;U|Sor8*cUi<}NAzBol@2pc)(NM8b1X^Bfnsn+TG;4VN_E5Bs(*JI zxiOdTsPf`%!=Nz+wYxxD#iJH=tDqZ%*Ul9XRP{_76r~=vS%_O0-Jc$|c?P4#N8ROd zdp*l0=n!fJNqU}n*6xa29YPO7j_xiW0CY}M=nzWaE(g}8R~N&;!YaWpU)3$e<{>X^ z-oz=$U{ARy?BB#`+%X;3XMo#_^LWUM^DL=`zZ9tctDPEwGF7{15SFk6vqb$3A#fZ{w!@*Ez zE8+}h4iAqib{gdmKnO*l_=B$OXQ83$jc`G+Q!$-o#?IzxJO8v9blT3nX*)B~%Ku!g zb!NNQ*JmzRXy>5%>g*JLQ;hw#I-|5rJQAxpfK`YJViYhKf2uZtOJrgYV;>y@;n9Q< z=p6+$E((CW7$*!hUI##(!G*D{X@eJoQCI9OX@e_S_qt}c|I^}kjm4;0&VQ`gpTmbr zoFcU`e5J%GNo>_dh2NGq&1Vq*U$xb-bCIj-i3hY=Z5M!l))Su?5%qK(SWJ7SwLUgD ze7M9ZtgEP{pvRtWOH>qJnXX3bii$eUbwf}wdRQ5)D+;}HVi9P@=zSFQns=Jjr^Z+D zxJ`|X$|h9tBrctr7**(m7$vGnxcO-u1>6v%Y2aXshuFGW=7vq1Iz_ruoFDdWiu?F< zn?{2@&jxGmWj{Sbo66Zo)s_r}sr!>U_haUat>Wf7XmrZ7=&~5;)cCq#OO zh-;oCBA1UHtwJzFb@G_01=LA96hB^P5=A^7<9Q;sYT{)&wFAP|lXXXUq|9lSqF6Oi z?{RSIUx*}|3TY#=4&`YtqaM=-#?~xg=WY{6p;duD zReL-5t7c^ZrrN|O__&U(3Or53gFN(Zp5&>vah~L<@zEN(GEO!J)OB4bjO@Tz+^YVVx%$3jY!%M>W-u9b(@5u#f9M<*CtDM#(?tfG`ky*^ zs#vpttvOrhyeRy$xl=S=`gHt1JQwU_c&{XgW_T+6P$T1fsWoY%rBOATY_rv4%F z9BuMZQsmeFFOf62O21W$?2l?g7aoNQ;sGXdcQ9vc6;CkLZBc4m6^}60?NMrc70)o+ zs5|1^$VUg}DW=*G=PBlR=&pLZ1=4rMd620lRkaH{w#1T)D$b#0a7T|oS0f|p(7iC- zr5o@v+gob1^x;(AJ?IQF~X? zIxY5#NbJ~1?3Zzt+(WS*DcRpHG;*=O%Bj(WZL4s0E2q)?pDAb|&HX!W+|*)^L}JZW zgvub@GZc$IE%h5C70c4{dZ}}&U@dz!7RN@DZ?6oNsByi}L84I# z!-5{Ac8!iksf$}<0Y!D676GIou@=v;deD|nzSKn$8i0U zm+B}~FV(8^AgU&$>J3_TfmYoXOPOd5vq2wUK(#)+*zk|Ti#z{ucyXsWyomOn?$U=B zYGOB5TzB+8)olE%L=6J0JAvndJ=Nnl)@K-e%&T zweY8E=Z%MfdcoKr!SOvW2?KfZ4k|shkE`kwp5M;tIGvPcCxR_W*HuBHC35u=w<{R+ z5_c9r=QM?0SYL`97|)de9qI`db`7zDoD>F?;#MG<1o?bG&B^#umD*rb9}NB%xU2Zs z7jmP{5{(!g6D+wOs_J6#38Uzro0)uwtma?rZKJf<ijaD&F6Fwb@~M9 z*aXi{F}LzDAT>In?{dxk=C}me)P#Zjk5M&VS6FfV@k>ic=9*$ssH&Vc-RS!%pr`Lx zigEGDwp<%!$=fyb;)y6_o8A-7suBz8GmwpA4lWNmxlp}SxUc~{RebCSxn?HP{wz&s zf6@!;1nJcH$mZqR=EC|B27`gNc>suLXmt1$R#rP%q21oe)$6tirVwkJ{-CE9OTw!5 zX5DsmcuaezagTJ|E!8IT0jZi8*Dj$pIf}kZC#6je(R^tdra>4@7GvPbC<}c@j)9XQA#L56+PX@vL)zrSx~H^tQ<1A` zn}RT^(5H-bQK&tWV96GQTDsmms~U5@Hp`wIne|);r>F^=yb)+=Rxhj9aYiwka9a3X z2TWT#kX6YiSJb-+KDqJ+gjVw56}2b9hgS|U%_l`w2b*gC&G+ z+z%3b7~oQrR_bYQZ-SHbCZwYg<)g%oa8XC6b+n}IW^8qjGq!fblZdpn6z0HI+)351 zY5STy9=w?YC>C#m3>S~I*4&PS7uf3H07t)i|qBA$*a!8NJHk!>kCuWH74_( zbf)6^xSLfy#S}cF3%DQI?RaFRn-BvXDwMw%Uo)UHs)SpimbC_dsS;6;P-;J9({|l5$+s zg{EchhTsnRp!Od(I^mS4cE@x!lk`ReJ!==HRv!%>_M2BtUi~bsi)W*l74%iQ*hS@= z?brcUHKUfr4(y=BC9PS^4Ih0&u^Pqc+F1hZ#k=zfA}_v+mDGW8bD^%JQ7BZk`yeIq z^TJF%AEM0qV{PWXu&hhE-=#;ho2N!@P3>a(-Gh-4YGD1C_FCGmx|l&}w-Nt8v-WX4 z^bW)Q4s8#*E9}`a4fg0xaffa+48^(??#SdrE*Oe+h;PXJvWU%X#^Sp($(A0A@6(Oa zB;7x)>h!2_R@k)K+`nB8dUniX>PN9nQI;HwkFmO8fUc{~XaJtfdi)hbh1#L*jz+VM z(-B;HF5QvIx%65Fm!3;^XmenBry|W0?yPp&rv6_u>f4zoLyDeJp8&g_QTGG2hV^Lhd8%+)V+T@D?I;Sc0BH(eR>gVP@V4=yFo4X>P z(Te!wbILUzz+L5Iv1wT+;!oA~p9vFCuM?SVZbJ1rqwnw`6;!LB)rR;Pj!G7P#qjYe0_irleOhqO0*Y7!~Eo*5UdVLL>=ndt81 zkV|f-r0w4^GqV5E?xs6_7@4E`*N63A#=?K>2-n%)1d{398R8KF*w1xQ+Wsi&`RHd& zM@Icv-8!f!v`#k0s_5=z?AXYIu~mFp9YlH+GOntvkJLEFJZ$t6eI4)cdG~bdOmy^( zj%Xcd(zEG~@U$LIht6!54sy5(Q9a9>Zea2gQ)*;6c>qLG^q-`BK6M^ks| zN~dhxwLnmvzHXSmP+O5($M?cq{u_$hA8ZB6#~r>O$G&Q`-u)>>Q0|RvKvpE7E%JJm zKmsGS7h1&{0ALLolmy>)y8&t_aYTRG@`QcRdCigkirtL)pu~@F zFL+fAFTl9SzhJu>ep{hs@h^BOeB{uw{BTz1@@C=8(ZQAB$n9>y=0E#5RRg`*bIzPO zXZF(BGjWFyCX2mBoBOPB`cJxk>Z*)z(Q(<0!%RIe7wM?34FG|mk4~Dzz;;26B#y0L;?TzKdpGTz@G{HgTNL-DNXMS zToMLDvIa7g9RQdu-+szGS3kCca=han)zi>@Rq=b1a8{2p1z&H-31;c@C1RU34B5tr{Mo7 z=>+iU0xuUhCGdp;UncOi0^cm~9RlAc@Wa5VwD)?MWUAT$|CT%WMwW%bqDK;VV~7YSS@a4Uh^3*1%UJ^~NaIA!V2a8WQu;K>5d6!=7e z7Ye*o;IjliSKx~UzA_~ep}^|}zDwXu0zW43GXnox;OzqM5_q@4+W&o`;4^`L6ZnY0 ziSqhp$`&|J;3fiB2;4^Cj^%hdI~{=CMZq|MPZan-3;byvhW~%m zB`kfglQt+(A-oj0Qs5o}4-$B^zy1%6)OR|VcJ@FxNv z6!=ep8)NcJ8v^z}E|WhrkaC{H(wqM7SI39P36=kcH(;+PVUP zdkH))d~;;hkl7E2tY-w?F7W>Z=6@R2i59r0z=H*z60R7P)hu_1lbwuFou+8YKAw`R@eoQM`CGe%;#iO&D&Hj(bdRyQx1$MdS zH?|fC+(O_X0*@E?_%M4+RzcBKB5S?Co5H?hvc{!~ao3jCz_)^=abJOF3cNsIzIP%` ze~rLT2>hbJZwUNDgu~?6te}(Eu3k`)z*PbtEAaGi%viX_{}E2>zfs@^!gEmEc(2I% zO5k7Hg^!NS8eB95Ywt8W-&2^z7lpyNtlp`8BI|2`e-pSdZzW9ov=(@{z>@@?EAT}E zUn}sv5$3HMHseIWhvB|)@H)GFz0Sr0w+^$%BPdT7S*rzJ7fu+T)qB_{BI}UASsm)7 zwiCFAz()&wT=*Wub$Uo-Jty!R0`C?0%kbz4SyvRT>sYVtMuG1M4@`iIuZXPO0{;}2 zOw8(C)VEVT_i%ydg{M!<+L0R7xxQE*gPR6AS>!Jh_yU2i5%_k29};+rz&ixyTbmIK z(SquKqTpwNW4N14M@%4aQ-P}l?k(^zfhP$(SKuXGpg*nP4pFd0;8z8HS75$5D9x*? z>v0c(`w?g8;Isw;M~|Q5y}xN1`hOe~VjAd2)t6@wF2v>6AbSSBL5L$lm85{ zG2(e(8qo*x`TDn>X`*)p!(PF#Uod#WyD74*@FH8fo~>m z5XreSjTu7^q!Yl835J&ieuH>o#Jrn0JHqb+^R>hLd@g7X5gUVk67+`!&c&{CDs53Q z5^2mA`lN9?Vxyo&;Gx75BgLbL{Roc*&NX@7wxr4gLl=Sj z3Wh<%4I`mLf%yV4e#Qx!8N^2D2_pY=fl~rs7GXxSW!=hz5xN1G3a~V{9%H@{`kcW3 z7WCT${p*6}9YOPzzz#MI)4Ga!u{WD)DPuvdw#RA?oNI6g<{O$`#Kxe0B7da7Qw2U* z;IoL0%oH%?H=+Mmu)qk_&vzMoi(t4t%>erQ1wG$3mlnEBU~Y}3^M58b4(O*t^CBm$ z-ssJ_CeZ+iG*LdWF@kSfPUp82`5lN2Zx>+7$%ov5f@XxkV+8$#dis<#LlDgsM9T$U zOKd#2g1AxS!8O3S2Co-1_YoTh9u)b{3H%>T6UCqP1`|fm+rSiB2pykkqDYy3&fN(8 zLD2sq=#L2c1ZLf|%p!rC5gTXPrkG&8;nN;C*WjLlXb`bcJWS+|7x~kP4exAV%3<p_ZQmNaPy)n;?qS)C+ZpjY0VWmkXM<#70hg zV9KPeHG*b{z^M^}VYFa4P7uu!G)n|NkJuP=32|fXi*-40uE947nmdV24c!;zNB!?{ zQSh{2*edd05&3V6{P#ru{{;R)(EKX$6aDIqZqyI@(;l>9fw8(BFg@r2hk7&LSUpJK zVS;|7pr0scrVExN7c(L7PuAh*p#I|m7<`#E{O8`5F6vp7Bm+T zmqav|0_Pfhy`Z_B*f?;v$bX#J(C*dQlMVBsN0d68ZZDJ}9s?5cEb)9GEh(0cqti-^eMc!|=aCFtij59qNd1 z+Ae5@3w*M`YX!cG*fhZ=;&NDk&%?mE20zRE^!op0CX97Ehz;|50{>6o--(T&!@v}Z z%~8C%xn54bz)gq^eN*5xeX6w}>L7>)2s}&RWyHp~)x;IrG3#95T!SwYG&c|%$8Hh% z8zYSR$LDELu!GnL+67FZ%|Y`K^NpY{1wKG*=)VU})Bho8)Y0`cc>;Gn8v4`B!&qQE z8%^9y+h&ai&NX z{72w-1pZXu?}^()a{drFXE^fBE?$wq6~rl1(3J_pJXGKl1-?MwTH-vXD8K>Mey>pG&|n?A(tBCGoY=Nf#BpgB(9 zlLS6P;5Edi+AknBa&Aat_P=`t!$ZWCk>baIa}9o;`KGF06Zn0BzZCdKVx#ys;>t*7 zgOT;P32@!`U%`T^h^QrSuECv{Zxr_vc%;Bn1wN73D4tJT70FyJ@LJ+XX3DyP37od^ za}98=!RzaZtW5$xBk*>C|4VEX?;$pFz7hCmLH`$V2R;5l^C&3BSsXtNfYTlq3EWEH zt^yAfcoeZQVw}jIE$||N&q@h~HN?hsbIcH;7~BE zC+-|6xC1!X;0FZFvjV>&@Y}>j*L%d87yf@+m%y_of+02fAxpT|UXq-+6juEEQgZ}KQUAM5Fx*4jEmF1-IM?7O z14pLxaPf1LAUamy=>pFecm=WHy;J0G zB<3a(J`Vxs8vIO}W-XAcv2tiY26{e0k5TF}L!;9i0M zMQpr(nYd5n!K=W0DKtOt2%1j?{$5}YGSa+_>T$|y$Aqz(|0bKpeFYv^&tOdyc&WhG z2z);={`h%>xNn4?0M0e|1x*vhpY^&?1+ zq?z*tZb@v6t0L}4PW-DFaIV391kDg)W6%hZKWVa<-KU9ylLW&8k-t*l3k1z2BL6y( zf0M|6OyvK&4#WSKnJ`xG68Ljs)0PJX{#D=x$JO&T6}U#=83HdB_$=a-QGA6cxL4q3 z1%8XzRQr3xM@7}X4>;H0F9pqy#HQMR6Zx?z_4z4>2_rOL;N}8%7P!B_Q;Ch@IRdXF zHZ^yi!0QCQA)-h9Q|I zn)!Sd7^^Q6_RrIO2EQ+8J|{N8^|i?VP2j}zdYO3w zSJdN_Rn3G^&;yvtIQI`_zELnn;E95Mil9G1(3~P@RtbEwz?+CCM)7Ao#soG;`PmH2 z*W2;)q9%&)PGV!wTOxnIz~2a(pNNf|-+(EzAw)Sd>g5C}k;o@D42^-)49x^hTS3!T z;E}|p`Nk7tf0Lidz_|vWAZSiESo^PyFwB<;qMHT2kJt!$RN(EzCIH_Q_4yW)Bg-jR^wg~*P zz^@S-=8ptEEO7CxdYUf8#(`eM*wf^vW)>VUco=Zq-Q6T648vT3mk4~0z*i6(K{p8e zAhB^~v%oJ1{Fpx8`Ovx`<46@0p}XrT+nnNHoc=-(DxO19I-KOT7*+t z=v+}SUofl|crCH1p(}{7<;c%9z_|vm7c}<~8-pGc`Ogs>`fanJKb`o11;)D11U?|} zkAgXId_8Y-fd>jah1eK9oA{W>=()hT#PolWC|DuzrNqXdYX!bV;5&(pf{n!3$>ZlC z;9P^B5j3v|nti~jG{YC7;E=$-6B`A=3H7**z+H*4L&Q%%k$(&^HqrPQE%K+<|v3$S>R^{eo^3;1%6%Nx58Brm)a+?J`?y$ zfe#7%qriU(d_>^PIrUZAK;T?~3nGlQ5I#*sK{J8d3EV;8?gIA~c%Z;THg~!xYvVlC zBiwf=>sU1}toja@{oyKJehYWE(kSljCp&iEl~l-;~f z_#m!oXm}XeYC$;iM_kUwPgUbm8y?{0@v!etxaA1=1jH*Ehi7)OVzen#%R za3?Qo!jfNbSr;zEB`p4KjuUSEC2OeK9%lcF{NKXqxY)%t;e)?|w|{t;xpTsizu~er zyoHyi!UMeQ4g3BMQmbEh`R}x|U-%)e>dLU{4`i414_E(zWRGwsk}#s=Ph94O3wc=+ zZsFzOF#9iDwujSs*&jZ@%WvUfTUwm(7(2863|g#|m0p!BcnO59`BwCfh)`{C=h;CoJ(t#H{JPUodh_y8}p;bC50 z2uIqu>dZI3v}@ER9KZo9izh4 zSr9WT+=(O@OI+mU9UGqNB6nW61xZyMW;eiPZ8)8m@!FUY-iK@bX=lor6nd zIGvYy;RC$f86M_ke>gJ0r8>NYmqpd(KWIg;Zhq;=LH&Zv5RMhe>VcnQ{l*bm%-3a~*w)FR z-x!6n!s(5XyC-~rm+!*ExY*7q;ix8VTXk%>qKVrqWBUqay&c|8IO!t1HzBJp>*W)YW)Cg||f5x)SmyB~iuB_uY z>YT!O&o0#+!(c^OYxPn1;pp=G&9AL-pUO;i?gvHS$G5rzcSYW-)wnz2?UDG{-}SI8 zJ78{1C0;K@VyePd!vQ+S>5+{BJL7|1$m40UosYXu{YAJIXg=3IY&^sRj zTVBhYPXoZ#PY|{a*Iw*)8qx_;;@j^>PCVf?!uKo0iNtJZj=y>wj7KHkiY)$+XBNLK zSn_fSB+Q4V_zu2s%$;@pC2o1i^X-t)Q{79Z9Uy!PApH|x1H+n2+$I74e=$BlZ6(uJ zG$wrgz088}oJ-sm+3y!3eZT(YQUBfWu}j?E7#R zkR8vz8C8{$-vbqy$X|>)$;=NKoB6MxowD*jg%xi8O|Y&(el@)J@?U}*+4+r8g?_%% z7H>t#FKU2SrsO}{1g|{F|FAKf%%6lH&&~e{1Xty?eb4U#a8BD38Sm>V*??gz2#0S zgM-QF_YN5X^(j%*py^C+)y%87{ocZ86|ORCVSw z&6XWZZG*&g`&-ncAAF0N$(*6(dzXd5VHlA)+unkTEebvh-@eRknOXt| zGv{hKCBeod5+~|JY0v;|lzEa)G>v{4?g5ylLs407Q?~EP_Dkr^$$6Ql*#SnEU?*xN zbCFFtEBFiTk-1o_E(>O%jxx{G4pju*5xAMl?0JZjRP%s8h?lus>zNxYqSzHWaiZmh zkdt|~{WRpc*{H`%SO03A7w2!-y6q@te8vtCx!=O4%u^#g6+JL>S%mp7d6~Hh(j<#B z`zG#(nK=uV&bKma5^sYaKZkcB0wA+rq86!~;92taPwWPLVekg}Qsz;bxp6QEv5`4I zCz@F9o2=J?iJ1_WEX*97;18+*GWBT2(FGk!PvQHmO#coICR zWM1aTL?>7oSv5*CSUGb}KGVuPR@;#isUEGl8%CnW=tQpNcBLI-6F)|FOh}vsNs%2B zBRe8Vle8pb$7Ic%&=#gLkJB3Q`+-edh?7*1I;$IpiBeeI0|LEx6~1l$#CleDW@MDPO%^tQ z0pFmJ+~Qk7Yb7oqE+JNlY7SFQDHC?0V>s&?%r~c^3%KRX%1F$B4!7c3vL#L;ZL|A< zokZKFz|F^^Q@Dx0(DZH#(&r>*BLdu(t&pFW;9%^wVt!%bR`}z#W`40{A5B4Rw$s#n z^o0h!>4Tkz8f`Fiht(Fi1a;S70<+x_2-F7M72WsZbUf)axL)mrQ^B0D>{_?1DRCTy zByru=Aiqg%L|!szaEof_g)^^pTci#m!`+NIu7T1cwHJQ`4d#A`siZ+^jCJI`*$%j; z9^iqBRe(fx!YfcG1NdxD zuTcNsyuTR>6t75ATkasNtGvc)2#Asmyb`sOGA^e}rRo=4tl$WSEw8Df8Wq$aUc54$ zu!F2hB+B)Vb;W`jG^tmi_&>+-;0JFyQq8pP49o2UAG}uT43xQ_Lyk95-PiyMYRvZiTVT}7{P{HYJ?s@uz6?b0!HVfAaK9HTG2aGJx{J;Z@FrLM#s-3B6Ede zOT$yzwNi`7i|jf}t1L`m35KrWovnVNq_Nb$8sQC`M+Z~t6INNJcaHjtQYRq#ymNK+ zS-})^OYb~g5D#oD)V%YRjdpW_|6*SEE>I2|F*u&{)`iMPA}2Vz0}>Z$vb^9y&STzM zT~rusXM0_&nTms@^z#yx2d1*%1;){(sxcDHgWDLD>vT)C4!CIZF4K;+4LHPjm+M43 z)D2t2i?ivxcqjIQcwhbfrOsg`xvNuTxk3$NViDcBO7(!2+=2MYW52T8D|#UN8lCMn zV%*-S&O@EJ?J*E}wd!)>6EG`y8?qOY# zMmH;U5=i2~O;G1Os*Xh>Be;SQ_?ViCL?UwRakT^qEKi=I7f+}ZQtsQBcDz?2#S>WR zyCQrFTmK`~hYi`CG=D|;sWRZ09;@7m-GLhcqY<)myaM|;c;PSWh}=TGKJ_T zX83$7mDkwbijl~2ucir2>~>&CmU$)i27sVDBcRl7%UTOg#5n9VwHbc#z-xg-nVku$ z!hpXC;gxHaVzddAV)gbX1y1UvgX-{{o7~31eQdst_U9Dgd7bT*;ijA1Qq?=$fzs4& zws{Y`59DT-dA;mC0R9(jh~74ba(@{ zaqq#r>YZh`g9P`f6dU;N$f!{?>OPzI1@3C{+;4L&?;g!c-Dq=V?taaf-(+)b?GESA z`+&`*aCWixkR8BTz0ma@w$Fof{||cnhF?U(5~#04 zu&4u4d$2Enq0Vv#u&cdiKLDnZM#|f3FG4s(>h`78g$r+STP3xWkF||Cs`UME!!2%) zR3TgX3;S!bqiw&opQ~g4Ce2QNzKyI66r1UQ{WP3AQmR}1kZyGgZM%id_Pu>JBqTGv zpX_hzMEz_;y^fIZezm^=Hyl5bg}(3oZf_?;miL$44V505e%LVRK>S4vj!JnN$;pl}BRBxmkS+M~r&?Rlpi(OBK zMVutFHH{TC=0K6u3HUaM>yn({`mQl{Yum5dAl3%lC(RCrM%Rq_C4CVV1ju6>v&yKiDx!EsS*~_YG{WQ)6b78jlId zJ1tgMTZK(ek17o$W zaDN};Fr@?3AE+?*d23=EA$$%<-Z?S$et$cyJ2y6xnD1Zr&WmxA#By(?Md!zkf|Kqp z*4;(1j&L)#Kfdz*LM-MHVP2#2?j>~iD&694K4f{<#%7RuIjINpE42gEd2b+~%yPqJ zJ6*4v%`JrA-uj5WNq6AeW3^;|mYnDFt0|n!`;Kba2ziu?)d+`yyJP<$>BpqfIy9A5 z9Ib2qpuqc!V_Z?@+UUL!nUHgJcRgLLf%(mEs;nBFO?zjs!n7E zTiM-r#5$wI2^QnlF6F%zt3k>Qa@eJI>Vy|e=IHx+Y&c5%fN#h4cEu(lkz=`oS^00o zjwjQLjLi?Cu2<;ok3EfMj5^ZCGWI_)v3~#5TFQ=HbbbRlLm{@8-&YQ{WOss{%z&UnJ_^SC*j#IoZpU`a`y@^a$e)Y%kBn;IIM z^gNdv*Y_`AZ^CxYi$4XXGPqP2uR&Y;sS<{IQJl@`UxYHRah$d3Kh5B7qW$*IWsntX zeg4!Qz$I~3Cw3?pq)p?$BH8*c=&V7-i)qr?M<{t}_yg~8bsWguMk+)pGLd4y~<{li+K~`?H&WFcQZ`M7Z zT{bc>>iNwW(8J^XNk4(~f1-EjvBMbu07t)3ao!2JkE8E-Up443oA>m2dX3)v3zkm;~ag{C0Ht3{`#!)}#s0 zV4%oUZI$;y=#t_YzalEdCS3+1O&G_9wr9K>NI|fLoZK(cFJw zeVy!oM|OOOfb(DE)|8Xr29#U zc@{`NB1ujr_lo@eA49lt^<(WS+ugw3k7yGmhu%86q&zdil zI3NAN|AiIiCq@we%1TNmhG4zo|Hi$G9Ls(gS^n=oQ=sGjHKk7AVJ*19jY4lG`=hL)kqV zDBe5x!6H_zr=CF~8Fb)Sl&yHjfwc@@is}364vOvQ2dY29J2I+az1Z-CP1u6f2IXsm zaKIYIz*wMu2V+Td}erPNz>46P%EoKw$OX!&jQ4iq%>$57_CRS!lCRm#SI6Zz8KC}@MB&+ni& z$Ux8cdiovJhomp`yQrJ$=&KF=Rcz6&ssvrZNd~-8@VjYkS-~&il@H)ti#MNsPo3vQ z?bl1UKz4972Z!FeBsa)pyv zX;|Jj`$O>aIk*G`DJmJN<>o{hhiQ!sapTNhdW^c8a&!Dqs(s6JZ5%7*jy7@&F&+40 z6z5t*+gjQ?RviX&32d9F4%Tr`lH3y}N9;LsPO$vr)PAxB&#~dAC_YvZkJ*PZG)xZUk{>cxtHS4RvfRZN)KbM^^ezPv{a=% zY2^u;w?;*$h<`)2KK&}N+@E2#KS%Mmos+(Ql4=i0Q6S8d#-AM7Zn;|i3R2*TP;1>=K%QTf2 ze2ihiU#_^O%ZUPIg;pOx_;L#8Pt*7-)hY__=&w?R@Hl6(mcCkAoiYvf3!`_9;_g^Z zRGH_fWzblObs^`g^VItkmE&Kaj;AOs>B6+6aNWarVB{0l;5Do&{Vh@J1dp)to>$A!VtK(K zEYbXbDIWh}^l(=)`GU%VY$$nAeN?C9C8=bqRI*Jfd08s?k5RIX!MR;`&_=-v^dmY; z$dA;&s?`^Ew%pe(muXn)N8li)GgoyuZ6Q7bMsQ)kUY=dt(Mf0 zziY@3Go<%KRj3d9{P#4k8}KCCe_wIY;RUrW5+6kT2qE6BxbtcBUey{h(Yhb1C+mcN zWQ1RX1+Bkdwa}}AU_GqxKi1L_!&j606Lmqv{e}85EPNd2a0@s>f29K=3uj+kt9-3q zjED}XzG%RxNe>zoJkaqE8FzW0<9}!DU&}7`z2Y&5XSwSzYxzH@Ba~F=|E#vxN%}=f z%K9}eDt!KNw`huPm_HOBFv->jL;j!o)XCQeL;hd-*eMxkU5B-KA|;^p#d&z;w#-6_ zZ@*6=Iev~knVt1ood|dm*K}eyM$s(zWoWQg~S;+;XqO z5bl@TE`LA(<}|Z=grlFtK|ZbWg3qYCmEEI#R0WmP(2Wt;+WsSAsI=FzP;00%8b0Tg z++LqLIl)@Sbq9T9X5@7=^4x8RXup#^90JgVyVwcL{E?*Ulo53wMRheb@iQy6n@(f} z&vikfyH2>l_b|-wp#^xs-6ZR2^BKOJ;3%|_-^*@@L|*V27528d=U0ddWHWXfMK&C5Y;Y&XK{wcL4m}t~hT2aXg(=G)W;AM}hie9mtxeEx{A29v$dKcY zw126yaFn6kZJbO(w0Y<3uOWWG=1s3(PWlIJ-rxG4(x-=P-mUsGQxy8J&3jD$MH=y_&AUebM9vV8 z+q@yvo2~wnHt+TPF>Ubml+F7%pHJ8M&)B?2^RMR6`JBx=B|o4+&)dAa(VMXT3-(GH zSIL@v(LSAyJ;+$xYQL^~!wyuu{~w#nYrj3s+HP}w44wFT#pV*&A8X<3Rhx@g|67ji zJM2o@l24;wv$?kPlZa)1r_BY6-<47My3GZeA7tQbm(6vQzm}G~VXq(!#&?WHZ`xcl z`ny>0mVKDGn(M;<+FT0w^Xb{!_Upt)Nb`c@7sLd-hUKBlfPH@QNJa<-)Cbr1O40R@rU-0wCHDQ`N(dL8OXnZy8`?54D6pk znvd=0nV-q8PxSQXze1s(*@e8EOJ$$yf!$xkfcZiXq5cro_y6?x>;F#PFYTVJs3rv0AhsM`!3oe-Sa`&|Z1yxhap-58dRASwdn7N_nk6-zXV^=~` za+6;cTSH@C%tU6n##XSNtyZDkxi@%=f!bUr?z0?vb|wDwtt?Jzv)F%H#*Rf+a*^LR z#$VA0p5VsHV2yFkdkt%IXzW|m@T_1Xi-zgM3BeAE9%m_TAu>`MN0Nj%V-v6Ex> zVyJmIT0~5VaTW4-@DRt8sWA@GPX&7z1k++1exD0&DMVs=jAQ2u!QJ^t%!qOIxHZrd z-^>_i#O*;V2G?wT3iw)3&SC6$ZNlrpRGM(Ypct)xBbe_aHAf$Bei!uOKsi@C{!{Q@ zR^f>{@pG`EArdF)#4mv!JLbW=aL@~G*@Ru}>GQQJKVJGeV#r^hDRbhb8#xp#)S82M zsowZKRi_%pOE*!$X)%tQdGXTbtfoa;N{@KyBjM98xJ^=R>Fg4nS%W2#jntXCDf-7t zk7g?^(+7lu(vLZ!T%;MxGAxHJPeK!N`dQ+dbQ*_# zFEj8jj^%)?KN~)tl$g#SlxNtlc<2m!jG8I0kH0F59jj*MgrWJGhc1y%P&4<_Z1=j1o2X{CCWn4Q zmM}@poI>|QC9ILvo2+KiJ1!E|dg!OUDQe~;G-TJwKAxdw9;SAEQ-tLbtzGpD?)G}H)CTx-ott1W* zOFxcJick!mm^y>ry9MZu{NL%Y`=O^kME0`)30plC2!xU`6)K^QI({Pyt-z4gLifTn zkD_&gTd0j*f=poBCWchu1F4CJGQnpUT$2~LZ= zZ8&jk3!CFYdrVB+p=p>O<3oR8AnBo{7uFdzgg%9HA$tHS_Hf_Db_O4q-s47QsYmpn2EUB=rtv|75&^b82by>QtCd4 z##2k>l><_3jX$;GAE?%Qf~sAr))zl)i%&OeAW_2xh;0Bk-$HyeaBMYkt^Zg($IW$i(s-kva+z*vapY#X%{w9t&hINY^UT-!c3r!R;dxye)Xq` z*SE)K+csc+ls3FmZrgBadwhe)QRLygt-Ig>Sdo7WW6rxv`A_l-bi zs}vLfrQQU9bTCUPx(B7Iug$K~8c14X#WGjR?>J*oa~PxUeW6NsF0kmy+K_(v{{NAt zk;NAewj5tsJSmqP#Mn?(^@smz$5CTmgG`p>QA!%Ym(`GJqC*|yFCezb_wa4{Grw%o z6z)QQG2NT2Ylx#?cy(G(Joc#rbj_td2Pl8I?8t=%2`Ag#{C(OWIUPiY{vI7Ud&j|%T8t9cIEX@ z|E+ESyr1zmjIW9}3-xdpdXJuKZw11-h(d^7j~T zXMB_~otwCMo@e}rSUPoFxQl_6s2iQlIFE4)#y2n?%J>%XWs%-|)>!T8X}RHtD8leCVIHeaTfC}<6jv6 z6BKigj0}}0V?pX#kj1!!aT~@x7!MW)o9H>l!%VbXoEdgwIQ2s&+QaySC}^rT7IT8r z0!9w47M!{lh}li`9PII6Bu)!Q?qV@Z7*{ZUnehh3TNv+QOgFf@rJZGbiSad?@gE-x z=c;akEYYD<&x!PAqM?i@GQNZHeTQ$$vB4AhfdR4 zjC(R3%y=B*X^iDM)5&L9GMkZ}6;sRfaOyUudyw&I@eHENHCn4U$xX%$7?(2c$haTY z2DgRPslsTc=ZJc@-4-ZV!=g7cKE(Jm;|pRE(niv8e&bqEpK(*h-5C#JJf86!#t$2vysLOCZO&`Cw^zhB$NI0vi8#5W# zX55Hz5#wfz+c56TxEJFa84tBNqR?lI9guu0<7td%GoHt|g7I3$`x&2P{5NA?Hp+M1 zf$ko4xd!7#jGHpPk?|%o$ImLp+AeDryAYF_cMNs@zadoU`)@zyJ>%99Ki1qt~}LcFZw7~ zOzNVCBSTynL^m^@#rR&vOBuh#cnjlwjDKN#opBa?26i=(-jZtvBsXK+iE%&1qeNL( z@**bM$ap*BLyW&-EPwxTMu6F{s*N%jw_@C#@gSRRFB-=p?qpoS_!Y)c#-B6(jxlYf z<#t-AQ5EMf&TphwMYI%CyXnmfma+I}7_VXcKI8r3U^n={btcktt8%T)xD(@kj7KrP zkMUB*PceRt@rO3s?RbVoTx6V>S7lHpA^I&!K;hfz0gksm}m^+sf_0`evI)3##aJFxboy|4vTn*@iNA%8NbeWBjat14=_H-_=hTv zD3_}O_&K<$_5sEzjB7E@XWW8uXU6>)k6=7Wa*~`Il-Vree$l^=e)~uhhhVo$(;3%i z+=Ov^#)BA-V?3SlQjyzN&q>|FM0**Z5I6M2kGL^neqa5q$ib#n#++jO6XUClV@s>_ zlNr}!oX@x=E@fvCT3J=if{a^< z{{8jgk#$V8nelGM#~9PI-EJ@c#+Y9G=E_aR8H^h;F0R^GOoe6Hsgj>98n6Y z0!mZHEgAP_Jb*aHo`r4#CpkQh$!9VB`NTe3|9;YUc!|`p{ZDz40?D@0Y8hekYfQe5 z*h%~@9WG}& zor#^w^kDLv7>{#wWc_Eb1ha{qOz&a5g4n6$GmKwl9A*03h#jL(GQQ0C-*Q~6ca`*( zNZ@owkl0C_PK@(C`eZYCF7aGj-j2z85#z!JeQsv*nZ!69qR-=%auoOs1#q4~pVulQ z@Cqzqtkdc95tHvF#sZo?$C&(EVytQDbDhccR*>U_kv`RkorI7?WklcMahUuKXs7Oy9`CZ=WFIb`At$jAQa^hksYp) zBz_sMC%La3P?x5qcneEPOT@udH`Y~OkM@|LCuK!8^uxkZc9>V)iKTWxR~4lzfEv>M zX!e@|uqXcp%$InRz~LH5bqYrdPhtls;WY%8Nb&{JdaMCb5?7o+sxhBp4)8u60Ee)a zRlH~6Po7j<4^zB2H*2kU(r_lN;Ee-yO6kkj7HdB2zE6*hpu8Al8-v~WeFE2KJZc<0 zyy5Mifq%&;UGe@UYCNoG1%Ac#EpP5!B)KZOK@!dl<0jQQ>q)ZT0@nMCu&ub~VZ9)A z5X#VY?j(t?UI@I4IM$aZ_B^at4-T#i(WiI;g`&TLWtS#uWKK+v)t|@6(Zr(rCWX~< zQLsR-o=A5MYi(7kwtj?45eM&^6cW=H=yi;1sR+NSUPi`dHSyvCy?H8aa<8pbhiXtC ziq_FCtLG4{|0e!gpbx7<>kTDzH!U|qG#_c9?-Ehz&?2;(H{{JmODNvY#N0>pl=^oe z_tPr)3NUu&+eH4cqPv|^+z#DoR z`Y|DI8fp<*OBRN9;(uJogU;}WZiAiip?~1C*z_4|^g!rsG9a`SC$kBma`=fE`T()P zPzf3|G4w(f-CsN(lB7^N{4g2sgQ&4cPlM#M?9fN$>z{QnBQVT zGvFz)p^2-8&YG^dZKw9We6j?n)4;7||>iTiRe(2w(XyQ;K z41yY=DL5o$h5m-`XNQJhP}L0GkDBF#&Z6G6LiBWM?a(D;T_@Bz2lpt4?t=5w3td8+ z)eq5bXAMHM_G}oMj#g)w0Q5We8#PCP;>XB1a&v=g%{SVFW z?-wKaCA5NnvdtqfcKo;7Y{h|-Vo4{M?k|sB4RaIeO#=Rwu|FZbV$p+^{#LPXArQ2l zrlhT7X?Ubqzrj8IZDiUst1;^AZyS-J>Wcm+8pz)+wm-59ruaL?ehIM7qc{DXV#z5L zYcg5aSr+28v+5!fCoB3JlvmeS+N&*??C%j<7hYx?)zdaAkzOR=??1gor7)M^1xdi;zJu z>>m=lhK!;Y3HXOPEwwKWs|EkC*oBxWg4Pann16WeQdBb$8-mwGXhiJYNR*K79~FxS z0Th#-JNJ*4ZEk)~qhyS1Cv!Hn(^y%8Il%yrlTBc@A)WEE4vPL5s^p&#`yO&Myp&yv zw-L%${O`neMJPn~6)T~IK^iBgvS^&piK!lt(PwRtdd;qlX%rj84%)sWmANdap=O(Pv|}_wSPFg7N+%v7g6vLuKj3J^rJz zK@q@#5&kn8e>nv2niU$>6)l#(=L_Jo=a( zHsUes#LpFo?&-TK)<1^32j3J&AJYpvF58GTK^AI6kWR3vq===`vg;qUUNM-);EAub9RE`e8aQA_8$E{A1u&o zlYY>5BU(te_vrW0u4;N+lBf9Y!$C!N_UQMvqKxXVM>6k8G<~4?Ip}y3V057KIi&$O z8#NE~C$SzvM+KUy)G&sZ>K}{?ELV4+PS)t<%k*6JPm#AwZ{CY;*9oX{N;AAW>5!X_ zxjB&Oq3Y{V)G1JA&u&+;!OcCCqyAhBxP{I4!dnC7Hn$QRm+3XsN5%1FdUhlkDU3pC zCEc!SOq6&DPH8-48#a%|20cD!Y$F@JTTx$Qzr_AEfQMI*!dDo}#t$;_lbBwNixLM= zvg?GwSR<&`hDTdRNi$LX1FoZ3;*Q7loHS~3BSj@|GOwU&MygbW(~Gws*R$(w!N4?X z$Q6catw6sSSu&tm8v5JFR=knYU2cIP;v8eEMTvS zrOWkfvmQLsxLJJz$-Ig_UVOA%&x=UmZLY8b*)c_>$N7-UbafBqGM3t9hAdmL@^G{_ zX37XJI*(|cg- z7<1H9l+ztl{#^AR>f+&4QbgSY4mL98tKU(sz2H>FJu1EP2mv^!aj%T2(f@J{>cN@jofn>BQMssnR47s2?FKi=HVq z)=EPZtAMOpM*;EU3Oyq-mpcC~wF4AmEgJ5|26ZR`I9Tn$m+`iGGrsgK4Z*wYLRwP` z?YFrHraR-bS_jtZ4N2!8TfT!@!eg&02IC-RRFj+#G{Ratc&AB^3L7b!MdQM}8xyFJ zs?qo{zZEN1!iDMTiIJ%#Q!`i#QD>uuCP$X_Hx-$s(Uun})`Q~ANi4Z;W@< z)qXOJB$3Y`!;p3t)*qp3+-Xdjb7D>3|yaxD$5 zY1XAiYN`E?qSL*)MjLGk0{R-bs?pA_?z=U??QOnDwU{J1 zs2Wo=KYY+SmIdKdZABo0Y!rPm4S{LeugC}ceH$~i{-h*_`0W}Eac2s+L!&7m*2XS{&(gd#mxfMynfr5N2KD4UN_(3F*dK?Qi60UJ%I@dgC-&K^Pmfr6gL7{xROx zR)H0Lm>622H;?$p-?nHz%w>8j8j0I&Bi_mbe`@mts>EJx6p{!3H4bQxK-sSIL8s2L znulaHvAXyK1sI=c|vkZ8TPoYqS>#)&jN3Wj@yg z5@APn-3-GE1NlCl7dN z$rw5u_&trF7SxP@XCCQqqD&%&)KRSQG+CK40E_8nJtOED0zG{>oYYA5)FwX~L|szX zQ$ReD222Z2IT-t_8?8J|;7fK3wQ;PF?a z=cy;K)W*$rVnu(34pO&xcB4cz(Wqi z0?+c0*O^Cg_%d$yklUDacdT)TCkw4$4k4Z`d(+IK#M6%4$fV7pjCmd!oaRgTXUzA|z%w_Harbzd5)Y+g z#=RbSo~Q4ks@&&kh=TB7%amuZCQBAiJ)_r7+fS3ia(hJ;4+D&+WRL0oGV$dzdVRc+ z)c34j8_yKxKC5TpA;q50;%Baq822oGjHbJXjE_8*X^uHfW^A?7wxMJ1$5I}&jP0J| z2wO=c+~GNo2~4p}n$$n>Ttz^$CZo-aogTWl;I#@!ZI>sAuUIRd2JCJb@LAuJzkljU zM@*cBlPo1{?D5n?DBk*%4zGJ|TYdojd>H0J^&CDUB*ED3v1 zbsKvx!L#-IX&@DN3lXbR%Nd2(jr!W0|UqC=cP?jlj!F7Wcr61e~P^H*5rgYdS_7N3W{7zg+59DUZQ_*(Z3Jr zpS=t=8$o{_*^Nd2vvdqfhe=rNDX5oU_Qa{R7 zvkzb%#4h1y@@b)zeaOW5kD6TJ;R1Tz433BQhp$1dUfU?O%2FU53+UBWxHfPY{^Z&-j`!VRoPuuJ$y%`v{z zY}#ZHyM)igSi~;j^n4^X3I7t^flb2iMGIn+@U!S>Y!coDPJ>Ot*C9`A5);Zhim8XTO~|Iby0A(3^AKW_@Y85dY!Y4{b!mV-%F!0sBs>A`j7`FiVEkf}@c$tW zn}q+*MEhfx@K@l1*d_cm*oIxgXTo6Y621VQi(SI^!`-naEf(FJW;oH&i%~T~eU_SpCIx3E~!!lo>tq&Am33|(XQHtR+31}d1KRB29 zQiS>xyM&vsZm&%9nw>_4k>=|(@5CwI4>5_GZ#)N`*aUN3HPqbB|4m!>!9ql@r(HpC z@f+1J-`Wk1_l-r9m>Xz(1bnxkRP$|O122cB(%(6dg|_m}Z3^B@5wW$*Ef0xVujqNk zLntD}_iGWNwr7bqU(svyFNQ(h#u#SiZrZ*pw%FX8fIhMf*=HLv92T1UY37Xc(PU{J zpl$Jk^6I>KkTOm7Md2pqAzBZm_;7~vDlVeGfu1)%UrD*9nqS6qs8zq~~0vdrIVVPR%h<1$P4yPd8t zeAc`|jga6gj8NbY>H*VNf(3zjm41f_;<5{g{ya??#+m=Lugvh8%uw;Z+X(U38$%up znyNYvkSP65Q>BJH5}F=)WhKs%WqMUvsG@hNkF+srFQjP|w9Gh_Ht4WZ`+4ekC-qYD zVO?E_-b=6^pr#F|&r?@gwM63UdUE-%q@zQlnXb}d1*ZlF$Qv`%CQzdUSt{*4Y8RBv6V!AQ+=PZR zbJX!r3&xw+xqDM(f_ip>MB2IAtS?XUQ9>rB7qfx7!cLH@p0Cu;a|(#TbYwP`7ayQc zHz}F<>Q2&6F^kmuFcsJa6+8M5Q4f}=sYn)QTC}P)o5<4qRs)#(izW@nji&@QoyEYZTL70oK$)FsFc?$uLG!E9pJt{2a@x07!G zQ?z-5N(aCMMUR7RW*_x?B*xC&=8fv{%G3jR>S_b+3no}0QL#o(sdrmF z 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%0AIbjO+(BbTxRGCkAu(* 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

R{7|aR^aPZ4Hedft_42;T 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%0A>KK2agKhYn0xQAob+SN!Kj7XvkHDi!5?ef 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%0D4)?$bednWd;2!!;@6&?9+^r>j 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

BALy>@r;z|(LCcY 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%0D-Gq)04NH$8#$VO>*!6SwIM8UHJFCZH|OUXu0 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 delta 1048195 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%0Adjg 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
>}YREF3N@S>tO;7)8u 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�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�H@Wfp6uVrezRkr$FXJl1ZZDIkbK{rOBs$2{ncO&iV%n9G>36wtY3p5O>igWd zH1^B9H1;2I;{p=emwRoAIMW?D>d?`urO;-9eOm0qsLr;FncvuAz0`;hlTal9`Dyvoa6+|R{v zx+S)+_Hq&Zqd2}zPUUN46X%NK8#9pEU#89%$NBP!eXUIWRUH43qcuSG`a*I1d#ZV$ zO#NLP-^s;zkeAnjMoGLCl|ESJrI*B?W|xM@R7Oes5L*~3ONLA0&jdNHBfJM8X+epR z#_I*zw3>XlKL%S)<8-7oD{9(Bq-hwb^fF+6WtwZ(9heV6AD65&E@RY@%u6%UNTgm= zI+*l53`>(2bN@+^ar5~d?ryI0a`#o^ET)J1r>b`7p1G(8W>gVhq%=F90fC>IykqDl z&8v&%;B4e3&>f@JC@9D5%32onV=OIhhTpPI_zC)wyi-@BBNkM105iMeYc5*LCN5xJ zm;-nRjYVtnE~lF`udcZU3%*M9a~l|>H&BTRvVj`Ukl&5?F}?vKbJ5`D;QVh2c;gUs z;rgb?DdCF*=45u}J|-{V6yzpXB3XMf{_;a9-bA9-O0la>q98mGHf2ub?MJ*oZq%A1 zeyo$I;amnmOIxE@Uw|1Rt4_0OqG{bkcH=(i&wMmh#~kFDdsQ8CuxD-`{6E1nx35t= z9OY%jyH&+c#gw{iWbAG-7Tw$x-ISqi%;q%!fq~I#IUJr-Q3$=osto&V-ELB z!)uQf$dhdQsX|Y>g)Xa?$aibsp)wA*8TTS1Q`T6mGMwhZjHA`H-s$OLf4xMyn|(lK zUm>$|#NYK2wL8CtGlKcLe1QNWkHXhnG_(bDy&4v5zFvenW%#;=@;X(GQIv+_Ci>O# ziqZ8GWo{D{$Y;m$T2O)+)Se6j5i21?b`Q)T^E?+C&)fkxx8R*sv9CcQzi#`MxQ{Sy`~F%gRI1{jN;7)_4j2djiJSY$Lz4Z_=Fi|s)8ZG9HOF2%sx|KzK zmqn_H1q~B*{M1c#@lL};iGM0!NAXj`M8WkxK{6Ph*^E{P^WY)@qfcXpCZHd3Imk7d zcEz%0_ApcGc?H?#qOCCLW>P&p_3dZTZv7L5_#_E_5y)j>(bio+D~4V5+Cnkw#<3vgRoq%_P zA*T+rS0kGpTOs;3P81|l9czh>nV4a6C8GecM{%PSg>Svufv`70R17SB%|%6R@o!#? z+fC;39Bjm}*J_^4C1tu<1dLH_%Lf(a&2mdU52UuT|F_8g|A}-{K1SlUw;)#&4@(H>0`*}b1aqiD@6N>r11_v|a{Yf_YKyOzH<#Ml zFWWG$DuwYGTzG$NE7mnl)QB{~IoRCe0ToBe)mR*Fny7`p|6FXEXj1ETuD|=`j&&6F z#KkpHObUo@OVz$8`ZP;4X}KJtm2Lv|cyuS0PZ8>{pM3+b>UxM7C={LsZV)D(AbFiOlTjsd}?i z?lzS>8TA@*x%@2Q>f>fDCAGAe&5U9Ty^y1o z2SB9{Eq8@0Dx8i#co)+nggiGl9gl5_*`-P|)W5mt{q`wy>LM>0(y-3Bn(E@YMvQ2g z$aR%*xvPwR#jqu}J;)*3`>R~+3Qn&kHndDFI1^P)^Y*SJP)2s1w2(Ea$~#n%8LCMA zR=7-J_vS$!cCRU?T1p|MM^K#lddbbj$|Pr^(pQ6Tkj=`M>Y!}X53|w1$yNR3+1p(7 zWXDv0C(Hiw1@dN(6|m&B@|x@w68OZ?oZ@*77I75mvd6hP-Q;0q^P1-Jd^F9o5Gn86 zIms40BTe&gY4*;2G1>eyW~4b?ayR?6{a-zi-#Ss)Es6!qoGD9<3S!Fgy2ZTJ!|N9B z+-=Fyn&`uu7`{~niZMgnDzj9T zh8^81Ct4@+{YOx`m$=Y6Q6SG;GelvVL}_=msw=g+T5rjdRz|)$X{|+Hog=*0@^Rm^Uas9sBUZLRDYHeSVfDT$x~*@-3B=U>d=gz3i1$J&9 zqqt|P^e|QWR#lo)Dmei}T2kp9037n=75_hbX>JtHM=qC*;#B}#D~#6FID~(D0F77i zH5YZQoUG3_kjRE1DvgpMujt7@pa5gGIO%Z41)nIj+rx=$-Dl-1He99fXfdFjHWgpTbW(F zD?s6g3N;tKifZl|p^LnDYL2~`d;Yx4%N6Wuq>Iy0R4xOF|KjxE+wJ)PwXBQs(~6#* z5*u)t>D%M^hIBHA21zf^gM{`(FE3ZxC$~aPX46yP>Ykz6SAenEjBgOQgtXeISP$Km z*5WhT-v_ql$$U`U0v$F&9Dak>TOFI=$gjU=M^8;`1n~8b=&%Jm`3)RO>o~avZsg;e zes#xwjd=4Kea`r<<83(boAG^zr_cbuX}io0^&8?2JiejTW`|MrurbEhUh1s~VG{G( zp##=HenSJz4)bv2H(1lx@dX_DHCuNu(O-T;6U>f$%aUK~ii#$fs7)OFbeJ23^A>yq zZ*JXNmS|mTYiMXC% zZB33(R5ZdLgnzm7wp?G^=IvT-Jth*9({g}};lnSxrg!Il-LLFDe0WLQ7EN1k9kDd= zWwZQxklQSk17dX0@D*ahlclvNl)IA>oJ4k#DPS$W(6Ej#l5bE zTWYwwhWm@!2NRczS)(%3#d`dh?}_^lCW`a_tCjI#L{mJo#IA#h-28?bi8pXl*}cUt zsGa1Wvr?poHO%KKDf&tc(|%I)S2es_!-q8di-v1+m{pIjbnzgm-8;36r5fI&;ZHPt zQo}!L*aOo|HIONO{5a7hzl%m1sNpf9)gdVFQH``x!<)pELy6(t^D{0nY^>pghP!FF zzlJAhc!tRTBvFh%q__Vhk=uQjmh*vzk8AiB4d-xEuk==5!)?T3u*<(nBi*3kX<|Pb zO)k<%n>GBphWBasq=tXg@Hq|pd6rfZWofuj!+iXYGD$hYt+b3v4foRUAPtYv@N5k~ zui=k1%;%6Pf&S32M>_RUlICKCPZcT={?8JL{4pBoHVw~$TL75HCXK}RfKs);5Kl2X zjhDxYd4Y!Oi36V{a+6&&(o_xKrQt_4yi&tEG`v^Chc$d&!)cLAqVTUB5X;qkeJ!K4 zhC6Avw}uC4_y!H%uHgqYyja6qH2gYWdrm25ua@zthX1SKzck#R8y%(C2^zjv!;fir zyN2IOVKMqh;)?vMalS~gnyBHMM5ChdxfyqAr29l)kh;&&NJ7IaHGELRUugIT4WAdi zjwW*3H{`{Q>Ps69chYb#4Ug3Djqu!%C~h`SBdyl(iyGde;ZMcyM-%tf<{Lk$mY>q_ zS`BX%i;rOqIjoU>)bM$+AKA$`Zf&GEHPvu?4PT+*NgC#x;iB+cdmi!{54C z{Ofqa-~M+kBZRGOifOKf8M-M&uh4KW@yzkWW3?UZs#Do94L8wnxfu94R)#w@(i0k9 zCZ7KsOZjeb;B)BBi|tp6VOYb3BI86N7Y>8+PhbhYNz3`ShM&~%at&|Puyhfo%;$hc z|60R%W2;Jv3=Ow(vAYmdY8kyWJW#_oYxqG8bC;LuCjWDg!q02?6%D_m;RA7PA^2R& zFnR5#dd3GfDV(q2+8S=A;r1HtuHkDmJTisZ|4FF?@JtQguVF?(NeQu7!)rABl7@F_ z_=JYfXxN8~iDZgt9VAk?g@!w7_zDeQtKsW4{4WjPui+&c-h2u7Fm_x@7<)AQiH859 zVLk#%3Hqmoy<*3(5xL@rVI$JbCZhI9oCAmQ!bpwcO&U&$k;tz7oJM*Ef>2=_)N?AO2hxv@Lw8E zE4d_SwuWnHxPgY-YPhS0uPPC}ze#LKR>M7lRL4s+++4#I8t$#(AsQa9;Tal!K*KVy zw^|ssx^(RD@SzXzln_V6+;0=P8T9?1B4vn|zQwxIRU_S?;c4QRZxad8_H-iM{7|$z zjZ<}2olCV#HQYixayl`g_8N`!l7{)Rd#cgHqVP=OFXxZCmq^}vqV&7Oc(LfaM0&F) z>RrlMuHk(eKB?iK#QyIRiP|#$tI~mt`KoZ=`j^-Z6OF!4TwQywM*2d-e3dLEr6K0_ z8H z^2xax%uu6CjPf*Gs^OLz?xf*98Xl%$x+hBscdLeH0atA&=4lzLG`vN_J2m`)hL3Cb zI}QJ-VXN^aA)=RX(x`PQVKmin2Mzbs@K+k{oE2itTGMkBUe~_P-fU_0esg>DFtQ!7M(PjUSXc;H83a2&t?;1X@m5DUH z#59*!8FEdHUaHYsYPeHV+*e3ReFZa=)FX-0+}@1W@Kg=Y)XFc=@CprY)5`DC@ZKtn z{(q)b_)^1vR24!f0SyP5T@o%%tb{JnaG6%7vxa+WcmQ#Js>e(ye2Xk3hV>XwJ^7SI zU!vg`Wf@mPJ2d>Rh7W4xk7@W9t;~51dz)YCSSE2m-S)|I6SB3&TA?-?uF!B#t^5#T zWfNnFLuy!ovlX7Ml}QpSBfYOVh9^~du2yJ?hF{VuyshC+h*bk8G<=p=+1B40wpv`G z=M%For$;#xon5Irr81BlMyz@^me_X7Oa#tW_!h0q-NdSA|JLYpiPPP>PXY6l3VxOW zS1r$LSx8mhNUR!uMWes2(cjnbf3z~cX>_wC_+VqlPY$u-AHPIT8cno}mc&ZB4jS$R zOsS89QGc!c5UtE;4c|trhTuL8KceB~vb>c5g{Ck>NIc8*sM54`_wv5-Zis)9A}J`m-AS4UK+4qaP#2^)WwR z5~D5I|5He?;larGlNqY9e^en>NNep@ATA_U>g9`dDcnTEZHZN5U5Qo4#u6(H-PoGT zv&y(fE3{I>`-zph4iRTk1iVxWjK6ru&kv+4p?}fJ8*MJtwTV@ka1|Z>k82r4RT+3d zNQ|2!{4^m}jkVQqZ(^m1Yc)JV!{dk*pMMc6J~N1uD)FdRL1=iHhMy%?<@aj%V-26t z%Kxh2zcg&Ny~HOO(h{wSm8#nlXSuzv1kP5tr&i`#Vx`g{TKUl$zKu9F6*c^bi{1J6 zgjQi0aUZwg=ZKX+8;Bz=eG725!aKAwyNQ)R`!)J8VpaY(4g1=m{Zs>XJK$`$flT0R zg=>?pn6}VxTVf?#XN}%XqhGDjuh;O{R2lYvs+KW>ST%gNh6S-w<1!7e(eO)J`PVgk zK*L8h{1tFA)z~>^s0KV`m$0qjEaH?_G~9$(X`(f8)YW1caJIr-wK7A9U5zGl6L7Y|uWDu9C04`tzDEC4(p~#Aj%gXcY8A}HrOFnu>SdHz zHCCwM7Q{-6U|vzH`VZETKOwAJV3+4%8fczjK(rUsdp-IHFsQZ0nV-_e) z!z(nrPQxz|D^0uxoTM8des)$s6AB*!PWAo>v7-M+!@q0z9}Q3F-^lWG@KNlo8`I5hcwco8lI=&g&JO=;b%3xLBm@# zyj8=mYWOV|yTkRKmhqv6Ki2S34WH2PHyZvKZ&{9jLvM@mEz5f&n$0UnBGgH+6%O;oKprZ@8Xn#j z=Xh8oy0=D+3%kX_)~FE`XOJ{s6Ybi7`okXaP@8gu8`>+5;)uu^_1Yr0kC=&r=g)m& zZ(C4r7y0c#T`$J9D}N7so0XMc=|8<6FY${hS4_lL3pDC zSsWDKF&P%^%E2Nk9^|1w9O0p@sMj8cu$ak1PqBxGh9bWM4x7X{9;S&`c<3jB9l`C( zlVVUuaO)@5Ac@!|=XeNS%JO3Wz#)e5xH#}& zC|fM6ED!s?ACAzL;^eQ0owFNh==Mluc^$N6b}C1#nO35Hr}9#>MD%5HUmI~NlK!(3 z@DETo@W)}%DC{}gPV6Op^$h$;N&Mcayx6nnInnzj8~;4(45mI&*}1%qzkD_RfF`Cq zjW|`o7kXy;Pa%lsDRFl{sBJZh`41ugXHm1HR<`&E>5ScoQ}S~V|1`lg8Y^l}wF`V( z@aI}l(^IV&J#E$nJm>7hKY>No&yas|m-7D;g9L%#YPKkC;CXTA)(^UrSIg@@3JV7B zHsjZPzdGKY{SJ2sZw444iSCcb=O1_DGy|bQ_^=HjNfuy-?kfbY3Q4kFG#Xl-mplQQ zuMb$L03;v5fK>pJqlBpdBsGh{Cy-_p;o$QZzjnjay6RtK? z{E-K6pTL{b6EgW$c>rsUCR_>ey$vT5R_l)rQW z`r>;4+Og`40L*&Si$6nIjT+z(nU8C3t1+Pw*(){;$BOs{l%)cEMCO741AL&Vh{pkT z<9kFdl3UA*sFfGNa|(E!K8xRi$O3GEF9rPAg4Tk*=h*yQsM=~nLN)?^{EJO5!%(V# z9}yc0Pys(;5xxjj74c&*`es#hLIq!QF=9k{wItt~Fv3@WZiWZqirXW-7kk59A)hb& zIVA9h|HE#DdqM8B@EH6C!W*HfVE7-f4uzY6n;o77eWiy-L8OduBk**>|HkNMhJOVm z9Ojebtngp3m`L~~iXEPboeSf1(2JCc)A6=2N0v8kx&}6&;&enlMaxxjI{Kl}z?9Z7 zAm5kJq>9rqPYfSfo>O?P2$b0ik(sd;KMvLl!{J{y5CA4F=8i1SGlz?{Bg zx#v}siZbRzh95UOg*ZC0ysT~ry-3B6uzR5MsrV80%g|{meuRC6D8H_}wEf;f(A@A4 zA%=&bcVGK71|k(6!tPZI2^Ai~9u9@1!b8|w#nS7_^E<7>(7Ul9j0}4;_A{wa5cV>R zF+xF*XV`umc9;qUVXvhqBR&0~$9($Iycfo5}_Vi zf)7GHj0V3DLp?~RK8?vL=?SAYybQ5RRgoU9g8Yc|K(8{EzXW)>#}A{($ia^zf8_AN zNjEt%(gUMf*q75JRHO%+4@(&7Aqn=TtL>^#4(u2!MMS5^K)sdVK>ERc4zMl6aIWf}15XA{T zm|H1U-DwFb)PtRi8Rv$2Fc9gXE9N&MJv2Zi$WiWnwn~onx*RIfgT1E+#Z{ySSM61i z9(L2nE4^dEAj(J&$v=T|q!PPGRyp*ofKU%qZq5^&NSDcO=lnulTrLIAS3GrGo0nE{l`)@ z&$(Qyf7see@_)|(6$FA#x>7+P66}l$0`V;E%?$z(Vi1UFuuJ^6TP5^44kN`1ROi>7STaq6WY5L3}a5>X)PAuq%r5U&Hcd{qz#m+!qg-}`jF z_q%)zYZ1rf0smd(#2^sek#;$$AQ0}-rGh}%MV!X7{a6v;L)IR~ZmS>=HeYg21%a@~ zv5$|*M*7+dSZt0=TxGwF8I2$i?C{n0$JEc`G68=rbW@8U5PK;LgFrk`C5s9I;mYC$ zfk;}eFbgP*0UvuWP+trE*Pv2}K_KXA+wF-80^!zHK_J}9%iPNLU>Mh>AQ1d(If6hu z4hGhbRJ7XN9A!5|P_SwSv^FZ<iIMymIH+54UTzO2n45YnBG zv@{h2!mX`>K)AhsPxW3(w_8ewAP^685!vJC|5woCef|qoa;P8>_GjpIASt6ju*c&$ zDL?cdM!6`1Ks2PSScll|!Dh zlPAm1q^ff|Q@Mww7IWsX%n_-WoOMYkIB-<g0ffvaE;1w5muU=X`_qHu#jAOKb!YaXh&^R}+V>0!9* zfeHrUt_St4<|yT{d!*sCmx=~qFXJNH&?-fi&;FK+NF$j*Fo?B0Q8l(YAS=XR5MQ#9 z-kilM7=*o)I#R(P>_x2H$_)l#-%*N0RWOL>ITCHG7373q5J^Ox!?sV424PolF;l@H zY>O74fe;n8i&QWO`y1#Y6%4}VgkTWp zKQ@upPV(wzbw;HSgF(DrC6o#Vk*)`WaGO@aAY4{e!5~Icjy~31pqpf|1w| z3?hm;(E zvHGGAHdAA*_WH*y3D!#BD1$-NfT6ha`bO9)^zTk! zHyT9FI?l&w(!O$j$3#Ieh+ENYt_lXRA6yJ8lZ9qjN67wT?nv&i+JLK^n|%NrIc?u%#m1PO+X@SU&VE2sWkZ=;LMw-hSlohe7Bcu8%Qkg1&iBchJ`W(gl5Q;8(f;L@3UFybOv=u#dNT1(1uh@2fH!*q+&YQ`12{YorkTb!2m%W20;u2 zb)b`F8BYX39YQ#ZWR&2?T}&TCmU9-0k_yGeJ@yAGs6!r1PX%?D54#9n!!_6U34SG$*TCkrLQzw^Km=W>fWLyzVML$yk5$rnX#if7<|7ETF z%|75KJ-0--QF$6I;!;U^yjPCQ+pw+f-ulR{Rs?J60HEy*vm1uS-U3qOG*6SRAM?n; zB4GG29|-v)*I+zD6Idn?sg8;He;k?106c6Jj?6Q-p`S$l*>Gh31x}`svn08W%p*rI zxXO`vq@~z0r96?`hy_6TE6;QNm6xGAkv!L5c~{`VFgMqa}xgdXF7RgX*{cKww{_$E(iZX1|wQRDzcdE!hbFsg_=0)r1d zNpUM9UvTYq{gp?aE(Uh}l}9*gp#|*heUZtWJPVtEvMG`yHr#~!BU?~exhIeOLUy`) z^8a#IK^4I}Ieq+vmOTzWzEk)Kt@2}ZGIH?ao_<%LnBnWo?mSz>tftJOlOLIHWWzi8 zN{}Kp2VyO?Vno*DVP+`z&hc!C1 zg<9eCJP%QWK8oWjB%c@9d^X&W|Au2^D?7gJESfYTZ}E)q3b7|LlRR8EEUt+_)2W(Pq z$ZhErU%4T-&#=);ZpgWrwYE~zL9>1?-kT564LScmXY*!M$_=?ahSf4mP72dLE*4KK zubE`j2WuRgbv=*gOV8sBH)G$+K~|o}ZQgK#=W&j$&o1SV*D+b@xE-j8L|wBC3G|Nb z)ibHzQ?ZYjXlQbx`pnoKj$q33cq~o>tMWV^YeEZXVpf1j*o>{^(4{<&$3{?REzEzw zEys-U|4i^a&f8~sX6!#4mewXin3R~Yx7c7ib0ZFQ&DhIeR^@p-MyF|2p2uUy$)%(D zb`llGn6W98CgpiN_J|LuO7lkKjWuH(i;(JM29cU(#{Qt7DbM4vN0{m&^KLg|>p1+E zo0p;8JIq+G+DP>dv8N(6=^;rh>lepr&!W`lG6xI=Cug zSR;5I{|IE?abUaAB;-n8NAzALi&YqLdLCbo@rdxuq&$yD=3^OBp2s7+wWU0dM{*#A z@;n}C2Nl>+*YkLU_luP0@q&@!gPY6qTV2GsrreAdFfgz^knK2TK|W@oJ&3DPsaeni zdQJHpFIXT7Zb8)_F)H?O+F50^V=2Cvz{}$SinJjK2kU z{BIL;Zz->yd=o9n9#;7d{~F7`J(E3;&oJ%#njsl!f}yeRCp04O!)ELU+5jU^G4yHA zqD6)y>Fnl1G{|VAjIusVddmo1W7v<7-ZtXL@@PLw`hduHnA~=94l{;C#)4$eWybB1 zne5aPq~8_UO-4_WzASQ#cpmAiB4yZ#+Jf}ABkS1jg{1F}?4f#}CjE5eAbY)pcg22) zTn)+XrKF#Y)Wxs8g601#NPf?ZmCVR93wR4Mg;nT!$Cy8GfkAdpDz@l&MMbMt+9m%5`{zm#!{1=*M+cxxHe84AVc9~; z@cBh_Qq^-^hewJz5MS-E{Ae$-Kx~>>o>%%B^?T+%RP#Mdw$f2}oQ}fjt6#=uw$GM{ zpJtX9cHk*jc?6H#LEX3>!DW1Dr~&htN_>dyklW zYk7V$7pp4#epB7$b|;7nzu#Q;D(q*N?>BS0*|RvnVVTp@o<-)~zw z3y#Xwv7gNs-{AI}otS3xJe+d-ZSzFzy8TWXx7t0K$}`ua-0iWaIrZ|*DNxV_CzeZF zh?%@+o0b{-0xLz8-|yHt6shw29s7zMtuB{-Co|T75~kdK$F|Z`Qf|LvJhfN3{Z7U{ zMVG4le#idJ$<$D?!AqgA5a=q6Bl;SolNJKM-_yvwsrd!SR&7dHY4X}UM8DscQI5A^ zl_|I1_Lb7OrDtfL-JfIqtV{&bCr_Ouemd1UB*M3s$C3*;v>POYEV~8OwNWONzi)bX zmIA=vcXgOE{C&&F6ZH383u7R!Ia2<v!)x!yCcLuW$t0KT2pBfak`58!qYPKNLR&W(^|pHEWSeKM6MFGf=?z-?~VQZB%4 z2K!980JpE@5GWVm_8nd%j!40($?Hlu0_V+$Tsw=RoRGSMBk*x-_Di!dK7dl5!0qa^UF8Yf-bD>4PvG`%6d^31hm_le)LNEj zy_kJxc@1-~Sbt}EJ|11adne96?~5OiO7iw5oOg4TTqf^=!g)7W$>sKVEPpBI-F7Pu za+&m0w$gr-Z7Ap6c85|Vl=E)+><7-f`RwO8`y|!ZN!D3ye?wDMzPs(KINCit?-t<_ zZEd=8-c1u&A7h+aIPd1Rw4oWhh0`$QygT+im8d!I=2Spv6U<2Iy!&$~S1sNa1Kh)R z_d)Os(RX(x<>&24`0lUIb6Q4YH8kzCT1gKm2X&nio#@56?$N+g!b zL}Od7O3OXHz^$phi?eA3MNArS+D)#x+QOkOXdjr>LcfNGmJ+Tf}5aqL*I>Yh;724-AJmP{mW?q%I z?ig?2Re9@XTQ|2g+j3)9QM8n|?$~%%OnK{$)u*0P-nwJ& z@MMa3Q^5Gq8Pq}+}Ux#Mu=Ea84f_i&DU@8{7hb6D{a`il29OKnI ze0ZNg-VepGTQKNVKD=YgDNM?TcWf_bbjpQy>|HL?$&?T87@sOu`S6al;TR5(y0}mr z`;N*VC{uqI$NEuEgS@<|GD>3nOL~`tn#9XCRs}2-KD_IprRrtSpV zof@_<2~5ZK%eC!IK-2bm5UYc9j55X5wS6&QiB5s%}=NtPxfr#)^}rk@6M8KwS+`H67q)_1U88RvDDj1C?hq z$x>xER_6rPfK~4<)$vALsF{awG5^Dr!aT1WdtBoV)V~4(j=hFXZ>p8IMd4NGNJU=& z%^3|q4;anH)2o@<$1j35SMO_#y#%s=X6gjZDU`JM7b6M!7nE0ca8ASET zb-FN2ccBq%a=I`~ci}qFj?Kfh&Af`%dTJReI<(Pd_Uv&6Qg-s17hLXiH%$&r>HhK2 za;JZ7IjmT|jQcPf+UXqR7nula<5jk^o9n_w+Kw+k8|^8%>x|?~Em?$_?MTkllI=k| z=|Jg#Gj7X5n{`ZebWwFST~|>-m(|rwgvQYSPiTy2>Npy)5zo}R_Cqs+Ynxkg?UL&D z_+#YrOR8(NVxP2Q8yQXL!VWs;{CZR0s6@S0_?WBrG=n?!tXhx1sfL$U*Y3e5&|7(I zls;*)80o#4`}--~ncvZwwhUUVVaA0hb$ql<_q-abgHbgPUmMl*rPcMu=y^vU5%9rq zV>`fBRKwcno&B_FR4oJ3(CZi$oHDS@RtRpcAqOF*I}kTI490%ReCLeqy-;kfo~nLa zT3xHb5a@O6{aD)jiMIDvm{ipT;u}?~W!3dsoUv#p3^6(^s{=(pozXj2>#f%!?USG2 zlbe@S*KY9RnKlfM@QJDO0iTT{#j3%&jeTe%r8~=**^f3dq3ld&F9h>{JKF|nUH^rw z>AXLP<(%y1>W5IT6W>s0R(Oaju>Keap|Aq0owKx5190@0=q8Y@9_=8C)k{OBgw$2b ztK+F-l)naIzYweh(93q%$K$|eUtuiG0ayZX)QOL|`nxl2o>$Xm6bpR?7F?r%paTG( zG%-3hkD$s-=PzHN+v9^o-7Vp|FGISd%v2e-R0l&klrHh?QN_3551AVkd{m|;-BO*` zY%8QI!l+1(SL6U_*I_?v(3A}*#`wyq&DEo~R2O$*eAHCRPFE^-EB)wJYGG7i zH8GmQR_cJd4i_nNMRiWzBq(U{bQCsj*QtZ~Qtrek)p$j9d0dA_SJY!i^sZx*8ndE0 zFR)ElQdh00u5g4fqYQ077x+zT%Zlov^M1ij$C*rrJlscJ5XAhLJ;yLV)n`Y%)zeZp z{F!dJE&QaHA78sO%g<40n}N?4P}}O)daC5s>X!Yuub&167t^^qnr_{ka`w&TIat=X z(_SLWkqO$}byuNSFBM$@7%aP6JB!H22MaUQOSe{Mn$>FGt<`x|eEiv&Mp17V26@p2 z=Y58k#|radYg=67)9;FCpt5hPE-`zkX1C!yc%wS!w(9!Mf|L%)jcuG(4&GLsUsBNx z9nzj11)!~206=Sgt&uCfU_vD>7Q=Q3zL(oN{n&ha zb=+b}RYI4j@Dc{lf#cX#M)_D2(0_a~xyIvg>{JvSLwKKd3ua>`Tn(Of%nATHrgeMAF?H{R3+P3v zxD&r^G5BbMY_Bh7Mp~g zFE{ElDf7IRZ*s|6sl9eSywtuI1V5evJ?)SQe3h132!7Q#@Y7boekXsn4neMDIy$<# zA_iKa@enKT2Ohmxc!tL)#8PrS3slKn)pg9qs>@xt-oqp2R>#?`Esk-6^^kSym>#n7 zhN#mE%gYGK?8S3a=)fIYo(|I{0;D4%iJ5zB7Slov?Lqfy!kkm4oGzKo61V5Rdq1gBiA9M9x zosdr*^ZheU_g7F@Pagt*_6th?0a>Y!fWP<#WNj?{y0;rpXR3SP1ZY67@io3GnYF+? zu>)jp$X04U{X&v|607JApvQp0$x;3<>bPcCaUVQLui8w_ZnS+FG!AVIk2bcJg^Hk@R)qb^NWp%icMr%*hGn%l|&Bo-x z*lW>i+|$6vT)iF3Sc@ywD=VvOb!)~Q#r68ol5dx4shx6zKJ@%4?FK%(>dw;=D9}UJ z8h}GKsM;~H)vD@>4qedC=@4dL^$f*2XOs_wC{J>3{68fOW2VAdt8Q6Uotyd@d$j+l z>I^NL*Bz>3G@PE&|t1+X8fc+OMTbNz}5R&J`7sH!xRnZVvb1{8eRy1 zhT#8-9jR)SZX&{AA>HZ-b*7e*As9^C>-k{9}7CtvEl{DQ}Oed|al%7w*NIJ@$af z4>HX6@RvdsA3Mw2Bd-{L;lRg^dwX=nvdfR1>+SIqE(!1xxzOyve2n}=W|%#;=irDG zpU4Qa$G>r8`@tu&((ExAgU(N6y4hn1j=}he%nX`68o&h&ROLO@wX^Dg$4}tgvyQ|t zOxw=Cr+RxMb?sA)%eGa&UOm>Unty(FZMCC+i!7#*Z=~+OseOD~?pxJoH}kaWpg#Yz zI>*zhof_x6ET^DV+vY~o*)u1On=`KIm@$**&Y0ljkXP^YE6DM-?9g0|{k&xk9=$5> zoXqjGY=;MnF2iqIO?z9mK}P!7S+A=B@6;cy7SAc{qME*v9oaVj@9K7;RC8pePit)1 zu9c+Pw~$l^DM^cJ>a}XuUQ!)82&!dUsijr(cEfzWbjav%bS>V2S1}>3bI7zUs z6!=Cpu4AHS#)pFSo$7nrhJb9QLta&zXT3oTBVi71m-QWG{2R= zT~x#BM6<%Vg0)y+r7o#XR204>SUR!4Yxd`AQ*~m@IlZkK7KIEf(GD_CC$ zd{W@k0>`))b?qt@xRJnZ1@0zrKY@okm`68Q*F?c=f%O$lx3MLHuLRy9@L{$0`reou zca4auX+4`q3wet*ZEY`shp4Wd6P*f`U~LrmS#@XUL`9K)VSwAb7t3l|Q&y&Ww{xOS zVSB;rEAViY(It`JVy{EOAN&CTTttR=YvkPk494zp7foBPPwZKaSzFXjj1>P#~PJ!Qb@MPVm&qTrZ z0-q8%Qdnas|1X<%RDFTZ7kGleH>$NA0{Myi1nV(@w+Z~J!21L~sJ8S>yp(#isHWxr z3jC$OCk6gn;2=&L(pK{nB8_Vc%zrYa`RxQg%fZh4=r0OJ2s}mLO9f5|yhLCn@B;!r zA@BW6cfw2|Wk*6$zas7KVeQt+1vyh`8)1>Pd?4uRhi_yY$!G4qWm z_*GzL4@?`EA#kC<^#pDqa6;hTYD@3L?s}D&b!l~N1@12Jd1~#jS@}blARsL|U*N?8 zuM~KP!1`4IuImm9{&y;)59V(SXM}0hwN;BgIA-PFp3gtM8|sFc#+EOc|UyIfqM%)S>QPWUn}qmf!7GUQQ+s&nEmG?*J&d@6!?h1KMAap-n+fA>(|sR7PyhX z?FBwt;K9JDbi?CC0rO;}`Bw|PRN%V>epukG0`C;~U4cKV!71bW8p1dwaHK(v5d{M4 zME!2>TMK?Sfd>dYTHs#=HY=&$i9aJq!jG}QW&x)Yisxw|htEG6q`lHf$PX5HqL7(E z9B}H+22SS(Um#>|Op$2o2rU%_>xtVt{4GLeE3vC|pTHjzyIwg$9CYd)1CG1+XCZT% z813r*XEdy-P+#EY#IDk|#34s%N8ohQ@g72^Ke5}H!Gb?p@TUtryCK?7E1fSYEF#AB z18$3f)5)Xn6_wWs`4)C=Y4?>ox$k;NfKeF!XE;gjcWK2VpnN>V%IBG z#5jHD#&{L;*_gsG6`4Fl>%QU@KS;A6!<=3SI-7woU(I!6gZv4 z_(k$vBVHBqskcSJd!pd5;D0IjCy1Ln4g4hdX5*TMBLbHZyWVXma7za}^RE*LS7|R| zw+AByo+R*9#IDlo1zslb?LvOFz>f==ZH>`>TG7j*U>C7#&{1O7y~l}h0fE~O!0D{V zzAErt_lAjG`5eJ76#U9GX8&6WA^r9Ww{kb~alX#2C$Zb`0D&hHyPlXS@H~O9A$IjF zCwBF$15Txh$3(#nVpr+w0`C*}BVt$SFT}3Ve-q;Z0=IvG)5(hCO~7|OR6y*=GaHA#6wy}zkb7YbqV<{u0!nB zt=|mmKP%JQ`t=)b13g8BKBB?^V9F1K{6ryhk&wBW_+px77%K#SmB8!HVDx|68Nx6Q z5xYj{H)7y&4!7grr_(2MT}byPKd? za8`>N`TE4J(JhGcw9Q5v;JAysI5Il^4E?GMw_u2;Zl{2c08%_FYT!$Q&50{=klD*a6;%7jPK4O9x; zRp8zNPZ0QW7wi5n76rEp{0OmY+>-)7FYqfu{w;wI3Ynt@wLD| z2>d6p+gJd`ryI)@xQ@VGiSgmqlNi_a^g+P6AmSvjjb?%C-U-C`aGNgpvju;?;9n#7 zONemZo~S89-z5x6@2|d4_DDn@?HFqz{dnW4$Q`0 zhMv>pyZXIo-L0E4qBVq3huC#{V}V->oFI04)|=QhVvxWi1)f3d>bzXwg&I5YXWUG} zRl1QF)^gJ??!c8pZri|*yZApsW-qbZv%`Y_jo^PT_@B(Q!nhpS(|fy2dvDbvxItXmuF5E|=OaJWJj3ch|Fhs&QM`11r#34EQvi`AB? z_!G#Tg0)KEwE{mV@Fsz`2>h(TI|P1B;9Ua0<6tM?J`e?m1pZv$Zv;Le@UH^@DX^KW z8AQLp83Jb~(SCZQ3q?VR!1V-fC~ymb+X$QxxU0bD2;4V~aq-z0oF;&W2|P;RaoZlb zC^4bE=hRMRKal8WmZ?z>B>E#~{U-iQRj2v0Q1xA(={OfZnTD^-t;_^DKP@@Kv}x-oG%tR1xp)L6BNKOuFRKliJ?kE6jo@2NG9qrp4W36SRX zD)9ukr#@86p8)p-bqJ(ss3x27vsx{{kLSn%_4Z~Ij#MREK)(O6nz04sEVYB=u}_r! zB*@Kb)RU-Ftv2yztUAq~k*e=g__;&f%bx-21b_N$OFW&}W}=l}pGh=E*UPsiD*R)= z#~+E+Ie;*A`qo4P|NP-Nzfg z>I6%UJcFktaC2h?N`|XTSn{+=Jez0~XwkAwTl^RI$Kt|#f7>=KTeenfw-2r~f86%u zvx$E)Qao$(p%T8$V?~A${SefB0A-r#e0hAqDWE-`V1sNtWaH%U_jM;Ly9Y!(W}qVq ze0)6B6FXmXLSF}2!@mzwzHH(=9{l^5J;uXVRvNx!A)ev#6miez3HjHT@+bIDE&TZW z7sdG#^g*rP2k=)8{Tjn^y$HT44-hJJ&)2X8jWs=m_z8YnqP}}GQ8n=Se3W!BXM-0y2~qyRK70=V9?ABX zpsdD2Ijn&j$iL>yAhK;*0<`<~_yAq>Yyi^+svzV3F z%wk$GPu3Ca3cXpcpy$4dX`b3R+E0K53R2v>>%8d3#Y^nv^jMx|Z z7mPr2rXC2zzK7QWEo#BCXpD)H0xgNNV)s+Nl^-}KHbK4k7Iq-aClP4NPL{&4+tE_K$ZP2eAUhs|~V3+#~L`ku zb^8`0C`0GGO4trHL*v%c(33o3+ybPX+r{uPNoD9-U84;KDs;meD9m6E0-Iun?^rRo zOAnEIf?SH)W6>eQcSiw=Zkr5)k*2nprx*cjU4>8xHTP_#fHf6Gp%$9(8o>b>pju{m z{(u^tWWP5mU8ET03Y|QWG9)09)zosSk}_>j~9kPojRRDFO*e z_9?BC>@V`8wF6~fp6{VokSPYEj3oQ*QOn~Pb%C}cWHAqPXt=IxS=F>~geIa^4rU1Q z?o(@q#ea?=?|v2(*wz6I4f5`@nJnvxT9g~3Eh@0O)4Xw>;ZRg)J*T{TVcxljL?qs) zq7oy-(Z35dwaZN-_#EaW67Ro`-s{Bsf6@2_w0DMwa!6=FiCMaVGOID2F-Lc+j`cH& zk$C?uxUjA@lqO!Lo0(+st|}7mvrQ!44>qOXm7aCbrxWit3PA6p2yrCdUxM0(^*j5t zP*;FaAHql^-VZ=5*ctN#iTAq!XPk#GTYu>>5BO-IPP~6JHHI-aka(Z1A_*5bNW6a% zA%;QJBe2&Q0VCL*=DqD129aQW>JNEYDX3GwhrJv$op?WnuJblJ6Yt*%VPv4i@`S|u zgJGc0ItJ5`c%KjJg{&u8Qt15)MAZ6?M3I+PBJutK^L7l|Cp|=zYbmIM0t|py$-!cBzOf=S3 zch%H6y^wgH{q`8ay>wj%?^M=i;{7kr*pZNSBwahUa~^iql|zo(yJ#Y81fMNKQCIJS zP~arq=Mx9H+KJt@s@yWhP!BJioBJj4*8TlBOQE>_aq8} zhZxQMynUfGV;H_{eqqsKE5T0GmhHa?IFB8>4L~LKC(5$wB`6z>~@SWMzAj@eOrG4%5=@P>e&87X{v`` z2hxXV9GUhteu>skbFh!?&DB_E+TVie)=W->EBss?3~L9c-j)7tCsp0PzqTUOTCf?!|e z7-IzAqprLCx3M-e?Pp-Ab$YT!*1oT%wh_AD?MX304Vm_JM~vX*T$k7R_d!#zn7fpX z&ImHozJ3#d9>LAfivDAb;EKG(U&y_!5!}YgPx|YD(wX+Jr5Sqd+v?YAUsPw>=W> zWZEapHiDbEP(16rDS(;wUpiy|4r%|3(*D#->E1IjJ~HhuXS2+-9|rC8{xwy{enLKuak}cAv*UXKfRcH z8)Xh?$K;*`WucGH)BViV27RI}HG&naaZu;x5B|X#pZh zYQV!5q}JDX1V=beW1U+6JydZPfXV>p1JXuv0caR-cVc=4XcU+UF^|=c`?torve){P z3tv@W0!n<=H9W#HLqRZQ>sF4{lFYlOsCdo&>GfJj$k4%8AO)FcS<0&KKG^tP9vRl zBSlt2uC84)Q432t-P1MD5ZZKV{VlZc0#2JA0nR{V@Z`KgZhbc5b5!-zwR4Q%S=7}l zu#mNxTL14eM)lG1Mmn`V?Z|SP?x!oq98LW-5jTR@(vAUv9gZD?0zER*b_`BAhNN@r zQ;C|d zdj(^AiPqz$*4KK17jm?g1@=KExRlfCwm=ALSVjT9oKuVxA&j9Kom+neXzOl{`P~6x zr0e8Vy(e%N2%puPtI_JfY7imoZ~FP(z&a37>jZ~uP2gb=Sr*f1AhrJEAabnFY2CU2 zpJpnsCen=cf#*OJqutbKNCtd7o(cH)5N5!~qmqD+Yf-?*U0uL86~+a8r`U^^Ihq>+ zrKle4NyB#NFb!VHmG=#eb!z=)SU1wC^%>M4oYeXxJeJKE`Vcc1^Ur7T0Z!!BXHmeq znxXbl;3KpULOy4X_kq9>wpX9SdN|M%sx!vn%ULS-pvY!b?NGzF6=sH8odm--AI64z zY4{Mj6CR==-#rnYOo-I_b>^9^V7leS7jo;9YglXHSESY_VOnj}{Erh|%;jpw$2jL< zK53-ZXOV5?p%+N4PXZ_DgV@>)<}z3o@Ns$3r}#ry;T~$j?jDO{xKJO@1|NkO66{Y$ zaUR#iYXHPyAQS9A2UhG(9%WppT^M_%cnpY(7{tEVNsMabV#9S2=&S*iB74OSOp?Cl9lBq*uNasrW5R6 z3mlJ)=32dkt4vPpY4{bpXL36vtN)d(;MWv}2Zwy9O5-*Ic=B!!8&R!qm zi(w*nPeTKnVwBRvV;H_`0xazI`w?vWG76oz0%Vr{Pi#%Eub6 z;TZnOnmWP$V`$N8!dCnyF*4%P$pKRbrNvhSMS^-pgsf={qmU+$iQT6=|2hT2=JY)L zM_(t{|CKi&}BWo0-?47BcGZ;aIiQP34$HyupNw`d!fqGU|JZK(#S>JqsE2GuX|x=J_Z? zM*U*8(82r(Rw1MQN&FzAKKnP(Eb7Jioz&DMv#3joYC4-iL@P4t8;tKRy1^-C(c{pK zjQU%k6dCo~u|wU=KA@0MpI29qQJDL zPi%qbUrvj;8TC(Mp2v9DWc6nN8L)gmVr%eW;LPI1>dJLO8ttpg1O8poj!kSK^$}HxU6l)fb!I4sbv%2E*M1Avs zy8m;WhWm?LPk6LHf`;!LntKJiu2bqWZ+EN##>TpV(1@LYhpk0d0{db-(6DY|3}(e< zvEE`%@toL?2qkL?`K@D3%Yc`W-#+#{JF%SnVX-K}1}XJfFfz87#H}otAKQxAXx&c! z!q^yAxP$!rV>c1sMgIEO`Dor!>^L*WUk*6m}sn64T>m^>2KuY~J?BUBCHm20aaSCh+ zEk>94(c^$OJoiv=7qjTzigBXn+ zVNn0FK%M?FQIh0d);jeU1nS48(K)AyD`U6gXvg}8xKV5;Bl}yqx)EsVZQUDC^{gL355 zXPrLQSXz;-7rFt~NDf|(UJwUc%n5*;`s~CUi@RRr)TbfyEbe=eQy&C#>hEI*3(S*{ zn_pB5vjsWzAII(jIrSHFIu)6`9E+U#HshpN>xg6)JqZ!y)ThR1X3Ur z7CVc1W@Zsy!@`{UbZb^-5%=cEsZT09GgVZMbqP83NyajZzT<4F(rWO?0YU_7Lmbk7 zVVw?<+D6c3|C^h2zz(jYwys#Iv6?Zb{>|*n9gNiV+9!r}v5sy{`1A{3kyD@1;N;ZL z{VGv6)sCb3xUQRRZ6NW4CK@=07^|RDx1DPQb+YL#W(&_7y1#1Y~ z+op*ui#t4|(`QMU^%aTdG|}9;pEf?PiBuPTUW|15lOZ=ipBGy%YR?YSXOz}Uni#In zN3EB&vqtJORb<$w=SEo{vfuyF#AvIU5%{Vm#^@7eWY}ky$LhD)A;Uh2iAHcgO?|^m zJ;>fL#r|mqMg}LrTP9~0QrqL09x3*DC={^n;6U!tL{OiTBEvq#Le?jlD0xS>Xj_}P z(!8sQOiRB2;e9QZWvyj&9nd9t`t%YR_9tYdaA0XQp)H5CKMRatge&Q1<|VMFgby_u z)>mf3GR6;lXk>MVA!gRshyz@j#$|HYsg*hz`0LgI;~dV&pG;yz6vy;uvk?fN^#wbb z&cJ^Y0w;wO{PalFI*Z--&1??2EKBe4e%GEa*0*brf}hb|sxOlv1wXr9rf=6E1wWV1 z`qniJ$G>&Pt%la!bmS>*SO;qWS3+Cg80l!`qASS2&#R)<*3=L?knK5Hs9rdhDD@oA zQ3sDD3e2C>ug9>*8m@}JNfeIcl}{w$=el~ozCem3{9ISpTD*pYB>Y@g*IC;c2OTx> zfVG)D?X25eZ+*o!yXc!A8}xl3B;n_Mpogp~bt_s(_2x>_+e0^>Nx08|*jS{mVfORz zFck^+Kj9o5sui_1ixgev+@L~o-hhvjCE(-1pT3pU1+H|L_TV(GXd^vs(11?3zaC}! z0x=TqKUh#@fa=Uyaj`bPtMfvVX}Y0qRwu^CbkC#cV@>Cxv2wuS|S7<4n zaKC8<=)Dj_!hK>y0VVGC@Laak8csd;XrEMCOgDmr`yACqmVS@T8ckGL3#s5fO*FOi zlC{>e8O=4f#&B}2qlrwoAEMSInn`yui%akWo);ji6YkHTIZL=te8@wL{f`%44{L*Y zC587Sf*vkuk9c}RAh@9nc&9FR67KJ-kJy|rc?zP|L!TMe{TwPJ+-J$qBK=~XzdX;W z>%L3WNwsJ7e>`ikW+UPLDTctmo=+i&g!?JZW}o*cC?wq9%qimc{t5~S_sh#c1@u|% zDPPfRbW>1Mr+r0zsWa+bfz=oZ_m4s~67KV85()S3;L4w)Z#fMP6*WxJ*|}b>WJtKL zUmKgJ3rC}n!I`g>jtv#%bD1dc^1K}h_b+3aa}R8GsHi^6N_4$Bp(38EA>lsv0rNto zZo>VSF}sj(|6T6ATYCKsbi)1jvQr>iduxG2!u=cuXB#gMdXR8Gho-gla;krnUzEi) zp`E4<<`+$*pW18cv;3l8IEWpzp-1wI9;cR$UQV#1`9*Xr67G{i!u_E%yINC7xL?Q@ z3M1h@3ylYMtrQLnK zuvMN75A=#^REVMKBphL5@Wc~E8F!Rt8VOqY~Bi2yNcd1|S# zClmFDOyNH6t8^iEz~<^-8X~VD4}Q(B#$p6kLswm`4)3qOuGsnV-}H6B_E|qYaU0w0T2wq&I@7ZNL=nT177a zw$`Dc)7r04Q8)vPzHZGq(8iO&E5Vzt%70AM@)IsoT?uK?1~u--M2`Okz}M83KPHM& z%K;Ccsn3>M8jVgv2@7b>9DFnHDMpwl+l_0Z%sdNUI0(T9ZxVnPs|F-W65KIZCqsHoyUC9*@h_Hwh9s`@EW+BiLgXf4i-03LPx=K?{n#b2gf?yirG#Z#ZKq zi{L~&E}~PA;b4LUt^?>``lv}dm=X-8ufeR~so+Rc)8z=H3f{hT$i5_}GGddIzKtXg zm&|16xbr8S3LgBJomqMarOkQ!!0gQF@43}z&imG8=Wc4|&xzcic2KukYRS)uI{hY7 zOLy9~1E&-%%FD0_!89l9Xv_WJ!ziN!#|L$FdchmGfd30oqXBqMEcF0jEKRI(Vkzqv zWI5r0%!7y%g+}E{2r)8Osy@FYYNZ%8TXeB-@IlBhRNgvM&k2{x5E{J_1z)-~LjQ6| z+8dR;e5m6cHnXKm@$JOBC)Cxbf8GYT&-M|whCjLMrKKvTLo0^Yf&sX(h4 zY4$QI_qh7U{ZF}`P$+J23dMRl@jee-@O%@;1%rQ0v^8%~OMXohr|3_;WMvtxIP7)i zh2it3((!N!I&H3IR()r2d5U8g!|ZStmuDEkeL%LD4#A%x=8R1x_NT@UG}#9%$I0w^ zOYBkH0zQ?C0#*OFgzc;w-BCg-A8hJaIqWx>$ANnGj1Hr6IE4PfB;H%YYcvVGU8tzr zDbp@?S6&*VI~OSnI)+brF={p{RacJ5w=%Ylq z@t&UZ!y83WjdnTx!WsJwI99}nr+v0ltDV$5J)1}B+06HtIWz->;i$seG*4LYMxkMBSLdhV}gYVGfdO2?gdxy%;L z9e1AiJrR#kywM9RQTHEim#519NMw!vfvqx@&{2GwtM_6JY`QS6x$N`xv`tUUecJS0 zpxb=IDZSt1ZqIw`{R?yeu%bITyF%Mhd}gTSe&<(ieYrj`gFHAVArQ_m% z|4hVn#GVf|?r`aK_jx$crHv+AIl<1+CsU~J2H}=74WFYM=D(WSXqTU>8#e!M*fp6Q zfuhm+jEIVG*oGdYLNLhLi;UKq?t-Q&p1?u0VHth~IeN#Y_1dT>!@2D#NFn2KEhus` z9=GZaU$k8o2Y;8R75S)xP4nBe!Q?>3V;<(T-@>Bx6#>-TE!47X1+qlFz_!93xohPy|W!olqNv`$Pm3fET;L-1z+`?^}w{bHDt4oeFjc-f#NS;?* zsL*e-+%bKlz|X2j#w9zQ^S5ASVF=QqB?31VxShb`1)iyzj8EpbSS(m~3A|3=Z36F9 zbH^up7BZJky5&lN+o%u5Co2j^3D#_ZQ!0BxGQaR{!FodA7gW~?$%+<71nWG4jW`$1*)*Ax9uWp!_tWeu;85_;u`x4W-OVukAlVdV&6s*unXR zodO>a_$zhcq-2F@t7Vgt`5Db{B9+!#t*%)g&abDl47=UCP86>c_(637wF_SstPceK zLX}KTR-_`_XSkYb3tS~IUn88B=`XNOD(u#sBKVgIoDz76z{2>en*x6z@V5g0F0jP|C%54;fvd9A@>hn{Nsbb{3kBXO z@Bx8;6!>(Oy81uE@~}p4x-dCNO*=9o+F~zuOzHLx2pqx$PV;jGuA>r-CRHT(TF!Lw zbb;pye4W5b;PvX>i;~xkYmI$pTE$R-#|ykz;JXA~C-CC}?-uy5+B7pKzwkG~;w7JS zleRKv<>Zg6FIarmC0#sJ;PC>_5co=g7YTfuz-v^KD~9D4ZWXNm2>iCX2F0nb1nVb( z{}DLCvr9KJ@&s-ra8h7iLrTlf7x*TD?{Kga+V_isjRJ2Mc&ET03;eUd0UTMR8;%KF zDsUr#+vWAFsnAUn^c8rRz!L<%T;S`~Gt;q*JSkXj2>ibK5ykaR308=gja;Ad0$>_9 zRvl&}JEf)z)>Q)EEU*%o&+(*HJSFfe0`C*}kig#w{HKGRVF~iefNNu}z!d_w5V*6z zeFf(KW7B#r6j_5co=g7dhB*>}{f8jlhozyj9@;2>iCd9}E1Iz&{E6 zufWk->e@?^qty!?#z$MM#|?qBCpHVbL*V@aA5>jCj?Yj1B3L}lNvp^ZxIo}4f!hn* zUEl!%j}&;Sz;hgo)g0SGQLs$CHaodHbuq6Jxbbj>z?#)pO;!0E9Qh3qtnsSH94r%e3)Tw)?^4&y!7YcgCztu;Vq2+n%z-7sc6Mw;%X}{@w zz^-re>eTSN3OrQc3F?~5lby^5)sD;If!9UJd+PJclY>&7aXBEZe6Yad1fDDKH3F{} zc#FU<3A|TezQ{M-);A7zX5sImz+bmUC@yfhz|90s2z;)<7YIB>;JE@{R~PN4ExJ_{ z+$ZoRfp-b~UxAMb%$LQdbu#-z8fOYzlE&LExSO4-t5Rz?TS|5_p-w_Xy1Q zO{Wdo2AoP0uZe>91pZv$lLDU>*s5Qnv{2v%0=E(PtQu?^18WFlj2ibMPFt@MEWXt| zZKD$SL4ltV_!WVNHK?gOQQ(=xes~+(rNHT&zE?XkPE6iR0xJ!-U8n83He_!71aR8p6<7gIyy&75u-6T~~V=0f!w!1Hf?? zXOr*B)D|*K2%P5YguoG}ZfEf05hwnP-a=>yu^S-61%Hy@Un(%)f}L*QdSYCv;C2&m z+{L#GnKi_&{s&T`;Bis#6me}w(JO-gI^r zl(PlyFYqwpl-uwm5>ZFd6#}mk_(_3x3w%UiZ<885I;U^c(Rr5Oj~6&~u^_G?cCFS) zdR=_G;J+Z`zbAIR@&_?425~zD9CtCFo=?l@)Vl7Fkropaa4lLddKz&8-P9at`~68Qe6Xg}S+22uGrf!`MRPh!_NZ!=(A?co*#j=MNU zzAIBq>~^eN@EfQ3?0<7nkRWyy^%MLHh;g}y+bH04Lg%SM=2Bv}v3Y`jo#5XlumV1F zOrn$Vx|JWIklWbv0`C-fufSgtyRK%A-ZcJI;J<~uulX7MDWiylTe(8uDuG+pR4_UT z+*iox+`XE6~ z&l9_iy#yQw?h5`pjcX%tQsC}F zewe@)w&YB8EuF&xTma)X4><1P>&SOymJ_>%-Y)oSiCy_81%C%Iu2gY*1vs4{c~4qK zowy+xO1T;jrn!**R^UH~T`l2Oz^*mr0(TI&hrs6uJV4;V0-Gb$s6~hcol)1-eUT`i zDe$ENUnOu#;6(y27Wfu{Zx{F;2RpHFpD1`p;Ku}hO5kk*zbNp31b$24w*~%C;E!8v zd;G@a=(=W=%Gj9fk2F-H_|rvg;!huSnm@x--%a?rN!`nzY3c-iJU`r`l8-0*c~0G; zmg5&$zz#i*($=cU6Iylwf9_CwpGdxeWLkG_PF{}NtQlLtd{~X*&&z5Pe~=oCKbuwG zC-E~(-OHb`>I8p~8SE+ibWzLr^Rha`pOLD`)A(7a7Ca5r>s60ul8w#J)g{j)EBr64 zGmJ8|3eYswj%Sh${K+0T>QL`ofP`G9o=IkT4(?U<)?|IZ-51w@oWxpvwkEUC|4~~Z zz8vfo4tq7(v(zTCOZ(xkH0tx8GUMtv*q$E_seh=Y%P`!XR}HtJy&0o;u!xeu1sDf{E zJ}#X^&(FqxlmX<199j?HQ~)`=9>o++=kS_BRyv2*4iq4B6*%b}UQ7mp9A1rawCsBs zCl_uGugWq&Cx=(dGGnxHCWqJj1}F#xSK&Gda(E5G;Rl+%5o&b~FFw!XSS>=q#T(x|6vWe%<618J@vZ&1uxa@&6UK>z^v?a(4icj<&RL#WW zfw;7WG+r!={0kG{42=h?=$_7s;=J7# zo;42`kC`=4C*MxywPE%LBl{#AZD!wx9(oMlKk#VyT6V%W4ef<*_z|{-PT?#33BC;9 zHq~)ovM72IaTC6c1L%7}jop{5TRafPgqwTbMpeV^35&xmG~vaw;_Ci=$sF?@^~}Cx z$I7FKnQ+3xHcWde1|*!+gvVY^rJX%Vlz8nIRsQ~D{Zzkl@CImsjI!`h4Qn$>4J68et{!9!$Ud4K7u7CJWDrFW`9WM&(YngWAmS(;klj* z;q|)qM4EV+Zf27G4Ygjb2_zhgG=-kSGmDM1r>c~P5op*n}zLCI&6c2!-GB?4!nmSYgAvwGzX=nP%_t1XGYS zoe|jUi~yb-j-c#q&l*(92!{`O3L)#*bJ(>uY1_G0)`NL&%l^{!(R=!y}}^VS1KrYwr*d#6DhE0P~Xf%jVw zA$u`P3cdUjdenZKM3I*r&az*if?}#Qa_plV>=JKVh~?oKbjECLZvwiJBCC#UxfVX;p+CN6eW>7{gup9^}x?!qNxsh_J+*lt8?mif8b^|7DL z0Z9nDn(;@hwt(a zf-#OQO4_ng+Oo>A#faQSciru;gE|=l!uR^`JyUs&tbCuWe81a~-Izz=wN6J61Vg#k zTIU}F4Ur9W{6=R8gW)Iq2hOP7?5bT`28k{HM^F$jA`h_clm2HwWt4}X@yD?5aaO&p ze!U83PB6mTbOtgrbG8xQu3K9RDMlXeqC06!|lD^N4%-6>y4ZxIVq^x3Eb_ap7bye}DI2ef1IhBI(K*8R-W_I#oZH6owUj|cr9 zz?{f7YW>{LWM6tAxsLIsr!)~(A=(u3K#vcASwSPyRGR2{%TK(7kL+}&h5SU+!_r*TFg+#oOk{&6OMWq_04 za3+64Enzxyzfs^{DE8RvIAt2^60iL_SKz8Z>Sq-BY~FwmHwlpN8tlTERHN|6p+z3QlO<<4Pq8wDaz)Wf?4tLTivNEU5 zx!4F-2YA|mHG(f14JQIugUYh^(F4f)LRhl z9_We@wTn4rdIY$P81}393ZJbT@j04$>dHAr*YCE!=ru*sIF-KK@O~j2z9_<(q=u1@v;X#29&e$>7vBS|cL~C;G7^*7=91BzD z>lTAJ+2rU93n;3}4-XH-5ObLq&W5W-I7Zn_c@iEOXoN*O%ihC9Zd8D)KPJ7Gkv=-` zIV$HChsOpcqH^9GeSE2Xp2yd=hR16^<$ZyP7M>e;6U`P}Jn0G?kp}pXxDol0(`sH|1J$pN11|_LF|(eC zC5%HoZS>xmBrIX08O_7j1(*{VK12p9cU-kUZ_q?m=ESKN8>#RjO_dpuE8)uUO@Rv3 z$!#8999RgDw~evAL@O$o1Vu|7MUlq>;4ce|flTCIj@)elrdtR-j4wUe!$h!!T5zJV zDo_T~?OPd@cWZ3ek6<^Q3f~i`j}o6fjtkN1Koy9P&72nDdjl;&MD2YXi8X=tAhPV{ z^u~RGB#0clHiu(fpgV{HdppfoALtE&8I``rzy^GEARh4Xz$f72kxIa~A5$#go1nk{ z;3L5S-%{8Z*;j_@8v>6L58(mC4jreF={TVbzo9XXJ>Cnv1pS%Q$IZj?tD_nO(w>Ds z(1geSlk3@sZoKn3;_!bp5wH`Cw2uN)Q9oovnscTf2&CqKjP%D>_;BFAEc%gHk0vvA zgt-(rt0$JCuLE^(ROB4p9@8ed`^0ZFVcOSn9(?PVVnps|pdSxVqpt&wBqFW2p8A%c zr;%P72Gr`q$-*)Nh4y}|h>vWNA zo0u|@>otL^ALFU{22(#r&#J}H>z=z6>T~!=j<*`T>_s^4F|sehI%{U%Q_eHx$embU zBZc~CIx>W&oZ}q~(R?neQvuS)tQavPR%K0H3tn6&#<`F_GU6-XdFvv2&KGY2^R0_1 z5{fU!L5Veu{7UC~%@(k=Rmhw+20>#@r~cSSRw|5k<7ZKRp`(+ztdO_?bvJIwVav9^W$C0fp2Mwx~1{M@T9eZeXkw=9#Lf7dIM%bS^PyBbbGKH3cAEA zFgdL|Xmr>3U5F=3QE4iE0DiSr5-*I0&^2onyL^4zkJz^E?tlh1$2;NS7F^2SkAn_t z4MjhQ@1nZj_KI2d1`4u763NwGp!yfKz~ zYx8@+IYsd97PeOqAAwM}o}^be+v}n<;G;Rd%@rtkip|GD*0vHvYkVR*zTFwpb=YTG z&pJbT5YcNrN9>D_;RroXjQnXgW6D@NQb(xoX*6N&p^JRG*z@-^e4c~yv4+R7<|B(L z1TvzQ&%6yS+7EI#{2Ckf?NDO{OdXnbFD%ZuY{;4+yCp{|qzUFvW9K9FC=fOW7a)IH zM%c1U{sYzKl{O>;Vni7BU9>er6Q=!%s{LiMJhh(FQs>CX*ZOK5G?8>?G`wW5<{;PB zT!RU646ClmvGv(0EOb@_Ep^cTf&)-#PDGW@Y@HyWp-KN9DgKR(SDBo;KC}27EM!&_ zlgAk$v-mr@s;QYGiF92p7y-@9i=ZUSEdGT<*HX8fV-^?CXRXXin2>80*C_|p#^kj@ zB%1OvzS^2elp&wgH*Bzjc>q6^X7O)~l1{q26Oj-Mrvz3~QlTnD^ zMhX;qcZym3JeC<`09uK%sb=xJ42*7OD^PRH;$EEjXX!ziXBNLlv%BlE`DXD%_Nk{i z3!PYi^kAH?z0Gq_?<2D~$}XL2GFO*Qr#2sY0>1ndf*|1Q#Q@=WEksp4b#RvXFm38% z@(;tl?}4LD`1%NII|kyRv{)CTq`MjI_aS;3{|?a_?az2J;y*xpbO5m@&Z~6MfyBP} zXar95JjP2PzOf8AcMwl3qj6s5iVpq_-B+YwaJ=_IPm zQeNGO&f>+LCT6LrjvvK-Vj!kKbPfeNnWgVxQH{=JzO`!8SzM080_`D>{zjU$VeH2h zbV`SZ^^SH7Cx;lA=qdE3`@kiPDHN2>IJl+?EM(-p4mv}F#UdL*Gl)g#+1LPN&rMwaleURf- zY?jtTSVSLTNts!C8Kz)VuYq;V(k+aGCl*5tzUP5hbPEsYTAHPM%RxN3l~)VLo29%I z5PgwnKeNqJUNMNi#ETu5nx%u-p_e&&I;q-MoDP>j5kHRa5wpA)?W^KAzxq2Yjzy#I z^MA_mFh~0XeKry2>2ve|!wpxvN74l!Ut3}Xjo6&%!JkW1|*mj9#LDDbho!*(nm9ONiTaW$2&`x^s(#G zuxz~;4zN3MEOYdtIoSRZi%2S(YqDc=Z0?_H^caeoJ9+}nmpal=n{RvoQ1h)U&6p$PoKbtc2^zk+Cx6Ot-9jdWUJH^4(;Pw zI@{)}H=<8yqJgtEEQA)_TCNe{Ma}3Ilm9x;m>PY?>;n_^d0}*`PON3vIc#8?CbDe4 zT_U<&6J>Ug9e+*}&FuxW>Ul@3i$3j+?l7-LNDQ#|sZQS|3oCh6AAMQ-Vx&InjlQCZ zQTF2;qyK1PwB23JhjgkL#y9%9?$<^9aneS1`oi(s5_l9_;<1 zyG3@i_AFcPv3}RFSgda*MgP!5slM(O{Zrdq zrf()i|1!Do)win{Ie(jXgJ@`1GA2)H!#dbSoKm*FZPU?C(1a{~+osySjP_@Hxbs?| zVkeTd%(qq36Ujoej_P#+x5y8vnV?d<92#xs;fi>_zG@n6@8OEL)?Udqt%JTjw9a0^ zLG7rC2kehH!#nFn*V~I5f#{-dsBF-;siIx=ZK{XtjX@K6+~NB?GU57o+Bo5fFaxSe}yI!D?i1 zA=>rbuONMKkDD)J(L|NK3GGDh(?nBSuQ+QxmqT-NdkNR#bu^JV(kyEA zljU}j4~az|@LUJkj8Jrgrwz*NyhfB3>qdX}+yy^mGDlkU7wt2{o(b(yl>!e1o`ahl)A?8Rc zu1o4)&jtwg@)Zx}fcw1st9Kt?@uDy&zxM@DM|{O!F=hh#{PmQtSRdF0HFeroJfB*k z-peuR4S(?+P#ukVd5AbKP+ZBl$K-MyRy8la~kme`9%H zC0Pf9RbG5KdCO_x5LH0MIeGOQjfbj$?Q`;OPJwHf_W-g~nv?f4>u0$4FS=Ui&2cqQMuBK^EO%U{#u)zjKDOke-`3wn~m7%W&z*3sTg6{@z{JFX{Zm}YzeOWQ!sbs z=JIE}FBtG~PzqgwUc*9BeknL^L&$<~+yUP*wB4jS%W3P1eYoRV0F_g{qmfd;$A*;^ zOwVnAg1NusR5ViX5QCUJKZ_KS zedaHyib&D8j!8~N!>F@J$()Wz*i^$w`%A$Y=EDq7x*nWuo`>>@ly3s(m=h_l*bdG! zqZscam2ZRNCKnrzbRGvTHq}Xf7jmij4;n+HE4jivlWBD$cQLcFF~mix=)k!M%#Bo& zdzxW1n@A10uelcuG18r!Fxz2di}WN9Fjrv6i}WHlnjz+p!f~trNASWl9m!gg$4RlO3uRtkA29ZxU|HEJs8BCsGeuPFE8N%Gp zF@HeKM23;iHkXFLBghNPIW%nPrZs57JWA1r^?nbF3sGv6X)%gAHBWTj=q1|pQ1 zT!$Dka#&@Wc@1hWBllaN$K<(YMr+D_=C^1P8Eq&Jn7t5TMjjat16_jVk&&+>qBtMN z3iw75r{O2yI}^VJKX5MPn@H&eO1gwnrX29`6^K~U!Y_CC*|0mn1#DOW-_^i4EeQDT zCsHlodyM#^!d>_+uoa%8R9WbIA6WPqnuR_eVYQ*y^)=lqu!PhgRG+?pXL8(%c{?zv zpU3-Io>e1D&>OU=Ju&lvs#b=d4*Ds27p-(KoIt2R+`m1d2q3ST_6hQ)uX(Z(XE|rX zUPyVWgyWo6&ZjKkrXNF>;0U12LDYOJNV@>=fD?UJE7+zwV#Rwd$*}(Uqc+u0S{}qh zt$h`i-ln>hRr+VGY5P3u_{1u0pDFN3Udou4!4aiQh5J>+rB$|JvHk>7<)^Qi z2k*|y(5v*H%2~E27X6Jf)DQE}HXB-9(6P95uv4c;PPZQUtG3*8xRdqiU$q5=?;+AB z5Cy9Zji96enoOu;U%+R8FRXS)al|_Sq|UhzSM3fXg)en=dlPQBV0W9&s7^of3?FhK z3_v4%lmXsn9{*|%&`kxH$pAmZl@D7QS0^mNn4|rMv?|c`@M0ws#WIE+l30=qp{jpi zW99QX8YW!8HGE^B=4{G%NpcDH@+KBTmYT0U4|jLfma{!fLLbwEO<8ZHrd0cxARAl= z>GZ_dqG7?h4-ug%3|%V)lF_s=zf&(^cC{Z#t# zwudLoN4a)@`Bhp;4Ln%56$1bTDs!sTwO%s{5yfy71-vj|F!HJ;7$C9I6>@eGrD}md zea#h!wz)x+WnH&(TCx2DZ;-FtIzIpwt(5CRmYwYV)Su zfwCCGnu;bt4vNB34sf?T5v)W`Hz(Ou(VIDKr73oyyhmwVPDxfc<# zqzypzPF4|nz!~`9ZgtceSk@=gy0)@9t#wD_U8}^;VyLKQWoQ*mkoC0o{8L+;^W7zCD-AWv*E$LH>V%OhnuAjXsT&pTK^KW{1 zrD#9mEPpLiX>#_q9K&+I_pQ5*)poLnjS~@!CO_EC9yWeG<_;*gI6nIwpR(h%W=M7P z=arAGKk;~NM$zINBydcbKLURGnmb@dAGFeAb^)H)yUDulcx^j7Nw#z*c}V3_T0a5p)5(PjtMy{U7g=8SuUY-X&)Pt_8GT$h55I|Eq1)`bHH7D^{{E;%5?ib;(um zzs36bzuMM;{@qa+pWJNJMfKBfZeLes*A3ewjqTW76~fKu)|vYHo3E-X(r>u=p}O3@ z98^}~IN$wKOc?ZyUf$D0ZcEYURJ-Ppu)2ZWau>?k9*FfddyrP|p10_A*-h-L>kvUH zbQr>q?|N~`iMoFZ5NNpygR0Tjyw?NA;gQ9_l|+4X0gf%=J%9+|0H8IXA{#c`fHGheqoe}9y)dv~s@26) zmz^v|ad%b&%q}%#pQy}h&j>IgXb9ug8GJJu-UW zr9pg88+%s4z=2_SVb3aV$ZVyRX!z00U-bqLs*k%F_6%$ff9}}_2G$^>HP)Hly8I;9 z%;KIhq@iCN0~vO6k*6UW@p3oQJq>+JF*C<*7I_+ef<4^LPxXcch=qIV&%uV-ka15v zDL9ZTU~z9XZ6Lp>%stw?iL?&0m; zh8I!j+%s2u8a_b5at}SDH}J|QcQfDHz=gfIhi=vz?!@7Ud*%jDLj)zrJ#|yKVHL{B9fDsKyj$=Wf`1gO@yJ)MqSVr@Mc37J&h0Nm zCkZ~?+IbxcZ@Cch^vwpx+&=~^e9(UVf|iGRfMIiQ^V;qh5UT0Yx}CATz=HY zReezK4r}f+MlAPZA^KUcY3*!Z6-%$-bjz{4zg2nDb>fQx<0w5V?c1DS|s>N>zf-;pZr9D>-~=4&#ZzQ;qAw;;d=9P zy)JjKCf!&U>)Kz4&JldE;N^nXSz8cn_-jJ6NAO>Q{hU%d70kPBE|&_fR&2FyJEc51 zUC0*;zDn@zf*%q5j9@jDb<%xb$PWoVDtHVh$>o}LV|i6($x_>)>VJjc?SfynzQ3t% zbk|Xw-Z<$@5-W46y(#z~!9mWBoTys~F0ytaidhw*-GA_#45$2tF>jb*#m>k{Hr=bDt0%rwKkwuv)Xvsp+ePoR1&5@!To+A;D_R zJ}2zQuDlfWbI5goj|%oSY(QK>XHjF*|OpF@| zug1Fkw6zr8C0_~A&w~A!V7aPU)~?&?`Xt8)(W!#@2|ic#V!^!r@5)yTzF+VYf?pE+ zp5T2p+b!iM;c-lG8s>>^VmX4<`hQNLR||Q6!6OAP6}&?5me!+N5_nd4>=OKe;QfLR z2|g+~V2!=KZb$MEE=;(#>zIbStd`z$Y|j<)62V;s_Y>SCn2*}JaZVFF*Jit57YUCm z1g{c&hhRQg>_)m(@J_*R3I0g%w}Ox4Sy^|~O-?Sv`HUOiwSq0d{Ai`C!-sWTeo^rM z1b-s9y-ql|!cx78_-rBlH zt-kM_6;4iV*P=8}@I`{J5qzuQdj&r(_yxh=2|gk?7+2}qXQQpGEqB(%()-#n3{0BV zWPNZa29%}o7V|a;e#FYWtFDhV{;s;PCsbgaa#vk%>sU=yIQ>+dp1PSn%i45T-RzQY zgyEkT2rd=eS8$`?*@71ezEbc_g4YXv#O5T592eV#$D4vb z7JNYPAA)`DTQb0hqutEJ1$PqMSMcEWNZ$=GUU-}#c!A*S1+NvnQSeiOUlY7X@YgOg z|G&Bp7Da~^gCc@?&)YS$TyRgp0|k!}e5&BH1z!vBi1rEo zN$@ejX*lG&QRfJ5FSuH8f59UKPqx`^CUbAnZdcZla4*5*1Wyw@SMVaiR|sBJ zCYs3|!s7wKTLteF%&RhPNqi*u8^ON_J}x*FU0j7_{`p?88&QGaO2NGZHwflUV>j$1 z!7~M)CwQsg72u>B_%`8jkKiqWpB21I@CSl_5d5d$w2m!?Mq4Bcmg7^HsDMkwx~~?N4i?9JW%q;2t7CEjeiG^as0(R}K?8 zYRxz&u}MNcgY3xXlAU!uHZ`qFH>xNdr571@?|pG1h+THX*T~4Y&!h0kpCg{wNB6v z+4?@P>98T>xnw8)cI2?FUqpSr?aQr`Q0gPNf$UV#V6qcPzd>x{G<4uO>p^B<+d z$z`GI0eL0aumg7m5d=Yf;%3Vh4x;Y74j z1h`Ge*9!SY!P|t+Gh`=$mj&+?{59D&D5?ES2d>+2I|6oB>HD`u2`j3!7#ATs`W*y! z5nNApay*o5U$xLig1Mv|x095PGuE6+2d>m`4}kI_x( z^ih$vrUO?pxU~hF4wuEU@{l^8rZtK`>Y_|yTso*a~fFA`P7dnBemV^z#QLXW4hq^WIo7(ZK06gBzP^^tz$ASad6uNHXYtBbY3L8Rh$$adjx+Y_^=4@JK2f! zU%}bkA$Lk8UvPWD6=Wyu31k?p@;{gkTp!^!9L(!7+)kz3vGhzQ0Oj+A`~o4rlI(=N zQOH-5+c6}*!3#DWexN(jcZ+VD2=D^gN%&O}_(P%d899y^vF!(&afRAJp>tH|9Cvgw zp%&jKAs(GS|~(I1z#ih zM#1+B-Xi!Z>n%i={G1}E)qPFIwH$5-z^21TgpSs;MJH8omf$vmOUO?A{REG-dALe! zn(&w|c&^}c1TPePk>JZL{Rte*uM?sh1>Y|CPQmvHen{|Rg0~6YA^1hXui0$p_D$ij zTkwa1Keu+$-tUFzkl^119~G?kYAI8{;IQBf!7;&Y1Q*(DowThkGucUabQ9c5a6iEf zf|~@75$FKo6C5MK$89|iv`_)o$A2=?}Fsr3}WhG0{08^P^*$65k+5FQ=3 zJ@90mw@lBrHhoz)0xP#3=U<*R>?{0LTX*m;VIAV%P^;h9_`BL#!M~fV&-nL}RryWb z2+x5>t&6{@8?F~yZ^4PhY4g9uUteo3{~E1l`M1VO{|m#lF9}$OU z&E;Pg>skIaTImPzH^-X9zY1#;|9V=-`FE=|>=2^g_pG({5TZNXIs_-yrS10<{*W>L zA!GdOYgPV?zeZ~b|6a4+;@@~H|1izlY0W!~^ru?iz==H6{DQxmtSk7p(fWXYFIgqO z;_nfBoE(1{*2}-vb=0e@Uw*AC^8fWF7sky!f`@vpv-%yW>)^k41g@G|qv~|iy68w< z25q7E*0FdN-CAc3&$iw=QfKJbTc1(9a2(g+&Dc<_2L4{xULRu3g)=<|-+B+G;bCZW(8czux}$H$W9rt@>qi!cH{dxoT+_K2 zo`dW~b!S-Vf7CTEs=MyeHaWf?-D(Ehxjx7ARf^;^e8EZhONM4V-Gr&zIyL_GGk z3AOgGQ@L*jeoB8N&a{SCB)TT}^#b2(`zQ(R&BE_4av-!G2K!#WPUoeU^ba6f3yh%1 zA?8gP-y4G=Fz&W?R3s|(E!LrmL>u&~)XGGg+#{HOV3FPbsL-P|xWVTBR=>)`30MPq zX=S3bo@#BWOib<-K|yNKNxTLS<#fsuz0p7pqJN^We9^U-OJkAUOw7al?SJxUS{fGF zt@GjuyIEFar$inWqMqI<(K-2WD?BmS<`j6uKJ0||kAm?Ku1tm=MqLK&_m4tLP|iX7 z{i6_{kPH@`0hM5AAMV}+OD+P3Ln~lLu>B3-jL?77FMSl89pd+)gXPbHb3*q~Uhx_@ zFZ2>?r}A_EFuZ;e`VqDUJ2TSa&{tIILM{#QB3ZC2xgzvM3Ah`%OXxZ@wqO;xI#i6D z2dl|FLxtAV&d5?>DMY;~8XDsI4Z%L-k)e}NOTpUj!DB+lF`x$P$m2t0w0!`1VrVAX zU$B8ZH8dGT6C6Z7JyeU6?%-hZj1U*I4Gv+R=7g$ol_5Bce0J!i2zbP^4R9<7Eseu5 zlI?FH+8*0LT3Tvs9Q;CGLoYRlO+yRi)PQsM0X?CEsJ_(Jl>0&xtbXREfFR!zBz&+;u$8QlflGON%ao zo*w-GHR6ey(Dp{Z?#3qE15Lpn9oYzvKy(GdrbM~qbTGOD6_y(Pj%h{jW0Q^!MfVIx zccYxrqd`O(iGE*zJ`|k|-;C%eRBC2)pf#aeBEQ4aB~YC<56P#~o{Iq)?41eCcL2o{ zzLZkmDb}6c60P#QNGZJhLFfdZ!cQvwQs2do<_lQwbW6mNccId>=yMoL^ytUPr6>9a zZ1F~?P$&8$x{E*h5r&FD^qd0bU?dw)bTu-V8f}6+Ejk-%grX%V#c*^wiaI@dHM)Kz zdJx^qh|a^x?QG;YUQd(Z$GF>u4S3uWh2I zBH_H~Y}lM1{TOYxZL}7{WV`4+Y(>!~Bv24tj!G)rnrE(~)qv zpNEm@=AE!5T&o-&b1aO+3++AO<26m|!Rkc&es3Yu;gL!qD~@;2xqz$5ljQJ89=1l! zK!}m-NznGmh z1FxaUxtRy(Uf@v8t<+Vv$U-*hx{v)Lz9Dv}5X^VnT^e zL9Yy#dGBLP-f(r&TZry!8(-r@rPf#JuCl6|T)+x1v@_o*k=q%%m-iRjj=tVG&4K$# zJ8B&}-o_C*T&DsD?Sf7yN2+GL!roTzO?E;Ic{$+|yj;;OUlrm26;*yE8*_sy-2AuM zqX(*N=eJ^63{rOI&tn3O$_zXV%rb5AE<{Ae3p9JUcMmwYA3v%5!I71z7|%22O#cyZ zN^9nU`6yYoV{HA)=`0%o%-^g%H zyvB)2jq2C>IjRTDj|!o`+|O|-)#OYkyu#0MZ>V`2NBEV>!jWbeM~U!tDv?p<0jgcE z94DH&7!AX#lwqSyE^`^aK{>`~#%)!&HW|w!gw5u>B zyxIR=bF_~*(LP@WjV=E5@Cax|4Gy~DNBs}Ol~oYl>JMSIU=LbP_|j zJ$pXhnNgUj8Iw4eCZF_w&X9w{&-l5_J=NgzN3jTZt45k1;K=d5YGwJ~bOwK*Dk`7f2?_7tFzzkdcS zQeFQdK&tA}B#bDu)yTn668_r15?mDAKot(@_WY0CTQkOVg2qArX7~knSzq)^40d{^3ogW%yN<+8% zetF<8MC>tNVwdTte7xr0989s~^Fes|%#(P?s|?WL*Nn@%!PP0?L)=-uaJRs{OeBSe z|0)$)Gmo%9s+~mmXkEA_z%j*RKGYqK?#hAb8sDi4_fX5cX61$Z1db!7Y%cj6?i*m! z#Z4r&1Yf_vhX|cvE`fizHo&7_j-5!IN~E=!*%dws+oaucoJ-3EI7TmEs%>@lleVl z;nj-KUeQyN;oAf4;Nvsz=0LP2Py$ELe20Vh9f6K;gw1nV6Kexq;m9yw!mKNNXP^fh z+2)6|ZhfF1969F4Y(RGhxCk8=f&C7}7Vz%ZMK)Gm9^-5QipMCd4`8h#vl&p{x?p6?o*Ja8pVm9DVlzzE#U|x7b8C+NB!x3G;M}x35Dt^^9ggmrl_XID3p*1~M zO^S`>7?;zVyw&h-%@MT`&@yM#(kdb|mO>Odh@3=bhSl>Fp|6loWEQ)CFZ3hYL}d0- zYwdtUv?niJs#LJL^Hpdck-3a7ZEqy`JqjhX87((*2`$4?m?+oCQnDvhVjUci=#y-X zfiiLxMHykP>m0edC$f?i=DN<2WhbzdLL*U(k!v|7WrrrBT|}0%7+ZyS4?ePj91ZQj zEHAS14d}!|JJ8G`*RitNhN{TdGnef`oO(u9CDD%Jp+C{$A~)*&;gJYc;^-2&iRRXa z#$mjVSd26oIB^z2sVde|XHbv%XsTv?J1CKryc~fHwXRc4#oqQ)J%S}Z5sT@?nOvlu zl4AOU@i9`Yvxa@}5u(t|Ltl^$QmHeI9hif4`< z=NG&p-SxKcE7s%rOsALrBucqdkKfHE(?@0cbUi*d1Fl--nhqNnOP&5U!kwYVH_(QJ zuIIs|GxhjNs@CfZ;WSLDGa^-MHeZVT27J6!8Ss@tn9lm)vaYI!;4JY?CO=gF7-C-p-AseHXKKHYK9DyqIQ;vRmKVXc)$ctkgj04eM}IA~ustRT<;x z9n=fgp}>rj=t$EG`Ea2zo{q3yIDxU8%!ng;;aTWy#wl!}?e#)l{5B@g(Lpa{gEA(u zJ(cQ(5r&yepEAAh1MBR;iQG2r&`gZElvU`3ys~1P%?m4)dSMUi?!k%ndZzWp;6&Tx zn@CAz-J^c7-rCg|UX4Y}Yr#U@xV%pR^0*PjZd^gsLMNa-7+2PVeWCkVKv%PoWrQ{} z+%;@t*`ar6>$Q|uhxSr`1?4?M?J~hDDIXs?zYv_fo*olJm1rKuDtcTLnuKO#+(`K) zp%+p6#!Zyp75ajF3*~o*R$wY>Sd_mMN`b^!P5En~B9_?glphFfM&~fr^5WUS&^@r+ zxRdhVLi?HUdg}jGm@GpH85`)4qZjg|-MEM6?0I_O$tW4)0s6%C!nGLX3^mFX>xEp3 z&)EDGLYC`=oHH3)IQQzN7Z$OSA2krcsd^z#+KuOUo-$uAap-Z=t0vFh1RF?HroOOLk+Cf5oe)L3P){_?qdS9hy(;z9VC8=DS(6->*bS`|g8r z@HjX+1i8i$4Po`@K2#~bYPgp9_=WANAlopG@O7t9J^GmO8%s(H-N|T=vT%LsfNM=0 zmI$WvaBCc66K@~tZJjd=SLElg)&ECPh4}$%Q`70_WR|h5>B`Z?T!Mq6;ZcrmW+@89 z@aiCRRMw%ZG6Z^DuoP$|pI%d;>=! z!%$w0W?OcV4COV{?8Ms6RDXkK;{UOQmn&DM5&r`z7#)=>%ZPLFTBAb6g6F&gJ~o&1-T2`OwW?jU zLoqR@UGyM(!D1APQLk?(Mg3$Yj14-MM>TWUzVBAq*UZ%jZrr0BKC{9aIU-S&%w=^x ztduj&SLoQR93AWlM-q{!)LLlJ-%2p&X~E^H<|} zRXh{bnXR!?IVPD^tf3c_W3su1ZRthjn4(Usjh9u1r2}_$LXjbmf5SiaV-qX zy2RL}e}&wbi>&KMCUR@8VWqvPbB2_nPFRh%RO<|yeEZmVS4AH&`?AK~Qx3y?(E1!f zlRVKhKGS(YB4)N`d3>%4Dn~O$V8k%?=_j!bY-P|NRnWFQb@aj?5YFVc-i%)r# zvJqGJgp9v+4v+24&TKjV=tociW#&wdLdTS0z04!bZA9Js=xy?WR3k&(k?CtrWPN6O zcyL={s$*N0x(Q+ZJ}P0f>CM6|P`7m~legH7_R4XqIl*doBF;UIGvab3Tbq6E+-l9} zu7cmGu80~vJREB8QWs8*o*oXh>&yojPcIc_z1fO&-di~~nE$c&*C{jaHYat5BcWou zSKYHR>eW4~`%IlS_h%UEr4thwNxsrz4EFqt`gky#OFbLIJZuFU<6Oti81CT=wL*{2 zV^W822n?23V zJ^VU{xgBc8ZHhJXb2ft29-g?iHBV+dx2wV_HIMKhe}{6En`c=+k50tv&qw$!=DX}S z>y;s0wR8scm9^v~lLO}l4_6_@s-gFK`0*R_?I48rdGIylF}QJXjEVlsj`M&g1K#$z zxbcwZVmPAHpsPi%gpMBl2S#|J&!F7A(Y=`4_@b?F%<@Msz)+2I@yBWq$4e@IZHtSI zBc8WVQrTSj+4xNrp=MgpG>$5daq;^Qzwx)nv()-#OrkLPC7bELo^lLU1AXzk>H5#} z8KP+P#rd9(;q!h4*HB+P0u{sWJp$L)zW6q_n}9l(J?4x1*@9D)>$oqj(WJ2VBow9Q zj~~N9)X4I3rnxW>e;vV%Y<0J4OfY^|lC{&y%h7CHFs_EPsPdc~jPp{U5mS*)4aS!; zi5xG_*-s6|m(kC@eKtQBf0lmvD%^r#{BOF7yd3!#28+1zv(eexgtA;7i}&H2pqtl= zw!ASGe>g7*XSFvM&c|c%(Ht9UygY<&kHxR0Y2Ce?ZS0N3uV=s>%Jpe1egeBtPvzPd zi=P{ZtCuqL>sY*oExxyx^NVj{@!OgEKFalNEIyNF_f@X%V(~`;xGrY&Q_cgicoSPq zt#W-Iiw|Hu)vHK8*p`!J_yow0Yx1mEhr`_!f4P(OwRme-y=Au|&tJ z6pj|fw_}(xri@e0zl-9$5ow&HT>lis53>%(tFky&6u*=M%*o1iyeR$v2jEk@JoVCw z<2QDLYl89%7sqE7z%^01(u?DNM6CTMCCp?4Y{NCHbWZu%wwouKTrDY`J(sQ8k*4zr zGd2*{ZGyQgHy4Cn0LueD4qfRS&R8nSFGWkIkR{=`13sGGQ=LPNb;Ulc9?bdbsa`G) zT>LkxLEm6s!$OX5K+*Iyw?nz4$$DsfqFwafY)H1JagNCCCG7f|Q>=aC6CEp0LB;sJ z6qmAv>(45+pP*XGW!3cO(%61aMERHgWmr8=P86hd7>(KcMug~Qty+?ZTAlALj`Y%U z`CwV`FR)8b1k}9=Xw1Q`ulXEll$aRR;lt@~KGG|>4Gl}L4}5Mte=;7@`-^D}2yBHf z7d7mPVMK2T@VdbvD3?z{JpGVtN3PV^Q7v@J668Z271yIq^vC?r(9m*`Tn5@qg<_U=o z{@GAjZ|$6bg9MSQvbyDF*R)o33M{z*etVtR7eHfz=Uk-Ar@StM&q2rMd?a@dWYU%i7eYKTm5>p>iwC>ZHYcUB^~Bry9m3!W`i|tVj{;-`9^0^`Cii1 z&i5S?6Xq0^wc+r&k7=C@c+5`AU8%DAXEx+vh!}p@?0C!3e@l3N10UAhJeDw;lU>4Y zO1^G(O2v~BruqL)X@@mWg*y>7&cSh*^b?yGcN< zGPB-E;sqperpm))_`Kni*L-lm_X3o2uR)WpnTo+r-=Hjpk2V53*5R!}`tPt0ZO}E0 zXBgnM?geaxwj1fQF|!QIF;KWY@Wjc9l4L0wU`ZybP5+-xeiva&W=E8p<+2+^RB{zU z>F=mif1_Ki1@n$Nk!ux1A6IL}yr)XI9&WoE?bcN{!tBg0(*aBwCj10zn_HGOXJ}^H zEmIN&2D4uECUiao#Hy`nrzKiVE9ZT-DJV(Rd(kHXKAzRpyo=#VZ*MuVl{ z`F7H!9wu#@Ri?D2z^vv%sKWTCOt~G&umg4aYF2tu<3pFK6_rf{?1LFv^`P#Ed2Dk+ z=ffO*&382@gTV#Lhh=mPA}>+Beyp0b<-o)e)$MKf2)Ii>LHE^9QWGYA%)&NwyfRev z>6nz`(LTa^89IxTB7vTwJnEgrTkJ|t$hEZhD6-LiV} z%Ss*f$>0@bHcSJPwEuUITn>O*%Ev`m~H*$e?Qe z{k&}ce0kn(-uPYyYV0ez`6&dw*30WH<>=*hyGnRDpqvi3U6u9T=A(wP2N5fK-m&dD z414S-rvYeE+k3+no*zWnZg#+De?B z$Sz)ntT=h}{og#IT$Cwud)fVH1)@lHqX}%TwSWFojtJK#7w5iNle<;jh&Uy@E&W0g84r$o+H9aG=WwMgkL-g}WMAJ)S&ZerTbi8F1 zQ0-KWi24H9K(!t(VVu`_1r9mKj))d#lNLMA zH~3k0c{q-$qP@|NLCP9@Mj~zW1xQAX18HhN1y9rwZw+5N)^{`)3r)j1?ntUcCAGuH zq|QKuc49kKJ19qeXzy9~oq?;`Ban#>K@-6=KOfcfu6k#Qt*a};I`ENN-J`PZSv97# z0{PRu%6SK(?VyezKJ{>qXVqABxMbP(=0O9q7#-2m?p0Nz`_*?w)|XAL+rkujsI zt2I`u`kJ<(%o`lpxhUu#AmaluTFoW+(RZmwgFxDHI@f##RXe}CRMGNtFm@i^u=B70 z$4324|NpFK&P?R`S(ZDkkIziBu3{He#p?UN#X6n!`Ln7GCR44F>EDmZSRH1d*i=*h zRVjE4j4pZ5`2VY;cUff9n_K=k71;|aGB$_ls*a+FrGtufmg+$IDa}J{m3si*f-tZa zQ(|l8(9Cq}-5Ck9l$mE1<|Epg8^%MqgqEr!7x(~9v4l4Jn za937l!hI+OJyWY{jh}0gOii6_5UpT=(u%Rx+*ye>e&Tu73Kws-HUW!yLcknc0OdY^ zVT{lXG;G{Zp-pSHB~V0*tb?->?M{Cg1Bsp)0IZE3oTp9)eXR>h$N60IlqR(rQ0v8omkeS%7|5 z!(FNll%EH9pyVggtHKD%oMb?O(N}9#7z(v}QL06bs7k9kogZ#_3Ti!+Y@#}2SnTKx zZq_Ti3?k;eirta5GsE`tre$PkRd++kmT{?d*Bsn6ei?YX?T`34j&;$>-*h6SEmb^Z zRAD00vka&&Re3dZ=5;lO?!L&`Qgy1BhC#XX5;m60)Oltl-1c~MxjG}|nWZY2D^$UZ zr~0@849WVH0oLwp2+G*EROO5ZunI<5`@fup3EbR7?!;+G4<_;Cr)r&J;sRTy_twf@ zhKR@As$U$x>s$QNVK7^j*0Yc`wn#NLB#K=80j=(ftbKD6?WVC3zHma-*uw}bfr-w? zuR2N7YF_G&a5n_qgWn@6nlzYRayiHU8-g6=FGhCkW9bb+9!hIWxF5Hs&Px<`SB-g` z-I#Ayjk%QlNxvn?lT<#ztVV7%b%`VPcVO1tCs^&yO5_Z!8U_J7)w3tiFn)E!KKfKm zga?nbdu$KAH^+tZP#z1ND1J~LYHTXMhBB+|S-6FxR{Lw!e9&S8(bv>BxY=o?2E?5( zs=GS2w^GM;eROxV2wT*5y9fGXO4YO>M-8i7^|$@mQ}B6$Ts3%h%|?b$GIq@l1h8fw zMuD+`S=-M_lofK^e8HA*>@1t*E zVb&)+q1&UXbr#A{Uvr&x>Dh_m{_j*PIZrQchZ)^f1Kop1A0QrUA8Gdn|L>9ZBUK|E zRAxU84zLcKohY}bj7V0Q9<}1Zmf6`sx|oSH!>kydc3u7Pn!S@G#Wd)zv9 zPQol?eH~RP+6M$46(;E;@U0kV)3c4$b$%k>^W7M0OC+(;PFNwVt1!=r!<6_Nz1P=VIYA9J{_|awA&N3VQa&=i9-EV>y>j89otSXhU{{6h3+y8Pt7fn%c{BO@Ffcp(dgV7C|;4q z-pg$&c3eKQMlDE;?758XYgroGO)bvCN*`sUwtEuX9s1D!8s(4Ts=|y(W9D~SA1%O3 zpp&iN7bGg9ePDhGKl`pflgei#F9LRNvU;AEC`eALR9Ow2tEK(N4};Wf>j=F)sr)Vg zHx`z@W+h`#pPkvGUb%T+#lRT%sAuW)(dC#ZXrDJZ<(7dFqB+W*U75i{s$rF?=)P+< zD11m+6hSwIMPI`reVP?GKT(jsXeg5OMG*3^Dw_UOQ6?NtTWbwCKT)DLS+mYhboGak z>I&Ih-`Lh8;Q9Y#_tsc&QN+2jMEEJ zc;b8;b$eI~7bea|H4Gu-fG2|4k;YsdSc>R`YW45sj_@1+zCXc z?H`6AdFHIyn%+~*-1t@6(vG(*O62HT3g7`;{vLyzDp&SwawdMAsD)i}Z0 zvIryag^Lnq5zkZ3mfBfJU1`??)bLL2F7~*|3(J)KY{%eVoXBtFjN6A|ZcdL^x&K3- zFXI>T)P;tB0TD>50$zK5)Xmn%U|LlV5nJytYu4gKQHSdbk!Nojv)TzerjSszyP7wR zT`iWc8usIhRm0x1I8jpAdZeq8r&NYO^)0dAI+e_^6cP6p#{r@HnPP{DMF zjiTleYvhHAY^)P7{lY{y%G~il*s?$fL zU5DP`U9}}y&+8CKL2GN3UX&OB?;4xE$-Ar=M(MNM!?6PHWmZ2b>@;p+`hZOE6(cfLf48rVWqmT9M=Z$ zOFsDW&Z7`HU*5@O#SX}hL%z%Ny7d$8MBiut9merNccqy76ZpnjH4Xc)f8F%$Q`|c`-(qvS??V10MH`DW1md?QnAud&V?RQx>X~`=B>qJok*+#&g0r&BGo! zS#OMHW2nHMVR#1JgVBR~M#sivUmS$EM^4onH>0(3&)DT@Y>PZ|kDQ`6&WAtu^!Ead zJuwV$kBrj?bwtj%XS_9tAHm?Bd7yDQ4z1iXp4SI`TZ1p3W6%74&|Qd(dseh5#x8(; z&~5w(_H8CgU`XR!j3?ZU+q{kMW6a_nnW#7Zj!bb+f512B9uzV6j4p!?R^i43_KbFe zmg0|l#*W4-(44tP#_Elp?ilQ_8@ay56RUCK3VX(4eb77uHwLh$T{`HwEEx3Mw%SV) zPmNLE_ObA7pNegxK1e+2+ZOvc@%boEx0-E#cC3FV;_X(WS&y`>Z?o;2-t|?d=iZ9$ zt+P8|+a&lYtLvThefsf6wd&1a}mi5IoG9c~||Q+%-b9MeuXhuDj}sn!XjHe*_29 zTT*K!xJYnM!3|c;y85EzTp_wt@JhkzlQhHZBE4709~Hbq@Ed{;2+oVNm^jep2`bj} zgvTv{pBMb5;Jt#mn1Wl%M+FBAtK0hePPu*1qFn!xf+tyv*4G#1ULi!Q1>a|FU0**X z7w5vwp-TjJvnn^#$8v`W(W!#ZvL@s?zji7;XWbSC3uhZ z5xkTC3XzF1+f67gxKeN*!LtNkAovQws|7zUc&E*F(f&_({37^Y!C@R{T;tTONvA|A zg`8(|u13<3za{uv!M_R~hNGIB)~PPzAfzpJ z9pEbkZxQ^QweG(9(aFK0DX1^YIE64%$kkV79Qk=duD&?q$d?Ma`udC`Un%6P1@E#M z$6{=IgvVEcf3a5GUmxpNgc*aI&rX7S2_7JLyx{59H}}_Hmi%3a@;Q}s%qtT-O7JAX zGXp=dT*aE;)4!NUZf+*&ls>B8e2 z!Ak@$6MVDab%Hkuep2wug5PzS`Txvyfd3Zk=Oo^#j=10x1dk9rL9n_~;)Fd{$diJv z1t;AE)(MZN1ivNtBf;MY{zdS=f>Ut<=*FKdxLpgkRu@2BrP>w`ZHRUJA&jZ&W|P}x zg!k=MuZ=iHzGzL_h}qOP!sl0O>Bjm#$!eTNx$*WFJW}vv!E*#J7JRkfTLi1`+Bk+i zD&$;D0_oZf`)%Rzso)<3t2+};L;-Yr*XV4)g@U^Xo+fy%;8kr$w?uS@@Zf`SZUS2c z?-cx&;Ex1S3qBMJ}>%lT6%{VO;N=T&Zn^9g;I%LR8A++Xl;!8{Fi!=6znPF~Knx^Ag|Bgysh zT>mM8=L)`1@G`-CW6}+KkKo4y?-cy4;9qUVBo12&&RX4wvaJ=5Vr1weM2*&#M=_*a zB1G#2Z?+CSTHhyfT!_+2tnQE1_s$*43k*(4PZK=PTJ~7|?2@mA=&;}bE+e?XOe^>C z`hU{9@*1uaQ>|67wSKmB>(=^k*SCfIQ^6^iwz&Fvg3GL3TkHFj%od^x1TPnSn^pD% zCN%!CmY7-#?jX32;4y+v5j<7!8G`2so-cTz&32Pb3J)%I=w^-Y$GQBh;5P)T&&@bR z_nnacF4)UUWR6az;CAIm-}R^z9(@Ei2|h{ibiwBeUMl!H!FLFL$YtjLRo4MlpO0}Y z{YuDx5&WOv^o}hV;IqMQX37Nj5ZoYmG`RUlKTUX?C3uP8YX#pX_&&i~1-~fxUBO?p za8f(e;?VvPoLbS6o0#Ad!Bv9m1&~9wC2F$e$GalF->j zc8vH&=o}=c+r}N1pRoByD5Z36QHqfrs|(1u7{sjvjJFNd)`fCMr#IQDzB(aq67u1$ zoK1JU@R;O!Kz^o>&k^$Th5SMxze32b5%QaaTz!$oF?0juN!QXRM1YqBzbyjq7V^)8 z{7bT7m&A{P`G||#KGFo6Eu7SH>2LxU3hpkrPH>~($z-Qto+qV}d)99mBelabb$v@ZNCnvKhAqp)`{06x&!KKaK3@&k=l{Vr%%mg+)on-VMTg zqu|%bjxD>%xW>foLoi>Y=Jut~IYf3$`BliZs+O>+f|G6NaEvGxTq(Gk>=;o;#0Kb7nl(TeOC(N?hfe2tySq}GofPL2l(9x4Ki6+Bb$e8CqAUPX4|TrGHm;AfRS z21{-qDu>Mn$W9K9ka4Mx+n-=F*Bbs}%XBEKdy8tE?5LIr?n8EL86bF=;4x$;$th%9 zgX4A@*!{54JRwhBARJt!+D(8ruU)=f@OrY7z$P-Tk#XAsHXVLO=)6jHTELq^zL(s_ znGWr@9V((f$xbe{9xa?I*dRNJ=<1~#w9jxC-gwCaX+;*TqvDPcE=qd zpDEo5MRL0h?0#G7ValC0$IrJkpX5F#Jl-KY5q&~#XGin}*!_sq z4?^d6vJ>gwLhkR~B5x(QHQA1{omNbTlUQeR+)j*7>zQ$@(`zl`*Kpx|hTyXVFCsh9 zT|&mCJ#LqSO^2@)IyaDUsgBz%)Ny#7&`CZll(q@pDU@C#<3l zj{cQ>*h!osT|p0Aq~o>$KDNOCyEyYe=hXDC*zVLw?kkq zg2?SJq2uk>5@#|?IAUbS-a;YoKz1TJLFf!8m)QxN2sRy_By?twoeazs@(amj&NzIz z?NBkTCOf0j2EiKzKPvQJBs)gGO~$1-ZtsElqC2 zodjY+-d=D=vXj_g!7~M4E%W`dh1wo&0xNOp|qE_j^a^9A1`_&&0ez{6x*mgDv)*mU^W7M-N_8XZn9 z-)iyD_6qrDLjI%RKgmv{X^9p#1?LGa5!^{}Qd3(G;W3QtG{A9!rwE=S^v@G~ttCzI-KI#L9W!)_9B?;RB(Gc(W3Ja*(t5>1^*;;jtcp|WG9}?`W7yBxJ<*= zQ+Ny!JVx+LYwrIrT&)qJN6C)uPm*!5h}*MZ)8Th1ckJCG^!E$-w?h8AV6A^kSU=f4 zB4r4VR%9o!wt}n4PA&EmJW%k7LjP33=Lx=8@T&f3E^cDC)5FRAda`qlbT62f#JFt{ zIy(fvCG__R{!{39aBUbbIjAiFHpy(Rne=cH&Lca;TOi~WLf%!#`wDrzkdF{NN$^a; z3&738#Ugq*)?F(29>LEE{!s9bfxLGC`jee1 zZX)A43%6lY;V>P?Y4mVP;#|QC$xh(Qg#2nDzeVu9f*-X;?M5$uLj-$Acz+_~`^b(d z-wXba>=a;dU<+poj**?Palzef9lMn4M1V%Y!$p8I1)nW=k>E=OUr%<*#vXF~sP!FhvP;_Oa#jOa(k6%%gtV3W-JkEMrGyQhc% zGX!5ib^>1_c$wfk$tjFp)9x3%MeuWEC!ROJ%_nDj=z&WX+&%`I4u3w&##>e$OorY&zUQ=yW4v=hj2W z`wRIXAs=hA-FZ$E9`i(ibA|k3A-_z>R|@%!LcX5t82W|F_ zJ>s?+tiE&wzDMXhLPid_Z58qt1-~tHlDp|}B0V6KekS8YgWD0X>F~coCv`|mViB@a zJb8jU2%QQc?_;yw2nGtJv4T$#0cMgNBUTEw1aBfc&HD+#I|RQh^gkNHM&Ra5c*KUb z$U6!iDR`#f#bhV$>giiB>ud((e=8-WqNNRQDU}Se zqhBJpli&elr!fu_JWlY$qzG`1;KhQk7XfY)yk78Tp}$@5+d}6RCJgmzl9(j`=K8r>Bl@Qs4k3Y`t)go;Po zE_7ZbM_A-BN5E8w-wnjr9j9l$T;)i)&*=j+(+mPBs*b; z2zhdx@R%SxW(vMQ@TEfkDj~l?$Son?BIM5te%aPh6|LAQ{#gvaF~zzV?|gw966TLr%$^xqJ?U+DbcGV_1L zb%2kG0G<(nTV`rGoDwI}LEV;CBRnO2%mm zw{L~~S29k~xP?cz#FN*;Nv*WSp;ZX}f5`d{Fe!?y?e3lq(>*iWv+OLhI}FP%yDUps za?b2520%aw0s;aGf&@`f5y1fkMFjyxOC<=Hy&z!1go4+sm;)*Xu3U3Mxki-leXD1r zp8wzH+3EM3sycP*)Tz@|9jZGjxT}KuD7a3+0~I_(!6OwsM!^#$7WRSu4YD&8{u~9* zQ}6->FH!I^1+P-@8U?RY@J0pS9pGRPY*7*(RPZAT-mTzg6#R;UUsv!x1@Bkz0R{he zI0r$li@#M8epK*p3O=G>bHuT-VFmjNE>dtK1vklKw!e9v0B)t=jtcIo;JymZD0q;9 zhbnlKg2yU&60k^ohAHnXg?p}o=P7uBf-hI_l?q<2;8hA13SO(=+X6h6qeQz)N!X^~ z2Ne9cf}c|Ga|(V*!EXrtVE^Q-{R-<-1%IjFZxwu4!M`b38+okDO$A33?C;!juzzHg zUN82}tsAN@7mY8#;dU{LhbP1?9yW^Dg*a$pJP#AaRvvbXzi=>)3=u;vsvDw@6YDPm zcf0tGhry!vJRFvZ6+Ap6KH{OBsJ$46da;m)?P4zvPl(3zA?DLl#O(PHlNP%`>NO&E z2@ZqBcpgTJtvt*TfAO$PoU{NXz8o$#EI^5<_zt9AC3-K!VWwEY!`9)M4L;I zXS-Nf02ti7vu1Z zSdW9Te~kEkaorH(%Q2$QWjG!lBd)~}2KwkSevB(nfJ<08&_iAK9J8>`$ zUm-qT4ekqtPUI(p@Tq(+~r>(9MvvGvO?z$eiUJ$W0$o1Q`V#1ob z=X6svyP>X?-cX!;LtUlCZ`P;9#en)tV*L$u&8<&XXxiCg)4_H{V*d?walKr8NA`(Z zu?em?u*@qGt#1T-qUe1i*uUS0O%MY10aMXDVK|L&yO@Rj%38_o9bHF?K^bt(!HH%-{|5JvqRTTovuIkt>)1B zz)f{4vt3$Xn+gUj&D6V=;q-n3sP7v~&ObkfsKO0k?$4%$bo;g<5XWQoW;EawEu@FJ z-$Tf-dN<>3;xK+1p2h^jS;eexHNsEnEO1QInm&83X8cGF-(=L9hD_%%2oHs=JDc+0 zT#42hW&_{^#A${u3U8?^k6zypoZ7kM^cTIsX~%CFo7HQ``7#1n^AO?ZP~B|7jm<*3 zaWW64Qx7eyd&P=d>T31l#N)TrH8LJ47jt55O0gYa3i<2wbCJ`!4z-#C0{p#*tgXxF zPl};y(M4Ot`D^P=tml{CqGrgnJ}s7lXD6{8#0&%5JPgB+W?YMQS zOOY5`g`Wau(~Py{;4WWF?!U-o)`AQQYeq&iUSF4-#ZR2z3l&kEeu~DU7mcF9z@ef6 zV4Fo(vfV`=!42%9SD+@ozJkKxqMAyq7m7xJ?-d;=$EGAjFF?y^Q5Q5jR`ePAuAoSM zn4^eaT8bCFR0u;9O%R*b*R{yTQLMCRHVUMQK12nLivC1jrHk&ju>E;awkeERbQ0X8 zNzoMOTwZiL#8ni12lF*8`XBg}MUTR!KL)*B0&R2N7*F*LK<(25R&yIF8fKxS3Y*_}vbty(B`KRquo9 zV0>)C2W+Ra(GK~GYsFO?>Uz|iMT7S?Xi?qk1wU~5NW$n> zvkySR0w^P03R}AV7a_wr%h-aJy3?Fl#-~)Yp1RF8m{0R2GRGWQLAkey9ynJvp(%En z1#y8f0=-t{@xy@5g|eC{ULSOlbCD#nQ!y|g$C+;|gFM%8E;ZtC60bc)WsMV2TJsjN z^deaRN_AteEH=JHerpE$(%EEiL-$xW{1nI^>C<788oFWUCF2}Q{E^-FvJ`@DrrNI< zFJ~cM53Id6u(oDhMD<=Z`k;_?3gw4G>{shmgaF44v4h+ar#SQ*rE>f`4MUdzYu+q) ztCI|MMaxa^XZVRz65^IaVedhvl!iV65%qo}kqS}EY~1^S64Fv^!t2g%ZHxekt#~wx zTfsO@Lf1pM8+Dq7>Y#N{W2IVSRjx)Usai@32a=jgNuFjchyOb*LM8;bA*WL)o0F8) zoX$B>5qd%w*;L(omP9v67@G9}OLq?qVd<#TEA-+&dh}NH=#$f9Mme(gm4(BB+51Vt zMF^&o_YYkI0f`bP6UsJ%v5Tb<>!qmT8`<##q;ZQUb08fjn_ZlwEsmFp7x!faCrC9k zs{pogP7J*Rkyc}jW@kvKBZS82Wd-~}6lN{f4oWVxh5M40EYeuicY0;?vD_=}wxp52;RT>mww@e)|85Yt{me`7YMq`I2dI z;N1B|S)P0~>n;d)23XR~3W!e$a0S~oGr$MveiumWdd@sccyNYy+2D&U#t96Q3J~+H z8YI|WoH5}Ns~-r*`;BTZusVSVd&e_$FSOVoH>+6#S;wW;V5GUOv)DQS5Xikum3z4= zcZn)@X&_g#o@QNFShrEqXy+`8#r*Ux4xq; z1DzYKd;ZZysJditQj~FS4s^j#r@d~m=An=~%vo>!{7>l(YUx|m!W(l9IUbJaYzi8p zSs}R!Sz7N6HH-%Kj*2v zp~RTWG`Al`ksuz_*o+5S5D!|&9C{EBTG}I7zu^tW`Ne4^lS1A(jJd7t6CuF#{$LQP zm4u~P4LGLS*pratnob9sTbFwWY2c2su;z_qAnlZ^WH<|Vwi#y(??MLtE|S1hsvm=4 zSNmDk@1~ue_E?CD%$z$zb9&iyXU)5V9opMI5k%Z;iYlExHc!1JK_z`eE7&E_V?>}wAZetX zWs|4~@{f|G?Lfs-WsMG|V2p92?e8cm>5R3fA!~#moOe#kS?WT}&YW@f|D>h($s%XG z%@YFRz#SYd6YQ=ilSn%g?Z*I$_sD6WGW9ObN6HE*X)@ixaafbaIa3bu?vg@z} z;JC*8W43hGU;v*ZtrLvLxzfLi=U^l`7ubDJZF0txi!pJue}ojxYRy4A&ptx&7ek!0 z&>o9}9Gm9@6v$!2Nmc<#Xu?X}cFyJYJpizw<}AtPI#wEVsU+f&GpE72S4g5A=B+ZQ56dXIzY+#)f2l+)d{_5viB-aa;SoqZXIuy+gXyxv|0BI+?BI2-J1LBzdD zj61j5Yd|Etne5@sHaCPU@g`G^+wF}Y(x|u|8N(*$K4Eh+&i^=Yz7jU8F~-8?qcC^a z90Kja=6~>O?Pk!t)8@Lrfr;#z^Pv4Th@y8gh$@5Vnn?J@AuI(OlTeENaIS zUQrey3Q_%WHfWc0Z|f_@m**wMG$#9&&Ba}0)}(m|<#J$wm_8e^ToQ)2ryTj;m4xXH zqA}i+gzeo!7u{#`>)m0^x`BT3zHLC7#jWa`kL@YIu`GUq5KFBKINpLtY`n`>ggY`e z8za!l@Cg!LD=N0um6o53CV3Y_+3>|W`IoLIGHB_#D{7>=)`Pq1=68I+KMe()hK=)=gZArWoVZgoRYRKOn ze-oy3*HPw!ahok$Z)8!~+i~uw?rvb=cj6|^b?djl?*=9sh`OYSdTT~C8?*5{WH&yB zNcZ-MNQ}+FPjHS7E-Llo`tr_8n8dF)7I57cTyHAu<=*o*Sn*$3{k{LwIdJ0BFbv#( zF*NJ(6Uu?N5IgagsLEE_BNpejux0Ic^^`fm?U)XU9n_GT}ApGWVddo zHzcLF(*3$yrmuvncr(Qw$j!17P4B-nbaR=o-@CUQM2&s}a((K(PY-CJ(_#lxx3a$0 zI!C0bryioUYxM)DJgleoufIJ@F{e9JAQ#! z|3F=G`uk|8H;Tz&Jzb1hf_EwjPfwo-2k=Idi0bJ#p}jYTf(!KYQ3&wH(gUmY^eYh% zr;%u`r|Ci7csfvxp1u>hc@vn@LQh9U;|J?X8!bcIyjkS6*3-P$;?3dAyH-z^ijyC# ztJWVD^B$}#%Qi-mY`P(T9nGjf(DE*3TN};Oy(P;*#<#=v-cmv>UO^47xDMEihcHCE zW%Rgs`~;S}nhuwUZ=~D&_P~y6%)qA|0c1T2@B#o zFu=U)$zK$2$^vW1-x%*qd?Wd{$M3|v(-Y)B6F=VszJ>f3;t$YbYsvpI-iWQFl3OxQz)VdYY?t?+&gM(|Y;|n)n{3lnH1JF50~(xhOeLPjhYWJ;m!1=j-X4*}~oI zz0)v>2%Gcaj`n8QkN-h$fXfToMk9=KvJf;#}%_@6*vt z&1glVeDDDB6wdYbSBcpV*QK+U(`ui63SGkTy1jRh_0Ey!3-1f!b8)kTnZEi2C5_7{ z@em!SQNs6r<~y44&zpjGn5NL;&0$aPcUsSsXH)M_dTv#mXH)M8ado^&Iq+Y^HNxFl z7fW$hH}5DJt-bH5B|eJ)qK(%{wA)!%o^1=eb@JLUm!-2coxMhgQl2NnL{F~^tq_%= zt(P|yCB2vodi}h$Oev5l_1^21Abgo}g2yc-y|_#n>=l)RD3nodn8(wmmyoe>g!d?V z?j)~RXG7E;o`Uh6S86)ndxJJ8(H&%4kU9^|_e%9O7{*5mQjgIEQaUf^ zI)3ULk$$AEQFb1OOqtZbz)uaMGEHP)^ZgX}`t&L!757s-S$i!dRp_T~K;Xe8Wp+RV zKb4|GwU$z_BTm?)1K3qyCLvyWN)yexnZn!YJ;1h-Y+HX_tKnIypLd(SiF(YZ$KEcR zuX+D#2;vS&VAd@@ex$BrHom%my_5giRQtSVMo5UV$I^m9=#oUTd>?|-b4CA zm{zXSyoYsqzUDp53U*2&?pbW>Ba$fhN=ZB>iFV!?+> zB)x0d(2u1BN;HexpnIR{SHT|E6)gIVELz%4_YUc4)-snq{gcF+=hDhQ>rIhhdJP#Q z59^%lguMmy>Ho=wM7=)L=oh^P+2Y*>5^%ABgOko5@qsYllQx9M!CF^;{BmB zl2vmrNZDlcPt zT@A*^jq+-z*Ueyj+~he7=-p+R&E8||=^m1}&Exm&y}nZ6+r1Gy;r5f#?v%HDy#Df* z&t2X|YG21PS?zAG3H#-EDd8UPEe?l)Mg_d#-pJ&cQ}Ag5gRZe9Rn7hwVhllxTI(r~ z18&KqacLZ&;?>vfi~jym%aus7Y{ z2EH&6J8_0osK3{r#7rr=&Ra)^nq{m&S7kgrps=g1VrV_eTceF76 z%hWCqpKs6=j3~Dm4?AQaN4+8H4()6&zys7m~qC`v*7d6KAJZiqsIH)cpeF(QvDF+yg!ULMb9Venr5$Ig?}4Y zBD@}FrpA#vYP^SxCzz=f3`SLJyMk+2Jv~}#*^kuM`woa#86qD zOfBcRxI^eKG-69Kbz)*T$W9@?JpN!Z<n5pBlPRv4yzWxbgUQt0;=ZTq8tLuDOE|RJ!Vc~e;#Aq|RVPgJe6aN>Y;ZO$uBEYpR<|6Lfw(}ZDor4FMFqiI4}6IGF4Im zYIumT?U%~b?ksIEQdaSMW$Igw^-+@gqcX)iecq{(`m-{%mqs5g+j*oiHHE`{jHLdm zOdUrXj16%yqgACUXuH#7TC^(l44X7gQn9MkZ>(Xw%o(prwG3xLP7L*hrs*op=5(5_ z`OhS-IULmHaH3P@xb{rY?B6^cLuvj?n(^fglnR>+D>g$7Z6wni%_fs}$b4gdPOr;x7+oD_mJZ54=e`5C=(emb#S9~bhf zsG=1pmD?q3W|Bj{jbv zS^W)$A^*LPcRu}e-35N|#gcJ@+jqNhU1sRcZ{DnX$`I`i9Cw=7eou$aV%#IGD#W+7 zechesxn0-jV&$}X&2K!Vy(LbHbnU!z>b|<;%Jqffq=u7|`mN&G-|Bi!Isj#L3@HBn zqTmpGIL|LsaAO6Zpx}`T<^{@p**Rj;?{&%2WeRJ(g6|cpf3G{f^mm0-5I$DAkvQ~w zU1e!TVU1Ss6jA#JgfCK9Hz;_s82?9IW%eb7^@)PNQSh${4!Oq^@D-d^aE*coDEMLp z-xlDp(zb6Z2|p{iF@{;*RxK3VS;74kJW9c5h%tZGwH2-BoEweF@6qJ?@iDRK&$`Og zf0V4hD%gyOkN>Qja3Vixl&|_S1+P@_ItAaWVESsl>?>mF5t#X~!qT8gKDk)IT;}Ha z?G!vf!P6Cdse-Rj@J$N7Gr$Oe_w1Bft3cgRlj|VvDu-BD@ zj}&}J!8W3JUZDmGE>mzz1!ojIRKfQu_$fa6nHTz=lJJ>=3*hYeJdGOM@KWZK>|F|L zw}PKj@GA;_Q^ETb{IP-$D)<`(|El0>OoE|GaLVf_HtCt<$RPnwI{sJ%FH-O|3cgXn zn-u(zf}a*KBXfE0Q*b)Zw|usO`DACFzgfZeDfltbzr|(A>}Lw=7X=$Qf#*dOC^)6y zY6W*ta32K^RPbyC&ku0mUR-SCE8|7vJl>$-dlme!f}d9Ks|x-=!JjMmCk6j4zqEsh z$UhGgzI??E72H(8Z4^96!J`y>u7cMnc%y>1k8hl;GYy6Q36_- zf?F!Mi-PMEJQUc?S2k9xetUYd*&HQZewrs|oRtcHooHrdDobBdSf42PTQLdA%@SCR z=Y^Lmm`}~-`5AGKmFbyXs<5tC@FoRsQ}8YYzpUW*75s&Q<%fH64GCezk*~fmz=01o zQ4(qu+*83PD)>|dPf_ss3SO+>`xX48g8x%G{Fp}HD+zo!C9kQCb#)#$P;i-oTPnD# z=`&-*9F|_8x`xgo0mC@H-0rQo)B6tYP((7adh_iGum` zM?O!x00;h4uO!G1=j0r2oWh@`;JFH3q~PTW=5j7y*&Pa&AJNIlf2y$<;$`m7UXJS* z`Mj$Ye5-=DD)?~)zo_8%6#QQW|E%DWCdcZk3NTKB`0K7D94A&sGRfF1g*9J16hY*; zUtzti-~-}NB-2yu-#&Ed zjGcj{ZQed}M6-g-46&{t6K$_yWu502D7d?VhbZ_ov9}=8v)Ouub&rCdRPf89*3S&j zcExHuU&CMpk5TX}1z)V-bqc;m!8;ZFtb*TC@PPnl*)iG=N`m}sOU`{FSit9%D^)O` zWX|(DD>$RzlNEfrf@dlCl4htsFX$>IK`8hR1@BStYYP5I!QUwOcLh7u$LcE1W46CC zPXM=9a9;(Vq~OyOJYB&TDR`-ZuUGIU1#bh+=3Bo@NqAYo?<@EV1^-XMq2|Y0R;b`6 z3a(YK{Qh~+#aZn{CE-*BPf_ss3SO+>l?q<3;D0IjQ3VgHIi~11i7|uc-((V2fTsfI zzx;8o!e1@181+c|vh2eOe>ZW?VfQKcM+F}t4x*5zw>Xwxe#<9U)>HTe3T~+2RDfGa zO`9qS)e3H-;0`UslPk-Q6R#I#j^K5`y@|~8){m#+5}R1Py1YniDb92=7LCSBgXImy zk>X53?;#2sW-6^0Mr+z`(H+qEx`mj~FjK9+FWzWWniT6AX5x59a%;m3Uhab;@!;jW zZ^_;w{vw+nf>|IY^}#!PyBn68qF*u-HJ+I-h9oo97QY3uQe2$ORN_s}^~p?geW=)T z$;hPGpUlK9zG)l|BrX}3j2l&#h=MiHt#t{+uN1vYGR=*4m*7Rk@@k7O2OkOYZhs;xzwdV_U0Pyx>(Zqi-}f^f94P*HwPR}M%+gG! z2HB_UaA8o|*3^%*#KRBEF`Hcmp#B-Ab6h9fl{TDRnAG64H@>`QzS0q_!U4!===SSK zFjwQcpwR%DfDS}JL5Vwx9krQ^K1uwqHdEfY z7S=Rp=wCs+=Fg?vnUc``S?xj0(vKp+^f$nN&DoL&`|pT>ZQvt!it}(VzOE8$+hoRP z`LPBqF%zz&C#JxrMq(T;PJ|MN;E-nG9!$(E&EzBJR`s9|SPUR`^L~KE)#%`IyEcM@ zlZHZe8$!+DLzZ@1V$&IqcG&F-fy2)FCcy2B!HGJ*K(O7Rm?Jpu^kRXIR5{_SL_gY{ zh)WzaMYB5}#&6nrS!`^ZDe1l$9c6dD4%ORHyVp=weH&cJ?!6hgH0N=2y4{D^bQZF@ zzAPQq%wghC+f0+}QMAhGVbN~7zX?rodRok3_+R3L?)0))vFUGxQJmhA2>YL*N~ez` zqFUr2tmE{x#-iq!c?H^HE`>{kucpW%lRoFRA7h~6qbJ;iS&oHj;$}26lIRUTizfbSpu$8G2rWqTu0XFR z#v(PIsD-M9i3#G%cA3Uw{#}K_lg>f)F7?R*MAriJ)68?wh3;kKnu8$FU3vo&3pe7Y z0kgrWS@H6Jk^4Bg%-Y~l=%ksyRf`GjGYzwRpG8Zo=QWwc?P#@;_#C1_i2=-%cnLjc zC4R*iuoJ7w*&^Od4k!2>7B_Js_+DZqDv2bL&Df$Huxl*w1AM$7(FBV7iBDX%hFVk$&eC+>uCnkO2dc{PduwZ)y2 z#1V8%%S8WJO?=-EqT6T%w%gWd0OkA-&{DUZ;iIXVzYAUBwwFXm zi#(bD)xr24iY0Bgv(XRvOU8>AJ7jva;4?37Z-YkG{WRwMZXZb){vzn*_BG03`H=rp zjcDC5)2#PiG}Ij?a}<=jql^V%)aJvt+*1wuujcQB+U{sWhRQ&xF;b7Pe@I;0F;iOi z8@$~eCq=~kC>>?I;h~ZO{{wV{J3-2f`=4NhxTnkNOZ>UiWs=be%_{Z#imy6ms1MhX`6PnWvy3Ou)Pia5EaOKiT29?&8_cKqKO$zkb7TeO{_*t6 zxv~jOeZEcYUSOOF@2m1}s|0bOtY(UTW)#FllEAB$k*<*A&Nps?yaL0$)F_AF_^Z*k zZr0$~(|nty7s&!p>MeARyVy8_{E?68jhl>aC{lO=ej3Oh>E|(%8Wx1zmy9eWZZ1aF zm!%NRA3(KVF}}(|ydGG4Z(waLvWM!uY79Z4$Y#n9hrU9#$U4L|*A20Q3QFAKP#7|N zq-$=&&^5@c`Rn1XZZfnLEjRript@TUY6We>{z0achK7TP`rRlr6{42exUbVrX(=}0 zf6p#z9QqCU8fua63P3dp@g__`)NL9%<)0cW)f%gEHA+dKXaY+|-Cm*h|Iwqjsz;xk z9>3HgdtX^N9GJbIBwQ`>0|u_!KeQGCk|i!)wQL0sE0IR5m!e9V(uW2}?VydtNv zl0s`n1ePsj=UyKX1@osgEj&OcX=L4stdhS=oZdB4+Mqweqg!dcm}h@0vp4FbMZRYL zx3+#`1u-~|jIqalw8*zDkfDoJiZm&)t9ZX_rYt)^p0y&K*!iaf_z5;-W`JL&uU#N< zf#=S%?niMy#4&NP#h{@1=WrCxw=zhu{XzzSORUpCI6fa8b{AMfL4^IQaoThjT8uw1 z|6x{fsdZKqeqZ3ai>)L7$h}OJd$}rii7Iz#AXke_W`A5^JqZB?qur~lD-n7F4X@5g zlCks}i?P)9-KNOC++s9v{R{c%xw}H1ga`W}+WcCn;xIqM9$YCaIoUr*tyf9n6n_>* zv%6Xva_Njd9U#DyDwpOzAAom%|!>KGN{j6I0 zIkoijxzfs?oUwsf-+yDjiLvZG2C(tF;OU0$-G0{A^?>XN5v z+HhA{F{jYN|zIEV17@4q8N3v%~@GQ(!r24+Avl3SVzP zgor|2BYZ5-J!sjOHWfC)PcZHoPvm?{i(Fib4BuMKnSqbz1Q`(Bvs#1A%qBZF;;ugGneM}+b9ymgBqLhKnvnQ3z-9J2>N$R zdk%6LKA&-MTiIC(4f%Y~-ED23i6qlMu^EV3NmyFs6rQBo*b9(UV7eV_-VpS=auj!z zay7q_XN69=N=|14>TEO47(PFo<#v$-CQjR1fa+?0N=a$Ar+on=W#fFW((Pr_oi+b% zn!dOF6o|OriyqL&W~43&D(NdLN%_fkNa-huMwmCW2G!r@-ASB}>+Sog;nf_11MH(H ztoaQf&pl4oVFr?pmxU8rHZp{=POulVbiy5E9{~uI8XPDU=X;gzNm38I)57dSWa$Qh zsG*W5(jxb>n}*p>26_y)k3(z<^cWH75l9*-CFS(Uj*_MAK*dvKjgA)KjKv*ohasUL z>5jE82Z-}EK=-tqrRLhmG0y(hprtl3?v1y3LO>iCSq^G~eG1AX)9yt39e|RNa?U4h zUh-~RWSA`Nlr3pPL!BXODCvl^mwTo(K}jcOnj#yaMK&@fO|@4-5++j9YztlE|Cb`C zOFz;4Y3$syWrB%e!8#*x>Nvw@j82B#S@w983dZ$p>8lvOh=1-m(mKI_oGbmSq%DfL z7uf$swJE+=>0V?o7Vy~ki&*Ess<#X2`epV=U#3< z0{|Op?vh-;(wsEGI(t2cu>U&a`g;2|5K(^!dt!rq4~V$G5rf>l)!qgo;cM)U&GtheO8nkb<97RT z5NTA*DNoG2UjFWqznr7Q%>H~(GG@MwAQm&HL%W#y7h4fxZ{BJ1fwP9e>i0q0LMTjp ziR$sTF4WT#Hz8~riRa)ap~O3|mzg*UzLnUF5QV6|h7H;!-8&~^x80jEHlyFPMAuG~ zk*&peG7`-(4+|yY5Ea)VuVD@CJ}(Pm&hwVN28H5$2h)994jmA92h)8=5{5sRLG#_* zpyG3N?t7B3{jqfCeX`Op9$lqRy>FigX^|yZhPofyTX+Y#@HudTfXpV!nPDz$FQ#;iA$upsWu({D#q^glyf^)Aj`(6P{u-u&DJ zo#QC(5?y@OKhs0MK$O*C4b}vwIXqP@Mfm)ju(w1Kz81+MFnUY%zfqmM2Cy5_^NX_~ z2*zHioLNWsItbpq-G}5-#^7%Olv!xuuX$RtTSum~gBhItXia4LVNE*|#8I56B4=~_ zm`(v4Dl&t4!p=<2s%Mg46DZIRY^gw*X1<1&M`ls9y)Tlz3Ek_IGyft81?DGUBa4X* zCoP(1GCh0uMz2S%Br6`~JDZVZU()npzOxy*>Sy30=lKNkT*CmDaHhgDBFkx*VrRLy zHG>NVPqhGRC0`3Ea~cq@Vtbo7ec{WI)k*kixx;5kBiFN7KWA7K@ER)D-}#PwL4MZB zv@Gx_XxWaA)6Hk)JEL~ef)iG{D?CpiCah6v5vfkTPAfdqwWy65Z)a!`}O?0mssuL+JU)zZmv)XBT^J3$f#zBi^XbG?r`nxbqVm zxSdb+Cc?1p4pvp-94rU-em05m;Q`bZGpUaG2+pRF2Uxuwj_lkb>qO5+9${~3&O|ok zQDSsv1@L3Urn7-P^fipVQ8k+~mp`p8=nzJo{+`9Q)VHu`s# zEQm%-y#ks1Dh44-V$DATZH?HvbV~n1c8ep2McBWHZWNY;3;o&nNMB}f_0LK%w<>TW z5&c{We3>$$I$cEbKc%iQN$7Hl8!6CP*6@p6r1*h!co8y3;(AA_eI8vVDN_ph?oJRU zsI}H;zaA;m|3bI=U$SqT$XuGAy$>-qQl--mOrN(FBh6*D{eEW*?nsRug8O{xucQ;T z(AgIU(=~Lp);hMlyh_4E%NKy{EcC-n3e z2!oMqM|~%Hpjc1OZ2_{g&g-gpWA4HPs4n_mq~XQ5Fe~h?PXmS5691-0^^~SLQ%_G| zXy_xUDSG-7O6jXFMC+#_Cza_ZD?Ce2pM{to>903O+B7}=0ez^>(4Q7Fj?Xm8J`LFm z^z?o7isNxzjIVsAhj#)sQ0F^~`}Fi%bkafkb~GEWe8$Yy=!lrfE0!^nyScgS#U>~z z2NYJYJy0$(SZ7z53xK1wU6AVj3;l6iK3hMnalIZLlDz<(@9-7a=up{V&L&8Y4kI=k zUT%w?Ol&&*B6jo?x`ORIf`}U(&P8j~IT@Vjh_1kX+4(JjM=^g`FH2*F6FrrLr?v+0fJ>Cq*BpjVxj z&<)Y0gxDIcBk&a(&M+q4cLQEV=Zib*Sng{2Ucz~lid{o~C+8mKUqOC1hc7ThuO)x9 z^Hv3LpH)m4=Um(r#A+ria9SpSuP1+z^AP+dx`zCX&I`mhl7G81qZP0Si9;tMfHV0^ z=XEx6124>d>nwtz(Obzs>=aV;W)}OcEJ^dI2z3gnXEqV`A%Js7U zA_7Kb1gz4_=D}&A+g?V=mU@+Cp=_V5@$o^-Osxj{bQV>?(OGjvgVd zcDmDCe-YP+y9Q-qscY%KN6BdIzs8=@bP{d+7UI=Gner@e^mOw7KHjMMA}WJgFMldZMq@JE_48{HlcNPPrQTnTNEP*E$_ajdc7I%^4EAfOQK5`) z!+f4|qX`)mNBDdj{iJBI&W6tQdHRkvl*-NXdH#+jB{APGBvGPYfNTrW=@5ug{dUC3 zBUo_K2U0pODm#99mw0S2BGW96kTR)%fuBCeEJ5`4{q)0Cpekg5i~DJw>7y+rRp_UC zBA7>8NveUL9^V2~YbgaUe8xBdDoqf@+0u6U-C#%dQdobzQ4M;upkMSh z-G{gP^>o?WW%D)vrE(B=NW%1s#DbGD9kXxIOYW1I3;jA8VVfkH2lI_495QQR_hKz_ zEqpk-LthUC3Z_LL(!W8PTtG%2)`O+?R93K45^>*VTOW}`xt}8Om?YZy!>H8bLAHK! zeIDJVbA3L{?&$b>;KW`WV_DP zB6De==k-?5u3%C0Mg4Nv)xS+Vft=a3?2T7+P5>Rb!j0~gUWWw{ydnCAlw060W2@hk zgzw)@w|!e?i~GfJ|LFTNrJ-D`MnBSdg(K${H(7+g6TJ4oII>=hS|e@0sZ`cvT;$LuMb9l(Qiby zxG&E>ze+Dn%R4;L-y~5c=O5AErOM^<4o~zCozbmNwZEQj@~8eGtlh$2%qVh1wx+v3 ziD$e5d4r{ge*;yB%Ns1c{D;_pLgNBaI4siy4>YtNhO^61F=!ap7c*F@rMyS8A-5)PViG-GO1Q`Wt~H2(#!BS4H_rDuqbC{kfGz3& z(!@gy&OWgf!bu!oqonXodipr_{#Z%jz0R0Px5wNMo+NKu-3fc=!gJ&&Mx=4ZTF5LI z8O3{@9tNSj1Rb4jaPJ$<-^VVSArk)A7Ewh{a2ahRE{C?E#4U(AxO&!?!Te$=F=lchThJkTlkptYcnN}| zH%qMf1L-Wc7|c=T&tT1KrDbdUo(%QtCDGErm^c~qs8zCT4K?(O5|G^>hRwv+R zWO}2js_4(gS=Bg+#rY~|^sqFk=6}r4{kw4%5=N!h)PVTIXeT1WGflG(&^`Y)1Wa_C znO;EZsBsZ8o?xbbVwf^R3qcJw(|jo>YK2ySI%uYsbOvS1W$h6&J)M!lk0x#D)9haC$M*g4=QDh11_Lt+6aOH=J$>my1@07~bcFoA6c8Xxq>pINS1M zx-DI|Lufr3u_c*)w9#;ook9k4 zH{s~&CaF)8>D$oIXm_dT!DM>8xO4;_Etw>4!J*ahJW=)uagy*=GTolG?=N$HolHxI z9w4c2lIg+X(-E0OxC9<>B$@6bj-Ytb#WGEgbsXr>yyb~EcRZ@Rerpsyc(XyRKD$`Xw{f&{- zUzO=jbn>wwE^xG}^wjpCPLpZTs`N6Brg4&rRi&S24dZ3bcvX72mjyX7^a(V@tDr9D z)pX6=;E9=C;gT+g6P+^0b)#qy`!`Q-1?In`8Irz5shG(~SEERjA2q3}=t^`wC4nH^JyJdF9FWVoN5A*GFa2Cm)CK7Lyl8 z4Ce$Ch^;uxyiQ{{RP0(}J3MR7`C4oxF`k;~1D#^43NcRX6Jj@(AqqRQVd|J*I(Bdr zy-&^bY*GeKimfNBsdHTm;0<)Ks_@h^&eLMIP8Q;g-~Y>faAwr7y%2K zt10BQ`OI-Oeu5=85sXW%P44FudzTr^No>lI*DNUZsznY*d}5E4v(4>XBY>W_m6`=?^W#;Wu^AfkRtmT9IxUyJi&+<$^v zRqK0^lED2; zftfl%@0dA8{+=m+&yl};ZZ2l7mA|xC%-qv@01vN7;wSm*K}cjv2<%$DA#i~m>!6Rs z`1QB2^&RD8MDr&jrp7u+Lig8+{bO)~s$u7Ll|0jz7n!?B0;j}5_}{d z&h5j){Or(kAtEPk_>UA#$`&!y#Xcs0_kUc{J~Jm4=&~P^%;)* zBAL?9zY?C{7we25^}et{G}K#wSnl&xBR?rqR{7lb%E#Op_S)x{i9@I%y9zGjH`f0| zUnW0R#;eB8E!`YlBlK9$xjYLy9RKD>i;cVnr>U5^V>A@IHewA#{Og%lI3RE*m z&DPV;GGnz=a*m#UooUT=TJc;xJ%tvk$x0GCQ?0n? zC2_tVWr2+&;O0ay-0r^DlG74F$Mc*!qSU;?(*R;(mBMI`6to+ z7R!p3`@8A9m&rC<>yM_%FW2`%z$*W0+UyFQ^W-&h&g5Sy%iuyRui^Pu_t$w9uc4ma z83Vaou4$9GzF8r&;EzzOVH4*ZzOp&S{+IMG#SXBUM1Ub1KWIEwkbC5HLffIgDoq`x!LB7CXH@2mF* zE{OUk=?}5M5yrM5GGkT?WDE_8`6hdMm{cI_JD4uuSwF@-T%IjQ&HgF+MUW6Pd47$V zli*S@^KW36j>1OBNl+8bWko;dX*_3E$DX@Q4;sXT%K0d)kK3jXfj#+m2><%J|6y2H zy@T%4kEK+7c#P)uD9whWM|0`=i0bpEoUiFSq?&Dz+8hH~`=meIKvYc1q%6X9dz<{b8~^&cLtUVniTo0zvnTO+VVt9LN;_4aZ#Y^)yElJ{}-4h9X(4W3&{Gj=p+ z#vP=&0M;9Kk}F^rW3lx{2%U;b`SyTDCut(?KO@sR`*VL>OJ4wc9VNIOAW{eL20)U) zgkqHh?E%^X1QT=p5$9g^auBg5kEc`)8AWSA&coC(|gK%c!#KJ5c05+Soscf9SywYh#79cVaYwx5nb zt6#=DVONrrhPaF?`UgOEVCO8MK|cY7Pl3|HTk}HaL0x@as3(d^x7F=$t1TFpfK0?+BqP(g;vn&(Ex09 zb5S@o(@;D$CDXjsuaMERN8o?wBlAM!IT?9sOHsG9)i3~-TE$X*nsYebBMY1sI4nM6 zUE2*Uk(mbrF!Sd@70ah)N(W7Zr_#MI!tZIu`O?YfqMFXU;i{MDd2=8>!5rgYj=x?75}dgVoRk)n7pzls-ckn=Ed zv~(f5ml%Ckro&{~vUvhb3jY#1G%wxi4Tbq+AGq`t{gf`!-=3BOujS2*6aO~&$OP9#J!qdlp%9{q-cGB%9OMj) z3a#rE70CFr6nraG(bv7-2ZH$&Hn@S{sxis_lBA)gLs~QGWVz%K&1RJUld6woMEak> zh;%h_2EpJL=p>p?&vcq~AI>j0+w$66Q-qC{oLcI?8%JTgE}&a)L=9g-f##@Rn+oSS zfM&w{_W9VM>}X1B&Mr6){67M|bfMF*6H_g_S-Rb00Cc6xO_E(K#4 z?~`_>|Pz(70VE)3_OgMon9Ze|_EKeerfL?3R%an~#Jc zsy1QBf~Li}^J~l1;^VV%#rQ?>_t}{aE$JaGU&bs`9~h#kXGK9jPzE}vMA!)9>$O5Kz75?>gtNUqM?~Q<)0D>K(YF&_<(UjW805oSUChd~b9L^){ z+N)n+*Y{^+nl`?VS;pq`P6i;S#l+2>_ESo{2)^h%E zXFvS(8Pge4<`;~)NX~7h)rNi4$H06Xn`td4ANlYn`F)3@f1)!(yz0~MYlI`c`+dj~ zn5j)81Kh?9(qQ*|=Ko>8K$q_Sfw*Q?rmcOX0WRh>5W8pLu5hv(=P~>jCiP5bgl_&9 zw$$sQ=wJR@gX{hcYxCclm^leOz<+m>)4wmw#Q)5Nm_YL%w_!8fhME6i8dB8_G0o4u9dlTNcSIXpK1){v*@%x|OJf|MvM}@flwE&Rb_^ z4z!lLf9>45HuJtIH~rfA{l?6@9rSiPpM5K{(J|U-;?=h@4Rl)*=O0D45-s&of%VQxtrjf)|Mjqdr-Blfv4n;K#(tM*Z=n zF2Ye>YMFvti5*6LWhuAf&L>Y(@CD*K3SXtL?ojakqH(Cca?%G1>jwq@sbB|voUfrs z!A%t0TEX2EJW-tVVzcC=Cl%Ir3NDBq6WvY0^$H%Q;Bg8*SHYKxQnS8o=>rPu1qHt& zCYdnRUkXcZZI$c#CStu=f4Zo-+l`j4j~&zKUIp(IyS&<@XuYXfRR2N@u<9$bKBp)- z5sehwPQm;hM?TLW1y5A)5(RTR=zRV=75spL_XIc?_3w)QfA>!c)2=VcMmUYjDO9fD zS_Su1@Gu4QJ#Rj|#OP0k2S6x=Mp zIE&-2m6Fh2!Ce(Bce%<5nx*jPi}hZ8a?%Y7YmJJjO2; z#gY2Uvv(-0Jqq5dU`-h=Q3aPMxJtqO6+A-0-1a%I*31A0J~K~A;DgcmOsf>UPQiC8 z_!R~3Q}96r|ES<23J#Z`{(NO}!>L?<$PK4*xHV=a`8?eeT(96^3Ld9me$pggcCLaK zV>{F;J)QZS!^%va!XvYb=8p@N$#xQ&AO0An^^V3?9HUBP^^F`s9d zg4ZZ`qk^|8_z?yFTfwg$!zu0kV}$mdg8vY;1&F3KnBwQ_@2%j0Vmgxb^TdjR`ef{O zC1r=$QBdDA`?JE*xrWSH##b=+-Ock`DVSfr$n%d^@JI!pq2O~B%x#BJHgN0}O2S$N z-=pB23Vv3>{Q7iWi31A$LBZvmp6C5k!NbzSk0p##5~eA5u7VdSm>=xO3%yCfcZlBc z`lqsTgQ;Add@VMgb&G-@QSdVgeqF))75t@w4=Wg7ivCA_G{AvjOO%8v1-DahF9n~V z;1LR*sNk6jo~PiY3cjvP{83mxAN*7v z6~8Cyd&br)tb0ZO;`*K8k3IL7OBIs2C?xR-+Ec2K!IayzITmfJz)u-pzRhZhHB zv$7xMeo(mtxgS&x%l)8oSndav!`#|Guh2UR{!GD#6ns>{e2q3=wowi0&l9}rn8#fe zJV3#d6nu_?7b^G~1>daTyA;fQ&t+X~|G)DD@EZ#LM8V%F_)i6MTlKusNd-4ka7P9A zSMX5ae@^v$SU4|ehJr6v@RbU_LBY2vc!z@dE>vD7_Y}$F50Bxj_SG>$`&GeK%VPzK z6kMU;whHd8;6Vx=qu?JE%zdJC_CNoeR>vw!DY#m}9TeP0!2=b1hJr6t@MQ|VMZx!H z72-(+zog**DEJQr+pUi&-9W)j6x>q5ofSMbhh_VxC<${EyjsEQ6ueWxPb+w@g1=Po z&k8=O;7BcY5y?A6IWHf=v-wvmPHtR(QRz<#i|?T4lM~`V8mKZ-O@QmD7A{ z(+cK;1bIH+gwErB3g#0gdH!expQ+$E3SOY#WdROG#Tq4Hqk^|6_z?v^qu|#SykEgz zD)@g24!1j|ba}fO$B6DqLcM}dR`7TQPgn2-3g&aOd8@2Y@GW9-dHoOBTiYK?-m2io z75t)t-&62^75uY;^$y2mHdJtxg4+jJ{7_LpCU%FCaK9MYwEn&9`i{qB{7b=)D)@N? z%cl-^h!&WT&7;B^XqT)`hG_!r`w z>9RUnt~-Ge7BJriWcdFL=PpQFLAE$B&G07;z%HL z4lu9s^Y0QR&lSYE3a(N3H!JwAJZAeJ&J)0Uh;xOXQ}}Nv{C5@p0fqm$!vBFdr(Air zW4MKaI{;_%nR+S-^$I>o!83_-W;~y`fNjS!7{En2yqx@816C_}Zc*@dV%##oUsikc z7@<9_;8&FbUlZplK1>{!g|**+i*h*B{aBtDaZZT_3O}vzDBB-RGjl6pSS_L674Sn!7UQ_SEgiYL7eN$HVVI&f{$17 z3?|OWIYY@ao46>De;#mA4lg8M{2yO$0v<)t{EyG5fQW*K3gRsuh!@@pueYM0@~R->|MRJyUG{yy z|L2$InN4+db#--hb#+fq&s3)tb-u_XusEjFD#CW{_r>71#=v`H;1^@)560l%Cv4aF zeGKfW2HsXjIEe|r5-}BUx($~QZwnEOfjh_04n4E;QX zSA+02ChP*+V~BPU&QwgF1e|WeFT~Ki9Rq(B1Aj-@uJ|XycG|4oqu;Kea;V+_23ur0*482ru{ z{4+85=VI`$5w;ui?-=+mz~M-StJ`^^9K!ZMEsB9FV&Fgw{Y5eG)iLmb82FJG`1$j2 zSUbUl-Ll^aXQ?hY132A=le+_Nt2&*qO`jKoFN(ppj=@*P;Jd}(dkQ|RD(e@MF);?7 zDnyFr`WX1O7@CDK_?0pEdkNbO*cbyp6GQ(>n2Bsv!Rvt2ZTLtG(NV(96wTK$^gqYI zf5gCA&3T@ggzc`pAO>!2!(k179hk5y=t|fYA`}DnkAa8Az!M4E70if%=f}Vc3ETW1 zB5ZfxV>O%vnria*1TxZX_&E~U@M|&fyD{+hgzbudje-A)f%V$+d=g^dT*6Wo?Qb4U z;CN6B93*T@T0=NjlfOE^={DRy20t_g9z)nJdtD5CR}8$CFh4HDzlWLVqu^aJL zRruFp@J9$^gz)cZ4F0Pa`1=_6rx^HD3>^M5CZY8JQ(GWc4D5@6Q)1w(7&tcuE{=iA zV&JwhaFv3^{GOSEAVfqHIM(EwBF`F%__JO|9sXo{BwNxvi1Cxb^Ve~zKpYn zsACMSRBPVJjHcG33vygm^|-oXeDD79aVU~+?c~3XmOdW;23Qy2U;NQm@D>~kTKh7m zHL(tiuWOt1Cvc56vu4(@t##>E%7nVM`rTIT1gU!Ygt}MsVr$q$;kt$Y##*QO??tQO zs=C>Z?+#hdUscyn$9dyPz(N528)@z2zeScl8UIqOi}>$JYXklzefr+{I=fnLUo^g{ zl{KZVOrK-bP65^3)^h&yS;zQqq}6V!Am>f3JK^~BV{7`=buILlt^2O7D{_DJIgS)s zFA;1%1g9{qw-+R&ubftwqJM3rPOB@0c02Lkt=8rIcek~G|C(Dn`LCn(5&!MB^yzh_ zj>E037SroW+z-#tv`yBK>2*bp{#&em(-SkTWz)g%PHO|m+|O^pTP^Cd|3`^lX8l5R z?}zb9nDw@vnQpb60rW_#b_US*@5Yw7ReQgq(E7td*|Dv zNInK)_YabA$sL{hM<>gAllf_O_i;%iB=^VGgZn2*_>#W>7x&M?HJq%uKXxK{!ubn0 zC3)PxIQh1LV)d&O&{XN)B;in{Pf2NnV5Mog|Kl8jGD*qqKb?QD@ZA*Zv|X6flKYHZ zxDyk9Ie*4KSF+{8OyWK(tP+xsGwW|jBqkrCyyqn0OCHI@Kaxn&+%-&TuDe)cire8D z5Al1az^AJBN+L;BA1?_gh@raO z2*3>bB%j;odMsLFl3kSDYgRQb!zPjl1WX zI7FRVFNHl<6Y~&icBBmxj5h_hjxL8g3k2>u0~wh?WVr9crjCP8;57GBA;LMWN$+(h z*YaQ7q%Qd9a{pS+e{liC=mytL#ds?UxUVkc8>ZD{Gts(yvYGGO-4Ymi@4?49T){B$PcG+uL&#Q;X(mN*yzXu6>yeU@l6tk(X8}|5J zuXjXe_-?X-Q_NP)`c?wdN#`3a2`50x@sxBQfH=)J-wLBp_8lbYq5s5E6N>jmBV4`)zKdvUYu@-Heu>oxba zR?5|8%P?=IJ)PZ@LN|Uv*Lb?P&miG2hPFkb+O4G6-xGYFshFy6R(A2or1U2td*?`*+c6nzwtf#Iv6T)Zk04uH? zBU$^rCm~*3fN+X81051qNeTSkln#Ka2xoc6f>B(MV&-~(hA!gTQ~o^I#viEK<2p`R z9)*-~9f*kY#Z~X39IIfqab01efLo!H;<^!bg}onBfbL}Ig&%^c#?{=80v^{5_;sIa z3jCd{BHab1h*U7b4UraNfN1{jL9P31@~LLaOEq7|?(@%q<+}Zh?&a}ckB*A--;H0d ze-xH;@&3iI(ggocV3X({ABI)>{I{U0B>$V}?qq)w4BhZ|MRtlmxhLjvKc9oA`T4Dw zbiX?p^=fV&fsAi>0YbRHZwK)5X~-3uoCiQ`vPN@Hz!;04PvPCypq}_!Eo7$h3!-Tx z)7%$#wQ8rE+2M^<$i0hwm#JELpMDa3=$AWce?7WQ_cy~(a`>yW*vvU7?D7vnx48X3 zV-$J(7s80+{BMAR*Uv>@yuTCh3I3z7#609(m7zmxo@i`dFfVPS@U5L%Ps_j?N2 z%-gLmrkmyAW1aDJP5(V;RgRxKsZISa!AIo!ha~WOT;JB9v;F&u@z$BYO&rY3zYF{d z{2S1{h5lSrXSbBg^Tw5hp2IUTR<__sk3rT&XC63YCqb;rvH{-4k}E&O-X;XI@N z`kr`o#s3pzY~_EWraA5r@G?GPRrtZ*u+T8Xs>nbGYDNW=f>;$yI5i(n3n5koH6^hs zdVoHwmG#ODvvb*Xs0*#zW99LRD~9 zNjAQN+7YUPJX4H^pk0KjVC`AP_Y~!FM+@{?Hoh(JEkp_DL7fOyK|am21dh2SC@2=C z<11<@$Q|d{kCsZPieD+{YMS*F2kA891p|qzrGk8;T`3YXr3r-w-)TgsiYsAx#YQ?M zyhf_I!ng^3452DmCqh;DCgMLrRjdI&2~|-T555vsBkbVl(~QbCpqMKKAk=h>9)zkm z2YTP;9)LGEI-^KxZ~Uam55G@?5lsmtRK+}Uydw{!uL~2+H~>pTsEQL|5b8?XZz^r$ zgC-noha3Y?$Tx}ny-teiJD3AF-pLMlI?GLa)+(Ltz+&p?e(6=dr-)^KDtbN&pvOwGshwg^?R3Ctx_ z#o%a-MX@y&+cgTO65-@koJxgLg66vc_K#2%nP4EHDwf-vBvgeGes&>9+DlV);}e=i zM@cyF-7l8z+S1Q35A`P!&{~SE;>567ibPK_jnq-UkLMR7I;q zSf(hkPFQ8}doT!9LFH!gj0r+ju-REHsEc|h1<%@wRRBU&Pz-!kj^@zd{1ypcWijA> zP7_R12jC}-Kd=PWl6pB2RI}#0o9=Op>jZo&KJddDQ{C4hJDW0Zu!3{UqUu*@FHPOs zBk0#zoR$^y!*Qkg?!lyiKo%cFD9e|&72W=aK;!XuPlIj8 z`9}eTh)HNCw0{M1;!Rlr`0`N#K{CX$M^J^61hyxHDeiY!T^%MT&3_AgjgF9Ks7~|! z$x$#%XeEe7izFESF?dk~(V)B1jPmYCT<5+w3=SUSd5-++g8sD}+ z;zl=h2-#LphMU}9AWMR1%#8A#AItY<_r2%Y-V)39R>fBH&0%A2bGHwJgGABzC(7zh zo0WL^g>E`_kMZwTpkL&sqlz~cQ7wyQ!PD0`LUEUfgaeGxw5_F5$wfvHHMvX@1C3`P z5rSw?ut7#Ljo~gP!rEYboT(?0E8KG_3!`XM!|^C}S+TOLij`%xl120VgE<&MG!jup zf@s_pExb0i@VeN->+Od0H_-oxqCuD5SMzn@RCd3+7dZIFwFJCPbs?i@JRfEIsLi%D zCSnB9xC}TZjmM&_-n3cmrxhNOu11R)tP(*qmViuxXw+aH%*v!Z@3?93S?|(z-*wYSvzD5G z-*eN-vX*jgeBaHE$_iJ~gB+1A&zju|@CTymte({FhiqnZ{N1~Xl+iAETyV=ex zk>?XP1=V~rIN5*d-j9TD0+}9j^V9s|I3@u|qi;wf1Ybv4eSA+Qj3^omd!M?3B;vVF zfFg}Q_!cgG=yCTt66}o*$J zs{m&Toa_lBibh{d^~xcXc{n~aONVWEyLP~;YtYjT2t%0nR!idzt`Kl^xS27Z7OGMG2pK%!7dLhwX z5?Ippq!;es843;(MdK#`ksunhVaU$D>gst3i4@~9j_qz9&LLTFoS5! zMBzvf4G}65M1yjqsH*!(;WWjmza-Kz{)Vxi26)X}PU45INDg|dTaC`~QFM1&w3|Aqyn7>~j2g%L%AGeRo9Cs={J z(Vo{(NTO(5hzTr<-xi6#+(VsbZKeLkh@P@isi%KQ4O!LbWCYQm3bM9yY+WI3z#=UU zi7P#EU?f2_ZUkT~r}<3~JJF1UFgtgmhdC~c3)bmtLLsm63G*rimLT?qFM}ufECtvfm<&1NO$A=;kL}LPgtj7aDF7%L(9YjO; z_|9P|5+7dd>4gkmCHxGcXv_ng%2*lV0MZCS7P65j8u3_P8Cy^nf@l!djJw(*aj(Zf z!e#6N9fD|NAmKII(;waEX^Mo;ILFyxt)~Eq6oWxl5JZC?1n`HA>6J*`@8K7Vvy6=# z-WxrYNaUj8$q>=w+91DNT6tVeVPYN^eUZo2SALH{Q6ASURP9^DarmG_^stvGyF53t zmM>ulnm+&<-G4pYw!?o9Y{}{OJE4D|`FaO*C%XrI`(uYw-@6@eu%#!(PP z0%LGAL<3_m;V>4`5gw7D?=t?Pnm&+($M_dSMPQ5tDDTyLx91@Bk%zCmb@x4$kHqJm zKaogH%Y^2|3MjU$LzO3XA1}h4b0yuL`=KTPdkOd(_TcB6S@~a~oWVoV2z|i}&3LN{ ziRLmlChyVU$t#@hTohCE#@Lnr5I`NMGgm z=EGhR7qQtH-e2kfFD9Jn-Jbw>Ngl>s6Yog)lEkI#!#wZ39RM$*Rxa?aMqef_=hjia z_c_Y9LT)K*ycf1Z;%>H~)|-QABhez$uy=1Q;8ld@dT&9;C$6RjZt?EKw4S)887g?x z`vQ79v5`!7d9$dK`&ij~-j=u_NL;%l$xkw^IKPQ%{=rAJ|9Y zR(f>Z`!!Y%iQ5RrdB0-+Zl{Pz-m!@^f=8(QWUq;lk+_3=QoQf>0Q~4?!2Wm!&Y%QY z-VK-+5+7qr=@L$(2_6@vbnn0nn)o=SibLRxU-94D@dBWpRHl%{_U%=s@CkW5McCz? zjIL~%_%st9&CL&DC+^!ze*56065pWe+;^br#CHYEwqC!@%x*O<2P33CJISpR#x4-d zA5k*IevJxtO`MD)uW_lBdb^q4HjTJ=y&TjM7h?}uaDNhUF{la6*iEZSl7wy?vj*R8 z7F1jdD&I={Aov9ZNc{q^as_9Qw1Z#t#5&XXx3vNFgxRYuqc!{%!d)=qQ)4EFR+-M# z@loR*nnbxy4Sto&Hy{x1f@2!tE~ZlZt<-L^o|{;RRBK5g+=ZJx-$w5b9td}lTZdFY zB*ItLBxX^i{x{T?5!Q1vJ0dfvb5j-HRqIT}x7X7lH$IwH%?dl|kAM{6E?Txhs*AK3 z;Vu?H3WU3$G7#=!3AuFFUqCs8yVyu!YNSGhyBGuKjBpo|k%w>>Z?orn=w75|>egd- zn3-Y12zimf?yT2`Kxl-#FhWT6*7J~ukQevSy!z^1|~p8tt8BUAVw(lFeN@-$iFY z=JM{V0X&d{z~k*?-H7Z7m7RdPnAr$uQ4S$|moR~V7Add?-%utH(4q>$`-YKkvYz)F zJdAHR?E&#Dojnmw}w+HdHY^sE~sJQ?VKL^$OZY8LB zuZ2zcZVLf+d9#ZF-$8>*@$$s2?@rpA-#d)5E+oFn+s*{MnD~y~D`2#~CBzT)ZfgZN zyo?zmy;sA7_?9!{2Jg%G^{pU&uJ0y=k2RTg1QUT?i}jts(wZ z@6FWMy~Ka#y@9P>%N@Ss-YRIyw~qKz-XB=;{iOdhFU;?b`yOBhf?n|E-?xeP{s?-p z9VYDC!W;y>_@f#L@oETqu@r6h?cl>71ij!w%eRy3ECjvy4#wQ-c%)!3DXt~8+&cVL3 zgiE|_sja^Wms#I0GLv#fbqC@fA}S24Ghj_;qP3B1r7Sk{!(XE2D&uA>;}P?MtqB^s zfkc9Mi7v)X)PheuTeWcxCGk2VeO`^hmuC_4g0j^a_w_`=keptId=NcFa{3y@lqgl4 z+yH~KC}Li)4TB9QhC5?ku%R;zPRNLPLE+{YoRJapf{E*l9!zBEPlN1++<#CMF)toO zPax*SK$<{~&fRImyvVW6E;gHnM{&sHiTsFpaWQ5>#Jr$d5%Xd%mH>!(!4zU%aPmgX z3#JhBVo@8UT1pBrFaF`6st_)SdEs%<01`gL&+CvwEad{&HJP{7`L?U?T{5fHSMd9| z67ymR+Gm)|+9=J}jN8S^CE+su#y8`Zn1S#DcHbj9sZ)(BbCB2}iBh$OxB_^oE(1I3 zxa&dCi!UL81ifenCm9KPAvYOD5o_3^Gl8gyn4%E$f{A?N116r5L|fw`O7*lNtC9O@ z1ig3(bOVgbthr0g>@wc2Bj^QHGg5A65%hwIQN~rZ$a!88qm5?PbD%C>lMmd>(y*~` z#T@3Z=+hv%1id&2F^zod94LcH)Yuz3S1)mLM~a{qG&`@+2jmEP!Ag=1zD|Xp7fcvN zAFJ;&JR#$qBqCgJ$DxVwXiFqM*QtRlgkOLYK!l5~Ncrm9;O9pvssdab#<((CqZ9&M z5XRS3sq)|SBS^T6?sZ6<(wX5kj?vuzBMtExX$469u78TG6k}F6AE`gYCUfP%5F%XA zK=Wkl5D_lejC^@8ga{XOWhKS~w28lTKBO);#&TjfD}r@0iYRKbJeKKfoS_IQ@>r(Y zXwHsGb#NlO(U5s4O&*Z6xW{;z#-A^#mBu`3xj>%sScZl1;46{DDr1wicsbVGtyo11 z!9}BCP@(H&KNQh0=pfh2wke`v&_Ql6{PgIZq|E(B%UUElOX30JR8J(ji@+O=P4!6B zh#(KjBP>M2;3KSujPI%a9xTIX82l0oqG8b2Z85&$xa{qCA7VwLVbC) z645aDY6YTUP*g<2c&`Ad;gSl{V{<%sTps`{PsWa;b8Nrudx@Pl(s2wtRWytN(70?R zBO1mu_$kfUPp5U22vlqQ&BP>O-NT6I$eHYjN5AznR$D*aWft`R6U==)JctMv6h~rP zd`zYj*b}QAgz-_>d?eO5c(Qx6b>#q-*?#29cne2vj^Um=3@umT5>l$4(g(P(e@+x*!DgcohmkP>%yh zA*jcIUPyW5h8;mYBm`BQq!83&0eSkIBcXrIo%?$-QfW>ufDzQ=9&+)^b3z35*c_%} zGMseD2)XNLIm}=m1~uN^Dr8LpdO7SgORLqeuE@}dTh=|D(K{_ji4SYC|Y|b zS3wBsag+r+ND4tcw4O+HloWz`Xef@L9uyQoJ$@{(9$9JT=ndAvm1fiWJ89e9oV0vI z^>~O&-&!F>R1X=Lrlb(nLq=xE$&q;+lA?gG-buSejE_B5OAAx}GqkSWA|YaYB(vT= z(rm=|n8qo;uP{T5k4Z^LUFbXx62$n(q5<@Co@FX0w*x8rJ2^)n#zzet4Pt!wFrE?P zhr5aYw7R~acO#P~?$Fdrq9i1Crar%H(N z!42KqVl9C;7PM5`i+Eg}5-|knS7@U)HX$DhWOql>M*;JaG#%}kL^@jf*97`p>PYh9 zv;-ol7d!2#c1?%*%8goK1nt6v%r*HK=Ot*DyEjHqQVq4>=KCf|vY{4-7$5go|E$7d z`H40_%7%}_8-lKr7Sq~sMhW(nw1luHUd8wzjAKGgV9iO(>QG%AVtjDP;XPXbl*N3_ zEBBSFXkCu@$unnZNvjnbcR zr@3Ec%QmeCBllqHa|iM6sj%Lpr>D0<$EPl`TC6cI2)~sBdTj*!4Tl$!aBaWqoD$B&|=V4C|zSa{M`!u(zIO41M9Lv()y zQ%m|K0mV{z3=joiP-(oO)7(RnkawCg`1mO-L<%8e-%H7WQ*;*h9l|0UkwVB-B8B`L zJdF7$fk+{QHRDrK7wS9(<1&sy--s0QGZHuv!R|n~03>|I8R!L(Le8{C{Wycc)ru3@2aJq?L`<9=$Pg`R~(v9Sc>5RpRikSK$i#zAh} z@X4r^W^YLAPdf<3P05Y6N2N&zu1GEztbV2KpMcifFU%(jRW zasur{BnmicL<(U-H`-f?jhOF$12aSlAEOt`$ySS{`|@u^A- z4Py(f5jVxC$#|G>ytgHOjjeM_v+NT$NT3k!L3D|+hx6G`SU+oim)m)9 z2o!P^8_GQ%L+;RVj%o%2g|JeG_wy>?zbEX9SAjx`+kjkiZzK1U0hBHH5~G2ELVCb1 z6rht6$efl)RS8o> z3OU^zsrHgWq!5qm8dO>M3PhGjA=J6-79&!KbeQ3zK1S#qGB`O#m5&mYdwD!eB85=e zGUIKGJVXjv3kDU&^BG8t(N`f+WxT@y^DimX(YVc;u-|?g{!S zP>(h4r4lEKeB+Hy1`=0^BomF7G0qVwgw;(lzGpM0N@9x9K=ocNiK`6_Y!E3#6k}{) zr_Yqc45Oa?Jd2ewQpix6|21-xJIAP{a%byjQ1%96R~-`9%IWI420x;ONFf|!cNooR zfAgfGMaDi_?|f;)5@Q=xezUG&&@M9$QfIg69whFTl@}s~P;BgBbEVEmA##pR&wVBx z$wjgefJh%h!hgA-rRsAsvg$5PR~RhHodc{ll4-d z7rV9>%-`eUSoYoOLskc!oh^|<*fYi_)IeA1CCzw|thz~p_fX?O;QN+++FhRsSR#dd z$5L&H>?eeX6e2wOt766}cGmzAz-vsVz!ymZyV|}Qqz38_gM-J#`PJj%_fR~pc7PKo z4jUm$sSC6OR#Xy6<7n3k_S^%yY7jGuTEMI7;oHPUp;;IWzuAqP;#{;*zm1D_`72sk zi?sFMgm*>>EfS)O!Lm8-Nc7GBP55|}a5D)pAVFwBaD6Wbu|U9|s{7L@2+Lxi^hSOqLJ9dg32y*cXJQNr3H~Ltt1TlEyWmr23#XCDwm7nni(wplr)&M}IYwJWe3Dod^2- z2pQ`0>3FUSkG&7kDKP%E{?@c7%uMUDO=fXl(ugf(YE@)Z@@74FhvOnWAyqZD?hIi> z>Tn#pqTGSB2%{)_BVGQob$F9m)T|q5?OItGYYmQKtpM(^QXVvG48h%P1m-% zYu1Bid4kAThz8g)?tc(3J&>cw*i@^cBrPvt|LlMzU=F4#8sF&>(drJ7PamkH+ac|E z1Jbo)l#_phOo`UMC(6Ev>w2Kt6xM>t{x}}gLU@(H5a30`i2(XD^3g|~t$CS{asESQ znrAo~@@Hpj%|m8xaSDpJ)`#nzS|ftN@&Q`lfk@fCQdZOIyI2>sc4Sy59x~Ha^LQt0 zH?MHB=~vo-35tfE?qWUHG*r>6vIdCH(IMcDP#a`F0~onyVlzY^8Cn%vUNSr%^5=*Z zf=1hhOK;qbd9QSywRf}GtcttJdeaQntPifZ1?$pCYDhWnV)bTHco>|AGU>dG!&br; zGbj5caQR;w5?PfE4c}}w>8Ye5rAX!1s#tf412c;Lo0=RUQ6YLkZ=Bv8Qpw=_P3Pcz z4^@`_*v;C$#mv)Ftv9xq&2-cHVT)O$AGVSoHp^;f6rtQ1Vbjr#&JwfxOVZG|^y_>u zwS{bknxyYArbMBqx+?uIde|(Q@-K9qA7VkN&gFeQ)auOC)(FsHYQY;&fcaJblV57* zFGKzmu=;N`n+o`rH5H)h z`I9sUWVh>Xwfg|Wa>rJ)t1^^)Xv{Vg-!`+Lfz1>R=V(>bW6PD9P|eNaUY4L%z40Gl zMI%N{R3n&#lwgBx!H#!Vf-T%;<_?;VngffFvjl+ZNS2jqQnV^EEMc51{j-d%AmAT; ziQYK61|7$}N#t;IF`;M^Ir41PIyQggGhj zH9Uf)J!&(Up3lz5$nm(ieNwUw?pD7=M0^ha8m(F7cCRZ*U2uBI_A&(Mk^1 zfM{-}c-pQ&Ko=-THQUBrqto>1Rz~7`QPh*m%XXN}CTFD?Bm=_2n**5onCr{rsri+ z*eb7WtzUqr8oxm*nbP+FN~F)%fd~&!qodG*@`3QudUyW`Q1Fei%3J`SSsy=Y=67kyp1NMLfYc7-(i@Y^2$SoD$sRJ{ zUX*^LP*!72TwY`acbY|xXX~tW8{rhL-f1Q%yIu(%Y~tBE)x@O8(6W*Ky%7slh zp}+}S?H@D!d5NJ&F9vA;(jzoHO8dFVX)V*b=`pjZRun*QEcmTu`PW_i!swQ{fo?V zA*|yCPn0tetbPURlHVU1o0Q3JQ50awz1F z7#$qf%Lj0@)M$bE$mocS097oVv>pK2SM^dWvG;ain&N;PVV&A#7OKhUBNC}ezigM; zq&r&5X8|&JD6@2=p;fH~T-`K?X2nOR{uGqe8$U;m@?G(IhP7z7nHOr(5J6?@+)RE0 zI^i0+sa}dA45z47C!?4ii1MOE>5T)T1q1p~>*Q{;$;7sps`Q2^9Y!kXj*?EiX@i^u zdju>i7JxY@>0R|f<+7~pqtm>;L$3JGI_PH`iqbCNA_C=LMpcQY6fKm5r$Dj#=xBXI zrM{bbN9r3b{Q2^bs!yf$LCSzHmD^g(c~bl3Qu{E_ivMHny}>9_d)G+q0|2n2kfB?1 zo-hro`5rT6h}jI1T#MEqR1q${v3nm#!AF`rrVpRha_% zO=?K&W9bfz*Y$hMlDq+sCpZK-TqBf$w=G!ZOyGuFU+poAJiAzBH!JB$vq0I4jC^G; z{hl;i2U_(7!54+7^%2q8UdSYODP58Azbj0c;8o!lpEQeyl12dddvwv#d!^ znN1T&yI#>Qf66RKmhlGzSL4q*@RZp`sgI-79&X0dX0uVhvKfXGSnV!cdSko(xa%7; z_Hts`r}3CMl{KZxbGV*JM{W7pe$h?~pbJ!Aqn%Ri@BQqVVNxbvm*Qe z>QbZVGZ*U`3*HqxtDviNWE6ej;wa)fM$wuVqiDoj*h_RPOw-TO9ck5Xv1Na_E>A=* z{-7YV?s&AuKU~jpS~v)%ZDg>VmP+*DmFNPEL&avVbxVhz)CK6F zm+~z*q<9L#X~09|ffGA3K-2ZtKm%|eqTWvjSkFC$DSX;Kvm}Qe`9F|~9yz-FdIXf? zteyLC2jsF2?=$_uz7R$&e@A%uwoV&X5f8E%D6e(@z5W+?y&tE@ z7hA*ko2^n8mjSm{NUlf&vj?nI`^}27ih*>n6R*;4%=}i@-?F`hc=~H^77C$_HNtpuhF@vu5XuSw{RqfmX$ex_`uZ z_a}KZ2vk}LF1>LJa+LZ0Bwd@~x3$SeSMqjd2bvZ!qiW5%{DA3i-fu8UbzyHe6T!!$ zR7FF+q)(9VpbFectvO)!)~8xuA28c_a^WMfG|qj_Y=eiqpco}B)Q6~h>d|o={qIA+ zwX8GIn(~~PsYd%Gr0oH>@j0{bf>^We`ZP-EPB=Wccj@U|>+9#tqL5VKPT-Jx82dzW z-=tyUyg0^nrhx>&h~ZO@zOWp{$4 z*~JltTsL;t0;?lMw%J7n+eOZzNG*#@{+}Yj&p^qsaGPYD9}9tBBD`dm1l8}ed0p`W zj#87?k^kk@2}+?``9o#6W}STHzs6T^C2UB!Yu!P5%*Kyez|rRWF;4%Evnl-BhI-UWOqMW;y7uTfOStW2MD3qATG zKCjjJMKkb!dVSH0W=i9O)W-FEsF)E&TgQ6#jnHr8et6Na72xsHVrB8qj?x*|pT#Zma%fvrqND z;i}dDN@hXEA5sOcNaib>&gGAWm4Cf5nPYh@^4nJeV6RtOhh8>Y=@YH9FPr7+rmHp3 zY{5grRSOzk!M0>Phj{l?d7BdX%H2&EfiA=I9_E|@HVIRV+V<$4%9>gut>&@XRMG$7 zAl$R|B6OFHqP95(^MT`LMP(Gn8Dj=C4Gqc2>6;;0*uctHCRjNEIioG_t7ducyGFun zMKd9J<3}H;TyC#4*4ZC2$OO$E+ZnAv3$Rw{u>k4!#MZPk@^o#YwZuwcv-y`35=jqB&aSQQ!_+ zT@PaJ@s2`+M6HX`sa9<8@)WBf8@Pn&IbP&1O=rnR*kDYdqULj|2G4XA z-!{NG;#bs+8ycRyu5O!(a{HsV&&^m{Sz`m(l)hOYStl`0pJNqcm_FdAtNIIRtz@&M zzh?S7{B|jb#XUbJ^6;#(%yG`kBJTP8Epo&a9~h-{9XHsKY)yU5^eNM$GhtW!VP~&< z%}g)i{eI%;sJR3VfJi#-J)646Xsfm>cD;Ul%}guWR*O?%G1OI%SExe($b0cuj7a5k9TEDz$mg{q^riaXYbq~=98nW8M ztW4|DLuR`EA@j2{+G>HH*Ld&tbPlHM}o6w3>3 z>6Vc;)9Uz^neOH=*k}!S%WU3sMT&j*PbJABELE#|0dV&htYvSRe$Sq(*b&ylZ<+0T zbE|(?9@3)v6LH+TypCy}rq)l!A*roKT8-jgW!>~7)AE4rH(5CyV|tU-;;?yvKHBPi z7=1Pu9$)`cR-F94iF%TETGGw(p)}byJ)>5nvOc0rszYTwJ`+vWUIqykj|C6;4*5_o zZ!NolN1y_Ltc>slN7W7NS?YQczMUw~cK$wW_EDo1t&yxx?3_t&n=P{GW>0`M?PE3+ zJ{m-Pwi$2jc-zcS1sB-`2V9|8ZkdQJ?QQRv$-ZmwDcIG>#r?ue%Xr7k&*G!OJFZat zn0r9wZewn?b=f;+ToE5L9uSfd+?ERb2@)|OKJcXM8CR-$*1co4%VJJoH*)+n5bqP+~vTXiNQ?+ zj?b8r$3-~cNsLWb7=v4F^J^c2+f2GJ3ipmdK4CK)9fNxbI6ifr6U9+Xc%|TbHua)t zjuzyBGg3bo#YL!pKn@%AR5V8mhX1r#9Ew4@uxKKS@1nQ}i)7?b2WO)>S}@nfrHntX zgEHXc*?SBwXmjlr#er*qwBsUV@d^CEXqMLD8Q@?v*I23VoB65(hq_b;zBpd>{*d?0 z7HY6RYUlW^U*5-Hf8c$yqL2^L%do0o&(ei|4H_{b-L2SMN#eGOLD0rMpct4(%v{GS z6RebX%q)7KTaYbfSKD+hYuORA(osH9NUYC}m~l$R<2J##iAqNA2WF0{BF&?!eaLG2 zff;nXZWj%I5GlIZCP=$V6@B;vv#7jhXZU}N^Z&BX!0R9tdCuBp?vOH>mhVHegSfdy ztJjBkD}oOL3)xW(TAh$ho)6Dpo;9UF(W#}gl!y;YaifC-(>qRFaXia$1s#4D}`XZ8y! z3=Rd+w_UK)V_o*KS?c_0vSuCo$ZV2Xr3J#sk}4vzT&F3D(HkG*0WsZSKP;2L$ho}6 zqXnM>IUV2_LCQc6aP3VN0bRG}KAw+cQr zGs2W)X-xK4c992SaD1rD8umqTb`8NZ$f4YCM{~5G7cPvruVZk0_)L#-`aCYcC0SiE zbQZiH5S7>IYSj@Rero2bzW&J0x%O(c0?qy`@}S!XLt&Y{cA24{MatCJIj65yE6dd= z<6hDO_hi=I&&)2)5!1vLGOeV~&3H9i-Hjst8c4F;F1vG@lBDP7k(;)Swmtr7=Pdi& z_6BJ%H(Fh^g9D#MJXu=UdYLBaCT|3zq@ zdU*es90h2*5C~arky14=`iLRGwo1>{0ifvpXR1A@?~j@VMbfCtY?4Wsbtntn!>u;; zmYJ%dJ&xh6n+{aaZsha;@OqRQwoVm3jf~s7LtW1ScmhlUuK?)BGHgBfaNH13)xhx) z+06;EAIUOHviYFD@+?rpfgwz!LvhdT&))<~l4x4o=!wjbL z8_5tJeglV=u7lF#=BkVs9U0nr8?8XfUjsXdY~mYp)G3n2 zuguoU&)o_V>LxTtHSp)J>@AW@q40=F@pMIC3n)b=&)7v)+C{p3joWSB>^&SUq6I#U zQ2%UGAG4_!fLb(oN>SsJsljT9z5zYpy*5&(7VHZg72QM}T_S#OVD$ff8{O&?9VNIFi>|x0-%qUQj^pciBkvc?IaCKsURhc;iN1&8AaI9UfWoLRRT#(Ye2&i9C6s!0H6GCGK`pq% zF4oyD)=3L&0!k!#5dcNMNxx3@PWHEWcbzI&CDbu0sQd-A+n~cppK-mwiXf%dazYJE zq(OZ9B}nUy&g&y4)kk*TUx(pvG|Q8ypb3CY`6JqtRzrYNts1IT?=J+8J6sV*@g!8O zH?F=RV)J*%)3wjRQd#Yt@~A7T1XX0P3dk?pRbrYwfMFZ&yxyAE9qKOm&b*+S*0dHP zs>W!+ks#u}-5$Zk?6WVh`2`zoHa~;ScV=199;m_riEIu56jnO@&?c<8L84CFD-UcI2TN;AU% zu&!(8s=5+>GF!By2VFE*)z?l7-U1p{zs^RXBh~}e9COZo>(Zah95sV{1sqwOvsvBu zlbP%0O0S8v|0lDVhetfS_qC4wgyV@5Z;SYdjWW+MCUvRoZf%s$1M{6pH7{Q5M`+|ekIf!7UmYbu*VlE0ZXXSjQ z+m0v9Y_-~d1Ub^x&)X!Q+9WrDq=@@#C!-a@FhC?`{I^YAdb48q)(JCRZ6)BX524mtNM4$0gcBQi~Q8E9n6P#Mmd$J@Xjoy!Nyxx*SQxX~tfGD2{U1Tbx`yxMEQ zqsUJ9?VPE8(mXvmol#AfknLRyZu^g4Y2>Uq8qulb)wEd?Q7q*==)Peyi&E%3tw) z4{5{O$aw*S{*jm}P6Nj(p0lgKxN>6v7eZ@aSo2V{1#^Fm3J@qlF6#+Y0T5#u2!PEG zS(jhrXkvZxt67r4#m8_ACQfevD<^~IX)E(LGrw2m?P#Q|JqO7=%#Y8g2M2>(_Jadi zc@D-mr!g=Ft99pKq1A^}$mkmEI*CJ$znP`()(|wodiXb-cPyW09X@2{SjT?Dmi3`% zEiRM(yRtdNE1wrh zb1g#;JxbO!)=j6(xJx^ssJ_b$I_(fHz46c;k#+ViId6S2r4n82l7}df6FyJK^O4!e z{eMijcswx(3z9RZFk^A?F$c`WljBzg##q$J-diXcczXha4Ja;N)+rS4a)Y~o3@GJ_3PlTTYL8(!&*mV7CV`V9nnW9gk*x_$TXrL^i!$c-lw+x}yghUYJU zlEm?!kTx;MdT^30g^5hXTnjD+jWhMP?A%7 zYk?Zd6Mr}Jdr(c^2_HV?wbk^Z&FrjQ!8MTZBj7mYr`#Epu<{q+Le?9<*VjI zUq5EK|1evY<}Hj)VE=b{REJU=9UtGR2KwYb%(61d{*z+OUcvU9EEaSyvh`7k&d>&0 z`~EPqOujJG?MI9t{k;TWwR&87<3k`;4_nSx&v`)xC#F|5IJ*L1^_F$)Vhql9f0_l& zVl*e`O80<)JXuQDsvfeY{%K}3rJ?XN!!S9`a97L7bNvy%7S_5y%_hC1OGnAshO7#7 zF+UHYkM?ozwLR0t`AA>t;}E_TY1xS(Q#H}cX@{oBn`E8)(=4y}Xc3AObV8Bs!Xgd3 z7l9FQtFraUKp|{ZC7rPSTynx`v!$A}27-J0kEq4C8|>&KVz0Dzdp^* znX*K@@5;Z-@={ve?MosuD60#+2}1GLKiMS?Sp)tuJ1H(b>=`9_soJx794u*zURS;%D~X%#vyfKDNwSmp`EYcg7!C*7R;%mZW~;b^FexmLtZ9Fn z=?z?cs)XzM2x4vYN2O+ZaNfB{ZBpxTlkL4^Ju;Hb6|>&?H-=6Mo!eW*zL z0+g&bHrx%rMyC4Eq@`BMIWx0C)^fv>xR$%Bbwt_`Ni``v{4zIOzNZG%Bc*lQk*``e zN?OPF|J!@OEgRQo*3@%mxzg%*q(!T@0H9Vo+@;QXynGIaMCrZz-X%h_1}(S^RFwKk zL1N)FH*EJdipt9Bw)5od-I@7z{%6SN8&eNO@)w{a@^KF!FI&m|4i)&6BGB=SAbnWG zZtt+|*0VzO`RacnV}Kv*rrcfaoUi{e)BBUpfE6M)U7ik&67??|71TQTfr3}QQDJ0# zC#}IIEpo&bBkQxL6z6+JhO%X*f8Q=6vy@WHO(?_Z_CNod#l~aV$tRth+zfOo3_z)k z`LADwn3yV`1L~V+!_ne!(tnksyHAM8%!Ly4#@v<4z)vUx zZyPa@Uy}Igdgt)4g^*ySa-qJ%kO_&qdfE=;2XKa%BD;=S(gV`(h zU?@N-dS@;8D>8>ePum5hHf6aG^*|n)-75;urYN%tq#{RljN1X=%Kqd%)^bNEC+vYT z$h9M^jPzRNO`zbU&k?9rvO#FkgXZZSl2NhkCZ5K}eLc4^hX>Lls$NGmtd zIhj!toXbz%q_o;4nQr7SlR=a+pld=P-e?f}26WaWo`CaQY@8P~)gpZJkrC6BGdpb$A(t(B}CH zrFRgWpt^+Mr^vyYO50-faD@toa2FvWi`KFz2fEQxK%yT zGj6fkxkH`8`S+q`IV^UmoWZ*fHLEjtm&zHu{ZUCSx6k0U`2z;5kC9wBbM-dXzfwz4 z(H9^tmj|+AQ~5yl9MiH2zao`)1yXe8$>pNCk1$STpUF!*zs}a$N92pVp0+Qrd^E{!!>R#3hTP5yt z;xet%o=}mS1K>KVATH!jpkg|4!)=|_JucMLJ^z4gL&Sxe>7QCR#)Wd!VO09P{?>-L zQ2Q|7-t9I!9U6Isf@@D9OK+@L3oY)c5v)AvM#D;fY#&W;WO{j(r0F9*M_TpwL8av( zO>ymDVw5-Ld*LIIA#$*v$i)z){Ozw3!mA(#5M~tEnHHq>r z13)dLG%Dq7^@j3?@##qtX!wG)6o~oR;$=@JLgS1XO=INp3Sa4su*$|&;T0N@y|MI0}9qKJ8iuP$L#TT zc8Nm4VQRtYz|lTC$KX~0N8=lAo$*Di;5cv;Z25ZIjFLiX8M5&_e>XJC>Yt3^#m~o4 zM{h@Q_QW<88DcSW0FbkHgV#CvUSyaY70_9VzvuU8pmqsTp)-{7#c{RnzcM4p98xbM@8Naws%PHW|^RvG9HXjN~Qw z#tizrEKGN55Umx;PGKNwK12@RYFsa02I&hFo-FNWJ@aHOfi4BFCL6&^X03V2XMnjX z%IjuXEi6KsAu_a02LKe=KrjS=?b!%X;N7r25*%ow_B?>mNE}v0V}Rof^tvLWy#}rY zPP$_m0BX*$QFZjgDWUW**H-8VdDzV-w%x**7Ia+{*%1Zw#!Zk|y`8JuZ|9cDqgq|P zk2|R1_Rdm*{vNM7$|UNP7sL0UEuHeg<87CnX__=OiT81|52a3(!uKeiZe=Pa{xI{HKDebx&jwd&-oM33;e z;D+-#)B&LAx!(BS`rb!|)OXzGny^{bx78oYDUhd&JT^pjC0NbUnDKbH1SrVdXY#mKqS=FHuc;sYP+R8GnAG^VOJ<>3OgD!5O&WN2%DAJK?_Wel)l9- z{qq)nU8byE;Q_pa09&J}W4nW=H-bAs!!Hlz2wwKAJMcjkICgs&9COkGr;t>#V;Hdc zv#evYFsC+a5=u{g6g-3NkU{s-Xmx86%2un!(KhkBiuigEhk3gD+w&Dw&aulu?c$Gl zf2v-z>vlRGZtg5%=}5xUX6WT`EKIVR^-74ASLq_5|rRNx#LkeDPy@ zG7k~qz}^7c2|ptK4j$u%<{;mZO#cz;h<4x>L!8*1TUB4siE)9!)(1=gGKOveKs6lS zs=9D`Rw$^((Dn$)OEyW(HtV9lu*dd(R;XkQo%vvFTCla`{0E5S_)r1r7d;LJKr;^8 zRM8EKId;aX|H%le=c$9+LFBy*Yx?chKgpr& zTs|ve+X7!j*l6fZR;oXuD!o4^GV%x8Io<7?qsZw%n;C?@S1nMFhG=WkqBxp!XPPs% zFc@~4ZNAfL*EHl8gIgOV#Ku0dSvaB&F}RkO)KtD2RO^JHJQ5GGfBqQQ#! zMLeALeJo<+6AjMM42hzQe4=pz=^aeVHz`#5B+_bOG0BjH#gOv%i@<1#!Dp$doiGI6 zx2ENW(nI8I-{x?R=Tv>1A}U)9<^lK20sK4~#RURLikS=sz#i-Ks5)|aG&h8x;y}og zXy(j+RNZg1Y!*r@qMfgd;nN+asrUdO^_!sn4x{24P}ikE2jAM%T$8DDL);{O74kTC ziagF)GJo?(kvx_cb}ri<8+NKe_U~q)!Va|FQK}GKX^`^_ZFJgsT!8Nh2#1+Ahn?WS zZ)gq33)!bkxooAVzt}m;kW=&?1ad=j+q^uu!n#E?N}X?Y$* z0nr=BSl3+;D()d(GB1S&)CVi3Qg;_2WO@?PYC)MVn|A|y$+T`k+C4u)qIgo2my<=c(Bq5=dv zfr!3!pWtF{8hRjuE>upJkm9JKh&+hL3A@KZA~L^Z*VJUUnvV|@gwpzRA=_p*YqA%! z@Ix9bf=qh|URKRMpb8IQ8%3cM`|}fVKC5?jH%yWVM`d(;QYqtT zaVUKNhh|?`y&8)6E|VwX;$v4cFN}es&!MBAoT=fj8!o-^EXr|XcXB5053j-?s(9V% z**sK`%^c;Z1H~X^U!4CcOs2J>c_?4bhIji4w_i|cTUKR{- z2M%1Z$cMR1M=yK_;#J29l=u82e^n1aR`XKyvFo5C4!qHK{1bcvSL}sA%08q^{c2tQ z_M#=zDuGu5R`~#i+GFhcCOLUTuRb2LBQJN~`d}qIQ_xCmf#)-6=s{lfeL7%@#FbLq zaH1A3RpLr5a5QWN3tp)Sj{2rKaGJQ%KCj;imb_92HH^gbFJ8Xg&ia4##M3=osgKw1 z?TTTDE3Qxd2|xJZiks3f3a#bkyUtm^3imlh{7HSHVPOzQR&XW#l$#Myeo$|5XSa2X36^<}7$SKRda*U&e-;x4T3T7xH~ zxZ)<)7ousr{NFcpM%BEGGDpL3G=P_Hp|k!7JRC3ocMXTpTwX>A>OYl*hh(^nB1gj& zCSGg6W!&ay_^Ue}eBm;hI~w>6a$dgG&iY>HGhV6d>eE5WD|JN!AHneQj@RpZ!wvCD z9oNtamdPvr%J_zxyWk@fxKdZ^4byV5lEjs|IjlF-z?Jh#-K#gyH2D|*dUC_zb`TSn zua&D|Tyu07F7H6SVFpC!6+a-pp&K;BE5YY!;Csrv65jDNTm_}`N?orv9DyP7O5LG1 z%)(gXmAXi8m;h}|`2Wbd5AZ0e_HE#^lg(z6Y#O_45^8|ZMM4Q31Sv@(DK<2VWuIA{D zF*&PcqwwWh5|L9|)=_)w?g~vFytDPd`6kt)Ufw;W&NOg&LeWtFzLY$p}Wzo=w{4Hf)#EGPh^XbU8~^YX09)X4T3P>Yq2fua!})a+Uv^ zQB$_?z21!r4*ox#Rn0{Ik6UK`|HEb0#Bh%@s#VJTzkOG$RPFx@$%NFSu~`KZsAse(Zs#P^qi#*x0e-AhDs<&RxDrQ#7RNwV(TuA-!dRAQe|1K#L#sArd z>Xl@SpT=jERQ1+m#g(Y^f9q>hL+J6uYgDVO7Di_kRCCs3mFbBMdR!$JEEnZ+{-0tM zEYC@nlm354l2d{`31`SN%JoK8A+ttxHL`YtGHTl8l&I&rzmc`I`y1KsluunCH(=Lw z+^6JcBk~8T*zxSzC4ZxkS6-5w)coWUYWnf)m;8_%9UGoeesVGLljK_D zKIGx#HMT?6)*qpYzsZGs;ep$d@eemT=b|UMA9)CQ6dC_Cqto_TpN#JmW>Uo*@-utFK;BAxzs1OQ0up8XIRCaRCn^d!z{2BQx@;~IHgz$`tsJPQ|<>UX% za3+~c?yBmZmTPe)g#<>!^dUm@3(_k7Nz+mHv7$B|zrZ*;8AoXc(&swHnjovzxFJCl2o z`;mu`N0G;qr;_KAx7n6As`B`pDo&9vs~uluC)f4MTWx2KMaX5zRms`p_A2Ro_RP>V z3PsU1?2oHuk^BkybH`Z!mrghX8stXgR^)Evf#k8| zY2uJG)1_4L9(gbM7#aT;qto^}`8V>v?q{E!?gKLIKnXOjDqN0XNpY8&oo4OMI;e?rFpZSM^HCHY(O&#LCP*}Fnt z77nLgC;v+RmmDMaHmB<#xj6YraxHQbavR(B#`d6!!Q^q|8RQqq%gO7>ACj$qPF(+N za+u;@6;XeDm)#@Oy=Zt*Bgs?9bI2>mZ<05Wcax8h@o&938+g@rf4o{4_o>327EVee z7b2G-S0&dcHz#*iH7{o$4po1L>T#Q_cT%X*8+??Eo+=<-7wu-osT{twADrS-A zk{6Pfl2?$|kl!S4ByT1kvhA@>{yFu*4LQmGsvS4v&R)MvcrTihN06tG=aOF`uP1LJ z?^d@Qg?64U44$K za7%u)UrjY1khhX|knx|xI@9@re4KoS{0;ds`3Kv%)~)IhRYYcl2Z$vnk(0@V$>}QT zwydckg<6uklJT2CXB}h6A@V%3BELa?kNl}^`|>|P6{pDGk$)yzf8*)8wH-!8rSRku z$OXw|$hFCBD-8)Z9!eGC$+O4{$t%cjk~fielaH!JzhwUs`m%C($V=qg~o836j&vmC5zV zx#U5%t667rDplaO)y^bVkvEa|sJp+)r=34isI>ItG^ACzNM54Vkk^|Q)PE&?am{S+7bwJSI|gQTto3VH?2 zoC=9|p!hT7L6kF=;*%&o8&0wZo+I`rsoTHHJxdR>mQvq?b$kc;Gs-yx`|a+IiT&E= zDdz^|cxp(#-j5_Wzuh*JUkZL*NTa0ku%3kc^7C=ydgK=5PH>9dX*aQ7do<#@pYgDs z#B}($A@?kK{0D^;yYT|@>u|Cif1CUfc{_aE&iM}31N;Qb2N-zV7W)gT;eUiTJi2B$ zH2~{5rcyke;$szb8<|4EU(sk@dHgbVvAew&+y;god%0^51}U&b#EjuwKAn@@dC1zVS6R_=}uW zJKSjjat5qBtx0~GoK5+y$$cqjs5syWc3zd6M_QoJ8|u$6=Tm&aHX4%wav>j}*u zFNXEDzeZk9eh=3D9ESCZ&%*NY1|DCF{o2>8zdWat?jT98_#QPj>W1Tyu+C4Ucz%kf zQM?Mp8<1ORTkG#i4SG@15Q>ka_+*Mtqxd|EFQoV?@>}pX_D*c9E6;ytTehM?Z_80w zZ}nO7cjO;n-O)W*x6NNK>`Zbya`(rU^^ZY84>pB7o4oLG1Nn2wRj=Y6v4 zsc^h99MZF{je>RyO6oxFNq!#I*TDiu!}5a_9^1u! z?E{qaC9L~ANBNf<6p{)(yPK$xpM>zZBlcHO!ykpuQ0&v;)KqdhtotrY@y4+3t}}T8 zc>(1whvg?1JXVVR+DqIyNzQxR1C)P;{5|<3D&P+sI~7C8GhlsX%p)%*zXt08cENgpYp^~KcVKzDiO26^e+_+=JfftSMv|mg zkO1q(1t?w=)*UsXoR+Y>X~Cnd*stA#at6V=|KW|~Denw0kt(KAgEblJzEZh9 z@0uL?0wF!-cd*{HAINvf4=F#sad;}Ju)OHvQCRHPE<-t0V7-nSc7DiekWEQ#VY%hw z(NXNz?n61lVBOJZiccpmBrk_Qv-?~H>ptIXEaN+cov6^OKR`Y~J`d}TzJql~NlnE1 ztf#>8l*OZv*sooha`4X!SozOLQbVU89t7)^O@VdeX<~FFZ}yBil)sqrmr?#^^5^Pe zL{4((HiaVTB1(YeYR1Da_G=fRoHDSURt1XJCO3vJ+Wj`T|{dFGQ=cg3k2kU+gW#LTgj!scWH_7+N|B?gQ(pC>pm|Tin5!Qoc z!g{Q3jrOYp*X`}y1vseU|;QO11T33^M`hb6Mk)(ObzCc7sGmhWw36%fxLx$5Z0S~lKeIKGOQOFx`~2(;c-Wfe(k>z*GZnH zVm*miSjSVzrOEi0sGR)juB`<*WL|-AlPTmab{9J&A89eht20H~tCM zZGR(2O3ay1JUN-12HX7#n0( zgon%rx3q^0iv8NfC@1s;3VK5-QAHh!H=uZPigzLRg!KRe$&+Ax7H5*@+qR!1t5MJ! z^$y(1p7ncTzxIB_^+XR*{uzpYP4R0K|BZYf)_uBi@g&iOWZ6PzrfKA|cl088E#%Oa8q|N?Hf&ocCdUYCeTKS@SV= ziT&D#DCZ2UPv6%RzvjfT{-3Dgclb-Y)4yQdX`DP89S6x};AA_$61f(+A*}oC59l}X;tKh%aFX#a z#iQjW;Y=u%Tm;rDD@*YwDPEJ}^{lvk{TVq_(UKZ;fV6Oich2X zY>F?W_>vG+yg}YbNgu)bX||u@hhROSQ{-!~z9w#y|0Mh5PKdVF`U|6=w=Ny-Zm+nE z*som=alOhGVE$e^uxL_EOa?f@;Dnc$zt_$mqnvh$P+f)8<@^j>ca7fR3Jqo(h_sAcU zcfvaV9Qi)k*D;(^9Cn@&a8LUbR1o{MLp3O=2_k}9go=p$+GQ!HDy%0_lj4mi-jw3)yC+J6L3XE|rNTc*^(YwrscbGBEJdit^R=g33)f=e?k6+a;}nZi68&*qUc^SfPO{> z;Gxz|8!2MHb_v9F&Xcfy0#u=R19D4p7s?+Lc1vS8B~1)h7*i?!JbcEm9xuRGZLfm$ zB-X-1)!8CBMM9S?+d03%dguNjN6NbdCms*${`13n!DY#n$=R^(vo*Pk?T|HcFKRHI zJeR!MZeZoVMgEZdG3B2pUm@S8d{-YC-V`A7Jq zef=4?sp39-!rtD8uzm)41wmM!rlRCBw$;Cy3-fQ zio5~Voo*rTA|HfL+KagW>pt&jTkDUJH*`(~-rPAZ3+n+YlWUV3!Fqt!upS_fJcqo2 zyr&=Dm+1zFsNxc=2mX=#EBS9&?^dvXc;KSsGUR%&a|#|?*5C1Q!7zHkdNpHVJ-KJe zFH`;s@;dT1%0ETELH-+7ivr{QB}>TLEN7_dh<)TIF^ z^UI68(@|M+WpXyGC)b+Xg*<@rN0R?DNXB;>FQ5jmkk?X!gXELs83sQO-j0GV&T&@9vx8kh8rAtp3v{)hh)zX z$7?a7Y*4po({4y_!R?9_%XlKG`=SoRdbbO3o$sA*+<~Ilj1s z6j`e(m6z9rFDZ1L{D2%WGCXi9tQS+9T%KGN*5|$!tQXdh+}X~zpO<~?f^}ktkjKKh zqe-ytXeN0X<*y;XL*4}Iem;S9Kc9`1@twkXYH)@8Gx>K|ck}?(9aWd3<8I`B)jtt z@d@zPb{EgWy1S+1RpiaE-jAK+1LV*N6m+L&VcqHPav$;p zJKw&zr`rW-XdslkWj{p4fhtFT`2E%G1aBst^G{C;zKDui9FlM!TRS?#S*7N;>%(EUg!^3;R*kD#DeaEAOX`RB(Cqq_->T6I8%Xg{Wb57&(n$+Zp(nA7{3dxLHQop7>*F{)+rB$c14&aB29gVLhIJ^}w0rX0TpZJ92m1GNL^Cqo6yQ1nZ7oAg?Cx zA|E7w3+usdknfQHg7sLBreVc;uoSsHhMe(&1e~;puD87s0$HXCL))%PaGOXWy{RHcsxJNmE z!+Iz3&j`B+xhkwrM_qE0utP={YS5QFF`Q(~AkQN!%3n=>i@b~S50cMWwy!_qA~m>6 zen3u?r>e7>RB~~08CdU1C2|(!v?6!L^WW*TCpDNrUPj(VK1IGken5_x6`oKktWQUA zZEOAIsiG1!s6}o;?m!+2>rV5?Q^|`ce>wU6S-Ah}#@ndDUh-LL@E!Rc<@`&IlBcuN zX8_ixqYSzBW6S#6Jub+9!$ckf>&Z}hth;`fe4O&n!t?CmzZUzo zLw8W2JGw^=BIK+&I~xz{9K19*9Tg&%B-e)Z8Er&vOYUXo+c&3)cEOt7eDZ4YHu7=! zy1kmS@O-^8v0wWR;?BY--;guq#3Sd(_)bTORFNOn9i@uV=`%7$am4k&6)3+l`+Kf)CgOzXI!lcffjb``|@(&cTor z{JL-f6?)q*Q-eF?zbVI%i_+;d7S?SODPEA`X%sK7<2^8s463LF@3&|76s#xLP>hL2 zNL5F~^=k_(M`~04KlWfW* zBYoQEIMyy$D=R=Q0qai7!n)JC9qFr;Aac{WdlDh`gP= zAJ!cmhIQN1~B*V)TPsz*5S8mGak9{9Rb`t@Xbz1vJL1=r(Gwj~X1( z4KVL-$#=;Q$nmmrXL6;{4Hw}J_+oS^|J$il__fMI$`JBM%9%{@X%t^b zewA`oKaR`#-=T{4VLgdWVob;*lRHQ`M`68!uPFX4tlQoo-ywTmk{o>vCBV+F{)iLz_X0!or=kekB#^tE0rBCJ<= zh2nQ$`NHEba>6STPqyPJnLVM6 zV!!q_%Gn3oiwqfGP{rwRg>jzZH^_gGF_5!c9#~HziQ++u7o&J7D{fzZMg|JI?OA71 zgZk8!G@s4Eqo zAy0z!U^B_{$xC3pvR7f52p&7gpOY`Zy3cF2t?SRYO%;E_dRHF8x>L_|Gh2bUciOVf|Ss=qolCmM=Wo z$kDIe9dVsA5Y|`qFp5v0__GwBLtaW=Ck{D-y(I+2!a&2-~@-yT~Ar$lqW|HTVU!n%<$lJ(YlD{F}g?0ZA$PusG@sJ^p zXcY7+3zIX*HOVbu-DxLsZ*m^x&mpfMZ+;#3e?9O{syGen0WOlSlW$VKcTIQ!N#xS7 z?k9s>^RZ?9Pf>$D*Mn)(!rqxaSRtueS4J#QxQ)Ugz*{MM|PtcaZ_>t~24QcC&^QZ%X;CVcA?f+Kc_# zy(ni0tos~E@z7+dm{bI31|*O5OaA0eM1{|xIh`aAidZ8@Fth*%pQI0e=_Q52Rh zJW9yXul*$AI;SbQ6S*&}S3D4wFFc+juUISNI~D6up*!6Gud^F`Aogo-r>&$&|4d#>Ipa$=f zH=lc!VuV)Dmu zNY8W+Rh)zMc3mR>NdATLquvg$tRVR*ayGdKtosiQpu$MaXx_!=KV7c({h!^{{Qz<7M*081I_gXn z1IVMP@pxEIXdZbn`8D!Ku-=vJb2auZuvr2Lma(&8gM;=X{7ox%{@@7~+BeuhGC&Od6*spz< za?X>#hxgg}KT!NPSU+p-!_tqne%E{90g_?8vNUp8a%ET#Py^NzYC!G)>jiX&<@t_B zZ?Ru{=zF;T>!k5W(zBaFji00Ve2OcIub}wbzyl0u1s!D`R!rcTJab{Nn^>+l4rs?Uy)anw^05r@_*u%2iS@@Vp8+xGKs5ej;M<>WWW@4|Y34`DsPr{t5A|26r0 z@=aLx^XmsPzSEKC!>|*`C1E|eC&|^xbt%6!xgU8ZSvkh~KSV)43%0>>o5f>?*spyG z@hf)xE6V?#;y+OQH;UhY@wOE2MDafG z9&0fnV*m`zBLLYT< zQ~rAL;Vrlo=$*Pl74cic@e1Syx1FejFYwmRt-@wl>8mN3KGy zN%<|v17ZCP9s$csKOSSme(mSPkN@_-d}^?qybjj)ptmW$3Ep9Mx((Ky?j@gw^#U%E zuZJBnenCNZWNs7dSx3Y2I)z7^*sq;JIVE5{xiS>5Ms7@QMfvTmxV{ziL}9x<*fX#m zY@iqeuaT-Li0i>-P|iH^>#$z&+vJbP+hIM{7a3tF;7{!aZD8G?D|r;GS2>A1lRO{R{k#P0em*20{Dj^L zo| zpUAh#_sD;d@mpkP&mze_aw0j|wwgIQCn>c!Rg@xEP#Z?e9BWdjF1ax|huoUnp4^Sx zi#(7#lswk9eKk&?ifQCo^7>{LEcaPf_##EhJ1m1 ziF`v<7%Ln88-@NPKO#r$3QsGRoIp+{7bF)amm*iNtv(wo7ex)Ks6%e3ZeflsDb$wS zmE4oupFEg6nmmp?l{|wy*LD}{Ui2bWEF~`|uOY7|ZyRBmYT$WIJT7FJd>HWO4#InOu-uf?S$hkz9pboBY&n8Q-~`WKl&ka$9mo za!+z!@(}U}@_6!O$5{VNryzcgyny^Nc{zC{c|G}U@(1M2n{2Fu#gae;kl*TB*hdCE86b!C|eshQs?R^9wn+)odKjbb4%rkzyq# zZIi@zk4a)3bw;XWRV9zhVUx;}gZWjg`uw=e;|Z1jghU&uemK0MHsi2QMV^$LAL3Mp zlaiCI)=5zoau0{ys_~anc_dyf{ZcBu>Y5Z~lQK_9^nQZ+&nbx}sxwlQ!AhQ%!$FmY z!xXh2hfXU089B%qz`?6Fd^)HUU*HyXSOCv+Q_PsP(p>D~+yjoAyyDGK+)Kf2BZ8}ai zCGwiou2t>jU><3p)?bs_6AjfLa+HNPzAo3w&Fl!{j&-dRJ1N)7_Ulc{m=|)?_3M)2 zQ<*oUgZXMU4%^ikIhd!LsZu{kWmT2;gG6O>aY$GBf0RQj)encUYBLUnROC-`NKx%^ zXs*`b&`I6H;d#~gXE}VVmf%oFU6X@(q^+uUQ~G{i&AutoLh1|-i&e>6a(Gwe;m}L% z$Dy0be_IZnR6iV6tIcvSPjphAU!=XE+W#WaG_?+gM(Q38GU6RMq^Ko0^itR4VE)rh zRl6&@a;dxej~p@NU8(J)O8zQ`43&q242i=umH#(6Y*+non4&i0P)9}nF8$o>uR8oL z?dz*`Qj}};9u6O?#`mn8C2}xNPgU3N$yi6`sA_*m?npKJ52-z<&fw5UmHbl<-Bcb9 ziE6(b%oEF1@V=xjRQ>K-m7C>YURtF*f8j*Gt~$t3ny&jxYS*fJaxibcqnbRBXfL(o zfka2DYdFkOnSaYco+vo9Q)h5kt4jVOhisLH!@Fv~9L#_As^CLuUr6GY(!A z`L7((ReK!dW`M&ibq|L!s_`Q^JfoJ#!Mt=?U4JC)_bth6CMip1H5R zlGqfLhr@2Q9|t*;rW~rOemFd{b+g&*DUV#!_q@%@yOLC~=w>A%y~%Flw8{~>BGs_y zW~E(4)Dk(E7rv1H{Igl9$eFucMkjT0PK;mu6WuIPdW(x`Ryy*V&s;`*_4=-S0o5X= zS%O>`-6iZQsAkK-{5VT(jFHA2f~N7DIv>-lgn6-t`WK;;o~BVlwJusTpz6j-!&a(A ztTb$=@^I*+UXw%Ir2~;hjplNrb{WPAHR{)df^wp6A;G8e`{d9~)%7(i=c!aVvs%pz z_4#?4syZK8a68*L5dG&??4F1ov;6F*lcT(ZXa z&yo_=%C1Gzwm#U|Y<<9$vGw&+&GP+8Jtl8Gaj5yk2$lC);l!<-k2Rm|c5T}F-IvY( zaJw3BJ$tVC?V@Hz=GM>uZ2oy9@Z!Vfo6G!9^IoM|DN%l;%rK21$(EGZE#&ufVi851Xw zd>yTbcenHtVMg9X>gY(R2v$L#$0TePcmg@z$Z=6PM4giHBHWR$%RmwCs58<_q+9Td zz~f$TcUM_b-61bB1GUi62WXpLE+)fWMaGCI)(?CXA*?VG?2shi@UgDpcFVNg#Xke@ zOM<(^G4MCA)CTZNB$Q2*%QC`cj`0{ql-Iq#n-snEWJLGpXlg_cRfCG>#-?_bdiO!A zH}5%2>kHW99i?67Mv6rGK*3cdtSv=l~Kg~Wt>=wOsp2pGO(RE>6R!l>V4 z;a>B+^p;ph7M7$$M!cF>A~%1luO$#!D-xBigd4Ksk+mbQO2JG>mS&N4BJD{GklrKf zS_N;yd|7a0J*(g|d>v#NkxxaUXZItY`nE)FYRD}M@Vrz>LVh>St>-n@EeQqY%ZWDv z-^<0}3apTwGy_QzjtHE_76vxpOb5P}IeP+=<$F}%MOlV7P*|>!=s-YnVge6kH(~={ zN!%CsKyu;&b-l8fz<*@w34uCNn;39~q(M?3RSNk6#bxIHK(-7S2o#m!^9SxoZ7?uJ z22Kuakd9IUmt>-;fjhF00)cT-TQCqI-4zOqlz8F5DH)(h;3t`G(LguJPYZl1wZ#JK zB(r#6kc?6y;Fn7-J1bY+Mn=L`S%s&QIZoDXCY+Go zJe|!~q~J|xiVg2#wT(^qHiSl9t&%U{S(%iln^lNQcv;rs>25xd-r^G$$he*!);Ng? z-O)o&Gg7)sNoXM7J-yA6*q4NRm{%XGg8~U7FonKWp`ff>3eT80wS^L@%l3KtSv8@; zM$9i#hnrp8LV?ThEyHvNn14xb{6Nnzvw}=3;Y|!W+(e#{P!@9=Y0V%lVXADjXRNjE z;t8*yCeK_Y(@9TgikflOIQBxNZFdGg_uWFcGS`ZlIN{1 zbBIz%HoOni9n~tiX)l>#)N-5vPxPn}(*D&{>D}w?Et8H~fq0sCo9ubiYiL&7TSiVr z)JnwDqx<(AZA7iYv`cwUMyS@Wv94By9f?G(MIVg}cPtjL z?py3aOYqZmGP}fG9yRKe?mXxEeVlekqITcYqg`P%Q3#7edWi*kK z7In81q5~1Nrqf8KVEEp|S&4F?V_$yx7M1EkPw`JgrMXgNstE~h2^O<#By^DHZd7qs zQK@hze1`NAu98ylCcKZcp6)6y1z#v(w;ZBMx+=*bG2uKKm2y>=LLgxvYD&9s_en`8 zgDoxNYAA(53D07&WnDQ^NJ}Vy8JBalltOw!NWMpvceR&88QGfUGCz-dm-QXH>v3PR zzI$Xo9(Pid5t0Ko$>X-3TyE@y$BmVH++*dtuMc{!;F>0m_e528?UJ4oUc)s~MZd1p zkRGF|>erPfk{6X}70iTNNULTQA`+g(wNl+GxD!4=n;KG(`&gvB;L8&(s+Mbj^zEJ~ zRo?E_DQY2W_V&Fj(Zsv*%{~{_OG{K!?|>rG$Xij)iFY7QlHpwnTK~U zp3d^*D2&=6=pxGN9o7f!hRLb&4!?@=4R2Lhqjv;4F}--j^Nxhw-hya83icT8s_1<* zW}4sY9gDkqurTJAhyH@2<&1d8VeDX*oI~$;v*b(0JC*_-;(nY`!wwFy0D^#7{cp4Et?zL2>H?8SJd<;a+5Kvp7 zyz|jTQ|xz&caY30wi%r6^*0v18^* z>*zku^fqG0$|Wh+xP7AX%Ai;8-;x_U4qf@Yzhif;i&dZU3D}xM?;s2}5l-^1#THD$ z)&vZ9H!O0>lhQ1CQ&jBK1YDRT{_(7%=t}qJLk)d7qaX{{`NIEG=h4KsY$zpe^f1k`PIJ}^+NGXYx5*S7Oxa1F- zS0&T)$alc=c5q*``tIVVlt<)cnYy zJ~gXdZi>2DtCvsRlw$ljc`7+wJ@BfXZAS-F^U0ZYVnxZ7)ydkulH>4Z)T!>E8nhdo ztg`F$^0}s~-gSBq0mOk+D5)k{+0YM8Mk_8gdn*bxf=Ota;|MW#SNniRrDuM zB+nBBzl{lgr0%E!R0W-jv^n)a;sz z&)(;B%{?F=?Y8bFrGx5q915ws-EzyjDyt7Ni}+PW_uRzD)#VN2E7iDrZi&c$rMu(m z^7HcH=`^Ww9aW3E=azO&P}}4Xd0XBnlu>(XxTK+(oG8CSitZt`K~+f(=G7XiOOM=A za%Z28Xh6LshsY8Ed9_w&dgPXHl~=uYq$aDxp3-rDRjjAft}G?*0_+}pA^eIOh44lR z54FQ19~DZJ-vaDGxIk(7FWJXq>U zpt;Glbz`sGE&kA}@?t8lNAhsHewFV&{3y`V3WUFz#budhQieq2^S?a#^_dwhi!k#& zZAH9=gHmBerstDbVQFs$yQ0F3S|;t>?#MyI#~NmNNiqwJMTI-+A9{@M$Ayw?L?_bQ<;2+Y(83<0^@I&9z2CLHtN=1kcDUUBTaQodlaoI3oCmbm$K5 zm2(pr#D^cAAU>0f3a*rUiZ_@mXC*p__ii!4MKbr;;6dre7n~tI#05)9PJFPN^qCNR zU#`oxuD7g@!@>=;C*>}`b6-NY;lF)A~{1(8ZmhB zj%sC{)3~(4z<-|?d*FRG)tTN)Yh3nV?Nli67=8Z&;7^cL0GoF@fu{7bTes4iC9 z*!XK9H0o-VeDP&u&!f88-Nw(9wM2C{&!V^Zmtiytr?`nua}LE8f)&BisJDvp(f94C#NGl zel%*vS>yDJ-;3#tw+j7@n8V1MWX|>jxX6vj81Jm-CByTA%+5Op&kV!!m5lA32fI8mlI)!in;v`| z>wRIj*zJjnQLW288?0%TmaXtE#ITXs-ldJ?s_B!8)Qa>|$+?_Miu0g@iq8|Fh)9lR~mG4aOIdwdG-Y6G3j;W3_lIlW7aZh;DT*o9g{sK0xm}MjWx%^Tn?mCSpuRDG^#x3Fc zTGG7n>BviWU6O(?{=8gc-jc5CQb>%iCQp8EDc4OY1matxrnKu)U;99Oi(v#U$YNESaXXsxghkHgrh6Xe84k4LLi{7fEQb^@;Z)O>QMh@NO)^AF`TM^7#;4b2I% z?a|NTqZ9v2>i*Q+!l5-{>n0a%MEYXt9G9Z!Z@KHo)U}rGNs;R|rXK9}{3xwsp2ApO z!<-_SG4;{h=SC(-nXAv5pt)Nn#Ph>pqJ_E@0$F$s{!2AK)b7?q5Xy%zCl*OZLK!s8*DAtQ`qWwh}Cfq zv+zwhLB63@N&ZMgOe>5t%#|j+7m{&Cx{iqww;?*pnttLCEO3l9zP$_MtWk>Kj_w<8 zIdL=gdV=ea%+`pRjWazlzFj@96A{Zk%?%PElY{vJItI)U6D!AikVOQRB4U&Ub-om2leQUh96yIhS zUT^K5w&Gu5-xu`1ZPL$S&EVea89w^k~))L^N{$`y5*~J7r?SFS&l%C`i+;`POW9yXtWshb3*y4NOMzM%Q9DE_zn5>3`~u+Dsn)iz+?lv1t1QjC}>m_q^c zsI-ZBh!?taGbq#dmzQt$OAOvP22hl_qU)GNc&3#x>mseq|EApxNu3e19P=)3_CUsj z#~CMOR|7XCA%K|lhBF*95L;f+oQvFz$i0M&@S7vtrUHLjG3;kdCG=gz`~>-@k-r-W zhw)9G?I9z8pmdHqO3X5OY4KGztv4x0u(7qwU(wK%n|^p8JaZeE10)vTN?Q4zwrs@j z#8uPK#2;I5#}~zOuaP-M3f}lJ*z?BbL@D^<@ha$RV&cbw#8CXIC@E!`v!xV>?~F#- z<~%8+$egCi*giM*%;%1=zE`roW8FUYb?f`r@;wHBkinN@Vw#bOafNTo(IbDH*N7`( zzv^9;q`0C8yFG8o@NsFd*Hb+t_o=vI*b<+o5nLRvI`N(~TpcB_mkBb`JZWNXlGVkf zzlI^&#g(ohuWX)5xbDlKE5ox^b|S7U!fp?KkccaXw-{c#r}F5jjr4?{GtAxS{E0{C zDfE0?MiDuqp7~OWtB%19&ov3e)q`E0L(*Yfec1Gz$0{1^7P~#u<$fRcH0<%DV?_-y zgx51rZYpt&kRR=NRdzG3G2T|hM2#FX%!q5UTjGhHt(aaGoG;|5j0QPq9Po5Or%mym zA;p7V)W=`*Z-Hwj!_x#ez?PVE)hPV(EUq=)LD%q%$NJmg4c;_a=QQltFKE^_ zM^;dDN@QI7)>!8Stg~~XR2!a;@Ry0>x+4CByrq>xZ~4;iUd-{BShtE2iS)(wStdsh zo|kcbcS~EtgV%z%XJFHVw*Ybd@UF@&A10w)|DkB-jT^on?X27p$kpd;B*Jc)XK0u- zGT*_OAGH=u(&ENck!MU4e$y5=7JH|gyN^3+TucD8R>28&a?yKG|$KR#nW*n z%XoT8ByL7M8T$!OQQ7XenYhrVc|Mo<#r+4nHY*K31H{d{X!Vn}2N(bRTT;mIr2U50 zFW^2Qzi9LRE@NN>Yo9|d!+TB&__6}>XKvj1-KrNGj`mhGLf){8A3Eh&!(1e{ins;! zBvS0U%)*sDSmujIrhK_ppi~^2=*q^u36By}WG`Gzv7%Zi`lW5i)eM=Vq?}$vzD+MJ zpINxNm}BL8S97#{@8+r|d+o;X#rDe*Ts@tEDoVa<#a3xv3TMUDbGHO$$(KD)Zw#~s zMGWNXgJ$QYXcUW*9dM1ay6Gw92J+=vQA5^aPk0&^d1*L#3TQEctw-LpM2Jz=MJnT;^Z&IWcDSYTPAk`WXMJ4=+DmncXE1sqV4 zk`XDj)_&N+1|bgHU8 z2R?3P*!9}W&`?UG75iw#awu-fmZI-F%=p1g*}Wz8eXRKU5ZlE2X<{97k2vihbhd{S z=+!%F#c`0Ham`?PaTuEZw5yet>$Q*7Ykitp&r<6!R5<-<4s>(0>Q9r6N|SWVVQOs% z(@N3F$lUL@wR+}dXyq&idI@=@sRiw*=Oizj+$KVSUi%DsjuLhs`pLr}c7&{^ji}-z zWAwo#yvf&3($o=%D@vg)r=HKz#JUYt@e2EOQ9+=ufel2~I)x@*4y5%O2W7sE& z6C0{>+Pn-?7DFftV{5fmdL^PxgSOtGEkGlF3bb>e6`un5s#MI~R+TAQZmddA@-ZfC zu<^BOgWf_9>uyGD_f>*e!J8Gt@NWG_*wdPqI)oXg4{m)HmluROGBl);&$xO-O36ew zSzHK>yz^xHf+911# zdGY5)Jk;?isO@wb)dfC6yOL#)Y=mU8rFPK|gQ^c|T?Su+hgTMTu$`^0QUymbR>*91 z)p>*RF2Z(Jx=Z6SP+aW>vyghor@)l0-(6GL1>LybQ$Ghi+Ld4^N7kjAOUnVig1<*L zv|at&rmEbTY%xpme1n2wa<}oO1Sfj5(ve8<3ewlw3{Ho%5X_^=td(93hOWr`WB-Ri zE8pO1-R)@o+R-{@b5+!0v6sHuEO?b%)*^P>|p0WmE{WQkWd!=Jw(O?}(;%m*GL zjnLY!V8=I4I(dq8@)&rZ12;-6>liO16`&dZ7$^w)Sdwz>jGA`Oq!8#X9P` z_5!^sE6fsEVf3M;tzl396m}S>;?h$GldL-Cb?lnEYo#L)6+wJsH~t~U+oK$`@@a@| zh}hEQ03`tZ#DiO^@@+5N4jM~kT}(W@@yaam!6KPwkno4+{ut_i#nPW_Y zJdwV&syI-LFs-T-w{ER!RNR%4k#kx`_l(xtXyv`ZBOBRd0Jo8Sv$d-6WDXe8kAaGA z6uVw~9r}=pb-X+s(+`944jj>1_7BH&#<^~KS-R95GDScFl}ED`6n;qyda7>@?X+m}}S_No6YpZh`7#$eZL zv+`k`?5Ka%*=N>(soj6j0qeiYCrQuN?sgH|4_%(EqbqM>4u6+&_^zsy_OZX$AnHO* z+BzDp>fxDZYQ>i$ZWs(d($T+rwT_AKH%B4n5cNy!iU2s@$M-1FOKM!M2w>N|*eG*w(!H)i09YP4uCyH^8$9@p)7q*192ktBXB+PSme}i*f4g zc(@d|NJ-6vBTJx@X3mG1O<)D9!Nm@39%vVVM$^aC(^zMD+vPg3xCdC&3exH&Tu=2~ z(kMh}4Ul_GOM&!?{;WE?WM&#B10cx0a+l0cM}%9;ioDBX-vm`koA*eYMh=}A#KU=L4+n3l zirNk3VX&|oZL=f3yrrs{_Zn1(hegAk=tR~4o|FGMV4H8(nWkazx#aLbDPv^oKz{#v~UQFQR&=z0$(Uz0Ap13oB5 z1JYP=?B)q&DM6!|EFQ@Dl~v%w|0Cy-dO06TF&sK;JN`r4@q_=rglZJZYNEBO>x?V0 z{?-2xYnHeL{FM}YzFzEC|4XcxeQQ z=!>wtDP<`SgFZXcS~)I8cJrSMz;fGIVmHS>Z*^}1);TfHIWcW-tBN+=hI0H+${CgN zgFZ+Wq*ng8EA3?`O{R0txEg8DdUxJd)hKxr+8V|r_JJ~IOyb2gDBDha(PF&h8BaQr zW0Uk2d?}*0*@{@ZwsxKlC#G)WLtd8&XfWI(SzTwM&*R?pNpzUpyBtINhHp-H{2ryU0z7R?FM#l|1LAp>u~pu?{+2?*Y;~s9A z(rqDC!p;U1o0bgPCdxQ7mUyN!Z=?%^#)x9%uj?%_U0w}Z$J z_wXn~+vyxzM!ac#?uS9>*2>fP(83EQf$P@;N2V)34lYcVjC znw{%M=i+i@D!92ggy`fTg)~mVvlP5c!P^wPTfrOw?y5Pe;FAiLqcI)#ePh$@a^u*4 zH}UTZ)_6DTB=9RZs^D@3S1P!pg1aiXmxBAI^2LFpV5AZ;RqSk-D4MldA>F0mhZX#^ zf?rkeIR$^CU=Ff(Ri^XC+)>|H%nh~3PUWxwmsBOvt<-D`gj{}EgY2Q#DlzL7e7l05 zQ1A;1eqF);R`8GFR3kKAel&NL7Av^5g1aerh=M05c(#ImO*zZFu5_XCa(D-}Fg!AS)_sNnY${BH$^alv$D<|>%;YCspId5Lz( zZA!#F3VuYvPb>Ik1)o;%#|r*Q!6xrHos4BDIBsLR<&-NC-4r}X!DAIXL&1v_e4T8h3cCrEPfn3%m3cg6ey%juB!3!0+7cyVm4f*# z+)c1c9M4B}|4ShSc)#z|iYPH|skmhWyF=FbUPs5n3Afe?eJ~|DfCAaIzJq_89Pdh8x?LZWI}(`3B0Ey zIIAT1LZN@F(0^0te-S%!I6&LQ7ZE!i?M93{A#RrdM~RvLDutnZYIBr`fqA~&skz8GoMJh zUH`QIC`^ASOgf&1+?<7ooy0i`Zld633V&OLevv}IjMy=*UlIXYx(QZ~RT4~An3gDb zgMx2X@V&&iPviEGf}c?EtHe(II75uP1)2Z%5a4YOw@($O?}?op|E$mrzFKeuHBfLK zvBO_T?8xk<@bo3dT>`hNT{PV1#JGjwwjMa@;2jFjJqmtQ!OtrA1hG>DZ#05_ zR{=kgxe9cAx^ZzXae=KkU!j*NxW9sjDtIQb7vJkF@z)$$VUG2PD3M*vZFsV%+y| zy9GF!AwDd_y^xc&e=4j;6?{s;?-M)x=ZGC~dj18RP3)*_OpKcZZiT?Sz2eqF;YoH< z0+$jy3PvdOsR~XiJgbNup&J!^C$Zz?{R)0m!AETVq_pT|J0S5{h3Rtz|3|^UD*O%O z7mR4B;0_AzL+p4ZL5v#@ZiC}VxWx&KjbC7zPV9JMiGr6aJnIztMumQxg6~uCL52T0 z7el}HrW*i$huE?7yh8t6q5r7R4RjK&p-~0r5IY&GQ1C?xP5>v}avIJEr_3fOc&U3jIBW{<(sGQLwk@g5oH#qqtPToy4qxp-^(HLb^&x zb`3EugxszLjym`Tg=aglWA09cewRYOPodW-_^8ceJK;qo;&nShDn6so&k@HZS^JdO zG3a*%NAQKqrDrR+1+i10?G@au82a6a-b#Wh1y5EI%u?_o1t*Ce<8C5$jC(}EuPOLD z7f(lqvfx6uniLS@LddNNaMZyS3Qs3u?A*E&J3M0)o@vCm_;9-tIGQIuYoC9xy4 zjY99L&@Ul&(q5t9@d{oTp}3cgdp z_bd1x3Vu|3PEKHL z+s)!yoUx$5@yUo?Ao6N(S|Mifv_Tx=X|hP2f>R$c1}D#}+r&SnAm#aO;xC-B9>RdB zi0v+R@ia$#%~P@HG7TpzH_B6I@c~bLM2qQ(7d_wIEPkGjguO)X8K7MhRw$BK&g=O)tNvadf~SWNgHpG=AwU?Eehs`8hL+Rj<46Ez>`&!YOL0@ zvp!9OB<&J07qOo6>&5H^iKhR1S%=E@?c2(AT|3sDTadUjGntS33`2G~hR${n{>+aN z007-3(LQ*(L2>=64x{jJ?0FfledWq^v<4VA+3H@hm}a@uIg|SO!cce zJf`y_tM{{xuohLhsq^@+UnmNbJSES)79mWhwnCkpgBp>IeOm(6AZ zcZmj0KCNG(;Z`WGU!vhjFm;LBwg&iuLrhaP$}`snIhyMxxu1AuGBY{Ap24UC`2_Nf^)|%0&U9(XEh= zSr+J6+HXoUso*p^(_O*993~eAh>QoP>8@a~5cx9Q6%3|{^_vp8qd5-RbXO~o3+lP6 z75ocjZMv%!^hS=%u~KGQ@g8U+HPW5oIV(K(=mM06Dh_pq>ob4f>7THNN+=U4yqcBW&VS?qTL*_yc z*P<+rT*?@CVS=_W# z&$U8qN#v!jg4+XkFrv~oNF3RcXq_~1prv@FBU`b48i8;m`5+1^&_sV9p|r@m zXflBkor6#^B9G%3DAn2f=0rFAxdT965<&pgCsz zaA1Gf=nebA#teC+cf-aOdE`Q#VdE(rG5McP!n8Gcq$k1#a~?K03n};nrMJ+V1E=}| zmHG@wj!a^)yVLudvS{4t{dXaKz@6UzDcRb~5!9I7Pw%<2`;Rk?oZX*9zZK+KYJrRO z29WLHsQ%y>SwyXn=isCbpr+O0V3&pL%DjDpQ(pqf$2A&)(+;z6eS?Xe>HV^hX0VxH z-g`MqZze@}&ETw5DD&mP(ZShBhYOr<5%L(k3IWVBWB(nTLu~l|LH%=yF}*)T>GR%1 zbfy_xFdRa%{zgo2A?0PYK=ljC>HS&vQ1oJ^%DNl+gK~C%R#P`uBEmZ)T-pf&eR5`N86|1HYvF)!Q<4o|l08wl8NF-zq^SCt zjqIpAZ&7-=2fW^O;fey}+jk8PVP|6F?G)AZQApK&Cb2WI@t@2@4;pLuroxrsp2R+1 z8Z+cfY&;IXgp<9PIN+;7eF-Zw8^f0}L7Fd>OqUTi@U11j{2XwGj{}>-eR<8x@%<0I z(T}*;$Cbas&cwz8sKwy~ZMG*ih6l3m=;&kZ4i940Ucm;jh%Wnp=>~H!6qW@I4;{jc zeu0Sa2p^7`?`P^BMKUHfa{ZOb*ku z?=x5#u3>$`#KtKeRLJlYIj+%|#NvvF=W}YloU9mjCM(LKTX-*|o4%7ch8Iy(*w=;r zmNhS8m)sJ%Ce1gR>YT}nH!%y>&^5S>a&g@7vI7u-RYAkoZlaI(iB<k-q+*l#{~+)59CM3>{Vl z?SK{%-nbp|9>QeBUvQ=d=khq*{09Qu9RjAeu^H2eOfRXJtVplC>4q^`u_0Z)nS-`+ z&wy1gG@3#Uw+iffZBwybB$_2jPa~`~=DI+-4%;yA0=r)O29o7VHa&%U^g$ecqJ0;~jI}a=|Hicx?fF!3ZcXPx zG4Yl}K?@E+$~z6;=s%?#2FLr@^H{49X4(CTy@{0gOG;Dm&@G9qHeu9Q{kIfel3K&t zG4_D^?^}S`Un+fipb7HeBej$&mPDx#7J;F7{n)o$ycChC3tSo z8UV-$$Y^|oa^H}-t3sS!I}L=qzv$XGq^+}{E$3oHZ!Z>n|u9ft6_-PDywZ;!4R$q()(6mL^_1YL} zZk}|^Vxy^Oa%-YA$=*g^YS0la;hX||v6MODLSiyk#acWcG#XOS+KK$ejm**F9o)z( z0os6zqotT~0sMnq>jqlANo!fak4gVrfjGT)?Ps(}I_NR!paHNVzb$Gv*v^qyFL3C`2uyrG~? z6H9MP8ZWK-xZbMq(yA2j+Ez_Or5{vSDRx$@MGsOPdM4tacMCSh$60g-Jii%}b z9Z~>cvZ`KHpHM5P1Z_5i-667fC0fqB2Jor+Xv$sCQ7an(rsI<8p3^X>#xId^JM{tfJQvQjvgL?4_#P&~9NQQXirEuM))-^HCu%4%^< z)UFmOyAut2vJf^wAae_KaoV#6mTHap=Lr2c4ygA!U@b=;SZgPbz)Fw|Jmfa##ofN>eN0pIRUL?be0qZ6}3r0q#GwYmS{ z(2if=j&vz_3{={8F2lB&ZT}_EI6+E-fy~F^AiX;em{Y+E&LQR=M7I|E_9V(};a=S~ zWm=|f%CCD8QT-Yb-kZqnz&vp4gk7(F6G9s;S)%D9jl&=`Mds|jdz9?EXChpZhloeS z=)H-uKBL*6E+r?o2J~U=VRTr{If_MJ+5v=Xk)*lZy*vsY&LeLA1+I7cQd-&x!SWwN z;?=#0hDq7Dma%Q|?;7R2vCx-OoM)?6-UN0cgfyP5Mmg_x^yL)j*=m-zBj>feHSuf> zx0F5G3Rxcpx0*D4vZk+OvU?#j-V{KV0h=UChr^-ZMZI;QF1}dPIV|Sho`{yR@C$~4 zg@u}uZ996Q>tdEHOQ29ZaC@R*KI?CLhX(}|XYooMdjb9%7X@c?bH$$!+mnelx||(Z zY>O$=WA?Gj?McMn?!=?3j{oRNGIiV955>xlah}TMJZ2ug%zG&6JU#^=%swL%RVt55 zZ#eOnBb;9ZCWP0KJk+k_&2(DJ1)O5xG#vHjI&T#?FC%t9th_4`O>)Wg0MsE5_1$|D z81WIT&9mt!R4rZs+83Y|j0K=~yE~Edk#sb(UvM2_enJe_H>FEZ;sqN(#-Ss6Q9(wZ!y$ z68Tw&@rBRU_pp8#(eEIAURdnDCy^y@S^J`*R)Vhe0Hb}+cTzrBzk!H2UF3s%FQ^;= zHbrIq9oQ_JE?ZkU60lHKDzqLB?dA)#76n5<1aiZ{jh zdlMPH0KN>O^;~mrB7d5!wBO2HRiL2kO8c!-Y3=L$_tJ;@Fx!Lwksho9Z)F@ZN1(H| zb6ntIZ^?DiW$m$ZjLITg zuT_jkYJGCO@|IG08g6y%3T4NX!;X9}FFAJDRX#;3=NeT7t|xzYlsmdPVoA$_H*JNy zMtjjUR1}Jb?n`9!4aHqW*GUt0L6lvptE6asaDB%)8a5$U|GVRC2kG?s&V0KID7rt9 zYxn%ioR~9C%=r5g4MVaG+a)E^f1H&iZo5BGoE%w zXcgbnb&u7%4n>J_ySrYP9mB~Zn$e2u1VYYP}_c?2NSokd;7OPh>F48JHEpeXzbhr|IyoX zRXgs!S?zD>3bD6f_YG)&DRgo7&F=6A1aUX9>Jt zeoNGpRCh{dvzK?G+bg)If~yofQo&Oc%#RVSoNWr;tzf?1ad}SII4SLVSBdyk!G9?@ z3odpOvvgeCQo-`S8ct^TTOgNbrh?Zfc&qQS3rvqF5r-7~wu1kq;NKLSA#T5DadxV_ zS#|XH6oInp#kqbIwrfUA!A-@^vg%H$GZoTev9ZbU?Bv}F>0t#QQt-EBGe` zb1=VaMMS{`3NE*?T_PQnh@J`_pkS^7;0oo(7#H8HV6Hgl(jQgu5d|Mt@H>H-7ZQA; zMDQ};3X;<}9XDsA6LRTA3T~y~o(dkS;0dBjkBV&Ze#!7~l52vxa=2=ti`i|v_&x<6 zQ853JB^5Rut)8$eo4$dXrQCzI>Q~)=0BRVkx-7h!ZlSKVu zQ+aiE(vczOcRDg^6dCfz9}ayU=_q1uizvduD@k{FMsNeit`Wa4!W9SMYRV$GADfY0@@r0dUm8oFd}# z+(_&gw-Y$&2IOp4C*mJU0{-XH<$0Re5&F7<-&63n3jS5Wyxnlq<`LUQC*|5EdIQ^P zj&g`PxXlG7jW=qp5nS2U&CNgsk0W-{PE#}-7)do6`noBFlZ!gx=V?8(1{?OOLMqFk1F`M!t*+D7P&F?OTpi!i%qSo zvwU)WqPF6jN%OLjQQq%kt3WZia=8Gfi@B_+>x?Re&R>7H1Fq*Ncn2|_^|{@t&<`p2 z#08wxK4QS}(x=2u;xB-s4*p5uNr_(IPgig=Vy8H{nyM?a3$Y{TQU#AD4mfqKMh0xF zXDfKAl3=rfxp1MYU@tM=3UK4vs_tOs2Nj8709n1)oq7 ze5_#3aB=fdsbD$#*va2O(w&TrRPZDPPv^v6SI`PZw6#lRJu#o)v26x+$9UgGx>G9m zDf|Z&`V+)X+P4%QIk7k{MQR^`9wlb}KUJ8%BQCI+ek7BF|5kVcXsE6c5n{*a9EC1t zA3O9?gpg+iCJk{zM*75YjAZ&vU<#E!QfAa*iy@B&V1FEikj zlbpKj;P(~!#}^W4Unf1crDIV;&w)?J}F$w|OY;=i55SUl3=??Ct z;ObnhO?_fH@z)VFgG`RHg~Ua+f~$d}MWSWL3%A_c71lk(j=gs&^amCCL4|%)!N(Pz z*A@B)3jJe+-ui1L;y=WWjr{A7i{;#2hh8dDFM`=amFVdTo~K~0z3PfsrQjXJjvx0Z zc%Oo~>Zz)UW7CTRpuPIFL5j##htI)qx=-(-HAFhlpe~8#okfGobV#m-{ z3hpQ;+By;a8Q~Q26~s+!OGg1m9Xv(hnM>>#x=5j~ROo9I`c{Q5X9rVPZ|t`#5%&-~ z%AQv6Tf~lWXNgN}wbFVw)l71kgwKCX=xu_L0PLYI?=D{XOd^033xM&ap5 z?5OOi;E@VW&Q=1~DR_s1A5!oUVn^Al#HF?ouK`CL{GP(|DY4`5FBSUFHr?(z|Eom! z@V?zm5F&PzflEep2NhB5zj01Hx&G#&C^Lr`WFL^p#Lg3J^zB@7;!UO zF-HJJn~A@=RA-NN^vFrdj*XWqtYZ{BMZwF69p|rB@FoS{DsFGvCOi3rLOQD8R}}m< zv18pi1^=M%{GniP{DS&0v158RadSJDjew)goi4IOVQNk6??vn+9-+`D6PIgp zn+6Ci?KCj>}75uG&e-@{pGMBeuu0>u2hlSp=Iy*I6AvLO-(6joIi!tx)?q$`S zclHxbfj;XrtuuUjooM|{TE6IhPlh4pEUzxsSBaaKS7R>RI`Qf9YR-XccP-eb-JogX zZT5CG`C`krX@+>{TCg7zZz10E)eWK~SzQ%~-RO!fXb-*>IC4^t0K;Ye4NK?&j$!@e@yv zi{5K-S|V=7$@ATI@#$KyLdiN%yNlI0c|O}APOk&CyJ&I)sO!W+oIIcH6ffKWYFuRA zh~U}XV#3>QZm}OR+Gv zJtb}f$ey=961z8nz42uj@-5~T7iNgB3*weOM0_pT`{1*x{a5Dl&5$xgblD6kGlpr} z5pn9ifl;xHRG%$c z;FS8=ZlSF5j$A)n3x?C$G22BQ>NbK7#-TS zZ!6LlXP4FW*jhbP&*tig_;QKO&_^R}c&P`&cT@0_&b*w|S-9ljr^xAenQrtGpKYsd zoa_l6%&{Bc1?d_@d$QUv?F)nr*;8XW-C~_5|ECNY-oX%vIc5AP>BSr~e*)@!#yyPG z&3;H{{12j1GA^c^r>QZsKVgp)z=9gWPfWlTa{&7ooO^8)JWld)a2SQp67mbCQFMav z2u&+FK-dN8jHZ~$$a#64VYweaQXY+%;tBR7GErKa}?|@&kIKu@~^cc{saZEHz{}utmY8}RL zwhWjSUPEa3i!x)v7XNFCS$hnmSwo-#v-TLsz#k7`DrW5+q+b365Hs~CI;}HIOcy{} zL|k1|m3c`k_|ki^*VfC=#NJNc^N99X6ByIkYa0<~po-9#wiNOI7y#p%%=x4IMmIX@eQyqqY<3$&-e?RW(NOJAIO*k>A{Ri&>qUz z3Z8HV|Co`Q(G`?P#=EfD%J>s9(=wjGF+JlENNbQ0Lms0UV^Os-G`RHU>XPKo5bfL6 z8VSOiAlX+fa~+BMhIvY%!#V}AzAHTEAw{#ggW?lujgjquP;(^`$AZ=_5c zvc|*zzELs|w#s0&Z?p`gTKpF08{_#M!Xnmk9E*KprJgh^i+tleUI@yus$r;af~N`0 z%C*qFNy{tFpAmR{~nrMVxAY(w^V0${sM{p zcQCrr9EY0Vzmq@FZfmB~n7b&VmuCD)*?03dF2)(cCpo4u?I$s3*R-6Z@e&gIk7`Jq z#&L?$OSY?w80|lHFS2B8hA98Z5^}Y#=OThbnO9>zc~6tU_>dAm7)0KQ^}MuEGfpx4 z=c&xd!@>VWatYb4C)+m3(UO*b&v{a5yGdmp(&cQ-u!iFG`*jKqmlNmeloToV$Mpp2 zi#3JB0*N*2C3>+?ABqUWYDza2>7x)Zt;w{nSf7AEIBAWfNlo;r2&Gy4d!fHXpM^k% zb&i2jeLey?7H0wb%k--eh*|uXwZEzSsc_udNkz@{)rcv!GO4J!z8--xxaKvu#%KH_ zkMyq3Xe5uF|s6D0S4O3K#Ilg-QPh546BTRjxylY!uP=#|Hb+)$T9jOjX6dZ$D8n-IVl_F zr0hD7wu}xi zA(T(DVRnM8p}1r*PeD(pfbzoTR>X!1lQc169)s*q5nG6bVh_{QpDCmG3UK*{gi8NI z6@tmjC`vPXFuEzphRJ?2)J&F;EvY#r4T2kF}2VDUNS1o?sRK{Mz;-2 z!o6W=AUm6mW-)mNu`R4XK6QGG6Np2D`ExAH6ATRvvDi8OEHq*(C7K`M7#c-#xfc8o zY>h(5zq}#^G{a9tqdy1P9}Z3AKUvNDNt#5%F|{3*g(eewOiq9g)v!_;nlTil(3BF8 zd$%865Fd7TWwO$hqU7QZL{zOl}>p>$MCutb%!Z z(WhZ??VjqKSt138c5coG;UNqbPllmMcfu z4WV1PHOH>k4gp(y82qgdVWITJZfhOJRMQY_gefdn(2Z9u#X-yEJaFCa%@FL0U9VkE zDg1kdKD!w*{|Ffi3XwGoL*0TnXBcYXbiX}iPNdZBd!Tx6rg(qqf^g~p)CqS5$B|;fk?KxO zY8BEE1s_-NJL2aY3_K++TD#Hh6GS{-**1D!6g< zuq)z(g5Omz*AQ`eep7ImwbhZ6qu^o%S17o%jT=bCTsp)}jOYA}cG<0$D5O;i-lAYR z!^hFNPu!l_F1yRCO7uqx{z1WiD>#NmY9(^Dg10JI zj!$%KxKE)!s^FvITsCa`Mj`#KU?2MvM??b!H&$?S(fUO^LvBz=LczBaqiJxv8`vF7 z_>jW$Kg8%HxV@<0SBagpUn~4S5Ia4}FThyr+>{nH<><2BW2k@^P6e}n8S z3)TM(koSu*BzHjTD6_e1NzM@mNFE3BTjJCW!KnC(lL1o=s^ z^_ltEVluGz=fZjg8yIeht3!@0xzE3brQ!AC^Kar6*rnoYoKm;rP2E?xgfxYpOYB!* zl}&gBnR~QBQGhGreTUd);`?UB`Cf8Ov_;+ZR&`W)6P8`~=3CY4-%=>UPkZ5+vkaSTza!8t|QWNn(Lo!7_1n|!I?_URJ6I&^*+iGIMpdrz^TSgA~_n7~s zu=epGbISFbMCvC)iuC*HT7NQRP^G7`qxgPa+9zVuAJH^1cF5eqy4swf-3`#|K8y`* zGX8%_h%X;HuZeze?M-(Kt-I-tVYdwMx2|m0{-TOD;_3OJ+`4|>4g2MNSaYf>Cz^6m zMO$&ovncAhs6w1gF3s{(wxy;Q#A~|VSaf~6Bu#W3RvfRp^~4p!{N!^m>wpT)}D>|%=oxY+jc6xY`?|&IL`u*YFLilsyU&Aw6>u1H{RwIh^C)eKA zYDC>_twwHXTyN{_(!!j&zEvZS{#*2Ttt3NSZY;{yE5%&jqD;Mmm{66Ik z(&|Qb7&RYA5)kA`Ph9c-4tt2%ota9V#fFndb$+x zkCaI{YhOMv9{Ys4mk&(*V5l2ahp3Cz=>zLNTR-Wdr8<19FNzu+DlV#&U+Tl@6h;7iecYs7@PH92EHM7+WEVx0H6 zgG&H&(XKRO459mKcV`QvGX1xrUE$U4Bz*hD8(sb-Prll15T{Htr2xtJD*@-F?gDXU zZcY4>XYs8xr3G&+4bJZ}3JwuA!*$vyJVwZ|{zlPkW_jF*Ug{_9FaYKu!6rg9lfaA_0cN0~CTOn4U5 zj4e6e3d|V;&>8C)Gb`cgj6CEwC8Htpn6bDaJgXUt#F_;)`88#r`7ZX-3f+1Nh2!hw z{Sg6=)dF3pud~;-Vi!dEy2yZO#ZeZ%t}+nDqYz~Kx_KAlzTJ2dF81F@Va8ZoLCwo$ zaSRo~g*6Ss96DlNCnLWS6$@)JV}6)uZr~fs^viH)z_GVx)$n&634o0agZWhcWnsnS*%Ct%GnnOSt^A#yXvknCic-8ZH65@5c1diJ!0DD-SPIx%!D>RGp%@mp%+K;ws22xmP zksLEKspbB2{CtqftsKk&;YXQmK>_ z)Iz_Y2QZtaaQ0v%#cZ4MgChw)mu=^WI)NU~Y%jB_TX(Qpbd&*)7V3;5GA~LwYTMB{ zg&(HuoOe;}=<3*UrWx3~$;77Z_Uh#tEvp)_aQM+9LsTrFTlb-0M`i*Q;_@sd87_aTnlsm-?VMn{tD+17j6zxu4J;$Yw4W#nK?L@dhe>2blj1| zE4F!pC7ooBZ)KN%(z^nDnZwOfUjA({>kZoTx~%Y7IrQNhvXW+SjU zOBPhtM)vZjWszrnn-6?Ox;pDoI`?hq#jJAjydxcx#Rp>Z-K5NCmNe)+X{i>vh$-Ip z@-aX3FjJiK_64)-5XJ&DxE(F30TDVF+8UYxR`a}f4siNvamK&E<-QY$GORm`5NII- zUM*C?YgS9&r-+IeW~FZ(mF$Xx*hb3LtmoKiwsn+vn7Eyf{fx(2Qi(u&8Nkg{7j}ak ze0?Dx5;HsbJ_1OlUAbVUW_I?mI&0Q#bbS}!GYF(v^H>AA`q**j*h;!dB@L~U<%sDn z1C4NzYKl+~9~Z;L<++zHWpPq|0RD41C@2w?JGUA7}VQ zGR%IyDM)P_)!#NMZSwR*nmIt)k!Gu|lBpZmq7pI?)k5#Fn5unc5CA&{`yQ&dV~A~s zEorEfg9z|uFBYj-vC2jgVcxsg6ssFGZjP|{cPBqQi z+6sX&K3)*e54^?JGS>GL(qzWW@xE@j%4Thrw}8^;SxLHYqV!WT%cP?wNex-Ivlp8z zU66H}ZL3CRLJO^CpESky8|^X8X}+r<()xlTr^|YRRhU`0Gh~E;WuBRlUq4`c zBb?=Xk%q{2JzLgQv|slBS4r>K4RV33Us?YGr@7GgE^N!0S#vdR8hr~v(n9aDr7iKT zL?FaJ&zZ}89|6m@`71yJ*=%IWAzX=XpMN27W`%j9Zxj+|-Nw4TUJA;ofuIexpwM-=sWCVDE(T9%GTYTQ-+bWo z>v6Dq0V3E!DR>sx>H9B$wGXtUd8-U))`UVNyv@gHkcP#VY-X*`&lX_)!G3+0FBO5X z#ZgG+ZXah_rdfZYvo`nmxJX=vbuo+M4qrY3IaUtMxXafBffy9Og!+_f@Y7zZQHrQk zgEuOv#sf(xN;SI5;~U6qsxcL&g-);?-s9s8#L&3{;6t*ShOW#5eo39* z4}FgSr@xAW-B%_QKHQC8M=oka-KL@EX zd~*gyq#88JFyWOz2NHbYKe?IkfV>gCx)Wa$f=suN3 zWmMo3TzASgZb8Q%>_g}a23PrT(ecwmLGjb7nrN*1B)lmFt-mh?X}#2;5&k|QeC)cBGnWTxlfU>7TyH6x6kEO_j3R8-?e z%0A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]~rCfCtDxi(bI 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 OZAMo7apaaWgZ>}T0x84* diff --git a/tools/sdk/lib/libbtdm_app.a b/tools/sdk/lib/libbtdm_app.a index fedbfc45da44377d07e5aa74b3874cb91182d806..4150f046e1b1305a5b762b11e6f96e8c454af7b9 100644 GIT binary patch literal 87382 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 I6XhBH8^OM!3;+NC delta 16129 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 Y!wEdK0KFwTvwdz}C|hKQH3VznUt->Mz5oCK delta 2396 zcmb_cO-x)>6ux%=OL>4mhj}xAGmjaDVE|!h`85=gXe}uyQ=rtSfQ?Bt5QAM9YEr?* zpVXK@dJ;oy)2gWn>7t35nChZU?Zz&;aMz91#D#9U(A2nSYV`ZwyKgd`*qtYH?)~m} zzkBYzXYP4hH}uJCdb4S5aA2r^Amcdr!3tZ)=^NbbvW~M@p_F<|slZ47j}MP2<$ALZ z9@@*}jg4RZyrt#qKzGDHZBHhHqvqTG{@mYz^Fz%Ko$hs3N3IN~c3o(~WlEIl zMWQrfYrL;a*xp%u%et+t2?(W!+0Uehgo>@Sf+1HW#eqXQ79oQejA;wcWBe%zo zOLe$Ly26fBht_qotc7CooPA9vWFr)-O}df&rbMM=BU~@b6AijbKAh;*HF9}kLDz{r z+1(semmw^L*TCykNZml6fxqF7!*X;o*3+QwVN?$P!eyIOmG)M(yW^;8!kETLwJM&w zHCfG^HAcBeS8~dm)G-gU)lr#${@K0F9>Y*UgrS(&GCU8a<7i+^8a3pIt+<@aMo&-G zRy`OtI&~)5f_c~hco6vx8*CY#e}hiSPg8cpB|;3NaF!u- zN=CAFG6e{0gKIXh3venqB(~b*?QB9@IBEh{zK%8~zh=*@@s_ZI@L;L8C$VMtmkoac zy|*I(YynO^Ib!QS&fwk!8lHjJGG}`qm}{@1KRsO*=|B(Lgp=+x*y@nzv^{PDe`;p= zEQtLL`49M)zGO7yi2V%*sY%E?({>~Q2)haAUVow=h9i-ertKcH*C-it*gL>fk|XwG z0^&`{U(<Yg+#!**!6t>MPe}lATYXD&Fl& z>3aEmK9#OPW%CfDUOcsqGT#PfJygLtR|)TsKd|yii7cejPZX_bt3}a);~IV?{55m( zI@AY?)HmytdNtsw0rTn=`4;M>B6X%-sr^tfcCbKwN_H-$((e_iSD|h(>QI6DOL<{2 z)&5zL`YhC2;21kxpuVo<;$mz2l_Ghs?G+E@4F&RFwA@>49l2d3UxEBSWR&x@`dLx9 zJEZCnIPDH5x|F;%5YH~-6#ns9QvQ;9vjm-MO(?r+gV|9>>xO`j4Ie_++U3n7_R!Ns zY^Nz&Bg(IyHM{VWL+h09j@WDSU{N`FJBrnV`H^=O4p+=-f9gDR{NsG%m1#@R@w}rP zz&3H`W%Nu_67Jvmgcpw=ThD$&z-|9#p!|TVMFH<4AaxALa`pq_k>(Qvs5VeL9|WXz hI6fN23m?T2ewqEe^C7dk3U*Y7AH`?F-xqT}{1>MW_eTH# diff --git a/tools/sdk/lib/libcxx.a b/tools/sdk/lib/libcxx.a index 9ca40e4f2f4b33afbb175a4f3f9966262b341de2..c33de2c3f17c439e3f4b1441f16c9d203bb083f6 100644 GIT binary patch delta 103 zcmaFT&itgEd4e>%k%5t+sgdzSrKvFH#(i~~ra9&e3=B-A91IM~#lqqY4D2k*4b=h+ w3}2NP82EEbD;Sg;K}-gQAdoE6J4T?ww#|iFM|c=7PBt^wWxTLC#k`>h07jY`n*aa+ delta 103 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 fjB0_t-ZXm|IDn+t(iAlCnmamE$ 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 delta 77210 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 GPWWH0X!HC4 diff --git a/tools/sdk/lib/libethernet.a b/tools/sdk/lib/libethernet.a index a1cfe0f370edcf9d5ba90055c5bbc33b914d6f9b..02c2aaf335929a29905e04e79920ddde4ccacd55 100644 GIT binary patch delta 140 zcmcc9$9AWWZGtqrk%5t+sgcn}rCuf|+i>$XrcMi(#AY|^P$`?7Tm}XPriB6w4D7k} zAm&dHv-ks$$;-mtu$qy9fiJhTf`Ppe#AIOL2gxwW3IY|iZN45_D9>}zHH4jk0fgBv UOb#hkVq|YFFWp{V%J@_e0DOWXWB>pF delta 140 zcmcc9$9AWWZGtqrp^>SXg@xHhrCuf|+jR3brcMi(#AY|^P$`?NTm}XPriB6w4D8wU zAm&dHv+x6u$;-lCx0;cGfiJhTf`Ppr#AIOL2gxwW3IY|iY`z{^D9>}=HH4jk0fgDl UO%5qlVq|SDFWp{V%J@_e0G5v;lmGw# diff --git a/tools/sdk/lib/libexpat.a b/tools/sdk/lib/libexpat.a index 6121c722e4b7fb7d2913a5e8d90dd1ce3213838a..171c1636fc62ae9c78677594a2282a15f86bdd2c 100644 GIT binary patch delta 229 zcmex!#rw|{?+McEMg~TPrbZSUl{~rFAnfUX`GmxqJGk0AxEO($35c12m<5Pgw|8){ zc~66CGMfGmsIvXz0=DfR7qAzdhnWQu7He-P-~eJyAm##MZXo6XVqPHT17dz47TDfU zAXq*RX4-b3won!*&lqIL^6iWwLhG23g~Yd?6&IT13>7i~yI^~5w2+<-vXI#J6YWA< Fk^s5_N#p7e*w`-yg;ElB{gluT&= diff --git a/tools/sdk/lib/libfatfs.a b/tools/sdk/lib/libfatfs.a index f72ddda6a9181bcf7d8cbf13973cd0705fa74530..9643f9008ae2e617b0d0e0a97bb719f26d181b09 100644 GIT binary patch delta 569 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 delta 130347 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≪BcD=_VsCCzYsT(;m>Vemhs_h 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 diff --git a/tools/sdk/lib/libmbedtls.a b/tools/sdk/lib/libmbedtls.a index f9df0c9a08cfb715c211317d84e481374f35019d..f5bc9863c3fed2f30cc1550ecce2bae2d7033b89 100644 GIT binary patch delta 1539 zcmY+EYfKYa6vtca!w$vrXnUs>p@>D$(n5zeVq#nqgF#4uL^L&d}bW1{1SkHDNbI8+=6kpfRWsgAu{UouPNU^WmS|`Q86L zXYM(3CVpc~9mncjsP~q6%Y9ts<;4wkI%(|{5>r+b?X9cZK|uQmvPZuT?9&r~9c=WM z!Igdrpy4 zcsQ-m4=c#*9qsOu3evqn_q-_;V@0@a(8_nmb;2Jd!X$d|R@UVQwm=P-jGR77x`&+To7&7sVp-gBDW&L%C>?Ec&C}z&S+a-f^ zzYRWhWtXP9#0jU|1_Wz+vOQ0TMj0&Q=ttK<`M@M-w}gViV( z=~-7cg4r2sXq248kr4bkg4*O8OP-1(GW|yGCy}kKY)+4Y^r~$`{S--cW$=padsn2R zk!!Z7T=RDW76idcJAZ&26$zgivqNTVVasNkLd2B&{xC&YxcGDKfAXt}Lk5vZZp#JY z5r>K|sa^yn)p_G`%Wwu3N{aIt7wvX8K*= zF;nU;rU-&!u5|eq1=&^ZZrZCLAJ4hN{i*aTq%Vy>AMjw6!TCUW`fu^y0Kc*GxBvhE delta 1542 zcmY+EZA?>F7{^;IEiHxe*51J@> z;@uo%n9kfSgJ{G=V$`4%pBYh0@QXoA+@i6fF0jOx1SDcKV^rt4m!8YHAO6X?zw>{d z^PHFGMz4-5qgY)_HQrKxIqNCCxU8m1EsQHF_~AJfGtgC4^_2vIg=pYiZDi_vc zy|@w+^trTKt`P$1Q`#amiFy?=GFvS}QNL-hCPevZyO+E9ajGXlA3r|qQ z%-g55>%nR_o3`gLM}dY;zLlHNBSvZ;g?To12A;S zym%*~vHK76KnrDLAjn#{CPIW};W7p-kTJM)cRisCk%rvYhbe;K{4cqGN~KQpxe)Yp z=k7X3Jj1xpxZ*$_6bJGrr8^TS6g#XsC+&lpjn;g(jC8hHk9Z`4>jF>2dLz-+tk~9| zR~2jyC0-26=g%t<*V2UaoG3api2vpA2Ak*qxKGc$}nbLOZC65sK=Y3Cj3 zqfTKe1k+#mo~)q=1J8SX4-L$YdWAx< zq)x3+q%=B(;f*9b{2F2dzE-46hR<*Nvd_!nI`)^X%aCdnjuc+~Sa$R$ndw)fziKBj e!OK?v*bmga86KvVYuA%`9{)2CByB3c&V2xfzWPl7 diff --git a/tools/sdk/lib/libmdns.a b/tools/sdk/lib/libmdns.a index ffa67a3d78afe95f62424c6bfba0f64e5eaa59e9..81a73b12ddb711a6707891ebbf9fbf9b91f01b37 100644 GIT binary patch delta 184 zcmdlnjc3O+o(a?C$4GbadJP_Mp`x+<4HeM!Ei|Hl-j9E;E=F=AhFiv4IF`I4{$T*P;sDc5asr_Og LlmsDJ=msFajVrpq(4B-_dCTFLXsF)cT8$tvU zfouyi2s;nNHr>9)iLs5B$;5cNNdRLOlY!Cn1p$mxn2Zgln*}mX diff --git a/tools/sdk/lib/libnet80211.a b/tools/sdk/lib/libnet80211.a index 5b9a95c9a61dce4181765393f823988e93110633..14f8fed9bd139aa3d0b1f0c53fa7d8543b886136 100644 GIT binary patch delta 103218 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πFG}3apJ%ZodUjEFx&PG$;@fY%n*DA_z}V9fL{@O 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

IpsusGOrDCx(X<_Ap!rJ+$ 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 literal 92258 zcmeF44R}<=+4s*T0XE56f~A!T)J+T$5i!Als8~11M{KDLib`8-5=clQfy87f*eBLq zOfe{J6Qwn1Y&VECDoU_C3KdFJ)U=|;N-J%l#EMEQ)~K=23hev;&$(xFXH6e{pFSV& zdtIF?llwRK+-J_5Idf*_%sFQ^eQI&d!tyVqoa68Ba&phlJ~wC5dD)Zw{%jMa|NH&t z=A7#){6#5_ar{`dH4a|?qj3a2b7EL~c>pt96)!xf7PE0$IS8KNw#Sy8yCqB2-o zQ|l}U7M7GPsaR23Q@E%$SXx~;aZ>hTYHJo%Em~At8bnGAE?D4hx^PK#<%*9e3TsNs zoSNl@3#&?36jm*D7FE?OEG@)lOR7prCA7R^QH2Tj8N^i1vZd}OeHxP#QYfz|D=)0B zsi-oUTETpif-Y4rDO_H>xO7={VO4d|Sy*0CUHDBLRt54_L(a)-Eb7uBp5p)nSE$05VWn ze0|}vTBp3Yro4ryR7zlCs?|qx~4d|j3rRIv=&8BT;h}< zqgBg-POxg(!g9CzxoBc}a=uwoa_+fKamm6QvqfRBv^MAlih+6yd2N%gwRQaVr zr=)bjvNB#YU{jlyl-SC&uxjZdqeCWZ3zsZgQCnKs7hbdsIaFa(==g9|X`eZwD^w6$ z>tOY=KFjKoJ}$4SbVJ3}3l`K=l$5dB$WE)4m)787u8}-4SW>losa3Grppx*IDr!OQ zrNCfq6)##`vWs&jE^!Um(wPdxc%GB8YFx5z&9}KJEL~x*GowN|#;Z(|UjHSw#?S40NXbGxWg<9n&qZVPUcM$M#fOmR(p} z>DDaf1P6lpqczg^)D$mWSl)lT1^spIrg6%J)ys4hF}tw+L#&!oYYw4wDQYqsD&~** zWE`!MWasaM>K^?OPAX%jUCRm4YT5++OP;^yFLwyJ;-YSVt~jc z#Y+d)q9onp!4ar*-B2tNHOJIlv1PELFAt`2p+z+nOicRKFVS7QY)N%&cdVjPt0da3 zX-sE9?1)uGvsV4;nJ8n`%#6V%RK;#S^j$|zb~f%XV*e*k&h`7xJ3o7hd!JI2a^sBI zGd&&;Za!S+alYa7g&b$iDCiR%C)Y%0IYS+v5d{>A?!E&p(OBkH-WYB38a4z^`DuR zoxQf;++o=hnezEed5Slq&Er2kEf84SGksWK8Y3=sBhvpA^`Gu$Va*2@QJ2qbWV$M3 z!^uKE=DT@0<~V`G=#XgCX?7exbafpp69@Tgbs7yvpFmzGMx#SdI8L<_qRu%Hb$;V< zqS0`4p0PO)oz3)a!j>x>=%d(+lL+}D{Au8#dfMHH;|`5*uvygkJnb$%iehjoOHa2jJ)hSI+F|HxG^~q>tYg+h;Xy{fG zksR(|M5lN2&S?AYw9P+{wr^*|HkK*0j~gxii#EJX%(t3|$6^t#`4)s(v$lDk_$dwd z`ZhljZQo&3zL(m~wkK`gWVU_SZhI29P2T*V(c-_mD;{L0_mNFcAX~m$?fzZUd+csZ zNqCzg(ZCg6oDm{=40A3XNHR-D^7f4zDd^+vdFuHTh2W;9HNHeWx@X zvDrz%u3!=gSra6bot{{POCahrI8Lu0+yTZsM-Lg5-*NUi`^YyU1UI|LDRMeVea_u~ zx7YEFLtZIU#$bkI^pla!NA5YazBL1(skh)C{?ZSc!%vvF$;oa=n;3Zm%^b3IegghA zB;@RmW;dsW_uE5FNdLVlgM{$!Od0$(76J3-gsDg6TqLCL5xbX--LLxFt$f&R%l29G z@N>r8oBm6-I7sVEZ+d66Az@|KINxc$Px;RF9osQVwGRm|EYN8P~TU2`qX3q=B@)`Bs~ikdZOYH`Mn9-#sASgU1^C$&ZiTLrd$MxULqS3?F*|{652JK!+@zDY= z;u{fKXR1p|(|gpkC5LWdcy)5CY3>_RLXExQzu4kT2_H6A-ln&rjSr+X{TVH}*__Qp zo44srqs4#G_T`6dsmhDT%}bi&<}(@%AfLPPdM^%iq3w)DZ)E*{*Ue+yAyj{)zb>We zZJS4i(QWZ*T z&q6=SYxPa9xO<%KwL5Hj+0}$m=cG3^7c&aH8P}*iA3T10e25Cc^E`zA8g1}imE~>v zz)c0mDv8*mU%6>$?C}5M8pTZBVwhd^#V}bJ3B_{xIwRJf>8#we(=}dM;e=mfHEJ>k z+?LD(mNV`9TzF4(o!8B^Z`cPH>%8(@@HlLKk08H`M%;jWV-F49H&+Y|zwhF#qp3dc z-~`9#eTK%q5m%KD3cqLe=~fyHI4-tXZ#u+{+LBc{nuY-xdo5OuO@DNaP)Ti8lf$pL zS!Et=*?zQM1*BeuFc2EBZZ-9|NvkYvHo0t0?JMxqR+G!-l+bEZ-%`S+TsytK&o%C5 zwf_aH{a)`AuSPrer#*p^eO_z#8!i5eHf-9mPH#t7?-Rd`Y26flLtEcQYxEPr2MY1!F16DCfa zkbU-~^Up3T&N)9fd(ydQ`X^0*ii1bTN0*y<`awYfa0aKR2C&1qbPv?a`1j+o+rV%m- zPn#sI{eXwv~bMvx}0KPVe}ytFwC{e@yPmInjJ zeX%Tf?6fHYvz(ZfN^qI%_hpn59qso>nK9oiKRW7dSu&kbD9=jhX~VLmqm34bOoeOq&RpS!I4UfWHSx`-xsxW`KFF=(sJJcRJj*0BpCN3qAvSZu>1T z9R-<(z;tc|GoJb|{>>Nte$mtB03+eJuWm5w2KO~8nS*k7`%|PI(#F;sV*|ZCM;9m? zTc>CfP&VJNHr(Na+Uu7Dix)r!Yg}1wiPKFr#g)#48qDlY2x7X+nNU(3EOsU=sI7G- zEUa3xq!hD+6IPh(XhH?ABiD9CZ~`{&3sl!sRdZ+mflD++)Mt=rPK^$;$opKPDPA3x z+90Y#N6vgKj8auD5d%%0e0yP?jQtNom>1DE;Tb*+(q1GCPej;W5De!dY%4#*S0ij4 zFUn$gTiF?3VBdm!mpQo~R_Z$h$i z^OzWa1kyV0KNSVQ3VbV=@uOKF;uwD}!nOi3eg?x*kr@68!nR^DERT%-s~;g@I=cM& znV4Sw$g?8{5rrj~&MjYVW_lLYlwRkQ25bACMbMyhX}@?g8)7EEF!hZmQttfYKk)#H z`%sUd7M62b=_3!NXw^?^>^|9}Dx3>m%$`rVCx;imWj0Kn&$@axaF*wy5?Gs&h#oHI zc7iakh8$tmm-B_$NMA0@I`B2&;gGDKOeX|+mvB8KJ3{IkAm0#P1Gx)2>e=b+7WP5z z5l(~roiOeGEIb0TM|c$Ehr)iyQ&7!ln+boKa29xs@OW^xa5i{~a4z@@!c)MP2~P#j z6%K$4g{Ondg!92mglB_q5H0{W2+svK3eN-IB|IN|k8lzAe&G`EHsNycPT@-MLE&m} zuW%6jci|P_LFjZ@4t4M+35UR+7On@MF5Cb%xtYM}^lyva4j?n!$sGTfm9FJ;G}s4+=Lz9v5B2C1XEy zw~Zv2AihjQ6Ij}Di=8Zs&FbDsvTilj5ypiyn>ZZ9$^wg14MbB9K_yy`1 zvskU3ySMCDoTWHh@f5`Y#rcX06wgy!q!<|6FN@FSLFXq^>2)5=4GzkIPVaXv!Zw{E z#g&RzD6UuBsJKOOn_`YtZ2BFFcPrkj_@Lq*#m5wTaU3>Ho?FX)#p4xEQ9NBS#}js2 zjvFji|kU3%N1z_nh4|0#Q%6Zdvih`(nK13&2c|*9{%*E_BiSXB_<{@W@Wg zy$HK0v5;%S;Fa*Sw{8g9zj7OZv~dMs<{8=zB#^r~4P z;%wYC23lb(_<0Y^wsE6ZzJPlWG<;I?jyHCl@^YPrtITK+9_wmoiHx9*)kO{XA%JXrkCg(Xj z5+6zkAD8DVP?#ktou(M-E-g8L7_W4R-qGX z?s%j%ddGz)g&G)>-^-;~(HM>AKyH5v2rRuwig;SJtUX!vJGL}#K_oq9H&Fm9ciSmcC| zdJ(*H0zIULzGgr+^U^qNwCOj_(Ug`{Q zg&zU$NByUaK=QJ-&dxp47Exv!)?!|AwpMZu(x&eLGaX*aw8?;{qYd}Xv}rTmG9)ht zj&Nvy89Ya8+^z_o_T+MSI;KOm`KbhRf84eno{rm)dHHkO@50kjPd){n`VH{hj{FmN zI;P(S$$G}Phv4a`Z-->lO8sN-bkuK!WFB~2U67nUp-nOhjLjI+Kb3_C=Y=P;JEETD zPRDe}JU2`y8%$e9bBKUe*Q7az3OL4*S&mHS2Bjx6Kh*!g>X9ag0^BYEKBDwwvoF~2 z_T83ehq58tV}DlZIb5)1^}Nz|DgCdNey`H+SNd+S&D$ZXM?S4H_3;1Q`Ds?iKKIf2 zY8FwSON@<1T-_&~pXOe8@o|2Y(mGZeo@_eW48#9(AbBErA<{ko$vBoR=Y!`!^1`EM zd?}=LOmCSDKr;M2cwTHAhtNI(X&vL+;oIPOq>SGsI#wEne*cpomWX8NG+V{DF$xvn0a=b$NKlk}U|LOYwpTA{r zw)0%eT>Mt@XYdaWZLH(LSeA~Rrbp%-?7Td6^B9MUk_lNP%A%zYjd z?ttVq#dLN-o)GSYWXDAPZty9>qaZI7_CsDGoC$fE@K+(}xh-vqg|i^}5ZCIfgn6I) zE#dD#(p#JF3Uk{Bg(Hx>j%dSsRXPtFFgO+y^>pM^(X#{eNMp$RA=*$!P8I#7qUYcu z8{W=Ov8|y!b!0m~^>xt~L6*bYd8MG}sUzEYrEiIT1LU`b>mlixJ_jB4c?oS^rk*Dn z?vL=a;h=z$p67?{nTNeT+!dmyj+`p`647%YkPC0^ZxlUsWNY6jdJYioBC~^ldyUKr zD9(d0ofqD6nqqEd^?t=!idm-C1{h z;x@%w6n7}zt$45EgNl0;A5-i_x!OGNJX_|qWcgonLntt~e`aoo^9i;*>lE|(oCp5@ z#__V?<-oBDU9Kx)|C59Unm;%7_+n64&EjrqDFAZbGvKYw)lKd>u+ zE%Ok7r`v^ts=Z}#212$9GuSJfVikB8wR+YK)NFO(UG%&w^?Dui1H zvoJ2k7Zweid+|B5Au+=cb!(B6fawNy`OH?*bYs(j_~?i5$D`5rVduKZc}|{r!*)ti z`d{ov3`sfW9mIKw>2F2-SElj*7=H)ePEN!>Xbd$iR z*GEe5vSPQ_aU=G{A}~$UO?^7vK*Tl)>3b2yG@28`zrkz1=0!(0xq^8NeANxi>58iG zyri7xquG-fe}0nxjAf&Hn$5BD9dUjuaU$Ac!Vcc^J%&Sn5qdxL(G&IcEUzI)Q3@!l z_gQps7b8AII^KYImL>R2Cn?E^e)wS&W##t=v$KPNKyN`oZ&6WiAQBAZ=M^*t3+Cl* ztlff`U93i5%dW&C)7AgM267S0dvBwQbhAKjDlZL?8gdMN78q|up)W`3{H)DNe~ z)DLtI_2&B98C?T8CjIzO)U9qj8AvpBrq}(b2`{F>WFjF;W6ydjZd^3v| zA8-7LS-{-oq1e1*lbNu@r&Ajpyvgj3thE!MKJUzA=jO{tHyw!H+1$Nu7&gTBI{VF+ zIs0N?=8S9zg@V3yH*ecxj%A))Gj98l;_z75QH;vKao}qr97A??Z>#&NbqZb)Z)`{l z-Ndu8ItBllQ!vMh7r*&`wX1D%ztKwO8~gIgblAKj-{8Hkyw~SlmEsI3Px7VC#7HlW!%Dj}98-n=#$N8@L|@oaO9MiHI zGfsBKt!r%THD&u~!{M{e^k?*jACVWahx+;*X46AVvMsstXzZ2wdt6QUp;&dqiC~#K z<{TtCbB#F5wO@Weq|29)y|B zv;|K1F4{DBhpgyLZ#J1p;GTaH4Py?%4JKp6MS+f1YBK=hqnJI~6_uRE5r~e_Q+H9_* zw$yZ7Np8WWzH6?e&Y?Y7JaIS~f5wUHejvNUJ#kQ+-WplY6z?C3f1T#rMSQ?_sxuj z(e=}2Y#K`2NJwe3yj{OymVV0(ae6n~J$lnOagS{Y;fL`>URq>>$v97DTS6q#>s&c3 za&JtPl^R-!3c&Dc4l<@Br?0p9ltcNkO*r`(JQzDQ{3G+QYqhNjhx1mMnvmo#>P`Pa zv?!y4$s`ru9xYnP!>veiYlhoDI7utqJ}-pR>BWiPY1>|e1GZg-o@30|>&3W+bIg;y z{KWKkY&B1uV?LnDAC!LBss>?yFu`}U?v=pN9^&6X*p&Pr_k+FiguK_Hftft$OVRF? z;E5gDJ>Pg=>O-kx@MdNTaeX8ad;|NYhCz9Iqk(*5KPYB)jWYYP>B17iU3So!@OH}n zAHR z7MIE#(;KZARQz_dsEmhDF{s#lYSl3Kx<5y&S5S5RVEk(sblsaa%z{MxL4=vh>j%5n zRzvc2uUeC27TiG|+1p9`6a7#6ABi}o_)L*C4-W6O9r<7yJfC3W&rZpCku@eiF{g`T zrabfc;`vFDU;3*b^T*1|KemHLgK~ah2Uh0n4$65Z7B)r2_QvhE6Jvb^iX^nw^aDwb z+lLPcx&3zZh}%CnpVI9M>!RCFG?{yrwq(^w=z$Xp3t#HVzzH`cwm-v%UWjV;$_I#E zem{k#`&3O!olAJ+1ajJ{UImntl~+ zY)iW>;$f4tTAG=NX=YYdI^o?+4v)G`-=1Se=eTP^!(;A%&PB?D)*LlY-$aF`5FxxMQ-B#`(4tBRa6ie>B z1?jky-Q@Q4-)ZIF>{xpi_G!LgLt@WsBkuDTv9zwnKHZPkyiHHXn>{IJ$V3_J%t=IY zKaaP2yw7g=f{b)?#+nmM_id^qTX%$i%Cibwjh8EU&x&^8ShKkfJPz+w?Y*envpT## zb?ZIuM{!%hBQ~#7$Y+~PW^fBtPi%lRWWhzB;C#46hp$%eOzXPGW6xUCYthxoryv0{ z$igU`gIVTZ)?C1CydB&^ndNQzO|qu`pZ!s8mh;@&OMgDt~>{CZ-g=; zSqTx0Sx;V-?D(e5L<7GP?;>ZccUBE@GFlysV@D-Cli-X`ScPsa0XGr840HeqxW!;+ zKspqoH)CYxAxx}k`$qS~%I~2B^cTMII}-it{UE+~f;jgZ=gaW@_y#7*{)I7SEaS#q z09Bv;`UnG0MoRD*^*x8IH7B{!;QjCc_z=9~fln|hhT@%@FJJT6DFIa)85^8uPIA)U zj?VNs=r^B9;eXui;RfZIA^bmcu#^7h=rc*q>;%4bk1@wHES^=4gE5pj?!FQ*-{2bE zA7kZX=3|WR0Cn-@!&j8-K_SPcZYG*By&dn{@gI+mV}t(V#GYurJ<$5&@?^#;KAA+h z*nuK$vtqXbW{}^OT-Rw^^d|GsH0u8E`;5#0A1ZWhykYLOTMwxjjtYwiel~3`$mE&0 zO>)pKK;MuY3iU#w<1lSD>^e;XnH{MaXe&c9e#Hn8R?P|SH@hn%9ro7DXx%28$;idN zJ$A9X@!QPp^CPwuPC%WW?)W;#ZcUhZk%K$4(8@@IH-f5t(WvpGE?mDpG2G5Gv}!Uk z3Y~A%Na{8kT@H08jhZ^@!S(AugAe&>H{Rhb;!g~7qS`ll)TkXk#;-TJOvhRO)Z5_* z12fZ|@Ey@MFKou|@I}_I#hnAwz(jcVhK}{WToG11T%eTVJ4bo?~p0HnuvlBGS%AgaJdmi^%b1&UTA|-AE@Z>$w zNA7XfuaBa>OO+q-o#R92A!=#?zrXJYhZ~bi);}s^qHyZu}0fm&!YqTf1BRZrb`dj1~d22Om-{4dIHm*d0 zGP)(hzcMcs^FbSA22f^n-e;A}&fZXP(=a=!gAeMH9K1+pCYF4(yFWQLKl29m$FUsx zts{IN5b}ic)|l=SQ+wzwiS8Rn^%SjVT#_RdtRLOWn{?hWOm#(-kSkC$LCB*x zTtqqLc$I^8qwsnM!)qY3A+59TOfnB17*cx4@B#QPc#fr+e>%SVXOD&UmC*B*1={?( zwGmzlnE`(~A{oVWGr_lr{$ViwjJ_RED*Df$jOb`j{t{#ce38X9bTJI@!>&jmAzWi$mGf#kmSg89glX`Y1oK}mlO*p_ED_-fJL45s5bvh|7S z?}L6gHei}P=*oDGnNF6suN*D~({WqY!FgbAy8&$T)&^cF>5OAL00)&rJ|B{4F0^`V z%Q|e2u^CKT<~ss@7n1pD;&T=_?w57l+INDjeHZvJY-rExfR6U|nqWSY@JzKGdfIFO z+j9F8_&n&CH$Sc&rcdT|M8|aOHN|wAq35WB={x~O4{GcWfe~#u4cFcn;Yna?GhePr zreCj^uhO3(_P+u%ZQAe}rehxL^~^jRgT5Mi+Et>mr!co+vrFfNC!=bawAc*OQBSsdHqCU@ldYc3H68V2Ryn56CY+9XvemO$r=y;1 z(_vFjM?Klv-y ztv<_Tz6D18GNor<6@bnIo2_78o80$d@U@V%zY5(vCDWe=UJ022|2r@p^<)OA=dgf| zdNOy%?W15y>ODAdR{v?R)pICe^&C>r(Vom^hj!;Gdk#6Q{VcF8Hx5IrJ%=N7Ooz-n z5vH?P*>kwUrhxi?1Ka#?2xHU#KA7Dc)8Vkj>N&ijqn>Qje;jPn;qb@Wn_-aHlas-; z+Y6>+I^@qoX2Ac|>a*N21&_-EPD1Bv`vou9rZWu8O}OnCFs~!>MPNE!M*%Q|*)PW@ zbkvjCEHM2QU~bDYZ3LeK$$ahv+j8yze;qoeKav+99MiF59i}rL`svVf+iGhg%-5y3 z?X6Z1dybFThH%?9Fpq`%+YX)p$#ni~?S&tJWIAhE_;6lVnE!Tsb^rbA+ptOKb07U4fW_745=}MHVKyCoF40sS9meQDxkU2@ZJ#0$ zZ%=U#0r)O>zV9yQ10lBpoes%?X)?|hVGg2}NVo)H4u&3=@N$IhpoaFhB5WPg`ysp?#4!G0ggIa-knMLM%z?*L3ICGu z;`x65Z^0ZC{1lSgzX8e4Jt*N`Nb9&iQ$V6%*oSnjV|Zj-cwAige1zGt@#L7Y(p9zq=H?S)bpm*lmAp;6L;G0A@#AKmQ*saUZu5 ze%w0w2x1j|^AiC7tv@orY!0wm`#)Nbor{@&Y8Z{doA#2xo)+!Ud3=#Gnn+884g*K2Mn6f?X`kHvI}^&v%r$Z2*3; z@N{s!a6b4>;o0DbF#C!Jh4(>n!o=o*?_`tb!apTE56t(Hsb?Mz2s3YQ3eN{05iSA` zLH(kA3H-^zS&*EBp`P207A^;$CCq)DE6g-65oVfK2s6zhWnV7Lbbcbt$(x6T>mYwF z9D;m7xE}H~;ReXJgx5g+Rk#sy7%DRJd;#Ps!fT<=6mABO6K(-tD?A;tMwn|SeMfjU z$sSgW#Ww{wc^`2y=axD-^J|H{_(ysU92k#JlCgk(NS&*E7VjjjrastZo zNMY`4yl?WMQuNG+LPJ zJ&h5LfF}uW0ADEF2A(O*^`4dsbG@hAg}L6-UBX=N=_kTm@9AOT4)8AFUEqVlonTI^ zF`v7^Tw{aW1x`XEYV+?C-UIz8Vdjk!an|Ns#a|HK3!5#%oSb_`m}~C5AUqfHx5D!v zUlr!sK8J;iAh`|`_f-NJ6)uO&#vL5>mEbwT)!_NUL2!xi3UE-k4t$Gn2;3-K4}MCx z0sMmS8n9izsS(U?O3bl?xke+o89Y{aA|yTaJg$or=L@$$e}!-ae2*|EARiPihkR7H z67uK5)sQa;2O<9;yaMu1!gY}E3Wp%m(YG=`_27Kr2JqK~+239#+z1W}a~+g@mLU%c zH$%Q7+yZ$-I088Y9WVE_0ep&Z8#qIFBY2!}J9w_}7I2laSuVU4`Wuw~R$-18T7)~m z8-;g)Q*f`sJaEEwlyC<)Q<&e$oFm)`K2LZzc$#n*_;TSr;I9eq1(yo%1OHIC8_bDZ z?)M=0Nn!5ym%@j@zZPbi`-QnLPW*D)!{B#?d%(w){UF?P(WV#r&j=p{bE24frg@g) z$->8=pDN7!Oc&;dJwFoWr1DRM=RrOyJRfqGFl}}V7eVe9E`fYYm^SYVmqUIUV?5@K z`jNtw;3>k@;DB%tJV$s1xKP=Y3D-ftLO2AzS-2kjec=XhM0gE&ld^eCxDonih1Y@y zVUTFb5W16u_ku?V?*sdVyTKEL4}vEP9|F%5J`BD}xCdM&%rS43@KNw`VQzb~Ft@!! znA^4qbK94MIgb8=uovU&*AyR8{1?T&ivOnggyKY`#d2Vp2ZT9(e_J>U<9bdA(`EzY z`%2FVVd~o;|EBbu5T<@3WK`)nAxwQcbc2MMJ|~2!-vT|q113{%o~MGhLO)FDKdX4O z;ta){>}5Kf6n{sU6S_x)>mU;_=}Marb;9-FQNj)2vBGP>=Lk1~^A%qqTn@=eV5UiX zhRMy~YGH1>O1K5QK{x{5BD?{-OSldEOX0QPSA-Aa#^#U0y!SdL{5$B=;JIINreeH( zAJb1)JV!Anfw?X3?aGyYh2k}eTNQJH*KWI2>31vswPNOv_FJ$oGcgN33f<>$k4gP8 zFehore43iA_;z7V%C-sf-gL8YHRN{Tw;-Ps4nn>nO#5zO+V=?4W(ek6xL?|&3Df2r zVNT*+BIN47S%U^{Nhd)7{2-e2-QlX~9g z@qUlY`!L>*kl=gXlMese29MZ|XV5=L2Y)&mkCV zQcoS(=5vJTc^|;BK5h8$*@N*Gnd9GVVUA}vz}qy(W86a<>c}=tF8WSAA0YDqv9*ti zo;tF%PsLcoKDatX@kGU6P~5^aQK#s>K|S_G9XVC>e9&z7I|b*BHq?>re!oaPu7A2~ z74PP@lFs*JTk6O*{hc!2;8^DG!W^4qp^xOgIM%pJm=B!kspkV{dNLn4)06qYnV!rC z&h%tHaHc2ofipds51h}E{)i8g>8a<#d2|0-%6X&uFYq~ zhB|Vp=(p2`PmkdIVnZD{RrDRSInA{hCpOfPQ$@dvHh$M8S8S*wr;2_S^?Zs0H;0UN zj_w+zUrd&BcfHboTXC3-wvg_7O23YbYn^T%8D-+fKKSt0meqKKsi%%?%W4;Gq)aA@ z4RvH&R-LqwG6{$cb!1ysyJ;h3@@Si#C2_5^k>8P)D|9RYv_7*JddhZ5dra z`Ze~e`-Iu=9T4WjKt7!HWV!Z#6+Lz2RMBr&HYwPKWkMa<+H@$J&x;LpWNWjFHfOr~ z8Yec?kyAzAsnYp^*ic8d>FieNd`WDmBinSkR5}a9hB~rMXOBv!Mr^1f+jRD-bXJKC zb!3~)K4o*4*ic8dHr>kR5wW3;Y;6uIn`gv^I85tV_hyLpXD+i^4j+E zLF%zD>d4$5T^*!tpSOT%Lmk<+&mr2t)BO&THq?=AI`v?i&TC>r9oeSymgqYm8{lo4 zDQE+jCUs<+<{H|dt*866*ic8dX|57I$0>ZE?8$NM-xED`ppKj> zdX86^A3lg~r@d@@hUlpy+cdY(Mz+0JY^WpKG`G@5>c$tvhB~sXGt89-`=!GWBF5;} zW6a{PHfXM6j4BpmJ}0m?>{=}Q6=y1D6Ju>y1ubVQ&Q)y2W|B{ix2%0Y@pQ%cif1b> zP&`-hJjL@B7bz}LT&}oMakb*0;uVU4vHa_D)@7^9)35Axx#_af*Fm_ z_WHQ=vFQAVlzoHZM#aF`G3xrGk4x7FeJuL?>ip~TRix6_<*)NuuWWSQT9m#`@fO7$ zigzpCtN5Ve9>vELdr@a?UFG#{*{_(-rL3OMV=VI-l4U+Cvdrf(mies3a!_$dF`uZ+d{l7~?s4q4X^Od)kk$WJt;b!h(yUW#)?7lK=(tXg z-ETzkM#X&YW^HyU?o!NqH*0f9aj#+r_jK0Ar+9?oOvTxXrz*}@JXbOA6>a*Jiut_F z>iJyFGM}GW=Cd)&ZHoD0YgXT(c(>xciuwB|*1kvaF~#1bJ{#W0T6@3Z@rwCdDAtD0 z?JV>8oMk>^v&`REupCqzQoKfSv*Hbk+ZAtD+^Kkv;%>!<6(3d1XL~kpe6D7h&+07m znVe;F&n|T}p!Bm9&r@8YxLR?Y;s(WQ6-N|rRJ>L3F2!An_bEQ4xL2{mc?3BYpJL8A zSbe5qGw&ewQ+9Y}VI88C1lUf_jD_PD}98k>Xqt=Gc3oVx@=5tM}=krU;d`@Y3tzte?wEB&T zw<_MHxJ&Uq#fKF0Ijl{SuRvPn@7q}B@7P$*RLp0!RzFp7zT&xxi^yna>G<0`mRBft zV?X{sZ|`{Nq1qakE7A%yX~vz2|M7PA1z8$cyG-E#m2mU0VG9O+X<&4b#*SmcbKset z9EQ`0`x5P>IdCRHiK6{jy9;2$ZREDdq_+fN>zF^rUnY`yp__ud)wyW?+vB(tA#%WI z@k}uf&&ZJgj|0^_b{toMnQk^b-4>*Gp^N4}k zusvr$=aSR$T#g{lrblVZm{Gf7$8ip~xA|k*%!*F$*cq4uRU6v$@U~sQAIJFEwGGdm zlAY_P`}nmD>%Qh@!mayRC_^6cKX#Mz@J%y6_U-mM^HcC4DgkAW+Xq$S? z&voPfo%}?6ofk>D=6wrKxZ!(ZKYNe;a2*YP4+}5rE=Esqtqg<@z`s*(_;{3SIdEMK znyoeRNVFNU1wI150lp1>BYZnN@;hX~=vMQi(6^0q@X;&3)eR*TG#m_>#`9>b`yCptb z#b1qh_pA7n@Y50>Q1NAmH;WKrdn{>U((h66%Mt%G$=_oG#NUi~vrr+n#~1Qu`);-U z9f*HWw!d$H?e9bUy%N7c;=9!Lk0JiY65ldF{IiHR3u$5hYX^vb1@TR?{h9&d-$eW^ z5??<+{1L?8B=L0v#1E+%)mkUshd~~^T$zBH*dtRbECeoZn9o}f;wrICt{WRvzw*i5mltDlV-6U8sO*E zdCrFGb3PWwY<`>^Wx7w|0}b*4Ix6*fh=18V=9LfM=x*Pr;%6b=EKr2)Uy$vKR0gg_ zyjda-@y|+pyNWME{F73qPe^>4N`E=xw@bWPvjO?n@i!yhUEn1pj1_jw@#*+G5O3Dw z!3X&FOMJCT|31Y3MAE-Y;&u5vhIm^iZyzB3S;X5qdFuf2uOQym$(sgtyW!@w!ef9w1)V$%Ss69Nsffojia#dBU`uQYWz>;5%-e+!_66>tvEXi9nB(ds8rr`2^AKSVw80qSIubM7$RPMWsxo&NQXYhry&dsv3% z?p{Ja=YoEVNg)57!Cs+?lm*(4Gub_jvApE$zu3 zNnh6;o;zDNZ6B`VdG5?&me~KU0k-G4dqUF3nl>i?dV8Kb+lOx%AfD&W_Td``i08T6 zDCyfiTBpx*=l0>=^cLyk{Qb|J+sEPL-5BfNOv7T%>4E;|^kdE^$6RKOIiAnAB)j@j zWm{rS7Yz>5APuXhgnHeTRnUKp#qrwn^`InBq$r%T#fknwxmnNmmxmBEy-5tFGqZQTcYD{Mtpo*qT}yCylqQ1-H7}*^7w{*@wP27W2(6LHxX~!5;LZXi$8*R+m@Iy zRb0GoODYFAzq&0cVSP+PWz6pN%Nl67C6Idp+!CPuaQik?OpN65 z36U{Zl0M}F_HX(c8oOYm?cY{nMPG9bSKB(VI^{gnY16%-POsebjvL=$<58z)q0G!$ zdT1k_m+c!>ox2+G&&W0WjKp`V_%g)XHl#!13sm~c5&yVszjc84n-RZ7;@by^zXS2o zh75R3-G})2`v6_1A49yYlcvt%MoY&(i+EcnO`VO4e+BWjPMSI!7yl;WZJjiAHZJ}M z;%%KYbv7g{>%Ytx<{Pv;A9N-Rq0zxwHLS+W`C5{aa*!c-_A>OaE5Tf4nT`?w!7KcjJHh+yzw84tVag z!9eFu#}9Pw8r2R4I(K^efzF+dAL!ia_<_!yjvwgU>G*-posJ*q-0Ap%&RwAYxs&-J zb^tr!55T{}K7r@7?|ep2e1dCn$bwVj#wKYu_0_{uP!C_1HWCZp$~dhrek|hMRq9i) zc$^!bt#PMMT7Mna&OafQT*;pLBU%8mBR|Y$}?krh^5>+=jmv{RcV1hFfx5uUn9RwX%eO#cP#&!FYbFC8>3J*}l=j`^Jd=pT() z560tVXU=9xWwWv$2Kxs^zcJ3^D%O;73oit}nTzGXXJS}~A%iKBNlBDWmJHT?6&YWeU4#oB` zE&Vgdf0e7Bw%(ED=m)vwQz80?V)l78MwK*Yacqxnj+VrQuk9bM{JCh8c{vRui;=$1fYDV{Dp+EM)qdoGCbk~Z;8q;I2(%#>B zTv&SesJ|iGUc0`L?jo|jRFO7prMoQ`T1FCB<<)npFL^MZc8yKRLUNtnM>aU^+j+#> zcv2AFcw_tSwCwiG#>a=*h@JGzmq0HZQc(gG?irhA7=STAEHkw;g z{I?COJKBgW-)fqhlt&_-|EoN|!NW#p^E$_*YCwv`X%T^??7P{z2Leg{>7Kwe(+=@h zlj8G;Lk|4!=8;)*f6!^S({phbJlk{RD~)YEpPnLr_IKtv#U|}Degg?x;70uGtnE7zJ2zH+GL+EGI4Lyk+?9QKk|gF!_ynn z@4V>tNlXksQx;`jrAFexsLd-nO*gr}#wEw!qO!?3?r~o^h{qjyz;QZI7AzCfS2}*| zBFU76`4K2AgN<(29_IUUnD50@DCU?3 zk_-G<3u~%sYlBr)m1kcz%ikART6T8MgozU;WS>3h{Iko7bI#Aro^D(EY=gq$2qU@BsX_w+ZjNwMX z&x22c?+`A+L-pBUzL!PGcVYN^dpfqshvc`=)R*IXBI+~oV4jlSCon!AV<2qe@Y_Dh zwIcbRKDs8SQ^JQJ@hXEe1@D$`glxb!0<<5G7fXgic8RP+CTX_^lKC8kZ)q4`37H9b z43g`3c)Wbag0Bf&4Nu2~;%phvz8pHn(S`#dI@)wV(vCJGkQnz( zo2lS*$PD;vz}XLtKYBqxZ=@B*xFpA_!`AGD85_q4#oQwA6Lw^TVm;h zPjlS-&j-WI9LqPrbUb!jCwS}|p|{801x|-e2K>8VzcANav7DoLj^gVSH!0q%_$9^f zDjtTq8B1UB9L3iuZc@Bi@k?NP>^)$6?C*i;cQu>0_>0V)Zi=mn!~_;(HZ8t@w4tgS>rdj!`^AaVgjydp+15`zkOUkKJDT zJofF-XF^ZAZm>Oe4_?IaL&sxJSDdG~SaDc!tKugVzpB`Sb|;oT*ycF^wt1cgremIM zJHZGXgLZ-L$(dk5Ga z`>S9->{$+6`^<8>;ylI0io=Rq6+fZ)RmJ?4*5=s{wt3Fri)?Vrv+X;XXRfPg^IQkE zdA=L$hduMWL-Bsa#}#v(25Wzj;%gM&p!jaZJHR&2{3g-n`43<^=Gpf1%ySmL6J$PV zcPZEp$$VBQUak0kF#BNIJgxMvD;|W-+AlU^6wd(Lyp@1$Iw8d^in%U=wb`S%N3joM z5NngAcske~`%Ew$kKK-Kc2Ul+$8^YEFm1ZP7)lwNH2M4d0n=tLm`#cY z{vbF6$^4hdd$wNT36MOGw?WT%>iJ%;)jz59yOjPtrSDbx3}zCJ>5z*l;co&nFVxqA zZTgRZ?SA?0?CWB`PS#1JJ=xkn3%2&Z0RK?z3o-7r=@)@fJGy!gLze+R3gg&M36BHQF&#V3WjX=qzYjgPe^J@kF)(coLcdCEu4Sc# zV>)(xOq+V>3!rB@952(+#*Up$I?zvno;Dmy)6vF`t7(%B{e{reX0fudV{Y0sLSG>^ ze^WMgJkB!Z>d`EJrZYjlZ}(C^q4xSE!Qusw!5UYVTdKqYm^HYA!*?)yJ*i6*Cg28j*^ zZOSE@n$oBE_%)3&C{r%cF-ITMe00s@)Yu+)?GJMXnRlLfDtSJ*W-Tt6m}8r8RxISU z5j?lnG5!)8fMocq@a6DV!!x}lki4IniIc?e4G43LZ^Pe3nB!g>z8hhV1y^Ak+HXXd z<18EhIKmuz*zhkAW`At$e}gdlIvf5Y!t6&rFZ=I7*tV@qKLPu(?I^>;5Vmb5!x;$M z_L1SU5w>k1!@NJU?Hy_a)gzdG- zFxP^%*CE5tGhVJahJTN+y}lTJ8)17bG3?>RBG(PWr!Xvz`E$%Fzl94?=}Sr%EGu(Y z{WS~7E-S7H7M4_evv5gONyVb;oqh`ubJbZ{Aed-ugDVQng18kWm8E@4(5lsL%|=}8 z7r)?BTUu#ssu{*2zx~2k);B&};m0bV(talEUhe!i9^<`mC^_yT9U+!m{d$Diq)1(q+{#9a<}`;)=d;s^t}n zDhd}>)hsMU;%2+rlA6-8!m35?k(88{Ru?i0X0>5vsHCE-B3N8m$ZS=WxP?lC>Ka(G zwJgk;_+>XG(YoUXRd09?MVAdf9QBQEDmx=e#!5vE9DZCH*ZsBh5A>o5y zTs~&oLqM-E^?u>QV17%?^n1VorO#LPMZ&$XDHlEp4hbIvHz<8X*g?8&O5Y)z1bwH{ zcME%=Kcw^y+9>AD2k#Z;e*MB}&}S)qK$zR)EBzzFMUamRmq5O(^!tR%A$ygc-{mqr zelN^#amh?4SGXE%*PIH1=PEtFxure7FAfUVf$M}r;I+c_;1;FdBHRG|cBS8=^u5As zU~^2E`5%t?8}7Fe%&qX!dcLF zDg7bg@zD1uy%*yT?l&8Hej`d|`dPxc&}S=szVH<23zWWGnBNXpEB%wg4Uo?XbG_Qv zgc~6bD}55?tC$CVE6VRS$+YLUnpQtum}}b37H$ET2uHyDCX@Em*9&g|uTlC9!fnuR zRQg@Q{4RC3(jOFVhyJkAC!tT^zP3Q`6Xt$1h51eEc%{EhnDc9Q33J`upDO)!;n|RT zl)hK-aLk8szXi~Z5}pgrRr;yI^PrzAJRdw?xCk5+E&wE>=I`DX5raxUc1fH$*CBpU4S1NtIa0B#flzxNo8t6AF z{Vw4~=yxmqLE*K~A6EJ#+|x1t&CuI*1DVfnh@NwuWx`pIHwur3Y*6}$a5iL{(sw9* zr!dz5>=vE^c}O@55;tomKU2Y8Ve0+D0dSVm2ZX0XpRe>q!uimbD}6|KHuMcj9}zBq zzD?;ngy%xvsq_E{X`g1%DegTjZQU!(MEg?pgiDBKI)BFywV zmA*@u=^qk43hohR`d&URK7EXiyKBeamn=wDbp?^y0UlASw{Q;$aUzlqSf2j0BF+a+5{Lr5w%>0}soC*E8 zN`Hkg=Yqd3JR9;x;UMJA!d%1d$HJWRy-&Cq@^N9#^S&(1`P|wdH*i@sgMbnOyafy@Cf1Q;2hz6@MXfY!B+_v zfQyBfLvn7I>CmQ9crLh3cpkW3cs}_1!uLUP&Y0WMrbW02yiw`52$w*=Q}`7~&MVt( zcMF%pW}ng@6t0B+9pND(P+rRBm@wDo^C8ZrIb1jh{b|CJAUQv6ZN>?&fDPlU{vzQz z=)Wu+0$(Fs4_>0|mkBpO9}>O;l5^fR%{9VnV8gXBtbUX5vyhw%w|a)jjj(@FnE5#% zycW#$BxutNPR6`Axdl8-I07CeyaAjk%=HR$g*Sqy3vT4Am;c$4r}@U6nz z!9Nt<2+28n=7Bb?!X4nvO218b7xcS?_d#-A-){SoF!RPZ>N~*)g?EGbYoOG3fj=v} z2RvVx&j4D5*FYW=<}-k|gipu3{2X|u!#VwC;cUo=a4zI#;VF>Ygr`D&Ak4Y`siWL< z_JF4g?*(5eybpYha5wm7VLk)6Q@9#(qi_&%i|`7_ox*jH&kBbi-xTI^f_H@XLPmx6 zK@Pd1Cq{7pV?%Xw>h@-^bgH;5TUk6D~Zi1vIZ-%5NzXVB7<~u`|VD5m-_krli-+`nj-wR1kej1XV z{5m8(c@X9{=*eRs>B%!7>B*&#^yKeA(v$Cnq$fWONl$(qlAg@>f#}I&AnD07AnD1a zko07}542Ob8LKLJTkeif3Q%z0{hayleE zneY01UzqRl&{NO%c<9M|kB6Q-4EOHzB(~->B-kY(vzDY>B*ZR>B)SL=XA6&WWJ+APv$#1^klxHLr=aJlAioD zBt7|cNP6-hv`6&hF_84+8IbhkQb>C8cOdD>_d?Q>pN6C-zYa-H<~us{spip6}MslXpPUllMc?laE8vlSkvefS!C2Bt7{WNP6-Oko4rcA?e9GAnD0` zx8^L|SCIMM3_ZC5lAgR8lAe4&Bt4n$&Crwi-V8mN@6FJY`Q8jYc?KjsneWZellk5Z zJ(=&#(3APz3_Y3e&Crv3AnD0`Z-$FXd`p<){Rf0Oe*c{? z$Kxq77UlSQu`tKKcM5ZC8`;^U6 zv7wG^ZMtcb;ieN38|uiZqQ8TB)DOBJk#TP69w+16&^<*)+0i{mMmf>FOh$Tizaygz z=w2n`Sn2pK3Cou6k&J;SQ#Xq&`@M`T`>i6&ewUMFzc-R)zc-U*zuzOvet$rg{k}z( z^xq>(`k&^QP|_bsmh?|2OZsP#CH;wHN&kGZr2hiPX=k{{_!5~fcflP4d(LwC3_J(t z@lr=l6+L4;(9@x7iZL$z7;`t)#;-U_akkxa;PmD(>&QzSOc&g%j#d8%GDXvtkkG)>$_3^eSy*|b* zO5dS)x8l8u4=V0ad`vN)v)a1B`eoU#_+RU5qrl*DF}Anm6Hq)`@jS&PivP8~wp)h( zT3_2OhY;??Y+d@-`r2-pti?T~Et81if32_Wme0S|*LKU{U+ZhT<*>`!cfE8e-lzDG z;{WmWwPjpdi8&2>U7Pi_MbGy-te(G-Y`H~oo8m2sI~4OB54-JN#eCnx>U$I)Q|!e& ziM1K7*splJ;wg&x{)gR`?{HY=`x%z`?uBK(GhvzUJy>3&n7{95^&1p(p2zC>Zi(ei z#d{QYD?Y6FsNy8d;n;N26pvDzr8rk{K=EwF^AwjTu2x*9xIyt+#Sz7BZU6ZHxHWTF zwJ?=vT&_qf(B&F;CjQ6U*?013VC^!6160Co#Z3U`{4xFGU}$ITc<*oyJk!JUt#J$F z{eB6WIPxTTT#hlj64=>&G2Ze8V5T>bN;uk~JB&HnG5%7Kyf>k%fZc^In*X$+zZ@RZ zpE0)qc2i;@*M`9oc-mXH4|ZKP0BPe2!OTMdp04@JNDq-L7hGDga=8v{w*fjEabL^d z=C;np@%~7s*L9g|$Mk5VS!EG4>oq1n$t08-^kG_j^ZX z`2E30FaL46S^F+4;pUo2>Az>5n-f;HI-%8EwPJOG8^)4WtIbK1@cLN%%pp$r#c28q z+;DY5_!lMtZ+a)z>|g?CdjC&*=L215QRe@fq+n<+kg|2HG^{rvNWh|Li4X;riv%db zYLu!~ahtZOq)TaIn@U-`y9rhZSTvQc7Pd-)Ww!{pty|Zw7LACtN2?aCTDAVDTGy_N z8lhl;>fP^W-sib_nu1*qdOYWMc1|YqnP;B&nR#dCop;`UbMG9Srj^^RZhW6=&#m6poe`h&;)vvIA+A*2l$II<^(unM-ElwKA>edbp)wS21|Ci{d~a}fg3pc zq`ve(l2_*XKA+@>Syue!cbEIgna#~T`F&@%R&M=#DO;E3*nHjn$KH2r-zVARjPWOp zoS?CxApbJ?qWl}==ga?{{QKqalK+(a1M**&&;4nZ&)~LMm;4lYKA~dBZc#{_+a@$3 zKOZ(-p}TQS8L@4Jn6O=*PSz!l<8wS%LDCseh;5n9t(L!D9{oQ@Acwx^kIg#Cv5OAn z!Jz|tzL$$9N=|Zz{#7eXWk4WDyi3gKs6qanK@QU!kiT0@3!u*@T`s>>j6LLhGR56v z^#4Vyza(ET;Bi2gK}H;vYHh4@^_y*^h49T*#kXcHWD z0&`kq+jZhrSe~D2OFa;Okr;c(>C%iL$m!ZR z0Vzh>g=df`(hYt?>Fns_!9}W5(Uarq!hC?5w zz0e;H`W%M7zh4jfu{ZKYK~}>%B1_(Yflh?7O+yi}lGJAKvxMzh>TIefg*FhSU64 z-|sEynXT^*XD?V%+wC3&PPn z4@)X%H0Db}J}%4(H)rweg>$=-UfMdhR`p#WkK_7qqSfii#vF5+QY1M&@GN7lH!d)y zZLTn8kob^sm%=-Y7byH!<8FnYGwxCNWn=mmeT_0KSNH?tUWGp~UZL<&<9>xt8Lw3M zB5lXEoZ#jee^KEQV@?*m#{Z^pATYmG%C^Wq9+)`t7Wr+)T+4maxTx@G)gL;iD&)ii zPnXXdw}~ejvu&L*?`)lK+@f%?>nMEKn3K*gjn^oA%J}CR7>|-CFWRuq`1=Z{1oro; zkhcdp-}JF9a-KOj^L?E2U|@c`)8+RE-X8c{fw7DJpvqRIkb6hC0eOGV?l|P~$Y6iZ zj>!aaCJ9#?Gm*H)m`OsnF%ttODE>a(-z%qoo?-j46ZTx`;jw~lKZLYFsb+%%)uqc z*TcQ&*mL+7n+`I##^f8&u{t^1 zbdbSbSDS*)t4#+P>^kZ9aLo?uh*59IVAt6a>?}4NWU%WD2b~*C2N~=-4+fpvO$Qn5 zI(%#E`}J|tK?b|dc66+*ndnevWU%*v^n1Q`6}Z)OkilNhJA)l2K-fVByPaQ}{Bebk z8Z(*vHO!1pZWneq(aTk8z{UxM&ORX3j!|-ydv;G;I)C*2i_ET zIPmtsy8`bGJQDa|;A*wGw*~F*TnPMs?iIIpIj3>S%9F+oBMIW_eif*GIzcob0lyk?Z?t{+r&NXZDPt$ zl*b)V`53b(A5$yRDBmJ^-$t1GGu3gkS7u228*#K()cgZI>|w|4aheO8=Ps<)d{HuY zo)@9lF=<<*Hy~lH*vkiV)f(-kZ=>Ca(j3z@l`hC6FTC`^5#)Z9?; z^?M6Z-;~cRNMY)eWwmDMv^P`?>IVxN3OlsYcS9lf_6Z#gh2Co?bT2LxFDcYNQ7SZ+ zZ5ETw{klcnTh3@uvRuOi8R$D0#JToNx4C&@vDnhyKC!o9!eIL0n>|_`|H4A?4axQ? zW!oJ|zcKCK#DRthdy;Z9^GJt=gEF(Lw;0hTH(-g4M?X?ze?bh@_{k&4T|eG8Pqg4 zr2CesWhKjxyI4K$^woV&m2SQ%yRW>hdU((N;T;zZfAOyS#|=GR>Pzb@Pi{NA4WGJBGrq2u$|(amo-E!}C~aeraQeFbz+LH8w@ZUbqRqiKIZ+BsR; z17gbWCT3Uq6KL+R!f z8yXl0g!PBbpl_!my()r55DV4>u1RZaG z>}&`+EIWt8&K9xT85UPdj-72m2S$z^Zf7KY#dik%-D3SEJw7QsUECo5JdDYam-jpD zOp%=1iX^|qb&R>HZII_M$B{S8)C3WSJ`OqT`_6EHLk`o|5ivyIki#x#*uWu&U4D<) z_l04_^JRF!p%2$8M8uGTLk_zgh9Mks*!3BjaL8fTXSl*4hh3i`42K+ceTFq0a@h45 z>Tt+m*Jt>{A%|U`ArXfhc729P9CDbDA~JO1h{G;_lbCek46RI?iO&*yeRhbOC2No$ z5aZBy_gtUn9J=IZTHN!G@_0wnM|N%09lri&oc%N1qzXpek=Fy&yd}89pYNoXFv=QL zdaOnc9Gnb>265Q0M~}aR%yPc{&Vno(C}q z@qmyx>wCIm-&x<2fu>U->E*{GV;;*a?mXlvjZ)`Nn>(sJTWdac>OtXkWl?&L)3Zds zpmC^3PjO~Z`B=cDw4+?Q@+}I#Yh0;)df1qg+^>zZARmQanUu`^5;hT)# zp*oslOr2e4JV$a)R@kglxFX000&{{wr=W0ckgpHSy(4t6xh?R{z+6g%m ziz|((<5|WXviDBdhQvOYv$otVFtbOw+k*VAApaz6+kO#d@Q`~b==?Cqe;(v%Jpd|wCKa~4jd6ZOq1ZV9Y9pf2BO?31So$#H3NX3RM0 za!%^b6w7&HV6u04UEo6C#=uR1rvz>e+!DAo@VSADf!hL44=gN~E$&y`mstKn(2wPe zWsBu02K|_Cdyvlz+!44daChKkfqMfB%li`BC6+(db1ZYLw^&ZbS#P_JzzYJ$@~jB* zfxv46uMfN_@NnSmfp-Po8+at}!NANNyv+1#XU2c$DS=x9w*_tw%=y5#?F!rzxHs_1 zz-t1p3(OqEZF2r_=A7ZYGw`0kj|4stc$~%%-z^BVdSK2$uEY7j zc|l;_b8z{Jz+8y9d~IOX;B`6gKR6Eu-X3^Y;JtxI0v`-qJ#N(I#K48XQv$aJZVTKV z_{zXtfqMe?22S5rs!YF+e3kMu6jF#Y%a zxKuH?n50^JK|8Ql%zkh+NE-X`MtSTu%j0O{b23c-NyE>Qk5`dbNv}0&WdG2?y+hua z_#M*g2h4fe0>vpq(d0WdSJ^J6d`y2xqkMla@7oA-ryiwmSV%PIY0UAXy+J)gLJxat z!m>T4M6szpr%T%#C3ENY2)&L;o36XP%mvxr%ZF`keu%wED)cMeh|(O>Rn6?V{#i=l zNY9YYeEHea3dtS$8PZw`q@Bw8ev@tz<#UbaRdp;lx2j{A{I2Gzj@|Nm)PL!{Wx>= z^6&bOWujZX;7N}TZD;Gv8F`Dk9P|xi&dW~|03r421)u)?;UuY@Rhm#3Hk_R)h3MGbWDFrZ0+rRd{z2w=9`Wg z+Ca*h@z)Rb_THA2Y1O?c$76gC`zw3bZz|qAVb#BsZtuVO=2ib(!q81G%vaxZT7Tu6 zmNl*VXtqJ$o%%=y8~V6r&_s8XMS6I&YK=*6FMmz5>VqcwP+6q>dS}!-|_Ezj^C~Twb<|L+>(M>DSZy^nZ-4XR$JptX!<4d;G?$F|n;?)itGo zwY9yyZN>fx1O2H2YA9z--&K@Th3nts^1e>Cxx2c*@{(mI4$ZbQbd1#-KlClgeI}OKs5)fUz-cP& zZaD+)B~v-n1?T$-xkpQ!Q|Sm3REgXxWgbN3b|_5uPW1yo3+6A(e$(cf*>h(pUViyK zi>Gs81%~84BtOwQ4xPz)lQDVw{Xa_gQ2YV>-x7jp@*@F)oNZ zj2p#V|FLb8_+7?R#J3tZi*Gk>5#MXf9BY#?9q@C;Me&!6+r-~6ep(?133;(C_o?9N z;(f+N@rW@8%CTy4bk-?+zHz(cCmGKWpKLr+e3tQ*;x`+!?QCPVoo~#xi;UTphg+T( z+ra2^Z3lOV(|s>-r+AmiyTm^+ULa2Qy`57pR~!HtizVD^=F zdSS}N!3Y-=;`~~(I&hTdgM3op#=y;i>Bnx9e(6kKaqb9Ad%K)=bzTveHgNgc!0Q8V z3OpQmd*EGx_XZvbd@!)^f90Obb*i5z$jF)`y)*$A5z4jb;%vIwj%yt?chaL>#$Kn+ zbOTDmshN{|x&G6>G(Yay^!z%N_Qaw0OxKGSDlJ|w-YUJ;v_M&&ZK-rdbOEK z`tND&ic$1plIr?I*JJcG_Lp*##{SNc_ico^?<=7?2pq@0!?;@Z(8HdvY;WxK;*WLx zc{PU3xjjPa-Ces*gTspOJd@K9TW!iHTP*0S!*J?;Ona zJ&pEP$K79bUuEBu@EPOvrq%%n{j7G+nw`rZ_k-iUdffdLLr<5oZJH`h8flZgtlX8k z4O&}ZQ?|Z9$mMsV%Ai{LyYb~>4?R-KRuoVfMkqtyFZn;TucUdk;QFC~tt!&ck4t_3 zP5hRlYr5We;J4}P_k9R{a1{GexU-tk3cTok`RZjg5;qf4QS-oGvXF0n&vOXpv`OPJsIbV=(iq&lk`uU87odcXW^m)dfH{0rano8xI$+U{v` z+g4fs6yci6e9bL2d@7c^@y!*JKQp;M|A8An@mRj{p%H!CuGZCav0s&LzBzkCZcX*T zp8byw&i(26#|{i!ls_T&!eZ_NLjyl3EPqnAZmXXBvElb#f8#5+Yd;nLZgnay`Tp{= zxm<^A(Js9TX~TZKQB(Sd?AiW|Z-)=FMNlz{M$bN+0w?(mhz|TmWSf?ThL1D z8Vr4=)b|iF33d?b27{KC5Ht*S-Y_9W(?Swjoj|4Sum0(>{d${GxTd)v^P$By8ez5Mf!BgMmqliDBsOV@PSg_rxM&+%9c2& zPj??Kt(^KHvWq=eZ)e_D({~@*^{Y~1<6Uuc$=1a_TLm=C<0YE5}H0N>cqd zU3L7m8*eCSRfT`TT6Wy`s4vlP@)bIV$QN`I^pDY3vN0fQ!?c)4cHq}POzWhh{}Y1~ zsIj!FNdB#N4pwBxzK-eaa6YX{Ve>}|egBzi?pq~0_N%gEf9N6WOS1Q)R9k7qkV`99 zeU(~kI%Z0B@Ac{a$1$o>*2G9Xr|(NCwR+Xo(!d8uzO7pSw7AO`bhoB<)dS^wSDEy4 zNvi+1XSxg~8`Z;(m7P?l+>7&fiaRGV?iX{19&^hpbYP9k)jpBdW)WB9I-WScQ_{|K zT;KQqdc+*pJg5479mm=p>n0DY>3L`Q6_xpWhJH}8svVy#G9tNp&aQIrsQ~dc(Yvn7?tK520?s;?1X};is2L^L_EhJJmxURSFo7BkbwwBso zH7HAWkDL4|z4csmUp`w+e2X$w#Z%tBrZ>jG?z}EjNjX&c^ZhS6HIeHc?o!eE=Pv#a*KBcoT ze@P(;=5^K=a_x&36)tRl1H#2i7cQK?@T&Tk$}z>tjXzJWz?bBOrQL-&*JYa(kd7~u z(-$sUe9i0yWwn%Q+rq!oW#yZZiq|&pnni`qrHfUBWbBNk-6{y>U>^?G;U{ei>4hcK zQdxgzUY@8tuefHB_Ni@N&%C)kixvw;b3VkXc2YlwThMPG^MZM*lX;65FIrq*;7zDG zv*%u2IIqyW?386w3iB6s&ReD!YOlSFUl{n)+`Lnf(=|79?Lm3w-ox@m`N0Z}(F(UI zoT#u}6O0WCc@DEc;Uh=+JU|gSzv;)kxS~npiNeGR3&zY*n&oli1)nb8ApaJ5J~4*7 z<#F7UgDHoKk-pt;REV8Hc^o=}3RSF>?>c9N>*cwwKz~>shyJia_K9-tR5%5e=ik{1 z&_7#@tXiJ))Y}zOHon=$rF_NZe8uRJ%>AAd6=G*A0y*@(F3ERy(0M|PF5B}gUsap( z`i+=t7VF*YAF&+8}j`G0iUV(V0n6_t|aWb+`A?2Y@;n0WM z#gw1lMs@uK;_DmFC_c^PKNsV$1D~o8I};Je zrQkU%26O1k!+-31yjCe$(be44@~AuV`@vQjw#ni5cWBmHY0QAqrUW8zPbiL>T}JMS!3cCDbD!t4sDD6 z>qyse#r%wTheAJYh%Y1E9QmzQoa1D@=@Ysm-9OYoM*PcT(#hK$>A5rom^FXN;`G9? zy~sPSXG!+@@~ovxa#yrp`g)z_rsXc2J-2J#EO=Ji{3WyJESTqMG3la(DP`%xZk-pi zw}JUxc}$w@?F(iv>C!LIOKQJI&*C`TN#QO^DhH1V(yz~_*ywNAr(dR5{&Ra4FUXSO zPt_-h?a;z(&7Dl?Sy#&8wdOGk-(+jtxRsvli3O!s9nG5E)1yjAJ41Bo!fR$PxjLt6 z(XOUVLJ>MOoyf9hnxXp4rWt}~md}qxp4~l1%kM0nw`9pI-m1=JuZdGhdgprdDN1_L zd+e*|W8WYzzqhUC<~OP<7+~f2eQW2&!0R=JyL?^XUTx>{p1|FKI|8S7%M`~As^3+l znNxO-b~}u}&dRFHj3X1RubyE%OW~Qu=oXE!@j7GX6K^+Gkoz~|L50<_hs|N}1mg$A zO~%{AEyforYz;c|jkinZ9mYGv?=fcEjmGS&zazd~{8N+jUdm&}C57DBp*-8Bby4GmJT&<{95Bey8yU@!uP760bGhEM8~4MZC#)So~?@ z2gP4D-X`8*yj}dT@ec7K9oLkZ-;%r5c)xgs@d5Ge#{9%- z6@JsWR^g9~-==BCLF0)EU!*u?c&oxzW8__dml{u!{O^n@^LvczBp)y?h}Ro4Zf!K4 zBHm=&BxX%}@@2mHIpe1kGCxF)&URzA{f066yNnqle`wqy{+Tf$^GWQm?T9fpOU8_~ z)f$}8VcQADl&e|Y8#&iToQErHV%2JLWN?ki(>0Cpg{FfHb{*zSZs#)7K?b`{9Xbq> zax>&912Wjx(wc2@%GfRMzfF0)$&tbS+mt=%*tZk!GaY2GuUoVX9d=4?jXe1xgME#p zbz)!Z>fcQV8SHCarFFr$aFW|8@B3RLd)Pz<`~L1i$M%=yOV{0EeR-SWA2N~?;VUCD>&OeW!Z{KxX zZgOO>ud6kJ&LsVld#mXngMBTh{fbv`F)26KbdbR{CO@Ef1sAt+{icHqt}*#R#r@lx z51I}#*uTA5C$2b2Lb-o89b|Bg$=9Rv7n#myO$QlVWAXzg=USOL0(FAS-*IS>tZ4FD zg%j-D!MW}Qf!8a|`$?V2k-^?i(mU(cE~l6dGT7UN4`6*wx(&f*i|HeS-R35A%%-oY zhYWU`oSXgopUvo7f4j_VB7?mjZb8TT+v`jR8SMRV7#+JXyV7)!!QKxaM913nD$_v* zds}Zq$NJT^rh^RjezhGP8<(y(9b~ZA!;YZyUeiGayUxy_bF1kfgI#AAI#!=+O$Qn5 z^|>1z>(BR?4l>yL`G1&vqr$JjFUtDiLni0`$2Vb{ukH!?K5RP3V9)ozOuk#;uZ)=o z?PXi5pQlWY4EFun7j*o+5@fLJJQ8$jBD}0$ouy3$W?x1u=nj<=vd!=zUd%? zy>IVE$NF}`bdbT`xA&l9eS3=OAcMVc??tB}EC1Q1gAA@Q`95^4?OtO#$Y8JYM}p3q zOa~e4IwL`6mgyjaU1vW!)^=T{gADezJAjV0UAO5VgT3tzqGN6MLDNA7d)wv2-gbLU z2N~>b$9=hq#;ksB6w_YF;2M(`(XsLB{icHq_BQ3-9ourRu1#EVN@nv3lOuy`OgkG?z2IL(*5o)!8&a!fcE0#6Cd{LgjT0=EagGH_Sm zp1{3?9-cMPX<;0I^TbJ(|V&!+cEZOb8sf^Xp!pYLiaR&mDSmax1bd%k&` z;wnP9Ubq+U+n_oqd(6Mwc^YF&w6{<8(8C_51=6TzE>AVRE4zL@^#9v(Y&0+IhHP@< zWT;mHE~S}zVo%L@*t>`;B>cG-O6iVEbuWBwclpz`Bfg8+(t76q`rEaB3Zk9L`fB#= z8pS*7f?RnSL)JXJqEI*`E@mj5Lewdoe8@U}%}V=y*E)=A`VDIPJ$jfG4V&|^A4 zxZlER9hbxl7M^S23=6w0Ty5cI3wcbyc6%*kj3CablCagn=@xPtMDEUC*FaX$l%;Xk zMQXWvQ{pjvqu6y6Ew3wge$Xifoi;J2Bl&TSlKFmpD`{jp-VW&OmfY<;7IeIg&^aJELpXUI ztvbh%m$x4}dC9%ZCj}jETXY&F_q@2B=XSi^(J2Ny>Cvy{<$VI3nZXWA7P%eoFX;40 z?)$zf=y+d3hv}W`d@|^GKSPJ<-9%-;zSHk;?7R0tbaqPa_4A{kH-4%EIu7q2Fc(o>rG_JpyiJ~gfcQ%k`aw_pJjMM0C;nQ+{a_|OPjNqR zi7!>$4^rYcD((j)@pX#(!AJbliu-{^{2|5tpd$XT;(h=T|Apdyun_-^;(lNd=UIUt z1jIR@y~7i4QQSK>aq{wxO#BMP3+g;{Y~oib?j4l)b&7juB>q0dz2gzjWs|m9w!ECh zY<0QOG!~ch*y!4FCJ9T+9VVHzaNf1PWzy4&1Rm!Hgp@CfxY>525-t4J!_OEgc!oqR zvHi@_X)e|t1iM+RoT#5WN~`Btu0-dLmLdHjl71UBEqZ4vhpcdCvcFk+O?Npv7Rj^4 z?tEX$cIK4#I4pJNTIq+Ge5E@Rh8HHd-8NBehC5pxZd6D=hKmZXHReQki*c{QdyLm8 z{Hif0u>UsRrSP}LoRFR`d)VZ}bEYx<@ls<>B=j$IX2{=U%!%PXmPTViXU6;pwVf=M@EI)nG<->uu2i_HUZ{U%@2Lsc0-6s9ZnSSg%C2(ut zw!rOyuMFH3xF>LL;FWpkCffj0zZ{C6FW9p{~a_XK_<@PWXb7ku0QU+-~ozr*)2 zJxkL5C#QP@F3$&^6u2>PbKr9Wo3$eb&*dJPPxi=UoaMx^2^TFsNwY`#uWsEiM5Z*3 z>#_IH){q#SSI5gGtCrWUCHHK4eh-cD0EgZ)-5a}5Y4P6JH>KB_w#fc@zHd;}nUoq8 zU~{ID{(D-xVsU?`Xy<%?DK}~C?;LsGMwt78>`nKb3TbZ>M|(w89D3BB-^;?@*n49& m+NrB0cjtK##;RS$&P%|Bh~K-bH4eqeEmNYu$FJma+5ZPP5>$u) diff --git a/tools/sdk/lib/librtc_clk.a b/tools/sdk/lib/librtc_clk.a deleted file mode 100755 index 5815f2a5d9e8213f06d20ff9cc5c80ffd592a1cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10956 zcmcJU4|G+6om;k0&V|#;$K_R|`01>df7s9_9Eb?cUd{Yn)&8jnsRb>qB0_y}l87BS-s2IgU?dnZJ&cUsxyw zN>eS%>T6jE<$ul97@8k!4wcmeN8~>mtf(uqXeg|WV?#|%Sv=8H5ehcd)GrQJHdZWD zN?Iz*n((77^X8#Qu(n)fSJzdCV(#Pl3s8a;s{FEsd8%Y^QG-e^Dr*b{%c~y?*4CF- zS1#$Xg_?tl%iycJyrx1~S@HaaMLqSZs^-@`s&aKASW_K}>5-FLFN183ZJy7EfsOx; z8dbp5$b#5tm!>YASTZRgApt`i3klXER!_>Zx`x2+v8)1>onxh2eXLc>FORpZWXpBO zpLg9qx~}^x*FuhEd13p+9Tl(~CzRRQJ95R{?^tWS*_T~sr~@48jivv9bh?rL{SE2g zy3V@vZ2X#~vRbc8wyeJ1$Jx00wo8_keL_{87&+~RSF);=i8Nac;mhN*aE;&ZN;`eN zP-bhd?9XEQ)|Xz<`s|Oz#T7TaF1^GXUdb-3Ok6)R@Au4U^9*`vsgtAn;i2=q{}FRE z?BuBK!kqm+jfIIQzbsZh`>gnVmwsDcu(V_Pu%lPTTVc!cp^dJ)6yu89q4;xf7~|_+ zV;^82Xjw^!{<;vmM+?ufDb2kj@4Mj@>EWe;y`7QY(6rgxan@~rj(uCldxrEGq}hRW z-j35sk`g)PhM!Vnn=+|Cn-MuKWq%#l#>yU#`-;3y$y#sZ81GB?I}?Wt?B8)j{2hfq zR?%8*WfrARzZA0j+7H_;+oPV&Xl>+>d)8}Zo=Ea3`{VX{vG1qdA2W7Gy<*)D$^Fn~`=;OBWcN7xi7FPetrAyTuXnYD$>Y&#?fONgOI7{Tj=knc zp^d80Roj+yl<9Fu$J+BelUecPb4vZhnZEY8eKy;dpepz23f`>35i(l#TW*JjtH7_0But`U*Kw?(J=liJV~m z^)1OZT9Va$LrdCKOQa!_u(tKIq}@JnJbJ+18>_fG){u~H$SX{@zm>6nMMn6H<2&OV zI~I!0&hSrk{Qi(VELLb2MQ0N2ak1o1l}y51QGHRssD^ zcFZ0Awv6mQxGT0N4QribSy`Q|WOYV+o715dsFf+GWO(XrmskheFf3rTW`qY_*9PVt z+R@p;SrBi-Zm+c`Bl4LW-qX2l+Z87oihRoMvCV2lvaFj#kM-Y9ja+4Jo0=q(vR^BBw69* zUsJD}W$)ZN0rh#Uod>_vLWq9ksReI}C+~gNSCH--y~s|z!?GS!D{@<}z`L%03Kz7g zz2>Gyeyduq*19>~z$w>1J3a8Wi@QyM7sVb<#oS}Jye$X)Q&l-{TKJ z-#;~0GV&H32VRA%)~!kKbFn+}i&&|mE=!lne8Ud>8?9|gc?a}#PdYpt9j+{TxMQEn zN@0Pv^yz^>TCv~1CS0s)NU`sV{G4@c_^Au`9Y2a`16y2Z13y6@W3tSR$$`yM#g=## z$v0cA8!z0s`+*Icn71~ywaemrs%zj=t>N$*Oe0uV!g>qR#oZfz;6^ufMmv8U>136v zL+kqoR*T;?aliIJ+w;7~S^G>;_ZR-cXP#Y_c=#SGf8+T(cO*VJ+zLDyE0DkC6<;BT zGQZr~mpJ_e2OX&FcU#`$%%0+D>2?M)cc=$9Xay@gj77Y1(BQx#3JQ}T7?E!Gb8crV zhhja6MxLN7IfVn4|MkG5rfyJ=?ownCb#NPE9GDx^W&fQEhuM{`R@z%4wG?ca$FWt@ zhx5PqtW|2c9?N~@s;lNOHW;xvop8h>* z87ym)6O-*UrA}+I6Yc&D`Oi%DB=1YKzY6(~o0H-Lzz!myj~_<6-ix|+pV#`>w>q7? zf%uF5%-QgX8-G1nb7lofoIA>=VRJuu!h|tS&iuyurlwGRea-L(CObWex&_1Ya`W?Z zeZxoIJA6S|-n|9Bkt2pWBXeQ0Y*gsrO29QIR8iMd7MxmFS#QmrIWZV0n)$7g*|R1F zOQz16I3rLp^FCi{plB+7Ax3a;?ZrhObK#&0aRXllh&M@m8gUNN#l2!%ty09yKO*UK zk{*y8vzH*QLH+|t5ag?H{rS&*C1Rk<6`hauiMMA zM__vZ7t3a%{ft?5AXt|j4rZX8%*BH~AJTUCVc&hQ(dQ~K-~G%!h@TmVm4EzTD3qUD z!1sgcryRUM_*F3el;$vi1qTS%fT37_VK`#~*7w(qui~4uEwV4ua{MW5SJ}W$49Sl3b5b$i}3G9VKEX(J23Yc}R0kiMy&u;Kx#H{Oy-m#cE}0K2HMH95z{^jhKGdP!Fqf; zz(d5o3rydLte5d~yVy^I?-5SJn!+mRvmak(2&%te2h27XfOUTh!JHfPTLj*Tm}Nf( z^RPxvfq-?AGr-i6`?DZ|@()%%;eViJYAZtf(o=4OKLUtlaXlP??oGuc-;vdL~#dFSo$TonK#DTTur|vs&77tGTqtiZ+LG z;j1Un&{*HVy8m?WsD}3Bd+`0j3?6l3dMqB*X)`TzQcNCoGt7JrWKZx|7-u7RtTa`F z1KT=W{m>pBKab#AE$Q13bJ^X3i}`mUtpgu_zfK@#`oSC0l}PI)ljWOl$p1FddWmHI zvq*CZ{D#!G32D77Fn<@)Tmt4IX8Isv{g^WSCer#bWcmWqImke`=I7mz|4pPhjZZ<#{J%w7PdlcoZ_ukxV_)uLUwv(`I)8p}aU*8rjEV)p zX=P3LvUYJX(Ez}<2&4_QojiR1goE+hqhzkv# zU~owIDq?PDSeDzYi11nPMqzGWwhNy@+->ktgJ)r_p&xEj>V>%-Su9+Rc%yI?;vWfb zL;SKZ^(Te7z4%C&+lXtz7Z7s`z`D3y7%Myw@g8Ar1r7*LNBp|*EX4mQJO}Yb;kk$} z3zs7POt>6zD&E_ys|uVYTmv2~+yI^^90Jb}ZU$Ew`Uc?^*#A+O+lys}{$GT{(7Ytf zw(SyT+x7`B2fr%J_PilX|L+LX|9N4yrw`KXOB?uhVV1pHm}O@f_9kKW{ky{4)~qq? zI}Q6@!+uVfV}4PXWB#G=DsV5nAK0FD@MK{gzrH0r5OGjA3-R9zJBS;F2P1w`I0y05 z!ov{1DC|Q#8rvK-XJqR`-h{{fbzEewD?I3vx!#<@Mdq_UO`c6Y`@Cr9afnB*ggz*Q z@R-(>~XO`@TVtTk(?;eHrlhiGUcr-^;Nq3IS4ZDg&9 zQX}m=B^uhux~@%z<^$2tM%J3m)JVP8L_-@{*VScc`eN)jhP08jW*arqp24D_jjZe1 zNsZK1AR5}p+Rtu7GeI=8k+o*8p_w5X+Q?e7pBkR&5ax@9HgcNStHsWvGLOFr88Q9$ z#ZDVJP3%1KYRz%c&_>pp-mUEza>zbDLN@bd=$P?$$(9&Ho2;Xz2n zTE@9e8#ztvS>S}P#xyyip^cm-_F}Q~{q`T^TVnb(V0~ZyTQszh^?m8Zb)IK=gtgRj zqlGYD)_>Z_X=0y7JJ0M0(?!E0afLA79Za(?JQA-rd~OswZDj4Ui+1sOL^Sks&fuuw zCsW=9w2`%+uhA}kvPDBb6NT?bJVlsC>j#AS?t0L$*OJvgH?fxzJCE+0j5e$gJ8fj$ z2I|;%9_cq5`X7s(HnP@JM?K$6!grAe;_gwdCbiy@cHLp4GkS>`rBVt z@qTJ{3?621p~1xlPd9k3!Bqx_3=SL2eVeYAdnwIo|ARDx+Mfuk{e$okL;t41XAQn+ z@TUeRVUMKiN;f#m;2eVs4E7sbVldB@+9&s`ni~w}zEs=W3|?b!)Zi|IcN=`r;9~}# zHu!?Umks9sC3G8Xg9jSSy`R?j3?66j6oY3OTxxKQ!Q7K+pUVwyH+a3lJY#G9PJ{Ow zeAM8R2CKap?l*(l7YVCx&JZZtz@#s|@DZUzZIVyvpFU z25&NWo56bxK4S2j2A?%JHUfY7m#-!c3tn?76iBQixKv>%es9$2PuUb`-C$uqjR=0c z2Tx+L4zi;nu0}7~UslkXvPqgwc!ZFX_fW!!r4}7@FbFbjkKHf2zb> z+ZkFR8XH6POAW6XxUh|ihkei$##1p3ljXRm*Wn6u4LX5X=LNxRgC7^ez-;Vu5OZAc zs*aD#La;6av?}o4zQ}?SbROR?roa90M;-m~RnI(*Gq*f??10vT>6Y~m1PR(7W8NPf bjzUKRk6j!``lE?$HT@mMo`h?>4jTU#+pewd diff --git a/tools/sdk/lib/librtc_pm.a b/tools/sdk/lib/librtc_pm.a deleted file mode 100755 index cce2c97f21f59a50cb8e6229e5b3646f74f5d9f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14202 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 L>DMX=h%J$^ diff --git a/tools/sdk/lib/libsdmmc.a b/tools/sdk/lib/libsdmmc.a index 68c81237cacd4d02c48ce0b2d5a233b21c5c453a..b9c55aa4644737c40b36e241e8dd826b2d8e1f4a 100644 GIT binary patch delta 186 zcmeyilI7b1AMg~TPrbgxym8Qd(8xPEtVJzMpC%Y#h%FKvCuP8qyu_RG1K0d89 zFF8J5#l*zK9E+&2xfwQ5GfQluh6bBU>gIAVT22;f*JL!C>?ou(Ij-GA&d`7X)gC0C LnbGDA?QXpQ1gSg5 delta 186 zcmeyilI7b1AhDN4l7M6w+m8Qd(8xPEtVJzGnC%Y#h%G82EuP8qyu_RG1K0d89 zFF8J5#l*zK7>lT}xe+!|GgEA$24gIAVnobsK*JL!B>?ou(Ij-GA&cKWT)gC0C Lsm10E?QXpQ62v>& diff --git a/tools/sdk/lib/libsoc.a b/tools/sdk/lib/libsoc.a new file mode 100644 index 0000000000000000000000000000000000000000..9463cb8c2c693515cb4853802445e58caf055800 GIT binary patch literal 90482 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Ð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 UHZ6KwGQ!>@^)JJcd2oCG4%F`_WB>pF literal 0 HcmV?d00001 diff --git a/tools/sdk/lib/libspi_flash.a b/tools/sdk/lib/libspi_flash.a index 9e23941f25b466c0853930abb68ccce46d5f56ad..040afd0ec09493a4657126116fcb5af4e5463d2f 100644 GIT binary patch delta 62183 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 delta 16050 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 diff --git a/tools/sdk/lib/libtcpip_adapter.a b/tools/sdk/lib/libtcpip_adapter.a index 4eddba73dca084fefc80f8c2f6d20d144a3f78da..5f0add0c17bfc260091f385c5e2a596421a88dd6 100644 GIT binary patch literal 95886 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 diff --git a/tools/sdk/lib/libulp.a b/tools/sdk/lib/libulp.a index 883ea45b59394407970413bb92a6c66367a4a608..fdaecfb9f71bdf09b671b30e566e5f32c1368919 100644 GIT binary patch delta 48 tcmcccpYg(f#tG8wMg~TPrbd<%l`5f3i^=`1ts zf$G4jwX3V|d-|o|Ku!9kT=`Kfk`dFD9G5CF(|659%bnd0r3}@Z8Ffj zsEws;N(nma+J}_#f^XvfY~H^^BUG9$gCEiJ;U{z@JVJZmH}o3#JzWETE;y#@F??gO z12zjL3hJm`ZT6Yyp_1#kOroVcqP zf-J7XP4o@;ux0)uA~epS>Y$gwU75doC1*&T&h3|=ywJWDc`hM6*&-eCGjqIEj)*+a zZx5jSpuKH~b2{3Fa+dyXO`r6JFe0IQ!{U>;&Vvb+HOXaDywIfbwpB1-tlNDpS z%Zj+}x5CsTh?3MXr9y^MKCD!ge4TesYutoy(MXzkPs#3j949R9N9j*in(ld7y!j!# IVeu;RALg8!!vFvP delta 1079 zcmXxjacGQT90%~{cf0G=YBDt0#?@__Q7*Tm-4d(WQC6p=wi-8kU7?oyLpkZ{&5}`K zy32!*W=vAU(kT)p>x!(bF;-VnQ!aNYjenN!1jAh&%iM{hv%y}hdKBdorjZj0Un_Lz-QzUmQA6C~U@TC<0q_CtN|t;AQj?cqN^Lz4S@Akv7(9eBhKjywyc+=erijd1a;2F>3ylK1Bk=gZ(>AunV8j%iKHGi ak=O4`r1iXs?b;hd?AAL>OzL<{R{RCVotI4j diff --git a/tools/sdk/lib/libwpa.a b/tools/sdk/lib/libwpa.a index 7a3fd70d0cc5cdaa443e1d5dbacb26ff12043cf2..5e65e2c707b0f4d0384cad101c086f866b367488 100644 GIT binary patch delta 462 zcmdlmlXJsN&IvMXmc|Cgre+(JlsF_IOa%o41rUIch6V;^CYxh9-m5F%lr~XNFf}u= zm|Wniv3ZICix?h*HoDDc!y}#Pdz%T5bZh|g8a&dKe|{_Cmfqeg$9Nl`e4_*7{9-)% zEw?Z(Hpd$ZCdNhvpitPZ@`mw>03M?R|1ye8;E{I}W%{j&*D7NZ0~4@SE%r=0yZ|Q& BVZi_Z delta 462 zcmdlmlXJsN&IvMX7Uq^_<^~&;lsF_IOa%o)0|Nsj(#&jgEXR9w1)S0*3JRuXCKi(m zd^I*tF<=qHW6(yo`D}QkGktF};gOCFU|xeqy7JF&McmTcd*v8!M7%L&3z@$N&@y+g08$UJ<}!l;B@RaS1%~j-pJzHStw}XV=+9^yY=(=6mjY{ zQBW{3HMTUHeEyUA<{~?fjSBdbnpv7DOg{HXV>8o-HB5NyJpL(M6u0zta}LIS3q11o z9T*>Pz$1VABjb5?ynX_Pn}r3)PuoBJWL!~(SFMqWxw#Qo?V|#w3(8EUMw1V=_)WLF z!=yC%!f&DJaYC$q)AyLL6in~QV^!ELGL5OtS{`30nVT3)fB2D6bNi!PQe*GEd$zFKmqs3V+`{R*!PiL9zfHyu3jVvJPdArgImJlO6X7%4< zX~ySP?SCwJ!i*Nc delta 1131 zcmbQ#Ej6iIYJv=#g}J4fxxq#y6G=%3Q$fMdz`y{BG&9?rFKH}>M|!t@KA$2^-6jeO zCZ@)gW|Pl|vHDHlW5QA}y(f=VVY|pQrZ#JNe4%7+Vle&TM@G%z4QfbR{B%^=1)U1yEa!Q;g3%xt$C0j;wavj6}9 diff --git a/tools/sdk/lib/libwpa_supplicant.a b/tools/sdk/lib/libwpa_supplicant.a index 5b49242b4aed2ff6e72eae0dbbb8be4147fc7fa9..b0177cbf8a6e51d0c73095b08317aeb5a39b3807 100644 GIT binary patch delta 661 zcmZpfC(|-dW`Z=kk%5t+sjpCwvpxJx;nAV2AusWP)P%@z#ZM$0Wg8hb#;o) zFwXS4qihnJ_Z?iS3ljmWZ+M?9gDkL(hjF&df6yt!DyD`e=BQ%EATbNLSaC*id_iK0AxPA6`omgQVNEl*B-{`KG%=8J1JlWh z!B3~}D`8WZes2Yvz;>g0Ru@)ZQwC&RU^Ym#u^B`hYCT*H(0M3Mfbl?1H#OLPxP|qF z8?r}FoMzRQLKYBs#_Au0EKp;?_8XR1jJMatvX$y1q$Rcs_Ohi}Kn12NiZDxTpL&$- Pm=2PN`1XoVY&|jnKm)}u delta 668 zcmZpfC(|-dW`Z=kp^>SXg{ApMrH>qJ5cc$qr&+}}8*uikpa|U2ogIK8Fr|*$8AV{v z!R5Lzfy7U2lAD{}C(0lRh;QRzTrLH*(X@S?8sqkLYD~Frk(F$>5Mh38gCgP($n36w zBC@2AS>Ft1&g8l}@$Da%Gy8cXiHL2F`OG{y3`K;;i)Fnyl8E^Bn~5xG<|rbuGg*r4 zp(18LlO?vlyTM}V1{2w?C(o*=1mgka#kS`-vYOgBn3yr>73HTSmL%%sCZ=a58>yHY zni!*s8H2=3;9|uY#qkA+DTW|X)9DXuS%o!?;F54d4A8_t$_)%BD+WKEzORH$Vfwul zYy#Vj>RDY_eGM6qb%EI+)y75;aj5lhH9+T~I0423JKb#i;TF~xaDRh+dg3&zHZ1nc z!6E|BSp9=gLZill?Y9a{WP4pKTd6*j2ht(FU9gue%>pK}z3wR6T^$$?Y+}VHwjLP( DOCZig diff --git a/tools/sdk/lib/libwps.a b/tools/sdk/lib/libwps.a index 480191bf16942d74d63b33662353386356d530ea..af6d8ea986568f1011ed4b64c26d6ee6dfadedcc 100644 GIT binary patch delta 431 zcmaELTIAJfkqI(vmc|Cgre+(JLIflsOa%o41rUIch6V;^CY$>O!bR~&|5rWCjYs;n zVZDO_PQy(U6f7+*jVAA#sj+!c(H}KD25q1DS`v@+?#(s9GDc<$dPVsui6x18@$qh< ze$FAD{(kZCDi%hDmfM5b8SgK_ZNhf%HH^isc;v5tWDK{!Bk!)o)L)2OzWx1drtR-% eGe>hO;tdW96C;z!`)8`RPg=^nebQ2vhz0=C<7XrQ delta 431 zcmaELTIAJfkqI(v7Uq^_<^~&;LIflsOa%o)0|Nsj(#&jgzd*Ps9_jz8hq>`c-!`mw zP{3)piGqTqrKQp2eKR#SFDm+@hR2}oGha*Mk>0(zCRoPMfI+V)KP9mwQ7=B;E!59B z#M9p|K3>Jb$iR4eFgxS@CAdx4?!AVw*cFfb^^c6<7I@^{wV3(~am%;ApUt%W{cPrF cPDQ-IVPRrqGI{?@_4Y|inYT|`$`a840P^c=<^TWy diff --git a/tools/sdk/lib/libxtensa-debug-module.a b/tools/sdk/lib/libxtensa-debug-module.a index 57599f4be9438d1e62b2449316c644703be3979a..e0086dea963c664007d45cc1de9b2ee61fe9f0f8 100644 GIT binary patch delta 42 ncmdlKw<&IdG`o?3k)f%v!9=C`5T=pk#uJ(RFyYM>0>9({5NQln delta 42 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 delta 102693 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 diff --git a/tools/sdk/lib/libnewlib.a b/tools/sdk/lib/libnewlib.a index 5de274b90854eb0e660896cf6402b7472bf6bdf0..e097378a13b9570f3848d7cbf4490cb6757f81f5 100644 GIT binary patch delta 223 zcmdn?g=O0pmI>1AMg~TPrbgx)m6DmDY_rWhOj)dkIXVms3``0@g0*-tkYrg)P7+4!YOa=xHkPK4*kYH`wtj;0GCUH@wj+uc0ggJdVWbJ@5Ak2DUasZzgBm3rb zzUu-^CPtGT1AhDN4l78aHpm6DmDY>Ul3Oj)dkSvm|13``0@g0*llkYrg)P7+C8;Oa=xHkPK4*kYH`utj;0GCUIV-j+uc0ggJdVWbJ@5Ak2DhasZzgBkSgL zzUu-^#uk$u)W+q@^s(gM!;vnbIP&PjPN aftN9U^4GWFjJ1<}-{~_JZmxZ|(;EQremNBY diff --git a/tools/sdk/lib/libnghttp.a b/tools/sdk/lib/libnghttp.a index 5cf92299acf9dbfba300364616b0a87254ba1fc5..748dc21c2e64b63223af9cb09754d819dcb751bc 100644 GIT binary patch delta 441 zcmdn>CuY~5m2U^|T_`x}XGkBedZ zJsB!(*`Dx$ZF|B8_NC%55wPvsl{q+s!r($6%eDu{aa__vHpr=$W4#naz<4^pKcmEU z{uLbC>|i4E#n>dbKY7M+)D>cmvBCBYI-G(bFy7<8$KrFCbiA&J^J5;q{djX@+_5w!XpP2}eY~k$% m*&@BxFcF}M;@hQ{i+mDCuY~5mC@LOhC-MefI;Fdrx4Bw*$5R3_$S2*cQ6Nv`r2$65AdZ!}fbJ zOr$;G1Kak559~|DVIpAbw<~jS2!+9gK(=iUj^ntb2NMFD?HhDB1w&v8z^2@5;7ms|C3!Zdm<3dk@%DzxoULY1o;gTM zyAl@{5OV`D4-oSLF&_}~1F^t%B`!ht?=ZdX1&l)53mAoeWmtHRNNf0Vx1_@p5og(epJ4Lr^?-b*21pw4=gHQkf diff --git a/tools/sdk/lib/libnvs_flash.a b/tools/sdk/lib/libnvs_flash.a index 288f327d514fd96675e700eb6af87c017d795454..c2b4e4423572572f4957f576fac99d5a299092c3 100644 GIT binary patch delta 133 zcmdlqS8dZ=wF%PfMg~TPrpAUFm9BHa*iGDR+>G0}nWi3vh!|N;;uhP!=>pUAolqqP z?EziPK+Li|po`VB8m6&*0V~_~1+46W1u&6G+~V#0W$fGe%Qz-2hiL|xwojJxO922o CR3`fX delta 133 zcmdlqS8dZ=wF%PfhDN4l7M7+Pm9BF^*~U%WZQP98xS6INg^CzW;uhP!=>pUAoiHWs z0bR^M%(6Y8i`BClDr(ZcfR%0g0#^3G0;q`TByRC`{xbIM{AC=Imcx{ROxq{R`K15= DU~DIc diff --git a/tools/sdk/lib/libopenssl.a b/tools/sdk/lib/libopenssl.a index ceacaf382c8705574c9fa82a535e659006c33474..6e8a09de8c7a829ff1ef91e7aea372bd618c1b5b 100644 GIT binary patch delta 167 zcmX@GUEsiWfeF&=Mg~TPrbd<7iY*M8wurEfX&!Gql;-a%nGoO`1ZhMOj*e&s@iXGGEcw3$?_USbo&D?mInd= Ddm%GM delta 167 zcmX@GUEsiWfeF&=hDN4l7M4aEm2!EYY=h~2Cm6*xui+_Hf{GY|MVf8&x7+A5de4N3 zZU?G6nE~g;88XR6!gydE+h=q!&4yV4Hbi`T;4-GHWT+}5u&VYOoXpd2aI(Bc5#9cP Ii{*g;0HQN9w*UYD diff --git a/tools/sdk/lib/libpp.a b/tools/sdk/lib/libpp.a index 50da78c56b1d4635c4d4e222e6a6d0a0fbb228de..b238e25e9d592634cade4040a8b5fe2801ae4f90 100644 GIT binary patch literal 463070 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®6Q^Qc78@3Uto3AGx5e4;9~UBJUaxVS{fB&wn~?=(7=%b>`^OM<45u4*ep(<%P@itSeSM!F!Llqc z!&Qi6`e2)q>6_~yPeRH%Xg_{bbZX>iEj|#qE!vMfm1J3JWbMcQt2%$!)EUf>kC+8! zov#t5?<<5SBDHlMCOS28XLTMYHmoyQ>&$&p+u3bn2m*rhFYWBM>p5R%okClDc75@z z&-~QB$OC85F~UehGRtwQBGdP1Vfx_qQ0ICog;|%y!gMu6xE|@PhTR-k3jyKti1b5^ ztnCm7Yv0v@X+w>y?cn^#wzziq3Kk-`cDT}K*ACJ?t{sG3I|$QK=XqX#WpVH$R3nmE z?k-{aUMfr<(d;eNmWYUlwNB{lZL-3A5~9gjx24Fw4Fr%(5P~ z!_^sSnlRhrLSa7NzEqg~@=0N~AMb;(Y#cnz*pv(BK(80h1-i-7K;ab!sAFS)*GTKuk>$(bPBkS5LHq^+v zuHT5xHX99ApT85G8d-f7g4O4{V6K-MS$+0_FY3Hrj0>~<-8%-*tH7g0Cr>my4u14} zhCkRvKh(&2K2uDa$MAvhjMz{k>p2z2hn^d_x%47h;~bUtU@re8BAL%&i-hk(dYv%) zmg6t96(0znMx;G8a#VDVKdq13mtjNA?aNZn3glUK3DQj3KaUTDyAi2VBS%HA7yUR> z#LzZ;Agn{AJvDMv^ruAMft2Grv>hJ^&mhvC8aXOD$Gx`mPsD~AS=%`d*6n%?Oh44f z+RlFy{T-w^h+5BoicXEJ^~|M>Y@^#x;gcF!x1IZpovZ}rtNvG zGnoF|^(>g{(bz}efc4@2HBk8DNaqN%ecUs8*u-J; zxY3_C{5@g*km@gmxn8e_@1K4?B24`{qu(sdcKEC?+u?J6!Hq?&@vz<=~=YdZP=Yt2K4DDI=8e!JW zy|)9Mb^D~~tXq*V>sBJn^z*`;KPrTCz+V>T9P^AY*Y!Qa2ZXuaUkY=*hlRP`-wAWQ zCxn^4Bg}E~CoJQ(RAc+xc@DRW_M%^gapdMw=n3qD?~C38%x6O^%j0Sx^iVB65V(wb zp>VVofG`eGkKKGfo;K9TdhE^@eIe3O!jq8}v+R0&AQXvCjjZ=2+;JQ}c@8xR%R-p9 z89poa)W}ij?9)ooIj1cb&c;6dRpFPAPKKRs*Vja+M%L{rp-loG2=0C_>OhUG+ch0| zy`T0|@k5QQ_tRbzy%*|mO!)6edHW{d@}_2xmp7MvjVJio9-nU-)8KYGmE^ z9MQ)i9W2ay!`BFNF1=283euUvoJZ%-e?2}B7Ku)ctk0h2Bd^!gyl=%iP$TPgccbW> zgDYs?h!2EyqEjR5v!`!~eh{g9CyH$Xu7sT)uld8XTo*O69l);>ucwI(HL~_~x#;{Z$bG_mzj7(dZp8<}qoPwI>$zMl@_O%j zzt~VCM^WDb@Db5_An)G8#CCE1UdFOJ@PXjo$%Iag92Nas*s&dQkg^Ly-=;Ob?<6`k za#ZvNv4j8){@7V@tIxQVyw5 zEj|$L5uF-YeX{%2=VM|+jjTSO6P?GyowS$v^JUSgk#!Dn@7JOJ{2}vQv|o-7gujVB zHF8w+R^)Z=>WMPkc4}muyY|pV*4tlfsF8KOLq+EgrSGGCEj|#2iB65I+rA%p-S$t5 z4K=cE`>mocN4mhUdsh(k{3f(}MJKNiZbEv1{-w^3iB65Ibv{I!G<+buAU4#2z?A62r3hB~Hmi;u+YYi8RO$ky)+9Z(15w(wQ z5uF-Y`zQyjee^{z%Tgn2AFUAmyGU~p)#obFsgc#^P};Bp2)vx8PikcK*(&-8q3WTH3kAmZfA-Q(O z;`aNZ?2phj_&~@))bYuFRc2o*r<3LSn*FW!Q4fK$F80U3F=5(fv7XS$?mSbtLUgX@ z4q?`%TA1s+Q<(K~_u^2N=`PVB`_J*A{|j0%&P#M%{84T){nrZ9|GmQW@7^1S4gEKX z&h&Xstx$9P}D-K?c$hz?v;{(DEBW)1A8Qby= z;XO!m5cS+|i|EwIdhW;Zs_z}WEH>20`W`QRalP!Tp@@3!=k5hTr{?Yj$vNR4#J(r$ zlSlh=@PXj&d%&I=S$%w% z#D*F<+QXlt=F_GY9|-JM){Poj`>q0c?Yl;?p+?rebN81}mhZ+?(!LfS2%E*88d-f- zBdj*Njid$I15xMROv5q5bf@z$u>D@;t>CPW_~#3y!btq{2k0!vE~E{Qb&m+ABmIpq z*ZG<->-9%ruK$=Y>&Sb-^uv_**2x3Fye~kGgUf|E_q(|rdJFg-(Q{z)knn1xPYN$X zdO(=<`K2)Hb6A-5`JFK9b3&NuIqV~>s|4)M8Nj8mxgC-ELrCv3Tqn#n;USYYKS27b z@EN4Jh&sj&h)#{HV{9mG68J!P3z2@Pk#&safkQ9h1A%^NLya62{jBJNQU6|uv?04^ zTf)4bLp=@KI!u`NX7YqTfixd}LKtrhSBp-K9EDyBE<`wb4O%Yk z*M za2&i!I0yWw@Oq?ch1r$|g+GQi{-f|v=qH8GAdRs7;h)DfKI0860RdqhB7IUL>o|0C6!iVjc8U$TO_=@lci}A5?QP++NZq`Rvee%*HUp67x{8sy z{k;|o5#03}bZTU+XCd;szi_T$S!!gh=Q!HPoJPO2p+?rZZnEe#NZqvzY{*qc=ewRP zy8>-qE6n|y^9Xg0kz%fkorSPVbZTTh&i+Vr9#4KI%zLwwV5jrjuSKUu*7@z2=;^Tk zv+!x8%(D(0ZyZnL0Z6Yfx;tNj&UH=Zx@1n~IHo-{vd(WMw2}FZWoSc38WwBY(o*joO#x>Oq$2ODfZ0~=7y+hlcZ>kjM>Qhtxt{xk znXVMxht$nKupvJwI_vvWVfz2MFt_O~VXn)~IkK*IMCZEFL;iZ1ep>X;A!THJ>XF*M zC>5O=xwF2wM{MFq$=Vn6MW1YYckBay1MH4{!fV8a+sA$iy^Ie8+OaG(a#ZwhiT+)r zxrn+i^YV%I)X2Io52cOl%dKGAP$TQUoCglo;saqHB5kOVb$j!{y8pf=Hq^+vy#=(X z#RtMMMEapdRzIV`>L(oXZK#pe5Bs>o`AIPZ1omHuJ19arqK?Bf!(68NL~vHNKi+N> zrjMz@NW7bc>2JO;(}ltuOUs109(Vr)KIx}HbR_OqK)EjZX+|V7-671fJQPu9*N-I6`dMceGa9K`24ZhP$R3)KZ<@D=_z53 z7miV#>)sWe8d>MMeA;{j9|&nE!@5x;N1>O1FF?$?6dwrO9y0rDknpFF(gpQWr0nC+ zckzM1x>Bb`j*1=whuFyoTpw+yk)xu!IR`q+xjwxPfRKf#$EHkjF;yA=+&~0Z2W$fa z>#Ad(dF3hKENl>$PZMSxJ|m38|IRyX=+BLLFw>=oS~elfvde^#`0u?-*(TAMt{3KZ zJR{8Qcv<-SNM8}=cK=K`4e23auItyrNc`^s$+}L6&UCzRCDH+iI^Ni1tUoofj<+~i z$D2FO!iJhV&T>N$=!<2!9Z1@JE*6~{S$*cxM#?sd4K=ckVK+acAh(;_PyZ*84n@>D z?-iXIS^ekHM*P1aHq^-K-;ICx>>KjOn2!1LkmtHM?#Mdk3y{}+=OVG8M%I1DjYBpb zLMCEpm_vUah8;sXqK>yT!(68424lckmr;?i2WGj?BT}dDGGY3dBOF7zM3`x<@D8L8 z3bT%%5WWE^BYoB&<=6_<;saqaB6VtHZCf{H5)cp;A<~8#S=*Mrs4qk6=0-5<@Dcc)VY4w zr{FBGYg=$XF!wjwaPI%M;o-tFkh=b=1t8=j(w-Vw`!o*L{pBVwZK#p8Pu;!@on7zx z5&Ss#NkrQ7Snc}dVgSOg5UEomYu~Z?LL=~jz&hx@kZ0KS3p)#eiP|{-(zbExE%-oS zTj>1HHtI0{@1}*!`D1*ZjU;Q3ugw+a61QE@*%$7-1^L@;cwu4gLoTvpt3ivkvas9QM4fb@%tAZga$j z`aEO5)adsZeYMe>jK0B&3Am8&qHT@sF9hQZ{d4lGaWiv+h+#y+CHy|4K=dv?-!u0xh=d8 z=iZkCuZ0am2+WX%sGM$?`;6+`H=>T~|4neyEXkT^mJjLHeZd zR-|rTg8gCee$lxtd59r42*OVh>602+@1gxcblT@5>b5XXdun9e7P`}U_yXEofe(bs z5XtNdZX227&Gi?UMCDIsTXfHkxu0*6gHF8w+g`!hq&^iAca26X!f_|UE)h*(S znMgvc3S5ID;4(=n#OvY@d1mD0HdM znPlz=2>r+$AP8~t#;`CT1lz7L_CLr%kBLC7;a+HkSq62qm2E66>3KQ)Gz8D3#{z2O$aI}EoP<~!c% z|FGd>WSOf^8h+n!I<`-3_`8Y9al=Cm7m#@XK^SM4zu~F+48!vcR~xQ1%-`nKvi!dT z%9{*tHN4C4KEsC$A2ob}obK28jNvr&iRzh#`M(EL=kJFq=Nm3G%y+QWX1d`yhWWd| zYQuN1mH8bdJyxzZ+-!J@;hkhTp6)Sxz%ajyq&CM5^Sel@dl(nWF~j}Ha*WO~oM)Kd zS5li|!~AZN9@9$=R~W7_yv#7)i`KI14fD5ERo`K_)$o49hYcSyeA4jyhSM>Y)jxkL zPC0IPsNn*`;|xzWJj3vO!_|gs4L2BWGQ7#~R>Qjt?=yVJ@KM7j44*NahJ8Y}H`DL{ zvYe0Q8qPOdXm}D?&e^6Lo@2Pu@KVF|WI4xMZMfO+7Q;IY?=gJ9@Danu4WBm5f8nL) zlQF~n4CffmBg;AGXv4*ZOAMEi<-D}QaE;+*hF6f~+;zR-7Q;IXx02=jcE91nhL0IO zY50AzoDZjCE>Y(1*eS;i4>epsmhv8s<4In@N^){sD$_4d)v!G(5@hbi;EDR~lYwxZdz;!_9`b7~W}k zkKqGkxlTD^__*QIhIz55_A$f#4CffmGd$XGvEdTKrG_gE*O28JYMJ2`hSwWzF}%ZY ztKt2I4;wya_@v?Y4X0zC)B0o?jvF3oxWMo@!;=lqFg)LIwc%RB4ThTxZ!)~q@Gisq z3?DLl)bI(zXAGxd&emxw*8$N9K znBkL#-#46|nQ90A#+9~7-0)Dt1!TGJG0yO0!!r!eH(YJF)^LO2Cc~QyZ#BHj@IJ$b z3?DUo!tfcgJby{U@mx96@BqWPhVu;<8lGf$y5Tv7D-AC-TyJ=_;by~I4DU3&$M6Be zM+_e~eA+PniCX)%#|-x~oMSl8@My!uhD!{W8m=&0V|bb26=b<@w%%}y;T?us4evL6 z*zhsKCk?-EI34F)y520qal=Cm7Z@IAc(UOchUXiuHe74C!Elq|O@_A`-eq{7;X{Ux z8a`q8jNvq#KkBw;8XjOc*Kj`h68~JQ(C{R~(+$rtTxocz;d;ZX4L2L!VtA+FJ%$e$ zK4SQ|;nRjaod4>!#0>W{oMSl8@My!uhD!{W8m=&0V|bb26^7RvZZW*WaI4|{h7TJ) zX85Gx_YJ4xTwdFOzp#|)n|{66_Izs~8n=2PZxwkgLA4>eq1c%0$MhG!U_Z@AiUt>Fg4O@=oa z-b%jQuk$X$`wSm4eAMs>!)FYq;d)VhW*Qz~IM;AKd5~X+Lc@~`Pd7ZraHZj;hU*Ql zHr#A@i{YJy_ZU84_=w@-hEE&jKWf%(i5c!^ILC0F;n9YR4VM@$HC#c?_1mq6JlN-D zhF2I~Z@7g##JAsJxYh7}!-owYGkntU`-anTF0cOiy?o_3`3ir%Lk$-g9%p#6;TeYK z8?H87OCIX`Z!p|sc$49+*ST_jEV??eC`DAG>MyUN`Od zyJy|m-tpbEyR(~iYrAQ;tDAPe>!#hi-L&h+=f~aX-_hN)yS1BkcXre6k#5@YH`Kbb z9q##hH@5eGy6G>%XVBg7ckzF*qYs8l#SY!)Lh!hyc7tJu$A8{`vl}M<R%M7AKwvrStoU|qy5KW$1;V?AZ)3^_t)?Yb_TgNF-aQ)}uNKcFpLZqv585&83izx3vgh9OX8m|trvBaz z_{+m{z8kgk#SV%0_kh1z57#a-l3(nn-Og zPXpE8sDQtvF?{!2$}mxX`2l~E@AcomWc@xab|~uI81TnuW}k(wLH$h(_?r)Z%V0!* zJnhu_@we;j_MU;i%ud>GPQc#@_*)_V#u$J6En4d@9nW5POwpkA1=#zdYQ_#%-+jp#J#oi1k3i2>_f%njH>$W|pzrO|iZF$Il zf13V2g{b~|V?MFlTib=d80=W45Ru`4@pl9A>MuXwZ*>>`J{s_M+W6x&g8G{p@W=c9 zoo(+80e}6zmfGGa#$Q#y-!AyO49hiey$lNj{zk(eFCp1}Hz8{MmIwUt*}`xv*P#9q z0e=<7-_0;qe~$(H^~1(aR%c?z?An08_3*a?I_q}}qWXI^;E&H8K8@uXw0?YFh+HTO zCO@3=_ZevF@BM(ko$%KnWtgbHe+K-eVKU%5wXEN*Vi!X?5XTEU{>EkDcLym*P=9>) z$ks2m68kUa4f^{WqSmh<;O`73gVCM%8yWDIv)c2HO8sUUe5qBF-@5^S`*QG`H=X!18gqsg3>|$cgY~Rp!K^5cH}}|_BMSB=U39dw?X4F_D5mB-}~?v z?W8|G7VvijJ6kihgY{cz{FMd#r4Pn>I`KCn;BV=R_%5*cTV(tt0{-~jky%)-LAQ5l zz~70NQpfWd95;@ zaVp*3euKmxy2^!;kNW2kl67|E?0~=H-}k@U#_@tv-*$f!1NEzbzc`j_(Ec4C@RzqI zDX z8Fm9Zv0EOn+XK6cI>#xVU2i%%9mBW1exqU6+4g1!>`GyWLwb8qf1?9-HL&a5Zk5`OX#u+i*qz^rU1h*- zJ?yeOv3oFJ*9yDN#_6Vj-67a@HV(cEI~-cu?{A!hoo*vnuY9nZc6@iTJO2J5^}`hE z0@us_(V!eVx1+yPUD)Nqj%CzeS9X&Ec5ip#?~Z`o|8`;baG-vtyRd8N#7^6m+pPRj zH|_ZTrfp}gm*@8y)Zg!5$9BOq>H_U}e?bG6F&={*PRZNDM@Qm(s6ChJn}3KuT{I7N zJg#a`JOw+}p->jA#{A6hkZnQ!DMT*A5bz@BrFhKbi?a{hbZ?YuM-8(cjaE z>W}-Njsc+e_*AS1>(HS7nCe``Wm`(|e+^Kf=fJ#wMt_-zIF0DwZ^lBL%j3LQgZisn zIBd~JJcMGVG%-UuY1N%nh*-9C$`7u zU7zSW(tioUMxkjCa=qRBm8Q{=Qs%B6<0Z}}2fm-&o__wu+}^EmFE`wDruo^r_}bQ3 zc+IuvZR~emU2dN%Gah_!O+hFY{y)6E4SW^F+4sNaoPd!WB_t6eFYP7-4T=~dYCx=c z1A@gG5QVn1A#c2BATbFVTiPZ8F)H?kKowisCJ_}CT0p93u?9-Iz@LtRam<DJ#`Q#lSfaS|&J&QV!gTV0D&l-5^{>^f6j z<-&^j3+K8E7gbfc6{Yp1JnKkzZVAp?T7zRr^+LZOD1&vrh1KtC7adR@v^J)-iv>!4%{=GT?0M(lZ5t88Vr>onH&-7@c1w|rjd!nwG4%ncViir_Xx zqhI(19J+@VQ}@<6{5E9e&!20`XNFLB@|Px0N1x1_JiX-FDHA3XV~_Qk>DMS59g(}P z(aJCQlH(Y8;j{^PSNl98?~9YaG)d%$OejPpt-!b}W3Bg|=b1?tV$QvsdzQj~mbZc1nmsLf;Oc~yw|1rvh(^lVD)J6{QxAK~ z&UQM&{kOf}T$b4RNb?IVjjwk$m!0{@&tH2gyrr!F+*P?vZ+Qpfoo#P5hx@;uKH!ah zPY$>vbZgqXaWD4C-RgF~+_#F?1WzJA;`zrDE@f_1)zYw8#+ z%ev*_p*QvGXT@At>Wu!gSNdnKdD!VI|Ln~!O1yVLG7N%5_bDXHi;Kt$fpK zykq!^mbScu-tqVy2fa7?jR@r)a!sX$n*Qu-&0do@mm@~}}zo6c`>KXmHlW8swpYBknZin0SAs@^ShuT(}G zAg=M#*}vmV9|mM%=;+CD?C7oI5XAB0b+7bwFQ@gU*S*;ViMOPL`_6On!ztHS4BCB; z)ASc!Nlt6iD_+**;f;lDn_u>t!zo$g`y7wk@e-uJG{gsw1boPOK(ynyzCkW{r|ryoHHogcM48i`n1=+ z#hV*BV`46f>sRc+ubi2ko-}ov7fqSGC2L%#8SloAxNK~A*)Yc+7W|`Wy6j*6cg<~` zQ#X2FnR(eI;l9J2sT;h;i#s>=Y1+mUJssKDCmL;foZRx#%+{=&#<4GrUgtHf^Rg~U zygfN{ZlB>zKV|CX?|JEMPrrAMx8ok|OB}-YBN@rcso`gzv<3vDOtuf|F$i22KUG97HwKXnH=vWMRWTJOz3eckKr-sDZa$(ykx+;^R~dzEMIVVHwsfB6sA@L0e{&uM8*`^a-M z6PrHr?re^R8%HeZ)|@VViN6t255E|GwaAR6PdUIoCY&R0<^A0oaeq-b-Z^+woVu;v*CeJ(?d0T|eE)ZwuuYoQ*rU6_ZGY(^?Q}j*mW`IY{o^ z*S+@+csqWtS^vnabCND@x&PeMejRNUO$R6#aero9dN}%c`Xx=jGbenJ1IBMO(<}b@ zn)aEr-QJGpk@9gEwLi!oEd6@Gb>Op3G~5~=nsZJlbG_D%$WL#bH&jKuIq62hHxkrA z*LCZcm!&r0&1eBz!XTax;3j6{=>!=FN=Bsky7lV0deii<=e_plS&62zZhqElf0i-RQ#bGS z+IKVdd!xC_Yv0A#YbN$ful<*dnf|(Yhu6M?F*824cX~~~rBd`R3=j$a?A}p!Wpq3W zJjkDaFc^;R@SaQLuQ0BVoJ#mUUM;}A?Zw@=> zrVeg8Zm#T@x8s<9H=f^gj1u|owW>aS`-cJXp8vs-4*=~+}ZReQ~HCRS;nC*&i5C^$QJ)}zw`np`u%2%R|R2z zF)?S*=cScj_IB*k>)lTqxW`Q!%Wcb2b8HTCzNcH~2VB04>h$?jkL<61_p+0cv$77M zo3^yRc09an6jt;p*I$*89ZsH;oZFF~oc3qWZArxOywu@M@0e@(lb3$~VfA4YOw2ybm_EzxP|uO#a3O=W%m=wBawD zh91RDlGT!U*_sTFcF7$W>z?OWXBMXZa2E9kG_!j0YsP!V^Ee*JSim~!Yt}og8MxW( z1C)M>WB+^C!!5ieDY^Y!uko(L);6bkT5@aIgx0b`zo)ey_WZf2IsNo!kN0T}pEYnq z+{(AT6)lN4-kUl&+7Cl88m=`dx#^(ScwZv!=Egf*m>GIhrY6iw2egq7QkUHjRo66zCu z3H8u(AJPg!$o_K7!_d)@l)Pq3lsOo!~uZD=_~_FSFIXu#a9I zRvw<$DJMWWmUSyX^0uTVcf_Zz_<`FxGkN*AC`P~3_J4Uz|B~_)`qztfj^AH{ahmhb zwfH#BmYL;VWS!7C6KOj>_S!%8)~t=jx80W*9ehQ6+ryo0moHgy*OJC1E=J!y4Xx2Q zcSNUq*QyKSwXn$7oD|x#tu-lpVLVFOI`fR7M;E`Z$>u6}4Ig{as;47gU7ubQ2Q9yh zOw=uL=!`z$wXBLpUTa9%{2zSwidHrKhlmQ zXEnz;1Gk-C`kv?3H_m?0_2;MN_V_z*uZ?#gxc>IjrWHB<@}Ml^$`PTl1N?z?=lzG< zHtdXUXxp>%jnkeEZS3nW(`F1BDwD_?-i|+*(SlniW}UE%V_HJ`fJNlTHKWymWrC8&Z%Nn;Z zzkFzZBz5_iXdFHx=N&N{J!WycW)I_9Ncx`v&}aN$U**#)cZ#bv}6hMXixD z29JGcSh(-`__&3C%7f1VgP(lpf^gq+osM|tg8MpN_^2&s$@g2J{pa)FJg`Jod#`&t zUe{^B%#TBl4!P4`2VBiHgul{z$=mU=uQf{BOIDDC?C_$ z-@T6fB+fubFaw?ApPTCu+(7pwHg`B(>k%{CZ2ptC<4;=gW}4QD$KIT^f5eZa=Kl`p zS^;Ijt=zKewTA4K|Kw%gn>wQ9u{o)qYkyxB47h3E)2VRHX;=lAkM;g>`CHL5I)>%G zc*fqRUB52OX}PZr$KQGs$2y^Fl(C$npUavuYZ-s-)0exqT;u(e-*e=;C%%Wh@I<7^ z+IbydHGF&=MW5|p?*EfxKAz{(9LAXITSNZVEk3>N*x@(EAb+EL=+Tz&^_gd4m6G?g zw`NsyK}vJMz)5$6cMlIuebS5mr@4=F`%|Yy2bSf>O>~{~aNM~`-%O7r&q+Eh8cr|Z zq9$##=Z;8RJ}sJV;`q4M5sCA6#!vh{ec0(!AN4v4l5_JDXQYHDCWcHUx51&FN9{RhojG$= zTC3*{PrSbN!)0&dGySTmcY9@e*4^(r%ii?PO$|?c)fwIFO>M@7at6TIepd0ri3494 zhwGY?6y9Ct@Y2$A^9z#mn!QPbxZJ*n=VjRzdv0N3+P9?KSZ=Rm%H}F>$E~JDF+bex zml6Lr<=^3nPk67+cbZKVInyH1ft6WJ%b1>4?LD+5ye!ukor|l8!mg>zv>RwVZyukL zV8iO#hN{ld>*+a7xI zgIm6LWm7fJFgY#r?Hx0{5d+dA{rPF?{b2*%?fZ0J+#vIq4C(dL{O#cWFrNALo*SCR zdClbmHpb^}=^T9Bq%HAJj9atYEKhRNJI{M6ysX1%pWropnYpJHdf1zn&|JI?l7;5MNVVv@{>>{pJfNO?&V7{Ylf{ zZ}dC(3zzf2e@;TfZgSX0ljlq;A8>b{*{z*}3+HZ$zc)wPdp6p8TX@;IPW$sGn~pGR z-g750+rLAcsqH;{b{X6IaXtvmOf-}z=E zS;leP4jjL^qZiNL8QXdx-ebjB{cDcJ7^lr=bQxS3Y=B=1e;6Ka6!#hVd%Z<|{8Nt= zpPJg8i1C(V$vkIy?VR-R?kZL$a}`SY-^wFU#`WbAapRgPkJmq`zQOd z#xz0+JG|49&P_et-*RKy@%g~dylLSmpVDr{g93N-CXPZmk$gO*y#!BbTk(`OZdzN# zO&h(^Hm@&U{@fDozn+h2SNyygi_aH2?|AE}N1pw8=;8NgtiHTyBl{&D!mfD>4{3L_ z;|9AUG&b$N0q>snG$-l@C0U=*!aAPOjx8%2@WZ}Ycs^Tr*|t6pja`e%$-=|gC&SC~ zo%WSp(|yb~b%j^_fZKF0x#cZf9iGo#m6?^z9{CtYpjM_}1iH;@T0u-(!V&1Z#25Sc z&u5qWDj0wkdYN0!O$txM;`+{}+g0q0zJ+^2OHKAUUVi$}>kIqt9_kczEUzePO}oiE zZ|T{X8@|Q#&DGcrh4MEgGd{BnYP!{rY@X-67>Bf*{b*^-5Pd z5*zw-?VW2+eDe@^pr|7dKiZ*5zU-gfl%vHjB9 z+RXY1F^0T{=%(P_p{tV6kNL+=Kj>a_${Nb7J8^Gv-NO6PiQO*pbA8IOr}Yl*x%SsR z|2f5hX8&{WW_hw|o~Ovh2X4Za{QTskX~PB#F3i6cPgwJ>9grUmw}vCjD~b!7`-X7h z;>pclnR#bnMgVW`SX{a$e9&A zy*Va3VA1kt?<}W(9f7af) z1smIKUTcx_(BQ_vZel;x|NslB(kGt3Hn2~wf;B@Su zOvF5$a$y`cq#Z6-60yiyhNa)|;`Fx6a9h~9e$3F!RrkC#1ka+E=ch-`9+*8O8phM- z_HTLV1!qU2(Ih^9zRT~^8@3j$N^9V9FR#Iy)EZuPxq}<(HYRfZtT&6Tx~|0*){)P? zKOwKm%S}(ryV0AJG=%rgH&lHd)zdpT-D0xE+RVSvW_UX)%#DU2r|Uj5_Gg(4_WXRQ zH9ybw%eXe9eWuq`$w=m^XWtJm8}IBMjJXsqFFbW_et36|Gx3O*b~Ojet||N~&rIRY zz=~)zT(ruc@Si;vUUs3AHr`y+c<($s$lfK(qs^nd9pki&vMw69E}rM>lOH*2;IY&4 zE;1KA3Kt!o__#OmJ#XN;zNo8wzmQIQIvzHo1LPN+IrHMYkyzUfZppn4TVUu9EAAT} zjVu1*Ds+n0=TGM5)_*uTJn=>ke~#0hg24uvkTvh~-pq^rT&G7o{S}%^Jn-Y;Iqs^vHMvVx`zwz@Hgmt>o}Ipwv=%{r@iClz2l93$Gho> z=a#wC+T-zHCVIx=6N#H$e;;$spd&4z#~bib#lbqne}g5oG49S~UukKLcM|SHANO~F zTS6Z;)MvG{wZymK@wNXB%Mow=0Dm`R;$J-nZ1zJC{*Ki;@sQV%CeIEaGp}4s{G-t` zPirS0z$fHe;=>bv?{$RY{9TcWuTj<#p7@HqNYwXb&wm2;=5}w#cC_)+XJQ;T?_W&Z zWU{)ky^fh+Uh#I zNLXEU;g=@4-I0ZJFC0B8J9|{tg_n%IaBk`7v176>xp;(o$tZ}-yGSl9@Juu7D;L(4 zmP}qar`oyh+6g6j`PW`E<+|w;N~TPnK4DtklxwfZ>X(;48Am9?VS!;>p@bC@vI*&Q zc*baNoa&+U#%VYt5Lda{*ZjfwCdubYI8s7APm#oD2h!D!hI+n4(bIS^4C-rK%a_&5 z{I2MY{|tSt7Y#E-U#~Mm;>RRhE1{Mv7_N}?VhI_6G(pW7om+ zTvy>-TF$G%sUokm$}{&<%ELNmc^JB6_+ogi!#lwI`U=n00k7wJ06a?M96IP&Hu4wX zsXqY5E)X6M4hw&QCxN5BI;|g`o8@81wxlZWXBVFNx5CpgFImsU=YeYf7#N?bOd0qu z@o0nkLjc1?o(HBrG1!g5RUrfa}iQL7@3%l@}U6gGoFn@ zBEocdPE~5N0L-s8ATa;F9)Za_1p?mBl=ENm(9tHD@^ttLOHO8#@;R0qQRB2enKzW_ z+ZY0-Dx${GzB<)+A)r1(-d8L)+aU*@c^AXeF)vxm)&j;SUsIl+Axsv24k7KZoJZj4 zn3v42vr*2aA8nKQRdhP)sME5=LBO&xWZg1PiiFIoUkCiGyk|%r{n}Vh`n1n;F*J3E zkoCv$f#*G6LgpO_ujLtU$=NsgQX|WDH9YH(d>cG%kZ*^l>!}R(^|GwYqy39{xfMtE zS$Vb0Nxu4L>YMY5UCsMxb<6X!t{7@w)*1T%%lvtGy3Z=7=B3{M?eo^-94s?Kwi&zK zCiryei!UKOjdA$jeM+A+eFJtFvM*BAh3ELdYo90~uc-*0_ULbbr=wh*_H(=MvCq*a z`xu!vX@@fAoeZz{+AJ_vWwc)kPe&cH_W6Yr!ck6UKc@Z~csk0-+E@32c~0uQ1W!jD zbz0^O2tt|uz3!6X3*l$LGyf0Zwajb5{orZyL3pOq=6ZOYXa5LR{exhpQ~xkL9phx) z7nJ`Sp5I<0^WR_7CRrbKQ(v8ynRUuCYu)mEMewEY%>OVv9rKboUQzx_crDv5Oa2G2 z&W~?`^`7UhHX8zSf8wexGrEF=3GT~FoIybP(&a_S4}|7-dvC+%}wrv2WIv7 zdGuNsvVYJP$78zxZGB!l?Q@=?>&ZT4tP_UpPt^aMgy{%fc)FhQ+I4FfdM^B#@U)}- zj(J(nZ~;8eyBeN4&d=dezl(gU9N?ge-=E)2ihrv=eSL- zhi5wZW_Y@u>{E~BXV^%FKL+o@Ge7$w9rKcTZM2zd$;moyP66v0^;$61n0Gor@4<2k z;V36-J%1m}b5gz*oPvoq>S|=`;HYpzk z#-BOYXuw#J-#{T8%Rpv7fH~*8V1|_QU%={o`T&?R+S~}HW1L)okaGS@SIzrAnCD{r z0^Af@haVFrkc2H6xHNS18e-Db(jF4CF*0ZUF+`L8TFnY!ul&suUs zjnnbD7_m^Mzjri+48Im$`{X7t9m_`6&kMn|!7!xpTu0%lOFj;-ZS-%j_9gCD&^~pz zzoa@t0je_+%yjxMfx`%Cw-|geLdKVX@n_^q0oq1C6dmT>3)VI|0M<788<>tZ$>R`G zKZAzhC@1r}D4K)=L&_%uv=4tBtZiKiK3nv8uhCJTtYug#I_Z%A0L)@gXRYWUaMtqx zM>$#h!xNUA%zaLZUc!MP_4fg~)?*aHQT}_dw&~x&OrrcKfOW$7Ngm)RCo`H(0WT1a za&_8&c$r^9ovRpspeEF0x6m}52h z29Y!G0?s?gvws=RF8c6+RB8V;WiK zP!G%`%4v}I1@r3TMas!6GXgwu?Ot{4TKC;cLa0LY5A{6U=n#?*eCvoR4hjC?`{g`hU0Nh#IH&CL_vh#}JG$%pt?G zFY7o~37!Z~n~%cN@m%E7;d#ET@N|@u^)vo6V7-=3u(spNU^?oPbximRSoIHs)y@ZC zI_i^EUmvYfPS!EO-lrn#cz7|5!%<(I)&t{ltN?LFKC1541@)z6&ZxTjT0fkpR5c$z zB~)593cusR-(tC?#QZKwMh$+>CnL)lWhK{Fm+*&)O8j3JDqk3rxS+bCa)F;0TKqks zm}K+wKqdTrp31s9-}va!u^Rk+9{jLT$^43{$`bx;PE2y`oRaxS62bN;;;Rlw?kK@!glvGqNv}{(^)s*lzeoAWU{9=}) zO0|aO)K*s3)>qfzcVFs1nTqO_A0;ZOsH`fzwS+&ZQ`?;z>Hd!roibUoOQBDh|CH(e zPYT7HQh#SCM#$f-F+Wc;XVJp)*p%|pg(Zs?;um{v%$Q$STbglMY%+fXs^`|P#;-ZW zG=6q$&WicfB^9-mr3*~GR4bY*}h@`Qt`)R!2f>oBmf(5!(gKy;p+s$C%)6 z55)-h15Gi41*PS3-=J3oYtP(!G3wntFsQ3tzc%(FAeNsK3nW;bEokc0&1sJn?8d>I zHMi83*Vk5+RL_}HV&7q?wXURv!4&g*P5wv_bFF@rO6QA7VVBZg8I#cU`%FEi^7oc{ zOo$odVhy6bdd$KR%8YkrU}asza5Ife#Bn3zNn8e_CACvgW z5kDqbJAT)g-<{gysNbF3^SIxgeyWi_Mx&>(KSrVF(LY8-Y*@D>hLIQzodIHm-E%;U zI4}#uru8rn#45zh1c9XPdqFw~=7Lz29%h3Wh3@$vDE4QBpwyoeVx-or5F`J@ybzPx z!^{wq9+(?q(z<7dSg}1n#H4i35V2x&`=gPM^)CNVH;#H87yPuIK=qtP`z$js4mqCa=Uq{Yl0F)4xhBPK0& z28l`PVGfB&kDWzgl48ctK((?(yJwP^Y(32-F$z7*CMI3x1B_Fr($Lw&pK$`2d?BWu zQGQj`R^lGYxNOX&SR7JnDyd6&sV~HmyQF?WO-aQ zDc9*tz^4)>@J9=!cH{~uDM9VkS7H%ehox(I^@0WXtwm>4gL#>B)O@~7>i1Jjk65^O zM=-(G=triW!-)AP+?^INTO4-$%I*j#VjgXDiy~&r*N#u#Er z@!JCN+XL}C0`a>7@w)@@{|dxc2I8v%@$UuV_Xgtk1>!#l#D5rw|2PnD55(^e#2*O6 z9}2`D4#Xb~#5V@wKMlk;2jW`-@y7yj-Tv{#5$9)t^v477CjxQVl@V#gY$=Zg2nae&IG&w~Lt9sqA<{cLanV$_T{I2*kN<-t8i0 z>(GuTc1J*wm|xsyoR0~+UBqmg*>P@vb-Re!s`R>y8-xj6i&N zAkMAqZWl4HFWd3V?g%Jiwt~Aw5%U_K9lxMEV)RD_;ui+uqXO}Z0`aUsd~_hrM-tsG zVjgSR@iE;IP{g?;5a*V0w~KVWn&rzPW}DYeAKM)PMY>*pQvJ&V=}!jYPX*#X55%7~ zo4P7w?@!hULdMeqak~bXUJyv18iR~1 zJH$Ck@L@#~{!`vx5f;MlGV#gIM+nt1{}~tp`H+lveiHt3-RC9FktGSQWN_n}wr(`> zYn+La&U#G3dgUt;=g5cs{f)ib z%!~X$<5=GJkiH4w2!u)a&txAVRLAr%p9+X${OmxS|DRYL(=QFgzZ8g<1>)a8+(kY< z2upHGoMnOZRe|`A5$9d|pwY*#$Oh8&0VW~<6m^)sGN6Bd zApUqD{#+pb2I9OvzyB<8{v>hQPQq*Y`fv(SbH0;EcfmKqCpmXHQDo)=wBMWf-Odoi zGr`kM{66!N2hcd$%;CwzF+LG-w)b54B)l#?1Mv*-G!y@!GZ*n=;Fl35IX`w5BUH!y zwz4xDZ1c-YtNg2<&@jKgOVYr~ zo>W;seSZ0k(@>*D--xZ}Yw>h1Rx+)!yb_N=&8hidiACW4E$_POg;jV?Cbu0Dv@2u3 z&yRI)@*!^TqRm0P>w+1n;NxTSU>K3uT{Q?|w$iAe|0APow@bzV-v3CC**~Mc*>Tp# zBt~HElp)^3_86p}-0?EweJBru9vtU2zI2IU(5ykobexaKe9nHc#V%O$a-E}`O2!yW z$4@=V9E(+F64NlwQpWWFnR8#UFw1bgFvs?KVcNSznCJP1@BxG`3nOs;BK!eDdfI0h zPYAmR`Q=rWUnopD=O4t0q#oC$rVlzxj9!JHT?CC_8Av( z?Mp)}PPLf*Lv`41Lisp|Q#+=8<9y)_2vWd|)(EptE*55=yi=I=RtfVwYlM0JXM|a< zox(1{SA-ev7tTQVrZD@1>8mIJ+wQ2yL#UhMmdpC0Z6vRWf;{eD1f6MYvMotiUG2)>XYT$(;(V>i-Ao4*XXPxoo zJlbLXq+2{4dGvlcU*wdLwGYpvj`Y=h(V>j2eR!5-XPW3xMpiqssU!DSiRe&9*847# zI(az2x$xSzhgi%$s`7Y?ad};NfllZS9v!C?p1)r~R{>9^?jm8@FykuZw0)Pz6A|7c z%>K_EQ09FZ;RC{{2)7E;&QroH@6*CA!o9)_-xJP2Xxa`odEKU;gGYk1;6uC-;jV}0 zc_||&i2Um!ACLO066Ph3f!F?7Epp1p+COusBmI*B?Ndh9{<%`*4QF{b5V^S*AZMKwK^|I;1027=Lw(A~ z2_m0@c<63w`2CqWl$pLQa-$PAD!xtWGp2s>d^y`m`r87;I%*B z3r^|l%f2rhkI?ih$fMxRBIjJRU6}TMCCu~e73TRrw&Z3EfgKkze!-sSV%hm}A(^3> z@4%UmUn266;2dF~!yjv)K7Y928e#UmZwa$6wFtAG9u+q2E}RQ_r!dRBTi69ZFU+zX z5N7zca3SRH3+JE={P6{rhwa-JaWZY5F3dJe73PmH@CA2Me&pkqOvpo^!xwW6Lq1a( z@>1cg;0NHT^C-gg!n9%fHss7#47v7s=Ak}iWbO0QsU!E-K`?bFBWs^OBJyJh-xp^4 zFy2*8u%7E*BAl9Js0=tXp{4*8UMlDH<-=5-^BsWtaBirEu0{7 zvsQ$h<5QN{VcyGy`K6=^ghCyShIG+THM!g67@^E~K<{tE{;MX2Hb01C@S8PCBN&kMm5 zB`;;y2=iW?CcG6oUlr!P$S;ShixVx5 zTFm^aPrJH)0CtsO5;%p5a8uyP)U6bzy?Me^yHS|uY!Rk@n=tk77iJkB6sG>G!qhQq zMHu8YnXv*)IoFOX1MA=_VfLjj3zs0ACEOQ%$^~m*VjA;OM%KQR0oK06eor0B$l8~_ zBk~r6W?qBN&%l}RYTwLpkW)rh`y;6%{r{(6+NX@H_GydqBM8l!3j7>63qHgTC2*ba z)S--=Ao3SQ&g&fm*7EEXIb~!mPY!jYJcmSwGP0IuJaw9JfMc0>UdqU7Cl{=C9Gsgv zl#$hriRSU>e+eb!be~P%2B-MZuKvdEp3=`3#v#yqff8l5O-ceK{@y*g0L(g7`B-7f zuNJ1g3Sku0{1^oFqu_Lr(+2B{a(?M&qA+bF!s{Arn#d_5>l%#Lqw~vGM29l6&M&h? z&LQ^(i|Z^l_p+?nOy5I!C?h9`9N1MSrrvlVaA&}$fX_0qfDRJ_a+r2f&h&+*&X@a4 z5#^MT^%{+iw5e%F9^jJTQ@~7T{pwouY>`t&?y3By46IDJPm}@j&n&|LKd&hRxW_U; z9xOu*vgsIDW$`?+tc_=r$Ke3Su|@S~lBFJ|ljQ+ru_d2kaS{0f9N-G!HE%9C69+hR z--%7$lc66Pv43BSJd1L62Dp*%YKJC56u@P`tK21Dhy&aZ_|PbWray%)@;RPzvHuu2 z1rvq`W_3?{# zEW;S^xx%auKHH?6^)yB}7krs8>(zW_hfWcAg2<MRsHl#vrehvq_Dq`>_^bSNVyi2PxZzl3l-(sbV3Aacsc zI&W^E&JrBp_J|H;WSuwT5!Z1h&SGHKeL4)Bl1z#J44O>cOW?`0F+#WqVH94=Hd5r2 zk+p1z)RD4r{-Yhr$Xd1(>hPlAz6ehp%E$>KPX(*abkU)VtU5!e^Dqu@UxTL|%E$>K zH)Re(0LSb3tUBRvmcqio-3U*<3E@&<*3a$2wD-6re^Qv|%n_c9aEkCOgvG+82mQ2<;$JkLuRIYH!$Mb5s853++pb3BY&%n*kkekX$Z3!3D(2-mO!Y;z=gujY#rZD&CzHV`a@Op%G!fO$-ezje07CB{PZ5P(B zwo9w%P)62v8A+W-aDe*}JnMlna)QWtZpsfMd_wpj!Yp_#gZT^s9m>dBhB4HUKKUw` zb|@oj8FHv2=Q;?c4rOF5!{0^D`Z*@dx*QL$YwVLEr;M!Y&s?ysEfbNS_9-Ll+S1f# z7(zG~Ui%o^Rr_ST#lS8($FY=wlsL|p;K^|arwcP*l`!o!3A6v)E}VjJjc_VL(-yG9 zKJ!zNy9l=kv%F@l1)WUrn<8gkwx90dm@x-Bl#z80$F$v22;i#WS!T+}s?#8HmiODj zyAa+f%psR;scrXPBBzY3ZI?qG-f(ct!*fwa)_!8zQThp=hf;?!vi6e~M9yo?g%9xt zg?kmA`nkdhA}>T-b^azgl#x}()RnY5>rva?CEtMq9P6~FJ`iWgsi!*S;1qsvfvbWi zQ+JUt`-7=l$fIC$Z-Ut$ek?ld4_s0(FVDYSnEhdou#4~w;S7X-5$1LLLzvfhddRoK z_T}?4+GHDz6=qv}QJ8g}3m?;epii0Ie^`&I!#+csl##XntQ9%S-eGYOSo5wIIb~$c zJB2!|G`LOhv`-m10rCojJ4DX<_@%|g;1K!)of)5zmojn! zJmr*;wSUe8>p1ow(V>j2{qs_(!y<&Us4xA{e7=B9%E;RHhEOMr1035}nQ`q)7lBil z2$u~{X0=QZjz?(5AIPI%o`X7x2+M?15SqCIa{T$vg#kQ&EwSGK zm^ze^^}fykYrQcKbtofiy=78I?(6S}4rOGmH(=NGCV*4Up+w#}0rPt4v`&o9AYYb* zAO#%MIgRqcz7Fe1^HQRm3{GJsz_GiKX=kJ`^9>iKjP_H zRo$gyY^M7F6jAY|&U6gh3I7N+fW!oNpo<`?Lbe`Conx0v@; zXgdyYli+EeGID~*XNr6uL-^3sIKX`!p8AxL6GV>N#tHob2e=#IsY4k#LFDLaPUsmN z;F{s7Lm4?i2@_rS=8wR%Nf}x1%}pZbTH^_eGr^%w9N>1s zGcRT2giajbM#Ag0o4SAwWn{f}pcCRG50?O+!W#~boFH<>V|31?&in%{y z?EKP~n{%8p1`0QU`e zo{KWFu9JD~p(k;GW8b3=W#j~rw}^Z-Lep=h9ltAb%E(%Wrp#do;CP)n5AynzO+AYa z^>j?T8k}-IC9*#c{wDYyc*>dYK4IG1ZpnGuP>1IXhr0Fq2(w&;qH`5OwiESJkp4B{ z6$njzLVhFIw3q0Z^&XhzX%Kzpy-TxKL?uNOK!UN7W5UN7XIdA-p2%W%-hD9>O8;+OMt`Ib~$+SF=P;eHUK)jG4<|lQOdQnGEX4I93bhc_|}n zpD|^YIyBcS43(}rMAbVfyimAocrxp-SeSMAW#O(mgia!4-w`=&vx_q?&pA$bB|>xU z-vz*32~Qo$$ohQNv>oKs|Dx!SO`Sk~E7*nC&r_@i+M$fx)8{GXp$_YWto4=&)_S{3 zbSNWhz44m0j{&>*Ja7st3C`3Tm~~~=AzuRLP%Me~-v8gNQm}`Yx zKiB7q4(pbzpX;ZJocgAHSpYcGuV9BV)2|?}0JE<3v%EP6bSNY1XL**1Wv)l)!s|MD zp~xvC>pHmxtmADJxi1cI^Was^b1TmzkH-OSI=t2``8Ynv9jS< zzbZHFC3#sLn%4>8x^RP177?cIIl{CtM3`-4-a~^v&vS*ycOslF%(^WXX1VHxUGN>k zncyD_j|9IUoCSVeI0Jl0m_KOzH(?j@e+w@`$nTG`{48f5VV3iJ;W6OLg?X+#;T*7e z_erkZyq5@Oy)G4P?Qn&_utFQ}h7Up|}Ey674N?~5hy~2gy4q;x` z1D5`JOXnxT%)8Ul{}IPLJ>U5s;t_VBEZGhgJCkrPDD?~PM`6GHP& zGMM*cqsVz)#;L=)ZA5mIW#-*Zk-sW= z4UJ$f2qTNI7gi{gr5`U{g)xkAI!f{nC~ht zN13#oeCLvRDI@D#yn;H-IKVLvbtofiA6SjJ_5t%wCUhtxYaigbnRg+=8-;njj8oo# z@SDQ7;ab+vCerD?Epp1p`kwIZBEK8qox&V@ek#oVzh9U?_)pJsaok%ATY6mwMNS!6 zud9tZOK^bmM5j$yuPYw5XmbFSe-gyLGUuYlbUCP8nI( z4C^hOBGI9YtU4R0a~lqD{N6mvMj2V(N#2CGo@;^VP)1feTP>Xi(V>j2I@_qT3hcdFZ-Nz!2#32EmcGwn-llc!9o(1D&d zIcM!>Ua7;qBBzY3*L8q8a$WC>4rOG$u8%|>2b-tEtNpWt`Hvw|g||XCLzwg7dBUvo zgFM$#9N;b#`9WdrZ-)?9ogC4jjI26`sdF0+aMMJGGP3snBZ%v@a|~sfDI@E(AEl05 z`$Ey7jI7uG9g(yAQ>c%=NtX*B$|K1dSU3l9m5(8dewM|kqAs0{;1nqG_dGTUGyO5) zc!b<)p-vRx3&O7=d{HeVr4+DG1rum^T${*3w|=xFR0{`9;Dm*t|0aolNj7 zk>I31@)6AO%z4kueGsyq%zOtP4>t3c$j$sEa`XKi zFzcigb;N7Q1y>1EzDSt=0K&{8&?$s`xyXya{O1$QOXiR1lUe>wVYcmS!o?`(0ZacQ zVcPgH^qBVngdM^xBjc2_4IdI_+j1#DIm`YFVYb^YVYVl?FsO49I(voLzAszyH--66 zG2RvaH^TRYhoa1$a6H)T`@!Z>$c7X^@Q(4ma1Iu+Ep4F|X(kn?&eBkPzm z4{^1_-wUD+Wn{HeW$Bpp7<4Ez>oF;34Rw~`0C%O>p^U6^?w3S99pO}AUT;10LUGKA zy#xQk@dUAG)+0TcZLb)BE+_ok&}zywVZ`yS;LGcOMT>6oMGv^Q?ft?B5uOmH zzIl!YeU`<%s}FWD#?0kd1m-_Rxm!3DIzJNLkMI$TH(EN63$qS54$=4>;X;IL1L~we=RV;n;AezuP_Mfzo!?kGf3 zOFt4hWn>+fW>RMf4se^`X_GRtj!Q3#{0)SE7v{YGfiU~qEU=#ILy=QP)^p7U>$#GU zhv%Y*JJ_(_p-{@*3c{$IiJ@5KS`S&>slP7pcm(!PT}X4VGaz`WHd22n4sh>?yir*1iw{K3@!&&Y*1y?%L792&VZ>Q}juU-^sgrK;MZz2>vMu=+ zgjwf#!fXo`OY4Vev`-mX>!*b}OK^a@UUVoUYyI%|@tBw8DHpCnINy>l66V-r_En(I zGJM<8Sq{4)F8<+`h@3KVg2>HYI`VRS+AcZ^(1+!U%(ABm^O~|O9dqrS5W-c%(+*|igiajb7Qw6iZwNOc{FZPk?3sFF z!Qq$_oXU{eOz%m9a;#{uq9c*-dwCx|=~to`S4(V>j2 z{bwX~ev1R#PI%g(jGQ3yEU>;8!EQ$#%Ej2 zcE(fZMI7M%22VSbkrPDzPmzCw@VGGBHy2*l#wSHi8CloHr%U_xN62Rrw9mYS@F6Z* z;h07_Wn^6s7a^|W1KX84l#z9Om_nT;IKY|b8qlGPtm6aI^!u=J7ROs0wU~WW_04?; zn{=u0Dra2Rx5j3e5`S%~a${5E#-^~bDQs*CvyWfddsb z!r~f>7hBw7@oJ0PEZ$)8Hj8&zyw~Cb7W4D6mhG6u4*HbJqZadB4wYwEoMrKNi;FCt zZt-lgjNx3%Ds%0sywqYof7Nk*t;Opt-fD5D#d|E?Z}B0Ek6L`f;&}8;JuiR1P}#MZ z&+~NN;qx`+LW_$no@FuL57Bw5-r`1!ms`AsEOXg9i#J)k-C{ncQ~iAwAGG+0#m6n? zvp3DlXM4&+$Q%^mGA$lsajwNvES^c0Ik&>%8jBZO%=c1sUS4f+o5dR}-e&PGvdrUq zEk0oJVT+Gh?BHJ4c|U4#s>K-=XIVU+EbD|Ki>F&W+u|yV8_2S*SZeVKi`QDb-r}tm zcamjIvd7~679XkQ!cKF*@y0&pG9%*ro#f26ZTRh9+c^21O+-UJ~i`Q7Z z&f-lLZ@2h4@>zag-DmMZi;q}*+~T53xAY;xQKIT0F(#nHE=ATx0QKvaA(b zEM9GKo5dR}-e&PGi}zZ5z~aLeAG4VM?nl?CQHxV8&agPk;_((2Sv=k1*<>!J;HoTc zuz0D(D=c1X@p_B5THHyNwe%i~_gj3(;-h3)Z=bL@9-kpp&fmdOcFD3PA8B!p#f26Z zlV#mL%i?(!*IV3Z@p6mTkY&xk&f-lLZ@2h4vV1PsXYoOck63)1ET0|XFwZC_T0F$! zOtOncgd1aVuEkRoWAS2(TP$8}aht^($mzbFZ5Hpcc(26=EIv#g=I1?T zF*k}-98xXSiIWe zHj6iqFYwE@&Ej1a@3r^ynSiH^RT^8@P_<+TSEk0&3e>_pIJ!)~P#Tgc7 zSv=n2B8#V6JloU zi&HJmusF-&@fH_ZJl*2i7FSu^VDVCmS6IB(;`J79wYbybJr?h`_>jd%Ek0p!JU)kM zJ@7Y>lwFHQTAX8Xp~b}(&$4))#q}09TD+WmiQj+LSiH{SO%`vr_&JOBkuUY_9JKg| z#m6mw?k6Rpv{Q$k*M2m-5oJk(*_ti1vaX#l-JjLRf7FSqYWAS2(TP$8}aht^( zEZ%1EE{peCe8A$v79X?N!QO^mOVr|2i!&_FvUoiCa=#vm$ay|bC+GXz+at0#cqHRs zOVYS85^8|$YU9S?*c-hWz0|w8mwIb@srN)L_4f8s@10)i^+l!hre22iQt!%M>X~PJ zDC1|f8{g0CP5HjxOFh27*Bg7k@1@>_#dOz%?-ebMg+to|G zS9+<(?_Kt${^I!ju@~+3xnAmB(o4NB^-^zsFZGu6Qt$p=>iwdZdi#5+ceIy!{rF6@ z7ws{umwI`<)cZ;=_3C@6cXu!K%(LWPT<;6LwDALUk<_92jXMH8a;_gWUmoN8OP%lxnTE#!&Ka1KjmQR8l7t z^WfE9X}}(z&GLJR>eSw>fW5W_xMnF|fo1QufW75-b~p!m>eOCiz+NIMknb>bLU97T zmhZuUJwB6?$0o+4+G`Kk+qB4khnDsxS@w1W>;zu}ulCIQ42Y|}{ji5^f-a}_E)Li` zaBKJVPKCDGn-M7AQP{(FYnM}d(*pMRBawQ&*IM>&3E1N^tDf4UHefFm_Vhl#&a!u3 zz#gA<$>U&CMlIj!fW7IkR|Jhtcz(vx>wPL<%C|pY zZ@*Q(uUhuJfW3Oy`&|$B$A1F$+;8IjQe0#wY<<8@ks%DD{!-=_He!V0eg#^ z@!cF556Ufj^8)txJmP(%tJCt82kaeR>VG$?6N;7a)MNRU1njNFemuYHrB3aAJ7DkV zvhMQDg|gavFkp{++_$SS(POkdV6WG)D@+3Sb-jMcC9 z_QBp|h^y1t|aV(y((}g{7vwBz3BmaQ4Cgi+}h>T-q3)(+`GE#ug}5gT z36H6ytNvC6>@~ukybc7dZhPMi*xPGeFNUrzdm97x+F-Az{>S&M?Djnddpdu7%d)pC zV6PMQvRN>3+P=>O>}4%?oY~OngvU_WRlWlOd&gk!4@g(1_FfCvTLF6q(Q!MW*aS~K z-oO6{*xQH6979Z(Q+t04*sJ+&cmG=gZM7Hf7khv3c|uS2J`UJhZP~lcvX>UHcLMe> zWOX?$-w^1Lb0uY)Wsl>VmhX~)y+m|USMo4WdszW{2VieH(mUbr5Ixr4)POxc_qYdg zb!u-)z+TpW;rmb09_Tt<<+~wZ?>X2T2t9RbuQFh-eg(ewA@kAQmc82o_PEdAQ+x3J zI@->a6P;-7ZeJ9&t9%^+d&f>;?}q_;b#VXWrvO zye~W*pH0m1(Hyn@UJuxt2O~$J(Fy-Oc z;|T06M!GsJUkdbWdqpUe_LuvhtmV5nU~e8C5U@Vfsl8DFd&|*D`Q4OGDEa=v4uGyKs@N*!!XAvHord*sC9cH3L59snhaR2J9VLgYWf0)(OQQ!)y8O z4A>i=j>HJOIJI|Mz+TomjL&_2d+pFwdk+Nd4flVGKWLBdS29noBvd`py}rL6GPSoO zU~d-ep$fa){~_;P;G-(8`0=~D$&$ySNr)kkP&doNBs>gB(16eK3b6#6n)fC^fDXBqUxKZgEAJ$fOx7eT9Uk-f>6Dkd1P$QBd*8 zvV}b9oYQA!rp?GmvCo(WmY9?6&`*0x8Y^oX zoJ;4_R;`v6FT8$fPVU0*-MDzs^-FJ@v*`MwoEsNjmllzeI|rW-Rv{!=LFij-Z_URv ze`l&D!)j87F=05FZ=&a$$b6HshLxGtuzppevrL-S&{(g;)f%?4rm?c#xpG=n-KwR| zl`B`TTiVzpP1AELRxe%WTv55EE|^`@uyl1@Wo45KAe3h*ZliU%hHoWi5(t5*{+Gh8{Al zzH+4#oN0CStLu~w{fbYEq;nX^Sft1xNsI8p0Lvoj9%vzdNgz?s`Zs#&(?3n5^-n%& z{S!`F_kat1nnx)M(ACHCpev)W=aI02VQ_=xO~93FTvkET-ldw2xLpS`vfy z!Lm+(l5QK?qgUvW;(z#4K#{*h{8m!&eelyQWEpZ_?py#MSQFsl&T;_yOW- z7xwD#qdFYuHv&#o^e)XKlrcJxRr93j-%w7p!#B`(%Qw{5@D1f|`-XCOP56)X)tw0xc1?qSN+KXqC=KV^`kkE!keOqtgiA4AahTR!OF^u244yYVaJ zJ~PPChleXS1cmC$z4ELU#VMZecd`M>*|cF(}n!kud|M_@^D1OSCjGk!6QxD`bx6{bjNwwbzVLZ zrYyYFg#R6U=x|+-9fg|Wub_hphD_3V8MnH&<|dtEELMY>wMq<`>Hn7ZT3qL7b<)3N zPfVQ8+HMvy9cSgFv$A`vl;E=`?`vy2b8Y-RS)tw~w8<9c7BTf8|F#RVCp^;A8m>1N z{9)TxD;w#khuwZA?E$;%-?VS9W%^m!W;<+lERXF*z-+kI6ntPC0~~}D<G`jHT?C1ga6)t1ucvA0HaV|Da= z+r3d$t(SxL`s-RF+73lk{b7=1mSOEs34YppU*p9Z3J~?9B2eQaNJIq!X z;}{j06>Fc6a}rOV?M}=hNSmO38HQHH{a7^9>}4q z_FO6y3_AAhJAkCY#3!HLasNI~FN)c+bBAHVH@f(V3vFiTcU4_HynjE7C#(0xqXKR20fHww!SToJM}>p%j~+;??15T zSG!AKI=_r(n%R=0dc-6Bf+Z}W9Afbv?H<+Ds|8j)R}zsy;0uPh5B!L~)x zoPd6sXs@WRSzB2z3W9}AQ|xv1HLGV$te9eNXmpmZ0H(a-@UiB6Hym8$lsvgzF|A|W zj&M&{bMt}C)seP)@f3^EXxypUCr_{4+(%3(M@o*+(Aa z3uA19)v-CB$zH2e6oOyrD9Q`l5Zc@tHNQP-!D;!q#!KesN7+(sq1j8e&kMyfrjVCq zFWERRw8~>U9P;o(u9GxjAYLjCvsQh0ONqB6boTq}imax3t2BRptoPaTiJrvw+e)^( z{ac$iM|Ju=zVgXy@U%VrQ1kaUw$&YQy-5X+q`G6QRq^9ouanw&L;Z8-=6}Dpdmw&( z@0k}~L``2Nf6|0;4?n&)#PvH8yX&|9?Xbo55^?-<&1)Qvyo+ZzrS|k)d!y~_6MZEtOMhh6zme9jpeYQ-FpW!W2&IzHL0%$r-wL>FGsgjrR2hP0Ju zKtsgg?GH<-^vaKXeb;x7^;^?(y2-EbZ=HVY;$JKiU0_woi7YXC?hx_HXeIn*E-( z6Q1ZTPbJ^}NRhXraL100&*kH8f4jdcC1KC*ls9ibdJA=KZN1kP*6N1Y0o#Q>k9R+2 z%`9(6R`Y{1cI?>K?%$6oZ%g#?$UQxSDgHxk#}4^V-kxyu`IHacN5Adux3}NB$LDWt zJLd7Hc(hg+n%E?%8LgZx%krP(OU1wO7md#LscSrJnLq!Gt>E*`qjz30>FOxkRm-j( zX^VS&S(wc_Kr!2-q<_d8!jsK){!IHMzr)c}TD33Bd!j1ZGwQgd%@>8?2wvVkYA~kx z4tuMG&x~#Qd$KnsGA+vvY9=Qmu>K^!d_oRp{Xy$x_#Cz^;D33ayW@AJPfCxrVJUlwZPeps;Wmra#C*2#Xoqe8kdw{! z@oa^(jC~&OiHzv3_`_jsJEA&1kkgMu`FBToAH5W0dwf^DGAejtw!J5#20dYzvD@xt zi?oLcdfPiPrnX?#TXOcEXe=>wQm@OP_rENoouAAQ{F(7t-o56YQTq-|RGvDeqUcX$ zeDQ@T4^W%KpPrjMhAE%DW+Rb z$wmHW2EHRD-(8q%jh3=Tcwe=6!(+E(TyfKstnnX>Z;eKEQP!XTD))VWra5mudj{gr;XNrPJ8itno*$KMFU@vD*+0p)+e;n&moG^_u`#;J{6OK| z)8CMjL(F2P;Ha7i6$@MA=$ek4Km>^wU z7M4E2l9myg?v&mri!ThB{+yha8CA7$WY^lmR@d{COujqWysmzF;iUAqNcu!b`jKuHauwS6lUu>;qdbGqcLkhqOup6$+EvM-)KV{NPI z-S$g)*};bDysl9-W2?hTOAl=RYv{Tb^SY{$SfyE9yP3ZQn> z6Dzd4pnK?E~Y1a1Y91MS@rI|I(qj@0X7MA$aV!cPscV8kUo=n`>mbH;t zsyTUUTH1l;(le7%?|y8XO7MCW?7KFx!i0Wl-60yEd$az;LozrvLbRH%0}Ys?dF!3CD#vV!~PpY zyUmvS3ia)_m}zXc&P$}Tfzu)8cXFiu;Zs{>~hnx28i>J?kpovV4HQ^(5@STiAb>(f$s}HBHz*R@gsU?u*ykpRC&N z$w}C=E8g6aCw0b}yB``q>&q`Dmmi#Ql>IHr9^ZD>)ibVoq-WK>t}}Zc zC_VA(S%ZIj&!2Xt!y=zJaR9GS9cH<=_W<6*J4|wOMzr+LX#Yb|pDZ$`U1RU{*iY=S zx2~EwZudxEM^;YyO_9O9@m}bG7xM)fNzP#zl*_>(~m?;fwC!aU7>mBM;pSP@tB4OkAVdI>S*D=z$gg%R@#993N5he3(y1Zy=c+o_>b{*LKe(1W}%bIP2a^-`wW9jlARA z(8?oS8;Q@lDkTJiTFbj?@1{G#)wT|*_j<|>)4z@6@6Q+I=UnK^)t6t(G+n({kQV*B zoEZD}q}J5IWnLnD%1Nn~cGxc*U+rX!M?aTcKVaJaNuu2G7y2gX%U#SgQLbwt(c-_Q zW`#QK7fO#r#jT7>4^4>MZq0o(@`k*)SZhwyg|3+N2|q2#O~^>E_~}jhF>$>ZQ-r5k z*9LVsY;a4i>x2!V!Upq&K8xOltA}jJF<&SQ$(?X4?m$?X|FdP=E3+nU_%dxzn*Y&I z*Oip&ipk0i8jF7*%DqX9WhKUPD5PXKKFk)-}nA`-E*I)mAl}r^VPZO6IXRx zCDg2PRlgs1J;uZ3PJ~F-oA5oTSI)EIE~VlweZ>c6(SU-PG+^Lrg8>Ekk}E_QFdz(g z=6v6?!hnB7a&3O$yxR7zf%BU!Kbd~ye3m75{L4G)yLr^nYMJ8ZWutXF2;H5+*!wzVAVO8~jPLA*cQP0^j-c2^+g& z5;6*N(jd%GoN)X+7V!MPJUKR*t%-^DJrgxjsVNB|fJ{ zY#rOue;%t)&Dqs)#avKyVc^3HonsC4YM#y2N89Occ{ zf65Z(%ftvwmz(c3x6HWEa?J%ycUZe#w5|m&2j>ocDc#@W3z_9^^Z2`Pq|ogjq3p+3 z<(^bto-WEM^x-Y8D@@r($No9cFFExLBa7lCysOwt8*{Mfa8-0k$nx=}j<)#@zr#Gm zcEjiH%XXS4;q7?Vu5|2uJzi$DMHJxuI8}K;TAtApQkv0*H{)49c8o~5C1R_Cn;Xe* z6vu=nZ;p$R>pKd6ROLQm#|}cP$@MPwMV5E@Qf(s=+S^lS-TP+iUh}&9LOrG}hYq%{ zce~!Ek%!GMjo6vGH&oe)>Is>3d$On4anAaoy3@)VhHztqVx^}PCcKL=21F_PQTil`XQdqXVZChJg$lkExc58Eqzj<-nvBmz}>!+k& zKef=E!v(3LWy9YlV(qtQ>v;~#5ci1e2CMbf=Ht33NbJ!iLBq-DN zt*Md#AH_Z%j!^9Be*5^go)Bytq+a8;OtF2sIm4+a-?!NByUqEje6)4kDPQZ+^>jfv zg)Q_)gQeVcYd-03{u%erPPTFbZp(`wZrvNMY{DHnxbvn~Wp}kFB=z>ruqpl>et&zL ze~TS^WV;@FRC8z8fd^%;Il-ZLd{y@+T9RU@?vw9x**f}v7RCF|JabCU%ms<=1%H)i zr;m2~AKbEOzQ>;&pWsM|Pc+Z&t|<5cv^yp~joq*W$6kx0@@YH)@bIL!e9S zGh8;+SvhNdNfl*iGL0Hw>>cZ5Uo_M(iDl7bc9a`}X*ckLBaIT{+HazAvhMZ1dKr zR!q&8bo(XOTeQ9>WH7R~xwKa|8chl_TmK{{-~M)yWAdoC&5p_6D(;pXlMfdc;qy0f z4z!(V>za-MS@8?~gMvCvKhHA@pQWwepE{>2F*hWB_FLuwyOh1jpY3VGB-9<27B_c< zZDfzH0fOgsyad*Qlqyw2gw8 zl-CitX~U-&KC|=E{9S4O2c!IHrT&blv`_IWRGNO|@+wPob6RP$jx)&;lG>g=Cth#r zu#YYKsI;-FfbJ+dW@^N^Q}8Wu%rpJ8oNQU1o^FZXT4kT)_rw&8lsqw4A5XGHC>wCa ze?t$rKBCRVvurtk#ZH!32v^;-Wew%#)ro^rc#x9XjdGj<&nfcJ7(}d%4hpfpK|-J)_N05T8BXZyS}Kn?{@3)hG(e^EjFkRnN< z3I5VFO;r(8g;s?g6oUzi(i)0$CP9`jRWXGg?i1^Q>7U4GN;tS^y9FQPxk?Vr^^b7i z**wjfX6M?I{w`l}r@0_oDh$oOd!HlaaGd*6_rMRc3-`^czl&EYxGwvcLUuFi40{w!R>+fzR{rfX(*KtqX7l!W0KRBTvK|1N(KPdaYy{|p$ z7|u;=EsBr3`sL1!tUbG$_xOFOJ)vBC_`Gx6zM1{~_O?4`wC(n{?P$Z}>TBO?NeTCP zkB9nZl7Gi}G1ICvP}| zqp%{*P09jn>mI%+o@Hi#?shStdHXN8EmGUWjaT@NPYQ`n$j1t1(u9!QJPb!RGY-+T zKCFY{Y_P1r>Omh+Lk;WPYryv>SM78~7L_wee6 z*oXEn+@6qug_QTm1$T(lcGbqKVOMBO!eXqoCQS@2%9o(VW=YSN3cb_cl1pNpZ^>yh zqLyus&B{zVF55Gr_&MI5k|`Pm-%qcuw;f5lI;yxTG&#h!(LO%Pllf7)^O$_=OL8fe zI2oZEtfiGvbxl#d87AABw5#p&i|sQrZ;BmvYWjeD>oaom_|UY)Q5!7yppe64Yp`Eo zPn&@vX2wpnjyv_y15KIEr{ucvq0rY`W=eWOwqFsoVMM9JUbi^PwzhOJL~n|n$~zd6 z)RhTOa~)tGynO@P=Z*494oBe8-$$0{&Yaymf80wt%Ue=EII1h7J5=YRT}-(y0x}N~ zoAg+Gp*N{rF3C(w%S0vY6S)DdG=O$bg7k%kjeEg0+kc}V!&+VZ1u-SKQSACl=Gm;apt?=`iBk-W^ z@VdjLR}vymPJZh+roXe796NUAl^;Z&I>(Ls%t`&n&p&eWBU#EaX8-SHtW{3GD)+sH zPobAN-_`xymgotgwlY4CL!E;;gV43$uHMiT_ZJlGYuj#Rc?|L}2c}s7z zx1!7DdQQg4Am$Ss4Q_i@wwZA+qSZF;6pZM)WNP@fJ{%X(lJ-mRsECz^))J!aG(ugc zI?u}XBEQFKU)*+LarBa8hxtnExMpXcxx-T29h!sz509p}omFjJQtY|yslgIo$3Nui z&|NJVMVEyx!9#IocEhBgi5~c9_!her_Rhc^$Y*0_O|ABzwPo*<`h2hw7KPigpA%$OE(S?lP>FR z@5S@-1a3^7l}bYUlVaxIT=9Z0VX-&7(7)J^WAnJ(p;e<7dy}HBXbO{43tkm~%g_lynm`a}GpfVvG85N=!NuWRgm!Bbxy zZ5zS&=@G?ug}r2UBt_pc(lZ4|Udf)V_xM5zEYckjUCHgKU7q3_WXRoNvxRs3T=uRE zb2~@(JL8qLZgfmXgb^3oE!Eql{u2 zF1#%}dpRzu%q@)V3SkGVXTIDCQud7%xzCvV5BmMtXWU7neAXph^Y^r!*b}{{)#EwZ z)K?+*J7ZdIl6ri7PPr!%#B;aDwJerAJJ1}Suz8l}JZ9^B45}>_=_U9EJmHp*>%!*Q zrbfU8<_Eh#Yq)3BV0@PihQkK9f~$mPxP>2l691hghfcu{PMkq~ge!#ltf-ab+3vG; zW%(bRfomJMw1L&EZER;@;S;|xTisH3Qmor%>5O!DCtb$VoaV+|$!6;YTxLk!-MqCT z!P6O0c*5gvZax$DWJuNM0`^*1&xF3oG_5N#b$#z1I>2r$K0DF z7-73%AFu2+qVxUe`8B<%yX%*0J%98h+V-W8d7-zAyv~LbV*HM2Jk~3Pd-mcTAobv2 z>RH_VIQ#SGQ~!1Q(WRaJ_C33I-`h2zXVlD12UD>|-((BPEe~s6+&p`%dEj9gx~R$H z70vowSePfKCw}gs0n{Eyf6^$=s3nh}XFTz3JN&PVxy&7A!BcR|)9balQRg;aZ$j%s z@uAHanU5XlOp1H>#kq%EX11!NbryWoq=-W+x7yBBiay@2_AeM0sed#7VW?h48E zAvYrny|yoML&9>OIfa$b>?bC;{vx(0-@K6Y)`iorU+8;7zc(w+Dlo5Luzj0iP2+Qu zM!5zqEXhP)6pom`u&p_h-7<4Tmem%UHp8FtYHnT%Mn!K@%#MT(haV*o&07y(@`h-(FWS{7LjV)Bkm=d( ze)LjbLP=zEdz9;t+`Kz#+aVbUFUcf8uB)LnQrT^Q1^x6Y-*_y=s5QL#HlZWDXJcIC z2wTMNjk{Csh~$_T?n~aC;`0>GkxRDscVziyEZ8k$dH%xl^N;!$VBcVO^vTd2Z=Ide z_Q$ppfAp8!ks$wT%1xf5zsF$LdSA(Q-wX&tXvZF`@-ZeJY%SUDnPCfU#tOgH-zLVu zo8Cd&{(|-#Hp4P;di+&udi0IQvh_F?Z#J7J%-(I^YeT-QQCp8p{~W9=%VD!^EbeQd zhs30VMIf6rJDv^C}m2M;82EK9L?>9h#bF z&u=Tu_veOi>tfSoJ3}UAavwO8`@j`L`@rHYt<#xk6YD&&OO;yQ6l$+(t6S?Y8PX1hns>F!%}(Anu6UDM}H znsD^2dqhrEa)kSeXty)L%2RcBTx5M*#E(3nJ!3lVmwjuSH)VRAW8KcnU3;iHb-O3j z-VVo!-r?zvzpUeKx!XCe=WKmnRJYUKbJ87_-0e(qI~}w|co1&nJL5Z(;!&Q%Ilj|5 z#_Rl6=_I=^)SdLLE$yA*bI$GXhUZkJWO|e0->&I8y}w!Z-@l04WQ*+W(b#atqPG3C z&jA&9E_~s(__q5)+qP_kR!m}$ZyZ)W#+@{-Ys|I(_C{Em#Y*Fz$?1vzzGrf{JIQ{} z@o+1A&7G8VPszBR)2?!PpHC^V8SCpqQMi`Ye%h93#h2mWwY9AFN6UR)U-%X4!+bHm zF>~87e-OdJzHN*DVSDEsQ`2ULbBr~Se4DLnOlPWu1)BdrKbm1F75E%oSM;RV!Vae5 zSx)h}J7&x6n|r+5X3NJT-DP2I_u0J|@fTCHKWW0wDV<4)IM>4C4=vneM)qO{OkiTz6bV*O6P6*0-O+YmU^EjLhvylnga;#w>@4FZi}#*I5uIk?$6W^JWev@>p**7`8v68ntqi_N;)CuoRFt~ASd3| zWwwpnaE{yHC)sFKWB<{Wvuj42+kbq^^6V;qQ(VHj^>Mb>m+iQ;1z(#joA60ORawO+ zEw~GbHx^|Z3pb;iaynj;f7DbqLMj`OOG~-;TsB*BVT{FYe$K96n_F@vyyrGA_g7o} zR;lAzxjN$L-PRK_rpfBCxRx)v7M!q3_|k-=+{0_Z7Y}SVAP4fdyw16``-Oj(B}<*A z*nU55-84eF<(MpWJPt)$uM)Yt7Py`g@-HCoSmioi%X6}_r&aK*jJ(Q)yn=pND#J~~ zFW^{WgJkQT(ueG>Zf5qc-JVc|3U~)D*dn-NwS40;-|JN)%+_Da3CoaBmM2Y`WNz6n z+pIua9+f4OEAD8uJR-XuppJq)a3WWSuw|F*@(bQC$rCefOQ-C*kG%b@vZLeW)0^c! zk8Z9I`}!RJ$HH&)VFGA=4^JNoLGw4lp?G^Xhhh8G%dUV`dx&-BYciP zxX8bFFAz}8kN-u$UJVwyd4PQNMly``TQ-(ect1!K23K}Gxr@~Xy;!~RxAT3%>+NA;}CoZrgXd4A7?=`YC% zp4JK0>!s;0@VrFa->U%=o(u%R6C;7Nd*;&O7YQn?2lRfR&stxmayKJ5;N58#!(+r-I zw6;Mu#YbJgW@&eXv`mEI`B~naPT7-@-VxutF|?yoo|ToI;V-oKBHV*NZ1e0($e&}e zg=Zz>Zm1>8TNsg*0hPSLdgO=M8T(Sk-w{5*SM;!|)H#Zq?Y~3r^P<)M5s8(aaI!+L zyQ8EqGdnMI%ch*oa<<1`m<+YasQ=xx1ogj5#1_|`jBWAS`RD&hztG(3zw{4ruDJg# z+=+`j{f69kT<;&kCsh9st2NZ@P1eZhA4gUHcv1LA%RFiNApJvlgYXaG58#MZ8?=a< z_zQX!|0oH?23k=?sNxgwkS9m5SD$4`C1`6d+#ln@9jm%6*n5D7l&BsuU-6I5OSC(Lh&N^HSG39OnB-ws<`*%IrV)UGkTZd1~mvhz*Z zo*LDRz3efV5riN0Z0~ANMi+1tZ?Y)fgzq|5XW}OK{NgD4Vtdk28TS{GUgW3a(M=9~ zbIE*DrXxRE-GvulcGmv+f}y7TuC)eiFTX~7gBZ_E$KPdJWd8#7o_S^v}KWmAO;;=lH8}EwV^c8*X75(Wej&M`?HFkcHzXxY%A+A?QEWt9;zdI};qbl#itPoph z?yDA?xhVfK+hs+0;~eEr73IfaH!$y8w%a@XgE-bl7R=Dj9(np>^5ELtVLAKc1;56( z3;t-HYU!P@eg9)}#{u~z^ZC$s{iCrYfOyh=e0jxTwmt5cpj^OCUb}yYK(2}eU+v4xp<)*Mbr*{{C!GdVkd zhG#@}g+IHX%{HPr-(R1fT%VuPV_N@O_2k0a*WbQ=lJ8#UNBC~?EfJ;oc5V2&J3|Zb zMlvsAZz#$X3oOrsu1)JVtxxvdc{s!qE~JXzI*$#2d66$!4u{}EkT_z6Y5&ch3!a%C zZ=u_B4eV}SG-KzY`^@47)4VWG%6%c2l{OV8b7ys)*%Q-=ZS;7bZSGNgF$uf1-XgBv zyTZ2pMSdQ;Wn8_BFZ1~Ljh^FSZ95NmpFaoD?A_7Z-j>_$ z59AFVi70y@Tcf(_v3wWr$rvAAXKVW$n0Z+g&d!xr0IV6Yql@j_c7Ml<@`>A`2P2kr z^`v0mt{3+Lwj>-nnDXYPqu1p=W1q8Qi3j_*y@h^TWXh(4uXX1qcju=(G0K+gRR+Z0 z1o{(gf$t0@tKU9Vx|Y22ydWmNd9SR&!=h}GNvat7f7m!Ac61Wfp#{Qf2}H~<=4v7^e$4ao7tm!LJX-(f0mDcRm>?HfY`FB{%Z%S7BOW>fXi!+uPf&XTMFr5DX+w=0D zM6r(AKYRMRI{u%KXPIn&#yk?CJ!90^ftdduh%lUO`n&>%9Q|C&p8|X|0`+7g5Ga?8 zK>s8EMg+oe`bU6oMqo@BPKJ6+$%;OfMR}~mFsv%_6A-fwEbBW68b2F2^^!jufiRqY zy^m==DXw~c1Nr~fpIJWZ!dT#l*`AXSSg)%P2u#yJd)D-J@}G-Qp8ZMqI(e-uwxu0` zd8Z(-o@}3QBM|-@J>P;n^`tT*;Op|TY|3ln zMzC=JHGs3evK5?wSh5T=UGoAX60k^9B*LCv5 zDMS6ob$pNlhI`(%a#=qD^=mMkJnPFc=rit3Is^jw#BW0&pZ|(YYukSTCs0NMtxw6* z$`v?h+MAD{mCKkqi&Y-+5(L6MReMf`JoA1Jfo;IN z>{HH7|ax|($7q1emqfm#5@)%zna^>kif=*8J|_QV1OoLC*XEC9o} z0L)9AeN34j>i8f9Xud&NQ?inWeQZXUE+iD5iVnT6{qJf|j(aSZ@mb;sd>^Jgw1IOs zfi&?SB4%B@z`1rM{tMs~ql_O&hRS~xICYT!d*Eyb(w_jYLCn0`Pr6d(W+bxiaUJnh+;&W9I3dE)ViDL)4|=Vjt0 zIvL{AR6cIt4L$pkRF z{x86_^|=|2s{%rrve|V=AF%n13;a`wK1d&xTbTpPKG#rk@h?QT+{hW z;1j_k{en)OIQxL77Bo< zM7#vCuuUhw6ZjT+2HdxMsr?;F>?=0w>T0;-e5V z|6(1VILCAH%YkcpDuDC3Ab*Wc9;5(mJcMfr8O8*brGX}cM?*3tEAuJSSq8@j2I{9@ zu$>(UTw@Z3(ohzX3se|JtGQ$bSlfKzZV31oEFoAds)Ya5g6+k$KWoA<7fK z7J+(JA`r+Yu8oEhp0+pYR4&m^~yfc8$R{4CV)9Tv{oIn{3hO<-j zH3Znkw2wB^MgsE^w<6G1?_sI})-;FPD#&kzX1*`wLOm}M~! zU09nt*q?;q@+N|BN>9LSUVVcOx(#WgbJI4D-H* zpxN-A%A?Ht2->(2#f$**iSt>e&Ph5x@%bu$EpY0ld=v0gmEWo3KM0)dNxA2N<4?%H z07R?TX);wlakc~H`4jR4>L>0%%y1=eO-~wd{E3iG1VDKWhVzpsBr-q!l+PivO;KqF zV)_GtdWh#Bkk2;P%54Fzjl*n1ZT$QMIAJ&&gl{A(el2iSj?XG>=tKxbU|G8m$RoZR zf$()YSs&WR_T${m{G7W8%uAeU)Hx4rA#4`DtVVs7C{>f7y?wWTijt z#1S$PmLRYUKC`6=)bmdS0`(AIhd_QMGBF?dRX~`J{AwM(oC1L1Y|!^F(<#d5@)88< z;(AAWrZ_$&Ay7ZZLIU#;*ZQIuxMo8MaKdoqvYk!IN_z_&bQXd(=gwt10`uO8Kzmp& z+eWjePUVsBMIca~xHg6#0IR03Vt^P?pJzshfH@J`u>%K$EAhn35Hr(ehpk zo*jXCZ${wwOI?3L&~%>wu8n)#=VTvKhF9wd)J2^BNq&}&Pn>n3{%du7kODN@=tH!P zvA_|>BXAsM-f9E_%Ob9=XEp<8I{B>#+W60BR%^qZzzLMmKr5F#mdjWxm-VnCP%qnz zz;xo8FWmtAN(2YOdISPxG|==j5A`!fB-)hi>_?#fa|i_HC4LhEbuLC*vAM`E26Cgy z=e$E8Uz>v{&pC+xMtm1=?Y+k6S1gkox4>72#^5I}k25r`?DrQ;LV`Y2z=C$6uA{YV-**P8`gYZLk@f%!DhbY_D=os27pBRq(ZjzFES zBM_LEIC&0);|Q}={BmT18weQ(aBYs@*iL=Sdm|8z1Z1g`1d1l+3fw*c4n(01u$x`1nb)eoFNoy4{GrZ;u+ZvofFnGBu( z&j7CZZ6)wqpu<5uYy^PN3H&s0@*hKIX?7j}u8qA%fTIW@|15CkBmEL^t*u7GZ>g4P zV}UcBIun6w&%&ht;M?>oQ?lY;g~So)!`eDz3vg`>_Jo?wvU(6A5m?p{1kL_ufV2H+ zhm1g=JaO7XKCg@u$S2O2{Ad-Y&N09##x!0-4@XRy@j5=|O4>j^ucZ?xPn^C%{%oB* zudCDN$zKFqvwx{hrc~uqW(9BpbrRQXXw>nEYdV{OGl}vpAZ&K(X#uXycRPV=KKvqZ z{0aG^K(xB>nmmDeh->AZ08V}6a~#n4f7i(q*Z602@}KMYysA&29^w-aI}pZGIe>f( zv~hs6hTDOgk|l|8HgSYfgz*Seu@S+7Ks|i-AL0Qdc#CR+rm>Yjyb< zaH^vIHUzCM#-d{eUW?qDa5P=c@%fjZBq zIBjl2ViaQH{{NtpUl@Y6j*duGM9cj!*na1lquN)d?!jJu8+^ekP3v3}*xV!IZ4{g*Hxd z3?_V?yvVD{#UN&RoW}^mM`mf3noQ9$sDjS!UuW4Lbulrd| z9lLU^&Lr^5owY)|;j0pY_(e_MU0qT6-8HKM<}A9HwXkN{!a8SpS3(c7YKUH4V1Qjmai{gSt;6DU*^Kf#yPcU$SQb)o)5v{YB#&GaZ%HP zf|~k<#+2)t^x^;0Keo?kEx26$4j-*c#wYgRN60okT zuCG;1%wJs_)Fwl=GhvvT(-jsq8FQ)XikfcK7p>|7cNj&6UaDNRX5~_P>FPB>KDD%> z(%FdLWvX6USM6-5oUYezNK4nJiE3BXJ68qOZegXfUUVG$M=zeY5-Dg!JrBQ|3MPLa z7*9uVO5JMxm|9ntS6#`Dol~(gNbADNm6hd<-^FkFE-)6TS#pty^PF|xchf6so3j#y1X*8H*|54ERTbLwdKTeVz=CKFpWmy4f7JXasD&{= ztqAg$`Sq1`&iYC`A{SM1sp3d_z3PaOv#PFQO)!5M2Kr8FFg;U&SjNz zYEe1<;PS;k?u^k~KN*YPTNXdf96TLg%-1I5i&Fwq^2KRNE@e^*`b=4b0Q} z#9?RZAOUS+x@fK*UP?Dx4==!xP?@iXPdCiidZC~>Tb~d#YwHufdfpyRNc6~zdlC+a78J>M|R>yw7+5;W24C6wtxndR5Clhp}d8TNu^d%culPM;p!(1ujZ`1-v1IbYA$=2~^0)F%bzeLdGW^9Q9VbHAPy zH2dolE}H*?6P2}yx&qKA>DK^yzB)*$s{nn9ejT9a2dxD32}jHg}vN8}Hb?Crve2UdVkW}z`;i9Bqzqx45pqC$7 zHRzea>xSSI{mMa~qF+1c`TEs^TBW>&-(QqhI3ayHM#Qp)hG}q-WveP{8z*FCq|Z=T zy)fz&U&nCMNf!iEToIDTOmpZmdAA*iDgT% z@~EjADz6dVwzQfnKs7b+@?5p17VpUlTbaT29Q|v&p06$j0<6GNQM?i1wNMzij2k!g zV&`V*sx>gReDx}Ng*2_Hv9h+oIjyF)YPDLUrbe#V14LatR`>rIEJN2V6gm8x>7Wdj zp|5vn>BWY0ZixoKBCb*B>6-%tFpIbj9bj3c(f}dS%M5gdf#w!z04&n700GP*j?w}w zi@18Pr&k3CA-~!{-)f+_bsPYTv?f3Rvxw_50hVRxh+pAZq#p+oh5Szp^iK`6%Rp~5 z(6<@r%?8?Ipn1F%0E@IWKmfB0UEfpK_=ik}bY6K0fMw{&SK(Qty90^9EaEsLz_Lg? z0)$BC_IUs-;%Hb;`vU|pi?{|BU|Gb`te$=-KnVFR1HH#UKVqQw8t6w2^nL@)W1Rq4 zq+bUJU>1o-hyk#OuOI4Z9;F1pA{`D8z%0^l40NA?K4PGsHPFu)=;saeiw6271N}P# z{j!06)jTwX8R+*7^alp|Lj(PH1O1VK<}p?PEJN4h z6rM%=Y^Of`bbtV6kv=idpBd=S4fGcV`riinoPoYzpn2>Z0E=>dG{mq-CiO^0VOb=z zfwmav5Cg3pk!ks@hV&p3_2!6J?Y100JuLe|sP00GQ0^!0d!Z3#N=VLFe3 z17HzH@OnBjKmfCdW48dyBCe|HY3)c#;aS901${b?#sXjw*PHY-kEa4)5yzc+n#X+s zu!!qddYZ@R0kDW`8G2fGdIh#cT#47GYsX>=&myjo>eCYg1Tf3c*XcBQUhxiqMO>fL z)Aj%X%p$IR1y~kw45+8a2M8h0W5WPg#C2#rJt;r{vxw`H0hUEv@zK*M0Yb>98tBOe zn#Z02u!yT4dU{%b0A>+a83HVexb~u_rw0fjpKhQt40NV}o?)P`GSEE24uECo>xl}_ zBFzjW0<#Q#17_9FvRWD0n=L$0{Kg%b}bPx(|@JXG&~wtq`3m3Z5*j%@c!^3VuF%>R^kdFkbblH#|i=Z zhvG6U%NvCd1M4DnEyD6*K{KZ3$4F(;x773zg07H~Ra$AE&xbB0b0&+HzK{x#&NN=~ zh?YK)ixAsD^T~?Al?|twuC(VesTOpg{x#BVpf#W!cd4|Z{}ZVTH2EC)V(`B5q(S~U zm1YzzeJs5Og!YUS@~fo3s_BaT=cJE7(>{(wG16-3f|?Felw(1`Oy@`+gWekhnt92K z!Bv^eAbO2-LlC`AS{g*Jm)3)3-UgBX$I@od8n9m4<=x}3BL@ElWRIGkei?&*1@f#) zb7qQ>ToNxG(jJb4F}P~=aS(l*#DBPLM_Qdo_eht4)_~3E@PRRqB_M{2=e(5gI6M(N2v|suqXs&|t1l=h;1v(4(B;g+qO3#DV zfcCv(p#Nc@Ega}npnM!?md}+z489IF9(16*F6nB}{36X9EFEKTE&Dr${0j|qnSrh` z(9J5%C`Nijx&sLNhbxa5eAUlyklzQIRbb$F@+4^5ogm~Nm0mK)ziFWV3Yzudn{AA= zU;5OLe%?SwSRtqa%lQ^)woj92@5iKRplPogAqMZWGeOg~%LM&|bc0H>ziIDc&^H5r zUF1I~-2z$z>R)T1TMhJ11N|!l{VZs%a^FIT!M~w+)sX%UXxiT)(hp1gvNFdGj`J~m zf5yO`3HmBQ_emo`vwk-U`6E&y2YwZ3Z!&25pGU|)E6p&ZUk94yIS^u`=cKuyIhSyP zijkg|ZU#+zH;MEYr7FkR4n2D->VR~hL4VW95-O@G*o5Q9;eUpAitJWQ1LzVt9? zG_`nhjgdaUfAm-Ujc<}M(udNsYC3iB`TIR+0;WaKr=))d(Wj-b2$8I=pFWko6-1wr zW~j81ANv!*7Zr><&Ox^o*7DfpdfuzbtFLLS;fB7JuHITuB${d(FA^BKys&mYE`a3C zUz}5Z>zbPS%6V&WJZMlOt}$qGMYvIeYe0$|jn(b)gVfz`0A)BC(53Un0?44d4LX|1 z>+&nt=J6CIaGfD=k->O85qvVi1B%*t&hj}6izMLsTZkGdE;pdW;chgnZcw)UMPmIb zX_y0-i*Gs%WpW}%(2>u@7ax?9j*IU+RPjb6j2h-%BDi05#X+AGxYwZP4qax@GlOq1 z;1ExD8LzRvTy!N)iV`P$@E}wQ&smyN$MdkFrd+yu1B?&4 zvk*9nLRq?sqfu7ZF6C(tZ_a{hSXo(Fx3p??y&&kX%Cm**h>C1kr4x-#X|&lgTv0{a z0ab1T7AY6?>gvSF_%K%*mo2R*!=+K)2VUhYhn2(JfT*h*x+<^$68gIikk{W{TvfTM zyly>ZhVCxbm!s$+b{`8^)TCU>5)B-<$jHtQzQ3qitXx~Hs|&uypfgB+cR}%I^==}r zvnq$6OL+lxSv{_*R!DTK)wT2It1^au#U(%9CDU~QlvMC~y=v#7YV0JV))I+fQi;$E2LCHZC&N!0s1GWoOcUF56xSczc^U38xh6YIGz6BgZnNS+>WKvGMc!>m2KX``j-lgV_Lsu+dmU_!l zVB$&OF?xekl(!UB6+V-LYoy?*tY9jyu|cG%iu6}7g@3Q9OUIMX{^WJWg*bo5Afa7s zregR+q0*pDy|lsSSbu|)ZLMC75O+_taY%XK zM6u~GN!-^6>P}>;tXZoJ5<~YzSXtf%rq&^5-s)9#!lQNEJlw3VX+Tvlaq=q2x{AuR zYKEewg=@<5F`mL=mK=01M5RR|1>YLgo-=lMxwLHQI$X0@inI1L$^-`vrkwJnwQD)D zYd1vjXv2pw87R|*@aJH!&8x>{=1QrF4WQujYiesND;BNJTaBlGXbwl#s#<6cx@JOB zceg}&h@ps=QQ?n)JE(>UU;4`H9$$UaWB9uq0dCMWj*D(^sB6w%CFWipzo16o+Sb%B zP_gHzeQ}NZWsxeMsit0jD*J%376li1pHXnilTV(=tMZu|l$QbkMy3IQD&>Mfp2(~6 znHrQ=eRmdl2X%SDAIhupMc(HXnGuL$@gAyyN!`R0e1519#K(IJL6oI!dV)5oIz=0* zYkTf(#sa5ow2Je6T;%;75EZn#2zhm#&wajF;FRTVKk;0|EMDsuzQ2-B9&xQ-#;g2n z#2G4{g_!S(lutp-cSqAR_yFW1kWU`*NR=I>xFv(|IyNnQX)aO^;}EZjP#8DpwHEp6q;pu;I9Z3%|k#dBQhTzL4Rjp9-2D z(YETQI_-!BPFYb$HE*KICy#if%4hXVf4~P|8Upi@M?6yH1C>l~^Hcd}jIn%)Rl)R* zf{3=FBLGGt!~&m!SlE052teoupFE-e1i7l6Cj=_?Seci0a=$fFBe4r*N-stkF=gX-u610ec~jjDpFOhE*nid8U`Dv027b4mr%QUwuw z_4riu5gP`u2q6~uD#YBAAx@ixF9Ej$7k&2|hCJet zD*qOhPx(?E&MIj(Fpc<65c3(1jaT;KA6Idn2OLpx4pW0F{#V3**5Mzj_*ukh$U{BP zBL2RLA4B|073c8sn2P@ec)yDCpS18x+RV!@Z}J~d62BQShcn{zPYy%Gl|4TNr(Z8t z`D|BFN64%IF4|eet5q51y;a56A#T+1*Q@wJ#2Zwc?eJ3-zZ3D#boe$E=aM(A`ZXngUE^ML@czhi;3e+in5$jeP?fE^(gIL8cvCWE10id8eh#RZ;) zSUfx9fB?i8qT-}YD!v4GEG8?am#R1-sa(aWL--727*ALE*@$Vg>7V!jusrG^k9efY z&sO=Fi1T##0u^V!bEq|aj1Ryf1nMD=c%;gY1#UWp4?ryfWym8Qsq)eElIb))0RIDl zGUO4DRQYTs&1R1(LmqL>W}uSk7JjPZNuHfHMakinT7x<;X#h3&9 zHQ>1jlxLkvRlE+d=%deo0G1(8hCJetDxY%XQ%{2q|B;GQO!UR)Kmc6`lqZjPq{{!5 z%BP;kba)hS(--&vi1E;_v_J7kmH!lQ&4yUurnC3}{1$i(+SswX|5MQao zMf>-I0k{f*GUO50)?=b=p8*4qk3bpnh-+&tF*m9Dg%1EPM!L{{4u}exo#HulD9m(3 zvA}6(fr>L9+m!rj#Hl)bnhw8OhqG>!r|XKj0Qhp?)N2~X1~FfcMw9O__u+JHsQddg4QO~8;b&2E(38w zEdp`s5pxr88*s16r@eQnIQ#jRD$e%nQgN0k`~i8XJ5%Me-$cKIPy8B{Pnm2TPX9Bh zw>;ie`Q#DTZhzQ;Ycl@?PMgUiuF24D(=c_<2S0X_uI|7I-$Njub+1uz)@755v+g@p zob`QF#n}%1Do#5GRh;Fg{Xguz4|r6?+4sMjEFqAnU?W9A-Grb4BPJnWpur{>F=$l& zL`9{NKoXJ~l8^+6mfCDY43^pysl}GI(PB$2Dq2cu3pJ~V)MATDTePTX(b5W-S#Q`%JFMe9nEo=RPxY=FFM%XU`F487B&}?2{Bv6{g1Y zZ<04ZroHm`;tJ8wMotoYI@s&;;=jjp2$A`xjhrNQVC48U7@Tr3EjGCJVC)&z#_~J+ zaBvDcV1)A!$(+wJyLQOBaC+94JKh;Ta_oaSVmEa%-uf|h0%l#AwgG0Cf|vrPKh_JG zX{j)`#e89|zgC#}s#kUvmCMdT%5CG0eOwLgw2|Gh&kuITz8PR@Xd}C0ADa~IT&F4T zNdSVbH%@!I_+QRnF0q`3Bn3=urZ9aZBf4`{=7}2G$gXc>K54%Wsc9$RnPAq1J3lpT z7;ud`0%loi#ZKQ(2`3}nF3k1+ zPWUj=e+qNkWx+3fa@(0PCz$Ip^$dOh_64H94=L-!ZO27or;Xg-c3dtRKT@*Wjz1Rr zETr3nnYTT{uOdxH^vVNQ2gFVrIZ5nXhWYPC%1BN|{{K^P2G~m@f*F%TLmN3s>`b^U z$J$6d-ZQNJO0m;MP7-?-HS%~I>x;|MMotp@Y_YSQvH8{J9B*$+n-}DS8s?wp zZ{)ut-73s=@)m^*Domd}!u0u1Vfy3?BDpT6 z6NGb--Y9$<(tCxcqg;HRi+cKeR+v72CQP4ugqfa!3ZS0bYJ{*Ke4%hUxLWv^NLz*J zf0Z!(uNJ2N4Z=(h3EzmkB@eRex)o`8C)L={jNRzb#DtcZI3vvr8-s z(^rML-s6gs6Rd`Q&K9PhbA;(9LzroiF#XgDcOhLVOg|3@)6dt0>8Dee=}W@&b5wXL z4%|LOx4ni6(+{5uqMd&H!c5DA`Jsmu!puXPFqgegn9HsgX1Yn3eb;lsK(iCOJS1Qz zAk)tfVfq;@%rsS)`(=wT^Kg$amkkJW*>%E9`LP80XV@yt{gEF_aQ1%*(`Q(iKI4Y; z)d{aRn>-`s2NlR!&|DzQyzyBY=d(bV>$+0eR|uOr6z00_6E<}yydEi^k8wV~uXwL8 z{T~*l&%X=P=P_aW{_=KV=F411g1!f~FNvMJT6ite zHHyD3+=(u}c=9u_-oWOr@hCu08t(gNx~#y^Co#9kom#tcQ6c4I%j{Fn7c8`+H+ zim3_VAHtiWp^faWdz4_> z;SZ4hMVKFaDMg-KopT%F3_=gZD#}wMguFgk`Jq_uF!u)7RhA=fwu1?x9?doKz zXlNt5I$1-F)X6oXp^fb7q=Oo%lTy*pMs|6dFZP#_E)i}*+91piA#s}Jx(n%@%Fb!p zzk+myvVT?hXGqsE4^rL-#ZDX9m3KWg(gvOo4Q*ss-VM}9d4DMy+Q_cFozzHqcZr5J zvMcYqV*fkR!;1eZ%#T=YRDM1ZJ8fj=Cm#DS%g%jy6ZKNY1hLabc4gd5jg&D>G_;Xj z8Mja)Wy}!`ZDd!*t<*>vuMiDwWS6&@Vt*OwEy4?t&R4uZm><~Mu6$OBoi?)b`6aRQ z!&^J3m-5~tcG}3Uyj|2tdA}_h+Q_cFyQq=!@;Q0dCv9X`-aXVvd4DMy+Q=?%Z;1Up zqz4thBg|*$_bNXhh@CdF^Yfo#AB#4>k9sL%uh?lLyE5*lM#^{|mSO&BBfBylphn6# zUNp3kT^SEjBW27L4Q*tXw|ud4KfO+v`{pdgbA>CB9#TGU6+3NY=d(fVe1^YCnEUKu zE-Pi{JeG?#vMc)$YNYIIMME3emHj9+$MFw=<3;+RjhrO*ABdfO@>9Ybk8c&`xxx;` ze-eHR>6^mOL(ggY{|nMX%Fb!p|AzDfWj`+bZ>0PU0X6*C8H?n~&Uv)cMs{Uq)?L|0 zAb-@*Ms{T%Cw88f@HYq4@Z9ADmp#XhH}b_!8#zhr{0##2HzJ)Q%rbJC_S=xoQ+7_% zUXJv3Wv>-(L|QM*GM;1}KE^);&f~JQkzE-*$f7IbgQB60?8>-L?0-c1x-j#}Y5F{f z^bKX_H0|#peMi}k3I79Ww=na`OV}=-oX2HpBfEU^-nPrkzL+?A$I0rhvMgi`C&c| zLtX!{TkN!v-M;*1u`_QYssGq)UeDWNr;Y6LHkumQfB!8S+Q=?%erlxe8VbKGBW+~Y zccoJ!eb)%l&_;H7%b#7v>neM40EhHwg2C zo3+9`$E_FUc>#mF26z@YCEJ)hKH4S!7m1xVvde#_*heBo)AM*)nFuI`@k1LqN$kca zzkndYd%Fd5ACNa85iUSX0aI&yjb8sQaiyH%L=#*bA{L;F~5KLG#bmgK2NPNsiEpm;w%Ak#=D& zw_ce3ek#oMye~{mw=gyA!sv(jnlH@!E)eE^yg`_LzAwz*1V5wfyM_52);_r;d6aPcy;p-q7F0 zP8-?X8#VXZpx+2RFLQ9&7Nl8Rb{GC3B#50hvb#5Go_~X$SN(>!lw95DF08ak*ABw2|F$xriDm zm%084KeU$X4{_y zoogrWiJdmGYbT}DNE`b^G_;Xj+Z!xx_=m91qka$mAzUDK+Q`nQ57VySrq0{N|G2+^ zn8J;M!1^UqTPXY#(l+6Cq<Z-kl8-zk1w@f(WY5oX_F`bOlTn>Iw(KFvN0J8fp4{IKnqwkm!~MME3e`M*`{Y`Uf`iQbIa;DR1g?Uo=02;zoh-7MS6J~vyeF}E^`%vsWwwv|B&U)~1y`nMYeI7=H&m+=K8`vvK2_ng{!chTH$K&Xt3*-9u_-oWVbFq*qaJ5!WKmO^b046 zJss0-KmDa>Xd}D)>=XM(NHY-KdV9rA8`-TllNu@G)mS~(OB>nw%%Vp6qMJlR8`bm$za}r=UZcg_M!Z@O4D;w~#&}%zS=Nn0YXL1vG4L zPm6sR(*440OMeok=3mNwQrXSE06)}cp{QIh^-G1B_s5mpv{h(IU>}X>m3o^G=CZVr zU41STdjnEGqN~rvVyBIqB=vcZ*l$G|5N18B7G8^Vqwo%-93pVNe&q2rVV0HCv~x_A zj%k-qb3Yn(+Q=@Sw}_tQHsf$;$QfLAA^?H=6@Ai1P7-@2rd>O~Q#7=ZT|3XBM)so) z(a=VA`&TYCyYLU;+oGY3?DmCDvF||2;7zo^?UcgCh(JyfyASO49n-d!2`GGiHE39h{6}b6IW+UPd9a&My&W-E!ZfeLm84!ffwsPqgQOe=d9o=`R$s z-rd;yS7N7)?5>IBQPYio2!BL0K84-b+bj7Qij;Na?ZQ6^Zai}Vrc(;6F<+Qkc44%$ zKFx6xd^dO{BJJyuPEpLdcI|Mw*l8oXc6hzmxvg$iyil0?S*@}!S9Wec*FIN>oi?&- zpI;SwHB&^V?+`m}WT!uu_Cowa;FyMd4bl=})z{Su<%UDJ2$6c)$Vp;1bs~OD zolLQMY;vQgjhrNQQ?992QzshQ$Vp<)1iO79Lvgxdy!2g!ZVS6 zUU&!W_X=|xtrq@AJoam4H_sDJ$2E1>pA`FZNQ1&Gix2ade?EU}!xdEW8Ej zDKFjTcjbQ3&BfEW&{hgPc2f{sw)X+vw5<9O4(Y_98E~4}KfY@mxJD=;t{yn7M z5oUenfxVx%>*^FcZR8}e|4{6Ekg~t<7FhkWVyBIqB=+rMr@jEu`#G!MA$HoxNn$So zdkd{*G7^@HHgb~Ki>Z+|d4*_bBfGZBK9tL{Ty?@#NWUxm6jJV2uC9J3cG}3UuDCC` z-&h?G4Q*ui8!I0*<@hJT{ifBNt1|NlW?TfOmfJW*__M+pNXH9LMVg4{Wq}Y_r_|F% zPEvNazxZKy`%5xe#{9;QFxTzuz{r001UTg?T5um9k$eED8S8@S!^g6Nhk*wR(;vsd zv~!)Kg_&jwb6K7WQp5c&N0`g)F!aV-)_(VI`wNdyGQjURW=d-bY6uu@Nb%IE{A9@~#$m!rL z;XZaLC|I39}BK@-P14!=|rltbx z@Lq@&BJlmz^hq1p-GArUj&{D^dYka`NUNc9W5o}}P8->c>uRZa9{&(VNc*Ra?8s{B(XPB0U{Ff%VC;DeIFqvOAtWru63A z3L5q&T%P(vVDlU}n0?G2#Lls0JN-*N|5@y`kzGBnp+=6gH((k1q>b#3za7-b@z*>b z4h?N&cl=#P%`W^yXc9lPkzL)kihV26^_b`Kwo2@@kzL-N68kGicM5aa4P15?{vnw0 zE%HN~8Q+TCGsu>OeOkQmc}NE-9x6=DS&BR1%gY@d!Hj{gvST80lGwATk>hNp;ta*< z9zx`@w2_m<{)pIFR~(m9vmNO(!rTsd zh;AQwN$j+d-9C~}4aEo_Akq(QWVhdO8`IA177`94dp;@SaHMAnGd~50uKk}UcG}3U z{TERq<5F`Bg@4-2F;wh)CW-4UMOsY#A^bzQN$j+dlMc};<8ux$5f+N3L^w(8voP&t zh7s-%4Q=Ekv6o`nd!^MZ7Y%LXB(cw>H5Ir(W)Hm~kn}MH|`O z``9e{RY;!}{u$C|g;}>dg^sLoj1?XlNt5aTMoyVQ26mI!;uatazB>6vZPIk5=qgoUS-Sai-!d#kq>}6muVQ z`7BUeq_|jdiQ-v`OBK&kY}%XDNtv>na>;SWl=p4SL@;&IWzh83?zmv;@YBu*#omg= zQjpnpr0aya9lkA$#PeNY`r9JR)SN$JS#F;{i=BCSPx#+x3-2pCcVn)L+iij{m*u5= z+F7Q%od#{BO=-TSG(n}=C(Jy*F3fuRNSOX>5nUPUg;yb6s`yT&`I2IDPXu|}3Y#C% zwfP4{LmSz(dDF(aVL*5Sk?W<6?Am+=*!uzgA#6jWhBk7N*fYUio-`x;8j%{>$Vp<~ zC3e|{9Wv{k=^kkml_%G9TyF4WH;V3?VOGgP9k!>w2|F0B_Hg@gyuK`4Q*sM zCM=+a7XT1OBB7rG;Uuy9#m?h)5$3u4n_~*}w3%bd^8f^xBFDQ%S(Y}k%bOVk!1y9; zFNuclX)WQh(qFwScG}2p+s&dzw%tL|&_;IKu9O`cu*4tp~A zFJd2t)U-F)(~NM5cU+rI7GM_k^cR{Nn)QXcCIrW(bfM=VyBJl>OX@TssAsE zhBmUR|4eG0$3KK$B67X7kzM^~f!)5dOEk2R-M*7c4Gjo;5$T6Eva5gYOK#uUFB;m& zZr?F}7QujE*87}glTX=3rd+}-vv;AFRwGO;PmO4&4>nCQeP1r@1M@VGb_RAmWah=3_ko#5W`%Y?xJ;O3 zY7%Byza-2$=n!VzJS5CIGj%%`1_V|gebPow68kc-uSA-U=q_cA>+4%46WqJmfOjfTkasUAt0k19t<*BNek*@SYVz z7NTQTjbmofG5ajXWn|fZYZbRBUa7c4@dmOF{}47II^L?dOYvUC2guSt99C@Fyx31F zdm`&!>?vgFPyCA62ReJ6;v%y2IkObcS6r>QnVg7~BeW`BqjnueH!I$*co$jv?R|<5Dn6q4I9d93589^VWW^&Drz_^O8SYq+ueexosp2xl zwd7&89$FOhKCiQPDCWIdcYN8Tc&p+r#d{U=eyv;fFjXBA?@Ryk7A}#eC+(E5}W~gUj(A#rqW>BFnLr@8oiP zLa`6~y|eQ@T#k89)^Ud7T*U>7OBBx|vlB(AP|SB>Ir|F5?TXha?o_;4@pi?#6z@}f zQ1KDP#}#|f&$;~YeWZ>@Do$6Nr8r-4vEow2Ws3REQs=)#G2dV6>>Y~v{bOg}qm|@cNsa&9U+--YDHy1NwfJwndTcLX^;LiS^4L^!V4gJY)G4xU5`U2&G;e8t6zOBI)qQ>~v`#Vv|gD(+CscMQ2@H!0pqPP0C{6!X2W&VE4gVa45w zPb%iOkiBE9Pkxuov0pLYap~-Nii;G_QaoRAH96h-Z&uu@c#Y!qiZ_zS+GV#W-l2Gp z;{A#bDL$(Bgkm4YERk~@#iJExD9%+}ptwZwJjE5{i*5cJ6t7U+u6P|e!|FQ~Z&tir z@htKX;ipyDHnkCVq+JqP`clNFCtoUS-aalYbW#ifeN$d}l4)hcdLyi#$8;th&7 zku$BIt%|!8?^S$2@nOZ?iccy|#Q4$qPf_ewoT)fZagpL#isvh?R@|((m3*l!*BZs^ z6>n6$g)HaGI~4CxykGGl#YYvNAj`S74`X4+!xWEJoS`^Zae?9z#q$(bC~i=^LUFs| zb&5L`Z&tir@h-*t6dzQ4MDcOO{1Lb-d$Qt@iqjQmDb811thiKhnc`Z-Es9qv?ohlz z@g~Jv6?ZA#tN4K8!-~5VpH!TP^AcAN{Enhyzv4{Ad5Vh^&r&>Jakb)R#jT3hC|<94 zqv9=!cPQSYc)#L9ijOKjq1cCOc&@y|6pvP%p*UA@f#MRy^AuMoZcw~Jal7JmiaQl= zR=i#DF2(y4A5?rq@o~i-oEN&XCo3MQI9+j;;(W!$ic1xjDXvxAqIjj^4sw?54>u^@ zq{pzrIFCHhE?cB{mg4z}s}(mZZdJTS z@p{D@6>m|zL-8KP`xPHje3UHLOHU~F;e6fMhbbPdI74x+;sV7bisvb=P~4z+h2nO_ z>&S8~w^Q+E#oHC{QoK*`LB&TDA6M+bwFkGZWW^&Dr<3J+a+czJ#l?zC6_=6a`g5(~ z7R4(ScPQSVc$4C-in|o=ReV74Va45wPbyBtH5Hf76vckUnTqoi7b%{lc)sFl#m$Oa z6|YgeUhzi7TNLjg=h=O5kK+A`4=FyX_=I8~t`9js!xWEJoS`^ZaRFKGBa|qfr?^6K zgW?s6+ZC@P%l(K>#hVpxSG-H{KE($WA5nZj=~btNkvsW@G6mg0QH#fnQ6mnp7Q z+@g4;;ts_d$Z{`clj5z4yAM@jAtwiZ_$xzT0-iyAwwt%|!8?^S$2@nOZ?HNAZ5ehZG-Gd_u7g&qKL94^uo^afaet z#RZB>6wgy!p}0Zu3dQY;*D3B)yjk&f#k&;mQ+!bI5yi(9^Cgw8?8%BpDo$6Nr8r-4 zvEow2Wr}MRw5&sSWnxS3pJ^VzC+jpFr+H!9wuc!%OWM@jAtwiZ?6Xu6UQ?eTok%KBD-zVh^s(yLwAjJW_GG;w;7a zii;JODlSu8tGGq+O2r+DHz?jjp5ZZJtKu%jdles0d{}X};**LKaX-QN=l7@``xR#@ z&Qn~Zc$VV%imMejD{fW1M)7*Z8x?O+yhHIG#rqW>QhZeL3B^9#_i*JMrg*gC48^&M z3lx_qo~O7%af9L&irW>hQ{1U|v*PWFcPZXSzS_2vgXCh%M-(4d%m)LVCRy=F#p#N( z6z3~0R$QvMOmVH^7R4(ScPQSVcoTW1w1352iuWo$p!l%jZp9}RCywp&pQ6~WI8$++ z;v&Vf6wg;&t+-intKv1}Yit?UE8eJhi{c%M_bA@4_z?M8>+`7M6N-Ho^=XDF9<4Y- zaW1*U`YcdfqIjO-3dIeIS14{*yiRea;?3mi?0UB=-lce-;)9BhC_b*3FKl%_lNFCt zoUS;Fe7(&>zT#rVrHaeQH&}hG;ugg#6?Z7!K%Qln-9(;kc`Lcpau@kV%X`T;Sw29% z+45oXJj>nWTP&X>-)cD#_Zz*pSxzC(x9lf>!Ez?~cFTF>1(u7*WtL}=%Pr3*FSJ}u zUSzqMTw!^j|8c6~@ggS30=Y2@`ed4ya|fa;9-yvlfV#T}sC#&Tx+e#ydvSoew+E>E zWPrLMsN{jv^XLKUatElpW`Mdc4p4XB0Ck-M)ctCJx;F=?>m8tu-+qPkzuiARH$WY~ z6+RGu%Lb@hGeF&z0qTA?K;6*+>ddpB1E@dqEa(7q=Go8z=;p=`te)>2pl;m&bx#aX z7aXAOjRETTo!Ei2s|0lD1JR`pP{;S54aA>$esuubtzm%v_|Bn$tarlzb-x&(j_B5u>&YCzgasFeP|NZ3EOT8=!900CnFTpw2w6JAitAb%6f< zIzU}`fVy)quo_4`XAV#|V}Lq-Q+6QhZ5*KP!2#+v4p6sqfVw{pQ1`(Ab>RW(h7BHA z{arFZ-4z4W@q4iY*=}_M)U6z#?%V&3j(K9}6devXCd8gEI32&)oe0H$r~64i>&31W z3Fsb8*cGG8hZVP)Bf;sOgN|GvbGp83e^<=kW6pt%^YD10=U|LKp7!2|R4Q~aF)oz7pg^2bwCm%pqSe;Y6lkEulh zbqtrp_}c=1xSeZ$&&pF;=Wk|=zs;D}pTD9Qe|wZao(emEi(>rk_!NKqb}pAGKx86yt9t z=Hqd#NO0?YEyiDdXJ0#547Kz3ag0CyzOKLh=q(fxj}$r@y75OGdgn#$Pr3;gQTpaQ^t) z2y%hUISPMnKW~DK^XTvC7=JCF;_rzVf4;~1{4G=d_^o7QIdVSD-zWB$zu(6A8?F2; zSN_cJE|kCZpW^Ss7=O9S-(AYzIsE;C^0x{8zJh5NT>TA$PS;-v{B44W+v7_}UHwgn z@t1)E;sLHeg7e33Dr-=3E>X_)CYK`3oR*{=OFDkH6`gN(U0CV`z`@w@&%H7xSIJCu98a zcYgi(+Z5w(yYhFR^7pd%lgCp%{O#X7^=gamp}9S9!$IP9)`bJ{rI~h#@}K1<2a4})+&GIcR|WuF8YUS`tf&f zjK91m`i@)cl)pz~%G(Nmd>4oduDly!{58YhNr;%ghmpGS{wl^F_m?BindmsVEyiEN zPcZI=FZx?AI&RsWJZe+pPZf-_bGt_QId5 zzfR@P{3Z+2E`R)OmD~n`)vlN6jTzPMa@wehB z`z{KWcO$gaLE^bH#$P^ui<2$Bm^gn+WBhI0V&6SMe?Jr*{XH1tkH0VKue_^c{OyN7 zS6-$re^18v+XH{g(578*`Qz`=$OSTE#WR>jN6GwQSBd!hRgAxab3Hs1MuPMAdW^0Z zy2~Rf>yMMai&<~$i+$rY-ZOIL2*vp0bEcQ{8PV-vGyMI! zAAduk)AdrZyYD!IDvIRq;uwFm=XuP#Fq}(QFKIFUHoRoN|G@nHRQa18 zbK+o-;QZCc_{)VqKV~w2zkrrH`nx|Se|+|>M|?4H{@P;vmA-;^Qoq7e-QTk$V{=O6AZ`kkc`|;^-r|9T!XN1vwy_+>x4hPlfwmi& z{R35DLIW_N`AdoMH?JG-VvV=u z{j>6y8{_XN26YAf_`58|U-5C|4;g0u-ctUqj`5fIIUM)dQ zub6iJUX1a#75*^fhy<6vt{8vo;SW`9%8RBQ@n?QtjcM0J_Q4;TRU|lnAHrWEtZv?Z z=s4|y)AjbFQ`KjVEnH^Au+#nZr@I(B+Vy(-(@l->_ebQe3mRz@kPt#>Vr?=au z>G->I?e8G!uY(1U;L34Bj6dq!JW3s310A`5Muh!n_uQ|!pJSId^EiE5%z6*OUx{mE zqC?`T?nl>OyIkL5IV4BwSb!eLaF2hE(xqr*Mv3V87+&rk!pybj$;0n{Wv2 zfbXqiJK!^aoX2)BA;#bLr+YlD8Fm@|cmBr3_$!I?8Xf&5DSxPzNMFU}FT4ZizgX4< z=Z~r059fW^O9{0YiL+dQMqv0;tBPa`5Cfv zr({i;m^E?IWWPVlSnU7otgOkoxqkoTteh!1#$Gn`D_51waNp>|>QLs}Bjx7w*0=Ew znZVEqAp`eyZ}2p>ENEJ`Xu+boW_&ZKrmBW>X8JS6R*dtHZJO#IJ29upKelDs*cRj! z+RC~Ls|8mrtF^qOe9?j$IDl>8vZ{r5SgX-5S|n4LS6@}J#LNPhFP3$Jo2q01+85S0 zHml{U7B$%^%&V%Ys$WolXO+n-wGEYZ&5d_ql@Y61XMJ;ZW#a-V6m-pZ)HGB!Hb(q3 zl`pAWxMV@Z#C(^ld^R?>M6`>V`_|uBQ)MThUszj@CHh>@M^$6x((3w#J}dk*y5;G! zk7bRhG*{N<7T6*RmZQ0`X7OSa#1xm)E!E5F7CSws8_Mfyq#7~*wC#qiXRj1BxA-gT z%KgnXODgM^VLM}bQGG4b`UZbfb9tk&ffv;;X{fDiu0$I!8kzF@%a=9R!-AH=_F<-}|=&3Rcl+1acKvy8TtH=uCPnbk4F zEGwq%`o&i^jjC zzM@hs!#XgVKgQ;-sj};K%au1+lh)N#`Ipo*Eh%qaR2{W$TUT}U{w0-5wBFjA>+Ais z_1NP5EW>$C)#wrWnTLY9%=VSpZI>p0ZA}xF>Swvy$~yn@Mzcb-oNFhN%c$ktyrq8h zc(T2mZCPE@vW5neL$i#tmoGtkkoEW3*ywDY8Y^q-%dv?(OKU2k`&)Fkc>{_=Jr#}U zZORu{(vRWVMzen!ZnDgdt+^iG4nXI_6#Wnr4?6(v&gd8x)}q}sG?cc?x}!NdFUydZ z0mY#n+xnvWph+l4UmWTwzq7oC^@om#u@C+s!E-M#r|%k4*ckUhYQ=pi|@QG(UawnPKTon`#zoA7dw?jJZ+U3w6+3<*uV6&@;230R^k{?*DR~n`CeXrN98g-bLq0mW!#7=e`B*JM^%Jw$Y!Kt zmRZnL$!%_#+YjT8@|tFhdf2^LuBWpxBnL`si|{RjuBCXe<}7clVZO^YVx7#16u?KSPGb8 z=v2RKakZIjyvxlgU$lgl`o_gfOov9`FpCq*n1fiqZdv2CqO!KRoQs&LB{pNVHC2^7 z+8dwCIAkE9vK>|~oR-yM#&jyb7=Tn)mRC$0+kpLIK{GZDkSmYU_$w-#7O??U;~2BN zys4u>?=+-+8iZkFq;ud2ck+~lLasfuZ3y-Dhq*Ht!h8vCEDMz6;<58F8{SW@0} zM?d+^j}l=FN?oSkTAM0sD;G6i5nFfpEOw@UY{eD+sC?JdEm*jyZb5Z@ZN&mtb7q3p zx=PaoBGZkP7_rtbGqoC1Kg}&mn_|~_+t`XP#M*|$EJqD1K2{eyJp_Y^1&y}Zl{YMC zC|}l8i7kev(`4$qxyDRkXkaEWpsz4ZwXVKyX}xLA<%^nY?lhYS%cC7&r3-7Cmtdm0 z2F+8Nh29oJWIj42GuvO?oRhTx+i^kNGShmin{#8PF<%-$P1Az%ii!np5oQ&p+^p+B zF?GPARW6(wwOvekD;G-jU;)(@?Z(1b9Gl1#B*q`R73>yE;W27C?3d_b%NJFm8Td`# z15u2IeF?hAsJ!4{ahk8@mMf>D?rgn8T2MXCOjy$9h0V=qJ(U#;%s^I(tjkcosL5nc z+f2o%ayDW}hAtUBk?ERG?+@ym%WJU)oG?`Klr6Siaq_dExf(fOh4nMPX;C$DSW{O~ z*<$Cab@LDw@p)C>d0|c6o#nMP$dYYnQT0??-qc*U=#IH{jj}T3ul&x%QL}Wpx!jzV zzQy!BEEhFP&qE%XYwDKOFKe1!UV$-8B)@vS9Kg@z;I^MUao&~M$){*aYbxecE~;;I zm8kp=VGEsldSBhxa$^I|3My}?syeN18(WHSLhVQ>gOSvwc}>{= zvP&eBv*_>Q(j(z5S5_lr+|7OEJ1_B zac)lD1T2|5H+SL$c%C$O(&ZDd&dGD_a+lA&JckSBOv>_1%CcAP_vXZx!IimYo`Q5A zrZbUlMv6r}#rg4NMM&3W#h0PDo;9$~N7{iDmvubrkTxS-kF*u(2Bd3{b|T$?bR*JD zNH-zfj&uvseMq+=J%n^S(r%aA@JD zE%R{HGBYN518dDPH-|$vyJa33zS?^%&gLz7YT&CBw8z`hBwXqVw3{VL!l4qkL|^%# z4`}`F(cZv4Mn63qn(p*=4XiKdmuo%!HyeFkIF#q~QT~@`{cfK(@I|Aa5Dran`Y8X4 zw4VOUj6OXaN_YAw|F>xU?xUW-O-6rSICP%VNBO@&>*>G5=!boKiL~P*=t&%YfVz0*;>DQhbJ(>=zDrYJx(9x|6;AD|8%22 z(i=MB^ilagU+Z^o^aRc``nP*SZ##XI|IcVW{SPzx{k@_6P9Noeh}Q33;|U}f{mZ?f zmz_S!f4DcMeV(Kt(A692a{4I$|J3^3&7MGy(RcKQI-EYr|A$)7{2wv;CwfCqIDM4= zceQ@^d{5wQqwnkubvk{N|37Ix{qHyWhkHX0JAIV@SG0b2ktgu7(XZ(Zt#SG&|1W6$ z4EXOd`nKLso6|@6|Ap4?&h!Mf8GTD{sKx1{{68I~_j>}HjlQloROj@4{@K?(&iS@~ z+?G)qc+AKvdP9{??%Ye?_#F!J;&bAYw~ZMaSkI~K+j>K{QQjVp)<1j-`YYG_euMMR z=YbJn4~|>ONcSRTIE?f-;z`6r+-&A^W$B3g?p-nBd_;c7ZY5#|B7e)Z5pgTxF2w&^ z0*_65)Uj!cC-4UMlG!hXQ+I{i#;z@VAsh;tBU4|^yhcUjxU~BsPvCdPGIm4gml3Jd z`ER1MGuC?oFIw$)Lt7$R(|vc*?hX&D;B==IemnG|XyJA(+TE;TA1S zxEKw}3cnLtC&I|F=|@_+yUr8XXr=2y4@CR?z82EwcdYQ6p+KxpbBJ^W+I@>B@Q{^0 z99kaj^TAl34_M*1LUpk|@6%H5vu#$oK2#Cy^UGSueBNb+kA!ZE^=S^1k$hg}2`shJ z?}cVZ`>fSISB>=qs%e-r_WPk?2yclT>$z{5gXNqto;ib(w~ei}hsx3441HdNulS^W z+(sAk;*IR8z&uVRUlp2sn!mZ6lQYI+cHYr}Sw{Fm=u!yXPKzPHwKThZc0cwrz0dMn zk9^n9NyK6C*k2KI5sMJ{J;wQn)rifAD-rpg9DZMM3t|`IKE#8F#}R!#?DL3xuCoAf z9wOiO!tWDqLfnOT2$AnZ;rmYb+d)3_T87w+*owFkaR=fa#Qlhe5cv(hZp0IaClNh( zcr_7m7~=ng|GgTR{HSN?J>k?qIB#%UJV($8U-t%{W(&!_J3J??zVPm_*%Q%lrN*@d@R#N!<7VQzA zb>6@_D_jz~T?y&)>(M?JdF_ySPFh{4R7v4;Rg}+Lyn%bI&$~m{Dj|KEG4q^AKCkx% z?zYl~P@$5-=dviDMczQ86)wf_+3eksvYUZ(pU)}YK#i3)V&vQ>h0ls8pO<+9m(;M{V^DJ-RYP*9GJKwsc30@A z64K|mXrJ$U0%NVuFNNMyQuy@K9`X5SPr!_!=cKI&y`hBkIWpSkK2IRU`uuX}_eu(% zXGQtk?Fl4X;XR?=eo8GoHYI(l9425c;VS(&r~; zMr6DHP)5;n(%M2lR#Nyp7Ugq;C-8Uc^Ii;xqqouf(LTT737DbuoU~OK3HM3i^I(+E z`!V>jKJO2GO$nJ#GnVdaODjBqeOB5Yx>rfz^S4nx8$E$NR=7HJw-VB)8Bq86T8k7`1e;MWT3!cEwt?;X%#Y#w@&zc#L`kdnlJY}UTLtju*`22B{&tgyDhgNuB zs8k8*^U-LZ({O#jO1~buMoHn*jHx5reWEAuO)KmO6)GWpc0~Kk@C4Ra={G``$4Kw* zlWxnnJFwE~)`TWN_ll3b_s)2_{0e7GN6~%B+cM?^R&cT~qc=3Rcjh+=FYXPd_s$Fy zUWA2aE-f6}dn|rtd0~3*&iI+L3&->(Pn}taWM+0@TJOwM{F`3xHUB+ z!lS2VpWmCc$iFS4C{V>2ZE0mVarj1CTIs3y)q%FO;$yzmOWV@&Um3Kzye%zjr*HM_ zwzTx*sjCay(nhY%ZhwAtYI|IbclGeV&0Kuc#B0+o`axp*U|bbR_vqwFV^vI9%9y!~Na*XceX}S#RMm_T545#C_cR3cC zg_PgeZAM&y$iQ#wGIS!{gUIjS@;Ckey8-7COWzM?3~q}<{Z9yVvu{X!Km5#l;c=;{ zhr^+F!sCXg{v{lI2Yv52@3ADbmm}1eB~srC7ajK)!5huZbNlCaaq?fqxYH#Nsvy!oM*d5FiT^pCV>|CT2((_i=Xq^AUbgEji! zbC<||&-vKx%$Tz>u$PlP>E{G_nsY2p#-)2`MPr(d#*|)QPg-(bAJjAEbHVLeXUHkaMwmIas&7{CF<|*}1_?frDRs!fqf|@?k2|uv5h)WBa5Y z2+!UZPL3b_@V1QXz}uYHmX;fQJ-j-*E$uwBq2joq+I*g4gI0TY4x)=cP$t`HR8iXV zzQqr9@p@*CCtx;3;fvwaUxnwS|GF)`XJPt*U|0B-;mL#E8VX0*HK{zUkZoel9CI$_ zIlw1l;#Q@30zta&Nq;Q(GrdjBiDTYibE;4k_@&kSAo!%#Y@<~))9rQDp7f2u$NRS1 z(@NnFJjtnPL+vSKa6|YMHt$>UW&@i+quapPNZh`jM30BxMve{GU$Z|6XT;-D@V2zV zzzKRS{6{$TAK{+#&R|d9+W%qJZm(6GYxkv|^hbjq_9>21;Z~c6b#c7~NNW-Kj*69t z9f%tcHzKmV@%zXOdnDzzkoODQIsN~i9PljtAZ*(Kw%u-=P?{WOzaLJ0FFa*-w%Na@ z6lR%KW- zMl2lj+0Y-c=q=tFxe$(C;vknXN0n_E7u)L-bH+@`8Iu?Kom9syxN`G~57O5uwH?Zy zaQU8a;jhB8_n^UU%a|N^h4b3d=AfCPYo2~8fnD=3^eBbxap}?FpCn zgfAV64srdUwL_9W85g%3m*!2kx;Ad;TSFfyUmG{%RQw~e*Ty9t^F30yHg51MgCEIW z8;Ab!k<_(ugOaDNE%&aC8@9IGV{3ZtSPvX+8@DX*E{nD{Zg@{z5|~;xWV#g zzLLP@&w!iZYvYo!+33OS#wI7*#^u_IULV)9cE}^M*SDdEeWY-GBfMmw7KK-J(aWj6)YK#O^N4US2j#z}q!0$ZsJI;p@Pa+oKofrIG zaxLNtM1KExBO<>++={pkaSP%;#3P8w_)WGSF&B})tN)+y-`Bw8pl9}X!f9hYkKsPm z__$S1dIQh0nWTOzoc*nEaoUNqgAZeWo9RuS$|0BS3X2D2oc)-O`Weuht}ysu_!zFH zniFbs{+u`HvH0W>a}o;g3vU~LYv55j?ecq0#Nl5a|5fu}3;(tA-}<=iXJ_SaZGCW1 z$M*-7RbSQcius&Y#W&PA|ubeG}=Y-@@ zX;pLfZX16?z?>}?znVHDoaYN(7oHw}VNd+|Gl%EIU%*ROSeA#kK&8nnD{9;LQGtb= z3SMclWR5WlXfPQn%net+nmm{leziAnEA82rg@aSVhwdMaW9DGHaaIQdrDl=f`h>gN z8rnNL+B-K5%4mOVX!3}(p~>-Ct?8TR-qhmTHonH5CO>mQI5>`Vl*C@zoF}&rdMq({ zcOuGtRiKE@-aRKA^oKj&^dI`Qxz|`gV;f4Fh)kyjrg1Vj5>8IxTFN+Y!C^l)Pae(2 zS4P{Yi8tk(VB11RHj(yhZ#Z}cSBoXkq%MnSSw4*AGL0b^92CAgqam%MJ>gK=@bT^I zkMtyFJQ7%c03FWKwTW416y<9ZFFVG*Fmb}pc=Tn7m!d05%tS{t@|;J8wzwZscjS~wqruETcblJb@ZA?8Q*|)HBd;8!orkkv{CvI-p zHhyft+*@iN9DJ>Jd`1Qu-Z->`Q$Dj_nNwoBqN1vzUE9WAWA7|wyc&F|7wvg#Z_k(= zW@kGsdssC?(vG*Qs#8n?lCR*kE*(9vDq1J^Vrkj)M>pzo=`K-+^*(~*lt%8 zZTD>4F*mDq8kFlkv(i`d1{EiwP>ty?jJSVjYG!Zt<^7cFOVmD--W$9uQm*A@ac(my zSF>3GPm&|$YKUl9t~ySsa%H{1)2cvCL?q?fHohTHNn>haZ!iV^PzR_eWVwu1(_L>H zUlO>TQ^l_aNA%|T-Wr>tlL7MD}*fp@m98|_kNOg|zphf~3!rmjr? zcmoZA>-qou?$p1Z$~b$~5D$99)xnHld&1p04HG+BCw6AsdsEt$RcD3sUd@PaOnc#` z%a6_I343mu^Kju`PR)FE#>!q#`>Pp=jcLJ~KKpjUCt(~iKW&WX!81ATh#DS#w?Pa$ zJnd?%!Lj~-gaiK!uaAH96W)>Eo;ZG7`_OUm811)ywd?+8$EWs$e=#&8&YTRK8|X1z z$wxd|ePnuKjAuWhEjeynybPGQj`dgv--*Nb-JC#7(Jwu4nfjCz=Yb<$OD;SXo_!35 zqw-_nw)o_)HcpG%mXRL#nCohb_x8kN1LMh!K{(MiCvbl^Gt&7S$|Vz*KlB>UvvKnE zKF!&G4)??*1`nD(9EU(|t3#YI&u7lB%L8w5swZwpaKF}=yNsflW>49B;)VwIYK^(i zSnQK?YjduM@oI3F(U{@IZ|U2OB~jnWz8`+(tS93}6$MUmPTKRyS3mSI=d<22rJjnB zRv@+_Zb0PwQw}1YKpc&CEaW4WA~qm)AZ|h2g?I$fHw+p?e%rnTu>!FbaRVa1JHHq4 z2x8)J{F)cB2$A1*Z$;dQxC`+xV&d7z4`K;o17ZgvzhBPplXoNX`{Mk5IKK(b?|<`K z-~6sOzuSErF$E8bS|GZgBF8*A2b+@pA*M z+y$N~3+`A6BWUisryGncUF|YkzPCEg)T_l@rcgc z28#GYYcL~T=(bb$&xp=EPvvw8c)rezd7*ony8nPqw#|R=upJSO!KEb{dVJ>wABWPm zL$rmDqhz?DX2!iezVqxL)Lv~h&s1q&hpn$s!FAf#p(tN(c>-@)+34U`A(M7xZU#AD zyV3amU`6K#dCMn~uUDgdy^N<}j4b8sAaD4HFY|0w#8;}vj(mH37X=%wFS||6*w@Jt zelB-}PHYT*vCq}7qSgmj+i5tlHMp=(vo%WdxW^8FPwWcb+NXI^Yi7XD6UNW};G8~< zxhE9K&qJPo83~^_EaOzO(|aLgW<<<; z2A}Qo)f6RyuX^k2oZwm7m$^|C$v$qVRa@DJU_zg-idbJ}INX!|*!LHB(sEXRgdq!;9jVBG2gVAEY4W#TQ%a1j5(e6 zm#;sy^u<%NN?UQ2#XN|#EyEwkprmaOPd4H(8cld*@J^nh2FA#uqtZs*_^q_xV{~`X zXV|2&SD(Tm4P$9MW4#JbTb)N;YTKzE-@U=7v2L^@{^jLBX%}iB3d`kgMZX zlo-4ZBA54Wt(t*HB#&9ukl>fa6>I2k5!JS_w+BA3lA*z7Bav$}J&xpVQP6aDvJ_`Q_8XikOH?W@|_cYE8yvnI((oY3%JB8E!Eg$kQ{)&~J7uZX% zn`v9xxq;sp?YXCdv-`9!TJ5O7u4rx0XwN(qyqa2jooc7mjt=Y~pea;MoR&KHROFQE z=Vlr2so>|3ZDb|u2mZiMX`ACqNJ~F|%|Dalakelq@HB0|O}qS?-SClq4#w_?nTT14 zxrlj)`G^IGMTo_SC5W>SOA+TG&POamtU#Zls_%osK^PTOFy&9Js7dTEs z4)C)};tD?wXO5lW^2tVnq9ygH-GC1)ZKyjFFtCl=H~1Z zRSECoEc)szubk@7SkzeGgm)d(*Is)4)&9PTy2Y1fPsquckag*#DVHuT&z_Q-HEH5F z|D*{pnbS5u%IHO$*NmS?mM@rDS5@!1aqd+M3a8J#q2$KWs}_{ZEWK(@VaeQSSwjn_ z&%}RQDTlcb!aWDULk3^q!p58N!lU)-25W3`y@Ri{xfBoi7&%W z97o~>GwmiLGJj_vaRaR=AjWhL72ConMdaBF))L^W9Z6Q3Omclw4IE|x_=Lm%l{e%&ZD2RVQ^ff z_?L>$MA@BYA^3V(mXBjXX8b%0X6P?J`(bB(nDVv4%n#cD%g^O+#6okCrXlhZHaNRC z{Btn1NX(~b+`4{A1A-)mUD??NxGtvYh+GDfCj6h!^Jif6&y?+v`Kv~phRAh2j_C5g z73{X%d*H_q(-2o;A!^C1=m4R=ycNLCburB+BXZv;LgeyYh`8!x{Jes6k}%%d=Hcs7 z>HjUYu6O>6b)`Vdbuq>i0MxI$bwj;jYlx4mK@g+o- zeK=;i?R&w0Q4h7yvd)>NLq{q5$a19g83J?nq|f8v+lA*~ChLdxo58mT^Ruq5-M$T8 zAogi+!gfym-D=-o0cKxI`zEdkf!l)2Hbnbg@L1sxc#kkYkvUQLD44(bq&^K9yG{7Z zV5ivvcI!F_X5hNWZe4s-+xUPz4eZL>3QndCaShn{*$!r)A95;EYTf{k748M!D$K`( zoF6_SCBL2jkAXvGWsR&c06R9|bc=V)*}${mbkN8Mve?d0}3;J!c}aTuTtqJWO3J6&vfV z>3`AoKHyPQXB+oqHwl5P8X)p7!7dA8P^2M52}o^N0tCf2AS$+0LI@BvKun@w%Ud^r zhJdt<(H5|@T~b;jYKuq_6>C76qSBUHTG7%<6)kOP&5KBBtL}H-XP+l|5&?O?>-*-) z8hHR0j^Rw6ECaKd zGN1FXE%2DhdAUsWxdhDNOg?SU6Hq9oZ7`(g5zKfcQqF$?_L1KqrRSUALgCA?;LC)k zf$7bdTfxJG@ywTd9Xj=C*e|Au-UOa1{7=JU(Y95u179yOzX9uV`=i||&jEA0(0>b9 z=jG28Du+=p)*0-)KZ0Kr{YU6? z>T*wj)qgB@gilG#t>7z!SAvHNZ#8@vj6b(5{@jc%>lipo^t6EIv5U)c4gl-9Y#7)l z`W0XfET;~-e{ovbo)_3YxxC>Rd2XN=+bRe8kP9$!xlxS0g`Y&K<=k%cUw}EBvkW7u z?pahlr^FjkRb3fR%aqC&;x!a=%14xzxHoLhF6TQ<%a+c@J9CzLBhHwM*9e^}n=j}* zOa8o)+3{E3easj+?&WwN%W&mE?m5ac?{2&f^;`iJRp-jR^9-3~cvaKcm)wzimL<0b zoVlvnv+=gEkFQsI?is5Q@1d+HpK}l1+gjCm^SI)E+>P%9oQ<~)o?$_Fea(ElNUOT+ z+@Ipv)Lsw?A5n_b0sbet;>?^@$K7(3Z>ZoW9<429~H zH5>0v!Hf7tRL@(60+!-c8s3PKDpX445>BwGkHkA8M&N~$b6n6_n)q4rJGR_e0!%ai zctl4-KVx3Jsee4HbCWw;zG-x432ATeXUW$l&$@Hf(%$CU_p~!)ndN>wx1+v3p4Z;Y zKc3az#ygj^Q!DSBW!ibWU6)4Qu6J$WXUbsn?!1IEHt^0NU7Ps1aQ?@Q#XX`gWj7N{H{yYA^2T4%uY*>N+iF#^s)IDc1(c$u3Oe2 z`CV7tPU9gEGx$6Gaxv#;_o`#?clw1*=6Ajs?CE@r(Wtz7PItIV%zT4>=T&GZ#GyrRmH$8ubi-2C(Uk7O>Qs&zh&uO+eTvNF3 zL-+Jf#EQU&G5#Js(_YxW=QAI?1Dn1V-2R8t7>8i&5<;&J5A?!rJbfndG}yC8(#l(e!1Ri$;YHC&qH0Nf6!(65lr)j3~%iA!tvrM z$&Z&W&wH`c^ce4Or|GfYKQYbq{k&WLHC{66x&X|2>4oD(e@rKW*>ZZ}c){PQJA#qF zE8PoQuK=tA>#qpYytw!d#$Mh;JoT-)@%35KW%}+e)7}ES@3(61?8SFid1t&Rm{(PS z4&?&(wphHXcTt6>%F;?)OkjRHTW62NKZxkf?pEYt&inSVSki(~7oRXh*11sCI!U+I|nG z-D)nFSM9p{OAF@RJ)yd?+`}8or!RAB(a{-Vbmwjml`b8iE)u#v?MjypJ@qb~oR3S= zv(b!>?hF-{8V+s=XX?V>o%sBT10-`R?(wQBDp6%T*0fOXe;0M1F2@AEcZba5PfVB|-JnsYcMoCun2B-t8kTYKA0b9F`mcMdBTO@M&YU8ZwVKH z_Xy7b|6F(`7|-fDpIPAdg^R%Q+!72$O7 z?}Yn-edq%){xNWp@K$h+@OJQ3!aKnw!n?rpgj>Lk!h6Br65a>iBfKB{bKwKv6T%0< z?+YIShj7kic@Bdw6+Qxe+wPa-ejTKvPn zJjPHXr;2_W(+Sdz&qO|BsF71e&k}tE(kq1dVe|)_SA3Yqd8v`rpB+5)=eeCR)X3^T zOY{{gpKkn_M}KN$_2Hhl)NN=`dlIe~9sC9{s72)j!MlUoSD#$m)Ny=zMq5t-^dzVYu;U9{s72 z)j!+#e??-bk=4IW^tDJ=3$y&W#-Dlgr$$!)JmdeU#84xv{|?c2A$?ky4_Ayc{>-C4 zHM08W8~;B@3^lU)za#o_q<Hi;e$xB!(JU{eL9-V@MwnX8B8vKlA8MjjaA<#{XrBp+;8!--~`2>1)D# z@TT1OGmrk%$m(BV{QoO4)X3_eEa$iY((b}6f3@*v9{s72)qk1szd~ZDk=6fd(Z?Yj zBg}_|mK%TO(VrSw{UgTzixNYPtp4*wFGspinB`w-{Fz68YGn1VH~#lY3^lU)e_Qm8 zNH+-c0iU(TpLz7BMppj@VLE7vyk2@%=-Hw;KPiNDMWy`tyTf&dUcURtvNKw;O-vF@_ph{dXGw zMc7wUr(zz)P$R2+7;0qoTq-&}4;#-fi%yNKo=1%5LlQ%cte!>edP3tc6{B*Y;R3_?hQ}GsGn{KU z+wgG1S%!xg4jRrh+|O{j;WTnS{$U7U)bgho#%ZBl2YPy4{02B3{RR%a1|ZY#U&8eG zP?+8x>WMM*yF!>{xkZ>|j0m&rypPEEAovwwuIq=wtb?IwUyNbhOcQ3EeOZ`w`9opW z@vnqg_paZIdGo;`r1U8OyFMql5L_wxRPc9%i@?V)GM@KH|1Qi2L}!4t|Ia+eP$O%* zn#mZs4oZ`Cp+?qrl_`1%>8FJGAnPp7E7vc~qdzsW`WG`s{KrWQHM05_ivBsI*9)`! zrJPs%nMZ$WWc4p&jQG!&7;0qozf<(3NUMeU@NK#AXCD2jk=4J#_m&3R8E^3ioEO>#iDCISb6%-`=Fy)TS^b+CBmUbZh8kJ@pBMe- zNcRZy-rHlwpLz7BMppl=#{Uh8p+;8!zlq+4^dA}nukFU4dGx17R{x#GKLz=Wp+;8! z-lF$M+DDl6v&;B1kMmL^tA7h)q<(TGh8kJ@^F^oUUdBtEPY|6NSv~hLMm%{f&*f4h ztLFmI>ABx{-Yz;dvU(mco_y~zJ*kn^vq5xv9yFd0h)#{Ho`;O*7Kx!oR!_HF?9Uur zIfdOi3cETHZb6)$mtFmf?zW?_+wQ__D;m$XrOY;}%r>nYHOzfU_4S4yG~8f#t>JpZ zD-A~sFE_l*aJAtI!{vs{43`=%HayGlOv5t_7a5*vxX^Hc;e5m64CfinHJojDxZy0r zLktHEXBzHjINfj>IUoNp1TgCMN->;h7}(xtbDvW%6GIOkAHejxM3^2!gz0^mFlQ+e zW?8->%rb5kX4!u&90Z>h9s(ZBeE}w{gQ>!-o2A06v#2oZ@?~Mx@kwFU{ionTpL}qk zZ~?eVxDdQicq;f8!bRXV;ThlzUfW`NCb&R&7I=wpF?hXjDfk89GVpQXa&TW>L&2v4 zoG)ArzC(B!_(9?2;OB)S;A6ro!M%BX0iSxXyCwp!1uqc20nCT&8S^0cS>g5Iw}dx> zQ&QqF&EQnwC^${{F>r6;&ES5*Tfv_a-VPoryc2w-@Gfw!a0_^h@Luq>!u!Al!u!Fu z2qW>nAbbG4UAP!2`-NPuen>AC=9i=nB2Lc>%wr5S@|ljeS4+$x#E|uPJ6`n3NDGAN zf7tjlkN(ui>VJeWa^7)$6~s`peU);Vw-PCzC7=)ek8)l)uQ880HM062V~qH(kr--Z zE&sPf{|?gi!t_6G{Fz68YGn0qGyblxf*5MHuhJs(wjzB&nEoe?KlA8MjjaBsjX%FU z!x(C0E&pFde-|l#2Z1s4|G@Y&k2*E7`g=I1Y5lmq3Sy|)z6#IVoOb}yzQXiRVf9A0a)W}-?e#YN@W`P)LWG(;wGVeO14+_(t*O*#A%%eXwvib*&Kl?z8 zp+;8!U83`|;^&3wKg9UE&yg`NHM06=8UNR1UTS3Ze_QmwBRwWe|KY};c`O?>vifHm zfBtp`W2lkUKTULgrqNrN{<+5AecpjQYGn1#GyWrFUTS3ZA0zr_k&Y9lKd;BN{+Y+J zQ6sB=zVYX8eK3X^S^Y~zza8lUVfq&sf97#sYGm~5i6D;}S=)u3^lTrf27Pi8fmUD{Wlta=Fy)TS<4?a{(Of&W2lkUpP#Kz=d&%d zh3UW9_`By`5JQcu{>{e!%Q7!Dvig5b^!t$33)BBGHcN+g+$-LCa>d!CMvTSc4JuFQBUB;hzjG;zW{}$taT4Jb? z)jv`C|2>d)6Q=)Ovie^s^NvEAElmIY#-Dlgr$$!)1IB-< z#84xvKfhqid2d7dMPd3MH2%zE3^lU)A2R-TOAIx#`qzlQ3MqfvfIjp;Z2Xx=of=vF zj~IV`Zp0XBWc7bc^leCgB253I#-Dkdml|39j~V}$C59SV{a+QGp2v;n>!MR5t7n_> zd{1Jik<~LMIz3MsPamdPPHJTJJZ(I$lNf4b_2ji2=jBT+J}{nhMW;qqPY?Zk?He~q z3^lTP@^=I1xf3aegnXB{`yS~y&g#%f$G*WK7o*-A$u>OPaF*dA({B!(JUxBGU{-$a^^Q9Yj$of=s^3&866DwxZqMpn;vM5p&(h2KSb zTzDncsSvEoVjg{{k#$*986)MtNa}$aS(lX|Iz5XRFXwB12ZWx~$m%)6c;-qBHL`l< zi%!p(#&d$`)X3^N%XrR`7;0qoTp&6B-jGzZrn zgmW>i`vTjLGTWB!cWiU24-x%A920`%N%)5$6QjoTGn{TX&2YeQis3}V!1n#o?RN~s z(10-=Ouq+&nYCV+%jEY;7(>6PFw6A=VJ^Q}m}PGf4kCR)nCsdqO#jz}vyk>f{n4NG zc=kWP!gZF|5~ng<0P}5axDxNtoMb6-IitAkD|9+kFj~IyJIx_X4nP_w8WD zP$TPh|E1_YET<5xo(DvyMpnR?qHIW_kyNdm(lE9m>EL{uCikm&H7m zjT%{(HG?s-EVmyah8kIyHC5)Fj?^9N#DAvoXCD2jk=1{e@h_7YYGn0y$4v1oX1wfc zcS}4qvU-*>M#{WaVyKbTbDij{hcd>Cr~7;y%c4eB&vN7WW0{v4Sv{W?ot_oObC>AU z$m&_mm_q!+uvcQJkyAxqhG|`wS0#oTS(lr}7))~rU{uCxv~wakAOB>~XHhQ0bh>=C zGEbPX{I)4|dW;vQ_grBv^V7mCb2>(?Lw+-s^HL-0`u1atY?rALLyfHKa*OEngk?kl5);~uAc5$Cg{}8_AC>>k4n#(^aHCW>w@}iNM{*Ocm9G-jjZJ? zW{i|`rp!x?tez#J^W|x2j7Q2LfKi#-Mw#tK8Q9(q`EB)d8ergdB{PBc{^3cDte!&{BX#>LFqcb>te&p#A?3_syp;2>#8V@y=Wxb|r)vY4mzr$@ zZa;#~{l@J_;Oh`m#(AM}D8;B;YeuQ1!3I|PmreSX5gd6b>gKIw$kLqY&uYlnc!--@zA{q4D_W(T7%1N>3v9;%XH74VP3`z_r-l!u3Lmz-UY&pai4V}p6m2=(SzV0nwVx`*2h1M{+@6a z^q@b!EY{`K!t|eF*gYqJWwGwRZglrd4s>pxABxUvbAEq`^+2EP!i@QyFt=?YDn?_v z33K~jA)F6>P`Cj6k}y4gDO?D4pDD<)5^*1bo>QUc2p54z3v=Et3C{q#?;9eXI}Pk=7^bznB7L-E6nwJP1sAucOgv-f6JZaVT}78BA8`x-$Mj*eZPcxv>u9uXF-n` zeT6W~`CX$&h3WrOVcz51ZFD}1ul~H=C3CrX!o^^B-%rZs?)!ncth>y-%Y?bCuM0nc zbc4~~5#~DnRhY{PK;Uvq!TG{vV7_pWIyR?wn=oGgS-}`Nem*ZT)W~{F-Y@zqNPjKNGFKaa z=Fy)TS^bw8e?EiC7;0qoch93j=YG$7e~g(9UT*yVB|0^-`bQWe<#*3fU|wqOISSEd z$i7eSS;DNtm7G`3FYbGqn3oz^{p%ScKFefYYGf_{O3~@L)_ATGof=s^8;s{e5<`uw zo?AudvkVU!&nHEvMpn=D#`6`4p+;8EBcjv$Eny!2HX8qTM5jhp|0rXm9s+VqqefPL z_xuCuke-_vFLmple}GQSKL60n81cM9JgJe@(>?!ydE1|V0MAK@_eIs;J^ujxG0bb9 zf7ojLZxerNWc6Pv`oKi=|Am{8)(G?1?w-$t|Nnxw(^J-KmBdgZYhCR$%Y8^!23>$12Fs1HUO6sG?{&^mG1SQF{}s{cdDwV$LGNlzFL<)!#h>fO+Zpf$_XW;;E6f%pQ){S|_(l z3^lTP@`c5$=S@fx8879Dh)#{Ho+-xDeUB3JQX{M9qcZOl^eLVcK8*CI!XEUU!Xa?L zEcaQ_sgZTLX=b^&GuT zHL`jJji-CQ6y>2tR!{d?KXkqz+I_zg%(~*Ww)zhje`;j)&ochkN(?o!`d=?Pztj3T zVQyzmb6svhIz#xu6!@FvGLJFT$hzEYv)nr*h8kIy`#(A_`f=YB=1Z#Y7iK@xJx>dN zzN9+WEO(v6P$TPd^UQL$NDMWyE|<$-ndv#scs?sSHL`l<8&CJSKjx+OvCsX*v%q+| zX8@p6Bdcej@pSL^KnyjqmeVKw+qKY=gj12G2(vFb)hvs7TrX;5T~?72Uao(>H=Jh47 zkr>bW9N!U+VBhHnFTIbHZa9rR4*xJ9+)K!C=<LGUI$1lJtw?*N>MAGsk_70G;#k zt(J@lAe|&k?^}hr%-e)nmI=alBIPP^-bF~cNIjnOwh?t|WUa#>SkFNVz>J|r);c`r z`l4<)u&i1qZrw#kSEOBMoYoKT-=+7V;(0etwd*)W~P5lVuVUL`v2=sS};vtA+V_!dhW2cL-SPpLr}B zHL@-%i!st~Y?c^mWL?&iqSJFYSUq=$PK~Ud*^Cj-{Srfste&rmPS0GhdcH0?HL`l< zF-APwB!(JUJ^w2@J;#C7^CQuzk<~LFte(9v59@~-Sv~PlmY3c)zTJRc0(SxoX&9+< zAg7AnA51-f^f*RslgA7nHGIVIVZ(0~yN`hw{CU3-o$K+Qa1h)V3!y*P`x;@^ z2Y*z9I){0}th4n-|Bf*0)m=Lyp7qUZRL+|R=CgQYuKqaTd~m670oXnJjhI644$-HA z-SgGZi@-jdo9QzH?5=CTGr{f}1Uw6Tm&6o<9}+GFw+NSkj|!KAUEdhK0$tGH|ue;RnJ0BfK8mB)k#)qHq-a zPvOnri}|bpmfH*-E&LdGmhe_^t?+j6_k@AoCgGjnw}fHsoi;Ha3GaeF1fRQdSuNn} zh4+Fhg!h5JCA=T}jPL>Q5#fVie`?%^oF#k+Tqt}PTp!bhR+Gy2QI z$DsdRnCta{iHQjxhu(%UVHW;jaQ9KMj?~uo#84yavI<52 z9MbEB-$a_odF9><^XN~Fto|v+f4;;}BdhC==97ro;jjZBdceg@pSLsLpiCD)$>-Fw-)I*<2g%oYGn1yH=au+h8kHtSBXyV zHNyO!nfu-u%D^8;Dlp4(-$8>;jjYQmG|PHae5jFiSvy4Eg_QT8xh?pkQB#dS^QcoJ ztACO4|ETh8d?35<-E!7oOKuGJ8Ned zfA@Vf_){aRf3fi&Eb~$$tN#embCL3Wh+6(q@n;_Wsgcz`V*Fo_7;0qoclV_+??Gt4kry5wro*H7Pk=6gRGVesBVd38(-Dv!oM}KN$^^Y3=FG>tGvii>#y&UO6VU~Zh@n;_W zsgc#c+4x5!h8kJ@`Q0?m%lp~i5a#>y9y9*#UN>T>k=1{z@qbw6rAAi&ZKCsjwtF@M zJ}m!sH4;g>=JPcx}k=1{`c=EouyHAc7-qSs7{M|is z=+wySf5iCTD?Zf7>c2*G-XnL<+rWqAKWhBl{d4Hl$m)O0_-_^;YGn0y-;cw*KZVBc z!Lgph=+GZG{>-CJjjaA{#^2pDM+`N4&z$$)IqzYluL-mKCyhVz7(PtI-J(+?t7nn%{HDZEBdh0n(fNa?KN04S zw9YX8+eD{ER{xpC|0Ri`Mppk z%%eXwviesT|C=R-8d?44h`s=6sW5*Sx7zqKkN(ui>c7nRe??-bk=4IW^tDJ=3$y&o zjX(3~PmQep5#t|~7;0qoe^m4*kp5VhKjypA_%o0G)X3^zZ~R*&h8kJ@e)wyXe%&y4>xIk$aC{l^AMdUG7fC$Z}Un3^lSY_W{xQqtCk-FU$S5=+wx%+!n^j za<@nfHL@;uFJol6Pf83mvM%>|(GMft$9P%p9?_|hb-DW)Bg_50#84yaat|;@mivap zP$TPdd8}kx;<5TYVg7*iLCz~>I3+qYvX@uY+wc#=)fgF1jhrgFYXh?(V3>@N zG1SPZqR$h3JJQ>Qqexjlj3;Me)cxYCqEjR5eh~!ge(?a9^HL-0elY}`P>g>VeuR-R z)X1sD_=n-g7^!m|voLD>F43uxH6G|CV1MF}f-wR2);YNCl^ADN54cywA&4;n_YOEX ze_W?=$i~QPGY)we6VNx}kdH9|=Ohk=7!zoWp$KCFo*m*a6Jr9NtKm?LF#*pxa45r= zAkQ#VkXaB6%P=Nj9d*$1yLKh(!cf&+y@~G1DLl@^xUz}PHm36y8)h3*-IYP&R~o&+ z@J7SUhS^rsr^WDo!-otXCChecGyH+!6ka1sOuFHq;o*k!3>O$KGCa$0nc-@(w2g@2 zwT9Ol-fVcQ;a!IJ89r$E2wB>myN@C4?k5N*VmoL|8d=(Brr|8ZxrXz}(uSuRo@uz$ zaE0OJhU*PKXgF$^{T1Cu*oRPd=lT?EObqV)E9}mF!pBVfNy8qtx%%+CD$4!HvJVb1 zoNbt&duj|n_f(!?xR@;aZ@J-RhWY&wjp6qPmHGLja1ihKCr=HayO7p#*S zsB(efB69C|%q+uYhWR{C0y|3>B8Jx*UQd>DI`2^{Z#BHj@IJ!_4IeRloGg8V(}wvR zwd#Bqw{oUo-pf@z*Kj^r`WRCU&oo?WxWe#q!@Q5G{gVd`M-4w_nD1QE_`QY?7(Q(H znBkL#`IGnR!~2cO{R|H=oNaiV;X=bR3>Oyxnk%;r)gW89r*b z&F}|?Q*e&bb?5sql!Jzc8_qLaV7SQeEW>4ns|`mC^L~_Gv#cjeA9b_gt%i3Q-e;Ki zj&$B5hIubY_0xtEan4ko_jdHTdfwa7=j!8o>nH!`Bl+lZ@v!QKTuC*-X~zv?@c(?` zW}au9>rW&0la||fo_>#>XWWbD8TYsIjC1{P#D3CxT*`j!dBpLZbLSIRdY*AB&NFV) zdB*X3^!WS4^*wZ+aqpgI9DiTqe3m=(JmbcnXB>aa_Pg<8uC|#N!6@d5y|c_m3dX=S?`5 z>!8P%58y}6myG>$aeo?p@ghtQ#K=5e1`O)rw-=e)w6GF~#62r&{mQCv&l)R6zfVaV z{lZ=RmJP!5xvT&gw0!&ywDsHg70=5S!?&5dw8}WNh z^cyU3EMKIH->kFveWi=vapQNX@#F9A+3m3sesvUN(DnUx7r#V&Nr%^fEZ=1q8OQQH z+r=+19QTgT;J2fT-*Oz-c}+&YVaD%IUHpz;8Gn}-LfoL`d##J#_HTRcd%g6#0;86X z-`Th8TRH;YaXdr${@umz;5uv%X!Ju7+Wq>$*!ms(w0nI$BI1LVZ&a7K!)J-(^Q6}A z=vm?xb%{HEmbm&ZaVO6b*W4xU1H|zisyZOs4L<;o^W&4=@rUBiBC%e03}GJI!3zMp z9+@NY9Q_&gBfe9>`ZeRG*)m+C(C=#F_i7iv7IZ*x8Q4D1gTuRB;`W^-E``^Sh}YxL zfwRP2+9mD~;&A9_A9T4v#F6tQC-{^2v+-PyYcMj8^-|cyZ|YdQGvo~QJfVwU+Sd4I zp7i7QAJvb)7hu<;3=6vi`8sI%=5+B}yA976Ac%haI7a=}bn&Z)-xVyl4C?o_E`Iyq zcQ7;VHy*L-$7ecOJ{->7uzfO~IT2=}etgcBoKF$M#$U&uPh|NfU{t^DUCKAE5Whpk z8DvnupLFrd{Y{78M8v8ee~W<461%n=5~p;OiGup^y#(hIcN}qC-)!fG`QgXyuLJWq zzK=L_+Veh(xI7J#7*2LW17*ApOA!~*38b3G@Aj~)`I5K)70+t{v;MBfsOy{F#qVG6 z%ffYn4(i9}POabC-^SzU$M2)6A8%7>-O=MyH^rY#C38?errHLmkNYA%W56<|kulOQ z4P$qV)^F+@d`@C!RKLnO)$?Z0U9z~ka!L7!C7%wC%pH?GW>og5tF8_Pvx6Ms|3_wL zU!9v94CdyHLJo)G9`{b1Iw>JRomj@(+RKT>d)rwbC`7zZl!g95rg!ytJhC;gjoIXy zk7B`KbtJSkx-}CaUn!m&v9;jVY8>t=nQ2mbklCP;>z9(3p z_R^3wAqf5ig-86IBuj4u?;MM!=33M+0sz+ z*BJgsn|^oAmWDNHlm3AvCVFGtX7PDG+|VEK4Ehc@Liha=-ZSU+7Ur|1_`D_@{h5ES z6J-jVj*v3-5Q#h|szZ1tPrf*?~WBxDhjOVZZZam%l zxwyUp4S@M2=-@DZ{D64+1p0ZLu0i8x+Hz4m-S_qQ{6{Cn=L_Q;%K0k?$MZMgJ`>}g z?lRw%7shoSVYVa;!uqA*H_C$epmD;4vB9jll}oCss+TM&zw&dFgB=r#7hE}VL{83# z>?^MtbLE0LBgf=sUo~o2@Tw7z+^Gfzu368lp0~Ja&g?0R=P&VYx^d#{@!=akKlP>= z6K7AIGGpTO@l$X7Om>g);VJl!88EPdIdo0+EWpE{4vATD;-QRtsUFhK6hprR#4|+= zxOlxn`2RYdcl21E42&Gkx77?j2{6r&m{SCmD)p3u!p>c?XwkgISb=43{~EE7`_~9(gtb7Oc1%=MF3}C9 z8>?&T$8o|AejKmt;P-H_H-q29LB|Y!w@Y;heh&vJGx$B-)#9SxHRp~1ziU=@8Ye(A z_}dQ$anawY_s!E~vWe!j9tt#`O}Jz5<2Yyszb7~LMf7{zg*yhnd-B3g4`^QlE~yvl zj|UY!xb#B(eX7&+1?|^ubnb=vW50|$f1{i3>7gs+cEB<>jr!}lr(oK&zxb3ky7oNR z?&DM1yy8=x+7uSi{<$;DpU%Bq2K_wR>1H!@(z&7-n5cdkI34{;4m^mEnV&7pEs!tF z`>h4SjJZRYG2aoUUq4|U^mt~XCv_f($n>BWxfW@I@VAh1(6X^Lv+v1aFh(-Vh*Pj* zmVpOf>O+yvHu@r?bK5ay5>njiY4^EKxCki+eZGS0lOT1NM&^PraJ}@Ifgl;4I%wCB zZA00`^9+Dt2uAg1-72#mt6XS!23g8bY`EMo>ri7>lBJxiPvwnkeFhT9B(VA$Qq7SD97x7JV4uzQ|F>die*BJ7?g5q8g$2)pM=gx&Kb!qvtzV%R-T z!kys%Fz|#Ai}s^Yybs@DAl2&n_U99K{dxM8oM+rU=Nad=J7T4Z=5{2l8 zl>0c39gO4t_`ewK`f}eolizXZoF^Y6hmFRMXHxa+0W<4Yjy&x&ay~6z5`wJXcH_r0 zvHA_};#ZG6?Ic=1-dnSN`{Bp^o9nCRF|O~pE`C{kf^AAf6sa<*hNV+NitbzmMx{_cw1?tJfVo(4$_C%=X`#_N!Q29~80 zNHs44u=R2T>%lg|^xydkzo%EY>UNW3BgTh#pC?Nh}jnEUz?gRIELCi%Tnqq+tBKokiXf#%UWCk9e#uTS0db}Zm;4D}zgZA{ac6FK1lO(lJ6!x^>V zZaKcB+U`9@H+Oq^Lt{z*R-acJ8kjw*Au=kOQ__FrYq6G~m**dYEhFpybzkO*(c65< zB_38kI4YXukNUiveSbm`8l#5;zR^$n>b?l!jqH(w-~+ktCQQER@{h#xZ-nqxNB#|% zeB0%}70b+p`IlnyUoQXsc>Z7rr#teoSLf_IsSqKKStI~*E~)$?;yrMV$^|s2|Fyq1nZRJ z5St;KC@GH}WSyoQuj^W0aZb2Ds(YKSZpSiT>kZ!hZLx;>==zjscP|i_gg#B?%_|4A z-sWX?A3e<1dcT)>tE7)e`dU04-anqUL{A28Y_Qtte9&OmraAZr*BO7`qCwSvt zY>KYjl7~aZL-n;dn*SAhVr@8p4IW4tJtn2*x3S2mhT7gu&UIyUxqlkg+8&q2`ydBPm`^_=1|32{k)oIidcWo{9y! zH%>^+Z+;-)zoAD?Nza^;w49P&IpNI4@W96Kg*hdCno0)LhWgiKdN=3xO8$(O`Gw(y zqc8VO`n;F7Nr$u0>1_FEA?bg{?nWF|sLE^IZfCbn}e-evB~)pW75pipK_eG!>@iga$nE5XxB_ zy?0wl-woR~G;KK1h(m2Sqbc02Htf}g6Kcc0+OR*TBm;Zx(}CBwKC%K9o4ygNSsrVG z;oq?QJ>kTraI!aQ@aRW;$?IZuKZ*rbH-?k$|5~i3I@XAw4UH@w;}8^hcHE1zt{Z)Y zul2jJy8B{*=DTAnqudTCDEJ4Pmg}2PcjZ|YgUiEC3gQUT<81;9=M@<-A`g8Z;X8%E7AW3|0Go1 zjM(@h=1zJf#r3_O2Y)*+ zrG75XbL-ZBrTIjo|Dud7kDQp_|BLk{fhm#IX*c&v+~)7TCwi~4tFKufS^a}Z?I3JCv|aq)+52(d*6q19 ze`f2%fuQllj~W`PPYvs_EhXh~U(I2WO_@$7)|W&gi8n7xZ1VZ|n8=pFInjGZ4@g5X z+@iOIeb1$|Vm$zjK0h*1jM1hHd65!#;SOvC3SvKtyA z8oWjrc`!Eo;ynNKaQ{BPP2A=i(&SqixZszGNBrKTi@f334f|uImLH0&NSog;e}3=F z;mm@L+O+(1c3yVTsI;8$MXl~wSJO(r={P|AoG`HMx^Up)=>=&yz6)|*_z>mVG58Pg zV*g4jiG5Mm*P<}aU(DqDb;$1i883>o4AUDi>hbh^Q~Ky|ws|z4>Dgkgp5xW`#%FMm zAJ6FXh1;ix`uBN%AvVy^OMP`eOlW*KR_VVevUA2m1(BlMt;HwvuRj@CnLEGl%>2UL z%Sx_W6DX)CNQ*>H-h48t(cc}-*L!jB!k~WdYE6g2CnFKdinLcNeSM9 zoxbFngvwCQ@y)Sk7A(k33Ww6rXT<-CIpg!kkKZ~!l3y693|-RX3p702v!tYFxFjud z{VPYhd6mAvBMFti_(w&gI`C47FJaX)zPg~dX3i-(dHJM z*uBiJK>JQytD=?;?G9+`OdKwSGrtJ!0TYKSuFUJ9eKW2t;=D;-<~7AX3f9~g*UG8k zL9l4$xYLuHeXa9x5V*(EsX z6OVCY;Mxt99#%_r=jgMwmKQ+pi{JaOi_Fpp!o${RUz`AGAV1}+e zR2%BM=^r1h8k^Ks-?O%)Z*3@j)m2H6n^-XXPra$;FCX2K=S$wob5vkr(af})FCLzk zF!V-W-9(QqS|;_6?+bs4OI48C z+s9iSVRhO*-Y{|6KK>Bb7I9u}AFsx>a%%DRfqMHg_STE0yY_LlwvUpDY#%qVeZ1`E zLHl@#5N7+BzBhY%ynQ_U(X=0a6bKY1PA}>E;-pKnt$}VWgN%!g| z<2dU!3tP+3k+mP?l=MxWMlErD!n*aotk0MK>%eqCo$v(M`rKpVF z6MeX2pM1b*x=()7Xj}$SH!hyE`xP`&*-tfNm<_HvA))!sLqSou3huN z|J0kpp}x0Zn*{OeU8#YB{E2Bd4@t>OnD)7kQs=UMl2AF=e^5U~te=ZfKhs_Pux~pQ zS6rV-3>>{BH)Z66kFsxS$hp`H_qulSlS$}>W7%Q!#Y6oAiPQ2v3QtJIW-RGz`_|Ye z!me-44hLF%PSk79rgSmR4L*$gt+CfJwqhKH>9dX7knckWh`%BDI!2s2&@F)vw6l%h zLq30-=R%DC!IASFjIUt43e#sBpGW?;ld;V)F2?u;j6APBa*mO|tB1ii1pm-~n%}!u zRwHgyt@lM%2Uq)Q{u5hWGO(?_@&13svQiovgLpn>L&~tSfo=TmRU+p_zk+>=_I`%+ zEqG%N#qn^C-~UQzuz&pfvEYiNK__C7AuHrP)B z4)vchw{KbE^iamFa}k9e;qMoES#y&gfY-FQW9#2+;gPdpN6We$38~LEH*M@u8MiKNFD#1*mQT|4wv-3XIo`SkIIsZD#HUR!x@#~ZrBNrBze*3NgNaNuZxCD`iB#H zOx}T=v-gxettBYaf?Qu~FQAm{9WsPaBO%-J_eT z>wE4?*#GpbA4mV$63AF}Z947`Oif*P&BbpeRD=)Yfo=mbaC|AmQ~MQ zd&SdCuelPpSHg+i^Jg@Kqmk<-qR*3GRQ>Q($_KOX0Sj8@)9+!pG) z^jTls7%!ZZ+O5<#X@b|%l74e$kLZS$btd6i^0i*;wH2VR)3ocR|m^Ify8=$eD?8kVp((Z>w~NPlajo?3%iAU-CYY?x6D^p9t(vA44WJBdGSUU zNG>TzttrCND?|ND!WkvuZdi1CF~Z$?l=u=S@9-t>kF~yo>oV3umap}NSnG4K!aezS zw@kj;m;B3E>&wWCUyof@mQm~LQ9B_e)iv_-+f>IJw3cDw!Fk1+p5QV z1UEE0W5d8U_^mIg@735n1)b$UuXW7{0bekf$ldD`2h2O@Ke3UgV}X=S@5fgA zSNm4?3jFo%)!l2a>)|?xFK?-N4>xi{g*^hjLWO+-p-^EckP|8#5eSD0#|EZ{3MU0h zLWR=K z^nvY(!Vzy4j(w$YQcmG*+otqrn$jmUC3IrSh&QKb>iuKr-xuG^C zW!0G5@Ba^P{J1;qwY^e9y?Qh@-FbO^px3HlrLBEEk$!M2E=|K-5slgvm#&?3p-P(v z#HB0h@F|0YZ7z;$ed`jv`~MshwSQ7vbrp`g__+2$jgP_@F=N+h=J7N4NhXHct)elH z(`Onv5A(6^t}2i=`uYX>MK%Njg*blKhWizO+E^c*bC6EL}K%A=mkqVAiFj!-AJqjSbEzEe$SOShZ+Q_1rSP zR?OyAE@Bqci5>BGRp6FI4 z%I9%?%)BmU@sh(VL+W?dG| zsk&oqFnigh*pyax^*MXt;?jA`;;UrlaW#Hd`8=C#=Vd9*mgnZ3&03S1GQL@y5yk!z z8qDzE+{M+x!@8_P^^)p2<+Cg2Raf5gv9eXntDIe3RynV#Y)N^kZVa=G`0^LFXW4Sk zFQ2mjyGXn;OdT&;Qo3;dJ+s}c9j(7&PUW0Mo%WS8$GL6dD$+HLPxN*1u35R3WXpcn z+`03rs^;HSeov6wy`!E{VQhpHh^V@*`&{Kb>)L1i;>_4XNQLt3z4`NBnbe9<0DI%kc=!DcaMzc#pN&N5eCQ#T)rbs_C- zJA3#U+IH7@K7ajiU4||J??SDd=XR2LOXJ53?yF|GU9)k-EXN$B_u!#v&d8>C?sz>q zF6I)@&fS`Q!aPgvstzuhA6ztV(UQu0Ivt}vULLMh)xs~k4PA0i^}MS10^*G?=$6W3 zVV81t%^vHjQrz#E$8V!|D&xoFWzXRefm=AT8t*6DO;v)j{!by=>dKiPk~)b*LSy~K9j_VIH84t&EqH~BM^pPNBE zbj{slM~g7~+Q-YtZQOp!T@u9UF*vfSy8T>aHjZ;eknWT&Rm zzG5&9p1a++`7!fdI8{3C+QxK$l^7nqI=B5Li`@YNr%iXpV6$6Np$Ip#?K-@)zVW@D z#d2IbXI%SPJbny3XY7)S_z7Rm@n?*kv#6rI4^X67BM1KnBvd7G4jcQ(t zo$hgaSxM_9fdTyVY0IXX-^HREf^Gi^zW%2@(Y1lp$9)@8{(V8stDNJyrTDD6Vrd(0 zAciNeC`_1sORwtntv4F#0#*-4ukFEEkw2{J^{F~D9r=;ELn}SaWYmPJE ziNC~l|3%l+U2|xexY&5P?*AbEHLGZ|ufBU^P4?>Uft1y#jgEpbPQHs3&GJ1KO0B)D zJ~J38#+SJwr}HC`;@W+m!VR%VeKbazELVdTl!<%0*dMQ%zfiWC>AeR$ue@`pr&A-7VYo|iXECCpEJ&V4_Q_uqIQ zP6w116^Kim{d;Qu8yj>wR-ZC@X8$^$SM#qJ%E_tJ>`_sCyDfWETW~PS8^4D~kNCRY z?^ZXs`hhF$Mnm494`YFhW?$->=z4ta*>K+jxcRXEbo9Oz`Gqx>g{9|zVtXFW45S8|f+#L3r0JDpn4#^5ZodTOt-XCf==Oo3pF~2} zT~vE}M(ypHVrJJnPy9-e@-uM`YccBboY3VTmc1i%NzG~3Qr?a2eitoe>)(S-(S(|l z)Iyuk4933`!x#C2g%8Z1d+o@-#Pa+({=kmG88!cKb74Pv3v+$wbMyJ**R_L=#6}*8 zg-ZK}N;7gw2j-Lxh!=R|A)UQ{%^Pm^-^6ym>So7|I5z%~@yOre&Pq;c|M-kKrFd3C zi@g)T=W;K@-TDJaPhw0@!1JOQ|KAR*e>_?g^4x0mulc7d*U{MSx3x0-HGiWv=g+Ze zZ^i;EaTB~T*_+&bVrA>XrpvrOYrLAbm=AGGx2D!xmoFRB12-6&eT|d6rXGPEmuJQw z3i$J{W4nI~&m%uW1^a6b$vl%6<~Fu|scD$k=L=r^+I_vRv3p?0umLr{aYfk^+ua(A zz8;hcc8|wkS+^|At!$ms+->c3H7_!***B(JBNm7G+y~@OY>(}J+RV2{mbbtyuep0= z>%6tMH+QRfuG7r@YMyZm-5lHfD9ZYeR2FrIn>D)jq4^6g_9eGq^K@(ySM5_#|I0Bp zV?6W;+XDB&hYr5^ol(g{d-tA{k7v~Iq1#|@{sdogu7_t8ypey41w-7|vqRCqsGM*r ze$Xl>oHFw5SZyL6MXU{X5BUS9LcU3td2%R!BX%Ou+xm4)m)3)B(c|lm< z5iiV~GZ@crq+sqHp^|v@Kk*wk>u=neqW!sBCtSOlec}@dMR7wikmYV7rPl0?H70ts zSzaSbkpiCq2t?gK@x1eCaXydx5eCuuxLSYWsaWQT-OnI*SVHDStkZ;ewY&Yx{p)DG zDfqmjAI5Bqd^cn{#(IpKG498B3}Xsz{tn>{;QyZnY@yw|7!aVoA_KJs_Y2WEZkYI zGw6gr5iOfh&gqr76M}YR&5xfyPxzB|Kd(M)iSCgwXS5?L9IyKm{^Z?H*%(*(5_3t- z?)Z|r?fyx}l3bH_5z~GUo3kZ$--J-q+mUrSo;5?U&{7%`6aLs^b;7WoANn>7`bW|) zlb=iC(%nZ9wU^;WUmzoNMZx^=OR_qTalSzfu@nBZ-Rrmd4-HRySv)xRA-NaD~vpyuyXTvM+1M~V{r zydRkEPu?+cknE$c$95k^VLwdzN9yB=@eY@^`?jz3Tr;Y~pEA7vf~PNuA1a@~p^`i0 zhsiG79V%V;`2DdQfA=-D>k~@~y_~{?S{x{|hRA_(HxHD5>@lY2!UQgdTWmi|m4jQe z{y-QHR{4^q`?_W4M#8>?qEV6jQ4u~Zl$BZYf?J&@VkdklyLZqc!JUqN=H?E|sk`s7 zL|4BxkH*6Ov=V>M9DncnlyEquB-|ax7i|bg0ILRH8t)Q6@uwKxBe44jW*e69pT*(uua^6co}ib7&ulsHJ)diZ`A*LN%Yf^GO@Bu{94YBpbAnZI z`J`#bV)+GaczmQXF?IBUOQdIlQ}|JoQP#^n&gRw&Rd=d1d*q*D*}2g?KOVK%6K%dB z5O{0aD=~Z+wEYz2lKxF41E(hk z0=^xWX2j3cPy8^pdkg%hV7t23=UU~!w!^6C4>5MfIeG`u7cjCP#rKD_59kADo4$0r zF2HtplI`#`OO2K_{(o7}{7@9nK#e|{8NV=j;vccy|3C@cv7w_ahW$xwfY5-o6Ph4*lmYSMg{x3J8sR?Qe9j-m^^ber^2#1(Ze%E1xhZo5%y*xjZP0ZH`IF+i zQ>{PoRN1BD+hY0k(ZZCd+Z6)`H~l4shZ6%UnO@)phHQE#HYwGUqQ8TqeWL3mx?=yO zy&ZUg(oKhA_%Iv)14k!^Lh+(MfkWUQ+%^eZB-`CRE9zD?7;4CVG8k=&#`h$y=KrAZ z-@`Z$6_e3_)lpE~((Sv7xREj@7n zRhPQ^71un9ei)2*4{%!OIL?RX4#@Q5lQf$A!kXN2dq#L}#&Cb@0GHQd^A`N=GU<-( zbPIS|+n?(Zz~3F_k7O0Y0a_Ahh=XG zj(j+_Gim+BXzw#G#o;v1-xN-LI&nk#twV72fE{pfznUMrRa_U_{XMsMo`tqhV#7UT zw#{)czn@ihwi_U_(YQTMv>*3tQOQ{uL-Vrd_nXAZIUc+Gk@$UqrppIprY5JmYWa&% zGlr+uT?j8m|Jmr7Q&a2QqNREM!L9x4T4$~s=hpr5VOU+PY{-}TRPBZFjTApY;~9j* z&)^OTx9Q8V-M`d%-F1tb7tQF`%s$6{YuhH)_0-BcYj7u_AX=D+-SC%5xS8XNA5xsh zb4i$NQ%g7HF4&mqrd&Uyeaap6+o#;;tnE`r)dkNN@j4d;`G2T8`@pEGtKH9J5(vqt zAx4c7brJ&%3N}F0fY?qjVysaEMhq>M00BbFM}VlHXfu>zuxJCtnkd?UsYMGFe9@w! z4VF@@*iuV<(HC3V(w16mQPHBMp8Guetd&_AL(RRtf84uZ&;IS_tiAR=`|R^EXJ$@X zkcJ|SMyf>O_gH2j-G?Pzzr8(N4U2{{`h20eR|9}{djcUW6U8h{;-R^ z9NoqltCtMq0~B{2^1?5Md*Loq_{rHRJ8>80#n~xM>9}-yI=Z~qJNR0RGt6;5$H~3L z#a`v+T_`0O@R&|uX*eNe^hx(Tq+lqmcOWITSF&puH%2-!(B`?)Enr<}$TFbvN%LtAdWq%CE(rOdV*OIwbmEyvQ9W7n39kF@2+2W|Z)^WjAE z#NVdajse*Jo6nWfcU`&cB1~_~%2D3^w2}G-zQ9zE`o%y*a@Db?IMd}CKO(yNX|A_w zvre#F>ucPY_+bxlhMDb*w|Z$jZP8S(^^14}m~S!3Ya}n0JR<%; zrz7D`l>1pWGB+;z({}1OdN|{Hl39m(0TPWmS@i)FVbsa0pHC4+ovb>)qDiAp=Gm6< zbiJvQ)qfP2MqN$Ui)Cf{2cv#HyN=rTJgMAWod2Y*wxv1OCHLR7#d*ViGUwc2{~|~< z_AP=$opE#SP_mN#Gz7^%^9OBjdCn(WsNzSL#1NV*BJxNHqGWbvL$L zH`cM^Nsfqaw-;IUiC`MzlOsrsvlxj+og6`;z6Oa#og6`;z72^+og6`;z8{H3oy5c z{`8i{W#lv@>dE8G<ORYJ9AnVu0VEphs%g9Y zDm(p{Yn);*=N0Q#8+`(pt3#dhi}lDnzR|jip9(z~#d;!l$6n-lNOvN!KKq6%co%0k zavI~1bsPN(tbOD0gl#f?fW-dLpZglmchvcaDjIdN&Pkrv*d~3>H9jah(=p-tv(L;I zl94tb)grMzAOED=9({F9mZE`@lz1={fFdqw}L@Jtp5kXBhp-XCP;sSw<&c zA^K)87t#MofUe_DjK0(8uN(ahqrYu*{uEB*1hJwhy7>H=oa+499F6UgbC6Tw&*o^< z$%By>An_PNjeHY0Cj1as;e{*7$qCj7Ob+o{wY2n1{hM zE+g~32lZaqNk#~N4y^LDU~`O{z>^XH8}`7+ew z*nR|N&N#=x8lR73*ZyaL^Rb-cGt}t(>7@E!VRZiFQuPT&=g%=!pKWyhR8#f1(fKn@ z)$cPpf8wb+f7(f7|H=H>9s9Y%=;XbsWZm^_Wv5I(?>qX{@Ve zk9%Yu_n63ahLimnBM2Yndfmb?rconv9oa79(Wt9wyM+)KhdHK`+h!v~mz zdB1@%YmxN$IUCIBL47`w`Zs_Xi{&*)x{s^})6$X1JcqF^KKtsdn-11%?9+{&3+DR- z#=HhhV;u5Oo^5m# zo$1^=8zuTM=dMwJhHZG1va{nuop`ALz<#D=K;g zMHv0a+Sav(E5Wqx+SU2PT=xa;m$dHuBhZ6rocWVTZ0}VhT6g}`=+B(ja`cZN(Wpg` z^q4jrOruU#eGEkyb+YOcD8i_dRi6dcG2}k3dLx)d|3)OvXO8WCNV@L4wxrQVO}7!t z%Jk>DFsF6ruloyg+W)DKzAs=->n;wpVANm6xy|+GHr07B1B2uiPG9kFrI3u=YTm@gdty&BB-5!CNPqS2qsI@I4p zqERQ8AyLmq5Y7Q|e+Gonhs^P%&h@2HC#NA#LAuuHC_2;i;y4GR{&=&0bX|e;B9hh} z2xk17u~4^HBUty}AAr9tKD;*5ewH%;jQvs5b|VnjF7qNXQY8}SH>=em@j8j^#*t`@ zL*_LeeKn?tdz!vf`eqWkPTsld8q&LQ^sF(evw@=zq|Zy>Q>+>yrB-G3L`qH0tD&km&zoBpP+H>U$`{sFU?LX8T6YM`HYcA<^hhR)2oAl181( z{T0^((Tr=0xwaJpv%icr1xe@XG%#aOpN&LgnXLNF6k#lrRlkEGjAe2J ziE$o6;`&j4SaRyTwxLlcUw}mYmq;|~WIdiAqzI#~rt8SEav?Yv^^ZNH$VfFvI?r3d zG{zxUAQd3}5s5~f%$)k$NHmtoc}Ucg=Lxqdb>3f%3SYs-VXRBmn91*#)t|>P8vV$Z zBTqrv3TDpu&l(>To$0!}?TcW{*-yIiILhM~>vO-OF+TZpB*wfAiOZ=kMpAthSmy@M z1ra3rKZQi2KlyAV)_)a=MxA^v68+ynqERPvU!(pnBpP)!U6)h{!Ki=C({+hJ>x;y; zh9c2emz;$}y%dS-O?@=d$w<^Ik!aM(s(*K7WF%pwziwsjKn0;J0*z}S|WZWlX0 zbxxipPTl!)k=FfxmV5Ab;O0*qI`rCc___J8>-ij>t7;b}{uCUSUHNa8jXvSBin-$^ zpKxK-!W-N}i7KbfH*GCgFmuxE$@6E-oMXhPzGvw*m1Q?n@_8+vTvl1P=$g5;=5No< zmr7L&%jVAMMjw}?^9eZT*R!M-eNI z#`9WkO`6z@=0Ci|f0|NK1=%4IG5u!WfGoDGRc4P%%}KE2mW{c{YTRD ztO?U4_vDjLTTj!ap726E1gu zakIOFeb?B@hkLuUn*+XG+~tsO7TANnleMd#SRj4;^>xm~3fuVILN}PHU%k9Z0Np;Q1=_hHC ze*&`NCr&|jp`L^i8oSkb8gjC1%PtGtfck@DPfkWQXQm|8KP`2N=A6{E7jx$%&Pv9+ zyOT}l;uD{bWG(RbbBA77EL+M|!}{72RH6@9kT^wkkw(^Z$HT~AnvMcjO!cFOAN?Vo8Oi*ZeDkHqD&fz4Y62@7?8oabwyE`NcNH?%HGIDL+-CeC!~ zw0uQU`QD^*b5fbNZ4(v>tWFd_A@`A3LJD>MEXdbFonMvK@|uJ*DCBPAC!|oIEm3gG z*CmzPlgfI_(w9Sl^-0SgPbz;usk|YnyfLZ#gQW5kN##vR<;_XuCzHzml~mr6RMy+! zz8vcO=t|2!O!D8FROao^goWH~NLvmi3ZRht7%(A)+{dZ5%v+@i3%OgKwrp=tG9GWy zCM@K>LSoDOXfmPp ziGo|Mw_SZX) z(}WaqAI;hF;6%as4@oLtm{k5uQkfr7BrMeVQI4n$#Rml0IKSH#>2I$XSRRMO zy>1m!cHp|sGwhdKd2HtyjUOuX4QzF11kSP$4h`9X>$@DW8IMOe9tEGquAYsbe*PHD z_}nttIREcM9z}Y~_3w*;KY(c**=(Hu-*YAZgRtztq|OiG&UDKs2Tnn|5%80)JT<^C z`>L`1LX;EhGp+Oajr?#c8y{Ko!*Uw;%%Ergd zcZh$sE6)vlTgqp+a(&>xQ0DsWbmjSh?Xnz2cXZ(wgVoqy{@6o}<}+*dcgwiog!jp?%-jvbgYc)$t`G1H_^i1z zP;2%y+_o~xt@CH%124GYE(f!z^@}i$iTh??b4!eiOtI@7GO4Dw#iWSNYC!h8^9ERA zapzqxNL_Aq(f?EKZ_&lw)WV#=XKa(^+_J!JkZx~k(OK?f@h_S<$4}ne;XN#RCT?7@ z)a7oKTYQ4gSh`ALA$#<)V-%^egQvS{`7YLjhmZI z-9IWlVDI7JI6@1`F_KrS{Ng5!$6vBu(F8^3u}7K5eP#M9^Ejx?W4AJ|Bb0fLSB@Ai zG#oX|W2*WW8RoH5bsndcM;VS8E;C$ixWaIy;VQ$`hIx+BwrUL58m==u%W%En2Ez*t zFE-q0c&TAvAjoe(!g#%qgL4VZZAY+P%?Cg0>&_?DXXgW^54U3uE?`bael{7`R=l$2 z)iaqk6p74G~-aW!C z$Z0_ag!M(r;Wt`fyfz^7%fb^3FEZR}_!+~m8~)JnnTVw^c`cz_Wq7La1IQbV&L4Tv zpE}<`lG)#rg{cn|<~xYv9ru{+OEU!hS{#^Gj2z*9bGtJfq(u+<=@GL>wCDjWRc_a@ept zo``>r(Q^&EZK6 zHtdck;!|VvTElgQXBl?K6RF!^^o54q@kD&w7-nE0%#H0`KD#j&Jq9TUw?}G_a~;X4 z$UiSU9r-oF+-}z!o!9>Kr%#PAGWUgE>TG9`=zl=I#Bj6lCgiJy+3o|vPa}UwnC(7d zblxpveEP6HndbI)FxUGfBjPI5=K6M}&#uqnAAuBPBQUp)m;3D2U351l!fvd@$BiL73rj}|ik?co zf~s%9F@8P^Sq@GD?3bJK;5)%_(Rs`BMd6q)O(vx??h!xGJM1^?=dhY{rQj? zas=!NGkzNSt$jF2nCDVHWQIED>8Zk8uQQGRdB)!zPvAcbJ~NS6w;gdf=g8-y&1J$X zkS`bJLwD{KUX6UE@P6pu7G8tARrnzEhlSgbuNCG)cX(`KTN{u+Cd`NK{7(37hk);UAKU#=OZyD=W?Mi=W2y8=kImG+`bEiIcIMd<^zP>eJsS`yvva7 z#kp{fus&EQ2p<~v4P|a`<*;GSd)3|XO6t1fnD89<mu`zpCnVKM%MZ1w%s=%!0M3bLyfHSbAjl)kuNd4QkeT0_es{}b_ z(r%mR)X3Vdn;X)u+XqpX8d=+Y2F#colh=j0?)#1I=9RSdq3G1e+Ey-D_rVm@XH05j zZR;%2S&!Q{$c+gbjHJwCTrh?gm}^(Iqg!9`cjMXY`?&EJeHi0o1#duJVz}J!IN>iM z|B^5x@dq8OyAb)K!i@c*@L=qxuNi*J@W+O;;m0`iA7Hptn0;R*%ys&Ka4wDkFB*Q$ z@LPsIHq3`wur1cTQJ7=K`_a_#Kd@GPz`KS2mL?A)VqNHe5&a$H{}7HqAB6#696nHI zif|R)Kg<>`gwGP;yOA@|KMH+|Ft_b5gi8?T_l7?(oPlMmOP_NL4>NqLFxT-mVN?nH zNSN!wbz>aPqkjmWi9Ywj@rFA6!@^vb0m4PlM+$+4LpQpu#8d-g+jL*-+hZ8cg2Sq zS$%4Z4?k~na~>L5eRy1>&g-Lo!rWiZ7rq4f5MljHPOlY5ie8JDWIa#Sv0XVQUM@b= z$a#IcM0>sZ?jnUn|OgWi%yN4DSC_Od}!QGVIFs166UdpbBOE3x$y^KJ_PQl zFz3KW!h9eccOd$cL&EeqPdJ8rxbO(%7Yp;a%`)pwLw>Dr74osdd`MWGFdraSZ+Nlr z*OA{N{4M0o!aROHD9rw}2|tSb5n(>0?FYgc*Id4BN zd?WH}gs(^5#F%n@^##$Xk#*j#ppVSksp3P8tn>C;qOU{#Jz+jPubFjaer^(-8d>Kp z|Be;=%m?os66U$|ufm+So-iMzcbc5n`XSF1=6r|<^SpYVFdt~Qnti}>+Qp(%BkQ=e zpsYTh7awY5^;u(lz9c@>$m-K(eCCS}HM07&8=qz3LyfFH>y6I?;zNzBK0Nnx+@3`K zgfPc}W$IgzKV|gig!wSP-NLUT|AjE?z9Gzg>Let_;rQnX>%;$o&}pei%ISu~hUuz4 zIfio$=NXO|E;Jl9JlJrN;bOxjhDRBW87?ziZn(m5rQs^W)rKb;t}$F|xX$n_!}W$6 z3@DTz;O>FA%1lDV)z7DOidZn2UL}&wLFE7lCu|ducJ;i%zH}I*~iZd^ZnxO!uKNo zw(#$eKW=!3Fk}A8@P~#y;atQ&8GdYw4=FrTn0-4}m~n;)a~<6^r}Vi@^gQV9z7urT zy;bxk-E+3AqW5RpzmkINM zjx1BJLe4~XKRl|asExaLKEvM{$1 z=Q?%nJ41!(^I72v*>`vRgw7bZ ziOzbiKP>>U;F&&PXaYG50^^vHzlGfOL3q5;XBxi4aHBBW;i-ags0|Um4|&Y+^@gV# zc6~-&`ZpUL7zjeAxpfid*s1Qeh3FhR)!nueotf%xTZ-(T}qVt^aL*bps-5ikjK^>w~BkTL1U7~M6?)>usFxRfI>!y0&>4%TtwE<}H7WF5C6(MKS!5$1BY-$@@_oD*$p@#)99Q9r)x8<@t`re2JEkTBy7 z7G|H_+<*_;x{qVmbviY2mwjB?ia-x?Bf>bRyIe12PO5+4_Tv#+x~t?SlBeB8QR?fdXm z*QElSgNqCLy8Rl=7}G>Y=I_JM8DpO4Y;%b)>waCB`*n*j_t^)9xgMK@S$DfI>+TSa zApf;+A#!dK_KkgsBI)sVjOf(JdQ2EhpLV>!zJSEK)W~{FaK|g??8_qYVSkH|H2z}I zsgX54x2eW=$8*G?W{>AvQD(bbj}rPnf)|*3KLwo{S!0d@Ys_DOS(h4F`y2u5HqA4f zYnbD%J{(`&zTB3|9BcLAwp0cNf--;HXYriKFt@G2^ld=O0W*f%)?mhN5}j@SM40}& zgxRm-M)!o-clSO~;=At&gSme0J0zm>J0)y40=*82%=QbBbZoyOIyJJ6ZInLkc!7Nt ziFK)wb!>T!PJKV}HNxwWyScOl0Q(LSeW;N$Mc*bm>)QGABhjgmwLisR?a!~ohZW!-$dz;ck3vkZp~ryEWs%l-)L+;6obeScFJS>UKJ{li>$#H4?=FxT770nv*@=h$3|M1QvL zuJgg=;8M}KPAt>sTI4)+k=Z`WWRAgD;r@tyhw#^sHwx!N&jahW<}%i$M%HcZj?d8P zAAzp^FM#P!jjaBKV4WLoUxp7gyDz)@r4lnrf0=LmLph8|jjS;To0$E?hZKPH@x{1?Ju8{P-NR;lily?_Yp2Xb+&wKDQx%NSJN9?ILr4%jiRmtlO>xtn=z=Fny?zb=z$h z{in!x2w#i%qrf`HxQunFku`n{tnvQ`Odo1wjsGXn4$#V~VsF5}1XGCYrDid><=+wv>v)aTg z7awY5jd{K3j5*Q794|UGvc{~TkM#4);zNzBF&jny0rFb<%esF}bZTUcSw|mWR2;*KQA$t(qHQGJKSuG8d>|< zL?4OyS@EGp)|h$p$;S&U7fCtCa28q4-C?7r8%{M0?2PkeaL!OF^4mZ#ecd@)^cIxq z!+1M{k-2@GI@@&TXfXToA(F;CF3kRp;I@#MpA+Uf@mh*H>+(8DeeM$G7~F(Jy%zZt z;W+XLl8!T%(T5sY$GH%!<9rL4KGeuM&dWrffHqeMZ$=(P()iyLof=u=52jB$USQnh zj8BcM@!h!|I>!l9p);mC*F&df&-KOhk(jT78Iu}WV;&Jb7kw@PYd_sJIsB=SwV$Kt zBQf2z6MU$VHKw~>f?f$NMt_;Z!%=1*sF5{h8GR(?=f#H_Sz~fcS(n@ScHxQ0%UM_A zyK7zeP;=M1qF0#s?(>*#byXF&L`EwWVsiSZuC^cz)t^5!8yaI$ZuW2 z^sPps&KUEA8QWd=ijSKoV7BkBAHbadJH(%H+_@4u`_B0t|+#3V}4C^YGjQ$m_F@zfjx}GnAFG`)6H|} zZ$RUm)|hUdL#KA4dA=9R7?bmytT9>E?dW34_I3Tq$3mFvzpz_(R)R&4w5}Ux@o{rT z=0lG0;WpEIUt#j)c!6*s)}AkxdDCP`DLVl|-+gTyZ_TAioPXzpZ(b?bU zh1pJr@Toz09|V8)h3}mhpZaUU?CMFn`6+w3vCpV&J%YWhE9#F zb1z1pcD%scwJv;O!a7gZqs+GUBj@JPm@HGLM%I|+^pTkFiVroi#;l;vvv`5=ILkQH z$eE%?L?4a363evR0@10FwcRTENV^w{4>hv3TTP!w@d7IoA8KU%{N<~nKa6}LmT9|7 zM5jj9c5CP(?Y4*yHL|vgVjzfhq@^M$ryJ&6RGsrrne$%R>G=>~&R^KY5q9xqAEck| zr=J1mTtr1amju&y91?ZLxIvh)7aILeVYcu3BgfBT(W#Mj9$qE-Oys#pI)>cFY>OIM z$1smRGKOCgA8KSBLpSG9w*^`RNn_3jGbS~%#w-MD%x{3{LyfF4qxAV9USN+P(T5s2 zQ*;+c#x??7$J6y$bhnO|U?I$nkLYfDUFqv?d;M=5_vo5)u^;b7VYcIrhtN~O?m839 zW1bryFxzosBKoZ;GYhlx7J$&KgJ z0NB+?)TxnmZd8eW2lBy4x*b`jKQ*#$$0GW);{~<~i9XcGx*fSb)PISb^H5{{Ky+$k zjafn;iMdmJsF5}1DEe^aU~eEXJ~gt=4PYP$oyP5<%rR1S+g*Izd=SntJ`u9a8IGyG z?{M>KGz6IQxARKa#peLST)U#X{s?oK#-9q#;mX1qk;wFQ^8w5lZal$^{i5;NCCv4B zOPKGej|kJ>od;2ux;qa_obyoDwgw3^j=R1Ue|Jp_W`Ep$9x&INu~;`3?0&}$<~V)V z#9S{NfnJED=gK-T>rx}@JdDyu&NcPoLyfHGpoOBhA|H&T^UCc(W#NO52)7JhgZdi z8d>`=iauNL0^@vUThz#UkNsoO`CCZ$yG8h10gge}K5!Z9QX^|0%IG8G;O^VNhnl-@ zBYHV~qz@w{4mGm&p~CoZEZ7z`vielg=MlWXt`{F_WbIEC%Gw{^!(kk1WF3<=qHjfB zO@E2`9nq-FZQDcgz?4tKvidZyNsxh1vdEVfO1Kqwf}G-+v)|0J)nph|jujiq3V-MbiC_ z^ND?WgF>RAO@sEIYn?4Sv4>hume+QU4=YAoQ z#{9A9)W{ms?Jw|u2U-+K{r7?yhZPRLyg?!Ji<4} zumMOpBOUtRy8ySKn2HqShK9NM0G%2+Q*>^R;8wiA#vm~cHFBot+{VFY@B*tsq7OB4 zrs!_2@=Ygf3KD&&kuycl0SC9?1y+wlA8O=G(Yft|&*KH=t|8$=jhrdE+tx48L*CQD zhuR9HOwqY42%YA}LD;RYuv;%-*MDKxPhr;|Vb`wkV8qpZliOIi&~U`Ct1J7piz)2d z5_WwMc6}3eeU|syZe2u2_|A6SemaVZT=RhG`zTTlm@ys`M&`fIh0b;kiq7_VUZFqx zHAI;G9V?s%o-Z5$uNA&91<$Pz<{125m}BD!wvElnkaS;j*P_s=k#%1yrcXOwVD8ujA8KUX*Ep<<`5N*PB#rq)(W#L&CR{sX z{#<;hku~Q3i2gD17?Q^Pjp)?K8nXg)BWuhm6Vsi4(JnQ2{*|^Ei~YYFIX_P!&qQ8r;$JN~ zHL}K^XySiKe5jGN&y2;G4iw`w& zrs%JU&fl9fV41f2hUnDD+U`R7$T<96e5jGNUB=>iaerKFV!GcrK&M95n2q$2m}fv| zU20^Fd5P$ZNz-eU-r$_eoaA1DvOJwWAz#lTr}~^r?&WiY%mA<`l0Fx!h@44P_T`g& zjv))4;&VBffnk+M!EA^A{5;j?8tP~G%;mrLB7D}UF5+&?;#KIc^~;gpAV2fU(38@c1zX_)Kb?Xc_7;ZGoW1a3tJfBg_8IXGbVk8?H56Z*boY`Da5nc+&q z6Akm33>v?|aHHWBhFc7`8{TAio8euC_ZmK6_^{z)hEuVRYTvR9=NXO~E;bx9Tw%D{ zaIN8b!;1|!8D4F;&F}`pe7=G9c?UVe-;R3>?c9Hyd7Kc)j5*hC2-N`2*VLeTEMjK4SQ|;dC6sv~G^!h~dG8 zOAMD8t~5N+aGl`>!;OYl7;Z7#Zg`X7ZH9Ll-fQ@P;lqZH8BWD9K-WFXaGv3);bOxv z!xe_B4c8j3H@w(zli}55UW~xn$a1Z?!SGhYI}GnJyx;I4!$%GCVSE}tY&e&Evfqb7 z!$pQi87?kV%)++ldP;eCb=8a`t9xZ!jhV{{z&TuYxscS!-kI;PQ`If*Eh>>p5dtBV#6`R z6^5$~*BY)jyx4G);njxQ3~w;J)$k6(dkpV4e8})o!+bb`u6x*UuHiy*U;nsQWO$U} za>G?*xpz@xc$VRXhL;*{HoS%`_dV7d-eS1J@NUEV3?DRn#PD&$={T-yTYNr~a>Vdp z!zG5x3|AVSXt>UBgW*QQD-5?7Za2Ki@HWG{4DU63!0=(i#|)=p+v@se8O}2tHC${s zX1Ky|wc%RB^@bN4ZZf>uaGT)`hPN8tVR(<>{e}-2K5Cc`v(R-98_p%?$n}rmBEzE$ zmm97!Tw{0^`7}S~Lc>c9Hyd7Kc)j5*hC2-JHoVX9LGtN-yGINkH=K_BOnvy=7rn2;a!IJ8a`n7u;F8dQ?Z@3|5@ZS z{dLJBpXGDZaIxVSxu5S-VYu3GEjiEksW-gXa1;4#-)FVqHp3gpa*ubb;T?we7~XIA zkl~|-`G{(c|o3^y2VG`xa5!1r%4 z+-`W2;cbR@8QyF70C}Jv^RVG#hEwr*g8F0`&NCb}Tx>XIxPlz@+p0EPYq;LcEg(tZ!^5h@Luv~{P8?s_^{z)hEs8jSN|--d4{8giw(yNR~W7~ zTx+=A@M6PFhF2SIGrWOZkK!Lhx_d|8eUu z7_K&4Yq;LO@>z+ZZo`rJTl;HtKl7n_ZZ%9_>keFh6DMDm|?@Yh6@cB z86IW0+;ElQ8pE>;FEqT=aI@hxhS!rX4LI9E9_4d~;oXM!89r$Eh~eXg)A7DUWAZt6 z$`QkZ4VM@$GhAtSqTxEj4Tc*HuQ1$VxZUt3!`lq+GQ8LD0mFw4A2Xba_er|GS%&ir zM-3Mnjv1~XU*>O@YQwdL>kTg^f7bVJB7e^3)#RAZZRAp)H;_mByp?>p&pXIvKJOu4 z;q!j-7@rT3uk`sSx!h-dky@Xp7bbt+*K^5N`&>w_5dR)#xU>iak?;|#Gdayk$^ZT< z3p_;k#P9kZ`pxa3--;gkJ<>zJtv&SH+e5#%d+3*j!RyKR@%J1(@hk43-?$$7)%VbE zX%GD#>Y<Zj2cXp^}ei!x7@2Vd9P4A)Kk{OOTIo(zu&?SU)KqIn%`f#X;&_hU3_c?X9wX&j`_tvP8`2)0e2wrT7=8+wSYix zoH*DA96p@YL~e2YmRpOXCfcc*vX`!z*q-Nuqze z{MUF_B*o)*mb;4=ONw{Y#N(x^#+#ZHuL$vQd$iNEfBd^d;Eo^@vbrPN|XAx0`VTeay9MWsHAvD5pN5e zI*_hI(*AuhDPFXX|NIHKIMaCJlj5!arvLla4tR}4(s(x~#cM*mbGw;;^-1v#A|AiL z&v<+fqw(%dinku$N1FmoP5ZYzDPGe`Y-@afs{@WVAZffGNIcyh{49Tu1`|IPA4`h2 z3p*RXliz`5HzH}gJrb`MG}?Z|v&U%d-^)qyO1|U&-mL?5CLn3NBT4bH@cA?U-m99% z`)g9XM#L+@!VWlo5lQ3q!u;UyYyS%Id7j+LhU)t<=l9!LC&mJ7>mz{xKSJn0x(P|+ zs)w z6mJLOy{f^)kHu?~;uRs@KIk1tQ;{^@jHGxiXLP^6O-YKE{#`#7<4rU1?v!{s|B7+) zsKatKwo6--6mJ*emB{`v1Ix94t0bOoUw#&d!%(MbyvLIK+TnLvrh?0f$2h&oW7jil?Fg5!yu&-|PZyIiMf zyZK3eJK%>+*J%@>~gV*D?jk4Y5qs(PI zPtQw=SJdDCn*mtljD9qJ7uv>ad(6My=)kfDB#p=8tR0sa;w`~)HI4VRqL+~ zkZwWJc_T*C_FH$hHmb{(af)N%0zfoY+6UZQ^Z7 z>fc_(!_?|D-5yUQ#oLB>dc1Ej@&1$)Zz)bV2Rozr+knO2CB-ZHNn$?pI-l)w|LBJo zZcbg_y5Zfg@9FTf+qdGUiS^}iOXH1`c)g&}8WHc=ZsyB1N%2-A9)CmGfjSQ(X*~B^ z1(Y@3sEY!Df1#{KKiXH5;>~&)zsHvSqYcY7-qT6_8-;`4Lku9M@ir<m4EP5Rv(} z4!#=iza^fI-+si4XfW|(@ztbwTYer0)Ije*YDdy|A0_qgIO6eMvzqqr{iJv~zew!A zkD7Sy_Y^31j^Bvxuh;sWDJpP^|9Xh6nvu*IxwkRmyF7d2ixnIS-s^2%0{8I5bcTG2bk0$xm!jJP^ zP2)YANl_(KV3#&<%_!U~rn&Gl%>)*} zucXt<_hB(E@pRGm;TK~7F-86+hJA>MUW0jm01G=%#wpA#<9Obi6z{LNnO9VZ1!5X+ zc~ZRCYrbCx{GLZ*Ta4EiN#`gq&~Hj0a6js*X*}k-4{_O+`amFp0NcTLAu(PS5-umZ z#M`?V#|uYVgz}4`=zbh~q#b7N>ij_wmK0 zftAO+_%W{|5?J4-@$sxBZMz!pj-a%>kCWo>d2O4Hu6@UA`##mjoSMG!?_To*EVri9 zD}CkRr1D=-&T`AoK7zKKp{?)*;f(mdyaVZh_(xv&%vI%q#A0>plA})kF%M5++ID?7 z9PZb#Ark+9)i29f`<}P^SFeP^UmP|%5Pz52*+;^shQm*`&7|^oU%{C^^kiEwewf9z zfAU^IsWyBnJr1eIM1M?P2}Sk^8wZ=n4fEy?Ijn0xV5v1d z+^02T?NP^?XJWzDj8$!o%@4Y*li{kZe7ke&banv2*+v!8udbPrg?6@oqlTKf;L^q4pHm=}33E8HiXo!4?p zQ%T^=Sm4REn|@yOkIaE}_mn(@=C-DGOwZ~Vo;CBH5f5$J&1PRprJPau91G86^lM%B zvnX1{S$Shc{7k!b(gL6QCoMn+~&o;7Rk)X0>Zr%#_YKQevt%vreZzACZ&syQ9GNw3PGt5JbmS`| z88z8&)~woT3taoY`?NU?^B36)UHefsZ6#$&2LuB&J z4Ra??{Yqs1|k^V&`3$dZ_I@qv_hmg+PIra#Te}P8t6dVXW??*_# zt??IkzFr*1Bj$#_>&<)LoBX~v_I z&4;}0hrBm4-p&l4?;mqoN{8T>fJxaDYCW}nYu1vrfyQsRohRhP8h=k>p~Y94o43ST z`&Kq(H76D|g<}5R<@?3=dX3B7-WH0#>WwHE61wZGlrgV+;nZmURp(*eW8doBwe7XX ziPl|LIx0|w{O>Pp{7obB^`iZ!8OAdbIePlL88-!ozJadJ`;9mGH{KW-&qvGRf981Z ze=Ghc=9~9=+xO~7{+`N^)XA@TJI@WcVSDV<`j)IEkCrtqH)FZ>W$#48*_Je%E4O?7 z%9^{3=?mV=kLak5=zmjaU{1=ieXf7O$y?FitIiuSpd^39>1&_%N-~Cp!cU)97Jr@{ z8~T{H{YiB7Uny^go)4{S3&pomF5TcoQwvhUPZ#9HpQ4ZtzsJ2}*_a;Uw~2D}^py{K z@ipGqc5nCZG2>Qy;of8K_e$^gmgR6|%Tw@Dk`jw;8NK5;UYmz!#fEdOM{q%6X{@Yo zIn{glzvPM_#OXWW)|8$5yl~2(^P>49rVkoF^d>JFa$|R9{41`5 zmEQK7IL5uPYmJQ0pjJM;Wc-leh{Ad0UN|)N^Iqxay=9oBcVve9Rb<2`(dD6x{U1G6 z8o$YfhAiM{*KfG2qwl=(eDCES$~yL5R4}CXfXh?HxOE&D%^!42X`xq87?4%G#Pu)N+uon6 z7;>vPoLcmjK?B1n1!EF>v%eSaN0u7Ibv9B@49A1~BVKj(hW_DRL(=Z(Ri0f^urYN- zZTua!vM75wu{l^@^*=ePJ^5^ac1u0{O$+gku-+SAC&;Ip#JCl?AAgkuT z;Z={*s7;KTzM?Mvo9?5^?l3$4-(0@==ic^Tn0UW(@pgLE^AWH2khIyoJLA2=MKjsU zTW>s7dwEBi#4C>Pbn%|`wr^uRe~P?FjR(Q}ClPY|Qy)2g0^J?|{?T3^d7Z~cj^8XZ zju@-VVNYLvLHt8+*xHn)^d;%xr=#cMvWtCw-`oB^+emTS=qNRgSU5B!#DF!sf;HYh zJZ~{_#94XVTlallk!|gR3*5Hva~JS0nfq-1hlk5+Ew^OKktg%)Ba9Kif!f4q=Ny$7 z+~;hJ&N5@Luv}x{z%McKk9+6}mNlh>Q*hL~za=C8Lzbf{kqc7Mad%$8dgO61V6jo5 z8uzZil@c#pj`iAn)Wel#IE*2}0OY^tZGP9=n1Zsq7>}%ryx11Ng*DzRV6p$Y@~>X} zudc~HjY}f=ZxNUG3Fj^ut#g}gdS7+tQ`DQ8=c@|RMP?QgR^tnRhx#U1bEP}idu>-IsKaZpqhicA*1(1i4@KC-` zI`gz%y>pOf!m^O(`P?TLc^_C4+QfCq5$^+kOb$GAD0pDRp*@kaKlev<)(1> z>y_26?J$cO;fq$T@I;Z;mwTITa1|J!I(^*}fwudy!dFyIaMc*4C4Fq8_s&wU@};a* z?SZj(dd+LN%)Oi4mA3MBZ%Nyc=G|G1yQ#jEhL?S5+i&$c-emc8mJgls%bUICzhyQ4 zjnZHEp6Jj?%@1eEE_o8lEot#NUdKzFArN?`HpCFs>6@O)s=uAf7p0G#=FO}1;xoCM zOz1sts^n9=u?|P{o>${bT%JB}vNv{;7kAR4G@y%tmxXCK_qBa5t0{NhM2e5Gq2=zB zl{RmJ7yp7+zsNP1Hg-IhFYnCfjrYb@dGQ-vsI+-io;dWLcfA*%Ko#8@*O`y46vwfi zB3xS1=UvBg{UVP4BDcX(=dTUaFLaHjhHr$7W70|W{-rKAe^biF5H5Z}%Tr!CY0vYK zVLuMW$MHaNb;0z@f1ZDtSCA4|lM=ty9eOThvx9o^Z}8=h@Ofy7Ke6jVV=wk11K5(A z+jVI}hkNPe_Qj!)q&n-_o`v~`W9?Q<%dB(>)p7Gd*eHib}!)L;OYX(kFUEkxs z-+9L+%xT}6jyEVP-}M%Mgu-Lo5bOJdqy9||96?cT>eIXKA3TSZBYqtc+etnLSG^@^fi?SZr|5$4S@Aci-IKBVjaM@A z{<<-B$rXY4>y&PMFJ)OQ5Z~pkihiqK>#DkMO<$F{awnTx-)BrJo};|O>sZydc~wVS zYnv0>))YTIGi6MEVDk&!rq;HWK5cyhtD>u)Z2Ky!ufFTHl(tPbZ%m2*n9+Bhhe22s zy)T^iv)1QR+S(dc)!pa6Z5VSl^lyjzJ=?l5WmVm`&u=-_t3 zg-20QapT=tjl+YD{+lDt`jS5JBVH`Fy76mSe0Nk9iT{n;^{PIRrj9*LeSziaL*Md> zin;5KNFRF0D=KI!N$EFyM9SGm*e2Tl9NNQ;JTw`JcI+u&rIr+2&B+BD9MPxr>GWmq zg6!X_P!Qi%e=?NP*xDDP8+fqqx=^UGl{YI9=k9{W$AgH}?B7^TSrtlK5=w0xfwyn2 zAK8oFV|SJeb=ONHR-w?eYUp3Qq7t`w6S4X{mc(CmcSz`1=T<1at)K&AbD*H_-Amw(MQ?MUTGHchd8)YHKsn^y zT|ghMd0`Rz@Ua&_o{AK47G@FNOl^LRkAy<8ysGo{Iz? z@4M;oNMmadZywhk_8woyMlvus!!S6leT!NnL;viJ97Z)X^iST%0)LoN@(;4BgLq6U zNzebC7del^ObNagblAV(T9skfPcrjPr&81^AHWsus zrSxlBjzKv07lB;V;RIP)y7+jcAgA$>QrtRiTi4vUqUhPj8ygD`H1$33c;E1cXgZn^ z$cDJ?t~FwN{|M=~yl=((GrSIj z?o6&XwdisjM`N+0ho@k^Vvj5MUhmC+<+0(g_YQ7Uy_GmNxC`}Op7*;yd%yg%xBbuF z=0AID4|(_SR8^gREcbwadB-uXPT%8SP5Fh6M4`o3{QFn9^KRrl`w$86lrLhr`@+-o{*|H7TT_ZJv9U`4+h#!X)Vm!{sm z54}6)1Fxz7pr|W`vm;TriF=Pp3Cw%Z8+01vLA|HEmR2xeTu^_jz>m#%#doACVM!@hj!us+eT-}hRgI4a|6 zJutj4E~v&n;k8+NebDRo_^PzPxZIOVa@W<)UHh;%p|ovy)_^lpmfa8- z|K5U@^w&n57O8AlmELc{*ePvOX0&EaDg0*M?tas!)P6I3@yyA~`UYCYK0WBHNKM14 z!seRkZTR1|vv0qd9UVuf)He6R$$MAbl)`&EI=1wi{^IVuDYf@jmxj-*tSN4tyyDR* zJCBD4g)?d%_*(1a@ZHNdzqCDmFV}Z=M$_h9+jl=crEn=*TG|WWhuIi*%iVeFCbxY5 z$c???OX&~4rp?ZCSt0uK!Jw0$PhY+{ekYeTZSHkyU~P@}c3R6>x1Krr&0haXn;p6- zJu)oPJcv_xSIXAxjVE{P-tzk9cPEGA^H~RSOG>n$dCisw-rBeM*!Ejj{d!2~p0vw) z-E_*H*^!pX6HagK^?a}J8)(Db25Z_p{j9S#rp2eRGCEc3ck1g+o2TpyPO1I+l)`&j z(%HXzdId48HF&c##tWZ5A%5fXlwJ+N>e9;Q;sICPFnxK-vVno|%QL359jUn?Yx=MI zjVoM;eXw?6UHaHdy~^oXV@G`Jc;UX?xgvA$OafGkqvnHgEE4($_ zi%V`@HZi!WaQ^yITo%>NUxl|&U&vb3)_nhIr><&iyZ^MarvI^UT;T$GF6cEbIIggP z*f8e0Aa?)4oBbF!FS{B`ZsC$!c9sKg^Yz=7U4g>w)NkK88aQvWKc9WZ&&`A}5e@SLOqd2V5p^2nfPtu_ z1BXt=XJhzboAQdQD;|IjF>d!y6Lyg8~9`* zQ88lCqnDhsVDA8Jj^BOiJyQzqDy)9*dF}J2EWT^@uEgl}?-onf<#k=NzpDAkEx$Qh zSKl?gTX(ybr0eU{n!3~#_f|FRT>A8YMWC&Ya?B4K9$8+C#_u=o4?%ZYeg{iX7>`pfhSTgdAkwXUEIOy>Kxepaq zx6kW*0)zPlpJaRZf6AbW>6-@3o|s5X#zW}zP5_x<@AcVx4A&3ierJf8bBBh$Y` zmV5WSa+7xTm84|XHT}H{HVwvhn4Yg_NBh~Kxf35a<$D9ZIUx5JTHZEvoA!)9eITvT zo~z|h(Wo4ZOk) z=c(71bCp_=TJ+o~t+#8R%6g&n7%N4};?(PJ51LZ2j$LhC^_fR2CTts-n~HX|>qbsW zbi~)g2Pe+?VJWbx~So7jYW1chIg=H7sj5ortS*4;{%JxNSu7g!&29 zZyxz!);9-TG_rGot7J>@r|)^=$l4LbpI$ViaM8@c#Ah#>Ii&d0b*UwJL&t7OXb$4+ z)C5)IZbY#y@jzmKZ$K@RIIWFf8te?L0)U4U39zEkw`#slu{Z5_mjL*xO{mju9o;^Bm z-;rH|bBC7QJnXv88;4e1_lac#=6&}_RaINr4a3SF{6yJJ_s!PhrHOmKeWYUW1D)GC zbBA;<7*D>hf_9b)Q^V08+Eg3(b37$O%j=lQovD~~Zzd82OZ{4;xwCtm&T>9zr|8(Hk z%G=xTuK0ZSieXxW+wQ*Z^Xkotle!-nrYQp9mzaNRAE3mR{hGXFd%bSx_`H*J%K7M$ zq52(|)B?==!Lg!rcE{Lcx-@zDj0ZPXjqjfRL#|#fpP>S4vw#1)>EA#0{U2RE)?7Z%Zl%|1Z)Fifi^Vr_b#~$u{ zmV<@9tH9t5u?<>dl{M)ftw;y}yiDPRH_!CN=kD&kT8Hs!Te(a^cAKSZj*8?lx zP_^4m(nWhmS7(Q&BcB=ey|qt2pj(?X?<8H}rL~Fq3!Fo}u2AJOl}fRihB1E~U9YIW z_s!6a0F7;9{$@}8tj$`vOSci1jBt;2WS#rAzwC@Ibn&3_ejc2*%GW)A<2v(`t2T6X z=MLF6SeK87kKKRo&@q3e^Veo++aKc|Oj(=t#M{SK9+q-bPIp(4-G9~niVDqdl`AY% z&^EcdOtJjlo1I*hop>@k>)~u&KHH_VuA|lPj&(`hAK!7_@O%EGOaH0|@1v$6tFp7z zkQsViZ|rbgBy^MxFPV`Z^Sfis&5O?&CyUFn#=L&4XvOfVs-5SI(=oAX1$+E$StSdG zkNNenva)y53(~rTJm)-VuhShJYloiAk=q^k+?~ttz;)m18M=3%(59fa?p`yzs%|$I zT1$pkb?ugsE_pUjy>~`J*u|x9N5{@8H(#-7$f~P(Na=xWl~8Woz8P^kfrPH?!y_&m zzIII4$?kG*ZSu_lWna@h-lT5EXj7b%y)=LP*f0LB^LL~)*1UG?Pp=-^^J;Vrz(M5n zXj)B!&783p=4Tg=yJp;9&p5QAwD#7rmZqB8*49#Mm7XYgoC zYos&7+4Z;dO3!b@J4T{?5-#p%MDmZsL$wx*_r zNmpK)&LkR_PC9q;lqr*oCY^uLq@~s8UNp7n{PWIEpFdeDH*b_y74&9BTWw=&b>(G^ zOPUf3uAWsnea6*S&0SDFt8(sT<+J8bpL_L(iiS>~ahZN)EEyd|iTLd?pZ0OK*~MdD zKHu_nly*{N@p_A=S?ujJtLG#hPc*&vo3>5Fms@T5qb&CA^L`3q<>UFj{iSA?ZT_cP z+PB}wzFr^u^1i-8D@T-V3EG|%6E9ZCQs_`Xe0yMTk5BB09V^C;SH38FrUKGeS#*>o zrj0BP^-flx?Bxmw`EZ^B`h^yw|ENM*VXVT(6%h1Zd^^$ky6AuWq!p0=3;VDiSQh-p z*E4nb_JsC&^T64kjDe)D_HZhIPhzAmo6sk_2=@L7*}m+u08t| zBj{n4f2_hR97xc^v=#lHKo8F|eIAuau!kop#{Lp9MbMXsKWqA5iANg09oXg4@sx&#BMR$DmFg|Y?O53w{5ojWMQ=ZyY;2?GzHc@e&!nEXQ6_g$ag+@ z7Sy--Ch-*0Z&s{H4QKPPV*F6{Nd;f_-^IS{Zt+9~Yz`{;vTuof*(@3RvL}mu*%Cns!|JU|o)U?7nYOt zcC`ZK|3v}mt86$HkxyCt`F^`fjPzBOnIq~Y_GQyzKc<~8Zc_uss{EI#*WiYYr=?Du81PjuMuZ|wc?kz0NUdf4|*M_|vbK(D_)u!p^$uZYRQ&kjM6 zV%mHl(7!5XTcI7p^g~%}3dQ(`d9927gy)G*H@;cy{qtEc{W+UPKtjD<{C+{&Gj$~k zqdM!v6zfnx`YMYKd*U$)*mE32`mzuA@fz7+--NNGFZ%-N@lWjSd36Qp%RbzXR>=nc zpTk(vmpwZC6TeRZd&WGZFZ;0ltUK(dVJzv(K3jVH6PGJsU!j2XWj|GV?1}w2P%8Fy zwTThR!feB171;Kd8~;tQc1dS*#26bk41B_j?FfEge;gbi=;5^TX*2r>(pQ@oN}p7l ziMPQDoR43kn6fj)=qSrEVt``WaG7|cF`w*1uz@*O#^zlyS?G@lCYZiJj=jxHv9~D| zv;9$anHZrgoUa&tXP}4uzWIQdKE>uFI#5Dc*teO_pv;gC8~3k6&1Ql0%z~nC7W?Dr z9byDO@HvXH`C_1l{rK~wILqvLX zzZdm3gS4^w{v0gEmNpL)zu)+SV&6_)732Jbbd%VZZ5DGbO4+*teV3Sh4gI5HggRiq zj=mA-;R5Aj|6hR~W}8EQu~v}p^Gn59(&6(m@rTXkF0pT0m$w*0n;_+txo>dKz-LLApgwXpZ|=B z%$+?vPJyq7Ms zGmc?DS^??HK0J2&Wh;x!`?SX=%SG(^S+SBm=Xf6y*C^0G-3kcxb}MjBOM4!(7@O@1 zNMCJ3@3*)A?|5?SZOhuK7bPaQwzWiYou`KSw%V5JhRJTqwWg`Iy|R2pd3hx-0VXCN zpUGR0m2LIQYMYjyIKR2JrM_u#ea#6BXEjzYYN)N8QCnTp)L2>Gx+GRnX?^QIHn_UB zZRYZpnRV5TjkOK2!pgg<`6Eq>Yme7YU*1+%yZCs$Z^>ni@kN?ntJe=*hr~)#=EUE5YuH@m*2wXIaIX9k&?zOHO(*9(X$ z)K;nbgFL3i=es;!E$uTSdM`7RRomKJ=~h~OqgHfdbptLd?TyMx-l)vjx@};w^?pOs zioUXIqm_4p-1^o^pHmrG#=N^N>_i*aV)yQ8tOQG1uNOXVk2kcm_Jmo%ZGzt0aJ1=_ zw^TQ_E<3IRZM!=`t~RWXRM$*jytqYoDl%;>Z?Bx$)O_2NdCO~;$6Kf(Gg@2gRaoZ8Z))HH6wSkTdJ4UPOrJST<^Zda$~nkGRu8}`ym+vwkltG zI(blmvc}fhmbRWvJJy2Oh9AqF*>YQRTa!AgF}}ZBj&*;mm^yrZ#f<4O z?R>Y7^^u_+bH;RcQ>ItTXV%r$-0T)y2MtrP{7NL)UGFDwURQ8$W2g^)me}>D9^$7;dn89&F zW-Pz2K{I9&44ZxB_<=K)7mkmytlooXEHfNFU6!pLx46e;W;Uq!=o)i--1r*H*Y+5W zu$kQ07@NuP!=eqQv5at>jb$A_(#8yq8*5|ve!TRzVLB_ZQzAL`MBXW zmLJ=lj@xf~4Y{$h@j*A1-81aQ^x?o8%L<0x-Z{q&zP344R?c2<<;?QSuDY_avf#oC zi!RavMB_m3oC~I&dxD(vi%(Q$>UkHOpv=^%%F&QNnX}l+Wz{+{>q+T(gCM0ZceLmr zL2k8s7NN4HX*uVJXtan;)r-Bxjb1Zq8g&X;+oI1?L^e`fEtlo>H8)2Jw;Q{|#-f@= zcXq5pkt-X^X{ub(P`xzFYp8D3Y1^XK+Qu3k`DsC>NUtM|Jd#_e%?=1#V$(^SD=RnxR=nW|1qZg-DMOs?l~iRf6X zqmV8yGKuDvre-dz{*k2IbVB}<-QObQKJflkW`dTLWS7kDt z{k&M3+fx}yxvyM@X+ISa=~C`1(_#J%nS?0izVe(=rQBDV!*q2f;q1Bm&Pb}~wtJ*Y zC6;C~MX5x6EPZnTYglPOB|`noRZ)v^3Fv2<4~y*8F!7fXLKmR=uAe=3&#*I4@QSb9S&eNQZX zZ!CRZEWI(7{&Xz;nOOS%Sb9?|{Xi`JU@ZMmEWJ6FPR7zq`D7%eH4=*6$Pbgs9S}=v z<~NX(n3YX(lN*?G)NGrJs?Mn~Dw7OqpjS)$@odDjbcCTW5aiq)B@%ERBX%|PDJRNTjD=t!a#--;Z za)TiNyAiSUS+VqamX6wUdC!ei6?OIa2V{J@M)r)lmuM)-)A71h>1j%zqBu{->pRV# zw_m3;?dOJ5o{ry-E1fGYcIkPEZ}&=Hop{;OY^ixVejierzU9cCr&|ffl=i~%y+=bF z{dJx~o{r~d216eCA5c22GCN#*Z*UJ^N$rIEGUe00YZUTyyk8V6e~Z$qmG^u3$kXw^ zGnT(Gmi|gC{X#7LN-X_WEInB5^g{dI8%s}(rTJfBUa(&nOSi?+>y&0&u2aaj08Un@;{ZlLDrzY@HqH06t2x+%d8 zTm89*4f1rpa)uJ6N@uzLY)za?rU~u;a4h{1rMY=uqDu1gNI`8Zzaf@xjio;pORtWl z?~SD&j-?;BbhLl0NPJ)EscPrhuKn$a|5loIbEcc8ukpWQ=?h$XWkPRkxb3Udr9YlH z&C;t~x+5`OX%(^YWmVz=rRl%OesyA&(uGP#_G=Q?DUDEOc;ZuuMZMDhnz*@F`tHQ7 zz0w;JpXim=`A+7#YDrT|O>L!~5^p|E*;0GU^4iw6L{n>Y8CO}|vMhQe{rK5DH%rmS z6dwASZ7mH^x!x0aerCgF?R?Va>wGetq;tApX3nL1Psce`Y|@}-4$fu9X4-1p2QCv# ziZwJXbxW#?;$_V}niVa&edHdwkKMCaTDh!V*P4yDwkC8{$W0?%2QJtBo+b55qvZ`I z=c1;&`x-VQx1^=E)>ZOPZe6&Ni{p1JoHjn|=9GO*wK;v}lC@`rw$`>SX^fica&3;S zC!bpVIu9n=bk|EIx$tgoYN)TdE%MN7x@~FY;zdi{-JOPI)isepFsnvw^}5(!DmT$W zB zraeT{JU+3!(IrpxGD`I2*u=8hWi`#WC7PSHv1l-9(e%>d<;_#H~2c05jHeb06l|Fw>ahF6Tw)IR@1jb3Vg) zD0+_dNRpE@30FAzcFuv{q)iE&Y*N=pAY;4fMIi}~q4D`$jv7E`<^dp&}fF2#3V|td^+mxFPI@sIL7k(LQ%my9o zmytg5er`1zbg=is`FlPKD0zRsM zPk;G!fhI`@OYT?5$AM(C0!;sZ-kAP>*!YWzzhO*0-!!K9kBsT7myFAk(f=aDC+p=j zrQx*r{l=_|8OA*9M!*I?l!saFT4U<1GcFRZ3~WASO#f{#re7a5X1Ts(OnbH)PZNLD zn10$7*gs=TKYYvUvot;{(6%R};~{*Qw!Pn2$;33{U5c+arrtY^)8hM$=?Com@_x@4 zpZknU#J@FW-TvN~<$BYYb{;bRi{ji=rfnx1)3&k34=Vn!F>R|iPK!TgOxv*YZQE{4 z+rDC4DrTk@8(z$sBli2Gvz1tKj#$ou)?z`~9vA8{5BLFdKBR-|wc` zI%1o;#P|{AFErk&xLj#pSEcFE!M?5vY^<(Z%?2Ip>soDkd@c-p-er1pu=iPojrshX z*`R~HPhJM05BDg}we<)urmT%ur<)!f?E5oq`Vz%;*xPtD*7WFL-<}3+tUVW)4LaDj zXPfE2toYxId690nF)z$D2X%eh^ypw;S6fim&&&oL?CWaB#+LDKW`hp)%a~=`8!z6i z#NL*1py|=UzTOUOY#B$H4LaD@yWaHoD!$v87yiCryj$^V{8(L&njRhO>*~VB>iUM+ zpo4u~`PkU_uhrbcxd9IjI2*PxU)Xa#!?2z|9F4vWqyV$-2r%V3jPdsgW9s>|v7*GY z#?L8!(HQ&xFs6;aHCE*2Hu0aQZIU@X82fR?EFTXrqen^uo@-2gsq(P7Nip-RF#F3W zh2*F7BPmxvj}Fc;eU<51)*9ovirb8DSInt1WvPF(*snYC(4&L>x=V}wy5kNNHt1l# z?jAJ#ZpGV-8N&(`e48ILJv!L8`6<)W&rcgatoXae^hu%ExAXg^M+f_MPQ=ExvHvz3 zbg*yd?@iB3Jco_5#6@D?&cB%+9qijVPvxFpTgpGxm=`yvD(%~Oy6MruzMaL` zSUV@14LaDj^FyXTC_OL!Q150j+mqi%vI7?O>{^ahG_4@doh}#C z7;hHOGTtPfW4u*dX51~l+IYM82IFnwj~YKOUShmM+-ST@e2ei;@omPt#Vd`U6|Xhk zD|Y8UTCRQKUzq+y@f*hb#fOY}DexWRm!&67pS&U-m>ux}@kry>#HSg*A?Dr^_6Nn6 z8NVZ*YkWw2jqzb|mGQgc8smhvM_wevPqui2@nG?N#@vJbsximGr;M48yI6s;yzo6r zA$h-?OMYz2f)36x{m)F#%kBq^>4VXfRX~1idUUWKf3&M7@;UfO#wfsQihCgs9xR?| z`dr1cjfW|AW2|hd#8VZL=jumNq~MQ_69X;`xBz~yek5AdMDhWL(Rej2V(Re6g}cQ0 zIw+xAXRIhXSCpPMf6nx@`7vYK{5|7*#eXrTPSy=RM~hh>@EFCc4>&FTImWd2O5;}* zyK8*ez;^`tjRCvsceB}Jdivu9WBTlS#`MiTWBTt`#>CV?dy1uZW1X1x^P)X^x@)8{ zdUuU)He73AgZ|op>x}8kdlj(Z<@?8t4=FBDNIs+=$qofvOh+0%Nv?3C24VyJMWn@}haU$|gUn9|Le~gpgAUFyeU;M5Zv9By@lkbE8Rv8hB#RZ2TO3C7OR_=7 zTvLwe>#(tF#$D3WW^}MWw`{qjzC0mk<%V|=r1p~v@9V|=$5<6G12iTpG4Bf%Yvp9wIPNERr-=ocB|-`VKI6TLgP z6eH&=MQe1CLds>atia%ydyT-z4{Ycz7Z91x#eFHspH5%ie z^^Kl-R~zI19%Jft%RWXR(IG04FJ@Wr<&QNdqo;C7S^>spvN5)&z~l5IVO{vLh44zW z(K08CB6j{yiWp!1IEcpc0&#vpRM+*!EZ2?3iroH;4gPL1J#m{c%f7;xWxw5+WxvCi zzU?qhD}KdTZr$}b{#m9&re~S{*LZwVA16@2hVjy!=ZlM^BM&``e7V`vuBi%sJeg~H zbg&;!im|crT&lbq{rW6(+?B7xb@SDaZ z@}I4S)1ExVrx>#=;{q-=<|7kj#;nH$#--v4W7gvh#;ix4SHnLs&#J+S6042N25Iis zxJ&%?fS)yXY7*B6 ze1|a~|JY@Gj`+2JbCjlS=u3>RR7~A|*|!+epWh7h`vW~61M&9nlO0^n@*2~&s{&pW z@EYTL6mK<_dEyyk`e(N>`{1{Y6(wFUX5GDPO#ByPwjDkOLVG64CU;20h2r-bPgTr^ zLA=c+#*{tP_Afq6vQTCG80+RX)xiXSlEqnHowVbAlue>EN^CXF6G$(VT>(&+g((`uIYEBcX4F+Dms z$MmyI->kSxd49jR)b!|Jf9|m!8{03Im<>AE?-%%@4UcFn*=YQz;%&x!*y*Rne9Y-D z#(cEtSinP-#t-^4jrriy1mj7H&oSnsM;mAx7t@kyrbh?on0}+u$**Ifds1eD4$d+C zLeulHs7=cAeR7lO(ZRk?He+Lb@^Q042m3zh#%8B}B>I;!Zn?UR{r11r^n7$`tMa`4 zbEZcJd;9+|Js+?7Ph&nzwT-g7^dtF=>CwSCrvIDi`FPcK<@vgD?U;fN_I2&R#`CwS{eAtVPtw+kReWHW?GVa61#;AAA1|96ju52w2 zW%;<*i`ZMe!%UA3_Vw-$Y(|+4I@sGxH9a2#dl~zu^&`31^yuIm)4!s$-%jS34LaCw zC!9mjPWG<_#y2RgFz(9ManTr?#(-}LZ0_)^_yG0V`16qI(ZPOPdJP-fAHQlg=wQE} zK4W^$S>C|jeE!Jv=wR>jH>T&qW(Tpi_4u~w(ZPN_9y2{3MLQJOe^}+|6Lhe*e+L_D zLxtI(gMAx5W_muNb{KnG7aL8F4)*KlbEfBfYKt)+Ion~(2i4xi&l>$mo-{o=*pE>O zolp2N>L+G{4)$Zz0n`7F;@=o^4fK0s?%#6!W7#<`d)xRm9e1YLxfaKtQL5Wt*SCuE zCq&nIw;A85*j-;sk8~(tqoN7&;C#hh#-kN~#u(pRYI>V*8K)KR3G_cURudCHH6Et; zW#a>ie`TDjn01NI0>#IS3l+O-M(L@ySj&&iM6sL47E_jYx6mW*c{VZ2a;@oUzdKiy z{(!hv0ei03>x`M>yw!N0;`;(7jXmxCiSYr&W6eM9;(ar0;3DPuZQDH`B|SRWZ>!XY zJu!WNpH7gBRDfBoX~u&UySWSL=?88_aVmEY7^bY7YZBx00<)Q}*!h>9dP!r?Ht>F9@;?Zpkld&M z{Z94e@{YWV9=QQx^89UFE_k5u^ zp9Pg%tN@c=X-v7*#?*6{F}~LsQ|D)miD?Rc9#cFu;JL=#irv0!W6M>hM+f_{h3(sq zEsbV_4)$Y<+qP9#w{&R*KVGdA(*|^~_gNtJKJOP}gAVpSA2vPh|Dy4S6eHYwKwN+7 z{2p2OJfLh?Nh z6IC#kOX?Jo!yQJ~Pji!;G&iB(EtX zja{D`zZ>XXKif9U{cpcLyS_F3#6a)*)3$St@k!&dfENZ_2iv~T7H~(v>jT~d52p3H zmI;`-5wCw1wtZ@E!21I}5b#0R_PfIYXKTHAJ@?N%kA`jEJNct4v1-WD)(9NuPkz|5O?{mTJ!e(Cjx z0%pF$>zNPn%sWG#(*aKmn7L(dQwrOdTo&-cfa?No3%DcT^#N}Rcx%8r0%o4s*Sk01 z{Q(~c_+Y??1J2g|?fnc3cyz#p0Z$FMB;dILR|LE`VCK4$cFbBCFmokdzcJwMfVT&{ zE8yn?ei63g;41;Y5is)|-X@`O%O5M5ukg&gglFbcJQu-sJY~+o^PGUo1Fj0V0k-3B zd%&v$-VpHSfVaVRyxtk`?tu3N{Bppr!5q*ehXQ6k!RrTWZ1$WVa5~_L0T%~c8Zh@W zl6L;EFyOj?xz6`C9RaV0?LPjdfZa#PO}``1KO6AgfcFP{AmD=m9}bx7d0+3afJX;h z81U49O9Gx7FxTwf=i-2y16~<$SHN7q`?B2uZx47^z|RN#V!+(1@P4??_s@F01KYVA zp91pCJrU2N0xp2{cxcAGI8}O)r3j!_*cv`@70xl1@D&U5I z+XG%5@P>dl2fQudodNF-cwfLT2mD&VhXQ^#;K3(l`XN8ybifk>E)KXf;Ie=h23!|# zTfiLwuMc=rz*_^}5%9AC?+ti=zy|_881UhMvvq#$w}D{+j}Evn;Hd$Z1Uxt3ihvgf z+#K-AfV%?T7;tyM+XLPe@bdw`81O3rzY*{|0rSF%U-sO9M+ICEa8bb10-h6adB9Zx zHw4@s@alj!1iU%mZ2|8Lcz3}20)9E**WmHd*mWr2cLN@*YZ^b#z`K>6(*aKmxH#a_ zfXf127;s&{Z2@-#yguMf0dIv1qxSCz_}PH>2D~3WJF-6z@WFr&2b`^I7jHi-;L!mW z!spodA8<*)a|5mjcyYkZ@cSb_D+BHdcw@lb@WjY|d%(K_em>wA;YpGGD*?X|@H+wP zV^BSFLAe2s3b-KPqJXCbJSX7tfU5#-fIkqmtsO3kcr|=(#2er#5pRaii+CH%B&%d6 ze162cVJ595```;Bei<%~_%)cxYRMs(31G>)Fca94!MbKjemG*@OG`5GEJ?#94igjM z=@Iw$mpOe+wIp<@;lvifQqdeV37Xm;yNZ6=b@tP4OF!+N>!;m+_0#Sz{j__JI;B7T z!t;pzv2$~Es{5a!b^Wwk(NDX3`f2y&e%d|XPrG0B)9%mxw98{I@gIyE*aYwxCEu-osa5AI_kYb!Po2V8$?<9)pK#0Qw_gG?fs=R-`>mLVm*(c zzS*iWA5kEW^?Mfc@`_cJ6XqAMG$z6hNyq$+s*An@g}$=8t*Ff05n`%Yi%@^H(Z=Y1^)@RlZ-|mty|*${+pf#rxYA^SAh>=vfll zcb$Uw_h!uBD9yvY=$)7yzTb%X%e`68l-Ty7Lqw0i!Gn8mFI?xV>K^f~Q?i3gEax>1 zLUY7h6|_tB_&Y1+k8AnH*#3))bj;txCOwa-3h-AM_$x7g-o^9zeIFM-81q-qmT6yg z;P1v*`(Ba14&{4M6P$4W2`-6}i3a&A7t_8P1@hQl+&w78etTZ1dz&_OByD6zydvgr zxBPK@!yn_X_qRFLzApJw*YpT>$o(;YFUwzn^!Qt<;Qf6g=I^ll-KBgl-rv_^{@#_p z1{vW`n|6=C|A_hP(EZrYd1q!v@<%a$b;~pTr%kcP-@%x_wC>T4$AO7&-|I1d&&r?g zzh$!Z%R6XD@9lYx{Ba!j;{9dG4lc2b{qo28+*Sqp+xshw`CBc26;_7G`x_VYmwjur zecMUVOdWcZ5qU~_dbLtu~idjB_Ow^w$fdaN?-8?N)8!P4u{?Bsy#yblzf&+Mn&q<-3csGoLM z_0z6ecI+SjY&lwE{$4x5@~-Z~uCMj`*;u{!qa9v6KOM9C?FsB&iq-pu?E0$rkA2v2 z{P5z}oB!Uk?-%@4c_YQ%?n3P(;dX!>&x?BTc4d9o1!g_VUeiyz+hj+1-*)P?TNym)`y>ks`^t&i;Rw?)DG)9G!`Hj0m5YGEIvA`|bA*pDq_bcr1@Y~+f#E|*R~B7_v+oVS3w|ve{j*)K%iH*q9R2HDiaOE{G(yCt@`)= zn&XD?-}b@(Nv8kBJi-5VjsJ_n|31br{+mAd-_7u!>CGeijsKw!{!cUhxAM96R~rAR ze>=F(aJ~J1=!5^4g`@1?|7Gjl`TK(gF8_P}^)-h3Kl4YY8Seko2mf8d{~jOv;Bn*M z`rv<+`2Ry%#=ouEgU2^#dG2*vZzq1e`95EYx%r6}af$ZptKEOJU+58gwY4XGmhIUQ zTM|G0`b%z@F=G1l_OKnX{Su~MKWOsQsaM=Q-8$I%HT&_Mu?3sQwe^^rA8gmlW$kJ| zxr5&DyA>2*xBuS-+;n`7>dtbJ?W{wV)jr4YSI#M1J&P)nq z1@dABtu?Y!U4vE|*{xiA>y6NJk>l~ku*V~lVsRNAdu6sS^b9Fq?B2%=!w9Wqq|1Z8 zHle49u1QRNAk+6+=t)M_o_kYb>U-^dY12n~+P>~@v?z*M|7{sfR~;L$%D* zVP>Q}PHG+(T0pAw_DHTfBQwvvcZ{*Y9jX!Aceg?Q8c&BQk&==vfn0w{Szv7{sNi5v zdEA8SlR8X}ICjA0#myaR7#$`=GoErZcES~xg>F~nj*g7ZO#RLsx{a~WbY4eiZip$r z-xpJOLwwmdSLkMyqOQ5;77y&5T>MCf;Zgm(_YX99TkxvT1ZA;*WOU)tk)iP_QX0uT z>@Lhq&fq}J9cYBEQ`WBKb#$RqPVf5%7ly7@{8hZ>KGN;NNVzNAJ*l85(A(uHHVj{# zFE*!@YfukofQD0s0a_RD!(fE|z-VyoxfqN0VtvV(BR!<=>J%Engtd>HpP1Sv{?aW_ zUZRMBsrhl}ok?*WG9qi!0u%ftfh~dTz}WVYAwwp+RlkM$QMn-|)R&=i^`sicnnxB4 z3H2toW*|_pQpJXPMUIzX5IqrJtZHu(+neM`G&Xob-IOM7(CNsAxKLLWae2Oq7_;84 zxWYeSplj~+5zorV`LXt*8L^%0g7NMvH$T;>!8N)twx-UPQ4?P^xAdJ87yG8n`>~Jj z>K{(@@Ll?k69wH)M|}4b6#GwJ5&D`YYw9+B6{(5e^;HD&V~JmS=O^WvzsC6TLtij? zXUqmy=$}OGPHkS7`%G+b5(X_3evXL?Ts%B+K0@-(0=tB70QLyK6?lo@p%lO|FY$#4 znRgyAWQwl=P7;0@F#eGb8Y_S}b4dL2Y=UtT*e@B*0H+CV6$1dr!iak!%!D5dtP2|g zJWu#TQT$G3q3kjxXiQp9QD+H$lKNF>CiITOQ^99pRiD2d(EVvQnUF*W& z=?r&BLR*OD2!0+Sjyg2~@Jpij)q>d%?+MNV{)b>z`nxEN3pQwnI`GI@a!ghyfDlhMH{aOPmb6t{2}4F z$SSE9J0A*9j#%6O+~KcM3+tqaxP6RgW-QB1f#d@h#zbm)wCgGnZ<^_?z(L zh`qvpAUtoRjY!k_!l?2SkYPcv|r!V^QQc2r`DGlb_2nHv)M8xeMi!rh`U&mvk= z8ijqp=J~k5^@oSXqi)#!t$z(p>o(4z)NzN{djT$RDez{Vg2q(FQ9QY+n|lp;CfWSa z`ee)>T zIkD`H8TLzkJZaWN*ZR!1)}`0xm@}-~uFY}z@~xHEW}DNjmq9gHUw{hx?5cNNsaF1V ze&ULY-Koh3VV-@8F;#B0!&`S>=g(V>4muSp2?%tRzHgq#+I(G(x!QXFx*Qkte}ppH zRQg>X`s{))T&c+yVIPWWnUU5)@z#x%ezU^5r!vREFQNA29ByJM=$?wMXTtMF2{F>3Ztb3co~)_WA6pExT2 z7aBYy29LRYU8Zddh{3~R(DNR19F!c1zaocWB}}M4jGZ~du?GF8Dg{PdG z#Pl=d9aZQT^hBEV*_0ow@1~|~{%-2E=H|O^e#5jzPxHgqY(6zDJ)w15bS(zd$W>kJ z%pT%I`-5CpN2_GI&#JiF*NtZ!%F3c-#M~+~;m1bt#EJHK7sjLwD*;{iM9Sq9@H)WJ>~GR_O+eNxY!OzcG;JAG22^b?(!w@6AUeP zgfeIIo_qG0R^zOx_PvEM?d+R#Tya+5ULRxWn@jHNVQzjqc(KR+wVx|v^X+ptcI~ATOsBnj90h_CI{wu9y;2vian~D$_o?Io5B@ zT2x@2>KWb^o)$AL##+C~Z&%(FN^O}#)li9{VqPj`0jV{QHC28 zIjbLSq$AG$X8$J}S6SEC?aeXPz4mqZICRYJYF1h;mbN#?S?A+A-ntCe3D!-xPO=_a z+CJ$<<9>8I?fF&ysn$-U-E1Ahb(-}nuG6h{%i3c*>xb(d)-|}!wC=_AZtGE8XIVRO zz0W$f>|!%ywOigbX}0ko%+aFLQ}q6^STo+mG zR!uaAn6`CnMJF%o$4QfHEVEjy>=3*P8@_f-yRlh(2IA~} zXJl3w_ccp@pjmunv-oq(;x8f2asu$l#-l;w)n{C5H@?%$=aHEwQ}K1~ixQtaxrv;xwO#IFDjh6!lvwBU(!L>+)>kQ9>4@)NY3ePgMP2Pm5AxG?$vH;OK z%fGf`FuIMDiPLRVZBNiFb2(VGofmPxj;y9XVQXVG63FOhzr~ac-aNW z%@vk^ecE8rbBN4G9euIr$q{=sPt9YFrbINwh!T4rv!<<2!@$<8zr+k%2VptvC^@p` zDhH21kb-qjj@T}Qh#f)&5X z;W%5Pw^|KI-F}uy$vBI>+pXhB zef}(y!t)#)?RcNJ{LiKJS#Eb0dxa-szUc5=YbocQ#oia~k_Teatb3mGwPxvHmGJ4nyoc=wM#W!wybFkiw?J5qpJa+QQYp#}=cqkZFw?oH z$X|kx(}kGseR$2Qfd@YpTwmeWBUBZA7XXg=sV7J5eOI0lshYkA2JQ-YipUXrg=Zg| zED;Xxs3;9NVz2PrUCg7nz+DedJLHJH!gD7ukKqDW&GIQCSq<-%gr|VXmm%b`HTmfS z?pb*9z-ueF8O1#rB{lOxvl1Hj7W`2fe^DGCVIMo$R81EFgDTv>0cw_Kvv zTUTnjIISes>rJ)tFP8sLX+c>nsu{;2f%^kIbCDzV9>)bvRsACek48WZIbyHyOf^5@ z)%ofsg-sCb6uHVHE4;FH90Xhdo*Ht*y1!NPKC%Ma(t^>w`!7h~)ILyf7JG$fN#=2f=PsQB z4LM?MS(Sdu(PW8+9I;n;FL^#vgR{17%QL^Vj&DmF{H??AYJTrv)-$E(EcOad#{BUt zpVH$j_Wo#mOr(^)>H_gU-}UTF;L z;P$jmhUp~ZYPuX82b^-DLlb*lmhaD>;LLaG&uPJj99~U#sXkY8Ns&Gmpe0vfmPjzsrZ%Y(Z*qdNlp%H!T$VZ;6&6mEg z&}DD^#B+mv^;%cK=6NrE)51QIAJfu0p5MlPHV~V;Isd?#1pC?pu6Wl#k3FrUJKJ@s z$F4o#$~H$@_q>ynSK)Cchm>F(>F*Tz3QFYe#)-o!+-$uL_2g#iPoYjnD%AtvwfcT5 z<4BG@=uMZu^_eKipeV^2Ys!(F{3n_jOo5e|Vz4|){ffuhaU?r`cQg3{$aVQcqU8VZ zSiX0&^FD4SUk&+Gu|70P9%o(sZcZLQAhQ7_@O1ux&U#?uE{A6tyP|{j4AgC#sf(c2 zRjG(lUugXTb3I1GRNv> zcr8B>Z>|3zJMWWb@&QruX;Jc6>z5C5@{EMvw{udIdU}*P&${%(oV=`N>IG2ik(v>u z9%8NdFsI$XX6hYL>N~89Kg_Ux{xCi7#%8LMQ7Ud3x_OUS7aq@PSKCb8_R_O8xZC;= zHkThy&u?g^8VZ%}vRP3!Ur(@(9!C#1lTVA1-xno6nqYPLDBE=^!5Z;Vww;~t_P1UP z=_yD!7@;U>3+suGa`NI6f8V=vuseM!>e*51&ek_jXE#$%y6kMN?~hVnV)g$x$4>2x z;ul0o=0!=av#gJE@~&!Tupvr4KT3V4^$FC|o2lQ5Qa>1_uC=;W8A# z>#W(ID->#a|+`@GOhUJ@l=6eWKjI^IrkKTxhD-Yz-fN^SSI zX8Fe>Kj#uh$+G`-xhEqy1Iy$~CzrZ%n$dmPEbCEZU5zrB^$~dLxH#jzzb|?`=1?Vg z?X(o|M$uv0UGvxc4BT$e@J>(|WQkFeKK zS>nZ>^tsuxXLQAUxLv|1uW~XhU-PkfNHF#OGddx)rIgvOMT&->e;&rGxr;+xPuGn*NhgpZN>&b=ziz$48nv{drf zHp^cXmH&yT{LePazdg~eJcRPsHp{;h`LmFZ9r|Qc{@0u3-=C|EFg8zfH7{W6|{awpo5RjwE_>e6PWXfCqw@SID$m1`2WKYbrlPO)rbU8%L${)t z?HSO0>?EnH)-7pP*Mlgxi;4Bk$+jI{clNes21omx$-1eTfiok|cJ}j8`QK@lf2z+e z$#JLkZk9cO1F0UX9Z}g&HOpS*ytUBhi)Q%;MCE@mDt}xHXRdJ`(k*u0NJ#dBk8>z> zebae6A($z8oy7dnFJf@s(zOH6E-GOJZW78rfx%(-?S|Lg*R`3wA6nv-E_m&Td=s@O+9w8r)+&cQPY3*bYzMtv640Y_UBb?@IZd_ipA|5u}aAC)WF{_Fv`%{;L=G zdlnYqOt+iDD-jm4aOG2(G!rM2qIJnO2j0@m`ca$@HpInH|Vs};fCr3-HBb_8#b z&jnTPs#)CaaAb6R#n#eZ-uU8_nXN9pb1!NIP?zE@Oi7$HqfhU;a3kKGUpBU&;M_^ z@-2kSRV_E}2uAXfI_!v?{&Qs4^O0kTdFGd1yczyB(>;-hF?M~VVtCO+Z`|%H&AESo z)q0nA|B!lDi_}EVs)k5)a>C){#5IWrk2D@U_-)Pdstp~tr`Hcps9D^w?f&ZY*asf0 zt!b>P`nGC&$4$c%8`d>GotFYjzWC}gU(I4)!uI%J!`9M4-3_Dap~mVfO@{+D_X6~W zQJ?Hhy($(NY8J1FuU_p6?=7ub;6IbTu`bfE!#^=2Z+EhHXF|BXXnttfD(6oYmaeLY zJoNORTliX|B6VfH>fwolIVuQ<8y&7`;?>h_=(`RJttDi(#%^+BGc~kAABbeJ{G9BCU9%NNT3t{KqD{C7?ITB!br(L z#s<55U;AS1Lf5bkk?HZif|4z#?lc<%14=Fllw>B|S{T6}oK$2w`5-Tk>u>=nWv9dW zk<#-cfsQKX_I+*RRnI}Yjq+iQP-F%0K2R0@(4jEUcDirIE1O(p;dzx){Jv^mY-Oj} zNUzE?3o--U&Wq4k3}3vdcey`m8#%ZxDg0IAs*K34^vIe-B<}P5IC|}^r`9(TxBT(e z@Ve6QbB(W}`@)S|RwYNm&-ugaS&87l$IDer%jQC2rN}rnMVK4K{Y2 zYI=3!yeV;~zi9fY6mefd-B@=$`gwWB+Q&PDmo?Tt?%w|@`nk>SH>(=gS_cvr{Id={ z>#Kj2(?#_(<4sQd=@-odo{!VaA5(7qtZ7=%fAG%0k>JK3OA(&BGthWvVBf9A2T7>Z zUB2lq_wi$a##fRW?`+(4qN(xD@a|WSBjw$=#>N@(C2LA7f}5x19RQoHlJh;~RmJJCml(3ZN+3KWE~DE>8~wr36nO zZfbld>ENA>r``$gI@E;JnJte0De0pFO+Wgsdj0sF{)+vz%+li2{_ylJNq4sLmHA3b zN>YvwF!y36;g5iZmewpTeYyz^b((qA3l&$_p8764{G1XLP*IU$j7%!%5op|&H0=4N zhC3Tex(6z*48vycSl>6nr#HJi{f$DG`^d1`Kvr4Tq{b_f0_O)Rx;Jt%3`iRGY*R@Y z=0n95Vc(thCfD@vyyAFYbwSV4%Ip2Un97c`138=*CC-eC#iSVSa+iji8gEFd9NAbh zk|oWI9s5|*>HC^0C;CrKU=K`=g@}q^lw?U$<(>YqxK8|?1d4$)GRZxxwy9#2zhESj z|LFF8`*hKWOqY9HhuFs9NfnumwIx}@W;c}#3SbVGl+38e3=a>d6$}V;8`ot2$<^(; zCj12ta`tw$JN4U6ls@kZ*WT}%2K}q)H_G#M6B=Q4`~F<(#_#gYXRJrQ8{1=jBKLze z@!0G_-*bZ~%Sx!vG8p}a(Yd%a`ZDmBQKuR6%_-}TKW?$UXu8O{;rk9Z)_ALyl!i`3 zs^!XNeqeeRm-HKiFf^Q)Iy zH3{{D&%s~hOsnxvIB{{c$5^l(FZOxM1{tA$FfU%4`;6gsYtgX?syw%}7E09jw$Ml9 zeO}+sp%01XcEGnn(fQw({OUcv?bfOTPX2IE8&G#NpK9=5sZAZ}uCW&FiL6OygCA(9 ztqE7h`%{;?Li?G_2EW7xH%3nHi0s-K)!@G{T{U(T6QNxy^&M!Fa&aGSH zq6PKlV!Kll@9|+oT~6C!Yva3-rL8x46Ka=^sH!g7*1Ns6{-^evU;C-8tHmDPEyeAz zzWJrx6ElA-Oj)I8+IwO$))nA=%?W2Z<5jM@GkGoRIvOYM3hh+wtiQ*4^-N%FW{f{O zxpQcE7}Ym=GotuJq} zf83x{BQxH&a$N4RHLhjD*cW#(|M`hahwcB_bB=Li78X^etHr3@zs~gFppwd8=f5?Q72hjd_$Nr8R zH^lfd^5Q~c8OKDdluQPyHmd&nL8l@FAOC>ARa2Ef`^x;D%@MA$l}(*J@jGKMDAs|d zah`Zz24Rm#Ao#h@TNgGqcADjO;pyf$Hs?-`-+=PsEK? z`B&?$$cxrR-~0TLe??*<7oUnm8Y7Vb!(u9}L;2}`J#%`FHSiX0=}Ft;GTXO2zVS2K z{Va0&lgO@5?d~o!v-R8yjnF5wTlmx`8{c8_k;v({BD>zUZ+4m4!Kc31_!`OABBx)8 z?Amv>E{B}DM2uB`iEK*t)+Hy_w~1Z8!p=`rD`9TwAUx+;TDK-4JhwFMMC!&Jk#KlK zLydpaDx;w$5Z<2Dur9DR;gw1K`#f2)E?l4JpU|iHNb7^Ei=OIJuxexE;Pw&W8h`zD ztBidK;hI3;nWT*yBH@~(hGYK5h7nZ{1~#sXgf|2l*7@fr)K511Jn8eoOlSjZ)u#t~ zv@FImtUlsP$Id)D)<`Ka%2#;@RP6C@iixd{abp%YHhvqbx37&cv-CRDO2S*c zYh2rxmwQX*mX@B5l$85NZSkeXxC>q0m7m~v;%nu+xeQoX=0D)x>2{`qFBx;P3@7Ok zMqyct!ZPnBXkB{oqX-yCeL1!`qs$v$(Chxf;fdRW%h%lPY_n@zHOmX*<1cBI;JmtA z?5eTQvt{YA#py!^LtaqSxWR=ySPg2wV?}(vR;U4&#G7nAD}eGBjCYFPPUEjJ0To%} zLRI!Lf=c?_Wo7=suHxnA`P$XQbo+Az)4O_KWkF4NY5dN__m*vN`Gziw5AC#jDBT-D(Z%jj*T)yT7F;px<;cv~^-qW1UmW(S)n%fJ17gLWveooz+Fv*p=#1(3AYO-qM zVkd08?mF%Fd&R9)7hy3AYO$ru;*g_f{TRL7HIOp5hoOy;ZWu`0^*fEjnedU!k;WhETE*b0A#vgY1=e9Jk`&B(WVq$R{NZO4Z0nG?U(^oWm zF;>ienY}X3JTEv>bvp|AhHEN&gv(Q7l=kFYS>qnH+!eZ9r9ZKMV-bg?N91(3$gaYu zVY!6q9F}4Ek)^Szt>Z>7ABW+I9oCtD`dd-sACAEpH9OQLf=(P>ZY-F9$Q>7SLp7c?u}A>w?Fp@CQn7o3tG7#) zgM0P$p*2zpd%M8EZZg*uT1_r$bC%4nE3sPTS%YH8HQu?6kC1 z?VO^ga@#GsrKvu{TbPkp*E+UOpI&)A>h?AH(rfX0QPqs~GkraAOZc-3oxh+vevqIH ze-yJRY!rs$LJyp+!`yQW_q|p7U9;jHNvHt7OY^PRTH>Ul8)v9PZJ+x`p zrS);>SI2D^~<=U2p+AwuRZrE^J|58JyjL zx1(-`Z%w%i^Q0QvB%UmVmy}+4S3vKQn_hQ0_t@OU&T(9wwP0)FU0(GG>xg4}(Hq@HB#=b2~IC5D|&rE?SSx7cSa5NDfj&8xyyYiWo6u_?v*S?NZr~pSI^#f z1G{BHK5++d^q2ll^eR1c{5kf#{)LxxGHjbRAkqcQ8yR$!NGG$ zB(l#{zOu&s%FMRqDJ27np2|vDG$c~r)?3|{>$K{Ds(E>>CuF6v)|h)Zfm}nwz8OyQ zu@12sLw~e0{bt`Je#dzPz6f4n`xd`xncv$nN#^Bdkv%-g>=LYr@3x8euU<9j#pf2c z%9&|i+I?J%>ASyTRA6|26RR1WIx}n4x`=N+1y9F2g4zjzasAEF_b<4=_>r0z7})zm zgdZXIk9R(rwL9hffQwof*krR?7%S)2E7&Gvx?UC<;ghrjY~GOVx4w9m~6Hy`g>%0wlT_fIS(8%pS*VCCoJaE z$m!#eT^~jDwR!-+V#a=8A5Av9nt!!@t;|m5D|TTkvvbQ^Ha^dM&qq#gi|pENPibZ5 z1vf^Pday4a@opbo_v$YV#~Le_CB4(zg?)Z${HkYgmMIM{^FO_;|L`<#VOnBYYHXh# zy;dicrx!kVPQd_wml*z@O8VRwLo@KtJK)doVUO(wsDT=S?c*d!Y4W?FFsT)9Uck^z~Bw!=-tP7=97JzGSt$u3u{G`w;k<%|ncI|;`zWJqVrwcpT0sH1uv$)L| zbR51sGw=}=j|8_4?;QG$Mypr9WH+Xoz0F{IQ`40}bI zIUBvwKHW?+2im>T&3v=m9+z&Gd)K<0c2z$$%>Gll*}-cpUA8@;4j)*zmfFYC&2+zf zbUNlc;0^7CQES+Dtt~uJm9^2ewb|XY?dw~c^MYJ0PSbee8J^?(>1bj7=NnJ+^Yqt| z(_ck)okG9JXZvqhM~vyguaiDH8OeX{_`2}E#HA}y{%RM>$2UX!*B<&ur1T$=gYWw< zc@%fp3nEF&}X`ekzCe)7VN>$zChM^3Me>{@qrvFaQ5qHx4%DqEcpSk3l^ zo%SXa1S$(M{eiDb0)fiR-R-koE>A;*+xbz9LDCsq(oFnz2z)twSNol|=D)JnyF%*B z;=#Q;Kfkd)oSV4daB&@0WsUlMuw48;Sm=;F3#-QVo@ZWd-REm<-*TPl*|z9B^9|Ep zcz5jG<{taKfcbbg9HNygkno6veI?{=H-fOY0xqG2BXppaiQ{7ET1E>Zd_;IV=~0@il;!$GKrD$fYIouA4fF$NePX;tR2 zz<60g;i*ylt-$StuLaf>dJI?_4Fl^6H2_~G`d@)F1gE2*@xVd0Y!)II9#x}zfo~HL ze_%lub`I8q*7$*!ie?Qkk65&`37C$(Ld$M4?wD(EhE(rT`A3mPG)-VfS8?*P`CLdV4b%Sm^ERQ_Daao_F3l4 z9J^DtS=ou*#^f>Z`S47h3m*{t6v7tvvrF7*t##vQNhf~>e3|`lcQY-u10XGpMClA^ z=}OaS)-_eJKKuL}GphwpwoF+GZ`k-Xj5I!6QXR;3egQm_)e92a9?mf*nw=0;>0FEj zlKzAg!j69u_;R~Vp1BZn+mZ6Ov$Uzhz`BUP0(XZ7f#HdomGQuMy-x8-z;rZCOg)s2y2oBy5aY93bTKRKcNfR{f&nOKp&b4ac;;RxA=|SEz7ISt zy$;VNk$(fe8$9_4ysia-UO*YZnr{oxLG=BASr+nU7;_L|$I#FsU~P1_OoSF4UA|y0 z5|O3`lXnIe{8Zsso15TU!;_y2uWLCUxGOx3Z->`&iG4-Kyu?}X%{s_=0A}EiaCJnO3D4ixVuQ$^0@lm^R8DhL?muagDH=CxPi$En>Zw zeiy|PQ%lo7$n9=tzL{>{Uuc$hVhVGA39oxR8@19re|f33eNo?-w8T!3ke(o`nD@gV z?_X@hO!)rr6ubbh8@2;jpX#{t(Xl*Y-c+dn1zzjV0C$GZgy#;RdDep*{SaWzF4zeg zT=sf}&IYDI7H~hXJ~qA|#UBIKJ)H=#*82cDA|K;jae++P;X?EQXTtZ5;(3DXW?bPU z+>8kRsSMKqa)B9N8pSUM*4y&yOoUTC0h|q-34ad_#CH`D09eHAg)Ncir?lk@ke1Y))0A@MVabJ@;=`r{N zhc4Umcx-$7y-!?zdwwn^0tXYkI?yl&bB>3{Dk2G&MP0Irn`kCB9>{Zp}7o2rXouMUJ~{G8~+ zW2iSCuPi&yL~*TiOqwZ>A-3YbDh(>Xc#U^)VYSpdB{xG<+UBRc)d=lUUa& zJG#7n7n(LsM5)$lx=(9%wLI`YJNXZl#R?%oGHzF=F>EUyBdnC7MmrimJO zJx=q1x%A1eho_!+A3Pn4Ax?oOe-xgMJTZ9}{3&=ZJT&?LVN>IAjv_t@pkrp@bbH*e zn673Yx~rr zp4Krvd-SqDM9jtCFGE&WQ7?+xn7!=dG~Hd(PTrXAy?Q%E6crRph91glOm`_Wrl_dM zer>2Z)qeCcbD90n^q7uz<8=J?*>PN!+y)TfrG%GCUaEKr^U}!6aa@-0XVL<^l<-o? zOBF9+UK)8huF&Kd|F$lxJO!rhpMsxCn~L|40|c`G3J4Yeln|^0!0)a3t@R57_Wq5r z_ZP;$^1rheqFJ0jNUI&~@u`k>K@#a8*y4Oufj=5uqXbOv z+bqtXjLijq8+e3B0e(}(uQ%>SycqazDt?2p5OLZWuHqAob%=`#s)R-mtiV6v zlW`;F(Yye7fr?KtK1ZAdKCj|88GMFB$6-h^9yYuH6~Imp-ePn>oL$asCmGf3LZLWT zq&MQMU?b1o$;R!*Wz7UvAx_~q_+;Zw;}%J0kYp^}_UcvUI@h)y*P46H{xc@ubi*yT z&$y1E`om~*22^k};Z61t+)#M4gvjYCv%iDcYV0xvFS)x0%N&Y_&=d?=7la1|vnP)T z4j}wo@F|4+_)R?@VGa6qmK*D1%6U+ z7Vs{?d=7ptdPo9SLva*dk4)z6xWHW~JUL>o z@C}HYcTj;JUJwmAVz2Nw3eRs4_yLKP;|jYsC=q^DuthMxPWV(XKimBvxC?M33U5In z=AA4S=U$}IC^=%U@EO80@5O>|K)4+`b0+&Aj-LXUnIy3n33MZc=kx37g4w-0kY?Vc zB*p{6lOy&D|G4m6s%xU~vr%|2*FOv9cNC2@%11VEZ)uTWukhar&wIcR8e_TrDwtns z(940Vc~t9|g=`!6Zkl7eE%Uc@Hjd*TYjoj@T=F33;@c2RS-(mJ_x? zK%S1+E4+Hv&4d9UnQq>T3ml)?kS9m%6+Rx=ybl++KJe6#BlZgK12)yFaGs%4L#~_} z;nS( znqsE4kjd$cxm|DwXSM;5iqk{Rp-72y$XdZ}gbjlGm~yUzhWz)!b1Jk#8uPL#>4I5Y zhF~A?d4f}b`xQup;jJK;c?&`{P{4D6IR(rrT;QtUsUcV8Op6+!0tkuqv{)hhQwX!* z^|S~JPcE#cML#t=VU?Xntf$2`k?uvPITk?eEvh8BN69xV9+Q6=!*nBT@#%I#S!aCQ$meQ zSAJlkA#%ie(hQ(x4lZ!COAR?V}X~Ddoa_2!ZGn5PV3O`&ji~-NFH|OF4 z$GKwOW}kW5>}eO?V)kvZ9z;sKld#ji=N2mPAegY>YYi5CqyVz2P3(fu8b>aji! z4j?c~9jr#DukHWA-L;d9Ihy)gjoid#j+9q(p*?B3`F+1?7Ky5}$a#Wk>H)!=H|l>< zf`$_!EIh*od&O<$UwiNyaz4JG8RAt@xMj>)J}nAo*-y+cb2}}9MYx0T%-uz>S9mUS zvkt$zk3p!j<8Q~qYT2yS7Kj{Nw8VOj_GJ#4qlHpca>RO$mJ5Fy!V>Dm<`Ch@5o?Z^7q}rJB}c3)Q7Jr+=@SG` zML1b7-@TY2m=D-y3FiNiHWju^nOF0KCl_QyPq;;rz^|Jh6HG(uLkL>WZIIOQNYu6aOfrxo)|LB8c)l<)i+aTAz89Vx zv93fF;-&`|xF*q53HE|70QSbTbtc7K6u>Yi2)m08yWsJeSbB5qA7`2u;>j~N7rkY= zDJY@LaZt^=3x9yM08#z>;Li$%O=G{{6oiKaqipq&n|eR+JHn?UJRz9jje^<20K7h@ zaAq+tIbv^>VL!6SObYUB&V($4#QL02C;VdwbK&)AWvTGwi1j(43pKNGfvbn7O>)Hg zoUlgtuMsvnIH=w!VgKs2_p+0q`kYuVlOk$lfqX0)a>RPp7gI9_7r2w~tOPk?eNF)U zt)gDT&b`MxCn)v)eG;-KkwI4af2T=SlK)!M>fdPkIlR5~9y1R&!Q=Os`NROGb)n`CT;O;bpdE6=dR{H!!yG2O0dl2? zIJ4D9O%{yG6dRou2wR2-V$Qa77ef0y{yyg+3?=B#HGFIskFKk3TOOa>RNc z=e*FTY*sKO4Hr1|2@II&W$@(rO4&fc^V$AOC2|u&PCWg8Gw@)^4CIKt+_B&|@pOg8 z0aHVcSXXG8@O-ew32Z)!3!K^%p(m#{Mf^`R$}PZ^hE6hsH#q^|SSERL#9ramG6TOI z9A~x}#syAo_u$D9d&9WEwT0I`{U$JNl6#Zo>#hy}>y~{COc6O^-LiiP{}aM2cwNz7 zgeOO=E2>tCw4Uc_+9XHJ{}F>dtCoey4*+mIMbt&G7yM9Q#`Qs48Ra^HQQ!K&wa z+Equ+eo4aw{Tu z;faHzCBiRg#zkR1PNtzNUCwD#S7M>?ti)o$tOUQVr-qeSE|`^AFPPyD!H^lBIXGzW z>=}bXbYbeTvJ|ZT8(d(%W5UPPS~FWP-v+A@9Dq^vWEgt#JeX0>j^{U^#2k=U1;@qU zD=-)4l}xAh=^(f-!m)zc6E_GBK%>6Yfu1}c z31U}%$`tBl~FFjp!3ZS zBFsELD)WM<%nPG3hXpg_%ZO|M-AjT|U*j)=SvkI#sJa^bhk}{qw8H5B0z|%*gd$+| zbrKZJTnx|5tXx0AY*~q5wyeKkwrqr8h7$#6fnO(>Hu-;i>0Un&ln4trESLqnEtmxy z5zGQU7tHW$!JHH7u@)-I*ET@S_petxtwA z8X`xmTOSa<1Ysw^e4(?uVD6s%1z(2nTEW~oomX4$g+;h2k}yWFe)Lv}xc+Q&w`j-_ z>(2!b3(swLJoWQ%f#WAcR+=2Ke)9I5!w1!C*@s2M56zPx)Hm5=+3Cm;>zgcRGmUaP z&JxTQnY#++_Bxez+v2gqG=Ej>+v2dJYOQ2E%+gXGgtr*J8*Tv zlOxuLu$hSS&1<@Sq9I4@1z*hl|A-_|ctSAu>{&=N>v4hmS$J~9Ug6cZ{pg8K&{rYN zd;%A^48++(Rf4_3&p}*k_yf;s|0l_a7S&KR8yC1sz|#;pVm;m!!t>3RDT4V8BfpBI z{w{>mXv~!azV%+q46AX0s}r6au~+!Ti0g0B>P172SbvMQS@=eT zFAL_4Z7K80aD1b9^gl^P)OY~9Az%wyB3v1jp^xz7h_yaUjZ8F7Lgpn$tS8!PYGhxT zC>nATgA_@^Or3ym4Ks+*dxR%Ptc|XZGP+zeZ)JV@=E*f&gy7gm(=N}u4kHWVLe%6EWpZ!||f6gSBf03|{1xT$Q6P_Hg z?yddQxN(8oDjIUce2L5t%-b`2g@2-O5OLkGJ>~ZELN317Nt?(}*%!SuBE#5qsfh3>QYNK5! zlJVOFObt0=ZM0E%{zXawyf*r>@Z^ZK%_3^V=EtHbx(0v|ZS-eJh)4ItI$dPsBD_Fw zDZ*lCO!h6@wZfAl_JThG%w)5>^M&+WU^tGLek%7mF#jJyaz_QnBV@7Ui91K(@q#&h zCJSZ}Qw4Jd+#)yyxJod?;PVmzZyXWK)6)Rg*}~KlX%x%?_za$vU;!b)EMSgc7VwB* zhR+CQ-Uh+UyV=1(b@bmV3Cz4tFvFvQ*%SA{v*6|6LV|e)nj@Hh!n0KH4uqW3`a933 zgeOO=4_*OvKA~ke^=J|W1O)5vJZX#tb6B$A^~p<3CGh0bRFV_f-$Z`~p_D-n?+)|#Qz$ndJy?@%x~Vm-WU z1S`bn9~IQk!UZl>cyh$*K*jdAl>~kS7=gGxP~`|uj#wY4MpNT-oKYkia>V*THHI48 z_30*vh8(dz2UQ{-)cY96mbE5HtjBLW;(GiRiiRAq-p15Z9OQi++$8E{PN?^K!ILA_ zHm9Do88mi_QIf>k=po@xBYZase<3(N2165tr_rd~{nfj_D3~0vzWdLh#*GVHOXN>! zlkR*hU_{^kK^bOOyK<@7HF%qns*8TucQs=CZ(Dh_hme;1q5vW!7TVw2L}~U6CIgHfK>No;7W*YhNn@!1#wptt`^MJZxH+!ga-uwh%gsk zPm_bflOxvCq>I{2|5><6cs?#klvWa}6AJXi z*}|VesBXXDhXfHRkc5j67Qv8-c}1t5CqqPz*b9Cpa522TU#ra(8ggoLO?U3seW~Gu zfEz0I$q{?O)8-i9AX_sN;Cc~FLdZCIj`tkF^ARqN;#UiP7GVjD=}N0dB*;rnJtC1x z51qhlW02NzTkeacWzgOTt#1mzIw@q0-!kR#UPHcBK3Gox!~Zq;7KD=pBXGV|1kXONf~SVLXA5>CoGX}X zVX0t-D+ROUU4majxL+{4Ef`?cq<~I>SpZLSB5sE)-$Gn8ksS5q9I4D zXUvnr??Kq0G4F90}xz^_}e%$-tdn-36d2htUDd%SizDwrI!^>+R_8!pB2@LNJf@jHk3k z|8vrDQn5xn(R3C}zOP^wRu02@JK}7no*c2>Lx)nsbp^*f)Q}_AyU_^Y`I(`D_d2u;1q-l1TzeFmk5oI7rYQ5 zD*IdSOcb6RvF@D!up#JYE~s9{Dp-rQL^a>U-Yc%x(tfa(&{dFatOdT$=a z9OvNzr}k!GHd!4bfZ60*;i+*WoFSM^zF#myzB54$*ZJ}&tTqPl?3RPV(|+);5@F50 z5zNBA7tF$b63oK5Ij{hRmkWOlLVEHw2&22SQh0L2&AOCx6SaV6=73<`r!+=>F~SE0 zKZ@|-C~OO63)L8`0f3{9dC3ubh2JdviwJXBvR-dnB_S6fv0iUofc1K71g24P#Cp9I z0P7{juBV0^v2Jk@HFw|w_c1&*MQk}Ey2Zu7+RzCRkt5cI`cfl?JTe^Qh_xM#^Y2aq z13!TufrczcYYGT2GQP`S${xc3NV$!1yes#a6H0Ef*IZUwb7BwzH0>>5+bI5W8Uy2YjTk(|$IaKC)T;Nz)>d6s% zh4%rEGS}e>#{wxLN$eF~?J(e(QH^VV0Js!*eMjLWGzXBCsouq|U1xT*JFme6@8DE) z6w*?FY5$Lc5vcu{JS(RrH88_j@Z{OZkYMJWBN%~twO{95Dm=rLf?3BP+d&a4`Mltl z5$+VsM!hMRg}o)1g}oyff%?HWUD!$C84eUY4I$^Ro}=Xs@4R%!h@MXYie%oXTOTS% zPTl&1r!f}BmSn+eqqhl9j#%5wrAG4dWXinc>bSu4%-<>rY&m;?qSFYw!0Q6`3Qvw$ z7f?Wr6!4j7$PsJ%O~SV^qvkYkvB@A<80QtSS0;5a;(B$QCmM3ZYIOjsc{Tt5&JSqB5h#3eAkl8ZxJ>u?~lvJepGk=0daSXikw?p*cdO1!hKt z4VD#^6_r!YWQpYzm2v*hv-euE_K~R0nbf}y{bmzW4nh?K=NZmby$-_p^+l|4?MPaKQMyr<6sA~kteOBbq;TlXOAM- zKEf`!S%^uj1L0OgVs_?T60^h0C1$7nMdB9>%;A+X!(M(&Vmk1;#1z^mF`Yahu@7md z#C&A$xW?OOt#E?8eWnUb`QgaZIr5_%9Iy)tv;zCgQ!12b{5*+i$iCDB8P3mpB+pJQ zml#FPBRc?`p7tduV5Y2`POv9#;L6C%0%W+s5N}5Mw8YIw-kI`bciJCJfJ z8PDS%g1zg93^`(t1Oh%zmYs)y7{$PmQ5Xwm2PZ_zfoh1#C zBUT$>0cD=UKZL8K3^`(tkyNM*wDrv$=em&=kOd`%8(;g z&zjga3mlnz$_&N$GmuNdVH6c^mY81NDzO*o5{YSKrNngj9}=^o{StFdd?oP!q&`H0 z`xJyph^)&;%=$gDAQRYl0RIrKK%@{kV)cu^EMS8*B3z3|8FIuP$qxrsm0d4o$Puf$ zHb{PAEx_MprVc6R6^*tbZIPI*$w4&OB?#{zCJhxiFW{$C5M^;LqVk=2njlB4e5bZL zTI@p^I*u?Hk(ixNig-3sdxU^vfd@&x45=5<*oJ=yX(RBD3M7d=vfviUkEoBlU~D#0 zf!N28a}3Bmr0q`FB%yEAch<=67$7G z3Kwd4riM$1*=B?V8eXj7r5di(@H!2P4KEt`qoW){9W0RexQ1gdHf03%8yy@Vf_ zMmuT+q$K78Sqk%=5ek>uSd_kG+&4PLQR^fnF`sr)I9|g8Y+QZ(%BKd$Ia;k`BtD?w zLpBzNUN%OJ?&XMP!Y4!G91Ty_aG{OGq5je5)jzbuSZM?}7Z9>AaSVxbHSE{$3=J0( z_jYvWX}C&iD$I4?@^m{9ui*h2&eCu$aX+U8ehtsiaIuExX}Cfp&(v^7X}D3tEgEjq@IeiCX!tnSDAoE{tT_rNY1pUX;Tq1?N_b$ zYB*WLnHtW~@MH}aYIvrGOEkPd!-2(GW~qiNHN1{EgG~A})gBtE| zu(SOg*9u~>S5uWGY1pUX;Tq1B+y>oJ3CfOfzEhr(VBCu=xU!#NtBtl>fp&(v^E~^;oTZ;)$jogAJXtK z4ZCpos+t(^Y8k$PToq($I7h>iHC(9SnZyI_?sS!Cc!7o&Yj~-HosFPUD_E!DT4J7e zBW%-fqlQ~F+@|4!8t%~WaSg}zMg6J*{&ZeppN5BPI8Va`8ZOfCYz>!ccoFgGPGiay zX8TvF3~-HxH)^;}!#gzGtl|9{ZrAW(4R>nT!hw81c@&R~!UKqX@CG4E!?_yvYj}o+ zi#0q?!(|#?LY!us54b|z8P_Tehc&!e!wnkVt>IP;AJFh24Ik4mugV!|&ir$E?Tqb_ zD_O&t8qOh3cVs4OxKP70HC&?M1sYzg;iWtXQ${N_yiUWl8s4ViMh&-UxJ|G+d_ru<)Cy`eyivn- z8s4GdW)1JxaJz;NYq;|SM*A%sohc{cH9SDWSsKpOuwTP7G+eCVc^WR$@Dk$7Ww(U1 zf>jz06AyN}ZZq)^2RCSVw}xA7ELvNQ`+8?Nq9r)O!8OK`eYjLAsiijM6jy3^orY^Q zyp4F6Bi~4z?cf&TGaTGTJlw$tiAOlNgLtHa1IL*ed{+SVVvAfnSe6PEQ zi06Kd&T{|iWZVNxn{=No(`!r-|7-M6!^w)9&VuZ#vg|WS_WH;u688?YvfLL~j&`Xf zT05hMik}Bsr;BU$x?|ldEm4+X4RKdlqH?c$NI>vnDV&tOYhNBe&vDxRk7B$087YU$ zns!)%|NKS23Y24b5`fsx3_|D4xC;k4-o@jzU>UA5xLyZ9y&jjcQ4}M5k?6jG#vTTa zEySgCNYVi3k23I;W8j2-E3Wunj&cOh`?%dIciwgE zbx*M}uLw_$>KoYG!@zMEsFVh#Xa>IS;SjG(W#jgR3d*4`de~ce4{kBZInRYbIn)ar z#;e<*&G90BQdHlGQ7E90Us_(Ww7ZA$H3O$R22M<=-S{d<8+y2Z5B*ippA0?r2v;EG zz*#-?d9Hs9GVHkDxoJp; zxVk6NLAeuzShvCd z^f0(YGkA$+Fec{Y2G+nHZ;Y#;9CSmD*l!nL5!wucF3fd$cp0Mda8M6}vy-6ozZgt8 z$sp{lz>DSN6yh?i>`m-pkLP+n^R+Q5C=buLH5V%b9sGl4Z$}S%eEiIf zid8^E(EkYaJq#wTciFGjr@^ZcRg2qu7);Kab=@=PMsUjQ=X%&XJ`4+?8eHlsgHQJ` zcyMd?{uPH$Ck(dqFxY@&?k{Ob24(M!9`+ix;psm#gblvMB@V~L^p9SLgE4$}%o`h% zo*la#$7FI_|085n1A50f4!%+4|hSt4yw8NJ?w3Sy_K@Le}bg)=X%Fp_u^WE zbC8A77!zfXx2lQ#BoT66cAoWP192>M!eF^{Q1y>@lyhuL9R_7@?MZTAlSkRRxkUT+ zH3XG`;iH7F)!jGoos$&sAdut__26eq-i;$SPE=)Qk>m&T;8%_kjbp986UX)7YvFhr zJ(fW^Zr{NMr|h}OvOepQYr`2hUH9{k1};d>wa z%pQDmjx&z8_TUfX*!`Ty+t}C^xgWJdXO1X38~wNL|KOkdKlnyzU$Yb64u3xAA^!{7 zOa6!dgZE&6srz$W`ZM5v=O>==KX~V%TG^Zv<8v0|*uOlaVW8bF;KzC3vC}yb#*Y>` z-(m&0Qp&4>KjILFzZ_OULEbs%9PrD6T5O1XoR1q~4I;}R;+o&X-s59%yo&w43d-Ib z$6ntP2FrFjf;70c`uW4D(GOgVCk?&Tt%uWlAIDz196k9r6y9DPLE#eYE|yrUj~GKz z^2SdXH$KPb8=aG*{~tH5{_G=0PF!@n*V_7e|N1|58on8S7&|`CHFEClw~xGY&dt|f zyYTu&3-8JtKX&|hhrI4qd=2fEvTNtv3Ub`olgU4oksRZYbFaJg+Oq2x-uTCP*FuQ} zqw6~g+;2UW_J6vQ>+_8no15pWerV3ndiPguU)<^cFWJ2DW2*l;XP8k~fAeAY18#oc z+07|4F5lHq)rJY(^lPO2{`{&D#v8HjsyD6lI4fpuLYBvy9S-@zwFy4o%y7DIm?u5X z<$Wu>A%6af)4mLswWr4qdDqJFOpA79dDed$nP%ZWH^}+#_B(KXze9;2zloe|;Eh;M zdWy$eF~aa==BF2$13O&ewj=I7#?^z;N# z`d|0Z%-E{+x#b&j*RHKw6W;PmqaTp@2&q9-TM2ROlN=SP1Q zS$`mMGWAKMeSU)Y(@*Z)#0#DXz7uJWb$J)~xA``_)+_jS{YyW&D-Cy2FVT2Q)M*#a zy3`#!PKhl)MS?#^j{X>FIu`k~*K(uoTi=GT5&Vf|(UFMj;iHi)MO~YPSe|e%nVoXT~=MV zI?IB}__;A-GF>^NtqI15b5lmY5rK{Q_r=%Vu`@dOCgrkLXSpFK#{B9YJfk7v8xo(B z&TblJ?J-=>Mh9P{P_TjjZ|ODb*Y9hM;C5y(WmLfQ4gMZk|9hmO&8o`k)6k3F_YoU^ zb`?k9|Gk4!fIi2s|- zJ3(a{cCyYe1IP_<+qqS4^FHK~O*>aImvEkz9}1U0SlJ#*IJBHow*HY=b54|K zD~tABFm8@(^p6o=$)ab?;D6cjOFAOYnpsg(!!haUuHaEp{;9sS!;zt@+|&Gcb(?>6 zUHY({eJf6_*mI4)u;lW@aF6tLM(f{e#2nt;WXO-~sC2(+kEw zCJGs4mAUO7B|K}k)+B7*<(psMKa@}#)ttO`6DECfZT9qvVZ92Y))u^&IW5(7sA}u; zuhpDVwaE|*lx~@zo9xQ&q{y(HQ(5HZ-p)~?N6ONylFQ@U=O)mXq47&%O44oNJ4!Bx z?3GC)xVqu0q=gO-zQF!DaDHA@o;m*ZQ+D?9_76T!%9{wG{MyK~R&X=(c~!*=oBPz7 zTcfn0dMeVM8S9$T3qpUV(2y6B3#)Q+a*Npw?PC*sgSqVtv&7s4bEfgMs82A<0$A!Q zYvTKU6x;VdaW$#IPq-Q#iYtGR+t~8B=E=biBjqdOceVY#dBNtw;HR{^<^4$TgUHc$ zBTet=E6Rr~ujH!YUNi^a*|^cJwjRjBmteeay-3zsKUze)g&3(u~DbbH0fb$K*v9U79N{PcrW* zoN)fj?ZNzT_}IH?{p$0qQ1ty#uA1slbZ1=054jzWhdb6(mahqWPyb7+GK>9Dk(Ly$JN85J z1o25Ltbf%VeV=PZQmkWjWb-ap-USL$?6 z?LzO*!GF<2VbxSCcIxg9zkktr^_jsh$Zh$cEA7LsqwjS!?eF@u*D$pU{e)$h@R&;< z5iZV{n${=yTGv&%n7oBCMVD2U=VCJwhm+0JiT`+GNWatey07kyMtWoR42WbeuZS&d zY1>m1*_9SQbbveB9l8Is$ozipX%&&ZmfaQJn5%n7SBv}5s(e%oNHymUUy8HY`w=6Jkx1n1j)=3fE_5OHdE`_iUHmw# zbF5zd{Lhon@)06&fcb(kSnL^K4oC9i0P~u_;Nasl?TxLNld>T#r7CT3`kagnbCRp( z3@RDotBI;e8?<80hPdg+*H*>l&mWdsm6meg#@eG>$|K>w%}iZWSvk|UCZTRqeC1l- znxi%8FoD6ViSs5`{w=C<#eJ~4C&~r+MgOaOqG%mx<_A)u@c<>J!L4-V@J%&UHF3-C zimgekNx5Ln9-OTJY>hL#E5gtCHcU4bFH4`39E~%S+C*<$ZT}6~uB~A!9NtznXK?UZ zTBuEL7}}QY^?r25o7oK&!HXj=E^DiLv!bE*`g0@YFZ;IM;@UMQGk7^g(cWEYDVZxj z+K@J2r#pBFxoPM)WcSAHbc?44nW^TBrK?5rAanA~Z*55Hztaj%q|~}!7e{4Z=DWPI z?DFu9@AthUsdV)v10td5@Z||b#l9<}r(NjkJ1wy$D*Ha4y`_iRmi2Y-$#$(zhy>4| zfttQs`}V3$X^M}8dR?#yt2{RPidi0XUqf85m$>D0b7Y|6`BQ5+E!V^cJG;Vr@(F(G z3WsMB{L-~175kQO2+O~(_6|%-FYV%>&STpj68xddwzmG;uJQ+*9a1ogMH|wR{~GO$ zyJ2n4`h#6TgH*-(+=svET2WD16Kv$cW6bh%l+#GswLRDJwo68UEz^R98aTc`K z3=M^rt^IM&5zM=-X~|V@`_|Oh4Go9F>;KtxV+d>f`93q>_^f`V&pg94J{JucW=^u1 zlW&b#KW}1g{yP!>IpI+5=)IBD(DK~XnP$hVM{f!D$6~o^Rj=vj+m<1>N75~5e zO&MyA==S%XZhz~q8ft#!4p`xh*lbuDSSqlq> zH5hm8FFvF2fx8~KYjDk@mmH3S;y77DzU6VZ^tyAEg-eDP_IfsYSJ)N&hK53!wM*|> zdRJD>s-0FS&X$|?*6-8si)qhZbEk!Q_8G+ncJ#$Eq?R4I9C7*KitCH<3=e;H!R0C%i-e}uU>A;(!g?aLvAIrZ0!H2)kW2Cj%s#tS_L-5b?! zFfaY2BVJ7b1m=l-h~)1nt%BE6V_I0TWEEv)|HE}yt& zlKI3n=OfE{_9H6M_knTG$>#r!6c=c0d<^M8i4!1vro_{zh`?%ymCSY0x!xIWZ~b2; zoAI9N_&<9^?_qB5rM&A*S5_dFAkv5bATrPnF)sv@p97n$g8WXGM zAc;VEVqT`B{0@yr7D2RsQF4EY`9nzt z$`Gqb!I#7_kSAvC^vW*>;k!{@anJdt_mVK0%=r@)H;g2+G_;!_dH zuR>JKtFgC$DN{}Fh)mF|GY^r0YQ$>zE&|3iciY50)d{zyihEW>d+RU1z>GBloCmc1 zI4rO&R1O38lYG6#HvseQXFB4k7$YSg4_qYq5{?}L?GP6rrTj*XCx$8V0sG4=@lt5J zETD1&@MOs!16G?-0(wAIoCrKt%A5jUmjw^_h<&@)hh zxEE6L1sYF`OS(2+r18XRI?Ri57NHSiG0FB_XwDo-m)wX8SuX->ATC788u${pT#3JT zCQbb<7vUOCKslO=#;XR*11^!$yMY;Kk@z>HwD>9-taKZJ)$I8vFg>9>ze>ZD`Hz6l zM@rocw1s9-mg*XU3phKj~ zVO05?9{B>~=@69@vE*JR%i*sp!S$=_YUF*uAKB$A?Jpn!+JQQE^{|I45(rNHwo%bT z;He(@tv&Kh$kT8kVj@QHlOE;&L7v;mJiENo6+xb3?Z{WTyl71<>z`^1ta9}SkqP{b zonP%5hP(=_CYG)xD~^1GO56F9%ZY*{H4f~Nb zZa?1O8V2P=*OT_=F}f?Pb){o#8;;7R_>h! z@CUa3i!S~`UIo?{nA3w;)FZ#FM}AF@d>!)KUw@34=z7`pN{{k4k>?y+Z75 zA$+pvQfXr#v4vNOZmK^7SasLY@_- zBPP1uaE(Kr`%lZ3f75jy@^rY|E)Trzx&#Er=ti5^Yd@m|Xa`of2<0j;U(q99i9EYF z7DJbaSBE{(qkMCZJRe1x3Hh~jD1bNWyxBwG%O3eik9;pQk3BRIF%j>r>yP|K;0G}g z5?$}Rve|qY=$U8fbPhDRi&whUsG12w8>qq2OpjYa(59FBdgKb;|{J@Pm9$nzZt9QPH7i8%OOhWv0~XJ!We^PRbv3{V4Nj56XXZ#nCW=lRxJ2$-J#!|7yTo;jXSqysQ4h z3Uho+eeV_Kax1{?oZpdT;4)48N2EL)C8obTky88uiRt$si8GN7m6#(`Ao0~mFO>Ll zq;n;{2kG?=?r)#2-k=q*kd>{hpY)JfWTt$FJOXzUe6=R$DY54}v9Zb=b<6j_2%P^c z=D-tsB+srij^H1{t%#H%N9>V2H(sLy{}Ap)qzpM?kK_jc8{Y|kwb>6zakZIY{2-Q8 zo0l2KL@UW-;!w3YD&@bBL#Rbe@;TlTd;TkOR+$-rpMVjzBeIy@5_=@SL-PBXA{syA zAHq9`lqW~*k-RMjp0(Po=mbFc1d;OOh&__e{z?{5!EVwo00`e8Qh^+?=NEB&6)w^K zCh8tBv#&ar#aRD1==6b@6Cqo}BQ?y0M9Ew(@ijuMyXTXv5_CP|DHWn=Kk=?GpEcZ~yvFP|*v&1=Ii@m92e%{7*Fj|>CH9zNM~!)v^M&ZoKp@ap zw6W!YnH?AooP>U3yGBXOc8!r3iG9(7GHh3&RPkexJY;&HOEePneu1_o!BSwzmalE zlBYvwqHl;<@i`J-B<_6F^aZ4A*GXyCO02e5AF$e9?*yh5a>UBBrzKy6^hJs3!P^qQ zkCek<@Vf^H2M}q8T!0ymET9q#jv-|v=0&I9HJk-(cpO9A<5Pwlu}AXMA& z0D(Ii^5lp;UW3!xIovQ}9ifY)P!4!vkK|`bemeMEM5DJO{|CvFBlbw16UvYi4iICv z`Z26hY6KrMUpIcMkNunZxs^hH5qN-Z{3s?r zVP1Q=T#r{v<;f@}_DKF2$-j@(k1{nEpOZW}Vm06elsO_go-q4Omot)6U9HC-OEq%D zYCWDo8Cm5)DMOAJyN05T=6NZ66DY!5x6@2c7h+GMsM}~hWPC6Df5$d0CuA{7)x>j~ zjs`hm&k?cY@8-=ZeH?=eW$|nj6MOoseiDn=_oC#B<6WvorM&uynAJlDCeoz*#LNT$bxrQcW z&6}hQIbv1wI?8m2%BQ<)4wI5K^9+qOlOsmWEl-=H)OPZ{EZ&G>Vl{du&Pu2@0%G!uEcw49-9dBGqkAP!j#%|+BV~>V|1;g5?j|KYeNL*8BUYX^Q$~9Fl9VAw z3{S()n4>W1T47bqw%?@G;24*ymD=C0-fZ?$dzk%Xj^H0ce@L+9m3a2E=A%>OIQ%M$*}uff>M`3Y{vq^@bvl3?F;<}5=djlE)C6I& zEbf%plO)QXGjCRYFO$HjrNCXA8k1Av z92s)NaH;Wmdl~iBbuXjwnnsn>AV&<1*>&Ap+8$ZVHW91A`9$(jy>LK6bF$w)lRPABl%3p z4?`;M*kazMruz`|ei9zBwvZBgzFWN&9mSX6BEXVeir%)dNAi?5lEvh$=BUBEO>`4;~{$WlU%&|tG??#4$?It#obpno(TK-}F!AKeGlsAG- z8t)uE5_<*=`1;>dpJ640Vb*y421^5wS<|dB__i5d2bx9I+=$ zzrrf7Z1{7MyH!Qu(d+#p7A%gg3dQ@GtA3`I=B z2_XBG*duwn&xboQm>;$bIbzRnQMbd)a1SuV9B*{r(Ne{}?f_HNqBDl%ua)ZLh&=pU)5W_a&;I&G z;$ryZLZm!-+rM1^2sB5Y9I;38Nx;T#{6n}15iS~#0hHk)g|Hcs4v{1FNZ!ZW70M&~q6CC|5U?*wNQYXGr}BT0W+JMJ zf0aBrVpVY#Wu&fs@&{dV#Hx|QDZ}Z8`kik;L5Sp~6q57sDqvQ;0z89psgs_HBuQ@Z z7J2!j6Sj^#Ibx6G(notVU{2 zI>?YC#wuC2%e*S^IB?S0&e(5}nDdRkkf*&jB=#YFOJWYUJ%=E}9&MLA(|=2xiIfLN zw8IA5BLmEajdJ*aeXHXVsW2OJ=no(4>4Y z2srexF<0{fDB6)Je9?4_&ov`BtHu4<#b0klW*kki)vSkw- zp@mY2EhF|!FvRE&%yfRLjKS`O-yG}}r|-r^&GbEHUEnudYk1I&il-u?c%8)Lw@Lg4 z(l;e$!}tSZ$`3`#8|1`uk@EQoVm55O#7`pSv%lnNlMkK{)1Ol;_98NUVfA4|V$S`w z68nHRNX+@(DlzBvdlKgWe;{!tFdw*}o#DWTC1!eDVmddT=i`uh&M3eRUuJ6I8E^Hn z;3;(K9ErDp&xMjP$?0i(E<=VKv1gJBQZBK?K5<#I*&LACe{egj zADYA-$pIO zI!|KGzVjuX1$q0~Cn)nRK$l6r1l{Rl#h>9H0yhgB#x8o>9AdPIN8dJwPT}cK(m9AI z8Y(e2w@W4F7WPMp7a?6LF-<)rB5#|y>KvgI3@v3LCB`|zj23fJ$_Qv6+>6L!Zi2*~ z5hC1To*!sKaUSvpA1OizBT|kWu}AXu=^*%KaFY>@vmN=Zz?3IP?2&wfV_9-ofeG6jA;TPQIr&Qg%Q7R=@Eb^Hw9^GU4C3 zPRDp8_CcLbHIdIp%1BIpo5Y#GO%nfVVU5&e{w?uv$aG1Z1)K*t+DQh^cd+x7vGZjC zM}2|BTniUT>;ryC!;ebLmh6ytAJP_yDf@-Q)a5$Lin-~$iac=}(p@gR0l*wPMP7m+ z#UejaVvpntfYnW(uYoB;j@Z*nl<(`lI>_B2i#goHYU8(uQf~ZxIZBWrN31sfOvNL$ zNA-IMAn=L+<;f8%oBDzx`o3!>sEd5X5L9;|i={F-V%!9n@vix5ioATX$?e#lhhk#S zAd&eVZYaxL$YEJrieh558(6>^cHtjFKRLqWh}Ge8hUED;WEsi~o~R+%dkQp%9I;38 zi;!1WZ^WMW%mm|f(e|EsR)EIWbXlN_UBH zm&ga;5s!fQ&>X#^@;WN-#yy)TozH_DOcM#s0}QI}7sCTO^?#FR zMc&8e&9|Hf8sS4JHBVxXfew^D{2u}AV{lsR9-e}cO) z+^-=lA|=l#%OTe=I2MZF0n(BlTsU;0h_Plpa8;E>u2<@}xp%_d~2~ zWoouINf~m)xKKIoGu#TzbzI{~BuxxQO6Ln3#2)|Z&v9F5oXGhc zSHk6n=SP9Tqi}>|HV^jv5_?9A1)rODDv#fi#hewy%42(0$krc_GUSNiv9BGKjul1i z7|pSwv>i_Y{Z_xD-8{#@EvPTMZ(isPw-0QlJ7coEW=haSl>qk6$Ex zjbhnh`(<$+Qew|IG5c$CQtu+i4<9JwTwb5)Ctm*A^!DcEDuj6Q$zuQ4@cdE{{sx}& zKpMfm$Z&zPYvL#vmx)#s2QG7p{iH5*a3^pQM9C3*Bp-uf@|?#7h{jAu{tU^JBlbuh zvlwp`c4V%SGUSLok{9z2nF;Ei_svp>lbiT|o7^j;3#(&JLfSf_^$Pyn? zVs(y?39NSM9{^LE9I@K&_*@8i?uzVFe_$TpWKow#iwJpAh8(fF$SvObk2x@f>lA_q zG3jC(I=jeWtG~qv469H6*8C*4`r_BT^^qUVP6Ly&^S@YwQbggm(dUUj{$%Fh#$EU) zY~KUKfuHccl0jnT&k#6WEd3cdpE&+A7O6B*)QKcrZ0t0z6&c@07m5ph!5bv-V!&T; z_AzAjuTa6a_n6?l(oBYl%3o1*hUoa!JkJ;|@_sWvG)9Q{<0u;`{Kr9#st+AEg=OIF zT85QjV4X3n^NcZKrD07HLwC5h8M$JK+j`14Q)HUfLs+f1nbss@e0_&$VJDI&W<*){ z852Znly#Xgu|6}}iZP5yVt5SL$)YaCy3?3apA~EMF^sdstlOa zeft|N;`B`GVt4G{L|LYF5q?GgDzZkoICU_R9pYLh`^EE24vPp9xAnLv8Uj(jczg)V z9}@kBqOefhz@$XfGg&8MvXCT+E0_!yPcf+xKQrkR=M6&=F9ee;@eLEd7@uvOAr_9c zlEfX^R(w?P1{`dO2eQ#AdE)tOTOqgjIj6yj63A9-{vMR8U?9Zv1}CT-Y-5x62(ttEfiR}0F*CcrzHi{eM9t`l$Ppk2k{NRHivvqvMT6Av*d7N3tsug(@%j6tqh zJjKK>erB>*oHrIpkq}7S?akuQSd2rw7@rF^M=V3)KKzbo%LN+}L(jC%Fy@QP&a^V3 z3ijb@f%r3^VTs4jw1(nWO>ZEHnw^1@OYtLR*1d-XM5K;`OtLt89NMw@eNj5j8WL47 z7%Q--Mv42_`=SAqd+CtX?5&^1VW?(*h=oje#>2*dp?Kg_j0MD-y{{OL3f6&{C+;KT z6;F}jE3Cg4?}2fz`b>0=w}#*Wq0{r=Q?WP?NmSk_Jcc7~&x1hg7osK)0t>{e6qqf( zVNxkhodEZ0zZZEEP{S@lrnozJcKN!cRg7M zw}W+C{?&N1oftIPiU$@slWop^9i6yUlI0|${i1a;Bwr!vWV*>yrhts~3*Qt-BIVoc z#5IyElO$iEC!UjJqb}Jc$@sH0^^4AeO|PFD2l~fvzkyHu4J78$^Jk$6@i<0eSv;G- z#1T2`Z0I?eZt_7%hIPr$B-x>pBmGcM@(aHoHZMkx;Kg_1UXXZW*+YJNJnNbKQ+$rZ z-E4^1eDvdEFmf^_}NfDKYg4Gpt3XHF#bxSN+i|ter6vJFpw+M6`JLh3G@f zK`cNlMqGecj<^z$Z^;cK@^^TRZjm<6stSz5E2#EF(lcD?ZtqX&?rAT(@YbMqyou`d zNZPK*+`(1(O_8Io;$1;E8sEA1T07kv!e+3Q5_2I$}ysTjO&PJ{hg zq2Hq^?Awahm6>=;5XwSkMXdKHyj121zC+3p{{_v9@KCkIIXH8*Ad(H8xb234{YBSXZ$<~K73tyhaCmvR zHm_z(>L$;cr}Nf~aT-1@-&GMlzM_in*<0T&mrS|THBToixdK{6OJ*P~MJz*HjL1+f z({)I9BOXTd#yDmCU;RmTRxDPVIsb}eMTjBHeSY;@Tv7(hHEVQBB<=Oc z)c33(G83BK!a)1JrYvx(}2r#Fg-C*^Zn~@}D)OEAX)nB|a$>NSL|)Ve)7$sb==|l8?b%m3D|@34TQdIT z@n0$biQgAlgN%E{fInIN0}r3j%SxZM>zA}ekzxC`XP+BfY4h&11(8m(smvZ^??g-) zXMG+6-?7GI4-77~9Vv}`=f>1?=3P0dtSB^Y^z2Cfb&sm{vWbe`>#Ju~OB*!CztFH*YC8-reqKFh$m+#dy_ z$3~i_MB0}nVBZ|$bouh8;1%McJFKk0MO59A9%&lEKJak6I-gW1YD27dPb}JXZty%3 zU!+8uG9%%SeeJK4>~!wmmHAKru-oOHrgRz>RASz|gm zz9U`1apXrwMTRsbuwJNO9*j95%vpmKV3bWXHN}b4JFSAiz!T-$vnK}o+qvlP%YYRC-FyCqIW)j| zwbd59O72U%O71%kW?IY%xzT&O7N+&~T64nzq?V!Tf^V+q2IP{@14VHND-H=T2+r`XOV7y@H{eIjl!m+CA3}GuzbE zrOmZNCrpms)|FP<9y57xyo=G6Ns7aLXfIO<}u9 z9Mbnlbr0#(V5@ClWml8v>K@V-l4?i?1>a=WnKRS5cQx@sv)4};DqNa+=d5|1?87FK zTkh&=`U@)zuoHKZDvZJgojQLA4kzD=a7z9KZ-!+-+O1tp_fZx{NHDsMT;9GyGcRgk zW)nB@`d(@CyGGyEH8JwLd~uIrkvrW;Q*?nzR1xET;%t44Irf});#~&zD0}VUs3GgLfAO-^`Lk}|Y@K$gD_G5fwEV87 zi=@*WyoX3SgU3l-=n6hSrYWF=(6SJj(7wE=!dNtGVdiUWSx(pJN&idB?xpOOtgfc9 zCt7y5t1s;WT6P^t zH7#!omM~kmuPLP~&-%32nD@-7X5SyoBrZ~?ednHF*h^3`g$8z{b^czEl^7l8!g8~` zDXS?IefOBMv6bax!&&#uTDWyjawKnGmbozfwOPxK4D6V-t0w>G@6-21KiC!8mleA( zy=j(c-}6&sV2614&(>%+z7e$h&(jCTRxN^hUb!AqszrBz6 z=mD!Ez>An<4Cx{FGYITgnF3~QnLpoAoUcKBPF`ZWyD&&i=o*judvpoEu)ocVxA!cM@ z_luMl6xk@M%t1=EFMwHZI^sd#Yb2hELL4R9{CU7vN*o4OZoC70t>pO_5g%AfN4%-K zQ32NiWQNNE9{4h#h4w*kCQ>T!KzOjkUjR2t{4|bp$4boO-f#DzEt zQ+8$skWq$s+{Qpd#LCcmU}b0zuyQDqf(T5AnX=;H8c&Re5AC5mSL2E4#6@oWyF@D> z=9D5oTjPm)Oa4ZUC#Ebbz8S}sU%Af`|M|+D>HK?a0^S_HyxN*v?Y}p!`fp=1>Q56^ ztsy?BvF@#ZXN~o~AzpdZx>M|4XU!K^-)3f1SB{IXu0w1^tQ-$KKC$|gRi}ueg=V}c zmYr{ z)Jeo^rsf0lYR7hrN+OW{*7s67hn92T#iT?5_Zng5#z7L|3}FWj*T16n{k$ z7-HX_nTJx3U7BUzTtn90Iuh}~W*YeJ{24C!0H!P-?vnS7WPXHe-bwN!U3bYmZNwv1 z==n=Qgg|hUy7nT^$8=_&O zwV?jdzgtTTV|0D;Q&v9{w=HuvS^WlcYeL|CDZ{zaky8iyT?_|4sQ__R7wF{kXSX5fgSF=MmsRhg!drDky8s0i*JnFi=TC8cUSB z;Am888s(Y>zxc@BB}WX67DuB)(+FuAd}|an$Pq(h_!eh8wsd<{scF0{HOLV|W2K`} zr)kt^8sAC{a>UR$>}bSq?XDxNX{2INqF3aIp)q5tGai~ot)_8-)F4L;jm?fmtEN$> zY1ltDMjhmcq2YbO8IKpby=u@jo{@EsBZkHTN25~HXw)=5ks9QPq0!=KbZ8pQnuZ6v zYPOslF*Js6bH-zv)zAJ78CJ_yO~d|0Ff_;!d*rIbBL=$I946T(iI;|jGVw|GzZ}u z#3ZaB495|Px!;ON%!3E}XB^;p2oei}l);AN;*%i6Nx%{-4nkji<$QLGe^&t;61*bjWA#09|jN?Zv1l*BWD z-*IrjK7j84K|?M~u!QW-UGf26J&=6a& zNUMNl?3Oa*h?V_+O8$MM?@Ekwynyo@tL!2cvVtX0CRP=cYZV-kGUSL= z1;0w32iCt!%myr_uC&iG+9yZs8O#1h2qCI2N|r+8h*bp{k{^b2h{QZIT}fS80n1nc zIbzj-O3nT`Qij|)0Sd{n;b{exXCl2sVzywFRsqW>LylNgP@`4AdykYMN387MDfxSl z-Ys!}=hN%73Rp;Ga>S~FFlD5pLduXMRuycJd@a(yOUwprq^|5CmeD>rVEl|g6;Mc4 z(5MW7BUTl>E%|*&d7ex|ya=#atAJ(X$q_62b(($qh!rw*-2RnL*3s}Yq$Pudw8Ym+hz;Z@%OjQF;m;7L)>BIs2?pi~NxBUTmME_oVl(Tv_9d2+biZcwamkY-Rz}-2qYYAq9ILBWS&DO|!ty_ba!>Dl(62wa5kfTxVXw+yLk4lZhkRVnX9gar3 zqtU5pa4};Y#~?whG&&s(|8Co>;@#a|9g!NxAwjG(Tv&h6jlRu~^f1MQZS{h*)V9I~t9SMw_PbjntS831X#D;%NBZbcW;2Zm)Rhl3g_q z62wZQ)X^w+G-@=BNm640B#4y;kGU{O+8vEfO=G^)SOf`TrLox2@W15@$6MWAJtQ@F z>_)6K${mfcqtT#gyd*W2LV{Rnglvt~Z#%>Bc6SwDNrjaVAXW;MP8B7N#$rw56rPfy zt5!jRSZUNa8jX%do2D^dYOI38v7wZtTfsjjYdbKP19H= zH4Z?6SZTC78oqxz!|~5a%iN;{oaRC^zv9dNy6f>q7KFCyt~8J zz+#W^qZB1atoFNnaj}v(>fksIZE2A?tqd8KB z9I-MwS@JYm>=?y=>?kEqj#$~8jl6QS*qG;3OtP3lvIW;kWg0D^!dU!6m@oMfiIq{9 zIbrl}DMOAJ*M`defyedF6phas{d!}Ht-|c}QDc&5{f9M5M2=cHm~XM~TfeD`P%BWJ z6zhyLv8ssUr@Y@LWyleuBL4?gKV_m-7IUPCl?i>MewH%ih+$&Y2i7QMB9Tpj7aSL2 zWrAa%yzomIa>Sn8)gM|J$^w7wLkk=QVr4-eg;FU)ju=jqeAvBd+#!ogP)w{$=zY%p zButj1AD{!^r-C{yFOR`TSCmCXf|$;Cee@zaM^f?7ad)C`rO5Sy>B&FVK@&WlB) zct;n3dlmXZj@Tpl#mFn$A4(Z=#AtGPn>C7)Lj_ET9c}nM$5;{nQFmt~qgWZ?pe5m< zF>=JJ(N{>G4h%q4jpjX9%9A5jjrIX6o3{c}h8(f7DW3eu8khq2W?Ie@)dsv~$U(%^ z4*$ctR?g%41s~)0Cu#!Rf$}6g!Ny5StST*}p6uz(QidEcdZX@>?l!+9i`hnEWrDL( znP>-QHROnu-}Z6^zAxOJ310QZ_rR1VN33iXQ%1TarXA>>0GTjAg=>)7lXt8rJ7D!Y zQ%-;qO^*u+Mak)l%3R6cVu-p|tZ$8JB4;0d;PY~GlviCYzKB)%@U*#8@`b?r>=&HKf@89PvyC4+p`jw+p%PP>?;0V` z*>krI=BGW#mjK&$W~6iW-56k2 zcD<%sDlu)|BQYN72)LGO1s`b&2P9@?_8};Y&I9H%9;_In>FF`tH+DRDAn zu9W!y5HCxZcNfB+3$voN(9`yJsayY0qL7NZfI2Ek0l${al#z7->Jbp~azE##01M*_ zNeheu{w#9J$lCrwv9E5|6(JKdQ%KeY@Y@&4X?&b8yRn{`W&Znt$SEW10v1z88c-uT zl##XlI^Hg30W{jg3}SS?WT1?!jjk|^E*Blj$l7R3eM(tO#Bl^%>RUzl$~ZDd}tA7vtyC?x9wHX8+8BRZ6kbpf}Cyn`2) zJi>f=?Ji+X=XJt-VQs5X@O)Q}e`W?DBf8-2M#0M^Gi795FbiR&X>^BS^hYA6jI3?$ zG;D4a9m=*QVf$;NtgSZM#thO$KNmS=WNmaebz~E$B~efz%E;R0XOfq%_Z=7h3Zc4r z2>s`{bje;ClERqCN>E1Dh3zv6^B@m(C?o5_xEUz#gfLZ@v*CWjKGUc}89Ay8IA|15 zB}$Z$bph%<6lA8+Lx#~iM4vLUwt3jF`IP8TMi!e<>t~YiBEsi|IdU0iO}XgN5gL*n z+Aea+$hxp&)RE1xM|3D7>jtPBk+8{IieD%lY=1_MGqV)Hkp}1r&=CWn^6d7eQkIGLm8Pi)%?$wLuvFegcjy{-4nGUr;MzPdZ{B_y;O84BkPL(NaVwCF7dQ5-!J{C zFi&beK(@#!BkKZk zjRGze9m>eMfDs}uLCAkvK>OU(jFU$rjPg@7M)+oHo>4FpDW{CA3m#w;e7)#UM%D%2 zF7j-g!bOGoPH=-T&oLLf9JRgz@V1T~bjw7EGO{kX&?xvx(V>j23uYm#G;J0eHr0zx zkW;2!bdp_tBo>FW^hkbFGV{I?SsP_-wb8I)bf3s6BkPKmQb+cVqoP9@S=;kD%MNS!+ zHYZ`mw-y>kvyq9JDI;s6SBU&p9Gb@o^SX~$G}Px!2;RI`mG(Qe_uD=6y$wh$yE6-N zuiESkm-`?{Pj_YggqeZ`Ae5Z>cngg>L4;+(C{2B6K{@`^mjL8U@Rg!-7s6{QByu~# zY+7Q2_*4$+9Dua1+(>j|C-eK@=gZI1KOSPDvW$Vnx4L+sVIr+S2wC<>K z%!*odg27b=&oP+aTWftDj5PDEh-Q9+t(nIb&D#y`*Jea`9MDRK3_hmVDbMx|yev(% zO#QD^TbLg^Vh|Y$bI$>9A9mL+Z_Ch>$L7Y1y(`fFIg#44SUww{wL_6xyJ(ysx z7CYxE%mTF64PM)O!L=8#bcMp1P8%vToXdNf74lBQF&}+N1KioQ0lr4YhU@%iLQefJ zJsHFICFCD@r`r(bzsSh{*M$7JJyrhb@r3*njQk-Ze+n9JmOrlN_djUS9g+k+vpsWQ zZvkYiPmWXKYPBV z&Q6)Xw~_z0g#39}7K`Q2O2|KQ0s0d%=Fc%wsE`I@XRyN$Utm`B8w z`%mO_7=TlQHslB+anQ;*5>J%iNw)2jUgGQB^M73^s9^BW(8@=r_i5dBiLXBOf7dN6 z9#TNvPKQ^cAapsm1V`_q_&2)`U+(K|M>87(c2RM1)}s36I=^l8XSjEL!?*FQ&CeEl zn_9{|R#Qvcx{~^alB`Y3AAD~8gDtPj=uqJCXAREJuPcc7v73E6I60UE#8MYX2yQIe zF)EnScvWECXIRjqB`0&(`e7}@juu2R)>mgVM!Gac`~@CgW4rc68nbYhzU}4l542vn()-Gc ziQP~3P7iD@?VWpJ@50W0^!cE_#S1En@o)47eNEVtWG(zVLvE}=Ur_Yzk~Bd6#8|N} zmShcBR8Tn_Z_pRSRsn)D3Lah>v@l;g|7( z*lK|Pc)VcU0KlHl@YV8eR4CEcLbeZn!MQZ2=}O;lXU~8mEEqWucvIel|2QaAK`Nd_dIB2 zf9!?>x~kB*y42Szn)zf?BbLUn!#!gm2T5-`1Ut{I4 zr8ojt4lD2k-d`VVw=L#vjHTS&)Xurqvu&)EwI*v*@Je@`m4ZmShWEKpLc@-DK~Cnn z)_Aa8%awuf#+AXOtJ@b;rw;q3pt@s0B(o*bwI$L%T2S42eRbEyoJ>ECeUrAQmKEcS zz9`SLr`pP%I-tC$pJ&e~EBlk|CQ#XxRxrgMu_D!7m!@Kgo&v1N(y8I6@q&nN&~x#| z>TZqInFZBZjn!TEph<&+Q@1|7XizMU^_vQ+yD9ZSPeCnneZ=Rg1=~jlt&OiQ4+Psa z#!!`vHS5>3tU20(5gh5VKH_hTSd9_8G2&^ABy~R-d^PyV*5?*A)W>09-J>jUR|Lza zWLblI6+P!!`efX{DIR>V;huO)#P`@TrngjQK?Ui-*GIlPZER70&(ihrvgUYjWAMGL z%U3>jS2W%j@ip8ZZ(-%LBChU^qK%%iH{*V^v0V$=cu&J@WpbXFq`g;*p6k4)i?#g0 zK~?d`Ze**%!&Y9Mv}Z?r(A4{%PfDorJ$lsp!H27B04 z_=OmwINY8KmqEtalpe!2qa_7fHlsLY^$chA0~?RFBwd)b>A9n`y587S85~ppVCtm) z<=$;c?RLeY){lDqqH8hV<=@on7u~#1F0XH>Yw_6IBKV&fz1GK~&vwmpN=ExSd9nLi z&cxBa{P7tFyiJw$_1;O7z3V-mZJ72p^(u%(i@IG1W6Hp`i06$Ij9i2*o+PBfR#DgV z<~7Y$Q?KO@jwr5Q^mKh=PqlToMUtEsgGr$%>WzI3I~rCSDjR9_?&VpUXKnMOw|D}< zO#aK5rgfE`cI#iLZ*B_3eimws1lC8=E8jWW82fJ7l1^hQ3q}PSzTh6fUE#O_Pv>l3 z(U6G+9=kGjd%@dZV>c^$xvUa9Q%f)f>rez2-My&YvWcGcW2`La{&HW3XuF1wnRC#= z_<+vENtKb#8Nc>!^MuxW76dzd;60LLm0f5J=!6LYbMeAM^@~zxWrk;U>Iajo;ox-( zPv;lsR}4-qhy-|V8Mn36!fchO(mOQV{p8q4uybW;u)x!<;O*~Fp;vnS4z}X)IQrLe zI*jpcN&R>s=i;y3a!aAF{F|lN zbmiaFPA>_Ul)N@;Z28=rto5Fh=GQw`SEr8orv9n}N0RXldCGJ4++X~)w!SX-UbV+w z_L^sD$Xd519&3s~?1MS=l41o(VOqa4xzEmj^dvW4F(0s;{qW zjI=*oSKKMTu<)6|DJKVabh~BwA~)&Va?hS=RzXkem1}+9HhK0;v5G6ldGiZXC(XOM z-0nTWQ&xt9V%OT*y5R1Dx6|iu_mqXKlB#%keylt>=5-r3hjojfVHU}F($fu_=E`noUR-Tvk3e3vv|1!Khcdj65u5w$V2|Ij=VG)~2fe{! zHP}X9=V>gnvPz>_vx0-&Wz{%buTu7MFj-db&acL7S~{X+P<(oRJlLV!TV0*;@%oQj z4pd)oAd*oK>4GzXkJ8(_qw)ja5ie%sh$m1qA@D&`aKsi*!!R1l8a!*!aSW`3d%{H=A3)txJ=)3!x2*KP=JZ_cl;TRtMcpl3m(YxLPd&z`%iX9xE!Fz9bf|Yc2HncUrMn9d?i5!}A9*!_plXFgYs@HRfcj`}*v%;l7hi9UF1FlhbM0 z5MTX7)(pRai49+zy{_2f-(pR!9G6ltId#&g{_ZdtWtn3Hr#vM`&VFx@{FMu)d~cBW zVNA)sH%2})^z<0{lcA@_$nRa*_r}P_u53;$Y7UYG*g*sDS7MM1)q|vZ6b4DwM2wLS znT2CSEd~_f7^&QyU+IpK=gyAD5=6mrZ)J7HyX)U=*;RePEw&EIL~sogZ6}981Qo z!-+?&^D{SgPwZK}e_}pi1x2QJ&t^lWyMBcs(_ODt`H{SO_gw7i)v*lR$ygt|XY_DS zS*}$y+_NVKgEzfsh(CW~8xL~`0uu{zGOl}RUb+2P<=H@?+6CAz`E}@;%Ib9VP9(_+ zepayi>qsOem>!AbAT8)E8j?~n`fPY`bHqJ|+wO~;JBQ2340^|3b~bWlAea=z1~X2| zB9X3<2+q=QSOKCJ<$SIC$qty_|BX6*4u1gtP57RW{ZD=q()nH6QFy-P@EZIx@a=Gz zHhk2KSS?WCzoPKKe}%)=C-6Lc^+o)D^4pO9h#xPr!t>u+SHkl_(z^e}_e0tQ?C!aI zw8(RndM~b@QLZ&Isp=<7Z7an4>vZidvto#=SJ+ZQN@V_^Y-{LrE2Gkig8l>2JiHp`JbSt!i)k zDF^1321;IySE@sMq&nlC^>eG+&8@y*ZX{!Fq|4lhA4Btq4>RT|%%b73u}F1hrMLZc zue3u6Q?`}OK!t7@;whVMF}|zpChM-~v+<_&dy|`+I>wrIW$mkv;iRw2>;vy6ua9J8 z3`@qb_sORE@jVyps*H4*KQy`a?lx`>3t?bBw)}dJ{jS~c6ZTh&w_R*q-Cld&7t^-H ze%}_%y6&w6;ZKcf?+AyYBVN`@hO?#3g%z zR;9OH#m&u?vHGc#Dk^(cRMkB@)L$Lx;xEKFsjr(lxng`z)TRtK2&`>68S`KFEFEpl z^#+n}@swR_wY8;BTG&3erp@`OXKAIir?)jXC!^ucIHnw|+f^QbgPN_ z&W^61-7@=VbtD7BYp%z8ODivY%07u>5FdLJ7uA-!xswWep`^5UEmg6bljKYNpYDsVvuKJQp0!g z*fS;d%TvQ=_MV=xw^P>7+jbZJIORahd-uZwjs~p$uYb9wxw+2S+dISYdy2jc zoNQ{&NpYKI>1Jg$Ju%VuZ3=AmJj=z&zM1Ho)2T5nkdxNFWkXfJreNB#zL}W8oVzCZ zMn&hKi^|~Z4bR26C}Udv|KN2xiouzbYIch!J(yX)CKN2Me-M`->4tpa@%lBX3wPk^ zO3RUjZsqT93r0)+gY_gE&Tx+@_m2Npe2nL+^}*8M3&D#PewRJ&?iI!P^;P*zsr9GB z_4QSadwVpm?r3F(tvA02 zDEH}x&uKf9a|%^Lh4U&yeY~ulJEb}YPkTB>GdzJtTv=>vzq)e%7reYGUWpU${KDZa zE$xE6yL$Y&R%1&0S8&SRlQ)dEK|Lk+{q?v(5yZ8kzV~pwXP0~L!M)0AL;_AvRPpOR zjiZ2IyW{QG{W0Ex>-&`TI7h2aeej#c>W+;)_1y=Y7B0J}gIrg2&wo2~&mrgvVj2lYNW1ZQ5)* zM-FuyJ!RA<51dXOeN)cdUEP9n-bmV#yr$#FB}bW+s>jt@HBbMvik zy z8NObl1~#0EH*e^;X(KDS{=II9Lh#57(DBgeRtk$D~g2jKSTHhQCtb z#pCg}j_b;P;bhG8m0h&iO&xS9-mh2pllAjcYwN3OwSmaq9t~f`n{zw%(-oZMeVhH_4rTR= z(S`jOo1-bk@?f|=hI;`knovM zf>lDTgjD2xMLK36cW}}gd>?hy<$TUGI3|-l&hX($y_~L%zU>{V5NDZFP;uM&q!ITC zdy1%mZGmGpvL7K!(tQvQq~Cy$4WrvGWk$rp=0zYUtCNRP?!yNcG zRDvrfYx!otUB=D_n29sZQ+mjGN(sQ4)g;b?-a z>gZfP*wX`x_640Sm)XItB}k(h#}qp?2mTKDB&XXF-?jMPE*BN}x?GYgDcl@%v`EI$ zT;<@-K`YEXX=TT|`Zymi@ojY4J%z79IGEUwjqo$!sTYJmmnQ$4OW7oIh|o?EnE6;% zF#uOiD(`4R&R2)@2<7rNbgFLP3^43Oty_!?e9@)EO;G={6H%3c*B^S5zX8^AUbkrZ zuM9b_X|((^L;krT|Cf?S-2!+qq%-j1h>kTSbKj(>ry(czg)9etESS3FN^n@1*FSVj zBWwFV1*146e};><=!92|1YTij`3HuaS6^EGCqvFFGcEszA?H<_mh(!Djuj%`jxd^o zA1=1R_X5aGU_F>01?!q}v5f+x!=75MfFTX-hMXbeTr*#0G7EP#m17#2i(%6Kzre$U z3%uC=+EAhQ{GgixrekKZHhMc)?^gF1I%I8>mymSKOV+LDvqRk&UWU4IZ2ymq1YV=+ z41YD`ynfYk8`rPe5U*{uyt5(ab+4B5T9=L$BD34s6HkECP`-+6L_~M{3q}U=DCn@4 z_zDUg4Uu&L$=D}#g;Kyhk(;Mabm`qMQChJ{j zInuNp2dukdHCRS(R4rbl6Ml*W_7RQlfM=oPHh4P5+u$jqKML=Gr~DXvu8zZ?-aXQ3 z9F98V8xb<^TrfX^Q3-X3=u?|UBLkV=hq91XmBH1272Hn@eG2A2&H^~E>einI>q+0H z0XXWA^;FuK(;giYI)nMH4MhX-gZxUK57w2t9L#j;hXJ~PF<^`$)v}pXfTIqXuPjk? zk0B?s62o%v^RSUX?g<&?&l_?wqx4(xGt@ad#M33p`sTp12QC)An7skV^2vOChdNwx zMz^UH%yi1f8FH?(gg+&(0Pq}vI#VfxV;(YR0LbwUD)POIAk_Y|?Fdg;C z3@LvK%#iUISdahBhCZ2{PrcU+IihgRkxxDC`|=!{=?u9O=D_!Y*LC5rR2#|}yVT!* zWq59IOff{vG7>%j&n%^yL>-OCyFsIQ84SJu~gop&y` zLr#ZYp5V&-h3U?#kNPIBTzzk_gPwdi)7nnIX5ULn$>}@X4tBVKw%~7vPjfCU#5wct zn|)^n>GHUXvw19c6+9j5L)Lp*3>;bcs|WI&OD84ucW!9GRc5Jk&01dJiJ zqs5osU2m14P^Y6AvTBxdK@qZ|@|n)nD}DLx@{qtXr?0&0u0B0OAgWPH$E;)=l$6#0 zYB_^e`R4G<@&CiSOGK}U`HF1kt98EHQ|8VXeRJJ}xig&c>wUMjn>(Xy_MAD_-Z8iJ z#r3|Swv)60Z#H~)nJ24t<}&zXK{-OUT?E zwzGYc@3O&n&YWI1{n9J1y>7yl<+($OtV`#9UozysBn8glExuoS>*mgw=e+T}@6K~; zQl~mwxjOZJ{+#4b>OB19^9Ku6W9@4GH1lUGfA;g|B!5!t@RQG<3jWmcrF#f*82O>sgmgS9OoQ~F z2t)AOR6L4395rDEwjvE}mwy0_m|H++q@Qo$q=dD;r& zy;G&%U|lcioOjbov3UM$2-xkfDupWbRyz>J=&P;ABtsV!pJ6?ZcpmsQ6~Ecqx$=)r zk0=+Q)Q-jRn5iA(Una!=hB%w8s)2JOEg}b8ebF@22UsH{EgPO>^d2^Gk2On}Rua&cA8y^tzjGy7`Xj)pKrkQg`}>o}UFq z?evW~KXI(w-?iHLdZ+Kl&QIR(<+tAUbKh3!b=b`PI(w%p)l)*1HwfrVGJU?qM;IY2h|wz zg4TcT@pR#Av7 z`q^ZeSu)8|B=-s}=NQ)VO4_sK=*I1!l~@;hFn+|@tRdVSc>c2~R^}dI_IHEuKW*pa zUS9_On``pBzCO`O*cYh&9>N=hdF$u_;pO1PhR!3xY~Lzjo_;)S=xh;YleY?oz+9=H zWwECFT#l-9ma~!ox#dNHR0@N;3cmxsNSN);HFT~JUJN?hmx8%JQoadc ztuQPYUy{9&d~>FXhh~auz~4x9%2U+Ih*);e80| zyvNh0w{!%&*WmpIA2Rr`Fo)6~g;|Nugju=23G>zu?}D+ga_Ib1m=*dC+?NT=Fbe`Q zhtF(b-izeWp*-8U>3v_9uDrSTh=^7pd`$Qa=TRo_M)Ff4+JJDK@IL3~Nap|8ecxAX z*Ep&Bd|je7NQA3^w^<}yPn5{gC?f|%&iCjj=grG%VK(h%VK$MUYEg%mVrtzkFh{Ri zeF)4Cq3#hK%5Ut1A7F}Rugldqoad0z5 z&cXPUFm1mk%o*%Mm!oPrJ8C3+YjArGC>Ui1H3bT**$T|cuNR#lHa&Mx>XY9y_zwnu zW3ZnqC+G}gkco^xbseqb;8h~$rqQb?{1FGneTMw^!k;1hQkXN;Ks1|ncx!Ev@JL+O zP8SYw3cOn)473Ox_B|HFzerxcT2A?%pEjNYULb` zTfMFiTglcj0|(9DbOzM=tT6SxepiRBxk#9UZ@BOVgx45cZSdXaIchCGAF-Y?_*LOu z2;UQC<@7hitXu~a&Wd(Im?_N4@!ElM-miPr;GYY>gK(E(^gopjO9G!dd?n10|8IkN zB}1cpl94Gq2qE)O&Lu|bb2c{vsP?)xu2JNa zkpm*%UxoP;=hGDpBgm?FGILknA7AV!mKnG zsb*Pg5IzBa10#GevrZB?`EL;B6P`KfKD|@FB67;edK}amI{f^NHYt10iGPG4_6HHw zK}6Qs78u#S5gp3NT4$l5<41L9nliH1sW)`=@-UQd49RMA4y)tcU7SpB(B}LAXYg_=Ic)Gs~D#kmfxYmh?4rOGmv)a&^1bI8wn!-uWg`Z$J+$#CjLPXa2Vn)6PM29l6*4bd_ zw1^I6`DAxDNVLm{aF3fzj!nCJu@T6f(Q>j4` zf(W@4Xo&K42JaAN<~M}-0A-Ib+GHINW?_F6=98Oa!s!Tk;!pdT;Er7Qg^{ih<{Ak@ zgtMWft_GoF!H_!J5N;Hm5R$eFzlrdOFweu)Spf8TYk^02mPO`~ooq#6bcBw8)sa~W zxJBf-(Bl!A88$;l9gV@P+;SuDQ^IWJ&kQ*qkuh%`6TSh^lbN{#3Ly^w z=LoZ_`2dY_ZvK4XLhuM-j-{|LyIoxnK%acO$XW18Ve}}zN|Okco)hNzN~;#6u&LZZhlvoBlnlWI}m;> z%+Y;V_$KK8P54`cr-f560OP_OtUh>Fl&qHM21nBoxkwVY2dH}}NZ=UgBl1fS_7kR@ zZwJv(9YT8Yy$I(Eb5D6nm=BWGxj1zAq`DLp(i86<8{40mDMaMl%y&>S^AR?eZl=y@ zgvW(#82!5;|BrAO@??1Gb2qzCm~wSe4S7EJN|BG@9lSD$@G0#$;Yx(+79cXjAXjJA zV75%1RD-#zs*`FkcgtHPFHfRx7p7d@xs$xV6FE;%^N^MvMFO8cU&@GZu`mY+2Pfs^ zX~Nu79v0@V)GW-$<#?}D>GQet)56@Vo)PA=_7{b@hefwbgp&jgx>h zSK&(#GL1Uqc4ST%aBLvC5@C+PJcLkQfv`ZBdlv6WL+;+e9VQ9o2yuVLO79GhkcI05 zPbN7ZKX6Rb2cA^&U`pi)MUl%qPT0jRd&w+aoW9%L3*}qsxP!(6Pj7fKGxiroU|lK9 zg66nO|YX>7pL2$HWFWtg$u!_gK0svy#@fsDp5`uS)cO_5;^C}2?nz(^toW2 z$SI35qE7}@HRnJ8w*Wr9hg)!?Fy(9!NqR%5aRX{{J^~lPx~R1uOb0S$VGy^6hCmEz*C7bazNxj z%P!`x>|<1b`(HPQ=zF23Hv#k5MeKh#lw+k|tWcdVlc}t_5zNhTtLSiZaF|esg{sX5 zo=F+J?%pd!hcdG6-7zAkekRM;-Kz}15WAQBf9qbgX`sXIB?lJc2hIy`%b;Ui_fPcPgIo40JwC^H4F#e zU$RqM+b;6o=i`YB-9~IaTX?&{Z3gc%_>jTJ3_fY_8G}=><7oT5Zq*zO8Ib`77aLq^ zaD~Cs46ZS_&ft23R~Wq7Wp{VjU?glcc&EX84L)e_5ra<{eA-}sG^<;jYH)T(l&=%= zjD$ji!v>Etc(TDW4X!nKp}|cCuhPu+$8-d|+29=p?>2b9!G{e#Zty9Cc~Yqx88kQ( z9MuWAMnb;9BMmM$c!I%I2G22gfx(LnZa&XZYwh`nwb9`1WS*J9wHdt6;6nxF)TmLPo*>gSp(D&QNM_g~8Jdt}(dI;CeDoQsGt@ygF(`HW<8> z%tHX&PJ{Ove9+({1?>_yA9PAVD4J=Okfi7som z-NPBM&mI`%u^6s~BH=oN>&bF_Tw(BPgEttw)!>~5?=|?K!OUc!=Q)4K@#T4bWjjZDdi&U-fcN>iima!rgo7k3bwlT= zUtnd~c@p^w5vME{Rt|{TpWSff@L%OQd$PP0o{A*b-t9@w{?qtvqj^8&~V+dYuW>?~$NiW9W0EYyF7V*+Biv67*L< zpY>&ZI2g44bgy%Y`g}l2Ss0#fHT2gaq<#Us*1y;5lwJw_A13G*UW?OzX)ni))_=_F ztb%@YMS}jB36@na`W#bQe-i*=%MVYNiTH6B)i3qvehMIm8G&0k2?u_$SByB**xtPW zh_AOih$!bfpNVlQ(!C8JhZ%t@o{aM-gzSLf@Jyq@;{daQVV~3dd#qObX+r+f$nQm2 z%+Kpeoj(aO=GXNJr#NkY^kiJdw}7YB81{GJ ze{(sPz2e66)ejrlhbLq|jqK>UbB;FXhCt7>mwJ=i3|1!sud6fRygm2mQh`gn9&DgE zZSV&P2FJnR2I$dXDZDnw{}EyKZ*6+RVo-ND zFBA6Df;e5lrUZk*IqsV&v{w$V?eS^9S;3|>`7CPXOTX##y=}0N_ieGAXkn~j;hh8v zr5WzB^H5Pv*QhO_MholQeV6ve!Rs0wIdAVeWq{{2*uTy>ZSZ#q1~ z=M5?wdo!H2!QPDFClm7XaVqx-=Er<@E`J&tZFbSI45#_m7~_1V&N9OAbV1}lgpm0$ z-<-?eJ0U;ME`pE$F1c6q7;M8Mga$DKoHMAun}xb^do$fNn-@Z0R(yY^lRCne zk;W(Tru?|bHz&xgu1-}yZ$^|)>dme_HQ&9(!+KyQIad$;c`ekHNg4H z@I>H)b6T!FM)$kr4nDU{7camQTG?07W`Js4=VW8GEz#U(??O9GJ?$3zcmXLoW@}GeQD=-^gS73QU{z6<+ z^;VYLAL`L9Nw8PE@cis>8`8DC7hQYj8#FE3srU#zyg9)@4GeIiV}))v47{IEq1C9+ zbfjyiE3_xU-d5OK3?cCKJ8gFSf9bgk z*xvy;tHrZpx(Okt;!oHr^C8DTI_L1oX8vD189g5qeVy=&(D%J?>S@)w1-rjj*hrv{TE{2S;Ji ze)QQRNSvjXr9X2u|FeaYa-IMGu`K=2p+!U8rRLWnGloVX0$%GpZN*w2yv{$x+nP4b zzu4dUdA0w9za2kZp{r~C-E9A(wtaEyZMXSXW52=n-Ywf?c3a!2 z>Y2@DUaR$obN!v{)R(GOr;IO)2Q#KLT=$^IKhIe`&woSB^>$0{+>Iq!Yg%T`ZHb+1 zo|@VcYj!%Px5Q#j=Weq;%dO0vhqlg~=f}(CmAQ4~I{!7~9|rx5{c!16yE6A~;@x{j z1MhX^_bx3(@U}g-r?2%-KlK07P7BsP8)~?P z8cQ)>1%I?9+1WMUKh+-TbYI}_8d=`Z@$BS28#6!f4D0ho@|4U=k{ZgW?9aCz3!H80 zR@}8FbAG4n#%IDiI&JaqdM5nfiw##$q3OlqUdw0AU-@Te;R1hmJiU2xfxpMamoRD2 z-@Xg_H+CxSGrQ09ufF@h^G5QpjD|dwXOFMPw`#zS9;3&SmO_U zhfz{_u~j)e`OK(>PE5^ty2FdV`L1urp1=L>ZwJ16>(}4?zI|W&uYvV3yCKMQe>`pl z{j*DM>EiKcp6z~e!DEyDyaa27^-lAY?L52ZjkDuF_-;o^uzkgCsZ$zmXkRsD(e1wR zd%vrys;jvEg4Bv97ggN4k}t1XkL`BW-s8{mj@h#GXU^;Q`0MPUPX4|AnHL7ee;9ve zRtkQX;+?R4&QI_4j~d$Xncf$S-x+^saK+%*YiE4E}Ijgs4 z>Av{*t?{=u$N#h?{;O?q|DRfO?(?U3+Hb~=#35d1PE~6+=Xf4C9vJvxWa#>-2qXR&VTzDb`Cu3 z|Fnb7Qi@qK-`Vwue;}qTSL-8)@RZHM$g@5N<6KQyq=_ZMOV|iF24vikS30Y~R|tOu z*2NqGb3$d!j)CbIkU4KdKEwJ8B09qfFeX)1iGNTNjsf{%gf!F*3aljM**s`}4~nR9e47$OA34{s7M_G&0}yWLJ<&Sv5FXC3i+h`4n5N zRkJenzF_OC&3-Iw@yo~kzSbKb_n-ATS3C)P^hy8dq@*Fkik#G|>`W z4<4#yo}$66S3Ko^)pq_cH!1B2u6q#TPnbVd{Hfs1ZHxG^^emV+DoA^R!k>Sz5|bR43t`q*loR;5`* z&X1q<_rNPh*tyg}k0UP48eu(-kdA{m4gZ#H1414YdF7IZ+ao&=;v`a;OS8i2L3BFe z<5hY@Ejo}2o}uEU>Rm-1=U-Rx(dyeEpmM3sh>iY1_88~(jTpIOt$ElWBay;&2DpI1 z64_W(rp@JubNun*Bn_9*vG2tztd}L;OQly@A0R#ej2mXqpJ3^o5K(3CFGy!w1~Wa1 ztI{(NXvYGB9!vcnq^%fMX}HMLE9+5*>6aj#jpy}j8eT)-C!yLg{Tjp`T~B1A)vz33Gr7G;=fFY^BZ67nE!M_yd(DyaZKm8F5;r9MZ?YuRD66w zoU7h&1l7Q&Syk43h;vl+RPk!{svBZLUQx_F7oVkGO=Oohs`MK5xghgj#OGaU zc(LY}Fh~RWN@0%m8R8s&6IA>T>)(i%g87zr8eYA{RS%s@jS#`{YBPL z)&!1uI^xBwE8KXo2p+P^zo)Rmy7qhVhpnpb#UE+CVYB}syEX8<|I;K4H|MV}`loiq zi839h*K`?!EYJR-Q?9Xj4^PsjG=03ioNK1}4i z)5n(DxC28Mfu}xY;svo<=WgZpN`6JHe)CH&H#sSVA=6JXJZ_*EVsA3m8wcBxqa<8+S z!4*#Z5kEhKLCO`*$d~<#>_tx7%jnBRl*vm_7r5UXadX>?os&qun42AL0K9(bt`^Ks zy(uFHmN)}m@sGZ^2@IDH@1AZ*wq;7J1`(=LvD4qHEANxTsSU_e1#xz`_24W186I7! z&5-k@o^pibz#^yORezVuq*B`@c^pEreub?9tSh@mbSNXEvKwCY57Z{~ccT-KMAjxI zBd$%{4LNH;85t&0U-NfKms%{7FaJ7(lj^| z$z(Ju27|gzIg(t1WU{W)9K>~({PH#(cEt1LFM4e&cBhjIZtY4j6 zKpm;6{veVv^+BY_JxOj0E=IVJ`cm#ieo3H^tP8HE(h{fbb$=HGhh9Iw1=O48=nPsQ z>l_?Sy0u))j2%W98Lchd=^xQSMi!(NM%Id*{!i_PoZ2@~#zRii8~zcxN4cA&<7om9 z9b{cb2&~I^6igk;$bltKyopWr5D;z?JX3Rp0}nYP-}DdEyT^NyoQIIC3m5=Kdz;@> z&E9Aj{I}%DM@WXjV=$;|td<-=d4)(KYlFpz>l$Cmfd?JR$mo@dpZhPui+Dfzy{}8V zeh~B1fE1@kn}4u+A1^)K-RE+c1WrNNL--PenecW5KX5^KTP9cP+30sVFT6cmq582g zbm#`c^SyjJ-U=pDmnOhbWiTuWG*~T+?W*qUG6U-5egy_*Ww^oYX8gbv!BdAaazNxE zu+|w3rVeFft&_`KdNQ6QO5B!YOvcS`;i(+*ar;f92;IqYSU25RvqK<0*HNkiGmMS} z)2R*tv#qK_z_d{cpAM#Nw%2aK4_uU!A`>Vi2P8pl6=Bst=uoB_DDwS?>n&GL<}ior z#WB)FwuCS%6c%QM#=7jD!A+3_R$`hk(7HpI1wSCn9(qJL1b$wa9s9m8dz9zJti%8? z&xy(T;6cKL;6k-n4ieZsmq|h~_-f&i;2FYUu=@TS`sHBtZ8^9C{EX;~1HUCa8N6F~ z0{9ogbHF?YW`(Bl3{K67h*W_;k%SuXQQ?{3uZ8Qt>Z>^D*Mk2c@&#ZnenX=R!R zSD)8I&d;rmhz@%pn|a}#i}v{2O@{&nN0|{}HVi^!rDxK#d!a-|J>1U)z$xG>;VBOy zEE7&ec(ZU7!a{gE-)Y)|^Mr0-I9j!zQ0UG@a^lUbdfr;au=F!hb?oWAOb3uQHf7>u87i zZwU{89eza!c~o`AyONNHgnh#KVD(8MGBczB8Y+fd&0}D;AeDPKcqBMOnDYJxhYh~Y z;2Jg8Av3#^6F3dcfx;HylL*7`_G!SU4c^S42+zQh0j}e&BY%Q=c+&K;&*1DAm(Ag}!-e&BfHlsc4=10tV{xcwt) zVEb2#5{2Y|o1l*V_FARney<8c(-7sis{xT$A#VTJ)ltVk=uk!uhxLd$IBV|!W z4m`#FhpU0tr_MV>i88W2r;027+cIiS&KCLC)CEF2XV?NBL_s@ zDJltEi?R-hb__po>e2%lC{vdnF-mb>B>FrsFF@R0r^N1xGtj532x$S4s{=UX;~`r} z{q?T?Rfw}fQ3@FeNCFj^z};kmF!zpnc>8Jmz*UR9UN|6frsq#wQ5V_$|UPu09f^KJD?wXnHn&;24m(g1*&@XZDzGF3s5?!2@5WuoV9`*0#Bxnn(e_XSXBtj3QZTCOoX$AS)qC4D3n5g`xpVU zW;x^@_<>XBu3#3-J%n-=c84$v;5Mh61uqt60gnl@VAc8%01jK%N)Ndy;Mm9ht_8y!*LxtkEGcY8^}kn>wW>fRuX zz^W2vS$7FDtP^G<=L@ruERuHE$oqxaiS;f=RYML-LN3BT3bXPjg<1K33UgxP0~s3S z45=nPFc-j5lO8x9^0A`NiWS1^>0_M8DI3S}rRR@gD#`qDnM97#t)3@3%-&y^Tm4dDZfSL7 zfj+}4Mb4tt-6FB64j^DQA$qGQF``yEKmz`(CXr`?9bqr{S>X`)W8qv(Z>NPjfWz>r zF-fv^01bj45c!7)8(el*{!teiP~t^~y3hb~xLt`j4RQF45#})A&3Vde5mpNqLtZ1y zEq$*rAH{7jn2$7=m-08&;!+ZM*GTxS!F=snXZWjd7zKE}t~?E4XJG_ZFN2GP`CyUv z*J+2Fa-uL6zs7cu2)E_+!rYc~gc;5gM&K?Sl?#K(cupenCUC34yt&T8%Ax-|;m;7# zQ_h{P6hk-42o2RDLT2se30JT%VHThk{DaN{aL6x)5SAHSA?!uosRrLKT!6egg!^&j zr(@?MYLyID0txD+JMuMP7EY$ob;9h@Hw^hfL(XTwTE83g$P1oKLCsB3R4R$E&rf%g%)m0uuRS=Q&l&S8MK+Y*)nwVo}z99TE z!fnDGP$c853hVuvFn7|u!iN$5LHIj_>Y9T89hK9TbDJ5-20CHR4RKy)Z0>t2Z= zuJ?i#(V>j2_ks-~&&7nkf#Y9i*d+-NT4bH!*COW%xW5%1i_9BY*vt5V`&8tVkpm+C zx5)W!JcolWD=0^k&D{SO(S>cLl60e5UJsjwGP3So_MkRYAciO-Ydbp(J0nGhGP1U# z7O{<@fCdPch!PKcJDHiK!aXT+%E)?ldtT&kB5XsN*5561%E(&(Ly;dxxSRSi=|vAn z0)=EfQS7CX%yi7eK}s1}w{jnKWU@LVI+T(1B*r!OnD+vN`>8Jl^S@<59#uj{bioG= zCAB0kGE+v@I)!d#i!XK^qCRgF!3`HVW#oX!4%g{Kfq;BGci z_PRIf zhz@0BU5WW3=gV`asV|$OS>%vKEk^WqdQuX2LiJ-|zTCE1m~YaZp`pe2fqP!$l#%sh zW#I%vPgWm_4rOFLSshk#^#4)7A4Q25L!S%t)*6q7Y(3A+z7{@)gHW-YZ1G@}iNf_I zy1Mz$+r5sv2XZbbvjm~Kga*^q!&8o|))H=iM$!>B31=hZT^h=1oSRPTyeS+)_?978 zH!`7*I$FOGc`Cv~!hb;cJK-S0uY@`OSiBTw0eJ{}qt&|LA;JS7A1lnvR|^BJ3SqY9 zT46R|k}wOt8J;$8Ls%nRiuAj={h6>2!j+Ohrl*`WJ|Ij(Au-B|scT;7kn@qINBBt5 zp^U5tEDNMfHe|H${ha^l^!Don=Gr}U8SrGbY@{%|SKXn2oIQb?U}{+&1nwO*bRm1R zr^u;ShOo^sauS>el8e*M}s=lbnMBM!&%p7xsF}w^%{vUQ@;&$KVA9FD8eeKOVkWN5E?h-e~Z4a!)A0wHdt6 z;6sX?y37<(`_HuL7wMTB@dV^OOyxQOm25&WZr($QpSN_}7K^4{u12D}! z9WHF}ID;n}Jk#J>gBKdyWbi73V+Kbz8<8Cb?>2b9!G{e#Zty9Cc}UTX2^ySfaIVWv z&zC(<>Q2~aq#rW)n87CvK4Wl7hx29f|M%$fLk15pxY*!msS&9#c$&dA2G&)dw z!UTh>44z}~0>w_@-~9sz_2xFjO)H9o+YD9<`-xmF?AO~_Wn|+kojO~{V6|MIWK+xa z^>$AE-9O^uJh!xZstT)>_k`8TdwI@;Q~rT=UuW?t|L6|=+#J~*k)xk;=#;-#w7)A- z3*HH<1@DAsQdL+jcsIb+R}0<=s|D|bS5aSBt#@~ctFP9(6IScp3Hx_5!zDPp`$t4Y zrq-^z)Xm4W>+FFp=aTbXR!i3na#<~1SKzW*x^A$`YUw(j-@#Qe?+};O(seuwhEq$| z@f;KG>cvzlb|Y%-I-dT*sio_9@(HJwuDi@-wRGL(F1Io76)vl#>zrTpOX|GxNWX6G zszR6l(_ioLq{(VO`4WzoaJGbtBwVY)KDI>nOZZm_1F{%UpCqR~2TKsS(UseNmFKww z|4DJ5hoXv}KApnVfz;|jU$~*u{tADd=Mt|gyh_5GC2W*%wS+H9_^#Jo@W|_~KyL zub-&S4Xo8Kb1sZSy*NRA1=Le)Ji&n~x4Txaac-jej0E*nQ{7X0s&hDK_2teBP?)6ahlwiU~;#i&H9@gyHE<8M!#%bgr&W7dyF6Uw$lMst2#fh=&?m8HU&Dh0ZNhADEy%$54+L z>Xl9_)T^&fP~Qjj2~eZ;QbYZR(6bSjT~YlDpid|e$67G@py(k`4g)9b!T0rx6Uqrq z!>K+ptb^8Qc-@Mp6Y?MTsU=A=-b#?4L?^zV3uG(vS z9A*S=4(#dv!RR_yoh`1t^ZmocHb<%~?vFOOF~Q(s7}UEZ+o}79cc(ds{9?n~#fc5U zic0S$zZHpJ%}xB=Y| zhEO|gFagZ*8D=Nfpdr<&)dUz;F5(UV`Ci!sU1*fj~|Y*^$j zwa1F1$aCe)OR!h&T-ZLj%W$r%Vpg+i$@vqL`9}7Y3E5-4oKUeh!+GT+Pio(_$fS>z z_ZXR8NXT^D`Ne?seMl(PZe}o&-;u#A134pJ8{&r`@0GCtXO)!p7%R|mJ+w~cIi~K*17fpBcOrWY%3*eFn{&kv`9FhdX99|Wzz5ao4L5-&+W4c1v#3GDGttB))WGK; z2{ogMYXHT8C5X^mG;s$t(D^<>+kwKsw9WvmI=~#7(5ZRYNSAbnD4-^N53aID<0iZbe zSR)OfIIxO?gV}1}V~y&qpz2`~mx0c602u%UFs3O`9daU6=|B``bAW1LdB7dbJYfxB zt3n878pLfNo)g48F?eyt(gjht5GXkhe9+NrE8xTz5BQ)X8+Q;BGJszSI_OBECm48Y M8L*`a12A_20C2R42><{9 diff --git a/tools/sdk/lib/librtc.a b/tools/sdk/lib/librtc.a index 45a9b3213239b775a8828d03776a2fb30ad64b7f..30963f55967c97ad31652b90c965a2837d161288 100755 GIT binary patch literal 162012 zcmeFadwf*Yxdy!V%p}>98Io{Of`U#WNI))001ZlOKtMPKja)2N+Q}6X2}w)>L`!vo zXoI3ANHu8MCWtj6mWx(VQ30t%>jjlkv`|s0;sr%T#q0i_XI*AiLV9}6`JMCozCXVG zo4wbw-u13`z3cX_wf1FA+PK1+;<6tnjtq4^vPO^1${9Om)abFHP^Jhnuc1(OW{xC; z3KA{LDzhx7;Hs4K0hwTkM(CG!@P*O%6W=hoJhR)@34 zWX>nGW^UEoxwWNrkVJ1$k&Ifrpt_>|1VXr`be>hSI9yy+S|6^ewB}aT6qkk(Z9!E@ zsq!r@pIa{cF@`9~T39Kg#3(`(B$SoUD+^cGlvfF*>ZvzTokZ0O!ix*%moBUhS5?