Update of /cvsroot/blob/blob/include/blob/arch
In directory usw-pr-cvs1:/tmp/cvs-serv2855/include/blob/arch
Modified Files:
frodo.h
Log Message:
Changed the SA-1110 memory setup routines so that stuff related to external
memory and memory in banks 2/3 is optional. Simply defining values such as
MDCAS21_VALUE to junk doesn't work.
Index: frodo.h
===================================================================
RCS file: /cvsroot/blob/blob/include/blob/arch/frodo.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- frodo.h 1 Feb 2002 14:38:55 -0000 1.1
+++ frodo.h 8 Feb 2002 10:19:56 -0000 1.2
@@ -36,7 +36,7 @@
*
* CCF[4:0] 3.6864-MHz Crystal Oscillator 3.5795-MHz Crystal Oscillator
* -------------------------------------------------------------------------
- * 00 59.0 57.3
+ * 00 59.0 57.3
* 01 73.7 71.6
* 02 88.5 85.9
* 03 103.2 100.2
@@ -48,10 +48,33 @@
* 09 191.7 186.1
* 0a 206.4 200.5
* 0b 221.2 214.8
+ *
+ * these are undocumented.
+ *
+ * 0c 235.9 ??
+ * 0d 250.7 ??
+ * 0e 265.4 ??
+ * 0f 280.2 ??
*/
+#define CPU_CORE_SPEED_59mhz 0x00
+#define CPU_CORE_SPEED_73mhz 0x01
+#define CPU_CORE_SPEED_88mhz 0x02
+#define CPU_CORE_SPEED_103mhz 0x03
+#define CPU_CORE_SPEED_118mhz 0x04
+#define CPU_CORE_SPEED_132mhz 0x05
+#define CPU_CORE_SPEED_147mhz 0x06
+#define CPU_CORE_SPEED_162mhz 0x07
+#define CPU_CORE_SPEED_176mhz 0x08
+#define CPU_CORE_SPEED_191mhz 0x09
+#define CPU_CORE_SPEED_206mhz 0x0a
+#define CPU_CORE_SPEED_221mhz 0x0b
+#define CPU_CORE_SPEED_235mhz 0x0c
+#define CPU_CORE_SPEED_250mhz 0x0d
+#define CPU_CORE_SPEED_265mhz 0x0e
+#define CPU_CORE_SPEED_280mhz 0x0f
/* boot CPU speed */
-#define CPU_SPEED (0x0a)
+#define CPU_SPEED (CPU_CORE_SPEED_221mhz)
/*
* Serial port 1 is used for the Serial port w/ flow control.
@@ -60,22 +83,18 @@
/* serial port */
#define USE_SERIAL2
-
/* GPIO for the LED */
#define LED_GPIO (0x00000000) /* no led (for now) */
-
/* the base address were BLOB is loaded by the first stage loader */
#define BLOB_ABS_BASE_ADDR (0xc0200400)
-
/* where do various parts live in RAM */
#define BLOB_RAM_BASE (0xc0100000)
#define KERNEL_RAM_BASE (0xc0008000)
#define PARAM_RAM_BASE (0xc0110000)
#define RAMDISK_RAM_BASE (0xc0400000)
-
/* and where do they live in flash */
#define BLOB_FLASH_BASE 0x00000000
#define BLOB_FLASH_LEN (256 * 1024)
@@ -86,35 +105,56 @@
#define RAMDISK_FLASH_BASE (KERNEL_FLASH_BASE + KERNEL_FLASH_LEN)
#define RAMDISK_FLASH_LEN (4 * 1024 * 1024)
-
/* the position of the kernel boot parameters */
#define BOOT_PARAMS (0xc0000100)
-
/* the size (in kbytes) to which the compressed ramdisk expands */
#define RAMDISK_SIZE (8 * 1024)
-
/* Memory configuration */
#ifdef BLOB_NEED_MEMCONFIG
-#warning "use defines from memsetup.h for better readability"
+
+#define SMCNFG_VALUE 0x00000000
+
+#if (CPU_SPEED >= CPU_CORE_SPEED_206mhz)
+
# define MDCNFG_VALUE 0x0000a265
+
+#ifdef MDRFER_DONT_BELIEVE_IN_MAGIC
+# define MDREFR_VALUE 0x00700061
+#endif /* #ifdef MDRFER_DONT_BELIEVE_IN_MAGIC */
+
# define MDCAS00_VALUE 0x5555557f
# define MDCAS01_VALUE 0x55555555
# define MDCAS02_VALUE 0x55555555
# define MSC0_VALUE 0x00004770
-# define MSC1_VALUE 0x00000000
-# define MECR_VALUE 0xffffffff
-/* MDREFR == 0x00700061 */
-# define MDREFR_VALUE do_not_use_this_value__gets_automagically_computed
-# define MDCAS20_VALUE 0xaaaaaa7f /* 0x20 MDCAS20 */
-# define MDCAS21_VALUE 0xaaaaaaaa /* 0x24 MDCAS21 */
-# define MDCAS22_VALUE 0xaaaaaaaa /* 0x28 MDCAS22 */
-# define MSC2_VALUE 0x42196669 /* 0x2C MCS2 */
-# define SMCNFG_VALUE 0x00000000
-#endif
+#else /* #if (CPU_SPEED >= CPU_CORE_SPEED_206mhz) */
+# define MDCNFG_VALUE 0x0000a165
+#ifdef MDRFER_DONT_BELIEVE_IN_MAGIC
+# define MDREFR_VALUE 0x00300051
+#endif /* #ifdef MDRFER_DONT_BELIEVE_IN_MAGIC */
-#endif
+# define MDCAS00_VALUE 0xaaaaaaa7
+# define MDCAS01_VALUE 0xaaaaaaaa
+# define MDCAS02_VALUE 0xaaaaaaaa
+# define MSC0_VALUE 0x00004668
+
+#endif /* #if (CPU_SPEED >= CPU_CORE_SPEED_206mhz) */
+
+/*
+ * These are currently unused:
+ *
+ * MECR_VALUE
+ * MDCAS20_VALUE
+ * MDCAS21_VALUE
+ * MDCAS22_VALUE
+ * MSC1_VALUE
+ * MSC2_VALUE
+ */
+
+#endif /* #ifdef BLOB_NEED_MEMCONFIG */
+
+#endif /* #ifndef BLOB_ARCH_FRODO_H */
|