brcm2708: add linux 4.19 support
[oweals/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0087-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch
1 From c95f1fca6bf35548cddf4909a505a6427f6f41ef Mon Sep 17 00:00:00 2001
2 From: popcornmix <popcornmix@gmail.com>
3 Date: Mon, 3 Sep 2018 17:00:36 +0100
4 Subject: [PATCH 087/703] ASoC: Add Kconfig and Makefile for sound/soc/bcm
5
6 Signed-off-by: popcornmix <popcornmix@gmail.com>
7 ---
8  sound/soc/bcm/Kconfig  | 199 +++++++++++++++++++++++++++++++++++++++++
9  sound/soc/bcm/Makefile |  42 +++++++++
10  2 files changed, 241 insertions(+)
11
12 --- a/sound/soc/bcm/Kconfig
13 +++ b/sound/soc/bcm/Kconfig
14 @@ -16,3 +16,202 @@ config SND_SOC_CYGNUS
15           Cygnus chips (bcm958300, bcm958305, bcm911360)
16  
17           If you don't know what to do here, say N.
18 +
19 +config SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD
20 +       tristate "Support for Google voiceHAT soundcard"
21 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
22 +       select SND_SOC_VOICEHAT
23 +       select SND_RPI_SIMPLE_SOUNDCARD
24 +       help
25 +          Say Y or M if you want to add support for voiceHAT soundcard.
26 +
27 +config SND_BCM2708_SOC_HIFIBERRY_DAC
28 +        tristate "Support for HifiBerry DAC"
29 +        depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
30 +        select SND_SOC_PCM5102A
31 +        select SND_RPI_SIMPLE_SOUNDCARD
32 +        help
33 +         Say Y or M if you want to add support for HifiBerry DAC.
34 +
35 +config SND_BCM2708_SOC_HIFIBERRY_DACPLUS
36 +        tristate "Support for HifiBerry DAC+"
37 +        depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
38 +        select SND_SOC_PCM512x
39 +        help
40 +         Say Y or M if you want to add support for HifiBerry DAC+.
41 +
42 +config SND_BCM2708_SOC_HIFIBERRY_DIGI
43 +        tristate "Support for HifiBerry Digi"
44 +        depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
45 +        select SND_SOC_WM8804
46 +        help
47 +         Say Y or M if you want to add support for HifiBerry Digi S/PDIF output board.
48 +
49 +config SND_BCM2708_SOC_HIFIBERRY_AMP
50 +        tristate "Support for the HifiBerry Amp"
51 +        depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
52 +        select SND_SOC_TAS5713
53 +        select SND_RPI_SIMPLE_SOUNDCARD
54 +        help
55 +         Say Y or M if you want to add support for the HifiBerry Amp amplifier board.
56 +
57 +config SND_BCM2708_SOC_RPI_CIRRUS
58 +        tristate "Support for Cirrus Logic Audio Card"
59 +        depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
60 +        select SND_SOC_WM5102
61 +        select SND_SOC_WM8804
62 +        help
63 +         Say Y or M if you want to add support for the Wolfson and
64 +         Cirrus Logic audio cards.
65 +
66 +config SND_BCM2708_SOC_RPI_DAC
67 +        tristate "Support for RPi-DAC"
68 +        depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
69 +        select SND_SOC_PCM1794A
70 +        select SND_RPI_SIMPLE_SOUNDCARD
71 +        help
72 +         Say Y or M if you want to add support for RPi-DAC.
73 +
74 +config SND_BCM2708_SOC_RPI_PROTO
75 +       tristate "Support for Rpi-PROTO"
76 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
77 +       select SND_SOC_WM8731
78 +       help
79 +         Say Y or M if you want to add support for Audio Codec Board PROTO (WM8731).
80 +
81 +config SND_BCM2708_SOC_JUSTBOOM_DAC
82 +       tristate "Support for JustBoom DAC"
83 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
84 +       select SND_SOC_PCM512x
85 +       help
86 +         Say Y or M if you want to add support for JustBoom DAC.
87 +
88 +config SND_BCM2708_SOC_JUSTBOOM_DIGI
89 +       tristate "Support for JustBoom Digi"
90 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
91 +       select SND_SOC_WM8804
92 +        select SND_RPI_WM8804_SOUNDCARD
93 +       help
94 +         Say Y or M if you want to add support for JustBoom Digi.
95 +
96 +config SND_BCM2708_SOC_IQAUDIO_DAC
97 +       tristate "Support for IQaudIO-DAC"
98 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
99 +       select SND_SOC_PCM512x_I2C
100 +       help
101 +         Say Y or M if you want to add support for IQaudIO-DAC.
102 +
103 +config SND_BCM2708_SOC_IQAUDIO_DIGI
104 +       tristate "Support for IQAudIO Digi"
105 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
106 +       select SND_SOC_WM8804
107 +       select SND_RPI_WM8804_SOUNDCARD
108 +       help
109 +         Say Y or M if you want to add support for IQAudIO Digital IO board.
110 +
111 +config SND_BCM2708_SOC_ADAU1977_ADC
112 +       tristate "Support for ADAU1977 ADC"
113 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
114 +       select SND_SOC_ADAU1977_I2C
115 +       select SND_RPI_SIMPLE_SOUNDCARD
116 +       help
117 +         Say Y or M if you want to add support for ADAU1977 ADC.
118 +
119 +config SND_AUDIOINJECTOR_PI_SOUNDCARD
120 +       tristate "Support for audioinjector.net Pi add on soundcard"
121 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
122 +       select SND_SOC_WM8731
123 +       help
124 +         Say Y or M if you want to add support for audioinjector.net Pi Hat
125 +
126 +config SND_AUDIOINJECTOR_OCTO_SOUNDCARD
127 +       tristate "Support for audioinjector.net Octo channel (Hat) soundcard"
128 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
129 +       select SND_SOC_CS42XX8_I2C
130 +       help
131 +         Say Y or M if you want to add support for audioinjector.net octo add on
132 +
133 +config SND_DIGIDAC1_SOUNDCARD
134 +        tristate "Support for Red Rocks Audio DigiDAC1"
135 +        depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
136 +        select SND_SOC_WM8804
137 +        select SND_SOC_WM8741
138 +        help
139 +         Say Y or M if you want to add support for Red Rocks Audio DigiDAC1 board.
140 +
141 +config SND_BCM2708_SOC_DIONAUDIO_LOCO
142 +       tristate "Support for Dion Audio LOCO DAC-AMP"
143 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
144 +       select SND_SOC_PCM5102a
145 +       help
146 +         Say Y or M if you want to add support for Dion Audio LOCO.
147 +
148 +config SND_BCM2708_SOC_DIONAUDIO_LOCO_V2
149 +       tristate "Support for Dion Audio LOCO-V2 DAC-AMP"
150 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
151 +       select SND_SOC_PCM5122
152 +       help
153 +         Say Y or M if you want to add support for Dion Audio LOCO-V2.
154 +
155 +config SND_BCM2708_SOC_ALLO_PIANO_DAC
156 +       tristate "Support for Allo Piano DAC"
157 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
158 +       select SND_SOC_PCM512x_I2C
159 +       help
160 +         Say Y or M if you want to add support for Allo Piano DAC.
161 +
162 +config SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS
163 +       tristate "Support for Allo Piano DAC Plus"
164 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
165 +       select SND_SOC_PCM512x_I2C
166 +       help
167 +         Say Y or M if you want to add support for Allo Piano DAC Plus.
168 +
169 +config SND_BCM2708_SOC_ALLO_BOSS_DAC
170 +       tristate "Support for Allo Boss DAC"
171 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
172 +       select SND_SOC_PCM512x_I2C
173 +       help
174 +         Say Y or M if you want to add support for Allo Boss DAC.
175 +
176 +config SND_BCM2708_SOC_ALLO_DIGIONE
177 +       tristate "Support for Allo DigiOne"
178 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
179 +       select SND_SOC_WM8804
180 +       select SND_RPI_WM8804_SOUNDCARD
181 +       help
182 +         Say Y or M if you want to add support for Allo DigiOne.
183 +
184 +config SND_BCM2708_SOC_ALLO_KATANA_DAC
185 +       tristate "Support for Allo Katana DAC"
186 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
187 +       depends on I2C
188 +       select REGMAP_I2C
189 +       select SND_AUDIO_GRAPH_CARD
190 +       help
191 +         Say Y or M if you want to add support for Allo Katana DAC.
192 +
193 +config SND_BCM2708_SOC_FE_PI_AUDIO
194 +       tristate "Support for Fe-Pi-Audio"
195 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
196 +       select SND_SOC_SGTL5000
197 +       help
198 +         Say Y or M if you want to add support for Fe-Pi-Audio.
199 +
200 +config SND_PISOUND
201 +       tristate "Support for Blokas Labs pisound"
202 +       depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
203 +       select SND_RAWMIDI
204 +       help
205 +         Say Y or M if you want to add support for Blokas Labs pisound.
206 +
207 +config SND_RPI_SIMPLE_SOUNDCARD
208 +       tristate "Support for Raspberry Pi simple soundcards"
209 +       help
210 +         Say Y or M if you want to add support Raspbery Pi simple soundcards
211 +
212 +config SND_RPI_WM8804_SOUNDCARD
213 +       tristate "Support for Raspberry Pi generic WM8804 soundcards"
214 +       help
215 +         Say Y or M if you want to add support for the Raspberry Pi
216 +          generic driver for WM8804 based soundcards.
217 --- a/sound/soc/bcm/Makefile
218 +++ b/sound/soc/bcm/Makefile
219 @@ -8,3 +8,45 @@ snd-soc-cygnus-objs := cygnus-pcm.o cygn
220  
221  obj-$(CONFIG_SND_SOC_CYGNUS) += snd-soc-cygnus.o
222  
223 +# Google voiceHAT custom codec support
224 +snd-soc-googlevoicehat-codec-objs := googlevoicehat-codec.o
225 +
226 +# BCM2708 Machine Support
227 +snd-soc-hifiberry-dacplus-objs := hifiberry_dacplus.o
228 +snd-soc-justboom-dac-objs := justboom-dac.o
229 +snd-soc-rpi-cirrus-objs := rpi-cirrus.o
230 +snd-soc-rpi-proto-objs := rpi-proto.o
231 +snd-soc-iqaudio-dac-objs := iqaudio-dac.o
232 +snd-soc-audioinjector-pi-soundcard-objs := audioinjector-pi-soundcard.o
233 +snd-soc-audioinjector-octo-soundcard-objs := audioinjector-octo-soundcard.o
234 +snd-soc-digidac1-soundcard-objs := digidac1-soundcard.o
235 +snd-soc-dionaudio-loco-objs := dionaudio_loco.o
236 +snd-soc-dionaudio-loco-v2-objs := dionaudio_loco-v2.o
237 +snd-soc-allo-boss-dac-objs := allo-boss-dac.o
238 +snd-soc-allo-piano-dac-objs := allo-piano-dac.o
239 +snd-soc-allo-piano-dac-plus-objs := allo-piano-dac-plus.o
240 +snd-soc-allo-katana-codec-objs := allo-katana-codec.o
241 +snd-soc-pisound-objs := pisound.o
242 +snd-soc-fe-pi-audio-objs := fe-pi-audio.o
243 +snd-soc-rpi-simple-soundcard-objs := rpi-simple-soundcard.o
244 +snd-soc-rpi-wm8804-soundcard-objs := rpi-wm8804-soundcard.o
245 +
246 +obj-$(CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD)  += snd-soc-googlevoicehat-codec.o
247 +obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS) += snd-soc-hifiberry-dacplus.o
248 +obj-$(CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC) += snd-soc-justboom-dac.o
249 +obj-$(CONFIG_SND_BCM2708_SOC_RPI_CIRRUS) += snd-soc-rpi-cirrus.o
250 +obj-$(CONFIG_SND_BCM2708_SOC_RPI_PROTO) += snd-soc-rpi-proto.o
251 +obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
252 +obj-$(CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD) += snd-soc-audioinjector-pi-soundcard.o
253 +obj-$(CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD) += snd-soc-audioinjector-octo-soundcard.o
254 +obj-$(CONFIG_SND_DIGIDAC1_SOUNDCARD) += snd-soc-digidac1-soundcard.o
255 +obj-$(CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO) += snd-soc-dionaudio-loco.o
256 +obj-$(CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2) += snd-soc-dionaudio-loco-v2.o
257 +obj-$(CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC) += snd-soc-allo-boss-dac.o
258 +obj-$(CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC) += snd-soc-allo-piano-dac.o
259 +obj-$(CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS) += snd-soc-allo-piano-dac-plus.o
260 +obj-$(CONFIG_SND_BCM2708_SOC_ALLO_KATANA_DAC) += snd-soc-allo-katana-codec.o
261 +obj-$(CONFIG_SND_PISOUND) += snd-soc-pisound.o
262 +obj-$(CONFIG_SND_BCM2708_SOC_FE_PI_AUDIO) += snd-soc-fe-pi-audio.o
263 +obj-$(CONFIG_SND_RPI_SIMPLE_SOUNDCARD) += snd-soc-rpi-simple-soundcard.o
264 +obj-$(CONFIG_SND_RPI_WM8804_SOUNDCARD) += snd-soc-rpi-wm8804-soundcard.o