2021-07-13 15:16:22

by Taniya Das

[permalink] [raw]
Subject: [PATCH v3 0/7] Add support for DISP/VIDEO/GPU CCs for SC7280

Add support for display, video & graphics clock controllers on SC7280
along with the bindings for each of the clock controllers.

[v3]
* Update BSD license for Device Tree documentation and bindings for display,
graphics, video and also global clock controller.
* Update 'const' for all the VCO tables.
* Remove critical video xo clock from video driver as the clock is enabled
from HW and no SW modelled clock required.

[v2]
* Use the .hws instead of clk_parent_data when the whole array is
clk_hw pointers for all the clock drivers.

[v1]
* Documentation binding for DISP, GPU, VIDEO clock controller for SC7280.
* Add the DISP, GPU, VIDEO clock drivers for SC7280.

Taniya Das (7):
dt-bindings: clock: qcom: Update license for GCC SC7280
dt-bindings: clock: Add SC7280 DISPCC clock binding
clk: qcom: Add display clock controller driver for SC7280
dt-bindings: clock: Add SC7280 GPUCC clock binding
clk: qcom: Add graphics clock controller driver for SC7280
dt-bindings: clock: Add SC7280 VideoCC clock binding
clk: qcom: Add video clock controller driver for SC7280

.../devicetree/bindings/clock/qcom,gpucc.yaml | 6 +-
.../bindings/clock/qcom,sc7280-dispcc.yaml | 94 +++
.../devicetree/bindings/clock/qcom,videocc.yaml | 6 +-
drivers/clk/qcom/Kconfig | 25 +
drivers/clk/qcom/Makefile | 3 +
drivers/clk/qcom/dispcc-sc7280.c | 908 +++++++++++++++++++++
drivers/clk/qcom/gpucc-sc7280.c | 491 +++++++++++
drivers/clk/qcom/videocc-sc7280.c | 325 ++++++++
include/dt-bindings/clock/qcom,dispcc-sc7280.h | 55 ++
include/dt-bindings/clock/qcom,gcc-sc7280.h | 2 +-
include/dt-bindings/clock/qcom,gpucc-sc7280.h | 35 +
include/dt-bindings/clock/qcom,videocc-sc7280.h | 27 +
12 files changed, 1972 insertions(+), 5 deletions(-)
create mode 100644 Documentation/devicetree/bindings/clock/qcom,sc7280-dispcc.yaml
create mode 100644 drivers/clk/qcom/dispcc-sc7280.c
create mode 100644 drivers/clk/qcom/gpucc-sc7280.c
create mode 100644 drivers/clk/qcom/videocc-sc7280.c
create mode 100644 include/dt-bindings/clock/qcom,dispcc-sc7280.h
create mode 100644 include/dt-bindings/clock/qcom,gpucc-sc7280.h
create mode 100644 include/dt-bindings/clock/qcom,videocc-sc7280.h

--
Qualcomm INDIA, on behalf of Qualcomm Innovation Center, Inc.is a member
of the Code Aurora Forum, hosted by the Linux Foundation.


2021-07-13 15:16:32

by Taniya Das

[permalink] [raw]
Subject: [PATCH v3 1/7] dt-bindings: clock: qcom: Update license for GCC SC7280

Update BSD license for GCC clock ids.

Fixes: 87a3d523b38c ("dt-bindings: clock: Add SC7280 GCC clock binding")
Signed-off-by: Taniya Das <[email protected]>
---
include/dt-bindings/clock/qcom,gcc-sc7280.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/dt-bindings/clock/qcom,gcc-sc7280.h b/include/dt-bindings/clock/qcom,gcc-sc7280.h
index 4394f15..3d5724b 100644
--- a/include/dt-bindings/clock/qcom,gcc-sc7280.h
+++ b/include/dt-bindings/clock/qcom,gcc-sc7280.h
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
/*
* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
*/
--
Qualcomm INDIA, on behalf of Qualcomm Innovation Center, Inc.is a member
of the Code Aurora Forum, hosted by the Linux Foundation.

2021-07-13 15:17:33

by Taniya Das

[permalink] [raw]
Subject: [PATCH v3 2/7] dt-bindings: clock: Add SC7280 DISPCC clock binding

Add device tree bindings for display clock controller subsystem for
Qualcomm Technology Inc's SC7280 SoCs.

Signed-off-by: Taniya Das <[email protected]>
---
.../bindings/clock/qcom,sc7280-dispcc.yaml | 94 ++++++++++++++++++++++
include/dt-bindings/clock/qcom,dispcc-sc7280.h | 55 +++++++++++++
2 files changed, 149 insertions(+)
create mode 100644 Documentation/devicetree/bindings/clock/qcom,sc7280-dispcc.yaml
create mode 100644 include/dt-bindings/clock/qcom,dispcc-sc7280.h

