From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A087339BFE4; Sat, 23 May 2026 14:02:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779544980; cv=none; b=fEOLOgRs0XZATWqDK58mvfCGB6+PWdziDsQRQ3I1xWx2bmYk3EFar4M/GW2suSL29GzeCU0wl86VoHEcMMQd7f+08CsApvZq+7PamGqTP14YGBR2njlo5Uo1nGtAbvRlpqIyG/Ir2QSL8I20t5SCu9aXpIRIDLFeBmAxLa3L1Hg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779544980; c=relaxed/simple; bh=//ab//nBSGWkAN6jHlWAMfQLVdAXXBGKAkY5w2l+eco=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=I4ZOCVuzcYMEoxyNR0oG+9fZTnOeV43ZSGyrLG2PxPvz49pqIl1K/tK9KllYYY2KKD/RheOU0Rj+FHRFbURSmMFx528MBRsEBpYSu+yNPZUfyeMrS3AQCRwSiEPtdjDtorHPGGwAgqtbLsi+NBDCHRZXeEGBcp3eJKIRr7Pe6AU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=B99EEzVc; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="B99EEzVc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1D3E41F00ACF; Sat, 23 May 2026 14:02:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1779544978; bh=8X0EMa3iUG9PL1Mfl1k+P8zxTYlnVjTTcIFU+vs2pf0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=B99EEzVcLJ0VJ4hmYc85/YShXDE3Nxd+XZJHjSDU7kIGIbcf8JNx1hFcXvjVjI+lr efy/SIZx7be8qQFnoClT67QY2055RNZPA3SIKBXyn7ShocsXEV3QEeT+Z7DZRzIQ0d K14yJADIUpYKFtgfjRvr1aV8mkoGh/MQ75pNhbj1VUDfbeV1ICtZOHXFnnAQguhjdQ mM2Dy0OLgxHx8D+w2JiFGxAXYc2S5rmb9+cCyO57gPCejJZnww9mXCbygMzaijD0Ax lM0vdQ/Jl39gD9ttg2wM0DBRHPs3yog1QwIUxgEZPxqtH4zPokUH0VwXlhUDPge9uq q8W5mL4018/pg== 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 1wQmwK-00000005YFc-13Yk; Sat, 23 May 2026 14:02:56 +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?= , =?UTF-8?q?Yu-Chun=20Lin=20=5B=E6=9E=97=E7=A5=90=E5=90=9B=5D?= , Heiko Stuebner , Shawn Lin , Orson Zhai , Baolin Wang , Michal Simek Subject: [PATCH v3 06/17] arm64: dts: amlogic: Add EL2 virtual timer interrupt Date: Sat, 23 May 2026 15:02:31 +0100 Message-ID: <20260523140242.586031-7-maz@kernel.org> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260523140242.586031-1-maz@kernel.org> References: <20260523140242.586031-1-maz@kernel.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: 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, eleanor.lin@realtek.com, 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 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. Reviewed-by: Neil Armstrong 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