diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-28 15:24:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-28 15:24:40 -0400 |
commit | 4bb2d1009f671815870e8f78e826e4f9071392a7 (patch) | |
tree | 4b9f4e3b349a67d47b11eff7fcebbf57a3c40a1e /arch/arm/mach-ux500/board-mop500-sdi.c | |
parent | ff877c498eb2f9c4ea386270642e383bc867f63c (diff) | |
parent | 83fe628e16d84efc8df2731bc403eae4e4f53801 (diff) |
Merge tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull "ARM: More SoC support updates" from Olof Johansson:
"This branch contains a handful of updates of SoC base code that had
dependencies on other external trees that have now been merged:
* Support for the new EXYNOS5250 SoC from Samsung
* SMP and power domain support for Tegra3 from NVIDIA
* ux500 updates for exporting SoC information through sysfs"
Fix up trivial merge conflicts as per Olof.
* tag 'soc2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (30 commits)
ARM: mach-shmobile: ap4evb: Reserve DMA memory for the frame buffer
ARM: EXYNOS: Fix compilation error with mach-exynos4-dt board
ARM: dts: add initial dts file for EXYNOS5250, SMDK5250
ARM: EXYNOS: add support device tree enabled board file for EXYNOS5
ARM: EXYNOS: add support ARCH_EXYNOS5 for EXYNOS5 SoCs
ARM: EXYNOS: add support get_core_count() for EXYNOS5250
ARM: EXYNOS: support EINT for EXYNOS4 and EXYNOS5
ARM: EXYNOS: add interrupt definitions for EXYNOS5250
ARM: EXYNOS: add support for EXYNOS5250 SoC
ARM: EXYNOS: add support uart for EXYNOS4 and EXYNOS5
ARM: EXYNOS: add initial setup-i2c0 for EXYNOS5
ARM: EXYNOS: add clock part for EXYNOS5250 SoC
ARM: EXYNOS: use exynos_init_uarts() instead of exynos4_init_uarts()
ARM: EXYNOS: to declare static for mach-exynos/common.c
ARM: EXYNOS: Add clkdev lookup entry for lcd clock
ARM: dt: Explicitly configure all serial ports on Tegra Cardhu
ARM: tegra: support for secondary cores on Tegra30
ARM: tegra: support for Tegra30 CPU powerdomains
ARM: tegra: add support for Tegra30 powerdomains
ARM: tegra: export tegra_powergate_is_powered()
...
Diffstat (limited to 'arch/arm/mach-ux500/board-mop500-sdi.c')
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-sdi.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-sdi.c b/arch/arm/mach-ux500/board-mop500-sdi.c index 1daead3e583e..920251cf834c 100644 --- a/arch/arm/mach-ux500/board-mop500-sdi.c +++ b/arch/arm/mach-ux500/board-mop500-sdi.c | |||
@@ -99,7 +99,7 @@ static struct mmci_platform_data mop500_sdi0_data = { | |||
99 | #endif | 99 | #endif |
100 | }; | 100 | }; |
101 | 101 | ||
102 | static void sdi0_configure(void) | 102 | static void sdi0_configure(struct device *parent) |
103 | { | 103 | { |
104 | int ret; | 104 | int ret; |
105 | 105 | ||
@@ -118,15 +118,15 @@ static void sdi0_configure(void) | |||
118 | gpio_direction_output(sdi0_en, 1); | 118 | gpio_direction_output(sdi0_en, 1); |
119 | 119 | ||
120 | /* Add the device, force v2 to subrevision 1 */ | 120 | /* Add the device, force v2 to subrevision 1 */ |
121 | db8500_add_sdi0(&mop500_sdi0_data, U8500_SDI_V2_PERIPHID); | 121 | db8500_add_sdi0(parent, &mop500_sdi0_data, U8500_SDI_V2_PERIPHID); |
122 | } | 122 | } |
123 | 123 | ||
124 | void mop500_sdi_tc35892_init(void) | 124 | void mop500_sdi_tc35892_init(struct device *parent) |
125 | { | 125 | { |
126 | mop500_sdi0_data.gpio_cd = GPIO_SDMMC_CD; | 126 | mop500_sdi0_data.gpio_cd = GPIO_SDMMC_CD; |
127 | sdi0_en = GPIO_SDMMC_EN; | 127 | sdi0_en = GPIO_SDMMC_EN; |
128 | sdi0_vsel = GPIO_SDMMC_1V8_3V_SEL; | 128 | sdi0_vsel = GPIO_SDMMC_1V8_3V_SEL; |
129 | sdi0_configure(); | 129 | sdi0_configure(parent); |
130 | } | 130 | } |
131 | 131 | ||
132 | /* | 132 | /* |
@@ -241,12 +241,13 @@ static struct mmci_platform_data mop500_sdi4_data = { | |||
241 | #endif | 241 | #endif |
242 | }; | 242 | }; |
243 | 243 | ||
244 | void __init mop500_sdi_init(void) | 244 | void __init mop500_sdi_init(struct device *parent) |
245 | { | 245 | { |
246 | /* PoP:ed eMMC */ | 246 | /* PoP:ed eMMC */ |
247 | db8500_add_sdi2(&mop500_sdi2_data, U8500_SDI_V2_PERIPHID); | 247 | db8500_add_sdi2(parent, &mop500_sdi2_data, U8500_SDI_V2_PERIPHID); |
248 | /* On-board eMMC */ | 248 | /* On-board eMMC */ |
249 | db8500_add_sdi4(&mop500_sdi4_data, U8500_SDI_V2_PERIPHID); | 249 | db8500_add_sdi4(parent, &mop500_sdi4_data, U8500_SDI_V2_PERIPHID); |
250 | |||
250 | /* | 251 | /* |
251 | * On boards with the TC35892 GPIO expander, sdi0 will finally | 252 | * On boards with the TC35892 GPIO expander, sdi0 will finally |
252 | * be added when the TC35892 initializes and calls | 253 | * be added when the TC35892 initializes and calls |
@@ -254,31 +255,31 @@ void __init mop500_sdi_init(void) | |||
254 | */ | 255 | */ |
255 | } | 256 | } |
256 | 257 | ||
257 | void __init snowball_sdi_init(void) | 258 | void __init snowball_sdi_init(struct device *parent) |
258 | { | 259 | { |
259 | /* On Snowball MMC_CAP_SD_HIGHSPEED isn't supported (Hardware issue?) */ | 260 | /* On Snowball MMC_CAP_SD_HIGHSPEED isn't supported (Hardware issue?) */ |
260 | mop500_sdi0_data.capabilities &= ~MMC_CAP_SD_HIGHSPEED; | 261 | mop500_sdi0_data.capabilities &= ~MMC_CAP_SD_HIGHSPEED; |
261 | /* On-board eMMC */ | 262 | /* On-board eMMC */ |
262 | db8500_add_sdi4(&mop500_sdi4_data, U8500_SDI_V2_PERIPHID); | 263 | db8500_add_sdi4(parent, &mop500_sdi4_data, U8500_SDI_V2_PERIPHID); |
263 | /* External Micro SD slot */ | 264 | /* External Micro SD slot */ |
264 | mop500_sdi0_data.gpio_cd = SNOWBALL_SDMMC_CD_GPIO; | 265 | mop500_sdi0_data.gpio_cd = SNOWBALL_SDMMC_CD_GPIO; |
265 | mop500_sdi0_data.cd_invert = true; | 266 | mop500_sdi0_data.cd_invert = true; |
266 | sdi0_en = SNOWBALL_SDMMC_EN_GPIO; | 267 | sdi0_en = SNOWBALL_SDMMC_EN_GPIO; |
267 | sdi0_vsel = SNOWBALL_SDMMC_1V8_3V_GPIO; | 268 | sdi0_vsel = SNOWBALL_SDMMC_1V8_3V_GPIO; |
268 | sdi0_configure(); | 269 | sdi0_configure(parent); |
269 | } | 270 | } |
270 | 271 | ||
271 | void __init hrefv60_sdi_init(void) | 272 | void __init hrefv60_sdi_init(struct device *parent) |
272 | { | 273 | { |
273 | /* PoP:ed eMMC */ | 274 | /* PoP:ed eMMC */ |
274 | db8500_add_sdi2(&mop500_sdi2_data, U8500_SDI_V2_PERIPHID); | 275 | db8500_add_sdi2(parent, &mop500_sdi2_data, U8500_SDI_V2_PERIPHID); |
275 | /* On-board eMMC */ | 276 | /* On-board eMMC */ |
276 | db8500_add_sdi4(&mop500_sdi4_data, U8500_SDI_V2_PERIPHID); | 277 | db8500_add_sdi4(parent, &mop500_sdi4_data, U8500_SDI_V2_PERIPHID); |
277 | /* External Micro SD slot */ | 278 | /* External Micro SD slot */ |
278 | mop500_sdi0_data.gpio_cd = HREFV60_SDMMC_CD_GPIO; | 279 | mop500_sdi0_data.gpio_cd = HREFV60_SDMMC_CD_GPIO; |
279 | sdi0_en = HREFV60_SDMMC_EN_GPIO; | 280 | sdi0_en = HREFV60_SDMMC_EN_GPIO; |
280 | sdi0_vsel = HREFV60_SDMMC_1V8_3V_GPIO; | 281 | sdi0_vsel = HREFV60_SDMMC_1V8_3V_GPIO; |
281 | sdi0_configure(); | 282 | sdi0_configure(parent); |
282 | /* WLAN SDIO channel */ | 283 | /* WLAN SDIO channel */ |
283 | db8500_add_sdi1(&mop500_sdi1_data, U8500_SDI_V2_PERIPHID); | 284 | db8500_add_sdi1(parent, &mop500_sdi1_data, U8500_SDI_V2_PERIPHID); |
284 | } | 285 | } |