All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU)
@ 2021-12-10  8:30 Troy Lee
  2021-12-10 12:58 ` Philippe Mathieu-Daudé
  2021-12-10 14:05 ` Cédric Le Goater
  0 siblings, 2 replies; 9+ messages in thread
From: Troy Lee @ 2021-12-10  8:30 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Andrew Jeffery, leetroy, open list:ASPEED BMCs,
	Cédric Le Goater, Joel Stanley

AST2600 Display Port MCU introduces 0x18000000~0x1803FFFF as it's memory
and io address. If guest machine try to access DPMCU memory, it will
cause a fatal error.

Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>
---
 hw/arm/aspeed_ast2600.c     | 8 ++++++++
 include/hw/arm/aspeed_soc.h | 2 ++
 2 files changed, 10 insertions(+)

diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
index 0384357a95..e33483fb5d 100644
--- a/hw/arm/aspeed_ast2600.c
+++ b/hw/arm/aspeed_ast2600.c
@@ -19,9 +19,11 @@
 #include "sysemu/sysemu.h"
 
 #define ASPEED_SOC_IOMEM_SIZE       0x00200000
+#define ASPEED_SOC_DPMCU_SIZE       0x00040000
 
 static const hwaddr aspeed_soc_ast2600_memmap[] = {
     [ASPEED_DEV_SRAM]      = 0x10000000,
+    [ASPEED_DEV_DPMCU]     = 0x18000000,
     /* 0x16000000     0x17FFFFFF : AHB BUS do LPC Bus bridge */
     [ASPEED_DEV_IOMEM]     = 0x1E600000,
     [ASPEED_DEV_PWM]       = 0x1E610000,
@@ -44,6 +46,7 @@ static const hwaddr aspeed_soc_ast2600_memmap[] = {
     [ASPEED_DEV_SCU]       = 0x1E6E2000,
     [ASPEED_DEV_XDMA]      = 0x1E6E7000,
     [ASPEED_DEV_ADC]       = 0x1E6E9000,
+    [ASPEED_DEV_DP]        = 0x1E6EB000,
     [ASPEED_DEV_VIDEO]     = 0x1E700000,
     [ASPEED_DEV_SDHCI]     = 0x1E740000,
     [ASPEED_DEV_EMMC]      = 0x1E750000,
@@ -104,6 +107,7 @@ static const int aspeed_soc_ast2600_irqmap[] = {
     [ASPEED_DEV_ETH3]      = 32,
     [ASPEED_DEV_ETH4]      = 33,
     [ASPEED_DEV_KCS]       = 138,   /* 138 -> 142 */
+    [ASPEED_DEV_DP]        = 62,
 };
 
 static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl)
@@ -298,6 +302,10 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
     memory_region_add_subregion(get_system_memory(),
                                 sc->memmap[ASPEED_DEV_SRAM], &s->sram);
 
+    /* DPMCU */
+    create_unimplemented_device("aspeed.dpmcu", sc->memmap[ASPEED_DEV_DPMCU],
+                                ASPEED_SOC_DPMCU_SIZE);
+
     /* SCU */
     if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) {
         return;
diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
index 8139358549..18fb7eed46 100644
--- a/include/hw/arm/aspeed_soc.h
+++ b/include/hw/arm/aspeed_soc.h
@@ -139,6 +139,8 @@ enum {
     ASPEED_DEV_EMMC,
     ASPEED_DEV_KCS,
     ASPEED_DEV_HACE,
+    ASPEED_DEV_DPMCU,
+    ASPEED_DEV_DP,
 };
 
 #endif /* ASPEED_SOC_H */
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU)
  2021-12-10  8:30 [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU) Troy Lee
@ 2021-12-10 12:58 ` Philippe Mathieu-Daudé
  2021-12-10 14:05 ` Cédric Le Goater
  1 sibling, 0 replies; 9+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-12-10 12:58 UTC (permalink / raw)
  To: Troy Lee, qemu-devel
  Cc: Peter Maydell, Andrew Jeffery, leetroy, open list:ASPEED BMCs,
	Cédric Le Goater, Joel Stanley

