# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/usb/usb251xb.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Microchip USB 2.0 Hi-Speed Hub Controller maintainers: - Richard Leitner properties: compatible: enum: - microchip,usb2422 - microchip,usb2512b - microchip,usb2512bi - microchip,usb2513b - microchip,usb2513bi - microchip,usb2514b - microchip,usb2514bi - microchip,usb2517 - microchip,usb2517i - microchip,usb251xb reg: maxItems: 1 reset-gpios: description: | Should specify the gpio for hub reset vdd-supply: description: | Should specify the phandle to the regulator supplying vdd skip-config: $ref: /schemas/types.yaml#/definitions/flag description: | Skip Hub configuration, but only send the USB-Attach command vendor-id: $ref: /schemas/types.yaml#/definitions/uint16 default: 0x0424 description: | Set USB Vendor ID of the hub product-id: $ref: /schemas/types.yaml#/definitions/uint16 description: | Set USB Product ID of the hub device-id: $ref: /schemas/types.yaml#/definitions/uint16 default: 0x0bb3 description: | Set USB Device ID of the hub language-id: $ref: /schemas/types.yaml#/definitions/uint16 default: 0x0000 description: | Set USB Language ID manufacturer: $ref: /schemas/types.yaml#/definitions/string description: | Set USB Manufacturer string (max 31 characters long) product: $ref: /schemas/types.yaml#/definitions/string description: | Set USB Product string (max 31 characters long) serial: $ref: /schemas/types.yaml#/definitions/string description: | Set USB Serial string (max 31 characters long) bus-powered: $ref: /schemas/types.yaml#/definitions/flag description: | selects between self- and bus-powered operation (boolean, default is self-powered) self-powered: $ref: /schemas/types.yaml#/definitions/flag description: | selects between self- and bus-powered operation (boolean, default is self-powered) disable-hi-speed: $ref: /schemas/types.yaml#/definitions/flag description: | disable USB Hi-Speed support (boolean) multi-tt: $ref: /schemas/types.yaml#/definitions/flag description: | selects between multi- and single-transaction-translator (boolean, default is multi-tt) single-tt: $ref: /schemas/types.yaml#/definitions/flag description: | selects between multi- and single-transaction-translator (boolean, default is multi-tt) disable-eop: $ref: /schemas/types.yaml#/definitions/flag description: | disable End of Packet generation in full-speed mode (boolean) ganged-sensing: $ref: /schemas/types.yaml#/definitions/flag description: | select over-current sense type in self-powered mode (boolean, default is individual) individual-sensing: $ref: /schemas/types.yaml#/definitions/flag description: | select over-current sense type in self-powered mode (boolean, default is individual) ganged-port-switching: $ref: /schemas/types.yaml#/definitions/flag description: | select port power switching mode (boolean, default is individual) individual-port-switching: $ref: /schemas/types.yaml#/definitions/flag description: | select port power switching mode (boolean, default is individual) dynamic-power-switching: $ref: /schemas/types.yaml#/definitions/flag description: | enable auto-switching from self- to bus-powered operation if the local power source is removed or unavailable (boolean) oc-delay-us: enum: [100, 4000, 8000, 16000] default: 8000 description: | Delay time (in microseconds) for filtering the over-current sense inputs. If an invalid value is given, the default is used instead. compound-device: $ref: /schemas/types.yaml#/definitions/flag description: | indicate the hub is part of a compound device (boolean) port-mapping-mode: $ref: /schemas/types.yaml#/definitions/flag description: | enable port mapping mode (boolean) led-usb-mode: $ref: /schemas/types.yaml#/definitions/flag description: | led usb/speed indication mode selection (boolean, default is speed mode) led-speed-mode: $ref: /schemas/types.yaml#/definitions/flag description: | led usb/speed indication mode selection (boolean, default is speed mode) string-support: $ref: /schemas/types.yaml#/definitions/flag description: | enable string descriptor support (required for manufacturer, product and serial string configuration) non-removable-ports: $ref: /schemas/types.yaml#/definitions/uint8-array description: | Should specify the ports which have a non-removable device connected. sp-disabled-ports: $ref: /schemas/types.yaml#/definitions/uint8-array description: | Specifies the ports which will be self-power disabled bp-disabled-ports: $ref: /schemas/types.yaml#/definitions/uint8-array description: | Specifies the ports which will be bus-power disabled sp-max-total-current-microamp: maximum: 100000 default: 1000 description: | 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. bp-max-total-current-microamp: maximum: 510000 default: 100000 description: | 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. sp-max-removable-current-microamp: maximum: 100000 default: 1000 description: | 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. bp-max-removable-current-microamp: maximum: 510000 default: 100000 description: | 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. power-on-time-ms: maximum: 510 default: 100 description: | Specifies the time it takes from the time the host initiates the power-on sequence to a port until the port has adequate power. swap-dx-lanes: $ref: /schemas/types.yaml#/definitions/uint32-array description: | Specifies the ports which will swap the differential-pair (D+/D-), default is not-swapped. additionalProperties: false required: - compatible - reg examples: - | #include i2c { #address-cells = <1>; #size-cells = <0>; usb-hub@2c { compatible = "microchip,usb2512b"; reg = <0x2c>; reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; }; usb-hub@2d { compatible = "microchip,usb2514b"; reg = <0x2d>; 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>; }; };