diff options
author | Sandeep Paulraj <s-paulraj@ti.com> | 2009-06-11 09:41:05 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2009-08-26 03:56:57 -0400 |
commit | fb8fcb891390639d6258c816abb537663495da0c (patch) | |
tree | 41172c12bc61a3b14d7d613d7f3f133215680a13 /arch/arm/mach-davinci/include/mach | |
parent | 5fcd294df26e6160f32ea551ef074630b4df728d (diff) |
davinci: Adding DM365 SOC Support
The patch adds base support for new TI SOC DM365, which s
similar to the dm355.
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm/mach-davinci/include/mach')
-rw-r--r-- | arch/arm/mach-davinci/include/mach/cputype.h | 8 | ||||
-rw-r--r-- | arch/arm/mach-davinci/include/mach/dm365.h | 29 | ||||
-rw-r--r-- | arch/arm/mach-davinci/include/mach/irqs.h | 36 | ||||
-rw-r--r-- | arch/arm/mach-davinci/include/mach/mux.h | 81 | ||||
-rw-r--r-- | arch/arm/mach-davinci/include/mach/psc.h | 18 |
5 files changed, 172 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/include/mach/cputype.h b/arch/arm/mach-davinci/include/mach/cputype.h index d12a5ed2959a..56b92d49e293 100644 --- a/arch/arm/mach-davinci/include/mach/cputype.h +++ b/arch/arm/mach-davinci/include/mach/cputype.h | |||
@@ -30,6 +30,7 @@ struct davinci_id { | |||
30 | #define DAVINCI_CPU_ID_DM6446 0x64460000 | 30 | #define DAVINCI_CPU_ID_DM6446 0x64460000 |
31 | #define DAVINCI_CPU_ID_DM6467 0x64670000 | 31 | #define DAVINCI_CPU_ID_DM6467 0x64670000 |
32 | #define DAVINCI_CPU_ID_DM355 0x03550000 | 32 | #define DAVINCI_CPU_ID_DM355 0x03550000 |
33 | #define DAVINCI_CPU_ID_DM365 0x03650000 | ||
33 | 34 | ||
34 | #define IS_DAVINCI_CPU(type, id) \ | 35 | #define IS_DAVINCI_CPU(type, id) \ |
35 | static inline int is_davinci_ ##type(void) \ | 36 | static inline int is_davinci_ ##type(void) \ |
@@ -40,6 +41,7 @@ static inline int is_davinci_ ##type(void) \ | |||
40 | IS_DAVINCI_CPU(dm644x, DAVINCI_CPU_ID_DM6446) | 41 | IS_DAVINCI_CPU(dm644x, DAVINCI_CPU_ID_DM6446) |
41 | IS_DAVINCI_CPU(dm646x, DAVINCI_CPU_ID_DM6467) | 42 | IS_DAVINCI_CPU(dm646x, DAVINCI_CPU_ID_DM6467) |
42 | IS_DAVINCI_CPU(dm355, DAVINCI_CPU_ID_DM355) | 43 | IS_DAVINCI_CPU(dm355, DAVINCI_CPU_ID_DM355) |
44 | IS_DAVINCI_CPU(dm365, DAVINCI_CPU_ID_DM365) | ||
43 | 45 | ||
44 | #ifdef CONFIG_ARCH_DAVINCI_DM644x | 46 | #ifdef CONFIG_ARCH_DAVINCI_DM644x |
45 | #define cpu_is_davinci_dm644x() is_davinci_dm644x() | 47 | #define cpu_is_davinci_dm644x() is_davinci_dm644x() |
@@ -59,4 +61,10 @@ IS_DAVINCI_CPU(dm355, DAVINCI_CPU_ID_DM355) | |||
59 | #define cpu_is_davinci_dm355() 0 | 61 | #define cpu_is_davinci_dm355() 0 |
60 | #endif | 62 | #endif |
61 | 63 | ||
64 | #ifdef CONFIG_ARCH_DAVINCI_DM365 | ||
65 | #define cpu_is_davinci_dm365() is_davinci_dm365() | ||
66 | #else | ||
67 | #define cpu_is_davinci_dm365() 0 | ||
68 | #endif | ||
69 | |||
62 | #endif | 70 | #endif |
diff --git a/arch/arm/mach-davinci/include/mach/dm365.h b/arch/arm/mach-davinci/include/mach/dm365.h new file mode 100644 index 000000000000..09db4343bb4c --- /dev/null +++ b/arch/arm/mach-davinci/include/mach/dm365.h | |||
@@ -0,0 +1,29 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2009 Texas Instruments Incorporated | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License as | ||
6 | * published by the Free Software Foundation version 2. | ||
7 | * | ||
8 | * This program is distributed "as is" WITHOUT ANY WARRANTY of any | ||
9 | * kind, whether express or implied; without even the implied warranty | ||
10 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
11 | * GNU General Public License for more details. | ||
12 | */ | ||
13 | #ifndef __ASM_ARCH_DM365_H | ||
14 | #define __ASM_ARCH_DM665_H | ||
15 | |||
16 | #include <linux/platform_device.h> | ||
17 | #include <mach/hardware.h> | ||
18 | #include <mach/emac.h> | ||
19 | |||
20 | #define DM365_EMAC_BASE (0x01D07000) | ||
21 | #define DM365_EMAC_CNTRL_OFFSET (0x0000) | ||
22 | #define DM365_EMAC_CNTRL_MOD_OFFSET (0x3000) | ||
23 | #define DM365_EMAC_CNTRL_RAM_OFFSET (0x1000) | ||
24 | #define DM365_EMAC_MDIO_OFFSET (0x4000) | ||
25 | #define DM365_EMAC_CNTRL_RAM_SIZE (0x2000) | ||
26 | |||
27 | void __init dm365_init(void); | ||
28 | |||
29 | #endif /* __ASM_ARCH_DM365_H */ | ||
diff --git a/arch/arm/mach-davinci/include/mach/irqs.h b/arch/arm/mach-davinci/include/mach/irqs.h index bc5d6aaa69a3..0d34f2fb0993 100644 --- a/arch/arm/mach-davinci/include/mach/irqs.h +++ b/arch/arm/mach-davinci/include/mach/irqs.h | |||
@@ -206,4 +206,40 @@ | |||
206 | #define IRQ_DM355_GPIOBNK5 59 | 206 | #define IRQ_DM355_GPIOBNK5 59 |
207 | #define IRQ_DM355_GPIOBNK6 60 | 207 | #define IRQ_DM355_GPIOBNK6 60 |
208 | 208 | ||
209 | /* DaVinci DM365-specific Interrupts */ | ||
210 | #define IRQ_DM365_INSFINT 7 | ||
211 | #define IRQ_DM365_IMCOPINT 11 | ||
212 | #define IRQ_DM365_RTOINT 13 | ||
213 | #define IRQ_DM365_TINT5 14 | ||
214 | #define IRQ_DM365_TINT6 15 | ||
215 | #define IRQ_DM365_SPINT2_1 21 | ||
216 | #define IRQ_DM365_TINT7 22 | ||
217 | #define IRQ_DM365_SDIOINT0 23 | ||
218 | #define IRQ_DM365_MMCINT1 27 | ||
219 | #define IRQ_DM365_PWMINT3 28 | ||
220 | #define IRQ_DM365_SDIOINT1 31 | ||
221 | #define IRQ_DM365_SPIINT0_0 42 | ||
222 | #define IRQ_DM365_SPIINT3_0 43 | ||
223 | #define IRQ_DM365_GPIO0 44 | ||
224 | #define IRQ_DM365_GPIO1 45 | ||
225 | #define IRQ_DM365_GPIO2 46 | ||
226 | #define IRQ_DM365_GPIO3 47 | ||
227 | #define IRQ_DM365_GPIO4 48 | ||
228 | #define IRQ_DM365_GPIO5 49 | ||
229 | #define IRQ_DM365_GPIO6 50 | ||
230 | #define IRQ_DM365_GPIO7 51 | ||
231 | #define IRQ_DM365_EMAC_RXTHRESH 52 | ||
232 | #define IRQ_DM365_EMAC_RXPULSE 53 | ||
233 | #define IRQ_DM365_EMAC_TXPULSE 54 | ||
234 | #define IRQ_DM365_EMAC_MISCPULSE 55 | ||
235 | #define IRQ_DM365_GPIO12 56 | ||
236 | #define IRQ_DM365_GPIO13 57 | ||
237 | #define IRQ_DM365_GPIO14 58 | ||
238 | #define IRQ_DM365_GPIO15 59 | ||
239 | #define IRQ_DM365_ADCINT 59 | ||
240 | #define IRQ_DM365_KEYINT 60 | ||
241 | #define IRQ_DM365_TCERRINT2 61 | ||
242 | #define IRQ_DM365_TCERRINT3 62 | ||
243 | #define IRQ_DM365_EMUINT 63 | ||
244 | |||
209 | #endif /* __ASM_ARCH_IRQS_H */ | 245 | #endif /* __ASM_ARCH_IRQS_H */ |
diff --git a/arch/arm/mach-davinci/include/mach/mux.h b/arch/arm/mach-davinci/include/mach/mux.h index 27378458542f..c182bd458d73 100644 --- a/arch/arm/mach-davinci/include/mach/mux.h +++ b/arch/arm/mach-davinci/include/mach/mux.h | |||
@@ -156,6 +156,87 @@ enum davinci_dm355_index { | |||
156 | DM355_EVT26_MMC0_RX, | 156 | DM355_EVT26_MMC0_RX, |
157 | }; | 157 | }; |
158 | 158 | ||
159 | enum davinci_dm365_index { | ||
160 | /* MMC/SD 0 */ | ||
161 | DM365_MMCSD0, | ||
162 | |||
163 | /* MMC/SD 1 */ | ||
164 | DM365_SD1_CLK, | ||
165 | DM365_SD1_CMD, | ||
166 | DM365_SD1_DATA3, | ||
167 | DM365_SD1_DATA2, | ||
168 | DM365_SD1_DATA1, | ||
169 | DM365_SD1_DATA0, | ||
170 | |||
171 | /* I2C */ | ||
172 | DM365_I2C_SDA, | ||
173 | DM365_I2C_SCL, | ||
174 | |||
175 | /* AEMIF */ | ||
176 | DM365_AEMIF_AR, | ||
177 | DM365_AEMIF_A3, | ||
178 | DM365_AEMIF_A7, | ||
179 | DM365_AEMIF_D15_8, | ||
180 | DM365_AEMIF_CE0, | ||
181 | |||
182 | /* ASP0 function */ | ||
183 | DM365_MCBSP0_BDX, | ||
184 | DM365_MCBSP0_X, | ||
185 | DM365_MCBSP0_BFSX, | ||
186 | DM365_MCBSP0_BDR, | ||
187 | DM365_MCBSP0_R, | ||
188 | DM365_MCBSP0_BFSR, | ||
189 | |||
190 | /* SPI0 */ | ||
191 | DM365_SPI0_SCLK, | ||
192 | DM365_SPI0_SDI, | ||
193 | DM365_SPI0_SDO, | ||
194 | DM365_SPI0_SDENA0, | ||
195 | DM365_SPI0_SDENA1, | ||
196 | |||
197 | /* UART */ | ||
198 | DM365_UART0_RXD, | ||
199 | DM365_UART0_TXD, | ||
200 | DM365_UART1_RXD, | ||
201 | DM365_UART1_TXD, | ||
202 | DM365_UART1_RTS, | ||
203 | DM365_UART1_CTS, | ||
204 | |||
205 | /* EMAC */ | ||
206 | DM365_EMAC_TX_EN, | ||
207 | DM365_EMAC_TX_CLK, | ||
208 | DM365_EMAC_COL, | ||
209 | DM365_EMAC_TXD3, | ||
210 | DM365_EMAC_TXD2, | ||
211 | DM365_EMAC_TXD1, | ||
212 | DM365_EMAC_TXD0, | ||
213 | DM365_EMAC_RXD3, | ||
214 | DM365_EMAC_RXD2, | ||
215 | DM365_EMAC_RXD1, | ||
216 | DM365_EMAC_RXD0, | ||
217 | DM365_EMAC_RX_CLK, | ||
218 | DM365_EMAC_RX_DV, | ||
219 | DM365_EMAC_RX_ER, | ||
220 | DM365_EMAC_CRS, | ||
221 | DM365_EMAC_MDIO, | ||
222 | DM365_EMAC_MDCLK, | ||
223 | |||
224 | /* IRQ muxing */ | ||
225 | DM365_INT_EDMA_CC, | ||
226 | DM365_INT_EDMA_TC0_ERR, | ||
227 | DM365_INT_EDMA_TC1_ERR, | ||
228 | DM365_INT_PRTCSS, | ||
229 | DM365_INT_EMAC_RXTHRESH, | ||
230 | DM365_INT_EMAC_RXPULSE, | ||
231 | DM365_INT_EMAC_TXPULSE, | ||
232 | DM365_INT_EMAC_MISCPULSE, | ||
233 | |||
234 | /* EDMA event muxing */ | ||
235 | DM365_EVT2_ASP_TX, | ||
236 | DM365_EVT3_ASP_RX, | ||
237 | DM365_EVT26_MMC0_RX, | ||
238 | }; | ||
239 | |||
159 | #ifdef CONFIG_DAVINCI_MUX | 240 | #ifdef CONFIG_DAVINCI_MUX |
160 | /* setup pin muxing */ | 241 | /* setup pin muxing */ |
161 | extern int davinci_cfg_reg(unsigned long reg_cfg); | 242 | extern int davinci_cfg_reg(unsigned long reg_cfg); |
diff --git a/arch/arm/mach-davinci/include/mach/psc.h b/arch/arm/mach-davinci/include/mach/psc.h index ab8a2586d1cc..2bb414b14297 100644 --- a/arch/arm/mach-davinci/include/mach/psc.h +++ b/arch/arm/mach-davinci/include/mach/psc.h | |||
@@ -81,6 +81,24 @@ | |||
81 | #define DM355_LPSC_RTO 12 | 81 | #define DM355_LPSC_RTO 12 |
82 | #define DM355_LPSC_VPSS_DAC 41 | 82 | #define DM355_LPSC_VPSS_DAC 41 |
83 | 83 | ||
84 | /* DM365 */ | ||
85 | #define DM365_LPSC_TIMER3 5 | ||
86 | #define DM365_LPSC_SPI1 6 | ||
87 | #define DM365_LPSC_MMC_SD1 7 | ||
88 | #define DM365_LPSC_McBSP1 8 | ||
89 | #define DM365_LPSC_PWM3 10 | ||
90 | #define DM365_LPSC_SPI2 11 | ||
91 | #define DM365_LPSC_RTO 12 | ||
92 | #define DM365_LPSC_TIMER4 17 | ||
93 | #define DM365_LPSC_SPI0 22 | ||
94 | #define DM365_LPSC_SPI3 38 | ||
95 | #define DM365_LPSC_SPI4 39 | ||
96 | #define DM365_LPSC_EMAC 40 | ||
97 | #define DM365_LPSC_VOICE_CODEC 44 | ||
98 | #define DM365_LPSC_DAC_CLK 46 | ||
99 | #define DM365_LPSC_VPSSMSTR 47 | ||
100 | #define DM365_LPSC_MJCP 50 | ||
101 | |||
84 | /* | 102 | /* |
85 | * LPSC Assignments | 103 | * LPSC Assignments |
86 | */ | 104 | */ |