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 <[email protected]>
> ---
> .../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?
> +
> +Required sub-node:
> +- port: specify the remote endpoint of typec switch consumer.
> +
> +Example:
> +
> +ptn36043 {
> + compatible = "nxp,ptn36043";
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_ss_sel>;
> + gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
> + orientation-switch;
> +
> + port {
> + usb3_data_ss: endpoint {
> + remote-endpoint = <&typec_con_ss>;
> + };
> + };
> +};
> --
> 2.7.4
>