* [Qemu-devel] [PATCH] Add Palm Tungsten|C support
@ 2009-01-14 15:20 Marek Vašut
2009-01-14 16:02 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 6+ messages in thread
From: Marek Vašut @ 2009-01-14 15:20 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 351 bytes --]
Hi,
this patch adds Palm TC support. It's a PXA based handheld device (unlike
PalmTE defined in palm.c which is OMAP) so I decided to separate these and
create new palmpxa.c . Near future plan is to add basic support for other
pxa-based palm models as well. Please consider applying.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Thanks
Marek
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-add-palmtc.diff --]
[-- Type: text/x-diff; name="0001-add-palmtc.diff", Size: 2821 bytes --]
Index: Makefile.target
===================================================================
--- Makefile.target (revision 6290)
+++ Makefile.target (working copy)
@@ -716,6 +716,7 @@
OBJS+= tsc2005.o bt-hci-csr.o
OBJS+= mst_fpga.o mainstone.o
OBJS+= musicpal.o pflash_cfi02.o
+OBJS+= palmpxa.o
CPPFLAGS += -DHAS_AUDIO
endif
ifeq ($(TARGET_BASE_ARCH), sh4)
Index: hw/boards.h
===================================================================
--- hw/boards.h (revision 6290)
+++ hw/boards.h (working copy)
@@ -95,6 +95,9 @@
/* palm.c */
extern QEMUMachine palmte_machine;
+/* palmpxa.c */
+extern QEMUMachine palmtc_machine;
+
/* nseries.c */
extern QEMUMachine n800_machine;
extern QEMUMachine n810_machine;
Index: hw/palmpxa.c
===================================================================
--- hw/palmpxa.c (revision 0)
+++ hw/palmpxa.c (revision 0)
@@ -0,0 +1,69 @@
+/*
+ * Intel PXA2xx-based Palm PDA Platforms
+ *
+ * Copyright (c) 2009 by Marek Vasut <marek.vasut@gmail.com>
+ *
+ * Code based on spitz platform by Andrzej Zaborowski <balrog@zabor.org>
+ *
+ * This code is licensed under the GNU GPL v2.
+ */
+
+#include "hw.h"
+#include "pxa.h"
+#include "net.h"
+#include "flash.h"
+#include "sysemu.h"
+#include "devices.h"
+#include "boards.h"
+
+#define PALMTC_GPIO_nPOWER 9
+
+static const int sector_len = 128 * 1024;
+
+static void palmtc_init(ram_addr_t ram_size, int vga_ram_size,
+ const char *boot_device, DisplayState *ds,
+ const char *kernel_filename, const char *kernel_cmdline,
+ const char *initrd_filename, const char *cpu_model)
+{
+ struct pxa2xx_state_s *cpu;
+ int index;
+
+ uint32_t palmtc_rom = 0x01000000; /* 16 Mb of ROM */
+ uint32_t palmtc_ram = 0x04000000; /* 64 Mb of RAM */
+
+ if (ram_size < (palmtc_ram + palmtc_rom + PXA2XX_INTERNAL_SIZE)) {
+ fprintf(stderr, "This platform requires %i bytes of memory\n",
+ palmtc_ram + palmtc_rom + PXA2XX_INTERNAL_SIZE);
+ exit(1);
+ }
+
+ /* CPU */
+ cpu = pxa255_init(palmtc_ram, ds);
+
+ /* Onboard FlashROM */
+ index = drive_get_index(IF_PFLASH, 0, 0);
+ if (index == -1) {
+ fprintf(stderr, "A flash image must be given with the "
+ "'pflash' parameter\n");
+ exit(1);
+ }
+
+ if (!pflash_cfi01_register(0x00000000, qemu_ram_alloc(palmtc_rom),
+ drives_table[index].bdrv, sector_len, palmtc_rom / sector_len,
+ 2, 0, 0, 0, 0)) {
+ fprintf(stderr, "qemu: Error registering flash memory.\n");
+ exit(1);
+ }
+
+ /* Deassert power button */
+ qemu_set_irq(pxa2xx_gpio_in_get(cpu->gpio)[PALMTC_GPIO_nPOWER], 1);
+
+ cpu->env->regs[15] = 0x00000000; /* Start from ROM */
+}
+
+QEMUMachine palmtc_machine = {
+ .name = "palmtc",
+ .desc = "Palm Tungsten|C (PXA255)",
+ .init = palmtc_init,
+ .ram_require = (0x05000000 + PXA2XX_INTERNAL_SIZE) | RAMSIZE_FIXED,
+};
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH] Add Palm Tungsten|C support
2009-01-14 15:20 [Qemu-devel] [PATCH] Add Palm Tungsten|C support Marek Vašut
@ 2009-01-14 16:02 ` Jean-Christophe PLAGNIOL-VILLARD
2009-01-14 16:23 ` Marek Vasut
0 siblings, 1 reply; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-01-14 16:02 UTC (permalink / raw)
To: Marek Vašut; +Cc: qemu-devel
On 16:20 Wed 14 Jan , Marek Vašut wrote:
> Hi,
>
> this patch adds Palm TC support. It's a PXA based handheld device (unlike
> PalmTE defined in palm.c which is OMAP) so I decided to separate these and
> create new palmpxa.c . Near future plan is to add basic support for other
> pxa-based palm models as well. Please consider applying.
>
IIRC some hacker port u-boot on it maybe you could try it
and please update the doc too
Best Regards,
J.
> Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
>
> Thanks
> Marek
> Index: Makefile.target
> ===================================================================
> --- Makefile.target (revision 6290)
> +++ Makefile.target (working copy)
> @@ -716,6 +716,7 @@
> OBJS+= tsc2005.o bt-hci-csr.o
> OBJS+= mst_fpga.o mainstone.o
> OBJS+= musicpal.o pflash_cfi02.o
> +OBJS+= palmpxa.o
> CPPFLAGS += -DHAS_AUDIO
> endif
> ifeq ($(TARGET_BASE_ARCH), sh4)
> Index: hw/boards.h
> ===================================================================
> --- hw/boards.h (revision 6290)
> +++ hw/boards.h (working copy)
> @@ -95,6 +95,9 @@
> /* palm.c */
> extern QEMUMachine palmte_machine;
>
> +/* palmpxa.c */
> +extern QEMUMachine palmtc_machine;
> +
> /* nseries.c */
> extern QEMUMachine n800_machine;
> extern QEMUMachine n810_machine;
> Index: hw/palmpxa.c
> ===================================================================
> --- hw/palmpxa.c (revision 0)
> +++ hw/palmpxa.c (revision 0)
> @@ -0,0 +1,69 @@
> +/*
> + * Intel PXA2xx-based Palm PDA Platforms
> + *
> + * Copyright (c) 2009 by Marek Vasut <marek.vasut@gmail.com>
> + *
> + * Code based on spitz platform by Andrzej Zaborowski <balrog@zabor.org>
> + *
> + * This code is licensed under the GNU GPL v2.
> + */
> +
> +#include "hw.h"
> +#include "pxa.h"
> +#include "net.h"
> +#include "flash.h"
> +#include "sysemu.h"
> +#include "devices.h"
> +#include "boards.h"
> +
> +#define PALMTC_GPIO_nPOWER 9
> +
> +static const int sector_len = 128 * 1024;
> +
> +static void palmtc_init(ram_addr_t ram_size, int vga_ram_size,
> + const char *boot_device, DisplayState *ds,
> + const char *kernel_filename, const char *kernel_cmdline,
> + const char *initrd_filename, const char *cpu_model)
> +{
> + struct pxa2xx_state_s *cpu;
> + int index;
> +
> + uint32_t palmtc_rom = 0x01000000; /* 16 Mb of ROM */
> + uint32_t palmtc_ram = 0x04000000; /* 64 Mb of RAM */
why not define macro of the size and use it in the ram_require
> +
> + if (ram_size < (palmtc_ram + palmtc_rom + PXA2XX_INTERNAL_SIZE)) {
> + fprintf(stderr, "This platform requires %i bytes of memory\n",
> + palmtc_ram + palmtc_rom + PXA2XX_INTERNAL_SIZE);
> + exit(1);
> + }
no need will be check agoist the ram_require
> +
> + /* CPU */
> + cpu = pxa255_init(palmtc_ram, ds);
> +
> + /* Onboard FlashROM */
> + index = drive_get_index(IF_PFLASH, 0, 0);
> + if (index == -1) {
> + fprintf(stderr, "A flash image must be given with the "
> + "'pflash' parameter\n");
> + exit(1);
> + }
> +
> + if (!pflash_cfi01_register(0x00000000, qemu_ram_alloc(palmtc_rom),
> + drives_table[index].bdrv, sector_len, palmtc_rom / sector_len,
> + 2, 0, 0, 0, 0)) {
> + fprintf(stderr, "qemu: Error registering flash memory.\n");
> + exit(1);
> + }
could you specify which flash is used on the rela hard?
> +
> + /* Deassert power button */
> + qemu_set_irq(pxa2xx_gpio_in_get(cpu->gpio)[PALMTC_GPIO_nPOWER], 1);
> +
> + cpu->env->regs[15] = 0x00000000; /* Start from ROM */
why don't you have the -kernel option support?
Best Regards,
J.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH] Add Palm Tungsten|C support
2009-01-14 16:02 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-01-14 16:23 ` Marek Vasut
2009-01-14 16:17 ` Jean-Christophe PLAGNIOL-VILLARD
0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2009-01-14 16:23 UTC (permalink / raw)
To: Jean-Christophe PLAGNIOL-VILLARD; +Cc: qemu-devel
On Wednesday 14 of January 2009 17:02:05 Jean-Christophe PLAGNIOL-VILLARD
wrote:
> On 16:20 Wed 14 Jan , Marek Vašut wrote:
> > Hi,
> >
> > this patch adds Palm TC support. It's a PXA based handheld device (unlike
> > PalmTE defined in palm.c which is OMAP) so I decided to separate these
> > and create new palmpxa.c . Near future plan is to add basic support for
> > other pxa-based palm models as well. Please consider applying.
>
> IIRC some hacker port u-boot on it maybe you could try it
uboot on what? palmtc? Nikolay ported uboot on palmt2, I ported it to palmz71.
There is also port of uboot for palmt3, but there never was port for palmtc.
Actually PalmOS can boot to some place even on this basic setup.
>
> and please update the doc too
>
> Best Regards,
> J.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH] Add Palm Tungsten|C support
2009-01-14 16:23 ` Marek Vasut
@ 2009-01-14 16:17 ` Jean-Christophe PLAGNIOL-VILLARD
2009-01-14 17:08 ` Marek Vasut
0 siblings, 1 reply; 6+ messages in thread
From: Jean-Christophe PLAGNIOL-VILLARD @ 2009-01-14 16:17 UTC (permalink / raw)
To: Marek Vasut; +Cc: qemu-devel
On 17:23 Wed 14 Jan , Marek Vasut wrote:
> On Wednesday 14 of January 2009 17:02:05 Jean-Christophe PLAGNIOL-VILLARD
> wrote:
> > On 16:20 Wed 14 Jan , Marek Vašut wrote:
> > > Hi,
> > >
> > > this patch adds Palm TC support. It's a PXA based handheld device (unlike
> > > PalmTE defined in palm.c which is OMAP) so I decided to separate these
> > > and create new palmpxa.c . Near future plan is to add basic support for
> > > other pxa-based palm models as well. Please consider applying.
> >
> > IIRC some hacker port u-boot on it maybe you could try it
>
> uboot on what? palmtc? Nikolay ported uboot on palmt2, I ported it to palmz71.
> There is also port of uboot for palmt3, but there never was port for palmtc.
> Actually PalmOS can boot to some place even on this basic setup.
I known about the Z71 but we report me that some hacker work on the TC but I never
see or search the patches
Best Regards,
J.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH] Add Palm Tungsten|C support
2009-01-14 16:17 ` Jean-Christophe PLAGNIOL-VILLARD
@ 2009-01-14 17:08 ` Marek Vasut
2009-01-14 17:26 ` Marek Vasut
0 siblings, 1 reply; 6+ messages in thread
From: Marek Vasut @ 2009-01-14 17:08 UTC (permalink / raw)
To: Jean-Christophe PLAGNIOL-VILLARD; +Cc: qemu-devel
On Wednesday 14 of January 2009 17:17:25 Jean-Christophe PLAGNIOL-VILLARD
wrote:
> On 17:23 Wed 14 Jan , Marek Vasut wrote:
> > On Wednesday 14 of January 2009 17:02:05 Jean-Christophe PLAGNIOL-VILLARD
> >
> > wrote:
> > > On 16:20 Wed 14 Jan , Marek Vašut wrote:
> > > > Hi,
> > > >
> > > > this patch adds Palm TC support. It's a PXA based handheld device
> > > > (unlike PalmTE defined in palm.c which is OMAP) so I decided to
> > > > separate these and create new palmpxa.c . Near future plan is to add
> > > > basic support for other pxa-based palm models as well. Please
> > > > consider applying.
> > >
> > > IIRC some hacker port u-boot on it maybe you could try it
> >
> > uboot on what? palmtc? Nikolay ported uboot on palmt2, I ported it to
> > palmz71. There is also port of uboot for palmt3, but there never was port
> > for palmtc. Actually PalmOS can boot to some place even on this basic
> > setup.
>
> I known about the Z71 but we report me that some hacker work on the TC but
> I never see or search the patches
Im not really sure I got your point, but I'm working on the palmtc linux port
and I know of noone else who does work in it. Also, I added some code to old
qemu fork in palmlinux project.
>
> Best Regards,
> J.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH] Add Palm Tungsten|C support
2009-01-14 17:08 ` Marek Vasut
@ 2009-01-14 17:26 ` Marek Vasut
0 siblings, 0 replies; 6+ messages in thread
From: Marek Vasut @ 2009-01-14 17:26 UTC (permalink / raw)
To: Jean-Christophe PLAGNIOL-VILLARD; +Cc: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1486 bytes --]
On Wednesday 14 of January 2009 18:08:40 Marek Vasut wrote:
> On Wednesday 14 of January 2009 17:17:25 Jean-Christophe PLAGNIOL-VILLARD
>
> wrote:
> > On 17:23 Wed 14 Jan , Marek Vasut wrote:
> > > On Wednesday 14 of January 2009 17:02:05 Jean-Christophe
> > > PLAGNIOL-VILLARD
> > >
> > > wrote:
> > > > On 16:20 Wed 14 Jan , Marek Vašut wrote:
> > > > > Hi,
> > > > >
> > > > > this patch adds Palm TC support. It's a PXA based handheld device
> > > > > (unlike PalmTE defined in palm.c which is OMAP) so I decided to
> > > > > separate these and create new palmpxa.c . Near future plan is to
> > > > > add basic support for other pxa-based palm models as well. Please
> > > > > consider applying.
> > > >
> > > > IIRC some hacker port u-boot on it maybe you could try it
> > >
> > > uboot on what? palmtc? Nikolay ported uboot on palmt2, I ported it to
> > > palmz71. There is also port of uboot for palmt3, but there never was
> > > port for palmtc. Actually PalmOS can boot to some place even on this
> > > basic setup.
> >
> > I known about the Z71 but we report me that some hacker work on the TC
> > but I never see or search the patches
>
> Im not really sure I got your point, but I'm working on the palmtc linux
> port and I know of noone else who does work in it. Also, I added some code
> to old qemu fork in palmlinux project.
>
> > Best Regards,
> > J.
btw here is a new version of the patch, you should be OK with this one.
[-- Attachment #2: 0001-add-palmtc-v2.diff --]
[-- Type: text/x-diff, Size: 3117 bytes --]
Index: Makefile.target
===================================================================
--- Makefile.target (revision 6290)
+++ Makefile.target (working copy)
@@ -716,6 +716,7 @@
OBJS+= tsc2005.o bt-hci-csr.o
OBJS+= mst_fpga.o mainstone.o
OBJS+= musicpal.o pflash_cfi02.o
+OBJS+= palmpxa.o
CPPFLAGS += -DHAS_AUDIO
endif
ifeq ($(TARGET_BASE_ARCH), sh4)
Index: hw/boards.h
===================================================================
--- hw/boards.h (revision 6290)
+++ hw/boards.h (working copy)
@@ -95,6 +95,9 @@
/* palm.c */
extern QEMUMachine palmte_machine;
+/* palmpxa.c */
+extern QEMUMachine palmtc_machine;
+
/* nseries.c */
extern QEMUMachine n800_machine;
extern QEMUMachine n810_machine;
Index: target-arm/machine.c
===================================================================
--- target-arm/machine.c (revision 6290)
+++ target-arm/machine.c (working copy)
@@ -14,6 +14,7 @@
qemu_register_machine(&sx1_machine_v1);
qemu_register_machine(&sx1_machine_v2);
qemu_register_machine(&palmte_machine);
+ qemu_register_machine(&palmtc_machine);
qemu_register_machine(&n800_machine);
qemu_register_machine(&n810_machine);
qemu_register_machine(&lm3s811evb_machine);
Index: hw/palmpxa.c
===================================================================
--- hw/palmpxa.c (revision 0)
+++ hw/palmpxa.c (revision 0)
@@ -0,0 +1,64 @@
+/*
+ * Intel PXA2xx-based Palm PDA Platforms
+ *
+ * Copyright (c) 2009 by Marek Vasut <marek.vasut@gmail.com>
+ *
+ * Code based on spitz platform by Andrzej Zaborowski <balrog@zabor.org>
+ *
+ * This code is licensed under the GNU GPL v2.
+ */
+
+#include "hw.h"
+#include "pxa.h"
+#include "net.h"
+#include "flash.h"
+#include "sysemu.h"
+#include "devices.h"
+#include "boards.h"
+
+/* Platform specific */
+#define PALMTC_ROM (0x01000000) /* 16 Mb of ROM */
+#define PALMTC_RAM (0x04000000) /* 64 Mb of RAM */
+
+/* GPIOs */
+#define PALMTC_GPIO_nPOWER 9
+
+static const int sector_len = 128 * 1024;
+
+static void palmtc_init(ram_addr_t ram_size, int vga_ram_size,
+ const char *boot_device, DisplayState *ds,
+ const char *kernel_filename, const char *kernel_cmdline,
+ const char *initrd_filename, const char *cpu_model)
+{
+ struct pxa2xx_state_s *cpu;
+ int index;
+
+ /* CPU */
+ cpu = pxa255_init(PALMTC_RAM, ds);
+
+ /* Onboard FlashROM */
+ index = drive_get_index(IF_PFLASH, 0, 0);
+ if (index == -1) {
+ fprintf(stderr, "A flash image must be given with the "
+ "'pflash' parameter\n");
+ exit(1);
+ }
+
+ if (!pflash_cfi01_register(0x00000000, qemu_ram_alloc(PALMTC_ROM),
+ drives_table[index].bdrv, sector_len, PALMTC_ROM / sector_len,
+ 2, 0, 0, 0, 0)) {
+ fprintf(stderr, "qemu: Error registering flash memory.\n");
+ exit(1);
+ }
+
+ /* Deassert power button */
+ qemu_set_irq(pxa2xx_gpio_in_get(cpu->gpio)[PALMTC_GPIO_nPOWER], 1);
+}
+
+QEMUMachine palmtc_machine = {
+ .name = "palmtc",
+ .desc = "Palm Tungsten|C (PXA255)",
+ .init = palmtc_init,
+ .ram_require = (PALMTC_RAM + PALMTC_ROM + PXA2XX_INTERNAL_SIZE) |
+ RAMSIZE_FIXED,
+};
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2009-01-14 17:26 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-14 15:20 [Qemu-devel] [PATCH] Add Palm Tungsten|C support Marek Vašut
2009-01-14 16:02 ` Jean-Christophe PLAGNIOL-VILLARD
2009-01-14 16:23 ` Marek Vasut
2009-01-14 16:17 ` Jean-Christophe PLAGNIOL-VILLARD
2009-01-14 17:08 ` Marek Vasut
2009-01-14 17:26 ` Marek Vasut
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).