From mboxrd@z Thu Jan 1 00:00:00 1970 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DCEFDCD3427 for ; Thu, 7 May 2026 12:56:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From: Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=6oEzaHWJrLPowhB+3Nv+bM4v2JXT78lzvUXh8UG+0sE=; b=LZYRuJvzciBe853bgk3aD4wtWl 1i+utf0SvenRaiMkzsCY7uc2ZtW95KA+78ImL29KUy5qo6Q2rouBEA2+lBFmkG+P9NvKqOlXDmjvk PhXYiFxJQFQNCxj6GSfMbgMYAJUzmj2xXAmFxAa/fgl8IMbGPj2BAjLb9rUrNShspTJWb2XuNrXjQ f0bJl1fONnkxKsc/PinxKntEWY3v4AkpGcit3W1aZTNhx7RlQOUfkLeRV21GlY8rf6xmM9rdJibjC mh5fozLvj0GiUXGJNzENd/wdbUbhoIdKVEDy63cIOUR2T8gaxhVTVGkIweZe0k97tz7SBfkPjS13i bd7oIM6w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wKyH2-00000003pbu-191Z; Thu, 07 May 2026 12:56:16 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wKyGs-00000003pLm-1ruf for linux-arm-kernel@lists.infradead.org; Thu, 07 May 2026 12:56:08 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id C5BCE443AA; Thu, 7 May 2026 12:56:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8B0AC4AF0C; Thu, 7 May 2026 12:56:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1778158562; bh=Ndk1gHcTE4MDCW8saID4GCZT+tRNO56H9hFusMG+7wk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tM4IgBbvBrhbJ0yMHD3phsMTB6n5sJC+PO7413tKNIoTYJoD0sDMHE37iGqx4bBF5 eOtSuUT1jnnW80OVAkCkqc4VMs+6OGWxaKlE+raku1u7DosJi6sk77DFBm/9568nvD XJfFG1wCB9YoHr7T4009c8oHlMjffeROvTY1UWzvU5M0ksfFn3Nvo6wm7eArAiiHTa QAh6THZfEbQA+KWXImObaa2/XXWI7naguXG+4RMw7uMKhSDaO/IhbaG77pmlzNJ7YW ciKS7T/giwzVCebr/06fbMaAckZ2WkXph9HuRSyIiBwZvwHseQBBgrC75Lsw/KFO0/ UHbNtRsO8uRgg== Received: from sofa.misterjones.org ([185.219.108.64] helo=valley-girl.lan) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wKyGj-00000000d7d-2p8l; Thu, 07 May 2026 12:55:57 +0000 From: Marc Zyngier To: linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org Cc: Lorenzo Pieralisi , Hanjun Guo , Sudeep Holla , Catalin Marinas , Will Deacon , "Rafael J. Wysocki" , Mark Rutland , Daniel Lezcano , Thomas Gleixner , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Neil Armstrong , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Ge Gordon , BST Linux Kernel Upstream Group , Jesper Nilsson , Lars Persson , Alim Akhtar , Ivaylo Ivanov , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Dinh Nguyen , Matthias Brugger , AngeloGioacchino Del Regno , Thierry Reding , Jonathan Hunter , Bjorn Andersson , Konrad Dybcio , =?UTF-8?q?Andreas=20F=C3=A4rber?= , Heiko Stuebner , Shawn Lin , Orson Zhai , Baolin Wang , Michal Simek Subject: [PATCH 05/16] arm64: dts: amlogic: Add EL2 virtual timer interrupt Date: Thu, 7 May 2026 13:55:33 +0100 Message-ID: <20260507125544.2903406-6-maz@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260507125544.2903406-1-maz@kernel.org> References: <20260507125544.2903406-1-maz@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: linux-arm-kernel@lists.infradead.org, linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, lpieralisi@kernel.org, guohanjun@huawei.com, sudeep.holla@kernel.org, catalin.marinas@arm.com, will@kernel.org, rafael@kernel.org, mark.rutland@arm.com, daniel.lezcano@kernel.org, tglx@kernel.org, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, wens@kernel.org, jernej.skrabec@gmail.com, samuel@sholland.org, neil.armstrong@linaro.org, khilman@baylibre.com, jbrunet@baylibre.com, martin.blumenstingl@googlemail.com, gordon.ge@bst.ai, bst-upstream@bstai.top, jesper.nilsson@axis.com, lars.persson@axis.com, alim.akhtar@samsung.com, ivo.ivanov.ivanov1@gmail.com, Frank.Li@nxp.com, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, dinguyen@kernel.org, matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, thierry.reding@kernel.org, jonathanh@nvidia.com, andersson@kernel.org, konradybcio@kernel.org, afaerber@suse.de, heiko@sntech.de, shawn.lin@rock-chips.com, orsonzhai@gmail.com, baolin.wang@linux.alibaba.com, michal.simek@amd.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260507_055607_068752_4E75920E X-CRM114-Status: GOOD ( 16.14 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The ARMv8.2 based CPUs used in a number of Amlogic SoCs are missing the EL2 virtual timer interrupt. Add it. This requires some surgery in the "common" files to move the timer node to locations that makes it possible to add the interrupt only where it is actually implemented. Signed-off-by: Marc Zyngier --- arch/arm64/boot/dts/amlogic/amlogic-a4-common.dtsi | 8 -------- arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi | 8 ++++++++ arch/arm64/boot/dts/amlogic/amlogic-a5.dtsi | 9 +++++++++ arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi | 3 ++- arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi | 3 ++- arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi | 3 ++- arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 13 ------------- arch/arm64/boot/dts/amlogic/meson-g12.dtsi | 9 +++++++++ arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 10 ++++++++++ 9 files changed, 42 insertions(+), 24 deletions(-) diff --git a/arch/arm64/boot/dts/amlogic/amlogic-a4-common.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-a4-common.dtsi index 54d7a2d56ef64..6f559e4dd9ee9 100644 --- a/arch/arm64/boot/dts/amlogic/amlogic-a4-common.dtsi +++ b/arch/arm64/boot/dts/amlogic/amlogic-a4-common.dtsi @@ -7,14 +7,6 @@ #include #include / { - timer { - compatible = "arm,armv8-timer"; - interrupts = , - , - , - ; - }; - psci { compatible = "arm,psci-1.0"; method = "smc"; diff --git a/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi index fce45933fa28b..c28fc7fcbae7f 100644 --- a/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi +++ b/arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi @@ -86,6 +86,14 @@ pwrc: power-controller { #power-domain-cells = <1>; }; }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + }; }; &apb { diff --git a/arch/arm64/boot/dts/amlogic/amlogic-a5.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-a5.dtsi index 2b12d8284594f..c22c0acb4807e 100644 --- a/arch/arm64/boot/dts/amlogic/amlogic-a5.dtsi +++ b/arch/arm64/boot/dts/amlogic/amlogic-a5.dtsi @@ -49,6 +49,15 @@ pwrc: power-controller { #power-domain-cells = <1>; }; }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + , + ; + }; }; &apb { diff --git a/arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi index ab3acef2b147e..853d32929ff46 100644 --- a/arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi +++ b/arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi @@ -56,7 +56,8 @@ timer { interrupts = , , , - ; + , + ; }; psci { diff --git a/arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi index a3faf4d188e11..bfaac5f3e22da 100644 --- a/arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi +++ b/arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi @@ -94,7 +94,8 @@ timer { interrupts = , , , - ; + , + ; }; psci { diff --git a/arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi index 0c4417bcd6827..32d8683059964 100644 --- a/arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi +++ b/arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi @@ -58,7 +58,8 @@ timer { interrupts = , , , - ; + , + ; }; psci { diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi index 00609d2da6743..a911a5181a88d 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi @@ -2579,19 +2579,6 @@ map { }; }; - timer { - compatible = "arm,armv8-timer"; - interrupts = , - , - , - ; - arm,no-tick-in-suspend; - }; - xtal: xtal-clk { compatible = "fixed-clock"; clock-frequency = <24000000>; diff --git a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi index 664912d1beaab..866fc07d1b0ae 100644 --- a/arch/arm64/boot/dts/amlogic/meson-g12.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-g12.dtsi @@ -43,6 +43,15 @@ tdmif_c: audio-controller-2 { clock-names = "sclk", "lrclk", "mclk"; status = "disabled"; }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + arm,no-tick-in-suspend; + }; }; &apb { diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi index 8f5b850b1774f..77c72936ffdd3 100644 --- a/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi +++ b/arch/arm64/boot/dts/amlogic/meson-sm1.dtsi @@ -128,6 +128,16 @@ l2: l2-cache0 { }; }; + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + , + ; + arm,no-tick-in-suspend; + }; + cpu_opp_table: opp-table { compatible = "operating-points-v2"; opp-shared; -- 2.47.3