* [Qemu-devel] [PATCH v3 0/2] Versatile Express: Add modelling of NOR flash
@ 2012-09-19 15:49 Francesco Lavra
2012-09-19 15:51 ` [Qemu-devel] [PATCH v2 1/2] Versatile Express: Fix NOR flash 0 address and remove flash alias Francesco Lavra
2012-09-19 15:57 ` [Qemu-devel] [PATCH v3 2/2] Versatile Express: Add modelling of NOR flash Francesco Lavra
0 siblings, 2 replies; 4+ messages in thread
From: Francesco Lavra @ 2012-09-19 15:49 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, paul
This patch series adds modelling of the two NOR flash banks found on the
Versatile Express motherboard. Tested with U-Boot running on an emulated
Versatile Express, with either A9 or A15 CoreTile. The alias of the
first NOR flash in the Cortex-A Series memory map is not modelled.
Changes in v3:
- When registering either flash bank as CFI device results in an error,
terminate QEMU.
Changes in v2:
- Fix definition of NOR flash 0 address and remove flash alias in
Cortex-A Series memory map.
- Use drive_get_next() instead of drive_get() to get a backing storage
for each flash bank.
Francesco Lavra (2):
Versatile Express: Fix NOR flash 0 address and remove flash alias
Versatile Express: Add modelling of NOR flash
hw/vexpress.c | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
--
1.7.5.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] [PATCH v2 1/2] Versatile Express: Fix NOR flash 0 address and remove flash alias
2012-09-19 15:49 [Qemu-devel] [PATCH v3 0/2] Versatile Express: Add modelling of NOR flash Francesco Lavra
@ 2012-09-19 15:51 ` Francesco Lavra
2012-09-19 15:57 ` [Qemu-devel] [PATCH v3 2/2] Versatile Express: Add modelling of NOR flash Francesco Lavra
1 sibling, 0 replies; 4+ messages in thread
From: Francesco Lavra @ 2012-09-19 15:51 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, paul
In the A series memory map (implemented in the Cortex A15 CoreTile), the
first NOR flash bank (flash 0) is mapped to address 0x08000000, while
address 0x00000000 can be configured as alias to either the first or the
second flash bank. This patch fixes the definition of flash 0 address,
and for simplicity removes the alias definition.
Signed-off-by: Francesco Lavra <francescolavra.fl@gmail.com>
---
hw/vexpress.c | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/hw/vexpress.c b/hw/vexpress.c
index b615844..454c2bb 100644
--- a/hw/vexpress.c
+++ b/hw/vexpress.c
@@ -62,7 +62,6 @@ enum {
VE_COMPACTFLASH,
VE_CLCD,
VE_NORFLASH0,
- VE_NORFLASH0ALIAS,
VE_NORFLASH1,
VE_SRAM,
VE_VIDEORAM,
@@ -104,9 +103,8 @@ static target_phys_addr_t motherboard_legacy_map[] = {
};
static target_phys_addr_t motherboard_aseries_map[] = {
- /* CS0: 0x00000000 .. 0x0c000000 */
- [VE_NORFLASH0] = 0x00000000,
- [VE_NORFLASH0ALIAS] = 0x08000000,
+ /* CS0: 0x08000000 .. 0x0c000000 */
+ [VE_NORFLASH0] = 0x08000000,
/* CS4: 0x0c000000 .. 0x10000000 */
[VE_NORFLASH1] = 0x0c000000,
/* CS5: 0x10000000 .. 0x14000000 */
@@ -413,7 +411,6 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard,
sysbus_create_simple("pl111", map[VE_CLCD], pic[14]);
/* VE_NORFLASH0: not modelled */
- /* VE_NORFLASH0ALIAS: not modelled */
/* VE_NORFLASH1: not modelled */
sram_size = 0x2000000;
--
1.7.5.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Qemu-devel] [PATCH v3 2/2] Versatile Express: Add modelling of NOR flash
2012-09-19 15:49 [Qemu-devel] [PATCH v3 0/2] Versatile Express: Add modelling of NOR flash Francesco Lavra
2012-09-19 15:51 ` [Qemu-devel] [PATCH v2 1/2] Versatile Express: Fix NOR flash 0 address and remove flash alias Francesco Lavra
@ 2012-09-19 15:57 ` Francesco Lavra
2012-09-26 15:55 ` Peter Maydell
1 sibling, 1 reply; 4+ messages in thread
From: Francesco Lavra @ 2012-09-19 15:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell, paul
This patch adds modelling of the two NOR flash banks found on the
Versatile Express motherboard. Tested with U-Boot running on an emulated
Versatile Express, with either A9 or A15 CoreTile.
Signed-off-by: Francesco Lavra <francescolavra.fl@gmail.com>
---
Changes in v3:
- When registering either flash bank as CFI device results in an error,
terminate QEMU.
Changes in v2:
- Use drive_get_next() instead of drive_get() to get a backing storage
for each flash bank.
hw/vexpress.c | 26 ++++++++++++++++++++++++--
1 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/hw/vexpress.c b/hw/vexpress.c
index 454c2bb..3596d1e 100644
--- a/hw/vexpress.c
+++ b/hw/vexpress.c
@@ -29,8 +29,12 @@
#include "sysemu.h"
#include "boards.h"
#include "exec-memory.h"
+#include "blockdev.h"
+#include "flash.h"
#define VEXPRESS_BOARD_ID 0x8e0
+#define VEXPRESS_FLASH_SIZE (64 * 1024 * 1024)
+#define VEXPRESS_FLASH_SECT_SIZE (256 * 1024)
static struct arm_boot_info vexpress_binfo;
@@ -355,6 +359,7 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard,
qemu_irq pic[64];
uint32_t proc_id;
uint32_t sys_id;
+ DriveInfo *dinfo;
ram_addr_t vram_size, sram_size;
MemoryRegion *sysmem = get_system_memory();
MemoryRegion *vram = g_new(MemoryRegion, 1);
@@ -410,8 +415,25 @@ static void vexpress_common_init(const VEDBoardInfo *daughterboard,
sysbus_create_simple("pl111", map[VE_CLCD], pic[14]);
- /* VE_NORFLASH0: not modelled */
- /* VE_NORFLASH1: not modelled */
+ dinfo = drive_get_next(IF_PFLASH);
+ if (!pflash_cfi01_register(map[VE_NORFLASH0], NULL, "vexpress.flash0",
+ VEXPRESS_FLASH_SIZE, dinfo ? dinfo->bdrv : NULL,
+ VEXPRESS_FLASH_SECT_SIZE,
+ VEXPRESS_FLASH_SIZE / VEXPRESS_FLASH_SECT_SIZE, 4,
+ 0x00, 0x89, 0x00, 0x18, 0)) {
+ fprintf(stderr, "vexpress: error registering flash 0.\n");
+ exit(1);
+ }
+
+ dinfo = drive_get_next(IF_PFLASH);
+ if (!pflash_cfi01_register(map[VE_NORFLASH1], NULL, "vexpress.flash1",
+ VEXPRESS_FLASH_SIZE, dinfo ? dinfo->bdrv : NULL,
+ VEXPRESS_FLASH_SECT_SIZE,
+ VEXPRESS_FLASH_SIZE / VEXPRESS_FLASH_SECT_SIZE, 4,
+ 0x00, 0x89, 0x00, 0x18, 0)) {
+ fprintf(stderr, "vexpress: error registering flash 1.\n");
+ exit(1);
+ }
sram_size = 0x2000000;
memory_region_init_ram(sram, "vexpress.sram", sram_size);
--
1.7.5.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PATCH v3 2/2] Versatile Express: Add modelling of NOR flash
2012-09-19 15:57 ` [Qemu-devel] [PATCH v3 2/2] Versatile Express: Add modelling of NOR flash Francesco Lavra
@ 2012-09-26 15:55 ` Peter Maydell
0 siblings, 0 replies; 4+ messages in thread
From: Peter Maydell @ 2012-09-26 15:55 UTC (permalink / raw)
To: Francesco Lavra; +Cc: qemu-devel, paul
On 19 September 2012 16:57, Francesco Lavra <francescolavra.fl@gmail.com> wrote:
> This patch adds modelling of the two NOR flash banks found on the
> Versatile Express motherboard. Tested with U-Boot running on an emulated
> Versatile Express, with either A9 or A15 CoreTile.
>
> Signed-off-by: Francesco Lavra <francescolavra.fl@gmail.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Thanks -- I've added these two patches to arm-devs.next.
-- PMM
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2012-09-26 15:56 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-09-19 15:49 [Qemu-devel] [PATCH v3 0/2] Versatile Express: Add modelling of NOR flash Francesco Lavra
2012-09-19 15:51 ` [Qemu-devel] [PATCH v2 1/2] Versatile Express: Fix NOR flash 0 address and remove flash alias Francesco Lavra
2012-09-19 15:57 ` [Qemu-devel] [PATCH v3 2/2] Versatile Express: Add modelling of NOR flash Francesco Lavra
2012-09-26 15:55 ` Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).