From patchwork Wed Oct 26 13:17:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Ripard X-Patchwork-Id: 618972 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 56740C433FE for ; Wed, 26 Oct 2022 13:20:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233441AbiJZNUC (ORCPT ); Wed, 26 Oct 2022 09:20:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55352 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233452AbiJZNTJ (ORCPT ); Wed, 26 Oct 2022 09:19:09 -0400 Received: from new2-smtp.messagingengine.com (new2-smtp.messagingengine.com [66.111.4.224]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BDC58FE91C; Wed, 26 Oct 2022 06:19:07 -0700 (PDT) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailnew.nyi.internal (Postfix) with ESMTP id 4B7AC580613; Wed, 26 Oct 2022 09:19:06 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Wed, 26 Oct 2022 09:19:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1666790346; x= 1666797546; bh=+V4TsO8tEqxe5KltQxNxTGX9CT79Zyq118K8riiTZ3A=; b=c RxWsOqEPEuxBkprD//jj/Oe1vsrreUBdl/EkJpsp58fNdP3RjvVGkuNVXKOyAcg+ axZgm/4QBEm0JE+IM8n/FtC2IDXIpmOs4r9wIesUO9yeYtbYs+YUBwDvJP3eCK4I otim72RRWOqED29IFI4CV+qE2hrglqIf5zpMUAkq+8WJ5fODoUxMkagrRfTSQtIP ahH3FQsxXd+geoFEdWVa6HwbptuubYbqLhua1v1QLdES0n+yP6HuoVh2XjE7ly8H W/dCJIWvD05+DjcNM9zfFqndwf/pn7Wn0PCR3Li3hw8yKHkghKhX51jV2fTMWrED 0X7RWfJZOWZv76NZLZOmQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1666790346; x= 1666797546; bh=+V4TsO8tEqxe5KltQxNxTGX9CT79Zyq118K8riiTZ3A=; b=Q 7WtlSYu3LRZ9mCMge9xj/cPHJuSf/i+BEQeei5VuhjZTtZEHQ0ihM7Z6EC+1LGe0 eTHLqthLADFaZR53u1qHYBMhmwLCYE9u9aXdKjM/OY4sb9av3+9zsTYQxGNGh0er bcs4jX2EHaMhXHp0FuqCAMrZHUweaGqG8AddQuEnC6G/JpMTxFOLyZ7avbC+hVNk eafYSvDYK8GWmZp9DSHsgUATJ8CkwOVPl+QrSSRe9OPqzeGFh0p8kCb/bfkg8W2z YBrwcq2JfGUY8JG8cs3tmeqyd1/LvSMiuQv0J9VGFDT3NGMJelpuVQvbOOf4MDdF a4zD1rQUVXizkzlMjQwhA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrtddvgdeifecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffugggtgffkfhgjvfevofesthekredtredtjeenucfhrhhomhepmhgrgihi mhgvsegtvghrnhhordhtvggthhenucggtffrrghtthgvrhhnpeefudfhgeevhefhfedtue evueeluddutdetuddtvddvgeekheelvefhteekteeihfenucevlhhushhtvghrufhiiigv pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrgigihhmvgestggvrhhnohdrthgvtg hh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 26 Oct 2022 09:19:05 -0400 (EDT) From: maxime@cerno.tech Date: Wed, 26 Oct 2022 15:17:38 +0200 Subject: [PATCH 1/2] ARM: dts: bcm283x: Remove bcm2835-rpi-common.dtsi from SoC DTSI MIME-Version: 1.0 Message-Id: <20221026-rpi-display-fw-clk-v1-1-5c29b7a3d8b0@cerno.tech> References: <20221026-rpi-display-fw-clk-v1-0-5c29b7a3d8b0@cerno.tech> In-Reply-To: <20221026-rpi-display-fw-clk-v1-0-5c29b7a3d8b0@cerno.tech> To: Rob Herring , Krzysztof Kozlowski , Ray Jui , Scott Branden , Broadcom internal kernel review list , Florian Fainelli Cc: linux-rpi-kernel@lists.infradead.org, Maxime Ripard , Dave Stevenson , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Phil Elwell , linux-kernel@vger.kernel.org, Dom Cobley X-Mailer: b4 0.10.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=6723; i=maxime@cerno.tech; h=from:subject:message-id; bh=CkGcM5PYhqsmo3Ibf0jbjJsLTCvop6ORqTYVt513GNA=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMmRxsWxlWcnnpZJWLvj8FcL9i2fWd53CVza1lnn9zBt9bni llSBjlIWBjEuBlkxRZYYYfMlcadmve5k45sHM4eVCWQIAxenAEyE5QnDX4mP3y7UPWLbq/XeZv/SPm dRydn7As8Jl5hcYJvKNZXNvZnhD+f6Dc/Wbo9Ym8cgKnRW+UFnrfqcggkpa0Xk5HccM3VYzQoA X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org According to the commit log of the commit 3ac395a5b3f3 ("ARM: dts: bcm283x: Use firmware PM driver for V3D"), the initial intent behind the bcm2835-rpi-common DTSI was to share data between the RaspberryPies based on the BCM2835, 36 and 37. However, it was included by these SoCs' main DTSI. This is creating an improper layering. On top of that, bcm2835.dtsi is being included by bcm2711.dtsi, which means that, even though the bcm2835-rpi-common DTSI wasn't actually meant to contain data for the BCM2711, it actually leaks into the BCM2711 DTSI. In order to remove both issues, let's remove the include of bcm2835-rpi-common.dtsi from bcm283{5-7}.dtsi and put them into the bcm283{6,7}-rpi.dtsi. BCM2835 has to be handled with special care due to the fact that bcm2835.dtsi is being included by bcm2711.dtsi. Thus, we chose to include bcm2835-rpi-common.dtsi directly into the board DTS. This will be more error-prone, but given that it's a fairly old SoC by now, the chance that we will get more BCM2835 boards is fairly low. BCM2711 isn't modified since the content of bcm2835-rpi-common.dtsi was only a power-domain for the v3d that was overridden anyway. Signed-off-by: Maxime Ripard --- arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 1 + arch/arm/boot/dts/bcm2835-rpi-a.dts | 1 + arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 1 + arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 1 + arch/arm/boot/dts/bcm2835-rpi-b.dts | 1 + arch/arm/boot/dts/bcm2835-rpi-cm1.dtsi | 1 + arch/arm/boot/dts/bcm2835-rpi-zero-w.dts | 1 + arch/arm/boot/dts/bcm2835-rpi-zero.dts | 1 + arch/arm/boot/dts/bcm2835.dtsi | 1 - arch/arm/boot/dts/bcm2836-rpi.dtsi | 1 + arch/arm/boot/dts/bcm2836.dtsi | 1 - arch/arm/boot/dts/bcm2837.dtsi | 1 - 12 files changed, 9 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts index 9b9a18bbb20a..1470d2049f74 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts @@ -2,6 +2,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm2835-rpi-common.dtsi" #include "bcm283x-rpi-usb-host.dtsi" / { diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts index f664e4fced93..89be496f84f8 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-a.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts @@ -2,6 +2,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm2835-rpi-common.dtsi" #include "bcm283x-rpi-usb-host.dtsi" / { diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts index 248feb2ed23d..7f653f11788d 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts @@ -2,6 +2,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm2835-rpi-common.dtsi" #include "bcm283x-rpi-smsc9514.dtsi" #include "bcm283x-rpi-usb-host.dtsi" diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts index f5b66d3f4ff3..55e7cb0a242f 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts @@ -2,6 +2,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm2835-rpi-common.dtsi" #include "bcm283x-rpi-smsc9512.dtsi" #include "bcm283x-rpi-usb-host.dtsi" diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts index f589bede2b11..3020c42ea8d7 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-b.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts @@ -2,6 +2,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm2835-rpi-common.dtsi" #include "bcm283x-rpi-smsc9512.dtsi" #include "bcm283x-rpi-usb-host.dtsi" diff --git a/arch/arm/boot/dts/bcm2835-rpi-cm1.dtsi b/arch/arm/boot/dts/bcm2835-rpi-cm1.dtsi index e4e6b6abbfc1..f71d7e9e5895 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-cm1.dtsi +++ b/arch/arm/boot/dts/bcm2835-rpi-cm1.dtsi @@ -2,6 +2,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm2835-rpi-common.dtsi" / { leds { diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts index 596bb1ef994e..9b3a2070a629 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-zero-w.dts @@ -6,6 +6,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm2835-rpi-common.dtsi" #include "bcm283x-rpi-usb-otg.dtsi" #include "bcm283x-rpi-wifi-bt.dtsi" diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts b/arch/arm/boot/dts/bcm2835-rpi-zero.dts index a65c2bca69ea..f9359ac2bb92 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts +++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts @@ -6,6 +6,7 @@ /dts-v1/; #include "bcm2835.dtsi" #include "bcm2835-rpi.dtsi" +#include "bcm2835-rpi-common.dtsi" #include "bcm283x-rpi-usb-otg.dtsi" / { diff --git a/arch/arm/boot/dts/bcm2835.dtsi b/arch/arm/boot/dts/bcm2835.dtsi index 1c90e5a44283..15cb331febbb 100644 --- a/arch/arm/boot/dts/bcm2835.dtsi +++ b/arch/arm/boot/dts/bcm2835.dtsi @@ -1,7 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 #include "bcm283x.dtsi" #include "bcm2835-common.dtsi" -#include "bcm2835-rpi-common.dtsi" / { compatible = "brcm,bcm2835"; diff --git a/arch/arm/boot/dts/bcm2836-rpi.dtsi b/arch/arm/boot/dts/bcm2836-rpi.dtsi index c4c858b984c6..48b03b55ff56 100644 --- a/arch/arm/boot/dts/bcm2836-rpi.dtsi +++ b/arch/arm/boot/dts/bcm2836-rpi.dtsi @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 #include "bcm2835-rpi.dtsi" +#include "bcm2835-rpi-common.dtsi" &vchiq { compatible = "brcm,bcm2836-vchiq", "brcm,bcm2835-vchiq"; diff --git a/arch/arm/boot/dts/bcm2836.dtsi b/arch/arm/boot/dts/bcm2836.dtsi index 534dacfc4dd5..db56a3443a4a 100644 --- a/arch/arm/boot/dts/bcm2836.dtsi +++ b/arch/arm/boot/dts/bcm2836.dtsi @@ -1,7 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 #include "bcm283x.dtsi" #include "bcm2835-common.dtsi" -#include "bcm2835-rpi-common.dtsi" / { compatible = "brcm,bcm2836"; diff --git a/arch/arm/boot/dts/bcm2837.dtsi b/arch/arm/boot/dts/bcm2837.dtsi index 5dbdebc46259..58b3efe483c3 100644 --- a/arch/arm/boot/dts/bcm2837.dtsi +++ b/arch/arm/boot/dts/bcm2837.dtsi @@ -1,6 +1,5 @@ #include "bcm283x.dtsi" #include "bcm2835-common.dtsi" -#include "bcm2835-rpi-common.dtsi" / { compatible = "brcm,bcm2837"; From patchwork Wed Oct 26 13:17:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Maxime Ripard X-Patchwork-Id: 618971 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9DEBCC433FE for ; Wed, 26 Oct 2022 13:20:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233524AbiJZNUI (ORCPT ); Wed, 26 Oct 2022 09:20:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55364 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233544AbiJZNTK (ORCPT ); Wed, 26 Oct 2022 09:19:10 -0400 Received: from new2-smtp.messagingengine.com (new2-smtp.messagingengine.com [66.111.4.224]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 68A22101E20; Wed, 26 Oct 2022 06:19:08 -0700 (PDT) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.nyi.internal (Postfix) with ESMTP id 4F337580628; Wed, 26 Oct 2022 09:19:08 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Wed, 26 Oct 2022 09:19:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1666790348; x= 1666797548; bh=TLywN80PBRSGp1V7EoHZWP5yAlnJT7LvlPlsl/LopeQ=; b=K vVDUGuAsJPAAANUw0L3cfSLaL0YauHgYtmYc0AS93jMRR0vR7LJK6ZLI7GRKZOI9 fuItjjJjuN2nXfwcNRBj6LkLopSrSR4Vsgo5zNsW9Hg44Hbbg0e2CDGuL137jLOU in1TX3SqB19cvK8OemEI5L1jbpVzACsZ14Lsh/0k3PbuTkB95KB17d9n1fkrQjet cC6vNM4CFUINvoyCXRUWVCjjfnTJNleaDE6CTiMHAyaXGT1M6Q+f6fRv8+Sm1qQ2 JZ6fprP670ZY+Hn0yfs//e60xOGVpoihlnyuXlPxXDeDJz1kcIvH8N8iX4tM2gFD cTums7LqLTRtPF0I8ga4Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1666790348; x= 1666797548; bh=TLywN80PBRSGp1V7EoHZWP5yAlnJT7LvlPlsl/LopeQ=; b=g nqT2+3XrQg7c1oXRlXRozHMxTPHBtzzY48/WaveMrAqb+rf+NKkq6GXF99J4Z4d8 NFH3a1H62sr3c66YKAllmytzEX5asgq4EJTYyr1HnNvIs6GYX9Eg1lvwcL6YlW4n fH4QHUZvLvY9JEqyRX7r3AKN0IgqEYbBi4ITvIlOuHG+/+aV96TTPg76zaYMQoD2 qnWFLQm87K0HkFZUNTtzdXKRp09epdU7L0HfpxHJ5LhZQC5YFAZDWZdan97odszT cRt+iSYbmVeOtZ3z0YUK3fkO9MC3nJX2MXiM470AdjO1ClKDgVA2UmkXAV4Nzf2W K7tF29+Z3F59iMFqo2h4w== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvgedrtddvgdeifecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhfffugggtgffkfhgjvfevofesthekredtredtjeenucfhrhhomhepmhgrgihi mhgvsegtvghrnhhordhtvggthhenucggtffrrghtthgvrhhnpeelleejkeejgfekteduhe euteevleeukeekleeukefgfeeghfeguedvheeuudfhheenucffohhmrghinhepkhgvrhhn vghlrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepmhgrgihimhgvsegtvghrnhhordhtvggthh X-ME-Proxy: Feedback-ID: i8771445c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 26 Oct 2022 09:19:07 -0400 (EDT) From: maxime@cerno.tech Date: Wed, 26 Oct 2022 15:17:39 +0200 Subject: [PATCH 2/2] ARM: dts: bcm2835-rpi: Use firmware clocks for display MIME-Version: 1.0 Message-Id: <20221026-rpi-display-fw-clk-v1-2-5c29b7a3d8b0@cerno.tech> References: <20221026-rpi-display-fw-clk-v1-0-5c29b7a3d8b0@cerno.tech> In-Reply-To: <20221026-rpi-display-fw-clk-v1-0-5c29b7a3d8b0@cerno.tech> To: Rob Herring , Krzysztof Kozlowski , Ray Jui , Scott Branden , Broadcom internal kernel review list , Florian Fainelli Cc: linux-rpi-kernel@lists.infradead.org, Maxime Ripard , Dave Stevenson , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Phil Elwell , linux-kernel@vger.kernel.org, Dom Cobley X-Mailer: b4 0.10.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1272; i=maxime@cerno.tech; h=from:subject:message-id; bh=4odMoAG1abpvun5lAxsDv4lzD0ztevxrOrt8+5rnofY=; b=owGbwMvMwCX2+D1vfrpE4FHG02pJDMmRxsWTjk13zmBZW8H69PDa7m1b02PbOSd69C1l72R/FlIi sehMRykLgxgXg6yYIkuMsPmSuFOzXney8c2DmcPKBDKEgYtTACai7MPwz+DaYQMXi/+7X/f3b1cTYp zUd67cz/nhpzMR/msvxDVuvcnw3+uj/BL1phwl/b5EbqGu05xqe8MV4vdmfz+zZOGk7nWzGQE= X-Developer-Key: i=maxime@cerno.tech; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org We've experienced a number of issues around the cohabitation between the "real" clock driver in Linux and the one backed by the firmware. One solution around this is to follow what the RaspberryPi foundation in its downstream clock, which is also what we've been doing on the RaspberryPi4: to use the clocks exposed by the firmware. Link: https://lore.kernel.org/linux-clk/20221021140505.kjmw5x4s6qhnrfif@houat/ Signed-off-by: Maxime Ripard --- arch/arm/boot/dts/bcm2835-rpi-common.dtsi | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/arch/arm/boot/dts/bcm2835-rpi-common.dtsi b/arch/arm/boot/dts/bcm2835-rpi-common.dtsi index 8a55b6cded59..4e7b4a592da7 100644 --- a/arch/arm/boot/dts/bcm2835-rpi-common.dtsi +++ b/arch/arm/boot/dts/bcm2835-rpi-common.dtsi @@ -7,6 +7,23 @@ #include +&firmware { + firmware_clocks: clocks { + compatible = "raspberrypi,firmware-clocks"; + #clock-cells = <1>; + }; +}; + +&hdmi { + clocks = <&firmware_clocks 9>, + <&firmware_clocks 13>; + clock-names = "pixel", "hdmi"; +}; + &v3d { power-domains = <&power RPI_POWER_DOMAIN_V3D>; }; + +&vec { + clocks = <&firmware_clocks 15>; +};