From nobody Sun Dec 14 18:08:13 2025 Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56A5D30DD2E for ; Fri, 14 Nov 2025 14:17:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763129825; cv=none; b=rdw5y3pBqMHGJusQ3QwE4uzWQdMRY/HCNnSo2AoqlorLNFGSrTgOajqh+g4q9BVbWXcZrGWrN+1j+GyV8GVZTlBXn3T9UAk4RTiKJIZ9iBj4KIqssP1RT/oC8XsOJMEGc1eY/gFHPqsN9f7dhm3ulVETErmB+IbUQrIrqePai8M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763129825; c=relaxed/simple; bh=6sKEmCOQ2W5VcemaPNloFrkmil66ilCQ7HCGLcFo2/k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EolT8GwvlEdFg9jynK2DoPfatB+vNNyMK2KimKAiram8+dKfn5eAGOf88DoALFwnLDrUQDW0c2nBMbAgHbhDR2Ch0ZCQreiVROhY5CsvBnMX1G66iH9k+26TZjcVxcbX3RZWOJzzqZRj+eq9ffak2qTfug9umeo7OHcPKVZHlXs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=v9O0Z889; arc=none smtp.client-ip=209.85.221.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="v9O0Z889" Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-42b427cda88so1492866f8f.0 for ; Fri, 14 Nov 2025 06:17:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1763129822; x=1763734622; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=4oAM1SJwe5be5jeswFgKKg+ScqRvx3vPVGMPIZFDZGA=; b=v9O0Z889gVLPahMw1/IbXT7pUx5iN3A4OSdGJtiMGflzKiou2eQScf+7mtvr4Xradu Byjer04al+qXBKbO6vb1Uil2QjlArK0VsTJgSvAnVtkatb4vKlzWNEPn+EuPCJxpkx7Q +LsTzNOBoIbpypxpP6GxPKb+yP/+528yrvCoaV15N3wptkuIYc9tk5895vTaNKkcnj1/ kX4OOZ69H0eNrKp+fG7hIStA0WXvwsBdCxQf3lDyl0EWzndtz711sJyQNhpmrerKmsd5 00fFS2hPQsXh3ekTA7xghy9PfU1SV0s59xWQQM3d8K+YCgJzKb/q4dMxUuu38HPjYyD9 ZMRg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763129822; x=1763734622; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=4oAM1SJwe5be5jeswFgKKg+ScqRvx3vPVGMPIZFDZGA=; b=emTI3iUE3Mcyou6QXK/b6+SHC1SaP3B4eqSEjUwlP7mDuwZemxkvklzu2tpTmWd4aN GgmAGtBSz0W+vidxhhmxuz3cmlpSP3OEY7PC4SefZ7FY3geXBaUirLpMR5u/lku9Hne7 xDS8Bm4H9kJy6QIOPWFNO8866zCbWTAymIBC6/eW97uMkmCqX9IU33uIDaRIKq1zp7Gx lKIqYM/dlVRlAVzoBNZFrPGGqmsobsztPx72EoneHbwv2/pcQ06I5KDEkrkaeMtTDLQZ dWVaNrBLtjKsolmZqWsUFhRX+Eo9I6E7VAizgwqbqQ4azCHSFCOUOAJtKf3bvBhl3sq5 qw0Q== X-Forwarded-Encrypted: i=1; AJvYcCUBcRl1Jl7rDvt9zVec3BRFV9iZNnrJ9FKwi+wnkTlDDYs0s/i9keCN6fVmngpZ5BYsZNfNt+c1dZP6fW0=@vger.kernel.org X-Gm-Message-State: AOJu0YwBUzmR9rO8QYWLGgGTtMASXwY9T7OhfOwsqpkKXmuZCF073OXq J2XwjIx5PBN0K8ByEfMxYtrn3CwtjaWA54Qj9SjOspeGF1u79zC7LDND/2/jy1nk5Rg= X-Gm-Gg: ASbGncsC4av8qZdX8KYY8bnUmvXWLDKkKhwhnwCrxMxbi7m+dOFHiWrbflY72DLOgNf dym6odatq0q4x43/J2bLWNBFiND1jX4DBbpk5STXHCxtpzMguIvHREJHE+xjJs1VqkhPo27p4fq rN0OQripXjEATOFTd3vs34t06LRT2rDHfxPu/nLFlm/pwbnwLA3GBChpjZFPzrjpPHXuM3aNREO X/Ld8dM8wkIOMVkWdafWUbJeek2/agdOBY8orOjzeBIRAx47NEeda06kztfptnkBBDkBPPvvnzA kg3bWputc3IvrCCRRTnUmyttYoitV8q4nPDa5xAE+kL0A0QzXComHct2VRqSY7Jirt9UREdzDQR +b4r5YMel8FCOkH9TMEHKxDjdWCpWWQ4261h2012Es0uqCt/ZUmYgUGoLRORbUgkQbPWO4kd7Tb D7LoTALg2jsHumOnieghiof6QluGS4Fw== X-Google-Smtp-Source: AGHT+IGqRwmbRj/CPbgz3UePg1W1Fi4Jf+p5TO4TwZlqbe762Q/tfUy4KsZ40D0BSKchWnm2kHW4JQ== X-Received: by 2002:a05:6000:24c6:b0:42b:3131:542f with SMTP id ffacd0b85a97d-42b593395b6mr2819075f8f.24.1763129821651; Fri, 14 Nov 2025 06:17:01 -0800 (PST) Received: from gpeter-l.roam.corp.google.com ([145.224.65.83]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-42b53f21948sm10150958f8f.43.2025.11.14.06.16.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Nov 2025 06:17:00 -0800 (PST) From: Peter Griffin Date: Fri, 14 Nov 2025 14:16:48 +0000 Subject: [PATCH v5 1/4] dt-bindings: clock: google,gs101-clock: add samsung,sysreg property as required Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251114-automatic-clocks-v5-1-efb9202ffcd7@linaro.org> References: <20251114-automatic-clocks-v5-0-efb9202ffcd7@linaro.org> In-Reply-To: <20251114-automatic-clocks-v5-0-efb9202ffcd7@linaro.org> To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alim Akhtar , =?utf-8?q?Andr=C3=A9_Draszik?= , Tudor Ambarus , Michael Turquette , Stephen Boyd , Sam Protsenko , Sylwester Nawrocki , Chanwoo Choi Cc: Will McVicker , Krzysztof Kozlowski , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, kernel-team@android.com, Peter Griffin , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2886; i=peter.griffin@linaro.org; h=from:subject:message-id; bh=6sKEmCOQ2W5VcemaPNloFrkmil66ilCQ7HCGLcFo2/k=; b=owEBbQKS/ZANAwAKAc7ouNYCNHK6AcsmYgBpFznXNvLBNwl+BCqlq+ASU5nNnrkNHVGOcCAIA c6LVtvJOsSJAjMEAAEKAB0WIQQO/I5vVXh1DVa1SfzO6LjWAjRyugUCaRc51wAKCRDO6LjWAjRy uqU3EACgypkgEzt6O3RuGIUcTAvGF+i3BtDUdztrJqZeT5YnNtFtDpN3U1ocwD2/l92Z/7kIB7D A8IOXDPf7/Dac/8w65lPt5scyF6NJONoYcbVHwUy29QW+iwaHIrnalQexDIjp2SQ6JmKBCGJvPw Hp5cr7exmzHp0aWdLVnk5rriXqB2jZWcGEE43XyOfSLMRW3qhavXpaBVfNaz5NeqLRv+RRtCPbq EvixjewmBsZIyu26wShbPHO/nIG4H6HbC7tbS4v/dPnrawA99p/RvP3aQCHmA1KmtHcMdpnWdc5 xmYIflwltaRET+sz3fxu9mQVA+NEcTFEjP19nw5/+A1L7+kE4g/IImeGVinTg7h5wwsRKQDR7kq 3Vvp/8XzZZW6H2N/tZVOJJ9TNWUjvxuWOO/Q4J1ce4gkexA/POToJWgRAhiRYrl2ge0HB4hZJso zQAKWD4TVa1KtNgucU2jAwSX41m+POJ7ZqWFRlENCUOfgH0cqA6bNpGx0tfldpV8wi1iIGEdPJT LM5FzzLgO1rj7PECYoIHBsYtAmQzf1QdIdzJuzHXgiXgy1XCV9LLbik6t2IAkYp7mjxmk2VeSiP DoY7mQxBT+LwYIMhWvUmmEbWYIgLh7f6mAxhzphC30XKUmxR4a/gb2f65oGJnDe9i0zMiY4eUaK 5GdBP9jOeYtZE4w== X-Developer-Key: i=peter.griffin@linaro.org; a=openpgp; fpr=0EFC8E6F5578750D56B549FCCEE8B8D6023472BA 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. Signed-off-by: Peter Griffin Reviewed-by: Andr=C3=A9 Draszik Reviewed-by: Rob Herring (Arm) --- Changes in v5: - Invert the test for google,gs101-cmu-top (Andre) Changes in v4 - Update commit description with additional requested details (Krzysztof) Changes in v3: - Update commit description as to why the sysreg is required (Krzysztof) Changes in v2: - Update commit description regarding updated example (Andre) --- .../devicetree/bindings/clock/google,gs101-clock.yaml | 19 +++++++++++++++= +++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/clock/google,gs101-clock.yam= l b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml index 31e106ef913dead9a038b3b6d8b43b950587f6aa..09e679c1a9def03d53b8b493929= 911ea902a1763 100644 --- a/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml +++ b/Documentation/devicetree/bindings/clock/google,gs101-clock.yaml @@ -52,6 +52,11 @@ properties: reg: maxItems: 1 =20 + samsung,sysreg: + $ref: /schemas/types.yaml#/definitions/phandle + description: + Phandle to system registers interface. + required: - compatible - "#clock-cells" @@ -166,6 +171,18 @@ allOf: - const: bus - const: ip =20 + - if: + properties: + compatible: + contains: + const: google,gs101-cmu-top + then: + properties: + samsung,sysreg: false + else: + required: + - samsung,sysreg + additionalProperties: false =20 examples: @@ -175,7 +192,7 @@ examples: =20 cmu_top: clock-controller@1e080000 { compatible =3D "google,gs101-cmu-top"; - reg =3D <0x1e080000 0x8000>; + reg =3D <0x1e080000 0x10000>; #clock-cells =3D <1>; clocks =3D <&ext_24_5m>; clock-names =3D "oscclk"; --=20 2.52.0.rc1.455.g30608eb744-goog