From 2e6fe13ebc3f0e1cf2cdb2d1e4dbcae89a0b5d32 Mon Sep 17 00:00:00 2001 From: Vasudevan Murugesan Date: Fri, 30 Jun 2017 12:10:34 +0530 Subject: [PATCH] ipq807x: Added USB de-initialization functions Change-Id: Ia6877dfd96a65c2808cc67baa1eaa53afb924e80 Signed-off-by: Vasudevan Murugesan --- board/qca/arm/common/board_init.c | 10 +++ board/qca/arm/common/cmd_bootqca.c | 23 ++++++- board/qca/arm/ipq807x/ipq807x.c | 97 ++++++++++++++++++++++++------ board/qca/arm/ipq807x/ipq807x.h | 1 + 4 files changed, 111 insertions(+), 20 deletions(-) diff --git a/board/qca/arm/common/board_init.c b/board/qca/arm/common/board_init.c index 25274171e4..5c64017d08 100644 --- a/board/qca/arm/common/board_init.c +++ b/board/qca/arm/common/board_init.c @@ -44,6 +44,16 @@ int ipq_board_usb_init(void) { return 0; } +__weak +void board_usb_deinit(int id) +{ + return 0; +} +__weak +void board_pci_deinit(void) +{ + return 0; +} int board_init(void) { diff --git a/board/qca/arm/common/cmd_bootqca.c b/board/qca/arm/common/cmd_bootqca.c index 53451d0215..d85e1c63fe 100644 --- a/board/qca/arm/common/cmd_bootqca.c +++ b/board/qca/arm/common/cmd_bootqca.c @@ -41,6 +41,7 @@ static qca_smem_flash_info_t *sfi = &qca_smem_flash_info; int ipq_fs_on_nand ; extern int nand_env_device; extern qca_mmc mmc_host; +extern void board_usb_deinit(int id); #ifdef CONFIG_QCA_MMC static qca_mmc *host = &mmc_host; @@ -346,7 +347,7 @@ int config_select(unsigned int addr, char *rcmd, int rcmd_size) static int do_boot_signedimg(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { char runcmd[256]; - int ret; + int ret,i; unsigned int request; #ifdef CONFIG_QCA_MMC block_dev_desc_t *blk_dev; @@ -481,6 +482,11 @@ static int do_boot_signedimg(cmd_tbl_t *cmdtp, int flag, int argc, char *const a #endif board_pci_deinit(); +#ifdef CONFIG_USB_XHCI_IPQ + for (i=0; ibd); +#endif +#ifdef CONFIG_USB_XHCI_IPQ + ipq_board_usb_init(); #endif dcache_disable(); return CMD_RET_FAILURE; @@ -503,7 +512,7 @@ static int do_boot_signedimg(cmd_tbl_t *cmdtp, int flag, int argc, char *const a static int do_boot_unsignedimg(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[]) { - int ret; + int ret,i; char runcmd[256]; #ifdef CONFIG_QCA_MMC block_dev_desc_t *blk_dev; @@ -615,6 +624,12 @@ static int do_boot_unsignedimg(cmd_tbl_t *cmdtp, int flag, int argc, char *const board_pci_deinit(); +#ifdef CONFIG_USB_XHCI_IPQ + for (i=0; i