Message ID | 20230509074621.29774-1-mike.looijmans@topic.nl |
---|---|
State | New |
Headers | show |
Series | [1/2] dt-bindings: usb: misc: Add microchip USB5807 HUB driver | expand |
I'll fix the issues and send a v2. I'll add supply/regulators as well. Will take a few days though. Thanks for the quick feedback, much appreciated. -- Met vriendelijke groet / kind regards, Mike Looijmans System Expert TOPIC Embedded Products B.V. Materiaalweg 4, 5681 RJ Best The Netherlands T: +31 (0) 499 33 69 69 E: mike.looijmans@topicproducts.com W: www.topic.nl Please consider the environment before printing this e-mail On 09-05-2023 10:02, Krzysztof Kozlowski wrote: > On 09/05/2023 09:46, Mike Looijmans wrote: >> The USB5807 is a 7-port USB 3.1 hub that can be configured by I2C. >> This driver resets the chip, optionally allows D+/D- lines to be >> swapped in the devicetree config, and then sends an ATTACH command to >> put the device in operational mode. >> >> Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> >> > Subject: drop misc prefix. > Subject: drop "driver", you are not adding driver here. > >> --- >> >> .../devicetree/bindings/usb/usb5807.yaml | 51 +++++++++++++++++++ >> 1 file changed, 51 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/usb/usb5807.yaml >> >> diff --git a/Documentation/devicetree/bindings/usb/usb5807.yaml b/Documentation/devicetree/bindings/usb/usb5807.yaml >> new file mode 100644 >> index 000000000000..06b94210c281 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/usb/usb5807.yaml > Filename like compatible. > >> @@ -0,0 +1,51 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/usb/usb5807.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Microchip USB 3.1 SuperSpeed Hub Controller >> + >> +maintainers: >> + - Mike Looijmans <mike.looijmans@topic.nl> >> + >> +properties: >> + compatible: >> + enum: >> + - microchip,usb5807 >> + >> + reg: >> + maxItems: 1 >> + >> + reset-gpios: >> + description: | >> + Should specify the gpio for hub reset > Drop description, obvious. maxItems instead. If you decide to add > description, then keep it useful, e.g. mention active low. > > >> + >> + swap-dx-lanes: >> + $ref: /schemas/types.yaml#/definitions/uint8-array >> + description: | > Do not need '|' unless you need to preserve formatting. > >> + Specifies the ports which will swap the differential-pair (D+/D-), >> + default is not-swapped. > maxItems (and minItems if it differs) > > No supply? How does the hub gets power? I see at least two supplies in > datasheet. > >> + >> +additionalProperties: false >> + >> +required: >> + - compatible >> + - reg > Best regards, > Krzysztof >
diff --git a/Documentation/devicetree/bindings/usb/usb5807.yaml b/Documentation/devicetree/bindings/usb/usb5807.yaml new file mode 100644 index 000000000000..06b94210c281 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/usb5807.yaml @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/usb5807.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Microchip USB 3.1 SuperSpeed Hub Controller + +maintainers: + - Mike Looijmans <mike.looijmans@topic.nl> + +properties: + compatible: + enum: + - microchip,usb5807 + + reg: + maxItems: 1 + + reset-gpios: + description: | + Should specify the gpio for hub reset + + swap-dx-lanes: + $ref: /schemas/types.yaml#/definitions/uint8-array + description: | + Specifies the ports which will swap the differential-pair (D+/D-), + default is not-swapped. + +additionalProperties: false + +required: + - compatible + - reg + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + + i2c { + #address-cells = <1>; + #size-cells = <0>; + + usb-hub@2d { + compatible = "microchip,usb5807"; + reg = <0x2d>; + reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; + /* Swapped D+/D- on port 0 */ + swap-dx-lanes = <0>; + }; + };
The USB5807 is a 7-port USB 3.1 hub that can be configured by I2C. This driver resets the chip, optionally allows D+/D- lines to be swapped in the devicetree config, and then sends an ATTACH command to put the device in operational mode. Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> --- .../devicetree/bindings/usb/usb5807.yaml | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/usb5807.yaml