On 12/10/21 09:30, Troy Lee wrote:
> AST2600 Display Port MCU introduces 0x18000000~0x1803FFFF as it's memory
> and io address. If guest machine try to access DPMCU memory, it will
> cause a fatal error.
> 
> Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>
> ---
>  hw/arm/aspeed_ast2600.c     | 8 ++++++++
>  include/hw/arm/aspeed_soc.h | 2 ++
>  2 files changed, 10 insertions(+)

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU)
  2021-12-10  8:30 [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU) Troy Lee
  2021-12-10 12:58 ` Philippe Mathieu-Daudé
@ 2021-12-10 14:05 ` Cédric Le Goater
  2021-12-10 14:33   ` Troy Lee
  2022-01-06 17:41   ` Peter Maydell
  1 sibling, 2 replies; 9+ messages in thread
From: Cédric Le Goater @ 2021-12-10 14:05 UTC (permalink / raw)
  To: Troy Lee, qemu-devel
  Cc: Andrew Jeffery, Peter Maydell, leetroy, open list:ASPEED BMCs,
	Joel Stanley

On 12/10/21 09:30, Troy Lee wrote:
> AST2600 Display Port MCU introduces 0x18000000~0x1803FFFF as it's memory
> and io address. If guest machine try to access DPMCU memory, it will
> cause a fatal error.

The Aspeed SoCs have an "aspeed_soc.io" region for unimplemented devices
but it's too small. Anyhow, it is better to have per logic unit. We should
change that one day.

For my information, which FW image are you using ?

> Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>

Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.

> ---
>   hw/arm/aspeed_ast2600.c     | 8 ++++++++
>   include/hw/arm/aspeed_soc.h | 2 ++
>   2 files changed, 10 insertions(+)
> 
> diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
> index 0384357a95..e33483fb5d 100644
> --- a/hw/arm/aspeed_ast2600.c
> +++ b/hw/arm/aspeed_ast2600.c
> @@ -19,9 +19,11 @@
>   #include "sysemu/sysemu.h"
>   
>   #define ASPEED_SOC_IOMEM_SIZE       0x00200000
> +#define ASPEED_SOC_DPMCU_SIZE       0x00040000
>   
>   static const hwaddr aspeed_soc_ast2600_memmap[] = {
>       [ASPEED_DEV_SRAM]      = 0x10000000,
> +    [ASPEED_DEV_DPMCU]     = 0x18000000,
>       /* 0x16000000     0x17FFFFFF : AHB BUS do LPC Bus bridge */
>       [ASPEED_DEV_IOMEM]     = 0x1E600000,
>       [ASPEED_DEV_PWM]       = 0x1E610000,
> @@ -44,6 +46,7 @@ static const hwaddr aspeed_soc_ast2600_memmap[] = {
>       [ASPEED_DEV_SCU]       = 0x1E6E2000,
>       [ASPEED_DEV_XDMA]      = 0x1E6E7000,
>       [ASPEED_DEV_ADC]       = 0x1E6E9000,
> +    [ASPEED_DEV_DP]        = 0x1E6EB000,
>       [ASPEED_DEV_VIDEO]     = 0x1E700000,
>       [ASPEED_DEV_SDHCI]     = 0x1E740000,
>       [ASPEED_DEV_EMMC]      = 0x1E750000,
> @@ -104,6 +107,7 @@ static const int aspeed_soc_ast2600_irqmap[] = {
>       [ASPEED_DEV_ETH3]      = 32,
>       [ASPEED_DEV_ETH4]      = 33,
>       [ASPEED_DEV_KCS]       = 138,   /* 138 -> 142 */
> +    [ASPEED_DEV_DP]        = 62,
>   };
>   
>   static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl)
> @@ -298,6 +302,10 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
>       memory_region_add_subregion(get_system_memory(),
>                                   sc->memmap[ASPEED_DEV_SRAM], &s->sram);
>   
> +    /* DPMCU */
> +    create_unimplemented_device("aspeed.dpmcu", sc->memmap[ASPEED_DEV_DPMCU],
> +                                ASPEED_SOC_DPMCU_SIZE);
> +
>       /* SCU */
>       if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) {
>           return;
> diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
> index 8139358549..18fb7eed46 100644
> --- a/include/hw/arm/aspeed_soc.h
> +++ b/include/hw/arm/aspeed_soc.h
> @@ -139,6 +139,8 @@ enum {
>       ASPEED_DEV_EMMC,
>       ASPEED_DEV_KCS,
>       ASPEED_DEV_HACE,
> +    ASPEED_DEV_DPMCU,
> +    ASPEED_DEV_DP,
>   };
>   
>   #endif /* ASPEED_SOC_H */
> 



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU)
  2021-12-10 14:05 ` Cédric Le Goater
@ 2021-12-10 14:33   ` Troy Lee
  2021-12-10 15:13     ` Cédric Le Goater
  2022-01-06 17:41   ` Peter Maydell
  1 sibling, 1 reply; 9+ messages in thread
