123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252 |
- /*
- * Copyright (C) 2012, Samsung Electronics Co. Ltd. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
- #ifndef __ADSP_FT_COMMON_H__
- #define __ADSP_FT_COMMON_H__
- #ifdef SS_SLPI_PROJECT// hal build
- #ifndef IS_ENABLED
- #define IS_ENABLED(x) 0
- #endif
- #else// kernel build
- #include <linux/kernel.h>
- #endif
- #define PID 20000
- #define NETLINK_ADSP_FAC 23
- #define MAX_REG_NUM 128
- /* max size of each sensor's msg_buf */
- #define MSG_TYPE_SIZE_ZERO 0
- #define MSG_ACCEL_MAX 128
- #define MSG_GYRO_MAX 20
- #define MSG_MAG_MAX 15
- #define MSG_LIGHT_MAX 16
- #define MSG_PROX_MAX 16
- #define MSG_GYRO_TEMP_MAX 3
- #define MSG_PRESSURE_TEMP_MAX 4
- #define MSG_PRESSURE_MAX 128
- #define MSG_FLIP_COVER_DETECTOR_MAX 3
- #define MSG_BACKTAP_MAX 1
- #define MSG_VOPTIC_MAX 2
- #define MSG_REG_SNS_MAX 24 /* 8 * 3 */
- #if IS_ENABLED(CONFIG_SUPPORT_AK09973) || defined(CONFIG_SUPPORT_AK09973)
- #define MSG_DIGITAL_HALL_MAX 15
- #define MSG_DIGITAL_HALL_ANGLE_MAX 58
- #elif IS_ENABLED(CONFIG_SUPPORT_REF_ANGLE_WITHOUT_DIGITAL_HALL) || defined(CONFIG_SUPPORT_REF_ANGLE_WITHOUT_DIGITAL_HALL)
- #define MSG_REF_ANGLE_MAX 9
- #endif
- #if IS_ENABLED(CONFIG_SUPPORT_DUAL_DDI_COPR_FOR_LIGHT_SENSOR) || defined(CONFIG_SUPPORT_DUAL_DDI_COPR_FOR_LIGHT_SENSOR)
- #define MSG_DDI_MAX 12
- #endif
- #if IS_ENABLED(CONFIG_SUPPORT_FLICKER) || defined(CONFIG_SUPPORT_FLICKER)
- #define MSG_FLICKER_MAX 12
- #endif
- #define MSG_COMMON_INFO_MAX BD_SENSOR_MAX
- #define ACCEL_FACTORY_CAL_PATH "/efs/FactoryApp/accel_factory_cal"
- #define SUB_ACCEL_FACTORY_CAL_PATH "/efs/FactoryApp/sub_accel_factory_cal"
- #define SW_OFFSET_FILE_PATH "/efs/FactoryApp/baro_sw_offset"
- #if IS_ENABLED(CONFIG_SUPPORT_AK09973) || defined(CONFIG_SUPPORT_AK09973)
- #define AUTO_CAL_DATA_NUM 19
- #define AUTO_CAL_FILE_BUF_LEN 140
- #define DIGITAL_HALL_AUTO_CAL_X_PATH "/efs/FactoryApp/digital_hall_auto_cal_x"
- #define DIGITAL_HALL_AUTO_CAL_Y_PATH "/efs/FactoryApp/digital_hall_auto_cal_y"
- #define DIGITAL_HALL_AUTO_CAL_Z_PATH "/efs/FactoryApp/digital_hall_auto_cal_z"
- #define ENABLE_LF_STREAM 0
- #endif
- enum {
- MSG_ACCEL,
- MSG_GYRO,
- MSG_MAG,
- MSG_PRESSURE,
- MSG_LIGHT,
- MSG_PROX,
- #if IS_ENABLED(CONFIG_SUPPORT_DUAL_OPTIC) || defined(CONFIG_SUPPORT_DUAL_OPTIC)
- MSG_LIGHT_SUB,
- MSG_PROX_SUB,
- #endif
- #if IS_ENABLED(CONFIG_FLICKER_FACTORY) || defined(CONFIG_FLICKER_FACTORY)
- MSG_FLICKER,
- #endif
- #if IS_ENABLED(CONFIG_SUPPORT_DUAL_6AXIS) || defined(CONFIG_SUPPORT_DUAL_6AXIS)
- MSG_ACCEL_SUB,
- MSG_GYRO_SUB,
- #endif
- PHYSICAL_SENSOR_SYSFS,//MSG_TYPE_SIZE_ZERO
- MSG_GYRO_TEMP,
- #if IS_ENABLED(CONFIG_SUPPORT_DUAL_6AXIS) || defined(CONFIG_SUPPORT_DUAL_6AXIS)
- MSG_GYRO_SUB_TEMP,
- #endif
- MSG_PRESSURE_TEMP,
- MSG_MAG_CAL,//MSG_TYPE_SIZE_ZERO
- #if IS_ENABLED(CONFIG_FLIP_COVER_DETECTOR_FACTORY) || defined(CONFIG_FLIP_COVER_DETECTOR_FACTORY)
- MSG_FLIP_COVER_DETECTOR,
- #endif
- #if IS_ENABLED(CONFIG_SUPPORT_VIRTUAL_OPTIC) || defined(CONFIG_SUPPORT_VIRTUAL_OPTIC)
- MSG_VIR_OPTIC,
- #endif
- MSG_REG_SNS,//MSG_TYPE_SIZE_ZERO
- #if IS_ENABLED(CONFIG_SUPPORT_AK09973) || defined(CONFIG_SUPPORT_AK09973)
- MSG_DIGITAL_HALL,
- MSG_DIGITAL_HALL_ANGLE,
- #if ENABLE_LF_STREAM
- MSG_LF_STREAM,
- #endif
- #elif IS_ENABLED(CONFIG_SUPPORT_REF_ANGLE_WITHOUT_DIGITAL_HALL) || defined(CONFIG_SUPPORT_REF_ANGLE_WITHOUT_DIGITAL_HALL)
- MSG_REF_ANGLE,
- #endif
- #if IS_ENABLED(CONFIG_SUPPORT_DUAL_DDI_COPR_FOR_LIGHT_SENSOR) || defined(CONFIG_SUPPORT_DUAL_DDI_COPR_FOR_LIGHT_SENSOR)
- MSG_DDI,
- #endif
- #if IS_ENABLED(CONFIG_SUPPORT_LIGHT_MAIN2_SENSOR) || defined(CONFIG_SUPPORT_LIGHT_MAIN2_SENSOR)
- MSG_LIGHT_MAIN2,
- #endif
- #if IS_ENABLED(CONFIG_BACKTAP_FACTORY) || defined(CONFIG_BACKTAP_FACTORY)
- MSG_BACKTAP,
- #endif
- MSG_FACTORY_INIT_CMD,//MSG_TYPE_SIZE_ZERO
- MSG_SSC_CORE,//MSG_TYPE_SIZE_ZERO
- MSG_SENSOR_MAX
- };
- /* Netlink ENUMS Message Protocols */
- enum {
- MSG_TYPE_GET_RAW_DATA,
- MSG_TYPE_ST_SHOW_DATA,
- MSG_TYPE_SET_ACCEL_LPF,
- MSG_TYPE_SET_ACCEL_MOTOR,
- MSG_TYPE_GET_THRESHOLD,
- MSG_TYPE_SET_THRESHOLD,
- MSG_TYPE_SET_TEMPORARY_MSG,
- MSG_TYPE_GET_REGISTER,
- MSG_TYPE_SET_REGISTER,
- MSG_TYPE_GET_DUMP_REGISTER,
- MSG_TYPE_GET_CAL_DATA,
- MSG_TYPE_SET_CAL_DATA,
- MSG_TYPE_GET_DHR_INFO,
- MSG_TYPE_FACTORY_ENABLE,
- MSG_TYPE_FACTORY_DISABLE,
- MSG_TYPE_OPTION_DEFINE,
- MSG_TYPE_DUMPSTATE,
- MSG_TYPE_MAX
- };
- /* Sensor types defined by android */
- /* (Keep in sync with hardware/sensors-base.h and Sensor.java.) */
- #define SENSOR_HANDLE_ACCELEROMETER (1)
- #define SENSOR_HANDLE_GEOMAGNETIC_FIELD (2)
- #define SENSOR_HANDLE_GYROSCOPE (4)
- #define SENSOR_HANDLE_LIGHT (5)
- #define SENSOR_HANDLE_PRESSURE (6)
- #if IS_ENABLED(CONFIG_SUPPORT_DUAL_6AXIS)
- #define SENSOR_HANDLE_ACCELEROMETER_SUB (65687)
- #endif
- #define SENSOR_HANDLE_ALL (0)
- #define SENSOR_NAME_MAX 40
- #if IS_ENABLED(CONFIG_SUPPORT_DUAL_OPTIC) || defined(CONFIG_SUPPORT_DUAL_OPTIC)
- enum {
- FSTATE_INACTIVE,
- FSTATE_ACTIVE,
- FSTATE_FAC_INACTIVE,
- FSTATE_FAC_ACTIVE,
- FSTATE_FAC_INACTIVE_2
- };
- #define LIGHT_DUAL_CHECK_MODE 13
- enum {
- VOPTIC_OP_CMD_FAC_FLIP,
- VOPTIC_OP_CMD_SSC_FLIP,
- VOPTIC_OP_CMD_SSC_FLIP_UPDATE,
- VOPTIC_OP_CMD_MAX
- };
- #endif
- enum {
- COMMON_DATA_SET_ABS_OFF, // 0x00 00 47 C1
- COMMON_DATA_SET_ABS_ON, // 0x01 00 47 C1
- #if IS_ENABLED(CONFIG_SUPPORT_VFOLD_FLEX) || defined(CONFIG_SUPPORT_VFOLD_FLEX)
- COMMON_DATA_SET_MAIN_ON, // 0x02 00 47 C1
- COMMON_DATA_SET_SUB_ON, // 0x03 00 47 C1
- #endif
- COMMON_DATA_SET_LCD_INTENT_ON = 0xf1, // 0xf1 00 47 C1
- COMMON_DATA_SET_LCD_INTENT_OFF, // 0xf2 00 47 C1
- };
- // for ssc_core sensor type
- enum {
- OPTION_TYPE_SSC_CHARGING_STATE, // for pocket mode
- OPTION_TYPE_SSC_ABS_LCD_TYPE, // for pocket mode
- OPTION_TYPE_SSC_LCD_TYPE, // for pocket mode + auto roation
- OPTION_TYPE_SSC_LCD_INTENT_TYPE, // for auto rotation
- OPTION_TYPE_SSC_DUMP_TYPE, // for pocket mode
- OPTION_TYPE_SSC_AOD_RECT, // for AOD
- OPTION_TYPE_SSC_AOD_LIGHT_CIRCLE, // for AOD
- OPTION_TYPE_SSC_LIGHT_SEAMLESS, // for light seamless
- OPTION_TYPE_SSC_AUTO_ROTATION_MODE, // for auto rotation
- OPTION_TYPE_SSC_SBM_INIT, // for sar backoff motion
- OPTION_TYPE_SSC_WAKEUP_REASON, // for commoninfo
- OPTION_TYPE_SSC_RECOVERY, // for commoninfo
- OPTION_TYPE_SSC_POCKET_INJECT, // for pocket mode
- OPTION_TYPE_SSC_SSR_DUMP, // for commoninfo
- OPTION_TYPE_SSC_MAX
- };
- enum {
- BD_SMD, //0
- BD_TILT,
- BD_PICKUP,
- BD_SBM,
- BD_WAKEUP_MOTION,
- BD_PROXIMITY,
- BD_CALL_GESTURE,
- BD_POCKET_MODE,
- BD_LED_COVER,
- BD_FLIP_COVER,
- BD_DROP_CLASSIFIER, // 10
- BD_POCKET_PS_MODE,
- BD_STEP_CNT_ALERT,
- BD_FOLDING_STATE_LPM,
- BD_HINGE_ANGLE,
- BD_LID_ANGLE_FUSION,
- BD_ANGLE_SENSOR_STATUS,
- BD_SCONTEXT_START_IDX,
- BD_SEM_MOVEMENT = BD_SCONTEXT_START_IDX, //17
- BD_SEM_AUTO_ROTATION,
- BD_SEM_WIRELESS_CHARGING_DET,
- BD_SEM_PUT_DOWN_MOTION, //20
- BD_SEM_SLOCATION,
- BD_SEM_AMD,
- BD_SEM_AOD,
- BD_SEM_FLAT_MOTION,
- BD_SEM_SNS_STATUS_CHECK,
- BD_SEM_DEVICE_POSITION,
- BD_SEM_LOC_CHANGE_TRIGGER,
- BD_SEM_FREE_FALL_DET,
- BD_SEM_START_ACTIVITIES,
- BD_SEM_PEDOMETER = BD_SEM_START_ACTIVITIES,
- BD_SEM_STEP_LEVEL_MONITOR, //30
- BD_SEM_AT_NORMAL,
- BD_SEM_AT_INT,
- BD_SEM_AT_BATCH,
- BD_SEM_AT_EXT_INT,
- BD_SEM_ACTIVITY_CAL, // Activity vehicle
- BD_SENSOR_MAX
- };
- #endif
|