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