ASoC: tpa2051d3: Add TI tpa2051d3 amp for HTC devices
Change-Id: I96c1713e80e408a8f5efdd4385db1d711697ae52
diff --git a/include/sound/tpa2051d3.h b/include/sound/tpa2051d3.h
new file mode 100644
index 0000000..b12a990
--- /dev/null
+++ b/include/sound/tpa2051d3.h
@@ -0,0 +1,58 @@
+/*
+ * Definitions for tpa2051d3 speaker amp chip.
+ */
+#ifndef TPA2051D3_H
+#define TPA2051D3_H
+
+#include <linux/ioctl.h>
+
+#define TPA2051D3_I2C_NAME "tpa2051d3"
+#define SPKR_OUTPUT 0
+#define HEADSET_OUTPUT 1
+#define DUAL_OUTPUT 2
+#define HANDSET_OUTPUT 3
+#define LINEOUT_OUTPUT 4
+#define MODE_CMD_LEM 9
+struct tpa2051d3_platform_data {
+ uint32_t gpio_tpa2051_spk_en;
+ unsigned char spkr_cmd[7];
+ unsigned char hsed_cmd[7];
+ unsigned char rece_cmd[7];
+ /* for spk enable gpio on cpu */
+ uint32_t gpio_tpa2051_spk_en_cpu;
+};
+
+struct tpa2051_config_data {
+ unsigned int data_len;
+ unsigned int mode_num;
+ unsigned char *cmd_data; /* [mode][mode_kind][reserve][cmds..] */
+};
+
+enum TPA2051_Mode {
+ TPA2051_MODE_OFF,
+ TPA2051_MODE_PLAYBACK_SPKR,
+ TPA2051_MODE_PLAYBACK_HEADSET,
+ TPA2051_MODE_RING,
+ TPA2051_MODE_VOICECALL_SPKR,
+ TPA2051_MODE_VOICECALL_HEADSET,
+ TPA2051_MODE_FM_SPKR,
+ TPA2051_MODE_FM_HEADSET,
+ TPA2051_MODE_PLAYBACK_HANDSET,
+ TPA2051_MODE_VOICECALL_HANDSET,
+ TPA2051_MODE_LINEOUT,
+ TPA2051_MAX_MODE
+};
+#define TPA2051_IOCTL_MAGIC 'a'
+#define TPA2051_SET_CONFIG _IOW(TPA2051_IOCTL_MAGIC, 0x01, unsigned)
+#define TPA2051_READ_CONFIG _IOW(TPA2051_IOCTL_MAGIC, 0x02, unsigned)
+#define TPA2051_SET_MODE _IOW(TPA2051_IOCTL_MAGIC, 0x03, unsigned)
+#define TPA2051_SET_PARAM _IOW(TPA2051_IOCTL_MAGIC, 0x04, unsigned)
+#define TPA2051_WRITE_REG _IOW(TPA2051_IOCTL_MAGIC, 0x07, unsigned)
+
+void set_speaker_amp(int on);
+void set_headset_amp(int on);
+void set_speaker_headset_amp(int on);
+void set_handset_amp(int on);
+void set_usb_audio_amp(int on);
+#endif
+