diff options
| author | Mike Rapoport <mike@compulab.co.il> | 2007-09-23 10:59:26 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-10-15 13:53:57 -0400 |
| commit | 3696a8a426f8caebd97463e9b5cf9f06c1c36759 (patch) | |
| tree | 217d5ef3219b335f72360cfa7f0f1731443b09bb /include/asm-arm | |
| parent | 3e0cc7ee045fb53e8215fed7442455c0cee0ee93 (diff) | |
[ARM] 4576/1: CM-X270 machine support
This patch provides core support for CM-X270 platform.
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/asm-arm')
| -rw-r--r-- | include/asm-arm/arch-pxa/cm-x270.h | 50 | ||||
| -rw-r--r-- | include/asm-arm/arch-pxa/dma.h | 4 | ||||
| -rw-r--r-- | include/asm-arm/arch-pxa/hardware.h | 6 | ||||
| -rw-r--r-- | include/asm-arm/arch-pxa/irqs.h | 21 | ||||
| -rw-r--r-- | include/asm-arm/arch-pxa/memory.h | 10 |
5 files changed, 91 insertions, 0 deletions
diff --git a/include/asm-arm/arch-pxa/cm-x270.h b/include/asm-arm/arch-pxa/cm-x270.h new file mode 100644 index 000000000000..f8fac9e18009 --- /dev/null +++ b/include/asm-arm/arch-pxa/cm-x270.h | |||
| @@ -0,0 +1,50 @@ | |||
| 1 | /* | ||
| 2 | * linux/include/asm/arch-pxa/cm-x270.h | ||
| 3 | * | ||
| 4 | * Copyright Compulab Ltd., 2003, 2007 | ||
| 5 | * Mike Rapoport <mike@compulab.co.il> | ||
| 6 | * | ||
| 7 | * This program is free software; you can redistribute it and/or modify | ||
| 8 | * it under the terms of the GNU General Public License version 2 as | ||
| 9 | * published by the Free Software Foundation. | ||
| 10 | */ | ||
| 11 | |||
| 12 | |||
| 13 | /* CM-x270 device physical addresses */ | ||
| 14 | #define CMX270_CS1_PHYS (PXA_CS1_PHYS) | ||
| 15 | #define MARATHON_PHYS (PXA_CS2_PHYS) | ||
| 16 | #define CMX270_IDE104_PHYS (PXA_CS3_PHYS) | ||
| 17 | #define CMX270_IT8152_PHYS (PXA_CS4_PHYS) | ||
| 18 | |||
| 19 | /* Statically mapped regions */ | ||
| 20 | #define CMX270_VIRT_BASE (0xe8000000) | ||
| 21 | #define CMX270_IT8152_VIRT (CMX270_VIRT_BASE) | ||
| 22 | #define CMX270_IDE104_VIRT (CMX270_IT8152_VIRT + SZ_64M) | ||
| 23 | |||
| 24 | /* GPIO related definitions */ | ||
| 25 | #define GPIO_IT8152_IRQ (22) | ||
| 26 | |||
| 27 | #define IRQ_GPIO_IT8152_IRQ IRQ_GPIO(GPIO_IT8152_IRQ) | ||
| 28 | #define PME_IRQ IRQ_GPIO(0) | ||
| 29 | #define CMX270_IDE_IRQ IRQ_GPIO(100) | ||
| 30 | #define CMX270_GPIRQ1 IRQ_GPIO(101) | ||
| 31 | #define CMX270_TOUCHIRQ IRQ_GPIO(96) | ||
| 32 | #define CMX270_ETHIRQ IRQ_GPIO(10) | ||
| 33 | #define CMX270_GFXIRQ IRQ_GPIO(95) | ||
| 34 | #define CMX270_NANDIRQ IRQ_GPIO(89) | ||
| 35 | #define CMX270_MMC_IRQ IRQ_GPIO(83) | ||
| 36 | |||
| 37 | /* PCMCIA related definitions */ | ||
| 38 | #define PCC_DETECT(x) (GPLR(84 - (x)) & GPIO_bit(84 - (x))) | ||
| 39 | #define PCC_READY(x) (GPLR(82 - (x)) & GPIO_bit(82 - (x))) | ||
| 40 | |||
| 41 | #define PCMCIA_S0_CD_VALID IRQ_GPIO(84) | ||
| 42 | #define PCMCIA_S0_CD_VALID_EDGE GPIO_BOTH_EDGES | ||
| 43 | |||
| 44 | #define PCMCIA_S1_CD_VALID IRQ_GPIO(83) | ||
| 45 | #define PCMCIA_S1_CD_VALID_EDGE GPIO_BOTH_EDGES | ||
| 46 | |||
| 47 | #define PCMCIA_S0_RDYINT IRQ_GPIO(82) | ||
| 48 | #define PCMCIA_S1_RDYINT IRQ_GPIO(81) | ||
| 49 | |||
| 50 | #define PCMCIA_RESET_GPIO 53 | ||
diff --git a/include/asm-arm/arch-pxa/dma.h b/include/asm-arm/arch-pxa/dma.h index 3280ee2ddfa5..dbe110ee2666 100644 --- a/include/asm-arm/arch-pxa/dma.h +++ b/include/asm-arm/arch-pxa/dma.h | |||
| @@ -30,6 +30,10 @@ typedef enum { | |||
| 30 | DMA_PRIO_LOW = 2 | 30 | DMA_PRIO_LOW = 2 |
| 31 | } pxa_dma_prio; | 31 | } pxa_dma_prio; |
| 32 | 32 | ||
| 33 | #if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) | ||
| 34 | #define HAVE_ARCH_PCI_SET_DMA_MASK 1 | ||
| 35 | #endif | ||
| 36 | |||
| 33 | /* | 37 | /* |
| 34 | * DMA registration | 38 | * DMA registration |
| 35 | */ | 39 | */ |
diff --git a/include/asm-arm/arch-pxa/hardware.h b/include/asm-arm/arch-pxa/hardware.h index 89df077a7e24..ab2d963e742a 100644 --- a/include/asm-arm/arch-pxa/hardware.h +++ b/include/asm-arm/arch-pxa/hardware.h | |||
| @@ -215,4 +215,10 @@ extern unsigned int get_memclk_frequency_10khz(void); | |||
| 215 | 215 | ||
| 216 | #endif | 216 | #endif |
| 217 | 217 | ||
| 218 | #if defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) | ||
| 219 | #define PCIBIOS_MIN_IO 0 | ||
| 220 | #define PCIBIOS_MIN_MEM 0 | ||
| 221 | #define pcibios_assign_all_busses() 1 | ||
| 222 | #endif | ||
| 223 | |||
| 218 | #endif /* _ASM_ARCH_HARDWARE_H */ | 224 | #endif /* _ASM_ARCH_HARDWARE_H */ |
diff --git a/include/asm-arm/arch-pxa/irqs.h b/include/asm-arm/arch-pxa/irqs.h index 1bcc7632b46c..6238dbf7a236 100644 --- a/include/asm-arm/arch-pxa/irqs.h +++ b/include/asm-arm/arch-pxa/irqs.h | |||
| @@ -210,3 +210,24 @@ | |||
| 210 | #define IRQ_LOCOMO_GPIO_BASE (IRQ_BOARD_START + 1) | 210 | #define IRQ_LOCOMO_GPIO_BASE (IRQ_BOARD_START + 1) |
| 211 | #define IRQ_LOCOMO_LT_BASE (IRQ_BOARD_START + 2) | 211 | #define IRQ_LOCOMO_LT_BASE (IRQ_BOARD_START + 2) |
| 212 | #define IRQ_LOCOMO_SPI_BASE (IRQ_BOARD_START + 3) | 212 | #define IRQ_LOCOMO_SPI_BASE (IRQ_BOARD_START + 3) |
| 213 | |||
| 214 | /* ITE8152 irqs */ | ||
| 215 | /* add IT8152 IRQs beyond BOARD_END */ | ||
| 216 | #ifdef CONFIG_PCI_HOST_ITE8152 | ||
| 217 | #define IT8152_IRQ(x) (IRQ_GPIO(IRQ_BOARD_END) + 1 + (x)) | ||
| 218 | |||
| 219 | /* IRQ-sources in 3 groups - local devices, LPC (serial), and external PCI */ | ||
| 220 | #define IT8152_LD_IRQ_COUNT 9 | ||
| 221 | #define IT8152_LP_IRQ_COUNT 16 | ||
| 222 | #define IT8152_PD_IRQ_COUNT 15 | ||
| 223 | |||
| 224 | /* Priorities: */ | ||
| 225 | #define IT8152_PD_IRQ(i) IT8152_IRQ(i) | ||
| 226 | #define IT8152_LP_IRQ(i) (IT8152_IRQ(i) + IT8152_PD_IRQ_COUNT) | ||
| 227 | #define IT8152_LD_IRQ(i) (IT8152_IRQ(i) + IT8152_PD_IRQ_COUNT + IT8152_LP_IRQ_COUNT) | ||
| 228 | |||
| 229 | #define IT8152_LAST_IRQ IT8152_LD_IRQ(IT8152_LD_IRQ_COUNT - 1) | ||
| 230 | |||
| 231 | #undef NR_IRQS | ||
| 232 | #define NR_IRQS (IT8152_LAST_IRQ+1) | ||
| 233 | #endif | ||
diff --git a/include/asm-arm/arch-pxa/memory.h b/include/asm-arm/arch-pxa/memory.h index e17f9881faf0..bee81d66c184 100644 --- a/include/asm-arm/arch-pxa/memory.h +++ b/include/asm-arm/arch-pxa/memory.h | |||
| @@ -39,4 +39,14 @@ | |||
| 39 | */ | 39 | */ |
| 40 | #define NODE_MEM_SIZE_BITS 26 | 40 | #define NODE_MEM_SIZE_BITS 26 |
| 41 | 41 | ||
| 42 | #if !defined(__ASSEMBLY__) && defined(CONFIG_MACH_ARMCORE) && defined(CONFIG_PCI) | ||
| 43 | void cmx270_pci_adjust_zones(int node, unsigned long *size, | ||
| 44 | unsigned long *holes); | ||
| 45 | |||
| 46 | #define arch_adjust_zones(node, size, holes) \ | ||
| 47 | cmx270_pci_adjust_zones(node, size, holes) | ||
| 48 | |||
| 49 | #define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_64M - 1) | ||
| 50 | #endif | ||
| 51 | |||
| 42 | #endif | 52 | #endif |
