From patchwork Tue Dec 15 06:28:42 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Chen X-Patchwork-Id: 7851701 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 45C1B9F1C2 for ; Tue, 15 Dec 2015 06:35:01 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 5B96C203AE for ; Tue, 15 Dec 2015 06:35:00 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 502B3203EB for ; Tue, 15 Dec 2015 06:34:59 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1a8jAq-0000sH-1I; Tue, 15 Dec 2015 06:33:24 +0000 Received: from mail-by2on0125.outbound.protection.outlook.com ([207.46.100.125] helo=na01-by2-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1a8jAl-0000nI-Ty for linux-arm-kernel@lists.infradead.org; Tue, 15 Dec 2015 06:33:20 +0000 Received: from BY2PR03CA061.namprd03.prod.outlook.com (10.141.249.34) by BLUPR03MB1346.namprd03.prod.outlook.com (10.163.80.24) with Microsoft SMTP Server (TLS) id 15.1.355.16; Tue, 15 Dec 2015 06:32:57 +0000 Received: from BL2FFO11OLC011.protection.gbl (2a01:111:f400:7c09::173) by BY2PR03CA061.outlook.office365.com (2a01:111:e400:2c5d::34) with Microsoft SMTP Server (TLS) id 15.1.355.16 via Frontend Transport; Tue, 15 Dec 2015 06:32:56 +0000 Authentication-Results: spf=permerror (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; linaro.org; dkim=none (message not signed) header.d=none; linaro.org; dmarc=none action=none header.from=freescale.com; Received-SPF: PermError (protection.outlook.com: domain of freescale.com used an invalid SPF mechanism) Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11OLC011.mail.protection.outlook.com (10.173.160.157) with Microsoft SMTP Server (TLS) id 15.1.346.13 via Frontend Transport; Tue, 15 Dec 2015 06:32:56 +0000 Received: from shlinux2 (shlinux2.ap.freescale.net [10.192.224.44]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id tBF6WmdB005679; Mon, 14 Dec 2015 23:32:50 -0700 Date: Tue, 15 Dec 2015 14:28:42 +0800 From: Peter Chen To: Fabio Estevam Subject: Re: [PATCH v2 0/3] USB: add generic onboard USB HUB driver Message-ID: <20151215062821.GA11241@shlinux2> References: <1450077974-22762-1-git-send-email-peter.chen@freescale.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC011; 1:KBKZSblHHxLIvr+YIF07ofER713qJvZA7Y4/89Lh/Q7kCk9lnIjl0Ssj0w/QI9gB4RTLsxGMj8CxbI76VikcvKBOTq9WXUIiO+2V+MVMAg1hYFyvv657VUq19fhl5xDAWrM5io2cVU1Kv25ktzufFxs1/HzH5r+2CQ/h50beDk9YhISfzWmE/Hht+OdcC+ZUTzRSgzc6HKN7UzjHlg5gwesllJQ/KkoIh7O/M9hco0JrfODugkSn/s6M9HoeeeX5aW0rWx2lmF9vdCvCFx6RhAIiaD/5CChysP2q8P+FQLKRWBcAE5/1Gfh9hdFj4imzflStihTGs3wCs8gp1u/YTDs5T8DuUuzLrxdfV2Fy+b68igPlhLB5fKFi4YyKohKcdrl7bBpg4N5YtPu8L3H6RbeXUvcqzgW551d+IgD5xjw= X-Forefront-Antispam-Report: CIP:192.88.168.50; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(448002)(199003)(53754006)(377454003)(24454002)(164054003)(189002)(50466002)(86362001)(110136002)(6806005)(50986999)(5008740100001)(33656002)(2950100001)(104016004)(23726003)(47776003)(92566002)(575784001)(5001960100002)(83506001)(33716001)(77096005)(76176999)(15975445007)(54356999)(586003)(87936001)(19580395003)(4001350100001)(1411001)(1220700001)(19580405001)(46406003)(106466001)(85326001)(1096002)(97736004)(11100500001)(97756001)(1076002)(189998001)(81156007)(41533002)(217873001); DIR:OUT; SFP:1102; SCL:1; SRVR:BLUPR03MB1346; H:tx30smr01.am.freescale.net; FPR:; SPF:PermError; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB1346; 2:ROlpy/2ZUZTIwp3qFubNnIw/mjya8KyVQbCZByyj9LBBO4aPCoXfzHRhAFYk4eV8q0+uclo4XnxHrAcRh8NSQdR37wa5b95z2NJjNqFbvXmRUS1AS8lyPq0ITyTEvVTTUtadnAF38HjfGJC++v7Kbw==; 3:xxTiEzdUrhq3Lv8aa4ifCQKKmJb/kwEgXMjZQQ+b8b/d5vyMIJygaHQjsrvdNhlClRPs26zCCTpOgpa19OKCk269zYY+ED0BoxjTYbeM8A9r5PNoNl0RRz9htoKAfvpL1D3n/Prfm6fz4lgnAVPG+XI610wMwtHPa0DSnU20w9vqQp8HTbQdxopJP658ekfh4dkXa2nl1/JzuwYr/f3I2D0vsSJHwWeR5W7KlBTo2Uc=; 25:sJxCxFUqmFWUd9D8atboyh+IH5RL70kiCm8BHLQlmSn4u/1VodRUfkJgQLqwxMltIcIwRZWtprU/DVXgox6pW6Clqk+2VodmkwocLAQPjSLv16jAv7ohAbd2T/iKQ6MPeAevGhmf0ula/11+ENXsEwHhGx+uLzKPdIwES3kyZIttnbEHsdKofzdY5KoWzv24gDEtoIOdcYJoIr7CmIwBli/HQ7mRy7q8759hoVYH9gsn+foFUXdEG+TqwX1Ki6oI1mDAfz0oU8xKwCOK7WeecA== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB1346; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB1346; 20:5b9NsFINYxXcPTGg4ND9gGVfZ3602qpjF98jYuBlR/m+I0K4WSScQnxcAibERnET3IDKa443HW6Zbg4PiTROBYA8EqAe15b4weS+rVigzPKHVm7/QBXsX5YFKJF1Sks3/iVmN0f9ATEzRaOmOhI/DK9/9OpGLTYd9BOUNU+creuvS+SEm93FlJ9u+zp+ZRwhlJzF4CDMalpwMs4zZx0gGE9ACz+h9Z4NrCwPa+gJ3AicBR5UXxrkkizavTEiWoyKGBCgebs34D3bdNRmWqjP/50lOty9Bh+OQl+AdveluqeAqodd8aP8YyfeiIAo6O5tQW7PZV8y9L7GcMgIpKrj4QtHO4H5Dqqg6pnu1CBtTGY=; 4:tHSSIJ/KRghMpkVJGXH/Q05aEdj1ByIZpGTcH7kEnp5pT5je2fVgKqxziT0QLDd786Tzmyc9qsw1gwHUbDve3+UvxEjoDmHQcKbZ5gh00DpnGZNtOU/6UpxEg8xBmL3NNCMlEiYQW2zUDkZFjQepciB1UfOT7J8tkWE5enCwlkfIkx2YRNLPAvAeFOfguPem5T4+hYz9POB6+mWByt+6YW6XrPW+MoX/WobfexXa5Oc8/Uyp+N+uBYulWj1EvkikB/+ZkFEZKJWdt5nPulfL/6roKt5GbNqg5oDE7XYiqaS0QlGpITe01ZGiXLVcB9RylQ+Ifrh79usJSWYTlEKn2pO8xi5i/uIewY9fDOUht8eXog8jBU6abD2bD4xIco85gTeLuznccbDbV5+0iXumpZysVoDaExg8nIQWfThO381YjY3UAg3uh0FoHSbLgi7M X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(10201501046); SRVR:BLUPR03MB1346; BCL:0; PCL:0; RULEID:; SRVR:BLUPR03MB1346; X-Forefront-PRVS: 07915F544A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB1346; 23:yb91jL+DEeJuiem0fXLuGQgIPuVZpiOd1QayqMO2w?= =?us-ascii?Q?Y3XqQxrn9zGzFpzChY9O/LcxBXEzzoz4fHZPDpuVXK1bk1Yrs2+XOZkC1A+I?= =?us-ascii?Q?X2wJ8K2pMSxpIoLXiGiRq/eb7xFEcijrEfFV/cuIZJ84TdAyZV//qIOkvNgt?= =?us-ascii?Q?KxY8B/rYO+avG980q+I2s8huvGaz19ZXMqtR4AJgprkIjBMEjOsvXdeySdD9?= =?us-ascii?Q?pdE2c7ah+No8R+F8rrF/6f+u+OtCUvhVnBfSD05s40NJCLeYnfh6HWY5jKDU?= =?us-ascii?Q?EGnuQUev/gpCbXCxBjkIEQRjMoSrgbb1crFXVRtl7uE48Z0xoHHEAqvMc5HC?= =?us-ascii?Q?HYfMJPX3MF4OcvjwaEBqwUGxdyoJ2z0XKL7ckYE/nGR7/XC90FeuQP3spXEB?= =?us-ascii?Q?RqCLMfUvTGoDFFpC+A8OFXvjx+ksiMNuPzxIUjYP3D3qTsg5gA2VYh9HKC4y?= =?us-ascii?Q?LD6NSo0c9zP+sB9mj1iVoLPv7o/CIMaJ1yOdz8L3/Ud4fffE+lyvG3d6J+nA?= =?us-ascii?Q?SjzipDjJW8p2YV47J7tW5DYMwGyprXDHcNbqht44FN0P5YHXuk6i4C1/oEff?= =?us-ascii?Q?CzPEr7NwtonmJv8j+JNEOQDgcuOvrDS8OE/Up+b6Pmj4wnheksn5rSXtCM/c?= =?us-ascii?Q?nISYpF/9Uyw4iatWBw3IRbuuFiagCfnOljORXZWWgYRCUvHiBGwILa+BI3Ql?= =?us-ascii?Q?6Nm6yvc7D3H+xTrui7nFyIkg/MDeS49weObQ6PKr7xn+qL7rZtr3+ojKz1U7?= =?us-ascii?Q?yBYjjzUWzJCcBqviVIcTMT2DfMk8rKgwwQoxUixp+B6AZcn25IK9/2aRxxJ8?= =?us-ascii?Q?oSzibD1QHc/DlGHvkY6RPD/66JpaYBMijxNfEwHm8k1v0m+Pc59+7kbbtr1T?= =?us-ascii?Q?pi4+TYUnAS2a9dbGJyKFM4GOfjCshLWE8d10eYlKxW+XnIAo/SwXQ7V50gX4?= =?us-ascii?Q?7IDf03FoH1WWtThhH3LPrEPYKXNm88qkdEJ+GE3SIbsx1V2geHpbC868uLBw?= =?us-ascii?Q?Gx3SIghb8K1dIijP0BBfLiKNbJnvH9mK+CaiwqqlsuUiWQmv7H4MY1a3TL9/?= =?us-ascii?Q?Rvs6mNi8SrZGy61hNN88/00mlz/+e8YnY2bFHYa21vGOxRoze8HDvYU8/c2+?= =?us-ascii?Q?hwoSxuyYdSfA3l2YvGv9p85IOu0hjBbixDby2EX0qawxZuYoybk9cblBQah1?= =?us-ascii?Q?RK2OFwD3tLJgxRKoeJKb8ZXyc+5Su6imNvEFDP1ITSSbAv0ISybpJLsPx4h6?= =?us-ascii?Q?Bo/F92XS8zrIpiAe7Q=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB1346; 5:1EZ/rXb+a4IVpRDq3sO7hOIjpmfiR45OAePCdMIjSVR28eaYonxDP6uWOPmaJEA/bb15Ku47ZG87Sgqdqtz+lf3aC/7e8xW0xyKHHJQsRYE/j5F+tSqQGGYkBktLGqUvj60NbZtg4lpBr9LdXJEGpQ==; 24:V6b0btnoWYKYYZmkz2jleHqYlxwJ6S60Uc03Rs6PDIlqyQ8AFcuuebsugy9assvL1wlcT9J/Qneo//25OwOzq+ofDoNjhiYR80N0huA4OmQ= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2015 06:32:56.2674 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB1346 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20151214_223320_107328_B0AFA7DF X-CRM114-Status: GOOD ( 21.61 ) X-Spam-Score: -1.9 (-) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , "devicetree@vger.kernel.org" , Philipp Zabel , Pawel Moll , Arnd Bergmann , Greg Kroah-Hartman , Mathieu Poirier , USB list , Patryk Kowalczyk , Felipe Balbi , "robh+dt@kernel.org" , Alan Stern , Sascha Hauer , Shawn Guo , "linux-arm-kernel@lists.infradead.org" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_MED, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Mon, Dec 14, 2015 at 09:26:55AM -0200, Fabio Estevam wrote: > Hi Peter, > > On Mon, Dec 14, 2015 at 5:26 AM, Peter Chen wrote: > > > Hi all, > > > > There is a known issue that the USB code can't handle USB HUB's > > external pins well, in that case, it may cause some onboard > > USB HUBs can't work since their PHY's clock or reset pin needs to > > operate. > > > > The user reported this issue at below: > > http://www.spinics.net/lists/linux-usb/msg131502.html > > > > In this patch set, I add a generic onboard USB HUB driver to > > handle this problem, the external signals will be configured > > before usb controller's initialization, it much likes we did > > it at board code before. > > > > The user needs to add this generic hub node at dts to support it. > > > > @The udoo users, help to test please. > > This is what I get with your series applied: > > [ 2.288300] usb 1-1: device descriptor read/64, error -71 > [ 2.518083] usb 1-1: new full-speed USB device number 3 using ci_hdrc > [ 2.738078] usb 1-1: device descriptor read/64, error -71 > [ 3.058078] usb 1-1: device descriptor read/64, error -71 > [ 3.288079] usb 1-1: new full-speed USB device number 4 using ci_hdrc > [ 3.768069] usb 1-1: device not accepting address 4, error -71 > [ 3.888084] usb 1-1: new full-speed USB device number 5 using ci_hdrc > [ 4.368067] usb 1-1: device not accepting address 5, error -71 > [ 4.374117] usb usb1-port1: unable to enumerate USB device Thanks, Fabio. I am afraid I forget to set gpio as output, would you please apply below patch against my original ones: diff --git a/arch/arm/boot/dts/imx6qdl-udoo.dtsi b/arch/arm/boot/dts/imx6qdl-udoo.dtsi index 64eabe2..34b0708 100644 --- a/arch/arm/boot/dts/imx6qdl-udoo.dtsi +++ b/arch/arm/boot/dts/imx6qdl-udoo.dtsi @@ -24,7 +24,7 @@ compatible = "generic-onboard-hub"; clocks = <&clks IMX6QDL_CLK_CKO>; reset-gpios = <&gpio7 12 GPIO_ACTIVE_LOW>; - reset-duration-us = <2>; + reset-duration-us = <10>; }; }; diff --git a/drivers/usb/misc/generic_onboard_hub.c b/drivers/usb/misc/generic_onboard_hub.c index 7db5b78..2f0afa7 100644 --- a/drivers/usb/misc/generic_onboard_hub.c +++ b/drivers/usb/misc/generic_onboard_hub.c @@ -89,6 +89,8 @@ static int usb_hub_generic_probe(struct platform_device *pdev) of_property_read_u32(node, "reset-duration-us", &duration_us); if (gpiod_reset) { + gpiod_direction_output(gpiod_reset, 1); + gpiod_set_value(gpiod_reset, 1); usleep_range(duration_us, duration_us + 10); gpiod_set_value(gpiod_reset, 0);