ppc4xx: Added ppc4xx-isram.h for internal SRAM and L2 cache DCRs
authorDave Mitchell <dmitch71@gmail.com>
Thu, 20 Nov 2008 20:00:49 +0000 (14:00 -0600)
committerStefan Roese <sr@denx.de>
Fri, 21 Nov 2008 09:52:33 +0000 (10:52 +0100)
Added include/asm-ppc/ppc4xx-isram.h and moved internal SRAM and
L2 cache DCRs from ppc440.h to this new header.

Also converted these DCR defines from lowercase to uppercase and
modified referencing modules to use them.

Signed-off-by: Dave Mitchell <dmitch71@gmail.com>
Signed-off-by: Stefan Roese <sr@denx.de>
board/amcc/luan/luan.c
cpu/ppc4xx/start.S
include/asm-ppc/ppc4xx-isram.h [new file with mode: 0644]
include/ppc440.h

index b28ebf98e970963505ee521b3aef59613b4c24e2..de3e3d8b925d36a8cfaa8b1e53a6ce1e0ea3968e 100644 (file)
@@ -25,6 +25,7 @@
 #include <command.h>
 #include <ppc4xx.h>
 #include <asm/processor.h>
+#include <asm/ppc4xx-isram.h>
 #include <spd_sdram.h>
 #include "epld.h"
 
@@ -255,7 +256,7 @@ static int on_off( const char *s )
  ************************************************************************/
 static void l2cache_disable(void)
 {
-       mtdcr( l2_cache_cfg, 0 );
+       mtdcr( L2_CACHE_CFG, 0 );
 }
 
 
@@ -265,24 +266,24 @@ static void l2cache_disable(void)
  ************************************************************************/
 static void l2cache_enable(void)       /* see p258 7.4.1 Enabling L2 Cache */
 {
-       mtdcr( l2_cache_cfg, 0x80000000 );      /* enable L2_MODE L2_CFG[L2M] */
+       mtdcr( L2_CACHE_CFG, 0x80000000 );      /* enable L2_MODE L2_CFG[L2M] */
 
-       mtdcr( l2_cache_addr, 0 );              /* set L2_ADDR with all zeros */
+       mtdcr( L2_CACHE_ADDR, 0 );              /* set L2_ADDR with all zeros */
 
-       mtdcr( l2_cache_cmd, 0x80000000 );      /* issue HCLEAR command via L2_CMD */
+       mtdcr( L2_CACHE_CMD, 0x80000000 );      /* issue HCLEAR command via L2_CMD */
 
-       while (!(mfdcr( l2_cache_stat ) & 0x80000000 ))  ;; /* poll L2_SR for completion */
+       while (!(mfdcr( L2_CACHE_STAT ) & 0x80000000 ))  ;; /* poll L2_SR for completion */
 
-       mtdcr( l2_cache_cmd, 0x10000000 );      /* clear cache errors L2_CMD[CCP] */
+       mtdcr( L2_CACHE_CMD, 0x10000000 );      /* clear cache errors L2_CMD[CCP] */
 
-       mtdcr( l2_cache_cmd, 0x08000000 );      /* clear tag errors L2_CMD[CTE] */
+       mtdcr( L2_CACHE_CMD, 0x08000000 );      /* clear tag errors L2_CMD[CTE] */
 
-       mtdcr( l2_cache_snp0, 0 );              /* snoop registers */
-       mtdcr( l2_cache_snp1, 0 );
+       mtdcr( L2_CACHE_SNP0, 0 );              /* snoop registers */
+       mtdcr( L2_CACHE_SNP1, 0 );
 
        __asm__ volatile ("sync");              /* msync */
 
-       mtdcr( l2_cache_cfg, 0xe0000000 );      /* inst and data use L2 */
+       mtdcr( L2_CACHE_CFG, 0xe0000000 );      /* inst and data use L2 */
 
        __asm__ volatile ("sync");
 }
@@ -294,7 +295,7 @@ static void l2cache_enable(void)    /* see p258 7.4.1 Enabling L2 Cache */
  ************************************************************************/
 static int l2cache_status(void)
 {
-       return  (mfdcr( l2_cache_cfg ) & 0x60000000) != 0;
+       return  (mfdcr( L2_CACHE_CFG ) & 0x60000000) != 0;
 }
 
 
