* [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
* 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
* [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
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