MLK-9708 arm: imx: add low power idle support for i.mx6sx
authorAnson Huang <b20788@freescale.com>
Mon, 20 Oct 2014 08:16:20 +0000 (16:16 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 19:48:04 +0000 (14:48 -0500)
commitf7090735b3308a912ccc7d20d83cd12a834e8116
tree002878b50b7a39d9cbe3446cd635738a7a42de58
parentb06e86aeb1f671ff336ccb404d55bc1b91e95108
MLK-9708 arm: imx: add low power idle support for i.mx6sx

Enable low power idle for i.MX6SX:

   WFI            -> first level idle;
   WAIT mode      -> second level idle;
   Low power idle -> third level idle, only when system is in low bus mode.

In low powe idle mode, below operations will be done:

   ARM power off;
   AHB freq lower to 3MHz;
   PERCLK freq lower to 6MHz;
   MMDC freq lower to 1MHz;

Anatop will be put into low power mode, and regular band-gap will
be off and low power band-gap will be enabled instead.

Also, in low power idle mode, 24MHz XTAL power will be off and 24MHz clk
source will be switched to RC-OSC to save power, this feature is only
enabled on i.MX6SX TO1.2.

This patch is cherry-picked from L3.14.y, it is the latest version, below
conflicts are fixed.

Signed-off-by: Anson Huang <b20788@freescale.com>
Conflicts:
arch/arm/mach-imx/Makefile
arch/arm/mach-imx/common.h
arch/arm/mach-imx/cpuidle-imx6sx.c
arch/arm/mach-imx/cpuidle.h
arch/arm/mach-imx/mach-imx6sx.c
arch/arm/mach-imx/pm-imx6.c
arch/arm/mach-imx/Makefile
arch/arm/mach-imx/common.h
arch/arm/mach-imx/cpuidle-imx6sx.c
arch/arm/mach-imx/imx6sx_low_power_idle.S [new file with mode: 0644]
arch/arm/mach-imx/mach-imx6sx.c
drivers/clk/imx/clk-imx6sx.c