Merge with /home/stefan/git/u-boot/denx-merge-sr
authorStefan Roese <sr@denx.de>
Thu, 1 Mar 2007 20:16:02 +0000 (21:16 +0100)
committerStefan Roese <sr@denx.de>
Thu, 1 Mar 2007 20:16:02 +0000 (21:16 +0100)
1  2 
cpu/ppc4xx/44x_spd_ddr2.c
cpu/ppc4xx/start.S
cpu/ppc4xx/tlb.c

  #if defined(CONFIG_SPD_EEPROM) &&                             \
        (defined(CONFIG_440SP) || defined(CONFIG_440SPE))
  
 +/*-----------------------------------------------------------------------------+
 + * Defines
 + *-----------------------------------------------------------------------------*/
  #ifndef       TRUE
- #define TRUE            1
+ #define TRUE          1
  #endif
  #ifndef FALSE
- #define FALSE           0
+ #define FALSE         0
  #endif
  
  #define SDRAM_DDR1    1
@@@ -190,25 -134,18 +190,25 @@@ static void program_initplr(unsigned lo
  static unsigned long is_ecc_enabled(void);
  static void program_ecc(unsigned long *dimm_populated,
                        unsigned char *iic0_dimm_addr,
 -                      unsigned long num_dimm_banks);
 +                      unsigned long num_dimm_banks,
 +                      unsigned long tlb_word2_i_value);
  static void program_ecc_addr(unsigned long start_address,
 -                           unsigned long num_bytes);
 -
 +                           unsigned long num_bytes,
 +                           unsigned long tlb_word2_i_value);
 +static void program_DQS_calibration(unsigned long *dimm_populated,
 +                                  unsigned char *iic0_dimm_addr,
 +                                  unsigned long num_dimm_banks);
  #ifdef HARD_CODED_DQS /* calibration test with hardvalues */
- static void          test(void);
+ static void   test(void);
  #else
- static void          DQS_calibration_process(void);
+ static void   DQS_calibration_process(void);
  #endif
 -static void program_DQS_calibration(unsigned long *dimm_populated,
 -                                  unsigned char *iic0_dimm_addr,
 -                                  unsigned long num_dimm_banks);
 +#if defined(DEBUG)
 +static void ppc440sp_sdram_register_dump(void);
 +#endif
 +int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 +void dcbz_area(u32 start_address, u32 num_bytes);
 +void dflush(void);
  
  static u32 mfdcr_any(u32 dcr)
  {
@@@ -1909,50 -1909,7 +1909,50 @@@ pll_wait
  | mftlb1.
  +----------------------------------------------------------------------------*/
        function_prolog(mftlb1)
-         TLBRE(3,3,0)
+       TLBRE(3,3,0)
        blr
        function_epilog(mftlb1)
 +
 +/*----------------------------------------------------------------------------+
 +| dcbz_area.
 ++----------------------------------------------------------------------------*/
 +        function_prolog(dcbz_area)
 +        rlwinm. r5,r4,0,27,31
 +        rlwinm  r5,r4,27,5,31
 +        beq     ..d_ra2
 +        addi    r5,r5,0x0001
 +..d_ra2:mtctr   r5
 +..d_ag2:dcbz    r0,r3
 +        addi    r3,r3,32
 +        bdnz    ..d_ag2
 +        sync
 +        blr
 +        function_epilog(dcbz_area)
 +
 +/*----------------------------------------------------------------------------+
 +| dflush.  Assume 32K at vector address is cachable.
 ++----------------------------------------------------------------------------*/
 +        function_prolog(dflush)
 +        mfmsr   r9
 +        rlwinm  r8,r9,0,15,13
 +        rlwinm  r8,r8,0,17,15
 +        mtmsr   r8
 +        addi    r3,r0,0x0000
 +        mtspr   dvlim,r3
 +        mfspr   r3,ivpr
 +        addi    r4,r0,1024
 +        mtctr   r4
 +..dflush_loop:
 +        lwz     r6,0x0(r3)
 +        addi    r3,r3,32
 +        bdnz    ..dflush_loop
 +        addi    r3,r3,-32
 +        mtctr   r4
 +..ag:   dcbf    r0,r3
 +        addi    r3,r3,-32
 +        bdnz    ..ag
 +        sync
 +        mtmsr   r9
 +        blr
 +        function_epilog(dflush)
  #endif /* CONFIG_440 */
Simple merge