All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Adds quanta-gbs-bmc machine to nuvoton boards.
@ 2021-05-18 19:47 Patrick Venture
  2021-05-18 19:47 ` [PATCH 1/2] hw/arm: add quanta-gbs-bmc machine Patrick Venture
  2021-05-18 19:47 ` [PATCH 2/2] hw/arm: quanta-gbs-bmc add i2c comments Patrick Venture
  0 siblings, 2 replies; 6+ messages in thread
From: Patrick Venture @ 2021-05-18 19:47 UTC (permalink / raw)
  To: hskinnemoen, kfting; +Cc: qemu-arm, qemu-devel, Patrick Venture

This is a board supported by OpenBmc.

Patrick Venture (2):
  hw/arm: add quanta-gbs-bmc machine
  hw/arm: quanta-gbs-bmc add i2c comments

 hw/arm/npcm7xx_boards.c | 93 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 93 insertions(+)

-- 
2.31.1.751.gd2f1c929bd-goog



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

* [PATCH 1/2] hw/arm: add quanta-gbs-bmc machine
  2021-05-18 19:47 [PATCH 0/2] Adds quanta-gbs-bmc machine to nuvoton boards Patrick Venture
@ 2021-05-18 19:47 ` Patrick Venture
  2021-05-27  9:33   ` Peter Maydell
  2021-05-18 19:47 ` [PATCH 2/2] hw/arm: quanta-gbs-bmc add i2c comments Patrick Venture
  1 sibling, 1 reply; 6+ messages in thread
From: Patrick Venture @ 2021-05-18 19:47 UTC (permalink / raw)
  To: hskinnemoen, kfting
  Cc: qemu-arm, qemu-devel, Patrick Venture, Brandon Kim, Hao Wu

Adds initial quanta-gbs-bmc machine support.

Tested: Boots to userspace.
Signed-off-by: Patrick Venture <venture@google.com>
Reviewed-by: Brandon Kim <brandonkim@google.com>
Reviewed-by: Hao Wu <wuhaotsh@google.com>
---
 hw/arm/npcm7xx_boards.c | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c
index d4553e3786..34a214fe79 100644
--- a/hw/arm/npcm7xx_boards.c
+++ b/hw/arm/npcm7xx_boards.c
@@ -29,6 +29,7 @@
 
 #define NPCM750_EVB_POWER_ON_STRAPS 0x00001ff7
 #define QUANTA_GSJ_POWER_ON_STRAPS 0x00001fff
+#define QUANTA_GBS_POWER_ON_STRAPS 0x000017ff /* TODO: Get real values. */
 
 static const char npcm7xx_default_bootrom[] = "npcm7xx_bootrom.bin";
 
@@ -268,6 +269,22 @@ static void quanta_gsj_init(MachineState *machine)
     npcm7xx_load_kernel(machine, soc);
 }
 
+static void quanta_gbs_init(MachineState *machine)
+{
+    NPCM7xxState *soc;
+
+    soc = npcm7xx_create_soc(machine, QUANTA_GBS_POWER_ON_STRAPS);
+    npcm7xx_connect_dram(soc, machine->ram);
+    qdev_realize(DEVICE(soc), NULL, &error_fatal);
+
+    npcm7xx_load_bootrom(machine, soc);
+
+    npcm7xx_connect_flash(&soc->fiu[0], 0, "mx66u51235f",
+                          drive_get(IF_MTD, 0, 0));
+
+    npcm7xx_load_kernel(machine, soc);
+}
+
 static void npcm7xx_set_soc_type(NPCM7xxMachineClass *nmc, const char *type)
 {
     NPCM7xxClass *sc = NPCM7XX_CLASS(object_class_by_name(type));
@@ -316,6 +333,18 @@ static void gsj_machine_class_init(ObjectClass *oc, void *data)
     mc->default_ram_size = 512 * MiB;
 };
 
+static void gbs_bmc_machine_class_init(ObjectClass *oc, void *data)
+{
+    NPCM7xxMachineClass *nmc = NPCM7XX_MACHINE_CLASS(oc);
+    MachineClass *mc = MACHINE_CLASS(oc);
+
+    npcm7xx_set_soc_type(nmc, TYPE_NPCM730);
+
+    mc->desc = "Quanta GBS (Cortex A9)";
+    mc->init = quanta_gbs_init;
+    mc->default_ram_size = 1 * GiB;
+}
+
 static const TypeInfo npcm7xx_machine_types[] = {
     {
         .name           = TYPE_NPCM7XX_MACHINE,
@@ -332,6 +361,10 @@ static const TypeInfo npcm7xx_machine_types[] = {
         .name           = MACHINE_TYPE_NAME("quanta-gsj"),
         .parent         = TYPE_NPCM7XX_MACHINE,
         .class_init     = gsj_machine_class_init,
+    }, {
+        .name           = MACHINE_TYPE_NAME("quanta-gbs-bmc"),
+        .parent         = TYPE_NPCM7XX_MACHINE,
+        .class_init     = gbs_bmc_machine_class_init,
     },
 };
 
-- 
2.31.1.751.gd2f1c929bd-goog



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

* [PATCH 2/2] hw/arm: quanta-gbs-bmc add i2c comments
  2021-05-18 19:47 [PATCH 0/2] Adds quanta-gbs-bmc machine to nuvoton boards Patrick Venture
  2021-05-18 19:47 ` [PATCH 1/2] hw/arm: add quanta-gbs-bmc machine Patrick Venture
