aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-davinci/include/mach
diff options
context:
space:
mode:
authorSandeep Paulraj <s-paulraj@ti.com>2009-06-11 09:41:05 -0400
committerKevin Hilman <khilman@deeprootsystems.com>2009-08-26 03:56:57 -0400
commitfb8fcb891390639d6258c816abb537663495da0c (patch)
tree41172c12bc61a3b14d7d613d7f3f133215680a13 /arch/arm/mach-davinci/include/mach
parent5fcd294df26e6160f32ea551ef074630b4df728d (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.h8
-rw-r--r--arch/arm/mach-davinci/include/mach/dm365.h29
-rw-r--r--arch/arm/mach-davinci/include/mach/irqs.h36
-rw-r--r--arch/arm/mach-davinci/include/mach/mux.h81
-rw-r--r--arch/arm/mach-davinci/include/mach/psc.h18
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) \
35static inline int is_davinci_ ##type(void) \ 36static inline int is_davinci_ ##type(void) \
@@ -40,6 +41,7 @@ static inline int is_davinci_ ##type(void) \
40IS_DAVINCI_CPU(dm644x, DAVINCI_CPU_ID_DM6446) 41IS_DAVINCI_CPU(dm644x, DAVINCI_CPU_ID_DM6446)
41IS_DAVINCI_CPU(dm646x, DAVINCI_CPU_ID_DM6467) 42IS_DAVINCI_CPU(dm646x, DAVINCI_CPU_ID_DM6467)
42IS_DAVINCI_CPU(dm355, DAVINCI_CPU_ID_DM355) 43IS_DAVINCI_CPU(dm355, DAVINCI_CPU_ID_DM355)
44IS_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
27void __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
159enum 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 */
161extern int davinci_cfg_reg(unsigned long reg_cfg); 242extern 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 */