Subject: [PATCH 2/5] drivers: usb: otg: make twl6030_usb as a comparator driver to omap_usb2

From: [email-masked] (Roger Quadros)
Date: Mon, 29 Oct 2012 11:01:03 +0200

Hi Tony,

On 10/26/2012 07:36 PM, Tony Lindgren wrote:
> * Benoit Cousson <[email-masked]> [121026 08:23]:
>> Hi Roger,
>>
>> On 10/26/2012 05:16 PM, Roger Quadros wrote:
>>> Hi Kishon & Benoit,
>>>
>>> On 09/24/2012 12:06 PM, Rabin Vincent wrote:
>>>> 2012/9/24 ABRAHAM, KISHON VIJAY <[email-masked]>:
>>>>> On Sat, Sep 22, 2012 at 3:03 AM, Rabin Vincent <[email-masked]> wrote:
>>>>>> USB doesn't work on pandaboard on linux-next, and bisection shows this
>>>>>> patch.  Unfortunately, I can't provide a dmesg log because USB is the
>>>>>> only way I currently have to get one out(!), but presumably it's because
>>>>>> this omap-usb2 device is never registered?  Looks like this breaks
>>>>>> non-dt USB on pandaboard; is that intended?
>>>>>
>>>>> Yes. omap-usb2 is *only* dt supported (New drivers shouldn't have the
>>>>> old non-dt support).
>>>>
>>>> Well, USB used to work fine on Pandaboard without DT before the
>>>> introduction of "omap-usb2", so one would expected it to continue
>>>> working (until the board file is completely removed).
>>>>
>>>> Anyway, I've moved to DT now.
>>>>
>>>>> Some patches are queued only for 3.7.
>>>>>
>>>>> In case you want to use MUSB please use these patches on linux-next..
>>>>> [PATCH v2] arm: omap: hwmod: make *phy_48m* as the main_clk of ocp2scp
>>>>> [PATCH] ARM: OMAP2+: hwmod data: Fix ocp2scp_usb_phy and usb_host_hs
>>>>> entries (from Benoit)
>>>>> [PATCH 0/2] ARM: dts: Add subnode for ocp2scp (patch series)
>>>>> [PATCH v3 0/3] ARM: dts: omap: add dt data for MUSB (patch series)
>>>>
>>>> I got these by merging in Benoit's for_3.7/dts_part2 on top of
>>>> next-20120921.  Thanks.
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
>>>> the body of a message to majordomo at vger.kernel.org
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>>
>>>
>>> I still can't get musb to work on 3.7-rc2. Apparently it is still
>>> missing the patches from Benoit's for_3.7/dts_part2.
>>>
>>> Maybe I just need to wait for it to be merged?
>>
>> They are now in a for_3.8/dts. Unfortunately, one patch that was adding
>> ctrl_module address in the USB data was rejected and thus I'm not sure
>> it will work without that.
>>
>> I think Tony had an idea to map the ctrl_register to regulator fmwk or
>> something like that.
> 
> For device tree, we may be eventually able to handle the ctrl_register
> using pinctrl-single.c and pinconf API. It probably does not make
> sense to set it up as a regulator as the comparator can trigger errors
> also for the pinconf related bits at least for MMC PBIAS.
>  
>>> Till then, where can I get a tree where musb works on Panda?
> 
> On panda, without using device tree, use v3.7-rc2 + the following patches:
> 
> ARM: OMAP: ocp2scp: create omap device for ocp2scp
> ARM: OMAP4: add _dev_attr_ to ocp2scp for representing usb_phy
> drivers: bus: ocp2scp: add pdata support
>

The above 3 patches got it to work for me. Thanks for the hint.

> Also you need to enable CONFIG_OMAP_USB2. No idea what all is needed
> to use MUSB with device tree at this point.
> 

Yes, you need to enable a bunch of other things which are not so easy to
figure out for someone who has not worked with MUSB. Do you think we
should enable musb and all dependencies in omap2plus_defconfig?

One more thing to note is that building CONFIG_OMAP_USB2 as module
breaks the kernel build with the following error.

drivers/built-in.o: In function `twl4030_usb_irq':
/work/linux-2.6/drivers/usb/otg/twl4030-usb.c:518: undefined reference
to `omap_musb_mailbox'
drivers/built-in.o: In function `twl4030_usb_phy_init':
/work/linux-2.6/drivers/usb/otg/twl4030-usb.c:540: undefined reference
to `omap_musb_mailbox'
make: *** [vmlinux] Error 1

I bet the error would come while building twl6030-usb.c too.

regards,
-roger