summaryrefslogtreecommitdiffstats
path: root/qemu/roms/u-boot/include/sound.h
diff options
context:
space:
mode:
Diffstat (limited to 'qemu/roms/u-boot/include/sound.h')
-rw-r--r--qemu/roms/u-boot/include/sound.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/qemu/roms/u-boot/include/sound.h b/qemu/roms/u-boot/include/sound.h
new file mode 100644
index 000000000..155e1b40e
--- /dev/null
+++ b/qemu/roms/u-boot/include/sound.h
@@ -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__ */