summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/nrf/boards/arduino_primo/mpconfigboard.h12
-rw-r--r--ports/nrf/boards/arduino_primo/pins.csv60
-rw-r--r--ports/nrf/boards/dvk_bl652/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/dvk_bl652/pins.csv60
-rw-r--r--ports/nrf/boards/feather52/mpconfigboard.h10
-rw-r--r--ports/nrf/boards/feather52/pins.csv50
-rw-r--r--ports/nrf/boards/make-pins.py37
-rw-r--r--ports/nrf/boards/microbit/mpconfigboard.h12
-rw-r--r--ports/nrf/boards/microbit/pins.csv64
-rw-r--r--ports/nrf/boards/nrf51_prefix.c6
-rw-r--r--ports/nrf/boards/nrf52_prefix.c6
-rw-r--r--ports/nrf/boards/pca10000/mpconfigboard.h4
-rw-r--r--ports/nrf/boards/pca10000/pins.csv14
-rw-r--r--ports/nrf/boards/pca10001/mpconfigboard.h8
-rw-r--r--ports/nrf/boards/pca10001/pins.csv64
-rw-r--r--ports/nrf/boards/pca10028/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/pca10028/pins.csv64
-rw-r--r--ports/nrf/boards/pca10031/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/pca10031/pins.csv26
-rw-r--r--ports/nrf/boards/pca10040/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/pca10040/pins.csv60
-rw-r--r--ports/nrf/boards/pca10056/mpconfigboard.h14
-rw-r--r--ports/nrf/boards/pca10056/pins.csv96
-rw-r--r--ports/nrf/boards/wt51822_s4at/mpconfigboard.h10
-rw-r--r--ports/nrf/boards/wt51822_s4at/pins.csv14
-rw-r--r--ports/nrf/examples/mountsd.py2
-rw-r--r--ports/nrf/examples/musictest.py4
-rw-r--r--ports/nrf/examples/nrf52_pwm.py4
-rw-r--r--ports/nrf/examples/nrf52_servo.py2
-rw-r--r--ports/nrf/examples/powerup.py12
-rw-r--r--ports/nrf/examples/seeed_tft.py6
-rw-r--r--ports/nrf/modules/machine/pin.c14
-rw-r--r--ports/nrf/modules/machine/pin.h5
-rw-r--r--ports/nrf/nrf51_af.csv64
-rw-r--r--ports/nrf/nrf52_af.csv96
35 files changed, 466 insertions, 490 deletions
diff --git a/ports/nrf/boards/arduino_primo/mpconfigboard.h b/ports/nrf/boards/arduino_primo/mpconfigboard.h
index bc1a6a1d5..e4a5d9bf2 100644
--- a/ports/nrf/boards/arduino_primo/mpconfigboard.h
+++ b/ports/nrf/boards/arduino_primo/mpconfigboard.h
@@ -60,21 +60,21 @@
#define MICROPY_HW_LED1 (20) // LED1
// UART config
-#define MICROPY_HW_UART1_RX (pin_A11)
-#define MICROPY_HW_UART1_TX (pin_A12)
+#define MICROPY_HW_UART1_RX (pin_P11)
+#define MICROPY_HW_UART1_TX (pin_P12)
#define MICROPY_HW_UART1_HWFC (0)
// 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_P25) // (Arduino D13)
+#define MICROPY_HW_SPI0_MOSI (pin_P23) // (Arduino D11)
+#define MICROPY_HW_SPI0_MISO (pin_P24) // (Arduino D12)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
#define MICROPY_HW_PWM2_NAME "PWM2"
// buzzer pin
-#define MICROPY_HW_MUSIC_PIN (pin_A8)
+#define MICROPY_HW_MUSIC_PIN (pin_P8)
#define HELP_TEXT_BOARD_LED "1"
diff --git a/ports/nrf/boards/arduino_primo/pins.csv b/ports/nrf/boards/arduino_primo/pins.csv
index c17713398..90bf84a04 100644
--- a/ports/nrf/boards/arduino_primo/pins.csv
+++ b/ports/nrf/boards/arduino_primo/pins.csv
@@ -1,30 +1,30 @@
-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
+P2,P2
+P3,P3
+P4,P4
+P5,P5
+P6,P6
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/boards/dvk_bl652/mpconfigboard.h b/ports/nrf/boards/dvk_bl652/mpconfigboard.h
index 70ff6d309..150dd3318 100644
--- a/ports/nrf/boards/dvk_bl652/mpconfigboard.h
+++ b/ports/nrf/boards/dvk_bl652/mpconfigboard.h
@@ -60,17 +60,17 @@
#define MICROPY_HW_LED2 (19) // LED2
// 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_P8)
+#define MICROPY_HW_UART1_TX (pin_P6)
+#define MICROPY_HW_UART1_CTS (pin_P7)
+#define MICROPY_HW_UART1_RTS (pin_P5)
#define MICROPY_HW_UART1_HWFC (1)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A25)
-#define MICROPY_HW_SPI0_MOSI (pin_A23)
-#define MICROPY_HW_SPI0_MISO (pin_A24)
+#define MICROPY_HW_SPI0_SCK (pin_P25)
+#define MICROPY_HW_SPI0_MOSI (pin_P23)
+#define MICROPY_HW_SPI0_MISO (pin_P24)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/dvk_bl652/pins.csv b/ports/nrf/boards/dvk_bl652/pins.csv
index 126fa5b2f..78e249fca 100644
--- a/ports/nrf/boards/dvk_bl652/pins.csv
+++ b/ports/nrf/boards/dvk_bl652/pins.csv
@@ -1,31 +1,31 @@
-PA2,PA2
-PA3,PA3
-PA4,PA4
-UART_RTS,PA5
-UART_TX,PA6
-UART_CTS,PA7
-UART_RX,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
+P2,P2
+P3,P3
+P4,P4
+UART_RTS,P5
+UART_TX,P6
+UART_CTS,P7
+UART_RX,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/boards/feather52/mpconfigboard.h b/ports/nrf/boards/feather52/mpconfigboard.h
index e1f4a0e9c..ca2284af4 100644
--- a/ports/nrf/boards/feather52/mpconfigboard.h
+++ b/ports/nrf/boards/feather52/mpconfigboard.h
@@ -60,15 +60,15 @@
#define MICROPY_HW_LED2 (19) // LED2
// UART config
-#define MICROPY_HW_UART1_RX (pin_A8)
-#define MICROPY_HW_UART1_TX (pin_A6)
+#define MICROPY_HW_UART1_RX (pin_P8)
+#define MICROPY_HW_UART1_TX (pin_P6)
#define MICROPY_HW_UART1_HWFC (0)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A12) // (Arduino D13)
-#define MICROPY_HW_SPI0_MOSI (pin_A13) // (Arduino D11)
-#define MICROPY_HW_SPI0_MISO (pin_A14) // (Arduino D12)
+#define MICROPY_HW_SPI0_SCK (pin_P12) // (Arduino D13)
+#define MICROPY_HW_SPI0_MOSI (pin_P13) // (Arduino D11)
+#define MICROPY_HW_SPI0_MISO (pin_P14) // (Arduino D12)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/feather52/pins.csv b/ports/nrf/boards/feather52/pins.csv
index b7017602a..be1ab7f2e 100644
--- a/ports/nrf/boards/feather52/pins.csv
+++ b/ports/nrf/boards/feather52/pins.csv
@@ -1,25 +1,25 @@
-PA2,PA2,ADC0_IN0
-PA3,PA3,ADC0_IN1
-PA4,PA4,ADC0_IN2
-PA5,PA5,ADC0_IN3
-UART_TX,PA6
-PA7,PA7
-UART_RX,PA8
-NFC1,PA9
-NFC2,PA10
-PA11,PA11
-SPI_SCK,PA12
-SPI_MOSI,PA13
-SPI_MISO,PA14
-PA15,PA15
-PA16,PA16
-LED1,PA17
-LED2,PA19
-PA20,PA20
-I2C_SDA,PA25
-I2C_SCL,PA26
-PA27,PA27
-PA28,PA28,ADC0_IN4
-PA29,PA29,ADC0_IN5
-PA30,PA30,ADC0_IN6
-PA31,PA31,ADC0_IN7
+P2,P2,ADC0_IN0
+P3,P3,ADC0_IN1
+P4,P4,ADC0_IN2
+P5,P5,ADC0_IN3
+UART_TX,P6
+P7,P7
+UART_RX,P8
+NFC1,P9
+NFC2,P10
+P11,P11
+SPI_SCK,P12
+SPI_MOSI,P13
+SPI_MISO,P14
+P15,P15
+P16,P16
+LED1,P17
+LED2,P19
+P20,P20
+I2C_SDA,P25
+I2C_SCL,P26
+P27,P27
+P28,P28,ADC0_IN4
+P29,P29,ADC0_IN5
+P30,P30,ADC0_IN6
+P31,P31,ADC0_IN7
diff --git a/ports/nrf/boards/make-pins.py b/ports/nrf/boards/make-pins.py
index 733bd8c33..84d70add2 100644
--- a/ports/nrf/boards/make-pins.py
+++ b/ports/nrf/boards/make-pins.py
@@ -11,19 +11,16 @@ 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:
+def parse_pin(name_str):
+ """Parses a string and returns a pin-num."""
+ if len(name_str) < 1:
raise ValueError("Expecting pin name to be at least 4 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]
+ pin_str = name_str[1:].split('/')[0]
if not pin_str.isdigit():
raise ValueError("Expecting numeric pin number.")
- return (port, int(pin_str))
+ return int(pin_str)
def split_name_num(name_num):
num = None
@@ -89,8 +86,7 @@ class AlternateFunction(object):
class Pin(object):
"""Holds the information associated with a pin."""
- def __init__(self, port, pin):
- self.port = port
+ def __init__(self, pin):
self.pin = pin
self.alt_fn = []
self.alt_fn_count = 0
@@ -98,11 +94,8 @@ class Pin(object):
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 '{:s}{:d}'.format("P", self.pin)
def is_board_pin(self):
return self.board_pin
@@ -157,8 +150,8 @@ class Pin(object):
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,
+ print('const pin_obj_t pin_{:s} = PIN({:d}, {:s}, {:s}, {:d});'.format(
+ self.cpu_pin_name(), self.pin,
self.alt_fn_name(null_if_0=True),
self.adc_num_str(), self.adc_channel))
print('')
@@ -197,10 +190,10 @@ class Pins(object):
self.cpu_pins = [] # list of NamedPin objects
self.board_pins = [] # list of NamedPin objects
- def find_pin(self, port_num, pin_num):
+ def find_pin(self, pin_num):
for named_pin in self.cpu_pins:
pin = named_pin.pin()
- if pin.port == port_num and pin.pin == pin_num:
+ if pin.pin == pin_num:
return pin
def parse_af_file(self, filename, pinname_col, af_col, af_col_end):
@@ -208,10 +201,10 @@ class Pins(object):
rows = csv.reader(csvfile)
for row in rows:
try:
- (port_num, pin_num) = parse_port_pin(row[pinname_col])
+ pin_num = parse_pin(row[pinname_col])
except:
continue
- pin = Pin(port_num, pin_num)
+ pin = Pin(pin_num)
for af_idx in range(af_col, len(row)):
if af_idx < af_col_end:
pin.parse_af(af_idx - af_col, row[af_idx])
@@ -224,10 +217,10 @@ class Pins(object):
rows = csv.reader(csvfile)
for row in rows:
try:
- (port_num, pin_num) = parse_port_pin(row[1])
+ pin_num = parse_pin(row[1])
except:
continue
- pin = self.find_pin(port_num, pin_num)
+ pin = self.find_pin(pin_num)
if pin:
pin.set_is_board_pin()
self.board_pins.append(NamedPin(row[0], pin))
diff --git a/ports/nrf/boards/microbit/mpconfigboard.h b/ports/nrf/boards/microbit/mpconfigboard.h
index a5753e1aa..5aa2fb10d 100644
--- a/ports/nrf/boards/microbit/mpconfigboard.h
+++ b/ports/nrf/boards/microbit/mpconfigboard.h
@@ -56,15 +56,15 @@
#define MICROPY_HW_ENABLE_CAN (0)
// UART config
-#define MICROPY_HW_UART1_RX (pin_A25)
-#define MICROPY_HW_UART1_TX (pin_A24)
+#define MICROPY_HW_UART1_RX (pin_P25)
+#define MICROPY_HW_UART1_TX (pin_P24)
#define MICROPY_HW_UART1_HWFC (0)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A23)
-#define MICROPY_HW_SPI0_MOSI (pin_A21)
-#define MICROPY_HW_SPI0_MISO (pin_A22)
+#define MICROPY_HW_SPI0_SCK (pin_P23)
+#define MICROPY_HW_SPI0_MOSI (pin_P21)
+#define MICROPY_HW_SPI0_MISO (pin_P22)
// micro:bit music pin
-#define MICROPY_HW_MUSIC_PIN (pin_A3)
+#define MICROPY_HW_MUSIC_PIN (pin_P3)
diff --git a/ports/nrf/boards/microbit/pins.csv b/ports/nrf/boards/microbit/pins.csv
index bb118c30a..40413ef97 100644
--- a/ports/nrf/boards/microbit/pins.csv
+++ b/ports/nrf/boards/microbit/pins.csv
@@ -1,32 +1,32 @@
-I2C_SCL,PA0
-PA1,PA1
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA5,PA5
-PA6,PA6
-PA7,PA7
-UART_RTS,PA8
-UART_TX,PA9
-UART_CTS,PA10
-UART_RX,PA11
-PA12,PA12
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20
-SPI_MOSI,PA21
-SPI_MISO,PA22
-SPI_SCK,PA23
-PA24,PA24
-PA25,PA25
-PA26,PA26
-PA27,PA27
-PA28,PA28
-PA29,PA29
-I2C_SDA,PA30
-PA31,PA31
+I2C_SCL,P0
+P1,P1
+P2,P2
+P3,P3
+P4,P4
+P5,P5
+P6,P6
+P7,P7
+UART_RTS,P8
+UART_TX,P9
+UART_CTS,P10
+UART_RX,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+SPI_MOSI,P21
+SPI_MISO,P22
+SPI_SCK,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+I2C_SDA,P30
+P31,P31
diff --git a/ports/nrf/boards/nrf51_prefix.c b/ports/nrf/boards/nrf51_prefix.c
index a2413fe6b..b81992283 100644
--- a/ports/nrf/boards/nrf51_prefix.c
+++ b/ports/nrf/boards/nrf51_prefix.c
@@ -17,14 +17,12 @@
.af_fn = (af_ptr) \
}
-#define PIN(p_port, p_pin, p_af, p_adc_num, p_adc_channel) \
+#define PIN(p_pin, p_af, p_adc_num, p_adc_channel) \
{ \
{ &pin_type }, \
- .name = MP_QSTR_ ## p_port ## p_pin, \
- .port = PORT_ ## p_port, \
+ .name = MP_QSTR_P ## p_pin, \
.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/nrf52_prefix.c b/ports/nrf/boards/nrf52_prefix.c
index 89e5df5b1..ede33f22d 100644
--- a/ports/nrf/boards/nrf52_prefix.c
+++ b/ports/nrf/boards/nrf52_prefix.c
@@ -17,14 +17,12 @@
.af_fn = (af_ptr) \
}
-#define PIN(p_port, p_pin, p_af, p_adc_num, p_adc_channel) \
+#define PIN(p_pin, p_af, p_adc_num, p_adc_channel) \
{ \
{ &pin_type }, \
- .name = MP_QSTR_ ## p_port ## p_pin, \
- .port = PORT_ ## p_port, \
+ .name = MP_QSTR_P ## p_pin, \
.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/pca10000/mpconfigboard.h b/ports/nrf/boards/pca10000/mpconfigboard.h
index e4e635c1d..89108d0c0 100644
--- a/ports/nrf/boards/pca10000/mpconfigboard.h
+++ b/ports/nrf/boards/pca10000/mpconfigboard.h
@@ -60,8 +60,8 @@
#define MICROPY_HW_LED_BLUE (23) // BLUE
// UART config
-#define MICROPY_HW_UART1_RX (pin_A11)
-#define MICROPY_HW_UART1_TX (pin_A9)
+#define MICROPY_HW_UART1_RX (pin_P11)
+#define MICROPY_HW_UART1_TX (pin_P9)
#define MICROPY_HW_UART1_HWFC (0)
#define HELP_TEXT_BOARD_LED "1,2,3"
diff --git a/ports/nrf/boards/pca10000/pins.csv b/ports/nrf/boards/pca10000/pins.csv
index cc3f62db1..75fcbaca7 100644
--- a/ports/nrf/boards/pca10000/pins.csv
+++ b/ports/nrf/boards/pca10000/pins.csv
@@ -1,7 +1,7 @@
-UART_RTS,PA8
-UART_TX,PA9
-UART_CTS,PA10
-UART_RX,PA11
-LED_RED,PA21
-LED_GREEN,PA22
-LED_BLUE,PA23 \ No newline at end of file
+UART_RTS,P8
+UART_TX,P9
+UART_CTS,P10
+UART_RX,P11
+LED_RED,P21
+LED_GREEN,P22
+LED_BLUE,P23
diff --git a/ports/nrf/boards/pca10001/mpconfigboard.h b/ports/nrf/boards/pca10001/mpconfigboard.h
index 3b41b3ff1..3ecea41e8 100644
--- a/ports/nrf/boards/pca10001/mpconfigboard.h
+++ b/ports/nrf/boards/pca10001/mpconfigboard.h
@@ -60,10 +60,10 @@
#define MICROPY_HW_LED2 (19) // LED2
// UART config
-#define MICROPY_HW_UART1_RX (pin_A11)
-#define MICROPY_HW_UART1_TX (pin_A9)
-#define MICROPY_HW_UART1_CTS (pin_A10)
-#define MICROPY_HW_UART1_RTS (pin_A8)
+#define MICROPY_HW_UART1_RX (pin_P11)
+#define MICROPY_HW_UART1_TX (pin_P9)
+#define MICROPY_HW_UART1_CTS (pin_P10)
+#define MICROPY_HW_UART1_RTS (pin_P8)
#define MICROPY_HW_UART1_HWFC (0)
#define HELP_TEXT_BOARD_LED "1,2"
diff --git a/ports/nrf/boards/pca10001/pins.csv b/ports/nrf/boards/pca10001/pins.csv
index 2b1696986..659fc87e0 100644
--- a/ports/nrf/boards/pca10001/pins.csv
+++ b/ports/nrf/boards/pca10001/pins.csv
@@ -1,32 +1,32 @@
-PA0,PA0
-PA1,PA1
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA5,PA5
-PA6,PA6
-PA7,PA7
-UART_RTS,PA8
-UART_TX,PA9
-UART_CTS,PA10
-UART_RX,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,P0
+P1,P1
+P2,P2
+P3,P3
+P4,P4
+P5,P5
+P6,P6
+P7,P7
+UART_RTS,P8
+UART_TX,P9
+UART_CTS,P10
+UART_RX,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/boards/pca10028/mpconfigboard.h b/ports/nrf/boards/pca10028/mpconfigboard.h
index 91d19f85c..26c85f0f5 100644
--- a/ports/nrf/boards/pca10028/mpconfigboard.h
+++ b/ports/nrf/boards/pca10028/mpconfigboard.h
@@ -61,16 +61,16 @@
#define MICROPY_HW_LED4 (24) // LED4
// UART config
-#define MICROPY_HW_UART1_RX (pin_A11)
-#define MICROPY_HW_UART1_TX (pin_A9)
-#define MICROPY_HW_UART1_CTS (pin_A10)
-#define MICROPY_HW_UART1_RTS (pin_A8)
+#define MICROPY_HW_UART1_RX (pin_P11)
+#define MICROPY_HW_UART1_TX (pin_P9)
+#define MICROPY_HW_UART1_CTS (pin_P10)
+#define MICROPY_HW_UART1_RTS (pin_P8)
#define MICROPY_HW_UART1_HWFC (1)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A29)
-#define MICROPY_HW_SPI0_MOSI (pin_A25)
-#define MICROPY_HW_SPI0_MISO (pin_A28)
+#define MICROPY_HW_SPI0_SCK (pin_P29)
+#define MICROPY_HW_SPI0_MOSI (pin_P25)
+#define MICROPY_HW_SPI0_MISO (pin_P28)
#define HELP_TEXT_BOARD_LED "1,2,3,4"
diff --git a/ports/nrf/boards/pca10028/pins.csv b/ports/nrf/boards/pca10028/pins.csv
index c239ba490..33f9b8eec 100644
--- a/ports/nrf/boards/pca10028/pins.csv
+++ b/ports/nrf/boards/pca10028/pins.csv
@@ -1,32 +1,32 @@
-PA0,PA0
-PA1,PA1,ADC0_IN2
-PA2,PA2,ADC0_IN3
-PA3,PA3,ADC0_IN4
-PA4,PA4,ADC0_IN5
-PA5,PA5,ADC0_IN6
-PA6,PA6,ADC0_IN7
-PA7,PA7
-UART_RTS,PA8
-UART_TX,PA9
-UART_CTS,PA10
-UART_RX,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,P0
+P1,P1,ADC0_IN2
+P2,P2,ADC0_IN3
+P3,P3,ADC0_IN4
+P4,P4,ADC0_IN5
+P5,P5,ADC0_IN6
+P6,P6,ADC0_IN7
+P7,P7
+UART_RTS,P8
+UART_TX,P9
+UART_CTS,P10
+UART_RX,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/boards/pca10031/mpconfigboard.h b/ports/nrf/boards/pca10031/mpconfigboard.h
index 55b356622..b4a21c876 100644
--- a/ports/nrf/boards/pca10031/mpconfigboard.h
+++ b/ports/nrf/boards/pca10031/mpconfigboard.h
@@ -60,16 +60,16 @@
#define MICROPY_HW_LED_BLUE (23) // BLUE
// UART config
-#define MICROPY_HW_UART1_RX (pin_A11)
-#define MICROPY_HW_UART1_TX (pin_A9)
-#define MICROPY_HW_UART1_CTS (pin_A10)
-#define MICROPY_HW_UART1_RTS (pin_A8)
+#define MICROPY_HW_UART1_RX (pin_P11)
+#define MICROPY_HW_UART1_TX (pin_P9)
+#define MICROPY_HW_UART1_CTS (pin_P10)
+#define MICROPY_HW_UART1_RTS (pin_P8)
#define MICROPY_HW_UART1_HWFC (0)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A15)
-#define MICROPY_HW_SPI0_MOSI (pin_A16)
-#define MICROPY_HW_SPI0_MISO (pin_A17)
+#define MICROPY_HW_SPI0_SCK (pin_P15)
+#define MICROPY_HW_SPI0_MOSI (pin_P16)
+#define MICROPY_HW_SPI0_MISO (pin_P17)
#define HELP_TEXT_BOARD_LED "1,2,3"
diff --git a/ports/nrf/boards/pca10031/pins.csv b/ports/nrf/boards/pca10031/pins.csv
index b27a12b91..f70089866 100644
--- a/ports/nrf/boards/pca10031/pins.csv
+++ b/ports/nrf/boards/pca10031/pins.csv
@@ -1,13 +1,13 @@
-UART_RTS,PA8
-UART_TX,PA9
-UART_CTS,PA10
-UART_RX,PA11
-LED_RED,PA21
-LED_GREEN,PA22
-LED_BLUE,PA23
-PA15,PA15
-PA16,PA16
-PA17,PA17
-PA18,PA18
-PA19,PA19
-PA20,PA20 \ No newline at end of file
+UART_RTS,P8
+UART_TX,P9
+UART_CTS,P10
+UART_RX,P11
+LED_RED,P21
+LED_GREEN,P22
+LED_BLUE,P23
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
diff --git a/ports/nrf/boards/pca10040/mpconfigboard.h b/ports/nrf/boards/pca10040/mpconfigboard.h
index 7ca9641bc..ca2edb942 100644
--- a/ports/nrf/boards/pca10040/mpconfigboard.h
+++ b/ports/nrf/boards/pca10040/mpconfigboard.h
@@ -63,17 +63,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_P8)
+#define MICROPY_HW_UART1_TX (pin_P6)
+#define MICROPY_HW_UART1_CTS (pin_P7)
+#define MICROPY_HW_UART1_RTS (pin_P5)
#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_P25) // (Arduino D13)
+#define MICROPY_HW_SPI0_MOSI (pin_P23) // (Arduino D11)
+#define MICROPY_HW_SPI0_MISO (pin_P24) // (Arduino D12)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/pca10040/pins.csv b/ports/nrf/boards/pca10040/pins.csv
index c17713398..90bf84a04 100644
--- a/ports/nrf/boards/pca10040/pins.csv
+++ b/ports/nrf/boards/pca10040/pins.csv
@@ -1,30 +1,30 @@
-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
+P2,P2
+P3,P3
+P4,P4
+P5,P5
+P6,P6
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/boards/pca10056/mpconfigboard.h b/ports/nrf/boards/pca10056/mpconfigboard.h
index d1b09c3e8..f14e0990e 100644
--- a/ports/nrf/boards/pca10056/mpconfigboard.h
+++ b/ports/nrf/boards/pca10056/mpconfigboard.h
@@ -62,18 +62,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_P8)
+#define MICROPY_HW_UART1_TX (pin_P6)
+#define MICROPY_HW_UART1_CTS (pin_P7)
+#define MICROPY_HW_UART1_RTS (pin_P5)
#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_P47)
+#define MICROPY_HW_SPI0_MOSI (pin_P45)
+#define MICROPY_HW_SPI0_MISO (pin_P46)
#define MICROPY_HW_PWM0_NAME "PWM0"
#define MICROPY_HW_PWM1_NAME "PWM1"
diff --git a/ports/nrf/boards/pca10056/pins.csv b/ports/nrf/boards/pca10056/pins.csv
index f2f7f1967..e6190bac0 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,P0
+P1,P1
+P2,P2,ADC0_IN0
+P3,P3,ADC0_IN1
+P4,P4,ADC0_IN2
+P5,P5,ADC0_IN3
+P6,P6
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28,ADC0_IN4
+P29,P29,ADC0_IN5
+P30,P30,ADC0_IN6
+P31,P31,ADC0_IN7
+P32,P32
+P33,P33
+P34,P34
+P35,P35
+P36,P36
+P37,P37
+P38,P38
+P39,P39
+P40,P40
+P41,P41
+P42,P42
+P43,P43
+P44,P44
+P45,P45
+P46,P46
+P47,P47
diff --git a/ports/nrf/boards/wt51822_s4at/mpconfigboard.h b/ports/nrf/boards/wt51822_s4at/mpconfigboard.h
index 269072570..454542164 100644
--- a/ports/nrf/boards/wt51822_s4at/mpconfigboard.h
+++ b/ports/nrf/boards/wt51822_s4at/mpconfigboard.h
@@ -55,12 +55,12 @@
#define MICROPY_HW_ENABLE_CAN (0)
// UART config
-#define MICROPY_HW_UART1_RX (pin_A1)
-#define MICROPY_HW_UART1_TX (pin_A2)
+#define MICROPY_HW_UART1_RX (pin_P1)
+#define MICROPY_HW_UART1_TX (pin_P2)
#define MICROPY_HW_UART1_HWFC (0)
// SPI0 config
#define MICROPY_HW_SPI0_NAME "SPI0"
-#define MICROPY_HW_SPI0_SCK (pin_A9)
-#define MICROPY_HW_SPI0_MOSI (pin_A10)
-#define MICROPY_HW_SPI0_MISO (pin_A13)
+#define MICROPY_HW_SPI0_SCK (pin_P9)
+#define MICROPY_HW_SPI0_MOSI (pin_P10)
+#define MICROPY_HW_SPI0_MISO (pin_P13)
diff --git a/ports/nrf/boards/wt51822_s4at/pins.csv b/ports/nrf/boards/wt51822_s4at/pins.csv
index 01f5e8fce..ae98cb793 100644
--- a/ports/nrf/boards/wt51822_s4at/pins.csv
+++ b/ports/nrf/boards/wt51822_s4at/pins.csv
@@ -1,7 +1,7 @@
-PA1,PA1
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA9,PA9
-PA10,PA10
-PA13,PA13
+P1,P1
+P2,P2
+P3,P3
+P4,P4
+P9,P9
+P10,P10
+P13,P13
diff --git a/ports/nrf/examples/mountsd.py b/ports/nrf/examples/mountsd.py
index 1577221a6..64e1c888b 100644
--- a/ports/nrf/examples/mountsd.py
+++ b/ports/nrf/examples/mountsd.py
@@ -25,7 +25,7 @@ from machine import SPI, Pin
from sdcard import SDCard
def mnt():
- cs = Pin("A22", mode=Pin.OUT)
+ cs = Pin("P22", mode=Pin.OUT)
sd = SDCard(SPI(0), cs)
os.mount(sd, '/')
diff --git a/ports/nrf/examples/musictest.py b/ports/nrf/examples/musictest.py
index d958543ec..46276d3ef 100644
--- a/ports/nrf/examples/musictest.py
+++ b/ports/nrf/examples/musictest.py
@@ -1,8 +1,8 @@
#
-# Example usage where "A3" is the Buzzer pin.
+# Example usage where "P3" is the Buzzer pin.
#
# from musictest import play
-# play("A3")
+# play("P3")
#
from machine import Pin
diff --git a/ports/nrf/examples/nrf52_pwm.py b/ports/nrf/examples/nrf52_pwm.py
index 2ea1e7be7..b242ea90e 100644
--- a/ports/nrf/examples/nrf52_pwm.py
+++ b/ports/nrf/examples/nrf52_pwm.py
@@ -3,13 +3,13 @@ from machine import PWM, Pin
def pulse():
for i in range(0, 101):
- p = PWM(0, Pin("A17", mode=Pin.OUT), freq=PWM.FREQ_16MHZ, duty=i, period=16000)
+ p = PWM(0, Pin("P17", mode=Pin.OUT), freq=PWM.FREQ_16MHZ, duty=i, period=16000)
p.init()
time.sleep_ms(10)
p.deinit()
for i in range(0, 101):
- p = PWM(0, Pin("A17", mode=Pin.OUT), freq=PWM.FREQ_16MHZ, duty=100-i, period=16000)
+ p = PWM(0, Pin("P17", mode=Pin.OUT), freq=PWM.FREQ_16MHZ, duty=100-i, period=16000)
p.init()
time.sleep_ms(10)
p.deinit()
diff --git a/ports/nrf/examples/nrf52_servo.py b/ports/nrf/examples/nrf52_servo.py
index e9c594af3..baa8600a5 100644
--- a/ports/nrf/examples/nrf52_servo.py
+++ b/ports/nrf/examples/nrf52_servo.py
@@ -30,7 +30,7 @@ class Servo():
if pin_name:
self.pin = Pin(pin_name, mode=Pin.OUT, pull=Pin.PULL_DOWN)
else:
- self.pin = Pin("A22", mode=Pin.OUT, pull=Pin.PULL_DOWN)
+ self.pin = Pin("P22", mode=Pin.OUT, pull=Pin.PULL_DOWN)
def left(self):
p = PWM(0, self.pin, freq=PWM.FREQ_125KHZ, pulse_width=105, period=2500, mode=PWM.MODE_HIGH_LOW)
p.init()
diff --git a/ports/nrf/examples/powerup.py b/ports/nrf/examples/powerup.py
index fd7dd8343..6f14309f3 100644
--- a/ports/nrf/examples/powerup.py
+++ b/ports/nrf/examples/powerup.py
@@ -28,8 +28,8 @@
# Examples is written for nrf52832, pca10040 using s132 bluetooth stack.
#
# Joystick shield pin mapping:
-# - analog stick x-direction - ADC0 - P0.02/"A02"
-# - buttons P0.13 - P0.16 / "A13", "A14", "A15", "A16"
+# - analog stick x-direction - ADC0 - P0.02/"P2"
+# - buttons P0.13 - P0.16 / "P13", "P14", "P15", "P16"
#
# Example usage:
#
@@ -70,10 +70,10 @@ class PowerUp3:
def __init__(self):
self.x_adc = ADC(1)
- self.btn_speed_up = Pin("A13", mode=Pin.IN, pull=Pin.PULL_UP)
- self.btn_speed_down = Pin("A15", mode=Pin.IN, pull=Pin.PULL_UP)
- self.btn_speed_full = Pin("A14", mode=Pin.IN, pull=Pin.PULL_UP)
- self.btn_speed_off = Pin("A16", mode=Pin.IN, pull=Pin.PULL_UP)
+ self.btn_speed_up = Pin("P13", mode=Pin.IN, pull=Pin.PULL_UP)
+ self.btn_speed_down = Pin("P15", mode=Pin.IN, pull=Pin.PULL_UP)
+ self.btn_speed_full = Pin("P14", mode=Pin.IN, pull=Pin.PULL_UP)
+ self.btn_speed_off = Pin("P16", mode=Pin.IN, pull=Pin.PULL_UP)
self.x_mid = 0
diff --git a/ports/nrf/examples/seeed_tft.py b/ports/nrf/examples/seeed_tft.py
index f751bbb0f..c5cd4cc0a 100644
--- a/ports/nrf/examples/seeed_tft.py
+++ b/ports/nrf/examples/seeed_tft.py
@@ -52,7 +52,7 @@ from machine import SPI, Pin
from sdcard import SDCard
def mount_tf(self, mount_point="/"):
- sd = SDCard(SPI(0), Pin("A15", mode=Pin.OUT))
+ sd = SDCard(SPI(0), Pin("P15", mode=Pin.OUT))
os.mount(sd, mount_point)
class ILI9341:
@@ -65,9 +65,9 @@ class ILI9341:
self.spi = SPI(0)
# chip select
- self.cs = Pin("A16", mode=Pin.OUT, pull=Pin.PULL_UP)
+ self.cs = Pin("P16", mode=Pin.OUT, pull=Pin.PULL_UP)
# command
- self.dc = Pin("A17", mode=Pin.OUT, pull=Pin.PULL_UP)
+ self.dc = Pin("P17", mode=Pin.OUT, pull=Pin.PULL_UP)
# initialize all pins high
self.cs.high()
diff --git a/ports/nrf/modules/machine/pin.c b/ports/nrf/modules/machine/pin.c
index f4520d73d..47778e01c 100644
--- a/ports/nrf/modules/machine/pin.c
+++ b/ports/nrf/modules/machine/pin.c
@@ -197,9 +197,8 @@ STATIC void pin_print(const mp_print_t *print, mp_obj_t self_in, mp_print_kind_t
// pin name
mp_printf(print, "Pin(Pin.cpu.%q, mode=Pin.", self->name);
- mp_printf(print, "port=0x%x, ", self->port);
+ mp_printf(print, "port=0x%x, ", self->pin / 32);
mp_printf(print, "pin=0x%x, ", self->pin);
- mp_printf(print, "pin_mask=0x%x,", self->pin_mask);
/*
uint32_t mode = pin_get_mode(self);
@@ -468,7 +467,7 @@ STATIC MP_DEFINE_CONST_FUN_OBJ_1(pin_names_obj, pin_names);
/// Get the pin port.
STATIC mp_obj_t pin_port(mp_obj_t self_in) {
pin_obj_t *self = self_in;
- return MP_OBJ_NEW_SMALL_INT(self->port);
+ return MP_OBJ_NEW_SMALL_INT(self->pin / 32);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pin_port_obj, pin_port);
@@ -480,14 +479,6 @@ STATIC mp_obj_t pin_pin(mp_obj_t self_in) {
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(pin_pin_obj, pin_pin);
-/// \method gpio()
-/// Returns the base address of the GPIO block associated with this pin.
-STATIC mp_obj_t pin_gpio(mp_obj_t self_in) {
- pin_obj_t *self = self_in;
- return MP_OBJ_NEW_SMALL_INT((mp_int_t)self->gpio);
-}
-STATIC MP_DEFINE_CONST_FUN_OBJ_1(pin_gpio_obj, pin_gpio);
-
/// \method mode()
/// Returns the currently configured mode of the pin. The integer returned
/// will match one of the allowed constants for the mode argument to the init
@@ -547,7 +538,6 @@ STATIC const mp_rom_map_elem_t pin_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_af_list), MP_ROM_PTR(&pin_af_list_obj) },
{ MP_ROM_QSTR(MP_QSTR_port), MP_ROM_PTR(&pin_port_obj) },
{ MP_ROM_QSTR(MP_QSTR_pin), MP_ROM_PTR(&pin_pin_obj) },
- { MP_ROM_QSTR(MP_QSTR_gpio), MP_ROM_PTR(&pin_gpio_obj) },
{ MP_ROM_QSTR(MP_QSTR_mode), MP_ROM_PTR(&pin_mode_obj) },
{ MP_ROM_QSTR(MP_QSTR_pull), MP_ROM_PTR(&pin_pull_obj) },
{ MP_ROM_QSTR(MP_QSTR_af), MP_ROM_PTR(&pin_af_obj) },
diff --git a/ports/nrf/modules/machine/pin.h b/ports/nrf/modules/machine/pin.h
index 1935a0d26..7004b320b 100644
--- a/ports/nrf/modules/machine/pin.h
+++ b/ports/nrf/modules/machine/pin.h
@@ -51,13 +51,10 @@ typedef struct {
typedef struct {
mp_obj_base_t base;
qstr name;
- uint32_t port : 4;
- uint32_t pin : 5; // Some ARM processors use 32 bits/PORT
+ uint32_t pin : 8;
uint32_t num_af : 4;
uint32_t adc_channel : 5; // Some ARM processors use 32 bits/PORT
uint32_t adc_num : 3; // 1 bit per ADC
- uint32_t pin_mask;
- pin_gpio_t *gpio;
const pin_af_obj_t *af;
uint32_t pull;
} pin_obj_t;
diff --git a/ports/nrf/nrf51_af.csv b/ports/nrf/nrf51_af.csv
index 2fc34a06a..0be277026 100644
--- a/ports/nrf/nrf51_af.csv
+++ b/ports/nrf/nrf51_af.csv
@@ -1,32 +1,32 @@
-PA0,PA0
-PA1,PA1,ADC0_IN2
-PA2,PA2,ADC0_IN3
-PA3,PA3,ADC0_IN4
-PA4,PA4,ADC0_IN5
-PA5,PA5,ADC0_IN6
-PA6,PA6,ADC0_IN7
-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,P0
+P1,P1,ADC0_IN2
+P2,P2,ADC0_IN3
+P3,P3,ADC0_IN4
+P4,P4,ADC0_IN5
+P5,P5,ADC0_IN6
+P6,P6,ADC0_IN7
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
diff --git a/ports/nrf/nrf52_af.csv b/ports/nrf/nrf52_af.csv
index 44a7d8144..59686ff90 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,P0
+P1,P1
+P2,P2
+P3,P3
+P4,P4
+P5,P5
+P6,P6
+P7,P7
+P8,P8
+P9,P9
+P10,P10
+P11,P11
+P12,P12
+P13,P13
+P14,P14
+P15,P15
+P16,P16
+P17,P17
+P18,P18
+P19,P19
+P20,P20
+P21,P21
+P22,P22
+P23,P23
+P24,P24
+P25,P25
+P26,P26
+P27,P27
+P28,P28
+P29,P29
+P30,P30
+P31,P31
+P32,P32
+P33,P33
+P34,P34
+P35,P35
+P36,P36
+P37,P37
+P38,P38
+P39,P39
+P40,P40
+P41,P41
+P42,P42
+P43,P43
+P44,P44
+P45,P45
+P46,P46
+P47,P47