Re: [PATCH V3 7/7] arm64: dts: imx8mp: add interconnect for hsio blk ctrl

From: Greg Ungerer
Date: Mon Mar 27 2023 - 03:51:57 EST


Hi Alexander,

On 27/3/23 16:27, Alexander Stein wrote:
Hi Greg,

Am Montag, 27. März 2023, 06:50:37 CEST schrieb Greg Ungerer:
On 2/3/22 17:13, Peng Fan wrote:
From: Peng Fan <peng.fan@xxxxxxx>

Add interconnect property for hsio blk ctrl

Signed-off-by: Peng Fan <peng.fan@xxxxxxx>
---

> 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
08bd57742294..9cceeeeb26be 100644
--- a/arch/arm64/boot/dts/freescale/imx8mp.dtsi
+++ b/arch/arm64/boot/dts/freescale/imx8mp.dtsi
@@ -1109,6 +1109,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>;

};

};

This change completely breaks USB for me on a new iMX8mp platform I am
working with. Before this change normal USB probe looks good:

xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
xhci-hcd xhci-hcd.0.auto: hcc params 0x0220fe6d hci version 0x110 quirks
0x0000000000010010 xhci-hcd xhci-hcd.0.auto: irq 206, io mem 0x38100000
xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002,
bcdDevice= 6.03 usb usb1: New USB device strings: Mfr=3, Product=2,
SerialNumber=1 usb usb1: Product: xHCI Host Controller
usb usb1: Manufacturer: Linux 6.3.0-rc4-dirty xhci-hcd
....

But after this commit is applied, no USB probe messages at all.

USB worked fine in 6.0 for me, but when I switched up to 6.1 USB was broken,
I bisected to this as being the offending commit. This is still broken for
me in todays 6.3-rc4. If I revert this change (and only this change) USB
works again.

Any thoughts on why this breaks USB?

Maybe you are missing CONFIG_INTERCONNECT_IMX8MP?

No, it is enabled. From my config:

CONFIG_INTERCONNECT=y
CONFIG_INTERCONNECT_IMX=y
# CONFIG_INTERCONNECT_IMX8MM is not set
# CONFIG_INTERCONNECT_IMX8MN is not set
# CONFIG_INTERCONNECT_IMX8MQ is not set
CONFIG_INTERCONNECT_IMX8MP=y

Regards
Greg