linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: chao.xie@marvell.com (Chao Xie)
To: linux-arm-kernel@lists.infradead.org
Subject: [V8 PATCH 08/16] arm: ttc_dkb: add usb support
Date: Wed, 20 Feb 2013 23:07:18 -0500	[thread overview]
Message-ID: <1361419646-9052-9-git-send-email-chao.xie@marvell.com> (raw)
In-Reply-To: <1361419646-9052-1-git-send-email-chao.xie@marvell.com>

for ttc_dkb board, add udc/otg/ehci support

Signed-off-by: Chao Xie <chao.xie@marvell.com>
---
 arch/arm/mach-mmp/ttc_dkb.c |   50 +++++++++++++++++++++++++++++++++---------
 1 files changed, 39 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c
index ce55fd8..5622092 100644
--- a/arch/arm/mach-mmp/ttc_dkb.c
+++ b/arch/arm/mach-mmp/ttc_dkb.c
@@ -18,6 +18,8 @@
 #include <linux/i2c/pca953x.h>
 #include <linux/gpio.h>
 #include <linux/mfd/88pm860x.h>
+#include <linux/usb/phy.h>
+#include <linux/usb/mv_usb2.h>
 #include <linux/platform_data/mv_usb.h>
 
 #include <asm/mach-types.h>
@@ -27,7 +29,6 @@
 #include <mach/mfp-pxa910.h>
 #include <mach/pxa910.h>
 #include <mach/irqs.h>
-#include <mach/regs-usb.h>
 
 #include "common.h"
 
@@ -158,20 +159,24 @@ static struct i2c_board_info ttc_dkb_i2c_info[] = {
 };
 
 #ifdef CONFIG_USB_SUPPORT
-#if defined(CONFIG_USB_MV_UDC) || defined(CONFIG_USB_EHCI_MV_U2O)
 
 static char *pxa910_usb_clock_name[] = {
-	[0] = "U2OCLK",
+	[0] = "usb_clk",
 };
 
+static struct mv_usb_phy_platform_data ttc_usb_phy_pdata = {
+	.clknum		= 1,
+	.clkname	= pxa910_usb_clock_name,
+};
+
+#if defined(CONFIG_USB_MV_UDC) || defined(CONFIG_USB_EHCI_MV_U2O)
+
 static struct mv_usb_platform_data ttc_usb_pdata = {
 	.clknum		= 1,
 	.clkname	= pxa910_usb_clock_name,
 	.vbus		= NULL,
 	.mode		= MV_USB_MODE_OTG,
 	.otg_force_a_bus_req = 1,
-	.phy_init	= pxa_usb_phy_init,
-	.phy_deinit	= pxa_usb_phy_deinit,
 	.set_vbus	= NULL,
 };
 #endif
@@ -198,19 +203,42 @@ static void __init ttc_dkb_init(void)
 	pxa910_add_twsi(0, NULL, ARRAY_AND_SIZE(ttc_dkb_i2c_info));
 	platform_add_devices(ARRAY_AND_SIZE(ttc_dkb_devices));
 
+#ifdef CONFIG_USB_SUPPORT
+	pxa_register_device(&pxa910_device_u2ophy, &ttc_usb_phy_pdata,
+				sizeof(ttc_usb_phy_pdata));
+#endif
+
 #ifdef CONFIG_USB_MV_UDC
-	pxa168_device_u2o.dev.platform_data = &ttc_usb_pdata;
-	platform_device_register(&pxa168_device_u2o);
+	/* for usb2 phy */
+	usb_bind_phy(pxa910_device_u2o.drv_name, MV_USB2_PHY_INDEX,
+				pxa910_device_u2ophy.drv_name);
+#ifdef CONFIG_USB_MV_OTG
+	/* for usb2 otg phy */
+	usb_bind_phy(pxa910_device_u2o.drv_name, MV_USB2_OTG_PHY_INDEX,
+				pxa910_device_u2ootg.drv_name);
+#endif
+	pxa_register_device(&pxa910_device_u2o, &ttc_usb_pdata,
+				sizeof(ttc_usb_pdata));
 #endif
 
 #ifdef CONFIG_USB_EHCI_MV_U2O
