u-boot/linux MPC8xx PCMCIA woes.

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to


Any MPC8xx PCMCIA experts out there?

I have a problem I was hoping someone can help me out with.

My hardware is very similar to the 885ADS (DUET) board.

I have the PCMCIA interface working fine in Linux 2.4.26

I have recently enabled the PCMCIA support in u-boot.  It also
seems to be working just fine.

My problem is, that once I enabled PCMCIA in u-boot, when Linux
comes up, my hardware hangs in the Linux PCMCIA initialization
code.

I have traced the hang down to an instruction in _fpqpcmcia_reset()
which is in the file .....kernel/drivers/pcmcia/pqpcmcia.c

The following code snipet shows where the hang occurs:


   /* reset the mem/io windows */
   /*
      01 mem_win slot_A
      ...
      0N mem-win slot_A
      01 io-win  slot_A
      ...
      0N io-win  slot_A
      01 mem-win slot_B
      ...
      0N mem-win slot_B
      01 io-win  slot_B
      ...
      0N io-win  slot_B
   */
   for ( i = p_ctx->first_mem_win; i < (p_ctx->first_mem_win +
p_ctx->mem_wins_num); i++ )
   {
      p_ctx->REGS->win[i].pbr = 0; /******************* HANGS HERE
**********/
      p_ctx->REGS->win[i].por = 0;
   }
   for ( i = p_ctx->first_io_win; i < (p_ctx->first_io_win +
p_ctx->io_wins_num); i++ )
   {
      p_ctx->REGS->win[i].pbr = 0;
      p_ctx->REGS->win[i].por = 0;
   }


I've tried doing a reset of the PCMCIA (*p_ctx->pgcr =
Q_PCMCIA_PGCRX_CXRESET;)
in various places before this Linux initialization takes place, but it
just causes kernel crashes.  I've also tried doing the reset earlier
on.  I'm kind of stumped on this one.

I was hoping to fix this problem without becoming a ppc PCMCIA guru.
I am using the MPC870.  Does this ring a bell with anyone here?

Regards,
- Mike


Site Timeline