/*
** =============================================================================
** Copyright (c)2012  Immersion Corporation.
**
** 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.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
**
** File:
**	   drv2605_vibra.h
**
** Description:
**	   Header file for drv2605.c
**
** =============================================================================
*/

#ifndef _DRV2605_VIBRA_H_
#define _DRV2605_VIBRA_H_



struct drv2605_platform_data {
	int gpio_en;
	int gpio_pwm;
	const unsigned char *parameter_autocal_sequence;
	unsigned int size_autocal_sequence;
	bool repeat_autocal_sequence;
	const unsigned char *parameter_sequence;
	unsigned int size_sequence;
	char effect_library;
	unsigned char real_time_playback;
};

/*
  Drv2605
  This file created by Immersion Corporation as an interim solution until
  Texas Instruments provides an official header for the DRV2605 part.
  Based on "DRV2605 Preliminary Datasheet 3-7-12 - Immersion.pdf"
*/

/*
** DRV2605 addresses
*/

#define DEVICE_NAME "drv2605"
#define DRIVER_VERSION "182"

/* Commands */
#define HAPTIC_CMDID_PLAY_SINGLE_EFFECT		((char)0x01)
#define HAPTIC_CMDID_PLAY_EFFECT_SEQUENCE	((char)0x02)
#define HAPTIC_CMDID_PLAY_TIMED_EFFECT		((char)0x03)
#define HAPTIC_CMDID_GET_DEV_ID			((char)0x04)
#define HAPTIC_CMDID_RUN_DIAG			((char)0x05)
#define HAPTIC_CMDID_AUDIOHAPTIC_ENABLE		((char)0x06)
#define HAPTIC_CMDID_AUDIOHAPTIC_DISABLE	((char)0x07)
#define HAPTIC_CMDID_AUDIOHAPTIC_GETSTATUS	((char)0x08)
#define HAPTIC_CMDID_STOP			((char)0xFF)

/* Command size */
#define HAPTIC_CMDSZ_SINGLE_EFFECT	   2
#define HAPTIC_CMDSZ_EFFECT_SEQUENCE   9
#define HAPTIC_CMDSZ_TIMED_EFFECT	   3
#define HAPTIC_CMDSZ_STOP			   1

/*
** Go
*/
#define GO_REG 0x0C
#define GO	   0x01
#define STOP   0x00

/*
** Status
*/
#define STATUS_REG			0x00
#define STATUS_DEFAULT		0x00

#define DIAG_RESULT_MASK	(1 << 3)
#define AUTO_CAL_PASSED		(0 << 3)
#define AUTO_CAL_FAILED		(1 << 3)
#define DIAG_GOOD			(0 << 3)
#define DIAG_BAD			(1 << 3)

#define DEV_ID_MASK (7 << 5)
#define DRV2605 (5 << 5)
#define DRV2604 (4 << 5)

/*
** Mode
*/
#define MODE_REG			0x01
#define MODE_STANDBY		0x40

#define DRV260X_MODE_MASK			0x07
#define MODE_INTERNAL_TRIGGER		0
#define MODE_EXTERNAL_TRIGGER_EDGE	1
#define MODE_EXTERNAL_TRIGGER_LEVEL 2
#define MODE_PWM_OR_ANALOG_INPUT	3
#define MODE_AUDIOHAPTIC			4
#define MODE_REAL_TIME_PLAYBACK		5
#define MODE_DIAGNOSTICS			6
#define AUTO_CALIBRATION			7

#define MODE_STANDBY_MASK			0x40
#define MODE_READY					1 /* default*/
#define MODE_SOFT_STANDBY			0

#define MODE_RESET					0x80

/*
** Real Time Playback
*/
#define REAL_TIME_PLAYBACK_REG		0x02

/*
** Library Selection
*/
#define LIBRARY_SELECTION_REG		0x03
#define LIBRARY_SELECTION_DEFAULT	0x00

#define LIBRARY_A 0x01
#define LIBRARY_B 0x02
#define LIBRARY_C 0x03
#define LIBRARY_D 0x04
#define LIBRARY_E 0x05
#define LIBRARY_F 0x06

#define LIBRARY_SELECTION_MASK				0x07
#define LIBRARY_SELECTION_LIBRARY_RAM		0 /* default*/
#define LIBRARY_SELECTION_LIBRARY_OVERDRIVE 1
#define LIBRARY_SELECTION_LIBRARY_40_60		2
#define LIBRARY_SELECTION_LIBRARY_60_80		3
#define LIBRARY_SELECTION_LIBRARY_100_140	4
#define LIBRARY_SELECTION_LIBRARY_140_PLUS	5

