twinkl-esp/modules/pin_map.c

31 lines
896 B
C

/*
* Copied from esp8266-frankenstein
* https://github.com/nekromant/esp8266-frankenstein/blob/master/src/pin_map.c
*/
#include "pin_map.h"
#include "eagle_soc.h"
uint32_t pin_mux[GPIO_PIN_NUM] = {
PERIPHS_IO_MUX_GPIO0_U, PERIPHS_IO_MUX_U0TXD_U, PERIPHS_IO_MUX_GPIO2_U, PERIPHS_IO_MUX_U0RXD_U,
PERIPHS_IO_MUX_GPIO4_U, PERIPHS_IO_MUX_GPIO5_U, -1, -1,
-1, PERIPHS_IO_MUX_SD_DATA2_U, PERIPHS_IO_MUX_SD_DATA3_U, -1,
PERIPHS_IO_MUX_MTDI_U, PERIPHS_IO_MUX_MTCK_U, PERIPHS_IO_MUX_MTMS_U, PERIPHS_IO_MUX_MTDO_U,
PAD_XPD_DCDC_CONF
};
uint8_t pin_func[GPIO_PIN_NUM] = {
FUNC_GPIO0, FUNC_GPIO1, FUNC_GPIO2, FUNC_GPIO3,
FUNC_GPIO4, FUNC_GPIO5, -1, -1,
-1, FUNC_GPIO9, FUNC_GPIO10, -1,
FUNC_GPIO12, FUNC_GPIO13, FUNC_GPIO14, FUNC_GPIO15,
-1
};
bool is_valid_gpio_pin(uint8 gpiopin)
{
if(gpiopin >= GPIO_PIN_NUM) return false;
return (pin_func[gpiopin] != GPIO_PIN_FUNC_INVALID);
}