Add interconnect and devfreq support for i.MX8MQ
From: | Abel Vesa <abel.vesa-AT-nxp.com> | |
To: | Rob Herring <robh-AT-kernel.org>, Dong Aisheng <aisheng.dong-AT-nxp.com>, Shawn Guo <shawnguo-AT-kernel.org>, Sascha Hauer <s.hauer-AT-pengutronix.de>, Fabio Estevam <festevam-AT-gmail.com>, "catalin.marinas-AT-arm.com" <catalin.marinas-AT-arm.com>, Will Deacon <will.deacon-AT-arm.com>, MyungJoo Ham <myungjoo.ham-AT-samsung.com>, Kyungmin Park <kyungmin.park-AT-samsung.com>, Chanwoo Choi <cw00.choi-AT-samsung.com>, Georgi Djakov <djakov-AT-kernel.org>, Adrian Hunter <adrian.hunter-AT-intel.com>, Ulf Hansson <ulf.hansson-AT-linaro.org>, Ahmad Fatoum <a.fatoum-AT-pengutronix.de> | |
Subject: | [RFC 00/19] Add interconnect and devfreq support for i.MX8MQ | |
Date: | Mon, 13 Sep 2021 20:37:55 +0300 | |
Message-ID: | <1631554694-9599-1-git-send-email-abel.vesa@nxp.com> | |
Cc: | Pengutronix Kernel Team <kernel-AT-pengutronix.de>, linux-serial-AT-vger.kernel.org, NXP Linux Team <linux-imx-AT-nxp.com>, Linux Kernel Mailing List <linux-kernel-AT-vger.kernel.org>, devicetree-AT-vger.kernel.org, linux-pm-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, Abel Vesa <abel.vesa-AT-nxp.com> | |
Archive-link: | Article |
In vendor tree there is something called busfreq but it is non-upstreamable. This approach with interconnect+devfreq gives us the same functionality by using already upstream and mature subsystems. This series is more of a proof-of-concept. Abel Vesa (19): dt-bindings: interconnect: imx8mq: Add missing pl301 and SAI ids devfreq: imx-bus: Switch governor to powersave devfreq: imx-bus: Decouple imx-bus from icc made devfreq: imx8m-ddrc: Change governor to powersave devfreq: imx8m-ddrc: Use the opps acquired from EL3 devfreq: imx8m-ddrc: Add late system sleep PM ops interconnect: imx: Switch from imx_icc_node_adj_desc to fsl,icc-id node assignment interconnect: imx8: Remove the imx_icc_node_adj_desc interconnect: imx8mq: Add the pl301_per_m and pl301_wakeup nodes and subnodes interconnect: imx8mq: Add of_match_table interconnect: imx: Add imx_icc_get_bw and imx_icc_aggregate functions arm64: dts: imx8mq: Add fsl,icc-id property to ddrc node arm64: dts: imx8mq: Add fsl,icc-id to noc node arm64: dts: imx8mq: Add all pl301 nodes arm64: dts: imx8mq: Add the interconnect node arm64: dts: imx8mq: Add interconnect properties to icc consumer nodes net: ethernet: fec_main: Add interconnect support mmc: sdhci-esdhc-imx: Add interconnect support arm64: defconfig: Add necessary configs for icc+devfreq on i.MX8MQ arch/arm64/boot/dts/freescale/imx8mq.dtsi | 222 +++++++++++++++++++++- arch/arm64/configs/defconfig | 9 +- drivers/devfreq/imx-bus.c | 42 +--- drivers/devfreq/imx8m-ddrc.c | 78 +++----- drivers/interconnect/imx/imx.c | 92 +++++---- drivers/interconnect/imx/imx.h | 19 +- drivers/interconnect/imx/imx8mm.c | 32 +--- drivers/interconnect/imx/imx8mn.c | 28 +-- drivers/interconnect/imx/imx8mq.c | 59 +++--- drivers/mmc/host/sdhci-esdhc-imx.c | 27 +++ drivers/net/ethernet/freescale/fec.h | 3 + drivers/net/ethernet/freescale/fec_main.c | 19 ++ include/dt-bindings/interconnect/imx8mq.h | 9 + 13 files changed, 422 insertions(+), 217 deletions(-) -- 2.31.1