linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP
@ 2022-07-08  8:56 Peng Fan (OSS)
  2022-07-08  8:56 ` [PATCH V4 1/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk ctrl Peng Fan (OSS)
                   ` (9 more replies)
  0 siblings, 10 replies; 17+ messages in thread
From: Peng Fan (OSS) @ 2022-07-08  8:56 UTC (permalink / raw)
  To: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, marex, paul.elder, Markus.Niebel, aford173
  Cc: kernel, linux-pm, devicetree, linux-arm-kernel, linux-kernel,
	linux-imx, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

V4:
 Because the header is not included when adding NoC node, the fsl,imx8mp.h
 needs be included in this patchset. So include it in patch 6

V3:
 Move adding NoC node patch to i.MX8MP ICC driver patchset
 Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.

V2:
 Use a low bandwidth value instead INT_MAX
 Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
 Add A-b tag from DT maintainer

i.MX8MP NoC settings is invalid after related power domain up. So
need to set valid values after power domain up.

This patchset is to bind interconnect for each entry in blk ctrl.

This patchset is not include DVFS DDRC feature.

Peng Fan (7):
  dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
    ctrl
  dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
    ctrl
  dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
    ctrl
  soc: imx: add icc paths for i.MX8MP media blk ctrl
  soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
  arm64: dts: imx8mp: add interconnects for media blk ctrl
  arm64: dts: imx8mp: add interconnect for hsio blk ctrl

 .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
 .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
 .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
 arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
 drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
 drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
 6 files changed, 125 insertions(+)

