@ -19,29 +19,6 @@ static struct cpu_type cpu_type_list[] = {
# ifndef CONFIG_SYS_DCACHE_OFF
# define SECTION_SHIFT_L0 39UL
# define SECTION_SHIFT_L1 30UL
# define SECTION_SHIFT_L2 21UL
# define BLOCK_SIZE_L0 0x8000000000
# define BLOCK_SIZE_L1 0x40000000
# define BLOCK_SIZE_L2 0x200000
# define NUM_OF_ENTRY 512
# define TCR_EL2_PS_40BIT (2 << 16)
# define LAYERSCAPE_VA_BITS (40)
# define LAYERSCAPE_TCR (TCR_TG0_4K | \
TCR_EL2_PS_40BIT | \
TCR_SHARED_NON | \
TCR_ORGN_NC | \
TCR_IRGN_NC | \
TCR_T0SZ ( LAYERSCAPE_VA_BITS ) )
# define LAYERSCAPE_TCR_FINAL (TCR_TG0_4K | \
TCR_EL2_PS_40BIT | \
TCR_SHARED_OUTER | \
TCR_ORGN_WBWA | \
TCR_IRGN_WBWA | \
TCR_T0SZ ( LAYERSCAPE_VA_BITS ) )
# ifdef CONFIG_FSL_LSCH3
# define CONFIG_SYS_FSL_CCSR_BASE 0x00000000
# define CONFIG_SYS_FSL_CCSR_SIZE 0x10000000
@ -101,174 +78,261 @@ static struct cpu_type cpu_type_list[] = {
# define CONFIG_SYS_FSL_DRAM_SIZE3 0x7800000000 /* 480GB */
# endif
struct sys_mmu_table {
u64 virt_addr ;
u64 phys_addr ;
u64 size ;
u64 memory_type ;
u64 attribute ;
} ;
struct table_info {
u64 * ptr ;
u64 table_base ;
u64 entry_size ;
} ;
static const struct sys_mmu_table early_mmu_table [ ] = {
# define EARLY_PGTABLE_SIZE 0x5000
static struct mm_region early_map [ ] = {
# ifdef CONFIG_FSL_LSCH3
{ CONFIG_SYS_FSL_CCSR_BASE , CONFIG_SYS_FSL_CCSR_BASE ,
CONFIG_SYS_FSL_CCSR_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_CCSR_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_OCRAM_BASE , CONFIG_SYS_FSL_OCRAM_BASE ,
CONFIG_SYS_FSL_OCRAM_SIZE , MT_NORMAL , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_OCRAM_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_QSPI_BASE1 , CONFIG_SYS_FSL_QSPI_BASE1 ,
CONFIG_SYS_FSL_QSPI_SIZE1 , MT_NORMAL , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_QSPI_SIZE1 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) | PTE_BLOCK_NON_SHARE } ,
/* For IFC Region #1, only the first 4MB is cache-enabled */
{ CONFIG_SYS_FSL_IFC_BASE1 , CONFIG_SYS_FSL_IFC_BASE1 ,
CONFIG_SYS_FSL_IFC_SIZE1_1 , MT_NORMAL , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_IFC_SIZE1_1 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1 ,
CONFIG_SYS_FSL_IFC_BASE1 + CONFIG_SYS_FSL_IFC_SIZE1_1 ,
CONFIG_SYS_FSL_IFC_SIZE1 - CONFIG_SYS_FSL_IFC_SIZE1_1 ,
MT_DEVICE_NGNRNE , PTE_BLOCK_NON_SHARE } ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FLASH_BASE , CONFIG_SYS_FSL_IFC_BASE1 ,
CONFIG_SYS_FSL_IFC_SIZE1 , MT_DEVICE_NGNRNE , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_IFC_SIZE1 ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_DRAM_BASE1 , CONFIG_SYS_FSL_DRAM_BASE1 ,
CONFIG_SYS_FSL_DRAM_SIZE1 , MT_NORMAL ,
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS } ,
CONFIG_SYS_FSL_DRAM_SIZE1 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) |
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
} ,
/* Map IFC region #2 up to CONFIG_SYS_FLASH_BASE for NAND boot */
{ CONFIG_SYS_FSL_IFC_BASE2 , CONFIG_SYS_FSL_IFC_BASE2 ,
CONFIG_SYS_FLASH_BASE - CONFIG_SYS_FSL_IFC_BASE2 ,
MT_DEVICE_NGNRNE , PTE_BLOCK_NON_SHARE } ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_DCSR_BASE , CONFIG_SYS_FSL_DCSR_BASE ,
CONFIG_SYS_FSL_DCSR_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_DCSR_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_DRAM_BASE2 , CONFIG_SYS_FSL_DRAM_BASE2 ,
CONFIG_SYS_FSL_DRAM_SIZE2 , MT_NORMAL ,
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS } ,
CONFIG_SYS_FSL_DRAM_SIZE2 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) |
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
} ,
# elif defined(CONFIG_FSL_LSCH2)
{ CONFIG_SYS_FSL_CCSR_BASE , CONFIG_SYS_FSL_CCSR_BASE ,
CONFIG_SYS_FSL_CCSR_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_CCSR_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_OCRAM_BASE , CONFIG_SYS_FSL_OCRAM_BASE ,
CONFIG_SYS_FSL_OCRAM_SIZE , MT_NORMAL , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_OCRAM_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_DCSR_BASE , CONFIG_SYS_FSL_DCSR_BASE ,
CONFIG_SYS_FSL_DCSR_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_DCSR_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_QSPI_BASE , CONFIG_SYS_FSL_QSPI_BASE ,
CONFIG_SYS_FSL_QSPI_SIZE , MT_DEVICE_NGNRNE , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_QSPI_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_IFC_BASE , CONFIG_SYS_FSL_IFC_BASE ,
CONFIG_SYS_FSL_IFC_SIZE , MT_DEVICE_NGNRNE , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_IFC_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_DRAM_BASE1 , CONFIG_SYS_FSL_DRAM_BASE1 ,
CONFIG_SYS_FSL_DRAM_SIZE1 , MT_NORMAL ,
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS } ,
CONFIG_SYS_FSL_DRAM_SIZE1 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) |
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
} ,
{ CONFIG_SYS_FSL_DRAM_BASE2 , CONFIG_SYS_FSL_DRAM_BASE2 ,
CONFIG_SYS_FSL_DRAM_SIZE2 , MT_NORMAL ,
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS } ,
CONFIG_SYS_FSL_DRAM_SIZE2 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) |
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
} ,
# endif
{ } , /* list terminator */
} ;
static const struct sys_mmu_table final_mmu_table [ ] = {
static struct mm_region final_map [ ] = {
# ifdef CONFIG_FSL_LSCH3
{ CONFIG_SYS_FSL_CCSR_BASE , CONFIG_SYS_FSL_CCSR_BASE ,
CONFIG_SYS_FSL_CCSR_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_CCSR_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_OCRAM_BASE , CONFIG_SYS_FSL_OCRAM_BASE ,
CONFIG_SYS_FSL_OCRAM_SIZE , MT_NORMAL , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_OCRAM_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_DRAM_BASE1 , CONFIG_SYS_FSL_DRAM_BASE1 ,
CONFIG_SYS_FSL_DRAM_SIZE1 , MT_NORMAL ,
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS } ,
CONFIG_SYS_FSL_DRAM_SIZE1 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) |
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
} ,
{ CONFIG_SYS_FSL_QSPI_BASE1 , CONFIG_SYS_FSL_QSPI_BASE1 ,
CONFIG_SYS_FSL_QSPI_SIZE1 , MT_NORMAL , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_QSPI_SIZE1 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_QSPI_BASE2 , CONFIG_SYS_FSL_QSPI_BASE2 ,
CONFIG_SYS_FSL_QSPI_SIZE2 , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_QSPI_SIZE2 ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_IFC_BASE2 , CONFIG_SYS_FSL_IFC_BASE2 ,
CONFIG_SYS_FSL_IFC_SIZE2 , MT_DEVICE_NGNRNE , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_IFC_SIZE2 ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_DCSR_BASE , CONFIG_SYS_FSL_DCSR_BASE ,
CONFIG_SYS_FSL_DCSR_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_DCSR_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_MC_BASE , CONFIG_SYS_FSL_MC_BASE ,
CONFIG_SYS_FSL_MC_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_MC_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_NI_BASE , CONFIG_SYS_FSL_NI_BASE ,
CONFIG_SYS_FSL_NI_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_NI_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
/* For QBMAN portal, only the first 64MB is cache-enabled */
{ CONFIG_SYS_FSL_QBMAN_BASE , CONFIG_SYS_FSL_QBMAN_BASE ,
CONFIG_SYS_FSL_QBMAN_SIZE_1 , MT_NORMAL ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN | PTE_BLOCK_NS } ,
CONFIG_SYS_FSL_QBMAN_SIZE_1 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN | PTE_BLOCK_NS
} ,
{ CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1 ,
CONFIG_SYS_FSL_QBMAN_BASE + CONFIG_SYS_FSL_QBMAN_SIZE_1 ,
CONFIG_SYS_FSL_QBMAN_SIZE - CONFIG_SYS_FSL_QBMAN_SIZE_1 ,
MT_DEVICE_NGNRNE , PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_PCIE1_PHYS_ADDR , CONFIG_SYS_PCIE1_PHYS_ADDR ,
CONFIG_SYS_PCIE1_PHYS_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_PCIE1_PHYS_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_PCIE2_PHYS_ADDR , CONFIG_SYS_PCIE2_PHYS_ADDR ,
CONFIG_SYS_PCIE2_PHYS_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_PCIE2_PHYS_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_PCIE3_PHYS_ADDR , CONFIG_SYS_PCIE3_PHYS_ADDR ,
CONFIG_SYS_PCIE3_PHYS_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_PCIE3_PHYS_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
# ifdef CONFIG_LS2080A
{ CONFIG_SYS_PCIE4_PHYS_ADDR , CONFIG_SYS_PCIE4_PHYS_ADDR ,
CONFIG_SYS_PCIE4_PHYS_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_PCIE4_PHYS_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
# endif
{ CONFIG_SYS_FSL_WRIOP1_BASE , CONFIG_SYS_FSL_WRIOP1_BASE ,
CONFIG_SYS_FSL_WRIOP1_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_WRIOP1_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_AIOP1_BASE , CONFIG_SYS_FSL_AIOP1_BASE ,
CONFIG_SYS_FSL_AIOP1_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_AIOP1_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_PEBUF_BASE , CONFIG_SYS_FSL_PEBUF_BASE ,
CONFIG_SYS_FSL_PEBUF_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_PEBUF_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_DRAM_BASE2 , CONFIG_SYS_FSL_DRAM_BASE2 ,
CONFIG_SYS_FSL_DRAM_SIZE2 , MT_NORMAL ,
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS } ,
CONFIG_SYS_FSL_DRAM_SIZE2 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) |
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
} ,
# elif defined(CONFIG_FSL_LSCH2)
{ CONFIG_SYS_FSL_BOOTROM_BASE , CONFIG_SYS_FSL_BOOTROM_BASE ,
CONFIG_SYS_FSL_BOOTROM_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_BOOTROM_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_CCSR_BASE , CONFIG_SYS_FSL_CCSR_BASE ,
CONFIG_SYS_FSL_CCSR_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_CCSR_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_OCRAM_BASE , CONFIG_SYS_FSL_OCRAM_BASE ,
CONFIG_SYS_FSL_OCRAM_SIZE , MT_NORMAL , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_OCRAM_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_DCSR_BASE , CONFIG_SYS_FSL_DCSR_BASE ,
CONFIG_SYS_FSL_DCSR_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_DCSR_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_QSPI_BASE , CONFIG_SYS_FSL_QSPI_BASE ,
CONFIG_SYS_FSL_QSPI_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_QSPI_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_IFC_BASE , CONFIG_SYS_FSL_IFC_BASE ,
CONFIG_SYS_FSL_IFC_SIZE , MT_DEVICE_NGNRNE , PTE_BLOCK_NON_SHARE } ,
CONFIG_SYS_FSL_IFC_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) | PTE_BLOCK_NON_SHARE
} ,
{ CONFIG_SYS_FSL_DRAM_BASE1 , CONFIG_SYS_FSL_DRAM_BASE1 ,
CONFIG_SYS_FSL_DRAM_SIZE1 , MT_NORMAL ,
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS } ,
CONFIG_SYS_FSL_DRAM_SIZE1 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) |
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
} ,
{ CONFIG_SYS_FSL_QBMAN_BASE , CONFIG_SYS_FSL_QBMAN_BASE ,
CONFIG_SYS_FSL_QBMAN_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_FSL_QBMAN_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_DRAM_BASE2 , CONFIG_SYS_FSL_DRAM_BASE2 ,
CONFIG_SYS_FSL_DRAM_SIZE2 , MT_NORMAL ,
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS } ,
CONFIG_SYS_FSL_DRAM_SIZE2 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) |
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
} ,
{ CONFIG_SYS_PCIE1_PHYS_ADDR , CONFIG_SYS_PCIE1_PHYS_ADDR ,
CONFIG_SYS_PCIE1_PHYS_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_PCIE1_PHYS_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_PCIE2_PHYS_ADDR , CONFIG_SYS_PCIE2_PHYS_ADDR ,
CONFIG_SYS_PCIE2_PHYS_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_PCIE2_PHYS_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_PCIE3_PHYS_ADDR , CONFIG_SYS_PCIE3_PHYS_ADDR ,
CONFIG_SYS_PCIE3_PHYS_SIZE , MT_DEVICE_NGNRNE ,
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN } ,
CONFIG_SYS_PCIE3_PHYS_SIZE ,
PTE_BLOCK_MEMTYPE ( MT_DEVICE_NGNRNE ) |
PTE_BLOCK_NON_SHARE | PTE_BLOCK_PXN | PTE_BLOCK_UXN
} ,
{ CONFIG_SYS_FSL_DRAM_BASE3 , CONFIG_SYS_FSL_DRAM_BASE3 ,
CONFIG_SYS_FSL_DRAM_SIZE3 , MT_NORMAL ,
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS } ,
CONFIG_SYS_FSL_DRAM_SIZE3 ,
PTE_BLOCK_MEMTYPE ( MT_NORMAL ) |
PTE_BLOCK_OUTER_SHARE | PTE_BLOCK_NS
} ,
# endif
} ;
# ifdef CONFIG_SYS_MEM_RESERVE_SECURE
{ } , /* space holder for secure mem */
# endif
{ } ,
} ;
# endif /* !CONFIG_SYS_DCACHE_OFF */
int fsl_qoriq_core_to_cluster ( unsigned int core ) ;
u32 cpu_mask ( void ) ;