Skip to content

Commit 1ce7537

Browse files
authored
boards/waspmote-pro: add sdcard configuration
1 parent 2e23885 commit 1ce7537

File tree

5 files changed

+71
-1
lines changed

5 files changed

+71
-1
lines changed

boards/waspmote-pro/Kconfig

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,19 @@ config BOARD_WASPMOTE_PRO
1111
bool
1212
default y
1313
select CPU_MODEL_ATMEGA1281
14+
select HAS_ARDUINO
1415
select HAS_PERIPH_ADC
1516
select HAS_PERIPH_I2C
1617
select HAS_PERIPH_SPI
1718
select HAS_PERIPH_TIMER
1819
select HAS_PERIPH_UART
19-
select HAS_ARDUINO
20+
select HAS_SDCARD_SPI
21+
22+
select HAVE_MTD_SDCARD
23+
select HAVE_SDCARD_SPI
24+
25+
select MODULE_FATFS_VFS if MODULE_VFS_DEFAULT
26+
select MODULE_MTD if MODULE_VFS_DEFAULT
27+
select MODULE_SDCARD_SPI if MODULE_MTD
2028

2129
source "$(RIOTKCONFIG)/Kconfig.ztimer_only"

boards/waspmote-pro/Makefile.dep

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,14 @@
22
# USEMODULE += saul_gpio
33
#endif
44

5+
ifneq (,$(filter mtd,$(USEMODULE)))
6+
USEMODULE += mtd_sdcard
7+
endif
8+
9+
# default to using fatfs on SD card
10+
ifneq (,$(filter vfs_default,$(USEMODULE)))
11+
USEMODULE += fatfs_vfs
12+
USEMODULE += mtd
13+
endif
14+
515
include $(RIOTMAKE)/boards/ztimer_only.dep.mk

boards/waspmote-pro/Makefile.features

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ FEATURES_PROVIDED += periph_i2c
66
FEATURES_PROVIDED += periph_spi
77
FEATURES_PROVIDED += periph_timer
88
FEATURES_PROVIDED += periph_uart
9+
FEATURES_PROVIDED += sdcard_spi
910

1011
# Various other features (if any)
1112
FEATURES_PROVIDED += arduino

boards/waspmote-pro/board.c

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,35 @@
2525
#include "board.h"
2626
#include "cpu.h"
2727

28+
#if defined(MODULE_MTD_SDCARD)
29+
#include "mtd_sdcard.h"
30+
#include "sdcard_spi.h"
31+
#include "sdcard_spi_params.h"
32+
33+
#if defined(MODULE_FATFS_VFS)
34+
#include "fs/fatfs.h"
35+
#include "vfs_default.h"
36+
#endif
37+
38+
/* this is provided by the sdcard_spi driver see drivers/sdcard_spi/sdcard_spi.c */
39+
extern sdcard_spi_t sdcard_spi_devs[ARRAY_SIZE(sdcard_spi_params)];
40+
41+
mtd_sdcard_t mtd_sdcard_dev = {
42+
.base = {
43+
.driver = &mtd_sdcard_driver,
44+
},
45+
.sd_card = &sdcard_spi_devs[0],
46+
.params = &sdcard_spi_params[0]
47+
};
48+
49+
mtd_dev_t *mtd0 = (mtd_dev_t *)&mtd_sdcard_dev;
50+
51+
#if IS_USED(MODULE_FATFS_VFS)
52+
VFS_AUTO_MOUNT(fatfs, VFS_MTD(mtd_sdcard_dev), VFS_DEFAULT_SD(0), 0);
53+
#endif /* MODULE_FATFS_VFS */
54+
55+
#endif /* MODULE_MTD_SDCARD */
56+
2857
void board_init(void)
2958
{
3059
/* initialize UART_1 on AUX1 */

boards/waspmote-pro/include/board.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#define BOARD_H
2222

2323
#include "cpu.h"
24+
#include "mtd.h"
2425
#include "waspmote_pinmap.h"
2526

2627
#ifdef __cplusplus
@@ -180,6 +181,27 @@ extern "C" {
180181
#define CONFIG_ZTIMER_USEC_WIDTH (16)
181182
/** @} */
182183

184+
/**
185+
* @name Onboard micro-sd slot pin definitions
186+
* @{
187+
*/
188+
#define SDCARD_SPI_PARAM_SPI SPI_DEV(0) /**< SPI device */
189+
#define SDCARD_SPI_PARAM_CS SD_SS /**< Chip Select */
190+
#define SDCARD_SPI_PARAM_CLK SD_SCK /**< Serial Clock */
191+
#define SDCARD_SPI_PARAM_MOSI SD_MOSI /**< Master Output, Slave Input */
192+
#define SDCARD_SPI_PARAM_MISO SD_MISO /**< Master Input, Slave Output */
193+
#define SDCARD_SPI_PARAM_POWER MEM_PW /**< Powen on/off */
194+
#define SDCARD_SPI_PARAM_POWER_AH (true) /**< Power on with power pin high */
195+
#define CARD_DETECT_PIN SD_PRESENT /**< Pin for card detect */
196+
197+
/** @} */
198+
199+
/** Default MTD device */
200+
#define MTD_0 mtd0
201+
202+
/** mtd flash emulation device */
203+
extern mtd_dev_t *mtd0;
204+
183205
#ifdef __cplusplus
184206
}
185207
#endif

0 commit comments

Comments
 (0)