[U-Boot] [PATCH v2] ppc4xx: Add GDsys CompactCenter board support.
Felix Radensky
felix at embedded-sol.com
Wed Jul 15 11:24:07 CEST 2009
Hi,
Stefan Roese wrote:
> On Wednesday 15 July 2009 09:28:58 Eibach, Dirk wrote:
>
>>> Please check the latest version of this code in
>>> canyonlands.c. It's now using the 4xx common
>>> __ft_board_setup() function. Please move to this version as well.
>>>
>> This code in canyonlands.c does not work for me:
>>
>> void ft_board_setup(void *blob, bd_t *bd)
>> {
>> u32 val[4];
>> int rc;
>>
>> __ft_board_setup(blob, bd);
>>
>> /* Fixup NOR mapping */
>> val[0] = CONFIG_SYS_NOR_CS; /* chip select number */
>> val[1] = 0; /* always 0 */
>> val[2] = CONFIG_SYS_FLASH_BASE_PHYS_L; /* we fixed up
>> this address */
>> val[3] = gd->bd->bi_flashsize;
>> rc = fdt_find_and_setprop(blob, "/plb/opb/ebc", "ranges",
>> val, sizeof(val), 1);
>>
>> __ft_board_setup() sets the property "ranges", with an entry for every
>> member of EBC_NUM_BANKS.
>> Then the so called "fixup" happens and the property "ranges" is set
>> again, this time with only one entry (for the nor flash). All other
>> entries are lost.
>>
>
> I see. I didn't spot this problem in the original patch. Thanks for catching.
>
> It shouldn't be too hard to fix this problem by reading the complete ranges
> array back and patching only the first entry and re-writing ranges again.
>
>
I think my first patch that open-coded part of ft_board_setup() related
to EBC ranges
was correct and tested on real hardware. I admit that I didn't test the
second version
of the patch, as I didn't have the hardware at hand.
I'll submit a fix soon, but I still don't have hardware for testing, so
I'd appreciate your
help with that.
Felix.
More information about the U-Boot
mailing list