IDE: - make ide_inb () and ide_outb () "weak", so boards can
define there own I/O functions.
(Needed for the pcs440ep board).
- The default I/O Functions are again 8 Bit accesses.
- Added CONFIG_CMD_IDE for the pcs440ep Board.
Signed-off-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
@@ -30,6 +30,7 @@
|
||||
#include <spd_sdram.h>
|
||||
#include <status_led.h>
|
||||
#include <sha1.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
@@ -867,6 +868,29 @@ U_BOOT_CMD(
|
||||
);
|
||||
#endif
|
||||
|
||||
#if defined (CONFIG_CMD_IDE)
|
||||
/* These addresses need to be shifted one place to the left
|
||||
* ( bus per_addr 20 -30 is connectsd on CF bus A10-A0)
|
||||
* These values are shifted
|
||||
*/
|
||||
extern ulong *ide_bus_offset;
|
||||
void inline ide_outb(int dev, int port, unsigned char val)
|
||||
{
|
||||
debug ("ide_outb (dev= %d, port= 0x%x, val= 0x%02x) : @ 0x%08lx\n",
|
||||
dev, port, val, (ATA_CURR_BASE(dev)+port));
|
||||
|
||||
out_be16((u16 *)(ATA_CURR_BASE(dev)+(port << 1)), val);
|
||||
}
|
||||
unsigned char inline ide_inb(int dev, int port)
|
||||
{
|
||||
uchar val;
|
||||
val = in_be16((u16 *)(ATA_CURR_BASE(dev)+(port << 1)));
|
||||
debug ("ide_inb (dev= %d, port= 0x%x) : @ 0x%08lx -> 0x%02x\n",
|
||||
dev, port, (ATA_CURR_BASE(dev)+port), val);
|
||||
return (val);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_IDE_PREINIT
|
||||
int ide_preinit (void)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user