diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2008-01-16 01:13:58 -0600 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2008-01-16 23:21:55 -0600 |
commit | 83d40dfd79fe868796275802f60116d84b9e4395 (patch) | |
tree | 3d7bfbe3ffe0fbf91395819ff486bde13fbad219 /cpu/mpc85xx/spd_sdram.c | |
parent | 4c9e98ace78e7de972adf7da7135a46ec0a4ee7e (diff) | |
download | u-boot-imx-83d40dfd79fe868796275802f60116d84b9e4395.zip u-boot-imx-83d40dfd79fe868796275802f60116d84b9e4395.tar.gz u-boot-imx-83d40dfd79fe868796275802f60116d84b9e4395.tar.bz2 |
85xx: Move LAW init code into C
Move the initialization of the LAWs into C code and provide an API
to allow modification of LAWs after init.
Board code is responsible to provide a law_table and num_law_entries.
We should be able to use the same code on 86xx as well.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Diffstat (limited to 'cpu/mpc85xx/spd_sdram.c')
-rw-r--r-- | cpu/mpc85xx/spd_sdram.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cpu/mpc85xx/spd_sdram.c b/cpu/mpc85xx/spd_sdram.c index adc9c4d..bb5dc1f 100644 --- a/cpu/mpc85xx/spd_sdram.c +++ b/cpu/mpc85xx/spd_sdram.c @@ -27,6 +27,7 @@ #include <i2c.h> #include <spd.h> #include <asm/mmu.h> +#include <asm/fsl_law.h> #if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER) @@ -1022,7 +1023,9 @@ spd_sdram(void) static unsigned int setup_laws_and_tlbs(unsigned int memsize) { +#ifndef CONFIG_FSL_LAW volatile ccsr_local_ecm_t *ecm = (void *)(CFG_MPC85xx_ECM_ADDR); +#endif unsigned int tlb_size; unsigned int law_size; unsigned int ram_tlb_index; @@ -1098,12 +1101,17 @@ setup_laws_and_tlbs(unsigned int memsize) /* * Set up LAWBAR for all of DDR. */ + +#ifdef CONFIG_FSL_LAW + set_law(1, CFG_DDR_SDRAM_BASE, law_size, LAW_TRGT_IF_DDR); +#else ecm->lawbar1 = ((CFG_DDR_SDRAM_BASE >> 12) & 0xfffff); ecm->lawar1 = (LAWAR_EN | LAWAR_TRGT_IF_DDR | (LAWAR_SIZE & law_size)); debug("DDR: LAWBAR1=0x%08x\n", ecm->lawbar1); debug("DDR: LARAR1=0x%08x\n", ecm->lawar1); +#endif /* * Confirm that the requested amount of memory was mapped. |