powerpc: mpc85xx: Fix static TLB table for SDRAM
authorYork Sun <york.sun@nxp.com>
Tue, 5 Dec 2017 18:57:54 +0000 (10:57 -0800)
committerYork Sun <york.sun@nxp.com>
Wed, 6 Dec 2017 22:54:12 +0000 (14:54 -0800)
Most predefined TLB tables don't have memory coherence bit set for
SDRAM. This wasn't an issue before invalidate_dcache_range() function
was enabled. Without the coherence bit, dcache invalidation doesn't
automatically flush the cache. The coherence bit is already set when
dynamic TLB table is used. For some boards with different SPL boot
method, or with legacy fixed setting, this bit needs to be set in
TLB files.

Signed-off-by: York Sun <york.sun@nxp.com>
22 files changed:
board/Arcturus/ucp1020/tlb.c
board/freescale/b4860qds/tlb.c
board/freescale/bsc9131rdb/tlb.c
board/freescale/bsc9132qds/tlb.c
board/freescale/c29xpcie/tlb.c
board/freescale/mpc8541cds/tlb.c
board/freescale/mpc8548cds/tlb.c
board/freescale/mpc8568mds/tlb.c
board/freescale/p1010rdb/tlb.c
board/freescale/p1022ds/tlb.c
board/freescale/p1023rdb/tlb.c
board/freescale/p1_p2_rdb_pc/tlb.c
board/freescale/p1_twr/tlb.c
board/freescale/t102xqds/tlb.c
board/freescale/t102xrdb/tlb.c
board/freescale/t104xrdb/tlb.c
board/freescale/t208xqds/tlb.c
board/freescale/t208xrdb/tlb.c
board/freescale/t4qds/tlb.c
board/freescale/t4rdb/tlb.c
board/gdsys/p1022/tlb.c
board/sbc8548/tlb.c

index fd7134f..95d58af 100644 (file)
@@ -79,7 +79,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
        (defined(CONFIG_SPL) && !defined(CONFIG_SPL_COMMON_INIT_DDR))
        /* *I*G - eSDHC/eSPI/NAND boot */
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX | MAS3_SW | MAS3_SR, 0,
+                     MAS3_SX | MAS3_SW | MAS3_SR, MAS2_M,
                      0, 8, BOOKE_PAGESZ_1G, 1),
 
 #endif /* RAMBOOT/SPL */
index 7b55b86..88910d6 100644 (file)
@@ -147,7 +147,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
 
 #if defined(CONFIG_RAMBOOT_PBL) && !defined(CONFIG_SPL_BUILD)
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 17, BOOKE_PAGESZ_2G, 1)
 #endif
 };
index c8ecf5d..e5dab9e 100644 (file)
@@ -49,7 +49,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
 
 #if  defined(CONFIG_SYS_RAMBOOT) || defined(CONFIG_SPL)
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                       MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                       MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                        0, 8, BOOKE_PAGESZ_1G, 1),
 #endif
 
index 07febc2..56199e5 100644 (file)
@@ -71,7 +71,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
 
 #if defined(CONFIG_SYS_RAMBOOT) || defined(CONFIG_SPL)
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 8, BOOKE_PAGESZ_1G, 1),
 #endif
 
index c5abed0..85d58c8 100644 (file)
@@ -67,11 +67,11 @@ struct fsl_e_tlb_entry tlb_table[] = {
                (defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD))
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE,
                        CONFIG_SYS_DDR_SDRAM_BASE,
-                       MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                       MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                        0, 8, BOOKE_PAGESZ_256M, 1),
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000,
                        CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000,
-                       MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                       MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                        0, 9, BOOKE_PAGESZ_256M, 1),
 #endif
 
index fff3b4a..6664f27 100644 (file)
@@ -81,7 +81,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
         * 0xf000_0000  64M     LBC SDRAM
         */
        SET_TLB_ENTRY(1, CONFIG_SYS_LBC_SDRAM_BASE, CONFIG_SYS_LBC_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 6, BOOKE_PAGESZ_64M, 1),
 
        /*
index 363e043..571341f 100644 (file)
@@ -48,7 +48,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
         */
        SET_TLB_ENTRY(1, CONFIG_SYS_LBC_SDRAM_BASE,
                      CONFIG_SYS_LBC_SDRAM_BASE_PHYS,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 2, BOOKE_PAGESZ_64M, 1),
 
        /*
index b5e2fec..03d0fa1 100644 (file)
@@ -67,7 +67,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
         * 0xf000_0000  64M     LBC SDRAM
         */
        SET_TLB_ENTRY(1, CONFIG_SYS_LBC_SDRAM_BASE, CONFIG_SYS_LBC_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 4, BOOKE_PAGESZ_64M, 1),
 
        /*
index af40f97..7d151f9 100644 (file)
@@ -76,7 +76,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
 #if defined(CONFIG_SYS_RAMBOOT) || \
        (defined(CONFIG_SPL) && !defined(CONFIG_SPL_COMMON_INIT_DDR))
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                       MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                       MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                        0, 8, BOOKE_PAGESZ_1G, 1),
 #endif
 
index e7ae2e2..69d5e44 100644 (file)
@@ -75,12 +75,12 @@ struct fsl_e_tlb_entry tlb_table[] = {
        (defined(CONFIG_SPL) && !defined(CONFIG_SPL_COMMON_INIT_DDR))
        /* **** - eSDHC/eSPI/NAND boot */
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 8, BOOKE_PAGESZ_1G, 1),
        /* **** - eSDHC/eSPI/NAND boot - second 1GB of memory */
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
                      CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 9, BOOKE_PAGESZ_1G, 1),
 #endif
 
