Skip to content

Commit c6ea3e8

Browse files
authored
Merge pull request #7345 from dhalbert/mimx-fix-build
redo pin never resetting for mimxrt10xx
2 parents 493d6aa + b90a641 commit c6ea3e8

File tree

12 files changed

+218
-166
lines changed

12 files changed

+218
-166
lines changed

ports/mimxrt10xx/boards/feather_m7_1011/board.c

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,21 +26,23 @@
2626
*/
2727

2828
#include "supervisor/board.h"
29-
#include "boards/flash_config.h"
30-
#include "mpconfigboard.h"
3129
#include "shared-bindings/microcontroller/Pin.h"
3230

33-
void board_init(void) {
34-
// SWD Pins
35-
common_hal_never_reset_pin(&pin_GPIO_AD_13);// SWDIO
36-
common_hal_never_reset_pin(&pin_GPIO_AD_12);// SWCLK
31+
// These pins should never ever be reset; doing so could interfere with basic operation.
32+
// Used in common-hal/microcontroller/Pin.c
33+
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
34+
&pin_GPIO_AD_13,// SWDIO
35+
&pin_GPIO_AD_12,// SWCLK
3736

3837
// FLEX flash
39-
common_hal_never_reset_pin(&pin_GPIO_SD_12);
40-
common_hal_never_reset_pin(&pin_GPIO_SD_11);
41-
common_hal_never_reset_pin(&pin_GPIO_SD_10);
42-
common_hal_never_reset_pin(&pin_GPIO_SD_09);
43-
common_hal_never_reset_pin(&pin_GPIO_SD_08);
44-
common_hal_never_reset_pin(&pin_GPIO_SD_07);
45-
common_hal_never_reset_pin(&pin_GPIO_SD_06);
46-
}
38+
&pin_GPIO_SD_12,
39+
&pin_GPIO_SD_11,
40+
&pin_GPIO_SD_10,
41+
&pin_GPIO_SD_09,
42+
&pin_GPIO_SD_08,
43+
&pin_GPIO_SD_07,
44+
&pin_GPIO_SD_06,
45+
NULL, // Must end in NULL.
46+
};
47+
48+
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

ports/mimxrt10xx/boards/feather_mimxrt1011/board.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,23 @@
2626
*/
2727

2828
#include "supervisor/board.h"
29-
#include "boards/flash_config.h"
30-
#include "mpconfigboard.h"
3129
#include "shared-bindings/microcontroller/Pin.h"
3230

33-
void board_init(void) {
34-
// SWD Pins
35-
common_hal_never_reset_pin(&pin_GPIO_AD_13);// SWDIO
36-
common_hal_never_reset_pin(&pin_GPIO_AD_12);// SWCLK
31+
// These pins should never ever be reset; doing so could interfere with basic operation.
32+
// Used in common-hal/microcontroller/Pin.c
33+
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
34+
&pin_GPIO_AD_13,// SWDIO
35+
&pin_GPIO_AD_12,// SWCLK
3736

3837
// FLEX flash
39-
common_hal_never_reset_pin(&pin_GPIO_SD_12);
40-
common_hal_never_reset_pin(&pin_GPIO_SD_11);
41-
common_hal_never_reset_pin(&pin_GPIO_SD_10);
42-
common_hal_never_reset_pin(&pin_GPIO_SD_09);
43-
common_hal_never_reset_pin(&pin_GPIO_SD_08);
44-
common_hal_never_reset_pin(&pin_GPIO_SD_07);
45-
common_hal_never_reset_pin(&pin_GPIO_SD_06);
46-
}
38+
&pin_GPIO_SD_12,
39+
&pin_GPIO_SD_11,
40+
&pin_GPIO_SD_10,
41+
&pin_GPIO_SD_09,
42+
&pin_GPIO_SD_08,
43+
&pin_GPIO_SD_07,
44+
&pin_GPIO_SD_06,
45+
NULL, // Must end in NULL.
46+
};
4747

4848
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

ports/mimxrt10xx/boards/feather_mimxrt1062/board.c

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,23 @@
2626
*/
2727

