Flameman/ipaq/status

= 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

= kernel last report =

** 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.29.colie

** 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
 * @ 03-2009, 2.6.19-hh

old info at http://www.handhelds.org/moin/moin.cgi/KernelStatus

kernel proof
@ grem proof 03-03-2009

cvs -d :pserver:anoncvs@cvs.handhelds.org:/cvs login password : anoncvs
 * step1

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

mymake-arm h3600_defconfig
 * step4

manually configure the kernel, the used .config is [[Media:kernel-ipaq-proof-config.txt|kernel-ipaq-proof-config.txt]]
 * step4

mymake-arm
 * step5

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 */
 * 1) define MECR_NOS       (1 << 0)        /* Number Of Sockets: 0 -> 1 sock, 1 -> 2 sock */
 * 2) 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