MPC870, PCMCIA and IDE

Markus Westergren markus.westergren at biologigrand.ac
Thu Apr 7 00:38:06 EST 2005


Hi

I'm trying to get IDE working via PCMCIA on a custom board wih a MPC870 CPU. I
have a SanDisk 128MB CF card and a CF to PCMCIA adapter. I have it partly
working. The bootloader (RedBoot) dont configure the PCMCIA registers so I took
the initialization code from U-Boot and added it to m8xx_ide_init. The card is
identified but no IDE device is found. I have run out of options to try and
would be greatful for any ideas.

Relevant kernel messages:

Uncompressing Linux...done.
Now booting the kernel
hardware_enable: Slot A
<6>PIPR(fa2000f0)=0x4600ff00
PIPR: 0x4600ff00 ==> VS1=off, VS2=on
3.3V card found: <6>Enable PCMCIA buffers and stop RESET
# hardware_enable done
Win 0: BR: d0000000 OR: b8024491
Win 1: BR: d4000000 OR: 780244d9
Win 2: BR: d8000000 OR: 78024499
Win 3: BR: dc000000 OR: b8024491
Win 4: BR: 00000000 OR: 00000000
Win 5: BR: e0000000 OR: 780244d9
Win 6: BR: e4000000 OR: 78024499
Win 7: BR: 00000000 OR: 00000000

<snip>

Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
PCMCIA slot A: phys mem d0000000...e8000000 (size 18000000)
PCMCIA virt base: c20f7000
PIPR = 0x4700C000  slot A ==> mask = 0x18000000
PCMCIA MEM: C20F7000
Card ID: SanDisk SDP 5/3 0.6
Fixed Disk Card
 IDE interface
 [silicon] [unique] [single] [sleep] [standby] [idle] [low power]
base: c20f7000 + 00000000 = c20f7000
port[0]: c20f7000 + 04000320 = 00000000
port[1]: c20f7000 + 08000321 = 00000001
port[2]: c20f7000 + 08000322 = 00000002
port[3]: c20f7000 + 08000323 = 00000003
port[4]: c20f7000 + 08000324 = 00000004
port[5]: c20f7000 + 08000325 = 00000005
port[6]: c20f7000 + 08000326 = 00000006
port[7]: c20f7000 + 08000327 = 00000007
port[8]: c20f7000 + 00000106 = 00000008
port[9]: c20f7000 + 0000000a = 00000009
Probing IDE interface ide0...
probing for hda: present=0, media=32, probetype=ATA
probing for hda: present=0, media=32, probetype=ATAPI
probing for hdb: present=0, media=32, probetype=ATA
probing for hdb: present=0, media=32, probetype=ATAPI

<snip>

Thanks

/Markus



More information about the Linuxppc-embedded mailing list