aboutsummaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorKévin Redon <kredon@sysmocom.de>2019-10-01 19:44:44 +0200
committerlaforge <laforge@osmocom.org>2019-10-04 15:55:02 +0000
commit9acff5ee5a960100ec78408328331c630bda782c (patch)
tree93b51a40acd21ee87c0b13e6fce77b47adcd6cb6 /firmware
parente5efbb156c04964ceb294fe1f8b06433c4d7d761 (diff)
make LED definitions board specific
the LEDs (2 of them) were connected to the same pins on all boards, up to the octsim-tester. to be able to have board specific LEDs the definitions have moved from common to the each board. at the same time I added a bit of documentation what the LEDs are used for. Change-Id: I3226a9187a8d0b657ccf5dcd8f3586b2578f96d2
Diffstat (limited to 'firmware')
-rw-r--r--firmware/libboard/common/include/board_common.h16
-rw-r--r--firmware/libboard/owhw/include/board.h15
-rw-r--r--firmware/libboard/qmod/include/board.h22
-rw-r--r--firmware/libboard/sam3p256/include/board.h15
-rw-r--r--firmware/libboard/simtrace/include/board.h15
5 files changed, 70 insertions, 13 deletions
diff --git a/firmware/libboard/common/include/board_common.h b/firmware/libboard/common/include/board_common.h
index ded4762..dd21e4b 100644
--- a/firmware/libboard/common/include/board_common.h
+++ b/firmware/libboard/common/include/board_common.h
@@ -56,16 +56,12 @@
/** Core definition */
#define cortexm3
-#define PIO_LED_RED PIO_PA17
-#define PIO_LED_GREEN PIO_PA18
-
-#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
-#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
-#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN
-
-#define LED_NUM_RED 0
-#define LED_NUM_GREEN 1
-
+/* LEDs are used to indicate the status
+ * the LED definition is board specific
+ * most boards have two LEDs, one green and one red
+ * the red LED indicates of the main firmware is ready (on) or if there is an error (blinking)
+ * the green LED indicates if the firmware is idling (on) or if there is activity (blinking)
+ */
/** USART0 pin RX */
#define PIN_USART0_RXD {PIO_PA9A_URXD0, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
/** USART0 pin TX */
diff --git a/firmware/libboard/owhw/include/board.h b/firmware/libboard/owhw/include/board.h
index 8c0052d..44472d0 100644
--- a/firmware/libboard/owhw/include/board.h
+++ b/firmware/libboard/owhw/include/board.h
@@ -31,6 +31,21 @@
/** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */
#define BOARD_MCK 58982400 // 18.432 * 16 / 5
+/** MCU pin connected to red LED */
+#define PIO_LED_RED PIO_PA17
+/** MCU pin connected to green LED */
+#define PIO_LED_GREEN PIO_PA18
+/** red LED pin definition */
+#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
+/** green LED pin definition */
+#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
+/** LEDs pin definition */
+#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN
+/** index for red LED in LEDs pin definition array */
+#define LED_NUM_RED 0
+/** index for green LED in LEDs pin definition array */
+#define LED_NUM_GREEN 1
+
/* USIM 2 interface (USART) */
#define PIN_USIM2_CLK {PIO_PA2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT}
#define PIN_USIM2_IO {PIO_PA6, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
diff --git a/firmware/libboard/qmod/include/board.h b/firmware/libboard/qmod/include/board.h
index a738daa..5165434 100644
--- a/firmware/libboard/qmod/include/board.h
+++ b/firmware/libboard/qmod/include/board.h
@@ -20,9 +20,6 @@
#include "board_common.h"
#include "simtrace_usb.h"
-#define LED_USIM1 LED_GREEN
-#define LED_USIM2 LED_RED
-
/** Name of the board */
#define BOARD_NAME "QMOD"
/** Board definition */
@@ -33,6 +30,25 @@
/** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */
#define BOARD_MCK 58000000 // 18.432 * 29 / 6
+/** MCU pin connected to red LED */
+#define PIO_LED_RED PIO_PA17
+/** MCU pin connected to green LED */
+#define PIO_LED_GREEN PIO_PA18
+/** red LED pin definition */
+#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
+/** green LED pin definition */
+#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
+/** LEDs pin definition */
+#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN
+/** index for red LED in LEDs pin definition array */
+#define LED_NUM_RED 0
+/** index for green LED in LEDs pin definition array */
+#define LED_NUM_GREEN 1
+/** the green LED is actually red and used as indication for USIM1 */
+#define LED_USIM1 LED_GREEN
+/** the green LED is actually red and used as indication for USIM2 */
+#define LED_USIM2 LED_RED
+
/* USIM 2 interface (USART) */
#define PIN_USIM2_CLK {PIO_PA2, PIOA, ID_PIOA, PIO_PERIPH_B, PIO_DEFAULT}
#define PIN_USIM2_IO {PIO_PA6, PIOA, ID_PIOA, PIO_PERIPH_A, PIO_DEFAULT}
diff --git a/firmware/libboard/sam3p256/include/board.h b/firmware/libboard/sam3p256/include/board.h
index bd2ab49..58e8a24 100644
--- a/firmware/libboard/sam3p256/include/board.h
+++ b/firmware/libboard/sam3p256/include/board.h
@@ -30,6 +30,21 @@
/** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */
#define BOARD_MCK 58000000
+/** MCU pin connected to yellow LED2 */
+#define PIO_LED_RED PIO_PA17
+/** MCU pin connected to green LED1 */
+#define PIO_LED_GREEN PIO_PA18
+/** red LED pin definition */
+#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
+/** green LED pin definition */
+#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
+/** LEDs pin definition */
+#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN
+/** index for red LED in LEDs pin definition array */
+#define LED_NUM_RED 0
+/** index for green LED in LEDs pin definition array */
+#define LED_NUM_GREEN 1
+
/** Pin configuration **/
/* Button to force bootloader start (shorted to ground when pressed */
#define PIN_BOOTLOADER_SW {PIO_PA20, PIOA, ID_PIOA, PIO_INPUT, PIO_DEFAULT}
diff --git a/firmware/libboard/simtrace/include/board.h b/firmware/libboard/simtrace/include/board.h
index 7703451..c109bea 100644
--- a/firmware/libboard/simtrace/include/board.h
+++ b/firmware/libboard/simtrace/include/board.h
@@ -31,6 +31,21 @@
/** desired main clock frequency (in Hz, based on BOARD_MAINOSC) */
#define BOARD_MCK 58982400 // 18.432 * 16 / 5
+/** MCU pin connected to red LED */
+#define PIO_LED_RED PIO_PA17
+/** MCU pin connected to green LED */
+#define PIO_LED_GREEN PIO_PA18
+/** red LED pin definition */
+#define PIN_LED_RED {PIO_LED_RED, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
+/** green LED pin definition */
+#define PIN_LED_GREEN {PIO_LED_GREEN, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
+/** LEDs pin definition */
+#define PINS_LEDS PIN_LED_RED, PIN_LED_GREEN
+/** index for red LED in LEDs pin definition array */
+#define LED_NUM_RED 0
+/** index for green LED in LEDs pin definition array */
+#define LED_NUM_GREEN 1
+
/** Pin configuration **/
/* Button to force bootloader start (shorted to ground when pressed */
#define PIN_BOOTLOADER_SW {PIO_PA31, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP}