diff options
Diffstat (limited to 'board/fruitpie/usb_pd_policy.c')
-rw-r--r-- | board/fruitpie/usb_pd_policy.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/board/fruitpie/usb_pd_policy.c b/board/fruitpie/usb_pd_policy.c index 0a4b1be7ee..e9f32efb20 100644 --- a/board/fruitpie/usb_pd_policy.c +++ b/board/fruitpie/usb_pd_policy.c @@ -139,6 +139,7 @@ int pd_board_checks(void) int pd_custom_vdm(int port, int cnt, uint32_t *payload, uint32_t **rpayload) { int cmd = PD_VDO_CMD(payload[0]); + uint8_t dev_id = 0; ccprintf("VDM/%d [%d] %08x\n", cnt, cmd, payload[0]); /* make sure we have some payload */ @@ -152,16 +153,17 @@ int pd_custom_vdm(int port, int cnt, uint32_t *payload, uint32_t **rpayload) ccprintf("version: %s\n", (char *)(payload+1)); break; case VDO_CMD_READ_INFO: - /* copy hash */ - if (cnt >= 6) - pd_dev_store_rw_hash(port, payload + 1); - /* if last word is present, it contains lots of info */ - if (cnt == 7) - ccprintf("Dev:%d SW:%d RW:%d\n", - VDO_INFO_HW_DEV_ID(payload[6]), + if (cnt == 7) { + dev_id = VDO_INFO_HW_DEV_ID(payload[6]); + ccprintf("Dev:%d SW:%d RW:%d\n", dev_id, VDO_INFO_SW_DBG_VER(payload[6]), VDO_INFO_IS_RW(payload[6])); + } + /* copy hash */ + if (cnt >= 6) + pd_dev_store_rw_hash(port, dev_id, payload + 1); + break; } |