@ 2021-05-18 19:47 ` Patrick Venture
  1 sibling, 0 replies; 6+ messages in thread
From: Patrick Venture @ 2021-05-18 19:47 UTC (permalink / raw)
  To: hskinnemoen, kfting
  Cc: qemu-arm, qemu-devel, Patrick Venture, Brandon Kim, Hao Wu

Add a comment and i2c method that describes the board layout.

Tested: firmware booted to userspace.
Signed-off-by: Patrick Venture <venture@google.com>
Reviewed-by: Brandon Kim <brandonkim@google.com>
Reviewed-by: Hao Wu <wuhaotsh@google.com>
---
 hw/arm/npcm7xx_boards.c | 60 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c
index 34a214fe79..d9de375826 100644
--- a/hw/arm/npcm7xx_boards.c
+++ b/hw/arm/npcm7xx_boards.c
@@ -238,6 +238,65 @@ static void quanta_gsj_fan_init(NPCM7xxMachine *machine, NPCM7xxState *soc)
     npcm7xx_connect_pwm_fan(soc, &splitter[2], 0x05, 1);
 }
 
+static void quanta_gbs_i2c_init(NPCM7xxState *soc)
+{
+    /*
+     * i2c-0:
+     *     pca9546@71
+     *
+     * i2c-1:
+     *     pca9535@24
+     *     pca9535@20
+     *     pca9535@21
+     *     pca9535@22
+     *     pca9535@23
+     *     pca9535@25
+     *     pca9535@26
+     *
+     * i2c-2:
+     *     sbtsi@4c
+     *
+     * i2c-5:
+     *     atmel,24c64@50 mb_fru
+     *     pca9546@71
+     *         - channel 0: max31725@54
+     *         - channel 1: max31725@55
+     *         - channel 2: max31725@5d
+     *                      atmel,24c64@51 fan_fru
+     *         - channel 3: atmel,24c64@52 hsbp_fru
+     *
+     * i2c-6:
+     *     pca9545@73
+     *
+     * i2c-7:
+     *     pca9545@72
+     *
+     * i2c-8:
+     *     adi,adm1272@10
+     *
+     * i2c-9:
+     *     pca9546@71
+     *         - channel 0: isil,isl68137@60
+     *         - channel 1: isil,isl68137@61
+     *         - channel 2: isil,isl68137@63
+     *         - channel 3: isil,isl68137@45
+     *
+     * i2c-10:
+     *     pca9545@71
+     *
+     * i2c-11:
+     *     pca9545@76
+     *
+     * i2c-12:
+     *     maxim,max34451@4e
+     *     isil,isl68137@5d
+     *     isil,isl68137@5e
+     *
+     * i2c-14:
+     *     pca9545@70
+     */
+}
+
 static void npcm750_evb_init(MachineState *machine)
 {
     NPCM7xxState *soc;
@@ -282,6 +341,7 @@ static void quanta_gbs_init(MachineState *machine)
     npcm7xx_connect_flash(&soc->fiu[0], 0, "mx66u51235f",
                           drive_get(IF_MTD, 0, 0));
 
+    quanta_gbs_i2c_init(soc);
     npcm7xx_load_kernel(machine, soc);
 }
 
-- 
2.31.1.751.gd2f1c929bd-goog



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

* Re: [PATCH 1/2] hw/arm: add quanta-gbs-bmc machine
  2021-05-18 19:47 ` [PATCH 1/2] hw/arm: add quanta-gbs-bmc machine Patrick Venture
