in portable/Zynq.2019.3/xsdps.c [1675:1809]
u32 XSdPs_FrameCmd( XSdPs * InstancePtr,
u32 Cmd )
{
u32 RetVal;
RetVal = Cmd;
switch( Cmd )
{
case CMD0:
RetVal |= RESP_NONE;
break;
case CMD1:
RetVal |= RESP_R3;
break;
case CMD2:
RetVal |= RESP_R2;
break;
case CMD3:
if( InstancePtr->CardType == XSDPS_CARD_SD )
{
RetVal |= RESP_R6;
}
else
{
RetVal |= RESP_R1;
}
break;
case CMD4:
RetVal |= RESP_NONE;
break;
case CMD5:
RetVal |= RESP_R1B;
break;
case CMD6:
if( InstancePtr->CardType == XSDPS_CARD_SD )
{
RetVal |= RESP_R1 | ( u32 ) XSDPS_DAT_PRESENT_SEL_MASK;
}
else
{
RetVal |= RESP_R1B;
}
break;
case ACMD6:
RetVal |= RESP_R1;
break;
case CMD7:
RetVal |= RESP_R1;
break;
case CMD8:
if( InstancePtr->CardType == XSDPS_CARD_SD )
{
RetVal |= RESP_R1;
}
else
{
RetVal |= RESP_R1 | ( u32 ) XSDPS_DAT_PRESENT_SEL_MASK;
}
break;
case CMD9:
RetVal |= RESP_R2;
break;
case CMD11:
case CMD10:
case CMD12:
RetVal |= RESP_R1;
break;
case ACMD13:
RetVal |= RESP_R1 | ( u32 ) XSDPS_DAT_PRESENT_SEL_MASK;
break;
case CMD16:
RetVal |= RESP_R1;
break;
case CMD17:
case CMD18:
case CMD19:
case CMD21:
RetVal |= RESP_R1 | ( u32 ) XSDPS_DAT_PRESENT_SEL_MASK;
break;
case CMD23:
case ACMD23:
case CMD24:
case CMD25:
RetVal |= RESP_R1 | ( u32 ) XSDPS_DAT_PRESENT_SEL_MASK;
break;
case ACMD41:
RetVal |= RESP_R3;
break;
case ACMD42:
RetVal |= RESP_R1;
break;
case ACMD51:
RetVal |= RESP_R1 | ( u32 ) XSDPS_DAT_PRESENT_SEL_MASK;
break;
case CMD52:
case CMD55:
RetVal |= RESP_R1;
break;
case CMD58:
break;
default:
RetVal |= Cmd;
break;
}
return RetVal;
}