linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] omap4: pandaboard: machine cleanups
@ 2010-10-06 21:20 David Anders
  2010-10-06 21:20 ` [PATCH 1/4] omap4: pandaboard: remove unused hsmmc definition David Anders
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: David Anders @ 2010-10-06 21:20 UTC (permalink / raw)
  To: linux-arm-kernel

PandaBoard machine file related cleanups.

David Anders (4):
  omap4: pandaboard: remove unused hsmmc definition
  omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set
  omap4: pandaboard: Adding card detect support for MMC1
  omap4: pandaboard: enable the ehci port on pandaboard

 arch/arm/mach-omap2/board-omap4panda.c |   76 +++++++++++++++++++++++++++++---
 1 files changed, 69 insertions(+), 7 deletions(-)

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

* [PATCH 1/4] omap4: pandaboard: remove unused hsmmc definition
  2010-10-06 21:20 [PATCH 0/4] omap4: pandaboard: machine cleanups David Anders
@ 2010-10-06 21:20 ` David Anders
  2010-10-06 21:20 ` [PATCH 2/4] omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set David Anders
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: David Anders @ 2010-10-06 21:20 UTC (permalink / raw)
  To: linux-arm-kernel

remove the second hsmmc definition as it is only used on the
expansion header of the PandaBoard and can be mux for other
functions.

Signed-off-by: David Anders <x0132446@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
---
 arch/arm/mach-omap2/board-omap4panda.c |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 96f5bbb..093d13b 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -67,10 +67,6 @@ static struct regulator_consumer_supply omap4_panda_vmmc_supply[] = {
 		.supply = "vmmc",
 		.dev_name = "mmci-omap-hs.0",
 	},
-	{
-		.supply = "vmmc",
-		.dev_name = "mmci-omap-hs.1",
-	},
 };
 
 static int omap4_twl6030_hsmmc_late_init(struct device *dev)
@@ -156,7 +152,7 @@ static struct regulator_init_data omap4_panda_vmmc = {
 					| REGULATOR_CHANGE_MODE
 					| REGULATOR_CHANGE_STATUS,
 	},
-	.num_consumer_supplies  = 2,
+	.num_consumer_supplies  = 1,
 	.consumer_supplies      = omap4_panda_vmmc_supply,
 };
 
-- 
1.7.0.4

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

* [PATCH 2/4] omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set
  2010-10-06 21:20 [PATCH 0/4] omap4: pandaboard: machine cleanups David Anders
  2010-10-06 21:20 ` [PATCH 1/4] omap4: pandaboard: remove unused hsmmc definition David Anders
@ 2010-10-06 21:20 ` David Anders
  2010-10-07 11:15   ` Sergei Shtylyov
  2010-10-06 21:20 ` [PATCH 3/4] omap4: pandaboard: Adding card detect support for MMC1 David Anders
  2010-10-06 21:20 ` [PATCH 4/4] omap4: pandaboard: enable the ehci port on pandaboard David Anders
  3 siblings, 1 reply; 6+ messages in thread
From: David Anders @ 2010-10-06 21:20 UTC (permalink / raw)
  To: linux-arm-kernel

Avoid possible crash if CONFIG_MMC_OMAP_HS is not set.

Signed-off-by: David Anders <x0132446@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
---
 arch/arm/mach-omap2/board-omap4panda.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 093d13b..697c0bd 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -85,7 +85,14 @@ static int omap4_twl6030_hsmmc_late_init(struct device *dev)
 
 static __init void omap4_twl6030_hsmmc_set_late_init(struct device *dev)
 {
-	struct omap_mmc_platform_data *pdata = dev->platform_data;
+	struct omap_mmc_platform_data *pdata;
+
+	/* dev can be null if CONFIG_MMC_OMAP_HS is not set */
+	if (!dev) {
+		pr_err("Failed omap4_twl6030_hsmmc_set_late_init\n");
+		return;
+	}
+	pdata = dev->platform_data;
 
 	pdata->init =	omap4_twl6030_hsmmc_late_init;
 }
