mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-03-22 07:27:12 +08:00
Currently, the usb251xb assumes i2c control, but from HW point of
view, the hub supports usage case without any i2c control, I.E we
only want the gpio controls, for example the following dt node:
usb-hub {
compatible = "microchip,usb2512b";
reset-gpios = <&porta 8 GPIO_ACTIVE_LOW>;
};
Modify the dt-binding of usb2512b to support this usage case, and add
the usage example to the examples section.
Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250825234509.1041-2-jszhang@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
279 lines
7.7 KiB
YAML
279 lines
7.7 KiB
YAML
# 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 <richard.leitner@skidata.com>
|
|
|
|
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
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
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>;
|
|
};
|
|
};
|
|
|
|
- |
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
usb-hub {
|
|
/* I2C is not connected */
|
|
compatible = "microchip,usb2512b";
|
|
reset-gpios = <&porta 8 GPIO_ACTIVE_LOW>;
|
|
};
|