Skip to content

Commit 710f9a3

Browse files
committed
ASoC: PCM6240: New driver
Merge series from Shenghao Ding <shenghao-ding@ti.com>: mixer-test report: root@am335x-evm:/bin# mixer-test TAP version 13 # Card 0 - TI BeagleBone Black (TI BeagleBone Black) 1..455 ok 1 get_value.0.64 # 0.64 PCMD3180 i2c2 Profile id ok 2 name.0.64 ok 3 write_default.0.64 ok 4 write_valid.0.64 ok 5 write_invalid.0.64 ok 6 event_missing.0.64 ok 7 event_spurious.0.64 ok 8 get_value.0.63 # 0.63 PCMD3180 i2c2 Dev3 Ch8 Digi Volume ok 9 name.0.63 ok 10 write_default.0.63 ok 11 write_valid.0.63 ok 12 write_invalid.0.63 ok 13 event_missing.0.63 ok 14 event_spurious.0.63 ok 15 get_value.0.62 # 0.62 PCMD3180 i2c2 Dev3 Ch7 Digi Volume ok 16 name.0.62 ok 17 write_default.0.62 ok 18 write_valid.0.62 ok 19 write_invalid.0.62 ok 20 event_missing.0.62 ok 21 event_spurious.0.62 ok 22 get_value.0.61 # 0.61 PCMD3180 i2c2 Dev3 Ch6 Digi Volume ok 23 name.0.61 ok 24 write_default.0.61 ok 25 write_valid.0.61 ok 26 write_invalid.0.61 ok 27 event_missing.0.61 ok 28 event_spurious.0.61 ok 29 get_value.0.60 # 0.60 PCMD3180 i2c2 Dev3 Ch5 Digi Volume ok 30 name.0.60 ok 31 write_default.0.60 ok 32 write_valid.0.60 ok 33 write_invalid.0.60 ok 34 event_missing.0.60 ok 35 event_spurious.0.60 ok 36 get_value.0.59 # 0.59 PCMD3180 i2c2 Dev3 Ch4 Digi Volume ok 37 name.0.59 ok 38 write_default.0.59 ok 39 write_valid.0.59 ok 40 write_invalid.0.59 ok 41 event_missing.0.59 ok 42 event_spurious.0.59 ok 43 get_value.0.58 # 0.58 PCMD3180 i2c2 Dev3 Ch3 Digi Volume ok 44 name.0.58 ok 45 write_default.0.58 ok 46 write_valid.0.58 ok 47 write_invalid.0.58 ok 48 event_missing.0.58 ok 49 event_spurious.0.58 ok 50 get_value.0.57 # 0.57 PCMD3180 i2c2 Dev3 Ch2 Digi Volume ok 51 name.0.57 ok 52 write_default.0.57 ok 53 write_valid.0.57 ok 54 write_invalid.0.57 ok 55 event_missing.0.57 ok 56 event_spurious.0.57 ok 57 get_value.0.56 # 0.56 PCMD3180 i2c2 Dev3 Ch1 Digi Volume ok 58 name.0.56 ok 59 write_default.0.56 ok 60 write_valid.0.56 ok 61 write_invalid.0.56 ok 62 event_missing.0.56 ok 63 event_spurious.0.56 ok 64 get_value.0.55 # 0.55 PCMD3180 i2c2 Dev3 Ch8 Fine Volume ok 65 name.0.55 ok 66 write_default.0.55 ok 67 write_valid.0.55 ok 68 write_invalid.0.55 ok 69 event_missing.0.55 ok 70 event_spurious.0.55 ok 71 get_value.0.54 # 0.54 PCMD3180 i2c2 Dev3 Ch7 Fine Volume ok 72 name.0.54 ok 73 write_default.0.54 ok 74 write_valid.0.54 ok 75 write_invalid.0.54 ok 76 event_missing.0.54 ok 77 event_spurious.0.54 ok 78 get_value.0.53 # 0.53 PCMD3180 i2c2 Dev3 Ch6 Fine Volume ok 79 name.0.53 ok 80 write_default.0.53 ok 81 write_valid.0.53 ok 82 write_invalid.0.53 ok 83 event_missing.0.53 ok 84 event_spurious.0.53 ok 85 get_value.0.52 # 0.52 PCMD3180 i2c2 Dev3 Ch5 Fine Volume ok 86 name.0.52 ok 87 write_default.0.52 ok 88 write_valid.0.52 ok 89 write_invalid.0.52 ok 90 event_missing.0.52 ok 91 event_spurious.0.52 ok 92 get_value.0.51 # 0.51 PCMD3180 i2c2 Dev3 Ch4 Fine Volume ok 93 name.0.51 ok 94 write_default.0.51 ok 95 write_valid.0.51 ok 96 write_invalid.0.51 ok 97 event_missing.0.51 ok 98 event_spurious.0.51 ok 99 get_value.0.50 # 0.50 PCMD3180 i2c2 Dev3 Ch3 Fine Volume ok 100 name.0.50 ok 101 write_default.0.50 ok 102 write_valid.0.50 ok 103 write_invalid.0.50 ok 104 event_missing.0.50 ok 105 event_spurious.0.50 ok 106 get_value.0.49 # 0.49 PCMD3180 i2c2 Dev3 Ch2 Fine Volume ok 107 name.0.49 ok 108 write_default.0.49 ok 109 write_valid.0.49 ok 110 write_invalid.0.49 ok 111 event_missing.0.49 ok 112 event_spurious.0.49 ok 113 get_value.0.48 # 0.48 PCMD3180 i2c2 Dev3 Ch1 Fine Volume ok 114 name.0.48 ok 115 write_default.0.48 ok 116 write_valid.0.48 ok 117 write_invalid.0.48 ok 118 event_missing.0.48 ok 119 event_spurious.0.48 ok 120 get_value.0.47 # 0.47 PCMD3180 i2c2 Dev2 Ch8 Digi Volume ok 121 name.0.47 ok 122 write_default.0.47 ok 123 write_valid.0.47 ok 124 write_invalid.0.47 ok 125 event_missing.0.47 ok 126 event_spurious.0.47 ok 127 get_value.0.46 # 0.46 PCMD3180 i2c2 Dev2 Ch7 Digi Volume ok 128 name.0.46 ok 129 write_default.0.46 ok 130 write_valid.0.46 ok 131 write_invalid.0.46 ok 132 event_missing.0.46 ok 133 event_spurious.0.46 ok 134 get_value.0.45 # 0.45 PCMD3180 i2c2 Dev2 Ch6 Digi Volume ok 135 name.0.45 ok 136 write_default.0.45 ok 137 write_valid.0.45 ok 138 write_invalid.0.45 ok 139 event_missing.0.45 ok 140 event_spurious.0.45 ok 141 get_value.0.44 # 0.44 PCMD3180 i2c2 Dev2 Ch5 Digi Volume ok 142 name.0.44 ok 143 write_default.0.44 ok 144 write_valid.0.44 ok 145 write_invalid.0.44 ok 146 event_missing.0.44 ok 147 event_spurious.0.44 ok 148 get_value.0.43 # 0.43 PCMD3180 i2c2 Dev2 Ch4 Digi Volume ok 149 name.0.43 ok 150 write_default.0.43 ok 151 write_valid.0.43 ok 152 write_invalid.0.43 ok 153 event_missing.0.43 ok 154 event_spurious.0.43 ok 155 get_value.0.42 # 0.42 PCMD3180 i2c2 Dev2 Ch3 Digi Volume ok 156 name.0.42 ok 157 write_default.0.42 ok 158 write_valid.0.42 ok 159 write_invalid.0.42 ok 160 event_missing.0.42 ok 161 event_spurious.0.42 ok 162 get_value.0.41 # 0.41 PCMD3180 i2c2 Dev2 Ch2 Digi Volume ok 163 name.0.41 ok 164 write_default.0.41 ok 165 write_valid.0.41 ok 166 write_invalid.0.41 ok 167 event_missing.0.41 ok 168 event_spurious.0.41 ok 169 get_value.0.40 # 0.40 PCMD3180 i2c2 Dev2 Ch1 Digi Volume ok 170 name.0.40 ok 171 write_default.0.40 ok 172 write_valid.0.40 ok 173 write_invalid.0.40 ok 174 event_missing.0.40 ok 175 event_spurious.0.40 ok 176 get_value.0.39 # 0.39 PCMD3180 i2c2 Dev2 Ch8 Fine Volume ok 177 name.0.39 ok 178 write_default.0.39 ok 179 write_valid.0.39 ok 180 write_invalid.0.39 ok 181 event_missing.0.39 ok 182 event_spurious.0.39 ok 183 get_value.0.38 # 0.38 PCMD3180 i2c2 Dev2 Ch7 Fine Volume ok 184 name.0.38 ok 185 write_default.0.38 ok 186 write_valid.0.38 ok 187 write_invalid.0.38 ok 188 event_missing.0.38 ok 189 event_spurious.0.38 ok 190 get_value.0.37 # 0.37 PCMD3180 i2c2 Dev2 Ch6 Fine Volume ok 191 name.0.37 ok 192 write_default.0.37 ok 193 write_valid.0.37 ok 194 write_invalid.0.37 ok 195 event_missing.0.37 ok 196 event_spurious.0.37 ok 197 get_value.0.36 # 0.36 PCMD3180 i2c2 Dev2 Ch5 Fine Volume ok 198 name.0.36 ok 199 write_default.0.36 ok 200 write_valid.0.36 ok 201 write_invalid.0.36 ok 202 event_missing.0.36 ok 203 event_spurious.0.36 ok 204 get_value.0.35 # 0.35 PCMD3180 i2c2 Dev2 Ch4 Fine Volume ok 205 name.0.35 ok 206 write_default.0.35 ok 207 write_valid.0.35 ok 208 write_invalid.0.35 ok 209 event_missing.0.35 ok 210 event_spurious.0.35 ok 211 get_value.0.34 # 0.34 PCMD3180 i2c2 Dev2 Ch3 Fine Volume ok 212 name.0.34 ok 213 write_default.0.34 ok 214 write_valid.0.34 ok 215 write_invalid.0.34 ok 216 event_missing.0.34 ok 217 event_spurious.0.34 ok 218 get_value.0.33 # 0.33 PCMD3180 i2c2 Dev2 Ch2 Fine Volume ok 219 name.0.33 ok 220 write_default.0.33 ok 221 write_valid.0.33 ok 222 write_invalid.0.33 ok 223 event_missing.0.33 ok 224 event_spurious.0.33 ok 225 get_value.0.32 # 0.32 PCMD3180 i2c2 Dev2 Ch1 Fine Volume ok 226 name.0.32 ok 227 write_default.0.32 ok 228 write_valid.0.32 ok 229 write_invalid.0.32 ok 230 event_missing.0.32 ok 231 event_spurious.0.32 ok 232 get_value.0.31 # 0.31 PCMD3180 i2c2 Dev1 Ch8 Digi Volume ok 233 name.0.31 ok 234 write_default.0.31 ok 235 write_valid.0.31 ok 236 write_invalid.0.31 ok 237 event_missing.0.31 ok 238 event_spurious.0.31 ok 239 get_value.0.30 # 0.30 PCMD3180 i2c2 Dev1 Ch7 Digi Volume ok 240 name.0.30 ok 241 write_default.0.30 ok 242 write_valid.0.30 ok 243 write_invalid.0.30 ok 244 event_missing.0.30 ok 245 event_spurious.0.30 ok 246 get_value.0.29 # 0.29 PCMD3180 i2c2 Dev1 Ch6 Digi Volume ok 247 name.0.29 ok 248 write_default.0.29 ok 249 write_valid.0.29 ok 250 write_invalid.0.29 ok 251 event_missing.0.29 ok 252 event_spurious.0.29 ok 253 get_value.0.28 # 0.28 PCMD3180 i2c2 Dev1 Ch5 Digi Volume ok 254 name.0.28 ok 255 write_default.0.28 ok 256 write_valid.0.28 ok 257 write_invalid.0.28 ok 258 event_missing.0.28 ok 259 event_spurious.0.28 ok 260 get_value.0.27 # 0.27 PCMD3180 i2c2 Dev1 Ch4 Digi Volume ok 261 name.0.27 ok 262 write_default.0.27 ok 263 write_valid.0.27 ok 264 write_invalid.0.27 ok 265 event_missing.0.27 ok 266 event_spurious.0.27 ok 267 get_value.0.26 # 0.26 PCMD3180 i2c2 Dev1 Ch3 Digi Volume ok 268 name.0.26 ok 269 write_default.0.26 ok 270 write_valid.0.26 ok 271 write_invalid.0.26 ok 272 event_missing.0.26 ok 273 event_spurious.0.26 ok 274 get_value.0.25 # 0.25 PCMD3180 i2c2 Dev1 Ch2 Digi Volume ok 275 name.0.25 ok 276 write_default.0.25 ok 277 write_valid.0.25 ok 278 write_invalid.0.25 ok 279 event_missing.0.25 ok 280 event_spurious.0.25 ok 281 get_value.0.24 # 0.24 PCMD3180 i2c2 Dev1 Ch1 Digi Volume ok 282 name.0.24 ok 283 write_default.0.24 ok 284 write_valid.0.24 ok 285 write_invalid.0.24 ok 286 event_missing.0.24 ok 287 event_spurious.0.24 ok 288 get_value.0.23 # 0.23 PCMD3180 i2c2 Dev1 Ch8 Fine Volume ok 289 name.0.23 ok 290 write_default.0.23 ok 291 write_valid.0.23 ok 292 write_invalid.0.23 ok 293 event_missing.0.23 ok 294 event_spurious.0.23 ok 295 get_value.0.22 # 0.22 PCMD3180 i2c2 Dev1 Ch7 Fine Volume ok 296 name.0.22 ok 297 write_default.0.22 ok 298 write_valid.0.22 ok 299 write_invalid.0.22 ok 300 event_missing.0.22 ok 301 event_spurious.0.22 ok 302 get_value.0.21 # 0.21 PCMD3180 i2c2 Dev1 Ch6 Fine Volume ok 303 name.0.21 ok 304 write_default.0.21 ok 305 write_valid.0.21 ok 306 write_invalid.0.21 ok 307 event_missing.0.21 ok 308 event_spurious.0.21 ok 309 get_value.0.20 # 0.20 PCMD3180 i2c2 Dev1 Ch5 Fine Volume ok 310 name.0.20 ok 311 write_default.0.20 ok 312 write_valid.0.20 ok 313 write_invalid.0.20 ok 314 event_missing.0.20 ok 315 event_spurious.0.20 ok 316 get_value.0.19 # 0.19 PCMD3180 i2c2 Dev1 Ch4 Fine Volume ok 317 name.0.19 ok 318 write_default.0.19 ok 319 write_valid.0.19 ok 320 write_invalid.0.19 ok 321 event_missing.0.19 ok 322 event_spurious.0.19 ok 323 get_value.0.18 # 0.18 PCMD3180 i2c2 Dev1 Ch3 Fine Volume ok 324 name.0.18 ok 325 write_default.0.18 ok 326 write_valid.0.18 ok 327 write_invalid.0.18 ok 328 event_missing.0.18 ok 329 event_spurious.0.18 ok 330 get_value.0.17 # 0.17 PCMD3180 i2c2 Dev1 Ch2 Fine Volume ok 331 name.0.17 ok 332 write_default.0.17 ok 333 write_valid.0.17 ok 334 write_invalid.0.17 ok 335 event_missing.0.17 ok 336 event_spurious.0.17 ok 337 get_value.0.16 # 0.16 PCMD3180 i2c2 Dev1 Ch1 Fine Volume ok 338 name.0.16 ok 339 write_default.0.16 ok 340 write_valid.0.16 ok 341 write_invalid.0.16 ok 342 event_missing.0.16 ok 343 event_spurious.0.16 ok 344 get_value.0.15 # 0.15 PCMD3180 i2c2 Dev0 Ch8 Digi Volume ok 345 name.0.15 ok 346 write_default.0.15 ok 347 write_valid.0.15 ok 348 write_invalid.0.15 ok 349 event_missing.0.15 ok 350 event_spurious.0.15 ok 351 get_value.0.14 # 0.14 PCMD3180 i2c2 Dev0 Ch7 Digi Volume ok 352 name.0.14 ok 353 write_default.0.14 ok 354 write_valid.0.14 ok 355 write_invalid.0.14 ok 356 event_missing.0.14 ok 357 event_spurious.0.14 ok 358 get_value.0.13 # 0.13 PCMD3180 i2c2 Dev0 Ch6 Digi Volume ok 359 name.0.13 ok 360 write_default.0.13 ok 361 write_valid.0.13 ok 362 write_invalid.0.13 ok 363 event_missing.0.13 ok 364 event_spurious.0.13 ok 365 get_value.0.12 # 0.12 PCMD3180 i2c2 Dev0 Ch5 Digi Volume ok 366 name.0.12 ok 367 write_default.0.12 ok 368 write_valid.0.12 ok 369 write_invalid.0.12 ok 370 event_missing.0.12 ok 371 event_spurious.0.12 ok 372 get_value.0.11 # 0.11 PCMD3180 i2c2 Dev0 Ch4 Digi Volume ok 373 name.0.11 ok 374 write_default.0.11 ok 375 write_valid.0.11 ok 376 write_invalid.0.11 ok 377 event_missing.0.11 ok 378 event_spurious.0.11 ok 379 get_value.0.10 # 0.10 PCMD3180 i2c2 Dev0 Ch3 Digi Volume ok 380 name.0.10 ok 381 write_default.0.10 ok 382 write_valid.0.10 ok 383 write_invalid.0.10 ok 384 event_missing.0.10 ok 385 event_spurious.0.10 ok 386 get_value.0.9 # 0.9 PCMD3180 i2c2 Dev0 Ch2 Digi Volume ok 387 name.0.9 ok 388 write_default.0.9 ok 389 write_valid.0.9 ok 390 write_invalid.0.9 ok 391 event_missing.0.9 ok 392 event_spurious.0.9 ok 393 get_value.0.8 # 0.8 PCMD3180 i2c2 Dev0 Ch1 Digi Volume ok 394 name.0.8 ok 395 write_default.0.8 ok 396 write_valid.0.8 ok 397 write_invalid.0.8 ok 398 event_missing.0.8 ok 399 event_spurious.0.8 ok 400 get_value.0.7 # 0.7 PCMD3180 i2c2 Dev0 Ch8 Fine Volume ok 401 name.0.7 ok 402 write_default.0.7 ok 403 write_valid.0.7 ok 404 write_invalid.0.7 ok 405 event_missing.0.7 ok 406 event_spurious.0.7 ok 407 get_value.0.6 # 0.6 PCMD3180 i2c2 Dev0 Ch7 Fine Volume ok 408 name.0.6 ok 409 write_default.0.6 ok 410 write_valid.0.6 ok 411 write_invalid.0.6 ok 412 event_missing.0.6 ok 413 event_spurious.0.6 ok 414 get_value.0.5 # 0.5 PCMD3180 i2c2 Dev0 Ch6 Fine Volume ok 415 name.0.5 ok 416 write_default.0.5 ok 417 write_valid.0.5 ok 418 write_invalid.0.5 ok 419 event_missing.0.5 ok 420 event_spurious.0.5 ok 421 get_value.0.4 # 0.4 PCMD3180 i2c2 Dev0 Ch5 Fine Volume ok 422 name.0.4 ok 423 write_default.0.4 ok 424 write_valid.0.4 ok 425 write_invalid.0.4 ok 426 event_missing.0.4 ok 427 event_spurious.0.4 ok 428 get_value.0.3 # 0.3 PCMD3180 i2c2 Dev0 Ch4 Fine Volume ok 429 name.0.3 ok 430 write_default.0.3 ok 431 write_valid.0.3 ok 432 write_invalid.0.3 ok 433 event_missing.0.3 ok 434 event_spurious.0.3 ok 435 get_value.0.2 # 0.2 PCMD3180 i2c2 Dev0 Ch3 Fine Volume ok 436 name.0.2 ok 437 write_default.0.2 ok 438 write_valid.0.2 ok 439 write_invalid.0.2 ok 440 event_missing.0.2 ok 441 event_spurious.0.2 ok 442 get_value.0.1 # 0.1 PCMD3180 i2c2 Dev0 Ch2 Fine Volume ok 443 name.0.1 ok 444 write_default.0.1 ok 445 write_valid.0.1 ok 446 write_invalid.0.1 ok 447 event_missing.0.1 ok 448 event_spurious.0.1 ok 449 get_value.0.0 # 0.0 PCMD3180 i2c2 Dev0 Ch1 Fine Volume ok 450 name.0.0 ok 451 write_default.0.0 ok 452 write_valid.0.0 ok 453 write_invalid.0.0 ok 454 event_missing.0.0 ok 455 event_spurious.0.0 # Totals: pass:455 fail:0 xfail:0 xpass:0 skip:0 error:0
2 parents 5126224 + cee56a8 commit 710f9a3