2828
#include "supervisor/board.h"
29-
#include "boards/flash_config.h"
30-
#include "mpconfigboard.h"
3129
#include "shared-bindings/microcontroller/Pin.h"
3230

33-
void board_init(void) {
31+
// These pins should never ever be reset; doing so could interfere with basic operation.
32+
// Used in common-hal/microcontroller/Pin.c
33+
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
3434
// SWD Pins
35-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_06);// SWDIO
36-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_07);// SWCLK
35+
&pin_GPIO_AD_B0_06,// SWDIO
36+
&pin_GPIO_AD_B0_07,// SWCLK
3737

3838
// FLEX flash
39-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
40-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
41-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
42-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
43-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
44-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
45-
}
39+
&pin_GPIO_SD_B1_06,
40+
&pin_GPIO_SD_B1_07,
41+
&pin_GPIO_SD_B1_08,
42+
&pin_GPIO_SD_B1_09,
43+
&pin_GPIO_SD_B1_10,
44+
&pin_GPIO_SD_B1_11,
45+
NULL, // Must end in NULL.
46+
};
4647

4748
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

ports/mimxrt10xx/boards/imxrt1010_evk/board.c

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -26,25 +26,25 @@
2626
*/
2727

2828
#include "supervisor/board.h"
29-
#include "boards/flash_config.h"
30-
#include "mpconfigboard.h"
3129
#include "shared-bindings/microcontroller/Pin.h"
3230

33-
void board_init(void) {
34-
// SWD Pins
35-
common_hal_never_reset_pin(&pin_GPIO_AD_13); // SWDIO
36-
common_hal_never_reset_pin(&pin_GPIO_AD_12); // SWCLK
31+
// These pins should never ever be reset; doing so could interfere with basic operation.
32+
// Used in common-hal/microcontroller/Pin.c
33+
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
34+
&pin_GPIO_AD_13, // SWDIO
35+
&pin_GPIO_AD_12, // SWCLK
3736
// FLEX flash
38-
common_hal_never_reset_pin(&pin_GPIO_SD_12);
39-
common_hal_never_reset_pin(&pin_GPIO_SD_11);
40-
common_hal_never_reset_pin(&pin_GPIO_SD_10);
41-
common_hal_never_reset_pin(&pin_GPIO_SD_09);
42-
common_hal_never_reset_pin(&pin_GPIO_SD_08);
43-
common_hal_never_reset_pin(&pin_GPIO_SD_07);
44-
common_hal_never_reset_pin(&pin_GPIO_SD_06);
37+
&pin_GPIO_SD_12,
38+
&pin_GPIO_SD_11,
39+
&pin_GPIO_SD_10,
40+
&pin_GPIO_SD_09,
41+
&pin_GPIO_SD_08,
42+
&pin_GPIO_SD_07,
43+
&pin_GPIO_SD_06,
4544
// USB Pins
46-
common_hal_never_reset_pin(&pin_GPIO_12);
47-
common_hal_never_reset_pin(&pin_GPIO_13);
48-
}
45+
&pin_GPIO_12,
46+
&pin_GPIO_13,
47+
NULL, // Must end in NULL.
48+
};
4949

5050
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

ports/mimxrt10xx/boards/imxrt1020_evk/board.c

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,26 +26,27 @@
2626
*/
2727

2828
#include "supervisor/board.h"
29-
#include "boards/flash_config.h"
30-
#include "mpconfigboard.h"
3129
#include "shared-bindings/microcontroller/Pin.h"
3230

33-
void board_init(void) {
31+
// These pins should never ever be reset; doing so could interfere with basic operation.
32+
// Used in common-hal/microcontroller/Pin.c
33+
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
3434
// SWD Pins
35-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_00);// SWDIO
36-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_01);// SWCLK
35+
&pin_GPIO_AD_B0_00,// SWDIO
36+
&pin_GPIO_AD_B0_01,// SWCLK
3737

3838
// FLEX flash
39-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
40-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
41-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
42-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
43-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
44-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
39+
&pin_GPIO_SD_B1_06,
40+
&pin_GPIO_SD_B1_07,
41+
&pin_GPIO_SD_B1_08,
42+
&pin_GPIO_SD_B1_09,
43+
&pin_GPIO_SD_B1_10,
44+
&pin_GPIO_SD_B1_11,
4545

