From: Alim Akhtar <alim.akhtar@samsung.com>
To: Krzysztof Kozlowski <k.kozlowski@samsung.com>,
linux-samsung-soc@vger.kernel.org
Cc: s.nawrocki@samsung.com, tomasz.figa@gmail.com, kgene@kernel.org,
mturquette@baylibre.com, amit.daniel@samsung.com,
gautam.vivek@samsung.com, sboyd@codeaurora.org,
linux-clk@vger.kernel.org
Subject: Re: [PATCH 01/11] clk: samsung: exynos7: Change the CMU_TOPC block clock name
Date: Mon, 07 Sep 2015 12:56:59 +0530 [thread overview]
Message-ID: <55ED3C43.4000408@samsung.com> (raw)
In-Reply-To: <55ED21B7.6080608@samsung.com>
Hi Krzysztof,
On 09/07/2015 11:03 AM, Krzysztof Kozlowski wrote:
> On 04.09.2015 20:37, Alim Akhtar wrote:
>> Corrects the CMU_TOPC block clock name as per user manual.
>> This also adds few of the missing gate clocks of topc block.
>> This does not change any functionalies.
>
> s/functionalies/functionalities/
>
> Yes, it does change. After adding new gates without users, kernel will
> disable them. Previously these gates remained in default reset state
> (probably "pass") or in state set by bootloader (also "pass").
>
My bad, was not enough clear of that, what I mean is these changes does
not affect the working of the related IPs, yes it does change the status
of gate clocks.
Will update the commit log.
> Please update the changelog and of course test the patchset for any
> issues in different components depending on these clocks. Depending
> directly or indirectly.
>
> Split the patch into:
> 1. clean up/rename,
> 2. addition of new mux/gate clock.
>
This patch adds few of the gate clocks, the reason I added it here
because subsequent patches in this series can use it.
Or may I should move these new addition to the patch 02/11, as 02/11 is
going to use them.
Do you think that make sense to you?
> Currently it is more difficult to review the patch.
>
Thanks for your time, do you have any comments of the other patches in
this series?
> Best regards,
> Krzysztof
>
>
>>
>> Signed-off-by: Alim Akhtar <alim.akhtar@samsung.com>
>> ---
>> drivers/clk/samsung/clk-exynos7.c | 90 +++++++++++++++++++------------
>> include/dt-bindings/clock/exynos7-clk.h | 11 +++-
>> 2 files changed, 67 insertions(+), 34 deletions(-)
>>
>> diff --git a/drivers/clk/samsung/clk-exynos7.c b/drivers/clk/samsung/clk-exynos7.c
>> index 380608b..2394bde 100644
>> --- a/drivers/clk/samsung/clk-exynos7.c
>> +++ b/drivers/clk/samsung/clk-exynos7.c
>> @@ -35,38 +35,39 @@
>> #define DIV_TOPC1 0x0604
>> #define DIV_TOPC3 0x060C
>> #define ENABLE_ACLK_TOPC1 0x0804
>> +#define ENABLE_SCLK_TOPC1 0x0A04
>>
>> static struct samsung_fixed_factor_clock topc_fixed_factor_clks[] __initdata = {
>> - FFACTOR(0, "ffac_topc_bus0_pll_div2", "mout_bus0_pll_ctrl", 1, 2, 0),
>> + FFACTOR(0, "ffac_topc_bus0_pll_div2", "mout_topc_bus0_pll", 1, 2, 0),
>> FFACTOR(0, "ffac_topc_bus0_pll_div4",
>> "ffac_topc_bus0_pll_div2", 1, 2, 0),
>> - FFACTOR(0, "ffac_topc_bus1_pll_div2", "mout_bus1_pll_ctrl", 1, 2, 0),
>> - FFACTOR(0, "ffac_topc_cc_pll_div2", "mout_cc_pll_ctrl", 1, 2, 0),
>> - FFACTOR(0, "ffac_topc_mfc_pll_div2", "mout_mfc_pll_ctrl", 1, 2, 0),
>> + FFACTOR(0, "ffac_topc_bus1_pll_div2", "mout_topc_bus1_pll", 1, 2, 0),
>> + FFACTOR(0, "ffac_topc_cc_pll_div2", "mout_topc_cc_pll", 1, 2, 0),
>> + FFACTOR(0, "ffac_topc_mfc_pll_div2", "mout_topc_mfc_pll", 1, 2, 0),
>> };
>>
>> /* List of parent clocks for Muxes in CMU_TOPC */
>> -PNAME(mout_aud_pll_ctrl_p) = { "fin_pll", "fout_aud_pll" };
>> -PNAME(mout_bus0_pll_ctrl_p) = { "fin_pll", "fout_bus0_pll" };
>> -PNAME(mout_bus1_pll_ctrl_p) = { "fin_pll", "fout_bus1_pll" };
>> -PNAME(mout_cc_pll_ctrl_p) = { "fin_pll", "fout_cc_pll" };
>> -PNAME(mout_mfc_pll_ctrl_p) = { "fin_pll", "fout_mfc_pll" };
>> +PNAME(mout_topc_aud_pll_ctrl_p) = { "fin_pll", "fout_aud_pll" };
>> +PNAME(mout_topc_bus0_pll_ctrl_p) = { "fin_pll", "fout_bus0_pll" };
>> +PNAME(mout_topc_bus1_pll_ctrl_p) = { "fin_pll", "fout_bus1_pll" };
>> +PNAME(mout_topc_cc_pll_ctrl_p) = { "fin_pll", "fout_cc_pll" };
>> +PNAME(mout_topc_mfc_pll_ctrl_p) = { "fin_pll", "fout_mfc_pll" };
>>
>> -PNAME(mout_topc_group2) = { "mout_sclk_bus0_pll_cmuc",
>> - "mout_sclk_bus1_pll_cmuc", "mout_sclk_cc_pll_cmuc",
>> - "mout_sclk_mfc_pll_cmuc" };
>> +PNAME(mout_topc_group2) = { "mout_topc_bus0_pll_half",
>> + "mout_topc_bus1_pll_half", "mout_topc_cc_pll_half",
>> + "mout_topc_mfc_pll_half" };
>>
>> -PNAME(mout_sclk_bus0_pll_cmuc_p) = { "mout_bus0_pll_ctrl",
>> +PNAME(mout_topc_bus0_pll_half_p) = { "mout_topc_bus0_pll",
>> "ffac_topc_bus0_pll_div2", "ffac_topc_bus0_pll_div4"};
>> -PNAME(mout_sclk_bus1_pll_cmuc_p) = { "mout_bus1_pll_ctrl",
>> +PNAME(mout_topc_bus1_pll_half_p) = { "mout_topc_bus1_pll",
>> "ffac_topc_bus1_pll_div2"};
>> -PNAME(mout_sclk_cc_pll_cmuc_p) = { "mout_cc_pll_ctrl",
>> +PNAME(mout_topc_cc_pll_half_p) = { "mout_topc_cc_pll",
>> "ffac_topc_cc_pll_div2"};
>> -PNAME(mout_sclk_mfc_pll_cmuc_p) = { "mout_mfc_pll_ctrl",
>> +PNAME(mout_topc_mfc_pll_half_p) = { "mout_topc_mfc_pll",
>> "ffac_topc_mfc_pll_div2"};
>>
>>
>> -PNAME(mout_sclk_bus0_pll_out_p) = {"mout_bus0_pll_ctrl",
>> +PNAME(mout_topc_bus0_pll_out_p) = {"mout_topc_bus0_pll",
>> "ffac_topc_bus0_pll_div2"};
>>
>> static unsigned long topc_clk_regs[] __initdata = {
>> @@ -90,22 +91,26 @@ static unsigned long topc_clk_regs[] __initdata = {
>> };
>>
>> static struct samsung_mux_clock topc_mux_clks[] __initdata = {
>> - MUX(0, "mout_bus0_pll_ctrl", mout_bus0_pll_ctrl_p, MUX_SEL_TOPC0, 0, 1),
>> - MUX(0, "mout_bus1_pll_ctrl", mout_bus1_pll_ctrl_p, MUX_SEL_TOPC0, 4, 1),
>> - MUX(0, "mout_cc_pll_ctrl", mout_cc_pll_ctrl_p, MUX_SEL_TOPC0, 8, 1),
>> - MUX(0, "mout_mfc_pll_ctrl", mout_mfc_pll_ctrl_p, MUX_SEL_TOPC0, 12, 1),
>> -
>> - MUX(0, "mout_sclk_bus0_pll_cmuc", mout_sclk_bus0_pll_cmuc_p,
>> + MUX(0, "mout_topc_bus0_pll", mout_topc_bus0_pll_ctrl_p,
>> + MUX_SEL_TOPC0, 0, 1),
>> + MUX(0, "mout_topc_bus1_pll", mout_topc_bus1_pll_ctrl_p,
>> + MUX_SEL_TOPC0, 4, 1),
>> + MUX(0, "mout_topc_cc_pll", mout_topc_cc_pll_ctrl_p,
>> + MUX_SEL_TOPC0, 8, 1),
>> + MUX(0, "mout_topc_mfc_pll", mout_topc_mfc_pll_ctrl_p,
>> + MUX_SEL_TOPC0, 12, 1),
>> + MUX(0, "mout_topc_bus0_pll_half", mout_topc_bus0_pll_half_p,
>> MUX_SEL_TOPC0, 16, 2),
>> - MUX(0, "mout_sclk_bus1_pll_cmuc", mout_sclk_bus1_pll_cmuc_p,
>> + MUX(0, "mout_topc_bus1_pll_half", mout_topc_bus1_pll_half_p,
>> MUX_SEL_TOPC0, 20, 1),
>> - MUX(0, "mout_sclk_cc_pll_cmuc", mout_sclk_cc_pll_cmuc_p,
>> + MUX(0, "mout_topc_cc_pll_half", mout_topc_cc_pll_half_p,
>> MUX_SEL_TOPC0, 24, 1),
>> - MUX(0, "mout_sclk_mfc_pll_cmuc", mout_sclk_mfc_pll_cmuc_p,
>> + MUX(0, "mout_topc_mfc_pll_half", mout_topc_mfc_pll_half_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(0, "mout_topc_aud_pll", mout_topc_aud_pll_ctrl_p,
>> + MUX_SEL_TOPC1, 0, 1),
>> + MUX(0, "mout_topc_bus0_pll_out", mout_topc_bus0_pll_out_p,
>> MUX_SEL_TOPC1, 16, 1),
>>
>> MUX(0, "mout_aclk_ccore_133", mout_topc_group2, MUX_SEL_TOPC2, 4, 2),
>> @@ -123,15 +128,15 @@ static struct samsung_div_clock topc_div_clks[] __initdata = {
>> DIV(DOUT_ACLK_PERIS, "dout_aclk_peris_66", "mout_aclk_peris_66",
>> DIV_TOPC1, 24, 4),
>>
>> - DIV(DOUT_SCLK_BUS0_PLL, "dout_sclk_bus0_pll", "mout_sclk_bus0_pll_out",
>> + DIV(DOUT_SCLK_BUS0_PLL, "dout_sclk_bus0_pll", "mout_topc_bus0_pll_out",
>> DIV_TOPC3, 0, 4),
>> - DIV(DOUT_SCLK_BUS1_PLL, "dout_sclk_bus1_pll", "mout_bus1_pll_ctrl",
>> + DIV(DOUT_SCLK_BUS1_PLL, "dout_sclk_bus1_pll", "mout_topc_bus1_pll",
>> DIV_TOPC3, 8, 4),
>> - DIV(DOUT_SCLK_CC_PLL, "dout_sclk_cc_pll", "mout_cc_pll_ctrl",
>> + DIV(DOUT_SCLK_CC_PLL, "dout_sclk_cc_pll", "mout_topc_cc_pll",
>> DIV_TOPC3, 12, 4),
>> - DIV(DOUT_SCLK_MFC_PLL, "dout_sclk_mfc_pll", "mout_mfc_pll_ctrl",
>> + DIV(DOUT_SCLK_MFC_PLL, "dout_sclk_mfc_pll", "mout_topc_mfc_pll",
>> DIV_TOPC3, 16, 4),
>> - DIV(DOUT_SCLK_AUD_PLL, "dout_sclk_aud_pll", "mout_aud_pll_ctrl",
>> + DIV(DOUT_SCLK_AUD_PLL, "dout_sclk_aud_pll", "mout_topc_aud_pll",
>> DIV_TOPC3, 28, 4),
>> };
>>
>> @@ -143,6 +148,25 @@ static struct samsung_pll_rate_table pll1460x_24mhz_tbl[] __initdata = {
>> static struct samsung_gate_clock topc_gate_clks[] __initdata = {
>> GATE(ACLK_MSCL_532, "aclk_mscl_532", "dout_aclk_mscl_532",
>> ENABLE_ACLK_TOPC1, 20, 0, 0),
>> +
>> + GATE(SCLK_AUD_PLL, "sclk_aud_pll", "dout_sclk_aud_pll",
>> + ENABLE_SCLK_TOPC1, 20, 0, 0),
>> + GATE(SCLK_MFC_PLL_B, "sclk_mfc_pll_b", "dout_sclk_mfc_pll",
>> + ENABLE_SCLK_TOPC1, 17, 0, 0),
>> + GATE(SCLK_MFC_PLL_A, "sclk_mfc_pll_a", "dout_sclk_mfc_pll",
>> + ENABLE_SCLK_TOPC1, 16, 0, 0),
>> + GATE(SCLK_BUS1_PLL_B, "sclk_bus1_pll_b", "dout_sclk_bus1_pll",
>> + ENABLE_SCLK_TOPC1, 13, 0, 0),
>> + GATE(SCLK_BUS1_PLL_A, "sclk_bus1_pll_a", "dout_sclk_bus1_pll",
>> + ENABLE_SCLK_TOPC1, 12, 0, 0),
>> + GATE(SCLK_BUS0_PLL_B, "sclk_bus0_pll_b", "dout_sclk_bus0_pll",
>> + ENABLE_SCLK_TOPC1, 5, 0, 0),
>> + GATE(SCLK_BUS0_PLL_A, "sclk_bus0_pll_a", "dout_sclk_bus0_pll",
>> + ENABLE_SCLK_TOPC1, 4, 0, 0),
>> + GATE(SCLK_CC_PLL_B, "sclk_cc_pll_b", "dout_sclk_cc_pll",
>> + ENABLE_SCLK_TOPC1, 1, 0, 0),
>> + GATE(SCLK_CC_PLL_A, "sclk_cc_pll_a", "dout_sclk_cc_pll",
>> + ENABLE_SCLK_TOPC1, 0, 0, 0),
>> };
>>
>> static struct samsung_pll_clock topc_pll_clks[] __initdata = {
>> diff --git a/include/dt-bindings/clock/exynos7-clk.h b/include/dt-bindings/clock/exynos7-clk.h
>> index e33c75a..b63eba6 100644
>> --- a/include/dt-bindings/clock/exynos7-clk.h
>> +++ b/include/dt-bindings/clock/exynos7-clk.h
>> @@ -21,7 +21,16 @@
>> #define ACLK_MSCL_532 8
>> #define DOUT_SCLK_AUD_PLL 9
>> #define FOUT_AUD_PLL 10
>> -#define TOPC_NR_CLK 11
>> +#define SCLK_AUD_PLL 11
>> +#define SCLK_MFC_PLL_B 12
>> +#define SCLK_MFC_PLL_A 13
>> +#define SCLK_BUS1_PLL_B 14
>> +#define SCLK_BUS1_PLL_A 15
>> +#define SCLK_BUS0_PLL_B 16
>> +#define SCLK_BUS0_PLL_A 17
>> +#define SCLK_CC_PLL_B 18
>> +#define SCLK_CC_PLL_A 19
>> +#define TOPC_NR_CLK 20
>>
>> /* TOP0 */
>> #define DOUT_ACLK_PERIC1 1
>>
>
>
next prev parent reply other threads:[~2015-09-07 7:26 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-04 11:37 [PATCH 00/11] clk: samsung: exynos7: Cleanup of clock file Alim Akhtar
2015-09-04 11:37 ` [PATCH 01/11] clk: samsung: exynos7: Change the CMU_TOPC block clock name Alim Akhtar
2015-09-07 5:33 ` Krzysztof Kozlowski
2015-09-07 7:26 ` Alim Akhtar [this message]
2015-09-07 7:39 ` Krzysztof Kozlowski
2015-09-04 11:37 ` [PATCH 02/11] clk: samsung: exynos7: Corrects CMU_TOP0 clocks names Alim Akhtar
2015-09-08 7:12 ` Krzysztof Kozlowski
2015-09-04 11:37 ` [PATCH 03/11] clk: samsung: exynos7: Corrects CMU_TOP1 " Alim Akhtar
2015-09-04 11:37 ` [PATCH 04/11] clk: samsung: exynos7: Corrects CMU_CCORE " Alim Akhtar
2015-09-08 7:30 ` Krzysztof Kozlowski
2015-09-08 13:18 ` Alim Akhtar
2015-09-04 11:37 ` [PATCH 05/11] clk: samsung: exynos7: Corrects CMU_PERIC0 " Alim Akhtar
2015-09-10 4:01 ` Krzysztof Kozlowski
2015-09-04 11:37 ` [PATCH 06/11] clk: samsung: exynos7: Corrects CMU_PERIC1 " Alim Akhtar
2015-09-10 4:01 ` Krzysztof Kozlowski
2015-09-04 11:37 ` [PATCH 07/11] clk: samsung: exynos7: Corrects CMU_PERIS " Alim Akhtar
2015-09-10 4:02 ` Krzysztof Kozlowski
2015-09-04 11:37 ` [PATCH 08/11] clk: samsung: exynos7: Corrects CMU_FSYS0 " Alim Akhtar
2015-09-10 4:04 ` Krzysztof Kozlowski
2015-09-04 11:37 ` [PATCH 09/11] clk: samsung: exynos7: Corrects CMU_FSYS1 " Alim Akhtar
2015-09-10 4:05 ` Krzysztof Kozlowski
2015-09-04 11:37 ` [PATCH 10/11] clk: samsung: exynos7: Add missing fixed_clks to cmu_info Alim Akhtar
2015-09-10 4:05 ` Krzysztof Kozlowski
2015-09-04 11:37 ` [PATCH 11/11] clk: samsung: exynos7: Add required clock tree for UFS Alim Akhtar
2015-09-10 4:08 ` Krzysztof Kozlowski
2015-09-10 8:53 ` Alim Akhtar
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=55ED3C43.4000408@samsung.com \
--to=alim.akhtar@samsung.com \
--cc=amit.daniel@samsung.com \
--cc=gautam.vivek@samsung.com \
--cc=k.kozlowski@samsung.com \
--cc=kgene@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=s.nawrocki@samsung.com \
--cc=sboyd@codeaurora.org \
--cc=tomasz.figa@gmail.com \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).