mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 0/5] gs101: Add support for Display Process Unit (DPU) clocks
@ 2026-01-12 14:16 Peter Griffin
  2026-01-12 14:16 ` [PATCH v2 1/5] dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering Peter Griffin
                   ` (4 more replies)
  0 siblings, 5 replies; 16+ messages in thread
From: Peter Griffin @ 2026-01-12 14:16 UTC (permalink / raw)
  To: André Draszik, Tudor Ambarus, Michael Turquette,
	Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Alim Akhtar, Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson, Peter Griffin

Hi folks,

This series adds support for the Display Process Unit (DPU) Clock
Management Unit (CMU) aka CMU_DPU found on gs101. These will be used for
the IOMMU and display enablement.

As all the patches will go via Krzysztof tree it has been sent as one
series.

regards,

Peter.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
Changes in v2:
- Fix alphanumeric ordering (Krzysztof)
- Update gout_dpu_dpu_pclk to gout_dpu_gpc_dpu_pclk (Peter)
- Fix dout_dpu_busp parent (Peter)
- Rebased onto next-20260109
- Link to v1: https://lore.kernel.org/r/20251120-dpu-clocks-v1-0-11508054eab8@linaro.org

---
Peter Griffin (5):
      dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering
      dt-bindings: clock: google,gs101-clock: Add DPU clock management unit
      dt-bindings: samsung: exynos-sysreg: add gs101 dpu compatible
      clk: samsung: gs101: add support for Display Process Unit (DPU) clocks
      arm64: dts: exynos: gs101: add cmu_dpu and sysreg_dpu dt nodes

 .../bindings/clock/google,gs101-clock.yaml         |  25 +-
 .../soc/samsung/samsung,exynos-sysreg.yaml         |   2 +
 arch/arm64/boot/dts/exynos/google/gs101.dtsi       |  17 ++
 drivers/clk/samsung/clk-gs101.c                    | 283 +++++++++++++++++++++
 include/dt-bindings/clock/google,gs101.h           |  36 +++
 5 files changed, 360 insertions(+), 3 deletions(-)
---
base-commit: f417b7ffcbef7d76b0d8860518f50dae0e7e5eda
change-id: 20251120-dpu-clocks-7b825d05807a

Best regards,
-- 
Peter Griffin <peter.griffin@linaro.org>


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 1/5] dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering
  2026-01-12 14:16 [PATCH v2 0/5] gs101: Add support for Display Process Unit (DPU) clocks Peter Griffin
@ 2026-01-12 14:16 ` Peter Griffin
  2026-01-12 14:26   ` André Draszik
  2026-01-12 14:16 ` [PATCH v2 2/5] dt-bindings: clock: google,gs101-clock: Add DPU clock management unit Peter Griffin
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 16+ messages in thread
From: Peter Griffin @ 2026-01-12 14:16 UTC (permalink / raw)
  To: André Draszik, Tudor Ambarus, Michael Turquette,
	Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Alim Akhtar, Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson, Peter Griffin

Fix the places that don't have correct alphanumeric ordering. This will
make reasoning about where to add future entries more straightforward.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 Documentation/devicetree/bindings/clock/google,gs101-clock.yaml | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
index 09e679c1a9def03d53b8b493929911ea902a1763..a8176687bb773ae90800b9c256bcccebfdef2e49 100644
--- a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
+++ b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
@@ -27,13 +27,13 @@ description: |
 properties:
   compatible:
     enum:
-      - google,gs101-cmu-top
       - google,gs101-cmu-apm
-      - google,gs101-cmu-misc
       - google,gs101-cmu-hsi0
       - google,gs101-cmu-hsi2
+      - google,gs101-cmu-misc
       - google,gs101-cmu-peric0
       - google,gs101-cmu-peric1
+      - google,gs101-cmu-top
 
   clocks:
     minItems: 1
@@ -70,8 +70,8 @@ allOf:
         compatible:
           contains:
             enum:
-              - google,gs101-cmu-top
               - google,gs101-cmu-apm
+              - google,gs101-cmu-top
     then:
       properties:
         clocks:

-- 
2.52.0.457.g6b5491de43-goog


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 2/5] dt-bindings: clock: google,gs101-clock: Add DPU clock management unit
  2026-01-12 14:16 [PATCH v2 0/5] gs101: Add support for Display Process Unit (DPU) clocks Peter Griffin
  2026-01-12 14:16 ` [PATCH v2 1/5] dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering Peter Griffin
