xref: /freebsd/sys/contrib/device-tree/Bindings/usb/usb251xb.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotMicrochip USB 2.0 Hi-Speed Hub Controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotThe device node for the configuration of a Microchip USB251x/xBi USB 2.0
4*c66ec88fSEmmanuel VadotHi-Speed Controller.
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel VadotRequired properties :
7*c66ec88fSEmmanuel Vadot - compatible : Should be "microchip,usb251xb" or one of the specific types:
8*c66ec88fSEmmanuel Vadot	"microchip,usb2512b", "microchip,usb2512bi", "microchip,usb2513b",
9*c66ec88fSEmmanuel Vadot	"microchip,usb2513bi", "microchip,usb2514b", "microchip,usb2514bi",
10*c66ec88fSEmmanuel Vadot	"microchip,usb2517", "microchip,usb2517i", "microchip,usb2422"
11*c66ec88fSEmmanuel Vadot - reg : I2C address on the selected bus (default is <0x2C>)
12*c66ec88fSEmmanuel Vadot
13*c66ec88fSEmmanuel VadotOptional properties :
14*c66ec88fSEmmanuel Vadot - reset-gpios : Should specify the gpio for hub reset
15*c66ec88fSEmmanuel Vadot - vdd-supply : Should specify the phandle to the regulator supplying vdd
16*c66ec88fSEmmanuel Vadot - skip-config : Skip Hub configuration, but only send the USB-Attach command
17*c66ec88fSEmmanuel Vadot - vendor-id : Set USB Vendor ID of the hub (16 bit, default is 0x0424)
18*c66ec88fSEmmanuel Vadot - product-id : Set USB Product ID of the hub (16 bit, default depends on type)
19*c66ec88fSEmmanuel Vadot - device-id : Set USB Device ID of the hub (16 bit, default is 0x0bb3)
20*c66ec88fSEmmanuel Vadot - language-id : Set USB Language ID (16 bit, default is 0x0000)
21*c66ec88fSEmmanuel Vadot - manufacturer : Set USB Manufacturer string (max 31 characters long)
22*c66ec88fSEmmanuel Vadot - product : Set USB Product string (max 31 characters long)
23*c66ec88fSEmmanuel Vadot - serial : Set USB Serial string (max 31 characters long)
24*c66ec88fSEmmanuel Vadot - {bus,self}-powered : selects between self- and bus-powered operation
25*c66ec88fSEmmanuel Vadot	(boolean, default is self-powered)
26*c66ec88fSEmmanuel Vadot - disable-hi-speed : disable USB Hi-Speed support (boolean)
27*c66ec88fSEmmanuel Vadot - {multi,single}-tt : selects between multi- and single-transaction-translator
28*c66ec88fSEmmanuel Vadot	(boolean, default is multi-tt)
29*c66ec88fSEmmanuel Vadot - disable-eop : disable End of Packet generation in full-speed mode (boolean)
30*c66ec88fSEmmanuel Vadot - {ganged,individual}-sensing : select over-current sense type in self-powered
31*c66ec88fSEmmanuel Vadot	mode (boolean, default is individual)
32*c66ec88fSEmmanuel Vadot - {ganged,individual}-port-switching : select port power switching mode
33*c66ec88fSEmmanuel Vadot	(boolean, default is individual)
34*c66ec88fSEmmanuel Vadot - dynamic-power-switching : enable auto-switching from self- to bus-powered
35*c66ec88fSEmmanuel Vadot	operation if the local power source is removed or unavailable (boolean)
36*c66ec88fSEmmanuel Vadot - oc-delay-us : Delay time (in microseconds) for filtering the over-current
37*c66ec88fSEmmanuel Vadot	sense inputs. Valid values are 100, 4000, 8000 (default) and 16000. If
38*c66ec88fSEmmanuel Vadot	an invalid value is given, the default is used instead.
39*c66ec88fSEmmanuel Vadot - compound-device : indicate the hub is part of a compound device (boolean)
40*c66ec88fSEmmanuel Vadot - port-mapping-mode : enable port mapping mode (boolean)
41*c66ec88fSEmmanuel Vadot - led-{usb,speed}-mode : led usb/speed indication mode selection
42*c66ec88fSEmmanuel Vadot	(boolean, default is speed mode)
43*c66ec88fSEmmanuel Vadot - string-support : enable string descriptor support (required for manufacturer,
44*c66ec88fSEmmanuel Vadot	product and serial string configuration)
45*c66ec88fSEmmanuel Vadot - non-removable-ports : Should specify the ports which have a non-removable
46*c66ec88fSEmmanuel Vadot	device connected.
47*c66ec88fSEmmanuel Vadot - sp-disabled-ports : Specifies the ports which will be self-power disabled
48*c66ec88fSEmmanuel Vadot - bp-disabled-ports : Specifies the ports which will be bus-power disabled
49*c66ec88fSEmmanuel Vadot - sp-max-total-current-microamp: Specifies max current consumed by the hub
50*c66ec88fSEmmanuel Vadot	from VBUS when operating in self-powered hub. It includes the hub
51*c66ec88fSEmmanuel Vadot	silicon along with all associated circuitry including a permanently
52*c66ec88fSEmmanuel Vadot	attached peripheral (range: 0 - 100000 uA, default 1000 uA)
53*c66ec88fSEmmanuel Vadot - bp-max-total-current-microamp: Specifies max current consumed by the hub
54*c66ec88fSEmmanuel Vadot	from VBUS when operating in self-powered hub. It includes the hub
55*c66ec88fSEmmanuel Vadot	silicon along with all associated circuitry including a permanently
56*c66ec88fSEmmanuel Vadot	attached peripheral (range: 0 - 510000 uA, default 100000 uA)
57*c66ec88fSEmmanuel Vadot - sp-max-removable-current-microamp: Specifies max current consumed by the hub
58*c66ec88fSEmmanuel Vadot	from VBUS when operating in self-powered hub. It includes the hub
59*c66ec88fSEmmanuel Vadot	silicon along with all associated circuitry excluding a permanently
60*c66ec88fSEmmanuel Vadot	attached peripheral (range: 0 - 100000 uA, default 1000 uA)
61*c66ec88fSEmmanuel Vadot - bp-max-removable-current-microamp: Specifies max current consumed by the hub
62*c66ec88fSEmmanuel Vadot	from VBUS when operating in self-powered hub. It includes the hub
63*c66ec88fSEmmanuel Vadot	silicon along with all associated circuitry excluding a permanently
64*c66ec88fSEmmanuel Vadot	attached peripheral (range: 0 - 510000 uA, default 100000 uA)
65*c66ec88fSEmmanuel Vadot - power-on-time-ms : Specifies the time it takes from the time the host
66*c66ec88fSEmmanuel Vadot	initiates the power-on sequence to a port until the port has adequate
67*c66ec88fSEmmanuel Vadot	power. The value is given in ms in a 0 - 510 range (default is 100ms).
68*c66ec88fSEmmanuel Vadot - swap-dx-lanes : Specifies the ports which will swap the differential-pair
69*c66ec88fSEmmanuel Vadot	(D+/D-), default is not-swapped.
70*c66ec88fSEmmanuel Vadot
71*c66ec88fSEmmanuel VadotExamples:
72*c66ec88fSEmmanuel Vadot	usb2512b@2c {
73*c66ec88fSEmmanuel Vadot		compatible = "microchip,usb2512b";
74*c66ec88fSEmmanuel Vadot		reg = <0x2c>;
75*c66ec88fSEmmanuel Vadot		reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
76*c66ec88fSEmmanuel Vadot	};
77*c66ec88fSEmmanuel Vadot
78*c66ec88fSEmmanuel Vadot	usb2514b@2c {
79*c66ec88fSEmmanuel Vadot		compatible = "microchip,usb2514b";
80*c66ec88fSEmmanuel Vadot		reg = <0x2c>;
81*c66ec88fSEmmanuel Vadot		vendor-id = /bits/ 16 <0x0000>;
82*c66ec88fSEmmanuel Vadot		product-id = /bits/ 16 <0x0000>;
83*c66ec88fSEmmanuel Vadot		string-support;
84*c66ec88fSEmmanuel Vadot		manufacturer = "Foo";
85*c66ec88fSEmmanuel Vadot		product = "Foo-Bar";
86*c66ec88fSEmmanuel Vadot		serial = "1234567890A";
87*c66ec88fSEmmanuel Vadot		/* correct misplaced usb connectors on port 1,2 */
88*c66ec88fSEmmanuel Vadot		swap-dx-lanes = <1 2>;
89*c66ec88fSEmmanuel Vadot	};
90