[PATCH 1/3] clk: qcom: add driver for SM8150 SoC
Julius Lehmann
lehmanju at devpi.de
Mon Sep 9 18:14:42 CEST 2024
> +static ulong sm8150_clk_set_rate(struct clk *clk, ulong rate)
> +{
> + struct msm_clk_priv *priv = dev_get_priv(clk->dev);
> + const struct freq_tbl *freq;
> +
> + switch (clk->id) {
> + case GCC_QUPV3_WRAP1_S4_CLK: /* UART2 aka debug-uart */
> + freq = qcom_find_freq(ftbl_gcc_qupv3_wrap0_s0_clk_src, rate);
> + clk_rcg_set_rate_mnd(priv->base, QUPV3_WRAP0_S0_CLK_CMD_RCGR,
> + freq->pre_div, freq->m, freq->n, freq->src, 16);
> + return freq->freq;
> + case GCC_EMAC_RGMII_CLK:
> + freq = qcom_find_freq(ftbl_gcc_emac_rgmii_clk_src, rate);
> + clk_rcg_set_rate_mnd(priv->base, EMAC_RGMII_CLK_CMD_RCGR,
> + freq->pre_div, freq->m, freq->n, freq->src, 8);
> + return freq->freq;
> + case GCC_USB30_PRIM_MASTER_CLK:
> + freq = qcom_find_freq(ftbl_gcc_usb30_prim_master_clk_src, rate);
> + clk_rcg_set_rate_mnd(priv->base, USB30_PRIM_MASTER_CLK_CMD_RCGR,
> + freq->pre_div, freq->m, freq->n, freq->src, 8);
> + return freq->freq;
> + case GCC_USB30_PRIM_MOCK_UTMI_CLK:
> + freq = qcom_find_freq(ftbl_gcc_usb30_prim_mock_utmi_clk_src, rate);
> + clk_rcg_set_rate_mnd(priv->base, USB30_PRIM_MOCK_UTMI_CLK_CMD_RCGR,
> + freq->pre_div, freq->m, freq->n, freq->src, 8);
> + return freq->freq;
> + case GCC_USB3_PRIM_PHY_AUX_CLK_SRC:
> + freq = qcom_find_freq(ftbl_gcc_usb30_prim_mock_utmi_clk_src, rate);
> + clk_rcg_set_rate_mnd(priv->base, USB30_PRIM_MOCK_UTMI_CLK_CMD_RCGR,
this doesn't seem right, should probably be a different CMD_RCGR
> + freq->pre_div, freq->m, freq->n, freq->src, 8);
> + return freq->freq;
> + case GCC_USB30_SEC_MASTER_CLK:
> + freq = qcom_find_freq(ftbl_gcc_usb30_prim_master_clk_src, rate);
> + clk_rcg_set_rate_mnd(priv->base, USB30_SEC_MASTER_CLK_CMD_RCGR,
> + freq->pre_div, freq->m, freq->n, freq->src, 8);
> + return freq->freq;
> + case GCC_USB30_SEC_MOCK_UTMI_CLK:
> + freq = qcom_find_freq(ftbl_gcc_usb30_prim_mock_utmi_clk_src, rate);
> + clk_rcg_set_rate_mnd(priv->base, USB30_SEC_MOCK_UTMI_CLK_CMD_RCGR,
> + freq->pre_div, freq->m, freq->n, freq->src, 8);
> + return freq->freq;
> + case GCC_USB3_SEC_PHY_AUX_CLK_SRC:
> + freq = qcom_find_freq(ftbl_gcc_usb30_prim_mock_utmi_clk_src, rate);
> + clk_rcg_set_rate_mnd(priv->base, USB30_SEC_MOCK_UTMI_CLK_CMD_RCGR,
same here
> + freq->pre_div, freq->m, freq->n, freq->src, 8);
> + return freq->freq;
> + default:
> + return 0;
> + }
> +}
> +
More information about the U-Boot
mailing list