Merge pull request #1678 from dhalbert/nrf-nfc-as-gpio
Allow NFC pins to be used for other purposes. Fixes #1300
This commit is contained in:
commit
fce63b17c6
|
@ -40,7 +40,3 @@
|
|||
#define BOARD_FLASH_SIZE (FLASH_SIZE - 0x4000 - CIRCUITPY_INTERNAL_NVM_SIZE)
|
||||
|
||||
#define BOARD_HAS_CRYSTAL 1 // according to the schematic we do
|
||||
|
||||
// See https://github.com/adafruit/circuitpython/issues/1300, circuitpython
|
||||
// doesn't yet support NFC so just force those pins to be GPIO.
|
||||
#define CONFIG_NFCT_PINS_AS_GPIOS
|
||||
|
|
|
@ -168,5 +168,15 @@ bool common_hal_mcu_pin_is_free(const mcu_pin_obj_t *pin) {
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef NRF52840
|
||||
// If NFC pins are enabled for NFC, don't allow them to be used for GPIO.
|
||||
if (((NRF_UICR->NFCPINS & UICR_NFCPINS_PROTECT_Msk) ==
|
||||
(UICR_NFCPINS_PROTECT_NFC << UICR_NFCPINS_PROTECT_Pos)) &&
|
||||
(pin->number == 9 || pin->number == 10)) {
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
|
||||
return pin_number_is_free(pin->number);
|
||||
|
||||
}
|
||||
|
|
|
@ -27,3 +27,8 @@ CIRCUITPY_RTC = 0
|
|||
|
||||
# frequencyio not yet implemented
|
||||
CIRCUITPY_FREQUENCYIO = 0
|
||||
|
||||
# CircuitPython doesn't yet support NFC so force the NFC antenna pins to be GPIO.
|
||||
# See https://github.com/adafruit/circuitpython/issues/1300
|
||||
# Defined here because system_nrf52840.c doesn't #include any of our own include files.
|
||||
CFLAGS += -DCONFIG_NFCT_PINS_AS_GPIOS
|
||||
|
|
Loading…
Reference in New Issue