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 */ From patchwork Tue Mar 18 08:13:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artur Weber X-Patchwork-Id: 14020565 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4BA111F098D; Tue, 18 Mar 2025 08:13:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285613; cv=none; b=ktamQ6U8B6m1Mxv78nh45GzxLKFyNgUWmHJXItVQDFJJQ3XB1+4X5PoFJrc+GV5rFoiSooLs5Z7/yg0M2IaK5ovTlLD537r7FWTm7pnVQc+EbdOw4pNDPImTBSWxCIRvE7rPJeZWg7si2Q9PPvaH4Qq0ggkbz/2+4OuyIK4H9so= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285613; c=relaxed/simple; bh=dY3kv0VjiYsPO9+KS4FI1+q2pZjfJCx6WUBgsDn5+/M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Qq6o0W830SsO93kbLprC7zHmYg/ydoiY5oo/omEnOd/HE2fisrq6j1xNmBveI9Vn6B2ReU5seuDQHQy+07ubVSOKEvjsytAsbK8GGkb3IsMb0FUjnNWOE1HKC5sVeSqNN6540sQmTBiXclBX6RKJgstoCVYY2p8lDPvXX0B0VLg= 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=g0F+nqMc; arc=none smtp.client-ip=209.85.208.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="g0F+nqMc" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-5e5cd420781so10219855a12.2; Tue, 18 Mar 2025 01:13:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742285609; x=1742890409; 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=KDfD+AA03RBRhqgQNFDrugFW8XcQwp0v+TPUCIjA2Lw=; b=g0F+nqMcCHhOZEJU1+QZThmynytXnwtOBMpnGi9hspmLOfj35zv7p8IaYJAyKV5DCo raVgPKoS6Afyh3PV2lyrIeCjJCY5XNqtVex7klN7cD+4QF8S4ryq1tGutD9eVxdkl4Sv UAyMReU2xiKAquP50GFq01O2K++uVxoQKevrhWSAISeS5DwsUSBXe6OUGPzVqsgXXEGI WjOSH1+rRlj+WqefaWTbicH2LEa47mu+xgzvoO9Dhs/S86DGUyZHGIrns8+28JCEEM3v U5gY3d5ebVwXwo5iLrqqYetbBfjtR7s0365tHv0wrRitMyu7DIZah8HQ5o4Nz6y03goh QtYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742285609; x=1742890409; 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=KDfD+AA03RBRhqgQNFDrugFW8XcQwp0v+TPUCIjA2Lw=; b=FTcieowxYLAE6kA0um8aHwoDxy3flsxk9fQPywOcdIfmMsKl86nD8lDPIy4fdq5pgw ADB2BWzBm2jfBbHQ/25sA3vrZbb9vOb2vscJZ2RldTBhO5aC38Puaf+8Mj6+gDrFTF73 5UemTY9VK5pSL4O/RYWQkHYGM/ywoH2Qm8xQ+EB2xvWgzsjFQtkvizcxX3l/SuRozg5I /jGlJz/PBYviwPxBnKoPG+9BHS4kp2+PKpM8vfo2PwEyZxTuBwYO9OjInV4Rj7szirA1 8DlJ8O1238F0xCFKyLMdiKcs8FACqgSPOcoEulNAZHc20Feztm7MS7LY0KquM+3bDNwP 05JQ== X-Forwarded-Encrypted: i=1; AJvYcCVQIHaMK9pBuZEPRi3nM6cUMZLmIvpL5zZ+psItz1tFEuXVq/4M2yLRQzcg49V4xwCDgXy8ShGDbk/d@vger.kernel.org, AJvYcCXEfuLllaidiTalHwqgRHFKPPhYs2EkydXYZ4YeGTHACUwIvaC3j7RdMHWibT1JcTz6Crbcrqt0RBAq9aU9@vger.kernel.org, AJvYcCXtVNiop383NhrCL1FLa2MY/NrJWRdPEJKNsLcxmfLH42UxOlG4XBn3r7kEXKTFo7O+7Pfc6qMHy74k@vger.kernel.org X-Gm-Message-State: AOJu0YxAE+d8zLqRsfVKeSQ1aP+Sjs/b/SI3PCQYcvwL+sj8MEaADbf/ jk28isc0VLDX406Us0oh0bMrv9mEnpAZG4ZxQIaYnJR+uX9+O0sa X-Gm-Gg: ASbGncuO5ZVN3KjPhyIfI/XTCw0kRsNM1glXEkQNT6AbhZFcWlapzT/LfnXnbmSpGuT Eokavb8wx/si/+skGbQ+yOEC8Lb3Sw+GCTvhnfNKQ01xI/MPsvRMM9iKBOwQrxrRU309nukn6RX Nf/6/7JosxgsCPjvtSCPZk2Inhym3BgLUltuPBPkg6kDur3fO2WTMbHFRjHjgI+1qn/9Q8Z6TB7 VQJQmS6xqysg64RVhtTH5w8pLBITdmpXtnFGv9IN3FQyU6gVV+vmZYx2G3MqliS8nb5A1Wfd97l ShS0lK1ZpuEbiQEkFG7HgTcFYFHxTqk3v5kuVFIpvdmpLA5LXCErd08V3a105EKisspQZ+v+lRe akRLbKRwY2UjsSAB5Fw== X-Google-Smtp-Source: AGHT+IECuJF9L/8frvIxYItdQyfgk+ujeXwAxNGYFs766pry18H2t3aZn+d5lQQuRfFoJH8GCqGU6Q== X-Received: by 2002:a05:6402:2554:b0:5eb:1dac:5a20 with SMTP id 4fb4d7f45d1cf-5eb1dfabf84mr2163527a12.31.1742285609245; Tue, 18 Mar 2025 01:13:29 -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.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 01:13:28 -0700 (PDT) From: Artur Weber Date: Tue, 18 Mar 2025 09:13:24 +0100 Subject: [PATCH v4 2/8] dt-bindings: clock: brcm,kona-ccu: Drop CLOCK_COUNT defines from DT headers 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-2-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 , Krzysztof Kozlowski X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1742285605; l=2774; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=dY3kv0VjiYsPO9+KS4FI1+q2pZjfJCx6WUBgsDn5+/M=; b=Z868CUa9XM1vhZTi/O0IY9JIanJs4dTl5Z3FW6Jz0HjavNvotukpbNpXz1ifENAHRgAbANA2N 4HuHcqaM/uKDxPDHQQ05CneFBFfIvjJAWXgOckSTObi5YgR0/lRgu4c X-Developer-Key: i=aweber.kernel@gmail.com; a=ed25519; pk=RhDBfWbJEHqDibXbhNEBAnc9FMkyznGxX/hwfhL8bv8= 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 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/clock/bcm21664.h index 7c7492742f3d4ca439236f2f352e432989409570..7a380a51848ce100cbf94f9da2b997dbe3a65230 100644 --- a/include/dt-bindings/clock/bcm21664.h +++ b/include/dt-bindings/clock/bcm21664.h @@ -21,12 +21,10 @@ /* root CCU clock ids */ #define BCM21664_ROOT_CCU_FRAC_1M 0 -#define BCM21664_ROOT_CCU_CLOCK_COUNT 1 /* aon CCU clock ids */ #define BCM21664_AON_CCU_HUB_TIMER 0 -#define BCM21664_AON_CCU_CLOCK_COUNT 1 /* master CCU clock ids */ @@ -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 /* slave CCU clock ids */ @@ -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 #endif /* _CLOCK_BCM21664_H */ diff --git a/include/dt-bindings/clock/bcm281xx.h b/include/dt-bindings/clock/bcm281xx.h index d74ca42112e79746c513f6861a89628ee03f0f79..0c7a7e10cb425ddb597392939cb218545a48bf22 100644 --- a/include/dt-bindings/clock/bcm281xx.h +++ b/include/dt-bindings/clock/bcm281xx.h @@ -27,19 +27,16 @@ /* root CCU clock ids */ #define BCM281XX_ROOT_CCU_FRAC_1M 0 -#define BCM281XX_ROOT_CCU_CLOCK_COUNT 1 /* aon CCU clock ids */ #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 /* hub CCU clock ids */ #define BCM281XX_HUB_CCU_TMON_1M 0 -#define BCM281XX_HUB_CCU_CLOCK_COUNT 1 /* master CCU clock ids */ @@ -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 /* slave CCU clock ids */ @@ -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 #endif /* _CLOCK_BCM281XX_H */ From patchwork Tue Mar 18 08:13:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artur Weber X-Patchwork-Id: 14020566 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 68BF21F869E; Tue, 18 Mar 2025 08:13:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285614; cv=none; b=EeDq/UBKu2UHNbYGeXRmU2TCagbdirJxtpV3uj65IeI6rr1s1sto+hPY4lnnCc03azNHteBTncM7MnjC0HtR0dSo7Mq8y4JXOjnBxlOKf7NcJBD+p+Ky/ga77wtzY8Uai6edVoIZ4uLwzmW0FwfBaWqgUSA/Sfxz1CFoaBsQ6AI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285614; c=relaxed/simple; bh=Tnt2Bw1GuZJ4Y3qxlAHIPNN/1F65pAZ4Xn81ZmYB0Ds=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cBeSIDzyAVQxx1DebRQ3VRKmatlSqNxEDPfHpXB+PgYr2GJT3y6EeSZy7lYiWaUURITaQvF7VVYtzlR+cmrBLe4SldKgANVOWVeLZsEjPoCILcb+jqUDhpZqV6ZfhVv48k1flHxRU+sYmrBAj8gteSugWXTwhcVlfomKYz2nl5c= 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=floR1dAl; arc=none smtp.client-ip=209.85.208.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="floR1dAl" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5e5cd420781so10219881a12.2; Tue, 18 Mar 2025 01:13:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742285611; x=1742890411; 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=pCrJ250UcrWdeqKjZZhzKYlK5P8D+UFUdvapD5mzsoA=; b=floR1dAlftAo0EyG7UxrS3V+7/dVgZvrXzUHlHHnvEzYV6KdLwCjxSZ6vNLpmUz1Tn 34+s/0KHRequUyrkwSGaxS/l/5cRQaXdtlOYGkoVgIQLmpDlE6NNqlMCnisA233NUzLS qSnX51D4NqTe/rUj7s+YiZi2A7ANjg+FeQHu6n7YKwlh8ie2Azba2u0C7ehQ4C0s8JVe J49CM6oT8sUxWGvwIzCEBFfxhJ9Ge1DiGoeMJyh/5JRe8JaWPcUu/obtxoumrF318Xkq dSf5mMH45MpoSTDmwH6RUP4JshSxkFJgYyG24h10AMEilzzUP11R9oiyY7oyctfdi5yf MicQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742285611; x=1742890411; 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=pCrJ250UcrWdeqKjZZhzKYlK5P8D+UFUdvapD5mzsoA=; b=gD0nUh9APBugxyI40JArXJtQFM/LOXF2qzC/nP2vL5v/Vidn+F6vtEvSYZN3r+u9Bx Dxp/km4em1rgFPUEVJNvE11xlHTVQwbor/jFaXgydJ0PiPBu/znQKFdW8+/3sNWjfjJj WXjpTF1obOBGJKvRE5/WoKwh4SGqgK3+OSZsI1e3d9x2kPRVn0tIlBoXoI4f+M+Necb8 aHapRfAuvkD7O7AsS/LfTTLUyT2h3tp/Dp3NerwONkMhSPTffVKsf1o7KinVE2Z4wzoR WBADLP6m4ACC4OoD5NYvwog28uCecmhrTAJpvx0S5s183dmbTbsVNsCpJzLwAv3hHu9+ XvNQ== X-Forwarded-Encrypted: i=1; AJvYcCXD1Ab+HKegP1+cwJPOFrZ3bDB7SOu0t6t2AV5qGL3cw6tiIjLnELfUbzWIeIETnNTouROKK++VuiroLqPo@vger.kernel.org, AJvYcCXNggss+6uBgHQ5/aHZN7HUDKWWueKtwuuPDjvGIGmmDO7/0UFQBgpRjWD5uZvkKTrvCHrDpPnlLMTB@vger.kernel.org, AJvYcCXTdxyeYtLyN2Gmx+M4Am8dBDf352vk3CEQLwnHx3BaBXPCowEBUlG0P5rANsGZ57Cx/pZPvTa7/2gd@vger.kernel.org X-Gm-Message-State: AOJu0YwfcmByTljkvDwvmCGqIskMjVbhj8E4RYvPxrzAfiMitpx+FmMe fQ1y3Wqh2lbYgeO3wJrQym4fUewWfkvCrRgvSUcTN9zHJI0AUQrw X-Gm-Gg: ASbGnctpO7ePxIKHjwJ0wAZAUsKYLY/KbEiMctyv8OMBMH+1HE/wuyltoLI4F4V5BG9 9AJ8hJQNsU5ERu+sIsCyLXP6k3LQCrV7V0ix4VD9BGF1/JOB5xMy30PA8e6Lg0IgVOGRmzv1Zli n0g2Ic9tfNv1IzBCXi7Ay2T99E0sYmwExOfcpX88dboD02LO/v9blBihtcUrJdgBJjyo9ru1ceZ pLYon6lGMrZsZjCvQOswLWYu6XHrpfYygWLPoF8O3Wf6EIXJ/+Ig/FIdKVtvFOKF4K7m7J0QJ// c71P748RGx9L8TcBjrLhvck8yOKtXIXGQ5gwxEmInt2mwWH70KeHK9faY9IipfiD/mu0zbexomU NY3W6gVAhsMcyO2kJ5w== X-Google-Smtp-Source: AGHT+IGphjdtjwL25qaFnoEuBlWLazBJ+38TfkVvhV24WT70VxGIUTAkF5zn7EBJENP/furvDywjXw== X-Received: by 2002:a05:6402:278a:b0:5e8:bf2a:7e8c with SMTP id 4fb4d7f45d1cf-5eb1dee2f2bmr2593392a12.11.1742285610486; Tue, 18 Mar 2025 01:13:30 -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.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 01:13:30 -0700 (PDT) From: Artur Weber Date: Tue, 18 Mar 2025 09:13:25 +0100 Subject: [PATCH v4 3/8] dt-bindings: clock: brcm,kona-ccu: Add BCM21664 and BCM281xx bus clocks 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-3-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=6850; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=Tnt2Bw1GuZJ4Y3qxlAHIPNN/1F65pAZ4Xn81ZmYB0Ds=; b=yLg3N+YaZagGfAQNvGlbSkAvVX6kBfAqPs3XFw65xV+X4KRjhe2QqecLXTKemJN6aKdRMrW8p Dfm54+WINNnCNfJ6auwJi/VgvytJG36RcOxVqD5xm7PrZMnk2jgvvkq X-Developer-Key: i=aweber.kernel@gmail.com; a=ed25519; pk=RhDBfWbJEHqDibXbhNEBAnc9FMkyznGxX/hwfhL8bv8= 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). Signed-off-by: Artur Weber Reviewed-by: Krzysztof Kozlowski --- 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/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml index e5656950b3bd0ad44ba47f0ada84b558e71df590..d00dcf916b45904177614c6f19a5df02abdf42f7 100644 --- a/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml +++ b/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml @@ -40,7 +40,7 @@ properties: clock-output-names: minItems: 1 - maxItems: 10 + maxItems: 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 additionalProperties: false @@ -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/clock/bcm21664.h index 7a380a51848ce100cbf94f9da2b997dbe3a65230..9f3614eb9036b5ce36b610fd7437338655a9cf97 100644 --- a/include/dt-bindings/clock/bcm21664.h +++ b/include/dt-bindings/clock/bcm21664.h @@ -25,6 +25,7 @@ /* aon CCU clock ids */ #define BCM21664_AON_CCU_HUB_TIMER 0 +#define BCM21664_AON_CCU_HUB_TIMER_APB 1 /* master CCU clock ids */ @@ -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 /* slave CCU clock ids */ @@ -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 #endif /* _CLOCK_BCM21664_H */ diff --git a/include/dt-bindings/clock/bcm281xx.h b/include/dt-bindings/clock/bcm281xx.h index 0c7a7e10cb425ddb597392939cb218545a48bf22..8e3ac4ab3e16fb33a82259ccb82287fdfbb749bc 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 /* hub CCU clock ids */ @@ -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 /* slave CCU clock ids */ @@ -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 #endif /* _CLOCK_BCM281XX_H */ From patchwork Tue Mar 18 08:13:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artur Weber X-Patchwork-Id: 14020567 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8E9341FE460; Tue, 18 Mar 2025 08:13:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285615; cv=none; b=WeGquiVrKhvh+ghPQ/8zkn9T/Ql9eFkQbR9Wl0+jW5Gx1QYDDTv7MvquwvS4p9qlW2VRQKh+pzrSybG75wTxaNaDhp3ezK46g5AtUtu/WozKqiodaJ8der/0G8MWbZOd8ff6Z/RGPnYKq/QwbRwYK+PfNjc/rxyn/P4Mjb6/0JA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285615; c=relaxed/simple; bh=N/D+ozov42mkxpUN0F2mb99ctN15afkHt333M7gdarM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jEWO8Nz+kksRjW+6YIHPHL8DgJrVISyo5EY93w8X/uOGsyQUXvPFjADUdHfOkF6A6yc5vLYszeUgBBeVUvXDvVVhMt+g/1yOECXwQRaaTZz8fZvkAlWPLpWyKPuh+nCETBC09gXu/Tlwcn+WOXw0CmeQiuYHy12zYePD66e5JMQ= 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=jOv2RHPL; arc=none smtp.client-ip=209.85.208.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jOv2RHPL" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-5e5e63162a0so7992419a12.3; Tue, 18 Mar 2025 01:13:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742285612; x=1742890412; 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=R2/EGvlLOdRL4qxrVDr7BvfY2YVu1vDFOGWf45at+5U=; b=jOv2RHPLqE/d12oL9R4AcZMHsLPA+Sgp7A3FGXAzqab7DEKUNYveUnXNoN4+9ge/d4 TGiR5uduxdrSFyVR01X5kbjHLthf/w8ICE/YrVp0wddaYrHTyppvos9e+T7/UHhgoUfZ bgCh6RVsniCMRHT9eESFROrD+dK7paeaVR+hsfg38iUfJ1t0DfQKZuu4MqY/KdbxbpbX NAUa4SHG335M+TzDFpX0FYD89hQ1T8TYsNX6tQfhiKgwWdKRP6jX1gAI7fuIViL6Qt7o /k5lKUQyrF0XshVB6eQ9mrOkT+sgIeHGPFpVgPBsPfyEeFkyoElg+0uzIaupvxDhd7bn Xgtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742285612; x=1742890412; 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=R2/EGvlLOdRL4qxrVDr7BvfY2YVu1vDFOGWf45at+5U=; b=w4F3NbbRpfAHGnyb66+uMT4dV8pkU32kENn/rPy8eZHYDxdWP5KGdeyVfThD1jl+rm PZZ2bL9qnF20gAszRbvcwI3wkhGWHyrTLu9ROLpeOwAmYMZRT6ZMwak/oNY0I6ocKdxL yAAYUwE8OgjtHX30D6B0dsnJHWmYOikICmyHRWVkFktLxC9BXidUybRx8jIUNEW3Uc1z 4kT2bBQVkZF3X1X9JQmuzHDrjsAxLl1/Zizu1BevKYmYeRZQQP+YtdIDyfML89b3fkV8 CSkTxowMOVjTlUo+LVQj21YCp5r7vj9gNFAWeLoYraFt6dN8v+hdD1zjMlETIkrB2LR1 PWTA== X-Forwarded-Encrypted: i=1; AJvYcCV6zjIiexQncPqYDOm9luXwrmG/5vD8yTY6pz1kAftPMYpgb2qY+wXyWJtw4dy2iHxy35cyrDerOFMc1DGf@vger.kernel.org, AJvYcCVxj2e+Nv3tRD9qMtbDjHsvTzzDoxy8eBUWkkEG7yti2RslAmRYboLXOkH1++FnOrPA/oC+8ioP8D0B@vger.kernel.org, AJvYcCWf3YiWiaZls54IPAzUjPs+HVgHkopMEhx+cKvkoM6dBkXFkIrIskDXsSYUaEtdMHMniqgHS+JRTkJ6@vger.kernel.org X-Gm-Message-State: AOJu0Yw8EDfCWeO9srM0bbjFsHWf9yA4T5wDiszjRyBPgKwI2LNIrMXX q8Od3oKZEVMyRCdBfAV8HXbsPxdgYE1hTkRtm13ngk5Ldxmc9Fc+ X-Gm-Gg: ASbGncuWCpiM+xR/X53WqukD337JsCVwkonmL9A0qhiuGzaF+IGB0E+/u+yBn1QwR9K r860zKKdTN05aUeFhAUnrUOlHVI0mFdGZ1xrHdL2KYmriwnpytd5EETJ9a6FSqbiAbgYBDPqH8H ICzfdtGL4yI5sGIxX34mbG+hy7v4NW2x/nwRMr5Er1+RLvid47pOo8csEfQXgYaOlIMoeKAKs5O 5iPGwTAIigb9Y7ZtbXzVjMHKxZBDbQER+7j/XMmNmvRr7SsTSZIRugi4Vcbvr+ZBcsPMrhqZ0Fp 9ThNFSkH0dbohx0tHVYvsaDZxgqnpMmSmZRHQqJk9RWc6qit+d+LJZZe4m64SxBuVNvQRH6QlTo 899H7hMA0TdlgOv6Q6A== X-Google-Smtp-Source: AGHT+IF7II/mQ9MsBuBK5iGHxjudWzGqyxcktAXgIeMSGzZzpKHi6SFJFaBCsetl4NBNyVqHKWy5Sg== X-Received: by 2002:a05:6402:26c3:b0:5e5:e032:e820 with SMTP id 4fb4d7f45d1cf-5e89f154919mr15702548a12.12.1742285611734; Tue, 18 Mar 2025 01:13:31 -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.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 01:13:31 -0700 (PDT) From: Artur Weber Date: Tue, 18 Mar 2025 09:13:26 +0100 Subject: [PATCH v4 4/8] clk: bcm: kona: Add support for bus clocks 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-4-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 , Alex Elder X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1742285605; l=8577; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=N/D+ozov42mkxpUN0F2mb99ctN15afkHt333M7gdarM=; b=TFMokXm/F9Z2H/+Z0CZ0dVJ/mBnjkZynCumHZGCI3bordiaxxuL6luick3pR5+tveac55Cj2L P5Q1QL8jwWJBTt31+/zvt21bQ64KPzq8c8EvcMizO2wWh5Bl8lbm6ns X-Developer-Key: i=aweber.kernel@gmail.com; a=ed25519; pk=RhDBfWbJEHqDibXbhNEBAnc9FMkyznGxX/hwfhL8bv8= 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 Signed-off-by: Artur Weber --- 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-setup.c index 338558f6fbaec27418497fc246de17e15236ca0d..8b6123e188fbc035cda2cf394035d35197671d06 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_clk *bcm_clk) return true; } +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 != bcm_clk_bus); + bus = bcm_clk->u.bus; + name = bcm_clk->init_data.name; + range = bcm_clk->ccu->range; + + limit = range - sizeof(u32); + limit = round_down(limit, sizeof(u32)); + + policy = &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 = &bus->gate; + hyst = &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 register. */ 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); } +/* 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 != bcm_clk_bus); + + if (!bus_clk_data_offsets_valid(bcm_clk)) + return false; + + bus = bcm_clk->u.bus; + name = bcm_clk->init_data.name; + + policy = &bus->policy; + if (policy_exists(policy) && !policy_valid(policy, name)) + return false; + + gate = &bus->gate; + if (gate_exists(gate) && !gate_valid(gate, "gate", name)) + return false; + + hyst = &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 *data, clk_sel_teardown(&data->sel, init_data); } +static void bus_clk_teardown(struct bus_clk_data *data, + struct clk_init_data *init_data) +{ + init_data->num_parents = 0; + kfree(init_data->parent_names); + init_data->parent_names = 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); } +static int +bus_clk_setup(struct bus_clk_data *data, struct clk_init_data *init_data) +{ + init_data->flags = CLK_IGNORE_UNUSED; + + init_data->parent_names = NULL; + init_data->num_parents = 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 = &bcm_clk->init_data; switch (bcm_clk->type) { + case bcm_clk_bus: + ret = bus_clk_setup(bcm_clk->u.data, init_data); + if (ret) + return ret; + break; case bcm_clk_peri: ret = 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 ec5749e301ba82933144f34acfaf6f3680c443f7..e92d57f3bbb147e72221802175a80502897d7504 100644 --- a/drivers/clk/bcm/clk-kona.c +++ b/drivers/clk/bcm/clk-kona.c @@ -961,7 +961,7 @@ static int selector_write(struct ccu_data *ccu, struct bcm_clk_gate *gate, return ret; } -/* Clock operations */ +/* Peripheral clock operations */ static int kona_peri_clk_enable(struct clk_hw *hw) { @@ -1233,9 +1233,69 @@ static bool __peri_clk_init(struct kona_clk *bcm_clk) return true; } +/* Bus clock operations */ + +static int kona_bus_clk_enable(struct clk_hw *hw) +{ + struct kona_clk *bcm_clk = to_kona_clk(hw); + struct bcm_clk_gate *gate = &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 = to_kona_clk(hw); + struct bcm_clk_gate *gate = &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 = to_kona_clk(hw); + struct bcm_clk_gate *gate = &bcm_clk->u.bus->gate; + + return is_clk_gate_enabled(bcm_clk->ccu, gate) ? 1 : 0; +} + +struct clk_ops kona_bus_clk_ops = { + .enable = kona_bus_clk_enable, + .disable = kona_bus_clk_disable, + .is_enabled = 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 = bcm_clk->ccu; + struct bus_clk_data *bus = bcm_clk->u.bus; + const char *name = bcm_clk->init_data.name; + + BUG_ON(bcm_clk->type != 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 59dee015a07d749f8ac2a3b4dcfe38d7b92bd0f6..a03b9e054d96af69bf21160e26b2d7e4d4c53765 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 */ @@ -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 */ extern struct clk_ops kona_peri_clk_ops; +extern struct clk_ops kona_bus_clk_ops; /* Externally visible functions */ From patchwork Tue Mar 18 08:13:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artur Weber X-Patchwork-Id: 14020568 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B58EF204F65; Tue, 18 Mar 2025 08:13:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285616; cv=none; b=dsLoEDiSlb240v1ZbrcFMh07SBGS35KIjJYSMdY2iD8M0pPT/+PnFO5rlnxmt7cEaLxYtYjOVQcbpHiFFdd0Ki/vKUfPIuaAQ0aFubvT6AmFnPOBisLT/rfdaDvruxN1yhyR2fhULCANkmHCSeMheaF5EWUNQT/U861ylutEYns= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285616; c=relaxed/simple; bh=jO9yj4JdRvUHJD48dysafY3oqOFcvgf3S97G+AoKBvI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZpT5l43IMYhBeLCE7ygLdVpN+EKghQ4Ps8iWIFTLIvYIjO0/DgC9xai+d4/I9RDyHRL1vIEpV/0t3CEcmEeAn8Xv1LgOqi4ChSNiEGIW7YcfeQco3qcfZhl9MtqN3M9Hn46i5VcCjRoQdMk6c9wGQGQFaYZ0FYuThzF4ybxdaEI= 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=bYUm95bM; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bYUm95bM" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5e5e0caa151so627852a12.0; Tue, 18 Mar 2025 01:13:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742285613; x=1742890413; 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=i/vNqSTjvJUXMbbkSLuN6N5IpjUTnGZf9pVtdHyq3+s=; b=bYUm95bMre8dz7zvUKw+aye8hxRU63Z2S9SjAd0ugfpcIuDR8hgjezwxlzJrQ/hpLb IOCKsmMIJJVnAhi8n3lUJJ3QZYQHs+C2qH1jXz65ivpFv1b+Bw5bWzzUSqaAD6cfX4dP hqGOJDTUKPW1BfllvPVB+tKr8JQxIShUZq5v40QxPXnf86vK5pTpTFlZQGykkKi+g0W8 Q5BTFZXgARXPwm6j5T1dTB2zaVB2w46EVVG3HTpSzV9DOQ2q39iAIfbff4tdtvMxd38V KulMZuFEuu9r9u3TqBnHw58buJKLQSiCtH88rdJW9q8fHofcqEi3L3bj90KD0IA0u2S8 qX5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742285613; x=1742890413; 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=i/vNqSTjvJUXMbbkSLuN6N5IpjUTnGZf9pVtdHyq3+s=; b=lAchvH6tIQWc/o9YWoDPi9eCfiVU+xlFqpaSXlHcebpvrhbrLGwAKx184Z5WsrqpMz ax8Jj7cP+5EQ5KERiZo4RZlg70BhQAiQbBHmroI17ylQtzgNYvwmMNYpPC0OCJoFZ3G1 mQLgBpBxHMOlNso/mecHwO/tFnRsYNH3gV5ufAnZ9+eunXyOKwJvL68Xn5sGwGdFKSz5 4xQWpmT04Dm0jduEy9sm3MkwgOZxjc56u1yjLScGgEadGwNBcffVEryclsBhIM9n720h 9Spj9YYSRRBrNCnY9M+O6zMcQXRLXqQuVh/Om8u5w6/bMbZvA5NwJnIMyM7+8hvN2Cn+ K5QA== X-Forwarded-Encrypted: i=1; AJvYcCUtF3Cqo+F/r+Puzc884Hq8zdOLJnYyBqrkHGjtcOjy3FV2W1tCaSGaMcebjTrlrlyGHPETsSK0nd1r@vger.kernel.org, AJvYcCWvTEVBanP5SebSR9qXvu732nDofQxjC7kfcs0Hl/HIM0SGw9iVFs+BcQ2mfyj/s7iHKZLKyS8HZosDmcJ2@vger.kernel.org, AJvYcCXzJkUnuOaWri6VNx4PRQppSzli8zuO/VELjm+O/Bn1W4vASXPBVFM2Jxx/nY47pZTk57PcQ5atBPeP@vger.kernel.org X-Gm-Message-State: AOJu0YxhFUYonsT+2YoDNzsNlMN4FwMbMczZ1zV2/OtUzZg2bWqt7BnF fmgB99QJDXnrnOrBBC8+Dk50j2rqTBcX+dwQkBbplZCgkz0B4rf8 X-Gm-Gg: ASbGncsWOwy3P+4ApKNklQKdtWT3NqUoqRagjpMQsjaiaFvSHE0YhTDt+2haFv4CP6Z ifYK51SA8WHtyjhFH7j8paHSsYWNDMe8nH6pVVBdDEQZk0ZV7/A1rcsTes6zUMw0chEh66nO0/S ur0h47QXcHexvBqSpJTuoVFeovtIHtUR+ygbTk2C63UX6Clc2RrWPmmfO4+nGzVE4PyV559VXeZ F9vKgCgppfEOuTGo7k/GXA864K2BHGQrqkpjfMMmefr7bh/gIAZBc3cNHwrGij8l2wwlpFfPHVG 7BevqV1N3kNbL1FW5SarR39tWiP6Hts2Ori91BKSbzspJfUpXNPWK+U4xH/liOCMkRbQmnSRZII I4pIzKoVqrTNblHjAVg== X-Google-Smtp-Source: AGHT+IH153oj2Wa5DvE2ucE8RWRnoITAXzB0tQKCKsJWV4NeJbW5lPk4zAJXXhSnFkwRyy28AqG2Rw== X-Received: by 2002:a05:6402:84f:b0:5e7:dcab:1df8 with SMTP id 4fb4d7f45d1cf-5e8a0426a94mr12941324a12.26.1742285612929; Tue, 18 Mar 2025 01:13:32 -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.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 01:13:32 -0700 (PDT) From: Artur Weber Date: Tue, 18 Mar 2025 09:13:27 +0100 Subject: [PATCH v4 5/8] clk: bcm21664: Add corresponding bus clocks for peripheral clocks 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-5-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=5067; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=jO9yj4JdRvUHJD48dysafY3oqOFcvgf3S97G+AoKBvI=; b=I9dYYczZ68d/6DWw8zgksZaoYUB+PhC3Gut7zDeW4gsslma5Rdl/2uspI7h7J5PQVwtTKwIBr Qrm3VebE2a1CQg42gvt53FprjsaG90tXM1dXUPF6TYGoffGIxPdOw5w X-Developer-Key: i=aweber.kernel@gmail.com; a=ed25519; pk=RhDBfWbJEHqDibXbhNEBAnc9FMkyznGxX/hwfhL8bv8= 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. 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 14b7db824704824b4a6bfcce79308afa44e092c6..4223ac1c35a258bd30ba2bd4b240da6b1e88fa06 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 = { .trig = TRIGGER(0x0a40, 4), }; -#define BCM21664_AON_CCU_CLK_COUNT (BCM21664_AON_CCU_HUB_TIMER + 1) +static struct bus_clk_data hub_timer_apb_data = { + .gate = HW_SW_GATE(0x0414, 18, 3, 2), + .hyst = HYST(0x0414, 10, 11), +}; + +#define BCM21664_AON_CCU_CLK_COUNT (BCM21664_AON_CCU_HUB_TIMER_APB + 1) static struct ccu_data aon_ccu_data = { BCM21664_CCU_COMMON(aon, AON), @@ -52,6 +57,8 @@ static struct ccu_data aon_ccu_data = { .kona_clks = { [BCM21664_AON_CCU_HUB_TIMER] = KONA_CLK(aon, hub_timer, peri), + [BCM21664_AON_CCU_HUB_TIMER_APB] = + KONA_CLK(aon, hub_timer_apb, bus), [BCM21664_AON_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -126,7 +133,27 @@ 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 bus_clk_data sdio1_ahb_data = { + .gate = HW_SW_GATE(0x0358, 16, 0, 1), +}; + +static struct bus_clk_data sdio2_ahb_data = { + .gate = HW_SW_GATE(0x035c, 16, 0, 1), +}; + +static struct bus_clk_data sdio3_ahb_data = { + .gate = HW_SW_GATE(0x0364, 16, 0, 1), +}; + +static struct bus_clk_data sdio4_ahb_data = { + .gate = HW_SW_GATE(0x0360, 16, 0, 1), +}; + +static struct bus_clk_data usb_otg_ahb_data = { + .gate = HW_SW_GATE(0x0348, 16, 0, 1), +}; + +#define BCM21664_MASTER_CCU_CLK_COUNT (BCM21664_MASTER_CCU_USB_OTG_AHB + 1) static struct ccu_data master_ccu_data = { BCM21664_CCU_COMMON(master, MASTER), @@ -151,6 +178,16 @@ 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_SDIO1_AHB] = + KONA_CLK(master, sdio1_ahb, bus), + [BCM21664_MASTER_CCU_SDIO2_AHB] = + KONA_CLK(master, sdio2_ahb, bus), + [BCM21664_MASTER_CCU_SDIO3_AHB] = + KONA_CLK(master, sdio3_ahb, bus), + [BCM21664_MASTER_CCU_SDIO4_AHB] = + KONA_CLK(master, sdio4_ahb, bus), + [BCM21664_MASTER_CCU_USB_OTG_AHB] = + KONA_CLK(master, usb_otg_ahb, bus), [BCM21664_MASTER_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -231,7 +268,39 @@ static struct peri_clk_data bsc4_data = { .trig = TRIGGER(0x0afc, 19), }; -#define BCM21664_SLAVE_CCU_CLK_COUNT (BCM21664_SLAVE_CCU_BSC4 + 1) +static struct bus_clk_data uartb_apb_data = { + .gate = HW_SW_GATE_AUTO(0x0400, 16, 0, 1), +}; + +static struct bus_clk_data uartb2_apb_data = { + .gate = HW_SW_GATE_AUTO(0x0404, 16, 0, 1), +}; + +static struct bus_clk_data uartb3_apb_data = { + .gate = HW_SW_GATE_AUTO(0x0408, 16, 0, 1), +}; + +static struct bus_clk_data bsc1_apb_data = { + .gate = HW_SW_GATE_AUTO(0x0458, 16, 0, 1), + .hyst = HYST(0x0458, 8, 9), +}; + +static struct bus_clk_data bsc2_apb_data = { + .gate = HW_SW_GATE_AUTO(0x045c, 16, 0, 1), + .hyst = HYST(0x045c, 8, 9), +}; + +static struct bus_clk_data bsc3_apb_data = { + .gate = HW_SW_GATE_AUTO(0x0470, 16, 0, 1), + .hyst = HYST(0x0470, 8, 9), +}; + +static struct bus_clk_data bsc4_apb_data = { + .gate = HW_SW_GATE_AUTO(0x0474, 16, 0, 1), + .hyst = HYST(0x0474, 8, 9), +}; + +#define BCM21664_SLAVE_CCU_CLK_COUNT (BCM21664_SLAVE_CCU_BSC4_APB + 1) static struct ccu_data slave_ccu_data = { BCM21664_CCU_COMMON(slave, SLAVE), @@ -254,6 +323,20 @@ static struct ccu_data slave_ccu_data = { KONA_CLK(slave, bsc3, peri), [BCM21664_SLAVE_CCU_BSC4] = KONA_CLK(slave, bsc4, peri), + [BCM21664_SLAVE_CCU_UARTB_APB] = + KONA_CLK(slave, uartb_apb, bus), + [BCM21664_SLAVE_CCU_UARTB2_APB] = + KONA_CLK(slave, uartb2_apb, bus), + [BCM21664_SLAVE_CCU_UARTB3_APB] = + KONA_CLK(slave, uartb3_apb, bus), + [BCM21664_SLAVE_CCU_BSC1_APB] = + KONA_CLK(slave, bsc1_apb, bus), + [BCM21664_SLAVE_CCU_BSC2_APB] = + KONA_CLK(slave, bsc2_apb, bus), + [BCM21664_SLAVE_CCU_BSC3_APB] = + KONA_CLK(slave, bsc3_apb, bus), + [BCM21664_SLAVE_CCU_BSC4_APB] = + KONA_CLK(slave, bsc4_apb, bus), [BCM21664_SLAVE_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; From patchwork Tue Mar 18 08:13:28 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artur Weber X-Patchwork-Id: 14020569 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 09FF6205514; Tue, 18 Mar 2025 08:13:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285618; cv=none; b=ZSiZMgKGmrmlXlOa0wI3K7rdwJr1d6HwYnBKw8Zdv0WxsHsmIoNe6pbZIhW+llhFjlcKMeKbZ/hKH7abh5KVDHm5lFps1pVS1byE0MyFQRp72cWw1jiJu9k0MPfuP7aj3vbtmO6lbh3xjKqM0GmuXAGs+TzKyxEUKapuLiUdVYY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285618; c=relaxed/simple; bh=bLBbUDqqNTwOJgLkQRCFNZz1sWpEBh/lPPGrTuBFI28=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Npok3O13/CGV+zdZt0Z8BF4sr2/4IPpxopL241/dFwvK0xyJvZmddhzHhLVdlRwmKAIiy0wZySp/huThr1Pijnvs8oJEpd9bkvnTSrqqgNk6F21tcnqr+X+3xSCPNAw4CjHW2tNdgsJu/Y7HyApaBK0AKmhuLRUsSVe4Hg7rxDw= 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=IImbgS8U; arc=none smtp.client-ip=209.85.208.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="IImbgS8U" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-5e8be1c6ff8so606656a12.1; Tue, 18 Mar 2025 01:13:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742285614; x=1742890414; 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=P3+rnobJfi7WnNz9JTOuNxhCv/ZoIzUl+jD65O4j55E=; b=IImbgS8UuTPR6IYzVs4UETF8FtyBfT888uwMoZzKCI5x7TipiXWU7kNJDP4VVHbIFo rLSdBF3xiDdJk1X49eTL1iW+TiFF3931dtHjX/xUJ9z9xJLnIM+WTjnuU6LxCVTbEoum 8PzfH8W30N+UNP/9ctSma1ul4UBbyoJ+YOzttgT4PFTeZTx8GbcBbC2nx8OpZR3/F+Zd QCNwbVqeUchWwmvpFsFCFJEjAB+nqfiyBBO+WXppUMbGKFja07a9J1QsYBhLiUJBDWNr KLLRUxwCO+HKuZEm3EbbvqkyRDnr7evOSLP+FU+pIPAAJNBwjEs3dGs41U1Rv34PEH35 h/8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742285614; x=1742890414; 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=P3+rnobJfi7WnNz9JTOuNxhCv/ZoIzUl+jD65O4j55E=; b=jNKCWaYmQv91EZcsozkA7OZmgeI9PdjZJPentnE3cPBslrc3NkXy8rzmGFsxrX5ujb 2EKWIS9456tzBXioJD0enczXWZePFgT/0PpikHDNVrW0W5kqiNImlgw+We7OBRl9bvOq hOiUtF8QqsXAIGQSemJwBDnKN8lAtR0OsD5nGOTnrW/Jw34x31TLWLy0sIz4U4HKVSA0 r4ZeYrtn5sB5u3N1UI8AMLOz7GDzEl6HR3+5Qvvu1JmYo02U6kTMEP56H4UxChGj35m2 KpEzFJfG64ZPxlo8KGp1FVz/vuQphtZZlcej5DMSv88Z4CRc43s9/S6ZCeS32GWNuzjo BqEg== X-Forwarded-Encrypted: i=1; AJvYcCWfim7/aGGSBAs10jyHIGv05/gLp49V44s6T/HDNSDMLbEjVJpYJ19vBxMxKOIHXKnqbB8ydgTNyzOI@vger.kernel.org, AJvYcCWjPxZRba3zGyVcK6widrKE0tuLeoB1WIwlZ2UL0GjSbCQDT1nEjj7s0HLqKpXJ6W4LPncAuiMS+gtb0B3q@vger.kernel.org, AJvYcCX/Y+JRv3HwTERbML1HolzpWL6CHpqrLnHiDAOlJ/2TRYDsV9n9j0exY7yK10jFiLBc00PrlDAG3zzr@vger.kernel.org X-Gm-Message-State: AOJu0YxToQABsyQ7k7dqG0tIoOYtBafuDw/Kh42JbtGkrhZTsPrzon5t JOQt1o7P7z5LFbrgDPBkBknP4xu/EUT1iwPxQAiDcX/dRXcbhC7Z X-Gm-Gg: ASbGnct/1sX0cpWzndapeSUBrNU44CSfrBwcxSCKfT/8mRJkXLF/qiqeU79g/Si2LuQ BS6pJAcODFw/Ek2X09lWu2qbM7dni69TzOdep17fqStSgZf/W22vkdh4oXjT3ySoLnZ6fMwPa5H JTfBal+32N5WeP+FBk0J0gsPIrQ/qSt+JEqNQYSozzsoXngkD7uYlI2/LDTYKuaiVtWHQ8NyR3c ZIt8FaojqGVykLK1xBypIT2JOl6Dzi7TPf6qQCSFFCCu4qhqPtgnuQsbaaJVKSdLuwzbcOgA7Fi jc/PBOlsSLPEF6PF9yvSM1SDqMfHoB0eHMI7dHwe9xkDxuv92sM0JcxD8nCR8k3CZBtiYW9xnPa YgMSCLCeoqd2iDA7NQ/t+Xy8vn+bZ X-Google-Smtp-Source: AGHT+IH+wuQJmaUOWiPGY+xjkMI5zm5lJkB2n0dMzUqIIyRKGGgFYIRAd0v2NNubG8i/3EKTvpgjGw== X-Received: by 2002:a05:6402:2813:b0:5dc:94ce:42a6 with SMTP id 4fb4d7f45d1cf-5e8a04269dcmr13499584a12.22.1742285614157; Tue, 18 Mar 2025 01:13:34 -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.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 01:13:33 -0700 (PDT) From: Artur Weber Date: Tue, 18 Mar 2025 09:13:28 +0100 Subject: [PATCH v4 6/8] clk: bcm281xx: Add corresponding bus clocks for peripheral clocks 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-6-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=5998; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=bLBbUDqqNTwOJgLkQRCFNZz1sWpEBh/lPPGrTuBFI28=; b=KWyMsu8JfPJWBA6zaiDy3QULAOfBgF+2u3q6+7meIsuvUYJbUJDXve+KfOV66N8xONL+weLf/ V8htzTi+LY4Cj6ZmuNXKktZ9Q+1IdfthG9mzxAF0Gc3HYEvtfKLs50v X-Developer-Key: i=aweber.kernel@gmail.com; a=ed25519; pk=RhDBfWbJEHqDibXbhNEBAnc9FMkyznGxX/hwfhL8bv8= Add bus clocks corresponding to peripheral clocks currently supported by the BCM281xx clock driver. 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 62c3bf4656259261ae4f7d81dae48c90ab26c04e..13fd8a5ea8fa07bf6f3cca83b6b18e59a8de63df 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 = { .trig = TRIGGER(0x0a40, 2), }; -#define BCM281XX_AON_CCU_CLK_COUNT (BCM281XX_AON_CCU_PMU_BSC_VAR + 1) +static struct bus_clk_data hub_timer_apb_data = { + .gate = HW_SW_GATE(0x0414, 18, 3, 2), + .hyst = HYST(0x0414, 10, 11), +}; + +static struct bus_clk_data pmu_bsc_apb_data = { + .gate = HW_SW_GATE(0x0418, 18, 3, 2), + .hyst = HYST(0x0418, 10, 11), +}; + +#define BCM281XX_AON_CCU_CLK_COUNT (BCM281XX_AON_CCU_PMU_BSC_APB + 1) static struct ccu_data aon_ccu_data = { BCM281XX_CCU_COMMON(aon, AON), @@ -70,6 +80,10 @@ 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_HUB_TIMER_APB] = + KONA_CLK(aon, hub_timer_apb, bus), + [BCM281XX_AON_CCU_PMU_BSC_APB] = + KONA_CLK(aon, pmu_bsc_apb, bus), [BCM281XX_AON_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -178,7 +192,36 @@ 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 bus_clk_data sdio1_ahb_data = { + .gate = HW_SW_GATE(0x0358, 16, 1, 0), +}; + +static struct bus_clk_data sdio2_ahb_data = { + .gate = HW_SW_GATE(0x035c, 16, 1, 0), +}; + +static struct bus_clk_data sdio3_ahb_data = { + .gate = HW_SW_GATE(0x0364, 16, 1, 0), +}; + +static struct bus_clk_data sdio4_ahb_data = { + .gate = HW_SW_GATE(0x0360, 16, 1, 0), +}; + +static struct bus_clk_data usb_ic_ahb_data = { + .gate = HW_SW_GATE(0x0354, 16, 1, 0), +}; + +/* also called usbh_ahb */ +static struct bus_clk_data hsic2_ahb_data = { + .gate = HW_SW_GATE(0x0370, 16, 1, 0), +}; + +static struct bus_clk_data usb_otg_ahb_data = { + .gate = HW_SW_GATE(0x0348, 16, 1, 0), +}; + +#define BCM281XX_MASTER_CCU_CLK_COUNT (BCM281XX_MASTER_CCU_USB_OTG_AHB + 1) static struct ccu_data master_ccu_data = { BCM281XX_CCU_COMMON(master, MASTER), @@ -197,6 +240,20 @@ 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_SDIO1_AHB] = + KONA_CLK(master, sdio1_ahb, bus), + [BCM281XX_MASTER_CCU_SDIO2_AHB] = + KONA_CLK(master, sdio2_ahb, bus), + [BCM281XX_MASTER_CCU_SDIO3_AHB] = + KONA_CLK(master, sdio3_ahb, bus), + [BCM281XX_MASTER_CCU_SDIO4_AHB] = + KONA_CLK(master, sdio4_ahb, bus), + [BCM281XX_MASTER_CCU_USB_IC_AHB] = + KONA_CLK(master, usb_ic_ahb, bus), + [BCM281XX_MASTER_CCU_HSIC2_AHB] = + KONA_CLK(master, hsic2_ahb, bus), + [BCM281XX_MASTER_CCU_USB_OTG_AHB] = + KONA_CLK(master, usb_otg_ahb, bus), [BCM281XX_MASTER_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; @@ -309,7 +366,51 @@ static struct peri_clk_data pwm_data = { .trig = TRIGGER(0x0afc, 15), }; -#define BCM281XX_SLAVE_CCU_CLK_COUNT (BCM281XX_SLAVE_CCU_PWM + 1) +static struct bus_clk_data uartb_apb_data = { + .gate = HW_SW_GATE(0x0400, 16, 1, 0), +}; + +static struct bus_clk_data uartb2_apb_data = { + .gate = HW_SW_GATE(0x0404, 16, 1, 0), +}; + +static struct bus_clk_data uartb3_apb_data = { + .gate = HW_SW_GATE(0x0408, 16, 1, 0), +}; + +static struct bus_clk_data uartb4_apb_data = { + .gate = HW_SW_GATE(0x040c, 16, 1, 0), +}; + +static struct bus_clk_data ssp0_apb_data = { + .gate = HW_SW_GATE(0x0410, 16, 1, 0), +}; + +static struct bus_clk_data ssp2_apb_data = { + .gate = HW_SW_GATE(0x0418, 16, 1, 0), +}; + +static struct bus_clk_data bsc1_apb_data = { + .gate = HW_SW_GATE(0x0458, 16, 1, 0), + .hyst = HYST(0x0458, 8, 9), +}; + +static struct bus_clk_data bsc2_apb_data = { + .gate = HW_SW_GATE(0x045c, 16, 1, 0), + .hyst = HYST(0x045c, 8, 9), +}; + +static struct bus_clk_data bsc3_apb_data = { + .gate = HW_SW_GATE(0x0484, 16, 1, 0), + .hyst = HYST(0x0484, 8, 9), +}; + +static struct bus_clk_data pwm_apb_data = { + .gate = HW_SW_GATE(0x0468, 16, 1, 0), + .hyst = HYST(0x0468, 8, 9), +}; + +#define BCM281XX_SLAVE_CCU_CLK_COUNT (BCM281XX_SLAVE_CCU_PWM_APB + 1) static struct ccu_data slave_ccu_data = { BCM281XX_CCU_COMMON(slave, SLAVE), @@ -334,6 +435,26 @@ static struct ccu_data slave_ccu_data = { KONA_CLK(slave, bsc3, peri), [BCM281XX_SLAVE_CCU_PWM] = KONA_CLK(slave, pwm, peri), + [BCM281XX_SLAVE_CCU_UARTB_APB] = + KONA_CLK(slave, uartb_apb, bus), + [BCM281XX_SLAVE_CCU_UARTB2_APB] = + KONA_CLK(slave, uartb2_apb, bus), + [BCM281XX_SLAVE_CCU_UARTB3_APB] = + KONA_CLK(slave, uartb3_apb, bus), + [BCM281XX_SLAVE_CCU_UARTB4_APB] = + KONA_CLK(slave, uartb4_apb, bus), + [BCM281XX_SLAVE_CCU_SSP0_APB] = + KONA_CLK(slave, ssp0_apb, bus), + [BCM281XX_SLAVE_CCU_SSP2_APB] = + KONA_CLK(slave, ssp2_apb, bus), + [BCM281XX_SLAVE_CCU_BSC1_APB] = + KONA_CLK(slave, bsc1_apb, bus), + [BCM281XX_SLAVE_CCU_BSC2_APB] = + KONA_CLK(slave, bsc2_apb, bus), + [BCM281XX_SLAVE_CCU_BSC3_APB] = + KONA_CLK(slave, bsc3_apb, bus), + [BCM281XX_SLAVE_CCU_PWM_APB] = + KONA_CLK(slave, pwm_apb, bus), [BCM281XX_SLAVE_CCU_CLK_COUNT] = LAST_KONA_CLK, }, }; From patchwork Tue Mar 18 08:13:29 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artur Weber X-Patchwork-Id: 14020570 Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5A01C205E16; Tue, 18 Mar 2025 08:13:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285619; cv=none; b=DdQwG6e14voiNO5UqqFwkZGXrsSrrtmDa2e92+jzup9yI4l+23lS/cGWwigAZiSCCgUOKgFbePoCi2n7DEcAiSsDluy7IRS98yCbX2Zlq7KRdT+dI/aYkiizyum5V+kwnx+3fztVdHu9n+OkD6SPYr8g2BpAlB7smt9S2SkRsS4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285619; c=relaxed/simple; bh=lkgx5tjva54MPvYJRtgqKAg6w12FDRdT4V2P6cC89yA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GBf8Ujk2ILA6MLN7ZM3tNsiF9SUSVJAMjVWT1HXjiRAVIcSYAu76DakPDgAnXxBog++gapmFg/zo2ldoFmzm8VQ3e8i0xIiNltMB0/QCziGhq8syi567DotbNF+EdIRAljy8jrnOOQ0E/VWJhSD032TT61/TbKJ9UStKytrIOEk= 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=SXG6ZO/7; arc=none smtp.client-ip=209.85.208.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="SXG6ZO/7" Received: by mail-ed1-f50.google.com with SMTP id 4fb4d7f45d1cf-5e8be1bdb7bso5311723a12.0; Tue, 18 Mar 2025 01:13:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742285615; x=1742890415; 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=pXGrYGERCV5neQEtozh2CEkbJpcfvYvlgtYXjRuhq9M=; b=SXG6ZO/7KVbrAz5eNvK7xEbZzT5CNkVGHFxIgivA4PavnJg9OtrH2lcG9kL6lto/Lf K21+DXNwngTM0jYbHFd0hxfCCbU8XuNivx8jIFgxnshkdpEziRkIloxFnU8tU5snqLuE hva8O5mKGSBYmQ8CWPtr21sIj0yLPibtSYG4hABN+TsiEmXp6YbILaOESgnLCxdgJexD N9z7CxCCI66hkQXLeI6D6dqQbjeER1W1Mw80i8V+FRDu73Ah9f4wLlebnoIOJLOHIeW5 e7KJYikNmAEWM47j9SoRKgm7wds5Owi9gDZH1K2ejENO+/j/UaPtJjuPTr7O9sn/Rws5 PJwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742285615; x=1742890415; 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=pXGrYGERCV5neQEtozh2CEkbJpcfvYvlgtYXjRuhq9M=; b=bX28Cs56GKBzF51+TlMW/hIUeLd4qv++1MXwP4rkbXa/gd83EjeInTsb85q1T6svcO BEpHQ609kMbP8LY1Nmc3bUCtx/K6bGxUBs+WJ0b2A33bpJxVzO1iNomEhjpT6rt+60wy 7yNUxb0P0KLC2b6M8sLiULjoTvtqful51CVRifcJuvnCClgqPu3I3rK6laGhwN/bElYL x8X6oXBYsjAtcZ9IQKuZh0ocr3uBYYV52vWWpU2evNflghZg17D+KT7o7/+k0YzR0KRl RjHk2DgazMD1IweZEoJpwAGYvKAVP33hswm9vvXr54Yy9QgOAeF53ryerzFajWDtnVmt YItQ== X-Forwarded-Encrypted: i=1; AJvYcCV4s7QEsYS2dYLf5YebFbHaVsqP0+D6rKIC7/tKq1CT9+4Ga8w1kYEI6LT+Pn2h+ablWS3S8L0xnf/F@vger.kernel.org, AJvYcCWoqi+/8tcAWk7gbCJ743f6PH2ruBgOQRNodgDwvvvO3K07JuNEal0jUe7Iw4SBdePWKeu6EvIe//uUydV1@vger.kernel.org, AJvYcCXcPLdKp/g7ox9o2bnvVrLgM2r46KyJw5WyeGYNEgHuo2gQ2BZ/N1Ch37A+lNBulo4GF8z8g5uCP3M3@vger.kernel.org X-Gm-Message-State: AOJu0YzQLk7ajfv/urGm1kPuJWiC/cZcdCnzifTHsQ38RJpWnTvPx9JE jrHcMEB351xzJHePLVJhs40Ry+mONVkgojQ7edoWKqgz2cRuYgq0dwc62w== X-Gm-Gg: ASbGncthhzM+zRUru8Mwo/O62xaircGqYU9T7bZ6BmhvioxJAqHnKLQ4TXoT0BErzwF 8ujJ9/H8jWEfMhThkhQLYMSFAVf2C3VeR/WiJqW1bG85gWOy2m4am47WouugUHhUPHpdFt+t5d6 cbhDf6rNlED66ez7cAGaDEOAoVcc4kbUhEkZUHZMwFmofhlkavlvxdJe7W5xSaWAgaK8p6JPj9s SUSwBjIMsATGXySd7t1AgvACR4dv2T+BS+ysceYeO7hv0xwYUG4OO0PbOK1owBhf/3eP9NBawXb 9Z9ArY4IS8vH/DV80WeQlplhJOWf2ViPVe2mYiVFzJG3HWkocURsPxwFnJ99OWqeUKSahUB79Qw RrLaxIIM/QVuXDMt7dg== X-Google-Smtp-Source: AGHT+IHAe6a3kp1j4boZWEZUDFV+64ShjglSD87Dhg4Qgt/Buj1UV8gOW1r5BOVftBpbhb7Oty4gIQ== X-Received: by 2002:a05:6402:354d:b0:5e5:bdfe:6c16 with SMTP id 4fb4d7f45d1cf-5eb1deab100mr2336978a12.3.1742285615338; Tue, 18 Mar 2025 01:13:35 -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.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 01:13:35 -0700 (PDT) From: Artur Weber Date: Tue, 18 Mar 2025 09:13:29 +0100 Subject: [PATCH v4 7/8] ARM: dts: bcm2166x-common: Add matching bus clocks for peripheral clocks 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-7-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=2451; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=lkgx5tjva54MPvYJRtgqKAg6w12FDRdT4V2P6cC89yA=; b=LmqMgtcw1BeQoVUvjYRoeONFGR69TtPuc8CFq+f1QqJLPvIZYjD47VB6/NReo+M2Miw6hx3y8 KPNTTDdbXFJDJOJTnPNoFmBebEXs1LHQEzBf5CXkG+DDaDRKHDiosq3 X-Developer-Key: i=aweber.kernel@gmail.com; a=ed25519; pk=RhDBfWbJEHqDibXbhNEBAnc9FMkyznGxX/hwfhL8bv8= Following changes in the clock driver, add bus clocks for timer, SDIO, BSC and UART to the DTS clock output names. Replace the usb_otg_ahb fixed clock with the real bus clock. Signed-off-by: Artur Weber --- Changes in v4: - Change commit summary to match equivalent BCM281xx commit --- arch/arm/boot/dts/broadcom/bcm2166x-common.dtsi | 28 ++++++++++++++++--------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/arch/arm/boot/dts/broadcom/bcm2166x-common.dtsi b/arch/arm/boot/dts/broadcom/bcm2166x-common.dtsi index 87180b7fd695e65b52c52743e6315cbcca385fba..ab6ad8c6d326171a6da1762ecd839bd82e9da482 100644 --- a/arch/arm/boot/dts/broadcom/bcm2166x-common.dtsi +++ b/arch/arm/boot/dts/broadcom/bcm2166x-common.dtsi @@ -143,7 +143,7 @@ usbotg: usb@e20000 { compatible = "snps,dwc2"; reg = <0x00e20000 0x10000>; interrupts = ; - clocks = <&usb_otg_ahb_clk>; + clocks = <&master_ccu BCM21664_MASTER_CCU_USB_OTG_AHB>; clock-names = "otg"; phys = <&usbphy>; phy-names = "usb2-phy"; @@ -248,12 +248,6 @@ var_52m_clk: var_52m { clock-frequency = <52000000>; }; - usb_otg_ahb_clk: usb_otg_ahb { - #clock-cells = <0>; - compatible = "fixed-clock"; - clock-frequency = <52000000>; - }; - ref_96m_clk: ref_96m { #clock-cells = <0>; compatible = "fixed-clock"; @@ -301,7 +295,8 @@ aon_ccu: aon_ccu@35002000 { compatible = "brcm,bcm21664-aon-ccu"; reg = <0x35002000 0x0f00>; #clock-cells = <1>; - clock-output-names = "hub_timer"; + clock-output-names = "hub_timer", + "hub_timer_apb"; }; slave_ccu: slave_ccu@3e011000 { @@ -314,7 +309,15 @@ slave_ccu: slave_ccu@3e011000 { "bsc1", "bsc2", "bsc3", - "bsc4"; + "bsc4", + "uartb_apb", + "uartb2_apb", + "uartb3_apb", + "bsc1_apb", + "bsc2_apb", + "bsc3_apb", + "bsc4_apb"; + }; master_ccu: master_ccu@3f001000 { @@ -328,7 +331,12 @@ master_ccu: master_ccu@3f001000 { "sdio1_sleep", "sdio2_sleep", "sdio3_sleep", - "sdio4_sleep"; + "sdio4_sleep", + "sdio1_ahb", + "sdio2_ahb", + "sdio3_ahb", + "sdio4_ahb", + "usb_otg_ahb"; }; }; }; From patchwork Tue Mar 18 08:13:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Artur Weber X-Patchwork-Id: 14020571 Received: from mail-ed1-f54.google.com (mail-ed1-f54.google.com [209.85.208.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF16C2063E3; Tue, 18 Mar 2025 08:13:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285620; cv=none; b=Mad/3hL9Y+H0/wVPpLptQ6ApHKShsaGOv38RMpxKQXAGyNwIN8Y6+mh59HH9GBQqn/awcVvEOrm1AqmYehTDfnPrahqIdh7JTuV3VkhegLDGv6i4XEpNb7KYWY5eZYCOG8OEXykXcIYCCuF8ZzEqNDAJeAzhWU20LN/4nUOnV5I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1742285620; c=relaxed/simple; bh=6WL3+gww7pwy7HeSxhHT435XK+Ky7XngeaLYGMY0ueU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=b3H4Sj3hjjy1z1s2MSfbIBd4nnC4VVoKmyXzLmzs6oYEmaZVx4vk9NZJ79DEGw1SPKFZSfTJG1qBCBmrG6jb7/RsXCNnMIn3ibzE/AW1kp5Gt6FEXa/hUG9thyWvn+VRcGhkNMv9aOXgxU8VwwR8FwgJt+cHN9VDYbwSkUlPNbo= 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=Di12JRSN; arc=none smtp.client-ip=209.85.208.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Di12JRSN" Received: by mail-ed1-f54.google.com with SMTP id 4fb4d7f45d1cf-5dca468c5e4so9200068a12.1; Tue, 18 Mar 2025 01:13:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742285617; x=1742890417; 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=5mUS3JAucq16wAF6W5pFtM5mAxXgdUK4IDJ6WzSb7Xo=; b=Di12JRSN0AT4SIrNX0AKeB9yzSSB2/Guo6FykYLIAsKwrYC1qGOaTZ8TYWF4N6bisS B10/ijhkGO6eQVT4yzv056Cr+rnNcDUS0F37zoDdwltPddC54GeqWziAMi6rR4vKkr98 DdzOs9rt7Awer9UsoDZ3fCXeMlcrzfCFkoGZY3ErYDr+DfIF7DO5mxpUjgzYoFY1g56i TtJH4fH4m9Irmlcr4xVDJNPggVBZlrgpow4frWFdxTMQ7VGszM3UrJEdfUCTbtxLufUh LMdaM0DLxpqSYwBJLLiJqa/aG3DqFB756pBOn7HxQR+dbFyFEuiYRxQcONngFCJXsoQd HW2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742285617; x=1742890417; 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=5mUS3JAucq16wAF6W5pFtM5mAxXgdUK4IDJ6WzSb7Xo=; b=RUqE0JFiitufSDui78YcWW+jFpjiPPR432ydygOi4s5aAf5yDcSYOQl6PGUi1JLUYG l5jOlBRqelYdDwib/f6pM1+jp6GZYrHDuXWxlWGkIOkHtOQlZ+l7+A2rvB6u0N8whqUJ EZcix1OM8ydacs9oOaPlVe0c3CyBC1mKa00AbwmK0V70qrd3vboTelJngmJzVZssBTgx yfEvGdklTjfaZerFS7XS1HGrdmlo3iHYHzebx890gQsbJACLYG6kAPNP26DV/sVBBmJa cD18vWpBz7lBlcVU+A231s8v8mnuZhMJ+4pGBINwYuBcsqHAEXKZpMS5muEJ0RdOQiju Qs2Q== X-Forwarded-Encrypted: i=1; AJvYcCWNngeteyUtg4wK8Huc6ujgMjX5v3uB/0qVUmll28oiJMfqKFWwAHXiuLnhqsHA2DJJl4AWSEmXM7ma@vger.kernel.org, AJvYcCXEXC2qNh1PwgVk6gGhbJtQb5q8nWT/IVxTdx0OOSKzv0S43ezlIsCGw352HDE9WvGSuZc1OqDUI7ci07ZD@vger.kernel.org, AJvYcCXSx09joYWvscOFRoMedRHE8yglIR4e0i2gaF3WCXYGz5gD9btewh6dNMkKS/l7RpMRfKz7CmFTsree@vger.kernel.org X-Gm-Message-State: AOJu0YwPCREYcsjJhBitQr9sTJJnvramiaGaJVoL9mLNm1MYxHL/FZeL pyYiMhZlOTCFAeSBIy4RYdOn+8MqCcnSnXOrQR00mD/stoYm2Fpv X-Gm-Gg: ASbGncvvGzUdr8Cq5t3gStKEPih7by+R3Q5rUhRwXcS6THtQEhRAV8owmdojpVMKWzL d5Tnammi3DXYPlCZug1uTJ8+TiEZoAmqZoQR4bvZBtRJ04Rkp4Kf4hp6e5xpDJo31BwmFcl8MtT OGZ6zcAXB7x4IecULXqkhRXOxWYS5q45JjN33OKABtEJDFZ4npPnbVfZB5k4B8I935uIBzlnmmh lrhTf18XMK/1Uvj4e3xeISnsF+lRRFGu/qcvs+8PySAdrQp3IF8uY98hs1TpOep+0H8nBoe6mRq JzwicDKd35+Bxi4q+rHpHiWBDNiOllLPbu3gz79wCNZSXq+LWHPsw9LMfL1f0+x3OP+vDV0EHKu GWOAmqrNpW0WhIR2eoQ== X-Google-Smtp-Source: AGHT+IHguCtlnxkHiNo/LyNZv4MThAa+WXO4laFW2uDrRo5fbMll8lYZlNYvGqgv1r34Zeq2kgws3A== X-Received: by 2002:a05:6402:5210:b0:5e5:bde4:7575 with SMTP id 4fb4d7f45d1cf-5e89f24e3b1mr14905806a12.1.1742285616556; Tue, 18 Mar 2025 01:13:36 -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.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 01:13:36 -0700 (PDT) From: Artur Weber Date: Tue, 18 Mar 2025 09:13:30 +0100 Subject: [PATCH v4 8/8] ARM: dts: bcm11351: Add corresponding bus clocks for peripheral clocks 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-8-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=2485; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=6WL3+gww7pwy7HeSxhHT435XK+Ky7XngeaLYGMY0ueU=; b=W/JceGIDNDhwEVuscrhu90/ZiCaH04Ss2onsKkxqu4vh7HfxA4xXCBUf4O8PqzrjSHwmLHBHv eR6GoOLgyrrDhKiZ3cfHW5AdyynwBMthDt8jI2Dgqig2pNjDlELbUZJ X-Developer-Key: i=aweber.kernel@gmail.com; a=ed25519; pk=RhDBfWbJEHqDibXbhNEBAnc9FMkyznGxX/hwfhL8bv8= Following changes in the clock driver, add matching bus clocks for existing peripheral clocks. Replace the usb_otg_ahb fixed clock with the real bus clock. Signed-off-by: Artur Weber --- Changes in v2: - Add this patch (BCM281xx bus clocks) --- arch/arm/boot/dts/broadcom/bcm11351.dtsi | 33 ++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/arch/arm/boot/dts/broadcom/bcm11351.dtsi b/arch/arm/boot/dts/broadcom/bcm11351.dtsi index 53857e572080d752732c512ed27f942756d59c46..fac5cf5a46bd9a4b7e09a2e65c3e807d1b4ef960 100644 --- a/arch/arm/boot/dts/broadcom/bcm11351.dtsi +++ b/arch/arm/boot/dts/broadcom/bcm11351.dtsi @@ -233,7 +233,9 @@ aon_ccu: aon_ccu@35002000 { #clock-cells = <1>; clock-output-names = "hub_timer", "pmu_bsc", - "pmu_bsc_var"; + "pmu_bsc_var", + "hub_timer_apb", + "pmu_bsc_apb"; }; master_ccu: master_ccu@3f001000 { @@ -246,7 +248,14 @@ master_ccu: master_ccu@3f001000 { "sdio4", "usb_ic", "hsic2_48m", - "hsic2_12m"; + "hsic2_12m", + "sdio1_ahb", + "sdio2_ahb", + "sdio3_ahb", + "sdio4_ahb", + "usb_ic_ahb", + "hsic2_ahb", + "usb_otg_ahb"; }; slave_ccu: slave_ccu@3e011000 { @@ -262,7 +271,17 @@ slave_ccu: slave_ccu@3e011000 { "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"; }; ref_1m_clk: ref_1m { @@ -325,12 +344,6 @@ var_52m_clk: var_52m { clock-frequency = <52000000>; }; - usb_otg_ahb_clk: usb_otg_ahb { - compatible = "fixed-clock"; - clock-frequency = <52000000>; - #clock-cells = <0>; - }; - ref_96m_clk: ref_96m { #clock-cells = <0>; compatible = "fixed-clock"; @@ -396,7 +409,7 @@ usbotg: usb@3f120000 { compatible = "snps,dwc2"; reg = <0x3f120000 0x10000>; interrupts = ; - clocks = <&usb_otg_ahb_clk>; + clocks = <&master_ccu BCM281XX_MASTER_CCU_USB_OTG_AHB>; clock-names = "otg"; phys = <&usbphy>; phy-names = "usb2-phy";