Dear Mike Dunn,

[...]

> +int board_init(void)
> +{
> +     /* We have RAM, disable cache */
> +     dcache_disable();
> +     icache_disable();
> +
> +     gd->bd->bi_arch_number = MACH_TYPE_TREO680;

This is not needed, just define CONFIG_MACH_TYPE in treo680.h

> +     gd->bd->bi_boot_params = 0xa0000100;

Is this not CONFIG_SYS_DRAM_BASE + 0x100 ? I think it is.

> +
> +     return 0;
> +}
> +
> +int dram_init(void)
> +{
> +     /* IPL initializes SDRAM (we're already running from it) */
> +     gd->ram_size = PHYS_SDRAM_1_SIZE;
> +     return 0;
> +}
> +
> +#ifdef CONFIG_LCD
> +void lcd_enable(void)
> +{
> +     /*
> +      * Undo the L_BIAS / gpio77 pin configuration performed by the pxa lcd
> +      * driver code.  We need it as an output gpio.
> +      */
> +     writel((readl(GAFR2_L) & ~(0xc << 24)), GAFR2_L);
> +
> +     /* power-up and enable the lcd */
> +     writel(0x00400000, GPSR(86)); /* enable; drive high */
> +     writel(0x00002000, GPSR(77)); /* power; drive high */
> +     writel(0x02000000, GPCR(25)); /* enable_n; drive low */
> +
> +     /* turn on LCD backlight and configure PWM for reasonable brightness */
> +     writel(0x00, PWM_CTRL0);
> +     writel(0x1b1, PWM_PERVAL0);
> +     writel(0xfd, PWM_PWDUTY0);
> +     writel(0x00000040, GPSR(38)); /*  backlight power on */
> +}
> +#endif
> +
> +#ifdef CONFIG_MMC
> +int board_mmc_init(bd_t *bis)
> +{
> +     writel(0x00000400, GPSR(42)); /* power on */

Can you not use your bitlibrary for this stuff? Or maybe at least use (1 << n) 
here to make it more readable.

But seriously, do you not want to (in the longer run) implement proper GPIO 
driver for PXA? That'd help a lot. Also, do you not want to volunteer to fix 
PXA? I think it's a bit rotting all around ;-)

> +     return pxa_mmc_register(0);
> +}
> +#endif
> +
> +void board_nand_init(void)
> +{
> +     /* we have one 128M diskonchip G4  */
> +
> +     struct mtd_info *mtd = &nand_info[0];
> +     struct nand_chip *nand = &docg4_nand_chip;
> +     if (docg4_nand_init(mtd, nand, 0))
> +             hang();
> +}
> +
> +#ifdef CONFIG_SPL_BUILD
> +void *memcpy(void *dest, const void *src, size_t count)
> +{

CONFIG_SPL_LIBCOMMON_SUPPORT shall give you memcpy.

[...]

> +void nand_boot(void)
> +{
[...]

Will the common/spl/ NAND loading code not cut it here? I guess it won't since 
PXA is FUBAR when it comes to any kind of SPL loading. Do you not want to fix 
that? I'd be really grateful if you did ;-)

[...]

btw. you dont really need to #define CONFIG_PXA27X to value "1" in your config, 
just remove those useless trailing "1"s .
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to