diff mbox series

Kconfig: Extract CONFIG_USB_CHIPIDEA from CONFIG_IMX

Message ID 20250209103604.29545-1-shentey@gmail.com (mailing list archive)
State New
Headers show
Series Kconfig: Extract CONFIG_USB_CHIPIDEA from CONFIG_IMX | expand

Commit Message

Bernhard Beschow Feb. 9, 2025, 10:36 a.m. UTC
TYPE_CHIPIDEA models an IP block which is also used in TYPE_ZYNQ_MACHINE which
itself is not an IMX device. CONFIG_ZYNQ selects CONFIG_USB_EHCI_SYSBUS while
TYPE_CHIPIDEA is a separate compilation unit, so only works by accident if
CONFIG_IMX is given. Fix that by extracting CONFIG_USB_CHIPIDEA from CONFIG_IMX.

Fixes: 616ec12d0fcc "hw/arm/xilinx_zynq: Fix USB port instantiation"
Signed-off-by: Bernhard Beschow <shentey@gmail.com>
cc: qemu-stable
---
 hw/arm/Kconfig     | 6 +++++-
 hw/usb/Kconfig     | 4 ++++
 hw/usb/meson.build | 2 +-
 3 files changed, 10 insertions(+), 2 deletions(-)

Comments

Bernhard Beschow Feb. 17, 2025, 8:23 p.m. UTC | #1
Am 9. Februar 2025 10:36:04 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>TYPE_CHIPIDEA models an IP block which is also used in TYPE_ZYNQ_MACHINE which
>itself is not an IMX device. CONFIG_ZYNQ selects CONFIG_USB_EHCI_SYSBUS while
>TYPE_CHIPIDEA is a separate compilation unit, so only works by accident if
>CONFIG_IMX is given. Fix that by extracting CONFIG_USB_CHIPIDEA from CONFIG_IMX.
>
>Fixes: 616ec12d0fcc "hw/arm/xilinx_zynq: Fix USB port instantiation"
>Signed-off-by: Bernhard Beschow <shentey@gmail.com>
>cc: qemu-stable
>---
> hw/arm/Kconfig     | 6 +++++-
> hw/usb/Kconfig     | 4 ++++
> hw/usb/meson.build | 2 +-
> 3 files changed, 10 insertions(+), 2 deletions(-)

Ping

