On Mon, 6 Sep 2010 12:32:52 +0200
Ilya Yanok <ya...@emcraft.com> wrote:

> +static void resume_from_sleep(void)
> +{
> +     u32 magic = *(u32 *)0;
> +
> +     typedef void (*func_t)(void);
> +     func_t resume = *(func_t *)4;
> +
> +     if (magic == 0xf5153ae5)
> +             resume();
> +
> +     gd->flags &= ~GD_FLG_SILENT;
> +     puts("\nResume from sleep failed: bad magic word\n");
> +}

8308 does not support deep sleep, so it doesn't need this function.

Likewise, PMCCR1 does not exist on 8308, so don't read it.

> +/* Fixed sdram init -- doesn't use serial presence detect.
> + *
> + * This is useful for faster booting in configs where the RAM is unlikely
> + * to be changed, or for things like NAND booting where space is tight.
> + */
> +static long fixed_sdram(void)
> +{
> +     immap_t *im = (immap_t *)CONFIG_SYS_IMMR;
> +     u32 msize = CONFIG_SYS_DDR_SIZE * 1024 * 1024;
> +     u32 msize_log2 = __ilog2(msize);
> +
> +     out_be32(&im->sysconf.ddrlaw[0].bar,
> +                     CONFIG_SYS_DDR_SDRAM_BASE  & 0xfffff000);
> +     out_be32(&im->sysconf.ddrlaw[0].ar, LBLAWAR_EN | (msize_log2 - 1));
> +     out_be32(&im->sysconf.ddrcdr, CONFIG_SYS_DDRCDR_VALUE);
> +
> +     /*
> +      * Erratum DDR3 requires a 50ms delay after clearing DDRCDR[DDR_cfg],
> +      * or the DDR2 controller may fail to initialize correctly.
> +      */
> +     udelay(50000);

I don't see this erratum on 8308.

-Scott

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to