aboutsummaryrefslogtreecommitdiffstats
path: root/boards
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-11-03 09:39:53 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2012-11-03 09:39:53 +0000
commit361e43c4dcc20cfcc463a3f1577e663f3db02473 (patch)
tree0caadff2e5118dd88822eb6e5b6a0b6261b68854 /boards
parented90eed65f02668e01c5873b45b3eaf4ed62dd47 (diff)
downloadChibiOS-361e43c4dcc20cfcc463a3f1577e663f3db02473.tar.gz
ChibiOS-361e43c4dcc20cfcc463a3f1577e663f3db02473.tar.bz2
ChibiOS-361e43c4dcc20cfcc463a3f1577e663f3db02473.zip
Fixed bug 3581929.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@4793 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'boards')
-rw-r--r--boards/OLIMEX_STM32_P407/board.c24
-rw-r--r--boards/OLIMEX_STM32_P407/board.h4
2 files changed, 26 insertions, 2 deletions
diff --git a/boards/OLIMEX_STM32_P407/board.c b/boards/OLIMEX_STM32_P407/board.c
index 59b6e9de6..2be03d673 100644
--- a/boards/OLIMEX_STM32_P407/board.c
+++ b/boards/OLIMEX_STM32_P407/board.c
@@ -51,6 +51,30 @@ void __early_init(void) {
stm32_clock_init();
}
+#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
+/**
+ * @brief MMC_SPI card detection.
+ */
+bool_t mmc_lld_is_card_inserted(MMCDriver *mmcp) {
+ static bool_t last_status = FALSE;
+ (void)mmcp;
+
+ if ((palReadLatch(GPIOD) & PAL_PORT_BIT(GPIOD_SPI3_CS)) == 0)
+ return last_status;
+ return last_status = (bool_t)palReadPad(GPIOD, GPIOD_SPI3_CS);
+}
+
+/**
+ * @brief MMC_SPI card write protection detection.
+ */
+bool_t mmc_lld_is_write_protected(MMCDriver *mmcp) {
+
+ (void)mmcp;
+ /* TODO: Fill the implementation.*/
+ return FALSE;
+}
+#endif
+
/*
* Board-specific initialization code.
*/
diff --git a/boards/OLIMEX_STM32_P407/board.h b/boards/OLIMEX_STM32_P407/board.h
index 1fd941809..042e6f3c5 100644
--- a/boards/OLIMEX_STM32_P407/board.h
+++ b/boards/OLIMEX_STM32_P407/board.h
@@ -362,7 +362,7 @@
*
* PD0 - GPIOD_USELESS0 (input pull-up).
* PD1 - GPIOD_USELESS1 (input pull-up).
- * PD2 - GPIOD_SPI3_CS (output push-pull).
+ * PD2 - GPIOD_SPI3_CS (output opendrain).
* PD3 - GPIOD_LCD_RST (output push-pull).
* PD4 - GPIOD_USELESS4 (input pull-up).
* PD5 - GPIOD_USELESS5 (input pull-up).
@@ -393,7 +393,7 @@
PIN_MODE_INPUT(GPIOD_USB_HS_FAULT) | \
PIN_MODE_INPUT(GPIOD_USELESS14) | \
PIN_MODE_INPUT(GPIOD_USELESS15))
-#define VAL_GPIOD_OTYPER 0x00000000
+#define VAL_GPIOD_OTYPER PIN_OTYPE_OPENDRAIN(GPIOD_SPI3_CS)
#define VAL_GPIOD_OSPEEDR 0xFFFFFFFF
#define VAL_GPIOD_PUPDR (PIN_PUDR_PULLUP(GPIOD_USELESS0) | \
PIN_PUDR_PULLUP(GPIOD_USELESS1) | \