From 142f4ed4b1476b730a314106db21bd658bd174cf Mon Sep 17 00:00:00 2001 From: John Hay Date: Wed, 14 Mar 2007 19:03:07 +0000 Subject: [PATCH] Map the second CS of the compact flash too. This allow us access to the alternate status and the control registers. Remove the local version of ata_reset. Add support for the ADI Pronghorn Metro boards. They use CS3 and CS4 instead of Avila's CS1 and CS2. --- sys/arm/xscale/ixp425/ixp425.c | 7 +++++++ sys/arm/xscale/ixp425/ixp425reg.h | 17 +++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/sys/arm/xscale/ixp425/ixp425.c b/sys/arm/xscale/ixp425/ixp425.c index 78155bca6ad..96d33a00d2c 100644 --- a/sys/arm/xscale/ixp425/ixp425.c +++ b/sys/arm/xscale/ixp425/ixp425.c @@ -86,6 +86,13 @@ static struct { /* Gateworks Avila IDE/CF is mapped here */ { IXP425_EXP_BUS_CS1_HWBASE, IXP425_EXP_BUS_SIZE, IXP425_EXP_BUS_CS1_VBASE }, + { IXP425_EXP_BUS_CS2_HWBASE, IXP425_EXP_BUS_SIZE, + IXP425_EXP_BUS_CS2_VBASE }, + /* ADI Pronghorn Metro IDE/CF is mapped here */ + { IXP425_EXP_BUS_CS3_HWBASE, IXP425_EXP_BUS_SIZE, + IXP425_EXP_BUS_CS3_VBASE }, + { IXP425_EXP_BUS_CS4_HWBASE, IXP425_EXP_BUS_SIZE, + IXP425_EXP_BUS_CS4_VBASE }, }; static int diff --git a/sys/arm/xscale/ixp425/ixp425reg.h b/sys/arm/xscale/ixp425/ixp425reg.h index 55e1fd938c9..c7b72064863 100644 --- a/sys/arm/xscale/ixp425/ixp425reg.h +++ b/sys/arm/xscale/ixp425/ixp425reg.h @@ -566,15 +566,24 @@ #define IXP425_EXP_BUS_CSx_HWBASE(i) \ (IXP425_EXP_BUS_HWBASE + (i)*IXP425_EXP_BUS_SIZE) +#define IXP425_EXP_BUS_CSx_VBASE(i) \ + (IXP425_MAC_B_VBASE + (i)*IXP425_MAC_B_SIZE) + #define IXP425_EXP_BUS_CS1_HWBASE IXP425_EXP_BUS_CSx_HWBASE(1) -#define IXP425_EXP_BUS_CS1_VBASE (IXP425_MAC_B_VBASE + IXP425_MAC_B_SIZE) +#define IXP425_EXP_BUS_CS1_VBASE IXP425_EXP_BUS_CSx_VBASE(1) #define IXP425_EXP_BUS_CS1_SIZE 0x1000 - -/* NB: not mapped (yet) */ -#define IXP425_EXP_BUS_CS0_HWBASE IXP425_EXP_BUS_CSx_HWBASE(0) #define IXP425_EXP_BUS_CS2_HWBASE IXP425_EXP_BUS_CSx_HWBASE(2) +#define IXP425_EXP_BUS_CS2_VBASE IXP425_EXP_BUS_CSx_VBASE(2) +#define IXP425_EXP_BUS_CS2_SIZE 0x1000 #define IXP425_EXP_BUS_CS3_HWBASE IXP425_EXP_BUS_CSx_HWBASE(3) +#define IXP425_EXP_BUS_CS3_VBASE IXP425_EXP_BUS_CSx_VBASE(3) +#define IXP425_EXP_BUS_CS3_SIZE 0x1000 #define IXP425_EXP_BUS_CS4_HWBASE IXP425_EXP_BUS_CSx_HWBASE(4) +#define IXP425_EXP_BUS_CS4_VBASE IXP425_EXP_BUS_CSx_VBASE(4) +#define IXP425_EXP_BUS_CS4_SIZE 0x1000 + +/* NB: not mapped (yet) */ +#define IXP425_EXP_BUS_CS0_HWBASE IXP425_EXP_BUS_CSx_HWBASE(0) #define IXP425_EXP_BUS_CS5_HWBASE IXP425_EXP_BUS_CSx_HWBASE(5) #define IXP425_EXP_BUS_CS6_HWBASE IXP425_EXP_BUS_CSx_HWBASE(6) #define IXP425_EXP_BUS_CS7_HWBASE IXP425_EXP_BUS_CSx_HWBASE(7) -- 2.45.2