blob: e1aacf0607f195eb1b18292f2d1b633065599603 [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0+
Prabhakar Kushwaha63956d52012-04-24 20:17:15 +00002/*
3 * Copyright 2011-2012 Freescale Semiconductor, Inc.
Prabhakar Kushwaha63956d52012-04-24 20:17:15 +00004 */
5
6#include <common.h>
7#include <asm/mmu.h>
8
9struct fsl_e_tlb_entry tlb_table[] = {
10 /* TLB 0 - for temp stack in cache */
11 SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR, CONFIG_SYS_INIT_RAM_ADDR,
12 MAS3_SX|MAS3_SW|MAS3_SR, 0,
13 0, 0, BOOKE_PAGESZ_4K, 0),
14 SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 4 * 1024 ,
15 CONFIG_SYS_INIT_RAM_ADDR + 4 * 1024,
16 MAS3_SX|MAS3_SW|MAS3_SR, 0,
17 0, 0, BOOKE_PAGESZ_4K, 0),
18 SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 8 * 1024 ,
19 CONFIG_SYS_INIT_RAM_ADDR + 8 * 1024,
20 MAS3_SX|MAS3_SW|MAS3_SR, 0,
21 0, 0, BOOKE_PAGESZ_4K, 0),
22 SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 12 * 1024 ,
23 CONFIG_SYS_INIT_RAM_ADDR + 12 * 1024,
24 MAS3_SX|MAS3_SW|MAS3_SR, 0,
25 0, 0, BOOKE_PAGESZ_4K, 0),
26
27 /* TLB 1 */
28 /* *I*** - Covers boot page */
Prabhakar Kushwahad6a7aba2013-05-07 11:19:55 +053029 SET_TLB_ENTRY(1, 0xfffff000, 0xfffff000,
30 MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
31 0, 0, BOOKE_PAGESZ_4K, 1),
Prabhakar Kushwahaafffcb02013-12-11 12:42:11 +053032#ifdef CONFIG_SPL_NAND_BOOT
Prabhakar Kushwahad6a7aba2013-05-07 11:19:55 +053033 SET_TLB_ENTRY(1, 0xffffe000, 0xffffe000,
34 MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
35 0, 10, BOOKE_PAGESZ_4K, 1),
36#endif
Prabhakar Kushwaha63956d52012-04-24 20:17:15 +000037
38 /* *I*G* - CCSRBAR (PA) */
39 SET_TLB_ENTRY(1, CONFIG_SYS_CCSRBAR, CONFIG_SYS_CCSRBAR_PHYS,
40 MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
41 0, 1, BOOKE_PAGESZ_1M, 1),
42
Priyanka Jainf81e8b22013-04-04 09:31:54 +053043 /* CCSRBAR (DSP) */
44 SET_TLB_ENTRY(1, CONFIG_SYS_FSL_DSP_CCSRBAR,
45 CONFIG_SYS_FSL_DSP_CCSRBAR_PHYS,
46 MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
47 0, 2, BOOKE_PAGESZ_1M, 1),
48
Prabhakar Kushwahabc84b5e2013-04-16 13:28:25 +053049#if defined(CONFIG_SYS_RAMBOOT) || defined(CONFIG_SPL)
Prabhakar Kushwaha63956d52012-04-24 20:17:15 +000050 SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE, CONFIG_SYS_DDR_SDRAM_BASE,
York Sun05204d02017-12-05 10:57:54 -080051 MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
Prabhakar Kushwaha63956d52012-04-24 20:17:15 +000052 0, 8, BOOKE_PAGESZ_1G, 1),
53#endif
54
55 SET_TLB_ENTRY(1, CONFIG_SYS_NAND_BASE, CONFIG_SYS_NAND_BASE_PHYS,
56 MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
57 0, 3, BOOKE_PAGESZ_1M, 1)
58
59};
60
61int num_tlb_entries = ARRAY_SIZE(tlb_table);