[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