linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: rogerq@ti.com (Roger Quadros)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 03/21] ARM: OMAP2+: omap4panda: Adapt to ehci-omap changes
Date: Wed, 20 Mar 2013 17:44:42 +0200	[thread overview]
Message-ID: <1363794300-31526-4-git-send-email-rogerq@ti.com> (raw)
In-Reply-To: <1363794300-31526-1-git-send-email-rogerq@ti.com>

Use usbhs_init_phys() to register the PHY's VCC and RESET
regulators and the NOP PHY device.

Get rid of managing the PHY clock as it will be done by the PHY driver.
For that to work we create a clock alias that links the PHY clock name
to the PHY device name.

Signed-off-by: Roger Quadros <rogerq@ti.com>
---
 arch/arm/mach-omap2/board-omap4panda.c |   55 ++++++++++++-------------------
 1 files changed, 21 insertions(+), 34 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index b02c2f0..a71ad34 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -31,6 +31,7 @@
 #include <linux/ti_wilink_st.h>
 #include <linux/usb/musb.h>
 #include <linux/usb/phy.h>
+#include <linux/usb/nop-usb-xceiv.h>
 #include <linux/wl12xx.h>
 #include <linux/irqchip/arm-gic.h>
 #include <linux/platform_data/omap-abe-twl6040.h>
@@ -132,6 +133,22 @@ static struct platform_device btwilink_device = {
 	.id	= -1,
 };
 
+/* PHY device on HS USB Port 1 i.e. nop_usb_xceiv.1 */
+static struct nop_usb_xceiv_platform_data hsusb1_phy_data = {
+	/* FREF_CLK3 provides the 19.2 MHz reference clock to the PHY */
+	.clk_rate = 19200000,
+};
+
+static struct usbhs_phy_data phy_data[] __initdata = {
+	{
+		.port = 1,
+		.reset_gpio = GPIO_HUB_NRESET,
+		.vcc_gpio = GPIO_HUB_POWER,
+		.vcc_polarity = 1,
+		.platform_data = &hsusb1_phy_data,
+	},
+};
+
 static struct platform_device *panda_devices[] __initdata = {
 	&leds_gpio,
 	&wl1271_device,
@@ -142,49 +159,19 @@ static struct platform_device *panda_devices[] __initdata = {
 
 static struct usbhs_omap_platform_data usbhs_bdata __initdata = {
 	.port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
-	.port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED,
-	.port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,
-	.phy_reset  = false,
-	.reset_gpio_port[0]  = -EINVAL,
-	.reset_gpio_port[1]  = -EINVAL,
-	.reset_gpio_port[2]  = -EINVAL
-};
-
-static struct gpio panda_ehci_gpios[] __initdata = {
-	{ GPIO_HUB_POWER,	GPIOF_OUT_INIT_LOW,  "hub_power"  },
-	{ GPIO_HUB_NRESET,	GPIOF_OUT_INIT_LOW,  "hub_nreset" },
 };
 
 static void __init omap4_ehci_init(void)
 {
 	int ret;
-	struct clk *phy_ref_clk;
 
 	/* FREF_CLK3 provides the 19.2 MHz reference clock to the PHY */
-	phy_ref_clk = clk_get(NULL, "auxclk3_ck");
-	if (IS_ERR(phy_ref_clk)) {
-		pr_err("Cannot request auxclk3\n");
-		return;
-	}
-	clk_set_rate(phy_ref_clk, 19200000);
-	clk_prepare_enable(phy_ref_clk);
-
-	/* disable the power to the usb hub prior to init and reset phy+hub */
-	ret = gpio_request_array(panda_ehci_gpios,
-				 ARRAY_SIZE(panda_ehci_gpios));
-	if (ret) {
-		pr_err("Unable to initialize EHCI power/reset\n");
-		return;
-	}
-
-	gpio_export(GPIO_HUB_POWER, 0);
-	gpio_export(GPIO_HUB_NRESET, 0);
-	gpio_set_value(GPIO_HUB_NRESET, 1);
+	ret = clk_add_alias("main_clk", "nop_usb_xceiv.1", "auxclk3_ck", NULL);
+	if (ret)
+		pr_err("Failed to add main_clk alias to auxclk3_ck\n");
 
+	usbhs_init_phys(phy_data, ARRAY_SIZE(phy_data));
 	usbhs_init(&usbhs_bdata);
-
-	/* enable power to hub */
-	gpio_set_value(GPIO_HUB_POWER, 1);
 }
 
 static struct omap_musb_board_data musb_board_data = {
-- 
1.7.4.1

  parent reply	other threads:[~2013-03-20 15:44 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-20 15:44 [PATCH v4 00/21] ARM: OMAP2+: Adapt to ehci-omap changes for 3.10 Roger Quadros
2013-03-20 15:44 ` [PATCH v4 01/21] usb: phy: nop: Add some parameters to platform data Roger Quadros
2013-03-20 15:55   ` Felipe Balbi
2013-03-20 16:13     ` Tony Lindgren
2013-03-20 16:19       ` Felipe Balbi
2013-04-02 17:21         ` Tony Lindgren
2013-04-03 14:53           ` Roger Quadros
2013-03-20 15:44 ` [PATCH v4 02/21] ARM: OMAP2+: omap-usb-host: Add usbhs_init_phys() Roger Quadros
2013-03-20 15:44 ` Roger Quadros [this message]
2013-03-20 15:44 ` [PATCH v4 04/21] ARM: OMAP3: Beagle: Adapt to ehci-omap changes Roger Quadros
2013-03-20 15:44 ` [PATCH v4 05/21] ARM: OMAP3: 3430SDP: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 06/21] ARM: OMAP3: 3630SDP: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 07/21] ARM: OMAP: AM3517crane: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 08/21] ARM: OMAP: AM3517evm: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 09/21] ARM: OMAP3: cm-t35: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 10/21] ARM: OMAP3: cm-t3517: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 11/21] ARM: OMAP: devkit8000: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 12/21] ARM: OMAP3: igep0020: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 13/21] ARM: OMAP3: omap3evm: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 14/21] ARM: OMAP3: omap3pandora: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 15/21] ARM: OMAP3: omap3stalker: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 16/21] ARM: OMAP3: omap3touchbook: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 17/21] ARM: OMAP3: overo: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 18/21] ARM: OMAP: zoom: " Roger Quadros
2013-03-20 15:44 ` [PATCH v4 19/21] ARM: dts: OMAP4: Add HS USB Host IP nodes Roger Quadros
2013-03-20 15:44 ` [PATCH v4 20/21] ARM: dts: OMAP3: " Roger Quadros
2013-03-20 15:45 ` [PATCH v4 21/21] ARM: dts: omap3-beagle: Add USB Host support Roger Quadros
2013-04-05  8:30 ` [PATCH v4 00/21] ARM: OMAP2+: Adapt to ehci-omap changes for 3.10 Benoit Cousson
2013-04-05  9:56   ` Benoit Cousson
2013-04-05 15:43     ` Tony Lindgren
2013-04-08 12:06       ` Benoit Cousson
2013-04-08 17:09         ` Tony Lindgren

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=1363794300-31526-4-git-send-email-rogerq@ti.com \
    --to=rogerq@ti.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).