Commit e1e362dc authored by Greg Ungerer's avatar Greg Ungerer

m68knommu: make ColdFire SYPCR and RSR register definitions absolute addresses

Make all definitions of the ColdFire Reset and System registers absolute
addresses. Currently some are relative to the MBAR peripheral region.

The various ColdFire parts use different methods to address the internal
registers, some are absolute, some are relative to peripheral regions
which can be mapped at different address ranges (such as the MBAR and IPSBAR
registers). We don't want to deal with this in the code when we are
accessing these registers, so make all register definitions the abolsute
address - factoring out whether it is an offset into a peripheral region.

This makes them all consistently defined, and reduces the occasional bugs
caused by inconsistent definition of the register addresses.
Signed-off-by: default avatarGreg Ungerer <gerg@uclinux.org>
parent 6a3a786d
...@@ -43,8 +43,8 @@ ...@@ -43,8 +43,8 @@
#define MCFSIM_IMR (MCF_MBAR + 0x36) /* Interrupt Mask */ #define MCFSIM_IMR (MCF_MBAR + 0x36) /* Interrupt Mask */
#define MCFSIM_IPR (MCF_MBAR + 0x3a) /* Interrupt Pending */ #define MCFSIM_IPR (MCF_MBAR + 0x3a) /* Interrupt Pending */
#define MCFSIM_RSR 0x40 /* Reset Status reg (r/w) */ #define MCFSIM_RSR (MCF_MBAR + 0x40) /* Reset Status */
#define MCFSIM_SYPCR 0x41 /* System Protection reg (r/w)*/ #define MCFSIM_SYPCR (MCF_MBAR + 0x41) /* System Protection */
#define MCFSIM_SWIVR 0x42 /* SW Watchdog intr reg (r/w) */ #define MCFSIM_SWIVR 0x42 /* SW Watchdog intr reg (r/w) */
#define MCFSIM_SWSR 0x43 /* SW Watchdog service (r/w) */ #define MCFSIM_SWSR 0x43 /* SW Watchdog service (r/w) */
......
...@@ -25,8 +25,8 @@ ...@@ -25,8 +25,8 @@
/* /*
* Define the 5249 SIM register set addresses. * Define the 5249 SIM register set addresses.
*/ */
#define MCFSIM_RSR 0x00 /* Reset Status reg (r/w) */ #define MCFSIM_RSR (MCF_MBAR + 0x00) /* Reset Status */
#define MCFSIM_SYPCR 0x01 /* System Protection reg (r/w)*/ #define MCFSIM_SYPCR (MCF_MBAR + 0x01) /* System Protection */
#define MCFSIM_SWIVR 0x02 /* SW Watchdog intr reg (r/w) */ #define MCFSIM_SWIVR 0x02 /* SW Watchdog intr reg (r/w) */
#define MCFSIM_SWSR 0x03 /* SW Watchdog service (r/w) */ #define MCFSIM_SWSR 0x03 /* SW Watchdog service (r/w) */
#define MCFSIM_PAR 0x04 /* Pin Assignment reg (r/w) */ #define MCFSIM_PAR 0x04 /* Pin Assignment reg (r/w) */
......
...@@ -26,8 +26,8 @@ ...@@ -26,8 +26,8 @@
/* /*
* Define the 525x SIM register set addresses. * Define the 525x SIM register set addresses.
*/ */
#define MCFSIM_RSR 0x00 /* Reset Status reg (r/w) */ #define MCFSIM_RSR (MCF_MBAR + 0x00) /* Reset Status */
#define MCFSIM_SYPCR 0x01 /* System Protection reg (r/w)*/ #define MCFSIM_SYPCR (MCF_MBAR + 0x01) /* System Protection */
#define MCFSIM_SWIVR 0x02 /* SW Watchdog intr reg (r/w) */ #define MCFSIM_SWIVR 0x02 /* SW Watchdog intr reg (r/w) */
#define MCFSIM_SWSR 0x03 /* SW Watchdog service (r/w) */ #define MCFSIM_SWSR 0x03 /* SW Watchdog service (r/w) */
#define MCFSIM_MPARK 0x0C /* BUS Master Control Reg*/ #define MCFSIM_MPARK 0x0C /* BUS Master Control Reg*/
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
/* /*
* Define the 5307 SIM register set addresses. * Define the 5307 SIM register set addresses.
*/ */
#define MCFSIM_RSR 0x00 /* Reset Status reg (r/w) */ #define MCFSIM_RSR (MCF_MBAR + 0x00) /* Reset Status reg */
#define MCFSIM_SYPCR 0x01 /* System Protection reg (r/w)*/ #define MCFSIM_SYPCR (MCF_MBAR + 0x01) /* System Protection */
#define MCFSIM_SWIVR 0x02 /* SW Watchdog intr reg (r/w) */ #define MCFSIM_SWIVR 0x02 /* SW Watchdog intr reg (r/w) */
#define MCFSIM_SWSR 0x03 /* SW Watchdog service (r/w) */ #define MCFSIM_SWSR 0x03 /* SW Watchdog service (r/w) */
#define MCFSIM_PAR 0x04 /* Pin Assignment reg (r/w) */ #define MCFSIM_PAR 0x04 /* Pin Assignment reg (r/w) */
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
/* /*
* Define the 5407 SIM register set addresses. * Define the 5407 SIM register set addresses.
*/ */
#define MCFSIM_RSR 0x00 /* Reset Status reg (r/w) */ #define MCFSIM_RSR (MCF_MBAR + 0x00) /* Reset Status */
#define MCFSIM_SYPCR 0x01 /* System Protection reg (r/w)*/ #define MCFSIM_SYPCR (MCF_MBAR + 0x01) /* System Protection */
#define MCFSIM_SWIVR 0x02 /* SW Watchdog intr reg (r/w) */ #define MCFSIM_SWIVR 0x02 /* SW Watchdog intr reg (r/w) */
#define MCFSIM_SWSR 0x03 /* SW Watchdog service (r/w) */ #define MCFSIM_SWSR 0x03 /* SW Watchdog service (r/w) */
#define MCFSIM_PAR 0x04 /* Pin Assignment reg (r/w) */ #define MCFSIM_PAR 0x04 /* Pin Assignment reg (r/w) */
......
...@@ -27,7 +27,7 @@ static void mcf_cpu_reset(void) ...@@ -27,7 +27,7 @@ static void mcf_cpu_reset(void)
{ {
local_irq_disable(); local_irq_disable();
/* Set watchdog to soft reset, and enabled */ /* Set watchdog to soft reset, and enabled */
__raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); __raw_writeb(0xc0, MCFSIM_SYPCR);
for (;;) for (;;)
/* wait for watchdog to timeout */; /* wait for watchdog to timeout */;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment