All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7 v4] ARM: at91: dt: add USBA support
@ 2013-05-20 16:21 ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 30+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-05-20 16:21 UTC (permalink / raw)
  To: linux-arm-kernel

HI,

	v4:
	fix multi instance support

	v3:
	rebase againt 3.10-rc1 + dt macro cleanup

	This patch serie finish to add the usb device support to dt for at91
	with the usba support present on the last at91 generation since sam9g45

The following changes since commit b3f442b0eedbc20b5ce3f4a96530588d14901199:

  ARM: at91: udpate defconfigs (2013-05-17 15:05:08 +0200)

are available in the git repository at:

  git://github.com/at91linux/linux-at91.git j/for-3.11-usba

for you to fetch changes up to 910026a08e2c2205953f2507cc11f4822998989b:

  ARM: at91: sam9m10g45ek add udc DT support (2013-05-20 23:52:17 +0800)

----------------------------------------------------------------
Jean-Christophe PLAGNIOL-VILLARD (7):
      USB: gadget: atmel_usba: move global struct usba_ep usba_ep to struct usba_udc
      USB: gadget: atmel_usba: allow multi instance
      USB: gadget: atmel_usba: add DT support
      ARM: at91: sam9x5 add udc DT support
      ARM: at91: sam9x5ek add udc DT support
      ARM: at91: sam9g45 add udc DT support
      ARM: at91: sam9m10g45ek add udc DT support

 Documentation/devicetree/bindings/usb/atmel-usb.txt |   82 ++++++++++++++++++++++++++++++
 arch/arm/boot/dts/at91sam9g45.dtsi                  |   62 +++++++++++++++++++++++
 arch/arm/boot/dts/at91sam9m10g45ek.dts              |    5 ++
 arch/arm/boot/dts/at91sam9x5.dtsi                   |   62 +++++++++++++++++++++++
 arch/arm/boot/dts/at91sam9x5ek.dtsi                 |    5 ++
 arch/arm/mach-at91/at91sam9g45.c                    |    2 +
 arch/arm/mach-at91/at91sam9x5.c                     |    2 +
 drivers/usb/gadget/Kconfig                          |    2 +-
 drivers/usb/gadget/atmel_usba_udc.c                 |  264 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------
 drivers/usb/gadget/atmel_usba_udc.h                 |    2 +
 10 files changed, 407 insertions(+), 81 deletions(-)

Best Regards,
J.