@ 2026-01-12 14:16 ` Peter Griffin
  2026-01-12 14:32   ` André Draszik
  2026-01-12 14:16 ` [PATCH v2 3/5] dt-bindings: samsung: exynos-sysreg: add gs101 dpu compatible Peter Griffin
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 16+ messages in thread
From: Peter Griffin @ 2026-01-12 14:16 UTC (permalink / raw)
  To: André Draszik, Tudor Ambarus, Michael Turquette,
	Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Alim Akhtar, Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson, Peter Griffin

Add dt schema documentation and clock IDs for the Display Process Unit
(DPU) clock management unit (CMU). This CMU feeds IPs such as image scaler,
enhancer and compressor.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
Changes in v2
 - alphanumeric placement (Krzysztof)
---
 .../bindings/clock/google,gs101-clock.yaml         | 19 ++++++++++++
 include/dt-bindings/clock/google,gs101.h           | 36 ++++++++++++++++++++++
 2 files changed, 55 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
index a8176687bb773ae90800b9c256bcccebfdef2e49..00620ab1872db0489dce1823ab500c0062b651f0 100644
--- a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
+++ b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
@@ -28,6 +28,7 @@ properties:
   compatible:
     enum:
       - google,gs101-cmu-apm
+      - google,gs101-cmu-dpu
       - google,gs101-cmu-hsi0
       - google,gs101-cmu-hsi2
       - google,gs101-cmu-misc
@@ -82,6 +83,24 @@ allOf:
           items:
             - const: oscclk
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: google,gs101-cmu-dpu
+
+    then:
+      properties:
+        clocks:
+          items:
+            - description: External reference clock (24.576 MHz)
+            - description: DPU bus clock (from CMU_TOP)
+
+        clock-names:
+          items:
+            - const: oscclk
+            - const: bus
+
   - if:
       properties:
         compatible:
diff --git a/include/dt-bindings/clock/google,gs101.h b/include/dt-bindings/clock/google,gs101.h
index 442f9e9037dc33198a1cee20af62fc70bbd96605..4ee46503663c1f8d9463536c347de5d991474145 100644
--- a/include/dt-bindings/clock/google,gs101.h
+++ b/include/dt-bindings/clock/google,gs101.h
@@ -634,4 +634,40 @@
 #define CLK_GOUT_PERIC1_CLK_PERIC1_USI9_USI_CLK		45
 #define CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK		46
 
+/* CMU_DPU */
+#define CLK_MOUT_DPU_BUS_USER				1
+#define CLK_DOUT_DPU_BUSP				2
+#define CLK_GOUT_DPU_PCLK				3
+#define CLK_GOUT_DPU_CLK_DPU_OSCCLK_CLK			4
+#define CLK_GOUT_DPU_AD_APB_DPU_DMA_PCLKM		5
+#define CLK_GOUT_DPU_DPUF_ACLK_DMA			6
+#define CLK_GOUT_DPU_DPUF_ACLK_DPP			7
+#define CLK_GOUT_DPU_D_TZPC_DPU_PCLK			8
+#define CLK_GOUT_DPU_GPC_DPU_PCLK			9
+#define CLK_GOUT_DPU_LHM_AXI_P_DPU_I_CLK		10
+#define CLK_GOUT_DPU_LHS_AXI_D0_DPU_I_CLK		11
+#define CLK_GOUT_DPU_LHS_AXI_D1_DPU_I_CLK		12
+#define CLK_GOUT_DPU_LHS_AXI_D2_DPU_I_CLK		13
+#define CLK_GOUT_DPU_PPMU_DPUD0_ACLK			14
+#define CLK_GOUT_DPU_PPMU_DPUD0_PCLK			15
+#define CLK_GOUT_DPU_PPMU_DPUD1_ACLK			16
+#define CLK_GOUT_DPU_PPMU_DPUD1_PCLK			17
+#define CLK_GOUT_DPU_PPMU_DPUD2_ACLK			18
+#define CLK_GOUT_DPU_PPMU_DPUD2_PCLK			19
+#define CLK_GOUT_DPU_CLK_DPU_BUSD_CLK			20
+#define CLK_GOUT_DPU_CLK_DPU_BUSP_CLK			21
+#define CLK_GOUT_DPU_SSMT_DPU0_ACLK			22
+#define CLK_GOUT_DPU_SSMT_DPU0_PCLK			23
+#define CLK_GOUT_DPU_SSMT_DPU1_ACLK			24
+#define CLK_GOUT_DPU_SSMT_DPU1_PCLK			25
+#define CLK_GOUT_DPU_SSMT_DPU2_ACLK			26
+#define CLK_GOUT_DPU_SSMT_DPU2_PCLK			27
+#define CLK_GOUT_DPU_SYSMMU_DPUD0_CLK_S1		28
+#define CLK_GOUT_DPU_SYSMMU_DPUD0_CLK_S2		29
+#define CLK_GOUT_DPU_SYSMMU_DPUD1_CLK_S1		30
+#define CLK_GOUT_DPU_SYSMMU_DPUD1_CLK_S2		31
+#define CLK_GOUT_DPU_SYSMMU_DPUD2_CLK_S1		32
+#define CLK_GOUT_DPU_SYSMMU_DPUD2_CLK_S2		33
+#define CLK_GOUT_DPU_SYSREG_DPU_PCLK			34
+
 #endif /* _DT_BINDINGS_CLOCK_GOOGLE_GS101_H */

-- 
2.52.0.457.g6b5491de43-goog


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 3/5] dt-bindings: samsung: exynos-sysreg: add gs101 dpu compatible
  2026-01-12 14:16 [PATCH v2 0/5] gs101: Add support for Display Process Unit (DPU) clocks Peter Griffin
  2026-01-12 14:16 ` [PATCH v2 1/5] dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering Peter Griffin
  2026-01-12 14:16 ` [PATCH v2 2/5] dt-bindings: clock: google,gs101-clock: Add DPU clock management unit Peter Griffin
@ 2026-01-12 14:16 ` Peter Griffin
  2026-01-12 14:35   ` André Draszik
  2026-01-12 14:16 ` [PATCH v2 4/5] clk: samsung: gs101: add support for Display Process Unit (DPU) clocks Peter Griffin
  2026-01-12 14:16 ` [PATCH v2 5/5] arm64: dts: exynos: gs101: add cmu_dpu and sysreg_dpu dt nodes Peter Griffin
  4 siblings, 1 reply; 16+ messages in thread
From: Peter Griffin @ 2026-01-12 14:16 UTC (permalink / raw)
  To: André Draszik, Tudor Ambarus, Michael Turquette,
	Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Alim Akhtar, Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson, Peter Griffin

Add dedicated compatibles for gs101 dpu sysreg controllers to the
documentation.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 .../devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml          | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml b/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml
index 5e1e155510b3b1137d95b87a1bade36c814eec4f..9c63dbcd4d77f930b916087b8008c7f9888a56f5 100644
--- a/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml
+++ b/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml
@@ -15,6 +15,7 @@ properties:
       - items:
           - enum:
               - google,gs101-apm-sysreg
+              - google,gs101-dpu-sysreg
               - google,gs101-hsi0-sysreg
               - google,gs101-hsi2-sysreg
               - google,gs101-misc-sysreg
@@ -92,6 +93,7 @@ allOf:
         compatible:
           contains:
             enum:
+              - google,gs101-dpu-sysreg
               - google,gs101-hsi0-sysreg
               - google,gs101-hsi2-sysreg
               - google,gs101-misc-sysreg

-- 
2.52.0.457.g6b5491de43-goog


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 4/5] clk: samsung: gs101: add support for Display Process Unit (DPU) clocks
  2026-01-12 14:16 [PATCH v2 0/5] gs101: Add support for Display Process Unit (DPU) clocks Peter Griffin
                   ` (2 preceding siblings ...)
  2026-01-12 14:16 ` [PATCH v2 3/5] dt-bindings: samsung: exynos-sysreg: add gs101 dpu compatible Peter Griffin
@ 2026-01-12 14:16 ` Peter Griffin
  2026-01-12 15:07   ` André Draszik
  2026-01-12 14:16 ` [PATCH v2 5/5] arm64: dts: exynos: gs101: add cmu_dpu and sysreg_dpu dt nodes Peter Griffin
  4 siblings, 1 reply; 16+ messages in thread
From: Peter Griffin @ 2026-01-12 14:16 UTC (permalink / raw)
  To: André Draszik, Tudor Ambarus, Michael Turquette,
	Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Alim Akhtar, Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson, Peter Griffin

cmu_dpu is the clock management unit used for the Display Process Unit
block. It generates clocks for image scaler, compressor etc.

Add support for the muxes, dividers and gates in cmu_dpu.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
Changes in v2:
 - Update gout_dpu_dpu_pclk to gout_dpu_gpc_dpu_pclk (Peter)
 - Fix dout_dpu_busp parent (Peter)
---
 drivers/clk/samsung/clk-gs101.c | 283 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 283 insertions(+)

diff --git a/drivers/clk/samsung/clk-gs101.c b/drivers/clk/samsung/clk-gs101.c
index 8551289b46eb88ec61dd1914d0fe782ae6794000..b38c6c8749aae42319d2004ff5ffbc9a19320cac 100644
--- a/drivers/clk/samsung/clk-gs101.c
+++ b/drivers/clk/samsung/clk-gs101.c
@@ -25,6 +25,7 @@
 #define CLKS_NR_MISC	(CLK_GOUT_MISC_XIU_D_MISC_ACLK + 1)
 #define CLKS_NR_PERIC0	(CLK_GOUT_PERIC0_SYSREG_PERIC0_PCLK + 1)
 #define CLKS_NR_PERIC1	(CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK + 1)
+#define CLKS_NR_DPU	(CLK_GOUT_DPU_SYSREG_DPU_PCLK + 1)
 
 #define GS101_GATE_DBG_OFFSET 0x4000
 #define GS101_DRCG_EN_OFFSET  0x104
@@ -4426,6 +4427,285 @@ static const struct samsung_cmu_info peric1_cmu_info __initconst = {
 	.drcg_offset		= GS101_DRCG_EN_OFFSET,
 };
 
