esp-idf/components/soc/esp32p4/gpio_periph.c
2023-08-10 17:58:49 +08:00

133 lines
3.5 KiB
C

/*
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "soc/gpio_periph.h"
#include "esp_assert.h"
const uint32_t GPIO_PIN_MUX_REG[] = {
IO_MUX_GPIO0_REG,
IO_MUX_GPIO1_REG,
IO_MUX_GPIO2_REG,
IO_MUX_GPIO3_REG,
IO_MUX_GPIO4_REG,
IO_MUX_GPIO5_REG,
IO_MUX_GPIO6_REG,
IO_MUX_GPIO7_REG,
IO_MUX_GPIO8_REG,
IO_MUX_GPIO9_REG,
IO_MUX_GPIO10_REG,
IO_MUX_GPIO11_REG,
IO_MUX_GPIO12_REG,
IO_MUX_GPIO13_REG,
IO_MUX_GPIO14_REG,
IO_MUX_GPIO15_REG,
IO_MUX_GPIO16_REG,
IO_MUX_GPIO17_REG,
IO_MUX_GPIO18_REG,
IO_MUX_GPIO19_REG,
IO_MUX_GPIO20_REG,
IO_MUX_GPIO21_REG,
IO_MUX_GPIO22_REG,
IO_MUX_GPIO23_REG,
IO_MUX_GPIO24_REG,
IO_MUX_GPIO25_REG,
IO_MUX_GPIO26_REG,
IO_MUX_GPIO27_REG,
IO_MUX_GPIO28_REG,
IO_MUX_GPIO29_REG,
IO_MUX_GPIO30_REG,
IO_MUX_GPIO31_REG,
IO_MUX_GPIO32_REG,
IO_MUX_GPIO33_REG,
IO_MUX_GPIO34_REG,
IO_MUX_GPIO35_REG,
IO_MUX_GPIO36_REG,
IO_MUX_GPIO37_REG,
IO_MUX_GPIO38_REG,
IO_MUX_GPIO39_REG,
IO_MUX_GPIO40_REG,
IO_MUX_GPIO41_REG,
IO_MUX_GPIO42_REG,
IO_MUX_GPIO43_REG,
IO_MUX_GPIO44_REG,
IO_MUX_GPIO45_REG,
IO_MUX_GPIO46_REG,
IO_MUX_GPIO47_REG,
IO_MUX_GPIO48_REG,
IO_MUX_GPIO49_REG,
IO_MUX_GPIO50_REG,
IO_MUX_GPIO51_REG,
IO_MUX_GPIO52_REG,
IO_MUX_GPIO53_REG,
IO_MUX_GPIO54_REG,
IO_MUX_GPIO55_REG,
IO_MUX_GPIO56_REG,
};
ESP_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 // LP_IOMUX_LP_PAD_HOLD_REG
BIT(1), //GPIO1
BIT(2), //GPIO2
BIT(3), //GPIO3
BIT(4), //GPIO4
BIT(5), //GPIO5
BIT(6), //GPIO6
BIT(7), //GPIO7
BIT(8), //GPIO8
BIT(9), //GPIO9
BIT(10), //GPIO10
BIT(11), //GPIO11
BIT(12), //GPIO12
BIT(13), //GPIO13
BIT(14), //GPIO14
BIT(15), //GPIO15
BIT(0), //GPIO16 // HP_SYSTEM_GPIO_O_HOLD_CTRL0_REG
BIT(1), //GPIO17
BIT(2), //GPIO18
BIT(3), //GPIO19
BIT(4), //GPIO20
BIT(5), //GPIO21
BIT(6), //GPIO22
BIT(7), //GPIO23
BIT(8), //GPIO24
BIT(9), //GPIO25
BIT(10), //GPIO26
BIT(11), //GPIO27
BIT(12), //GPIO28
BIT(13), //GPIO29
BIT(14), //GPIO30
BIT(15), //GPIO31
BIT(16), //GPIO32
BIT(17), //GPIO33
BIT(18), //GPIO34
BIT(19), //GPIO35
BIT(20), //GPIO36
BIT(21), //GPIO37
BIT(22), //GPIO38
BIT(23), //GPIO39
BIT(24), //GPIO40
BIT(25), //GPIO41
BIT(26), //GPIO42
BIT(27), //GPIO43
BIT(28), //GPIO44
BIT(29), //GPIO45
BIT(30), //GPIO46
BIT(31), //GPIO47
BIT(0), //GPIO48 // HP_SYSTEM_GPIO_O_HOLD_CTRL1_REG
BIT(1), //GPIO49
BIT(2), //GPIO50
BIT(3), //GPIO51
BIT(4), //GPIO52
BIT(5), //GPIO53
BIT(6), //GPIO54
BIT(7), //GPIO55
BIT(8), //GPIO56
};
ESP_STATIC_ASSERT(sizeof(GPIO_HOLD_MASK) == SOC_GPIO_PIN_COUNT * sizeof(uint32_t), "Invalid size of GPIO_HOLD_MASK");