Question: What is pin assignment on USB Type-C connector for DP signaling? What should I use for my Display Adapter?
Answer: One of the advantage of a USB Type-C connector is that it can be plugged in any orientation. The USB Type-C receptacle is expected to detect the orientation based on the voltages on CC line and use internal mux to route the signals properly. The USB Type-C plug does not have any in-built mechanism to handle the signal routing.
VESA defines different pin assignments on the USB Type-C connector when sending and receiving DisplayPort signaling. Six possible pin assignments are defined for USB Type-C configured to behave as a Display Source (DFP_D) – A, B, C, D, E, or F. Five possible pin assignments are defined for USB Type-C configured to behave as a Display Sink (UFP_D) – A, B, C, D, or E.
- Pin Assignments A, B, C, and D are intended for use with USB Type-C to USB Type-C Cables and with adaptors from USB Type-C to other video standards such as VGA, DVI, HDMI.
- Pin Assignments E and F are intended for use with adaptors from USB Type-C to DisplayPort plugs or receptacles.
For further details, please contact VESA for VESA DisplayPort Alt Mode on USB Type-C Standard.
Question: How do I configure my device with the required pin assignment?
Answer: CYPD1120 can support both 4 lane Type-C to DP/mDP (pin assignment E) and Type-C to VGA/HDMI/DVI (pin assignment C). The default programming on the CYPD1120 supports both C and E pin assignments (C+E). Cypress provides firmware and configuration files for supporting pin assignments C, E and C+E. Cypress’s EZ-PD Configuration Utility can be used to program parts with the desired firmware and configuration settings. The entire process can be split to three main steps: Setup, Firmware upgrade and Configuration upgrade. The flow chart for the process is as shown in Figure 1. The detailed steps are explained below with the corresponding step number listed in the flowchart.
Fig 1: Flow Chart for Configuring Pin Assignment
The detailed steps for upgrade is as follows:
- Check if you have the latest version of EZ-PD Configuration Utility. If not, download and run EZ-PD_Configuration_Utility.exe. See the Utility User Manual for the system requirements.
a. Click Run.
b. Click Next
c. Select “I accept the terms in the license agreement” after reviewing the agreement. Click Next.
d. Select the install location (if not default) using Change and then click Next.
e. Click Install
f. Click Finish
- Download and install the Driver for USB-Serial. The EZ-PD Configuration Utility makes use of the USB-Serial device to access the Type-C device. Double click on CypressDriverInstaller.exe to start the installation.
a. Click Next to continue.
b. Click “I agree” after reviewing the license terms.
c. Click Install after selecting the destination folder.
d. Click Finish to exit.
- Replace ezpdflash.dll in EZ-PD Configuration Utility. Copy ezpdflash.dll to C:\Program Files (x86)\Cypress\EZ-PD Configuration Utility. If you have installed the Utility in a custom location, you will find the dll file location at <custom path>/ Cypress\EZ-PD Configuration Utility. Ensure that the utility is not running when you do this step.
- CYPD1120 has an I2C boot loader and the EZ-PD Configuration Utility uses the I2C interface for programming. Setup the system as shown in sec 3.1.1 of the Utility User Guide. See the EZ-PD™ Configuration Utility Release Notes for the “Supported Kits and Devices”. You can use CY4501 CCG1 Development Kit if you do not have a USB Type-C host system. See section 6.3 (Running the SuperSpeed USB Demo) in CY4501 CCG1 Development Kit Guide for the Host Board jumper settings.
- Launch EZ-PD Configuration Utility from the Start menu. Determine the current firmware version using “Read from Device.”
a. Click on DFP-DONGLE to read the Firmware App version. The example below shows CYPD1120 firmware version 0.10. Please refer to the Firmware release notes to determine if you have the latest firmware and if you would need to upgrade.
- Upgrading Firmware:
- If your firmware version is 0.10, it is strongly recommended that you upgrade to the latest firmware version. The revision note contains the list of changes with each firmware version. You can refer to the Readme.txt to identify the firmware file for your device package. If you wish to retain the 0.10 firmware, contact email@example.com for firmware that needs to be used to support the pin configuration. Once you have identified the required firmware file (.cyacd), follow these steps.
- Changing Configuration
The configuration values are stored in xml files. If the configuration values in your device are different from the default values, you will not be able to use the xml files provided. The configuration value of your device needs to be read and edits made for the right pin assignment before programming it back to your device. Follow steps in 7a for executing these steps. If you have not made any changes to your configuration, you could use the preprogrammed xml files from Cypress. See section 7b in this case.
a. Steps to read, edit, save and configure devices
- Select Read from device.
- Select the device.
- Select Read.
- Select SVID 0.
- Change the MODE 0 value. For pin assignment C, use 00000405. For pin assignment E, use 00001005. For pin assignment C+E, use 00001405.
- Save the changes.
- After the file is saved, configure device would be highlighted. Click it to open the configure device window.
- Select the device to configure.
- The saved xml file will be already loaded.
- Click program.
- There will be a programming status message shown.
b. If the configuration has not changed, follow steps vii to x in 7a to load and program the existing xml file. See the readme to identify the correct XML file.
You can read back the configuration values (Steps i to iv in 7a) to ensure that the correct pin assignment is configured in your device.
Your device should have the desired pin assignment on the USB Type-C connector for the desired display signaling at the end of these steps. Contact firstname.lastname@example.org for any issues faced while configuring the Cypress device.