From: Troy Lee @ 2021-12-10 14:33 UTC (permalink / raw)
  To: Cédric Le Goater
  Cc: Peter Maydell, Andrew Jeffery, Troy Lee, qemu-devel,
	open list:ASPEED BMCs, Joel Stanley

On Fri, Dec 10, 2021 at 10:05 PM Cédric Le Goater <clg@kaod.org> wrote:
>
> On 12/10/21 09:30, Troy Lee wrote:
> > AST2600 Display Port MCU introduces 0x18000000~0x1803FFFF as it's memory
> > and io address. If guest machine try to access DPMCU memory, it will
> > cause a fatal error.
>
> The Aspeed SoCs have an "aspeed_soc.io" region for unimplemented devices
> but it's too small. Anyhow, it is better to have per logic unit. We should
> change that one day.
>
Good idea!

> For my information, which FW image are you using ?
>

We're using Aspeed's SDK image, I tested with ast2600-default machine.
Prebuilt image can be download from:
https://github.com/AspeedTech-BMC/openbmc/releases/tag/v07.02

Without declaring the DPMCU memory, the image will hangs in u-boot.
We're still working on I3C and SPI issue to be resolved to get into rootfs.

Thanks for your review.
Troy Lee

> > Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>
>
> Reviewed-by: Cédric Le Goater <clg@kaod.org>
>
> Thanks,
>
> C.
>
> > ---
> >   hw/arm/aspeed_ast2600.c     | 8 ++++++++
> >   include/hw/arm/aspeed_soc.h | 2 ++
> >   2 files changed, 10 insertions(+)
> >
> > diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
> > index 0384357a95..e33483fb5d 100644
> > --- a/hw/arm/aspeed_ast2600.c
> > +++ b/hw/arm/aspeed_ast2600.c
> > @@ -19,9 +19,11 @@
> >   #include "sysemu/sysemu.h"
> >
> >   #define ASPEED_SOC_IOMEM_SIZE       0x00200000
> > +#define ASPEED_SOC_DPMCU_SIZE       0x00040000
> >
> >   static const hwaddr aspeed_soc_ast2600_memmap[] = {
> >       [ASPEED_DEV_SRAM]      = 0x10000000,
> > +    [ASPEED_DEV_DPMCU]     = 0x18000000,
> >       /* 0x16000000     0x17FFFFFF : AHB BUS do LPC Bus bridge */
> >       [ASPEED_DEV_IOMEM]     = 0x1E600000,
> >       [ASPEED_DEV_PWM]       = 0x1E610000,
> > @@ -44,6 +46,7 @@ static const hwaddr aspeed_soc_ast2600_memmap[] = {
> >       [ASPEED_DEV_SCU]       = 0x1E6E2000,
> >       [ASPEED_DEV_XDMA]      = 0x1E6E7000,
> >       [ASPEED_DEV_ADC]       = 0x1E6E9000,
> > +    [ASPEED_DEV_DP]        = 0x1E6EB000,
> >       [ASPEED_DEV_VIDEO]     = 0x1E700000,
> >       [ASPEED_DEV_SDHCI]     = 0x1E740000,
> >       [ASPEED_DEV_EMMC]      = 0x1E750000,
> > @@ -104,6 +107,7 @@ static const int aspeed_soc_ast2600_irqmap[] = {
> >       [ASPEED_DEV_ETH3]      = 32,
> >       [ASPEED_DEV_ETH4]      = 33,
> >       [ASPEED_DEV_KCS]       = 138,   /* 138 -> 142 */
> > +    [ASPEED_DEV_DP]        = 62,
> >   };
> >
> >   static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl)
> > @@ -298,6 +302,10 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
> >       memory_region_add_subregion(get_system_memory(),
> >                                   sc->memmap[ASPEED_DEV_SRAM], &s->sram);
> >
> > +    /* DPMCU */
> > +    create_unimplemented_device("aspeed.dpmcu", sc->memmap[ASPEED_DEV_DPMCU],
> > +                                ASPEED_SOC_DPMCU_SIZE);
> > +
> >       /* SCU */
> >       if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) {
> >           return;
> > diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
> > index 8139358549..18fb7eed46 100644
> > --- a/include/hw/arm/aspeed_soc.h
> > +++ b/include/hw/arm/aspeed_soc.h
> > @@ -139,6 +139,8 @@ enum {
> >       ASPEED_DEV_EMMC,
> >       ASPEED_DEV_KCS,
> >       ASPEED_DEV_HACE,
> > +    ASPEED_DEV_DPMCU,
> > +    ASPEED_DEV_DP,
> >   };
> >
> >   #endif /* ASPEED_SOC_H */
> >
>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU)
  2021-12-10 14:33   ` Troy Lee
@ 2021-12-10 15:13     ` Cédric Le Goater
  2021-12-14  7:57       ` Troy Lee
  0 siblings, 1 reply; 9+ messages in thread
From: Cédric Le Goater @ 2021-12-10 15:13 UTC (permalink / raw)
  To: Troy Lee
  Cc: Peter Maydell, Andrew Jeffery, Troy Lee, qemu-devel,
	open list:ASPEED BMCs, Joel Stanley

On 12/10/21 15:33, Troy Lee wrote:
> On Fri, Dec 10, 2021 at 10:05 PM Cédric Le Goater <clg@kaod.org> wrote:
>>
>> On 12/10/21 09:30, Troy Lee wrote:
>>> AST2600 Display Port MCU introduces 0x18000000~0x1803FFFF as it's memory
>>> and io address. If guest machine try to access DPMCU memory, it will
>>> cause a fatal error.
>>
>> The Aspeed SoCs have an "aspeed_soc.io" region for unimplemented devices
>> but it's too small. Anyhow, it is better to have per logic unit. We should
>> change that one day.
>>
> Good idea!
> 
>> For my information, which FW image are you using ?
>>
> 
> We're using Aspeed's SDK image, I tested with ast2600-default machine.
> Prebuilt image can be download from:
> https://github.com/AspeedTech-BMC/openbmc/releases/tag/v07.02

Excellent ! Is there one I could try in particular ?


Once correctly supported, we should include one of these SDK images in :

   tests/avocado/boot_linux_console.py

to complete our tests of the device models.

QEMU is not making much difference between the revision. You might need
to improve that.

> Without declaring the DPMCU memory, the image will hangs in u-boot.

yeah. You can use -d guest_errors,unimp to catch accesses done on AHB
windows not covered by the QEMU models. There are plenty of ways to
move past U-Boot when models are not implemented yet. Don't waste
too much time, just ask.

eMMC is only on these branches :

   https://github.com/openbmc/qemu/
   https://github.com/legoater/qemu/

Same for SBC and support is primitive.

> We're still working on I3C and SPI issue to be resolved to get into rootfs.

I3C has not much support in Linux and none in QEMU. You will have to
add dummy models.

SPI as a non-SPI flash driver ? The SPI flash controller models should
be quite well covered today. What's the issue ?

Thanks,

C.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU)
  2021-12-10 15:13     ` Cédric Le Goater
