Skip to content

Commit adff93c

Browse files
committed
Mark cyw43 pins "never reset" before reset_port
reset_port calls reset_all_pins, which disables the built-in pull down. In theory, this could allow some CYW43 interfacing pin to float to an inappropriate value. There's no proof of this! but the move can't really hurt, either
1 parent 9089401 commit adff93c

File tree

1 file changed

+7
-4
lines changed
  • ports/raspberrypi/supervisor

1 file changed

+7
-4
lines changed

ports/raspberrypi/supervisor/port.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,13 @@ safe_mode_t port_init(void) {
127127
(&_ld_dtcm_bss_start)[i] = 0;
128128
}
129129

130+
#if CIRCUITPY_CYW43
131+
never_reset_pin_number(23);
132+
never_reset_pin_number(24);
133+
never_reset_pin_number(25);
134+
never_reset_pin_number(29);
135+
#endif
136+
130137
// Reset everything into a known state before board_init.
131138
reset_port();
132139

@@ -140,10 +147,6 @@ safe_mode_t port_init(void) {
140147
// Check brownout.
141148

142149
#if CIRCUITPY_CYW43
143-
never_reset_pin_number(23);
144-
never_reset_pin_number(24);
145-
never_reset_pin_number(25);
146-
never_reset_pin_number(29);
147150
// A small number of samples of pico w need an additional delay before
148151
// initializing the cyw43 chip. Delays inside cyw43_arch_init_with_country
149152
// are intended to meet the power on timing requirements, but apparently

0 commit comments

Comments
 (0)