diff options
author | Wolfgang Denk <wd@denx.de> | 2008-05-19 09:42:38 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-05-19 09:42:38 +0200 |
commit | a734c06bf7a0a139b1d4bd762a17efa368da2664 (patch) | |
tree | 3182a172d2d219f8c3506574a560b50d584649e3 /board/amcc/canyonlands/canyonlands.c | |
parent | 3cc27b426aeefe2930f911692e9df3143fb2565f (diff) | |
parent | 16bedc661de0dae767b1377d8413373a3fbcfa79 (diff) |
Merge branch 'master' of git://www.denx.de/git/u-boot-ppc4xx
Diffstat (limited to 'board/amcc/canyonlands/canyonlands.c')
-rw-r--r-- | board/amcc/canyonlands/canyonlands.c | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/board/amcc/canyonlands/canyonlands.c b/board/amcc/canyonlands/canyonlands.c index 9986e9a9c6..0f66061278 100644 --- a/board/amcc/canyonlands/canyonlands.c +++ b/board/amcc/canyonlands/canyonlands.c @@ -476,8 +476,37 @@ void ft_board_setup(void *blob, bd_t *bd) val[3] = gd->bd->bi_flashsize; rc = fdt_find_and_setprop(blob, "/plb/opb/ebc", "ranges", val, sizeof(val), 1); - if (rc) + if (rc) { printf("Unable to update property NOR mapping, err=%s\n", fdt_strerror(rc)); + } + + if (gd->board_type == BOARD_CANYONLANDS_SATA) { + /* + * When SATA is selected we need to disable the first PCIe + * node in the device tree, so that Linux doesn't initialize + * it. + */ + rc = fdt_find_and_setprop(blob, "/plb/pciex@d00000000", "status", + "disabled", sizeof("disabled"), 1); + if (rc) { + printf("Unable to update property status in PCIe node, err=%s\n", + fdt_strerror(rc)); + } + } + + if (gd->board_type == BOARD_CANYONLANDS_PCIE) { + /* + * When PCIe is selected we need to disable the SATA + * node in the device tree, so that Linux doesn't initialize + * it. + */ + rc = fdt_find_and_setprop(blob, "/plb/sata@bffd1000", "status", + "disabled", sizeof("disabled"), 1); + if (rc) { + printf("Unable to update property status in PCIe node, err=%s\n", + fdt_strerror(rc)); + } + } } #endif /* defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) */ |