From a865816621200c2b06e49e4b791a94085192b7b7 Mon Sep 17 00:00:00 2001 From: Todd Broch Date: Mon, 26 Jan 2015 13:49:31 -0800 Subject: pd: Log events for dingdong & hoho Signed-off-by: Todd Broch BRANCH=samus BUG=chrome-os-partner:35935 TEST=manual, see new events for dingdong & hoho. Note must be in GFU mode to facilitate. Original-Change-Id: I1b79237512748796cf98765a553af8c9978cb594 Signed-off-by: Duncan Laurie Reviewed-on: https://chromium-review.googlesource.com/243468 (cherry picked from commit db56aabe7019f7837f202df9eae3fbd4aeb8fb7b) Signed-off-by: Todd Broch Change-Id: Ib97ee161389f58a776a6633d997e179c2f2dfd1a Reviewed-on: https://chromium-review.googlesource.com/244233 Reviewed-by: Alec Berg Tested-by: Todd Broch Commit-Queue: Todd Broch --- board/dingdong/usb_pd_policy.c | 3 +++ board/hoho/board.c | 7 ++++++- board/hoho/usb_pd_policy.c | 3 +++ include/ec_commands.h | 3 ++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/board/dingdong/usb_pd_policy.c b/board/dingdong/usb_pd_policy.c index 5997028dc6..0ff948c490 100644 --- a/board/dingdong/usb_pd_policy.c +++ b/board/dingdong/usb_pd_policy.c @@ -7,6 +7,7 @@ #include "board.h" #include "common.h" #include "console.h" +#include "ec_commands.h" #include "gpio.h" #include "hooks.h" #include "registers.h" @@ -189,6 +190,7 @@ static int svdm_enter_mode(int port, uint32_t *payload) (PD_VDO_OPOS(payload[0]) == OPOS_DP)) { alt_mode[PD_AMODE_DISPLAYPORT] = OPOS_DP; rv = 1; + pd_log_event(PD_EVENT_VIDEO_DP_MODE, 0, 1, NULL); } else if ((PD_VDO_VID(payload[0]) == USB_VID_GOOGLE) && (PD_VDO_OPOS(payload[0]) == OPOS_GFU)) { alt_mode[PD_AMODE_GOOGLE] = OPOS_GFU; @@ -212,6 +214,7 @@ static int svdm_exit_mode(int port, uint32_t *payload) if (PD_VDO_VID(payload[0]) == USB_SID_DISPLAYPORT) { gpio_set_level(GPIO_PD_SBU_ENABLE, 0); alt_mode[PD_AMODE_DISPLAYPORT] = 0; + pd_log_event(PD_EVENT_VIDEO_DP_MODE, 0, 0, NULL); } else if (PD_VDO_VID(payload[0]) == USB_VID_GOOGLE) { alt_mode[PD_AMODE_GOOGLE] = 0; } else { diff --git a/board/hoho/board.c b/board/hoho/board.c index 324f79b2ef..19f0cc2f7c 100644 --- a/board/hoho/board.c +++ b/board/hoho/board.c @@ -7,6 +7,7 @@ #include "adc.h" #include "adc_chip.h" #include "common.h" +#include "ec_commands.h" #include "ec_version.h" #include "gpio.h" #include "hooks.h" @@ -140,8 +141,12 @@ static void factory_validation_deferred(void) /* test mcdp via serial to validate function */ if (!mcdp_get_info(&info) && (MCDP_FAMILY(info.family) == 0xe) && - (MCDP_CHIPID(info.chipid) == 0x1)) + (MCDP_CHIPID(info.chipid) == 0x1)) { gpio_set_level(GPIO_MCDP_READY, 1); + pd_log_event(PD_EVENT_VIDEO_CODEC, + PD_LOG_PORT_SIZE(0, sizeof(info)), + 0, &info); + } mcdp_disable(); } diff --git a/board/hoho/usb_pd_policy.c b/board/hoho/usb_pd_policy.c index 3f8f23013e..4ec6f2d027 100644 --- a/board/hoho/usb_pd_policy.c +++ b/board/hoho/usb_pd_policy.c @@ -7,6 +7,7 @@ #include "board.h" #include "common.h" #include "console.h" +#include "ec_commands.h" #include "gpio.h" #include "hooks.h" #include "registers.h" @@ -188,6 +189,7 @@ static int svdm_enter_mode(int port, uint32_t *payload) (PD_VDO_OPOS(payload[0]) == OPOS_DP)) { alt_mode[PD_AMODE_DISPLAYPORT] = OPOS_DP; rv = 1; + pd_log_event(PD_EVENT_VIDEO_DP_MODE, 0, 1, NULL); } else if ((PD_VDO_VID(payload[0]) == USB_VID_GOOGLE) && (PD_VDO_OPOS(payload[0]) == OPOS_GFU)) { alt_mode[PD_AMODE_GOOGLE] = OPOS_GFU; @@ -211,6 +213,7 @@ static int svdm_exit_mode(int port, uint32_t *payload) if (PD_VDO_VID(payload[0]) == USB_SID_DISPLAYPORT) { gpio_set_level(GPIO_PD_SBU_ENABLE, 0); alt_mode[PD_AMODE_DISPLAYPORT] = 0; + pd_log_event(PD_EVENT_VIDEO_DP_MODE, 0, 0, NULL); } else if (PD_VDO_VID(payload[0]) == USB_VID_GOOGLE) { alt_mode[PD_AMODE_GOOGLE] = 0; } else { diff --git a/include/ec_commands.h b/include/ec_commands.h index 58a698fb8d..ce10f80b85 100644 --- a/include/ec_commands.h +++ b/include/ec_commands.h @@ -2886,12 +2886,13 @@ struct ec_response_pd_log { #define PD_EVENT_ACC_BASE 0x20 #define PD_EVENT_ACC_RW_FAIL (PD_EVENT_ACC_BASE+0) #define PD_EVENT_ACC_RW_ERASE (PD_EVENT_ACC_BASE+1) -#define PD_EVENT_ACC_GFU_ENTER (PD_EVENT_ACC_BASE+2) /* PD power supply events */ #define PD_EVENT_PS_BASE 0x40 #define PD_EVENT_PS_FAULT (PD_EVENT_PS_BASE+0) /* PD video dongles events */ #define PD_EVENT_VIDEO_BASE 0x60 +#define PD_EVENT_VIDEO_DP_MODE (PD_EVENT_VIDEO_BASE+0) +#define PD_EVENT_VIDEO_CODEC (PD_EVENT_VIDEO_BASE+1) /* Returned in the "type" field, when there is no entry available */ #define PD_EVENT_NO_ENTRY 0xFF -- cgit v1.2.1