Skip to content

Commit 2e8e9a2

Browse files
petegriffinkrzk
authored andcommitted
dt-bindings: clock: google,gs101-clock: add samsung,sysreg property as required
Each CMU (with the exception of cmu_top) has a corresponding sysreg bank that contains the BUSCOMPONENT_DRCG_EN and optional MEMCLK registers. The BUSCOMPONENT_DRCG_EN register enables dynamic root clock gating of bus components and MEMCLK gates the sram clock. Now the clock driver supports automatic clock mode, to fully enable dynamic root clock gating it is required to configure these registers. Update the bindings documentation so that all CMUs (with the exception of gs101-cmu-top) have samsung,sysreg as a required property. Note this is NOT an ABI break, as if the property isn't specified the clock driver will fallback to the current behaviour of not initializing the registers. The system still boots, but bus components won't benefit from dynamic root clock gating and dynamic power will be higher (which has been the case until now anyway). Additionally update the DT example to included the correct CMU size as registers in that region are used for automatic clock mode. Acked-by: Rob Herring (Arm) <robh@kernel.org> Reviewed-by: André Draszik <andre.draszik@linaro.org> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Link: https://patch.msgid.link/20251222-automatic-clocks-v7-1-fec86fa89874@linaro.org Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
1 parent efa45bc commit 2e8e9a2

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

Documentation/devicetree/bindings/clock/google,gs101-clock.yaml

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,11 @@ properties:
5252
reg:
5353
maxItems: 1
5454

55+
samsung,sysreg:
56+
$ref: /schemas/types.yaml#/definitions/phandle
57+
description:
58+
Phandle to system registers interface.
59+
5560
required:
5661
- compatible
5762
- "#clock-cells"
@@ -166,6 +171,18 @@ allOf:
166171
- const: bus
167172
- const: ip
168173

174+
- if:
175+
properties:
176+
compatible:
177+
contains:
178+
const: google,gs101-cmu-top
179+
then:
180+
properties:
181+
samsung,sysreg: false
182+
else:
183+
required:
184+
- samsung,sysreg
185+
169186
additionalProperties: false
170187

171188
examples:
@@ -175,7 +192,7 @@ examples:
175192
176193
cmu_top: clock-controller@1e080000 {
177194
compatible = "google,gs101-cmu-top";
178-
reg = <0x1e080000 0x8000>;
195+
reg = <0x1e080000 0x10000>;
179196
#clock-cells = <1>;
180197
clocks = <&ext_24_5m>;
181198
clock-names = "oscclk";

0 commit comments

Comments
 (0)