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

From: Stephen Boyd
Date: Fri Jul 14 2017 - 17:27:25 EST


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.