| /* |
| * Copyright (c) 2013, Motorola, Inc. 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 version 2 as |
| * published by the Free Software Foundation. |
| * |
| * 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. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| * |
| */ |
| |
| /***************************** WARNING ****************************** |
| * * |
| * DO NOT EDIT THIS FILE * |
| * * |
| * This is an auto-generated file based on register maps in the * |
| * M4 Sensor Hub source tree. * |
| * * |
| ***************************** WARNING *****************************/ |
| |
| #ifndef __M4SENSORHUB_MEM_INTERNAL_H__ |
| #define __M4SENSORHUB_MEM_INTERNAL_H__ |
| static const struct { |
| enum m4sensorhub_type type; /* Type of register */ |
| unsigned short offset; /* Offset into type's memory */ |
| unsigned short size; /* Size of register in bytes */ |
| } register_info_tbl[M4SH_REG__NUM] = { |
| [M4SH_REG_ACCEL_VERSION] = {M4SH_TYPE_ACCEL, 0x0, 1}, |
| [M4SH_REG_ACCEL_DUMMY] = {M4SH_TYPE_ACCEL, 0x1, 1}, |
| [M4SH_REG_ACCEL_SAMPLERATE] = {M4SH_TYPE_ACCEL, 0x2, 2}, |
| [M4SH_REG_ACCEL_REPORTLATENCY] = {M4SH_TYPE_ACCEL, 0x4, 2}, |
| [M4SH_REG_ACCEL_FLUSH] = {M4SH_TYPE_ACCEL, 0x6, 1}, |
| [M4SH_REG_ACCEL_PADDING] = {M4SH_TYPE_ACCEL, 0x7, 1}, |
| [M4SH_REG_ACCEL_X] = {M4SH_TYPE_ACCEL, 0x8, 4}, |
| [M4SH_REG_ACCEL_Y] = {M4SH_TYPE_ACCEL, 0xc, 4}, |
| [M4SH_REG_ACCEL_Z] = {M4SH_TYPE_ACCEL, 0x10, 4}, |
| [M4SH_REG_ACCEL_SCALEDMAGSQUARED] = {M4SH_TYPE_ACCEL, 0x14, 4}, |
| [M4SH_REG_ACCEL_MAGNITUDE] = {M4SH_TYPE_ACCEL, 0x18, 4}, |
| [M4SH_REG_ACCEL_TILT] = {M4SH_TYPE_ACCEL, 0x1c, 2}, |
| [M4SH_REG_ACCEL_ORIENTATION] = {M4SH_TYPE_ACCEL, 0x1e, 2}, |
| [M4SH_REG_GENERAL_UTC] = {M4SH_TYPE_GENERAL, 0x0, 4}, |
| [M4SH_REG_GENERAL_APALARM] = {M4SH_TYPE_GENERAL, 0x4, 4}, |
| [M4SH_REG_GENERAL_LOCALTIMEZONE] = {M4SH_TYPE_GENERAL, 0x8, 2}, |
| [M4SH_REG_GENERAL_VERSION] = {M4SH_TYPE_GENERAL, 0xa, 2}, |
| [M4SH_REG_GENERAL_NOWAKEINTENABLE] = {M4SH_TYPE_GENERAL, 0xc, 4}, |
| [M4SH_REG_GENERAL_WAKEINTENABLE] = {M4SH_TYPE_GENERAL, 0x10, 4}, |
| [M4SH_REG_GENERAL_NOWAKEINTSTATUS] = {M4SH_TYPE_GENERAL, 0x14, 4}, |
| [M4SH_REG_GENERAL_WAKEINTSTATUS] = {M4SH_TYPE_GENERAL, 0x18, 4}, |
| [M4SH_REG_GENERAL_NUMBATCHSAMPLES] = {M4SH_TYPE_GENERAL, 0x1c, 4}, |
| [M4SH_REG_GENERAL_READBATCHSAMPLES] = {M4SH_TYPE_GENERAL, 0x20, 1}, |
| [M4SH_REG_PRESSURE_VERSION] = {M4SH_TYPE_PRESSURE, 0x0, 1}, |
| [M4SH_REG_PRESSURE_DUMMY] = {M4SH_TYPE_PRESSURE, 0x1, 1}, |
| [M4SH_REG_PRESSURE_SAMPLERATE] = {M4SH_TYPE_PRESSURE, 0x2, 2}, |
| [M4SH_REG_PRESSURE_PRESSURE] = {M4SH_TYPE_PRESSURE, 0x4, 4}, |
| [M4SH_REG_PRESSURE_REFERENCEALTITUDE] = {M4SH_TYPE_PRESSURE, 0x8, 4}, |
| [M4SH_REG_PRESSURE_SEALEVELPRESSURE] = {M4SH_TYPE_PRESSURE, 0xc, 4}, |
| [M4SH_REG_PRESSURE_ABSOLUTEALTITUDE] = {M4SH_TYPE_PRESSURE, 0x10, 4}, |
| [M4SH_REG_PRESSURE_TEMPERATURE] = {M4SH_TYPE_PRESSURE, 0x14, 2}, |
| [M4SH_REG_PRESSURE_ISVALID] = {M4SH_TYPE_PRESSURE, 0x16, 1}, |
| [M4SH_REG_PEDOMETER_ENABLE] = {M4SH_TYPE_PEDOMETER, 0x0, 1}, |
| [M4SH_REG_PEDOMETER_TESTCMD] = {M4SH_TYPE_PEDOMETER, 0x1, 1}, |
| [M4SH_REG_PEDOMETER_ACTIVITY] = {M4SH_TYPE_PEDOMETER, 0x2, 1}, |
| [M4SH_REG_PEDOMETER_EQUIPMENTTYPE] = {M4SH_TYPE_PEDOMETER, 0x3, 1}, |
| [M4SH_REG_PEDOMETER_TOTALSTEPS] = {M4SH_TYPE_PEDOMETER, 0x4, 4}, |
| [M4SH_REG_PEDOMETER_REPORTEDDISTANCE] = {M4SH_TYPE_PEDOMETER, 0x8, 4}, |
| [M4SH_REG_PEDOMETER_USERDISTANCE] = {M4SH_TYPE_PEDOMETER, 0xc, 4}, |
| [M4SH_REG_PEDOMETER_TOTALDISTANCE] = {M4SH_TYPE_PEDOMETER, 0x10, 4}, |
| [M4SH_REG_PEDOMETER_FLOORSCLIMBED] = {M4SH_TYPE_PEDOMETER, 0x14, 2}, |
| [M4SH_REG_PEDOMETER_CURRENTSPEED] = {M4SH_TYPE_PEDOMETER, 0x16, 2}, |
| [M4SH_REG_PEDOMETER_STEPFREQUENCY] = {M4SH_TYPE_PEDOMETER, 0x18, 2}, |
| [M4SH_REG_PEDOMETER_STEPLENGTH] = {M4SH_TYPE_PEDOMETER, 0x1a, 2}, |
| [M4SH_REG_TCMD_OPCODE] = {M4SH_TYPE_TCMD, 0x0, 1}, |
| [M4SH_REG_LOG_LOGENABLE] = {M4SH_TYPE_LOG, 0x0, 8}, |
| [M4SH_REG_LOG_ISLOGIMMEDIATE] = {M4SH_TYPE_LOG, 0x8, 1}, |
| [M4SH_REG_FUSION_VERSION] = {M4SH_TYPE_FUSION, 0x0, 1}, |
| [M4SH_REG_FUSION_DUMMY] = {M4SH_TYPE_FUSION, 0x1, 1}, |
| [M4SH_REG_FUSION_SAMPLERATE] = {M4SH_TYPE_FUSION, 0x2, 2}, |
| [M4SH_REG_FUSION_LINEARACCEL] = {M4SH_TYPE_FUSION, 0x4, 12}, |
| [M4SH_REG_FUSION_GRAVITY] = {M4SH_TYPE_FUSION, 0x10, 12}, |
| [M4SH_REG_FUSION_ROTATIONVECTOR] = {M4SH_TYPE_FUSION, 0x1c, 20}, |
| [M4SH_REG_COMPASS_VERSION] = {M4SH_TYPE_COMPASS, 0x0, 1}, |
| [M4SH_REG_COMPASS_DUMMY] = {M4SH_TYPE_COMPASS, 0x1, 1}, |
| [M4SH_REG_COMPASS_SAMPLERATE] = {M4SH_TYPE_COMPASS, 0x2, 2}, |
| [M4SH_REG_COMPASS_X] = {M4SH_TYPE_COMPASS, 0x4, 4}, |
| [M4SH_REG_COMPASS_Y] = {M4SH_TYPE_COMPASS, 0x8, 4}, |
| [M4SH_REG_COMPASS_Z] = {M4SH_TYPE_COMPASS, 0xc, 4}, |
| [M4SH_REG_COMPASS_ACCURACY] = {M4SH_TYPE_COMPASS, 0x10, 1}, |
| [M4SH_REG_GYRO_VERSION] = {M4SH_TYPE_GYRO, 0x0, 1}, |
| [M4SH_REG_GYRO_DUMMY] = {M4SH_TYPE_GYRO, 0x1, 1}, |
| [M4SH_REG_GYRO_SAMPLERATE] = {M4SH_TYPE_GYRO, 0x2, 2}, |
| [M4SH_REG_GYRO_REPORTLATENCY] = {M4SH_TYPE_GYRO, 0x4, 2}, |
| [M4SH_REG_GYRO_FLUSH] = {M4SH_TYPE_GYRO, 0x6, 1}, |
| [M4SH_REG_GYRO_PADDING] = {M4SH_TYPE_GYRO, 0x7, 1}, |
| [M4SH_REG_GYRO_X] = {M4SH_TYPE_GYRO, 0x8, 4}, |
| [M4SH_REG_GYRO_Y] = {M4SH_TYPE_GYRO, 0xc, 4}, |
| [M4SH_REG_GYRO_Z] = {M4SH_TYPE_GYRO, 0x10, 4}, |
| [M4SH_REG_METS_ENABLE] = {M4SH_TYPE_METS, 0x0, 1}, |
| [M4SH_REG_METS_METSACTIVITY] = {M4SH_TYPE_METS, 0x1, 1}, |
| [M4SH_REG_METS_MSSAMPLETIME] = {M4SH_TYPE_METS, 0x2, 2}, |
| [M4SH_REG_METS_METS] = {M4SH_TYPE_METS, 0x4, 4}, |
| [M4SH_REG_METS_CALORIES] = {M4SH_TYPE_METS, 0x8, 4}, |
| [M4SH_REG_METS_HEALTHYMINUTES] = {M4SH_TYPE_METS, 0xc, 4}, |
| [M4SH_REG_METS_METS_NO_RMR] = {M4SH_TYPE_METS, 0x10, 4}, |
| [M4SH_REG_METS_CALORIES_NO_RMR] = {M4SH_TYPE_METS, 0x14, 4}, |
| [M4SH_REG_METS_SIGMO_ENABLE] = {M4SH_TYPE_METS, 0x18, 1}, |
| [M4SH_REG_METS_DUMMY8] = {M4SH_TYPE_METS, 0x19, 1}, |
| [M4SH_REG_METS_DUMMY16] = {M4SH_TYPE_METS, 0x1a, 2}, |
| [M4SH_REG_USERSETTINGS_SCREENSTATUS] = {M4SH_TYPE_USERSETTINGS, 0x0, 1}, |
| [M4SH_REG_USERSETTINGS_USERAGE] = {M4SH_TYPE_USERSETTINGS, 0x1, 1}, |
| [M4SH_REG_USERSETTINGS_USERGENDER] = {M4SH_TYPE_USERSETTINGS, 0x2, 1}, |
| [M4SH_REG_USERSETTINGS_USERHEIGHT] = {M4SH_TYPE_USERSETTINGS, 0x3, 1}, |
| [M4SH_REG_USERSETTINGS_USERWEIGHT] = {M4SH_TYPE_USERSETTINGS, 0x4, 2}, |
| [M4SH_REG_USERSETTINGS_AUDIOSTATUS] = {M4SH_TYPE_USERSETTINGS, 0x6, 1}, |
| [M4SH_REG_USERSETTINGS_RTCRESET] = {M4SH_TYPE_USERSETTINGS, 0x7, 1}, |
| [M4SH_REG_USERSETTINGS_USERWALKCORRECTIONFACTOR] = {M4SH_TYPE_USERSETTINGS, 0x8, 1}, |
| [M4SH_REG_USERSETTINGS_USERRUNCORRECTIONFACTOR] = {M4SH_TYPE_USERSETTINGS, 0x9, 1}, |
| [M4SH_REG_USERSETTINGS_DUMMY16] = {M4SH_TYPE_USERSETTINGS, 0xa, 2}, |
| [M4SH_REG_POWER_VERSION] = {M4SH_TYPE_POWER, 0x0, 1}, |
| [M4SH_REG_POWER_ENABLE] = {M4SH_TYPE_POWER, 0x1, 1}, |
| [M4SH_REG_POWER_STILLMODETIMEOUT] = {M4SH_TYPE_POWER, 0x2, 2}, |
| [M4SH_REG_POWER_MOTIONDURATION] = {M4SH_TYPE_POWER, 0x4, 1}, |
| [M4SH_REG_POWER_MOTIONTHRESHOLD] = {M4SH_TYPE_POWER, 0x5, 1}, |
| [M4SH_REG_POWER_NOMOTIONDURATION] = {M4SH_TYPE_POWER, 0x6, 1}, |
| [M4SH_REG_POWER_NOMOTIONTHRESHOLD] = {M4SH_TYPE_POWER, 0x7, 1}, |
| [M4SH_REG_POWER_DEVICESTATE] = {M4SH_TYPE_POWER, 0x8, 1}, |
| [M4SH_REG_DOWNLOAD_COMMAND] = {M4SH_TYPE_DOWNLOAD, 0x0, 1}, |
| [M4SH_REG_DOWNLOAD_STATUS] = {M4SH_TYPE_DOWNLOAD, 0x1, 1}, |
| [M4SH_REG_DOWNLOAD_SIZE] = {M4SH_TYPE_DOWNLOAD, 0x2, 2}, |
| [M4SH_REG_DOWNLOAD_CHECKSUM] = {M4SH_TYPE_DOWNLOAD, 0x4, 4}, |
| [M4SH_REG_DOWNLOAD_FILENAME] = {M4SH_TYPE_DOWNLOAD, 0x8, 16}, |
| [M4SH_REG_DOWNLOAD_PACKET] = {M4SH_TYPE_DOWNLOAD, 0x18, 2048}, |
| [M4SH_REG_GESTURE_VERSION] = {M4SH_TYPE_GESTURE, 0x0, 1}, |
| [M4SH_REG_GESTURE_GESTURE1] = {M4SH_TYPE_GESTURE, 0x1, 1}, |
| [M4SH_REG_GESTURE_CONFIDENCE1] = {M4SH_TYPE_GESTURE, 0x2, 1}, |
| [M4SH_REG_GESTURE_VALUE1] = {M4SH_TYPE_GESTURE, 0x3, 1}, |
| [M4SH_REG_GESTURE_GESTURE2] = {M4SH_TYPE_GESTURE, 0x4, 1}, |
| [M4SH_REG_GESTURE_CONFIDENCE2] = {M4SH_TYPE_GESTURE, 0x5, 1}, |
| [M4SH_REG_GESTURE_VALUE2] = {M4SH_TYPE_GESTURE, 0x6, 1}, |
| [M4SH_REG_GESTURE_GESTURE3] = {M4SH_TYPE_GESTURE, 0x7, 1}, |
| [M4SH_REG_GESTURE_CONFIDENCE3] = {M4SH_TYPE_GESTURE, 0x8, 1}, |
| [M4SH_REG_GESTURE_VALUE3] = {M4SH_TYPE_GESTURE, 0x9, 1}, |
| [M4SH_REG_PASSIVE_ENABLE] = {M4SH_TYPE_PASSIVE, 0x0, 1}, |
| [M4SH_REG_PASSIVE_DUMMY] = {M4SH_TYPE_PASSIVE, 0x1, 1}, |
| [M4SH_REG_PASSIVE_DUMMY1] = {M4SH_TYPE_PASSIVE, 0x2, 2}, |
| [M4SH_REG_PASSIVE_TIMESTAMP] = {M4SH_TYPE_PASSIVE, 0x4, 48}, |
| [M4SH_REG_PASSIVE_STEPS] = {M4SH_TYPE_PASSIVE, 0x34, 24}, |
| [M4SH_REG_PASSIVE_CALORIES] = {M4SH_TYPE_PASSIVE, 0x4c, 24}, |
| [M4SH_REG_PASSIVE_HEARTRATE] = {M4SH_TYPE_PASSIVE, 0x64, 24}, |
| [M4SH_REG_PASSIVE_HRCONFIDENCE] = {M4SH_TYPE_PASSIVE, 0x7c, 12}, |
| [M4SH_REG_PASSIVE_HEALTHYMINUTES] = {M4SH_TYPE_PASSIVE, 0x88, 12}, |
| [M4SH_REG_EMG_SIGNALCOUNT] = {M4SH_TYPE_EMG, 0x0, 1}, |
| [M4SH_REG_EMG_DUMMY] = {M4SH_TYPE_EMG, 0x1, 1}, |
| [M4SH_REG_EMG_SAMPLERATE] = {M4SH_TYPE_EMG, 0x2, 2}, |
| [M4SH_REG_EMG_SIGNALS] = {M4SH_TYPE_EMG, 0x4, 326}, |
| [M4SH_REG_HEARTRATE_ENABLE] = {M4SH_TYPE_HEARTRATE, 0x0, 1}, |
| [M4SH_REG_HEARTRATE_CONFIDENCE] = {M4SH_TYPE_HEARTRATE, 0x1, 1}, |
| [M4SH_REG_HEARTRATE_HEARTRATE] = {M4SH_TYPE_HEARTRATE, 0x2, 2}, |
| [M4SH_REG_HEARTRATE_APSAMPLERATE] = {M4SH_TYPE_HEARTRATE, 0x4, 4}, |
| [M4SH_REG_HEARTRATE_PREDICTOR] = {M4SH_TYPE_HEARTRATE, 0x8, 1}, |
| [M4SH_REG_HEARTRATE_DUMMY8] = {M4SH_TYPE_HEARTRATE, 0x9, 1}, |
| [M4SH_REG_HEARTRATE_DUMMY16] = {M4SH_TYPE_HEARTRATE, 0xa, 2}, |
| [M4SH_REG_HRSENSOR_ACTIVEBUF] = {M4SH_TYPE_HRSENSOR, 0x0, 1}, |
| [M4SH_REG_HRSENSOR_READBUFFEREDDATA] = {M4SH_TYPE_HRSENSOR, 0x1, 1}, |
| [M4SH_REG_HRSENSOR_SAMPLERATE] = {M4SH_TYPE_HRSENSOR, 0x2, 2}, |
| [M4SH_REG_HRSENSOR_NUMBUFFEREDSAMPLES] = {M4SH_TYPE_HRSENSOR, 0x4, 4}, |
| [M4SH_REG_HRSENSOR_REGADDR] = {M4SH_TYPE_HRSENSOR, 0x8, 1}, |
| [M4SH_REG_HRSENSOR_REGVALUE] = {M4SH_TYPE_HRSENSOR, 0x9, 3}, |
| [M4SH_REG_HRSENSOR_REGRWCMD] = {M4SH_TYPE_HRSENSOR, 0xc, 1}, |
| [M4SH_REG_LIGHTSENSOR_VERSION] = {M4SH_TYPE_LIGHTSENSOR, 0x0, 1}, |
| [M4SH_REG_LIGHTSENSOR_DUMMY] = {M4SH_TYPE_LIGHTSENSOR, 0x1, 1}, |
| [M4SH_REG_LIGHTSENSOR_SAMPLERATE] = {M4SH_TYPE_LIGHTSENSOR, 0x2, 2}, |
| [M4SH_REG_LIGHTSENSOR_SIGNAL] = {M4SH_TYPE_LIGHTSENSOR, 0x4, 2}, |
| [M4SH_REG_DEBUG_CMD] = {M4SH_TYPE_DEBUG, 0x0, 1}, |
| [M4SH_REG_ADSSENSOR_MODE] = {M4SH_TYPE_ADSSENSOR, 0x0, 1}, |
| [M4SH_REG_ADSSENSOR_READBUFFEREDDATA] = {M4SH_TYPE_ADSSENSOR, 0x1, 1}, |
| [M4SH_REG_ADSSENSOR_SAMPLERATE] = {M4SH_TYPE_ADSSENSOR, 0x2, 2}, |
| [M4SH_REG_ADSSENSOR_RAWVALUE] = {M4SH_TYPE_ADSSENSOR, 0x4, 4}, |
| [M4SH_REG_ADSSENSOR_NUMBUFFEREDSAMPLES] = {M4SH_TYPE_ADSSENSOR, 0x8, 4}, |
| [M4SH_REG_ADSSENSOR_REGRWCMD] = {M4SH_TYPE_ADSSENSOR, 0xc, 1}, |
| [M4SH_REG_ADSSENSOR_REGADDR] = {M4SH_TYPE_ADSSENSOR, 0xd, 1}, |
| [M4SH_REG_ADSFEATURE_ENABLE] = {M4SH_TYPE_ADSFEATURE, 0x0, 4}, |
| [M4SH_REG_ADSFEATURE_APSAMPLERATE] = {M4SH_TYPE_ADSFEATURE, 0x4, 4}, |
| [M4SH_REG_ADSFEATURE_HEARTRATE] = {M4SH_TYPE_ADSFEATURE, 0x8, 2}, |
| [M4SH_REG_ADSFEATURE_CONFIDENCE] = {M4SH_TYPE_ADSFEATURE, 0xa, 1}, |
| [M4SH_REG_SIMPLEFS_RESPONSE] = {M4SH_TYPE_SIMPLEFS, 0x0, 4}, |
| [M4SH_REG_SIMPLEFS_COMMAND] = {M4SH_TYPE_SIMPLEFS, 0x4, 20}, |
| [M4SH_REG_SIMPLEFS_PACKET] = {M4SH_TYPE_SIMPLEFS, 0x18, 228}, |
| }; |
| |
| static const unsigned int bank_size_tbl[M4SH_TYPE__NUM] = { |
| [M4SH_TYPE_ACCEL] = 32, |
| [M4SH_TYPE_GENERAL] = 33, |
| [M4SH_TYPE_PRESSURE] = 23, |
| [M4SH_TYPE_PEDOMETER] = 28, |
| [M4SH_TYPE_TCMD] = 1, |
| [M4SH_TYPE_LOG] = 9, |
| [M4SH_TYPE_FUSION] = 48, |
| [M4SH_TYPE_COMPASS] = 17, |
| [M4SH_TYPE_GYRO] = 20, |
| [M4SH_TYPE_METS] = 28, |
| [M4SH_TYPE_USERSETTINGS] = 12, |
| [M4SH_TYPE_POWER] = 9, |
| [M4SH_TYPE_DOWNLOAD] = 2072, |
| [M4SH_TYPE_GESTURE] = 10, |
| [M4SH_TYPE_PASSIVE] = 148, |
| [M4SH_TYPE_EMG] = 330, |
| [M4SH_TYPE_HEARTRATE] = 12, |
| [M4SH_TYPE_HRSENSOR] = 13, |
| [M4SH_TYPE_LIGHTSENSOR] = 6, |
| [M4SH_TYPE_DEBUG] = 1, |
| [M4SH_TYPE_ADSSENSOR] = 14, |
| [M4SH_TYPE_ADSFEATURE] = 11, |
| [M4SH_TYPE_SIMPLEFS] = 252, |
| }; |
| #endif /*__M4SENSORHUB_MEM_INTERNAL_H__ */ |