@ 2021-12-14  7:57       ` Troy Lee
  2021-12-14  8:19         ` Cédric Le Goater
  0 siblings, 1 reply; 9+ messages in thread
From: Troy Lee @ 2021-12-14  7:57 UTC (permalink / raw)
  To: Cédric Le Goater
  Cc: Peter Maydell, Andrew Jeffery, Troy Lee, qemu-devel,
	open list:ASPEED BMCs, Joel Stanley

On Fri, Dec 10, 2021 at 11:13 PM Cédric Le Goater <clg@kaod.org> wrote:
>
> On 12/10/21 15:33, Troy Lee wrote:
> > On Fri, Dec 10, 2021 at 10:05 PM Cédric Le Goater <clg@kaod.org> wrote:
> >>
> >> On 12/10/21 09:30, Troy Lee wrote:
> >>> AST2600 Display Port MCU introduces 0x18000000~0x1803FFFF as it's memory
> >>> and io address. If guest machine try to access DPMCU memory, it will
> >>> cause a fatal error.
> >>
> >> The Aspeed SoCs have an "aspeed_soc.io" region for unimplemented devices
> >> but it's too small. Anyhow, it is better to have per logic unit. We should
> >> change that one day.
> >>
> > Good idea!
> >
> >> For my information, which FW image are you using ?
> >>
> >
> > We're using Aspeed's SDK image, I tested with ast2600-default machine.
> > Prebuilt image can be download from:
> > https://github.com/AspeedTech-BMC/openbmc/releases/tag/v07.02
>
> Excellent ! Is there one I could try in particular ?
You could use ast2600-default-obmc.tgz, but we will send another patch
for HACE engine.

