CCD5C/CYPD5126: compiled bootloader won't answer to bootloader host on I2C

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
apfel
Level 2
Level 2
10 sign-ins 5 replies posted 5 questions asked

Hi to all,

I try to compile a bootloader for a CCG5C, namely the CYPD 5126. This bootloader, however, won't ACK the Bootloader host read command after the "go to bootloader" (hex 01 38 00 00 C7 FF 17) while the pre-compiled version CYPD5126-40LQXI_i2c_boot_3_2_1_56_0_0_0_nb works.
Here are my config.h settings (shortened):

/* Select target device family. */
#define CCG5C

/* Enable all boot loader specific code. */
#define CCG_BOOT (1u)

/* Select target silicon ID for CYPD5126-40LQXI. */
#define CCG_DEV_SILICON_ID (0x2A01)
#define CCG_DEV_FAMILY_ID (0x11BA)

/*System Macros*/
#define NO_OF_TYPEC_PORTS (1u)
#define TYPEC_PORT_0_IDX (0u)
#define TYPEC_PORT_1_IDX (1u)

#define HPI_SCB_INDEX (0u)

/* Disable I2C Address configuration based on SWD_CLK. */
/* NOTE: fixed slave address of 0x08 in the design */
#define DISABLE_I2C_ADDR_CONFIG (1u)


#define CCG_HPI_ENABLE (1u)


#define CCG_HPI_PD_ENABLE (0u)


#define APP_PRIORITY_FEATURE_ENABLE (0u)


#define SECURE_FW_UPDATE (0u)

#define FLASHING_MODE_HPI_ENABLE (1u)

#define CCG_DUALAPP_DISABLE (0u)

#if CCG_DUALAPP_DISABLE
/* Stub definitions in case dual-app bootloading is disabled. */
#define Bootloader_1_MD_BTLDB_ACTIVE_1 (0x01u)
#define Bootloader_1_MD_BTLDB_ACTIVE_NONE (0x02u)

extern volatile uint8_t Bootloader_1_activeApp;
#endif /* CCG_DUALAPP_DISABLE */


#define APP_FW_LED_ENABLE (1u)


#define LED_TIMER_ID (0xB0)


#define LED_TIMER_PERIOD (500)


#define FW_LED_GPIO_PORT_PIN (GPIO_PORT_2_PIN_0)
#define FW_LED_GPIO_PORT_PIN2 (GPIO_PORT_3_PIN_0)


#define TIMER_TYPE_SYSTICK (1)


#define TIMER_TYPE_WDT (2)


#define TIMER_TYPE (TIMER_TYPE_SYSTICK)


#define TIMER_TICKLESS_ENABLE (0)


#define TIMER_NUM_INSTANCES (1)


#define BL_TIMER_INSTANCE (0)

#define BOOTWAIT_ENABLE (1)

#define BL_BOOT_WAIT_TIMER_ID (0xC0)

/*EOF*/

What am I missing?

0 Likes
1 Solution
Pranava_YN
Moderator
Moderator
Moderator
100 likes received 500 replies posted 250 solutions authored

Hi,

Apologies for the delay. May I know the Host application you are using in your PC to update firmware using this bootloader. I2C Bootloader in CCG5C implements HPI specification and therefore EZ-PD Configuration Utility (https://www.cypress.com/documentation/software-and-drivers/ez-pd-configuration-utility) must be used.

Best regards,
Pranava

View solution in original post

0 Likes
9 Replies