diff --git a/board/kunimitsu/board.c b/board/kunimitsu/board.c index dcd66ada94..5e2f49b00b 100644 --- a/board/kunimitsu/board.c +++ b/board/kunimitsu/board.c @@ -323,12 +323,7 @@ static void board_pmic_init(void) if (i2c_write8(I2C_PORT_PMIC, TPS650830_I2C_ADDR, 0xE5, 0x5)) CPRINTS("PMIC write failed"); } -/* - * TODO (crosbug.com/p/44821): Do the PMIC initialization soon after the I2C - * initialization is done. - * DECLARE_HOOK(HOOK_INIT, board_pmic_init, HOOK_PRIO_INIT_I2C + 1); - */ -DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_pmic_init, HOOK_PRIO_DEFAULT + 1); +DECLARE_HOOK(HOOK_INIT, board_pmic_init, HOOK_PRIO_INIT_I2C + 1); /* Initialize board. */ static void board_init(void) diff --git a/chip/mec1322/gpio.c b/chip/mec1322/gpio.c index dd52fb809a..a8d8ae3b45 100644 --- a/chip/mec1322/gpio.c +++ b/chip/mec1322/gpio.c @@ -131,12 +131,13 @@ void gpio_set_flags_by_mask(uint32_t port, uint32_t mask, uint32_t flags) /* Use as GPIO */ val &= ~((1 << 12) | (1 << 13)); - MEC1322_GPIO_CTL(port, i) = val; - + /* Set up level */ if (flags & GPIO_HIGH) - MEC1322_GPIO_CTL(port, i) |= (1 << 16); + val |= (1 << 16); else if (flags & GPIO_LOW) - MEC1322_GPIO_CTL(port, i) &= ~(1 << 16); + val &= ~(1 << 16); + + MEC1322_GPIO_CTL(port, i) = val; } }