aboutsummaryrefslogtreecommitdiff
path: root/stm/boards
diff options
context:
space:
mode:
authorDamien George2014-05-21 20:14:27 +0100
committerDamien George2014-05-21 20:14:27 +0100
commitaa7cf6f72f4e8a553f892629bb3338ab8c982d57 (patch)
treeb16167eecc2c5e8e5f84bd710308366a166c55e8 /stm/boards
parent63436ce22ee20f56b0083f846261c0b77af9961b (diff)
stm: Remove long-obsolete stm/ port.
Diffstat (limited to 'stm/boards')
-rw-r--r--stm/boards/NETDUINO_PLUS_2/mpconfigboard.h38
-rw-r--r--stm/boards/NETDUINO_PLUS_2/pins.csv28
-rw-r--r--stm/boards/PYBOARD3/mpconfigboard.h32
-rw-r--r--stm/boards/PYBOARD3/pins.csv37
-rw-r--r--stm/boards/PYBOARD4/mpconfigboard.h33
-rw-r--r--stm/boards/PYBOARD4/pins.csv45
-rw-r--r--stm/boards/STM32F4DISC/mpconfigboard.h33
-rw-r--r--stm/boards/STM32F4DISC/pins.csv85
-rwxr-xr-xstm/boards/make-pins.py261
-rw-r--r--stm/boards/stm32f4xx-af.csv142
-rw-r--r--stm/boards/stm32f4xx-prefix.c34
11 files changed, 0 insertions, 768 deletions
diff --git a/stm/boards/NETDUINO_PLUS_2/mpconfigboard.h b/stm/boards/NETDUINO_PLUS_2/mpconfigboard.h
deleted file mode 100644
index 9bc5149ec..000000000
--- a/stm/boards/NETDUINO_PLUS_2/mpconfigboard.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#define NETDUINO_PLUS_2
-
-#define MICROPY_HW_BOARD_NAME "NetduinoPlus2"
-
-#define MICROPY_HW_HAS_SWITCH (1)
-
-// On the netuino, the sdcard appears to be wired up as a 1-bit
-// SPI, so the driver needs to be converted to support that before
-// we can turn this on.
-#define MICROPY_HW_HAS_SDCARD (0)
-#define MICROPY_HW_HAS_MMA7660 (0)
-#define MICROPY_HW_HAS_LIS3DSH (0)
-#define MICROPY_HW_HAS_LCD (0)
-#define MICROPY_HW_HAS_WLAN (0)
-#define MICROPY_HW_ENABLE_RNG (1)
-#define MICROPY_HW_ENABLE_RTC (0)
-#define MICROPY_HW_ENABLE_TIMER (1)
-#define MICROPY_HW_ENABLE_SERVO (1)
-#define MICROPY_HW_ENABLE_AUDIO (0)
-
-// USRSW is pulled low. Pressing the button makes the input go high.
-#define USRSW_PIN (pin_B11)
-#define USRSW_PUPD (GPIO_PuPd_NOPULL)
-#define USRSW_EXTI_EDGE (EXTI_Trigger_Rising)
-#define USRSW_PRESSED (1)
-
-/* LED */
-#define PYB_LED1 (pin_A10) // Blue LED
-#define PYB_LED2 (pin_C13) // White LED (aka Power)
-#define PYB_LED3 (pin_A10) // Same as Led(1)
-#define PYB_LED4 (pin_C13) // Same as Led(2)
-
-#define PYB_OTYPE (GPIO_OType_PP)
-
-#define PYB_LED_ON(pin) (pin->gpio->BSRRL = pin->pin_mask)
-#define PYB_LED_OFF(pin) (pin->gpio->BSRRH = pin->pin_mask)
-
-#define HSE_VALUE (25000000)
diff --git a/stm/boards/NETDUINO_PLUS_2/pins.csv b/stm/boards/NETDUINO_PLUS_2/pins.csv
deleted file mode 100644
index f9b94a6c8..000000000
--- a/stm/boards/NETDUINO_PLUS_2/pins.csv
+++ /dev/null
@@ -1,28 +0,0 @@
-D0,PC7
-D1,PC6
-D2,PA3
-D3,PA2
-D4,PB12
-D5,PB8
-D6,PB9
-D7,PA1
-D8,PA0
-D9,PA6
-D10,PB10
-D11,PB15
-D12,PB14
-D13,PB13
-A0,PC0
-A1,PC1
-A2,PC2
-A3,PC3
-A4,PC4
-A5,PC5
-LED,PA10
-SW,PB11
-PWR_LED,PC13
-PWR_SD,PB1
-PWR_HDR,PB2
-PWR_ETH,PC15
-RST_ETH,PD2
-
diff --git a/stm/boards/PYBOARD3/mpconfigboard.h b/stm/boards/PYBOARD3/mpconfigboard.h
deleted file mode 100644
index 29e23eaab..000000000
--- a/stm/boards/PYBOARD3/mpconfigboard.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#define PYBOARD3
-
-#define MICROPY_HW_BOARD_NAME "PYBv3"
-
-#define MICROPY_HW_HAS_SWITCH (1)
-#define MICROPY_HW_HAS_SDCARD (1)
-#define MICROPY_HW_HAS_MMA7660 (1)
-#define MICROPY_HW_HAS_LIS3DSH (0)
-#define MICROPY_HW_HAS_LCD (0)
-#define MICROPY_HW_HAS_WLAN (0)
-#define MICROPY_HW_ENABLE_RNG (1)
-#define MICROPY_HW_ENABLE_RTC (1)
-#define MICROPY_HW_ENABLE_TIMER (1)
-#define MICROPY_HW_ENABLE_SERVO (1)
-#define MICROPY_HW_ENABLE_AUDIO (0)
-
-// USRSW has no pullup or pulldown, and pressing the switch makes the input go low
-#define USRSW_PIN (pin_A13)
-#define USRSW_PUPD (GPIO_PuPd_UP)
-#define USRSW_EXTI_EDGE (EXTI_Trigger_Falling)
-#define USRSW_PRESSED (0)
-
-/* LED */
-#define PYB_LED1 (pin_A8) // R1 - red
-#define PYB_LED2 (pin_A10) // R2 - red
-#define PYB_LED3 (pin_C4) // G1 - green
-#define PYB_LED4 (pin_C5) // G2 - green
-
-#define PYB_OTYPE (GPIO_OType_PP)
-
-#define PYB_LED_ON(pin) (pin->gpio->BSRRH = pin->pin_mask)
-#define PYB_LED_OFF(pin) (pin->gpio->BSRRL = pin->pin_mask)
diff --git a/stm/boards/PYBOARD3/pins.csv b/stm/boards/PYBOARD3/pins.csv
deleted file mode 100644
index cc07b1544..000000000
--- a/stm/boards/PYBOARD3/pins.csv
+++ /dev/null
@@ -1,37 +0,0 @@
-B13,PB13
-B14,PB14
-B15,PB15
-C6,PC6
-C7,PC7
-A13,PA13
-A14,PA14
-A15,PA15
-B3,PB3
-B4,PB4
-B6,PB6
-B7,PB7
-B8,PB8
-B9,PB9
-C0,PC0
-C1,PC1
-C2,PC2
-C3,PC3
-A0,PA0
-A1,PA1
-A2,PA2
-A3,PA3
-A4,PA4
-A5,PA5
-A6,PA6
-A7,PA7
-B0,PB0
-B1,PB1
-B10,PB10
-B11,PB11
-B12,PB12
-LED_R1,PA8
-LED_R2,PA10
-LED_G1,PC4
-LED_G2,PC5
-SW,PA13
-
diff --git a/stm/boards/PYBOARD4/mpconfigboard.h b/stm/boards/PYBOARD4/mpconfigboard.h
deleted file mode 100644
index 155901da1..000000000
--- a/stm/boards/PYBOARD4/mpconfigboard.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#define PYBOARD4
-
-#define MICROPY_HW_BOARD_NAME "PYBv4"
-
-#define MICROPY_HW_HAS_SWITCH (1)
-#define MICROPY_HW_HAS_SDCARD (1)
-#define MICROPY_HW_HAS_MMA7660 (1)
-#define MICROPY_HW_HAS_LIS3DSH (0)
-#define MICROPY_HW_HAS_LCD (1)
-#define MICROPY_HW_HAS_WLAN (0)
-#define MICROPY_HW_ENABLE_RNG (1)
-#define MICROPY_HW_ENABLE_RTC (1)
-#define MICROPY_HW_ENABLE_TIMER (1)
-#define MICROPY_HW_ENABLE_SERVO (1)
-#define MICROPY_HW_ENABLE_AUDIO (1)
-
-// USRSW has no pullup or pulldown, and pressing the switch makes the input go low
-#define USRSW_PIN (pin_B3)
-#define USRSW_PUPD (GPIO_PuPd_UP)
-#define USRSW_EXTI_EDGE (EXTI_Trigger_Falling)
-#define USRSW_PRESSED (0)
-
-/* LED */
-#define PYB_LED1 (pin_A13) // red
-#define PYB_LED2 (pin_A14) // green
-#define PYB_LED3 (pin_A15) // yellow
-#define PYB_LED4 (pin_B4) // blue
-
-#define PYB_OTYPE (GPIO_OType_PP)
-
-#define PYB_LED_ON(pin) (pin->gpio->BSRRL = pin->pin_mask)
-#define PYB_LED_OFF(pin) (pin->gpio->BSRRH = pin->pin_mask)
-
diff --git a/stm/boards/PYBOARD4/pins.csv b/stm/boards/PYBOARD4/pins.csv
deleted file mode 100644
index 2ca7fef18..000000000
--- a/stm/boards/PYBOARD4/pins.csv
+++ /dev/null
@@ -1,45 +0,0 @@
-X1,PA0
-X2,PA1
-X3,PA2
-X4,PA3
-X5,PA4
-X6,PA5
-X7,PA6
-X8,PA7
-X9,PB6
-X10,PB7
-X11,PC4
-X12,PC5
-X13,Reset
-X14,GND
-X15,3.3V
-X16,VIN
-X17,PB3
-X18,PC13
-X19,PC0
-X20,PC1
-X21,PC2
-X22,PC3
-X23,A3.3V
-X24,AGND
-Y1,PC6
-Y2,PC7
-Y3,PB8
-Y4,PB9
-Y5,PB12
-Y6,PB13
-Y7,PB14
-Y8,PB15
-Y9,PB10
-Y10,PB11
-Y11,PB0
-Y12,PB1
-Y13,Reset
-Y14,GND
-Y15,3.3V
-Y16,VIN
-LED_BLUE,PB4
-LED_RED,PA13
-LED_GREEN,PA14
-LED_YELLOW,PA15
-SW,PB3
diff --git a/stm/boards/STM32F4DISC/mpconfigboard.h b/stm/boards/STM32F4DISC/mpconfigboard.h
deleted file mode 100644
index b463c90ad..000000000
--- a/stm/boards/STM32F4DISC/mpconfigboard.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#define STM32F4DISC
-
-#define MICROPY_HW_BOARD_NAME "F4DISC"
-
-#define MICROPY_HW_HAS_SWITCH (1)
-#define MICROPY_HW_HAS_SDCARD (0)
-#define MICROPY_HW_HAS_MMA7660 (0)
-#define MICROPY_HW_HAS_LIS3DSH (1)
-#define MICROPY_HW_HAS_LCD (0)
-#define MICROPY_HW_HAS_WLAN (0)
-#define MICROPY_HW_ENABLE_RNG (1)
-#define MICROPY_HW_ENABLE_RTC (1)
-#define MICROPY_HW_ENABLE_TIMER (1)
-#define MICROPY_HW_ENABLE_SERVO (0)
-#define MICROPY_HW_ENABLE_AUDIO (0)
-
-// USRSW is pulled low. Pressing the button makes the input go high.
-#define USRSW_PIN (pin_A0)
-#define USRSW_PUPD (GPIO_PuPd_NOPULL)
-#define USRSW_EXTI_EDGE (EXTI_Trigger_Rising)
-#define USRSW_PRESSED (1)
-
-/* LED */
-#define PYB_LED1 (pin_D14) // red
-#define PYB_LED2 (pin_D12) // green
-#define PYB_LED3 (pin_D13) // orange
-#define PYB_LED4 (pin_D15) // blue
-
-#define PYB_OTYPE (GPIO_OType_PP)
-
-#define PYB_LED_ON(pin) (pin->gpio->BSRRL = pin->pin_mask)
-#define PYB_LED_OFF(pin) (pin->gpio->BSRRH = pin->pin_mask)
-
diff --git a/stm/boards/STM32F4DISC/pins.csv b/stm/boards/STM32F4DISC/pins.csv
deleted file mode 100644
index 4049fef7d..000000000
--- a/stm/boards/STM32F4DISC/pins.csv
+++ /dev/null
@@ -1,85 +0,0 @@
-PC0,PC0
-PC1,PC1
-PC2,PC2
-PC3,PC3
-PA0,PA0
-PA1,PA1
-PA2,PA2
-PA3,PA3
-PA4,PA4
-PA5,PA5
-PA6,PA6
-PA7,PA7
-PC4,PC4
-PC5,PC5
-PB0,PB0
-PB1,PB1
-PB2,PB2
-PE7,PE7
-PE8,PE8
-PE9,PE9
-PE10,PE10
-PE11,PE11
-PE12,PE12
-PE13,PE13
-PE14,PE14
-PE15,PE15
-PB10,PB10
-PB11,PB11
-PB12,PB12
-PB13,PB13
-PB14,PB14
-PB15,PB15
-PD8,PD8
-PD9,PD9
-PD10,PD10
-PD11,PD11
-PD12,PD12
-PD13,PD13
-PD14,PD14
-PD15,PD15
-PC6,PC6
-PC7,PC7
-PC8,PC8
-PC9,PC9
-PA8,PA8
-PA9,PA9
-PA10,PA10
-PA13,PA13
-PA14,PA14
-PA15,PA15
-PC10,PC10
-PC11,PC11
-PC12,PC12
-PD0,PD0
-PD1,PD1
-PD2,PD2
-PD3,PD3
-PD4,PD4
-PD5,PD5
-PD6,PD6
-PD7,PD7
-PB4,PB4
-PB5,PB5
-PB6,PB6
-PB7,PB7
-PB8,PB8
-PB9,PB9
-PE0,PE0
-PE1,PE1
-PE2,PE2
-PE3,PE3
-PE4,PE4
-PE5,PE5
-PE6,PE6
-PC13,PC13
-PC14,PC14
-PC15,PC15
-PH0,PH0
-PH1,PH1
-LED_GREEN,PD12
-LED_ORANGE,PD13
-LED_RED,PD14
-LED_BLUE,PD15
-SW,PA0
-
diff --git a/stm/boards/make-pins.py b/stm/boards/make-pins.py
deleted file mode 100755
index 8c1bedbf0..000000000
--- a/stm/boards/make-pins.py
+++ /dev/null
@@ -1,261 +0,0 @@
-#!/usr/bin/env python
-"""Creates the pin file for the STM32F4xx."""
-
-from __future__ import print_function
-
-import argparse
-import sys
-import csv
-
-SUPPORTED_FN = {
- 'TIM' : ['CH1', 'CH2', 'CH3', 'CH4',
- 'CH1N', 'CH2N', 'CH3N', 'CH1_ETR', 'ETR', 'BKIN'],
- 'I2C' : ['SDA', 'SCL'],
- 'USART' : ['RX', 'TX', 'CTS', 'RTS', 'CK'],
- 'UART' : ['RX', 'TX', 'CTS', 'RTS'],
- 'SPI' : ['NSS', 'SCK', 'MISO', 'MOSI']
-}
-
-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 3 charcters.")
- if name_str[0] != 'P':
- raise ValueError("Expecting pin name to start with P")
- if name_str[1] < 'A' or name_str[1] > 'J':
- raise ValueError("Expecting pin port to be between A and J")
- port = ord(name_str[1]) - ord('A')
- pin_str = name_str[2:]
- 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):
- if not name_num[num_idx].isdigit():
- name = name_num[0:num_idx + 1]
- num_str = name_num[num_idx + 1:]
- if len(num_str) > 0:
- num = int(num_str)
- break
- 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 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))
-
-
-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.board_name = None
- self.alt_fn_count = 0
-
- def port_letter(self):
- return chr(self.port + ord('A'))
-
- def pin_name(self):
- return '{:s}{:d}'.format(self.port_letter(), self.pin)
-
- 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):
- if self.alt_fn_count > 0:
- return 'pin_{:s}_af'.format(self.pin_name())
- return 'NULL'
-
- 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}, {:d}, {:s});'.format(
- self.pin_name(), self.port_letter(), self.pin,
- self.alt_fn_count, self.alt_fn_name()))
- print('')
-
- def print_header(self, hdr_file):
- hdr_file.write('extern const pin_obj_t pin_{:s};\n'.
- format(self.pin_name()))
- if self.alt_fn_count > 0:
- hdr_file.write('extern const pin_af_obj_t pin_{:s}_af[];\n'.
- format(self.pin_name()))
-
-
-class Pins(object):
-
- def __init__(self):
- self.pins = []
- self.board_pins = []
-
- def find_pin(self, port_num, pin_num):
- for pin in self.pins:
- if pin.port == port_num and pin.pin == pin_num:
- return pin
-
- def parse_af_file(self, filename, pinname_col, af_col):
- with open(filename, 'r') as csvfile:
- rows = csv.reader(csvfile)
- for row in rows:
- try:
- (port_num, pin_num) = parse_port_pin(row[pinname_col])
- except:
- continue
- pin = Pin(port_num, pin_num)
- for af_idx in range(af_col, len(row)):
- pin.parse_af(af_idx - af_col, row[af_idx])
- self.pins.append(pin)
-
- def parse_board_file(self, filename):
- with open(filename, 'r') as csvfile:
- rows = csv.reader(csvfile)
- for row in rows:
- try:
- (port_num, pin_num) = parse_port_pin(row[1])
- except:
- continue
- pin = self.find_pin(port_num, pin_num)
- if pin:
- pin.board_name = row[0]
- self.board_pins.append(pin)
-
- def print_named(self, label, pins):
- print('const pin_named_pin_t pin_{:s}_pins[] = {{'.format(label))
- for pin in pins:
- if pin.board_name:
- if label == 'board':
- pin_name = pin.board_name
- else:
- pin_name = pin.pin_name()
- print(' {{ "{:s}", &pin_{:s} }},'.format(pin_name, pin.pin_name()))
- print(' { NULL, NULL }')
- print('};')
-
- def print(self):
- for pin in self.pins:
- if pin.board_name:
- pin.print()
- self.print_named('cpu', self.pins)
- print('')
- self.print_named('board', self.board_pins)
-
- def print_header(self, hdr_filename):
- with open(hdr_filename, 'wt') as hdr_file:
- for pin in self.pins:
- if pin.board_name:
- pin.print_header(hdr_file)
-
-
-def main():
- parser = argparse.ArgumentParser(
- prog="make-pins.py",
- usage="%(prog)s [options] [command]",
- description="Generate board specific pin file"
- )
- parser.add_argument(
- "-a", "--af",
- dest="af_filename",
- help="Specifies the alternate function file for the chip",
- default="stm32f4xx-af.csv"
- )
- parser.add_argument(
- "-b", "--board",
- dest="board_filename",
- help="Specifies the board file",
- )
- parser.add_argument(
- "-p", "--prefix",
- dest="prefix_filename",
- help="Specifies beginning portion of generated pins file",
- default="stm32f4xx-prefix.c"
- )
- parser.add_argument(
- "-r", "--hdr",
- dest="hdr_filename",
- help="Specifies name of generated pin header file",
- default="build/pins.h"
- )
- args = parser.parse_args(sys.argv[1:])
-
- pins = Pins()
-
- print('// This file was automatically generated by make-pins.py')
- print('//')
- if args.af_filename:
- print('// --af {:s}'.format(args.af_filename))
- pins.parse_af_file(args.af_filename, 1, 2)
-
- if args.board_filename:
- print('// --board {:s}'.format(args.board_filename))
- pins.parse_board_file(args.board_filename)
-
- if args.prefix_filename:
- print('// --prefix {:s}'.format(args.prefix_filename))
- print('')
- with open(args.prefix_filename, 'r') as prefix_file:
- print(prefix_file.read())
- pins.print()
- pins.print_header(args.hdr_filename)
-
-
-if __name__ == "__main__":
- main()
diff --git a/stm/boards/stm32f4xx-af.csv b/stm/boards/stm32f4xx-af.csv
deleted file mode 100644
index fde7fcfc1..000000000
--- a/stm/boards/stm32f4xx-af.csv
+++ /dev/null
@@ -1,142 +0,0 @@
-Port,,AF0,AF1,AF2,AF3,AF4,AF5,AF6,AF7,AF8,AF9,AF10,AF11,AF12,AF13,AF14,AF15
-,,SYS,TIM1/2,TIM3/4/5,TIM8/9/10/11,I2C1/2/3,SPI1/SPI2/I2S2/I2S2ext,SPI3/I2Sext/I2S3,USART1/2/3/I2S3ext,UART4/5/USART6,CAN1/CAN2/TIM12/13/14,OTG_FS/OTG_HS,ETH,FSMC/SDIO/OTG_FS,DCMI,,
-PortA,PA0,,TIM2_CH1_ETR,TIM5_CH1,TIM8_ETR,,,,USART2_CTS,UART4_TX,,,ETH_MII_CRS,,,,EVENTOUT
-PortA,PA1,,TIM2_CH2,TIM5_CH2,,,,,USART2_RTS,UART4_RX,,,ETH_MII_RX_CLK/ETH_RMII__REF_CLK,,,,EVENTOUT
-PortA,PA2,,TIM2_CH3,TIM5_CH3,TIM9_CH1,,,,USART2_TX,,,,ETH_MDIO,,,,EVENTOUT
-PortA,PA3,,TIM2_CH4,TIM5_CH4,TIM9_CH2,,,,USART2_RX,,,OTG_HS_ULPI_D0,ETH_MII_COL,,,,EVENTOUT
-PortA,PA4,,,,,,SPI1_NSS,SPI3_NSS/I2S3_WS,USART2_CK,,,,,OTG_HS_SOF,DCMI_HSYNC,,EVENTOUT
-PortA,PA5,,TIM2_CH1_ETR,,TIM8_CH1N,,SPI1_SCK,,,,,OTG_HS_ULPI_CK,,,,,EVENTOUT
-PortA,PA6,,TIM1_BKIN,TIM3_CH1,TIM8_BKIN,,SPI1_MISO,,,,TIM13_CH1,,,,DCMI_PIXCK,,EVENTOUT
-PortA,PA7,,TIM1_CH1N,TIM3_CH2,TIM8_CH1N,,SPI1_MOSI,,,,TIM14_CH1,,ETH_MII_RX_DV/ETH_RMII_CRS_DV,,,,EVENTOUT
-PortA,PA8,MCO1,TIM1_CH1,,,I2C3_SCL,,,USART1_CK,,,OTG_FS_SOF,,,,,EVENTOUT
-PortA,PA9,,TIM1_CH2,,,I2C3_SMBA,,,USART1_TX,,,,,,DCMI_D0,,EVENTOUT
-PortA,PA10,,TIM1_CH3,,,,,,USART1_RX,,,OTG_FS_ID,,,DCMI_D1,,EVENTOUT
-PortA,PA11,,TIM1_CH4,,,,,,USART1_CTS,,CAN1_RX,OTG_FS_DM,,,,,EVENTOUT
-PortA,PA12,,TIM1_ETR,,,,,,USART1_RTS,,CAN1_TX,OTG_FS_DP,,,,,EVENTOUT
-PortA,PA13,JTMS-SWDIO,,,,,,,,,,,,,,,EVENTOUT
-PortA,PA14,JTCK-SWCLK,,,,,,,,,,,,,,,EVENTOUT
-PortA,PA15,JTDI,TIM2_CH1/TIM2_ETR,,,,SPI1_NSS,SPI3_NSS/I2S3_WS,,,,,,,,,EVENTOUT
-PortB,PB0,,TIM1_CH2N,TIM3_CH3,TIM8_CH2N,,,,,,,OTG_HS_ULPI_D1,ETH_MII_RXD2,,,,EVENTOUT
-PortB,PB1,,TIM1_CH3N,TIM3_CH4,TIM8_CH3N,,,,,,,OTG_HS_ULPI_D2,ETH_MII_RXD3,,,,EVENTOUT
-PortB,PB2,,,,,,,,,,,,,,,,EVENTOUT
-PortB,PB3,JTDO/TRACESWO,TIM2_CH2,,,,SPI1_SCK,SPI3_SCKI2S3_CK,,,,,,,,,EVENTOUT
-PortB,PB4,NJTRST,,TIM3_CH1,,,SPI1_MISO,SPI3_MISO,I2S3ext_SD,,,,,,,,EVENTOUT
-PortB,PB5,,,TIM3_CH2,,I2C1_SMBA,SPI1_MOSI,SPI3_MOSI/I2S3_SD,,,CAN2_RX,OTG_HS_ULPI_D7,ETH_PPS_OUT,,DCMI_D10,,EVENTOUT
-PortB,PB6,,,TIM4_CH1,,I2C1_SCL,,,USART1_TX,,CAN2_TX,,,,DCMI_D5,,EVENTOUT
-PortB,PB7,,,TIM4_CH2,,I2C1_SDA,,,USART1_RX,,,,,FSMC_NL,DCMI_VSYNC,,EVENTOUT
-PortB,PB8,,,TIM4_CH3,TIM10_CH1,I2C1_SCL,,,,,CAN1_RX,,ETH_MII_TXD3,SDIO_D4,DCMI_D6,,EVENTOUT
-PortB,PB9,,,TIM4_CH4,TIM11_CH1,I2C1_SDA,SPI2_NSS/I2S2_WS,,,,CAN1_TX,,,SDIO_D5,DCMI_D7,,EVENTOUT
-PortB,PB10,,TIM2_CH3,,,I2C2_SCL,SPI2_SCKI2S2_CK,,USART3_TX,,,OTG_HS_ULPI_D3,ETH_MII_RX_ER,,,,EVENTOUT
-PortB,PB11,,TIM2_CH4,,,I2C2_SDA,,,USART3_RX,,,OTG_HS_ULPI_D4,ETH_MII_TX_EN/ETH_RMII_TX_EN,,,,EVENTOUT
-PortB,PB12,,TIM1_BKIN,,,I2C2_SMBA,SPI2_NSS/I2S2_WS,,USART3_CK,,CAN2_RX,OTG_HS_ULPI_D5,ETH_MII_TXD0/ETH_RMII_TXD0,OTG_HS_ID,,,EVENTOUT
-PortB,PB13,,TIM1_CH1N,,,,SPI2_SCKI2S2_CK,,USART3_CTS,,CAN2_TX,OTG_HS_ULPI_D6,ETH_MII_TXD1/ETH_RMII_TXD1,,,,EVENTOUT
-PortB,PB14,,TIM1_CH2N,,TIM8_CH2N,,SPI2_MISO,I2S2ext_SD,USART3_RTS,,TIM12_CH1,,,OTG_HS_DM,,,EVENTOUT
-PortB,PB15,RTC_REFIN,TIM1_CH3N,,TIM8_CH3N,,SPI2_MOSI/I2S2_SD,,,,TIM12_CH2,,,OTG_HS_DP,,,EVENTOUT
-PortC,PC0,,,,,,,,,,,OTG_HS_ULPI_STP,,,,,EVENTOUT
-PortC,PC1,,,,,,,,,,,,ETH_MDC,,,,EVENTOUT
-PortC,PC2,,,,,,SPI2_MISO,I2S2ext_SD,,,,OTG_HS_ULPI_DIR,ETH_MII_TXD2,,,,EVENTOUT
-PortC,PC3,,,,,,SPI2_MOSI/I2S2_SD,,,,,OTG_HS_ULPI_NXT,ETH_MII_TX_CLK,,,,EVENTOUT
-PortC,PC4,,,,,,,,,,,,ETH_MII_RXD0/ETH_RMII_RXD0,,,,EVENTOUT
-PortC,PC5,,,,,,,,,,,,ETH_MII_RXD1/ETH_RMII_RXD1,,,,EVENTOUT
-PortC,PC6,,,TIM3_CH1,TIM8_CH1,,I2S2_MCK,,,USART6_TX,,,,SDIO_D6,DCMI_D0,,EVENTOUT
-PortC,PC7,,,TIM3_CH2,TIM8_CH2,,,I2S3_MCK,,USART6_RX,,,,SDIO_D7,DCMI_D1,,EVENTOUT
-PortC,PC8,,,TIM3_CH3,TIM8_CH3,,,,,USART6_CK,,,,SDIO_D0,DCMI_D2,,EVENTOUT
-PortC,PC9,MCO2,,TIM3_CH4,TIM8_CH4,I2C3_SDA,I2S_CKIN,,,,,,,SDIO_D1,DCMI_D3,,EVENTOUT
-PortC,PC10,,,,,,,SPI3_SCK/I2S3_CK,USART3_TX,UART4_TX,,,,SDIO_D2,DCMI_D8,,EVENTOUT
-PortC,PC11,,,,,,I2S3ext_SD,SPI3_MISO,USART3_RX,UART4_RX,,,,SDIO_D3,DCMI_D4,,EVENTOUT
-PortC,PC12,,,,,,,SPI3_MOSI/I2S3_SD,USART3_CK,UART5_TX,,,,SDIO_CK,DCMI_D9,,EVENTOUT
-PortC,PC13,,,,,,,,,,,,,,,,EVENTOUT
-PortC,PC14,,,,,,,,,,,,,,,,EVENTOUT
-PortC,PC15,,,,,,,,,,,,,,,,EVENTOUT
-PortD,PD0,,,,,,,,,,CAN1_RX,,,FSMC_D2,,,EVENTOUT
-PortD,PD1,,,,,,,,,,CAN1_TX,,,FSMC_D3,,,EVENTOUT
-PortD,PD2,,,TIM3_ETR,,,,,,UART5_RX,,,,SDIO_CMD,DCMI_D11,,EVENTOUT
-PortD,PD3,,,,,,,,USART2_CTS,,,,,FSMC_CLK,,,EVENTOUT
-PortD,PD4,,,,,,,,USART2_RTS,,,,,FSMC_NOE,,,EVENTOUT
-PortD,PD5,,,,,,,,USART2_TX,,,,,FSMC_NWE,,,EVENTOUT
-PortD,PD6,,,,,,,,USART2_RX,,,,,FSMC_NWAIT,,,EVENTOUT
-PortD,PD7,,,,,,,,USART2_CK,,,,,FSMC_NE1/FSMC_NCE2,,,EVENTOUT
-PortD,PD8,,,,,,,,USART3_TX,,,,,FSMC_D13,,,EVENTOUT
-PortD,PD9,,,,,,,,USART3_RX,,,,,FSMC_D14,,,EVENTOUT
-PortD,PD10,,,,,,,,USART3_CK,,,,,FSMC_D15,,,EVENTOUT
-PortD,PD11,,,,,,,,USART3_CTS,,,,,FSMC_A16,,,EVENTOUT
-PortD,PD12,,,TIM4_CH1,,,,,USART3_RTS,,,,,FSMC_A17,,,EVENTOUT
-PortD,PD13,,,TIM4_CH2,,,,,,,,,,FSMC_A18,,,EVENTOUT
-PortD,PD14,,,TIM4_CH3,,,,,,,,,,FSMC_D0,,,EVENTOUT
-PortD,PD15,,,TIM4_CH4,,,,,,,,,,FSMC_D1,,,EVENTOUT
-PortE,PE0,,,TIM4_ETR,,,,,,,,,,FSMC_NBL0,DCMI_D2,,EVENTOUT
-PortE,PE1,,,,,,,,,,,,,FSMC_NBL1,DCMI_D3,,EVENTOUT
-PortE,PE2,TRACECLK,,,,,,,,,,,ETH_MII_TXD3,FSMC_A23,,,EVENTOUT
-PortE,PE3,TRACED0,,,,,,,,,,,,FSMC_A19,,,EVENTOUT
-PortE,PE4,TRACED1,,,,,,,,,,,,FSMC_A20,DCMI_D4,,EVENTOUT
-PortE,PE5,TRACED2,,,TIM9_CH1,,,,,,,,,FSMC_A21,DCMI_D6,,EVENTOUT
-PortE,PE6,TRACED3,,,TIM9_CH2,,,,,,,,,FSMC_A22,DCMI_D7,,EVENTOUT
-PortE,PE7,,TIM1_ETR,,,,,,,,,,,FSMC_D4,,,EVENTOUT
-PortE,PE8,,TIM1_CH1N,,,,,,,,,,,FSMC_D5,,,EVENTOUT
-PortE,PE9,,TIM1_CH1,,,,,,,,,,,FSMC_D6,,,EVENTOUT
-PortE,PE10,,TIM1_CH2N,,,,,,,,,,,FSMC_D7,,,EVENTOUT
-PortE,PE11,,TIM1_CH2,,,,,,,,,,,FSMC_D8,,,EVENTOUT
-PortE,PE12,,TIM1_CH3N,,,,,,,,,,,FSMC_D9,,,EVENTOUT
-PortE,PE13,,TIM1_CH3,,,,,,,,,,,FSMC_D10,,,EVENTOUT
-PortE,PE14,,TIM1_CH4,,,,,,,,,,,FSMC_D11,,,EVENTOUT
-PortE,PE15,,TIM1_BKIN,,,,,,,,,,,FSMC_D12,,,EVENTOUT
-PortF,PF0,,,,,I2C2_SDA,,,,,,,,FSMC_A0,,,EVENTOUT
-PortF,PF1,,,,,I2C2_SCL,,,,,,,,FSMC_A1,,,EVENTOUT
-PortF,PF2,,,,,I2C2_SMBA,,,,,,,,FSMC_A2,,,EVENTOUT
-PortF,PF3,,,,,,,,,,,,,FSMC_A3,,,EVENTOUT
-PortF,PF4,,,,,,,,,,,,,FSMC_A4,,,EVENTOUT
-PortF,PF5,,,,,,,,,,,,,FSMC_A5,,,EVENTOUT
-PortF,PF6,,,,TIM10_CH1,,,,,,,,,FSMC_NIORD,,,EVENTOUT
-PortF,PF7,,,,TIM11_CH1,,,,,,,,,FSMC_NREG,,,EVENTOUT
-PortF,PF8,,,,,,,,,,TIM13_CH1,,,FSMC_NIOWR,,,EVENTOUT
-PortF,PF9,,,,,,,,,,TIM14_CH1,,,FSMC_CD,,,EVENTOUT
-PortF,PF10,,,,,,,,,,,,,FSMC_INTR,,,EVENTOUT
-PortF,PF11,,,,,,,,,,,,,,DCMI_D12,,EVENTOUT
-PortF,PF12,,,,,,,,,,,,,FSMC_A6,,,EVENTOUT
-PortF,PF13,,,,,,,,,,,,,FSMC_A7,,,EVENTOUT
-PortF,PF14,,,,,,,,,,,,,FSMC_A8,,,EVENTOUT
-PortF,PF15,,,,,,,,,,,,,FSMC_A9,,,EVENTOUT
-PortG,PG0,,,,,,,,,,,,,FSMC_A10,,,EVENTOUT
-PortG,PG1,,,,,,,,,,,,,FSMC_A11,,,EVENTOUT
-PortG,PG2,,,,,,,,,,,,,FSMC_A12,,,EVENTOUT
-PortG,PG3,,,,,,,,,,,,,FSMC_A13,,,EVENTOUT
-PortG,PG4,,,,,,,,,,,,,FSMC_A14,,,EVENTOUT
-PortG,PG5,,,,,,,,,,,,,FSMC_A15,,,EVENTOUT
-PortG,PG6,,,,,,,,,,,,,FSMC_INT2,,,EVENTOUT
-PortG,PG7,,,,,,,,,USART6_CK,,,,FSMC_INT3,,,EVENTOUT
-PortG,PG8,,,,,,,,,USART6_RTS,,,ETH_PPS_OUT,,,,EVENTOUT
-PortG,PG9,,,,,,,,,USART6_RX,,,,FSMC_NE2/FSMC_NCE3,,,EVENTOUT
-PortG,PG10,,,,,,,,,,,,,FSMC_NCE4_1/FSMC_NE3,,,EVENTOUT
-PortG,PG11,,,,,,,,,,,,ETH_MII_TX_EN/ETH_RMII_TX_EN,FSMC_NCE4_2,,,EVENTOUT
-PortG,PG12,,,,,,,,,USART6_RTS,,,,FSMC_NE4,,,EVENTOUT
-PortG,PG13,,,,,,,,,USART6_CTS,,,ETH_MII_TXD0/ETH_RMII_TXD0,FSMC_A24,,,EVENTOUT
-PortG,PG14,,,,,,,,,USART6_TX,,,ETH_MII_TXD1/ETH_RMII_TXD1,FSMC_A25,,,EVENTOUT
-PortG,PG15,,,,,,,,,USART6_CTS,,,,,DCMI_D13,,EVENTOUT
-PortH,PH0,,,,,,,,,,,,,,,,EVENTOUT
-PortH,PH1,,,,,,,,,,,,,,,,EVENTOUT
-PortH,PH2,,,,,,,,,,,,ETH_MII_CRS,,,,EVENTOUT
-PortH,PH3,,,,,,,,,,,,ETH_MII_COL,,,,EVENTOUT
-PortH,PH4,,,,,I2C2_SCL,,,,,,OTG_HS_ULPI_NXT,,,,,EVENTOUT
-PortH,PH5,,,,,I2C2_SDA,,,,,,,,,,,EVENTOUT
-PortH,PH6,,,,,I2C2_SMBA,,,,,TIM12_CH1,,ETH_MII_RXD2,,,,EVENTOUT
-PortH,PH7,,,,,I2C3_SCL,,,,,,,ETH_MII_RXD3,,,,EVENTOUT
-PortH,PH8,,,,,I2C3_SDA,,,,,,,,,DCMI_HSYNC,,EVENTOUT
-PortH,PH9,,,,,I2C3_SMBA,,,,,TIM12_CH2,,,,DCMI_D0,,EVENTOUT
-PortH,PH10,,,TIM5_CH1,,,,,,,,,,,DCMI_D1,,EVENTOUT
-PortH,PH11,,,TIM5_CH2,,,,,,,,,,,DCMI_D2,,EVENTOUT
-PortH,PH12,,,TIM5_CH3,,,,,,,,,,,DCMI_D3,,EVENTOUT
-PortH,PH13,,,,TIM8_CH1N,,,,,,CAN1_TX,,,,,,EVENTOUT
-PortH,PH14,,,,TIM8_CH2N,,,,,,,,,,DCMI_D4,,EVENTOUT
-PortH,PH15,,,,TIM8_CH3N,,,,,,,,,,DCMI_D11,,EVENTOUT
-PortI,PI0,,,TIM5_CH4,,,SPI2_NSS/I2S2_WS,,,,,,,,DCMI_D13,,EVENTOUT
-PortI,PI1,,,,,,SPI2_SCKI2S2_CK,,,,,,,,DCMI_D8,,EVENTOUT
-PortI,PI2,,,,TIM8_CH4,,SPI2_MISO,I2S2ext_SD,,,,,,,DCMI_D9,,EVENTOUT
-PortI,PI3,,,,TIM8_ETR,,SPI2_MOSI/I2S2_SD,,,,,,,,DCMI_D10,,EVENTOUT
-PortI,PI4,,,,TIM8_BKIN,,,,,,,,,,DCMI_D5,,EVENTOUT
-PortI,PI5,,,,TIM8_CH1,,,,,,,,,,DCMI_VSYNC,,EVENTOUT
-PortI,PI6,,,,TIM8_CH2,,,,,,,,,,DCMI_D6,,EVENTOUT
-PortI,PI7,,,,TIM8_CH3,,,,,,,,,,DCMI_D7,,EVENTOUT
-PortI,PI8,,,,,,,,,,,,,,,,EVENTOUT
-PortI,PI9,,,,,,,,,,CAN1_RX,,,,,,EVENTOUT
-PortI,PI10,,,,,,,,,,,,ETH_MII_RX_ER,,,,EVENTOUT
-PortI,PI11,,,,,,,,,,,OTG_HS_ULPI_DIR,,,,,EVENTOUT
diff --git a/stm/boards/stm32f4xx-prefix.c b/stm/boards/stm32f4xx-prefix.c
deleted file mode 100644
index e68de4cf4..000000000
--- a/stm/boards/stm32f4xx-prefix.c
+++ /dev/null
@@ -1,34 +0,0 @@
-// stm32fxx-prefix.c becomes the initial portion of the generated pins file.
-
-#include <stdio.h>
-#include <stdint.h>
-#include <stm32f4xx.h>
-
-#include "misc.h"
-#include "mpconfig.h"
-#include "qstr.h"
-#include "obj.h"
-
-#include "pin.h"
-
-#define AF(af_idx, af_fn, af_unit, af_type, af_ptr) \
-{ \
- { &pin_af_obj_type }, \
- .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_num_af, p_af) \
-{ \
- { &pin_obj_type }, \
- .name = #p_port #p_pin, \
- .port = PORT_ ## p_port, \
- .pin = (p_pin), \
- .num_af = (p_num_af), \
- .pin_mask = (1 << ((p_pin) & 0x0f)), \
- .gpio = GPIO ## p_port, \
- .af = p_af, \
-}