hw/arm/Kconfig | 6 +++++- hw/usb/Kconfig | 4 ++++ hw/usb/meson.build | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-)
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(-)
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'))
--
2.48.1
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>
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
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'))
© 2016 - 2026 Red Hat, Inc.