mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 0/3] Add clock support for CMU_MFC
       [not found] <CGME20250925125612epcas5p3c8ae07ba60294f861aaaa79b1a1d7613@epcas5p3.samsung.com>
@ 2025-09-25 13:04 ` Raghav Sharma
       [not found]   ` <CGME20250925125616epcas5p37346312c6a788a5398212f671d8a369d@epcas5p3.samsung.com>
                     ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Raghav Sharma @ 2025-09-25 13:04 UTC (permalink / raw)
  To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd,
	robh, conor+dt, sunyeal.hong, shin.son
  Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
	linux-kernel, chandan.vn, dev.tailor, karthik.sun, Raghav Sharma

This series adds clock support for the CMU_MFC block.

Patch[1/3]: dt-bindings: clock: exynosautov920: add mfc clock definitions
        - Adds DT binding for CMU_MFC and clock definitions

Patch[2/3]: clk: samsung: exynosautov920: add block mfc clock support
        - Adds CMU_MFC clock driver support

Patch[3/3]: arm64: dts: exynosautov920: add CMU_MFC clock DT nodes
        - Adds dt node for CMU_MFC

Signed-off-by: Raghav Sharma <raghav.s@samsung.com>
---
This patchlist is dependent on patches to add clock support for CMU_M2M
Link to M2M patches: https://lore.kernel.org/all/20250915095401.3699849-1-raghav.s@samsung.com/

Raghav Sharma (3):
  dt-bindings: clock: exynosautov920: add mfc clock definitions
  clk: samsung: exynosautov920: add block mfc clock support
  arm64: dts: exynosautov920: add cmu_mfc clock DT nodes

 .../clock/samsung,exynosautov920-clock.yaml   | 21 +++++++++
 .../arm64/boot/dts/exynos/exynosautov920.dtsi | 13 ++++++
 drivers/clk/samsung/clk-exynosautov920.c      | 45 +++++++++++++++++++
 .../clock/samsung,exynosautov920.h            |  5 +++
 4 files changed, 84 insertions(+)


base-commit: b5a4da2c459f79a2c87c867398f1c0c315779781 
-- 
2.34.1


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

* [PATCH 1/3] dt-bindings: clock: exynosautov920: add mfc clock definitions
       [not found]   ` <CGME20250925125616epcas5p37346312c6a788a5398212f671d8a369d@epcas5p3.samsung.com>
@ 2025-09-25 13:04     ` Raghav Sharma
  2025-10-10 12:46       ` Krzysztof Kozlowski
  2025-10-13  1:01       ` (subset) " Krzysztof Kozlowski
  0 siblings, 2 replies; 8+ messages in thread
From: Raghav Sharma @ 2025-09-25 13:04 UTC (permalink / raw)
  To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd,
	robh, conor+dt, sunyeal.hong, shin.son
  Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
	linux-kernel, chandan.vn, dev.tailor, karthik.sun, Raghav Sharma

Add device tree clock binding definitions for CMU_MFC

Signed-off-by: Raghav Sharma <raghav.s@samsung.com>
---
 .../clock/samsung,exynosautov920-clock.yaml   | 21 +++++++++++++++++++
 .../clock/samsung,exynosautov920.h            |  5 +++++
 2 files changed, 26 insertions(+)

diff --git a/Documentation/devicetree/bindings/clock/samsung,exynosautov920-clock.yaml b/Documentation/devicetree/bindings/clock/samsung,exynosautov920-clock.yaml
index b2dfe6ed353a..5bf905f88a1a 100644
--- a/Documentation/devicetree/bindings/clock/samsung,exynosautov920-clock.yaml
+++ b/Documentation/devicetree/bindings/clock/samsung,exynosautov920-clock.yaml
@@ -39,6 +39,7 @@ properties:
       - samsung,exynosautov920-cmu-hsi1
       - samsung,exynosautov920-cmu-hsi2
       - samsung,exynosautov920-cmu-m2m
+      - samsung,exynosautov920-cmu-mfc
       - samsung,exynosautov920-cmu-misc
       - samsung,exynosautov920-cmu-peric0
       - samsung,exynosautov920-cmu-peric1
@@ -247,6 +248,26 @@ allOf:
             - const: noc
             - const: jpeg
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: samsung,exynosautov920-cmu-mfc
+
+    then:
+      properties:
+        clocks:
+          items:
+            - description: External reference clock (38.4 MHz)
+            - description: CMU_MFC MFC clock (from CMU_TOP)
+            - description: CMU_MFC WFD clock (from CMU_TOP)
+
+        clock-names:
+          items:
+            - const: oscclk
+            - const: mfc
+            - const: wfd
+
 required:
   - compatible
   - "#clock-cells"
