diff --git a/components/hal/esp32/gpio_hal_workaround.c b/components/hal/esp32/gpio_hal_workaround.c index 65eb5fc574..b56189d16c 100644 --- a/components/hal/esp32/gpio_hal_workaround.c +++ b/components/hal/esp32/gpio_hal_workaround.c @@ -1,16 +1,8 @@ -// Copyright 2015-2019 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. +/* + * SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ // The HAL layer for GPIO (common part) // @@ -27,8 +19,8 @@ typedef struct gpio_slp_mode_cfg { static void gpio_hal_sleep_mode_setup_wrapper( gpio_hal_context_t *hal, - gpio_num_t gpio_num, - void (*opt)(gpio_hal_context_t *, gpio_num_t, void *) + uint32_t gpio_num, + void (*opt)(gpio_hal_context_t *, uint32_t, void *) ) { static DRAM_ATTR gpio_slp_mode_cfg_t gpio_cfg; @@ -43,7 +35,7 @@ static void gpio_hal_sleep_mode_setup_wrapper( * @param gpio_num gpio num * @param args pointer for bitmap to backup GPIO pu/pd information */ -static void gpio_hal_fun_pupd_backup(gpio_hal_context_t *hal, gpio_num_t gpio_num, void *args) +static void gpio_hal_fun_pupd_backup(gpio_hal_context_t *hal, uint32_t gpio_num, void *args) { /* On ESP32, setting SLP_PU, SLP_PD couldn`t change GPIO status * from FUN_PU, FUN_PD to SLP_PU, SLP_PD at sleep. @@ -84,7 +76,7 @@ static void gpio_hal_fun_pupd_backup(gpio_hal_context_t *hal, gpio_num_t gpio_nu * @param gpio_num gpio num * @param args pointer for bitmap to restore GPIO pu/pd information */ -static void gpio_hal_fun_pupd_restore(gpio_hal_context_t *hal, gpio_num_t gpio_num, void *args) +static void gpio_hal_fun_pupd_restore(gpio_hal_context_t *hal, uint32_t gpio_num, void *args) { /* On ESP32, setting SLP_PU, SLP_PD couldn`t change GPIO status * from SLP_PU, SLP_PD to FUN_PU, FUN_PD when it wakes up. @@ -107,12 +99,12 @@ static void gpio_hal_fun_pupd_restore(gpio_hal_context_t *hal, gpio_num_t gpio_n } } -void gpio_hal_sleep_pupd_config_apply(gpio_hal_context_t *hal, gpio_num_t gpio_num) +void gpio_hal_sleep_pupd_config_apply(gpio_hal_context_t *hal, uint32_t gpio_num) { gpio_hal_sleep_mode_setup_wrapper(hal, gpio_num, gpio_hal_fun_pupd_backup); } -void gpio_hal_sleep_pupd_config_unapply(gpio_hal_context_t *hal, gpio_num_t gpio_num) +void gpio_hal_sleep_pupd_config_unapply(gpio_hal_context_t *hal, uint32_t gpio_num) { gpio_hal_sleep_mode_setup_wrapper(hal, gpio_num, gpio_hal_fun_pupd_restore); } diff --git a/components/hal/esp32/include/hal/gpio_ll.h b/components/hal/esp32/include/hal/gpio_ll.h index 361100c685..fc613b518e 100644 --- a/components/hal/esp32/include/hal/gpio_ll.h +++ b/components/hal/esp32/include/hal/gpio_ll.h @@ -42,7 +42,7 @@ extern "C" { * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -53,7 +53,7 @@ static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -65,7 +65,7 @@ static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number * @return if GPIO gpio_num`s FUN_PU is true */ -static inline bool gpio_ll_pullup_is_enabled(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline bool gpio_ll_pullup_is_enabled(gpio_dev_t *hw, uint32_t gpio_num) { return REG_GET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU) ? true : false; } @@ -76,7 +76,7 @@ static inline bool gpio_ll_pullup_is_enabled(gpio_dev_t *hw, gpio_num_t gpio_num * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -87,7 +87,7 @@ static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -99,7 +99,7 @@ static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number * @return if GPIO gpio_num`s FUN_PD is true */ -static inline bool gpio_ll_pulldown_is_enabled(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline bool gpio_ll_pulldown_is_enabled(gpio_dev_t *hw, uint32_t gpio_num) { return REG_GET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD) ? true : false; } @@ -110,7 +110,7 @@ static inline bool gpio_ll_pulldown_is_enabled(gpio_dev_t *hw, gpio_num_t gpio_n * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -121,7 +121,7 @@ static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -133,7 +133,7 @@ static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number * @return if GPIO gpio_num`s SLP_SEL is true */ -static inline bool gpio_ll_sleep_sel_is_enabled(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline bool gpio_ll_sleep_sel_is_enabled(gpio_dev_t *hw, uint32_t gpio_num) { return REG_GET_BIT(GPIO_PIN_MUX_REG[gpio_num], SLP_SEL) ? true : false; } @@ -144,7 +144,7 @@ static inline bool gpio_ll_sleep_sel_is_enabled(gpio_dev_t *hw, gpio_num_t gpio_ * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -155,7 +155,7 @@ static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -167,7 +167,7 @@ static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number * @return if GPIO gpio_num`s SLP_PU is true */ -static inline bool gpio_ll_sleep_pullup_is_enabled(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline bool gpio_ll_sleep_pullup_is_enabled(gpio_dev_t *hw, uint32_t gpio_num) { return REG_GET_BIT(GPIO_PIN_MUX_REG[gpio_num], SLP_PU) ? true : false; } @@ -178,7 +178,7 @@ static inline bool gpio_ll_sleep_pullup_is_enabled(gpio_dev_t *hw, gpio_num_t gp * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -189,7 +189,7 @@ static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -201,7 +201,7 @@ static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_nu * @param gpio_num GPIO number * @return if GPIO gpio_num`s SLP_PD is true */ -static inline bool gpio_ll_sleep_pulldown_is_enabled(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline bool gpio_ll_sleep_pulldown_is_enabled(gpio_dev_t *hw, uint32_t gpio_num) { return REG_GET_BIT(GPIO_PIN_MUX_REG[gpio_num], SLP_PD) ? true : false; } @@ -213,7 +213,7 @@ static inline bool gpio_ll_sleep_pulldown_is_enabled(gpio_dev_t *hw, gpio_num_t * @param gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param intr_type Interrupt type, select from gpio_int_type_t */ -static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { hw->pin[gpio_num].int_type = intr_type; } @@ -271,12 +271,12 @@ static inline void gpio_ll_clear_intr_status_high(gpio_dev_t *hw, uint32_t mask) * @param core_id Interrupt enabled CPU to corresponding ID * @param gpio_num GPIO number. If you want to enable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, gpio_num_t gpio_num) +static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, uint32_t gpio_num) { if (core_id == 0) { hw->pin[gpio_num].int_ena = GPIO_LL_PRO_CPU_INTR_ENA; //enable pro cpu intr } else { - hw->pin[gpio_num].int_ena = GPIO_LL_APP_CPU_INTR_ENA; //enable pro cpu intr + hw->pin[gpio_num].int_ena = GPIO_LL_APP_CPU_INTR_ENA; //enable app cpu intr } } @@ -286,7 +286,7 @@ static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. If you want to disable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_intr_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].int_ena = 0; //disable GPIO intr } @@ -297,7 +297,7 @@ static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -308,7 +308,7 @@ static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_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]); } @@ -319,7 +319,7 @@ static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { hw->enable_w1tc = (0x1 << gpio_num); @@ -338,7 +338,7 @@ static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { hw->enable_w1ts = (0x1 << gpio_num); @@ -353,7 +353,7 @@ static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -364,7 +364,7 @@ static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_n * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -375,7 +375,7 @@ static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -386,7 +386,7 @@ static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_ * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -397,7 +397,7 @@ static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_n * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pad_driver = 0; } @@ -408,7 +408,7 @@ static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_od_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pad_driver = 1; } @@ -420,7 +420,7 @@ static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the output level of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param level Output level. 0: low ; 1: high */ -static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32_t level) +static inline void gpio_ll_set_level(gpio_dev_t *hw, uint32_t gpio_num, uint32_t level) { if (level) { if (gpio_num < 32) { @@ -449,7 +449,7 @@ static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32 * - 0 the GPIO input level is 0 * - 1 the GPIO input level is 1 */ -static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline int gpio_ll_get_level(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { return (hw->in >> gpio_num) & 0x1; @@ -464,7 +464,7 @@ static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. */ -static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].wakeup_enable = 0x1; } @@ -475,7 +475,7 @@ static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].wakeup_enable = 0; } @@ -487,7 +487,7 @@ static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number, only support output GPIOs * @param strength Drive capability of the pad */ -static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t strength) +static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t strength) { SET_PERI_REG_BITS(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, strength, FUN_DRV_S); } @@ -499,7 +499,7 @@ static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_ * @param gpio_num GPIO number, only support output GPIOs * @param strength Pointer to accept drive capability of the pad */ -static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t *strength) +static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t *strength) { *strength = (gpio_drive_cap_t)GET_PERI_REG_BITS2(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, FUN_DRV_S); } @@ -530,7 +530,7 @@ static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_en(gpio_dev_t *hw, uint32_t gpio_num) { SET_PERI_REG_MASK(RTC_IO_DIG_PAD_HOLD_REG, GPIO_HOLD_MASK[gpio_num]); } @@ -541,7 +541,7 @@ static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_dis(gpio_dev_t *hw, uint32_t gpio_num) { CLEAR_PERI_REG_MASK(RTC_IO_DIG_PAD_HOLD_REG, GPIO_HOLD_MASK[gpio_num]); } diff --git a/components/hal/esp32c2/include/hal/gpio_ll.h b/components/hal/esp32c2/include/hal/gpio_ll.h index 35c23774b2..4666c65e24 100644 --- a/components/hal/esp32c2/include/hal/gpio_ll.h +++ b/components/hal/esp32c2/include/hal/gpio_ll.h @@ -36,7 +36,7 @@ extern "C" { * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -47,7 +47,7 @@ static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -58,7 +58,7 @@ static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -69,7 +69,7 @@ static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -81,7 +81,7 @@ static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param intr_type Interrupt type, select from gpio_int_type_t */ -static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { hw->pin[gpio_num].int_type = intr_type; } @@ -139,7 +139,7 @@ static inline void gpio_ll_clear_intr_status_high(gpio_dev_t *hw, uint32_t mask) * @param core_id Interrupt enabled CPU to corresponding ID * @param gpio_num GPIO number. If you want to enable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, gpio_num_t gpio_num) +static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, uint32_t gpio_num) { HAL_ASSERT(core_id == 0 && "target SoC only has a single core"); GPIO.pin[gpio_num].int_ena = GPIO_LL_PRO_CPU_INTR_ENA; //enable pro cpu intr @@ -151,7 +151,7 @@ static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. If you want to disable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_intr_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].int_ena = 0; //disable GPIO intr } @@ -162,7 +162,7 @@ static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -173,7 +173,7 @@ static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_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]); } @@ -184,7 +184,7 @@ static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->enable_w1tc.enable_w1tc = (0x1 << gpio_num); // Ensure no other output signal is routed via GPIO matrix to this pin @@ -198,7 +198,7 @@ static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->enable_w1ts.enable_w1ts = (0x1 << gpio_num); } @@ -209,7 +209,7 @@ static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pad_driver = 0; } @@ -220,7 +220,7 @@ static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_od_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pad_driver = 1; } @@ -232,7 +232,7 @@ static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the output level of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param level Output level. 0: low ; 1: high */ -static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32_t level) +static inline void gpio_ll_set_level(gpio_dev_t *hw, uint32_t gpio_num, uint32_t level) { if (level) { hw->out_w1ts.out_w1ts = (1 << gpio_num); @@ -253,7 +253,7 @@ static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32 * - 0 the GPIO input level is 0 * - 1 the GPIO input level is 1 */ -static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline int gpio_ll_get_level(gpio_dev_t *hw, uint32_t gpio_num) { return (hw->in.in_data_next >> gpio_num) & 0x1; } @@ -264,7 +264,7 @@ static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. */ -static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].wakeup_enable = 0x1; } @@ -275,7 +275,7 @@ static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].wakeup_enable = 0; } @@ -287,7 +287,7 @@ static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number, only support output GPIOs * @param strength Drive capability of the pad */ -static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t strength) +static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t strength) { SET_PERI_REG_BITS(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, strength, FUN_DRV_S); } @@ -299,7 +299,7 @@ static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_ * @param gpio_num GPIO number, only support output GPIOs * @param strength Pointer to accept drive capability of the pad */ -static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t *strength) +static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t *strength) { *strength = (gpio_drive_cap_t)GET_PERI_REG_BITS2(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, FUN_DRV_S); } @@ -331,7 +331,7 @@ static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_en(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num <= GPIO_NUM_5) { REG_SET_BIT(RTC_CNTL_PAD_HOLD_REG, BIT(gpio_num)); @@ -346,7 +346,7 @@ static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_dis(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num <= GPIO_NUM_5) { REG_CLR_BIT(RTC_CNTL_PAD_HOLD_REG, BIT(gpio_num)); @@ -424,7 +424,7 @@ static inline void gpio_ll_force_unhold_all(void) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -435,7 +435,7 @@ static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -446,7 +446,7 @@ static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -457,7 +457,7 @@ static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -468,7 +468,7 @@ static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -479,7 +479,7 @@ static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -490,7 +490,7 @@ static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -501,7 +501,7 @@ static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_n * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -512,7 +512,7 @@ static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -523,7 +523,7 @@ static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_ * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -535,7 +535,7 @@ static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_n * @param gpio_num GPIO number. * @param intr_type GPIO wake-up type. Only GPIO_INTR_LOW_LEVEL or GPIO_INTR_HIGH_LEVEL can be used. */ -static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { HAL_ASSERT(gpio_num <= GPIO_NUM_5 && "gpio larger than 5 does not support deep sleep wake-up function"); @@ -554,7 +554,7 @@ static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, gpio_num_t gp * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_deepsleep_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_deepsleep_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { HAL_ASSERT(gpio_num <= GPIO_NUM_5 && "gpio larger than 5 does not support deep sleep wake-up function"); diff --git a/components/hal/esp32c3/include/hal/gpio_ll.h b/components/hal/esp32c3/include/hal/gpio_ll.h index 907d1a35fe..66e6f8996f 100644 --- a/components/hal/esp32c3/include/hal/gpio_ll.h +++ b/components/hal/esp32c3/include/hal/gpio_ll.h @@ -38,7 +38,7 @@ extern "C" { * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -49,7 +49,7 @@ static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -60,7 +60,7 @@ static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -71,7 +71,7 @@ static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -83,7 +83,7 @@ static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param intr_type Interrupt type, select from gpio_int_type_t */ -static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { hw->pin[gpio_num].int_type = intr_type; } @@ -141,7 +141,7 @@ static inline void gpio_ll_clear_intr_status_high(gpio_dev_t *hw, uint32_t mask) * @param core_id Interrupt enabled CPU to corresponding ID * @param gpio_num GPIO number. If you want to enable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, gpio_num_t gpio_num) +static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, uint32_t gpio_num) { HAL_ASSERT(core_id == 0 && "target SoC only has a single core"); GPIO.pin[gpio_num].int_ena = GPIO_LL_PRO_CPU_INTR_ENA; //enable pro cpu intr @@ -153,7 +153,7 @@ static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. If you want to disable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_intr_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].int_ena = 0; //disable GPIO intr } @@ -164,7 +164,7 @@ static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -175,7 +175,7 @@ static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_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]); } @@ -186,7 +186,7 @@ static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->enable_w1tc.enable_w1tc = (0x1 << gpio_num); // Ensure no other output signal is routed via GPIO matrix to this pin @@ -200,7 +200,7 @@ static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->enable_w1ts.enable_w1ts = (0x1 << gpio_num); } @@ -211,7 +211,7 @@ static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pad_driver = 0; } @@ -222,7 +222,7 @@ static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_od_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pad_driver = 1; } @@ -234,7 +234,7 @@ static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the output level of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param level Output level. 0: low ; 1: high */ -static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32_t level) +static inline void gpio_ll_set_level(gpio_dev_t *hw, uint32_t gpio_num, uint32_t level) { if (level) { hw->out_w1ts.out_w1ts = (1 << gpio_num); @@ -255,7 +255,7 @@ static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32 * - 0 the GPIO input level is 0 * - 1 the GPIO input level is 1 */ -static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline int gpio_ll_get_level(gpio_dev_t *hw, uint32_t gpio_num) { return (hw->in.data >> gpio_num) & 0x1; } @@ -266,7 +266,7 @@ static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. */ -static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].wakeup_enable = 0x1; } @@ -277,7 +277,7 @@ static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].wakeup_enable = 0; } @@ -289,7 +289,7 @@ static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number, only support output GPIOs * @param strength Drive capability of the pad */ -static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t strength) +static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t strength) { SET_PERI_REG_BITS(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, strength, FUN_DRV_S); } @@ -301,7 +301,7 @@ static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_ * @param gpio_num GPIO number, only support output GPIOs * @param strength Pointer to accept drive capability of the pad */ -static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t *strength) +static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t *strength) { *strength = (gpio_drive_cap_t)GET_PERI_REG_BITS2(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, FUN_DRV_S); } @@ -333,7 +333,7 @@ static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_en(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num <= GPIO_NUM_5) { REG_SET_BIT(RTC_CNTL_PAD_HOLD_REG, BIT(gpio_num)); @@ -348,7 +348,7 @@ static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_dis(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num <= GPIO_NUM_5) { REG_CLR_BIT(RTC_CNTL_PAD_HOLD_REG, BIT(gpio_num)); @@ -430,7 +430,7 @@ static inline void gpio_ll_force_unhold_all(void) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -441,7 +441,7 @@ static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -452,7 +452,7 @@ static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -463,7 +463,7 @@ static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -474,7 +474,7 @@ static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -485,7 +485,7 @@ static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -496,7 +496,7 @@ static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -507,7 +507,7 @@ static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_n * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -518,7 +518,7 @@ static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -529,7 +529,7 @@ static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_ * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -541,7 +541,7 @@ static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_n * @param gpio_num GPIO number. * @param intr_type GPIO wake-up type. Only GPIO_INTR_LOW_LEVEL or GPIO_INTR_HIGH_LEVEL can be used. */ -static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { HAL_ASSERT(gpio_num <= GPIO_NUM_5 && "gpio larger than 5 does not support deep sleep wake-up function"); @@ -560,7 +560,7 @@ static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, gpio_num_t gp * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_deepsleep_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_deepsleep_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { HAL_ASSERT(gpio_num <= GPIO_NUM_5 && "gpio larger than 5 does not support deep sleep wake-up function"); diff --git a/components/hal/esp32h2/include/rev1/hal/gpio_ll.h b/components/hal/esp32h2/include/rev1/hal/gpio_ll.h index 054a31fa94..32543a1b2e 100644 --- a/components/hal/esp32h2/include/rev1/hal/gpio_ll.h +++ b/components/hal/esp32h2/include/rev1/hal/gpio_ll.h @@ -38,7 +38,7 @@ extern "C" { * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -49,7 +49,7 @@ static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -60,7 +60,7 @@ static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -71,7 +71,7 @@ static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -83,7 +83,7 @@ static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param intr_type Interrupt type, select from gpio_int_type_t */ -static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { hw->pin[gpio_num].pin_int_type = intr_type; } @@ -141,7 +141,7 @@ static inline void gpio_ll_clear_intr_status_high(gpio_dev_t *hw, uint32_t mask) * @param core_id Interrupt enabled CPU to corresponding ID * @param gpio_num GPIO number. If you want to enable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, gpio_num_t gpio_num) +static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, uint32_t gpio_num) { HAL_ASSERT(core_id == 0 && "target SoC only has a single core"); GPIO.pin[gpio_num].pin_int_ena = GPIO_LL_PRO_CPU_INTR_ENA; //enable pro cpu intr @@ -153,7 +153,7 @@ static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. If you want to disable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_intr_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pin_int_ena = 0; //disable GPIO intr } @@ -164,7 +164,7 @@ static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -175,7 +175,7 @@ static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_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]); } @@ -186,7 +186,7 @@ static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { hw->enable_w1tc.enable_w1tc = (0x1 << gpio_num); @@ -204,7 +204,7 @@ static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { hw->enable_w1ts.enable_w1ts = (0x1 << gpio_num); @@ -219,7 +219,7 @@ static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pin_pad_driver = 0; } @@ -230,7 +230,7 @@ static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_od_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pin_pad_driver = 1; } @@ -242,7 +242,7 @@ static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the output level of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param level Output level. 0: low ; 1: high */ -static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32_t level) +static inline void gpio_ll_set_level(gpio_dev_t *hw, uint32_t gpio_num, uint32_t level) { if (level) { if (gpio_num < 32) { @@ -271,7 +271,7 @@ static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32 * - 0 the GPIO input level is 0 * - 1 the GPIO input level is 1 */ -static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline int gpio_ll_get_level(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { return (hw->in.in_data_next >> gpio_num) & 0x1; @@ -286,7 +286,7 @@ static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. */ -static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pin_wakeup_enable = 0x1; } @@ -297,7 +297,7 @@ static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pin_wakeup_enable = 0; } @@ -309,7 +309,7 @@ static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number, only support output GPIOs * @param strength Drive capability of the pad */ -static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t strength) +static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t strength) { SET_PERI_REG_BITS(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, strength, FUN_DRV_S); } @@ -321,7 +321,7 @@ static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_ * @param gpio_num GPIO number, only support output GPIOs * @param strength Pointer to accept drive capability of the pad */ -static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t *strength) +static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t *strength) { *strength = (gpio_drive_cap_t)GET_PERI_REG_BITS2(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, FUN_DRV_S); } @@ -353,7 +353,7 @@ static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_en(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num <= GPIO_NUM_5) { REG_SET_BIT(RTC_CNTL_PAD_HOLD_REG, BIT(gpio_num)); @@ -370,7 +370,7 @@ static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_dis(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num <= GPIO_NUM_5) { REG_CLR_BIT(RTC_CNTL_PAD_HOLD_REG, BIT(gpio_num)); @@ -454,7 +454,7 @@ static inline void gpio_ll_force_unhold_all(void) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -465,7 +465,7 @@ static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -476,7 +476,7 @@ static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -487,7 +487,7 @@ static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -498,7 +498,7 @@ static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -509,7 +509,7 @@ static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -520,7 +520,7 @@ static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -531,7 +531,7 @@ static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_n * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -542,7 +542,7 @@ static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -553,7 +553,7 @@ static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_ * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -565,7 +565,7 @@ static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_n * @param gpio_num GPIO number. * @param intr_type GPIO wake-up type. Only GPIO_INTR_LOW_LEVEL or GPIO_INTR_HIGH_LEVEL can be used. */ -static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { HAL_ASSERT(gpio_num <= GPIO_NUM_5 && "gpio larger than 5 does not support deep sleep wake-up function"); @@ -584,7 +584,7 @@ static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, gpio_num_t gp * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_deepsleep_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_deepsleep_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { HAL_ASSERT(gpio_num <= GPIO_NUM_5 && "gpio larger than 5 does not support deep sleep wake-up function"); diff --git a/components/hal/esp32h2/include/rev2/hal/gpio_ll.h b/components/hal/esp32h2/include/rev2/hal/gpio_ll.h index c1b07b109a..03544d946a 100644 --- a/components/hal/esp32h2/include/rev2/hal/gpio_ll.h +++ b/components/hal/esp32h2/include/rev2/hal/gpio_ll.h @@ -38,7 +38,7 @@ extern "C" { * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -49,7 +49,7 @@ static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -60,7 +60,7 @@ static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -71,7 +71,7 @@ static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -83,7 +83,7 @@ static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param intr_type Interrupt type, select from gpio_int_type_t */ -static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { hw->pin[gpio_num].pin_int_type = intr_type; } @@ -141,7 +141,7 @@ static inline void gpio_ll_clear_intr_status_high(gpio_dev_t *hw, uint32_t mask) * @param core_id Interrupt enabled CPU to corresponding ID * @param gpio_num GPIO number. If you want to enable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, gpio_num_t gpio_num) +static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, uint32_t gpio_num) { HAL_ASSERT(core_id == 0 && "target SoC only has a single core"); GPIO.pin[gpio_num].pin_int_ena = GPIO_LL_PRO_CPU_INTR_ENA; //enable pro cpu intr @@ -153,7 +153,7 @@ static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. If you want to disable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_intr_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pin_int_ena = 0; //disable GPIO intr } @@ -164,7 +164,7 @@ static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -175,7 +175,7 @@ static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_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]); } @@ -186,7 +186,7 @@ static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->enable_w1tc.enable_w1tc = (0x1 << gpio_num); // Ensure no other output signal is routed via GPIO matrix to this pin @@ -200,7 +200,7 @@ static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->enable_w1ts.enable_w1ts = (0x1 << gpio_num); } @@ -211,7 +211,7 @@ static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pin_pad_driver = 0; } @@ -222,7 +222,7 @@ static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_od_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pin_pad_driver = 1; } @@ -234,7 +234,7 @@ static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the output level of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param level Output level. 0: low ; 1: high */ -static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32_t level) +static inline void gpio_ll_set_level(gpio_dev_t *hw, uint32_t gpio_num, uint32_t level) { if (level) { hw->out_w1ts.out_w1ts = (1 << gpio_num); @@ -255,7 +255,7 @@ static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32 * - 0 the GPIO input level is 0 * - 1 the GPIO input level is 1 */ -static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline int gpio_ll_get_level(gpio_dev_t *hw, uint32_t gpio_num) { return (hw->in.in_data_next >> gpio_num) & 0x1; } @@ -266,7 +266,7 @@ static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. */ -static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pin_wakeup_enable = 0x1; } @@ -277,7 +277,7 @@ static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pin_wakeup_enable = 0; } @@ -289,7 +289,7 @@ static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number, only support output GPIOs * @param strength Drive capability of the pad */ -static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t strength) +static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t strength) { SET_PERI_REG_BITS(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, strength, FUN_DRV_S); } @@ -301,7 +301,7 @@ static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_ * @param gpio_num GPIO number, only support output GPIOs * @param strength Pointer to accept drive capability of the pad */ -static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t *strength) +static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t *strength) { *strength = (gpio_drive_cap_t)GET_PERI_REG_BITS2(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, FUN_DRV_S); } @@ -333,7 +333,7 @@ static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_en(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num >= GPIO_NUM_7 && gpio_num <= GPIO_NUM_12) { REG_SET_BIT(RTC_CNTL_PAD_HOLD_REG, GPIO_HOLD_MASK[gpio_num]); @@ -348,7 +348,7 @@ static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_dis(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num >= GPIO_NUM_7 && gpio_num <= GPIO_NUM_12) { REG_CLR_BIT(RTC_CNTL_PAD_HOLD_REG, GPIO_HOLD_MASK[gpio_num]); @@ -430,7 +430,7 @@ static inline void gpio_ll_force_unhold_all(void) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -441,7 +441,7 @@ static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -452,7 +452,7 @@ static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -463,7 +463,7 @@ static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -474,7 +474,7 @@ static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -485,7 +485,7 @@ static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -496,7 +496,7 @@ static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -507,7 +507,7 @@ static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_n * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -518,7 +518,7 @@ static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -529,7 +529,7 @@ static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_ * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -541,7 +541,7 @@ static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_n * @param gpio_num GPIO number. * @param intr_type GPIO wake-up type. Only GPIO_INTR_LOW_LEVEL or GPIO_INTR_HIGH_LEVEL can be used. */ -static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { HAL_ASSERT((gpio_num >= GPIO_NUM_7 && gpio_num <= GPIO_NUM_12) && "only gpio7~12 support deep sleep wake-up function"); @@ -561,7 +561,7 @@ static inline void gpio_ll_deepsleep_wakeup_enable(gpio_dev_t *hw, gpio_num_t gp * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_deepsleep_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_deepsleep_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { HAL_ASSERT((gpio_num >= GPIO_NUM_7 && gpio_num <= GPIO_NUM_12) && "only gpio7~12 support deep sleep wake-up function"); diff --git a/components/hal/esp32s2/include/hal/gpio_ll.h b/components/hal/esp32s2/include/hal/gpio_ll.h index 7d8249d78e..2cd96d3960 100644 --- a/components/hal/esp32s2/include/hal/gpio_ll.h +++ b/components/hal/esp32s2/include/hal/gpio_ll.h @@ -38,7 +38,7 @@ extern "C" { * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -49,7 +49,7 @@ static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -60,7 +60,7 @@ static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -71,7 +71,7 @@ static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -83,7 +83,7 @@ static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param intr_type Interrupt type, select from gpio_int_type_t */ -static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { hw->pin[gpio_num].int_type = intr_type; } @@ -141,7 +141,7 @@ static inline void gpio_ll_clear_intr_status_high(gpio_dev_t *hw, uint32_t mask) * @param core_id Interrupt enabled CPU to corresponding ID * @param gpio_num GPIO number. If you want to enable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, gpio_num_t gpio_num) +static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, uint32_t gpio_num) { HAL_ASSERT(core_id == 0 && "target SoC only has a single core"); GPIO.pin[gpio_num].int_ena = GPIO_LL_PRO_CPU_INTR_ENA; //enable pro cpu intr @@ -153,7 +153,7 @@ static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. If you want to disable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_intr_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].int_ena = 0; //disable GPIO intr } @@ -164,7 +164,7 @@ static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -175,7 +175,7 @@ static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_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]); } @@ -186,7 +186,7 @@ static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { hw->enable_w1tc = (0x1 << gpio_num); @@ -205,7 +205,7 @@ static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { hw->enable_w1ts = (0x1 << gpio_num); @@ -220,7 +220,7 @@ static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pad_driver = 0; } @@ -231,7 +231,7 @@ static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_od_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pad_driver = 1; } @@ -243,7 +243,7 @@ static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the output level of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param level Output level. 0: low ; 1: high */ -static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32_t level) +static inline void gpio_ll_set_level(gpio_dev_t *hw, uint32_t gpio_num, uint32_t level) { if (level) { if (gpio_num < 32) { @@ -272,7 +272,7 @@ static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32 * - 0 the GPIO input level is 0 * - 1 the GPIO input level is 1 */ -static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline int gpio_ll_get_level(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { return (hw->in >> gpio_num) & 0x1; @@ -287,7 +287,7 @@ static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. */ -static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].wakeup_enable = 0x1; } @@ -298,7 +298,7 @@ static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].wakeup_enable = 0; } @@ -310,7 +310,7 @@ static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number, only support output GPIOs * @param strength Drive capability of the pad */ -static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t strength) +static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t strength) { SET_PERI_REG_BITS(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, strength, FUN_DRV_S); } @@ -322,7 +322,7 @@ static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_ * @param gpio_num GPIO number, only support output GPIOs * @param strength Pointer to accept drive capability of the pad */ -static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t *strength) +static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t *strength) { *strength = (gpio_drive_cap_t)GET_PERI_REG_BITS2(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, FUN_DRV_S); } @@ -353,7 +353,7 @@ static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_en(gpio_dev_t *hw, uint32_t gpio_num) { SET_PERI_REG_MASK(RTC_CNTL_DIG_PAD_HOLD_REG, GPIO_HOLD_MASK[gpio_num]); } @@ -364,7 +364,7 @@ static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_dis(gpio_dev_t *hw, uint32_t gpio_num) { CLEAR_PERI_REG_MASK(RTC_CNTL_DIG_PAD_HOLD_REG, GPIO_HOLD_MASK[gpio_num]); } @@ -436,7 +436,7 @@ static inline void gpio_ll_force_unhold_all(void) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -447,7 +447,7 @@ static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -458,7 +458,7 @@ static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -469,7 +469,7 @@ static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -480,7 +480,7 @@ static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -491,7 +491,7 @@ static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -502,7 +502,7 @@ static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -513,7 +513,7 @@ static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_n * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -524,7 +524,7 @@ static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -535,7 +535,7 @@ static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_ * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } diff --git a/components/hal/esp32s3/include/hal/gpio_ll.h b/components/hal/esp32s3/include/hal/gpio_ll.h index c5e26aef50..77282eca60 100644 --- a/components/hal/esp32s3/include/hal/gpio_ll.h +++ b/components/hal/esp32s3/include/hal/gpio_ll.h @@ -39,7 +39,7 @@ extern "C" { * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -50,7 +50,7 @@ static inline void gpio_ll_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PU); } @@ -61,7 +61,7 @@ static inline void gpio_ll_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { REG_SET_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -72,7 +72,7 @@ static inline void gpio_ll_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { REG_CLR_BIT(GPIO_PIN_MUX_REG[gpio_num], FUN_PD); } @@ -84,7 +84,7 @@ static inline void gpio_ll_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the trigger type of e.g. of GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param intr_type Interrupt type, select from gpio_int_type_t */ -static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_int_type_t intr_type) +static inline void gpio_ll_set_intr_type(gpio_dev_t *hw, uint32_t gpio_num, gpio_int_type_t intr_type) { hw->pin[gpio_num].int_type = intr_type; } @@ -146,7 +146,7 @@ static inline void gpio_ll_clear_intr_status_high(gpio_dev_t *hw, uint32_t mask) * @param core_id Interrupt enabled CPU to corresponding ID * @param gpio_num GPIO number. If you want to enable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, gpio_num_t gpio_num) +static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, uint32_t gpio_num) { (void)core_id; GPIO.pin[gpio_num].int_ena = GPIO_LL_INTR_ENA; //enable intr @@ -158,7 +158,7 @@ static inline void gpio_ll_intr_enable_on_core(gpio_dev_t *hw, uint32_t core_id, * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. If you want to disable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_intr_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].int_ena = 0; //disable GPIO intr } @@ -169,7 +169,7 @@ static inline void gpio_ll_intr_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -180,7 +180,7 @@ static inline void gpio_ll_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_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]); } @@ -191,7 +191,7 @@ static inline void gpio_ll_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { hw->enable_w1tc = (0x1 << gpio_num); @@ -210,7 +210,7 @@ static inline void gpio_ll_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { hw->enable_w1ts = (0x1 << gpio_num); @@ -225,7 +225,7 @@ static inline __attribute__((always_inline)) void gpio_ll_output_enable(gpio_dev * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pad_driver = 0; } @@ -236,7 +236,7 @@ static inline __attribute__((always_inline)) void gpio_ll_od_disable(gpio_dev_t * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_od_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].pad_driver = 1; } @@ -248,7 +248,7 @@ static inline void gpio_ll_od_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number. If you want to set the output level of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param level Output level. 0: low ; 1: high */ -static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32_t level) +static inline void gpio_ll_set_level(gpio_dev_t *hw, uint32_t gpio_num, uint32_t level) { if (level) { if (gpio_num < 32) { @@ -277,7 +277,7 @@ static inline void gpio_ll_set_level(gpio_dev_t *hw, gpio_num_t gpio_num, uint32 * - 0 the GPIO input level is 0 * - 1 the GPIO input level is 1 */ -static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline int gpio_ll_get_level(gpio_dev_t *hw, uint32_t gpio_num) { if (gpio_num < 32) { return (hw->in >> gpio_num) & 0x1; @@ -292,7 +292,7 @@ static inline int gpio_ll_get_level(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number. */ -static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].wakeup_enable = 0x1; } @@ -303,7 +303,7 @@ static inline void gpio_ll_wakeup_enable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, uint32_t gpio_num) { hw->pin[gpio_num].wakeup_enable = 0; } @@ -315,7 +315,7 @@ static inline void gpio_ll_wakeup_disable(gpio_dev_t *hw, gpio_num_t gpio_num) * @param gpio_num GPIO number, only support output GPIOs * @param strength Drive capability of the pad */ -static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t strength) +static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t strength) { SET_PERI_REG_BITS(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, strength, FUN_DRV_S); } @@ -327,7 +327,7 @@ static inline void gpio_ll_set_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_ * @param gpio_num GPIO number, only support output GPIOs * @param strength Pointer to accept drive capability of the pad */ -static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, gpio_num_t gpio_num, gpio_drive_cap_t *strength) +static inline void gpio_ll_get_drive_capability(gpio_dev_t *hw, uint32_t gpio_num, gpio_drive_cap_t *strength) { *strength = (gpio_drive_cap_t)GET_PERI_REG_BITS2(GPIO_PIN_MUX_REG[gpio_num], FUN_DRV_V, FUN_DRV_S); } @@ -358,7 +358,7 @@ static inline void gpio_ll_deep_sleep_hold_dis(gpio_dev_t *hw) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_en(gpio_dev_t *hw, uint32_t gpio_num) { SET_PERI_REG_MASK(RTC_CNTL_DIG_PAD_HOLD_REG, GPIO_HOLD_MASK[gpio_num]); } @@ -369,7 +369,7 @@ static inline void gpio_ll_hold_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number, only support output GPIOs */ -static inline void gpio_ll_hold_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_hold_dis(gpio_dev_t *hw, uint32_t gpio_num) { CLEAR_PERI_REG_MASK(RTC_CNTL_DIG_PAD_HOLD_REG, GPIO_HOLD_MASK[gpio_num]); } @@ -444,7 +444,7 @@ static inline void gpio_ll_force_unhold_all(void) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -455,7 +455,7 @@ static inline void gpio_ll_sleep_sel_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_SEL_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -466,7 +466,7 @@ static inline void gpio_ll_sleep_sel_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -477,7 +477,7 @@ static inline void gpio_ll_sleep_pullup_dis(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLUP_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -488,7 +488,7 @@ static inline void gpio_ll_sleep_pullup_en(gpio_dev_t *hw, gpio_num_t gpio_num) * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -499,7 +499,7 @@ static inline void gpio_ll_sleep_pulldown_en(gpio_dev_t *hw, gpio_num_t gpio_num * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_PULLDOWN_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -510,7 +510,7 @@ static inline void gpio_ll_sleep_pulldown_dis(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -521,7 +521,7 @@ static inline void gpio_ll_sleep_input_disable(gpio_dev_t *hw, gpio_num_t gpio_n * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_INPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -532,7 +532,7 @@ static inline void gpio_ll_sleep_input_enable(gpio_dev_t *hw, gpio_num_t gpio_nu * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_DISABLE(GPIO_PIN_MUX_REG[gpio_num]); } @@ -543,7 +543,7 @@ static inline void gpio_ll_sleep_output_disable(gpio_dev_t *hw, gpio_num_t gpio_ * @param hw Peripheral GPIO hardware instance address. * @param gpio_num GPIO number */ -static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, gpio_num_t gpio_num) +static inline void gpio_ll_sleep_output_enable(gpio_dev_t *hw, uint32_t gpio_num) { PIN_SLP_OUTPUT_ENABLE(GPIO_PIN_MUX_REG[gpio_num]); } diff --git a/components/hal/gpio_hal.c b/components/hal/gpio_hal.c index 6d9bd0a772..32a367fec4 100644 --- a/components/hal/gpio_hal.c +++ b/components/hal/gpio_hal.c @@ -10,7 +10,7 @@ #include "soc/gpio_periph.h" #include "hal/gpio_hal.h" -void gpio_hal_intr_enable_on_core(gpio_hal_context_t *hal, gpio_num_t gpio_num, uint32_t core_id) +void gpio_hal_intr_enable_on_core(gpio_hal_context_t *hal, uint32_t gpio_num, uint32_t core_id) { if (gpio_num < 32) { gpio_ll_clear_intr_status(hal->dev, BIT(gpio_num)); @@ -20,7 +20,7 @@ void gpio_hal_intr_enable_on_core(gpio_hal_context_t *hal, gpio_num_t gpio_num, gpio_ll_intr_enable_on_core(hal->dev, core_id, gpio_num); } -void gpio_hal_intr_disable(gpio_hal_context_t *hal, gpio_num_t gpio_num) +void gpio_hal_intr_disable(gpio_hal_context_t *hal, uint32_t gpio_num) { gpio_ll_intr_disable(hal->dev, gpio_num); if (gpio_num < 32) { diff --git a/components/hal/include/hal/gpio_hal.h b/components/hal/include/hal/gpio_hal.h index a532562b59..78c4d92424 100644 --- a/components/hal/include/hal/gpio_hal.h +++ b/components/hal/include/hal/gpio_hal.h @@ -117,7 +117,7 @@ typedef struct { * @param gpio_num GPIO number. If you want to enable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); * @param core_id Interrupt enabled CPU to corresponding ID */ -void gpio_hal_intr_enable_on_core(gpio_hal_context_t *hal, gpio_num_t gpio_num, uint32_t core_id); +void gpio_hal_intr_enable_on_core(gpio_hal_context_t *hal, uint32_t gpio_num, uint32_t core_id); /** * @brief Disable GPIO module interrupt signal @@ -125,7 +125,7 @@ void gpio_hal_intr_enable_on_core(gpio_hal_context_t *hal, gpio_num_t gpio_num, * @param hal Context of the HAL layer * @param gpio_num GPIO number. If you want to disable the interrupt of e.g. GPIO16, gpio_num should be GPIO_NUM_16 (16); */ -void gpio_hal_intr_disable(gpio_hal_context_t *hal, gpio_num_t gpio_num); +void gpio_hal_intr_disable(gpio_hal_context_t *hal, uint32_t gpio_num); /** * @brief Disable input mode on GPIO. @@ -409,7 +409,7 @@ void gpio_hal_intr_disable(gpio_hal_context_t *hal, gpio_num_t gpio_num); * @param hal Context of the HAL layer * @param gpio_num GPIO number. */ -void gpio_hal_sleep_pupd_config_apply(gpio_hal_context_t *hal, gpio_num_t gpio_num); +void gpio_hal_sleep_pupd_config_apply(gpio_hal_context_t *hal, uint32_t gpio_num); /** * @brief Restore fun_pu/fun_pd configuration when system wakeup. @@ -417,7 +417,7 @@ void gpio_hal_sleep_pupd_config_apply(gpio_hal_context_t *hal, gpio_num_t gpio_n * @param hal Context of the HAL layer * @param gpio_num GPIO number. */ -void gpio_hal_sleep_pupd_config_unapply(gpio_hal_context_t *hal, gpio_num_t gpio_num); +void gpio_hal_sleep_pupd_config_unapply(gpio_hal_context_t *hal, uint32_t gpio_num); #endif // CONFIG_GPIO_ESP32_SUPPORT_SWITCH_SLP_PULL #endif //SOC_GPIO_SUPPORT_SLP_SWITCH diff --git a/components/soc/esp32/gpio_periph.c b/components/soc/esp32/gpio_periph.c index d993cb42ac..97b1cefad4 100644 --- a/components/soc/esp32/gpio_periph.c +++ b/components/soc/esp32/gpio_periph.c @@ -1,20 +1,12 @@ -// Copyright 2018 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. +/* + * SPDX-FileCopyrightText: 2018-2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ #include "soc/gpio_periph.h" -const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { +const uint32_t GPIO_PIN_MUX_REG[] = { IO_MUX_GPIO0_REG, IO_MUX_GPIO1_REG, IO_MUX_GPIO2_REG, @@ -57,7 +49,9 @@ const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { IO_MUX_GPIO39_REG, }; -const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { +_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[] = { 0, BIT(1), 0, @@ -99,3 +93,5 @@ const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { 0, 0, }; + +_Static_assert(sizeof(GPIO_HOLD_MASK) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_HOLD_MASK"); diff --git a/components/soc/esp32c2/gpio_periph.c b/components/soc/esp32c2/gpio_periph.c index 3bb5104fa6..00e258d087 100644 --- a/components/soc/esp32c2/gpio_periph.c +++ b/components/soc/esp32c2/gpio_periph.c @@ -6,7 +6,7 @@ #include "soc/gpio_periph.h" -const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { +const uint32_t GPIO_PIN_MUX_REG[] = { IO_MUX_GPIO0_REG, IO_MUX_GPIO1_REG, IO_MUX_GPIO2_REG, @@ -30,7 +30,9 @@ const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { IO_MUX_GPIO20_REG, }; -const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { +_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[] = { BIT(0), //GPIO0 BIT(1), //GPIO1 BIT(2), //GPIO2 @@ -53,3 +55,5 @@ const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { BIT(19), //GPIO19 BIT(20), //GPIO20 }; + +_Static_assert(sizeof(GPIO_HOLD_MASK) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_HOLD_MASK"); diff --git a/components/soc/esp32c3/gpio_periph.c b/components/soc/esp32c3/gpio_periph.c index 1bdf359819..29ae01e229 100644 --- a/components/soc/esp32c3/gpio_periph.c +++ b/components/soc/esp32c3/gpio_periph.c @@ -1,20 +1,12 @@ -// Copyright 2020 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. +/* + * SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ #include "soc/gpio_periph.h" -const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { +const uint32_t GPIO_PIN_MUX_REG[] = { IO_MUX_GPIO0_REG, IO_MUX_GPIO1_REG, IO_MUX_GPIO2_REG, @@ -39,7 +31,9 @@ const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { IO_MUX_GPIO21_REG, }; -const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { +_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[] = { BIT(0), //GPIO0 BIT(1), //GPIO1 BIT(2), //GPIO2 @@ -63,3 +57,5 @@ const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { BIT(20), //GPIO20 BIT(21), //GPIO21 }; + +_Static_assert(sizeof(GPIO_HOLD_MASK) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_HOLD_MASK"); diff --git a/components/soc/esp32h2/gpio_periph.c b/components/soc/esp32h2/gpio_periph.c index 02df23128c..f1807dd6e7 100644 --- a/components/soc/esp32h2/gpio_periph.c +++ b/components/soc/esp32h2/gpio_periph.c @@ -6,7 +6,7 @@ #include "soc/gpio_periph.h" -const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { +const uint32_t GPIO_PIN_MUX_REG[] = { IO_MUX_GPIO0_REG, IO_MUX_GPIO1_REG, IO_MUX_GPIO2_REG, @@ -52,7 +52,9 @@ const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { #endif }; -const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { +_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[] = { #if CONFIG_IDF_TARGET_ESP32H2_BETA_VERSION_1 BIT(0), //GPIO0 BIT(1), //GPIO1 @@ -124,3 +126,5 @@ const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { BIT(25), //GPIO25 #endif }; + +_Static_assert(sizeof(GPIO_HOLD_MASK) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_HOLD_MASK"); diff --git a/components/soc/esp32s2/gpio_periph.c b/components/soc/esp32s2/gpio_periph.c index 08e9e58258..25a453915a 100644 --- a/components/soc/esp32s2/gpio_periph.c +++ b/components/soc/esp32s2/gpio_periph.c @@ -6,7 +6,7 @@ #include "soc/gpio_periph.h" -const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { +const uint32_t GPIO_PIN_MUX_REG[] = { IO_MUX_GPIO0_REG, IO_MUX_GPIO1_REG, IO_MUX_GPIO2_REG, @@ -56,7 +56,9 @@ const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { IO_MUX_GPIO46_REG, }; -const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { +_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[] = { 0, 0, 0, @@ -105,3 +107,5 @@ const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { BIT(24), BIT(25), }; + +_Static_assert(sizeof(GPIO_HOLD_MASK) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_HOLD_MASK"); diff --git a/components/soc/esp32s3/gpio_periph.c b/components/soc/esp32s3/gpio_periph.c index 143f02f1fb..770e50cea8 100644 --- a/components/soc/esp32s3/gpio_periph.c +++ b/components/soc/esp32s3/gpio_periph.c @@ -1,20 +1,12 @@ -// Copyright 2018 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. +/* + * SPDX-FileCopyrightText: 2018-2022 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ #include "soc/gpio_periph.h" -const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { +const uint32_t GPIO_PIN_MUX_REG[] = { IO_MUX_GPIO0_REG, IO_MUX_GPIO1_REG, IO_MUX_GPIO2_REG, @@ -66,7 +58,9 @@ const uint32_t GPIO_PIN_MUX_REG[SOC_GPIO_PIN_COUNT] = { IO_MUX_GPIO48_REG, }; -const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { +_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[] = { 0, 0, 0, @@ -115,4 +109,7 @@ const uint32_t GPIO_HOLD_MASK[SOC_GPIO_PIN_COUNT] = { BIT(24), BIT(25), BIT(26), + BIT(27), }; + +_Static_assert(sizeof(GPIO_HOLD_MASK) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_HOLD_MASK"); diff --git a/tools/ci/check_copyright_ignore.txt b/tools/ci/check_copyright_ignore.txt index c3022e6b3a..6d4bdbc07d 100644 --- a/tools/ci/check_copyright_ignore.txt +++ b/tools/ci/check_copyright_ignore.txt @@ -735,7 +735,6 @@ components/freertos/FreeRTOS-Kernel-SMP/timers.c components/hal/aes_hal.c components/hal/dac_hal.c components/hal/ds_hal.c -components/hal/esp32/gpio_hal_workaround.c components/hal/esp32/include/hal/aes_ll.h components/hal/esp32/include/hal/can_hal.h components/hal/esp32/include/hal/can_types.h @@ -1007,7 +1006,6 @@ components/sdmmc/sdmmc_mmc.c components/sdmmc/sdmmc_sd.c components/soc/esp32/adc_periph.c components/soc/esp32/dac_periph.c -components/soc/esp32/gpio_periph.c components/soc/esp32/i2c_periph.c components/soc/esp32/include/soc/apb_ctrl_reg.h components/soc/esp32/include/soc/apb_ctrl_struct.h @@ -1076,7 +1074,6 @@ components/soc/esp32/sigmadelta_periph.c components/soc/esp32/spi_periph.c components/soc/esp32/touch_sensor_periph.c components/soc/esp32/uart_periph.c -components/soc/esp32c3/gpio_periph.c components/soc/esp32c3/i2c_bbpll.h components/soc/esp32c3/i2c_periph.c components/soc/esp32c3/include/soc/apb_ctrl_reg.h @@ -1252,7 +1249,6 @@ components/soc/esp32s2/touch_sensor_periph.c components/soc/esp32s2/uart_periph.c components/soc/esp32s2/usb_periph.c components/soc/esp32s3/dedic_gpio_periph.c -components/soc/esp32s3/gpio_periph.c components/soc/esp32s3/i2c_periph.c components/soc/esp32s3/include/soc/apb_ctrl_reg.h components/soc/esp32s3/include/soc/apb_ctrl_struct.h