>
>
> Once correctly supported, we should include one of these SDK images in :
>
>    tests/avocado/boot_linux_console.py
>
> to complete our tests of the device models.
Sure, once the image successfully boots into rootfs, I'll add a test
case for it.

> QEMU is not making much difference between the revision. You might need
> to improve that.
>
> > Without declaring the DPMCU memory, the image will hangs in u-boot.
>
> yeah. You can use -d guest_errors,unimp to catch accesses done on AHB
> windows not covered by the QEMU models. There are plenty of ways to
> move past U-Boot when models are not implemented yet. Don't waste
> too much time, just ask.
>
> eMMC is only on these branches :
>
>    https://github.com/openbmc/qemu/
>    https://github.com/legoater/qemu/
These two branches are very useful!

> Same for SBC and support is primitive.
>
> > We're still working on I3C and SPI issue to be resolved to get into rootfs.
>
> I3C has not much support in Linux and none in QEMU. You will have to
> add dummy models.
Can I submit a dummy model that only responds to the RESET control register?
Or it has to be well implemented like i2c/core.c and i2c/aspeed_i2c.c?


> SPI as a non-SPI flash driver ? The SPI flash controller models should
> be quite well covered today. What's the issue ?
I need some more investigation, because we're using a different spi
driver for fmc-spi.

>
> Thanks,
>
> C.

Thanks,
Troy Lee


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU)
  2021-12-14  7:57       ` Troy Lee
@ 2021-12-14  8:19         ` Cédric Le Goater
  0 siblings, 0 replies; 9+ messages in thread
From: Cédric Le Goater @ 2021-12-14  8:19 UTC (permalink / raw)
  To: Troy Lee
  Cc: Peter Maydell, Andrew Jeffery, Troy Lee, qemu-devel,
	open list:ASPEED BMCs, Joel Stanley

