#define SD_CS_0_IN SBIT(PINB,0)
#define SD_CS_0_DDR SBIT(DDRB,0)
-#define SD_CD_1 SBIT(PORTG,3) /* Card detect switch */
-#define SD_CD_1_IN SBIT(PING,3)
-#define SD_CD_1_DDR SBIT(DDRG,3)
+//#define SD_CD_1 SBIT(PORTG,3) /* Card detect switch */
+//#define SD_CD_1_IN SBIT(PING,3)
+//#define SD_CD_1_DDR SBIT(DDRG,3)
//#define SD_WP_1 SBIT(PORTG,5) /* Write protect switch */
#define SD_WP_1_IN SBIT(PING,5)
static
void deselect(BYTE drv)
{
- debug("*** enter deselect()\n");
+ //debug("*** enter deselect()\n");
if (drv == 0)
SD_CS_0 = 1;
else {
SD_CS_1 = 0;
#endif
}
- debug("*** exit deselect()\n");
+ //debug("*** exit deselect()\n");
}
/*-----------------------------------------------------------------------*/
static
int select(BYTE drv) /* 1:Successful, 0:Timeout */
{
- debug("*** enter select()\n");
+ //debug("*** enter select()\n");
if (drv == 0)
SD_CS_0 = 0;
else {
spi_rcvr();
if (wait_ready()) {
- debug("*** exit select() == 1\n");
+ //debug("*** exit select() == 1\n");
return 1; /* OK */
}
deselect(drv);
- debug("*** exit select() == 0\n");
+ //debug("*** exit select() == 0\n");
return 0; /* Timeout */
}
static
void power_on(BYTE drv)
{
- debug("*** enter power_on()\n");
+ //debug("*** enter power_on()\n");
if (drv == 0) {
#ifdef SD_PWR_0
#endif
}
- debug("*** exit power_on()\n");
+ //debug("*** exit power_on()\n");
}
static
void power_off(BYTE drv)
{
- debug("*** enter power_off()\n");
+ //debug("*** enter power_off()\n");
select(drv); /* Wait for card ready */
deselect(drv);
#endif
}
socket[drv].stat |= STA_NOINIT;
- debug("*** exit power_off()\n");
+ //debug("*** exit power_off()\n");
}
#if 0
} argtmp;
BYTE n, res;
- debug("*** send_cmd( %.2x )\n", cmd);
+ //debug("*** send_cmd( %.2x )\n", cmd);
if (cmd & 0x80) { /* ACMD<n> is the command sequense of CMD55-CMD<n> */
cmd &= 0x7F;
deselect(drv);
if (ty) { /* Initialization succeded */
- socket[drv].stat &= ~STA_NOINIT; /* Clear STA_NOINIT */
+ /* Clear STA_NOINIT */
+ socket[drv].stat = (socket[drv].stat & ~STA_NOINIT) | STA_FAST;
} else { /* Initialization failed */
power_off(drv);
}
/* Convert to byte address if needed */
if (!(socket[drv].CardType & CT_BLOCK))
sector *= 512;
- socket[drv].stat |= STA_FAST;
/* READ_MULTIPLE_BLOCK : READ_SINGLE_BLOCK */
cmd = count > 1 ? CMD18 : CMD17;
/* Convert to byte address if needed */
if (!(socket[drv].CardType & CT_BLOCK))
sector *= 512;
- socket[drv].stat |= STA_FAST;
if (count == 1) {
/* Single block write */