Difference between revisions of "Flameman/ipaq/status"

From eLinux.org
< Flameman‎ | ipaq
Jump to: navigation, search
(01-2006)
(11-2005)
Line 242: Line 242:
  
 
     * text/x-patch attachment: handhelds-sa-26.patch
 
     * text/x-patch attachment: handhelds-sa-26.patch
 +
</pre>
 +
 +
<pre>
 +
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.
 
</pre>
 
</pre>
 
  
 
== 01-2006 ==
 
== 01-2006 ==

Revision as of 01:25, 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.


history

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.