From 51dabac0961165cd38cdd0ba227aaf014190091c Mon Sep 17 00:00:00 2001 From: Dave Hylands Date: Mon, 17 Feb 2014 17:57:13 -0800 Subject: Add pin mapping code. This commit also introduces board directories and moves board specific config into the appropriate board directory. boards/stm32f4xx-af.csv was extracted from the STM32F4xx datasheet and hand-tweaked. make-pins.py takes boards/stm32f4xx-af.csv, boards/stm32f4xx-prefix.c, and boards/BOARD-NAME/pins.csv as input and generates the file build/pins_BOARD_NAME.c The generated pin file for PYBOARD4 looks like this: https://gist.github.com/dhylands/9063231 The generated pins file includes all of the supported alternate functions, and includes upsupported alternate functions as comments. See the commnet block at the top of stm/pin_map.c for details on how to use the pin mapper. I also went ahead and modified stm/gpio.c to use the pin mapper. --- stm/boards/NETDUINO_PLUS_2/mpconfigboard.h | 48 ++++++++++++++++++++++++++++++ stm/boards/NETDUINO_PLUS_2/pins.csv | 28 +++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 stm/boards/NETDUINO_PLUS_2/mpconfigboard.h create mode 100644 stm/boards/NETDUINO_PLUS_2/pins.csv (limited to 'stm/boards/NETDUINO_PLUS_2') diff --git a/stm/boards/NETDUINO_PLUS_2/mpconfigboard.h b/stm/boards/NETDUINO_PLUS_2/mpconfigboard.h new file mode 100644 index 000000000..9c407d9cd --- /dev/null +++ b/stm/boards/NETDUINO_PLUS_2/mpconfigboard.h @@ -0,0 +1,48 @@ +#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) + +#define USRSW_PORT (GPIOB) +#define USRSW_PIN (GPIO_Pin_11) +#define USRSW_PUPD (GPIO_PuPd_NOPULL) +#define USRSW_EXTI_PIN (EXTI_PinSource11) +#define USRSW_EXTI_PORT (EXTI_PortSourceGPIOB) +#define USRSW_EXTI_LINE (EXTI_Line11) +#define USRSW_EXTI_IRQN (EXTI15_10_IRQn) +#define USRSW_EXTI_EDGE (EXTI_Trigger_Rising) + +/* LED */ +#define PYB_LED1_PORT (GPIOA) // Blue LED +#define PYB_LED1_PIN (GPIO_Pin_10) + +#define PYB_LED2_PORT (GPIOC) // White LED (aka Power) +#define PYB_LED2_PIN (GPIO_Pin_13) + +#define PYB_LED3_PORT (GPIOA) // Same as Led(1) +#define PYB_LED3_PIN (GPIO_Pin_10) + +#define PYB_LED4_PORT (GPIOC) // Same as Led(2) +#define PYB_LED4_PIN (GPIO_Pin_13) + +#define PYB_OTYPE (GPIO_OType_PP) + +#define PYB_LED_ON(port, pin) (port->BSRRL = pin) +#define PYB_LED_OFF(port, pin) (port->BSRRH = pin) + +#define HSE_VALUE (25000000) diff --git a/stm/boards/NETDUINO_PLUS_2/pins.csv b/stm/boards/NETDUINO_PLUS_2/pins.csv new file mode 100644 index 000000000..f9b94a6c8 --- /dev/null +++ b/stm/boards/NETDUINO_PLUS_2/pins.csv @@ -0,0 +1,28 @@ +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 + -- cgit v1.2.3