index 8fd178e..35a63fe 100644 (file)
@@ -86,12 +86,12 @@ struct fsl_e_tlb_entry tlb_table[] = {
 #ifdef CONFIG_SYS_RAMBOOT
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE,
                      CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 12, BOOKE_PAGESZ_256M, 1),
 
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000,
                      CONFIG_SYS_DDR_SDRAM_BASE + 0x10000000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 13, BOOKE_PAGESZ_256M, 1),
 #endif
 };
index 7cba411..6324ebf 100644 (file)
@@ -82,7 +82,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
        (defined(CONFIG_SPL) && !defined(CONFIG_SPL_COMMON_INIT_DDR))
        /* *I*G - eSDHC/eSPI/NAND boot */
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                       MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                       MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                        0, 8, BOOKE_PAGESZ_1G, 1),
 
 #if defined(CONFIG_TARGET_P1020MBG) || defined(CONFIG_TARGET_P1020RDB_PD)
index 308335c..0f365f9 100644 (file)
@@ -67,7 +67,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
 #ifdef CONFIG_SYS_RAMBOOT
        /* *I*G - eSDHC boot */
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                       MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                       MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                        0, 8, BOOKE_PAGESZ_1G, 1),
 #endif
 
index 409e173..0d27a99 100644 (file)
@@ -102,11 +102,11 @@ struct fsl_e_tlb_entry tlb_table[] = {
 
 #if defined(CONFIG_RAMBOOT_PBL) && !defined(CONFIG_SPL_BUILD)
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 12, BOOKE_PAGESZ_1G, 1),
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
                      CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 13, BOOKE_PAGESZ_1G, 1)
 #endif
        /* entry 14 and 15 has been used hard coded, they will be disabled
index 8269b3d..d77ce25 100644 (file)
@@ -102,11 +102,11 @@ struct fsl_e_tlb_entry tlb_table[] = {
 
 #if defined(CONFIG_RAMBOOT_PBL) && !defined(CONFIG_SPL_BUILD)
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 12, BOOKE_PAGESZ_1G, 1),
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
                      CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 13, BOOKE_PAGESZ_1G, 1)
 #endif
        /* entry 14 and 15 has been used hard coded, they will be disabled
index 7c0511e..0789479 100644 (file)
@@ -120,11 +120,11 @@ struct fsl_e_tlb_entry tlb_table[] = {
 
 #if defined(CONFIG_RAMBOOT_PBL) && !defined(CONFIG_SPL_BUILD)
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 12, BOOKE_PAGESZ_1G, 1),
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
                      CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 13, BOOKE_PAGESZ_1G, 1)
 #endif
 };
index 8d60298..b0b3b4d 100644 (file)
@@ -145,7 +145,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
 
 #if defined(CONFIG_RAMBOOT_PBL) && !defined(CONFIG_SPL_BUILD)
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 19, BOOKE_PAGESZ_2G, 1)
 #endif
 };
index 2ebea36..2cae4d0 100644 (file)
@@ -144,7 +144,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
 #endif
 #if defined(CONFIG_RAMBOOT_PBL) && !defined(CONFIG_SPL_BUILD)
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 19, BOOKE_PAGESZ_2G, 1)
 #endif
 
index 1e4d096..a6d8bb3 100644 (file)
@@ -139,7 +139,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
 
 #if defined(CONFIG_RAMBOOT_PBL) && !defined(CONFIG_SPL_BUILD)
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 19, BOOKE_PAGESZ_2G, 1)
 #endif
 };
index 6a6b4b5..648cfab 100644 (file)
@@ -116,7 +116,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
 #endif
 #if defined(CONFIG_RAMBOOT_PBL) && !defined(CONFIG_SPL_BUILD)
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 18, BOOKE_PAGESZ_2G, 1)
 #endif
 };
index aee86a4..58b438f 100644 (file)
@@ -65,7 +65,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
 
 #ifdef CONFIG_SYS_RAMBOOT
        SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 6, BOOKE_PAGESZ_1G, 1),
 #endif
 #endif
index 2f7e4c5..d2bf304 100644 (file)
@@ -66,7 +66,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
         * 0xf0000000   64M     LBC SDRAM First half
         */
        SET_TLB_ENTRY(1, CONFIG_SYS_LBC_SDRAM_BASE, CONFIG_SYS_LBC_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 3, BOOKE_PAGESZ_64M, 1),
 
        /*
@@ -75,7 +75,7 @@ struct fsl_e_tlb_entry tlb_table[] = {
         */
        SET_TLB_ENTRY(1, CONFIG_SYS_LBC_SDRAM_BASE + 0x4000000,
                      CONFIG_SYS_LBC_SDRAM_BASE + 0x4000000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
+                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
                      0, 4, BOOKE_PAGESZ_64M, 1),
 #endif