diff options
Diffstat (limited to 'include/asm-arm/arch-ixp4xx')
-rw-r--r-- | include/asm-arm/arch-ixp4xx/coyote.h | 5 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/dma.h | 3 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/entry-macro.S | 1 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/gtwx5715.h | 4 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/hardware.h | 1 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/irqs.h | 9 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/ixdp425.h | 3 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/memory.h | 25 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/nas100d.h | 72 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/nslu2.h | 3 | ||||
-rw-r--r-- | include/asm-arm/arch-ixp4xx/platform.h | 24 |
11 files changed, 96 insertions, 54 deletions
diff --git a/include/asm-arm/arch-ixp4xx/coyote.h b/include/asm-arm/arch-ixp4xx/coyote.h index dd0c2d2d8503..7ac9ba2c035c 100644 --- a/include/asm-arm/arch-ixp4xx/coyote.h +++ b/include/asm-arm/arch-ixp4xx/coyote.h | |||
@@ -16,9 +16,6 @@ | |||
16 | #error "Do not include this directly, instead #include <asm/hardware.h>" | 16 | #error "Do not include this directly, instead #include <asm/hardware.h>" |
17 | #endif | 17 | #endif |
18 | 18 | ||
19 | #define COYOTE_FLASH_BASE IXP4XX_EXP_BUS_CS0_BASE_PHYS | ||
20 | #define COYOTE_FLASH_SIZE IXP4XX_EXP_BUS_CSX_REGION_SIZE * 2 | ||
21 | |||
22 | /* PCI controller GPIO to IRQ pin mappings */ | 19 | /* PCI controller GPIO to IRQ pin mappings */ |
23 | #define COYOTE_PCI_SLOT0_PIN 6 | 20 | #define COYOTE_PCI_SLOT0_PIN 6 |
24 | #define COYOTE_PCI_SLOT1_PIN 11 | 21 | #define COYOTE_PCI_SLOT1_PIN 11 |
@@ -26,7 +23,7 @@ | |||
26 | #define COYOTE_PCI_SLOT0_DEVID 14 | 23 | #define COYOTE_PCI_SLOT0_DEVID 14 |
27 | #define COYOTE_PCI_SLOT1_DEVID 15 | 24 | #define COYOTE_PCI_SLOT1_DEVID 15 |
28 | 25 | ||
29 | #define COYOTE_IDE_BASE_PHYS IXP4XX_EXP_BUS_CS3_BASE_PHYS | 26 | #define COYOTE_IDE_BASE_PHYS IXP4XX_EXP_BUS_BASE(3) |
30 | #define COYOTE_IDE_BASE_VIRT 0xFFFE1000 | 27 | #define COYOTE_IDE_BASE_VIRT 0xFFFE1000 |
31 | #define COYOTE_IDE_REGION_SIZE 0x1000 | 28 | #define COYOTE_IDE_REGION_SIZE 0x1000 |
32 | 29 | ||
diff --git a/include/asm-arm/arch-ixp4xx/dma.h b/include/asm-arm/arch-ixp4xx/dma.h index 312065dc0e7a..b1a071ecebc8 100644 --- a/include/asm-arm/arch-ixp4xx/dma.h +++ b/include/asm-arm/arch-ixp4xx/dma.h | |||
@@ -20,7 +20,4 @@ | |||
20 | 20 | ||
21 | #define MAX_DMA_ADDRESS (PAGE_OFFSET + SZ_64M) | 21 | #define MAX_DMA_ADDRESS (PAGE_OFFSET + SZ_64M) |
22 | 22 | ||
23 | /* No DMA */ | ||
24 | #define MAX_DMA_CHANNELS 0 | ||
25 | |||
26 | #endif /* _ASM_ARCH_DMA_H */ | 23 | #endif /* _ASM_ARCH_DMA_H */ |
diff --git a/include/asm-arm/arch-ixp4xx/entry-macro.S b/include/asm-arm/arch-ixp4xx/entry-macro.S index 323b0bc4a39c..27e124132e4c 100644 --- a/include/asm-arm/arch-ixp4xx/entry-macro.S +++ b/include/asm-arm/arch-ixp4xx/entry-macro.S | |||
@@ -7,6 +7,7 @@ | |||
7 | * License version 2. This program is licensed "as is" without any | 7 | * License version 2. This program is licensed "as is" without any |
8 | * warranty of any kind, whether express or implied. | 8 | * warranty of any kind, whether express or implied. |
9 | */ | 9 | */ |
10 | #include <asm/hardware.h> | ||
10 | 11 | ||
11 | .macro disable_fiq | 12 | .macro disable_fiq |
12 | .endm | 13 | .endm |
diff --git a/include/asm-arm/arch-ixp4xx/gtwx5715.h b/include/asm-arm/arch-ixp4xx/gtwx5715.h index fc460af70627..c3069d67c00e 100644 --- a/include/asm-arm/arch-ixp4xx/gtwx5715.h +++ b/include/asm-arm/arch-ixp4xx/gtwx5715.h | |||
@@ -57,10 +57,6 @@ | |||
57 | #define GTWX5715_GPIO13_IRQ IRQ_IXP4XX_SW_INT1 | 57 | #define GTWX5715_GPIO13_IRQ IRQ_IXP4XX_SW_INT1 |
58 | #define GTWX5715_GPIO14_IRQ IRQ_IXP4XX_SW_INT2 | 58 | #define GTWX5715_GPIO14_IRQ IRQ_IXP4XX_SW_INT2 |
59 | 59 | ||
60 | |||
61 | #define GTWX5715_FLASH_BASE IXP4XX_EXP_BUS_CS0_BASE_PHYS | ||
62 | #define GTWX5715_FLASH_SIZE (0x00800000) | ||
63 | |||
64 | /* PCI controller GPIO to IRQ pin mappings | 60 | /* PCI controller GPIO to IRQ pin mappings |
65 | 61 | ||
66 | INTA INTB | 62 | INTA INTB |
diff --git a/include/asm-arm/arch-ixp4xx/hardware.h b/include/asm-arm/arch-ixp4xx/hardware.h index cfb413c845f7..6acb69c95ef9 100644 --- a/include/asm-arm/arch-ixp4xx/hardware.h +++ b/include/asm-arm/arch-ixp4xx/hardware.h | |||
@@ -45,5 +45,6 @@ extern unsigned int processor_id; | |||
45 | #include "coyote.h" | 45 | #include "coyote.h" |
46 | #include "prpmc1100.h" | 46 | #include "prpmc1100.h" |
47 | #include "nslu2.h" | 47 | #include "nslu2.h" |
48 | #include "nas100d.h" | ||
48 | 49 | ||
49 | #endif /* _ASM_ARCH_HARDWARE_H */ | 50 | #endif /* _ASM_ARCH_HARDWARE_H */ |
diff --git a/include/asm-arm/arch-ixp4xx/irqs.h b/include/asm-arm/arch-ixp4xx/irqs.h index 2cf4930372bc..f24b763ca18e 100644 --- a/include/asm-arm/arch-ixp4xx/irqs.h +++ b/include/asm-arm/arch-ixp4xx/irqs.h | |||
@@ -100,4 +100,13 @@ | |||
100 | #define IRQ_NSLU2_PCI_INTB IRQ_IXP4XX_GPIO10 | 100 | #define IRQ_NSLU2_PCI_INTB IRQ_IXP4XX_GPIO10 |
101 | #define IRQ_NSLU2_PCI_INTC IRQ_IXP4XX_GPIO9 | 101 | #define IRQ_NSLU2_PCI_INTC IRQ_IXP4XX_GPIO9 |
102 | 102 | ||
103 | /* | ||
104 | * NAS100D board IRQs | ||
105 | */ | ||
106 | #define IRQ_NAS100D_PCI_INTA IRQ_IXP4XX_GPIO11 | ||
107 | #define IRQ_NAS100D_PCI_INTB IRQ_IXP4XX_GPIO10 | ||
108 | #define IRQ_NAS100D_PCI_INTC IRQ_IXP4XX_GPIO9 | ||
109 | #define IRQ_NAS100D_PCI_INTD IRQ_IXP4XX_GPIO8 | ||
110 | #define IRQ_NAS100D_PCI_INTE IRQ_IXP4XX_GPIO7 | ||
111 | |||
103 | #endif | 112 | #endif |
diff --git a/include/asm-arm/arch-ixp4xx/ixdp425.h b/include/asm-arm/arch-ixp4xx/ixdp425.h index 7d21bf941379..3d3820d7ba09 100644 --- a/include/asm-arm/arch-ixp4xx/ixdp425.h +++ b/include/asm-arm/arch-ixp4xx/ixdp425.h | |||
@@ -16,9 +16,6 @@ | |||
16 | #error "Do not include this directly, instead #include <asm/hardware.h>" | 16 | #error "Do not include this directly, instead #include <asm/hardware.h>" |
17 | #endif | 17 | #endif |
18 | 18 | ||
19 | #define IXDP425_FLASH_BASE IXP4XX_EXP_BUS_CS0_BASE_PHYS | ||
20 | #define IXDP425_FLASH_SIZE IXP4XX_EXP_BUS_CSX_REGION_SIZE | ||
21 | |||
22 | #define IXDP425_SDA_PIN 7 | 19 | #define IXDP425_SDA_PIN 7 |
23 | #define IXDP425_SCL_PIN 6 | 20 | #define IXDP425_SCL_PIN 6 |
24 | 21 | ||
diff --git a/include/asm-arm/arch-ixp4xx/memory.h b/include/asm-arm/arch-ixp4xx/memory.h index e024d0a1a669..ee211d28a3ef 100644 --- a/include/asm-arm/arch-ixp4xx/memory.h +++ b/include/asm-arm/arch-ixp4xx/memory.h | |||
@@ -16,31 +16,10 @@ | |||
16 | 16 | ||
17 | #ifndef __ASSEMBLY__ | 17 | #ifndef __ASSEMBLY__ |
18 | 18 | ||
19 | /* | 19 | void ixp4xx_adjust_zones(int node, unsigned long *size, unsigned long *holes); |
20 | * Only first 64MB of memory can be accessed via PCI. | ||
21 | * We use GFP_DMA to allocate safe buffers to do map/unmap. | ||
22 | * This is really ugly and we need a better way of specifying | ||
23 | * DMA-capable regions of memory. | ||
24 | */ | ||
25 | static inline void __arch_adjust_zones(int node, unsigned long *zone_size, | ||
26 | unsigned long *zhole_size) | ||
27 | { | ||
28 | unsigned int sz = SZ_64M >> PAGE_SHIFT; | ||
29 | |||
30 | /* | ||
31 | * Only adjust if > 64M on current system | ||
32 | */ | ||
33 | if (node || (zone_size[0] <= sz)) | ||
34 | return; | ||
35 | |||
36 | zone_size[1] = zone_size[0] - sz; | ||
37 | zone_size[0] = sz; | ||
38 | zhole_size[1] = zhole_size[0]; | ||
39 | zhole_size[0] = 0; | ||
40 | } | ||
41 | 20 | ||
42 | #define arch_adjust_zones(node, size, holes) \ | 21 | #define arch_adjust_zones(node, size, holes) \ |
43 | __arch_adjust_zones(node, size, holes) | 22 | ixp4xx_adjust_zones(node, size, holes) |
44 | 23 | ||
45 | #define ISA_DMA_THRESHOLD (SZ_64M - 1) | 24 | #define ISA_DMA_THRESHOLD (SZ_64M - 1) |
46 | 25 | ||
diff --git a/include/asm-arm/arch-ixp4xx/nas100d.h b/include/asm-arm/arch-ixp4xx/nas100d.h new file mode 100644 index 000000000000..51ac0180427c --- /dev/null +++ b/include/asm-arm/arch-ixp4xx/nas100d.h | |||
@@ -0,0 +1,72 @@ | |||
1 | /* | ||
2 | * include/asm-arm/arch-ixp4xx/nas100d.h | ||
3 | * | ||
4 | * NAS100D platform specific definitions | ||
5 | * | ||
6 | * Copyright (c) 2005 Tower Technologies | ||
7 | * | ||
8 | * Author: Alessandro Zummo <a.zummo@towertech.it> | ||
9 | * | ||
10 | * based on ixdp425.h: | ||
11 | * Copyright 2004 (c) MontaVista, Software, Inc. | ||
12 | * | ||
13 | * This file is licensed under the terms of the GNU General Public | ||
14 | * License version 2. This program is licensed "as is" without any | ||
15 | * warranty of any kind, whether express or implied. | ||
16 | */ | ||
17 | |||
18 | #ifndef __ASM_ARCH_HARDWARE_H__ | ||
19 | #error "Do not include this directly, instead #include <asm/hardware.h>" | ||
20 | #endif | ||
21 | |||
22 | #define NAS100D_SDA_PIN 6 | ||
23 | #define NAS100D_SCL_PIN 5 | ||
24 | |||
25 | /* | ||
26 | * NAS100D PCI IRQs | ||
27 | */ | ||
28 | #define NAS100D_PCI_MAX_DEV 3 | ||
29 | #define NAS100D_PCI_IRQ_LINES 3 | ||
30 | |||
31 | |||
32 | /* PCI controller GPIO to IRQ pin mappings */ | ||
33 | #define NAS100D_PCI_INTA_PIN 11 | ||
34 | #define NAS100D_PCI_INTB_PIN 10 | ||
35 | #define NAS100D_PCI_INTC_PIN 9 | ||
36 | #define NAS100D_PCI_INTD_PIN 8 | ||
37 | #define NAS100D_PCI_INTE_PIN 7 | ||
38 | |||
39 | /* GPIO */ | ||
40 | |||
41 | #define NAS100D_GPIO0 0 | ||
42 | #define NAS100D_GPIO1 1 | ||
43 | #define NAS100D_GPIO2 2 | ||
44 | #define NAS100D_GPIO3 3 | ||
45 | #define NAS100D_GPIO4 4 | ||
46 | #define NAS100D_GPIO5 5 | ||
47 | #define NAS100D_GPIO6 6 | ||
48 | #define NAS100D_GPIO7 7 | ||
49 | #define NAS100D_GPIO8 8 | ||
50 | #define NAS100D_GPIO9 9 | ||
51 | #define NAS100D_GPIO10 10 | ||
52 | #define NAS100D_GPIO11 11 | ||
53 | #define NAS100D_GPIO12 12 | ||
54 | #define NAS100D_GPIO13 13 | ||
55 | #define NAS100D_GPIO14 14 | ||
56 | #define NAS100D_GPIO15 15 | ||
57 | |||
58 | |||
59 | /* Buttons */ | ||
60 | |||
61 | #define NAS100D_PB_GPIO NAS100D_GPIO14 | ||
62 | #define NAS100D_RB_GPIO NAS100D_GPIO4 | ||
63 | #define NAS100D_PO_GPIO NAS100D_GPIO12 /* power off */ | ||
64 | |||
65 | #define NAS100D_PB_IRQ IRQ_IXP4XX_GPIO14 | ||
66 | #define NAS100D_RB_IRQ IRQ_IXP4XX_GPIO4 | ||
67 | |||
68 | /* | ||
69 | #define NAS100D_PB_BM (1L << NAS100D_PB_GPIO) | ||
70 | #define NAS100D_PO_BM (1L << NAS100D_PO_GPIO) | ||
71 | #define NAS100D_RB_BM (1L << NAS100D_RB_GPIO) | ||
72 | */ | ||
diff --git a/include/asm-arm/arch-ixp4xx/nslu2.h b/include/asm-arm/arch-ixp4xx/nslu2.h index b8b347a559c7..4281838873ef 100644 --- a/include/asm-arm/arch-ixp4xx/nslu2.h +++ b/include/asm-arm/arch-ixp4xx/nslu2.h | |||
@@ -18,9 +18,6 @@ | |||
18 | #error "Do not include this directly, instead #include <asm/hardware.h>" | 18 | #error "Do not include this directly, instead #include <asm/hardware.h>" |
19 | #endif | 19 | #endif |
20 | 20 | ||
21 | #define NSLU2_FLASH_BASE IXP4XX_EXP_BUS_CS0_BASE_PHYS | ||
22 | #define NSLU2_FLASH_SIZE IXP4XX_EXP_BUS_CSX_REGION_SIZE | ||
23 | |||
24 | #define NSLU2_SDA_PIN 7 | 21 | #define NSLU2_SDA_PIN 7 |
25 | #define NSLU2_SCL_PIN 6 | 22 | #define NSLU2_SCL_PIN 6 |
26 | 23 | ||
diff --git a/include/asm-arm/arch-ixp4xx/platform.h b/include/asm-arm/arch-ixp4xx/platform.h index f14ed63590c3..daf9790645ca 100644 --- a/include/asm-arm/arch-ixp4xx/platform.h +++ b/include/asm-arm/arch-ixp4xx/platform.h | |||
@@ -26,16 +26,17 @@ | |||
26 | */ | 26 | */ |
27 | #define IXP4XX_EXP_BUS_BASE_PHYS (0x50000000) | 27 | #define IXP4XX_EXP_BUS_BASE_PHYS (0x50000000) |
28 | 28 | ||
29 | #define IXP4XX_EXP_BUS_CSX_REGION_SIZE (0x01000000) | 29 | /* |
30 | * The expansion bus on the IXP4xx can be configured for either 16 or | ||
31 | * 32MB windows and the CS offset for each region changes based on the | ||
32 | * current configuration. This means that we cannot simply hardcode | ||
33 | * each offset. ixp4xx_sys_init() looks at the expansion bus configuration | ||
34 | * as setup by the bootloader to determine our window size. | ||
35 | */ | ||
36 | extern unsigned long ixp4xx_exp_bus_size; | ||
30 | 37 | ||
31 | #define IXP4XX_EXP_BUS_CS0_BASE_PHYS (IXP4XX_EXP_BUS_BASE_PHYS + 0x00000000) | 38 | #define IXP4XX_EXP_BUS_BASE(region)\ |
32 | #define IXP4XX_EXP_BUS_CS1_BASE_PHYS (IXP4XX_EXP_BUS_BASE_PHYS + 0x01000000) | 39 | (IXP4XX_EXP_BUS_BASE_PHYS + ((region) * ixp4xx_exp_bus_size)) |
33 | #define IXP4XX_EXP_BUS_CS2_BASE_PHYS (IXP4XX_EXP_BUS_BASE_PHYS + 0x02000000) | ||
34 | #define IXP4XX_EXP_BUS_CS3_BASE_PHYS (IXP4XX_EXP_BUS_BASE_PHYS + 0x03000000) | ||
35 | #define IXP4XX_EXP_BUS_CS4_BASE_PHYS (IXP4XX_EXP_BUS_BASE_PHYS + 0x04000000) | ||
36 | #define IXP4XX_EXP_BUS_CS5_BASE_PHYS (IXP4XX_EXP_BUS_BASE_PHYS + 0x05000000) | ||
37 | #define IXP4XX_EXP_BUS_CS6_BASE_PHYS (IXP4XX_EXP_BUS_BASE_PHYS + 0x06000000) | ||
38 | #define IXP4XX_EXP_BUS_CS7_BASE_PHYS (IXP4XX_EXP_BUS_BASE_PHYS + 0x07000000) | ||
39 | 40 | ||
40 | #define IXP4XX_FLASH_WRITABLE (0x2) | 41 | #define IXP4XX_FLASH_WRITABLE (0x2) |
41 | #define IXP4XX_FLASH_DEFAULT (0xbcd23c40) | 42 | #define IXP4XX_FLASH_DEFAULT (0xbcd23c40) |
@@ -112,10 +113,5 @@ static inline void gpio_line_set(u8 line, int value) | |||
112 | *IXP4XX_GPIO_GPOUTR &= ~(1 << line); | 113 | *IXP4XX_GPIO_GPOUTR &= ~(1 << line); |
113 | } | 114 | } |
114 | 115 | ||
115 | static inline void gpio_line_isr_clear(u8 line) | ||
116 | { | ||
117 | *IXP4XX_GPIO_GPISR = (1 << line); | ||
118 | } | ||
119 | |||
120 | #endif // __ASSEMBLY__ | 116 | #endif // __ASSEMBLY__ |
121 | 117 | ||