[U-Boot] [PATCH v3 7/8] add support for palm treo 680 board
Marek Vasut
marex at denx.de
Sun Apr 14 19:34:09 CEST 2013
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 .
More information about the U-Boot
mailing list