4646
// USB Pins
47-
common_hal_never_reset_pin(&pin_GPIO_AD_B1_11);
48-
common_hal_never_reset_pin(&pin_GPIO_AD_B1_12);
49-
}
47+
&pin_GPIO_AD_B1_11,
48+
&pin_GPIO_AD_B1_12,
49+
NULL, // Must end in NULL.
50+
};
5051

5152
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

ports/mimxrt10xx/boards/imxrt1060_evk/board.c

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -26,30 +26,33 @@
2626
*/
2727

2828
#include "supervisor/board.h"
29-
#include "boards/flash_config.h"
30-
#include "mpconfigboard.h"
3129
#include "shared-bindings/microcontroller/Pin.h"
3230

33-
void board_init(void) {
31+
// These pins should never ever be reset; doing so could interfere with basic operation.
32+
// Used in common-hal/microcontroller/Pin.c
33+
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
3434
// SWD Pins
35-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_06);// SWDIO
36-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_07);// SWCLK
35+
&pin_GPIO_AD_B0_06, // SWDIO
36+
&pin_GPIO_AD_B0_07, // SWCLK
3737

3838
// FLEX flash
39-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_00);
40-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_01);
41-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_02);
42-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_03);
43-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_04);
44-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_05);
45-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
46-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
47-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
48-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
49-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
50-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
39+
&pin_GPIO_SD_B1_00,
40+
&pin_GPIO_SD_B1_01,
41+
&pin_GPIO_SD_B1_02,
42+
&pin_GPIO_SD_B1_03,
43+
&pin_GPIO_SD_B1_04,
44+
&pin_GPIO_SD_B1_05,
45+
&pin_GPIO_SD_B1_06,
46+
&pin_GPIO_SD_B1_07,
47+
&pin_GPIO_SD_B1_08,
48+
&pin_GPIO_SD_B1_09,
49+
&pin_GPIO_SD_B1_10,
50+
&pin_GPIO_SD_B1_11,
5151

5252
// USB Pins
53-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_01);
54-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_03);
55-
}
53+
&pin_GPIO_AD_B0_01,
54+
&pin_GPIO_AD_B0_03,
55+
NULL, // Must end in NULL.
56+
};
57+
58+
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

ports/mimxrt10xx/boards/metro_m7_1011/board.c

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,24 @@
2626
*/
2727

2828
#include "supervisor/board.h"
29-
#include "boards/flash_config.h"
30-
#include "mpconfigboard.h"
3129
#include "shared-bindings/microcontroller/Pin.h"
3230

33-
void board_init(void) {
31+
// These pins should never ever be reset; doing so could interfere with basic operation.
32+
// Used in common-hal/microcontroller/Pin.c
33+
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
3434
// SWD Pins
35-
common_hal_never_reset_pin(&pin_GPIO_AD_13);// SWDIO
36-
common_hal_never_reset_pin(&pin_GPIO_AD_12);// SWCLK
35+
&pin_GPIO_AD_13,// SWDIO
36+
&pin_GPIO_AD_12,// SWCLK
3737

3838
// FLEX flash
39-
common_hal_never_reset_pin(&pin_GPIO_SD_12);
40-
common_hal_never_reset_pin(&pin_GPIO_SD_11);
41-
common_hal_never_reset_pin(&pin_GPIO_SD_10);
42-
common_hal_never_reset_pin(&pin_GPIO_SD_09);
43-
common_hal_never_reset_pin(&pin_GPIO_SD_08);
44-
common_hal_never_reset_pin(&pin_GPIO_SD_07);
45-
common_hal_never_reset_pin(&pin_GPIO_SD_06);
46-
}
39+
&pin_GPIO_SD_12,
40+
&pin_GPIO_SD_11,
41+
&pin_GPIO_SD_10,
42+
&pin_GPIO_SD_09,
43+
&pin_GPIO_SD_08,
44+
&pin_GPIO_SD_07,
45+
&pin_GPIO_SD_06,
46+
NULL, // Must end in NULL.
47+
};
4748

