From nobody Sat Feb 7 11:38:12 2026 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (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 614881DED63 for ; Sat, 24 Jan 2026 17:10:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274611; cv=none; b=BpTs+EMjGosrZwBHkIaOH3RpBjUG7jYEa0F33Xm/hVdm7joAO/J/KZqqVnOGSQ6m/sMoXjPDdlAq880clF4v7acsRMaf8C2kcP8DhRI9wrOMlZkDGQSnoOJ/5Xat5vy01l7DcXM/ctxtoaIv1kZ6zZRzeuTUoH8ccsWo/ejw8ns= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274611; c=relaxed/simple; bh=RnZnHJ18fDqVsEwNPaA2WiUlZTCGKnUZ6u053T8HQLI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QHZ8eLUYfyhLuM4e9xQo+p9UgHvoUTO1PM6p/aT4kq2x4eQvwhyM4qJMNA2tNsWOeSLTPvsheWccTtVQG24RhcnJdLTReUWvY6YSSGfuRBi0uTrCGN0rDGXcodD9dMMC+PSUOT8mPxPhow8DoPaEXKQkum2rPh861W6h854VhKg= 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=Cm1Aurr9; arc=none smtp.client-ip=209.85.218.45 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="Cm1Aurr9" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-b885e8c6700so317761166b.0 for ; Sat, 24 Jan 2026 09:10:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769274608; x=1769879408; 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=pCr4Z+KNekDJl9rNVi/bQ/zDL8gFwd9M77DGpXezgFo=; b=Cm1Aurr9Mryc3cO1NBVYrS6JYF9PIg52hHR+Ss/irc5ZO4qAYUfTr0MpuzBaWrC3SI KQv1dsWqEpVapwdilpyIOOqiigMj9pJYr2XWnXXdIYs2m8igP1ugs3ja0OvPmGMzHKCE obW8Rh8h/EiAA6UPH3OCCoBJDxakdlbujcPnfcqa3riiSQnvG0XP6a5SvFTMS0ldAbIo oFkPNGwJuZWhww8ZTgKqhE6lBrS6CaemmQddkwAmG7iheRNhGC1iNfkmqK/eGI4CT9td tAa2QUvmNz1qGLdi20WODUuSMMBfnygAkvnYUtbw9kexh8N3rYZJbTVcakuy7kRBDf1Y HKbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769274608; x=1769879408; 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=pCr4Z+KNekDJl9rNVi/bQ/zDL8gFwd9M77DGpXezgFo=; b=f5AuWmJOx8rRynh8DI77XAp24WE5h/82dlu0TvaDWaxsJLWHFlJvFyXy8jleVEHF3E xpTwrPDZQJ5wLl5awRMCD6EKrr6FZ2JbECh8aiaVhYpQElmmvQnZFpz7w8JiZc+tKN9Z TJoixo5xWti6UGyaLVftziZ2sxPwrS0863yPK0Otfz42BiX6sbU7iLOTC8fOTDiktIet MclrTlSv4ck9wLJyULvccC/vGxigGhFk7gTdrfmp1gkGiJ1IoR6gblDBfDJpSuOjQn7d WIGEB1nqDIrHqJQyOubwKqVqo7MpnpwTkCI609T7NLTKh2o68zpx3nnk0p6JHRzS0o3X vW8A== X-Forwarded-Encrypted: i=1; AJvYcCX7leQf4om7Lud5sr6HhywVz33TrQSWwCmCZa/EXqvJMxfZ8vRF5MMHs+kaMJWaNzuP5yCSlzxVQMw86Ms=@vger.kernel.org X-Gm-Message-State: AOJu0YxkOEBdgPfmXGoQ1dgW2bu8mx5salV5V1e/E/hDCrrcRQ0sBCNi TxB+h0el7rARQ+JZdCm0z7OlSsPWz2+hUl/+xFjh+xPoqPxiTOdyWpJL X-Gm-Gg: AZuq6aJgqaPspcZqTXocRg/W8KiWs3jJSklTHoR9FPtZbMeG10xWNlrb5vEb4mR0zDs UKg7xtJq9zZI77BvAeZ5vLQ49ESVmpDkP70MzVRaVTJTwqYqElANlA1mvUVw4QSFbQypE3IOAcU lNMBO0juiDM+9/djOXyi6zccB0JgNc0GBYvyWscgXnK+fonxPjCbbM52YnkAF7XsyqLKxskG1o8 1MzzI/qldiQYuXIaRQwqZJcZq8yeMz7YSGwhCLYEGRXVk1tOXyqvy61sW6PMrLkth/BY/akCQcW EaJIDq9LabV1KTeVCGgZa9P6HAatcatsUeDFIAo57SJRIMoOqxt8Uhgcr5ixTcaUvsv/rO/wIDB W+rDQ91u4u7BWwqLw9Bpq2qZJfZIucH1S0CJfKa2pOwa+pJAcVgZfIL/wdzmNjVAiFdAHab6m1c k3dNrsPQuHE7utqLgK+ZfBVrW9OKi98A3e7XESVHxOj3gY91xYGFNGm+uqpaHlt9qKZXdQFdQ0q h72vswfjkRxL55sOXqnbRwh3A9ui4QNNgY= X-Received: by 2002:a17:907:a0e:b0:b87:3174:9bdd with SMTP id a640c23a62f3a-b885acf8808mr447577066b.28.1769274607425; Sat, 24 Jan 2026 09:10:07 -0800 (PST) Received: from tablet.my.domain (2a01-114f-470e-6200-4c6a-9244-66ab-7c8e.ea.ipv6.supernova.orange.pl. [2a01:114f:470e:6200:4c6a:9244:66ab:7c8e]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b885b3dac6esm302680866b.7.2026.01.24.09.10.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jan 2026 09:10:07 -0800 (PST) From: Artur Weber Date: Sat, 24 Jan 2026 18:10:01 +0100 Subject: [PATCH RESEND 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: <20260124-kona-bus-clock-v7-1-9dffe1bdc08d@gmail.com> References: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@gmail.com> In-Reply-To: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@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=RnZnHJ18fDqVsEwNPaA2WiUlZTCGKnUZ6u053T8HQLI=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpdPzr1FfqMnbLwusKMWrFf9hyK50C1HihRKIDm VXJZSKRX1uJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaXT86wAKCRCzu/ihE6BR aCNPEACRa37WLyXaHqvqbwQAIll5LXDadSUTIlgrnwipH5Xj0Ogo5qg2N9Rf5PUrYR4xytOry/N /TLk65+/qtUelfI/7aX+v6uwPe+7lTGlu0FV0bIrtrsWU/sfpk6QwHY50jPtTZRVO9cUCHmqpnD BOyZCninlm4HT9+HvChhFY9FDkB0N1EmpYec/Fi+ai8hvzXK7nKt572n/OwfuPG9N5HMLkTNCEu 7h4MAID0AWjOIR7fJquhV63bwecRCrhih8a8qZ7YntgauIyTE9G0XzZRKCP5m5nt2bzAenlwsf8 mW4JTk20WIMQ7lFn3whGcGQw+Vcs8wkVBMicMKrulmJFWnQ8OdpJ8r+SwGSLZtXnJOKUIvx3rwm gE9owDqetotvhHVUl2dAWhSOu8vqAqcsJhAAZB/T+rRYaugEL2pnG243+Ru5Z1PwHJTWb2Ajnoc Brg/i9RpjEzRAkyIjOI4L5JZJtXagWxG4ToAkXf4DTKkBfufbVDM3+boBjjd0y7DK8fITxryTGd eMbVK4Wr3jDOcc8UGVOWd3GJtSFemT+pYu25uvnaNchAkU5iok0UA+ALYZiDSyfzdkxSHPlUWtH 0ai3PiIDLRRR/FGB2H8NcH3I+wQmeiozETzgSmTKkkdJnk656/AFALFy/I6oF4347t/rfLFdRFI 5xyO320dS4ZIauQ== 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.52.0 From nobody Sat Feb 7 11:38:12 2026 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.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 C44C8239E76 for ; Sat, 24 Jan 2026 17:10:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274613; cv=none; b=b/XNndh2mknSO376Ws3+6rQOVg1n9RN3lk99D+dalJqdGdqbJ3iH0Df2uZaxVzCc9C0m0BcJh7BFEZYAleT/oIVAsAT4ofVYl7FoggRajUH3eMM2RojavAHNg+zlqiOWvUaNM2V9Qd1v/cL/raKfCKY5FIVWRoT4XsXh4IMvV/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274613; c=relaxed/simple; bh=oiXhK2A6qAjCeSrQjh8L1wUGnhbIoDCcnIty1f+TnrI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Vz/PfrnmN+3aqFSpxnWa4V3IKgn10Ks1s25xw0y1xQXgbKaP2E9HzTxP2iLpr1XlgF4lktOo7k49Xtfff5HJP6MKZ0ihyTbqUcdsWLN0lESWTQORkcNoWqVzSLScQlanmzgQnOL44KJNhJTyXdyI4QO0y//fVC7FypozoxSy6Kg= 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=Zdem/cg/; arc=none smtp.client-ip=209.85.218.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="Zdem/cg/" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-b7cf4a975d2so464455666b.2 for ; Sat, 24 Jan 2026 09:10:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769274609; x=1769879409; 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=n4g1bUiTF8Zalft/CuDyD9r9NogcjeaI005neN/bl1w=; b=Zdem/cg//zU0udbZVMoQs6TQC73Edrgm4zyyNWjfns+5Zp2x++qC6+RPJ9NwJJlbMt gJfqtcwhSyxN0VQyHYu7ZSXV/SdhxNjCT5wDtLt2qQwK7rWa6RXb4zui6hsZcN3fXIIt LwecRBIYwIPWMZhHEf1d4LSSEgFqufNzMWBrjRu9TBRmtJdsq/Ezkc1PMG9fEQhipYKD Huc0fxTLQA/Upwvk/IG3D9mI0XJ5tqPTzlYZGV4hgFKa7nW7RPZGkYanSDD3Hfb97TZ+ cwaj+17BsWjX6lfuMw7aJKjgOmxknK96DuCpD4gBN1fTWX20AtsfOIOm/bbwrpM+Rlod NxnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769274609; x=1769879409; 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=n4g1bUiTF8Zalft/CuDyD9r9NogcjeaI005neN/bl1w=; b=aYsb1GvocCvFwYt20GDo+PStQ7JNrJAAiDIEgeOtI7lfQZopg+QevdcTnwIw8xeYp+ KZxZqG7xbdGxyK+D5Ryb/RclgxRLriwbsIhK/xK12APBjccT+vSrgXCToOXZ+yIbXWa1 0lqF6fQLykts+cRht45bDs6voSf47sz5BEa3OZhv9nfsLfral5W7s3k5u3H6X0FqoLJ+ it85dEbxS1Kc3fOEAhrAQxWncNFZNo8TpGfV1w/Iox7kVK8bW3xfC8oAiZzAbCcvR1Br hKkM/krVoD0X4KNxRhdga6YqOVH3jj6N2bY7eqxnbi9KW4n8d9OfavGk4IJlKw/voDBc 9vLg== X-Forwarded-Encrypted: i=1; AJvYcCWzF4SVgQQkkJJuFozyA6nfC3wb4j4QhKqny+UH+h2wyt96zHekwIFbytmKeTEalISBtk1Q7zG83A493CQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5+RNSv3VP5GDOmNmBwLiWOy85A1heTdLXAOGvfkZvtF5pmG1Y yhqplTXRSaKp/Xh7HW/0rmyfN7il6NGIIa2b5xxgqXAMOCN0jPZJ4S6liV+7Xw== X-Gm-Gg: AZuq6aIW1ME4Apc+3lumBsF1lloqmhQ+L1wqH5juzNxwG0DdFxEx8ORyYPlWT7JLa5C ST1AGmzOShhbE9vUszQXMuKvYwiX4ibgdOAyDuk1tUQRVUqV4RtzkqASF0xFTlzgUG/cT8ZN8zO zfLdAJEzPfkPxD0rAqm9DLi0YRjxQJnQuHDoTIRUmoGjztAJ6XlU3sAjLwT2QCnBTdKDnVZKrIc t2hc07rWvbSRpHtA5dLd5Ea1SAFP5YNXABOzGC4DFb8VBDHXnrCSxWj4xcC2HmHxkeEQG/zGfuq JooFlcY32td7xnXW0MXYTS7dNlaIarkXlGLtXB68sYW3Cyn4HRbuGfoy7GEn3MKwkwxS5Ns+wNi LvAZiBHEXxTbQwqUASew/eA1mp0guObYVs52Ve85eYIbb5Iw1i3sSrEow96Xcv+XnpR751TTH6P UezSRkLeIjm/xQG/eughBfdNM4yoRwrsQUkIPVQdDq8ZhrVRyrHRGfFgR/HDvPkhMbuA0vatZPF pb4inEfcvuw5qpDqROsKb5tvqzX0R7noCfPAiFE44AgCw== X-Received: by 2002:a17:907:d91:b0:b86:f0b4:4974 with SMTP id a640c23a62f3a-b885ace961cmr524530866b.26.1769274608550; Sat, 24 Jan 2026 09:10:08 -0800 (PST) Received: from tablet.my.domain (2a01-114f-470e-6200-4c6a-9244-66ab-7c8e.ea.ipv6.supernova.orange.pl. [2a01:114f:470e:6200:4c6a:9244:66ab:7c8e]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b885b3dac6esm302680866b.7.2026.01.24.09.10.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jan 2026 09:10:08 -0800 (PST) From: Artur Weber Date: Sat, 24 Jan 2026 18:10:02 +0100 Subject: [PATCH RESEND 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: <20260124-kona-bus-clock-v7-2-9dffe1bdc08d@gmail.com> References: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@gmail.com> In-Reply-To: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@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=oiXhK2A6qAjCeSrQjh8L1wUGnhbIoDCcnIty1f+TnrI=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpdPzr84AtMz8e9EIpfABMWvoSk4kv0vtrP8/IL hSvXEKVnzqJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaXT86wAKCRCzu/ihE6BR aMKEEACRNvmrJFuQDxrjGretSv/T2u+KJjPG6EBnz0sOxMNotQ2zoZFowKVbvvWbOzYW3ULYzjb 1rML6Y8keRWjGapqEu9z42FFjJTbjM3Iu5gvTYraySovyj8GHrc3mHYbpCe3YiNkJNYaBE2G4mG 9VHUniRuqF4lH7cTsh2BwzyOx9Or243smDt97LqbOA09fmGhDATS90TvVfQyLqd1nVhynho+URe D3kpMqEFVZWLNbZtTwRdJOEg7bTAGtM5YbY88EeNZHx5faZ9YEWrDGNlD+gMKbYvLnQmUcENox9 CYSqQKH0/Vg4pVEw3gL0YtsQaioTVg0bXaOQPBRjbArymJM63vMLs9+IWZVbixCqEWjCq5WuVYV FGyfJGWxzyBpA9PxWSfeqiv3IsKFSFOosQYoeuv/qXTI7Ctw+EdlbPIzgByH5TW2uJE3SXAHlE3 WisKISiz0BkCdmVvApNbKHvUrKapJE4b+A/yjVp6EMFvGroI+ZwEC4vpWWvkLsLNGTK/bxFrQt2 s0i3BmrQiKHqRIsjkiel6CSuw7FGOdt3WRw69kZg/3yiAklm7lO2Q2/mspsGo1WbdYp8d8EcyXf vO0SbxHYaOx5Ocylsd4WtxwRoh6Ps4Zq3YJQStn3VEEbnyTjes6nm5NJoljXJcu7wW4nXEhfyQD BVjWHyUOVW+jx8w== 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.52.0 From nobody Sat Feb 7 11:38:12 2026 Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) (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 3F3B3243376 for ; Sat, 24 Jan 2026 17:10:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274615; cv=none; b=aHQdLH8e0IjXPy7TeZta/lvUoU36jujIFF/AfPeSq2FhkvqNU1dZqIXP+vO/L++AYlnBUdmu5QCoI60QKi1DdGpzRLSRplnRSYTPhgO4an3rW2MfZ5zJGDKBhNNBZ0PqizP+4eyKgtsoakoi+ax1IctzU6YZOyQ0xTAAEcUUFfk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274615; c=relaxed/simple; bh=qjSSFniy6gHxiczWZ86GkcSZ4N43s+8TTkwA+IQI/po=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=X7+zI/pc/VjVNXq6kVSk/KVEOJUjv8oielmYEJpEcGKq1mVFIitPtcaMoGLCb1BTd6sQ8/IwgvzAoBBEtvs7q5pBCKbD9feH3hvfTap0yYm6w7xdGQtRM8EGt2GKoWfjHKVV/5r/1W5bwOj261iCoM4VBRI643XRgm9BHUVclFc= 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=hh2D/GGP; arc=none smtp.client-ip=209.85.218.48 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="hh2D/GGP" Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-b884d5c787bso534965066b.0 for ; Sat, 24 Jan 2026 09:10:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769274610; x=1769879410; 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=B9m83YjdBagzKbXhhE0ZEutN5a0l2RlG5RTfGwGwib8=; b=hh2D/GGPW8lN+spdV2kugAiP1lKFVsh7e7z8DUpaFz2NE1/mka5bIcGEg3odPj/RpE Kr2zyrHNQUZUtTH3DiYRincirxA2oHBtst8iaHQA4luYCFNQGlgW9fL6WqqQDIfkGAc4 ODj5dcIiJQZ0UTB/qWGcRxC0ald8gMftDghiJTd7yhabTsEPWA8iUx7DS4eDGjB+rYuo uDODUnTF8uS+aVCNHDujUkw6FxC32qqd58mQg+43ddttVeXblF0VsrNb8iIRsJrNWgTH ihhQPxy6zG/wuyjVhKnNRCi6PkhbnTYYhqqj5dkbktM/hkBhoTc/huzCNEHLBRrEMZio Tbvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769274610; x=1769879410; 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=B9m83YjdBagzKbXhhE0ZEutN5a0l2RlG5RTfGwGwib8=; b=VGuz6/ROG8SBBqQ6iQOgrICt360t7fqgabMMTPlEg9F3LCTevjUxEki22I7da67Lbt KGeGV1gNh0aVq6wYKxS69O0CmTBxihW49jpGhOm5DiyKi3yoHEJxg/fjxWtKWY9rOuHA cH+YGqOVSucr7ik3TunIDrBFd2RMlGiC+ydSGldk4ACtyFcB7CFptwN6rJmPCPlBC03E hQnd0RStBChhyox2r/Nf+a5kc3+gZnt3wCwFF6H4IMqcZMsZF+IjoanfqhhsQwyGAld3 JGjZqxVYKNyFpQ8R8fR2PV2r0tJHymcxKTyyIj+QPAfIjo0As81k5TNrBFo+w3wlfXBG 9OBw== X-Forwarded-Encrypted: i=1; AJvYcCVGy9X5paVaBzqHJMnhBX9CutgqpYOmIuonVJohdDOhKPWwmIa1Nm3Jn+EeVpcPbB4EWUAzSqUy616mpsQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+i0gv+HhA6Wxx1iKp//eIOT4Svd70skfkqj8S8jsmRs19hQap uHXDPYTePpYS7nOy0zknTDbIaOM7jzrntpwtLf/T6HfJAl+qQhBAS6XPP4PtzQ== X-Gm-Gg: AZuq6aIRtHlyeMIqaci5CnMB/jxK0vB/EGlbuZYABtgqkXUOXjBAlKGLinjl6f2oCuO tg2I7y+y4jXbmCUM+FSDArGA1O71njAjSG6djJ44Z7pn3tSrycnnPmEVGQnA+YXBPqZ10gTCmvW 2wIrilwN/x+MDx27xRH4TNsbuEefZwcHxosCfovJEU6XvP+bqDt9bc3OexjIZKEoe196nMBEgdo AdlMHJizgCtalqWd/HOCqcEMRTwtWhAQ4ZE08GqbsFEOxL5cXToeWsExdVnEdF8PgG2fZXVf1CG pLPT/hqvWBvmlF+PTe/Pb+wg5MDRKdII3VIoxEznUGp2viLtJtFBGhYRsn0JkeykU+YLSqeGFrk Lec6MTSyy8CAlKzfjFiAw6tPSMlINXwcTLqfYlmmz3+c5exYC6GnWs1ijy2uXYAEmvo+eCIEjjM 9VqPnX2Pq8b7FnUxTtmEwArq7qsiH3CZVSFY9qAh3ljtWKOMMmK9+2T1KecMfdMm6hp2zXVJUqP wiEcwmCOoSP+U2ZASkx59HTlr/hIZ7I+yQ= X-Received: by 2002:a17:907:728c:b0:b87:2780:1b35 with SMTP id a640c23a62f3a-b885ad6361dmr449556366b.45.1769274609783; Sat, 24 Jan 2026 09:10:09 -0800 (PST) Received: from tablet.my.domain (2a01-114f-470e-6200-4c6a-9244-66ab-7c8e.ea.ipv6.supernova.orange.pl. [2a01:114f:470e:6200:4c6a:9244:66ab:7c8e]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b885b3dac6esm302680866b.7.2026.01.24.09.10.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jan 2026 09:10:09 -0800 (PST) From: Artur Weber Date: Sat, 24 Jan 2026 18:10:03 +0100 Subject: [PATCH RESEND 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: <20260124-kona-bus-clock-v7-3-9dffe1bdc08d@gmail.com> References: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@gmail.com> In-Reply-To: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@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=qjSSFniy6gHxiczWZ86GkcSZ4N43s+8TTkwA+IQI/po=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpdPzrwRF2axcnuBNrKTv7003HvkP2RiVF2Vs+Z aOx6rNOEYiJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaXT86wAKCRCzu/ihE6BR aIzWEACN5V52VeXDhCJFp8o7OG76KajvAkCLxFvzcV12tnDs9VXXJ3UBEdo4YR9s3uVxQ11L96y m0ESkEcifx+xFVABGmClH5h4XNVZBGNoo6906gbAEI0m3SbXn8ggFh4j6qBKmq3ZpdppnhmVATg lqlYaEYZf6/fbxao2dduq13rDZLStVFp1+Z8RSzA0bTK46b6Lj10Y8LsTW8biKDv0HXJpsv0CEa AVB+YVqHhGIBF40f0z4sXT24k/HT9dP7CEqDor8Ue5X6gmIafT8MddKcSxizpaxQGCIbdW73sN1 mnd+9g7cLbb9EeY96P+JShS8kuV/lKdv95V13xzNyxND8B+069JVcsUxl6EKda01v2zrUMqdjJG 9uW/XOWJQ2Y66gOtv7MUwYWc8khWj8nVyHgXlFOA+bTiVGZecr+l8JoR+y2nKdPs3Go+cGucEXA zKG7T18Y/CcuHHsziiWRyZcUgeqBTHyFGF9LU8OyXpF9+rjkvuJUc3DcedDoX+1PDGrvXq89dCt g5+dAjz2J60E9KaLOlVEkQfIPf94l7Y4fBb+SRTxpVT0nBJ52r0+ikU1JxioG3lqB/VzhJdZftd OkZlGPKmFDo1CujGAKcK2mH7LGgm+v8gGglqhIlbIoNAv12gQ5cxf4YkFogyMf7XMSj2Wl74gY3 FgoWruV1tPEDXfA== 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.52.0 From nobody Sat Feb 7 11:38:12 2026 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (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 AA632246798 for ; Sat, 24 Jan 2026 17:10:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274616; cv=none; b=BBAG42e7iefGo2JvIHiHDKvClU4JtNvfryf6fsYjKEkVZUSjyXjTnusbDSj99PMumf6SI9ed5DCKJKzSE1V+Ne1JP1+ujAZmlyj2T7iRgc+kL6Zjf5xgAt4gx0Klf18yrABe0xz6raV6knXgMPYoJw24W7zhI9+4ABLYisL6l+M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274616; c=relaxed/simple; bh=SMnT/0Trui6sxVUAxHuuQnI1eYrWJHdMPmTopIKWfio=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WvzShGg1wmgqduHXZ0uN+GuUwT6lRf8RzZPP0KXYj+zdNFVFSjBPtuUzVacuIYZSv9DTYqK4z/yZpqAiU4/ER6+RqWHPMKvkRz+/KDp2As9NoBUM3GTdKPakmxVj8zYipRrkCURUSUkiMw4g/ix85cDK6At0yiMt20hEJR9ZhSc= 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=gOXZ6c+V; arc=none smtp.client-ip=209.85.218.54 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="gOXZ6c+V" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-b8860d6251bso236878466b.3 for ; Sat, 24 Jan 2026 09:10:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769274611; x=1769879411; 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=yiTqFeAqAqNp207pw9vT4+RM4bBNWXoSddsLZdhjO4U=; b=gOXZ6c+Vldqqp30C9TUfAWxOIxkUx9Vt5GS1/4WiIqFsAcwQoDWPtJDEJrw1dyJl9S fTZOq2OhB2L6DTdstWkum0g5vH+3UAmTGsK9tj4kyRnUJweKV+SoS/RckuvudWvwRf7U KC4AYn3vR8U8vZwoAhCeLrNNMupnjRGqUs2rS96jTsFA7hs9cY+bn+qR/0jCe69pJ+iu Z07PyuS4aBYnWAvwJea2tfzopSQhdCM8gv9Nf6wxXcs9C6y15xeiz/5Jq1xIYXKEPKaX /Cnw+4OPnn5v9mKZUcm/gILE6u84kz5gbLZaQMCdKLqhr41MIHNsamlbCP8zwW73im4+ 4adA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769274611; x=1769879411; 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=yiTqFeAqAqNp207pw9vT4+RM4bBNWXoSddsLZdhjO4U=; b=TVtKHCt2hoEXGPes7Dv3Xupgz2MKAXWSn/xn6jLjnZE05lGyEcEGrIP7tF64LBJDgt KjQSinMmjhnnTVDiXxhoTrGYuE+/blOiHgKK9HxS4pKx7H2yvT51kKQ5Yq6krtIMaNv9 a4K/MMwiNUOcr+fin/EWf15ApXs11MEsVLW6rTE4E8+wtB6E6HXvDihz1DZW3R/+tDeN EyPI5GcKJ8MucG0VAtxrjelSl6T3mqG9C88ZcU0QF3vZTp1DDMYasNO6oUWJEiJ/A747 S6JyAaczaP2YZk9XtrXs0W8RcrtoTyCmkQ9ZoF2x+fNlvQOztPZ4jGD/9ma4HJ2hMTYR kXxA== X-Forwarded-Encrypted: i=1; AJvYcCVeb4WA8m1B8nm1wdDwuj31e2JN23xoTM0uALl7K3MqOuL3Q8RGjlgxV1GnpudJt6/wh14aFxbyvov2tZA=@vger.kernel.org X-Gm-Message-State: AOJu0YxtuQjzsQqmqZ88J/R7oiz6XTnVn2C484NzEkcE6a39vybxQxr1 6mYQI8j/DHHjwPuuGjDmGIY4IoxqvShLSsq8XWAdgQ5kkwkRncMARfZS X-Gm-Gg: AZuq6aJubEW0pqSHyGkipMzKFgYKII1+xda4CWbQ2NYWs+n09WSi3D4YZzi22G9bNF1 X6/1HYI2OIHtzt4KRH+vKhT61cDp+euopNoYtG7P8xjzudHbKLIevRO52Zv4bjcq2HRCvkiz9W1 lh0WMFEL9jRTsiSfleREm/nv+n/sviJI+CWP6SzKKPN2qhEuqTFktEiuD3JXlZzUBaN3+JbYYk0 XcEJqGyRHO6kr4yAOT6NkFGrNNqTRnisAWp1z4Z/zjwIB0aA/5GLRntvuTfGV54lhoy2leB/IJm PD86B3OKk/weR/I2aX5zBu1jFLaOfGAz67f7pfWEteP09kJJGIo9nQygzJaxy6witS2ZUB2jAjK qH1ZIrYglxfyHbskMMIem5MezN3SqKbHzZlJEYVZTmVeaB2l+QOVgAig2LQLsCSeXHVP0AR++ne BhEq9p0lLYUO/CdRLHbRBMl1Ai36D0mjJ7oqTYdaboIVUvCUcGoti3XQ4vqonWE0iKQACA82YiP dcQIrKN1lpfzXZoNOg2UWzC9gUo4vUyFFf+XXkgWmCU0A== X-Received: by 2002:a17:907:78b:b0:b8a:f946:f7cd with SMTP id a640c23a62f3a-b8af946f83dmr67418266b.21.1769274610852; Sat, 24 Jan 2026 09:10:10 -0800 (PST) Received: from tablet.my.domain (2a01-114f-470e-6200-4c6a-9244-66ab-7c8e.ea.ipv6.supernova.orange.pl. [2a01:114f:470e:6200:4c6a:9244:66ab:7c8e]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b885b3dac6esm302680866b.7.2026.01.24.09.10.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jan 2026 09:10:10 -0800 (PST) From: Artur Weber Date: Sat, 24 Jan 2026 18:10:04 +0100 Subject: [PATCH RESEND 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: <20260124-kona-bus-clock-v7-4-9dffe1bdc08d@gmail.com> References: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@gmail.com> In-Reply-To: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@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=SMnT/0Trui6sxVUAxHuuQnI1eYrWJHdMPmTopIKWfio=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpdPzr7W+Bmel3AdGuD8c1rB/86WRkosGRNF0g1 wis0tzGZnqJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaXT86wAKCRCzu/ihE6BR aMmDEACXdqhwpd6pbNP/tc4vXhkp0gSfJDWzbSi7DUfOhIqUD4sClltc2rBE5oiOJx/5F7dEJdj jGplyVchZi3T2ovS8l9bQGAjJZlb086lrc0OvRw580NKZrx3Ua58GXCN/i6LwaoYouZSH3oj+2l Xn039uwHTFOuOs9JfhshiVGlhSF78pCnQJt91RsTq/MhLhfyJ5G+jDFL64+RCYtz9012WIbGXYV rm4XKsqAw1vwHpZ2MAvWN9bUigcs7A74/Zsa2p9oCcveLhWgKWM3a0YgBdO5RigoRD1zgkFkhzw cvHQVo0hDI/eFH5VSIxmuEySJHv35ctcRkwHwwPwKqC/1hexPBsZekPG2hJ9WgGp0Q6P91GOIHn XF+MKyl9UkJgjg2l3DCxGUY1O0TBmX80wrSn6fPnX5kwu1Seso6wyxy+MFT/rf/Jv/4bDfDRnqc cSIiszRni0F/UnYw5RM9zasRkEwBm2FNvEDM2RSxLfHK3sS++ehn6+WXXb42pm1AlVhCNHuAmKj P9oXodRmRUobbx7tZ8VULwkI9rQnQSJEJxXAJ9A8GnBId5dU09UIXf5Bs/K+k17rKvvkj4o+d4x MuxhyqSLHGBpI3AXg9pMmMOdDQL32jBImO2q3qMmQA9Z/tzAiOwgZ5arX2kZWUi/P5lUORse0ug qlZO0h9ODCX3F8g== 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.52.0 From nobody Sat Feb 7 11:38:12 2026 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.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 8E3B023E25B for ; Sat, 24 Jan 2026 17:10:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274617; cv=none; b=O2xWA9iM9z8DpHC6Nz76QGb8LJb04F7TO55kAx1A/KmjvYEwzRxb+xDn10wGodEDfyi4nyP78D5dzDlnw+BcTSN3EWrh2eAjJXQ+0jF5hRxP9jGKTPg6FARWdeUijRJIJimJWTFy8rTt7vacHR8dmOGr4LUgPNY4FKJyVvMJqgI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274617; c=relaxed/simple; bh=E/+Vw9F7Uvr2yppAoFwMqE4mYWZlreB3QzMhNngRC0E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=l0JM7ggOUyVL25HRGYQ0XtRcS+PSC+g+Bsu78dJlExiSgBYOE24ldRI+UKnn+9TiPxWNVjz+K7QDwOS3SK0cewOcsh0zNax5yKTlyow7L5cO5RgRys/YvIsrRNiXZGurxRSqqyRpt9LmQVzJa8xgeuRFl08zK7MXk05h/lkwloo= 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=Sxsp/8wg; arc=none smtp.client-ip=209.85.218.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="Sxsp/8wg" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-b88593aa4dcso281082266b.3 for ; Sat, 24 Jan 2026 09:10:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769274612; x=1769879412; 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=qkAYbw1P//ms4g5sKeB++qe37tbbTNP4LnBeMSB+xS8=; b=Sxsp/8wgmDnszo64Ly+2S4A0wtr3EM4Lq6eIJzjB3U7nzAUgCRsqhlcV4FFquxJTUH QQ4wxcs6o/A+k5kaVVjMFIpf4CvogBpNNIBPpqxiWm1zoDNNrBP17tK/jA9kgm92eUFG NQ7bF78KKIOGIFo3PSQo6M6iMJJBry4zhIf8q34Dkol3twDIhKV65F8oxq79wlSxzxaM gRv4Mvi03cOQGLnddI9u8UuFbaYfdff2acT16n0E63ZAtSvHU74B9/Amh+oVXEjo1IDo cae5k2cAEKT+6sUOgwuamCFKTrly8SWwHhT5+WDvn0K1z09h8wmecXxDUGJGU01WdvSQ I2MA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769274612; x=1769879412; 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=qkAYbw1P//ms4g5sKeB++qe37tbbTNP4LnBeMSB+xS8=; b=aodVuuVCIqGRQrIFc1H3By9d9+yniPhue8shrDWOmUIt5WL5wT2lwBKVwjp//yyXmg LiWpy1P3Js62dE3DliSwal0qqqsCz1LAZha67mhI9iO8K2rC9g44cE5+KiV5+21M2l/V vC5/zMY/rXAIhtHUCOEjQy4+OaRiAssSYaYlcKB8D4uMj2p3uh/borlCZLL2kAsNrXhx 7JAEjlcJ91SqbnxfG+kAgrJnWDdnGMU59/yun9XPHXgISs4Tf4f14ikSSdHVA7/XWQ7X xsi7hNx2c9LWHBjGmvgHTXGfoKwF/GYG3zH+fTCYZ7hJpyzrjks1L0Bj/g1ypL9h/71/ yVRw== X-Forwarded-Encrypted: i=1; AJvYcCXSSUeBUFsyzEPP01FokZSQEraWrmGsUf7t/apba5f4cm6s1q05ReUoIfVBEtSKMmD++LA/CbjFL1GtBhk=@vger.kernel.org X-Gm-Message-State: AOJu0YwVuygfIWJnYFlvtmepMjHBNkjv7u65ywziDqnlwa+7lesKI5d0 Ps9Dusqyyf/ZPM2p/Fc+ieYLTJCNYXtr++W1Pt0qECNy3WCBndZrg7ZvltXxgg== X-Gm-Gg: AZuq6aLivvUkw8TaOlOymyKmErk/o9gt/ITqf8968SdGZX0hPmcz2M/4NurAwXld9hA 2k0wTk0qdCLcu9Grv4cwDzp3Py2gN5rXPJjm+O/+gDJVcf7JGiVKjGO3m8G9IqPY2+hByCZ9vP6 hGpFcr60LB7GC2CPBxqRPYfQ/2SxXZF3LalhzcUcuTNdBZJ5Q2469w9C4B3T+lufX8ZtCTMIBNM emmIDru+rjOiQ8hkqTR45EUeBuO4yGgIf6fyMtbhoLeP9JSBjaeA3cddyAY8B+ZnFzk9bfYdEhn NRejFleBBapzVRL4QihQmAyoPcQ6Mi2PZJqEzQj43LUCvdMs8MJW37AhpKv+cN6FwZbUgVeI3ph lduVagkc3bo+W01GCMw+398tQ+xil8pw7Ty8sReSmuExJusf5KNxQEXKUiwMmh42jpLgKBsbJSr p8UAeZS3+S4AT0HE+Wf8F8H6M7NRjYCjSpM1EFm0k1aitKM4LsCvNO8/rqYqS94UkEkteubfIkd Vz2ZnQHgFadzdeEqCkFVePyE7PhmvebceWdlleWtl/j7g== X-Received: by 2002:a17:906:209c:b0:b88:5bd7:63b3 with SMTP id a640c23a62f3a-b885bd77b43mr296217266b.19.1769274612000; Sat, 24 Jan 2026 09:10:12 -0800 (PST) Received: from tablet.my.domain (2a01-114f-470e-6200-4c6a-9244-66ab-7c8e.ea.ipv6.supernova.orange.pl. [2a01:114f:470e:6200:4c6a:9244:66ab:7c8e]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b885b3dac6esm302680866b.7.2026.01.24.09.10.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jan 2026 09:10:11 -0800 (PST) From: Artur Weber Date: Sat, 24 Jan 2026 18:10:05 +0100 Subject: [PATCH RESEND 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: <20260124-kona-bus-clock-v7-5-9dffe1bdc08d@gmail.com> References: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@gmail.com> In-Reply-To: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@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=E/+Vw9F7Uvr2yppAoFwMqE4mYWZlreB3QzMhNngRC0E=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpdPzriqsluyjagdys9/FEx2+XV/RmsOvTNJOBx a0M/1hJ4w+JAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaXT86wAKCRCzu/ihE6BR aAe9D/wPQ3RRLhfE0AMGkG/Q+xtBT0eNMV7a2s2/dGSFdp3AynYxOohBcvZayoIEKD2vLFDNDvk ts4epLTk6vkPJgWFvjmRrKR7CHqWkHdDkUT+O0gy70reKq9e/OXKo5Pfj3jvAwSHF8TgV93zoZh r6V811uzfwFmqGGiBSAxQtbp+d7/V6zjR51NYFx53bYFO8PIqD5ywywST6ag/S8xjfnhQcMDpkK evq5wXmWp1PG1tHkPvSl+brmv9kJzUNvZCiYycBOhP3umE5RiVfBhrjaN3G1721Ag74LDUuomFV f661qTHUhIfSc/2GlYms6stmV4waE+kgzdA/1aVhmDlgeL6PBeUfShm/SsdTY20QXfX2FLDNTTR F89JcoTEvS75HJeIcEOaDh18fjOsX0hJXTM862+Nu65XgkavAV6+88EmX91Oj7YBRun0bVIro35 59gKpExrjkhr9IVlrQLrHrMYJ3isS3VpcSkiQOo0CtudGuGvPH1aj7OWE6DeJWrtAE1NQ5/j+1i LuBpY6U0fXnl36t/wgl4hsW+ZReg7RsCM8uzzn81l80NAa9kIyba0kvOg7G6Y3Uiz0oPHF1SmQF mxYyvSlP+gk2eNmoD3jy+TLj3Z6Z+jlw26xfO3szI9baZJyduUTxGVZCDbvz0D6oeCPR212A/0+ wHyYtlZ1gabwg+A== 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.52.0 From nobody Sat Feb 7 11:38:12 2026 Received: from mail-ej1-f42.google.com (mail-ej1-f42.google.com [209.85.218.42]) (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 A2FE623EA88 for ; Sat, 24 Jan 2026 17:10:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274618; cv=none; b=SGVTuaIpWNM4/yzXigyyej1x9l3C7Xb2cKwazQRF+ABpfnTzSRXyt2ErbG+X0QrjBd0mJKoX246IjSk0KBG8Hp2gX2Su+lnRVORBAM5SYcSg/p0F4AgGRQL6J0qqgwNDXmHAI+Cxt7mUu83PNVVdomRE6ntv8o/yjTC8msektyo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274618; c=relaxed/simple; bh=q4XetRZpWDwA/NUIdchOcpPjBPnX8GimF9SrPpwDUXw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=m42HeCzKlNJvXuDH+fFsKtJl7XFk8rXcjo5fl8SzBtoSM0ajdToovDsNg9dSaVFEgo2JKF9jupZLY75QaI2OMwhmxaqMaiIaKK5NBkUUQNqTHpZhBMihO0lXJgA1xDGlAwZ68tE1M5nYfiHKf85cpGbg1FGS6FUg/+TOyTWHAag= 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=TSyyZKIM; arc=none smtp.client-ip=209.85.218.42 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="TSyyZKIM" Received: by mail-ej1-f42.google.com with SMTP id a640c23a62f3a-b8842e5a2a1so408778566b.2 for ; Sat, 24 Jan 2026 09:10:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769274613; x=1769879413; 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=PpcSO6uERmh9kHErfStBG+F1jw3KRf4ioMZexXinqck=; b=TSyyZKIMbBnrY4Tt/g8QeWFjn7Bbkzw/EPP74pWj8uOxbWKyq1vqe5bNTr+4orBKNF KNjTKnB9P+pBQ0szU4tLH+NEhcZMET5LSDJVq02+TFD9pWN/uwy/D/fftH7jw370tA3E ux6ZJUYlnKaEUw2zUmCcA6iicBrkaWDsQxDEElm9eTC9ASQGh6mJHsD9FseTiBwAJLWl OpdxW+ix4A/ObZdyvPFZinVsEmIQfwwW6ojb3gpLhAofSBYsrssD3s4NreKmnLjVqF/7 AIbw1bG30RqSjft87AiwGVEcD+o3PJRBA6bnthjBlCeXcmBk12BAu0I+m0Quxu4c8jNt Mznw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769274613; x=1769879413; 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=PpcSO6uERmh9kHErfStBG+F1jw3KRf4ioMZexXinqck=; b=O44nJy3abmh6wuTx80pOrdayltb2afhRqAeT0Q1AP/fI6YWRiDJ0ToCE+ywVuK16p5 1U+dp1ly8T4xZLwfKXQadXzynLdB8LVNFM84WrhLhcXQUj6j8mbx8T2FWAQH8mUkaOCK 3NjTyHsIF0ZhupMjQ52ZKjilnMUOkux43aD11lDjCrRtiDXn3ZZrw3kyyher0n8w4K4T /5qLT/jJgC08+4WaKjzTTZsSI9OAM8NJO6qkDGpRmJ/icI6FqaxPUAQaAF2FuPNsBpeV j3HD/m4ii3euz9uvadwbVzJj1MCg9RoK/EyyuGEfdt1AsN48hkAGKrbJvidGq/KH8GG9 X1PA== X-Forwarded-Encrypted: i=1; AJvYcCUQs1cmKoL1BWDCq3C4pd2uRaUcao2KFvHdAxyK8MEqxiWTxX58U4Lxn397oixjIi75l6VH8CpqoWdShAc=@vger.kernel.org X-Gm-Message-State: AOJu0Yy6+SGgTJ05cqzoHSgL/dddwNOYiduL2L2rQDw3IiH1dqGTjgcN X79zEWgglBMft1VD9B8rQF4tfPbVjAeaAMEGbieOQ/F/yj/bqbTfWdDC X-Gm-Gg: AZuq6aI9NpQpgo6+v7+3i53m5pHPekOa5RPXjDR4wKgmjQurF6jSQagiJZjkqSWjiEp CV9WHO+GkMUYyqi8zMY06/rctKv7HyujpM3r2zK5q/E2xJlr9wsTZOYyg6G9KhX3hxPelOtK13s ki/Zdw3Nd7qexzdHscAblJ4ZUdvCXWk0V2Mfgyd2yYK9WcGauaZ6/167OPTPnVdGkOQsbp+ZBM/ Be9ED47BAp3XQxnc63saF9l8JuWWzVZf+jpL8/Cj3TsfLD+tg0xniK2kBrloEeNdzRjAgOxrhas 99Lj1DqU6BgkE+mbDkmBKRVTnf010AyWbaCWVuOVi7fqkYRauSRHWfmx2uXrY88P+bxJb4HmEhw lEofOvq5083thya9/oyS2fRCxwfhyYZbzLc9jEFRblVFZJR3T8gvjrzBSxZyVSmr8DhuPRZuMtk jw5UaIo8Cx1rdI+ai39g51K3ohTidldyFVROlFot4tPdCGvvKwFb29gdKNhj3UoLjZQn5W87Ym3 OOhOSYSmp5u3GhA3tliihA+6Y2LWL9I4Lo= X-Received: by 2002:a17:907:3e26:b0:b86:ef1f:6d19 with SMTP id a640c23a62f3a-b885aea12camr504527666b.59.1769274613142; Sat, 24 Jan 2026 09:10:13 -0800 (PST) Received: from tablet.my.domain (2a01-114f-470e-6200-4c6a-9244-66ab-7c8e.ea.ipv6.supernova.orange.pl. [2a01:114f:470e:6200:4c6a:9244:66ab:7c8e]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b885b3dac6esm302680866b.7.2026.01.24.09.10.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jan 2026 09:10:12 -0800 (PST) From: Artur Weber Date: Sat, 24 Jan 2026 18:10:06 +0100 Subject: [PATCH RESEND 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: <20260124-kona-bus-clock-v7-6-9dffe1bdc08d@gmail.com> References: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@gmail.com> In-Reply-To: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@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=q4XetRZpWDwA/NUIdchOcpPjBPnX8GimF9SrPpwDUXw=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpdPzsTZipaB0JvAJssglW+uuqQn6TvPb4zKnfO +a711OvaL6JAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaXT87AAKCRCzu/ihE6BR aF0GD/9WCEdT2p7uT45LyY3Y2zUgExaXzKNjUZartepNsL20yv9zFA/B56kWfcIBrYdSQqYw2NB 4WaKyBreyOOC3soUHaZLNwiGUeOhPmlzfFLT7ZFdms+All15mVOoMi/r/tuAgoE1DBpLMnmQOqm 1jwal0aTMcq+ZpKCbyGKUQyN4fNqqiqDb11LsK8AjjudZnNNdAYdWSZkgv8Qn5YDHvoe0MXf8XO FiIoMy32WBYoKncfT6K4Cb8hLn7mWvCFgzgtRxKHT81PIqN/XfKRtnf3bjiAhaVyV/0px/KBweL N4QsXE0EtHGRc0dweT9EIIaRLxWW6+e+gN1mrlebgrdBVheHZwyO1bumxOSMM2EY0gSu6Puvk8B yLJMDMlzT6iPRTQ1hoFa7HIOBMMa7ttn/Zb4ePFHr3zppzO5hTtFvQ4hnd9eFgPxx+tICiNkKec im6SUUi5l8C160jg2LK42YwSD8ueYrPbvuq9YgPUApouo7cTKL1Q7i1Q6zK63hd4HomPyzV0FWy m1Y5/Ut17fcJDX6C96wb5659hjR4GXQY9w4+llHEUuouMa7DUBOCNZfHYLcaFJv4jxOMUnavKaS MTpwn8Sd/gQzvPYX6runjo1TTJYndkPigWaIQw6JBIVw9M0OB7pxUriutAr7rh1h7f2/BrKsxi3 lIXOodxiEcs+abA== 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.52.0 From nobody Sat Feb 7 11:38:12 2026 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (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 6F5332517A5 for ; Sat, 24 Jan 2026 17:10:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274618; cv=none; b=IO5p8/C8tkxRe4H0sIsngw+u4iFyh+1ThZqTfeGZQNEFsyYDOinryGZtGjInZqnL01tWBWOIK/tsLS/YXUclD+GnbsbKXUI7mv7BMxBUuSW086Jke9BA3b9LkCLF70U9SBur8hRUWw9rMonrcIGBGP1uWVdWElIeJiJItRAiEfw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769274618; c=relaxed/simple; bh=MhD+5si1P/CXfrsB0NWiwFA6wHzB9oyernIPrIXpq00=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ildQhePqtl4GwI3UCTTf3nvijY6jiQSgdBTaXiAoGpEPPCunYvJrSnpq6Rvq6CzEuNPeXxgldkq3EloCWvErG8E65ZnVVuyxiITCp3U7bTQViW1kqg3WTOA2fJfX4kgL3TRRFo99Vw1E6j1QWX7KigNNrm2RMYrxCPZFVHGZ+ms= 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=gPneBWEp; arc=none smtp.client-ip=209.85.218.54 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="gPneBWEp" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-b88593aa4dcso281085766b.3 for ; Sat, 24 Jan 2026 09:10:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769274615; x=1769879415; 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=FuGGQ/SEcIOglN3C1ur29tPR9UsO+YtNa/y88pcV+Ug=; b=gPneBWEphHGUaswfTFq0V2SqhOyvFMulYYC0XSzOoDNsne3WWnj68R449PoQX2YQuT qEdVW+aTryVWryM5QFA7kV8R7SWUAMiqsf5hyKHwfY9Ojug40w+2tFxolM1xpCnKVgVi tPj5nHao48Uk3y8CL3rzaegKUAAymt1/n+R5GmajAH/SgPrdPqCAOMEuuoUKtWhMgzXG NKub9/ZF2Jy1Cicp3WGwGyvXvJzYYWNyn5zSIwMkroY6qz9RL5IFzdRN1GIsU1+QnRF/ rZi3RPP2/JyXK2XQT8SVd1TWmYyFnT8qpASH4e7ozJM+9uh78zqMRqOqGFfnzLHFTMFr qbQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769274615; x=1769879415; 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=FuGGQ/SEcIOglN3C1ur29tPR9UsO+YtNa/y88pcV+Ug=; b=B79Xk/GEvt6O25qf9IoDx09WdiV+y27sE3l/xfjv4BKkl3Y3dVljoVLsL3dYtN6VpK HtMtT/K13d2+/43OwDo5gDxLgvwSrJN9ENSajudckkGWmruRKtNLqBXVFiu70J0LTM/B OrILFoMQQT9/hwEFF3izkTwNFsm47G8XBSJes7fPKD+haMBNDv6ZYP6BVNmTy6nCY6mv dWVQtVS0M5GJZVIaBL6JR1EJ8sPFceSVCTcIo1M6GTDwL2tW94DNRWib2zNA4OBQ4J3f db8K4IMXAhcRFcF+L3x5/aRwWY/EERnwOG3yPwvFnlOoJ2r2E3UBh8loOvSweeRaw914 U6Qg== X-Forwarded-Encrypted: i=1; AJvYcCVexsqYNhipTgywsUs3fwQOvd4b8JeLuHWMLJCh4J98I6cz3pW7dXxmryF5rh5hU1VJDfGUswGoo2yZnxY=@vger.kernel.org X-Gm-Message-State: AOJu0Yy9Drbjee2b+oxsYpPnQY7Lp2C9Qp6ElRWjPH9uv1VwrO6mM2lF Igk1W2oPHdou4ssAX4iWUTyuItWTS3Y8fS8Lp3a2+DpSLK9KHfnbsnEl X-Gm-Gg: AZuq6aIs+ngZoQwnpkz37RBd8xx3okt+4Uwwgv/7m1aRocKL82Z64FEoU7hoiQMxzXF lONdzE29psuSJUC3Aeyciu5Wo0eI5oi3fGTnWgoRjkUljAlVpQnFXa2dndlwmm8pm9H/W9tvXGs 3hTsDT+amG6QCqbZVhYBK2jgP4/WA8yDqcA0xUJE4nixpT/13P+rd1c68bMLCWbftgAZfGCjIP9 kKRraGpvumeVmVxOztWcm5soL6Hi68gU9kyZgux/yqyJ3jQXs0kRu3Wwkb3Tu/D6D7lUfpvde0J QGPgqF8N01oyvEb2r8KIzoGBrKsWwI/SEYTWDHu9dQUMjZvMET2l/RxLju8QNPai0U6FTcR+THG 00jcJgTt/uyMb1xX75VoCM7Rs4FTDrCe7pT2ajmRjiWdNR6r/zJger8B16rIUPAGQklKl3rhtee wjB1XT2SCBxZLcqeX0kW/mEE1lkF2TL7s03/tlz42WAuCs9pAoQpInx13OE3NeQMjc2cY8DLuLA 6ks8tD9k9jeiK+cd/fvDhWiXYsEDWNwTQQ20UwdkkAkbg== X-Received: by 2002:a17:907:7208:b0:b83:972c:77fe with SMTP id a640c23a62f3a-b885abf0014mr489898666b.2.1769274614504; Sat, 24 Jan 2026 09:10:14 -0800 (PST) Received: from tablet.my.domain (2a01-114f-470e-6200-4c6a-9244-66ab-7c8e.ea.ipv6.supernova.orange.pl. [2a01:114f:470e:6200:4c6a:9244:66ab:7c8e]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b885b3dac6esm302680866b.7.2026.01.24.09.10.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 24 Jan 2026 09:10:14 -0800 (PST) From: Artur Weber Date: Sat, 24 Jan 2026 18:10:07 +0100 Subject: [PATCH RESEND 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: <20260124-kona-bus-clock-v7-7-9dffe1bdc08d@gmail.com> References: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@gmail.com> In-Reply-To: <20260124-kona-bus-clock-v7-0-9dffe1bdc08d@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=MhD+5si1P/CXfrsB0NWiwFA6wHzB9oyernIPrIXpq00=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpdPzsb5s2kJBEIvd7K/fyhhGYwEf/4HXbWBQQH NP+aNdm9fKJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaXT87AAKCRCzu/ihE6BR aK15D/4qgPBR3x8sx196BYkt2yNN3QbXdsAXq1ijJeEyLVC6SciSw7JzfMEbPHL5IV26nSsZMZF LKpD1/Nohl/CbuP/KfeYDRqG3Oxa9ChFSUGeQw3XVmnzFx27GJIqIfr6AMBNQ7o8OVgrWjuv6mV x29YHf5E9iyct9xSh5dy07nc5TbXK89byQdC2J6lMyZuEaM7V48xW8PbhJc3LoFTpE/VvZbvkkR pVSfpXnFfT+HeXBOnEalT0xRMY9vkD5Sd5mF7Kxu8Y58voaQqD5PRbNuXfjT68OY6U0IvXhZ4xd e400sJUWZ5iM9DMvpqL73xpMTr0orAiO5+hiYKuacVn2UArK4ehOKIM7tupiy6xsj95qCYlohWD 0w+xp83+pHD/xrba0LUkJkhmuHivlfwcKvDOQyUDDzAULm4WqYH4JRmE+gSb4FH8ZKk87PqE8KP GtDNnr9hwT0Fgz+DPFzeXpl1lDBfWZkac6SpNxP/jQDbOS2bwXL+BTN2ws3XVcMS3JDUSkx9ZG4 Ai5gDTdF+yiiZ/6UIwFMa3pYg+FTcmnHBYqfKbhRs9i2YgEFPWBsVM0OC93GYtiw0T0sjD9A1BA 1Jy2OSsoNOTwHWXbD+FiW5WDaE8NbtjyjY3/JbRGW9FMu8FyzHQse+9YZdmqTGiMH7IHSYguzpe kBFeHLKXmntsYtA== 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.52.0