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