-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [PATCH V4 1/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk ctrl
  2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
@ 2022-07-08  8:56 ` Peng Fan (OSS)
  2022-07-08  8:56 ` [PATCH V4 2/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi " Peng Fan (OSS)
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Peng Fan (OSS) @ 2022-07-08  8:56 UTC (permalink / raw)
  To: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, marex, paul.elder, Markus.Niebel, aford173
  Cc: kernel, linux-pm, devicetree, linux-arm-kernel, linux-kernel,
	linux-imx, Peng Fan, Krzysztof Kozlowski

From: Peng Fan <peng.fan@nxp.com>

Add interconnect property for i.MX8MP mediamix blk ctrl

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml         | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
index b246d8386ba4..dadb6108e321 100644
--- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml
@@ -64,6 +64,20 @@ properties:
       - const: isp
       - const: phy
 
+  interconnects:
+    maxItems: 8
+
+  interconnect-names:
+    items:
+      - const: lcdif-rd
+      - const: lcdif-wr
+      - const: isi0
+      - const: isi1
+      - const: isi2
+      - const: isp0
+      - const: isp1
+      - const: dwe
+
 required:
   - compatible
   - reg
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 2/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk ctrl
  2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
  2022-07-08  8:56 ` [PATCH V4 1/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk ctrl Peng Fan (OSS)
@ 2022-07-08  8:56 ` Peng Fan (OSS)
  2022-07-08  8:56 ` [PATCH V4 3/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio " Peng Fan (OSS)
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Peng Fan (OSS) @ 2022-07-08  8:56 UTC (permalink / raw)
  To: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, marex, paul.elder, Markus.Niebel, aford173
  Cc: kernel, linux-pm, devicetree, linux-arm-kernel, linux-kernel,
	linux-imx, Peng Fan, Krzysztof Kozlowski

From: Peng Fan <peng.fan@nxp.com>

Add interconnect property for i.MX8MP hdmi blk ctrl

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 .../bindings/soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml       | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml
index 563e1d0e327f..1be4ce2a45e8 100644
--- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml
@@ -52,6 +52,15 @@ properties:
       - const: ref_266m
       - const: ref_24m
 
+  interconnects:
+    maxItems: 3
+
+  interconnect-names:
+    items:
+      - const: hrv
+      - const: lcdif-hdmi
+      - const: hdcp
+
 required:
   - compatible
   - reg
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 3/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk ctrl
  2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
  2022-07-08  8:56 ` [PATCH V4 1/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk ctrl Peng Fan (OSS)
  2022-07-08  8:56 ` [PATCH V4 2/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi " Peng Fan (OSS)
@ 2022-07-08  8:56 ` Peng Fan (OSS)
  2022-07-08  8:56 ` [PATCH V4 4/7] soc: imx: add icc paths for i.MX8MP media " Peng Fan (OSS)
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Peng Fan (OSS) @ 2022-07-08  8:56 UTC (permalink / raw)
  To: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, marex, paul.elder, Markus.Niebel, aford173
  Cc: kernel, linux-pm, devicetree, linux-arm-kernel, linux-kernel,
	linux-imx, Peng Fan, Krzysztof Kozlowski

From: Peng Fan <peng.fan@nxp.com>

Add interconnect property for i.MX8MP hsio blk ctrl

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 .../bindings/soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml
index c1e29d94f40e..c29181a9745b 100644
--- a/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml
+++ b/Documentation/devicetree/bindings/soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml
@@ -48,6 +48,16 @@ properties:
       - const: usb
       - const: pcie
 
+  interconnects:
+    maxItems: 4
+
+  interconnect-names:
+    items:
+      - const: noc-pcie
+      - const: usb1
+      - const: usb2
+      - const: pcie
+
 required:
   - compatible
   - reg
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 4/7] soc: imx: add icc paths for i.MX8MP media blk ctrl
  2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
                   ` (2 preceding siblings ...)
  2022-07-08  8:56 ` [PATCH V4 3/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio " Peng Fan (OSS)
@ 2022-07-08  8:56 ` Peng Fan (OSS)
  2022-07-08  8:56 ` [PATCH V4 5/7] soc: imx: add icc paths for i.MX8MP hsio/hdmi " Peng Fan (OSS)
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Peng Fan (OSS) @ 2022-07-08  8:56 UTC (permalink / raw)
  To: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, marex, paul.elder, Markus.Niebel, aford173
  Cc: kernel, linux-pm, devicetree, linux-arm-kernel, linux-kernel,
	linux-imx, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Add interconnect paths for i.MX8MP media blk ctrl

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/soc/imx/imx8m-blk-ctrl.c | 39 ++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
index dff7529268e4..9b0f81dc292b 100644
--- a/drivers/soc/imx/imx8m-blk-ctrl.c
+++ b/drivers/soc/imx/imx8m-blk-ctrl.c
@@ -5,6 +5,7 @@
  */
 
 #include <linux/device.h>
+#include <linux/interconnect.h>
 #include <linux/module.h>
 #include <linux/of_device.h>
 #include <linux/platform_device.h>
@@ -37,6 +38,8 @@ struct imx8m_blk_ctrl_domain_data {
 	const char *name;
 	const char * const *clk_names;
 	int num_clks;
+	const char * const *path_names;
+	int num_paths;
 	const char *gpc_name;
 	u32 rst_mask;
 	u32 clk_mask;
@@ -52,13 +55,16 @@ struct imx8m_blk_ctrl_domain_data {
 };
 
 #define DOMAIN_MAX_CLKS 4
+#define DOMAIN_MAX_PATHS 4
 
 struct imx8m_blk_ctrl_domain {
 	struct generic_pm_domain genpd;
 	const struct imx8m_blk_ctrl_domain_data *data;
 	struct clk_bulk_data clks[DOMAIN_MAX_CLKS];
+	struct icc_bulk_data paths[DOMAIN_MAX_PATHS];
 	struct device *power_dev;
 	struct imx8m_blk_ctrl *bc;
+	int num_paths;
 };
 
 struct imx8m_blk_ctrl_data {
@@ -117,6 +123,10 @@ static int imx8m_blk_ctrl_power_on(struct generic_pm_domain *genpd)
 	if (data->mipi_phy_rst_mask)
 		regmap_set_bits(bc->regmap, BLK_MIPI_RESET_DIV, data->mipi_phy_rst_mask);
 
+	ret = icc_bulk_set_bw(domain->num_paths, domain->paths);
+	if (ret)
+		dev_err(bc->dev, "failed to set icc bw\n");
+
 	/* disable upstream clocks */
 	clk_bulk_disable_unprepare(data->num_clks, domain->clks);
 
@@ -224,10 +234,29 @@ static int imx8m_blk_ctrl_probe(struct platform_device *pdev)
 		int j;
 
 		domain->data = data;
+		domain->num_paths = data->num_paths;
 
 		for (j = 0; j < data->num_clks; j++)
 			domain->clks[j].id = data->clk_names[j];
 
+		for (j = 0; j < data->num_paths; j++) {
+			domain->paths[j].name = data->path_names[j];
+			/* Fake value for now, just let ICC could configure NoC mode/priority */
+			domain->paths[j].avg_bw = 1;
+			domain->paths[j].peak_bw = 1;
+		}
+
+		ret = devm_of_icc_bulk_get(dev, data->num_paths, domain->paths);
+		if (ret) {
+			if (ret != -EPROBE_DEFER) {
+				dev_warn_once(dev, "Could not get interconnect paths, NoC will stay unconfigured!\n");
+				domain->num_paths = 0;
+			} else {
+				dev_err_probe(dev, ret, "failed to get noc entries\n");
+				goto cleanup_pds;
+			}
+		}
+
 		ret = devm_clk_bulk_get(dev, data->num_clks, domain->clks);
 		if (ret) {
 			dev_err_probe(dev, ret, "failed to get clock\n");
@@ -650,6 +679,8 @@ static const struct imx8m_blk_ctrl_domain_data imx8mp_media_blk_ctl_domain_data[
 		.gpc_name = "lcdif1",
 		.rst_mask = BIT(4) | BIT(5) | BIT(23),
 		.clk_mask = BIT(4) | BIT(5) | BIT(23),
+		.path_names = (const char *[]){"lcdif-rd", "lcdif-wr"},
+		.num_paths = 2,
 	},
 	[IMX8MP_MEDIABLK_PD_ISI] = {
 		.name = "mediablk-isi",
@@ -658,6 +689,8 @@ static const struct imx8m_blk_ctrl_domain_data imx8mp_media_blk_ctl_domain_data[
 		.gpc_name = "isi",
 		.rst_mask = BIT(6) | BIT(7),
 		.clk_mask = BIT(6) | BIT(7),
+		.path_names = (const char *[]){"isi0", "isi1", "isi2"},
+		.num_paths = 3,
 	},
 	[IMX8MP_MEDIABLK_PD_MIPI_CSI2_2] = {
 		.name = "mediablk-mipi-csi2-2",
@@ -675,6 +708,8 @@ static const struct imx8m_blk_ctrl_domain_data imx8mp_media_blk_ctl_domain_data[
 		.gpc_name = "lcdif2",
 		.rst_mask = BIT(11) | BIT(12) | BIT(24),
 		.clk_mask = BIT(11) | BIT(12) | BIT(24),
+		.path_names = (const char *[]){"lcdif-rd", "lcdif-wr"},
+		.num_paths = 2,
 	},
 	[IMX8MP_MEDIABLK_PD_ISP] = {
 		.name = "mediablk-isp",
@@ -683,6 +718,8 @@ static const struct imx8m_blk_ctrl_domain_data imx8mp_media_blk_ctl_domain_data[
 		.gpc_name = "isp",
 		.rst_mask = BIT(16) | BIT(17) | BIT(18),
 		.clk_mask = BIT(16) | BIT(17) | BIT(18),
+		.path_names = (const char *[]){"isp0", "isp1"},
+		.num_paths = 2,
 	},
 	[IMX8MP_MEDIABLK_PD_DWE] = {
 		.name = "mediablk-dwe",
@@ -691,6 +728,8 @@ static const struct imx8m_blk_ctrl_domain_data imx8mp_media_blk_ctl_domain_data[
 		.gpc_name = "dwe",
 		.rst_mask = BIT(19) | BIT(20) | BIT(21),
 		.clk_mask = BIT(19) | BIT(20) | BIT(21),
+		.path_names = (const char *[]){"dwe"},
+		.num_paths = 1,
 	},
 	[IMX8MP_MEDIABLK_PD_MIPI_DSI_2] = {
 		.name = "mediablk-mipi-dsi-2",
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 5/7] soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
  2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
                   ` (3 preceding siblings ...)
  2022-07-08  8:56 ` [PATCH V4 4/7] soc: imx: add icc paths for i.MX8MP media " Peng Fan (OSS)
@ 2022-07-08  8:56 ` Peng Fan (OSS)
  2022-07-08  8:56 ` [PATCH V4 6/7] arm64: dts: imx8mp: add interconnects for media " Peng Fan (OSS)
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Peng Fan (OSS) @ 2022-07-08  8:56 UTC (permalink / raw)
  To: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, marex, paul.elder, Markus.Niebel, aford173
  Cc: kernel, linux-pm, devicetree, linux-arm-kernel, linux-kernel,
	linux-imx, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Add interconnect paths for i.MX8MP hsio/hdmi blk ctrl

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/soc/imx/imx8mp-blk-ctrl.c | 35 +++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
index 4ca2ede6871b..6f983adcb47c 100644
--- a/drivers/soc/imx/imx8mp-blk-ctrl.c
+++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
@@ -6,6 +6,7 @@
 
 #include <linux/clk.h>
 #include <linux/device.h>
+#include <linux/interconnect.h>
 #include <linux/module.h>
 #include <linux/of_device.h>
 #include <linux/platform_device.h>
@@ -36,17 +37,22 @@ struct imx8mp_blk_ctrl_domain_data {
 	const char *name;
 	const char * const *clk_names;
 	int num_clks;
+	const char * const *path_names;
+	int num_paths;
 	const char *gpc_name;
 };
 
 #define DOMAIN_MAX_CLKS 2
+#define DOMAIN_MAX_PATHS 3
 
 struct imx8mp_blk_ctrl_domain {
 	struct generic_pm_domain genpd;
 	const struct imx8mp_blk_ctrl_domain_data *data;
 	struct clk_bulk_data clks[DOMAIN_MAX_CLKS];
+	struct icc_bulk_data paths[DOMAIN_MAX_PATHS];
 	struct device *power_dev;
 	struct imx8mp_blk_ctrl *bc;
+	int num_paths;
 	int id;
 };
 
@@ -144,6 +150,8 @@ static const struct imx8mp_blk_ctrl_domain_data imx8mp_hsio_domain_data[] = {
 		.clk_names = (const char *[]){ "usb" },
 		.num_clks = 1,
 		.gpc_name = "usb",
+		.path_names = (const char *[]){"usb1", "usb2"},
+		.num_paths = 2,
 	},
 	[IMX8MP_HSIOBLK_PD_USB_PHY1] = {
 		.name = "hsioblk-usb-phy1",
@@ -158,6 +166,8 @@ static const struct imx8mp_blk_ctrl_domain_data imx8mp_hsio_domain_data[] = {
 		.clk_names = (const char *[]){ "pcie" },
 		.num_clks = 1,
 		.gpc_name = "pcie",
+		.path_names = (const char *[]){"noc-pcie", "pcie"},
+		.num_paths = 2,
 	},
 	[IMX8MP_HSIOBLK_PD_PCIE_PHY] = {
 		.name = "hsioblk-pcie-phy",
@@ -322,6 +332,8 @@ static const struct imx8mp_blk_ctrl_domain_data imx8mp_hdmi_domain_data[] = {
 		.clk_names = (const char *[]){ "axi", "apb" },
 		.num_clks = 2,
 		.gpc_name = "lcdif",
+		.path_names = (const char *[]){"lcdif-hdmi"},
+		.num_paths = 1,
 	},
 	[IMX8MP_HDMIBLK_PD_PAI] = {
 		.name = "hdmiblk-pai",
@@ -395,6 +407,10 @@ static int imx8mp_blk_ctrl_power_on(struct generic_pm_domain *genpd)
 		goto clk_disable;
 	}
 
+	ret = icc_bulk_set_bw(domain->num_paths, domain->paths);
+	if (ret)
+		dev_err(bc->dev, "failed to set icc bw\n");
+
 	clk_bulk_disable_unprepare(data->num_clks, domain->clks);
 
 	return 0;
@@ -510,10 +526,29 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev)
 		int j;
 
 		domain->data = data;
+		domain->num_paths = data->num_paths;
 
 		for (j = 0; j < data->num_clks; j++)
 			domain->clks[j].id = data->clk_names[j];
 
+		for (j = 0; j < data->num_paths; j++) {
+			domain->paths[j].name = data->path_names[j];
+			/* Fake value for now, just let ICC could configure NoC mode/priority */
+			domain->paths[j].avg_bw = 1;
+			domain->paths[j].peak_bw = 1;
+		}
+
+		ret = devm_of_icc_bulk_get(dev, data->num_paths, domain->paths);
+		if (ret) {
+			if (ret != -EPROBE_DEFER) {
+				dev_warn_once(dev, "Could not get interconnect paths, NoC will stay unconfigured!\n");
+				domain->num_paths = 0;
+			} else {
+				dev_err_probe(dev, ret, "failed to get noc entries\n");
+				goto cleanup_pds;
+			}
+		}
+
 		ret = devm_clk_bulk_get(dev, data->num_clks, domain->clks);
 		if (ret) {
 			dev_err_probe(dev, ret, "failed to get clock\n");
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 6/7] arm64: dts: imx8mp: add interconnects for media blk ctrl
  2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
                   ` (4 preceding siblings ...)
  2022-07-08  8:56 ` [PATCH V4 5/7] soc: imx: add icc paths for i.MX8MP hsio/hdmi " Peng Fan (OSS)
@ 2022-07-08  8:56 ` Peng Fan (OSS)
  2022-07-08  8:56 ` [PATCH V4 7/7] arm64: dts: imx8mp: add interconnect for hsio " Peng Fan (OSS)
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Peng Fan (OSS) @ 2022-07-08  8:56 UTC (permalink / raw)
  To: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, marex, paul.elder, Markus.Niebel, aford173
  Cc: kernel, linux-pm, devicetree, linux-arm-kernel, linux-kernel,
	linux-imx, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Add interconnect property for media blk ctrl

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8mp.dtsi | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index fe178b7d063c..a36d53914a24 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -7,6 +7,7 @@
 #include <dt-bindings/power/imx8mp-power.h>
 #include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/input/input.h>
+#include <dt-bindings/interconnect/fsl,imx8mp.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/thermal/thermal.h>
 
@@ -1064,6 +1065,18 @@ media_blk_ctrl: blk-ctrl@32ec0000 {
 						     "lcdif1", "isi", "mipi-csi2",
 						     "lcdif2", "isp", "dwe",
 						     "mipi-dsi2";
+				interconnects =
+					<&noc IMX8MP_ICM_LCDIF_RD &noc IMX8MP_ICN_MEDIA>,
+					<&noc IMX8MP_ICM_LCDIF_WR &noc IMX8MP_ICN_MEDIA>,
+					<&noc IMX8MP_ICM_ISI0 &noc IMX8MP_ICN_MEDIA>,
+					<&noc IMX8MP_ICM_ISI1 &noc IMX8MP_ICN_MEDIA>,
+					<&noc IMX8MP_ICM_ISI2 &noc IMX8MP_ICN_MEDIA>,
+					<&noc IMX8MP_ICM_ISP0 &noc IMX8MP_ICN_MEDIA>,
+					<&noc IMX8MP_ICM_ISP1 &noc IMX8MP_ICN_MEDIA>,
+					<&noc IMX8MP_ICM_DWE &noc IMX8MP_ICN_MEDIA>;
+				interconnect-names = "lcdif-rd", "lcdif-wr", "isi0",
+						     "isi1", "isi2", "isp0", "isp1",
+						     "dwe";
 				clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
 					 <&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
 					 <&clk IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT>,
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* [PATCH V4 7/7] arm64: dts: imx8mp: add interconnect for hsio blk ctrl
  2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
                   ` (5 preceding siblings ...)
  2022-07-08  8:56 ` [PATCH V4 6/7] arm64: dts: imx8mp: add interconnects for media " Peng Fan (OSS)
@ 2022-07-08  8:56 ` Peng Fan (OSS)
  2022-08-09  1:33 ` [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 17+ messages in thread
From: Peng Fan (OSS) @ 2022-07-08  8:56 UTC (permalink / raw)
  To: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, marex, paul.elder, Markus.Niebel, aford173
  Cc: kernel, linux-pm, devicetree, linux-arm-kernel, linux-kernel,
	linux-imx, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Add interconnect property for hsio blk ctrl

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 arch/arm64/boot/dts/freescale/imx8mp.dtsi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm64/boot/dts/freescale/imx8mp.dtsi b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
index a36d53914a24..0b165f98a82c 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1108,6 +1108,11 @@ hsio_blk_ctrl: blk-ctrl@32f10000 {
 						<&pgc_hsiomix>, <&pgc_pcie_phy>;
 				power-domain-names = "bus", "usb", "usb-phy1",
 						     "usb-phy2", "pcie", "pcie-phy";
+				interconnects = <&noc IMX8MP_ICM_NOC_PCIE &noc IMX8MP_ICN_HSIO>,
+						<&noc IMX8MP_ICM_USB1 &noc IMX8MP_ICN_HSIO>,
+						<&noc IMX8MP_ICM_USB2 &noc IMX8MP_ICN_HSIO>,
+						<&noc IMX8MP_ICM_PCIE &noc IMX8MP_ICN_HSIO>;
+				interconnect-names = "noc-pcie", "usb1", "usb2", "pcie";
 				#power-domain-cells = <1>;
 			};
 		};
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 17+ messages in thread

* Re: [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP
  2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
                   ` (6 preceding siblings ...)
  2022-07-08  8:56 ` [PATCH V4 7/7] arm64: dts: imx8mp: add interconnect for hsio " Peng Fan (OSS)
@ 2022-08-09  1:33 ` Peng Fan
  2022-08-17  9:05 ` Shawn Guo
  2022-10-11 20:10 ` Tim Harvey
  9 siblings, 0 replies; 17+ messages in thread
From: Peng Fan @ 2022-08-09  1:33 UTC (permalink / raw)
  To: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, marex, paul.elder, Markus.Niebel, aford173
  Cc: kernel, linux-pm, devicetree, linux-arm-kernel, linux-kernel,
	linux-imx, Peng Fan

Hi Shawn,

Ping..

Thanks,
Peng.

On 7/8/2022 4:56 PM, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> V4:
>   Because the header is not included when adding NoC node, the fsl,imx8mp.h
>   needs be included in this patchset. So include it in patch 6
> 
> V3:
>   Move adding NoC node patch to i.MX8MP ICC driver patchset
>   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> 
> V2:
>   Use a low bandwidth value instead INT_MAX
>   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
>   Add A-b tag from DT maintainer
> 
> i.MX8MP NoC settings is invalid after related power domain up. So
> need to set valid values after power domain up.
> 
> This patchset is to bind interconnect for each entry in blk ctrl.
> 
> This patchset is not include DVFS DDRC feature.
> 
> Peng Fan (7):
>    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
>      ctrl
>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
>      ctrl
>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
>      ctrl
>    soc: imx: add icc paths for i.MX8MP media blk ctrl
>    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
>    arm64: dts: imx8mp: add interconnects for media blk ctrl
>    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> 
>   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
>   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
>   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
>   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
>   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
>   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
>   6 files changed, 125 insertions(+)
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP
  2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
                   ` (7 preceding siblings ...)
  2022-08-09  1:33 ` [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan
@ 2022-08-17  9:05 ` Shawn Guo
  2022-10-11 20:10 ` Tim Harvey
  9 siblings, 0 replies; 17+ messages in thread
From: Shawn Guo @ 2022-08-17  9:05 UTC (permalink / raw)
  To: Peng Fan (OSS)
  Cc: djakov, s.hauer, festevam, robh+dt, krzysztof.kozlowski+dt,
	abelvesa, abailon, l.stach, laurent.pinchart, marex, paul.elder,
	Markus.Niebel, aford173, kernel, linux-pm, devicetree,
	linux-arm-kernel, linux-kernel, linux-imx, Peng Fan

On Fri, Jul 08, 2022 at 04:56:25PM +0800, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> V4:
>  Because the header is not included when adding NoC node, the fsl,imx8mp.h
>  needs be included in this patchset. So include it in patch 6
> 
> V3:
>  Move adding NoC node patch to i.MX8MP ICC driver patchset
>  Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> 
> V2:
>  Use a low bandwidth value instead INT_MAX
>  Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
>  Add A-b tag from DT maintainer
> 
> i.MX8MP NoC settings is invalid after related power domain up. So
> need to set valid values after power domain up.
> 
> This patchset is to bind interconnect for each entry in blk ctrl.
> 
> This patchset is not include DVFS DDRC feature.
> 
> Peng Fan (7):
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
>     ctrl
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
>     ctrl
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
>     ctrl
>   soc: imx: add icc paths for i.MX8MP media blk ctrl
>   soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
>   arm64: dts: imx8mp: add interconnects for media blk ctrl
>   arm64: dts: imx8mp: add interconnect for hsio blk ctrl

Applied all, thanks!

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP
  2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
                   ` (8 preceding siblings ...)
  2022-08-17  9:05 ` Shawn Guo
@ 2022-10-11 20:10 ` Tim Harvey
  2022-10-11 23:13   ` Marek Vasut
  9 siblings, 1 reply; 17+ messages in thread
From: Tim Harvey @ 2022-10-11 20:10 UTC (permalink / raw)
  To: Peng Fan (OSS)
  Cc: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, marex, paul.elder, Markus.Niebel, aford173,
	kernel, linux-pm, devicetree, linux-arm-kernel, linux-kernel,
	linux-imx, Peng Fan

On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
>
> From: Peng Fan <peng.fan@nxp.com>
>
> V4:
>  Because the header is not included when adding NoC node, the fsl,imx8mp.h
>  needs be included in this patchset. So include it in patch 6
>
> V3:
>  Move adding NoC node patch to i.MX8MP ICC driver patchset
>  Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
>
> V2:
>  Use a low bandwidth value instead INT_MAX
>  Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
>  Add A-b tag from DT maintainer
>
> i.MX8MP NoC settings is invalid after related power domain up. So
> need to set valid values after power domain up.
>
> This patchset is to bind interconnect for each entry in blk ctrl.
>
> This patchset is not include DVFS DDRC feature.
>
> Peng Fan (7):
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
>     ctrl
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
>     ctrl
>   dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
>     ctrl
>   soc: imx: add icc paths for i.MX8MP media blk ctrl
>   soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
>   arm64: dts: imx8mp: add interconnects for media blk ctrl
>   arm64: dts: imx8mp: add interconnect for hsio blk ctrl
>
>  .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
>  .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
>  .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
>  arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
>  drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
>  drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
>  6 files changed, 125 insertions(+)
>
> --
> 2.25.1
>

Hi Peng,

I built origin/master from commit 041bc24d867a today for an imx8mp
board and am running into errors that appear to be introduced by this
series:
[   15.177372] platform 381f0040.usb-phy: deferred probe pending
[   15.183155] platform 382f0040.usb-phy: deferred probe pending
[   15.188928] platform 33800000.pcie: deferred probe pending
[   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
[   15.200287] platform 38330000.blk-ctrl: deferred probe pending
[   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
[   15.211974] platform 32f10100.usb: deferred probe pending
[   15.217382] platform 32f10108.usb: deferred probe pending
[   15.222791] platform cpufreq-dt: deferred probe pending
# cat /sys/kernel/debug/devices_deferred
381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
cpufreq-dt

Is there a driver I'm perhaps missing that is needed now or are there
some patches that come from a different unmerged tree needed?

Best Regards,

Tim

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP
  2022-10-11 20:10 ` Tim Harvey
@ 2022-10-11 23:13   ` Marek Vasut
  2022-10-12 18:46     ` Tim Harvey
  0 siblings, 1 reply; 17+ messages in thread
From: Marek Vasut @ 2022-10-11 23:13 UTC (permalink / raw)
  To: Tim Harvey, Peng Fan (OSS)
  Cc: djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, paul.elder, Markus.Niebel, aford173, kernel,
	linux-pm, devicetree, linux-arm-kernel, linux-kernel, linux-imx,
	Peng Fan

On 10/11/22 22:10, Tim Harvey wrote:
> On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
>>
>> From: Peng Fan <peng.fan@nxp.com>
>>
>> V4:
>>   Because the header is not included when adding NoC node, the fsl,imx8mp.h
>>   needs be included in this patchset. So include it in patch 6
>>
>> V3:
>>   Move adding NoC node patch to i.MX8MP ICC driver patchset
>>   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
>>
>> V2:
>>   Use a low bandwidth value instead INT_MAX
>>   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
>>   Add A-b tag from DT maintainer
>>
>> i.MX8MP NoC settings is invalid after related power domain up. So
>> need to set valid values after power domain up.
>>
>> This patchset is to bind interconnect for each entry in blk ctrl.
>>
>> This patchset is not include DVFS DDRC feature.
>>
>> Peng Fan (7):
>>    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
>>      ctrl
>>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
>>      ctrl
>>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
>>      ctrl
>>    soc: imx: add icc paths for i.MX8MP media blk ctrl
>>    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
>>    arm64: dts: imx8mp: add interconnects for media blk ctrl
>>    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
>>
>>   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
>>   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
>>   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
>>   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
>>   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
>>   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
>>   6 files changed, 125 insertions(+)
>>
>> --
>> 2.25.1
>>
> 
> Hi Peng,
> 
> I built origin/master from commit 041bc24d867a today for an imx8mp
> board and am running into errors that appear to be introduced by this
> series:
> [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> [   15.188928] platform 33800000.pcie: deferred probe pending
> [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> [   15.211974] platform 32f10100.usb: deferred probe pending
> [   15.217382] platform 32f10108.usb: deferred probe pending
> [   15.222791] platform cpufreq-dt: deferred probe pending
> # cat /sys/kernel/debug/devices_deferred
> 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> cpufreq-dt
> 
> Is there a driver I'm perhaps missing that is needed now or are there
> some patches that come from a different unmerged tree needed?

Do you have these enabled ?

CONFIG_INTERCONNECT_IMX8MM=y
CONFIG_INTERCONNECT_IMX8MN=y
CONFIG_INTERCONNECT_IMX8MQ=y
CONFIG_INTERCONNECT_IMX8MP=y

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP
  2022-10-11 23:13   ` Marek Vasut
@ 2022-10-12 18:46     ` Tim Harvey
  2022-10-13 18:23       ` Tim Harvey
  0 siblings, 1 reply; 17+ messages in thread
From: Tim Harvey @ 2022-10-12 18:46 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Peng Fan (OSS),
	djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, paul.elder, Markus.Niebel, aford173, kernel,
	linux-pm, devicetree, linux-arm-kernel, linux-kernel, linux-imx,
	Peng Fan

On Tue, Oct 11, 2022 at 4:13 PM Marek Vasut <marex@denx.de> wrote:
>
> On 10/11/22 22:10, Tim Harvey wrote:
> > On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
> >>
> >> From: Peng Fan <peng.fan@nxp.com>
> >>
> >> V4:
> >>   Because the header is not included when adding NoC node, the fsl,imx8mp.h
> >>   needs be included in this patchset. So include it in patch 6
> >>
> >> V3:
> >>   Move adding NoC node patch to i.MX8MP ICC driver patchset
> >>   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> >>
> >> V2:
> >>   Use a low bandwidth value instead INT_MAX
> >>   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
> >>   Add A-b tag from DT maintainer
> >>
> >> i.MX8MP NoC settings is invalid after related power domain up. So
> >> need to set valid values after power domain up.
> >>
> >> This patchset is to bind interconnect for each entry in blk ctrl.
> >>
> >> This patchset is not include DVFS DDRC feature.
> >>
> >> Peng Fan (7):
> >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
> >>      ctrl
> >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
> >>      ctrl
> >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
> >>      ctrl
> >>    soc: imx: add icc paths for i.MX8MP media blk ctrl
> >>    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
> >>    arm64: dts: imx8mp: add interconnects for media blk ctrl
> >>    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> >>
> >>   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
> >>   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
> >>   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
> >>   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
> >>   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
> >>   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
> >>   6 files changed, 125 insertions(+)
> >>
> >> --
> >> 2.25.1
> >>
> >
> > Hi Peng,
> >
> > I built origin/master from commit 041bc24d867a today for an imx8mp
> > board and am running into errors that appear to be introduced by this
> > series:
> > [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> > [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> > [   15.188928] platform 33800000.pcie: deferred probe pending
> > [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> > [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> > [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> > [   15.211974] platform 32f10100.usb: deferred probe pending
> > [   15.217382] platform 32f10108.usb: deferred probe pending
> > [   15.222791] platform cpufreq-dt: deferred probe pending
> > # cat /sys/kernel/debug/devices_deferred
> > 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> > 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> > 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> > 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> > cpufreq-dt
> >
> > Is there a driver I'm perhaps missing that is needed now or are there
> > some patches that come from a different unmerged tree needed?
>
> Do you have these enabled ?
>
> CONFIG_INTERCONNECT_IMX8MM=y
> CONFIG_INTERCONNECT_IMX8MN=y
> CONFIG_INTERCONNECT_IMX8MQ=y
> CONFIG_INTERCONNECT_IMX8MP=y

Marek,

Yes, I have those as well as CONFIG_ARCH_NXP which appears new for 6.1 enabled.

Best Regards,

Tim

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP
  2022-10-12 18:46     ` Tim Harvey
@ 2022-10-13 18:23       ` Tim Harvey
  2022-10-13 21:49         ` Lucas Stach
  0 siblings, 1 reply; 17+ messages in thread
From: Tim Harvey @ 2022-10-13 18:23 UTC (permalink / raw)
  To: Marek Vasut
  Cc: Peng Fan (OSS),
	djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, l.stach,
	laurent.pinchart, paul.elder, Markus.Niebel, aford173, kernel,
	linux-pm, devicetree, linux-arm-kernel, linux-kernel, linux-imx,
	Peng Fan

On Wed, Oct 12, 2022 at 11:46 AM Tim Harvey <tharvey@gateworks.com> wrote:
>
> On Tue, Oct 11, 2022 at 4:13 PM Marek Vasut <marex@denx.de> wrote:
> >
> > On 10/11/22 22:10, Tim Harvey wrote:
> > > On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
> > >>
> > >> From: Peng Fan <peng.fan@nxp.com>
> > >>
> > >> V4:
> > >>   Because the header is not included when adding NoC node, the fsl,imx8mp.h
> > >>   needs be included in this patchset. So include it in patch 6
> > >>
> > >> V3:
> > >>   Move adding NoC node patch to i.MX8MP ICC driver patchset
> > >>   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> > >>
> > >> V2:
> > >>   Use a low bandwidth value instead INT_MAX
> > >>   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
> > >>   Add A-b tag from DT maintainer
> > >>
> > >> i.MX8MP NoC settings is invalid after related power domain up. So
> > >> need to set valid values after power domain up.
> > >>
> > >> This patchset is to bind interconnect for each entry in blk ctrl.
> > >>
> > >> This patchset is not include DVFS DDRC feature.
> > >>
> > >> Peng Fan (7):
> > >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
> > >>      ctrl
> > >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
> > >>      ctrl
> > >>    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
> > >>      ctrl
> > >>    soc: imx: add icc paths for i.MX8MP media blk ctrl
> > >>    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
> > >>    arm64: dts: imx8mp: add interconnects for media blk ctrl
> > >>    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> > >>
> > >>   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
> > >>   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
> > >>   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
> > >>   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
> > >>   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
> > >>   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
> > >>   6 files changed, 125 insertions(+)
> > >>
> > >> --
> > >> 2.25.1
> > >>
> > >
> > > Hi Peng,
> > >
> > > I built origin/master from commit 041bc24d867a today for an imx8mp
> > > board and am running into errors that appear to be introduced by this
> > > series:
> > > [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> > > [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> > > [   15.188928] platform 33800000.pcie: deferred probe pending
> > > [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> > > [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> > > [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> > > [   15.211974] platform 32f10100.usb: deferred probe pending
> > > [   15.217382] platform 32f10108.usb: deferred probe pending
> > > [   15.222791] platform cpufreq-dt: deferred probe pending
> > > # cat /sys/kernel/debug/devices_deferred
> > > 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> > > 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> > > 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > cpufreq-dt
> > >
> > > Is there a driver I'm perhaps missing that is needed now or are there
> > > some patches that come from a different unmerged tree needed?
> >
> > Do you have these enabled ?
> >
> > CONFIG_INTERCONNECT_IMX8MM=y
> > CONFIG_INTERCONNECT_IMX8MN=y
> > CONFIG_INTERCONNECT_IMX8MQ=y
> > CONFIG_INTERCONNECT_IMX8MP=y
>
> Marek,
>
> Yes, I have those as well as CONFIG_ARCH_NXP which appears new for 6.1 enabled.
>
> Best Regards,
>
> Tim

I see this issue on origin/master 1440f5760228 using
arch/arm64/configs/defconfig.

It seems to me that the imx8m*_blk_ctrl_probe will all defer now until
perhaps all the drivers using interconnects can probe, such as
g1/lcdif etc?

Some added debugging shows me:
[   14.951371] of_icc_bulk_get path lcdif-rd err=-517
[   14.956205] devm_of_icc_bulk_get ret=-517
[   14.960562] imx8m_blk_ctrl_probe failed -517
[   14.967191] of_icc_bulk_get path g1 err=-517
[   14.971487] devm_of_icc_bulk_get ret=-517
[   14.975614] imx8m_blk_ctrl_probe failed -517
[   14.982200] of_icc_bulk_get path usb1 err=-517
[   14.986680] devm_of_icc_bulk_get ret=-517
[   14.990709] imx8mp_blk_ctrl_probe 0:usb1
[   14.994641] imx8mp_blk_ctrl_probe 1:usb2
[   15.002086] platform 381f0040.usb-phy: deferred probe pending
[   15.007875] platform 382f0040.usb-phy: deferred probe pending
[   15.013636] platform 32f00000.pcie-phy: deferred probe pending
[   15.019480] platform 33800000.pcie: deferred probe pending
[   15.024975] platform 32ec0000.blk-ctrl: deferred probe pending
[   15.030819] platform 38330000.blk-ctrl: deferred probe pending
[   15.036662] platform 32f10000.blk-ctrl: deferred probe pending
[   15.042503] platform 32f10100.usb: deferred probe pending
[   15.047912] platform 32f10108.usb: deferred probe pending

Best Regards,

Tim

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP
  2022-10-13 18:23       ` Tim Harvey
@ 2022-10-13 21:49         ` Lucas Stach
  2022-10-17 18:53           ` Tim Harvey
  0 siblings, 1 reply; 17+ messages in thread
From: Lucas Stach @ 2022-10-13 21:49 UTC (permalink / raw)
  To: Tim Harvey, Marek Vasut
  Cc: Peng Fan (OSS),
	djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, laurent.pinchart,
	paul.elder, Markus.Niebel, aford173, kernel, linux-pm,
	devicetree, linux-arm-kernel, linux-kernel, linux-imx, Peng Fan

Hi Tim,

Am Donnerstag, dem 13.10.2022 um 11:23 -0700 schrieb Tim Harvey:
> On Wed, Oct 12, 2022 at 11:46 AM Tim Harvey <tharvey@gateworks.com> wrote:
> > 
> > On Tue, Oct 11, 2022 at 4:13 PM Marek Vasut <marex@denx.de> wrote:
> > > 
> > > On 10/11/22 22:10, Tim Harvey wrote:
> > > > On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
> > > > > 
> > > > > From: Peng Fan <peng.fan@nxp.com>
> > > > > 
> > > > > V4:
> > > > >   Because the header is not included when adding NoC node, the fsl,imx8mp.h
> > > > >   needs be included in this patchset. So include it in patch 6
> > > > > 
> > > > > V3:
> > > > >   Move adding NoC node patch to i.MX8MP ICC driver patchset
> > > > >   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> > > > > 
> > > > > V2:
> > > > >   Use a low bandwidth value instead INT_MAX
> > > > >   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
> > > > >   Add A-b tag from DT maintainer
> > > > > 
> > > > > i.MX8MP NoC settings is invalid after related power domain up. So
> > > > > need to set valid values after power domain up.
> > > > > 
> > > > > This patchset is to bind interconnect for each entry in blk ctrl.
> > > > > 
> > > > > This patchset is not include DVFS DDRC feature.
> > > > > 
> > > > > Peng Fan (7):
> > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
> > > > >      ctrl
> > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
> > > > >      ctrl
> > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
> > > > >      ctrl
> > > > >    soc: imx: add icc paths for i.MX8MP media blk ctrl
> > > > >    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
> > > > >    arm64: dts: imx8mp: add interconnects for media blk ctrl
> > > > >    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> > > > > 
> > > > >   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
> > > > >   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
> > > > >   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
> > > > >   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
> > > > >   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
> > > > >   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
> > > > >   6 files changed, 125 insertions(+)
> > > > > 
> > > > > --
> > > > > 2.25.1
> > > > > 
> > > > 
> > > > Hi Peng,
> > > > 
> > > > I built origin/master from commit 041bc24d867a today for an imx8mp
> > > > board and am running into errors that appear to be introduced by this
> > > > series:
> > > > [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> > > > [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> > > > [   15.188928] platform 33800000.pcie: deferred probe pending
> > > > [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> > > > [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> > > > [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> > > > [   15.211974] platform 32f10100.usb: deferred probe pending
> > > > [   15.217382] platform 32f10108.usb: deferred probe pending
> > > > [   15.222791] platform cpufreq-dt: deferred probe pending
> > > > # cat /sys/kernel/debug/devices_deferred
> > > > 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > > 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > > 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> > > > 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > > 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > > 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> > > > 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > > 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > > cpufreq-dt
> > > > 
> > > > Is there a driver I'm perhaps missing that is needed now or are there
> > > > some patches that come from a different unmerged tree needed?
> > > 
> > > Do you have these enabled ?
> > > 
> > > CONFIG_INTERCONNECT_IMX8MM=y
> > > CONFIG_INTERCONNECT_IMX8MN=y
> > > CONFIG_INTERCONNECT_IMX8MQ=y
> > > CONFIG_INTERCONNECT_IMX8MP=y
> > 
> > Marek,
> > 
> > Yes, I have those as well as CONFIG_ARCH_NXP which appears new for 6.1 enabled.
> > 
> > Best Regards,
> > 
> > Tim
> 
> I see this issue on origin/master 1440f5760228 using
> arch/arm64/configs/defconfig.
> 
> It seems to me that the imx8m*_blk_ctrl_probe will all defer now until
> perhaps all the drivers using interconnects can probe, such as
> g1/lcdif etc?
> 
> Some added debugging shows me:
> [   14.951371] of_icc_bulk_get path lcdif-rd err=-517
> [   14.956205] devm_of_icc_bulk_get ret=-517
> [   14.960562] imx8m_blk_ctrl_probe failed -517
> [   14.967191] of_icc_bulk_get path g1 err=-517
> [   14.971487] devm_of_icc_bulk_get ret=-517
> [   14.975614] imx8m_blk_ctrl_probe failed -517
> [   14.982200] of_icc_bulk_get path usb1 err=-517
> [   14.986680] devm_of_icc_bulk_get ret=-517
> [   14.990709] imx8mp_blk_ctrl_probe 0:usb1
> [   14.994641] imx8mp_blk_ctrl_probe 1:usb2
> [   15.002086] platform 381f0040.usb-phy: deferred probe pending
> [   15.007875] platform 382f0040.usb-phy: deferred probe pending
> [   15.013636] platform 32f00000.pcie-phy: deferred probe pending
> [   15.019480] platform 33800000.pcie: deferred probe pending
> [   15.024975] platform 32ec0000.blk-ctrl: deferred probe pending
> [   15.030819] platform 38330000.blk-ctrl: deferred probe pending
> [   15.036662] platform 32f10000.blk-ctrl: deferred probe pending
> [   15.042503] platform 32f10100.usb: deferred probe pending
> [   15.047912] platform 32f10108.usb: deferred probe pending
> 
Do you have CONFIG_ARM_IMX_BUS_DEVFREQ enabled? This one will actually
instantiate the interconnect devices for the interconnect drivers to
hang onto. Once the interconnect is probed the blk-ctrl drivers should
probe. There is no dependency into leaf peripheral devices.

Regards,
Lucas



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP
  2022-10-13 21:49         ` Lucas Stach
@ 2022-10-17 18:53           ` Tim Harvey
  2022-10-26 17:22             ` Tim Harvey
  0 siblings, 1 reply; 17+ messages in thread
From: Tim Harvey @ 2022-10-17 18:53 UTC (permalink / raw)
  To: Lucas Stach
  Cc: Marek Vasut, Peng Fan (OSS),
	djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, laurent.pinchart,
	paul.elder, Markus.Niebel, aford173, kernel, linux-pm,
	devicetree, linux-arm-kernel, linux-kernel, linux-imx, Peng Fan

On Thu, Oct 13, 2022 at 2:49 PM Lucas Stach <l.stach@pengutronix.de> wrote:
>
> Hi Tim,
>
> Am Donnerstag, dem 13.10.2022 um 11:23 -0700 schrieb Tim Harvey:
> > On Wed, Oct 12, 2022 at 11:46 AM Tim Harvey <tharvey@gateworks.com> wrote:
> > >
> > > On Tue, Oct 11, 2022 at 4:13 PM Marek Vasut <marex@denx.de> wrote:
> > > >
> > > > On 10/11/22 22:10, Tim Harvey wrote:
> > > > > On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
> > > > > >
> > > > > > From: Peng Fan <peng.fan@nxp.com>
> > > > > >
> > > > > > V4:
> > > > > >   Because the header is not included when adding NoC node, the fsl,imx8mp.h
> > > > > >   needs be included in this patchset. So include it in patch 6
> > > > > >
> > > > > > V3:
> > > > > >   Move adding NoC node patch to i.MX8MP ICC driver patchset
> > > > > >   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> > > > > >
> > > > > > V2:
> > > > > >   Use a low bandwidth value instead INT_MAX
> > > > > >   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
> > > > > >   Add A-b tag from DT maintainer
> > > > > >
> > > > > > i.MX8MP NoC settings is invalid after related power domain up. So
> > > > > > need to set valid values after power domain up.
> > > > > >
> > > > > > This patchset is to bind interconnect for each entry in blk ctrl.
> > > > > >
> > > > > > This patchset is not include DVFS DDRC feature.
> > > > > >
> > > > > > Peng Fan (7):
> > > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
> > > > > >      ctrl
> > > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
> > > > > >      ctrl
> > > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
> > > > > >      ctrl
> > > > > >    soc: imx: add icc paths for i.MX8MP media blk ctrl
> > > > > >    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
> > > > > >    arm64: dts: imx8mp: add interconnects for media blk ctrl
> > > > > >    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> > > > > >
> > > > > >   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
> > > > > >   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
> > > > > >   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
> > > > > >   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
> > > > > >   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
> > > > > >   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
> > > > > >   6 files changed, 125 insertions(+)
> > > > > >
> > > > > > --
> > > > > > 2.25.1
> > > > > >
> > > > >
> > > > > Hi Peng,
> > > > >
> > > > > I built origin/master from commit 041bc24d867a today for an imx8mp
> > > > > board and am running into errors that appear to be introduced by this
> > > > > series:
> > > > > [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> > > > > [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> > > > > [   15.188928] platform 33800000.pcie: deferred probe pending
> > > > > [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> > > > > [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> > > > > [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> > > > > [   15.211974] platform 32f10100.usb: deferred probe pending
> > > > > [   15.217382] platform 32f10108.usb: deferred probe pending
> > > > > [   15.222791] platform cpufreq-dt: deferred probe pending
> > > > > # cat /sys/kernel/debug/devices_deferred
> > > > > 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > > > 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > > > 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> > > > > 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > > > 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > > > 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> > > > > 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > > > 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > > > cpufreq-dt
> > > > >
> > > > > Is there a driver I'm perhaps missing that is needed now or are there
> > > > > some patches that come from a different unmerged tree needed?
> > > >
> > > > Do you have these enabled ?
> > > >
> > > > CONFIG_INTERCONNECT_IMX8MM=y
> > > > CONFIG_INTERCONNECT_IMX8MN=y
> > > > CONFIG_INTERCONNECT_IMX8MQ=y
> > > > CONFIG_INTERCONNECT_IMX8MP=y
> > >
> > > Marek,
> > >
> > > Yes, I have those as well as CONFIG_ARCH_NXP which appears new for 6.1 enabled.
> > >
> > > Best Regards,
> > >
> > > Tim
> >
> > I see this issue on origin/master 1440f5760228 using
> > arch/arm64/configs/defconfig.
> >
> > It seems to me that the imx8m*_blk_ctrl_probe will all defer now until
> > perhaps all the drivers using interconnects can probe, such as
> > g1/lcdif etc?
> >
> > Some added debugging shows me:
> > [   14.951371] of_icc_bulk_get path lcdif-rd err=-517
> > [   14.956205] devm_of_icc_bulk_get ret=-517
> > [   14.960562] imx8m_blk_ctrl_probe failed -517
> > [   14.967191] of_icc_bulk_get path g1 err=-517
> > [   14.971487] devm_of_icc_bulk_get ret=-517
> > [   14.975614] imx8m_blk_ctrl_probe failed -517
> > [   14.982200] of_icc_bulk_get path usb1 err=-517
> > [   14.986680] devm_of_icc_bulk_get ret=-517
> > [   14.990709] imx8mp_blk_ctrl_probe 0:usb1
> > [   14.994641] imx8mp_blk_ctrl_probe 1:usb2
> > [   15.002086] platform 381f0040.usb-phy: deferred probe pending
> > [   15.007875] platform 382f0040.usb-phy: deferred probe pending
> > [   15.013636] platform 32f00000.pcie-phy: deferred probe pending
> > [   15.019480] platform 33800000.pcie: deferred probe pending
> > [   15.024975] platform 32ec0000.blk-ctrl: deferred probe pending
> > [   15.030819] platform 38330000.blk-ctrl: deferred probe pending
> > [   15.036662] platform 32f10000.blk-ctrl: deferred probe pending
> > [   15.042503] platform 32f10100.usb: deferred probe pending
> > [   15.047912] platform 32f10108.usb: deferred probe pending
> >
> Do you have CONFIG_ARM_IMX_BUS_DEVFREQ enabled? This one will actually
> instantiate the interconnect devices for the interconnect drivers to
> hang onto. Once the interconnect is probed the blk-ctrl drivers should
> probe. There is no dependency into leaf peripheral devices.
>
> Regards,
> Lucas
>

Lucas,

That's configured as a module in arch/arm64/configs/defconfig - making
it static still does not help. I am booting a static kernel with no
modules here so there must be something else required that is
configured as a module that wasn't needed before this series?

I haven't had much time to look into this. I'm simply using
arch/arm64/configs/defconfig and CONFIG_INITRAMFS_SOURCE set to a
rootfs I use for quick testing. If there is indeed now one or more
modules required before USB and PCIe are available I wonder if they
should be made static in arch/arm64/configs/defconfig? If not then I
don't know what the point in having the PCI and USB drivers static is.

Best Regards,

Tim

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP
  2022-10-17 18:53           ` Tim Harvey
@ 2022-10-26 17:22             ` Tim Harvey
  0 siblings, 0 replies; 17+ messages in thread
From: Tim Harvey @ 2022-10-26 17:22 UTC (permalink / raw)
  To: Lucas Stach
  Cc: Marek Vasut, Peng Fan (OSS),
	djakov, shawnguo, s.hauer, festevam, robh+dt,
	krzysztof.kozlowski+dt, abelvesa, abailon, laurent.pinchart,
	paul.elder, Markus.Niebel, aford173, kernel, linux-pm,
	devicetree, linux-arm-kernel, linux-kernel, linux-imx, Peng Fan

On Mon, Oct 17, 2022 at 11:53 AM Tim Harvey <tharvey@gateworks.com> wrote:
>
> On Thu, Oct 13, 2022 at 2:49 PM Lucas Stach <l.stach@pengutronix.de> wrote:
> >
> > Hi Tim,
> >
> > Am Donnerstag, dem 13.10.2022 um 11:23 -0700 schrieb Tim Harvey:
> > > On Wed, Oct 12, 2022 at 11:46 AM Tim Harvey <tharvey@gateworks.com> wrote:
> > > >
> > > > On Tue, Oct 11, 2022 at 4:13 PM Marek Vasut <marex@denx.de> wrote:
> > > > >
> > > > > On 10/11/22 22:10, Tim Harvey wrote:
> > > > > > On Fri, Jul 8, 2022 at 1:57 AM Peng Fan (OSS) <peng.fan@oss.nxp.com> wrote:
> > > > > > >
> > > > > > > From: Peng Fan <peng.fan@nxp.com>
> > > > > > >
> > > > > > > V4:
> > > > > > >   Because the header is not included when adding NoC node, the fsl,imx8mp.h
> > > > > > >   needs be included in this patchset. So include it in patch 6
> > > > > > >
> > > > > > > V3:
> > > > > > >   Move adding NoC node patch to i.MX8MP ICC driver patchset
> > > > > > >   Per Lucas's comments, warn once when icc bulk get not return probe defer and continue.
> > > > > > >
> > > > > > > V2:
> > > > > > >   Use a low bandwidth value instead INT_MAX
> > > > > > >   Minor fix to move fsl,imx8mp.h out to dts patch, not driver patch
> > > > > > >   Add A-b tag from DT maintainer
> > > > > > >
> > > > > > > i.MX8MP NoC settings is invalid after related power domain up. So
> > > > > > > need to set valid values after power domain up.
> > > > > > >
> > > > > > > This patchset is to bind interconnect for each entry in blk ctrl.
> > > > > > >
> > > > > > > This patchset is not include DVFS DDRC feature.
> > > > > > >
> > > > > > > Peng Fan (7):
> > > > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk
> > > > > > >      ctrl
> > > > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi blk
> > > > > > >      ctrl
> > > > > > >    dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio blk
> > > > > > >      ctrl
> > > > > > >    soc: imx: add icc paths for i.MX8MP media blk ctrl
> > > > > > >    soc: imx: add icc paths for i.MX8MP hsio/hdmi blk ctrl
> > > > > > >    arm64: dts: imx8mp: add interconnects for media blk ctrl
> > > > > > >    arm64: dts: imx8mp: add interconnect for hsio blk ctrl
> > > > > > >
> > > > > > >   .../soc/imx/fsl,imx8mp-hdmi-blk-ctrl.yaml     |  9 +++++
> > > > > > >   .../soc/imx/fsl,imx8mp-hsio-blk-ctrl.yaml     | 10 +++++
> > > > > > >   .../soc/imx/fsl,imx8mp-media-blk-ctrl.yaml    | 14 +++++++
> > > > > > >   arch/arm64/boot/dts/freescale/imx8mp.dtsi     | 18 +++++++++
> > > > > > >   drivers/soc/imx/imx8m-blk-ctrl.c              | 39 +++++++++++++++++++
> > > > > > >   drivers/soc/imx/imx8mp-blk-ctrl.c             | 35 +++++++++++++++++
> > > > > > >   6 files changed, 125 insertions(+)
> > > > > > >
> > > > > > > --
> > > > > > > 2.25.1
> > > > > > >
> > > > > >
> > > > > > Hi Peng,
> > > > > >
> > > > > > I built origin/master from commit 041bc24d867a today for an imx8mp
> > > > > > board and am running into errors that appear to be introduced by this
> > > > > > series:
> > > > > > [   15.177372] platform 381f0040.usb-phy: deferred probe pending
> > > > > > [   15.183155] platform 382f0040.usb-phy: deferred probe pending
> > > > > > [   15.188928] platform 33800000.pcie: deferred probe pending
> > > > > > [   15.194439] platform 32ec0000.blk-ctrl: deferred probe pending
> > > > > > [   15.200287] platform 38330000.blk-ctrl: deferred probe pending
> > > > > > [   15.206129] platform 32f10000.blk-ctrl: deferred probe pending
> > > > > > [   15.211974] platform 32f10100.usb: deferred probe pending
> > > > > > [   15.217382] platform 32f10108.usb: deferred probe pending
> > > > > > [   15.222791] platform cpufreq-dt: deferred probe pending
> > > > > > # cat /sys/kernel/debug/devices_deferred
> > > > > > 381f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > > > > 382f0040.usb-phy        platform: supplier 32f10000.blk-ctrl not ready
> > > > > > 33800000.pcie   platform: supplier 32f10000.blk-ctrl not ready
> > > > > > 32ec0000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > > > > 38330000.blk-ctrl       imx8m-blk-ctrl: failed to get noc entries
> > > > > > 32f10000.blk-ctrl       imx8mp-blk-ctrl: failed to get noc entries
> > > > > > 32f10100.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > > > > 32f10108.usb    platform: supplier 32f10000.blk-ctrl not ready
> > > > > > cpufreq-dt
> > > > > >
> > > > > > Is there a driver I'm perhaps missing that is needed now or are there
> > > > > > some patches that come from a different unmerged tree needed?
> > > > >
> > > > > Do you have these enabled ?
> > > > >
> > > > > CONFIG_INTERCONNECT_IMX8MM=y
> > > > > CONFIG_INTERCONNECT_IMX8MN=y
> > > > > CONFIG_INTERCONNECT_IMX8MQ=y
> > > > > CONFIG_INTERCONNECT_IMX8MP=y
> > > >
> > > > Marek,
> > > >
> > > > Yes, I have those as well as CONFIG_ARCH_NXP which appears new for 6.1 enabled.
> > > >
> > > > Best Regards,
> > > >
> > > > Tim
> > >
> > > I see this issue on origin/master 1440f5760228 using
> > > arch/arm64/configs/defconfig.
> > >
> > > It seems to me that the imx8m*_blk_ctrl_probe will all defer now until
> > > perhaps all the drivers using interconnects can probe, such as
> > > g1/lcdif etc?
> > >
> > > Some added debugging shows me:
> > > [   14.951371] of_icc_bulk_get path lcdif-rd err=-517
> > > [   14.956205] devm_of_icc_bulk_get ret=-517
> > > [   14.960562] imx8m_blk_ctrl_probe failed -517
> > > [   14.967191] of_icc_bulk_get path g1 err=-517
> > > [   14.971487] devm_of_icc_bulk_get ret=-517
> > > [   14.975614] imx8m_blk_ctrl_probe failed -517
> > > [   14.982200] of_icc_bulk_get path usb1 err=-517
> > > [   14.986680] devm_of_icc_bulk_get ret=-517
> > > [   14.990709] imx8mp_blk_ctrl_probe 0:usb1
> > > [   14.994641] imx8mp_blk_ctrl_probe 1:usb2
> > > [   15.002086] platform 381f0040.usb-phy: deferred probe pending
> > > [   15.007875] platform 382f0040.usb-phy: deferred probe pending
> > > [   15.013636] platform 32f00000.pcie-phy: deferred probe pending
> > > [   15.019480] platform 33800000.pcie: deferred probe pending
> > > [   15.024975] platform 32ec0000.blk-ctrl: deferred probe pending
> > > [   15.030819] platform 38330000.blk-ctrl: deferred probe pending
> > > [   15.036662] platform 32f10000.blk-ctrl: deferred probe pending
> > > [   15.042503] platform 32f10100.usb: deferred probe pending
> > > [   15.047912] platform 32f10108.usb: deferred probe pending
> > >
> > Do you have CONFIG_ARM_IMX_BUS_DEVFREQ enabled? This one will actually
> > instantiate the interconnect devices for the interconnect drivers to
> > hang onto. Once the interconnect is probed the blk-ctrl drivers should
> > probe. There is no dependency into leaf peripheral devices.
> >
> > Regards,
> > Lucas
> >
>
> Lucas,
>
> That's configured as a module in arch/arm64/configs/defconfig - making
> it static still does not help. I am booting a static kernel with no
> modules here so there must be something else required that is
> configured as a module that wasn't needed before this series?
>
> I haven't had much time to look into this. I'm simply using
> arch/arm64/configs/defconfig and CONFIG_INITRAMFS_SOURCE set to a
> rootfs I use for quick testing. If there is indeed now one or more
> modules required before USB and PCIe are available I wonder if they
> should be made static in arch/arm64/configs/defconfig? If not then I
> don't know what the point in having the PCI and USB drivers static is.
>

Lucas,

Sorry, I misspoke - I did not have CONFIG_ARM_IMX_BUS_DEVFREQ and that
was indeed my issue.

Question: Should the intention of arch/arm64/configs/defconfig be to
provide static bus support for PCIe/USB which can be boot devices?

Prior to the interconnect drivers (and even following those drivers
for imx8mm/imx8mn) PCIe/USB are available without module support with
arch/arm64/configs/defconfig but now the following would need to be
changed to make PCIe/USB available with defconfig and no modules:
CONFIG_INTERCONNECT_IMX8MM=y
CONFIG_INTERCONNECT_IMX8MN=y
CONFIG_INTERCONNECT_IMX8MQ=y
CONFIG_INTERCONNECT_IMX8MP=y
CONFIG_ARM_IMX_BUS_DEVFREQ=y

Without this change one would need an initrd to boot off PCIe/NVMe or
USB boot devices. I'm simply not clear what the intended use case is
for the defconfig with regards to modules vs static drivers.

Best Regards,

Tim

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2022-10-26 17:24 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-08  8:56 [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan (OSS)
2022-07-08  8:56 ` [PATCH V4 1/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP media blk ctrl Peng Fan (OSS)
2022-07-08  8:56 ` [PATCH V4 2/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP hdmi " Peng Fan (OSS)
2022-07-08  8:56 ` [PATCH V4 3/7] dt-bindings: soc: imx: add interconnect property for i.MX8MP hsio " Peng Fan (OSS)
2022-07-08  8:56 ` [PATCH V4 4/7] soc: imx: add icc paths for i.MX8MP media " Peng Fan (OSS)
2022-07-08  8:56 ` [PATCH V4 5/7] soc: imx: add icc paths for i.MX8MP hsio/hdmi " Peng Fan (OSS)
2022-07-08  8:56 ` [PATCH V4 6/7] arm64: dts: imx8mp: add interconnects for media " Peng Fan (OSS)
2022-07-08  8:56 ` [PATCH V4 7/7] arm64: dts: imx8mp: add interconnect for hsio " Peng Fan (OSS)
2022-08-09  1:33 ` [PATCH V4 0/7] imx: blk-ctrl: Add interconnect for i.MX8MP Peng Fan
2022-08-17  9:05 ` Shawn Guo
2022-10-11 20:10 ` Tim Harvey
2022-10-11 23:13   ` Marek Vasut
2022-10-12 18:46     ` Tim Harvey
2022-10-13 18:23       ` Tim Harvey
2022-10-13 21:49         ` Lucas Stach
2022-10-17 18:53           ` Tim Harvey
2022-10-26 17:22             ` Tim Harvey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).