+/* ---- CMU_DPU ------------------------------------------------------------- */
+
+/* Register Offset definitions for CMU_DPU (0x1c000000) */
+#define PLL_CON0_MUX_CLKCMU_DPU_BUS_USER					0x0600
+#define PLL_CON1_MUX_CLKCMU_DPU_BUS_USER					0x0604
+#define DPU_CMU_DPU_CONTROLLER_OPTION						0x0800
+#define CLKOUT_CON_BLK_DPU_CMU_DPU_CLKOUT0					0x0810
+#define CLK_CON_DIV_DIV_CLK_DPU_BUSP						0x1800
+#define CLK_CON_GAT_CLK_BLK_DPU_UID_DPU_CMU_DPU_IPCLKPORT_PCLK			0x2000
+#define CLK_CON_GAT_CLK_BLK_DPU_UID_RSTNSYNC_CLK_DPU_OSCCLK_IPCLKPORT_CLK	0x2004
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_AD_APB_DPU_DMA_IPCLKPORT_PCLKM		0x2008
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_DPUF_IPCLKPORT_ACLK_DMA			0x200c
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_DPUF_IPCLKPORT_ACLK_DPP			0x2010
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_D_TZPC_DPU_IPCLKPORT_PCLK			0x2014
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_GPC_DPU_IPCLKPORT_PCLK			0x2018
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_LHM_AXI_P_DPU_IPCLKPORT_I_CLK		0x201c
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_LHS_AXI_D0_DPU_IPCLKPORT_I_CLK		0x2020
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_LHS_AXI_D1_DPU_IPCLKPORT_I_CLK		0x2024
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_LHS_AXI_D2_DPU_IPCLKPORT_I_CLK		0x2028
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD0_IPCLKPORT_ACLK			0x202c
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD0_IPCLKPORT_PCLK			0x2030
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD1_IPCLKPORT_ACLK			0x2034
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD1_IPCLKPORT_PCLK			0x2038
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD2_IPCLKPORT_ACLK			0x203c
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD2_IPCLKPORT_PCLK			0x2040
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_RSTNSYNC_CLK_DPU_BUSD_IPCLKPORT_CLK	0x2044
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_RSTNSYNC_CLK_DPU_BUSP_IPCLKPORT_CLK	0x2048
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU0_IPCLKPORT_ACLK			0x204c
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU0_IPCLKPORT_PCLK			0x2050
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU1_IPCLKPORT_ACLK			0x2054
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU1_IPCLKPORT_PCLK			0x2058
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU2_IPCLKPORT_ACLK			0x205c
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU2_IPCLKPORT_PCLK			0x2060
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD0_IPCLKPORT_CLK_S1		0x2064
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD0_IPCLKPORT_CLK_S2		0x2068
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD1_IPCLKPORT_CLK_S1		0x206c
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD1_IPCLKPORT_CLK_S2		0x2070
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD2_IPCLKPORT_CLK_S1		0x2074
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD2_IPCLKPORT_CLK_S2		0x2078
+#define CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSREG_DPU_IPCLKPORT_PCLK			0x207c
+#define PCH_CON_LHM_AXI_P_DPU_PCH						0x3000
+#define PCH_CON_LHS_AXI_D0_DPU_PCH						0x3004
+#define PCH_CON_LHS_AXI_D1_DPU_PCH						0x3008
+#define PCH_CON_LHS_AXI_D2_DPU_PCH						0x300c
+#define QCH_CON_DPUF_QCH_DPU_DMA						0x3010
+#define QCH_CON_DPUF_QCH_DPU_DPP						0x3014
+#define QCH_CON_DPU_CMU_DPU_QCH							0x301c
+#define QCH_CON_D_TZPC_DPU_QCH							0x3020
+#define QCH_CON_GPC_DPU_QCH							0x3024
+#define QCH_CON_LHM_AXI_P_DPU_QCH						0x3028
+#define QCH_CON_LHS_AXI_D0_DPU_QCH						0x302c
+#define QCH_CON_LHS_AXI_D1_DPU_QCH						0x3030
+#define QCH_CON_LHS_AXI_D2_DPU_QCH						0x3034
+#define QCH_CON_PPMU_DPUD0_QCH							0x3038
+#define QCH_CON_PPMU_DPUD1_QCH							0x303c
+#define QCH_CON_PPMU_DPUD2_QCH							0x3040
+#define QCH_CON_SSMT_DPU0_QCH							0x3044
+#define QCH_CON_SSMT_DPU1_QCH							0x3048
+#define QCH_CON_SSMT_DPU2_QCH							0x304c
+#define QCH_CON_SYSMMU_DPUD0_QCH_S1						0x3050
+#define QCH_CON_SYSMMU_DPUD0_QCH_S2						0x3054
+#define QCH_CON_SYSMMU_DPUD1_QCH_S1						0x3058
+#define QCH_CON_SYSMMU_DPUD1_QCH_S2						0x305c
+#define QCH_CON_SYSMMU_DPUD2_QCH_S1						0x3060
+#define QCH_CON_SYSMMU_DPUD2_QCH_S2						0x3064
+#define QCH_CON_SYSREG_DPU_QCH							0x3068
+#define QUEUE_CTRL_REG_BLK_DPU_CMU_DPU						0x3c00
+
+static const unsigned long dpu_clk_regs[] __initconst = {
+	PLL_CON0_MUX_CLKCMU_DPU_BUS_USER,
+	PLL_CON1_MUX_CLKCMU_DPU_BUS_USER,
+	DPU_CMU_DPU_CONTROLLER_OPTION,
+	CLKOUT_CON_BLK_DPU_CMU_DPU_CLKOUT0,
+	CLK_CON_DIV_DIV_CLK_DPU_BUSP,
+	CLK_CON_GAT_CLK_BLK_DPU_UID_DPU_CMU_DPU_IPCLKPORT_PCLK,
+	CLK_CON_GAT_CLK_BLK_DPU_UID_RSTNSYNC_CLK_DPU_OSCCLK_IPCLKPORT_CLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_AD_APB_DPU_DMA_IPCLKPORT_PCLKM,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_DPUF_IPCLKPORT_ACLK_DMA,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_DPUF_IPCLKPORT_ACLK_DPP,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_D_TZPC_DPU_IPCLKPORT_PCLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_GPC_DPU_IPCLKPORT_PCLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_LHM_AXI_P_DPU_IPCLKPORT_I_CLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_LHS_AXI_D0_DPU_IPCLKPORT_I_CLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_LHS_AXI_D1_DPU_IPCLKPORT_I_CLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_LHS_AXI_D2_DPU_IPCLKPORT_I_CLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD0_IPCLKPORT_ACLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD0_IPCLKPORT_PCLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD1_IPCLKPORT_ACLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD1_IPCLKPORT_PCLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD2_IPCLKPORT_ACLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD2_IPCLKPORT_PCLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_RSTNSYNC_CLK_DPU_BUSD_IPCLKPORT_CLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_RSTNSYNC_CLK_DPU_BUSP_IPCLKPORT_CLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU0_IPCLKPORT_ACLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU0_IPCLKPORT_PCLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU1_IPCLKPORT_ACLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU1_IPCLKPORT_PCLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU2_IPCLKPORT_ACLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU2_IPCLKPORT_PCLK,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD0_IPCLKPORT_CLK_S1,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD0_IPCLKPORT_CLK_S2,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD1_IPCLKPORT_CLK_S1,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD1_IPCLKPORT_CLK_S2,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD2_IPCLKPORT_CLK_S1,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD2_IPCLKPORT_CLK_S2,
+	CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSREG_DPU_IPCLKPORT_PCLK,
+	PCH_CON_LHM_AXI_P_DPU_PCH,
+	PCH_CON_LHS_AXI_D0_DPU_PCH,
+	PCH_CON_LHS_AXI_D1_DPU_PCH,
+	PCH_CON_LHS_AXI_D2_DPU_PCH,
+	QCH_CON_DPUF_QCH_DPU_DMA,
+	QCH_CON_DPUF_QCH_DPU_DPP,
+	QCH_CON_DPU_CMU_DPU_QCH,
+	QCH_CON_D_TZPC_DPU_QCH,
+	QCH_CON_GPC_DPU_QCH,
+	QCH_CON_LHM_AXI_P_DPU_QCH,
+	QCH_CON_LHS_AXI_D0_DPU_QCH,
+	QCH_CON_LHS_AXI_D1_DPU_QCH,
+	QCH_CON_LHS_AXI_D2_DPU_QCH,
+	QCH_CON_PPMU_DPUD0_QCH,
+	QCH_CON_PPMU_DPUD1_QCH,
+	QCH_CON_PPMU_DPUD2_QCH,
+	QCH_CON_SSMT_DPU0_QCH,
+	QCH_CON_SSMT_DPU1_QCH,
+	QCH_CON_SSMT_DPU2_QCH,
+	QCH_CON_SYSMMU_DPUD0_QCH_S1,
+	QCH_CON_SYSMMU_DPUD0_QCH_S2,
+	QCH_CON_SYSMMU_DPUD1_QCH_S1,
+	QCH_CON_SYSMMU_DPUD1_QCH_S2,
+	QCH_CON_SYSMMU_DPUD2_QCH_S1,
+	QCH_CON_SYSMMU_DPUD2_QCH_S2,
+	QCH_CON_SYSREG_DPU_QCH,
+	QUEUE_CTRL_REG_BLK_DPU_CMU_DPU,
+};
+
+/* List of parent clocks for Muxes in CMU_DPU */
+PNAME(mout_dpu_bus_user_p)	= { "oscclk", "dout_cmu_dpu_bus" };
+
+static const struct samsung_mux_clock dpu_mux_clks[] __initconst = {
+	MUX(CLK_MOUT_DPU_BUS_USER, "mout_dpu_bus_user",
+	    mout_dpu_bus_user_p, PLL_CON0_MUX_CLKCMU_DPU_BUS_USER, 4, 1),
+};
+
+static const struct samsung_div_clock dpu_div_clks[] __initconst = {
+	DIV(CLK_DOUT_DPU_BUSP, "dout_dpu_busp", "mout_dpu_bus_user",
+	    CLK_CON_DIV_DIV_CLK_DPU_BUSP, 0, 3),
+};
+
+static const struct samsung_gate_clock dpu_gate_clks[] __initconst = {
+	GATE(CLK_GOUT_DPU_PCLK, "gout_dpu_dpu_pclk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_CLK_BLK_DPU_UID_DPU_CMU_DPU_IPCLKPORT_PCLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_CLK_DPU_OSCCLK_CLK, "gout_dpu_clk_dpu_oscclk_clk",
+	     "oscclk",
+	     CLK_CON_GAT_CLK_BLK_DPU_UID_RSTNSYNC_CLK_DPU_OSCCLK_IPCLKPORT_CLK,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_AD_APB_DPU_DMA_PCLKM, "gout_dpu_ad_apb_dpu_dma_pclkm",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_AD_APB_DPU_DMA_IPCLKPORT_PCLKM,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_DPUF_ACLK_DMA, "gout_dpu_dpuf_aclk_dma",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_DPUF_IPCLKPORT_ACLK_DMA, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_DPUF_ACLK_DPP, "gout_dpu_dpuf_aclk_dpp",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_DPUF_IPCLKPORT_ACLK_DPP, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_D_TZPC_DPU_PCLK, "gout_dpu_d_tzpc_dpu_pclk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_D_TZPC_DPU_IPCLKPORT_PCLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_GPC_DPU_PCLK, "gout_dpu_gpc_dpu_pclk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_GPC_DPU_IPCLKPORT_PCLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_LHM_AXI_P_DPU_I_CLK, "gout_dpu_lhm_axi_p_dpu_i_clk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_LHM_AXI_P_DPU_IPCLKPORT_I_CLK,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_LHS_AXI_D0_DPU_I_CLK, "gout_dpu_lhs_axi_d0_dpu_i_clk",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_LHS_AXI_D0_DPU_IPCLKPORT_I_CLK,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_LHS_AXI_D1_DPU_I_CLK, "gout_dpu_lhs_axi_d1_dpu_i_clk",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_LHS_AXI_D1_DPU_IPCLKPORT_I_CLK,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_LHS_AXI_D2_DPU_I_CLK, "gout_dpu_lhs_axi_d2_dpu_i_clk",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_LHS_AXI_D2_DPU_IPCLKPORT_I_CLK,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_PPMU_DPUD0_ACLK, "gout_dpu_ppmu_dpud0_aclk",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD0_IPCLKPORT_ACLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_PPMU_DPUD0_PCLK, "gout_dpu_ppmu_dpud0_pclk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD0_IPCLKPORT_PCLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_PPMU_DPUD1_ACLK, "gout_dpu_ppmu_dpud1_aclk",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD1_IPCLKPORT_ACLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_PPMU_DPUD1_PCLK, "gout_dpu_ppmu_dpud1_pclk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD1_IPCLKPORT_PCLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_PPMU_DPUD2_ACLK, "gout_dpu_ppmu_dpud2_aclk",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD2_IPCLKPORT_ACLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_PPMU_DPUD2_PCLK, "gout_dpu_ppmu_dpud2_pclk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_PPMU_DPUD2_IPCLKPORT_PCLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_CLK_DPU_BUSD_CLK, "gout_dpu_clk_dpu_busd_clk",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_RSTNSYNC_CLK_DPU_BUSD_IPCLKPORT_CLK,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_CLK_DPU_BUSP_CLK, "gout_dpu_clk_dpu_busp_clk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_RSTNSYNC_CLK_DPU_BUSP_IPCLKPORT_CLK,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_SSMT_DPU0_ACLK, "gout_dpu_ssmt_dpu0_aclk",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU0_IPCLKPORT_ACLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_SSMT_DPU0_PCLK, "gout_dpu_ssmt_dpu0_pclk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU0_IPCLKPORT_PCLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_SSMT_DPU1_ACLK, "gout_dpu_ssmt_dpu1_aclk",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU1_IPCLKPORT_ACLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_SSMT_DPU1_PCLK, "gout_dpu_ssmt_dpu1_pclk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU1_IPCLKPORT_PCLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_SSMT_DPU2_ACLK, "gout_dpu_ssmt_dpu2_aclk",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU2_IPCLKPORT_ACLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_SSMT_DPU2_PCLK, "gout_dpu_ssmt_dpu2_pclk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SSMT_DPU2_IPCLKPORT_PCLK, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_SYSMMU_DPUD0_CLK_S1, "gout_dpu_sysmmu_dpud0_clk_s1",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD0_IPCLKPORT_CLK_S1,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_SYSMMU_DPUD0_CLK_S2, "gout_dpu_sysmmu_dpud0_clk_s2",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD0_IPCLKPORT_CLK_S2,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_SYSMMU_DPUD1_CLK_S1, "gout_dpu_sysmmu_dpud1_clk_s1",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD1_IPCLKPORT_CLK_S1,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_SYSMMU_DPUD1_CLK_S2, "gout_dpu_sysmmu_dpud1_clk_s2",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD1_IPCLKPORT_CLK_S2,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_SYSMMU_DPUD2_CLK_S1, "gout_dpu_sysmmu_dpud2_clk_s1",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD2_IPCLKPORT_CLK_S1,
+	     21, 0, 0),
+	GATE(CLK_GOUT_DPU_SYSMMU_DPUD2_CLK_S2, "gout_dpu_sysmmu_dpud2_clk_s2",
+	     "mout_dpu_bus_user",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSMMU_DPUD2_IPCLKPORT_CLK_S2, 21, 0, 0),
+	GATE(CLK_GOUT_DPU_SYSREG_DPU_PCLK, "gout_dpu_sysreg_dpu_pclk",
+	     "dout_dpu_busp",
+	     CLK_CON_GAT_GOUT_BLK_DPU_UID_SYSREG_DPU_IPCLKPORT_PCLK, 21, 0, 0),
+};
+
+static const struct samsung_cmu_info dpu_cmu_info __initconst = {
+	.mux_clks		= dpu_mux_clks,
+	.nr_mux_clks		= ARRAY_SIZE(dpu_mux_clks),
+	.div_clks		= dpu_div_clks,
+	.nr_div_clks		= ARRAY_SIZE(dpu_div_clks),
+	.gate_clks		= dpu_gate_clks,
+	.nr_gate_clks		= ARRAY_SIZE(dpu_gate_clks),
+	.nr_clk_ids		= CLKS_NR_DPU,
+	.clk_regs		= dpu_clk_regs,
+	.nr_clk_regs		= ARRAY_SIZE(dpu_clk_regs),
+	.sysreg_clk_regs	= dcrg_memclk_sysreg,
+	.nr_sysreg_clk_regs	= ARRAY_SIZE(dcrg_memclk_sysreg),
+	.clk_name		= "bus",
+	.auto_clock_gate        = true,
+	.gate_dbg_offset        = GS101_GATE_DBG_OFFSET,
+	.option_offset		= DPU_CMU_DPU_CONTROLLER_OPTION,
+	.drcg_offset		= GS101_DRCG_EN_OFFSET,
+};
+
 /* ---- platform_driver ----------------------------------------------------- */
 
 static int __init gs101_cmu_probe(struct platform_device *pdev)