-	pxa168_device_u2oehci.dev.platform_data = &ttc_usb_pdata;
-	platform_device_register(&pxa168_device_u2oehci);
+	/* for usb2 phy */
+	usb_bind_phy(pxa910_device_u2oehci.drv_name, MV_USB2_PHY_INDEX,
+				pxa910_device_u2ophy.drv_name);
+#ifdef CONFIG_USB_MV_OTG
+	/* for usb2 otg phy */
+	usb_bind_phy(pxa910_device_u2oehci.drv_name, MV_USB2_OTG_PHY_INDEX,
+				pxa910_device_u2ootg.drv_name);
+#endif
+	pxa_register_device(&pxa910_device_u2oehci, &ttc_usb_pdata,
+				sizeof(ttc_usb_pdata));
 #endif
 
 #ifdef CONFIG_USB_MV_OTG
-	pxa168_device_u2ootg.dev.platform_data = &ttc_usb_pdata;
-	platform_device_register(&pxa168_device_u2ootg);
+	usb_bind_phy(pxa910_device_u2ootg.drv_name, MV_USB2_PHY_INDEX,
+				pxa910_device_u2ophy.drv_name);
+	pxa_register_device(&pxa910_device_u2ootg, &ttc_usb_pdata,
+				sizeof(ttc_usb_pdata));
 #endif
 }
 
-- 
1.7.4.1

  parent reply	other threads:[~2013-02-21  4:07 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-21  4:07 [V8 PATCH 00/16] mv-usb phy enhancement patches Chao Xie
2013-02-21  4:07 ` [V8 PATCH 01/16] usb: phy: mv_usb2: add PHY driver for marvell usb2 controller Chao Xie
2013-03-04 14:21   ` Felipe Balbi
2013-03-05  2:03     ` Chao Xie
2013-03-05 11:04       ` Felipe Balbi
2013-03-05 16:43         ` Alan Stern
2013-03-05 17:20           ` Felipe Balbi
2013-03-06  2:11         ` Chao Xie
2013-03-06  8:10           ` Felipe Balbi
2013-03-06  8:24             ` Chao Xie
2013-03-06  8:53               ` Felipe Balbi
2013-03-06  9:02                 ` Chao Xie
2013-03-06  9:26                   ` Felipe Balbi
2013-03-06 16:48               ` Russell King - ARM Linux
2013-03-07  0:57                 ` Chao Xie
2013-03-06 16:45       ` Russell King - ARM Linux
2013-02-21  4:07 ` [V8 PATCH 02/16] usb: gadget: mv_udc: use PHY driver for udc Chao Xie
2013-03-04 14:24   ` Felipe Balbi
2013-03-05  2:11     ` Chao Xie
2013-02-21  4:07 ` [V8 PATCH 03/16] usb: ehci: ehci-mv: use PHY driver for ehci Chao Xie
2013-02-21  4:07 ` [V8 PATCH 04/16] usb: otg: mv_otg: use PHY driver for otg Chao Xie
2013-02-21  4:07 ` [V8 PATCH 05/16] arm: mmp2: change the defintion of usb devices Chao Xie
2013-02-21  4:07 ` [V8 PATCH 06/16] arm: pxa910: " Chao Xie
2013-02-21  4:07 ` [V8 PATCH 07/16] arm: brownstone: add usb support for the board Chao Xie
2013-02-21  4:07 ` Chao Xie [this message]
2013-02-21  4:07 ` [V8 PATCH 09/16] arm: mmp: remove the usb phy setting Chao Xie
2013-02-21  4:07 ` [V8 PATCH 10/16] arm: mmp: remove usb devices from pxa168 Chao Xie
2013-02-21  4:07 ` [V8 PATCH 11/16] usb: phy: mv_usb2_phy: add externel chip support Chao Xie
2013-02-21  4:07 ` [V8 PATCH 12/16] usb: gadget: mv_udc: add extern " Chao Xie
2013-02-21  4:07 ` [V8 PATCH 13/16] usb: ehci: ehci-mv: " Chao Xie
2013-02-21  4:07 ` [V8 PATCH 14/16] usb: otg: mv_otg: " Chao Xie
2013-02-21  4:07 ` [V8 PATCH 15/16] arm: mmp: add extern chip support for brownstone Chao Xie
2013-02-21  4:07 ` [V8 PATCH 16/16] arm: mmp: add extern chip support for ttc_dkb Chao Xie
2013-02-21  8:04 ` [V8 PATCH 00/16] mv-usb phy enhancement patches Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1361419646-9052-9-git-send-email-chao.xie@marvell.com \
    --to=chao.xie@marvell.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).