2002-08-27 18:44:07 +09:00
|
|
|
/*
|
|
|
|
* (C) Copyright 2000
|
|
|
|
* Subodh Nijsure, SkyStream Networks, snijsure@skystream.com
|
|
|
|
*
|
2013-07-08 16:37:19 +09:00
|
|
|
* SPDX-License-Identifier: GPL-2.0+
|
2002-08-27 18:44:07 +09:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <common.h>
|
|
|
|
#include <command.h>
|
2017-06-08 00:33:09 +09:00
|
|
|
#if defined (CONFIG_4xx)
|
2009-10-05 03:04:21 +09:00
|
|
|
extern void ppc4xx_reginfo(void);
|
2004-07-12 02:40:54 +09:00
|
|
|
#elif defined (CONFIG_MPC5200)
|
|
|
|
#include <mpc5xxx.h>
|
2008-01-24 07:31:06 +09:00
|
|
|
#elif defined (CONFIG_MPC86xx)
|
|
|
|
extern void mpc86xx_reginfo(void);
|
2010-06-18 01:37:25 +09:00
|
|
|
#elif defined(CONFIG_MPC85xx)
|
|
|
|
extern void mpc85xx_reginfo(void);
|
2002-08-27 18:44:07 +09:00
|
|
|
#endif
|
2007-06-12 09:01:54 +09:00
|
|
|
|
2012-10-29 22:34:31 +09:00
|
|
|
static int do_reginfo(cmd_tbl_t *cmdtp, int flag, int argc,
|
|
|
|
char * const argv[])
|
2002-08-27 18:44:07 +09:00
|
|
|
{
|
2017-06-08 00:33:09 +09:00
|
|
|
#if defined (CONFIG_4xx)
|
2009-10-05 03:04:21 +09:00
|
|
|
ppc4xx_reginfo();
|
2004-07-12 02:40:54 +09:00
|
|
|
#elif defined(CONFIG_MPC5200)
|
|
|
|
puts ("\nMPC5200 registers\n");
|
2008-10-16 22:01:15 +09:00
|
|
|
printf ("MBAR=%08x\n", CONFIG_SYS_MBAR);
|
2004-07-12 02:40:54 +09:00
|
|
|
puts ("Memory map registers\n");
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tCS0: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_CS0_START,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS0_STOP,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS0_CFG,
|
|
|
|
(*(volatile ulong*)MPC5XXX_ADDECR & 0x00010000) ? 1 : 0);
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tCS1: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_CS1_START,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS1_STOP,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS1_CFG,
|
|
|
|
(*(volatile ulong*)MPC5XXX_ADDECR & 0x00020000) ? 1 : 0);
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tCS2: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_CS2_START,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS2_STOP,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS2_CFG,
|
|
|
|
(*(volatile ulong*)MPC5XXX_ADDECR & 0x00040000) ? 1 : 0);
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tCS3: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_CS3_START,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS3_STOP,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS3_CFG,
|
|
|
|
(*(volatile ulong*)MPC5XXX_ADDECR & 0x00080000) ? 1 : 0);
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tCS4: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_CS4_START,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS4_STOP,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS4_CFG,
|
|
|
|
(*(volatile ulong*)MPC5XXX_ADDECR & 0x00100000) ? 1 : 0);
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tCS5: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_CS5_START,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS5_STOP,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS5_CFG,
|
|
|
|
(*(volatile ulong*)MPC5XXX_ADDECR & 0x00200000) ? 1 : 0);
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tCS6: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_CS6_START,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS6_STOP,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS6_CFG,
|
|
|
|
(*(volatile ulong*)MPC5XXX_ADDECR & 0x04000000) ? 1 : 0);
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tCS7: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_CS7_START,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS7_STOP,
|
|
|
|
*(volatile ulong*)MPC5XXX_CS7_CFG,
|
|
|
|
(*(volatile ulong*)MPC5XXX_ADDECR & 0x08000000) ? 1 : 0);
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tBOOTCS: start %08lX\tstop %08lX\tconfig %08lX\ten %d\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_BOOTCS_START,
|
|
|
|
*(volatile ulong*)MPC5XXX_BOOTCS_STOP,
|
|
|
|
*(volatile ulong*)MPC5XXX_BOOTCS_CFG,
|
|
|
|
(*(volatile ulong*)MPC5XXX_ADDECR & 0x02000000) ? 1 : 0);
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tSDRAMCS0: %08lX\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_SDRAM_CS0CFG);
|
2008-07-11 08:16:00 +09:00
|
|
|
printf ("\tSDRAMCS1: %08lX\n",
|
2004-07-12 02:40:54 +09:00
|
|
|
*(volatile ulong*)MPC5XXX_SDRAM_CS1CFG);
|
2008-01-24 07:31:06 +09:00
|
|
|
#elif defined(CONFIG_MPC86xx)
|
|
|
|
mpc86xx_reginfo();
|
2008-02-05 09:26:56 +09:00
|
|
|
|
2010-06-18 01:37:25 +09:00
|
|
|
#elif defined(CONFIG_MPC85xx)
|
|
|
|
mpc85xx_reginfo();
|
2012-08-16 12:56:14 +09:00
|
|
|
#endif
|
2008-01-24 07:31:06 +09:00
|
|
|
|
2002-08-27 18:44:07 +09:00
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
2003-06-28 06:31:46 +09:00
|
|
|
/**************************************************/
|
|
|
|
|
2008-02-05 09:26:56 +09:00
|
|
|
#if defined(CONFIG_CMD_REGINFO)
|
2003-07-02 06:06:45 +09:00
|
|
|
U_BOOT_CMD(
|
2008-05-20 23:00:29 +09:00
|
|
|
reginfo, 2, 1, do_reginfo,
|
2009-01-28 09:03:12 +09:00
|
|
|
"print register information",
|
2009-05-25 00:06:54 +09:00
|
|
|
""
|
2003-06-28 06:31:46 +09:00
|
|
|
);
|
|
|
|
#endif
|