/* Copyright 2022 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "battery.h" #include "button.h" #include "charge_ramp.h" #include "charger.h" #include "common.h" #include "compile_time_macros.h" #include "console.h" #include "gpio.h" #include "gpio_signal.h" #include "hooks.h" #include "fw_config.h" #include "hooks.h" #include "lid_switch.h" #include "power_button.h" #include "power.h" #include "registers.h" #include "switch.h" #include "throttle_ap.h" #include "usbc_config.h" #include "gpio_list.h" /* Must come after other header files. */ /* Console output macros */ #define CPRINTF(format, args...) cprintf(CC_CHARGER, format, ##args) #define CPRINTS(format, args...) cprints(CC_CHARGER, format, ##args) __override void board_cbi_init(void) { config_usb_db_type(); } /* Called on AP S3 -> S0 transition */ static void board_chipset_resume(void) { /* Allow keyboard backlight to be enabled */ gpio_set_level(GPIO_EC_KB_BL_EN_L, 0); } DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT); /* Called on AP S0 -> S3 transition */ static void board_chipset_suspend(void) { /* Turn off the keyboard backlight if it's on. */ gpio_set_level(GPIO_EC_KB_BL_EN_L, 1); } DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT); /* keyboard factory test */ #ifdef CONFIG_KEYBOARD_FACTORY_TEST /* * We have total 30 pins for keyboard connecter {-1, -1} mean * the N/A pin that don't consider it and reserve index 0 area * that we don't have pin 0. */ const int keyboard_factory_scan_pins[][2] = { { -1, -1 }, { 0, 5 }, { 1, 1 }, { 1, 0 }, { 0, 6 }, { 0, 7 }, { -1, -1 }, { -1, -1 }, { 1, 4 }, { 1, 3 }, { -1, -1 }, { 1, 6 }, { 1, 7 }, { 3, 1 }, { 2, 0 }, { 1, 5 }, { 2, 6 }, { 2, 7 }, { 2, 1 }, { 2, 4 }, { 2, 5 }, { 1, 2 }, { 2, 3 }, { 2, 2 }, { 3, 0 }, { -1, -1 }, { 0, 4 }, { -1, -1 }, { 8, 2 }, { -1, -1 }, { -1, -1 }, }; const int keyboard_factory_scan_pins_used = ARRAY_SIZE(keyboard_factory_scan_pins); #endif