5 files changed

Lines changed: 2658 additions & 0 deletions

File tree

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
# Copyright (C) 2022 - 2024 Texas Instruments Incorporated
3+
%YAML 1.2
4+
---
5+
$id: http://devicetree.org/schemas/sound/ti,pcm6240.yaml#
6+
$schema: http://devicetree.org/meta-schemas/core.yaml#
7+
8+
title: Texas Instruments PCM6240 Family Audio ADC/DAC
9+
10+
maintainers:
11+
- Shenghao Ding <shenghao-ding@ti.com>
12+
13+
description: |
14+
The PCM6240 Family is a big family of Audio ADC/DAC for
15+
different Specifications, range from Personal Electric
16+
to Automotive Electric, even some professional fields.
17+
18+
Specifications about the audio chip can be found at:
19+
https://www.ti.com/lit/gpn/tlv320adc3120
20+
https://www.ti.com/lit/gpn/tlv320adc5120
21+
https://www.ti.com/lit/gpn/tlv320adc6120
22+
https://www.ti.com/lit/gpn/dix4192
23+
https://www.ti.com/lit/gpn/pcm1690
24+
https://www.ti.com/lit/gpn/pcm3120-q1
25+
https://www.ti.com/lit/gpn/pcm3140-q1
26+
https://www.ti.com/lit/gpn/pcm5120-q1
27+
https://www.ti.com/lit/gpn/pcm6120-q1
28+
https://www.ti.com/lit/gpn/pcm6260-q1
29+
https://www.ti.com/lit/gpn/pcm9211
30+
https://www.ti.com/lit/gpn/pcmd3140
31+
https://www.ti.com/lit/gpn/pcmd3180
32+
https://www.ti.com/lit/gpn/taa5212
33+
https://www.ti.com/lit/gpn/tad5212
34+
35+
properties:
36+
compatible:
37+
description: |
38+
ti,adc3120: Stereo-channel, 768-kHz, Burr-Brown™ audio analog-to-
39+
digital converter (ADC) with 106-dB SNR.
40+
41+
ti,adc5120: 2-Channel, 768-kHz, Burr-Brown™ Audio ADC with 120-dB SNR.
42+
43+
ti,adc6120: Stereo-channel, 768-kHz, Burr-Brown™ audio analog-to-
44+
digital converter (ADC) with 123-dB SNR.
45+
46+
ti,dix4192: 216-kHz digital audio converter with Quad-Channel In
47+
and One-Channel Out.
48+
49+
ti,pcm1690: Automotive Catalog 113dB SNR 8-Channel Audio DAC with
50+
Differential Outputs.
51+
52+
ti,pcm3120: Automotive, stereo, 106-dB SNR, 768-kHz, low-power
53+
software-controlled audio ADC.
54+
55+
ti,pcm3140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
56+
with 106-dB SNR.
57+
58+
ti,pcm5120: Automotive, stereo, 120-dB SNR, 768-kHz, low-power
59+
software-controlled audio ADC.
60+
61+
ti,pcm5140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
62+
with 120-dB SNR.
63+
64+
ti,pcm6120: Automotive, stereo, 123-dB SNR, 768-kHz, low-power
65+
software-controlled audio ADC.
66+
67+
ti,pcm6140: Automotive, Quad-Channel, 768-kHz, Burr-Brown™ Audio ADC
68+
with 123-dB SNR.
69+
70+
ti,pcm6240: Automotive 4-ch audio ADC with integrated programmable mic
71+
bias, boost and input diagnostics.
72+
73+
ti,pcm6260: Automotive 6-ch audio ADC with integrated programmable mic
74+
bias, boost and input diagnostics.
75+
76+
ti,pcm9211: 216-kHz digital audio converter With Stereo ADC and
77+
Routing.
78+
79+
ti,pcmd3140: Four-channel PDM-input to TDM or I2S output converter.
80+
81+
ti,pcmd3180: Eight-channel pulse-density-modulation input to TDM or
82+
I2S output converter.
83+
84+
ti,taa5212: Low-power high-performance stereo audio ADC with 118-dB
85+
dynamic range.
86+
87+
ti,tad5212: Low-power stereo audio DAC with 120-dB dynamic range.
88+
oneOf:
89+
- items:
90+
- enum:
91+
- ti,adc3120
92+
- ti,adc5120
93+
- ti,pcm3120
94+
- ti,pcm5120
95+
- ti,pcm6120
96+
- const: ti,adc6120
97+
- items:
98+
- enum:
99+
- ti,pcmd512x
100+
- ti,pcm9211
101+
- ti,taa5212
102+
- ti,tad5212
103+
- const: ti,adc6120
104+
- items:
105+
- enum:
106+
- ti,pcm3140
107+
- ti,pcm5140
108+
- ti,dix4192
109+
- ti,pcm6140
110+
- ti,pcm6260
111+
- const: ti,pcm6240
112+
- items:
113+
- enum:
114+
- ti,pcmd3140
115+
- ti,pcmd3180
116+
- ti,pcm1690
117+
- ti,taa5412
118+
- ti,tad5412
119+
- const: ti,pcm6240
120+
- enum:
121+
- ti,adc6120
122+
- ti,pcm6240
123+
124+
reg:
125+
description:
126+
I2C address, in multiple pcmdevices case, all the i2c address
127+
aggregate as one Audio Device to support multiple audio slots.
128+
minItems: 1
129+
maxItems: 4
130+
131+
reset-gpios:
132+
maxItems: 1
133+
134+
interrupts:
135+
maxItems: 1
136+
description:
137+
Invalid only for ti,pcm1690 because of no INT pin.
138+
139+
'#sound-dai-cells':
140+
const: 0
141+
142+
required:
143+
- compatible
144+
- reg
145+
146+
allOf:
147+
- $ref: dai-common.yaml#
148+
- if:
149+
properties:
150+
compatible:
151+
contains:
152+
enum:
153+
- ti,pcm1690
154+
then:
155+
properties:
156+
interrupts: false
157+
158+
additionalProperties: false
159+
160+
examples:
161+
- |
162+
#include <dt-bindings/gpio/gpio.h>
163+
i2c {
164+
/* example for two devices with interrupt support */
165+
#address-cells = <1>;
166+
#size-cells = <0>;
167+
pcm6240: audio-codec@48 {
168+
compatible = "ti,pcm6240";
169+
reg = <0x48>, /* primary-device */
170+
<0x4b>; /* secondary-device */
171+
#sound-dai-cells = <0>;
172+
reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
173+
interrupt-parent = <&gpio1>;
174+
interrupts = <15>;
175+
};
176+
};
177+
...

