Microchip USB 2.0 Hi-Speed Hub Controller

The device node for the configuration of a Microchip USB251x/xBi USB 2.0
Hi-Speed Controller.

Required properties :
 - compatible : Should be "microchip,usb251xb" or one of the specific types:
	"microchip,usb2512b", "microchip,usb2512bi", "microchip,usb2513b",
	"microchip,usb2513bi", "microchip,usb2514b", "microchip,usb2514bi",
	"microchip,usb2517", "microchip,usb2517i", "microchip,usb2422"
 - reg : I2C address on the selected bus (default is <0x2C>)

Optional properties :
 - reset-gpios : Should specify the gpio for hub reset
 - vdd-supply : Should specify the phandle to the regulator supplying vdd
 - skip-config : Skip Hub configuration, but only send the USB-Attach command
 - vendor-id : Set USB Vendor ID of the hub (16 bit, default is 0x0424)
 - product-id : Set USB Product ID of the hub (16 bit, default depends on type)
 - device-id : Set USB Device ID of the hub (16 bit, default is 0x0bb3)
 - language-id : Set USB Language ID (16 bit, default is 0x0000)
 - manufacturer : Set USB Manufacturer string (max 31 characters long)
 - product : Set USB Product string (max 31 characters long)
 - serial : Set USB Serial string (max 31 characters long)
 - {bus,self}-powered : selects between self- and bus-powered operation
	(boolean, default is self-powered)
 - disable-hi-speed : disable USB Hi-Speed support (boolean)
 - {multi,single}-tt : selects between multi- and single-transaction-translator
	(boolean, default is multi-tt)
 - disable-eop : disable End of Packet generation in full-speed mode (boolean)
 - {ganged,individual}-sensing : select over-current sense type in self-powered
	mode (boolean, default is individual)
 - {ganged,individual}-port-switching : select port power switching mode
	(boolean, default is individual)
 - dynamic-power-switching : enable auto-switching from self- to bus-powered
	operation if the local power source is removed or unavailable (boolean)
 - oc-delay-us : Delay time (in microseconds) for filtering the over-current
	sense inputs. Valid values are 100, 4000, 8000 (default) and 16000. If
	an invalid value is given, the default is used instead.
 - compound-device : indicate the hub is part of a compound device (boolean)
 - port-mapping-mode : enable port mapping mode (boolean)
 - led-{usb,speed}-mode : led usb/speed indication mode selection
	(boolean, default is speed mode)
 - string-support : enable string descriptor support (required for manufacturer,
	product and serial string configuration)
 - non-removable-ports : Should specify the ports which have a non-removable
	device connected.
 - sp-disabled-ports : Specifies the ports which will be self-power disabled
 - bp-disabled-ports : Specifies the ports which will be bus-power disabled
 - sp-max-total-current-microamp: Specifies max current consumed by the hub
	from VBUS when operating in self-powered hub. It includes the hub
	silicon along with all associated circuitry including a permanently
	attached peripheral (range: 0 - 100000 uA, default 1000 uA)
 - bp-max-total-current-microamp: Specifies max current consumed by the hub
	from VBUS when operating in self-powered hub. It includes the hub
	silicon along with all associated circuitry including a permanently
	attached peripheral (range: 0 - 510000 uA, default 100000 uA)
 - sp-max-removable-current-microamp: Specifies max current consumed by the hub
	from VBUS when operating in self-powered hub. It includes the hub
	silicon along with all associated circuitry excluding a permanently
	attached peripheral (range: 0 - 100000 uA, default 1000 uA)
 - bp-max-removable-current-microamp: Specifies max current consumed by the hub
	from VBUS when operating in self-powered hub. It includes the hub
	silicon along with all associated circuitry excluding a permanently
	attached peripheral (range: 0 - 510000 uA, default 100000 uA)
 - power-on-time-ms : Specifies the time it takes from the time the host
	initiates the power-on sequence to a port until the port has adequate
	power. The value is given in ms in a 0 - 510 range (default is 100ms).
 - swap-dx-lanes : Specifies the ports which will swap the differential-pair
	(D+/D-), default is not-swapped.

Examples:
	usb2512b@2c {
		compatible = "microchip,usb2512b";
		reg = <0x2c>;
		reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
	};

	usb2514b@2c {
		compatible = "microchip,usb2514b";
		reg = <0x2c>;
		vendor-id = /bits/ 16 <0x0000>;
		product-id = /bits/ 16 <0x0000>;
		string-support;
		manufacturer = "Foo";
		product = "Foo-Bar";
		serial = "1234567890A";
		/* correct misplaced usb connectors on port 1,2 */
		swap-dx-lanes = <1 2>;
	};
