From: Krzysztof Kozlowski <krzk@kernel.org>
To: Sunyeal Hong <sunyeal.hong@samsung.com>,
Sylwester Nawrocki <s.nawrocki@samsung.com>,
Chanwoo Choi <cw00.choi@samsung.com>,
Alim Akhtar <alim.akhtar@samsung.com>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4 1/4] dt-bindings: clock: add ExynosAuto v920 SoC CMU bindings
Date: Wed, 24 Jul 2024 12:12:03 +0200 [thread overview]
Message-ID: <18f5565f-11f5-49ce-a816-366cff25b703@kernel.org> (raw)
In-Reply-To: <20240722223333.1137947-2-sunyeal.hong@samsung.com>
On 23/07/2024 00:33, Sunyeal Hong wrote:
> Add dt-schema for ExynosAuto v920 SoC clock controller.
> Add device tree clock binding definitions for below CMU blocks.
>
> - CMU_TOP
> - CMU_PERIC0
>
> Signed-off-by: Sunyeal Hong <sunyeal.hong@samsung.com>
> ---
> .../clock/samsung,exynosautov920-clock.yaml | 115 +++++++++++
> .../clock/samsung,exynosautov920.h | 191 ++++++++++++++++++
> 2 files changed, 306 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/clock/samsung,exynosautov920-clock.yaml
> create mode 100644 include/dt-bindings/clock/samsung,exynosautov920.h
>
> diff --git a/Documentation/devicetree/bindings/clock/samsung,exynosautov920-clock.yaml b/Documentation/devicetree/bindings/clock/samsung,exynosautov920-clock.yaml
> new file mode 100644
> index 000000000000..90f9f17da959
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/clock/samsung,exynosautov920-clock.yaml
> @@ -0,0 +1,115 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/clock/samsung,exynosautov920-clock.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Samsung ExynosAuto v920 SoC clock controller
> +
> +maintainers:
> + - Sunyeal Hong <sunyeal.hong@samsung.com>
> + - Chanwoo Choi <cw00.choi@samsung.com>
> + - Krzysztof Kozlowski <krzk@kernel.org>
> + - Sylwester Nawrocki <s.nawrocki@samsung.com>
> +
> +description: |
> + ExynosAuto v920 clock controller is comprised of several CMU units, generating
> + clocks for different domains. Those CMU units are modeled as separate device
> + tree nodes, and might depend on each other. Root clocks in that clock tree are
> + two external clocks:: OSCCLK/XTCXO (38.4 MHz) and RTCCLK/XrtcXTI (32768 Hz).
> + The external OSCCLK must be defined as fixed-rate clock in dts.
> +
> + CMU_TOP is a top-level CMU, where all base clocks are prepared using PLLs and
> + dividers; all other clocks of function blocks (other CMUs) are usually
> + derived from CMU_TOP.
> +
> + Each clock is assigned an identifier and client nodes can use this identifier
> + to specify the clock which they consume. All clocks available for usage
> + in clock consumer nodes are defined as preprocessor macros in
> + 'include/dt-bindings/clock/samsung,exynosautov920.h' header.
> +
> +properties:
> + compatible:
> + enum:
> + - samsung,exynosautov920-cmu-top
> + - samsung,exynosautov920-cmu-peric0
> +
> + clocks:
> + minItems: 1
> + maxItems: 3
> +
> + clock-names:
> + minItems: 1
> + maxItems: 3
> +
> + "#clock-cells":
> + const: 1
> +
> + reg:
> + maxItems: 1
> +
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: samsung,exynosautov920-cmu-top
> +
> + then:
> + properties:
> + clocks:
> + items:
> + - description: External reference clock (38.4 MHz)
> +
> + clock-names:
> + items:
> + - const: oscclk
> +
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: samsung,exynosautov920-cmu-peric0
> +
> + then:
> + properties:
> + clocks:
> + items:
> + - description: External reference clock (38.4 MHz)
> + - description: CMU_PERIC0 NOC clock (from CMU_TOP)
> + - description: CMU_PERIC0 IP clock (from CMU_TOP)
> +
> + clock-names:
> + items:
> + - const: oscclk
> + - const: noc
> + - const: ip
> +
> +required:
> + - compatible
> + - "#clock-cells"
> + - clocks
> + - clock-names
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + # Clock controller node for CMU_PERIC0
> + - |
> + #include <dt-bindings/clock/samsung,exynosautov920.h>
> +
> + cmu_peric0: clock-controller@10800000 {
> + compatible = "samsung,exynosautov920-cmu-peric0";
> + reg = <0x10800000 0x8000>;
> + #clock-cells = <1>;
> +
> + clocks = <&xtcxo>,
> + <&cmu_top DOUT_CLKCMU_PERIC0_NOC>,
> + <&cmu_top DOUT_CLKCMU_PERIC0_IP>;
> + clock-names = "oscclk",
> + "noc",
> + "ip";
> + };
> +
> +...
> diff --git a/include/dt-bindings/clock/samsung,exynosautov920.h b/include/dt-bindings/clock/samsung,exynosautov920.h
> new file mode 100644
> index 000000000000..ad89728a4396
> --- /dev/null
> +++ b/include/dt-bindings/clock/samsung,exynosautov920.h
> @@ -0,0 +1,191 @@
> +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) */
> +/*
> + * Copyright (c) 2024 Samsung Electronics Co., Ltd.
> + * Author: Sunyeal Hong <sunyeal.hong@samsung.com>
> + *
> + * Device Tree binding constants for ExynosAuto v920 clock controller.
> + */
> +
> +#ifndef _DT_BINDINGS_CLOCK_EXYNOSAUTOV920_H
> +#define _DT_BINDINGS_CLOCK_EXYNOSAUTOV920_H
> +
> +/* CMU_TOP */
> +#define FOUT_SHARED0_PLL 1
> +#define FOUT_SHARED1_PLL 2
> +#define FOUT_SHARED2_PLL 3
> +#define FOUT_SHARED3_PLL 4
> +#define FOUT_SHARED4_PLL 5
> +#define FOUT_SHARED5_PLL 6
> +#define FOUT_MMC_PLL 7
> +
> +/* MUX in CMU_TOP */
> +#define MOUT_SHARED0_PLL 101
This is some odd numbering. Numbers start from 0 or 1 and are continuous.
Best regards,
Krzysztof
next prev parent reply other threads:[~2024-07-24 10:12 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20240722223340epcas2p380657369f0b57c9e21f05f250066a711@epcas2p3.samsung.com>
2024-07-22 22:33 ` [PATCH v4 0/4] initial clock support for exynosauto v920 SoC Sunyeal Hong
2024-07-22 22:33 ` [PATCH v4 1/4] dt-bindings: clock: add ExynosAuto v920 SoC CMU bindings Sunyeal Hong
2024-07-23 20:57 ` Rob Herring
2024-07-25 1:24 ` sunyeal.hong
2024-07-25 3:03 ` sunyeal.hong
2024-07-25 6:21 ` Krzysztof Kozlowski
2024-07-25 6:35 ` sunyeal.hong
2024-07-25 6:37 ` Krzysztof Kozlowski
2024-07-25 6:40 ` Krzysztof Kozlowski
2024-07-25 7:14 ` sunyeal.hong
2024-07-25 7:31 ` Krzysztof Kozlowski
2024-07-25 7:50 ` sunyeal.hong
2024-07-25 7:56 ` Krzysztof Kozlowski
2024-07-29 2:48 ` sunyeal.hong
2024-07-24 10:12 ` Krzysztof Kozlowski [this message]
2024-07-25 1:25 ` sunyeal.hong
2024-07-22 22:33 ` [PATCH v4 2/4] arm64: dts: exynos: add initial CMU clock nodes in ExynosAuto v920 Sunyeal Hong
2024-07-24 10:13 ` Krzysztof Kozlowski
2024-07-25 1:28 ` sunyeal.hong
2024-07-24 11:17 ` Tudor Ambarus
2024-07-25 3:09 ` sunyeal.hong
2024-07-22 22:33 ` [PATCH v4 3/4] clk: samsung: clk-pll: Add support for pll_531x Sunyeal Hong
2024-07-22 22:33 ` [PATCH v4 4/4] clk: samsung: add top clock support for ExynosAuto v920 SoC Sunyeal Hong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=18f5565f-11f5-49ce-a816-366cff25b703@kernel.org \
--to=krzk@kernel.org \
--cc=alim.akhtar@samsung.com \
--cc=conor+dt@kernel.org \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=robh@kernel.org \
--cc=s.nawrocki@samsung.com \
--cc=sboyd@kernel.org \
--cc=sunyeal.hong@samsung.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).