File tree 3 files changed +15
-4
lines changed
boards/makerdiary_nrf52840_mdk_usb_dongle
common-hal/microcontroller 3 files changed +15
-4
lines changed Original file line number Diff line number Diff line change 40
40
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
41
41
42
42
#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) {
168
168
}
169
169
#endif
170
170
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
+
171
180
return pin_number_is_free (pin -> number );
181
+
172
182
}
Original file line number Diff line number Diff line change @@ -27,3 +27,8 @@ CIRCUITPY_RTC = 0
27
27
28
28
# frequencyio not yet implemented
29
29
CIRCUITPY_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