static void factory_validation_deferred(void) { struct mcdp_info info; mcdp_enable(); /* test mcdp via serial to validate function */ if (!mcdp_get_info(&info) && (MCDP_FAMILY(info.family) == 0x0010) && (MCDP_CHIPID(info.chipid) == 0x2850)) { 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(); }
/** * Saves a power state log entry with the current info about the passed port. */ void charge_manager_save_log(int port) { uint16_t flags = 0; struct ec_response_usb_pd_power_info pinfo; if (port < 0 || port >= CONFIG_USB_PD_PORT_COUNT) return; save_log[port] = 0; charge_manager_fill_power_info(port, &pinfo); /* Flags are stored in the data field */ if (port == override_port) flags |= CHARGE_FLAGS_OVERRIDE; if (port == delayed_override_port) flags |= CHARGE_FLAGS_DELAYED_OVERRIDE; flags |= pinfo.role | (pinfo.type << CHARGE_FLAGS_TYPE_SHIFT) | (pinfo.dualrole ? CHARGE_FLAGS_DUAL_ROLE : 0); pd_log_event(PD_EVENT_MCU_CHARGE, PD_LOG_PORT_SIZE(port, sizeof(pinfo.meas)), flags, &pinfo.meas); }