f2a37fcd9b
CONFIG_IDE_SWAP_IO This configuration option replaces a complex conditional in cmd_ide.c with an explicit define to be added to SoC or board configs. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
57 lines
1.9 KiB
Plaintext
57 lines
1.9 KiB
Plaintext
|
|
These are brief instructions on how to add support for CF adapters to
|
|
custom designed PXA boards. You need to set the parameters in the
|
|
config file. This should work for most implementations especially if you
|
|
follow the connections of the standard lubbock. Anyway just the block
|
|
marked memory configuration should be touched since the other parameters
|
|
are imposed by the PXA architecture.
|
|
|
|
EDIT 2010-07-01: in common/cmd_ide.c, having CONFIG_PXA_PCMCIA defined
|
|
would cause looping on inw()/outw() rather than using insw()/outsw(),
|
|
thus making sure IDE / ATA bytes are properly swapped. This behaviour
|
|
is now controlled by CONFIG_IDE_SWAP_IO, therefore PXA boards with
|
|
PCMCIA should #define CONFIG_IDE_SWAP_IO.
|
|
|
|
#define CONFIG_IDE_SWAP_IO
|
|
|
|
#define CONFIG_PXA_PCMCIA 1
|
|
#define CONFIG_PXA_IDE 1
|
|
|
|
#define CONFIG_PCMCIA_SLOT_A 1
|
|
/* just to keep build system happy */
|
|
|
|
#define CONFIG_SYS_PCMCIA_MEM_ADDR 0x28000000
|
|
#define CONFIG_SYS_PCMCIA_MEM_SIZE 0x10000000
|
|
|
|
#define CONFIG_SYS_MECR_VAL 0x00000000
|
|
#define CONFIG_SYS_MCMEM0_VAL 0x00004204
|
|
#define CONFIG_SYS_MCMEM1_VAL 0x00000000
|
|
#define CONFIG_SYS_MCATT0_VAL 0x00010504
|
|
#define CONFIG_SYS_MCATT1_VAL 0x00000000
|
|
#define CONFIG_SYS_MCIO0_VAL 0x00008407
|
|
#define CONFIG_SYS_MCIO1_VAL 0x00000000
|
|
/* memory configuration */
|
|
|
|
#define CONFIG_SYS_IDE_MAXBUS 1
|
|
/* max. 1 IDE bus */
|
|
#define CONFIG_SYS_IDE_MAXDEVICE 1
|
|
/* max. 1 drive per IDE bus */
|
|
|
|
#define CONFIG_SYS_ATA_IDE0_OFFSET 0x0000
|
|
|
|
#define CONFIG_SYS_ATA_BASE_ADDR 0x20000000
|
|
|
|
/* Offset for data I/O */
|
|
#define CONFIG_SYS_ATA_DATA_OFFSET 0x1f0
|
|
|
|
/* Offset for normal register accesses */
|
|
#define CONFIG_SYS_ATA_REG_OFFSET 0x1f0
|
|
|
|
/* Offset for alternate registers */
|
|
#define CONFIG_SYS_ATA_ALT_OFFSET 0x3f0
|
|
|
|
|
|
Another important point is that maybe you have to power the pcmcia
|
|
subsystem. This is very board specific, for an example on how to
|
|
do it please search for CONFIG_EXADRON1 in cmd_pcmcia.c
|