@ 2021-05-27  9:33   ` Peter Maydell
  2021-06-02 14:41     ` Patrick Venture
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Maydell @ 2021-05-27  9:33 UTC (permalink / raw)
  To: Patrick Venture
  Cc: Havard Skinnemoen, QEMU Developers, Hao Wu, CS20 KFTing,
	Brandon Kim, qemu-arm

On Tue, 18 May 2021 at 20:54, Patrick Venture <venture@google.com> wrote:
>
> Adds initial quanta-gbs-bmc machine support.
>
> Tested: Boots to userspace.
> Signed-off-by: Patrick Venture <venture@google.com>
> Reviewed-by: Brandon Kim <brandonkim@google.com>
> Reviewed-by: Hao Wu <wuhaotsh@google.com>
> ---
>  hw/arm/npcm7xx_boards.c | 33 +++++++++++++++++++++++++++++++++
>  1 file changed, 33 insertions(+)
>
> diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c
> index d4553e3786..34a214fe79 100644
> --- a/hw/arm/npcm7xx_boards.c
> +++ b/hw/arm/npcm7xx_boards.c
> @@ -29,6 +29,7 @@
>
>  #define NPCM750_EVB_POWER_ON_STRAPS 0x00001ff7
>  #define QUANTA_GSJ_POWER_ON_STRAPS 0x00001fff
> +#define QUANTA_GBS_POWER_ON_STRAPS 0x000017ff /* TODO: Get real values. */

Any chance you could fix this TODO ? If it's not fixed now before
the code goes in it seems unlikely that it'll ever be fixed -- you're
probably in the best position to know the right value...

