What PD Controllers and can Discover Identity USB power delivery commands be used?

What PD controllers is in all the framwork products?

See kernel.org/doc/Documentation/ABI/testing/sysfs-class-typec

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?

Looks like FW Laptop 13 in Oct. 2024 used a CCG5 PD Controller. Does this repo contain up to date code for each mainboard model? · Issue #46 · FrameworkComputer/EmbeddedController · GitHub

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).

1 Like

The EC in all the boards is a Nuvoton NPCX993 it looks like.

As @Ray519 pointed out in further discussions on reddit, What is the status of ”Disover Identity” features in Kernels and OS’s for Emarked USBC cables capacity display? : r/UsbCHardware that the EC(SMC) is connected to the PD Controller

Maybe

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:

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.

EDIT: Couldn´t find such extensive documenation on the Infeons CCGX firmware example family of projects as on Infeons pmg1: Infineon/mtb-example-pmg1-usbpd-drp: Demonstrates the capability of the PMG1 devices to detect Type-C connections and negotiate a Power Delivery contract in the DRP Role. but something related maybe: Infineon/ccgxAppCommon: Application specific files common across CCGx projects

or this:

Looks like Benson Leung is working on this as he said on reddit on Chrombooks. Is it possible to read the e-marker chips with consumer hardware? : r/UsbCHardware

I also started an issue at the EC firmware github repostory today, hopefully getting some feedback from the guys over there maintaining it. Can you pipe through the Discovery Identity from the USB PD chips onto the EC and then away to a kernel driver to get the info to the OS? · Issue #78 · FrameworkComputer/EmbeddedController

1 Like

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.