index 84d7a2889fb5d73281898f9c284476c93058dfc0..db34e84d3efffa471503747e047f6b3cb2ebee80 100644 (file)
@@ -72,6 +72,7 @@
 
 #include <asm/cache.h>
 #include <asm/mmu.h>
+#include <asm/ppc4xx-isram.h>
 
 #ifndef         CONFIG_IDENT_STRING
 #define         CONFIG_IDENT_STRING ""
@@ -679,65 +680,65 @@ _start:
     defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \
     defined(CONFIG_460EX) || defined(CONFIG_460GT) || \
     defined(CONFIG_460SX)
-       mtdcr   l2_cache_cfg,r0         /* Ensure L2 Cache is off */
+       mtdcr   L2_CACHE_CFG,r0         /* Ensure L2 Cache is off */
 #endif
 
        lis     r2,0x7fff
        ori     r2,r2,0xffff
-       mfdcr   r1,isram0_dpc
+       mfdcr   r1,ISRAM0_DPC
        and     r1,r1,r2                /* Disable parity check */
-       mtdcr   isram0_dpc,r1
-       mfdcr   r1,isram0_pmeg
+       mtdcr   ISRAM0_DPC,r1
+       mfdcr   r1,ISRAM0_PMEG
        and     r1,r1,r2                /* Disable pwr mgmt */
-       mtdcr   isram0_pmeg,r1
+       mtdcr   ISRAM0_PMEG,r1
 
        lis     r1,0x8000               /* BAS = 8000_0000 */
 #if defined(CONFIG_440GX) || defined(CONFIG_440SP)
        ori     r1,r1,0x0980            /* first 64k */
-       mtdcr   isram0_sb0cr,r1
+       mtdcr   ISRAM0_SB0CR,r1
        lis     r1,0x8001
        ori     r1,r1,0x0980            /* second 64k */
-       mtdcr   isram0_sb1cr,r1
+       mtdcr   ISRAM0_SB1CR,r1
        lis     r1, 0x8002
        ori     r1,r1, 0x0980           /* third 64k */
-       mtdcr   isram0_sb2cr,r1
+       mtdcr   ISRAM0_SB2CR,r1
        lis     r1, 0x8003
        ori     r1,r1, 0x0980           /* fourth 64k */
-       mtdcr   isram0_sb3cr,r1
+       mtdcr   ISRAM0_SB3CR,r1
 #elif defined(CONFIG_440SPE)
        lis     r1,0x0000               /* BAS = 0000_0000 */
        ori     r1,r1,0x0984            /* first 64k */
-       mtdcr   isram0_sb0cr,r1
+       mtdcr   ISRAM0_SB0CR,r1
        lis     r1,0x0001
        ori     r1,r1,0x0984            /* second 64k */
-       mtdcr   isram0_sb1cr,r1
+       mtdcr   ISRAM0_SB1CR,r1
        lis     r1, 0x0002
        ori     r1,r1, 0x0984           /* third 64k */
-       mtdcr   isram0_sb2cr,r1
+       mtdcr   ISRAM0_SB2CR,r1
        lis     r1, 0x0003
        ori     r1,r1, 0x0984           /* fourth 64k */
-       mtdcr   isram0_sb3cr,r1
+       mtdcr   ISRAM0_SB3CR,r1
 #elif defined(CONFIG_460EX) || defined(CONFIG_460GT)
        lis     r1,0x4000               /* BAS = 8000_0000 */
        ori     r1,r1,0x4580            /* 16k */
-       mtdcr   isram0_sb0cr,r1
+       mtdcr   ISRAM0_SB0CR,r1
 #elif defined(CONFIG_460SX)
        lis     r1,0x0000               /* BAS = 0000_0000 */
        ori     r1,r1,0x0B84            /* first 128k */
-       mtdcr   isram0_sb0cr,r1
+       mtdcr   ISRAM0_SB0CR,r1
        lis     r1,0x0001
        ori     r1,r1,0x0B84            /* second 128k */
-       mtdcr   isram0_sb1cr,r1
+       mtdcr   ISRAM0_SB1CR,r1
        lis     r1, 0x0002
        ori     r1,r1, 0x0B84           /* third 128k */
-       mtdcr   isram0_sb2cr,r1
+       mtdcr   ISRAM0_SB2CR,r1
        lis     r1, 0x0003
        ori     r1,r1, 0x0B84           /* fourth 128k */
