blob: 4ebc719be2b85ddabe4831580839325e09b3e118 [file] [log] [blame]
Masahiro Yamadacc85b7b2015-07-26 02:46:26 +09001menu "Sound support"
2
Simon Glass3f111d42015-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 Glassc62d28e2015-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 Glass67402f02015-03-06 13:19:11 -070023
Simon Glass63a65b42018-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 Glass67402f02015-03-06 13:19:11 -070033config I2S_SAMSUNG
34 bool "Enable I2C support for Samsung SoCs"
Simon Glassd789d082018-12-27 13:24:39 -070035 depends on I2S
Simon Glass67402f02015-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 Glass015b4a52015-03-06 13:19:12 -070042
Simon Glass950cc822019-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 Glassb67c18d2019-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 Glasse7ceeef2019-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 Glasscb51a7d2019-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 Glass355ec122019-01-11 18:37:09 -070083config SOUND_MAX98088
84 bool "Support Maxim max98088 audio codec"
Simon Glassd789d082018-12-27 13:24:39 -070085 depends on I2S
Simon Glass355ec122019-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 Glass803f6b52018-12-10 10:37:43 -070091config SOUND_MAX98090
92 bool "Support Maxim max98090 audio codec"
Simon Glassd789d082018-12-27 13:24:39 -070093 depends on I2S
Simon Glass803f6b52018-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 Glass015b4a52015-03-06 13:19:12 -070099config SOUND_MAX98095
100 bool "Support Maxim max98095 audio codec"
Simon Glassd789d082018-12-27 13:24:39 -0700101 depends on I2S
Simon Glass015b4a52015-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 Glassbb3315f2015-03-06 13:19:13 -0700106
Simon Glass12b3b582019-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 Glass9c2d7af2015-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 Glassbb3315f2015-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 Yamadacc85b7b2015-07-26 02:46:26 +0900132
133endmenu