i.MX8MP adding HD3SS3220 Type-C cause Wake on LAN failed

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX8MP adding HD3SS3220 Type-C cause Wake on LAN failed

1,041 Views
AlanWen
Contributor IV

I'm working on the 6.12.34 kernel and modifying the kernel device tree imx8mp-evk.dts.

nxp-imx/imx-manifest: i.MX Release Manifest (imx-linux-walnascar)

When added the hd3ss3220 type-c controller in the device tree as follow, WOL failed.

/{
connector {
		compatible = "usb-c-connector";
		label = "USB-C";
		data-role = "dual";
		status = "disabled";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				hs_ep: endpoint {
					remote-endpoint = <&usb3_hs_ep>;
				};
			};
			port@1 {
				reg = <1>;

				ss_ep: endpoint {
					remote-endpoint = <&hd3ss3220_in_ep>;
				};
			};
		};
	};
};

&iomux {
pinctrl_hd3ss3220: hd3ss3220grp {
		fsl,pins = <
			MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12	0x140
		>;
	};
};

&i2c2 {
clock-frequency = <400000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	status = "okay";
hd3ss3220@67 {
		compatible = "ti,hd3ss3220";
		reg = <0x67>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_hd3ss3220>;
		interrupt-parent = <&gpio5>;
		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				hd3ss3220_in_ep: endpoint {
					remote-endpoint = <&ss_ep>;
				};
 			};
			port@1 {
				reg = <1>;

				hd3ss3220_out_ep: endpoint {
					remote-endpoint = <&usb3_role_switch>;
				};
 			};
 		};
	};
};

&usb_dwc3_1 {
	dr_mode = "otg";
	hnp-disable;
	srp-disable;
	adp-disable;
	usb-role-switch;
	status = "okay";

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			usb3_hs_ep: endpoint {
				remote-endpoint = <&hs_ep>;
			};
		};
		port@1 {
			reg = <1>;
			usb3_role_switch: endpoint {
				remote-endpoint = <&hd3ss3220_out_ep>;
			};
		};
	};
};

The WOL function failed after calling the suspend command.

As I checked the wake up is supported

root@imx8mpevk:~# ethtool -s eth0 wol g
root@imx8mpevk:~# ethtool eth0
Settings for eth0:
        Supported ports: [ TP    MII ]
        Supported link modes:   10baseT/Full
                                100baseT/Full
                                1000baseT/Full
        Supported pause frame use: Symmetric Receive-only
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Full
                                100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Full
        Link partner advertised pause frame use: Symmetric
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        master-slave cfg: preferred slave
        master-slave status: slave
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: external
        MDI-X: Unknown
        Supports Wake-on: ug
        Wake-on: g
        Current message level: 0x0000003f (63)
                               drv probe link timer ifdown ifup
        Link detected: yes
root@imx8mpevk:~# dmesg | grep -i wake
[    3.148381] imx-dwmac 30bf0000.ethernet: Wake-Up On Lan supported
[   13.933830] stmmac: wakeup enable
root@imx8mpevk:~# cat /sys/class/net/eth0/device/power/wakeup
enabled

 

But the same setting of the device tree on 6.6.52 kernel (imx-linux-scarthgap) worked well !!

 

Could anybody help me ?

 

0 Kudos
Reply
6 Replies

860 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @AlanWen ,

