aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/board-mackerel.c
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2011-10-19 17:52:41 -0400
committerRafael J. Wysocki <rjw@sisk.pl>2011-10-21 18:19:58 -0400
commitd93f5cdea968284f05aa9905ee9752874885a6fa (patch)
tree11d4eebb5a887aaab37f592f23ac8ca60fbc7e6a /arch/arm/mach-shmobile/board-mackerel.c
parent4ca46ff3e0d8c234cb40ebb6457653b59584426c (diff)
ARM: mach-shmobile: sh7372 A3SP support (v4)
This change adds support for the sh7372 A3SP power domain. The sh7372 A3SP hardware power domain contains a wide range of I/O devices. The list of I/O devices include SCIF serial ports, DMA Engine hardware, SD and MMC controller hardware, USB controllers and I2C master controllers. This patch adds the A3SP low level code which powers the hardware power domain on and off. It also ties in platform devices to the pm domain support code. It is worth noting that the serial console is hooked up to SCIFA0 on most sh7372 boards, and the SCIFA0 port is included in the A3SP hardware power domain. For this reason we cannot output debug messages from the low level power control code in the case of A3SP. QoS support is needed in drivers before we can enable the A3SP power control on the fly. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'arch/arm/mach-shmobile/board-mackerel.c')
-rw-r--r--arch/arm/mach-shmobile/board-mackerel.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
index 19f5d4922e2c..fdb1ca31dfe1 100644
--- a/arch/arm/mach-shmobile/board-mackerel.c
+++ b/arch/arm/mach-shmobile/board-mackerel.c
@@ -1588,6 +1588,14 @@ static void __init mackerel_init(void)
1588 sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc_device); 1588 sh7372_add_device_to_domain(&sh7372_a4lc, &lcdc_device);
1589 sh7372_add_device_to_domain(&sh7372_a4lc, &hdmi_lcdc_device); 1589 sh7372_add_device_to_domain(&sh7372_a4lc, &hdmi_lcdc_device);
1590 sh7372_add_device_to_domain(&sh7372_a4mp, &fsi_device); 1590 sh7372_add_device_to_domain(&sh7372_a4mp, &fsi_device);
1591 sh7372_add_device_to_domain(&sh7372_a3sp, &usbhs0_device);
1592 sh7372_add_device_to_domain(&sh7372_a3sp, &usbhs1_device);
1593 sh7372_add_device_to_domain(&sh7372_a3sp, &sh_mmcif_device);
1594 sh7372_add_device_to_domain(&sh7372_a3sp, &sdhi0_device);
1595#if !defined(CONFIG_MMC_SH_MMCIF) && !defined(CONFIG_MMC_SH_MMCIF_MODULE)
1596 sh7372_add_device_to_domain(&sh7372_a3sp, &sdhi1_device);
1597#endif
1598 sh7372_add_device_to_domain(&sh7372_a3sp, &sdhi2_device);
1591 1599
1592 hdmi_init_pm_clock(); 1600 hdmi_init_pm_clock();
1593 sh7372_pm_init(); 1601 sh7372_pm_init();