@@ -4443,6 +4723,9 @@ static const struct of_device_id gs101_cmu_of_match[] = {
 	{
 		.compatible = "google,gs101-cmu-apm",
 		.data = &apm_cmu_info,
+	}, {
+		.compatible = "google,gs101-cmu-dpu",
+		.data = &dpu_cmu_info,
 	}, {
 		.compatible = "google,gs101-cmu-hsi0",
 		.data = &hsi0_cmu_info,

-- 
2.52.0.457.g6b5491de43-goog


^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH v2 5/5] arm64: dts: exynos: gs101: add cmu_dpu and sysreg_dpu dt nodes
  2026-01-12 14:16 [PATCH v2 0/5] gs101: Add support for Display Process Unit (DPU) clocks Peter Griffin
                   ` (3 preceding siblings ...)
  2026-01-12 14:16 ` [PATCH v2 4/5] clk: samsung: gs101: add support for Display Process Unit (DPU) clocks Peter Griffin
@ 2026-01-12 14:16 ` Peter Griffin
  2026-01-12 14:54   ` André Draszik
  4 siblings, 1 reply; 16+ messages in thread
From: Peter Griffin @ 2026-01-12 14:16 UTC (permalink / raw)
  To: André Draszik, Tudor Ambarus, Michael Turquette,
	Stephen Boyd, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Alim Akhtar, Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson, Peter Griffin

Enable the cmu_dpu clock management unit. It feeds some of the display
IPs. Additionally add the sysreg_dpu node which contains the
BUSCOMPONENT_DRCG_EN and MEMCLK registers required by cmu_dpu to enable
dynamic root clock gating of bus components.

Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
---
 arch/arm64/boot/dts/exynos/google/gs101.dtsi | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm64/boot/dts/exynos/google/gs101.dtsi b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
index 48f3819590cf8c05d6bd7241cfed8720149c7db4..d085f9fb0f62ac2f57b104c20880e64d885d0bee 100644
--- a/arch/arm64/boot/dts/exynos/google/gs101.dtsi
+++ b/arch/arm64/boot/dts/exynos/google/gs101.dtsi
@@ -1815,6 +1815,23 @@ pinctrl_gsacore: pinctrl@17a80000 {
 			status = "disabled";
 		};
 
+		cmu_dpu: clock-controller@1c000000 {
+			compatible = "google,gs101-cmu-dpu";
+			reg = <0x1c000000 0x10000>;
+			#clock-cells = <1>;
+
+			clocks = <&ext_24_5m>,
+				 <&cmu_top CLK_DOUT_CMU_DPU_BUS>;
+			clock-names = "oscclk", "bus";
+			samsung,sysreg = <&sysreg_dpu>;
+		};
+
+		sysreg_dpu: syscon@1c020000 {
+			compatible = "google,gs101-dpu-sysreg", "syscon";
+			reg = <0x1c020000 0x10000>;
+			clocks = <&cmu_dpu CLK_GOUT_DPU_SYSREG_DPU_PCLK>;
+		};
+
 		cmu_top: clock-controller@1e080000 {
 			compatible = "google,gs101-cmu-top";
 			reg = <0x1e080000 0x10000>;

-- 
2.52.0.457.g6b5491de43-goog


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/5] dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering
  2026-01-12 14:16 ` [PATCH v2 1/5] dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering Peter Griffin
@ 2026-01-12 14:26   ` André Draszik
  2026-01-13  9:13     ` Peter Griffin
  0 siblings, 1 reply; 16+ messages in thread
From: André Draszik @ 2026-01-12 14:26 UTC (permalink / raw)
  To: Peter Griffin, Tudor Ambarus, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson

On Mon, 2026-01-12 at 14:16 +0000, Peter Griffin wrote:
> Fix the places that don't have correct alphanumeric ordering. This will
> make reasoning about where to add future entries more straightforward.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
>  Documentation/devicetree/bindings/clock/google,gs101-clock.yaml | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml b/Documentation/devicetree/bindings/clock/google,gs101-
> clock.yaml
> index 09e679c1a9def03d53b8b493929911ea902a1763..a8176687bb773ae90800b9c256bcccebfdef2e49 100644
> --- a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> +++ b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> @@ -27,13 +27,13 @@ description: |
>  properties:
>    compatible:
>      enum:
> -      - google,gs101-cmu-top
>        - google,gs101-cmu-apm
> -      - google,gs101-cmu-misc
>        - google,gs101-cmu-hsi0
>        - google,gs101-cmu-hsi2
> +      - google,gs101-cmu-misc
>        - google,gs101-cmu-peric0
>        - google,gs101-cmu-peric1
> +      - google,gs101-cmu-top

If we keep 'top' at the top as one outlier, it'd reflect that it is the
top unit and all other CMUs are children of it.

>  
>    clocks:
>      minItems: 1
> @@ -70,8 +70,8 @@ allOf:
>          compatible:
>            contains:
>              enum:
> -              - google,gs101-cmu-top
>                - google,gs101-cmu-apm
> +              - google,gs101-cmu-top

And here.

Either way, I don't mind:
Reviewed-by: André Draszik <andre.draszik@linaro.org>

Cheers,
Andre'

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 2/5] dt-bindings: clock: google,gs101-clock: Add DPU clock management unit
  2026-01-12 14:16 ` [PATCH v2 2/5] dt-bindings: clock: google,gs101-clock: Add DPU clock management unit Peter Griffin
@ 2026-01-12 14:32   ` André Draszik
  2026-01-13  9:45     ` Peter Griffin
  0 siblings, 1 reply; 16+ messages in thread
From: André Draszik @ 2026-01-12 14:32 UTC (permalink / raw)
  To: Peter Griffin, Tudor Ambarus, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson

On Mon, 2026-01-12 at 14:16 +0000, Peter Griffin wrote:
> Add dt schema documentation and clock IDs for the Display Process Unit
> (DPU) clock management unit (CMU). This CMU feeds IPs such as image scaler,
> enhancer and compressor.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
> Changes in v2
>  - alphanumeric placement (Krzysztof)
> ---
>  .../bindings/clock/google,gs101-clock.yaml         | 19 ++++++++++++
>  include/dt-bindings/clock/google,gs101.h           | 36 ++++++++++++++++++++++
>  2 files changed, 55 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml b/Documentation/devicetree/bindings/clock/google,gs101-
> clock.yaml
> index a8176687bb773ae90800b9c256bcccebfdef2e49..00620ab1872db0489dce1823ab500c0062b651f0 100644
> --- a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> +++ b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> @@ -28,6 +28,7 @@ properties:
>    compatible:
>      enum:
>        - google,gs101-cmu-apm
> +      - google,gs101-cmu-dpu
>        - google,gs101-cmu-hsi0
>        - google,gs101-cmu-hsi2
>        - google,gs101-cmu-misc
> @@ -82,6 +83,24 @@ allOf:
>            items:
>              - const: oscclk
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: google,gs101-cmu-dpu
> +
> +    then:
> +      properties:
> +        clocks:
> +          items:
> +            - description: External reference clock (24.576 MHz)
> +            - description: DPU bus clock (from CMU_TOP)
> +
> +        clock-names:
> +          items:
> +            - const: oscclk
> +            - const: bus
> +
>    - if:
>        properties:
>          compatible:
> diff --git a/include/dt-bindings/clock/google,gs101.h b/include/dt-bindings/clock/google,gs101.h
> index 442f9e9037dc33198a1cee20af62fc70bbd96605..4ee46503663c1f8d9463536c347de5d991474145 100644
> --- a/include/dt-bindings/clock/google,gs101.h
> +++ b/include/dt-bindings/clock/google,gs101.h
> @@ -634,4 +634,40 @@
>  #define CLK_GOUT_PERIC1_CLK_PERIC1_USI9_USI_CLK		45
>  #define CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK		46
>  
> +/* CMU_DPU */

Maybe add this block before hsi0 and after apm to keep alphabetic ordering
of CMU blocks in this file.

Cheers,
Andre'

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 3/5] dt-bindings: samsung: exynos-sysreg: add gs101 dpu compatible
  2026-01-12 14:16 ` [PATCH v2 3/5] dt-bindings: samsung: exynos-sysreg: add gs101 dpu compatible Peter Griffin
@ 2026-01-12 14:35   ` André Draszik
  0 siblings, 0 replies; 16+ messages in thread
