diff options
Diffstat (limited to 'drivers/mfd/m4sensorhub-reg.h')
| -rw-r--r-- | drivers/mfd/m4sensorhub-reg.h | 188 | 
1 files changed, 188 insertions, 0 deletions
| diff --git a/drivers/mfd/m4sensorhub-reg.h b/drivers/mfd/m4sensorhub-reg.h new file mode 100644 index 00000000000..087726c064e --- /dev/null +++ b/drivers/mfd/m4sensorhub-reg.h @@ -0,0 +1,188 @@ +/* + * 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_X]                   = {M4SH_TYPE_ACCEL, 0x4, 4}, +	[M4SH_REG_ACCEL_Y]                   = {M4SH_TYPE_ACCEL, 0x8, 4}, +	[M4SH_REG_ACCEL_Z]                   = {M4SH_TYPE_ACCEL, 0xc, 4}, +	[M4SH_REG_ACCEL_SCALEDMAGSQUARED]    = {M4SH_TYPE_ACCEL, 0x10, 4}, +	[M4SH_REG_ACCEL_MAGNITUDE]           = {M4SH_TYPE_ACCEL, 0x14, 4}, +	[M4SH_REG_ACCEL_TILT]                = {M4SH_TYPE_ACCEL, 0x18, 2}, +	[M4SH_REG_ACCEL_ORIENTATION]         = {M4SH_TYPE_ACCEL, 0x1a, 2}, +	[M4SH_REG_TEMP_VERSION]              = {M4SH_TYPE_TEMP, 0x0, 1}, +	[M4SH_REG_TEMP_DUMMY]                = {M4SH_TYPE_TEMP, 0x1, 1}, +	[M4SH_REG_TEMP_SAMPLERATE]           = {M4SH_TYPE_TEMP, 0x2, 2}, +	[M4SH_REG_TEMP_EXTRNLTEMP]           = {M4SH_TYPE_TEMP, 0x4, 2}, +	[M4SH_REG_TEMP_INTRNLTEMP]           = {M4SH_TYPE_TEMP, 0x6, 2}, +	[M4SH_REG_GENERAL_UTC]               = {M4SH_TYPE_GENERAL, 0x0, 4}, +	[M4SH_REG_GENERAL_LOCALTIMEZONE]     = {M4SH_TYPE_GENERAL, 0x4, 2}, +	[M4SH_REG_GENERAL_VERSION]           = {M4SH_TYPE_GENERAL, 0x6, 1}, +	[M4SH_REG_GENERAL_INTERRUPT0ENABLE]  = {M4SH_TYPE_GENERAL, 0x7, 1}, +	[M4SH_REG_GENERAL_INTERRUPT1ENABLE]  = {M4SH_TYPE_GENERAL, 0x8, 1}, +	[M4SH_REG_GENERAL_INTERRUPT0STATUS]  = {M4SH_TYPE_GENERAL, 0x9, 1}, +	[M4SH_REG_GENERAL_INTERRUPT1STATUS]  = {M4SH_TYPE_GENERAL, 0xa, 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_VERSION]         = {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, 2}, +	[M4SH_REG_PEDOMETER_FLOORSCLIMBED]   = {M4SH_TYPE_PEDOMETER, 0x6, 2}, +	[M4SH_REG_PEDOMETER_TOTATDISTANCE]   = {M4SH_TYPE_PEDOMETER, 0x8, 4}, +	[M4SH_REG_PEDOMETER_CURRENTSPEED]    = {M4SH_TYPE_PEDOMETER, 0xc, 4}, +	[M4SH_REG_PEDOMETER_REPORTEDDISTANCE] = {M4SH_TYPE_PEDOMETER, 0x10, 4}, +	[M4SH_REG_PEDOMETER_USERDISTANCE]    = {M4SH_TYPE_PEDOMETER, 0x14, 4}, +	[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_EULERPITCH]         = {M4SH_TYPE_FUSION, 0x4, 4}, +	[M4SH_REG_FUSION_EULERROLL]          = {M4SH_TYPE_FUSION, 0x8, 4}, +	[M4SH_REG_FUSION_EULERYAW]           = {M4SH_TYPE_FUSION, 0xc, 4}, +	[M4SH_REG_FUSION_LOCALX]             = {M4SH_TYPE_FUSION, 0x10, 4}, +	[M4SH_REG_FUSION_LOCALY]             = {M4SH_TYPE_FUSION, 0x14, 4}, +	[M4SH_REG_FUSION_LOCALZ]             = {M4SH_TYPE_FUSION, 0x18, 4}, +	[M4SH_REG_FUSION_WORLDX]             = {M4SH_TYPE_FUSION, 0x1c, 4}, +	[M4SH_REG_FUSION_WORLDY]             = {M4SH_TYPE_FUSION, 0x20, 4}, +	[M4SH_REG_FUSION_WORLDZ]             = {M4SH_TYPE_FUSION, 0x24, 4}, +	[M4SH_REG_FUSION_HEADING]            = {M4SH_TYPE_FUSION, 0x28, 2}, +	[M4SH_REG_FUSION_HEADING_ACCURACY]   = {M4SH_TYPE_FUSION, 0x2a, 1}, +	[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_X]                    = {M4SH_TYPE_GYRO, 0x4, 4}, +	[M4SH_REG_GYRO_Y]                    = {M4SH_TYPE_GYRO, 0x8, 4}, +	[M4SH_REG_GYRO_Z]                    = {M4SH_TYPE_GYRO, 0xc, 4}, +	[M4SH_REG_METS_VERSION]              = {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_USERSETTINGS_VERSION]      = {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_SCREENSTATUS] = {M4SH_TYPE_USERSETTINGS, 0x6, 1}, +	[M4SH_REG_USERSETTINGS_RTCRESET]     = {M4SH_TYPE_USERSETTINGS, 0x7, 1}, +	[M4SH_REG_POWER_VERSION]             = {M4SH_TYPE_POWER, 0x0, 1}, +	[M4SH_REG_POWER_DUMMY]               = {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_LOCATION_VERSION]          = {M4SH_TYPE_LOCATION, 0x0, 1}, +	[M4SH_REG_LOCATION_SOURCE]           = {M4SH_TYPE_LOCATION, 0x1, 1}, +	[M4SH_REG_LOCATION_SPEED]            = {M4SH_TYPE_LOCATION, 0x2, 2}, +	[M4SH_REG_LOCATION_LATITUDE]         = {M4SH_TYPE_LOCATION, 0x4, 4}, +	[M4SH_REG_LOCATION_LONGITUDE]        = {M4SH_TYPE_LOCATION, 0x8, 4}, +	[M4SH_REG_LOCATION_ALTITUDE]         = {M4SH_TYPE_LOCATION, 0xc, 2}, +	[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_AUDIO_VERSION]             = {M4SH_TYPE_AUDIO, 0x0, 1}, +	[M4SH_REG_AUDIO_ENABLE]              = {M4SH_TYPE_AUDIO, 0x1, 1}, +	[M4SH_REG_AUDIO_DUMMY]               = {M4SH_TYPE_AUDIO, 0x2, 2}, +	[M4SH_REG_AUDIO_TOTALPACKETS]        = {M4SH_TYPE_AUDIO, 0x4, 4}, +	[M4SH_REG_TIMEPIECE_VERSION]         = {M4SH_TYPE_TIMEPIECE, 0x0, 1}, +	[M4SH_REG_TIMEPIECE_ENABLE]          = {M4SH_TYPE_TIMEPIECE, 0x1, 1}, +	[M4SH_REG_TIMEPIECE_SAMPLERATE]      = {M4SH_TYPE_TIMEPIECE, 0x2, 2}, +	[M4SH_REG_TIMEPIECE_OFFSETSTEPS]     = {M4SH_TYPE_TIMEPIECE, 0x4, 4}, +	[M4SH_REG_WRIST_VERSION]             = {M4SH_TYPE_WRIST, 0x0, 1}, +	[M4SH_REG_WRIST_ENABLE]              = {M4SH_TYPE_WRIST, 0x1, 1}, +	[M4SH_REG_WRIST_INTERRUPTREASON]     = {M4SH_TYPE_WRIST, 0x2, 1}, +	[M4SH_REG_WRIST_HOSTRESPONSE]        = {M4SH_TYPE_WRIST, 0x3, 1}, +	[M4SH_REG_WRIST_FMONCHIP]            = {M4SH_TYPE_WRIST, 0x4, 2}, +	[M4SH_REG_WRIST_FMONFILE]            = {M4SH_TYPE_WRIST, 0x6, 2}, +	[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_TIMESTAMP]         = {M4SH_TYPE_PASSIVE, 0x0, 48}, +	[M4SH_REG_PASSIVE_STEPS]             = {M4SH_TYPE_PASSIVE, 0x30, 48}, +	[M4SH_REG_PASSIVE_METS]              = {M4SH_TYPE_PASSIVE, 0x60, 48}, +	[M4SH_REG_PASSIVE_FLOORSCLIMBED]     = {M4SH_TYPE_PASSIVE, 0x90, 48}, +}; + +static const unsigned int bank_size_tbl[M4SH_TYPE__NUM] = { +	[M4SH_TYPE_ACCEL]                    = 28, +	[M4SH_TYPE_TEMP]                     = 8, +	[M4SH_TYPE_GENERAL]                  = 11, +	[M4SH_TYPE_PRESSURE]                 = 23, +	[M4SH_TYPE_PEDOMETER]                = 24, +	[M4SH_TYPE_TCMD]                     = 1, +	[M4SH_TYPE_LOG]                      = 9, +	[M4SH_TYPE_FUSION]                   = 43, +	[M4SH_TYPE_COMPASS]                  = 17, +	[M4SH_TYPE_GYRO]                     = 16, +	[M4SH_TYPE_METS]                     = 12, +	[M4SH_TYPE_USERSETTINGS]             = 8, +	[M4SH_TYPE_POWER]                    = 8, +	[M4SH_TYPE_LOCATION]                 = 14, +	[M4SH_TYPE_DOWNLOAD]                 = 2072, +	[M4SH_TYPE_AUDIO]                    = 8, +	[M4SH_TYPE_TIMEPIECE]                = 8, +	[M4SH_TYPE_WRIST]                    = 8, +	[M4SH_TYPE_GESTURE]                  = 10, +	[M4SH_TYPE_PASSIVE]                  = 192, +}; +#endif /*__M4SENSORHUB_MEM_INTERNAL_H__ */ |