blob: 4ebc719be2b85ddabe4831580839325e09b3e118 [file] [log] [blame]
Masahiro Yamada0b11dbf2015-07-26 02:46:26 +09001menu "Sound support"
2
Simon Glassef35d982015-03-06 13:19:08 -07003config SOUND
4 bool "Enable sound support"
5 help
6 Support making sounds through an audio codec. This is normally a
7 beep at a chosen frequency for a selected length of time. However
8 the drivers support playing arbitrary sound samples using a
9 PCM interface.
10
11 Note: At present the sound setup is somewhat tangled up in that the
12 audio codecs are called from the sound-i2s code. This could be
13 converted to driver model.
Simon Glass00cf7bf2015-03-06 13:19:10 -070014
15config I2S
16 bool "Enable I2S support"
17 depends on SOUND
18 help
19 I2S is a serial bus often used to transmit audio data from the
20 SoC to the audio codec. This option enables sound support using
21 I2S. It calls either of the two supported codecs (no use is made
22 of driver model at present).
Simon Glass6bd7be22015-03-06 13:19:11 -070023
Simon Glass2665f092018-12-27 20:15:21 -070024config I2S_ROCKCHIP
25 bool "Enable I2S support for Rockchip SoCs"
26 depends on I2S
27 help
28 Rockchip SoCs support an I2S interface for sending audio data to an
29 audio codec. This option enables support for this, using one of the
30 available audio codec drivers. This driver does not make use of
31 DMA, but writes each word directly to the hardware.
32
Simon Glass6bd7be22015-03-06 13:19:11 -070033config I2S_SAMSUNG
34 bool "Enable I2C support for Samsung SoCs"
Simon Glassafcd6452018-12-27 13:24:39 -070035 depends on I2S
Simon Glass6bd7be22015-03-06 13:19:11 -070036 help
37 Samsung Exynos SoCs support an I2S interface for sending audio
38 data to an audio codec. This option enables support for this,
39 using one of the available audio codec drivers. Enabling this
40 option provides an implementation for sound_init() and
41 sound_play().
Simon Glass7a170a52015-03-06 13:19:12 -070042
Simon Glass6a27e542019-02-16 20:24:59 -070043config SOUND_I8254
44 bool "Intel i8254 timer / beeper"
45 depends on SOUND
46 help
47 This enables support for a beeper that uses the i8254 timer chip.
48 This can emit beeps at a fixed frequency. It is possible to control
49 the length of the beeps, by turning a beep on, waiting for a period
50 of time, then turning it off.
51
52 This is quite an old feature, called PIT (Programmable Interval
53 Timer), but is nonetheless still available on modern x86 machines.
54
Simon Glass2ca47132019-02-16 20:24:55 -070055config SOUND_INTEL_HDA
56 bool "Intel HDA audio codec"
57 depends on SOUND
58 help
59 Most Intel chips have an HDA (High-definition audio) codec which can
60 be used by U-Boot to play simple beeps. This is also sometimes called
61 Azalia which was the development code-name. It requires setup
62 information in the device tree (see intel-hda.txt).
63
Simon Glass6744c0d2019-02-16 20:24:57 -070064config SOUND_IVYBRIDGE
65 bool "Intel Ivybridge sound support"
66 depends on SOUND
67 select SOUND_INTEL_HDA
68 help
69 Enable sound output on supported Intel Ivybridge-based boards. This
70 driver uses Intel's High-definition Audio (HDA) architecture,
71 sometimes called Azalia. The audio codec is detected using a
72 semi-automatic mechanism.
73
Simon Glass112f2e12019-04-01 13:38:39 -070074config I2S_TEGRA
75 bool "Enable I2S support for Nvidia Tegra SoCs"
76 depends on I2S
77 select TEGRA124_DMA
78 help
79 Nvidia Tegra SoCs support several I2S interfaces for sending audio
80 data to an audio codec. This option enables support for this,
81 using one of the available audio codec drivers.
82
Simon Glass9a7210f2019-01-11 18:37:09 -070083config SOUND_MAX98088
84 bool "Support Maxim max98088 audio codec"
Simon Glassafcd6452018-12-27 13:24:39 -070085 depends on I2S
Simon Glass9a7210f2019-01-11 18:37:09 -070086 help
87 Enable the max98088 audio codec. This is connected via I2S for
88 audio data and I2C for codec control. At present it only works
89 with the Samsung I2S driver.
90
Simon Glass8cad63c2018-12-10 10:37:43 -070091config SOUND_MAX98090
92 bool "Support Maxim max98090 audio codec"
Simon Glassafcd6452018-12-27 13:24:39 -070093 depends on I2S
Simon Glass8cad63c2018-12-10 10:37:43 -070094 help
95 Enable the max98090 audio codec. This is connected via I2S for
96 audio data and I2C for codec control. At present it only works
97 with the Samsung I2S driver.
98
Simon Glass7a170a52015-03-06 13:19:12 -070099config SOUND_MAX98095
100 bool "Support Maxim max98095 audio codec"
Simon Glassafcd6452018-12-27 13:24:39 -0700101 depends on I2S
Simon Glass7a170a52015-03-06 13:19:12 -0700102 help
103 Enable the max98095 audio codec. This is connected via I2S for
104 audio data and I2C for codec control. At present it only works
105 with the Samsung I2S driver.
Simon Glassdd573f92015-03-06 13:19:13 -0700106
Simon Glasscf885922019-02-16 20:25:05 -0700107config SOUND_RT5677
108 bool "Support Realtek RT5677 audio codec"
109 depends on SOUND
110 help
111 Enable the Realtek RT5677 audio codec. This is an I2S device used on
112 some Chromebooks from around 2015 ('auron'). It is configured using
113 an I2C interface and supports multiple sound inputs and outputs,
114 including digital microphones.
115
Simon Glass39073052015-03-06 13:19:14 -0700116config SOUND_SANDBOX
117 bool "Support sandbox emulated audio codec"
118 depends on SANDBOX && SOUND
119 help
120 U-Boot sandbox can emulate a sound device using SDL, playing the
121 sound on the host machine. This option implements the sound_init()
122 and sound_play() functions for sandbox. Note that you must install
123 the SDL libraries for this to work.
124
Simon Glassdd573f92015-03-06 13:19:13 -0700125config SOUND_WM8994
126 bool "Support Wolfson Micro wm8994 audio codec"
127 depends on I2S_SAMSUNG
128 help
129 Enable the wm8994 audio codec. This is connected via I2S for
130 audio data and I2C for codec control. At present it only works
131 with the Samsung I2S driver.
Masahiro Yamada0b11dbf2015-07-26 02:46:26 +0900132
133endmenu