From: André Draszik @ 2026-01-12 14:35 UTC (permalink / raw)
  To: Peter Griffin, Tudor Ambarus, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson

On Mon, 2026-01-12 at 14:16 +0000, Peter Griffin wrote:
> Add dedicated compatibles for gs101 dpu sysreg controllers to the
> documentation.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
>  .../devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml          | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml
> b/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml
> index 5e1e155510b3b1137d95b87a1bade36c814eec4f..9c63dbcd4d77f930b916087b8008c7f9888a56f5 100644
> --- a/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml
> +++ b/Documentation/devicetree/bindings/soc/samsung/samsung,exynos-sysreg.yaml

Reviewed-by: André Draszik <andre.draszik@linaro.org>

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 5/5] arm64: dts: exynos: gs101: add cmu_dpu and sysreg_dpu dt nodes
  2026-01-12 14:16 ` [PATCH v2 5/5] arm64: dts: exynos: gs101: add cmu_dpu and sysreg_dpu dt nodes Peter Griffin
@ 2026-01-12 14:54   ` André Draszik
  0 siblings, 0 replies; 16+ messages in thread
From: André Draszik @ 2026-01-12 14:54 UTC (permalink / raw)
  To: Peter Griffin, Tudor Ambarus, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson

On Mon, 2026-01-12 at 14:16 +0000, Peter Griffin wrote:
> Enable the cmu_dpu clock management unit. It feeds some of the display
> IPs. Additionally add the sysreg_dpu node which contains the
> BUSCOMPONENT_DRCG_EN and MEMCLK registers required by cmu_dpu to enable
> dynamic root clock gating of bus components.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
>  arch/arm64/boot/dts/exynos/google/gs101.dtsi | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)