-       mtdcr   isram0_sb3cr,r1
+       mtdcr   ISRAM0_SB3CR,r1
 #elif defined(CONFIG_440GP)
        ori     r1,r1,0x0380            /* 8k rw */
-       mtdcr   isram0_sb0cr,r1
-       mtdcr   isram0_sb1cr,r0         /* Disable bank 1 */
+       mtdcr   ISRAM0_SB0CR,r1
+       mtdcr   ISRAM0_SB1CR,r0         /* Disable bank 1 */
 #endif
 #endif /* #if !defined(CONFIG_440EP) && !defined(CONFIG_440GR) */
 
diff --git a/include/asm-ppc/ppc4xx-isram.h b/include/asm-ppc/ppc4xx-isram.h
new file mode 100644 (file)
index 0000000..d6d17ac
--- /dev/null
@@ -0,0 +1,75 @@
+
+/*
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#ifndef _PPC4xx_ISRAM_H_
+#define _PPC4xx_ISRAM_H_
+
+/*
+ * Internal SRAM
+ */
+#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX)
+#define ISRAM0_DCR_BASE 0x380
+#else
+#define ISRAM0_DCR_BASE 0x020
+#endif
+#define ISRAM0_SB0CR   (ISRAM0_DCR_BASE+0x00)  /* SRAM bank config 0*/
+#define ISRAM0_SB1CR   (ISRAM0_DCR_BASE+0x01)  /* SRAM bank config 1*/
+#define ISRAM0_SB2CR   (ISRAM0_DCR_BASE+0x02)  /* SRAM bank config 2*/
+#define ISRAM0_SB3CR   (ISRAM0_DCR_BASE+0x03)  /* SRAM bank config 3*/
+#define ISRAM0_BEAR    (ISRAM0_DCR_BASE+0x04)  /* SRAM bus error addr reg */
+#define ISRAM0_BESR0   (ISRAM0_DCR_BASE+0x05)  /* SRAM bus error status reg 0 */
+#define ISRAM0_BESR1   (ISRAM0_DCR_BASE+0x06)  /* SRAM bus error status reg 1 */
+#define ISRAM0_PMEG    (ISRAM0_DCR_BASE+0x07)  /* SRAM power management */
+#define ISRAM0_CID     (ISRAM0_DCR_BASE+0x08)  /* SRAM bus core id reg */
+#define ISRAM0_REVID   (ISRAM0_DCR_BASE+0x09)  /* SRAM bus revision id reg */
+#define ISRAM0_DPC     (ISRAM0_DCR_BASE+0x0a)  /* SRAM data parity check reg */
+
+#if defined(CONFIG_460EX) || defined(CONFIG_460GT)
+#define ISRAM1_DCR_BASE 0x0B0
+#define ISRAM1_SB0CR   (ISRAM1_DCR_BASE+0x00)  /* SRAM1 bank config 0*/
+#define ISRAM1_BEAR    (ISRAM1_DCR_BASE+0x04)  /* SRAM1 bus error addr reg */
+#define ISRAM1_BESR0   (ISRAM1_DCR_BASE+0x05)  /* SRAM1 bus error status reg 0 */
+#define ISRAM1_BESR1   (ISRAM1_DCR_BASE+0x06)  /* SRAM1 bus error status reg 1 */
+#define ISRAM1_PMEG    (ISRAM1_DCR_BASE+0x07)  /* SRAM1 power management */
+#define ISRAM1_CID     (ISRAM1_DCR_BASE+0x08)  /* SRAM1 bus core id reg */
+#define ISRAM1_REVID   (ISRAM1_DCR_BASE+0x09)  /* SRAM1 bus revision id reg */
+#define ISRAM1_DPC     (ISRAM1_DCR_BASE+0x0a)  /* SRAM1 data parity check reg */
+#endif /* CONFIG_460EX || CONFIG_460GT */
+
+/*
+ * L2 Cache
+ */
+#if defined (CONFIG_440GX) || \
+    defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \
+    defined(CONFIG_460EX) || defined(CONFIG_460GT) || \
+    defined(CONFIG_460SX)
+#define L2_CACHE_BASE  0x030
+#define L2_CACHE_CFG   (L2_CACHE_BASE+0x00)    /* L2 Cache Config      */
+#define L2_CACHE_CMD   (L2_CACHE_BASE+0x01)    /* L2 Cache Command     */
+#define L2_CACHE_ADDR  (L2_CACHE_BASE+0x02)    /* L2 Cache Address     */
+#define L2_CACHE_DATA  (L2_CACHE_BASE+0x03)    /* L2 Cache Data        */
+#define L2_CACHE_STAT  (L2_CACHE_BASE+0x04)    /* L2 Cache Status      */
+#define L2_CACHE_CVER  (L2_CACHE_BASE+0x05)    /* L2 Cache Revision ID */
+#define L2_CACHE_SNP0  (L2_CACHE_BASE+0x06)    /* L2 Cache Snoop reg 0 */
+#define L2_CACHE_SNP1  (L2_CACHE_BASE+0x07)    /* L2 Cache Snoop reg 1 */
+#endif /* CONFIG_440GX */
+
+#endif /* _PPC4xx_ISRAM_H_ */
index 4d2157a8f2eaf0511e4c168b71a56e360f15e509..01f6eaf35e6bfb8f4d757ac481af38610b93e628 100644 (file)
 
 #endif /* 440EP || 440GR || 440EPX || 440GRX */
 
