From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 D73DD3F7860; Thu, 7 May 2026 12:56:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778158563; cv=none; b=DpHyOmhZtKpA9mHOoB5T1KXgKvGdwvK4QTDEdNDqjN0AIfOmT2sBBgZCja2XGchkO69sLxX80PdjhXV6xUWVfafABD1FSSY3sbxbKcBYljfiCkGz4cjc06K2EJbLB3UCkZmyRn0qlv6iaW78XJENAc5mt6wLdA2tT324Onp7XFI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778158563; c=relaxed/simple; bh=Ndk1gHcTE4MDCW8saID4GCZT+tRNO56H9hFusMG+7wk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Se3Im8oogiM2ygvWpIoD8lvdeNiMPiw0up5AvwMVFJDwECWRNlgsE/JOx0YNiveLjC6ZLHk4OM+I/hmpd4TB9QmbF9maZWUbZRoUBijL2pkUa8S4o0VVXplAuojtv4az3BGlPm0ep3FJWhODE/J6URgRIzLarP27ASfG6K/m4T0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tM4IgBbv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="tM4IgBbv" 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> Precedence: bulk X-Mailing-List: linux-acpi@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, 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. 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