u-boot/linux MPC8xx PCMCIA woes.

May 03, 2005 0 Replies

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



Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required