[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 1/1] hw/arm/sbsa-ref: use XHCI to replace EHCI
From: |
Graeme Gregory |
Subject: |
Re: [PATCH 1/1] hw/arm/sbsa-ref: use XHCI to replace EHCI |
Date: |
Wed, 31 May 2023 15:58:35 +0100 |
On Wed, May 31, 2023 at 03:02:29PM +0800, wangyuquan1236@phytium.com.cn wrote:
> From: Yuquan Wang <wangyuquan1236@phytium.com.cn>
>
> The current sbsa-ref cannot use EHCI controller which is only
> able to do 32-bit DMA, since sbsa-ref doesn't have RAM above 4GB.
> Hence, this uses XHCI to provide a usb controller with 64-bit
> DMA capablity instead of EHCI.
>
Should this be below 4G?
Also has EHCI never worked, or has it worked in some modes and so this
change should be versioned?
Graeme
> Signed-off-by: Yuquan Wang <wangyuquan1236@phytium.com.cn>
> Change-Id: I1376f8bbc0e25dcd9d8a22b6e061cb56b3486394
> ---
> hw/arm/sbsa-ref.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c
> index 792371fdce..f9c0647353 100644
> --- a/hw/arm/sbsa-ref.c
> +++ b/hw/arm/sbsa-ref.c
> @@ -81,7 +81,7 @@ enum {
> SBSA_SECURE_UART_MM,
> SBSA_SECURE_MEM,
> SBSA_AHCI,
> - SBSA_EHCI,
> + SBSA_XHCI,
> };
>
> struct SBSAMachineState {
> @@ -118,7 +118,7 @@ static const MemMapEntry sbsa_ref_memmap[] = {
> [SBSA_SMMU] = { 0x60050000, 0x00020000 },
> /* Space here reserved for more SMMUs */
> [SBSA_AHCI] = { 0x60100000, 0x00010000 },
> - [SBSA_EHCI] = { 0x60110000, 0x00010000 },
> + [SBSA_XHCI] = { 0x60110000, 0x00010000 },
> /* Space here reserved for other devices */
> [SBSA_PCIE_PIO] = { 0x7fff0000, 0x00010000 },
> /* 32-bit address PCIE MMIO space */
> @@ -138,7 +138,7 @@ static const int sbsa_ref_irqmap[] = {
> [SBSA_SECURE_UART] = 8,
> [SBSA_SECURE_UART_MM] = 9,
> [SBSA_AHCI] = 10,
> - [SBSA_EHCI] = 11,
> + [SBSA_XHCI] = 11,
> [SBSA_SMMU] = 12, /* ... to 15 */
> [SBSA_GWDT_WS0] = 16,
> };
> @@ -558,12 +558,12 @@ static void create_ahci(const SBSAMachineState *sms)
> }
> }
>
> -static void create_ehci(const SBSAMachineState *sms)
> +static void create_xhci(const SBSAMachineState *sms)
> {
> - hwaddr base = sbsa_ref_memmap[SBSA_EHCI].base;
> - int irq = sbsa_ref_irqmap[SBSA_EHCI];
> + hwaddr base = sbsa_ref_memmap[SBSA_XHCI].base;
> + int irq = sbsa_ref_irqmap[SBSA_XHCI];
>
> - sysbus_create_simple("platform-ehci-usb", base,
> + sysbus_create_simple("sysbus-xhci", base,
> qdev_get_gpio_in(sms->gic, irq));
> }
>
> @@ -785,7 +785,7 @@ static void sbsa_ref_init(MachineState *machine)
>
> create_ahci(sms);
>
> - create_ehci(sms);
> + create_xhci(sms);
>
> create_pcie(sms);
>
> --
> 2.34.1
>
>