From patchwork Fri Feb 19 15:59:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095741 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D115CC43381 for ; Fri, 19 Feb 2021 16:04:39 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 976A164EAF for ; Fri, 19 Feb 2021 16:04:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 976A164EAF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=WxbVYYfcsRnbN7vhLL5Z+Gadpz+JrThchLRJa8UC6aI=; b=Xb4/cfD5pJ2vprbcc8tXPIo0Ep Yz+wpM2Mk3AXW8pYUwSwIIy1KiLjFLMFmyBCOimQ7dG3LQI8LCLjVo64LWTVulOx5+Fyn64VVdXgi RMe75sPlhtoLY9lLR2767TC7zHwUE8T4OY19bgadOnn7oW5Nj35xVtbhy3n9LxGHS+ReRQ9x5JqBT B3Gw3HONYtCGa4MjrBA9HelB0ytCFbuKyEEJKVf90hw3Lf9Dz+H06GGLrD3ypUqGIjljffyPkk5LR 4+IfaYnWXzhdD6R9jDuTfQCMw7ZmJUR6Dx66DmSOnZ2s+pOSkm79T0CcTd6NzdpTczUIBQcixHo8q JhtdW6gQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DP-0007oc-3H; Fri, 19 Feb 2021 16:01:11 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DF-0007jH-D4 for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:03 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id F1B4D2001E7; Fri, 19 Feb 2021 17:00:57 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id ED4652001E6; Fri, 19 Feb 2021 17:00:57 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 5034E2042F; Fri, 19 Feb 2021 17:00:57 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 01/19] clk: imx8mq: Replace critical with ignore_unused flag for dram_apb clock Date: Fri, 19 Feb 2021 17:59:58 +0200 Message-Id: <1613750416-11901-2-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110101_634740_D099BAC3 X-CRM114-Status: GOOD ( 12.72 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org In order to allow the dram_apb to be switched to a different parent, we need to remove the CLK_IS_CRITICAL flag. This leads to clock being disabled on clk_disabled_unused call, so add the CLK_IGNORE_UNUSED instead to avoid that. Signed-off-by: Abel Vesa --- drivers/clk/imx/clk-imx8mq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/imx/clk-imx8mq.c b/drivers/clk/imx/clk-imx8mq.c index 4dd4ae9d022b..992210508411 100644 --- a/drivers/clk/imx/clk-imx8mq.c +++ b/drivers/clk/imx/clk-imx8mq.c @@ -481,7 +481,7 @@ static int imx8mq_clocks_probe(struct platform_device *pdev) */ hws[IMX8MQ_CLK_DRAM_CORE] = imx_clk_hw_mux2_flags("dram_core_clk", base + 0x9800, 24, 1, imx8mq_dram_core_sels, ARRAY_SIZE(imx8mq_dram_core_sels), CLK_IS_CRITICAL); hws[IMX8MQ_CLK_DRAM_ALT] = __imx8m_clk_hw_composite("dram_alt", imx8mq_dram_alt_sels, base + 0xa000, CLK_GET_RATE_NOCACHE); - hws[IMX8MQ_CLK_DRAM_APB] = __imx8m_clk_hw_composite("dram_apb", imx8mq_dram_apb_sels, base + 0xa080, CLK_IS_CRITICAL | CLK_GET_RATE_NOCACHE); + hws[IMX8MQ_CLK_DRAM_APB] = __imx8m_clk_hw_composite("dram_apb", imx8mq_dram_apb_sels, base + 0xa080, CLK_IGNORE_UNUSED | CLK_GET_RATE_NOCACHE); /* IP */ hws[IMX8MQ_CLK_VPU_G1] = imx8m_clk_hw_composite("vpu_g1", imx8mq_vpu_g1_sels, base + 0xa100); From patchwork Fri Feb 19 15:59:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095753 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CC3A5C433E0 for ; Fri, 19 Feb 2021 16:04:54 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8A8EA64EB1 for ; Fri, 19 Feb 2021 16:04:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8A8EA64EB1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=d280MCObn4DAyA03zKQLncgzjB/6Ome9LTqifEDb/WA=; b=i9NmJHdfCXm4j35Mocvum61qNt SCC2bVWp+5VR6wSoYAn25ryOEP5mGH8ZWrTk6sf/1qjFJdVX5052IKNaTm2QPntx2QsZuwNI84R+3 p9ycvU3Yf/9HkGbaFzH3sp6KFw553Mn4oSZflrse44HauV8n86PO8XyaRX0XyfO6zt6bZnu9616r1 wsFaHskjG15EC4KjXPpOriohoN7l91HFP0nJSrjY+tAFrgfH2vzDOMGr8e5N9+vBRMiEz78NYVBoc YuLjnX+lBydsog5lVygrgP5aQrRUP4D6hPNO5SF7cQ+B4cvixRnkpdJlQfcBM6D+Qb8RlNG0nMbi9 FZU/L7mg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Dd-0007sS-3R; Fri, 19 Feb 2021 16:01:25 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DF-0007jL-HA for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:06 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id B225C1A0041; Fri, 19 Feb 2021 17:00:58 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id A589F1A023B; Fri, 19 Feb 2021 17:00:58 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 081BD2042F; Fri, 19 Feb 2021 17:00:58 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 02/19] dt-bindings: interconnect: imx8mq: Add missing pl301 and SAI ids Date: Fri, 19 Feb 2021 17:59:59 +0200 Message-Id: <1613750416-11901-3-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110101_934729_25675FF3 X-CRM114-Status: GOOD ( 11.33 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org According to the bus diagram, there are two more pl301s that need to be added here. The pl301_per_m which is an intermediary node between pl301_main and its masters: usdhc1, usdhc2 and sdma. The pl301_wakeup is an intermediary node between pl301_main and its masters, in this case all the SAIs. Signed-off-by: Abel Vesa Acked-by: Rob Herring --- include/dt-bindings/interconnect/imx8mq.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/dt-bindings/interconnect/imx8mq.h b/include/dt-bindings/interconnect/imx8mq.h index 1a4cae7f8be2..1953de8af5cb 100644 --- a/include/dt-bindings/interconnect/imx8mq.h +++ b/include/dt-bindings/interconnect/imx8mq.h @@ -44,5 +44,14 @@ #define IMX8MQ_ICM_PCIE1 26 #define IMX8MQ_ICM_PCIE2 27 #define IMX8MQ_ICN_MAIN 28 +#define IMX8MQ_ICN_PER_M 30 + +#define IMX8MQ_ICN_WAKEUP 31 +#define IMX8MQ_ICM_SAI1 32 +#define IMX8MQ_ICM_SAI2 33 +#define IMX8MQ_ICM_SAI3 34 +#define IMX8MQ_ICM_SAI4 35 +#define IMX8MQ_ICM_SAI5 36 +#define IMX8MQ_ICM_SAI6 37 #endif /* __DT_BINDINGS_INTERCONNECT_IMX8MQ_H */ From patchwork Fri Feb 19 16:00:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095761 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id ADAB8C433E0 for ; Fri, 19 Feb 2021 16:05:08 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 586E064E60 for ; Fri, 19 Feb 2021 16:05:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 586E064E60 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=h/soBnHxUwKe75r3nTH7+gjnX3XwJ0t629g33+/eJlY=; b=ea+eYyIjFP27ltTvfVVjEvV2Uf HPfA/sLZMM2dx0aNpF7kMIPe5xOnNQWmIZl0sTeUWMV46r6XYowMf1BjWiwWh2vNKKlrG/HV9WIsH T04qK5ZV0163IgZlErBM1TMOh8csv5xHrn779jByVYw8I6Gz3ZDE5nI6pEIRhV+/xPts3GbGRh+L3 SgtVNM7dhl0STNbFSO3KJ5Zh38hdlxQbMEdoFxTEqfEEd6SJs2YNOUcxbNnwT+t5QrskRTC+rt662 2FLU37oZiyoXIA54OtqBswjnBka0fZPrheGPWHoQWzsoKkhdEL5t6bPJwtH7BDEqLqsihVM77vxDe nO8wnhOA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Di-0007tl-Bv; Fri, 19 Feb 2021 16:01:31 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DF-0007jQ-JS for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:07 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 6BA1F2001FF; Fri, 19 Feb 2021 17:00:59 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 657F3200002; Fri, 19 Feb 2021 17:00:59 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id B4FA82042F; Fri, 19 Feb 2021 17:00:58 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 03/19] devfreq: imx-bus: Switch governor to powersave Date: Fri, 19 Feb 2021 18:00:00 +0200 Message-Id: <1613750416-11901-4-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110101_957976_7E23C9CB X-CRM114-Status: GOOD ( 12.36 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org By switching to powersave governor, we allow the imx-bus to always run at minimum rate needed by all the running masters. Signed-off-by: Abel Vesa Acked-by: Chanwoo Choi --- drivers/devfreq/imx-bus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/devfreq/imx-bus.c b/drivers/devfreq/imx-bus.c index 4f38455ad742..1c0c92d0eb08 100644 --- a/drivers/devfreq/imx-bus.c +++ b/drivers/devfreq/imx-bus.c @@ -99,7 +99,7 @@ static int imx_bus_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct imx_bus *priv; - const char *gov = DEVFREQ_GOV_USERSPACE; + const char *gov = DEVFREQ_GOV_POWERSAVE; int ret; priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); From patchwork Fri Feb 19 16:00:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095763 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55067C433DB for ; Fri, 19 Feb 2021 16:05:10 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D259264EB1 for ; Fri, 19 Feb 2021 16:05:09 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D259264EB1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=8H3snIPsWd3zndEU8rT5DZlZwjj4J+qO0s0Lx+tSjvY=; b=lohCIXgMWV9cdWf3Dr8MYge7gT Wy7lfz67C0Q95CI1BhPQ8pd7HxBvr+4OFBonWd+cs37LZWdz6U4V4m272GrMk20HQN42LDQaKAFfC C76uka8okznsN2/npIQPvQmosiTHr9VEgrN6QCA76VjG4Gg0mWp8XSRhdlK3JLal6evcTMhalVdh+ opLOShNQRZ9FOmDM1w9UfjGcj5zP+RK8qM+UEAi42rnQKZgKzcTRMvkpRgXxGVdYT/kKsOPmWMTfz zR7/ahnDbW2bofiTsUKVrrS3HLhFi1eaU3Spjea3K9DjRa1FOBFa6vXwMG3OpAVkEtSs7yOMJ6UwN px6nFquQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Dl-0007ua-Qp; Fri, 19 Feb 2021 16:01:33 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DG-0007jV-Dw for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:08 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 1B16620022B; Fri, 19 Feb 2021 17:01:00 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 14FE72001B3; Fri, 19 Feb 2021 17:01:00 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 743912042F; Fri, 19 Feb 2021 17:00:59 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 04/19] devfreq: imx-bus: Decouple imx-bus from icc made Date: Fri, 19 Feb 2021 18:00:01 +0200 Message-Id: <1613750416-11901-5-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110102_599206_10AB9A1B X-CRM114-Status: GOOD ( 15.21 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The link between an imx-bus device and its icc id will be done through the fsl,icc-id property in each dts node. The imx interconnect driver will pick up all the dts nodes that have that property defined and will link them to the rightfull icc id. Signed-off-by: Abel Vesa Acked-by: Chanwoo Choi --- drivers/devfreq/imx-bus.c | 40 +++------------------------------------ 1 file changed, 3 insertions(+), 37 deletions(-) diff --git a/drivers/devfreq/imx-bus.c b/drivers/devfreq/imx-bus.c index 1c0c92d0eb08..9f0df88b29c1 100644 --- a/drivers/devfreq/imx-bus.c +++ b/drivers/devfreq/imx-bus.c @@ -65,36 +65,6 @@ static void imx_bus_exit(struct device *dev) platform_device_unregister(priv->icc_pdev); } -/* imx_bus_init_icc() - register matching icc provider if required */ -static int imx_bus_init_icc(struct device *dev) -{ - struct imx_bus *priv = dev_get_drvdata(dev); - const char *icc_driver_name; - - if (!of_get_property(dev->of_node, "#interconnect-cells", 0)) - return 0; - if (!IS_ENABLED(CONFIG_INTERCONNECT_IMX)) { - dev_warn(dev, "imx interconnect drivers disabled\n"); - return 0; - } - - icc_driver_name = of_device_get_match_data(dev); - if (!icc_driver_name) { - dev_err(dev, "unknown interconnect driver\n"); - return 0; - } - - priv->icc_pdev = platform_device_register_data( - dev, icc_driver_name, -1, NULL, 0); - if (IS_ERR(priv->icc_pdev)) { - dev_err(dev, "failed to register icc provider %s: %ld\n", - icc_driver_name, PTR_ERR(priv->icc_pdev)); - return PTR_ERR(priv->icc_pdev); - } - - return 0; -} - static int imx_bus_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -144,10 +114,6 @@ static int imx_bus_probe(struct platform_device *pdev) goto err; } - ret = imx_bus_init_icc(dev); - if (ret) - goto err; - return 0; err: @@ -156,9 +122,9 @@ static int imx_bus_probe(struct platform_device *pdev) } static const struct of_device_id imx_bus_of_match[] = { - { .compatible = "fsl,imx8mq-noc", .data = "imx8mq-interconnect", }, - { .compatible = "fsl,imx8mm-noc", .data = "imx8mm-interconnect", }, - { .compatible = "fsl,imx8mn-noc", .data = "imx8mn-interconnect", }, + { .compatible = "fsl,imx8mq-noc",}, + { .compatible = "fsl,imx8mm-noc",}, + { .compatible = "fsl,imx8mn-noc",}, { .compatible = "fsl,imx8m-noc", }, { .compatible = "fsl,imx8m-nic", }, { /* sentinel */ }, From patchwork Fri Feb 19 16:00:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095759 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A3CC8C433DB for ; Fri, 19 Feb 2021 16:05:04 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 4840764EAF for ; Fri, 19 Feb 2021 16:05:04 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4840764EAF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=PMQ34FCnu5mcwe9KiEKgbY3xU18/HgiV1cDWz2xgBMA=; b=zJoTCYs7vRyekyrTayoa2EvdPF sVmzBJTpNijiSP5fczok/3hGtztutfma+RuD3/WRpAu2WO6yUi9zaER8Fibdh5FuZCCgEov9njMJp 41NrZhGG8isNybyUGKVorGBV7zO8Q5VQepIwVvep8L5ZlJHbTYgbae/x6Gb+aBPvEAAr0lcrHxrrc Xec0gAWP7Gv0xy1DHl3CxaaeN6aFVLQ4LtR7jIsOuZMwI+9NcVGGI4cXkO99gKuPd82TMwCgn5bZ7 xlILjo/fIhLkohf2xQZBEk54LNLI6OJXfdfWWhTzxRCjRqcYDJk9GxPjOnT0HnGZYOKs9Cmq2n/cD ItSYXH1Q==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Df-0007t8-48; Fri, 19 Feb 2021 16:01:27 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DF-0007jl-LC for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:07 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id CDF7A1A010D; Fri, 19 Feb 2021 17:01:00 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id C078B1A00BF; Fri, 19 Feb 2021 17:01:00 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 239A72042F; Fri, 19 Feb 2021 17:01:00 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 05/19] devfreq: imx8m-ddrc: Change governor to powersave Date: Fri, 19 Feb 2021 18:00:02 +0200 Message-Id: <1613750416-11901-6-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110101_984135_E8B1BD5A X-CRM114-Status: GOOD ( 12.54 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org By switching to powersave governor, we allow the imx8m-ddrc to always run at minimum rate needed by all the running masters. Signed-off-by: Abel Vesa Acked-by: Chanwoo Choi --- drivers/devfreq/imx8m-ddrc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/devfreq/imx8m-ddrc.c b/drivers/devfreq/imx8m-ddrc.c index bc82d3653bff..3a6c04ba4f2e 100644 --- a/drivers/devfreq/imx8m-ddrc.c +++ b/drivers/devfreq/imx8m-ddrc.c @@ -379,7 +379,7 @@ static int imx8m_ddrc_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; struct imx8m_ddrc *priv; - const char *gov = DEVFREQ_GOV_USERSPACE; + const char *gov = DEVFREQ_GOV_POWERSAVE; int ret; priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); From patchwork Fri Feb 19 16:00:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095729 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E846FC433DB for ; Fri, 19 Feb 2021 16:03:29 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id AC78264DFD for ; Fri, 19 Feb 2021 16:03:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AC78264DFD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=14MMacfUbdngALnvgCIKj2XtnJccf5TbWO+z5pDjXN0=; b=QeI0oKh0hkqW7upSk8VuZXD398 SCDn+WkWECZCZ4Ae/5u6Ny0F0fBbuCeJ9bPQO4/q3/7WcBNTWtSk8DR+QEvZixFwjtjJw0WdcWd7Q qW2x9bm1HV3Gm3yPa7TZ1voYXdxuHB+NABr2sLh9z0jcS9L3tQhOJLM+PDriBDsm7b1NyHUtSIRrz EiSvANgFrYO+5429CL0O8qGjyKvYrf2lJ5j3OgvbFkRp9AmRajbDfHXN+WGffL66kT4lb+kUM/btj dAQ/YyUy+1l4oO89suPjMg4pDSy3laH4FALTDH6yRluavY9Nh2Q+O8DCRX2fNqszAfUhViJhH+pNR BTHvfGmw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Dq-0007ve-Pj; Fri, 19 Feb 2021 16:01:38 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DG-0007kC-BY for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:08 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 8083F1A02B6; Fri, 19 Feb 2021 17:01:01 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 718E71A01C8; Fri, 19 Feb 2021 17:01:01 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id D069F2042F; Fri, 19 Feb 2021 17:01:00 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 06/19] devfreq: imx8m-ddrc: Use the opps acquired from EL3 Date: Fri, 19 Feb 2021 18:00:03 +0200 Message-Id: <1613750416-11901-7-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110102_609750_F75326DB X-CRM114-Status: GOOD ( 15.31 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org i.MX8M platforms get their dram OPPs from the EL3. We don't need to duplicate that in the kernel dram dts node. We should just trust the OPPs provided by the EL3. Signed-off-by: Abel Vesa --- drivers/devfreq/imx8m-ddrc.c | 49 ++---------------------------------- 1 file changed, 2 insertions(+), 47 deletions(-) diff --git a/drivers/devfreq/imx8m-ddrc.c b/drivers/devfreq/imx8m-ddrc.c index 3a6c04ba4f2e..33de83acfd8b 100644 --- a/drivers/devfreq/imx8m-ddrc.c +++ b/drivers/devfreq/imx8m-ddrc.c @@ -333,38 +333,9 @@ static int imx8m_ddrc_init_freq_info(struct device *dev) if (freq->dram_core_parent_index == 2 && freq->dram_alt_parent_index == 0) return -ENODEV; - } - - return 0; -} - -static int imx8m_ddrc_check_opps(struct device *dev) -{ - struct imx8m_ddrc *priv = dev_get_drvdata(dev); - struct imx8m_ddrc_freq *freq_info; - struct dev_pm_opp *opp; - unsigned long freq; - int i, opp_count; - - /* Enumerate DT OPPs and disable those not supported by firmware */ - opp_count = dev_pm_opp_get_opp_count(dev); - if (opp_count < 0) - return opp_count; - for (i = 0, freq = 0; i < opp_count; ++i, ++freq) { - opp = dev_pm_opp_find_freq_ceil(dev, &freq); - if (IS_ERR(opp)) { - dev_err(dev, "Failed enumerating OPPs: %ld\n", - PTR_ERR(opp)); - return PTR_ERR(opp); - } - dev_pm_opp_put(opp); - freq_info = imx8m_ddrc_find_freq(priv, freq); - if (!freq_info) { - dev_info(dev, "Disable unsupported OPP %luHz %luMT/s\n", - freq, DIV_ROUND_CLOSEST(freq, 250000)); - dev_pm_opp_disable(dev, freq); - } + if (dev_pm_opp_add(dev, freq->rate * 250000, 0)) + return -ENODEV; } return 0; @@ -372,7 +343,6 @@ static int imx8m_ddrc_check_opps(struct device *dev) static void imx8m_ddrc_exit(struct device *dev) { - dev_pm_opp_of_remove_table(dev); } static int imx8m_ddrc_probe(struct platform_device *pdev) @@ -419,16 +389,6 @@ static int imx8m_ddrc_probe(struct platform_device *pdev) return ret; } - ret = dev_pm_opp_of_add_table(dev); - if (ret < 0) { - dev_err(dev, "failed to get OPP table\n"); - return ret; - } - - ret = imx8m_ddrc_check_opps(dev); - if (ret < 0) - goto err; - priv->profile.polling_ms = 1000; priv->profile.target = imx8m_ddrc_target; priv->profile.get_dev_status = imx8m_ddrc_get_dev_status; @@ -441,13 +401,8 @@ static int imx8m_ddrc_probe(struct platform_device *pdev) if (IS_ERR(priv->devfreq)) { ret = PTR_ERR(priv->devfreq); dev_err(dev, "failed to add devfreq device: %d\n", ret); - goto err; } - return 0; - -err: - dev_pm_opp_of_remove_table(dev); return ret; } From patchwork Fri Feb 19 16:00:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095731 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 17A99C433DB for ; Fri, 19 Feb 2021 16:03:47 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 774E864EB1 for ; Fri, 19 Feb 2021 16:03:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 774E864EB1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=SeD+C+ZWW/LZ9JbaG35Pa4D22A+CZSyobajdSXz0OtM=; b=YnqZf4L4T8h3RMrK9nkYAG/kU2 Vmq/zK7wmftxKWztOMLH0Fin3lCa+esh8kBFzz6/GAAfxusMSUUEfgz725I/SgrJwusl1m/i51UEo xB5dAJ2Z2QgKHtY0NnEc+/hJfLi3PAJms0zNBXv1qNp/eBRJy5VQyATcE4DOaTx0Qq2iixSjITizI bN9yXOxRhjjVgG+leo3oqhs/QQhCpAd2FlA56cEoErhm8pmiNVL+lC25nC05nxWtvr6gBTcvIzHPU w4Z4M86QvcK0Ci4i27Y12yK1XY0mRo/ezJgwgyuqIox7ZFHerJVBXOuFNqXxF4YlXrp8w4W/R/1XY F3V7rw2A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Dv-0007wx-6j; Fri, 19 Feb 2021 16:01:43 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DG-0007l8-Ve for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:11 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 30002200113; Fri, 19 Feb 2021 17:01:02 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 1FBA52001B3; Fri, 19 Feb 2021 17:01:02 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 807ED2042F; Fri, 19 Feb 2021 17:01:01 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 07/19] devfreq: imx8m-ddrc: Add late system sleep PM ops Date: Fri, 19 Feb 2021 18:00:04 +0200 Message-Id: <1613750416-11901-8-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110103_226517_572489EC X-CRM114-Status: GOOD ( 14.58 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Seems that, in order to be able to resume from suspend, the dram rate needs to be the highest one available. Therefore, add the late system suspend/resume PM ops which set the highest rate on suspend and the latest one used before suspending on resume. Signed-off-by: Abel Vesa --- drivers/devfreq/imx8m-ddrc.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/drivers/devfreq/imx8m-ddrc.c b/drivers/devfreq/imx8m-ddrc.c index 33de83acfd8b..04347dee781b 100644 --- a/drivers/devfreq/imx8m-ddrc.c +++ b/drivers/devfreq/imx8m-ddrc.c @@ -72,6 +72,8 @@ struct imx8m_ddrc { struct clk *dram_alt; struct clk *dram_apb; + unsigned long suspend_rate; + unsigned long resume_rate; int freq_count; struct imx8m_ddrc_freq freq_table[IMX8M_DDRC_MAX_FREQ_COUNT]; }; @@ -271,6 +273,22 @@ static int imx8m_ddrc_target(struct device *dev, unsigned long *freq, u32 flags) return ret; } +static int imx8m_ddrc_suspend(struct device *dev) +{ + struct imx8m_ddrc *priv = dev_get_drvdata(dev); + + priv->resume_rate = clk_get_rate(priv->dram_core); + + return imx8m_ddrc_target(dev, &priv->suspend_rate, 0); +} + +static int imx8m_ddrc_resume(struct device *dev) +{ + struct imx8m_ddrc *priv = dev_get_drvdata(dev); + + return imx8m_ddrc_target(dev, &priv->resume_rate, 0); +} + static int imx8m_ddrc_get_cur_freq(struct device *dev, unsigned long *freq) { struct imx8m_ddrc *priv = dev_get_drvdata(dev); @@ -336,6 +354,9 @@ static int imx8m_ddrc_init_freq_info(struct device *dev) if (dev_pm_opp_add(dev, freq->rate * 250000, 0)) return -ENODEV; + + if (index == 0) + priv->suspend_rate = freq->rate * 250000; } return 0; @@ -412,10 +433,15 @@ static const struct of_device_id imx8m_ddrc_of_match[] = { }; MODULE_DEVICE_TABLE(of, imx8m_ddrc_of_match); +static const struct dev_pm_ops imx8m_ddrc_pm_ops = { + SET_LATE_SYSTEM_SLEEP_PM_OPS(imx8m_ddrc_suspend, imx8m_ddrc_resume) +}; + static struct platform_driver imx8m_ddrc_platdrv = { .probe = imx8m_ddrc_probe, .driver = { .name = "imx8m-ddrc-devfreq", + .pm = &imx8m_ddrc_pm_ops, .of_match_table = of_match_ptr(imx8m_ddrc_of_match), }, }; From patchwork Fri Feb 19 16:00:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095733 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C74A3C433DB for ; Fri, 19 Feb 2021 16:03:56 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7A0CE64E60 for ; Fri, 19 Feb 2021 16:03:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7A0CE64E60 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=TGxSFBoDIvXB/NpyFfM1Ih8+qdN7RddkqHdBW1yJ8Mc=; b=Op2gOzV7YZt8Ct8lpofbsWAyCA Ot7RWnjD5kjRZN46Rv7m5s53H5JRsuzoN4mbjGW7PRsaNP8SUt9sKF63DRNyT9P7s1Yzg9sgsLuI0 Rh5obiQJXcoUjwwBnbNKzyoCSUd2qzVqH+R920rYqeEFve9Gxl3tyESg8CwEKXdMSw8oN8gf41ok8 +Wxkl4lywNDhYBUo5i6qM7I8UTc3DhF7rFnxnEKhvnLphxe9LVO7QtkEViz3aNWQyQ5lmSGY/Zhng HgTUqoEIAo2rgyCr5ccY399ykJWEgO9kgaeUEZvknNLxthdyAwHmsOckbSbXxA+jfChpothdqBQoJ 8D+IKY6Q==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Dz-0007yX-L7; Fri, 19 Feb 2021 16:01:47 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DI-0007m9-4q for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:13 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id DC337200049; Fri, 19 Feb 2021 17:01:02 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id CB9C92001B3; Fri, 19 Feb 2021 17:01:02 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 2F8C62042F; Fri, 19 Feb 2021 17:01:02 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 08/19] interconnect: imx: Switch from imx_icc_node_adj_desc to fsl, icc-id node assignment Date: Fri, 19 Feb 2021 18:00:05 +0200 Message-Id: <1613750416-11901-9-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110104_445186_413BC2BF X-CRM114-Status: GOOD ( 17.70 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org In order to be able to have more than one NoCs in the interconnect net we need to decouple the NoC from the dram. So instead of using the imx_icc_node_adj_desc, we use the fsl,icc-id property that is in each NoC (or pl301) to the icc node (based on the id) to it. Along with all the NoC and pl301 nodes in the dts we will have a interconnect dedicated node. This node will be the actual device of the icc provider. Signed-off-by: Abel Vesa --- drivers/interconnect/imx/imx.c | 72 +++++++++++++++------------------- 1 file changed, 32 insertions(+), 40 deletions(-) diff --git a/drivers/interconnect/imx/imx.c b/drivers/interconnect/imx/imx.c index c770951a909c..db048df80011 100644 --- a/drivers/interconnect/imx/imx.c +++ b/drivers/interconnect/imx/imx.c @@ -34,9 +34,9 @@ static int imx_icc_node_set(struct icc_node *node) if (!node_data->qos_dev) return 0; - freq = (node->avg_bw + node->peak_bw) * node_data->desc->adj->bw_mul; - do_div(freq, node_data->desc->adj->bw_div); - dev_dbg(dev, "node %s device %s avg_bw %ukBps peak_bw %ukBps min_freq %llukHz\n", + freq = max(node->avg_bw, node->peak_bw); + + dev_dbg(dev, " DBG node %s device %s avg_bw %ukBps peak_bw %ukBps min_freq %llukHz\n", node->name, dev_name(node_data->qos_dev), node->avg_bw, node->peak_bw, freq); @@ -79,41 +79,35 @@ static int imx_icc_node_init_qos(struct icc_provider *provider, struct icc_node *node) { struct imx_icc_node *node_data = node->data; - const struct imx_icc_node_adj_desc *adj = node_data->desc->adj; struct device *dev = provider->dev; - struct device_node *dn = NULL; struct platform_device *pdev; + struct device_node *np = NULL, *dn = NULL; + int idx; - if (adj->main_noc) { - node_data->qos_dev = dev; - dev_dbg(dev, "icc node %s[%d] is main noc itself\n", - node->name, node->id); - } else { - dn = of_parse_phandle(dev->of_node, adj->phandle_name, 0); - if (!dn) { - dev_warn(dev, "Failed to parse %s\n", - adj->phandle_name); - return -ENODEV; - } - /* Allow scaling to be disabled on a per-node basis */ - if (!of_device_is_available(dn)) { - dev_warn(dev, "Missing property %s, skip scaling %s\n", - adj->phandle_name, node->name); - of_node_put(dn); - return 0; - } + for_each_node_with_property(np, "fsl,icc-id") { + of_property_read_u32(np, "fsl,icc-id", &idx); + if (idx == node_data->desc->id) + dn = np; + } - pdev = of_find_device_by_node(dn); - of_node_put(dn); - if (!pdev) { - dev_warn(dev, "node %s[%d] missing device for %pOF\n", - node->name, node->id, dn); - return -EPROBE_DEFER; - } - node_data->qos_dev = &pdev->dev; - dev_dbg(dev, "node %s[%d] has device node %pOF\n", - node->name, node->id, dn); + if (!dn) + return 0; + + if (!of_device_is_available(dn)) { + dev_warn(dev, "%pOF is disabled\n", dn); + return 0; + } + + pdev = of_find_device_by_node(dn); + of_node_put(dn); + if (!pdev) { + dev_warn(dev, "node %s[%d] missing device for %pOF\n", + node->name, node->id, dn); + return -EPROBE_DEFER; } + node_data->qos_dev = &pdev->dev; + dev_dbg(dev, "node %s[%d] has device node %pOF\n", node->name, + node->id, dn); return dev_pm_qos_add_request(node_data->qos_dev, &node_data->qos_req, @@ -151,12 +145,10 @@ static struct icc_node *imx_icc_node_add(struct icc_provider *provider, node_data->desc = node_desc; icc_node_add(node, provider); - if (node_desc->adj) { - ret = imx_icc_node_init_qos(provider, node); - if (ret < 0) { - imx_icc_node_destroy(node); - return ERR_PTR(ret); - } + ret = imx_icc_node_init_qos(provider, node); + if (ret < 0) { + imx_icc_node_destroy(node); + return ERR_PTR(ret); } return node; @@ -244,7 +236,7 @@ int imx_icc_register(struct platform_device *pdev, provider->aggregate = icc_std_aggregate; provider->xlate = of_icc_xlate_onecell; provider->data = data; - provider->dev = dev->parent; + provider->dev = dev; platform_set_drvdata(pdev, provider); ret = icc_provider_add(provider); From patchwork Fri Feb 19 16:00:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095751 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,UPPERCASE_50_75,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2003CC433E0 for ; Fri, 19 Feb 2021 16:04:50 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C588364EAF for ; Fri, 19 Feb 2021 16:04:49 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C588364EAF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=5vj6HiGW14OcQTIxn9RhVMLH7byuCm1Ox6m34LfwOeU=; b=gROHqUFo8BCcx/Py2G4FCbCwq5 AkPSm3KxadGWndz1V7K3m8wtOzpcpiZ96HVm9AeLV7o70AoscYKUN5xGXYFsuskzseyk2xUPn9PVV 8xI6uJ6xw4LirzRZsCnisvAxPOXa078yDtnqVIrRlJ5d7iTJy8GKORp6wMegrKYfZU8J+NoutAtJE 8VsRH879vxspZc1n2dPYKe+9RIeJfYiX1SZ5XIt7rgSjWFpMgev4HG8pj+RSNUOMOTFzwvYlj6AkY EgHvr+s6z1msXlApmGAjOx8NLKEE6q9Q2LWkxOu0Q5p45u43ugsEn5cY5P8orqMxStym5yPjCq2Kp QZG9Tuww==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8EW-0008Ab-Rn; Fri, 19 Feb 2021 16:02:21 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DI-0007mB-Ek for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:16 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 9AA28200267; Fri, 19 Feb 2021 17:01:03 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 79D9B200255; Fri, 19 Feb 2021 17:01:03 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id DA7512042F; Fri, 19 Feb 2021 17:01:02 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 09/19] interconnect: imx8: Remove the imx_icc_node_adj_desc Date: Fri, 19 Feb 2021 18:00:06 +0200 Message-Id: <1613750416-11901-10-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110104_770287_893C315D X-CRM114-Status: GOOD ( 13.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Now that the imx generic interconnect doesn't use the imx_icc_node_adj_desc, we remove it from all the i.MX8M platform drivers. Signed-off-by: Abel Vesa --- drivers/interconnect/imx/imx.h | 19 ++++------------- drivers/interconnect/imx/imx8mm.c | 32 +++++++++------------------- drivers/interconnect/imx/imx8mn.c | 28 +++++++------------------ drivers/interconnect/imx/imx8mq.c | 35 ++++++++++--------------------- 4 files changed, 33 insertions(+), 81 deletions(-) diff --git a/drivers/interconnect/imx/imx.h b/drivers/interconnect/imx/imx.h index 75da51076c68..5c9f5138f6aa 100644 --- a/drivers/interconnect/imx/imx.h +++ b/drivers/interconnect/imx/imx.h @@ -14,15 +14,6 @@ #define IMX_ICC_MAX_LINKS 4 -/* - * struct imx_icc_node_adj - Describe a dynamic adjustable node - */ -struct imx_icc_node_adj_desc { - unsigned int bw_mul, bw_div; - const char *phandle_name; - bool main_noc; -}; - /* * struct imx_icc_node - Describe an interconnect node * @name: name of the node @@ -35,23 +26,21 @@ struct imx_icc_node_desc { u16 id; u16 links[IMX_ICC_MAX_LINKS]; u16 num_links; - const struct imx_icc_node_adj_desc *adj; }; -#define DEFINE_BUS_INTERCONNECT(_name, _id, _adj, ...) \ +#define DEFINE_BUS_INTERCONNECT(_name, _id, ...) \ { \ .id = _id, \ .name = _name, \ - .adj = _adj, \ .num_links = ARRAY_SIZE(((int[]){ __VA_ARGS__ })), \ .links = { __VA_ARGS__ }, \ } #define DEFINE_BUS_MASTER(_name, _id, _dest_id) \ - DEFINE_BUS_INTERCONNECT(_name, _id, NULL, _dest_id) + DEFINE_BUS_INTERCONNECT(_name, _id, _dest_id) -#define DEFINE_BUS_SLAVE(_name, _id, _adj) \ - DEFINE_BUS_INTERCONNECT(_name, _id, _adj) +#define DEFINE_BUS_SLAVE(_name, _id) \ + DEFINE_BUS_INTERCONNECT(_name, _id) int imx_icc_register(struct platform_device *pdev, struct imx_icc_node_desc *nodes, diff --git a/drivers/interconnect/imx/imx8mm.c b/drivers/interconnect/imx/imx8mm.c index 1083490bb391..0c16110bef9d 100644 --- a/drivers/interconnect/imx/imx8mm.c +++ b/drivers/interconnect/imx/imx8mm.c @@ -14,18 +14,6 @@ #include "imx.h" -static const struct imx_icc_node_adj_desc imx8mm_dram_adj = { - .bw_mul = 1, - .bw_div = 16, - .phandle_name = "fsl,ddrc", -}; - -static const struct imx_icc_node_adj_desc imx8mm_noc_adj = { - .bw_mul = 1, - .bw_div = 16, - .main_noc = true, -}; - /* * Describe bus masters, slaves and connections between them * @@ -33,43 +21,43 @@ static const struct imx_icc_node_adj_desc imx8mm_noc_adj = { * PL301 nics which are skipped/merged into PL301_MAIN */ static struct imx_icc_node_desc nodes[] = { - DEFINE_BUS_INTERCONNECT("NOC", IMX8MM_ICN_NOC, &imx8mm_noc_adj, + DEFINE_BUS_INTERCONNECT("NOC", IMX8MM_ICN_NOC, IMX8MM_ICS_DRAM, IMX8MM_ICN_MAIN), - DEFINE_BUS_SLAVE("DRAM", IMX8MM_ICS_DRAM, &imx8mm_dram_adj), - DEFINE_BUS_SLAVE("OCRAM", IMX8MM_ICS_OCRAM, NULL), + DEFINE_BUS_SLAVE("DRAM", IMX8MM_ICS_DRAM), + DEFINE_BUS_SLAVE("OCRAM", IMX8MM_ICS_OCRAM), DEFINE_BUS_MASTER("A53", IMX8MM_ICM_A53, IMX8MM_ICN_NOC), /* VPUMIX */ DEFINE_BUS_MASTER("VPU H1", IMX8MM_ICM_VPU_H1, IMX8MM_ICN_VIDEO), DEFINE_BUS_MASTER("VPU G1", IMX8MM_ICM_VPU_G1, IMX8MM_ICN_VIDEO), DEFINE_BUS_MASTER("VPU G2", IMX8MM_ICM_VPU_G2, IMX8MM_ICN_VIDEO), - DEFINE_BUS_INTERCONNECT("PL301_VIDEO", IMX8MM_ICN_VIDEO, NULL, IMX8MM_ICN_NOC), + DEFINE_BUS_INTERCONNECT("PL301_VIDEO", IMX8MM_ICN_VIDEO, IMX8MM_ICN_NOC), /* GPUMIX */ DEFINE_BUS_MASTER("GPU 2D", IMX8MM_ICM_GPU2D, IMX8MM_ICN_GPU), DEFINE_BUS_MASTER("GPU 3D", IMX8MM_ICM_GPU3D, IMX8MM_ICN_GPU), - DEFINE_BUS_INTERCONNECT("PL301_GPU", IMX8MM_ICN_GPU, NULL, IMX8MM_ICN_NOC), + DEFINE_BUS_INTERCONNECT("PL301_GPU", IMX8MM_ICN_GPU, IMX8MM_ICN_NOC), /* DISPLAYMIX */ DEFINE_BUS_MASTER("CSI", IMX8MM_ICM_CSI, IMX8MM_ICN_MIPI), DEFINE_BUS_MASTER("LCDIF", IMX8MM_ICM_LCDIF, IMX8MM_ICN_MIPI), - DEFINE_BUS_INTERCONNECT("PL301_MIPI", IMX8MM_ICN_MIPI, NULL, IMX8MM_ICN_NOC), + DEFINE_BUS_INTERCONNECT("PL301_MIPI", IMX8MM_ICN_MIPI, IMX8MM_ICN_NOC), /* HSIO */ DEFINE_BUS_MASTER("USB1", IMX8MM_ICM_USB1, IMX8MM_ICN_HSIO), DEFINE_BUS_MASTER("USB2", IMX8MM_ICM_USB2, IMX8MM_ICN_HSIO), DEFINE_BUS_MASTER("PCIE", IMX8MM_ICM_PCIE, IMX8MM_ICN_HSIO), - DEFINE_BUS_INTERCONNECT("PL301_HSIO", IMX8MM_ICN_HSIO, NULL, IMX8MM_ICN_NOC), + DEFINE_BUS_INTERCONNECT("PL301_HSIO", IMX8MM_ICN_HSIO, IMX8MM_ICN_NOC), /* Audio */ DEFINE_BUS_MASTER("SDMA2", IMX8MM_ICM_SDMA2, IMX8MM_ICN_AUDIO), DEFINE_BUS_MASTER("SDMA3", IMX8MM_ICM_SDMA3, IMX8MM_ICN_AUDIO), - DEFINE_BUS_INTERCONNECT("PL301_AUDIO", IMX8MM_ICN_AUDIO, NULL, IMX8MM_ICN_MAIN), + DEFINE_BUS_INTERCONNECT("PL301_AUDIO", IMX8MM_ICN_AUDIO, IMX8MM_ICN_MAIN), /* Ethernet */ DEFINE_BUS_MASTER("ENET", IMX8MM_ICM_ENET, IMX8MM_ICN_ENET), - DEFINE_BUS_INTERCONNECT("PL301_ENET", IMX8MM_ICN_ENET, NULL, IMX8MM_ICN_MAIN), + DEFINE_BUS_INTERCONNECT("PL301_ENET", IMX8MM_ICN_ENET, IMX8MM_ICN_MAIN), /* Other */ DEFINE_BUS_MASTER("SDMA1", IMX8MM_ICM_SDMA1, IMX8MM_ICN_MAIN), @@ -77,7 +65,7 @@ static struct imx_icc_node_desc nodes[] = { DEFINE_BUS_MASTER("USDHC1", IMX8MM_ICM_USDHC1, IMX8MM_ICN_MAIN), DEFINE_BUS_MASTER("USDHC2", IMX8MM_ICM_USDHC2, IMX8MM_ICN_MAIN), DEFINE_BUS_MASTER("USDHC3", IMX8MM_ICM_USDHC3, IMX8MM_ICN_MAIN), - DEFINE_BUS_INTERCONNECT("PL301_MAIN", IMX8MM_ICN_MAIN, NULL, + DEFINE_BUS_INTERCONNECT("PL301_MAIN", IMX8MM_ICN_MAIN, IMX8MM_ICN_NOC, IMX8MM_ICS_OCRAM), }; diff --git a/drivers/interconnect/imx/imx8mn.c b/drivers/interconnect/imx/imx8mn.c index ad97e55fd4e5..8d16bd5cf006 100644 --- a/drivers/interconnect/imx/imx8mn.c +++ b/drivers/interconnect/imx/imx8mn.c @@ -11,18 +11,6 @@ #include "imx.h" -static const struct imx_icc_node_adj_desc imx8mn_dram_adj = { - .bw_mul = 1, - .bw_div = 4, - .phandle_name = "fsl,ddrc", -}; - -static const struct imx_icc_node_adj_desc imx8mn_noc_adj = { - .bw_mul = 1, - .bw_div = 4, - .main_noc = true, -}; - /* * Describe bus masters, slaves and connections between them * @@ -30,23 +18,23 @@ static const struct imx_icc_node_adj_desc imx8mn_noc_adj = { * PL301 nics which are skipped/merged into PL301_MAIN */ static struct imx_icc_node_desc nodes[] = { - DEFINE_BUS_INTERCONNECT("NOC", IMX8MN_ICN_NOC, &imx8mn_noc_adj, + DEFINE_BUS_INTERCONNECT("NOC", IMX8MN_ICN_NOC, IMX8MN_ICS_DRAM, IMX8MN_ICN_MAIN), - DEFINE_BUS_SLAVE("DRAM", IMX8MN_ICS_DRAM, &imx8mn_dram_adj), - DEFINE_BUS_SLAVE("OCRAM", IMX8MN_ICS_OCRAM, NULL), + DEFINE_BUS_SLAVE("DRAM", IMX8MN_ICS_DRAM), + DEFINE_BUS_SLAVE("OCRAM", IMX8MN_ICS_OCRAM), DEFINE_BUS_MASTER("A53", IMX8MN_ICM_A53, IMX8MN_ICN_NOC), /* GPUMIX */ DEFINE_BUS_MASTER("GPU", IMX8MN_ICM_GPU, IMX8MN_ICN_GPU), - DEFINE_BUS_INTERCONNECT("PL301_GPU", IMX8MN_ICN_GPU, NULL, IMX8MN_ICN_NOC), + DEFINE_BUS_INTERCONNECT("PL301_GPU", IMX8MN_ICN_GPU, IMX8MN_ICN_NOC), /* DISPLAYMIX */ DEFINE_BUS_MASTER("CSI1", IMX8MN_ICM_CSI1, IMX8MN_ICN_MIPI), DEFINE_BUS_MASTER("CSI2", IMX8MN_ICM_CSI2, IMX8MN_ICN_MIPI), DEFINE_BUS_MASTER("ISI", IMX8MN_ICM_ISI, IMX8MN_ICN_MIPI), DEFINE_BUS_MASTER("LCDIF", IMX8MN_ICM_LCDIF, IMX8MN_ICN_MIPI), - DEFINE_BUS_INTERCONNECT("PL301_MIPI", IMX8MN_ICN_MIPI, NULL, IMX8MN_ICN_NOC), + DEFINE_BUS_INTERCONNECT("PL301_MIPI", IMX8MN_ICN_MIPI, IMX8MN_ICN_NOC), /* USB goes straight to NOC */ DEFINE_BUS_MASTER("USB", IMX8MN_ICM_USB, IMX8MN_ICN_NOC), @@ -54,11 +42,11 @@ static struct imx_icc_node_desc nodes[] = { /* Audio */ DEFINE_BUS_MASTER("SDMA2", IMX8MN_ICM_SDMA2, IMX8MN_ICN_AUDIO), DEFINE_BUS_MASTER("SDMA3", IMX8MN_ICM_SDMA3, IMX8MN_ICN_AUDIO), - DEFINE_BUS_INTERCONNECT("PL301_AUDIO", IMX8MN_ICN_AUDIO, NULL, IMX8MN_ICN_MAIN), + DEFINE_BUS_INTERCONNECT("PL301_AUDIO", IMX8MN_ICN_AUDIO, IMX8MN_ICN_MAIN), /* Ethernet */ DEFINE_BUS_MASTER("ENET", IMX8MN_ICM_ENET, IMX8MN_ICN_ENET), - DEFINE_BUS_INTERCONNECT("PL301_ENET", IMX8MN_ICN_ENET, NULL, IMX8MN_ICN_MAIN), + DEFINE_BUS_INTERCONNECT("PL301_ENET", IMX8MN_ICN_ENET, IMX8MN_ICN_MAIN), /* Other */ DEFINE_BUS_MASTER("SDMA1", IMX8MN_ICM_SDMA1, IMX8MN_ICN_MAIN), @@ -66,7 +54,7 @@ static struct imx_icc_node_desc nodes[] = { DEFINE_BUS_MASTER("USDHC1", IMX8MN_ICM_USDHC1, IMX8MN_ICN_MAIN), DEFINE_BUS_MASTER("USDHC2", IMX8MN_ICM_USDHC2, IMX8MN_ICN_MAIN), DEFINE_BUS_MASTER("USDHC3", IMX8MN_ICM_USDHC3, IMX8MN_ICN_MAIN), - DEFINE_BUS_INTERCONNECT("PL301_MAIN", IMX8MN_ICN_MAIN, NULL, + DEFINE_BUS_INTERCONNECT("PL301_MAIN", IMX8MN_ICN_MAIN IMX8MN_ICN_NOC, IMX8MN_ICS_OCRAM), }; diff --git a/drivers/interconnect/imx/imx8mq.c b/drivers/interconnect/imx/imx8mq.c index d7768d3c6d8a..b8c36d668946 100644 --- a/drivers/interconnect/imx/imx8mq.c +++ b/drivers/interconnect/imx/imx8mq.c @@ -12,18 +12,6 @@ #include "imx.h" -static const struct imx_icc_node_adj_desc imx8mq_dram_adj = { - .bw_mul = 1, - .bw_div = 4, - .phandle_name = "fsl,ddrc", -}; - -static const struct imx_icc_node_adj_desc imx8mq_noc_adj = { - .bw_mul = 1, - .bw_div = 4, - .main_noc = true, -}; - /* * Describe bus masters, slaves and connections between them * @@ -31,43 +19,42 @@ static const struct imx_icc_node_adj_desc imx8mq_noc_adj = { * PL301 nics which are skipped/merged into PL301_MAIN */ static struct imx_icc_node_desc nodes[] = { - DEFINE_BUS_INTERCONNECT("NOC", IMX8MQ_ICN_NOC, &imx8mq_noc_adj, - IMX8MQ_ICS_DRAM, IMX8MQ_ICN_MAIN), + DEFINE_BUS_INTERCONNECT("NOC", IMX8MQ_ICN_NOC, IMX8MQ_ICS_DRAM, IMX8MQ_ICN_MAIN), - DEFINE_BUS_SLAVE("DRAM", IMX8MQ_ICS_DRAM, &imx8mq_dram_adj), - DEFINE_BUS_SLAVE("OCRAM", IMX8MQ_ICS_OCRAM, NULL), + DEFINE_BUS_SLAVE("DRAM", IMX8MQ_ICS_DRAM), + DEFINE_BUS_SLAVE("OCRAM", IMX8MQ_ICS_OCRAM), DEFINE_BUS_MASTER("A53", IMX8MQ_ICM_A53, IMX8MQ_ICN_NOC), /* VPUMIX */ DEFINE_BUS_MASTER("VPU", IMX8MQ_ICM_VPU, IMX8MQ_ICN_VIDEO), - DEFINE_BUS_INTERCONNECT("PL301_VIDEO", IMX8MQ_ICN_VIDEO, NULL, IMX8MQ_ICN_NOC), + DEFINE_BUS_INTERCONNECT("PL301_VIDEO", IMX8MQ_ICN_VIDEO, IMX8MQ_ICN_NOC), /* GPUMIX */ DEFINE_BUS_MASTER("GPU", IMX8MQ_ICM_GPU, IMX8MQ_ICN_GPU), - DEFINE_BUS_INTERCONNECT("PL301_GPU", IMX8MQ_ICN_GPU, NULL, IMX8MQ_ICN_NOC), + DEFINE_BUS_INTERCONNECT("PL301_GPU", IMX8MQ_ICN_GPU, IMX8MQ_ICN_NOC), /* DISPMIX (only for DCSS) */ DEFINE_BUS_MASTER("DC", IMX8MQ_ICM_DCSS, IMX8MQ_ICN_DCSS), - DEFINE_BUS_INTERCONNECT("PL301_DC", IMX8MQ_ICN_DCSS, NULL, IMX8MQ_ICN_NOC), + DEFINE_BUS_INTERCONNECT("PL301_DC", IMX8MQ_ICN_DCSS, IMX8MQ_ICN_NOC), /* USBMIX */ DEFINE_BUS_MASTER("USB1", IMX8MQ_ICM_USB1, IMX8MQ_ICN_USB), DEFINE_BUS_MASTER("USB2", IMX8MQ_ICM_USB2, IMX8MQ_ICN_USB), - DEFINE_BUS_INTERCONNECT("PL301_USB", IMX8MQ_ICN_USB, NULL, IMX8MQ_ICN_NOC), + DEFINE_BUS_INTERCONNECT("PL301_USB", IMX8MQ_ICN_USB, IMX8MQ_ICN_NOC), /* PL301_DISPLAY (IPs other than DCSS, inside SUPERMIX) */ DEFINE_BUS_MASTER("CSI1", IMX8MQ_ICM_CSI1, IMX8MQ_ICN_DISPLAY), DEFINE_BUS_MASTER("CSI2", IMX8MQ_ICM_CSI2, IMX8MQ_ICN_DISPLAY), DEFINE_BUS_MASTER("LCDIF", IMX8MQ_ICM_LCDIF, IMX8MQ_ICN_DISPLAY), - DEFINE_BUS_INTERCONNECT("PL301_DISPLAY", IMX8MQ_ICN_DISPLAY, NULL, IMX8MQ_ICN_MAIN), + DEFINE_BUS_INTERCONNECT("PL301_DISPLAY", IMX8MQ_ICN_DISPLAY, IMX8MQ_ICN_MAIN), /* AUDIO */ DEFINE_BUS_MASTER("SDMA2", IMX8MQ_ICM_SDMA2, IMX8MQ_ICN_AUDIO), - DEFINE_BUS_INTERCONNECT("PL301_AUDIO", IMX8MQ_ICN_AUDIO, NULL, IMX8MQ_ICN_DISPLAY), + DEFINE_BUS_INTERCONNECT("PL301_AUDIO", IMX8MQ_ICN_AUDIO, IMX8MQ_ICN_DISPLAY), /* ENET */ DEFINE_BUS_MASTER("ENET", IMX8MQ_ICM_ENET, IMX8MQ_ICN_ENET), - DEFINE_BUS_INTERCONNECT("PL301_ENET", IMX8MQ_ICN_ENET, NULL, IMX8MQ_ICN_MAIN), + DEFINE_BUS_INTERCONNECT("PL301_ENET", IMX8MQ_ICN_ENET, IMX8MQ_ICN_MAIN), /* OTHER */ DEFINE_BUS_MASTER("SDMA1", IMX8MQ_ICM_SDMA1, IMX8MQ_ICN_MAIN), @@ -76,7 +63,7 @@ static struct imx_icc_node_desc nodes[] = { DEFINE_BUS_MASTER("USDHC2", IMX8MQ_ICM_USDHC2, IMX8MQ_ICN_MAIN), DEFINE_BUS_MASTER("PCIE1", IMX8MQ_ICM_PCIE1, IMX8MQ_ICN_MAIN), DEFINE_BUS_MASTER("PCIE2", IMX8MQ_ICM_PCIE2, IMX8MQ_ICN_MAIN), - DEFINE_BUS_INTERCONNECT("PL301_MAIN", IMX8MQ_ICN_MAIN, NULL, + DEFINE_BUS_INTERCONNECT("PL301_MAIN", IMX8MQ_ICN_MAIN, IMX8MQ_ICN_NOC, IMX8MQ_ICS_OCRAM), }; From patchwork Fri Feb 19 16:00:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095737 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.7 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UPPERCASE_50_75, URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EE812C433E0 for ; Fri, 19 Feb 2021 16:04:08 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B2DF464EB8 for ; Fri, 19 Feb 2021 16:04:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B2DF464EB8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=1d/5ix1DIq4gcxoYN3+iqUynvvANVv74x4BducrF5os=; b=BxiAg75uQHdiEbmT6Iht4ugTTx gUlRlAv0as8VuaiOLPL5qQBzZdUElaZMIz6lisfqnIXxVXKEE0Bt6H4U4ASZXGWRa0tNUG+xeGT8G EWW8LkpkAzrJWvzBzKykJ2X7NGlcjEtlSR3NT0KZhJ2PVch98MqPEOzcDMT14y+HImOezYjl2vB1w GmgAJ1U23m7++MSsHJy5W9JrAxvWkCAVhksRHio5Lp40vPl2ysDai2XA2AoX4XOYDa0LVLWdvXnnM bqx1MhGrdjJGUUWAHlnTDkTTzpydd/nrj+462fgAPxjUZWNdoOjMOVhwGNdFdiuSNlTYOyeVzwXZE 5tSFLU5A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8ED-00082w-CB; Fri, 19 Feb 2021 16:02:01 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DJ-0007mL-3W for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:13 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 35AF41A02DA; Fri, 19 Feb 2021 17:01:04 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 288691A0401; Fri, 19 Feb 2021 17:01:04 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 88C4D20430; Fri, 19 Feb 2021 17:01:03 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 10/19] interconnect: imx8mq: Add the pl301_per_m and pl301_wakeup nodes and subnodes Date: Fri, 19 Feb 2021 18:00:07 +0200 Message-Id: <1613750416-11901-11-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110105_305474_E27784B3 X-CRM114-Status: GOOD ( 11.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org According to the bus diagram, there are two more pl301s that need to be added here. The pl301_per_m which is an intermediary node between pl301_main and its masters: usdhc1, usdhc2 and sdma. The pl301_wakeup is an intermediary node between pl301_main and its masters, in this case all the SAIs. Signed-off-by: Abel Vesa --- drivers/interconnect/imx/imx8mq.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/interconnect/imx/imx8mq.c b/drivers/interconnect/imx/imx8mq.c index b8c36d668946..010ad3d76286 100644 --- a/drivers/interconnect/imx/imx8mq.c +++ b/drivers/interconnect/imx/imx8mq.c @@ -57,14 +57,25 @@ static struct imx_icc_node_desc nodes[] = { DEFINE_BUS_INTERCONNECT("PL301_ENET", IMX8MQ_ICN_ENET, IMX8MQ_ICN_MAIN), /* OTHER */ - DEFINE_BUS_MASTER("SDMA1", IMX8MQ_ICM_SDMA1, IMX8MQ_ICN_MAIN), DEFINE_BUS_MASTER("NAND", IMX8MQ_ICM_NAND, IMX8MQ_ICN_MAIN), - DEFINE_BUS_MASTER("USDHC1", IMX8MQ_ICM_USDHC1, IMX8MQ_ICN_MAIN), - DEFINE_BUS_MASTER("USDHC2", IMX8MQ_ICM_USDHC2, IMX8MQ_ICN_MAIN), DEFINE_BUS_MASTER("PCIE1", IMX8MQ_ICM_PCIE1, IMX8MQ_ICN_MAIN), DEFINE_BUS_MASTER("PCIE2", IMX8MQ_ICM_PCIE2, IMX8MQ_ICN_MAIN), DEFINE_BUS_INTERCONNECT("PL301_MAIN", IMX8MQ_ICN_MAIN, IMX8MQ_ICN_NOC, IMX8MQ_ICS_OCRAM), + DEFINE_BUS_MASTER("SDMA1", IMX8MQ_ICM_SDMA1, IMX8MQ_ICN_PER_M), + DEFINE_BUS_MASTER("USDHC1", IMX8MQ_ICM_USDHC1, IMX8MQ_ICN_PER_M), + DEFINE_BUS_MASTER("USDHC2", IMX8MQ_ICM_USDHC2, IMX8MQ_ICN_PER_M), + DEFINE_BUS_INTERCONNECT("PL301_PER_M", IMX8MQ_ICN_PER_M, + IMX8MQ_ICN_MAIN), + + DEFINE_BUS_MASTER("SAI1", IMX8MQ_ICM_SAI1, IMX8MQ_ICN_WAKEUP), + DEFINE_BUS_MASTER("SAI2", IMX8MQ_ICM_SAI2, IMX8MQ_ICN_WAKEUP), + DEFINE_BUS_MASTER("SAI3", IMX8MQ_ICM_SAI3, IMX8MQ_ICN_WAKEUP), + DEFINE_BUS_MASTER("SAI4", IMX8MQ_ICM_SAI4, IMX8MQ_ICN_WAKEUP), + DEFINE_BUS_MASTER("SAI5", IMX8MQ_ICM_SAI5, IMX8MQ_ICN_WAKEUP), + DEFINE_BUS_MASTER("SAI6", IMX8MQ_ICM_SAI6, IMX8MQ_ICN_WAKEUP), + DEFINE_BUS_INTERCONNECT("PL301_WAKEUP", IMX8MQ_ICN_WAKEUP, + IMX8MQ_ICN_MAIN), }; static int imx8mq_icc_probe(struct platform_device *pdev) From patchwork Fri Feb 19 16:00:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095735 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3DC0AC433DB for ; Fri, 19 Feb 2021 16:04:01 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DC36364E60 for ; Fri, 19 Feb 2021 16:04:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DC36364E60 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=qM6MMmabl93ed8+6L54Q/7GXS+/Pzzmghi79gqMaxag=; b=cjC7R2QEnLpfZXMBfp6vRo8m0H q/vMMj9i0umbpveg+5qHF2ljW+tIOIjM7QdnJZaKkKlwXoA/rnQtfqaQiK408jHVQfMhJCLnEv3oG VPWYUXkwbqRRV+nPRgmYOCblqNN68mRhVhdEwfnb5OrLPyrzesPwGCweqA4g8Kcw+1ljClX1GD3vk Djhw/JWBJM6UHVqRW9dbsDdBrRrAudQiQhscVPPuVdMJOndco5+9JN4OW8fvRVpIopH9rmAdcCDkP yAbWIwq1hoJgeKFYZfo8jSOTtmNhSnPCsKuUv4DIp6zWVyuG7KRARYGNlIWpYFghVuGRCfStSwjQq pzikAvGQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8E5-0007zk-3d; Fri, 19 Feb 2021 16:01:53 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DJ-0007mn-Ni for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:13 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id E6D4B1A0440; Fri, 19 Feb 2021 17:01:04 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id D9C411A02A2; Fri, 19 Feb 2021 17:01:04 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 387972042F; Fri, 19 Feb 2021 17:01:04 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 11/19] interconnect: imx8mq: Add of_match_table Date: Fri, 19 Feb 2021 18:00:08 +0200 Message-Id: <1613750416-11901-12-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110105_961108_D1851494 X-CRM114-Status: GOOD ( 12.64 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The i.MX8MQ driver will probe based on the compatible string instead of using device data in imx-bus devfreq driver. Signed-off-by: Abel Vesa --- drivers/interconnect/imx/imx8mq.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/interconnect/imx/imx8mq.c b/drivers/interconnect/imx/imx8mq.c index 010ad3d76286..64321f1d323b 100644 --- a/drivers/interconnect/imx/imx8mq.c +++ b/drivers/interconnect/imx/imx8mq.c @@ -6,6 +6,7 @@ */ #include +#include #include #include #include @@ -88,12 +89,18 @@ static int imx8mq_icc_remove(struct platform_device *pdev) return imx_icc_unregister(pdev); } +static const struct of_device_id imx8mq_icc_of_match[] = { + { .compatible = "fsl,imx8mq-icc" }, + { /* sentinel */ }, +}; + static struct platform_driver imx8mq_icc_driver = { .probe = imx8mq_icc_probe, .remove = imx8mq_icc_remove, .driver = { .name = "imx8mq-interconnect", .sync_state = icc_sync_state, + .of_match_table = of_match_ptr(imx8mq_icc_of_match), }, }; From patchwork Fri Feb 19 16:00:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095739 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65D26C433E6 for ; Fri, 19 Feb 2021 16:04:21 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id ED27664E60 for ; Fri, 19 Feb 2021 16:04:20 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ED27664E60 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=SUv+9mjghNDYEicXBtYn++Z8D0GbuCNY9WTgbF1vzws=; b=GAkJhQVML3VZVPM+uvtTzuyDEv 0KKYNxFvJ2xWFJfqo7OAsZrREo+DTMJLNF2RBBkr6jaDjiFASH0stopc8F+HC++8K8cnHYIRPVHbE dAwdvJbLMEyhwt+JLIzxVwIpYdASZiU2LiCw/chY6fQsYRyePNGue6RDwzseTeLXJUa49yPNx5A/j R1w+HCZ9WWyIV8+nZcMvNtnfwWU+YTbieKpoGoeg4lkY3fw2wzfWufew13PKaeTNa7w6Hl04Mr4nT eex+ve1ihFh7rk4cfauwnSOg8UZzL/HL3iayrc85bFHSmMBRVKxluHXlgOUPfdivSmwj4Uy2Ac7d3 yNLH/TAw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8EM-00086c-6f; Fri, 19 Feb 2021 16:02:11 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DK-0007n6-Hm for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:15 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 9BDF420024B; Fri, 19 Feb 2021 17:01:05 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 8885E200235; Fri, 19 Feb 2021 17:01:05 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id E8B9C2042F; Fri, 19 Feb 2021 17:01:04 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 12/19] interconnect: imx: Add imx_icc_get_bw and imx_icc_aggregate functions Date: Fri, 19 Feb 2021 18:00:09 +0200 Message-Id: <1613750416-11901-13-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110106_768163_6B449124 X-CRM114-Status: GOOD ( 11.66 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The aggregate function will return whatever is the highest rate for that specific node. The imx_icc_get_bw sets the initial avg and peak to 0 in order to avoid setting them to INT_MAX by the interconnect core. Signed-off-by: Abel Vesa --- drivers/interconnect/imx/imx.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/drivers/interconnect/imx/imx.c b/drivers/interconnect/imx/imx.c index db048df80011..5cc1ce55406c 100644 --- a/drivers/interconnect/imx/imx.c +++ b/drivers/interconnect/imx/imx.c @@ -25,6 +25,23 @@ struct imx_icc_node { struct dev_pm_qos_request qos_req; }; +static int imx_icc_get_bw(struct icc_node *node, u32 *avg, u32 *peak) +{ + *avg = 0; + *peak = 0; + + return 0; +} + +static int imx_icc_aggregate(struct icc_node *node, u32 tag, u32 avg_bw, + u32 peak_bw, u32 *agg_avg, u32 *agg_peak) +{ + *agg_avg = max(*agg_avg, avg_bw); + *agg_peak = max(*agg_peak, peak_bw); + + return 0; +} + static int imx_icc_node_set(struct icc_node *node) { struct device *dev = node->provider->dev; @@ -233,7 +250,8 @@ int imx_icc_register(struct platform_device *pdev, if (!provider) return -ENOMEM; provider->set = imx_icc_set; - provider->aggregate = icc_std_aggregate; + provider->get_bw = imx_icc_get_bw; + provider->aggregate = imx_icc_aggregate; provider->xlate = of_icc_xlate_onecell; provider->data = data; provider->dev = dev; From patchwork Fri Feb 19 16:00:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095743 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 058D5C4332D for ; Fri, 19 Feb 2021 16:04:40 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C317364EB2 for ; Fri, 19 Feb 2021 16:04:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C317364EB2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=gICiTIWnvvAviiAAcu2b3FKcpb966hIyyZCqYEcgmyk=; b=vNapYoR3JUoqlJ2HLltOUHJZsg K7Ha7JSON0cnIPUGgE+Zwob247eQGGhfzcUkTh1Ej/IToEW/4bngdqvuWHYtcuzSfuivMcNQKhdli k0d02N4Ohbd+QNY6fDnIlKi8c7IVeph2JCBU/D3AtcfIEh94U/oBq90GwvL3as/l8BdoXbBpEuUQx sKlVu9sLqpKXlhA4Ptj7OLfrCiwDcXORCrRY5vymJTYJKjwGzUcF1AEeM916Y6nPGTN9qIAlZlcXi +fAzhSzWpyNfmP658EZp6zZn/YAOsUGG+ds4RYklsf2YLErt1OHNrJOwrtu+2ANn+Log4TvTGw0OA gwzQ52Ug==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8El-0008H9-25; Fri, 19 Feb 2021 16:02:35 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DL-0007nR-6u for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:17 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 440131A0074; Fri, 19 Feb 2021 17:01:06 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 3EA701A02E8; Fri, 19 Feb 2021 17:01:06 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 96D302042F; Fri, 19 Feb 2021 17:01:05 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 13/19] arm64: dts: imx8mq: Add fsl,icc-id property to ddrc node Date: Fri, 19 Feb 2021 18:00:10 +0200 Message-Id: <1613750416-11901-14-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110107_409537_F9DFC970 X-CRM114-Status: GOOD ( 11.11 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The fsl,icc-id property here is used to link the icc node registered by the imx8mq interconnect driver with the ddrc device. Signed-off-by: Abel Vesa --- arch/arm64/boot/dts/freescale/imx8mq.dtsi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi index 17c449e12c2e..ac229a8288cd 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -1433,10 +1433,12 @@ ddrc: memory-controller@3d400000 { compatible = "fsl,imx8mq-ddrc", "fsl,imx8m-ddrc"; reg = <0x3d400000 0x400000>; clock-names = "core", "pll", "alt", "apb"; + fsl,icc-id = ; clocks = <&clk IMX8MQ_CLK_DRAM_CORE>, <&clk IMX8MQ_DRAM_PLL_OUT>, <&clk IMX8MQ_CLK_DRAM_ALT>, <&clk IMX8MQ_CLK_DRAM_APB>; + #interconnect-cells = <0>; }; ddr-pmu@3d800000 { From patchwork Fri Feb 19 16:00:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095765 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,LOTS_OF_MONEY,MAILING_LIST_MULTI,MONEY_NOHTML, NORMAL_HTTP_TO_IP,NUMERIC_HTTP_ADDR,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9C09C433DB for ; Fri, 19 Feb 2021 16:05:19 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7F9D564E22 for ; Fri, 19 Feb 2021 16:05:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7F9D564E22 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=8KQ86zsXOsHc05R2ubxlQdu+zIdZRChsuIS5ugJQp1E=; b=uQiWYG/aqSw0xMqodZTF5/P15k pw6A76Ik6ah6z69y9sxhYA0pp9BRWIlygPbWoIDhgUzHrMbSCX4KCzyM5SI5QJ8aa6TMQcZtntp+w yQ2rckewTQMxxsMQMZzK8h9/sfOm36WSkEDJxRyOBZ9jIqI7wKg4HHSu0tspSxf7Hm/ZosYDw+zvw L0oZQ2LM/3HN1iKwPHBs32AsBz3tPgJJiNmT7Bwrry1wa901HbdGd47ET+oc98oYU9JjQLnvBSEKq 4OeBwlKS1/WZlqxbA3oPAKph+FNxNnfp2o+d4dJnCkINkk9j/CcU+3dgcJOI9kFrQY54zJ8EE6Hhw KRsE/U5g==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8F9-0008V9-HC; Fri, 19 Feb 2021 16:02:59 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DL-0007nk-TH for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:23 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id F3488200389; Fri, 19 Feb 2021 17:01:06 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id EC6DC2001FC; Fri, 19 Feb 2021 17:01:06 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 4DE0C2042F; Fri, 19 Feb 2021 17:01:06 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 14/19] arm64: dts: imx8mq: Add fsl,icc-id to noc node Date: Fri, 19 Feb 2021 18:00:11 +0200 Message-Id: <1613750416-11901-15-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110109_210376_9186689A X-CRM114-Status: GOOD ( 13.01 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The fsl,icc-id property here is used to link the icc node registered by the imx8mq interconnect driver with the noc device. Remove the fsl,ddrc property since it will not be used anymore. Signed-off-by: Abel Vesa --- arch/arm64/boot/dts/freescale/imx8mq.dtsi | 4 ++-- scripts/dtc/fdtoverlay | Bin 0 -> 61280 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100755 scripts/dtc/fdtoverlay GIT binary patch literal 61280 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 literal 0 HcmV?d00001 diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi index ac229a8288cd..e30e948648e9 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -1195,11 +1195,11 @@ fec1: ethernet@30be0000 { }; }; - noc: interconnect@32700000 { + noc: noc@32700000 { compatible = "fsl,imx8mq-noc", "fsl,imx8m-noc"; reg = <0x32700000 0x100000>; clocks = <&clk IMX8MQ_CLK_NOC>; - fsl,ddrc = <&ddrc>; + fsl,icc-id = ; #interconnect-cells = <1>; operating-points-v2 = <&noc_opp_table>; diff --git a/scripts/dtc/fdtoverlay b/scripts/dtc/fdtoverlay new file mode 100755 index 0000000000000000000000000000000000000000..a2b2746882bf8ceac8d0624a90fc36386cf6ac62 From patchwork Fri Feb 19 16:00:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095745 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CF03EC43381 for ; Fri, 19 Feb 2021 16:04:42 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5A18864EB2 for ; Fri, 19 Feb 2021 16:04:42 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5A18864EB2 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=2UtPU61EhV/qU4b5FdXWlvBHybignTt55PKwTV1OAGM=; b=oWezN0VtBgb7XCoJ6PFvGcGyCS yClgTTGHD7YNaMPfnXeOOpXN4X9Qkc3R+a4yVZEGBtYSZIWHbERThLBrPMDgLRNcUy/ct7DWkOIQC XmD9HtbohYN9cxQ+v8mXRcZsRd2DGiLRhHR9n87KXNUh1oC1pt1xIVLMJs3dNu6TVdOvla0GuQhYZ 4eGFi3BYhC8EL3ipcWBr4n19WVqFYbV/ZlMTgLaIC4OgztOS6A8k4WGa+SeKaU7TpJd9kOtpFgYDP 1CWsOfLE5Vf8RUaj6EMdb5lBUrqDiYt6ms/Wi0YWJ1NvaBmGofRl88WeJpKyvQn+EGBxJP1wW4aX5 YUB1PNtg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Ep-0008JL-DY; Fri, 19 Feb 2021 16:02:39 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DM-0007o8-Gw for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:19 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id A37961A04AC; Fri, 19 Feb 2021 17:01:07 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 9CE581A0461; Fri, 19 Feb 2021 17:01:07 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 083142042F; Fri, 19 Feb 2021 17:01:07 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 15/19] arm64: dts: imx8mq: Add all pl301 nodes Date: Fri, 19 Feb 2021 18:00:12 +0200 Message-Id: <1613750416-11901-16-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110109_116153_E3D1FADA X-CRM114-Status: GOOD ( 11.05 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Add all the pl301s found on i.MX8MQ, according to the bus diagram. Each pl301 has its own clock, icc id and opp table. They are probed by the imx-bus driver. Signed-off-by: Abel Vesa --- arch/arm64/boot/dts/freescale/imx8mq.dtsi | 180 ++++++++++++++++++++++ 1 file changed, 180 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi index e30e948648e9..5f9ffa465d6c 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -1447,5 +1447,185 @@ ddr-pmu@3d800000 { interrupt-parent = <&gic>; interrupts = ; }; + + pl301_main: pl301@0 { + compatible = "fsl,imx8m-nic"; + clocks = <&clk IMX8MQ_CLK_MAIN_AXI>; + operating-points-v2 = <&pl301_main_opp_table>; + #interconnect-cells = <0>; + fsl,icc-id = ; + + pl301_main_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-25M { + opp-hz = /bits/ 64 <25000000>; + }; + opp-133M { + opp-hz = /bits/ 64 <133333333>; + }; + opp-333M { + opp-hz = /bits/ 64 <333333333>; + }; + }; + }; + + pl301_enet: pl301@1 { + compatible = "fsl,imx8m-nic"; + clocks = <&clk IMX8MQ_CLK_ENET_AXI>; + operating-points-v2 = <&pl301_enet_opp_table>; + #interconnect-cells = <0>; + fsl,icc-id = ; + + pl301_enet_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-25M { + opp-hz = /bits/ 64 <25000000>; + }; + opp-266M { + opp-hz = /bits/ 64 <266666666>; + }; + }; + }; + + pl301_gpu: pl301@2 { + compatible = "fsl,imx8m-nic"; + clocks = <&clk IMX8MQ_CLK_GPU_AXI>; + operating-points-v2 = <&pl301_gpu_opp_table>; + #interconnect-cells = <0>; + fsl,icc-id = ; + + pl301_gpu_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-25M { + opp-hz = /bits/ 64 <25000000>; + }; + opp-800M { + opp-hz = /bits/ 64 <800000000>; + }; + }; + }; + + pl301_dc: pl301@3 { + compatible = "fsl,imx8m-nic"; + clocks = <&clk IMX8MQ_CLK_DISP_AXI>; + operating-points-v2 = <&pl301_dc_opp_table>; + #interconnect-cells = <0>; + fsl,icc-id = ; + + pl301_dc_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-25M { + opp-hz = /bits/ 64 <25000000>; + }; + opp-800M { + opp-hz = /bits/ 64 <800000000>; + }; + }; + }; + + /* PL301_DISPLAY (IPs other than DCSS, inside SUPERMIX) */ + pl301_display: pl301@4 { + compatible = "fsl,imx8m-nic"; + /* FIXME: don't know which clock yet */ + clocks = <&clk IMX8MQ_CLK_DUMMY>; + operating-points-v2 = <&pl301_display_opp_table>; + #interconnect-cells = <0>; + fsl,icc-id = ; + + pl301_display_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-25M { + opp-hz = /bits/ 64 <25000000>; + }; + opp-333M { + opp-hz = /bits/ 64 <333333333>; + }; + }; + }; + + pl301_audio: pl301@5 { + compatible = "fsl,imx8m-nic"; + clocks = <&clk IMX8MQ_CLK_AUDIO_AHB>; + operating-points-v2 = <&pl301_audio_opp_table>; + #interconnect-cells = <0>; + fsl,icc-id = ; + + pl301_audio_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-25M { + opp-hz = /bits/ 64 <25000000>; + }; + opp-500M { + opp-hz = /bits/ 64 <500000000>; + }; + }; + }; + + pl301_video: pl301@6 { + compatible = "fsl,imx8m-nic"; + clocks = <&clk IMX8MQ_CLK_VPU_BUS>; + operating-points-v2 = <&pl301_video_opp_table>; + #interconnect-cells = <0>; + fsl,icc-id = ; + + pl301_video_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-25M { + opp-hz = /bits/ 64 <25000000>; + }; + opp-500M { + opp-hz = /bits/ 64 <500000000>; + }; + }; + }; + + pl301_usb: pl301@7 { + compatible = "fsl,imx8m-nic"; + clocks = <&clk IMX8MQ_CLK_USB_BUS>; + operating-points-v2 = <&pl301_usb_opp_table>; + #interconnect-cells = <0>; + fsl,icc-id = ; + + pl301_usb_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-25M { + opp-hz = /bits/ 64 <25000000>; + }; + opp-128M { + opp-hz = /bits/ 64 <128000000>; + }; + opp-500M { + opp-hz = /bits/ 64 <500000000>; + }; + }; + }; + + pl301_wakeup: pl301@8 { + compatible = "fsl,imx8m-nic"; + /* FIXME: don't know which clock yet */ + clocks = <&clk IMX8MQ_CLK_DUMMY>; + operating-points-v2 = <&pl301_wakeup_opp_table>; + #interconnect-cells = <0>; + fsl,icc-id = ; + + pl301_wakeup_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-25M { + opp-hz = /bits/ 64 <25000000>; + }; + opp-133M { + opp-hz = /bits/ 64 <133333333>; + }; + }; + }; }; }; From patchwork Fri Feb 19 16:00:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095749 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 31D0EC433DB for ; Fri, 19 Feb 2021 16:04:39 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CF34C64EB1 for ; Fri, 19 Feb 2021 16:04:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CF34C64EB1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=1NGz2/FEDO3TKk5Ce9aXZa4E7Dj3xj6QXPMPZ+4qp9I=; b=h9e1GUimGELRjcGylRjVx0E23S 4wfD2yd/uqBFeU6RXtU+Iw0tY2aqNWslmb/FafSAt/jdew5yrMuWvnL4g4X9e9oPhxkHdNrlM8S7T RR8wBjU/ZEhcZ+oRBLI4mTEXqY/jkh6N/aj3QcUrwNkRg9vUJMZrJd/YWaI824z7dWuPMC1EJ6soZ G6yGbql3HUawj6e/5aEwFta3C0TKNA28l9mnKgt9el1qPAv1rBH/1Iq4gcdrDRYz4VOd6q6nC4g6d NW6BMV8qOcB1BDuiiSRAL7v6K24x0FGB97h7MCD00xFMnZTKFvU57LXjd0k9ecTlMZpjuijqLndgA n/FpZMxg==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Es-0008L5-Ra; Fri, 19 Feb 2021 16:02:42 +0000 Received: from inva021.nxp.com ([92.121.34.21]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DN-0007oB-D6 for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:19 +0000 Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 63D5320026A; Fri, 19 Feb 2021 17:01:08 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 553A4200235; Fri, 19 Feb 2021 17:01:08 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id AC5792042F; Fri, 19 Feb 2021 17:01:07 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 16/19] arm64: dts: imx8mq: Add the interconnect node Date: Fri, 19 Feb 2021 18:00:13 +0200 Message-Id: <1613750416-11901-17-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110109_644355_823ACC00 X-CRM114-Status: GOOD ( 10.47 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The icc node will be probed by the imx8mq interconnect driver. Will look-up the NoC and all the pl301s (identified by fsl,icc-id property) and will assign the corresponding icc node to each one of them. Then, it will register the icc provider. Signed-off-by: Abel Vesa --- arch/arm64/boot/dts/freescale/imx8mq.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi index 5f9ffa465d6c..6a64b4bf31f5 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -1627,5 +1627,10 @@ opp-133M { }; }; }; + + icc: interconnect@0 { + compatible = "fsl,imx8mq-icc", "fsl,imx8m-icc"; + #interconnect-cells = <1>; + }; }; }; From patchwork Fri Feb 19 16:00:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095755 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A1CC4C433E0 for ; Fri, 19 Feb 2021 16:04:57 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 2C35D64EB1 for ; Fri, 19 Feb 2021 16:04:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2C35D64EB1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=1o69BlME9UupCCYi68R/xr2FaE5OqlLM/Qq2xRzHymg=; b=kVpgXJ3f9r0TCFNyGZylke14YD kWM7StVq/Bg9xP+B8pOWSH0dKUahU5TMZLpOwKD2iPF8L0XDkeLZOl8rfOjpEqBRE3Kp9GpYy6YEn 2vhinJVTxtMvWa5Dp0dK2M+hm881hh9N2d5LvI1eUzGvOkK+yb2Hai7eQ493JOzJtVa9wFlFWTJXE iwkSrS6uhqe94BbxTLBmZLKUuKAxFBvNJr8PzaKTLEiG+zkwV8ciND7XUSvUEz7nGWtrkX8Utxd+w bghYv8wiM5HyaBbqeuQnhvu5wyoh/BPTHWpAr621IlwtrZTXwbhkFqgd36qaDhSQ/gw0PKTXjSd11 9ofsZxew==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Ex-0008O6-GT; Fri, 19 Feb 2021 16:02:47 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DN-0007oi-VI for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:20 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 179861A03A9; Fri, 19 Feb 2021 17:01:09 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 07F951A039C; Fri, 19 Feb 2021 17:01:09 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 655CA2042F; Fri, 19 Feb 2021 17:01:08 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 17/19] arm64: dts: imx8mq: Add interconnect properties to icc consumer nodes Date: Fri, 19 Feb 2021 18:00:14 +0200 Message-Id: <1613750416-11901-18-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110110_207510_D9BDB648 X-CRM114-Status: UNSURE ( 9.37 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org We add all the properties necessary to control the interconnect based on the required rates all the way from consumers to the dram. The fsl,icc-rate specifies the minimum required rate the consumer needs in order to operate. For now, only the fec, usdhc1 and usdhc2 are added as consumers. Signed-off-by: Abel Vesa --- arch/arm64/boot/dts/freescale/imx8mq.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/imx8mq.dtsi b/arch/arm64/boot/dts/freescale/imx8mq.dtsi index 6a64b4bf31f5..43760316052f 100644 --- a/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ b/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -1112,6 +1112,9 @@ usdhc1: mmc@30b40000 { "fsl,imx7d-usdhc"; reg = <0x30b40000 0x10000>; interrupts = ; + interconnects = <&icc IMX8MQ_ICM_USDHC1 &icc IMX8MQ_ICS_DRAM>; + interconnect-names = "path"; + fsl,icc-rate = <266666>; clocks = <&clk IMX8MQ_CLK_IPG_ROOT>, <&clk IMX8MQ_CLK_NAND_USDHC_BUS>, <&clk IMX8MQ_CLK_USDHC1_ROOT>; @@ -1127,6 +1130,9 @@ usdhc2: mmc@30b50000 { "fsl,imx7d-usdhc"; reg = <0x30b50000 0x10000>; interrupts = ; + interconnects = <&icc IMX8MQ_ICM_USDHC2 &icc IMX8MQ_ICS_DRAM>; + interconnect-names = "path"; + fsl,icc-rate = <266666>; clocks = <&clk IMX8MQ_CLK_IPG_ROOT>, <&clk IMX8MQ_CLK_NAND_USDHC_BUS>, <&clk IMX8MQ_CLK_USDHC2_ROOT>; @@ -1169,6 +1175,9 @@ fec1: ethernet@30be0000 { , , ; + interconnects = <&icc IMX8MQ_ICM_ENET &icc IMX8MQ_ICS_DRAM>; + interconnect-names = "path"; + fsl,icc-rate = <800000>; clocks = <&clk IMX8MQ_CLK_ENET1_ROOT>, <&clk IMX8MQ_CLK_ENET1_ROOT>, <&clk IMX8MQ_CLK_ENET_TIMER>, From patchwork Fri Feb 19 16:00:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095757 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 48956C433DB for ; Fri, 19 Feb 2021 16:04:58 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0250864EAF for ; Fri, 19 Feb 2021 16:04:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0250864EAF Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=AQiP/mrcG25HRcjVpstymhf0qPQtSKZSnN9tw/WAYDI=; b=dzC32aE7jU+XpG89jcmtc2HnX5 NuueHVbLkdMCjXwLwXSPcXqEvcdv9GYciHfZLNKPFhj/zRvRgEmBI/+ai+2PuVSq4kzipJRNU5YAn JeBwD1nk2z5epF/9RqModRLK6n1ugbAknQ39QhJvMbPqLv9ZMWfpUBpBMWWuinweYTTILfLYYoNRn jn+KP2bMhpvwHsOcHWks+2C97ddvriiHWzNwAJAHJGacBl3kHEZfLv+tW02JuL7Hexd32gucKpZDl J7Mw3GAYRqnApGdWCdpZ7SmhychJKUDOkWE8lSd+BpVeCasGnXJYEveBAL/EFY3zakD93Hj4oNRrM wT/BgN2w==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8F2-0008QU-6a; Fri, 19 Feb 2021 16:02:52 +0000 Received: from inva020.nxp.com ([92.121.34.13]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8DO-0007pC-O3 for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:01:21 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id B91411A01B9; Fri, 19 Feb 2021 17:01:09 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id AB3CF1A00BD; Fri, 19 Feb 2021 17:01:09 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id 17C002042F; Fri, 19 Feb 2021 17:01:09 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 18/19] net: ethernet: fec_main: Add interconnect support Date: Fri, 19 Feb 2021 18:00:15 +0200 Message-Id: <1613750416-11901-19-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_110111_087464_B822B027 X-CRM114-Status: GOOD ( 17.77 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On probe, if the dts node contains a valid icc path, then look for the fsl,icc-rate property and get the rate. Also set the icc bandwidth for that path to the nominal rate needed for fec to function right. Then enable and disable the path every time the fec is used or not. This will result in reducing the clock speeds along the icc path for each pl301 and NoC, but still meet the requirements for all the other icc consumers. Signed-off-by: Abel Vesa --- drivers/net/ethernet/freescale/fec.h | 3 +++ drivers/net/ethernet/freescale/fec_main.c | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/drivers/net/ethernet/freescale/fec.h b/drivers/net/ethernet/freescale/fec.h index 0602d5d5d2ee..7611492cb800 100644 --- a/drivers/net/ethernet/freescale/fec.h +++ b/drivers/net/ethernet/freescale/fec.h @@ -529,6 +529,9 @@ struct fec_enet_private { unsigned int num_tx_queues; unsigned int num_rx_queues; + struct icc_path *bus_path; + unsigned int bus_rate; + /* The saved address of a sent-in-place packet/buffer, for skfree(). */ struct fec_enet_priv_tx_q *tx_queue[FEC_ENET_MAX_TX_QS]; struct fec_enet_priv_rx_q *rx_queue[FEC_ENET_MAX_RX_QS]; diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 3db882322b2b..0ed78b390098 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -47,6 +47,7 @@ #include #include #include +#include #include #include #include @@ -3572,6 +3573,18 @@ fec_probe(struct platform_device *pdev) fep->pdev = pdev; fep->dev_id = dev_id++; + fep->bus_path = devm_of_icc_get(&pdev->dev, "path"); + if (IS_ERR(fep->bus_path)) { + return PTR_ERR(fep->bus_path); + } else if (fep->bus_path) { + if (of_property_read_u32(np, "fsl,icc-rate", &fep->bus_rate)) { + dev_err(&pdev->dev, "icc-rate missing\n"); + return -EINVAL; + } + + icc_set_bw(fep->bus_path, 0, fep->bus_rate); + } + platform_set_drvdata(pdev, ndev); if ((of_machine_is_compatible("fsl,imx6q") || @@ -3826,6 +3839,8 @@ static int __maybe_unused fec_suspend(struct device *dev) if (fep->clk_enet_out || fep->reg_phy) fep->link = 0; + icc_disable(fep->bus_path); + return 0; } @@ -3836,6 +3851,8 @@ static int __maybe_unused fec_resume(struct device *dev) int ret; int val; + icc_enable(fep->bus_path); + if (fep->reg_phy && !(fep->wol_flag & FEC_WOL_FLAG_ENABLE)) { ret = regulator_enable(fep->reg_phy); if (ret) @@ -3884,6 +3901,7 @@ static int __maybe_unused fec_runtime_suspend(struct device *dev) clk_disable_unprepare(fep->clk_ahb); clk_disable_unprepare(fep->clk_ipg); + icc_disable(fep->bus_path); return 0; } @@ -3893,6 +3911,7 @@ static int __maybe_unused fec_runtime_resume(struct device *dev) struct fec_enet_private *fep = netdev_priv(ndev); int ret; + icc_enable(fep->bus_path); ret = clk_prepare_enable(fep->clk_ahb); if (ret) return ret; From patchwork Fri Feb 19 16:00:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Abel Vesa X-Patchwork-Id: 12095811 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5F3AAC433DB for ; Fri, 19 Feb 2021 16:06:59 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 250B964E22 for ; Fri, 19 Feb 2021 16:06:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 250B964E22 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nxp.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:References:In-Reply-To:Message-Id:Date:Subject:To: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Q+0uGdlpKJCs1Scerytw94PfTbVShcGAHVNOiKpK0PQ=; b=IzX1MZD52vA6hlxZO8JOE2Ii7r CFFHiIvPY1Xzn7yTPtQtBC5frSUpGvRONObBJ62YDZWvuzis2155dkeK49YAuwu6cwbJb0b4gsEg7 n+voVGnBbnz8plJ0l5GjrghWROTiWchI5DP9isr5li7p7fnHFa4ijFve+GhtN5LdTiKsfsUzvlNCD Ab0ZWaUkcXak5S2tNqXlr3xSRPiDOgbXIwzzPejp3Ol9KhA/3VV/ASERkOPnMhc5vqyz+g30Zc8pr aF7i1bGg50sv6feT1VozdG6qkwKveiV6DeluZ3DN/lV24bGuYBmy62bO4Pzc4CAlxNaKMvv8I+oGf bb7/MCRA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8Hc-0001fL-PI; Fri, 19 Feb 2021 16:05:32 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lD8HQ-0001aQ-I3 for linux-arm-kernel@merlin.infradead.org; Fri, 19 Feb 2021 16:05:20 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description; bh=Gr0G7E01FmFIqlw5g7aVEuckhWCGHb9E/DMFwTWGkpo=; b=sNI7Ac0fB2RwtQm9zkcwoBDIVk cXd1n9avTxApLqFx5MZVtwBQLdoywbLbYtqOaPGDibjOqh6RxFBgmCc8X+anO0BR5DJx5kvQAkRUj 5o63oJZZmef8++nO2MYR5jv/yalwHDzM3rfhjU4cHLmJbjHMrSN3uzORYYDXx7T6w7bTN3bx79Sqs 1Y5vAS7WdBv5d2M+svW1mntK9FvwuaVSXc5i7zofhtwPUCV0jFZLNVAl8Og8Ytk21ECv6cJIBTwlY ZX676t/p99GzdTqnwOiG3ltJVuk59yQlEYO/iXKa4dv21V3GAyarr3U6YxAv5qE7bIuGSSEHoctMh 64+qtMZA==; Received: from inva020.nxp.com ([92.121.34.13]) by casper.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lD8E7-0032gK-Aw for linux-arm-kernel@lists.infradead.org; Fri, 19 Feb 2021 16:03:47 +0000 Received: from inva020.nxp.com (localhost [127.0.0.1]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 6FAE11A026F; Fri, 19 Feb 2021 17:01:10 +0100 (CET) Received: from inva024.eu-rdc02.nxp.com (inva024.eu-rdc02.nxp.com [134.27.226.22]) by inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 614431A00BD; Fri, 19 Feb 2021 17:01:10 +0100 (CET) Received: from fsr-ub1664-175.ea.freescale.net (fsr-ub1664-175.ea.freescale.net [10.171.82.40]) by inva024.eu-rdc02.nxp.com (Postfix) with ESMTP id BB2122042F; Fri, 19 Feb 2021 17:01:09 +0100 (CET) From: Abel Vesa To: Rob Herring , Shawn Guo , Sascha Hauer , Lucas Stach , Fabio Estevam , Chanwoo Choi , Georgi Djakov , Dong Aisheng , Peng Fan , Martin Kepplinger , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org, Linux Kernel Mailing List Subject: [RFC 19/19] mmc: sdhci-esdhc-imx: Add interconnect support Date: Fri, 19 Feb 2021 18:00:16 +0200 Message-Id: <1613750416-11901-20-git-send-email-abel.vesa@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> References: <1613750416-11901-1-git-send-email-abel.vesa@nxp.com> X-Virus-Scanned: ClamAV using ClamSMTP X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210219_160340_221693_663C7A97 X-CRM114-Status: GOOD ( 16.49 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: NXP Linux Team , Abel Vesa MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On probe, if the dts node contains a valid icc path, then look for the fsl,icc-rate property and get the rate. Also set the icc bandwidth for that path to the nominal rate needed for sdhc to function right. Then enable and disable the path every time the sdhc is used or not. This will result in reducing the clock speeds along the icc path for each pl301 and NoC, but still meet the requirements for all the other icc consumers. Signed-off-by: Abel Vesa --- drivers/mmc/host/sdhci-esdhc-imx.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index a20459744d21..65c5caf82e0c 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c @@ -9,6 +9,7 @@ */ #include +#include #include #include #include @@ -287,6 +288,9 @@ struct pltfm_imx_data { struct clk *clk_ahb; struct clk *clk_per; unsigned int actual_clock; + struct icc_path *bus_path; + unsigned int bus_rate; + enum { NO_CMD_PENDING, /* no multiblock command pending */ MULTIBLK_IN_PROCESS, /* exact multiblock cmd in process */ @@ -1539,6 +1543,18 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev) if (imx_data->socdata->flags & ESDHC_FLAG_PMQOS) cpu_latency_qos_add_request(&imx_data->pm_qos_req, 0); + imx_data->bus_path = devm_of_icc_get(&pdev->dev, "path"); + if (IS_ERR(imx_data->bus_path)) { + return PTR_ERR(imx_data->bus_path); + } else if (imx_data->bus_path) { + if (of_property_read_u32(pdev->dev.of_node, "fsl,icc-rate", &imx_data->bus_rate)) { + dev_err(&pdev->dev, "icc-rate missing\n"); + return -EINVAL; + } + + err = icc_set_bw(imx_data->bus_path, 0, imx_data->bus_rate); + } + imx_data->clk_ipg = devm_clk_get(&pdev->dev, "ipg"); if (IS_ERR(imx_data->clk_ipg)) { err = PTR_ERR(imx_data->clk_ipg); @@ -1720,14 +1736,20 @@ static int sdhci_esdhc_suspend(struct device *dev) ret = mmc_gpio_set_cd_wake(host->mmc, true); + icc_disable(imx_data->bus_path); + return ret; } static int sdhci_esdhc_resume(struct device *dev) { struct sdhci_host *host = dev_get_drvdata(dev); + struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); + struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host); int ret; + icc_enable(imx_data->bus_path); + ret = pinctrl_pm_select_default_state(dev); if (ret) return ret; @@ -1779,6 +1801,8 @@ static int sdhci_esdhc_runtime_suspend(struct device *dev) if (imx_data->socdata->flags & ESDHC_FLAG_PMQOS) cpu_latency_qos_remove_request(&imx_data->pm_qos_req); + icc_disable(imx_data->bus_path); + return ret; } @@ -1789,6 +1813,8 @@ static int sdhci_esdhc_runtime_resume(struct device *dev) struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host); int err; + icc_enable(imx_data->bus_path); + if (imx_data->socdata->flags & ESDHC_FLAG_PMQOS) cpu_latency_qos_add_request(&imx_data->pm_qos_req, 0);