summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/zoombini/board.c22
-rw-r--r--board/zoombini/board.h5
-rw-r--r--board/zoombini/gpio.inc1
3 files changed, 27 insertions, 1 deletions
diff --git a/board/zoombini/board.c b/board/zoombini/board.c
index 8e11ec57dd..d8c8b11323 100644
--- a/board/zoombini/board.c
+++ b/board/zoombini/board.c
@@ -368,6 +368,28 @@ static void board_chipset_suspend(void)
}
DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT);
+#ifdef BOARD_MEOWTH
+int board_get_version(void)
+{
+ static int board_version = -1;
+
+ if (board_version == -1) {
+ board_version = 0;
+ /* BD_ID3 is LSb. */
+ if (gpio_get_level(GPIO_BOARD_VERSION3))
+ board_version |= 0x1;
+ if (gpio_get_level(GPIO_BOARD_VERSION2))
+ board_version |= 0x2;
+ if (gpio_get_level(GPIO_BOARD_VERSION1))
+ board_version |= 0x4;
+ if (gpio_get_level(GPIO_BOARD_VERSION0))
+ board_version |= 0x8;
+ }
+
+ return board_version;
+}
+#endif /* BOARD_MEOWTH */
+
static void board_init(void)
{
#ifdef BOARD_ZOOMBINI
diff --git a/board/zoombini/board.h b/board/zoombini/board.h
index fac8f69db2..8da4f62b94 100644
--- a/board/zoombini/board.h
+++ b/board/zoombini/board.h
@@ -51,8 +51,8 @@
#define CONFIG_BATTERY_PRESENT_GPIO GPIO_BAT_PRESENT_L
#define CONFIG_BOARD_VERSION
-
#ifdef BOARD_MEOWTH
+#define CONFIG_BOARD_SPECIFIC_VERSION
#define CONFIG_BUTTON_TRIGGERED_RECOVERY
#endif /* defined(BOARD_MEOWTH) */
@@ -251,6 +251,9 @@ enum sensor_id {
#define CONFIG_ACCEL_FORCE_MODE_MASK (1 << LID_ALS)
+#ifdef BOARD_MEOWTH
+int board_get_version(void);
+#endif /* defined(BOARD_MEOWTH) */
/* Reset all TCPCs. */
void board_reset_pd_mcu(void);
diff --git a/board/zoombini/gpio.inc b/board/zoombini/gpio.inc
index 97ed24ab49..4cad17dd02 100644
--- a/board/zoombini/gpio.inc
+++ b/board/zoombini/gpio.inc
@@ -194,6 +194,7 @@ GPIO(I2C7_SDA, PIN(B, 2), GPIO_INPUT)
GPIO(BAT_PRESENT_L, PIN(E, 5), GPIO_INPUT)
GPIO(USB_PD_RST_L, PIN(6, 2), GPIO_ODR_HIGH)
+GPIO(BOARD_VERSION0, PIN(4, 0), GPIO_INPUT)
GPIO(BOARD_VERSION1, PIN(9, 6), GPIO_INPUT)
GPIO(BOARD_VERSION2, PIN(9, 3), GPIO_INPUT)
GPIO(BOARD_VERSION3, PIN(A, 2), GPIO_INPUT)