Hello.

On 09-10-2010 5:12, [email protected] wrote:

From: Victor Rodriguez<[email protected]>

This patch adds USB-OHCI support for the Hawkboard-L138 system
It is under the machine name "omapl138_hawkboard".
This system is based on the da850 davinci CPU architecture.

Signed-off-by: Victor Rodriguez<[email protected]>
[...]

diff --git a/arch/arm/mach-davinci/board-omapl138-hawk.c 
b/arch/arm/mach-davinci/board-omapl138-hawk.c
index ae7f75c..1864d51 100644
--- a/arch/arm/mach-davinci/board-omapl138-hawk.c
+++ b/arch/arm/mach-davinci/board-omapl138-hawk.c
[...]
@@ -170,6 +173,94 @@ static struct davinci_mmc_config da850_mmc_config = {
[...]
+static int hawk_usb_ocic_notify(da8xx_ocic_handler_t handler)
+{
+       int irq         = gpio_to_irq(DA850_USB1_OC_PIN);
+       int error       = 0;
+
+       if (handler != NULL) {
+               hawk_usb_ocic_handler = handler;
+
+               error = request_irq(irq, omapl138_hawk_usb_ocic_irq,
+                               IRQF_DISABLED | IRQF_TRIGGER_RISING |
+                               IRQF_TRIGGER_FALLING,
+                                       "OHCI over-current indicator", NULL);

   Please aling all follow-up lines, preferrably under 'irq'.

+               if (error)
+                       printk(KERN_ERR "%s: could not request IRQ to watch "
+                               "over-current indicator changes\n", __func__);
+       } else
+               free_irq(irq, NULL);
+
+       return error;
+}
+
+static struct da8xx_ohci_root_hub omapl138_hawk_usb11_pdata = {
+       .set_power      = hawk_usb_set_power,
+       .get_power      = hawk_usb_get_power,
+       .get_oci        = hawk_usb_get_oci,
+       .ocic_notify    = hawk_usb_ocic_notify,
+       /* TPS2065 switch @ 5V */
+       .potpgt         = (3 + 1) / 2,  /* 3 ms max */

   Are you really using the same power switch chip as DA830 EVM?

diff --git a/arch/arm/mach-davinci/da850.c b/arch/arm/mach-davinci/da850.c
index f033a0a..1675f41 100644
--- a/arch/arm/mach-davinci/da850.c
+++ b/arch/arm/mach-davinci/da850.c
@@ -345,6 +345,21 @@ static struct clk aemif_clk = {
        .flags          = ALWAYS_ENABLED,
  };

+static struct clk usb11_clk = {
+       .name           = "usb11",
+       .parent         = &pll0_sysclk4,
+       .lpsc           = DA8XX_LPSC1_USB11,
+       .gpsc           = 1,
+       .flags          = ALWAYS_ENABLED,
+       };
+
+static struct clk usb20_clk = {
+       .name           = "usb20",
+       .parent         = &pll0_sysclk2,
+       .lpsc           = DA8XX_LPSC1_USB20,
+       .gpsc           = 1,
+       };
+
  static struct clk_lookup da850_clks[] = {
        CLK(NULL,               "ref",                &ref_clk),
        CLK(NULL,               "pll0",               &pll0_clk),
@@ -387,6 +402,8 @@ static struct clk_lookup da850_clks[] = {
        CLK("davinci_mmc.0",  NULL,           &mmcsd0_clk),
        CLK("davinci_mmc.1",  NULL,           &mmcsd1_clk),
        CLK(NULL,               "aemif",      &aemif_clk),
+       CLK(NULL,               "usb11",      &usb11_clk),
+       CLK(NULL,               "usb20",      &usb20_clk),
        CLK(NULL,               NULL,           NULL),
  };

@@ -548,6 +565,8 @@ static const struct mux_config da850_pins[] = {
        MUX_CFG(DA850, GPIO2_15,        5,      0,      15,     8,      false)
        MUX_CFG(DA850, GPIO4_0,         10,     28,     15,     8,      false)
        MUX_CFG(DA850, GPIO4_1,         10,     24,     15,     8,      false)
+       MUX_CFG(DA850, GPIO2_4,         6,      12,     15,     8,      false)
+       MUX_CFG(DA850, GPIO6_13,        13,     8,      15,     8,      false)
        MUX_CFG(DA850, RTC_ALARM,       0,      28,     15,     2,      false)
  #endif
  };
diff --git a/arch/arm/mach-davinci/include/mach/mux.h 
b/arch/arm/mach-davinci/include/mach/mux.h
index de11aac..e2985e6 100644
--- a/arch/arm/mach-davinci/include/mach/mux.h
+++ b/arch/arm/mach-davinci/include/mach/mux.h
@@ -913,6 +913,8 @@ enum davinci_da850_index {
        DA850_GPIO2_15,
        DA850_GPIO4_0,
        DA850_GPIO4_1,
+       DA850_GPIO2_4,
+       DA850_GPIO6_13,
        DA850_RTC_ALARM,
  };


   The above should be a separate patch (or even 2 patches).

WBR, Sergei
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to