1menu "Sound support"
2
3config 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
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).
23
24config 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
33config 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
43config 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
52config 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
64config 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
73config 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
83config 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
92config 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
100config 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
108config 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
116config 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
125config 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
134config 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
143config 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
151endmenu
152