ARM: shmobile: r8a7740: add A4S pm domain support
This patch adds basic A4S pm domain support.
Now, below devices can be controled by PM
Common-SHwy, Common-HPB, BSC, MFI, MMFROM, HS-SHwy,
SYS-HPB, INTCA, DBSC, DDRPHY (Logic),
ATAPI, GbEther, AXI-bus
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2012-07-05 01:25:58 -07:00
/*
* r8a7740 power management support
*
* Copyright ( C ) 2012 Renesas Solutions Corp .
* Copyright ( C ) 2012 Kuninori Morimoto < kuninori . morimoto . gx @ renesas . com >
*
* This file is subject to the terms and conditions of the GNU General Public
* License . See the file " COPYING " in the main directory of this archive
* for more details .
*/
ARM: shmobile: r8a7740: add A3SP pm domain support
This patch adds basic A3SP pm domain support.
Now, below devices can be controled by PM
DMAC1/2/3, IPMMU, DDM, FLCTL, SYS-HPB, BBIF1, MSIOF1/2,
SCIFA,SCIFB, IIC1, IrDA, USBH, USBDMAC, SDHI0/1/2, TPU,
DREQPAK (Sys), MMCIF, RSPI, SIM, USBF
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2012-07-05 01:26:31 -07:00
# include <linux/console.h>
2012-12-05 12:13:07 +00:00
# include <linux/suspend.h>
ARM: shmobile: r8a7740: add A4S pm domain support
This patch adds basic A4S pm domain support.
Now, below devices can be controled by PM
Common-SHwy, Common-HPB, BSC, MFI, MMFROM, HS-SHwy,
SYS-HPB, INTCA, DBSC, DDRPHY (Logic),
ATAPI, GbEther, AXI-bus
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2012-07-05 01:25:58 -07:00
# include <mach/pm-rmobile.h>
2012-12-05 12:13:07 +00:00
# include <mach/common.h>
ARM: shmobile: r8a7740: add A4S pm domain support
This patch adds basic A4S pm domain support.
Now, below devices can be controled by PM
Common-SHwy, Common-HPB, BSC, MFI, MMFROM, HS-SHwy,
SYS-HPB, INTCA, DBSC, DDRPHY (Logic),
ATAPI, GbEther, AXI-bus
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2012-07-05 01:25:58 -07:00
# ifdef CONFIG_PM
static int r8a7740_pd_a4s_suspend ( void )
{
/*
* The A4S domain contains the CPU core and therefore it should
* only be turned off if the CPU is in use .
*/
return - EBUSY ;
}
ARM: shmobile: r8a7740: add A3SP pm domain support
This patch adds basic A3SP pm domain support.
Now, below devices can be controled by PM
DMAC1/2/3, IPMMU, DDM, FLCTL, SYS-HPB, BBIF1, MSIOF1/2,
SCIFA,SCIFB, IIC1, IrDA, USBH, USBDMAC, SDHI0/1/2, TPU,
DREQPAK (Sys), MMCIF, RSPI, SIM, USBF
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2012-07-05 01:26:31 -07:00
static int r8a7740_pd_a3sp_suspend ( void )
{
/*
* Serial consoles make use of SCIF hardware located in A3SP ,
* keep such power domain on if " no_console_suspend " is set .
*/
return console_suspend_enabled ? 0 : - EBUSY ;
}
2012-08-07 01:13:37 +02:00
static struct rmobile_pm_domain r8a7740_pm_domains [ ] = {
{
. genpd . name = " A4S " ,
. bit_shift = 10 ,
. gov = & pm_domain_always_on_gov ,
. no_debug = true ,
. suspend = r8a7740_pd_a4s_suspend ,
} ,
{
. genpd . name = " A3SP " ,
. bit_shift = 11 ,
. gov = & pm_domain_always_on_gov ,
. no_debug = true ,
. suspend = r8a7740_pd_a3sp_suspend ,
} ,
{
. genpd . name = " A4LC " ,
. bit_shift = 1 ,
} ,
ARM: shmobile: r8a7740: add A3SP pm domain support
This patch adds basic A3SP pm domain support.
Now, below devices can be controled by PM
DMAC1/2/3, IPMMU, DDM, FLCTL, SYS-HPB, BBIF1, MSIOF1/2,
SCIFA,SCIFB, IIC1, IrDA, USBH, USBDMAC, SDHI0/1/2, TPU,
DREQPAK (Sys), MMCIF, RSPI, SIM, USBF
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2012-07-05 01:26:31 -07:00
} ;
2012-08-07 01:13:37 +02:00
void __init r8a7740_init_pm_domains ( void )
{
rmobile_init_domains ( r8a7740_pm_domains , ARRAY_SIZE ( r8a7740_pm_domains ) ) ;
pm_genpd_add_subdomain_names ( " A4S " , " A3SP " ) ;
}
2012-07-05 01:26:53 -07:00
ARM: shmobile: r8a7740: add A4S pm domain support
This patch adds basic A4S pm domain support.
Now, below devices can be controled by PM
Common-SHwy, Common-HPB, BSC, MFI, MMFROM, HS-SHwy,
SYS-HPB, INTCA, DBSC, DDRPHY (Logic),
ATAPI, GbEther, AXI-bus
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2012-07-05 01:25:58 -07:00
# endif /* CONFIG_PM */
2012-12-05 12:13:07 +00:00
# ifdef CONFIG_SUSPEND
static int r8a7740_enter_suspend ( suspend_state_t suspend_state )
{
cpu_do_idle ( ) ;
return 0 ;
}
static void r8a7740_suspend_init ( void )
{
shmobile_suspend_ops . enter = r8a7740_enter_suspend ;
}
# else
static void r8a7740_suspend_init ( void ) { }
# endif
void __init r8a7740_pm_init ( void )
{
r8a7740_suspend_init ( ) ;
}