@@ -35,7 +35,6 @@ config ESPRESSIF_I2S
35
35
config ESPRESSIF_I2S0
36
36
bool "I2S 0"
37
37
default n
38
- depends on !ESP32_I2S && !ESP32S2_I2S && !ESP32S3_I2S
39
38
select ESPRESSIF_I2S
40
39
select I2S
41
40
select ESP32S3_DMA if ARCH_CHIP_ESP32S3
@@ -379,6 +378,7 @@ menu "I2S Configuration"
379
378
380
379
config ESPRESSIF_I2S_MAXINFLIGHT
381
380
int "I2S queue size"
381
+ default ESP32S3_I2S_MAXINFLIGHT if ESP32S3_I2S
382
382
default 4
383
383
---help---
384
384
This is the total number of transfers, both RX and TX, that can be
@@ -390,18 +390,26 @@ if ESPRESSIF_I2S0
390
390
391
391
config ESPRESSIF_I2S0_RX
392
392
bool "Enable I2S receiver"
393
+ default ESP32_I2S0_RX if ESP32_I2S0
394
+ default ESP32S2_I2S_RX if ESP32S2_I2S
395
+ default ESP32S3_I2S0_RX if ESP32S3_I2S0
393
396
default y
394
397
---help---
395
398
Enable I2S receiver (port 0)
396
399
397
400
config ESPRESSIF_I2S0_TX
398
401
bool "Enable I2S transmitter"
402
+ default ESP32_I2S0_TX if ESP32_I2S0
403
+ default ESP32S2_I2S_TX if ESP32S2_I2S
404
+ default ESP32S3_I2S0_TX if ESP32S3_I2S0
399
405
default y
400
406
---help---
401
407
Enable I2S transmitter (port 0)
402
408
403
409
choice ESPRESSIF_I2S0_ROLE
404
410
prompt "I2S0 role"
411
+ default ESPRESSIF_I2S0_ROLE_MASTER if (ESP32_I2S0_ROLE_MASTER || ESP32S2_I2S_ROLE_MASTER || ESP32S3_I2S0_ROLE_MASTER)
412
+ default ESPRESSIF_I2S0_ROLE_SLAVE if (ESP32_I2S0_ROLE_SLAVE || ESP32S2_I2S_ROLE_SLAVE || ESP32S3_I2S0_ROLE_SLAVE)
405
413
default ESPRESSIF_I2S0_ROLE_MASTER
406
414
---help---
407
415
Selects the operation role of the I2S0.
@@ -416,6 +424,10 @@ endchoice # I2S0 role
416
424
417
425
choice ESPRESSIF_I2S0_DATA_BIT_WIDTH
418
426
prompt "Bit width"
427
+ default ESPRESSIF_I2S0_DATA_BIT_WIDTH_8BIT if (ESP32_I2S0_DATA_BIT_WIDTH_8BIT || ESP32S2_I2S_DATA_BIT_WIDTH_8BIT || ESP32S3_I2S0_DATA_BIT_WIDTH_8BIT)
428
+ default ESPRESSIF_I2S0_DATA_BIT_WIDTH_16BIT if (ESP32_I2S0_DATA_BIT_WIDTH_16BIT || ESP32S2_I2S_DATA_BIT_WIDTH_16BIT || ESP32S3_I2S0_DATA_BIT_WIDTH_16BIT)
429
+ default ESPRESSIF_I2S0_DATA_BIT_WIDTH_24BIT if (ESP32_I2S0_DATA_BIT_WIDTH_24BIT || ESP32S2_I2S_DATA_BIT_WIDTH_24BIT || ESP32S3_I2S0_DATA_BIT_WIDTH_24BIT)
430
+ default ESPRESSIF_I2S0_DATA_BIT_WIDTH_32BIT if (ESP32_I2S0_DATA_BIT_WIDTH_32BIT || ESP32S2_I2S_DATA_BIT_WIDTH_32BIT || ESP32S3_I2S0_DATA_BIT_WIDTH_32BIT)
419
431
default ESPRESSIF_I2S0_DATA_BIT_WIDTH_16BIT
420
432
---help---
421
433
Selects the valid data bits per sample.
@@ -438,6 +450,9 @@ endchoice # Bit width
438
450
439
451
config ESPRESSIF_I2S0_SAMPLE_RATE
440
452
int "I2S0 sample rate"
453
+ default ESP32_I2S0_SAMPLE_RATE if ESP32_I2S
454
+ default ESP32S2_I2S_SAMPLE_RATE if ESP32S2_I2S
455
+ default ESP32S3_I2S0_SAMPLE_RATE if ESP32S3_I2S
441
456
default 44100
442
457
range 8000 48000
443
458
---help---
@@ -447,6 +462,9 @@ config ESPRESSIF_I2S0_SAMPLE_RATE
447
462
448
463
config ESPRESSIF_I2S0_BCLKPIN
449
464
int "I2S0 BCLK pin"
465
+ default ESP32_I2S0_BCLKPIN if ESP32_I2S
466
+ default ESP32S2_I2S_BCLKPIN if ESP32S2_I2S
467
+ default ESP32S3_I2S0_BCLKPIN if ESP32S3_I2S
450
468
default 4 if ARCH_CHIP_ESP32S3 || ARCH_CHIP_ESP32
451
469
default 35 if ARCH_CHIP_ESP32S2
452
470
range 0 45 if (ARCH_CHIP_ESP32S2 && ESPRESSIF_I2S0_ROLE_MASTER)
@@ -457,6 +475,9 @@ config ESPRESSIF_I2S0_BCLKPIN
457
475
458
476
config ESPRESSIF_I2S0_WSPIN
459
477
int "I2S0 WS pin"
478
+ default ESP32_I2S0_WSPIN if ESP32_I2S
479
+ default ESP32S2_I2S_WSPIN if ESP32S2_I2S
480
+ default ESP32S3_I2S0_WSPIN if ESP32S3_I2S
460
481
default 5 if ARCH_CHIP_ESP32S3 || ARCH_CHIP_ESP32
461
482
default 34 if ARCH_CHIP_ESP32S2
462
483
range 0 45 if (ARCH_CHIP_ESP32S2 && ESPRESSIF_I2S0_ROLE_MASTER)
@@ -468,15 +489,21 @@ config ESPRESSIF_I2S0_WSPIN
468
489
config ESPRESSIF_I2S0_DINPIN
469
490
int "I2S0 DIN pin"
470
491
depends on ESPRESSIF_I2S0_RX
471
- default 19 if ARCH_CHIP_ESP32S3 || ARCH_CHIP_ESP32
492
+ default ESP32_I2S0_DINPIN if ESP32_I2S0_RX
493
+ default ESP32S2_I2S_DINPIN if ESP32S2_I2S_RX
494
+ default ESP32S3_I2S0_DINPIN if ESP32S3_I2S0_RX
472
495
default 37 if ARCH_CHIP_ESP32S2
496
+ default 19 if ARCH_CHIP_ESP32S3 || ARCH_CHIP_ESP32
473
497
range 0 46 if ARCH_CHIP_ESP32S2
474
498
range 0 48 if ARCH_CHIP_ESP32S3
475
499
range 0 39 if ARCH_CHIP_ESP32
476
500
477
501
config ESPRESSIF_I2S0_DOUTPIN
478
502
int "I2S0 DOUT pin"
479
503
depends on ESPRESSIF_I2S0_TX
504
+ default ESP32_I2S0_DOUTPIN if ESP32_I2S0_TX
505
+ default ESP32S2_I2S_DOUTPIN if ESP32S2_I2S_TX
506
+ default ESP32S3_I2S0_DOUTPIN if ESP32S3_I2S0_TX
480
507
default 18 if ARCH_CHIP_ESP32S3 || ARCH_CHIP_ESP32
481
508
default 36 if ARCH_CHIP_ESP32S2
482
509
range 0 46 if ARCH_CHIP_ESP32S2
@@ -486,13 +513,19 @@ config ESPRESSIF_I2S0_DOUTPIN
486
513
config ESPRESSIF_I2S0_MCLK
487
514
bool "Enable I2S Master Clock"
488
515
depends on ESPRESSIF_I2S0_ROLE_MASTER
516
+ default ESP32_I2S0_MCLK if ESP32_I2S0
517
+ default ESP32S2_I2S_MCLK if ESP32S2_I2S
518
+ default ESP32S3_I2S0_MCLK if ESP32S3_I2S0
489
519
default n
490
520
---help---
491
521
Enable I2S master clock
492
522
493
523
config ESPRESSIF_I2S0_MCLKPIN
494
524
int "I2S MCLK pin"
495
525
depends on ESPRESSIF_I2S0_MCLK
526
+ default ESP32_I2S0_MCLKPIN if ESP32_I2S0_MCLK
527
+ default ESP32S2_I2S_MCLKPIN if ESP32S2_I2S_MCLK
528
+ default ESP32S3_I2S0_MCLKPIN if ESP32S3_I2S0_MCLK
496
529
default 0 if ARCH_CHIP_ESP32S3 || ARCH_CHIP_ESP32
497
530
default 33 if ARCH_CHIP_ESP32S2
498
531
range 0 45 if ARCH_CHIP_ESP32S2
@@ -505,18 +538,24 @@ if ESPRESSIF_I2S1
505
538
506
539
config ESPRESSIF_I2S1_RX
507
540
bool "Enable I2S receiver"
541
+ default ESP32_I2S1_RX if ESP32_I2S1
542
+ default ESP32S3_I2S1_RX if ESP32S3_I2S1
508
543
default y
509
544
---help---
510
545
Enable I2S receiver (port 1)
511
546
512
547
config ESPRESSIF_I2S1_TX
513
548
bool "Enable I2S transmitter"
549
+ default ESP32_I2S1_TX if ESP32_I2S1
550
+ default ESP32S3_I2S1_TX if ESP32S3_I2S1
514
551
default y
515
552
---help---
516
553
Enable I2S transmitter (port 1)
517
554
518
555
choice ESPRESSIF_I2S1_ROLE
519
556
prompt "I2S1 role"
557
+ default ESPRESSIF_I2S1_ROLE_MASTER if (ESP32_I2S1_ROLE_MASTER || ESP32S3_I2S1_ROLE_MASTER)
558
+ default ESPRESSIF_I2S1_ROLE_SLAVE if (ESP32_I2S1_ROLE_SLAVE || ESP32S3_I2S1_ROLE_SLAVE)
520
559
default ESPRESSIF_I2S1_ROLE_MASTER
521
560
---help---
522
561
Selects the operation role of the I2S0.
@@ -531,6 +570,10 @@ endchoice # I2S1 role
531
570
532
571
choice ESPRESSIF_I2S1_DATA_BIT_WIDTH
533
572
prompt "Bit width"
573
+ default ESPRESSIF_I2S1_DATA_BIT_WIDTH_8BIT if (ESP32_I2S1_DATA_BIT_WIDTH_8BIT || ESP32S3_I2S1_DATA_BIT_WIDTH_8BIT)
574
+ default ESPRESSIF_I2S1_DATA_BIT_WIDTH_16BIT if (ESP32_I2S1_DATA_BIT_WIDTH_16BIT || ESP32S3_I2S1_DATA_BIT_WIDTH_16BIT)
575
+ default ESPRESSIF_I2S1_DATA_BIT_WIDTH_24BIT if (ESP32_I2S1_DATA_BIT_WIDTH_24BIT || ESP32S3_I2S1_DATA_BIT_WIDTH_24BIT)
576
+ default ESPRESSIF_I2S1_DATA_BIT_WIDTH_32BIT if (ESP32_I2S1_DATA_BIT_WIDTH_32BIT || ESP32S3_I2S1_DATA_BIT_WIDTH_32BIT)
534
577
default ESPRESSIF_I2S1_DATA_BIT_WIDTH_16BIT
535
578
---help---
536
579
Selects the valid data bits per sample.
@@ -553,6 +596,8 @@ endchoice # Bit width
553
596
554
597
config ESPRESSIF_I2S1_SAMPLE_RATE
555
598
int "I2S1 sample rate"
599
+ default ESP32_I2S1_SAMPLE_RATE if ESP32_I2S
600
+ default ESP32S3_I2S1_SAMPLE_RATE if ESP32S3_I2S
556
601
default 44100
557
602
range 8000 48000
558
603
---help---
@@ -562,13 +607,17 @@ config ESPRESSIF_I2S1_SAMPLE_RATE
562
607
563
608
config ESPRESSIF_I2S1_BCLKPIN
564
609
int "I2S1 BCLK pin"
610
+ default ESP32_I2S1_BCLKPIN if ESP32_I2S
611
+ default ESP32S3_I2S1_BCLKPIN if ESP32S3_I2S
565
612
default 22
566
613
range 0 33 if (ARCH_CHIP_ESP32 && ESPRESSIF_I2S0_ROLE_MASTER)
567
614
range 0 39 if (ARCH_CHIP_ESP32 && ESPRESSIF_I2S0_ROLE_SLAVE)
568
615
range 0 48 if ARCH_CHIP_ESP32S3
569
616
570
617
config ESPRESSIF_I2S1_WSPIN
571
618
int "I2S1 WS pin"
619
+ default ESP32_I2S1_WSPIN if ESP32_I2S
620
+ default ESP32S3_I2S1_WSPIN if ESP32S3_I2S
572
621
default 23
573
622
range 0 33 if (ARCH_CHIP_ESP32 && ESPRESSIF_I2S0_ROLE_MASTER)
574
623
range 0 39 if (ARCH_CHIP_ESP32 && ESPRESSIF_I2S0_ROLE_SLAVE)
@@ -577,27 +626,36 @@ config ESPRESSIF_I2S1_WSPIN
577
626
config ESPRESSIF_I2S1_DINPIN
578
627
int "I2S1 DIN pin"
579
628
depends on ESPRESSIF_I2S1_RX
629
+ default ESP32_I2S1_DINPIN if ESP32_I2S1_RX
630
+ default ESP32S3_I2S1_DINPIN if ESP32S3_I2S1_RX
580
631
default 26
632
+ default ESP32_I2S1_DINPIN if ESP32_I2S1_RX
581
633
range 0 39 if ARCH_CHIP_ESP32
582
634
range 0 48 if ARCH_CHIP_ESP32S3
583
635
584
636
config ESPRESSIF_I2S1_DOUTPIN
585
637
int "I2S1 DOUT pin"
586
638
depends on ESPRESSIF_I2S1_TX
639
+ default ESP32_I2S1_DOUTPIN if ESP32_I2S1_TX
640
+ default ESP32S3_I2S1_DOUTPIN if ESP32S3_I2S1_TX
587
641
default 25
588
642
range 0 39 if ARCH_CHIP_ESP32
589
643
range 0 48 if ARCH_CHIP_ESP32S3
590
644
591
645
config ESPRESSIF_I2S1_MCLK
592
646
bool "Enable I2S Master Clock"
593
647
depends on ESPRESSIF_I2S1_ROLE_MASTER
648
+ default ESP32_I2S1_MCLK if ESP32_I2S1
649
+ default ESP32S3_I2S1_MCLK if ESP32S3_I2S1
594
650
default n
595
651
---help---
596
652
Enable I2S master clock
597
653
598
654
config ESPRESSIF_I2S1_MCLKPIN
599
655
int "I2S1 MCLK pin"
600
656
depends on ESPRESSIF_I2S1_MCLK
657
+ default ESP32_I2S1_MCLKPIN if ESP32_I2S1_MCLK
658
+ default ESP32S3_I2S1_MCLKPIN if ESP32S3_I2S1_MCLK
601
659
default 1 if ARCH_CHIP_ESP32S3
602
660
default 0 if ARCH_CHIP_ESP32
603
661
range 0 48 if ARCH_CHIP_ESP32S3
0 commit comments