* [PATCH v2 0/4] Improvements on exynos7 clock
@ 2015-08-26 3:30 Alim Akhtar
2015-08-26 3:30 ` [PATCH v2 1/4] clk: samsung: exynos7: Fix CMU TOPC block clock Alim Akhtar
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Alim Akhtar @ 2015-08-26 3:30 UTC (permalink / raw)
To: linux-samsung-soc
Cc: s.nawrocki, tomasz.figa, kgene, k.kozlowski, mturquette,
amit.daniel
This patch series are minor improvement over the current
exynos7 clock file. This fix some bugs and update the clock
bits as per user manual.
Changes from v1:
* Fix review comments by Krzysztof [1].
* Added Padmavathi's Singed-of-by for patch# 3 and 4,
as I see [2] which are similar, looks like these never merged.
[1]-> https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg46082.html
[2]-> http://lists.infradead.org/pipermail/linux-arm-kernel/2014-December/311648.html
This serise is tested on exynos7-espresso board.
Alim Akhtar (4):
clk: samsung: exynos7: Fix CMU TOPC block clock
clk: samsung: exynos7: Fix CMU TOP1 block
clk: samsung: exynos7: Correct nr_clk_ids for fsys0
clk: samsung: exynos7: Correct nr_clk_ids for fsys1
drivers/clk/samsung/clk-exynos7.c | 46 +++++++++++++++++++++----------------
1 file changed, 26 insertions(+), 20 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/4] clk: samsung: exynos7: Fix CMU TOPC block clock
2015-08-26 3:30 [PATCH v2 0/4] Improvements on exynos7 clock Alim Akhtar
@ 2015-08-26 3:30 ` Alim Akhtar
2015-08-26 5:22 ` Krzysztof Kozlowski
2015-08-26 3:30 ` [PATCH v2 2/4] clk: samsung: exynos7: Fix CMU TOP1 block Alim Akhtar
` (3 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Alim Akhtar @ 2015-08-26 3:30 UTC (permalink / raw)
To: linux-samsung-soc
Cc: s.nawrocki, tomasz.figa, kgene, k.kozlowski, mturquette,
amit.daniel
Corrects the bit width of DIV_TOPC3 register.
These are worngly set to 3 which should be 4 bit wide as per UM.
This also adjusts the MUX clock order.
Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
---
drivers/clk/samsung/clk-exynos7.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/clk/samsung/clk-exynos7.c b/drivers/clk/samsung/clk-exynos7.c
index 03d36e8..eddfd1d 100644
--- a/drivers/clk/samsung/clk-exynos7.c
+++ b/drivers/clk/samsung/clk-exynos7.c
@@ -104,9 +104,9 @@ static struct samsung_mux_clock topc_mux_clks[] __initdata = {
MUX(0, "mout_sclk_mfc_pll_cmuc", mout_sclk_mfc_pll_cmuc_p,
MUX_SEL_TOPC0, 28, 1),
+ MUX(0, "mout_aud_pll_ctrl", mout_aud_pll_ctrl_p, MUX_SEL_TOPC1, 0, 1),
MUX(0, "mout_sclk_bus0_pll_out", mout_sclk_bus0_pll_out_p,
MUX_SEL_TOPC1, 16, 1),
- MUX(0, "mout_aud_pll_ctrl", mout_aud_pll_ctrl_p, MUX_SEL_TOPC1, 0, 1),
MUX(0, "mout_aclk_ccore_133", mout_topc_group2, MUX_SEL_TOPC2, 4, 2),
@@ -124,15 +124,15 @@ static struct samsung_div_clock topc_div_clks[] __initdata = {
DIV_TOPC1, 24, 4),
DIV(DOUT_SCLK_BUS0_PLL, "dout_sclk_bus0_pll", "mout_sclk_bus0_pll_out",
- DIV_TOPC3, 0, 3),
+ DIV_TOPC3, 0, 4),
DIV(DOUT_SCLK_BUS1_PLL, "dout_sclk_bus1_pll", "mout_bus1_pll_ctrl",
- DIV_TOPC3, 8, 3),
+ DIV_TOPC3, 8, 4),
DIV(DOUT_SCLK_CC_PLL, "dout_sclk_cc_pll", "mout_cc_pll_ctrl",
- DIV_TOPC3, 12, 3),
+ DIV_TOPC3, 12, 4),
DIV(DOUT_SCLK_MFC_PLL, "dout_sclk_mfc_pll", "mout_mfc_pll_ctrl",
- DIV_TOPC3, 16, 3),
+ DIV_TOPC3, 16, 4),
DIV(DOUT_SCLK_AUD_PLL, "dout_sclk_aud_pll", "mout_aud_pll_ctrl",
- DIV_TOPC3, 28, 3),
+ DIV_TOPC3, 28, 4),
};
static struct samsung_pll_rate_table pll1460x_24mhz_tbl[] __initdata = {
--
1.7.10.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/4] clk: samsung: exynos7: Fix CMU TOP1 block
2015-08-26 3:30 [PATCH v2 0/4] Improvements on exynos7 clock Alim Akhtar
2015-08-26 3:30 ` [PATCH v2 1/4] clk: samsung: exynos7: Fix CMU TOPC block clock Alim Akhtar
@ 2015-08-26 3:30 ` Alim Akhtar
2015-08-26 5:23 ` Krzysztof Kozlowski
2015-08-26 3:30 ` [PATCH v2 3/4] clk: samsung: exynos7: Correct nr_clk_ids for fsys0 Alim Akhtar
` (2 subsequent siblings)
4 siblings, 1 reply; 9+ messages in thread
From: Alim Akhtar @ 2015-08-26 3:30 UTC (permalink / raw)
To: linux-samsung-soc
Cc: s.nawrocki, tomasz.figa, kgene, k.kozlowski, mturquette,
amit.daniel
As per UM, sclk_mmc2 is bit 16 of SEL_TOP1_FSYS0. Also the DIV
and the GATE clocks are at bit 16 in their respective registers.
For mmc1 and mmc0 clock MUXs are in TOP1_FSYS11 instead of TOP1_FSYS1.
And their DIV and GATE clks are in xxx_TOP1_FSYS11 instead of TOP1_FSYS1.
This patch corrects it.
This also adds xxx_FSYS11 to be saved/restore during s2r cycles.
Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
---
drivers/clk/samsung/clk-exynos7.c | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/drivers/clk/samsung/clk-exynos7.c b/drivers/clk/samsung/clk-exynos7.c
index eddfd1d..3975465 100644
--- a/drivers/clk/samsung/clk-exynos7.c
+++ b/drivers/clk/samsung/clk-exynos7.c
@@ -367,12 +367,15 @@ CLK_OF_DECLARE(exynos7_clk_top0, "samsung,exynos7-clock-top0",
#define MUX_SEL_TOP13 0x020C
#define MUX_SEL_TOP1_FSYS0 0x0224
#define MUX_SEL_TOP1_FSYS1 0x0228
+#define MUX_SEL_TOP1_FSYS11 0x022C
#define DIV_TOP13 0x060C
#define DIV_TOP1_FSYS0 0x0624
#define DIV_TOP1_FSYS1 0x0628
+#define DIV_TOP1_FSYS11 0x062C
#define ENABLE_ACLK_TOP13 0x080C
#define ENABLE_SCLK_TOP1_FSYS0 0x0A24
#define ENABLE_SCLK_TOP1_FSYS1 0x0A28
+#define ENABLE_SCLK_TOP1_FSYS11 0x0A2C
/* List of parent clocks for Muxes in CMU_TOP1 */
PNAME(mout_top1_bus0_pll_p) = { "fin_pll", "dout_sclk_bus0_pll" };
@@ -399,12 +402,15 @@ static unsigned long top1_clk_regs[] __initdata = {
MUX_SEL_TOP13,
MUX_SEL_TOP1_FSYS0,
MUX_SEL_TOP1_FSYS1,
+ MUX_SEL_TOP1_FSYS11,
DIV_TOP13,
DIV_TOP1_FSYS0,
DIV_TOP1_FSYS1,
+ DIV_TOP1_FSYS11,
ENABLE_ACLK_TOP13,
ENABLE_SCLK_TOP1_FSYS0,
ENABLE_SCLK_TOP1_FSYS1,
+ ENABLE_SCLK_TOP1_FSYS11,
};
static struct samsung_mux_clock top1_mux_clks[] __initdata = {
@@ -427,12 +433,12 @@ static struct samsung_mux_clock top1_mux_clks[] __initdata = {
MUX(0, "mout_aclk_fsys1_200", mout_top1_group1, MUX_SEL_TOP13, 24, 2),
MUX(0, "mout_aclk_fsys0_200", mout_top1_group1, MUX_SEL_TOP13, 28, 2),
- MUX(0, "mout_sclk_mmc2", mout_top1_group1, MUX_SEL_TOP1_FSYS0, 24, 2),
+ MUX(0, "mout_sclk_mmc2", mout_top1_group1, MUX_SEL_TOP1_FSYS0, 16, 2),
MUX(0, "mout_sclk_usbdrd300", mout_top1_group1,
MUX_SEL_TOP1_FSYS0, 28, 2),
- MUX(0, "mout_sclk_mmc1", mout_top1_group1, MUX_SEL_TOP1_FSYS1, 24, 2),
- MUX(0, "mout_sclk_mmc0", mout_top1_group1, MUX_SEL_TOP1_FSYS1, 28, 2),
+ MUX(0, "mout_sclk_mmc1", mout_top1_group1, MUX_SEL_TOP1_FSYS11, 0, 2),
+ MUX(0, "mout_sclk_mmc0", mout_top1_group1, MUX_SEL_TOP1_FSYS11, 12, 2),
};
static struct samsung_div_clock top1_div_clks[] __initdata = {
@@ -442,26 +448,26 @@ static struct samsung_div_clock top1_div_clks[] __initdata = {
DIV_TOP13, 28, 4),
DIV(DOUT_SCLK_MMC2, "dout_sclk_mmc2", "mout_sclk_mmc2",
- DIV_TOP1_FSYS0, 24, 4),
+ DIV_TOP1_FSYS0, 16, 10),
DIV(0, "dout_sclk_usbdrd300", "mout_sclk_usbdrd300",
DIV_TOP1_FSYS0, 28, 4),
DIV(DOUT_SCLK_MMC1, "dout_sclk_mmc1", "mout_sclk_mmc1",
- DIV_TOP1_FSYS1, 24, 4),
+ DIV_TOP1_FSYS11, 0, 10),
DIV(DOUT_SCLK_MMC0, "dout_sclk_mmc0", "mout_sclk_mmc0",
- DIV_TOP1_FSYS1, 28, 4),
+ DIV_TOP1_FSYS11, 12, 10),
};
static struct samsung_gate_clock top1_gate_clks[] __initdata = {
GATE(CLK_SCLK_MMC2, "sclk_mmc2", "dout_sclk_mmc2",
- ENABLE_SCLK_TOP1_FSYS0, 24, CLK_SET_RATE_PARENT, 0),
+ ENABLE_SCLK_TOP1_FSYS0, 16, CLK_SET_RATE_PARENT, 0),
GATE(0, "sclk_usbdrd300", "dout_sclk_usbdrd300",
ENABLE_SCLK_TOP1_FSYS0, 28, 0, 0),
GATE(CLK_SCLK_MMC1, "sclk_mmc1", "dout_sclk_mmc1",
- ENABLE_SCLK_TOP1_FSYS1, 24, CLK_SET_RATE_PARENT, 0),
+ ENABLE_SCLK_TOP1_FSYS11, 0, CLK_SET_RATE_PARENT, 0),
GATE(CLK_SCLK_MMC0, "sclk_mmc0", "dout_sclk_mmc0",
- ENABLE_SCLK_TOP1_FSYS1, 28, CLK_SET_RATE_PARENT, 0),
+ ENABLE_SCLK_TOP1_FSYS11, 12, CLK_SET_RATE_PARENT, 0),
};
static struct samsung_fixed_factor_clock top1_fixed_factor_clks[] __initdata = {
--
1.7.10.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/4] clk: samsung: exynos7: Correct nr_clk_ids for fsys0
2015-08-26 3:30 [PATCH v2 0/4] Improvements on exynos7 clock Alim Akhtar
2015-08-26 3:30 ` [PATCH v2 1/4] clk: samsung: exynos7: Fix CMU TOPC block clock Alim Akhtar
2015-08-26 3:30 ` [PATCH v2 2/4] clk: samsung: exynos7: Fix CMU TOP1 block Alim Akhtar
@ 2015-08-26 3:30 ` Alim Akhtar
2015-08-26 3:30 ` [PATCH v2 4/4] clk: samsung: exynos7: Correct nr_clk_ids for fsys1 Alim Akhtar
2015-09-15 9:27 ` [PATCH v2 0/4] Improvements on exynos7 clock Sylwester Nawrocki
4 siblings, 0 replies; 9+ messages in thread
From: Alim Akhtar @ 2015-08-26 3:30 UTC (permalink / raw)
To: linux-samsung-soc
Cc: s.nawrocki, tomasz.figa, kgene, k.kozlowski, mturquette,
amit.daniel
This patch corrects the nr_clk_ids for fsys0 block
which is wrongly set to TOP1 clk numbers.
This also adjusts the gate clock order.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
drivers/clk/samsung/clk-exynos7.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/clk/samsung/clk-exynos7.c b/drivers/clk/samsung/clk-exynos7.c
index 3975465..9245a25 100644
--- a/drivers/clk/samsung/clk-exynos7.c
+++ b/drivers/clk/samsung/clk-exynos7.c
@@ -848,13 +848,13 @@ static struct samsung_mux_clock fsys0_mux_clks[] __initdata = {
};
static struct samsung_gate_clock fsys0_gate_clks[] __initdata = {
- GATE(ACLK_AXIUS_USBDRD30X_FSYS0X, "aclk_axius_usbdrd30x_fsys0x",
- "mout_aclk_fsys0_200_user",
- ENABLE_ACLK_FSYS00, 19, 0, 0),
GATE(ACLK_PDMA1, "aclk_pdma1", "mout_aclk_fsys0_200_user",
ENABLE_ACLK_FSYS00, 3, 0, 0),
GATE(ACLK_PDMA0, "aclk_pdma0", "mout_aclk_fsys0_200_user",
ENABLE_ACLK_FSYS00, 4, 0, 0),
+ GATE(ACLK_AXIUS_USBDRD30X_FSYS0X, "aclk_axius_usbdrd30x_fsys0x",
+ "mout_aclk_fsys0_200_user",
+ ENABLE_ACLK_FSYS00, 19, 0, 0),
GATE(ACLK_USBDRD300, "aclk_usbdrd300", "mout_aclk_fsys0_200_user",
ENABLE_ACLK_FSYS01, 29, 0, 0),
@@ -886,7 +886,7 @@ static struct samsung_cmu_info fsys0_cmu_info __initdata = {
.nr_mux_clks = ARRAY_SIZE(fsys0_mux_clks),
.gate_clks = fsys0_gate_clks,
.nr_gate_clks = ARRAY_SIZE(fsys0_gate_clks),
- .nr_clk_ids = TOP1_NR_CLK,
+ .nr_clk_ids = FSYS0_NR_CLK,
.clk_regs = fsys0_clk_regs,
.nr_clk_regs = ARRAY_SIZE(fsys0_clk_regs),
};
--
1.7.10.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 4/4] clk: samsung: exynos7: Correct nr_clk_ids for fsys1
2015-08-26 3:30 [PATCH v2 0/4] Improvements on exynos7 clock Alim Akhtar
` (2 preceding siblings ...)
2015-08-26 3:30 ` [PATCH v2 3/4] clk: samsung: exynos7: Correct nr_clk_ids for fsys0 Alim Akhtar
@ 2015-08-26 3:30 ` Alim Akhtar
2015-09-15 9:27 ` [PATCH v2 0/4] Improvements on exynos7 clock Sylwester Nawrocki
4 siblings, 0 replies; 9+ messages in thread
From: Alim Akhtar @ 2015-08-26 3:30 UTC (permalink / raw)
To: linux-samsung-soc
Cc: s.nawrocki, tomasz.figa, kgene, k.kozlowski, mturquette,
amit.daniel
nr_clk_ids for FSYS1 block is wrongly set as TOP1 block,
this patch corrects it.
Signed-off-by: Padmavathi Venna <padma.v@samsung.com>
Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
drivers/clk/samsung/clk-exynos7.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clk/samsung/clk-exynos7.c b/drivers/clk/samsung/clk-exynos7.c
index 9245a25..380608b 100644
--- a/drivers/clk/samsung/clk-exynos7.c
+++ b/drivers/clk/samsung/clk-exynos7.c
@@ -937,7 +937,7 @@ static struct samsung_cmu_info fsys1_cmu_info __initdata = {
.nr_mux_clks = ARRAY_SIZE(fsys1_mux_clks),
.gate_clks = fsys1_gate_clks,
.nr_gate_clks = ARRAY_SIZE(fsys1_gate_clks),
- .nr_clk_ids = TOP1_NR_CLK,
+ .nr_clk_ids = FSYS1_NR_CLK,
.clk_regs = fsys1_clk_regs,
.nr_clk_regs = ARRAY_SIZE(fsys1_clk_regs),
};
--
1.7.10.4
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 1/4] clk: samsung: exynos7: Fix CMU TOPC block clock
2015-08-26 3:30 ` [PATCH v2 1/4] clk: samsung: exynos7: Fix CMU TOPC block clock Alim Akhtar
@ 2015-08-26 5:22 ` Krzysztof Kozlowski
0 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2015-08-26 5:22 UTC (permalink / raw)
To: Alim Akhtar, linux-samsung-soc
Cc: s.nawrocki, tomasz.figa, kgene, mturquette, amit.daniel
On 26.08.2015 12:30, Alim Akhtar wrote:
> Corrects the bit width of DIV_TOPC3 register.
> These are worngly set to 3 which should be 4 bit wide as per UM.
> This also adjusts the MUX clock order.
>
> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
> ---
> drivers/clk/samsung/clk-exynos7.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 2/4] clk: samsung: exynos7: Fix CMU TOP1 block
2015-08-26 3:30 ` [PATCH v2 2/4] clk: samsung: exynos7: Fix CMU TOP1 block Alim Akhtar
@ 2015-08-26 5:23 ` Krzysztof Kozlowski
0 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2015-08-26 5:23 UTC (permalink / raw)
To: Alim Akhtar, linux-samsung-soc
Cc: s.nawrocki, tomasz.figa, kgene, mturquette, amit.daniel
On 26.08.2015 12:30, Alim Akhtar wrote:
> As per UM, sclk_mmc2 is bit 16 of SEL_TOP1_FSYS0. Also the DIV
> and the GATE clocks are at bit 16 in their respective registers.
> For mmc1 and mmc0 clock MUXs are in TOP1_FSYS11 instead of TOP1_FSYS1.
> And their DIV and GATE clks are in xxx_TOP1_FSYS11 instead of TOP1_FSYS1.
> This patch corrects it.
> This also adds xxx_FSYS11 to be saved/restore during s2r cycles.
>
> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
> ---
> drivers/clk/samsung/clk-exynos7.c | 24 +++++++++++++++---------
> 1 file changed, 15 insertions(+), 9 deletions(-)
>
Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/4] Improvements on exynos7 clock
2015-08-26 3:30 [PATCH v2 0/4] Improvements on exynos7 clock Alim Akhtar
` (3 preceding siblings ...)
2015-08-26 3:30 ` [PATCH v2 4/4] clk: samsung: exynos7: Correct nr_clk_ids for fsys1 Alim Akhtar
@ 2015-09-15 9:27 ` Sylwester Nawrocki
2015-09-15 9:32 ` Alim Akhtar
4 siblings, 1 reply; 9+ messages in thread
From: Sylwester Nawrocki @ 2015-09-15 9:27 UTC (permalink / raw)
To: Alim Akhtar
Cc: linux-samsung-soc, tomasz.figa, kgene, k.kozlowski, mturquette,
amit.daniel
On 26/08/15 05:30, Alim Akhtar wrote:
> This patch series are minor improvement over the current
> exynos7 clock file. This fix some bugs and update the clock
> bits as per user manual.
That one applied as well, thanks.
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/4] Improvements on exynos7 clock
2015-09-15 9:27 ` [PATCH v2 0/4] Improvements on exynos7 clock Sylwester Nawrocki
@ 2015-09-15 9:32 ` Alim Akhtar
0 siblings, 0 replies; 9+ messages in thread
From: Alim Akhtar @ 2015-09-15 9:32 UTC (permalink / raw)
To: Sylwester Nawrocki
Cc: linux-samsung-soc, tomasz.figa, kgene, k.kozlowski, mturquette,
amit.daniel
Hi Sylwester
On 09/15/2015 02:57 PM, Sylwester Nawrocki wrote:
> On 26/08/15 05:30, Alim Akhtar wrote:
>> This patch series are minor improvement over the current
>> exynos7 clock file. This fix some bugs and update the clock
>> bits as per user manual.
>
> That one applied as well, thanks.
>
Thanks!!
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-09-15 9:41 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-26 3:30 [PATCH v2 0/4] Improvements on exynos7 clock Alim Akhtar
2015-08-26 3:30 ` [PATCH v2 1/4] clk: samsung: exynos7: Fix CMU TOPC block clock Alim Akhtar
2015-08-26 5:22 ` Krzysztof Kozlowski
2015-08-26 3:30 ` [PATCH v2 2/4] clk: samsung: exynos7: Fix CMU TOP1 block Alim Akhtar
2015-08-26 5:23 ` Krzysztof Kozlowski
2015-08-26 3:30 ` [PATCH v2 3/4] clk: samsung: exynos7: Correct nr_clk_ids for fsys0 Alim Akhtar
2015-08-26 3:30 ` [PATCH v2 4/4] clk: samsung: exynos7: Correct nr_clk_ids for fsys1 Alim Akhtar
2015-09-15 9:27 ` [PATCH v2 0/4] Improvements on exynos7 clock Sylwester Nawrocki
2015-09-15 9:32 ` Alim Akhtar
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.