19490a7f1SKumar Gala /* 29490a7f1SKumar Gala * Copyright 2008 Freescale Semiconductor, Inc. 39490a7f1SKumar Gala * 49490a7f1SKumar Gala * (C) Copyright 2000 59490a7f1SKumar Gala * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 69490a7f1SKumar Gala * 7*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+ 89490a7f1SKumar Gala */ 99490a7f1SKumar Gala 109490a7f1SKumar Gala #include <common.h> 119490a7f1SKumar Gala #include <asm/mmu.h> 129490a7f1SKumar Gala 139490a7f1SKumar Gala struct fsl_e_tlb_entry tlb_table[] = { 149490a7f1SKumar Gala /* TLB 0 - for temp stack in cache */ 156d0f6bcfSJean-Christophe PLAGNIOL-VILLARD SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR, CONFIG_SYS_INIT_RAM_ADDR, 169490a7f1SKumar Gala MAS3_SX|MAS3_SW|MAS3_SR, 0, 179490a7f1SKumar Gala 0, 0, BOOKE_PAGESZ_4K, 0), 186d0f6bcfSJean-Christophe PLAGNIOL-VILLARD SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 4 * 1024 , CONFIG_SYS_INIT_RAM_ADDR + 4 * 1024, 199490a7f1SKumar Gala MAS3_SX|MAS3_SW|MAS3_SR, 0, 209490a7f1SKumar Gala 0, 0, BOOKE_PAGESZ_4K, 0), 216d0f6bcfSJean-Christophe PLAGNIOL-VILLARD SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 8 * 1024 , CONFIG_SYS_INIT_RAM_ADDR + 8 * 1024, 229490a7f1SKumar Gala MAS3_SX|MAS3_SW|MAS3_SR, 0, 239490a7f1SKumar Gala 0, 0, BOOKE_PAGESZ_4K, 0), 246d0f6bcfSJean-Christophe PLAGNIOL-VILLARD SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 12 * 1024 , CONFIG_SYS_INIT_RAM_ADDR + 12 * 1024, 259490a7f1SKumar Gala MAS3_SX|MAS3_SW|MAS3_SR, 0, 269490a7f1SKumar Gala 0, 0, BOOKE_PAGESZ_4K, 0), 279490a7f1SKumar Gala 2852b565f5SKumar Gala SET_TLB_ENTRY(0, PIXIS_BASE, PIXIS_BASE_PHYS, 299490a7f1SKumar Gala MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 309490a7f1SKumar Gala 0, 0, BOOKE_PAGESZ_4K, 0), 319490a7f1SKumar Gala 329490a7f1SKumar Gala /* TLB 1 */ 339490a7f1SKumar Gala /* *I*G* - CCSRBAR */ 346d0f6bcfSJean-Christophe PLAGNIOL-VILLARD SET_TLB_ENTRY(1, CONFIG_SYS_CCSRBAR, CONFIG_SYS_CCSRBAR_PHYS, 359490a7f1SKumar Gala MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 369490a7f1SKumar Gala 0, 0, BOOKE_PAGESZ_1M, 1), 379490a7f1SKumar Gala 389490a7f1SKumar Gala /* W**G* - Flash/promjet, localbus */ 399490a7f1SKumar Gala /* This will be changed to *I*G* after relocation to RAM. */ 40c953ddfdSKumar Gala SET_TLB_ENTRY(1, CONFIG_SYS_FLASH_BASE, CONFIG_SYS_FLASH_BASE_PHYS, 417c0d4a75SKumar Gala MAS3_SX|MAS3_SR, MAS2_W|MAS2_G, 429490a7f1SKumar Gala 0, 1, BOOKE_PAGESZ_256M, 1), 439490a7f1SKumar Gala 449490a7f1SKumar Gala /* *I*G* - PCI */ 455af0fdd8SKumar Gala SET_TLB_ENTRY(1, CONFIG_SYS_PCI1_MEM_VIRT, CONFIG_SYS_PCI1_MEM_PHYS, 469490a7f1SKumar Gala MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 479490a7f1SKumar Gala 0, 2, BOOKE_PAGESZ_1G, 1), 489490a7f1SKumar Gala 499490a7f1SKumar Gala /* *I*G* - PCI I/O */ 50aca5f018SKumar Gala SET_TLB_ENTRY(1, CONFIG_SYS_PCI1_IO_VIRT, CONFIG_SYS_PCI1_IO_PHYS, 519490a7f1SKumar Gala MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 529490a7f1SKumar Gala 0, 3, BOOKE_PAGESZ_256K, 1), 53c57fc289SJason Jin 54c57fc289SJason Jin /* *I*G - NAND */ 55c57fc289SJason Jin SET_TLB_ENTRY(1, CONFIG_SYS_NAND_BASE, CONFIG_SYS_NAND_BASE_PHYS, 56c57fc289SJason Jin MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 57c57fc289SJason Jin 0, 4, BOOKE_PAGESZ_1M, 1), 589a1a0aedSMingkai Hu 599a1a0aedSMingkai Hu #if defined(CONFIG_SYS_RAMBOOT) && defined(CONFIG_SYS_INIT_L2_ADDR) 609a1a0aedSMingkai Hu /* *I*G - L2SRAM */ 619a1a0aedSMingkai Hu SET_TLB_ENTRY(1, CONFIG_SYS_INIT_L2_ADDR, CONFIG_SYS_INIT_L2_ADDR_PHYS, 629a1a0aedSMingkai Hu MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 639a1a0aedSMingkai Hu 0, 5, BOOKE_PAGESZ_256K, 1), 649a1a0aedSMingkai Hu SET_TLB_ENTRY(1, CONFIG_SYS_INIT_L2_ADDR + 0x40000, 659a1a0aedSMingkai Hu CONFIG_SYS_INIT_L2_ADDR_PHYS + 0x40000, 669a1a0aedSMingkai Hu MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, 679a1a0aedSMingkai Hu 0, 6, BOOKE_PAGESZ_256K, 1), 689a1a0aedSMingkai Hu #endif 699490a7f1SKumar Gala }; 709490a7f1SKumar Gala 719490a7f1SKumar Gala int num_tlb_entries = ARRAY_SIZE(tlb_table); 72