EZ-PD BCR interrupt to assert when the USBC charger is plugged in

Announcements

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
jaku_4753166
Level 1
Level 1

I'm using EZ-PD BCR and would like an interrupt to assert when the USBC charger is plugged in.  The problem is that the device interrupt masks clear at power up.  I'm using a similar schematic to the EVK, using the VBUS_IN to power the device.  The datasheet claims you can power VDDD externally instead of using VBUS_IN, but gives no example.  Can you show how one would do this?

Alternatively, I would like to modify the default firmware to enable at least the USB-C connect interrupt by default on power up.  Is the firmware available ?

0 Likes
1 Solution
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

As mentioned in the datasheet, BCR can be powered from two sources- VDDD and VBUS_IN.For example, you can refer to Figure 9 in the CCG3PA datasheet https://www.cypress.com/documentation/datasheets/ez-pd-ccg3pa-datasheet-usb-type-c-controller-power-... where the device is acting as a sink and is being powered from VDDD.

Please note BCR is a modification of the CCG3PA controller and both are used for power applications.

For detecting when a USB-C charger is connected, you can refer to the BCR HPI utility and BCR HPI spec.https://www.cypress.com/documentation/software-and-drivers/ez-pd-bcr-hpi-utility.

You can read the Type_C_STATUS register through HPI which checks if a device is attached on the Type-C port.

HPI utility can be used to read the connection status of the BCR device.

BCR firmware cannot be customized.

Best Regards,

Mallika

View solution in original post

0 Likes
2 Replies
MallikaK_22
Moderator
Moderator
Moderator
50 likes received 750 replies posted 250 solutions authored

Hi,

As mentioned in the datasheet, BCR can be powered from two sources- VDDD and VBUS_IN.For example, you can refer to Figure 9 in the CCG3PA datasheet https://www.cypress.com/documentation/datasheets/ez-pd-ccg3pa-datasheet-usb-type-c-controller-power-... where the device is acting as a sink and is being powered from VDDD.

Please note BCR is a modification of the CCG3PA controller and both are used for power applications.

For detecting when a USB-C charger is connected, you can refer to the BCR HPI utility and BCR HPI spec.https://www.cypress.com/documentation/software-and-drivers/ez-pd-bcr-hpi-utility.

You can read the Type_C_STATUS register through HPI which checks if a device is attached on the Type-C port.

HPI utility can be used to read the connection status of the BCR device.

BCR firmware cannot be customized.

Best Regards,

Mallika

0 Likes

Thank you for the information regarding how to power using an external source for VDDD.  We will most likely not go down this route as it will put a drain on the battery when our system is in a 'low power' type state.  (I've seen elsewhere on these forums that low power/sleep modes don't work for the EZ-PD ?)  Without the EZ-PD being powered, we cannot query the connection status (the device of course disappears when unpowered).

However, we have found that the device asserts an interrupt when it first powers on (with USB-C VBUS_IN, no need for external VDDD supply).  The USBC-PD device seems to reliably assert INTR when it completes power-on reset, and gives 0x80 Asynchronous Device Event (Reset Completed Event).  Interestingly, this event is not in the mask register, so you must have certain interrupts that are non-maskable.  None of this seems to be documented, or if it is, we don't know where to look.    That said, I think this might be enough to build on to get the functionality I need.

Kind Regards,

Jim

0 Likes