| Support usb hub and usb data role switch of Hisilicon HiKey960 Board. |
| |
| ----------------------------- |
| |
| Required properties: |
| - compatible: "hisilicon,gpio_hubv1" |
| - typec-vbus-gpios: gpio to control the vbus of typeC port |
| - otg-switch-gpios: gpio to switch DP & DM between the hub and typeC port |
| - hub-vdd33-en-gpios: gpio to enable the power of hub |
| - pinctrl-names: pin configuration state name ("default") |
| - pinctrl-0: pinctrl config |
| - usb-role-switch: flags the driver as a role switch provider |
| - ports: two endpoints to connect the usb core role switch provider |
| to the usb-c tcpm driver. |
| |
| Example |
| ----- |
| hisi_hikey_usb: hisi_hikey_usb { |
| compatible = "hisilicon,gpio_hubv1"; |
| typec-vbus-gpios = <&gpio25 2 GPIO_ACTIVE_HIGH>; |
| otg-switch-gpios = <&gpio25 6 GPIO_ACTIVE_HIGH>; |
| hub-vdd33-en-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&usbhub5734_pmx_func>; |
| usb-role-switch; |
| |
| port { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| hikey_usb_ep0: endpoint@0 { |
| reg = <0>; |
| remote-endpoint = <&dwc3_role_switch>; |
| }; |
| hikey_usb_ep1: endpoint@1 { |
| reg = <1>; |
| remote-endpoint = <&rt1711h_ep>; |
| }; |
| }; |
| }; |