summaryrefslogtreecommitdiff
path: root/chip/it83xx
diff options
context:
space:
mode:
Diffstat (limited to 'chip/it83xx')
-rw-r--r--chip/it83xx/gpio.c18
-rw-r--r--chip/it83xx/registers.h1
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)