forked from espressif/esp-idf
feat(gpio): remove io_mux_reg array in gpio_periph.c from c5
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2018-2023 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2018-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -37,8 +37,8 @@ esp_comm_gpio_hold_t bootloader_common_check_long_hold_gpio(uint32_t num_pin, ui
|
|||||||
esp_comm_gpio_hold_t bootloader_common_check_long_hold_gpio_level(uint32_t num_pin, uint32_t delay_sec, bool level)
|
esp_comm_gpio_hold_t bootloader_common_check_long_hold_gpio_level(uint32_t num_pin, uint32_t delay_sec, bool level)
|
||||||
{
|
{
|
||||||
esp_rom_gpio_pad_select_gpio(num_pin);
|
esp_rom_gpio_pad_select_gpio(num_pin);
|
||||||
if (GPIO_PIN_MUX_REG[num_pin]) {
|
if (((1ULL << num_pin) & SOC_GPIO_VALID_GPIO_MASK) != 0) {
|
||||||
PIN_INPUT_ENABLE(GPIO_PIN_MUX_REG[num_pin]);
|
gpio_ll_input_enable(&GPIO, num_pin);
|
||||||
}
|
}
|
||||||
esp_rom_gpio_pad_pullup_only(num_pin);
|
esp_rom_gpio_pad_pullup_only(num_pin);
|
||||||
uint32_t tm_start = esp_log_early_timestamp();
|
uint32_t tm_start = esp_log_early_timestamp();
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
#include "soc/gpio_periph.h"
|
#include "soc/gpio_periph.h"
|
||||||
#include "soc/gpio_sig_map.h"
|
#include "soc/gpio_sig_map.h"
|
||||||
#include "soc/rtc.h"
|
#include "soc/rtc.h"
|
||||||
#include "hal/gpio_hal.h"
|
#include "hal/gpio_ll.h"
|
||||||
#if CONFIG_IDF_TARGET_ESP32S2
|
#if CONFIG_IDF_TARGET_ESP32S2
|
||||||
#include "esp32s2/rom/usb/cdc_acm.h"
|
#include "esp32s2/rom/usb/cdc_acm.h"
|
||||||
#include "esp32s2/rom/usb/usb_common.h"
|
#include "esp32s2/rom/usb/usb_common.h"
|
||||||
@@ -63,17 +63,17 @@ void bootloader_console_init(void)
|
|||||||
uart_tx_gpio != UART_NUM_0_TXD_DIRECT_GPIO_NUM ||
|
uart_tx_gpio != UART_NUM_0_TXD_DIRECT_GPIO_NUM ||
|
||||||
uart_rx_gpio != UART_NUM_0_RXD_DIRECT_GPIO_NUM) {
|
uart_rx_gpio != UART_NUM_0_RXD_DIRECT_GPIO_NUM) {
|
||||||
// Change default UART pins back to GPIOs
|
// Change default UART pins back to GPIOs
|
||||||
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[UART_NUM_0_RXD_DIRECT_GPIO_NUM], PIN_FUNC_GPIO);
|
gpio_ll_func_sel(&GPIO, UART_NUM_0_RXD_DIRECT_GPIO_NUM, PIN_FUNC_GPIO);
|
||||||
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[UART_NUM_0_TXD_DIRECT_GPIO_NUM], PIN_FUNC_GPIO);
|
gpio_ll_func_sel(&GPIO, UART_NUM_0_TXD_DIRECT_GPIO_NUM, PIN_FUNC_GPIO);
|
||||||
// Route GPIO signals to/from pins
|
// Route GPIO signals to/from pins
|
||||||
const uint32_t tx_idx = UART_PERIPH_SIGNAL(uart_num, SOC_UART_TX_PIN_IDX);
|
const uint32_t tx_idx = UART_PERIPH_SIGNAL(uart_num, SOC_UART_TX_PIN_IDX);
|
||||||
const uint32_t rx_idx = UART_PERIPH_SIGNAL(uart_num, SOC_UART_RX_PIN_IDX);
|
const uint32_t rx_idx = UART_PERIPH_SIGNAL(uart_num, SOC_UART_RX_PIN_IDX);
|
||||||
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[uart_rx_gpio], PIN_FUNC_GPIO);
|
gpio_ll_func_sel(&GPIO, uart_rx_gpio, PIN_FUNC_GPIO);
|
||||||
PIN_INPUT_ENABLE(GPIO_PIN_MUX_REG[uart_rx_gpio]);
|
gpio_ll_input_enable(&GPIO, uart_rx_gpio);
|
||||||
esp_rom_gpio_pad_pullup_only(uart_rx_gpio);
|
esp_rom_gpio_pad_pullup_only(uart_rx_gpio);
|
||||||
esp_rom_gpio_connect_out_signal(uart_tx_gpio, tx_idx, 0, 0);
|
esp_rom_gpio_connect_out_signal(uart_tx_gpio, tx_idx, 0, 0);
|
||||||
esp_rom_gpio_connect_in_signal(uart_rx_gpio, rx_idx, 0);
|
esp_rom_gpio_connect_in_signal(uart_rx_gpio, rx_idx, 0);
|
||||||
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[uart_tx_gpio], PIN_FUNC_GPIO);
|
gpio_ll_func_sel(&GPIO, uart_tx_gpio, PIN_FUNC_GPIO);
|
||||||
// Enable the peripheral
|
// Enable the peripheral
|
||||||
uart_ll_enable_bus_clock(uart_num, true);
|
uart_ll_enable_bus_clock(uart_num, true);
|
||||||
uart_ll_reset_register(uart_num);
|
uart_ll_reset_register(uart_num);
|
||||||
|
@@ -355,7 +355,7 @@ static inline void gpio_ll_input_disable(gpio_dev_t *hw, uint32_t gpio_num)
|
|||||||
*/
|
*/
|
||||||
static inline void gpio_ll_input_enable(gpio_dev_t *hw, uint32_t gpio_num)
|
static inline void gpio_ll_input_enable(gpio_dev_t *hw, uint32_t gpio_num)
|
||||||
{
|
{
|
||||||
PIN_INPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]);
|
PIN_INPUT_ENABLE(DR_REG_IO_MUX_BASE + GPIO_PIN_MUX_REG_OFFSET[gpio_num]);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -6,36 +6,6 @@
|
|||||||
|
|
||||||
#include "soc/gpio_periph.h"
|
#include "soc/gpio_periph.h"
|
||||||
|
|
||||||
const uint32_t GPIO_PIN_MUX_REG[] = {
|
|
||||||
IO_MUX_GPIO0_REG,
|
|
||||||
IO_MUX_GPIO1_REG,
|
|
||||||
IO_MUX_GPIO2_REG,
|
|
||||||
IO_MUX_GPIO3_REG,
|
|
||||||
IO_MUX_GPIO4_REG,
|
|
||||||
IO_MUX_GPIO5_REG,
|
|
||||||
IO_MUX_GPIO6_REG,
|
|
||||||
IO_MUX_GPIO7_REG,
|
|
||||||
IO_MUX_GPIO8_REG,
|
|
||||||
IO_MUX_GPIO9_REG,
|
|
||||||
IO_MUX_GPIO10_REG,
|
|
||||||
IO_MUX_GPIO11_REG,
|
|
||||||
IO_MUX_GPIO12_REG,
|
|
||||||
IO_MUX_GPIO13_REG,
|
|
||||||
IO_MUX_GPIO14_REG,
|
|
||||||
IO_MUX_GPIO15_REG,
|
|
||||||
IO_MUX_GPIO16_REG,
|
|
||||||
IO_MUX_GPIO17_REG,
|
|
||||||
IO_MUX_GPIO18_REG,
|
|
||||||
IO_MUX_GPIO19_REG,
|
|
||||||
IO_MUX_GPIO20_REG,
|
|
||||||
IO_MUX_GPIO21_REG,
|
|
||||||
IO_MUX_GPIO22_REG,
|
|
||||||
IO_MUX_GPIO23_REG,
|
|
||||||
IO_MUX_GPIO24_REG,
|
|
||||||
IO_MUX_GPIO25_REG,
|
|
||||||
IO_MUX_GPIO26_REG,
|
|
||||||
};
|
|
||||||
|
|
||||||
_Static_assert(sizeof(GPIO_PIN_MUX_REG) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_PIN_MUX_REG");
|
_Static_assert(sizeof(GPIO_PIN_MUX_REG) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_PIN_MUX_REG");
|
||||||
|
|
||||||
const uint32_t GPIO_HOLD_MASK[] = {
|
const uint32_t GPIO_HOLD_MASK[] = {
|
||||||
|
@@ -6,38 +6,6 @@
|
|||||||
|
|
||||||
#include "soc/gpio_periph.h"
|
#include "soc/gpio_periph.h"
|
||||||
|
|
||||||
const uint32_t GPIO_PIN_MUX_REG[] = {
|
|
||||||
IO_MUX_GPIO0_REG,
|
|
||||||
IO_MUX_GPIO1_REG,
|
|
||||||
IO_MUX_GPIO2_REG,
|
|
||||||
IO_MUX_GPIO3_REG,
|
|
||||||
IO_MUX_GPIO4_REG,
|
|
||||||
IO_MUX_GPIO5_REG,
|
|
||||||
IO_MUX_GPIO6_REG,
|
|
||||||
IO_MUX_GPIO7_REG,
|
|
||||||
IO_MUX_GPIO8_REG,
|
|
||||||
IO_MUX_GPIO9_REG,
|
|
||||||
IO_MUX_GPIO10_REG,
|
|
||||||
IO_MUX_GPIO11_REG,
|
|
||||||
IO_MUX_GPIO12_REG,
|
|
||||||
IO_MUX_GPIO13_REG,
|
|
||||||
IO_MUX_GPIO14_REG,
|
|
||||||
IO_MUX_GPIO15_REG,
|
|
||||||
IO_MUX_GPIO16_REG,
|
|
||||||
IO_MUX_GPIO17_REG,
|
|
||||||
IO_MUX_GPIO18_REG,
|
|
||||||
IO_MUX_GPIO19_REG,
|
|
||||||
IO_MUX_GPIO20_REG,
|
|
||||||
IO_MUX_GPIO21_REG,
|
|
||||||
IO_MUX_GPIO22_REG,
|
|
||||||
IO_MUX_GPIO23_REG,
|
|
||||||
IO_MUX_GPIO24_REG,
|
|
||||||
IO_MUX_GPIO25_REG,
|
|
||||||
IO_MUX_GPIO26_REG,
|
|
||||||
IO_MUX_GPIO27_REG,
|
|
||||||
IO_MUX_GPIO28_REG,
|
|
||||||
};
|
|
||||||
|
|
||||||
_Static_assert(sizeof(GPIO_PIN_MUX_REG) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_PIN_MUX_REG");
|
_Static_assert(sizeof(GPIO_PIN_MUX_REG) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_PIN_MUX_REG");
|
||||||
|
|
||||||
const uint32_t GPIO_HOLD_MASK[] = {
|
const uint32_t GPIO_HOLD_MASK[] = {
|
||||||
|
@@ -6,34 +6,6 @@
|
|||||||
|
|
||||||
#include "soc/gpio_periph.h"
|
#include "soc/gpio_periph.h"
|
||||||
|
|
||||||
const uint32_t GPIO_PIN_MUX_REG[] = {
|
|
||||||
IO_MUX_GPIO0_REG,
|
|
||||||
IO_MUX_GPIO1_REG,
|
|
||||||
IO_MUX_GPIO2_REG,
|
|
||||||
IO_MUX_GPIO3_REG,
|
|
||||||
IO_MUX_GPIO4_REG,
|
|
||||||
IO_MUX_GPIO5_REG,
|
|
||||||
IO_MUX_GPIO6_REG,
|
|
||||||
IO_MUX_GPIO7_REG,
|
|
||||||
IO_MUX_GPIO8_REG,
|
|
||||||
IO_MUX_GPIO9_REG,
|
|
||||||
IO_MUX_GPIO10_REG,
|
|
||||||
IO_MUX_GPIO11_REG,
|
|
||||||
IO_MUX_GPIO12_REG,
|
|
||||||
IO_MUX_GPIO13_REG,
|
|
||||||
IO_MUX_GPIO14_REG,
|
|
||||||
IO_MUX_GPIO15_REG,
|
|
||||||
IO_MUX_GPIO16_REG,
|
|
||||||
IO_MUX_GPIO17_REG,
|
|
||||||
IO_MUX_GPIO18_REG,
|
|
||||||
IO_MUX_GPIO19_REG,
|
|
||||||
IO_MUX_GPIO20_REG,
|
|
||||||
IO_MUX_GPIO21_REG,
|
|
||||||
IO_MUX_GPIO22_REG,
|
|
||||||
IO_MUX_GPIO23_REG,
|
|
||||||
IO_MUX_GPIO24_REG,
|
|
||||||
};
|
|
||||||
|
|
||||||
_Static_assert(sizeof(GPIO_PIN_MUX_REG) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_PIN_MUX_REG");
|
_Static_assert(sizeof(GPIO_PIN_MUX_REG) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_PIN_MUX_REG");
|
||||||
|
|
||||||
const uint32_t GPIO_HOLD_MASK[] = {
|
const uint32_t GPIO_HOLD_MASK[] = {
|
||||||
|
Reference in New Issue
Block a user