I checked the HD3SS3220 dts node, the HD3SS3220 driver is using IRQF_TRIGGER_FALLING, can you try to use IRQ_TYPE_EDGE_FALLING in dts? And set MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12 to 0x1c4.

	if (client->irq > 0) {
		ret = devm_request_threaded_irq(&client->dev, client->irq, NULL,
					hd3ss3220_irq_handler,
					IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
					"hd3ss3220", &client->dev);

 



Best Regards,
Zhiming

0 Kudos
Reply

856 Views
AlanWen
Contributor IV

There is a syntax error while compiling the linux-imx kernel device tree.

It seem to be no definition of "IRQF_TRIGGER_FALLING", do I need to include a file ?

0 Kudos
Reply

813 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi,

Please try to use IRQ_TYPE_EDGE_FALLING in dts.

Best Regards,
Zhiming

0 Kudos
Reply

770 Views
AlanWen
Contributor IV

Although changing the interrupt signal as "IRQ_TYPE_EDGE_FALLING", the wake-up function still didn't work.

Currently, the wake-up function worked well using the following setup.

/ {
    connector {
		compatible = "usb-c-connector";
		label = "USB-C";
		data-role = "dual";
		status = "disabled";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				hs_ep: endpoint {
					remote-endpoint = <&usb3_hs_ep>;
				};
			};
			port@1 {
				reg = <1>;

				ss_ep: endpoint {
					remote-endpoint = <&hd3ss3220_in_ep>;
				};
			};
		};
	};
};

&i2c2 {
	clock-frequency = <400000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	status = "okay";

	hd3ss3220@67 {
		compatible = "ti,hd3ss3220";
		reg = <0x67>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_hd3ss3220>;
		interrupt-parent = <&gpio5>;
		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
		wakeup-source;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				hd3ss3220_in_ep: endpoint {
					remote-endpoint = <&ss_ep>;
				};
 			};
			port@1 {
				reg = <1>;

				hd3ss3220_out_ep: endpoint {
					remote-endpoint = <&usb3_role_switch>;
				};
 			};
 		};
	};
};

&iomux {
    pinctrl_hd3ss3220: hd3ss3220grp {
		fsl,pins = <
			MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12	0x140 // USB_SW_INTn (AH20)
		>;
	};
};

&usb3_phy1 {
	fsl,phy-tx-preemp-amp-tune-microamp = <1800>;
	fsl,phy-tx-vref-tune-percent = <116>;
	status = "okay";
};

&usb3_1 {
	status = "okay";
};

&usb_dwc3_1 {
	dr_mode = "otg";
	hnp-disable;
	srp-disable;
	adp-disable;
	usb-role-switch;
	role-switch-default-mode = "host";
	snps,dis-u1-entry-quirk;
	snps,dis-u2-entry-quirk;
	status = "okay";

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			usb3_hs_ep: endpoint {
				remote-endpoint = <&hs_ep>;
			};
		};
		port@1 {
			reg = <1>;
			usb3_role_switch: endpoint {
				remote-endpoint = <&hd3ss3220_out_ep>;
			};
		};
	};
};

But as you can see, the connector's status is set as "disabled", why ?

When we remove this line, the wake-up function failed.

0 Kudos
Reply

719 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi @AlanWen 

In my personal opinion, this issue is likely related to the upgrade of kernel generic components and should not be attributed to i.MX-related drivers. Since I don't have the same hardware platform, I can't pinpoint exactly where the problem lies.

Best Regards,
Zhiming

0 Kudos
Reply

601 Views
AlanWen
Contributor IV

But the wakeup function was worked in 6.6.52 kernel version using the same setup without the connector status line.

As follow:

/ {
    connector {
		compatible = "usb-c-connector";
		label = "USB-C";
		data-role = "dual";

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				hs_ep: endpoint {
					remote-endpoint = <&usb3_hs_ep>;
				};
			};
			port@1 {
				reg = <1>;

				ss_ep: endpoint {
					remote-endpoint = <&hd3ss3220_in_ep>;
				};
			};
		};
	};
};

&i2c2 {
	clock-frequency = <400000>;
	pinctrl-names = "default";
	pinctrl-0 = <&pinctrl_i2c2>;
	status = "okay";

	hd3ss3220@67 {
		compatible = "ti,hd3ss3220";
		reg = <0x67>;
		pinctrl-names = "default";
		pinctrl-0 = <&pinctrl_hd3ss3220>;
		interrupt-parent = <&gpio5>;
		interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
		wakeup-source;

		ports {
			#address-cells = <1>;
			#size-cells = <0>;

			port@0 {
				reg = <0>;

				hd3ss3220_in_ep: endpoint {
					remote-endpoint = <&ss_ep>;
				};
 			};
			port@1 {
				reg = <1>;

				hd3ss3220_out_ep: endpoint {
					remote-endpoint = <&usb3_role_switch>;
				};
 			};
 		};
	};
};

