From nobody Sun Feb 8 18:09:17 2026 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4B6051D88D0; Wed, 30 Apr 2025 06:49:57 +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=1745995799; cv=none; b=pPiTByIKqqi1s9L7VdQJngagkppMnTET3Fm5cl7PI/ggFiE5aArB/7KkEqs0I+HfNfMzc/JjDhnDcnKpLqF8CTTjeJcZiNZTWfk8Zbo1wLA+dIA64PjmjP/BnvzJG9c988u32yh33bg0MyJ8QrgfeAT3naKxM/0RQeT8BOpUfYI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995799; c=relaxed/simple; bh=SFx8oWniSszRiy6B4lFwh7u9W2vYa9/kg90zKVAlyyE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kKG7MkJd/lEaXZAM3uBCQjkxmH/YxjJ3L1JLx3Xc6+j6KYo1P7UCOXFkfl3gbQ9c5AE4yjmgye1huyBayFp38qkZ19Q8chkAzOMzceJ9m96iplIB9BATh12hkueHQwjmZpujjU7qomG9vYOJjSzmM93FPv+ux8OhF6eWsD6/N+0= 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=DNZWvcks; 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="DNZWvcks" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-5e5e22e6ed2so11073350a12.3; Tue, 29 Apr 2025 23:49:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745995795; x=1746600595; 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=eLyyop7f0U7hn4BsyuALWvv5YSEWc2i+7mndRhg6G9g=; b=DNZWvcksyis6JyGlaNEmnjpc9HidvUtsCuQnqTBradLPEbzGru2MQPK4hUenH1iTli PnZ+DLISPsuvfWhN3Z3t904IrKgmqMvqojolo2+JelKLTxnS3lrIEEBJ6qQpP/Tr85TC M92zIHEuohtiZ2H4+uxMLoXySrt4fTZphOLl7Ay6SuAM7kW1yWgylp1ivg3iY43J1a2b W+Tent7V0crb7iuW+p+hEd3LhFkl0pqJXvfxGPaINLOeRLcJTrolzYnPaDsa/C02uy3+ vEktNYGHTYZJPigDHFDVL8UG13KnS3kyZqExfoauLz9RkOMftq/RAoycjRZrqwcqK93i 5a/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745995795; x=1746600595; 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=eLyyop7f0U7hn4BsyuALWvv5YSEWc2i+7mndRhg6G9g=; b=njhLEQPs4w4MKo58DK/zzU2+D3kQT387JnwTKpV4gJ1rNHA+zl/kiKRfnKhjpzpb6G lk+L+aJd29ilyECwy0Y19LLC4cqNtLtBB4udVb3WJFqz9Qb1xTs4+WXEClHVfAVX+nHs LASnAeUzO3x9LbasnATW6h8zT1DhF1X9hP1Yrzvrnrko6CRwN/S/iOAxDNnozFXj1uzt PNdcZGMAoea9d/7K8gWcluvTgusUsD0cx8thnMgWvixoTC1NqTuaXSBOnDgMSppovfGi fBY9XI80LuqK77ZqW35O3DyUOOR1vgJw2FjdPEBaao7P2QH+WfWQQoz5tUqm9o50UcUt WAmQ== X-Forwarded-Encrypted: i=1; AJvYcCUQuMHq6wDa6qNIiW+uMtkpoR02RhQardmLJud0Yoz43TQcDqBdFQ8WFxrCs3kikbMnqi9m9FqZ9ONt@vger.kernel.org, AJvYcCW3y8ozyeor+qFyCtXlj0pAdsqWwtXmdqu8dpiMa0tF24J2XSDJZCKV4rLCzBYkgfDEwjZN28sKuBkZl9Mm@vger.kernel.org, AJvYcCXnX8G8GnRIgws2vBG4sxfAZK1FcEmjpFI37ukE+XjUbkcaYv+C4ySGIFgFhwsll/GTB3r/rgYZ/tGC@vger.kernel.org X-Gm-Message-State: AOJu0YxPGV7pHhUpG37rFzbvuEqflwiUCxc2BCn5FJ4Gk4uGNJWMAZRH bq2w0J+nL+xBtEdfTuA2goHRgOqFkoC9dDFHlyEjWuIJAb427C4v X-Gm-Gg: ASbGncsq+8Ri0IzdYBAb02dyTaLstF44twH1y2i5riXG5CLRZKi9qeupaLyTa5ePG3d D5OWytA5EZFPKiEEmYznIqoXPTaW+1Pmenny1ln1TJirg/wDugln3e2SZlenpzaTdqBu1Fj5vVe 9hPTjaFSXBS4VEVwADRysAtGXV7iTjq/RL+n3KF4wrCuCDl1mf/w2dVPRAEkfP+KdINRSSgjcP+ 5RMHsU5wlqRfPyQURpUwXPdTe9lofNEtw+U1fvBbbHDle3mB4G/AbAEAvjsCnpaHqIP0q5tsEKS TMQcF30u6smbAP/Wm3ZAQHGPGcY1YkpHp2DZ+4RheFjIHM51XVTE4uyVT1GaQPaGgS7slB+Q5bk TmNPEnU6+OAufssOC0jpmnA== X-Google-Smtp-Source: AGHT+IERZu5lLwaJ8G/RworpvgWLgc0NfzC2HosrmU8gQCpqmgbsmF1ky9L1zZ4dXr5nGqJ4ci+ZZQ== X-Received: by 2002:a17:907:980d:b0:ace:7be1:1434 with SMTP id a640c23a62f3a-acedc6291bbmr192289866b.30.1745995795385; Tue, 29 Apr 2025 23:49:55 -0700 (PDT) Received: from hex.my.domain (83.8.121.197.ipv4.supernova.orange.pl. [83.8.121.197]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e5087e4sm881222866b.73.2025.04.29.23.49.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 23:49:55 -0700 (PDT) From: Artur Weber Date: Wed, 30 Apr 2025 08:49:48 +0200 Subject: [PATCH v5 1/8] clk: bcm: kona: Move CLOCK_COUNT defines into the driver Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-kona-bus-clock-v5-1-46766b28b93a@gmail.com> References: <20250430-kona-bus-clock-v5-0-46766b28b93a@gmail.com> In-Reply-To: <20250430-kona-bus-clock-v5-0-46766b28b93a@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=1745995792; l=6691; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=SFx8oWniSszRiy6B4lFwh7u9W2vYa9/kg90zKVAlyyE=; b=yVMDp+d5DvbohDCC0w3m/BapP+Vi8UY3fHYJ2J1/eJga2Tk8BMFOTFS3u6FAK8p5MTgUC8tM5 QA4fcH+TeFgDpEByO3miqFhUI/91+b7WD1W7YZaUFBlsiP7YyQJyGwd 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..14b7db824704824b4a6bfcce793= 08afa44e092c6 100644 --- a/drivers/clk/bcm/clk-bcm21664.c +++ b/drivers/clk/bcm/clk-bcm21664.c @@ -17,13 +17,15 @@ static struct peri_clk_data frac_1m_data =3D { .clocks =3D CLOCKS("ref_crystal"), }; =20 +#define BCM21664_ROOT_CCU_CLK_COUNT (BCM21664_ROOT_CCU_FRAC_1M + 1) + static struct ccu_data root_ccu_data =3D { BCM21664_CCU_COMMON(root, ROOT), /* no policy control */ .kona_clks =3D { [BCM21664_ROOT_CCU_FRAC_1M] =3D KONA_CLK(root, frac_1m, peri), - [BCM21664_ROOT_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM21664_ROOT_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -39,6 +41,8 @@ static struct peri_clk_data hub_timer_data =3D { .trig =3D TRIGGER(0x0a40, 4), }; =20 +#define BCM21664_AON_CCU_CLK_COUNT (BCM21664_AON_CCU_HUB_TIMER + 1) + static struct ccu_data aon_ccu_data =3D { BCM21664_CCU_COMMON(aon, AON), .policy =3D { @@ -48,7 +52,7 @@ static struct ccu_data aon_ccu_data =3D { .kona_clks =3D { [BCM21664_AON_CCU_HUB_TIMER] =3D KONA_CLK(aon, hub_timer, peri), - [BCM21664_AON_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM21664_AON_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -122,6 +126,8 @@ static struct peri_clk_data sdio4_sleep_data =3D { .gate =3D HW_SW_GATE(0x0360, 18, 2, 3), }; =20 +#define BCM21664_MASTER_CCU_CLK_COUNT (BCM21664_MASTER_CCU_SDIO4_SLEEP + 1) + static struct ccu_data master_ccu_data =3D { BCM21664_CCU_COMMON(master, MASTER), .policy =3D { @@ -145,7 +151,7 @@ static struct ccu_data master_ccu_data =3D { KONA_CLK(master, sdio3_sleep, peri), [BCM21664_MASTER_CCU_SDIO4_SLEEP] =3D KONA_CLK(master, sdio4_sleep, peri), - [BCM21664_MASTER_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM21664_MASTER_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -225,6 +231,8 @@ static struct peri_clk_data bsc4_data =3D { .trig =3D TRIGGER(0x0afc, 19), }; =20 +#define BCM21664_SLAVE_CCU_CLK_COUNT (BCM21664_SLAVE_CCU_BSC4 + 1) + static struct ccu_data slave_ccu_data =3D { BCM21664_CCU_COMMON(slave, SLAVE), .policy =3D { @@ -246,7 +254,7 @@ static struct ccu_data slave_ccu_data =3D { KONA_CLK(slave, bsc3, peri), [BCM21664_SLAVE_CCU_BSC4] =3D KONA_CLK(slave, bsc4, peri), - [BCM21664_SLAVE_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM21664_SLAVE_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 diff --git a/drivers/clk/bcm/clk-bcm281xx.c b/drivers/clk/bcm/clk-bcm281xx.c index 823d5dfa31b84f502fcd6ada1eff6d8f4673b3dd..62c3bf4656259261ae4f7d81dae= 48c90ab26c04e 100644 --- a/drivers/clk/bcm/clk-bcm281xx.c +++ b/drivers/clk/bcm/clk-bcm281xx.c @@ -19,12 +19,14 @@ static struct peri_clk_data frac_1m_data =3D { .clocks =3D CLOCKS("ref_crystal"), }; =20 +#define BCM281XX_ROOT_CCU_CLK_COUNT (BCM281XX_ROOT_CCU_FRAC_1M + 1) + static struct ccu_data root_ccu_data =3D { BCM281XX_CCU_COMMON(root, ROOT), .kona_clks =3D { [BCM281XX_ROOT_CCU_FRAC_1M] =3D KONA_CLK(root, frac_1m, peri), - [BCM281XX_ROOT_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM281XX_ROOT_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -57,6 +59,8 @@ static struct peri_clk_data pmu_bsc_var_data =3D { .trig =3D TRIGGER(0x0a40, 2), }; =20 +#define BCM281XX_AON_CCU_CLK_COUNT (BCM281XX_AON_CCU_PMU_BSC_VAR + 1) + static struct ccu_data aon_ccu_data =3D { BCM281XX_CCU_COMMON(aon, AON), .kona_clks =3D { @@ -66,7 +70,7 @@ static struct ccu_data aon_ccu_data =3D { KONA_CLK(aon, pmu_bsc, peri), [BCM281XX_AON_CCU_PMU_BSC_VAR] =3D KONA_CLK(aon, pmu_bsc_var, peri), - [BCM281XX_AON_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM281XX_AON_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -80,12 +84,14 @@ static struct peri_clk_data tmon_1m_data =3D { .trig =3D TRIGGER(0x0e84, 1), }; =20 +#define BCM281XX_HUB_CCU_CLK_COUNT (BCM281XX_HUB_CCU_TMON_1M + 1) + static struct ccu_data hub_ccu_data =3D { BCM281XX_CCU_COMMON(hub, HUB), .kona_clks =3D { [BCM281XX_HUB_CCU_TMON_1M] =3D KONA_CLK(hub, tmon_1m, peri), - [BCM281XX_HUB_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM281XX_HUB_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -172,6 +178,8 @@ static struct peri_clk_data hsic2_12m_data =3D { .trig =3D TRIGGER(0x0afc, 5), }; =20 +#define BCM281XX_MASTER_CCU_CLK_COUNT (BCM281XX_MASTER_CCU_HSIC2_12M + 1) + static struct ccu_data master_ccu_data =3D { BCM281XX_CCU_COMMON(master, MASTER), .kona_clks =3D { @@ -189,7 +197,7 @@ static struct ccu_data master_ccu_data =3D { KONA_CLK(master, hsic2_48m, peri), [BCM281XX_MASTER_CCU_HSIC2_12M] =3D KONA_CLK(master, hsic2_12m, peri), - [BCM281XX_MASTER_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM281XX_MASTER_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 @@ -301,6 +309,8 @@ static struct peri_clk_data pwm_data =3D { .trig =3D TRIGGER(0x0afc, 15), }; =20 +#define BCM281XX_SLAVE_CCU_CLK_COUNT (BCM281XX_SLAVE_CCU_PWM + 1) + static struct ccu_data slave_ccu_data =3D { BCM281XX_CCU_COMMON(slave, SLAVE), .kona_clks =3D { @@ -324,7 +334,7 @@ static struct ccu_data slave_ccu_data =3D { KONA_CLK(slave, bsc3, peri), [BCM281XX_SLAVE_CCU_PWM] =3D KONA_CLK(slave, pwm, peri), - [BCM281XX_SLAVE_CCU_CLOCK_COUNT] =3D LAST_KONA_CLK, + [BCM281XX_SLAVE_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; =20 diff --git a/drivers/clk/bcm/clk-kona.h b/drivers/clk/bcm/clk-kona.h index e09655024ac2ad42538b924f304b23e87b7db2ce..59dee015a07d749f8ac2a3b4dcf= e38d7b92bd0f6 100644 --- a/drivers/clk/bcm/clk-kona.h +++ b/drivers/clk/bcm/clk-kona.h @@ -483,7 +483,7 @@ struct ccu_data { #define KONA_CCU_COMMON(_prefix, _name, _ccuname) \ .name =3D #_name "_ccu", \ .lock =3D __SPIN_LOCK_UNLOCKED(_name ## _ccu_data.lock), \ - .clk_num =3D _prefix ## _ ## _ccuname ## _CCU_CLOCK_COUNT + .clk_num =3D _prefix ## _ ## _ccuname ## _CCU_CLK_COUNT =20 /* Exported globals */ =20 --=20 2.49.0 From nobody Sun Feb 8 18:09:17 2026 Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BA2FD1EA7CC; Wed, 30 Apr 2025 06:49:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995800; cv=none; b=UzeJ4/nK7VhHiN4gh6ST9hAqQbPUQkeaID6ZTjZVkrsTPJJlTciB0CmhAke4uiVkw9ngdFhRR4CxRbq7vDShuUeg8cSVRIve8Iw87n4EnHwn5EHES3iNuz0fZs41jv3aV2mXhxiQcw7OdLQJZ8AzowGzBDygrQDTXuAvX5j41dA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995800; c=relaxed/simple; bh=ob9kuGreDbaYbYNHaAE8f58xGhHGg0WXt6lHL5n45k0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GNjwWQfItFzg51DvjHBPUqFeayrNO/9WtWSuf3Yn6U87RvHpsm65EiS54dPe8j2xxs1ICdjphvS8JT7nRBOBbEJ5zfNDdYYD9bRiSF+1XzbWwMcYxM3E70RXOhld81hXa2gOU14TWy6TazV83z2ZXR2l/RQc1tcWLm0TfKHQFDo= 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=JEGlQ/kO; arc=none smtp.client-ip=209.85.218.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JEGlQ/kO" Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-ace94273f0dso740223766b.3; Tue, 29 Apr 2025 23:49:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745995797; x=1746600597; 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=8TjwPnuhpxVRJ+7EtVSBIf/pKb1ipM80jQo69yN+jVk=; b=JEGlQ/kOMo2abA20OuAUciT1JO1y4QhzvqjQg6JTCNZ+RtCTWDHRDxbXW2fgv9JLxc 8HnQ87sfWu8P29XwRdzUm75PX2kWJmiAxIVWVcHVVLy44ksuWA+O+Y8rW9uSUrxUgkUH o95oHM7W0OUr2HbREggpr2gnY0goGsBdI73C9Ih4yF+NgDJNN8g0hO1pqD5D2H2Qz1zW oEEzkfT1G95qXN362vwYLsrK37U9v/Sa5x5l4mmi+wOrKtaUsws0pfWtL75Sp+GEUSKT Si7VDuK1yFZ7gvAgkVUiJwkSeh7kJOubh930FhhGAqdnaxOzRjZ3myQjCP+2ci0sCOnb YBCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745995797; x=1746600597; 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=8TjwPnuhpxVRJ+7EtVSBIf/pKb1ipM80jQo69yN+jVk=; b=aJ4wMVG59GbkoV68s4J8C7Edl47+unjnGGyezkWSByruC6flG5Pon2hEFgPtZAgOL/ DYv4H3cbVfTR5vM8pmkLq7kf7ZfR7eS32czK+fl3LuXy5TM2MeAumRDQORrmSMnGm1jF 9H8Ovbq5hIgrW1xZB97hr1WttklEwk+dSGGxC/H+eorETdC2W5KW9SWHDALvVOOynKfl cYDnbjF1mjCeJ16THCk7LkygsQu/+fbqpTcwzsZDqvfNlqrN9CnJODBC0XLPMH+gAXnJ pGMYgTX+D7Xpc2Hzlf4a6ByXZKy+pqa44LUc5ZaLs4FzPJaJcmojKUvBZLgh6ZzALd2e OEJA== X-Forwarded-Encrypted: i=1; AJvYcCUbZkaz6Z5qhFVSt2naagK1KaTLFNqDoD44AQFh3QNHF3UgtAeWnnIqMloGPk39Da9h9WkgsKCsc1AL@vger.kernel.org, AJvYcCV0EZNEVTM6oVAlE/alEI3ZpdyprmEaziLeWRUWGeHpRc6AxmUbj0wnsBYMCDU7FlVehX/sf53pjoqLQ55P@vger.kernel.org, AJvYcCXeKhx8wcXV98lHhqhOkb+tLBwRzC4wa8SScKucwYlkewjgdqWinTP7iUH+DHls+n8P4PGgnLmjY5o1@vger.kernel.org X-Gm-Message-State: AOJu0YwONETxMe3abtS3N4H3gx6TuTPnlbY88yT/74i9jMXoHc+P15SG uAYGGmFbhzJrHrdcpjUue7aPDijO3CWa90VvrGUskpx+4yaO9K1C X-Gm-Gg: ASbGncuHquviXAa8FCOLPBId3pLYcOksZjaKWZhBEGzflgcF8AatdTAfWrUhHfHcKc8 gFlkpqjDi9gWh0CeF4qhk/udZ98Bxfgq0mVpCKIjKVq7k1mbMuRtmIthk4LkQbrclBd/vI/nWBW Y8V0st1pdSNl1Lg4oG1vZJ94bhTvc2Qd0Yw9QoazSRhZsSC0IQtVdzELvnzg8XvXWgYVtvBuY3q BD2/KwQnZbZ0VRBCtirxUpJD+1HQJW56n/tUdqHTtaj/0/PUeHtTAZSqGDlUhIgd0jfq8rk9/nF WYA10XCkXtr8l/l5soiis9yhdqvFnSyMTkUszeOk8WVZ9XPMwNa4aFK3jhUUlZaJPy4TeLMIc/X J676xw2dsYg0= X-Google-Smtp-Source: AGHT+IFT5AkN1QQfhdYMAlzmlRZEzgQO0/KBE+vcsDUAPw4vhI618K/BBDNQC7TlzP2kEabOHikoow== X-Received: by 2002:a17:906:f591:b0:acb:63a4:e8e5 with SMTP id a640c23a62f3a-acedc56b33bmr214595866b.6.1745995796752; Tue, 29 Apr 2025 23:49:56 -0700 (PDT) Received: from hex.my.domain (83.8.121.197.ipv4.supernova.orange.pl. [83.8.121.197]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e5087e4sm881222866b.73.2025.04.29.23.49.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 23:49:56 -0700 (PDT) From: Artur Weber Date: Wed, 30 Apr 2025 08:49:49 +0200 Subject: [PATCH v5 2/8] dt-bindings: clock: brcm,kona-ccu: Drop CLOCK_COUNT defines from DT headers Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-kona-bus-clock-v5-2-46766b28b93a@gmail.com> References: <20250430-kona-bus-clock-v5-0-46766b28b93a@gmail.com> In-Reply-To: <20250430-kona-bus-clock-v5-0-46766b28b93a@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=1745995792; l=2774; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=ob9kuGreDbaYbYNHaAE8f58xGhHGg0WXt6lHL5n45k0=; b=JCqaxvgA/RqQq/ZG4jwMFgQ+5A490GNyKIwT87Do4KqiuunExK518Io15JCHdeQ6BHnbzDBld ETrc4CgcVoJDN4qmjws/T/93FwbQTGiqHiYshtxJ4xBQ4obn3RAnbiK 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/clo= ck/bcm21664.h index 7c7492742f3d4ca439236f2f352e432989409570..7a380a51848ce100cbf94f9da2b= 997dbe3a65230 100644 --- a/include/dt-bindings/clock/bcm21664.h +++ b/include/dt-bindings/clock/bcm21664.h @@ -21,12 +21,10 @@ /* root CCU clock ids */ =20 #define BCM21664_ROOT_CCU_FRAC_1M 0 -#define BCM21664_ROOT_CCU_CLOCK_COUNT 1 =20 /* aon CCU clock ids */ =20 #define BCM21664_AON_CCU_HUB_TIMER 0 -#define BCM21664_AON_CCU_CLOCK_COUNT 1 =20 /* master CCU clock ids */ =20 @@ -38,7 +36,6 @@ #define BCM21664_MASTER_CCU_SDIO2_SLEEP 5 #define BCM21664_MASTER_CCU_SDIO3_SLEEP 6 #define BCM21664_MASTER_CCU_SDIO4_SLEEP 7 -#define BCM21664_MASTER_CCU_CLOCK_COUNT 8 =20 /* slave CCU clock ids */ =20 @@ -49,6 +46,5 @@ #define BCM21664_SLAVE_CCU_BSC2 4 #define BCM21664_SLAVE_CCU_BSC3 5 #define BCM21664_SLAVE_CCU_BSC4 6 -#define BCM21664_SLAVE_CCU_CLOCK_COUNT 7 =20 #endif /* _CLOCK_BCM21664_H */ diff --git a/include/dt-bindings/clock/bcm281xx.h b/include/dt-bindings/clo= ck/bcm281xx.h index d74ca42112e79746c513f6861a89628ee03f0f79..0c7a7e10cb425ddb597392939cb= 218545a48bf22 100644 --- a/include/dt-bindings/clock/bcm281xx.h +++ b/include/dt-bindings/clock/bcm281xx.h @@ -27,19 +27,16 @@ /* root CCU clock ids */ =20 #define BCM281XX_ROOT_CCU_FRAC_1M 0 -#define BCM281XX_ROOT_CCU_CLOCK_COUNT 1 =20 /* aon CCU clock ids */ =20 #define BCM281XX_AON_CCU_HUB_TIMER 0 #define BCM281XX_AON_CCU_PMU_BSC 1 #define BCM281XX_AON_CCU_PMU_BSC_VAR 2 -#define BCM281XX_AON_CCU_CLOCK_COUNT 3 =20 /* hub CCU clock ids */ =20 #define BCM281XX_HUB_CCU_TMON_1M 0 -#define BCM281XX_HUB_CCU_CLOCK_COUNT 1 =20 /* master CCU clock ids */ =20 @@ -50,7 +47,6 @@ #define BCM281XX_MASTER_CCU_USB_IC 4 #define BCM281XX_MASTER_CCU_HSIC2_48M 5 #define BCM281XX_MASTER_CCU_HSIC2_12M 6 -#define BCM281XX_MASTER_CCU_CLOCK_COUNT 7 =20 /* slave CCU clock ids */ =20 @@ -64,6 +60,5 @@ #define BCM281XX_SLAVE_CCU_BSC2 7 #define BCM281XX_SLAVE_CCU_BSC3 8 #define BCM281XX_SLAVE_CCU_PWM 9 -#define BCM281XX_SLAVE_CCU_CLOCK_COUNT 10 =20 #endif /* _CLOCK_BCM281XX_H */ --=20 2.49.0 From nobody Sun Feb 8 18:09:17 2026 Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 240581EDA06; Wed, 30 Apr 2025 06:49:59 +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=1745995802; cv=none; b=HKifN9iyasXwaIGVQ29zH1mv9pb+xnUtWcrnDaWZfFoDLkLcnlIFVVQlaY4saRdsyG0ojGUPdaU7i/l2rkh07utBkBt+0WxRYOdJ4dlQVVD2uYU4jkFqJJqsu7ioOa5/JY2OpwlHimkf42St8X9dvIk4zbp7zB1tQuIgpiOZArs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995802; c=relaxed/simple; bh=Yrjq3KiC4SyuUyZDeJv+obwTdwsiALvD7aJNIXes3NY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=g1K9Na+UDu3vaWVy/VrBnTsBeGhrUORTGRvCbY81S8dvl134pTog5Hx8vl1Evy0lMxungFdyi+LNgMwP+K57yNX+BI6hqnwrZbYLlPRXaL0b0RcAZckTiFhmZ29wJ9X/2B/KWfy2quB1o0YmnUBlIigwIw7lgZ4Gc1AtG7BEulc= 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=L5HHe0e9; 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="L5HHe0e9" Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-5ed43460d6bso10299358a12.0; Tue, 29 Apr 2025 23:49:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745995798; x=1746600598; 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=KbjQwwuHMgpjqALka6f43qmTcJ4iQruX/pdPWsI3QQc=; b=L5HHe0e9wkMlTzuMouBgrgfPxy5IccRZUAPEBvuiAuRjc0mi+cesMNpR25IgeZC4To wu9cL6jcH4Nrql3Q+h6wi4+aZiawldrmxI7psdhwMrVLqo4BbrEWlh0RQ67KFGLVVtFT z9s44Ig8/2OapaDKqJnbz+ub49OHLRsjFWPCVNp/+5ciCNovwvZz2okW4oGgqlCx+Z5d 4X32T0yPBMxRcXF4z7h6Loo85Y47ocJTGgvwQbPuvWvBzLkCfgBu1QaCRWN/JKj+DDqZ YGVkqRJD7S5Ti2FXhWE2NXFJ/I2v8DKZS8YNJBdHArm8rQo6xHnD5KW+YdVa1ucTSbE3 zuww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745995798; x=1746600598; 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=KbjQwwuHMgpjqALka6f43qmTcJ4iQruX/pdPWsI3QQc=; b=enGTlOp5J175ctVL3HgOVQe5DWUioBo7ajpA5NiO67JkOdFeoKW06DG5K27bAEL6yX igHdJ4d/iKXPL4wwSFFKkmCXgOL9wR91aTrFQDXOEn3LJjB2MVwUldit9tjKiJSV84Fc HT3RXUSU8Osg2vvkpK0J8zAKhIJ7ssp9oMY9zqY1RgZR7KJadsH/Ct2Xmg1KuBf4JtTa xpyYrcBtQw6V1Hk3GTNEO1fmkx1FwJ+39kSesYs5icKmuUKLDHkr6lY2NIElfXdW7vMU c7M+w68pPDjC43k+hkqX7ziXHVXgyarr5AsHYAUyxltJf3a+rKoJSch+mcM/NNqf+bQJ J2Sg== X-Forwarded-Encrypted: i=1; AJvYcCV0rjC7c4ax7aGthLjtKbkweTuO1Ta3ukeivZbirxY5rYpJEbtbgh7Qj8rXYxf8okE0CWkVFzq3wHRXl9aV@vger.kernel.org, AJvYcCWin1N7WwJ4wmWgYb1FrGlqxrnVwtgkksZ1Ac9eYkjw4gQ+ERtlCLzipCN9VXt8J1jwnMKCdyRD0HiH@vger.kernel.org, AJvYcCXbRM0mPqT3x5oAL/aAbiwHEw9gwvb+9lgvv04sicv1eZ2sUMaVr86pmn+f2eoSdFEi+X8PMVMrxzzL@vger.kernel.org X-Gm-Message-State: AOJu0YxHHT6LH26ma4azESKFl6DdUGm//jH5C6OHA9DjSqoaLgXSkC25 aDxkmJccir6q5simm1tk7jDNswgYu+xai92xXUzHZO9hEQY/s2fs X-Gm-Gg: ASbGnctwYuU9EVVPc6knjr+MRhr/LEbdwfjqLReQlXxxKpcU2t3oF0B/s6/gHjVsRzx V3GKzGqqTd4UODJR367M/0/ooMDcUdDyrCK/JNa7x4J7701bI1aSnZusYEkamXJSrkBEbYKNp5b XoNl1MlkTkYMnKc55yAigaD0wrVVe1LbVPXQY2ru0C1Wi49hbbpMJy8f9pczqEYiYLzUMUWSp2x 5jEDfwSoX/oafB8sHvGtkfOeLMC8xAexWR16JqIHdLFN9tDNVMLaUD8dwqCd0pOo3sgCJVMNOZk Cx4iL7lBZ154WY4ywAPyfGnK3UNUVTAZX5WRNbl+GMki8AOLIPKkcqoxdR19hWENrJyMNTilRyf EaqcXRgL+5tM= X-Google-Smtp-Source: AGHT+IESvRRUPhBQBjXhjcvQOQyfKP4SGb0RyhqDxU1qxEUoDViRxlt6MnoCuMInpFINZ7wksHoeLw== X-Received: by 2002:a17:907:1c13:b0:ace:c2d4:bf85 with SMTP id a640c23a62f3a-acedc6ffb39mr235601366b.43.1745995798130; Tue, 29 Apr 2025 23:49:58 -0700 (PDT) Received: from hex.my.domain (83.8.121.197.ipv4.supernova.orange.pl. [83.8.121.197]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e5087e4sm881222866b.73.2025.04.29.23.49.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 23:49:57 -0700 (PDT) From: Artur Weber Date: Wed, 30 Apr 2025 08:49:50 +0200 Subject: [PATCH v5 3/8] dt-bindings: clock: brcm,kona-ccu: Add BCM21664 and BCM281xx bus clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-kona-bus-clock-v5-3-46766b28b93a@gmail.com> References: <20250430-kona-bus-clock-v5-0-46766b28b93a@gmail.com> In-Reply-To: <20250430-kona-bus-clock-v5-0-46766b28b93a@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=1745995792; l=6917; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=Yrjq3KiC4SyuUyZDeJv+obwTdwsiALvD7aJNIXes3NY=; b=PHrZPT4tUc86zV0kl0ksLu6JAyWMz2+Gk1Jr17kKuXOgHIcrp/LMNp1yEetuarhOF0xadNE3p Z2f5AsnKGR9CAMyE428CcRPsXMRC6ZKLIoyjHWjB693HrBBryye9zqS 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). Reviewed-by: Krzysztof Kozlowski Signed-off-by: Artur Weber --- Changes in v4: - Squash BCM21664 and BCM281xx bus clock bindings commits --- .../devicetree/bindings/clock/brcm,kona-ccu.yaml | 49 ++++++++++++++++++= ++-- include/dt-bindings/clock/bcm21664.h | 13 ++++++ include/dt-bindings/clock/bcm281xx.h | 19 +++++++++ 3 files changed, 78 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml b/D= ocumentation/devicetree/bindings/clock/brcm,kona-ccu.yaml index e5656950b3bd0ad44ba47f0ada84b558e71df590..d00dcf916b45904177614c6f19a= 5df02abdf42f7 100644 --- a/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml +++ b/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml @@ -40,7 +40,7 @@ properties: =20 clock-output-names: minItems: 1 - maxItems: 10 + maxItems: 20 =20 required: - compatible @@ -61,6 +61,8 @@ allOf: - const: hub_timer - const: pmu_bsc - const: pmu_bsc_var + - const: hub_timer_apb + - const: pmu_bsc_apb - if: properties: compatible: @@ -86,6 +88,13 @@ allOf: - const: usb_ic - const: hsic2_48m - const: hsic2_12m + - const: sdio1_ahb + - const: sdio2_ahb + - const: sdio3_ahb + - const: sdio4_ahb + - const: usb_ic_ahb + - const: hsic2_ahb + - const: usb_otg_ahb - if: properties: compatible: @@ -116,6 +125,16 @@ allOf: - const: bsc2 - const: bsc3 - const: pwm + - const: uartb_apb + - const: uartb2_apb + - const: uartb3_apb + - const: uartb4_apb + - const: ssp0_apb + - const: ssp2_apb + - const: bsc1_apb + - const: bsc2_apb + - const: bsc3_apb + - const: pwm_apb - if: properties: compatible: @@ -124,7 +143,9 @@ allOf: then: properties: clock-output-names: - const: hub_timer + items: + - const: hub_timer + - const: hub_timer_apb - if: properties: compatible: @@ -142,6 +163,11 @@ allOf: - const: sdio2_sleep - const: sdio3_sleep - const: sdio4_sleep + - const: sdio1_ahb + - const: sdio2_ahb + - const: sdio3_ahb + - const: sdio4_ahb + - const: usb_otg_ahb - if: properties: compatible: @@ -158,6 +184,13 @@ allOf: - const: bsc2 - const: bsc3 - const: bsc4 + - const: uartb_apb + - const: uartb2_apb + - const: uartb3_apb + - const: bsc1_apb + - const: bsc2_apb + - const: bsc3_apb + - const: bsc4_apb =20 additionalProperties: false =20 @@ -176,6 +209,16 @@ examples: "bsc1", "bsc2", "bsc3", - "pwm"; + "pwm", + "uartb_apb", + "uartb2_apb", + "uartb3_apb", + "uartb4_apb", + "ssp0_apb", + "ssp2_apb", + "bsc1_apb", + "bsc2_apb", + "bsc3_apb", + "pwm_apb"; }; ... diff --git a/include/dt-bindings/clock/bcm21664.h b/include/dt-bindings/clo= ck/bcm21664.h index 7a380a51848ce100cbf94f9da2b997dbe3a65230..9f3614eb9036b5ce36b610fd743= 7338655a9cf97 100644 --- a/include/dt-bindings/clock/bcm21664.h +++ b/include/dt-bindings/clock/bcm21664.h @@ -25,6 +25,7 @@ /* aon CCU clock ids */ =20 #define BCM21664_AON_CCU_HUB_TIMER 0 +#define BCM21664_AON_CCU_HUB_TIMER_APB 1 =20 /* master CCU clock ids */ =20 @@ -36,6 +37,11 @@ #define BCM21664_MASTER_CCU_SDIO2_SLEEP 5 #define BCM21664_MASTER_CCU_SDIO3_SLEEP 6 #define BCM21664_MASTER_CCU_SDIO4_SLEEP 7 +#define BCM21664_MASTER_CCU_SDIO1_AHB 8 +#define BCM21664_MASTER_CCU_SDIO2_AHB 9 +#define BCM21664_MASTER_CCU_SDIO3_AHB 10 +#define BCM21664_MASTER_CCU_SDIO4_AHB 11 +#define BCM21664_MASTER_CCU_USB_OTG_AHB 12 =20 /* slave CCU clock ids */ =20 @@ -46,5 +52,12 @@ #define BCM21664_SLAVE_CCU_BSC2 4 #define BCM21664_SLAVE_CCU_BSC3 5 #define BCM21664_SLAVE_CCU_BSC4 6 +#define BCM21664_SLAVE_CCU_UARTB_APB 7 +#define BCM21664_SLAVE_CCU_UARTB2_APB 8 +#define BCM21664_SLAVE_CCU_UARTB3_APB 9 +#define BCM21664_SLAVE_CCU_BSC1_APB 10 +#define BCM21664_SLAVE_CCU_BSC2_APB 11 +#define BCM21664_SLAVE_CCU_BSC3_APB 12 +#define BCM21664_SLAVE_CCU_BSC4_APB 13 =20 #endif /* _CLOCK_BCM21664_H */ diff --git a/include/dt-bindings/clock/bcm281xx.h b/include/dt-bindings/clo= ck/bcm281xx.h index 0c7a7e10cb425ddb597392939cb218545a48bf22..8e3ac4ab3e16fb33a82259ccb82= 287fdfbb749bc 100644 --- a/include/dt-bindings/clock/bcm281xx.h +++ b/include/dt-bindings/clock/bcm281xx.h @@ -33,6 +33,8 @@ #define BCM281XX_AON_CCU_HUB_TIMER 0 #define BCM281XX_AON_CCU_PMU_BSC 1 #define BCM281XX_AON_CCU_PMU_BSC_VAR 2 +#define BCM281XX_AON_CCU_HUB_TIMER_APB 3 +#define BCM281XX_AON_CCU_PMU_BSC_APB 4 =20 /* hub CCU clock ids */ =20 @@ -47,6 +49,13 @@ #define BCM281XX_MASTER_CCU_USB_IC 4 #define BCM281XX_MASTER_CCU_HSIC2_48M 5 #define BCM281XX_MASTER_CCU_HSIC2_12M 6 +#define BCM281XX_MASTER_CCU_SDIO1_AHB 7 +#define BCM281XX_MASTER_CCU_SDIO2_AHB 8 +#define BCM281XX_MASTER_CCU_SDIO3_AHB 9 +#define BCM281XX_MASTER_CCU_SDIO4_AHB 10 +#define BCM281XX_MASTER_CCU_USB_IC_AHB 11 +#define BCM281XX_MASTER_CCU_HSIC2_AHB 12 +#define BCM281XX_MASTER_CCU_USB_OTG_AHB 13 =20 /* slave CCU clock ids */ =20 @@ -60,5 +69,15 @@ #define BCM281XX_SLAVE_CCU_BSC2 7 #define BCM281XX_SLAVE_CCU_BSC3 8 #define BCM281XX_SLAVE_CCU_PWM 9 +#define BCM281XX_SLAVE_CCU_UARTB_APB 10 +#define BCM281XX_SLAVE_CCU_UARTB2_APB 11 +#define BCM281XX_SLAVE_CCU_UARTB3_APB 12 +#define BCM281XX_SLAVE_CCU_UARTB4_APB 13 +#define BCM281XX_SLAVE_CCU_SSP0_APB 14 +#define BCM281XX_SLAVE_CCU_SSP2_APB 15 +#define BCM281XX_SLAVE_CCU_BSC1_APB 16 +#define BCM281XX_SLAVE_CCU_BSC2_APB 17 +#define BCM281XX_SLAVE_CCU_BSC3_APB 18 +#define BCM281XX_SLAVE_CCU_PWM_APB 19 =20 #endif /* _CLOCK_BCM281XX_H */ --=20 2.49.0 From nobody Sun Feb 8 18:09:17 2026 Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) (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 849E21EF394; Wed, 30 Apr 2025 06:50:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995803; cv=none; b=O+LrNCuW55S6EYJjxRocXOsAm1qwRIKnNqh6WrfjWNFe0qUtki3y6bO8G0oTP6cNGrqaABLWDX42r6uZ8OKvHAPIEwpMuYfEjp8EcwyCKdcoX82u6GEkzrOcZ7ni77hzbx4U7rQTzvpjhk/GUE0capPqTcM5+f0c0LGa4YDk0Mo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995803; c=relaxed/simple; bh=4N2E2JXygE8NpYDx2EEmd+FpbDr/0vOi7Ou5T49h9vs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gOih43ulsbKX/eCedXXONyCcsvPlDC170gPG5g29mtp8f/3XtCSV+6G71hsqS+2FVVTbmfS5mK5snLtp4Pj4niHyo7uDktq91XHjDcoKG2VbqeXicqR3Jh7gJ1pCxP458AyhlyLEbsQyLQliCAAItY6yKqX6JJyoODrT7TjPuPw= 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=eKHqfWre; arc=none smtp.client-ip=209.85.218.41 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="eKHqfWre" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-acb2faa9f55so868126766b.3; Tue, 29 Apr 2025 23:50:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745995800; x=1746600600; 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=tni1oPCCuqZmuKe5Q0HGas6VbRxErRib8n1zA9j56PQ=; b=eKHqfWreLAMW+lcmZ6H7aH3wNfRuo0lmDIp5pPRrHK7q5Wisnv91fVPV7PuCRm80QS YJrG6Ayayz8xhi4rV8KGan7VC3aAFOmT7ZrIuodiE71ZknVDUZvcYWVtWCw1v/WMx4gC t3zDyYOqfjqbL7SNt5eb5dPHyGU9NCP9OJDUiyfTI9QQTekf588vwLbGLAvBsfQLr3M8 HAJQIDIi1gqp5Baw0DhhI9nKKzbjSTqP+jeFdYeWcu20Tt4y6NhFGfXZ/11Ls9/KRm1g mtQCKbh6OP8covqMl3qgnnnZQzGtNGJ/WdcI9bMA8NO6YfTqtF8jlWqdHPi6REXjnsAG b/lQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745995800; x=1746600600; 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=tni1oPCCuqZmuKe5Q0HGas6VbRxErRib8n1zA9j56PQ=; b=qvonhvVgVKo59RCKyEKtiD2PEEIXLsqolytXZL41fSq5lAGHQI61mQoQrLV7KZg7pY YKps1yIATUyY5DhFUeAA+svwsKT9piScm8sTTFp05P7rF+8wc4cV2dITr5+JD36dEFZg xOgeo7p7jIC0a0mjgXdKnH5wB+evw3Uk7uH8IbitrqqQugqzQGGtRguSHSprFJPFdfqz nCEemdJWncQtarVS9c7yZ3EVuDd7Dpg/jaxretX4ISh1m3U1os0CYwp3602VUB4w8rOu CWL8Di5JTNmV4k6OUtxIas2HZZMKe8+SJR56IkvDGVcG8XUGHqS/LKW5cfpxFBJB6Hzz VqdA== X-Forwarded-Encrypted: i=1; AJvYcCV8RAp4ZwYvttYBK5zXgbm6RRsjgOy5Miub+2nvVUvbv72xqVv+QeH7wKcE0SWLiswmwI58cQEM/S8j@vger.kernel.org, AJvYcCVGzMqF02hIRwnWIguVApnCCtl1e01Tmp1DJHTSaeQV89pIVPiy/udFGal92teaVwO3QZQkjAX461uZyMed@vger.kernel.org, AJvYcCVJxKSDx+E8POGxRQWmpncSdd4NQA8ZzXmLyBJ9hft8L9KQUIZ9CejKcaK/XCcmecn8rzvZNRkvOypN@vger.kernel.org X-Gm-Message-State: AOJu0YzIPZV6M/AFsiqUtqBwVbZM2+rlI9uGYSPZ1yv+2wfYen/cegVz 2D6LdKCGfih9ZPe3pKgxwVOVPOFALE73aJYydymd9yNDrS7lQyDs X-Gm-Gg: ASbGncuX1gQDulX60Bhsade9g866PdJicOyHi/6L5ZQHi97AsxJeiOVFh/xezY0rGio kc7wGcRWMAp/CB22IkLM//KQhXKkiw9IiuJoAFXKGPIcUdiMUJ+cELSERnauHjDX7aDYhGdWa5G S6YW9gnXdsi1z8VYlsUOOrxQP7OLoK3q18VbJ4m1oV8Pm/FHcIVSNR1yLCLGvYBKVEFR6oPvjLS 9zeUcGy04ayp0PWnXdnHiRJzv5qdPCIsRnl5NlbO+kM1BgT/l3dkN6OXHOD5GOvwdie9SJmN5Fu aQ+TncX6oI3Qdlz79U7Xt7kdJoDZ7S6WqEoAkG8aNJ/NtNkbD8SFIDm1yqIH/izuF2Ut5+9qlBW QT6cJT9iXSP8= X-Google-Smtp-Source: AGHT+IEUtlU/bZ8r12wna7Zp6rY+3Y8vO6K2Qfi2gSp3A7pQZhEvHiYMjABT4L8aeWqSVbY96Uarnw== X-Received: by 2002:a17:906:7955:b0:acb:35df:33f5 with SMTP id a640c23a62f3a-acee260284cmr112636966b.56.1745995799507; Tue, 29 Apr 2025 23:49:59 -0700 (PDT) Received: from hex.my.domain (83.8.121.197.ipv4.supernova.orange.pl. [83.8.121.197]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e5087e4sm881222866b.73.2025.04.29.23.49.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 23:49:59 -0700 (PDT) From: Artur Weber Date: Wed, 30 Apr 2025 08:49:51 +0200 Subject: [PATCH v5 4/8] clk: bcm: kona: Add support for bus clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-kona-bus-clock-v5-4-46766b28b93a@gmail.com> References: <20250430-kona-bus-clock-v5-0-46766b28b93a@gmail.com> In-Reply-To: <20250430-kona-bus-clock-v5-0-46766b28b93a@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=1745995792; l=8577; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=4N2E2JXygE8NpYDx2EEmd+FpbDr/0vOi7Ou5T49h9vs=; b=Y9wcJN++zdBdBJ9zEWeG+J6OSotwwAwkqQBgQeEgcA7blq7bpD/6Bbw5wyIp4tjzJysFPa4O4 E5b4cMseWprB1g6L8YUxJ0ECEVPS0Est9UH/0vbAXo1MbJS4VEeBgz0 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-se= tup.c index 338558f6fbaec27418497fc246de17e15236ca0d..8b6123e188fbc035cda2cf39403= 5d35197671d06 100644 --- a/drivers/clk/bcm/clk-kona-setup.c +++ b/drivers/clk/bcm/clk-kona-setup.c @@ -167,6 +167,58 @@ static bool peri_clk_data_offsets_valid(struct kona_cl= k *bcm_clk) return true; } =20 +static bool bus_clk_data_offsets_valid(struct kona_clk *bcm_clk) +{ + struct bus_clk_data *bus; + struct bcm_clk_policy *policy; + struct bcm_clk_gate *gate; + struct bcm_clk_hyst *hyst; + const char *name; + u32 range; + u32 limit; + + BUG_ON(bcm_clk->type !=3D bcm_clk_bus); + bus =3D bcm_clk->u.bus; + name =3D bcm_clk->init_data.name; + range =3D bcm_clk->ccu->range; + + limit =3D range - sizeof(u32); + limit =3D round_down(limit, sizeof(u32)); + + policy =3D &bus->policy; + if (policy_exists(policy)) { + if (policy->offset > limit) { + pr_err("%s: bad policy offset for %s (%u > %u)\n", + __func__, name, policy->offset, limit); + return false; + } + } + + gate =3D &bus->gate; + hyst =3D &bus->hyst; + if (gate_exists(gate)) { + if (gate->offset > limit) { + pr_err("%s: bad gate offset for %s (%u > %u)\n", + __func__, name, gate->offset, limit); + return false; + } + + if (hyst_exists(hyst)) { + if (hyst->offset > limit) { + pr_err("%s: bad hysteresis offset for %s " + "(%u > %u)\n", __func__, + name, hyst->offset, limit); + return false; + } + } + } else if (hyst_exists(hyst)) { + pr_err("%s: hysteresis but no gate for %s\n", __func__, name); + return false; + } + + return true; +} + /* A bit position must be less than the number of bits in a 32-bit registe= r. */ static bool bit_posn_valid(u32 bit_posn, const char *field_name, const char *clock_name) @@ -481,9 +533,46 @@ peri_clk_data_valid(struct kona_clk *bcm_clk) return kona_dividers_valid(bcm_clk); } =20 +/* Determine whether the set of bus clock registers are valid. */ +static bool +bus_clk_data_valid(struct kona_clk *bcm_clk) +{ + struct bus_clk_data *bus; + struct bcm_clk_policy *policy; + struct bcm_clk_gate *gate; + struct bcm_clk_hyst *hyst; + const char *name; + + BUG_ON(bcm_clk->type !=3D bcm_clk_bus); + + if (!bus_clk_data_offsets_valid(bcm_clk)) + return false; + + bus =3D bcm_clk->u.bus; + name =3D bcm_clk->init_data.name; + + policy =3D &bus->policy; + if (policy_exists(policy) && !policy_valid(policy, name)) + return false; + + gate =3D &bus->gate; + if (gate_exists(gate) && !gate_valid(gate, "gate", name)) + return false; + + hyst =3D &bus->hyst; + if (hyst_exists(hyst) && !hyst_valid(hyst, name)) + return false; + + return true; +} + static bool kona_clk_valid(struct kona_clk *bcm_clk) { switch (bcm_clk->type) { + case bcm_clk_bus: + if (!bus_clk_data_valid(bcm_clk)) + return false; + break; case bcm_clk_peri: if (!peri_clk_data_valid(bcm_clk)) return false; @@ -656,6 +745,14 @@ static void peri_clk_teardown(struct peri_clk_data *da= ta, clk_sel_teardown(&data->sel, init_data); } =20 +static void bus_clk_teardown(struct bus_clk_data *data, + struct clk_init_data *init_data) +{ + init_data->num_parents =3D 0; + kfree(init_data->parent_names); + init_data->parent_names =3D NULL; +} + /* * Caller is responsible for freeing the parent_names[] and * parent_sel[] arrays in the peripheral clock's "data" structure @@ -670,9 +767,23 @@ peri_clk_setup(struct peri_clk_data *data, struct clk_= init_data *init_data) return clk_sel_setup(data->clocks, &data->sel, init_data); } =20 +static int +bus_clk_setup(struct bus_clk_data *data, struct clk_init_data *init_data) +{ + init_data->flags =3D CLK_IGNORE_UNUSED; + + init_data->parent_names =3D NULL; + init_data->num_parents =3D 0; + + return 0; +} + static void bcm_clk_teardown(struct kona_clk *bcm_clk) { switch (bcm_clk->type) { + case bcm_clk_bus: + bus_clk_teardown(bcm_clk->u.data, &bcm_clk->init_data); + break; case bcm_clk_peri: peri_clk_teardown(bcm_clk->u.data, &bcm_clk->init_data); break; @@ -702,6 +813,11 @@ static int kona_clk_setup(struct kona_clk *bcm_clk) struct clk_init_data *init_data =3D &bcm_clk->init_data; =20 switch (bcm_clk->type) { + case bcm_clk_bus: + ret =3D bus_clk_setup(bcm_clk->u.data, init_data); + if (ret) + return ret; + break; case bcm_clk_peri: ret =3D peri_clk_setup(bcm_clk->u.data, init_data); if (ret) diff --git a/drivers/clk/bcm/clk-kona.c b/drivers/clk/bcm/clk-kona.c index 2b0ea882f1e41716722ff67c06ae7d055c350e14..2417fa2833e4fd9db3d9724ccf2= addb6d31f114d 100644 --- a/drivers/clk/bcm/clk-kona.c +++ b/drivers/clk/bcm/clk-kona.c @@ -962,7 +962,7 @@ static int selector_write(struct ccu_data *ccu, struct = bcm_clk_gate *gate, return ret; } =20 -/* Clock operations */ +/* Peripheral clock operations */ =20 static int kona_peri_clk_enable(struct clk_hw *hw) { @@ -1234,9 +1234,69 @@ static bool __peri_clk_init(struct kona_clk *bcm_clk) return true; } =20 +/* Bus clock operations */ + +static int kona_bus_clk_enable(struct clk_hw *hw) +{ + struct kona_clk *bcm_clk =3D to_kona_clk(hw); + struct bcm_clk_gate *gate =3D &bcm_clk->u.bus->gate; + + return clk_gate(bcm_clk->ccu, bcm_clk->init_data.name, gate, true); +} + +static void kona_bus_clk_disable(struct clk_hw *hw) +{ + struct kona_clk *bcm_clk =3D to_kona_clk(hw); + struct bcm_clk_gate *gate =3D &bcm_clk->u.bus->gate; + + (void)clk_gate(bcm_clk->ccu, bcm_clk->init_data.name, gate, false); +} + +static int kona_bus_clk_is_enabled(struct clk_hw *hw) +{ + struct kona_clk *bcm_clk =3D to_kona_clk(hw); + struct bcm_clk_gate *gate =3D &bcm_clk->u.bus->gate; + + return is_clk_gate_enabled(bcm_clk->ccu, gate) ? 1 : 0; +} + +struct clk_ops kona_bus_clk_ops =3D { + .enable =3D kona_bus_clk_enable, + .disable =3D kona_bus_clk_disable, + .is_enabled =3D kona_bus_clk_is_enabled, +}; + +/* Put a bus clock into its initial state */ +static bool __bus_clk_init(struct kona_clk *bcm_clk) +{ + struct ccu_data *ccu =3D bcm_clk->ccu; + struct bus_clk_data *bus =3D bcm_clk->u.bus; + const char *name =3D bcm_clk->init_data.name; + + BUG_ON(bcm_clk->type !=3D bcm_clk_bus); + + if (!policy_init(ccu, &bus->policy)) { + pr_err("%s: error initializing policy for %s\n", + __func__, name); + return false; + } + if (!gate_init(ccu, &bus->gate)) { + pr_err("%s: error initializing gate for %s\n", __func__, name); + return false; + } + if (!hyst_init(ccu, &bus->hyst)) { + pr_err("%s: error initializing hyst for %s\n", __func__, name); + return false; + } + + return true; +} + static bool __kona_clk_init(struct kona_clk *bcm_clk) { switch (bcm_clk->type) { + case bcm_clk_bus: + return __bus_clk_init(bcm_clk); case bcm_clk_peri: return __peri_clk_init(bcm_clk); default: diff --git a/drivers/clk/bcm/clk-kona.h b/drivers/clk/bcm/clk-kona.h index 59dee015a07d749f8ac2a3b4dcfe38d7b92bd0f6..a03b9e054d96af69bf21160e26b= 2d7e4d4c53765 100644 --- a/drivers/clk/bcm/clk-kona.h +++ b/drivers/clk/bcm/clk-kona.h @@ -390,6 +390,14 @@ struct peri_clk_data { struct bcm_clk_sel sel; const char *clocks[]; /* must be last; use CLOCKS() to declare */ }; + +struct bus_clk_data { + struct bcm_clk_policy policy; + struct bcm_clk_gate gate; + struct bcm_clk_hyst hyst; + const char *clocks[]; /* must be last; use CLOCKS() to declare */ +}; + #define CLOCKS(...) { __VA_ARGS__, NULL, } #define NO_CLOCKS { NULL, } /* Must use of no parent clocks */ =20 @@ -401,6 +409,7 @@ struct kona_clk { union { void *data; struct peri_clk_data *peri; + struct bus_clk_data *bus; } u; }; #define to_kona_clk(_hw) \ @@ -488,6 +497,7 @@ struct ccu_data { /* Exported globals */ =20 extern struct clk_ops kona_peri_clk_ops; +extern struct clk_ops kona_bus_clk_ops; =20 /* Externally visible functions */ =20 --=20 2.49.0 From nobody Sun Feb 8 18:09:17 2026 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED1241F1315; Wed, 30 Apr 2025 06:50:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995804; cv=none; b=NqinCGlJNc/mIZ/NqgIzZmJr6Xzty/2IP725Ir20tKbBSyJEI4w+uJb1yusGvTpcqarDVDi3HMn855ShnlmdOv7qnFdsT+JHWDipIuj9YkoQoF9JVtfFx/1wkmdJkR97TIEANAkwc5WLpXBKh9cdF7Rg7JdK5dJXdCm/aNT18v0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995804; c=relaxed/simple; bh=WjgxMXTcgwItgoKD3Gfx/jrI7CDJuRJs1NF5T26HbW4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=fNIhLi2j2gWDi9ZD0Cb1afwd85KnVPUStQFd44Jr4H5lVvu38eRQk/qU8u2MOozp19lFntOF5bEFxCi8Rm8ZA/G0lEQDfKErkuP003AYEuNYyQW9T/Xh+eYamQ+hhzUJS7LPjxEBX0PsXLuXwZYMU4+pLn6/9qVSIOdsUumOVxY= 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=S+u2QzDk; arc=none smtp.client-ip=209.85.218.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="S+u2QzDk" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-ace98258d4dso650948566b.2; Tue, 29 Apr 2025 23:50:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745995801; x=1746600601; 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=1YoHxeLl8xpgurqNdYUhKuk/L00l3h3COXXZrxfE49E=; b=S+u2QzDkMPLqmty8WMHl1i2DprJpz12o7a9iLqnW9kQeXNGEpKgcb8DVenuOn1u2tc 0zitAPlFKzIpY7CxEIkaac9c2jNzI2TunhCuBujsSY4cXWJ2mDFOibG1ERrZ/TTuuR7S rf/kR0Te4OL6KObkavnbDSudo2q5CNSumYDqYmZm8FALyCr4f+c0ohEA1YigbCyHw4UD 1mPobDh2F7KM0MZ27TPvBJnZlpceL+W87R9mxg7GCIUhiDpdv/hbbM71orTKJXr5FpRL Dod5VwIdN+YMwZSHgOcUMntLUBEucQBTpZGILjo1neYL7Ye6D54X4fgEUQedzy3xdfQl 610g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745995801; x=1746600601; 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=1YoHxeLl8xpgurqNdYUhKuk/L00l3h3COXXZrxfE49E=; b=QwMu69DcquFNMiCXVCf717COEl5sdRn+hx295wQUAD3cKfQ6G6mcZSd21w/P1Z1yIo FRZ8V7KIpNvwKxWZ9izOJCXeE20CPIyJlU1zhqXyEeGqWXsVBT/FiAQNNj+P0sht9u9/ +TkGJaUDgGJpqeXpYhD8vp+svIJ93rzfca+E6N8s941py/ZZUBBu61XbPLJaE79VT7dx W0mers+z6UKnOF/2PmrWRdg12dja8cr7S4WnexaKzTff5HDXeisEsR+Dsg6kTIS8Tw7M PvuBuEu/RYV0QvSfTB5jNor1X/4k3m1KfwiwJePvipL+UHpLp8drqryosfkCEhiZLOMj Es0Q== X-Forwarded-Encrypted: i=1; AJvYcCVqXAIDRa5LVbPENxGiNhwm12cg2j9x2RnKAuelUmtpHqcgtUXqSXRZBt4zYaaLD+STVIfMq0P7xODb@vger.kernel.org, AJvYcCWJKG4d0U/MGFLUUsX2BoNQ636oUm6P+MTrJ9NDD/w4MUMEyIUlXdElCwxkhKgbUxedmaB81qnCjL7U@vger.kernel.org, AJvYcCXoCFg7rRTQPIOts7WnwQo/6UpCGSZOgH6AOd+SUDv0efLMun8XaALWZqDzvc0qA2C9sF7I+qvz8YUqRWcH@vger.kernel.org X-Gm-Message-State: AOJu0Ywzp2OMpTYi6lb0vTZzAApeiOFWfam4IauDb8FRezraA/ypZcOI Yk0w0dNvB6MtCEI0KP6A/ahpFbeUhzyfA/qa1E6FoRkPYTQ1/sj+ X-Gm-Gg: ASbGncu6OXpfPxAmb9QoXr84MMPtpQBahqopAFrlepxTG/1rPpV5xyc+aVpyAs26oAp 9sxFRXKz2yUTzlO72dmifOMYk464A9gjqqRbYcdMCYEgBgiJbigdhdUTWZeoCKdag2qLyF1YyOm A66eJRuLOHxud5NWr7aUHRjnA3X3DRbOXCoV3CSSx4JSNmKbfPqBOlet5p8h7xXIs6dDA7qQNSB /Ibx3q8HUV6zZQdPY3smyYNcsHcySn8w372Z2CjbVWTq84pc//FKfowy5D7zvCeBMLKrci3mZh6 fN11XIQBvsL/VW/PyfuDqmTnCEqQnlkdGeTz/IP8wbCR7qEBJ2h9Lfe5Q8R33mO0GQpC2YPwS1Q o+z/k8I8ZwyQ= X-Google-Smtp-Source: AGHT+IF6aR20r1djnYnFri4nliB+f7qiFvYNWiK+xI5qR2P3ExdhEB5X8eSN2GGcme2WhYpc9zmpmw== X-Received: by 2002:a17:907:2d1f:b0:ac6:e327:8de7 with SMTP id a640c23a62f3a-acedc6f171amr186838566b.42.1745995800873; Tue, 29 Apr 2025 23:50:00 -0700 (PDT) Received: from hex.my.domain (83.8.121.197.ipv4.supernova.orange.pl. [83.8.121.197]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e5087e4sm881222866b.73.2025.04.29.23.49.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 23:50:00 -0700 (PDT) From: Artur Weber Date: Wed, 30 Apr 2025 08:49:52 +0200 Subject: [PATCH v5 5/8] clk: bcm21664: Add corresponding bus clocks for peripheral clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-kona-bus-clock-v5-5-46766b28b93a@gmail.com> References: <20250430-kona-bus-clock-v5-0-46766b28b93a@gmail.com> In-Reply-To: <20250430-kona-bus-clock-v5-0-46766b28b93a@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=1745995792; l=5067; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=WjgxMXTcgwItgoKD3Gfx/jrI7CDJuRJs1NF5T26HbW4=; b=gDKEHRU8iByW4Qe0RvqzaXoW+QQ8hc6NX4IDzn/tC3MotVK5LnzZ6lvN6COwtXgSytQfJ4HYh 6uhTdWZiSMQD66B8OOGexHyNDpNSg19GRq6Dy6FEMiFuvkuv5M4/Jsq 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..4223ac1c35a258bd30ba2bd4b24= 0da6b1e88fa06 100644 --- a/drivers/clk/bcm/clk-bcm21664.c +++ b/drivers/clk/bcm/clk-bcm21664.c @@ -41,7 +41,12 @@ static struct peri_clk_data hub_timer_data =3D { .trig =3D TRIGGER(0x0a40, 4), }; =20 -#define BCM21664_AON_CCU_CLK_COUNT (BCM21664_AON_CCU_HUB_TIMER + 1) +static struct bus_clk_data hub_timer_apb_data =3D { + .gate =3D HW_SW_GATE(0x0414, 18, 3, 2), + .hyst =3D HYST(0x0414, 10, 11), +}; + +#define BCM21664_AON_CCU_CLK_COUNT (BCM21664_AON_CCU_HUB_TIMER_APB + 1) =20 static struct ccu_data aon_ccu_data =3D { BCM21664_CCU_COMMON(aon, AON), @@ -52,6 +57,8 @@ static struct ccu_data aon_ccu_data =3D { .kona_clks =3D { [BCM21664_AON_CCU_HUB_TIMER] =3D KONA_CLK(aon, hub_timer, peri), + [BCM21664_AON_CCU_HUB_TIMER_APB] =3D + KONA_CLK(aon, hub_timer_apb, bus), [BCM21664_AON_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -126,7 +133,27 @@ static struct peri_clk_data sdio4_sleep_data =3D { .gate =3D HW_SW_GATE(0x0360, 18, 2, 3), }; =20 -#define BCM21664_MASTER_CCU_CLK_COUNT (BCM21664_MASTER_CCU_SDIO4_SLEEP + 1) +static struct bus_clk_data sdio1_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0358, 16, 0, 1), +}; + +static struct bus_clk_data sdio2_ahb_data =3D { + .gate =3D HW_SW_GATE(0x035c, 16, 0, 1), +}; + +static struct bus_clk_data sdio3_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0364, 16, 0, 1), +}; + +static struct bus_clk_data sdio4_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0360, 16, 0, 1), +}; + +static struct bus_clk_data usb_otg_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0348, 16, 0, 1), +}; + +#define BCM21664_MASTER_CCU_CLK_COUNT (BCM21664_MASTER_CCU_USB_OTG_AHB + 1) =20 static struct ccu_data master_ccu_data =3D { BCM21664_CCU_COMMON(master, MASTER), @@ -151,6 +178,16 @@ static struct ccu_data master_ccu_data =3D { KONA_CLK(master, sdio3_sleep, peri), [BCM21664_MASTER_CCU_SDIO4_SLEEP] =3D KONA_CLK(master, sdio4_sleep, peri), + [BCM21664_MASTER_CCU_SDIO1_AHB] =3D + KONA_CLK(master, sdio1_ahb, bus), + [BCM21664_MASTER_CCU_SDIO2_AHB] =3D + KONA_CLK(master, sdio2_ahb, bus), + [BCM21664_MASTER_CCU_SDIO3_AHB] =3D + KONA_CLK(master, sdio3_ahb, bus), + [BCM21664_MASTER_CCU_SDIO4_AHB] =3D + KONA_CLK(master, sdio4_ahb, bus), + [BCM21664_MASTER_CCU_USB_OTG_AHB] =3D + KONA_CLK(master, usb_otg_ahb, bus), [BCM21664_MASTER_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -231,7 +268,39 @@ static struct peri_clk_data bsc4_data =3D { .trig =3D TRIGGER(0x0afc, 19), }; =20 -#define BCM21664_SLAVE_CCU_CLK_COUNT (BCM21664_SLAVE_CCU_BSC4 + 1) +static struct bus_clk_data uartb_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0400, 16, 0, 1), +}; + +static struct bus_clk_data uartb2_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0404, 16, 0, 1), +}; + +static struct bus_clk_data uartb3_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0408, 16, 0, 1), +}; + +static struct bus_clk_data bsc1_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0458, 16, 0, 1), + .hyst =3D HYST(0x0458, 8, 9), +}; + +static struct bus_clk_data bsc2_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x045c, 16, 0, 1), + .hyst =3D HYST(0x045c, 8, 9), +}; + +static struct bus_clk_data bsc3_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0470, 16, 0, 1), + .hyst =3D HYST(0x0470, 8, 9), +}; + +static struct bus_clk_data bsc4_apb_data =3D { + .gate =3D HW_SW_GATE_AUTO(0x0474, 16, 0, 1), + .hyst =3D HYST(0x0474, 8, 9), +}; + +#define BCM21664_SLAVE_CCU_CLK_COUNT (BCM21664_SLAVE_CCU_BSC4_APB + 1) =20 static struct ccu_data slave_ccu_data =3D { BCM21664_CCU_COMMON(slave, SLAVE), @@ -254,6 +323,20 @@ static struct ccu_data slave_ccu_data =3D { KONA_CLK(slave, bsc3, peri), [BCM21664_SLAVE_CCU_BSC4] =3D KONA_CLK(slave, bsc4, peri), + [BCM21664_SLAVE_CCU_UARTB_APB] =3D + KONA_CLK(slave, uartb_apb, bus), + [BCM21664_SLAVE_CCU_UARTB2_APB] =3D + KONA_CLK(slave, uartb2_apb, bus), + [BCM21664_SLAVE_CCU_UARTB3_APB] =3D + KONA_CLK(slave, uartb3_apb, bus), + [BCM21664_SLAVE_CCU_BSC1_APB] =3D + KONA_CLK(slave, bsc1_apb, bus), + [BCM21664_SLAVE_CCU_BSC2_APB] =3D + KONA_CLK(slave, bsc2_apb, bus), + [BCM21664_SLAVE_CCU_BSC3_APB] =3D + KONA_CLK(slave, bsc3_apb, bus), + [BCM21664_SLAVE_CCU_BSC4_APB] =3D + KONA_CLK(slave, bsc4_apb, bus), [BCM21664_SLAVE_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; --=20 2.49.0 From nobody Sun Feb 8 18:09:17 2026 Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D4B81F0990; Wed, 30 Apr 2025 06:50:03 +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=1745995806; cv=none; b=fDV+WMIIjKvRg0I3uX+zNVvnrqdKDEjYSnthIG2amCrE4NBRfT4mvSAb/pVmG+/bRISQUOizOusjp6TP4SF2FEN4OaNex8gcQnqL019FoWh4PMhdUVnFunytYbBCDhzEZv33BhV155CjwPKgt4aiq35xAwc/otUBVYWXHyOceXc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995806; c=relaxed/simple; bh=o7X/4GECjENDH1ijH4aYrFFLIfNbwXyik12NQU8Zssg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ellNxiJhWbkKOisJ6ngDt5t6PDxbu41yrdr9nz4v1R1myyY43ovLKile3PpGpKhQahPjSFZOGvZlYBTbKEqXvdkmsE+VTCuQaLjYWgwpdNcWzysH14J+AZFEp6gvgBMvnJAKbTrVVSDP8+EBYfZb5Cp/xxnertPKkb41ZuskAoI= 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=H8FpuQKG; 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="H8FpuQKG" Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-5f4ca707e31so11470362a12.2; Tue, 29 Apr 2025 23:50:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745995802; x=1746600602; 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=fvJx3UmzS8dVjptlRaiQbYqyjCdjDtmMrhIbcXQbz5s=; b=H8FpuQKG/T/UbWqGkigFogOqKwLti+vZQwbZMFjO4rReWpio8BKpJHf5ELY3D2c/LL 4fvW3RhInkFQH1CxQVTKCXbb3qmXxvghaPMJJ5moJn8Oqq/8XC82U5Ta7OOhaFWG+p5n xkY/JCN9pwmyw7dx+ILEnc7F01p22OAEDnJasL4SiN0XC3kQW72OTbVYNXdWOE8HffId WaeoicoiTLTDhXThcLvesloS5SMrm9kGd9bmPfgEmlRtvyA//lPE5EwkOBcgiC/j1m6R UdwsJyW0yKCU1OeeJyFetaz3M5vRArHzWlPSS0hgVhzytn9ULIgMk1botbCXx6zYNJQ+ EZDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745995802; x=1746600602; 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=fvJx3UmzS8dVjptlRaiQbYqyjCdjDtmMrhIbcXQbz5s=; b=dkU+Qx+cwQjY5qGiOywlcHLBybkbPYTi3hOjpEQCknLl3JzBy8wSTPmGhQG1IiP4kU 6lKTORBXGm4WYeD6lDvHHCrjmuHErQM/aJsY50TZIQ3ByA1/O8GVgLffwAvPZWvonn0x z6I5jlLAy1CaTvndNDSWqx5Y2TKsoEZNz5KTudyqTLwCqme2IO+Jnk1dPK+iKEeW6Azd 6lPPKIFWql9pJ2Vcu8EhmByWHuq24nHX2IYaee0meLQm4Tupb+suJPTD1j2bHO7Sl8OP QjZN/vLsXc5tKiU7fuZ3JCQyW8kxvVjuTGYOUNmCwZh6ZAVxymcH6Li/N4pTPjxun1vX +dHA== X-Forwarded-Encrypted: i=1; AJvYcCU+kneVqjFdwIbTCkpLDJlU1lFX5DfFYTOCPDaYG7iEJco2BgqCgkkTSs2z6LjSYvFu1zfSFd9vIUFc@vger.kernel.org, AJvYcCW958Phraj2g7qajw5suf9HopQ6Ygtq77oo+sslZjFJQKCLCubbM4J2rbnG6UOahZ88fWvcGKNmQE1F9NMk@vger.kernel.org, AJvYcCWYfg4gISalMXRhv1yWuGUBhl/VIX3Jn7L4S2S3EkZE1pfczyqmFWkyth6CikHSzk3xZRQOl0Pd/R5K@vger.kernel.org X-Gm-Message-State: AOJu0YycHqRu4TwekGDxMS1/P/OOQjA6CclFJpjsMpMUsx2MbqKp8Vpn cmKRnvybHW1Bj15deK/QndXQwr/y47G6++bxCTiC3ILnq0yS2KpP X-Gm-Gg: ASbGncvHbAntjIZ4lqpTf9DxTanUX2ch2tMpeTKktC8cmtL6fFBYqPoS7n4oXPrG9hO 5uXoDijy6o0JQM5wWcZR/5oRhzvstEYsGdinhx413q0PpxajqlGZwnNEoFGim6u6FrwntQhkHOp LszsnXfgZnVIpTiKxjxd7J/TymgYR2iCKK4UwJ80nmkpG+Xgt/qTpBMAOYo0z/3aR8KZ48WsoEw lDRyxcXE0J81s5syXKdsr9An7k4OT4ZYdsx55Ag0VkLtbSdtP3GaJcWIu0pQ3WRjeV0OiFroZ67 cu1iUCUlVXC5LIBY9tGK/tuUnaeyiw9RiTmXS70T/CbL8/MUojXUo0NdYCqIWq+8kLcFVHVbhu2 ZS62W/i6nKNE= X-Google-Smtp-Source: AGHT+IFdwliJt5x0A4qtfykEcwA+6DL4K6djtpFHi/OOI+ENvTwdlHFLjLx8LlsK+DOKmb5QvWM/iw== X-Received: by 2002:a17:907:2d08:b0:ace:8398:b772 with SMTP id a640c23a62f3a-acee21ac4e6mr138915766b.14.1745995802224; Tue, 29 Apr 2025 23:50:02 -0700 (PDT) Received: from hex.my.domain (83.8.121.197.ipv4.supernova.orange.pl. [83.8.121.197]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e5087e4sm881222866b.73.2025.04.29.23.50.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 23:50:01 -0700 (PDT) From: Artur Weber Date: Wed, 30 Apr 2025 08:49:53 +0200 Subject: [PATCH v5 6/8] clk: bcm281xx: Add corresponding bus clocks for peripheral clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-kona-bus-clock-v5-6-46766b28b93a@gmail.com> References: <20250430-kona-bus-clock-v5-0-46766b28b93a@gmail.com> In-Reply-To: <20250430-kona-bus-clock-v5-0-46766b28b93a@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=1745995792; l=5998; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=o7X/4GECjENDH1ijH4aYrFFLIfNbwXyik12NQU8Zssg=; b=N7xhtirkIcicp56xw7cPbSiEEzBw3Dvr/xc44PyGtAx3UhldkU8DcJ9LdQVcoKueYC6qr6ViH DlRmOFnaM9uAIVOln+wb1+qT4q4x8kfOLtGDC0h86s5Lw89l1aQX0cF 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..13fd8a5ea8fa07bf6f3cca83b6b= 18e59a8de63df 100644 --- a/drivers/clk/bcm/clk-bcm281xx.c +++ b/drivers/clk/bcm/clk-bcm281xx.c @@ -59,7 +59,17 @@ static struct peri_clk_data pmu_bsc_var_data =3D { .trig =3D TRIGGER(0x0a40, 2), }; =20 -#define BCM281XX_AON_CCU_CLK_COUNT (BCM281XX_AON_CCU_PMU_BSC_VAR + 1) +static struct bus_clk_data hub_timer_apb_data =3D { + .gate =3D HW_SW_GATE(0x0414, 18, 3, 2), + .hyst =3D HYST(0x0414, 10, 11), +}; + +static struct bus_clk_data pmu_bsc_apb_data =3D { + .gate =3D HW_SW_GATE(0x0418, 18, 3, 2), + .hyst =3D HYST(0x0418, 10, 11), +}; + +#define BCM281XX_AON_CCU_CLK_COUNT (BCM281XX_AON_CCU_PMU_BSC_APB + 1) =20 static struct ccu_data aon_ccu_data =3D { BCM281XX_CCU_COMMON(aon, AON), @@ -70,6 +80,10 @@ static struct ccu_data aon_ccu_data =3D { KONA_CLK(aon, pmu_bsc, peri), [BCM281XX_AON_CCU_PMU_BSC_VAR] =3D KONA_CLK(aon, pmu_bsc_var, peri), + [BCM281XX_AON_CCU_HUB_TIMER_APB] =3D + KONA_CLK(aon, hub_timer_apb, bus), + [BCM281XX_AON_CCU_PMU_BSC_APB] =3D + KONA_CLK(aon, pmu_bsc_apb, bus), [BCM281XX_AON_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -178,7 +192,36 @@ static struct peri_clk_data hsic2_12m_data =3D { .trig =3D TRIGGER(0x0afc, 5), }; =20 -#define BCM281XX_MASTER_CCU_CLK_COUNT (BCM281XX_MASTER_CCU_HSIC2_12M + 1) +static struct bus_clk_data sdio1_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0358, 16, 1, 0), +}; + +static struct bus_clk_data sdio2_ahb_data =3D { + .gate =3D HW_SW_GATE(0x035c, 16, 1, 0), +}; + +static struct bus_clk_data sdio3_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0364, 16, 1, 0), +}; + +static struct bus_clk_data sdio4_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0360, 16, 1, 0), +}; + +static struct bus_clk_data usb_ic_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0354, 16, 1, 0), +}; + +/* also called usbh_ahb */ +static struct bus_clk_data hsic2_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0370, 16, 1, 0), +}; + +static struct bus_clk_data usb_otg_ahb_data =3D { + .gate =3D HW_SW_GATE(0x0348, 16, 1, 0), +}; + +#define BCM281XX_MASTER_CCU_CLK_COUNT (BCM281XX_MASTER_CCU_USB_OTG_AHB + 1) =20 static struct ccu_data master_ccu_data =3D { BCM281XX_CCU_COMMON(master, MASTER), @@ -197,6 +240,20 @@ static struct ccu_data master_ccu_data =3D { KONA_CLK(master, hsic2_48m, peri), [BCM281XX_MASTER_CCU_HSIC2_12M] =3D KONA_CLK(master, hsic2_12m, peri), + [BCM281XX_MASTER_CCU_SDIO1_AHB] =3D + KONA_CLK(master, sdio1_ahb, bus), + [BCM281XX_MASTER_CCU_SDIO2_AHB] =3D + KONA_CLK(master, sdio2_ahb, bus), + [BCM281XX_MASTER_CCU_SDIO3_AHB] =3D + KONA_CLK(master, sdio3_ahb, bus), + [BCM281XX_MASTER_CCU_SDIO4_AHB] =3D + KONA_CLK(master, sdio4_ahb, bus), + [BCM281XX_MASTER_CCU_USB_IC_AHB] =3D + KONA_CLK(master, usb_ic_ahb, bus), + [BCM281XX_MASTER_CCU_HSIC2_AHB] =3D + KONA_CLK(master, hsic2_ahb, bus), + [BCM281XX_MASTER_CCU_USB_OTG_AHB] =3D + KONA_CLK(master, usb_otg_ahb, bus), [BCM281XX_MASTER_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -309,7 +366,51 @@ static struct peri_clk_data pwm_data =3D { .trig =3D TRIGGER(0x0afc, 15), }; =20 -#define BCM281XX_SLAVE_CCU_CLK_COUNT (BCM281XX_SLAVE_CCU_PWM + 1) +static struct bus_clk_data uartb_apb_data =3D { + .gate =3D HW_SW_GATE(0x0400, 16, 1, 0), +}; + +static struct bus_clk_data uartb2_apb_data =3D { + .gate =3D HW_SW_GATE(0x0404, 16, 1, 0), +}; + +static struct bus_clk_data uartb3_apb_data =3D { + .gate =3D HW_SW_GATE(0x0408, 16, 1, 0), +}; + +static struct bus_clk_data uartb4_apb_data =3D { + .gate =3D HW_SW_GATE(0x040c, 16, 1, 0), +}; + +static struct bus_clk_data ssp0_apb_data =3D { + .gate =3D HW_SW_GATE(0x0410, 16, 1, 0), +}; + +static struct bus_clk_data ssp2_apb_data =3D { + .gate =3D HW_SW_GATE(0x0418, 16, 1, 0), +}; + +static struct bus_clk_data bsc1_apb_data =3D { + .gate =3D HW_SW_GATE(0x0458, 16, 1, 0), + .hyst =3D HYST(0x0458, 8, 9), +}; + +static struct bus_clk_data bsc2_apb_data =3D { + .gate =3D HW_SW_GATE(0x045c, 16, 1, 0), + .hyst =3D HYST(0x045c, 8, 9), +}; + +static struct bus_clk_data bsc3_apb_data =3D { + .gate =3D HW_SW_GATE(0x0484, 16, 1, 0), + .hyst =3D HYST(0x0484, 8, 9), +}; + +static struct bus_clk_data pwm_apb_data =3D { + .gate =3D HW_SW_GATE(0x0468, 16, 1, 0), + .hyst =3D HYST(0x0468, 8, 9), +}; + +#define BCM281XX_SLAVE_CCU_CLK_COUNT (BCM281XX_SLAVE_CCU_PWM_APB + 1) =20 static struct ccu_data slave_ccu_data =3D { BCM281XX_CCU_COMMON(slave, SLAVE), @@ -334,6 +435,26 @@ static struct ccu_data slave_ccu_data =3D { KONA_CLK(slave, bsc3, peri), [BCM281XX_SLAVE_CCU_PWM] =3D KONA_CLK(slave, pwm, peri), + [BCM281XX_SLAVE_CCU_UARTB_APB] =3D + KONA_CLK(slave, uartb_apb, bus), + [BCM281XX_SLAVE_CCU_UARTB2_APB] =3D + KONA_CLK(slave, uartb2_apb, bus), + [BCM281XX_SLAVE_CCU_UARTB3_APB] =3D + KONA_CLK(slave, uartb3_apb, bus), + [BCM281XX_SLAVE_CCU_UARTB4_APB] =3D + KONA_CLK(slave, uartb4_apb, bus), + [BCM281XX_SLAVE_CCU_SSP0_APB] =3D + KONA_CLK(slave, ssp0_apb, bus), + [BCM281XX_SLAVE_CCU_SSP2_APB] =3D + KONA_CLK(slave, ssp2_apb, bus), + [BCM281XX_SLAVE_CCU_BSC1_APB] =3D + KONA_CLK(slave, bsc1_apb, bus), + [BCM281XX_SLAVE_CCU_BSC2_APB] =3D + KONA_CLK(slave, bsc2_apb, bus), + [BCM281XX_SLAVE_CCU_BSC3_APB] =3D + KONA_CLK(slave, bsc3_apb, bus), + [BCM281XX_SLAVE_CCU_PWM_APB] =3D + KONA_CLK(slave, pwm_apb, bus), [BCM281XX_SLAVE_CCU_CLK_COUNT] =3D LAST_KONA_CLK, }, }; --=20 2.49.0 From nobody Sun Feb 8 18:09:17 2026 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3706A20C01C; Wed, 30 Apr 2025 06:50:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995806; cv=none; b=SzG0EWA1sCLhvvYX6vF2L7nnIqqrK8I5dM5EzIUfboxYT8FNx8K84ywidWgiLiqEukMdwlHc5ZUt94Wn8TUj5AjLn5PWg6Q4ZOLrGANN+IBwGhri1QtHEcL/yHrHUqBFBmgl76hidpz62NuldFlmdIkOc8Ww9s/sbxXfQfcYfRU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995806; c=relaxed/simple; bh=7o0PGly54Zp/AzBT/JM05c9KWMgzTPvh4JiH1iVx85U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qD2TYI3I/MGHlrmBx0TAZsav38/KVrnwY7Tsd4qKsxh5vPK+GEmgrSsV1F/ARZ+FRcewcXm5ITugbnVjEjkydQX1yg1phcVTWofB2A+xUeyN4/53dudVotPikrrFAx32/0a12XUu1XMyiqRG8F/xPE4RM19sovcUiOdVvw03lYE= 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=ngJRZa2k; arc=none smtp.client-ip=209.85.218.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ngJRZa2k" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-acb615228a4so118287466b.0; Tue, 29 Apr 2025 23:50:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745995803; x=1746600603; 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=+oXm4nz3WDuUHxKThxISaC4MDw6D9O5zwow0ZgRQDyA=; b=ngJRZa2k+d4XOpe0J3c+uCV+idMF7iFjsNKRaW/f+DVoyHVetzVdnU01wOFXdagly6 JbnKFpovYiyTghn7/fVYMy+KVZp9rSb3y6cpC8UeouvC7eP8r6Ot5i0fkZerCV0yVdBq sZyEo11ZNORUcB5ygjrol8L0AaLnWF9pOUN7QXprkc13QVcx8bTYmW1bu3G/01tTamor UPeLm7tz6NWqPgU0yRKisvtHZW1dNIZKnXa5rrv98BLtbkbhiEjzfqpw434zCNDlMD/d Y1/ruhVvovlhb1rDbms86pi4iy/E9QTBYRiNl4z40S8oQ+M8loIFFldLowGXbyUlo+QR AVmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745995803; x=1746600603; 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=+oXm4nz3WDuUHxKThxISaC4MDw6D9O5zwow0ZgRQDyA=; b=byhGKF85wdp6RqqPomhDQyQFVS61Ps5oa/ilijLzJrr5XWNqn5H5j/Atgtu8AWnGQy 8RGuQRQ/OJBQhcXWQMopCklFNZX511+w/Ve/hAMgXWa5kyTpbcgtODPdNq+LF6/iR0sf cFubFml4NndK0+hmo1DTsTCLcEMYvPwtGr0lOmwPnb42Gz3bw+N8K3gPBYjp59yWFVmV fZ6waMFXXKQLJqVA6J0SO1EClIzJEuyEk8RLKA9WT09aDusCFtajNCUVub1Kh2WAZep2 MaO3A3YbWA9+OvFBp6iNUGf/QTqC/pyerar1E5GyP/EB38OBwh0HOQjWK48aISVNPVMy WcvQ== X-Forwarded-Encrypted: i=1; AJvYcCWmH9xHvjQ5Y2d7OR1gOmjD6tWyPhzLRaC1tlKZOP70S54HAyjga+HYiywry6oOB2T0OlYFV97jB8Lc@vger.kernel.org, AJvYcCXI8BlwN+/k/Ysznmt0m2Qo2MaQsNPbdQrE4Jz/T1Bm0jRshl9465axgwD/9Jk5xEPXtvzW5E2dGCin@vger.kernel.org, AJvYcCXyjVzbYgtxJYO5qP9ojUMmmegwwEAEOKy7z4QxJ9IxB/rTKN8t8sg3Fbhq80ExanQxzyfXON/ka7nU9xpa@vger.kernel.org X-Gm-Message-State: AOJu0YzqXiktrgonH6KP1dKcjsYfNuhXwJkb6+1BPH00w/fi8LGBuUyi hI5B229klaPpFTM/kUlhz1+mjY4SK4virb5txODowWHKmiMe1izP X-Gm-Gg: ASbGnctFDJBuHg6Mq59YFzU3Nj4eISktkuBofXYpZX8KasRaD+j5yGz062iN3LGzGag caYWGrrVnAmFwZQuII+tCFkqFXUw7YGI5vlLp/wT6mXNRuBaYyIjljH2ChOAVDdleutE4ZBWWD1 rr/Ul37mdMPW+GFOWdL2lWCK52Nc5ZLy+0qvrtqsbUDS6RWayEafASdqpnoiNHo59jGLGmhNno2 BY/weRS1DOceYVuYgesIIQylumz7QAzLBAKuZPTby48sEOcZB5dkVOygVZCnnBXbkE/eAQr5h1t 7YBvhhwMOni2HTaaDneAq+XAlBTvo/sQ37Jvc1D28WwHIc6/sZeg1ZGxm3jPUaach0CjaKIfgP8 3ykg43toF/dE= X-Google-Smtp-Source: AGHT+IFHsjk/e+HvU3k+Cfd3WPsaPabVVlDh+uQI6G5na3WSnoI1NcRuSIkqtFWwvUUhuTQ3dclIgw== X-Received: by 2002:a17:907:805:b0:ace:4870:507c with SMTP id a640c23a62f3a-acedf98ee37mr138059266b.23.1745995803508; Tue, 29 Apr 2025 23:50:03 -0700 (PDT) Received: from hex.my.domain (83.8.121.197.ipv4.supernova.orange.pl. [83.8.121.197]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e5087e4sm881222866b.73.2025.04.29.23.50.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 23:50:03 -0700 (PDT) From: Artur Weber Date: Wed, 30 Apr 2025 08:49:54 +0200 Subject: [PATCH v5 7/8] ARM: dts: bcm2166x-common: Add matching bus clocks for peripheral clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-kona-bus-clock-v5-7-46766b28b93a@gmail.com> References: <20250430-kona-bus-clock-v5-0-46766b28b93a@gmail.com> In-Reply-To: <20250430-kona-bus-clock-v5-0-46766b28b93a@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=1745995792; l=2451; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=7o0PGly54Zp/AzBT/JM05c9KWMgzTPvh4JiH1iVx85U=; b=1dA93tYsefhzi4uXLzDvljB0WxnRigvMaDAEHcADOhOHtbEm7BxMbchFf/0n95t8rkzyVwsRq 77T/WhVPQZ/Df5V2ACeLtCj4Zuc92SR2/qsb355hNs6EqxbRB+LVmXM 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/boo= t/dts/broadcom/bcm2166x-common.dtsi index 87180b7fd695e65b52c52743e6315cbcca385fba..ab6ad8c6d326171a6da1762ecd8= 39bd82e9da482 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 =3D "snps,dwc2"; reg =3D <0x00e20000 0x10000>; interrupts =3D ; - clocks =3D <&usb_otg_ahb_clk>; + clocks =3D <&master_ccu BCM21664_MASTER_CCU_USB_OTG_AHB>; clock-names =3D "otg"; phys =3D <&usbphy>; phy-names =3D "usb2-phy"; @@ -248,12 +248,6 @@ var_52m_clk: var_52m { clock-frequency =3D <52000000>; }; =20 - usb_otg_ahb_clk: usb_otg_ahb { - #clock-cells =3D <0>; - compatible =3D "fixed-clock"; - clock-frequency =3D <52000000>; - }; - ref_96m_clk: ref_96m { #clock-cells =3D <0>; compatible =3D "fixed-clock"; @@ -301,7 +295,8 @@ aon_ccu: aon_ccu@35002000 { compatible =3D "brcm,bcm21664-aon-ccu"; reg =3D <0x35002000 0x0f00>; #clock-cells =3D <1>; - clock-output-names =3D "hub_timer"; + clock-output-names =3D "hub_timer", + "hub_timer_apb"; }; =20 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"; + }; =20 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"; }; }; }; --=20 2.49.0 From nobody Sun Feb 8 18:09:17 2026 Received: from mail-ej1-f44.google.com (mail-ej1-f44.google.com [209.85.218.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A94B21EDA06; Wed, 30 Apr 2025 06:50:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995808; cv=none; b=G+KbWSyoO0+oWU/1HnV947mkTO4a1ScHpA3G3JTTN1Dz3ss9cVjCVlpg91gTezbWQ+egSpWrPoCHkEjMMQyEhEZhTQwzIlVGr1fboaaI9Vy2QsTKGgPNzen46O5MP+GuMUfvcvMwMJmOZDLHqERLk9dHPV9Bj2JFkQYk+kGNaoY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1745995808; c=relaxed/simple; bh=M9rq9oFw+UkWiS2ohCmOPp//dr0JkxVTdRZ0ZPivqko=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=T/UFz05PcUOSIxn9K/gXy6ucckFLNC6yNuqSM8uDl285eeBsiW5WQWQcIBU8jVLYKsa/Au9ZoeVTlMeIat9CjW3rTfsxDsQstkpvRynlixIfYFFD5vTH3xOPw7noc0Bda5B2TJSULyXt3PnqyD6YVoaCTAeE0adZ2G00Ws2Zyf0= 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=F1ABVKKf; arc=none smtp.client-ip=209.85.218.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="F1ABVKKf" Received: by mail-ej1-f44.google.com with SMTP id a640c23a62f3a-aca99fc253bso1057075966b.0; Tue, 29 Apr 2025 23:50:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1745995805; x=1746600605; 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=W38qJgQggiQg2lvqTHQjb5sSrqA6eRXyZhsynRatk9o=; b=F1ABVKKfLzDL2HwMwvPFcZZkrAnqgyPeC4pbULu/sL3UuTavanJs6SaRVFoLYpma1C oKXssq8s+vSpI7K6b4EC8cdiXVce2wYNGpBwijSD5ST2R4a9fND67rxTwe2PnZu7P+Z/ 5Jf5YHsIuBZ2kfk9aZekQWFbPj2MIZhjL85bGJKPCOKC50i3DPiedgB244W4HSgpxIh1 ogcJKXCv7ObN1JlPgeB8LjC1Yg/c/RwRmJzDxBS4phxUyJhBtUrKjjOlx0a2JbFb184n iJgQRzzK31aHqtR4Vm6KDphC59/xC0u27n3NdZv5BD00YTvRC7k+RcZRRDObezy5JwOD e9DA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745995805; x=1746600605; 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=W38qJgQggiQg2lvqTHQjb5sSrqA6eRXyZhsynRatk9o=; b=wJcKBo85AHbsd9MrL5wa9X6m11QEGDa3fi/1YFCSM/RREiUa7Pm2dMZ3WzwlgpmVnY gqVObiwxql+1ljl1liw3fHGm9hETh2tK2YGHmnDMbGvbSY10+8DfABslR8HyWBb5wESi 6oJkddMgRrU6+1r1VIApd6MPv6KxQYCAgtuMxIWl4wpxUshzVmAGELGpr0dw2WTjN4zA lGmCeWxbnR2b1mY1BDwut/Ei5PFAL6Q3fN+ygdVd+qXAxuKxgwZ7HYK2AxZ0kci+VNez /gWyX/0AWStzf0OF1WBWaaOEbxN55XPd9GQlIYSHh4e7eob2DcF8lJhBEAhZKujiWI5V aDLg== X-Forwarded-Encrypted: i=1; AJvYcCWwonkhzq9UQ19GLrYYANOqjF0ZrpatYUGz207OVjOzHPA67Fuo+eYSLBk1+I4hTwC8rxyWz1nc/Nja@vger.kernel.org, AJvYcCXmHgwRPIN2586aJlxHJHO5BFn2O07zH8E5XKHmYm/3c6165W8FZUyzVBwVbnpg2Aco9JrWH8+YqOj9@vger.kernel.org, AJvYcCXtQ+rFJoRpxTImFJklzi9/ByPuv7yCrIpa2GUfi9Pc5SzfPnftj/WZ0a5dJFdtI8yqGOu3gry1nIdQkYvN@vger.kernel.org X-Gm-Message-State: AOJu0YzgnkEvqXxQcBa1bybibf6MKvqcFC2gADQpRmJzS/MFC5oDwLay xQfLXYuPS1D7Qj+mHmSiDAoZtpnaLrxIWuFmLUyhuT7vDZDXMTIZ X-Gm-Gg: ASbGncs8hbnZRPV4rrT1DjTrSBzOfA8isp0GsMSm1TTDTxda0PK8lDqMyjfe9FSlHMs fjLdzW5Ju7q9dPd6DtH4OpgbGAoVA9Cs/FEF/rU569dXy77B50t++KEjAUONAZnO1uWkuGi1DuZ qVceIHkoXb8/AX2weKPLEyu48lIPUgrjTAeh1OOzpb23jToUmmBmC3WGM5j3Kj2STyc6Pq7vjtI 3FCj7dGzzO7rKOn9HWINUtGGiSqK8TwPiDOE2ysnuN9zlFyEkQ1Tu5wyCLdXAz/O/P3a4Ntbzax J7CymRkMbS1E9alvl6zUF643O5fk99y+TCZaAyWC3j40SU1h+gG9kQZu+LmI9kV1rzwS6kLYiao 5VuK0yI0wtuo= X-Google-Smtp-Source: AGHT+IGi4nr4uu5DwyMe89B/B2XeU0JbtjfUvPVxQheAk6nr7EZaATSMknm1NcmCFyaijtNthI1BsQ== X-Received: by 2002:a17:907:9706:b0:ac4:3d8:2e90 with SMTP id a640c23a62f3a-acee21ac4f1mr121190266b.13.1745995804779; Tue, 29 Apr 2025 23:50:04 -0700 (PDT) Received: from hex.my.domain (83.8.121.197.ipv4.supernova.orange.pl. [83.8.121.197]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ace6e5087e4sm881222866b.73.2025.04.29.23.50.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Apr 2025 23:50:04 -0700 (PDT) From: Artur Weber Date: Wed, 30 Apr 2025 08:49:55 +0200 Subject: [PATCH v5 8/8] ARM: dts: bcm11351: Add corresponding bus clocks for peripheral clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250430-kona-bus-clock-v5-8-46766b28b93a@gmail.com> References: <20250430-kona-bus-clock-v5-0-46766b28b93a@gmail.com> In-Reply-To: <20250430-kona-bus-clock-v5-0-46766b28b93a@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=1745995792; l=2485; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=M9rq9oFw+UkWiS2ohCmOPp//dr0JkxVTdRZ0ZPivqko=; b=OdprBJxu6bYvEz4g13X57RkSXRPf141xn4hepWxbKQ+MH/bYARWYLKPBu1VTkmNPn1Ll3fsyX aazvhCMBHOBAXCm5bACkm2hqeg9k6rpp8NTuzcygaGSWnWLsxfjEWL4 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/b= roadcom/bcm11351.dtsi index 53857e572080d752732c512ed27f942756d59c46..fac5cf5a46bd9a4b7e09a2e65c3= e807d1b4ef960 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 =3D <1>; clock-output-names =3D "hub_timer", "pmu_bsc", - "pmu_bsc_var"; + "pmu_bsc_var", + "hub_timer_apb", + "pmu_bsc_apb"; }; =20 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"; }; =20 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"; }; =20 ref_1m_clk: ref_1m { @@ -325,12 +344,6 @@ var_52m_clk: var_52m { clock-frequency =3D <52000000>; }; =20 - usb_otg_ahb_clk: usb_otg_ahb { - compatible =3D "fixed-clock"; - clock-frequency =3D <52000000>; - #clock-cells =3D <0>; - }; - ref_96m_clk: ref_96m { #clock-cells =3D <0>; compatible =3D "fixed-clock"; @@ -396,7 +409,7 @@ usbotg: usb@3f120000 { compatible =3D "snps,dwc2"; reg =3D <0x3f120000 0x10000>; interrupts =3D ; - clocks =3D <&usb_otg_ahb_clk>; + clocks =3D <&master_ccu BCM281XX_MASTER_CCU_USB_OTG_AHB>; clock-names =3D "otg"; phys =3D <&usbphy>; phy-names =3D "usb2-phy"; --=20 2.49.0