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"
 - reg : I2C address on the selected bus (default is <0x2C>)

Optional properties :
 - reset-gpios : Should specify the gpio for hub reset
 - 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>;
	};
