Hi Bjorn, On 23 August 2018 at 16:53, Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> wrote: > On Tue 21 Aug 06:55 PDT 2018, Loic Poulain wrote: > >> Some hardware implementations require to configure pins differently >> according to the USB role (host/device), this can be an update of the >> pins routing or a simple GPIO value change. >> >> This patch introduces new optional "host" and "device" pinctrls. >> If these pinctrls are defined by the device, they are respectively >> selected on host/device role start. >> >> If a default pinctrl exist, it is restored on host/device role stop. >> > > The implementation looks reasonable, but we're actually just toggling a > gpio using pinctrl states. Do you see any reason not to control this mux > through the gpio api? > Actually, two gpios (including hub reset one), but you're right. Point is that these gpios are very specific to the Dragonboard layout and not related to USB controller itself (external mux), so I'm not sure it makes sense to control a 'mux' GPIO from the chipidea driver. That's why I used pinctrl which is more generic and hides the underlying operations (a simple GPIO toggling in our case). But let me know if there is a better way. Regards, Loic