summaryrefslogtreecommitdiff
path: root/board/trembyle/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/trembyle/board.c')
-rw-r--r--board/trembyle/board.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/board/trembyle/board.c b/board/trembyle/board.c
index e4e06c70f1..4b8194aaa2 100644
--- a/board/trembyle/board.c
+++ b/board/trembyle/board.c
@@ -13,12 +13,31 @@
#include "power.h"
#include "power_button.h"
#include "switch.h"
+#include "system.h"
#include "usb_charge.h"
#include "gpio_list.h"
+/* These GPIOs moved. Temporarily detect and support the V0 HW. */
+enum gpio_signal GPIO_PCH_PWRBTN_L = GPIO_EC_FCH_PWR_BTN_L;
+enum gpio_signal GPIO_PCH_SYS_PWROK = GPIO_EC_FCH_PWROK;
+
void board_update_sensor_config_from_sku(void)
{
+ int data;
+
+ /*
+ * If the CBI EEPROM is found on the battery I2C port then we are
+ * running on V0 HW so re-map the GPIOs that moved.
+ */
+ if ((system_get_sku_id() == 0)
+ && (i2c_read8(I2C_PORT_BATTERY, I2C_ADDR_EEPROM_FLAGS, 0, &data)
+ == EC_SUCCESS)) {
+ ccprints("V0 HW detected");
+ GPIO_PCH_PWRBTN_L = GPIO_EC_FCH_PWR_BTN_L_V0;
+ GPIO_PCH_SYS_PWROK = GPIO_EC_FCH_PWROK_V0;
+ }
+
/* Enable Gyro interrupts */
gpio_enable_interrupt(GPIO_6AXIS_INT_L);
}