Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp4327109pxu; Tue, 1 Dec 2020 02:06:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJwGdjFUUBHkV+OWGRHy1ynQmzQeF9438/0ii+FS7JyJr5XIedgTlhGtmh47oYrr/YZCfTiz X-Received: by 2002:a17:906:56ca:: with SMTP id an10mr2218716ejc.498.1606817211920; Tue, 01 Dec 2020 02:06:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606817211; cv=none; d=google.com; s=arc-20160816; b=HCyJMxfHeMnuU1C+S1avCkh1bKzfmjTXSUcA22TMTG856QIMHnUHxSf5rqaPKsy4Vd LVZCtNozeXcBw48CVCSYMdke6XAmWtL6CJO1FV5+ECvEEb4N05wlGFo/ODB8qh7jzj2T Bo0HHAPXesXzQftgmXnAjPpBgxZ8rA4jeJ4BjORUvBJO5kSwJAH2KAhMEwaUqTAype4r yUghWajD7/naxusrKGAylVzirVKggr6HDIthRNKR1iID0ygRqBDivdSVv8kjHatmDTO8 r+ioZ09lk5N3615HrwFzJdlLA5CP8xx5CgBp3HcJtCGCv6mWRkxuIWKXeTiDZ7ox8Rwu LWFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:references:in-reply-to :message-id:date:subject:cc:to:from; bh=4UBKcaU5xLiHdkAXnTdpHmOT5vKYXtJorgmdvhGW1oU=; b=rW8/VUocJhkoyzlOpFQGoN1HWbf025U4/jthd+kRRYgJjMSRuFJx2qpz0etV+GQ19M fc7Gm/QzP80IZKWFbuYHHQ8jZFnLyNl8QZ9Wye/yFqmM4LzJ/SuBoTd4vr7u5F4Yx38I 9sHltdqRb1X8fzMoot960BcYk/8bZu9paQd1oWOzmZsjV0rQ9oSjX8ETApVOdW2OvFXE KeXFOBN/NHp4P080XYHFP/T4RkNoYxD2UL91PbLjRY79lme3pWmPzAJzw1D7Aue7DHXt /uwU2J7ZyIBUNLv5JsFLf4DVsS8PVannVuxe48b9cB5u20H0ux2iF4527Jyc6/joP05q Q4kw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=puri.sm Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v24si614096ejb.490.2020.12.01.02.06.29; Tue, 01 Dec 2020 02:06:51 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=puri.sm Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391079AbgLAKDL (ORCPT + 99 others); Tue, 1 Dec 2020 05:03:11 -0500 Received: from comms.puri.sm ([159.203.221.185]:52728 "EHLO comms.puri.sm" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729019AbgLAKDL (ORCPT ); Tue, 1 Dec 2020 05:03:11 -0500 Received: from localhost (localhost [127.0.0.1]) by comms.puri.sm (Postfix) with ESMTP id 915D9E0399; Tue, 1 Dec 2020 02:02:30 -0800 (PST) Received: from comms.puri.sm ([127.0.0.1]) by localhost (comms.puri.sm [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EI_47RiCRfNR; Tue, 1 Dec 2020 02:02:29 -0800 (PST) From: Martin Kepplinger To: robh@kernel.org, shawnguo@kernel.org, festevam@gmail.com, catalin.marinas@arm.com, will@kernel.org, georgi.djakov@linaro.org, cdleonard@gmail.com Cc: kernel@pengutronix.de, linux-imx@nxp.com, kernel@puri.sm, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Leonard Crestez , Martin Kepplinger Subject: [PATCH 1/6] arm64: dts: imx8m: Add NOC nodes Date: Tue, 1 Dec 2020 11:01:19 +0100 Message-Id: <20201201100124.4676-2-martin.kepplinger@puri.sm> In-Reply-To: <20201201100124.4676-1-martin.kepplinger@puri.sm> References: <20201201100124.4676-1-martin.kepplinger@puri.sm> Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Leonard Crestez Add initial support for dynamic frequency scaling of main NOC. Make DDRC the parent of the NOC (using passive governor) so that the main NOC is automatically scaled together with DDRC by default. Support for proactive scaling via interconnect will come on top. Signed-off-by: Leonard Crestez Tested-by: Martin Kepplinger (imx8mq) --- arch/arm64/boot/dts/freescale/imx8mm.dtsi | 22 ++++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8mn.dtsi | 22 ++++++++++++++++++++++ arch/arm64/boot/dts/freescale/imx8mq.dtsi | 22 ++++++++++++++++++++++ 3 files changed, 66 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mm.dtsi b/arch/arm64/boot/dts/freescale/imx8mm.dtsi index c824f2615fe8..835b19f0ea42 100644 --- a/arch/arm64/boot/dts/freescale/imx8mm.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mm.dtsi @@ -921,6 +921,28 @@ }; + noc: interconnect@32700000 { + compatible = "fsl,imx8mm-noc", "fsl,imx8m-noc"; + reg = <0x32700000 0x100000>; + clocks = <&clk IMX8MM_CLK_NOC>; + devfreq = <&ddrc>; + operating-points-v2 = <&noc_opp_table>; + + noc_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-150M { + opp-hz = /bits/ 64 <150000000>; + }; + opp-375M { + opp-hz = /bits/ 64 <375000000>; + }; + opp-750M { + opp-hz = /bits/ 64 <750000000>; + }; + }; + }; + aips4: bus@32c00000 { compatible = "fsl,aips-bus", "simple-bus"; reg = <0x32c00000 0x400000>; diff --git a/arch/arm64/boot/dts/freescale/imx8mn.dtsi b/arch/arm64/boot/dts/freescale/imx8mn.dtsi index a06d2a6268e6..8e2d413f97d4 100644 --- a/arch/arm64/boot/dts/freescale/imx8mn.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mn.dtsi @@ -772,6 +772,28 @@ }; + noc: interconnect@32700000 { + compatible = "fsl,imx8mn-noc", "fsl,imx8m-noc"; + reg = <0x32700000 0x100000>; + clocks = <&clk IMX8MN_CLK_NOC>; + devfreq = <&ddrc>; + operating-points-v2 = <&noc_opp_table>; + + noc_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-100M { + opp-hz = /bits/ 64 <100000000>; + }; + opp-600M { + opp-hz = /bits/ 64 <600000000>; + }; + opp-800M { + opp-hz = /bits/ 64 <800000000>; + }; + }; + }; + aips4: bus@32c00000 { compatible = "fsl,aips-bus", "simple-bus"; reg = <0x32c00000 0x400000>; diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi index a841a023e8e0..d139a46ee8ce 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -1158,6 +1158,28 @@ }; }; + noc: interconnect@32700000 { + compatible = "fsl,imx8mq-noc", "fsl,imx8m-noc"; + reg = <0x32700000 0x100000>; + clocks = <&clk IMX8MQ_CLK_NOC>; + devfreq = <&ddrc>; + operating-points-v2 = <&noc_opp_table>; + + noc_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-133M { + opp-hz = /bits/ 64 <133333333>; + }; + opp-400M { + opp-hz = /bits/ 64 <400000000>; + }; + opp-800M { + opp-hz = /bits/ 64 <800000000>; + }; + }; + }; + bus@32c00000 { /* AIPS4 */ compatible = "fsl,aips-bus", "simple-bus"; reg = <0x32c00000 0x400000>; -- 2.20.1