&iomux {
    pinctrl_hd3ss3220: hd3ss3220grp {
		fsl,pins = <
			MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12	0x140 // USB_SW_INTn (AH20)
		>;
	};
};

&usb3_phy1 {
	fsl,phy-tx-preemp-amp-tune-microamp = <1800>;
	fsl,phy-tx-vref-tune-percent = <116>;
	status = "okay";
};

&usb3_1 {
	status = "okay";
};

&usb_dwc3_1 {
	dr_mode = "otg";
	hnp-disable;
	srp-disable;
	adp-disable;
	usb-role-switch;
	role-switch-default-mode = "host";
	snps,dis-u1-entry-quirk;
	snps,dis-u2-entry-quirk;
	status = "okay";

	ports {
		#address-cells = <1>;
		#size-cells = <0>;

		port@0 {
			reg = <0>;
			usb3_hs_ep: endpoint {
				remote-endpoint = <&hs_ep>;
			};
		};
		port@1 {
			reg = <1>;
			usb3_role_switch: endpoint {
				remote-endpoint = <&hd3ss3220_out_ep>;
			};
		};
	};
};
0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2270332%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ei.MX8MP%20adding%20HD3SS3220%20Type-C%20cause%20Wake%20on%20LAN%20failed%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2270332%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI'm%20working%20on%20the%206.12.34%20kernel%20and%20modifying%20the%20kernel%20device%20tree%20imx8mp-evk.dts.%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-imx%2Fimx-manifest%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Enxp-imx%2Fimx-manifest%3A%20i.MX%20Release%20Manifest%3C%2FA%3E%26nbsp%3B(%3CSPAN%3Eimx-linux-walnascar%3C%2FSPAN%3E)%3C%2FP%3E%3CP%3EWhen%20added%20the%20hd3ss3220%20type-c%20controller%20in%20the%20device%20tree%20as%20follow%2C%20WOL%20failed.%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3E%2F%7B%0Aconnector%20%7B%0A%09%09compatible%20%3D%20%22usb-c-connector%22%3B%0A%09%09label%20%3D%20%22USB-C%22%3B%0A%09%09data-role%20%3D%20%22dual%22%3B%0A%09%09status%20%3D%20%22disabled%22%3B%0A%0A%09%09ports%20%7B%0A%09%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09port%400%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09%09hs_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Busb3_hs_ep%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%7D%3B%0A%09%09%09port%401%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%0A%09%09%09%09ss_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bhd3ss3220_in_ep%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Biomux%20%7B%0Apinctrl_hd3ss3220%3A%20hd3ss3220grp%20%7B%0A%09%09fsl%2Cpins%20%3D%20%26lt%3B%0A%09%09%09MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12%090x140%0A%09%09%26gt%3B%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Bi2c2%20%7B%0Aclock-frequency%20%3D%20%26lt%3B400000%26gt%3B%3B%0A%09pinctrl-names%20%3D%20%22default%22%3B%0A%09pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_i2c2%26gt%3B%3B%0A%09status%20%3D%20%22okay%22%3B%0Ahd3ss3220%4067%20%7B%0A%09%09compatible%20%3D%20%22ti%2Chd3ss3220%22%3B%0A%09%09reg%20%3D%20%26lt%3B0x67%26gt%3B%3B%0A%09%09pinctrl-names%20%3D%20%22default%22%3B%0A%09%09pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_hd3ss3220%26gt%3B%3B%0A%09%09interrupt-parent%20%3D%20%26lt%3B%26amp%3Bgpio5%26gt%3B%3B%0A%09%09interrupts%20%3D%20%26lt%3B12%20IRQ_TYPE_LEVEL_LOW%26gt%3B%3B%0A%0A%09%09ports%20%7B%0A%09%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09port%400%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09%09hd3ss3220_in_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bss_ep%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%20%09%09%09%7D%3B%0A%09%09%09port%401%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%0A%09%09%09%09hd3ss3220_out_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Busb3_role_switch%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%20%09%09%09%7D%3B%0A%20%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Busb_dwc3_1%20%7B%0A%09dr_mode%20%3D%20%22otg%22%3B%0A%09hnp-disable%3B%0A%09srp-disable%3B%0A%09adp-disable%3B%0A%09usb-role-switch%3B%0A%09status%20%3D%20%22okay%22%3B%0A%0A%09ports%20%7B%0A%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09port%400%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%09%09%09usb3_hs_ep%3A%20endpoint%20%7B%0A%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bhs_ep%26gt%3B%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%09port%401%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%09usb3_role_switch%3A%20endpoint%20%7B%0A%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bhd3ss3220_out_ep%26gt%3B%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3EThe%20WOL%20function%20failed%20after%20calling%20the%20suspend%20command.%3C%2FP%3E%3CP%3EAs%20I%20checked%20the%20wake%20up%20is%20supported%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3Eroot%40imx8mpevk%3A~%23%20ethtool%20-s%20eth0%20wol%20g%0Aroot%40imx8mpevk%3A~%23%20ethtool%20eth0%0ASettings%20for%20eth0%3A%0A%20%20%20%20%20%20%20%20Supported%20ports%3A%20%5B%20TP%20%20%20%20MII%20%5D%0A%20%20%20%20%20%20%20%20Supported%20link%20modes%3A%20%20%2010baseT%2FFull%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20100baseT%2FFull%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201000baseT%2FFull%0A%20%20%20%20%20%20%20%20Supported%20pause%20frame%20use%3A%20Symmetric%20Receive-only%0A%20%20%20%20%20%20%20%20Supports%20auto-negotiation%3A%20Yes%0A%20%20%20%20%20%20%20%20Supported%20FEC%20modes%3A%20Not%20reported%0A%20%20%20%20%20%20%20%20Advertised%20link%20modes%3A%20%2010baseT%2FFull%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20100baseT%2FFull%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201000baseT%2FFull%0A%20%20%20%20%20%20%20%20Advertised%20pause%20frame%20use%3A%20Symmetric%20Receive-only%0A%20%20%20%20%20%20%20%20Advertised%20auto-negotiation%3A%20Yes%0A%20%20%20%20%20%20%20%20Advertised%20FEC%20modes%3A%20Not%20reported%0A%20%20%20%20%20%20%20%20Link%20partner%20advertised%20link%20modes%3A%20%2010baseT%2FHalf%2010baseT%2FFull%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20100baseT%2FHalf%20100baseT%2FFull%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201000baseT%2FFull%0A%20%20%20%20%20%20%20%20Link%20partner%20advertised%20pause%20frame%20use%3A%20Symmetric%0A%20%20%20%20%20%20%20%20Link%20partner%20advertised%20auto-negotiation%3A%20Yes%0A%20%20%20%20%20%20%20%20Link%20partner%20advertised%20FEC%20modes%3A%20Not%20reported%0A%20%20%20%20%20%20%20%20Speed%3A%201000Mb%2Fs%0A%20%20%20%20%20%20%20%20Duplex%3A%20Full%0A%20%20%20%20%20%20%20%20Auto-negotiation%3A%20on%0A%20%20%20%20%20%20%20%20master-slave%20cfg%3A%20preferred%20slave%0A%20%20%20%20%20%20%20%20master-slave%20status%3A%20slave%0A%20%20%20%20%20%20%20%20Port%3A%20Twisted%20Pair%0A%20%20%20%20%20%20%20%20PHYAD%3A%201%0A%20%20%20%20%20%20%20%20Transceiver%3A%20external%0A%20%20%20%20%20%20%20%20MDI-X%3A%20Unknown%0A%20%20%20%20%20%20%20%20Supports%20Wake-on%3A%20ug%0A%20%20%20%20%20%20%20%20Wake-on%3A%20g%0A%20%20%20%20%20%20%20%20Current%20message%20level%3A%200x0000003f%20(63)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20drv%20probe%20link%20timer%20ifdown%20ifup%0A%20%20%20%20%20%20%20%20Link%20detected%3A%20yes%3C%2FCODE%3E%3C%2FPRE%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3Eroot%40imx8mpevk%3A~%23%20dmesg%20%7C%20grep%20-i%20wake%0A%5B%20%20%20%203.148381%5D%20imx-dwmac%2030bf0000.ethernet%3A%20Wake-Up%20On%20Lan%20supported%0A%5B%20%20%2013.933830%5D%20stmmac%3A%20wakeup%20enable%0Aroot%40imx8mpevk%3A~%23%20cat%20%2Fsys%2Fclass%2Fnet%2Feth0%2Fdevice%2Fpower%2Fwakeup%0Aenabled%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3EBut%20the%20same%20setting%20of%20the%20device%20tree%20on%206.6.52%20kernel%20(%3CSPAN%3Eimx-linux-scarthgap%3C%2FSPAN%3E)%20worked%20well%20!!%3C%2FP%3E%3CBR%20%2F%3E%3CP%3ECould%20anybody%20help%20me%20%3F%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2270332%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208%20Family%20%7C%20i.MX%208QuadMax%20(8QM)%20%7C%208QuadPlus%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ELinux%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2281528%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MP%20adding%20HD3SS3220%20Type-C%20cause%20Wake%20on%20LAN%20failed%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2281528%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3CBR%20%2F%3E%3CBR%20%2F%3EPlease%20try%20to%20use%26nbsp%3B%3CSTRONG%3EIRQ_TYPE_EDGE_FALLING%3C%2FSTRONG%3E%20in%20dts.%3CBR%20%2F%3E%3CBR%20%2F%3EBest%20Regards%2C%3CBR%20%2F%3EZhiming%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2289012%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MP%20adding%20HD3SS3220%20Type-C%20cause%20Wake%20on%20LAN%20failed%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2289012%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EAlthough%20changing%20the%20interrupt%20signal%20as%20%22%3CSTRONG%3EIRQ_TYPE_EDGE_FALLING%3C%2FSTRONG%3E%22%2C%20the%20wake-up%20function%20still%20didn't%20work.%3C%2FP%3E%3CP%3ECurrently%2C%20the%20wake-up%20function%20worked%20well%20using%20the%20following%20setup.%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3E%2F%20%7B%0A%20%20%20%20connector%20%7B%0A%09%09compatible%20%3D%20%22usb-c-connector%22%3B%0A%09%09label%20%3D%20%22USB-C%22%3B%0A%09%09data-role%20%3D%20%22dual%22%3B%0A%09%09status%20%3D%20%22disabled%22%3B%0A%0A%09%09ports%20%7B%0A%09%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09port%400%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09%09hs_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Busb3_hs_ep%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%7D%3B%0A%09%09%09port%401%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%0A%09%09%09%09ss_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bhd3ss3220_in_ep%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Bi2c2%20%7B%0A%09clock-frequency%20%3D%20%26lt%3B400000%26gt%3B%3B%0A%09pinctrl-names%20%3D%20%22default%22%3B%0A%09pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_i2c2%26gt%3B%3B%0A%09status%20%3D%20%22okay%22%3B%0A%0A%09hd3ss3220%4067%20%7B%0A%09%09compatible%20%3D%20%22ti%2Chd3ss3220%22%3B%0A%09%09reg%20%3D%20%26lt%3B0x67%26gt%3B%3B%0A%09%09pinctrl-names%20%3D%20%22default%22%3B%0A%09%09pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_hd3ss3220%26gt%3B%3B%0A%09%09interrupt-parent%20%3D%20%26lt%3B%26amp%3Bgpio5%26gt%3B%3B%0A%09%09interrupts%20%3D%20%26lt%3B12%20IRQ_TYPE_LEVEL_LOW%26gt%3B%3B%0A%09%09wakeup-source%3B%0A%0A%09%09ports%20%7B%0A%09%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09port%400%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09%09hd3ss3220_in_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bss_ep%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%20%09%09%09%7D%3B%0A%09%09%09port%401%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%0A%09%09%09%09hd3ss3220_out_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Busb3_role_switch%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%20%09%09%09%7D%3B%0A%20%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Biomux%20%7B%0A%20%20%20%20pinctrl_hd3ss3220%3A%20hd3ss3220grp%20%7B%0A%09%09fsl%2Cpins%20%3D%20%26lt%3B%0A%09%09%09MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12%090x140%20%2F%2F%20USB_SW_INTn%20(AH20)%0A%09%09%26gt%3B%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Busb3_phy1%20%7B%0A%09fsl%2Cphy-tx-preemp-amp-tune-microamp%20%3D%20%26lt%3B1800%26gt%3B%3B%0A%09fsl%2Cphy-tx-vref-tune-percent%20%3D%20%26lt%3B116%26gt%3B%3B%0A%09status%20%3D%20%22okay%22%3B%0A%7D%3B%0A%0A%26amp%3Busb3_1%20%7B%0A%09status%20%3D%20%22okay%22%3B%0A%7D%3B%0A%0A%26amp%3Busb_dwc3_1%20%7B%0A%09dr_mode%20%3D%20%22otg%22%3B%0A%09hnp-disable%3B%0A%09srp-disable%3B%0A%09adp-disable%3B%0A%09usb-role-switch%3B%0A%09role-switch-default-mode%20%3D%20%22host%22%3B%0A%09snps%2Cdis-u1-entry-quirk%3B%0A%09snps%2Cdis-u2-entry-quirk%3B%0A%09status%20%3D%20%22okay%22%3B%0A%0A%09ports%20%7B%0A%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09port%400%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%09%09%09usb3_hs_ep%3A%20endpoint%20%7B%0A%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bhs_ep%26gt%3B%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%09port%401%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%09usb3_role_switch%3A%20endpoint%20%7B%0A%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bhd3ss3220_out_ep%26gt%3B%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3EBut%20as%20you%20can%20see%2C%20the%20connector's%20status%20is%20set%20as%20%22%3CSTRONG%3Edisabled%3C%2FSTRONG%3E%22%2C%20why%20%3F%3C%2FP%3E%3CP%3EWhen%20we%20remove%20this%20line%2C%20the%20wake-up%20function%20failed.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2289745%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MP%20adding%20HD3SS3220%20Type-C%20cause%20Wake%20on%20LAN%20failed%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2289745%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F223292%22%20target%3D%22_blank%22%3E%40AlanWen%3C%2FA%3E%26nbsp%3B%3CBR%20%2F%3E%3CBR%20%2F%3EIn%20my%20personal%20opinion%2C%20this%20issue%20is%20likely%20related%20to%20the%20upgrade%20of%20kernel%20generic%20components%20and%20should%20not%20be%20attributed%20to%20i.MX-related%20drivers.%20Since%20I%20don't%20have%20the%20same%20hardware%20platform%2C%20I%20can't%20pinpoint%20exactly%20where%20the%20problem%20lies.%3CBR%20%2F%3E%3CBR%20%2F%3EBest%20Regards%2C%3CBR%20%2F%3EZhiming%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2290543%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20i.MX8MP%20adding%20HD3SS3220%20Type-C%20cause%20Wake%20on%20LAN%20failed%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2290543%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EBut%20the%20wakeup%20function%20was%20worked%20in%206.6.52%20kernel%20version%20using%20the%20same%20setup%20without%20the%20connector%20status%20line.%3C%2FP%3E%3CP%3EAs%20follow%3A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%3E%2F%20%7B%0A%20%20%20%20connector%20%7B%0A%09%09compatible%20%3D%20%22usb-c-connector%22%3B%0A%09%09label%20%3D%20%22USB-C%22%3B%0A%09%09data-role%20%3D%20%22dual%22%3B%0A%0A%09%09ports%20%7B%0A%09%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09port%400%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09%09hs_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Busb3_hs_ep%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%7D%3B%0A%09%09%09port%401%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%0A%09%09%09%09ss_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bhd3ss3220_in_ep%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Bi2c2%20%7B%0A%09clock-frequency%20%3D%20%26lt%3B400000%26gt%3B%3B%0A%09pinctrl-names%20%3D%20%22default%22%3B%0A%09pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_i2c2%26gt%3B%3B%0A%09status%20%3D%20%22okay%22%3B%0A%0A%09hd3ss3220%4067%20%7B%0A%09%09compatible%20%3D%20%22ti%2Chd3ss3220%22%3B%0A%09%09reg%20%3D%20%26lt%3B0x67%26gt%3B%3B%0A%09%09pinctrl-names%20%3D%20%22default%22%3B%0A%09%09pinctrl-0%20%3D%20%26lt%3B%26amp%3Bpinctrl_hd3ss3220%26gt%3B%3B%0A%09%09interrupt-parent%20%3D%20%26lt%3B%26amp%3Bgpio5%26gt%3B%3B%0A%09%09interrupts%20%3D%20%26lt%3B12%20IRQ_TYPE_LEVEL_LOW%26gt%3B%3B%0A%09%09wakeup-source%3B%0A%0A%09%09ports%20%7B%0A%09%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09port%400%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09%09%09hd3ss3220_in_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bss_ep%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%20%09%09%09%7D%3B%0A%09%09%09port%401%20%7B%0A%09%09%09%09reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%0A%09%09%09%09hd3ss3220_out_ep%3A%20endpoint%20%7B%0A%09%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Busb3_role_switch%26gt%3B%3B%0A%09%09%09%09%7D%3B%0A%20%09%09%09%7D%3B%0A%20%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Biomux%20%7B%0A%20%20%20%20pinctrl_hd3ss3220%3A%20hd3ss3220grp%20%7B%0A%09%09fsl%2Cpins%20%3D%20%26lt%3B%0A%09%09%09MX8MP_IOMUXC_ECSPI2_MISO__GPIO5_IO12%090x140%20%2F%2F%20USB_SW_INTn%20(AH20)%0A%09%09%26gt%3B%3B%0A%09%7D%3B%0A%7D%3B%0A%0A%26amp%3Busb3_phy1%20%7B%0A%09fsl%2Cphy-tx-preemp-amp-tune-microamp%20%3D%20%26lt%3B1800%26gt%3B%3B%0A%09fsl%2Cphy-tx-vref-tune-percent%20%3D%20%26lt%3B116%26gt%3B%3B%0A%09status%20%3D%20%22okay%22%3B%0A%7D%3B%0A%0A%26amp%3Busb3_1%20%7B%0A%09status%20%3D%20%22okay%22%3B%0A%7D%3B%0A%0A%26amp%3Busb_dwc3_1%20%7B%0A%09dr_mode%20%3D%20%22otg%22%3B%0A%09hnp-disable%3B%0A%09srp-disable%3B%0A%09adp-disable%3B%0A%09usb-role-switch%3B%0A%09role-switch-default-mode%20%3D%20%22host%22%3B%0A%09snps%2Cdis-u1-entry-quirk%3B%0A%09snps%2Cdis-u2-entry-quirk%3B%0A%09status%20%3D%20%22okay%22%3B%0A%0A%09ports%20%7B%0A%09%09%23address-cells%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%23size-cells%20%3D%20%26lt%3B0%26gt%3B%3B%0A%0A%09%09port%400%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B0%26gt%3B%3B%0A%09%09%09usb3_hs_ep%3A%20endpoint%20%7B%0A%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bhs_ep%26gt%3B%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%09port%401%20%7B%0A%09%09%09reg%20%3D%20%26lt%3B1%26gt%3B%3B%0A%09%09%09usb3_role_switch%3A%20endpoint%20%7B%0A%09%09%09%09remote-endpoint%20%3D%20%26lt%3B%26amp%3Bhd3ss3220_out_ep%26gt%3B%3B%0A%09%09%09%7D%3B%0A%09%09%7D%3B%0A%09%7D%3B%0A%7D%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E