📄 s3c24x0.h
字号:
} /*__attribute__((__packed__))*/ S3C24X0_WATCHDOG;
/* IIC (see manual chapter 20) */
typedef struct {
S3C24X0_REG32 IICCON;
S3C24X0_REG32 IICSTAT;
S3C24X0_REG32 IICADD;
S3C24X0_REG32 IICDS;
} /*__attribute__((__packed__))*/ S3C24X0_I2C;
/* IIS (see manual chapter 21) */
typedef struct {
#ifdef __BIG_ENDIAN
S3C24X0_REG16 res1;
S3C24X0_REG16 IISCON;
S3C24X0_REG16 res2;
S3C24X0_REG16 IISMOD;
S3C24X0_REG16 res3;
S3C24X0_REG16 IISPSR;
S3C24X0_REG16 res4;
S3C24X0_REG16 IISFCON;
S3C24X0_REG16 res5;
S3C24X0_REG16 IISFIFO;
#else /* little endian */
S3C24X0_REG16 IISCON;
S3C24X0_REG16 res1;
S3C24X0_REG16 IISMOD;
S3C24X0_REG16 res2;
S3C24X0_REG16 IISPSR;
S3C24X0_REG16 res3;
S3C24X0_REG16 IISFCON;
S3C24X0_REG16 res4;
S3C24X0_REG16 IISFIFO;
S3C24X0_REG16 res5;
#endif
} /*__attribute__((__packed__))*/ S3C24X0_I2S;
/* I/O PORT (see manual chapter 9) */
typedef struct {
#ifdef CONFIG_S3C2400
S3C24X0_REG32 ePACON;
S3C24X0_REG32 ePADAT;
S3C24X0_REG32 ePBCON;
S3C24X0_REG32 ePBDAT;
S3C24X0_REG32 ePBUP;
S3C24X0_REG32 ePCCON;
S3C24X0_REG32 ePCDAT;
S3C24X0_REG32 ePCUP;
S3C24X0_REG32 ePDCON;
S3C24X0_REG32 ePDDAT;
S3C24X0_REG32 ePDUP;
S3C24X0_REG32 ePECON;
S3C24X0_REG32 ePEDAT;
S3C24X0_REG32 ePEUP;
S3C24X0_REG32 ePFCON;
S3C24X0_REG32 ePFDAT;
S3C24X0_REG32 ePFUP;
S3C24X0_REG32 ePGCON;
S3C24X0_REG32 ePGDAT;
S3C24X0_REG32 ePGUP;
S3C24X0_REG32 eOPENCR;
S3C24X0_REG32 eMISCCR;
S3C24X0_REG32 eEXTINT;
#endif
#ifdef CONFIG_S3C2410
S3C24X0_REG32 eGPACON;
S3C24X0_REG32 eGPADAT;
S3C24X0_REG32 eres1[2];
S3C24X0_REG32 eGPBCON;
S3C24X0_REG32 eGPBDAT;
S3C24X0_REG32 eGPBUP;
S3C24X0_REG32 eres2;
S3C24X0_REG32 eGPCCON;
S3C24X0_REG32 eGPCDAT;
S3C24X0_REG32 eGPCUP;
S3C24X0_REG32 eres3;
S3C24X0_REG32 eGPDCON;
S3C24X0_REG32 eGPDDAT;
S3C24X0_REG32 eGPDUP;
S3C24X0_REG32 eres4;
S3C24X0_REG32 eGPECON;
S3C24X0_REG32 eGPEDAT;
S3C24X0_REG32 eGPEUP;
S3C24X0_REG32 eres5;
S3C24X0_REG32 eGPFCON;
S3C24X0_REG32 eGPFDAT;
S3C24X0_REG32 eGPFUP;
S3C24X0_REG32 eres6;
S3C24X0_REG32 eGPGCON;
S3C24X0_REG32 eGPGDAT;
S3C24X0_REG32 eGPGUP;
S3C24X0_REG32 eres7;
S3C24X0_REG32 eGPHCON;
S3C24X0_REG32 eGPHDAT;
S3C24X0_REG32 eGPHUP;
S3C24X0_REG32 eres8;
S3C24X0_REG32 eMISCCR;
S3C24X0_REG32 eDCLKCON;
S3C24X0_REG32 eEXTINT0;
S3C24X0_REG32 eEXTINT1;
S3C24X0_REG32 eEXTINT2;
S3C24X0_REG32 eEINTFLT0;
S3C24X0_REG32 eEINTFLT1;
S3C24X0_REG32 eEINTFLT2;
S3C24X0_REG32 eEINTFLT3;
S3C24X0_REG32 eEINTMASK;
S3C24X0_REG32 eEINTPEND;
S3C24X0_REG32 eGSTATUS0;
S3C24X0_REG32 eGSTATUS1;
S3C24X0_REG32 eGSTATUS2;
S3C24X0_REG32 eGSTATUS3;
S3C24X0_REG32 eGSTATUS4;
#endif
}S3C24X0_GPIO;
/* RTC (see manual chapter 17) */
typedef struct {
#ifdef __BIG_ENDIAN
S3C24X0_REG8 res1[67];
S3C24X0_REG8 RTCCON;
S3C24X0_REG8 res2[3];
S3C24X0_REG8 TICNT;
S3C24X0_REG8 res3[11];
S3C24X0_REG8 RTCALM;
S3C24X0_REG8 res4[3];
S3C24X0_REG8 ALMSEC;
S3C24X0_REG8 res5[3];
S3C24X0_REG8 ALMMIN;
S3C24X0_REG8 res6[3];
S3C24X0_REG8 ALMHOUR;
S3C24X0_REG8 res7[3];
S3C24X0_REG8 ALMDATE;
S3C24X0_REG8 res8[3];
S3C24X0_REG8 ALMMON;
S3C24X0_REG8 res9[3];
S3C24X0_REG8 ALMYEAR;
S3C24X0_REG8 res10[3];
S3C24X0_REG8 RTCRST;
S3C24X0_REG8 res11[3];
S3C24X0_REG8 BCDSEC;
S3C24X0_REG8 res12[3];
S3C24X0_REG8 BCDMIN;
S3C24X0_REG8 res13[3];
S3C24X0_REG8 BCDHOUR;
S3C24X0_REG8 res14[3];
S3C24X0_REG8 BCDDATE;
S3C24X0_REG8 res15[3];
S3C24X0_REG8 BCDDAY;
S3C24X0_REG8 res16[3];
S3C24X0_REG8 BCDMON;
S3C24X0_REG8 res17[3];
S3C24X0_REG8 BCDYEAR;
#else /* little endian */
S3C24X0_REG8 res0[64];
S3C24X0_REG8 RTCCON;
S3C24X0_REG8 res1[3];
S3C24X0_REG8 TICNT;
S3C24X0_REG8 res2[11];
S3C24X0_REG8 RTCALM;
S3C24X0_REG8 res3[3];
S3C24X0_REG8 ALMSEC;
S3C24X0_REG8 res4[3];
S3C24X0_REG8 ALMMIN;
S3C24X0_REG8 res5[3];
S3C24X0_REG8 ALMHOUR;
S3C24X0_REG8 res6[3];
S3C24X0_REG8 ALMDATE;
S3C24X0_REG8 res7[3];
S3C24X0_REG8 ALMMON;
S3C24X0_REG8 res8[3];
S3C24X0_REG8 ALMYEAR;
S3C24X0_REG8 res9[3];
S3C24X0_REG8 RTCRST;
S3C24X0_REG8 res10[3];
S3C24X0_REG8 BCDSEC;
S3C24X0_REG8 res11[3];
S3C24X0_REG8 BCDMIN;
S3C24X0_REG8 res12[3];
S3C24X0_REG8 BCDHOUR;
S3C24X0_REG8 res13[3];
S3C24X0_REG8 BCDDATE;
S3C24X0_REG8 res14[3];
S3C24X0_REG8 BCDDAY;
S3C24X0_REG8 res15[3];
S3C24X0_REG8 BCDMON;
S3C24X0_REG8 res16[3];
S3C24X0_REG8 BCDYEAR;
S3C24X0_REG8 res17[3];
#endif
} /*__attribute__((__packed__))*/ S3C24X0_RTC;
/* ADC (see manual chapter 16) */
typedef struct {
S3C24X0_REG32 ADCCON;
S3C24X0_REG32 ADCDAT;
} /*__attribute__((__packed__))*/ S3C2400_ADC;
/* ADC (see manual chapter 16) */
typedef struct {
S3C24X0_REG32 ADCCON;
S3C24X0_REG32 ADCTSC;
S3C24X0_REG32 ADCDLY;
S3C24X0_REG32 ADCDAT0;
S3C24X0_REG32 ADCDAT1;
} /*__attribute__((__packed__))*/ S3C2410_ADC;
/* SPI (see manual chapter 22) */
typedef struct {
S3C24X0_REG32 SPCON;
S3C24X0_REG32 SPSTA;
S3C24X0_REG32 SPPIN;
S3C24X0_REG32 SPPRE;
S3C24X0_REG32 SPTDAT;
S3C24X0_REG32 SPRDAT;
S3C24X0_REG32 res[2];
}/* __attribute__((__packed__))*/ S3C24X0_SPI_CHANNEL;
/*
typedef struct {
S3C24X0_SPI_CHANNEL ch[S3C24X0_SPI_CHANNELS];
} S3C24X0_SPI;
*/
/* MMC INTERFACE (see S3C2400 manual chapter 19) */
typedef struct {
#ifdef __BIG_ENDIAN
S3C24X0_REG8 res1[3];
S3C24X0_REG8 MMCON;
S3C24X0_REG8 res2[3];
S3C24X0_REG8 MMCRR;
S3C24X0_REG8 res3[3];
S3C24X0_REG8 MMFCON;
S3C24X0_REG8 res4[3];
S3C24X0_REG8 MMSTA;
S3C24X0_REG16 res5;
S3C24X0_REG16 MMFSTA;
S3C24X0_REG8 res6[3];
S3C24X0_REG8 MMPRE;
S3C24X0_REG16 res7;
S3C24X0_REG16 MMLEN;
S3C24X0_REG8 res8[3];
S3C24X0_REG8 MMCR7;
S3C24X0_REG32 MMRSP[4];
S3C24X0_REG8 res9[3];
S3C24X0_REG8 MMCMD0;
S3C24X0_REG32 MMCMD1;
S3C24X0_REG16 res10;
S3C24X0_REG16 MMCR16;
S3C24X0_REG8 res11[3];
S3C24X0_REG8 MMDAT;
#else
S3C24X0_REG8 MMCON;
S3C24X0_REG8 res1[3];
S3C24X0_REG8 MMCRR;
S3C24X0_REG8 res2[3];
S3C24X0_REG8 MMFCON;
S3C24X0_REG8 res3[3];
S3C24X0_REG8 MMSTA;
S3C24X0_REG8 res4[3];
S3C24X0_REG16 MMFSTA;
S3C24X0_REG16 res5;
S3C24X0_REG8 MMPRE;
S3C24X0_REG8 res6[3];
S3C24X0_REG16 MMLEN;
S3C24X0_REG16 res7;
S3C24X0_REG8 MMCR7;
S3C24X0_REG8 res8[3];
S3C24X0_REG32 MMRSP[4];
S3C24X0_REG8 MMCMD0;
S3C24X0_REG8 res9[3];
S3C24X0_REG32 MMCMD1;
S3C24X0_REG16 MMCR16;
S3C24X0_REG16 res10;
S3C24X0_REG8 MMDAT;
S3C24X0_REG8 res11[3];
#endif
} /*__attribute__((__packed__))*/ S3C2400_MMC;
/* SD INTERFACE (see S3C2410 manual chapter 19) */
typedef struct {
S3C24X0_REG32 SDICON;
S3C24X0_REG32 SDIPRE;
S3C24X0_REG32 SDICARG;
S3C24X0_REG32 SDICCON;
S3C24X0_REG32 SDICSTA;
S3C24X0_REG32 SDIRSP0;
S3C24X0_REG32 SDIRSP1;
S3C24X0_REG32 SDIRSP2;
S3C24X0_REG32 SDIRSP3;
S3C24X0_REG32 SDIDTIMER;
S3C24X0_REG32 SDIBSIZE;
S3C24X0_REG32 SDIDCON;
S3C24X0_REG32 SDIDCNT;
S3C24X0_REG32 SDIDSTA;
S3C24X0_REG32 SDIFSTA;
#ifdef __BIG_ENDIAN
S3C24X0_REG8 res[3];
S3C24X0_REG8 SDIDAT;
#else
S3C24X0_REG8 SDIDAT;
S3C24X0_REG8 res[3];
#endif
S3C24X0_REG32 SDIIMSK;
} /*__attribute__((__packed__))*/ S3C2410_SDI;
#endif /*__S3C24X0_H__*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -