From b8fac29d997dab996a317e945eaa8ebf7ac24e9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Fr=C3=B6schle?= Date: Sun, 18 Nov 2012 09:25:28 +0000 Subject: [PATCH] loops to trick out DSPI FIFO --- BaS_gcc/sources/sd_card.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/BaS_gcc/sources/sd_card.c b/BaS_gcc/sources/sd_card.c index 62eb5d7..455d75a 100644 --- a/BaS_gcc/sources/sd_card.c +++ b/BaS_gcc/sources/sd_card.c @@ -54,6 +54,7 @@ uint32_t sd_com(uint32_t command) void sd_init(void) { uint32_t ret; + int i; xprintf("SD-Card initialization: "); @@ -89,24 +90,22 @@ void sd_init(void) MCF_DSPI_DMCR = 0x800d3c00; - ret = sd_com(0x082000ff); - ret = sd_com(0x082000ff); - ret = sd_com(0x082000ff); - ret = sd_com(0x082000ff); - ret = sd_com(0x082000ff); - ret = sd_com(0x082000ff); - ret = sd_com(0x082000ff); - ret = sd_com(0x082000ff); - ret = sd_com(0x082000ff); - ret = sd_com(0x082000ff); + for (i = 0; i < 10; i++) + { + ret = sd_com(0x082000ff); + } MCF_DSPI_DMCR = 0x802d3c00; - ret = sd_com(0x08200000); - ret = sd_com(0x08200000); + for (i = 0; i < 2; i++) + { + ret = sd_com(0x08200000); + } MCF_DSPI_DMCR = 0x800d3c00; - ret = sd_com(0x082000ff); - ret = sd_com(0x082000ff); + for (i = 0; i < 2; i++) + { + ret = sd_com(0x082000ff); + } wait(10000);