mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-22 01:48:52 +09:00
![Simon Glass](/assets/img/avatar_default.png)
Add a driver for the audio hub. This is modelled as a misc device which supports writing audio data from I2S. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
134 lines
4.5 KiB
Plaintext
134 lines
4.5 KiB
Plaintext
menu "Sound support"
|
|
|
|
config SOUND
|
|
bool "Enable sound support"
|
|
help
|
|
Support making sounds through an audio codec. This is normally a
|
|
beep at a chosen frequency for a selected length of time. However
|
|
the drivers support playing arbitrary sound samples using a
|
|
PCM interface.
|
|
|
|
Note: At present the sound setup is somewhat tangled up in that the
|
|
audio codecs are called from the sound-i2s code. This could be
|
|
converted to driver model.
|
|
|
|
config I2S
|
|
bool "Enable I2S support"
|
|
depends on SOUND
|
|
help
|
|
I2S is a serial bus often used to transmit audio data from the
|
|
SoC to the audio codec. This option enables sound support using
|
|
I2S. It calls either of the two supported codecs (no use is made
|
|
of driver model at present).
|
|
|
|
config I2S_ROCKCHIP
|
|
bool "Enable I2S support for Rockchip SoCs"
|
|
depends on I2S
|
|
help
|
|
Rockchip SoCs support an I2S interface for sending audio data to an
|
|
audio codec. This option enables support for this, using one of the
|
|
available audio codec drivers. This driver does not make use of
|
|
DMA, but writes each word directly to the hardware.
|
|
|
|
config I2S_SAMSUNG
|
|
bool "Enable I2C support for Samsung SoCs"
|
|
depends on I2S
|
|
help
|
|
Samsung Exynos SoCs support an I2S interface for sending audio
|
|
data to an audio codec. This option enables support for this,
|
|
using one of the available audio codec drivers. Enabling this
|
|
option provides an implementation for sound_init() and
|
|
sound_play().
|
|
|
|
config SOUND_I8254
|
|
bool "Intel i8254 timer / beeper"
|
|
depends on SOUND
|
|
help
|
|
This enables support for a beeper that uses the i8254 timer chip.
|
|
This can emit beeps at a fixed frequency. It is possible to control
|
|
the length of the beeps, by turning a beep on, waiting for a period
|
|
of time, then turning it off.
|
|
|
|
This is quite an old feature, called PIT (Programmable Interval
|
|
Timer), but is nonetheless still available on modern x86 machines.
|
|
|
|
config SOUND_INTEL_HDA
|
|
bool "Intel HDA audio codec"
|
|
depends on SOUND
|
|
help
|
|
Most Intel chips have an HDA (High-definition audio) codec which can
|
|
be used by U-Boot to play simple beeps. This is also sometimes called
|
|
Azalia which was the development code-name. It requires setup
|
|
information in the device tree (see intel-hda.txt).
|
|
|
|
config SOUND_IVYBRIDGE
|
|
bool "Intel Ivybridge sound support"
|
|
depends on SOUND
|
|
select SOUND_INTEL_HDA
|
|
help
|
|
Enable sound output on supported Intel Ivybridge-based boards. This
|
|
driver uses Intel's High-definition Audio (HDA) architecture,
|
|
sometimes called Azalia. The audio codec is detected using a
|
|
semi-automatic mechanism.
|
|
|
|
config I2S_TEGRA
|
|
bool "Enable I2S support for Nvidia Tegra SoCs"
|
|
depends on I2S
|
|
select TEGRA124_DMA
|
|
help
|
|
Nvidia Tegra SoCs support several I2S interfaces for sending audio
|
|
data to an audio codec. This option enables support for this,
|
|
using one of the available audio codec drivers.
|
|
|
|
config SOUND_MAX98088
|
|
bool "Support Maxim max98088 audio codec"
|
|
depends on I2S
|
|
help
|
|
Enable the max98088 audio codec. This is connected via I2S for
|
|
audio data and I2C for codec control. At present it only works
|
|
with the Samsung I2S driver.
|
|
|
|
config SOUND_MAX98090
|
|
bool "Support Maxim max98090 audio codec"
|
|
depends on I2S
|
|
help
|
|
Enable the max98090 audio codec. This is connected via I2S for
|
|
audio data and I2C for codec control. At present it only works
|
|
with the Samsung I2S driver.
|
|
|
|
config SOUND_MAX98095
|
|
bool "Support Maxim max98095 audio codec"
|
|
depends on I2S
|
|
help
|
|
Enable the max98095 audio codec. This is connected via I2S for
|
|
audio data and I2C for codec control. At present it only works
|
|
with the Samsung I2S driver.
|
|
|
|
config SOUND_RT5677
|
|
bool "Support Realtek RT5677 audio codec"
|
|
depends on SOUND
|
|
help
|
|
Enable the Realtek RT5677 audio codec. This is an I2S device used on
|
|
some Chromebooks from around 2015 ('auron'). It is configured using
|
|
an I2C interface and supports multiple sound inputs and outputs,
|
|
including digital microphones.
|
|
|
|
config SOUND_SANDBOX
|
|
bool "Support sandbox emulated audio codec"
|
|
depends on SANDBOX && SOUND
|
|
help
|
|
U-Boot sandbox can emulate a sound device using SDL, playing the
|
|
sound on the host machine. This option implements the sound_init()
|
|
and sound_play() functions for sandbox. Note that you must install
|
|
the SDL libraries for this to work.
|
|
|
|
config SOUND_WM8994
|
|
bool "Support Wolfson Micro wm8994 audio codec"
|
|
depends on I2S_SAMSUNG
|
|
help
|
|
Enable the wm8994 audio codec. This is connected via I2S for
|
|
audio data and I2C for codec control. At present it only works
|
|
with the Samsung I2S driver.
|
|
|
|
endmenu
|