On 12/14/21 08:57, Troy Lee wrote:
> On Fri, Dec 10, 2021 at 11:13 PM Cédric Le Goater <clg@kaod.org> wrote:
>>
>> On 12/10/21 15:33, Troy Lee wrote:
>>> On Fri, Dec 10, 2021 at 10:05 PM Cédric Le Goater <clg@kaod.org> wrote:
>>>>
>>>> On 12/10/21 09:30, Troy Lee wrote:
>>>>> AST2600 Display Port MCU introduces 0x18000000~0x1803FFFF as it's memory
>>>>> and io address. If guest machine try to access DPMCU memory, it will
>>>>> cause a fatal error.
>>>>
>>>> The Aspeed SoCs have an "aspeed_soc.io" region for unimplemented devices
>>>> but it's too small. Anyhow, it is better to have per logic unit. We should
>>>> change that one day.
>>>>
>>> Good idea!
>>>
>>>> For my information, which FW image are you using ?
>>>>
>>>
>>> We're using Aspeed's SDK image, I tested with ast2600-default machine.
>>> Prebuilt image can be download from:
>>> https://github.com/AspeedTech-BMC/openbmc/releases/tag/v07.02
>>
>> Excellent ! Is there one I could try in particular ?
> You could use ast2600-default-obmc.tgz, but we will send another patch
> for HACE engine.
> 
>>
>>
>> Once correctly supported, we should include one of these SDK images in :
>>
>>     tests/avocado/boot_linux_console.py
>>
>> to complete our tests of the device models.
> Sure, once the image successfully boots into rootfs, I'll add a test
> case for it.

yeah. No hurries.

>> QEMU is not making much difference between the revision. You might need
>> to improve that.
>>
>>> Without declaring the DPMCU memory, the image will hangs in u-boot.
>>
>> yeah. You can use -d guest_errors,unimp to catch accesses done on AHB
>> windows not covered by the QEMU models. There are plenty of ways to
>> move past U-Boot when models are not implemented yet. Don't waste
>> too much time, just ask.
>>
>> eMMC is only on these branches :
>>
>>     https://github.com/openbmc/qemu/
>>     https://github.com/legoater/qemu/
> These two branches are very useful!

One day, we should try to upstream eMMC support.
  
>> Same for SBC and support is primitive.
>>
>>> We're still working on I3C and SPI issue to be resolved to get into rootfs.
>>
>> I3C has not much support in Linux and none in QEMU. You will have to
>> add dummy models.
> Can I submit a dummy model that only responds to the RESET control register?

yes.

> Or it has to be well implemented like i2c/core.c and i2c/aspeed_i2c.c?

No it can be dummy to start with.

>> SPI as a non-SPI flash driver ? The SPI flash controller models should
>> be quite well covered today. What's the issue ?
> I need some more investigation, because we're using a different spi
> driver for fmc-spi.

Is that the one written by Chin-Ting Kuo in 2020 ? If so, I did send
some adjustment of the model for it, such as address lane disablement,
but there might be more to it.

Thanks,

C.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU)
  2021-12-10 14:05 ` Cédric Le Goater
  2021-12-10 14:33   ` Troy Lee
