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 X-Spam-Level: X-Spam-Status: No, score=-14.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84C1BC433E0 for ; Tue, 2 Feb 2021 02:03:34 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2F61B64ED9 for ; Tue, 2 Feb 2021 02:03:34 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2F61B64ED9 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:In-Reply-To:References:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=34o9jtPH09o8aAtaXJFfYO1y2rkOT+hGZc/oJnYzsNo=; b=fn9CUE1g6U5MJDggfzqGpjPU3 OW6ab35ZtE5eVcvNitsd9U9+WD8hRwSXBigh9wdmfp3ti3KvVraJcc7iwtj6KwSQFjCZos3uEYaLl eTEOnJ6PDcfechruhFk+JiGvPJ4/4B4yBOCYZ2KbxZYswOJ+15J6Sg54yKYgt1AAyonDWu2xg/1QK XiqpduNmDDgAd+NtKpULPtv1QobpH3UQsB7OMRsDsDu5vRbt9owMPBPWIFt3vgXg0m/4dDHuo+p2O tfFTXM44r9mHmeiGDH8nn0VIC4r0TGwXN9kPM0zkZlEpjMIDUcYdj4mA+hwJ732i50MFVEhKljI66 U5JkzXLAg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l6l1C-0003SS-5O; Tue, 02 Feb 2021 02:02:14 +0000 Received: from mail-eopbgr00089.outbound.protection.outlook.com ([40.107.0.89] helo=EUR02-AM5-obe.outbound.protection.outlook.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l6l14-0003RM-7v for linux-arm-kernel@lists.infradead.org; Tue, 02 Feb 2021 02:02:11 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=k6DwDEuRbqpVtFQrWlFQggjCyaZrubiPTjAw4YdJYu3XCxjU7tUPAjCeAjqdSZxI04xA9bnugnTncgC7LVOkJCuWZPWKKZPvr07rkHANFFWcHz5zrzCwtvJ7RkulgCCI9+rm5ZErbenamziBhrPREHXVKZ+8eSDWuxP5mUhkDBoBUjay2mUJCGciqzFwtib4HJp0ZHLSXqehygsbm4OFoKS1uTWDmc9jbp+FUG8e6YzBBtIiDME/RxU8uWWf7DX/SojYgkUPIQurLyT0yO5LnoEPHhCNv3VhMShonnlh5Ef7p8HSit3l2dK6gc9jYTzTf14SQq0I+jRR04NtHyhT0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YHdSPr1wQ/efzdlvQIkDyB/mcki95784iKXk7f/4wDM=; b=fUMopVp0zDz7VAhD9qCtXeiQs8qOUU7WPjyApGAhmGAH+K68QyvHYoiwK3GGuReIzSN0DupiybHBWC9p1gNJ9534kkfQaOYxP6ge+xW26ToIYK9OrigM4f5nV6II2qYzrlDHzT2EVDNYkTSOOh9toYS2/8wOhZ/iDzw1WzvTl9+/duFSRFlR25iIIwkCMjBFjoujPtm9dRZKc7lb96XgnPJ90gx9D5/Npau8FmeIpsxVrPsdNsrWT7Ufm4/QHbzf3NdwOJOO+p8hASXA2mLSXccujCGOb3QGSBQ6bCdkbS0WS7nSndUM9Vc5lMt2FeFyOCAj2e9rxC/smCUwULJSzw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YHdSPr1wQ/efzdlvQIkDyB/mcki95784iKXk7f/4wDM=; b=a++AzPUweiLTcWxQqXlKKJKy6DQ8X3DDfkqeLOeuCDJX5J+ONZNwYdDie2N5yWNsJaU+QAIQZXUnmcQbQPUmdlw40MTHwz9NRax5mDpRxlbGXjegoR6Owl88JtcAIYgw+iub6GX//Xpw7npWIa+zOpeWo0IHSV57PO+opS8NiIw= Received: from VE1PR04MB6528.eurprd04.prod.outlook.com (2603:10a6:803:127::18) by VI1PR0401MB2398.eurprd04.prod.outlook.com (2603:10a6:800:2a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3805.17; Tue, 2 Feb 2021 02:02:00 +0000 Received: from VE1PR04MB6528.eurprd04.prod.outlook.com ([fe80::80f4:b88a:e331:c1b9]) by VE1PR04MB6528.eurprd04.prod.outlook.com ([fe80::80f4:b88a:e331:c1b9%7]) with mapi id 15.20.3805.024; Tue, 2 Feb 2021 02:02:00 +0000 From: Jun Li To: Adrien Grassein Subject: RE: [PATCH 2/2] phy: fsl-imx8mq-usb: handle resettable hubs Thread-Topic: [PATCH 2/2] phy: fsl-imx8mq-usb: handle resettable hubs Thread-Index: AQHW9cK/Xd4v6w/EQUeck/DTUwmxaKpEIBQQ Date: Tue, 2 Feb 2021 02:01:59 +0000 Message-ID: References: <20210128221255.2673992-1-adrien.grassein@gmail.com> <20210128221255.2673992-2-adrien.grassein@gmail.com> In-Reply-To: <20210128221255.2673992-2-adrien.grassein@gmail.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nxp.com; x-originating-ip: [119.31.174.71] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: bb854fae-c16e-4d2d-7d04-08d8c71e8714 x-ms-traffictypediagnostic: VI1PR0401MB2398: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 4tk/fWaWCjiyi2GypCe4UKncO1aXAtbU7LV+rk+deHzL90AwCWr//nO91B5Fz2kpdDtZLC4bctVXVsG6d8W2YP15bAUGHs9NXH/hFRZLgNpClDRLSh6U/inQaeSc11Y2rDzPcanzPeTAfQmfmwTNRf/ukBpyNakn8dHRCoMB63pFwb3mopeXlYMfzpfXm/qyGHD2S87LtDDc+U7I/WWao1NKgrUIleRLSa/TTx6fsDD8uaSIqC+TEDYkOPQJbAbCddcJWIbDTl27OIkxwTyLWFVMdDGObtRCxGTD6P8s49u2RMjP22wU71e59PXbkpJ8U/wTycwSrM5jw0yiUKH1BAIv2qAoaKozrjL+zANQOw/pJFlJz2GvKZzcC1jSKCZINShLvStthpywT3CZbx3b551QqQBrB0Qw7GMCb2YLtosCR2lIa7+luRaDFftPJgXukY4QVc5pYTIKOa2gUMEp2vF6sFPFfvBPWbdtcwYifpVdDoEm/KJbgQ0tLAAPBDh5Kr4jil3BkGNzWK+SxdeuzQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VE1PR04MB6528.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(366004)(136003)(346002)(39850400004)(376002)(66446008)(86362001)(8936002)(6916009)(4326008)(2906002)(9686003)(186003)(5660300002)(478600001)(8676002)(26005)(33656002)(66946007)(64756008)(6506007)(52536014)(66556008)(66476007)(71200400001)(316002)(7416002)(44832011)(7696005)(54906003)(76116006)(55016002)(83380400001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?yWqlxQZ38rHnKSBcqX6Fijgjr/tn9UOpV2UmLAi6/cCGNBiYDFX/YOyvI5o+?= =?us-ascii?Q?C0gEt1nJIGKXZSVHTzPS+XU/sXm7XTe9bzn2bwk3+yQh1Bi0BDZzHVPYPGdg?= =?us-ascii?Q?XGfjd14EiNCwzv0zOUSPWsfFgrepRyIIyC/nAbMGGYeQl58w+dMmx11U0kbe?= =?us-ascii?Q?sOcZWCBcl2NEOM8eaXrNUVsmLvSXwD5GRqW3l8JddZKAcn/9GoUSMQCRL9CH?= =?us-ascii?Q?noH527iWTVl3iGpIFSbt6vomPLCeN7+Ozs2SSeD+BW/ZMRprk2gd5GcFDMG4?= =?us-ascii?Q?gjejbwuR99+abTpU+KBhTHtWmVOHXKeVEJq9ghJmN+26P13QqeTOeKTcbqqw?= =?us-ascii?Q?PkwBbhQ9VfZmSpOnle4df5ZN+mzIMfAGql3U+i17cM/dMYVj+3BvraTwHzjI?= =?us-ascii?Q?40og26ufDI9kXbtyEm+LIw73UqKBPCu2gxmzqnPPT0n7rsMnvqm94JVIuT8Z?= =?us-ascii?Q?5o8gabYfiqzD4CIFWIcRMIBMBFGJH70v2Qo65UC1WPGIzENpyFlPAU7SuJ0y?= =?us-ascii?Q?yA/92w3tPGkFW6Lf9zsabJuHpoLZvKgVA3pmnAwnYkSY6LGXaAR0g2IIHDW4?= =?us-ascii?Q?tGe+3j7doIs/oohxt+RY6llHf/x24XP+28y+cTvlOWTGSs5qml6WxwEvMEmv?= =?us-ascii?Q?PQDJJyeEdXDOYVwaWsm0YHCRxHgX7p9zxQbOXZkM4FN4AmQSpQ+hfJMGmzO4?= =?us-ascii?Q?6zQhIWRZ7HFreC2Sgz702cW0/rfDsIJUizR3OJHZ4saTCsYRaY4mhxQYL8qt?= =?us-ascii?Q?AK4tm0Sxkju/nU0NkbawxaY9/tgNYyZGucR9Qev9ecum1wNpM4pq+iQBFVgc?= =?us-ascii?Q?RqwpjaQZkHkU14LbaDlEEe5/OWqzEb1nrr77hMoWS3xZ/dgFFAEgewR1TSUG?= =?us-ascii?Q?QmAwNHKJSeZEXtgplHc1IUQk4Omib0os88SuMq1mFDaiiq5KQXdRReEnqVIu?= =?us-ascii?Q?J6xapFauNTgw+6YpyTi8jICtTiIbVlNdAEY7HEt2CEuVd1GscBjejO6yhm1F?= =?us-ascii?Q?K4ElVSLBGRZ7tlzW2lmXg4OMFCcZL+a1RPBaWv/tG2iEP7KVZNCmFsee+qyg?= =?us-ascii?Q?b9Lv3u78?= MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6528.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb854fae-c16e-4d2d-7d04-08d8c71e8714 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Feb 2021 02:02:00.1168 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4Zp7UhyX+bnUWaTnd67Ax/wZEHP/0oHctKW+VqicFreLzuS9ZAxlgbfmR8YLt88L X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0401MB2398 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210201_210206_548367_52846C6C X-CRM114-Status: GOOD ( 19.17 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Chen , "devicetree@vger.kernel.org" , "festevam@gmail.com" , "s.hauer@pengutronix.de" , "linux-kernel@vger.kernel.org" , "rikard.falkeborn@gmail.com" , "kishon@ti.com" , "vkoul@kernel.org" , "robh+dt@kernel.org" , dl-linux-imx , "kernel@pengutronix.de" , "shawnguo@kernel.org" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Hi, > -----Original Message----- > From: Adrien Grassein > Sent: Friday, January 29, 2021 6:13 AM > Cc: kishon@ti.com; vkoul@kernel.org; robh+dt@kernel.org; shawnguo@kernel.org; > s.hauer@pengutronix.de; kernel@pengutronix.de; festevam@gmail.com; dl-linux-imx > ; rikard.falkeborn@gmail.com; Peter Chen ; > Jun Li ; linux-kernel@vger.kernel.org; > devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; Adrien > Grassein > Subject: [PATCH 2/2] phy: fsl-imx8mq-usb: handle resettable hubs > > Add an optional GPIO in the dtb description that will be used to reset the connected > hub (if any). Put the external usb device reset in host phy driver, this may not the right way, there was some attempts to handle this case(on board hub), I am not sure what's the status now. Li Jun > > Signed-off-by: Adrien Grassein > --- > drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c > b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c > index a29b4a6f7c24..00abf7814fe9 100644 > --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c > +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c > @@ -4,6 +4,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -36,6 +37,7 @@ struct imx8mq_usb_phy { > struct clk *clk; > void __iomem *base; > struct regulator *vbus; > + struct gpio_desc *reset_gpio; > }; > > static int imx8mq_usb_phy_init(struct phy *phy) @@ -111,6 +113,9 @@ static int > imx8mq_phy_power_on(struct phy *phy) > if (ret) > return ret; > > + if (imx_phy->reset_gpio) > + gpiod_set_value_cansleep(imx_phy->reset_gpio, 0); > + > return clk_prepare_enable(imx_phy->clk); } > > @@ -120,6 +125,8 @@ static int imx8mq_phy_power_off(struct phy *phy) > > clk_disable_unprepare(imx_phy->clk); > regulator_disable(imx_phy->vbus); > + if (imx_phy->reset_gpio) > + gpiod_set_value_cansleep(imx_phy->reset_gpio, 1); > > return 0; > } > @@ -153,6 +160,7 @@ static int imx8mq_usb_phy_probe(struct platform_device *pdev) > struct device *dev = &pdev->dev; > struct imx8mq_usb_phy *imx_phy; > const struct phy_ops *phy_ops; > + int ret; > > imx_phy = devm_kzalloc(dev, sizeof(*imx_phy), GFP_KERNEL); > if (!imx_phy) > @@ -180,6 +188,15 @@ static int imx8mq_usb_phy_probe(struct platform_device *pdev) > if (IS_ERR(imx_phy->vbus)) > return PTR_ERR(imx_phy->vbus); > > + imx_phy->reset_gpio = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH); > + if (IS_ERR(imx_phy->reset_gpio)) { > + ret = PTR_ERR(imx_phy->reset_gpio); > + if (ret == -ENXIO || ret == -ENODEV) > + imx_phy->reset_gpio = NULL; > + else > + return PTR_ERR(imx_phy->reset_gpio); > + } > + > phy_set_drvdata(imx_phy->phy, imx_phy); > > phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); > -- > 2.25.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel