* [PATCH 0/4] usb: misc: adopt onboard hub support on stm32mp1 boards
@ 2022-07-22 13:05 Fabrice Gasnier
2022-07-22 13:05 ` [PATCH 1/4] dt-bindings: usb: generic-ehci: allow usb-hcd schema properties Fabrice Gasnier
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Fabrice Gasnier @ 2022-07-22 13:05 UTC (permalink / raw)
To: gregkh, robh+dt, krzysztof.kozlowski+dt, mka, alexandre.torgue
Cc: arnd, linux-usb, devicetree, linux-kernel, linux-stm32,
linux-arm-kernel, amelie.delaunay
Add support for USB2514B HUB found on stm32mp1 boards:
- Extend the ehci-generic dt-binding to fully use the usb-hcd.yaml, and so
the usb-device.yaml.
- Add usb-device compatible ("usbVID,PID") for the USB2514B USB2.0 HUB to
the onboard_usb_hub driver.
- Add relevant device tree node to stm32mp15 DK boards.
- Enable the onboard_usb_hub driver on multi_v7 platforms.
Fabrice Gasnier (4):
dt-bindings: usb: generic-ehci: allow usb-hcd schema properties
usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub
ARM: dts: stm32: add support for USB2514B onboard hub on
stm32mp15xx-dkx
ARM: multi_v7_defconfig: enable USB onboard HUB driver
Documentation/devicetree/bindings/usb/generic-ehci.yaml | 7 +------
arch/arm/boot/dts/stm32mp15xx-dkx.dtsi | 8 ++++++++
arch/arm/configs/multi_v7_defconfig | 1 +
drivers/usb/misc/onboard_usb_hub.c | 2 ++
drivers/usb/misc/onboard_usb_hub.h | 1 +
5 files changed, 13 insertions(+), 6 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/4] dt-bindings: usb: generic-ehci: allow usb-hcd schema properties
2022-07-22 13:05 [PATCH 0/4] usb: misc: adopt onboard hub support on stm32mp1 boards Fabrice Gasnier
@ 2022-07-22 13:05 ` Fabrice Gasnier
2022-07-25 23:01 ` Rob Herring
2022-07-22 13:05 ` [PATCH 2/4] usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub Fabrice Gasnier
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Fabrice Gasnier @ 2022-07-22 13:05 UTC (permalink / raw)
To: gregkh, robh+dt, krzysztof.kozlowski+dt, mka, alexandre.torgue
Cc: arnd, linux-usb, devicetree, linux-kernel, linux-stm32,
linux-arm-kernel, amelie.delaunay
Allow properties and usb-device child nodes as defined in usb-hcd.yaml, by
using unevaluatedProperties: false. By the way, remove the "companion"
property as it's redundant with usb-hcd.yaml.
As example, this allows an onboard hub, to be described in generic-ehci
controller node:
usb {
compatible = "generic-ehci";
#address-cells = <1>;
#size-cells = <0>;
/* onboard HUB */
hub@1 {
compatible = "usb424,2514";
reg = <1>;
vdd-supply = <&v3v3>;
};
};
Without this, dtbs_check complains on '#address-cells', '#size-cells',
'hub@1' do not match any of the regexes: 'pinctrl-[0-9]+'
From schema: ..../generic-ehci.yaml
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
---
Documentation/devicetree/bindings/usb/generic-ehci.yaml | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/usb/generic-ehci.yaml b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
index 1e84e1b7ab271..e50c1cfaa1972 100644
--- a/Documentation/devicetree/bindings/usb/generic-ehci.yaml
+++ b/Documentation/devicetree/bindings/usb/generic-ehci.yaml
@@ -130,11 +130,6 @@ properties:
Set this flag to indicate that the hardware sometimes turns on
the OC bit when an over-current isn't actually present.
- companion:
- $ref: /schemas/types.yaml#/definitions/phandle
- description:
- Phandle of a companion.
-
phys:
minItems: 1
maxItems: 3
@@ -155,7 +150,7 @@ required:
- reg
- interrupts
-additionalProperties: false
+unevaluatedProperties: false
examples:
- |
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/4] usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub
2022-07-22 13:05 [PATCH 0/4] usb: misc: adopt onboard hub support on stm32mp1 boards Fabrice Gasnier
2022-07-22 13:05 ` [PATCH 1/4] dt-bindings: usb: generic-ehci: allow usb-hcd schema properties Fabrice Gasnier
@ 2022-07-22 13:05 ` Fabrice Gasnier
2022-07-22 16:00 ` Matthias Kaehlcke
2022-07-22 13:05 ` [PATCH 3/4] ARM: dts: stm32: add support for USB2514B onboard hub on stm32mp15xx-dkx Fabrice Gasnier
2022-07-22 13:05 ` [PATCH 4/4] ARM: multi_v7_defconfig: enable USB onboard HUB driver Fabrice Gasnier
3 siblings, 1 reply; 7+ messages in thread
From: Fabrice Gasnier @ 2022-07-22 13:05 UTC (permalink / raw)
To: gregkh, robh+dt, krzysztof.kozlowski+dt, mka, alexandre.torgue
Cc: arnd, linux-usb, devicetree, linux-kernel, linux-stm32,
linux-arm-kernel, amelie.delaunay
Add support for Microchip USB2514B USB 2.0 hub to the onboard usb hub
driver. Adopt the generic usb-device compatible ("usbVID,PID") as
discussed with Matthias in [1].
Some STM32MP1 boards have this hub on-board, with a supply that needs to
be enabled for proper operation.
[1] https://lore.kernel.org/lkml/YW9CUabfA0HrtTAq@google.com/
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
---
drivers/usb/misc/onboard_usb_hub.c | 2 ++
drivers/usb/misc/onboard_usb_hub.h | 1 +
2 files changed, 3 insertions(+)
diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c
index 6b9b949d17d30..929a4e724ec12 100644
--- a/drivers/usb/misc/onboard_usb_hub.c
+++ b/drivers/usb/misc/onboard_usb_hub.c
@@ -310,6 +310,7 @@ static struct platform_driver onboard_hub_driver = {
/************************** USB driver **************************/
#define VENDOR_ID_REALTEK 0x0bda
+#define VENDOR_ID_MICROCHIP 0x0424
/*
* Returns the onboard_hub platform device that is associated with the USB
@@ -387,6 +388,7 @@ 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_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 */
{}
};
MODULE_DEVICE_TABLE(usb, onboard_hub_id_table);
diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h
index d3a5b6938582e..43d6af4230dfd 100644
--- a/drivers/usb/misc/onboard_usb_hub.h
+++ b/drivers/usb/misc/onboard_usb_hub.h
@@ -11,6 +11,7 @@ static const struct of_device_id onboard_hub_match[] = {
{ .compatible = "usbbda,5411" },
{ .compatible = "usbbda,414" },
{ .compatible = "usbbda,5414" },
+ { .compatible = "usb424,2514" },
{}
};
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/4] ARM: dts: stm32: add support for USB2514B onboard hub on stm32mp15xx-dkx
2022-07-22 13:05 [PATCH 0/4] usb: misc: adopt onboard hub support on stm32mp1 boards Fabrice Gasnier
2022-07-22 13:05 ` [PATCH 1/4] dt-bindings: usb: generic-ehci: allow usb-hcd schema properties Fabrice Gasnier
2022-07-22 13:05 ` [PATCH 2/4] usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub Fabrice Gasnier
@ 2022-07-22 13:05 ` Fabrice Gasnier
2022-07-22 13:05 ` [PATCH 4/4] ARM: multi_v7_defconfig: enable USB onboard HUB driver Fabrice Gasnier
3 siblings, 0 replies; 7+ messages in thread
From: Fabrice Gasnier @ 2022-07-22 13:05 UTC (permalink / raw)
To: gregkh, robh+dt, krzysztof.kozlowski+dt, mka, alexandre.torgue
Cc: arnd, linux-usb, devicetree, linux-kernel, linux-stm32,
linux-arm-kernel, amelie.delaunay
Add support for USB2514B onboard hub on stm32mp15 DK boards. The HUB
is supplied by a 3v3 PMIC regulator.
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
---
arch/arm/boot/dts/stm32mp15xx-dkx.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi b/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
index 333c2af97130a..8b48d3c89a047 100644
--- a/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
+++ b/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
@@ -677,6 +677,14 @@ &usart3 {
&usbh_ehci {
phys = <&usbphyc_port0>;
status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ /* onboard HUB */
+ hub@1 {
+ compatible = "usb424,2514";
+ reg = <1>;
+ vdd-supply = <&v3v3>;
+ };
};
&usbotg_hs {
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/4] ARM: multi_v7_defconfig: enable USB onboard HUB driver
2022-07-22 13:05 [PATCH 0/4] usb: misc: adopt onboard hub support on stm32mp1 boards Fabrice Gasnier
` (2 preceding siblings ...)
2022-07-22 13:05 ` [PATCH 3/4] ARM: dts: stm32: add support for USB2514B onboard hub on stm32mp15xx-dkx Fabrice Gasnier
@ 2022-07-22 13:05 ` Fabrice Gasnier
3 siblings, 0 replies; 7+ messages in thread
From: Fabrice Gasnier @ 2022-07-22 13:05 UTC (permalink / raw)
To: gregkh, robh+dt, krzysztof.kozlowski+dt, mka, alexandre.torgue
Cc: arnd, linux-usb, devicetree, linux-kernel, linux-stm32,
linux-arm-kernel, amelie.delaunay
Enable the USB onboard HUB driver, used on STM32MP1 boards.
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
---
arch/arm/configs/multi_v7_defconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/configs/multi_v7_defconfig b/arch/arm/configs/multi_v7_defconfig
index ce9826bce29b3..d0f16b7f682bf 100644
--- a/arch/arm/configs/multi_v7_defconfig
+++ b/arch/arm/configs/multi_v7_defconfig
@@ -861,6 +861,7 @@ CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_ISP1760=y
CONFIG_USB_HSIC_USB3503=y
+CONFIG_USB_ONBOARD_HUB=m
CONFIG_AB8500_USB=y
CONFIG_KEYSTONE_USB_PHY=m
CONFIG_NOP_USB_XCEIV=y
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/4] usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub
2022-07-22 13:05 ` [PATCH 2/4] usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub Fabrice Gasnier
@ 2022-07-22 16:00 ` Matthias Kaehlcke
0 siblings, 0 replies; 7+ messages in thread
From: Matthias Kaehlcke @ 2022-07-22 16:00 UTC (permalink / raw)
To: Fabrice Gasnier
Cc: gregkh, robh+dt, krzysztof.kozlowski+dt, alexandre.torgue, arnd,
linux-usb, devicetree, linux-kernel, linux-stm32,
linux-arm-kernel, amelie.delaunay
Hi Fabrice
On Fri, Jul 22, 2022 at 03:05:52PM +0200, Fabrice Gasnier wrote:
> Add support for Microchip USB2514B USB 2.0 hub to the onboard usb hub
> driver. Adopt the generic usb-device compatible ("usbVID,PID") as
> discussed with Matthias in [1].
The reference isn't really relevant in the commit message.
> Some STM32MP1 boards have this hub on-board, with a supply that needs to
> be enabled for proper operation.
>
> [1] https://lore.kernel.org/lkml/YW9CUabfA0HrtTAq@google.com/
>
> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
> ---
> drivers/usb/misc/onboard_usb_hub.c | 2 ++
> drivers/usb/misc/onboard_usb_hub.h | 1 +
> 2 files changed, 3 insertions(+)
>
> diff --git a/drivers/usb/misc/onboard_usb_hub.c b/drivers/usb/misc/onboard_usb_hub.c
> index 6b9b949d17d30..929a4e724ec12 100644
> --- a/drivers/usb/misc/onboard_usb_hub.c
> +++ b/drivers/usb/misc/onboard_usb_hub.c
> @@ -310,6 +310,7 @@ static struct platform_driver onboard_hub_driver = {
> /************************** USB driver **************************/
>
> #define VENDOR_ID_REALTEK 0x0bda
> +#define VENDOR_ID_MICROCHIP 0x0424
nit: let's sort the vendor ids alphabetically
>
> /*
> * Returns the onboard_hub platform device that is associated with the USB
> @@ -387,6 +388,7 @@ 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_MICROCHIP, 0x2514) }, /* USB2514B USB 2.0 */
ditto
> {}
> };
> MODULE_DEVICE_TABLE(usb, onboard_hub_id_table);
> diff --git a/drivers/usb/misc/onboard_usb_hub.h b/drivers/usb/misc/onboard_usb_hub.h
> index d3a5b6938582e..43d6af4230dfd 100644
> --- a/drivers/usb/misc/onboard_usb_hub.h
> +++ b/drivers/usb/misc/onboard_usb_hub.h
> @@ -11,6 +11,7 @@ static const struct of_device_id onboard_hub_match[] = {
> { .compatible = "usbbda,5411" },
> { .compatible = "usbbda,414" },
> { .compatible = "usbbda,5414" },
> + { .compatible = "usb424,2514" },
Let's also sort the vendor ids alphanumerically (not necessarily applicable for
the product ids, here it makes sense to group the PIDs of the same hub chip
together).
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/4] dt-bindings: usb: generic-ehci: allow usb-hcd schema properties
2022-07-22 13:05 ` [PATCH 1/4] dt-bindings: usb: generic-ehci: allow usb-hcd schema properties Fabrice Gasnier
@ 2022-07-25 23:01 ` Rob Herring
0 siblings, 0 replies; 7+ messages in thread
From: Rob Herring @ 2022-07-25 23:01 UTC (permalink / raw)
To: Fabrice Gasnier
Cc: robh+dt, amelie.delaunay, devicetree, linux-arm-kernel, arnd,
mka, krzysztof.kozlowski+dt, linux-usb, linux-stm32,
alexandre.torgue, linux-kernel, gregkh
On Fri, 22 Jul 2022 15:05:51 +0200, Fabrice Gasnier wrote:
> Allow properties and usb-device child nodes as defined in usb-hcd.yaml, by
> using unevaluatedProperties: false. By the way, remove the "companion"
> property as it's redundant with usb-hcd.yaml.
> As example, this allows an onboard hub, to be described in generic-ehci
> controller node:
> usb {
> compatible = "generic-ehci";
> #address-cells = <1>;
> #size-cells = <0>;
> /* onboard HUB */
> hub@1 {
> compatible = "usb424,2514";
> reg = <1>;
> vdd-supply = <&v3v3>;
> };
> };
>
> Without this, dtbs_check complains on '#address-cells', '#size-cells',
> 'hub@1' do not match any of the regexes: 'pinctrl-[0-9]+'
> From schema: ..../generic-ehci.yaml
>
> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
> ---
> Documentation/devicetree/bindings/usb/generic-ehci.yaml | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
Reviewed-by: Rob Herring <robh@kernel.org>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-07-25 23:02 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-22 13:05 [PATCH 0/4] usb: misc: adopt onboard hub support on stm32mp1 boards Fabrice Gasnier
2022-07-22 13:05 ` [PATCH 1/4] dt-bindings: usb: generic-ehci: allow usb-hcd schema properties Fabrice Gasnier
2022-07-25 23:01 ` Rob Herring
2022-07-22 13:05 ` [PATCH 2/4] usb: misc: onboard-hub: add support for Microchip USB2514B USB 2.0 hub Fabrice Gasnier
2022-07-22 16:00 ` Matthias Kaehlcke
2022-07-22 13:05 ` [PATCH 3/4] ARM: dts: stm32: add support for USB2514B onboard hub on stm32mp15xx-dkx Fabrice Gasnier
2022-07-22 13:05 ` [PATCH 4/4] ARM: multi_v7_defconfig: enable USB onboard HUB driver Fabrice Gasnier
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).