-- 
1.7.0.4

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

* [PATCH 3/4] omap4: pandaboard: Adding card detect support for MMC1
  2010-10-06 21:20 [PATCH 0/4] omap4: pandaboard: machine cleanups David Anders
  2010-10-06 21:20 ` [PATCH 1/4] omap4: pandaboard: remove unused hsmmc definition David Anders
  2010-10-06 21:20 ` [PATCH 2/4] omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set David Anders
@ 2010-10-06 21:20 ` David Anders
  2010-10-06 21:20 ` [PATCH 4/4] omap4: pandaboard: enable the ehci port on pandaboard David Anders
  3 siblings, 0 replies; 6+ messages in thread
From: David Anders @ 2010-10-06 21:20 UTC (permalink / raw)
  To: linux-arm-kernel

Adding card detect callback function and card detect configuration
function for MMC1 Controller.

Signed-off-by: David Anders <x0132446@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
---

patch depends on https://patchwork.kernel.org/patch/189952/

 arch/arm/mach-omap2/board-omap4panda.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 697c0bd..94e819c 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -77,9 +77,14 @@ static int omap4_twl6030_hsmmc_late_init(struct device *dev)
 	struct omap_mmc_platform_data *pdata = dev->platform_data;
 
 	/* Setting MMC1 Card detect Irq */
-	if (pdev->id == 0)
+	if (pdev->id == 0) {
+		ret = twl6030_mmc_card_detect_config();
+		if (ret)
+			pr_err("Failed configuring MMC1 card detect\n");
 		pdata->slots[0].card_detect_irq = TWL6030_IRQ_BASE +
 						MMCDETECT_INTR_OFFSET;
+		pdata->slots[0].card_detect = twl6030_mmc_card_detect;
+	}
 	return ret;
 }
 
-- 
1.7.0.4

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

* [PATCH 4/4] omap4: pandaboard: enable the ehci port on pandaboard
  2010-10-06 21:20 [PATCH 0/4] omap4: pandaboard: machine cleanups David Anders
                   ` (2 preceding siblings ...)
  2010-10-06 21:20 ` [PATCH 3/4] omap4: pandaboard: Adding card detect support for MMC1 David Anders
