summaryrefslogtreecommitdiff
path: root/bsp/ls1cdev/drivers
diff options
context:
space:
mode:
authorliufeilong <[email protected]>2019-08-21 13:42:17 +0800
committerliufeilong <[email protected]>2019-08-21 13:42:17 +0800
commit1b01546ca00c6843ab401f28d0b95dc68e9ff41d (patch)
tree73b221df63daac401bfd8beb98d80c961786eec1 /bsp/ls1cdev/drivers
parent3ac168c9f61e26e181cee32a964d31b6f5807adb (diff)
新增sd初始化以及spi03设备
Diffstat (limited to 'bsp/ls1cdev/drivers')
-rw-r--r--bsp/ls1cdev/drivers/drv_spi.c55
1 files changed, 38 insertions, 17 deletions
diff --git a/bsp/ls1cdev/drivers/drv_spi.c b/bsp/ls1cdev/drivers/drv_spi.c
index 4b81d55d71..3cc2212850 100644
--- a/bsp/ls1cdev/drivers/drv_spi.c
+++ b/bsp/ls1cdev/drivers/drv_spi.c
@@ -25,13 +25,14 @@
#include <rtthread.h>
#include <drivers/spi.h>
+#include <rthw.h>
#include "drv_spi.h"
+#include "ls1c_public.h"
+#include "spi_msd.h"
+#include "dfs_fs.h"
#include "../libraries/ls1c_pin.h"
#ifdef RT_USING_SPI
-
-//#define DEBUG
-
#ifdef DEBUG
#define DEBUG_PRINTF(...) rt_kprintf(__VA_ARGS__)
#else
@@ -265,20 +266,24 @@ int ls1c_hw_spi_init(void)
#ifdef RT_USING_SPI0
/* attach cs */
{
- static struct rt_spi_device spi_device0;
- static struct rt_spi_device spi_device1;
- static struct rt_spi_device spi_device2;
- static struct ls1c_spi_cs spi_cs0;
- static struct ls1c_spi_cs spi_cs1;
- static struct ls1c_spi_cs spi_cs2;
-
- /* spi02: CS2 SD Card*/
- spi_cs2.cs = LS1C_SPI_CS_2;
- rt_spi_bus_attach_device(&spi_device2, "spi02", "spi0", (void *)&spi_cs2);
- spi_cs1.cs = LS1C_SPI_CS_1;
- rt_spi_bus_attach_device(&spi_device1, "spi01", "spi0", (void *)&spi_cs1);
- spi_cs0.cs = LS1C_SPI_CS_0;
- rt_spi_bus_attach_device(&spi_device0, "spi00", "spi0", (void *)&spi_cs0);
+ static struct rt_spi_device spi_device0;
+ static struct rt_spi_device spi_device1;
+ static struct rt_spi_device spi_device2;
+ static struct rt_spi_device spi_device3;
+ static struct ls1c_spi_cs spi_cs0;
+ static struct ls1c_spi_cs spi_cs1;
+ static struct ls1c_spi_cs spi_cs2;
+ static struct ls1c_spi_cs spi_cs3;
+ /* spi02: CS2 SD Card*/
+ spi_cs2.cs = LS1C_SPI_CS_2;
+ rt_spi_bus_attach_device(&spi_device2, "spi02", "spi0", (void *)&spi_cs2);
+ spi_cs1.cs = LS1C_SPI_CS_1;
+ rt_spi_bus_attach_device(&spi_device1, "spi01", "spi0", (void *)&spi_cs1);
+ spi_cs0.cs = LS1C_SPI_CS_0;
+ rt_spi_bus_attach_device(&spi_device0, "spi00", "spi0", (void *)&spi_cs0);
+ spi_cs3.cs = LS1C_SPI_CS_3;
+ rt_spi_bus_attach_device(&spi_device3, "spi03", "spi0", (void*)&spi_cs3);
+ msd_init("sd0", "spi02");
}
#endif
#ifdef RT_USING_SPI1
@@ -296,5 +301,21 @@ int ls1c_hw_spi_init(void)
INIT_BOARD_EXPORT(ls1c_hw_spi_init);
+static int board_sd_init(void)
+{
+ #if defined(RT_USING_DFS) && defined(RT_USING_DFS_ELMFAT)
+ /* mount sd card fat partition 1 as root directory */
+ if( dfs_mount("sd0", "/", "elm", 0, 0) == 0)
+ {
+ rt_kprintf("File System initialized!\n");
+ }
+ else
+ {
+ rt_kprintf("File System initialzation failed!\n");
+ }
+ #endif /* RT_USING_DFS && RT_USING_DFS_ELMFAT */
+}
+INIT_APP_EXPORT(board_sd_init);
+
#endif