From nobody Mon Feb 9 01:00:21 2026 Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) (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 C575E3064A2 for ; Mon, 13 Oct 2025 13:41:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362920; cv=none; b=fVxXHBX1z57Vam0ZiPjdLZkCMqJxHUZL5Raj061bzIJpungg8WkezXIvZq2m1v29lVqpVVRWpJxZ0KVN8EYjkpVPkmkByn7imUZ+IBZ05xF5Y06EvBTpJ6jnDN318QQV8lc69NizOF0IxehCXHaNZtd0gPb2AbMK0SW3W1VPOWg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362920; c=relaxed/simple; bh=z75QJxLEV0SbWN5Xpt8GE0TnWBRNEzskqUz8wVKyHMg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ssFI0ju/mr3p9t7vmFRMPOYW/Zd6rUeyZD5bUIJ7EtpTOPo0ZCe4ANKw06iZ6FsC2g20qns4fiKBHbZaROLbGvcxkB+kIIv8e+aTvTZnpw6E+pSGDK0fRmnXLIm2awU2a1NiIwB8flhKr50aVv2/SoaCjcVk6LCIoRdCPG5u0Xc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Pr6SCHuL; arc=none smtp.client-ip=209.85.208.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Pr6SCHuL" Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-63bc12a5608so730465a12.0 for ; Mon, 13 Oct 2025 06:41:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760362917; x=1760967717; 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=Xl6F1iZ+nTtDNeb7FVvoataOw45pSnmlttNDisOfUsQ=; b=Pr6SCHuLk+lCKTRuwPVQdoJSy6LdF2Z+ppn6hJCjMG/RSyILUcJ6N9aLxaFjaNCPSN a+vb0fzZdRsFYjVShL7qldZJSuhrhhbWGnZOiU6kj0+C/iypv9cn7giYGB6y2JqCDIcg Kf6Rl+yk7YMWmJOvOv3wRE7CoyBjaGdk7BwvKls8fd49Zf8oNwS14uR7xAEzeQeCHKeD 2dHI/CC8lrrNE4prWmM3miGMp3ZmC/bS9mg3H7hQWqHqB/RY1bExagFX5M0qAAwfHd0T 6CbcTe6whgaFX4aJxzHkPCD0Rcne+Rze/4pcBx9nU9Qtpk8eEJwEt0c2PPaEW73A9w/A UO7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760362917; x=1760967717; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Xl6F1iZ+nTtDNeb7FVvoataOw45pSnmlttNDisOfUsQ=; b=hD9eOZf0EoA+lHT7jIvmvsSqJf2bW3DZn9OLe9jIfyJlvpiSbK6veHB6KnO3CBU94e gX6n8Vw2YUML+7VOC/jWmjjDnT2FUrt04ZUVD3hYVrSzPWlNPrDKcdwlQT7+DYEOvjab YkAvhd4dO/AZ+E3yJtd7ipDNvJ+Ls/kierAdl91dzSZWkiegNJuVy+NJC5PF4EH2DGte DgdvkzkYBpUSkJBGyYGQ1Ewnfm5zExCMkrgY27F6Q053uVDQ3XqWcka7pPGgoETdWC2W IlBrErzsnAUVTVpph1mrhZhISWqkXjNP+Y3sb01+4NUjnCLRs08EnOMUTGXse4DsvtYV MssQ== X-Forwarded-Encrypted: i=1; AJvYcCVWELWMOiqoSlkviHBWY8BmYrSR4pvI7vcVzn8TCPvMEtQz+mVNVpUX/jLaPYgJopKtshPOnnHAdsi+PCQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yy84g+UybSwjRPDYJTasMu2xPs3ePxU8Kn81MuyBJfc6KDOFw4V 6eovYUhGEkV29n4+H0hxBQAw1F1xjp7gLwRnT7J43k6gQxyEoeqFs+I/3A/EV1Nj X-Gm-Gg: ASbGncsE3yWVMiKSDBAYHjLt/j1G/7pH6CEIGJ7sPL0PgbRzhoxUaDTXCI3CpCD7SK6 eRB1CfRRYB6LTz73F67ckbyDkcX+J+QzFLLHFx7eIoECIqtPO4oiirwrXv4KFnytY4xztlwWRKu HePUmV3d10WD/wAAaBVBUL3FRXKQZHjcqPZrvOf1lwjKleDpG/uoYNoeCouiK5rLJyITg+CZfV9 345n+gwIdM07LrvcARdakstEA2Hw7HHhZkdaa1W3+HX63TSWJoLbC75QnbEN8DMjU51S9ZztuBb zxSyrNarhrmFscy7PxxflMTlhkoEzF157NyKsKWJCBQeZWdJtAWX4xgiTi2oE9NP9IQnHiVKcga HWU2jfXO0R15c5U+uuVF2v812vBWpq4vMGb0cou6nKnpZyzjPcyBdKfsOVyoUb2+7qwox63oF06 oEyiBswG8oFsL3sOyPLTQPhZw= X-Google-Smtp-Source: AGHT+IH1R3LHTRzGleUVMZwJjjGd2hp2PO32KdCWlPdImEsFvM0BjsAVI0pE+77toFSrcdThRY8QDA== X-Received: by 2002:a05:6402:42c6:b0:639:ef26:a015 with SMTP id 4fb4d7f45d1cf-639ef26a351mr17316622a12.23.1760362916889; Mon, 13 Oct 2025 06:41:56 -0700 (PDT) Received: from tablet.my.domain (83.21.75.22.ipv4.supernova.orange.pl. [83.21.75.22]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63a5c32249esm8729019a12.41.2025.10.13.06.41.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 06:41:56 -0700 (PDT) From: Artur Weber Date: Mon, 13 Oct 2025 15:41:48 +0200 Subject: [PATCH v7 1/7] clk: bcm: kona: Move CLOCK_COUNT defines into the driver 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: <20251013-kona-bus-clock-v7-1-8f473d99ae19@gmail.com> References: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> In-Reply-To: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> To: Michael Turquette , Stephen Boyd , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Alex Elder , Stanislav Jakubek , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux-arm-kernel@lists.infradead.org, phone-devel@vger.kernel.org, Artur Weber X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=6586; i=aweber.kernel@gmail.com; h=from:subject:message-id; bh=z75QJxLEV0SbWN5Xpt8GE0TnWBRNEzskqUz8wVKyHMg=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBo7QGf4hJ3fgjKwFX/7o3hjktxSVfcV/Q/jo8cg kC+BEfCDCyJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaO0BnwAKCRCzu/ihE6BR aKlpD/99hhENXLLXpBuK9pb9P6somzlg12+rIt6+FnH2MKHK7i6y+s31wZLRzguP4L1FXnYSzJh BgL/9LR8LFlcaTbOVIX/s7NCiXRIHFEPfceMhScRj4q9PtmVeFl1oU35PGMHBkLe7fIH0pJbSC+ j4/Ibl1a43ushnOGAAcgxWvcehQcUQSiXqTJCSkoHK/15AcLO0ADeAXrW48K365a5cgpOC1A8pi p/f4osfU/TEVvQsOXg0/VJ+rgOR71Al2PaW/Ky2zLlYT5bEQ6PnLHwt5gVu5w4k3kbjEhfFleiF R/fHmpWt8f9rXx2NPIq5kWQagpnqN7Fuz2Ga3HrgWcVM1GE8uARBqaNxWLSMuhC58JLYa4tnwm/ zU9NxuMKqJCyP+TAbrkW6neNA/pTZygKtHQbT+DFF1w0siUhMGuE1T/TUb1B+2oDCznUxlGFDIG bqgt3c9JRj5E5Tt/jcr6XTDgkTvgj65zpSu0yeaHqqJo62pauXUxo42EP1haKalH1DNJr7HXvxE Q1VAIb+7084ZwVgATJJX3Soe84QxP3csNL+yyQ6GInj5inDrwcu9kF2NDkJoqNSGiZnbzqKWK8Q gBm6MIgifl4oeLe4mZ5gcy6hWPhnXZS2tF3/9rf4MvMaKo0ot6+ar3IRNOtP3QhQ9ss99+JbC/9 kGsTfsTj/zECO7g== X-Developer-Key: i=aweber.kernel@gmail.com; a=openpgp; fpr=E663000EAC1DECCD6AD2890DB3BBF8A113A05168 CLOCK_COUNT defines for each CCU are stored in the DT binding header. This is not correct - they are not used by device trees, only internally by the driver. Move the CLOCK_COUNT defines directly into the driver in preparation for dropping them from the DT binding include. To avoid conflicts with the old defines, rename them to use the CLK_COUNT suffix. Reviewed-by: Florian Fainelli Signed-off-by: Artur Weber --- Changes in v4: - Rename CLOCK_COUNT to CLK_COUNT to avoid redefinition Changes in v3: - Add this commit --- drivers/clk/bcm/clk-bcm21664.c | 16 ++++++++++++---- drivers/clk/bcm/clk-bcm281xx.c | 20 +++++++++++++++----- drivers/clk/bcm/clk-kona.h | 2 +- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/drivers/clk/bcm/clk-bcm21664.c b/drivers/clk/bcm/clk-bcm21664.c index 520c3aeb4ea9..14b7db824704 100644 --- a/drivers/clk/bcm/clk-bcm21664.c +++ b/drivers/clk/bcm/clk-bcm21664.c @@ -17,13 +17,15 @@ static struct peri_clk_data frac_1m_data =3D { .clocks =3D CLOCKS("ref_crystal"), }; =20 +#define BCM21664_ROOT_CCU_CLK_COUNT (BCM21664_ROOT_CCU_FRAC_1M + 1) + static struct ccu_data root_ccu_data =3D { BCM21664_CCU_COMMON(root, ROOT), /* no policy control */ .kona_clks =3D { [BCM21664_ROOT_CCU_FRAC_1M] =3D KONA_CLK(root, frac_1m, peri), - [BCM21664_ROOT_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM21664_ROOT_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -39,6 +41,8 @@ static struct peri_clk_data hub_timer_data =3D { .trig =3D TRIGGER(0x0a40, 4), }; =20 +#define BCM21664_AON_CCU_CLK_COUNT (BCM21664_AON_CCU_HUB_TIMER + 1) + static struct ccu_data aon_ccu_data =3D { BCM21664_CCU_COMMON(aon, AON), .policy =3D { @@ -48,7 +52,7 @@ static struct ccu_data aon_ccu_data =3D { .kona_clks =3D { [BCM21664_AON_CCU_HUB_TIMER] =3D KONA_CLK(aon, hub_timer, peri), - [BCM21664_AON_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM21664_AON_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -122,6 +126,8 @@ static struct peri_clk_data sdio4_sleep_data =3D { .gate =3D HW_SW_GATE(0x0360, 18, 2, 3), }; =20 +#define BCM21664_MASTER_CCU_CLK_COUNT (BCM21664_MASTER_CCU_SDIO4_SLEEP + 1) + static struct ccu_data master_ccu_data =3D { BCM21664_CCU_COMMON(master, MASTER), .policy =3D { @@ -145,7 +151,7 @@ static struct ccu_data master_ccu_data =3D { KONA_CLK(master, sdio3_sleep, peri), [BCM21664_MASTER_CCU_SDIO4_SLEEP] =3D KONA_CLK(master, sdio4_sleep, peri), - [BCM21664_MASTER_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM21664_MASTER_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -225,6 +231,8 @@ static struct peri_clk_data bsc4_data =3D { .trig =3D TRIGGER(0x0afc, 19), }; =20 +#define BCM21664_SLAVE_CCU_CLK_COUNT (BCM21664_SLAVE_CCU_BSC4 + 1) + static struct ccu_data slave_ccu_data =3D { BCM21664_CCU_COMMON(slave, SLAVE), .policy =3D { @@ -246,7 +254,7 @@ static struct ccu_data slave_ccu_data =3D { KONA_CLK(slave, bsc3, peri), [BCM21664_SLAVE_CCU_BSC4] =3D KONA_CLK(slave, bsc4, peri), - [BCM21664_SLAVE_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM21664_SLAVE_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 diff --git a/drivers/clk/bcm/clk-bcm281xx.c b/drivers/clk/bcm/clk-bcm281xx.c index 823d5dfa31b8..62c3bf465625 100644 --- a/drivers/clk/bcm/clk-bcm281xx.c +++ b/drivers/clk/bcm/clk-bcm281xx.c @@ -19,12 +19,14 @@ static struct peri_clk_data frac_1m_data =3D { .clocks =3D CLOCKS("ref_crystal"), }; =20 +#define BCM281XX_ROOT_CCU_CLK_COUNT (BCM281XX_ROOT_CCU_FRAC_1M + 1) + static struct ccu_data root_ccu_data =3D { BCM281XX_CCU_COMMON(root, ROOT), .kona_clks =3D { [BCM281XX_ROOT_CCU_FRAC_1M] =3D KONA_CLK(root, frac_1m, peri), - [BCM281XX_ROOT_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM281XX_ROOT_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -57,6 +59,8 @@ static struct peri_clk_data pmu_bsc_var_data =3D { .trig =3D TRIGGER(0x0a40, 2), }; =20 +#define BCM281XX_AON_CCU_CLK_COUNT (BCM281XX_AON_CCU_PMU_BSC_VAR + 1) + static struct ccu_data aon_ccu_data =3D { BCM281XX_CCU_COMMON(aon, AON), .kona_clks =3D { @@ -66,7 +70,7 @@ static struct ccu_data aon_ccu_data =3D { KONA_CLK(aon, pmu_bsc, peri), [BCM281XX_AON_CCU_PMU_BSC_VAR] =3D KONA_CLK(aon, pmu_bsc_var, peri), - [BCM281XX_AON_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM281XX_AON_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -80,12 +84,14 @@ static struct peri_clk_data tmon_1m_data =3D { .trig =3D TRIGGER(0x0e84, 1), }; =20 +#define BCM281XX_HUB_CCU_CLK_COUNT (BCM281XX_HUB_CCU_TMON_1M + 1) + static struct ccu_data hub_ccu_data =3D { BCM281XX_CCU_COMMON(hub, HUB), .kona_clks =3D { [BCM281XX_HUB_CCU_TMON_1M] =3D KONA_CLK(hub, tmon_1m, peri), - [BCM281XX_HUB_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM281XX_HUB_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -172,6 +178,8 @@ static struct peri_clk_data hsic2_12m_data =3D { .trig =3D TRIGGER(0x0afc, 5), }; =20 +#define BCM281XX_MASTER_CCU_CLK_COUNT (BCM281XX_MASTER_CCU_HSIC2_12M + 1) + static struct ccu_data master_ccu_data =3D { BCM281XX_CCU_COMMON(master, MASTER), .kona_clks =3D { @@ -189,7 +197,7 @@ static struct ccu_data master_ccu_data =3D { KONA_CLK(master, hsic2_48m, peri), [BCM281XX_MASTER_CCU_HSIC2_12M] =3D KONA_CLK(master, hsic2_12m, peri), - [BCM281XX_MASTER_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM281XX_MASTER_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -301,6 +309,8 @@ static struct peri_clk_data pwm_data =3D { .trig =3D TRIGGER(0x0afc, 15), }; =20 +#define BCM281XX_SLAVE_CCU_CLK_COUNT (BCM281XX_SLAVE_CCU_PWM + 1) + static struct ccu_data slave_ccu_data =3D { BCM281XX_CCU_COMMON(slave, SLAVE), .kona_clks =3D { @@ -324,7 +334,7 @@ static struct ccu_data slave_ccu_data =3D { KONA_CLK(slave, bsc3, peri), [BCM281XX_SLAVE_CCU_PWM] =3D KONA_CLK(slave, pwm, peri), - [BCM281XX_SLAVE_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM281XX_SLAVE_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 diff --git a/drivers/clk/bcm/clk-kona.h b/drivers/clk/bcm/clk-kona.h index 348a3454ce40..d7cae437333c 100644 --- a/drivers/clk/bcm/clk-kona.h +++ b/drivers/clk/bcm/clk-kona.h @@ -483,7 +483,7 @@ struct ccu_data { #define KONA_CCU_COMMON(_prefix, _name, _ccuname) \ .name =3D #_name "_ccu", \ .lock =3D __SPIN_LOCK_UNLOCKED(_name ## _ccu_data.lock), \ - .clk_num =3D _prefix ## _ ## _ccuname ## _CCU_CLOCK_COUNT + .clk_num =3D _prefix ## _ ## _ccuname ## _CCU_CLK_COUNT =20 /* Exported globals */ =20 --=20 2.51.0 From nobody Mon Feb 9 01:00:21 2026 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.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 D08053081B1 for ; Mon, 13 Oct 2025 13:42:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362922; cv=none; b=Hww4pZfRWv/6RyzF5NOax3qD54+RLFBl+E2ExzNCPQ/N7oCqcoDGHpbPIbVOwe6Y6jDfqu2uSwdPkLgmDdi6yFcH/L42lLHtZsjk3tt0hH6TbZGQflM5RLbsmzGhw0mP0a9ebQXebEcMhdqGRZqdn8TuFEXmjxc5MjhCMwL9Jxo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362922; c=relaxed/simple; bh=E+oiUZgen68cnjAENtdOLkMPulLFXMt4mXOQGkGDE6I=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Xnisly31/JjUKITZjq0QUo5etT/nDJTJG15kGXFIU4hp2l6s8k4GbfRHnvZmmoQKJSq2Q7DUahsvB618CGeeN1hOC0XXT32icC83S+znoGpVvTt7rgTfP6nwVpLUj9elIlepul+d1fBMrgEsqki+0R/H1/8E5I1G2ZxWLrPJsog= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=WpUec/18; arc=none smtp.client-ip=209.85.208.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WpUec/18" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-63babfdb52cso1527163a12.3 for ; Mon, 13 Oct 2025 06:42:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760362919; x=1760967719; 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=4bdqoW+LR5yZxLdoidUpEK8sPbCwQ5DxDfyq2+aB58A=; b=WpUec/18UuhKo2VRFbCUDr4lDzIFwAArkbjvUOa3ONab+Snb0GigVByjpYkFtpZheX ML7CUKAlJvp8ri4RRzOMDK1jQEUHAsBIAl6KjqJb6pXa8JvP12796sbfPZPMNOa7Gx+N 58ckgJ7cAIYtzDIardYx71pAQ1tXfykIqmFy/jbcMhw1gC69D6AJFwMr92N8kYUGhZxM wf7+q6VuYu5Uv3djKjQRoLnzXQ9Zu8uHrRir2n2JqY+mY71L+3FfH434Kz4c9X9CYMdl vw6l8sSAPFRfuj9p0KIeiI4DdPCuPCJiUKr5j0O9QEvI3JwLsPpMxlUprz+2/tn0FzKU wu1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760362919; x=1760967719; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=4bdqoW+LR5yZxLdoidUpEK8sPbCwQ5DxDfyq2+aB58A=; b=mHt15VFh4DUVOfD6LeZUu+3+GiddTJ8PaB8Tc2iJSU1D3nRqqYxJ4WjESIxWbFJWNe HApLiqfnnedQbFTfIRmjnSfriijs5Slo36sdhSvhtyH5R/DWyf4sXGdxDT5V6gl4SV2U WQGwrWj7Vh0j8NPZSsduGj1YRNZc2+pZrkkmNrC5PN/z9nJpqb6FZwYrv/ezybUevlit gYjV5+bnUHUmwEr4xQdh7e1x6s/gzyUIkjtXaZeWlPEyxN6ZTtCVBPxl4I8yPEuxjXt/ X2oTHKG56QwuK28FiUQm8jGNrlQa1MGoCE6ySov6O+GYndbJZ6GxivCR59aAOr+INbda 6jnw== X-Forwarded-Encrypted: i=1; AJvYcCUyUQL64tXY+0BoV+TXHcBobELlM29ed+HlN5rQ3D2rkjEb9+/XvEVP7DrIiCy08EvHiR1t4CWcsYpu9xI=@vger.kernel.org X-Gm-Message-State: AOJu0YyM2F/ge9vec9vv9Mi4c9oqHPBRq/0Mwslp6T5zZwfZvKQgidwe vJOtYcaLiU6HdJF9kwjLLS+AV2WpxV81Y/pccbFV+Kr/h3NPwa1vGvGd X-Gm-Gg: ASbGncvcngvag0H3ulJIxdNjAnbNopMHvQzyj7XETGqrt/hEKSwOiNmoyeiHrh6ebHN OhJaS42E23LS1ugVc7Vw/SWqC/znpkphX61YBwK0FvBnF3iQHQpOjVc0uDyDmli3XqSUW5ROEw0 Zj81X/9yyBIbGtuDeNatCQixz1jrx3g9JiGCN8ZRoiPREpSOrWXxh+7aHQbD9MtCMQ/Z/9DFUAb dENqVP4JY27YJa5mte3a6LHpsAyWhglgdzIROr4Stz/+BG04cGbuU5cP8G05wXEtlkpGrdRqDO7 OikJhtYw0gxcleSTZOKL8Rp0alA8qhHp6Ty143P0Oayw4tIhukS5qZkIpaQDUC5B9GhUjucq1rR VSib5i07h1bNsu11fLDIEOJ+qR9q8gANxvct/tzBq/M76GS5oXzZpPKf/PvrxZvbeXfSjavl+Ya AhOE9+IuJ14+mt X-Google-Smtp-Source: AGHT+IHJtzeYQurhnlAW9tml/nOCL3ntwqVOYGzJy1iG+4nFDJLqIFVys/FUilJjcxgefmjojh9Slg== X-Received: by 2002:a05:6402:50c8:b0:61c:cf8d:e51d with SMTP id 4fb4d7f45d1cf-639d5c2f5a8mr20630779a12.22.1760362919103; Mon, 13 Oct 2025 06:41:59 -0700 (PDT) Received: from tablet.my.domain (83.21.75.22.ipv4.supernova.orange.pl. [83.21.75.22]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63a5c32249esm8729019a12.41.2025.10.13.06.41.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 06:41:58 -0700 (PDT) From: Artur Weber Date: Mon, 13 Oct 2025 15:41:49 +0200 Subject: [PATCH v7 2/7] dt-bindings: clock: brcm,kona-ccu: Drop CLOCK_COUNT defines from DT headers 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: <20251013-kona-bus-clock-v7-2-8f473d99ae19@gmail.com> References: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> In-Reply-To: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> To: Michael Turquette , Stephen Boyd , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Alex Elder , Stanislav Jakubek , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux-arm-kernel@lists.infradead.org, phone-devel@vger.kernel.org, Artur Weber , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=2725; i=aweber.kernel@gmail.com; h=from:subject:message-id; bh=E+oiUZgen68cnjAENtdOLkMPulLFXMt4mXOQGkGDE6I=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBo7QGf+ItKfJtMmRNf1EyGe+DAhXxvE0FB8Xc6T 83+l6P8PoOJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaO0BnwAKCRCzu/ihE6BR aPJED/99jvVa+gYxsmfku8hqbnFcbTpy+1rL64+7ChnpDDOCPdBm9QZy3EIrI8kdBmDM/Mvnkos 6Ch9+AXNcxcMJFWRvFLHQ4dBKCPBVdAwwm8qLE8KzrbOs3Cxt7CxnxlkRgQAYkzXr/va10iBxm3 g4EbK9bjqwsioUSLpTofaQEMW/Q6kwO+tLtEHaDGy05NE3lZyW1eCD7Nk8wW5dky/oRoTHtSENu WV3gbXwPCUxqJXfqaGwhdkboXDbiQM9f3vCSaf4qMVzRPjvflptITwBBtJ/8hWAZKHvpe/HJ9Rt ACGdZVSxYSs8MZHavFpOET3Kma70j+FpO+BV9QYEcVKRj5JzKPxEQf6VMRIAh4tHHGVa3ie6YOe fjWqQbkCFYYuVepxgU4ErDN8USVu+i1lcnp7b8yNyrwgMX8jEK3Qh057xtnXt5amoGl1CC48vi+ hzb5jpuXFEMLsoI7++jWQoMdbv2N2oRNZXJ0dzKLv7Kvp6Sy8ziP/wZIf181ElGMVweMg1LGljI +FIqPhVmTgKwXYsCuyV8/cnGif3jwdkiO0gzgatXLEzOUw4FPPiTij4gVzT6Do1YA6XT5m6YRAo bJSuMIOK8C2ooGlD2BrMHGHOoSuIFc1coN3h+k3Skc4FlubsZjCY5PeFAvDKRjpa7j+H5WXqobe uf9fYV4PlZKuuFA== X-Developer-Key: i=aweber.kernel@gmail.com; a=openpgp; fpr=E663000EAC1DECCD6AD2890DB3BBF8A113A05168 The CLOCK_COUNT defines are not used by device trees, only by the clock driver. Keeping them in the DT binding header is frowned upon. Since they're being moved to the clock driver directly, drop these defines from the dt-bindings header and only keep clock IDs. Reviewed-by: Krzysztof Kozlowski Reviewed-by: Florian Fainelli Signed-off-by: Artur Weber --- Changes in v3: - Add this commit --- include/dt-bindings/clock/bcm21664.h | 4 ---- include/dt-bindings/clock/bcm281xx.h | 5 ----- 2 files changed, 9 deletions(-) diff --git a/include/dt-bindings/clock/bcm21664.h b/include/dt-bindings/clo= ck/bcm21664.h index 7c7492742f3d..7a380a51848c 100644 --- a/include/dt-bindings/clock/bcm21664.h +++ b/include/dt-bindings/clock/bcm21664.h @@ -21,12 +21,10 @@ /* root CCU clock ids */ =20 #define BCM21664_ROOT_CCU_FRAC_1M 0 -#define BCM21664_ROOT_CCU_CLOCK_COUNT 1 =20 /* aon CCU clock ids */ =20 #define BCM21664_AON_CCU_HUB_TIMER 0 -#define BCM21664_AON_CCU_CLOCK_COUNT 1 =20 /* master CCU clock ids */ =20 @@ -38,7 +36,6 @@ #define BCM21664_MASTER_CCU_SDIO2_SLEEP 5 #define BCM21664_MASTER_CCU_SDIO3_SLEEP 6 #define BCM21664_MASTER_CCU_SDIO4_SLEEP 7 -#define BCM21664_MASTER_CCU_CLOCK_COUNT 8 =20 /* slave CCU clock ids */ =20 @@ -49,6 +46,5 @@ #define BCM21664_SLAVE_CCU_BSC2 4 #define BCM21664_SLAVE_CCU_BSC3 5 #define BCM21664_SLAVE_CCU_BSC4 6 -#define BCM21664_SLAVE_CCU_CLOCK_COUNT 7 =20 #endif /* _CLOCK_BCM21664_H */ diff --git a/include/dt-bindings/clock/bcm281xx.h b/include/dt-bindings/clo= ck/bcm281xx.h index d74ca42112e7..0c7a7e10cb42 100644 --- a/include/dt-bindings/clock/bcm281xx.h +++ b/include/dt-bindings/clock/bcm281xx.h @@ -27,19 +27,16 @@ /* root CCU clock ids */ =20 #define BCM281XX_ROOT_CCU_FRAC_1M 0 -#define BCM281XX_ROOT_CCU_CLOCK_COUNT 1 =20 /* aon CCU clock ids */ =20 #define BCM281XX_AON_CCU_HUB_TIMER 0 #define BCM281XX_AON_CCU_PMU_BSC 1 #define BCM281XX_AON_CCU_PMU_BSC_VAR 2 -#define BCM281XX_AON_CCU_CLOCK_COUNT 3 =20 /* hub CCU clock ids */ =20 #define BCM281XX_HUB_CCU_TMON_1M 0 -#define BCM281XX_HUB_CCU_CLOCK_COUNT 1 =20 /* master CCU clock ids */ =20 @@ -50,7 +47,6 @@ #define BCM281XX_MASTER_CCU_USB_IC 4 #define BCM281XX_MASTER_CCU_HSIC2_48M 5 #define BCM281XX_MASTER_CCU_HSIC2_12M 6 -#define BCM281XX_MASTER_CCU_CLOCK_COUNT 7 =20 /* slave CCU clock ids */ =20 @@ -64,6 +60,5 @@ #define BCM281XX_SLAVE_CCU_BSC2 7 #define BCM281XX_SLAVE_CCU_BSC3 8 #define BCM281XX_SLAVE_CCU_PWM 9 -#define BCM281XX_SLAVE_CCU_CLOCK_COUNT 10 =20 #endif /* _CLOCK_BCM281XX_H */ --=20 2.51.0 From nobody Mon Feb 9 01:00:21 2026 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (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 BF7D83081DC for ; Mon, 13 Oct 2025 13:42:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362925; cv=none; b=BLAtDLQBBR0EWW2+ZSmf555ALWHzohQ7ulBbDuQOZpf/BhzTJUlNuIQVDsPLrlTVe//cIM6SZyFRkpRX1Gh/IBnw7uSKdhPql2Tidd5ISp/E34/IjagclC1w6HGnpm9FVtN4FjEpGqwGksYLILMqdgxPHs0J81ewZM5NYxoLRgk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362925; c=relaxed/simple; bh=4p8s91lohiM8ZgIIJ7dsaunBWhjFWuVcW0lxcrxGmtg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kIRC3pF4LengHOzga6/wuWAC518vFmiSkZ8f/JXWLJOsv1KDuzs49WESUvlMmon5msQydAmIv3JmgV/dCnxgQqaqxKWSHZkRqirfsgj3aBBsxQg45X72tM+Gv81mDwY1uyLdlTOnzJQUt4rBiOCYPtr3NBC3/id4fvMdY6q1JGQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=jocA3oRr; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jocA3oRr" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-63a10267219so1229783a12.0 for ; Mon, 13 Oct 2025 06:42:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760362922; x=1760967722; 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=SklZkzYSGJHyu+AszEE/sx59nay18edLyXvvsUykUXQ=; b=jocA3oRrSH3w1OG45vBII7dLoFaVYTAoXNbinlaWVCgkt40LniMShhdu8MNQU/ZFCM XPRTIq2mUVxfAg+bUHVa8k4Zdl43xk/Qy+Fy6YhAUp/m4UbPMvbrEomdFlyB9vX42qzi M1gt2GeoxgWSv/Br6iXSguHF+DqXUDZPpCzJDC0DHK0rUINKmzzkjmLXZVTKJw4ANrd3 S89miV02riWVSiExBtthWKUUD1IgxLuWvCBj54eVNVH8QPK8XwqdD5lObRv2nYG33KR5 VI0ZvLVlbmaa7lFU0EOL4QwYsDlrDPk0M0idgSGplMk5dGBx7qJTHfSbzH6R+HuRXPMC mlyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760362922; x=1760967722; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=SklZkzYSGJHyu+AszEE/sx59nay18edLyXvvsUykUXQ=; b=OIvbwca+KXibhS906MKIXkuGVaP5bqtkYho5+epP2NEmxJeFgp4ggbwbReUbp0CL6f xcprLVdwesiPGkNe/+gt4aorJM3ljnwDDrlhKIQvKSw1E2dEgT1B/ZE+EQ8T2DAG+ZFm Z4z7OQ0KZ9iLR6dPkKQU0GOYxv7C3q3abUZwde2fX5aVwe6HlRUbZoZXMP3gUE5GhH72 ku7+ZFzvrtVXqZ5S0Jp6NWNXMmK5dYwEB9zjaTlSZP5a1Dq2pQvgrzKX3y6vjsWf3l0D osQtqKCCIhuN0gF1Z12sMAxcVQdJq/Zqs1llz9jJtXw4r0wDe7Z5E8iYCTKUvBexOKEG gaiQ== X-Forwarded-Encrypted: i=1; AJvYcCUtUPVKtOrEqpDE5jAOLPxO3BDm97AOMXTkXiF5TJXEpN0xrBWhPja0J9D0W/MHP3g6snFLEINQHRin8gY=@vger.kernel.org X-Gm-Message-State: AOJu0YzGucXLjNEyY+JLC+v356pKd5CJGL4Jh5q7WGaFxdjNNJP9uPGS uqrReO2Ut+HLf/JDW+Ilw9WwBXZQ2NPjEa4gpXRhyaF+s7LEZCqJQ0wj X-Gm-Gg: ASbGncuTNGLFLpleKc4IlZkv9TB8zC6DymX0XJihXJZf+0uDbMGYsq5tpaeO09jNSnz frbz2xrDXu+BfwzjMPrqYyF4g+XRN/G55bfiTHU8yxwcxhoS8EO3KWsMF9iUyezUXusZrWyE6/9 jHxtCFcGz6Ozto/7zddEbsmZScnNvBjQqI5xPBcZVsHHCi9C7LFIuFETxaJQoXFVEd4YhquqOAw 5MIHER/WM+9f4JdkN5TxamDHaTnpxNXx26NuVR99vh/ItnaETSoo4Yjd6AoSe9AqPSa1pVkqAzP ulHrOf17kPO6PX4L9gUFShQbY7npSquDRkznhP+B6mJrRJEIXkv7ZLzpALeQoG0BTV1j3MP3qTI ZQLahuaEb3ZuaLdWO8CRrv2LOzA5dgSOGWbVtqu5G4e4orY8RJSjb9OO3llaEiv5YFjP86jtPMj e8vpM3YWaSu4ARsCgEeUYvu+0= X-Google-Smtp-Source: AGHT+IEAl4lODxRfcbp3525fwpCtZ3+kSf1osD53rmt93aTkxrS5bnvg/FQbso42m1ypQ2i6KL+7nA== X-Received: by 2002:a05:6402:1cc1:b0:633:ddd4:4e37 with SMTP id 4fb4d7f45d1cf-639d615bf92mr20090946a12.13.1760362920499; Mon, 13 Oct 2025 06:42:00 -0700 (PDT) Received: from tablet.my.domain (83.21.75.22.ipv4.supernova.orange.pl. [83.21.75.22]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63a5c32249esm8729019a12.41.2025.10.13.06.41.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 06:42:00 -0700 (PDT) From: Artur Weber Date: Mon, 13 Oct 2025 15:41:50 +0200 Subject: [PATCH v7 3/7] dt-bindings: clock: brcm,kona-ccu: Add BCM21664 and BCM281xx bus clocks 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: <20251013-kona-bus-clock-v7-3-8f473d99ae19@gmail.com> References: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> In-Reply-To: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> To: Michael Turquette , Stephen Boyd , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Alex Elder , Stanislav Jakubek , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux-arm-kernel@lists.infradead.org, phone-devel@vger.kernel.org, Artur Weber , Krzysztof Kozlowski X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=6812; i=aweber.kernel@gmail.com; h=from:subject:message-id; bh=4p8s91lohiM8ZgIIJ7dsaunBWhjFWuVcW0lxcrxGmtg=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBo7QGf2WFrBlI+tY0anQ/zrVCCp9ue4xc1mg5Zv UoEVmUJsgOJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaO0BnwAKCRCzu/ihE6BR aDibD/41P8rrgVeBNe6eyQ6F4ErzG2f5/1mvvy3y+dK4vhljIQbKVfRumuhgQnB7ar1snww5wry XNQVj9wiTz+UVEhp8PLGKdhfQsO1bJzBNAXPDZP0AwnG4FXepocE2K4uObg7l09MIBmfLuIr41r Wc3gOdCEO7s6l01sBpf5pDJbGZEiNrOkyOIGXclSZQF5TYB3T9nPIacXfiCPGjt7ZhLowqDAocT 3VMr60FAdlR2wavMbkiVUUm+ZqfWJFZqgjUsz+r18Bpdtq4wz7jIzEnYRy2kcJEKqAniVU4mM4s Wwv98+RpDx3E3ir5GYzqT+2dXaK+KVctQQ6my8wVRUGTkwMNzwl+J/2ywVcLd1SEyM/Aw3W3cOy knMWVKBW3czJCy+9ZL6clqJUjT1xo0G5XJ260YyUOf9Y15xDxoHisNji+bj8lgiAGBjZTLJT2j0 zWtH9zncoTHBcp8ZRPh1ORtPb2E34wrSQwr+1K+qLbEe/f03qjcIalEMYPqzPeRM8ez72IHyV1+ ooCaQC/nSQfEGtjL9IORP3ezZ864l2+Y4fCiDxa3bEMBRCYVHMpkV71HoGllVdoSkErAVe6xriH QAz/siJYGlJQcxR8j88sV405nNCTOsYx5yDkrPUafBoGOO8KHrx60+pPKNNGRDMvvNmpdXOIfJ5 4YbJW1j05vGQVyw== X-Developer-Key: i=aweber.kernel@gmail.com; a=openpgp; fpr=E663000EAC1DECCD6AD2890DB3BBF8A113A05168 Add bus clocks corresponding to peripheral clocks currently supported by the BCM21664 and BCM281xx clock drivers and add the relevant clock IDs to the dt-bindings headers (bcm21664.h, bcm281xx.h). Reviewed-by: Krzysztof Kozlowski Reviewed-by: Florian Fainelli Signed-off-by: Artur Weber --- Changes in v4: - Squash BCM21664 and BCM281xx bus clock bindings commits --- .../devicetree/bindings/clock/brcm,kona-ccu.yaml | 49 ++++++++++++++++++= ++-- include/dt-bindings/clock/bcm21664.h | 13 ++++++ include/dt-bindings/clock/bcm281xx.h | 19 +++++++++ 3 files changed, 78 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml b/D= ocumentation/devicetree/bindings/clock/brcm,kona-ccu.yaml index e5656950b3bd..d00dcf916b45 100644 --- a/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml +++ b/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml @@ -40,7 +40,7 @@ properties: =20 clock-output-names: minItems: 1 - maxItems: 10 + maxItems: 20 =20 required: - compatible @@ -61,6 +61,8 @@ allOf: - const: hub_timer - const: pmu_bsc - const: pmu_bsc_var + - const: hub_timer_apb + - const: pmu_bsc_apb - if: properties: compatible: @@ -86,6 +88,13 @@ allOf: - const: usb_ic - const: hsic2_48m - const: hsic2_12m + - const: sdio1_ahb + - const: sdio2_ahb + - const: sdio3_ahb + - const: sdio4_ahb + - const: usb_ic_ahb + - const: hsic2_ahb + - const: usb_otg_ahb - if: properties: compatible: @@ -116,6 +125,16 @@ allOf: - const: bsc2 - const: bsc3 - const: pwm + - const: uartb_apb + - const: uartb2_apb + - const: uartb3_apb + - const: uartb4_apb + - const: ssp0_apb + - const: ssp2_apb + - const: bsc1_apb + - const: bsc2_apb + - const: bsc3_apb + - const: pwm_apb - if: properties: compatible: @@ -124,7 +143,9 @@ allOf: then: properties: clock-output-names: - const: hub_timer + items: + - const: hub_timer + - const: hub_timer_apb - if: properties: compatible: @@ -142,6 +163,11 @@ allOf: - const: sdio2_sleep - const: sdio3_sleep - const: sdio4_sleep + - const: sdio1_ahb + - const: sdio2_ahb + - const: sdio3_ahb + - const: sdio4_ahb + - const: usb_otg_ahb - if: properties: compatible: @@ -158,6 +184,13 @@ allOf: - const: bsc2 - const: bsc3 - const: bsc4 + - const: uartb_apb + - const: uartb2_apb + - const: uartb3_apb + - const: bsc1_apb + - const: bsc2_apb + - const: bsc3_apb + - const: bsc4_apb =20 additionalProperties: false =20 @@ -176,6 +209,16 @@ examples: "bsc1", "bsc2", "bsc3", - "pwm"; + "pwm", + "uartb_apb", + "uartb2_apb", + "uartb3_apb", + "uartb4_apb", + "ssp0_apb", + "ssp2_apb", + "bsc1_apb", + "bsc2_apb", + "bsc3_apb", + "pwm_apb"; }; ... diff --git a/include/dt-bindings/clock/bcm21664.h b/include/dt-bindings/clo= ck/bcm21664.h index 7a380a51848c..9f3614eb9036 100644 --- a/include/dt-bindings/clock/bcm21664.h +++ b/include/dt-bindings/clock/bcm21664.h @@ -25,6 +25,7 @@ /* aon CCU clock ids */ =20 #define BCM21664_AON_CCU_HUB_TIMER 0 +#define BCM21664_AON_CCU_HUB_TIMER_APB 1 =20 /* master CCU clock ids */ =20 @@ -36,6 +37,11 @@ #define BCM21664_MASTER_CCU_SDIO2_SLEEP 5 #define BCM21664_MASTER_CCU_SDIO3_SLEEP 6 #define BCM21664_MASTER_CCU_SDIO4_SLEEP 7 +#define BCM21664_MASTER_CCU_SDIO1_AHB 8 +#define BCM21664_MASTER_CCU_SDIO2_AHB 9 +#define BCM21664_MASTER_CCU_SDIO3_AHB 10 +#define BCM21664_MASTER_CCU_SDIO4_AHB 11 +#define BCM21664_MASTER_CCU_USB_OTG_AHB 12 =20 /* slave CCU clock ids */ =20 @@ -46,5 +52,12 @@ #define BCM21664_SLAVE_CCU_BSC2 4 #define BCM21664_SLAVE_CCU_BSC3 5 #define BCM21664_SLAVE_CCU_BSC4 6 +#define BCM21664_SLAVE_CCU_UARTB_APB 7 +#define BCM21664_SLAVE_CCU_UARTB2_APB 8 +#define BCM21664_SLAVE_CCU_UARTB3_APB 9 +#define BCM21664_SLAVE_CCU_BSC1_APB 10 +#define BCM21664_SLAVE_CCU_BSC2_APB 11 +#define BCM21664_SLAVE_CCU_BSC3_APB 12 +#define BCM21664_SLAVE_CCU_BSC4_APB 13 =20 #endif /* _CLOCK_BCM21664_H */ diff --git a/include/dt-bindings/clock/bcm281xx.h b/include/dt-bindings/clo= ck/bcm281xx.h index 0c7a7e10cb42..8e3ac4ab3e16 100644 --- a/include/dt-bindings/clock/bcm281xx.h +++ b/include/dt-bindings/clock/bcm281xx.h @@ -33,6 +33,8 @@ #define BCM281XX_AON_CCU_HUB_TIMER 0 #define BCM281XX_AON_CCU_PMU_BSC 1 #define BCM281XX_AON_CCU_PMU_BSC_VAR 2 +#define BCM281XX_AON_CCU_HUB_TIMER_APB 3 +#define BCM281XX_AON_CCU_PMU_BSC_APB 4 =20 /* hub CCU clock ids */ =20 @@ -47,6 +49,13 @@ #define BCM281XX_MASTER_CCU_USB_IC 4 #define BCM281XX_MASTER_CCU_HSIC2_48M 5 #define BCM281XX_MASTER_CCU_HSIC2_12M 6 +#define BCM281XX_MASTER_CCU_SDIO1_AHB 7 +#define BCM281XX_MASTER_CCU_SDIO2_AHB 8 +#define BCM281XX_MASTER_CCU_SDIO3_AHB 9 +#define BCM281XX_MASTER_CCU_SDIO4_AHB 10 +#define BCM281XX_MASTER_CCU_USB_IC_AHB 11 +#define BCM281XX_MASTER_CCU_HSIC2_AHB 12 +#define BCM281XX_MASTER_CCU_USB_OTG_AHB 13 =20 /* slave CCU clock ids */ =20 @@ -60,5 +69,15 @@ #define BCM281XX_SLAVE_CCU_BSC2 7 #define BCM281XX_SLAVE_CCU_BSC3 8 #define BCM281XX_SLAVE_CCU_PWM 9 +#define BCM281XX_SLAVE_CCU_UARTB_APB 10 +#define BCM281XX_SLAVE_CCU_UARTB2_APB 11 +#define BCM281XX_SLAVE_CCU_UARTB3_APB 12 +#define BCM281XX_SLAVE_CCU_UARTB4_APB 13 +#define BCM281XX_SLAVE_CCU_SSP0_APB 14 +#define BCM281XX_SLAVE_CCU_SSP2_APB 15 +#define BCM281XX_SLAVE_CCU_BSC1_APB 16 +#define BCM281XX_SLAVE_CCU_BSC2_APB 17 +#define BCM281XX_SLAVE_CCU_BSC3_APB 18 +#define BCM281XX_SLAVE_CCU_PWM_APB 19 =20 #endif /* _CLOCK_BCM281XX_H */ --=20 2.51.0 From nobody Mon Feb 9 01:00:21 2026 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 E0C98308F1D for ; Mon, 13 Oct 2025 13:42:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362927; cv=none; b=CG87xQunwrfvfMJO+kA2zBBaNTMZnxA6MWAvRtuTCtv/dW/3MRSa19SdsaOW6i7skiO0i7v7Bgh57ko+x23le3yVijz/6MLjG8JpRYKkLnjReHddAdu5jVgGPvSQ/C2DNvHUUpmVVqxCX1ylFaO1QA18Gdq/HTKoLdNFyhbFMNI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362927; c=relaxed/simple; bh=vh/hIeQB05qjlIgWDhfjgy/vwvluYj0FXcfCExT1EEA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qZc9nsDRUDXsNOCTOR5pfzjnIveGtEGLs6TxPiNTZUFF5ge6J9pxMHcQZn4WWY98bXhPylL0hF3t+iFy+N+NbYrM79wRHYY/31EJfoRStSToGUsSiSVXGjkksoqSR/rnCOl+rc+rkkwPKg/Pa9aOrYU+zAXqg+3orwTg9OcthCI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=hmknIdw2; arc=none smtp.client-ip=209.85.208.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="hmknIdw2" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-61feb87fe26so6685616a12.1 for ; Mon, 13 Oct 2025 06:42:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760362922; x=1760967722; 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=JUB0zP/a55S1pa9D33iQN4CRyeUZ3bxGl0mgNYJShCg=; b=hmknIdw2RdhyFMbjAsBaayD+EToD2Uj6/KbKot7Zp2Er7QYFQhWpqMxYYKFoDIVTMS ApsI1nCvIvVHyEmMo2M+hiVk10Zao1j0qXSiB6TszLSauNwUxZ34jIx2zQtINXuhZepl rWmaMkiRmRDXSxJ/fcD75lZTZ4k24silrtYYkknDGWYDAhUq5uxNC8I9jv/6FYfC2wJG dFuXbCJtyDTjKVkFme6Osz7DnShIJkTSplRBEiKETUA0bt6Yk355zo0pAHNb9lKOYTmI Q/gzoC8LqRwPS0fhsF2wemY/FTAEIrL622v0f5hWhyWB0QP2EPHsOak+F6ePTLawPQOc 2rPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760362922; x=1760967722; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JUB0zP/a55S1pa9D33iQN4CRyeUZ3bxGl0mgNYJShCg=; b=b1wMQWRayFNTxL36zQc7488BxSEW/HpIF4bMUWFO//a4nDALLZeaMGDAAVspVlh/DN SgaIgW3xM/iI4WJ29zGbdoybL3VIyRw5rh+k8gZeVd+ydsKlPjgtskaniXjKVbyKALSj +B9wB0IAAgSBsCOS5PxI1Dm4PJoWY+JfNc0thv7Jf3VCeECPChX8jfMiSijviU8YU14n wKBx87xK9o3pR+njTUx43rBu3EMenxFa2uVcmiwTBW+HAqTvjFvYAtH8kT4bio1jvzKM OEeAOM+DjexmT8bs9H9+mqosWN/tFDNYjLlnUQtLBnMBwK/dcH/M10HCCdK1oMyPp0Jj utHg== X-Forwarded-Encrypted: i=1; AJvYcCWJrOywYylcQ/YIJRA/lcSpj5urJJBy8bXbcC+QlxJzV3aWto8PG8hsalap3LDs/GqP4VZCaEM34dPvsE0=@vger.kernel.org X-Gm-Message-State: AOJu0YzekORW2t2quNWr0bvBcn7L9Jy5eg5r+esOtYANjVhc+13Rznet zh6RnGmasmeruKSG1j4L1N71qvVaEj4ju04gk2qUVIxU8CEzzyQXthEix4yxh0Cp X-Gm-Gg: ASbGncvB9yQsr6EQM/YG5jWMT+L69Z/JdpjsfjCqYNCtGTnB7k5I9X10dNNT0POiymQ GG2vtpvO+YmIT1uDWsAiMPkRf/3ztPkbv4V/8LVrv2HM3jbjJcoTMweAC7+zCYsvvIpVio79buD swUlKQL+1VgzGCveMoekCpHTA8H6zG/7X4nvsMibJXE6v6pDmW8MlU3YprUa0hY3yjbrStTDrOX /OJXDK/9l0S+e8EJnkFv4CHD4bvdUBPZervTl5TimvbAkuB+SPIkXnEL8tHfLr/7iOk+lTYkVVs FmljHttGp/8Om82px3tFAFAs+KIdTus4dtPJPraghgVjFbD66uci9uCkIULgdkAbAZwrB4N74ET NaWBI4U1xNl8NUtSGdPfa4T5F0Np6qbxHYH3PG8ieObAkEu5KyBzsRXtvaFkoQ4PZ1sq4IY3Ess KT+dgt58Kd2DK46FD5cDgGtsE= X-Google-Smtp-Source: AGHT+IHqUc4fx8LUFQZ8hvav+GM1r5MA2m3puQngPSAz/svFdWdEv+ZFSFoy+G7J6JLulAFjEXGl3w== X-Received: by 2002:a05:6402:350a:b0:639:ff4f:4bc3 with SMTP id 4fb4d7f45d1cf-639ff4f5019mr12949247a12.4.1760362922068; Mon, 13 Oct 2025 06:42:02 -0700 (PDT) Received: from tablet.my.domain (83.21.75.22.ipv4.supernova.orange.pl. [83.21.75.22]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63a5c32249esm8729019a12.41.2025.10.13.06.42.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 06:42:01 -0700 (PDT) From: Artur Weber Date: Mon, 13 Oct 2025 15:41:51 +0200 Subject: [PATCH v7 4/7] clk: bcm: kona: Make kona_peri_clk_ops const 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: <20251013-kona-bus-clock-v7-4-8f473d99ae19@gmail.com> References: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> In-Reply-To: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> To: Michael Turquette , Stephen Boyd , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Alex Elder , Stanislav Jakubek , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux-arm-kernel@lists.infradead.org, phone-devel@vger.kernel.org, Artur Weber X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1282; i=aweber.kernel@gmail.com; h=from:subject:message-id; bh=vh/hIeQB05qjlIgWDhfjgy/vwvluYj0FXcfCExT1EEA=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBo7QGgLIh1OotbM02cBSNImXPm94eR/rNh7qr71 hhNVhx47+WJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaO0BoAAKCRCzu/ihE6BR aIC3D/9CxbU4X9eZl7sCJWQeJfaKDgTtg3p4OPDgGQH4OW5X+rcW/olUGRpjJ8i6+7lS+r2Mrc6 LYuT+TdS/jgYBfs/F8bWeAfyi/YqvGZ2dl2JuSNjb/Gu8F2FQsLBF8qQmvyHkT+NvZ+nfvA8sow 7hhA7Pfsw+VjX4DRa4k91qrXgRMks+pKfS5/adZW4R+Dn067lgEbSF4oQec66elLUoItwxmg6zx gkWrvmZIYYbITyBRT3jCP3Vo69xP4sqlp13L3B+YklzquZghPbUaq6QBF4DuprXQxFrBFfMPTmO sWnVrtbYzhW8TfzkvuNVsc6BX2iH2Mbd78jaOn5c7cdZWO+YtXL1LUS0TaOh9WnBhIArgQ3jbWj PmBB59h0OFBD7GkZIp94AG1iUL7cQAMPIRoLQlPDxjDHYigpy6KqDyGbHG3jMJwk7waTY7R8eq4 pFQCPpRmbgnNFS1AYjz04+W6zMJpHeuk2vXwjeQDYSF9PWE/d9b8q0LB6yGgZ5svLQk6dQKeWfu fkjOJbPiogzhMlClRu9X4mWBZGUmz95zxKq6AaQFpd5k8SkUNZhLjReh5sEjvJsg/g9+u1Tx2+t auMPAxhhQpfQhoua0mH7qn4MUhbuAfEGuSGpwOwMvv91fEf+hx/4q81a051Ndn4L6YwQN8PRVsZ 89nyZL6D4wZBjuw== X-Developer-Key: i=aweber.kernel@gmail.com; a=openpgp; fpr=E663000EAC1DECCD6AD2890DB3BBF8A113A05168 Fix a warning raised by checkpatch about non-const clk_ops by making the relevant struct const. Reviewed-by: Florian Fainelli Signed-off-by: Artur Weber --- Changes in v6: - Add this commit --- drivers/clk/bcm/clk-kona.c | 2 +- drivers/clk/bcm/clk-kona.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/clk/bcm/clk-kona.c b/drivers/clk/bcm/clk-kona.c index 0171e6b2bfca..2641eaa4ca52 100644 --- a/drivers/clk/bcm/clk-kona.c +++ b/drivers/clk/bcm/clk-kona.c @@ -1154,7 +1154,7 @@ static int kona_peri_clk_set_rate(struct clk_hw *hw, = unsigned long rate, return ret; } =20 -struct clk_ops kona_peri_clk_ops =3D { +const struct clk_ops kona_peri_clk_ops =3D { .enable =3D kona_peri_clk_enable, .disable =3D kona_peri_clk_disable, .is_enabled =3D kona_peri_clk_is_enabled, diff --git a/drivers/clk/bcm/clk-kona.h b/drivers/clk/bcm/clk-kona.h index d7cae437333c..7064ce316981 100644 --- a/drivers/clk/bcm/clk-kona.h +++ b/drivers/clk/bcm/clk-kona.h @@ -487,7 +487,7 @@ struct ccu_data { =20 /* Exported globals */ =20 -extern struct clk_ops kona_peri_clk_ops; +extern const struct clk_ops kona_peri_clk_ops; =20 /* Externally visible functions */ =20 --=20 2.51.0 From nobody Mon Feb 9 01:00:21 2026 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.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 DC754308F24 for ; Mon, 13 Oct 2025 13:42:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362929; cv=none; b=Y3je3qNx/qdd9hJ+wNonHw45BjkqLtAc25FubevGyuL68VobDVfjc0O+n1GVuE3yaCN/Rxf7XwxC/GsS1r9YA98gdDnIUrcIPg2J6cUM+K4X0T03m+E0SIaItjvm+78ERgRr023kEcs5mdYgPz7QRDILkDusNk32UnArXoueC+8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362929; c=relaxed/simple; bh=byZ2PEJEhuWM5oD+6omq24Dtyls2EUrqjqS1m6PZQzw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=k/vgw9+LWI6NekwFS/Hmifm4E22kDePdwoP/4+jpr01arS1ZDdAsxp1ldfnqE+LF0Bz3Eetbl9tJpTfpclI/GkMsVUpHxUE43IliLzhynmfZ56oHfPxDRRV8wNKzPOAlJMuvTgwMk8p09T/1iS075/uIOFF9/oRCkjgMiLMMf8I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BQyiJTXj; arc=none smtp.client-ip=209.85.208.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BQyiJTXj" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-639e34ffa69so6649589a12.3 for ; Mon, 13 Oct 2025 06:42:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760362924; x=1760967724; 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=uDsIUcT69+lr8zHAx2R3kYezBCEsGf1f7Zkur+ptzrM=; b=BQyiJTXjkepvDcZh/5x/sA3gwUXg5uAWveUmZvtnOk5ZvtH+7o/FQBjVI9rPPatNKS nGT7/WN+VtWMysDm8A6QkssK0EokP82mm5P84ux17BIwfmSJNNe2fNoQ4UBROSfhRW/q vGakrY24OufyB+SWCY977LV1ylD9qXSU5naIqX/WSdeYY6zcyXXcgKxPfjDbhZokqbNX OD7buYX0+pZI7g2PhMV5udHuzVuBn7qAlQcbF+tDmGhLfPFbXNTmb6lV7t1Y1SBmMBuo +aC2e4yihrLJ4zS3mIM1s7KXDowrXhQMPNMuwLdjqFNccbTcUPv8kC7RkbH+DYVFzf9u dHcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760362924; x=1760967724; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uDsIUcT69+lr8zHAx2R3kYezBCEsGf1f7Zkur+ptzrM=; b=fly2fgh4gdx1HHCLCywl+oE2zdnm7UtjvkWDGOasziYwp2kqzgilOtC0UHoZMVUek6 RI/1pSWOp0g/C0+06T+1c/Xqdrq3kmti1Um3AVGkMnqL3IrqkGSumj+Mx7prTCafQC/u /SDnHf2gITAlIGrlJ9g3mdC/fN6eCZ/Ro/Kcc3LscHneepzwy7f6/4cG3Tg87xS8QXHm Ywvw4J9ANS7dwIZIy9rPja1e/hNfGNiAsXHJHCOETIDmnrovhzjXbQEMdPcjcxV+jQ8d I/1LZXTLG4r9MqAbOSm+eZSaHy/WRBB44QTUpzRXj5oNuvO5z0BSQ/0DlWUjxjRNwQm5 bTJw== X-Forwarded-Encrypted: i=1; AJvYcCVmG38zKJ6GP6X8Ce1qDUboDymkwzzlxabZo7g/e2feXgA6sLPCpDxjZ026GEA7tNYSOWGkaabI86Z/t9c=@vger.kernel.org X-Gm-Message-State: AOJu0YywryVrGnvJut2SvzVLfKn3IIUjzTlbC82vtHaaExghkiElJaUZ T3RfU7brjFvgf3P9+1Nzy75MMc2JQqEGQBVmLmFNM1mCLdMKqRfbr/55 X-Gm-Gg: ASbGncvO/mJw71ZmR0MPB9Gw2x55s+yj2Ltl5/TDi1CL2+JyyYmSnRnw0bfOKhq39Ss +cOHlZIGv6yMmwpaOf9Eu/gkl19Js5V3BFcQN5+RDr2iseYy2BRJXcvi8QbZo+UjclNLjwV7iFF zKf9VuuCb23G+g0tQFpRHdbQ3tKwZLBWskvx5ovaKiymGFnoYmJpeWq4Qa1ZEK9dPfa5dfN+yMP HvsJ8JNsYwOE4dziaaMWXeNuXgK9nm78xtsnwL2jfDdpWR3tdU3GLzqa8jsh86SdZvfLVOCL/rW g/02Rd+/kUhpcuf7ywXIMiKtagyREO/Nvk81uBl5ZbixSUttUg0w65AjXZKpCcyghlj7TnEoGZf udjQlRmCgcH3hIKbwvE2t1/Zk041Dws1Dl9qgvC/6xjUBgPw0WB++97Yyo3WU9AZQhcLAAFlLJs rQc3ZhdV9uLVyJ X-Google-Smtp-Source: AGHT+IGGy5bOEIdbTRCX9VjTp4JbQvKPIyynjwlcAYml0w04UOhKYJOZKDHktFv9b0IwmGae+dBN2A== X-Received: by 2002:a05:6402:26c7:b0:639:dab5:d610 with SMTP id 4fb4d7f45d1cf-639dab5dab3mr17930765a12.15.1760362923968; Mon, 13 Oct 2025 06:42:03 -0700 (PDT) Received: from tablet.my.domain (83.21.75.22.ipv4.supernova.orange.pl. [83.21.75.22]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63a5c32249esm8729019a12.41.2025.10.13.06.42.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 06:42:03 -0700 (PDT) From: Artur Weber Date: Mon, 13 Oct 2025 15:41:52 +0200 Subject: [PATCH v7 5/7] clk: bcm: kona: Add support for bus clocks 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: <20251013-kona-bus-clock-v7-5-8f473d99ae19@gmail.com> References: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> In-Reply-To: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> To: Michael Turquette , Stephen Boyd , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Alex Elder , Stanislav Jakubek , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux-arm-kernel@lists.infradead.org, phone-devel@vger.kernel.org, Artur Weber , Alex Elder X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=8542; i=aweber.kernel@gmail.com; h=from:subject:message-id; bh=byZ2PEJEhuWM5oD+6omq24Dtyls2EUrqjqS1m6PZQzw=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBo7QGggUlmntn06shwxxBJJItsJTa8h3XGC48cz ezuJX+66BeJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaO0BoAAKCRCzu/ihE6BR aCueD/4p1ztMpwT6m/x4W6BqpxrmoKkjD4hMjLNUKVNjYlMzat2q3iDiKe5X8oEnz3veh6xx1Wa 7ugTyp41yVeR+AY4aqgblZc80PmWgw/HREJBhx8wEAgzn47BIEzvujtgPCmwlPJ+1h7Ylm/lfLW dbrudwSVmPfFDMcwLa5OdkogOuJcQe0jrrtpuoAtfFcM+1TJ7j21QJQMwnoiQ9WgyGMxenn2EcZ 71XkP/cPoc4g3KfzKMI6dhGpPeEcP68HnhHx7Nj943ru5qw3PKsFS2l/18W0XmMk0h74LpVLwsj OqM9gIlsAO8eZ/pkBE5v6+H1WAmMrcxBVEJD9qBwxwJMGp4Q82SMYiY/00wwzxG4L76HtqKFu5O LbbQhDuzR+l62YRuSlgBOF4CwbeDtN3J78fpm7XmbA9Ct8e3+pbnndwGoABWrKYQ9ktQPjTwkZe DSbn3NBoyf5u3d4OvjyL2ArV5BP8SYnmuSr7uh0PnqJHULa+yCPpYAbmvNuOMMiQUZj7RJgHbo5 9IUbxwwgBWW8KnWkzfYLNZOLjttQ5EsuASHZ2mryb65dXalS0HcWOVyCq7XHiEmxZaiFgnU+xIc nhWo9hlJiJJqULeWUtJNbZ1HPT3PEB+31FeMZiA31P6gKU6fvn8/0zDx/ISBtLqmIAebd6w0aHQ by5jsGRVRyvb1GA== X-Developer-Key: i=aweber.kernel@gmail.com; a=openpgp; fpr=E663000EAC1DECCD6AD2890DB3BBF8A113A05168 Introduce support for bus clocks into the Broadcom Kona common clock driver. Most of these functions have been adapted from their peripheral clock counterparts, as they are nearly identical (bus clocks are just much more limited in terms of allowed operations). Reviewed-by: Alex Elder Reviewed-by: Florian Fainelli Signed-off-by: Artur Weber --- Changes in v6: - Made kona_bus_clk_ops const --- drivers/clk/bcm/clk-kona-setup.c | 116 +++++++++++++++++++++++++++++++++++= ++++ drivers/clk/bcm/clk-kona.c | 62 ++++++++++++++++++++- drivers/clk/bcm/clk-kona.h | 10 ++++ 3 files changed, 187 insertions(+), 1 deletion(-) diff --git a/drivers/clk/bcm/clk-kona-setup.c b/drivers/clk/bcm/clk-kona-se= tup.c index 338558f6fbae..8b6123e188fb 100644 --- a/drivers/clk/bcm/clk-kona-setup.c +++ b/drivers/clk/bcm/clk-kona-setup.c @@ -167,6 +167,58 @@ static bool peri_clk_data_offsets_valid(struct kona_cl= k *bcm_clk) return true; } =20 +static bool bus_clk_data_offsets_valid(struct kona_clk *bcm_clk) +{ + struct bus_clk_data *bus; + struct bcm_clk_policy *policy; + struct bcm_clk_gate *gate; + struct bcm_clk_hyst *hyst; + const char *name; + u32 range; + u32 limit; + + BUG_ON(bcm_clk->type !=3D bcm_clk_bus); + bus =3D bcm_clk->u.bus; + name =3D bcm_clk->init_data.name; + range =3D bcm_clk->ccu->range; + + limit =3D range - sizeof(u32); + limit =3D round_down(limit, sizeof(u32)); + + policy =3D &bus->policy; + if (policy_exists(policy)) { + if (policy->offset > limit) { + pr_err("%s: bad policy offset for %s (%u > %u)\n", + __func__, name, policy->offset, limit); + return false; + } + } + + gate =3D &bus->gate; + hyst =3D &bus->hyst; + if (gate_exists(gate)) { + if (gate->offset > limit) { + pr_err("%s: bad gate offset for %s (%u > %u)\n", + __func__, name, gate->offset, limit); + return false; + } + + if (hyst_exists(hyst)) { + if (hyst->offset > limit) { + pr_err("%s: bad hysteresis offset for %s " + "(%u > %u)\n", __func__, + name, hyst->offset, limit); + return false; + } + } + } else if (hyst_exists(hyst)) { + pr_err("%s: hysteresis but no gate for %s\n", __func__, name); + return false; + } + + return true; +} + /* A bit position must be less than the number of bits in a 32-bit registe= r. */ static bool bit_posn_valid(u32 bit_posn, const char *field_name, const char *clock_name) @@ -481,9 +533,46 @@ peri_clk_data_valid(struct kona_clk *bcm_clk) return kona_dividers_valid(bcm_clk); } =20 +/* Determine whether the set of bus clock registers are valid. */ +static bool +bus_clk_data_valid(struct kona_clk *bcm_clk) +{ + struct bus_clk_data *bus; + struct bcm_clk_policy *policy; + struct bcm_clk_gate *gate; + struct bcm_clk_hyst *hyst; + const char *name; + + BUG_ON(bcm_clk->type !=3D bcm_clk_bus); + + if (!bus_clk_data_offsets_valid(bcm_clk)) + return false; + + bus =3D bcm_clk->u.bus; + name =3D bcm_clk->init_data.name; + + policy =3D &bus->policy; + if (policy_exists(policy) && !policy_valid(policy, name)) + return false; + + gate =3D &bus->gate; + if (gate_exists(gate) && !gate_valid(gate, "gate", name)) + return false; + + hyst =3D &bus->hyst; + if (hyst_exists(hyst) && !hyst_valid(hyst, name)) + return false; + + return true; +} + static bool kona_clk_valid(struct kona_clk *bcm_clk) { switch (bcm_clk->type) { + case bcm_clk_bus: + if (!bus_clk_data_valid(bcm_clk)) + return false; + break; case bcm_clk_peri: if (!peri_clk_data_valid(bcm_clk)) return false; @@ -656,6 +745,14 @@ static void peri_clk_teardown(struct peri_clk_data *da= ta, clk_sel_teardown(&data->sel, init_data); } =20 +static void bus_clk_teardown(struct bus_clk_data *data, + struct clk_init_data *init_data) +{ + init_data->num_parents =3D 0; + kfree(init_data->parent_names); + init_data->parent_names =3D NULL; +} + /* * Caller is responsible for freeing the parent_names[] and * parent_sel[] arrays in the peripheral clock's "data" structure @@ -670,9 +767,23 @@ peri_clk_setup(struct peri_clk_data *data, struct clk_= init_data *init_data) return clk_sel_setup(data->clocks, &data->sel, init_data); } =20 +static int +bus_clk_setup(struct bus_clk_data *data, struct clk_init_data *init_data) +{ + init_data->flags =3D CLK_IGNORE_UNUSED; + + init_data->parent_names =3D NULL; + init_data->num_parents =3D 0; + + return 0; +} + static void bcm_clk_teardown(struct kona_clk *bcm_clk) { switch (bcm_clk->type) { + case bcm_clk_bus: + bus_clk_teardown(bcm_clk->u.data, &bcm_clk->init_data); + break; case bcm_clk_peri: peri_clk_teardown(bcm_clk->u.data, &bcm_clk->init_data); break; @@ -702,6 +813,11 @@ static int kona_clk_setup(struct kona_clk *bcm_clk) struct clk_init_data *init_data =3D &bcm_clk->init_data; =20 switch (bcm_clk->type) { + case bcm_clk_bus: + ret =3D bus_clk_setup(bcm_clk->u.data, init_data); + if (ret) + return ret; + break; case bcm_clk_peri: ret =3D peri_clk_setup(bcm_clk->u.data, init_data); if (ret) diff --git a/drivers/clk/bcm/clk-kona.c b/drivers/clk/bcm/clk-kona.c index 2641eaa4ca52..fbe0d902dc80 100644 --- a/drivers/clk/bcm/clk-kona.c +++ b/drivers/clk/bcm/clk-kona.c @@ -944,7 +944,7 @@ static int selector_write(struct ccu_data *ccu, struct = bcm_clk_gate *gate, return ret; } =20 -/* Clock operations */ +/* Peripheral clock operations */ =20 static int kona_peri_clk_enable(struct clk_hw *hw) { @@ -1216,9 +1216,69 @@ static bool __peri_clk_init(struct kona_clk *bcm_clk) return true; } =20 +/* Bus clock operations */ + +static int kona_bus_clk_enable(struct clk_hw *hw) +{ + struct kona_clk *bcm_clk =3D to_kona_clk(hw); + struct bcm_clk_gate *gate =3D &bcm_clk->u.bus->gate; + + return clk_gate(bcm_clk->ccu, bcm_clk->init_data.name, gate, true); +} + +static void kona_bus_clk_disable(struct clk_hw *hw) +{ + struct kona_clk *bcm_clk =3D to_kona_clk(hw); + struct bcm_clk_gate *gate =3D &bcm_clk->u.bus->gate; + + (void)clk_gate(bcm_clk->ccu, bcm_clk->init_data.name, gate, false); +} + +static int kona_bus_clk_is_enabled(struct clk_hw *hw) +{ + struct kona_clk *bcm_clk =3D to_kona_clk(hw); + struct bcm_clk_gate *gate =3D &bcm_clk->u.bus->gate; + + return is_clk_gate_enabled(bcm_clk->ccu, gate) ? 1 : 0; +} + +const struct clk_ops kona_bus_clk_ops =3D { + .enable =3D kona_bus_clk_enable, + .disable =3D kona_bus_clk_disable, + .is_enabled =3D kona_bus_clk_is_enabled, +}; + +/* Put a bus clock into its initial state */ +static bool __bus_clk_init(struct kona_clk *bcm_clk) +{ + struct ccu_data *ccu =3D bcm_clk->ccu; + struct bus_clk_data *bus =3D bcm_clk->u.bus; + const char *name =3D bcm_clk->init_data.name; + + BUG_ON(bcm_clk->type !=3D bcm_clk_bus); + + if (!policy_init(ccu, &bus->policy)) { + pr_err("%s: error initializing policy for %s\n", + __func__, name); + return false; + } + if (!gate_init(ccu, &bus->gate)) { + pr_err("%s: error initializing gate for %s\n", __func__, name); + return false; + } + if (!hyst_init(ccu, &bus->hyst)) { + pr_err("%s: error initializing hyst for %s\n", __func__, name); + return false; + } + + return true; +} + static bool __kona_clk_init(struct kona_clk *bcm_clk) { switch (bcm_clk->type) { + case bcm_clk_bus: + return __bus_clk_init(bcm_clk); case bcm_clk_peri: return __peri_clk_init(bcm_clk); default: diff --git a/drivers/clk/bcm/clk-kona.h b/drivers/clk/bcm/clk-kona.h index 7064ce316981..a290f8870e24 100644 --- a/drivers/clk/bcm/clk-kona.h +++ b/drivers/clk/bcm/clk-kona.h @@ -390,6 +390,14 @@ struct peri_clk_data { struct bcm_clk_sel sel; const char *clocks[]; /* must be last; use CLOCKS() to declare */ }; + +struct bus_clk_data { + struct bcm_clk_policy policy; + struct bcm_clk_gate gate; + struct bcm_clk_hyst hyst; + const char *clocks[]; /* must be last; use CLOCKS() to declare */ +}; + #define CLOCKS(...) { __VA_ARGS__, NULL, } #define NO_CLOCKS { NULL, } /* Must use of no parent clocks */ =20 @@ -401,6 +409,7 @@ struct kona_clk { union { void *data; struct peri_clk_data *peri; + struct bus_clk_data *bus; } u; }; #define to_kona_clk(_hw) \ @@ -488,6 +497,7 @@ struct ccu_data { /* Exported globals */ =20 extern const struct clk_ops kona_peri_clk_ops; +extern const struct clk_ops kona_bus_clk_ops; =20 /* Externally visible functions */ =20 --=20 2.51.0 From nobody Mon Feb 9 01:00:21 2026 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (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 7C4D6308F34 for ; Mon, 13 Oct 2025 13:42:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362929; cv=none; b=c9FbSbPQtLEp6QXDEbPHwMX4hyQ+1ATSex1BvSgcWbJDlygq1P1KlWaQnuTrrnVnzuNZJ8z3xoc5ds6qs9Fi6cRV+mgf1A1gJTNpUYhvaxfpPBU8GFDPMYCh8lYSY0TN9EymF8ynr+G6iVSWyXBWSy6C+GVl0L8hiiGTnt3hXh8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362929; c=relaxed/simple; bh=UvckdDHCIlUvhCo514yvPszt5ku8/k2a2D+TilE2a7o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kPUeAcIVXx2cy1M0JFeQ2LN9mcuqkNtsmxdUH6S7G5s5ZB3u9VmO3azgWAaOzz+XAzf+1PGj1mPiWwUVpuXPMXxmbQHnwUiFhTLmN0IEDcRE01rmUZRBaAwapcT18XRKdK05O/Qu1iBIrNZ2zHbt512eSMft9uAkgDww2MXvYQg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=nhCwPbsL; arc=none smtp.client-ip=209.85.208.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="nhCwPbsL" Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-637e74e9104so5586472a12.1 for ; Mon, 13 Oct 2025 06:42:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760362926; x=1760967726; 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=P2JNmAsQMXwBrZ+HkGZs8U98lPNd8boTV07cCQ2PUdg=; b=nhCwPbsLitAbEXY6TiXzvWQ8xk6RB5Za/x2jo5LhlbxSmFP3c97c/yNS7cv/UPXo4O wobHF6VMV3enjPvRyYrXpH+du1Evy+xnLSDrrP8m49p7mtTgF/3ZvxrEEd444Qsu0ZRq hU0YbCzxmaqdK2Alvh2KbZjXsLFgJHi+Qf5ndObREfvHc1ZZn0H34gURv7ulNuDSqZi3 eJMp8HIe14Ozy8BZWUPtY2+K5+ut77hVPHWHCx7ixPZPhPir4/P1TK5/Dh0Snn8D5TaY 44nvH0jXv6EyP0qW7+EvmQkVAvgt7WPKOPP74emib8L8hvTdL9XQON0FAiB8zqMkJCOP TmbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760362926; x=1760967726; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=P2JNmAsQMXwBrZ+HkGZs8U98lPNd8boTV07cCQ2PUdg=; b=BiR1H2mCKbEhV75dbuqwO8gYyPsbaaDWH2eH+A+JR8sgA3tABhaBIHeRSPT56lwIhx jmQWUpeF6y9BA2ztFcmNYZo2wIYAaCCXfqvq1myJ7Av/D+oxyx0Q+GxiPiFoJDFoJ9DT F7hBwA+2LFmcbMGF2WwZgCezLcnG/wCBp0+ybZ3cyMVCWg6d5jRpenE7F9bMSjO5gKde QeDc7d1xxIYB6Og1uk4/wsVdKQAwH9+QUB7R4R9UKHZt8+UlW/Mv5wmnpdHjxTYma/i3 LNZq4a18MmuzPxhf3A0UGFNtnijuf5+6rReHTEFWsMKBAT3mIEsRFQWP0O8IiTTBtvQQ 1qUw== X-Forwarded-Encrypted: i=1; AJvYcCXV3mN6mAInb1Oo2c1UISr4fGZxuxDNqvv5VL8YN4gdejLGUzAlQwlTzG4ieLArJFhwA7XJLlxFe3LvoL4=@vger.kernel.org X-Gm-Message-State: AOJu0YxTRutKllF4Hr85yd1u19pPppxW04qdzE1JGQkkBnqO7G6MtpPs xUsnd7x2Tog/tc5Nfkh8oMN484sEGSJD2zx+n4icGM1gO/NXufW84AVoaVfK47TT X-Gm-Gg: ASbGncuo5DjVjvIzwVHaOwAhvoJpey24HwgiXG8ood9X6mYi35+NKrNfUfq+9K85tKb HuONKaK5AhmB5qz/HFYVSj/KiQvqRwiVMIGXR1IykD/hiYWPdgjUPPkHhdfzetB/W+2JLQI5Q92 94u/mnPY5A1S5BZlzfBdP/ifVsYPrviDNzJnmzGXhYkogT+W1e88kqq9yb0jKf1VmCJhnk7orRs Y9dK42ALhUtUFny6qa7px5wgbrXEqItOsM0e/my48MaICuImJ/VGIj3EDeEIo/zHwoDjVN8fMyf BB8mhDwP9H4mUVkekOoJNneUOof3xBQu2ejG9z1IZv2U/ubCJi/XTWz/T1xmfrauWtzS5ka8L7A vBdkBkw+fNUg4U7uTjPhyvh/RdmD1YuUMWLWevfnOrco3lMq6fM0D1Vr0VeyFybI9zlXq9M0puQ UwSoHkr4Bv90dg X-Google-Smtp-Source: AGHT+IEr7XS2hclycN+mnSi01hMV+OGRLrukOUNurb7//LhjBIgEma/XQrndjKGOVHUypiZxAKTeKA== X-Received: by 2002:a05:6402:4402:b0:63a:4f2:95fd with SMTP id 4fb4d7f45d1cf-63a04f2a1demr14173897a12.10.1760362925582; Mon, 13 Oct 2025 06:42:05 -0700 (PDT) Received: from tablet.my.domain (83.21.75.22.ipv4.supernova.orange.pl. [83.21.75.22]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63a5c32249esm8729019a12.41.2025.10.13.06.42.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 06:42:05 -0700 (PDT) From: Artur Weber Date: Mon, 13 Oct 2025 15:41:53 +0200 Subject: [PATCH v7 6/7] clk: bcm21664: Add corresponding bus clocks for peripheral clocks 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: <20251013-kona-bus-clock-v7-6-8f473d99ae19@gmail.com> References: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> In-Reply-To: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> To: Michael Turquette , Stephen Boyd , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Alex Elder , Stanislav Jakubek , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux-arm-kernel@lists.infradead.org, phone-devel@vger.kernel.org, Artur Weber X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=5074; i=aweber.kernel@gmail.com; h=from:subject:message-id; bh=UvckdDHCIlUvhCo514yvPszt5ku8/k2a2D+TilE2a7o=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBo7QGgr5uUByjojIQJxP+Z4YZm92iUq2cPgfNyg QKlWr3LN0eJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaO0BoAAKCRCzu/ihE6BR aEmBEACKgfsKSr42+oPEwgv1AHLiKQJuBWHTC+Kzq0rE8JTwfUjCQNLZoKIJ2/JdiaqV7/CKa7Q xESb+Ey2IHBUDjRv5yZY84EYfKi4JFQQPYKZL++VeEV0v+Tg1zka6Nz5TQlPKKv7NCxMRnqIZLl 3osc4ORjN/CLC71rfrxnYzSlBWGG1h3epBtn9Goiesrgdwif3D6Fk9XB8EIgr0/VgYdU9o4DnEp CES8FQtlvPV0YpPy58OK+ra9KClBkksk7WgOZFfUl7QrGSI/WLXDyTvLfuFBHF3dxZZee2AkNGg 59J2xaBms/g4iC+Jh9RIW+E0aUvyKCA230AlnYRXP1nppVJADhDtvfO18yyA4UxJHHD+LdQukdT naj617ObLIPKVWfRyA2SSCnhW2sUEA7Bq5WXnRzxOv3n16g0Wvls3kAhn1vKJnbUxpjTRqZ0EOg wPDxwb9Bdd4JT7ZHhzQ+aoxb8aO31tccbBtPO90f7J8CFpGRN0Ka2IrxE5+QgUEAWjPLjVIwCPl /uxo6tVmO7jGszkzn6mc3NXTLCIf+7QDT8SYPtRExYQjn0/Wl0RNUiAV2B3kdHXqWWGTF5JChrE bhd8AZf6o1iQ7LP4B6q4JA0WLIM3M/we11AlUJwrYYxl2UniQpWe3Und8/Y+RugOLIKJcAsvJjm CDAgLWNlXNS8FDA== X-Developer-Key: i=aweber.kernel@gmail.com; a=openpgp; fpr=E663000EAC1DECCD6AD2890DB3BBF8A113A05168 Now that bus clock support has been implemented into the Broadcom Kona clock driver, add bus clocks corresponding to HUB_TIMER, SDIO, UART and BSC, as well as the USB OTG bus clock. Reviewed-by: Florian Fainelli Signed-off-by: Artur Weber --- Changes in v4: - Adapt to CLOCK_COUNT -> CLK_COUNT rename - Change commit summary to match equivalent BCM281xx commit Changes in v3: - Adapt to CLOCK_COUNT defines being moved Changes in v2: - Adapt to dropped prereq clocks --- drivers/clk/bcm/clk-bcm21664.c | 89 ++++++++++++++++++++++++++++++++++++++= ++-- 1 file changed, 86 insertions(+), 3 deletions(-) diff --git a/drivers/clk/bcm/clk-bcm21664.c b/drivers/clk/bcm/clk-bcm21664.c index 14b7db824704..4223ac1c35a2 100644 --- a/drivers/clk/bcm/clk-bcm21664.c +++ b/drivers/clk/bcm/clk-bcm21664.c @@ -41,7 +41,12 @@ static struct peri_clk_data hub_timer_data =3D { .trig =3D TRIGGER(0x0a40, 4), }; =20 -#define BCM21664_AON_CCU_CLK_COUNT (BCM21664_AON_CCU_HUB_TIMER + 1) +static struct bus_clk_data hub_timer_apb_data =3D { + .gate =3D HW_SW_GATE(0x0414, 18, 3, 2), + .hyst =3D HYST(0x0414, 10, 11), +}; + +#define BCM21664_AON_CCU_CLK_COUNT (BCM21664_AON_CCU_HUB_TIMER_APB + 1) =20 static struct ccu_data aon_ccu_data =3D { BCM21664_CCU_COMMON(aon, AON), @@ -52,6 +57,8 @@ static struct ccu_data aon_ccu_data =3D { .kona_clks =3D { [BCM21664_AON_CCU_HUB_TIMER] =3D KONA_CLK(aon, hub_timer, peri), + [BCM21664_AON_CCU_HUB_TIMER_APB] =3D + KONA_CLK(aon, hub_timer_apb, bus), [BCM21664_AON_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -126,7 +133,27 @@ static struct peri_clk_data sdio4_sleep_data =3D { .gate =3D HW_SW_GATE(0x0360, 18, 2, 3), }; =20 -#define BCM21664_MASTER_CCU_CLK_COUNT (BCM21664_MASTER_CCU_SDIO4_SLEEP + 1) +static struct bus_clk_data sdio1_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0358, 16, 0, 1), +}; + +static struct bus_clk_data sdio2_ahb_data =3D { + .gate =3D HW_SW_GATE(0x035c, 16, 0, 1), +}; + +static struct bus_clk_data sdio3_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0364, 16, 0, 1), +}; + +static struct bus_clk_data sdio4_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0360, 16, 0, 1), +}; + +static struct bus_clk_data usb_otg_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0348, 16, 0, 1), +}; + +#define BCM21664_MASTER_CCU_CLK_COUNT (BCM21664_MASTER_CCU_USB_OTG_AHB + 1) =20 static struct ccu_data master_ccu_data =3D { BCM21664_CCU_COMMON(master, MASTER), @@ -151,6 +178,16 @@ static struct ccu_data master_ccu_data =3D { KONA_CLK(master, sdio3_sleep, peri), [BCM21664_MASTER_CCU_SDIO4_SLEEP] =3D KONA_CLK(master, sdio4_sleep, peri), + [BCM21664_MASTER_CCU_SDIO1_AHB] =3D + KONA_CLK(master, sdio1_ahb, bus), + [BCM21664_MASTER_CCU_SDIO2_AHB] =3D + KONA_CLK(master, sdio2_ahb, bus), + [BCM21664_MASTER_CCU_SDIO3_AHB] =3D + KONA_CLK(master, sdio3_ahb, bus), + [BCM21664_MASTER_CCU_SDIO4_AHB] =3D + KONA_CLK(master, sdio4_ahb, bus), + [BCM21664_MASTER_CCU_USB_OTG_AHB] =3D + KONA_CLK(master, usb_otg_ahb, bus), [BCM21664_MASTER_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -231,7 +268,39 @@ static struct peri_clk_data bsc4_data =3D { .trig =3D TRIGGER(0x0afc, 19), }; =20 -#define BCM21664_SLAVE_CCU_CLK_COUNT (BCM21664_SLAVE_CCU_BSC4 + 1) +static struct bus_clk_data uartb_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0400, 16, 0, 1), +}; + +static struct bus_clk_data uartb2_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0404, 16, 0, 1), +}; + +static struct bus_clk_data uartb3_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0408, 16, 0, 1), +}; + +static struct bus_clk_data bsc1_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0458, 16, 0, 1), + .hyst =3D HYST(0x0458, 8, 9), +}; + +static struct bus_clk_data bsc2_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x045c, 16, 0, 1), + .hyst =3D HYST(0x045c, 8, 9), +}; + +static struct bus_clk_data bsc3_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0470, 16, 0, 1), + .hyst =3D HYST(0x0470, 8, 9), +}; + +static struct bus_clk_data bsc4_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0474, 16, 0, 1), + .hyst =3D HYST(0x0474, 8, 9), +}; + +#define BCM21664_SLAVE_CCU_CLK_COUNT (BCM21664_SLAVE_CCU_BSC4_APB + 1) =20 static struct ccu_data slave_ccu_data =3D { BCM21664_CCU_COMMON(slave, SLAVE), @@ -254,6 +323,20 @@ static struct ccu_data slave_ccu_data =3D { KONA_CLK(slave, bsc3, peri), [BCM21664_SLAVE_CCU_BSC4] =3D KONA_CLK(slave, bsc4, peri), + [BCM21664_SLAVE_CCU_UARTB_APB] =3D + KONA_CLK(slave, uartb_apb, bus), + [BCM21664_SLAVE_CCU_UARTB2_APB] =3D + KONA_CLK(slave, uartb2_apb, bus), + [BCM21664_SLAVE_CCU_UARTB3_APB] =3D + KONA_CLK(slave, uartb3_apb, bus), + [BCM21664_SLAVE_CCU_BSC1_APB] =3D + KONA_CLK(slave, bsc1_apb, bus), + [BCM21664_SLAVE_CCU_BSC2_APB] =3D + KONA_CLK(slave, bsc2_apb, bus), + [BCM21664_SLAVE_CCU_BSC3_APB] =3D + KONA_CLK(slave, bsc3_apb, bus), + [BCM21664_SLAVE_CCU_BSC4_APB] =3D + KONA_CLK(slave, bsc4_apb, bus), [BCM21664_SLAVE_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; --=20 2.51.0 From nobody Mon Feb 9 01:00:21 2026 Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (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 E79903090C4 for ; Mon, 13 Oct 2025 13:42:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362931; cv=none; b=jyuQ5aAeqVC2tl/6YtNuvoOL5E3Xf4RqzAAO7bAlJKevvMTxnKQgqDzXtsEv7VOmfIx1mUwQnsEQFtMSITRad8ums3LOjfQ+MvQLY3Iqi/ybIIdH08TDJpBf93z/W8TGlDgO3jfLlF/P3NLZWOcrHxWc+G67SCM8RMiftGwQL0I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1760362931; c=relaxed/simple; bh=BKr8nVscrBQotunl8u3eUCru7U4bR7e46blB/UH7zYk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Sji+Rrj387YMFO7N/uuGb771dCuzVLnNLYGCACvye0e8ZiXC/416nAE0KdJrlG4eAQtVKGdBea25Ej3W24Ew+cXdbt3/aKrbogguMRQT9zMUDyptygXHZVMi4tx428GDeNd5JRkY13Y6HM1SxPfsBG/gqDMpKO9qKZfHcACRuro= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RFHvPTOF; arc=none smtp.client-ip=209.85.208.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RFHvPTOF" Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-6399706fd3cso6225830a12.2 for ; Mon, 13 Oct 2025 06:42:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760362927; x=1760967727; 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=rrxn5V2ZLraaXqN1UhOIzjX1yimKmGYY2iP8b/c23xI=; b=RFHvPTOFEazrnVZ+d+wAmKPdyUftHbrsiQOggoftM7nAcEICLrkkcMd4yxSQ5Fcy+K ZxNIr5QtYgr7Ve9mNYaEVqKqGuOFm2KSJmdUzrekrU6Tb4sLBSzMClH1mIhey3/3cgWR DKDrAzhb4qziZXj5XeokfIpxrwiIau/B4etYK321aFyPC0gUef2yh/zfxEh9X0UlNmhH woGDOa39vTUACPGFDyLFosYEM/pRnukFYWaTlisr3AdVGrDkgT8VlzRypgEJw8ru41a+ LhzWXt+QPWG9lMgtXfNorqWlTbXF9GjkP/ZvgzM2UO7JPffi+6/4KkMDQp5pqzteOzg+ zkYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760362927; x=1760967727; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=rrxn5V2ZLraaXqN1UhOIzjX1yimKmGYY2iP8b/c23xI=; b=gnzh2fMzhxb6qyhs8lh5qA2ajU+MVt5XQKG40qBHN7FteYSzt99P8VoZ2sPg4pgm29 78TJHVNSa9HCIl5jM7Neqfg2wi7UqWsSNA8Di4SviSOPuHs3wamSe1MqNikBu7hX0YHt +3qm3CkbSCXg5gzipaOVxIfiNaoJvHR95GB57oCCM/pCrtlRCPIRbGFRt1MY3huQZpx1 VLAlbIs2GlIX0l93w0rS4lKX8TpUJ4M41AnWarJmNsf6uiasHMonhCMlE/ggLLxw+LHg 8vbh7Qc7HK/rapLAx/E7ncOxOiAjy/n9Wbjtk18nsV6Vcci9YN9IqQtMiizVgum4rVfs JBZg== X-Forwarded-Encrypted: i=1; AJvYcCWUD/fWWshg6mP0uNrubOvevdxZl3ImpzYjq+6Xh+wZzEkmExLrB2ui0q7KlQLcvejJwCuoXtpfgdPIj+g=@vger.kernel.org X-Gm-Message-State: AOJu0YzTzHRYlXIRCn3bp2uxoEHeDbnXJX81PaV4q0IsYczCg3wYQCk8 Y3flV2/2P95viuc5zYOwXcC7wVUrontGEaDxkkM5cdErksgxpn/BAT50/FljTr/X X-Gm-Gg: ASbGncvC1OhzEUmPuhQ8LoQY0FiLpjzrkx2VVsNBTLVfUfnkR5pttorj+Wf4Q6Eo01A k6cb8CuwwDvmV1Dltjtm/tomSQ1wtTwVyrVs8znuODyF2ZY4qFM8VbIwFq2bWH6sxV+faRKv4A2 PZKw11FQgyMDlqTzjiNkODy4nY0z4autpwJTYKNFEtxT044k9TJJaAhxigbnNmRMCTXU2lDWE7f x+N1q9jXaK462LoNQc5iW1EMMG/fEJawb9ddVLOk+aVHvBR9aQLgZg+6Eo2/Ri/ImRFlrVotbBn /kkrDwIzSwS5ls7GYvvXLQbouuVXvl/l/UOXi6lLFbWB1q/9aIhPd0bPoQeym0XmVMUX0Xx5EQK PFWdoi+Lg/H85QW3qm4NdxsBc4QAwUFUfJ1i1RGpTO8x7fbvMMpbaCNAqMMVdBSozbbVjkz2z5w DwVziQC7q0LhvU X-Google-Smtp-Source: AGHT+IHW8B7vpbCVSo6VA1fn0F5FpN2EF++GQ7/3RSyeUuDyDe6Te8GkuSpOBf62mr76lPkgAINLng== X-Received: by 2002:a05:6402:40d1:b0:639:ef26:a01d with SMTP id 4fb4d7f45d1cf-639ef26a47emr15112262a12.11.1760362927050; Mon, 13 Oct 2025 06:42:07 -0700 (PDT) Received: from tablet.my.domain (83.21.75.22.ipv4.supernova.orange.pl. [83.21.75.22]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-63a5c32249esm8729019a12.41.2025.10.13.06.42.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Oct 2025 06:42:06 -0700 (PDT) From: Artur Weber Date: Mon, 13 Oct 2025 15:41:54 +0200 Subject: [PATCH v7 7/7] clk: bcm281xx: Add corresponding bus clocks for peripheral clocks 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: <20251013-kona-bus-clock-v7-7-8f473d99ae19@gmail.com> References: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> In-Reply-To: <20251013-kona-bus-clock-v7-0-8f473d99ae19@gmail.com> To: Michael Turquette , Stephen Boyd , Florian Fainelli , Ray Jui , Scott Branden , Broadcom internal kernel review list , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: Alex Elder , Stanislav Jakubek , linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, ~postmarketos/upstreaming@lists.sr.ht, linux-arm-kernel@lists.infradead.org, phone-devel@vger.kernel.org, Artur Weber X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=6005; i=aweber.kernel@gmail.com; h=from:subject:message-id; bh=BKr8nVscrBQotunl8u3eUCru7U4bR7e46blB/UH7zYk=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBo7QGg6q+Yc21Ig+afa32iNWFNzvHv7ZkWVlH2N 0Em92Ym7byJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaO0BoAAKCRCzu/ihE6BR aMTLEACdZNtR5aTmug+rai2D1xBgUuBhee96uc7gCs6JjvgMPMffeAChVUIytsllR71lj74m9mf g5X6AS9hbUWdkzNGZl8jslulemey9NH8A9W19Ld9XejQDTWGQtv9RTZ4mAHagi0m/pCoBf8b9H4 vfM+34HRFfV05296MrCfT1kFibzDvgCKHZzEgvvM/B0J+X6hDtwezVfRi9tlarMvORZEUhaY9xu dM+WKd1ZUpvyc+oaFMSpxtEfkmhCR3fk8P7EANYZ/D/HOf17SiSA3Cw386UdyFoiESu43w35qlo zGFooOq+OowrQDWkutSUHsQrMGes5RP5twZL+9EpOIBcsesKO7mtOMxwAcbE9f35Ey91Q/kwL2R WzwoecopMZZB2Hcim6Qw6zZNFUyB1Z+5likC1QeAON1Gd2uGbKo+n31B9sXk0Af3vuYErD6ZqZj fxUBic+06J2pgC4tWVDQ+hp9H/dOeGxAUnD/G6DlFiYHJjrCIKbynMWNsecBhKPg0oA5+XUh+aZ yY66HmUc7Tcma0giwX2YK6SpQ/sDjOaAZWjkTiVJqr2nChHDthpLFt9/b1FvoDVgCJ6LWOCzlCp pFrMW7Q6KqHQUq4M/QLCWwICtIy+qvpOE2q7WDv4NRyMsdQtt6ClLslQy7E1MLymsEztaHR3oNH Ks8sp5Chwqk+k3Q== X-Developer-Key: i=aweber.kernel@gmail.com; a=openpgp; fpr=E663000EAC1DECCD6AD2890DB3BBF8A113A05168 Add bus clocks corresponding to peripheral clocks currently supported by the BCM281xx clock driver. Reviewed-by: Florian Fainelli Signed-off-by: Artur Weber --- Changes in v4: - Adapt to CLOCK_COUNT -> CLK_COUNT rename Changes in v3: - Adapt to CLOCK_COUNT defines being moved Changes in v2: - Add this patch (BCM281xx bus clocks) --- drivers/clk/bcm/clk-bcm281xx.c | 127 +++++++++++++++++++++++++++++++++++++= +++- 1 file changed, 124 insertions(+), 3 deletions(-) diff --git a/drivers/clk/bcm/clk-bcm281xx.c b/drivers/clk/bcm/clk-bcm281xx.c index 62c3bf465625..13fd8a5ea8fa 100644 --- a/drivers/clk/bcm/clk-bcm281xx.c +++ b/drivers/clk/bcm/clk-bcm281xx.c @@ -59,7 +59,17 @@ static struct peri_clk_data pmu_bsc_var_data =3D { .trig =3D TRIGGER(0x0a40, 2), }; =20 -#define BCM281XX_AON_CCU_CLK_COUNT (BCM281XX_AON_CCU_PMU_BSC_VAR + 1) +static struct bus_clk_data hub_timer_apb_data =3D { + .gate =3D HW_SW_GATE(0x0414, 18, 3, 2), + .hyst =3D HYST(0x0414, 10, 11), +}; + +static struct bus_clk_data pmu_bsc_apb_data =3D { + .gate =3D HW_SW_GATE(0x0418, 18, 3, 2), + .hyst =3D HYST(0x0418, 10, 11), +}; + +#define BCM281XX_AON_CCU_CLK_COUNT (BCM281XX_AON_CCU_PMU_BSC_APB + 1) =20 static struct ccu_data aon_ccu_data =3D { BCM281XX_CCU_COMMON(aon, AON), @@ -70,6 +80,10 @@ static struct ccu_data aon_ccu_data =3D { KONA_CLK(aon, pmu_bsc, peri), [BCM281XX_AON_CCU_PMU_BSC_VAR] =3D KONA_CLK(aon, pmu_bsc_var, peri), + [BCM281XX_AON_CCU_HUB_TIMER_APB] =3D + KONA_CLK(aon, hub_timer_apb, bus), + [BCM281XX_AON_CCU_PMU_BSC_APB] =3D + KONA_CLK(aon, pmu_bsc_apb, bus), [BCM281XX_AON_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -178,7 +192,36 @@ static struct peri_clk_data hsic2_12m_data =3D { .trig =3D TRIGGER(0x0afc, 5), }; =20 -#define BCM281XX_MASTER_CCU_CLK_COUNT (BCM281XX_MASTER_CCU_HSIC2_12M + 1) +static struct bus_clk_data sdio1_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0358, 16, 1, 0), +}; + +static struct bus_clk_data sdio2_ahb_data =3D { + .gate =3D HW_SW_GATE(0x035c, 16, 1, 0), +}; + +static struct bus_clk_data sdio3_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0364, 16, 1, 0), +}; + +static struct bus_clk_data sdio4_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0360, 16, 1, 0), +}; + +static struct bus_clk_data usb_ic_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0354, 16, 1, 0), +}; + +/* also called usbh_ahb */ +static struct bus_clk_data hsic2_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0370, 16, 1, 0), +}; + +static struct bus_clk_data usb_otg_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0348, 16, 1, 0), +}; + +#define BCM281XX_MASTER_CCU_CLK_COUNT (BCM281XX_MASTER_CCU_USB_OTG_AHB + 1) =20 static struct ccu_data master_ccu_data =3D { BCM281XX_CCU_COMMON(master, MASTER), @@ -197,6 +240,20 @@ static struct ccu_data master_ccu_data =3D { KONA_CLK(master, hsic2_48m, peri), [BCM281XX_MASTER_CCU_HSIC2_12M] =3D KONA_CLK(master, hsic2_12m, peri), + [BCM281XX_MASTER_CCU_SDIO1_AHB] =3D + KONA_CLK(master, sdio1_ahb, bus), + [BCM281XX_MASTER_CCU_SDIO2_AHB] =3D + KONA_CLK(master, sdio2_ahb, bus), + [BCM281XX_MASTER_CCU_SDIO3_AHB] =3D + KONA_CLK(master, sdio3_ahb, bus), + [BCM281XX_MASTER_CCU_SDIO4_AHB] =3D + KONA_CLK(master, sdio4_ahb, bus), + [BCM281XX_MASTER_CCU_USB_IC_AHB] =3D + KONA_CLK(master, usb_ic_ahb, bus), + [BCM281XX_MASTER_CCU_HSIC2_AHB] =3D + KONA_CLK(master, hsic2_ahb, bus), + [BCM281XX_MASTER_CCU_USB_OTG_AHB] =3D + KONA_CLK(master, usb_otg_ahb, bus), [BCM281XX_MASTER_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -309,7 +366,51 @@ static struct peri_clk_data pwm_data =3D { .trig =3D TRIGGER(0x0afc, 15), }; =20 -#define BCM281XX_SLAVE_CCU_CLK_COUNT (BCM281XX_SLAVE_CCU_PWM + 1) +static struct bus_clk_data uartb_apb_data =3D { + .gate =3D HW_SW_GATE(0x0400, 16, 1, 0), +}; + +static struct bus_clk_data uartb2_apb_data =3D { + .gate =3D HW_SW_GATE(0x0404, 16, 1, 0), +}; + +static struct bus_clk_data uartb3_apb_data =3D { + .gate =3D HW_SW_GATE(0x0408, 16, 1, 0), +}; + +static struct bus_clk_data uartb4_apb_data =3D { + .gate =3D HW_SW_GATE(0x040c, 16, 1, 0), +}; + +static struct bus_clk_data ssp0_apb_data =3D { + .gate =3D HW_SW_GATE(0x0410, 16, 1, 0), +}; + +static struct bus_clk_data ssp2_apb_data =3D { + .gate =3D HW_SW_GATE(0x0418, 16, 1, 0), +}; + +static struct bus_clk_data bsc1_apb_data =3D { + .gate =3D HW_SW_GATE(0x0458, 16, 1, 0), + .hyst =3D HYST(0x0458, 8, 9), +}; + +static struct bus_clk_data bsc2_apb_data =3D { + .gate =3D HW_SW_GATE(0x045c, 16, 1, 0), + .hyst =3D HYST(0x045c, 8, 9), +}; + +static struct bus_clk_data bsc3_apb_data =3D { + .gate =3D HW_SW_GATE(0x0484, 16, 1, 0), + .hyst =3D HYST(0x0484, 8, 9), +}; + +static struct bus_clk_data pwm_apb_data =3D { + .gate =3D HW_SW_GATE(0x0468, 16, 1, 0), + .hyst =3D HYST(0x0468, 8, 9), +}; + +#define BCM281XX_SLAVE_CCU_CLK_COUNT (BCM281XX_SLAVE_CCU_PWM_APB + 1) =20 static struct ccu_data slave_ccu_data =3D { BCM281XX_CCU_COMMON(slave, SLAVE), @@ -334,6 +435,26 @@ static struct ccu_data slave_ccu_data =3D { KONA_CLK(slave, bsc3, peri), [BCM281XX_SLAVE_CCU_PWM] =3D KONA_CLK(slave, pwm, peri), + [BCM281XX_SLAVE_CCU_UARTB_APB] =3D + KONA_CLK(slave, uartb_apb, bus), + [BCM281XX_SLAVE_CCU_UARTB2_APB] =3D + KONA_CLK(slave, uartb2_apb, bus), + [BCM281XX_SLAVE_CCU_UARTB3_APB] =3D + KONA_CLK(slave, uartb3_apb, bus), + [BCM281XX_SLAVE_CCU_UARTB4_APB] =3D + KONA_CLK(slave, uartb4_apb, bus), + [BCM281XX_SLAVE_CCU_SSP0_APB] =3D + KONA_CLK(slave, ssp0_apb, bus), + [BCM281XX_SLAVE_CCU_SSP2_APB] =3D + KONA_CLK(slave, ssp2_apb, bus), + [BCM281XX_SLAVE_CCU_BSC1_APB] =3D + KONA_CLK(slave, bsc1_apb, bus), + [BCM281XX_SLAVE_CCU_BSC2_APB] =3D + KONA_CLK(slave, bsc2_apb, bus), + [BCM281XX_SLAVE_CCU_BSC3_APB] =3D + KONA_CLK(slave, bsc3_apb, bus), + [BCM281XX_SLAVE_CCU_PWM_APB] =3D + KONA_CLK(slave, pwm_apb, bus), [BCM281XX_SLAVE_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; --=20 2.51.0