* [PATCH V2 0/5] Update GCC clocks for QDU1000 and QRU1000 SoCs
@ 2023-06-28 9:28 Imran Shaik
2023-06-28 9:28 ` [PATCH V2 1/5] dt-bindings: clock: " Imran Shaik
` (4 more replies)
0 siblings, 5 replies; 14+ messages in thread
From: Imran Shaik @ 2023-06-28 9:28 UTC (permalink / raw)
To: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd,
Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: Taniya Das, Imran Shaik, Melody Olvera, Dmitry Baryshkov,
linux-arm-msm, linux-clk, devicetree, linux-kernel,
Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey
Update GCC clocks and add support for GDSCs for QDU1000 and QRU1000 SoCs.
Changes since v1:
- Dropped the v2 variant compatible changes
- Update tha maintainers list
- Split the GCC driver patch as per the review comments
Previous series:
v1: https://patchwork.kernel.org/project/linux-arm-msm/list/?series=757828
Imran Shaik (5):
dt-bindings: clock: Update GCC clocks for QDU1000 and QRU1000 SoCs
clk: qcom: gcc-qdu1000: Fix gcc_pcie_0_pipe_clk_src clock handling
clk: qcom: gcc-qdu1000: Update GCC clocks as per the latest hw version
clk: qcom: gcc-qdu1000: Add support for GDSCs
clk: qcom: gcc-qdu1000: Update the RCGs ops
.../bindings/clock/qcom,qdu1000-gcc.yaml | 3 +-
drivers/clk/qcom/gcc-qdu1000.c | 159 ++++++++++++------
include/dt-bindings/clock/qcom,qdu1000-gcc.h | 4 +-
3 files changed, 110 insertions(+), 56 deletions(-)
--
2.25.1
^ permalink raw reply [flat|nested] 14+ messages in thread* [PATCH V2 1/5] dt-bindings: clock: Update GCC clocks for QDU1000 and QRU1000 SoCs 2023-06-28 9:28 [PATCH V2 0/5] Update GCC clocks for QDU1000 and QRU1000 SoCs Imran Shaik @ 2023-06-28 9:28 ` Imran Shaik 2023-06-28 10:18 ` Rob Herring 2023-06-28 15:50 ` Rob Herring 2023-06-28 9:28 ` [PATCH V2 2/5] clk: qcom: gcc-qdu1000: Fix gcc_pcie_0_pipe_clk_src clock handling Imran Shaik ` (3 subsequent siblings) 4 siblings, 2 replies; 14+ messages in thread From: Imran Shaik @ 2023-06-28 9:28 UTC (permalink / raw) To: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Imran Shaik, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey Update the qcom GCC clock bindings for QDU1000 and QRU1000 SoCs. Co-developed-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> --- Chanes since v1: - Removed the v2 variant compatible string changes - Updated the maintainers list Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml | 3 ++- include/dt-bindings/clock/qcom,qdu1000-gcc.h | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml b/Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml index 767a9d03aa32..d712b1a87e25 100644 --- a/Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml +++ b/Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml @@ -7,7 +7,8 @@ $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm Global Clock & Reset Controller for QDU1000 and QRU1000 maintainers: - - Melody Olvera <quic_molvera@quicinc.com> + - Taniya Das <quic_tdas@quicinc.com> + - Imran Shaik <quic_imrashai@quicinc.com> description: | Qualcomm global clock control module which supports the clocks, resets and diff --git a/include/dt-bindings/clock/qcom,qdu1000-gcc.h b/include/dt-bindings/clock/qcom,qdu1000-gcc.h index ddbc6b825e80..2fd36cbfddbb 100644 --- a/include/dt-bindings/clock/qcom,qdu1000-gcc.h +++ b/include/dt-bindings/clock/qcom,qdu1000-gcc.h @@ -1,6 +1,6 @@ /* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */ /* - * Copyright (c) 2021-2022, Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2021-2023, Qualcomm Innovation Center, Inc. All rights reserved. */ #ifndef _DT_BINDINGS_CLK_QCOM_GCC_QDU1000_H @@ -138,6 +138,8 @@ #define GCC_AGGRE_NOC_ECPRI_GSI_CLK 128 #define GCC_PCIE_0_PIPE_CLK_SRC 129 #define GCC_PCIE_0_PHY_AUX_CLK_SRC 130 +#define GCC_GPLL1_OUT_EVEN 131 +#define GCC_DDRSS_ECPRI_GSI_CLK 132 /* GCC resets */ #define GCC_ECPRI_CC_BCR 0 -- 2.25.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH V2 1/5] dt-bindings: clock: Update GCC clocks for QDU1000 and QRU1000 SoCs 2023-06-28 9:28 ` [PATCH V2 1/5] dt-bindings: clock: " Imran Shaik @ 2023-06-28 10:18 ` Rob Herring 2023-06-28 15:50 ` Rob Herring 1 sibling, 0 replies; 14+ messages in thread From: Rob Herring @ 2023-06-28 10:18 UTC (permalink / raw) To: Imran Shaik Cc: Satya Priya Kakitapalli, Konrad Dybcio, devicetree, Jagadeesh Kona, Conor Dooley, Rob Herring, Taniya Das, Dmitry Baryshkov, Krzysztof Kozlowski, linux-clk, Stephen Boyd, Andy Gross, Ajit Pandey, Melody Olvera, linux-kernel, Michael Turquette, linux-arm-msm On Wed, 28 Jun 2023 14:58:33 +0530, Imran Shaik wrote: > Update the qcom GCC clock bindings for QDU1000 and QRU1000 SoCs. > > Co-developed-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> > --- > Chanes since v1: > - Removed the v2 variant compatible string changes > - Updated the maintainers list > > Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml | 3 ++- > include/dt-bindings/clock/qcom,qdu1000-gcc.h | 4 +++- > 2 files changed, 5 insertions(+), 2 deletions(-) > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: Documentation/devicetree/bindings/arm/hisilicon/controller/cpuctrl.example.dtb: /example-0/cpuctrl@a22000/clock@0: failed to match any schema with compatible: ['hisilicon,hix5hd2-clock'] Documentation/devicetree/bindings/arm/hisilicon/controller/sysctrl.example.dtb: /example-0/system-controller@802000/clock@0: failed to match any schema with compatible: ['hisilicon,hi3620-clock'] Documentation/devicetree/bindings/arm/hisilicon/controller/hi3798cv200-perictrl.example.dtb: /example-0/peripheral-controller@8a20000/phy@850: failed to match any schema with compatible: ['hisilicon,hi3798cv200-combphy'] Documentation/devicetree/bindings/net/qca,ar71xx.example.dtb: /example-0/ethernet@1a000000/mdio/switch@10: failed to match any schema with compatible: ['qca,ar9331-switch'] Documentation/devicetree/bindings/net/marvell,mvusb.example.dtb: /example-0/usb/mdio@1/switch@0: failed to match any schema with compatible: ['marvell,mv88e6190'] Documentation/devicetree/bindings/media/rockchip-isp1.example.dtb: /example-0/parent/i2c/camera@36: failed to match any schema with compatible: ['ovti,ov5695'] Documentation/devicetree/bindings/thermal/imx-thermal.example.dtb: /example-0/anatop@20c8000: failed to match any schema with compatible: ['fsl,imx6q-anatop', 'syscon', 'simple-mfd'] Documentation/devicetree/bindings/thermal/brcm,avs-ro-thermal.example.dtb: /example-0/avs-monitor@7d5d2000: failed to match any schema with compatible: ['brcm,bcm2711-avs-monitor', 'syscon', 'simple-mfd'] Documentation/devicetree/bindings/memory-controllers/ingenic,nemc.example.dtb: /example-0/memory-controller@13410000/ethernet@6: failed to match any schema with compatible: ['davicom,dm9000'] Documentation/devicetree/bindings/leds/common.example.dtb: /example-2/i2c/led-controller@30: failed to match any schema with compatible: ['panasonic,an30259a'] Documentation/devicetree/bindings/clock/milbeaut-clock.example.dtb: /example-2/serial@1e700010: failed to match any schema with compatible: ['socionext,milbeaut-usio-uart'] Documentation/devicetree/bindings/clock/sprd,sc9863a-clk.example.dtb: /example-1/syscon@20e00000: failed to match any schema with compatible: ['sprd,sc9863a-glbregs', 'syscon', 'simple-mfd'] Documentation/devicetree/bindings/sound/audio-graph-card2.example.dtb: /example-0/cpu: failed to match any schema with compatible: ['cpu-driver'] Documentation/devicetree/bindings/sound/audio-graph-card2.example.dtb: /example-0/codec: failed to match any schema with compatible: ['codec-driver'] Documentation/devicetree/bindings/reset/hisilicon,hi3660-reset.example.dtb: /example-0/iomcu@ffd7e000: failed to match any schema with compatible: ['hisilicon,hi3660-iomcu', 'syscon'] Documentation/devicetree/bindings/i2c/qcom,i2c-cci.example.dtb: /example-0/cci@ac4a000/i2c-bus@1/camera@60: failed to match any schema with compatible: ['ovti,ov7251'] Documentation/devicetree/bindings/input/mediatek,pmic-keys.example.dtb: /example-0/pmic: failed to match any schema with compatible: ['mediatek,mt6397'] Documentation/devicetree/bindings/input/sprd,sc27xx-vibrator.example.dtb: /example-0/pmic@0: failed to match any schema with compatible: ['sprd,sc2731'] Documentation/devicetree/bindings/dma/dma-router.example.dtb: /example-0/dma-router@4a002b78: failed to match any schema with compatible: ['ti,dra7-dma-crossbar'] Documentation/devicetree/bindings/dma/dma-controller.example.dtb: /example-0/dma-controller@48000000: failed to match any schema with compatible: ['ti,omap-sdma'] Documentation/devicetree/bindings/iio/adc/ti,palmas-gpadc.example.dtb: /example-0/pmic: failed to match any schema with compatible: ['ti,twl6035-pmic', 'ti,palmas-pmic'] Documentation/devicetree/bindings/iio/adc/ti,palmas-gpadc.example.dtb: /example-0/pmic: failed to match any schema with compatible: ['ti,twl6035-pmic', 'ti,palmas-pmic'] doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20230628092837.3090801-2-quic_imrashai@quicinc.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V2 1/5] dt-bindings: clock: Update GCC clocks for QDU1000 and QRU1000 SoCs 2023-06-28 9:28 ` [PATCH V2 1/5] dt-bindings: clock: " Imran Shaik 2023-06-28 10:18 ` Rob Herring @ 2023-06-28 15:50 ` Rob Herring 1 sibling, 0 replies; 14+ messages in thread From: Rob Herring @ 2023-06-28 15:50 UTC (permalink / raw) To: Imran Shaik Cc: Conor Dooley, Melody Olvera, Michael Turquette, Dmitry Baryshkov, Andy Gross, linux-arm-msm, linux-clk, devicetree, Satya Priya Kakitapalli, Stephen Boyd, Jagadeesh Kona, Rob Herring, Ajit Pandey, linux-kernel, Konrad Dybcio, Krzysztof Kozlowski, Taniya Das On Wed, 28 Jun 2023 14:58:33 +0530, Imran Shaik wrote: > Update the qcom GCC clock bindings for QDU1000 and QRU1000 SoCs. > > Co-developed-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> > --- > Chanes since v1: > - Removed the v2 variant compatible string changes > - Updated the maintainers list > > Documentation/devicetree/bindings/clock/qcom,qdu1000-gcc.yaml | 3 ++- > include/dt-bindings/clock/qcom,qdu1000-gcc.h | 4 +++- > 2 files changed, 5 insertions(+), 2 deletions(-) > Acked-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH V2 2/5] clk: qcom: gcc-qdu1000: Fix gcc_pcie_0_pipe_clk_src clock handling 2023-06-28 9:28 [PATCH V2 0/5] Update GCC clocks for QDU1000 and QRU1000 SoCs Imran Shaik 2023-06-28 9:28 ` [PATCH V2 1/5] dt-bindings: clock: " Imran Shaik @ 2023-06-28 9:28 ` Imran Shaik 2023-06-28 11:03 ` Konrad Dybcio 2023-06-28 9:28 ` [PATCH V2 3/5] clk: qcom: gcc-qdu1000: Update GCC clocks as per the latest hw version Imran Shaik ` (2 subsequent siblings) 4 siblings, 1 reply; 14+ messages in thread From: Imran Shaik @ 2023-06-28 9:28 UTC (permalink / raw) To: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Imran Shaik, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey Fix the gcc_pcie_0_pipe_clk_src clock handling for QDU1000 and QRU1000 SoCs. Fixes: 1c9efb0bc040 ("clk: qcom: Add QDU1000 and QRU1000 GCC support") Co-developed-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> --- Changes since v1: - Newly added drivers/clk/qcom/gcc-qdu1000.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/drivers/clk/qcom/gcc-qdu1000.c b/drivers/clk/qcom/gcc-qdu1000.c index 5051769ad90c..c00d26a3e6df 100644 --- a/drivers/clk/qcom/gcc-qdu1000.c +++ b/drivers/clk/qcom/gcc-qdu1000.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved. + * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved. */ #include <linux/clk-provider.h> @@ -370,16 +370,6 @@ static const struct clk_parent_data gcc_parent_data_6[] = { { .index = DT_TCXO_IDX }, }; -static const struct parent_map gcc_parent_map_7[] = { - { P_PCIE_0_PIPE_CLK, 0 }, - { P_BI_TCXO, 2 }, -}; - -static const struct clk_parent_data gcc_parent_data_7[] = { - { .index = DT_PCIE_0_PIPE_CLK_IDX }, - { .index = DT_TCXO_IDX }, -}; - static const struct parent_map gcc_parent_map_8[] = { { P_BI_TCXO, 0 }, { P_GCC_GPLL0_OUT_MAIN, 1 }, @@ -439,16 +429,15 @@ static struct clk_regmap_mux gcc_pcie_0_phy_aux_clk_src = { }, }; -static struct clk_regmap_mux gcc_pcie_0_pipe_clk_src = { +static struct clk_regmap_phy_mux gcc_pcie_0_pipe_clk_src = { .reg = 0x9d064, - .shift = 0, - .width = 2, - .parent_map = gcc_parent_map_7, .clkr = { .hw.init = &(const struct clk_init_data) { .name = "gcc_pcie_0_pipe_clk_src", - .parent_data = gcc_parent_data_7, - .num_parents = ARRAY_SIZE(gcc_parent_data_7), + .parent_data = &(const struct clk_parent_data){ + .index = DT_PCIE_0_PIPE_CLK_IDX, + }, + .num_parents = 1, .ops = &clk_regmap_phy_mux_ops, }, }, -- 2.25.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH V2 2/5] clk: qcom: gcc-qdu1000: Fix gcc_pcie_0_pipe_clk_src clock handling 2023-06-28 9:28 ` [PATCH V2 2/5] clk: qcom: gcc-qdu1000: Fix gcc_pcie_0_pipe_clk_src clock handling Imran Shaik @ 2023-06-28 11:03 ` Konrad Dybcio 0 siblings, 0 replies; 14+ messages in thread From: Konrad Dybcio @ 2023-06-28 11:03 UTC (permalink / raw) To: Imran Shaik, Andy Gross, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey On 28.06.2023 11:28, Imran Shaik wrote: > Fix the gcc_pcie_0_pipe_clk_src clock handling for QDU1000 and > QRU1000 SoCs. > > Fixes: 1c9efb0bc040 ("clk: qcom: Add QDU1000 and QRU1000 GCC support") > Co-developed-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> > ---You could have explained that clk_regmap_phy_mux_ops doesn't implement any parent-related ops and switches parents implicitly in .enable/disable Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > Changes since v1: > - Newly added > > drivers/clk/qcom/gcc-qdu1000.c | 23 ++++++----------------- > 1 file changed, 6 insertions(+), 17 deletions(-) > > diff --git a/drivers/clk/qcom/gcc-qdu1000.c b/drivers/clk/qcom/gcc-qdu1000.c > index 5051769ad90c..c00d26a3e6df 100644 > --- a/drivers/clk/qcom/gcc-qdu1000.c > +++ b/drivers/clk/qcom/gcc-qdu1000.c > @@ -1,6 +1,6 @@ > // SPDX-License-Identifier: GPL-2.0-only > /* > - * Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved. > + * Copyright (c) 2022-2023, Qualcomm Innovation Center, Inc. All rights reserved. > */ > > #include <linux/clk-provider.h> > @@ -370,16 +370,6 @@ static const struct clk_parent_data gcc_parent_data_6[] = { > { .index = DT_TCXO_IDX }, > }; > > -static const struct parent_map gcc_parent_map_7[] = { > - { P_PCIE_0_PIPE_CLK, 0 }, > - { P_BI_TCXO, 2 }, > -}; > - > -static const struct clk_parent_data gcc_parent_data_7[] = { > - { .index = DT_PCIE_0_PIPE_CLK_IDX }, > - { .index = DT_TCXO_IDX }, > -}; > - > static const struct parent_map gcc_parent_map_8[] = { > { P_BI_TCXO, 0 }, > { P_GCC_GPLL0_OUT_MAIN, 1 }, > @@ -439,16 +429,15 @@ static struct clk_regmap_mux gcc_pcie_0_phy_aux_clk_src = { > }, > }; > > -static struct clk_regmap_mux gcc_pcie_0_pipe_clk_src = { > +static struct clk_regmap_phy_mux gcc_pcie_0_pipe_clk_src = { > .reg = 0x9d064, > - .shift = 0, > - .width = 2, > - .parent_map = gcc_parent_map_7, > .clkr = { > .hw.init = &(const struct clk_init_data) { > .name = "gcc_pcie_0_pipe_clk_src", > - .parent_data = gcc_parent_data_7, > - .num_parents = ARRAY_SIZE(gcc_parent_data_7), > + .parent_data = &(const struct clk_parent_data){ > + .index = DT_PCIE_0_PIPE_CLK_IDX, > + }, > + .num_parents = 1, > .ops = &clk_regmap_phy_mux_ops, > }, > }, ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH V2 3/5] clk: qcom: gcc-qdu1000: Update GCC clocks as per the latest hw version 2023-06-28 9:28 [PATCH V2 0/5] Update GCC clocks for QDU1000 and QRU1000 SoCs Imran Shaik 2023-06-28 9:28 ` [PATCH V2 1/5] dt-bindings: clock: " Imran Shaik 2023-06-28 9:28 ` [PATCH V2 2/5] clk: qcom: gcc-qdu1000: Fix gcc_pcie_0_pipe_clk_src clock handling Imran Shaik @ 2023-06-28 9:28 ` Imran Shaik 2023-06-28 11:06 ` Konrad Dybcio 2023-06-28 9:28 ` [PATCH V2 4/5] clk: qcom: gcc-qdu1000: Add support for GDSCs Imran Shaik 2023-06-28 9:28 ` [PATCH V2 5/5] clk: qcom: gcc-qdu1000: Update the RCGs ops Imran Shaik 4 siblings, 1 reply; 14+ messages in thread From: Imran Shaik @ 2023-06-28 9:28 UTC (permalink / raw) To: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Imran Shaik, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey Add support for gcc_ddrss_ecpri_gsi_clk and update the GCC clkref clocks as per the latest hardware version of QDU1000 and QRU100 SoCs. Co-developed-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> --- Changes since v1: - Newly added drivers/clk/qcom/gcc-qdu1000.c | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/drivers/clk/qcom/gcc-qdu1000.c b/drivers/clk/qcom/gcc-qdu1000.c index c00d26a3e6df..991fb2bc97e9 100644 --- a/drivers/clk/qcom/gcc-qdu1000.c +++ b/drivers/clk/qcom/gcc-qdu1000.c @@ -1131,6 +1131,26 @@ static struct clk_branch gcc_ddrss_ecpri_dma_clk = { }, }; +static struct clk_branch gcc_ddrss_ecpri_gsi_clk = { + .halt_reg = 0x54298, + .halt_check = BRANCH_HALT_VOTED, + .hwcg_reg = 0x54298, + .hwcg_bit = 1, + .clkr = { + .enable_reg = 0x54298, + .enable_mask = BIT(0), + .hw.init = &(const struct clk_init_data) { + .name = "gcc_ddrss_ecpri_gsi_clk", + .parent_hws = (const struct clk_hw*[]) { + &gcc_aggre_noc_ecpri_gsi_clk_src.clkr.hw, + }, + .num_parents = 1, + .flags = CLK_SET_RATE_PARENT, + .ops = &clk_branch2_aon_ops, + }, + }, +}; + static struct clk_branch gcc_ecpri_ahb_clk = { .halt_reg = 0x3a008, .halt_check = BRANCH_HALT_VOTED, @@ -1447,14 +1467,13 @@ static struct clk_branch gcc_pcie_0_cfg_ahb_clk = { static struct clk_branch gcc_pcie_0_clkref_en = { .halt_reg = 0x9c004, - .halt_bit = 31, - .halt_check = BRANCH_HALT_ENABLE, + .halt_check = BRANCH_HALT, .clkr = { .enable_reg = 0x9c004, .enable_mask = BIT(0), .hw.init = &(const struct clk_init_data) { .name = "gcc_pcie_0_clkref_en", - .ops = &clk_branch_ops, + .ops = &clk_branch2_ops, }, }, }; @@ -2274,14 +2293,13 @@ static struct clk_branch gcc_tsc_etu_clk = { static struct clk_branch gcc_usb2_clkref_en = { .halt_reg = 0x9c008, - .halt_bit = 31, - .halt_check = BRANCH_HALT_ENABLE, + .halt_check = BRANCH_HALT, .clkr = { .enable_reg = 0x9c008, .enable_mask = BIT(0), .hw.init = &(const struct clk_init_data) { .name = "gcc_usb2_clkref_en", - .ops = &clk_branch_ops, + .ops = &clk_branch2_ops, }, }, }; @@ -2523,6 +2541,8 @@ static struct clk_regmap *gcc_qdu1000_clocks[] = { [GCC_AGGRE_NOC_ECPRI_GSI_CLK] = &gcc_aggre_noc_ecpri_gsi_clk.clkr, [GCC_PCIE_0_PHY_AUX_CLK_SRC] = &gcc_pcie_0_phy_aux_clk_src.clkr, [GCC_PCIE_0_PIPE_CLK_SRC] = &gcc_pcie_0_pipe_clk_src.clkr, + [GCC_GPLL1_OUT_EVEN] = &gcc_gpll1_out_even.clkr, + [GCC_DDRSS_ECPRI_GSI_CLK] = &gcc_ddrss_ecpri_gsi_clk.clkr, }; static const struct qcom_reset_map gcc_qdu1000_resets[] = { -- 2.25.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH V2 3/5] clk: qcom: gcc-qdu1000: Update GCC clocks as per the latest hw version 2023-06-28 9:28 ` [PATCH V2 3/5] clk: qcom: gcc-qdu1000: Update GCC clocks as per the latest hw version Imran Shaik @ 2023-06-28 11:06 ` Konrad Dybcio 2023-07-06 10:51 ` Imran Shaik 0 siblings, 1 reply; 14+ messages in thread From: Konrad Dybcio @ 2023-06-28 11:06 UTC (permalink / raw) To: Imran Shaik, Andy Gross, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey On 28.06.2023 11:28, Imran Shaik wrote: > Add support for gcc_ddrss_ecpri_gsi_clk and update the GCC clkref clocks > as per the latest hardware version of QDU1000 and QRU100 SoCs. > > Co-developed-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> > --- > Changes since v1: > - Newly added > > drivers/clk/qcom/gcc-qdu1000.c | 32 ++++++++++++++++++++++++++------ > 1 file changed, 26 insertions(+), 6 deletions(-) > > diff --git a/drivers/clk/qcom/gcc-qdu1000.c b/drivers/clk/qcom/gcc-qdu1000.c > index c00d26a3e6df..991fb2bc97e9 100644 > --- a/drivers/clk/qcom/gcc-qdu1000.c > +++ b/drivers/clk/qcom/gcc-qdu1000.c > @@ -1131,6 +1131,26 @@ static struct clk_branch gcc_ddrss_ecpri_dma_clk = { > }, > }; > > +static struct clk_branch gcc_ddrss_ecpri_gsi_clk = { > + .halt_reg = 0x54298, > + .halt_check = BRANCH_HALT_VOTED, > + .hwcg_reg = 0x54298, > + .hwcg_bit = 1, > + .clkr = { > + .enable_reg = 0x54298, > + .enable_mask = BIT(0), > + .hw.init = &(const struct clk_init_data) { > + .name = "gcc_ddrss_ecpri_gsi_clk", > + .parent_hws = (const struct clk_hw*[]) { > + &gcc_aggre_noc_ecpri_gsi_clk_src.clkr.hw, > + }, > + .num_parents = 1, > + .flags = CLK_SET_RATE_PARENT, > + .ops = &clk_branch2_aon_ops, > + }, > + }, > +}; > + > static struct clk_branch gcc_ecpri_ahb_clk = { > .halt_reg = 0x3a008, > .halt_check = BRANCH_HALT_VOTED, > @@ -1447,14 +1467,13 @@ static struct clk_branch gcc_pcie_0_cfg_ahb_clk = { > > static struct clk_branch gcc_pcie_0_clkref_en = { > .halt_reg = 0x9c004, > - .halt_bit = 31, > - .halt_check = BRANCH_HALT_ENABLE, > + .halt_check = BRANCH_HALT, > .clkr = { > .enable_reg = 0x9c004, > .enable_mask = BIT(0), > .hw.init = &(const struct clk_init_data) { > .name = "gcc_pcie_0_clkref_en", > - .ops = &clk_branch_ops, > + .ops = &clk_branch2_ops, This sounds like a separate fix, clk_branch_ops seems to only concern 10+yo chips. Konrad > }, > }, > }; > @@ -2274,14 +2293,13 @@ static struct clk_branch gcc_tsc_etu_clk = { > > static struct clk_branch gcc_usb2_clkref_en = { > .halt_reg = 0x9c008, > - .halt_bit = 31, > - .halt_check = BRANCH_HALT_ENABLE, > + .halt_check = BRANCH_HALT, > .clkr = { > .enable_reg = 0x9c008, > .enable_mask = BIT(0), > .hw.init = &(const struct clk_init_data) { > .name = "gcc_usb2_clkref_en", > - .ops = &clk_branch_ops, > + .ops = &clk_branch2_ops, > }, > }, > }; > @@ -2523,6 +2541,8 @@ static struct clk_regmap *gcc_qdu1000_clocks[] = { > [GCC_AGGRE_NOC_ECPRI_GSI_CLK] = &gcc_aggre_noc_ecpri_gsi_clk.clkr, > [GCC_PCIE_0_PHY_AUX_CLK_SRC] = &gcc_pcie_0_phy_aux_clk_src.clkr, > [GCC_PCIE_0_PIPE_CLK_SRC] = &gcc_pcie_0_pipe_clk_src.clkr, > + [GCC_GPLL1_OUT_EVEN] = &gcc_gpll1_out_even.clkr, > + [GCC_DDRSS_ECPRI_GSI_CLK] = &gcc_ddrss_ecpri_gsi_clk.clkr, > }; > > static const struct qcom_reset_map gcc_qdu1000_resets[] = { ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V2 3/5] clk: qcom: gcc-qdu1000: Update GCC clocks as per the latest hw version 2023-06-28 11:06 ` Konrad Dybcio @ 2023-07-06 10:51 ` Imran Shaik 2023-07-06 10:59 ` Konrad Dybcio 0 siblings, 1 reply; 14+ messages in thread From: Imran Shaik @ 2023-07-06 10:51 UTC (permalink / raw) To: Konrad Dybcio, Andy Gross, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey On 6/28/2023 4:36 PM, Konrad Dybcio wrote: > On 28.06.2023 11:28, Imran Shaik wrote: >> Add support for gcc_ddrss_ecpri_gsi_clk and update the GCC clkref clocks >> as per the latest hardware version of QDU1000 and QRU100 SoCs. >> >> Co-developed-by: Taniya Das <quic_tdas@quicinc.com> >> Signed-off-by: Taniya Das <quic_tdas@quicinc.com> >> Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> >> --- >> Changes since v1: >> - Newly added >> >> drivers/clk/qcom/gcc-qdu1000.c | 32 ++++++++++++++++++++++++++------ >> 1 file changed, 26 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/clk/qcom/gcc-qdu1000.c b/drivers/clk/qcom/gcc-qdu1000.c >> index c00d26a3e6df..991fb2bc97e9 100644 >> --- a/drivers/clk/qcom/gcc-qdu1000.c >> +++ b/drivers/clk/qcom/gcc-qdu1000.c >> @@ -1131,6 +1131,26 @@ static struct clk_branch gcc_ddrss_ecpri_dma_clk = { >> }, >> }; >> >> +static struct clk_branch gcc_ddrss_ecpri_gsi_clk = { >> + .halt_reg = 0x54298, >> + .halt_check = BRANCH_HALT_VOTED, >> + .hwcg_reg = 0x54298, >> + .hwcg_bit = 1, >> + .clkr = { >> + .enable_reg = 0x54298, >> + .enable_mask = BIT(0), >> + .hw.init = &(const struct clk_init_data) { >> + .name = "gcc_ddrss_ecpri_gsi_clk", >> + .parent_hws = (const struct clk_hw*[]) { >> + &gcc_aggre_noc_ecpri_gsi_clk_src.clkr.hw, >> + }, >> + .num_parents = 1, >> + .flags = CLK_SET_RATE_PARENT, >> + .ops = &clk_branch2_aon_ops, >> + }, >> + }, >> +}; >> + >> static struct clk_branch gcc_ecpri_ahb_clk = { >> .halt_reg = 0x3a008, >> .halt_check = BRANCH_HALT_VOTED, >> @@ -1447,14 +1467,13 @@ static struct clk_branch gcc_pcie_0_cfg_ahb_clk = { >> >> static struct clk_branch gcc_pcie_0_clkref_en = { >> .halt_reg = 0x9c004, >> - .halt_bit = 31, >> - .halt_check = BRANCH_HALT_ENABLE, >> + .halt_check = BRANCH_HALT, >> .clkr = { >> .enable_reg = 0x9c004, >> .enable_mask = BIT(0), >> .hw.init = &(const struct clk_init_data) { >> .name = "gcc_pcie_0_clkref_en", >> - .ops = &clk_branch_ops, >> + .ops = &clk_branch2_ops, > This sounds like a separate fix, clk_branch_ops seems to only concern > 10+yo chips. > > Konrad Sure, will split this patch and push the next series. Thanks, Imran >> }, >> }, >> }; >> @@ -2274,14 +2293,13 @@ static struct clk_branch gcc_tsc_etu_clk = { >> >> static struct clk_branch gcc_usb2_clkref_en = { >> .halt_reg = 0x9c008, >> - .halt_bit = 31, >> - .halt_check = BRANCH_HALT_ENABLE, >> + .halt_check = BRANCH_HALT, >> .clkr = { >> .enable_reg = 0x9c008, >> .enable_mask = BIT(0), >> .hw.init = &(const struct clk_init_data) { >> .name = "gcc_usb2_clkref_en", >> - .ops = &clk_branch_ops, >> + .ops = &clk_branch2_ops, >> }, >> }, >> }; >> @@ -2523,6 +2541,8 @@ static struct clk_regmap *gcc_qdu1000_clocks[] = { >> [GCC_AGGRE_NOC_ECPRI_GSI_CLK] = &gcc_aggre_noc_ecpri_gsi_clk.clkr, >> [GCC_PCIE_0_PHY_AUX_CLK_SRC] = &gcc_pcie_0_phy_aux_clk_src.clkr, >> [GCC_PCIE_0_PIPE_CLK_SRC] = &gcc_pcie_0_pipe_clk_src.clkr, >> + [GCC_GPLL1_OUT_EVEN] = &gcc_gpll1_out_even.clkr, >> + [GCC_DDRSS_ECPRI_GSI_CLK] = &gcc_ddrss_ecpri_gsi_clk.clkr, >> }; >> >> static const struct qcom_reset_map gcc_qdu1000_resets[] = { ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH V2 3/5] clk: qcom: gcc-qdu1000: Update GCC clocks as per the latest hw version 2023-07-06 10:51 ` Imran Shaik @ 2023-07-06 10:59 ` Konrad Dybcio 0 siblings, 0 replies; 14+ messages in thread From: Konrad Dybcio @ 2023-07-06 10:59 UTC (permalink / raw) To: Imran Shaik, Andy Gross, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey On 6.07.2023 12:51, Imran Shaik wrote: > > > On 6/28/2023 4:36 PM, Konrad Dybcio wrote: >> On 28.06.2023 11:28, Imran Shaik wrote: >>> Add support for gcc_ddrss_ecpri_gsi_clk and update the GCC clkref clocks >>> as per the latest hardware version of QDU1000 and QRU100 SoCs. >>> >>> Co-developed-by: Taniya Das <quic_tdas@quicinc.com> >>> Signed-off-by: Taniya Das <quic_tdas@quicinc.com> >>> Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> >>> --- [...] >>> .enable_reg = 0x9c004, >>> .enable_mask = BIT(0), >>> .hw.init = &(const struct clk_init_data) { >>> .name = "gcc_pcie_0_clkref_en", >>> - .ops = &clk_branch_ops, >>> + .ops = &clk_branch2_ops, >> This sounds like a separate fix, clk_branch_ops seems to only concern >> 10+yo chips. >> >> Konrad > > Sure, will split this patch and push the next series. One more nit, I noticed that a lot of QUIC folks respond to the comments to their revision-N and send revision-(N+1) like 5 seconds later.. This maybe does not concern this message, as all you did is said "ok willfix", but if you have some sort of a company-wide "upstream best practices" board, you may add something like "wait a bit to let others respond to your email" Konrad > > Thanks, > Imran > >>> }, >>> }, >>> }; >>> @@ -2274,14 +2293,13 @@ static struct clk_branch gcc_tsc_etu_clk = { >>> static struct clk_branch gcc_usb2_clkref_en = { >>> .halt_reg = 0x9c008, >>> - .halt_bit = 31, >>> - .halt_check = BRANCH_HALT_ENABLE, >>> + .halt_check = BRANCH_HALT, >>> .clkr = { >>> .enable_reg = 0x9c008, >>> .enable_mask = BIT(0), >>> .hw.init = &(const struct clk_init_data) { >>> .name = "gcc_usb2_clkref_en", >>> - .ops = &clk_branch_ops, >>> + .ops = &clk_branch2_ops, >>> }, >>> }, >>> }; >>> @@ -2523,6 +2541,8 @@ static struct clk_regmap *gcc_qdu1000_clocks[] = { >>> [GCC_AGGRE_NOC_ECPRI_GSI_CLK] = &gcc_aggre_noc_ecpri_gsi_clk.clkr, >>> [GCC_PCIE_0_PHY_AUX_CLK_SRC] = &gcc_pcie_0_phy_aux_clk_src.clkr, >>> [GCC_PCIE_0_PIPE_CLK_SRC] = &gcc_pcie_0_pipe_clk_src.clkr, >>> + [GCC_GPLL1_OUT_EVEN] = &gcc_gpll1_out_even.clkr, >>> + [GCC_DDRSS_ECPRI_GSI_CLK] = &gcc_ddrss_ecpri_gsi_clk.clkr, >>> }; >>> static const struct qcom_reset_map gcc_qdu1000_resets[] = { ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH V2 4/5] clk: qcom: gcc-qdu1000: Add support for GDSCs 2023-06-28 9:28 [PATCH V2 0/5] Update GCC clocks for QDU1000 and QRU1000 SoCs Imran Shaik ` (2 preceding siblings ...) 2023-06-28 9:28 ` [PATCH V2 3/5] clk: qcom: gcc-qdu1000: Update GCC clocks as per the latest hw version Imran Shaik @ 2023-06-28 9:28 ` Imran Shaik 2023-06-28 11:08 ` Konrad Dybcio 2023-06-28 9:28 ` [PATCH V2 5/5] clk: qcom: gcc-qdu1000: Update the RCGs ops Imran Shaik 4 siblings, 1 reply; 14+ messages in thread From: Imran Shaik @ 2023-06-28 9:28 UTC (permalink / raw) To: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Imran Shaik, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey Add the GDSCs support for QDU1000 and QRU1000 SoCs. Co-developed-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> --- Changes since v1: - Newly added drivers/clk/qcom/gcc-qdu1000.c | 42 ++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/drivers/clk/qcom/gcc-qdu1000.c b/drivers/clk/qcom/gcc-qdu1000.c index 991fb2bc97e9..718c34dca6e8 100644 --- a/drivers/clk/qcom/gcc-qdu1000.c +++ b/drivers/clk/qcom/gcc-qdu1000.c @@ -17,6 +17,7 @@ #include "clk-regmap-divider.h" #include "clk-regmap-mux.h" #include "clk-regmap-phy-mux.h" +#include "gdsc.h" #include "reset.h" enum { @@ -2409,6 +2410,39 @@ static struct clk_branch gcc_usb3_prim_phy_pipe_clk = { }, }; +static struct gdsc pcie_0_gdsc = { + .gdscr = 0x9d004, + .en_rest_wait_val = 0x2, + .en_few_wait_val = 0x2, + .clk_dis_wait_val = 0xf, + .pd = { + .name = "gcc_pcie_0_gdsc", + }, + .pwrsts = PWRSTS_OFF_ON, +}; + +static struct gdsc pcie_0_phy_gdsc = { + .gdscr = 0x7c004, + .en_rest_wait_val = 0x2, + .en_few_wait_val = 0x2, + .clk_dis_wait_val = 0x2, + .pd = { + .name = "gcc_pcie_0_phy_gdsc", + }, + .pwrsts = PWRSTS_OFF_ON, +}; + +static struct gdsc usb30_prim_gdsc = { + .gdscr = 0x49004, + .en_rest_wait_val = 0x2, + .en_few_wait_val = 0x2, + .clk_dis_wait_val = 0xf, + .pd = { + .name = "gcc_usb30_prim_gdsc", + }, + .pwrsts = PWRSTS_OFF_ON, +}; + static struct clk_regmap *gcc_qdu1000_clocks[] = { [GCC_AGGRE_NOC_ECPRI_DMA_CLK] = &gcc_aggre_noc_ecpri_dma_clk.clkr, [GCC_AGGRE_NOC_ECPRI_DMA_CLK_SRC] = &gcc_aggre_noc_ecpri_dma_clk_src.clkr, @@ -2545,6 +2579,12 @@ static struct clk_regmap *gcc_qdu1000_clocks[] = { [GCC_DDRSS_ECPRI_GSI_CLK] = &gcc_ddrss_ecpri_gsi_clk.clkr, }; +static struct gdsc *gcc_qdu1000_gdscs[] = { + [PCIE_0_GDSC] = &pcie_0_gdsc, + [PCIE_0_PHY_GDSC] = &pcie_0_phy_gdsc, + [USB30_PRIM_GDSC] = &usb30_prim_gdsc, +}; + static const struct qcom_reset_map gcc_qdu1000_resets[] = { [GCC_ECPRI_CC_BCR] = { 0x3e000 }, [GCC_ECPRI_SS_BCR] = { 0x3a000 }, @@ -2606,6 +2646,8 @@ static const struct qcom_cc_desc gcc_qdu1000_desc = { .num_clks = ARRAY_SIZE(gcc_qdu1000_clocks), .resets = gcc_qdu1000_resets, .num_resets = ARRAY_SIZE(gcc_qdu1000_resets), + .gdscs = gcc_qdu1000_gdscs, + .num_gdscs = ARRAY_SIZE(gcc_qdu1000_gdscs), }; static const struct of_device_id gcc_qdu1000_match_table[] = { -- 2.25.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH V2 4/5] clk: qcom: gcc-qdu1000: Add support for GDSCs 2023-06-28 9:28 ` [PATCH V2 4/5] clk: qcom: gcc-qdu1000: Add support for GDSCs Imran Shaik @ 2023-06-28 11:08 ` Konrad Dybcio 0 siblings, 0 replies; 14+ messages in thread From: Konrad Dybcio @ 2023-06-28 11:08 UTC (permalink / raw) To: Imran Shaik, Andy Gross, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey On 28.06.2023 11:28, Imran Shaik wrote: > Add the GDSCs support for QDU1000 and QRU1000 SoCs. > > Co-developed-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > Changes since v1: > - Newly added > > drivers/clk/qcom/gcc-qdu1000.c | 42 ++++++++++++++++++++++++++++++++++ > 1 file changed, 42 insertions(+) > > diff --git a/drivers/clk/qcom/gcc-qdu1000.c b/drivers/clk/qcom/gcc-qdu1000.c > index 991fb2bc97e9..718c34dca6e8 100644 > --- a/drivers/clk/qcom/gcc-qdu1000.c > +++ b/drivers/clk/qcom/gcc-qdu1000.c > @@ -17,6 +17,7 @@ > #include "clk-regmap-divider.h" > #include "clk-regmap-mux.h" > #include "clk-regmap-phy-mux.h" > +#include "gdsc.h" > #include "reset.h" > > enum { > @@ -2409,6 +2410,39 @@ static struct clk_branch gcc_usb3_prim_phy_pipe_clk = { > }, > }; > > +static struct gdsc pcie_0_gdsc = { > + .gdscr = 0x9d004, > + .en_rest_wait_val = 0x2, > + .en_few_wait_val = 0x2, > + .clk_dis_wait_val = 0xf, > + .pd = { > + .name = "gcc_pcie_0_gdsc", > + }, > + .pwrsts = PWRSTS_OFF_ON, > +}; > + > +static struct gdsc pcie_0_phy_gdsc = { > + .gdscr = 0x7c004, > + .en_rest_wait_val = 0x2, > + .en_few_wait_val = 0x2, > + .clk_dis_wait_val = 0x2, > + .pd = { > + .name = "gcc_pcie_0_phy_gdsc", > + }, > + .pwrsts = PWRSTS_OFF_ON, > +}; > + > +static struct gdsc usb30_prim_gdsc = { > + .gdscr = 0x49004, > + .en_rest_wait_val = 0x2, > + .en_few_wait_val = 0x2, > + .clk_dis_wait_val = 0xf, > + .pd = { > + .name = "gcc_usb30_prim_gdsc", > + }, > + .pwrsts = PWRSTS_OFF_ON, > +}; > + > static struct clk_regmap *gcc_qdu1000_clocks[] = { > [GCC_AGGRE_NOC_ECPRI_DMA_CLK] = &gcc_aggre_noc_ecpri_dma_clk.clkr, > [GCC_AGGRE_NOC_ECPRI_DMA_CLK_SRC] = &gcc_aggre_noc_ecpri_dma_clk_src.clkr, > @@ -2545,6 +2579,12 @@ static struct clk_regmap *gcc_qdu1000_clocks[] = { > [GCC_DDRSS_ECPRI_GSI_CLK] = &gcc_ddrss_ecpri_gsi_clk.clkr, > }; > > +static struct gdsc *gcc_qdu1000_gdscs[] = { > + [PCIE_0_GDSC] = &pcie_0_gdsc, > + [PCIE_0_PHY_GDSC] = &pcie_0_phy_gdsc, > + [USB30_PRIM_GDSC] = &usb30_prim_gdsc, > +}; > + > static const struct qcom_reset_map gcc_qdu1000_resets[] = { > [GCC_ECPRI_CC_BCR] = { 0x3e000 }, > [GCC_ECPRI_SS_BCR] = { 0x3a000 }, > @@ -2606,6 +2646,8 @@ static const struct qcom_cc_desc gcc_qdu1000_desc = { > .num_clks = ARRAY_SIZE(gcc_qdu1000_clocks), > .resets = gcc_qdu1000_resets, > .num_resets = ARRAY_SIZE(gcc_qdu1000_resets), > + .gdscs = gcc_qdu1000_gdscs, > + .num_gdscs = ARRAY_SIZE(gcc_qdu1000_gdscs), > }; > > static const struct of_device_id gcc_qdu1000_match_table[] = { ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH V2 5/5] clk: qcom: gcc-qdu1000: Update the RCGs ops 2023-06-28 9:28 [PATCH V2 0/5] Update GCC clocks for QDU1000 and QRU1000 SoCs Imran Shaik ` (3 preceding siblings ...) 2023-06-28 9:28 ` [PATCH V2 4/5] clk: qcom: gcc-qdu1000: Add support for GDSCs Imran Shaik @ 2023-06-28 9:28 ` Imran Shaik 2023-06-28 11:08 ` Konrad Dybcio 4 siblings, 1 reply; 14+ messages in thread From: Imran Shaik @ 2023-06-28 9:28 UTC (permalink / raw) To: Andy Gross, Konrad Dybcio, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Imran Shaik, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey Update the SDCC clock RCG ops to floor_ops to avoid overclocking issues and remaining RCGs to shared_ops to park them at safe clock(XO) during disable. Co-developed-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Taniya Das <quic_tdas@quicinc.com> Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> --- Changes since v1: - Newly added drivers/clk/qcom/gcc-qdu1000.c | 62 +++++++++++++++++----------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/drivers/clk/qcom/gcc-qdu1000.c b/drivers/clk/qcom/gcc-qdu1000.c index 718c34dca6e8..de35cdc93732 100644 --- a/drivers/clk/qcom/gcc-qdu1000.c +++ b/drivers/clk/qcom/gcc-qdu1000.c @@ -475,7 +475,7 @@ static struct clk_rcg2 gcc_aggre_noc_ecpri_dma_clk_src = { .name = "gcc_aggre_noc_ecpri_dma_clk_src", .parent_data = gcc_parent_data_4, .num_parents = ARRAY_SIZE(gcc_parent_data_4), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -495,7 +495,7 @@ static struct clk_rcg2 gcc_aggre_noc_ecpri_gsi_clk_src = { .name = "gcc_aggre_noc_ecpri_gsi_clk_src", .parent_data = gcc_parent_data_5, .num_parents = ARRAY_SIZE(gcc_parent_data_5), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -514,7 +514,7 @@ static struct clk_rcg2 gcc_gp1_clk_src = { .name = "gcc_gp1_clk_src", .parent_data = gcc_parent_data_1, .num_parents = ARRAY_SIZE(gcc_parent_data_1), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -528,7 +528,7 @@ static struct clk_rcg2 gcc_gp2_clk_src = { .name = "gcc_gp2_clk_src", .parent_data = gcc_parent_data_1, .num_parents = ARRAY_SIZE(gcc_parent_data_1), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -542,7 +542,7 @@ static struct clk_rcg2 gcc_gp3_clk_src = { .name = "gcc_gp3_clk_src", .parent_data = gcc_parent_data_1, .num_parents = ARRAY_SIZE(gcc_parent_data_1), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -561,7 +561,7 @@ static struct clk_rcg2 gcc_pcie_0_aux_clk_src = { .name = "gcc_pcie_0_aux_clk_src", .parent_data = gcc_parent_data_3, .num_parents = ARRAY_SIZE(gcc_parent_data_3), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -581,7 +581,7 @@ static struct clk_rcg2 gcc_pcie_0_phy_rchng_clk_src = { .name = "gcc_pcie_0_phy_rchng_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -600,7 +600,7 @@ static struct clk_rcg2 gcc_pdm2_clk_src = { .name = "gcc_pdm2_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -622,7 +622,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s0_clk_src_init = { .name = "gcc_qupv3_wrap0_s0_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap0_s0_clk_src = { @@ -638,7 +638,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s1_clk_src_init = { .name = "gcc_qupv3_wrap0_s1_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap0_s1_clk_src = { @@ -654,7 +654,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s2_clk_src_init = { .name = "gcc_qupv3_wrap0_s2_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap0_s2_clk_src = { @@ -670,7 +670,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s3_clk_src_init = { .name = "gcc_qupv3_wrap0_s3_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap0_s3_clk_src = { @@ -686,7 +686,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s4_clk_src_init = { .name = "gcc_qupv3_wrap0_s4_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap0_s4_clk_src = { @@ -707,7 +707,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s5_clk_src_init = { .name = "gcc_qupv3_wrap0_s5_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap0_s5_clk_src = { @@ -723,7 +723,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s6_clk_src_init = { .name = "gcc_qupv3_wrap0_s6_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap0_s6_clk_src = { @@ -739,7 +739,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s7_clk_src_init = { .name = "gcc_qupv3_wrap0_s7_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap0_s7_clk_src = { @@ -755,7 +755,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s0_clk_src_init = { .name = "gcc_qupv3_wrap1_s0_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap1_s0_clk_src = { @@ -771,7 +771,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s1_clk_src_init = { .name = "gcc_qupv3_wrap1_s1_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap1_s1_clk_src = { @@ -787,7 +787,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s2_clk_src_init = { .name = "gcc_qupv3_wrap1_s2_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap1_s2_clk_src = { @@ -803,7 +803,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s3_clk_src_init = { .name = "gcc_qupv3_wrap1_s3_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap1_s3_clk_src = { @@ -819,7 +819,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s4_clk_src_init = { .name = "gcc_qupv3_wrap1_s4_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap1_s4_clk_src = { @@ -835,7 +835,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s5_clk_src_init = { .name = "gcc_qupv3_wrap1_s5_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap1_s5_clk_src = { @@ -851,7 +851,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s6_clk_src_init = { .name = "gcc_qupv3_wrap1_s6_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap1_s6_clk_src = { @@ -867,7 +867,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s7_clk_src_init = { .name = "gcc_qupv3_wrap1_s7_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }; static struct clk_rcg2 gcc_qupv3_wrap1_s7_clk_src = { @@ -903,7 +903,7 @@ static struct clk_rcg2 gcc_sdcc5_apps_clk_src = { .name = "gcc_sdcc5_apps_clk_src", .parent_data = gcc_parent_data_8, .num_parents = ARRAY_SIZE(gcc_parent_data_8), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_floor_ops, }, }; @@ -922,7 +922,7 @@ static struct clk_rcg2 gcc_sdcc5_ice_core_clk_src = { .name = "gcc_sdcc5_ice_core_clk_src", .parent_data = gcc_parent_data_2, .num_parents = ARRAY_SIZE(gcc_parent_data_2), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_floor_ops, }, }; @@ -936,7 +936,7 @@ static struct clk_rcg2 gcc_sm_bus_xo_clk_src = { .name = "gcc_sm_bus_xo_clk_src", .parent_data = gcc_parent_data_2, .num_parents = ARRAY_SIZE(gcc_parent_data_2), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -955,7 +955,7 @@ static struct clk_rcg2 gcc_tsc_clk_src = { .name = "gcc_tsc_clk_src", .parent_data = gcc_parent_data_9, .num_parents = ARRAY_SIZE(gcc_parent_data_9), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -975,7 +975,7 @@ static struct clk_rcg2 gcc_usb30_prim_master_clk_src = { .name = "gcc_usb30_prim_master_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -989,7 +989,7 @@ static struct clk_rcg2 gcc_usb30_prim_mock_utmi_clk_src = { .name = "gcc_usb30_prim_mock_utmi_clk_src", .parent_data = gcc_parent_data_0, .num_parents = ARRAY_SIZE(gcc_parent_data_0), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -1003,7 +1003,7 @@ static struct clk_rcg2 gcc_usb3_prim_phy_aux_clk_src = { .name = "gcc_usb3_prim_phy_aux_clk_src", .parent_data = gcc_parent_data_3, .num_parents = ARRAY_SIZE(gcc_parent_data_3), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; -- 2.25.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH V2 5/5] clk: qcom: gcc-qdu1000: Update the RCGs ops 2023-06-28 9:28 ` [PATCH V2 5/5] clk: qcom: gcc-qdu1000: Update the RCGs ops Imran Shaik @ 2023-06-28 11:08 ` Konrad Dybcio 0 siblings, 0 replies; 14+ messages in thread From: Konrad Dybcio @ 2023-06-28 11:08 UTC (permalink / raw) To: Imran Shaik, Andy Gross, Michael Turquette, Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley Cc: Taniya Das, Melody Olvera, Dmitry Baryshkov, linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona, Satya Priya Kakitapalli, Ajit Pandey On 28.06.2023 11:28, Imran Shaik wrote: > Update the SDCC clock RCG ops to floor_ops to avoid overclocking issues > and remaining RCGs to shared_ops to park them at safe clock(XO) during > disable. > > Co-developed-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Imran Shaik <quic_imrashai@quicinc.com> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > Changes since v1: > - Newly added > > drivers/clk/qcom/gcc-qdu1000.c | 62 +++++++++++++++++----------------- > 1 file changed, 31 insertions(+), 31 deletions(-) > > diff --git a/drivers/clk/qcom/gcc-qdu1000.c b/drivers/clk/qcom/gcc-qdu1000.c > index 718c34dca6e8..de35cdc93732 100644 > --- a/drivers/clk/qcom/gcc-qdu1000.c > +++ b/drivers/clk/qcom/gcc-qdu1000.c > @@ -475,7 +475,7 @@ static struct clk_rcg2 gcc_aggre_noc_ecpri_dma_clk_src = { > .name = "gcc_aggre_noc_ecpri_dma_clk_src", > .parent_data = gcc_parent_data_4, > .num_parents = ARRAY_SIZE(gcc_parent_data_4), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -495,7 +495,7 @@ static struct clk_rcg2 gcc_aggre_noc_ecpri_gsi_clk_src = { > .name = "gcc_aggre_noc_ecpri_gsi_clk_src", > .parent_data = gcc_parent_data_5, > .num_parents = ARRAY_SIZE(gcc_parent_data_5), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -514,7 +514,7 @@ static struct clk_rcg2 gcc_gp1_clk_src = { > .name = "gcc_gp1_clk_src", > .parent_data = gcc_parent_data_1, > .num_parents = ARRAY_SIZE(gcc_parent_data_1), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -528,7 +528,7 @@ static struct clk_rcg2 gcc_gp2_clk_src = { > .name = "gcc_gp2_clk_src", > .parent_data = gcc_parent_data_1, > .num_parents = ARRAY_SIZE(gcc_parent_data_1), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -542,7 +542,7 @@ static struct clk_rcg2 gcc_gp3_clk_src = { > .name = "gcc_gp3_clk_src", > .parent_data = gcc_parent_data_1, > .num_parents = ARRAY_SIZE(gcc_parent_data_1), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -561,7 +561,7 @@ static struct clk_rcg2 gcc_pcie_0_aux_clk_src = { > .name = "gcc_pcie_0_aux_clk_src", > .parent_data = gcc_parent_data_3, > .num_parents = ARRAY_SIZE(gcc_parent_data_3), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -581,7 +581,7 @@ static struct clk_rcg2 gcc_pcie_0_phy_rchng_clk_src = { > .name = "gcc_pcie_0_phy_rchng_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -600,7 +600,7 @@ static struct clk_rcg2 gcc_pdm2_clk_src = { > .name = "gcc_pdm2_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -622,7 +622,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s0_clk_src_init = { > .name = "gcc_qupv3_wrap0_s0_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap0_s0_clk_src = { > @@ -638,7 +638,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s1_clk_src_init = { > .name = "gcc_qupv3_wrap0_s1_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap0_s1_clk_src = { > @@ -654,7 +654,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s2_clk_src_init = { > .name = "gcc_qupv3_wrap0_s2_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap0_s2_clk_src = { > @@ -670,7 +670,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s3_clk_src_init = { > .name = "gcc_qupv3_wrap0_s3_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap0_s3_clk_src = { > @@ -686,7 +686,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s4_clk_src_init = { > .name = "gcc_qupv3_wrap0_s4_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap0_s4_clk_src = { > @@ -707,7 +707,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s5_clk_src_init = { > .name = "gcc_qupv3_wrap0_s5_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap0_s5_clk_src = { > @@ -723,7 +723,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s6_clk_src_init = { > .name = "gcc_qupv3_wrap0_s6_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap0_s6_clk_src = { > @@ -739,7 +739,7 @@ static struct clk_init_data gcc_qupv3_wrap0_s7_clk_src_init = { > .name = "gcc_qupv3_wrap0_s7_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap0_s7_clk_src = { > @@ -755,7 +755,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s0_clk_src_init = { > .name = "gcc_qupv3_wrap1_s0_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap1_s0_clk_src = { > @@ -771,7 +771,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s1_clk_src_init = { > .name = "gcc_qupv3_wrap1_s1_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap1_s1_clk_src = { > @@ -787,7 +787,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s2_clk_src_init = { > .name = "gcc_qupv3_wrap1_s2_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap1_s2_clk_src = { > @@ -803,7 +803,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s3_clk_src_init = { > .name = "gcc_qupv3_wrap1_s3_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap1_s3_clk_src = { > @@ -819,7 +819,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s4_clk_src_init = { > .name = "gcc_qupv3_wrap1_s4_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap1_s4_clk_src = { > @@ -835,7 +835,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s5_clk_src_init = { > .name = "gcc_qupv3_wrap1_s5_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap1_s5_clk_src = { > @@ -851,7 +851,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s6_clk_src_init = { > .name = "gcc_qupv3_wrap1_s6_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap1_s6_clk_src = { > @@ -867,7 +867,7 @@ static struct clk_init_data gcc_qupv3_wrap1_s7_clk_src_init = { > .name = "gcc_qupv3_wrap1_s7_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }; > > static struct clk_rcg2 gcc_qupv3_wrap1_s7_clk_src = { > @@ -903,7 +903,7 @@ static struct clk_rcg2 gcc_sdcc5_apps_clk_src = { > .name = "gcc_sdcc5_apps_clk_src", > .parent_data = gcc_parent_data_8, > .num_parents = ARRAY_SIZE(gcc_parent_data_8), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_floor_ops, > }, > }; > > @@ -922,7 +922,7 @@ static struct clk_rcg2 gcc_sdcc5_ice_core_clk_src = { > .name = "gcc_sdcc5_ice_core_clk_src", > .parent_data = gcc_parent_data_2, > .num_parents = ARRAY_SIZE(gcc_parent_data_2), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_floor_ops, > }, > }; > > @@ -936,7 +936,7 @@ static struct clk_rcg2 gcc_sm_bus_xo_clk_src = { > .name = "gcc_sm_bus_xo_clk_src", > .parent_data = gcc_parent_data_2, > .num_parents = ARRAY_SIZE(gcc_parent_data_2), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -955,7 +955,7 @@ static struct clk_rcg2 gcc_tsc_clk_src = { > .name = "gcc_tsc_clk_src", > .parent_data = gcc_parent_data_9, > .num_parents = ARRAY_SIZE(gcc_parent_data_9), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -975,7 +975,7 @@ static struct clk_rcg2 gcc_usb30_prim_master_clk_src = { > .name = "gcc_usb30_prim_master_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -989,7 +989,7 @@ static struct clk_rcg2 gcc_usb30_prim_mock_utmi_clk_src = { > .name = "gcc_usb30_prim_mock_utmi_clk_src", > .parent_data = gcc_parent_data_0, > .num_parents = ARRAY_SIZE(gcc_parent_data_0), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > > @@ -1003,7 +1003,7 @@ static struct clk_rcg2 gcc_usb3_prim_phy_aux_clk_src = { > .name = "gcc_usb3_prim_phy_aux_clk_src", > .parent_data = gcc_parent_data_3, > .num_parents = ARRAY_SIZE(gcc_parent_data_3), > - .ops = &clk_rcg2_ops, > + .ops = &clk_rcg2_shared_ops, > }, > }; > ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-07-06 11:00 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-06-28 9:28 [PATCH V2 0/5] Update GCC clocks for QDU1000 and QRU1000 SoCs Imran Shaik 2023-06-28 9:28 ` [PATCH V2 1/5] dt-bindings: clock: " Imran Shaik 2023-06-28 10:18 ` Rob Herring 2023-06-28 15:50 ` Rob Herring 2023-06-28 9:28 ` [PATCH V2 2/5] clk: qcom: gcc-qdu1000: Fix gcc_pcie_0_pipe_clk_src clock handling Imran Shaik 2023-06-28 11:03 ` Konrad Dybcio 2023-06-28 9:28 ` [PATCH V2 3/5] clk: qcom: gcc-qdu1000: Update GCC clocks as per the latest hw version Imran Shaik 2023-06-28 11:06 ` Konrad Dybcio 2023-07-06 10:51 ` Imran Shaik 2023-07-06 10:59 ` Konrad Dybcio 2023-06-28 9:28 ` [PATCH V2 4/5] clk: qcom: gcc-qdu1000: Add support for GDSCs Imran Shaik 2023-06-28 11:08 ` Konrad Dybcio 2023-06-28 9:28 ` [PATCH V2 5/5] clk: qcom: gcc-qdu1000: Update the RCGs ops Imran Shaik 2023-06-28 11:08 ` Konrad Dybcio
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox