Received: by 2002:a05:6a10:f347:0:0:0:0 with SMTP id d7csp4422133pxu; Tue, 1 Dec 2020 04:45:47 -0800 (PST) X-Google-Smtp-Source: ABdhPJyL93aT/LZthsebuOMO//2uN+AHJWXfAzJe35P3HEe7FTLusWA4sjxxTomoR4SDJkNR3Iuz X-Received: by 2002:a17:907:389:: with SMTP id ss9mr2667945ejb.158.1606826747509; Tue, 01 Dec 2020 04:45:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1606826747; cv=none; d=google.com; s=arc-20160816; b=TySPaQGAaHZlGigiGTsyhoFZyW1G8zUxKoXTSwmcBjQ8Imn6SNN12iBh8I0ISV+55B SPP/Nse+9pjyYyg9/cTeZUEM2yB+K7P2hscvBAMW8uA5epUy9cfTMX2PYRZzNc/5gilP idbAAYkGEN0CJdBVdOfM74/0BogfCJq7W4DcMieWwCyqgwGxOpbVOQbTJDONNq77F7h+ oZr2eQZdCb90yYLzbkmCbKTzu/ltltauX4Wk70NQX7HBOKleu9y2zNu6PGZ+G6rg9B7G T9VzK51MfIkKVZJGzTcBHro6fMPtPHBbfcdBKPL/+MBnIQ4Wj5Y0amTolRHwA/n+OT24 eriA== 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=JYO5XjDdTJZn3Bn87Mm+/P7tQF4lBZ0xHEgrfKuwS16jW/7H/rE1Dji8rljNB12mGL zSFxsiX6Us1ehK/LHhgzVCbgZIgt06+IB8l+f7tfuHufiw+Rpi8bD/UtVrJkgAWWF02p MPjxC4cshSvlwml+2ItlVLkN81cDNfkfSn247A+ugG615/CC1vTgeG0/2sKyNDYPic2r OYuuoeBhscK2s8BsZufCRxvLClNqySuscU+TZboR1hD8mjDAImZF3NA7LhmvbAYhL0GC YzRkmWUinCSCi71MOTG5+GUuv1xipJHye1rnHCFTKDPFIXPLI3H+TKsatB05FGLIaCaX h+sQ== 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 q2si807502ejd.502.2020.12.01.04.45.24; Tue, 01 Dec 2020 04:45:47 -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 S1730971AbgLAMlU (ORCPT + 99 others); Tue, 1 Dec 2020 07:41:20 -0500 Received: from comms.puri.sm ([159.203.221.185]:35374 "EHLO comms.puri.sm" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728023AbgLAMlT (ORCPT ); Tue, 1 Dec 2020 07:41:19 -0500 Received: from localhost (localhost [127.0.0.1]) by comms.puri.sm (Postfix) with ESMTP id 19AC2E03EB; Tue, 1 Dec 2020 04:40:09 -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 Ioa4Ai4RcKXx; Tue, 1 Dec 2020 04:40:07 -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 v2 1/7] arm64: dts: imx8m: Add NOC nodes Date: Tue, 1 Dec 2020 13:39:26 +0100 Message-Id: <20201201123932.12312-2-martin.kepplinger@puri.sm> In-Reply-To: <20201201123932.12312-1-martin.kepplinger@puri.sm> References: <20201201123932.12312-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