summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjerryneedell <jerryneedell@gmail.com>2021-01-08 14:40:06 -0500
committerjerryneedell <jerryneedell@gmail.com>2021-01-08 14:40:06 -0500
commit7556f38f04d641445a484133696664fc781a5c58 (patch)
tree6f9d6d88c2ff340fb642978d22dbd48d6b4ba114
parent6976ec6ef916e88c5a66a213c304fc441cacc8ea (diff)
initialize LDO2 in board_init()
-rw-r--r--ports/esp32s2/boards/unexpectedmaker_feathers2/board.c8
-rw-r--r--ports/esp32s2/common-hal/microcontroller/Pin.c3
2 files changed, 10 insertions, 1 deletions
diff --git a/ports/esp32s2/boards/unexpectedmaker_feathers2/board.c b/ports/esp32s2/boards/unexpectedmaker_feathers2/board.c
index d8fd3a0a2..ac08190a5 100644
--- a/ports/esp32s2/boards/unexpectedmaker_feathers2/board.c
+++ b/ports/esp32s2/boards/unexpectedmaker_feathers2/board.c
@@ -27,6 +27,8 @@
#include "supervisor/board.h"
#include "mpconfigboard.h"
#include "shared-bindings/microcontroller/Pin.h"
+#include "components/driver/include/driver/gpio.h"
+#include "components/soc/include/hal/gpio_hal.h"
void board_init(void) {
// USB
@@ -47,6 +49,12 @@ void board_init(void) {
common_hal_never_reset_pin(&pin_GPIO30);
common_hal_never_reset_pin(&pin_GPIO31);
common_hal_never_reset_pin(&pin_GPIO32);
+
+
+ // Add LDO2 to never reset list, set to output and enable
+ common_hal_never_reset_pin(&pin_GPIO21);
+ gpio_set_direction(pin_GPIO21.number, GPIO_MODE_DEF_OUTPUT);
+ gpio_set_level(pin_GPIO21.number, true);
}
bool board_requests_safe_mode(void) {
diff --git a/ports/esp32s2/common-hal/microcontroller/Pin.c b/ports/esp32s2/common-hal/microcontroller/Pin.c
index fd01d68e1..66677d1ea 100644
--- a/ports/esp32s2/common-hal/microcontroller/Pin.c
+++ b/ports/esp32s2/common-hal/microcontroller/Pin.c
@@ -171,7 +171,8 @@ bool pin_number_is_free(gpio_num_t pin_number) {
uint8_t offset = pin_number / 32;
uint32_t mask = 1 << (pin_number % 32);
- return (never_reset_pins[offset] & mask) == 0 && (in_use[offset] & mask) == 0;
+ //return (never_reset_pins[offset] & mask) == 0 && (in_use[offset] & mask) == 0;
+ return (in_use[offset] & mask) == 0;
}
bool common_hal_mcu_pin_is_free(const mcu_pin_obj_t *pin) {