Esempio n. 1
0
static void anx74xx_set_power_mode(int port, int mode)
{
	switch (mode) {
	case ANX74XX_NORMAL_MODE:
	/* Set PWR_EN and RST_N GPIO pins high */
		board_set_tcpc_power_mode(port, 1);
		break;
	case ANX74XX_STANDBY_MODE:
	/* Disable PWR_EN, keep Digital and analog block
	 *  ON for cable detection
	 */
		board_set_tcpc_power_mode(port, 0);
		break;
	default:
		break;
	}
}
Esempio n. 2
0
/**
 * Reset PD MCU -- currently only called from handle_pending_reboot() in
 * common/power.c just before hard resetting the system. This logic is likely
 * not needed as the PP3300_A rail should be dropped on EC reset.
 */
void board_reset_pd_mcu(void)
{
	/* Assert reset to TCPC1 */
	gpio_set_level(GPIO_USB_C1_PD_RST_ODL, 0);

	/* Assert reset to TCPC0 */
	board_set_tcpc_power_mode(0, 0);

	/* Deassert reset to TCPC1 */
	gpio_set_level(GPIO_USB_C1_PD_RST_ODL, 1);

	/* TCPC0 requires 10ms reset/power down assertion */
	msleep(10);

	/* Deassert reset to TCPC0 */
	board_set_tcpc_power_mode(0, 1);
}