All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Cédric Le Goater" <clg@kaod.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, qemu-arm@nongnu.org,
	"Andrew Jeffery" <andrew@aj.id.au>,
	"Cédric Le Goater" <clg@kaod.org>
Subject: [Qemu-devel] [PATCH 4/6] palmetto-bmc: add board specific configuration
Date: Wed, 27 Jul 2016 18:46:56 +0200	[thread overview]
Message-ID: <1469638018-17590-5-git-send-email-clg@kaod.org> (raw)
In-Reply-To: <1469638018-17590-1-git-send-email-clg@kaod.org>

aspeed_init() now uses a board identifier to customize some values
specific to the board, ram base, board revision number, etc.

Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
 hw/arm/palmetto-bmc.c | 34 ++++++++++++++++++++++++++--------
 1 file changed, 26 insertions(+), 8 deletions(-)

diff --git a/hw/arm/palmetto-bmc.c b/hw/arm/palmetto-bmc.c
index 8a3ff5568575..cd8aa59756b9 100644
--- a/hw/arm/palmetto-bmc.c
+++ b/hw/arm/palmetto-bmc.c
@@ -22,8 +22,6 @@
 #include "sysemu/blockdev.h"
 
 static struct arm_boot_info aspeed_binfo = {
-    .loader_start = AST2400_SDRAM_BASE,
-    .board_id = 0,
     .nb_cpus = 1,
 };
 
@@ -32,6 +30,21 @@ typedef struct AspeedBoardState {
     MemoryRegion ram;
 } AspeedBoardState;
 
+typedef struct AspeedBoardConfig {
+    uint32_t hw_strap1;
+    uint32_t silicon_rev;
+    hwaddr sdram_base;
+} AspeedBoardConfig;
+
+enum {
+    PALMETTO_BMC
+};
+
+static const AspeedBoardConfig aspeed_boards[] = {
+    [ PALMETTO_BMC ] = { 0x120CE416, AST2400_A0_SILICON_REV,
+                         AST2400_SDRAM_BASE },
+};
+
 static void aspeed_init_flashes(AspeedSMCState *s, const char *flashtype,
                                 Error **errp)
 {
@@ -58,7 +71,7 @@ static void aspeed_init_flashes(AspeedSMCState *s, const char *flashtype,
     }
 }
 
-static void aspeed_init(MachineState *machine)
+static void aspeed_init(MachineState *machine, int board_model)
 {
     AspeedBoardState *bmc;
 
@@ -68,13 +81,16 @@ static void aspeed_init(MachineState *machine)
                               &error_abort);
 
     memory_region_allocate_system_memory(&bmc->ram, NULL, "ram", ram_size);
-    memory_region_add_subregion(get_system_memory(), AST2400_SDRAM_BASE,
+    memory_region_add_subregion(get_system_memory(),
+                                aspeed_boards[board_model].sdram_base,
                                 &bmc->ram);
     object_property_add_const_link(OBJECT(&bmc->soc), "ram", OBJECT(&bmc->ram),
                                    &error_abort);
-    object_property_set_int(OBJECT(&bmc->soc), 0x120CE416, "hw-strap1",
-                            &error_abort);
-    object_property_set_int(OBJECT(&bmc->soc), AST2400_A0_SILICON_REV,
+    object_property_set_int(OBJECT(&bmc->soc),
+                            aspeed_boards[board_model].hw_strap1,
+                            "hw-strap1", &error_abort);
+    object_property_set_int(OBJECT(&bmc->soc),
+                            aspeed_boards[board_model].silicon_rev,
                             "silicon-rev", &error_abort);
     object_property_set_bool(OBJECT(&bmc->soc), true, "realized",
                              &error_abort);
@@ -86,13 +102,15 @@ static void aspeed_init(MachineState *machine)
     aspeed_binfo.initrd_filename = machine->initrd_filename;
     aspeed_binfo.kernel_cmdline = machine->kernel_cmdline;
     aspeed_binfo.ram_size = ram_size;
+    aspeed_binfo.loader_start = aspeed_boards[board_model].sdram_base,
+    aspeed_binfo.board_id = aspeed_boards[board_model].silicon_rev,
     arm_load_kernel(ARM_CPU(first_cpu), &aspeed_binfo);
 }
 
 static void palmetto_bmc_init(MachineState *machine)
 {
     machine->cpu_model = "arm926";
-    aspeed_init(machine);
+    aspeed_init(machine, PALMETTO_BMC);
 }
 
 static void palmetto_bmc_class_init(ObjectClass *oc, void *data)
-- 
2.1.4

  parent reply	other threads:[~2016-07-27 16:47 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-27 16:46 [Qemu-devel] [PATCH 0/6] arm: add ast2500 support Cédric Le Goater
2016-07-27 16:46 ` [Qemu-devel] [PATCH 1/6] palmetto-bmc: add a "silicon-rev" property at the soc level Cédric Le Goater
2016-07-28  2:14   ` Andrew Jeffery
2016-07-28  7:51     ` Cédric Le Goater
2016-07-29  1:16       ` Andrew Jeffery
2016-07-30  8:35         ` Cédric Le Goater
2016-08-01  0:30           ` Andrew Jeffery
2016-07-27 16:46 ` [Qemu-devel] [PATCH 2/6] palmetto-bmc: replace palmetto_bmc with aspeed Cédric Le Goater
2016-07-28  4:48   ` Andrew Jeffery
2016-07-28  7:04     ` Cédric Le Goater
2016-07-27 16:46 ` [Qemu-devel] [PATCH 3/6] ast2400: use machine cpu_model to initialize the soc cpu Cédric Le Goater
2016-07-28  2:37   ` Andrew Jeffery
2016-07-28  6:59     ` Cédric Le Goater
2016-07-27 16:46 ` Cédric Le Goater [this message]
2016-07-28  2:45   ` [Qemu-devel] [PATCH 4/6] palmetto-bmc: add board specific configuration Andrew Jeffery
2016-07-28  7:01     ` Cédric Le Goater
2016-07-27 16:46 ` [Qemu-devel] [PATCH 5/6] aspeed: add ast2500 support to scu and sdmc controllers Cédric Le Goater
2016-07-28  2:56   ` Andrew Jeffery
2016-07-27 16:46 ` [Qemu-devel] [PATCH 6/6] arm: add support for an ast2500 evaluation board Cédric Le Goater
2016-07-28  5:11   ` Andrew Jeffery
2016-07-28  7:15     ` Cédric Le Goater
2016-07-28  7:58       ` Andrew Jeffery
2016-07-28  8:03         ` Cédric Le Goater
2016-07-28 14:26           ` Cédric Le Goater

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1469638018-17590-5-git-send-email-clg@kaod.org \
    --to=clg@kaod.org \
    --cc=andrew@aj.id.au \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.