Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1686970

Re: [PATCH 0/3] USB Mux support for Chipidea

From Stephen Boyd <stephen.boyd@linaro.org>
Newsgroups linux.kernel
Subject Re: [PATCH 0/3] USB Mux support for Chipidea
Date 2017-07-14 00:40 +0200
Message-ID <u2UW6-34i-35@gated-at.bofh.it> (permalink)
References <u2ek9-1kG-3@gated-at.bofh.it> <u2UW6-34i-37@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Quoting Peter Rosin (2017-07-11 22:04:46)
> On 2017-07-12 03:02, Stephen Boyd wrote:
> > This patchset adds support for the TC7USB40MU usb mux found on 
> > db410c 96boards platforms via the new multiplexer framework and
> > hooks that into the chipidea driver. This allows us to properly
> > control host or device mode on this board via the sysfs knob.
> > 
> > So far I've only tested this on db410c, and there are some rough
> > edges to finish off before it can merge. Also I'm experiencing
> > odd behavior with switching the role while gadget is enabled and
> > the micro-usb cable is kept connected. Not sure what's wrong but
> > it seems like the gadget never gets disconnected? I'll investigate
> > more.
> > 
> > TODO:
> > 
> >  1. The mux framework has to be selected for consumers to use it. We'll
> >     need some stubs in the consumer header file to allow compilation to
> >     continue without mux always enabled by consumers.
> 
> Instead of "depends on MULTIPLEXER", just add "select MULTIPLEXER"
> to the Kconfig. Otherwise, you'll have to convince Linus that we
> really do need a Kconfig question for the subsystem :-)
> 
> https://lkml.org/lkml/2017/7/4/118

Ok. I'll add a select to the chipidea driver.

> 
> >  2. We probably need some sort of mux_control_get_optional() API so that
> >     we know if there was an error getting the mux control, instead of just
> >     ignoring errors. For now I can pass up EPROBE_DEFER errors and ignore
> >     other errors and consider it "missing from DT".
> 
> Yes, mux_control_get_optional should be easy to add.
> 
> >  3. Maybe we can get rid of the mux driver and just use mux-gpio.c with
> >     a compatible string update? I split it off because we may want to
> >     support the "S" pin on the TC7USB40MU one day that shuts off both

Oh this is a typo. I mean "OE" pin.

> >     mux outputs.
> 
> Maybe no need for a compatible update either, if it works to do something
> like this in the DT?
> 
>         usb_switch: usb-switch {
>                 compatible = "gpio-mux";
>                 mux-gpios = <&pm8916_gpios 4 GPIO_ACTIVE_HIGH>,
>                             <&pm8916_gpios XXX GPIO_ACTIVE_XXX>;
>                 idle-state = <2>;
>                 #mux-control-cells = <0>;
>                 pinctrl-names = "default";
>                 pinctrl-0 = <&usb_sw_sel_pm>;
>         };
> 
> But I obviously know little about how things are wired and really works,
> so that might be totally off...
> 
> Otherwise, maybe a generic mux-pinctrl driver would do the trick?
> (compare with drivers/i2c/muxes/i2c-mux-pinctrl.c)
> 

Agreed. On the board I have the "OE" pin is shorted so that it always
outputs a signal. For someone else they could do what you say and add
another pin to gpio-mux binding and things will still work.

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/3] USB Mux support for Chipidea Stephen Boyd <stephen.boyd@linaro.org> - 2017-07-12 03:10 +0200
  [PATCH 1/3] usb: misc: Add a driver for TC7USB40MU Stephen Boyd <stephen.boyd@linaro.org> - 2017-07-12 03:10 +0200
  [PATCH 2/3] usb: chipidea: Hook into mux framework to toggle usb switch Stephen Boyd <stephen.boyd@linaro.org> - 2017-07-12 03:10 +0200
    Re: [PATCH 2/3] usb: chipidea: Hook into mux framework to toggle usb switch Stephen Boyd <stephen.boyd@linaro.org> - 2017-07-14 00:40 +0200
      Re: [PATCH 2/3] usb: chipidea: Hook into mux framework to toggle usb  switch Rob Herring <robh@kernel.org> - 2017-07-17 19:30 +0200
  Re: [PATCH 0/3] USB Mux support for Chipidea Stephen Boyd <stephen.boyd@linaro.org> - 2017-07-14 00:40 +0200
    Re: [PATCH 0/3] USB Mux support for Chipidea Stephen Boyd <stephen.boyd@linaro.org> - 2017-07-14 23:30 +0200
    Re: [PATCH 0/3] USB Mux support for Chipidea Rob Herring <robh@kernel.org> - 2017-07-17 19:20 +0200

csiph-web