diff --git a/include/dt-bindings/clock/samsung,exynosautov920.h b/include/dt-bindings/clock/samsung,exynosautov920.h
index 0342a988565a..970d05167fc6 100644
--- a/include/dt-bindings/clock/samsung,exynosautov920.h
+++ b/include/dt-bindings/clock/samsung,exynosautov920.h
@@ -300,4 +300,9 @@
 #define CLK_MOUT_M2M_NOC_USER           2
 #define CLK_DOUT_M2M_NOCP               3
 
+/* CMU_MFC */
+#define CLK_MOUT_MFC_MFC_USER           1
+#define CLK_MOUT_MFC_WFD_USER           2
+#define CLK_DOUT_MFC_NOCP               3
+
 #endif /* _DT_BINDINGS_CLOCK_EXYNOSAUTOV920_H */
-- 
2.34.1


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

* [PATCH 2/3] clk: samsung: exynosautov920: add block mfc clock support
       [not found]   ` <CGME20250925125620epcas5p359a6c18a13f2a2f895433e4dd241020e@epcas5p3.samsung.com>
@ 2025-09-25 13:04     ` Raghav Sharma
  2025-10-13  1:01       ` (subset) " Krzysztof Kozlowski
  0 siblings, 1 reply; 8+ messages in thread
From: Raghav Sharma @ 2025-09-25 13:04 UTC (permalink / raw)
  To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd,
	robh, conor+dt, sunyeal.hong, shin.son
  Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
	linux-kernel, chandan.vn, dev.tailor, karthik.sun, Raghav Sharma

Add support for CMU_MFC which provides clocks to MFC block, and
register the required compatible and cmu_info for the same.

Signed-off-by: Raghav Sharma <raghav.s@samsung.com>
---
 drivers/clk/samsung/clk-exynosautov920.c | 45 ++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/drivers/clk/samsung/clk-exynosautov920.c b/drivers/clk/samsung/clk-exynosautov920.c
index 75deec8bece5..b90b73c3518f 100644
--- a/drivers/clk/samsung/clk-exynosautov920.c
+++ b/drivers/clk/samsung/clk-exynosautov920.c
@@ -28,6 +28,7 @@
 #define CLKS_NR_HSI1			(CLK_MOUT_HSI1_USBDRD + 1)
 #define CLKS_NR_HSI2			(CLK_DOUT_HSI2_ETHERNET_PTP + 1)
 #define CLKS_NR_M2M                     (CLK_DOUT_M2M_NOCP + 1)
+#define CLKS_NR_MFC                     (CLK_DOUT_MFC_NOCP + 1)
 
 /* ---- CMU_TOP ------------------------------------------------------------ */
 
@@ -1863,6 +1864,47 @@ static const struct samsung_cmu_info m2m_cmu_info __initconst = {
 	.clk_name               = "noc",
 };
 
+/* ---- CMU_MFC --------------------------------------------------------- */
+
+/* Register Offset definitions for CMU_MFC (0x19c00000) */
+#define PLL_CON0_MUX_CLKCMU_MFC_MFC_USER        0x600
+#define PLL_CON0_MUX_CLKCMU_MFC_WFD_USER        0x610
+#define CLK_CON_DIV_DIV_CLK_MFC_NOCP            0x1800
+
+static const unsigned long mfc_clk_regs[] __initconst = {
+	PLL_CON0_MUX_CLKCMU_MFC_MFC_USER,
+	PLL_CON0_MUX_CLKCMU_MFC_WFD_USER,
+	CLK_CON_DIV_DIV_CLK_MFC_NOCP,
+};
+
+/* List of parent clocks for Muxes in CMU_MFC */
+PNAME(mout_clkcmu_mfc_mfc_user_p) = { "oscclk", "dout_clkcmu_mfc_mfc" };
+PNAME(mout_clkcmu_mfc_wfd_user_p) = { "oscclk", "dout_clkcmu_mfc_wfd" };
+
+static const struct samsung_mux_clock mfc_mux_clks[] __initconst = {
+	MUX(CLK_MOUT_MFC_MFC_USER, "mout_clkcmu_mfc_mfc_user",
+	    mout_clkcmu_mfc_mfc_user_p, PLL_CON0_MUX_CLKCMU_MFC_MFC_USER, 4, 1),
+	MUX(CLK_MOUT_MFC_WFD_USER, "mout_clkcmu_mfc_wfd_user",
+	    mout_clkcmu_mfc_wfd_user_p, PLL_CON0_MUX_CLKCMU_MFC_WFD_USER, 4, 1),
+};
+
+static const struct samsung_div_clock mfc_div_clks[] __initconst = {
+	DIV(CLK_DOUT_MFC_NOCP, "dout_mfc_nocp",
+	    "mout_clkcmu_mfc_mfc_user", CLK_CON_DIV_DIV_CLK_MFC_NOCP,
+	    0, 3),
+};
+
+static const struct samsung_cmu_info mfc_cmu_info __initconst = {
+	.mux_clks               = mfc_mux_clks,
+	.nr_mux_clks            = ARRAY_SIZE(mfc_mux_clks),
+	.div_clks               = mfc_div_clks,
+	.nr_div_clks            = ARRAY_SIZE(mfc_div_clks),
+	.nr_clk_ids             = CLKS_NR_MFC,
+	.clk_regs               = mfc_clk_regs,
+	.nr_clk_regs            = ARRAY_SIZE(mfc_clk_regs),
+	.clk_name               = "noc",
+};
+
 static int __init exynosautov920_cmu_probe(struct platform_device *pdev)
 {
 	const struct samsung_cmu_info *info;
@@ -1896,6 +1938,9 @@ static const struct of_device_id exynosautov920_cmu_of_match[] = {
 	}, {
 		.compatible = "samsung,exynosautov920-cmu-m2m",
 		.data = &m2m_cmu_info,
+	}, {
+		.compatible = "samsung,exynosautov920-cmu-mfc",
+		.data = &mfc_cmu_info,
 	},
 	{ }
 };
-- 
2.34.1


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

* [PATCH 3/3] arm64: dts: exynosautov920: add CMU_MFC clock DT nodes
       [not found]   ` <CGME20250925125624epcas5p1b8da5d2cca89128d286f740b9896c609@epcas5p1.samsung.com>
