]>
Commit | Line | Data |
---|---|---|
db01a2ea | 1 | |
ea66bc88 WD |
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 | |
db01a2ea WD |
4 | config file. This should work for most implementations especially if you |
5 | follow the connections of the standard lubbock. Anyway just the block | |
ea66bc88 | 6 | marked memory configuration should be touched since the other parameters |
db01a2ea WD |
7 | are imposed by the PXA architecture. |
8 | ||
f2a37fcd AA |
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. | |
14 | ||
15 | #define CONFIG_IDE_SWAP_IO | |
16 | ||
db01a2ea WD |
17 | #define CONFIG_PXA_PCMCIA 1 |
18 | #define CONFIG_PXA_IDE 1 | |
19 | ||
ea66bc88 | 20 | #define CONFIG_PCMCIA_SLOT_A 1 |
db01a2ea WD |
21 | /* just to keep build system happy */ |
22 | ||
6d0f6bcf JCPV |
23 | #define CONFIG_SYS_PCMCIA_MEM_ADDR 0x28000000 |
24 | #define CONFIG_SYS_PCMCIA_MEM_SIZE 0x10000000 | |
25 | ||
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 | |
db01a2ea WD |
33 | /* memory configuration */ |
34 | ||
6d0f6bcf | 35 | #define CONFIG_SYS_IDE_MAXBUS 1 |
db01a2ea | 36 | /* max. 1 IDE bus */ |
6d0f6bcf | 37 | #define CONFIG_SYS_IDE_MAXDEVICE 1 |
db01a2ea WD |
38 | /* max. 1 drive per IDE bus */ |
39 | ||
6d0f6bcf | 40 | #define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000 |
db01a2ea | 41 | |
6d0f6bcf | 42 | #define CONFIG_SYS_ATA_BASE_ADDR 0x20000000 |
db01a2ea WD |
43 | |
44 | /* Offset for data I/O */ | |
6d0f6bcf | 45 | #define CONFIG_SYS_ATA_DATA_OFFSET 0x1f0 |
db01a2ea WD |
46 | |
47 | /* Offset for normal register accesses */ | |
6d0f6bcf | 48 | #define CONFIG_SYS_ATA_REG_OFFSET 0x1f0 |
db01a2ea WD |
49 | |
50 | /* Offset for alternate registers */ | |
6d0f6bcf | 51 | #define CONFIG_SYS_ATA_ALT_OFFSET 0x3f0 |
db01a2ea | 52 | |
ea66bc88 WD |
53 | |
54 | Another important point is that maybe you have to power the pcmcia | |
db01a2ea WD |
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 |