diff options
| author | liufeilong <[email protected]> | 2019-08-21 13:42:17 +0800 |
|---|---|---|
| committer | liufeilong <[email protected]> | 2019-08-21 13:42:17 +0800 |
| commit | 1b01546ca00c6843ab401f28d0b95dc68e9ff41d (patch) | |
| tree | 73b221df63daac401bfd8beb98d80c961786eec1 /bsp/ls1cdev/drivers | |
| parent | 3ac168c9f61e26e181cee32a964d31b6f5807adb (diff) | |
新增sd初始化以及spi03设备
Diffstat (limited to 'bsp/ls1cdev/drivers')
| -rw-r--r-- | bsp/ls1cdev/drivers/drv_spi.c | 55 |
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 |
