15 #include <linux/kernel.h>
20 #include <linux/slab.h>
22 #include <mach/common.h>
23 #include <mach/irqs.h>
30 #define TNETV107X_TPCC_BASE 0x01c00000
31 #define TNETV107X_TPTC0_BASE 0x01c10000
32 #define TNETV107X_TPTC1_BASE 0x01c10400
33 #define TNETV107X_WDOG_BASE 0x08086700
34 #define TNETV107X_TSC_BASE 0x08088500
35 #define TNETV107X_SDIO0_BASE 0x08088700
36 #define TNETV107X_SDIO1_BASE 0x08088800
37 #define TNETV107X_KEYPAD_BASE 0x08088a00
38 #define TNETV107X_SSP_BASE 0x08088c00
39 #define TNETV107X_ASYNC_EMIF_CNTRL_BASE 0x08200000
40 #define TNETV107X_ASYNC_EMIF_DATA_CE0_BASE 0x30000000
41 #define TNETV107X_ASYNC_EMIF_DATA_CE1_BASE 0x40000000
42 #define TNETV107X_ASYNC_EMIF_DATA_CE2_BASE 0x44000000
43 #define TNETV107X_ASYNC_EMIF_DATA_CE3_BASE 0x48000000
46 #define EDMA_TNETV107X_NUM_DMACH 64
47 #define EDMA_TNETV107X_NUM_TCC 64
48 #define EDMA_TNETV107X_NUM_PARAMENTRY 128
49 #define EDMA_TNETV107X_NUM_EVQUE 2
50 #define EDMA_TNETV107X_NUM_TC 2
51 #define EDMA_TNETV107X_CHMAP_EXIST 0
52 #define EDMA_TNETV107X_NUM_REGIONS 4
53 #define TNETV107X_DMACH2EVENT_MAP0 0x3C0CE000u
54 #define TNETV107X_DMACH2EVENT_MAP1 0x000FFFFFu
56 #define TNETV107X_DMACH_SDIO0_RX 26
57 #define TNETV107X_DMACH_SDIO0_TX 27
58 #define TNETV107X_DMACH_SDIO1_RX 28
59 #define TNETV107X_DMACH_SDIO1_TX 29
61 static const s8 edma_tc_mapping[][2] = {
68 static const s8 edma_priority_mapping[][2] = {
81 .queue_tc_mapping = edma_tc_mapping,
82 .queue_priority_mapping = edma_priority_mapping,
90 static struct resource edma_resources[] = {
125 .resource = edma_resources,
126 .dev.platform_data = tnetv107x_edma_info,
163 .name =
"serial8250",
165 .dev.platform_data = serial_data,
168 static struct resource mmc0_resources[] = {
192 static struct resource mmc1_resources[] = {
221 .name =
"davinci_mmc",
224 .dma_mask = &mmc0_dma_mask,
228 .resource = mmc0_resources
231 .
name =
"davinci_mmc",
234 .dma_mask = &mmc1_dma_mask,
238 .resource = mmc1_resources
242 static const u32 emif_windows[] = {
249 static struct resource wdt_resources[] = {
258 .name =
"tnetv107x_wdt",
261 .resource = wdt_resources,
275 if (range >= emif_window_sizes[chipsel])
282 pdev->
name =
"davinci_nand";
284 pdev->
dev.platform_data =
data;
288 res[0].start = emif_windows[chipsel];
324 .name =
"tnetv107x-keypad",
325 .num_resources =
ARRAY_SIZE(keypad_resources),
329 static struct resource tsc_resources[] = {
342 .name =
"tnetv107x-ts",
344 .resource = tsc_resources,
347 static struct resource ssp_resources[] = {
363 .resource = ssp_resources,
390 for (i = 0; i < 2; i++)
396 for (i = 0; i < 4; i++)