summaryrefslogtreecommitdiff
path: root/board/dalboz/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/dalboz/board.c')
-rw-r--r--board/dalboz/board.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/board/dalboz/board.c b/board/dalboz/board.c
index 8fd80d29a4..d44f5ea6f7 100644
--- a/board/dalboz/board.c
+++ b/board/dalboz/board.c
@@ -21,6 +21,7 @@
#include "pwm_chip.h"
#include "switch.h"
#include "system.h"
+#include "tablet_mode.h"
#include "task.h"
#include "usb_charge.h"
@@ -152,7 +153,7 @@ void pcal6408_interrupt(enum gpio_signal signal)
hook_call_deferred(&pcal6408_handler_data, 0);
}
-static void setup_usb_db(void)
+static void setup_fw_config(void)
{
if (ec_config_get_usb_db() == DALBOZ_DB_D_OPT2_USBA_HDMI) {
ccprints("DB OPT2 HDMI");
@@ -184,14 +185,19 @@ static void setup_usb_db(void)
/* Enable BC 1.2 interrupts */
gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_ODL);
gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_ODL);
-}
-DECLARE_HOOK(HOOK_INIT, setup_usb_db, HOOK_PRIO_INIT_I2C + 2);
-void board_update_sensor_config_from_sku(void)
-{
- /* Enable Gyro interrupts */
- gpio_enable_interrupt(GPIO_6AXIS_INT_L);
+ if (ec_config_has_lid_angle_tablet_mode()) {
+ /* Enable Gyro interrupts */
+ gpio_enable_interrupt(GPIO_6AXIS_INT_L);
+ } else {
+ motion_sensor_count = 0;
+ /* Device is clamshell only */
+ tablet_set_mode(0);
+ /* Gyro is not present, don't allow line to float */
+ gpio_set_flags(GPIO_6AXIS_INT_L, GPIO_INPUT | GPIO_PULL_DOWN);
+ }
}
+DECLARE_HOOK(HOOK_INIT, setup_fw_config, HOOK_PRIO_INIT_I2C + 2);
const struct pwm_t pwm_channels[] = {
[PWM_CH_KBLIGHT] = {