* PCMCIA Port Data line assignment
@ 2000-09-01 18:04 clark
2000-09-12 15:12 ` Frank Przybylski
0 siblings, 1 reply; 2+ messages in thread
From: clark @ 2000-09-01 18:04 UTC (permalink / raw)
To: linuxppc-embedded
Hello all,
I know this is more of a hardware question but the software has to
deal with it. When interfacing to a PCMCIA slot how should the data lines be
connected. We have books that disagree with each other.
This is how I think it should be done. Which is how the FADS board
does it and its documentation says to do it.
MPC8xx ----- PCMCIA SLOT
D7 D0
D6 D1
D5 D2
D4 D3
D3 D4
D2 D5
D1 D6
D0 D7
D15 D8
D14 D9
D13 D10
D12 D11
D11 D12
D10 D13
D9 D14
D8 D15
This is how the Motorola book says it should be done.
MPC8xx ----- PCMCIA SLOT
D0 D0
D1 D1
D2 D2
D3 D3
D4 D4
D5 D5
D6 D6
D7 D7
D8 D8
D9 D9
D10 D10
D11 D11
D12 D12
D13 D13
D14 D14
D15 D15
This is how our other books says it should be done.
MPC8xx ----- PCMCIA SLOT
D8 D0
D9 D1
D10 D2
D11 D3
D12 D4
D13 D5
D14 D6
D15 D7
D0 D8
D1 D9
D2 D10
D3 D11
D4 D12
D5 D13
D6 D14
D7 D15
any input would be appreciated.
Thanks
Conn Clark
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: PCMCIA Port Data line assignment
2000-09-01 18:04 PCMCIA Port Data line assignment clark
@ 2000-09-12 15:12 ` Frank Przybylski
0 siblings, 0 replies; 2+ messages in thread
From: Frank Przybylski @ 2000-09-12 15:12 UTC (permalink / raw)
To: clark, linuxppc-embedded
Hi Conn,
Please, be more specific which books do disagree?
If you take a lock inside the MPC860 Users Manual (860UM.pdf), you'll see for
the data line connections:
MPC_CE1B# -> BUFFER_1OE#
MPC_RD/WR# -> BUFFER_1DIR
and connected via buffer
MPC_D7 -> PCMCIA_D0
.
.
MPC_D0 -> PCMCIA_D7
MPC_CE2B# -> BUFFER_2OE#
MPC_RD/WR# -> BUFFER_2DIR
s.a.
MPC_D15 -> PCMCIA_D8
.
.
MPC_D8 -> PCMCIA_D15
This is how the FADS connects to PCMCIA, as you mentioned. This is true also for
TQM starter kit. I have a FlashDisk working on the PCMCIA-slot of an TQM STK8xxL
Rev. 004.
For I can handle partitions and data correctly on this Flashdisk, that means I
can exchange and plug them into a PC, I assume that everything regarding byte
and bit order is working fine. But this might also be corrected somewhere inside
the kernel. So I tried a trace of IDE/PCMCIA accesses, to ensure that the
physical connection gives the right ordering, without waste of processor time
for a lack of good enginearing. This trace is a little bit complicated, so don't
put your lawers on me if I missed something. In fact, I'm going to design a
board with the connection mentioned above.
I made the trace with the MPCBDM and added the lines beginning with '!'.
Maybe there's a problem, because programmers might determine byte order over
processor type (PPC, therefore I need to swap bytes), and thus come to the
conclusion to swap bytes from IDE also? I had no time to get a clear view about
byte order handling. I can see a lot of le16_to_cpu etc, but I haven't found one
while reading data from the IDE/PCMCIA. Maybe a pro can give us some light? I
guess, there's a pretty mess, regarding who has to call byte order handling.
I tried msdos and ext2 partitions and found no byte swapping. I found out
drive->slow = 0 and drive->bswap = 0. It does 16 bit accesses, and no swaps.
hth (and doesn't take to long for this)
Frank
------------------------------------------------
stack trace:
#0 0xc0006c3c in ide_insw () at time.c:330
! it's not from time.c but from arch/ppc/kernel/misc.S
! I guess this comes from -O ptimating
!0xc0006c3c <ide_insw>: mtctr r5
!0xc0006c40 <ide_insw+4>: addi r4,r4,-2
!0xc0006c44 <ide_insw+8>: lhz r5,0(r3)
!0xc0006c48 <ide_insw+12>: eieio
!0xc0006c4c <ide_insw+16>: sthu r5,2(r4)
!0xc0006c50 <ide_insw+20>: bdnz 0xc0006c44 <ide_insw+8>
!0xc0006c54 <ide_insw+24>: blr
#1 0xc0008e9c in m8xx_ide_insw (port=3296780288, buf=0xc07b9000, ns=256)
at m8xx_setup.c:326
! ide_insw(port+_IO_BASE, buf, ns);
#2 0xc00a9bd0 in ide_input_data (drive=0xc480e000, buffer=0xc07b9000,
wcount=256) at ide.c:352
! insw(IDE_DATA_REG, buffer, wcount<<1);
! ide_input_data(drive, buffer, wcount);
! if (drive->bswap)
! idedisk_bswap_data(buffer, wcount);
#3 0xc00b45cc in read_intr (drive=0xc0114fc8) at ide-disk.c:71
! idedisk_input_data(drive, rq->buffer, nsect * SECTOR_WORDS);
#4 0xc00abd00 in ide_intr (irq=-1072607288, dev_id=0xc07b9000, regs=0x100)
at ide.c:1433
! handler(drive); #with handler = (ide_handler_t *) 0xc00b4528 <read_intr>
! start_next_request(hwgroup, hwif->irq);
#5 0xc00042d4 in ppc_irq_dispatch_handler (regs=0xc029fc70, irq=3)
at irq.c:280
! action->handler(irq, action->dev_id, regs); # with *action =
! #{handler = 0xc00c1398 <cpm_interrupt>, flags = 0, mask = 0,
! # name = 0xc00da138 "cpm", dev_id = 0x0, next = 0x0}
! action = action->next;
#6 0xc00092d0 in m8xx_do_IRQ (regs=0xc0114f98, cpu=-1065644032, isfake=256)
at ppc8xx_pic.c:106
! ppc_irq_dispatch_handler( regs, irq );
#7 0xc0004388 in do_IRQ (regs=0xc480e000, isfake=256) at irq.c:296
! ppc_md.do_IRQ(regs, cpu, isfake);
#8 0xc0002544 in ret_from_syscall ()
#9 0xc00ab708 in do_hwgroup_request (hwgroup=0xc0154a40) at ide.c:1207
#10 0xc00ab764 in do_ide0_request () at ide.c:1223
#11 0xc00a8514 in unplug_device (data=0xc480e000) at ll_rw_blk.c:170
#12 0xc001d704 in do_generic_file_read (filp=0xc06a9be0, ppos=0xc06a9bf8,
desc=0x29fc60, actor=0xc001d9bc <file_read_actor>)
at /router/Data2/LinuxPPC/usr/src/linux/include/linux/tqueue.h:119
#13 0xc001dab4 in generic_file_read (filp=0xc0110000,
buf=0xc07b9000 "ng made.\n", count=256, ppos=0x3) at filemap.c:830
#14 0xc00573f8 in fat_file_read (filp=0xc480e000, buf=0xc07b9000 "ng made.\n",
count=256, ppos=0x3) at file.c:331
#15 0xc0027a28 in sys_read (fd=12, buf=0x30012000 "ÿØÿá\016\026Exif",
count=4096) at read_write.c:137
#16 0xc00022d8 in syscall_ret_1 ()
#17 0x7ffff888 in ?? ()
#18 <signal handler called>
--
===============================================================================
Frank Przybylski,VAS GmbH,Gotenstr.6,20097 Hamburg,GERMANY,TEL:+49-40-238568-14
mailto:Frank.Przybylski@vas-gmbh.de , visit us at http://www.vas-gmbh.de
===============================================================================
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2000-09-12 15:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-09-01 18:04 PCMCIA Port Data line assignment clark
2000-09-12 15:12 ` Frank Przybylski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).