From nobody Thu Oct 2 17:00:08 2025 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (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 450642ED15A for ; Mon, 15 Sep 2025 08:02:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757923362; cv=none; b=gWQZHPHL4dPf4/U0TxGoLLYnMjUdhwxItgQVGTmQ0Kcq6rzSkzh9qi0WCZKIP0aSDGqt1oH+/g3Lqkv3WFj0REmLqUMbt5Uj+XM3nSXXUfZujSLrU/d5f0nBA/C+2rUr2GbiV01k/1zUhyyl3bVYizPngyUFmMGjFzPTRlR5cyA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757923362; c=relaxed/simple; bh=puO7Z2ig7bVHyLqZNo9tVY79xCx9TFwpjX8RCxEGwRM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=X2gvgMd2zuCP+2SBEkje5MsomKvj8phgHYg5Rilnq3WSi+CBS+jJoL0zyWDnGBHy+ek4HQaevR+IBuSCfds3z8rqB0g09czfEKK0T4JJbQRUOL3N03vFGJS//a+UYQ6ZbL8VFHet29miX9UAsC/Af1JtV/JmQT8yPArB3Bq2gnY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Uw/eqHKQ; arc=none smtp.client-ip=209.85.167.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Uw/eqHKQ" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-55f753ec672so4280046e87.2 for ; Mon, 15 Sep 2025 01:02:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757923355; x=1758528155; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=BEtH9m2WWLRtkmEZlpTibWNlPxTQz5oYIW0vldsEJ1I=; b=Uw/eqHKQH759QVtfpA56Cz+TcpmP6eLClZRMF3hb4TBVw1jrw0FcnSblh2shS9YL1J zpKenvTp46iIwVwfUYUsHVdLNTWRF8sdj8HKvX5e5S1kj1zZdDcaOqAUXm9eWxjy1MxV d7oBT0823rQA0Gqrk5uLe2FUngjduBTtJRPVL507ORhrtLNiJdKE/xUgbhc4BChMtYGK FAuwKjURVsmJQ9BjewAMmZMeVoyrmL7EcfpLmZ9wKaLuRJCnGFIkmIHkGYNkW6r7v+QV dl8N0yiVwLtIYU9RwafU0u2VX52wJOCAxZJoo1DcVUR8Li+Jl80dQDq89NPllcd5o5k9 UidQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757923355; x=1758528155; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BEtH9m2WWLRtkmEZlpTibWNlPxTQz5oYIW0vldsEJ1I=; b=UIrauzdwQFiOrX1FXGxKDcge7UuEVnnPqjCQbaJ7dmQrdc7SFVsLTsK1lIWO69nk9y jSNV9fyUjH4VYeiivAtlFGirA5jD8mXb/p8SuOA0mzwe3dPWw1Yslz9DScEkmoaK7eL8 9RXaEAeVFE8ieAhCMpcLvdVCF5e72LisG/GxqgC0EqFMLZ70B5GBamJV3mAuasqf7DbL kBZCkjLBqXlPo4hYHZ9y6+bcp3liIM4wTlcHwRmMlgMENkMFfJKO8CCpPoUPX1YSlh2C l30cRTJCLsHmQFe9NwUb4FYPiGG2SxjdAhKA75bxczwqlM4/4Fw5f4Ymd48Vy7U/lK4D OYVg== X-Gm-Message-State: AOJu0YxrvxZJa/ItLrxr+zuWBMNqB+pXol7Y/FQpe8BH6ML+A/3/AZGT vsqkEAanDFLfK2DL9SnZaS2+bJTpd4lUnwqpp7b3W5l7HMuqzARxyh94 X-Gm-Gg: ASbGnctVVMILQByZDKrzCMydwM8/CGFIJXO25Lo5QkeZo4yXscxknR5PdgsYpWCJ88z 5iNMEg1sjseHd/uT0WPe2bjrVQnTpy9+WzHu4DCAAgC94SN6XYeItO6cQ/qKJJ+ZmLzAV8WkPpg DAcx1CbVySWLzD+LgCsZEYpZeF2vOOeDcq/W+1F4Msb3li/ObOZGj67WiOO4cHCiyt0ZLB6f7Os RFkBzp0TtO9GIfxGSySKNy2KKFhndbomaakLviG9Ardgds/nu3dfBnhZOvGPNTsZYTL9UTfm1LX tJ+GlcB3wOPgr0xNzBw7S3rIVNe18+PwtrhRm7Y+QVX45gpEVM9iRvf+DZZbogtSpOBFC2iNzvG bl547JLvFoMOfwdDUMMBG31nV X-Google-Smtp-Source: AGHT+IEKN/WBSja25bX0EJtV7wdUVhCYQ1e2EXZOxTpthrA0BYE4lFGyAd4m24x3Q7K2qjVYX0+ALA== X-Received: by 2002:a05:6512:712:b0:55f:6fb4:e084 with SMTP id 2adb3069b0e04-57050fe4cbemr2642059e87.50.1757923355280; Mon, 15 Sep 2025 01:02:35 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-56e6460dec4sm3392381e87.103.2025.09.15.01.02.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Sep 2025 01:02:34 -0700 (PDT) From: Svyatoslav Ryhel To: Krzysztof Kozlowski , Rob Herring , Conor Dooley , Thierry Reding , Thierry Reding , Jonathan Hunter , Prashant Gaikwad , Mikko Perttunen , Michael Turquette , Stephen Boyd , Dmitry Osipenko , MyungJoo Ham , Kyungmin Park , Chanwoo Choi , Svyatoslav Ryhel Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-clk@vger.kernel.org, linux-pm@vger.kernel.org Subject: [PATCH v3 10/11] ARM: tegra: Add EMC OPP and ICC properties to Tegra114 EMC and ACTMON device-tree nodes Date: Mon, 15 Sep 2025 11:01:56 +0300 Message-ID: <20250915080157.28195-11-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250915080157.28195-1-clamor95@gmail.com> References: <20250915080157.28195-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add EMC OPP tables and interconnect paths that will be used for dynamic memory bandwidth scaling based on memory utilization statistics. Signed-off-by: Svyatoslav Ryhel --- .../dts/nvidia/tegra114-peripherals-opp.dtsi | 151 ++++++++++++++++++ arch/arm/boot/dts/nvidia/tegra114.dtsi | 9 ++ 2 files changed, 160 insertions(+) create mode 100644 arch/arm/boot/dts/nvidia/tegra114-peripherals-opp.dtsi diff --git a/arch/arm/boot/dts/nvidia/tegra114-peripherals-opp.dtsi b/arch/= arm/boot/dts/nvidia/tegra114-peripherals-opp.dtsi new file mode 100644 index 000000000000..1a0e68f22039 --- /dev/null +++ b/arch/arm/boot/dts/nvidia/tegra114-peripherals-opp.dtsi @@ -0,0 +1,151 @@ +// SPDX-License-Identifier: GPL-2.0 + +/ { + emc_icc_dvfs_opp_table: opp-table-emc { + compatible =3D "operating-points-v2"; + + opp-12750000-900 { + opp-microvolt =3D <900000 900000 1390000>; + opp-hz =3D /bits/ 64 <12750000>; + opp-supported-hw =3D <0x000F>; + }; + + opp-20400000-900 { + opp-microvolt =3D <900000 900000 1390000>; + opp-hz =3D /bits/ 64 <20400000>; + opp-supported-hw =3D <0x000F>; + }; + + opp-40800000-900 { + opp-microvolt =3D <900000 900000 1390000>; + opp-hz =3D /bits/ 64 <40800000>; + opp-supported-hw =3D <0x000F>; + }; + + opp-68000000-900 { + opp-microvolt =3D <900000 900000 1390000>; + opp-hz =3D /bits/ 64 <68000000>; + opp-supported-hw =3D <0x000F>; + }; + + opp-102000000-900 { + opp-microvolt =3D <900000 900000 1390000>; + opp-hz =3D /bits/ 64 <102000000>; + opp-supported-hw =3D <0x000F>; + }; + + opp-204000000-900 { + opp-microvolt =3D <900000 900000 1390000>; + opp-hz =3D /bits/ 64 <204000000>; + opp-supported-hw =3D <0x000F>; + opp-suspend; + }; + + opp-312000000-1000 { + opp-microvolt =3D <1000000 1000000 1390000>; + opp-hz =3D /bits/ 64 <312000000>; + opp-supported-hw =3D <0x000F>; + }; + + opp-408000000-1000 { + opp-microvolt =3D <1000000 1000000 1390000>; + opp-hz =3D /bits/ 64 <408000000>; + opp-supported-hw =3D <0x000F>; + }; + + opp-528000000-1050 { + opp-microvolt =3D <1050000 1050000 1390000>; + opp-hz =3D /bits/ 64 <528000000>; + opp-supported-hw =3D <0x000E>; + }; + + opp-528000000-1100 { + opp-microvolt =3D <1100000 1100000 1390000>; + opp-hz =3D /bits/ 64 <528000000>; + opp-supported-hw =3D <0x0001>; + }; + + opp-624000000-1100 { + opp-microvolt =3D <1100000 1100000 1390000>; + opp-hz =3D /bits/ 64 <624000000>; + opp-supported-hw =3D <0x000F>; + }; + + opp-792000000-1100 { + opp-microvolt =3D <1100000 1100000 1390000>; + opp-hz =3D /bits/ 64 <792000000>; + opp-supported-hw =3D <0x000F>; + }; + }; + + emc_bw_dfs_opp_table: opp-table-actmon { + compatible =3D "operating-points-v2"; + + opp-12750000 { + opp-hz =3D /bits/ 64 <12750000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <204000>; + }; + + opp-20400000 { + opp-hz =3D /bits/ 64 <20400000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <326400>; + }; + + opp-40800000 { + opp-hz =3D /bits/ 64 <40800000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <652800>; + }; + + opp-68000000 { + opp-hz =3D /bits/ 64 <68000000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <1088000>; + }; + + opp-102000000 { + opp-hz =3D /bits/ 64 <102000000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <1632000>; + }; + + opp-204000000 { + opp-hz =3D /bits/ 64 <204000000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <3264000>; + opp-suspend; + }; + + opp-312000000 { + opp-hz =3D /bits/ 64 <312000000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <4992000>; + }; + + opp-408000000 { + opp-hz =3D /bits/ 64 <408000000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <6528000>; + }; + + opp-528000000 { + opp-hz =3D /bits/ 64 <528000000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <8448000>; + }; + + opp-624000000 { + opp-hz =3D /bits/ 64 <624000000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <9984000>; + }; + + opp-792000000 { + opp-hz =3D /bits/ 64 <792000000>; + opp-supported-hw =3D <0x000F>; + opp-peak-kBps =3D <12672000>; + }; + }; +}; diff --git a/arch/arm/boot/dts/nvidia/tegra114.dtsi b/arch/arm/boot/dts/nvi= dia/tegra114.dtsi index e386425c3fdf..e2bc8c2cc73c 100644 --- a/arch/arm/boot/dts/nvidia/tegra114.dtsi +++ b/arch/arm/boot/dts/nvidia/tegra114.dtsi @@ -8,6 +8,8 @@ #include #include =20 +#include "tegra114-peripherals-opp.dtsi" + / { compatible =3D "nvidia,tegra114"; interrupt-parent =3D <&lic>; @@ -259,6 +261,9 @@ actmon: actmon@6000c800 { clock-names =3D "actmon", "emc"; resets =3D <&tegra_car TEGRA114_CLK_ACTMON>; reset-names =3D "actmon"; + operating-points-v2 =3D <&emc_bw_dfs_opp_table>; + interconnects =3D <&mc TEGRA114_MC_MPCORER &emc>; + interconnect-names =3D "cpu-read"; #cooling-cells =3D <2>; }; =20 @@ -591,6 +596,7 @@ mc: memory-controller@70019000 { =20 #reset-cells =3D <1>; #iommu-cells =3D <1>; + #interconnect-cells =3D <1>; }; =20 emc: external-memory-controller@7001b000 { @@ -601,6 +607,9 @@ emc: external-memory-controller@7001b000 { clock-names =3D "emc"; =20 nvidia,memory-controller =3D <&mc>; + operating-points-v2 =3D <&emc_icc_dvfs_opp_table>; + + #interconnect-cells =3D <0>; }; =20 hda@70030000 { --=20 2.48.1