diff --git a/Documentation/devicetree/bindings/clock/qcom,sc7280-dispcc.yaml b/Documentation/devicetree/bindings/clock/qcom,sc7280-dispcc.yaml
new file mode 100644
index 0000000..2178666
--- /dev/null
+++ b/Documentation/devicetree/bindings/clock/qcom,sc7280-dispcc.yaml
@@ -0,0 +1,94 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/clock/qcom,sc7280-dispcc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Display Clock & Reset Controller Binding for SC7280
+
+maintainers:
+ - Taniya Das <[email protected]>
+
+description: |
+ Qualcomm display clock control module which supports the clocks, resets and
+ power domains on SC7280.
+
+ See also dt-bindings/clock/qcom,dispcc-sc7280.h.
+
+properties:
+ compatible:
+ const: qcom,sc7280-dispcc
+
+ clocks:
+ items:
+ - description: Board XO source
+ - description: GPLL0 source from GCC
+ - description: Byte clock from DSI PHY
+ - description: Pixel clock from DSI PHY
+ - description: Link clock from DP PHY
+ - description: VCO DIV clock from DP PHY
+ - description: Link clock from EDP PHY
+ - description: VCO DIV clock from EDP PHY
+
+ clock-names:
+ items:
+ - const: bi_tcxo
+ - const: gcc_disp_gpll0_clk
+ - const: dsi0_phy_pll_out_byteclk
+ - const: dsi0_phy_pll_out_dsiclk
+ - const: dp_phy_pll_link_clk
+ - const: dp_phy_pll_vco_div_clk
+ - const: edp_phy_pll_link_clk
+ - const: edp_phy_pll_vco_div_clk
+
+ '#clock-cells':
+ const: 1
+
+ '#reset-cells':
+ const: 1
+
+ '#power-domain-cells':
+ const: 1
+
+ reg:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - clocks
+ - clock-names
+ - '#clock-cells'
+ - '#reset-cells'
+ - '#power-domain-cells'
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/qcom,gcc-sc7280.h>
+ #include <dt-bindings/clock/qcom,rpmh.h>
+ clock-controller@af00000 {
+ compatible = "qcom,sc7280-dispcc";
+ reg = <0x0af00000 0x200000>;
+ clocks = <&rpmhcc RPMH_CXO_CLK>,
+ <&gcc GCC_DISP_GPLL0_CLK_SRC>,
+ <&dsi_phy 0>,
+ <&dsi_phy 1>,
+ <&dp_phy 0>,
+ <&dp_phy 1>,
+ <&edp_phy 0>,
+ <&edp_phy 1>;
+ clock-names = "bi_tcxo",
+ "gcc_disp_gpll0_clk",
+ "dsi0_phy_pll_out_byteclk",
+ "dsi0_phy_pll_out_dsiclk",
+ "dp_phy_pll_link_clk",
+ "dp_phy_pll_vco_div_clk",
+ "edp_phy_pll_link_clk",
+ "edp_phy_pll_vco_div_clk";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ #power-domain-cells = <1>;
+ };
+...
diff --git a/include/dt-bindings/clock/qcom,dispcc-sc7280.h b/include/dt-bindings/clock/qcom,dispcc-sc7280.h
new file mode 100644
index 0000000..a4a692c
--- /dev/null
+++ b/include/dt-bindings/clock/qcom,dispcc-sc7280.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
+/*
+ * Copyright (c) 2021, The Linux Foundation. All rights reserved.
+ */
+
+#ifndef _DT_BINDINGS_CLK_QCOM_DISP_CC_SC7280_H
+#define _DT_BINDINGS_CLK_QCOM_DISP_CC_SC7280_H
+
+/* DISP_CC clocks */
+#define DISP_CC_PLL0 0
+#define DISP_CC_MDSS_AHB_CLK 1
+#define DISP_CC_MDSS_AHB_CLK_SRC 2
+#define DISP_CC_MDSS_BYTE0_CLK 3
+#define DISP_CC_MDSS_BYTE0_CLK_SRC 4
+#define DISP_CC_MDSS_BYTE0_DIV_CLK_SRC 5
+#define DISP_CC_MDSS_BYTE0_INTF_CLK 6
+#define DISP_CC_MDSS_DP_AUX_CLK 7
+#define DISP_CC_MDSS_DP_AUX_CLK_SRC 8
+#define DISP_CC_MDSS_DP_CRYPTO_CLK 9
+#define DISP_CC_MDSS_DP_CRYPTO_CLK_SRC 10
+#define DISP_CC_MDSS_DP_LINK_CLK 11
+#define DISP_CC_MDSS_DP_LINK_CLK_SRC 12
+#define DISP_CC_MDSS_DP_LINK_DIV_CLK_SRC 13
+#define DISP_CC_MDSS_DP_LINK_INTF_CLK 14
+#define DISP_CC_MDSS_DP_PIXEL_CLK 15
+#define DISP_CC_MDSS_DP_PIXEL_CLK_SRC 16
+#define DISP_CC_MDSS_EDP_AUX_CLK 17
+#define DISP_CC_MDSS_EDP_AUX_CLK_SRC 18
+#define DISP_CC_MDSS_EDP_LINK_CLK 19
+#define DISP_CC_MDSS_EDP_LINK_CLK_SRC 20
+#define DISP_CC_MDSS_EDP_LINK_DIV_CLK_SRC 21
+#define DISP_CC_MDSS_EDP_LINK_INTF_CLK 22
+#define DISP_CC_MDSS_EDP_PIXEL_CLK 23
+#define DISP_CC_MDSS_EDP_PIXEL_CLK_SRC 24
+#define DISP_CC_MDSS_ESC0_CLK 25
+#define DISP_CC_MDSS_ESC0_CLK_SRC 26
+#define DISP_CC_MDSS_MDP_CLK 27
+#define DISP_CC_MDSS_MDP_CLK_SRC 28
+#define DISP_CC_MDSS_MDP_LUT_CLK 29
+#define DISP_CC_MDSS_NON_GDSC_AHB_CLK 30
+#define DISP_CC_MDSS_PCLK0_CLK 31
+#define DISP_CC_MDSS_PCLK0_CLK_SRC 32
+#define DISP_CC_MDSS_ROT_CLK 33
+#define DISP_CC_MDSS_ROT_CLK_SRC 34
+#define DISP_CC_MDSS_RSCC_AHB_CLK 35
+#define DISP_CC_MDSS_RSCC_VSYNC_CLK 36
+#define DISP_CC_MDSS_VSYNC_CLK 37
+#define DISP_CC_MDSS_VSYNC_CLK_SRC 38
+#define DISP_CC_SLEEP_CLK 39
+#define DISP_CC_XO_CLK 40
+
+/* DISP_CC power domains */
+#define DISP_CC_MDSS_CORE_GDSC 0
+
+#endif
--
Qualcomm INDIA, on behalf of Qualcomm Innovation Center, Inc.is a member
of the Code Aurora Forum, hosted by the Linux Foundation.

