Message ID | 20231104034858.9159-1-quic_luoj@quicinc.com (mailing list archive) |
---|---|
Headers | show |
Series | add clock controller of qca8386/qca8084 | expand |
On 11/4/2023 11:48 AM, Luo Jie wrote: > qca8xxx is 4 * 2.5GBaseT ports chip, working as switch mode > named by qca8386, or working as PHY mode named by qca8084, > clock hardware reigster is accessed by MDIO bus. > > This patch series add the clock controller of qca8363/qca8084, > and add the clock ops clk_branch2_prepare_ops to avoid spin lock > used during the clock operation of qca8k clock controller where > the sleep happens when accessing clock control register by MDIO > bus. > > Changes in v2: > * remove clock flag CLK_ENABLE_MUTEX_LOCK. > * add clock ops clk_branch2_qca8k_ops. > * improve yaml file for fixing dtschema warnings. > * enable clock controller driver in defconfig. > > Changes in v3: > * rename clk_branch2_qca8k_ops to clk_branch2_mdio_ops. > * fix review comments on yaml file. > * use dev_err_probe on driver probe error. > * only use the compatible "qcom,qca8084-nsscc". > * remove enable clock controller driver patch. > > Changes in v4: > * add _qcom_cc_really_probe function. > * commonizing the probe function. > * remove flag CLK_IS_CRITICAL from clocks only needed > to be enabled in switch device. > * update device tree property reg to 0x10. > > Changes in v5: > * commonize qcom_cc_really_probe. > * add halt_check for the branch clocks. > * fix the review comments on nsscc-qca8k.c. > > Changes in v6: > * rename clk_branch2_mdio_ops to clk_branch2_prepare_ops. > > Changes in v7: > * remove the clock flag CLK_IS_CRITICAL. > * optimize the file nsscc-qca8k.c. > * identify & fix the comments from Stephen. > > Changes in v8: > * add dependency on ARM in Kconfig. > > Changes in v9: > * take the clk_ops clk_rcg2_mux_closest_ops to remove the > redundant freq_tbls. > > Changes in v10: > * fix the patch CHECK and improve the comments. > > Changes in v11: > * update the clock names to reflect hardware connecton. > NSS_CC_MAC4_SRDS1_CH2_XGMII_RX_DIV_CLK_SRC -> > NSS_CC_MAC4_SRDS1_CH3_XGMII_RX_DIV_CLK_SRC > > NSS_CC_MAC4_SRDS1_CH2_XGMII_TX_DIV_CLK_SRC -> > NSS_CC_MAC4_SRDS1_CH3_XGMII_TX_DIV_CLK_SRC > * resolve the qcom_cc_really_probe merge conflict based > on the latest code. > > Changes in v12: > * Fix the compile error caused by the parameter of > qcom_cc_really_probe updated from pdev to &pdev->dev in the > new merged clock driver gcc-sm4450.c and camcc-sm8550.c. > > Luo Jie (4): > clk: qcom: branch: Add clk_branch2_prepare_ops > dt-bindings: clock: add qca8386/qca8084 clock and reset definitions > clk: qcom: common: commonize qcom_cc_really_probe > clk: qcom: add clock controller driver for qca8386/qca8084 > > .../bindings/clock/qcom,qca8k-nsscc.yaml | 79 + > drivers/clk/qcom/Kconfig | 9 + > drivers/clk/qcom/Makefile | 1 + > drivers/clk/qcom/apss-ipq6018.c | 2 +- > drivers/clk/qcom/camcc-sc7180.c | 2 +- > drivers/clk/qcom/camcc-sc7280.c | 2 +- > drivers/clk/qcom/camcc-sdm845.c | 2 +- > drivers/clk/qcom/camcc-sm6350.c | 2 +- > drivers/clk/qcom/camcc-sm8250.c | 2 +- > drivers/clk/qcom/camcc-sm8450.c | 2 +- > drivers/clk/qcom/camcc-sm8550.c | 2 +- > drivers/clk/qcom/clk-branch.c | 7 + > drivers/clk/qcom/clk-branch.h | 1 + > drivers/clk/qcom/common.c | 7 +- > drivers/clk/qcom/common.h | 2 +- > drivers/clk/qcom/dispcc-qcm2290.c | 2 +- > drivers/clk/qcom/dispcc-sc7180.c | 2 +- > drivers/clk/qcom/dispcc-sc7280.c | 2 +- > drivers/clk/qcom/dispcc-sc8280xp.c | 2 +- > drivers/clk/qcom/dispcc-sdm845.c | 2 +- > drivers/clk/qcom/dispcc-sm6115.c | 2 +- > drivers/clk/qcom/dispcc-sm6125.c | 2 +- > drivers/clk/qcom/dispcc-sm6350.c | 2 +- > drivers/clk/qcom/dispcc-sm6375.c | 2 +- > drivers/clk/qcom/dispcc-sm8250.c | 2 +- > drivers/clk/qcom/dispcc-sm8450.c | 2 +- > drivers/clk/qcom/dispcc-sm8550.c | 2 +- > drivers/clk/qcom/gcc-ipq5018.c | 2 +- > drivers/clk/qcom/gcc-ipq6018.c | 2 +- > drivers/clk/qcom/gcc-ipq8074.c | 2 +- > drivers/clk/qcom/gcc-mdm9607.c | 2 +- > drivers/clk/qcom/gcc-mdm9615.c | 2 +- > drivers/clk/qcom/gcc-msm8917.c | 2 +- > drivers/clk/qcom/gcc-msm8939.c | 2 +- > drivers/clk/qcom/gcc-msm8953.c | 2 +- > drivers/clk/qcom/gcc-msm8976.c | 2 +- > drivers/clk/qcom/gcc-msm8996.c | 2 +- > drivers/clk/qcom/gcc-msm8998.c | 2 +- > drivers/clk/qcom/gcc-qcm2290.c | 2 +- > drivers/clk/qcom/gcc-qcs404.c | 2 +- > drivers/clk/qcom/gcc-qdu1000.c | 2 +- > drivers/clk/qcom/gcc-sa8775p.c | 2 +- > drivers/clk/qcom/gcc-sc7180.c | 2 +- > drivers/clk/qcom/gcc-sc7280.c | 2 +- > drivers/clk/qcom/gcc-sc8180x.c | 2 +- > drivers/clk/qcom/gcc-sc8280xp.c | 2 +- > drivers/clk/qcom/gcc-sdm660.c | 2 +- > drivers/clk/qcom/gcc-sdm845.c | 2 +- > drivers/clk/qcom/gcc-sdx55.c | 2 +- > drivers/clk/qcom/gcc-sdx65.c | 2 +- > drivers/clk/qcom/gcc-sdx75.c | 2 +- > drivers/clk/qcom/gcc-sm4450.c | 2 +- > drivers/clk/qcom/gcc-sm6115.c | 2 +- > drivers/clk/qcom/gcc-sm6125.c | 2 +- > drivers/clk/qcom/gcc-sm6350.c | 2 +- > drivers/clk/qcom/gcc-sm6375.c | 2 +- > drivers/clk/qcom/gcc-sm7150.c | 2 +- > drivers/clk/qcom/gcc-sm8150.c | 2 +- > drivers/clk/qcom/gcc-sm8250.c | 2 +- > drivers/clk/qcom/gcc-sm8350.c | 2 +- > drivers/clk/qcom/gcc-sm8450.c | 2 +- > drivers/clk/qcom/gcc-sm8550.c | 2 +- > drivers/clk/qcom/gpucc-msm8998.c | 2 +- > drivers/clk/qcom/gpucc-sa8775p.c | 2 +- > drivers/clk/qcom/gpucc-sc7180.c | 2 +- > drivers/clk/qcom/gpucc-sc7280.c | 2 +- > drivers/clk/qcom/gpucc-sc8280xp.c | 2 +- > drivers/clk/qcom/gpucc-sdm660.c | 2 +- > drivers/clk/qcom/gpucc-sdm845.c | 2 +- > drivers/clk/qcom/gpucc-sm6115.c | 2 +- > drivers/clk/qcom/gpucc-sm6125.c | 2 +- > drivers/clk/qcom/gpucc-sm6350.c | 2 +- > drivers/clk/qcom/gpucc-sm6375.c | 2 +- > drivers/clk/qcom/gpucc-sm8150.c | 2 +- > drivers/clk/qcom/gpucc-sm8250.c | 2 +- > drivers/clk/qcom/gpucc-sm8350.c | 2 +- > drivers/clk/qcom/gpucc-sm8450.c | 2 +- > drivers/clk/qcom/gpucc-sm8550.c | 2 +- > drivers/clk/qcom/lcc-ipq806x.c | 2 +- > drivers/clk/qcom/lcc-msm8960.c | 2 +- > drivers/clk/qcom/lpassaudiocc-sc7280.c | 4 +- > drivers/clk/qcom/lpasscorecc-sc7180.c | 2 +- > drivers/clk/qcom/lpasscorecc-sc7280.c | 2 +- > drivers/clk/qcom/mmcc-msm8960.c | 2 +- > drivers/clk/qcom/mmcc-msm8974.c | 2 +- > drivers/clk/qcom/mmcc-msm8994.c | 2 +- > drivers/clk/qcom/mmcc-msm8996.c | 2 +- > drivers/clk/qcom/mmcc-msm8998.c | 2 +- > drivers/clk/qcom/mmcc-sdm660.c | 2 +- > drivers/clk/qcom/nsscc-qca8k.c | 2139 +++++++++++++++++ > drivers/clk/qcom/tcsrcc-sm8550.c | 2 +- > drivers/clk/qcom/videocc-sc7180.c | 2 +- > drivers/clk/qcom/videocc-sc7280.c | 2 +- > drivers/clk/qcom/videocc-sdm845.c | 2 +- > drivers/clk/qcom/videocc-sm8150.c | 2 +- > drivers/clk/qcom/videocc-sm8250.c | 2 +- > drivers/clk/qcom/videocc-sm8350.c | 2 +- > drivers/clk/qcom/videocc-sm8450.c | 2 +- > drivers/clk/qcom/videocc-sm8550.c | 2 +- > include/dt-bindings/clock/qcom,qca8k-nsscc.h | 101 + > include/dt-bindings/reset/qcom,qca8k-nsscc.h | 75 + > 101 files changed, 2508 insertions(+), 97 deletions(-) > create mode 100644 Documentation/devicetree/bindings/clock/qcom,qca8k-nsscc.yaml > create mode 100644 drivers/clk/qcom/nsscc-qca8k.c > create mode 100644 include/dt-bindings/clock/qcom,qca8k-nsscc.h > create mode 100644 include/dt-bindings/reset/qcom,qca8k-nsscc.h > > > base-commit: ff269e2cd5adce4ae14f883fc9c8803bc43ee1e9 Hi Bjorn, Is this patch series fine to be merged now?