diff options
Diffstat (limited to 'qemu/roms/u-boot/include/sound.h')
-rw-r--r-- | qemu/roms/u-boot/include/sound.h | 56 |
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__ */ |