[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250822135521.GA3487754-robh@kernel.org>
Date: Fri, 22 Aug 2025 08:55:21 -0500
From: Rob Herring <robh@...nel.org>
To: Tudor Ambarus <tudor.ambarus@...aro.org>
Cc: Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Peter Griffin <peter.griffin@...aro.org>,
André Draszik <andre.draszik@...aro.org>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
Alim Akhtar <alim.akhtar@...sung.com>,
Sylwester Nawrocki <s.nawrocki@...sung.com>,
Chanwoo Choi <cw00.choi@...sung.com>, linux-kernel@...r.kernel.org,
linux-samsung-soc@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-clk@...r.kernel.org,
willmcvicker@...gle.com, kernel-team@...roid.com
Subject: Re: [PATCH 1/3] dt-bindings: firmware: google,gs101-acpm-ipc: add
clocks node
On Tue, Aug 19, 2025 at 11:45:36AM +0000, Tudor Ambarus wrote:
> The firmware exposes clocks that can be controlled via the ACPM
> interface. Describe the clocks exposed by the APM firmware.
ACPM? APM is Advanced Power Management aka the predecessor to ACPI?
>
> Signed-off-by: Tudor Ambarus <tudor.ambarus@...aro.org>
> ---
> .../bindings/firmware/google,gs101-acpm-ipc.yaml | 28 ++++++++++++++++++++++
> include/dt-bindings/clock/google,gs101.h | 15 ++++++++++++
> 2 files changed, 43 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml
> index 9785aac3b5f34955bbfe2718eec48581d050954f..27cdf9c881ca680e78e77a0e14ffcffeba970871 100644
> --- a/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml
> +++ b/Documentation/devicetree/bindings/firmware/google,gs101-acpm-ipc.yaml
> @@ -27,6 +27,29 @@ properties:
> mboxes:
> maxItems: 1
>
> + clocks:
> + description:
> + Clocks that are variable and index based. These clocks don't provide
> + an entire range of values between the limits but only discrete points
> + within the range. The firmware also manages the voltage scaling
> + appropriately with the clock scaling.
> + type: object
> + additionalProperties: false
You don't need a child node. Just add #clock-cells to the parent.
> +
> + properties:
> + compatible:
> + const: google,gs101-acpm-dvfs-clocks
> +
> + "#clock-cells":
> + const: 1
> + description:
> + The argument is the ID of the clock contained by the firmware
> + messages.
> +
> + required:
> + - compatible
> + - "#clock-cells"
> +
> pmic:
> description: Child node describing the main PMIC.
> type: object
> @@ -59,6 +82,11 @@ examples:
> mboxes = <&ap2apm_mailbox>;
> shmem = <&apm_sram>;
>
> + clocks {
> + compatible = "google,gs101-acpm-dvfs-clocks";
> + #clock-cells = <1>;
> + };
> +
> pmic {
> compatible = "samsung,s2mpg10-pmic";
> interrupts-extended = <&gpa0 6 IRQ_TYPE_LEVEL_LOW>;
> diff --git a/include/dt-bindings/clock/google,gs101.h b/include/dt-bindings/clock/google,gs101.h
> index 442f9e9037dc33198a1cee20af62fc70bbd96605..f1d0df412fdd49b300db4ba88bc0b1674cf0cdf8 100644
> --- a/include/dt-bindings/clock/google,gs101.h
> +++ b/include/dt-bindings/clock/google,gs101.h
> @@ -634,4 +634,19 @@
> #define CLK_GOUT_PERIC1_CLK_PERIC1_USI9_USI_CLK 45
> #define CLK_GOUT_PERIC1_SYSREG_PERIC1_PCLK 46
>
> +#define CLK_ACPM_DVFS_MIF 0
> +#define CLK_ACPM_DVFS_INT 1
> +#define CLK_ACPM_DVFS_CPUCL0 2
> +#define CLK_ACPM_DVFS_CPUCL1 3
> +#define CLK_ACPM_DVFS_CPUCL2 4
> +#define CLK_ACPM_DVFS_G3D 5
> +#define CLK_ACPM_DVFS_G3DL2 6
> +#define CLK_ACPM_DVFS_TPU 7
> +#define CLK_ACPM_DVFS_INTCAM 8
> +#define CLK_ACPM_DVFS_TNR 9
> +#define CLK_ACPM_DVFS_CAM 10
> +#define CLK_ACPM_DVFS_MFC 11
> +#define CLK_ACPM_DVFS_DISP 12
> +#define CLK_ACPM_DVFS_BO 13
> +
> #endif /* _DT_BINDINGS_CLOCK_GOOGLE_GS101_H */
>
> --
> 2.51.0.rc1.167.g924127e9c0-goog
>
Powered by blists - more mailing lists