From patchwork Mon May 18 14:54:16 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niilo Minkkinen X-Patchwork-Id: 24558 X-Patchwork-Delegate: me@felipebalbi.com Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n4IEuKvM021028 for ; Mon, 18 May 2009 14:56:20 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750927AbZERO4R (ORCPT ); Mon, 18 May 2009 10:56:17 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751270AbZERO4R (ORCPT ); Mon, 18 May 2009 10:56:17 -0400 Received: from smtp.nokia.com ([192.100.105.134]:47466 "EHLO mgw-mx09.nokia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750927AbZERO4Q (ORCPT ); Mon, 18 May 2009 10:56:16 -0400 Received: from vaebh105.NOE.Nokia.com (vaebh105.europe.nokia.com [10.160.244.31]) by mgw-mx09.nokia.com (Switch-3.2.6/Switch-3.2.6) with ESMTP id n4IEu7Gk001660; Mon, 18 May 2009 09:56:16 -0500 Received: from vaebh104.NOE.Nokia.com ([10.160.244.30]) by vaebh105.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 18 May 2009 17:55:44 +0300 Received: from mgw-da01.ext.nokia.com ([147.243.128.24]) by vaebh104.NOE.Nokia.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.3959); Mon, 18 May 2009 17:55:43 +0300 Received: from localhost.localdomain (esdhcp04132.research.nokia.com [172.21.41.32]) by mgw-da01.ext.nokia.com (Switch-3.2.6/Switch-3.2.6) with ESMTP id n4IEtdlN029738; Mon, 18 May 2009 17:55:40 +0300 From: Niilo Minkkinen To: linux-usb@vger.kernel.org Cc: linux-omap@vger.kernel.org, tony@atomide.com, ext-niilo.1.minkkinen@nokia.com Subject: [PATCH] usb: disable OTG AUTOIDLE only with omap3430 Date: Mon, 18 May 2009 17:54:16 +0300 Message-Id: <1242658456-5723-1-git-send-email-ext-niilo.1.minkkinen@nokia.com> X-Mailer: git-send-email 1.6.0.4 X-OriginalArrivalTime: 18 May 2009 14:55:44.0285 (UTC) FILETIME=[B85614D0:01C9D7C8] X-Nokia-AV: Clean Sender: linux-omap-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-omap@vger.kernel.org Omap3 MUSB AUTOIDLE functionality configured through OTG_SYSCONFIG register prevents the device from going into retention. This is a workaround (by Richard Woodruff/TI), as his comment : > A new MUSB bug which is a match to data below was identified very > recently (on hardware and in simulation). > This bug is in 3430 and not 3630. > As a priority test (and as new default) you should have engineers > disable autoidle for MUSB block. > This is the workaround which will show up in next errata. Signed-off-by: Niilo Minkkinen Signed-off-by: Richard Woodruff --- drivers/usb/musb/omap2430.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c index 901dffd..396fc6d 100644 --- a/drivers/usb/musb/omap2430.c +++ b/drivers/usb/musb/omap2430.c @@ -241,7 +241,12 @@ int __init musb_platform_init(struct musb *musb) l &= ~AUTOIDLE; /* disable auto idle */ l &= ~NOIDLE; /* remove possible noidle */ l |= SMARTIDLE; /* enable smart idle */ - l |= AUTOIDLE; /* enable auto idle */ + /* + * MUSB AUTOIDLE don't work in 3430. + * Workaround by Richard Woodruff/TI + */ + if (!cpu_is_omap3430()) + l |= AUTOIDLE; /* enable auto idle */ omap_writel(l, OTG_SYSCONFIG); l = omap_readl(OTG_INTERFSEL);