aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch')
-rw-r--r--recipes/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch120
1 files changed, 120 insertions, 0 deletions
diff --git a/recipes/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch b/recipes/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch
new file mode 100644
index 0000000000..72211aace2
--- /dev/null
+++ b/recipes/linux/linux-rp-2.6.23/pxa2xx_udc_support_inverse_vbus.patch
@@ -0,0 +1,120 @@
+From dbaryshkov@gmail.com Fri Dec 7 00:05:32 2007
+Return-Path: <SRS0=7TBh+psr=Q5=lists.arm.linux.org.uk=linux-arm-kernel-bounces+openembedded=haerwu.biz@haerwu.biz>
+X-Spam-Checker-Version: SpamAssassin 3.1.7 (2006-10-05) on 3080.s.tld.pl
+X-Spam-Level:
+X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_40,SPF_FAIL
+ autolearn=disabled version=3.1.7
+Delivered-To: haerwu.biz-marcin@haerwu.biz
+Received: (qmail 3062 invoked by uid 813007); 6 Dec 2007 23:44:39 -0000
+Delivered-To: haerwu.biz-openembedded@haerwu.biz
+Received: (qmail 3048 invoked by uid 813007); 6 Dec 2007 23:44:39 -0000
+X-clamdmail: clamdmail 0.18a
+Received: from zeniv.linux.org.uk (195.92.253.2)
+ by smtp.host4.kei.pl with SMTP; 6 Dec 2007 23:44:38 -0000
+Received: from [2002:4e20:1eda:1:201:3dff:fe00:156] (helo=lists.arm.linux.org.uk)
+ by ZenIV.linux.org.uk with esmtpsa (Exim 4.63 #1 (Red Hat Linux))
+ id 1J0Pts-0004dN-KF; Thu, 06 Dec 2007 23:13:03 +0000
+Received: from localhost ([127.0.0.1] helo=lists.arm.linux.org.uk)
+ by lists.arm.linux.org.uk with esmtp (Exim 4.50)
+ id 1J0Pr7-0000cF-OJ; Thu, 06 Dec 2007 23:10:10 +0000
+Received: from mu-out-0910.google.com ([209.85.134.185])
+ by lists.arm.linux.org.uk with esmtp (Exim 4.50) id 1J0Pn3-0000bt-0E
+ for linux-arm-kernel@lists.arm.linux.org.uk;
+ Thu, 06 Dec 2007 23:06:40 +0000
+Received: by mu-out-0910.google.com with SMTP id i2so13552mue
+ for <linux-arm-kernel@lists.arm.linux.org.uk>;
+ Thu, 06 Dec 2007 15:05:40 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma;
+ h=domainkey-signature:received:received:date:to:subject:message-id:mime-version:content-type:content-disposition:user-agent:from;
+ bh=cfa4MUFsOjAsSKDax5Yk97Hu762FByFSAfUQi5KP2cc=;
+ b=aA5uLmMsFBL6uxIQjxwtR4vD/2zBfGHiN/xepdZSggrNmYu0DJ75Q8JsSqzU/z7Vh9hALIiHjCR3WeqlJqZKCBMSrANzpFN4KVunUajamxn85btZMYysQ3YuZI+DUTYPovoZhuPjmT+SUT7RFpOhwKXbs7z9J8DCgodOVS+YwEY=
+DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma;
+ h=date:to:subject:message-id:mime-version:content-type:content-disposition:user-agent:from;
+ b=oWC1DMK+88t4jXf/5sY2gvSAjKuYypZhUflAHvCNbKYn2iFzpEFoFfjcUgV+lArS06OuT/R4v4Cp87JGK1NLA/uei3fhFZwNsoHcqWkgdsOqp5dSWMZFWCCrO4ODJahoFlnsxoS6OiceJM6EKX8u3RTELEVZEnVl3H2HWM4JJh4=
+Received: by 10.82.107.15 with SMTP id f15mr9802870buc.1196982339522;
+ Thu, 06 Dec 2007 15:05:39 -0800 (PST)
+Received: from doriath.ww600.siemens.net ( [91.122.9.34])
+ by mx.google.com with ESMTPS id 5sm15474nfv.2007.12.06.15.05.37
+ (version=SSLv3 cipher=OTHER); Thu, 06 Dec 2007 15:05:38 -0800 (PST)
+Date: Fri, 7 Dec 2007 02:05:32 +0300
+To: linux-arm-kernel@lists.arm.linux.org.uk
+Message-ID: <20071206230532.GA13332@doriath.ww600.siemens.net>
+MIME-Version: 1.0
+Content-Type: text/plain;
+ charset=us-ascii
+Content-Disposition: inline
+User-Agent: Mutt/1.5.17 (2007-11-01)
+From: Dmitry Baryshkov <dbaryshkov@gmail.com>
+Subject: [PATCH 1/2] pxa2xx_udc_support_inverse_vbus.patch
+X-BeenThere: linux-arm-kernel@lists.arm.linux.org.uk
+X-Mailman-Version: 2.1.5
+Precedence: list
+List-Id: ARM Linux kernel discussions <linux-arm-kernel.lists.arm.linux.org.uk>
+List-Unsubscribe: <http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.arm.linux.org.uk?subject=unsubscribe>
+List-Archive: <http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel>
+List-Post: <mailto:linux-arm-kernel@lists.arm.linux.org.uk>
+List-Help: <mailto:linux-arm-kernel-request@lists.arm.linux.org.uk?subject=help>
+List-Subscribe: <http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel>,
+ <mailto:linux-arm-kernel-request@lists.arm.linux.org.uk?subject=subscribe>
+Sender: linux-arm-kernel-bounces@lists.arm.linux.org.uk
+Errors-To: linux-arm-kernel-bounces+openembedded=haerwu.biz+openembedded=haerwu.biz@lists.arm.linux.org.uk
+X-Length: 5827
+Status: R
+X-Status: NC
+X-KMail-EncryptionState:
+X-KMail-SignatureState:
+X-KMail-MDN-Sent:
+
+Some pxa-based boards (like e.g. tosa) have the VBUS-detection gpio pin
+inverted. I.e. it's low when VBUS is connected and high when
+disconnected. Allow specifiing whether gpio_vbus value is inverted.
+
+Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
+
+Index: linux-test/drivers/usb/gadget/pxa2xx_udc.c
+===================================================================
+--- linux-test.orig/drivers/usb/gadget/pxa2xx_udc.c 2007-12-06 12:41:25.784337009 +0300
++++ linux-test/drivers/usb/gadget/pxa2xx_udc.c 2007-12-06 13:39:33.504345084 +0300
+@@ -125,8 +125,12 @@ static int is_vbus_present(void)
+ {
+ struct pxa2xx_udc_mach_info *mach = the_controller->mach;
+
+- if (mach->gpio_vbus)
+- return gpio_get_value(mach->gpio_vbus);
++ if (mach->gpio_vbus) {
++ int value = gpio_get_value(mach->gpio_vbus);
++ return mach->gpio_vbus_inverted ?
++ !value :
++ value;
++ }
+ if (mach->udc_is_connected)
+ return mach->udc_is_connected();
+ return 1;
+@@ -1396,6 +1400,9 @@ static irqreturn_t udc_vbus_irq(int irq,
+ struct pxa2xx_udc *dev = _dev;
+ int vbus = gpio_get_value(dev->mach->gpio_vbus);
+
++ if (dev->mach->gpio_vbus_inverted)
++ vbus = !vbus;
++
+ pxa2xx_udc_vbus_session(&dev->gadget, vbus);
+ return IRQ_HANDLED;
+ }
+Index: linux-test/include/asm-arm/mach/udc_pxa2xx.h
+===================================================================
+--- linux-test.orig/include/asm-arm/mach/udc_pxa2xx.h 2007-12-06 12:38:49.872349393 +0300
++++ linux-test/include/asm-arm/mach/udc_pxa2xx.h 2007-12-06 12:41:03.594903549 +0300
+@@ -22,5 +22,6 @@ struct pxa2xx_udc_mach_info {
+ */
+ u16 gpio_vbus; /* high == vbus present */
+ u16 gpio_pullup; /* high == pullup activated */
++ unsigned char gpio_vbus_inverted:1;
+ };
+
+
+-------------------------------------------------------------------
+List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
+FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
+Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
+