* [Qemu-devel] [PATCH] Gumstix verdex support
@ 2007-11-17 18:55 Thorsten Zitterell
2007-11-18 1:59 ` andrzej zaborowski
0 siblings, 1 reply; 3+ messages in thread
From: Thorsten Zitterell @ 2007-11-17 18:55 UTC (permalink / raw)
To: qemu-devel
[-- 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,
+};
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] Gumstix verdex support
2007-11-17 18:55 [Qemu-devel] [PATCH] Gumstix verdex support Thorsten Zitterell
@ 2007-11-18 1:59 ` andrzej zaborowski
2007-11-18 16:54 ` Thorsten Zitterell
0 siblings, 1 reply; 3+ messages in thread
From: andrzej zaborowski @ 2007-11-18 1:59 UTC (permalink / raw)
To: qemu-devel
Hi,
On 17/11/2007, Thorsten Zitterell <the.real.hik@gmx.net> wrote:
> Patch to add gumstix verdex board support.
The code has:
+ /* Interrupt line of NIC is connected to GPIO line 49 */
+ smc91c111_init(&nd_table[0], 0x04000300,
+ pxa2xx_gpio_in_get(cpu->gpio)[99]);
Should it be 49 or 99?
Regarding the usage example, I think not many people will look into
the code for this kind of information, it would be of more use in the
mailing list archives and optionally the docs.
Do these boards have an LCD? If not, you can pass NULL as the "ds"
parameter to pxa2xx_init() I think (not tested). I see that -nographic
is used in both examples.
Regards,
Andrew
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] Gumstix verdex support
2007-11-18 1:59 ` andrzej zaborowski
@ 2007-11-18 16:54 ` Thorsten Zitterell
0 siblings, 0 replies; 3+ messages in thread
From: Thorsten Zitterell @ 2007-11-18 16:54 UTC (permalink / raw)
To: qemu-devel
Hi.
andrzej zaborowski wrote:
> On 17/11/2007, Thorsten Zitterell <the.real.hik@gmx.net> wrote:
>> Patch to add gumstix verdex board support.
>
> The code has:
>
> + /* Interrupt line of NIC is connected to GPIO line 49 */
> + smc91c111_init(&nd_table[0], 0x04000300,
> + pxa2xx_gpio_in_get(cpu->gpio)[99]);
>
> Should it be 49 or 99?
99 is right.
> Regarding the usage example, I think not many people will look into
> the code for this kind of information, it would be of more use in the
> mailing list archives and optionally the docs.
I will give better documentation and provide example images for the docs
soon.
> Do these boards have an LCD? If not, you can pass NULL as the "ds"
> parameter to pxa2xx_init() I think (not tested). I see that -nographic
> is used in both examples.
There are optional LCDs for both connex and verdex boards. I do not have
one so I could not test how they are supposed to work on the real
hardware. However, booting a Gumstix image in QEMU shows graphical
output with the company logo when not using "-nographic".
--
Thorsten
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-11-18 16:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-17 18:55 [Qemu-devel] [PATCH] Gumstix verdex support Thorsten Zitterell
2007-11-18 1:59 ` andrzej zaborowski
2007-11-18 16:54 ` Thorsten Zitterell
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).