Merge pull request #7345 from dhalbert/mimx-fix-build
redo pin never resetting for mimxrt10xx
This commit is contained in:
commit
c6ea3e803a
@ -26,21 +26,23 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "supervisor/board.h"
|
#include "supervisor/board.h"
|
||||||
#include "boards/flash_config.h"
|
|
||||||
#include "mpconfigboard.h"
|
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
void board_init(void) {
|
// These pins should never ever be reset; doing so could interfere with basic operation.
|
||||||
// SWD Pins
|
// Used in common-hal/microcontroller/Pin.c
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_13);// SWDIO
|
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_12);// SWCLK
|
&pin_GPIO_AD_13,// SWDIO
|
||||||
|
&pin_GPIO_AD_12,// SWCLK
|
||||||
|
|
||||||
// FLEX flash
|
// FLEX flash
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_12);
|
&pin_GPIO_SD_12,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_11);
|
&pin_GPIO_SD_11,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_10);
|
&pin_GPIO_SD_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_09);
|
&pin_GPIO_SD_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_08);
|
&pin_GPIO_SD_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_07);
|
&pin_GPIO_SD_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_06);
|
&pin_GPIO_SD_06,
|
||||||
}
|
NULL, // Must end in NULL.
|
||||||
|
};
|
||||||
|
|
||||||
|
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
||||||
|
@ -26,23 +26,23 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "supervisor/board.h"
|
#include "supervisor/board.h"
|
||||||
#include "boards/flash_config.h"
|
|
||||||
#include "mpconfigboard.h"
|
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
void board_init(void) {
|
// These pins should never ever be reset; doing so could interfere with basic operation.
|
||||||
// SWD Pins
|
// Used in common-hal/microcontroller/Pin.c
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_13);// SWDIO
|
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_12);// SWCLK
|
&pin_GPIO_AD_13,// SWDIO
|
||||||
|
&pin_GPIO_AD_12,// SWCLK
|
||||||
|
|
||||||
// FLEX flash
|
// FLEX flash
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_12);
|
&pin_GPIO_SD_12,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_11);
|
&pin_GPIO_SD_11,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_10);
|
&pin_GPIO_SD_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_09);
|
&pin_GPIO_SD_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_08);
|
&pin_GPIO_SD_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_07);
|
&pin_GPIO_SD_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_06);
|
&pin_GPIO_SD_06,
|
||||||
}
|
NULL, // Must end in NULL.
|
||||||
|
};
|
||||||
|
|
||||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
||||||
|
@ -26,22 +26,23 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "supervisor/board.h"
|
#include "supervisor/board.h"
|
||||||
#include "boards/flash_config.h"
|
|
||||||
#include "mpconfigboard.h"
|
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
void board_init(void) {
|
// These pins should never ever be reset; doing so could interfere with basic operation.
|
||||||
|
// Used in common-hal/microcontroller/Pin.c
|
||||||
|
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
// SWD Pins
|
// SWD Pins
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_06);// SWDIO
|
&pin_GPIO_AD_B0_06,// SWDIO
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_07);// SWCLK
|
&pin_GPIO_AD_B0_07,// SWCLK
|
||||||
|
|
||||||
// FLEX flash
|
// FLEX flash
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
|
&pin_GPIO_SD_B1_06,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
|
&pin_GPIO_SD_B1_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
|
&pin_GPIO_SD_B1_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
|
&pin_GPIO_SD_B1_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
|
&pin_GPIO_SD_B1_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
|
&pin_GPIO_SD_B1_11,
|
||||||
}
|
NULL, // Must end in NULL.
|
||||||
|
};
|
||||||
|
|
||||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
||||||
|
@ -26,25 +26,25 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "supervisor/board.h"
|
#include "supervisor/board.h"
|
||||||
#include "boards/flash_config.h"
|
|
||||||
#include "mpconfigboard.h"
|
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
void board_init(void) {
|
// These pins should never ever be reset; doing so could interfere with basic operation.
|
||||||
// SWD Pins
|
// Used in common-hal/microcontroller/Pin.c
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_13); // SWDIO
|
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_12); // SWCLK
|
&pin_GPIO_AD_13, // SWDIO
|
||||||
|
&pin_GPIO_AD_12, // SWCLK
|
||||||
// FLEX flash
|
// FLEX flash
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_12);
|
&pin_GPIO_SD_12,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_11);
|
&pin_GPIO_SD_11,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_10);
|
&pin_GPIO_SD_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_09);
|
&pin_GPIO_SD_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_08);
|
&pin_GPIO_SD_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_07);
|
&pin_GPIO_SD_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_06);
|
&pin_GPIO_SD_06,
|
||||||
// USB Pins
|
// USB Pins
|
||||||
common_hal_never_reset_pin(&pin_GPIO_12);
|
&pin_GPIO_12,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_13);
|
&pin_GPIO_13,
|
||||||
}
|
NULL, // Must end in NULL.
|
||||||
|
};
|
||||||
|
|
||||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
||||||
|
@ -26,26 +26,27 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "supervisor/board.h"
|
#include "supervisor/board.h"
|
||||||
#include "boards/flash_config.h"
|
|
||||||
#include "mpconfigboard.h"
|
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
void board_init(void) {
|
// These pins should never ever be reset; doing so could interfere with basic operation.
|
||||||
|
// Used in common-hal/microcontroller/Pin.c
|
||||||
|
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
// SWD Pins
|
// SWD Pins
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_00);// SWDIO
|
&pin_GPIO_AD_B0_00,// SWDIO
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_01);// SWCLK
|
&pin_GPIO_AD_B0_01,// SWCLK
|
||||||
|
|
||||||
// FLEX flash
|
// FLEX flash
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
|
&pin_GPIO_SD_B1_06,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
|
&pin_GPIO_SD_B1_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
|
&pin_GPIO_SD_B1_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
|
&pin_GPIO_SD_B1_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
|
&pin_GPIO_SD_B1_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
|
&pin_GPIO_SD_B1_11,
|
||||||
|
|
||||||
// USB Pins
|
// USB Pins
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B1_11);
|
&pin_GPIO_AD_B1_11,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B1_12);
|
&pin_GPIO_AD_B1_12,
|
||||||
}
|
NULL, // Must end in NULL.
|
||||||
|
};
|
||||||
|
|
||||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
||||||
|
@ -26,30 +26,33 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "supervisor/board.h"
|
#include "supervisor/board.h"
|
||||||
#include "boards/flash_config.h"
|
|
||||||
#include "mpconfigboard.h"
|
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
void board_init(void) {
|
// These pins should never ever be reset; doing so could interfere with basic operation.
|
||||||
|
// Used in common-hal/microcontroller/Pin.c
|
||||||
|
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
// SWD Pins
|
// SWD Pins
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_06);// SWDIO
|
&pin_GPIO_AD_B0_06, // SWDIO
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_07);// SWCLK
|
&pin_GPIO_AD_B0_07, // SWCLK
|
||||||
|
|
||||||
// FLEX flash
|
// FLEX flash
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_00);
|
&pin_GPIO_SD_B1_00,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_01);
|
&pin_GPIO_SD_B1_01,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_02);
|
&pin_GPIO_SD_B1_02,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_03);
|
&pin_GPIO_SD_B1_03,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_04);
|
&pin_GPIO_SD_B1_04,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_05);
|
&pin_GPIO_SD_B1_05,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
|
&pin_GPIO_SD_B1_06,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
|
&pin_GPIO_SD_B1_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
|
&pin_GPIO_SD_B1_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
|
&pin_GPIO_SD_B1_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
|
&pin_GPIO_SD_B1_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
|
&pin_GPIO_SD_B1_11,
|
||||||
|
|
||||||
// USB Pins
|
// USB Pins
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_01);
|
&pin_GPIO_AD_B0_01,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_03);
|
&pin_GPIO_AD_B0_03,
|
||||||
}
|
NULL, // Must end in NULL.
|
||||||
|
};
|
||||||
|
|
||||||
|
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
||||||
|
@ -26,23 +26,24 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "supervisor/board.h"
|
#include "supervisor/board.h"
|
||||||
#include "boards/flash_config.h"
|
|
||||||
#include "mpconfigboard.h"
|
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
void board_init(void) {
|
// These pins should never ever be reset; doing so could interfere with basic operation.
|
||||||
|
// Used in common-hal/microcontroller/Pin.c
|
||||||
|
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
// SWD Pins
|
// SWD Pins
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_13);// SWDIO
|
&pin_GPIO_AD_13,// SWDIO
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_12);// SWCLK
|
&pin_GPIO_AD_12,// SWCLK
|
||||||
|
|
||||||
// FLEX flash
|
// FLEX flash
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_12);
|
&pin_GPIO_SD_12,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_11);
|
&pin_GPIO_SD_11,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_10);
|
&pin_GPIO_SD_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_09);
|
&pin_GPIO_SD_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_08);
|
&pin_GPIO_SD_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_07);
|
&pin_GPIO_SD_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_06);
|
&pin_GPIO_SD_06,
|
||||||
}
|
NULL, // Must end in NULL.
|
||||||
|
};
|
||||||
|
|
||||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
||||||
|
@ -26,31 +26,31 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "supervisor/board.h"
|
#include "supervisor/board.h"
|
||||||
#include "boards/flash_config.h"
|
|
||||||
#include "mpconfigboard.h"
|
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
void board_init(void) {
|
// These pins should never ever be reset; doing so could interfere with basic operation.
|
||||||
// FLEX flash
|
// Used in common-hal/microcontroller/Pin.c
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
|
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
|
&pin_GPIO_SD_B1_06,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
|
&pin_GPIO_SD_B1_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
|
&pin_GPIO_SD_B1_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
|
&pin_GPIO_SD_B1_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
|
&pin_GPIO_SD_B1_10,
|
||||||
|
&pin_GPIO_SD_B1_11,
|
||||||
|
|
||||||
// FLEX flash 2
|
// FLEX flash 2
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_04);
|
&pin_GPIO_AD_B0_04,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_06);
|
&pin_GPIO_AD_B0_06,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_07);
|
&pin_GPIO_AD_B0_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_08);
|
&pin_GPIO_AD_B0_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_09);
|
&pin_GPIO_AD_B0_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_10);
|
&pin_GPIO_AD_B0_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_EMC_01);
|
&pin_GPIO_EMC_01,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_B0_13);
|
&pin_GPIO_B0_13,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_11);
|
&pin_GPIO_AD_B0_11,
|
||||||
// Data strobe needs protection despite being grounded
|
// Data strobe needs protection despite being grounded
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_05);
|
&pin_GPIO_SD_B1_05,
|
||||||
}
|
NULL, // Must end in NULL.
|
||||||
|
};
|
||||||
|
|
||||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
||||||
|
@ -26,31 +26,32 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "supervisor/board.h"
|
#include "supervisor/board.h"
|
||||||
#include "boards/flash_config.h"
|
|
||||||
#include "mpconfigboard.h"
|
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
void board_init(void) {
|
// These pins should never ever be reset; doing so could interfere with basic operation.
|
||||||
|
// Used in common-hal/microcontroller/Pin.c
|
||||||
|
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
// FLEX flash
|
// FLEX flash
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
|
&pin_GPIO_SD_B1_06,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
|
&pin_GPIO_SD_B1_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
|
&pin_GPIO_SD_B1_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
|
&pin_GPIO_SD_B1_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
|
&pin_GPIO_SD_B1_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
|
&pin_GPIO_SD_B1_11,
|
||||||
|
|
||||||
// FLEX flash 2
|
// FLEX flash 2
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_04);
|
&pin_GPIO_AD_B0_04,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_06);
|
&pin_GPIO_AD_B0_06,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_07);
|
&pin_GPIO_AD_B0_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_08);
|
&pin_GPIO_AD_B0_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_09);
|
&pin_GPIO_AD_B0_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_10);
|
&pin_GPIO_AD_B0_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_EMC_01);
|
&pin_GPIO_EMC_01,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_B0_13);
|
&pin_GPIO_B0_13,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_11);
|
&pin_GPIO_AD_B0_11,
|
||||||
// Data strobe needs protection despite being grounded
|
// Data strobe needs protection despite being grounded
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_05);
|
&pin_GPIO_SD_B1_05,
|
||||||
}
|
NULL, // Must end in NULL.
|
||||||
|
};
|
||||||
|
|
||||||
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
||||||
|
@ -26,29 +26,32 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "supervisor/board.h"
|
#include "supervisor/board.h"
|
||||||
#include "boards/flash_config.h"
|
|
||||||
#include "mpconfigboard.h"
|
|
||||||
#include "shared-bindings/microcontroller/Pin.h"
|
#include "shared-bindings/microcontroller/Pin.h"
|
||||||
|
|
||||||
void board_init(void) {
|
// These pins should never ever be reset; doing so could interfere with basic operation.
|
||||||
|
// Used in common-hal/microcontroller/Pin.c
|
||||||
|
const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
// FLEX flash
|
// FLEX flash
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_06);
|
&pin_GPIO_SD_B1_06,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_07);
|
&pin_GPIO_SD_B1_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_08);
|
&pin_GPIO_SD_B1_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_09);
|
&pin_GPIO_SD_B1_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_10);
|
&pin_GPIO_SD_B1_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_11);
|
&pin_GPIO_SD_B1_11,
|
||||||
|
|
||||||
// FLEX flash 2
|
// FLEX flash 2
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_04);
|
&pin_GPIO_AD_B0_04,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_06);
|
&pin_GPIO_AD_B0_06,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_07);
|
&pin_GPIO_AD_B0_07,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_08);
|
&pin_GPIO_AD_B0_08,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_09);
|
&pin_GPIO_AD_B0_09,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_10);
|
&pin_GPIO_AD_B0_10,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_EMC_01);
|
&pin_GPIO_EMC_01,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_B0_13);
|
&pin_GPIO_B0_13,
|
||||||
common_hal_never_reset_pin(&pin_GPIO_AD_B0_11);
|
&pin_GPIO_AD_B0_11,
|
||||||
// Data strobe needs protection despite being grounded
|
// Data strobe needs protection despite being grounded
|
||||||
common_hal_never_reset_pin(&pin_GPIO_SD_B1_05);
|
&pin_GPIO_SD_B1_05,
|
||||||
}
|
NULL, // Must end in NULL.
|
||||||
|
};
|
||||||
|
|
||||||
|
// Use the MP_WEAK supervisor/shared/board.c versions of routines not defined here.
|
||||||
|
@ -31,6 +31,22 @@
|
|||||||
STATIC bool claimed_pins[IOMUXC_SW_PAD_CTL_PAD_COUNT];
|
STATIC bool claimed_pins[IOMUXC_SW_PAD_CTL_PAD_COUNT];
|
||||||
STATIC bool never_reset_pins[IOMUXC_SW_PAD_CTL_PAD_COUNT];
|
STATIC bool never_reset_pins[IOMUXC_SW_PAD_CTL_PAD_COUNT];
|
||||||
|
|
||||||
|
// Default is that no pins are forbidden to reset.
|
||||||
|
MP_WEAK const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[] = {
|
||||||
|
NULL,
|
||||||
|
};
|
||||||
|
|
||||||
|
STATIC bool _reset_forbidden(const mcu_pin_obj_t *pin) {
|
||||||
|
const mcu_pin_obj_t **forbidden_pin = &mimxrt10xx_reset_forbidden_pins[0];
|
||||||
|
while (*forbidden_pin) {
|
||||||
|
if (pin == *forbidden_pin) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
forbidden_pin++;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// There are two numbering systems used here:
|
// There are two numbering systems used here:
|
||||||
// IOMUXC index, used for iterating through pins and accessing reset information,
|
// IOMUXC index, used for iterating through pins and accessing reset information,
|
||||||
// and GPIO port and number, used to store claimed and reset tagging. The two number
|
// and GPIO port and number, used to store claimed and reset tagging. The two number
|
||||||
@ -44,17 +60,31 @@ void reset_all_pins(void) {
|
|||||||
if (never_reset_pins[pin->mux_idx]) {
|
if (never_reset_pins[pin->mux_idx]) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
*(uint32_t *)pin->mux_reg = pin->mux_reset;
|
common_hal_reset_pin(pin);
|
||||||
*(uint32_t *)pin->cfg_reg = pin->pad_reset;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MP_WEAK bool mimxrt10xx_board_reset_pin_number(const mcu_pin_obj_t *pin) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Since i.MX pins need extra register and reset information to reset properly,
|
// Since i.MX pins need extra register and reset information to reset properly,
|
||||||
// resetting pins by number alone has been removed.
|
// resetting pins by number alone has been removed.
|
||||||
void common_hal_reset_pin(const mcu_pin_obj_t *pin) {
|
void common_hal_reset_pin(const mcu_pin_obj_t *pin) {
|
||||||
|
return;
|
||||||
if (pin == NULL) {
|
if (pin == NULL) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_reset_forbidden(pin)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Give the board a chance to reset the pin in a particular way, or not reset it at all.
|
||||||
|
if (mimxrt10xx_board_reset_pin_number(pin)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
never_reset_pins[pin->mux_idx] = false;
|
never_reset_pins[pin->mux_idx] = false;
|
||||||
claimed_pins[pin->mux_idx] = false;
|
claimed_pins[pin->mux_idx] = false;
|
||||||
*(uint32_t *)pin->mux_reg = pin->mux_reset;
|
*(uint32_t *)pin->mux_reg = pin->mux_reset;
|
||||||
|
@ -35,4 +35,14 @@
|
|||||||
void reset_all_pins(void);
|
void reset_all_pins(void);
|
||||||
void claim_pin(const mcu_pin_obj_t *pin);
|
void claim_pin(const mcu_pin_obj_t *pin);
|
||||||
|
|
||||||
|
// List of pins that should never be reset.
|
||||||
|
extern const mcu_pin_obj_t *mimxrt10xx_reset_forbidden_pins[];
|
||||||
|
|
||||||
|
// Allow the board to reset a pin in a board-specific way. This can be used
|
||||||
|
// for LEDs or enable pins to put them in a state beside the default pull-up,
|
||||||
|
// or to simply not reset the pin at all.
|
||||||
|
// Return true to indicate that the pin was handled in a special way. Returning false will lead to
|
||||||
|
// the port-default reset behavior.
|
||||||
|
extern bool mimxrt10xx_board_reset_pin_number(const mcu_pin_obj_t *pin);
|
||||||
|
|
||||||
#endif // MICROPY_INCLUDED_MIMXRT10XX_COMMON_HAL_MICROCONTROLLER_PIN_H
|
#endif // MICROPY_INCLUDED_MIMXRT10XX_COMMON_HAL_MICROCONTROLLER_PIN_H
|
||||||
|
Loading…
Reference in New Issue
Block a user