Reviewed-by: André Draszik <andre.draszik@linaro.org>


^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 4/5] clk: samsung: gs101: add support for Display Process Unit (DPU) clocks
  2026-01-12 14:16 ` [PATCH v2 4/5] clk: samsung: gs101: add support for Display Process Unit (DPU) clocks Peter Griffin
@ 2026-01-12 15:07   ` André Draszik
  2026-01-13 10:21     ` Peter Griffin
  0 siblings, 1 reply; 16+ messages in thread
From: André Draszik @ 2026-01-12 15:07 UTC (permalink / raw)
  To: Peter Griffin, Tudor Ambarus, Michael Turquette, Stephen Boyd,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	Sylwester Nawrocki, Chanwoo Choi
  Cc: linux-arm-kernel, linux-samsung-soc, linux-clk, devicetree,
	linux-kernel, Krzysztof Kozlowski, kernel-team, Will McVicker,
	Juan Yescas, Doug Anderson

On Mon, 2026-01-12 at 14:16 +0000, Peter Griffin wrote:
> cmu_dpu is the clock management unit used for the Display Process Unit
> block. It generates clocks for image scaler, compressor etc.
> 
> Add support for the muxes, dividers and gates in cmu_dpu.
> 
> Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> ---
> Changes in v2:
>  - Update gout_dpu_dpu_pclk to gout_dpu_gpc_dpu_pclk (Peter)
>  - Fix dout_dpu_busp parent (Peter)
> ---
>  drivers/clk/samsung/clk-gs101.c | 283 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 283 insertions(+)
> 
> diff --git a/drivers/clk/samsung/clk-gs101.c b/drivers/clk/samsung/clk-gs101.c
> index 8551289b46eb88ec61dd1914d0fe782ae6794000..b38c6c8749aae42319d2004ff5ffbc9a19320cac 100644
> --- a/drivers/clk/samsung/clk-gs101.c
> +++ b/drivers/clk/samsung/clk-gs101.c
> @@ -25,6 +25,7 @@
>  #define CLKS_NR_MISC	(CLK_GOUT_MISC_XIU_D_MISC_ACLK + 1)
>  #define CLKS_NR_PERIC0	(CLK_GOUT_PERIC0_SYSREG_PERIC0_PCLK + 1)
>  #define CLKS_NR_PERIC1	(CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK + 1)
> +#define CLKS_NR_DPU	(CLK_GOUT_DPU_SYSREG_DPU_PCLK + 1)

Between APM and HSI0 to keep alphabetic ordering :-)

>  
>  #define GS101_GATE_DBG_OFFSET 0x4000
>  #define GS101_DRCG_EN_OFFSET  0x104
> @@ -4426,6 +4427,285 @@ static const struct samsung_cmu_info peric1_cmu_info __initconst = {
>  	.drcg_offset		= GS101_DRCG_EN_OFFSET,
>  };
>  
> +/* ---- CMU_DPU ------------------------------------------------------------- */

I'll do a full review later, but this new block should also be between
existing CMU_APM and CMU_HSI0 blocks to keep alphabetic ordering.


Cheers,
Andre'

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/5] dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering
  2026-01-12 14:26   ` André Draszik
@ 2026-01-13  9:13     ` Peter Griffin
  2026-01-13  9:58       ` André Draszik
  0 siblings, 1 reply; 16+ messages in thread
From: Peter Griffin @ 2026-01-13  9:13 UTC (permalink / raw)
  To: André Draszik
  Cc: Tudor Ambarus, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	Sylwester Nawrocki, Chanwoo Choi, linux-arm-kernel,
	linux-samsung-soc, linux-clk, devicetree, linux-kernel,
	Krzysztof Kozlowski, kernel-team, Will McVicker, Juan Yescas,
	Doug Anderson

Hi André,

