> > diff --git a/board/gdsys/compactcenter/compactcenter.c
> > b/board/gdsys/compactcenter/compactcenter.c new file mode 
> 100644 index 
> > 0000000..9f1e49d
> > --- /dev/null
> > +++ b/board/gdsys/compactcenter/compactcenter.c
> 
> <snip>
> 
> > +#if defined(CONFIG_OF_LIBFDT) && 
> defined(CONFIG_OF_BOARD_SETUP) void 
> > +ft_board_setup(void *blob, bd_t *bd) {
> 
> 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.

Cheers
Dirk


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to