Hi, On Mon, Sep 14, 2015 at 9:54 PM, Hans de Goede <hdegoede@xxxxxxxxxx> wrote: > Hi, > > > On 09/14/2015 10:25 PM, Maxime Ripard wrote: >> >> On Thu, Sep 10, 2015 at 08:38:38PM +0200, Hans de Goede wrote: >>> >>> Hi, >>> >>> On 10-09-15 20:30, Maxime Ripard wrote: >>>> >>>> On Thu, Sep 10, 2015 at 08:23:23PM +0200, Hans de Goede wrote: >>>>> >>>>> Hi, >>>>> >>>>> On 04-09-15 08:43, Olliver Schinagl wrote: >>>>>> >>>>>> Hey Hans, >>>>>> >>>>>> On 07-08-15 10:45, Olliver Schinagl wrote: >>>>>>> >>>>>>> <snip> >>>>>>>> >>>>>>>> If you change the dr_mode to host then you _must_ also remove any >>>>>>>> id_det and vbus_det >>>>>>>> gpio settings from the usb_phy node in the dts, as the sun4i phy >>>>>>>> code detects >>>>>>>> host vs otg mode by checking for the presence of these. >>>>>>> >>>>>>> Yes, this fixes it and makes it work. Thanks. >>>>>>> >>>>>> I've been going back to this and am wondering if this is something I >>>>>> can look into to fix properly? E.g. if the dts sets dr_mode = host, can we >>>>>> simply ignore the pins and treat them as unset? >>>>> >>>>> >>>>> AFAIK you cannot unset something in dts. The only solution I >>>>> can comeup with is to add a dr_mode argument to the phy like >>>>> we already have for the otg controller itself. >>>>> >>>>> This is something which we likely need to do anyways to add >>>>> support for peripheral only mode, which we seem to need for >>>>> some "hdmi sticks". >>>> >>>> >>>> I haven't really followed the rest of the discussion, so sorry if you >>>> already talked about that, but why can't you just set the dr_mode to >>>> peripheral in such a case? >>> >>> >>> This is about the usbphy code not the musb-controller code, which are >>> 2 different dts nodes, atm only the musb-controller node has a >>> dr_mode property, and the phy code decides between host-only >>> and otg mode based on whether an id pin is assigned or not. >>> >>> My proposal is to get rid of the id-pin hack to determine the mode >>> and add a dr_mode property to the usbphy dts node. >> >> >> I agree that we should get rid of that hack, especially since a lack >> of an ID pin might also be used on a peripheral-only device. >> >> However, we already have that information in the musb node, and >> duplicating the info seems error prone. We already have a custom >> function, maybe that's a case for another one > > > AFAIK the musb / phy maintainers really want to avoid adding more > custom functions ... I add a function called of_usb_get_dr_mode_by_phy() in usb/common.c, so that other phy drivers can call it to get dr_mode of the controller. I will send the patch tomorrow morning for review. Regards, -Bin. > > Felipe, Kishon any comments on this ? > > > Regards, > > Hans > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html