From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 75F7043D504 for ; Thu, 7 May 2026 15:44:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778168656; cv=none; b=Tsz7mRUXSzQwT20a2g5pkUQNry0dNCVaxAd2n7JBBSqKsuK0v1ZRWYKUG5+90KZ9eP3cO6WSt/8Ya5AcIuIVW17Y9Su/7SMZ+XeOsT5vFnl4Re9uheZYCH12sfTO5zcLPazQxh7rN1UJLK8MtzlXAUv97L/6+yL+5PwG1xdeIZA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778168656; c=relaxed/simple; bh=gqgpcPPyoYkctF2A9qIrFAW4scyW1u6DRT1WbSeDKyg=; h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References: In-Reply-To:Content-Type; b=ZBCVB1wzJgA5pOrNYMJGP9E9ScBXZUEsvuTxQjuXWexZcfq3fDMuwK43ZzNBpEbIFmYDu/LF0PMjgzHoK4ik1c6mCIGxqeiPG3cR0YhHQTj27rcT552Vb3Cng4jY21WXMeaswbZNWqnCIY3wtpz9/ZL0G0L9L/p0mO2dwePmstc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=wWb1fRRj; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="wWb1fRRj" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4891d7164ddso6688625e9.3 for ; Thu, 07 May 2026 08:44:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1778168653; x=1778773453; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:references:cc:to:subject:reply-to:from:user-agent :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=MeEODZjRA4liT1mQOVL+XlN6FECQ6ttZUbZtASXBGIA=; b=wWb1fRRjnuILbV+weSoENn1q38jLQaNngtxxES34zSGzmlFJeivBQ68tBjri+kF1z9 DBw7q/cPH5wbrlOXKy9UQ8FEM9M/EVxijpDfwMAlrgsrZI2DFALwsb0paJrsI8/naPmN GrHzx9UztjOs/T1v5XJ9GfGM/uX7UA9yxnltMx95AYVsIG6LFVZGHSB9uK095RCvXJaq 7HwOTc+31KV32Igcoz+e1sHERj84Z3uTwsBlQhSDwRlm00n2tXV7KPtRCuX7wD+F+3hm +7mLXf+crnikC13oV4ZBafEP3AX62KxPkSqwde3GY37Ms9ZnG3Khj0kuH1PQAOFVOgu4 0Opg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778168653; x=1778773453; h=content-transfer-encoding:in-reply-to:organization:autocrypt :content-language:references:cc:to:subject:reply-to:from:user-agent :mime-version:date:message-id:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=MeEODZjRA4liT1mQOVL+XlN6FECQ6ttZUbZtASXBGIA=; b=dTpyMDs8fIuRKDoMeof6CnJnTdlvUfypfJqHuPTiZuILcrKo1Tc3C0C2cw60RwR9iy Uufn1kzFbF7oyuw/Ragam+h1zuXz9MrH7hPYgeOaGZ+lHXSdXve/jj534Tqne3mg40rV jVVlgE20uCJWFaOvjJ/WfKqDynNmep52FrhG1T8hHQ6bFMpCbdaAGXPVAQjnusMXVUSy sRAoFlN5Lh5M6MvKynf8q60JO9/pRr2pxKvkWo9zDdXAUmsK6y/IvFFdQ4xTZpUuy0H6 2o55Y5P7U22TBwEHgETsqJm8WuF2k8gmzrDaPta+ROo8AZySWCcfZwoYZNzQv/5Z+/Zh e0uw== X-Forwarded-Encrypted: i=1; AFNElJ/1+DZwS7C05+dblegN1vy0ASN2lYmV4CBwR+/WxF2Ncfwutj20VgsOe1lor1rIQqljqIIma7pRYOsT@vger.kernel.org X-Gm-Message-State: AOJu0YzsPYv6ANrQZ2aQ12kQ1FCANrPBhvmE4jCMMcnB18uDVCTdQeYU K9aAXeI0etgq364nT7j5SZA/nDla8gZzHhC136W0E2Jc7Owa44Nd/8F8wZnCXuFIDeU= X-Gm-Gg: AeBDies0u6KhhproujS52l9q9ELWD03PJvifPJMdU97PSMMehU+tlW0NQHawgdYJ6rb BivGLr3AzHGRwuzsTipxUQcotCq7RhiBLAsQmwCRqw6ozVVBdntJU4flcT9lwqxM3AY1StdIuAC 9Wk+oyYAPTaxmEcVbryvVvIxDsYSaED4jNBMmLJ6OnPGHHftVf5SprgGrIgmAm64YK2zvmxm6fV h0k0wjzvYSNruFZiaJG+Atbo11tnihNlZLwM0ElvE5T5NUerVve7f/QwhdZ6q3UnryhVf+SpMNz V4YjyBRzcHZf+AysiaEmni/gj4z1/mM4uJPh24cP34/ihMHXFR8gpzGlpoKfnNUyZga65ik4aAZ xTdks0EhKpZbdFljSR6Zbcejr75S2zN+M55sRNAT/TBNTcJcRmSP33a3WSnSH/D3K/VUmurdghW GfnisSay7Y/tzylvsotymUniLKOYfxL0aF2lN2Cw6eDXk9ZpAvqZ4/UHZnrnK7b8xMGZ4qZBwyF Gvwj4TpqP+CZaMWKyS6UTNTDd7Y X-Received: by 2002:a05:600c:8485:b0:488:af7f:775f with SMTP id 5b1f17b1804b1-48e51f32a64mr146074295e9.18.1778168652626; Thu, 07 May 2026 08:44:12 -0700 (PDT) Received: from ?IPV6:2a01:e0a:106d:1080:6762:47bb:1e06:ff70? ([2a01:e0a:106d:1080:6762:47bb:1e06:ff70]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48e538aaa0fsm161995425e9.7.2026.05.07.08.44.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 07 May 2026 08:44:11 -0700 (PDT) Message-ID: Date: Thu, 7 May 2026 17:44:10 +0200 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Neil Armstrong Reply-To: Neil Armstrong Subject: Re: [PATCH 05/16] arm64: dts: amlogic: Add EL2 virtual timer interrupt To: Marc Zyngier , 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 , 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_F=C3=A4rber?= , Heiko Stuebner , Shawn Lin , Orson Zhai , Baolin Wang , Michal Simek References: <20260507125544.2903406-1-maz@kernel.org> <20260507125544.2903406-6-maz@kernel.org> Content-Language: en-US, fr Autocrypt: addr=neil.armstrong@linaro.org; keydata= xsBNBE1ZBs8BCAD78xVLsXPwV/2qQx2FaO/7mhWL0Qodw8UcQJnkrWmgTFRobtTWxuRx8WWP GTjuhvbleoQ5Cxjr+v+1ARGCH46MxFP5DwauzPekwJUD5QKZlaw/bURTLmS2id5wWi3lqVH4 BVF2WzvGyyeV1o4RTCYDnZ9VLLylJ9bneEaIs/7cjCEbipGGFlfIML3sfqnIvMAxIMZrvcl9 qPV2k+KQ7q+aXavU5W+yLNn7QtXUB530Zlk/d2ETgzQ5FLYYnUDAaRl+8JUTjc0CNOTpCeik 80TZcE6f8M76Xa6yU8VcNko94Ck7iB4vj70q76P/J7kt98hklrr85/3NU3oti3nrIHmHABEB AAHNKk5laWwgQXJtc3Ryb25nIDxuZWlsLmFybXN0cm9uZ0BsaW5hcm8ub3JnPsLAkQQTAQoA OwIbIwULCQgHAwUVCgkICwUWAgMBAAIeAQIXgBYhBInsPQWERiF0UPIoSBaat7Gkz/iuBQJk Q5wSAhkBAAoJEBaat7Gkz/iuyhMIANiD94qDtUTJRfEW6GwXmtKWwl/mvqQtaTtZID2dos04 YqBbshiJbejgVJjy+HODcNUIKBB3PSLaln4ltdsV73SBcwUNdzebfKspAQunCM22Mn6FBIxQ GizsMLcP/0FX4en9NaKGfK6ZdKK6kN1GR9YffMJd2P08EO8mHowmSRe/ExAODhAs9W7XXExw UNCY4pVJyRPpEhv373vvff60bHxc1k/FF9WaPscMt7hlkbFLUs85kHtQAmr8pV5Hy9ezsSRa GzJmiVclkPc2BY592IGBXRDQ38urXeM4nfhhvqA50b/nAEXc6FzqgXqDkEIwR66/Gbp0t3+r yQzpKRyQif3OwE0ETVkGzwEIALyKDN/OGURaHBVzwjgYq+ZtifvekdrSNl8TIDH8g1xicBYp QTbPn6bbSZbdvfeQPNCcD4/EhXZuhQXMcoJsQQQnO4vwVULmPGgtGf8PVc7dxKOeta+qUh6+ SRh3vIcAUFHDT3f/Zdspz+e2E0hPV2hiSvICLk11qO6cyJE13zeNFoeY3ggrKY+IzbFomIZY 4yG6xI99NIPEVE9lNBXBKIlewIyVlkOaYvJWSV+p5gdJXOvScNN1epm5YHmf9aE2ZjnqZGoM Mtsyw18YoX9BqMFInxqYQQ3j/HpVgTSvmo5ea5qQDDUaCsaTf8UeDcwYOtgI8iL4oHcsGtUX oUk33HEAEQEAAcLAXwQYAQIACQUCTVkGzwIbDAAKCRAWmrexpM/4rrXiB/sGbkQ6itMrAIfn M7IbRuiSZS1unlySUVYu3SD6YBYnNi3G5EpbwfBNuT3H8//rVvtOFK4OD8cRYkxXRQmTvqa3 3eDIHu/zr1HMKErm+2SD6PO9umRef8V82o2oaCLvf4WeIssFjwB0b6a12opuRP7yo3E3gTCS KmbUuLv1CtxKQF+fUV1cVaTPMyT25Od+RC1K+iOR0F54oUJvJeq7fUzbn/KdlhA8XPGzwGRy 4zcsPWvwnXgfe5tk680fEKZVwOZKIEuJC3v+/yZpQzDvGYJvbyix0lHnrCzq43WefRHI5XTT QbM0WUIBIcGmq38+OgUsMYu4NzLu7uZFAcmp6h8g Organization: Linaro In-Reply-To: <20260507125544.2903406-6-maz@kernel.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 5/7/26 14:55, Marc Zyngier wrote: > 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 = - (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, > - - (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, > - - (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>, > - - (GIC_CPU_MASK_RAW(0xff) | IRQ_TYPE_LEVEL_LOW)>; > - 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; Reviewed-by: Neil Armstrong Thanks, Neil