^ permalink raw reply	[flat|nested] 30+ messages in thread
* [PATCH 1/7] USB: gadget: atmel_usba: move global struct usba_ep usba_ep to struct usba_udc
@ 2013-05-20 16:25 ` Jean-Christophe PLAGNIOL-VILLARD
  0 siblings, 0 replies; 30+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-05-20 16:25 UTC (permalink / raw)
  To: linux-arm-kernel

so we can have multiple usb gadget instance

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
Cc: Nicolas Ferre <nicolas.ferre@atmel.com>
Cc: linux-usb at vger.kernel.org
---
 drivers/usb/gadget/atmel_usba_udc.c |   20 +++++++++++---------
 drivers/usb/gadget/atmel_usba_udc.h |    1 +
 2 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c
index f2a970f..d2ffd04 100644
--- a/drivers/usb/gadget/atmel_usba_udc.c
+++ b/drivers/usb/gadget/atmel_usba_udc.c
@@ -29,7 +29,6 @@
 
 
 static struct usba_udc the_udc;
-static struct usba_ep *usba_ep;
 
 #ifdef CONFIG_USB_GADGET_DEBUG_FS
 #include <linux/debugfs.h>
@@ -1147,7 +1146,7 @@ static int do_test_mode(struct usba_udc *udc)
 		 * Test_SE0_NAK: Force high-speed mode and set up ep0
 		 * for Bulk IN transfers
 		 */
-		ep = &usba_ep[0];
+		ep = &udc->usba_ep[0];
 		usba_writel(udc, TST,
 				USBA_BF(SPEED_CFG, USBA_SPEED_CFG_FORCE_HIGH));
 		usba_ep_writel(ep, CFG,
@@ -1165,7 +1164,7 @@ static int do_test_mode(struct usba_udc *udc)
 		break;
 	case 0x0400:
 		/* Test_Packet */
-		ep = &usba_ep[0];
+		ep = &udc->usba_ep[0];
 		usba_ep_writel(ep, CFG,
 				USBA_BF(EPT_SIZE, USBA_EPT_SIZE_64)
 				| USBA_EPT_DIR_IN
@@ -1668,7 +1667,7 @@ static irqreturn_t usba_udc_irq(int irq, void *devid)
 
 		for (i = 1; i < USBA_NR_ENDPOINTS; i++)
 			if (dma_status & (1 << i))
-				usba_dma_irq(udc, &usba_ep[i]);
+				usba_dma_irq(udc, &udc->usba_ep[i]);
 	}
 
 	ep_status = USBA_BFEXT(EPT_INT, status);
@@ -1677,10 +1676,10 @@ static irqreturn_t usba_udc_irq(int irq, void *devid)
 
 		for (i = 0; i < USBA_NR_ENDPOINTS; i++)
 			if (ep_status & (1 << i)) {
-				if (ep_is_control(&usba_ep[i]))
-					usba_control_irq(udc, &usba_ep[i]);
+				if (ep_is_control(&udc->usba_ep[i]))
+					usba_control_irq(udc, &udc->usba_ep[i]);
 				else
-					usba_ep_irq(udc, &usba_ep[i]);
+					usba_ep_irq(udc, &udc->usba_ep[i]);
 			}
 	}
 
@@ -1705,7 +1704,7 @@ static irqreturn_t usba_udc_irq(int irq, void *devid)
 		DBG(DBG_BUS, "%s bus reset detected\n",
 		    usb_speed_string(udc->gadget.speed));
 
-		ep0 = &usba_ep[0];
+		ep0 = &udc->usba_ep[0];
 		ep0->ep.desc = &usba_ep0_desc;
 		ep0->state = WAIT_FOR_SETUP;
 		usba_ep_writel(ep0, CFG,
@@ -1841,6 +1840,7 @@ static int __init usba_udc_probe(struct platform_device *pdev)
 	struct resource *regs, *fifo;
 	struct clk *pclk, *hclk;
 	struct usba_udc *udc = &the_udc;
+	static struct usba_ep *usba_ep;
 	int irq, ret, i;
 
 	regs = platform_get_resource(pdev, IORESOURCE_MEM, CTRL_IOMEM_ID);
@@ -1896,6 +1896,8 @@ static int __init usba_udc_probe(struct platform_device *pdev)
 	if (!usba_ep)
 		goto err_alloc_ep;
 
+	udc->usba_ep = usba_ep;
+
 	the_udc.gadget.ep0 = &usba_ep[0].ep;
 
 	INIT_LIST_HEAD(&usba_ep[0].ep.ep_list);
@@ -2008,7 +2010,7 @@ static int __exit usba_udc_remove(struct platform_device *pdev)
 	usb_del_gadget_udc(&udc->gadget);
 
 	for (i = 1; i < pdata->num_ep; i++)
-		usba_ep_cleanup_debugfs(&usba_ep[i]);
+		usba_ep_cleanup_debugfs(&udc->usba_ep[i]);
 	usba_cleanup_debugfs(udc);
 
 	if (gpio_is_valid(udc->vbus_pin)) {
diff --git a/drivers/usb/gadget/atmel_usba_udc.h b/drivers/usb/gadget/atmel_usba_udc.h
index d65a618..0841986 100644
--- a/drivers/usb/gadget/atmel_usba_udc.h
+++ b/drivers/usb/gadget/atmel_usba_udc.h
@@ -319,6 +319,7 @@ struct usba_udc {
 	int vbus_pin_inverted;
 	struct clk *pclk;
 	struct clk *hclk;
+	struct usba_ep *usba_ep;
 
 	u16 devstatus;
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2013-05-23 18:47 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-20 16:21 [PATCH 0/7 v4] ARM: at91: dt: add USBA support Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:21 ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25 ` [PATCH 1/7] USB: gadget: atmel_usba: move global struct usba_ep usba_ep to struct usba_udc Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25   ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25   ` [PATCH 2/7] USB: gadget: atmel_usba: allow multi instance Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25     ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-23 18:46     ` Felipe Balbi
2013-05-23 18:46       ` Felipe Balbi
2013-05-20 16:25   ` [PATCH 3/7] USB: gadget: atmel_usba: add DT support Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25     ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-23 18:47     ` Felipe Balbi
2013-05-23 18:47       ` Felipe Balbi
2013-05-20 16:25   ` [PATCH 4/7] ARM: at91: sam9x5 add udc " Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25     ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25   ` [PATCH 5/7] ARM: at91: sam9x5ek " Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25     ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25   ` [PATCH 6/7] ARM: at91: sam9g45 " Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25     ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:26   ` [PATCH 7/7] ARM: at91: sam9m10g45ek " Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:26     ` Jean-Christophe PLAGNIOL-VILLARD
2013-05-23  2:23   ` [PATCH 1/7] USB: gadget: atmel_usba: move global struct usba_ep usba_ep to struct usba_udc Bo Shen
2013-05-23  2:23     ` Bo Shen
2013-05-23 10:22     ` Nicolas Ferre
2013-05-23 10:22       ` Nicolas Ferre
2013-05-23 18:47   ` Felipe Balbi
2013-05-23 18:47     ` Felipe Balbi
2013-05-23  8:45 ` [PATCH 0/7 v4] ARM: at91: dt: add USBA support Jean-Christophe PLAGNIOL-VILLARD
2013-05-23  8:45   ` Jean-Christophe PLAGNIOL-VILLARD
  -- strict thread matches above, loose matches on Subject: below --
2013-05-20 16:25 [PATCH 1/7] USB: gadget: atmel_usba: move global struct usba_ep usba_ep to struct usba_udc Jean-Christophe PLAGNIOL-VILLARD
2013-05-20 16:25 ` Jean-Christophe PLAGNIOL-VILLARD

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.