]> git.sur5r.net Git - u-boot/blobdiff - include/configs/cmc_pu2.h
Fix timer code for ARM systems: make sure that udelay() does not
[u-boot] / include / configs / cmc_pu2.h
index e87e3184ff52420fb7254998265182e45c7d6391..96b7148cf145e1929bbdf278ce29a67d7674ceda 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Gary Jennejohn <garyj@denx.de>
+ * 2004-2005 Gary Jennejohn <garyj@denx.de>
  *
  * Configuration settings for the CMC PU2 board.
  *
  * If we are developing, we might want to start armboot from ram
  * so we MUST NOT initialize critical regs like mem-timing ...
  */
-#define CONFIG_INIT_CRITICAL           /* undef for developing */
+#define CONFIG_INIT_CRITICAL
 
 /* ARM asynchronous clock */
 #define AT91C_MAIN_CLOCK       207360000       /* from 18.432 MHz crystal (18432000 / 4 * 45) */
-#define AT91C_MASTER_CLOCK     69120000        /* peripheral clock (AT91C_MASTER_CLOCK / 3) */
+#define AT91C_MASTER_CLOCK     (AT91C_MAIN_CLOCK/3)    /* peripheral clock */
 
 #define AT91_SLOW_CLOCK                32768   /* slow clock */
 
 #define CONFIG_SETUP_MEMORY_TAGS 1
 #define CONFIG_INITRD_TAG      1
 
-/* define this to include the functionality of boot.bin in u-boot */
-#define CONFIG_BOOTBINFUNC
-
-/* just to make sure */
-#ifndef CONFIG_BOOTBINFUNC
-#define CONFIG_BOOTBINFUNC
-#endif
+#ifdef CONFIG_INIT_CRITICAL
+#define CFG_USE_MAIN_OSCILLATOR                1
+/* flash */
+#define MC_PUIA_VAL    0x00000000
+#define MC_PUP_VAL     0x00000000
+#define MC_PUER_VAL    0x00000000
+#define MC_ASR_VAL     0x00000000
+#define MC_AASR_VAL    0x00000000
+#define EBI_CFGR_VAL   0x00000000
+#define SMC2_CSR_VAL   0x100032ad /* 16bit, 2 TDF, 4 WS */
+
+/* clocks */
+#define PLLAR_VAL      0x202CBE04 /* 207.360 MHz for PCK */
+#define PLLBR_VAL      0x10483E0E /* 48.054857 MHz (divider by 2 for USB) */
+#define MCKR_VAL       0x00000202 /* PCK/3 = MCK Master Clock = 69.120MHz from PLLA */
+
+/* sdram */
+#define PIOC_ASR_VAL   0xFFFF0000 /* Configure PIOC as peripheral (D16/D31) */
+#define PIOC_BSR_VAL   0x00000000
+#define PIOC_PDR_VAL   0xFFFF0000
+#define EBI_CSA_VAL    0x00000002 /* CS1=SDRAM */
+#define SDRC_CR_VAL    0x3399c1d4 /* set up the SDRAM */
+#define SDRAM          0x20000000 /* address of the SDRAM */
+#define SDRAM1         0x20000080 /* address of the SDRAM */
+#define SDRAM_VAL      0x00000000 /* value written to SDRAM */
+#define SDRC_MR_VAL    0x00000002 /* Precharge All */
+#define SDRC_MR_VAL1   0x00000004 /* refresh */
+#define SDRC_MR_VAL2   0x00000003 /* Load Mode Register */
+#define SDRC_MR_VAL3   0x00000000 /* Normal Mode */
+#define SDRC_TR_VAL    0x000002E0 /* Write refresh rate */
+#endif /* CONFIG_INIT_CRITICAL */
 
 /*
  * Size of malloc() pool
 #ifdef CONFIG_HARD_I2C
 #define CONFIG_COMMANDS                \
                       ((CONFIG_CMD_DFL | \
-                       CFG_CMD_I2C     | \
                        CFG_CMD_DATE    | \
+                       CFG_CMD_DHCP    | \
                        CFG_CMD_EEPROM  | \
-                       CFG_CMD_DHCP )  & \
+                       CFG_CMD_I2C     | \
+                       CFG_CMD_NFS     | \
+                       CFG_CMD_SNTP  ) & \
                      ~(CFG_CMD_FPGA | CFG_CMD_MISC) )
 #else
 #define CONFIG_COMMANDS                \
                       ((CONFIG_CMD_DFL | \
-                       CFG_CMD_DHCP )  & \
+                       CFG_CMD_DHCP    | \
+                       CFG_CMD_NFS     | \
+                       CFG_CMD_SNTP  ) & \
                      ~(CFG_CMD_FPGA | CFG_CMD_MISC) )
 #define CONFIG_TIMESTAMP
 #endif
 #define CFG_MONITOR_BASE               CFG_FLASH_BASE
 #define CFG_MAX_FLASH_BANKS            1
 #define CFG_MAX_FLASH_SECT             256
-#define CFG_FLASH_ERASE_TOUT           (2*CFG_HZ) /* Timeout for Flash Erase */
-#define CFG_FLASH_WRITE_TOUT           (2*CFG_HZ) /* Timeout for Flash Write */
+#define CFG_FLASH_ERASE_TOUT           (11 * CFG_HZ)   /* Timeout for Flash Erase */
+#define CFG_FLASH_WRITE_TOUT           ( 2 * CFG_HZ)   /* Timeout for Flash Write */
 
 #define CFG_ENV_IS_IN_FLASH            1
 #define CFG_ENV_OFFSET                 0x20000         /* after u-boot.bin */
@@ -175,8 +203,8 @@ struct bd_info_ext {
 #endif /* __ASSEMBLY__ */
 
 #define CFG_HZ 1000
-#define CFG_HZ_CLOCK AT91C_MASTER_CLOCK/2      /* AT91C_TC0_CMR is implicitly set to */
-                                       /* AT91C_TC_TIMER_DIV1_CLOCK */
+#define CFG_HZ_CLOCK (AT91C_MASTER_CLOCK/2)    /* AT91C_TC0_CMR is implicitly set to */
+                                               /* AT91C_TC_TIMER_DIV1_CLOCK */
 
 #define CONFIG_STACKSIZE       (32*1024)       /* regular stack */