On Sat, Oct 9, 2010 at 7:55 AM, Sergei Shtylyov <[email protected]> wrote:
> 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'.


Sorry I do not follow here. Under what do you suggest to align ??


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);
                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;
}

>> +               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?

Sorry was the

TPS2087D

But is also at 5V with the same parameters the only minor difference
that i see is that

TPS2065 is

    * 1-A Continuous Current

and TPS2087D is

    * 500 mA Continuous Current per Channel

but works fine with that parameters

Regards

Victor Rodriguez



could work even at
>> 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