xref: /freebsd-src/sys/contrib/device-tree/Bindings/usb/usb251xb.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
18bab661aSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
28bab661aSEmmanuel Vadot%YAML 1.2
38bab661aSEmmanuel Vadot---
48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/usb251xb.yaml#
58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68bab661aSEmmanuel Vadot
78bab661aSEmmanuel Vadottitle: Microchip USB 2.0 Hi-Speed Hub Controller
88bab661aSEmmanuel Vadot
98bab661aSEmmanuel Vadotmaintainers:
108bab661aSEmmanuel Vadot  - Richard Leitner <richard.leitner@skidata.com>
118bab661aSEmmanuel Vadot
128bab661aSEmmanuel Vadotproperties:
138bab661aSEmmanuel Vadot  compatible:
148bab661aSEmmanuel Vadot    enum:
158bab661aSEmmanuel Vadot      - microchip,usb2422
168bab661aSEmmanuel Vadot      - microchip,usb2512b
178bab661aSEmmanuel Vadot      - microchip,usb2512bi
188bab661aSEmmanuel Vadot      - microchip,usb2513b
198bab661aSEmmanuel Vadot      - microchip,usb2513bi
208bab661aSEmmanuel Vadot      - microchip,usb2514b
218bab661aSEmmanuel Vadot      - microchip,usb2514bi
228bab661aSEmmanuel Vadot      - microchip,usb2517
238bab661aSEmmanuel Vadot      - microchip,usb2517i
248bab661aSEmmanuel Vadot      - microchip,usb251xb
258bab661aSEmmanuel Vadot
268bab661aSEmmanuel Vadot  reg:
278bab661aSEmmanuel Vadot    maxItems: 1
288bab661aSEmmanuel Vadot
298bab661aSEmmanuel Vadot  reset-gpios:
308bab661aSEmmanuel Vadot    description: |
318bab661aSEmmanuel Vadot      Should specify the gpio for hub reset
328bab661aSEmmanuel Vadot
338bab661aSEmmanuel Vadot  vdd-supply:
348bab661aSEmmanuel Vadot    description: |
358bab661aSEmmanuel Vadot      Should specify the phandle to the regulator supplying vdd
368bab661aSEmmanuel Vadot
378bab661aSEmmanuel Vadot  skip-config:
388bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
398bab661aSEmmanuel Vadot    description: |
408bab661aSEmmanuel Vadot      Skip Hub configuration, but only send the USB-Attach command
418bab661aSEmmanuel Vadot
428bab661aSEmmanuel Vadot  vendor-id:
438bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint16
448bab661aSEmmanuel Vadot    default: 0x0424
458bab661aSEmmanuel Vadot    description: |
468bab661aSEmmanuel Vadot      Set USB Vendor ID of the hub
478bab661aSEmmanuel Vadot
488bab661aSEmmanuel Vadot  product-id:
498bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint16
508bab661aSEmmanuel Vadot    description: |
518bab661aSEmmanuel Vadot      Set USB Product ID of the hub
528bab661aSEmmanuel Vadot
538bab661aSEmmanuel Vadot  device-id:
548bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint16
558bab661aSEmmanuel Vadot    default: 0x0bb3
568bab661aSEmmanuel Vadot    description: |
578bab661aSEmmanuel Vadot      Set USB Device ID of the hub
588bab661aSEmmanuel Vadot
598bab661aSEmmanuel Vadot  language-id:
608bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint16
618bab661aSEmmanuel Vadot    default: 0x0000
628bab661aSEmmanuel Vadot    description: |
638bab661aSEmmanuel Vadot      Set USB Language ID
648bab661aSEmmanuel Vadot
658bab661aSEmmanuel Vadot  manufacturer:
668bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
678bab661aSEmmanuel Vadot    description: |
688bab661aSEmmanuel Vadot      Set USB Manufacturer string (max 31 characters long)
698bab661aSEmmanuel Vadot
708bab661aSEmmanuel Vadot  product:
718bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
728bab661aSEmmanuel Vadot    description: |
738bab661aSEmmanuel Vadot      Set USB Product string (max 31 characters long)
748bab661aSEmmanuel Vadot
758bab661aSEmmanuel Vadot  serial:
768bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string
778bab661aSEmmanuel Vadot    description: |
788bab661aSEmmanuel Vadot      Set USB Serial string (max 31 characters long)
798bab661aSEmmanuel Vadot
808bab661aSEmmanuel Vadot  bus-powered:
818bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
828bab661aSEmmanuel Vadot    description: |
838bab661aSEmmanuel Vadot      selects between self- and bus-powered operation
848bab661aSEmmanuel Vadot      (boolean, default is self-powered)
858bab661aSEmmanuel Vadot
868bab661aSEmmanuel Vadot  self-powered:
878bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
888bab661aSEmmanuel Vadot    description: |
898bab661aSEmmanuel Vadot      selects between self- and bus-powered operation
908bab661aSEmmanuel Vadot      (boolean, default is self-powered)
918bab661aSEmmanuel Vadot
928bab661aSEmmanuel Vadot  disable-hi-speed:
938bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
948bab661aSEmmanuel Vadot    description: |
958bab661aSEmmanuel Vadot      disable USB Hi-Speed support (boolean)
968bab661aSEmmanuel Vadot
978bab661aSEmmanuel Vadot  multi-tt:
988bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
998bab661aSEmmanuel Vadot    description: |
1008bab661aSEmmanuel Vadot      selects between multi- and single-transaction-translator
1018bab661aSEmmanuel Vadot      (boolean, default is multi-tt)
1028bab661aSEmmanuel Vadot
1038bab661aSEmmanuel Vadot  single-tt:
1048bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1058bab661aSEmmanuel Vadot    description: |
1068bab661aSEmmanuel Vadot      selects between multi- and single-transaction-translator
1078bab661aSEmmanuel Vadot      (boolean, default is multi-tt)
1088bab661aSEmmanuel Vadot
1098bab661aSEmmanuel Vadot  disable-eop:
1108bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1118bab661aSEmmanuel Vadot    description: |
1128bab661aSEmmanuel Vadot      disable End of Packet generation in full-speed mode (boolean)
1138bab661aSEmmanuel Vadot
1148bab661aSEmmanuel Vadot  ganged-sensing:
1158bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1168bab661aSEmmanuel Vadot    description: |
1178bab661aSEmmanuel Vadot      select over-current sense type in self-powered mode
1188bab661aSEmmanuel Vadot      (boolean, default is individual)
1198bab661aSEmmanuel Vadot
1208bab661aSEmmanuel Vadot  individual-sensing:
1218bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1228bab661aSEmmanuel Vadot    description: |
1238bab661aSEmmanuel Vadot      select over-current sense type in self-powered mode
1248bab661aSEmmanuel Vadot      (boolean, default is individual)
1258bab661aSEmmanuel Vadot
1268bab661aSEmmanuel Vadot  ganged-port-switching:
1278bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1288bab661aSEmmanuel Vadot    description: |
1298bab661aSEmmanuel Vadot      select port power switching mode (boolean, default is individual)
1308bab661aSEmmanuel Vadot
1318bab661aSEmmanuel Vadot  individual-port-switching:
1328bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1338bab661aSEmmanuel Vadot    description: |
1348bab661aSEmmanuel Vadot      select port power switching mode (boolean, default is individual)
1358bab661aSEmmanuel Vadot
1368bab661aSEmmanuel Vadot  dynamic-power-switching:
1378bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1388bab661aSEmmanuel Vadot    description: |
1398bab661aSEmmanuel Vadot      enable auto-switching from self- to bus-powered operation if the
1408bab661aSEmmanuel Vadot      local power source is removed or unavailable (boolean)
1418bab661aSEmmanuel Vadot
1428bab661aSEmmanuel Vadot  oc-delay-us:
1438bab661aSEmmanuel Vadot    enum: [100, 4000, 8000, 16000]
1448bab661aSEmmanuel Vadot    default: 8000
1458bab661aSEmmanuel Vadot    description: |
1468bab661aSEmmanuel Vadot      Delay time (in microseconds) for filtering the over-current sense
1478bab661aSEmmanuel Vadot      inputs. If an invalid value is given, the default is used instead.
1488bab661aSEmmanuel Vadot
1498bab661aSEmmanuel Vadot  compound-device:
1508bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1518bab661aSEmmanuel Vadot    description: |
1528bab661aSEmmanuel Vadot      indicate the hub is part of a compound device (boolean)
1538bab661aSEmmanuel Vadot
1548bab661aSEmmanuel Vadot  port-mapping-mode:
1558bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1568bab661aSEmmanuel Vadot    description: |
1578bab661aSEmmanuel Vadot      enable port mapping mode (boolean)
1588bab661aSEmmanuel Vadot
1598bab661aSEmmanuel Vadot  led-usb-mode:
1608bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1618bab661aSEmmanuel Vadot    description: |
1628bab661aSEmmanuel Vadot      led usb/speed indication mode selection (boolean, default is speed mode)
1638bab661aSEmmanuel Vadot
1648bab661aSEmmanuel Vadot  led-speed-mode:
1658bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1668bab661aSEmmanuel Vadot    description: |
1678bab661aSEmmanuel Vadot      led usb/speed indication mode selection (boolean, default is speed mode)
1688bab661aSEmmanuel Vadot
1698bab661aSEmmanuel Vadot  string-support:
1708bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
1718bab661aSEmmanuel Vadot    description: |
1728bab661aSEmmanuel Vadot      enable string descriptor support (required for manufacturer, product
1738bab661aSEmmanuel Vadot      and serial string configuration)
1748bab661aSEmmanuel Vadot
1758bab661aSEmmanuel Vadot  non-removable-ports:
1768bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8-array
1778bab661aSEmmanuel Vadot    description: |
1788bab661aSEmmanuel Vadot      Should specify the ports which have a non-removable device connected.
1798bab661aSEmmanuel Vadot
1808bab661aSEmmanuel Vadot  sp-disabled-ports:
1818bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8-array
1828bab661aSEmmanuel Vadot    description: |
1838bab661aSEmmanuel Vadot      Specifies the ports which will be self-power disabled
1848bab661aSEmmanuel Vadot
1858bab661aSEmmanuel Vadot  bp-disabled-ports:
1868bab661aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8-array
1878bab661aSEmmanuel Vadot    description: |
1888bab661aSEmmanuel Vadot      Specifies the ports which will be bus-power disabled
1898bab661aSEmmanuel Vadot
1908bab661aSEmmanuel Vadot  sp-max-total-current-microamp:
1918bab661aSEmmanuel Vadot    maximum: 100000
1928bab661aSEmmanuel Vadot    default: 1000
1938bab661aSEmmanuel Vadot    description: |
1948bab661aSEmmanuel Vadot      Specifies max current consumed by the hub from VBUS when
1958bab661aSEmmanuel Vadot      operating in self-powered hub. It includes the hub silicon
1968bab661aSEmmanuel Vadot      along with all associated circuitry including a permanently
1978bab661aSEmmanuel Vadot      attached peripheral.
1988bab661aSEmmanuel Vadot
1998bab661aSEmmanuel Vadot  bp-max-total-current-microamp:
2008bab661aSEmmanuel Vadot    maximum: 510000
2018bab661aSEmmanuel Vadot    default: 100000
2028bab661aSEmmanuel Vadot    description: |
2038bab661aSEmmanuel Vadot      Specifies max current consumed by the hub from VBUS when
2048bab661aSEmmanuel Vadot      operating in self-powered hub. It includes the hub silicon
2058bab661aSEmmanuel Vadot      along with all associated circuitry including a permanently
2068bab661aSEmmanuel Vadot      attached peripheral.
2078bab661aSEmmanuel Vadot
2088bab661aSEmmanuel Vadot  sp-max-removable-current-microamp:
2098bab661aSEmmanuel Vadot    maximum: 100000
2108bab661aSEmmanuel Vadot    default: 1000
2118bab661aSEmmanuel Vadot    description: |
2128bab661aSEmmanuel Vadot      Specifies max current consumed by the hub from VBUS when
2138bab661aSEmmanuel Vadot      operating in self-powered hub. It includes the hub silicon
2148bab661aSEmmanuel Vadot      along with all associated circuitry excluding a permanently
2158bab661aSEmmanuel Vadot      attached peripheral.
2168bab661aSEmmanuel Vadot
2178bab661aSEmmanuel Vadot  bp-max-removable-current-microamp:
2188bab661aSEmmanuel Vadot    maximum: 510000
2198bab661aSEmmanuel Vadot    default: 100000
2208bab661aSEmmanuel Vadot    description: |
2218bab661aSEmmanuel Vadot      Specifies max current consumed by the hub from VBUS when
2228bab661aSEmmanuel Vadot      operating in self-powered hub. It includes the hub silicon
2238bab661aSEmmanuel Vadot      along with all associated circuitry excluding a permanently
2248bab661aSEmmanuel Vadot      attached peripheral.
2258bab661aSEmmanuel Vadot
2268bab661aSEmmanuel Vadot  power-on-time-ms:
2278bab661aSEmmanuel Vadot    maximum: 510
2288bab661aSEmmanuel Vadot    default: 100
2298bab661aSEmmanuel Vadot    description: |
2308bab661aSEmmanuel Vadot      Specifies the time it takes from the time the host initiates the
2318bab661aSEmmanuel Vadot      power-on sequence to a port until the port has adequate power.
2328bab661aSEmmanuel Vadot
2338bab661aSEmmanuel Vadot  swap-dx-lanes:
234*f126890aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32-array
2358bab661aSEmmanuel Vadot    description: |
2368bab661aSEmmanuel Vadot      Specifies the ports which will swap the differential-pair (D+/D-),
2378bab661aSEmmanuel Vadot      default is not-swapped.
2388bab661aSEmmanuel Vadot
2398bab661aSEmmanuel VadotadditionalProperties: false
2408bab661aSEmmanuel Vadot
2418bab661aSEmmanuel Vadotrequired:
2428bab661aSEmmanuel Vadot  - compatible
2438bab661aSEmmanuel Vadot  - reg
2448bab661aSEmmanuel Vadot
2458bab661aSEmmanuel Vadotexamples:
2468bab661aSEmmanuel Vadot  - |
2478bab661aSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
2488bab661aSEmmanuel Vadot
2498bab661aSEmmanuel Vadot    i2c {
2508bab661aSEmmanuel Vadot      #address-cells = <1>;
2518bab661aSEmmanuel Vadot      #size-cells = <0>;
2528bab661aSEmmanuel Vadot
2538bab661aSEmmanuel Vadot      usb-hub@2c {
2548bab661aSEmmanuel Vadot        compatible = "microchip,usb2512b";
2558bab661aSEmmanuel Vadot        reg = <0x2c>;
2568bab661aSEmmanuel Vadot        reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
2578bab661aSEmmanuel Vadot      };
2588bab661aSEmmanuel Vadot
2598bab661aSEmmanuel Vadot      usb-hub@2d {
2608bab661aSEmmanuel Vadot        compatible = "microchip,usb2514b";
2618bab661aSEmmanuel Vadot        reg = <0x2d>;
2628bab661aSEmmanuel Vadot        vendor-id = /bits/ 16 <0x0000>;
2638bab661aSEmmanuel Vadot        product-id = /bits/ 16 <0x0000>;
2648bab661aSEmmanuel Vadot        string-support;
2658bab661aSEmmanuel Vadot        manufacturer = "Foo";
2668bab661aSEmmanuel Vadot        product = "Foo-Bar";
2678bab661aSEmmanuel Vadot        serial = "1234567890A";
2688bab661aSEmmanuel Vadot        /* correct misplaced usb connectors on port 1,2 */
2698bab661aSEmmanuel Vadot        swap-dx-lanes = <1 2>;
2708bab661aSEmmanuel Vadot      };
2718bab661aSEmmanuel Vadot    };
272