diff options
Diffstat (limited to 'chip/it83xx')
-rw-r--r-- | chip/it83xx/gpio.c | 18 | ||||
-rw-r--r-- | chip/it83xx/registers.h | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/chip/it83xx/gpio.c b/chip/it83xx/gpio.c index 3dd6d16268..90d8b717b7 100644 --- a/chip/it83xx/gpio.c +++ b/chip/it83xx/gpio.c @@ -667,6 +667,24 @@ void gpio_pre_init(void) IT83XX_GPIO_GCR = 0x06; +#if !defined(CONFIG_IT83XX_VCC_1P8V) && !defined(CONFIG_IT83XX_VCC_3P3V) +#error Please select voltage level of VCC for EC. +#endif + +#if defined(CONFIG_IT83XX_VCC_1P8V) && defined(CONFIG_IT83XX_VCC_3P3V) +#error Must select only one voltage level of VCC for EC. +#endif + /* The power level of GPM6 follows VCC */ + IT83XX_GPIO_GCR29 |= BIT(0); + + /* The power level (VCC) of GPM0~6 is 1.8V */ + if (IS_ENABLED(CONFIG_IT83XX_VCC_1P8V)) + IT83XX_GPIO_GCR30 |= BIT(4); + + /* The power level (VCC) of GPM0~6 is 3.3V */ + if (IS_ENABLED(CONFIG_IT83XX_VCC_3P3V)) + IT83XX_GPIO_GCR30 &= ~BIT(4); + #if IT83XX_USBPD_PHY_PORT_COUNT < CONFIG_USB_PD_ITE_ACTIVE_PORT_COUNT #error "ITE pd active port count should be less than physical port count !" #endif diff --git a/chip/it83xx/registers.h b/chip/it83xx/registers.h index 7f70724864..f8e73f8887 100644 --- a/chip/it83xx/registers.h +++ b/chip/it83xx/registers.h @@ -773,6 +773,7 @@ #define IT83XX_GPIO_GCR26 REG8(IT83XX_GPIO_BASE+0xD2) #define IT83XX_GPIO_GCR27 REG8(IT83XX_GPIO_BASE+0xD3) #define IT83XX_GPIO_GCR28 REG8(IT83XX_GPIO_BASE+0xD4) +#define IT83XX_GPIO_GCR29 REG8(IT83XX_GPIO_BASE+0xEE) #define IT83XX_GPIO_GCR30 REG8(IT83XX_GPIO_BASE+0xED) #define IT83XX_GPIO_GCR31 REG8(IT83XX_GPIO_BASE+0xD5) #define IT83XX_GPIO_GCR32 REG8(IT83XX_GPIO_BASE+0xD6) |