From: Thorsten Zitterell <the.real.hik@gmx.net>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH] Gumstix verdex support
Date: Sat, 17 Nov 2007 19:55:59 +0100 [thread overview]
Message-ID: <473F393F.2040701@gmx.net> (raw)
[-- Attachment #1: Type: text/plain, Size: 45 bytes --]
Patch to add gumstix verdex board support.
[-- Attachment #2: qemu-verdex-support.patch --]
[-- Type: text/x-patch, Size: 5718 bytes --]
Index: vl.c
===================================================================
RCS file: /sources/qemu/qemu/vl.c,v
retrieving revision 1.365
diff -u -r1.365 vl.c
--- vl.c 17 Nov 2007 17:14:38 -0000 1.365
+++ vl.c 17 Nov 2007 18:54:56 -0000
@@ -7451,6 +7451,7 @@
qemu_register_machine(&lm3s811evb_machine);
qemu_register_machine(&lm3s6965evb_machine);
qemu_register_machine(&connex_machine);
+ qemu_register_machine(&verdex_machine);
#elif defined(TARGET_SH4)
qemu_register_machine(&shix_machine);
qemu_register_machine(&r2d_machine);
Index: hw/boards.h
===================================================================
RCS file: /sources/qemu/qemu/hw/boards.h,v
retrieving revision 1.1
diff -u -r1.1 boards.h
--- hw/boards.h 17 Nov 2007 17:14:40 -0000 1.1
+++ hw/boards.h 17 Nov 2007 18:54:56 -0000
@@ -77,6 +77,7 @@
/* gumstix.c */
extern QEMUMachine connex_machine;
+extern QEMUMachine verdex_machine;
/* stellaris.c */
extern QEMUMachine lm3s811evb_machine;
Index: hw/gumstix.c
===================================================================
RCS file: /sources/qemu/qemu/hw/gumstix.c,v
retrieving revision 1.3
diff -u -r1.3 gumstix.c
--- hw/gumstix.c 17 Nov 2007 17:14:42 -0000 1.3
+++ hw/gumstix.c 17 Nov 2007 18:54:56 -0000
@@ -7,6 +7,29 @@
*
* This code is licensed under the GNU GPL v2.
*/
+
+/*
+ * Example usage:
+ *
+ * connex:
+ * =======
+ * create image:
+ * # dd of=flash bs=1k count=16k if=/dev/zero
+ * # dd of=flash bs=1k conv=notrunc if=u-boot.bin
+ * # dd of=flash bs=1k conv=notrunc seek=256 if=rootfs.arm_nofpu.jffs2
+ * start it:
+ * # qemu-system-arm -M connex -pflash flash -monitor null -nographic
+ *
+ * verdex:
+ * =======
+ * create image:
+ * # dd of=flash bs=1k count=32k if=/dev/zero
+ * # dd of=flash bs=1k conv=notrunc if=u-boot.bin
+ * # dd of=flash bs=1k conv=notrunc seek=256 if=rootfs.arm_nofpu.jffs2
+ * # dd of=flash bs=1k conv=notrunc seek=31744 if=uImage
+ * start it:
+ * # qemu-system-arm -M verdex -pflash flash -monitor null -nographic -m 289
+ */
#include "hw.h"
#include "pxa.h"
@@ -16,26 +39,24 @@
#include "devices.h"
#include "boards.h"
-/* Board init. */
-enum gumstix_model_e { connex };
-
-static void gumstix_common_init(int ram_size, int vga_ram_size,
- DisplayState *ds, const char *kernel_filename,
- const char *kernel_cmdline, const char *initrd_filename,
- const char *cpu_model, enum gumstix_model_e model)
+static void connex_init(int ram_size, int vga_ram_size,
+ const char *boot_device, DisplayState *ds,
+ const char **fd_filename, int snapshot,
+ const char *kernel_filename, const char *kernel_cmdline,
+ const char *initrd_filename, const char *cpu_model)
{
struct pxa2xx_state_s *cpu;
- uint32_t gumstix_rom = 0x02000000;
- uint32_t gumstix_ram = 0x08000000;
+ uint32_t connex_rom = 0x01000000;
+ uint32_t connex_ram = 0x04000000;
- if (ram_size < (gumstix_ram + gumstix_rom + PXA2XX_INTERNAL_SIZE)) {
+ if (ram_size < (connex_ram + connex_rom + PXA2XX_INTERNAL_SIZE)) {
fprintf(stderr, "This platform requires %i bytes of memory\n",
- gumstix_ram + gumstix_rom + PXA2XX_INTERNAL_SIZE);
+ connex_ram + connex_rom + PXA2XX_INTERNAL_SIZE);
exit(1);
}
- cpu = pxa255_init(gumstix_ram, ds);
+ cpu = pxa255_init(connex_ram, ds);
if (pflash_table[0] == NULL) {
fprintf(stderr, "A flash image must be given with the "
@@ -43,7 +64,7 @@
exit(1);
}
- if (!pflash_register(0x00000000, gumstix_ram + PXA2XX_INTERNAL_SIZE,
+ if (!pflash_register(0x00000000, connex_ram + PXA2XX_INTERNAL_SIZE,
pflash_table[0], 128 * 1024, 128, 2, 0, 0, 0, 0)) {
fprintf(stderr, "qemu: Error register flash memory.\n");
exit(1);
@@ -56,18 +77,53 @@
pxa2xx_gpio_in_get(cpu->gpio)[36]);
}
-static void connex_init(int ram_size, int vga_ram_size,
+static void verdex_init(int ram_size, int vga_ram_size,
const char *boot_device, DisplayState *ds,
const char **fd_filename, int snapshot,
const char *kernel_filename, const char *kernel_cmdline,
const char *initrd_filename, const char *cpu_model)
{
- gumstix_common_init(ram_size, vga_ram_size, ds, kernel_filename,
- kernel_cmdline, initrd_filename, cpu_model, connex);
+ struct pxa2xx_state_s *cpu;
+
+ uint32_t verdex_rom = 0x02000000;
+ uint32_t verdex_ram = 0x10000000;
+
+ if (ram_size < (verdex_ram + verdex_rom + PXA2XX_INTERNAL_SIZE)) {
+ fprintf(stderr, "This platform requires %i bytes of memory\n",
+ verdex_ram + verdex_rom + PXA2XX_INTERNAL_SIZE);
+ exit(1);
+ }
+
+ cpu = pxa270_init(verdex_ram, ds, "pxa270-c0");
+
+ if (pflash_table[0] == NULL) {
+ fprintf(stderr, "A flash image must be given with the "
+ "'pflash' parameter\n");
+ exit(1);
+ }
+
+ if (!pflash_register(0x00000000, verdex_ram + PXA2XX_INTERNAL_SIZE,
+ pflash_table[0], 128 * 1024, 256, 2, 0, 0, 0, 0)) {
+ fprintf(stderr, "qemu: Error register flash memory.\n");
+ exit(1);
+ }
+
+ cpu->env->regs[15] = 0x00000000;
+
+ /* Interrupt line of NIC is connected to GPIO line 49 */
+ smc91c111_init(&nd_table[0], 0x04000300,
+ pxa2xx_gpio_in_get(cpu->gpio)[99]);
}
+
QEMUMachine connex_machine = {
"connex",
"Gumstix Connex (PXA255)",
connex_init,
};
+
+QEMUMachine verdex_machine = {
+ "verdex",
+ "Gumstix Verdex (PXA270)",
+ verdex_init,
+};
next reply other threads:[~2007-11-17 18:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-17 18:55 Thorsten Zitterell [this message]
2007-11-18 1:59 ` [Qemu-devel] [PATCH] Gumstix verdex support andrzej zaborowski
2007-11-18 16:54 ` Thorsten Zitterell
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=473F393F.2040701@gmx.net \
--to=the.real.hik@gmx.net \
--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.