USB Type-C Power Delivery issues with i.MX 8M Mini EVK

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

USB Type-C Power Delivery issues with i.MX 8M Mini EVK

Jump to solution
1,133 Views
maxipenna
Contributor III

Hello, I'm experiencing some serious issues with following configuration:

- imx8mm-evk
Cypress CY4500 EZ-PD
- Apple Hub A2119
- Raspberry Pi USBC power supply 5V/3A or Dell Laptop USBC power supply (5V-1A 20V-6.5A)

What I'm trying to do is provide supply through USBC hub to the evk board on USB2 primary supply port J302

The problem I see is that the board never boots into kernel and remains in u-boot in loop forever. It seems to me that PTN5110NHQZ or its u-boot driver is not working properly since is not responding to GET_SINK_CAP pd message from the hub with real values but only with GOODCRC. Other messages before perform fine so it seems some software support is already present in u-boot see image below:

Istantanea_2021-05-19_18-38-08.png

what I see on cmdline is the following

 

 

U-Boot SPL 2020.04-5.10.9-1.0.0+gad7b74b415 (Mar 05 2021 - 07:05:56 +0000)
Can't find PMIC:PCA9450
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3000MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from MMC1
NOTICE:  BL31: v2.4(release):lf-5.10.y-1.0.0-0-gba76d337e
NOTICE:  BL31: Built : 08:27:48, Mar  1 2021


U-Boot 2020.04-5.10.9-1.0.0+gad7b74b415 (Mar 05 2021 - 07:05:56 +0000)

CPU:   i.MX8MMQ rev1.0 1800 MHz (running at 1200 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 36C
Reset cause: POR
Model: NXP i.MX8MM EVK board
DRAM:  2 GiB

 

 

Software image is
yocto core-image-minimal builded as following

 

 

repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-gatesgarth -m imx-5.10.9-1.0.0.xml
repo sync

MACHINE=imx8mmevk DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b bld-xwayland

bitbake core-image-minimal

 

 

 
Regards,

Labels (1)
0 Kudos
Reply
1 Solution
1,111 Views
maxipenna
Contributor III

So the problem is that Apple hub is failing in detecting the current capabilities of the Raspberry Pi PSU on the hub own supply port. So that what's happening:


apple hub: Source_caps PDO Fixed 5V Max 100mA
evk: Request PDO 1 (5V) operating current 100mA and 1800mA Max with Cap Mismatch bit = 1 (means negotiation failure)
apple hub: accept & ps_rdy
apple hub: sink_caps ?
evk: answer crc okay but never respond with own sink caps

Explanation: I think tcpm driver inside u-boot on evk is going in a particular state that is marking the negotiation as invalid. The Apple hub is
not capable of sourcing the required current and the driver goes in a cycle where is answering only with crc okay messages. During the whole negotiation the evk never exceed 500mA current as required by PD specification.

Pending issues: I don't know if entering such a loop is good/bad neither if is specification compliant. Any clue?

View solution in original post

0 Kudos
Reply
1 Reply
1,112 Views
maxipenna
Contributor III

So the problem is that Apple hub is failing in detecting the current capabilities of the Raspberry Pi PSU on the hub own supply port. So that what's happening:


apple hub: Source_caps PDO Fixed 5V Max 100mA
evk: Request PDO 1 (5V) operating current 100mA and 1800mA Max with Cap Mismatch bit = 1 (means negotiation failure)
apple hub: accept & ps_rdy
apple hub: sink_caps ?
evk: answer crc okay but never respond with own sink caps

Explanation: I think tcpm driver inside u-boot on evk is going in a particular state that is marking the negotiation as invalid. The Apple hub is
not capable of sourcing the required current and the driver goes in a cycle where is answering only with crc okay messages. During the whole negotiation the evk never exceed 500mA current as required by PD specification.

Pending issues: I don't know if entering such a loop is good/bad neither if is specification compliant. Any clue?

0 Kudos
Reply