From nobody Sun Feb 8 13:27:42 2026 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0E68D230BF4; Mon, 3 Mar 2025 20:27:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033677; cv=none; b=Uy507Y4BLRRt0SJume5ye2c/gLfk2NHtlf8yCSobKq2ZYhXhcIP8z6hxAr6hXa2WgQY5IMbH4tifjEPCuVjK0Dbe5KXbub+D/JCvM0CeO1lONFlPtAUf3tJtwGObUPfjWIviDkV09r89/iDvDySEGF3qd+t7kofBoIlZoegjhR0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033677; c=relaxed/simple; bh=+1NQgL2nKvBCPiU2nmmHUiXn5bmc6OZXYhfS37+RPTE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XJlKqz75GMWdL46Zo1hqBwCcXi11J4F5/cJzmav+tQVAI2b2e6zvg8vhSTV9P9MVZDXXaoR0TPyjlBnDeeKRKIdrRW3cduUQrT4qkOBXl0I5LDL8llIlu9sjGg9rH4oq/vDp2HlrqJlyPxVXjQ9ok0tjzjyRWwgi0Z8y+vff2ag= 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=mLI8F04I; arc=none smtp.client-ip=209.85.208.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mLI8F04I" Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-5e033c2f106so5557551a12.3; Mon, 03 Mar 2025 12:27:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741033674; x=1741638474; 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=3ptFxDPzgcOCh3UJGfp4f6HXuiEkVzN5ocExDfIA7xc=; b=mLI8F04IzdOOW+JD/BZo+MtK4TlsulSYz7JjHX+5A1zobE0UJf45HVgf6sRyrtwO3p WDkQnbzWHUNBMvtP9oZiPU28nKYEJtkapASEkgv+r7yoWVwhLQf7DYnJsT1Q6x+hedRl SpERBJKc+KEJDoJsoCBpokLNivoC44/zI1pvg3tBf5TYh/nVcwsLiBtn2oweGUMBBxaJ xfuKKgelygDWvH8lfFYeuvBmlPRY9lC+bZT7skHSoUQUx5o04k945Sg1iXVol5iGO0H0 cvcz4vFFO+tM2QCT3czBwTciit4u7ZW5Sx9k7wWRmTphhTJCKM2S4vFds+Cxjwp3OMgS Bzbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741033674; x=1741638474; 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=3ptFxDPzgcOCh3UJGfp4f6HXuiEkVzN5ocExDfIA7xc=; b=ptTqXu4VALzfpMSe9ujyO1iH7FeYVr87aYUgVD1eLj7FW0mNjSQ9/ZPZ4Xgo3iOoBw 8H5/xMnfeg8Dy9Lh4bYJhogB5xZzlzVmFQGmOHEAem5y8oPXDOMdAPc78NDsiior8tjL KuodfuN4zZ1sLaEdagdJTpjqcfj9m08qobpQdON0yOXlJshS84214gFCNsBHCTZKF0VK XRQqSK55gqwKqwnbKXiHq+YasTa57pNkpdn5fmjz+tyfm8otXZasZVfxn600k8vEqfg1 DpBlpsVbSoq7vYsEbVW8k9ab1DgrHEImn6qJepwTWrrd5wPuWRQqPgd0hO/koF17HRVQ C7oQ== X-Forwarded-Encrypted: i=1; AJvYcCUQ7t2r4T2wFj3RzhOGobxNeTnWXwRQuhRZ/84BcqG+LyFeM9DiH7qU3ghyinGNA7QHbmCK9KLiyzEF@vger.kernel.org, AJvYcCW1zF+P6oeIn8JYhndpThP7LDqxBTlon/Vu0ndfzgPqdZS5HS91rxu82AZZ/T5smSh77pwmALd0bu48AmQK@vger.kernel.org, AJvYcCWDWHUozZmMsfmCxTqy/K97KNBVtOfM0ooDn+LwtdWMhXT7fDbIRXDwW5OAynU39kBEtmPipMAsfvhg@vger.kernel.org X-Gm-Message-State: AOJu0YzYsWGF8gb9vtmmmNa/rIENzMFlq61RC/K566ns98oSJbvtfKCm G8ns4VgjZ32c7WT3gGcU3Z0dwEDeDIfVpgAquUm9lB+piQB/dwzmZLRiNQ== X-Gm-Gg: ASbGncvTiwCWIDgV9+jnLKrcEXEBeC4MWNAmvKf4FOXS1nrHJw2yr0i3aseqXmy+alU iciuKRXjOumdVK3hRy0L4b097iKNDk0d9LNkHWVwVbm0Uwc4RPLRXxpiBdtztlJJpkM2rLFBK0x Klw8apSnsdRVGTpIz4Zbz/eHizEyWQcOFjrneyf5b2RVjW83Z8V76BMHVYAE1+CCgHG+YES2KzR 36Nc+JV7j/2eMBp/N6M1vqOF/V82ReBg4ydkdh2aSFnXzwaDEcmfcb0SZbQ0LSIBw2rYOhqUPDJ hm0bvNtBkbGlfP7u3l4PuReGb6XVYdZNQ3GRrP5b316f8wlNxwDaVcFWIiCvN/4UofZBMqckai1 tIirUOCsjp2XV7DY= X-Google-Smtp-Source: AGHT+IF9bLgJA6ivadxRofeZD12YX8BslE3IjcnQ2ZwFvqD4TjsdIfsGgsXxyqFPCiQIVLuL5VdXZA== X-Received: by 2002:a05:6402:1ecf:b0:5e4:ce6e:388b with SMTP id 4fb4d7f45d1cf-5e4d6ac54a7mr41302571a12.6.1741033674000; Mon, 03 Mar 2025 12:27:54 -0800 (PST) Received: from hex.my.domain (83.8.122.142.ipv4.supernova.orange.pl. [83.8.122.142]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abf64dd565dsm389222166b.101.2025.03.03.12.27.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 12:27:53 -0800 (PST) From: Artur Weber Date: Mon, 03 Mar 2025 21:27:49 +0100 Subject: [PATCH v2 1/7] dt-bindings: clock: brcm,kona-ccu: Add BCM21664 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: <20250303-kona-bus-clock-v2-1-a363c6a6b798@gmail.com> References: <20250303-kona-bus-clock-v2-0-a363c6a6b798@gmail.com> In-Reply-To: <20250303-kona-bus-clock-v2-0-a363c6a6b798@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=1741033670; l=3646; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=+1NQgL2nKvBCPiU2nmmHUiXn5bmc6OZXYhfS37+RPTE=; b=OJKrwv3v/Mvd3+6ep0bihGDsdSkJo3RxScAtuURRrtp5FGSklcIUhFwWoUCC38nuKy5dcOcim NdRSQsIO8RfC9NnNeX0AKARxlvIrbIz/gIhtFj5QQekv1V3JCgy8ZhD X-Developer-Key: i=aweber.kernel@gmail.com; a=ed25519; pk=RhDBfWbJEHqDibXbhNEBAnc9FMkyznGxX/hwfhL8bv8= Add bus clocks for hub_timer, sdio, bsc, uart and usb_otg_ahb to the allowed clock output names for BCM21664 CCUs and add the relevant clock IDs to the clock/bcm21664.h dt-bindings header. Signed-off-by: Artur Weber --- Changes in v2: - Move clock ID dt-bindings header changes into this commit --- .../devicetree/bindings/clock/brcm,kona-ccu.yaml | 18 +++++++++++++++= +-- include/dt-bindings/clock/bcm21664.h | 19 +++++++++++++++= +--- 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml b/D= ocumentation/devicetree/bindings/clock/brcm,kona-ccu.yaml index e5656950b3bd0ad44ba47f0ada84b558e71df590..dff04e24e92829b890bf7cd336f= 0e083bdb30fa6 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: 14 =20 required: - compatible @@ -124,7 +124,9 @@ allOf: then: properties: clock-output-names: - const: hub_timer + items: + - const: hub_timer + - const: hub_timer_apb - if: properties: compatible: @@ -142,6 +144,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 +165,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 diff --git a/include/dt-bindings/clock/bcm21664.h b/include/dt-bindings/clo= ck/bcm21664.h index 7c7492742f3d4ca439236f2f352e432989409570..8d3e3796c72b02eace84dfb90d6= 264dee0297a33 100644 --- a/include/dt-bindings/clock/bcm21664.h +++ b/include/dt-bindings/clock/bcm21664.h @@ -26,7 +26,8 @@ /* aon CCU clock ids */ =20 #define BCM21664_AON_CCU_HUB_TIMER 0 -#define BCM21664_AON_CCU_CLOCK_COUNT 1 +#define BCM21664_AON_CCU_HUB_TIMER_APB 1 +#define BCM21664_AON_CCU_CLOCK_COUNT 2 =20 /* master CCU clock ids */ =20 @@ -38,7 +39,12 @@ #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 +#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 +#define BCM21664_MASTER_CCU_CLOCK_COUNT 13 =20 /* slave CCU clock ids */ =20 @@ -49,6 +55,13 @@ #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 +#define BCM21664_SLAVE_CCU_BSC1_APB 7 +#define BCM21664_SLAVE_CCU_BSC2_APB 8 +#define BCM21664_SLAVE_CCU_BSC3_APB 9 +#define BCM21664_SLAVE_CCU_BSC4_APB 10 +#define BCM21664_SLAVE_CCU_UARTB_APB 11 +#define BCM21664_SLAVE_CCU_UARTB2_APB 12 +#define BCM21664_SLAVE_CCU_UARTB3_APB 13 +#define BCM21664_SLAVE_CCU_CLOCK_COUNT 14 =20 #endif /* _CLOCK_BCM21664_H */ --=20 2.48.1 From nobody Sun Feb 8 13:27:42 2026 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A5822356B1; Mon, 3 Mar 2025 20:27:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033678; cv=none; b=bTkB9ZosLVQanE19SInQ//2UOHw/7EL8QW00ERvV6N7tVTp6eoq4iB0EqGl92P/A+qJ25go2SXIy4bU7Opc4BfxwqjrQ79hjBIifny+G3Nf9c6kbA0C4E0e/u6MWyZk0Hr4H7J1JGSk92j498gfn5W9bo2P8uWBDyIfnyY8oodc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033678; c=relaxed/simple; bh=3qMo5aZiPFq1AqGilhGrVZg90T1ltj4KFpUgZtvJ6Us=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RJJLNfHRkJ38Bw+9eT06MkP+7mOQV0P4xh4C5AdzfvTIlKq7uG4U6BX6flVgq5pbzXJOrrPOI/7v65qZYngnYT3pA1wTWlV7p91XnaTZTv3pfynU1CNx8LC5uEIcbeIsgs6RYBMtHLeD3O7i68TtXiRp5fz1yXO1Gy1j/ddBHnw= 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=XD168CQv; arc=none smtp.client-ip=209.85.218.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XD168CQv" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-abf57138cfaso430634166b.1; Mon, 03 Mar 2025 12:27:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741033675; x=1741638475; 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=ajgBMCgx3ua0o9zG7DAU7MNDEE+99gCcrWlWJgpzr0g=; b=XD168CQvzCcz7EVbDjLD9JzZvVKgBcSAqsAmn8LMuOOUqKPJ3GgAkqIE44KCdxTfos XqowZN7hDzjKAPxLFg846KFkrH52XJAXShUGLD++KcTt56KvTdiBF55TgqkXGSu008LN 1rp5uj+XmyE6MUXWgbWnjESN78RjPnCQSXnE3KxEJUk76Y6wW0kt4hvqI0sjHEsrXi2Q WwQde79DBTj6oSLhirDZaDSTIvFCVU4H3JwE2Iwj2AVTiqt5/vknifbNDdwfhL5yzZNo t9sAMjHPuqzajBeb+vxFDxItT0DXeq8Zft9Ov3b7Knj0Ia53id10VzripbBcSrJNSMwd eZLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741033675; x=1741638475; 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=ajgBMCgx3ua0o9zG7DAU7MNDEE+99gCcrWlWJgpzr0g=; b=LYKcJr+Zm2qZOZ1r7ymX+/TWYf9XHLLSGwjDgIzj/Vhh+08C2nofFINyvlRDUCoh7y +7hdUfMqHgcfOc+Or/XOo5Mc0Wph1Ofs9aWaetVusM8y9YX5auO2fzEcvrPviuJfUfWK H1nz4P2XHLREbEe5Rs7v7f/Uj4ocHtQEhjavRN0oX5CAfd0EAwdKv1brqZhrSVrbAGDE J9O79aBUqvrnFIm+CRTFphPjqcc8SL57//9LzPqMbZ/2pHgRad1qtLA6KCro4z1EJojQ 5dNxZFMBNOfD++tWjBtzlBgTb/Y2+IhVpUuiaXs4FVj6URJU4uhL3A4dwNpx21SPnXug SUhA== X-Forwarded-Encrypted: i=1; AJvYcCUxNoW0DyEcoW8Wg0GHG36J5pfaiuzBgxlTZ90UB2QHVTlQJkx7rtK7Z32H6Ole5ZIgLOC112uq02kn@vger.kernel.org, AJvYcCVS+ZxPYbWdEHy0CQaXkgRjeL2UrwCYYvgIkyySFYwsmcn7aaX0Ad2Mo3G4xzqNIU5+Hf94LAyl9idW4T5x@vger.kernel.org, AJvYcCX6MWslkMWbjzFoJ/TkelX1TRKSDjqgbsxX1/94xB3igv5h2zYxdOFsQBQarwB/m9HTVY8BMvYXasew@vger.kernel.org X-Gm-Message-State: AOJu0YyyvPUdOdZOsS8rYESFw/Cu6aJtEuZEa5WmOquYxKDyQqlbZdV5 DUtVoRcL05mEgYK0Gwea70GihrAS+sNrn/A6cvAr82rnzBgPqiqJyIGKrA== X-Gm-Gg: ASbGncvfnIEr9hkZ3xY/0XxhttkK/HoNZDev9gTmdzskCMS9GoC4+u/gwBgbrC5mvbi V3H+vsapujDl8PTqYV+/VF1ahsDs4+rj7FabriKNzg9qA3sTdTyri1SCPilvAMaseWK8LGVNB6f tOulJFoC3oH0hSibvc4GPRIA9qpfAI6RJl5uTCceUbCtg3zY4PNlkuaee2w2Cib1/qwUdswWcan 5E7TWyRbaCfh5q2+UIBRaoYw7CDIM/LeO2+uFrShYa/0959vXBZV1I82+qpz/lOhgCfs7rpHWI5 NFnTQ3qjs25YXBnJit5nbtkOdWS1JCEEL3luLR3SsNQ/nRsNdptcLy9pI3025P+80HeyW16mwyf GP+FQ1J2WGiCU1FE= X-Google-Smtp-Source: AGHT+IFKexQd4S1Q27FcmeU080YNz80TzZAJa6CzPCnM2J2/lnNHuCnbk5oR/sgvpaVY4zqb1uWXSA== X-Received: by 2002:a17:906:f588:b0:abf:7a26:c478 with SMTP id a640c23a62f3a-abf7a26c6a0mr510458166b.47.1741033675246; Mon, 03 Mar 2025 12:27:55 -0800 (PST) Received: from hex.my.domain (83.8.122.142.ipv4.supernova.orange.pl. [83.8.122.142]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abf64dd565dsm389222166b.101.2025.03.03.12.27.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 12:27:54 -0800 (PST) From: Artur Weber Date: Mon, 03 Mar 2025 21:27:50 +0100 Subject: [PATCH v2 2/7] dt-bindings: clock: brcm,kona-ccu: Add 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: <20250303-kona-bus-clock-v2-2-a363c6a6b798@gmail.com> References: <20250303-kona-bus-clock-v2-0-a363c6a6b798@gmail.com> In-Reply-To: <20250303-kona-bus-clock-v2-0-a363c6a6b798@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=1741033670; l=4064; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=3qMo5aZiPFq1AqGilhGrVZg90T1ltj4KFpUgZtvJ6Us=; b=3EkDwoPQ+L3HsXPOlMXO2aMhXE99RKHqVrcgSv1PRSj35TWD37ZCJf1+QlhOGldZaYigUWZx5 02fEZuk7R15AkOoX2OPD1pdu+YwZUXo5gCcqkGtgEVBlVfCpjHdNx0S 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 and add the relevant clock IDs to the clock/bcm281xx.h dt-bindings header. Signed-off-by: Artur Weber --- Changes in v2: - Add this commit (BCM281xx bus clocks) --- .../devicetree/bindings/clock/brcm,kona-ccu.yaml | 21 +++++++++++++++++- include/dt-bindings/clock/bcm281xx.h | 25 ++++++++++++++++++= +--- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/brcm,kona-ccu.yaml b/D= ocumentation/devicetree/bindings/clock/brcm,kona-ccu.yaml index dff04e24e92829b890bf7cd336f0e083bdb30fa6..3f7ebaaf3aa7b918c312ab2473b= da5ea3b5a1d8e 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: 14 + 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: diff --git a/include/dt-bindings/clock/bcm281xx.h b/include/dt-bindings/clo= ck/bcm281xx.h index d74ca42112e79746c513f6861a89628ee03f0f79..15449f998eb7a5a191fd847b689= cfbe60b27c541 100644 --- a/include/dt-bindings/clock/bcm281xx.h +++ b/include/dt-bindings/clock/bcm281xx.h @@ -34,7 +34,9 @@ #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 +#define BCM281XX_AON_CCU_HUB_TIMER_APB 3 +#define BCM281XX_AON_CCU_PMU_BSC_APB 4 +#define BCM281XX_AON_CCU_CLOCK_COUNT 5 =20 /* hub CCU clock ids */ =20 @@ -50,7 +52,14 @@ #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 +#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 +#define BCM281XX_MASTER_CCU_CLOCK_COUNT 14 =20 /* slave CCU clock ids */ =20 @@ -64,6 +73,16 @@ #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 +#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 +#define BCM281XX_SLAVE_CCU_CLOCK_COUNT 20 =20 #endif /* _CLOCK_BCM281XX_H */ --=20 2.48.1 From nobody Sun Feb 8 13:27:42 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 00231236450; Mon, 3 Mar 2025 20:27:58 +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=1741033681; cv=none; b=E0QnxZeOeyTTVulk3Vp6yX8sQSYfJhEr81ngTcD5vuWT13s+ONBraQcGqgzHAlZQsqPbmaCVMrWhtBdKQ/rdI+dJwcuoK5Yv0lGQ2gGqcJFKHkfMVS04aEBthkMsqQUEKpJYZ5bDPiqFwMxljwVPD8r0kBFNWIGdEz7padKqe8s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033681; c=relaxed/simple; bh=MTjjumplLIdg/n+qAO5fFv6tHfrmUwLPV/PXYF40D9Q=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YJQ8Q7ovh2geBcnHXd73k2uWMKA2QCGdclnpqMBjlH15kc8VTYugs1ml4OVUp5C/lBxzR/hydI2mTO5xHmIBQi56GMJqf6c2KPqQG159nEVahiqFVyPekTMHd5ks9HOw7ndwxxkiHYduURTgaILc5T6XDqTeqOuLW82XD2bC9O8= 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=RpVzr0s5; 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="RpVzr0s5" Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-abf628d653eso316439666b.0; Mon, 03 Mar 2025 12:27:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741033677; x=1741638477; 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=1yb+xEL+q27amZtPIsZaxUWluTF2p0Q/I5Y0+qwCRdo=; b=RpVzr0s5Q9NKAqIRFekZ3tTY6gnLsflhwRhvuhPZKAzPwTL2Ay8s4sgXr3k0o9f4WT Q4WkETiD36BHF5XRNI5ewdwF9wMKoWach9/c4a3OilXoD/d+jABnPtyxz/H0IXZYaZrH +U4O8xiXZMGIHv1Gpk7z2MFiB3dS5KFMuI6XB7Snr0Xk0pm1zb5S1QJEb8Dzrnht38yd mSt32pwouqL/otctecV9EM9a6+sMH7y/5bAxzubgIoIEAg+xE/JGIvZj4Jlr4b9ytL2i KHbo3bbynzs4JNZXkF69JasWuUcy1NFTf55zJaqiHTjWGTZJaRZ2lMyUCWIdRPoqf8ZQ /X8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741033677; x=1741638477; 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=1yb+xEL+q27amZtPIsZaxUWluTF2p0Q/I5Y0+qwCRdo=; b=PoUT+/+XBzPkP8Kk/2wLh9xFCoFTWcRFNSXc72FDop5jl7kFYECdtxxDSPxqhU8yU5 1llt20pQwXxesq6CzICy9g0otQZ/i0M4iwd59IlD+0Wy0LlceuhzhdwVj+n8tYUPD6aH Ux4f51Y4c+DA9fBfK51vrWHmUzVDSHkXx/BrS6+wxnEHOKMYfvHXE+0Q7fee0sz8JqXJ VJDPIlbIMEsOXMj4HRQD0oFiWGUhbfft6LkjQc0pwW0iRnRDsnoa71AM3BW6K92itFNn lY+9/nuNMeFgZTPndfTYw6PM1bQUO7XYLiTPPJ5jiNtsT9g6chZVUEh8FPnh27zryqKA LqIA== X-Forwarded-Encrypted: i=1; AJvYcCUVwTkCvxUqJHwKSGmDJy19c9xcxxuCtLYUH7HMwMv2Pw5fQPpxtEO6Q7cxSeDRniCw/5xU/3fj6Ry+@vger.kernel.org, AJvYcCXRSl7ZXdT/jxStKRC5E4OQNBCP5lOFC8QhMzii+fYtfULMK+86UXZ/ZpDyjfZJUEz1EJlFtSgM5l5ro4Wf@vger.kernel.org, AJvYcCXmjKkLBYk0eMfBiOFLV6tarqFj/k9JO0FXaFGN+Eybz09xVg0FloA0G2cVAUhYe9F4vwlfTEAf4+Ip@vger.kernel.org X-Gm-Message-State: AOJu0YwBSxhj2wUYvgvEtHX9O4e88hrcwzdfaG5h3Yp8ZttlXzeEaKSL VZ8F6pcFSF8JL/VR3tQ0mr/f4mMYtitJb9huWJmllPGOv7XExzXr X-Gm-Gg: ASbGnctcT9x4L09lRd9/u65kmw4fNyil1G2z8K6B3GO5qRcV7jjQYtrZTOR1SV1j+IS iF/aJ+jFbXWnSHNSHYH01t4g+yBo5AKSFX9Ef3kH/lBK5KlGQNR62JfiuxSuN7ungCVJfVMloNd O1cAHvOtzMEObPnjJC3w5ur2aoXqnQL+gqwzRuoagY9ROgE39XYVvP2LPLrS7gesqBlU9xuawQK z41yh03ypVWMB77k4akPdo4XO6lVjfOBPMqZtc/MK8bvlkEIXIa8H7WUAzAthW0vXz7nrcS4d8H qonge0I5yK18U81oFrlNw2TfdTViBQYH4+HVm5Z2NrOjzIa6GoWTijEkcL27FiLVO4kcedYnn6c EetmeBfQM4l9eVOQ= X-Google-Smtp-Source: AGHT+IHXcKJXj9PLSX5sOOI36dUKMg9+GSHF+EMWesnaSEGLlCKPGH1xw9l4dd54eI57N4zeOFYgNw== X-Received: by 2002:a17:907:2d13:b0:abf:514a:946a with SMTP id a640c23a62f3a-abf514b0faemr1217686466b.28.1741033677073; Mon, 03 Mar 2025 12:27:57 -0800 (PST) Received: from hex.my.domain (83.8.122.142.ipv4.supernova.orange.pl. [83.8.122.142]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abf64dd565dsm389222166b.101.2025.03.03.12.27.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 12:27:56 -0800 (PST) From: Artur Weber Date: Mon, 03 Mar 2025 21:27:51 +0100 Subject: [PATCH v2 3/7] clk: bcm: kona: Add support for bus clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250303-kona-bus-clock-v2-3-a363c6a6b798@gmail.com> References: <20250303-kona-bus-clock-v2-0-a363c6a6b798@gmail.com> In-Reply-To: <20250303-kona-bus-clock-v2-0-a363c6a6b798@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=1741033670; l=8577; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=MTjjumplLIdg/n+qAO5fFv6tHfrmUwLPV/PXYF40D9Q=; b=mOukQ5ktsiyNIoe8Q4yVAPLzKgssdqyfxiKEG+FtDdInCSstlxfQCf3Q0SofYS23VMcmFfAJw UWTrAHUhjWOAMiE8f8AWhhPEXnlEbNuDyKmak1J9mXEdaxCB7kSRw4w 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 ec5749e301ba82933144f34acfaf6f3680c443f7..e92d57f3bbb147e72221802175a= 80502897d7504 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; } =20 -/* Clock operations */ +/* Peripheral clock operations */ =20 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; } =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 e09655024ac2ad42538b924f304b23e87b7db2ce..a5b3d8bdb54eaee9fad80c28796= 170207b817dfd 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.48.1 From nobody Sun Feb 8 13:27:42 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 B2884237702; Mon, 3 Mar 2025 20:28:00 +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=1741033682; cv=none; b=Sv/RH48T3zSWnrGDOj656a1f7mcLXqONGEuOfX9Z4QnCQ0r7GaT7Ooh9Ssju8glybbjcFk031LRUuOZSxpYJECcstIZXLqB+CjlOMYTruz0lLZSSMtIGXidVExCLVGwnUOY47BS/j4dTyRpBHynZCqVHWCEEaq8PRg4tkpICbgk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033682; c=relaxed/simple; bh=ZxAskxejw3DV+cuq9u58OlHjwsx94z/3GL/VUKOK1JE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Uv7TGTnNlCb0iXEfzh3QcPMWXWaxj6SiB3Hggs7oP+BOUFSLAE7+g7wEHu+YmXZ+jL10QbARKDXQx42dCMa8hTAZzHZCIeOTi8iIkRBWQrqMphOJd5GtQX52I2hDHCWvZJANqWi2mfrpwJKnw60yCQOamoTkObDKEHdlr0oBMaQ= 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=KWdCmuYm; 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="KWdCmuYm" Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-abf615d5f31so386485566b.2; Mon, 03 Mar 2025 12:28:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741033679; x=1741638479; 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=TLnjj04sKOekF1xfg88O5QtKFzSPcppqfI5eqmeu8FM=; b=KWdCmuYm+ymZ0aNv1Rfmiwmo/SOhkXqk0J83ZIxHbRn2H+fsCQDqwW9nzuq6Uec0To u5qel7SydMHxaH96J7AuyynkoJ1mOi/fRo+B/FMsKVMSywHGuIQ93XKLjKkpbZtbj68y q9qwsar68mNgteozcK3QzvXDplDEJg/L6In9lKjXhyePEbkn4c/LxrCs/La/Bdi28v0/ XsUTHxkX4CsSCUlBqmxcGuAdFPodDfZuPzGDO1xMzBhMprC0VUWQaOyIXBeMJO86ZL2d dhM+YBKW2fbrN+zn8H/F8JL+RLeN4v+Wt8N+ZeGFSzc3Ejj5Ajlrn1TolgvqzsfB0AGs qOVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741033679; x=1741638479; 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=TLnjj04sKOekF1xfg88O5QtKFzSPcppqfI5eqmeu8FM=; b=Huw/fTNYTnSWPaj4lpeG1hHqyCa4yBq0O7ZzZsZn/XczG5Nstb9/sptHynJuvX8B0G 7648kk+AilFF8Yg1odgt7Het1A93qyFwsD6+T6uUyyDkzUWSbox4sHmUmPKPciueV9Ib 8AYSLE50huS2NPbLmoZyIAEo1fbUErgEjtjowSyjrR82MkHgXR5ZsvaFo67155TRFtST jSya1XCM6AVDdqOcRNIP8Tt54ut0Er3ujPxi7n6KIRU/wAnST++xXWnqEMB47uo3aPRf C58B97cM7E0v2GFZD+HFHXe3aNG/w5lzuC7znFWFXGcchKnm7/FcHdnWfzuhaKVhPjhr ZjTA== X-Forwarded-Encrypted: i=1; AJvYcCV7paZdaUbeZoVx7CUqxK0nKIXyjMnzSLtSp12bDsu+fEXQcb9rskf9SqTIulWytyePyfRflD1q6fmoDC8S@vger.kernel.org, AJvYcCVxHmiqJFbzd7qtDWWFAces7J2DhIPV/5zsUbYdGJWWfGOZl6gmCggOfSIVglDF0woOrvz33uOJPkpW@vger.kernel.org, AJvYcCXw+GSKOKYxRj2c52WzNHU0TlfLqxCGqM/efFq/l0m9gTTpmRUcpVRWaGg+pc0xt48LTH/8wJ2vonv8@vger.kernel.org X-Gm-Message-State: AOJu0Yx0aGgZIrtuqIOCcN2DHlLPL56l1d6xwcYWefFPv9wKQ21c5p9Y cIUdPm4z+JzSSkkjT0SarTbmUJmWPVDXMGIjhkCXrfxeYBq/rRKL X-Gm-Gg: ASbGncsHDPfcHJFClmU51GFQ/Pj89OuBTSuUkYFCZeDnskReFcjZZ41Uk1jhrzrJIKu 49sREDYc/K46yBZH9mPsAeISXKavv/VdxRLBwr8oRmr34blCzSxEeZt40i4cvYPNH788y1M/dVg gcTewmGPBhxkLhAq4pdX04T3OV6NrCYyjWQUd6TadWqnjOYgnImWJC/r20mRCZ5JaKTL03Zw1Uv 5rTszzvMw5FW3IODG11+QJ+DibKO71gBpHDu2+29ZlclyBk8PML8v5N8K/SCdyHjt+4E8ZhpeCS x23/9HQJvshUTwCOGr9A1QoR20sYCTXsqqNLDcjQGa+VXuDPU62tmKKoicULjsT0tIUO6OZQZRc 9gce1UVi78pMTL5g= X-Google-Smtp-Source: AGHT+IFFhcQp3KY2NUSUn+6QJWa+866X3ekpgsl+QRwbE/c1yJnpQL9miiamdcfFo8Cm9gfK/apNgg== X-Received: by 2002:a17:907:c297:b0:abf:6f87:670e with SMTP id a640c23a62f3a-abf6f8768f2mr660219566b.22.1741033678880; Mon, 03 Mar 2025 12:27:58 -0800 (PST) Received: from hex.my.domain (83.8.122.142.ipv4.supernova.orange.pl. [83.8.122.142]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abf64dd565dsm389222166b.101.2025.03.03.12.27.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 12:27:57 -0800 (PST) From: Artur Weber Date: Mon, 03 Mar 2025 21:27:52 +0100 Subject: [PATCH v2 4/7] clk: bcm21664: 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: <20250303-kona-bus-clock-v2-4-a363c6a6b798@gmail.com> References: <20250303-kona-bus-clock-v2-0-a363c6a6b798@gmail.com> In-Reply-To: <20250303-kona-bus-clock-v2-0-a363c6a6b798@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=1741033670; l=4475; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=ZxAskxejw3DV+cuq9u58OlHjwsx94z/3GL/VUKOK1JE=; b=WqFr+hpE24EXJ6+urZaYsw8IP1iqT8G3E9xSPZHOkMh5pzIvLP68b5+YrxZsluHpKGj2GOZDR u8HdIRLq/3DDAsZ5VwsUvVT59QnOLOMxcjoKy+qxQDgoQ1LoQyDd9ta 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 v2: - Adapt to dropped prereq clocks --- drivers/clk/bcm/clk-bcm21664.c | 83 ++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 83 insertions(+) diff --git a/drivers/clk/bcm/clk-bcm21664.c b/drivers/clk/bcm/clk-bcm21664.c index 520c3aeb4ea9c4a431512c0909f9545c1761d17a..171fbf46ff3b32cf77116d00370= 8643de76fff70 100644 --- a/drivers/clk/bcm/clk-bcm21664.c +++ b/drivers/clk/bcm/clk-bcm21664.c @@ -39,6 +39,11 @@ static struct peri_clk_data hub_timer_data =3D { .trig =3D TRIGGER(0x0a40, 4), }; =20 +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 ccu_data aon_ccu_data =3D { BCM21664_CCU_COMMON(aon, AON), .policy =3D { @@ -48,6 +53,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_CLOCK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -122,6 +129,26 @@ static struct peri_clk_data sdio4_sleep_data =3D { .gate =3D HW_SW_GATE(0x0360, 18, 2, 3), }; =20 +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), +}; + static struct ccu_data master_ccu_data =3D { BCM21664_CCU_COMMON(master, MASTER), .policy =3D { @@ -145,6 +172,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_CLOCK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -225,6 +262,38 @@ static struct peri_clk_data bsc4_data =3D { .trig =3D TRIGGER(0x0afc, 19), }; =20 +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), +}; + static struct ccu_data slave_ccu_data =3D { BCM21664_CCU_COMMON(slave, SLAVE), .policy =3D { @@ -246,6 +315,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_CLOCK_COUNT] =3D LAST_KONA_CLK, }, }; --=20 2.48.1 From nobody Sun Feb 8 13:27:42 2026 Received: from mail-ej1-f46.google.com (mail-ej1-f46.google.com [209.85.218.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8728123908B; Mon, 3 Mar 2025 20:28:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033684; cv=none; b=hQA4bTImKMm5wc8kK/4m3XIi8lDW8f32OWz4r8+KIst1pg1o6yTpjFvB/nmr39knNFqtxwIlkPTiWJQXF0vUqI/wHqRw5elyIqY/SEd1Y4PVRte+Jw6O1Ib8hGPODqQprRXfK2QDYuv7nuwu+DyInrv40+H6JryK1km14Vj/dWE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033684; c=relaxed/simple; bh=/7hDem5gMvmNcFXpsTaXvwxSWzYFIYuEBTiUAR7W6tY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KuyNBb7Y/keyi5yQ4HLqO/Kq1LqCFcWyOQh44g2/7OBm36RxeH5ON1RAuzzKhfcyG46B5QVyPJheo8Km3GvDdd8j2SW+R7Ipkm8f2jUmQ+YM8ILlT1c7kz/aQdpywbZzhvXXefUWLsuNe1Eng63iHC4VlXUUSpjtDq4k6/ZUzJw= 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=YT0PQF+A; arc=none smtp.client-ip=209.85.218.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YT0PQF+A" Received: by mail-ej1-f46.google.com with SMTP id a640c23a62f3a-abf4cebb04dso464243766b.0; Mon, 03 Mar 2025 12:28:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741033681; x=1741638481; 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=QvJSz+FzLx//dtx2kIF8fDH63F6ZXeA3nvfYgLxVLyM=; b=YT0PQF+A174LMzJOx9VirCy7xiVPX0ZHDbq3OERMGoFWWF0o8zRONuOBifezkVX3t5 Z+14vYVcL0ASVQ3yvCuYd803rozery8Vt2yMbQuFhL0LYw37yX2POxSv1lJRdyktHvlB OLuii7bHBkwSQ+nFR3zP6EMcMdaCWPzPgdlkqkuBtjuCn2APKhuVIKoYzWaCe5iScmcZ 4nRm0i0HvsiWW5XyUEKCHncMWNvVnZt+Dcuqwo/hr7qGruZ+sRf47/ifLOIc4xmgsVzY V1k6eK+zDS0Fv+xkA83A1BXIqqVxgFVqRKEdUkjhiUKeRQ65WuycUac2g3lFfeXJnltc CcEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741033681; x=1741638481; 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=QvJSz+FzLx//dtx2kIF8fDH63F6ZXeA3nvfYgLxVLyM=; b=aUMyqlpVRV0gAD4euHL+opp3FJdMhVJUA61qXOQCErkoUt4UwaTgO13s1YatFU+xIT WWhlTlkxMC8fvd02RronH6pn02/3lXcEkK92AFe8hNVpAGPEv55wUrAIM7GxyPRY+xCp hD0rupcJoXDCKx72B28A6YO6sS8dZbR8uRzTXlki03MvIz3LkEWLkwO18REHAfHNfhd8 q1/6iv9XPgUqoPwt3ZyZOXV9y3xqyYjhZz4EPaMxPEDpyNpwwzZZcF1P5hKx/6hN7m9/ wN47ivM0uackq8IboFt2wDib+afNMcxkbf09XNkJU4zw50OFUgvfsx5Dkvf+7hWq/Dcp beLw== X-Forwarded-Encrypted: i=1; AJvYcCU/0IJomVz4mlhVFDgHhXhK9EO0yfSvjp17ESiJxhfxnHZQoDnVlYyuSd7ca8aPvLCpoxrhhniqUzIzTm3/@vger.kernel.org, AJvYcCV8iWC5UPrxMc9izf+44nmbbWXgMjOcOkpjdzaf9MU0lMcUT3CCjT1PR49ZkmauOnGQwHZJy9Wlwkh6@vger.kernel.org, AJvYcCVIHMu1SYO/RrLQDRmzo7xTU6Xyx2egEMHazYg9jcvGHjF35jG4bfBIpvgmn0xbI+kVpIvYMsMRhNve@vger.kernel.org X-Gm-Message-State: AOJu0YyoPfH7f46OLDyuL5QdAucz5YBld9/SJ0IxBMFS7I6SMTQViN4l ruVGhahkGNzNG4EOW9o9+ViJ8rYsT/E+kE1rxGm/B1Vzr5swmr2Z X-Gm-Gg: ASbGncsL7/lgmvgx843nQHcRFtavMitv6jnNjj5PK5LgKNVwKAM23Uiqe7a0ZPf5zCP rw0va2AzyaX1VS2AcIFTzT1rilmnUcn37cqQ92vKOIpW1mbFLUbMXk/wNqf9OBulxuKpDUZ731E JF4/udStBN8FqHyGjVO06FFj0+JKJITGS1zvKkjEZCbVHP1g/Ysi+Z9HnrQW42esMmX1rak/av2 oRWaeSx+YPrMu6GqPKihsD86gUM/Wx9+kRLjKITbKNNzjPESlfPSnyNrmnJiX6JgFEk971hT0SS cAXF4t0NBJJkMzX948FWC1bcMQsi7ffjlGKVR5eC/goOK9UOc6+S0avlQpnSufGV+498eQKJkGO Ouf8N7zProweqHD0= X-Google-Smtp-Source: AGHT+IFyRD51nF/I/qXf+OcoO5rwC0dUdKj1/uMtJzI5VODF8q0NqI0FGFjzOedXfIpj0XifopHIyg== X-Received: by 2002:a17:907:3da3:b0:ac1:edc5:d73b with SMTP id a640c23a62f3a-ac1f0edc8c7mr56378766b.8.1741033680661; Mon, 03 Mar 2025 12:28:00 -0800 (PST) Received: from hex.my.domain (83.8.122.142.ipv4.supernova.orange.pl. [83.8.122.142]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abf64dd565dsm389222166b.101.2025.03.03.12.27.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 12:28:00 -0800 (PST) From: Artur Weber Date: Mon, 03 Mar 2025 21:27:53 +0100 Subject: [PATCH v2 5/7] clk: bcm281xx: Add corresponding bus clocks for peripheral clocks Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250303-kona-bus-clock-v2-5-a363c6a6b798@gmail.com> References: <20250303-kona-bus-clock-v2-0-a363c6a6b798@gmail.com> In-Reply-To: <20250303-kona-bus-clock-v2-0-a363c6a6b798@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=1741033671; l=5471; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=/7hDem5gMvmNcFXpsTaXvwxSWzYFIYuEBTiUAR7W6tY=; b=DcSSLUy0S3qEkTnIQIujsM0csZQU+TxT+N8zzF2RRqHEJXoiQDlhVuBVuEioB13qLOD+BioOa cT0DwYrtoyCCusc+ZW9G9E8tVwr4inZdqp6tDERbJE0ez6O3YZVk8pk 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 v2: - Add this patch (BCM281xx bus clocks) --- drivers/clk/bcm/clk-bcm281xx.c | 121 +++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 121 insertions(+) diff --git a/drivers/clk/bcm/clk-bcm281xx.c b/drivers/clk/bcm/clk-bcm281xx.c index 823d5dfa31b84f502fcd6ada1eff6d8f4673b3dd..1c53df82ccebdaa2273b416a939= 5b79e31433e39 100644 --- a/drivers/clk/bcm/clk-bcm281xx.c +++ b/drivers/clk/bcm/clk-bcm281xx.c @@ -57,6 +57,16 @@ static struct peri_clk_data pmu_bsc_var_data =3D { .trig =3D TRIGGER(0x0a40, 2), }; =20 +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), +}; + static struct ccu_data aon_ccu_data =3D { BCM281XX_CCU_COMMON(aon, AON), .kona_clks =3D { @@ -66,6 +76,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_CLOCK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -172,6 +186,35 @@ static struct peri_clk_data hsic2_12m_data =3D { .trig =3D TRIGGER(0x0afc, 5), }; =20 +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), +}; + static struct ccu_data master_ccu_data =3D { BCM281XX_CCU_COMMON(master, MASTER), .kona_clks =3D { @@ -189,6 +232,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_CLOCK_COUNT] =3D LAST_KONA_CLK, }, }; @@ -301,6 +358,50 @@ static struct peri_clk_data pwm_data =3D { .trig =3D TRIGGER(0x0afc, 15), }; =20 +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), +}; + static struct ccu_data slave_ccu_data =3D { BCM281XX_CCU_COMMON(slave, SLAVE), .kona_clks =3D { @@ -324,6 +425,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_CLOCK_COUNT] =3D LAST_KONA_CLK, }, }; --=20 2.48.1 From nobody Sun Feb 8 13:27:42 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 94DCE23A9A3; Mon, 3 Mar 2025 20:28:05 +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=1741033687; cv=none; b=aRqNQHyZ5wT59TXlir+umRjK+aTuvcuPH+LgmVitGd0XNrghstHMhz7d3Or+IZDKDM37tZfHcUp/Yf2rRJ++zS3Zr+CifE8TdPGUkiXHz9XxX56plwKgCYDgfXKxUvlU4Hi0sg3BkeVVKsgbpxuBBD3Dxxmv3lMdqgxGjj5ooKY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033687; c=relaxed/simple; bh=NWxQJr69T1lJZmCiHGaLhprHxELl4TcRh7xLKs+PcuA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LJSjaPHuLyLGjM3nfRZhpGuKQFUhuzXGEaXxFlxdro9Cw+do0kg19tCwJDdWP0jUDZtC7n+HGwuRXqpF5SfN/SrXjh/7E51sn1I+tVNRXx/ASXIRNYFNT1aWZVXG+Snq92Feh9/Yfr3YpYoo5+toaCZ8hEb2t+Jm/tToUszrs24= 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=DCYXysjQ; 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="DCYXysjQ" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-abf3d64849dso407657166b.3; Mon, 03 Mar 2025 12:28:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741033684; x=1741638484; 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=aRgn7Ji5C+YzF1ddxyvW2TOfmqPRd4kGtHBRiwohv6s=; b=DCYXysjQCRTQ7y5wKcyJBOwiBZqq+SDx7PFQ1AM5sbWGNV1u2vBUch3TqZ7znHO3Hh Dw6oH6roex857Ng55mlgcl4GGlQJGUvYifOqmmuWAhacxtuYGT/+20rKvxwb1Dt7gIbt ExcyakJRBfZ4wlBjXF+dXlYIn/RhSln0CkW/efUNjvCpN9wjvLwBC2N1dNcLDJpwRlev wdByqFRXLaIODeO4UKmArQ08C3sjw5Q2joWiWg+ZfBXMW34HeL5GpdspB41xTsLz4kqK AjORdMEe+IWQJs/PwikqEsNGJKeGdzPc1WDHdHT84bP9bdMy17LaZQkvLJMI+XN47vvz bOLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741033684; x=1741638484; 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=aRgn7Ji5C+YzF1ddxyvW2TOfmqPRd4kGtHBRiwohv6s=; b=ZLB+//g9+orUUUNBGkwwAo/ozka4hqcs7P8DgLFJuGE8Zo/XSyPea/QFvvMrukIg0n 5+u9B2yzXx65Il4yKf+8Mt5ZowOzaVN0pgG7Au6Y+pFM0B3/86xsjxCIvfIJbAn+FFNe U+MqRL4TkZM67/eQRBjSPULl7ob4zPOsyQ7wFXTr60NQuQv02lokHvQ/h5E2HGBByre8 9IT7vlA2Uc/HUEtn04JOYx3f4VnuMpHxT0+8uzZgFKgVGe6sUtxkwJXT6UuC0TdgvAff uusDSV2bT+pFVJWcf9hYYio0kGmQr3yyS8EggN+RvKq7hQkAkPoaY2i8vfMaFb9ePF6h M4Dg== X-Forwarded-Encrypted: i=1; AJvYcCUXTwQiFn37WEUhvX/t7CWTn7dMxPFVTWIgIUBOTk/Eaxkhn9IJPmT7dPIDacsj6KufIS2yQZ7jNgEf@vger.kernel.org, AJvYcCX3YQdAgF/WlkHFCIA3tb1uzoMsZ1Wq4gJu24Y3GpNw4dILMB/dSVGPtesbGIf+jYzr1ekvDDsvbPjp@vger.kernel.org, AJvYcCXyScv4EiWwqhKobCD5BmDB/bYdmnv9Tzu9tcFE1T5tUkAI7JGyEDSoeUHVUeTntglBAGJMTJ9Yv9Uze/0I@vger.kernel.org X-Gm-Message-State: AOJu0YywPu5yuXO4XhEuwHwODnt5bSJzbz+dMVHhDTFTbER6SlT8UUOU +HJSDV/x1n01unFpBtAilcyM3N/pJ1ft6Cx0HtwAVxmWdIyicYb9 X-Gm-Gg: ASbGncsZCBbFbsWUIKrqKbhDeIQH96HJbfx2G23F+FJuLR3GRAfib6jkG0DoEgdxOTB aDvzKoTL1EcGNms4Rn6gNgfnQbyerdcsWILgChkMvvbXMkZbTReI7phtc7npSJInkBzKH6Xnz/t zDb+3BvNqKlbk+rkknHCK3L2+qBLDlWgFLF+2mnpZ+tr2QYszUtVgviGS/sJ5gHFT5jVAgqtI57 mytVaRSWGSic9P34EeYfH08jlta00G+iECpAJUDDt6/2uUDl50ackJJMTwjWzK6bhv9+Sz0QQTl pp9M2eoOSMMci4jt7x6F8xAYipAks4JfT7ILemLThybhCPz+g3IGPM8YlAKwCWNsapMFjuGgpYE cHSGXv84iZg0qAc8= X-Google-Smtp-Source: AGHT+IHmgfTl+JT1LdQ7tmYayp3tTmg3vOw1BKoMq/OPWkP20+6xUSJrrbxqgzwTvMFl0OSbJMPzeg== X-Received: by 2002:a05:6402:234e:b0:5de:a6a8:5ec6 with SMTP id 4fb4d7f45d1cf-5e4d6ad8686mr43033685a12.10.1741033683155; Mon, 03 Mar 2025 12:28:03 -0800 (PST) Received: from hex.my.domain (83.8.122.142.ipv4.supernova.orange.pl. [83.8.122.142]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abf64dd565dsm389222166b.101.2025.03.03.12.28.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 12:28:02 -0800 (PST) From: Artur Weber Date: Mon, 03 Mar 2025 21:27:54 +0100 Subject: [PATCH v2 6/7] 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: <20250303-kona-bus-clock-v2-6-a363c6a6b798@gmail.com> References: <20250303-kona-bus-clock-v2-0-a363c6a6b798@gmail.com> In-Reply-To: <20250303-kona-bus-clock-v2-0-a363c6a6b798@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=1741033671; l=2369; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=NWxQJr69T1lJZmCiHGaLhprHxELl4TcRh7xLKs+PcuA=; b=Odv2sLANh2d6ka+DjfsY7HCNmYuW6Je8IjqyY51c+cI/mr5IqiJ1/SHf7CMGM/tPjm8h6dx7+ gTXCK9e1T4sATVwTnhRl6IdjponjiiAW0i0MFfOgdpDZ5Q63YLEgVFI 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 --- 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.48.1 From nobody Sun Feb 8 13:27:42 2026 Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CFBE3235C1D; Mon, 3 Mar 2025 20:28:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033691; cv=none; b=BApV44aTVW3MXyxX5DZCArPQ3GJC4BkPT90MqsmxAxoqo6irq6jPyojr0DX1nqEFwhGrBFEkWEILpwuZWCZv1R91+NjaRnQ2UCWAiniyOhkTf7fPEMXbUxSF2f7qv5pAE9aAzhU/jX+5WLi15lW1Mzx8onIgVjr6XjjpihaNYbA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741033691; c=relaxed/simple; bh=6WL3+gww7pwy7HeSxhHT435XK+Ky7XngeaLYGMY0ueU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ixYuEVVjLskyfgZXTkURJwKzAi2Dsh6qG+FUnT1t7y4CKStxBNMrOIEADV/bEUo7fnkqMlIKkYX1rB+aJSYAcOdRpfvGPY0K6Lwe5f0kvIiF4y12y5ryZTrQACd9w+/RxMWoO4MS3C7t7Khi8fEz95+EVKanCMKE8lXQipaKZnw= 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=XlTt5QHD; arc=none smtp.client-ip=209.85.218.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XlTt5QHD" Received: by mail-ej1-f53.google.com with SMTP id a640c23a62f3a-aaeec07b705so782405966b.2; Mon, 03 Mar 2025 12:28:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741033688; x=1741638488; 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=XlTt5QHD/036Y/EvQMbXJavmG1faoZbGk7GajTVGV/Uum7FsveeBmFBE8V4JkRR8tW 6QFiR1YzRh0y6Kgfuj7fB2AoSASPYgMNsXIATVOPRNjIYLBQRy/jBZdgjCUDQze8WP+w NaWdL9zhLjR0SnaBdAYHXB4YuHL6uVVdwzSLKqeWRnsf43iTfuuEu1TxBWXJNpmeUhZZ nY+XlksL9jSZNm5TE2kC90hLielDvhL8q8Y4jlyRfmrfKONB8q2N7sy3QaxKr+9oit8q 4kA7RNh9CnXvq6XuPO+rDF6tJi27ubyXVWwqpQQ57m3w1845WspzvzebeyMVrZOIv7jW et+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741033688; x=1741638488; 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=iEteXGWNBjSItbITE5168yP7ctEstuPtn33hWx9uPSSHCG7y+nfnrLC/u666izXEwH zEC+XUH2R9YJ1ejrVkno3iypLApOkI1ReOI5A0nOs8qCAczsQAbl4jOjDVJ45PJy7Sop 55tCJHWBAeDVhi9EsnWiT9ls/W1BTy0XXK+ekx38bIXjpz0c9YOXJwconpa9VqKilCj2 rh7pkWKs3zq9+o7WTMUhiKUlV6ZDXMxpFGudn6iqEQVRmgfIrXf6PU41e7fZJLbyh7VN TlgEe6wAcntg5x/tH1ewbGWyJmqc4YGc+DNU6mX9TkF0JinPLa0xtm0l86/4VsEUEJin kMFw== X-Forwarded-Encrypted: i=1; AJvYcCUJqA68rT5sUs1kqvDpdOfyc1TGr2lNTf+1DMFvdyoQDAJ7J+oNrVLHIDiF6K6qm3umyW9qtO6TZel/W3ng@vger.kernel.org, AJvYcCVXlVvKjNfigSZevbIpq8D4k1IxHjkeNXogSJDOkkB6A2/hquFsg6hZ9GXKiXOpFdhcduUVIMdN8x1k@vger.kernel.org, AJvYcCX8x2HV5XvRjAV6d44EyY128DPEBmi0aTdjXU2fabyWoK+EhGw0bNgxcEFRH9KANzi0Rfv+LDEoNtNt@vger.kernel.org X-Gm-Message-State: AOJu0YwB9hGHvst6L5X4Ic4zGBOqFkYxDRwWjjWa+CkO/ACIZBKO0D38 wXAbmvVWOvG+ppNOpmO9R/E9R0dqjWS3XVzx9ByzqpP2bDdvn3ug X-Gm-Gg: ASbGncuUAp9QwvEGh27my86qkGKjuNgU1+/kIy9AMBp9hk9ulLUwlNi9D2ZZ3r1kCmt 5veXnt5OjT3ase6JTBdPcy/eYHRKDVTYnz2OyFXsLhcdfS7h9U4h93pxyoZYybnLW32SJgCi60Z fs7zA66T495Cjcdra92hjzxPBZF00HAOaH7go48j52Ktg+me2Umt26AWW1yQB2bVqrRY3adI2td pW6jDof8sb0mLk9j/JkPZtQR5QKjZr8yHdTAQ1yJG+joEZ/YwMJ0Y1yM6viTVbzjzuXhcPl04R7 aypRG8RsNwoZjTcjT1PuwSpdGnbnHi8vdwlJIF5BTMCO5C0jvzwTh1v1OGxTRI8+KmV6xJRebng KEP0wmRU4H1hXr58= X-Google-Smtp-Source: AGHT+IFVp/KeMVcrH5wtWWq6qXRVuys4s6zh1IG4Std3sZ5UncuOsGDVsCK+FtLJALUPefTCPbjmwQ== X-Received: by 2002:a17:907:1c28:b0:abb:e7b0:5453 with SMTP id a640c23a62f3a-abf261fae86mr1798482666b.12.1741033687882; Mon, 03 Mar 2025 12:28:07 -0800 (PST) Received: from hex.my.domain (83.8.122.142.ipv4.supernova.orange.pl. [83.8.122.142]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-abf64dd565dsm389222166b.101.2025.03.03.12.28.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Mar 2025 12:28:04 -0800 (PST) From: Artur Weber Date: Mon, 03 Mar 2025 21:27:55 +0100 Subject: [PATCH v2 7/7] 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: <20250303-kona-bus-clock-v2-7-a363c6a6b798@gmail.com> References: <20250303-kona-bus-clock-v2-0-a363c6a6b798@gmail.com> In-Reply-To: <20250303-kona-bus-clock-v2-0-a363c6a6b798@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=1741033671; l=2485; i=aweber.kernel@gmail.com; s=20231030; h=from:subject:message-id; bh=6WL3+gww7pwy7HeSxhHT435XK+Ky7XngeaLYGMY0ueU=; b=VXAGORhDaWxXb847EqZoFtRva0y9l4g4B7YmCVKZNUAkDve22tgY2lHrpkBK5L7Pg24OQ1Kg+ h0wO1xGP5yRAA4Dqe56IFBivb3VdGWg2VwVnY2T3/BidFY/KivG/eAP 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.48.1