Re: [PATCH] clk: samsung: exynos7: Add required clock tree for UFS

2015-08-31 Thread Alim Akhtar
Hello,

On Sat, Aug 29, 2015 at 2:23 PM, Krzysztof Kozlowski
 wrote:
> 2015-08-28 18:28 GMT+09:00 Alim Akhtar :
>> Adding required mux/div/gate clocks for UFS controller
>> present on Exynos7.
>>
>> Signed-off-by: Alim Akhtar 
>> ---
>> This patch has a dependency on [1]
>> [1]-> 
>> https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg46122.html
>>
>>  drivers/clk/samsung/clk-exynos7.c   |  117 
>> +++
>>  include/dt-bindings/clock/exynos7-clk.h |   34 +++--
>>  2 files changed, 146 insertions(+), 5 deletions(-)
>>
>> diff --git a/drivers/clk/samsung/clk-exynos7.c 
>> b/drivers/clk/samsung/clk-exynos7.c
>> index 380608b..069af8c 100644
>> --- a/drivers/clk/samsung/clk-exynos7.c
>> +++ b/drivers/clk/samsung/clk-exynos7.c
>> @@ -35,6 +35,7 @@
>>  #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),
>> @@ -143,6 +144,15 @@ 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_MFC_PLL_B, "dout_sclk_mfc_pll_b", "dout_sclk_mfc_pll",
>> +   ENABLE_SCLK_TOPC1, 17, 0, 0),
>> +   GATE(SCLK_MFC_PLL_A, "dout_sclk_mfc_pll_a", "dout_sclk_mfc_pll",
>> +   ENABLE_SCLK_TOPC1, 16, 0, 0),
>> +   GATE(SCLK_BUS1_PLL_B, "dout_sclk_bus1_pll_b", "dout_sclk_bus1_pll",
>> +   ENABLE_SCLK_TOPC1, 13, 0, 0),
>> +   GATE(SCLK_BUS1_PLL_B, "dout_sclk_bus1_pll_a", "dout_sclk_bus1_pll",
>> +   ENABLE_SCLK_TOPC1, 12, 0, 0),
>
> 1. s/SCLK_BUS1_PLL_B/SCLK_BUS1_PLL_A/?
> 2. Why have they name prefixed with "dout"? These are gates, not dividers.
>
well right, went again over the whole clock file and looks like there
are other GATE clocks will starts with _dout_ prefix,
let me send another sets of patches will clean/rename these clock to
match the user manual, so that it will be easy for review.
Thanks for pointing it out.
>>  };
>>
>>  static struct samsung_pll_clock topc_pll_clks[] __initdata = {
>> @@ -433,12 +443,21 @@ 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_phy_fsys0_26m", mout_top1_group1,
>> +   MUX_SEL_TOP1_FSYS0, 0, 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_phy_fsys1", mout_top1_group1,
>> +   MUX_SEL_TOP1_FSYS1, 0, 2),
>> +   MUX(0, "mout_sclk_ufsunipro20", mout_top1_group1,
>> +   MUX_SEL_TOP1_FSYS1, 16, 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),
>> +   MUX(0, "mout_sclk_phy_fsys1_26m", mout_top1_group1,
>> +   MUX_SEL_TOP1_FSYS11, 24, 2),
>>  };
>>
>>  static struct samsung_div_clock top1_div_clks[] __initdata = {
>> @@ -447,6 +466,13 @@ static struct samsung_div_clock top1_div_clks[] 
>> __initdata = {
>> DIV(DOUT_ACLK_FSYS0_200, "dout_aclk_fsys0_200", 
>> "mout_aclk_fsys0_200",
>> DIV_TOP13, 28, 4),
>>
>> +   DIV(DOUT_SCLK_PHY_FSYS1, "dout_sclk_phy_fsys1",
>> +   "mout_sclk_phy_fsys1", DIV_TOP1_FSYS1, 0, 6),
>> +
>> +   DIV(DOUT_SCLK_UFSUNIPRO20, "dout_sclk_ufsunipro20",
>> +   "mout_sclk_ufsunipro20",
>> +   DIV_TOP1_FSYS1, 16, 6),
>> +
>> DIV(DOUT_SCLK_MMC2, "dout_sclk_mmc2", "mout_sclk_mmc2",
>> DIV_TOP1_FSYS0, 16, 10),
>> DIV(0, "dout_sclk_usbdrd300", "mout_sclk_usbdrd300",
>> @@ -456,6 +482,9 @@ static struct samsung_div_clock top1_div_clks[] 
>> __initdata = {
>> DIV_TOP1_FSYS11, 0, 10),
>> DIV(DOUT_SCLK_MMC0, "dout_sclk_mmc0", "mout_sclk_mmc0",
>> DIV_TOP1_FSYS11, 12, 10),
>> +
>> +   DIV(DOUT_SCLK_PHY_FSYS1_26M, "dout_sclk_phy_fsys1_26m",
>> +   "mout_sclk_phy_fsys1_26m", DIV_TOP1_FSYS11, 24, 6),
>>  };
>>
>>  static struct samsung_gate_clock top1_gate_clks[] __initdata = {
>> @@ -464,10 +493,20 @@ static struct samsung_gate_clock top1_gate_clks[] 
>> __initdata = {
>> GATE(0, "sclk_usbdrd300", "dout_sclk_usbdrd300",
>> ENABLE_SCLK_TOP1_FSYS0, 28, 0, 0),
>>
>> +   GATE(CLK_SCLK_PHY_FSYS1, "sclk_phy_fsys1", "dout_sclk_phy_fsy

Re: [PATCH] clk: samsung: exynos7: Add required clock tree for UFS

2015-08-29 Thread Krzysztof Kozlowski
2015-08-28 18:28 GMT+09:00 Alim Akhtar :
> Adding required mux/div/gate clocks for UFS controller
> present on Exynos7.
>
> Signed-off-by: Alim Akhtar 
> ---
> This patch has a dependency on [1]
> [1]-> 
> https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg46122.html
>
>  drivers/clk/samsung/clk-exynos7.c   |  117 
> +++
>  include/dt-bindings/clock/exynos7-clk.h |   34 +++--
>  2 files changed, 146 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/clk/samsung/clk-exynos7.c 
> b/drivers/clk/samsung/clk-exynos7.c
> index 380608b..069af8c 100644
> --- a/drivers/clk/samsung/clk-exynos7.c
> +++ b/drivers/clk/samsung/clk-exynos7.c
> @@ -35,6 +35,7 @@
>  #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),
> @@ -143,6 +144,15 @@ 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_MFC_PLL_B, "dout_sclk_mfc_pll_b", "dout_sclk_mfc_pll",
> +   ENABLE_SCLK_TOPC1, 17, 0, 0),
> +   GATE(SCLK_MFC_PLL_A, "dout_sclk_mfc_pll_a", "dout_sclk_mfc_pll",
> +   ENABLE_SCLK_TOPC1, 16, 0, 0),
> +   GATE(SCLK_BUS1_PLL_B, "dout_sclk_bus1_pll_b", "dout_sclk_bus1_pll",
> +   ENABLE_SCLK_TOPC1, 13, 0, 0),
> +   GATE(SCLK_BUS1_PLL_B, "dout_sclk_bus1_pll_a", "dout_sclk_bus1_pll",
> +   ENABLE_SCLK_TOPC1, 12, 0, 0),

1. s/SCLK_BUS1_PLL_B/SCLK_BUS1_PLL_A/?
2. Why have they name prefixed with "dout"? These are gates, not dividers.

>  };
>
>  static struct samsung_pll_clock topc_pll_clks[] __initdata = {
> @@ -433,12 +443,21 @@ 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_phy_fsys0_26m", mout_top1_group1,
> +   MUX_SEL_TOP1_FSYS0, 0, 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_phy_fsys1", mout_top1_group1,
> +   MUX_SEL_TOP1_FSYS1, 0, 2),
> +   MUX(0, "mout_sclk_ufsunipro20", mout_top1_group1,
> +   MUX_SEL_TOP1_FSYS1, 16, 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),
> +   MUX(0, "mout_sclk_phy_fsys1_26m", mout_top1_group1,
> +   MUX_SEL_TOP1_FSYS11, 24, 2),
>  };
>
>  static struct samsung_div_clock top1_div_clks[] __initdata = {
> @@ -447,6 +466,13 @@ static struct samsung_div_clock top1_div_clks[] 
> __initdata = {
> DIV(DOUT_ACLK_FSYS0_200, "dout_aclk_fsys0_200", "mout_aclk_fsys0_200",
> DIV_TOP13, 28, 4),
>
> +   DIV(DOUT_SCLK_PHY_FSYS1, "dout_sclk_phy_fsys1",
> +   "mout_sclk_phy_fsys1", DIV_TOP1_FSYS1, 0, 6),
> +
> +   DIV(DOUT_SCLK_UFSUNIPRO20, "dout_sclk_ufsunipro20",
> +   "mout_sclk_ufsunipro20",
> +   DIV_TOP1_FSYS1, 16, 6),
> +
> DIV(DOUT_SCLK_MMC2, "dout_sclk_mmc2", "mout_sclk_mmc2",
> DIV_TOP1_FSYS0, 16, 10),
> DIV(0, "dout_sclk_usbdrd300", "mout_sclk_usbdrd300",
> @@ -456,6 +482,9 @@ static struct samsung_div_clock top1_div_clks[] 
> __initdata = {
> DIV_TOP1_FSYS11, 0, 10),
> DIV(DOUT_SCLK_MMC0, "dout_sclk_mmc0", "mout_sclk_mmc0",
> DIV_TOP1_FSYS11, 12, 10),
> +
> +   DIV(DOUT_SCLK_PHY_FSYS1_26M, "dout_sclk_phy_fsys1_26m",
> +   "mout_sclk_phy_fsys1_26m", DIV_TOP1_FSYS11, 24, 6),
>  };
>
>  static struct samsung_gate_clock top1_gate_clks[] __initdata = {
> @@ -464,10 +493,20 @@ static struct samsung_gate_clock top1_gate_clks[] 
> __initdata = {
> GATE(0, "sclk_usbdrd300", "dout_sclk_usbdrd300",
> ENABLE_SCLK_TOP1_FSYS0, 28, 0, 0),
>
> +   GATE(CLK_SCLK_PHY_FSYS1, "sclk_phy_fsys1", "dout_sclk_phy_fsys1",
> +   ENABLE_SCLK_TOP1_FSYS1, 0, CLK_SET_RATE_PARENT, 0),
> +
> +   GATE(CLK_SCLK_UFSUNIPRO20, "sclk_ufsunipro20", 
> "dout_sclk_ufsunipro20",
> +   ENABLE_SCLK_TOP1_FSYS1, 16, CLK_SET_RATE_PARENT, 0),
> +
> GATE(CLK_SCLK_MMC1, "sclk_mmc1", "dout_sclk_mmc1",
> ENABLE_SCLK_TOP1_FSYS11, 0, CLK_SET_RATE_PARENT, 0),
> GATE(CLK_SCLK_MMC0, "sclk_mmc0", "dout_sclk_mmc0",
> ENABLE_SCLK_TOP1_FSYS11, 12,

Re: [PATCH] clk: samsung: exynos7: Add required clock tree for UFS

2015-08-28 Thread Alim Akhtar

Hi,

On 08/28/2015 03:36 PM, Krzysztof Kozlowski wrote:

2015-08-28 18:28 GMT+09:00 Alim Akhtar :

Adding required mux/div/gate clocks for UFS controller
present on Exynos7.

Signed-off-by: Alim Akhtar 
---
This patch has a dependency on [1]
[1]-> 
https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg46122.html


Hi,

I just noticed that you did not send this and previous patches to
proper mailing list and to all of maintainers. You missed
linux-...@vger.kernel.org and Stephen Boyd. Please use
script/get_maintainers. It will print all necessary addresses.


Thanks for pointing this out, I will add them.

Best regards,
Krzysztof


--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] clk: samsung: exynos7: Add required clock tree for UFS

2015-08-28 Thread Krzysztof Kozlowski
2015-08-28 18:28 GMT+09:00 Alim Akhtar :
> Adding required mux/div/gate clocks for UFS controller
> present on Exynos7.
>
> Signed-off-by: Alim Akhtar 
> ---
> This patch has a dependency on [1]
> [1]-> 
> https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg46122.html

Hi,

I just noticed that you did not send this and previous patches to
proper mailing list and to all of maintainers. You missed
linux-...@vger.kernel.org and Stephen Boyd. Please use
script/get_maintainers. It will print all necessary addresses.

Best regards,
Krzysztof
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html