In January 31, 2024, Nirav made a statement that the The Framework 16 laptop was using the pd Controller EZ-PD CCG8: “The EZ-PD CCG8 has enabled immense flexibility, not only supporting the latest USB-PD 3.1 standard, but also making our unique Expansion Card system possible, allowing end user customization of ports.” to eenewseurope.
Would be great if one could query the PD Controller from userspace to get the info on the emark chip in the connected USB Type C cable. Does the PD controller pass along this information to the EC and further down to sysfs-class-typec?
has basic schematics listing the PD controller’s model numbers.
I believe the Intel boards use controllers from the Infineon CCG6 line of controllers (CYPD6227 in 12th gen, CYPD6228 Core Ultra 100) and using CCG8-family controllers on the AMD boards (CYPD8225 on the Phoenix and Strix Point boards).
I wonder if EC firmware supports to read all the Discovery identity or even if the EZ PD CCG6/CCG8 line of infeon PD Controllers does send these information about the cable noted in kernel.org/doc/Documentation/ABI/testing/sysfs-class-typec.
Found the code which mentions Discovery Identity(Structured VDM) here:
Some VDM functions, handling thunderbolt 4 alt mode and displayport alt mode. I need to further study this but at first glance I think this is such important information which would be passed to the host processor? So there is a posibility that some discovery identity informaiton is sent. Which could potentially be picked up by some driver in the host processor.
Would be great if some framework guys developing the EC firmware could shed some light on this, if it have been in the talks or a blocker of a sort has been encountered, or if even someone have explored this. Would be awesome from a products perspective to offer a feature no other laptop/platfrom does at the moment.
Framework laptops use different PD controllers by model. Intel boards typically use Infineon CCG6 controllers (CYPD6227 for 12th gen, CYPD6228 for Core Ultra 100), while AMD boards use CCG8-family controllers (CYPD8225 on Phoenix and Strix Point). You can query USB-PD info via sysfs-class-typec if the EC exposes it, but support may vary by mainboard and firmware version.
It is just that support I am not certain about it being exposed, I wonder if the PDC and EC adheres to UCSI 2.0 + as Benson Leung talked about in the reddit post over at r/UsbCHardware.