4849
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

ports/mimxrt10xx/boards/sparkfun_teensy_micromod/board.c

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,31 +26,31 @@
2626
*/
2727

2828
#include "supervisor/board.h"
29-
#include "boards/flash_config.h"
30-
#include "mpconfigboard.h"
3129
#include "shared-bindings/microcontroller/Pin.h"
3230

33-
void board_init(void) {
34-
// FLEX flash
35-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
36-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
37-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
38-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
39-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
40-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
31+
// These pins should never ever be reset; doing so could interfere with basic operation.
32+
// Used in common-hal/microcontroller/Pin.c
33+
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
34+
&pin_GPIO_SD_B1_06,
35+
&pin_GPIO_SD_B1_07,
36+
&pin_GPIO_SD_B1_08,
37+
&pin_GPIO_SD_B1_09,
38+
&pin_GPIO_SD_B1_10,
39+
&pin_GPIO_SD_B1_11,
4140

4241
// FLEX flash 2
43-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_04);
44-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_06);
45-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_07);
46-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_08);
47-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_09);
48-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_10);
49-
common_hal_never_reset_pin(&pin_GPIO_EMC_01);
50-
common_hal_never_reset_pin(&pin_GPIO_B0_13);
51-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_11);
42+
&pin_GPIO_AD_B0_04,
43+
&pin_GPIO_AD_B0_06,
44+
&pin_GPIO_AD_B0_07,
45+
&pin_GPIO_AD_B0_08,
46+
&pin_GPIO_AD_B0_09,
47+
&pin_GPIO_AD_B0_10,
48+
&pin_GPIO_EMC_01,
49+
&pin_GPIO_B0_13,
50+
&pin_GPIO_AD_B0_11,
5251
// Data strobe needs protection despite being grounded
53-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_05);
54-
}
52+
&pin_GPIO_SD_B1_05,
53+
NULL, // Must end in NULL.
54+
};
5555

5656
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

ports/mimxrt10xx/boards/teensy40/board.c

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -26,31 +26,32 @@
2626
*/
2727

2828
#include "supervisor/board.h"
29-
#include "boards/flash_config.h"
30-
#include "mpconfigboard.h"
3129
#include "shared-bindings/microcontroller/Pin.h"
3230

33-
void board_init(void) {
31+
// These pins should never ever be reset; doing so could interfere with basic operation.
32+
// Used in common-hal/microcontroller/Pin.c
33+
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
3434
// FLEX flash
35-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
36-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
37-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
38-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
39-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
40-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
35+
&pin_GPIO_SD_B1_06,
36+
&pin_GPIO_SD_B1_07,
37+
&pin_GPIO_SD_B1_08,
38+
&pin_GPIO_SD_B1_09,
39+
&pin_GPIO_SD_B1_10,
40+
&pin_GPIO_SD_B1_11,
4141

4242
// FLEX flash 2
43-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_04);
44-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_06);
45-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_07);
46-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_08);
47-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_09);
48-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_10);
49-
common_hal_never_reset_pin(&pin_GPIO_EMC_01);
50-
common_hal_never_reset_pin(&pin_GPIO_B0_13);
51-
common_hal_never_reset_pin(&pin_GPIO_AD_B0_11);
43+
&pin_GPIO_AD_B0_04,
44+
&pin_GPIO_AD_B0_06,
45+
&pin_GPIO_AD_B0_07,
46+
&pin_GPIO_AD_B0_08,
47+
&pin_GPIO_AD_B0_09,
48+
&pin_GPIO_AD_B0_10,
49+
&pin_GPIO_EMC_01,
50+
&pin_GPIO_B0_13,
51+
&pin_GPIO_AD_B0_11,
5252
// Data strobe needs protection despite being grounded
53-
common_hal_never_reset_pin(&pin_GPIO_SD_B1_05);
54-
}
53+
&pin_GPIO_SD_B1_05,
54+
NULL, // Must end in NULL.
55+
};
5556

5657
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.

0 commit comments

Comments
 (0)