@ 2025-09-25 13:04     ` Raghav Sharma
  2025-10-13  1:01       ` (subset) " Krzysztof Kozlowski
  0 siblings, 1 reply; 8+ messages in thread
From: Raghav Sharma @ 2025-09-25 13:04 UTC (permalink / raw)
  To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd,
	robh, conor+dt, sunyeal.hong, shin.son
  Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
	linux-kernel, chandan.vn, dev.tailor, karthik.sun, Raghav Sharma

Add required dt node for CMU_MFC block, which provides
clocks for MFC IP

Signed-off-by: Raghav Sharma <raghav.s@samsung.com>
---
 arch/arm64/boot/dts/exynos/exynosautov920.dtsi | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/exynos/exynosautov920.dtsi b/arch/arm64/boot/dts/exynos/exynosautov920.dtsi
index d19d71faa6f8..6ee74d260776 100644
--- a/arch/arm64/boot/dts/exynos/exynosautov920.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynosautov920.dtsi
@@ -1449,6 +1449,19 @@ ufs_0_phy: phy@16e04000 {
 			status = "disabled";
 		};
 
+		cmu_mfc: clock-controller@19c00000 {
+			compatible = "samsung,exynosautov920-cmu-mfc";
+			reg = <0x19c00000 0x8000>;
+			#clock-cells = <1>;
+
+			clocks = <&xtcxo>,
+				 <&cmu_top DOUT_CLKCMU_MFC_MFC>,
+				 <&cmu_top DOUT_CLKCMU_MFC_WFD>;
+			clock-names = "oscclk",
+				      "mfc",
+				      "wfd";
+		};
+
 		pinctrl_aud: pinctrl@1a460000 {
 			compatible = "samsung,exynosautov920-pinctrl";
 			reg = <0x1a460000 0x10000>;
-- 
2.34.1


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

* Re: [PATCH 1/3] dt-bindings: clock: exynosautov920: add mfc clock definitions
  2025-09-25 13:04     ` [PATCH 1/3] dt-bindings: clock: exynosautov920: add mfc clock definitions Raghav Sharma
@ 2025-10-10 12:46       ` Krzysztof Kozlowski
  2025-10-13  1:01       ` (subset) " Krzysztof Kozlowski
  1 sibling, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-10 12:46 UTC (permalink / raw)
  To: Raghav Sharma, s.nawrocki, cw00.choi, alim.akhtar, mturquette,
	sboyd, robh, conor+dt, sunyeal.hong, shin.son
  Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
	linux-kernel, chandan.vn, dev.tailor, karthik.sun

On 25/09/2025 15:04, Raghav Sharma wrote:
> Add device tree clock binding definitions for CMU_MFC
> 
> Signed-off-by: Raghav Sharma <raghav.s@samsung.com>

Wearing DT hat:

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof

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

* Re: (subset) [PATCH 1/3] dt-bindings: clock: exynosautov920: add mfc clock definitions
  2025-09-25 13:04     ` [PATCH 1/3] dt-bindings: clock: exynosautov920: add mfc clock definitions Raghav Sharma
  2025-10-10 12:46       ` Krzysztof Kozlowski
@ 2025-10-13  1:01       ` Krzysztof Kozlowski
  1 sibling, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-13  1:01 UTC (permalink / raw)
  To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd,
	robh, conor+dt, sunyeal.hong, shin.son, Raghav Sharma
  Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
	linux-kernel, chandan.vn, dev.tailor, karthik.sun


On Thu, 25 Sep 2025 18:34:55 +0530, Raghav Sharma wrote:
> Add device tree clock binding definitions for CMU_MFC
> 
> 

Applied, thanks!

[1/3] dt-bindings: clock: exynosautov920: add mfc clock definitions
      https://git.kernel.org/krzk/linux/c/0b94201e327471d034d81cf5fd2131a5529eea19

Best regards,
-- 
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


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

* Re: (subset) [PATCH 2/3] clk: samsung: exynosautov920: add block mfc clock support
  2025-09-25 13:04     ` [PATCH 2/3] clk: samsung: exynosautov920: add block mfc clock support Raghav Sharma
@ 2025-10-13  1:01       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-13  1:01 UTC (permalink / raw)
  To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd,
	robh, conor+dt, sunyeal.hong, shin.son, Raghav Sharma
  Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
	linux-kernel, chandan.vn, dev.tailor, karthik.sun


On Thu, 25 Sep 2025 18:34:56 +0530, Raghav Sharma wrote:
> Add support for CMU_MFC which provides clocks to MFC block, and
> register the required compatible and cmu_info for the same.
> 
> 

Applied, thanks!

[2/3] clk: samsung: exynosautov920: add block mfc clock support
      https://git.kernel.org/krzk/linux/c/25e476632cf7135aba11b27e3807a2692a3e5e13

Best regards,
-- 
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


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

* Re: (subset) [PATCH 3/3] arm64: dts: exynosautov920: add CMU_MFC clock DT nodes
  2025-09-25 13:04     ` [PATCH 3/3] arm64: dts: exynosautov920: add CMU_MFC clock DT nodes Raghav Sharma
@ 2025-10-13  1:01       ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2025-10-13  1:01 UTC (permalink / raw)
  To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd,
	robh, conor+dt, sunyeal.hong, shin.son, Raghav Sharma
  Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
	linux-kernel, chandan.vn, dev.tailor, karthik.sun


On Thu, 25 Sep 2025 18:34:57 +0530, Raghav Sharma wrote:
> Add required dt node for CMU_MFC block, which provides
> clocks for MFC IP
> 
> 

Applied, thanks!

[3/3] arm64: dts: exynosautov920: add CMU_MFC clock DT nodes
      https://git.kernel.org/krzk/linux/c/e3be50e829aa1aee713bf0c6907acf13d48be310

Best regards,
-- 
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


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

end of thread, other threads:[~2025-10-13  1:02 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CGME20250925125612epcas5p3c8ae07ba60294f861aaaa79b1a1d7613@epcas5p3.samsung.com>
2025-09-25 13:04 ` [PATCH 0/3] Add clock support for CMU_MFC Raghav Sharma
     [not found]   ` <CGME20250925125616epcas5p37346312c6a788a5398212f671d8a369d@epcas5p3.samsung.com>
2025-09-25 13:04     ` [PATCH 1/3] dt-bindings: clock: exynosautov920: add mfc clock definitions Raghav Sharma
2025-10-10 12:46       ` Krzysztof Kozlowski
2025-10-13  1:01       ` (subset) " Krzysztof Kozlowski
     [not found]   ` <CGME20250925125620epcas5p359a6c18a13f2a2f895433e4dd241020e@epcas5p3.samsung.com>
2025-09-25 13:04     ` [PATCH 2/3] clk: samsung: exynosautov920: add block mfc clock support Raghav Sharma
2025-10-13  1:01       ` (subset) " Krzysztof Kozlowski
     [not found]   ` <CGME20250925125624epcas5p1b8da5d2cca89128d286f740b9896c609@epcas5p1.samsung.com>
2025-09-25 13:04     ` [PATCH 3/3] arm64: dts: exynosautov920: add CMU_MFC clock DT nodes Raghav Sharma
2025-10-13  1:01       ` (subset) " Krzysztof Kozlowski

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®