u-boot-brain/arch/powerpc/cpu/mpc85xx
Timur Tabi 6ca88b0958 powerpc/85xx: relocate CCSR before creating the initial RAM area
Before main memory (DDR) is initialized, the on-chip L1 cache is used as a
memory area for the stack and the global data (gd_t) structure.  This is
called the initial RAM area, or initram.  The L1 cache is locked and the TLBs
point to a non-existent address (so that there's no chance it will overlap
main memory or any device).  The L1 cache is also configured not to write
out to memory or the L2 cache, so everything stays in the L1 cache.

One of the things we might do while running out of initram is relocate CCSR.
On reset, CCSR is typically located at some high 32-bit address, like
0xfe000000, and this may not be the best place for CCSR.  For example, on
36-bit systems, CCSR is relocated to 0xffe000000, near the top of 36-bit
memory space.

On some future Freescale SOCs, the L1 cache will be forced to write to the
backing store, so we can no longer have the TLBs point to non-existent address.
Instead, we will point the TLBs to an unused area in CCSR.  In order for this
technique to work, CCSR needs to be relocated before the initram memory is
enabled.

Unlike the original CCSR relocation code in cpu_init_early_f(), the TLBs
we create now for relocating CCSR are deleted after the relocation is finished.
cpu_init_early_f() will still need to create a TLB for CCSR (at the new
location) for normal U-Boot purposes.  This is done to keep the impact to
existing U-Boot code minimal and to better isolate the CCSR relocation code.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2011-09-29 19:01:04 -05:00
..
cmd_errata.c powerpc/85xx: Implement work-around for P4080 erratum SERDES-A005 2011-04-28 22:09:23 -05:00
commproc.c POST cleanup. 2010-09-21 21:39:31 +02:00
config.mk PowerPC: Move -fPIC flag to common place 2011-04-11 21:36:41 +02:00
cpu_init_early.c powerpc/85xx: relocate CCSR before creating the initial RAM area 2011-09-29 19:01:04 -05:00
cpu_init_nand.c powerpc/85xx: Removed clearing of L2-as-SRAM 2011-04-10 11:24:21 -05:00
cpu_init.c powerpc/85xx: Handle the lack of L2 cache on P2040/P2040E 2011-07-29 08:53:38 -05:00
cpu.c MPC8xxx: drop redundant boot messages 2011-07-29 08:53:39 -05:00
ddr-gen1.c Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
ddr-gen2.c Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
ddr-gen3.c powerpc/mpc8xxx: fix workaround for errata DDR111 and DDR134 2011-03-24 09:20:50 -05:00
ether_fcc.c net ppc: fix ethernet device names with spaces 2010-08-09 11:52:28 -07:00
fdt.c powerpc/85xx: verify the device tree before booting Linux 2011-07-29 08:53:39 -05:00
fixed_ivor.S Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
fsl_corenet_serdes.c powerpc/85xx: remove SERDES4 soft-reset work-around 2011-07-11 13:24:21 -05:00
fsl_corenet_serdes.h powerpc/85xx: fsl_corenet_serdes code rework 2011-04-27 22:29:04 -05:00
interrupts.c mpc8[5/6]xx: Ensure POST word does not get reset 2011-03-13 11:24:44 -05:00
liodn.c powerpc/85xx: Add support to initialize LIODN registers and portals 2010-07-26 13:07:56 -05:00
Makefile powerpc/85xx: Rename P2040 id & SERDES to P2041 2011-07-29 08:53:37 -05:00
mp.c powerpc/85xx: Fix synchronization of timebase on MP boot 2011-03-15 01:25:51 -05:00
mp.h 85xx: Add support for not releasing secondary cores via 'mp_holdoff' 2010-10-20 02:38:40 -05:00
mpc8536_serdes.c powerpc/85xx: Rework MPC8536 SERDES is_serdes_configured support 2010-07-21 00:40:16 -05:00
mpc8544_serdes.c powerpc/85xx: Add is_serdes_configured() support for MPC8544 SERDES 2011-01-14 01:32:18 -06:00
mpc8548_serdes.c powerpc/85xx: Add is_serdes_configured() support for MPC8548 SERDES 2011-01-14 01:32:18 -06:00
mpc8568_serdes.c powerpc/85xx: Add is_serdes_configured() support for MPC8568 SERDES 2011-01-14 01:32:18 -06:00
mpc8569_serdes.c powerpc/85xx: Add is_serdes_configured() support for MPC8569 SERDES 2011-01-14 01:32:18 -06:00
mpc8572_serdes.c powerpc/85xx: Add is_serdes_configured() support for MPC8572 SERDES 2011-01-14 01:32:18 -06:00
p1010_serdes.c powerpc/85xx: Add SERDES support for P1010/P1014 2011-04-04 09:24:40 -05:00
p1021_serdes.c powerpc/85xx: Handle PCIe initialization requires for P1021 class SoCs 2011-03-29 07:41:37 -05:00
p1022_serdes.c powerpc/85xx: Rework P1022 SERDES is_serdes_configured support 2010-07-21 00:40:20 -05:00
p1023_serdes.c powerpc/85xx: Add support for Freescale P1023/P1017 Processors 2011-04-04 09:24:41 -05:00
p2020_serdes.c powerpc/85xx: Add is_serdes_configured() support for P2020 SERDES 2011-01-14 01:32:18 -06:00
p2041_ids.c powerpc/85xx: Rename P2040 id & SERDES to P2041 2011-07-29 08:53:37 -05:00
p2041_serdes.c powerpc/85xx: Add support for P2041[e] XAUI in SERDES 2011-07-29 08:53:38 -05:00
p3041_ids.c powerpc/85xx: Fix compile errors if CONFIG_SYS_DPAA_QBMAN isn't set 2011-07-11 13:24:19 -05:00
p3041_serdes.c powerpc/p3041: Add various p3041 specific information 2011-01-19 22:58:23 -06:00
p4080_ids.c powerpc/85xx: Fix compile errors if CONFIG_SYS_DPAA_QBMAN isn't set 2011-07-11 13:24:19 -05:00
p4080_serdes.c powerpc/p4080: Add workaround for errata SERDES8 2010-07-26 13:07:57 -05:00
p5020_ids.c powerpc/85xx: Fix compile errors if CONFIG_SYS_DPAA_QBMAN isn't set 2011-07-11 13:24:19 -05:00
p5020_serdes.c powerpc/p5020: Add various p5020 specific information 2011-01-19 22:58:23 -06:00
pci.c Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
portals.c powerpc/85xx: add support the ePAPR "phandle" property 2011-07-22 01:49:39 -05:00
qe_io.c Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
release.S powerpc/85xx: Handle the lack of L2 cache on P2040/P2040E 2011-07-29 08:53:38 -05:00
resetvec.S Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
serial_scc.c Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
speed.c Minor coding style cleanup. 2011-05-19 22:22:44 +02:00
start.S powerpc/85xx: relocate CCSR before creating the initial RAM area 2011-09-29 19:01:04 -05:00
tlb.c powerpc/mpc85xx: Add clear_ddr_tlbs function 2011-07-22 03:07:47 -05:00
traps.c powerpc/8xxx: share PIC defines among 85xx and 86xx 2010-08-19 02:06:13 -05:00
u-boot-nand_spl.lds rename _end to __bss_end__ 2011-03-27 19:18:37 +02:00
u-boot-nand.lds rename _end to __bss_end__ 2011-03-27 19:18:37 +02:00
u-boot.lds rename _end to __bss_end__ 2011-03-27 19:18:37 +02:00