[ARM] 3349/1: ixp4xx exp bus defines
authorAlessandro Zummo <a.zummo@towertech.it>
Mon, 20 Mar 2006 17:10:10 +0000 (17:10 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 21 Mar 2006 22:06:08 +0000 (22:06 +0000)
Patch from Alessandro Zummo

This patch adds a few defines that are useful
to configure the CS regions on ixp4xx.

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: OEyvind Repvik <oyvind@repvik.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
include/asm-arm/arch-ixp4xx/platform.h

index daf9790..13aee17 100644 (file)
@@ -38,6 +38,33 @@ extern unsigned long ixp4xx_exp_bus_size;
 #define        IXP4XX_EXP_BUS_BASE(region)\
                (IXP4XX_EXP_BUS_BASE_PHYS + ((region) * ixp4xx_exp_bus_size))
 
+#define IXP4XX_EXP_BUS_END(region)\
+               (IXP4XX_EXP_BUS_BASE(region) + ixp4xx_exp_bus_size - 1)
+
+/* Those macros can be used to adjust timing and configure
+ * other features for each region.
+ */
+
+#define IXP4XX_EXP_BUS_RECOVERY_T(x)   (((x) & 0x0f) << 16)
+#define IXP4XX_EXP_BUS_HOLD_T(x)       (((x) & 0x03) << 20)
+#define IXP4XX_EXP_BUS_STROBE_T(x)     (((x) & 0x0f) << 22)
+#define IXP4XX_EXP_BUS_SETUP_T(x)      (((x) & 0x03) << 26)
+#define IXP4XX_EXP_BUS_ADDR_T(x)       (((x) & 0x03) << 28)
+#define IXP4XX_EXP_BUS_SIZE(x)         (((x) & 0x0f) << 10)
+#define IXP4XX_EXP_BUS_CYCLES(x)       (((x) & 0x03) << 14)
+
+#define IXP4XX_EXP_BUS_CS_EN           (1L << 31)
+#define IXP4XX_EXP_BUS_BYTE_RD16       (1L << 6)
+#define IXP4XX_EXP_BUS_HRDY_POL                (1L << 5)
+#define IXP4XX_EXP_BUS_MUX_EN          (1L << 4)
+#define IXP4XX_EXP_BUS_SPLT_EN         (1L << 3)
+#define IXP4XX_EXP_BUS_WR_EN           (1L << 1)
+#define IXP4XX_EXP_BUS_BYTE_EN         (1L << 0)
+
+#define IXP4XX_EXP_BUS_CYCLES_INTEL    0x00
+#define IXP4XX_EXP_BUS_CYCLES_MOTOROLA 0x01
+#define IXP4XX_EXP_BUS_CYCLES_HPI      0x02
+
 #define IXP4XX_FLASH_WRITABLE  (0x2)
 #define IXP4XX_FLASH_DEFAULT   (0xbcd23c40)
 #define IXP4XX_FLASH_WRITE     (0xbcd23c42)