Revision: 1057
http://svn.sourceforge.net/hackndev/?rev=1057&view=rev
Author: marex_z71
Date: 2007-06-23 17:56:47 -0700 (Sat, 23 Jun 2007)
Log Message:
-----------
PalmTC: USB gadget support, still a bit flaky though
Modified Paths:
--------------
linux4palm/linux/trunk/arch/arm/mach-pxa/palmtc/palmtc.c
Modified: linux4palm/linux/trunk/arch/arm/mach-pxa/palmtc/palmtc.c
===================================================================
--- linux4palm/linux/trunk/arch/arm/mach-pxa/palmtc/palmtc.c 2007-06-24 00:48:26 UTC (rev 1056)
+++ linux4palm/linux/trunk/arch/arm/mach-pxa/palmtc/palmtc.c 2007-06-24 00:56:47 UTC (rev 1057)
@@ -19,12 +19,15 @@
#include <linux/platform_device.h>
#include <linux/fb.h>
#include <linux/irq.h>
+#include <linux/delay.h>
+#include <asm/arch/pxa2xx_udc_gpio.h>
#include <asm/arch/pxa-dmabounce.h>
#include <asm/arch/pxafb.h>
#include <asm/arch/pxa-regs.h>
#include <asm/arch/pxapwm-bl.h>
#include <asm/arch/palmtc-gpio.h>
+#include <asm/arch/udc.h>
#include "../generic.h"
@@ -105,6 +108,40 @@
};
+/* USB gadget */
+static int palmtc_udc_is_connected(void)
+{
+ int ret = GET_PALMTC_GPIO(USB_DETECT);
+ if (ret)
+ printk (KERN_INFO "palmtc_udc: device detected [USB_DETECT: %d]\n",ret);
+ else
+ printk (KERN_INFO "palmtc_udc: no device detected [USB_DETECT: %d]\n",ret);
+
+ return ret;
+
+}
+
+static void palmtc_udc_command (int cmd)
+{
+ switch (cmd) {
+ case PXA2XX_UDC_CMD_DISCONNECT:
+ SET_PALMTC_GPIO(USB_POWER, 0);
+ printk(KERN_INFO "palmtc_udc: got command PXA2XX_UDC_CMD_DISCONNECT\n");
+ break;
+ case PXA2XX_UDC_CMD_CONNECT:
+ SET_PALMTC_GPIO(USB_POWER, 1);
+ printk(KERN_INFO "palmtc_udc: got command PXA2XX_UDC_CMD_CONNECT\n");
+ break;
+ default:
+ printk("palmtc_udc: unknown command '%d'\n", cmd);
+ }
+}
+
+static struct pxa2xx_udc_mach_info palmtc_udc_mach_info __initdata = {
+ .udc_is_connected = palmtc_udc_is_connected,
+ .udc_command = palmtc_udc_command,
+};
+
/* Backlight ***/
static struct pxapwmbl_platform_data palmtc_backlight_data = {
.pwm = 1,
@@ -159,6 +196,7 @@
GCR &= ~GCR_PRIRDY_IEN;
pxa_set_mci_info( &palmtc_mci_platform_data );
+ pxa_set_udc_info( &palmtc_udc_mach_info );
platform_add_devices (devices, ARRAY_SIZE (devices));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|