sound/soc/codecs/Kconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ config SND_SOC_ALL_CODECS
179179
imply SND_SOC_PCM5102A
180180
imply SND_SOC_PCM512x_I2C
181181
imply SND_SOC_PCM512x_SPI
182+
imply SND_SOC_PCM6240
182183
imply SND_SOC_PEB2466
183184
imply SND_SOC_RK3308
184185
imply SND_SOC_RK3328
@@ -1424,6 +1425,15 @@ config SND_SOC_PCM512x_SPI
14241425
select SND_SOC_PCM512x
14251426
select REGMAP_SPI
14261427

1428+
config SND_SOC_PCM6240
1429+
tristate "Texas Instruments PCM6240 Family Audio chips based on I2C"
1430+
depends on I2C
1431+
help
1432+
Enable support for Texas Instruments PCM6240 Family Audio chips.
1433+
Note the PCM6240 driver implements a flexible and configurable
1434+
setting for register and filter coefficients, to one, two or
1435+
even multiple PCM6240 Family Audio chips.
1436+
14271437
config SND_SOC_PEB2466
14281438
tristate "Infineon PEB2466 quad PCM codec"
14291439
depends on SPI

sound/soc/codecs/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,7 @@ snd-soc-pcm5102a-objs := pcm5102a.o
204204
snd-soc-pcm512x-objs := pcm512x.o
205205
snd-soc-pcm512x-i2c-objs := pcm512x-i2c.o
206206
snd-soc-pcm512x-spi-objs := pcm512x-spi.o
207+
snd-soc-pcm6240-objs := pcm6240.o
207208
snd-soc-peb2466-objs := peb2466.o
208209
snd-soc-rk3308-objs := rk3308_codec.o
209210
snd-soc-rk3328-objs := rk3328_codec.o
@@ -595,6 +596,7 @@ obj-$(CONFIG_SND_SOC_PCM5102A) += snd-soc-pcm5102a.o
595596
obj-$(CONFIG_SND_SOC_PCM512x) += snd-soc-pcm512x.o
596597
obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o
597598
obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o
599+
obj-$(CONFIG_SND_SOC_PCM6240) += snd-soc-pcm6240.o
598600
obj-$(CONFIG_SND_SOC_PEB2466) += snd-soc-peb2466.o
599601
obj-$(CONFIG_SND_SOC_RK3308) += snd-soc-rk3308.o
600602
obj-$(CONFIG_SND_SOC_RK3328) += snd-soc-rk3328.o

0 commit comments

Comments
 (0)