diff options
author | Ben Dooks <ben-linux@fluff.org> | 2010-05-19 05:05:15 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2010-05-19 05:05:15 -0400 |
commit | 1e8ff636beb6ee5c87868a6081cc4f95b1ccd713 (patch) | |
tree | 5a6be34a53bf640c035d642b4d19388d6a7fd6cc /arch/arm/plat-samsung/include | |
parent | 32457942b90aabb9242b450f02d18d9c8d982916 (diff) | |
parent | 7d1a2077a7e519fc0c68617526abea3f72632e60 (diff) |
ARM: Merge for-2635/s5p-dma
Merge branch 'for-2635/s5p-dma' into for-linus/samsung2
Conflicts:
arch/arm/mach-s5pv210/Makefile
Diffstat (limited to 'arch/arm/plat-samsung/include')
-rw-r--r-- | arch/arm/plat-samsung/include/plat/s3c-dma-pl330.h | 78 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h | 32 |
2 files changed, 110 insertions, 0 deletions
diff --git a/arch/arm/plat-samsung/include/plat/s3c-dma-pl330.h b/arch/arm/plat-samsung/include/plat/s3c-dma-pl330.h new file mode 100644 index 000000000000..5fe6721b57f7 --- /dev/null +++ b/arch/arm/plat-samsung/include/plat/s3c-dma-pl330.h | |||
@@ -0,0 +1,78 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2010 Samsung Electronics Co. Ltd. | ||
3 | * Jaswinder Singh <jassi.brar@samsung.com> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | */ | ||
10 | |||
11 | #ifndef __S3C_DMA_PL330_H_ | ||
12 | #define __S3C_DMA_PL330_H_ | ||
13 | |||
14 | #define S3C2410_DMAF_AUTOSTART (1 << 0) | ||
15 | #define S3C2410_DMAF_CIRCULAR (1 << 1) | ||
16 | |||
17 | /* | ||
18 | * PL330 can assign any channel to communicate with | ||
19 | * any of the peripherals attched to the DMAC. | ||
20 | * For the sake of consistency across client drivers, | ||
21 | * We keep the channel names unchanged and only add | ||
22 | * missing peripherals are added. | ||
23 | * Order is not important since S3C PL330 API driver | ||
24 | * use these just as IDs. | ||
25 | */ | ||
26 | enum dma_ch { | ||
27 | DMACH_UART0_RX, | ||
28 | DMACH_UART0_TX, | ||
29 | DMACH_UART1_RX, | ||
30 | DMACH_UART1_TX, | ||
31 | DMACH_UART2_RX, | ||
32 | DMACH_UART2_TX, | ||
33 | DMACH_UART3_RX, | ||
34 | DMACH_UART3_TX, | ||
35 | DMACH_IRDA, | ||
36 | DMACH_I2S0_RX, | ||
37 | DMACH_I2S0_TX, | ||
38 | DMACH_I2S0S_TX, | ||
39 | DMACH_I2S1_RX, | ||
40 | DMACH_I2S1_TX, | ||
41 | DMACH_I2S2_RX, | ||
42 | DMACH_I2S2_TX, | ||
43 | DMACH_SPI0_RX, | ||
44 | DMACH_SPI0_TX, | ||
45 | DMACH_SPI1_RX, | ||
46 | DMACH_SPI1_TX, | ||
47 | DMACH_SPI2_RX, | ||
48 | DMACH_SPI2_TX, | ||
49 | DMACH_AC97_MICIN, | ||
50 | DMACH_AC97_PCMIN, | ||
51 | DMACH_AC97_PCMOUT, | ||
52 | DMACH_EXTERNAL, | ||
53 | DMACH_PWM, | ||
54 | DMACH_SPDIF, | ||
55 | DMACH_HSI_RX, | ||
56 | DMACH_HSI_TX, | ||
57 | DMACH_PCM0_TX, | ||
58 | DMACH_PCM0_RX, | ||
59 | DMACH_PCM1_TX, | ||
60 | DMACH_PCM1_RX, | ||
61 | DMACH_PCM2_TX, | ||
62 | DMACH_PCM2_RX, | ||
63 | DMACH_MSM_REQ3, | ||
64 | DMACH_MSM_REQ2, | ||
65 | DMACH_MSM_REQ1, | ||
66 | DMACH_MSM_REQ0, | ||
67 | /* END Marker, also used to denote a reserved channel */ | ||
68 | DMACH_MAX, | ||
69 | }; | ||
70 | |||
71 | static inline bool s3c_dma_has_circular(void) | ||
72 | { | ||
73 | return true; | ||
74 | } | ||
75 | |||
76 | #include <plat/dma.h> | ||
77 | |||
78 | #endif /* __S3C_DMA_PL330_H_ */ | ||
diff --git a/arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h b/arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h new file mode 100644 index 000000000000..bf5e2a9d408d --- /dev/null +++ b/arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h | |||
@@ -0,0 +1,32 @@ | |||
1 | /* linux/arch/arm/plat-samsung/include/plat/s3c-pl330-pdata.h | ||
2 | * | ||
3 | * Copyright (C) 2010 Samsung Electronics Co. Ltd. | ||
4 | * Jaswinder Singh <jassi.brar@samsung.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #ifndef __S3C_PL330_PDATA_H | ||
13 | #define __S3C_PL330_PDATA_H | ||
14 | |||
15 | #include <plat/s3c-dma-pl330.h> | ||
16 | |||
17 | /* | ||
18 | * Every PL330 DMAC has max 32 peripheral interfaces, | ||
19 | * of which some may be not be really used in your | ||
20 | * DMAC's configuration. | ||
21 | * Populate this array of 32 peri i/fs with relevant | ||
22 | * channel IDs for used peri i/f and DMACH_MAX for | ||
23 | * those unused. | ||
24 | * | ||
25 | * The platforms just need to provide this info | ||
26 | * to the S3C DMA API driver for PL330. | ||
27 | */ | ||
28 | struct s3c_pl330_platdata { | ||
29 | enum dma_ch peri[32]; | ||
30 | }; | ||
31 | |||
32 | #endif /* __S3C_PL330_PDATA_H */ | ||