>  static const char npcm7xx_default_bootrom[] = "npcm7xx_bootrom.bin";
>
> @@ -268,6 +269,22 @@ static void quanta_gsj_init(MachineState *machine)
>      npcm7xx_load_kernel(machine, soc);
>  }
>
> +static void quanta_gbs_init(MachineState *machine)
> +{
> +    NPCM7xxState *soc;
> +
> +    soc = npcm7xx_create_soc(machine, QUANTA_GBS_POWER_ON_STRAPS);
> +    npcm7xx_connect_dram(soc, machine->ram);
> +    qdev_realize(DEVICE(soc), NULL, &error_fatal);
> +
> +    npcm7xx_load_bootrom(machine, soc);
> +
> +    npcm7xx_connect_flash(&soc->fiu[0], 0, "mx66u51235f",
> +                          drive_get(IF_MTD, 0, 0));
> +
> +    npcm7xx_load_kernel(machine, soc);
> +}
> +
>  static void npcm7xx_set_soc_type(NPCM7xxMachineClass *nmc, const char *type)
>  {
>      NPCM7xxClass *sc = NPCM7XX_CLASS(object_class_by_name(type));
> @@ -316,6 +333,18 @@ static void gsj_machine_class_init(ObjectClass *oc, void *data)
>      mc->default_ram_size = 512 * MiB;
>  };
>
> +static void gbs_bmc_machine_class_init(ObjectClass *oc, void *data)
> +{
> +    NPCM7xxMachineClass *nmc = NPCM7XX_MACHINE_CLASS(oc);
> +    MachineClass *mc = MACHINE_CLASS(oc);
> +
> +    npcm7xx_set_soc_type(nmc, TYPE_NPCM730);
> +
> +    mc->desc = "Quanta GBS (Cortex A9)";

"Cortex-A9", with a hyphen.


thanks
-- PMM


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

* Re: [PATCH 1/2] hw/arm: add quanta-gbs-bmc machine
  2021-05-27  9:33   ` Peter Maydell
@ 2021-06-02 14:41     ` Patrick Venture
  2021-06-02 15:23       ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 6+ messages in thread
From: Patrick Venture @ 2021-06-02 14:41 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Havard Skinnemoen, CS20 KFTing, qemu-arm, QEMU Developers,
	Brandon Kim, Hao Wu

On Thu, May 27, 2021 at 2:34 AM Peter Maydell <peter.maydell@linaro.org> wrote:
>
> On Tue, 18 May 2021 at 20:54, Patrick Venture <venture@google.com> wrote:
> >
> > Adds initial quanta-gbs-bmc machine support.
> >
> > Tested: Boots to userspace.
> > Signed-off-by: Patrick Venture <venture@google.com>
> > Reviewed-by: Brandon Kim <brandonkim@google.com>
> > Reviewed-by: Hao Wu <wuhaotsh@google.com>
> > ---
> >  hw/arm/npcm7xx_boards.c | 33 +++++++++++++++++++++++++++++++++
> >  1 file changed, 33 insertions(+)
> >
> > diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c
> > index d4553e3786..34a214fe79 100644
> > --- a/hw/arm/npcm7xx_boards.c
> > +++ b/hw/arm/npcm7xx_boards.c
> > @@ -29,6 +29,7 @@
> >
> >  #define NPCM750_EVB_POWER_ON_STRAPS 0x00001ff7
> >  #define QUANTA_GSJ_POWER_ON_STRAPS 0x00001fff
> > +#define QUANTA_GBS_POWER_ON_STRAPS 0x000017ff /* TODO: Get real values. */
>
> Any chance you could fix this TODO ? If it's not fixed now before
> the code goes in it seems unlikely that it'll ever be fixed -- you're
> probably in the best position to know the right value...

I have an internal bug to find the "right" value and populate it,
although it probably actually is that value.  Generally I agree with
your point, that it won't ever be fixed, just like most TODOs in open
source projects, however, my team is building a ton of systems with
Qemu presently and ramping up a significant time and resource
investment in this; so I happen to feel confident this will be
addressed in the future.  I actually already have several additional
patches for this and other systems that are waiting on various other
patches landing.

>
> >  static const char npcm7xx_default_bootrom[] = "npcm7xx_bootrom.bin";
> >
> > @@ -268,6 +269,22 @@ static void quanta_gsj_init(MachineState *machine)
> >      npcm7xx_load_kernel(machine, soc);
> >  }
> >
> > +static void quanta_gbs_init(MachineState *machine)
> > +{
> > +    NPCM7xxState *soc;
> > +
> > +    soc = npcm7xx_create_soc(machine, QUANTA_GBS_POWER_ON_STRAPS);
> > +    npcm7xx_connect_dram(soc, machine->ram);
> > +    qdev_realize(DEVICE(soc), NULL, &error_fatal);
> > +
> > +    npcm7xx_load_bootrom(machine, soc);
> > +
> > +    npcm7xx_connect_flash(&soc->fiu[0], 0, "mx66u51235f",
> > +                          drive_get(IF_MTD, 0, 0));
> > +
> > +    npcm7xx_load_kernel(machine, soc);
> > +}
> > +
> >  static void npcm7xx_set_soc_type(NPCM7xxMachineClass *nmc, const char *type)
> >  {
> >      NPCM7xxClass *sc = NPCM7XX_CLASS(object_class_by_name(type));
> > @@ -316,6 +333,18 @@ static void gsj_machine_class_init(ObjectClass *oc, void *data)
> >      mc->default_ram_size = 512 * MiB;
> >  };
> >
> > +static void gbs_bmc_machine_class_init(ObjectClass *oc, void *data)
> > +{
> > +    NPCM7xxMachineClass *nmc = NPCM7XX_MACHINE_CLASS(oc);
> > +    MachineClass *mc = MACHINE_CLASS(oc);
> > +
> > +    npcm7xx_set_soc_type(nmc, TYPE_NPCM730);
> > +
> > +    mc->desc = "Quanta GBS (Cortex A9)";
>
> "Cortex-A9", with a hyphen.

Ack, will send out this fix in the next patch series.

>
>
> thanks
> -- PMM


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

* Re: [PATCH 1/2] hw/arm: add quanta-gbs-bmc machine
  2021-06-02 14:41     ` Patrick Venture
@ 2021-06-02 15:23       ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-06-02 15:23 UTC (permalink / raw)
  To: Patrick Venture, Peter Maydell
  Cc: Havard Skinnemoen, QEMU Developers, Hao Wu, CS20 KFTing,
	Brandon Kim, qemu-arm

On 6/2/21 4:41 PM, Patrick Venture wrote:
> On Thu, May 27, 2021 at 2:34 AM Peter Maydell <peter.maydell@linaro.org> wrote:
>>
>> On Tue, 18 May 2021 at 20:54, Patrick Venture <venture@google.com> wrote:
>>>
>>> Adds initial quanta-gbs-bmc machine support.
>>>
>>> Tested: Boots to userspace.
>>> Signed-off-by: Patrick Venture <venture@google.com>
>>> Reviewed-by: Brandon Kim <brandonkim@google.com>
>>> Reviewed-by: Hao Wu <wuhaotsh@google.com>
>>> ---
>>>  hw/arm/npcm7xx_boards.c | 33 +++++++++++++++++++++++++++++++++
>>>  1 file changed, 33 insertions(+)
>>>
>>> diff --git a/hw/arm/npcm7xx_boards.c b/hw/arm/npcm7xx_boards.c
>>> index d4553e3786..34a214fe79 100644
>>> --- a/hw/arm/npcm7xx_boards.c
>>> +++ b/hw/arm/npcm7xx_boards.c
>>> @@ -29,6 +29,7 @@
>>>
>>>  #define NPCM750_EVB_POWER_ON_STRAPS 0x00001ff7
>>>  #define QUANTA_GSJ_POWER_ON_STRAPS 0x00001fff
>>> +#define QUANTA_GBS_POWER_ON_STRAPS 0x000017ff /* TODO: Get real values. */
>>
>> Any chance you could fix this TODO ? If it's not fixed now before
>> the code goes in it seems unlikely that it'll ever be fixed -- you're
>> probably in the best position to know the right value...
> 
> I have an internal bug to find the "right" value and populate it,
> although it probably actually is that value.

Then simply remove the TODO comment and we are good :)


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

end of thread, other threads:[~2021-06-02 15:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-18 19:47 [PATCH 0/2] Adds quanta-gbs-bmc machine to nuvoton boards Patrick Venture
2021-05-18 19:47 ` [PATCH 1/2] hw/arm: add quanta-gbs-bmc machine Patrick Venture
2021-05-27  9:33   ` Peter Maydell
2021-06-02 14:41     ` Patrick Venture
2021-06-02 15:23       ` Philippe Mathieu-Daudé
2021-05-18 19:47 ` [PATCH 2/2] hw/arm: quanta-gbs-bmc add i2c comments Patrick Venture

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.