Difference between revisions of "Flameman/ipaq/status"
(→01-2006) |
(→history) |
||
Line 230: | Line 230: | ||
= history = | = history = | ||
+ | |||
+ | just to have an idea of what was done http://www.handhelds.org/hypermail/kernel-discuss/attachment.html | ||
== 11-2005 == | == 11-2005 == |
Revision as of 01:34, 4 March 2009
Contents
user land progress
- @16-02-2009, the stage3 armv4l has been started
- @18-02-2009, ready to boot a minimal stage1 with init=/bin/bash root=/dev/hda3
- @23-02-2009, stage3 has been finished, tested, well running and able to compile
- @23-02-2009, stage3 is OK, stage4 has been started wirh xorg-x11 in mind (QT embedded is under studying)
- @02-03-2009, stage4 has branched into microwindows stuff, nanoX has been compiled, tested, well running
- @03-03-2009, wonder about an other branch to "QT-extended" ...
kernel last report
- @ 03-2009, 2.6.29.colie
** lcd: working ** backlight : NOT working ** touchscreen : NOT working ** buttons: NOT working ** battery: NOT working (new battery device interface) ** sound: NOT working ** usb: NOT working ** RTC: working ** compactflash: not working ** pcmcia: sleeve 1xpcmcia is working with pATA-pcmcia-16bit/5V
- @ 03-2009, 2.6.19-hh
** lcd: working ** backlight : working ** touchscreen : working, but it seems there is no handler ** buttons: working ** battery: NOT working (new battery device interface) ** sound: NOT working ** usb: NOT working ** RTC: working ** compactflash: not working ** pcmcia: sleeve 1xpcmcia is working with pATA-pcmcia-16bit/5V
old info at http://www.handhelds.org/moin/moin.cgi/KernelStatus
kernel proof
@ grem proof 03-03-2009
- step1
cvs -d :pserver:anoncvs@cvs.handhelds.org:/cvs login password : anoncvs
cvs -z5 -d :pserver:anoncvs@cvs.handhelds.org:/cvs checkout -r K2-6-19-hh4 -f linux/kernel26
- step3
patch -p1 < hh-26-gremlin-20061210.patch
- step4
mymake-arm h3600_defconfig
- step4
manually configure the kernel, the used .config is kernel-ipaq-proof-config.txt
- step5
mymake-arm
and i get all these errors
[!] error CC arch/arm/common/ipaq/ipaq-sleeve.o arch/arm/common/ipaq/ipaq-sleeve.c:19:26: error: linux/config.h: No such file or directory [*] removed linux/config.h -> arch/arm/common/ipaq/ipaq-sleeve.c [!] error drivers/pcmcia/h3600_generic_sleeve.c: In function 'cf_probe_sleeve': drivers/pcmcia/h3600_generic_sleeve.c:137: error: 'MECR_CIT' undeclared (first use in this function) drivers/pcmcia/h3600_generic_sleeve.c:137: error: (Each undeclared identifier is reported only once drivers/pcmcia/h3600_generic_sleeve.c:137: error: for each function it appears in.) drivers/pcmcia/h3600_generic_sleeve.c:137: error: 'MECR_NOS' undeclared (first use in this function) drivers/pcmcia/h3600_generic_sleeve.c: In function 'pcmcia_probe_sleeve': drivers/pcmcia/h3600_generic_sleeve.c:204: error: 'MECR_CIT' undeclared (first use in this function) drivers/pcmcia/h3600_generic_sleeve.c:204: error: 'MECR_NOS' undeclared (first use in this function) drivers/pcmcia/h3600_generic_sleeve.c: In function 'dual_pcmcia_probe_sleeve': drivers/pcmcia/h3600_generic_sleeve.c:397: error: 'MECR_CIT' undeclared (first use in this function) drivers/pcmcia/h3600_generic_sleeve.c:397: error: 'MECR_NOS' undeclared (first use in this function) drivers/pcmcia/h3600_generic_sleeve.c: In function 'dual_cf_probe_sleeve': drivers/pcmcia/h3600_generic_sleeve.c:518: error: 'MECR_CIT' undeclared (first use in this function) drivers/pcmcia/h3600_generic_sleeve.c:518: error: 'MECR_NOS' undeclared (first use in this function) make[2]: *** [drivers/pcmcia/h3600_generic_sleeve.o] Error 1 [*] investigating for MECR_CIT arch/arm/mach-pxa/h4000/h4000_acx.c:// MECR |= MECR_CIT; arch/arm/mach-pxa/h4000/h4000_acx.c:// MECR &= ~MECR_CIT; drivers/pcmcia/h3600_generic_sleeve.c: MECR |= MECR_CIT | MECR_NOS; drivers/pcmcia/h3600_generic_sleeve.c: MECR |= MECR_CIT | MECR_NOS; drivers/pcmcia/h3600_generic_sleeve.c: MECR |= MECR_CIT | MECR_NOS; drivers/pcmcia/h3600_generic_sleeve.c: MECR |= MECR_CIT | MECR_NOS; drivers/pcmcia/pxa2xx_base.c: MECR |= MECR_CIT; drivers/pcmcia/pxa2xx_base.c: MECR = nr > 1 ? MECR_CIT | MECR_NOS : (nr > 0 ? MECR_CIT : 0); drivers/pcmcia/pxa2xx_core.c: MECR |= MECR_CIT; include/asm-arm/arch-pxa/pxa-regs.h:#define MECR_CIT (1 << 1) /* Card Is There: 0 -> no card, 1 -> card inserted */ include/asm/arch-pxa/pxa-regs.h:#define MECR_CIT (1 << 1) /* Card Is There: 0 -> no card, 1 -> card inserted */ it seems there is no sa1100 support in this tree example drivers/pcmcia/h3600_generic_sleeve.c /*************************************************************************************/ /* Compact Flash sleeve */ /*************************************************************************************/ static int __devinit cf_probe_sleeve(struct device *dev) { SLEEVE_DEBUG(1,"%s\n", dev->driver->name); ipaq_sleeve_set_egpio(IPAQ_EGPIO_OPT_ON); // soc_common_drv_pcmcia_probe (dev, &buffered_pcmcia_socket_ops, 0, 1); MECR |= MECR_CIT | MECR_NOS; return 0; pribing the colie tree: not found understanding what is missing /* MECR register defines */ #define MECR_NOS (1 << 0) /* Number Of Sockets: 0 -> 1 sock, 1 -> 2 sock */ #define MECR_CIT (1 << 1) /* Card Is There: 0 -> no card, 1 -> card inserted */ [!] error CC drivers/pcmcia/h3600_pcmcia.o drivers/pcmcia/h3600_pcmcia.c: In function 'h3600_common_pcmcia_init': drivers/pcmcia/h3600_pcmcia.c:51: warning: implicit declaration of function 'set_irq_type' drivers/pcmcia/h3600_pcmcia.c:51: error: 'IRQ_TYPE_EDGE_RISING' undeclared (first use in this function) drivers/pcmcia/h3600_pcmcia.c:51: error: (Each undeclared identifier is reported only once drivers/pcmcia/h3600_pcmcia.c:51: error: for each function it appears in.) drivers/pcmcia/h3600_pcmcia.c:51: error: 'IRQ_TYPE_EDGE_FALLING' undeclared (first use in this function) [*] investigating arch/arm/mach-pxa/palmld/palmld_ide.c: set_irq_type(hw.irq, IRQ_TYPE_EDGE_RISING); arch/avr32/mach-at32ap/extint.c: case IRQ_TYPE_EDGE_RISING: arch/powerpc/platforms/52xx/mpc52xx_pic.c: IRQ_TYPE_EDGE_RISING, arch/powerpc/platforms/52xx/mpc52xx_pic.c: case IRQ_TYPE_EDGE_RISING: arch/powerpc/platforms/cell/interrupt.c: *out_flags = IRQ_TYPE_EDGE_RISING; arch/powerpc/platforms/cell/spider-pic.c: case IRQ_TYPE_EDGE_RISING: arch/powerpc/sysdev/cpm2_pic.c: IRQ_TYPE_EDGE_RISING, arch/powerpc/sysdev/i8259.c: IRQ_TYPE_EDGE_RISING, arch/powerpc/sysdev/mpc8xx_pic.c: IRQ_TYPE_EDGE_RISING, arch/powerpc/sysdev/mpic.c: case IRQ_TYPE_EDGE_RISING: arch/powerpc/sysdev/mpic.c: IRQ_TYPE_EDGE_RISING, drivers/input/keyboard/asic3_keys.c: set_irq_type(irq, IRQ_TYPE_EDGE_RISING); include/asm-arm/irq.h:#define __IRQT_RISEDGE IRQ_TYPE_EDGE_RISING include/asm/irq.h:#define __IRQT_RISEDGE IRQ_TYPE_EDGE_RISING include/linux/irq.h:#define IRQ_TYPE_EDGE_RISING 0x00000001 /* Edge rising type */ include/linux/irq.h:#define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING) drivers/pcmcia/h3600_pcmcia.c:51: error: 'IRQ_TYPE_EDGE_FALLING' undeclared (first use in this function) sound/arm/htcathena_audio.c:// set_irq_type(irq, IRQ_TYPE_EDGE_RISING ); sound/arm/htcsable_audio.c: set_irq_type(sable_headphone_irq, IRQ_TYPE_EDGE_RISING ); sound/arm/htcuniversal_audio.c: set_irq_type(irq, IRQ_TYPE_EDGE_RISING ); ---> include/linux/irq.h:#define IRQ_TYPE_EDGE_RISING 0x00000001 /* Edge rising type */ [!] error CC sound/arm/sa11xx-uda1341.o In file included from sound/arm/sa11xx-uda1341.c:94: include/sound/uda1341.h:122: warning: 'struct l3_client' declared inside parameter list include/sound/uda1341.h:122: warning: its scope is only this definition or declaration, which is probably not what you want sound/arm/sa11xx-uda1341.c: In function 'sa11xx_uda1341_set_samplerate': sound/arm/sa11xx-uda1341.c:271: warning: implicit declaration of function 'l3_command' sound/arm/sa11xx-uda1341.c: In function 'sa11xx_uda1341_audio_init': sound/arm/sa11xx-uda1341.c:320: warning: implicit declaration of function 'l3_open' sound/arm/sa11xx-uda1341.c: In function 'sa11xx_uda1341_audio_shutdown': sound/arm/sa11xx-uda1341.c:349: warning: implicit declaration of function 'l3_close' sound/arm/sa11xx-uda1341.c: In function 'snd_sa11xx_uda1341_free': sound/arm/sa11xx-uda1341.c:903: error: 'sa11xx_uda1341_t' undeclared (first use in this function) sound/arm/sa11xx-uda1341.c:903: error: (Each undeclared identifier is reported only once sound/arm/sa11xx-uda1341.c:903: error: for each function it appears in.) sound/arm/sa11xx-uda1341.c:903: error: 'chip' undeclared (first use in this function) sound/arm/sa11xx-uda1341.c:907: error: 'sa11xx_uda1341' undeclared (first use in this function) sound/arm/sa11xx-uda1341.c: In function 'sa11xx_uda1341_init': sound/arm/sa11xx-uda1341.c:921: error: 'sa11xx_uda1341_t' undeclared (first use in this function) sound/arm/sa11xx-uda1341.c:925: error: 'sa11xx_uda1341' undeclared (first use in this function) sound/arm/sa11xx-uda1341.c:928: error: 'chip' undeclared (first use in this function) sound/arm/sa11xx-uda1341.c:945: warning: implicit declaration of function 'snd_card_set_generic_pm_callback' sound/arm/sa11xx-uda1341.c:946: error: 'snd_sa11_uda1341_resume' undeclared (first use in this function) sound/arm/sa11xx-uda1341.c:953: warning: implicit declaration of function 'snd_card_set_generic_dev' sound/arm/sa11xx-uda1341.c: At top level: sound/arm/sa11xx-uda1341.c:976: error: 'sa11xx_uda1341_probe' undeclared here (not in a function) sound/arm/sa11xx-uda1341.c:988: error: redefinition of 'sa11xx_uda1341_init' sound/arm/sa11xx-uda1341.c:913: error: previous definition of 'sa11xx_uda1341_init' was here sound/arm/sa11xx-uda1341.c: In function 'sa11xx_uda1341_init': sound/arm/sa11xx-uda1341.c:991: warning: implicit declaration of function 'machine_is_h3xxx' sound/arm/sa11xx-uda1341.c:1001: error: expected ';' before '}' token make[2]: *** [sound/arm/sa11xx-uda1341.o] Error 1 [*] removing the module
- step ... umm fixing issues, recompile, check it out
kernel param: root=/dev/hda3 console=ttySA0
kernel: not back lighting, stalled at the /sbin/init (dunno why), not working with sleeve 2xpcmcia, booting with 1xpcmcia .... i can't test anything else cause /sbin/init has not been completed
new config, and a bit of hacking: it is now booting
miscellanea
touch screen
config TOUCHSCREEN_BITSY 33 tristate "Compaq iPAQ H3600 (Bitsy) touchscreen" 34 depends on SA1100_BITSY 35 select SERIO 36 help 37 Say Y here if you have the h3600 (Bitsy) touchscreen. 38 39 If unsure, say N. 40 41 To compile this driver as a module, choose M here: the 42 module will be called h3600_ts_input.
history
just to have an idea of what was done http://www.handhelds.org/hypermail/kernel-discuss/attachment.html
11-2005
new MACHINE_START definition for ipaq h3600 From: Alessandro GARDICH <gremlin_at_gremlin.it> Date: Mon, 14 Nov 2005 21:11:35 +0100 Nothing change, just to follow the new way for the definition. * text/x-patch attachment: handhelds-sa-26.patch
ipaq h3600 - patch for new egpio functions From: Alessandro GARDICH <gremlin_at_gremlin.it> Date: Sat, 19 Nov 2005 18:30:22 +0100 Nothing change, just to follow the new way *_egpio function. Remain out only micro that have to be full rewriten and uda1341 OSS driver, alsa one should work.
01-2006
From: Alessandro GARDICH <gremlin_at_gremlin.it> Date: Fri, 06 Jan 2006 18:23:16 +0100 Hi to all, another patch for iPAQ h3600 epiphany patch : * arch/arm/common/ipaq/micro.c : - estetic code clean-up - support for keys device - backlight device definition - backlight are now restored after framebuffer blank/resume * arch/arm/common/ipaq/micro_key.c : - support for keys (5 application keys and 4 directions pad) * arch/arm/common/pxa_keys.c : - moved from arch/arm/mach-pxa/pxa_keys.c - small changes to be used also for h3600 device * arch/arm/mach-sa1100/h3600.c - add support for power and action keys - backlight device definition moved in micro.c * include/asm-arm/arch-pxa/pxa_keys.h - to not break existing pxa code it only include hardware/pxa_keys.h * include/asm-arm/arch-sa1100/h3600_gpio.h - add definition for GPIO number (not bit) for action button * include/asm-arm/arch-sa1100/h3600.h - add definition for GPIO number (not bit) for power button * include/asm-arm/arch-sa1100/irqs.h - macro to get IRQ for a giver GPIO * include/asm-arm/hardware/pxa_keys.h - moved from include/asm-arm/arch-pxa/pxa_keys.h There are still some issues with micro* modules after sustend/resume and when unloading. This is really the epyphany patch, the end of xmas vacation. From monday work and pool start again and so spare time will be just few hours for day. :) But i'll continue ... I'm also looking on ebay if I can find a cheap h37xx and h38xx to take care of such iPAQs also.
Re: [PATCH] RTC classdev: Add sysfs support for wakeup alarm (r/w) From: David Brownell <david-b_at_pacbell.net> Date: Mon, 18 Dec 2006 16:59:11 -0800 On Monday 18 December 2006 4:54 pm, David Brownell wrote: > > http://handhelds.org/cgi-bin/cvsweb.cgi/linux/kernel26/drivers/rtc/rtc-sa1100.c.diff?r1=1.5&r2=1.6&f=h > > That patch you applied looks right to me -- why don't you forward it > to Alessandro as a bugfix for 2.6.20-rc2, and save me the effort? Actually, correction: it'd be correct if you ripped out the buggy calls to manage the irq wake mechanism. A later message will show how those need to work. (The IRQ framework will give one helpful hint when it warns about mismatched enable/disable calls ...) - Dave
10-2006
iPAQ h3600 - patch for 2.6.19 From: Alessandro GARDICH <gremlin_at_gremlin.it> Date: Sun, 10 Dec 2006 18:07:13 +0100 Hi all With this patch also h3600 will compile and run kernel 2.6.19 - irq calling loose registers parameter - platform device/driver in h3600_lcd - minor cleanup see u soon
Re: Funky breakage with w100fb imageblit patch * This message: [ Message body ] [ Respond ] [ More options ] * Related messages: [ Next message ] [ Previous message ] [ In reply to ] [ Next in thread ] From: Manuel Teira <manuel.teira_at_telefonica.net> Date: Sun, 10 Dec 2006 20:54:32 +0100 A fast note about performance: It seems that the performance problem is not the imageon itself. After one of my tests, I found in my dmesg lines like: <4>Alignment trap: font (1269) PC=0x4002f9f4 Instr=0xe592c000 Address=0x00012726 FSR 0x013 The problem is the font itself: as any character is 14 bytes (for the 7x14 font) not all the char pointers fall in a word boundary and so, we're forcing the cpu to correct the missalignment. I have a little libw100 test program, to fill the screen with a given text. This is what I got when I use a nonaligned char, like "1": root_at_c7x0:/media/card/libw100/bin$ ./font 0 1 "1" Written 3094 characters in 19 seconds. Rate: 162.422116 cps And using an aligned one, like "2": root_at_c7x0:/media/card/libw100/bin$ ./font 0 1 "2" Written 3094 characters in 0 seconds. Rate: 16563.169165 cps This is like the performance I got using the 8x16 font, so, the problem seems to be the misalignment of the font, and not the imageon itself. Regards. El dom, 10-12-2006 a las 19:33 +0100, Manuel Teira escribió: > El dom, 10-12-2006 a las 19:29 +0200, Paul Sokolovsky escribió: > > Hello Manuel, > > > > Sunday, December 10, 2006, 11:26:45 AM, you wrote: > > > > > Hello. > > > > > After a fast review of the code, I think that the problem could be > > > caused by an error in the w100_hostdata function, while calculating the > > > amount of data entries needed to feed the data to the card. At the > > > beginning of that function, the line: > > > > > u32 left = width * height * depth / 32; > > > > > is just giving 0 entries for one of your 4x6 characters, neither for non > > > 8 bit multiples. This can likely be the cause of the hangs. > > > > > Please, could you try changing that line with: > > > > > u32 left = width * height * depth / 32 + (((width * height * depth) % > > > 32) ? 1 : 0); > > > > Just in case, "(width * height * depth + 31) / 32" would be more > > canonical way to express that, no? ;-) > > Yes. Better and more compact. ;-) > > > > > > and try without applying your patch for checking the dimensions of the > > > image? > > > > Ok, I tried. It draws characters now, but in rather distorted form, > > mostly. It appears that either some special alignment of bitmaps is > > required (unlikely, as some substrings of different lengths are > > rendered properly), or there's some internal counter misinitialized, > > which causes slant and corruption. I made an fb shot: > > http://handhelds.org/~pfalcon/w100fb-7x14fon-corrupt.png > > > > Thanks for the screenshot. I think that the problem is related with how > data is packed into the font bitmaps. The former calculation is > supposing that the data is packed, and a font scanline is using just the > bits it needs. So, for example, for a 4x6 character, the function is > thinking that any scanline is only 4 bits, but perhaps it's padded to > expand to a byte boundary. Anyway, the screenshot is really funny, > because it seems that, as you say, always a set of adjacent chars (and > not always the same length) are drawn correctly. > > I've just made some test with that same 7x14 font and I managed it to > render correctly. I've just changed the patch to always assume that the > data scanlines are aligned to byte boundaries. I've also made the > counterpart changes in libw100 and made some tests. It seems to draw > correctly, but perfomance is worse than for a 8x16 font. > > I'm attaching a new w100-extaccel.patch with the changes. > > Regards.