diff options
| -rw-r--r-- | arch/blackfin/mach-bf548/head.S | 49 |
1 files changed, 4 insertions, 45 deletions
diff --git a/arch/blackfin/mach-bf548/head.S b/arch/blackfin/mach-bf548/head.S index 4d5cfeacb123..b0628164e5d9 100644 --- a/arch/blackfin/mach-bf548/head.S +++ b/arch/blackfin/mach-bf548/head.S | |||
| @@ -73,25 +73,19 @@ ENTRY(_start_dma_code) | |||
| 73 | w[p0] = r0.l; | 73 | w[p0] = r0.l; |
| 74 | ssync; | 74 | ssync; |
| 75 | 75 | ||
| 76 | #if defined(CONFIG_BF54x) | 76 | /* enable self refresh via SRREQ */ |
| 77 | P2.H = hi(EBIU_RSTCTL); | 77 | P2.H = hi(EBIU_RSTCTL); |
| 78 | P2.L = lo(EBIU_RSTCTL); | 78 | P2.L = lo(EBIU_RSTCTL); |
| 79 | R0 = [P2]; | 79 | R0 = [P2]; |
| 80 | BITSET (R0, 3); | 80 | BITSET (R0, 3); |
| 81 | #else | ||
| 82 | P2.H = hi(EBIU_SDGCTL); | ||
| 83 | P2.L = lo(EBIU_SDGCTL); | ||
| 84 | R0 = [P2]; | ||
| 85 | BITSET (R0, 24); | ||
| 86 | #endif | ||
| 87 | [P2] = R0; | 81 | [P2] = R0; |
| 88 | SSYNC; | 82 | SSYNC; |
| 89 | #if defined(CONFIG_BF54x) | 83 | |
| 84 | /* wait for SRACK bit to be set */ | ||
| 90 | .LSRR_MODE: | 85 | .LSRR_MODE: |
| 91 | R0 = [P2]; | 86 | R0 = [P2]; |
| 92 | CC = BITTST(R0, 4); | 87 | CC = BITTST(R0, 4); |
| 93 | if !CC JUMP .LSRR_MODE; | 88 | if !CC JUMP .LSRR_MODE; |
| 94 | #endif | ||
| 95 | 89 | ||
| 96 | r0 = CONFIG_VCO_MULT & 63; /* Load the VCO multiplier */ | 90 | r0 = CONFIG_VCO_MULT & 63; /* Load the VCO multiplier */ |
| 97 | r0 = r0 << 9; /* Shift it over, */ | 91 | r0 = r0 << 9; /* Shift it over, */ |
| @@ -123,7 +117,7 @@ ENTRY(_start_dma_code) | |||
| 123 | w[p0] = r0.l; | 117 | w[p0] = r0.l; |
| 124 | ssync; | 118 | ssync; |
| 125 | 119 | ||
| 126 | #if defined(CONFIG_BF54x) | 120 | /* disable self refresh by clearing SRREQ */ |
| 127 | P2.H = hi(EBIU_RSTCTL); | 121 | P2.H = hi(EBIU_RSTCTL); |
| 128 | P2.L = lo(EBIU_RSTCTL); | 122 | P2.L = lo(EBIU_RSTCTL); |
| 129 | R0 = [P2]; | 123 | R0 = [P2]; |
| @@ -155,41 +149,6 @@ ENTRY(_start_dma_code) | |||
| 155 | r0.h = hi(mem_DDRCTL2); | 149 | r0.h = hi(mem_DDRCTL2); |
| 156 | [p0] = r0; | 150 | [p0] = r0; |
| 157 | ssync; | 151 | ssync; |
| 158 | #else | ||
| 159 | p0.l = lo(EBIU_SDRRC); | ||
| 160 | p0.h = hi(EBIU_SDRRC); | ||
| 161 | r0 = mem_SDRRC; | ||
| 162 | w[p0] = r0.l; | ||
| 163 | ssync; | ||
| 164 | |||
| 165 | p0.l = LO(EBIU_SDBCTL); | ||
| 166 | p0.h = HI(EBIU_SDBCTL); /* SDRAM Memory Bank Control Register */ | ||
| 167 | r0 = mem_SDBCTL; | ||
| 168 | w[p0] = r0.l; | ||
| 169 | ssync; | ||
| 170 | |||
| 171 | P2.H = hi(EBIU_SDGCTL); | ||
| 172 | P2.L = lo(EBIU_SDGCTL); | ||
| 173 | R0 = [P2]; | ||
| 174 | BITCLR (R0, 24); | ||
| 175 | p0.h = hi(EBIU_SDSTAT); | ||
| 176 | p0.l = lo(EBIU_SDSTAT); | ||
| 177 | r2.l = w[p0]; | ||
| 178 | cc = bittst(r2,3); | ||
| 179 | if !cc jump .Lskip; | ||
| 180 | NOP; | ||
| 181 | BITSET (R0, 23); | ||
| 182 | .Lskip: | ||
| 183 | [P2] = R0; | ||
| 184 | SSYNC; | ||
| 185 | |||
| 186 | R0.L = lo(mem_SDGCTL); | ||
| 187 | R0.H = hi(mem_SDGCTL); | ||
| 188 | R1 = [p2]; | ||
| 189 | R1 = R1 | R0; | ||
| 190 | [P2] = R1; | ||
| 191 | SSYNC; | ||
| 192 | #endif | ||
| 193 | 152 | ||
| 194 | RTS; | 153 | RTS; |
| 195 | ENDPROC(_start_dma_code) | 154 | ENDPROC(_start_dma_code) |
