mbox series

[0/5] Add clock drivers for SM8350

Message ID 20201203070241.2648874-1-vkoul@kernel.org
Headers show
Series Add clock drivers for SM8350 | expand

Message

Vinod Koul Dec. 3, 2020, 7:02 a.m. UTC
This add rpmhcc and gcc clock controller drivers for the controllers found
in SM8350 SoC

Vinod Koul (3):
  dt-bindings: clock: Add RPMHCC bindings for SM8350
  clk: qcom: rpmh: add support for SM8350 rpmh clocks
  dt-bindings: clock: Add SM8350 GCC clock bindings

Vivek Aknurwar (2):
  clk: qcom: clk-alpha-pll: Add support for Lucid 5LPE PLL
  clk: qcom: gcc: Add clock driver for SM8350

 .../bindings/clock/qcom,gcc-sm8350.yaml       |   68 +
 .../bindings/clock/qcom,rpmhcc.yaml           |    1 +
 drivers/clk/qcom/Kconfig                      |    9 +
 drivers/clk/qcom/Makefile                     |    1 +
 drivers/clk/qcom/clk-alpha-pll.c              |  223 +
 drivers/clk/qcom/clk-alpha-pll.h              |    4 +
 drivers/clk/qcom/clk-rpmh.c                   |   34 +
 drivers/clk/qcom/gcc-sm8350.c                 | 3959 +++++++++++++++++
 include/dt-bindings/clock/qcom,gcc-sm8350.h   |  261 ++
 include/dt-bindings/clock/qcom,rpmh.h         |    8 +
 10 files changed, 4568 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/clock/qcom,gcc-sm8350.yaml
 create mode 100644 drivers/clk/qcom/gcc-sm8350.c
 create mode 100644 include/dt-bindings/clock/qcom,gcc-sm8350.h

-- 
2.26.2

Comments

Bjorn Andersson Dec. 3, 2020, 11:55 p.m. UTC | #1
On Thu 03 Dec 01:02 CST 2020, Vinod Koul wrote:

> This adds the RPMH clocks present in SM8350 SoC

> 

> Signed-off-by: Vinod Koul <vkoul@kernel.org>


Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>


Regards,
Bjorn

> ---

>  drivers/clk/qcom/clk-rpmh.c           | 34 +++++++++++++++++++++++++++

>  include/dt-bindings/clock/qcom,rpmh.h |  8 +++++++

>  2 files changed, 42 insertions(+)

> 

> diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c

> index e2c669b08aff..64cab4403a17 100644

> --- a/drivers/clk/qcom/clk-rpmh.c

> +++ b/drivers/clk/qcom/clk-rpmh.c

> @@ -432,6 +432,39 @@ static const struct clk_rpmh_desc clk_rpmh_sm8250 = {

>  	.num_clks = ARRAY_SIZE(sm8250_rpmh_clocks),

>  };

>  

> +DEFINE_CLK_RPMH_VRM(sm8350, div_clk1, div_clk1_ao, "divclka1", 2);

> +DEFINE_CLK_RPMH_VRM(sm8350, rf_clk4, rf_clk4_ao, "rfclka4", 1);

> +DEFINE_CLK_RPMH_VRM(sm8350, rf_clk5, rf_clk5_ao, "rfclka5", 1);

> +DEFINE_CLK_RPMH_BCM(sm8350, pka, "PKA0");

> +DEFINE_CLK_RPMH_BCM(sm8350, hwkm, "HK0");

> +

