u-boot/linux MPC8xx PCMCIA woes.

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

Reply to
q1001001
Loading thread data ...

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.