diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 18:12:17 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-02-21 18:12:18 -0500 |
commit | 5ce7aba976ebdfbf467e3cbcd3a7536ebdec4b11 (patch) | |
tree | a31ceb4a167035aad73fd116ee8512fca905fd7b /include | |
parent | 7ae1c76ee5b58fe5bd55a07f99a3359333270b86 (diff) | |
parent | b6a03d0492dedb5c10b8a5708ee92e04b0590c07 (diff) |
Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC driver specific changes from Arnd Bergmann:
- Updates to the ux500 cpufreq code
- Moving the u300 DMA controller driver to drivers/dma
- Moving versatile express drivers out of arch/arm for sharing with arch/arm64
- Device tree bindings for the OMAP General Purpose Memory Controller
* tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (27 commits)
ARM: OMAP2+: gpmc: Add device tree documentation for elm handle
ARM: OMAP2+: gpmc: add DT bindings for OneNAND
ARM: OMAP2+: gpmc-onenand: drop __init annotation
mtd: omap-onenand: pass device_node in platform data
ARM: OMAP2+: Prevent potential crash if GPMC probe fails
ARM: OMAP2+: gpmc: Remove unneeded of_node_put()
arm: Move sp810.h to include/linux/amba/
ARM: OMAP: gpmc: add DT bindings for GPMC timings and NAND
ARM: OMAP: gpmc: enable hwecc for AM33xx SoCs
ARM: OMAP: gpmc-nand: drop __init annotation
mtd: omap-nand: pass device_node in platform data
ARM: OMAP: gpmc: don't create devices from initcall on DT
dma: coh901318: cut down on platform data abstraction
dma: coh901318: merge header files
dma: coh901318: push definitions into driver
dma: coh901318: push header down into the DMA subsystem
dma: coh901318: skip hard-coded addresses
dma: coh901318: remove hardcoded target addresses
dma: coh901318: push platform data into driver
dma: coh901318: create a proper platform data file
...
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/amba/sp810.h | 64 | ||||
-rw-r--r-- | include/linux/platform_data/dma-coh901318.h | 72 | ||||
-rw-r--r-- | include/linux/platform_data/mtd-nand-omap2.h | 4 | ||||
-rw-r--r-- | include/linux/platform_data/mtd-onenand-omap2.h | 3 |
4 files changed, 142 insertions, 1 deletions
diff --git a/include/linux/amba/sp810.h b/include/linux/amba/sp810.h new file mode 100644 index 000000000000..6636430dd0e6 --- /dev/null +++ b/include/linux/amba/sp810.h | |||
@@ -0,0 +1,64 @@ | |||
1 | /* | ||
2 | * arch/arm/include/asm/hardware/sp810.h | ||
3 | * | ||
4 | * ARM PrimeXsys System Controller SP810 header file | ||
5 | * | ||
6 | * Copyright (C) 2009 ST Microelectronics | ||
7 | * Viresh Kumar <viresh.linux@gmail.com> | ||
8 | * | ||
9 | * This file is licensed under the terms of the GNU General Public | ||
10 | * License version 2. This program is licensed "as is" without any | ||
11 | * warranty of any kind, whether express or implied. | ||
12 | */ | ||
13 | |||
14 | #ifndef __ASM_ARM_SP810_H | ||
15 | #define __ASM_ARM_SP810_H | ||
16 | |||
17 | #include <linux/io.h> | ||
18 | |||
19 | /* sysctl registers offset */ | ||
20 | #define SCCTRL 0x000 | ||
21 | #define SCSYSSTAT 0x004 | ||
22 | #define SCIMCTRL 0x008 | ||
23 | #define SCIMSTAT 0x00C | ||
24 | #define SCXTALCTRL 0x010 | ||
25 | #define SCPLLCTRL 0x014 | ||
26 | #define SCPLLFCTRL 0x018 | ||
27 | #define SCPERCTRL0 0x01C | ||
28 | #define SCPERCTRL1 0x020 | ||
29 | #define SCPEREN 0x024 | ||
30 | #define SCPERDIS 0x028 | ||
31 | #define SCPERCLKEN 0x02C | ||
32 | #define SCPERSTAT 0x030 | ||
33 | #define SCSYSID0 0xEE0 | ||
34 | #define SCSYSID1 0xEE4 | ||
35 | #define SCSYSID2 0xEE8 | ||
36 | #define SCSYSID3 0xEEC | ||
37 | #define SCITCR 0xF00 | ||
38 | #define SCITIR0 0xF04 | ||
39 | #define SCITIR1 0xF08 | ||
40 | #define SCITOR 0xF0C | ||
41 | #define SCCNTCTRL 0xF10 | ||
42 | #define SCCNTDATA 0xF14 | ||
43 | #define SCCNTSTEP 0xF18 | ||
44 | #define SCPERIPHID0 0xFE0 | ||
45 | #define SCPERIPHID1 0xFE4 | ||
46 | #define SCPERIPHID2 0xFE8 | ||
47 | #define SCPERIPHID3 0xFEC | ||
48 | #define SCPCELLID0 0xFF0 | ||
49 | #define SCPCELLID1 0xFF4 | ||
50 | #define SCPCELLID2 0xFF8 | ||
51 | #define SCPCELLID3 0xFFC | ||
52 | |||
53 | #define SCCTRL_TIMERENnSEL_SHIFT(n) (15 + ((n) * 2)) | ||
54 | |||
55 | static inline void sysctl_soft_reset(void __iomem *base) | ||
56 | { | ||
57 | /* switch to slow mode */ | ||
58 | writel(0x2, base + SCCTRL); | ||
59 | |||
60 | /* writing any value to SCSYSSTAT reg will reset system */ | ||
61 | writel(0, base + SCSYSSTAT); | ||
62 | } | ||
63 | |||
64 | #endif /* __ASM_ARM_SP810_H */ | ||
diff --git a/include/linux/platform_data/dma-coh901318.h b/include/linux/platform_data/dma-coh901318.h new file mode 100644 index 000000000000..c4cb9590d115 --- /dev/null +++ b/include/linux/platform_data/dma-coh901318.h | |||
@@ -0,0 +1,72 @@ | |||
1 | /* | ||
2 | * Platform data for the COH901318 DMA controller | ||
3 | * Copyright (C) 2007-2013 ST-Ericsson | ||
4 | * License terms: GNU General Public License (GPL) version 2 | ||
5 | */ | ||
6 | |||
7 | #ifndef PLAT_COH901318_H | ||
8 | #define PLAT_COH901318_H | ||
9 | |||
10 | #ifdef CONFIG_COH901318 | ||
11 | |||
12 | /* We only support the U300 DMA channels */ | ||
13 | #define U300_DMA_MSL_TX_0 0 | ||
14 | #define U300_DMA_MSL_TX_1 1 | ||
15 | #define U300_DMA_MSL_TX_2 2 | ||
16 | #define U300_DMA_MSL_TX_3 3 | ||
17 | #define U300_DMA_MSL_TX_4 4 | ||
18 | #define U300_DMA_MSL_TX_5 5 | ||
19 | #define U300_DMA_MSL_TX_6 6 | ||
20 | #define U300_DMA_MSL_RX_0 7 | ||
21 | #define U300_DMA_MSL_RX_1 8 | ||
22 | #define U300_DMA_MSL_RX_2 9 | ||
23 | #define U300_DMA_MSL_RX_3 10 | ||
24 | #define U300_DMA_MSL_RX_4 11 | ||
25 | #define U300_DMA_MSL_RX_5 12 | ||
26 | #define U300_DMA_MSL_RX_6 13 | ||
27 | #define U300_DMA_MMCSD_RX_TX 14 | ||
28 | #define U300_DMA_MSPRO_TX 15 | ||
29 | #define U300_DMA_MSPRO_RX 16 | ||
30 | #define U300_DMA_UART0_TX 17 | ||
31 | #define U300_DMA_UART0_RX 18 | ||
32 | #define U300_DMA_APEX_TX 19 | ||
33 | #define U300_DMA_APEX_RX 20 | ||
34 | #define U300_DMA_PCM_I2S0_TX 21 | ||
35 | #define U300_DMA_PCM_I2S0_RX 22 | ||
36 | #define U300_DMA_PCM_I2S1_TX 23 | ||
37 | #define U300_DMA_PCM_I2S1_RX 24 | ||
38 | #define U300_DMA_XGAM_CDI 25 | ||
39 | #define U300_DMA_XGAM_PDI 26 | ||
40 | #define U300_DMA_SPI_TX 27 | ||
41 | #define U300_DMA_SPI_RX 28 | ||
42 | #define U300_DMA_GENERAL_PURPOSE_0 29 | ||
43 | #define U300_DMA_GENERAL_PURPOSE_1 30 | ||
44 | #define U300_DMA_GENERAL_PURPOSE_2 31 | ||
45 | #define U300_DMA_GENERAL_PURPOSE_3 32 | ||
46 | #define U300_DMA_GENERAL_PURPOSE_4 33 | ||
47 | #define U300_DMA_GENERAL_PURPOSE_5 34 | ||
48 | #define U300_DMA_GENERAL_PURPOSE_6 35 | ||
49 | #define U300_DMA_GENERAL_PURPOSE_7 36 | ||
50 | #define U300_DMA_GENERAL_PURPOSE_8 37 | ||
51 | #define U300_DMA_UART1_TX 38 | ||
52 | #define U300_DMA_UART1_RX 39 | ||
53 | |||
54 | #define U300_DMA_DEVICE_CHANNELS 32 | ||
55 | #define U300_DMA_CHANNELS 40 | ||
56 | |||
57 | /** | ||
58 | * coh901318_filter_id() - DMA channel filter function | ||
59 | * @chan: dma channel handle | ||
60 | * @chan_id: id of dma channel to be filter out | ||
61 | * | ||
62 | * In dma_request_channel() it specifies what channel id to be requested | ||
63 | */ | ||
64 | bool coh901318_filter_id(struct dma_chan *chan, void *chan_id); | ||
65 | #else | ||
66 | static inline bool coh901318_filter_id(struct dma_chan *chan, void *chan_id) | ||
67 | { | ||
68 | return false; | ||
69 | } | ||
70 | #endif | ||
71 | |||
72 | #endif /* PLAT_COH901318_H */ | ||
diff --git a/include/linux/platform_data/mtd-nand-omap2.h b/include/linux/platform_data/mtd-nand-omap2.h index 24d32ca34bef..6bf9ef43ddb1 100644 --- a/include/linux/platform_data/mtd-nand-omap2.h +++ b/include/linux/platform_data/mtd-nand-omap2.h | |||
@@ -60,6 +60,8 @@ struct omap_nand_platform_data { | |||
60 | int devsize; | 60 | int devsize; |
61 | enum omap_ecc ecc_opt; | 61 | enum omap_ecc ecc_opt; |
62 | struct gpmc_nand_regs reg; | 62 | struct gpmc_nand_regs reg; |
63 | }; | ||
64 | 63 | ||
64 | /* for passing the partitions */ | ||
65 | struct device_node *of_node; | ||
66 | }; | ||
65 | #endif | 67 | #endif |
diff --git a/include/linux/platform_data/mtd-onenand-omap2.h b/include/linux/platform_data/mtd-onenand-omap2.h index 685af7e8b120..e9a9fb188f97 100644 --- a/include/linux/platform_data/mtd-onenand-omap2.h +++ b/include/linux/platform_data/mtd-onenand-omap2.h | |||
@@ -29,5 +29,8 @@ struct omap_onenand_platform_data { | |||
29 | u8 flags; | 29 | u8 flags; |
30 | u8 regulator_can_sleep; | 30 | u8 regulator_can_sleep; |
31 | u8 skip_initial_unlocking; | 31 | u8 skip_initial_unlocking; |
32 | |||
33 | /* for passing the partitions */ | ||
34 | struct device_node *of_node; | ||
32 | }; | 35 | }; |
33 | #endif | 36 | #endif |