From nobody Sun Dec 14 13:53:32 2025 Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) (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 6DFA0334C23 for ; Tue, 4 Nov 2025 14:58:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268311; cv=none; b=dBFQeldYYMXNjOXUdEzJsK3qwSfDAe4FTIZUQ5QqLASMzGgks+RuyLL6h7nd4u9KSQDcVaFTklDhd++ONzUaorp5lBEOyiPvhH2cWcBuXbHWKjyn52kcS/iQfxkjnD7cN3i07P0Yr8ZaJ6M6UO+NVPfiHIWPZRfMlkAF3CIpFp0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268311; c=relaxed/simple; bh=Pth2Uzo1gzhh5BgeItKlIlc+tS4ImCHocJjvX3QMVOU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Kq3/FF2EPTs7UNZkhOto/mLNWawW6pRK2R0kI5/Od+MdnMLdbIUctwUp5Eh0rsfloxIRS7RNRF4YbOcRf/NQJMAuiiy34UGzC9hnS5r/B3CXsUnWsNJAuVmFU7insfJGoTTRAFng2sFBFRVkx6Ji27SROURBrTxc5ajk2XIirAk= 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=O3a30MOR; arc=none smtp.client-ip=209.85.208.46 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="O3a30MOR" Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-640f8a7aba2so522497a12.0 for ; Tue, 04 Nov 2025 06:58:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762268306; x=1762873106; 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=49FY2zVqI9ZeKrIZlBhUVkh4m9OzOZyEeEGZ8bRpxBs=; b=O3a30MORdFb8yRQFfk6YXJ97BSS5hT9Ed9nAfvgRRvD7x5pvQpAhTqu1GUeWQhAz5B KVdRNNeiZBqrr6vD7rhF7QfbYH1lWTiz3p6H8DClncw72Ivu3iPw4Lyn/yIvRy2I7z0T /+pmXKjNAOGX98vTlGmc1BFAD7q+FHTN0afWZmfTReqxAY8tov5aaZpMRx1D0RMxQY/J qpkCh6ddxVUHgUg42S1Y3OawOqK00NoEmQnpjmiGqe6A7M+Y20WMBzHZJKjEg7Ew4vEJ vpL/4nB8wZmqiCcK8bawwy49OLH0AyqTPTCHjuY3CD2477VdJ8LBXP27L8B90KlWaQJh LPiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762268306; x=1762873106; 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=49FY2zVqI9ZeKrIZlBhUVkh4m9OzOZyEeEGZ8bRpxBs=; b=MIFEGv/T213NiQWE+rvh1X++P1so8L+yZ7wofEK2w9rZ7VNtv2DUTWYSReHUrrHyv9 YX9wYCvRAO8C/IUGSEqSeyRMLpqZZzOEHSFs2MzX4NQX+XiAf4T7MYnqkqrWsI/J45Iv MnVlMEj7Z/XqUgxQtlWz8GDEJE5tFX3cTuOr8y+TpzznZgrzmSwylCsT4DexVNQYuTAZ 18j484lki9sVPZpRCZEFUb4Pif6w4ipQbDs57Qlvhj+ZgiT4zl80xxgmu/FwWNOeEX+F xHNJD1x2EOMX3xQoABpD5ZyUgVTzIN3VxVQQSQCiBi27ioU/5Gt91V3RWBr46g2y5YhU LwHA== X-Forwarded-Encrypted: i=1; AJvYcCVL+vuSsONoPLlAS5ZTFhHQb3+RdGkwdMemNf3i/TSVoywBdzligBq/+0HyrsWHsyHoP4LJ2cx/flSln20=@vger.kernel.org X-Gm-Message-State: AOJu0YzfB/N5gNTrQt+9kEZRY7RH6vctm0rwtEdPb7XYkaVWKWjML62w ecvcqWesv9q1B0aZGs9U6qgJ5qDMCVCPng6TtQCqRPXgZkhFNR7MiSY+ X-Gm-Gg: ASbGncvbt1xSLt0AKoBMqZUbkedMlZo2NQwKyiPID1VhNs4QxRo4aSgD2ShgZX4BI6D sj/k5PQPfDTJaWnQvEMrs3aSKYv+rP70CXytSzHSEJ1Xis0jTGKmaToS8g0X1GC6OJN4BAe2mtV gdDffb5G3wtFadPWZDQj4BSeKyrfQJ0gCdImpi5qxwCA6nrKovMwwJ83TcMPIha2wV553t0baOW xNGEsZK0l5Ww7tJCqaWhSg4DJheNc1K+GUxq/8G79HMpPxMehgOGPagKU3jAtjYkybpQVs17Me8 m0KUpXYb3KV2SFn2+I34sXU5l5wEVg9Ov8kbfAJ8wiQxK0w3d6OjTlnJDc9jOqaprBpEogG6FK/ 89LPWvrC2iQdppr0ElciJRBswPDtMZa45oeyfk+dKzEQvV7FfITneq1UcRVDuAbdstBucgQdz4K IdSF8VSoUgctjYyUzcUGjsq8Z+wAJxS9/v04eIaeQRxMz8V1E= X-Google-Smtp-Source: AGHT+IGhPjYnI2dd4Y8tgVpYrusguuiQEaOFUSTzgRXBxGOGzflATdcavzKwVGBwCMd5j0FypdvmLA== X-Received: by 2002:a05:6402:2350:b0:640:7529:b8c7 with SMTP id 4fb4d7f45d1cf-64076f710cbmr15166855a12.1.1762268306022; Tue, 04 Nov 2025 06:58:26 -0800 (PST) Received: from tablet.my.domain (83.21.17.47.ipv4.supernova.orange.pl. [83.21.17.47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-640e6a7fcd7sm2288874a12.37.2025.11.04.06.58.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 06:58:25 -0800 (PST) From: Artur Weber Date: Tue, 04 Nov 2025 15:58:19 +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: <20251104-kona-bus-clock-v7-1-071002062659@gmail.com> References: <20251104-kona-bus-clock-v7-0-071002062659@gmail.com> In-Reply-To: <20251104-kona-bus-clock-v7-0-071002062659@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=Pth2Uzo1gzhh5BgeItKlIlc+tS4ImCHocJjvX3QMVOU=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpChSNOEyLcilSEETBIZirAou5qm09aAf8xYkar yv9ZYNtvReJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaQoUjQAKCRCzu/ihE6BR aFV0D/98icD+0WcR/TEYPPGeJeKVzdMZjA2VaWFmw1wWQ9j2KtZcV+tMbX0OCSG0csSD+cpaQ7Z claxEfFqoKEEJkrOI8Ow/7j0vE/BiaFyLolZlCAvSgh3xhGqgIRG8y+q9586Kd3FJuQ8bt0dLPY Mr3zed8MJCa+hdMbkuUTI9xnpmrOHPqfFMDdRQtiK1D+y041Xx4/HutrjxlfTUVdbkEwSLIkb7L QLGa6JTn8mXhvqwycR3pxJZLPeR7f0GJfYWCvE7Vf1FD894uNRGYd1SUUaRVtZACXGe9dZqiBxu lp3pQyjqQbFbAyKmVs/OGfeGd/o2DofTz/oUPNFG9ebY/dhsPrhIaGrLITzp0AUVPLkw5ty/7Sl QEb5Vfn4B5cHuzBWWUHnmkaUVuKxdrrtmD8sMLoF8pVdTEJeUkGAAA5o1b2+GVM5bNOaLcFWRS6 xVud/NkFx0xipNSDaXAiFL02F+gbRpNRKrm1x/j0+wh0hB1nriNYLYisPlfWNsX4i5zbObtx5SQ pidWARuqG6wOGl7Ww7NT8Y8vCKHmA0hr88sxBHv+uq9ThcmYoTy5jOG8oYBAV/Wm6SGqsJQ5VIv cuUHdnrY7eRHApxK2i8G2zl8DDEXdTi9yi3Qml2mQdFLxXZssd3d/CWNIdQ7yo49hJSLlApA/K1 kzCeh7K6tnDf0lA== 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.1 From nobody Sun Dec 14 13:53:32 2025 Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) (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 10B19335547 for ; Tue, 4 Nov 2025 14:58:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268313; cv=none; b=SMYvgoUaNlZ0/BhbyZNz3KfvNfuCknxO+VMxM9Tftj3TB4uevEM/B08F9cF5bbkfQcZrcAEAHqklpx0bDPGVjbItGlqGSVIp1/y9TcvViNLRjk/MUCROqHTrReswpTZgLQ3i3kQ3/6tn6WuEqGyuHa2iGcGxX2Tczx/pCyMJAtg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268313; c=relaxed/simple; bh=W9g+YJ6BtshhuZpzIE3hQJ772deNaUpm9Z9F4iVdSVk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=U+0HpEcJwdYaV4E+QrmKI3xEx7Rw4Bhoxlrx7kFCZNMAFigx2u25kotXHu1c8gp7iKS/EfedRO6GG+uUwTVEU8k4XYDY+mzdO2KsDaJqKYxYuJPcLYvA5hndpGpqqlEUzVv3ab7EpUFY0rd3ehijNcaSBPlxVNmVJhegsoiOsOY= 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=RYmW0PZi; arc=none smtp.client-ip=209.85.208.46 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="RYmW0PZi" Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-640c1fda178so3448780a12.1 for ; Tue, 04 Nov 2025 06:58:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762268308; x=1762873108; 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=8yDoZvnl9i2PCVqQpO58zWzoD91W2IfT5tAZBQV3TwY=; b=RYmW0PZiAx88z+3Xj/OA9RvHi5JsqA6OHbwOkDW/JlNii+V+/M/CfZh7gyOGClZnm0 pAu7tf3Qy549y4XfixE8BYUb51gOrok4NnXl9jlb1tmtzvDiU8y8aUgPs7nv1HnTE5dN edR7LP9Lt4qD2L9O0fvQCx6+729fcTdVVaWtsWvw0INl0o9nSz/qKAm4jWlxd2vIMh4M /a8wUguHUpq3Dxiwyi6vkNGq8HL8/OLzZmroIaRK0O6lY93Skn0LamGOd6YlZk3KXFpQ DhPnEgFq4vHMxQmse3S8pn2RSaZEI6PFuRr1uFpXa6TnYJnNqlfq71PFHJgVhemOVWT/ 3+aQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762268308; x=1762873108; 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=8yDoZvnl9i2PCVqQpO58zWzoD91W2IfT5tAZBQV3TwY=; b=jR/ahioFS50P8UtUV/ZNzVV4kZkOl35zglRL3IyKqNzvYMz7VtqpmiBzVqoxQbMPua Kb1DmqqEi/rSnzLcd5QsspGboq7kI/bO9NtrHl6h+YL3RYFdUtssmTpYN6Av8DdXQtl3 QIwLqdoupo8ZAAWYUZTtuuP67SYhSKnTVpsBukTX1xevFy0kp74wLfxcgDU96LlyWsjv 4Myo5xMmgr1YMoMcU8xXprDA/Mpr9zEUjqAHSZzry7Jrs5Bgf0ofZ0sYJ016lemiExRQ 9UWWD5mYr2pYCwiTOCtEi67LtuBdAmRoIcizLYOqSedYkDQ4E3RQpc7I052EovotpP9H wPiA== X-Forwarded-Encrypted: i=1; AJvYcCVZhfQEhyL8hpcJnFJ/rMdI8T5gR7NewK/FFGrBxXAlRtMi1yv7YWaojDMXuC7cbercb7lDHYXd14nnozs=@vger.kernel.org X-Gm-Message-State: AOJu0YyDcj95nkDa6UlwksYpM9OyGZwiBab52of3+rL+kp6TIsARUpXz o55zjg9jz/wd3r/dnytZ0m2adDlwp03qXHeNmISTtK+Or/Ymavc4uT4H X-Gm-Gg: ASbGncszg4zNVbRPZO/vOno3xL7JrWw1NF+G3GxyJi0Q5ExXP49KK+MBSx/CHaTYu1g 1thXuqsgS1WAOL9f4ZXTeXIeeZJXmGR9KaLwv5qkITKFKd75UPAq9l3sbuU6A6ZyBLN3GNjO3sd okgW34zV55Mgn2DQeantrnY2aLsnnRWCALsf88N1aQVdgRqwwimTC+NfaQwtk5Q0b4IxYcOZ1O7 jmQOQwCme4p4BDcyIYw4xiSYhVTMxKqNwIilAjPtxC3vJjl8KYxfGtYm+yflJcDPHWixE+rpqGX Ojiw8kH/rWuig6PCA5LPZ0PM2Fa1P6RWDNil8iMsKlBgBLDJfv0yPvm1ADeGkEeQnYePiMe4Qtq E1ut9HnzeA4uvBMYNymJbJjRg7SPw8bc5vjVFZpi5DyEUXQEWgpO22XAZibkXgo+/SzC/E3EF3o Fmk8aIWYM/ljkpr2aGFIGZwRh6zV8AnklQPbH3vI04J/zwQQ0= X-Google-Smtp-Source: AGHT+IFs9W8O44jy0to+HH8P36ANszj/+KkeaTelvysxmEQV/qsf42k3TLW8rGxbLiSoMryUWBJ0BQ== X-Received: by 2002:a05:6402:26d1:b0:638:3f72:1266 with SMTP id 4fb4d7f45d1cf-64076fa052amr16212580a12.16.1762268308065; Tue, 04 Nov 2025 06:58:28 -0800 (PST) Received: from tablet.my.domain (83.21.17.47.ipv4.supernova.orange.pl. [83.21.17.47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-640e6a7fcd7sm2288874a12.37.2025.11.04.06.58.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 06:58:27 -0800 (PST) From: Artur Weber Date: Tue, 04 Nov 2025 15:58:20 +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: <20251104-kona-bus-clock-v7-2-071002062659@gmail.com> References: <20251104-kona-bus-clock-v7-0-071002062659@gmail.com> In-Reply-To: <20251104-kona-bus-clock-v7-0-071002062659@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=W9g+YJ6BtshhuZpzIE3hQJ772deNaUpm9Z9F4iVdSVk=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpChSNyhoRHcTk8Z6URFMUuRgH1NYbfHNCN3nuz TT5s4TYN/mJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaQoUjQAKCRCzu/ihE6BR aBZ8D/9GVrJnnbshf40Fq7EmWfKlSWadlwmZGigXl4snbvnPs6gFtD53934e9ydLgHRjv8u2HF6 v3RetY0M1wonst8EpeN0+FuNakSthGOt128Yc+TgylDcybfRojzqe5x5QgzXnKnd17rLN4PRzZk b0uo3WfdvbegZCL6sTFjVIRc0186+231PoH/YXcwJEM32ltp/EKPAB3j26sIfQ6Fx7NJLkHbFhm F0YXJrGbjLkV8KYRV3xHTdDNTqZ7w/HZ2VZh69brnZptYURDhXlRehZR6/iZq5Qjt9dc1sKvh7o zTjZNyJy0LOeaxee4dnnGR5EqhiFycYqxrz1mXeb511qqn5qqrY6iq2ZAtSoF0gdcnkpkTpR6F1 UzEJ3AVHAD8zoRwTv6u/EZ/pVyedM5nW0h2xCEx0tBZsGBjyRdPBrrZs4FHx03p8Glbo/dE+X/Q Islzg5UV4NnsdWM1pfAzZNzp1+frZq7Yz1BGpKUos9oGDmN+7qeiLqf7zQfmOsUa+EQLvevVbc/ epSm5KUSSDLiBoNrTzmlXBjIwLFppBBuKazNuQTwja4J4ic23JMayyaGURMTtslUOr5+V8J0gkE DRJCYzq9mp2tk/wJmUWZ7jYqJfO+y3+JvxR7ZGYT5mLfLscGKy1XEiRu7tcjejTqLhGeskURnWB dpxZ04FL3Fn47qg== 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.1 From nobody Sun Dec 14 13:53:32 2025 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 20E703358D5 for ; Tue, 4 Nov 2025 14:58:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268314; cv=none; b=tOveQjljDgrV+pQlXsl4vIsA3SNA+QF+71QnKVdMeZeCJVPgjYuiWqX3vIxb2c1NnImaf13UiNJbeAAqUYslzJsREGePZdRBMUNKFLdC3gc6ftX4+6YXDvZxE304sl009WprCCxqnrElClUUTQEgjAYHXbhDR5FLm6pn9Mhd1Cw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268314; c=relaxed/simple; bh=hE1zsEoAYQeihS0jeK+MtnVz9GFFqyenFrwA14PktZ8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RsLuhWIO8xvj0J7Y8MRxs+fxX6PYgLznUSEwtKFEK2bXIxZqcX7P5K6wVZCjx4/9Y84ffFfrdYoaxmDR+qv6GRMaNS4AGcK2lgiVjmMijk7zxRWi9fV550gR0R5GfMyLYw7sXUAKDHw0k0ix0JkHp8AN02ORaurG0ApOdZ0Yit8= 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=EGkHklNC; arc=none smtp.client-ip=209.85.208.52 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="EGkHklNC" Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-641018845beso99842a12.3 for ; Tue, 04 Nov 2025 06:58:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762268310; x=1762873110; 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=4a5wcPALM8GOfKs0z25anJPOx5zdh7ANpA+yWaJ72oo=; b=EGkHklNCDiWa4ovIMqYixnB1ZOT73AMGH3FEl/QImQJ36zq82oTWo+OIDEcW4w2uFM 5lpFgvYH/XTNxCgHDsq1sZTbNL+dls63NXATTO2B3IBXD5Fqj8Gl/vTQiAp4x/CmYwB+ xvO9mYzs5fuV+ZF+q3v+GVWx2jFexBnTnHOnCBaYm2+2/znhq0zTXgStmmSS7mg8ZDc9 06TpN2p4FaXAIjau96A0P8i77KdpwItsmqhyeMW9uUmCHsHHeew9HQB4xTmOpPEpWWoy dC30dIjm4Nxoe2W3MvSgyiF+uz98O/TeZVkQLTmILw7q3qs8NkLSNTuSq7ONyTBaXRZm v2Nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762268310; x=1762873110; 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=4a5wcPALM8GOfKs0z25anJPOx5zdh7ANpA+yWaJ72oo=; b=qJ5lWsFPukhKVpX3ru+edoddGHppTU1hjWBsCDOevi6yFh6lNNHJEh48DHiJxjLBF5 asB5g4RS/LBo1ykJj0+nQQ1VamGj2p4DpXEcnQiRTxRyZvBBh3O8AQAhQw02HwcVXqKx uAA5yi/T4ClxkHqo+g+oOpil0V6UA8vIM85vfUTRZO9E5H+/pLRsQ7tzLrRWMdHIylRL rrtCxCof6VbvM03I1tMV/nYN/8iU7EcW/e8bF/IfpWKyGpyKnAi1t/grwa58gsO6kSFT Afke+JCgdrY7DL+qhWrAEXa9OFXbydd244173HcvFTg6UkhUkw3XzbCBH2KxYJRZqFbS 6OwA== X-Forwarded-Encrypted: i=1; AJvYcCXmD3fHwM4KHG5pXHrGyyc6eqf/J/aLaFxCC3OhXaTnQiEJhX90lXs2tm+uq1MSJnZjUJ5eEzxU+j+prXM=@vger.kernel.org X-Gm-Message-State: AOJu0Yzaad6b2UwXmJj1uFU1FbbVNqt8givIZWse3Cc7DANgbXUNwHBu Ik7Xby3jwsGO/sjTx4DVfX4SOSRvtsiy3iqQ2N0UuGbCReII90kTf7yw X-Gm-Gg: ASbGncuI/a/n/CPHPq79Dw9kvtKxeD1eUVLwnCD6fxgqda1nCfJpJ1JG2IwWXU+kIOZ 5/O+6DVcaEbl8BtTEfmlrNWzCQ2sETYudU5brmZTUw0uZhI4AlA+ec0hvjYgEut/QaNgxVK9Pfx n2SkM9kVC5gPODIKWURK9w4QolBmIqG19+iv+gL111stSGHj8lixlVil69LvDUT0RF6O2Mfig1/ sNKJmMUwWJSSp+vQO1qhpeiBUUjBQ44y12dHFCdbhgBb7GLHmnTx0C6PAk3LRZB7YpsFACXQwp1 /GY4Ct0WzG53o9swV2AMJoYadmNJlr+mlfNd/VP5hTHsFf3qxNU9hXmOBtkfj1D6Dd5S1XZ+2Ri 82RvTRzX6g8IBAocEEelxpUmfFb7kZh2fQzvNiOJxHW4BKyfAH2EpDCgqmMOxNRVHHG5FGCfrs8 o15d+9Sm571Du5UPIgBcgzq864v/vvPrRKFKOrJRT5hg4J8dxpNBCp/m84+w== X-Google-Smtp-Source: AGHT+IE3SPYwKN2D9uouVnpgHkPM4iWY0NPIvFkNtkB9fhZTnfyYXljSUYSwO1JZKzF4K/C/EDmk6w== X-Received: by 2002:a05:6402:1472:b0:63b:feb1:3288 with SMTP id 4fb4d7f45d1cf-6407704cd63mr15674893a12.25.1762268310007; Tue, 04 Nov 2025 06:58:30 -0800 (PST) Received: from tablet.my.domain (83.21.17.47.ipv4.supernova.orange.pl. [83.21.17.47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-640e6a7fcd7sm2288874a12.37.2025.11.04.06.58.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 06:58:29 -0800 (PST) From: Artur Weber Date: Tue, 04 Nov 2025 15:58:21 +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: <20251104-kona-bus-clock-v7-3-071002062659@gmail.com> References: <20251104-kona-bus-clock-v7-0-071002062659@gmail.com> In-Reply-To: <20251104-kona-bus-clock-v7-0-071002062659@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=hE1zsEoAYQeihS0jeK+MtnVz9GFFqyenFrwA14PktZ8=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpChSOpSnAIZ3Z6c0gR1tTT6mBe/3BrU8mRyH5M c63ilow95uJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaQoUjgAKCRCzu/ihE6BR aKYFEACXrIwrhw9pO3A/WWrRSvnhuf6JBILKSX3SzeK1xRhm7N0+qH1Gs6vS9kVhStn9inbkZft Nt4yK2mSw8F11y7XrT/tmNj+GNxh28q9WftqaOD9GY9jlBLiQug4iPIzi0+No5XCmgzQ55iBIvm RzSOPuIswtHfqdvV4M8gCuoMPbPr5Whd1eTL8wwd2ggh3WZWiJGEBJv82KLrIl2Otqe0shADgrx dvHmgqfGErgcfkC7ALlgyt+45pAAua5UMHBOojQQRJ34ldVKwhSZFrYR2w6V1e3giXo565BPqsS abZf0Sw0swA+eg5yiucRslPkurm+O1gDuYq5masacVlotWIbRAZu2YRksu+WqmIa2r/uKhltjd2 u1rcClF9ZSmlyC2H/rX2z1+WzC4IbQEiPYHlzQuXBoj3JyA+t/npRFp18qXZ8JxJPAEapt6W1EQ QQ8DOS+6HatN9hb2visevAqqwQn+WgMI9HqamAivk8dd5Dp5XHyIRI1vcST+PGlfd/K8FfgVCb7 KK+dFkLlTtCgnyamUCxXISxTfNsOP1GQIwJ6IWvzT6c6ryKPT6Lamc0ZdW3/5r3bjNj3Za+L1mh aVywvj8t8Bvw1e/caOSDzpWxeMaC6fFcDnd/Yi7ZyQc7N276zHG4yQGoM5VeUliSeIJSybs/PQ7 MKdhblxIaN40rJg== 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.1 From nobody Sun Dec 14 13:53:32 2025 Received: from mail-ej1-f47.google.com (mail-ej1-f47.google.com [209.85.218.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 A469C335576 for ; Tue, 4 Nov 2025 14:58:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268316; cv=none; b=kgI8/u4yZvA9Ly3X72v4lp6WLDtagxvSciqw231IjHU8wMDg85tHLCGhLi82eDLNz951Y87iHFByDaG4K6EUYcUUA4H8d+uxRAW4w9r0MNmkRgNqtV2DGh6NoNDpldsL90eeEFRA4lftNhAkW39Ouj9ifYXrh+utjJqc2kJnOTA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268316; c=relaxed/simple; bh=3S3vLJQnHmvWilF8Wd90CB2vFImWZrThbfrv7SlfrKc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JbtRuwnqI/kjJV2ftRSp7+1equEgUvvmK78DIZPpHdd7qh8O7odzc3C1oLGdD7pksGP32JLQSEaPFxfFTQABgt4C80w2jAL4Fbu3yfNsixuCpai6vmXeL9ZvZ4h/72ZautsQ9C+iK2Z5mB8RdJfOO95oyh5PTWGpaY2ZYCZviuc= 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=ViyCtEUl; arc=none smtp.client-ip=209.85.218.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="ViyCtEUl" Received: by mail-ej1-f47.google.com with SMTP id a640c23a62f3a-b7042e50899so982887966b.0 for ; Tue, 04 Nov 2025 06:58:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762268312; x=1762873112; 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=XO+PI+vctgydxy3u8Ax9wXF6KiNkHmEcDhtdnRtl9xw=; b=ViyCtEUlI+YHMmqLGMp7Gl2BnevI3Vm8IPWAfvFj2wsWNr/SP6lXX8tUoItE990eJ9 SKJI5SSP0WRhHBCkZsISjqsKHWND6m/Dwxg3Q929SVjXBtJKwcWHTdhDVyjlK1vqwgsV Q5QWz3zARpTM3T+GD3aFc+er/BEZN466dN4uLfm2JVTZWZnwvRE8D5/+A2WIRFCJunE+ jDQmLcd3TXrCld4i/U+6umQEMSobBlHmVsdjGx0AoP469XTw1JXtIdx3lWwU91CZwY7P RK3FY+fV/U+cpR6Ps1YjYmU4AUw1piSHP22p91jV1ki4z60CcI41EUGXrSCWHt8TRL3F 2p0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762268312; x=1762873112; 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=XO+PI+vctgydxy3u8Ax9wXF6KiNkHmEcDhtdnRtl9xw=; b=jLUYaG4yBYhV1rcpLClfY0X+y0MVOyXb+EycMGLUiBsKaOSFz/9ZWBOdicPdH9CUlz LoXipmHplcAYDronBOXXwypHy5mllaQP1cf8m9vxA3nZk5cxHQMCYsL27PQuOiW1gIR/ o4rRGdpBaCSm2OPl9ccOxYnJVoC77OmNifar6BOMn/jJ5XdvTk51kcJ5y8e83NifTiuI hxQMbqg35xkLfFDghS1tRrdISlOg5JgJ9xohYn17XIzvPd6xCBYGj3zFtTbzxS/TwExY To71Dasl37Riiecgnxnm+eIi1hyb0L+HRFDdTymz14HsFKPJgfJa2VSILIXtc5PVP4KW WX1Q== X-Forwarded-Encrypted: i=1; AJvYcCWIHq0GBxb2nffVzD013cd4Qh3JZavDIdyQ5n7eveGfKT/j0YxCERPTj7X33nkZ6GShVOp0BAaEScypEpc=@vger.kernel.org X-Gm-Message-State: AOJu0Ywbse/TlTQW9XEHJI5Xr6YC9IfaQ0JeiPKcTDpm0FNsKpF+GteP w8O/PXaEs91CaABSYBaEnaC7geIJpOBiAEKIhNBUA/jxEit7T/UbdYJW X-Gm-Gg: ASbGncs2VEcXmtiAMOP0XhyTxSZu3K89fLTFsERYMPVVbvLYW34wtUDrA3v3unMto8w h2TIg6kHaxf2ELYamDoaQg+y0d9mUJkaW+cmL+P1tROr8C3xJz7roa/8SUgDX+ne9FPac5YrPVA UJdTLf7WOHdAYDnyA9N307CCtQzLp/HE3O3bhuD39KUeI8mIQQbStqgoNcAsXW0umdOagLLT6yt txNlKsT48sJ9muS32Y4w/jPWQ7n7eBdSKNYjOwVYbe4wgSMMlp+RlYGsEPFQ2O+KebLvWccF9t6 N3yvG3zM97YbNgnsW+G8SN+PwwIqsUqhxqYhOmW1gOmrYZMg0na/zns3xpAvpYtjjRoWBlI24YV ycoki3XkxF6/8E91BF9lo+NIN1csEv32VRVjSzOLegab6lggytIuk0A0Nvp9OHfcsHJEDxaKgFw LBVlPO+tf/p1pJ46oFhmb6L9MGSldUZVwUxZzXgn3nsNDming= X-Google-Smtp-Source: AGHT+IHQM+ae/PtrcBYu/XEl+3c6meEt5NSkTaNxXmye33gFO7J/8CNzTF6Yj9O7hl9jP+R+gadKLQ== X-Received: by 2002:a17:907:3d52:b0:b3b:4e6:46e6 with SMTP id a640c23a62f3a-b70700baa25mr1718403766b.1.1762268311405; Tue, 04 Nov 2025 06:58:31 -0800 (PST) Received: from tablet.my.domain (83.21.17.47.ipv4.supernova.orange.pl. [83.21.17.47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-640e6a7fcd7sm2288874a12.37.2025.11.04.06.58.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 06:58:31 -0800 (PST) From: Artur Weber Date: Tue, 04 Nov 2025 15:58:22 +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: <20251104-kona-bus-clock-v7-4-071002062659@gmail.com> References: <20251104-kona-bus-clock-v7-0-071002062659@gmail.com> In-Reply-To: <20251104-kona-bus-clock-v7-0-071002062659@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=3S3vLJQnHmvWilF8Wd90CB2vFImWZrThbfrv7SlfrKc=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpChSORxgQzf/ZL/gp2Ma8qyDv3uCNpyjt/zNPv EmKyvUGI4mJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaQoUjgAKCRCzu/ihE6BR aJ5zD/sHarUnmHEx9mOpGgkQj6JThv5bsoxJTyL7m9Lh425mb077Jhlo6Z/tsFSTtFt4iU6rRJd oZkGeqMN3R0V105KQrHLJU64qMwduP1y56Sj+Pw6GFRM+KEp6vGieizMW7Xx4iED3eIiRwhk7u6 Q81J2e+mc3RJdm6uan1Zs7xq/4zZ3Svq+pnRbVRiBMVMKzMgEK7RfrxJctPIleJE2t7aFRrl/US zPEo+FghW5tLw/2lj4CQ71XlyMIo9ZcCDxvb4gH6qD542pBLb/omA275yOiyEYe/ORBY4i3WhLd G92AWkVJXxZ1E2/FCj7gu0l3NhfHEx4GO2k8dJu43Q/UkjGHfveQ9TcpJbIaOTRlPTBScfEKuFB bzslyURLmIOcK9/sjyQlVJgwj5StXbiqnJls/XI67aV43aPeC3VUTUzb9VRSQWvIh7dsu4faY5T 3zgR+C8jVP8kUl4HY/mbCdRKFR5iEDeYIfe8+Migw3tVHBwQJ5L/hx5mQhv0Vm2sn5sy3KbOzyq xv4ghk6kB6IzmsiG8rJBpJpD/ZPWsBBwdq0g2u4sKc0tJsWP2CrhaO23jX8oUMSoPtpaDWhVaP6 aSm01IaRqIYoscGsb3zk7Aqf4U7nPCO+YULFMQEdaxVa3i0peasQR3HVNbOORb01qog9otfXX3r IOsVFFcJT5jIelg== 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.1 From nobody Sun Dec 14 13:53:32 2025 Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.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 B8BA33376A9 for ; Tue, 4 Nov 2025 14:58:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.42 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268317; cv=none; b=DViluomNzQuQXHkDlp1iaA75NoEaR+OuXwIRaa07KnaIFrfijIgZ4dqRkicRaHuHQFKoQAxBDmEcO0EA56XVkgSF1F1+RIi6C3LHNNIWmVzcJa8xU+Tfrfznvv+dqIjhVXP4kzycxir1Z84opryEypV/NTnaRvBIMbvD7CsnXNw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268317; c=relaxed/simple; bh=L76xdvvOEFZa8rWKgn4/ATTYpvb/4aGcJBo+4mgSml8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oUcFLwRebWKBpYI3jc7P1pWC46WYFia/g8KJhotWjP0XV12rHJ+zFQOMWEkqkrB/IC2wVKFIB4GAmIsLnZoBO3wIrTPK9ioRJI2kbqk74m+0Ykcw4dWRTlF+WX6ohB6xgAxUicq8dhhJEO84q+6LW3jCf7z2sUUu+YtHj2wi6I8= 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=QD11/gRn; arc=none smtp.client-ip=209.85.208.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="QD11/gRn" Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-640b9c7eab9so3986129a12.1 for ; Tue, 04 Nov 2025 06:58:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762268313; x=1762873113; 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=Cn9RtT+TK10aU6RMAshP1RXKAGM8AfGQOsHoDA4AyDM=; b=QD11/gRncyKi2ffU6w9O0dR8U0AAq0b4xRNkuvNN0CQIdONnFUdRyQSKbJsYjOxqhS Gm+/Pg9eHdt71rlFvXxcomqRFWV+ksYEGVhZNhHSDvqpX6HqSsh3kUCLyWLB54rN/WvH QuQ6MBApmfAzmpVatZ+fyLs4JVFDz9OfjcUbEPAyACwgXLKQ3JUfnlVc7ks7n1YiOfFG gbHM79QZ6h6guMLPLkd20tLk/SVaJals0F6Qyns3G6fkfhNUJFwXCsTJ5iyTxqaPJ617 Cq8yy998bdAXfoX8sv5O1ewVcrymqD0hfwGojxvUJtVrGp1OtK405jVqJFzvjgR+xJyc qvZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762268313; x=1762873113; 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=Cn9RtT+TK10aU6RMAshP1RXKAGM8AfGQOsHoDA4AyDM=; b=tK09gmw1YHWhAlweksQD3XR7Kh7beMHrpiP422vSr1kOLAo9NV8rN7pdsOBcUX53Ui P0FUq6PLOYXgk/YZEsjqP9Sf/+H9FMJKSPowWSmPDibsEar6JSpXKLfcwR2payQXvxu2 w6+xt8UUpZ08WB6cGqbN4A9gb+fRRXkQasMKTMyoh/rPom48jCA/0eW9HG65pMoQKB5a CS1X7UcGmB9qRNY4r8Ntro7hdwBb6CyGMkAlGzmoxX9iqAMOCrNdfs70rykFVogoeAi1 khAunHcrPGaOeEVMnqoRqHEp2vW0FObthplZuvGg/TqgjxZs/iQdK7XGnyzcg+S5uZ+m FZpw== X-Forwarded-Encrypted: i=1; AJvYcCUBfjsuQ6ozc4cs48iNOhr0LuqB+ZVX4PLwcTPTGhAW3Fb3ulUiGwCu2WuhIHPlGvcMhnaw+pS4oDHYy84=@vger.kernel.org X-Gm-Message-State: AOJu0Yyzq6VwvsB1Fr2AMT771t+v37XruLVgYaw7TUMz7mFOJEHl7VSp uZEeqUalc8LVi7mSwA1QYJLDrr7Gtl4Mr+FBl6/RVsBrZC8Gsft6lkwL X-Gm-Gg: ASbGncuHwZLXwp5Zxp4ZqDWJHlW9jf4zeNKt0hK8K7nyhodEx4ATRNmfdgyjYep7N3H r4GP1WNsFE+BM5Os1ojtN7Zltu92YhlipE+ZSEnaFjsIObgKHa2y0QP6UgZTmvrjFNuoapXu9g+ l2XbHggDIHPYlnH4MLoSdgHlLOTxgK7GzQjzkNsrZkmGHkms7pvBRAOlkBOwLM7cYP+SYSosI5S Bw+N2zX1TvMpVyys8BRkjNgrCrVIzm/sWmEfCVwI40AvhlASNVUn+qdMZzJrCrIFpc+hHQ5emAD V3ETvsUs/yxwb/a/hHsQ6/90tUBVrp0OY3qRxDIwCbcyXxKKroNL2LFI/mY5cY+d8qYqx2XMo4X XwU4w1a6yo9nvjjRWX5lFMmXdvWCDFdYGZ94U5KVGGG37C4V3wEy6nnSK34r+iBuiu/ygoOIAeO B0DflzoqH73UGQOI4gTr2kvsdwJyz0MBXk8RHXQPWQaYRnfe0= X-Google-Smtp-Source: AGHT+IF3qgP+8XqO0yq8vsjqhgYJ4oz0XliS1PQWZikyuvayCWl1BdhCH8DQPJaPzr0kwFQJ+gJzCw== X-Received: by 2002:a05:6402:2102:b0:63c:4da1:9a10 with SMTP id 4fb4d7f45d1cf-6407704018cmr14220056a12.31.1762268312661; Tue, 04 Nov 2025 06:58:32 -0800 (PST) Received: from tablet.my.domain (83.21.17.47.ipv4.supernova.orange.pl. [83.21.17.47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-640e6a7fcd7sm2288874a12.37.2025.11.04.06.58.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 06:58:32 -0800 (PST) From: Artur Weber Date: Tue, 04 Nov 2025 15:58:23 +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: <20251104-kona-bus-clock-v7-5-071002062659@gmail.com> References: <20251104-kona-bus-clock-v7-0-071002062659@gmail.com> In-Reply-To: <20251104-kona-bus-clock-v7-0-071002062659@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=L76xdvvOEFZa8rWKgn4/ATTYpvb/4aGcJBo+4mgSml8=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpChSO0ERti8Vv4pAY8+UJgZRISMEA0x/ogEx9g pSo6OJIi9uJAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaQoUjgAKCRCzu/ihE6BR aMKOD/97R0C4V3jafzKBYgXkeIIylCtcP5w1zkzGA4S2xF8vydT9+hVSbgWY6SnHOp5S3s6P0zz MZaCagukQdVUqxCrvd8UnhSUnYLza1yox32hnWKU2iHrRNGY4411wNuTwkMhQjgTMkjP2cCtE42 79tmiSX4ABAjytd207HCloUyN4q+YK0xamgyhMGIkJO2oQe+k+ncp9tTBfvvHK0kv6GDoSuH47b GWhImuMVX8wRThr4vSYRfGlM7NyLQSAMW/6QquD1KF33AivxxT+m4EiOZIWf3HL0XlZjYhRxydM 3ABAD8npF2Owrv2NYQW6LAA/sLQlQjfJtXEka8WBEh+wbahp/yJlMRZGEWZgCP62F4NGwEJrJkB zjfC/7hrSmeCrN7UAGYVVajxcmDqB8mohH4ikYLUFSbucIyBm4Ry+nsbejQyAPXAEyOAxYk6qGW oWLE8oZvnNw9QQkkUgG0RC9q3bN2NVbYoHiPSheA8nc44Ej9EB4ujjaiSoQY8FMEP722gPrG2wv aBowNCXscy0Cv3Cdvb9Nw+w0y7WXdaQfgWnj2ycsgWgHfDatElbnwb4kaknLkbrUgFu4l+zOoaJ z3rH2G43I/4iU7tS90mZncovCivbfm7fEUDLy8ZpkXiEvjpKGxyauH8EpcibxDJJvLwAbnHsNl3 N4UEw5Ck9seq4Ww== 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.1 From nobody Sun Dec 14 13:53:32 2025 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 B91F1338594 for ; Tue, 4 Nov 2025 14:58:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268318; cv=none; b=KuIV3IDthMjH7MVfPzHbfY0wX2ALYoVyopxoTA2sMevZQtmyfklwCvZYvfSTxWjrpfwAtpmZAjt8v3zHHHp3qDyYaCMd5IygnqlHjn6UEVA4slE4GTA+5BX7klww8WZZKLXUfsoFGMP3errTTXrCq3JjGhnW/NVLYetKHfvcmnU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268318; c=relaxed/simple; bh=DSWwOgT5tbBOJuCemE10iAhhCX0NXJ6//wZV+1vI2/8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=N8MLR4+OOtxUMUWzmt1TLtr/KlLhhtuGhEFk3a8BdGdI6HiG3oIAK10Lqgzs36tnTFd3VNQREgOOo0no0G2blyvk/c3mEcqHeX7f/fe8vCKUXrc5aFyevRyvwwsezuTPG6XpovdH5L5z3SitMJakWDFj5HW1xwCZ7Hnvb2ol2JQ= 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=glzUlcxO; arc=none smtp.client-ip=209.85.208.52 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="glzUlcxO" Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-6399328ff1fso9523822a12.0 for ; Tue, 04 Nov 2025 06:58:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762268314; x=1762873114; 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=jvcX/auKEZgjRASVFTmjnc1+2Gff5FK7VQN+0M14FnY=; b=glzUlcxOqSApjfvJlm++H4Tqayxr70WlK0zJ+D6Ld2RCnKJfGlcAcxWIaU6fJHzO70 pP7FQoqteNSFg5wvMrWeMhDNyPaFKJ+NLVY7Q08b5W6yGiOAqV50BFPVCyE6npqbMk2z jdmxg5kQml/aEqcoUwn+E5rA+Kyl3/8YRnZXoH+xFEDy48va0rZZtifITrWcZPqqiMVm NZa1KlHspKhqcqWYASSJMw8xnMeNW503UzxKmGo7HFMxhZVZOom+wu53RGjucsRsE+ac hgjM0hzMZKZgSsjsqpfrtX49KXr9e5IMH9GLAr57bnmFH94d4/GlYuznwC19LnoD2VOR A2WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762268314; x=1762873114; 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=jvcX/auKEZgjRASVFTmjnc1+2Gff5FK7VQN+0M14FnY=; b=vtd29sgKDc5OlMIpf1ghbbvdilGKiwk5vPQDFlEmKeooDpVs1XDuibNLZieIiiDMcz bmZrNETFk6SydYhLSvW/3kWroFDbkcLQXGv7kQSaTJpkZPp71XvlpujiDRnBJPOMho8p s8eOlYCli9DIcqP7NGVV7E/Id2xAWoTutk54xWhu61+UPDysnKZxM6rCqlVOk+mJLUhJ OO3CExj3UPcRYRIN6S8Cu/UDIGt1yFSWQnUP1UAKCuAHwME/Fl9F0GZj9bvf0i7s+lK3 5FcG0jU7gKfxopAYeouOYidiYcyaBT62g1S+Q1U5CtkV4bDoKihjVdJL3aZbgNudDzo2 VTFw== X-Forwarded-Encrypted: i=1; AJvYcCXdMlrkJ+YeZdDhCQJRwhbhBiEkvBnpzPS4IJ39nV3UJztchevo9bfYINlZctJcIv+A9Wtg5nTAp/uo5Pg=@vger.kernel.org X-Gm-Message-State: AOJu0YwE/62WAVfNkhNHmOWNBDQEDyN4LnZMbeAGCpvZr5/5ii4QXxBe gQjdaCKifHKuuc7Yq2yLnpz9sN59e2ZQU31o64avXaqhxTqQtH6a/ls1 X-Gm-Gg: ASbGncusssghI8WLiTgTUNdHWeKHsvcgENue+LFE347znB9mKpMNTznqW6CF4PS7kty ze+KnFdacgc2RV7AnNkYLXePsjpYXmGIfTJFxK1SxfXshaYsKFwmzU770fw4PLwYrFKm3QzuT+X v1h9BlYH09Gpk8nLgxCMBhcimeC7KErXOTc4yoMMocIEaqGpHUyNbDFsn7t9HHJOGEKHJh08KqU WlmDv/kHEHqnnOCF679NEd1z+KZ+19RZBoT7wC1UqVLfK3KW4Gg0OhnxWeRJaxgiHr+y5fUD6dH PFxkS2KLcEgZaHEwVbkX3Iic8bw8OpZyPRNtSaQXwGanlvn4oKMqPrD75VevsUoENmAL5mOgt00 L6jOu4hAl6ctY9vbTtD15o48+CZo+uee2QJShhnONHxGgKirM559Roze/Zv/LseCVY4FNy+w3++ tdN4P97l8Gzrd58VCG2ILs2044FuqMefmPCvsW0DcpeBYWptg= X-Google-Smtp-Source: AGHT+IHZUUsGZGBtlaJoXWS1ySzHKciLjAZo/SuEhSLnYmO1pEob8UZ17/Np7x/XSHyNvnKfD+0P5A== X-Received: by 2002:a05:6402:35ce:b0:640:a9fb:3464 with SMTP id 4fb4d7f45d1cf-640a9fb36ffmr9455039a12.7.1762268313877; Tue, 04 Nov 2025 06:58:33 -0800 (PST) Received: from tablet.my.domain (83.21.17.47.ipv4.supernova.orange.pl. [83.21.17.47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-640e6a7fcd7sm2288874a12.37.2025.11.04.06.58.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 06:58:33 -0800 (PST) From: Artur Weber Date: Tue, 04 Nov 2025 15:58:24 +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: <20251104-kona-bus-clock-v7-6-071002062659@gmail.com> References: <20251104-kona-bus-clock-v7-0-071002062659@gmail.com> In-Reply-To: <20251104-kona-bus-clock-v7-0-071002062659@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=DSWwOgT5tbBOJuCemE10iAhhCX0NXJ6//wZV+1vI2/8=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpChSO58K/GaAyCzMSSY6ye7b4jny16XKR0l4zJ o79TmPUjR2JAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaQoUjgAKCRCzu/ihE6BR aHHWD/4v2Qw9VrLNQZSN7Q30cKwEsR+zIfo+zZKngZivHpxP+mnxJ+ZERE2Kb6ZVbiM0RKRHZqL irpncIkpgvOctJQJJobF1UyWg8IYBjAVWiLh5YOYOwLqOGKnNIAesJU/VrNEKJlgRTPwDMXhxYN Rdn+Ldgmlcd/gHzrBXJvxrx09gUKf29bu/NQBFyTbTmn9WGAFjwT+SCfhegtROGg/OLZe7wUB5x qVXne26FI04QT8rh5N/McogfQGyjUebaMZ6wgGI9yCBS2alCsd7IcNVVYUMB0OzZEJV6Anx1gxZ 3d2hj8qT7ViH2V47LnXvGQ0EnX2DNVqgVnIkh2dMBjlqWFEcEUTI/9PchHkkrJyqe3sfV0B8bv0 nA7Ti3muhkf4irAvWbAhLncBY7GdumksSwMX0pBRQEauNa8NB7QjRzgWW3oR5TWNlN0Y8XlPGCH 7a/ykBIBNYMVaFnCvXCb1YIbTBiCauE8/OsGjFYtm1+mIG1615SJaY6yrzrDGGc2NIZfmJlCmO2 JKekrls9PRkoOIyVA8BJRxz99814xAi+iyTx77LZ3aEB0693iFekVB4G0d+wlfweOSpYUzikaIa 5iw4Dps9sSt1uuiV1SrqftCrpvvvzqEfYINTLCrdT72sM+EolBKY02e3zIZ7HvDylICEl5PTwht CgHk1kiLT4YXYiw== 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.1 From nobody Sun Dec 14 13:53:32 2025 Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com [209.85.208.46]) (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 B5AC0338F45 for ; Tue, 4 Nov 2025 14:58:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268320; cv=none; b=vGhK7d+O8Iyso9kqwZ4URjLmBDZndexwYLn5d5ZYtja9JBqjLHaokSNzV01PwGXg71OsWtotbLg9gtvxKO3jxzNfjEXSQlEI6N85KpXcHDKi0bkiGM0u72ypN3UAWX4YBRJufn9013fh8HJ3YNgFKY9IZA1HOJrJQFb0QCZ06OA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762268320; c=relaxed/simple; bh=oaleqb9XqZrB+5VSSVHMl0U9JzcMe7IFlSred6/4jZc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=razJ2d/rFhVbd3+0OTHH1dJp+lxWTYTvuvxBG+ZIJSNgwzVkjv6OGGx8Pw4MrgJ+fbVwuCHgc9t2o7OrdLeq+mtqKJOsqnSRWRmo7eUkxhXYpjmq10JovW7zhUgxBteDe804r2VuaYxhaoq1daACB55Um5i+/b/pcPlH//A1OwI= 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=IKwD66NS; arc=none smtp.client-ip=209.85.208.46 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="IKwD66NS" Received: by mail-ed1-f46.google.com with SMTP id 4fb4d7f45d1cf-641018845beso100058a12.3 for ; Tue, 04 Nov 2025 06:58:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762268316; x=1762873116; 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=YiETutXUQi91zPM9wQrjIsBcMeBokATJ9Dk+OnsfOPY=; b=IKwD66NSZQxcY2O0VwmX+GxMiyYD58CyexTGxan7ZtBiXrjO7PI26Y/Nu7aTxUsVsP 8MkJHtVPZQxwAPDYUbQBNmpAPeJ+yL2ffSTDP8PTX1h87MuVhf5lh/9nwdWe+yiwS0aO eufYTujEm+bW0lgynGanwWlj+o+NMuT9vciV8H8WcDkPNwyk6TxIyrdUr+KpAePRx74C V/X6t5e6QBUGY1eH0VBHXAQTKDQ+0BY+nhhaFOyMUXAWzmuZi8TadjZOIGcWepYU8gZG 3k21Yd2/mXbFPbuDxpoFq/UBb52L1gzP9f9WgbbfkchaLX7HuEe8pQlgGnT1eoHHnXQ4 gz8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762268316; x=1762873116; 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=YiETutXUQi91zPM9wQrjIsBcMeBokATJ9Dk+OnsfOPY=; b=UIUjZXbSI97bYeMtN6jWKXDIU2RWH1j1oHHHv56ngeum6FCFGqazsV+uCaZo411RKU mSz4k9HB4n0YOel1XoY7u0vJYHvZiiRMl7QCr2/MK1YZFoXIdkQSzEQQfdtYpid5bEZw csTfM3GIX/2kneebDAZUPdWigh4l1dpMFZwSkZ0TKLlvYF+/5LaAjcVnZcLF1QwvCsWY ys4mR/8zqm3v556BMFA3dXgTgCXtowIsUMHJs84PrMsdidEbfXt7ja1iiR4/9vGdqrjV Es38qZfbsna+5S3mq8iVEM7ar2OOXDOqOPTSUZSNQT/sWsTInvWuxHJpSk0iZjHyn3VF BwWQ== X-Forwarded-Encrypted: i=1; AJvYcCUwlEF9ijh8lNwA/gEk0+pdUT3CoTJbe8BdUp0aV/YGA6GxoMhINnuVaD+AC+4pur7susjpn6vBW65t000=@vger.kernel.org X-Gm-Message-State: AOJu0YyQcrziQcj1iLfS0fRoXv/iW4UcMGlr3JWiwSo/HvL+AxuzcMSc h7RdRQi7lyE39+1IeL572eGr1KIoLDEXWV4Jcpv7U0dZW3t1JPTKPlHk X-Gm-Gg: ASbGncvzux+9pNh7/0Nko7OPM8okJXOAdjTE8+rB8tg5wVkx791QttjEsZzVW8k+vVc X++ePrNAWu4y1C4QmVK1eDscRIDirr7mRMxuoHFqITbgomf/OAU2X0748FAFNS+ruQGyIJ8hX+D xNIlmY7uQFhFQ70SqSaH2UumgPe0jVEwCojZGxFfN73S/rOG8COhjS/OYzIPWnStqJB0LaUfzSm 6kw1TLwbRQzkJ27nCGbt1kURL3Wp9aJjv0FEbb6ooPrND4EhLH0q9O1OoJ7qOLBoyZVWIqcDfcx RnynJT4G9S9qJOtJSziRKa+pt7PYBWpE0x5OvVSLRH1LBQFuXF/03hW17yRAE2dbAbFs18VopQO O8BlVjZxK7LqRc2zW+h8jIPTvHTqR6BSvhfm8vupRJ2jabS/8VIzsg9QtpZ/7bSaZUehlliAuep ppzh6X9tXn1TR/iBz6H1V06yBe3OtLbZGkY6Oy8XXestX7PTM= X-Google-Smtp-Source: AGHT+IEm9m/w9mr1Ah54jXoKE1xbMScwRImAvwjuiTBh4hTI8OJ22nQbryQ4R/71ZzmoPFNV84Nqyg== X-Received: by 2002:a05:6402:90e:b0:640:cc76:ae35 with SMTP id 4fb4d7f45d1cf-640cc76b080mr5264788a12.21.1762268315761; Tue, 04 Nov 2025 06:58:35 -0800 (PST) Received: from tablet.my.domain (83.21.17.47.ipv4.supernova.orange.pl. [83.21.17.47]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-640e6a7fcd7sm2288874a12.37.2025.11.04.06.58.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 06:58:35 -0800 (PST) From: Artur Weber Date: Tue, 04 Nov 2025 15:58:25 +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: <20251104-kona-bus-clock-v7-7-071002062659@gmail.com> References: <20251104-kona-bus-clock-v7-0-071002062659@gmail.com> In-Reply-To: <20251104-kona-bus-clock-v7-0-071002062659@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=oaleqb9XqZrB+5VSSVHMl0U9JzcMe7IFlSred6/4jZc=; b=owEBbQKS/ZANAwAKAbO7+KEToFFoAcsmYgBpChSPDzc0qX79x6O83xMuL+h1vrRyYab9QcJKX vTAZcWQZS6JAjMEAAEKAB0WIQTmYwAOrB3szWrSiQ2zu/ihE6BRaAUCaQoUjwAKCRCzu/ihE6BR aGUwD/9rHsz4h33pXwGXH/5ZmWcK9bAgXdjLQJzEJXA2ZvaTR0eYh1aY8S4QyX8yuWSPnsyfzNI 26sg4lwqP3R/ikGpjup+Thz1EzWvOiapUWActOQisJfzz5E/bY2D9IDkMYb9c9qyspwt2hMRqOS dtgPzncqkKCzbn2q+Jx0I634cK9BOMWJwEWBS+B6OcxZYx49scZxMgs3VzCfpkLf9hXxVZGFg19 33+SbwFvoQaN+wuYxUl1njAieZpbX9Q4cYDRGnQgdAerYKlFQfG8PkFwqLy1PFb/1zEuElNX4Ko +cfyw1J7jQxg12P/Itbq9oE3iPpkjsBnFfb7fNcYiSgzFb6IiRqtoDKBPZxI2Ox9J3cRK7ANY+M +pNk9YNnMUtOC5qV9bP49m7R4JOQ6aXnMMvtKH0ycKwTa/wY5/3eUDDyGCcnLyAjrEcnfazod6t 1ZwNq5yLhoOvd5kaJqKCMzW81mogJ7xIrp12Y0GGLaCtNk3NsGbctBd7ARkRbTfCJ5MXJqi4Wj2 WXySVxv0kIbwnamow75nF2WbWIy9bO/eMRW9G0RHYeZlgPpnOo/j1jGNClDArrqV1XpbERK1k5j FRv4w8NT1hXdLrK+vWNagTW8g70u72nAsLdcJLdY/eZ0t0Q5W5XmYRtqkYpCgIgNFrQcivvnRBU JidqQz4b+FUw7UQ== 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.1