
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