aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert+renesas@glider.be>2014-10-23 07:18:53 -0400
committerSimon Horman <horms+renesas@verge.net.au>2014-10-27 19:40:17 -0400
commit4311d9654c66b7cc7147035b8ec74f41ddffa650 (patch)
tree34864102d42862099b3bf672878facb3760c1b87 /arch/arm/mach-shmobile
parent3b358cb8b7c73304ea2c634afc644cfad37adbdc (diff)
ARM: shmobile: armadillo800eva legacy: Add missing A3SP pm domain devices
Commit 802a5639aa7041b2 ("ARM: shmobile: r8a7740: add A3SP pm domain support") added the A3SP power domain, but forgot to hook up the TPU, SDHI0/1, and MMCIF hardware blocks. Note: As the default PM QoS latency constraint for SDHI is only 100 µs (cfr. commit c419e611c3c59c0e ("tmio_mmc / PM: Use PM QoS latency constraint"), while DEFAULT_DEV_LATENCY_NS is 250000, suspend fails with -EBUSY, unless the constraint is increased first to more than 500 µs using e.g. echo 501 > /sys/devices/platform/sh_mobile_sdhi.0/power/pm_qos_resume_latency_us Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/board-armadillo800eva.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
index e70983534403..4bc202dd828a 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
@@ -1234,8 +1234,11 @@ static void __init eva_init(void)
1234 static struct pm_domain_device domain_devices[] __initdata = { 1234 static struct pm_domain_device domain_devices[] __initdata = {
1235 { "A4LC", &lcdc0_device }, 1235 { "A4LC", &lcdc0_device },
1236 { "A4LC", &hdmi_lcdc_device }, 1236 { "A4LC", &hdmi_lcdc_device },
1237 { "A3SP", &pwm_device },
1238 { "A3SP", &sdhi0_device },
1239 { "A3SP", &sh_mmcif_device },
1237 }; 1240 };
1238 struct platform_device *usb = NULL; 1241 struct platform_device *usb = NULL, *sdhi1 = NULL;
1239 1242
1240 regulator_register_always_on(0, "fixed-3.3V", fixed3v3_power_consumers, 1243 regulator_register_always_on(0, "fixed-3.3V", fixed3v3_power_consumers,
1241 ARRAY_SIZE(fixed3v3_power_consumers), 3300000); 1244 ARRAY_SIZE(fixed3v3_power_consumers), 3300000);
@@ -1304,6 +1307,7 @@ static void __init eva_init(void)
1304 1307
1305 platform_device_register(&vcc_sdhi1); 1308 platform_device_register(&vcc_sdhi1);
1306 platform_device_register(&sdhi1_device); 1309 platform_device_register(&sdhi1_device);
1310 sdhi1 = &sdhi1_device;
1307 } 1311 }
1308 1312
1309 1313
@@ -1324,6 +1328,8 @@ static void __init eva_init(void)
1324 ARRAY_SIZE(domain_devices)); 1328 ARRAY_SIZE(domain_devices));
1325 if (usb) 1329 if (usb)
1326 rmobile_add_device_to_domain("A3SP", usb); 1330 rmobile_add_device_to_domain("A3SP", usb);
1331 if (sdhi1)
1332 rmobile_add_device_to_domain("A3SP", sdhi1);
1327 1333
1328 r8a7740_pm_init(); 1334 r8a7740_pm_init();
1329} 1335}