Path: blob/master/arch/unicore32/include/mach/regs-sdc.h
10819 views
/*1* PKUnity Multi-Media Card and Security Digital Card (MMC/SD) Registers2*/3/*4* Clock Control Reg SDC_CCR5*/6#define SDC_CCR (PKUNITY_SDC_BASE + 0x0000)7/*8* Software Reset Reg SDC_SRR9*/10#define SDC_SRR (PKUNITY_SDC_BASE + 0x0004)11/*12* Argument Reg SDC_ARGUMENT13*/14#define SDC_ARGUMENT (PKUNITY_SDC_BASE + 0x0008)15/*16* Command Reg SDC_COMMAND17*/18#define SDC_COMMAND (PKUNITY_SDC_BASE + 0x000C)19/*20* Block Size Reg SDC_BLOCKSIZE21*/22#define SDC_BLOCKSIZE (PKUNITY_SDC_BASE + 0x0010)23/*24* Block Cound Reg SDC_BLOCKCOUNT25*/26#define SDC_BLOCKCOUNT (PKUNITY_SDC_BASE + 0x0014)27/*28* Transfer Mode Reg SDC_TMR29*/30#define SDC_TMR (PKUNITY_SDC_BASE + 0x0018)31/*32* Response Reg. 0 SDC_RES033*/34#define SDC_RES0 (PKUNITY_SDC_BASE + 0x001C)35/*36* Response Reg. 1 SDC_RES137*/38#define SDC_RES1 (PKUNITY_SDC_BASE + 0x0020)39/*40* Response Reg. 2 SDC_RES241*/42#define SDC_RES2 (PKUNITY_SDC_BASE + 0x0024)43/*44* Response Reg. 3 SDC_RES345*/46#define SDC_RES3 (PKUNITY_SDC_BASE + 0x0028)47/*48* Read Timeout Control Reg SDC_RTCR49*/50#define SDC_RTCR (PKUNITY_SDC_BASE + 0x002C)51/*52* Interrupt Status Reg SDC_ISR53*/54#define SDC_ISR (PKUNITY_SDC_BASE + 0x0030)55/*56* Interrupt Status Mask Reg SDC_ISMR57*/58#define SDC_ISMR (PKUNITY_SDC_BASE + 0x0034)59/*60* RX FIFO SDC_RXFIFO61*/62#define SDC_RXFIFO (PKUNITY_SDC_BASE + 0x0038)63/*64* TX FIFO SDC_TXFIFO65*/66#define SDC_TXFIFO (PKUNITY_SDC_BASE + 0x003C)6768/*69* SD Clock Enable SDC_CCR_CLKEN70*/71#define SDC_CCR_CLKEN FIELD(1, 1, 2)72/*73* [15:8] SDC_CCR_PDIV(v)74*/75#define SDC_CCR_PDIV(v) FIELD((v), 8, 8)7677/*78* Software reset enable SDC_SRR_ENABLE79*/80#define SDC_SRR_ENABLE FIELD(0, 1, 0)81/*82* Software reset disable SDC_SRR_DISABLE83*/84#define SDC_SRR_DISABLE FIELD(1, 1, 0)8586/*87* Response type SDC_COMMAND_RESTYPE_MASK88*/89#define SDC_COMMAND_RESTYPE_MASK FMASK(2, 0)90/*91* No response SDC_COMMAND_RESTYPE_NONE92*/93#define SDC_COMMAND_RESTYPE_NONE FIELD(0, 2, 0)94/*95* 136-bit long response SDC_COMMAND_RESTYPE_LONG96*/97#define SDC_COMMAND_RESTYPE_LONG FIELD(1, 2, 0)98/*99* 48-bit short response SDC_COMMAND_RESTYPE_SHORT100*/101#define SDC_COMMAND_RESTYPE_SHORT FIELD(2, 2, 0)102/*103* 48-bit short and test if busy response SDC_COMMAND_RESTYPE_SHORTBUSY104*/105#define SDC_COMMAND_RESTYPE_SHORTBUSY FIELD(3, 2, 0)106/*107* data ready SDC_COMMAND_DATAREADY108*/109#define SDC_COMMAND_DATAREADY FIELD(1, 1, 2)110#define SDC_COMMAND_CMDEN FIELD(1, 1, 3)111/*112* [10:5] SDC_COMMAND_CMDINDEX(v)113*/114#define SDC_COMMAND_CMDINDEX(v) FIELD((v), 6, 5)115116/*117* [10:0] SDC_BLOCKSIZE_BSMASK(v)118*/119#define SDC_BLOCKSIZE_BSMASK(v) FIELD((v), 11, 0)120/*121* [11:0] SDC_BLOCKCOUNT_BCMASK(v)122*/123#define SDC_BLOCKCOUNT_BCMASK(v) FIELD((v), 12, 0)124125/*126* Data Width 1bit SDC_TMR_WTH_1BIT127*/128#define SDC_TMR_WTH_1BIT FIELD(0, 1, 0)129/*130* Data Width 4bit SDC_TMR_WTH_4BIT131*/132#define SDC_TMR_WTH_4BIT FIELD(1, 1, 0)133/*134* Read SDC_TMR_DIR_READ135*/136#define SDC_TMR_DIR_READ FIELD(0, 1, 1)137/*138* Write SDC_TMR_DIR_WRITE139*/140#define SDC_TMR_DIR_WRITE FIELD(1, 1, 1)141142#define SDC_IR_MASK FMASK(13, 0)143#define SDC_IR_RESTIMEOUT FIELD(1, 1, 0)144#define SDC_IR_WRITECRC FIELD(1, 1, 1)145#define SDC_IR_READCRC FIELD(1, 1, 2)146#define SDC_IR_TXFIFOREAD FIELD(1, 1, 3)147#define SDC_IR_RXFIFOWRITE FIELD(1, 1, 4)148#define SDC_IR_READTIMEOUT FIELD(1, 1, 5)149#define SDC_IR_DATACOMPLETE FIELD(1, 1, 6)150#define SDC_IR_CMDCOMPLETE FIELD(1, 1, 7)151#define SDC_IR_RXFIFOFULL FIELD(1, 1, 8)152#define SDC_IR_RXFIFOEMPTY FIELD(1, 1, 9)153#define SDC_IR_TXFIFOFULL FIELD(1, 1, 10)154#define SDC_IR_TXFIFOEMPTY FIELD(1, 1, 11)155#define SDC_IR_ENDCMDWITHRES FIELD(1, 1, 12)156157158