On Mon, 12 Jan 2026 at 14:26, André Draszik <andre.draszik@linaro.org> wrote:
>
> On Mon, 2026-01-12 at 14:16 +0000, Peter Griffin wrote:
> > Fix the places that don't have correct alphanumeric ordering. This will
> > make reasoning about where to add future entries more straightforward.
> >
> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> > ---
> >  Documentation/devicetree/bindings/clock/google,gs101-clock.yaml | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml b/Documentation/devicetree/bindings/clock/google,gs101-
> > clock.yaml
> > index 09e679c1a9def03d53b8b493929911ea902a1763..a8176687bb773ae90800b9c256bcccebfdef2e49 100644
> > --- a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> > +++ b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> > @@ -27,13 +27,13 @@ description: |
> >  properties:
> >    compatible:
> >      enum:
> > -      - google,gs101-cmu-top
> >        - google,gs101-cmu-apm
> > -      - google,gs101-cmu-misc
> >        - google,gs101-cmu-hsi0
> >        - google,gs101-cmu-hsi2
> > +      - google,gs101-cmu-misc
> >        - google,gs101-cmu-peric0
> >        - google,gs101-cmu-peric1
> > +      - google,gs101-cmu-top
>
> If we keep 'top' at the top as one outlier, it'd reflect that it is the
> top unit and all other CMUs are children of it.

Thanks for the review. I opted to just keep it alphanumeric so it's
(hopefully) obvious what all future ordering should be.

>
> >
> >    clocks:
> >      minItems: 1
> > @@ -70,8 +70,8 @@ allOf:
> >          compatible:
> >            contains:
> >              enum:
> > -              - google,gs101-cmu-top
> >                - google,gs101-cmu-apm
> > +              - google,gs101-cmu-top
>
> And here.
>
> Either way, I don't mind:
> Reviewed-by: André Draszik <andre.draszik@linaro.org>

regards,

Peter

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 2/5] dt-bindings: clock: google,gs101-clock: Add DPU clock management unit
  2026-01-12 14:32   ` André Draszik
@ 2026-01-13  9:45     ` Peter Griffin
  0 siblings, 0 replies; 16+ messages in thread
From: Peter Griffin @ 2026-01-13  9:45 UTC (permalink / raw)
  To: André Draszik
  Cc: Tudor Ambarus, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	Sylwester Nawrocki, Chanwoo Choi, linux-arm-kernel,
	linux-samsung-soc, linux-clk, devicetree, linux-kernel,
	Krzysztof Kozlowski, kernel-team, Will McVicker, Juan Yescas,
	Doug Anderson

Hi André,

On Mon, 12 Jan 2026 at 14:32, André Draszik <andre.draszik@linaro.org> wrote:
>
> On Mon, 2026-01-12 at 14:16 +0000, Peter Griffin wrote:
> > Add dt schema documentation and clock IDs for the Display Process Unit
> > (DPU) clock management unit (CMU). This CMU feeds IPs such as image scaler,
> > enhancer and compressor.
> >
> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> > ---
> > Changes in v2
> >  - alphanumeric placement (Krzysztof)
> > ---
> >  .../bindings/clock/google,gs101-clock.yaml         | 19 ++++++++++++
> >  include/dt-bindings/clock/google,gs101.h           | 36 ++++++++++++++++++++++
> >  2 files changed, 55 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml b/Documentation/devicetree/bindings/clock/google,gs101-
> > clock.yaml
> > index a8176687bb773ae90800b9c256bcccebfdef2e49..00620ab1872db0489dce1823ab500c0062b651f0 100644
> > --- a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> > +++ b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> > @@ -28,6 +28,7 @@ properties:
> >    compatible:
> >      enum:
> >        - google,gs101-cmu-apm
> > +      - google,gs101-cmu-dpu
> >        - google,gs101-cmu-hsi0
> >        - google,gs101-cmu-hsi2
> >        - google,gs101-cmu-misc
> > @@ -82,6 +83,24 @@ allOf:
> >            items:
> >              - const: oscclk
> >
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: google,gs101-cmu-dpu
> > +
> > +    then:
> > +      properties:
> > +        clocks:
> > +          items:
> > +            - description: External reference clock (24.576 MHz)
> > +            - description: DPU bus clock (from CMU_TOP)
> > +
> > +        clock-names:
> > +          items:
> > +            - const: oscclk
> > +            - const: bus
> > +
> >    - if:
> >        properties:
> >          compatible:
> > diff --git a/include/dt-bindings/clock/google,gs101.h b/include/dt-bindings/clock/google,gs101.h
> > index 442f9e9037dc33198a1cee20af62fc70bbd96605..4ee46503663c1f8d9463536c347de5d991474145 100644
> > --- a/include/dt-bindings/clock/google,gs101.h
> > +++ b/include/dt-bindings/clock/google,gs101.h
> > @@ -634,4 +634,40 @@
> >  #define CLK_GOUT_PERIC1_CLK_PERIC1_USI9_USI_CLK              45
> >  #define CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK           46
> >
> > +/* CMU_DPU */
>
> Maybe add this block before hsi0 and after apm to keep alphabetic ordering
> of CMU blocks in this file.

Thanks for the review. Good point, I'll fix that and send a v3.

Peter

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/5] dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering
  2026-01-13  9:13     ` Peter Griffin
@ 2026-01-13  9:58       ` André Draszik
  2026-01-13 10:01         ` Peter Griffin
  0 siblings, 1 reply; 16+ messages in thread
From: André Draszik @ 2026-01-13  9:58 UTC (permalink / raw)
  To: Peter Griffin
  Cc: Tudor Ambarus, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	Sylwester Nawrocki, Chanwoo Choi, linux-arm-kernel,
	linux-samsung-soc, linux-clk, devicetree, linux-kernel,
	Krzysztof Kozlowski, kernel-team, Will McVicker, Juan Yescas,
	Doug Anderson

Hi Peter,

On Tue, 2026-01-13 at 09:13 +0000, Peter Griffin wrote:
> Hi André,
> 
> On Mon, 12 Jan 2026 at 14:26, André Draszik <andre.draszik@linaro.org> wrote:
> > 
> > On Mon, 2026-01-12 at 14:16 +0000, Peter Griffin wrote:
> > > Fix the places that don't have correct alphanumeric ordering. This will
> > > make reasoning about where to add future entries more straightforward.
> > > 
> > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> > > ---
> > >  Documentation/devicetree/bindings/clock/google,gs101-clock.yaml | 6 +++---
> > >  1 file changed, 3 insertions(+), 3 deletions(-)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> > > b/Documentation/devicetree/bindings/clock/google,gs101-
> > > clock.yaml
> > > index 09e679c1a9def03d53b8b493929911ea902a1763..a8176687bb773ae90800b9c256bcccebfdef2e49 100644
> > > --- a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> > > +++ b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> > > @@ -27,13 +27,13 @@ description: |
> > >  properties:
> > >    compatible:
> > >      enum:
> > > -      - google,gs101-cmu-top
> > >        - google,gs101-cmu-apm
> > > -      - google,gs101-cmu-misc
> > >        - google,gs101-cmu-hsi0
> > >        - google,gs101-cmu-hsi2
> > > +      - google,gs101-cmu-misc
> > >        - google,gs101-cmu-peric0
> > >        - google,gs101-cmu-peric1
> > > +      - google,gs101-cmu-top
> > 
> > If we keep 'top' at the top as one outlier, it'd reflect that it is the
> > top unit and all other CMUs are children of it.
> 
> Thanks for the review. I opted to just keep it alphanumeric so it's
> (hopefully) obvious what all future ordering should be.

One last comment: except that all other source files in the tree place
cmu_top at the top. It'd be more consistent with those files if done
similarly here.

Cheers,
Andre

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 1/5] dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering
  2026-01-13  9:58       ` André Draszik
