* [PATCH 0/4] dpum clock support for Exynos Auto v9 SoC
[not found] <CGME20240729043102epcas1p4952d0437ef733036b8fdbe28b0ef21ca@epcas1p4.samsung.com>
@ 2024-07-29 4:30 ` Kwanghoon Son
2024-07-29 4:30 ` [PATCH 1/4] dt-bindings: clk: exynosautov9: add dpum clock definitions Kwanghoon Son
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Kwanghoon Son @ 2024-07-29 4:30 UTC (permalink / raw)
To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd, robh,
conor+dt, tomasz.figa
Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
Kwanghoon Son
DPUM (Display Processing Unit Main) is main dpu for Exynosautov9.
This patches enable clock for dpum, sysmmu(iommu).
Kwanghoon Son (4):
dt-bindings: clk: exynosautov9: add dpum clock definitions
dt-bindings: clock: exynosautov9: add schema for dpum
arm64: dts: exynosautov9: add dpum clock DT nodes
clk: samsung: exynosautov9: add dpum clock support
.../clock/samsung,exynosautov9-clock.yaml | 19 +++++
arch/arm64/boot/dts/exynos/exynosautov9.dtsi | 11 +++
drivers/clk/samsung/clk-exynosautov9.c | 83 +++++++++++++++++++
.../dt-bindings/clock/samsung,exynosautov9.h | 11 +++
4 files changed, 124 insertions(+)
base-commit: c33ffdb70cc6df4105160f991288e7d2567d7ffa
--
2.39.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/4] dt-bindings: clk: exynosautov9: add dpum clock definitions
2024-07-29 4:30 ` [PATCH 0/4] dpum clock support for Exynos Auto v9 SoC Kwanghoon Son
@ 2024-07-29 4:30 ` Kwanghoon Son
2024-07-29 6:03 ` Krzysztof Kozlowski
2024-07-29 4:30 ` [PATCH 2/4] dt-bindings: clock: exynosautov9: add schema for dpum Kwanghoon Son
` (2 subsequent siblings)
3 siblings, 1 reply; 7+ messages in thread
From: Kwanghoon Son @ 2024-07-29 4:30 UTC (permalink / raw)
To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd, robh,
conor+dt, tomasz.figa
Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
Kwanghoon Son
Add dpum clk definitions.
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
---
include/dt-bindings/clock/samsung,exynosautov9.h | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/include/dt-bindings/clock/samsung,exynosautov9.h b/include/dt-bindings/clock/samsung,exynosautov9.h
index 3065375c2d8b..ce8fb8f7d718 100644
--- a/include/dt-bindings/clock/samsung,exynosautov9.h
+++ b/include/dt-bindings/clock/samsung,exynosautov9.h
@@ -179,6 +179,17 @@
#define CLK_GOUT_CORE_CCI_PCLK 4
#define CLK_GOUT_CORE_CMU_CORE_PCLK 5
+/* CMU_DPUM */
+#define CLK_MOUT_DPUM_BUS_USER 1
+#define CLK_DOUT_DPUM_BUSP 2
+#define CLK_GOUT_DPUM_ACLK_DECON 3
+#define CLK_GOUT_DPUM_ACLK_DMA 4
+#define CLK_GOUT_DPUM_ACLK_DPP 5
+#define CLK_GOUT_DPUM_SYSMMU_D0_CLK 6
+#define CLK_GOUT_DPUM_SYSMMU_D1_CLK 7
+#define CLK_GOUT_DPUM_SYSMMU_D2_CLK 8
+#define CLK_GOUT_DPUM_SYSMMU_D3_CLK 9
+
/* CMU_FSYS0 */
#define CLK_MOUT_FSYS0_BUS_USER 1
#define CLK_MOUT_FSYS0_PCIE_USER 2
--
2.39.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/4] dt-bindings: clock: exynosautov9: add schema for dpum
2024-07-29 4:30 ` [PATCH 0/4] dpum clock support for Exynos Auto v9 SoC Kwanghoon Son
2024-07-29 4:30 ` [PATCH 1/4] dt-bindings: clk: exynosautov9: add dpum clock definitions Kwanghoon Son
@ 2024-07-29 4:30 ` Kwanghoon Son
2024-07-29 4:30 ` [PATCH 3/4] arm64: dts: exynosautov9: add dpum clock DT nodes Kwanghoon Son
2024-07-29 4:30 ` [PATCH 4/4] clk: samsung: exynosautov9: add dpum clock support Kwanghoon Son
3 siblings, 0 replies; 7+ messages in thread
From: Kwanghoon Son @ 2024-07-29 4:30 UTC (permalink / raw)
To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd, robh,
conor+dt, tomasz.figa
Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
Kwanghoon Son
Add "samsung,exynosautov9-cmu-dpum" compatibles.
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
---
.../clock/samsung,exynosautov9-clock.yaml | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/Documentation/devicetree/bindings/clock/samsung,exynosautov9-clock.yaml b/Documentation/devicetree/bindings/clock/samsung,exynosautov9-clock.yaml
index 55c4f94a14d1..9c8041fc9d4b 100644
--- a/Documentation/devicetree/bindings/clock/samsung,exynosautov9-clock.yaml
+++ b/Documentation/devicetree/bindings/clock/samsung,exynosautov9-clock.yaml
@@ -35,6 +35,7 @@ properties:
- samsung,exynosautov9-cmu-top
- samsung,exynosautov9-cmu-busmc
- samsung,exynosautov9-cmu-core
+ - samsung,exynosautov9-cmu-dpum
- samsung,exynosautov9-cmu-fsys0
- samsung,exynosautov9-cmu-fsys1
- samsung,exynosautov9-cmu-fsys2
@@ -109,6 +110,24 @@ allOf:
- const: oscclk
- const: dout_clkcmu_core_bus
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: samsung,exynosautov9-cmu-dpum
+
+ then:
+ properties:
+ clocks:
+ items:
+ - description: External reference clock (26 MHz)
+ - description: CMU_DPUM bus clock (from CMU_TOP)
+
+ clock-names:
+ items:
+ - const: oscclk
+ - const: dout_clkcmu_dpum_bus
+
- if:
properties:
compatible:
--
2.39.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/4] arm64: dts: exynosautov9: add dpum clock DT nodes
2024-07-29 4:30 ` [PATCH 0/4] dpum clock support for Exynos Auto v9 SoC Kwanghoon Son
2024-07-29 4:30 ` [PATCH 1/4] dt-bindings: clk: exynosautov9: add dpum clock definitions Kwanghoon Son
2024-07-29 4:30 ` [PATCH 2/4] dt-bindings: clock: exynosautov9: add schema for dpum Kwanghoon Son
@ 2024-07-29 4:30 ` Kwanghoon Son
2024-07-29 4:30 ` [PATCH 4/4] clk: samsung: exynosautov9: add dpum clock support Kwanghoon Son
3 siblings, 0 replies; 7+ messages in thread
From: Kwanghoon Son @ 2024-07-29 4:30 UTC (permalink / raw)
To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd, robh,
conor+dt, tomasz.figa
Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
Kwanghoon Son
Add dpum clock for sysmmu, dpu.
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
---
arch/arm64/boot/dts/exynos/exynosautov9.dtsi | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/arch/arm64/boot/dts/exynos/exynosautov9.dtsi b/arch/arm64/boot/dts/exynos/exynosautov9.dtsi
index 0248329da49a..a8e57f499fec 100644
--- a/arch/arm64/boot/dts/exynos/exynosautov9.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynosautov9.dtsi
@@ -251,6 +251,17 @@ cmu_fsys2: clock-controller@17c00000 {
"dout_fsys2_clkcmu_ethernet";
};
+ cmu_dpum: clock-controller@18c00000 {
+ compatible = "samsung,exynosautov9-cmu-dpum";
+ reg = <0x18c00000 0x8000>;
+ #clock-cells = <1>;
+
+ clocks = <&xtcxo>,
+ <&cmu_top DOUT_CLKCMU_DPUM_BUS>;
+ clock-names = "oscclk",
+ "dout_clkcmu_dpum_bus";
+ };
+
cmu_core: clock-controller@1b030000 {
compatible = "samsung,exynosautov9-cmu-core";
reg = <0x1b030000 0x8000>;
--
2.39.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/4] clk: samsung: exynosautov9: add dpum clock support
2024-07-29 4:30 ` [PATCH 0/4] dpum clock support for Exynos Auto v9 SoC Kwanghoon Son
` (2 preceding siblings ...)
2024-07-29 4:30 ` [PATCH 3/4] arm64: dts: exynosautov9: add dpum clock DT nodes Kwanghoon Son
@ 2024-07-29 4:30 ` Kwanghoon Son
3 siblings, 0 replies; 7+ messages in thread
From: Kwanghoon Son @ 2024-07-29 4:30 UTC (permalink / raw)
To: krzk, s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd, robh,
conor+dt, tomasz.figa
Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel,
Kwanghoon Son
Add dpum clock for exynosautov9.
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
---
drivers/clk/samsung/clk-exynosautov9.c | 83 ++++++++++++++++++++++++++
1 file changed, 83 insertions(+)
diff --git a/drivers/clk/samsung/clk-exynosautov9.c b/drivers/clk/samsung/clk-exynosautov9.c
index f04bacacab2c..3569748b30a9 100644
--- a/drivers/clk/samsung/clk-exynosautov9.c
+++ b/drivers/clk/samsung/clk-exynosautov9.c
@@ -20,6 +20,7 @@
#define CLKS_NR_TOP (GOUT_CLKCMU_PERIS_BUS + 1)
#define CLKS_NR_BUSMC (CLK_GOUT_BUSMC_SPDMA_PCLK + 1)
#define CLKS_NR_CORE (CLK_GOUT_CORE_CMU_CORE_PCLK + 1)
+#define CLKS_NR_DPUM (CLK_GOUT_DPUM_SYSMMU_D3_CLK + 1)
#define CLKS_NR_FSYS0 (CLK_GOUT_FSYS0_PCIE_GEN3B_4L_CLK + 1)
#define CLKS_NR_FSYS1 (CLK_GOUT_FSYS1_USB30_1_ACLK + 1)
#define CLKS_NR_FSYS2 (CLK_GOUT_FSYS2_UFS_EMBD1_UNIPRO + 1)
@@ -1076,6 +1077,85 @@ static const struct samsung_cmu_info core_cmu_info __initconst = {
.clk_name = "dout_clkcmu_core_bus",
};
+/* ---- CMU_DPUM ---------------------------------------------------------- */
+
+/* Register Offset definitions for CMU_DPUM (0x18c00000) */
+#define PLL_CON0_MUX_CLKCMU_DPUM_BUS_USER 0x0600
+#define CLK_CON_DIV_DIV_CLK_DPUM_BUSP 0x1800
+#define CLK_CON_GAT_GOUT_BLK_DPUM_UID_DPUM_IPCLKPORT_ACLK_DECON 0x202c
+#define CLK_CON_GAT_GOUT_BLK_DPUM_UID_DPUM_IPCLKPORT_ACLK_DMA 0x2030
+#define CLK_CON_GAT_GOUT_BLK_DPUM_UID_DPUM_IPCLKPORT_ACLK_DPP 0x2034
+#define CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D0_DPUM_IPCLKPORT_CLK_S1 0x207c
+#define CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D1_DPUM_IPCLKPORT_CLK_S1 0x2084
+#define CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D2_DPUM_IPCLKPORT_CLK_S1 0x208c
+#define CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D3_DPUM_IPCLKPORT_CLK_S1 0x2094
+
+static const unsigned long dpum_clk_regs[] __initconst = {
+ PLL_CON0_MUX_CLKCMU_DPUM_BUS_USER,
+ CLK_CON_DIV_DIV_CLK_DPUM_BUSP,
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_DPUM_IPCLKPORT_ACLK_DECON,
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_DPUM_IPCLKPORT_ACLK_DMA,
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_DPUM_IPCLKPORT_ACLK_DPP,
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D0_DPUM_IPCLKPORT_CLK_S1,
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D1_DPUM_IPCLKPORT_CLK_S1,
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D2_DPUM_IPCLKPORT_CLK_S1,
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D3_DPUM_IPCLKPORT_CLK_S1,
+};
+
+PNAME(mout_dpum_bus_user_p) = { "oscclk", "dout_clkcmu_dpum_bus" };
+
+static const struct samsung_mux_clock dpum_mux_clks[] __initconst = {
+ MUX(CLK_MOUT_DPUM_BUS_USER, "mout_dpum_bus_user",
+ mout_dpum_bus_user_p, PLL_CON0_MUX_CLKCMU_DPUM_BUS_USER, 4, 1),
+};
+
+static const struct samsung_div_clock dpum_div_clks[] __initconst = {
+ DIV(CLK_DOUT_DPUM_BUSP, "dout_dpum_busp", "mout_dpum_bus_user",
+ CLK_CON_DIV_DIV_CLK_DPUM_BUSP, 0, 3),
+};
+
+static const struct samsung_gate_clock dpum_gate_clks[] __initconst = {
+ GATE(CLK_GOUT_DPUM_ACLK_DECON, "gout_dpum_decon_aclk",
+ "mout_dpum_bus_user",
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_DPUM_IPCLKPORT_ACLK_DECON, 21,
+ 0, 0),
+ GATE(CLK_GOUT_DPUM_ACLK_DMA, "gout_dpum_dma_aclk", "mout_dpum_bus_user",
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_DPUM_IPCLKPORT_ACLK_DMA, 21,
+ 0, 0),
+ GATE(CLK_GOUT_DPUM_ACLK_DPP, "gout_dpum_dpp_aclk", "mout_dpum_bus_user",
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_DPUM_IPCLKPORT_ACLK_DPP, 21,
+ 0, 0),
+ GATE(CLK_GOUT_DPUM_SYSMMU_D0_CLK, "gout_dpum_sysmmu_d0_clk",
+ "mout_dpum_bus_user",
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D0_DPUM_IPCLKPORT_CLK_S1, 21,
+ 0, 0),
+ GATE(CLK_GOUT_DPUM_SYSMMU_D1_CLK, "gout_dpum_sysmmu_d1_clk",
+ "mout_dpum_bus_user",
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D1_DPUM_IPCLKPORT_CLK_S1, 21,
+ 0, 0),
+ GATE(CLK_GOUT_DPUM_SYSMMU_D2_CLK, "gout_dpum_sysmmu_d2_clk",
+ "mout_dpum_bus_user",
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D2_DPUM_IPCLKPORT_CLK_S1, 21,
+ 0, 0),
+ GATE(CLK_GOUT_DPUM_SYSMMU_D3_CLK, "gout_dpum_sysmmu_d3_clk",
+ "mout_dpum_bus_user",
+ CLK_CON_GAT_GOUT_BLK_DPUM_UID_SYSMMU_D3_DPUM_IPCLKPORT_CLK_S1, 21,
+ 0, 0),
+};
+
+static const struct samsung_cmu_info dpum_cmu_info __initconst = {
+ .mux_clks = dpum_mux_clks,
+ .nr_mux_clks = ARRAY_SIZE(dpum_mux_clks),
+ .div_clks = dpum_div_clks,
+ .nr_div_clks = ARRAY_SIZE(dpum_div_clks),
+ .gate_clks = dpum_gate_clks,
+ .nr_gate_clks = ARRAY_SIZE(dpum_gate_clks),
+ .nr_clk_ids = CLKS_NR_DPUM,
+ .clk_regs = dpum_clk_regs,
+ .nr_clk_regs = ARRAY_SIZE(dpum_clk_regs),
+ .clk_name = "dout_clkcmu_dpum_bus",
+};
+
/* ---- CMU_FSYS0 ---------------------------------------------------------- */
/* Register Offset definitions for CMU_FSYS2 (0x17700000) */
@@ -2085,6 +2165,9 @@ static const struct of_device_id exynosautov9_cmu_of_match[] = {
}, {
.compatible = "samsung,exynosautov9-cmu-core",
.data = &core_cmu_info,
+ }, {
+ .compatible = "samsung,exynosautov9-cmu-dpum",
+ .data = &dpum_cmu_info,
}, {
.compatible = "samsung,exynosautov9-cmu-fsys0",
.data = &fsys0_cmu_info,
--
2.39.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 1/4] dt-bindings: clk: exynosautov9: add dpum clock definitions
2024-07-29 4:30 ` [PATCH 1/4] dt-bindings: clk: exynosautov9: add dpum clock definitions Kwanghoon Son
@ 2024-07-29 6:03 ` Krzysztof Kozlowski
2024-07-30 5:49 ` Kwanghoon Son
0 siblings, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2024-07-29 6:03 UTC (permalink / raw)
To: Kwanghoon Son, s.nawrocki, cw00.choi, alim.akhtar, mturquette,
sboyd, robh, conor+dt, tomasz.figa
Cc: linux-samsung-soc, linux-clk, devicetree, linux-arm-kernel
On 29/07/2024 06:30, Kwanghoon Son wrote:
> Add dpum clk definitions.
>
> Signed-off-by: Kwanghoon Son <k.son@samsung.com>
> ---
> include/dt-bindings/clock/samsung,exynosautov9.h | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
Why using different subject prefixes for binding patches?
Anyway, headers go with the schema/bindings file.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/4] dt-bindings: clk: exynosautov9: add dpum clock definitions
2024-07-29 6:03 ` Krzysztof Kozlowski
@ 2024-07-30 5:49 ` Kwanghoon Son
0 siblings, 0 replies; 7+ messages in thread
From: Kwanghoon Son @ 2024-07-30 5:49 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: s.nawrocki, cw00.choi, alim.akhtar, mturquette, sboyd, robh,
conor+dt, tomasz.figa, linux-samsung-soc, linux-clk, devicetree,
linux-arm-kernel
[-- Attachment #1: Type: text/plain, Size: 535 bytes --]
On Mon, Jul 29, 2024 at 08:03:49AM +0200, Krzysztof Kozlowski wrote:
> On 29/07/2024 06:30, Kwanghoon Son wrote:
> > Add dpum clk definitions.
> >
> > Signed-off-by: Kwanghoon Son <k.son@samsung.com>
> > ---
> > include/dt-bindings/clock/samsung,exynosautov9.h | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> >
>
> Why using different subject prefixes for binding patches?
>
> Anyway, headers go with the schema/bindings file.
Thanks for feedback. I'll squash patch 1,2 in v2.
Kwang.
>
> Best regards,
> Krzysztof
>
[-- Attachment #2: Type: text/plain, Size: 0 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-07-30 5:50 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CGME20240729043102epcas1p4952d0437ef733036b8fdbe28b0ef21ca@epcas1p4.samsung.com>
2024-07-29 4:30 ` [PATCH 0/4] dpum clock support for Exynos Auto v9 SoC Kwanghoon Son
2024-07-29 4:30 ` [PATCH 1/4] dt-bindings: clk: exynosautov9: add dpum clock definitions Kwanghoon Son
2024-07-29 6:03 ` Krzysztof Kozlowski
2024-07-30 5:49 ` Kwanghoon Son
2024-07-29 4:30 ` [PATCH 2/4] dt-bindings: clock: exynosautov9: add schema for dpum Kwanghoon Son
2024-07-29 4:30 ` [PATCH 3/4] arm64: dts: exynosautov9: add dpum clock DT nodes Kwanghoon Son
2024-07-29 4:30 ` [PATCH 4/4] clk: samsung: exynosautov9: add dpum clock support Kwanghoon Son
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox