From patchwork Tue Mar 18 08:13:23 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artur Weber X-Patchwork-Id: 14020564 Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1AA191C6FF4; Tue, 18 Mar 2025 08:13:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285612; cv=none; b=PWEl9lpvcBfFYAt8jrT3yC0MKvazib2N2m54VHDbSuEmU4Lm6ol/XjKa/nt8Tyb2LVRDsp5YqmGh9s/tmboH2CObYCMwbl6pvpLw/ewul+FFiIQgvpcUccauh3tb3KDVp5Ic3wVpbtEpGUYDofuG/iQLA5uYF2FN7m4C621zFiM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285612; c=relaxed/simple; bh=bvySQR16tJFNzE/pI2kWi0AFF+xSnY9gXMOet5i3wRc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hIGId337FzNP45UEbAe5UvAXsyMIkGYtLgU1YeVieBkFVI9IKkhQOUBrEg4W3YZkCgOCDBRS1D5LGp5cDzbkc+UC2ZrV2jLsEA5KPIGSgtHA0RMi51G5r8hgX/BaBr1JMbhYtXBAYDLdD7Yo3u239jJangQlp1Y6Wq5ai2mSJok= 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=Bl97wZTw; arc=none smtp.client-ip=209.85.218.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Bl97wZTw" Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-ac25313ea37so1055317766b.1; Tue, 18 Mar 2025 01:13:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742285608; x=1742890408; 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=oSdnVZ+MH1ReuHGzgOmlMch9hn7c7JFKXE65nZR9f5I=; b=Bl97wZTwrfjOgC1s1Tcceqo4MCYKGbH6pjt/nz+r88Co/z4pc9S2mJ5Z2t2ULStSO7 hS0M/fcRV/NhFPM/ZNJR2duNChW+zGkHNYPqh79DyB8mpza4NHqMu5hopwS+KZs2VU8J Z3P40PGxBUo8gFrj7kY673M8QVwn03czHeLFLI962UVU/kwXUYumwQcat6YEUJkwZPc/ ljwcQLr68rR/pk0XnuPYmez1MInEY6/AOkP9ftZy0neeve8PhYMuQVctQ+6hrkgueh6F yXNa0ByXqBvfMaBMxRv1Lb6Qk5OfoJ/DTRpARo9s2NGuiE5ahzzuy9Y4a5Q7zL1lueG5 LTng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742285608; x=1742890408; 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=oSdnVZ+MH1ReuHGzgOmlMch9hn7c7JFKXE65nZR9f5I=; b=AMJZ1aQAnWd3JAjDpKBhMH59RpbuBPSFLEk7KbV+E3GaE2R0G40i1S4DfHvBAIVnY8 9GnoGTYp57e3X5wC6N5bPemcecUG6qYUPdcHlefrs8skEcvlOyZHsUgLaNOynwVmEJKw JdpcFnZbNOECWPSaNz4rLbPhmEdDksFS44Tm1GwHAtM3r2uLo9bqJBG3/e/AdC1DeAPl SoXsQdKwn+78W7hIMN/Uk0MCGgNoloy3peOlztlZEb9kM2Hg1XUiJ2PsORJeTlO5oDXs IFWFDLgMvbAHNRmESQj2mnbcmAf1rmLReMUgKGiW4pNHUkKjMLIaNnM6vJXJ5O29XHms rcYQ== X-Forwarded-Encrypted: i=1; AJvYcCUYErJ1MnR7fiDDXEb0lR0JVHWwIRJpteybYxePSqqJ/+PRCzzHjZk1/hkdJsU6CiN7MZfgZ289sOZb@vger.kernel.org, AJvYcCUu70AY16wGMoo9xz8lZfegdMIgcJ0OXHY3PiPwvozEpx6Fyni2mpzdCwnwol1pAUGUZ9ZhC6JDUV3V@vger.kernel.org, AJvYcCXWlc7jYLJqpK8DRMA+gIP3cz/CIvCwAWtYNVyovNqbOV7TjOwEUQDBMhIXNh/030LY759DIxyJxalbei3C@vger.kernel.org X-Gm-Message-State: AOJu0Yw3PjtCMuVVlalS7yq91Kr1IDpMzMHupkizY0KgeAHMAUUXrGK9 kqcnUilyecQS6uwus5lIFVCAqRArtagHJMw49qJVE2pDE294A/VF X-Gm-Gg: ASbGncvDZQDOgQPJZ4tvQda/IPK/p5jg2nKjck9PoPfGgMPhwyppyZksygbROkPRJaL BHPlxV6V/lEFA6T7PhDHGyf1mT2Mlico6VhtIkwLV497VaTYvVpJ8Kjg2nzEdsKugULSOCLq1Hl 3tnuXMWE8Xa2JH1YbATe/F12NmVFIlOzAUo4YFRNHvlk0RD3c63mi1AG9YEyipCpHzRc7R2SwmT DYTwW4FH7ZtLQkyyPBCNWm1b4im/DuQ9+cky/orMqhbZ9avZC63jkOnO2kroafqDi782uvZmWKb WGrATWIlfKEzQ0zLo8LNtPEddcBDVPucdZZf2nIRur9o0pW0+oFB3Z6OJjzVPS94R1eDXsjt1cZ YAmV6vHH9Y2K/r1X8gQ== X-Google-Smtp-Source: AGHT+IGT3uSms1XP9nsU7wCVLSolk9G4aYHxgGBJzlDxAoxoJJUu3RfcQydfTaOS0dGqBPZKA+SKxg== X-Received: by 2002:a17:907:9687:b0:ac2:b086:88d5 with SMTP id a640c23a62f3a-ac3301d26a2mr1555545866b.18.1742285608003; Tue, 18 Mar 2025 01:13:28 -0700 (PDT) Received: from hex.my.domain (83.11.178.210.ipv4.supernova.orange.pl. [83.11.178.210]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5e816ad392csm7176097a12.53.2025.03.18.01.13.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 01:13:27 -0700 (PDT) From: Artur Weber Date: Tue, 18 Mar 2025 09:13:23 +0100 Subject: [PATCH v4 1/8] clk: bcm: kona: Move CLOCK_COUNT defines into the driver Precedence: bulk X-Mailing-List: linux-clk@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20250318-kona-bus-clock-v4-1-f54416e8328f@gmail.com> References: <20250318-kona-bus-clock-v4-0-f54416e8328f@gmail.com> In-Reply-To: <20250318-kona-bus-clock-v4-0-f54416e8328f@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, Artur Weber X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1742285605; l=6691; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=bvySQR16tJFNzE/pI2kWi0AFF+xSnY9gXMOet5i3wRc=; b=QF49Ow8eonzdk4v7t3eG88vvP2xmGQ6hslKwBPxVFP+6SJNp3A4NlDy1kKKNjF5Ou/TBIdElS ZrZknWwvvHwDR07Mu7i97u9p/B3lE/UKXFsZt4jKaHKPoJy7d83G7p3 X-Developer-Key: i=aweber.kernel@gmail.com; a=ed25519; pk=RhDBfWbJEHqDibXbhNEBAnc9FMkyznGxX/hwfhL8bv8= 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. 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 520c3aeb4ea9c4a431512c0909f9545c1761d17a..14b7db824704824b4a6bfcce79308afa44e092c6 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 = { .clocks = CLOCKS("ref_crystal"), }; +#define BCM21664_ROOT_CCU_CLK_COUNT (BCM21664_ROOT_CCU_FRAC_1M + 1) + static struct ccu_data root_ccu_data = { BCM21664_CCU_COMMON(root, ROOT), /* no policy control */ .kona_clks = { [BCM21664_ROOT_CCU_FRAC_1M] = KONA_CLK(root, frac_1m, peri), - [BCM21664_ROOT_CCU_CLOCK_COUNT] = LAST_KONA_CLK, + [BCM21664_ROOT_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -39,6 +41,8 @@ static struct peri_clk_data hub_timer_data = { .trig = TRIGGER(0x0a40, 4), }; +#define BCM21664_AON_CCU_CLK_COUNT (BCM21664_AON_CCU_HUB_TIMER + 1) + static struct ccu_data aon_ccu_data = { BCM21664_CCU_COMMON(aon, AON), .policy = { @@ -48,7 +52,7 @@ static struct ccu_data aon_ccu_data = { .kona_clks = { [BCM21664_AON_CCU_HUB_TIMER] = KONA_CLK(aon, hub_timer, peri), - [BCM21664_AON_CCU_CLOCK_COUNT] = LAST_KONA_CLK, + [BCM21664_AON_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -122,6 +126,8 @@ static struct peri_clk_data sdio4_sleep_data = { .gate = HW_SW_GATE(0x0360, 18, 2, 3), }; +#define BCM21664_MASTER_CCU_CLK_COUNT (BCM21664_MASTER_CCU_SDIO4_SLEEP + 1) + static struct ccu_data master_ccu_data = { BCM21664_CCU_COMMON(master, MASTER), .policy = { @@ -145,7 +151,7 @@ static struct ccu_data master_ccu_data = { KONA_CLK(master, sdio3_sleep, peri), [BCM21664_MASTER_CCU_SDIO4_SLEEP] = KONA_CLK(master, sdio4_sleep, peri), - [BCM21664_MASTER_CCU_CLOCK_COUNT] = LAST_KONA_CLK, + [BCM21664_MASTER_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -225,6 +231,8 @@ static struct peri_clk_data bsc4_data = { .trig = TRIGGER(0x0afc, 19), }; +#define BCM21664_SLAVE_CCU_CLK_COUNT (BCM21664_SLAVE_CCU_BSC4 + 1) + static struct ccu_data slave_ccu_data = { BCM21664_CCU_COMMON(slave, SLAVE), .policy = { @@ -246,7 +254,7 @@ static struct ccu_data slave_ccu_data = { KONA_CLK(slave, bsc3, peri), [BCM21664_SLAVE_CCU_BSC4] = KONA_CLK(slave, bsc4, peri), - [BCM21664_SLAVE_CCU_CLOCK_COUNT] = LAST_KONA_CLK, + [BCM21664_SLAVE_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; diff --git a/drivers/clk/bcm/clk-bcm281xx.c b/drivers/clk/bcm/clk-bcm281xx.c index 823d5dfa31b84f502fcd6ada1eff6d8f4673b3dd..62c3bf4656259261ae4f7d81dae48c90ab26c04e 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 = { .clocks = CLOCKS("ref_crystal"), }; +#define BCM281XX_ROOT_CCU_CLK_COUNT (BCM281XX_ROOT_CCU_FRAC_1M + 1) + static struct ccu_data root_ccu_data = { BCM281XX_CCU_COMMON(root, ROOT), .kona_clks = { [BCM281XX_ROOT_CCU_FRAC_1M] = KONA_CLK(root, frac_1m, peri), - [BCM281XX_ROOT_CCU_CLOCK_COUNT] = LAST_KONA_CLK, + [BCM281XX_ROOT_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -57,6 +59,8 @@ static struct peri_clk_data pmu_bsc_var_data = { .trig = TRIGGER(0x0a40, 2), }; +#define BCM281XX_AON_CCU_CLK_COUNT (BCM281XX_AON_CCU_PMU_BSC_VAR + 1) + static struct ccu_data aon_ccu_data = { BCM281XX_CCU_COMMON(aon, AON), .kona_clks = { @@ -66,7 +70,7 @@ static struct ccu_data aon_ccu_data = { KONA_CLK(aon, pmu_bsc, peri), [BCM281XX_AON_CCU_PMU_BSC_VAR] = KONA_CLK(aon, pmu_bsc_var, peri), - [BCM281XX_AON_CCU_CLOCK_COUNT] = LAST_KONA_CLK, + [BCM281XX_AON_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -80,12 +84,14 @@ static struct peri_clk_data tmon_1m_data = { .trig = TRIGGER(0x0e84, 1), }; +#define BCM281XX_HUB_CCU_CLK_COUNT (BCM281XX_HUB_CCU_TMON_1M + 1) + static struct ccu_data hub_ccu_data = { BCM281XX_CCU_COMMON(hub, HUB), .kona_clks = { [BCM281XX_HUB_CCU_TMON_1M] = KONA_CLK(hub, tmon_1m, peri), - [BCM281XX_HUB_CCU_CLOCK_COUNT] = LAST_KONA_CLK, + [BCM281XX_HUB_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -172,6 +178,8 @@ static struct peri_clk_data hsic2_12m_data = { .trig = TRIGGER(0x0afc, 5), }; +#define BCM281XX_MASTER_CCU_CLK_COUNT (BCM281XX_MASTER_CCU_HSIC2_12M + 1) + static struct ccu_data master_ccu_data = { BCM281XX_CCU_COMMON(master, MASTER), .kona_clks = { @@ -189,7 +197,7 @@ static struct ccu_data master_ccu_data = { KONA_CLK(master, hsic2_48m, peri), [BCM281XX_MASTER_CCU_HSIC2_12M] = KONA_CLK(master, hsic2_12m, peri), - [BCM281XX_MASTER_CCU_CLOCK_COUNT] = LAST_KONA_CLK, + [BCM281XX_MASTER_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -301,6 +309,8 @@ static struct peri_clk_data pwm_data = { .trig = TRIGGER(0x0afc, 15), }; +#define BCM281XX_SLAVE_CCU_CLK_COUNT (BCM281XX_SLAVE_CCU_PWM + 1) + static struct ccu_data slave_ccu_data = { BCM281XX_CCU_COMMON(slave, SLAVE), .kona_clks = { @@ -324,7 +334,7 @@ static struct ccu_data slave_ccu_data = { KONA_CLK(slave, bsc3, peri), [BCM281XX_SLAVE_CCU_PWM] = KONA_CLK(slave, pwm, peri), - [BCM281XX_SLAVE_CCU_CLOCK_COUNT] = LAST_KONA_CLK, + [BCM281XX_SLAVE_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; diff --git a/drivers/clk/bcm/clk-kona.h b/drivers/clk/bcm/clk-kona.h index e09655024ac2ad42538b924f304b23e87b7db2ce..59dee015a07d749f8ac2a3b4dcfe38d7b92bd0f6 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 = #_name "_ccu", \ .lock = __SPIN_LOCK_UNLOCKED(_name ## _ccu_data.lock), \ - .clk_num = _prefix ## _ ## _ccuname ## _CCU_CLOCK_COUNT + .clk_num = _prefix ## _ ## _ccuname ## _CCU_CLK_COUNT /* Exported globals */