> +static struct clk_hw *sm8350_rpmh_clocks[] = {

> +	[RPMH_CXO_CLK]		= &sdm845_bi_tcxo.hw,

> +	[RPMH_CXO_CLK_A]	= &sdm845_bi_tcxo_ao.hw,

> +	[RPMH_DIV_CLK1]		= &sm8350_div_clk1.hw,

> +	[RPMH_DIV_CLK1_A]	= &sm8350_div_clk1_ao.hw,

> +	[RPMH_LN_BB_CLK1]	= &sm8250_ln_bb_clk1.hw,

> +	[RPMH_LN_BB_CLK1_A]	= &sm8250_ln_bb_clk1_ao.hw,

> +	[RPMH_LN_BB_CLK2]	= &sdm845_ln_bb_clk2.hw,

> +	[RPMH_LN_BB_CLK2_A]	= &sdm845_ln_bb_clk2_ao.hw,

> +	[RPMH_RF_CLK1]		= &sdm845_rf_clk1.hw,

> +	[RPMH_RF_CLK1_A]	= &sdm845_rf_clk1_ao.hw,

> +	[RPMH_RF_CLK3]		= &sdm845_rf_clk3.hw,

> +	[RPMH_RF_CLK3_A]	= &sdm845_rf_clk3_ao.hw,

> +	[RPMH_RF_CLK4]		= &sm8350_rf_clk4.hw,

> +	[RPMH_RF_CLK4_A]	= &sm8350_rf_clk4_ao.hw,

> +	[RPMH_RF_CLK5]		= &sm8350_rf_clk5.hw,

> +	[RPMH_RF_CLK5_A]	= &sm8350_rf_clk5_ao.hw,

> +	[RPMH_IPA_CLK]		= &sdm845_ipa.hw,

> +	[RPMH_PKA_CLK]		= &sm8350_pka.hw,

> +	[RPMH_HWKM_CLK]		= &sm8350_hwkm.hw,

> +};

> +

> +static const struct clk_rpmh_desc clk_rpmh_sm8350 = {

> +	.clks = sm8350_rpmh_clocks,

> +	.num_clks = ARRAY_SIZE(sm8350_rpmh_clocks),

> +};

> +

>  static struct clk_hw *of_clk_rpmh_hw_get(struct of_phandle_args *clkspec,

>  					 void *data)

>  {

> @@ -519,6 +552,7 @@ static const struct of_device_id clk_rpmh_match_table[] = {

>  	{ .compatible = "qcom,sdm845-rpmh-clk", .data = &clk_rpmh_sdm845},

>  	{ .compatible = "qcom,sm8150-rpmh-clk", .data = &clk_rpmh_sm8150},

>  	{ .compatible = "qcom,sm8250-rpmh-clk", .data = &clk_rpmh_sm8250},

> +	{ .compatible = "qcom,sm8350-rpmh-clk", .data = &clk_rpmh_sm8350},

>  	{ }

>  };

>  MODULE_DEVICE_TABLE(of, clk_rpmh_match_table);

> diff --git a/include/dt-bindings/clock/qcom,rpmh.h b/include/dt-bindings/clock/qcom,rpmh.h

> index 2e6c54e65455..6dbe5d398bf0 100644

> --- a/include/dt-bindings/clock/qcom,rpmh.h

> +++ b/include/dt-bindings/clock/qcom,rpmh.h

> @@ -21,5 +21,13 @@

>  #define RPMH_IPA_CLK				12

>  #define RPMH_LN_BB_CLK1				13

>  #define RPMH_LN_BB_CLK1_A			14

> +#define RPMH_DIV_CLK1				15

> +#define RPMH_DIV_CLK1_A				16

> +#define RPMH_RF_CLK4				17

> +#define RPMH_RF_CLK4_A				18

> +#define RPMH_RF_CLK5				19

> +#define RPMH_RF_CLK5_A				20

> +#define RPMH_PKA_CLK				21

> +#define RPMH_HWKM_CLK				22

>  

>  #endif

> -- 

> 2.26.2

>
Bjorn Andersson Dec. 3, 2020, 11:56 p.m. UTC | #2
On Thu 03 Dec 01:02 CST 2020, Vinod Koul wrote:

> Add bindings and update documentation for clock rpmh driver on SM8350.

> 

> Signed-off-by: Vinod Koul <vkoul@kernel.org>


Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>


> ---

>  Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml | 1 +

>  1 file changed, 1 insertion(+)

> 

> diff --git a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml b/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml

> index a46a3a799a70..3037eb98c810 100644

> --- a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml

> +++ b/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml

> @@ -21,6 +21,7 @@ properties:

>        - qcom,sdm845-rpmh-clk

>        - qcom,sm8150-rpmh-clk

>        - qcom,sm8250-rpmh-clk

> +      - qcom,sm8350-rpmh-clk

>  

>    clocks:

>      maxItems: 1

> -- 

> 2.26.2

>