Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / u-boot / include / sound.h
diff --git a/qemu/roms/u-boot/include/sound.h b/qemu/roms/u-boot/include/sound.h
new file mode 100644 (file)
index 0000000..155e1b4
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ * R. Chandrasekar < rcsekar@samsung.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __SOUND_H__
+#define __SOUND_H__
+
+/* sound codec enum */
+enum en_sound_codec {
+       CODEC_WM_8994,
+       CODEC_WM_8995,
+       CODEC_MAX_98095,
+       CODEC_MAX
+};
+
+/* sound codec enum */
+enum sound_compat {
+       AUDIO_COMPAT_SPI,
+       AUDIO_COMPAT_I2C,
+};
+
+/* Codec information structure to store the info from device tree */
+struct sound_codec_info {
+       int i2c_bus;
+       int i2c_dev_addr;
+       enum en_sound_codec codec_type;
+};
+
+/*
+ * Generates square wave sound data for 1 second
+ *
+ * @param data          data buffer pointer
+ * @param size          size of the buffer
+ * @param freq          frequency of the wave
+ */
+void sound_create_square_wave(unsigned short *data, int size, uint32_t freq);
+
+/*
+ * Initialises audio sub system
+ * @param blob Pointer of device tree node or NULL if none.
+ * @return     int value 0 for success, -1 for error
+ */
+int sound_init(const void *blob);
+
+/*
+ * plays the pcm data buffer in pcm_data.h through i2s1 to make the
+ * sine wave sound
+ *
+ * @return     int 0 for success, -1 for error
+ */
+int sound_play(uint32_t msec, uint32_t frequency);
+
+#endif  /* __SOUND__H__ */