summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/nrf/Makefile17
-rw-r--r--ports/nrf/boards/feather52/mpconfigboard.h10
-rw-r--r--ports/nrf/boards/feather52/pins.c126
-rw-r--r--ports/nrf/boards/feather52/pins.csv49
-rw-r--r--ports/nrf/boards/feather52/pins.h28
-rw-r--r--ports/nrf/boards/make-pins.py201
-rw-r--r--ports/nrf/boards/nrf52_prefix.c19
-rw-r--r--ports/nrf/boards/pca10040/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/pca10040/pins.c143
-rw-r--r--ports/nrf/boards/pca10040/pins.csv61
-rw-r--r--ports/nrf/boards/pca10040/pins.h35
-rw-r--r--ports/nrf/boards/pca10056/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/pca10056/pins.c191
-rw-r--r--ports/nrf/boards/pca10056/pins.csv96
-rw-r--r--ports/nrf/boards/pca10056/pins.h51
-rw-r--r--ports/nrf/modules/machine/pin.h2
-rw-r--r--ports/nrf/nrf52_af.csv96
-rw-r--r--ports/nrf/pin_defs_nrf5.h27
18 files changed, 203 insertions, 977 deletions
diff --git a/ports/nrf/Makefile b/ports/nrf/Makefile
index 5dec98ab7..c1bef4672 100644
--- a/ports/nrf/Makefile
+++ b/ports/nrf/Makefile
@@ -31,7 +31,7 @@ endif
# qstr definitions (must come before including py.mk)
-QSTR_DEFS = qstrdefsport.h
+QSTR_DEFS = qstrdefsport.h $(BUILD)/pins_qstr.h
FROZEN_MPY_DIR = freeze
@@ -49,6 +49,7 @@ MCU_VARIANT_UPPER = $(shell echo $(MCU_VARIANT) | tr '[:lower:]' '[:upper:]')
INC += -I.
INC += -I../..
INC += -I$(BUILD)
+INC += -I$(BUILD)/genhdr
INC += -I./../../lib/cmsis/inc
INC += -I./device
INC += -I./device/$(MCU_VARIANT)
@@ -142,7 +143,6 @@ SRC_C += \
drivers/bluetooth/ble_drv.c \
drivers/bluetooth/ble_uart.c \
boards/$(BOARD)/board.c \
- boards/$(BOARD)/pins.c \
device/$(MCU_VARIANT)/system_$(MCU_SUB_VARIANT).c \
device/$(MCU_VARIANT)/startup_$(MCU_SUB_VARIANT).c \
lib/oofatfs/ff.c \
@@ -257,6 +257,7 @@ FROZEN_MPY_PY_FILES := $(shell find -L $(FROZEN_MPY_DIR) -type f -name '*.py')
FROZEN_MPY_MPY_FILES := $(addprefix $(BUILD)/,$(FROZEN_MPY_PY_FILES:.py=.mpy))
OBJ += $(PY_O) $(SUPERVISOR_O) $(addprefix $(BUILD)/, $(SRC_C:.c=.o))
+OBJ += $(BUILD)/pins_gen.o
OBJ += $(addprefix $(BUILD)/, $(SRC_HAL:.c=.o))
OBJ += $(addprefix $(BUILD)/, $(DRIVERS_SRC_C:.c=.o))
OBJ += $(addprefix $(BUILD)/, $(SRC_COMMON_HAL_EXPANDED:.c=.o))
@@ -326,16 +327,16 @@ SRC_QSTR_AUTO_DEPS +=
# any of the objects. The normal dependency generation will deal with the
# case when pins.h is modified. But when it doesn't exist, we don't know
# which source files might need it.
-#$(OBJ): | $(HEADER_BUILD)/pins.h
+$(OBJ): | $(HEADER_BUILD)/pins.h
# Use a pattern rule here so that make will only call make-pins.py once to make
# both pins_$(BOARD).c and pins.h
-#$(BUILD)/%_$(BOARD).c $(HEADER_BUILD)/%.h $(HEADER_BUILD)/%_af_const.h $(BUILD)/%_qstr.h: boards/$(BOARD)/%.csv $(MAKE_PINS) $(AF_FILE) $(PREFIX_FILE) | $(HEADER_BUILD)
-# $(ECHO) "Create $@"
-# $(Q)$(PYTHON) $(MAKE_PINS) --board $(BOARD_PINS) --af $(AF_FILE) --prefix $(PREFIX_FILE) --hdr $(GEN_PINS_HDR) --qstr $(GEN_PINS_QSTR) --af-const $(GEN_PINS_AF_CONST) --af-py $(GEN_PINS_AF_PY) > $(GEN_PINS_SRC)
+$(BUILD)/%_gen.c $(HEADER_BUILD)/%.h $(HEADER_BUILD)/%_af_const.h $(BUILD)/%_qstr.h: boards/$(BOARD)/%.csv $(MAKE_PINS) $(AF_FILE) $(PREFIX_FILE) | $(HEADER_BUILD)
+ $(ECHO) "Create $@"
+ $(Q)$(PYTHON) $(MAKE_PINS) --board $(BOARD_PINS) --af $(AF_FILE) --prefix $(PREFIX_FILE) --hdr $(GEN_PINS_HDR) --qstr $(GEN_PINS_QSTR) --af-const $(GEN_PINS_AF_CONST) --af-py $(GEN_PINS_AF_PY) > $(GEN_PINS_SRC)
-#$(BUILD)/pins_gen.o: $(BUILD)/pins_gen.c
-# $(call compile_c)
+$(BUILD)/pins_gen.o: $(BUILD)/pins_gen.c
+ $(call compile_c)
MAKE_PINS = boards/make-pins.py
BOARD_PINS = boards/$(BOARD)/pins.csv
diff --git a/ports/nrf/boards/feather52/mpconfigboard.h b/ports/nrf/boards/feather52/mpconfigboard.h
index 555cffde4..176e61499 100644
--- a/ports/nrf/boards/feather52/mpconfigboard.h
+++ b/ports/nrf/boards/feather52/mpconfigboard.h
@@ -57,15 +57,15 @@
#define MICROPY_HW_LED2 (19) // LED2
// UART config
-#define MICROPY_HW_UART1_RX (pin_PA08)
-#define MICROPY_HW_UART1_TX (pin_PA06)
+#define MICROPY_HW_UART1_RX (pin_P0_08)
+#define MICROPY_HW_UART1_TX (pin_P0_06)
#define MICROPY_HW_UART1_HWFC (0)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_PA12) // (Arduino D13)
-#define MICROPY_HW_SPI0_MOSI (pin_PA13) // (Arduino D11)
-#define MICROPY_HW_SPI0_MISO (pin_PA14) // (Arduino D12)
+#define MICROPY_HW_SPI0_SCK (pin_P0_12) // (Arduino D13)
+#define MICROPY_HW_SPI0_MOSI (pin_P0_13) // (Arduino D11)
+#define MICROPY_HW_SPI0_MISO (pin_P0_14) // (Arduino D12)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/feather52/pins.c b/ports/nrf/boards/feather52/pins.c
deleted file mode 100644
index 36ce2cc6f..000000000
--- a/ports/nrf/boards/feather52/pins.c
+++ /dev/null
@@ -1,126 +0,0 @@
-// This file was automatically generated by make-pins.py
-//
-// --af nrf52_af.csv
-// --board boards/feather52/pins.csv
-// --prefix boards/nrf52_prefix.c
-
-// nrf52_prefix.c becomes the initial portion of the generated pins file.
-
-#include <stdio.h>
-
-#include "py/obj.h"
-#include "py/mphal.h"
-#include "pin.h"
-
-#define AF(af_idx, af_fn, af_unit, af_type, af_ptr) \
-{ \
- { &pin_af_type }, \
- .name = MP_QSTR_AF ## af_idx ## _ ## af_fn ## af_unit, \
- .idx = (af_idx), \
- .fn = AF_FN_ ## af_fn, \
- .unit = (af_unit), \
- .type = AF_PIN_TYPE_ ## af_fn ## _ ## af_type, \
- .af_fn = (af_ptr) \
-}
-
-#define PIN(p_port, p_pin, p_af, p_adc_channel) \
-{ \
- { &mcu_pin_type }, \
- .name = MP_QSTR_ ## p_port ## p_pin, \
- .port = PORT_ ## p_port, \
- .pin = (p_pin), \
- .num_af = (sizeof(p_af) / sizeof(pin_af_obj_t)), \
- /*.pin_mask = (1 << p_pin), */\
- .af = p_af, \
- .adc_channel = p_adc_channel,\
-}
-
-#define NO_ADC 0
-
-const pin_obj_t pin_PA02 = PIN(A, 2, NULL, SAADC_CH_PSELP_PSELP_AnalogInput0);
-const pin_obj_t pin_PA03 = PIN(A, 3, NULL, SAADC_CH_PSELP_PSELP_AnalogInput1);
-const pin_obj_t pin_PA04 = PIN(A, 4, NULL, SAADC_CH_PSELP_PSELP_AnalogInput2);
-const pin_obj_t pin_PA05 = PIN(A, 5, NULL, SAADC_CH_PSELP_PSELP_AnalogInput3);
-const pin_obj_t pin_PA06 = PIN(A, 6, NULL, NO_ADC);
-const pin_obj_t pin_PA07 = PIN(A, 7, NULL, NO_ADC);
-const pin_obj_t pin_PA08 = PIN(A, 8, NULL, NO_ADC);
-const pin_obj_t pin_PA09 = PIN(A, 9, NULL, NO_ADC);
-const pin_obj_t pin_PA10 = PIN(A, 10, NULL, NO_ADC);
-const pin_obj_t pin_PA11 = PIN(A, 11, NULL, NO_ADC);
-const pin_obj_t pin_PA12 = PIN(A, 12, NULL, NO_ADC);
-const pin_obj_t pin_PA13 = PIN(A, 13, NULL, NO_ADC);
-const pin_obj_t pin_PA14 = PIN(A, 14, NULL, NO_ADC);
-const pin_obj_t pin_PA15 = PIN(A, 15, NULL, NO_ADC);
-const pin_obj_t pin_PA16 = PIN(A, 16, NULL, NO_ADC);
-const pin_obj_t pin_PA17 = PIN(A, 17, NULL, NO_ADC);
-
-const pin_obj_t pin_PA19 = PIN(A, 19, NULL, NO_ADC);
-const pin_obj_t pin_PA20 = PIN(A, 20, NULL, NO_ADC);
-
-const pin_obj_t pin_PA25 = PIN(A, 25, NULL, NO_ADC);
-const pin_obj_t pin_PA26 = PIN(A, 26, NULL, NO_ADC);
-const pin_obj_t pin_PA27 = PIN(A, 27, NULL, NO_ADC);
-const pin_obj_t pin_PA28 = PIN(A, 28, NULL, SAADC_CH_PSELP_PSELP_AnalogInput4);
-const pin_obj_t pin_PA29 = PIN(A, 29, NULL, SAADC_CH_PSELP_PSELP_AnalogInput5);
-const pin_obj_t pin_PA30 = PIN(A, 30, NULL, SAADC_CH_PSELP_PSELP_AnalogInput6);
-const pin_obj_t pin_PA31 = PIN(A, 31, NULL, SAADC_CH_PSELP_PSELP_AnalogInput7);
-
-STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = {
- { MP_ROM_QSTR(MP_QSTR_PA02), MP_ROM_PTR(&pin_PA02) },
- { MP_ROM_QSTR(MP_QSTR_PA03), MP_ROM_PTR(&pin_PA03) },
- { MP_ROM_QSTR(MP_QSTR_PA04), MP_ROM_PTR(&pin_PA04) },
- { MP_ROM_QSTR(MP_QSTR_PA05), MP_ROM_PTR(&pin_PA05) },
- { MP_ROM_QSTR(MP_QSTR_PA06), MP_ROM_PTR(&pin_PA06) },
- { MP_ROM_QSTR(MP_QSTR_PA07), MP_ROM_PTR(&pin_PA07) },
- { MP_ROM_QSTR(MP_QSTR_PA08), MP_ROM_PTR(&pin_PA08) },
- { MP_ROM_QSTR(MP_QSTR_PA09), MP_ROM_PTR(&pin_PA09) },
- { MP_ROM_QSTR(MP_QSTR_PA10), MP_ROM_PTR(&pin_PA10) },
- { MP_ROM_QSTR(MP_QSTR_PA11), MP_ROM_PTR(&pin_PA11) },
- { MP_ROM_QSTR(MP_QSTR_PA12), MP_ROM_PTR(&pin_PA12) },
- { MP_ROM_QSTR(MP_QSTR_PA13), MP_ROM_PTR(&pin_PA13) },
- { MP_ROM_QSTR(MP_QSTR_PA14), MP_ROM_PTR(&pin_PA14) },
- { MP_ROM_QSTR(MP_QSTR_PA15), MP_ROM_PTR(&pin_PA15) },
- { MP_ROM_QSTR(MP_QSTR_PA16), MP_ROM_PTR(&pin_PA16) },
- { MP_ROM_QSTR(MP_QSTR_PA17), MP_ROM_PTR(&pin_PA17) },
- { MP_ROM_QSTR(MP_QSTR_PA19), MP_ROM_PTR(&pin_PA19) },
- { MP_ROM_QSTR(MP_QSTR_PA20), MP_ROM_PTR(&pin_PA20) },
- { MP_ROM_QSTR(MP_QSTR_PA25), MP_ROM_PTR(&pin_PA25) },
- { MP_ROM_QSTR(MP_QSTR_PA26), MP_ROM_PTR(&pin_PA26) },
- { MP_ROM_QSTR(MP_QSTR_PA27), MP_ROM_PTR(&pin_PA27) },
- { MP_ROM_QSTR(MP_QSTR_PA28), MP_ROM_PTR(&pin_PA28) },
- { MP_ROM_QSTR(MP_QSTR_PA29), MP_ROM_PTR(&pin_PA29) },
- { MP_ROM_QSTR(MP_QSTR_PA30), MP_ROM_PTR(&pin_PA30) },
- { MP_ROM_QSTR(MP_QSTR_PA31), MP_ROM_PTR(&pin_PA31) },
-};
-MP_DEFINE_CONST_DICT(mcu_pin_globals, mcu_pin_globals_table);
-
-STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
- { MP_ROM_QSTR(MP_QSTR_A0 ), MP_ROM_PTR(&pin_PA02) },
- { MP_ROM_QSTR(MP_QSTR_A1 ), MP_ROM_PTR(&pin_PA03) },
- { MP_ROM_QSTR(MP_QSTR_A2 ), MP_ROM_PTR(&pin_PA04) },
- { MP_ROM_QSTR(MP_QSTR_A3 ), MP_ROM_PTR(&pin_PA05) },
- { MP_ROM_QSTR(MP_QSTR_TX ), MP_ROM_PTR(&pin_PA06) },
- { MP_ROM_QSTR(MP_QSTR_A7 ), MP_ROM_PTR(&pin_PA07) },
- { MP_ROM_QSTR(MP_QSTR_RX ), MP_ROM_PTR(&pin_PA08) },
- { MP_ROM_QSTR(MP_QSTR_NFC1 ), MP_ROM_PTR(&pin_PA09) },
- { MP_ROM_QSTR(MP_QSTR_NFC2 ), MP_ROM_PTR(&pin_PA10) },
- { MP_ROM_QSTR(MP_QSTR_D11 ), MP_ROM_PTR(&pin_PA11) },
- { MP_ROM_QSTR(MP_QSTR_SCK ), MP_ROM_PTR(&pin_PA12) },
- { MP_ROM_QSTR(MP_QSTR_MOSI ), MP_ROM_PTR(&pin_PA13) },
- { MP_ROM_QSTR(MP_QSTR_MISO ), MP_ROM_PTR(&pin_PA14) },
- { MP_ROM_QSTR(MP_QSTR_D15 ), MP_ROM_PTR(&pin_PA15) },
- { MP_ROM_QSTR(MP_QSTR_D16 ), MP_ROM_PTR(&pin_PA16) },
- { MP_ROM_QSTR(MP_QSTR_LED1 ), MP_ROM_PTR(&pin_PA17) },
- { MP_ROM_QSTR(MP_QSTR_LED2 ), MP_ROM_PTR(&pin_PA19) },
- { MP_ROM_QSTR(MP_QSTR_DFU ), MP_ROM_PTR(&pin_PA20) },
- { MP_ROM_QSTR(MP_QSTR_SDA ), MP_ROM_PTR(&pin_PA25) },
- { MP_ROM_QSTR(MP_QSTR_SCL ), MP_ROM_PTR(&pin_PA26) },
- { MP_ROM_QSTR(MP_QSTR_D27 ), MP_ROM_PTR(&pin_PA27) },
- { MP_ROM_QSTR(MP_QSTR_A4 ), MP_ROM_PTR(&pin_PA28) },
- { MP_ROM_QSTR(MP_QSTR_A5 ), MP_ROM_PTR(&pin_PA29) },
- { MP_ROM_QSTR(MP_QSTR_A6 ), MP_ROM_PTR(&pin_PA30) },
- { MP_ROM_QSTR(MP_QSTR_A7 ), MP_ROM_PTR(&pin_PA31) },
- // LED for standard examples
- { MP_ROM_QSTR(MP_QSTR_D13 ), MP_ROM_PTR(&pin_PA17) },
-};
-MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
diff --git a/ports/nrf/boards/feather52/pins.csv b/ports/nrf/boards/feather52/pins.csv
index 8997ec559..3ffab88d4 100644
--- a/ports/nrf/boards/feather52/pins.csv
+++ b/ports/nrf/boards/feather52/pins.csv
@@ -1,25 +1,24 @@
-A0,PA2,ADC0_IN0
-A1,PA3,ADC0_IN1
-A2,PA4,ADC0_IN2
-A3,PA5,ADC0_IN3
-TX,PA6
-PA7,PA7
-RX,PA8
-NFC1,PA9
-NFC2,PA10
-D11,PA11
-SCK,PA12
-MOSI,PA13
-MISO,PA14
-D15,PA15
-D16,PA16
-LED1,PA17
-LED2,PA19
-DFU,PA20
-SDA,PA25
-SCL,PA26
-D27,PA27
-A4,PA28,ADC0_IN4
-A5,PA29,ADC0_IN5
-A6,PA30,ADC0_IN6
-A7,PA31,ADC0_IN7
+A0,P0_02,ADC0_IN0
+A1,P0_03,ADC0_IN1
+A2,P0_04,ADC0_IN2
+A3,P0_05,ADC0_IN3
+TX,P0_06
+RX,P0_08
+NFC1,P0_09
+NFC2,P0_10
+D11,P0_11
+SCK,P0_12
+MOSI,P0_13
+MISO,P0_14
+D15,P0_15
+D16,P0_16
+LED1,P0_17
+LED2,P0_19
+DFU,P0_20
+SDA,P0_25
+SCL,P0_26
+D27,P0_27
+A4,P0_28,ADC0_IN4
+A5,P0_29,ADC0_IN5
+A6,P0_30,ADC0_IN6
+A7,P0_31,ADC0_IN7
diff --git a/ports/nrf/boards/feather52/pins.h b/ports/nrf/boards/feather52/pins.h
deleted file mode 100644
index 6ad86fa28..000000000
--- a/ports/nrf/boards/feather52/pins.h
+++ /dev/null
@@ -1,28 +0,0 @@
-extern const pin_obj_t pin_PA02;
-extern const pin_obj_t pin_PA03;
-extern const pin_obj_t pin_PA04;
-extern const pin_obj_t pin_PA05;
-extern const pin_obj_t pin_PA06;
-extern const pin_obj_t pin_PA07;
-extern const pin_obj_t pin_PA08;
-extern const pin_obj_t pin_PA09;
-extern const pin_obj_t pin_PA10;
-extern const pin_obj_t pin_PA11;
-extern const pin_obj_t pin_PA12;
-extern const pin_obj_t pin_PA13;
-extern const pin_obj_t pin_PA14;
-extern const pin_obj_t pin_PA15;
-extern const pin_obj_t pin_PA16;
-extern const pin_obj_t pin_PA17;
-extern const pin_obj_t pin_PA19;
-extern const pin_obj_t pin_PA20;
-extern const pin_obj_t pin_PA25;
-extern const pin_obj_t pin_PA26;
-extern const pin_obj_t pin_PA27;
-extern const pin_obj_t pin_PA28;
-extern const pin_obj_t pin_PA29;
-extern const pin_obj_t pin_PA30;
-extern const pin_obj_t pin_PA31;
-extern const pin_obj_t * const pin_PAdc1[];
-extern const pin_obj_t * const pin_PAdc2[];
-extern const pin_obj_t * const pin_PAdc3[];
diff --git a/ports/nrf/boards/make-pins.py b/ports/nrf/boards/make-pins.py
index 1edd2f99a..5fe600507 100644
--- a/ports/nrf/boards/make-pins.py
+++ b/ports/nrf/boards/make-pins.py
@@ -7,24 +7,22 @@ import argparse
import sys
import csv
-SUPPORTED_FN = {
- 'UART' : ['RX', 'TX', 'CTS', 'RTS']
-}
def parse_port_pin(name_str):
"""Parses a string and returns a (port-num, pin-num) tuple."""
- if len(name_str) < 3:
- raise ValueError("Expecting pin name to be at least 4 charcters.")
+ if len(name_str) < 4:
+ raise ValueError("Expecting pin name to be at least 5 charcters.")
if name_str[0] != 'P':
raise ValueError("Expecting pin name to start with P")
- if name_str[1] not in ('A', 'B'):
- raise ValueError("Expecting pin port to be in A or B")
- port = ord(name_str[1]) - ord('A')
- pin_str = name_str[2:].split('/')[0]
+ if name_str[1] not in ('0', '1'):
+ raise ValueError("Expecting pin port to be in 0 or 1")
+ port = ord(name_str[1]) - ord('0')
+ pin_str = name_str[3:]
if not pin_str.isdigit():
raise ValueError("Expecting numeric pin number.")
return (port, int(pin_str))
+
def split_name_num(name_num):
num = None
for num_idx in range(len(name_num) - 1, -1, -1):
@@ -37,72 +35,17 @@ def split_name_num(name_num):
return name, num
-class AlternateFunction(object):
- """Holds the information associated with a pins alternate function."""
-
- def __init__(self, idx, af_str):
- self.idx = idx
- self.af_str = af_str
-
- self.func = ''
- self.fn_num = None
- self.pin_type = ''
- self.supported = False
-
- af_words = af_str.split('_', 1)
- self.func, self.fn_num = split_name_num(af_words[0])
- if len(af_words) > 1:
- self.pin_type = af_words[1]
- if self.func in SUPPORTED_FN:
- pin_types = SUPPORTED_FN[self.func]
- if self.pin_type in pin_types:
- self.supported = True
-
- def is_supported(self):
- return self.supported
-
- def ptr(self):
- """Returns the numbered function (i.e. USART6) for this AF."""
- if self.fn_num is None:
- return self.func
- return '{:s}{:d}'.format(self.func, self.fn_num)
-
- def mux_name(self):
- return 'AF{:d}_{:s}'.format(self.idx, self.ptr())
-
- def print(self):
- """Prints the C representation of this AF."""
- if self.supported:
- print(' AF', end='')
- else:
- print(' //', end='')
- fn_num = self.fn_num
- if fn_num is None:
- fn_num = 0
- print('({:2d}, {:8s}, {:2d}, {:10s}, {:8s}), // {:s}'.format(self.idx,
- self.func, fn_num, self.pin_type, self.ptr(), self.af_str))
-
- def qstr_list(self):
- return [self.mux_name()]
-
-
class Pin(object):
"""Holds the information associated with a pin."""
def __init__(self, port, pin):
self.port = port
self.pin = pin
- self.alt_fn = []
- self.alt_fn_count = 0
- self.adc_num = 0
- self.adc_channel = 0
+ self.adc_channel = '0'
self.board_pin = False
- def port_letter(self):
- return chr(self.port + ord('A'))
-
def cpu_pin_name(self):
- return '{:s}{:d}'.format(self.port_letter(), self.pin)
+ return 'P{:d}_{:02d}'.format(self.port, self.pin)
def is_board_pin(self):
return self.board_pin
@@ -113,69 +56,17 @@ class Pin(object):
def parse_adc(self, adc_str):
if (adc_str[:3] != 'ADC'):
return
- (adc,channel) = adc_str.split('_')
- for idx in range(3, len(adc)):
- self.adc_num = int(adc[idx])
- self.adc_channel = int(channel[2:])
-
- def parse_af(self, af_idx, af_strs_in):
- if len(af_strs_in) == 0:
- return
- # If there is a slash, then the slash separates 2 aliases for the
- # same alternate function.
- af_strs = af_strs_in.split('/')
- for af_str in af_strs:
- alt_fn = AlternateFunction(af_idx, af_str)
- self.alt_fn.append(alt_fn)
- if alt_fn.is_supported():
- self.alt_fn_count += 1
-
- def alt_fn_name(self, null_if_0=False):
- if null_if_0 and self.alt_fn_count == 0:
- return 'NULL'
- return 'pin_{:s}_af'.format(self.cpu_pin_name())
-
- def adc_num_str(self):
- str = ''
- for adc_num in range(1,4):
- if self.adc_num & (1 << (adc_num - 1)):
- if len(str) > 0:
- str += ' | '
- str += 'PIN_ADC'
- str += chr(ord('0') + adc_num)
- if len(str) == 0:
- str = '0'
- return str
+ (adc, channel) = adc_str.split('_IN')
+ self.adc_channel = 'SAADC_CH_PSELP_PSELP_AnalogInput%d' % int(channel)
def print(self):
- if self.alt_fn_count == 0:
- print("// ", end='')
- print('const pin_af_obj_t {:s}[] = {{'.format(self.alt_fn_name()))
- for alt_fn in self.alt_fn:
- alt_fn.print()
- if self.alt_fn_count == 0:
- print("// ", end='')
- print('};')
- print('')
- print('const pin_obj_t pin_{:s} = PIN({:s}, {:d}, {:s}, {:s}, {:d});'.format(
- self.cpu_pin_name(), self.port_letter(), self.pin,
- self.alt_fn_name(null_if_0=True),
- self.adc_num_str(), self.adc_channel))
- print('')
+ print('const pin_obj_t pin_{:s} = PIN({:s}, {:d}, {:d}, {:s});'.format(
+ self.cpu_pin_name(), self.cpu_pin_name(),
+ self.port, self.pin, self.adc_channel))
def print_header(self, hdr_file):
hdr_file.write('extern const pin_obj_t pin_{:s};\n'.
format(self.cpu_pin_name()))
- if self.alt_fn_count > 0:
- hdr_file.write('extern const pin_af_obj_t pin_{:s}_af[];\n'.
- format(self.cpu_pin_name()))
-
- def qstr_list(self):
- result = []
- for alt_fn in self.alt_fn:
- if alt_fn.is_supported():
- result += alt_fn.qstr_list()
- return result
class NamedPin(object):
@@ -194,8 +85,8 @@ class NamedPin(object):
class Pins(object):
def __init__(self):
- self.cpu_pins = [] # list of NamedPin objects
- self.board_pins = [] # list of NamedPin objects
+ self.cpu_pins = [] # list of NamedPin objects
+ self.board_pins = [] # list of NamedPin objects
def find_pin(self, port_num, pin_num):
for named_pin in self.cpu_pins:
@@ -230,16 +121,19 @@ class Pins(object):
pin = self.find_pin(port_num, pin_num)
if pin:
pin.set_is_board_pin()
+ if len(row) == 3:
+ pin.parse_adc(row[2])
self.board_pins.append(NamedPin(row[0], pin))
def print_named(self, label, named_pins):
+ print('')
print('STATIC const mp_rom_map_elem_t {:s}_table[] = {{'.format(label))
for named_pin in named_pins:
pin = named_pin.pin()
if pin.is_board_pin():
print(' {{ MP_ROM_QSTR(MP_QSTR_{:s}), MP_ROM_PTR(&pin_{:s}) }},'.format(named_pin.name(), pin.cpu_pin_name()))
print('};')
- print('MP_DEFINE_CONST_DICT({:s}, {:s}_table);'.format(label, label));
+ print('MP_DEFINE_CONST_DICT({:s}, {:s}_table);'.format(label, label))
def print(self):
for named_pin in self.cpu_pins:
@@ -247,35 +141,14 @@ class Pins(object):
if pin.is_board_pin():
pin.print()
self.print_named('mcu_pin_globals', self.cpu_pins)
- print('')
self.print_named('board_module_globals', self.board_pins)
- def print_adc(self, adc_num):
- print('');
- print('const pin_obj_t * const pin_adc{:d}[] = {{'.format(adc_num))
- for channel in range(16):
- adc_found = False
- for named_pin in self.cpu_pins:
- pin = named_pin.pin()
- if (pin.is_board_pin() and
- (pin.adc_num & (1 << (adc_num - 1))) and (pin.adc_channel == channel)):
- print(' &pin_{:s}, // {:d}'.format(pin.cpu_pin_name(), channel))
- adc_found = True
- break
- if not adc_found:
- print(' NULL, // {:d}'.format(channel))
- print('};')
-
-
def print_header(self, hdr_filename):
with open(hdr_filename, 'wt') as hdr_file:
for named_pin in self.cpu_pins:
pin = named_pin.pin()
if pin.is_board_pin():
pin.print_header(hdr_file)
- hdr_file.write('extern const pin_obj_t * const pin_adc1[];\n')
- hdr_file.write('extern const pin_obj_t * const pin_adc2[];\n')
- hdr_file.write('extern const pin_obj_t * const pin_adc3[];\n')
def print_qstr(self, qstr_filename):
with open(qstr_filename, 'wt') as qstr_file:
@@ -283,7 +156,6 @@ class Pins(object):
for named_pin in self.cpu_pins:
pin = named_pin.pin()
if pin.is_board_pin():
- qstr_set |= set(pin.qstr_list())
qstr_set |= set([named_pin.name()])
for named_pin in self.board_pins:
qstr_set |= set([named_pin.name()])
@@ -291,37 +163,6 @@ class Pins(object):
print('Q({})'.format(qstr), file=qstr_file)
- def print_af_hdr(self, af_const_filename):
- with open(af_const_filename, 'wt') as af_const_file:
- af_hdr_set = set([])
- mux_name_width = 0
- for named_pin in self.cpu_pins:
- pin = named_pin.pin()
- if pin.is_board_pin():
- for af in pin.alt_fn:
- if af.is_supported():
- mux_name = af.mux_name()
- af_hdr_set |= set([mux_name])
- if len(mux_name) > mux_name_width:
- mux_name_width = len(mux_name)
- for mux_name in sorted(af_hdr_set):
- key = 'MP_ROM_QSTR(MP_QSTR_{}),'.format(mux_name)
- val = 'MP_ROM_INT(GPIO_{})'.format(mux_name)
- print(' { %-*s %s },' % (mux_name_width + 26, key, val),
- file=af_const_file)
-
- def print_af_py(self, af_py_filename):
- with open(af_py_filename, 'wt') as af_py_file:
- print('PINS_AF = (', file=af_py_file);
- for named_pin in self.board_pins:
- print(" ('%s', " % named_pin.name(), end='', file=af_py_file)
- for af in named_pin.pin().alt_fn:
- if af.is_supported():
- print("(%d, '%s'), " % (af.idx, af.af_str), end='', file=af_py_file)
- print('),', file=af_py_file)
- print(')', file=af_py_file)
-
-
def main():
parser = argparse.ArgumentParser(
prog="make-pins.py",
@@ -391,8 +232,6 @@ def main():
pins.print()
pins.print_header(args.hdr_filename)
pins.print_qstr(args.qstr_filename)
- pins.print_af_hdr(args.af_const_filename)
- pins.print_af_py(args.af_py_filename)
if __name__ == "__main__":
diff --git a/ports/nrf/boards/nrf52_prefix.c b/ports/nrf/boards/nrf52_prefix.c
index f408bdcf4..f9b25a851 100644
--- a/ports/nrf/boards/nrf52_prefix.c
+++ b/ports/nrf/boards/nrf52_prefix.c
@@ -6,26 +6,11 @@
#include "py/mphal.h"
#include "pin.h"
-#define AF(af_idx, af_fn, af_unit, af_type, af_ptr) \
-{ \
- { &pin_af_type }, \
- .name = MP_QSTR_AF ## af_idx ## _ ## af_fn ## af_unit, \
- .idx = (af_idx), \
- .fn = AF_FN_ ## af_fn, \
- .unit = (af_unit), \
- .type = AF_PIN_TYPE_ ## af_fn ## _ ## af_type, \
- .af_fn = (af_ptr) \
-}
-
-#define PIN(p_port, p_pin, p_af, p_adc_num, p_adc_channel) \
+#define PIN(p_name, p_port, p_pin, p_adc_channel) \
{ \
{ &mcu_pin_type }, \
- .name = MP_QSTR_ ## p_port ## p_pin, \
+ .name = MP_QSTR_ ## p_name, \
.port = PORT_ ## p_port, \
.pin = (p_pin), \
- .num_af = (sizeof(p_af) / sizeof(pin_af_obj_t)), \
- .pin_mask = (1 << p_pin), \
- .af = p_af, \
- .adc_num = p_adc_num, \
.adc_channel = p_adc_channel, \
}
diff --git a/ports/nrf/boards/pca10040/mpconfigboard.h b/ports/nrf/boards/pca10040/mpconfigboard.h
index 5852881db..905ef0f4a 100644
--- a/ports/nrf/boards/pca10040/mpconfigboard.h
+++ b/ports/nrf/boards/pca10040/mpconfigboard.h
@@ -61,17 +61,17 @@
#define MICROPY_HW_LED4 (20) // LED4
// UART config
-#define MICROPY_HW_UART1_RX (pin_A8)
-#define MICROPY_HW_UART1_TX (pin_A6)
-#define MICROPY_HW_UART1_CTS (pin_A7)
-#define MICROPY_HW_UART1_RTS (pin_A5)
+#define MICROPY_HW_UART1_RX (pin_P0_08)
+#define MICROPY_HW_UART1_TX (pin_P0_06)
+#define MICROPY_HW_UART1_CTS (pin_P0_07)
+#define MICROPY_HW_UART1_RTS (pin_P0_05)
#define MICROPY_HW_UART1_HWFC (1)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A25) // (Arduino D13)
-#define MICROPY_HW_SPI0_MOSI (pin_A23) // (Arduino D11)
-#define MICROPY_HW_SPI0_MISO (pin_A24) // (Arduino D12)
+#define MICROPY_HW_SPI0_SCK (pin_P0_25) // (Arduino D13)
+#define MICROPY_HW_SPI0_MOSI (pin_P0_23) // (Arduino D11)
+#define MICROPY_HW_SPI0_MISO (pin_P0_24) // (Arduino D12)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/pca10040/pins.c b/ports/nrf/boards/pca10040/pins.c
deleted file mode 100644
index f34f7ec8a..000000000
--- a/ports/nrf/boards/pca10040/pins.c
+++ /dev/null
@@ -1,143 +0,0 @@
-// This file was automatically generated by make-pins.py
-//
-// --af nrf52_af.csv
-// --board boards/pca10056/pins.csv
-// --prefix boards/nrf52_prefix.c
-
-// nrf52_prefix.c becomes the initial portion of the generated pins file.
-
-#include <stdio.h>
-
-#include "py/obj.h"
-#include "py/mphal.h"
-#include "pin.h"
-
-#define AF(af_idx, af_fn, af_unit, af_type, af_ptr) \
-{ \
- { &pin_af_type }, \
- .name = MP_QSTR_AF ## af_idx ## _ ## af_fn ## af_unit, \
- .idx = (af_idx), \
- .fn = AF_FN_ ## af_fn, \
- .unit = (af_unit), \
- .type = AF_PIN_TYPE_ ## af_fn ## _ ## af_type, \
- .af_fn = (af_ptr) \
-}
-
-#define PIN(p_port, p_pin, p_af, p_adc_channel) \
-{ \
- { &mcu_pin_type }, \
- .name = MP_QSTR_ ## p_port ## p_pin, \
- .port = PORT_ ## p_port, \
- .pin = (p_pin), \
- .num_af = (sizeof(p_af) / sizeof(pin_af_obj_t)), \
- /*.pin_mask = (1 << p_pin), */\
- .af = p_af, \
- .adc_channel = p_adc_channel,\
-}
-
-#define NO_ADC 0
-
-const pin_obj_t pin_A0 = PIN(A, 0, NULL, 0);
-const pin_obj_t pin_A1 = PIN(A, 1, NULL, 0);
-const pin_obj_t pin_A2 = PIN(A, 2, NULL, SAADC_CH_PSELP_PSELP_AnalogInput0);
-const pin_obj_t pin_A3 = PIN(A, 3, NULL, SAADC_CH_PSELP_PSELP_AnalogInput1);
-const pin_obj_t pin_A4 = PIN(A, 4, NULL, SAADC_CH_PSELP_PSELP_AnalogInput2);
-const pin_obj_t pin_A5 = PIN(A, 5, NULL, SAADC_CH_PSELP_PSELP_AnalogInput3);
-const pin_obj_t pin_A6 = PIN(A, 6, NULL, 0);
-const pin_obj_t pin_A7 = PIN(A, 7, NULL, 0);
-const pin_obj_t pin_A8 = PIN(A, 8, NULL, 0);
-const pin_obj_t pin_A9 = PIN(A, 9, NULL, 0);
-const pin_obj_t pin_A10 = PIN(A, 10, NULL, 0);
-const pin_obj_t pin_A11 = PIN(A, 11, NULL, 0);
-const pin_obj_t pin_A12 = PIN(A, 12, NULL, 0);
-const pin_obj_t pin_A13 = PIN(A, 13, NULL, 0);
-const pin_obj_t pin_A14 = PIN(A, 14, NULL, 0);
-const pin_obj_t pin_A15 = PIN(A, 15, NULL, 0);
-const pin_obj_t pin_A16 = PIN(A, 16, NULL, 0);
-const pin_obj_t pin_A17 = PIN(A, 17, NULL, 0);
-const pin_obj_t pin_A18 = PIN(A, 18, NULL, 0);
-const pin_obj_t pin_A19 = PIN(A, 19, NULL, 0);
-const pin_obj_t pin_A20 = PIN(A, 20, NULL, 0);
-const pin_obj_t pin_A21 = PIN(A, 21, NULL, 0);
-const pin_obj_t pin_A22 = PIN(A, 22, NULL, 0);
-const pin_obj_t pin_A23 = PIN(A, 23, NULL, 0);
-const pin_obj_t pin_A24 = PIN(A, 24, NULL, 0);
-const pin_obj_t pin_A25 = PIN(A, 25, NULL, 0);
-const pin_obj_t pin_A26 = PIN(A, 26, NULL, 0);
-const pin_obj_t pin_A27 = PIN(A, 27, NULL, 0);
-const pin_obj_t pin_A28 = PIN(A, 28, NULL, SAADC_CH_PSELP_PSELP_AnalogInput4);
-const pin_obj_t pin_A29 = PIN(A, 29, NULL, SAADC_CH_PSELP_PSELP_AnalogInput5);
-const pin_obj_t pin_A30 = PIN(A, 30, NULL, SAADC_CH_PSELP_PSELP_AnalogInput6);
-const pin_obj_t pin_A31 = PIN(A, 31, NULL, SAADC_CH_PSELP_PSELP_AnalogInput7);
-
-STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = {
- { MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_A0) },
- { MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_A1) },
- { MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_A2) },
- { MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_A3) },
- { MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_A4) },
- { MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_A5) },
- { MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_A6) },
- { MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_A7) },
- { MP_ROM_QSTR(MP_QSTR_A8), MP_ROM_PTR(&pin_A8) },
- { MP_ROM_QSTR(MP_QSTR_A9), MP_ROM_PTR(&pin_A9) },
- { MP_ROM_QSTR(MP_QSTR_A10), MP_ROM_PTR(&pin_A10) },
- { MP_ROM_QSTR(MP_QSTR_A11), MP_ROM_PTR(&pin_A11) },
- { MP_ROM_QSTR(MP_QSTR_A12), MP_ROM_PTR(&pin_A12) },
- { MP_ROM_QSTR(MP_QSTR_A13), MP_ROM_PTR(&pin_A13) },
- { MP_ROM_QSTR(MP_QSTR_A14), MP_ROM_PTR(&pin_A14) },
- { MP_ROM_QSTR(MP_QSTR_A15), MP_ROM_PTR(&pin_A15) },
- { MP_ROM_QSTR(MP_QSTR_A16), MP_ROM_PTR(&pin_A16) },
- { MP_ROM_QSTR(MP_QSTR_A17), MP_ROM_PTR(&pin_A17) },
- { MP_ROM_QSTR(MP_QSTR_A18), MP_ROM_PTR(&pin_A18) },
- { MP_ROM_QSTR(MP_QSTR_A19), MP_ROM_PTR(&pin_A19) },
- { MP_ROM_QSTR(MP_QSTR_A20), MP_ROM_PTR(&pin_A20) },
- { MP_ROM_QSTR(MP_QSTR_A21), MP_ROM_PTR(&pin_A21) },
- { MP_ROM_QSTR(MP_QSTR_A22), MP_ROM_PTR(&pin_A22) },
- { MP_ROM_QSTR(MP_QSTR_A23), MP_ROM_PTR(&pin_A23) },
- { MP_ROM_QSTR(MP_QSTR_A24), MP_ROM_PTR(&pin_A24) },
- { MP_ROM_QSTR(MP_QSTR_A25), MP_ROM_PTR(&pin_A25) },
- { MP_ROM_QSTR(MP_QSTR_A26), MP_ROM_PTR(&pin_A26) },
- { MP_ROM_QSTR(MP_QSTR_A27), MP_ROM_PTR(&pin_A27) },
- { MP_ROM_QSTR(MP_QSTR_A28), MP_ROM_PTR(&pin_A28) },
- { MP_ROM_QSTR(MP_QSTR_A29), MP_ROM_PTR(&pin_A29) },
- { MP_ROM_QSTR(MP_QSTR_A30), MP_ROM_PTR(&pin_A30) },
- { MP_ROM_QSTR(MP_QSTR_A31), MP_ROM_PTR(&pin_A31) },
-};
-MP_DEFINE_CONST_DICT(mcu_pin_globals, mcu_pin_globals_table);
-
-STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
- { MP_ROM_QSTR(MP_QSTR_PA0), MP_ROM_PTR(&pin_A0) },
- { MP_ROM_QSTR(MP_QSTR_PA1), MP_ROM_PTR(&pin_A1) },
- { MP_ROM_QSTR(MP_QSTR_PA2), MP_ROM_PTR(&pin_A2) },
- { MP_ROM_QSTR(MP_QSTR_PA3), MP_ROM_PTR(&pin_A3) },
- { MP_ROM_QSTR(MP_QSTR_PA4), MP_ROM_PTR(&pin_A4) },
- { MP_ROM_QSTR(MP_QSTR_PA5), MP_ROM_PTR(&pin_A5) },
- { MP_ROM_QSTR(MP_QSTR_PA6), MP_ROM_PTR(&pin_A6) },
- { MP_ROM_QSTR(MP_QSTR_PA7), MP_ROM_PTR(&pin_A7) },
- { MP_ROM_QSTR(MP_QSTR_PA8), MP_ROM_PTR(&pin_A8) },
- { MP_ROM_QSTR(MP_QSTR_PA9), MP_ROM_PTR(&pin_A9) },
- { MP_ROM_QSTR(MP_QSTR_PA10), MP_ROM_PTR(&pin_A10) },
- { MP_ROM_QSTR(MP_QSTR_PA11), MP_ROM_PTR(&pin_A11) },
- { MP_ROM_QSTR(MP_QSTR_PA12), MP_ROM_PTR(&pin_A12) },
- { MP_ROM_QSTR(MP_QSTR_PA13), MP_ROM_PTR(&pin_A13) },
- { MP_ROM_QSTR(MP_QSTR_PA14), MP_ROM_PTR(&pin_A14) },
- { MP_ROM_QSTR(MP_QSTR_PA15), MP_ROM_PTR(&pin_A15) },
- { MP_ROM_QSTR(MP_QSTR_PA16), MP_ROM_PTR(&pin_A16) },
- { MP_ROM_QSTR(MP_QSTR_PA17), MP_ROM_PTR(&pin_A17) },
- { MP_ROM_QSTR(MP_QSTR_PA18), MP_ROM_PTR(&pin_A18) },
- { MP_ROM_QSTR(MP_QSTR_PA19), MP_ROM_PTR(&pin_A19) },
- { MP_ROM_QSTR(MP_QSTR_PA20), MP_ROM_PTR(&pin_A20) },
- { MP_ROM_QSTR(MP_QSTR_PA21), MP_ROM_PTR(&pin_A21) },
- { MP_ROM_QSTR(MP_QSTR_PA22), MP_ROM_PTR(&pin_A22) },
- { MP_ROM_QSTR(MP_QSTR_PA23), MP_ROM_PTR(&pin_A23) },
- { MP_ROM_QSTR(MP_QSTR_PA24), MP_ROM_PTR(&pin_A24) },
- { MP_ROM_QSTR(MP_QSTR_PA25), MP_ROM_PTR(&pin_A25) },
- { MP_ROM_QSTR(MP_QSTR_PA26), MP_ROM_PTR(&pin_A26) },
- { MP_ROM_QSTR(MP_QSTR_PA27), MP_ROM_PTR(&pin_A27) },
- { MP_ROM_QSTR(MP_QSTR_PA28), MP_ROM_PTR(&pin_A28) },
- { MP_ROM_QSTR(MP_QSTR_PA29), MP_ROM_PTR(&pin_A29) },
- { MP_ROM_QSTR(MP_QSTR_PA30), MP_ROM_PTR(&pin_A30) },
- { MP_ROM_QSTR(MP_QSTR_PA31), MP_ROM_PTR(&pin_A31) },
-};
-MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
diff --git a/ports/nrf/boards/pca10040/pins.csv b/ports/nrf/boards/pca10040/pins.csv
index c17713398..220222446 100644
--- a/ports/nrf/boards/pca10040/pins.csv
+++ b/ports/nrf/boards/pca10040/pins.csv
@@ -1,30 +1,31 @@
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA5,PA5
-PA6,PA6
-PA7,PA7
-PA8,PA8
-PA9,PA9
-PA10,PA10
-PA11,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-PA30,PA30
-PA31,PA31 \ No newline at end of file
+P0_01,P0_01
+P0_02,P0_02
+P0_03,P0_03
+P0_04,P0_04
+P0_05,P0_05
+P0_06,P0_06
+P0_07,P0_07
+P0_08,P0_08
+P0_09,P0_09
+P0_10,P0_10
+P0_11,P0_11
+P0_12,P0_12
+P0_13,P0_13
+P0_14,P0_14
+P0_15,P0_15
+P0_16,P0_16
+P0_17,P0_17
+P0_18,P0_18
+P0_19,P0_19
+P0_20,P0_20
+P0_21,P0_21
+P0_22,P0_22
+P0_23,P0_23
+P0_24,P0_24
+P0_25,P0_25
+P0_26,P0_26
+P0_27,P0_27
+P0_28,P0_28
+P0_29,P0_29
+P0_30,P0_30
+P0_31,P0_31
diff --git a/ports/nrf/boards/pca10040/pins.h b/ports/nrf/boards/pca10040/pins.h
deleted file mode 100644
index 4b66c4152..000000000
--- a/ports/nrf/boards/pca10040/pins.h
+++ /dev/null
@@ -1,35 +0,0 @@
-extern const pin_obj_t pin_A0;
-extern const pin_obj_t pin_A1;
-extern const pin_obj_t pin_A2;
-extern const pin_obj_t pin_A3;
-extern const pin_obj_t pin_A4;
-extern const pin_obj_t pin_A5;
-extern const pin_obj_t pin_A6;
-extern const pin_obj_t pin_A7;
-extern const pin_obj_t pin_A8;
-extern const pin_obj_t pin_A9;
-extern const pin_obj_t pin_A10;
-extern const pin_obj_t pin_A11;
-extern const pin_obj_t pin_A12;
-extern const pin_obj_t pin_A13;
-extern const pin_obj_t pin_A14;
-extern const pin_obj_t pin_A15;
-extern const pin_obj_t pin_A16;
-extern const pin_obj_t pin_A17;
-extern const pin_obj_t pin_A18;
-extern const pin_obj_t pin_A19;
-extern const pin_obj_t pin_A20;
-extern const pin_obj_t pin_A21;
-extern const pin_obj_t pin_A22;
-extern const pin_obj_t pin_A23;
-extern const pin_obj_t pin_A24;
-extern const pin_obj_t pin_A25;
-extern const pin_obj_t pin_A26;
-extern const pin_obj_t pin_A27;
-extern const pin_obj_t pin_A28;
-extern const pin_obj_t pin_A29;
-extern const pin_obj_t pin_A30;
-extern const pin_obj_t pin_A31;
-extern const pin_obj_t * const pin_adc1[];
-extern const pin_obj_t * const pin_adc2[];
-extern const pin_obj_t * const pin_adc3[];
diff --git a/ports/nrf/boards/pca10056/mpconfigboard.h b/ports/nrf/boards/pca10056/mpconfigboard.h
index 3d3cf5fbd..c22347749 100644
--- a/ports/nrf/boards/pca10056/mpconfigboard.h
+++ b/ports/nrf/boards/pca10056/mpconfigboard.h
@@ -61,18 +61,18 @@
#define MICROPY_HW_LED4 (16) // LED4
// UART config
-#define MICROPY_HW_UART1_RX (pin_A8)
-#define MICROPY_HW_UART1_TX (pin_A6)
-#define MICROPY_HW_UART1_CTS (pin_A7)
-#define MICROPY_HW_UART1_RTS (pin_A5)
+#define MICROPY_HW_UART1_RX (pin_P0_08)
+#define MICROPY_HW_UART1_TX (pin_P0_06)
+#define MICROPY_HW_UART1_CTS (pin_P0_07)
+#define MICROPY_HW_UART1_RTS (pin_P0_05)
#define MICROPY_HW_UART1_HWFC (1)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_B15)
-#define MICROPY_HW_SPI0_MOSI (pin_B13)
-#define MICROPY_HW_SPI0_MISO (pin_B14)
+#define MICROPY_HW_SPI0_SCK (pin_P1_15)
+#define MICROPY_HW_SPI0_MOSI (pin_P1_13)
+#define MICROPY_HW_SPI0_MISO (pin_P1_14)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/pca10056/pins.c b/ports/nrf/boards/pca10056/pins.c
deleted file mode 100644
index 30e9a365c..000000000
--- a/ports/nrf/boards/pca10056/pins.c
+++ /dev/null
@@ -1,191 +0,0 @@
-// This file was automatically generated by make-pins.py
-//
-// --af nrf52_af.csv
-// --board boards/pca10056/pins.csv
-// --prefix boards/nrf52_prefix.c
-
-// nrf52_prefix.c becomes the initial portion of the generated pins file.
-
-#include <stdio.h>
-
-#include "py/obj.h"
-#include "py/mphal.h"
-#include "pin.h"
-
-#define AF(af_idx, af_fn, af_unit, af_type, af_ptr) \
-{ \
- { &pin_af_type }, \
- .name = MP_QSTR_AF ## af_idx ## _ ## af_fn ## af_unit, \
- .idx = (af_idx), \
- .fn = AF_FN_ ## af_fn, \
- .unit = (af_unit), \
- .type = AF_PIN_TYPE_ ## af_fn ## _ ## af_type, \
- .af_fn = (af_ptr) \
-}
-
-#define PIN(p_port, p_pin, p_af, p_adc_channel) \
-{ \
- { &mcu_pin_type }, \
- .name = MP_QSTR_ ## p_port ## p_pin, \
- .port = PORT_ ## p_port, \
- .pin = (p_pin), \
- .num_af = (sizeof(p_af) / sizeof(pin_af_obj_t)), \
- /*.pin_mask = (1 << p_pin), */\
- .af = p_af, \
- .adc_channel = p_adc_channel,\
-}
-
-#define NO_ADC 0
-
-const pin_obj_t pin_A0 = PIN(A, 0, NULL, 0);
-const pin_obj_t pin_A1 = PIN(A, 1, NULL, 0);
-const pin_obj_t pin_A2 = PIN(A, 2, NULL, SAADC_CH_PSELP_PSELP_AnalogInput0);
-const pin_obj_t pin_A3 = PIN(A, 3, NULL, SAADC_CH_PSELP_PSELP_AnalogInput1);
-const pin_obj_t pin_A4 = PIN(A, 4, NULL, SAADC_CH_PSELP_PSELP_AnalogInput2);
-const pin_obj_t pin_A5 = PIN(A, 5, NULL, SAADC_CH_PSELP_PSELP_AnalogInput3);
-const pin_obj_t pin_A6 = PIN(A, 6, NULL, 0);
-const pin_obj_t pin_A7 = PIN(A, 7, NULL, 0);
-const pin_obj_t pin_A8 = PIN(A, 8, NULL, 0);
-const pin_obj_t pin_A9 = PIN(A, 9, NULL, 0);
-const pin_obj_t pin_A10 = PIN(A, 10, NULL, 0);
-const pin_obj_t pin_A11 = PIN(A, 11, NULL, 0);
-const pin_obj_t pin_A12 = PIN(A, 12, NULL, 0);
-const pin_obj_t pin_A13 = PIN(A, 13, NULL, 0);
-const pin_obj_t pin_A14 = PIN(A, 14, NULL, 0);
-const pin_obj_t pin_A15 = PIN(A, 15, NULL, 0);
-const pin_obj_t pin_A16 = PIN(A, 16, NULL, 0);
-const pin_obj_t pin_A17 = PIN(A, 17, NULL, 0);
-const pin_obj_t pin_A18 = PIN(A, 18, NULL, 0);
-const pin_obj_t pin_A19 = PIN(A, 19, NULL, 0);
-const pin_obj_t pin_A20 = PIN(A, 20, NULL, 0);
-const pin_obj_t pin_A21 = PIN(A, 21, NULL, 0);
-const pin_obj_t pin_A22 = PIN(A, 22, NULL, 0);
-const pin_obj_t pin_A23 = PIN(A, 23, NULL, 0);
-const pin_obj_t pin_A24 = PIN(A, 24, NULL, 0);
-const pin_obj_t pin_A25 = PIN(A, 25, NULL, 0);
-const pin_obj_t pin_A26 = PIN(A, 26, NULL, 0);
-const pin_obj_t pin_A27 = PIN(A, 27, NULL, 0);
-const pin_obj_t pin_A28 = PIN(A, 28, NULL, SAADC_CH_PSELP_PSELP_AnalogInput4);
-const pin_obj_t pin_A29 = PIN(A, 29, NULL, SAADC_CH_PSELP_PSELP_AnalogInput5);
-const pin_obj_t pin_A30 = PIN(A, 30, NULL, SAADC_CH_PSELP_PSELP_AnalogInput6);
-const pin_obj_t pin_A31 = PIN(A, 31, NULL, SAADC_CH_PSELP_PSELP_AnalogInput7);
-const pin_obj_t pin_B0 = PIN(B, 0, NULL, 0);
-const pin_obj_t pin_B1 = PIN(B, 1, NULL, 0);
-const pin_obj_t pin_B2 = PIN(B, 2, NULL, 0);
-const pin_obj_t pin_B3 = PIN(B, 3, NULL, 0);
-const pin_obj_t pin_B4 = PIN(B, 4, NULL, 0);
-const pin_obj_t pin_B5 = PIN(B, 5, NULL, 0);
-const pin_obj_t pin_B6 = PIN(B, 6, NULL, 0);
-const pin_obj_t pin_B7 = PIN(B, 7, NULL, 0);
-const pin_obj_t pin_B8 = PIN(B, 8, NULL, 0);
-const pin_obj_t pin_B9 = PIN(B, 9, NULL, 0);
-const pin_obj_t pin_B10 = PIN(B, 10, NULL, 0);
-const pin_obj_t pin_B11 = PIN(B, 11, NULL, 0);
-const pin_obj_t pin_B12 = PIN(B, 12, NULL, 0);
-const pin_obj_t pin_B13 = PIN(B, 13, NULL, 0);
-const pin_obj_t pin_B14 = PIN(B, 14, NULL, 0);
-const pin_obj_t pin_B15 = PIN(B, 15, NULL, 0);
-
-STATIC const mp_rom_map_elem_t mcu_pin_globals_table[] = {
- { MP_ROM_QSTR(MP_QSTR_A0), MP_ROM_PTR(&pin_A0) },
- { MP_ROM_QSTR(MP_QSTR_A1), MP_ROM_PTR(&pin_A1) },
- { MP_ROM_QSTR(MP_QSTR_A2), MP_ROM_PTR(&pin_A2) },
- { MP_ROM_QSTR(MP_QSTR_A3), MP_ROM_PTR(&pin_A3) },
- { MP_ROM_QSTR(MP_QSTR_A4), MP_ROM_PTR(&pin_A4) },
- { MP_ROM_QSTR(MP_QSTR_A5), MP_ROM_PTR(&pin_A5) },
- { MP_ROM_QSTR(MP_QSTR_A6), MP_ROM_PTR(&pin_A6) },
- { MP_ROM_QSTR(MP_QSTR_A7), MP_ROM_PTR(&pin_A7) },
- { MP_ROM_QSTR(MP_QSTR_A8), MP_ROM_PTR(&pin_A8) },
- { MP_ROM_QSTR(MP_QSTR_A9), MP_ROM_PTR(&pin_A9) },
- { MP_ROM_QSTR(MP_QSTR_A10), MP_ROM_PTR(&pin_A10) },
- { MP_ROM_QSTR(MP_QSTR_A11), MP_ROM_PTR(&pin_A11) },
- { MP_ROM_QSTR(MP_QSTR_A12), MP_ROM_PTR(&pin_A12) },
- { MP_ROM_QSTR(MP_QSTR_A13), MP_ROM_PTR(&pin_A13) },
- { MP_ROM_QSTR(MP_QSTR_A14), MP_ROM_PTR(&pin_A14) },
- { MP_ROM_QSTR(MP_QSTR_A15), MP_ROM_PTR(&pin_A15) },
- { MP_ROM_QSTR(MP_QSTR_A16), MP_ROM_PTR(&pin_A16) },
- { MP_ROM_QSTR(MP_QSTR_A17), MP_ROM_PTR(&pin_A17) },
- { MP_ROM_QSTR(MP_QSTR_A18), MP_ROM_PTR(&pin_A18) },
- { MP_ROM_QSTR(MP_QSTR_A19), MP_ROM_PTR(&pin_A19) },
- { MP_ROM_QSTR(MP_QSTR_A20), MP_ROM_PTR(&pin_A20) },
- { MP_ROM_QSTR(MP_QSTR_A21), MP_ROM_PTR(&pin_A21) },
- { MP_ROM_QSTR(MP_QSTR_A22), MP_ROM_PTR(&pin_A22) },
- { MP_ROM_QSTR(MP_QSTR_A23), MP_ROM_PTR(&pin_A23) },
- { MP_ROM_QSTR(MP_QSTR_A24), MP_ROM_PTR(&pin_A24) },
- { MP_ROM_QSTR(MP_QSTR_A25), MP_ROM_PTR(&pin_A25) },
- { MP_ROM_QSTR(MP_QSTR_A26), MP_ROM_PTR(&pin_A26) },
- { MP_ROM_QSTR(MP_QSTR_A27), MP_ROM_PTR(&pin_A27) },
- { MP_ROM_QSTR(MP_QSTR_A28), MP_ROM_PTR(&pin_A28) },
- { MP_ROM_QSTR(MP_QSTR_A29), MP_ROM_PTR(&pin_A29) },
- { MP_ROM_QSTR(MP_QSTR_A30), MP_ROM_PTR(&pin_A30) },
- { MP_ROM_QSTR(MP_QSTR_A31), MP_ROM_PTR(&pin_A31) },
- { MP_ROM_QSTR(MP_QSTR_B0), MP_ROM_PTR(&pin_B0) },
- { MP_ROM_QSTR(MP_QSTR_B1), MP_ROM_PTR(&pin_B1) },
- { MP_ROM_QSTR(MP_QSTR_B2), MP_ROM_PTR(&pin_B2) },
- { MP_ROM_QSTR(MP_QSTR_B3), MP_ROM_PTR(&pin_B3) },
- { MP_ROM_QSTR(MP_QSTR_B4), MP_ROM_PTR(&pin_B4) },
- { MP_ROM_QSTR(MP_QSTR_B5), MP_ROM_PTR(&pin_B5) },
- { MP_ROM_QSTR(MP_QSTR_B6), MP_ROM_PTR(&pin_B6) },
- { MP_ROM_QSTR(MP_QSTR_B7), MP_ROM_PTR(&pin_B7) },
- { MP_ROM_QSTR(MP_QSTR_B8), MP_ROM_PTR(&pin_B8) },
- { MP_ROM_QSTR(MP_QSTR_B9), MP_ROM_PTR(&pin_B9) },
- { MP_ROM_QSTR(MP_QSTR_B10), MP_ROM_PTR(&pin_B10) },
- { MP_ROM_QSTR(MP_QSTR_B11), MP_ROM_PTR(&pin_B11) },
- { MP_ROM_QSTR(MP_QSTR_B12), MP_ROM_PTR(&pin_B12) },
- { MP_ROM_QSTR(MP_QSTR_B13), MP_ROM_PTR(&pin_B13) },
- { MP_ROM_QSTR(MP_QSTR_B14), MP_ROM_PTR(&pin_B14) },
- { MP_ROM_QSTR(MP_QSTR_B15), MP_ROM_PTR(&pin_B15) },
-};
-MP_DEFINE_CONST_DICT(mcu_pin_globals, mcu_pin_globals_table);
-
-STATIC const mp_rom_map_elem_t board_module_globals_table[] = {
- { MP_ROM_QSTR(MP_QSTR_PA0), MP_ROM_PTR(&pin_A0) },
- { MP_ROM_QSTR(MP_QSTR_PA1), MP_ROM_PTR(&pin_A1) },
- { MP_ROM_QSTR(MP_QSTR_PA2), MP_ROM_PTR(&pin_A2) },
- { MP_ROM_QSTR(MP_QSTR_PA3), MP_ROM_PTR(&pin_A3) },
- { MP_ROM_QSTR(MP_QSTR_PA4), MP_ROM_PTR(&pin_A4) },
- { MP_ROM_QSTR(MP_QSTR_PA5), MP_ROM_PTR(&pin_A5) },
- { MP_ROM_QSTR(MP_QSTR_PA6), MP_ROM_PTR(&pin_A6) },
- { MP_ROM_QSTR(MP_QSTR_PA7), MP_ROM_PTR(&pin_A7) },
- { MP_ROM_QSTR(MP_QSTR_PA8), MP_ROM_PTR(&pin_A8) },
- { MP_ROM_QSTR(MP_QSTR_PA9), MP_ROM_PTR(&pin_A9) },
- { MP_ROM_QSTR(MP_QSTR_PA10), MP_ROM_PTR(&pin_A10) },
- { MP_ROM_QSTR(MP_QSTR_PA11), MP_ROM_PTR(&pin_A11) },
- { MP_ROM_QSTR(MP_QSTR_PA12), MP_ROM_PTR(&pin_A12) },
- { MP_ROM_QSTR(MP_QSTR_PA13), MP_ROM_PTR(&pin_A13) },
- { MP_ROM_QSTR(MP_QSTR_PA14), MP_ROM_PTR(&pin_A14) },
- { MP_ROM_QSTR(MP_QSTR_PA15), MP_ROM_PTR(&pin_A15) },
- { MP_ROM_QSTR(MP_QSTR_PA16), MP_ROM_PTR(&pin_A16) },
- { MP_ROM_QSTR(MP_QSTR_PA17), MP_ROM_PTR(&pin_A17) },
- { MP_ROM_QSTR(MP_QSTR_PA18), MP_ROM_PTR(&pin_A18) },
- { MP_ROM_QSTR(MP_QSTR_PA19), MP_ROM_PTR(&pin_A19) },
- { MP_ROM_QSTR(MP_QSTR_PA20), MP_ROM_PTR(&pin_A20) },
- { MP_ROM_QSTR(MP_QSTR_PA21), MP_ROM_PTR(&pin_A21) },
- { MP_ROM_QSTR(MP_QSTR_PA22), MP_ROM_PTR(&pin_A22) },
- { MP_ROM_QSTR(MP_QSTR_PA23), MP_ROM_PTR(&pin_A23) },
- { MP_ROM_QSTR(MP_QSTR_PA24), MP_ROM_PTR(&pin_A24) },
- { MP_ROM_QSTR(MP_QSTR_PA25), MP_ROM_PTR(&pin_A25) },
- { MP_ROM_QSTR(MP_QSTR_PA26), MP_ROM_PTR(&pin_A26) },
- { MP_ROM_QSTR(MP_QSTR_PA27), MP_ROM_PTR(&pin_A27) },
- { MP_ROM_QSTR(MP_QSTR_PA28), MP_ROM_PTR(&pin_A28) },
- { MP_ROM_QSTR(MP_QSTR_PA29), MP_ROM_PTR(&pin_A29) },
- { MP_ROM_QSTR(MP_QSTR_PA30), MP_ROM_PTR(&pin_A30) },
- { MP_ROM_QSTR(MP_QSTR_PA31), MP_ROM_PTR(&pin_A31) },
- { MP_ROM_QSTR(MP_QSTR_PB0), MP_ROM_PTR(&pin_B0) },
- { MP_ROM_QSTR(MP_QSTR_PB1), MP_ROM_PTR(&pin_B1) },
- { MP_ROM_QSTR(MP_QSTR_PB2), MP_ROM_PTR(&pin_B2) },
- { MP_ROM_QSTR(MP_QSTR_PB3), MP_ROM_PTR(&pin_B3) },
- { MP_ROM_QSTR(MP_QSTR_PB4), MP_ROM_PTR(&pin_B4) },
- { MP_ROM_QSTR(MP_QSTR_PB5), MP_ROM_PTR(&pin_B5) },
- { MP_ROM_QSTR(MP_QSTR_PB6), MP_ROM_PTR(&pin_B6) },
- { MP_ROM_QSTR(MP_QSTR_PB7), MP_ROM_PTR(&pin_B7) },
- { MP_ROM_QSTR(MP_QSTR_PB8), MP_ROM_PTR(&pin_B8) },
- { MP_ROM_QSTR(MP_QSTR_PB9), MP_ROM_PTR(&pin_B9) },
- { MP_ROM_QSTR(MP_QSTR_PB10), MP_ROM_PTR(&pin_B10) },
- { MP_ROM_QSTR(MP_QSTR_PB11), MP_ROM_PTR(&pin_B11) },
- { MP_ROM_QSTR(MP_QSTR_PB12), MP_ROM_PTR(&pin_B12) },
- { MP_ROM_QSTR(MP_QSTR_PB13), MP_ROM_PTR(&pin_B13) },
- { MP_ROM_QSTR(MP_QSTR_PB14), MP_ROM_PTR(&pin_B14) },
- { MP_ROM_QSTR(MP_QSTR_PB15), MP_ROM_PTR(&pin_B15) },
-};
-MP_DEFINE_CONST_DICT(board_module_globals, board_module_globals_table);
diff --git a/ports/nrf/boards/pca10056/pins.csv b/ports/nrf/boards/pca10056/pins.csv
index f2f7f1967..a4e4e8d5d 100644
--- a/ports/nrf/boards/pca10056/pins.csv
+++ b/ports/nrf/boards/pca10056/pins.csv
@@ -1,48 +1,48 @@
-PA0,PA0
-PA1,PA1
-PA2,PA2,ADC0_IN0
-PA3,PA3,ADC0_IN1
-PA4,PA4,ADC0_IN2
-PA5,PA5,ADC0_IN3
-PA6,PA6
-PA7,PA7
-PA8,PA8
-PA9,PA9
-PA10,PA10
-PA11,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28,ADC0_IN4
-PA29,PA29,ADC0_IN5
-PA30,PA30,ADC0_IN6
-PA31,PA31,ADC0_IN7
-PB0,PB0
-PB1,PB1
-PB2,PB2
-PB3,PB3
-PB4,PB4
-PB5,PB5
-PB6,PB6
-PB7,PB7
-PB8,PB8
-PB9,PB9
-PB10,PB10
-PB11,PB11
-PB12,PB12
-PB13,PB13
-PB14,PB14
-PB15,PB15
+P0_00,PA0
+P0_01,P0_01
+P0_02,P0_02,ADC0_IN0
+P0_03,P0_03,ADC0_IN1
+P0_04,P0_04,ADC0_IN2
+P0_05,P0_05,ADC0_IN3
+P0_06,P0_06
+P0_07,P0_07
+P0_08,P0_08
+P0_09,P0_09
+P0_10,P0_10
+P0_11,P0_11
+P0_12,P0_12
+P0_13,P0_13
+P0_14,P0_14
+P0_15,P0_15
+P0_16,P0_16
+P0_17,P0_17
+P0_18,P0_18
+P0_19,P0_19
+P0_20,P0_20
+P0_21,P0_21
+P0_22,P0_22
+P0_23,P0_23
+P0_24,P0_24
+P0_25,P0_25
+P0_26,P0_26
+P0_27,P0_27
+P0_28,P0_28,ADC0_IN4
+P0_29,P0_29,ADC0_IN5
+P0_30,P0_30,ADC0_IN6
+P0_31,P0_31,ADC0_IN7
+P1_00,P1_00
+P1_01,P1_01
+P1_02,P1_02
+P1_03,P1_03
+P1_04,P1_04
+P1_05,P1_05
+P1_06,P1_06
+P1_07,P1_07
+P1_08,P1_08
+P1_09,P1_09
+P1_10,P1_10
+P1_11,P1_11
+P1_12,P1_12
+P1_13,P1_13
+P1_14,P1_14
+P1_15,P1_15
diff --git a/ports/nrf/boards/pca10056/pins.h b/ports/nrf/boards/pca10056/pins.h
deleted file mode 100644
index 0ea1f0450..000000000
--- a/ports/nrf/boards/pca10056/pins.h
+++ /dev/null
@@ -1,51 +0,0 @@
-extern const pin_obj_t pin_A0;
-extern const pin_obj_t pin_A1;
-extern const pin_obj_t pin_A2;
-extern const pin_obj_t pin_A3;
-extern const pin_obj_t pin_A4;
-extern const pin_obj_t pin_A5;
-extern const pin_obj_t pin_A6;
-extern const pin_obj_t pin_A7;
-extern const pin_obj_t pin_A8;
-extern const pin_obj_t pin_A9;
-extern const pin_obj_t pin_A10;
-extern const pin_obj_t pin_A11;
-extern const pin_obj_t pin_A12;
-extern const pin_obj_t pin_A13;
-extern const pin_obj_t pin_A14;
-extern const pin_obj_t pin_A15;
-extern const pin_obj_t pin_A16;
-extern const pin_obj_t pin_A17;
-extern const pin_obj_t pin_A18;
-extern const pin_obj_t pin_A19;
-extern const pin_obj_t pin_A20;
-extern const pin_obj_t pin_A21;
-extern const pin_obj_t pin_A22;
-extern const pin_obj_t pin_A23;
-extern const pin_obj_t pin_A24;
-extern const pin_obj_t pin_A25;
-extern const pin_obj_t pin_A26;
-extern const pin_obj_t pin_A27;
-extern const pin_obj_t pin_A28;
-extern const pin_obj_t pin_A29;
-extern const pin_obj_t pin_A30;
-extern const pin_obj_t pin_A31;
-extern const pin_obj_t pin_B0;
-extern const pin_obj_t pin_B1;
-extern const pin_obj_t pin_B2;
-extern const pin_obj_t pin_B3;
-extern const pin_obj_t pin_B4;
-extern const pin_obj_t pin_B5;
-extern const pin_obj_t pin_B6;
-extern const pin_obj_t pin_B7;
-extern const pin_obj_t pin_B8;
-extern const pin_obj_t pin_B9;
-extern const pin_obj_t pin_B10;
-extern const pin_obj_t pin_B11;
-extern const pin_obj_t pin_B12;
-extern const pin_obj_t pin_B13;
-extern const pin_obj_t pin_B14;
-extern const pin_obj_t pin_B15;
-extern const pin_obj_t * const pin_adc1[];
-extern const pin_obj_t * const pin_adc2[];
-extern const pin_obj_t * const pin_adc3[];
diff --git a/ports/nrf/modules/machine/pin.h b/ports/nrf/modules/machine/pin.h
index 117fb7289..c34726174 100644
--- a/ports/nrf/modules/machine/pin.h
+++ b/ports/nrf/modules/machine/pin.h
@@ -43,8 +43,6 @@ typedef struct {
union {
void *reg;
-
- PIN_DEFS_PORT_AF_UNION
};
} pin_af_obj_t;
diff --git a/ports/nrf/nrf52_af.csv b/ports/nrf/nrf52_af.csv
index 44a7d8144..284370d06 100644
--- a/ports/nrf/nrf52_af.csv
+++ b/ports/nrf/nrf52_af.csv
@@ -1,48 +1,48 @@
-PA0,PA0
-PA1,PA1
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA5,PA5
-PA6,PA6
-PA7,PA7
-PA8,PA8
-PA9,PA9
-PA10,PA10
-PA11,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-PA21,PA21
-PA22,PA22
-PA23,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-PA30,PA30
-PA31,PA31
-PB0,PB0
-PB1,PB1
-PB2,PB2
-PB3,PB3
-PB4,PB4
-PB5,PB5
-PB6,PB6
-PB7,PB7
-PB8,PB8
-PB9,PB9
-PB10,PB10
-PB11,PB11
-PB12,PB12
-PB13,PB13
-PB14,PB14
-PB15,PB15 \ No newline at end of file
+P0_00,P0_00
+P0_01,P0_01
+P0_02,P0_02
+P0_03,P0_03
+P0_04,P0_04
+P0_05,P0_05
+P0_06,P0_06
+P0_07,P0_07
+P0_08,P0_08
+P0_09,P0_09
+P0_10,P0_10
+P0_11,P0_11
+P0_12,P0_12
+P0_13,P0_13
+P0_14,P0_14
+P0_15,P0_15
+P0_16,P0_16
+P0_17,P0_17
+P0_18,P0_18
+P0_19,P0_19
+P0_20,P0_20
+P0_21,P0_21
+P0_22,P0_22
+P0_23,P0_23
+P0_24,P0_24
+P0_25,P0_25
+P0_26,P0_26
+P0_27,P0_27
+P0_28,P0_28
+P0_29,P0_29
+P0_30,P0_30
+P0_31,P0_31
+P1_00,P1_00
+P1_01,P1_01
+P1_02,P1_02
+P1_03,P1_03
+P1_04,P1_04
+P1_05,P1_05
+P1_06,P1_06
+P1_07,P1_07
+P1_08,P1_08
+P1_09,P1_09
+P1_10,P1_10
+P1_11,P1_11
+P1_12,P1_12
+P1_13,P1_13
+P1_14,P1_14
+P1_15,P1_15
diff --git a/ports/nrf/pin_defs_nrf5.h b/ports/nrf/pin_defs_nrf5.h
index 94f8f3c9c..2c12045c1 100644
--- a/ports/nrf/pin_defs_nrf5.h
+++ b/ports/nrf/pin_defs_nrf5.h
@@ -29,31 +29,8 @@
// This file should only ever be #included by pin.h and not directly.
enum {
- PORT_A,
- PORT_B,
+ PORT_0,
+ PORT_1,
};
-enum {
- AF_FN_UART,
- AF_FN_SPI,
-};
-
-enum {
- AF_PIN_TYPE_UART_TX = 0,
- AF_PIN_TYPE_UART_RX,
- AF_PIN_TYPE_UART_CTS,
- AF_PIN_TYPE_UART_RTS,
-
- AF_PIN_TYPE_SPI_MOSI = 0,
- AF_PIN_TYPE_SPI_MISO,
- AF_PIN_TYPE_SPI_SCK,
- AF_PIN_TYPE_SPI_NSS,
-};
-
-#define PIN_DEFS_PORT_AF_UNION \
- NRF_UART_Type *UART;
-// NRF_SPI_Type *SPIM;
-// NRF_SPIS_Type *SPIS;
-
-
typedef NRF_GPIO_Type pin_gpio_t;