File tree Expand file tree Collapse file tree
boards/makerdiary_nrf52840_mdk_usb_dongle
common-hal/microcontroller Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4040#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
4141
4242#define BOARD_HAS_CRYSTAL 1 // according to the schematic we do
43-
44- // See https://github.com/adafruit/circuitpython/issues/1300, circuitpython
45- // doesn't yet support NFC so just force those pins to be GPIO.
46- #define CONFIG_NFCT_PINS_AS_GPIOS
Original file line number Diff line number Diff line change @@ -168,5 +168,15 @@ bool common_hal_mcu_pin_is_free(const mcu_pin_obj_t *pin) {
168168 }
169169 #endif
170170
171+ #ifdef NRF52840
172+ // If NFC pins are enabled for NFC, don't allow them to be used for GPIO.
173+ if (((NRF_UICR -> NFCPINS & UICR_NFCPINS_PROTECT_Msk ) ==
174+ (UICR_NFCPINS_PROTECT_NFC << UICR_NFCPINS_PROTECT_Pos )) &&
175+ (pin -> number == 9 || pin -> number == 10 )) {
176+ return false;
177+ }
178+ #endif
179+
171180 return pin_number_is_free (pin -> number );
181+
172182}
Original file line number Diff line number Diff line change @@ -27,3 +27,8 @@ CIRCUITPY_RTC = 0
2727
2828# frequencyio not yet implemented
2929CIRCUITPY_FREQUENCYIO = 0
30+
31+ # CircuitPython doesn't yet support NFC so force the NFC antenna pins to be GPIO.
32+ # See https://github.com/adafruit/circuitpython/issues/1300
33+ # Defined here because system_nrf52840.c doesn't #include any of our own include files.
34+ CFLAGS += -DCONFIG_NFCT_PINS_AS_GPIOS
You can’t perform that action at this time.
0 commit comments