i.MX8MP, USB TYPE C, gatesgarth, working?

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

i.MX8MP, USB TYPE C, gatesgarth, working?

653 Views
johnadamson
Contributor III

Hi,

Mostly curious if anyone has USB TYPE C hardware working with the i.MX8MP and Yocto Gatesgarth out-of-the-box.  

I followed the 8MPLUS-BB schematic, mostly changing just the GPIOs, and tried to model the same in the dts using the imx8mp-evk.dts in gatesgarth.  But there's no recognition from the kernel that the PTN5110 exists (even though I can i2cdump it), it never turns on the power to the port, and doesn't seem to recognize anything plugged into the port.  Also no mention of the NX20P3483UK in the dts, which seems curious. 

I spotted a 2022 forum posting showing changes to u-boot for the PTN5110, I'm hoping for confirmation that I need to make those changes before I dive down that rabbit hole.

John

0 Kudos
Reply
1 Reply

639 Views
Alejandro_Salas
NXP TechSupport
NXP TechSupport

Hello!

I guess that you are referring to this post: https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-MX8MP-USB-PD-realized/ta-p/1531209

Please try to do the steps in the post, it is so weird because you have communication over I2C, maybe it is a driver issue.

The device tree for PTN5110 is (Contained in imx8mp-evk.dts

ptn5110: tcpc@50 {

                compatible = "nxp,ptn5110";

                pinctrl-names = "default";

                pinctrl-0 = <&pinctrl_typec>;

                reg = <0x50>;

                interrupt-parent = <&gpio4>;

                interrupts = <19 8>;

 

                port {

                        typec_dr_sw: endpoint {

                                remote-endpoint = <&usb3_drd_sw>;

                        };

                };

 

                usb_con: connector {

                        compatible = "usb-c-connector";

                        label = "USB-C";

                        power-role = "dual";

                        data-role = "dual";

                        try-power-role = "sink";

                        source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;

                        sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)

                                     PDO_VAR(5000, 20000, 3000)>;

                        op-sink-microwatt = <15000000>;

                        self-powered;

 

                        ports {

                                #address-cells = <1>;

                                #size-cells = <0>;

 

                                port@1 {

                                        reg = <1>;

                                        typec_con_ss: endpoint {

                                                remote-endpoint = <&usb3_data_ss>;

                                        };

                                };

                        };

                };

        };

 

Best regards!

0 Kudos
Reply