2009-06-15 14:44:59 Can't get compact flash to work w/ 2009R1
Jason Holden (UNITED STATES)
Message: 75749
I've been struggling to get compact flash using the BF537-EZKit (128MB, 0.3 silicon) w/ a CF/NAND/IDE daughter card working w/ the latest 2009R1 kernel. My last working version was quite a while ago, so I used to get compact flash working using the following (now depricated) wiki page docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:ide-blackfin under the section "Configuring the Kernel for IDE AT A support -> IDE Settings -> For CF Card in TRUE IDE mode"
On reading the wiki, it looks like the relevant instructions are now docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:pata_platform
I've also tried toggling CF_IDE_NAND_CARD_USE_CF_IN_COMMON_MEMORY_MODE and CF_IDE_NAND_CARD_USE_HDD_INTERFACE in stamp.c.
Can someone post a known-working .config for working w/ compact flash cards that use TRUE-IDE mode?
Are true-ide compact flash cards still supported?
My old boot sequence had the following:
fin_mac: Version 1.1, Blackfin BF53[67] BF527 on-chip Ethernet MAC driver
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
ide0: Blackfin generic IDE interface
hda: HMS360604D5CF00, ATA DISK drive
ide0 at 0x2031c020-0x2031c027,0x2031c016 on irq 54
hda: max request size: 128KiB
hda: 7999488 sectors (4095 MB) w/128KiB Cache, CHS=7936/16/63
hda: cache flushes supported
hda: hda1 hda2 hda3 hda4
bfin-spi bfin-spi.0: Blackfin BF5xx on-chip SPI Contoller Driver, Version 1.0, regs_base@ffc00500, dma channel@7
My new boot sequence is against 2009R1 w/ the attached .config file. Note that w/ the new config, I'm getting unhandled IRQ 55's, whereas my old version used IRQ 54.
## Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-2.6.28.10-ADI-2009R1-g9a0b
Created: 2009-06-15 18:33:23 UTC
Image Type: Blackfin Linux Kernel Image (gzip compressed)
Data Size: 4440441 Bytes = 4.2 MB
Load Address: 00001000
Entry Point: 001d2514
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting Kernel at = 001d2514
Linux version 2.6.28.10-ADI-2009R1-g9a0b5df (jholden@bae002343) (gcc version 4.1.2 (ADI svn)) #49 Mon Jun 15 14:33:15 EDT 2009
Board Memory: 128MB
Kernel Managed Memory: 128MB
Memory map:
fixedcode = 0x00000400-0x00000490
text = 0x00001000-0x0013a810
rodata = 0x0013a810-0x0019f5dc
bss = 0x001a0000-0x001b2df0
data = 0x001b2df0-0x001c4000
stack = 0x001c2000-0x001c4000
init = 0x001c4000-0x0080f000
available = 0x0080f000-0x07eff000
DMA Zone = 0x07f00000-0x08000000
Hardware Trace Active and Enabled
Boot Mode: 0
Blackfin support (C) 2004-2009 Analog Devices, Inc.
Compiled for ADSP-BF537 Rev 0.3
Blackfin Linux support by blackfin.uclinux.org/
Processor Speed: 500 MHz core clock and 100 MHz System Clock
NOMPU: setting up cplb tables
Instruction Cache Enabled for CPU0
Data Cache Enabled for CPU0 (write-back)
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 32257
Kernel command line: root=/dev/mtdblock0 rw ip=129.86.197.23:129.86.24.144:129.86.197.1:255.255.0.0:wolf209:eth0:off
Configuring Blackfin Priority Driven Interrupts
PID hash table entries: 512 (order: 9, 2048 bytes)
console [ttyBF0] enabled
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory available: 120664k/131072k RAM, (6444k init code, 1254k kernel code, 550k data, 1024k dma, 1132k reserved)
Calibrating delay loop... 995.32 BogoMIPS (lpj=1990656)
Security Framework initialized
Mount-cache hash table entries: 512
Blackfin Scratchpad data SRAM: 4 KB
Blackfin L1 Data A SRAM: 16 KB (15 KB free)
Blackfin L1 Data B SRAM: 16 KB (16 KB free)
Blackfin L1 Instruction SRAM: 48 KB (37 KB free)
net_namespace: 288 bytes
NET: Registered protocol family 16
Blackfin DMA Controller
stamp_init(): registering device resources
SCSI subsystem initialized
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
msgmni has been set to 235
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler cfq registered
Serial: Blackfin serial driver
bfin-uart.1: ttyBF0 at MMIO 0xffc00400 (irq = 18) is a BFIN-UART
brd: module loaded
bfin_mii_bus: probed
bfin_mac: attached PHY driver [SMSC LAN83C185] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=19)@sclk=100MHz)
bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1
Driver 'sd' needs updating - please use bus_type methods
Driver 'sr' needs updating - please use bus_type methods
scsi0 : pata_platform
ata1: PATA max PIO0 mmio cmd 0x20314020 ctl 0x2031401c irq 55
irq 55: nobody cared (try booting with the "irqpoll" option)
Hardware Trace:
0 Target : <0x00004b08> { _dump_stack + 0x0 }
Source : <0x0002cd18> { ___report_bad_irq + 0x1c } CALL pcrel
1 Target : <0x0002cd18> { ___report_bad_irq + 0x1c }
Source : <0x0002cd74> { ___report_bad_irq + 0x78 } JUMP.S
2 Target : <0x0002cd74> { ___report_bad_irq + 0x78 }
Source : <0x00010386> { _printk + 0x16 } RTS
3 Target : <0x00010382> { _printk + 0x12 }
Source : <0x00010b9e> { _vprintk + 0x132 } RTS
4 Target : <0x00010b92> { _vprintk + 0x126 }
Source : <0x00010b84> { _vprintk + 0x118 } IF !CC JUMP
5 Target : <0x00010b7c> { _vprintk + 0x110 }
Source : <0x00010cc2> { _vprintk + 0x256 } JUMP.S
6 Target : <0x00010cc2> { _vprintk + 0x256 }
Source : <0x000101fa> { _wake_up_klogd + 0x1a } RTS
7 Target : <0x000101fa> { _wake_up_klogd + 0x1a }
Source : <0x000101ec> { _wake_up_klogd + 0xc } IF !CC JUMP
8 Target : <0x000101e0> { _wake_up_klogd + 0x0 }
Source : <0x0001060e> { _release_console_sem + 0x1ae } JUMP.L
9 Target : <0x00010606> { _release_console_sem + 0x1a6 }
Source : <0x000105ea> { _release_console_sem + 0x18a } IF !CC JUMP
10 Target : <0x000105de> { _release_console_sem + 0x17e }
Source : <0x000231fe> { _up + 0x3e } RTS
11 Target : <0x000231f8> { _up + 0x38 }
Source : <0x000231ea> { _up + 0x2a } IF !CC JUMP
12 Target : <0x000231c0> { _up + 0x0 }
Source : <0x000105da> { _release_console_sem + 0x17a } CALL pcrel
13 Target : <0x000105c6> { _release_console_sem + 0x166 }
Source : <0x000104ae> { _release_console_sem + 0x4e } IF !CC JUMP
14 Target : <0x00010482> { _release_console_sem + 0x22 }
Source : <0x000105a8> { _release_console_sem + 0x148 } IF CC JUMP
15 Target : <0x000105a0> { _release_console_sem + 0x140 }
Source : <0x00010152> { __call_console_drivers + 0x7a } RTS
Stack info:
SP: [0x0092ba1c] <0x0092ba1c> /* kernel dynamic memory */
FP: (0x0092ba28)
Memory from 0x0092ba10 to 0092c000
0092ba10: 00000000 0092ba1c 001b3c28 [00000006]<0002cd1c> 001b815c (00000000)<0002bff6>
0092ba30: 00000037 00000000 <0002ce8a> 001b815c 00000000 00000037 0000000a <0002d8e0>
0092ba50: 001b815c 00000037 001ab270 00000000 00000037 00000000 0000000a <0002d6ac>
0092ba70: 001b75e0 00000006 <00008d02> 001ae9a0 0092a000 07a949d0 0000000a 00000001
0092ba90:<000145ea><ffa00300> 00000022 0092bc08 07a949d0 00000000 00000000 00000006
0092bab0:<ffa00b74> 001ae9a0 00000002 00000000 07ee1060 001b8c24 001ab270 00014200
0092bad0: 02002000 00000026 00000000 00000000 00000000 00014200 <ffa0032e> 0000000c
0092baf0: 02002000 0000b5ee ffa015ac 0000b5d8 ffa015ac 00000000 00000000 00000934
0092bb10: 00000000 003d08ba 00000000 00000000 00000000 00000000 00000000 00000000
0092bb30: 00000000 00000000 00000000 00000000 00000000 00000000 00000024 ffffffff
0092bb50: ffffffff ffffffff ffffffff 00000000 00000001 001ae9a0 0092a000 001ab270
0092bb70: 001b4424 00000094 001a655c 00000002 00000000 07a949d0 0000000a 00000000
0092bb90: 00000100 00000100 0000ffff 0000ffff 001a655c 00000006 <0002d6ac> 001b75e0
0092bbb0: 00000006 07a949d4 00000006 07a949ac <ffa0032e> 001ae9a0 07ede000 07a949d4
0092bbd0: 00000006 00000000 07a949d0 00000000 00000000 00000000 00000000 <ffa00b74>
0092bbf0: 07edf324 0000ffc0 00000001 0092bc20 <0000dc5a> 001a655c 0002c870 00008050
0092bc10: 00000026 00000000 00000000 00000000 0002c870 <0002c85c> 00000006 00003004
0092bc30: 000d00d2 ffa015ac 000d00d2 ffa015ac 00000000 00000000 00000000 00000000
0092bc50: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0092bc70: 00000000 00000000 00000000 00000000 00000000 00000024 00000000 00000000
0092bc90: 07a65d48 000d1900 00000000 07a949ac 07edf324 07ede000 07a949d4 001b4424
0092bcb0: 0013aff8 0092bccc 0000ffc0 00000001 07a949d0 00000000 00000001 00000002
0092bcd0: 00000400 0000ffff 0000ffff 0092bccc 00000006 07a949d0 0000ffc0 00000000
0092bcf0:<000c8122> 0000ffc0 00000023 001828bc 00000001 00000050 001839bc 07edf344
0092bd10: 001bcc78 <000c81d0> 07a949ac 07a949d4 001af338 00000001 00000037 000d234c
0092bd30: 001bcd84 2031401c 00000000 00000037 00000024 00173490 07a949ac <0013a432>
0092bd50: 001b51e4 001b569c 001b56c0 001b56a4 001bcc78 00000000 <0006edee> 07aafc6c
0092bd70: 00000001 00000024 001bcd84 00000001 <000abb18> 001b51e4 001bcc78 001b5290
0092bd90: 000000ac 00000000 <00138f58><00138f80> 001b50f0 <000abc84> 001b51e4 001bcc78
0092bdb0: 001e2f1c 001b5290 001bb908 001e2f1c 00000000 <000ab336> 000abc18 001bb908
0092bdd0: 00000000 0092bde4 07a63720 <00094a94> 001a0024 07efb5d8 001b522c <000ab9ce>
0092bdf0: 001a0024 00000000 07a63720 00000000 0092be24 0092be24 <000ab6e8> 000abc18
0092be10:<000ab706> 00004000 07a638a0 00000000 0017f53c 00173490 00000000 <000abdd4>
0092be30: 001a0024 001bcc78 001e2f1c 00000000 00000000 00000000 <00001028> 001a0024
0092be50:<00001028> 001a0024 001d92f4 00000000 00000000 00000000 07ee7bc0 001c1ea0
0092be70: 00000010 0092a000 <000040d0> 00000000 00000001 000240d0 00000000 00000000
0092be90: 001c1ea0 00000001 00000044 0092a000 0092a000 0092a000 000240d0 0092a000
0092beb0: 00000010 00823720 00000000 00000000 00000000 00000000 00000000 00000020
0092bed0: 00000000 00000000 ffffffff 0092bf0c <00093d40> 009394a0 0093a300 001ad49c
0092bef0:<00093db4> 07efb6a4 00000000 000000d2 001ad49c 0000003f 0092bf0c 07ee8e10
0092bf10: 00000000 <00093f26> 001ad49c 0093a300 001e2f1c 000000d0 00000000 <00069ec4>
0092bf30: 009394a0 0093a300 001e2f1c 0092bf60 00004000 00000000 00000000 00000000
0092bf50: 001e2f1c 0092bf60 <0006a0e8> 001b8b34 000000d2 <0006a0f6> 001b8b34 001ac9a8
0092bf70: 009394a0 0093a300 0092bf9c 7fffff00 00000001 <0002dcf6> 0092bf9c 00000061
0092bf90: 0000000e <0006a1ba> 0093a300 00003739 00000000 001d0000 <0002dd52> 001b7474
0092bfb0: 001e2cc8 00000061 001b8b34 <001c43b0> 001e2e98 001e2cc8 00000000 00000000
0092bfd0: 00000000 00000000 00000000 00000000 00000000 <0000145e> 00000000 00000000
0092bff0: 00000000 00000000 ffffffff 00000006 07ee78e0
Return addresses in stack:
address : <0x0002cd1c> { ___report_bad_irq + 0x20 }
frame 1 : <0x0002bff6> { _handle_IRQ_event + 0x36 }
address : <0x0002ce8a> { _note_interrupt + 0x112 }
address : <0x0002d8e0> { _handle_level_irq + 0x9c }
address : <0x0002d6ac> { _handle_simple_irq + 0x74 }
address : <0x00008d02> { _bfin_demux_gpio_irq + 0x72 }
address : <0x000145ea> { _irq_enter + 0xa }
address : <0xffa00300> { _asm_do_IRQ + 0x34 }
address : <0xffa00b74> { __common_int_entry + 0x64 }
address : <0xffa0032e> { _asm_do_IRQ + 0x62 }
address : <0x0002d6ac> { _handle_simple_irq + 0x74 }
address : <0xffa0032e> { _asm_do_IRQ + 0x62 }
address : <0xffa00b74> { __common_int_entry + 0x64 }
address : <0x0000dc5a> { _dequeue_task_fair + 0x7a }
address : <0x0002c85c> { _enable_irq + 0x38 }
address : <0x000c8122> { _ata_host_register + 0x1fa }
address : <0x000c81d0> { _ata_host_activate + 0x74 }
address : <0x0013a432> { _pata_platform_probe + 0x76 }
address : <0x0006edee> { _create_dir + 0x3a }
address : <0x000abb18> { _driver_probe_device + 0x78 }
address : <0x00138f58> { _klist_next + 0x20 }
address : <0x00138f80> { _klist_next + 0x48 }
address : <0x000abc84> { ___driver_attach + 0x6c }
address : <0x000ab336> { _bus_for_each_dev + 0x3e }
address : <0x00094a94> { _kobject_init_and_add + 0x24 }
address : <0x000ab9ce> { _driver_attach + 0x1a }
address : <0x000ab6e8> { _bus_add_driver + 0x64 }
address : <0x000ab706> { _bus_add_driver + 0x82 }
address : <0x000abdd4> { _driver_register + 0x40 }
address : <0x00001028> { __stext + 0x28 }
address : <0x00001028> { __stext + 0x28 }
address : <0x000040d0> { _show_regs + 0x36c }
address : <0x00093d40> { _ida_get_new_above + 0x94 }
address : <0x00093db4> { _ida_get_new_above + 0x108 }
address : <0x00093f26> { _ida_pre_get + 0xe }
address : <0x00069ec4> { _proc_register + 0x30 }
address : <0x0006a0e8> { _create_proc_entry + 0x3c }
address : <0x0006a0f6> { _create_proc_entry + 0x4a }
address : <0x0002dcf6> { _register_irq_proc + 0x76 }
address : <0x0006a1ba> { _proc_mkdir_mode + 0x2e }
address : <0x0002dd52> { _init_irq_proc + 0x42 }
address : <0x001c43b0> { _kernel_init + 0x84 }
address : <0x0000145e> { _kernel_thread_helper + 0x6 }
handlers:
[<000d234c>] (_ata_sff_interrupt+0x0/0x194)
Disabling IRQ #55
bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@7
rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0
Thanks
Jason
linux_config
QuoteReplyEditDelete
2009-06-15 16:01:22 Can't get compact flash to work w/ 2009R1
Michael Hennerich (GERMANY)
Message: 75755 For CF or CF TRUE-IDE you have several options:
First of all - we dropped the driver that puts the CF-IDE-NAND card into true ide mode.
If you have your own card that asserts ATASEL during RESET you can use your own card, with the existing pata-platfrom driver.
If you use the CF-IDE-NAND card:
1) use pata-platfrom and with define CF_IDE_NAND_CARD_USE_CF_IN_COMMON_MEMORY_MODE set. Don
't define an IRQ.
2) use the CF card in PCMCIA IO-Mode with the Blackfin PCMICA driver and the card service IDE driver.
Both methods should work.
-Michael
QuoteReplyEditDelete
2009-06-15 17:40:38 Re: Can't get compact flash to work w/ 2009R1
Jason Holden (UNITED STATES)
Message: 75756
Enabling F_IDE_NAND_CARD_USE_CF_IN_COMMON_MEMORY_MODE in stamp.c I get no errors, but no detection of CF either.
Driver 'sd' needs updating - please use bus_type methods
Driver 'sr' needs updating - please use bus_type methods
scsi0 : pata_platform
ata1: PATA max PIO0 no IRQ, using PIO polling mmio cmd 0x20211800 ctl 0x2021180e
bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@7
Using the old ide driver following instructions from docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:bfin_cf_pcmcia and kernel config (config.old_ide_driver) I get
bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1
Uniform Multi-Platform E-IDE driver
ide-gd driver 1.18
bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@7
bfin_cf_pcmcia bfin_cf_pcmcia: Blackfin CompactFlash/PCMCIA Socket Driver
bfin_cf_pcmcia bfin_cf_pcmcia: : on irq 54
rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0
bfin-wdt: initialized: timeout=20 sec (nowayout=0)
TCP cubic registered
NET: Registered protocol family 17
rtc-bfin rtc-bfin: setting system clock to 1970-01-06 18:20:08 UTC (498008)
pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0
IP-Config: Complete:
device=eth0, addr=129.86.197.23, mask=255.255.0.0, gw=129.86.197.1,
host=wolf209, domain=, nis-domain=(none),
bootserver=129.86.24.144, rootserver=129.86.24.144, rootpath=
Freeing unused kernel memory: 5984k freed
Use the new libata driver following instructions from the same wiki page, and using config (config.new_ata_driver) I get the following:
Driver 'sd' needs updating - please use bus_type methods
bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@7
bfin_cf_pcmcia bfin_cf_pcmcia: Blackfin CompactFlash/PCMCIA Socket Driver
bfin_cf_pcmcia bfin_cf_pcmcia: : on irq 54
rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0
bfin-wdt: initialized: timeout=20 sec (nowayout=0)
TCP cubic registered
NET: Registered protocol family 17
rtc-bfin rtc-bfin: setting system clock to 1970-01-06 18:32:24 UTC (498744)
pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0
IP-Config: Complete:
device=eth0, addr=129.86.197.23, mask=255.255.0.0, gw=129.86.197.1,
host=wolf209, domain=, nis-domain=(none),
bootserver=129.86.24.144, rootserver=129.86.24.144, rootpath=
Freeing unused kernel memory: 5996k freed
None of these detect the compact flash card.
-Jason
config.old_ide_driver
config.new_ata_driver
QuoteReplyEditDelete
2009-06-16 03:03:26 Re: Can't get compact flash to work w/ 2009R1
Michael Hennerich (GERMANY)
Message: 75762 Did you disconnect AMS2 and AMS3 using SW6?
docs.blackfin.uclinux.org/doku.php?id=hw:cards:cf-ide-nand
-Michael
QuoteReplyEditDelete
2009-06-16 11:07:39 Re: Can't get compact flash to work w/ 2009R1
Jason Holden (UNITED STATES)
Message: 75831
I had been doing all of my testing w/ a 4GB Hitachi Microdrive. Using the patch I posted yesterday to uboot bug #5256, u-boot can detect this drive, and it worked in the old version of the kernel:
U-boot:
Using CF True IDE Mode
Bus 0: OK
Device 0: Model: HMS360604D5CF00 Firm: DP4EC42D
Type: Hard Disk
Capacity: 3906.0 MB = 3.8 GB (7999488 x 512)
I swapped this model CF card (or should I say microdrive?) out for a different model, and it worked both with config.new_ata_driver and config.old_ide_driver posted above.
U-boot:
Using CF True IDE Mode
Bus 0: OK
Device 0: Model: SanDisk SDCFH-1024 Firm: HDX 4.04
Type: Removable Hard Disk
Capacity: 977.4 MB = 0.9 GB (2001888 x 512)
Kernel:
pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0
pcmcia 0.0: pcmcia: registering new device pcmcia0.0
scsi0 : pata_pcmcia
ata1: PATA max PIO0 cmd 0x20310000 ctl 0x2031000e irq 54
ata1.00: CFA: SanDisk SDCFH-1024, HDX 4.04, max PIO4
ata1.00: 2001888 sectors, multi 0: LBA
ata1.00: Drive reports diagnostics failure. This may indicate a drive
ata1.00: fault or invalid emulation. Contact drive vendor for information.
ata1.00: configured for PIO0
ata1.00: configured for PIO0
ata1: EH complete
scsi 0:0:0:0: Direct-Access ATA SanDisk SDCFH-10 HDX PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 2001888 512-byte hardware sectors: (1.02 GB/977 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DA
sd 0:0:0:0: [sda] 2001888 512-byte hardware sectors: (1.02 GB/977 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DA
sda: sda1
sd 0:0:0:0: [sda] Attached SCSI removable disk
I think this test is indicating that not all drives are supported w/ the current set of drivers. Do you concur? I'm not sure if its significant, but also note the difference in the type of drive that U-boot detects. One is a "Hard Disk", the other is a "Removable Hard Disk".
-Jason
QuoteReplyEditDelete
2009-06-16 15:28:26 Re: Can't get compact flash to work w/ 2009R1
Michael Hennerich (GERMANY)
Message: 75849 >I think this test is indicating that not all drives are supported w/ the current set of drivers. Do
>you concur?
Well - No.
Some cards follow the CompactFlash specification differently.
I have to start like this:
On a CF Card there are 3 different interfaces to access storage:
TRUE-IDE Mode:
ATASEL grounded during RESET or "...anytime" later. This is where things fall apart on some cards.
On the CF-IDE-NAND card we control ATASEL connected to the CPLD by software. So this pin is NOT grounded during reset. Some cards don't like that.
You also have to make sure that you don't use TRUE-IDE-MODE in u-boot (SET ATASEL) and later try to access the Card in PC-CARD IO Mode or Common Memory Mode this may not work. And I think you have seen such things.
In case you really ground ATASEL - all cards should work in TRUE IDE MODE.
Then also connect the ADDRESS strobes shifted.
The odd address mapping you have been asking for clarification in the u-boot tracker, was done on purpose to make following two modes work:
PC-CARD IO Mode:
Common Memory Mode:
In u-boot we removed the odd address mapping support in favor for Common Memory Mode.
You should also use Common Memory Mode in u-boot. Then you have the option to also use it in the kernel. Common Memory Mode is BTW the fasted way to access the card.
-Michael
QuoteReplyEditDelete