@ 2022-01-06 17:41   ` Peter Maydell
  1 sibling, 0 replies; 9+ messages in thread
From: Peter Maydell @ 2022-01-06 17:41 UTC (permalink / raw)
  To: Cédric Le Goater
  Cc: Andrew Jeffery, Troy Lee, qemu-devel, leetroy,
	open list:ASPEED BMCs, Joel Stanley

On Fri, 10 Dec 2021 at 14:05, Cédric Le Goater <clg@kaod.org> wrote:
>
> On 12/10/21 09:30, Troy Lee wrote:
> > AST2600 Display Port MCU introduces 0x18000000~0x1803FFFF as it's memory
> > and io address. If guest machine try to access DPMCU memory, it will
> > cause a fatal error.
>
> The Aspeed SoCs have an "aspeed_soc.io" region for unimplemented devices
> but it's too small. Anyhow, it is better to have per logic unit. We should
> change that one day.
>
> For my information, which FW image are you using ?
>
> > Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>
>
> Reviewed-by: Cédric Le Goater <clg@kaod.org>



Applied to target-arm.next, thanks.

-- PMM


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU)
@ 2021-12-10  8:04 Troy Lee
  0 siblings, 0 replies; 9+ messages in thread
From: Troy Lee @ 2021-12-10  8:04 UTC (permalink / raw)
  To: qemu-devel
  Cc: Andrew Jeffery, Peter Maydell, open list:ASPEED BMCs,
	Cédric Le Goater, Joel Stanley

AST2600 Display Port MCU introduces 0x18000000~0x1803FFFF as it's memory
and io address. If guest machine try to access DPMCU memory, it will
cause a fatal error.

Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>
---
 hw/arm/aspeed_ast2600.c     | 8 ++++++++
 include/hw/arm/aspeed_soc.h | 2 ++
 2 files changed, 10 insertions(+)

diff --git a/hw/arm/aspeed_ast2600.c b/hw/arm/aspeed_ast2600.c
index 0384357a95..e33483fb5d 100644
--- a/hw/arm/aspeed_ast2600.c
+++ b/hw/arm/aspeed_ast2600.c
@@ -19,9 +19,11 @@
 #include "sysemu/sysemu.h"
 
 #define ASPEED_SOC_IOMEM_SIZE       0x00200000
+#define ASPEED_SOC_DPMCU_SIZE       0x00040000
 
 static const hwaddr aspeed_soc_ast2600_memmap[] = {
     [ASPEED_DEV_SRAM]      = 0x10000000,
+    [ASPEED_DEV_DPMCU]     = 0x18000000,
     /* 0x16000000     0x17FFFFFF : AHB BUS do LPC Bus bridge */
     [ASPEED_DEV_IOMEM]     = 0x1E600000,
     [ASPEED_DEV_PWM]       = 0x1E610000,
@@ -44,6 +46,7 @@ static const hwaddr aspeed_soc_ast2600_memmap[] = {
     [ASPEED_DEV_SCU]       = 0x1E6E2000,
     [ASPEED_DEV_XDMA]      = 0x1E6E7000,
     [ASPEED_DEV_ADC]       = 0x1E6E9000,
+    [ASPEED_DEV_DP]        = 0x1E6EB000,
     [ASPEED_DEV_VIDEO]     = 0x1E700000,
     [ASPEED_DEV_SDHCI]     = 0x1E740000,
     [ASPEED_DEV_EMMC]      = 0x1E750000,
@@ -104,6 +107,7 @@ static const int aspeed_soc_ast2600_irqmap[] = {
     [ASPEED_DEV_ETH3]      = 32,
     [ASPEED_DEV_ETH4]      = 33,
     [ASPEED_DEV_KCS]       = 138,   /* 138 -> 142 */
+    [ASPEED_DEV_DP]        = 62,
 };
 
 static qemu_irq aspeed_soc_get_irq(AspeedSoCState *s, int ctrl)
@@ -298,6 +302,10 @@ static void aspeed_soc_ast2600_realize(DeviceState *dev, Error **errp)
     memory_region_add_subregion(get_system_memory(),
                                 sc->memmap[ASPEED_DEV_SRAM], &s->sram);
 
+    /* DPMCU */
+    create_unimplemented_device("aspeed.dpmcu", sc->memmap[ASPEED_DEV_DPMCU],
+                                ASPEED_SOC_DPMCU_SIZE);
+
     /* SCU */
     if (!sysbus_realize(SYS_BUS_DEVICE(&s->scu), errp)) {
         return;
diff --git a/include/hw/arm/aspeed_soc.h b/include/hw/arm/aspeed_soc.h
index 8139358549..18fb7eed46 100644
--- a/include/hw/arm/aspeed_soc.h
+++ b/include/hw/arm/aspeed_soc.h
@@ -139,6 +139,8 @@ enum {
     ASPEED_DEV_EMMC,
     ASPEED_DEV_KCS,
     ASPEED_DEV_HACE,
+    ASPEED_DEV_DPMCU,
+    ASPEED_DEV_DP,
 };
 
 #endif /* ASPEED_SOC_H */
-- 
2.25.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2022-01-06 17:43 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-10  8:30 [PATCH v1] Add dummy Aspeed AST2600 Display Port MCU (DPMCU) Troy Lee
2021-12-10 12:58 ` Philippe Mathieu-Daudé
2021-12-10 14:05 ` Cédric Le Goater
2021-12-10 14:33   ` Troy Lee
2021-12-10 15:13     ` Cédric Le Goater
2021-12-14  7:57       ` Troy Lee
2021-12-14  8:19         ` Cédric Le Goater
2022-01-06 17:41   ` Peter Maydell
  -- strict thread matches above, loose matches on Subject: below --
2021-12-10  8:04 Troy Lee

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.