diff options
author | Kim Phillips <kim.phillips@freescale.com> | 2007-08-15 22:30:33 -0500 |
---|---|---|
committer | Kim Phillips <kim.phillips@freescale.com> | 2007-08-15 22:36:33 -0500 |
commit | 3fde9e8b22cfbd7af489214758f9839a206576cb (patch) | |
tree | 644df1662083d42bb2ffe3db45b1e541ff143794 /board/mpc8349emds/pci.c | |
parent | 6a16e0dfcc4119b46adb1dce2d6c8fb3c5d108e1 (diff) | |
download | u-boot-imx-3fde9e8b22cfbd7af489214758f9839a206576cb.zip u-boot-imx-3fde9e8b22cfbd7af489214758f9839a206576cb.tar.gz u-boot-imx-3fde9e8b22cfbd7af489214758f9839a206576cb.tar.bz2 |
mpc83xx: migrate remaining freescale boards to libfdt
this adds libfdt support code for the freescale
mpc8313erdb, mpc832xemds, mpc8349emds, mpc8349itx,
and gp boards.
Boards remain compatible with OF_FLAT_TREE.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Diffstat (limited to 'board/mpc8349emds/pci.c')
-rw-r--r-- | board/mpc8349emds/pci.c | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/board/mpc8349emds/pci.c b/board/mpc8349emds/pci.c index d6a12b8..ae94a2f 100644 --- a/board/mpc8349emds/pci.c +++ b/board/mpc8349emds/pci.c @@ -25,6 +25,12 @@ #include <pci.h> #include <asm/mpc8349_pci.h> #include <i2c.h> +#if defined(CONFIG_OF_FLAT_TREE) +#include <ft_build.h> +#elif defined(CONFIG_OF_LIBFDT) +#include <libfdt.h> +#endif + DECLARE_GLOBAL_DATA_PTR; @@ -382,7 +388,40 @@ pci_init_board(void) } -#ifdef CONFIG_OF_FLAT_TREE +#if defined(CONFIG_OF_LIBFDT) +void +ft_pci_setup(void *blob, bd_t *bd) +{ + int nodeoffset; + int err; + int tmp[2]; + + nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8500"); + if (nodeoffset >= 0) { + tmp[0] = cpu_to_be32(pci_hose[0].first_busno); + tmp[1] = cpu_to_be32(pci_hose[0].last_busno); + err = fdt_setprop(blob, nodeoffset, "bus-range", + tmp, sizeof(tmp)); + + tmp[0] = cpu_to_be32(gd->pci_clk); + err = fdt_setprop(blob, nodeoffset, "clock-frequency", + tmp, sizeof(tmp[0])); + } +#ifdef CONFIG_MPC83XX_PCI2 + nodeoffset = fdt_find_node_by_path(blob, "/" OF_SOC "/pci@8600"); + if (nodeoffset >= 0) { + tmp[0] = cpu_to_be32(pci_hose[1].first_busno); + tmp[1] = cpu_to_be32(pci_hose[1].last_busno); + err = fdt_setprop(blob, nodeoffset, "bus-range", + tmp, sizeof(tmp)); + + tmp[0] = cpu_to_be32(gd->pci_clk); + err = fdt_setprop(blob, nodeoffset, "clock-frequency", + tmp, sizeof(tmp[0])); + } +#endif +} +#elif defined(CONFIG_OF_FLAT_TREE) void ft_pci_setup(void *blob, bd_t *bd) { |