#define LIBRARY_SELECTION_HIZ_MASK			0x10
#define LIBRARY_SELECTION_HIZ_EN			1
#define LIBRARY_SELECTION_HIZ_DIS			0

/*
** Waveform Sequencer
*/
#define WAVEFORM_SEQUENCER_REG		0x04
#define WAVEFORM_SEQUENCER_REG2		0x05
#define WAVEFORM_SEQUENCER_REG3		0x06
#define WAVEFORM_SEQUENCER_REG4		0x07
#define WAVEFORM_SEQUENCER_REG5		0x08
#define WAVEFORM_SEQUENCER_REG6		0x09
#define WAVEFORM_SEQUENCER_REG7		0x0A
#define WAVEFORM_SEQUENCER_REG8		0x0B
#define WAVEFORM_SEQUENCER_MAX		8
#define WAVEFORM_SEQUENCER_DEFAULT	0x00

/*
** OverDrive Time Offset
*/
#define OVERDRIVE_TIME_OFFSET_REG  0x0D

/*
** Sustain Time Offset, postive
*/
#define SUSTAIN_TIME_OFFSET_POS_REG 0x0E

/*
** Sustain Time Offset, negative
*/
#define SUSTAIN_TIME_OFFSET_NEG_REG 0x0F

/*
** Brake Time Offset
*/
#define BRAKE_TIME_OFFSET_REG		0x10

/*
** Audio to Haptics Control
*/
#define AUDIO_HAPTICS_CONTROL_REG	0x11

#define AUDIO_HAPTICS_RECT_10MS		(0 << 2)
#define AUDIO_HAPTICS_RECT_20MS		(1 << 2)
#define AUDIO_HAPTICS_RECT_30MS		(2 << 2)
#define AUDIO_HAPTICS_RECT_40MS		(3 << 2)

#define AUDIO_HAPTICS_FILTER_100HZ	0
#define AUDIO_HAPTICS_FILTER_125HZ	1
#define AUDIO_HAPTICS_FILTER_150HZ	2
#define AUDIO_HAPTICS_FILTER_200HZ	3

/*
** Audio to Haptics Minimum Input Level
*/
#define AUDIO_HAPTICS_MIN_INPUT_REG 0x12

/*
** Audio to Haptics Maximum Input Level
*/
#define AUDIO_HAPTICS_MAX_INPUT_REG 0x13

/*
** Audio to Haptics Minimum Output Drive
*/
#define AUDIO_HAPTICS_MIN_OUTPUT_REG 0x14

/*
** Audio to Haptics Maximum Output Drive
*/
#define AUDIO_HAPTICS_MAX_OUTPUT_REG 0x15

/*
** Rated Voltage
*/
#define RATED_VOLTAGE_REG			0x16

/*
** Overdrive Clamp Voltage
*/
#define OVERDRIVE_CLAMP_VOLTAGE_REG 0x17

/*
** Auto Calibrationi Compensation Result
*/
#define AUTO_CALI_RESULT_REG		0x18

/*
** Auto Calibration Back-EMF Result
*/
#define AUTO_CALI_BACK_EMF_RESULT_REG 0x19

/*
** Feedback Control
*/
#define FEEDBACK_CONTROL_REG		0x1A

#define FEEDBACK_CONTROL_BEMF_ERM_GAIN0 0 /* 0.33x */
#define FEEDBACK_CONTROL_BEMF_ERM_GAIN1 1 /* 1.0x */
#define FEEDBACK_CONTROL_BEMF_ERM_GAIN2 2 /* 1.8x */
#define FEEDBACK_CONTROL_BEMF_ERM_GAIN3 3 /* 4.0x */

#define FEEDBACK_CONTROL_BEMF_LRA_GAIN0 0 /* 5x */
#define FEEDBACK_CONTROL_BEMF_LRA_GAIN1 1 /* 10x */
#define FEEDBACK_CONTROL_BEMF_LRA_GAIN2 2 /* 20x */
#define FEEDBACK_CONTROL_BEMF_LRA_GAIN3 3 /* 30x */

#define LOOP_RESPONSE_SLOW		(0 << 2)
#define LOOP_RESPONSE_MEDIUM	(1 << 2) /* default */
#define LOOP_RESPONSE_FAST		(2 << 2)
#define LOOP_RESPONSE_VERY_FAST (3 << 2)

