[PATCH 0/3] USB Mux support for Chipidea

Stephen Boyd stephen.boyd at linaro.org
Fri Jul 14 14:27:09 PDT 2017


Quoting Stephen Boyd (2017-07-13 15:35:02)
> Quoting Peter Rosin (2017-07-11 22:04:46)
> > 
> > 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.

Testing looks good when I use the gpio-mux binding. The only thing I
noticed is that gpio-mux driver is requesting the gpio with
GPIOD_OUT_LOW. Is that intentional? I worry that may randomly mux the
D+/D- lines during probe if the gpio is asserted at probe time. It isn't
a problem for me right now, because the mux is power on defaulted to
have the gpio deasserted, but it may be a problem if the default
changes.



More information about the linux-arm-kernel mailing list