* [PATCH 1/2] dt-bindings: usb: Add binding for TI USB8020B hub controller @ 2024-02-27 9:02 Macpaul Lin 2024-02-27 9:02 ` [PATCH 2/2] usb: misc: onboard_usb_hub: Add support for TI TUSB8020B Macpaul Lin 2024-02-27 18:07 ` [PATCH 1/2] dt-bindings: usb: Add binding for TI USB8020B hub controller Matthias Kaehlcke 0 siblings, 2 replies; 5+ messages in thread From: Macpaul Lin @ 2024-02-27 9:02 UTC (permalink / raw) To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Kaehlcke, Matthias Brugger, AngeloGioacchino Del Regno, linux-usb, devicetree, linux-kernel, linux-arm-kernel, linux-mediatek Cc: Bear Wang, Pablo Sun, Macpaul Lin, Macpaul Lin, Chunfeng Yun, Yow-shin Liou, MediaTek Chromebook Upstream, Chen-Yu Tsai The TI USB8020B is a USB 3.0 hub controller with 2 ports. This initial version of the binding only describes USB related aspects of the USB8020B, it does not cover the option of connecting the controller as an i2c slave. Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com> --- .../devicetree/bindings/usb/ti,usb8020b.yaml | 69 +++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/ti,usb8020b.yaml diff --git a/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml b/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml new file mode 100644 index 000000000000..8ef117793e11 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml @@ -0,0 +1,69 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/ti,usb8020b.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: TI USB8020B USB 3.0 hub controller + +maintainers: + - Macpaul Lin <macpaul.lin@mediatek.com> + +allOf: + - $ref: usb-device.yaml# + +properties: + compatible: + enum: + - usb451,8025 + - usb451,8027 + + reg: true + + reset-gpios: + items: + - description: GPIO specifier for GRST# pin. + + vdd-supply: + description: + VDD power supply to the hub + + peer-hub: + $ref: /schemas/types.yaml#/definitions/phandle + description: + phandle to the peer hub on the controller. + +required: + - compatible + - reg + - peer-hub + +additionalProperties: false + +examples: + - | + #include <dt-bindings/gpio/gpio.h> + + usb { + dr_mode = "host"; + #address-cells = <1>; + #size-cells = <0>; + + /* 2.0 hub on port 1 */ + hub_2_0: hub@1 { + compatible = "usb451,8027"; + reg = <1>; + peer-hub = <&hub_3_0>; + reset-gpios = <&pio 7 GPIO_ACTIVE_HIGH>; + vdd-supply = <&usb_hub_fixed_3v3>; + }; + + /* 3.0 hub on port 2 */ + hub_3_0: hub@2 { + compatible = "usb451,8025"; + reg = <2>; + peer-hub = <&hub_2_0>; + reset-gpios = <&pio 7 GPIO_ACTIVE_HIGH>; + vdd-supply = <&usb_hub_fixed_3v3>; + }; + }; -- 2.18.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] usb: misc: onboard_usb_hub: Add support for TI TUSB8020B 2024-02-27 9:02 [PATCH 1/2] dt-bindings: usb: Add binding for TI USB8020B hub controller Macpaul Lin @ 2024-02-27 9:02 ` Macpaul Lin 2024-02-27 13:05 ` AngeloGioacchino Del Regno 2024-02-27 18:38 ` Matthias Kaehlcke 2024-02-27 18:07 ` [PATCH 1/2] dt-bindings: usb: Add binding for TI USB8020B hub controller Matthias Kaehlcke 1 sibling, 2 replies; 5+ messages in thread From: Macpaul Lin @ 2024-02-27 9:02 UTC (permalink / raw) To: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Kaehlcke, Matthias Brugger, AngeloGioacchino Del Regno, linux-usb, devicetree, linux-kernel, linux-arm-kernel, linux-mediatek Cc: Bear Wang, Pablo Sun, Macpaul Lin, Macpaul Lin, Chunfeng Yun, Yow-shin Liou, MediaTek Chromebook Upstream, Chen-Yu Tsai The TI TUSB8020B is a 2-port USB 3.0 hub. Add support for this hub in the driver in order to bring up reset, and supply dependencies. Power-up: Issue a GPIO reset (GRSTz) 3ms after VDD and VDD33 stabilize. Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com> --- drivers/usb/misc/onboard_usb_hub.c | 2 ++ drivers/usb/misc/onboard_usb_hub.h | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c index 1e169c97f45e..e19c11a64923 100644 --- a/drivers/usb/misc/onboard_usb_hub.c +++ b/drivers/usb/misc/onboard_usb_hub.c @@ -457,6 +457,8 @@ static const struct usb_device_id onboard_hub_id_table[] = { { USB_DEVICE(VENDOR_ID_REALTEK, 0x5411) }, /* RTS5411 USB 2.1 */ { USB_DEVICE(VENDOR_ID_REALTEK, 0x0414) }, /* RTS5414 USB 3.2 */ { USB_DEVICE(VENDOR_ID_REALTEK, 0x5414) }, /* RTS5414 USB 2.1 */ + { USB_DEVICE(VENDOR_ID_TI, 0x8025) }, /* TI USB8020B 3.0 */ + { USB_DEVICE(VENDOR_ID_TI, 0x8027) }, /* TI USB8020B 2.0 */ { USB_DEVICE(VENDOR_ID_TI, 0x8140) }, /* TI USB8041 3.0 */ { USB_DEVICE(VENDOR_ID_TI, 0x8142) }, /* TI USB8041 2.0 */ { USB_DEVICE(VENDOR_ID_VIA, 0x0817) }, /* VIA VL817 3.1 */ diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h index 373192afd022..874473e60132 100644 --- a/drivers/usb/misc/onboard_usb_hub.h +++ b/drivers/usb/misc/onboard_usb_hub.h @@ -31,6 +31,11 @@ static const struct onboard_hub_pdata realtek_rts5411_data = { .num_supplies = 1, }; +static const struct onboard_hub_pdata ti_tusb8020b_data = { + .reset_us = 3000, + .num_supplies = 1, +}; + static const struct onboard_hub_pdata ti_tusb8041_data = { .reset_us = 3000, .num_supplies = 1, @@ -70,6 +75,8 @@ static const struct of_device_id onboard_hub_match[] = { { .compatible = "usb424,2744", .data = µchip_usb5744_data, }, { .compatible = "usb424,5733", .data = µchip_usb5734_data, }, { .compatible = "usb424,5744", .data = µchip_usb5744_data, }, + { .compatible = "usb451,8025", .data = &ti_tusb8020b_data, }, + { .compatible = "usb451,8027", .data = &ti_tusb8020b_data, }, { .compatible = "usb451,8140", .data = &ti_tusb8041_data, }, { .compatible = "usb451,8142", .data = &ti_tusb8041_data, }, { .compatible = "usb4b4,6504", .data = &cypress_hx3_data, }, -- 2.18.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] usb: misc: onboard_usb_hub: Add support for TI TUSB8020B 2024-02-27 9:02 ` [PATCH 2/2] usb: misc: onboard_usb_hub: Add support for TI TUSB8020B Macpaul Lin @ 2024-02-27 13:05 ` AngeloGioacchino Del Regno 2024-02-27 18:38 ` Matthias Kaehlcke 1 sibling, 0 replies; 5+ messages in thread From: AngeloGioacchino Del Regno @ 2024-02-27 13:05 UTC (permalink / raw) To: Macpaul Lin, Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Kaehlcke, Matthias Brugger, linux-usb, devicetree, linux-kernel, linux-arm-kernel, linux-mediatek Cc: Bear Wang, Pablo Sun, Macpaul Lin, Chunfeng Yun, Yow-shin Liou, MediaTek Chromebook Upstream, Chen-Yu Tsai Il 27/02/24 10:02, Macpaul Lin ha scritto: > The TI TUSB8020B is a 2-port USB 3.0 hub. Add support for > this hub in the driver in order to bring up reset, and supply > dependencies. > > Power-up: Issue a GPIO reset (GRSTz) 3ms after VDD and VDD33 stabilize. > > Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 2/2] usb: misc: onboard_usb_hub: Add support for TI TUSB8020B 2024-02-27 9:02 ` [PATCH 2/2] usb: misc: onboard_usb_hub: Add support for TI TUSB8020B Macpaul Lin 2024-02-27 13:05 ` AngeloGioacchino Del Regno @ 2024-02-27 18:38 ` Matthias Kaehlcke 1 sibling, 0 replies; 5+ messages in thread From: Matthias Kaehlcke @ 2024-02-27 18:38 UTC (permalink / raw) To: Macpaul Lin Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno, linux-usb, devicetree, linux-kernel, linux-arm-kernel, linux-mediatek, Bear Wang, Pablo Sun, Macpaul Lin, Chunfeng Yun, Yow-shin Liou, MediaTek Chromebook Upstream, Chen-Yu Tsai On Tue, Feb 27, 2024 at 05:02:28PM +0800, Macpaul Lin wrote: > The TI TUSB8020B is a 2-port USB 3.0 hub. Add support for > this hub in the driver in order to bring up reset, and supply > dependencies. > > Power-up: Issue a GPIO reset (GRSTz) 3ms after VDD and VDD33 stabilize. > > Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com> Generally this looks good to me, but it should probably wait for "usb: misc: onboard_dev: use device supply names" [1] to land and use a device specific supply name instead of 'vdd'. [1] https://lore.kernel.org/linux-usb/20240220-onboard_xvf3500-v4-6-dc1617cc5dd4@wolfvision.net/ ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] dt-bindings: usb: Add binding for TI USB8020B hub controller 2024-02-27 9:02 [PATCH 1/2] dt-bindings: usb: Add binding for TI USB8020B hub controller Macpaul Lin 2024-02-27 9:02 ` [PATCH 2/2] usb: misc: onboard_usb_hub: Add support for TI TUSB8020B Macpaul Lin @ 2024-02-27 18:07 ` Matthias Kaehlcke 1 sibling, 0 replies; 5+ messages in thread From: Matthias Kaehlcke @ 2024-02-27 18:07 UTC (permalink / raw) To: Macpaul Lin Cc: Greg Kroah-Hartman, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno, linux-usb, devicetree, linux-kernel, linux-arm-kernel, linux-mediatek, Bear Wang, Pablo Sun, Macpaul Lin, Chunfeng Yun, Yow-shin Liou, MediaTek Chromebook Upstream, Chen-Yu Tsai, Javier Carrasco On Tue, Feb 27, 2024 at 05:02:27PM +0800, Macpaul Lin wrote: > The TI USB8020B is a USB 3.0 hub controller with 2 ports. > > This initial version of the binding only describes USB related aspects > of the USB8020B, it does not cover the option of connecting the controller > as an i2c slave. > > Signed-off-by: Macpaul Lin <macpaul.lin@mediatek.com> > --- > .../devicetree/bindings/usb/ti,usb8020b.yaml | 69 +++++++++++++++++++ > 1 file changed, 69 insertions(+) > create mode 100644 Documentation/devicetree/bindings/usb/ti,usb8020b.yaml > > diff --git a/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml b/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml > new file mode 100644 > index 000000000000..8ef117793e11 > --- /dev/null > +++ b/Documentation/devicetree/bindings/usb/ti,usb8020b.yaml > @@ -0,0 +1,69 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/usb/ti,usb8020b.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: TI USB8020B USB 3.0 hub controller > + > +maintainers: > + - Macpaul Lin <macpaul.lin@mediatek.com> > + > +allOf: > + - $ref: usb-device.yaml# > + > +properties: > + compatible: > + enum: > + - usb451,8025 > + - usb451,8027 > + > + reg: true > + > + reset-gpios: > + items: > + - description: GPIO specifier for GRST# pin. > + > + vdd-supply: There is currently a rework of the onboard_usb_hub driver ongoing to support the actual names of the supplies, instead of the generic 'vdd-supply': https://lore.kernel.org/linux-usb/20240220-onboard_xvf3500-v4-0-dc1617cc5dd4@wolfvision.net/ I think for new bindings we should wait until this rework is done and the binding should have the hub specific supply name. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-02-27 18:38 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-02-27 9:02 [PATCH 1/2] dt-bindings: usb: Add binding for TI USB8020B hub controller Macpaul Lin 2024-02-27 9:02 ` [PATCH 2/2] usb: misc: onboard_usb_hub: Add support for TI TUSB8020B Macpaul Lin 2024-02-27 13:05 ` AngeloGioacchino Del Regno 2024-02-27 18:38 ` Matthias Kaehlcke 2024-02-27 18:07 ` [PATCH 1/2] dt-bindings: usb: Add binding for TI USB8020B hub controller Matthias Kaehlcke
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).