source: SVN/rincon/u-boot/common/cmd_reginfo.c @ 55

Last change on this file since 55 was 55, checked in by Tim Harvey, 22 months ago

rincon: added latest u-boot source

restored form server backup

Signed-off-by: Tim Harvey <tharvey@…>

File size: 15.3 KB
Line 
1/*
2 * (C) Copyright 2000
3 * Subodh Nijsure, SkyStream Networks, snijsure@skystream.com
4 *
5 * See file CREDITS for list of people who contributed to this
6 * project.
7 *
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 * MA 02111-1307 USA
22 */
23
24#include <common.h>
25#include <command.h>
26#if defined(CONFIG_8xx)
27#include <mpc8xx.h>
28#elif defined (CONFIG_405GP) || defined(CONFIG_405EP)
29#include <asm/processor.h>
30#elif defined (CONFIG_5xx)
31#include <mpc5xx.h>
32#elif defined (CONFIG_MPC5200)
33#include <mpc5xxx.h>
34#elif defined (CONFIG_MPC86xx)
35extern void mpc86xx_reginfo(void);
36#endif
37
38int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
39{
40#if defined(CONFIG_8xx)
41        volatile immap_t     *immap  = (immap_t *)CFG_IMMR;
42        volatile memctl8xx_t *memctl = &immap->im_memctl;
43        volatile sysconf8xx_t *sysconf = &immap->im_siu_conf;
44        volatile sit8xx_t *timers = &immap->im_sit;
45
46        /* Hopefully more PowerPC  knowledgable people will add code to display
47         * other useful registers
48         */
49
50        printf ("\nSystem Configuration registers\n"
51
52                "\tIMMR\t0x%08X\n", get_immr(0));
53
54        printf("\tSIUMCR\t0x%08X", sysconf->sc_siumcr);
55        printf("\tSYPCR\t0x%08X\n",sysconf->sc_sypcr);
56
57        printf("\tSWT\t0x%08X",    sysconf->sc_swt);
58        printf("\tSWSR\t0x%04X\n", sysconf->sc_swsr);
59
60        printf("\tSIPEND\t0x%08X\tSIMASK\t0x%08X\n",
61                sysconf->sc_sipend, sysconf->sc_simask);
62        printf("\tSIEL\t0x%08X\tSIVEC\t0x%08X\n",
63                sysconf->sc_siel, sysconf->sc_sivec);
64        printf("\tTESR\t0x%08X\tSDCR\t0x%08X\n",
65                sysconf->sc_tesr, sysconf->sc_sdcr);
66
67        printf ("Memory Controller Registers\n"
68
69                "\tBR0\t0x%08X\tOR0\t0x%08X \n", memctl->memc_br0, memctl->memc_or0);
70        printf("\tBR1\t0x%08X\tOR1\t0x%08X \n", memctl->memc_br1, memctl->memc_or1);
71        printf("\tBR2\t0x%08X\tOR2\t0x%08X \n", memctl->memc_br2, memctl->memc_or2);
72        printf("\tBR3\t0x%08X\tOR3\t0x%08X \n", memctl->memc_br3, memctl->memc_or3);
73        printf("\tBR4\t0x%08X\tOR4\t0x%08X \n", memctl->memc_br4, memctl->memc_or4);
74        printf("\tBR5\t0x%08X\tOR5\t0x%08X \n", memctl->memc_br5, memctl->memc_or5);
75        printf("\tBR6\t0x%08X\tOR6\t0x%08X \n", memctl->memc_br6, memctl->memc_or6);
76        printf("\tBR7\t0x%08X\tOR7\t0x%08X \n", memctl->memc_br7, memctl->memc_or7);
77        printf ("\n"
78                "\tmamr\t0x%08X\tmbmr\t0x%08X \n",
79                memctl->memc_mamr, memctl->memc_mbmr );
80        printf("\tmstat\t0x%08X\tmptpr\t0x%08X \n",
81                memctl->memc_mstat, memctl->memc_mptpr );
82        printf("\tmdr\t0x%08X \n", memctl->memc_mdr);
83
84        printf ("\nSystem Integration Timers\n"
85                "\tTBSCR\t0x%08X\tRTCSC\t0x%08X \n",
86                timers->sit_tbscr, timers->sit_rtcsc);
87        printf("\tPISCR\t0x%08X \n", timers->sit_piscr);
88
89        /*
90         * May be some CPM info here?
91         */
92
93#elif defined (CONFIG_405GP)
94        printf ("\n405GP registers; MSR=%08x\n",mfmsr());
95        printf ("\nUniversal Interrupt Controller Regs\n"
96            "uicsr    uicer    uiccr    uicpr    uictr    uicmsr   uicvr    uicvcr"
97            "\n"
98            "%08x %08x %08x %08x %08x %08x %08x %08x\n",
99        mfdcr(uicsr),
100        mfdcr(uicer),
101        mfdcr(uiccr),
102        mfdcr(uicpr),
103        mfdcr(uictr),
104        mfdcr(uicmsr),
105        mfdcr(uicvr),
106        mfdcr(uicvcr));
107
108        puts ("\nMemory (SDRAM) Configuration\n"
109            "besra    besrsa   besrb    besrsb   bear     mcopt1   rtr      pmit\n");
110
111        mtdcr(memcfga,mem_besra);       printf ("%08x ", mfdcr(memcfgd));
112        mtdcr(memcfga,mem_besrsa);      printf ("%08x ", mfdcr(memcfgd));
113        mtdcr(memcfga,mem_besrb);       printf ("%08x ", mfdcr(memcfgd));
114        mtdcr(memcfga,mem_besrsb);      printf ("%08x ", mfdcr(memcfgd));
115        mtdcr(memcfga,mem_bear);        printf ("%08x ", mfdcr(memcfgd));
116        mtdcr(memcfga,mem_mcopt1);      printf ("%08x ", mfdcr(memcfgd));
117        mtdcr(memcfga,mem_rtr);         printf ("%08x ", mfdcr(memcfgd));
118        mtdcr(memcfga,mem_pmit);        printf ("%08x ", mfdcr(memcfgd));
119
120        puts ("\n"
121            "mb0cf    mb1cf    mb2cf    mb3cf    sdtr1    ecccf    eccerr\n");
122        mtdcr(memcfga,mem_mb0cf);       printf ("%08x ", mfdcr(memcfgd));
123        mtdcr(memcfga,mem_mb1cf);       printf ("%08x ", mfdcr(memcfgd));
124        mtdcr(memcfga,mem_mb2cf);       printf ("%08x ", mfdcr(memcfgd));
125        mtdcr(memcfga,mem_mb3cf);       printf ("%08x ", mfdcr(memcfgd));
126        mtdcr(memcfga,mem_sdtr1);       printf ("%08x ", mfdcr(memcfgd));
127        mtdcr(memcfga,mem_ecccf);       printf ("%08x ", mfdcr(memcfgd));
128        mtdcr(memcfga,mem_eccerr);      printf ("%08x ", mfdcr(memcfgd));
129
130        printf ("\n\n"
131            "DMA Channels\n"
132            "dmasr    dmasgc   dmaadr\n"
133            "%08x %08x %08x\n"
134            "dmacr_0  dmact_0  dmada_0  dmasa_0  dmasb_0\n"
135            "%08x %08x %08x %08x %08x\n"
136            "dmacr_1  dmact_1  dmada_1  dmasa_1  dmasb_1\n"
137            "%08x %08x %08x %08x %08x\n",
138        mfdcr(dmasr),  mfdcr(dmasgc),mfdcr(dmaadr),
139        mfdcr(dmacr0), mfdcr(dmact0),mfdcr(dmada0), mfdcr(dmasa0), mfdcr(dmasb0),
140        mfdcr(dmacr1), mfdcr(dmact1),mfdcr(dmada1), mfdcr(dmasa1), mfdcr(dmasb1));
141
142        printf (
143            "dmacr_2  dmact_2  dmada_2  dmasa_2  dmasb_2\n"     "%08x %08x %08x %08x %08x\n"
144            "dmacr_3  dmact_3  dmada_3  dmasa_3  dmasb_3\n"     "%08x %08x %08x %08x %08x\n",
145        mfdcr(dmacr2), mfdcr(dmact2),mfdcr(dmada2), mfdcr(dmasa2), mfdcr(dmasb2),
146        mfdcr(dmacr3), mfdcr(dmact3),mfdcr(dmada3), mfdcr(dmasa3), mfdcr(dmasb3) );
147
148        puts ("\n"
149            "External Bus\n"
150            "pbear    pbesr0   pbesr1   epcr\n");
151        mtdcr(ebccfga,pbear);   printf ("%08x ", mfdcr(ebccfgd));
152        mtdcr(ebccfga,pbesr0);  printf ("%08x ", mfdcr(ebccfgd));
153        mtdcr(ebccfga,pbesr1);  printf ("%08x ", mfdcr(ebccfgd));
154        mtdcr(ebccfga,epcr);    printf ("%08x ", mfdcr(ebccfgd));
155
156        puts ("\n"
157            "pb0cr    pb0ap    pb1cr    pb1ap    pb2cr    pb2ap    pb3cr    pb3ap\n");
158        mtdcr(ebccfga,pb0cr);   printf ("%08x ", mfdcr(ebccfgd));
159        mtdcr(ebccfga,pb0ap);   printf ("%08x ", mfdcr(ebccfgd));
160        mtdcr(ebccfga,pb1cr);   printf ("%08x ", mfdcr(ebccfgd));
161        mtdcr(ebccfga,pb1ap);   printf ("%08x ", mfdcr(ebccfgd));
162        mtdcr(ebccfga,pb2cr);   printf ("%08x ", mfdcr(ebccfgd));
163        mtdcr(ebccfga,pb2ap);   printf ("%08x ", mfdcr(ebccfgd));
164        mtdcr(ebccfga,pb3cr);   printf ("%08x ", mfdcr(ebccfgd));
165        mtdcr(ebccfga,pb3ap);   printf ("%08x ", mfdcr(ebccfgd));
166
167        puts ("\n"
168            "pb4cr    pb4ap    pb5cr    bp5ap    pb6cr    pb6ap    pb7cr    pb7ap\n");
169        mtdcr(ebccfga,pb4cr);   printf ("%08x ", mfdcr(ebccfgd));
170        mtdcr(ebccfga,pb4ap);   printf ("%08x ", mfdcr(ebccfgd));
171        mtdcr(ebccfga,pb5cr);   printf ("%08x ", mfdcr(ebccfgd));
172        mtdcr(ebccfga,pb5ap);   printf ("%08x ", mfdcr(ebccfgd));
173        mtdcr(ebccfga,pb6cr);   printf ("%08x ", mfdcr(ebccfgd));
174        mtdcr(ebccfga,pb6ap);   printf ("%08x ", mfdcr(ebccfgd));
175        mtdcr(ebccfga,pb7cr);   printf ("%08x ", mfdcr(ebccfgd));
176        mtdcr(ebccfga,pb7ap);   printf ("%08x ", mfdcr(ebccfgd));
177
178        puts ("\n\n");
179
180#elif defined(CONFIG_405EP)
181        printf ("\n405EP registers; MSR=%08x\n",mfmsr());
182        printf ("\nUniversal Interrupt Controller Regs\n"
183            "uicsr    uicer    uiccr    uicpr    uictr    uicmsr   uicvr    uicvcr"
184            "\n"
185            "%08x %08x %08x %08x %08x %08x %08x %08x\n",
186        mfdcr(uicsr),
187        mfdcr(uicer),
188        mfdcr(uiccr),
189        mfdcr(uicpr),
190        mfdcr(uictr),
191        mfdcr(uicmsr),
192        mfdcr(uicvr),
193        mfdcr(uicvcr));
194
195        puts ("\nMemory (SDRAM) Configuration\n"
196            "mcopt1   rtr      pmit     mb0cf    mb1cf    sdtr1\n");
197
198        mtdcr(memcfga,mem_mcopt1);      printf ("%08x ", mfdcr(memcfgd));
199        mtdcr(memcfga,mem_rtr);         printf ("%08x ", mfdcr(memcfgd));
200        mtdcr(memcfga,mem_pmit);        printf ("%08x ", mfdcr(memcfgd));
201        mtdcr(memcfga,mem_mb0cf);       printf ("%08x ", mfdcr(memcfgd));
202        mtdcr(memcfga,mem_mb1cf);       printf ("%08x ", mfdcr(memcfgd));
203        mtdcr(memcfga,mem_sdtr1);       printf ("%08x ", mfdcr(memcfgd));
204
205        printf ("\n\n"
206            "DMA Channels\n"
207            "dmasr    dmasgc   dmaadr\n"                        "%08x %08x %08x\n"
208            "dmacr_0  dmact_0  dmada_0  dmasa_0  dmasb_0\n"     "%08x %08x %08x %08x %08x\n"
209            "dmacr_1  dmact_1  dmada_1  dmasa_1  dmasb_1\n"     "%08x %08x %08x %08x %08x\n",
210        mfdcr(dmasr),  mfdcr(dmasgc),mfdcr(dmaadr),
211        mfdcr(dmacr0), mfdcr(dmact0),mfdcr(dmada0), mfdcr(dmasa0), mfdcr(dmasb0),
212        mfdcr(dmacr1), mfdcr(dmact1),mfdcr(dmada1), mfdcr(dmasa1), mfdcr(dmasb1));
213
214        printf (
215            "dmacr_2  dmact_2  dmada_2  dmasa_2  dmasb_2\n"     "%08x %08x %08x %08x %08x\n"
216            "dmacr_3  dmact_3  dmada_3  dmasa_3  dmasb_3\n"     "%08x %08x %08x %08x %08x\n",
217        mfdcr(dmacr2), mfdcr(dmact2),mfdcr(dmada2), mfdcr(dmasa2), mfdcr(dmasb2),
218        mfdcr(dmacr3), mfdcr(dmact3),mfdcr(dmada3), mfdcr(dmasa3), mfdcr(dmasb3) );
219
220        puts ("\n"
221            "External Bus\n"
222            "pbear    pbesr0   pbesr1   epcr\n");
223        mtdcr(ebccfga,pbear);   printf ("%08x ", mfdcr(ebccfgd));
224        mtdcr(ebccfga,pbesr0);  printf ("%08x ", mfdcr(ebccfgd));
225        mtdcr(ebccfga,pbesr1);  printf ("%08x ", mfdcr(ebccfgd));
226        mtdcr(ebccfga,epcr);    printf ("%08x ", mfdcr(ebccfgd));
227
228        puts ("\n"
229            "pb0cr    pb0ap    pb1cr    pb1ap    pb2cr    pb2ap    pb3cr    pb3ap\n");
230        mtdcr(ebccfga,pb0cr);   printf ("%08x ", mfdcr(ebccfgd));
231        mtdcr(ebccfga,pb0ap);   printf ("%08x ", mfdcr(ebccfgd));
232        mtdcr(ebccfga,pb1cr);   printf ("%08x ", mfdcr(ebccfgd));
233        mtdcr(ebccfga,pb1ap);   printf ("%08x ", mfdcr(ebccfgd));
234        mtdcr(ebccfga,pb2cr);   printf ("%08x ", mfdcr(ebccfgd));
235        mtdcr(ebccfga,pb2ap);   printf ("%08x ", mfdcr(ebccfgd));
236        mtdcr(ebccfga,pb3cr);   printf ("%08x ", mfdcr(ebccfgd));
237        mtdcr(ebccfga,pb3ap);   printf ("%08x ", mfdcr(ebccfgd));
238
239        puts ("\n"
240            "pb4cr    pb4ap\n");
241        mtdcr(ebccfga,pb4cr);   printf ("%08x ", mfdcr(ebccfgd));
242        mtdcr(ebccfga,pb4ap);   printf ("%08x ", mfdcr(ebccfgd));
243
244        puts ("\n\n");
245#elif defined(CONFIG_5xx)
246
247        volatile immap_t        *immap  = (immap_t *)CFG_IMMR;
248        volatile memctl5xx_t    *memctl = &immap->im_memctl;
249        volatile sysconf5xx_t   *sysconf = &immap->im_siu_conf;
250        volatile sit5xx_t       *timers = &immap->im_sit;
251        volatile car5xx_t       *car = &immap->im_clkrst;
252        volatile uimb5xx_t      *uimb = &immap->im_uimb;
253
254        puts ("\nSystem Configuration registers\n");
255        printf("\tIMMR\t0x%08X\tSIUMCR\t0x%08X \n", get_immr(0), sysconf->sc_siumcr);
256        printf("\tSYPCR\t0x%08X\tSWSR\t0x%04X \n" ,sysconf->sc_sypcr, sysconf->sc_swsr);
257        printf("\tSIPEND\t0x%08X\tSIMASK\t0x%08X \n", sysconf->sc_sipend, sysconf->sc_simask);
258        printf("\tSIEL\t0x%08X\tSIVEC\t0x%08X \n", sysconf->sc_siel, sysconf->sc_sivec);
259        printf("\tTESR\t0x%08X\n", sysconf->sc_tesr);
260
261        puts ("\nMemory Controller Registers\n");
262        printf("\tBR0\t0x%08X\tOR0\t0x%08X \n", memctl->memc_br0, memctl->memc_or0);
263        printf("\tBR1\t0x%08X\tOR1\t0x%08X \n", memctl->memc_br1, memctl->memc_or1);
264        printf("\tBR2\t0x%08X\tOR2\t0x%08X \n", memctl->memc_br2, memctl->memc_or2);
265        printf("\tBR3\t0x%08X\tOR3\t0x%08X \n", memctl->memc_br3, memctl->memc_or3);
266        printf("\tDMBR\t0x%08X\tDMOR\t0x%08X \n", memctl->memc_dmbr, memctl->memc_dmor );
267        printf("\tMSTAT\t0x%08X\n", memctl->memc_mstat);
268
269        puts ("\nSystem Integration Timers\n");
270        printf("\tTBSCR\t0x%08X\tRTCSC\t0x%08X \n", timers->sit_tbscr, timers->sit_rtcsc);
271        printf("\tPISCR\t0x%08X \n", timers->sit_piscr);
272
273        puts ("\nClocks and Reset\n");
274        printf("\tSCCR\t0x%08X\tPLPRCR\t0x%08X \n", car->car_sccr, car->car_plprcr);
275
276        puts ("\nU-Bus to IMB3 Bus Interface\n");
277        printf("\tUMCR\t0x%08X\tUIPEND\t0x%08X \n", uimb->uimb_umcr, uimb->uimb_uipend);
278        puts ("\n\n");
279
280#elif defined(CONFIG_MPC5200)
281        puts ("\nMPC5200 registers\n");
282        printf ("MBAR=%08x\n", CFG_MBAR);
283        puts ("Memory map registers\n");
284        printf ("\tCS0: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
285                *(volatile ulong*)MPC5XXX_CS0_START,
286                *(volatile ulong*)MPC5XXX_CS0_STOP,
287                *(volatile ulong*)MPC5XXX_CS0_CFG,
288                (*(volatile ulong*)MPC5XXX_ADDECR & 0x00010000) ? 1 : 0);
289        printf ("\tCS1: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
290                *(volatile ulong*)MPC5XXX_CS1_START,
291                *(volatile ulong*)MPC5XXX_CS1_STOP,
292                *(volatile ulong*)MPC5XXX_CS1_CFG,
293                (*(volatile ulong*)MPC5XXX_ADDECR & 0x00020000) ? 1 : 0);
294        printf ("\tCS2: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
295                *(volatile ulong*)MPC5XXX_CS2_START,
296                *(volatile ulong*)MPC5XXX_CS2_STOP,
297                *(volatile ulong*)MPC5XXX_CS2_CFG,
298                (*(volatile ulong*)MPC5XXX_ADDECR & 0x00040000) ? 1 : 0);
299        printf ("\tCS3: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
300                *(volatile ulong*)MPC5XXX_CS3_START,
301                *(volatile ulong*)MPC5XXX_CS3_STOP,
302                *(volatile ulong*)MPC5XXX_CS3_CFG,
303                (*(volatile ulong*)MPC5XXX_ADDECR & 0x00080000) ? 1 : 0);
304        printf ("\tCS4: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
305                *(volatile ulong*)MPC5XXX_CS4_START,
306                *(volatile ulong*)MPC5XXX_CS4_STOP,
307                *(volatile ulong*)MPC5XXX_CS4_CFG,
308                (*(volatile ulong*)MPC5XXX_ADDECR & 0x00100000) ? 1 : 0);
309        printf ("\tCS5: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
310                *(volatile ulong*)MPC5XXX_CS5_START,
311                *(volatile ulong*)MPC5XXX_CS5_STOP,
312                *(volatile ulong*)MPC5XXX_CS5_CFG,
313                (*(volatile ulong*)MPC5XXX_ADDECR & 0x00200000) ? 1 : 0);
314        printf ("\tCS6: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
315                *(volatile ulong*)MPC5XXX_CS6_START,
316                *(volatile ulong*)MPC5XXX_CS6_STOP,
317                *(volatile ulong*)MPC5XXX_CS6_CFG,
318                (*(volatile ulong*)MPC5XXX_ADDECR & 0x04000000) ? 1 : 0);
319        printf ("\tCS7: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
320                *(volatile ulong*)MPC5XXX_CS7_START,
321                *(volatile ulong*)MPC5XXX_CS7_STOP,
322                *(volatile ulong*)MPC5XXX_CS7_CFG,
323                (*(volatile ulong*)MPC5XXX_ADDECR & 0x08000000) ? 1 : 0);
324        printf ("\tBOOTCS: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
325                *(volatile ulong*)MPC5XXX_BOOTCS_START,
326                *(volatile ulong*)MPC5XXX_BOOTCS_STOP,
327                *(volatile ulong*)MPC5XXX_BOOTCS_CFG,
328                (*(volatile ulong*)MPC5XXX_ADDECR & 0x02000000) ? 1 : 0);
329        printf ("\tSDRAMCS0: %08lX\n",
330                *(volatile ulong*)MPC5XXX_SDRAM_CS0CFG);
331        printf ("\tSDRAMCS1: %08lX\n",
332                *(volatile ulong*)MPC5XXX_SDRAM_CS1CFG);
333#elif defined(CONFIG_MPC86xx)
334        mpc86xx_reginfo();
335
336#elif defined(CONFIG_BLACKFIN)
337        puts("\nSystem Configuration registers\n");
338
339        puts("\nPLL Registers\n");
340        printf("\tPLL_DIV:   0x%04x   PLL_CTL:      0x%04x\n",
341                bfin_read_PLL_DIV(), bfin_read_PLL_CTL());
342        printf("\tPLL_STAT:  0x%04x   PLL_LOCKCNT:  0x%04x\n",
343                bfin_read_PLL_STAT(), bfin_read_PLL_LOCKCNT());
344        printf("\tVR_CTL:    0x%04x\n", bfin_read_VR_CTL());
345
346        puts("\nEBIU AMC Registers\n");
347        printf("\tEBIU_AMGCTL:   0x%04x\n", bfin_read_EBIU_AMGCTL());
348        printf("\tEBIU_AMBCTL0:  0x%08x   EBIU_AMBCTL1:  0x%08x\n",
349                bfin_read_EBIU_AMBCTL0(), bfin_read_EBIU_AMBCTL1());
350# ifdef EBIU_MODE
351        printf("\tEBIU_MBSCTL:   0x%08x   EBIU_ARBSTAT:  0x%08x\n",
352                bfin_read_EBIU_MBSCTL(), bfin_read_EBIU_ARBSTAT());
353        printf("\tEBIU_MODE:     0x%08x   EBIU_FCTL:     0x%08x\n",
354                bfin_read_EBIU_MODE(), bfin_read_EBIU_FCTL());
355# endif
356
357# ifdef EBIU_RSTCTL
358        puts("\nEBIU DDR Registers\n");
359        printf("\tEBIU_DDRCTL0:  0x%08x   EBIU_DDRCTL1:  0x%08x\n",
360                bfin_read_EBIU_DDRCTL0(), bfin_read_EBIU_DDRCTL1());
361        printf("\tEBIU_DDRCTL2:  0x%08x   EBIU_DDRCTL3:  0x%08x\n",
362                bfin_read_EBIU_DDRCTL2(), bfin_read_EBIU_DDRCTL3());
363        printf("\tEBIU_DDRQUE:   0x%08x   EBIU_RSTCTL    0x%04x\n",
364                bfin_read_EBIU_DDRQUE(), bfin_read_EBIU_RSTCTL());
365        printf("\tEBIU_ERRADD:   0x%08x   EBIU_ERRMST:   0x%04x\n",
366                bfin_read_EBIU_ERRADD(), bfin_read_EBIU_ERRMST());
367# else
368        puts("\nEBIU SDC Registers\n");
369        printf("\tEBIU_SDRRC:   0x%04x   EBIU_SDBCTL:  0x%04x\n",
370                bfin_read_EBIU_SDRRC(), bfin_read_EBIU_SDBCTL());
371        printf("\tEBIU_SDSTAT:  0x%04x   EBIU_SDGCTL:  0x%08x\n",
372                bfin_read_EBIU_SDSTAT(), bfin_read_EBIU_SDGCTL());
373# endif
374
375#endif /* CONFIG_BLACKFIN */
376
377        return 0;
378}
379
380 /**************************************************/
381
382#if defined(CONFIG_CMD_REGINFO)
383U_BOOT_CMD(
384        reginfo,        2,      1,      do_reginfo,
385        "reginfo - print register information\n",
386);
387#endif
Note: See TracBrowser for help on using the repository browser.