diff options
Diffstat (limited to 'drivers/clk')
-rw-r--r-- | drivers/clk/qcom/clock-gcc-8936.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/clk/qcom/clock-gcc-8936.c b/drivers/clk/qcom/clock-gcc-8936.c index 873b9093e504..1d1c8ebf0d53 100644 --- a/drivers/clk/qcom/clock-gcc-8936.c +++ b/drivers/clk/qcom/clock-gcc-8936.c @@ -2856,7 +2856,6 @@ static struct clk_lookup msm_clocks_lookup[] = { /* RCGs */ CLK_LIST(apss_ahb_clk_src), CLK_LIST(camss_top_ahb_clk_src), - CLK_LIST(crypto_clk_src), CLK_LIST(csi0_clk_src), CLK_LIST(csi1_clk_src), CLK_LIST(csi2_clk_src), @@ -2908,9 +2907,6 @@ static struct clk_lookup msm_clocks_lookup[] = { /* Voteable Clocks */ CLK_LIST(gcc_blsp1_ahb_clk), CLK_LIST(gcc_boot_rom_ahb_clk), - CLK_LIST(gcc_crypto_ahb_clk), - CLK_LIST(gcc_crypto_axi_clk), - CLK_LIST(gcc_crypto_clk), CLK_LIST(gcc_prng_ahb_clk), CLK_LIST(gcc_apss_tcu_clk), CLK_LIST(gcc_gfx_tbu_clk), @@ -3014,6 +3010,14 @@ static struct clk_lookup msm_clocks_lookup[] = { CLK_LIST(wcnss_m_clk), }; +static struct clk_lookup msm_clocks_gcc_8936_crypto[] = { + /* Crypto clocks */ + CLK_LOOKUP_OF("core_clk", gcc_crypto_clk, "scm"), + CLK_LOOKUP_OF("iface_clk", gcc_crypto_ahb_clk, "scm"), + CLK_LOOKUP_OF("bus_clk", gcc_crypto_axi_clk, "scm"), + CLK_LOOKUP_OF("core_clk_src", crypto_clk_src, "scm"), +}; + static int msm_gcc_probe(struct platform_device *pdev) { struct resource *res; @@ -3070,6 +3074,12 @@ static int msm_gcc_probe(struct platform_device *pdev) if (ret) return ret; + ret = of_msm_clock_register(pdev->dev.of_node, + msm_clocks_gcc_8936_crypto, + ARRAY_SIZE(msm_clocks_gcc_8936_crypto)); + if (ret) + return ret; + clk_set_rate(&apss_ahb_clk_src.c, 19200000); clk_prepare_enable(&apss_ahb_clk_src.c); |