1 menu "Sound support"
2 
3 config 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.
14 
15 config 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).
23 
24 config 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 
33 config I2S_SAMSUNG
34 	bool "Enable I2C support for Samsung SoCs"
35 	depends on I2S
36 	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().
42 
43 config SOUND_DA7219
44 	bool "Dialog Semiconductor audio codec"
45 	depends on SOUND
46 	help
47 	  The DA7219 is an ultra-low-power audio codec with Advanced Accessory
48 	  Detection (AAD). This driver only supports generation of ACPI tables.
49 	  It does not support sound output or any of the other codec
50 	  features.
51 
52 config SOUND_I8254
53 	bool "Intel i8254 timer / beeper"
54 	depends on SOUND
55 	help
56 	  This enables support for a beeper that uses the i8254 timer chip.
57 	  This can emit beeps at a fixed frequency. It is possible to control
58 	  the length of the beeps, by turning a beep on, waiting for a period
59 	  of time, then turning it off.
60 
61 	  This is quite an old feature, called PIT (Programmable Interval
62 	  Timer), but is nonetheless still available on modern x86 machines.
63 
64 config SOUND_INTEL_HDA
65 	bool "Intel HDA audio codec"
66 	depends on SOUND
67 	help
68 	  Most Intel chips have an HDA (High-definition audio) codec which can
69 	  be used by U-Boot to play simple beeps. This is also sometimes called
70 	  Azalia which was the development code-name. It requires setup
71 	  information in the device tree (see intel-hda.txt).
72 
73 config SOUND_IVYBRIDGE
74 	bool "Intel Ivybridge sound support"
75 	depends on SOUND
76 	select SOUND_INTEL_HDA
77 	help
78 	  Enable sound output on supported Intel Ivybridge-based boards. This
79 	  driver uses Intel's High-definition Audio (HDA) architecture,
80 	  sometimes called Azalia. The audio codec is detected using a
81 	  semi-automatic mechanism.
82 
83 config I2S_TEGRA
84 	bool "Enable I2S support for Nvidia Tegra SoCs"
85 	depends on I2S
86 	select TEGRA124_DMA
87 	help
88 	  Nvidia Tegra SoCs support several I2S interfaces for sending audio
89 	  data to an audio codec. This option enables support for this,
90 	  using one of the available audio codec drivers.
91 
92 config SOUND_MAX98088
93 	bool "Support Maxim max98088 audio codec"
94 	depends on I2S
95 	help
96 	  Enable the max98088 audio codec. This is connected via I2S for
97 	  audio data and I2C for codec control. At present it only works
98 	  with the Samsung I2S driver.
99 
100 config SOUND_MAX98090
101 	bool "Support Maxim max98090 audio codec"
102 	depends on I2S
103 	help
104 	  Enable the max98090 audio codec. This is connected via I2S for
105 	  audio data and I2C for codec control. At present it only works
106 	  with the Samsung I2S driver.
107 
108 config SOUND_MAX98095
109 	bool "Support Maxim max98095 audio codec"
110 	depends on I2S
111 	help
112 	  Enable the max98095 audio codec. This is connected via I2S for
113 	  audio data and I2C for codec control. At present it only works
114 	  with the Samsung I2S driver.
115 
116 config SOUND_MAX98357A
117 	bool "Support Maxim max98357a audio codec"
118 	depends on PCI
119 	help
120 	  Enable the max98357a audio codec. This is connected on PCI for
121 	  audio data codec control. This is currently only capable of providing
122 	  ACPI information. A full driver (with sound in U-Boot) is currently
123 	  not available.
124 
125 config SOUND_RT5677
126 	bool "Support Realtek RT5677 audio codec"
127 	depends on SOUND
128 	help
129 	  Enable the Realtek RT5677 audio codec. This is an I2S device used on
130 	  some Chromebooks from around 2015 ('auron'). It is configured using
131 	  an I2C interface and supports multiple sound inputs and outputs,
132 	  including digital microphones.
133 
134 config SOUND_SANDBOX
135 	bool "Support sandbox emulated audio codec"
136 	depends on SANDBOX && SOUND
137 	help
138 	  U-Boot sandbox can emulate a sound device using SDL, playing the
139 	  sound on the host machine. This option implements the sound_init()
140 	  and sound_play() functions for sandbox. Note that you must install
141 	  the SDL libraries for this to work.
142 
143 config SOUND_WM8994
144 	bool "Support Wolfson Micro wm8994 audio codec"
145 	depends on I2S_SAMSUNG
146 	help
147 	  Enable the wm8994 audio codec. This is connected via I2S for
148 	  audio data and I2C for codec control. At present it only works
149 	  with the Samsung I2S driver.
150 
151 endmenu
152