EZ-USB-HX3PD with NCP change


Live Webinar: USB-C adoption. Simple & Cost-efficient solutions | April 18th @9am or 5pm CEST. Register now !

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Level 1
Level 1
First reply posted First question asked Welcome!


I'm working on a custom board which is based on H3XPC EVK and replace the NCP81239 (2PD) to NCP81231(1PD), in this design, PD port only has 1 and I2C address changed, so how do I make my custom board work?

I modified the source code as,

In "stack_params.h", I updated "#define NO_OF_TYPEC_PORT   (1u)"

In "power_control.h", I updated the I2C address from 0x74 to 0x77.

Then I used PSoC Creator 4.4 to build PD project, but very sad that it showed the error of

- prj.M0120:Build error: warning: type of 'gl_dpm_port_type' does not match original declaration

- prj.M0120: Build error: note: previously declared here

I have no idea how this error came out since it purely defined in "dpm.h" as

"extern port_type_t gl_dpm_port_type[NO_OF_TYPEC_PORTS]; /**< Current port type (DFP/UFP) for each PD port. */"


Any suggestion?

BTW, the SDK I used is "EZ-PD CCGx Dock SDK (Version 3.3, July 12, 2020)".

2 Replies
10 likes given 250 sign-ins 1000 replies posted


There are two difference projects on EZ-PD CCGx Dock SDK (Version 3.3, July 12, 2020). May I know which project you are based on?



1. May I know what's meaning of "replace the NCP81239 (2PD) to NCP81231(1PD)"? It is you are using one NCP81239 and one NCP81231?  It will be helpful if you could share the block diagram and schematic in this threads. 

2. NO_OF_TYPEC_PORT is meaning of your design have how many Type-C port. Is your design only have one Type-C port? If yes, which one was disabled based on reference design?


Best Regards,




1. I'm running "HX3PD_HUB" project.

2. On EVK, it used "NCP81239" which supports two PD ports and our custom hardware use "NCP81231" which supports only one PD port.

3. Since our custom hardware use "NCP81231" only has 1 type C (PD port), so I changed this define from 2 to 1, the only one port as PD0.