aboutsummaryrefslogtreecommitdiffstats
path: root/wirish/boards
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@leaflabs.com>2011-04-25 21:23:00 -0400
committerMarti Bolivar <mbolivar@leaflabs.com>2011-04-25 22:03:25 -0400
commit95af192c99459c56bb30763afd93582a524efc3a (patch)
treee664f8366a82181a8e1a5e42f514651f90b72888 /wirish/boards
parentbf72983543f446026556e13f62d63aad2092f1ec (diff)
downloadlibrambutan-95af192c99459c56bb30763afd93582a524efc3a.tar.gz
librambutan-95af192c99459c56bb30763afd93582a524efc3a.zip
Better debug port support.
- gpio.h: afio_mapr_swj_config() renamed afio_cfg_debug_ports() - [new] wirish_debug.h: disableDebugPorts(), enableDebugPorts() - Maple, Maple Native, and Maple RET6 PIN_MAPs are now larger by 5, have mappings for the extra JTAG/SW pins. Documentation was updated appropriately.
Diffstat (limited to 'wirish/boards')
-rw-r--r--wirish/boards/maple.cpp13
-rw-r--r--wirish/boards/maple.h13
-rw-r--r--wirish/boards/maple_mini.cpp5
-rw-r--r--wirish/boards/maple_mini.h6
-rw-r--r--wirish/boards/maple_native.cpp16
-rw-r--r--wirish/boards/maple_native.h10
6 files changed, 52 insertions, 11 deletions
diff --git a/wirish/boards/maple.cpp b/wirish/boards/maple.cpp
index 5122290..2d35e7b 100644
--- a/wirish/boards/maple.cpp
+++ b/wirish/boards/maple.cpp
@@ -88,7 +88,15 @@ extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = {
{GPIOC, NULL, NULL, 6, 0, ADCx}, /* D35/PC6 */
{GPIOC, NULL, NULL, 7, 0, ADCx}, /* D36/PC7 */
{GPIOC, NULL, NULL, 8, 0, ADCx}, /* D37/PC8 */
- {GPIOC, NULL, NULL, 9, 0, ADCx} /* D38/PC9 (BUT) */
+ {GPIOC, NULL, NULL, 9, 0, ADCx}, /* D38/PC9 (BUT) */
+
+ /* JTAG header */
+
+ {GPIOA, NULL, NULL, 13, 0, ADCx}, /* D39/PA13 */
+ {GPIOA, NULL, NULL, 14, 0, ADCx}, /* D40/PA14 */
+ {GPIOA, NULL, NULL, 15, 0, ADCx}, /* D41/PA15 */
+ {GPIOB, NULL, NULL, 3, 0, ADCx}, /* D42/PB3 */
+ {GPIOB, NULL, NULL, 4, 0, ADCx}, /* D43/PB4 */
};
extern const uint8 boardPWMPins[] __FLASH__ = {
@@ -100,7 +108,8 @@ extern const uint8 boardADCPins[] __FLASH__ = {
};
extern const uint8 boardUsedPins[] __FLASH__ = {
- BOARD_LED_PIN, BOARD_BUTTON_PIN
+ BOARD_LED_PIN, BOARD_BUTTON_PIN, BOARD_JTMS_SWDIO_PIN,
+ BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN
};
#endif
diff --git a/wirish/boards/maple.h b/wirish/boards/maple.h
index 1867de8..4a4465c 100644
--- a/wirish/boards/maple.h
+++ b/wirish/boards/maple.h
@@ -54,7 +54,7 @@
/* Total number of GPIO pins that are broken out to headers and
* intended for general use. */
-#define BOARD_NR_GPIO_PINS 39
+#define BOARD_NR_GPIO_PINS 44
/* Number of pins capable of PWM output */
#define BOARD_NR_PWM_PINS 16
@@ -64,6 +64,15 @@
/* Number of pins already connected to external hardware. For Maple,
* these are just BOARD_LED_PIN and BOARD_BUTTON_PIN. */
-#define BOARD_NR_USED_PINS 2
+#define BOARD_NR_USED_PINS 7
+
+/*
+ * Debug port pins
+ */
+#define BOARD_JTMS_SWDIO_PIN 39
+#define BOARD_JTCK_SWCLK_PIN 40
+#define BOARD_JTDI_PIN 41
+#define BOARD_JTDO_PIN 42
+#define BOARD_NJTRST_PIN 43
#endif
diff --git a/wirish/boards/maple_mini.cpp b/wirish/boards/maple_mini.cpp
index cd2827d..02d62c7 100644
--- a/wirish/boards/maple_mini.cpp
+++ b/wirish/boards/maple_mini.cpp
@@ -32,13 +32,14 @@
#include "maple_mini.h"
#include "gpio.h"
+#include "wirish_debug.h"
#ifdef BOARD_maple_mini
/* Since we want the Serial Wire/JTAG pins as GPIOs, disable both SW
* and JTAG debug support */
void boardInit(void) {
- afio_mapr_swj_config(AFIO_MAPR_SWJ_NO_JTAG_NO_SW);
+ disableDebugPorts();
}
extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = {
@@ -89,7 +90,7 @@ extern const uint8 boardPWMPins[BOARD_NR_PWM_PINS] __FLASH__ = {
};
extern const uint8 boardADCPins[BOARD_NR_ADC_PINS] __FLASH__ = {
- 3, 4, 5, 6, 7, 8, 9, 10, 11, 33 // NB 33 is LED
+ 3, 4, 5, 6, 7, 8, 9, 10, 11, 33 // NB: 33 is BOARD_LED_PIN
};
#define USB_DP 23
diff --git a/wirish/boards/maple_mini.h b/wirish/boards/maple_mini.h
index 8b7ae64..3df1da8 100644
--- a/wirish/boards/maple_mini.h
+++ b/wirish/boards/maple_mini.h
@@ -59,4 +59,10 @@
#define BOARD_NR_ADC_PINS 10
#define BOARD_NR_USED_PINS 4
+#define BOARD_JTMS_SWDIO_PIN 22
+#define BOARD_JTCK_SWCLK_PIN 21
+#define BOARD_JTDI_PIN 20
+#define BOARD_JTDO_PIN 19
+#define BOARD_NJTRST_PIN 18
+
#endif
diff --git a/wirish/boards/maple_native.cpp b/wirish/boards/maple_native.cpp
index adc9497..0b25bd4 100644
--- a/wirish/boards/maple_native.cpp
+++ b/wirish/boards/maple_native.cpp
@@ -72,7 +72,8 @@ extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = {
{GPIOB, TIMER4, NULL, 9, 4, ADCx}, /* D26/PB9 */
/* Bottom header */
- /* Note: D{49, 50, 51} are also TIMER2_CH{2, 3, 4}, respectively. */
+ /* Note: D{48, 49, 50, 51} are also TIMER2_CH{1, 2, 3, 4}, respectively. */
+ /* TODO remap timer 2 in boardInit(); make the appropriate changes here */
{GPIOD, NULL, NULL, 2, 0, ADCx}, /* D27/PD2 */
{GPIOD, NULL, NULL, 3, 0, ADCx}, /* D28/PD3 */
@@ -150,7 +151,15 @@ extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = {
{GPIOG, NULL, NULL, 4, 0, ADCx}, /* D97/PG4 */
{GPIOD, NULL, NULL, 9, 0, ADCx}, /* D98/PD9 */
{GPIOG, NULL, NULL, 5, 0, ADCx}, /* D99/PG5 */
- {GPIOD, NULL, NULL, 10, 0, ADCx} /* D100/PD10 */
+ {GPIOD, NULL, NULL, 10, 0, ADCx}, /* D100/PD10 */
+
+ /* JTAG header */
+
+ {GPIOA, NULL, NULL, 13, 0, ADCx}, /* D101/PA13 */
+ {GPIOA, NULL, NULL, 14, 0, ADCx}, /* D102/PA14 */
+ {GPIOA, NULL, NULL, 15, 0, ADCx}, /* D103/PA15 */
+ {GPIOB, NULL, NULL, 3, 0, ADCx}, /* D104/PB3 */
+ {GPIOB, NULL, NULL, 4, 0, ADCx} /* D105/PB4 */
};
extern const uint8 boardPWMPins[BOARD_NR_PWM_PINS] __FLASH__ = {
@@ -164,7 +173,8 @@ extern const uint8 boardADCPins[BOARD_NR_ADC_PINS] __FLASH__ = {
/* FIXME! see comment by BOARD_NR_USED_PINS in maple_native.h */
extern const uint8 boardUsedPins[BOARD_NR_USED_PINS] __FLASH__ = {
- BOARD_LED_PIN, BOARD_BUTTON_PIN
+ BOARD_LED_PIN, BOARD_BUTTON_PIN, BOARD_JTMS_SWDIO_PIN,
+ BOARD_JTCK_SWCLK_PIN, BOARD_JTDI_PIN, BOARD_JTDO_PIN, BOARD_NJTRST_PIN
};
#endif
diff --git a/wirish/boards/maple_native.h b/wirish/boards/maple_native.h
index 10dafa6..13df153 100644
--- a/wirish/boards/maple_native.h
+++ b/wirish/boards/maple_native.h
@@ -58,12 +58,18 @@
#define BOARD_UART5_TX_PIN 21
#define BOARD_UART5_RX_PIN 29
-#define BOARD_NR_GPIO_PINS 101
+#define BOARD_NR_GPIO_PINS 106
#define BOARD_NR_PWM_PINS 18
#define BOARD_NR_ADC_PINS 21
/* FIXME! this isn't true at all; almost all of the triple header pins
* are used by the FSMC by default. Fix this (and the corresponding
* boardUsedPins definition in maple_native.cpp) by QA time. */
-#define BOARD_NR_USED_PINS 2
+#define BOARD_NR_USED_PINS 7
+
+#define BOARD_JTMS_SWDIO_PIN 101
+#define BOARD_JTCK_SWCLK_PIN 102
+#define BOARD_JTDI_PIN 103
+#define BOARD_JTDO_PIN 104
+#define BOARD_NJTRST_PIN 105
#endif