mpc85xx/tlb.c: Allow platforms to specify wimge bits
authorBecky Bruce <beckyb@kernel.crashing.org>
Fri, 17 Dec 2010 23:17:55 +0000 (17:17 -0600)
committerKumar Gala <galak@kernel.crashing.org>
Fri, 14 Jan 2011 07:32:19 +0000 (01:32 -0600)
Some platforms might want to override the default wimge=0 for
DDR.  Add CONFIG_SYS_PPC_DDR_WIMGE for those platforms to use.
This will initially only be used by TQM85xx, but could be
useful for other boards or testing going forward.  Note that
the name of this define is not 85xx-specific.  WIMGE is a
fairly universal concept, so any ppc platforms that require
different WIMGE settings for DDR can use the same #define.

Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/cpu/mpc85xx/tlb.c

index e3a71aec5c4c9298f1e03ad977926d71d699ff16..31143ba5300fade223cfb0c4d4998064f5e18046 100644 (file)
@@ -250,10 +250,14 @@ setup_ddr_tlbs_phys(phys_addr_t p_addr, unsigned int memsize_in_meg)
 {
        int i;
        unsigned int tlb_size;
+       unsigned int wimge = 0;
        unsigned int ram_tlb_address = (unsigned int)CONFIG_SYS_DDR_SDRAM_BASE;
        unsigned int max_cam = (mfspr(SPRN_TLB1CFG) >> 16) & 0xf;
        u64 size, memsize = (u64)memsize_in_meg << 20;
 
+#ifdef CONFIG_SYS_PPC_DDR_WIMGE
+       wimge = CONFIG_SYS_PPC_DDR_WIMGE;
+#endif
        size = min(memsize, CONFIG_MAX_MEM_MAPPED);
 
        /* Convert (4^max) kB to (2^max) bytes */
@@ -277,7 +281,7 @@ setup_ddr_tlbs_phys(phys_addr_t p_addr, unsigned int memsize_in_meg)
                tlb_size = (camsize - 10) / 2;
 
                set_tlb(1, ram_tlb_address, p_addr,
-                       MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                       MAS3_SX|MAS3_SW|MAS3_SR, wimge,
                        0, ram_tlb_index, tlb_size, 1);
 
                size -= 1ULL << camsize;