2 These are brief instructions on how to add support for CF adapters to
3 custom designed PXA boards. You need to set the parameters in the
4 config file. This should work for most implementations especially if you
5 follow the connections of the standard lubbock. Anyway just the block
6 marked memory configuration should be touched since the other parameters
7 are imposed by the PXA architecture.
9 EDIT 2010-07-01: in common/cmd_ide.c, having CONFIG_PXA_PCMCIA defined
10 would cause looping on inw()/outw() rather than using insw()/outsw(),
11 thus making sure IDE / ATA bytes are properly swapped. This behaviour
12 is now controlled by CONFIG_IDE_SWAP_IO, therefore PXA boards with
13 PCMCIA should #define CONFIG_IDE_SWAP_IO.
15 #define CONFIG_IDE_SWAP_IO
17 #define CONFIG_PXA_PCMCIA 1
18 #define CONFIG_PXA_IDE 1
20 #define CONFIG_PCMCIA_SLOT_A 1
21 /* just to keep build system happy */
23 #define CONFIG_SYS_PCMCIA_MEM_ADDR 0x28000000
24 #define CONFIG_SYS_PCMCIA_MEM_SIZE 0x10000000
26 #define CONFIG_SYS_MECR_VAL 0x00000000
27 #define CONFIG_SYS_MCMEM0_VAL 0x00004204
28 #define CONFIG_SYS_MCMEM1_VAL 0x00000000
29 #define CONFIG_SYS_MCATT0_VAL 0x00010504
30 #define CONFIG_SYS_MCATT1_VAL 0x00000000
31 #define CONFIG_SYS_MCIO0_VAL 0x00008407
32 #define CONFIG_SYS_MCIO1_VAL 0x00000000
33 /* memory configuration */
35 #define CONFIG_SYS_IDE_MAXBUS 1
37 #define CONFIG_SYS_IDE_MAXDEVICE 1
38 /* max. 1 drive per IDE bus */
40 #define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000
42 #define CONFIG_SYS_ATA_BASE_ADDR 0x20000000
44 /* Offset for data I/O */
45 #define CONFIG_SYS_ATA_DATA_OFFSET 0x1f0
47 /* Offset for normal register accesses */
48 #define CONFIG_SYS_ATA_REG_OFFSET 0x1f0
50 /* Offset for alternate registers */
51 #define CONFIG_SYS_ATA_ALT_OFFSET 0x3f0
54 Another important point is that maybe you have to power the pcmcia
55 subsystem. This is very board specific, for an example on how to
56 do it please search for CONFIG_EXADRON1 in cmd_pcmcia.c