blob: 904e648987f16bc10c517bd41d3dd3ff4c074fa8 [file] [log] [blame]
wdenkc6097192002-11-03 00:24:07 +00001/*
2* Copyright (C) 2002 Scott McNutt <smcnutt@artesyncp.com>
Wolfgang Denk1a459662013-07-08 09:37:19 +02003 * SPDX-License-Identifier: GPL-2.0+
wdenkc6097192002-11-03 00:24:07 +00004*/
5
6#include <ppc_asm.tmpl>
7#include <config.h>
Peter Tyser61f2b382010-04-12 22:28:07 -05008#include <asm/mmu.h>
Stefan Roese550650d2010-09-20 16:05:31 +02009#include <asm/ppc4xx.h>
wdenkc6097192002-11-03 00:24:07 +000010
11/**************************************************************************
12 * TLB TABLE
13 *
14 * This table is used by the cpu boot code to setup the initial tlb
15 * entries. Rather than make broad assumptions in the cpu source tree,
16 * this table lets each board set things up however they like.
17 *
18 * Pointer to the table is returned in r1
19 *
20 *************************************************************************/
21
Stefan Roese8423e5e2007-03-16 21:11:42 +010022 .section .bootpg,"ax"
23 .globl tlbtab
wdenkc6097192002-11-03 00:24:07 +000024
25tlbtab:
Stefan Roese8423e5e2007-03-16 21:11:42 +010026 tlbtab_start
27
Stefan Roesecf6eb6d2010-04-14 13:57:18 +020028 tlbentry(0xf0000000, SZ_256M, 0xf0000000, 1, AC_RWX | SA_IG)
Stefan Roese8423e5e2007-03-16 21:11:42 +010029
30 /*
31 * TLB entries for SDRAM are not needed on this platform.
32 * They are dynamically generated in the SPD DDR(2) detection
33 * routine.
34 */
35
Stefan Roesecf6eb6d2010-04-14 13:57:18 +020036 tlbentry(CONFIG_SYS_PERIPHERAL_BASE, SZ_256M, 0x40000000, 1, AC_RW | SA_IG)
37 tlbentry(CONFIG_SYS_ISRAM_BASE, SZ_4K, 0x80000000, 0, AC_RWX)
38 tlbentry(CONFIG_SYS_ISRAM_BASE + 0x1000, SZ_4K, 0x80001000, 0, AC_RWX)
39 tlbentry(CONFIG_SYS_PCI_BASE, SZ_256M, 0x00000000, 2, AC_RW | SA_IG)
40 tlbentry(CONFIG_SYS_PCI_MEMBASE, SZ_256M, 0x00000000, 3, AC_RW | SA_IG)
Stefan Roese8423e5e2007-03-16 21:11:42 +010041 tlbtab_end