-/*-----------------------------------------------------------------------------
- | L2 Cache
- +----------------------------------------------------------------------------*/
-#if defined (CONFIG_440GX) || \
-    defined(CONFIG_440SP) || defined(CONFIG_440SPE) || \
-    defined(CONFIG_460EX) || defined(CONFIG_460GT) || \
-    defined(CONFIG_460SX)
-#define L2_CACHE_BASE  0x030
-#define l2_cache_cfg   (L2_CACHE_BASE+0x00)    /* L2 Cache Config      */
-#define l2_cache_cmd   (L2_CACHE_BASE+0x01)    /* L2 Cache Command     */
-#define l2_cache_addr  (L2_CACHE_BASE+0x02)    /* L2 Cache Address     */
-#define l2_cache_data  (L2_CACHE_BASE+0x03)    /* L2 Cache Data        */
-#define l2_cache_stat  (L2_CACHE_BASE+0x04)    /* L2 Cache Status      */
-#define l2_cache_cver  (L2_CACHE_BASE+0x05)    /* L2 Cache Revision ID */
-#define l2_cache_snp0  (L2_CACHE_BASE+0x06)    /* L2 Cache Snoop reg 0 */
-#define l2_cache_snp1  (L2_CACHE_BASE+0x07)    /* L2 Cache Snoop reg 1 */
-
-#endif /* CONFIG_440GX */
-
-/*-----------------------------------------------------------------------------
- | Internal SRAM
- +----------------------------------------------------------------------------*/
-#if defined(CONFIG_440EPX) || defined(CONFIG_440GRX)
-#define ISRAM0_DCR_BASE 0x380
-#else
-#define ISRAM0_DCR_BASE 0x020
-#endif
-#define isram0_sb0cr   (ISRAM0_DCR_BASE+0x00)  /* SRAM bank config 0*/
-#define isram0_sb1cr   (ISRAM0_DCR_BASE+0x01)  /* SRAM bank config 1*/
-#define isram0_sb2cr   (ISRAM0_DCR_BASE+0x02)  /* SRAM bank config 2*/
-#define isram0_sb3cr   (ISRAM0_DCR_BASE+0x03)  /* SRAM bank config 3*/
-#define isram0_bear    (ISRAM0_DCR_BASE+0x04)  /* SRAM bus error addr reg */
-#define isram0_besr0   (ISRAM0_DCR_BASE+0x05)  /* SRAM bus error status reg 0 */
-#define isram0_besr1   (ISRAM0_DCR_BASE+0x06)  /* SRAM bus error status reg 1 */
-#define isram0_pmeg    (ISRAM0_DCR_BASE+0x07)  /* SRAM power management */
-#define isram0_cid     (ISRAM0_DCR_BASE+0x08)  /* SRAM bus core id reg */
-#define isram0_revid   (ISRAM0_DCR_BASE+0x09)  /* SRAM bus revision id reg */
-#define isram0_dpc     (ISRAM0_DCR_BASE+0x0a)  /* SRAM data parity check reg */
-
 #if defined(CONFIG_440EP) || defined(CONFIG_440GR) || \
     defined(CONFIG_440EPX) || defined(CONFIG_440GRX) || \
     defined(CONFIG_460EX) || defined(CONFIG_460GT)