diff mbox series

ARM: imx: enable bus auto clock gating function for i.mx6sll

Message ID 1529645568-3786-1-git-send-email-Anson.Huang@nxp.com
State New
Headers show
Series ARM: imx: enable bus auto clock gating function for i.mx6sll | expand

Commit Message

Anson Huang June 22, 2018, 5:32 a.m. UTC
i.MX6SLL has HW bus auto clock gating function, enable
it by default to save VDD_SOC_IN power, about 5% ~ 20%
saved depends on different use cases.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
 arch/arm/mach-imx/pm-imx6.c                 | 11 +++++++++--
 include/linux/mfd/syscon/imx6q-iomuxc-gpr.h |  3 +++
 2 files changed, 12 insertions(+), 2 deletions(-)

Comments

Shawn Guo July 1, 2018, 8:51 a.m. UTC | #1
On Fri, Jun 22, 2018 at 01:32:48PM +0800, Anson Huang wrote:
> i.MX6SLL has HW bus auto clock gating function, enable
> it by default to save VDD_SOC_IN power, about 5% ~ 20%
> saved depends on different use cases.
> 
> Signed-off-by: Anson Huang <Anson.Huang@nxp.com>

Applied, thanks.
Lee Jones July 3, 2018, 6:20 a.m. UTC | #2
On Sun, 01 Jul 2018, Shawn Guo wrote:

> On Fri, Jun 22, 2018 at 01:32:48PM +0800, Anson Huang wrote:
> > i.MX6SLL has HW bus auto clock gating function, enable
> > it by default to save VDD_SOC_IN power, about 5% ~ 20%
> > saved depends on different use cases.
> > 
> > Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
> 
> Applied, thanks.

Since this touches MFD, please apply my Ack to the patch.

  Acked-by: Lee Jones <lee.jones@linaro.org>
Shawn Guo July 3, 2018, 7:15 a.m. UTC | #3
On Tue, Jul 03, 2018 at 07:20:14AM +0100, Lee Jones wrote:
> On Sun, 01 Jul 2018, Shawn Guo wrote:
> 
> > On Fri, Jun 22, 2018 at 01:32:48PM +0800, Anson Huang wrote:
> > > i.MX6SLL has HW bus auto clock gating function, enable
> > > it by default to save VDD_SOC_IN power, about 5% ~ 20%
> > > saved depends on different use cases.
> > > 
> > > Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
> > 
> > Applied, thanks.
> 
> Since this touches MFD, please apply my Ack to the patch.
> 
>   Acked-by: Lee Jones <lee.jones@linaro.org>

Done.  Thanks for reminding, Lee.

> 
> -- 
> Lee Jones [李琼斯]

Nice Chinese name, BTW ;)

Shawn
diff mbox series

Patch

diff --git a/arch/arm/mach-imx/pm-imx6.c b/arch/arm/mach-imx/pm-imx6.c
index 791e1fd..b08e407 100644
--- a/arch/arm/mach-imx/pm-imx6.c
+++ b/arch/arm/mach-imx/pm-imx6.c
@@ -648,10 +648,17 @@  void __init imx6dl_pm_init(void)
 
 void __init imx6sl_pm_init(void)
 {
-	if (cpu_is_imx6sl())
+	struct regmap *gpr;
+
+	if (cpu_is_imx6sl()) {
 		imx6_pm_common_init(&imx6sl_pm_data);
-	else
+	} else {
 		imx6_pm_common_init(&imx6sll_pm_data);
+		gpr = syscon_regmap_lookup_by_compatible("fsl,imx6q-iomuxc-gpr");
+		if (!IS_ERR(gpr))
+			regmap_update_bits(gpr, IOMUXC_GPR5,
+				IMX6SLL_GPR5_AFCG_X_BYPASS_MASK, 0);
+	}
 }
 
 void __init imx6sx_pm_init(void)
diff --git a/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h b/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h
index e06f5f7..6c1ad16 100644
--- a/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h
+++ b/include/linux/mfd/syscon/imx6q-iomuxc-gpr.h
@@ -457,4 +457,7 @@ 
 #define MCLK_DIR(x) (x == 1 ? IMX6UL_GPR1_SAI1_MCLK_DIR : x == 2 ? \
 		     IMX6UL_GPR1_SAI2_MCLK_DIR : IMX6UL_GPR1_SAI3_MCLK_DIR)
 
+/* For imx6sll iomux gpr register field define */
+#define IMX6SLL_GPR5_AFCG_X_BYPASS_MASK		(0x1f << 11)
+
 #endif /* __LINUX_IMX6Q_IOMUXC_GPR_H */