>
>diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
>index 256013ca80..7eab3914d4 100644
>--- a/hw/arm/Kconfig
>+++ b/hw/arm/Kconfig
>@@ -303,7 +303,7 @@ config ZYNQ
>     select PL330
>     select SDHCI
>     select SSI_M25P80
>-    select USB_EHCI_SYSBUS
>+    select USB_CHIPIDEA
>     select XILINX # UART
>     select XILINX_AXI
>     select XILINX_SPI
>@@ -489,6 +489,7 @@ config FSL_IMX25
>     select IMX
>     select IMX_FEC
>     select IMX_I2C
>+    select USB_CHIPIDEA
>     select WDT_IMX2
>     select SDHCI
> 
>@@ -516,6 +517,7 @@ config FSL_IMX6
>     select PL310  # cache controller
>     select PCI_EXPRESS_DESIGNWARE
>     select SDHCI
>+    select USB_CHIPIDEA
>     select OR_IRQ
> 
> config ASPEED_SOC
>@@ -576,6 +578,7 @@ config FSL_IMX7
>     select SDHCI
>     select OR_IRQ
>     select UNIMP
>+    select USB_CHIPIDEA
> 
> config ARM_SMMUV3
>     bool
>@@ -591,6 +594,7 @@ config FSL_IMX6UL
>     select IMX_I2C
>     select WDT_IMX2
>     select SDHCI
>+    select USB_CHIPIDEA
>     select UNIMP
> 
> config MICROBIT
>diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig
>index 5fbecd2f43..69c663be52 100644
>--- a/hw/usb/Kconfig
>+++ b/hw/usb/Kconfig
>@@ -143,3 +143,7 @@ config USB_DWC3
> config XLNX_USB_SUBSYS
>     bool
>     select USB_DWC3
>+
>+config USB_CHIPIDEA
>+    bool
>+    select USB_EHCI_SYSBUS
>diff --git a/hw/usb/meson.build b/hw/usb/meson.build
>index 1b4d1507e4..17360a5b5a 100644
>--- a/hw/usb/meson.build
>+++ b/hw/usb/meson.build
>@@ -25,8 +25,8 @@ system_ss.add(when: 'CONFIG_USB_XHCI_SYSBUS', if_true: files('hcd-xhci-sysbus.c'
> system_ss.add(when: 'CONFIG_USB_XHCI_NEC', if_true: files('hcd-xhci-nec.c'))
> system_ss.add(when: 'CONFIG_USB_DWC2', if_true: files('hcd-dwc2.c'))
> system_ss.add(when: 'CONFIG_USB_DWC3', if_true: files('hcd-dwc3.c'))
>+system_ss.add(when: 'CONFIG_USB_CHIPIDEA', if_true: files('chipidea.c'))
> 
>-system_ss.add(when: 'CONFIG_IMX', if_true: files('chipidea.c'))
> system_ss.add(when: 'CONFIG_IMX_USBPHY', if_true: files('imx-usb-phy.c'))
> system_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686-uhci-pci.c'))
> system_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files('xlnx-versal-usb2-ctrl-regs.c'))
Peter Maydell Feb. 20, 2025, 2:09 p.m. UTC | #2
On Sun, 9 Feb 2025 at 10:36, Bernhard Beschow <shentey@gmail.com> wrote:
>
> TYPE_CHIPIDEA models an IP block which is also used in TYPE_ZYNQ_MACHINE which
> itself is not an IMX device. CONFIG_ZYNQ selects CONFIG_USB_EHCI_SYSBUS while
> TYPE_CHIPIDEA is a separate compilation unit, so only works by accident if
> CONFIG_IMX is given. Fix that by extracting CONFIG_USB_CHIPIDEA from CONFIG_IMX.
>
> Fixes: 616ec12d0fcc "hw/arm/xilinx_zynq: Fix USB port instantiation"
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> cc: qemu-stable



Applied to target-arm.next, thanks.

-- PMM
Philippe Mathieu-Daudé Feb. 20, 2025, 10:23 p.m. UTC | #3
On 9/2/25 11:36, Bernhard Beschow wrote:
> TYPE_CHIPIDEA models an IP block which is also used in TYPE_ZYNQ_MACHINE which
> itself is not an IMX device. CONFIG_ZYNQ selects CONFIG_USB_EHCI_SYSBUS while
> TYPE_CHIPIDEA is a separate compilation unit, so only works by accident if
> CONFIG_IMX is given. Fix that by extracting CONFIG_USB_CHIPIDEA from CONFIG_IMX.
> 
> Fixes: 616ec12d0fcc "hw/arm/xilinx_zynq: Fix USB port instantiation"
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> cc: qemu-stable
> ---
>   hw/arm/Kconfig     | 6 +++++-
>   hw/usb/Kconfig     | 4 ++++
>   hw/usb/meson.build | 2 +-
>   3 files changed, 10 insertions(+), 2 deletions(-)

Maybe "hw/usb/Kconfig: " prefix in patch subject, otherwise thanks!

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
diff mbox series

Patch

diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig
index 256013ca80..7eab3914d4 100644
--- a/hw/arm/Kconfig
+++ b/hw/arm/Kconfig
@@ -303,7 +303,7 @@  config ZYNQ
     select PL330
     select SDHCI
     select SSI_M25P80
-    select USB_EHCI_SYSBUS
+    select USB_CHIPIDEA
     select XILINX # UART
     select XILINX_AXI
     select XILINX_SPI
@@ -489,6 +489,7 @@  config FSL_IMX25
     select IMX
     select IMX_FEC
     select IMX_I2C
+    select USB_CHIPIDEA
     select WDT_IMX2
     select SDHCI
 
@@ -516,6 +517,7 @@  config FSL_IMX6
     select PL310  # cache controller
     select PCI_EXPRESS_DESIGNWARE
     select SDHCI
+    select USB_CHIPIDEA
     select OR_IRQ
 
 config ASPEED_SOC
@@ -576,6 +578,7 @@  config FSL_IMX7
     select SDHCI
     select OR_IRQ
     select UNIMP
+    select USB_CHIPIDEA
 
 config ARM_SMMUV3
     bool
@@ -591,6 +594,7 @@  config FSL_IMX6UL
     select IMX_I2C
     select WDT_IMX2
     select SDHCI
+    select USB_CHIPIDEA
     select UNIMP
 
 config MICROBIT
diff --git a/hw/usb/Kconfig b/hw/usb/Kconfig
index 5fbecd2f43..69c663be52 100644
--- a/hw/usb/Kconfig
+++ b/hw/usb/Kconfig
@@ -143,3 +143,7 @@  config USB_DWC3
 config XLNX_USB_SUBSYS
     bool
     select USB_DWC3
+
+config USB_CHIPIDEA
+    bool
+    select USB_EHCI_SYSBUS
diff --git a/hw/usb/meson.build b/hw/usb/meson.build
index 1b4d1507e4..17360a5b5a 100644
--- a/hw/usb/meson.build
+++ b/hw/usb/meson.build
@@ -25,8 +25,8 @@  system_ss.add(when: 'CONFIG_USB_XHCI_SYSBUS', if_true: files('hcd-xhci-sysbus.c'
 system_ss.add(when: 'CONFIG_USB_XHCI_NEC', if_true: files('hcd-xhci-nec.c'))
 system_ss.add(when: 'CONFIG_USB_DWC2', if_true: files('hcd-dwc2.c'))
 system_ss.add(when: 'CONFIG_USB_DWC3', if_true: files('hcd-dwc3.c'))
+system_ss.add(when: 'CONFIG_USB_CHIPIDEA', if_true: files('chipidea.c'))
 
-system_ss.add(when: 'CONFIG_IMX', if_true: files('chipidea.c'))
 system_ss.add(when: 'CONFIG_IMX_USBPHY', if_true: files('imx-usb-phy.c'))
 system_ss.add(when: 'CONFIG_VT82C686', if_true: files('vt82c686-uhci-pci.c'))
 system_ss.add(when: 'CONFIG_XLNX_VERSAL', if_true: files('xlnx-versal-usb2-ctrl-regs.c'))