2021-07-15 17:29:03

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v3 2/7] dt-bindings: clock: Add SC7280 DISPCC clock binding

On Tue, 13 Jul 2021 20:42:18 +0530, Taniya Das wrote:
> Add device tree bindings for display clock controller subsystem for
> Qualcomm Technology Inc's SC7280 SoCs.
>
> Signed-off-by: Taniya Das <[email protected]>
> ---
> .../bindings/clock/qcom,sc7280-dispcc.yaml | 94 ++++++++++++++++++++++
> include/dt-bindings/clock/qcom,dispcc-sc7280.h | 55 +++++++++++++
> 2 files changed, 149 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/qcom,sc7280-dispcc.yaml
> create mode 100644 include/dt-bindings/clock/qcom,dispcc-sc7280.h
>

Reviewed-by: Rob Herring <[email protected]>

2021-07-15 17:29:14

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v3 1/7] dt-bindings: clock: qcom: Update license for GCC SC7280

On Tue, 13 Jul 2021 20:42:17 +0530, Taniya Das wrote:
> Update BSD license for GCC clock ids.
>
> Fixes: 87a3d523b38c ("dt-bindings: clock: Add SC7280 GCC clock binding")
> Signed-off-by: Taniya Das <[email protected]>
> ---
> include/dt-bindings/clock/qcom,gcc-sc7280.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Acked-by: Rob Herring <[email protected]>

2021-07-20 21:11:42

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v3 2/7] dt-bindings: clock: Add SC7280 DISPCC clock binding

Quoting Taniya Das (2021-07-13 08:12:18)
> Add device tree bindings for display clock controller subsystem for
> Qualcomm Technology Inc's SC7280 SoCs.
>
> Signed-off-by: Taniya Das <[email protected]>
> ---

Applied to clk-next

2021-07-20 21:12:15

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v3 1/7] dt-bindings: clock: qcom: Update license for GCC SC7280

Quoting Taniya Das (2021-07-13 08:12:17)
> Update BSD license for GCC clock ids.
>
> Fixes: 87a3d523b38c ("dt-bindings: clock: Add SC7280 GCC clock binding")
> Signed-off-by: Taniya Das <[email protected]>
> ---

Applied to clk-next