With this patch we can change QE USB mode without need to hand-edit the device tree.
Signed-off-by: Anton Vorontsov <avoront...@ru.mvista.com> --- board/freescale/mpc8360emds/mpc8360emds.c | 12 ++++++++++++ include/configs/MPC8360EMDS.h | 2 ++ 2 files changed, 14 insertions(+), 0 deletions(-) diff --git a/board/freescale/mpc8360emds/mpc8360emds.c b/board/freescale/mpc8360emds/mpc8360emds.c index 54f2989..d4ba043 100644 --- a/board/freescale/mpc8360emds/mpc8360emds.c +++ b/board/freescale/mpc8360emds/mpc8360emds.c @@ -25,6 +25,8 @@ #if defined(CONFIG_OF_LIBFDT) #include <libfdt.h> #endif +#include <hwconfig.h> +#include <fdt_support.h> #if defined(CONFIG_PQ_MDS_PIB) #include "../common/pq-mds-pib.h" #endif @@ -357,12 +359,22 @@ static int sdram_init(unsigned int base) { return 0; } #endif #if defined(CONFIG_OF_BOARD_SETUP) +static void ft_board_fixup_qe_usb(void *blob, bd_t *bd) +{ + if (!hwconfig_subarg_cmp("qe_usb", "mode", "peripheral")) + return; + + do_fixup_by_compat(blob, "fsl,mpc8323-qe-usb", "mode", + "peripheral", sizeof("peripheral"), 1); +} + void ft_board_setup(void *blob, bd_t *bd) { ft_cpu_setup(blob, bd); #ifdef CONFIG_PCI ft_pci_setup(blob, bd); #endif + ft_board_fixup_qe_usb(blob, bd); /* * mpc8360ea pb mds errata 2: RGMII timing * if on mpc8360ea rev. 2.1, diff --git a/include/configs/MPC8360EMDS.h b/include/configs/MPC8360EMDS.h index 30a8d45..dab0173 100644 --- a/include/configs/MPC8360EMDS.h +++ b/include/configs/MPC8360EMDS.h @@ -382,6 +382,8 @@ #define CONFIG_NET_MULTI 1 #endif +#define CONFIG_HWCONFIG 1 + /* * QE UEC ethernet configuration */ -- 1.6.3.3 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot