Difference between revisions of "Flameman/ipaq/status"

From eLinux.org
< Flameman‎ | ipaq
Jump to: navigation, search
(user land progress)
(kernel proof)
Line 209: Line 209:
  
 
new config, and a bit of hacking: it is now booting
 
new config, and a bit of hacking: it is now booting
 +
 +
== miscellanea ==
 +
 +
=== touch screen ===
 +
 +
<pre>
 +
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.
 +
</pre>

Revision as of 01:14, 4 March 2009

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.