From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id ADB11C433F5 for ; Wed, 13 Apr 2022 09:35:06 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id DB5C883E06; Wed, 13 Apr 2022 11:34:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=ziswiler.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id F284383BBF; Wed, 13 Apr 2022 11:34:08 +0200 (CEST) Received: from mout.perfora.net (mout.perfora.net [74.208.4.194]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 610CF83D9E for ; Wed, 13 Apr 2022 11:34:01 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=ziswiler.com Authentication-Results: phobos.denx.de; spf=none smtp.mailfrom=marcel@ziswiler.com Received: from toolbox.int.toradex.com ([81.221.85.15]) by mrelay.perfora.net (mreueus002 [74.208.5.2]) with ESMTPSA (Nemesis) id 0M4oTz-1nt3N21VUb-00yvRM; Wed, 13 Apr 2022 11:33:57 +0200 From: Marcel Ziswiler To: u-boot@lists.denx.de Cc: Marcel Ziswiler Subject: [PATCH v2 09/11] board: colibri_imx7: fix usb start on solo Date: Wed, 13 Apr 2022 11:33:33 +0200 Message-Id: <20220413093335.1372656-10-marcel@ziswiler.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220413093335.1372656-1-marcel@ziswiler.com> References: <20220413093335.1372656-1-marcel@ziswiler.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Provags-ID: V03:K1:jumqDuxUYatzxlPKYMEe8rcppIakf1GSW7LZYjvleBa84txl3bp +yb4dKa2CjqEpB/lXJIS5qzZ+/qwVjgi38mG2QLobgpmHAoeKhYberQKVs71Lwcf9uNBOC1 Os242pjfNPB5eC3xWDNYCXrUAX/fyCGI7Y5DFRYgurWh6KQpX04AceaxOldOvhqtkEKKbnk 86UgBRGKUfia2RU5veHoQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:NMgdtyYmYWQ=:Kefvwg4iGUjpUSPayn3YLM V42xHYKJIzNPzsEdOBOcf1t6ID7Kl+T5dob/s649MYw7ibAcaJIwciFFYeAOqiVqOCc9dZgKJ 4QzMOhPBwbXtAUGYvUeUPC5I3SdgHdbHbDcJ/M/HZzZ5jmSwIGJjOCTqwzkpnvqXn2iyAQkTh i1VOAv4j7gymF1NlUT9Olr8R+OEkjxowc/0ldMDBEB1/4q7LFSgThkYjX8wRwIpUef/PwMF0b 3vBIaT6N5bbSKRZQRAqj6hGGPTAqpRCBGe5hxEXpvieYVlx4827/gXn+btLEGHkWb9gMafzQe zqzgf7pljBTSkvtKWR0w1UU0S0VqVPdsIm6+lIiXZJgrhWneW/qPieE7UjYjrv4RURl4OC026 9tMzGtbf/+ToiKp7oaqWLbvmW0pgVIKqMIsye2MVeNNCJg3sBavTctBAlSWkWl8N5Ysf/e56f 0zLpFeiYId28vGmNQ0a76MmDg6CQ43XKOnQRbH629WmFyQClal9BV5HSko+gMhKuHLgmCmsuy 38Eb2rjMoC+GPJ9/hSJZGO53ynRHguxhtXxeFvUuk9XBZN4hD929LQkFe3+gbR2jAXJc/2vP2 YxendmQGYaVCoWTcTj4VdvlSRf4EZ3PnxkYuN2P7MjmFPz3XVsx5fEoZ7iv97WK9NbO5Y2oHo 9HLafINsxdXWK0IpdNW29KsTupbMuiwjgtrGERf8jg4dFrZ5ESD3WCXutoZSvUVvqbQc= X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.5 at phobos.denx.de X-Virus-Status: Clean From: Marcel Ziswiler This fixes the following crash when run on a Colibri iMX7S aka solo: Colibri iMX7 # usb start starting USB... Bus usb@30b10000: USB EHCI 1.00 Bus usb@30b20000: The i.MX 7Solo has only one single USB OTG1 but no USB host port. Trying to initialize the nonexisting port just crashes. While at it also drop board_usb_phy_mode() which is also no longer used in the driver model age. Signed-off-by: Marcel Ziswiler --- (no changes since v1) board/toradex/colibri_imx7/colibri_imx7.c | 40 +++++------------------ configs/colibri_imx7_defconfig | 1 + 2 files changed, 9 insertions(+), 32 deletions(-) diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c index 6822102d2c3..486299b5e93 100644 --- a/board/toradex/colibri_imx7/colibri_imx7.c +++ b/board/toradex/colibri_imx7/colibri_imx7.c @@ -319,40 +319,16 @@ int ft_board_setup(void *blob, struct bd_info *bd) #endif #ifdef CONFIG_USB_EHCI_MX7 -static iomux_v3_cfg_t const usb_otg2_pads[] = { - MX7D_PAD_UART3_CTS_B__USB_OTG2_PWR | MUX_PAD_CTRL(NO_PAD_CTRL), -}; - -int board_ehci_hcd_init(int port) +int board_fix_fdt(void *rw_fdt_blob) { - switch (port) { - case 0: - break; - case 1: - if (is_cpu_type(MXC_CPU_MX7S)) - return -ENODEV; - - imx_iomux_v3_setup_multiple_pads(usb_otg2_pads, - ARRAY_SIZE(usb_otg2_pads)); - break; - default: - return -EINVAL; - } - return 0; -} + /* i.MX 7Solo has only one single USB OTG1 but no USB host port */ + if (is_cpu_type(MXC_CPU_MX7S)) { + int offset = fdt_path_offset(rw_fdt_blob, "/soc/bus@30800000/usb@30b20000"); -int board_usb_phy_mode(int port) -{ - switch (port) { - case 0: - if (gpio_get_value(USB_CDET_GPIO)) - return USB_INIT_DEVICE; - else - return USB_INIT_HOST; - case 1: - default: - return USB_INIT_HOST; + return fdt_status_disabled(rw_fdt_blob, offset); } + + return 0; } #if defined(CONFIG_BOARD_LATE_INIT) @@ -373,4 +349,4 @@ int board_late_init(void) } #endif /* CONFIG_BOARD_LATE_INIT */ -#endif +#endif /* CONFIG_USB_EHCI_MX7 */ diff --git a/configs/colibri_imx7_defconfig b/configs/colibri_imx7_defconfig index 2f61223c9eb..0e254fd7d15 100644 --- a/configs/colibri_imx7_defconfig +++ b/configs/colibri_imx7_defconfig @@ -10,6 +10,7 @@ CONFIG_TARGET_COLIBRI_IMX7=y CONFIG_IMX_RDC=y CONFIG_IMX_BOOTAUX=y CONFIG_IMX_HAB=y +CONFIG_OF_BOARD_FIXUP=y CONFIG_SYS_MEMTEST_START=0x80000000 CONFIG_SYS_MEMTEST_END=0x8c000000 CONFIG_DISTRO_DEFAULTS=y -- 2.34.1