diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-13 13:39:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-13 13:39:26 -0500 |
commit | db5b0ae00712b5176d7405e7a1dd2bfd6e8f5070 (patch) | |
tree | 4e874d81ca9037dda1007178bbc9613649d43305 /arch/arm/plat-samsung | |
parent | 6be35c700f742e911ecedd07fcc43d4439922334 (diff) | |
parent | 64507dd7028e3e0145077e73b8374bd75aea117c (diff) |
Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC device tree conversions and enablement from Olof Johansson:
"Continued device tree conversion and enablement across a number of
platforms; Kirkwood, tegra, i.MX, Exynos, zynq and a couple of other
smaller series as well.
ux500 has seen continued conversion for platforms. Several platforms
have seen pinctrl-via-devicetree conversions for simpler
multiplatform. Tegra is adding data for new devices/drivers, and
Exynos has a bunch of new bindings and devices added as well.
So, pretty much the same progression in the right direction as the
last few releases."
Fix up conflicts as per Olof.
* tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (185 commits)
ARM: ux500: Rename dbx500 cpufreq code to be more generic
ARM: dts: add missing ux500 device trees
ARM: ux500: Stop registering the PCM driver from platform code
ARM: ux500: Move board specific GPIO info out to subordinate DTS files
ARM: ux500: Disable the MMCI gpio-regulator by default
ARM: Kirkwood: remove kirkwood_ehci_init() from new boards
ARM: Kirkwood: Add support LED of OpenBlocks A6
ARM: Kirkwood: Convert to EHCI via DT for OpenBlocks A6
ARM: kirkwood: Add NAND partiton map for OpenBlocks A6
ARM: kirkwood: Add support second I2C bus and RTC on OpenBlocks A6
ARM: kirkwood: Add support DT of second I2C bus
ARM: kirkwood: Convert mplcec4 board to pinctrl
ARM: Kirkwood: Convert km_kirkwood to pinctrl
ARM: Kirkwood: support 98DX412x kirkwoods with pinctrl
ARM: Kirkwood: Convert IX2-200 to pinctrl.
ARM: Kirkwood: Convert lsxl boards to pinctrl.
ARM: Kirkwood: Convert ib62x0 to pinctrl.
ARM: Kirkwood: Convert GoFlex Net to pinctrl.
ARM: Kirkwood: Convert dreamplug to pinctrl.
ARM: Kirkwood: Convert dockstar to pinctrl.
...
Diffstat (limited to 'arch/arm/plat-samsung')
-rw-r--r-- | arch/arm/plat-samsung/devs.c | 1 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/devs.h | 2 | ||||
-rw-r--r-- | arch/arm/plat-samsung/include/plat/mfc.h | 11 | ||||
-rw-r--r-- | arch/arm/plat-samsung/s5p-dev-mfc.c | 34 |
4 files changed, 46 insertions, 2 deletions
diff --git a/arch/arm/plat-samsung/devs.c b/arch/arm/plat-samsung/devs.c index a17d7b3e3725..bc50b20a8ffc 100644 --- a/arch/arm/plat-samsung/devs.c +++ b/arch/arm/plat-samsung/devs.c | |||
@@ -929,6 +929,7 @@ struct platform_device s5p_device_mfc_r = { | |||
929 | .coherent_dma_mask = DMA_BIT_MASK(32), | 929 | .coherent_dma_mask = DMA_BIT_MASK(32), |
930 | }, | 930 | }, |
931 | }; | 931 | }; |
932 | |||
932 | #endif /* CONFIG_S5P_DEV_MFC */ | 933 | #endif /* CONFIG_S5P_DEV_MFC */ |
933 | 934 | ||
934 | /* MIPI CSIS */ | 935 | /* MIPI CSIS */ |
diff --git a/arch/arm/plat-samsung/include/plat/devs.h b/arch/arm/plat-samsung/include/plat/devs.h index a9b8096b8252..f53beba2b63d 100644 --- a/arch/arm/plat-samsung/include/plat/devs.h +++ b/arch/arm/plat-samsung/include/plat/devs.h | |||
@@ -132,8 +132,6 @@ extern struct platform_device exynos4_device_pcm1; | |||
132 | extern struct platform_device exynos4_device_pcm2; | 132 | extern struct platform_device exynos4_device_pcm2; |
133 | extern struct platform_device exynos4_device_spdif; | 133 | extern struct platform_device exynos4_device_spdif; |
134 | 134 | ||
135 | extern struct platform_device exynos_device_drm; | ||
136 | |||
137 | extern struct platform_device samsung_asoc_dma; | 135 | extern struct platform_device samsung_asoc_dma; |
138 | extern struct platform_device samsung_asoc_idma; | 136 | extern struct platform_device samsung_asoc_idma; |
139 | extern struct platform_device samsung_device_keypad; | 137 | extern struct platform_device samsung_device_keypad; |
diff --git a/arch/arm/plat-samsung/include/plat/mfc.h b/arch/arm/plat-samsung/include/plat/mfc.h index ac13227272f0..e6d7c42d68b6 100644 --- a/arch/arm/plat-samsung/include/plat/mfc.h +++ b/arch/arm/plat-samsung/include/plat/mfc.h | |||
@@ -10,6 +10,14 @@ | |||
10 | #ifndef __PLAT_SAMSUNG_MFC_H | 10 | #ifndef __PLAT_SAMSUNG_MFC_H |
11 | #define __PLAT_SAMSUNG_MFC_H __FILE__ | 11 | #define __PLAT_SAMSUNG_MFC_H __FILE__ |
12 | 12 | ||
13 | struct s5p_mfc_dt_meminfo { | ||
14 | unsigned long loff; | ||
15 | unsigned long lsize; | ||
16 | unsigned long roff; | ||
17 | unsigned long rsize; | ||
18 | char *compatible; | ||
19 | }; | ||
20 | |||
13 | /** | 21 | /** |
14 | * s5p_mfc_reserve_mem - function to early reserve memory for MFC driver | 22 | * s5p_mfc_reserve_mem - function to early reserve memory for MFC driver |
15 | * @rbase: base address for MFC 'right' memory interface | 23 | * @rbase: base address for MFC 'right' memory interface |
@@ -24,4 +32,7 @@ | |||
24 | void __init s5p_mfc_reserve_mem(phys_addr_t rbase, unsigned int rsize, | 32 | void __init s5p_mfc_reserve_mem(phys_addr_t rbase, unsigned int rsize, |
25 | phys_addr_t lbase, unsigned int lsize); | 33 | phys_addr_t lbase, unsigned int lsize); |
26 | 34 | ||
35 | int __init s5p_fdt_find_mfc_mem(unsigned long node, const char *uname, | ||
36 | int depth, void *data); | ||
37 | |||
27 | #endif /* __PLAT_SAMSUNG_MFC_H */ | 38 | #endif /* __PLAT_SAMSUNG_MFC_H */ |
diff --git a/arch/arm/plat-samsung/s5p-dev-mfc.c b/arch/arm/plat-samsung/s5p-dev-mfc.c index ad6089465e2a..5ec104b5408b 100644 --- a/arch/arm/plat-samsung/s5p-dev-mfc.c +++ b/arch/arm/plat-samsung/s5p-dev-mfc.c | |||
@@ -14,6 +14,8 @@ | |||
14 | #include <linux/dma-mapping.h> | 14 | #include <linux/dma-mapping.h> |
15 | #include <linux/memblock.h> | 15 | #include <linux/memblock.h> |
16 | #include <linux/ioport.h> | 16 | #include <linux/ioport.h> |
17 | #include <linux/of_fdt.h> | ||
18 | #include <linux/of.h> | ||
17 | 19 | ||
18 | #include <mach/map.h> | 20 | #include <mach/map.h> |
19 | #include <plat/devs.h> | 21 | #include <plat/devs.h> |
@@ -69,3 +71,35 @@ static int __init s5p_mfc_memory_init(void) | |||
69 | return 0; | 71 | return 0; |
70 | } | 72 | } |
71 | device_initcall(s5p_mfc_memory_init); | 73 | device_initcall(s5p_mfc_memory_init); |
74 | |||
75 | #ifdef CONFIG_OF | ||
76 | int __init s5p_fdt_find_mfc_mem(unsigned long node, const char *uname, | ||
77 | int depth, void *data) | ||
78 | { | ||
79 | __be32 *prop; | ||
80 | unsigned long len; | ||
81 | struct s5p_mfc_dt_meminfo *mfc_mem = data; | ||
82 | |||
83 | if (!data) | ||
84 | return 0; | ||
85 | |||
86 | if (!of_flat_dt_is_compatible(node, mfc_mem->compatible)) | ||
87 | return 0; | ||
88 | |||
89 | prop = of_get_flat_dt_prop(node, "samsung,mfc-l", &len); | ||
90 | if (!prop || (len != 2 * sizeof(unsigned long))) | ||
91 | return 0; | ||
92 | |||
93 | mfc_mem->loff = be32_to_cpu(prop[0]); | ||
94 | mfc_mem->lsize = be32_to_cpu(prop[1]); | ||
95 | |||
96 | prop = of_get_flat_dt_prop(node, "samsung,mfc-r", &len); | ||
97 | if (!prop || (len != 2 * sizeof(unsigned long))) | ||
98 | return 0; | ||
99 | |||
100 | mfc_mem->roff = be32_to_cpu(prop[0]); | ||
101 | mfc_mem->rsize = be32_to_cpu(prop[1]); | ||
102 | |||
103 | return 1; | ||
104 | } | ||
105 | #endif | ||