On Mon, Mar 18, 2019 at 10:59:31AM +0000, Jun Li wrote: > > > > -----Original Message----- > > From: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> > > Sent: 2019年3月13日 17:36 > > To: Rob Herring <robh@xxxxxxxxxx> > > Cc: Jun Li <jun.li@xxxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx; hdegoede@xxxxxxxxxx; > > andy.shevchenko@xxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx; > > devicetree@xxxxxxxxxxxxxxx; dl-linux-imx <linux-imx@xxxxxxx> > > Subject: Re: [PATCH v3 1/2] dt-bindings: usb: add documentation for typec switch > > via GPIO > > > > On Tue, Mar 12, 2019 at 09:45:27AM -0500, Rob Herring wrote: > > > On Mon, Mar 11, 2019 at 10:40:09AM +0000, Jun Li wrote: > > > > Some typec super speed active channel switch can be controlled via a > > > > GPIO, this binding can be used to specify the switch node by a GPIO > > > > and the remote endpoint of its consumer. > > > > > > > > Signed-off-by: Li Jun <jun.li@xxxxxxx> > > > > --- > > > > .../devicetree/bindings/usb/typec-switch-gpio.txt | 30 > > > > ++++++++++++++++++++++ > > > > 1 file changed, 30 insertions(+) > > > > > > > > diff --git > > > > a/Documentation/devicetree/bindings/usb/typec-switch-gpio.txt > > > > b/Documentation/devicetree/bindings/usb/typec-switch-gpio.txt > > > > new file mode 100644 > > > > index 0000000..4ef76cf > > > > --- /dev/null > > > > +++ b/Documentation/devicetree/bindings/usb/typec-switch-gpio.txt > > > > @@ -0,0 +1,30 @@ > > > > +Typec orientation switch via a GPIO > > > > +----------------------------------- > > > > + > > > > +Required properties: > > > > +- compatible: should be set one of following: > > > > + - "nxp,ptn36043" for NXP Type-C SuperSpeed active switch. > > > > + > > > > +- gpios: the GPIO used to switch the super speed active channel, > > > > > > Perhaps switch-gpios in case there are other gpios needed. > > > > > > > + GPIO_ACTIVE_HIGH: GPIO state high for cc1; > > > > + GPIO_ACTIVE_LOW: GPIO state low for cc1. > > > > +- orientation-switch: must be present. > > > > > > Why is this needed? The compatible can't imply this? > > > > I think Jun Li is added that based on the comment I put to drivers/usb/typec/mux.c, > > so I'm to blame here. If we can handle this with the compatible like I guess we can, > > I'm happy. > > Hi Heikki > > Can I just remove the original bool property check? i.e, match OK if the remote > parent node is in switch_list. No. If typec_switch_get() is called before the mux device is registered, we need to return -EPROBE_DEFER. That means we need to be able to identify the mux device node. I think we should just use the compatible like Rob suggested. The Type-C muxes should probable have their own bindings file where it's defined for these muxes. thanks, -- heikki