File indexing completed on 2025-05-11 08:23:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include <bsp.h>
0017 #include <bsp/irq-generic.h>
0018 #include <rtems/bspIo.h>
0019 #include <s3c24xx.h>
0020
0021
0022
0023
0024 static void bsp_start_default( void )
0025 {
0026 uint32_t cr;
0027 uint32_t pend,last;
0028 uint32_t REFCNT;
0029 int i;
0030
0031
0032 #ifdef CPU_S3C2400
0033 rTICINT = 0x0;
0034 #else
0035 rTICNT = 0x0;
0036 #endif
0037
0038 rWTCON = 0x0;
0039 rTCON = 0x0;
0040 rADCCON = 0x0;
0041
0042
0043 rINTMOD = 0x0;
0044 rINTMSK = BIT_ALLMSK;
0045
0046 last = 0;
0047 for(i=0; i<4; i++) {
0048 pend = rSRCPND;
0049 if(pend == 0 || pend == last)
0050 break;
0051 rSRCPND = pend;
0052 rINTPND = pend;
0053 last = pend;
0054 }
0055
0056
0057 rCLKDIVN = M_CLKDIVN;
0058 rMPLLCON = ((M_MDIV<<12)+(M_PDIV<<4)+M_SDIV);
0059
0060
0061
0062 REFCNT = 2048+1-(15.6*get_HCLK()/1000000);
0063 rREFRESH = ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT);
0064
0065
0066 cr = rTCFG0 & 0xFFFF00FF;
0067 rTCFG0 = (cr | (15<<8));
0068
0069
0070 cr = rTCFG0 & 0xFFFFFF00;
0071 rTCFG0 = (cr | (0<<0));
0072
0073
0074
0075
0076 bsp_interrupt_initialize();
0077 }
0078
0079
0080
0081
0082
0083 void bsp_start (void) __attribute__ ((weak, alias("bsp_start_default")));