X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=common%2Fcmd_reginfo.c;h=15ac16aef4ec168ffee6a78b311d736ebcff5452;hb=7d939f89471d05ee40764156dd7147bca148c068;hp=2b84dd9ea9b7bb22935ec2748bf37e6a8345acfc;hpb=50015ab3e1691e49e4267a4799864410fc49a9e8;p=u-boot diff --git a/common/cmd_reginfo.c b/common/cmd_reginfo.c index 2b84dd9ea9..15ac16aef4 100644 --- a/common/cmd_reginfo.c +++ b/common/cmd_reginfo.c @@ -29,6 +29,8 @@ #include #elif defined (CONFIG_5xx) #include +#elif defined (CONFIG_MPC5200) +#include #endif #if (CONFIG_COMMANDS & CFG_CMD_REGINFO) @@ -44,9 +46,9 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) * other useful registers */ - printf("\nSystem Configuration registers\n"); + printf ("\nSystem Configuration registers\n" - printf("\tIMMR\t0x%08X\n", get_immr(0)); + "\tIMMR\t0x%08X\n", get_immr(0)); printf("\tSIUMCR\t0x%08X", sysconf->sc_siumcr); printf("\tSYPCR\t0x%08X\n",sysconf->sc_sypcr); @@ -61,9 +63,9 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) printf("\tTESR\t0x%08X\tSDCR\t0x%08X\n", sysconf->sc_tesr, sysconf->sc_sdcr); - printf("Memory Controller Registers\n"); + printf ("Memory Controller Registers\n" - printf("\tBR0\t0x%08X\tOR0\t0x%08X \n", memctl->memc_br0, memctl->memc_or0); + "\tBR0\t0x%08X\tOR0\t0x%08X \n", memctl->memc_br0, memctl->memc_or0); printf("\tBR1\t0x%08X\tOR1\t0x%08X \n", memctl->memc_br1, memctl->memc_or1); printf("\tBR2\t0x%08X\tOR2\t0x%08X \n", memctl->memc_br2, memctl->memc_or2); printf("\tBR3\t0x%08X\tOR3\t0x%08X \n", memctl->memc_br3, memctl->memc_or3); @@ -71,16 +73,15 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) printf("\tBR5\t0x%08X\tOR5\t0x%08X \n", memctl->memc_br5, memctl->memc_or5); printf("\tBR6\t0x%08X\tOR6\t0x%08X \n", memctl->memc_br6, memctl->memc_or6); printf("\tBR7\t0x%08X\tOR7\t0x%08X \n", memctl->memc_br7, memctl->memc_or7); - printf("\n"); - - printf("\tmamr\t0x%08X\tmbmr\t0x%08X \n", + printf ("\n" + "\tmamr\t0x%08X\tmbmr\t0x%08X \n", memctl->memc_mamr, memctl->memc_mbmr ); printf("\tmstat\t0x%08X\tmptpr\t0x%08X \n", memctl->memc_mstat, memctl->memc_mptpr ); printf("\tmdr\t0x%08X \n", memctl->memc_mdr); - printf("\nSystem Integration Timers\n"); - printf("\tTBSCR\t0x%08X\tRTCSC\t0x%08X \n", + printf ("\nSystem Integration Timers\n" + "\tTBSCR\t0x%08X\tRTCSC\t0x%08X \n", timers->sit_tbscr, timers->sit_rtcsc); printf("\tPISCR\t0x%08X \n", timers->sit_piscr); @@ -88,7 +89,6 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) * May be some CPM info here? */ -/* DBU[dave@cray.com] For the CRAY-L1, but should be generically 405gp */ #elif defined (CONFIG_405GP) printf ("\n405GP registers; MSR=%08x\n",mfmsr()); printf ("\nUniversal Interrupt Controller Regs\n" @@ -105,7 +105,7 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) mfdcr(uicvr), mfdcr(uicvcr)); - printf ("\nMemory (SDRAM) Configuration\n" + puts ("\nMemory (SDRAM) Configuration\n" "besra besrsa besrb besrsb bear mcopt1 rtr pmit\n"); mtdcr(memcfga,mem_besra); printf ("%08x ", mfdcr(memcfgd)); @@ -117,7 +117,7 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) mtdcr(memcfga,mem_rtr); printf ("%08x ", mfdcr(memcfgd)); mtdcr(memcfga,mem_pmit); printf ("%08x ", mfdcr(memcfgd)); - printf ("\n" + puts ("\n" "mb0cf mb1cf mb2cf mb3cf sdtr1 ecccf eccerr\n"); mtdcr(memcfga,mem_mb0cf); printf ("%08x ", mfdcr(memcfgd)); mtdcr(memcfga,mem_mb1cf); printf ("%08x ", mfdcr(memcfgd)); @@ -145,7 +145,7 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) mfdcr(dmacr2), mfdcr(dmact2),mfdcr(dmada2), mfdcr(dmasa2), mfdcr(dmasb2), mfdcr(dmacr3), mfdcr(dmact3),mfdcr(dmada3), mfdcr(dmasa3), mfdcr(dmasb3) ); - printf ("\n" + puts ("\n" "External Bus\n" "pbear pbesr0 pbesr1 epcr\n"); mtdcr(ebccfga,pbear); printf ("%08x ", mfdcr(ebccfgd)); @@ -153,7 +153,7 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) mtdcr(ebccfga,pbesr1); printf ("%08x ", mfdcr(ebccfgd)); mtdcr(ebccfga,epcr); printf ("%08x ", mfdcr(ebccfgd)); - printf ("\n" + puts ("\n" "pb0cr pb0ap pb1cr pb1ap pb2cr pb2ap pb3cr pb3ap\n"); mtdcr(ebccfga,pb0cr); printf ("%08x ", mfdcr(ebccfgd)); mtdcr(ebccfga,pb0ap); printf ("%08x ", mfdcr(ebccfgd)); @@ -164,7 +164,7 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) mtdcr(ebccfga,pb3cr); printf ("%08x ", mfdcr(ebccfgd)); mtdcr(ebccfga,pb3ap); printf ("%08x ", mfdcr(ebccfgd)); - printf ("\n" + puts ("\n" "pb4cr pb4ap pb5cr bp5ap pb6cr pb6ap pb7cr pb7ap\n"); mtdcr(ebccfga,pb4cr); printf ("%08x ", mfdcr(ebccfgd)); mtdcr(ebccfga,pb4ap); printf ("%08x ", mfdcr(ebccfgd)); @@ -175,8 +175,8 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) mtdcr(ebccfga,pb7cr); printf ("%08x ", mfdcr(ebccfgd)); mtdcr(ebccfga,pb7ap); printf ("%08x ", mfdcr(ebccfgd)); - printf ("\n\n"); -/* For the BUBINGA (IBM 405EP eval) but should be generically 405ep */ + puts ("\n\n"); + #elif defined(CONFIG_405EP) printf ("\n405EP registers; MSR=%08x\n",mfmsr()); printf ("\nUniversal Interrupt Controller Regs\n" @@ -192,7 +192,7 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) mfdcr(uicvr), mfdcr(uicvcr)); - printf ("\nMemory (SDRAM) Configuration\n" + puts ("\nMemory (SDRAM) Configuration\n" "mcopt1 rtr pmit mb0cf mb1cf sdtr1\n"); mtdcr(memcfga,mem_mcopt1); printf ("%08x ", mfdcr(memcfgd)); @@ -217,7 +217,7 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) mfdcr(dmacr2), mfdcr(dmact2),mfdcr(dmada2), mfdcr(dmasa2), mfdcr(dmasb2), mfdcr(dmacr3), mfdcr(dmact3),mfdcr(dmada3), mfdcr(dmasa3), mfdcr(dmasb3) ); - printf ("\n" + puts ("\n" "External Bus\n" "pbear pbesr0 pbesr1 epcr\n"); mtdcr(ebccfga,pbear); printf ("%08x ", mfdcr(ebccfgd)); @@ -225,7 +225,7 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) mtdcr(ebccfga,pbesr1); printf ("%08x ", mfdcr(ebccfgd)); mtdcr(ebccfga,epcr); printf ("%08x ", mfdcr(ebccfgd)); - printf ("\n" + puts ("\n" "pb0cr pb0ap pb1cr pb1ap pb2cr pb2ap pb3cr pb3ap\n"); mtdcr(ebccfga,pb0cr); printf ("%08x ", mfdcr(ebccfgd)); mtdcr(ebccfga,pb0ap); printf ("%08x ", mfdcr(ebccfgd)); @@ -236,12 +236,12 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) mtdcr(ebccfga,pb3cr); printf ("%08x ", mfdcr(ebccfgd)); mtdcr(ebccfga,pb3ap); printf ("%08x ", mfdcr(ebccfgd)); - printf ("\n" + puts ("\n" "pb4cr pb4ap\n"); mtdcr(ebccfga,pb4cr); printf ("%08x ", mfdcr(ebccfgd)); mtdcr(ebccfga,pb4ap); printf ("%08x ", mfdcr(ebccfgd)); - printf ("\n\n"); + puts ("\n\n"); #elif defined(CONFIG_5xx) volatile immap_t *immap = (immap_t *)CFG_IMMR; @@ -251,14 +251,14 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) volatile car5xx_t *car = &immap->im_clkrst; volatile uimb5xx_t *uimb = &immap->im_uimb; - printf("\nSystem Configuration registers\n"); + puts ("\nSystem Configuration registers\n"); printf("\tIMMR\t0x%08X\tSIUMCR\t0x%08X \n", get_immr(0), sysconf->sc_siumcr); printf("\tSYPCR\t0x%08X\tSWSR\t0x%04X \n" ,sysconf->sc_sypcr, sysconf->sc_swsr); printf("\tSIPEND\t0x%08X\tSIMASK\t0x%08X \n", sysconf->sc_sipend, sysconf->sc_simask); printf("\tSIEL\t0x%08X\tSIVEC\t0x%08X \n", sysconf->sc_siel, sysconf->sc_sivec); printf("\tTESR\t0x%08X\n", sysconf->sc_tesr); - printf("\nMemory Controller Registers\n"); + puts ("\nMemory Controller Registers\n"); printf("\tBR0\t0x%08X\tOR0\t0x%08X \n", memctl->memc_br0, memctl->memc_or0); printf("\tBR1\t0x%08X\tOR1\t0x%08X \n", memctl->memc_br1, memctl->memc_or1); printf("\tBR2\t0x%08X\tOR2\t0x%08X \n", memctl->memc_br2, memctl->memc_or2); @@ -266,17 +266,71 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) printf("\tDMBR\t0x%08X\tDMOR\t0x%08X \n", memctl->memc_dmbr, memctl->memc_dmor ); printf("\tMSTAT\t0x%08X\n", memctl->memc_mstat); - printf("\nSystem Integration Timers\n"); + puts ("\nSystem Integration Timers\n"); printf("\tTBSCR\t0x%08X\tRTCSC\t0x%08X \n", timers->sit_tbscr, timers->sit_rtcsc); printf("\tPISCR\t0x%08X \n", timers->sit_piscr); - printf("\nClocks and Reset\n"); + puts ("\nClocks and Reset\n"); printf("\tSCCR\t0x%08X\tPLPRCR\t0x%08X \n", car->car_sccr, car->car_plprcr); - printf("\nU-Bus to IMB3 Bus Interface\n"); + puts ("\nU-Bus to IMB3 Bus Interface\n"); printf("\tUMCR\t0x%08X\tUIPEND\t0x%08X \n", uimb->uimb_umcr, uimb->uimb_uipend); - printf ("\n\n"); -#endif /* CONFIG_5xx */ + puts ("\n\n"); + +#elif defined(CONFIG_MPC5200) + puts ("\nMPC5200 registers\n"); + printf ("MBAR=%08x\n", CFG_MBAR); + puts ("Memory map registers\n"); + printf ("\tCS0: start %08X\tstop %08X\tconfig %08X\ten %d\n", + *(volatile ulong*)MPC5XXX_CS0_START, + *(volatile ulong*)MPC5XXX_CS0_STOP, + *(volatile ulong*)MPC5XXX_CS0_CFG, + (*(volatile ulong*)MPC5XXX_ADDECR & 0x00010000) ? 1 : 0); + printf ("\tCS1: start %08X\tstop %08X\tconfig %08X\ten %d\n", + *(volatile ulong*)MPC5XXX_CS1_START, + *(volatile ulong*)MPC5XXX_CS1_STOP, + *(volatile ulong*)MPC5XXX_CS1_CFG, + (*(volatile ulong*)MPC5XXX_ADDECR & 0x00020000) ? 1 : 0); + printf ("\tCS2: start %08X\tstop %08X\tconfig %08X\ten %d\n", + *(volatile ulong*)MPC5XXX_CS2_START, + *(volatile ulong*)MPC5XXX_CS2_STOP, + *(volatile ulong*)MPC5XXX_CS2_CFG, + (*(volatile ulong*)MPC5XXX_ADDECR & 0x00040000) ? 1 : 0); + printf ("\tCS3: start %08X\tstop %08X\tconfig %08X\ten %d\n", + *(volatile ulong*)MPC5XXX_CS3_START, + *(volatile ulong*)MPC5XXX_CS3_STOP, + *(volatile ulong*)MPC5XXX_CS3_CFG, + (*(volatile ulong*)MPC5XXX_ADDECR & 0x00080000) ? 1 : 0); + printf ("\tCS4: start %08X\tstop %08X\tconfig %08X\ten %d\n", + *(volatile ulong*)MPC5XXX_CS4_START, + *(volatile ulong*)MPC5XXX_CS4_STOP, + *(volatile ulong*)MPC5XXX_CS4_CFG, + (*(volatile ulong*)MPC5XXX_ADDECR & 0x00100000) ? 1 : 0); + printf ("\tCS5: start %08X\tstop %08X\tconfig %08X\ten %d\n", + *(volatile ulong*)MPC5XXX_CS5_START, + *(volatile ulong*)MPC5XXX_CS5_STOP, + *(volatile ulong*)MPC5XXX_CS5_CFG, + (*(volatile ulong*)MPC5XXX_ADDECR & 0x00200000) ? 1 : 0); + printf ("\tCS6: start %08X\tstop %08X\tconfig %08X\ten %d\n", + *(volatile ulong*)MPC5XXX_CS6_START, + *(volatile ulong*)MPC5XXX_CS6_STOP, + *(volatile ulong*)MPC5XXX_CS6_CFG, + (*(volatile ulong*)MPC5XXX_ADDECR & 0x04000000) ? 1 : 0); + printf ("\tCS7: start %08X\tstop %08X\tconfig %08X\ten %d\n", + *(volatile ulong*)MPC5XXX_CS7_START, + *(volatile ulong*)MPC5XXX_CS7_STOP, + *(volatile ulong*)MPC5XXX_CS7_CFG, + (*(volatile ulong*)MPC5XXX_ADDECR & 0x08000000) ? 1 : 0); + printf ("\tBOOTCS: start %08X\tstop %08X\tconfig %08X\ten %d\n", + *(volatile ulong*)MPC5XXX_BOOTCS_START, + *(volatile ulong*)MPC5XXX_BOOTCS_STOP, + *(volatile ulong*)MPC5XXX_BOOTCS_CFG, + (*(volatile ulong*)MPC5XXX_ADDECR & 0x02000000) ? 1 : 0); + printf ("\tSDRAMCS0: %08X\n", + *(volatile ulong*)MPC5XXX_SDRAM_CS0CFG); + printf ("\tSDRAMCS0: %08X\n", + *(volatile ulong*)MPC5XXX_SDRAM_CS1CFG); +#endif /* CONFIG_MPC5200 */ return 0; } @@ -285,8 +339,9 @@ int do_reginfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) /**************************************************/ -#if (defined(CONFIG_8xx) || defined(CONFIG_405GP) || defined(CONFIG_405EP)) && \ - (CONFIG_COMMANDS & CFG_CMD_REGINFO) +#if ( defined(CONFIG_8xx) || defined(CONFIG_405GP) || \ + defined(CONFIG_405EP) || defined(CONFIG_MPC5200) ) && \ + (CONFIG_COMMANDS & CFG_CMD_REGINFO) U_BOOT_CMD( reginfo, 2, 1, do_reginfo,