From: Stefan Agner <stefan@agner.ch> To: shawnguo@kernel.org, mturquette@baylibre.com, sboyd@codeaurora.org Cc: kernel@pengutronix.de, sergeimir@emcraft.com, tglx@linutronix.de, jason@lakedaemon.net, marc.zyngier@arm.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Stefan Agner <stefan@agner.ch> Subject: [PATCH 07/18] ARM: imx: clk-vf610: leave DDR clock on Date: Wed, 9 Mar 2016 18:16:48 -0800 [thread overview] Message-ID: <1457576219-7971-8-git-send-email-stefan@agner.ch> (raw) In-Reply-To: <1457576219-7971-1-git-send-email-stefan@agner.ch> To use STOP mode without putting DDR3 into self-refresh mode, we need to keep the DDR clock enabled. Use the new gate configuration with a value of 2 to make sure that the clock is enabled in RUN, WAIT and STOP mode. Signed-off-by: Stefan Agner <stefan@agner.ch> --- drivers/clk/imx/clk-vf610.c | 3 +++ include/dt-bindings/clock/vf610-clock.h | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/clk/imx/clk-vf610.c b/drivers/clk/imx/clk-vf610.c index 0a94d96..f0ff458 100644 --- a/drivers/clk/imx/clk-vf610.c +++ b/drivers/clk/imx/clk-vf610.c @@ -119,6 +119,7 @@ static unsigned int const clks_init_on[] __initconst = { VF610_CLK_SYS_BUS, VF610_CLK_DDR_SEL, VF610_CLK_DAP, + VF610_CLK_DDRMC, }; static struct clk * __init vf610_get_fixed_clock( @@ -233,6 +234,8 @@ static void __init vf610_clocks_init(struct device_node *ccm_node) clk[VF610_CLK_PLL4_MAIN_DIV] = clk_register_divider_table(NULL, "pll4_audio_div", "pll4_audio", 0, CCM_CACRR, 6, 3, 0, pll4_audio_div_table, &imx_ccm_lock); clk[VF610_CLK_PLL6_MAIN_DIV] = imx_clk_divider("pll6_video_div", "pll6_video", CCM_CACRR, 21, 1); + clk[VF610_CLK_DDRMC] = imx_clk_gate2_cgr("ddrmc", "ddr_sel", CCM_CCGR6, CCM_CCGRx_CGn(14), 0x2); + clk[VF610_CLK_USBPHY0] = imx_clk_gate("usbphy0", "pll3_usb_otg", PLL3_CTRL, 6); clk[VF610_CLK_USBPHY1] = imx_clk_gate("usbphy1", "pll7_usb_host", PLL7_CTRL, 6); diff --git a/include/dt-bindings/clock/vf610-clock.h b/include/dt-bindings/clock/vf610-clock.h index 56c16aa..cf2c00a 100644 --- a/include/dt-bindings/clock/vf610-clock.h +++ b/include/dt-bindings/clock/vf610-clock.h @@ -195,6 +195,7 @@ #define VF610_CLK_SNVS 182 #define VF610_CLK_DAP 183 #define VF610_CLK_OCOTP 184 -#define VF610_CLK_END 185 +#define VF610_CLK_DDRMC 185 +#define VF610_CLK_END 186 #endif /* __DT_BINDINGS_CLOCK_VF610_H */ -- 2.7.2
WARNING: multiple messages have this Message-ID (diff)
From: stefan@agner.ch (Stefan Agner) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 07/18] ARM: imx: clk-vf610: leave DDR clock on Date: Wed, 9 Mar 2016 18:16:48 -0800 [thread overview] Message-ID: <1457576219-7971-8-git-send-email-stefan@agner.ch> (raw) In-Reply-To: <1457576219-7971-1-git-send-email-stefan@agner.ch> To use STOP mode without putting DDR3 into self-refresh mode, we need to keep the DDR clock enabled. Use the new gate configuration with a value of 2 to make sure that the clock is enabled in RUN, WAIT and STOP mode. Signed-off-by: Stefan Agner <stefan@agner.ch> --- drivers/clk/imx/clk-vf610.c | 3 +++ include/dt-bindings/clock/vf610-clock.h | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/clk/imx/clk-vf610.c b/drivers/clk/imx/clk-vf610.c index 0a94d96..f0ff458 100644 --- a/drivers/clk/imx/clk-vf610.c +++ b/drivers/clk/imx/clk-vf610.c @@ -119,6 +119,7 @@ static unsigned int const clks_init_on[] __initconst = { VF610_CLK_SYS_BUS, VF610_CLK_DDR_SEL, VF610_CLK_DAP, + VF610_CLK_DDRMC, }; static struct clk * __init vf610_get_fixed_clock( @@ -233,6 +234,8 @@ static void __init vf610_clocks_init(struct device_node *ccm_node) clk[VF610_CLK_PLL4_MAIN_DIV] = clk_register_divider_table(NULL, "pll4_audio_div", "pll4_audio", 0, CCM_CACRR, 6, 3, 0, pll4_audio_div_table, &imx_ccm_lock); clk[VF610_CLK_PLL6_MAIN_DIV] = imx_clk_divider("pll6_video_div", "pll6_video", CCM_CACRR, 21, 1); + clk[VF610_CLK_DDRMC] = imx_clk_gate2_cgr("ddrmc", "ddr_sel", CCM_CCGR6, CCM_CCGRx_CGn(14), 0x2); + clk[VF610_CLK_USBPHY0] = imx_clk_gate("usbphy0", "pll3_usb_otg", PLL3_CTRL, 6); clk[VF610_CLK_USBPHY1] = imx_clk_gate("usbphy1", "pll7_usb_host", PLL7_CTRL, 6); diff --git a/include/dt-bindings/clock/vf610-clock.h b/include/dt-bindings/clock/vf610-clock.h index 56c16aa..cf2c00a 100644 --- a/include/dt-bindings/clock/vf610-clock.h +++ b/include/dt-bindings/clock/vf610-clock.h @@ -195,6 +195,7 @@ #define VF610_CLK_SNVS 182 #define VF610_CLK_DAP 183 #define VF610_CLK_OCOTP 184 -#define VF610_CLK_END 185 +#define VF610_CLK_DDRMC 185 +#define VF610_CLK_END 186 #endif /* __DT_BINDINGS_CLOCK_VF610_H */ -- 2.7.2
next prev parent reply other threads:[~2016-03-10 2:16 UTC|newest] Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-03-10 2:16 [PATCH 00/18] ARM: vf610: Suspend/resume with self-refresh mode Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` [PATCH 01/18] irqchip: vf610-gpc: add Vybrid GPC IRQ controller Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-11 3:41 ` Marc Zyngier 2016-03-11 3:41 ` Marc Zyngier 2016-03-11 3:41 ` Marc Zyngier 2016-03-11 18:11 ` Stefan Agner 2016-03-11 18:11 ` Stefan Agner 2016-03-11 18:11 ` Stefan Agner 2016-03-12 0:21 ` Marc Zyngier 2016-03-12 0:21 ` Marc Zyngier 2016-03-31 8:07 ` Shawn Guo 2016-03-31 8:07 ` Shawn Guo 2016-03-10 2:16 ` [PATCH 02/18] ARM: dts: vf610: add GPC as new interrupt parent Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-31 8:21 ` Shawn Guo 2016-03-31 8:21 ` Shawn Guo 2016-03-31 17:53 ` Stefan Agner 2016-03-31 17:53 ` Stefan Agner 2016-03-10 2:16 ` [PATCH 03/18] ARM: dts: vf610-colibri: GPIO wakeup key Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-31 8:19 ` Shawn Guo 2016-03-31 8:19 ` Shawn Guo 2016-03-31 17:55 ` Stefan Agner 2016-03-31 17:55 ` Stefan Agner 2016-03-31 17:55 ` Stefan Agner 2016-03-10 2:16 ` [PATCH 04/18] ARM: dts: vf610: add on-chip SRAM Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-31 8:33 ` Shawn Guo 2016-03-31 8:33 ` Shawn Guo 2016-03-31 17:57 ` Stefan Agner 2016-03-31 17:57 ` Stefan Agner 2016-03-10 2:16 ` [PATCH 05/18] ARM: dts: vf610: add modules required for PM Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-31 8:34 ` Shawn Guo 2016-03-31 8:34 ` Shawn Guo 2016-03-31 8:34 ` Shawn Guo 2016-03-10 2:16 ` [PATCH 06/18] ARM: imx: clk-gate2: allow custom gate configuration Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-31 11:37 ` Shawn Guo 2016-03-31 11:37 ` Shawn Guo 2016-03-31 17:59 ` Stefan Agner 2016-03-31 17:59 ` Stefan Agner 2016-03-10 2:16 ` Stefan Agner [this message] 2016-03-10 2:16 ` [PATCH 07/18] ARM: imx: clk-vf610: leave DDR clock on Stefan Agner 2016-03-10 2:16 ` [PATCH 08/18] ARM: clk: add WKPU unit Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-16 1:13 ` Stephen Boyd 2016-03-16 1:13 ` Stephen Boyd 2016-03-10 2:16 ` [PATCH 09/18] ARM: vf610: clk: add suspend/resume support Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-31 11:39 ` Shawn Guo 2016-03-31 11:39 ` Shawn Guo 2016-03-10 2:16 ` [PATCH 10/18] tty: serial: fsl_lpuart: support suspend/resume Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-31 11:41 ` Shawn Guo 2016-03-31 11:41 ` Shawn Guo 2016-03-10 2:16 ` [PATCH 11/18] pinctrl: pinctrl-imx: implement suspend/resume Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` [PATCH 12/18] gpio: vf610: add system PM suspend/resume Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` [PATCH 13/18] ARM: dts: vf610: add WKPU connection to GPIO Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` [PATCH 14/18] gpio: vf610: add support for WKPU unit Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-17 20:00 ` Rob Herring 2016-03-17 20:00 ` Rob Herring 2016-03-17 22:12 ` Stefan Agner 2016-03-17 22:12 ` Stefan Agner 2016-03-10 2:16 ` [PATCH 15/18] ARM: vf610: PM: initial suspend/resume support Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 21:19 ` kbuild test robot 2016-03-10 21:19 ` kbuild test robot 2016-03-10 21:19 ` kbuild test robot 2016-04-01 2:25 ` Shawn Guo 2016-04-01 2:25 ` Shawn Guo 2016-04-01 6:40 ` Stefan Agner 2016-04-01 6:40 ` Stefan Agner 2016-03-10 2:16 ` [PATCH 16/18] ARM: vf610: PM: enable Suspend-to-RAM only if hardware fixes are in place Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` [PATCH 17/18] Documentation: dt: add Vybrid DDR memory controller bindings Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-10 2:16 ` Stefan Agner 2016-03-18 16:10 ` Rob Herring 2016-03-18 16:10 ` Rob Herring 2016-03-10 2:16 ` [PATCH 18/18] ARM: vf610: PM: enable SNVS access Stefan Agner 2016-03-10 2:16 ` Stefan Agner
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1457576219-7971-8-git-send-email-stefan@agner.ch \ --to=stefan@agner.ch \ --cc=devicetree@vger.kernel.org \ --cc=galak@codeaurora.org \ --cc=ijc+devicetree@hellion.org.uk \ --cc=jason@lakedaemon.net \ --cc=kernel@pengutronix.de \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-clk@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=mark.rutland@arm.com \ --cc=mturquette@baylibre.com \ --cc=pawel.moll@arm.com \ --cc=robh+dt@kernel.org \ --cc=sboyd@codeaurora.org \ --cc=sergeimir@emcraft.com \ --cc=shawnguo@kernel.org \ --cc=tglx@linutronix.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.