#define FB_BRAKE_FACTOR_1X	 (0 << 4) /* 1x */
#define FB_BRAKE_FACTOR_2X	 (1 << 4) /* 2x */
#define FB_BRAKE_FACTOR_3X	 (2 << 4) /* 3x (default) */
#define FB_BRAKE_FACTOR_4X	 (3 << 4) /* 4x */
#define FB_BRAKE_FACTOR_6X	 (4 << 4) /* 6x */
#define FB_BRAKE_FACTOR_8X	 (5 << 4) /* 8x */
#define FB_BRAKE_FACTOR_16X  (6 << 4) /* 16x */
#define FB_BRAKE_DISABLED	 (7 << 4)

#define FEEDBACK_CONTROL_MODE_ERM 0 /* default */
#define FEEDBACK_CONTROL_MODE_LRA (1 << 7)

/*
** Control1
*/
#define Control1_REG			0x1B

#define STARTUP_BOOST_ENABLED	(1 << 7)
#define STARTUP_BOOST_DISABLED	(0 << 7) /* default */
#define AC_COUPLE_ENABLED		(1 << 5)
#define AC_COUPLE_DISABLED		(0 << 5) /* default */

#define DEFAULT_DRIVE_TIME		0x17
#define AUDIOHAPTIC_DRIVE_TIME	0x13

/*
** Control2
*/
#define Control2_REG			0x1C

#define IDISS_TIME_MASK			0x03
#define IDISS_TIME_VERY_SHORT	0
#define IDISS_TIME_SHORT		1
#define IDISS_TIME_MEDIUM		2 /* default */
#define IDISS_TIME_LONG			3

#define BLANKING_TIME_MASK			0x0C
#define BLANKING_TIME_VERY_SHORT	(0 << 2)
#define BLANKING_TIME_SHORT			(1 << 2)
#define BLANKING_TIME_MEDIUM		(2 << 2) /* default */
#define BLANKING_TIME_VERY_LONG		(3 << 2)

#define AUTO_RES_GAIN_MASK		   0x30
#define AUTO_RES_GAIN_VERY_LOW	   (0 << 4)
#define AUTO_RES_GAIN_LOW		   (1 << 4)
#define AUTO_RES_GAIN_MEDIUM	   (2 << 4) /* default */
#define AUTO_RES_GAIN_HIGH		   (3 << 4)

#define SOFT_BRAKE_MASK			   0x40

#define BIDIR_INPUT_MASK		   0x80
#define UNIDIRECT_INPUT			   (0 << 7)
#define BIDIRECT_INPUT			   (1 << 7) /* default */

/*
** Control3
*/
#define Control3_REG 0x1D

#define INPUT_PWM				(0 << 1) /* default */
#define INPUT_ANALOG			(1 << 1)
#define ERM_OpenLoop_Enabled	(1 << 5)
#define NG_Thresh_DISABLED		(0 << 6)
#define NG_Thresh_1				(1 << 6)
#define NG_Thresh_2				(2 << 6)
#define NG_Thresh_3				(3 << 6)

/*
** Auto Calibration Memory Interface
*/
#define AUTOCAL_MEM_INTERFACE_REG	0x1E
#define OTP_STATUS_MASK				0x04
#define OTP_PROGRAM				0x01

#define AUTOCAL_TIME_150MS			(0 << 4)
#define AUTOCAL_TIME_250MS			(1 << 4)
#define AUTOCAL_TIME_500MS			(2 << 4)
#define AUTOCAL_TIME_1000MS			(3 << 4)

#define SILICON_REVISION_REG		0x3B
#define SILICON_REVISION_MASK		0x07

#define AUDIO_HAPTICS_MIN_INPUT_VOLTAGE		0x19
#define AUDIO_HAPTICS_MAX_INPUT_VOLTAGE		0x64
#define AUDIO_HAPTICS_MIN_OUTPUT_VOLTAGE	0x19
#define AUDIO_HAPTICS_MAX_OUTPUT_VOLTAGE	0xFF

#define DEFAULT_ERM_AUTOCAL_COMPENSATION	0x14
#define DEFAULT_ERM_AUTOCAL_BACKEMF			0x72

#define DEFAULT_LRA_AUTOCAL_COMPENSATION	0x06
#define DEFAULT_LRA_AUTOCAL_BACKEMF			0xDE

#endif /* _DRV2605_VIBRA_H_ */
