Add new MPC8548CDS board with DDR II
PATCH 3/4 Add new MPC8548CDS board with DDR II
Part 3 of 4 adding new MPC85448CDS board
cpu/mpc85xx/start.S +6 -0
@@ -174,6 +174,9 @@ mtspr BUCSR,r0 /* disable branch prediction */ mtspr MAS4,r0 mtspr MAS6,r0 +#if defined(CONFIG_ENABLE_36BIT_PHYS) + mtspr MAS7,r0 +#endif isync /* Setup interrupt vectors */
@@ -354,6 +357,9 @@ /* Enable Time Base and Select Time Base Clock */ lis r0,HID0_EMCP at h /* Enable machine check */ ori r0,r0,0x4000 /* time base is processor clock */ +#if defined(CONFIG_ENABLE_36BIT_PHYS) + ori r0,r0,0x0080 /* enable MAS7 updates */ +#endif mtspr HID0,r0 #if defined(CONFIG_ADDR_STREAMING)
doc/README.mpc85xxads +4 -4
@@ -191,10 +191,10 @@ 4.4 Reflash U-boot Image using U-boot - => tftp 10000 u-boot.bin - => protect off fff80000 ffffffff - => erase fff80000 ffffffff - => cp.b 10000 fff80000 80000 + tftp 10000 u-boot.bin + protect off fff80000 ffffffff + erase fff80000 ffffffff + cp.b 10000 fff80000 80000 4.5 Reflash U-Boot with a BDI-2000
doc/README.mpc85xxcds +41 -2
55 lines not on this page · raw message
drivers/cfi_flash.c +4 -0
@@ -209,7 +209,9 @@static int flash_detect_cfi (flash_info_t * info);static ulong flash_get_size (ulong base,int banknum);static int flash_write_cfiword (flash_info_t * info,ulong dest,cfiword_t cword); +#ifdef POLLING_AMD_DQ7 static int Data_Polling_Check (flash_info_t * info,cfiptr_t cptr,cfiword_t cword); +#endif static int flash_full_status_check (flash_info_t * info,cfiptr_t cptr,cfiword_t cword,ulong tout,char *prompt);#ifdef CFG_FLASH_USE_BUFFER_WRITE static int flash_write_cfibuffer (flash_info_t * info,ulong dest,uchar * cp,int len);
@@ -771,6 +773,7 @@return retval; } +#ifdef POLLING_AMD_DQ7 /* ---------------------------------------------------------------------- * Polling DQ7 for AMD flash * Edited by York Sun (yorksun at freescale.com)
@@ -832,6 +835,7 @@ else return ERR_OK; } +#endif /* POLLING_AMD_DQ7 */ /*----------------------------------------------------------------------- * wait for XSR.7 to be set. Time out with an error if it does not.
examples/stubs.c +1 -1
@@ -136,7 +136,7 @@* implementation. On the other hand, asm() statements with * arguments can be used only inside the functions (gcc limitation) */ -#if GCC_VERSION <3004 +#if GCC_VERSION <3003 static#endif /* GCC_VERSION */ void __attribute__((unused))dummy (void )
include/asm-ppc/immap_85xx.h +21 -10
@@ -81,21 +81,27 @@uint cs1_config;/* 0x2084 - DDR Chip Select Configuration */ uint cs2_config;/* 0x2088 - DDR Chip Select Configuration */ uint cs3_config;/* 0x208c - DDR Chip Select Configuration */ -char res5[120 ]; +char res5[112 ]; +uint ext_refrec;/* 0x2100 - DDR SDRAM Extended Refresh Recovery */ +uint timing_cfg_0;/* 0x2104 - DDR SDRAM Timing Configuration Register 0 */ uint timing_cfg_1;/* 0x2108 - DDR SDRAM Timing Configuration Register 1 */ uint timing_cfg_2;/* 0x210c - DDR SDRAM Timing Configuration Register 2 */ uint sdram_cfg;/* 0x2110 - DDR SDRAM Control Configuration */ -char res6[4 ]; +uint sdram_cfg_2;/* 0x2114 - DDR SDRAM Control Configuration 2 */ uint sdram_mode;/* 0x2118 - DDR SDRAM Mode Configuration */ -char res7[8 ]; +uint sdram_mode_2;/* 0x211c - DDR SDRAM Mode Configuration 2*/ +uint sdram_md_cntl;/* 0x2120 - DDR SDRAM Mode Control */ uint sdram_interval;/* 0x2124 - DDR SDRAM Interval Configuration */ -#ifdef MPC85xx_DDR_SDRAM_CLK_CNTL -char res7_5[8 ]; +uint sdram_data_init;/* 0x2128 - DDR SDRAM Data initialization */ +char res6[4 ];uint sdram_clk_cntl;/* 0x2130 - DDR SDRAM Clock Control */ -char res8[3276 ]; -#else -char res8[3288 ]; -#endif +char res7[20 ]; +uint init_address;/* 0x2148 - DDR training initialization address */ +uint init_ext_address;/* 0x214C - DDR training initialization extended address */ +char res8_1[2728 ]; +uint ip_rev1;/* 0x2BF8 - DDR IP Block Revision 1 */ +uint ip_rev2;/* 0x2BFC - DDR IP Block Revision 2 */ +char res8_2[512 ];uint data_err_inject_hi;/* 0x2e00 - DDR Memory Data Path Error Injection Mask High */ uint data_err_inject_lo;/* 0x2e04 - DDR Memory Data Path Error Injection Mask Low */ uint ecc_err_inject;/* 0x2e08 - DDR Memory Data Path Error Injection Mask ECC */
@@ -120,6 +126,8 @@ } ccsr_ddr_t; + +/* I2C Registers(0x3000-0x4000) */ typedef struct ccsr_i2c {
@@ -158,6 +166,7 @@ #if defined(CONFIG_MPC8540) \ || defined(CONFIG_MPC8541) \ + || defined(CONFIG_MPC8548) \ || defined(CONFIG_MPC8555) /* DUART Registers(0x4000-0x5000) */ typedef struct ccsr_duart {
@@ -1545,7 +1554,9 @@uint ddrdllcr;/* 0xe0e10 - DDR DLL control register */ char res12[12 ];uint lbcdllcr;/* 0xe0e20 - LBC DLL control register */ -char res13[61915 ]; +char res13[256 ]; +uint ddrioovcr;/* 0xe0f24 - DDR IO Override Control */ +char res14[61659 ]; } ccsr_gur_t; typedef struct immap {
include/asm-ppc/processor.h +4 -0
@@ -420,6 +420,7 @@#define SPRN_MAS4 0x274/* MMU Assist Register 4 */ #define SPRN_MAS5 0x275/* MMU Assist Register 5 */ #define SPRN_MAS6 0x276/* MMU Assist Register 6 */ +#define SPRN_MAS7 0x3B0/* MMU Assist Register 7 */ #define SPRN_IVOR32 0x210/* Interrupt Vector Offset Register 32 */ #define SPRN_IVOR33 0x211/* Interrupt Vector Offset Register 33 */
@@ -584,6 +585,7 @@#define MAS4 SPRN_MAS4#define MAS5 SPRN_MAS5#define MAS6 SPRN_MAS6 +#define MAS7 SPRN_MAS7/* Device Control Registers */
@@ -792,6 +794,8 @@#define SVR_8560 0x8070#define SVR_8555 0x8079#define SVR_8541 0x807A +#define SVR_8548 0x8031 +#define SVR_8548_E 0x8039/* I am just adding a single entry for 8260 boards. I think we may be
include/configs/MPC8540ADS.h +3 -1
@@ -49,10 +49,12 @@#define CONFIG_TSEC_ENET /* tsec ethernet support */ #define CONFIG_ENV_OVERWRITE #define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup*/ -#define CONFIG_DDR_ECC /* only for ECC DDR module */ #define CONFIG_DDR_DLL /* possible DLL fix needed */ #define CONFIG_DDR_2T_TIMING /* Sets the 2T timing bit */ +#define CONFIG_DDR_ECC /* only for ECC DDR module */ +#define CONFIG_MEM_INIT_VALUE 0xDeadBeef +/* * sysclk for MPC85xx
include/configs/MPC8541CDS.h +5 -2
@@ -41,9 +41,12 @@#define CONFIG_TSEC_ENET /* tsec ethernet support */ #define CONFIG_ENV_OVERWRITE #define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup*/ -#define CONFIG_DDR_ECC /* only for ECC DDR module */ #define CONFIG_DDR_DLL /* possible DLL fix needed */ -#define CONFIG_DDR_2T_TIMING /* Sets the 2T timing bit */ +#undef CONFIG_DDR_2T_TIMING/* Sets the 2T timing bit */ + +#define CONFIG_DDR_ECC /* only for ECC DDR module */ +#define CONFIG_MEM_INIT_VALUE 0xDeadBeef +/* * When initializing flash, if we cannot find the manufacturer ID,
include/configs/MPC8548CDS.h +507 -0
507 lines not on this page · raw message
include/configs/MPC8555CDS.h +5 -2
@@ -41,9 +41,12 @@#define CONFIG_TSEC_ENET /* tsec ethernet support */ #define CONFIG_ENV_OVERWRITE #define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup*/ -#define CONFIG_DDR_ECC /* only for ECC DDR module */ #define CONFIG_DDR_DLL /* possible DLL fix needed */ -#define CONFIG_DDR_2T_TIMING /* Sets the 2T timing bit */ +#undef CONFIG_DDR_2T_TIMING/* Sets the 2T timing bit */ + +#define CONFIG_DDR_ECC /* only for ECC DDR module */ +#define CONFIG_MEM_INIT_VALUE 0xDeadBeef +/* * When initializing flash, if we cannot find the manufacturer ID,
include/configs/MPC8560ADS.h +3 -1
@@ -46,10 +46,12 @@#undef CONFIG_ETHER_ON_FCC/* cpm FCC ethernet support */ #define CONFIG_ENV_OVERWRITE #define CONFIG_SPD_EEPROM /* Use SPD EEPROM for DDR setup*/ -#define CONFIG_DDR_ECC /* only for ECC DDR module */ #define CONFIG_DDR_DLL /* possible DLL fix needed */ #define CONFIG_DDR_2T_TIMING /* Sets the 2T timing bit */ +#define CONFIG_DDR_ECC /* only for ECC DDR module */ +#define CONFIG_MEM_INIT_VALUE 0xDeadBeef +/* * sysclk for MPC85xx
include/configs/PM854.h +3 -1
@@ -45,10 +45,12 @@#define CONFIG_TSEC_ENET /* tsec ethernet support */ #define CONFIG_ENV_OVERWRITE #undef CONFIG_SPD_EEPROM/* do not use SPD EEPROM for DDR setup*/ -#define CONFIG_DDR_ECC /* only for ECC DDR module */ #define CONFIG_DDR_DLL /* possible DLL fix needed */ #define CONFIG_DDR_2T_TIMING /* Sets the 2T timing bit */ +#define CONFIG_DDR_ECC /* only for ECC DDR module */ +#define CONFIG_MEM_INIT_VALUE 0xDeadBeef +/* * sysclk for MPC85xx