@ 2010-10-06 21:20 ` David Anders
  3 siblings, 0 replies; 6+ messages in thread
From: David Anders @ 2010-10-06 21:20 UTC (permalink / raw)
  To: linux-arm-kernel

The OMAP4 PandaBoard has EHCI port1 hooked up to an external
SMSC3320 transciever. GPIO 1 is used to power on the transceiver
and GPIO 62 for reset on the transceiver.

Signed-off-by: David Anders <x0132446@ti.com>
Signed-off-by: Anand Gadiyar <gadiyar@ti.com>
---
 arch/arm/mach-omap2/board-omap4panda.c |   54 ++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index 94e819c..6163a59 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -39,6 +39,8 @@
 #include <plat/mmc.h>
 #include "hsmmc.h"
 
+#define GPIO_HUB_POWER		1
+#define GPIO_HUB_NRESET		62
 
 static void __init omap4_panda_init_irq(void)
 {
@@ -280,6 +282,57 @@ static int __init omap4_panda_i2c_init(void)
 	omap_register_i2c_bus(4, 400, NULL, 0);
 	return 0;
 }
+
+static const struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
+	.port_mode[0] = EHCI_HCD_OMAP_MODE_PHY,
+	.port_mode[1] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+	.port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
+	.phy_reset  = false,
+	.reset_gpio_port[0]  = -EINVAL,
+	.reset_gpio_port[1]  = -EINVAL,
+	.reset_gpio_port[2]  = -EINVAL
+};
+
+static void __init omap4_ehci_init(void)
+{
+	int ret;
+
+
+	/* disable the power to the usb hub prior to init */
+	ret = gpio_request(GPIO_HUB_POWER, "hub_power");
+	if (ret) {
+		pr_err("Cannot request GPIO %d\n", GPIO_HUB_POWER);
+		goto error1;
+	}
+	gpio_export(GPIO_HUB_POWER, 0);
+	gpio_direction_output(GPIO_HUB_POWER, 0);
+	gpio_set_value(GPIO_HUB_POWER, 0);
+
+	/* reset phy+hub */
+	ret = gpio_request(GPIO_HUB_NRESET, "hub_nreset");
+	if (ret) {
+		pr_err("Cannot request GPIO %d\n", GPIO_HUB_NRESET);
+		goto error2;
+	}
+	gpio_export(GPIO_HUB_NRESET, 0);
+	gpio_direction_output(GPIO_HUB_NRESET, 0);
+	gpio_set_value(GPIO_HUB_NRESET, 0);
+	gpio_set_value(GPIO_HUB_NRESET, 1);
+
+	usb_ehci_init(&ehci_pdata);
+
+	/* enable power to hub */
+	gpio_set_value(GPIO_HUB_POWER, 1);
+	return;
+
+error2:
+	gpio_free(GPIO_HUB_POWER);
+error1:
+	pr_err("Unable to initialize EHCI power/reset\n");
+	return;
+
+}
+
 static void __init omap4_panda_init(void)
 {
 	omap4_panda_i2c_init();
@@ -287,6 +340,7 @@ static void __init omap4_panda_init(void)
 	omap4_twl6030_hsmmc_init(mmc);
 	/* OMAP4 Panda uses internal transceiver so register nop transceiver */
 	usb_nop_xceiv_register();
+	omap4_ehci_init();
 	/* FIXME: allow multi-omap to boot until musb is updated for omap4 */
 	if (!cpu_is_omap44xx())
 		usb_musb_init(&musb_board_data);
-- 
1.7.0.4

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

* [PATCH 2/4] omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set
  2010-10-06 21:20 ` [PATCH 2/4] omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set David Anders
@ 2010-10-07 11:15   ` Sergei Shtylyov
  0 siblings, 0 replies; 6+ messages in thread
From: Sergei Shtylyov @ 2010-10-07 11:15 UTC (permalink / raw)
  To: linux-arm-kernel

Hello.

On 07-10-2010 1:20, David Anders wrote:

> Avoid possible crash if CONFIG_MMC_OMAP_HS is not set.

> Signed-off-by: David Anders<x0132446@ti.com>
> Signed-off-by: Anand Gadiyar<gadiyar@ti.com>
[...]

> diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
> index 093d13b..697c0bd 100644
> --- a/arch/arm/mach-omap2/board-omap4panda.c
> +++ b/arch/arm/mach-omap2/board-omap4panda.c
> @@ -85,7 +85,14 @@ static int omap4_twl6030_hsmmc_late_init(struct device *dev)
>
>   static __init void omap4_twl6030_hsmmc_set_late_init(struct device *dev)
>   {
> -	struct omap_mmc_platform_data *pdata = dev->platform_data;
> +	struct omap_mmc_platform_data *pdata;
> +
> +	/* dev can be null if CONFIG_MMC_OMAP_HS is not set */

    s/null/NULL/?

> +	if (!dev) {
> +		pr_err("Failed omap4_twl6030_hsmmc_set_late_init\n");

    pr_err("Failed %s\n", __func__);

WBR, Sergei

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

end of thread, other threads:[~2010-10-07 11:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-06 21:20 [PATCH 0/4] omap4: pandaboard: machine cleanups David Anders
2010-10-06 21:20 ` [PATCH 1/4] omap4: pandaboard: remove unused hsmmc definition David Anders
2010-10-06 21:20 ` [PATCH 2/4] omap4: pandaboard: Fix the init if CONFIG_MMC_OMAP_HS is not set David Anders
2010-10-07 11:15   ` Sergei Shtylyov
2010-10-06 21:20 ` [PATCH 3/4] omap4: pandaboard: Adding card detect support for MMC1 David Anders
2010-10-06 21:20 ` [PATCH 4/4] omap4: pandaboard: enable the ehci port on pandaboard David Anders

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).