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>;
			};
		};
	};
