mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-01 21:02:27 +00:00
Use binary search in host command lookup dispatcher
BUG=chromium:570895
TEST=manual testing on kevin
- Kevin boots
- ectool hello
make buildall -j
Verify *.smap hcmds section is sorted:
BOARD with host commands and private host commands
0004d0ec R __hcmds
0004d0ec R __host_cmd_0x00000x0000
0004d0f8 R __host_cmd_0x00000x0001
0004d104 R __host_cmd_0x00000x0002
0004d110 R __host_cmd_0x00000x0003
0004d11c R __host_cmd_0x00000x0004
0004d128 R __host_cmd_0x00000x0005
0004d134 R __host_cmd_0x00000x0007
0004d140 R __host_cmd_0x00000x0008
0004d14c R __host_cmd_0x00000x000a
0004d158 R __host_cmd_0x00000x000d
0004d164 R __host_cmd_0x00000x0010
0004d170 R __host_cmd_0x00000x0011
0004d17c R __host_cmd_0x00000x0012
0004d188 R __host_cmd_0x00000x0013
0004d194 R __host_cmd_0x00000x0015
0004d1a0 R __host_cmd_0x00000x0016
0004d1ac R __host_cmd_0x00000x0017
0004d1b8 R __host_cmd_0x00000x0087
0004d1c4 R __host_cmd_0x00000x008c
0004d1d0 R __host_cmd_0x00000x008f
0004d1dc R __host_cmd_0x00000x0092
0004d1e8 R __host_cmd_0x00000x0093
0004d1f4 R __host_cmd_0x00000x0097
0004d200 R __host_cmd_0x00000x0098
0004d20c R __host_cmd_0x00000x00b6
0004d218 R __host_cmd_0x00000x00d2
0004d224 R __host_cmd_0x00000x00d3
0004d230 R __host_cmd_0x3E000x0000
0004d23c R __host_cmd_0x3E000x0002
0004d248 R __evt_src_EC_MKBP_EVENT_HOST_EVENT
0004d248 R __hcmds_end
BOARD with host commands only
100bc888 R __hcmds
100bc888 R __host_cmd_0x00000x0000
100bc894 R __host_cmd_0x00000x0001
100bc8a0 R __host_cmd_0x00000x0002
100bc8ac R __host_cmd_0x00000x0003
100bc8b8 R __host_cmd_0x00000x0004
100bc8c4 R __host_cmd_0x00000x0005
100bc8d0 R __host_cmd_0x00000x0006
100bc8dc R __host_cmd_0x00000x0007
100bc8e8 R __host_cmd_0x00000x0008
100bc8f4 R __host_cmd_0x00000x0009
100bc900 R __host_cmd_0x00000x000a
100bc90c R __host_cmd_0x00000x000b
100bc918 R __host_cmd_0x00000x000d
100bc924 R __host_cmd_0x00000x0010
100bc930 R __host_cmd_0x00000x0011
100bc93c R __host_cmd_0x00000x0012
100bc948 R __host_cmd_0x00000x0013
100bc954 R __host_cmd_0x00000x0015
100bc960 R __host_cmd_0x00000x0016
100bc96c R __host_cmd_0x00000x0017
100bc978 R __host_cmd_0x00000x0025
100bc984 R __host_cmd_0x00000x0026
100bc990 R __host_cmd_0x00000x0029
100bc99c R __host_cmd_0x00000x002a
100bc9a8 R __host_cmd_0x00000x002b
100bc9b4 R __host_cmd_0x00000x002c
100bc9c0 R __host_cmd_0x00000x0044
100bc9cc R __host_cmd_0x00000x0045
100bc9d8 R __host_cmd_0x00000x0046
100bc9e4 R __host_cmd_0x00000x0047
100bc9f0 R __host_cmd_0x00000x0061
100bc9fc R __host_cmd_0x00000x0062
100bca08 R __host_cmd_0x00000x0064
100bca14 R __host_cmd_0x00000x0065
100bca20 R __host_cmd_0x00000x0067
100bca2c R __host_cmd_0x00000x0087
100bca38 R __host_cmd_0x00000x008c
100bca44 R __host_cmd_0x00000x008d
100bca50 R __host_cmd_0x00000x008f
100bca5c R __host_cmd_0x00000x0092
100bca68 R __host_cmd_0x00000x0093
100bca74 R __host_cmd_0x00000x0096
100bca80 R __host_cmd_0x00000x0097
100bca8c R __host_cmd_0x00000x0098
100bca98 R __host_cmd_0x00000x0099
100bcaa4 R __host_cmd_0x00000x009e
100bcab0 R __host_cmd_0x00000x00a0
100bcabc R __host_cmd_0x00000x00a1
100bcac8 R __host_cmd_0x00000x00a8
100bcad4 R __host_cmd_0x00000x00a9
100bcae0 R __host_cmd_0x00000x00b6
100bcaec R __host_cmd_0x00000x00b7
100bcaf8 R __host_cmd_0x00000x00d2
100bcb04 R __host_cmd_0x00000x00d3
100bcb10 R __host_cmd_0x00000x00db
100bcb1c R __host_cmd_0x00000x0101
100bcb28 R __host_cmd_0x00000x0102
100bcb34 R __host_cmd_0x00000x0103
100bcb40 R __host_cmd_0x00000x0104
100bcb4c R __host_cmd_0x00000x0110
100bcb58 R __host_cmd_0x00000x0111
100bcb64 R __host_cmd_0x00000x0112
100bcb70 R __host_cmd_0x00000x0113
100bcb7c R __host_cmd_0x00000x0114
100bcb88 R __host_cmd_0x00000x0115
100bcb94 R __host_cmd_0x00000x0116
100bcba0 R __host_cmd_0x00000x0117
100bcbac R __host_cmd_0x00000x0118
100bcbb8 R __host_cmd_0x00000x011a
100bcbc4 R __evt_src_EC_MKBP_EVENT_KEY_MATRIX
100bcbc4 R __hcmds_end
BRANCH=none
Change-Id: I5d13d2a7fe7fa9a0fbeed43177cc612f572a58bb
Reviewed-on: https://chromium-review.googlesource.com/419702
Commit-Ready: Sam Hurst <shurst@google.com>
Tested-by: Sam Hurst <shurst@google.com>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-by: Shawn N <shawnn@chromium.org>
224 lines
5.2 KiB
C
224 lines
5.2 KiB
C
/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
/* Per-test config flags */
|
|
|
|
#ifndef __TEST_TEST_CONFIG_H
|
|
#define __TEST_TEST_CONFIG_H
|
|
|
|
/* Test config flags only apply for test builds */
|
|
#ifdef TEST_BUILD
|
|
|
|
/* Host commands are sorted. */
|
|
#define CONFIG_HOSTCMD_SECTION_SORTED
|
|
|
|
/* Don't compile features unless specifically testing for them */
|
|
#undef CONFIG_VBOOT_HASH
|
|
#undef CONFIG_USB_PD_LOGGING
|
|
|
|
#ifdef TEST_BKLIGHT_LID
|
|
#define CONFIG_BACKLIGHT_LID
|
|
#endif
|
|
|
|
#ifdef TEST_BKLIGHT_PASSTHRU
|
|
#define CONFIG_BACKLIGHT_LID
|
|
#define CONFIG_BACKLIGHT_REQ_GPIO GPIO_PCH_BKLTEN
|
|
#endif
|
|
|
|
#ifdef TEST_KB_8042
|
|
#define CONFIG_KEYBOARD_PROTOCOL_8042
|
|
#endif
|
|
|
|
#ifdef TEST_KB_MKBP
|
|
#define CONFIG_KEYBOARD_PROTOCOL_MKBP
|
|
#define CONFIG_MKBP_EVENT
|
|
#endif
|
|
|
|
#ifdef TEST_KB_SCAN
|
|
#define CONFIG_KEYBOARD_PROTOCOL_MKBP
|
|
#define CONFIG_MKBP_EVENT
|
|
#endif
|
|
|
|
#ifdef TEST_MATH_UTIL
|
|
#define CONFIG_MATH_UTIL
|
|
#endif
|
|
|
|
#ifdef TEST_MOTION_LID
|
|
#define CONFIG_LID_ANGLE
|
|
#define CONFIG_LID_ANGLE_INVALID_CHECK
|
|
#define CONFIG_LID_ANGLE_TABLET_MODE
|
|
#define CONFIG_LID_ANGLE_SENSOR_BASE 0
|
|
#define CONFIG_LID_ANGLE_SENSOR_LID 1
|
|
#define CONFIG_TABLET_MODE
|
|
#endif
|
|
|
|
#ifdef TEST_RSA
|
|
#define CONFIG_RSA
|
|
#define CONFIG_RSA_KEY_SIZE 2048
|
|
#endif
|
|
|
|
#ifdef TEST_RSA3
|
|
#define CONFIG_RSA
|
|
#define CONFIG_RSA_KEY_SIZE 2048
|
|
#define CONFIG_RSA_EXPONENT_3
|
|
#endif
|
|
|
|
#ifdef TEST_SBS_CHARGING
|
|
#define CONFIG_BATTERY_MOCK
|
|
#define CONFIG_BATTERY_SMART
|
|
#define CONFIG_CHARGER
|
|
#define CONFIG_CHARGER_V1
|
|
#define CONFIG_CHARGER_INPUT_CURRENT 4032
|
|
#define CONFIG_CHARGER_DISCHARGE_ON_AC
|
|
#define CONFIG_CHARGER_DISCHARGE_ON_AC_CUSTOM
|
|
#define CONFIG_I2C
|
|
#define CONFIG_I2C_MASTER
|
|
int board_discharge_on_ac(int enabled);
|
|
#define I2C_PORT_MASTER 0
|
|
#define I2C_PORT_BATTERY 0
|
|
#define I2C_PORT_CHARGER 0
|
|
#endif
|
|
|
|
#ifdef TEST_SHMALLOC
|
|
#define CONFIG_MALLOC
|
|
#endif
|
|
|
|
#ifdef TEST_SBS_CHARGING_V2
|
|
#define CONFIG_BATTERY_MOCK
|
|
#define CONFIG_BATTERY_SMART
|
|
#define CONFIG_CHARGER
|
|
#define CONFIG_CHARGER_V2
|
|
#define CONFIG_CHARGER_PROFILE_OVERRIDE
|
|
#define CONFIG_CHARGER_INPUT_CURRENT 4032
|
|
#define CONFIG_CHARGER_DISCHARGE_ON_AC
|
|
#define CONFIG_CHARGER_DISCHARGE_ON_AC_CUSTOM
|
|
#define CONFIG_I2C
|
|
#define CONFIG_I2C_MASTER
|
|
int board_discharge_on_ac(int enabled);
|
|
#define I2C_PORT_MASTER 0
|
|
#define I2C_PORT_BATTERY 0
|
|
#define I2C_PORT_CHARGER 0
|
|
#endif
|
|
|
|
#ifdef TEST_THERMAL
|
|
#define CONFIG_CHIPSET_CAN_THROTTLE
|
|
#define CONFIG_FANS 1
|
|
#define CONFIG_I2C
|
|
#define CONFIG_I2C_MASTER
|
|
#define CONFIG_TEMP_SENSOR
|
|
#define CONFIG_THROTTLE_AP
|
|
#define CONFIG_THERMISTOR_NCP15WB
|
|
#define I2C_PORT_THERMAL 0
|
|
int ncp15wb_calculate_temp(uint16_t adc);
|
|
#endif
|
|
|
|
#ifdef TEST_FAN
|
|
#define CONFIG_FANS 1
|
|
#endif
|
|
|
|
#ifdef TEST_BUTTON
|
|
#define CONFIG_BUTTON_COUNT 2
|
|
#define CONFIG_KEYBOARD_PROTOCOL_8042
|
|
#endif
|
|
|
|
#ifdef TEST_BATTERY_GET_PARAMS_SMART
|
|
#define CONFIG_BATTERY_MOCK
|
|
#define CONFIG_BATTERY_SMART
|
|
#define CONFIG_CHARGER_INPUT_CURRENT 4032
|
|
#define CONFIG_I2C
|
|
#define CONFIG_I2C_MASTER
|
|
#define I2C_PORT_MASTER 0
|
|
#define I2C_PORT_BATTERY 0
|
|
#define I2C_PORT_CHARGER 0
|
|
#endif
|
|
|
|
#ifdef TEST_LIGHTBAR
|
|
#define CONFIG_I2C
|
|
#define CONFIG_I2C_MASTER
|
|
#define I2C_PORT_LIGHTBAR 0
|
|
#define CONFIG_ALS_LIGHTBAR_DIMMING 0
|
|
#endif
|
|
|
|
#ifdef TEST_USB_PD
|
|
#define CONFIG_USB_POWER_DELIVERY
|
|
#define CONFIG_USB_PD_CUSTOM_VDM
|
|
#define CONFIG_USB_PD_DUAL_ROLE
|
|
#define CONFIG_USB_PD_PORT_COUNT 2
|
|
#define CONFIG_USB_PD_TCPC
|
|
#define CONFIG_USB_PD_TCPM_STUB
|
|
#define CONFIG_SHA256
|
|
#define CONFIG_SW_CRC
|
|
#endif
|
|
|
|
#ifdef TEST_CHARGE_MANAGER
|
|
#define CONFIG_CHARGE_MANAGER
|
|
#undef CONFIG_CHARGE_MANAGER_DRP_CHARGING
|
|
#define CONFIG_USB_PD_DUAL_ROLE
|
|
#define CONFIG_USB_PD_PORT_COUNT 2
|
|
#endif
|
|
|
|
#ifdef TEST_CHARGE_MANAGER_DRP_CHARGING
|
|
#define CONFIG_CHARGE_MANAGER
|
|
#define CONFIG_CHARGE_MANAGER_DRP_CHARGING
|
|
#define CONFIG_USB_PD_DUAL_ROLE
|
|
#define CONFIG_USB_PD_PORT_COUNT 2
|
|
#endif
|
|
|
|
#ifdef TEST_CHARGE_RAMP
|
|
#define CONFIG_CHARGE_RAMP
|
|
#define CONFIG_USB_PD_PORT_COUNT 2
|
|
#endif
|
|
|
|
#ifdef TEST_NVMEM
|
|
#define CONFIG_FLASH_NVMEM
|
|
#define CONFIG_FLASH_NVMEM_OFFSET_A 0x1000
|
|
#define CONFIG_FLASH_NVMEM_OFFSET_B 0x4000
|
|
#define CONFIG_FLASH_NVMEM_BASE_A (CONFIG_PROGRAM_MEMORY_BASE + \
|
|
CONFIG_FLASH_NVMEM_OFFSET_A)
|
|
#define CONFIG_FLASH_NVMEM_BASE_B (CONFIG_PROGRAM_MEMORY_BASE + \
|
|
CONFIG_FLASH_NVMEM_OFFSET_B)
|
|
#define CONFIG_FLASH_NVMEM_SIZE 0x4000
|
|
#define CONFIG_SW_CRC
|
|
|
|
#define NVMEM_PARTITION_SIZE \
|
|
(CONFIG_FLASH_NVMEM_SIZE / NVMEM_NUM_PARTITIONS)
|
|
/* User buffer definitions for test purposes */
|
|
#define NVMEM_USER_2_SIZE 0x201
|
|
#define NVMEM_USER_1_SIZE 0x402
|
|
#define NVMEM_USER_0_SIZE (NVMEM_PARTITION_SIZE - \
|
|
NVMEM_USER_2_SIZE - NVMEM_USER_1_SIZE - \
|
|
sizeof(struct nvmem_tag))
|
|
|
|
#ifndef __ASSEMBLER__
|
|
enum nvmem_users {
|
|
NVMEM_USER_0,
|
|
NVMEM_USER_1,
|
|
NVMEM_USER_2,
|
|
NVMEM_NUM_USERS
|
|
};
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef TEST_NVMEM_VARS
|
|
#define NVMEM_PARTITION_SIZE 0x4000
|
|
#define CONFIG_FLASH_NVMEM_VARS
|
|
#ifndef __ASSEMBLER__
|
|
/* Define the user region numbers */
|
|
enum nvmem_users {
|
|
CONFIG_FLASH_NVMEM_VARS_USER_NUM,
|
|
NVMEM_NUM_USERS
|
|
};
|
|
#endif
|
|
#define CONFIG_FLASH_NVMEM_VARS_USER_SIZE 600
|
|
#endif /* TEST_NVMEM_VARS */
|
|
|
|
#ifndef __ASSEMBLER__
|
|
/* Callback function from charge_manager to send host event */
|
|
static inline void pd_send_host_event(int mask) { }
|
|
#endif
|
|
|
|
#endif /* TEST_BUILD */
|
|
#endif /* __TEST_TEST_CONFIG_H */
|