@ 2026-01-13 10:01         ` Peter Griffin
  0 siblings, 0 replies; 16+ messages in thread
From: Peter Griffin @ 2026-01-13 10:01 UTC (permalink / raw)
  To: André Draszik
  Cc: Tudor Ambarus, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	Sylwester Nawrocki, Chanwoo Choi, linux-arm-kernel,
	linux-samsung-soc, linux-clk, devicetree, linux-kernel,
	Krzysztof Kozlowski, kernel-team, Will McVicker, Juan Yescas,
	Doug Anderson

Hi André

On Tue, 13 Jan 2026 at 09:58, André Draszik <andre.draszik@linaro.org> wrote:
>
> Hi Peter,
>
> On Tue, 2026-01-13 at 09:13 +0000, Peter Griffin wrote:
> > Hi André,
> >
> > On Mon, 12 Jan 2026 at 14:26, André Draszik <andre.draszik@linaro.org> wrote:
> > >
> > > On Mon, 2026-01-12 at 14:16 +0000, Peter Griffin wrote:
> > > > Fix the places that don't have correct alphanumeric ordering. This will
> > > > make reasoning about where to add future entries more straightforward.
> > > >
> > > > Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> > > > ---
> > > >  Documentation/devicetree/bindings/clock/google,gs101-clock.yaml | 6 +++---
> > > >  1 file changed, 3 insertions(+), 3 deletions(-)
> > > >
> > > > diff --git a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> > > > b/Documentation/devicetree/bindings/clock/google,gs101-
> > > > clock.yaml
> > > > index 09e679c1a9def03d53b8b493929911ea902a1763..a8176687bb773ae90800b9c256bcccebfdef2e49 100644
> > > > --- a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> > > > +++ b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml
> > > > @@ -27,13 +27,13 @@ description: |
> > > >  properties:
> > > >    compatible:
> > > >      enum:
> > > > -      - google,gs101-cmu-top
> > > >        - google,gs101-cmu-apm
> > > > -      - google,gs101-cmu-misc
> > > >        - google,gs101-cmu-hsi0
> > > >        - google,gs101-cmu-hsi2
> > > > +      - google,gs101-cmu-misc
> > > >        - google,gs101-cmu-peric0
> > > >        - google,gs101-cmu-peric1
> > > > +      - google,gs101-cmu-top
> > >
> > > If we keep 'top' at the top as one outlier, it'd reflect that it is the
> > > top unit and all other CMUs are children of it.
> >
> > Thanks for the review. I opted to just keep it alphanumeric so it's
> > (hopefully) obvious what all future ordering should be.
>
> One last comment: except that all other source files in the tree place
> cmu_top at the top. It'd be more consistent with those files if done
> similarly here.

I agree :) I just saw your other review comments in clk-gs101 and
realized what you meant here. I forgot CMU_TOP is at the top of the C
file (which makes sense when reading the driver as it feeds all the
other CMUs).

Will update.

Thanks,

Peter.

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH v2 4/5] clk: samsung: gs101: add support for Display Process Unit (DPU) clocks
  2026-01-12 15:07   ` André Draszik
@ 2026-01-13 10:21     ` Peter Griffin
  0 siblings, 0 replies; 16+ messages in thread
From: Peter Griffin @ 2026-01-13 10:21 UTC (permalink / raw)
  To: André Draszik
  Cc: Tudor Ambarus, Michael Turquette, Stephen Boyd, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Alim Akhtar,
	Sylwester Nawrocki, Chanwoo Choi, linux-arm-kernel,
	linux-samsung-soc, linux-clk, devicetree, linux-kernel,
	Krzysztof Kozlowski, kernel-team, Will McVicker, Juan Yescas,
	Doug Anderson

Hi André,

On Mon, 12 Jan 2026 at 15:06, André Draszik <andre.draszik@linaro.org> wrote:
>
> On Mon, 2026-01-12 at 14:16 +0000, Peter Griffin wrote:
> > cmu_dpu is the clock management unit used for the Display Process Unit
> > block. It generates clocks for image scaler, compressor etc.
> >
> > Add support for the muxes, dividers and gates in cmu_dpu.
> >
> > Signed-off-by: Peter Griffin <peter.griffin@linaro.org>
> > ---
> > Changes in v2:
> >  - Update gout_dpu_dpu_pclk to gout_dpu_gpc_dpu_pclk (Peter)
> >  - Fix dout_dpu_busp parent (Peter)
> > ---
> >  drivers/clk/samsung/clk-gs101.c | 283 ++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 283 insertions(+)
> >
> > diff --git a/drivers/clk/samsung/clk-gs101.c b/drivers/clk/samsung/clk-gs101.c
> > index 8551289b46eb88ec61dd1914d0fe782ae6794000..b38c6c8749aae42319d2004ff5ffbc9a19320cac 100644
> > --- a/drivers/clk/samsung/clk-gs101.c
> > +++ b/drivers/clk/samsung/clk-gs101.c
> > @@ -25,6 +25,7 @@
> >  #define CLKS_NR_MISC (CLK_GOUT_MISC_XIU_D_MISC_ACLK + 1)
> >  #define CLKS_NR_PERIC0       (CLK_GOUT_PERIC0_SYSREG_PERIC0_PCLK + 1)
> >  #define CLKS_NR_PERIC1       (CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK + 1)
> > +#define CLKS_NR_DPU  (CLK_GOUT_DPU_SYSREG_DPU_PCLK + 1)
>
> Between APM and HSI0 to keep alphabetic ordering :-)

will fix

>
> >
> >  #define GS101_GATE_DBG_OFFSET 0x4000
> >  #define GS101_DRCG_EN_OFFSET  0x104
> > @@ -4426,6 +4427,285 @@ static const struct samsung_cmu_info peric1_cmu_info __initconst = {
> >       .drcg_offset            = GS101_DRCG_EN_OFFSET,
> >  };
> >
> > +/* ---- CMU_DPU ------------------------------------------------------------- */
>
> I'll do a full review later, but this new block should also be between
> existing CMU_APM and CMU_HSI0 blocks to keep alphabetic ordering.

Will fix.

Thanks,

Peter.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2026-01-13 10:21 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-01-12 14:16 [PATCH v2 0/5] gs101: Add support for Display Process Unit (DPU) clocks Peter Griffin
2026-01-12 14:16 ` [PATCH v2 1/5] dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering Peter Griffin
2026-01-12 14:26   ` André Draszik
2026-01-13  9:13     ` Peter Griffin
2026-01-13  9:58       ` André Draszik
2026-01-13 10:01         ` Peter Griffin
2026-01-12 14:16 ` [PATCH v2 2/5] dt-bindings: clock: google,gs101-clock: Add DPU clock management unit Peter Griffin
2026-01-12 14:32   ` André Draszik
2026-01-13  9:45     ` Peter Griffin
2026-01-12 14:16 ` [PATCH v2 3/5] dt-bindings: samsung: exynos-sysreg: add gs101 dpu compatible Peter Griffin
2026-01-12 14:35   ` André Draszik
2026-01-12 14:16 ` [PATCH v2 4/5] clk: samsung: gs101: add support for Display Process Unit (DPU) clocks Peter Griffin
2026-01-12 15:07   ` André Draszik
2026-01-13 10:21     ` Peter Griffin
2026-01-12 14:16 ` [PATCH v2 5/5] arm64: dts: exynos: gs101: add cmu_dpu and sysreg_dpu dt nodes Peter Griffin
2026-01-12 14:54   ` André Draszik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®