1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright 2017 NXP 3*4882a593Smuzhiyun * Copyright 2014-2015, Freescale Semiconductor 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun #ifndef _FSL_LAYERSCAPE_CPU_H 9*4882a593Smuzhiyun #define _FSL_LAYERSCAPE_CPU_H 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun static struct cpu_type cpu_type_list[] = { 12*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS2080A, LS2080A, 8), 13*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS2085A, LS2085A, 8), 14*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS2045A, LS2045A, 4), 15*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS2088A, LS2088A, 8), 16*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS2084A, LS2084A, 8), 17*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS2048A, LS2048A, 4), 18*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS2044A, LS2044A, 4), 19*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS2081A, LS2081A, 8), 20*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS2041A, LS2041A, 4), 21*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS1043A, LS1043A, 4), 22*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS1023A, LS1023A, 2), 23*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS1046A, LS1046A, 4), 24*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS1026A, LS1026A, 2), 25*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS2040A, LS2040A, 4), 26*4882a593Smuzhiyun CPU_TYPE_ENTRY(LS1012A, LS1012A, 1), 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun #ifndef CONFIG_SYS_DCACHE_OFF 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #ifdef CONFIG_FSL_LSCH3 32*4882a593Smuzhiyun #define CONFIG_SYS_FSL_CCSR_BASE 0x00000000 33*4882a593Smuzhiyun #define CONFIG_SYS_FSL_CCSR_SIZE 0x10000000 34*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QSPI_BASE1 0x20000000 35*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QSPI_SIZE1 0x10000000 36*4882a593Smuzhiyun #define CONFIG_SYS_FSL_IFC_BASE1 0x30000000 37*4882a593Smuzhiyun #define CONFIG_SYS_FSL_IFC_SIZE1 0x10000000 38*4882a593Smuzhiyun #define CONFIG_SYS_FSL_IFC_SIZE1_1 0x400000 39*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DRAM_BASE1 0x80000000 40*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DRAM_SIZE1 0x80000000 41*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QSPI_BASE2 0x400000000 42*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QSPI_SIZE2 0x100000000 43*4882a593Smuzhiyun #define CONFIG_SYS_FSL_IFC_BASE2 0x500000000 44*4882a593Smuzhiyun #define CONFIG_SYS_FSL_IFC_SIZE2 0x100000000 45*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DCSR_BASE 0x700000000 46*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DCSR_SIZE 0x40000000 47*4882a593Smuzhiyun #define CONFIG_SYS_FSL_MC_BASE 0x80c000000 48*4882a593Smuzhiyun #define CONFIG_SYS_FSL_MC_SIZE 0x4000000 49*4882a593Smuzhiyun #define CONFIG_SYS_FSL_NI_BASE 0x810000000 50*4882a593Smuzhiyun #define CONFIG_SYS_FSL_NI_SIZE 0x8000000 51*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QBMAN_BASE 0x818000000 52*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QBMAN_SIZE 0x8000000 53*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QBMAN_SIZE_1 0x4000000 54*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_PHYS_SIZE 0x200000000 55*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_PHYS_SIZE 0x200000000 56*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_PHYS_SIZE 0x200000000 57*4882a593Smuzhiyun #define CONFIG_SYS_PCIE4_PHYS_SIZE 0x200000000 58*4882a593Smuzhiyun #define CONFIG_SYS_FSL_WRIOP1_BASE 0x4300000000 59*4882a593Smuzhiyun #define CONFIG_SYS_FSL_WRIOP1_SIZE 0x100000000 60*4882a593Smuzhiyun #define CONFIG_SYS_FSL_AIOP1_BASE 0x4b00000000 61*4882a593Smuzhiyun #define CONFIG_SYS_FSL_AIOP1_SIZE 0x100000000 62*4882a593Smuzhiyun #define CONFIG_SYS_FSL_PEBUF_BASE 0x4c00000000 63*4882a593Smuzhiyun #define CONFIG_SYS_FSL_PEBUF_SIZE 0x400000000 64*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DRAM_BASE2 0x8080000000 65*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DRAM_SIZE2 0x7F80000000 66*4882a593Smuzhiyun #elif defined(CONFIG_FSL_LSCH2) 67*4882a593Smuzhiyun #define CONFIG_SYS_FSL_BOOTROM_BASE 0x0 68*4882a593Smuzhiyun #define CONFIG_SYS_FSL_BOOTROM_SIZE 0x1000000 69*4882a593Smuzhiyun #define CONFIG_SYS_FSL_CCSR_BASE 0x1000000 70*4882a593Smuzhiyun #define CONFIG_SYS_FSL_CCSR_SIZE 0xf000000 71*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DCSR_BASE 0x20000000 72*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DCSR_SIZE 0x4000000 73*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QSPI_BASE 0x40000000 74*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QSPI_SIZE 0x20000000 75*4882a593Smuzhiyun #define CONFIG_SYS_FSL_IFC_BASE 0x60000000 76*4882a593Smuzhiyun #define CONFIG_SYS_FSL_IFC_SIZE 0x20000000 77*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DRAM_BASE1 0x80000000 78*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DRAM_SIZE1 0x80000000 79*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QBMAN_BASE 0x500000000 80*4882a593Smuzhiyun #define CONFIG_SYS_FSL_QBMAN_SIZE 0x10000000 81*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DRAM_BASE2 0x880000000 82*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DRAM_SIZE2 0x780000000 /* 30GB */ 83*4882a593Smuzhiyun #define CONFIG_SYS_PCIE1_PHYS_SIZE 0x800000000 84*4882a593Smuzhiyun #define CONFIG_SYS_PCIE2_PHYS_SIZE 0x800000000 85*4882a593Smuzhiyun #define CONFIG_SYS_PCIE3_PHYS_SIZE 0x800000000 86*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DRAM_BASE3 0x8800000000 87*4882a593Smuzhiyun #define CONFIG_SYS_FSL_DRAM_SIZE3 0x7800000000 /* 480GB */ 88*4882a593Smuzhiyun #endif 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun #define EARLY_PGTABLE_SIZE 0x5000 91*4882a593Smuzhiyun static struct mm_region early_map[] = { 92*4882a593Smuzhiyun #ifdef CONFIG_FSL_LSCH3 93*4882a593Smuzhiyun { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, 94*4882a593Smuzhiyun CONFIG_SYS_FSL_CCSR_SIZE, 95*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 96*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 97*4882a593Smuzhiyun }, 98*4882a593Smuzhiyun { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, 99*4882a593Smuzhiyun SYS_FSL_OCRAM_SPACE_SIZE, 100*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE 101*4882a593Smuzhiyun }, 102*4882a593Smuzhiyun { CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1, 103*4882a593Smuzhiyun CONFIG_SYS_FSL_QSPI_SIZE1, 104*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE}, 105*4882a593Smuzhiyun /* For IFC Region #1, only the first 4MB is cache-enabled */ 106*4882a593Smuzhiyun { CONFIG_SYS_FSL_IFC_BASE1, CONFIG_SYS_FSL_IFC_BASE1, 107*4882a593Smuzhiyun CONFIG_SYS_FSL_IFC_SIZE1_1, 108*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE 109*4882a593Smuzhiyun }, 110*4882a593Smuzhiyun { CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1, 111*4882a593Smuzhiyun CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1, 112*4882a593Smuzhiyun CONFIG_SYS_FSL_IFC_SIZE1 - CONFIG_SYS_FSL_IFC_SIZE1_1, 113*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE 114*4882a593Smuzhiyun }, 115*4882a593Smuzhiyun { CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FSL_IFC_BASE1, 116*4882a593Smuzhiyun CONFIG_SYS_FSL_IFC_SIZE1, 117*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE 118*4882a593Smuzhiyun }, 119*4882a593Smuzhiyun { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, 120*4882a593Smuzhiyun CONFIG_SYS_FSL_DRAM_SIZE1, 121*4882a593Smuzhiyun #if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD) 122*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | 123*4882a593Smuzhiyun #else /* Start with nGnRnE and PXN and UXN to prevent speculative access */ 124*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | 125*4882a593Smuzhiyun #endif 126*4882a593Smuzhiyun PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS 127*4882a593Smuzhiyun }, 128*4882a593Smuzhiyun /* Map IFC region #2 up to CONFIG_SYS_FLASH_BASE for NAND boot */ 129*4882a593Smuzhiyun { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2, 130*4882a593Smuzhiyun CONFIG_SYS_FLASH_BASE - CONFIG_SYS_FSL_IFC_BASE2, 131*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE 132*4882a593Smuzhiyun }, 133*4882a593Smuzhiyun { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, 134*4882a593Smuzhiyun CONFIG_SYS_FSL_DCSR_SIZE, 135*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 136*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 137*4882a593Smuzhiyun }, 138*4882a593Smuzhiyun { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, 139*4882a593Smuzhiyun CONFIG_SYS_FSL_DRAM_SIZE2, 140*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | 141*4882a593Smuzhiyun PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS 142*4882a593Smuzhiyun }, 143*4882a593Smuzhiyun #elif defined(CONFIG_FSL_LSCH2) 144*4882a593Smuzhiyun { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, 145*4882a593Smuzhiyun CONFIG_SYS_FSL_CCSR_SIZE, 146*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 147*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 148*4882a593Smuzhiyun }, 149*4882a593Smuzhiyun { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, 150*4882a593Smuzhiyun SYS_FSL_OCRAM_SPACE_SIZE, 151*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE 152*4882a593Smuzhiyun }, 153*4882a593Smuzhiyun { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, 154*4882a593Smuzhiyun CONFIG_SYS_FSL_DCSR_SIZE, 155*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 156*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 157*4882a593Smuzhiyun }, 158*4882a593Smuzhiyun { CONFIG_SYS_FSL_QSPI_BASE, CONFIG_SYS_FSL_QSPI_BASE, 159*4882a593Smuzhiyun CONFIG_SYS_FSL_QSPI_SIZE, 160*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE 161*4882a593Smuzhiyun }, 162*4882a593Smuzhiyun { CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE, 163*4882a593Smuzhiyun CONFIG_SYS_FSL_IFC_SIZE, 164*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE 165*4882a593Smuzhiyun }, 166*4882a593Smuzhiyun { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, 167*4882a593Smuzhiyun CONFIG_SYS_FSL_DRAM_SIZE1, 168*4882a593Smuzhiyun #if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD) 169*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | 170*4882a593Smuzhiyun #else /* Start with nGnRnE and PXN and UXN to prevent speculative access */ 171*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | 172*4882a593Smuzhiyun #endif 173*4882a593Smuzhiyun PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS 174*4882a593Smuzhiyun }, 175*4882a593Smuzhiyun { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, 176*4882a593Smuzhiyun CONFIG_SYS_FSL_DRAM_SIZE2, 177*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_PXN | PTE_BLOCK_UXN | 178*4882a593Smuzhiyun PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS 179*4882a593Smuzhiyun }, 180*4882a593Smuzhiyun #endif 181*4882a593Smuzhiyun {}, /* list terminator */ 182*4882a593Smuzhiyun }; 183*4882a593Smuzhiyun 184*4882a593Smuzhiyun static struct mm_region final_map[] = { 185*4882a593Smuzhiyun #ifdef CONFIG_FSL_LSCH3 186*4882a593Smuzhiyun { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, 187*4882a593Smuzhiyun CONFIG_SYS_FSL_CCSR_SIZE, 188*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 189*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 190*4882a593Smuzhiyun }, 191*4882a593Smuzhiyun { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, 192*4882a593Smuzhiyun SYS_FSL_OCRAM_SPACE_SIZE, 193*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE 194*4882a593Smuzhiyun }, 195*4882a593Smuzhiyun { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, 196*4882a593Smuzhiyun CONFIG_SYS_FSL_DRAM_SIZE1, 197*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | 198*4882a593Smuzhiyun PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS 199*4882a593Smuzhiyun }, 200*4882a593Smuzhiyun { CONFIG_SYS_FSL_QSPI_BASE1, CONFIG_SYS_FSL_QSPI_BASE1, 201*4882a593Smuzhiyun CONFIG_SYS_FSL_QSPI_SIZE1, 202*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE 203*4882a593Smuzhiyun }, 204*4882a593Smuzhiyun { CONFIG_SYS_FSL_QSPI_BASE2, CONFIG_SYS_FSL_QSPI_BASE2, 205*4882a593Smuzhiyun CONFIG_SYS_FSL_QSPI_SIZE2, 206*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 207*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 208*4882a593Smuzhiyun }, 209*4882a593Smuzhiyun { CONFIG_SYS_FSL_IFC_BASE2, CONFIG_SYS_FSL_IFC_BASE2, 210*4882a593Smuzhiyun CONFIG_SYS_FSL_IFC_SIZE2, 211*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE 212*4882a593Smuzhiyun }, 213*4882a593Smuzhiyun { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, 214*4882a593Smuzhiyun CONFIG_SYS_FSL_DCSR_SIZE, 215*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 216*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 217*4882a593Smuzhiyun }, 218*4882a593Smuzhiyun { CONFIG_SYS_FSL_MC_BASE, CONFIG_SYS_FSL_MC_BASE, 219*4882a593Smuzhiyun CONFIG_SYS_FSL_MC_SIZE, 220*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 221*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 222*4882a593Smuzhiyun }, 223*4882a593Smuzhiyun { CONFIG_SYS_FSL_NI_BASE, CONFIG_SYS_FSL_NI_BASE, 224*4882a593Smuzhiyun CONFIG_SYS_FSL_NI_SIZE, 225*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 226*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 227*4882a593Smuzhiyun }, 228*4882a593Smuzhiyun /* For QBMAN portal, only the first 64MB is cache-enabled */ 229*4882a593Smuzhiyun { CONFIG_SYS_FSL_QBMAN_BASE, CONFIG_SYS_FSL_QBMAN_BASE, 230*4882a593Smuzhiyun CONFIG_SYS_FSL_QBMAN_SIZE_1, 231*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | 232*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN | PTE_BLOCK_NS 233*4882a593Smuzhiyun }, 234*4882a593Smuzhiyun { CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1, 235*4882a593Smuzhiyun CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1, 236*4882a593Smuzhiyun CONFIG_SYS_FSL_QBMAN_SIZE - CONFIG_SYS_FSL_QBMAN_SIZE_1, 237*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 238*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 239*4882a593Smuzhiyun }, 240*4882a593Smuzhiyun { CONFIG_SYS_PCIE1_PHYS_ADDR, CONFIG_SYS_PCIE1_PHYS_ADDR, 241*4882a593Smuzhiyun CONFIG_SYS_PCIE1_PHYS_SIZE, 242*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 243*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 244*4882a593Smuzhiyun }, 245*4882a593Smuzhiyun { CONFIG_SYS_PCIE2_PHYS_ADDR, CONFIG_SYS_PCIE2_PHYS_ADDR, 246*4882a593Smuzhiyun CONFIG_SYS_PCIE2_PHYS_SIZE, 247*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 248*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 249*4882a593Smuzhiyun }, 250*4882a593Smuzhiyun { CONFIG_SYS_PCIE3_PHYS_ADDR, CONFIG_SYS_PCIE3_PHYS_ADDR, 251*4882a593Smuzhiyun CONFIG_SYS_PCIE3_PHYS_SIZE, 252*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 253*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 254*4882a593Smuzhiyun }, 255*4882a593Smuzhiyun #ifdef CONFIG_ARCH_LS2080A 256*4882a593Smuzhiyun { CONFIG_SYS_PCIE4_PHYS_ADDR, CONFIG_SYS_PCIE4_PHYS_ADDR, 257*4882a593Smuzhiyun CONFIG_SYS_PCIE4_PHYS_SIZE, 258*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 259*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 260*4882a593Smuzhiyun }, 261*4882a593Smuzhiyun #endif 262*4882a593Smuzhiyun { CONFIG_SYS_FSL_WRIOP1_BASE, CONFIG_SYS_FSL_WRIOP1_BASE, 263*4882a593Smuzhiyun CONFIG_SYS_FSL_WRIOP1_SIZE, 264*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 265*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 266*4882a593Smuzhiyun }, 267*4882a593Smuzhiyun { CONFIG_SYS_FSL_AIOP1_BASE, CONFIG_SYS_FSL_AIOP1_BASE, 268*4882a593Smuzhiyun CONFIG_SYS_FSL_AIOP1_SIZE, 269*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 270*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 271*4882a593Smuzhiyun }, 272*4882a593Smuzhiyun { CONFIG_SYS_FSL_PEBUF_BASE, CONFIG_SYS_FSL_PEBUF_BASE, 273*4882a593Smuzhiyun CONFIG_SYS_FSL_PEBUF_SIZE, 274*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 275*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 276*4882a593Smuzhiyun }, 277*4882a593Smuzhiyun { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, 278*4882a593Smuzhiyun CONFIG_SYS_FSL_DRAM_SIZE2, 279*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | 280*4882a593Smuzhiyun PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS 281*4882a593Smuzhiyun }, 282*4882a593Smuzhiyun #elif defined(CONFIG_FSL_LSCH2) 283*4882a593Smuzhiyun { CONFIG_SYS_FSL_BOOTROM_BASE, CONFIG_SYS_FSL_BOOTROM_BASE, 284*4882a593Smuzhiyun CONFIG_SYS_FSL_BOOTROM_SIZE, 285*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 286*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 287*4882a593Smuzhiyun }, 288*4882a593Smuzhiyun { CONFIG_SYS_FSL_CCSR_BASE, CONFIG_SYS_FSL_CCSR_BASE, 289*4882a593Smuzhiyun CONFIG_SYS_FSL_CCSR_SIZE, 290*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 291*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 292*4882a593Smuzhiyun }, 293*4882a593Smuzhiyun { CONFIG_SYS_FSL_OCRAM_BASE, CONFIG_SYS_FSL_OCRAM_BASE, 294*4882a593Smuzhiyun SYS_FSL_OCRAM_SPACE_SIZE, 295*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | PTE_BLOCK_NON_SHARE 296*4882a593Smuzhiyun }, 297*4882a593Smuzhiyun { CONFIG_SYS_FSL_DCSR_BASE, CONFIG_SYS_FSL_DCSR_BASE, 298*4882a593Smuzhiyun CONFIG_SYS_FSL_DCSR_SIZE, 299*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 300*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 301*4882a593Smuzhiyun }, 302*4882a593Smuzhiyun { CONFIG_SYS_FSL_QSPI_BASE, CONFIG_SYS_FSL_QSPI_BASE, 303*4882a593Smuzhiyun CONFIG_SYS_FSL_QSPI_SIZE, 304*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 305*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 306*4882a593Smuzhiyun }, 307*4882a593Smuzhiyun { CONFIG_SYS_FSL_IFC_BASE, CONFIG_SYS_FSL_IFC_BASE, 308*4882a593Smuzhiyun CONFIG_SYS_FSL_IFC_SIZE, 309*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | PTE_BLOCK_NON_SHARE 310*4882a593Smuzhiyun }, 311*4882a593Smuzhiyun { CONFIG_SYS_FSL_DRAM_BASE1, CONFIG_SYS_FSL_DRAM_BASE1, 312*4882a593Smuzhiyun CONFIG_SYS_FSL_DRAM_SIZE1, 313*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | 314*4882a593Smuzhiyun PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS 315*4882a593Smuzhiyun }, 316*4882a593Smuzhiyun { CONFIG_SYS_FSL_QBMAN_BASE, CONFIG_SYS_FSL_QBMAN_BASE, 317*4882a593Smuzhiyun CONFIG_SYS_FSL_QBMAN_SIZE, 318*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 319*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 320*4882a593Smuzhiyun }, 321*4882a593Smuzhiyun { CONFIG_SYS_FSL_DRAM_BASE2, CONFIG_SYS_FSL_DRAM_BASE2, 322*4882a593Smuzhiyun CONFIG_SYS_FSL_DRAM_SIZE2, 323*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | 324*4882a593Smuzhiyun PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS 325*4882a593Smuzhiyun }, 326*4882a593Smuzhiyun { CONFIG_SYS_PCIE1_PHYS_ADDR, CONFIG_SYS_PCIE1_PHYS_ADDR, 327*4882a593Smuzhiyun CONFIG_SYS_PCIE1_PHYS_SIZE, 328*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 329*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 330*4882a593Smuzhiyun }, 331*4882a593Smuzhiyun { CONFIG_SYS_PCIE2_PHYS_ADDR, CONFIG_SYS_PCIE2_PHYS_ADDR, 332*4882a593Smuzhiyun CONFIG_SYS_PCIE2_PHYS_SIZE, 333*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 334*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 335*4882a593Smuzhiyun }, 336*4882a593Smuzhiyun { CONFIG_SYS_PCIE3_PHYS_ADDR, CONFIG_SYS_PCIE3_PHYS_ADDR, 337*4882a593Smuzhiyun CONFIG_SYS_PCIE3_PHYS_SIZE, 338*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_DEVICE_NGNRNE) | 339*4882a593Smuzhiyun PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN 340*4882a593Smuzhiyun }, 341*4882a593Smuzhiyun { CONFIG_SYS_FSL_DRAM_BASE3, CONFIG_SYS_FSL_DRAM_BASE3, 342*4882a593Smuzhiyun CONFIG_SYS_FSL_DRAM_SIZE3, 343*4882a593Smuzhiyun PTE_BLOCK_MEMTYPE(MT_NORMAL) | 344*4882a593Smuzhiyun PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS 345*4882a593Smuzhiyun }, 346*4882a593Smuzhiyun #endif 347*4882a593Smuzhiyun #ifdef CONFIG_SYS_MEM_RESERVE_SECURE 348*4882a593Smuzhiyun {}, /* space holder for secure mem */ 349*4882a593Smuzhiyun #endif 350*4882a593Smuzhiyun {}, 351*4882a593Smuzhiyun }; 352*4882a593Smuzhiyun #endif /* !CONFIG_SYS_DCACHE_OFF */ 353*4882a593Smuzhiyun 354*4882a593Smuzhiyun int fsl_qoriq_core_to_cluster(unsigned int core); 355*4882a593Smuzhiyun u32 cpu_mask(void); 356*4882a593Smuzhiyun 357*4882a593Smuzhiyun #endif /* _FSL_LAYERSCAPE_CPU_H */ 358