aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-shmobile/board-bockw.c11
-rw-r--r--arch/arm/mach-shmobile/include/mach/r8a7778.h2
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7778.c24
3 files changed, 10 insertions, 27 deletions
diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c
index c94622a06be0..1c876abdf317 100644
--- a/arch/arm/mach-shmobile/board-bockw.c
+++ b/arch/arm/mach-shmobile/board-bockw.c
@@ -20,6 +20,7 @@
20 20
21#include <linux/mfd/tmio.h> 21#include <linux/mfd/tmio.h>
22#include <linux/mmc/host.h> 22#include <linux/mmc/host.h>
23#include <linux/mmc/sh_mobile_sdhi.h>
23#include <linux/mmc/sh_mmcif.h> 24#include <linux/mmc/sh_mmcif.h>
24#include <linux/mtd/partitions.h> 25#include <linux/mtd/partitions.h>
25#include <linux/pinctrl/machine.h> 26#include <linux/pinctrl/machine.h>
@@ -93,6 +94,11 @@ static struct sh_mobile_sdhi_info sdhi0_info = {
93 .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT, 94 .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT,
94}; 95};
95 96
97static struct resource sdhi0_resources[] __initdata = {
98 DEFINE_RES_MEM(0xFFE4C000, 0x100),
99 DEFINE_RES_IRQ(gic_iid(0x77)),
100};
101
96static struct sh_eth_plat_data ether_platform_data __initdata = { 102static struct sh_eth_plat_data ether_platform_data __initdata = {
97 .phy = 0x01, 103 .phy = 0x01,
98 .edmac_endian = EDMAC_LITTLE_ENDIAN, 104 .edmac_endian = EDMAC_LITTLE_ENDIAN,
@@ -253,7 +259,10 @@ static void __init bockw_init(void)
253 iowrite32(ioread32(base + PUPR4) | (3 << 26), base + PUPR4); 259 iowrite32(ioread32(base + PUPR4) | (3 << 26), base + PUPR4);
254 iounmap(base); 260 iounmap(base);
255 261
256 r8a7778_sdhi_init(0, &sdhi0_info); 262 platform_device_register_resndata(
263 &platform_bus, "sh_mobile_sdhi", 0,
264 sdhi0_resources, ARRAY_SIZE(sdhi0_resources),
265 &sdhi0_info, sizeof(struct sh_mobile_sdhi_info));
257 } 266 }
258} 267}
259 268
diff --git a/arch/arm/mach-shmobile/include/mach/r8a7778.h b/arch/arm/mach-shmobile/include/mach/r8a7778.h
index a184a13357b6..aaa054497e96 100644
--- a/arch/arm/mach-shmobile/include/mach/r8a7778.h
+++ b/arch/arm/mach-shmobile/include/mach/r8a7778.h
@@ -18,7 +18,6 @@
18#ifndef __ASM_R8A7778_H__ 18#ifndef __ASM_R8A7778_H__
19#define __ASM_R8A7778_H__ 19#define __ASM_R8A7778_H__
20 20
21#include <linux/mmc/sh_mobile_sdhi.h>
22#include <linux/sh_eth.h> 21#include <linux/sh_eth.h>
23 22
24extern void r8a7778_add_standard_devices(void); 23extern void r8a7778_add_standard_devices(void);
@@ -34,6 +33,5 @@ extern void r8a7778_init_irq_dt(void);
34extern void r8a7778_clock_init(void); 33extern void r8a7778_clock_init(void);
35extern void r8a7778_init_irq_extpin(int irlm); 34extern void r8a7778_init_irq_extpin(int irlm);
36extern void r8a7778_pinmux_init(void); 35extern void r8a7778_pinmux_init(void);
37extern void r8a7778_sdhi_init(int id, struct sh_mobile_sdhi_info *info);
38 36
39#endif /* __ASM_R8A7778_H__ */ 37#endif /* __ASM_R8A7778_H__ */
diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c
index 8947507922ff..c585ee0ec006 100644
--- a/arch/arm/mach-shmobile/setup-r8a7778.c
+++ b/arch/arm/mach-shmobile/setup-r8a7778.c
@@ -234,30 +234,6 @@ void __init r8a7778_pinmux_init(void)
234 r8a7778_register_gpio(4); 234 r8a7778_register_gpio(4);
235}; 235};
236 236
237/* SDHI */
238static struct resource sdhi_resources[] __initdata = {
239 /* SDHI0 */
240 DEFINE_RES_MEM(0xFFE4C000, 0x100),
241 DEFINE_RES_IRQ(gic_iid(0x77)),
242 /* SDHI1 */
243 DEFINE_RES_MEM(0xFFE4D000, 0x100),
244 DEFINE_RES_IRQ(gic_iid(0x78)),
245 /* SDHI2 */
246 DEFINE_RES_MEM(0xFFE4F000, 0x100),
247 DEFINE_RES_IRQ(gic_iid(0x76)),
248};
249
250void __init r8a7778_sdhi_init(int id,
251 struct sh_mobile_sdhi_info *info)
252{
253 BUG_ON(id < 0 || id > 2);
254
255 platform_device_register_resndata(
256 &platform_bus, "sh_mobile_sdhi", id,
257 sdhi_resources + (2 * id), 2,
258 info, sizeof(*info));
259}
260
261/* I2C */ 237/* I2C */
262static struct resource i2c_resources[] __initdata = { 238static struct resource i2c_resources[] __initdata = {
263 /* I2C0 */ 239 /* I2C0 */