[U-Boot] [PATCH v3 7/8] add support for palm treo 680 board

Mike Dunn mikedunn at newsguy.com
Mon Apr 15 19:34:07 CEST 2013


On 04/14/2013 10:34 AM, Marek Vasut wrote:
> 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


Oops, yes, I see.


> 
>> +	gd->bd->bi_boot_params = 0xa0000100;
> 
> Is this not CONFIG_SYS_DRAM_BASE + 0x100 ? I think it is.


Correct.

[...]


>> +
>> +#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.


Well, bitrev reverses the bits; not really applicable here.  But you're right, a
shift would be better for clarity.


> 
> 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 ;-)


Sure, I'd be open to that.


> 
>> +	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.


This does not appear to be the case.  Unless I'm mistaken, memcpy() will be in
either lib/libgeneric.o (lib/string.c) or arch/arm/lib/libarm.o
(arch/arm/lib/memcpy.S) - depending on CONFIG_USE_ARCH_MEMCPY - but in neither
case will it be in common/libcommon.o.


> 
> [...]
> 
>> +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 ;-)


Well, palmtreo680 is a special case because its nand_boot() resumes loading
u-boot where the IPL left off.  IOW, the IPL has already loaded a portion of
u-boot, whereas a generic nand_boot() will want to load the entire image.

I'd be willing to help with pxa spl code, but that might be difficult without
hardware to test on, no?


> 
> [...]
> 
> btw. you dont really need to #define CONFIG_PXA27X to value "1" in your config, 
> just remove those useless trailing "1"s .


Ah yes.  And I'm finding some other clean-ups in the config file.

Thanks again Marek,
Mike


More information about the U-Boot mailing list