technical specification for models including:

PDF

通用异步接收器/发送器 (UART) - ESP32-S2 - — ESP-IDF 编程指南 v5.4.1 文档

数字签名 (DS) - ESP32-S2 - — ESP-IDF 编程指南 v5.4.1 文档

SPI 主机驱动程序 - ESP32-S2 - — ESP-IDF 编程指南 v5.4.1 文档

esp32-s2 technical reference manual cn #spi
ESP32-S2
  1.3
www.espressif.com


ESP32-S2  ESP32-S2  ESP32-S2  aaaab

 · cb · b  PDF b  ­  PDF  ­  PDF  ­  PDF b ·  PDF acaaa aab ·  GoBack cb  Acrobat  PDF c Acrobat Reader  Adobe DC Acrobat  PDF c Firefoxb



No.   I 
1  (ULP) 2 DMA  (DMA)
 II  3  4 eFuse  (eFuse)
 III  5 IO MUX  GPIO  6  7  Boot  (BOOTCTRL) 8  9  10  (SYSTIMER) 11  (TIMG) 12  (WDT) 13 XTAL32K  (XTWDT) 14  (PMS) 15 
 IV  16 SHA  (SHA) 17 AES  (AES) 18 RSA  (AES) 19 HMAC  (HMAC) 20  (DSA) 21  (XTS_AES) 22  (RNG)
 V  23 UART  (UART) 24 SPI  (SPI) 25 I2C  (I2C) 26 I2S  (I2S) 27  (PCNT) 28 USB OTG 29  (TWAI) 30 LED PWM  (LEDC) 31  (RMT)
 VI  32 

GoBack

 
 
          
      
        




3 

ESP32-S2 TRM ( 1.3)


  https://www.espressif.com/documentation/esp32-s2_technical_reference_manual_cn.pdf

GoBack



4 

ESP32-S2 TRM ( 1.3)




GoBack

I 

31

1  (ULP)

32

1.1 

32

1.2 

32

1.3 

34

1.4 

34

1.5 ULP-FSM

36

1.5.1 ULP-FSM 

36

1.5.2 ULP-FSM 

36

1.5.2.1 ALU - 

37

1.5.2.2 ST - 

39

1.5.2.3 LD - 

41

1.5.2.4 JUMP - 

42

1.5.2.5 JUMPR - c R0 

43

1.5.2.6 JUMPS - c

44

1.5.2.7 HALT - 

44

1.5.2.8 WAKE - 

44

1.5.2.9 WAIT - 

45

1.5.2.10 TSENS - 

45

1.5.2.11 ADC -  ADC 

45

1.5.2.12 REG_RD - 

46

1.5.2.13 REG_WR - 

47

1.6 ULP-RISC-V

47

1.6.1 ULP-RISC-V 

47

1.6.2 

48

1.6.3 ULP-RISC-V 

48

1.7 RTC I2C 

49

1.7.1  RTC I2C 

49

1.7.2  RTC I2C 

49

1.7.3  RTC I2C

49

1.7.3.1 I2C 

50

1.7.3.2 I2C_RD - I2C 

50

1.7.3.3 I2C_WR - I2C 

51

1.7.3.4 

51

1.7.4 RTC I2C 

51

1.8 

52

1.8.1 

52

1.8.2 RTC I2C 

52

1.9 

53

1.10 

53

1.10.1 ULP (ALWAYS_ON) 

53



5 

ESP32-S2 TRM ( 1.3)



1.10.2 ULP (RTC_PERI)  1.10.3 RTC I2C (RTC_PERI)  1.10.4 RTC I2C (I2C)  1.11  1.11.1 ULP (ALWAYS_ON)  1.11.2 ULP (RTC_PERI)  1.11.3 RTC I2C (RTC_PERI)  1.11.4 RTC I2C (I2C) 
2 DMA  (DMA)
2.1  2.2  2.3 
2.3.1 DMA  2.3.2  2.3.3  DMA 2.3.4  2.3.5  2.3.6 Internal DMA 2.3.7 EDMA
2.3.7.1  RAM 2.3.8  RAM 2.4 Copy DMA  2.5 UART DMA (UDMA)  2.6 SPI DMA  2.7 I2S DMA  2.8  DMA  2.9 Copy DMA  2.10  DMA  2.11  2.12  2.13 
II 
3 
3.1  3.2  3.3 
3.3.1  3.3.2 
3.3.2.1 Internal ROM 0 3.3.2.2 Internal ROM 1 3.3.2.3 Internal SRAM 0 3.3.2.4 Internal SRAM 1 3.3.2.5 RTC FAST Memory



6 

GoBack
53 54 54 55 55 58 62 64
78 78 78 79 79 79 80 81 81 81 81 82 82 82 83 84 85 85 86 86 86 87 89
111
112 112 112 113 113 114 115 115 115 115 115
ESP32-S2 TRM ( 1.3)



3.3.3
3.3.4 3.3.5

3.3.2.6 RTC SLOW Memory  3.3.3.1  3.3.3.2  3.3.3.3 Cache  DMA   /  3.3.5.1  3.3.5.2  3.3.5.3  /  3.3.5.4 PeriBus1 

4 eFuse  (eFuse)
4.1  4.2  4.3 
4.3.1  4.3.1.1 EFUSE_WR_DIS 4.3.1.2 EFUSE_RD_DIS 4.3.1.3 
4.3.2  4.3.3  4.3.4 
4.3.4.1 eFuse  4.3.4.2 eFuse VDDQ  4.3.4.3 eFuse  4.3.5  4.3.6  4.4  4.5  4.6 

III 

5 IO MUX  GPIO 
5.1  5.2  GPIO 
5.2.1  5.2.2  5.2.3  5.2.4  GPIO  5.3  GPIO  5.3.1  5.3.2  5.3.3  GPIO  5.3.4 Sigma Delta  (SDM)



7 

GoBack
115 116 116 116 117 117 118 118 118 118 120
121 121 121 121 121 124 125 125 126 127 128 128 129 129 130 130 130 131 134
156
157 157 158 158 158 159 160 160 160 160 161 161
ESP32-S2 TRM ( 1.3)



5.3.4.1  5.3.4.2  5.4  GPIO 5.4.1  5.4.2  5.4.3  5.4.3.1  GPIO 5.4.3.2  CPU  GPIO 5.5 IO MUX  I/O  5.5.1  5.5.2  5.6 RTC IO MUX  I/O  5.6.1  5.6.2  5.7 Light-sleep  5.8 Pad Hold  5.9 I/O Pad  5.9.1  5.10  5.11 IO MUX Pad  5.12 RTC IO MUX  5.13  5.14  5.14.1 GPIO  5.14.2 IO MUX  5.14.3 SDM  5.14.4  GPIO  5.14.5 RTC IO MUX  5.15  5.15.1 GPIO  5.15.2 IO MUX  5.15.3 SDM  5.15.4  GPIO  5.15.5 RTC IO MUX 
6 
6.1  6.1.1  6.1.2 
6.2  6.2.1  6.2.2  6.2.3 CPU  6.2.4  6.2.4.1 APB_CLK  6.2.4.2 REF_TICK



8 

GoBack
161 162 162 162 162 163 163 164 165 165 165 165 165 165 166 166 166 166 167 171 172 173 174 174 175 176 177 177 178 178 190 191 193 201
215 215 215 216 216 216 217 218 219 219 220
ESP32-S2 TRM ( 1.3)


6.2.4.3 LEDC_PWM_CLK  6.2.4.4 APLL_SCLK  6.2.4.5 PLL_F160M_CLK  6.2.4.6  6.2.5 Wi-Fi  6.2.6 RTC  6.2.7  PLL  6.3  6.4 
7  Boot  (BOOTCTRL)
7.1  7.2 Boot  7.3 ROM  7.4 VDD_SPI 
8 
8.1  8.2  8.3 
8.3.1  8.3.2 CPU  8.3.3  CPU 
8.3.3.1  Source_X  CPU  8.3.3.2  Source_Xn  CPU  8.3.3.3  CPU  Source_X 8.3.4  CPU  NMI  8.3.5  8.4  8.5  8.6 
9 
9.1  9.2  9.3 
9.3.1  9.3.2  9.3.3  9.3.4 
9.3.4.1  9.3.4.2  9.3.4.3 Flash  9.3.4.4  9.4  9.4.1 



9 

GoBack
220 220 220 220 220 221 221 221 222
223 223 223 224 225
226 226 226 226 226 230 231 231 231 231 231 232 232 232 236
265 265 265 265 267 268 270 271 271 272 272 273 274 274
ESP32-S2 TRM ( 1.3)


9.4.2 RTC  9.4.3  9.4.4  9.4.5  9.5 RTC Boot 9.6  9.7  9.8 
10  (SYSTIMER)
10.1  10.2  10.3  10.4 
10.4.1  10.4.2  10.4.3  10.4.4  10.5  10.6  10.7 
11  (TIMG)
11.1  11.2 
11.2.1 16  11.2.2 64  11.2.3  11.2.4  11.2.5  11.3  11.3.1  11.3.2  11.3.3  11.4  11.5  11.6 
12  (WDT)
12.1  12.2  12.3 
12.3.1  32  12.3.2  12.3.3  12.3.4 Flash 



10 

GoBack
275 276 277 278 278 279 280 282
316 316 316 316 316 317 317 317 317 318 318 319
327 327 328 328 328 328 328 329 329 329 330 330 330 331 333
346 346 346 346 346 347 347 348
ESP32-S2 TRM ( 1.3)


12.4  12.4.1  12.4.2 SWD  12.4.2.1  12.4.2.2 
12.5 
13 XTAL32K  (XTWDT)
13.1  13.2 
13.2.1 XTAL32K  13.2.2 BACKUP32K_CLK 13.3  13.3.1  13.3.2 BACKUP32K_CLK 
14  (PMS)
14.1  14.2  14.3 
14.3.1  14.3.1.1 IBUS  14.3.1.2 DBUS0  14.3.1.3  DMA  14.3.1.4 PeriBus1  14.3.1.5 PeriBus2  14.3.1.6 Cache  14.3.1.7 
14.3.2  14.3.2.1 Cache MMU 14.3.2.2 
14.3.3  14.4  14.5  14.6 
15 
15.1  15.2  15.3 
15.3.1  15.3.2  15.3.3  15.3.4 JTAG  15.3.5  15.3.6 



11 

GoBack
348 348 348 348 349 349
350 350 350 350 350 351 351 351
352 352 352 352 352 353 354 356 356 358 358 359 359 359 360 360 361 361 363
391 391 391 391 391 393 393 393 394 394
ESP32-S2 TRM ( 1.3)



15.4  15.5  15.6 
IV 
16 SHA  (SHA)
16.1  16.2  16.3  16.4 
16.4.1  16.4.2  16.4.3  16.4.4  (Initial Hash Value) 16.4.5  16.4.6 Typical SHA  16.4.7 DMA-SHA  16.4.8  16.4.9  16.5  16.6  16.7 
17 AES  (AES)
17.1  17.2  17.3  17.4 Typical AES 
17.4.1 aa 17.4.2  17.4.3 Typical AES  17.5 DMA-AES  17.5.1 aa 17.5.2  17.5.3  17.5.4  17.5.5  17.5.6  17.5.7 GCM  17.6 GCM  17.6.1 cHash subkey 17.6.2 J0 17.6.3 cAuthenticated Tag 17.6.4 cAAD Block Number  17.6.5  (Remainder Bit Number)



12 

GoBack
395 396 397
412
413 413 413 413 414 414 414 415 416 417 417 419 420 421 421 421 423
427 427 427 427 428 428 429 433 433 434 434 435 435 435 435 436 437 438 438 438 438 438
ESP32-S2 TRM ( 1.3)


17.7  17.8  17.9  17.10 
18 RSA  (AES)
18.1  18.2  18.3 
18.3.1  18.3.2  18.3.3  18.3.4  18.4  18.5  18.6  18.7 
19 HMAC  (HMAC)
19.1  19.2  19.3 
19.3.1  19.3.2  JTAG  19.3.3  19.3.4 HMAC eFuse  19.3.5  HMAC c 19.4 HMAC  19.4.1  19.4.2 HMAC  19.5  19.6  19.7 
20  (DSA)
20.1  20.2  20.3 
20.3.1  20.3.2  20.3.3  20.3.4  20.3.5  20.3.6  DS  20.4  20.5 



13 

GoBack
439 439 439 440
445 445 445 445 445 447 447 448 449 449 449 450
454 454 454 454 454 455 455 456 456 458 458 459 459 460 461
466 466 466 466 466 466 467 467 468 469 469 470
ESP32-S2 TRM ( 1.3)



20.6  20.7 
21  (XTS_AES)
21.1  21.2  21.3 
21.3.1 XTS  21.3.2  Key 21.3.3  21.3.4  21.3.5  21.3.6  21.3.7  21.4  21.5  21.6 
22  (RNG)
22.1  22.2  22.3  22.4  22.5  22.6  22.7 
V 
23 UART  (UART)
23.1  23.2  23.3 
23.3.1 UART  23.3.2 UART  23.3.3 UART RAM 23.3.4 
23.3.4.1  23.3.4.2  23.3.5 UART  23.3.6 AT_CMD  23.3.7 RS485 23.3.7.1  23.3.7.2  23.3.7.3  23.3.8 IrDA



14 

GoBack
470 471
473 473 473 473 474 474 475 475 476 477 477 478 478 479
483 483 483 483 484 484 484 484
486
487 487 487 487 487 488 489 489 490 490 491 492 492 492 493 493 493
ESP32-S2 TRM ( 1.3)



23.3.9  23.3.10 
23.3.10.1  23.3.10.2  23.3.11 UDMA 23.3.12 UART  23.3.13 UCHI  23.4  23.5  23.6 
24 SPI  (SPI)
24.1  24.2 
24.2.1 GP-SPI2  24.2.1.1 GP-SPI2  24.2.1.2 GP-SPI2  24.2.1.3 GP-SPI2 
24.2.2 GP-SPI3  24.2.2.1 GP-SPI3  24.2.2.2 GP-SPI3  24.2.2.3 GP-SPI3 
24.2.3 SPI  24.3  SPI  24.4 GP-SPI2 
24.4.1  24.4.2  24.4.3 c 1-bit  24.4.4 c 1/2/4/8-bit  24.4.5  Flash  RAM 24.4.6  8-bit I8080/MT6800 LCD 24.4.7 DMA  24.4.8  8-bit RGB  LCD 24.4.9 CS  24.5 GP-SPI2  24.5.1  24.5.2  CMD  24.5.3  24.5.4  24.6 GP-SPI2  GP-SPI3  24.7 CPU  24.7.1 CPU  24.7.2 CPU  24.8 DMA  24.9 GP-SPI  24.9.1 GP-SPI 



15 

GoBack
494 494 495 496 496 496 497 498 498 501
543 543 544 544 544 545 545 545 545 546 546 546 546 548 548 550 553 553 554 555 556 559 561 562 562 563 565 565 566 568 568 569 569 570 571
ESP32-S2 TRM ( 1.3)



24.9.2 GP-SPI  24.9.3 GP-SPI  24.9.4 GP-SPI  24.10 SPI  24.11 GP-SPI  24.11.1 GP-SPI  24.11.2 GP-SPI DMA  24.12  24.13  24.14 
25 I2C  (I2C)
25.1  25.2 I2C 
25.2.1 I2C  25.2.2 I2C 
25.2.2.1 TX/RX RAM 25.2.2.1.1 CMD_Controller 25.2.2.2 SCL_FSM 25.2.2.3 SCL_MAIN_FSM 25.2.2.4 DATA_Shifter 25.2.2.5 SCL_Filter  SDA_Filter 25.2.3 I2C  25.3  25.3.1 I2C 7-bit  25.3.2 I2C 10-bit  25.3.3 I2C 7-bit  25.3.4 I2C 7-bit  25.3.5 I2C 7-bit  25.3.6 I2C 10-bit  25.3.7 I2C 7-bit  25.3.8 I2C 7-bit  25.3.9 SCL  25.4  25.5  25.6  25.7 
26 I2S  (I2S)
26.1  26.2  26.3  26.4 I2S 
26.4.1 Philips  26.4.2 MSB  26.4.3 PCM 



16 

GoBack
571 572 573 573 573 575 575 576 576 578
616 616 616 616 617 618 618 619 619 620 620 620 621 621 623 623 624 625 625 626 627 627 628 628 629 630
651 651 651 653 654 654 654 655
ESP32-S2 TRM ( 1.3)



26.5 I2S  26.6 I2S  26.7 I2S /
26.7.1 / 26.7.2 / 26.8  26.8.1 I2S_TX_DMA_EQUAL = 0  26.8.2 I2S_TX_DMA_EQUAL = 1  26.8.3  I2S  26.9  26.9.1 I2S_RX_DMA_EQUAL = 0  26.9.2 I2S_RX_DMA_EQUAL = 1  26.9.3  I2S  26.10 LCD  26.10.1  26.10.2  LCD  26.11 Camera  26.11.1  26.11.2  Camera  26.12 I2S  26.12.1 FIFO  26.12.2 DMA  26.13  26.14  26.15 
27  (PCNT)
27.1  27.2  27.3 
27.3.1  0  27.3.2  0  27.3.3  0  1  27.4  27.5  27.6 
28 USB OTG
28.1  28.2 
28.2.1  28.2.2  (Device)  28.2.3  (Host)  28.3  28.3.1  28.3.2 



17 

GoBack
655 656 657 657 657 658 658 661 663 663 664 665 666 667 667 668 669 669 669 670 670 671 671 671 673
694 694 695 697 697 698 698 699 699 701
707 707 707 707 707 707 708 708 709
ESP32-S2 TRM ( 1.3)



28.3.2.1  &  (CSR) 28.3.2.2 FIFO  28.3.3 FIFO  28.3.3.1  FIFO  28.3.3.2  FIFO 28.3.4  28.3.5 DMA  Slave  28.3.5.1 Slave  28.3.5.2  DMA  28.3.5.3 Scatter/Gather DMA  28.3.6  28.3.6.1 DMA  28.3.6.2 Slave  28.4 OTG 28.4.1 ID  28.4.2 OTG  28.4.3  (SRP) 28.4.3.1 A  SRP 28.4.3.2 B  SRP 28.4.4  (HNP) 28.4.4.1 A  HNP 28.4.4.2 B  HNP 28.5  28.6 
29  (TWAI)
29.1  29.2 
29.2.1 TWAI  29.2.2 TWAI 
29.2.2.1  29.2.2.2  29.2.2.3  29.2.3 TWAI  29.2.3.1  29.2.3.2  29.2.3.3  29.2.4 TWAI  29.2.4.1  29.2.4.2  29.3  29.3.1  29.3.2  29.3.3  29.3.4  29.3.5 



18 

GoBack
709 710 710 710 711 712 713 713 713 713 714 714 714 715 715 715 716 716 717 718 718 719 720 720
721 721 721 722 722 723 724 726 726 726 727 727 728 728 728 729 730 730 730 731 731
ESP32-S2 TRM ( 1.3)


29.3.6  FIFO 29.4 
29.4.1  29.4.1.1  29.4.1.2 
29.4.2  29.4.3 
29.4.3.1  (RXI) 29.4.3.2  (TXI) 29.4.3.3  (EWI) 29.4.3.4  (DOI) 29.4.3.5  (TXI) 29.4.3.6  (ALI) 29.4.3.7  (BEI) 29.4.4  29.4.4.1  29.4.4.2  29.4.4.3  29.4.4.4  29.4.5  FIFO  29.4.6  29.4.6.1  29.4.6.2  29.4.7  29.4.7.1  29.4.7.2  29.4.7.3  29.4.8  29.4.9  29.5  29.6  29.7 
30 LED PWM  (LEDC)
30.1  30.2  30.3 
30.3.1  30.3.2  30.3.3 PWM  30.3.4  30.3.5  30.4  30.5  30.6 



19 

GoBack
731 731 731 731 731 732 732 733 733 733 733 733 734 734 734 734 735 735 736 736 737 737 737 738 738 740 740 740 741 742 742 743
755 755 755 755 755 755 757 758 759 759 759 761
ESP32-S2 TRM ( 1.3)



31  (RMT)
31.1  31.2 
31.2.1 RMT  31.2.2 RMT RAM 31.2.3  31.2.4  31.2.5  31.2.6  31.3  31.4  31.5 

VI 

32 
32.1  32.2 
32.2.1  32.2.2  32.2.3 
32.2.3.1  32.2.3.2 ADC  32.2.4 RTC ADC  32.2.5 DIG ADC  32.2.5.1 DIG ADC  32.2.5.2 DMA 32.2.5.3 ADC  32.2.5.4  32.2.6 SAR ADC2  32.3  32.3.1  32.3.2  32.3.3 DAC  32.3.4  32.3.5  DMA 32.4  32.4.1  32.4.2  32.4.3  32.4.4  32.5  32.6  32.7  32.7.1 SENSOR (RTC_PERI)  32.7.2 SENSOR (DIG_PERI) 



20 

GoBack
767 767 767 767 768 769 769 770 770 770 770 772
781
782 782 782 782 783 784 784 785 785 786 786 788 788 788 789 790 790 790 790 790 791 792 792 792 792 793 793 793 794 794 794
ESP32-S2 TRM ( 1.3)



32.8

 32.8.1 SENSOR (RTC_PERI)  32.8.2 SENSOR (DIG_PERI) 

VII 




  

 




GoBack
796 796 803
814
815
816 816 816 817
819 819 819
820
821



21 

ESP32-S2 TRM ( 1.3)





1.2-1 1.5-1 1.5-2 1.5-3 1.5-4 1.5-5 1.5-6 1.6-1 1.6-2 1.8-1 1.8-2 1.9-1 1.9-2

  ALU   ALU   ALU  - - ADC   ULP-RISC-V   RTC I2C   ULP 

2.3-1 2.11-1

ablock size  Copy DMA  DMA 

3.3-1 3.3-2 3.3-3 3.3-4 3.3-5 3.3-6

    DMA  /   /  

4.3-1 4.3-2 4.3-3 4.3-4 4.3-5 4.3-6 4.3-7 4.4-1

BLOCK0   BLOCK1-10   eFuse  VDDQ  eFuse  eFuse 

5.7-1 5.10-1 5.11-1 5.12-1 5.13-1

IO MUX Light-sleep  GPIO  IO MUX Pad  RTC IO MUX  

6.1-1 6.2-1 6.2-2 6.2-3 6.2-4 6.2-5

 CPU_CLK  CPU_CLK   APB_CLK  REF_TICK



22 

GoBack
33 38 38 39 40 42 46 48 48 52 52 53 53
82 87
114 114 116 118 119 120
121 123 124 127 129 129 130 131
166 167 171 172 173
216 218 218 219 219 220
ESP32-S2 TRM ( 1.3)



6.2-6 LEDC_PWM_CLK 

7.1-1 Strapping / 7.2-1  7.3-1 UART ROM 

8.3-1 8.3-2 8.4-1

CPU aa CPU  

9.3-1 9.3-2 9.3-3 9.4-1 9.4-2 9.4-3 9.6-1

 RTC   RTC    

10.5-1 

11.4-1 64 

14.3-1 SRAM Block  14.3-2 IBUS  SRAM  14.3-3 IBUS  RTC FAST  14.3-4 DBUS0  SRAM  14.3-5 DBUS0  RTC FAST  14.3-6  DMA  SRAM  14.3-7  FIFO  14.3-8 PeriBus1  14.3-9 PeriBus2  RTC SLOW  14.3-10 PMS_PRO_CACHE_1_REG  14.3-11 MMU  14.3-12  14.4-1 

15.3-1 15.3-2 15.3-3 15.4-1

ROM  SRAM   

16.3-1 16.3-2 16.4-4 16.5-1

   SHA 

17.3-1 17.4-1 17.4-2

  



23 

GoBack
220
223 223 224
227 230 232
270 270 274 276 276 277 280
318
331
352 353 354 355 355 356 357 357 358 359 360 361 361
392 392 394 396
414 414 420 421
428 428 428
ESP32-S2 TRM ( 1.3)



17.4-3 17.4-4 17.4-5 17.4-6 17.5-1 17.5-2 17.5-3 17.5-4 17.7-1 17.8-1

Typical AES  AES-128  AES-192  AES-256    TEXT-PADDING DMA AES  AES  AES 

18.3-1 18.4-1 18.5-1

 RSA  RSA 

19.3-1 HMAC  19.5-1 HMAC 

20.4-1 DS  20.5-1 DS 

21.3-1 21.3-2 21.4-1

Key   

22.5-1 

23.4-1 UART0aUART1  UHCI 

24.3-1 24.4-1 24.4-2 24.4-2 24.4-3 24.4-4 24.4-5 24.5-1 24.5-1 24.5-2 24.6-1 24.6-1 24.9-1 24.9-2 24.10-1 24.11-1 24.11-2 24.12-1

GP-SPI2  GP-SPI3  1/2-bit  4/8-bit  4/8-bit  CONF  GP-SPI   CONF bufferi   VS  GP-SPI2  SPI  CMD  GP-SPI2  SPI  CMD  GP-SPI2  QPI  CMD   GP-SPI3   GP-SPI3  GP-SPI  GP-SPI  SPI  GP-SPI  GP-SPI  SPI0aSPI1aGP-SPI2  GP-SPI3 

25.5-1 I2C 



24 

GoBack
429 431 431 432 433 433 434 435 439 439
449 449 449
456 459
470 470
474 476 478
484
498
547 550 550 551 557 558 559 564 565 565 567 568 572 572 573 574 574 576
629
ESP32-S2 TRM ( 1.3)



26.2-1 26.8-1 26.8-2 26.8-3 26.9-1 26.9-2 26.13-1

  I2S_TX_DMA_EQUAL = 0  I2S_TX_DMA_EQUAL = 1  I2S_RX_DMA_EQUAL = 0   I2S_RX_DMA_EQUAL = 1  ESP32-S2 I2S 

27.2-1 27.2-2 27.2-3 27.2-4 27.4-1

    PCNT 

28.3-1 28.4-1 28.5-1

Slave  IN  OUT  UTMI OTG  USB 

29.2-1 SFF  EFF  29.2-2  29.2-3  29.2-4  29.2-5  29.4-1 TWAI_CLOCK_DIVIDER_REG  bit ; TWAI  0x18 29.4-2 TWAI_BUS_TIMING_1_REG  bit ; TWAI  0x1c 29.4-3 SFF  EFF  29.4-4 TX/RX  (SFF/EFF)TWAI  0x40 29.4-5 TX/RX  1 (SFF); TWAI  0x44 29.4-6 TX/RX  2 (SFF); TWAI  0x48 29.4-7 TX/RX  1 (EFF); TWAI  0x44 29.4-8 TX/RX  2 (EFF); TWAI  0x48 29.4-9 TX/RX  3 (EFF); TWAI  0x4c 29.4-10 TX/RX  4 (EFF); TWAI  0x50 29.4-11 TWAI_ERR_CODE_CAP_REG  bit ; TWAI  0x30 29.4-12 SEG.4 - SEG.0  29.4-13 TWAI_ARB LOST CAP_REG ; TWAI  0x2c 29.5-1 TWAI 

30.3-1  30.4-1 LED PWM 

31.3-1 RMT 

32.2-1 32.2-2 32.2-3 32.2-4 32.2-5

ADC  SAR ADC   I  DMA  II  DMA 



25 

GoBack
652 660 661 662 665 666 671
696 696 696 696 699
714 715 720
724 725 725 726 728 732 732 734 735 735 735 735 735 736 736 740 741 741 742
757 759
770
784 784 787 788 788
ESP32-S2 TRM ( 1.3)


32.4-1  32.6-1  32.8-4 ENA/RAW/ST 

GoBack
793 793 820



26 

ESP32-S2 TRM ( 1.3)





1.1-1 1.2-1 1.3-1 1.4-1 1.4-2 1.5-1 1.5-2 1.5-3 1.5-4 1.5-5 1.5-6 1.5-7 1.5-8 1.5-9 1.5-10 1.5-11 1.5-12 1.5-13 1.5-14 1.5-15 1.5-16 1.5-17 1.5-18 1.5-19 1.5-20 1.7-1 1.7-2

   ULP  ULP  ULP-FSM   -  ALU   -  ALU   -  ALU   - ST  -  (ST-OFFSET)  -  (ST-AUTO-DATA) MEM[Rdst + Offset]   -   - LD  - JUMP  - JUMPR  - JUMPS  - HALT  - WAKE  - WAIT  - TSENS  - ADC  - REG_RD  - REG_WR I2C  I2C 

2.1-1 2.3-1 2.3-2 2.3-3 2.3-4 2.4-1 2.5-1 2.6-1

 DMA  DMA    EDMA  RAM  Copy DMA  UDMA  SPI DMA

3.2-1 3.3-1

 Cache 

4.3-1 4.3-2 4.3-3 4.3-4

c 32  c 12  eFuse  eFuse 



27 

GoBack
32 33 34 35 36 37 37 38 39 39 40 40 41 41 42 42 43 44 44 44 45 45 45 46 47 50 51
78 79 79 81 82 83 83 84
113 117
125 125 129 130
ESP32-S2 TRM ( 1.3)



5.1-1 5.2-1 5.2-2 5.4-1

IO MUXaRTC IO MUX  GPIO  GPIO  clock  GPIO   GPIO 

6.1-1 6.2-1

 

8.2-1 

9.3-1 9.3-2 9.3-3 9.3-4 9.3-5 9.3-6 9.3-7 9.3-8 9.4-1 9.5-1

  RTC  RTC    Flash   RTC  ESP32-S2 

10.4-1 

11.1-1 

12.4-1 

13.1-1 XTAL32K 

17.6-1 GCM 

19.4-1 HMAC  19.4-2 HMAC 

20.3-1 

21.3-1 

22.3-1 

23.3-1 UART  23.3-2 UART  RAM  23.3-3 UART  23.3-4 UART  23.3-5 UART  23.3-6 AT_CMD  23.3-7 RS485  23.3-8 SIR  23.3-9 IrDA  23.3-10 



28 

GoBack
157 158 159 163
215 217
226
267 268 269 269 271 272 273 274 275 279
317
327
348
350
437
458 459
467
473
483
488 489 490 491 491 492 493 494 494 495
ESP32-S2 TRM ( 1.3)



GoBack

23.3-11 

495

24.1-1 SPI 

543

24.3-1 GP-SPI2/GP-SPI3 

547

24.4-1 GP-SPI2 

549

24.4-2 GP-SPI2  SPI 

553

24.4-3 4-bit  GP-SPI2  Flash  RAM

554

24.4-4 GP-SPI2  Flash  SPI Quad 

555

24.4-5 GP-SPI2  8-bit LCD 

555

24.4-6  8-bit LCD 

556

24.4-7 DMA 

556

24.4-8  RGB 8-bit LCD 

560

24.4-9  RGB 8-bit LCD 

560

24.4-10 GP-SPI2  RAM  CS 

561

24.4-11 GP-SPI2  Flash  CS 

562

24.7-1 CPU  Buffer

568

24.9-1 SPI  0  2

571

24.9-2 SPI  1  3

572

25.2-1 I2C Master 

617

25.2-2 I2C Slave 

617

25.2-3 I2C 

618

25.2-4 I2C 

620

25.3-1 I2C Master  7-bit  Slave

621

25.3-2 I2C Master  10-bit  Slave

623

25.3-3 I2C Master  7-bit  Slave  M  RAM

623

25.3-4 I2C Master  7-bit  Slave

624

25.3-5 I2C Master  7-bit  Slave

625

25.3-6 I2C Master  10-bit  Slave

625

25.3-7 I2C Master  7-bit  Slave  M  N 

626

25.3-8 I2C Master  7-bit  Slave

627

26.2-1 ESP32-S2 I2S 

651

26.4-1 Philips 

654

26.4-2 MSB 

654

26.4-3 PCM 

655

26.5-1 I2S 

655

26.8-1  I2S_TX_DMA_EQUAL ESP32-S2 I2S 

659

26.8-2 I2S_TX_CHAN_MOD[2:0] = 0  I2S_TX_DMA_EQUAL = 0 ESP32-S2 I2S 



660

26.8-3 I2S_TX_DMA_EQUAL = 1 ESP32-S2 I2S 

662

26.9-1 I2S_RX_DMA_EQUAL = 0 ESP32-S2 I2S 

664

26.9-2 I2S_RX_DMA_EQUAL = 0 ESP32-S2 I2S 

665

26.9-3 I2S_RX_DMA_EQUAL = 1 ESP32-S2 I2S 

666

26.10-1 LCD 

668

26.10-2 LCD  1

668

26.10-3 LCD  2

669



29 

ESP32-S2 TRM ( 1.3)



26.11-1 Camera 

27.0-1 27.2-1 27.3-1 27.3-2 27.3-3

PCNT  PCNT   0   0  

28.3-1 28.3-2 28.3-3 28.3-4 28.3-5 28.3-6 28.4-1 28.4-2 28.4-3 28.4-4

OTG_FS    FIFO  FIFO OTG_FS  Scatter/Gather DMA  A  SRP B  SRP A  HNP B  HNP

29.2-1 29.2-2 29.2-3 29.2-4 29.2-5 29.3-1 29.4-1 29.4-2 29.4-3 29.4-4 29.4-5

     TWAI       bit 

30.3-1 30.3-2 30.3-3 30.3-4 30.3-5

LED_PWM  LED_PWM  LED_PWM  LED_PWM  

31.2-1 31.2-2 31.2-3

RMT  RMT  RAM 

32.2-1 32.2-2 32.2-3 32.2-4 32.3-1 32.3-2 32.4-1

SAR ADC  SAR ADC  RTC ADC  DIG ADC  DAC   



30 

GoBack
669
694 695 697 698 698
708 709 711 711 712 713 716 717 718 719
723 725 725 726 728 729 737 738 739 739 742
756 756 757 758 758
767 768 768
783 784 785 787 791 791 792
ESP32-S2 TRM ( 1.3)

GoBack
I 
a (DMA) b



31 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

1  (ULP)

1.1 
 (ULP, Ultra-Low-Power coprocessor)  Deep-sleep c RTC  RTC a RTC b CPU   RTCIOaRTC I2CaSAR ADCa (TSENS)   CPUb

Enable by ULP or Main CPU

ESP32-S2

Enable with RTC GPIO

ULP Timer

Wakeup

ULP

Wakeup

Main CPU

TSENS

RTC GPIO TOUCH ADC RTC I2C

Monitor / Control
 1.1-1. 
ESP32-S2  (FSM)  ULP c ULP-FSM RISC-V  ULP c ULP-RISC-Vb

1.2 
·  8 KB SRAM RTC  ·  8 MHz RTC_FAST_CLK  ·  Monitor 



32 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

·  CPU  CPU  · a RTC  ULP-FSM  ULP-RISC-V  ESP32-S2 b ULP-FSM  ULP-RISC-V 



cRTC 







 Monitor 



 



ULP-FSM

ULP-RISC-V

8 KB

8 MHz

ULP 

 CPU 



ADC1/ADC2

DAC1/DAC2

RTC I2C

RTC GPIO







RISC-V



 C 

 1.2-1. 

ESP32-S2  RTC  RTC b CPU   CPU  CPUbESP32-S2  1.2-1b



 1.2-1. 
33 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

1.3 
ULP-RISC-V  C  RV32IMC bULP-RISC-V  RV32IMC bULP-FSM  ULP-FSM  1.5.2b

 1.3-1. 

1.4 

ESP32-S2  CPU  CPU b  Deep-sleep b
1.  RTC  2.  RTC_CNTL_COCPU_SEL 
· 0 ULP-RISC-V · 1 ULP-FSM 3.  ULP-RISC-V RTC_CNTL_COCPU_CLK_FO 4.  RTC_CNTL_ULP_CP_TIMER_1_REG  5.  ·  RTC_CNTL_ULP_CP_SLP_TIMER_EN · RTC GPIO  RTC_CNTL_ULP_CP_GPIO_WAKEUP_ENA  RTC GPIO 
b 9 b 6.  CPU b  Deep-sleep  1.  Monitor 



34 

ESP32-S2 TRM ( 1.3)

 1   (ULP)
2. b 3.  Deep-sleep  4. b  Monitor  1.4-1

GoBack

 1.4-1. ULP 
1.  2. b Run  3.  HALT  HALT b
 · ULP-RISC-V  HALT  RTC_CNTL_COCPU_DONE · ULP-FSM  HALT  HALT b
4.  Monitor b ·  RTC_CNTL_ULP_CP_SLP_TIMER_EN · RTC GPIO  RTC_CNTL_ULP_CP_GPIO_WAKEUP_ENA RTC_CNTL_ULP_CP_GPIO_WAKEUP_CLRb b
  ULP-RISC-V  HALT  RTC_CNTL_COCPU_DONE 
·  RTC_CNTL_COCPU_DONE ULP-RISC-V  ULP-RISC-V  ·  RTC_CNTL_COCPU_SHUT_RESET_EN ULP-RISC-Vb
 ULP-RISC-V b  1.4-2b



35 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

 1.4-2. ULP 

1.5 ULP-FSM
1.5.1 ULP-FSM 
ULP-FSM  CPU  Deep-sleep b CPU bULP-FSM  RTC  bULP-FSM  8 KB SRAM RTC cCPU b  CPU bULP-FSM  HALT b ULP-FSM 
·  4  16  (R0 ~ R3)b ·  1  8  Stage_cnt ALU  JUMP b ·  SAR ADCb
1.5.2 ULP-FSM 
ULP-FSM  · ALU -  · LDaSTaREG_RD  REG_WR -  · JUMP -  · WAIT  HALT -  · WAKE -  CPU  CPU 



36 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

· TSENS  ADC - 

ULP-FSM  1.5-1b

OpCode

31

28 27

Operands

GoBack
0

 1.5-1. ULP-FSM 

 Operands  OpCode bALU  10  JUMP aab
ULP-FSM  32 bb  32 b 1  0x5000_0000  0x5000_1FFF (8 KB) CPU b

1.5.2.1 ALU - 

 (ALU)  b

·  -  (ADD)  (SUB)

·  -  (AND)  (OR)

·  -  (LSH)  (RSH)

·  -  (MOVE)

·  - STAGE_RSTaSTAGE_INC  STAGE_DEC

 OpCode  7 [27:21] b



31

28 27 26 25 24

7

0

ALU_sel
21 20

Rsrc2 Rsrc1 Rdst

65

43

21

0

 1.5-2.  -  ALU 

 1.5-2  [27:26]  0 ALU  R[0-3]   ALU_sel [24:21]  1.5-1b

Operand Rdst Rsrc1 Rsrc2 ALU_sel

 -  1.5-2  R[0-3]  R[0-3]  R[0-3] ALU  1.5-1



37 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

ALU_sel 0 1 2 3 4 5 6

 ADD SUB AND OR MOVE LSH RSH

 Rdst = Rsrc1 + Rsrc2 Rdst = Rsrc1 - Rsrc2 Rdst = Rsrc1 & Rsrc2 Rdst = Rsrc1 | Rsrc2 Rdst = Rsrc1 Rdst = Rsrc1 « Rsrc2 Rdst = Rsrc1 » Rsrc2

       

 1.5-1.  ALU 

GoBack



· ADD  SUB  ALU b

·  ALU  ALU b



ALU_sel

Imm

31

28 27 26 25 24

21 20 19

7

1

 1.5-3.  -  ALU 

Rsrc1 Rdst

43

21

0

 1.5-3  [27:26]  1 ALU  R[0-3]  [19:4]  b ALU_sel [24:21]  1.5-2b

Operand Rdst Rsrc1 Imm ALU_sel

 -  1.5-3  R[0-3]  R[0-3] 16  ALU  1.5-2

ALU_sel 0 1 2 3 4 5 6

 ADD SUB AND OR MOVE LSH RSH

 Rdst = Rsrc1 + Imm Rdst = Rsrc1 - Imm Rdst = Rsrc1 & Imm Rdst = Rsrc1 | Imm Rdst = Imm Rdst = Rsrc1 « Imm Rdst = Rsrc1 » Imm

       

 1.5-2.  ALU 



· ADD  SUB  ALU b ·  ALU  ALU b



38 

ESP32-S2 TRM ( 1.3)

 1   (ULP)



ALU_sel

31

28 27 26 25 24

21 20

7

2

12 11

Imm
43

 1.5-4.  -  ALU 

GoBack
0

 1.5-4  [27:26]  2 ALU  8  Stage_cnt a  ALU_sel [24:21]  1.5-4bStage_cnt   1.5-4 b

Operand Imm ALU_sel Stage_cnt

 -  1.5-4 8  ALU  1.5-4  8 

ALU_sel 0 1 2

 STAGE_INC STAGE_DEC STAGE_RST

 Stage_cnt = Stage_cnt + Imm Stage_cnt = Stage_cnt - Imm Stage_cnt = 0

   

 1.5-3.  ALU 

  JUMPS  for b 

STAGE_RST

// 

STAGE_INC

//  ++

{...}

//  n 

JUMPS (step = n, cond = 0, threshold = m) //  m STAGE_INC

 m  for b

1.5.2.2 ST - 

manulo_fefsnetw_sr_eatuto

31

28 27 26 25 24

6

21 20

offset

wr_way upper label

Rsrc

Rdst

10 9 8

765

43

21

0

 1.5-5.  - ST



39 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Operand Rdst Rsrc label upper wr_way offset wr_auto offset_set manul_en

 -  1.5-5  R[0-3] 32   R[0-3] 16   2  01 01 label3 label 11  32   offset b01b 



offset

31

28 27

25 24

21 20

10 9

0

6

3

 1.5-6.  -  (ST-OFFSET)

Operand  -  1.5-6 offset 11  32 b

31

28 27

25 24

6

1

wr_way

label

Rsrc

Rdst

98

765

43

21

0

 1.5-7.  -  (ST-AUTO-DATA)

Operand Rdst Rsrc label wr_way


 -  1.5-7  R[0-3] 32   R[0-3] 16   2  01 label3 label

 ST-OFFSET  ST-AUTO-DATA  Rsrc  16  Rdst + Offset  1.5-4b ST-AUTO-DATA  write_cnt b

wr_way 0 1 1 3 3

write_cnt *    

 Mem [Rdst + Offset]{31:0} ={PC[10:0], 3'b0, Label[1:0], Rsrc[15:0]} Mem [Rdst + Offset]{15:0} = {Label[1:0],Rscr[13:0]} Mem [Rdst + Offset]{31:16} = {Label[1:0],Rscr[13:0]} Mem [Rdst + Offset]{15:0} = Rscr[15:0] Mem [Rdst + Offset]{31:16} = Rscr[15:0]

   label   label   label   label 

 1.5-4. -



40 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack


PC 
31

21 20

label
18 17 16 15

0

Rsrc 
0

 1.5-8. MEM[Rdst + Offset] 

 [15:0] [17:16] [20:18] [31:21]


 -  1.5-8  Rsrc   2   3'b0  PC  32 

·  ST-AUTO-DATAOffset  1b

·  ST-AUTO-DATAOffset  1 b

·  32 b

· Mem  RTC_SLOW_MEM ULP  0  CPU  0x50000000b



31

28 27

25 24

6

4

21 20

offset

wr_way upper label

Rsrc

Rdst

10 9 8

765

43

21

0

 1.5-9.  - 

Operand Rdst Rsrc label upper wr_way offset


 -  1.5-9  R[0-3] 32   R[0-3] 16   2  01 01 label3 label 11  32 

b 1.5-5b

1.5.2.3 LD - 

rd_upper

31

28 27 26

13

21 20

offset
10 9

Rsrc

Rdst

43

21

0



41 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

wr_way 0 1 1 3 3

upper * 0 1 0 1

 Mem [ Rdst + Offset ]{31:0} ={PC[10:0], 3'b0, Label[1:0], Rsrc[15:0]} Mem [ Rdst + Offset ]{15:0} = {Label[1:0],Rscr[13:0]} Mem [ Rdst + Offset ]{31:16} = {Label[1:0],Rscr[13:0]} Mem [ Rdst + Offset ]{15:0} = Rsrc[15:0] Mem [ Rdst + Offset ]{31:16} = Rsrc[15:0]

   label   label   label   label 

 1.5-5. -

 1.5-10.  - LD

Operand Rdst Rsrc Offset rd_upper


 -  1.5-10  R[0-3]  R[0-3] 32  11  32   1 -  0 - 

 rd_upper  Rsrc + Offset  Rdst

Rdst[15:0] = Mem[Rsrc + Offset]


·  32 b ·  Mem  RTC_SLOW_MEM ULP  0  CPU 
0x50000000b

1.5.2.4 JUMP - 

Type

Sel

31

28 27 26 25 24

22 21 20

8

1

13 12
 1.5-11.  - JUMP

ImmAddr

Rdst

21

0



42 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

Operand Rdst ImmAddr Sel
Type

 -  1.5-11  R[0-3] 11  32   0 - ImmAddr  1 - Rdst   0 -  1 -  ALU  2 -  ALU 



 32 b

  ULP-FSM b

1.5.2.5 JUMPR - c R0 

31

28 27 26 25

8

0

Step

Cond

18 17 16 15

Threshold

 1.5-12.  - JUMPR

GoBack
0

Operand Threshold Cond
Step

 -  1.5-12 c Cond  0 -  R0 < Threshold 1 -  R0 > Threshold 2 -  R0 = Threshold  32   Step[7] = 0 PC = PC + Step[6:0]  Step[7] = 1 PC = PC - Step[6:0]



 32 b

 c R0  Threshold  1  b



43 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

1.5.2.6 JUMPS - c

31

28 27 26 25

8

2

Step

Cond

18 17 16 15

Threshold

 1.5-13.  - JUMPS

GoBack
0

Operand Threshold Cond
Step


 -  1.5-13 c Cond  1X -  Stage_cnt <= Threshold 00 -  Stage_cnt < Threshold 01 -  Stage_cnt >= Threshold  32   Step[7] = 0 PC = PC + Step[6:0]  Step[7] = 1 PC = PC - Step[6:0]

·  1.5.2.1 ALU b
·  32 b
 c Stage_cnt  Threshold   1 b

1.5.2.7 HALT - 

31

28 27

0

11

 1.5-14.  - HALT

  ULP-FSM b
 ULP b

1.5.2.8 WAKE - 

31

28 27 26 25

9

0

 1.5-15.  - WAKE

10
1'b1



44 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

  ULP-FSM  RTC b
·  Deep-sleep b
·  Deep-sleep  RTC_CNTL_INT_ENA_REG  RTC_CNTL_ULP_CP_INT_ENA  RTC b

1.5.2.9 WAIT - 

31

28 27

4

16 15

Cycles

 1.5-16.  - WAIT

GoBack
0

Operand  -  1.5-16 Cycles    ULP-FSM b

1.5.2.10 TSENS - 

31

28 27

10

16 15

Wait_Delay

 1.5-17.  - TSENS

Rdst

21

0

Operand Rdst Wait_Delay

 -  1.5-17  R[0-3] 

  Wait_Delay b  1 b

1.5.2.11 ADC -  ADC 

31

28 27

5

 1.5-18.  - ADC

Sel
765

Sar_Mux

Rdst

21

0



45 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

Operand Rdst Sar_Mux Sel

 -  1.5-18  R[0-3]b  SAR ADC  [Sar_Mux - 1] 1.5-6b  ADCb0 SAR ADC11 SAR ADC2 1.5-6b

 1.5-6. ADC 

 /  / GPIO GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 GPIO6 GPIO7 GPIO8 GPIO9 GPIO10 GPIO11 GPIO12 GPIO13 GPIO14 XTAL_32k_P XTAL_32k_N DAC1 DAC2 GPIO19 GPIO20

Sar_Mux 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

ADC cSel Sel = 0 SAR ADC1
Sel = 1 SAR ADC2

1.5.2.12 REG_RD - 

31

28 27

2

High
23 22

Low
18 17

Addr
10 9

 1.5-19.  - REG_RD

GoBack
0

Operand Addr Low High


 -  1.5-19  32   

 16 b

R0 = REG[Addr][High:Low]



46 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

 16  High - Low + 1 > 16 [Low+15:Low] b 
·  RTC_CNTLaRTC_IOaSENS  RTC_I2C bULP   (addr_peribus1) addr_ulp = (addr_peribus1 - DR_REG_RTCCNTL_BASE) / 4

· addr_ulp  32 c0  DR_REG_RTCCNTL_BASEc CPU b 10  ULP  4096  DR_REG_RTCCNTL_BASEa DR_REG_RTCIO_BASEaDR_REG_SENS_BASE  DR_REG_RTC_I2C_BASE b

1.5.2.13 REG_WR - 

31

28 27

1

High
23 22

Low
18 17

Data
10 9

 1.5-20.  - REG_WR

Addr
0

Operand Addr Data Low High


 -  1.5-20  32  8   

 8  (Data)b

REG[Addr][High:Low] = Data

 8  High - Low + 1 > 8 8  0b   addr_ulp  1.5.2.12 b

1.6 ULP-RISC-V
1.6.1 ULP-RISC-V 
·  RV32IMC  · 32  32  · 32  · 



47 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

1.6.2 
ULP-RISC-V   1.6-1. 

 


 MUL MULH MULHU MULHSU DIV DIVU REM REMU

 34 66 66 66 34 34 34 34

  32  32   32  32   32  32  32  32   32   32   32   32 

1.6.3 ULP-RISC-V 
ESP32-S2 a RTC I2C  ULP-RISC-Vb SENS_SAR_COCPU_INT_ENA_REG  1.6-2 


0 1 2 3 4 5 6 7 8


TOUCH_DONE_INT TOUCH_INACTIVE_INT TOUCH_ACTIVE_INT SARADC1_DONE_INT SARADC2_DONE_INT TSENS_DONE_INT RISCV_START_INT SW_INT SWD_INT

    SAR ADC1  SAR ADC2   ULP-RISC-V   

 1.6-2. ULP-RISC-V 


· ULP-RISC-V  RTC_IO  RTC_IO  b RTCIO_GPIO_PINn_INT_TYPE b RTC_IO  IO MUX  GPIO b
· RTC_IO  RTCIO_RTC_GPIO_STATUS_INT  RTC_IO  b
·  RTC_CNTL_COCPU_SW_INT_TRIGGER b · RTC I2C  1.7.4b ·  0x10 0x0b ULP-RISC-V  1.  PC  Q0



48 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

2.  Q1
3.  (0x10)
 Q2  Q3 b  retirq  Q0bULP  retirq  b

1.7 RTC I2C 
ULP  RTC I2C  I2C b
1.7.1  RTC I2C 
SDA  SCL  RTCIO_SAR_I2C_IO_REG  2  GPIO c4   IO MUX  GPIO  RTC_MUX b
1.7.2  RTC I2C 
ULP  I2C  RTC I2C  RTC I2C  b CPU  ULP b
1.  RTC_I2C_SCL_LOW_PERIOD_REG  RTC_I2C_SCL_HIGH_PERIOD_REG  RTC_FAST_CLK   SCL c 100 kHz  RTC_I2C_SCL_LOW_PERIOD_REG = 40aRTC_I2C_SCL_HIGH_PERIOD_REG = 40b
2.  RTC_FAST_CLK  RTC_I2C_SDA_DUTY_REG  SDA c RTC_I2C_SDA_DUTY_REG = 16b
3.  RTC_I2C_SCL_START_PERIOD_REG c RTC_I2C_SCL_START_PERIOD_REG = 30b
4.  RTC_I2C_SCL_STOP_PERIOD_REG c RTC_I2C_SCL_STOP_PERIOD_REG = 44b
5.  RTC_I2C_TIME_OUT_REG cRTC_I2C_TIME_OUT_REG = 200b 6.  RTC_I2C_CTRL_REG  RTC_I2C_MS_MODE b 7. 
·  CPU  ULP-RISC-V SENS_SAR_I2C_SLAVE_ADDRb ·  ULP-FSM SENS_I2C_SLAVE_ADDRn (n: 0-7)b  8 b 1  I2C b  RTC I2C  CPU  I2C b
1.7.3  RTC I2C



49 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

1.7.3.1 I2C 
RTC I2C  I2C0/I2C1 c I2C  CMD_Controllerb RTC I2C 
·  0 ~  1I2C  ·  2 ~  6I2C   7 b

1.7.3.2 I2C_RD - I2C 
 I2C  ·  I2C a (byte_num) b I2C  I2C0/I2C1 b ·  SENS_SAR_I2C_REG_ADDR b ·  SENS_SAR_I2C_START_FORCE SENS_SAR_I2C_START  I2C b ·  RTC_I2C_RX_DATA_INT  (RTC_I2C_RDATA)  SRAM RTC  b
I2C_RD  1.7-1 1.  (START)  2. /c/ 0opb  SENS_I2C_SLAVE_ADDRn  3.  (ACK)  4.  5.  6.  (RSTART)  7. / 1op 8.  1  9. b b 8b
10.  (STOP) b

START ACK ACK
RSTRT NACK STOP

Master Slave

1

2

3

4

56

7

Slave Address W

Reg Address

Slave Address R

 1.7-1. I2C 

8

9 10

Data(n)

 RTC I2C  SCL  SDA b SDA  0.38 ms  b



50 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

1.7.3.3 I2C_WR - I2C 
 I2C  ·  I2C a (byte_num) b  I2C  I2C0/I2C1  ·  SENS_SAR_I2C_REG_ADDR  ·  hyperref[fielddesc:SENSSARI2CWDATA]SENS_SAR_I2C_WDATA  ·  SENS_SAR_I2C_START_FORCE SENS_SAR_I2C_START  I2C  ·  RTC_I2C_TX_DATA_INT  (SENS_SAR_I2C_WDATA)b
I2C_WR  1.7-2 1.  2. /c/ 0opb  SENS_I2C_SLAVE_ADDRn  3.  4.  5.  6.  7. / 0op 8.  1  9.  b 8
10. b

START ACK ACK
RSTRT ACK
STOP

Master Slave

1

2

3

4

56

7

Slave Address W

Reg Address

Slave Address W

8 Data(n)

9 10

 1.7-2. I2C 

1.7.3.4 
 RTC_I2C_INT_ST_REG b  RTC_I2C_INT_ENA_REG b 1b  RTC_I2C_INT_ST_REG  RTC_I2C_INT_CLR_REG b
1.7.4 RTC I2C 
· RTC_I2C_SLAVE_TRAN_COMP_INTb · RTC_I2C_ARBITRATION_LOST_INTb



51 

ESP32-S2 TRM ( 1.3)

 1   (ULP)
· RTC_I2C_MASTER_TRAN_COMP_INTb · RTC_I2C_TRANS_COMPLETE_INT STOP b · RTC_I2C_TIME_OUT_INTb · RTC_I2C_ACK_ERR_INT ACK b · RTC_I2C_RX_DATA_INTb · RTC_I2C_TX_DATA_INTb · RTC_I2C_DETECT_START_INTb

GoBack

1.8 

1.8.1 
 1.8-1 b 3  b

 1.8-1. 

 ULP (ALWAYS_ON) ULP (RTC_PERI)

 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2

 0x3F408000 0x60008000 0x3F408800 0x60008800


· ULP(ALWAYS_ON)  RTC_PERI c 9  b
· ULP(RTC_PERI)  RTC_PERI  RTC_PERI c 9  b

1.8.2 RTC I2C 
 RTC I2C RTC_PERI  I2C RTC_PERI b  1.8-2 b 3 b

 1.8-2. RTC I2C 

 RTC I2C (RTC_PERI) RTC I2C (I2C)

 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2

 0x3F408800 0x60008800 0x3F408C00 0x60008C00



52 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

1.9 

 1.9-1  ULP b

 1.9-1. 

 RTC Control RTC GPIO ADC, Touch, TSENS RTC I2C

 DR_REG_RTCCNTL_BASE DR_REG_RTC_IO_BASE DR_REG_SENS_BASE DR_REG_RTC_I2C_BASE

 0x3F408000 0x3F408400 0x3F408800 0x3F408C00

ULP-FSM  0x8000 0x8400 0x8800 0x8C00

ULP-RISC-V  0x8000 0xA400 0xC800 0xEC00

 1.9-2  ULP b

 1.9-2. ULP 

 RTC CNTL  RTC GPIO  ARCaTouchaTSENS  RTC I2C 

  9   5 IO MUX  GPIO   32   1.10  

1.10 
cb 1.8 b

1.10.1 ULP (ALWAYS_ON) 

 ULP  RTC_CNTL_ULP_CP_TIMER_REG RTC_CNTL_ULP_CP_TIMER_1_REG ULP-FSM  RTC_CNTL_ULP_CP_CTRL_REG ULP-RISC-V  RTC_CNTL_COCPU_CTRL_REG

   ULP-FSM  ULP-RISC-V 





0x00F8  0x0130 /

0x00FC /

0x0100 

1.10.2 ULP (RTC_PERI) 

 ULP-RISC-V  SENS_ SAR_COCPU_INT_RAW_REG SENS_SAR_COCPU_INT_ENA_REG


ULP-RISC-V  ULP-RISC-V 





0x0128  0x012C /



53 

ESP32-S2 TRM ( 1.3)

 1   (ULP)
 SENS_SAR_COCPU_INT_ST_REG SENS_SAR_COCPU_INT_CLR_REG

 ULP-RISC-V  ULP-RISC-V 

GoBack

 0x0130 0x0134

  

1.10.3 RTC I2C (RTC_PERI) 

 RTC I2C  SENS_SAR_I2C_CTRL_REG RTC I2C  SENS_SAR_SLAVE_ADDR1_REG SENS_SAR_SLAVE_ADDR2_REG SENS_SAR_SLAVE_ADDR3_REG SENS_SAR_SLAVE_ADDR4_REG


RTC I2C 
 RTC I2C  0-1  RTC I2C  2-3  RTC I2C  4-5  RTC I2C  6-7





0x0058 /

0x0040 0x0044 0x0048 0x004C

/ / / /

1.10.4 RTC I2C (I2C) 

 RTC I2C  RTC_I2C_SCL_LOW_REG RTC_I2C_SCL_HIGH_REG RTC_I2C_SDA_DUTY_REG RTC_I2C_SCL_START_PERIOD_REG
RTC_I2C_SCL_STOP_PERIOD_REG
RTC I2C  RTC_I2C_CTRL_REG RTC_I2C_STATUS_REG RTC_I2C_TO_REG RTC_I2C_SLAVE_ADDR_REG RTC I2C  RTC_I2C_INT_CLR_REG RTC_I2C_INT_RAW_REG RTC_I2C_INT_ST_REG RTC_I2C_INT_ENA_REG RTC I2C  RTC_I2C_DATA_REG RTC I2C  RTC_I2C_CMD0_REG RTC_I2C_CMD1_REG RTC_I2C_CMD2_REG RTC_I2C_CMD3_REG







 SCL   SCL   SCL  SDA  SDA  SCL   SDA  SCL  

0x0000 0x0014 0x0018 0x001C
0x0020

/ / / /
/

 RTC I2C  RTC I2C  

0x0004 0x0008 0x000C 0x0010

/  / /

 RTC I2C  RTC I2C  RTC I2C   RTC I2C 

0x0024 0x0028 0x002C 0x0030

   /

RTC I2C  (RDDATA)

0x0034 

RTC I2C  0 RTC I2C  1 RTC I2C  2 RTC I2C  3

0x0038 0x003C 0x0040 0x0044

   



54 

ESP32-S2 TRM ( 1.3)

 1   (ULP)
 RTC_I2C_CMD4_REG RTC_I2C_CMD5_REG RTC_I2C_CMD6_REG RTC_I2C_CMD7_REG RTC_I2C_CMD8_REG RTC_I2C_CMD9_REG RTC_I2C_CMD10_REG RTC_I2C_CMD11_REG RTC_I2C_CMD12_REG RTC_I2C_CMD13_REG RTC_I2C_CMD14_REG RTC_I2C_CMD15_REG  RTC_I2C_DATE_REG

 RTC I2C  4 RTC I2C  5 RTC I2C  6 RTC I2C  7 RTC I2C  8 RTC I2C  9 RTC I2C  10 RTC I2C  11 RTC I2C  12 RTC I2C  13 RTC I2C  14 RTC I2C  15


GoBack

 0x0048 0x004C 0x0050 0x0054 0x0058 0x005C 0x0060 0x0064 0x0068 0x006C 0x0070 0x0074

            

0x00FC /

1.11 
cb 1.8 b

1.11.1 ULP (ALWAYS_ON) 

Register 1.1. RTC_CNTL_ULP_CP_TIMER_REG (0x00F8)

RTC_CRNTCT_L_CRUNTLCTP_L__CCUNPLTP_LS__CLUPPL_P_TG_IMCPPIEO_R_G_WPEAINOK_EWUPA_KCEULRP_ENA
31 30 29 28

(reserved)

11 10

0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_CNTL_ULP_CP_PC_INIT
0

0

Reset

RTC_CNTL_ULP_CP_PC_INIT ULP  PC bc/ RTC_CNTL_ULP_CP_GPIO_WAKEUP_ENA  RTC GPIO  ULP bc/

RTC_CNTL_ULP_CP_GPIO_WAKEUP_CLR  RTC GPIO  ULP bc
RTC_CNTL_ULP_CP_SLP_TIMER_EN ULP b01 bc/



55 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.2. RTC_CNTL_ULP_CP_TIMER_1_REG (0x0130)

RTC_CNTL_ULP_CP_TIMER_SLP_CYCLE

(reserved)

31

87

0

200

0 0 0 0 0 0 0 0 Reset

RTC_CNTL_ULP_CP_TIMER_SLP_CYCLE  ULP bc/

Register 1.3. RTC_CNTL_ULP_CP_CTRL_REG (0x00FC)

RTC_CRNTCT_L_CRUNTLCTP_L__CRCUNTPLCTP__LS__CTCUNAPLTRP_LT_F__OCUTPRLOPC_P_REC_ESSPTE_ATCRLTK__TFOOP

(reserved)

31 30 29 28 27

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_ULP_CP_CLK_FO  ULP-FSM bc/ RTC_CNTL_ULP_CP_RESET ULP-FSM bc/ RTC_CNTL_ULP_CP_FORCE_START_TOP  1 ULP-FSM bc/ RTC_CNTL_ULP_CP_START_TOP  1  ULP-FSMbc/



56 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.4. RTC_CNTL_COCPU_CTRL_REG (0x0100)

(reserved)

RTC_CRNTCT_L_CRCNTOCT_CL_CRPCNTUOCT__CLS_CRPWCNTU_OCT_IN_CLD_CTPOC_NUNTOT_ERCLDI_GPOCUGNO_EECRS_PEFLUO_RSCHEURTT_CR_ECSNETT_L_ECNOCPU_SHURTT_C2__CCNLKT_L_DCISOCPUR_TSCH_UCTNTL_COCPU_START_2_INRTTRC__ECNNTL_COCPUR_TSCTA_RCTN_T2L__RCEOSCEPTU__DCISLK_FO

31

27 26 25 24 23 22 21

14 13 12

76

10

0 0 0 0 00 0 0 1 0

40

0

16

8

0 Reset

RTC_CNTL_COCPU_CLK_FO  ULP-RISC-V bc/ RTC_CNTL_COCPU_START_2_RESET_DIS  ULP-RISC-V bc/ RTC_CNTL_COCPU_START_2_INTR_EN  ULP-RISC-V  RISCV_START_INT 
bc/ RTC_CNTL_COCPU_SHUT  ULP-RISC-Vbc/ RTC_CNTL_COCPU_SHUT_2_CLK_DIS  ULP-RISC-V bc/ RTC_CNTL_COCPU_SHUT_RESET_EN  ULP-RISC-Vbc/ RTC_CNTL_COCPU_SEL b0 ULP-RISC-V1 ULP-
FSMbc/ RTC_CNTL_COCPU_DONE_FORCE 0 ULP-FSM 1 ULP-RISC-V 
bc/ RTC_CNTL_COCPU_DONE DONE  1  ULP-RISC-V  HALT
bc/ RTC_CNTL_COCPU_SW_INT_TRIGGER  ULP-RISC-V bc



57 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

1.11.2 ULP (RTC_PERI) 

Register 1.5. SENS_ SAR_COCPU_INT_RAW_REG (0x0128)

(reserved)

SENS_SCENOSC_SPCEUNO_SCS_SPWCEUDNO__SCSI_SNPWCETU_NO__INSCRS_STATPCAEW_URNOR_TSTAC_WS_SPICEEUNNNO_TSSCS___PARSCIRUAENONAW_TSCDS__CPARSCRU2EAONA__WCTSDIPNO_CUCTU1_O__TCCRIOHNPAU_TUWCA__HTCR_OTAIUNIWVCAECH_T_IIDVNOET_N_IENR_TAI_NWRTA_WRAW

31

98 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SENS_COCPU_TOUCH_DONE_INT_RAW TOUCH_DONE_INT bc SENS_COCPU_TOUCH_INACTIVE_INT_RAW TOUCH_INACTIVE_INT bc SENS_COCPU_TOUCH_ACTIVE_INT_RAW TOUCH_ACTIVE_INT bc SENS_COCPU_SARADC1_INT_RAW SARADC1_DONE_INT bc SENS_COCPU_SARADC2_INT_RAW SARADC2_DONE_INT bc SENS_COCPU_TSENS_INT_RAW TSENS_DONE_INT bc SENS_COCPU_START_INT_RAW RISCV_START_INT bc SENS_COCPU_SW_INT_RAW SW_INT bc SENS_COCPU_SWD_INT_RAW SWD_INT bc



58 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.6. SENS_SAR_COCPU_INT_ENA_REG (0x012C)

(reserved)

SENS_SCENOSC_SPCEUNO_SCS_SPWCEUDNO__SCSI_SNPWCETU_NO__INSCES_SNTTPCAE_AURNOE_TNSTC_S_SAPICEEUNNNO_TSSCS___PAESCIRUNENONA_ATSCDS__PCAESCRU2ENONA__ACTSDIPNO_CUCTU1_O__TCCEIOHNPNU_TUACA__HTCE_ONTIUNIAVCAECH_T_IIDVNOET_N_IENE_TNI_NAETN_AENA

31

98 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SENS_COCPU_TOUCH_DONE_INT_ENA TOUCH_DONE_INT bc/ SENS_COCPU_TOUCH_INACTIVE_INT_ENA TOUCH_INACTIVE_INT bc/ SENS_COCPU_TOUCH_ACTIVE_INT_ENA TOUCH_ACTIVE_INT bc/ SENS_COCPU_SARADC1_INT_ENA SARADC1_DONE_INT bc/ SENS_COCPU_SARADC2_INT_ENA SARADC2_DONE_INT bc/ SENS_COCPU_TSENS_INT_ENA TSENS_DONE_INT bc/ SENS_COCPU_START_INT_ENA RISCV_START_INT bc/ SENS_COCPU_SW_INT_ENA SW_INT bc/ SENS_COCPU_SWD_INT_ENA SWD_INT bc/



59 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.7. SENS_SAR_COCPU_INT_ST_REG (0x0130)

(reserved)

SENS_SCENOSC_SPCEUNO_SCS_SPWCEUDNO__SCSI_SNPWCETU_NO__INSSCS_TSTTPCAE_URNOS_TTSTC_S_SPICEEUNNNO_TSSCS___SPASCIETRUNNOA_TSCDS__PCASSCRU2TEONA__TSCDINO_CPCTUU1O__C_SCITHNTPO_TUUA__TCCSOTHTUI_VCIENH__AIDCNOTTNI_VESE_T_ININT_TS_TST

31

98 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SENS_COCPU_TOUCH_DONE_INT_ST TOUCH_DONE_INT c SENS_COCPU_TOUCH_INACTIVE_INT_ST TOUCH_INACTIVE_INT c SENS_COCPU_TOUCH_ACTIVE_INT_ST TOUCH_ACTIVE_INT c SENS_COCPU_SARADC1_INT_ST SARADC1_DONE_INT c SENS_COCPU_SARADC2_INT_ST SARADC2_DONE_INT c SENS_COCPU_TSENS_INT_ST TSENS_DONE_INT c SENS_COCPU_START_INT_ST RISCV_START_INT c SENS_COCPU_SW_INT_ST SW_INT c SENS_COCPU_SWD_INT_ST SWD_INT c



60 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.8. SENS_SAR_COCPU_INT_CLR_REG (0x0134)

(reserved)

SENS_SCENOSC_SPCEUNO_SCS_SPWCEUDNO__SCSI_SNPWCETU_NO__INSCCS_STLTPCARE_URNCO_TSTLC_RS_SPICEEUNNNO_TSSCS___PCASCIRULENORNA_TSCDS__PCACSCRU2ELONA_R_CTSDIPNO_CUCTU1_O__TCCCIOHNPLU_TURCA__HTCC_OTLIUNRIVCAECH_T_IIDVNOET_N_IENC_TLI_NRCTL_RCLR

31

98 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SENS_COCPU_TOUCH_DONE_INT_CLR TOUCH_DONE_INT c SENS_COCPU_TOUCH_INACTIVE_INT_CLR TOUCH_INACTIVE_INT c SENS_COCPU_TOUCH_ACTIVE_INT_CLR TOUCH_ACTIVE_INT c SENS_COCPU_SARADC1_INT_CLR SARADC1_DONE_INT c SENS_COCPU_SARADC2_INT_CLR SARADC2_DONE_INT c SENS_COCPU_TSENS_INT_CLR TSENS_DONE_INT c SENS_COCPU_START_INT_CLR RISCV_START_INT c SENS_COCPU_SW_INT_CLR SW_INT c SENS_COCPU_SWD_INT_CLR SWD_INT c



61 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

1.11.3 RTC I2C (RTC_PERI) 

Register 1.9. SENS_SAR_I2C_CTRL_REG (0x0058)

(reservedS)ENS_SSEANRS__SISE2ANCRS___SIST2AACRR__TS_IT2FACOR_RTWCRE_EN SENS_SAR_I2C_WDATA

31 30 29 28 27 26

19 18

0 00 0 0

0

SENS_SAR_I2C_REG_ADSDERNS_SAR_I2C_SLAVE_ADDRS_1E0NBSIT__SAENR_I2C_SLAVE_ADDR

11 10 9

0

0

0

0

Reset

SENS_SAR_I2C_SLAVE_ADDR bc/
SENS_SAR_I2C_SLAVE_ADDR_10BIT_EN  10 b 0 1
c/
SENS_SAR_I2C_REG_ADDR bc/
SENS_SAR_I2C_WDATA bc/
SENS_SAR_I2C_WR_EN b 0 1
c/
SENS_SAR_I2C_START  RTC I2C SENS_SAR_I2C_START_FORCE = 1 bc/
SENS_SAR_I2C_START_FORCE RTC I2C b0 FSM 1bc/

Register 1.10. SENS_SAR_SLAVE_ADDR1_REG (0x0040)

(reserved)

31

22 21

0000000000

SENS_I2C_SLAVE_ADDR0
11 10
0x0

SENS_I2C_SLAVE_ADDR1
0

0x0

Reset

SENS_I2C_SLAVE_ADDR1 RTC I2C  1bc/ SENS_I2C_SLAVE_ADDR0 RTC I2C  0bc/



62 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.11. SENS_SAR_SLAVE_ADDR2_REG (0x0044)

(reserved)

31

22 21

0000000000

SENS_I2C_SLAVE_ADDR2
11 10
0x0

SENS_I2C_SLAVE_ADDR3
0

0x0

Reset

SENS_I2C_SLAVE_ADDR3 RTC I2C  3bc/ SENS_I2C_SLAVE_ADDR2 RTC I2C  2bc/

Register 1.12. SENS_SAR_SLAVE_ADDR3_REG (0x0048)

(reserved)

31

22 21

0000000000

SENS_I2C_SLAVE_ADDR4
11 10
0x0

SENS_I2C_SLAVE_ADDR5
0

0x0

Reset

SENS_I2C_SLAVE_ADDR5 RTC I2C  5bc/ SENS_I2C_SLAVE_ADDR4 RTC I2C  4bc/

Register 1.13. SENS_SAR_SLAVE_ADDR4_REG (0x004C)

(reserved)

31

22 21

0000000000

SENS_I2C_SLAVE_ADDR6
11 10
0x0

SENS_I2C_SLAVE_ADDR7
0

0x0

Reset

SENS_I2C_SLAVE_ADDR7 RTC I2C  7bc/ SENS_I2C_SLAVE_ADDR6 RTC I2C  6bc/



63 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

1.11.4 RTC I2C (I2C) 

Register 1.14. RTC_I2C_SCL_LOW_REG (0x0000)

(reserved)

31

20 19

000000000000

RTC_I2C_SCL_LOW_PERIOD_REG 0x100

RTC_I2C_SCL_LOW_PERIOD_REG  SCL bc/

GoBack
0
Reset

Register 1.15. RTC_I2C_SCL_HIGH_REG (0x0014)

(reserved)

31

20 19

000000000000

RTC_I2C_SCL_HIGH_PERIOD_REG 0x100

RTC_I2C_SCL_HIGH_PERIOD_REG  SCL bc/

0
Reset

Register 1.16. RTC_I2C_SDA_DUTY_REG (0x0018)

(reserved)

31

20 19

000000000000

RTC_I2C_SDA_DUTY_NUM 0x010

RTC_I2C_SDA_DUTY_NUM SCL  SDA bc/

0
Reset



64 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.17. RTC_I2C_SCL_START_PERIOD_REG (0x001C)

(reserved)

31

20 19

000000000000

RTC_I2C_SCL_START_PERIOD 8

0
Reset

RTC_I2C_SCL_START_PERIOD RTC I2C START SDA  SCL  bc/

Register 1.18. RTC_I2C_SCL_STOP_PERIOD_REG (0x0020)

(reserved)

31

20 19

000000000000

RTC_I2C_SCL_STOP_PERIOD 8

0
Reset

RTC_I2C_SCL_STOP_PERIOD RTC I2C STOP SDA  SCL  bc/



65 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.19. RTC_I2C_CTRL_REG (0x0004)

(reserRvTeCd_) IR2TCC__RI2ESCE_TCTRL_CLK_GATE_EN
31 30 29 28

(reserved)

RTC_IR2TCC__RIR2XT_CCL__STIRXB2T__CCLF_S_ITRBIRR2S_TACTCFN_I_SRMIR_S2STTSC_CT_MA_SRIO2CTDCL_E_FSODRAC_EFO_ORUCTE_OUT
65 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_I2C_SDA_FORCE_OUT SDA b01bc/ RTC_I2C_SCL_FORCE_OUT SCL b01bc/ RTC_I2C_MS_MODE  RTC I2C b RTC_I2C_TRANS_START RTC I2C bc/ RTC_I2C_TX_LSB_FIRST b01
bc/ RTC_I2C_RX_LSB_FIRST b01
bc/ RTC_I2C_CTRL_CLK_GATE_EN RTC I2C bc/ RTC_I2C_RESET RTC I2C bc/



66 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.20. RTC_I2C_STATUS_REG (0x0008)

(reserved)

RTC_I2CR_TOCP__IR2CTCNC_T_BIR2YTTCCE___STIR2LRTACCAV_N_EBSI_R2UTACSCD___DABIRR2RUTECBSCS__Y_SSLIEO2LDACSVT_EA_CRKW_REC

31

87

65 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_I2C_ACK_REC ACK b0ACK1NACKbc RTC_I2C_SLAVE_RW 01bc RTC_I2C_ARB_LOST RTC I2C  SCL  1bc RTC_I2C_BUS_BUSY 0RTC I2C 1RTC I2C bc RTC_I2C_SLAVE_ADDRESSED bc RTC_I2C_BYTE_TRANS  1bc RTC_I2C_OP_CNT bc

Register 1.21. RTC_I2C_TO_REG (0x000C)

(reserved)

31

20 19

000000000000

RTC_I2C_TIME_OUT_REG 0x10000

RTC_I2C_TIME_OUT_REG bc/

0
Reset

Register 1.22. RTC_I2C_SLAVE_ADDR_REG (0x0010)

RTC_I2C_ADDR_10BIT_EN

(reserved)

31 30

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_I2C_ADDR_10BIT_EN  10 bc/



67 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.23. RTC_I2C_INT_CLR_REG (0x0024)

(reserved)

RTC_IR2TCC__DIR2ETCTCE__TCIRXT2T__CCDS__ATRTAIR2XART_C_TCD_I__NAAIIRTTN2CAT_TCKC_C___I_LCTNERIRILR2TMTRR_CCEC____TILNOIRRR2TUTAC_CTN_C__SMLII_N2RRACTCTSCO__T_MCAEI2LRRPCRB_L_TIETSRTLRAEAANV_TE_IINO_CTTNOR__AMCNLLPO_R_CSIOTNM_TIP_N_CTINL_RTC_LCRLR

31

98 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_I2C_SLAVE_TRAN_COMP_INT_CLR RTC_I2C_SLAVE_TRAN_COMP_INT c RTC_I2C_ARBITRATION_LOST_INT_CLR RTC_I2C_ARBITRATION_LOST_INT c RTC_I2C_MASTER_TRAN_COMP_INT_CLR RTC_I2C_MASTER_TRAN_COMP_INT c
 RTC_I2C_TRANS_COMPLETE_INT_CLR RTC_I2C_TRANS_COMPLETE_INT c RTC_I2C_TIME_OUT_INT_CLR RTC_I2C_TIME_OUT_INT c RTC_I2C_ACK_ERR_INT_CLR RTC_I2C_ACK_ERR_INT c RTC_I2C_RX_DATA_INT_CLR RTC_I2C_RX_DATA_INT c RTC_I2C_TX_DATA_INT_CLR RTC_I2C_TX_DATA_INT c RTC_I2C_DETECT_START_INT_CLR RTC_I2C_DETECT_START_INT c



68 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.24. RTC_I2C_INT_RAW_REG (0x0028)

(reserved)

RTC_IR2TCC__DIR2ETCTCE__TCIRXT2T__CCDS__ATRTAIR2XART_C_TCD_I__NAAIIRTTN2CAT_TCKC_R___I_ATRNEWIRIAR2TMTWR_CCE_R___TIANOIRRW2TUTAC_CTN_R__SMAII_N2RWACTCTSCO__T_MRAEI2ARRPCWB_L_TIETSRTLRAEAANV_TE_IINO_CTTNOR__AMRNLAPO_W_CSIOTNM_TIP_N_RTINA_WTR_ARWAW

31

98 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_I2C_SLAVE_TRAN_COMP_INT_RAW RTC_I2C_SLAVE_TRAN_COMP_INT bc

RTC_I2C_ARBITRATION_LOST_INT_RAW RTC_I2C_ARBITRATION_LOST_INT bc

RTC_I2C_MASTER_TRAN_COMP_INT_RAW RTC_I2C_MASTER_TRAN_COMP_INT bc



RTC_I2C_TRANS_COMPLETE_INT_RAW RTC_I2C_TRANS_COMPLETE_INT bc

RTC_I2C_TIME_OUT_INT_RAW RTC_I2C_TIME_OUT_INT bc

RTC_I2C_ACK_ERR_INT_RAW RTC_I2C_ACK_ERR_INT bc

RTC_I2C_RX_DATA_INT_RAW RTC_I2C_RX_DATA_INT bc

RTC_I2C_TX_DATA_INT_RAW RTC_I2C_TX_DATA_INT bc

RTC_I2C_DETECT_START_INT_RAW RTC_I2C_DETECT_START_INT bc



69 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.25. RTC_I2C_INT_ST_REG (0x002C)

(reserved)

RTC_IR2TCC__DIR2ETCTCE__TCIRXT2T__CCDS__ATRTAIR2XART_C_TCD_I__NAAIIRTTN2CAT_TCKC_S___IT_STNEIRTIR2TMTR_CCES____TTINOIRR2TUTAC_CTN_S__SMTII_N2RACTCTSCO__T_MSAEIT2RRPCB_L_TIETSRTLRAEAANV_TE_IINO_CTTNOR__AMSNLTPO__CSIOTNM_TIP_N_STITN_TS_TST

31

98 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_I2C_SLAVE_TRAN_COMP_INT_ST RTC_I2C_SLAVE_TRAN_COMP_INT bc RTC_I2C_ARBITRATION_LOST_INT_ST RTC_I2C_ARBITRATION_LOST_INT bc RTC_I2C_MASTER_TRAN_COMP_INT_ST RTC_I2C_MASTER_TRAN_COMP_INT bc
 RTC_I2C_TRANS_COMPLETE_INT_ST RTC_I2C_TRANS_COMPLETE_INT bc RTC_I2C_TIME_OUT_INT_ST RTC_I2C_TIME_OUT_INT bc RTC_I2C_ACK_ERR_INT_ST RTC_I2C_ACK_ERR_INT bc RTC_I2C_RX_DATA_INT_ST RTC_I2C_RX_DATA_INT bc RTC_I2C_TX_DATA_INT_ST RTC_I2C_TX_DATA_INT bc RTC_I2C_DETECT_START_INT_ST RTC_I2C_DETECT_START_INT bc



70 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.26. RTC_I2C_INT_ENA_REG (0x0030)

(reserved)

RTC_IR2TCC__DIR2ETCTCE__TCIRXT2T__CCDS__ATRTAIR2XART_C_TCD_I__NAAIIRTTN2CAT_TCKC_E___I_NTENEIRANIR2TMTAR_CCE_E___TNINOIRR2ATUTAC_CTN_E__SMNII_N2RAACTCTSCO__T_MEAEI2NRRPCAB_L_TIETSRTLRAEAANV_TE_IINO_CTTNOR__AMENLNPO__ACSIOTNM_TIP_N_ETINN_TAE_NEANA

31

98 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_I2C_SLAVE_TRAN_COMP_INT_ENA RTC_I2C_SLAVE_TRAN_COMP_INT bc/

RTC_I2C_ARBITRATION_LOST_INT_ENA RTC_I2C_ARBITRATION_LOST_INT bc/

RTC_I2C_MASTER_TRAN_COMP_INT_ENA RTC_I2C_MASTER_TRAN_COMP_INT bc/



RTC_I2C_TRANS_COMPLETE_INT_ENA RTC_I2C_TRANS_COMPLETE_INT bc/

RTC_I2C_TIME_OUT_INT_ENA RTC_I2C_TIME_OUT_INT bc/

RTC_I2C_ACK_ERR_INT_ENA RTC_I2C_ACK_ERR_INT bc/

RTC_I2C_RX_DATA_INT_ENA RTC_I2C_RX_DATA_INT bc/

RTC_I2C_TX_DATA_INT_ENA RTC_I2C_TX_DATA_INT bc/

RTC_I2C_DETECT_START_INT_ENA RTC_I2C_DETECT_START_INT bc/

Register 1.27. RTC_I2C_DATA_REG (0x0034)

RTC_I2C_I2C_DONE
31 30

(reserved)

16 15

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_SLAVE_TX_DATA
87
0x0

RTC_I2C_RDATA RTC I2C bc RTC_I2C_SLAVE_TX_DATA RTC I2C bc/ RTC_I2C_DONE RTC I2C bc

RTC_I2C_I2C_RDATA
0

0x0

Reset



71 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.28. RTC_I2C_CMD0_REG (0x0038)

RTC_I2C_COMMAND0_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND0 0x903

0
Reset

RTC_I2C_COMMAND0  0 I2C  I2C_COMD0_REG  bc/
RTC_I2C_COMMAND0_DONE  0 bc

Register 1.29. RTC_I2C_CMD1_REG (0x003C)

RTC_I2C_COMMAND1_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND1 0x1901

0
Reset

RTC_I2C_COMMAND1  1 I2C  I2C_COMD1_REG  bc/
RTC_I2C_COMMAND1_DONE  1 bc

Register 1.30. RTC_I2C_CMD2_REG (0x0040)

RTC_I2C_COMMAND2_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND2 0x902

0
Reset

RTC_I2C_COMMAND2  2 I2C  I2C_COMD2_REG  bc/
RTC_I2C_COMMAND2_DONE  2 bc



72 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.31. RTC_I2C_CMD3_REG (0x0044)

RTC_I2C_COMMAND3_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND3 0x101

0
Reset

RTC_I2C_COMMAND3  3 I2C  I2C_COMD3_REG  bc/
RTC_I2C_COMMAND3_DONE  3 bc

Register 1.32. RTC_I2C_CMD4_REG (0x0048)

RTC_I2C_COMMAND4_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND4 0x901

0
Reset

RTC_I2C_COMMAND4  4 I2C  I2C_COMD4_REG  bc/
RTC_I2C_COMMAND4_DONE  4 bc

Register 1.33. RTC_I2C_CMD5_REG (0x004C)

RTC_I2C_COMMAND5_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND5 0x1701

0
Reset

RTC_I2C_COMMAND5  5 I2C  I2C_COMD5_REG  bc/
RTC_I2C_COMMAND5_DONE  5 bc



73 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.34. RTC_I2C_CMD6_REG (0x0050)

RTC_I2C_COMMAND6_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND6 0x1901

0
Reset

RTC_I2C_COMMAND6  6 I2C  I2C_COMD6_REG  bc/
RTC_I2C_COMMAND6_DONE  6 bc

Register 1.35. RTC_I2C_CMD7_REG (0x0054)

RTC_I2C_COMMAND7_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND7 0x904

0
Reset

RTC_I2C_COMMAND7  7 I2C  I2C_COMD7_REG  bc/
RTC_I2C_COMMAND7_DONE  7 bc

Register 1.36. RTC_I2C_CMD8_REG (0x0058)

RTC_I2C_COMMAND8_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND8 0x1901

0
Reset

RTC_I2C_COMMAND8  8 I2C  I2C_COMD8_REG  bc/
RTC_I2C_COMMAND8_DONE  8 bc



74 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.37. RTC_I2C_CMD9_REG (0x005C)

RTC_I2C_COMMAND9_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND9 0x903

0
Reset

RTC_I2C_COMMAND9  9 I2C  I2C_COMD9_REG  bc/
RTC_I2C_COMMAND9_DONE  9 bc

Register 1.38. RTC_I2C_CMD10_REG (0x0060)

RTC_I2C_COMMAND10_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND10 0x101

0
Reset

RTC_I2C_COMMAND10  10 I2C  I2C_COMD10_REG  bc/
RTC_I2C_COMMAND10_DONE  10 bc

Register 1.39. RTC_I2C_CMD11_REG (0x0064)

RTC_I2C_COMMAND11_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND11 0x901

0
Reset

RTC_I2C_COMMAND11  11 I2C  I2C_COMD11_REG  bc/
RTC_I2C_COMMAND11_DONE  11 bc



75 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.40. RTC_I2C_CMD12_REG (0x0068)

RTC_I2C_COMMAND12_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND12 0x1701

0
Reset

RTC_I2C_COMMAND12  12 I2C  I2C_COMD12_REG  bc/
RTC_I2C_COMMAND12_DONE  12 bc

Register 1.41. RTC_I2C_CMD13_REG (0x006C)

RTC_I2C_COMMAND13_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND13 0x1901

0
Reset

RTC_I2C_COMMAND13  13 I2C  I2C_COMD13_REG  bc/
RTC_I2C_COMMAND13_DONE  13 bc

Register 1.42. RTC_I2C_CMD14_REG (0x0070)

RTC_I2C_COMMAND14_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND14 0x00

0
Reset

RTC_I2C_COMMAND14  14 I2C  I2C_COMD14_REG  bc/
RTC_I2C_COMMAND14_DONE  14 bc



76 

ESP32-S2 TRM ( 1.3)

 1   (ULP)

GoBack

Register 1.43. RTC_I2C_CMD15_REG (0x0074)

RTC_I2C_COMMAND15_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

RTC_I2C_COMMAND15 0x00

0
Reset

RTC_I2C_COMMAND15  15 I2C  I2C_COMD15_REG  bc/
RTC_I2C_COMMAND15_DONE  15 bc

(reserved)

31

28 27

0000

Register 1.44. RTC_I2C_DATE_REG (0x00FC)
RTC_I2C_DATE 0x1905310

RTC_I2C_DATE bc/

0
Reset



77 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

2
DMA  (DMA)
2.1 
 (Direct Memory Access, DMA)  b CPU  DMA  CPU b ESP32-S2  DMAInternal DMAEDMA  Copy DMAbInternal DMA  RAM EDMA  RAM  RAM Copy DMA  RAMb ESP32-S2  8  DMA b2.1-1UART0  UART1  Internal DMASPI3  ADC Controller  Internal DMAAES  SHA  EDMA c DMASPI2  I2S0   EDMAbCPU Peripheral  Copy DMAb

 2.1-1.  DMA 

2.2 
DMA  · AHB  ·  ·  ·  RAM  INCR burst  · DMA  RAM  320 KB



78 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)
· DMA  10.5 MB ·  DMA 

GoBack

2.3 
ESP32-S2  DMA bDMA  CPU   RAMb DMA  DMA  (DMA_ENGINE) b
2.3.1 DMA 

 2.3-1. DMA 
DMA  AHB_BUS  RAM  RAM b 2.3-1  DMA bRAM  3 b DMA bDMA_ENGINE  outlink  RAM  inlink   RAM b
2.3.2 

 2.3-2. 

 2.3-2 bb  3 b RAM  DMA b
· owner (DW0) [31] buffer b



79 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

1'b0 CPU 1'b1 DMA b  DMA  buffer  bit b PERI_IN_LOOP_TEST  b bit  1b
PERI  DMA  I2SSPIUHCI b
· suc_eof (DW0) [30]b 1'b0 1'b1b  bit  0 1  bit  1b  bit  1b
· Reserved (DW0) [29]b
· err_eof (DW0) [28]b  bit  UART DMA b 1  bit  1b
· Reserved (DW0) [27:24]b
· length (DW0) [23:12] buffer b  buffer  buffer   buffer b
· size (DW0) [11:0] buffer b  DMA  RAM  16/32/64 bytes  2.3.8  RAMb
· buffer address pointer (DW1)buffer b  DMA  RAM  PERI_EXT_MEM_BK_SIZE  2.3.8   RAMb
· next descriptor address (DW2)b (suc_eof = 1) 0b RAMb
 DMA  buffer   buffer b

2.3.3  DMA
 DMAb PERI_INLINK_ADDR  b PERI_INLINK_START  DMAb  PERI_OUTLINK_ADDR b PERI_OUTLINK_START   DMAbPERI_INLINK_START  PERI_OUTLINK_START b
DMA  Restart bc  Restart b  word  2.3-3  PERI_INLINK_RESTART  PERI_OUTLINK_RESTARTcb b



80 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

 2.3-3. 

2.3.4 
 DMA DMA  RAM b PERI_IN_DSCR_ERR_INT_ENA  PERI_OUT_DSCR_ERR_INT_ENA b RAM  word   0x3FFB0000 ~ 0x3FFFFFFF RAM  word  0x3F500000 ~ 0x3FF7FFFF b  word  b
2.3.5 
DMA  EOF b PERI_OUT_TOTAL_EOF_INT_ENA  PERI_OUT_TOTAL_EOF_INT  EOF  buffer DMA  b PERI_IN_SUC_EOF_INT_ENA  PERI_IN_SUC_EOF_INT  b UART DMA  UHCI_IN_ERR_EOF_INT UHCI_IN_ERR_EOF_INT_ENA b
 PERI_OUT_TOTAL_EOF_INT  PERI_IN_SUC_EOF_INT  PERI_OUTLINK_DSCR_ADDR  PERI_INLINK_DSCR_ADDR b  bit b b
 EOF  suc_eof EOF  suc_eof  err_eofb

2.3.6 Internal DMA
Internal DMA  RAM UART0, UART1SPI3  ADC ControllerbInternal DMA   RAM 0x3FFB0000 ~ 0x3FFFFFFFbInternal DMA  RAM  csizelengthbuffer address pointer word b Internal DMA   length  length  b

2.3.7 EDMA
EDMA  RAM  RAM I2S0SPI2AES  SHAb



81 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

2.3.7.1  RAM
EDMA  RAM  Internal DMA 0x3FFB0000 ~ 0x3FFFFFFFb csizelengthbuffer address pointer word bEDMA   null cnull EDMA   memory null  EOF 2.3-4 EOF   EOF  3 b EOF  suc_eof  err_eofb
EDMA  PERI_OUT_DATA_BURST_EN  b

 2.3-4. EDMA  RAM 

2.3.8  RAM
EDMA  RAM 0x3F500000 ~ 0x3FF7FFFFbEDMA  block size 16/32/64  16/32/64 b PERI_EXT_MEM_BK_SIZE   block size EDMA  block sizeb
 RAM  block size b sizebuffer address pointer  16/32/64 b 16/32/64  EDMA  16/32/64 b PERI_DMA_IN_SUC_EOF_INT  length b  sizealength  buffer address pointer  block size b2.3-1  PERI_EXT_MEM_BK_SIZE b

 2.3-1. ablock size 

PERI_EXT_MEM_BK_SIZE 0 1 2

Block Size 16  32  64 

 16  32  64 

2.4 Copy DMA 

Copy DMA  RAMb2.4-1 Copy DMA   Internal DMA  EDMA Copy DMA  RAM  DMA  FIFO FIFO  RAMb
Copy DMA 
1.  CP_DMA_IN_RSTaCP_DMA_OUT_RSTaCP_DMA_FIFO_RST  CP_DMA_CMDFIFO_RST  1  0 Copy DMA  FIFO 



82 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)
2.  CP_DMA_OUTLINK_ADDR  3.  CP_DMA_INLINK_ADDR  4.  CP_DMA_OUTLINK_START  DMA  5.  CP_DMA_INLINK_START  DMA b

GoBack

 2.4-1. Copy DMA 
2.5 UART DMA (UDMA) 
ESP32-S2  2  UART  1  UDMA bUHCI_UART_CE  UDMAb

 2.5-1. UDMA 
 2.5-1  UDMA b UDMA bUHCI_INLINK_ADDR  b UHCI_INLINK_START  (UHCI)  UART   Decoderb Decoder  UDMA  RAM  b
 UDMA UHCI_OUTLINK_ADDR  b UHCI_OUTLINK_START DMA  RAM  Encoder  UART b



83 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

UDMA c +  + bEncoder  bDecoder  bb UHCI_SEPER_CHAR  0xC0b  UHCI_ESC_SEQ0_CHAR0c 0xDB UHCI_ESC_SEQ0_CHAR1c 0xDDb UHCI_OUT_TOTAL_EOF_INT b  UHCI_IN_SUC_EOF_INT b

2.6 SPI DMA 

 2.6-1. SPI DMA
ESP32-S2 SPI  CPU  DMA b 2.6-1 SPI2  SPI3   DMAb ESP32-S2 SPI DMA / burst / 1  b
 SPI_DMA_OUT_LINK_REG  SPI_OUTLINK_START  SPI_DMA_IN_LINK_REG  SPI_INLINK_START  DMA b SPI_OUTLINK_START  1  DMA  SPI_INLINK_START  1 DMA  b
SPI DMA  1.  SPI_IN_RSTaSPI_AHBM_FIFO_RST  SPI_AHBM_RST  1  0 DMA  FIFO 
2.  SPI_INLINK_ADDR  3.  SPI_INLINK_START  DMA b SPI DMA  1.  SPI_OUT_RSTaSPI_AHBM_FIFO_RST  SPI_AHBM_RST  1  0 DMA  FIFO

2.  SPI_OUTLINK_ADDR  3.  SPI_OUTLINK_START  DMA b :  SPI2  SPI3 DMA  RAM  RAM  SPI_MEM_TRANS_ENb SPI2  SPI3 DMA  24 SPI  (SPI)b



84 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

2.7 I2S DMA 
ESP32-S2 I2S  DMAb I2S_FIFO_CONF_REG  I2S_DSCR_EN  I2S  DMA  bESP32-S2 I2S DMA / burst b I2S_RXEOF_NUM_REG  I2S_RX_EOF_NUM[31:0]  DMA b
 I2S_OUT_LINK_REG  I2S_OUTLINK_START  I2S_IN_LINK_REG  I2S_INLINK_START   DMA , b I2S_OUTLINK_START  1 DMA   I2S_INLINK_START  1 DMA  b
I2S DMA 
1.  I2S_IN_RSTaI2S_AHBM_FIFO_RST  I2S_AHBM_RST  1  0 DMA  FIFO  
2.  I2S_INLINK_ADDR 
3.  I2S_INLINK_START  DMA b
I2S DMA 
1.  I2S_OUT_RSTaI2S_AHBM_FIFO_RST  I2S_AHBM_RST  1  0 DMA  FIFO 
2.  I2S_OUTLINK_ADDR 
3.  I2S_OUTLINK_START  DMA b :  I2S DMA  RAM  RAM I2S_MEM_TRANS_ENb I2S DMA  I2S  buffer  26 I2S  (I2S)  I2S I2S DMA  LCD  buffer  26 I2S  (I2S)  LCD b I2S DMA  26 I2S  (I2S) 26.12.2 DMA b

2.8  DMA 
ESP32-S2  AES  SHA  EDMA DMAb CRYPTO_DMA_AES_SHA_SELECT  SHA  DMA CRYPTO_DMA_AES_SHA_SELECT  AES  DMAb  DMA DMA 
1.  CRYPTO_DMA_IN_RST/CRYPTO_DMA_AHBM_FIFO_RST/CRYPTO_DMA_AHBM_RST  1   0 DMA  FIFO 
2.  CRYPTO_DMA_INLINK_ADDR  3.  CRYPTO_DMA_INLINK_START  DMA b  DMA DMA  1.  CRYPTO_DMA_OUT_RST/CRYPTO_DMA_AHBM_FIFO_RST/CRYPTO_DMA_AHBM_RST  1
 0 DMA  FIFO  2.  CRYPTO_DMA_OUTLINK_ADDR 



85 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)
3.  CRYPTO_DMA_OUTLINK_START  DMA b :  DMA  RAM  RAM  CRYPTO_DMA_MEM_TRANS_ENb

GoBack

2.9 Copy DMA 
· CP_DMA_OUT_TOTAL_EOF_INTc b
· CP_DMA_IN_DSCR_EMPTY_INT buffer  b
· CP_DMA_OUT_DSCR_ERR_INTb · CP_DMA_IN_DSCR_ERR_INTb · CP_DMA_OUT_EOF_INT EOF  1b · CP_DMA_OUT_DONE_INTb · CP_DMA_IN_SUC_EOF_INTb · CP_DMA_IN_DONE_INTb

2.10  DMA 
· CRYPTO_DMA_INFIFO_FULL_WM_INT DMA  FIFO  cCRYPTO_DMA_INFIFO_FULL_THRSb · CRYPTO_DMA_OUT_TOTAL_EOF_INTc
b · CRYPTO_DMA_IN_DSCR_EMPTY_INT buffer 
b · CRYPTO_DMA_OUT_DSCR_ERR_INTb · CRYPTO_DMA_IN_DSCR_ERR_INTb · CRYPTO_DMA_OUT_EOF_INT EOF  1
b · CRYPTO_DMA_OUT_DONE_INTb · CRYPTO_DMA_IN_ERR_EOF_INTb · CRYPTO_DMA_IN_SUC_EOF_INTb · CRYPTO_DMA_IN_DONE_INTb

2.11 

 Copy DMA  DMA 2.11-1 b DMA b 3 b



86 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

 2.11-1. Copy DMA  DMA 

 Copy DMA
CRYPTO DMA

 PeriBUS1 PeriBUS1 PeriBUS2

 0x3F4C3000 0x3F43F000 0x6003F000

GoBack

2.12 

 Copy DMA c 2.11  Copy DMA b

  CP_DMA_INT_RAW_REG CP_DMA_INT_ST_REG CP_DMA_INT_ENA_REG CP_DMA_INT_CLR_REG CP_DMA_OUT_EOF_DES_ADDR_REG  CP_DMA_OUT_LINK_REG CP_DMA_IN_LINK_REG CP_DMA_CONF_REG  CP_DMA_IN_EOF_DES_ADDR_REG CP_DMA_OUT_EOF_BFR_DES_ADDR _REG CP_DMA_INLINK_DSCR_REG
CP_DMA_INLINK_DSCR_BF0_REG CP_DMA_OUTLINK_DSCR_REG
CP_DMA_OUTLINK_DSCR_BF0_REG CP_DMA_IN_ST_REG CP_DMA_OUT_ST_REG CP_DMA_DATE_REG







    EOF 

0x0000 0x0004 0x0008 0x000C 0x0018

  /  

  Copy DMA 

0x0010 0x0014 0x003C

  /

EOF  

0x001C  0x0020 

        Copy DMA 

0x0024
0x0028 0x0030
0x0034 0x0040 0x0044 0x00FC


 
   /

 DMA c,  2.11  DMA b

  CRYPTO_DMA_CONF0_REG CRYPTO_DMA_OUT_LINK_REG


DMA  





0x0000 / 0x0024 varies



87 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

 CRYPTO_DMA_IN_LINK_REG CRYPTO_DMA_CONF1_REG CRYPTO_DMA_AHB_TEST_REG CRYPTO_DMA_AES_SHA_SELECT _REG CRYPTO_DMA_PD_CONF_REG CRYPTO_DMA_DATE_REG  CRYPTO_DMA_INT_RAW_REG CRYPTO_DMA_INT_ST_REG CRYPTO_DMA_INT_ENA_REG CRYPTO_DMA_INT_CLR_REG  CRYPTO_DMA_OUT_STATUS_REG CRYPTO_DMA_IN_STATUS_REG CRYPTO_DMA_STATE0_REG CRYPTO_DMA_STATE1_REG CRYPTO_DMA_OUT_EOF_DES_ADDR _REG CRYPTO_DMA_IN_SUC_EOF_DES _ADDR_REG CRYPTO_DMA_IN_ERR_EOF_DES _ADDR_REG CRYPTO_DMA_OUT_EOF_BFR_DES _ADDR_REG CRYPTO_DMA_IN_DSCR_REG
CRYPTO_DMA_IN_DSCR_BF0_REG CRYPTO_DMA_OUT_DSCR_REG
CRYPTO_DMA_OUT_DSCR_BF0_REG

  DMA  AHB  AES/SHA 

 0x0028 0x002C 0x0048 0x0064

  DMA 

0x0068 0x00FC

   

0x0004 0x0008 0x000C 0x0010

TX FIFO  RX FIFO    EOF 

0x0014 0x001C 0x0030 0x0034 0x0038

EOF 

0x003C

EOF 

0x0040



0x0044

     

0x004C
0x0050 0x0058
0x005C

 varies / / /
/ /
  / 
    




 




88 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)
2.13 

GoBack

Register 2.1. CP_DMA_INT_RAW_REG (0x0000)

(reserved)

CP_DCMPA__DOCMUPAT___DTINCMO_PTADA__LSDO_CCMUEPRATO____FDEID_NCMMSI_PNPACD_TT_RDS_YO_CCMR_UEPRAIARTN__W__RTDEOE__CRMOUIRNRPAFTA__T___WID_NIIDNNRMTO_TA_AN_SWR_EURAI_NACWIW__NDETOO_FNR_AEIW_NITN_TR_ARWAW

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

CP_DMA_IN_DONE_INT_RAW b  buffer b()
CP_DMA_IN_SUC_EOF_INT_RAW bb ()
CP_DMA_OUT_DONE_INT_RAW b TX FIFO b()
CP_DMA_OUT_EOF_INT_RAW b EOF  TX FIFO  b()
CP_DMA_IN_DSCR_ERR_INT_RAW b ab()
CP_DMA_OUT_DSCR_ERR_INT_RAW b ab()
CP_DMA_IN_DSCR_EMPTY_INT_RAW ba b()
CP_DMA_OUT_TOTAL_EOF_INT_RAW b EOF a b()



89 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.2. CP_DMA_INT_ST_REG (0x0004)

(reserved)

CP_DCMPA__DOCMUPAT___DTINCMO_PTADA__LDSO_CCMUEPRATO____FDEID_NCMMSI_PNPACD_TT_RDS_YO_CCMS_UEPTRIARTN____RTDEOE__CRMOUISNRPAFTT__T___ID_NIIDNNSMTOT_T_AN_SS_ESUTI_TNCI__NDETOO_FNS_TEI_NITN_TS_TST

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

CP_DMA_IN_DONE_INT_ST CP_DMA_IN_DONE_INT_ENA  1 CP_DMA_IN_DONE_INT  b()

CP_DMA_IN_SUC_EOF_INT_ST CP_DMA_IN_SUC_EOF_INT_ENA



1



CP_DMA_IN_SUC_EOF_INT b()

CP_DMA_OUT_DONE_INT_ST CP_DMA_OUT_DONE_INT_ENA  1 CP_DMA_OUT_DONE_INT b()

CP_DMA_OUT_EOF_INT_ST CP_DMA_OUT_EOF_INT_ENA  1 CP_DMA_OUT_EOF_INT  b()

CP_DMA_IN_DSCR_ERR_INT_ST CP_DMA_IN_DSCR_ERR_INT_ENA



1



CP_DMA_IN_DSCR_ERR_INT b()

CP_DMA_OUT_DSCR_ERR_INT_ST CP_DMA_OUT_DSCR_ERR_INT_ENA



1



CP_DMA_OUT_DSCR_ERR_INT b()

CP_DMA_IN_DSCR_EMPTY_INT_ST CP_DMA_IN_DSCR_EMPTY_INT_ENA  1  CP_DMA_IN_DSCR_EMPTY_INT b()

CP_DMA_OUT_TOTAL_EOF_INT_ST CP_DMA_OUT_TOTAL_EOF_INT_ENA



1



CP_DMA_OUT_TOTAL_EOF_INT b()



90 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.3. CP_DMA_INT_ENA_REG (0x0008)

(reserved)

CP_DCMPA__DOCMUPAT___DTINCMO_PTADA__LDSO_CCMUEPRATO____FDEID_NCMMSI_PNPACD_TT_RDS_YO_CCME_UEPRNIARTN__A__RTDEOE__CRMOUIENRPAFTN__T___AID_NIIDNNEMTO_NT_AN_SAE_EUENI_NNCAIA__NDETOO_FNE_NEI_ANITN_TE_NEANA

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

CP_DMA_IN_DONE_INT_ENA CP_DMA_IN_DONE_INT b(/) CP_DMA_IN_SUC_EOF_INT_ENA CP_DMA_IN_SUC_EOF_INT b(/) CP_DMA_OUT_DONE_INT_ENA CP_DMA_OUT_DONE_INT b(/) CP_DMA_OUT_EOF_INT_ENA CP_DMA_OUT_EOF_INT b(/) CP_DMA_IN_DSCR_ERR_INT_ENA CP_DMA_IN_DSCR_ERR_INT b(/) CP_DMA_OUT_DSCR_ERR_INT_ENA CP_DMA_OUT_DSCR_ERR_INT b(/)

CP_DMA_IN_DSCR_EMPTY_INT_ENA CP_DMA_IN_DSCR_EMPTY_INT        b (/)
CP_DMA_OUT_TOTAL_EOF_INT_ENA CP_DMA_OUT_TOTAL_EOF_INT b(/)



91 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.4. CP_DMA_INT_CLR_REG (0x000C)

(reserved)

CP_DCMPA__DOCMUPAT___DTINCMO_PTADA__LDSO_CCMUEPRATO____FDEID_NCMMSI_PNPACD_TT_RDS_YO_CCMC_UEPRLIARTN_R___RTDEOE__CRMOUICNRPAFTL__T___RID_NIIDNNCMTO_TL_ANR_SC_ECULI_NLCRIR__NDETOO_FCN_LEIR_NITN_TC_LCRLR

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

CP_DMA_IN_DONE_INT_CLR  CP_DMA_IN_DONE_INT b() CP_DMA_IN_SUC_EOF_INT_CLR  CP_DMA_IN_SUC_EOF_INT b() CP_DMA_OUT_DONE_INT_CLR  CP_DMA_OUT_DONE_INT b() CP_DMA_OUT_EOF_INT_CLR  CP_DMA_OUT_EOF_INT b() CP_DMA_IN_DSCR_ERR_INT_CLR  CP_DMA_IN_DSCR_ERR_INT b() CP_DMA_OUT_DSCR_ERR_INT_CLR  CP_DMA_OUT_DSCR_ERR_INT b()

CP_DMA_IN_DSCR_EMPTY_INT_CLR  CP_DMA_IN_DSCR_EMPTY_INT b( )
CP_DMA_OUT_TOTAL_EOF_INT_CLR  CP_DMA_OUT_TOTAL_EOF_INT b( )

Register 2.5. CP_DMA_OUT_EOF_DES_ADDR_REG (0x0018)

CP_DMA_OUT_EOF_DES_ADDR

31

0

0x000000

Reset

CP_DMA_OUT_EOF_DES_ADDR  EOF  1 b()



92 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.6. CP_DMA_OUT_LINK_REG (0x0010)

CP_DCMPA__DOCMUPAT__LDOINCMUKPAT___LPDOIANMURKATK__LROINEUSKTT_ALSIRTNTAKR_TSTOP(reserved)
31 30 29 28 27

20 19

0 0 0 00 0 0 0 0 0 0 0

CP_DMA_OUTLINK_ADDR 0x000

0
Reset

CP_DMA_OUTLINK_ADDR  20 b(/)
CP_DMA_OUTLINK_STOP  DMA  b(/)
CP_DMA_OUTLINK_START b(/)
CP_DMA_OUTLINK_RESTART  DMA b(/)
CP_DMA_OUTLINK_PARK 1 FSM b0 FSM b ()

Register 2.7. CP_DMA_IN_LINK_REG (0x0014)

CP_DCMPA__DINCMLPAI_N_DKINCM_LPPAI_AN_DRKINMK_LRAINE_SKINT_ALSIRTNTAKR_TSTOP (reserved)
31 30 29 28 27

20 19

0 0 0 00 0 0 0 0 0 0 0

CP_DMA_INLINK_ADDR 0x000

0
Reset

CP_DMA_INLINK_ADDR  20 b(/)
CP_DMA_INLINK_STOP  DMA  b(/)
CP_DMA_INLINK_START  DMA b(/)
CP_DMA_INLINK_RESTART b(/)
CP_DMA_INLINK_PARK 1 FSM b0 FSM b( )



93 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.8. CP_DMA_CONF_REG (0x003C)

CP_DMA_CLK_EN
31 30

(reserved)

CP_DCMPA__DCCMHPAE_C_DOKCM_UPOAT__W_DIANNCMU_EPATOR_O_WDO_CMNWUPEATR_R__BDFOACMIWCFPAOKN___DECRCRMMSPATD__FDOIMFUOAT___RIRNSS_TTRST
87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

CP_DMA_IN_RST  DMA FSMb(/) CP_DMA_OUT_RST  DMA FSMb(/) CP_DMA_CMDFIFO_RST  in_cmd FIFO  out_cmd FIFOb(/) CP_DMA_FIFO_RST  RX FIFO b(/) CP_DMA_OUT_OWNER              b    
CP_DMA_OUT_AUTO_WRBACK b(/) CP_DMA_IN_OWNER b(/) CP_DMA_OUT_AUTO_WRBACK b(/) CP_DMA_CHECK_OWNER b(/) CP_DMA_CLK_EN 1'b1b1'b0b(/)

Register 2.9. CP_DMA_IN_EOF_DES_ADDR_REG (0x001C)

CP_DMA_IN_SUC_EOF_DES_ADDR

31

0

0x000000

Reset

CP_DMA_IN_SUC_EOF_DES_ADDR  suc_eof  b()



94 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)
Register 2.10. CP_DMA_OUT_EOF_BFR_DES_ADDR_REG (0x0020)
CP_DMA_OUT_EOF_BFR_DES_ADDR
31
0x000000
CP_DMA_OUT_EOF_BFR_DES_ADDR  ()

GoBack
0
Reset

Register 2.11. CP_DMA_INLINK_DSCR_REG (0x0024)

CP_DMA_INLINK_DSCR

31

0

0

Reset

CP_DMA_INLINK_DSCR  x+1b()

Register 2.12. CP_DMA_INLINK_DSCR_BF0_REG (0x0028)
CP_DMA_INLINK_DSCR_BF0
31
0
CP_DMA_INLINK_DSCR_BF0  xb()

0
Reset



95 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.13. CP_DMA_OUTLINK_DSCR_REG (0x0030)

CP_DMA_OUTLINK_DSCR

31

0

0

Reset

CP_DMA_OUTLINK_DSCR  y+1b()

Register 2.14. CP_DMA_OUTLINK_DSCR_BF0_REG (0x0034)
CP_DMA_OUTLINK_DSCR_BF0
31
0
CP_DMA_OUTLINK_DSCR_BF0  y-1 b()

0
Reset

Register 2.15. CP_DMA_IN_ST_REG (0x0040)

(reserved)

CP_DMA_FCIFPO__DEMMAP_TINY_SCTPA_TDEMA_IN_DSCR_STATE

31

24 23 22

20 19 18 17

0 0 0 0 0 0 0 00

0

0

CP_DMA_INLINK_DSCR_ADDR 0

0
Reset

CP_DMA_INLINK_DSCR_ADDR c 18 b b()
CP_DMA_IN_DSCR_STATE b()
CP_DMA_IN_STATE b()
CP_DMA_FIFO_EMPTY Copy DMA FIFO b()



96 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.16. CP_DMA_OUT_ST_REG (0x0044)

(reserved)

CP_DMA_FCIFPO__DFMUAL_LOUTC_PS_TDATMEA_OUT_DSCR_STATE

31

24 23 22

20 19 18 17

0 0 0 0 0 0 0 00

0

0

CP_DMA_OUTLINK_DSCR_ADDR 0

0
Reset

CP_DMA_OUTLINK_DSCR_ADDR c  18 b b()
CP_DMA_OUT_DSCR_STATE b()
CP_DMA_OUT_STATE b()
CP_DMA_FIFO_FULL Copy DMA FIFO b()

Register 2.17. CP_DMA_DATE_REG (0x00FC)
CP_DMA_DMA_DATE
31
0x18082000
CP_DMA_DMA_DATE b(/)

0
Reset



97 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.18. CRYPTO_DMA_CONF0_REG (0x0000)

(reserved)

CRYPTCOR_YPDTCMORA_Y_PDMTCMEORAM_Y_PD_OTTCMURORATA_Y__NPDIDNSTCMA_ODRTAES_YA_NCPD_OTRCMBUO_RUAT_BYR_DPDUSOSTCMTRUCO_RSATR_YTE___PDN_OEBTECMOUUONRAFTR_Y___SPDOMNTTCMUO_OORATE_D_Y__NRPDEOAETCMUUSORATTT_YAO__PDRIL_NTCMTOWO_R_OARL_YC_POBPDLA_AOTCMRTHCOPREABK__YS_MTPDTAE_TMHSORABTS__MTDO_MUFATIF__OIRN_S_RTRSSTT

31

13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 Reset

CRYPTO_DMA_IN_RST  DMA FSM  RX FIFO b(/)
CRYPTO_DMA_OUT_RST  DMA FSM  TX FIFO b(/)
CRYPTO_DMA_AHBM_FIFO_RST  DMA AHB  FIFO b(/)
CRYPTO_DMA_AHBM_RST  DMA  AHB b(/)
CRYPTO_DMA_IN_LOOP_TEST b(/)
CRYPTO_DMA_OUT_LOOP_TEST b(/)
CRYPTO_DMA_OUT_AUTO_WRBACK  TX Buffer  b(/)
CRYPTO_DMA_OUT_NO_RESTART_CLR b(/)
CRYPTO_DMA_OUT_EOF_MODE TX FIFO  EOF b1  DMA  FIFO  TX  EOF 0 DMA  FIFO  EOF 0(/)
CRYPTO_DMA_OUTDSCR_BURST_EN  1 TX FIFO  RAM  INCR b(/)
CRYPTO_DMA_INDSCR_BURST_EN  1 RX FIFO  RAM  INCR b(/)
CRYPTO_DMA_OUT_DATA_BURST_EN  1 TX FIFO  RAM  INCR  b(/)
CRYPTO_DMA_MEM_TRANS_EN  1 DMA b(/)



98 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.19. CRYPTO_DMA_OUT_LINK_REG (0x0024)

CRYPTCOR_YPDTCMORA_Y_PDOTCMUORAT_Y_LPDOINTMUKOAT___LPDOIANMURKATK__LROINEUSKTT_ALSIRTNTAKR_(TrSeTsOePrved)
31 30 29 28 27

20 19

0 0 0 00 0 0 0 0 0 0 0

CRYPTO_DMA_OUTLINK_ADDR 0x000

0
Reset

CRYPTO_DMA_OUTLINK_ADDR  20 b(/)
CRYPTO_DMA_OUTLINK_STOP  DMA  b(/)
CRYPTO_DMA_OUTLINK_START  DMA b(/)
CRYPTO_DMA_OUTLINK_RESTART  DMA b(/)
CRYPTO_DMA_OUTLINK_PARK 1 FSM b0 FSM  b()

Register 2.20. CRYPTO_DMA_IN_LINK_REG (0x0028)

CRYPTCOR_YPDTCMORA_Y_PDINTCMOLRAI_YN_PDKINTM_OLPAI_AN_DRKINMK_LRAINE_SKINT_ALSIRTNTAKR(_rTeSsTeOrPved)
31 30 29 28 27

CRYPTO_DMA_INLINK_AUTO_RET
21 20 19

0 0 0 00 0 0 0 0 0 0 1

CRYPTO_DMA_INLINK_ADDR 0x000

0
Reset

CRYPTO_DMA_INLINK_ADDR  20 b(/) CRYPTO_DMA_INLINK_AUTO_RET b(/) CRYPTO_DMA_INLINK_STOP  DMA 
b(/) CRYPTO_DMA_INLINK_START  DMA b(/) CRYPTO_DMA_INLINK_RESTART b(/) CRYPTO_DMA_INLINK_PARK 1 FSM b0 FSM 
b()



99 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.21. CRYPTO_DMA_CONF1_REG (0x002C)

(reserved)

CRYPTO_CDRMYPAT_OE_XDTM_MA_ECMH_EBCKK__SOIZWENER

CRYPTO_DMA_INFIFO_FULL_THRS

31

15 14 13 12 11

0

00000000000000000 0 0

0

Reset

CRYPTO_DMA_INFIFO_FULL_THRS               CRYPTO_DMA_INFIFO_FULL_WM_INT b(/)
CRYPTO_DMA_CHECK_OWNER b(/)
CRYPTO_DMA_EXT_MEM_BK_SIZE DMA  block sizeb016 132 2 64 3b(/)

Register 2.22. CRYPTO_DMA_AHB_TEST_REG (0x0048)

(reserved)

CRYPTO_(rDesMeArv_eAdH)BC_RTYEPSTTAOD_DDRMA_AHB_TESTMODE

31

65

432

0

00000000000000000000000000 0 0

0

Reset

CRYPTO_DMA_AHB_TESTMODE b(/) CRYPTO_DMA_AHB_TESTADDR b(/)

Register 2.23. CRYPTO_DMA_AES_SHA_SELECT_REG (0x0064)

(reserved)

CRYPTO_DMA_AES_SHA_SELECT

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

CRYPTO_DMA_AES_SHA_SELECT  AES  SHA  DMAb0AESb1SHAb(/)



100 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.24. CRYPTO_DMA_PD_CONF_REG (0x0068)

(reserved)

CRYPTCOR_YPDTCMORA_Y_PDRTMAOMA___DRCMALMAK(__r_eRFFsAOOeMRrvC_eFEdO_) PRUCE_PD

31

76 5 43

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 Reset

CRYPTO_DMA_RAM_FORCE_PD  RAM       b0    RAM  1   CRYPTO_DMA_RAM_FORCE_P  0  RAM b(/)

CRYPTO_DMA_RAM_FORCE_PU 

RAM

      b0  

CRYPTO_DMA_RAM_FORCE_PD  1  RAM 1 RAM b(/)

CRYPTO_DMA_RAM_CLK_FO 1 DMA  RAM b0 DMA  RAM b(/)

Register 2.25. CRYPTO_DMA_DATE_REG (0x00FC)
CRYPTO_DMA_DATE
31
0x19050700
CRYPTO_DMA_DATE b(/)

0
Reset



101 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.26. CRYPTO_DMA_INT_RAW_REG (0x0004)

(reserved)

CRYPTCOR_YPDTCMORA_Y_PDINTCMOFRAI_YF_PDOOTCM_UORFAT_YU__PDLTINTCMLOO__RTAWDA_Y_LPDSMO_CTCMU_EORRAITON__Y__FPDTEID_NM_TCMSIO_RNRPACDA_YTT_RWPSD_YO_CTCMR_UEORRAIARTN__WY__RTPDEOE__RTCMOUIRONRRAFTA__TY___WIPD_NIIDNNTRMTOO_TA_AN_WE_R_ERRDAI_NRAMWIW__NAEST_OU_INFCR___AIDEWNOOTFN__REI_ANWITN_TR_ARWAW

31

10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

CRYPTO_DMA_IN_DONE_INT_RAW   buffer b()
CRYPTO_DMA_IN_SUC_EOF_INT_RAW  DMA  RX FIFO  b()
CRYPTO_DMA_IN_ERR_EOF_INT_RAW b()
CRYPTO_DMA_OUT_DONE_INT_RAW  TX FIFO  b()
CRYPTO_DMA_OUT_EOF_INT_RAW  out EOF b( )
CRYPTO_DMA_IN_DSCR_ERR_INT_RAW  ab()
CRYPTO_DMA_OUT_DSCR_ERR_INT_RAW  ab()
CRYPTO_DMA_IN_DSCR_EMPTY_INT_RAW a b()
CRYPTO_DMA_OUT_TOTAL_EOF_INT_RAW  EOF a b()
CRYPTO_DMA_INFIFO_FULL_WM_INT_RAW          RX FIFO  CRYPTO_DMA_INFIFO_FULL_THRS                   b( )



102 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.27. CRYPTO_DMA_INT_ST_REG (0x0008)

(reserved)

CRYPTCOR_YPDTCMORA_Y_PDINTCMOFRAI_YF_DPOOTCM_UORFAT_YU__PDLTINTCMLOO__RTAWDA_Y_LPSDMO_CTCMU_EORRAITON__Y__FPDTEID_NM_TCMSIO_SNRPACTD_YTT_RPSD_YO_CTCMS_UEOTRRIARTN__Y__RTPDEOE__RTCMOUISONRRAFTT__TY___IPD_NIIDNNSTMTOOT_T_AN_E_S_ERSDTI_TNRMI__NAEST_OU_INFCS___TIDENOOTFN__SEIT_NITN_TS_TST

31

10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

CRYPTO_DMA_IN_DONE_INT_ST CRYPTO_DMA_IN_DONE_INT b()
CRYPTO_DMA_IN_SUC_EOF_INT_ST CRYPTO_DMA_IN_SUC_EOF_INT b ()
CRYPTO_DMA_IN_ERR_EOF_INT_ST b()
CRYPTO_DMA_OUT_DONE_INT_ST CRYPTO_DMA_OUT_DONE_INT b( )
CRYPTO_DMA_OUT_EOF_INT_ST CRYPTO_DMA_OUT_EOF_INT b()
CRYPTO_DMA_IN_DSCR_ERR_INT_ST CRYPTO_DMA_IN_DSCR_ERR_INT  b()
CRYPTO_DMA_OUT_DSCR_ERR_INT_ST CRYPTO_DMA_OUT_DSCR_ERR_INT  b()
CRYPTO_DMA_IN_DSCR_EMPTY_INT_ST CRYPTO_DMA_IN_DSCR_EMPTY_INT  b()
CRYPTO_DMA_OUT_TOTAL_EOF_INT_ST CRYPTO_DMA_OUT_TOTAL_EOF_INT  b()
CRYPTO_DMA_INFIFO_FULL_WM_INT_ST CRYPTO_DMA_INFIFO_FULL_WM_INT  b()



103 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.28. CRYPTO_DMA_INT_ENA_REG (0x000C)

(reserved)

CRYPTCOR_YPDTCMORA_Y_PDINTCMOFRAI_YF_PDOOTCM_UORFAT_YU__PDLTINTCMLOO__RTAWDA_Y_LPDSMO_CTCMU_EORRAITON__Y__FPDTEID_NM_TCMSIO_ENRPACND_YTT_RPSDA_YO_CTCME_UEORNRIARTN__YA__RTDPEOE__RTCMOUIEONRRAFTN__TY___AIPD_NIIDNNTEMTOO_NT_AN_E_AE_EREDNI_NNRMAI_A_NAEST_OU_INFCE___NIDENAOOTFN__EEIN_NIATN_TE_NEANA

31

10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

CRYPTO_DMA_IN_DONE_INT_ENA CRYPTO_DMA_IN_DONE_INT b(/) CRYPTO_DMA_IN_SUC_EOF_INT_ENA CRYPTO_DMA_IN_SUC_EOF_INT        b
(/) CRYPTO_DMA_IN_ERR_EOF_INT_ENA b(/) CRYPTO_DMA_OUT_DONE_INT_ENA CRYPTO_DMA_OUT_DONE_INT b(/)

CRYPTO_DMA_OUT_EOF_INT_ENA CRYPTO_DMA_OUT_EOF_INT b(/)
CRYPTO_DMA_IN_DSCR_ERR_INT_ENA CRYPTO_DMA_IN_DSCR_ERR_INT b (/)
CRYPTO_DMA_OUT_DSCR_ERR_INT_ENA CRYPTO_DMA_OUT_DSCR_ERR_INT  b(/)
CRYPTO_DMA_IN_DSCR_EMPTY_INT_ENA CRYPTO_DMA_IN_DSCR_EMPTY_INT  b(/)
CRYPTO_DMA_OUT_TOTAL_EOF_INT_ENA CRYPTO_DMA_OUT_TOTAL_EOF_INT  b(/)
CRYPTO_DMA_INFIFO_FULL_WM_INT_ENA CRYPTO_DMA_INFIFO_FULL_WM_INT  b(/)



104 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.29. CRYPTO_DMA_INT_CLR_REG (0x0010)

(reserved)

CRYPTCOR_YPDTCMORA_Y_PDINTCMOFRAI_YF_PDOOTCM_UORFAT_YU__PDLTINTCMLOO__RTAWDA_Y_LPDSMO_CTCMU_EORRAITON__Y__FPDTEID_NM_TCMSIOC_NRPACDL_YTT_RRPSD_YO_CTCMC_UEORRLIARTN_R_Y__RTPDEOE__RTCMOUICONRRAFTL__TY___RIPD_NIIDNNCTMTOO_TL_ANR_E_C_ECRDLI_NRLMRIR__NAEST_OU_INFCC___LIDERNOOTFN__CEI_LNRITN_TC_LCRLR

31

10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

CRYPTO_DMA_IN_DONE_INT_CLR  CRYPTO_DMA_IN_DONE_INT b()
CRYPTO_DMA_IN_SUC_EOF_INT_CLR  CRYPTO_DMA_IN_SUC_EOF_INT b ()
CRYPTO_DMA_IN_ERR_EOF_INT_CLR b()
CRYPTO_DMA_OUT_DONE_INT_CLR  CRYPTO_DMA_OUT_DONE_INT b( )
CRYPTO_DMA_OUT_EOF_INT_CLR  CRYPTO_DMA_OUT_EOF_INT b()
CRYPTO_DMA_IN_DSCR_ERR_INT_CLR  CRYPTO_DMA_IN_DSCR_ERR_INT b ()
CRYPTO_DMA_OUT_DSCR_ERR_INT_CLR  CRYPTO_DMA_OUT_DSCR_ERR_INT b()
CRYPTO_DMA_IN_DSCR_EMPTY_INT_CLR  CRYPTO_DMA_IN_DSCR_EMPTY_INT b()
CRYPTO_DMA_OUT_TOTAL_EOF_INT_CLR  CRYPTO_DMA_OUT_TOTAL_EOF_INT b()
CRYPTO_DMA_INFIFO_FULL_WM_INT_CLR  CRYPTO_DMA_INFIFO_FULL_WM_INT b()



105 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.30. CRYPTO_DMA_OUT_STATUS_REG (0x0014)

(reserved)

CRYPTCOR_YPDTMOA__DOMUAT__OEMUTP_TFYULL

31

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Reset

CRYPTO_DMA_OUT_FULL 1DMA  TX FIFO b() CRYPTO_DMA_OUT_EMPTY 1DMA  TX FIFO b()

Register 2.31. CRYPTO_DMA_IN_STATUS_REG (0x001C)

(reserved)

CRYPTCOR_YPDTMOA__DINM_AE_MINP_TFYULL

31

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Reset

CRYPTO_DMA_IN_FULL 1DMA  RX FIFO b() CRYPTO_DMA_IN_EMPTY 1DMA  RX FIFO b()



106 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

(reserved)

31

27 26

00000

Register 2.32. CRYPTO_DMA_STATE0_REG (0x0030)

CRYPTO_DMA_INFICFORY_PCTNOT__DDMEBACU_RGINY_PSTTOA_TDEMA_IN_DSCR_STATE

23 22

20 19 18 17

0

0

0

CRYPTO_DMA_INLINK_DSCR_ADDR 0

0
Reset

CRYPTO_DMA_INLINK_DSCR_ADDR c  18 b b()
CRYPTO_DMA_IN_DSCR_STATE b()
CRYPTO_DMA_IN_STATE b()
CRYPTO_DMA_INFIFO_CNT_DEBUG  FIFO b()

(reserved)

31

28 27

0000

Register 2.33. CRYPTO_DMA_STATE1_REG (0x0034)

CRYPTO_DMA_OUTFIFCOR_YCPNTOT_DMAC_ROYUPTT_OS_TDATMEA_OUT_DSCR_STATE

23 22

20 19 18 17

0

0

0

CRYPTO_DMA_OUTLINK_DSCR_ADDR 0

CRYPTO_DMA_OUTLINK_DSCR_ADDR b() CRYPTO_DMA_OUT_DSCR_STATE b() CRYPTO_DMA_OUT_STATE b() CRYPTO_DMA_OUTFIFO_CNT  FIFO b()

0
Reset



107 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.34. CRYPTO_DMA_OUT_EOF_DES_ADDR_REG (0x0038)

CRYPTO_DMA_OUT_EOF_DES_ADDR

31

0

0x000000

Reset

CRYPTO_DMA_OUT_EOF_DES_ADDR  EOF  1 b ()

Register 2.35. CRYPTO_DMA_IN_SUC_EOF_DES_ADDR_REG (0x003C)

CRYPTO_DMA_IN_SUC_EOF_DES_ADDR

31

0

0x000000

Reset

CRYPTO_DMA_IN_SUC_EOF_DES_ADDR  suc_eof  b()

Register 2.36. CRYPTO_DMA_IN_ERR_EOF_DES_ADDR_REG (0x0040)

CRYPTO_DMA_IN_ERR_EOF_DES_ADDR

31

0

0x000000

Reset

CRYPTO_DMA_IN_ERR_EOF_DES_ADDR b ()



108 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.37. CRYPTO_DMA_OUT_EOF_BFR_DES_ADDR_REG (0x0044)

CRYPTO_DMA_OUT_EOF_BFR_DES_ADDR

31

0

0x000000

Reset

CRYPTO_DMA_OUT_EOF_BFR_DES_ADDR b()

Register 2.38. CRYPTO_DMA_IN_DSCR_REG (0x004C)

CRYPTO_DMA_INLINK_DSCR

31

0

0

Reset

CRYPTO_DMA_INLINK_DSCR   x+1b()

Register 2.39. CRYPTO_DMA_IN_DSCR_BF0_REG (0x0050)

CRYPTO_DMA_INLINK_DSCR_BF0

31

0

0

Reset

CRYPTO_DMA_INLINK_DSCR_BF0  xb()



109 

ESP32-S2 TRM ( 1.3)

 2  DMA  (DMA)

GoBack

Register 2.40. CRYPTO_DMA_OUT_DSCR_REG (0x0058)

CRYPTO_DMA_OUTLINK_DSCR

31

0

0

Reset

CRYPTO_DMA_OUTLINK_DSCR   y+1b()

Register 2.41. CRYPTO_DMA_OUT_DSCR_BF0_REG (0x005C)

CRYPTO_DMA_OUTLINK_DSCR_BF0

31

0

0

Reset

CRYPTO_DMA_OUTLINK_DSCR_BF0  yb()



110 

ESP32-S2 TRM ( 1.3)

GoBack
 II  
 RAMaROMaeFuse  b



111 

ESP32-S2 TRM ( 1.3)

 3  

GoBack

3

3.1 
ESP32-S2  Xtensa® LX7 CPU ba CPU b
3.2 
·  ­  4 GBc32  ­ 464 KB  ­ 400 KB  ­ 1.77 MB  ­ 7.5 MB  ­ 14.5 MB  ­ 320 KB  DMA  ­ 10.5 MB  DMA 
·  ­ 128 KB Internal ROM ­ 320 KB Internal SRAM ­ 8 KB RTC FAST Memory ­ 8 KB RTC SLOW Memory
·  ­  1 GB  SPI flash ­  1 GB  SPI RAM
· DMA ­ 9  DMA  / 
 3.2-1 b



112 

ESP32-S2 TRM ( 1.3)

 3  

External memory

MMU DMA

Cache

0x0000_0000 0x3EFF_FFFF
0x3F00_0000 0x3F3F_FFFF
0x3F40_0000 0x3F4F_FFFF
0x3F50_0000 0x3FF7_FFFF
0x3FF8_0000 0x3FF9_DFFF
0x3FF9_E000 0x3FFF_FFFF
0x4000_0000 0x4007_1FFF
0x4007_2000 0x4007_FFFF
0x4008_0000 0x407F_FFFF
0x4080_0000 0x4FFF_FFFF
0x5000_0000 0x5000_1FFF
0x5000_2000 0x5FFF_FFFF
0x6000_0000 0x600B_FFFF
0x600C_0000 0x617F_FFFF
0x6180_0000 0x6180_3FFF
0x6180_4000 0xFFFF_FFFF

 3.2-1. 

Internal memory Peripheral

 · b · b

GoBack
DMA

3.3 
3.3.1 
 Xtensa® LX7 CPU CPU  4 GBc32 b  0x4000_0000  0x4000_0000 ~ 0x4FFF_FFFF   0x5000_0000 b CPU bCPU aabCPU   CPU b CPU 
·  ·  cache  ·  / b



113 

ESP32-S2 TRM ( 1.3)

 3  

GoBack

 3.3-1  CPU b
CPU  b

 3.3-1. 



    /   /   / 







0x0000_0000 0x3EFF_FFFF

0x3F00_0000 0x3F3F_FFFF

0x3F40_0000 0x3F4F_FFFF

0x3F50_0000 0x3FF7_FFFF

0x3FF8_0000 0x3FF9_DFFF

0x3FF9_E000 0x3FFF_FFFF

0x4000_0000 0x4007_1FFF

0x4007_2000 0x4007_FFFF

0x4008_0000 0x407F_FFFF

0x4080_0000 0x4FFF_FFFF

0x5000_0000 0x5000_1FFF

0x5000_2000 0x5FFF_FFFF

0x6000_0000 0x600B_FFFF

0x600C_0000 0x617F_FFFF

0x6180_0000 0x6180_3FFF

0x6180_4000 0xFFFF_FFFF


4 MB 1 MB 10.5 MB
392 KB 456 KB
7.5 MB
8 KB
768 KB
16 KB


 
 
  
 
 
    

3.3.2 
Internal ROM (128 KB)aInternal SRAM (320 KB)aRTC FAST Memory (8 KB)aRTC SLOW Memory (8 KB)b 128 KB Internal ROM  64 KB Internal ROM 0a64 KB Internal ROM 1 b 320 KB Internal SRAM  32 KB Internal SRAM 0a288 KB Internal SRAM 1 b RTC FAST Memory  RTC SLOW Memory  SRAMb  3.3-2 b

 3.3-2. 

  







0x3FF9_E000 0x3FF9_FFFF

0x3FFA_0000 0x3FFA_FFFF

0x3FFB_0000 0x3FFB_7FFF

0x3FFB_8000 0x3FFF_FFFF

0x4000_0000 0x4000_FFFF

0x4001_0000 0x4001_FFFF

0x4002_0000 0x4002_7FFF


8 KB 64 KB 32 KB 288 KB 64 KB 64 KB 32 KB


RTC FAST Memory Internal ROM 1 Internal SRAM 0 Internal SRAM 1 Internal ROM 0 Internal ROM 1 Internal SRAM 0


YES NO YES YES NO NO YES



114 

ESP32-S2 TRM ( 1.3)

 3  

GoBack

 







0x4002_8000 0x4006_FFFF

0x4007_0000 0x4007_1FFF

0x5000_0000 0x5000_1FFF


288 KB 8 KB 8 KB


Internal SRAM 1 RTC FAST Memory RTC SLOW Memory


YES YES YES

  3.3-2 op YESb  / b

3.3.2.1 Internal ROM 0
Internal ROM 0  64 KBb 3.3-2 CPU b
3.3.2.2 Internal ROM 1
Internal ROM 1  64 KBb 3.3-2 CPU b  Internal ROM 1 0x3FFA_0000  0x4001_0000 0x3FFA_0004  0x4001_0004 0x3FFA_0008  0x4001_0008 b
3.3.2.3 Internal SRAM 0
Internal SRAM 0  32 KBb 3.3-2 CPU b  8 KBa16 KBa24 KB  32 KB  cache  b cache  CPU  cache  CPU b
3.3.2.4 Internal SRAM 1
Internal SRAM 1  288 KBb 3.3-2 CPU b Internal SRAM 1  288 KB  18  16 KB cb 1  Trace Memory  CPU  Trace  Trace Memory  CPU b
3.3.2.5 RTC FAST Memory
RTC FAST Memory  8 KB SRAMb 3.3-2 CPU b
3.3.2.6 RTC SLOW Memory
RTC SLOW Memory  8 KB SRAMb 3.3-2 CPU  b RTC SLOW Memory  CPU  0x3F42_1000 ~ 0x3F42_2FFF  0x6002_1000 ~ 0x6002_2FFF b



115 

ESP32-S2 TRM ( 1.3)

 3  

GoBack

3.3.3 
ESP32-S2  QSPI / OSPI flash  (RAM)bESP32-S2  XTS-AES   flash  RAM b

3.3.3.1 
CPU  (cache) bCache  MMU  CPU   flash  RAM b 1 GB   flash  1 GB  RAMb
ESP32-S2 
· 7.5 MB  (ICache)  64 KB  flash  RAM aab
· 4 MB  (ICache)  64 KB  flash  RAM aab
· 10.5 MB  (DCache)  64 KB  RAMa ab flash  RAMb
 3.3-3  CPU  cache b
 3.3-3. 


  







0x3F00_0000 0x3F3F_FFFF

0x3F50_0000 0x3FF7_FFFF

0x4008_0000 0x407F_FFFF


4 MB 10.5 MB
7.5 MB


ICache DCache ICache


YES YES YES

  3.3-3 op YESb  / b

3.3.3.2 
 3.3-1 ESP32-S2 cache  CPU  bCache c 3.3.2.3b cache cache   ICache  DCache  bICache  DCache  8 KB  16 KB 16 B  32 Bb



116 

ESP32-S2 TRM ( 1.3)

 3  

GoBack

 3.3-1. Cache 
3.3.3.3 Cache 
ESP32-S2 cache  1.  (Invalidate) Tag  (Valid bit)b CPU  bb cache   cache bICache  DCache b 2.  (Clean) Tag  (Dirty bit)b CPU   cache b DCache b 3.  (Write-back) Tag  b CPU  cache b DCache b 4.  (Preload)Preload  cache b 1 b   / cb 5.  /  (Lock / Unlock)cache  cache memory cache  cache memory  b cache b , cache  cache bbCache ab
3.3.4 DMA 
ESP32-S2  (direct memory access, DMA)  ·  /  ·  ·  /  · b
DMA  CPU  Internal SRAM 0  Internal SRAM 1 0x3FFB_0000 ~ 0x3FFB_7FFF  Internal SRAM 0 0x3FFB_8000 ~ 0x3FFF_FFFF  Internal SRAM 1b DMA  cache b



117 

ESP32-S2 TRM ( 1.3)

 3  

GoBack

DMA  CPU  DCache  (0x3F50_0000 ~ 0x3FF7_FFFF)   RAMb DCache  DMA b
 DMA  /  9  3.3-4 b /  DMA  b DMA  2 DMA b
 3.3-4.  DMA  / 

UART0

UART1

SPI2

SPI3

I2S0

ADC Controller

Copy DMA

AES Accelerator SHA Accelerator

3.3.5  / 
CPU  0x3F40_0000 ~ 0x3F4F_FFFFa /  0x6000_0000 ~ 0x600B_FFFF  0x6180_0000 ~ 0x6180_3FFF  / b
3.3.5.1 
 · PeriBus1 0x3F40_0000 ~ 0x3F4F_FFFF oPeriBus1 poPeriBus1p  0x3F40_0000b · PeriBus2 0x6000_0000 ~ 0x600B_FFFF  0x6180_0000 ~ 0x6180_3FFF  oPeriBus2 poPeriBus2p 0x6000_0000b
oPeriBus1poPeriBus2pb
3.3.5.2 
 CPU  PeriBus2  / CPU  PeriBus1  / b PeriBus1   (speculative read)  /   FIFO  PeriBus2 b PeriBus1   volatile PeriBus2 b
3.3.5.3  / 
 3.3-5  /  / bo pb /  b



118 

ESP32-S2 TRM ( 1.3)

 3  

GoBack

 3.3-5.  / 


UART0  SPI1 SPI0 GPIO   RTC IO MUX  I2S0 UART1  I2C0 UHCI0  RMT PCNT  LED PWM Controller eFuse Controller  Timer Group 0 Timer Group 1 RTC SLOW Memory System Timer SPI2 SPI3 SYSCON I2C1  TWAI Controller  USB External Control Registers AES Accelerator SHA Accelerator RSA Accelerator Digital Signature HMAC Crypto DMA 







0x0000_0000 0x0000_0FFF

0x0000_1000 0x0000_1FFF

0x0000_2000 0x0000_2FFF

0x0000_3000 0x0000_3FFF

0x0000_4000 0x0000_4FFF

0x0000_5000 0x0000_6FFF

0x0000_7000 0x0000_7FFF

0x0000_8000 0x0000_8FFF

0x0000_9000 0x0000_9FFF

0x0000_A000 0x0000_EFFF

0x0000_F000 0x0000_FFFF

0x0001_0000 0x0001_0FFF

0x0001_1000 0x0001_2FFF

0x0001_3000 0x0001_3FFF

0x0001_4000 0x0001_4FFF

0x0001_5000 0x0001_5FFF

0x0001_6000 0x0001_6FFF

0x0001_7000 0x0001_7FFF

0x0001_8000 0x0001_8FFF

0x0001_9000 0x0001_9FFF

0x0001_A000 0x0001_AFFF

0x0001_B000 0x0001_EFFF

0x0001_F000 0x0001_FFFF

0x0002_0000 0x0002_0FFF

0x0002_1000 0x0002_2FFF

0x0002_3000 0x0002_3FFF

0x0002_4000 0x0002_4FFF

0x0002_5000 0x0002_5FFF

0x0002_6000 0x0002_6FFF

0x0002_7000 0x0002_7FFF

0x0002_8000 0x0002_AFFF

0x0002_B000 0x0002_BFFF

0x0002_C000 0x0003_8FFF

0x0003_9000 0x0003_9FFF

0x0003_A000 0x0003_AFFF

0x0003_B000 0x0003_BFFF

0x0003_C000 0x0003_CFFF

0x0003_D000 0x0003_DFFF

0x0003_E000 0x0003_EFFF

0x0003_F000 0x0003_FFFF

0x0004_4000 0x000C_DFFF

Size  4 KB 1, 2, 3
4 KB 1, 2 4 KB 1, 2 4 KB 1, 2

4 KB 1, 2 4 KB 1, 2

4 KB 1, 2, 3 4 KB 1, 2, 3

4 KB 1, 2, 3 4 KB 1, 2

4 KB 1, 2, 3 4 KB 1, 2

4 KB 1, 2 4 KB 1, 2

4 KB 4 KB 8 KB 4 KB 4 KB 4 KB 4 KB 4 KB

1, 2 1, 2 1, 2, 3 1, 2 1, 2 1, 2 1, 2 1, 2, 3

4 KB 1, 2

4 KB 4 KB 4 KB 4 KB 4 KB 4 KB 4 KB

1, 2, 3, 4 1, 2 1, 2 1, 2 1, 2 1, 2 1, 2



119 

ESP32-S2 TRM ( 1.3)

 3  

ADC Controller  USB Core Registers System Registers PMS Registers Interrupt Matrix Copy DMA  Dedicated GPIO  

GoBack







0x0004_0000 0x0004_0FFF

0x0004_1000 0x0007_FFFF

0x0008_0000 0x000B_FFFF

0x000C_0000 0x000C_0FFF

0x000C_1000 0x000C_1FFF

0x000C_2000 0x000C_2FFF

0x000C_3000 0x000C_3FFF

0x000C_4000 0x000C_EFFF

0x000C_F000 0x000C_FFFF

0x000D_1000 0x000F_FFFF

0x0180_0000 0x0180_3FFF

Size 4 KB
256 KB 4 KB 4 KB 4 KB 4 KB
4 KB

 1, 2
1, 2, 3, 4 1 1 1 1
1


1.  /  PeriBus1 b 2.  /  PeriBus2 b 3.  PeriBus1  / c 3.3.5.4 b 4.  / b

3.3.5.4 PeriBus1 
 3.3.5.2 PeriBus1  (speculative read)  /  FIFO  b 3.3-6  PeriBus1 b4  b 14b

 3.3-6. 

 UART0 UART1 I2S0 RMT I2C0 I2C1 USB OTG

 /  0x3F40_0000 0x3F41_0000 0x3F40_F004
0x3F41_6000 ~ 0x3F41_600F 0x3F41_301C 0x3F42_701C
0x3F48_0020, 0x3F48_1000 ~ 0x3F49_0FFF



120 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

4 eFuse  (eFuse)

4.1 
ESP32-S2  4096  eFusebeFuse  1  0beFuse  eFuse beFuse   eFuse b b eFuse c aHMAC b

4.2 
·  ·  ·  · 

4.3 

4.3.1 
eFuse  11  (BLOCK0 ~ BLOCK10)b BLOCK0  24  38  b
 4.3-1 caaaa b
EFUSE_WR_DIS EFUSE_RD_DIS  BLOCK4 ~ BLOCK10b 4.3.1.1a4.3.1.2b
 4.3-1. BLOCK0 

 EFUSE_WR_DIS EFUSE_RD_DIS

   EFUSE_WR_DIS 


0 32

Y

32 7

Y

N/A

 eFuse 

          eFuse 0
BLOCK4 ~ 10 



121 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack



   EFUSE_WR_DIS 


EFUSE_DIS_ICACHE

40 1

Y

2

 ICache

EFUSE_DIS_DCACHE

41 1

Y

2

 DCache

EFUSE_DIS_DOWNLOAD_ ICACHE

42 1

Y

 Download  2
ICache

EFUSE_DIS_DOWNLOAD_ DCACHE

43 1

Y

 Download  2
DCache

EFUSE_DIS_FORCE_DOWNLOAD 44 1

Y

 Down2
load 

EFUSE_DIS_USB

45 1

Y

2

 USB OTG 

EFUSE_DIS_CAN

46 1

Y

2

 TWAI 

EFUSE_DIS_BOOT_REMAP

47 1

Y

  RAM          2
ROM 

EFUSE_SOFT_DIS_JTAG

49 1

Y

2

 JTAG

EFUSE_HARD_DIS_JTAG

50 1

Y

2

 JTAGc

EFUSE_DIS_DOWNLOAD_ MAN-

51 1

Y

UAL_ENCRYPT

 download boot 

2

 flash 

EFUSE_USB_EXCHG_PINS

56 1

Y

30

 USB D+/D- 

EFUSE_EXT_PHY_ENABLE

57 1

N

30

 USB PHY

EFUSE_USB_FORCE_NOPERSIST 58 1

N

 USB BVALID  30
1

EFUSE_VDD_SPI_XPD

68 1

Y

  VDD_SPI_FORCE  1  3
VDD_SPI 

EFUSE_VDD_SPI_TIEH

69 1

Y

  VDD_SPI_FORCE  1  3
VDD_SPI 

EFUSE_VDD_SPI_FORCE

70 1

Y

 XPD_VDD_PSI_REG

3

 VDD_SPI_TIEH   VDD_SPI

LDO

EFUSE_WDT_DELAY_SEL

80 2

Y

3

 RTC 

EFUSE_SPI_BOOT_CRYPT_CNT 82 3

Y

4

 SPI boot 

EFUSE_SECURE_BOOT_KEY_

85 1

N

REVOKE0

 (Se5
cure Boot) 

EFUSE_SECURE_BOOT_KEY_

86 1

N

REVOKE1

6



EFUSE_SECURE_BOOT_KEY_

87 1

N

REVOKE2

7



EFUSE_KEY_PURPOSE_0

88 4

Y

 Key0  (purpose) 4.38
2

EFUSE_KEY_PURPOSE_1

92 4

Y

9

 Key1  4.3-2

EFUSE_KEY_PURPOSE_2

96 4

Y

10

 Key2  4.3-2

EFUSE_KEY_PURPOSE_3

100 4

Y

11

 Key3  4.3-2

EFUSE_KEY_PURPOSE_4

104 4

Y

12

 Key4  4.3-2

EFUSE_KEY_PURPOSE_5

108 4

Y

13

 Key5  4.3-2

EFUSE_SECURE_BOOT_EN

116 1

N

15





122 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack



   EFUSE_WR_DIS 


EFUSE_SECURE_BOOT_ AG-

117 1

N

GRESSIVE_REVOKE

 16


EFUSE_FLASH_TPUW

124 4

N

18

 flash 

EFUSE_DIS_DOWNLOAD_MODE 128 1

N

 download boot 18


EFUSE_DIS_LEGACY_SPI_BOOT 129 1

N

18

 Legacy SPI boot 

EFUSE_UART_PRINT_CHANNEL 130 1

N

 boot  UART  18


EFUSE_DIS_USB_DOWNLOAD_

132 1

N

MODE

 UART download boot  18
 USB OTG 

EFUSE_ENABLE_SECURITY_ DOWNLOAD

133 1

N

18

 UART 

EFUSE_UART_PRINT_CONTROL 134 2

N

18

 UART boot 

EFUSE_PIN_POWER_SELECTION 136 1

N

18

 GPIO33 ~ GPIO37 

EFUSE_FLASH_TYPE

137 1

N

18

 flash 

EFUSE_FORCE_SEND_RESUME 138 1

N

 ROM  SPI  18


EFUSE_SECURE_VERSION

139 16

N

18

 IDF 

 4.3-2 b EFUSE_KEY_PURPOSE_n  KEYn  (n: 0 ~ 5)b
 4.3-2. 

 0 1 2 3 4 5 6 7 8 9 10 11

    XTS_AES_256_KEY_1 c flash/SRAM   XTS_AES_256_KEY_2 c flash/SRAM   XTS_AES_128_KEY c flash/SRAM   HMAC Downstreamc  HMAC Downstream  JTAG   HMAC Downstream   HMAC Upstreamc  SECURE_BOOT_DIGEST0 csecure boot   SECURE_BOOT_DIGEST1 csecure boot   SECURE_BOOT_DIGEST2 csecure boot 

 4.3-3  BLOCK1 ~ BLOCK10 b



123 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

 4.3-3. BLOCK1-10 

 BLOCK1
BLOCK2 BLOCK3 BLOCK4 BLOCK5 BLOCK6 BLOCK7 BLOCK8 BLOCK9 BLOCK10

 EFUSE_MAC EFUSE_SPI_PAD_ CONFIGURE
EFUSE_SYS_DATA_PART0 EFUSE_SYS_DATA_PART1
EFUSE_USR_DATA EFUSE_KEY0_DATA EFUSE_KEY1_DATA EFUSE_KEY2_DATA EFUSE_KEY3_DATA EFUSE_KEY4_DATA EFUSE_KEY5_DATA EFUSE_SYS_DATA_PART2


48 [0:5] [6:11] [12:17] [18:23] [24:29] [30:35] [36:41] [42:47] [48:53] [54:59] [60:65]
78 256 256 256 256 256 256 256 256 256


N N N N N N N N N N N N N N N Y Y Y Y Y Y N

EFUSE_WR_DIS 
20 20 20 20 20 20 20 20 20 20 20 20 20 21 22 23 24 25 26 27 28 29

EFUSE_RD_DIS 
N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
0 1 2 3 4 5 6


MAC  CLK Q (D1) D (D0) CS HD (D3) WP (D2) DQS D4 D5 D6 D7    KEY0  KEY1  KEY2  KEY3  KEY4  KEY5  

BLOCK4 ~ 9  KEY0~5 eFuse  6  256 b c 4.3-2b HMAC Downstream  JTAG   KEY3c BLOCK7 6  EFUSE_KEY_PURPOSE_3b
BLOCK1 ~ BLOCK10  RS  4.3.1.3  4.3.2b

4.3.1.1 EFUSE_WR_DIS
 EFUSE_WR_DIS  eFuse b EFUSE_WR_DIS   eFuse c 4.3.3  eFuse b
 4.3-1  4.3-3 oEFUSE_WR_DIS p EFUSE_WR_DIS b
 0  b
 1   0 1b b



124 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

4.3.1.2 EFUSE_RD_DIS
 BLOCK4 ~ BLOCK10  4.3-3 oEFUSE_RD_DIS  poN/Apb EFUSE_RD_DIS  eFuse c  4.3.3  eFuse b  EFUSE_RD_DIS  0 1 b
 BLOCK4 ~ BLOCK10 b BLOCK4 ~ BLOCK10  EFUSE_KEY_PURPOSE_n  b
4.3.1.3 
eFuse b BLOCK0  4  BLOCK0 c EFUSE_WR_DIS  eFuse  4 b4 b BLOCK1 ~ BLOCK10  RS (44, 32)  6 b RS (44, 32)   p(x) = x8 + x4 + x3 + x2 + 1b

 4.3-1. c 32 



 4.3-2. c 12 

125 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

 4.3-1  4.3-2 32  RS (44, 32)  32  44  
·  [0:31]  ·  [32:43]  8  DFF1, DFF2, ..., DFF12 cgf_mul_n  GF (28) 
 n n 
 44  eFusebeFuse  eFuse  b
 RS  256  eFuse block  block b

4.3.2 
 eFuse bBLOCK0 ~ BLOCK10 b EFUSE_BLK_NUM b  BLOCK0  EFUSE_BLK_NUM = 0  BLOCK0bEFUSE_PGM_DATA0_REG  EFUSE_WR_DISb EFUSE_PGM_DATA1_REG ~ EFUSE_PGM_DATA5_REG  24   0
· EFUSE_PGM_DATA1_REG[29:31]
· EFUSE_PGM_DATA1_REG[20:23]
· EFUSE_PGM_DATA2_REG[7:15]
· EFUSE_PGM_DATA2_REG[0:3]
· EFUSE_PGM_DATA3_REG[16:19] EFUSE_PGM_DATA6_REG ~ EFUSE_PGM_DATA7_REG  EFUSE_PGM_CHECK_VALUE0_REG ~ EFUSE_PGM_CHECK_VALUE2_REG  BLOCK0 b  BLOCK1  EFUSE_BLK_NUM = 1 EFUSE_PGM_DATA0_REG ~ EFUSE_PGM_DATA5_REG  BLOCK1  EFUSE_PGM_CHECK_VALUE0_REG ~ EFUSE_PGM_CHECK_VALUE2_REG  RS  bEFUSE_PGM_DATA6_REG ~ EFUSE_PGM_DATA7_REG  BLOCK1 bRS   0b  BLOCK2 ~ 10  EFUSE_BLK_NUM = 2 ~ 10 EFUSE_PGM_DATA0_REG ~ EFUSE_PGM_DATA7_REG  EFUSE_PGM_CHECK_VALUE0_REG ~ EFUSE_PGM_CHECK_VALUE2_REG  RS  b 

1.  EFUSE_BLK_NUM b 2.  EFUSE_PGM_DATA0_REG ~ EFUSE_PGM_DATA7_REG 
EFUSE_PGM_CHECK_VALUE0_REG ~ EFUSE_PGM_CHECK_VALUE2_REG b



126 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

3.  eFuse  4.3.4.1eFuse b 4.  eFuse  VDDQ  4.3.4.2eFuse VDDQ b 5.  EFUSE_CONF_REG  EFUSE_OP_CODE  0x5A5Ab 6.  EFUSE_CMD_REG  EFUSE_PGM_CMD  1b 7.  EFUSE_CMD_REG  0x0b/
 4.3.3 b 8. b 9.  eFuse  4.3.3b 
BLOCK0 b bb EFUSE_WR_DIS  EFUSE_WR_DIS b  EFUSE_WR_DIS  EFUSE_WR_DIS b b
BLOCK1 b BLOCK2 ~ 10  BLOCK b

4.3.3 
 eFuse beFuse   EFUSE_RD_  eFuse b 4.3-4  b

 4.3-4. 

BLOCK 0 0 1 2 3 4-9 10

 EFUSE_RD_WR_DIS_REG EFUSE_RD_REPEAT_DATA0 ~ 4_REG EFUSE_RD_MAC_SPI_SYS_0 ~ 5_REG EFUSE_RD_SYS_PART1_0 ~ 7_REG EFUSE_RD_USR_DATA0 ~ 7_REG EFUSE_RD_KEYn_DATA0 ~ 7_REG (n: 0 ~ 5) EFUSE_RD_SYS_PART2_0 ~ 7_REG

 EFUSE_PGM_DATA0_REG EFUSE_PGM_DATA1 ~ 5_REG EFUSE_PGM_DATA0 ~ 5_REG EFUSE_PGM_DATA0 ~ 7_REG EFUSE_PGM_DATA0 ~ 7_REG EFUSE_PGM_DATA0 ~ 7_REG EFUSE_PGM_DATA0 ~ 7_REG

 eFuse  eFuse  eFuse b c eFuse b eFuse 
1.  eFuse  4.3.4.3eFuse b 2.  EFUSE_CONF_REG  EFUSE_OP_CODE  0x5AA5b 3.  EFUSE_CMD_REG  EFUSE_READ_CMD  1b



127 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

4.  EFUSE_CMD_REG  0x0 read_done interruptc /b
5.  eFuse b eFuse  eFuse b   eFuse b EFUSE_RD_REPEAT_ERR0 ~ 3_REG  BLOCK0  EFUSE_WR_DIS  c 1  0 b EFUSE_RD_RS_ERR0 ~ 1_REG  eFuse  BLOCK1 ~ BLOCK10  RS  b  eFuse b / /b 1  0 b
·  1 1.  EFUSE_INT_RAW_REG  1/0 1/0  1/b
·  2: 1.  EFUSE_INT_ENA_REG  1/0  1 eFuse /b 2.  CPU  EFUSE b 3. /b 4.  EFUSE_INT_CLR_REG  1/0  1 /b

4.3.4 
4.3.4.1 eFuse 
 4.3-3  eFuse b EFUSE_TSUP_AaEFUSE_TPGMaEFUSE_THP_A  EFUSE_TPGM_INACTIVE  eFuse b CSBaVDDQaPGENB  
· CSB · VDDQeFuse  · PGENB



128 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

 4.3-3. eFuse 

eFuse  CLK_APB b CLK_APB   4.3-5beFuse  20 MHz b
 4.3-5. eFuse 

APB Frequency
80 MHz 40 MHz 20 MHz

EFUSE_TSUP_A (> 6.669 ns)
0x2 0x1 0x1

EFUSE_TPGM (9-11 µs, usually 10 µs)
0x320 0x190 0xC8

EFUSE_THP_A (> 6.166 ns)
0x2 0x1 0x1

EFUSE_TPGM_INACTIVE (> 35.96 ns)
0x4 0x2 0x1

 4.3-3  A0  1 A0  eFuse  1A1 A1  eFuse  0b

4.3.4.2 eFuse VDDQ 
 APB  eFuse  VDDQ   4.3-6. VDDQ 

APB Frequency
80 MHz 40 MHz 20 MHz

EFUSE_DAC_CLK_DIV (> 1 µs)
0xA0 0x50 0x28

EFUSE_PWR_ON_NUM (> EFUSE_DAC_CLK_DIV*255)
0xA200 0x5100 0x2880

EFUSE_PWR_OFF_NUM (> 3 µs)
0x100 0x80 0x40

4.3.4.3 eFuse 
 4.3-4  eFuse b EFUSE_TSUR_AaEFUSE_TRD  EFUSE_THR_A   eFuse b



129 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

 4.3-4. eFuse 

 APB  4.3-7b  4.3-7. eFuse 

APB Frequency
80 MHz 40 MHz 20 MHz

EFUSE_TSUR_A (> 6.669 ns) 0x2 0x1 0x1

EFUSE_TRD (> 35.96 ns)
0x4 0x2 0x1

EFUSE_THR_A (> 6.166 ns) 0x2 0x1 0x1

4.3.5 
b 4.3-1  4.3-3o poYpb
4.3.6 
·  eFuse b EFUSE_PGM_DONE_INT_ENA  1b
·  eFuse b EFUSE_READ_DONE_INT_ENA  1b

4.4 
 eFuse  4.4-1 b  3 b



130 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

 4.4-1. eFuse 

 PeriBUS1 PeriBUS2

 0x3F41A000 0x6001A000

GoBack

4.5 

 eFuse cb 4.4  eFuse b

  EFUSE_PGM_DATA0_REG EFUSE_PGM_DATA1_REG EFUSE_PGM_DATA2_REG EFUSE_PGM_DATA3_REG EFUSE_PGM_DATA4_REG EFUSE_PGM_DATA5_REG EFUSE_PGM_DATA6_REG EFUSE_PGM_DATA7_REG EFUSE_PGM_CHECK_VALUE0_REG EFUSE_PGM_CHECK_VALUE1_REG EFUSE_PGM_CHECK_VALUE2_REG  EFUSE_RD_WR_DIS_REG EFUSE_RD_REPEAT_DATA0_REG EFUSE_RD_REPEAT_DATA1_REG EFUSE_RD_REPEAT_DATA2_REG EFUSE_RD_REPEAT_DATA3_REG EFUSE_RD_REPEAT_DATA4_REG EFUSE_RD_MAC_SPI_SYS_0_REG EFUSE_RD_MAC_SPI_SYS_1_REG EFUSE_RD_MAC_SPI_SYS_2_REG EFUSE_RD_MAC_SPI_SYS_3_REG EFUSE_RD_MAC_SPI_SYS_4_REG EFUSE_RD_MAC_SPI_SYS_5_REG EFUSE_RD_SYS_DATA_PART1_0_REG EFUSE_RD_SYS_DATA_PART1_1_REG EFUSE_RD_SYS_DATA_PART1_2_REG EFUSE_RD_SYS_DATA_PART1_3_REG EFUSE_RD_SYS_DATA_PART1_4_REG EFUSE_RD_SYS_DATA_PART1_5_REG EFUSE_RD_SYS_DATA_PART1_6_REG


 0 b  1 b  2 b  3 b  4 b  5 b  6 b  7 b  RS  0 b  RS  1 b  RS  2 b
BLOCK0  0 b BLOCK0  1 b BLOCK0  2 b BLOCK0  3 b BLOCK0  4 b BLOCK0  5 b BLOCK1  0 b BLOCK1  1 b BLOCK1  2 b BLOCK1  3 b BLOCK1  4 b BLOCK1  5 b BLOCK2 (system)  0 b BLOCK2 (system)  1 b BLOCK2 (system)  2 b BLOCK2 (system)  3 b BLOCK2 (system)  4 b BLOCK2 (system)  5 b BLOCK2 (system)  6 b

 

0x0000 0x0004 0x0008 0x000C 0x0010 0x0014 0x0018 0x001C 0x0020 0x0024 0x0028

/ / / / / / / / / / /

0x002C 0x0030 0x0034 0x0038 0x003C 0x0040 0x0044 0x0048 0x004C 0x0050 0x0054 0x0058 0x005C 0x0060 0x0064 0x0068 0x006C 0x0070 0x0074

                  



131 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

 EFUSE_RD_SYS_DATA_PART1_7_REG EFUSE_RD_USR_DATA0_REG EFUSE_RD_USR_DATA1_REG EFUSE_RD_USR_DATA2_REG EFUSE_RD_USR_DATA3_REG EFUSE_RD_USR_DATA4_REG EFUSE_RD_USR_DATA5_REG EFUSE_RD_USR_DATA6_REG EFUSE_RD_USR_DATA7_REG EFUSE_RD_KEY0_DATA0_REG EFUSE_RD_KEY0_DATA1_REG EFUSE_RD_KEY0_DATA2_REG EFUSE_RD_KEY0_DATA3_REG EFUSE_RD_KEY0_DATA4_REG EFUSE_RD_KEY0_DATA5_REG EFUSE_RD_KEY0_DATA6_REG EFUSE_RD_KEY0_DATA7_REG EFUSE_RD_KEY1_DATA0_REG EFUSE_RD_KEY1_DATA1_REG EFUSE_RD_KEY1_DATA2_REG EFUSE_RD_KEY1_DATA3_REG EFUSE_RD_KEY1_DATA4_REG EFUSE_RD_KEY1_DATA5_REG EFUSE_RD_KEY1_DATA6_REG EFUSE_RD_KEY1_DATA7_REG EFUSE_RD_KEY2_DATA0_REG EFUSE_RD_KEY2_DATA1_REG EFUSE_RD_KEY2_DATA2_REG EFUSE_RD_KEY2_DATA3_REG EFUSE_RD_KEY2_DATA4_REG EFUSE_RD_KEY2_DATA5_REG EFUSE_RD_KEY2_DATA6_REG EFUSE_RD_KEY2_DATA7_REG EFUSE_RD_KEY3_DATA0_REG EFUSE_RD_KEY3_DATA1_REG EFUSE_RD_KEY3_DATA2_REG EFUSE_RD_KEY3_DATA3_REG EFUSE_RD_KEY3_DATA4_REG EFUSE_RD_KEY3_DATA5_REG EFUSE_RD_KEY3_DATA6_REG EFUSE_RD_KEY3_DATA7_REG EFUSE_RD_KEY4_DATA0_REG EFUSE_RD_KEY4_DATA1_REG

 BLOCK2 (system)  7 b BLOCK3 (user)  0 b BLOCK3 (user)  1 b BLOCK3 (user)  2 b BLOCK3 (user)  3 b BLOCK3 (user)  4 b BLOCK3 (user)  5 b BLOCK3 (user)  6 b BLOCK3 (user)  7 b BLOCK4 (KEY0)  0 b BLOCK4 (KEY0)  1 b BLOCK4 (KEY0)  2 b BLOCK4 (KEY0)  3 b BLOCK4 (KEY0)  4 b BLOCK4 (KEY0)  5 b BLOCK4 (KEY0)  6 b BLOCK4 (KEY0)  7 b BLOCK5 (KEY1)  0 b BLOCK5 (KEY1)  1 b BLOCK5 (KEY1)  2 b BLOCK5 (KEY1)  3 b BLOCK5 (KEY1)  4 b BLOCK5 (KEY1)  5 b BLOCK5 (KEY1)  6 b BLOCK5 (KEY1)  7 b BLOCK6 (KEY2)  0 b BLOCK6 (KEY2)  1 b BLOCK6 (KEY2)  2 b BLOCK6 (KEY2)  3 b BLOCK6 (KEY2)  4 b BLOCK6 (KEY2)  5 b BLOCK6 (KEY2)  6 b BLOCK6 (KEY2)  7 b BLOCK7 (KEY3)  0 b BLOCK7 (KEY3)  1 b BLOCK7 (KEY3)  2 b BLOCK7 (KEY3)  3 b BLOCK7 (KEY3)  4 b BLOCK7 (KEY3)  5 b BLOCK7 (KEY3)  6 b BLOCK7 (KEY3)  7 b BLOCK8 (KEY4)  0 b BLOCK8 (KEY4)  1 b

GoBack

 0x0078 0x007C 0x0080 0x0084 0x0088 0x008C 0x0090 0x0094 0x0098 0x009C 0x00A0 0x00A4 0x00A8 0x00AC 0x00B0 0x00B4 0x00B8 0x00BC 0x00C0 0x00C4 0x00C8 0x00CC 0x00D0 0x00D4 0x00D8 0x00DC 0x00E0 0x00E4 0x00E8 0x00EC 0x00F0 0x00F4 0x00F8 0x00FC 0x0100 0x0104 0x0108 0x010C 0x0110 0x0114 0x0118 0x011C 0x0120

                                           



132 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

 EFUSE_RD_KEY4_DATA2_REG EFUSE_RD_KEY4_DATA3_REG EFUSE_RD_KEY4_DATA4_REG EFUSE_RD_KEY4_DATA5_REG EFUSE_RD_KEY4_DATA6_REG EFUSE_RD_KEY4_DATA7_REG EFUSE_RD_KEY5_DATA0_REG EFUSE_RD_KEY5_DATA1_REG EFUSE_RD_KEY5_DATA2_REG EFUSE_RD_KEY5_DATA3_REG EFUSE_RD_KEY5_DATA4_REG EFUSE_RD_KEY5_DATA5_REG EFUSE_RD_KEY5_DATA6_REG EFUSE_RD_KEY5_DATA7_REG EFUSE_RD_SYS_DATA_PART2_0_REG EFUSE_RD_SYS_DATA_PART2_1_REG EFUSE_RD_SYS_DATA_PART2_2_REG EFUSE_RD_SYS_DATA_PART2_3_REG EFUSE_RD_SYS_DATA_PART2_4_REG EFUSE_RD_SYS_DATA_PART2_5_REG EFUSE_RD_SYS_DATA_PART2_6_REG EFUSE_RD_SYS_DATA_PART2_7_REG  EFUSE_RD_REPEAT_ERR0_REG EFUSE_RD_REPEAT_ERR1_REG EFUSE_RD_REPEAT_ERR2_REG EFUSE_RD_REPEAT_ERR3_REG EFUSE_RD_REPEAT_ERR4_REG
EFUSE_RD_RS_ERR0_REG
EFUSE_RD_RS_ERR1_REG
/ EFUSE_CLK_REG EFUSE_CONF_REG EFUSE_CMD_REG EFUSE_DAC_CONF_REG EFUSE_STATUS_REG  EFUSE_INT_RAW_REG EFUSE_INT_ST_REG EFUSE_INT_ENA_REG EFUSE_INT_CLR_REG

 BLOCK8 (KEY4)  2 b BLOCK8 (KEY4)  3 b BLOCK8 (KEY4)  4 b BLOCK8 (KEY4)  5 b BLOCK8 (KEY4)  6 b BLOCK8 (KEY4)  7 b BLOCK9 (KEY5)  0 b BLOCK9 (KEY5)  1 b BLOCK9 (KEY5)  2 b BLOCK9 (KEY5)  3 b BLOCK9 (KEY5)  4 b BLOCK9 (KEY5)  5 b BLOCK9 (KEY5)  6 b BLOCK9 (KEY5)  7 b BLOCK10 (system)  0 b BLOCK10 (system)  1 b BLOCK10 (system)  2 b BLOCK10 (system)  3 b BLOCK10 (system)  4 b BLOCK10 (system)  5 b BLOCK10 (system)  6 b BLOCK10 (system)  7 b
 BLOCK0  0 b  BLOCK0  1 b  BLOCK0  2 b  BLOCK0  3 b  BLOCK0  4 b  BLOCK1-10  0  b  BLOCK1-10  1  b
eFuse b eFuse b eFuse b eFuse b eFuse b
eFuse b eFuse b eFuse b eFuse b

 0x0124 0x0128 0x012C 0x0130 0x0134 0x0138 0x013C 0x0140 0x0144 0x0148 0x014C 0x0150 0x0154 0x0158 0x015C 0x0160 0x0164 0x0168 0x016C 0x0170 0x0174 0x0178

                      

0x017C 0x0180 0x0184 0x0188 0x0190

    

0x01C0 

0x01C4 

0x01C8 0x01CC 0x01D4 0x01E8 0x01D0

/ / / / 

0x01D8 0x01DC 0x01E0 0x01E4

  / 



133 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)
  EFUSE_RD_TIM_CONF_REG EFUSE_WR_TIM_CONF0_REG EFUSE_WR_TIM_CONF1_REG EFUSE_WR_TIM_CONF2_REG  EFUSE_DATE_REG


eFuse b eFuse  0 b eFuse  1 b eFuse  2 b
b

GoBack

 

0x01EC 0x01F0 0x01F4 0x01F8

/ / / /

0x01FC /

4.6 
Register 4.1. EFUSE_PGM_DATAn_REG (n: 0-7) (0x0000+4*n)
EFUSE_PGM_DATA_n
31
0x000000
EFUSE_PGM_DATA_n  n  32 bc/

0
Reset

Register 4.2. EFUSE_PGM_CHECK_VALUEn_REG (n: 0-2) (0x0020+4*n)
EFUSE_PGM_RS_DATA_n
31
0x000000
EFUSE_PGM_RS_DATA_n  RS  n  32 bc/

0
Reset

Register 4.3. EFUSE_RD_WR_DIS_REG (0x002C)
EFUSE_WR_DIS
31
0x000000
EFUSE_WR_DIS  eFuse b1: b0: bc

0
Reset



134 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.4. EFUSE_RD_REPEAT_DATA0_REG (0x0030)

(reserved)

EFUSE_REPFTU4S_EER_FEUUSSSEBEER__FVEUFEOXSDTRE0__CPUEHS_YBN__OEE(PNrXeEACsRBHeSLrGIvSE_eTPdI)NS EFUSEE_FDUISSEE__FDHUOASWREE_NDFSU_LOOSDAFEEISDT_F__RU_JDPMSTTIEEASA4_FG_N_DUJURISTSAEAEE_LSG_F_BEDUEORISNSVOEEC_ET_FCRD_DUYA5RISPNSEEET_M_FUADUSPISBSEE__FFDUOISRSEEC__FDEDU_OISDSWEE_O_NFDWDULOONISSWAELE_OD_NFDDAU_LCODDISSAAEC_CD_AIHCD_CEAIIHCSCE_AHCRETHCE_RAME_FBUOSOET_RD_DIS

31

29 28 27 26 25 24 23

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6

0

0 0 0 0x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0x0

Reset

EFUSE_RD_DIS  eFuse BLOCK4 ~ 10 b1b0bc EFUSE_DIS_RTC_RAM_BOOT bc EFUSE_DIS_ICACHE  ICacheb1b0bc EFUSE_DIS_DCACHE  DCacheb1b0bc EFUSE_DIS_DOWNLOAD_ICACHE  ICacheb1b0bc EFUSE_DIS_DOWNLOAD_DCACHE  DCacheb1b0bc
 EFUSE_DIS_FORCE_DOWNLOAD b1b0bc

EFUSE_DIS_USB  USB OTG b1b0bc EFUSE_DIS_CAN  TWAI b1b0bc EFUSE_DIS_BOOT_REMAP  RAM  ROM b1b0bc EFUSE_RPT4_RESERVED5 c 4 bc EFUSE_SOFT_DIS_JTAG  JTAG b1b0b
 HAMC  JTAGbc EFUSE_HARD_DIS_JTAG  JTAG b1b0bc EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT  download boot  flash 
b1b0bc EFUSE_USB_EXCHG_PINS  USB D+  D- b1b0bc EFUSE_EXT_PHY_ENABLE  USB PHYb1b0bc EFUSE_USB_FORCE_NOPERSIST  USB BAVLID  1b1b0bc
 EFUSE_RPT4_RESERVED0 c 4 bc



135 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.5. EFUSE_RD_REPEAT_DATA1_REG (0x0034)

EFUSE_KEY_PURPOSEE_F1USE_KEY_PEUFRUPSOEE_SFSEU_ESC0EEU_FSRUEESC_EUB_OSREEOC_TEUB_FORUKEEOS_YET_B__ROSKEPEOVIYT_O__BKRKEOEEEFO2VYUTO_S_KRECEE_R1VWYODPKTTE__0DCENLTAY_SEL

(reserved)

31

28 27

24 23 22 21 20

18 17 16 15

EFUSEE_FVUDSDEE__FVSUDPSDIE___FVSODPRDIC__TESI(ErPeHIs_eXrPvDed)

76 5 43

0

0x0

0x0

000

0x0

0x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

EFUSE_VDD_SPI_XPD  VDD_SPI_FORCE  1 VDD_SPI b1b0 bc
EFUSE_VDD_SPI_TIEH  VDD_SPI_FORCE  1 VDD_SPI b0VDD_SPI  1.8 V LDOb1VDD_SPI  VDD_RTC_IObc
EFUSE_VDD_SPI_FORCE  EFUSE_VDD_SPI_XPD  EFUSE_VDD_SPI_TIEH  VDD_SPIb1b0bc
EFUSE_WDT_DELAY_SEL  RTC bb00: 40,000  b01: 80,000 b10: 160,000 b11: 320,000  bc
EFUSE_SPI_BOOT_CRYPT_CNT  SPI boot b 1b 1cb 
EFUSE_SECURE_BOOT_KEY_REVOKE0 b1b0 bc
EFUSE_SECURE_BOOT_KEY_REVOKE1 b1b0 bc
EFUSE_SECURE_BOOT_KEY_REVOKE2 b1b0 bc
EFUSE_KEY_PURPOSE_0  KEY0 purpose 4.3-2bc
EFUSE_KEY_PURPOSE_1  KEY1 purpose 4.3-2bc



136 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.6. EFUSE_RD_REPEAT_DATA2_REG (0x0038)

EFUSE_FLASH_TPUW

EFUSE_RPT4_RESEERFVUESDEE1_FSUESCEU_SREEC_UBOR(rEOe_TsBe_rOAvGOeGTd_)REENSSIVE_REEVFOUKSEE_KEY_PURPOSEE_F5USE_KEY_PURPOSEE_F4USE_KEY_PURPOSEE_F3USE_KEY_PURPOSE_2

31

28 27

22 21 20 19

16 15

12 11

87

43

0

0x0

0x0

0 00 0 0 0

0x0

0x0

0x0

0x0

Reset

EFUSE_KEY_PURPOSE_2  KEY2 purpose 4.3-2bc EFUSE_KEY_PURPOSE_3  KEY3 purpose 4.3-2bc EFUSE_KEY_PURPOSE_4  KEY4 purpose 4.3-2bc EFUSE_KEY_PURPOSE_5  KEY5 purpose 4.3-2bc EFUSE_SECURE_BOOT_EN b1b0bc EFUSE_SECURE_BOOT_AGGRESSIVE_REVOKE b1b0
bc EFUSE_RPT4_RESERVED1 c 4 bc EFUSE_FLASH_TPUW  flash bmsb 15 
b 15  30 msbc



137 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.7. EFUSE_RD_REPEAT_DATA3_REG (0x003C)

EFUSE_RPT4_RESERVED2

31

27 26

0x0

EFUSE_SECURE_VERSION 0x00

EFUSEE_FFUOSREEC_FFUEL_SASESE_HNPE_DIFNTU_Y_RSPPEEEOS_WUUEAEMFRRUET_S_SEEPE_FLREUEINSNCAEETTB_F_IODULCENISOS_EEN_S_FUTERURSCPSOBUTEE_LR4_FD_IUUTORASYWER_EEST_DNFE_DUOLRPOISWSVRAE_ENI_DNDLLD_ET3OIMG_SACA_ODCHDDYAOE_NWSNNPEILL_OBAODO_TMODE

11 10 9 8 7

65 4 3 2 1 0

0 0 0 0x0 0 0 0 0 0 0 Reset

EFUSE_DIS_DOWNLOAD_MODE b1b0bc
EFUSE_DIS_LEGACY_SPI_BOOT  Legacy SPI boot b1b0bc
EFUSE_UART_PRINT_CHANNEL  boot  UART b0UART0b1UART1bc 
EFUSE_RPT4_RESERVED3 c 4 bc
EFUSE_DIS_USB_DOWNLOAD_MODE  UART download boot  USB b1 b0bc
EFUSE_ENABLE_SECURITY_DOWNLOAD  UART c flashb 1b0bc
EFUSE_UART_PRINT_CONTROL  UART b00b01 GPIO 46  b10 GPIO 46 b11bc
EFUSE_PIN_POWER_SELECTION   SPI flash    GPIO33-GPIO37     b0 VDD3P3_CPUb1VDD_SPIbc
EFUSE_FLASH_TYPE  flash b04 b18 bc
EFUSE_FORCE_SEND_RESUME  ROM  SPI b1b 0bc
EFUSE_SECURE_VERSION  ESP-IDF bc
EFUSE_RPT4_RESERVED2 c 4 bc



138 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

Register 4.8. EFUSE_RD_REPEAT_DATA4_REG (0x0040)

(reserved)

31

24 23

00000000

EFUSE_RPT4_RESERVED4 0x0000

EFUSE_RPT4_RESERVED4 c 4 bc

Register 4.9. EFUSE_RD_MAC_SPI_SYS_0_REG (0x0044)
EFUSE_MAC_0
31
0x000000
EFUSE_MAC_0  MAC  32 bc

Register 4.10. EFUSE_RD_MAC_SPI_SYS_1_REG (0x0048)

EFUSE_SPI_PAD_CONF_0

EFUSE_MAC_1

31

16 15

0x00

0x00

EFUSE_MAC_1  MAC  16 bc EFUSE_SPI_PAD_CONF_0  SPI_PAD_CONF  0 bc

GoBack
0
Reset
0
Reset
0
Reset



139 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)
Register 4.11. EFUSE_RD_MAC_SPI_SYS_2_REG (0x004C)
EFUSE_SPI_PAD_CONF_1
31
0x000000
EFUSE_SPI_PAD_CONF_1  SPI_PAD_CONF  1 bc

Register 4.12. EFUSE_RD_MAC_SPI_SYS_3_REG (0x0050)

EFUSE_SYS_DATA_PART0_0

31

18 17

0x00

EFUSE_SPI_PAD_CONF_2 0x000

EFUSE_SPI_PAD_CONF_2  SPI_PAD_CONF  2 bc EFUSE_SYS_DATA_PART0_0  0  0 bc

Register 4.13. EFUSE_RD_MAC_SPI_SYS_4_REG (0x0054)
EFUSE_SYS_DATA_PART0_1
31
0x000000
EFUSE_SYS_DATA_PART0_1  0  1 bc

GoBack
0
Reset
0
Reset
0
Reset



140 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)
Register 4.14. EFUSE_RD_MAC_SPI_SYS_5_REG (0x0058)
EFUSE_SYS_DATA_PART0_2
31
0x000000
EFUSE_SYS_DATA_PART0_2  0  2 bc

GoBack
0
Reset

Register 4.15. EFUSE_RD_SYS_DATA_PART1_n_REG (n: 0-7) (0x005C+4*n)
EFUSE_SYS_DATA_PART1_n
31
0x000000
EFUSE_SYS_DATA_PART1_n  1  n  32 bc

0
Reset

Register 4.16. EFUSE_RD_USR_DATAn_REG (n: 0-7) (0x007C+4*n)
EFUSE_USR_DATAn
31
0x000000
EFUSE_USR_DATAn  BLOCK3 (user)  n  32 bc

0
Reset



141 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)
Register 4.17. EFUSE_RD_KEY0_DATAn_REG (n: 0-7) (0x009C+4*n)
EFUSE_KEY0_DATAn
31
0x000000
EFUSE_KEY0_DATAn  KEY0  n  32 bc
Register 4.18. EFUSE_RD_KEY1_DATAn_REG (n: 0-7) (0x00BC+4*n)
EFUSE_KEY1_DATAn
31
0x000000
EFUSE_KEY1_DATAn  KEY1  n  32 bc
Register 4.19. EFUSE_RD_KEY2_DATAn_REG (n: 0-7) (0x00DC+4*n)
EFUSE_KEY2_DATAn
31
0x000000
EFUSE_KEY2_DATAn  KEY2  n  32 bc
Register 4.20. EFUSE_RD_KEY3_DATAn_REG (n: 0-7) (0x00FC+4*n)
EFUSE_KEY3_DATAn
31
0x000000
EFUSE_KEY3_DATAn  KEY3  n  32 bc

GoBack
0
Reset
0
Reset
0
Reset
0
Reset



142 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)
Register 4.21. EFUSE_RD_KEY4_DATAn_REG (n: 0-7) (0x011C+4*n)
EFUSE_KEY4_DATAn
31
0x000000
EFUSE_KEY4_DATAn  KEY4  n  32 bc

GoBack
0
Reset

Register 4.22. EFUSE_RD_KEY5_DATAn_REG (n: 0-7) (0x013C+4*n)
EFUSE_KEY5_DATAn
31
0x000000
EFUSE_KEY5_DATAn  KEY5  n  32 bc

0
Reset

Register 4.23. EFUSE_RD_SYS_DATA_PART2_n_REG (n: 0-7) (0x015C+4*n)
EFUSE_SYS_DATA_PART2_n
31
0x000000
EFUSE_SYS_DATA_PART2_n  2  n  32 bc

0
Reset



143 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.24. EFUSE_RD_REPEAT_ERR0_REG (0x017C)

(reserved)

EFUSE_REPFTU4S_EER_FEUUSSSEBEER__FVEUFEOXSDTRE0__C_PUEEHS_RYBNR__OEE(PNrXeEACsRBHeSLrGIvSE_eT_Pd_EI)ENRRRSR_EEFRURSEE_FDUISSEE__FDHUOASWREE_NDFSU_LOOSDAFEEISDT_F__RU_JDPMSTTIEEASA4_FG_N_DU_JURISETSAEAERE_LSG_FR_BEDU_EOREISNSVOREEC_ETR_FCRD_DUYA5RISPNS_EEET_E_M_F_UREADUERRSPISRRBS_ERE__E_FFERDUORRISRRSEEC__FDEDU_OISDSWEE_O_NFDWDULOONISSWAELE_OD_NFDDAU_LCODDISSAA_EC_CD_EAIHCRD_CEARIIHCS_CE_AEH_CRREETRH_RCEER__RRERARMRE_FBUOSOET__REDR_RDIS_ERR

31

29 28 27 26 25 24 23

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6

0

0 0 0 0x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0x0

Reset

EFUSE_RD_DIS_ERR  1 EFUSE_RD_DIS  bc

EFUSE_DIS_RTC_RAM_BOOT_ERR         

1    

EFUSE_DIS_RTC_RAM_BOOT bc

EFUSE_DIS_ICACHE_ERR  1 EFUSE_DIS_ICACHE  bc

EFUSE_DIS_DCACHE_ERR  1 EFUSE_DIS_DCACHE  bc

EFUSE_DIS_DOWNLOAD_ICACHE_ERR         

1    

EFUSE_DIS_DOWNLOAD_ICACHE bc

EFUSE_DIS_DOWNLOAD_DCACHE_ERR         

1    

EFUSE_DIS_DOWNLOAD_DCACHE bc

EFUSE_DIS_FORCE_DOWNLOAD_ERR         

1    

EFUSE_DIS_FORCE_DOWNLOAD bc

EFUSE_DIS_USB_ERR  1 EFUSE_DIS_USB  bc

EFUSE_DIS_CAN_ERR  1 EFUSE_DIS_CAN  bc

EFUSE_DIS_BOOT_REMAP_ERR  1 EFUSE_DIS_BOOT_REMAP  bc

EFUSE_RPT4_RESERVED5_ERR  1 EFUSE_RPT4_RESERVED5  bc

EFUSE_SOFT_DIS_JTAG_ERR  1 EFUSE_SOFT_DIS_JTAG  bc

EFUSE_HARD_DIS_JTAG_ERR  1 EFUSE_HARD_DIS_JTAG  bc

b



144 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse) Register 4.24. EFUSE_RD_REPEAT_ERR0_REG (0x017C)

GoBack

b
EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT_ERR          1     EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT b c 
EFUSE_USB_EXCHG_PINS_ERR  1 EFUSE_USB_EXCHG_PINS  bc
EFUSE_EXT_PHY_ENABLE_ERR  1 EFUSE_EXT_PHY_ENABLE  bc
EFUSE_USB_FORCE_NOPERSIST_ERR  1 EFUSE_USB_FORCE_B bc
EFUSE_RPT4_RESERVED0_ERR  1 EFUSE_RPT4_RESERVED0  bc



145 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.25. EFUSE_RD_REPEAT_ERR1_REG (0x0180)

EFUSE_KEY_PURPOSEE_F1U_SEER_RKEY_PEUFRUPSOEE_SFSEU_ESC0EE_U_FESRUREESRC_EUB_OSREEOC_TEUB_FORUKEEOS_YET_B__ROSKEPEOVIYT_O__BKRKEOEEEFO2VYUT_O_S_EKRECREE_RR1VW_YODEPKTRTE_R_0DC_ENELTRA_RYE_RSREL_ERR(reserved)

31

28 27

24 23 22 21 20

18 17 16 15

EFUSEE_FVUDSDEE__FVSUDPSDIE___FVSODPRDIC__TESI(_ErPeEHIsR__eRXErPRvDeRd_)ERR

76 5 43

0

0x0

0x0

000

0x0

0x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

EFUSE_VDD_SPI_XPD_ERR  1 EFUSE_VDD_SPI_XPD  bc

EFUSE_VDD_SPI_TIEH_ERR  1 EFUSE_VDD_SPI_TIEH  bc

EFUSE_VDD_SPI_FORCE_ERR  1 EFUSE_VDD_SPI_FORCE  bc

EFUSE_WDT_DELAY_SEL_ERR  1 EFUSE_WDT_DELAY_SEL  bc

EFUSE_SPI_BOOT_CRYPT_CNT_ERR         

1    

EFUSE_SPI_BOOT_CRYPT_CNT bc

EFUSE_SECURE_BOOT_KEY_REVOKE0_ERR         

1    

EFUSE_SECURE_BOOT_KEY_REVOKE0 bc

EFUSE_SECURE_BOOT_KEY_REVOKE1_ERR         

1    

EFUSE_SECURE_BOOT_KEY_REVOKE1 bc

EFUSE_SECURE_BOOT_KEY_REVOKE2_ERR         

1    

EFUSE_SECURE_BOOT_KEY_REVOKE2 bc

EFUSE_KEY_PURPOSE_0_ERR  1 EFUSE_KEY_PURPOSE_0  bc

EFUSE_KEY_PURPOSE_1_ERR  1 EFUSE_KEY_PURPOSE_1  bc



146 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.26. EFUSE_RD_REPEAT_ERR2_REG (0x0184)

EFUSE_FLASH_TPUW_ERR EFUSE_RPT4_RESEERFVUESDEE1_F_SUEERSCREU_SREEC_UBOR(rEOe_TsBe_rOAvGOeGTd_)REENSS_IEVRER_REEVFOUKSEE__EKRERY_PURPOSEE_F5U_SEER_RKEY_PURPOSEE_F4U_SEER_RKEY_PURPOSEE_F3U_SEER_RKEY_PURPOSE_2_ERR

31

28 27

22 21 20 19

16 15

12 11

87

43

0

0x0

0x0

0 00 0 0 0

0x0

0x0

0x0

0x0

Reset

EFUSE_KEY_PURPOSE_2_ERR  1 EFUSE_KEY_PURPOSE_2  bc
EFUSE_KEY_PURPOSE_3_ERR  1 EFUSE_KEY_PURPOSE_3  bc
EFUSE_KEY_PURPOSE_4_ERR  1 EFUSE_KEY_PURPOSE_4  bc
EFUSE_KEY_PURPOSE_5_ERR  1 EFUSE_KEY_PURPOSE_5  bc
EFUSE_SECURE_BOOT_EN_ERR  1 EFUSE_SECURE_BOOT_EN  bc
EFUSE_SECURE_BOOT_AGGRESSIVE_REVOKE_ERR          1     EFUSE_SECURE_BOOT_AGGRESSIVE_REVOKE b c 
EFUSE_RPT4_RESERVED1_ERR  1 EFUSE_RPT4_RESERVED1  bc
EFUSE_FLASH_TPUW_ERR  1 EFUSE_FLASH_TPUM  bc



147 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.27. EFUSE_RD_REPEAT_ERR3_REG (0x0188)

EFUSE_RPT4_RESERVED2_ERR

31

27 26

0x0

EFUSE_SECURE_VERSION_ERR 0x00

EFUSEE_FFUOSREEC_FFUEL_SASESE_HNPE_DIFNTU_Y_RSPPEEEOS__WUUEEAEMFRRRURET_S__SEEEPE_FRLREUREINSNCAEETTB_F_IODULCENISOS_E_EN_S_FEUTERURRSCPRSOBUTEE_LR4_F_D_IUUTEORASYRWER_EERST_DNFE_DUOLRPOISWSVRAE_ENI_DNDLLD_ET3OIMG_S_ACA_OEDCHRDD_YAROEE_NR_WSNRENPERILL_RO_BAEODRO_RTM_OEDRRE_ERR

11 10 9 8 7

65 4 3 2 1 0

0 0 0 0x0 0 0 0 0 0 0 Reset

EFUSE_DIS_DOWNLOAD_MODE_ERR         

1    

EFUSE_DIS_DOWNLOAD_MODE bc

EFUSE_DIS_LEGACY_SPI_BOOT_ERR         

1    

EFUSE_DIS_LEGACY_SPI_BOOT bc

EFUSE_UART_PRINT_CHANNEL_ERR         

1    

EFUSE_UART_PRINT_CHANNEL bc

EFUSE_RPT4_RESERVED3_ERR  1 EFUSE_RPT4_RESERVED3  bc

EFUSE_DIS_USB_DOWNLOAD_MODE_ERR         

1    

EFUSE_DIS_USB_DOWNLOAD_MODE bc

EFUSE_ENABLE_SECURITY_DOWNLOAD_ERR          1     EFUSE_ENABLE_SECURITY_DOWNLOAD               b c 

EFUSE_UART_PRINT_CONTROL_ERR         

1    

EFUSE_UART_PRINT_CONTROL bc

EFUSE_PIN_POWER_SELECTION_ERR         

1    

EFUSE_PIN_POWER_SELECTION bc

EFUSE_FLASH_TYPE_ERR  1 EFUSE_FLASH_TYPE  bc

EFUSE_FORCE_SEND_RESUME_ERR         

1    

EFUSE_FORCE_SEND_RESUME bc

EFUSE_SECURE_VERSION_ERR  1 EFUSE_SECURE_VERSION  bc

EFUSE_RPT4_RESERVED2_ERR  1 EFUSE_RPT4_RESERVED2  bc



148 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.28. EFUSE_RD_REPEAT_ERR4_REG (0x0190)

(reserved)

31

24 23

00000000

EFUSE_RPT4_RESERVED4_ERR 0x0000

0
Reset

EFUSE_RPT4_RESERVED4_ERR  1 EFUSE_RPT4_RESERVED4  bc

Register 4.29. EFUSE_RD_RS_ERR0_REG (0x01C0)

EFUSE_KEYE4F_UFSAEIL_KEYE4F_UESRER__KNEUYEM3F_UFSAEIL_KEYE3F_UESRER__KNEUYE2MF_UFSAEIL_KEYE2F_UESRER__KNEUYE1MF_UFSAEIL_KEYE1F_UESRER__KNEUYEM0F_UFSAEI_LKEYE0F_UESRER__UNSUREM_FDUASTEA__UFSAREIL_FDUASTEA__SEYRSER_F_PUNASURETM_1S_YFSAE_IFLPUASRET_1M_NAEUCFM_USSPEI__8MMA_CF_ASILPI_8M_ERR_NUM

31 30

28 27 26

24 23 22

20 19 18

16 15 14

12 11 10

876

432

0

0

0x0

0

0x0

0

0x0

0

0x0

0

0x0

0

0x0

0

0x0

0

0x0 Reset

EFUSE_MAC_SPI_8M_ERR_NUM  BLOCK1 bc
EFUSE_MAC_SPI_8M_FAIL 0BLOCK1 1 BLOCK1  5 bc
EFUSE_SYS_PART1_NUM  BLOCK2 bc
EFUSE_SYS_PART1_FAIL 0BLOCK2 1 BLOCK2  5 bc
EFUSE_USR_DATA_ERR_NUM  BLOCK3 bc
EFUSE_USR_DATA_FAIL 0BLOCK3 1 BLOCK3  5 bc
EFUSE_KEYn_ERR_NUM  KEYn bc
EFUSE_KEYn_FAIL 0keyn 1 keyn   5 bc



149 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.30. EFUSE_RD_RS_ERR1_REG (0x01C4)

(reserved)

EFUSE_SYSE_FPUASRET_2S_YFSEA_FILPUASRET_2K_EEYER5FR_U_FSNAEUIL_MKEY5_ERR_NUM

31

876

432

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00

0x0

0

0x0 Reset

EFUSE_KEY5_ERR_NUM  KEY5 bc
EFUSE_KEY5_FAIL 0KEY5 1 KEY5   5 bc
EFUSE_SYS_PART2_ERR_NUM  BLOCK10 bc
EFUSE_SYS_PART2_FAIL 0BLOCK10 1 BLOCK10  5 bc

Register 4.31. EFUSE_CLK_REG (0x01C8)

(reserved)

EFUSE_CLK_EN

(reserved)

EFUSEE_FEUFSUEES_FEMU_SEMEM_E_EMCF_LUFKSO_EFR_OCMREEC_MPE_U_OFONRCE_PD

31

17 16 15

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Reset

EFUSE_EFUSE_MEM_FORCE_PD  eFuse SRAM bc/ EFUSE_MEM_CLK_FORCE_ON  eFuse SRAM bc/ EFUSE_EFUSE_MEM_FORCE_PU  eFuse SRAM bc/ EFUSE_CLK_EN  eFuse memory bc/



150 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

Register 4.32. EFUSE_CONF_REG (0x01CC)

(reserved)

31

16 15

0000000000000000

EFUSE_OP_CODE 0x00

EFUSE_OP_CODE 0x5A5A0x5AA5bc/

GoBack
0
Reset

Register 4.33. EFUSE_CMD_REG (0x01D4)

(reserved)

31

65

00000000000000000000000000

EFUSE_BLK_NEUFUMSEE_FPUGSEM__RCEMADD_CMD
21 0

0x0

0 0 Reset

EFUSE_READ_CMD bc/ EFUSE_PGM_CMD bc/ EFUSE_BLK_NUM  0-10  BLOCK0-10bc/

Register 4.34. EFUSE_DAC_CONF_REG (0x01E8)

(reserved)

EFUSE_OE_CLR

31

18 17 16

0 0 0 0 0 0 0 0 0 0 0 0 0 00

EFUSE_DAC_NUM

EFUSE_DAC_CLK_PAD_SEEFLUSE_DAC_CLK_DIV

987

0

255

0

28

Reset

EFUSE_DAC_CLK_DIV bc/ EFUSE_DAC_CLK_PAD_SEL bc/ EFUSE_DAC_NUM bc/ EFUSE_OE_CLR bc/



151 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.35. EFUSE_STATUS_REG (0x01D0)

(reserved)

31

18 17

00000000000000

EFUSE_REPEAT_ERR_CNT
10 9

(reserved)
43

0x0

000000

EFUSE_STATE
0

0x0

Reset

EFUSE_STATE  eFuse bc EFUSE_REPEAT_ERR_CNT  BLOCK0 bc

Register 4.36. EFUSE_INT_RAW_REG (0x01D8)

(reserved)

EFUSEE_FPUGSEM__RDEOANDE__DIONNT_ER_AINWT_RAW

31

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

EFUSE_READ_DONE_INT_RAW bc EFUSE_PGM_DONE_INT_RAW bc

Register 4.37. EFUSE_INT_ST_REG (0x01DC)

(reserved)

EFUSEE_FPUGSEM__RDEOANDE__DIONNT_ES_TINT_ST

31

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

EFUSE_READ_DONE_INT_ST bc EFUSE_PGM_DONE_INT_ST bc



152 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

GoBack

Register 4.38. EFUSE_INT_ENA_REG (0x01E0)

(reserved)

EFUSEE_FPUGSEM__RDEOANDE__DIONNT_EE_NINAT_ENA

31

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

EFUSE_READ_DONE_INT_ENA bc/ EFUSE_PGM_DONE_INT_ENA bc/

Register 4.39. EFUSE_INT_CLR_REG (0x01E4)

(reserved)

EFUSEE_FPUGSEM__RDEOANDE__DIONNT_EC_LINRT_CLR

31

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

EFUSE_READ_DONE_INT_CLR bc EFUSE_PGM_DONE_INT_CLR bc

Register 4.40. EFUSE_RD_TIM_CONF_REG (0x01EC)

EFUSE_READ_INIT_NUM

31

24 23

0x12

EFUSE_TSUR_A
16 15
0x1

EFUSE_TRD
87
0x1

EFUSE_THR_A bc/ EFUSE_TRD bc/ EFUSE_TSUR_A bc/ EFUSE_READ_INIT_NUM  eFuse bc/

EFUSE_THR_A 0x1

0
Reset



153 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)

Register 4.41. EFUSE_WR_TIM_CONF0_REG (0x01F0)

EFUSE_TPGM

EFUSE_TPGM_INACTIVE

31

16 15

87

0xc8

0x1

EFUSE_THP_A bc/ EFUSE_TPGM_INACTIVE  eFuse  0 bc/ EFUSE_TPGM  eFuse  1 bc/

GoBack

EFUSE_THP_A 0x1

0
Reset

Register 4.42. EFUSE_WR_TIM_CONF1_REG (0x01F4)

(reserved)

31

24 23

00000000

EFUSE_PWR_ON_NUM
87
0x2880

EFUSE_TSUP_A bc/ EFUSE_PWR_ON_NUM  VDDQ bc/

EFUSE_TSUP_A
0

0x1

Reset

Register 4.43. EFUSE_WR_TIM_CONF2_REG (0x01F8)

(reserved)

31

16 15

0000000000000000

EFUSE_PWR_OFF_NUM 0x190

EFUSE_PWR_OFF_NUM  VDDQ bc/

0
Reset



154 

ESP32-S2 TRM ( 1.3)

 4  eFuse  (eFuse)
Register 4.44. EFUSE_DATE_REG (0x01FC)
EFUSE_DATE
31
0x19081100
EFUSE_DATE bc/

GoBack
0
Reset



155 

ESP32-S2 TRM ( 1.3)

GoBack
 III  
aGPIOaaaa b



156 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

5
IO MUX  GPIO 
5.1 
ESP32-S2  43  GPIO padb pad  IObIO MUXa RTC IO MUX  GPIO  GPIO padb IO b  43  GPIO pad 0 ~ 21, 26 ~ 46b GPIO46  b  GPIO aIO MUX  RTC IO MUX  43  padcDRVaIEa OEaWPUaWPD 
· 116 cSIG_IN_SELaSIG_OUT_SELaIEaOE  · 182 cSIG_IN_SELaSIG_OUT_SELaIEaOE  · cIEaOE  · 22  RTC GPIO 



 5.1-1. IO MUXaRTC IO MUX  GPIO 

157 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

 5.1-1 IO MUXaRTC IO MUX  GPIO b 1. IO MUX  GPIO pad  IO_MUX_n_REG pad  · GPIO  GPIO  ·  GPIO b  SPIaJTAGaUART  GPIO b  IO MUX b  5.11  GPIO pad  IO MUX b 2. GPIO b · 116  GPIO pad b ·  GPIO pad  182 b  5.10  GPIO b 3. RTC IO MUX  GPIO pad b GPIO pad b  5.12  RTC IO MUX b

5.2  GPIO 
5.2.1 
 GPIO  GPIO  43  GPIOc0 ~ 21, 26 ~ 46  5.10-1b GPIO  b
5.2.2 
 5.1-1  pad  GPIO SYNC  APB  GPIO b IO MUX  GPIO SYNC  b



 5.2-1. GPIO  clock 

158 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

GPIO SYNC  5.2-1 bnegative sync  GPIO input  APB clock  positive sync  GPIO input  APB clock b

5.2.3 
 Y  GPIO pad X  1.  GPIO  Y  GPIO_FUNCy_IN_SEL_CFG_REG  ·  GPIO_SIGy_IN_SEL  GPIO  ·  GPIO_FUNCy_IN_SEL  GPIO pad X b :  GPIO_SIGy_IN_SEL 5.1-1  MUX c 1 b GPIO b 2.  IO_MUX_FILTER_EN  pad  5.2-2 b bb

 5.2-2. GPIO 
3.  GPIO pad X  GPIO_PINx_REG  GPIO input ·  5.2-1 ,  GPIO_PINx_SYNC1_BYPASS b ·  5.2-1 ,  GPIO_PINx_SYNC2_BYPASS b
4.  GPIO pad X  IO_MUX_x_REG  pad  ·  IO_MUX_FUN_IE  ·  IO_MUX_FUN_WPU  IO_MUX_FUN_WPD/b
 RMT  0  rmt_sig_in0c 83 GPIO40 c GPIO40  MTDO 
1.  GPIO_FUNC83_IN_SEL_CFG_REG  GPIO_SIG83_IN_SEL GPIO  
2.  GPIO_FUNC83_IN_SEL_CFG_REG  GPIO_FUNC83_IN_SEL  40 3.  IO_MUX_GPIO40_REG  IO_MUX_FUN_IEcb  ·  pad  input_signalsb ·  GPIO_FUNCy_IN_INV_SEL b ·  pad b
GPIO_FUNCy_IN_SEL  GPIO 



159 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

­  GPIO_FUNCy_IN_SEL  0x3C input_signal_X  0 ­  GPIO_FUNCy_IN_SEL  0x38 input_signal_X  1b

5.2.4  GPIO 
GPIO_IN_REG/GPIO_IN1_REG  GPIO pad b  GPIO pad  GPIO b pad X  IO_MUX_n_REG  IO_MUX_FUN_IE  5.2.2 b

5.3  GPIO 

5.3.1 
 GPIO  GPIO  ( 0 ~ 1114 ~ 18, ...)   42  GPIO (0 ~ 21, 26 ~ 45)b 5.10-1b  GPIO  IO MUXbIO MUX  pad  GPIO  GPIO  padb
  223 ~ 227  GPIO  GPIO b

5.3.2 
 5.1-1 182  GPIO  IO MUX  padb
 Y  GPIO pad X 
1.  GPIO  GPIO pad X  GPIO_FUNCx_OUT_SEL_CFG_REG  GPIO_ENABLE_REG[x] b W1TS  W1TC  GPIO_ENABLE_REG  
·  GPIO_FUNCx_OUT_SEL_CFG_REG  GPIO_FUNCx_OUT_SEL  Y  (Y)b
·  GPIO pad X  GPIO_FUNCx_OUT_SEL_CFG_REG   GPIO_FUNCx_OEN_SEL  GPIO_ENABLE_W1TS_REG  GPIO_ENABLE1_W1TS_REG b GPIO_FUNCx_OEN_SEL  b 5.10-1 o pb
·  GPIO_ENABLE_W1TC_REG  GPIO_ENABLE1_W1TC_REG  GPIO pad b
2.  GPIO pad X  GPIO_PINx_REG  GPIO_PINx_PAD_DRIVER b
3.  IO MUX  GPIO b GPIO pad X  IO_MUX_x_REG 
·  IO_MUX_MCU_SEL  GPIO pad X  IO MUX c Function 1 1b



160 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

·  IO_MUX_FUN_DRV  (0 ~ 3) ­ 0: ~5 mA ­ 1: ~10 mA ­ 2: ~20 mAc ­ 3: ~40 mA
· / IO_MUX_FUN_WPU  IO_MUX_FUN_WPD / b
 ·  pad b · GPIO46 b ·  GPIO_FUNCn_OUT_INV_SEL b

5.3.3  GPIO 
GPIO  GPIO  ·  GPIO  GPIO_FUNCn_OUT_SEL  256 (0x100) ·  GPIO_OUT_REG[31:0]  GPIO_OUT1_REG[21:0]  GPIO b
 · GPIO_OUT_REG[0] ~ GPIO_OUT_REG[31]  GPIO0 ~ GPIO31GPIO_OUT_REG[25:22]  · GPIO_OUT1_REG[0] ~ GPIO_OUT1_REG[13]  GPIO32 ~ GPIO45GPIO_OUT1_REG[21:14] b ·  W1TS (write 1 to set)  W1TC (write 1 to clear)  GPIO_OUT_W1TS/GPIO_OUT_W1TC  GPIO_OUT_REG  GPIO_OUT1_REG b

5.3.4 Sigma Delta  (SDM)
5.3.4.1 
182  8  1  Sigma Delta  8   100 ~ 107b PDMcb Sigma Delta 

H(z) = X(z)z-1 + E(z)(1-z-1)2
E(z) X(z) b Sigma Delta  APB_CLK  1 ~ 256 
·  GPIOSD_FUNCTION_CLK_EN  ·  GPIOSD_SDn_PRESCALE bn  0 ~ 7 8 b b GPIOSD_SDn_IN  [-128, 127] PDM  1b



161 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

· GPIOSD_SDn_IN = -128 0% · GPIOSD_SDn_IN = 0 50% · GPIOSD_SDn_IN = 127 100%b PDM 
Duty_Cycle = GP IOSD_SDn_IN + 128 256

  PDM c 256 b

5.3.4.2 
SDM  ·  SDM  GPIO  pad 5.3.2 b ·  GPIOSD_FUNCTION_CLK_EN SDM b ·  GPIOSD_SDn_PRESCALE b ·  GPIOSD_SDn_IN  SDM b
5.4  GPIO
5.4.1 
 GPIO  CPU  GPIO  IO MUX  8   235 ~ 242 235 ~ 242 b  5.4-1  GPIO b SYSTEM_CPU_PERI_CLK_EN_REG  SYSTEM_CLK_EN_DEDICATED_GPIO  GPIO  SYSTEM_CPU_PERI_RST_EN_REG  SYSTEM_RST_EN_DEDICATED_GPIO  GPIO b  15   15.3-3 b
5.4.2 
 GPIO  · 8  8  ·  CPU  ·  · 



162 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

 5.4-1.  GPIO 

5.4.3 
 GPIO CPU  GPIOb  5.4-1  GPIO  GPIOb DEDIC_GPIO_OUT_CPU_REG  GPIO 
· DEDIC_GPIO_OUT_CPU_SELn = 0 GPIO  · DEDIC_GPIO_OUT_CPU_SELn = 1 CPU  GPIO b  GPIO  GPIO  ·  GPIO  ·  CPU  GPIO b

5.4.3.1  GPIO
 GPIO  ·  GPIO  DEDIC_GPIO_OUT_DRT_REG  · MASK  GPIO  DEDIC_GPIO_OUT_MSK_REG  ·  BIT  GPIO  DEDIC_GPIO_OUT_IDV_REG b
 DEDIC_GPIO_OUT_SCAN_REG  GPIO  5.4-1  gpio_out_statusb  DEDIC_GPIO_IN_SCAN_REG  GPIO  5.4-1  gpio_in_statusb  GPIO // DEDIC_GPIO_IN_DLY_REG b GPIO  GPIO  b DEDIC_GPIO_INTR_RCGN_REG 



163 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

· 0/1 · 2 · 3 · 4 · 5 · 6/7

5.4.3.2  CPU  GPIO
CPU / GPIO
·  SET_BIT_GPIO_OUT mask   1  GPIO_OUT mask  8b GPIO_OUT   mask  1 bGPIO_OUT  5.4-1  gpio_outb
·  CLR_BIT_GPIO_OUT mask   1  GPIO_OUT mask  8b GPIO_OUT   mask  1 b
·  MASK  WR_MASK_GPIO_OUT value, mask   mask  GPIO_OUT  valuebvalue  8mask   8 GPIO_OUTb mask  1  value b mask 0x03 (0000 0011),  GPIO_OUT[0]  GPIO_OUT[1] b
·  art  WUR.GPIO_OUT art   art  GPIO_OUTb art  32 8 b
·  arr  RUR.GPIO_OUT arr   GPIO_OUT  arrb arr  32 8 b
·  I GET_GPIO_IN I   GPIO_IN  Ib I  32,  24  0 8   GPIO_IN b



164 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

5.5 IO MUX  I/O 
5.5.1 
 SPIaJTAG  GPIO b IO MUX b  GPIO  GPIO pad  IO MUX  b

5.5.2 
I/O  GPIO  1. GPIO pad  IO_MUX_MCU_SEL  pad  5.11  pad b 2.  GPIO_SIGn_IN_SEL b
I/O  GPIO  GPIO pad  IO_MUX_MCU_SEL  pad  b
 / IO MUX / GPIO  b

5.6 RTC IO MUX  I/O 
5.6.1 
ESP32-S2  22  GPIO c RTC RTC b  IO MUX  GPIO  RTC IO MUX  I/O  RTC b  RTC GPIO  Deep-sleep   Deep-sleep b  5.12  RTC_MUX b
5.6.2 
 pad  RTC  RTCIO_TOUCH_PADn_REG  RTCIO_TOUCH_PADn_MUX_SEL  b 0 IO MUX b  RTCIO_TOUCH_PADn_MUX_SEL RTC b RTCIO_TOUCH_PADn_REG  I/Opad b 5.12  RTC  b  5.12  GPIO pad  RTC b RTCIO_TOUCH_PADn_REG   RTC GPIO  GPIO pad b



165 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

5.7 Light-sleep 

 ESP32-S2  Light-sleep b GPIO pad  IO_MUX_n_REG   IO_MUX_SLP_SEL  1 Light-sleep  padb

 5.7-1. IO MUX Light-sleep 

IO MUX 
   

  IO_MUX_SLP_SEL = 0 IO_MUX_FUN_DRV IO_MUX_FUN_WPU IO_MUX_FUN_WPD (From GPIO Matrix _OEN field)1

Light-sleep   IO_MUX_SLP_SEL = 1 IO_MUX_FUN_DRV IO_MUX_MCU_WPU IO_MUX_MCU_WPD IO_MUX_MCU_OE

 IO_MUX_SLP_SEL  0 Light-sleep b
  IO_MUX_SLP_SEL = 0  5.3.2 b

5.8 Pad Hold 
 IO padc RTC pad hold  RTC bpad  hold pad   hold  IO MUX  GPIO  pad b Deep-sleep  pad   hold b
 ·  pad  pad  RTC_CNTL_DG_PAD_FORCE_UNHOLD  0b RTC pad  RTC_CNTL_PAD_HOLD_REG  Hold  Unhold pad b ·  Hold  RTC_CNTL_DG_PAD_FORCE_UNHOLD  1b  pad  RTC_CNTL_PAD_HOLD_REG  1b
5.9 I/O Pad 
IO pad  uESP32-S2 vb
5.9.1 
ESP32-S2  4 b · VDD3P3_RTC_IORTC  CPU  · VDD3P3_CPUCPU  · VDD3P3_RTCRTC 



166 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

· VDD_SPI
VDD_SPI  LDO LDO  1.8 Vb LDOVDD_SPI  VDD3P3_RTC_IO b
VDD_SPI  GPIO45  Strapping  eFuse  VDD_SPI b uESP32-S2 v Strapping b

5.10 

 5.10-1  GPIO b  5.10-1. GPIO 

 

0

SPIQ_in

1

SPID_in

2

SPIHD_in

3

SPIWP_in

4

-

5

-

6

-

7

SPID4_in

8

SPID5_in

9

SPID6_in

10

SPID7_in

11

SPIDQS_in

14

U0RXD_in

15

U0CTS_in

16

U0DSR_in

17

U1RXD_in

18

U1CTS_in

21

U1DSR_in

23

I2S0O_BCK_in

25

I2S0O_WS_in

27

I2S0I_BCK_in

28

I2S0I_WS_in

29

I2CEXT0_SCL_in

30

I2CEXT0_SDA_in

39

pcnt_sig_ch0_in0

40

pcnt_sig_ch1_in0

41

pcnt_ctrl_ch0_in0

42

pcnt_ctrl_ch1_in0

43

pcnt_sig_ch0_in1

44

pcnt_sig_ch1_in1

 *
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0

 IO MUX 
yes yes yes yes
yes yes yes yes yes yes yes no yes yes no no no no no no no no no no no no no


SPIQ_out SPID_out SPIHD_out SPIWP_out SPICLK_out_mux SPICS0_out SPICS1_out SPID4_out SPID5_out SPID6_out SPID7_out SPIDQS_out U0TXD_out U0RTS_out U0DTR_out U1TXD_out U1RTS_out U1DTR_out I2S0O_BCK_out I2S0O_WS_out I2S0I_BCK_out I2S0I_WS_out I2CEXT0_SCL_out I2CEXT0_SDA_out gpio_wlan_prio gpio_wlan_active -

 
SPIQ_oe SPID_oe SPIHD_oe SPIWP_oe SPICLK_oe SPICS0_oe SPICS1_oe SPID4_oe SPID5_oe SPID6_oe SPID7_oe SPIDQS_oe
1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 I2CEXT0_SCL_oe I2CEXT0_SDA_oe 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1



167 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack


45 46 47 48 49 50 51 52 53 54 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 95 96 100 101 102


pcnt_ctrl_ch0_in1 pcnt_ctrl_ch1_in1 pcnt_sig_ch0_in2 pcnt_sig_ch1_in2 pcnt_ctrl_ch0_in2 pcnt_ctrl_ch1_in2 pcnt_sig_ch0_in3 pcnt_sig_ch1_in3 pcnt_ctrl_ch0_in3 pcnt_ctrl_ch1_in3 usb_otg_iddig_in usb_otg_avalid_in usb_srp_bvalid_in usb_otg_vbusvalid_in usb_srp_sessend_in SPI3_CLK_in SPI3_Q_in SPI3_D_in SPI3_HD_in SPI3_CS0_in rmt_sig_in0 rmt_sig_in1 rmt_sig_in2 rmt_sig_in3 I2CEXT1_SCL_in I2CEXT1_SDA_in -

 *
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 -

 IO MUX 
no no no no no no no no no no no no no no no no no no no no no no no no no no -


usb_otg_idpullup usb_otg_dppulldown usb_otg_dmpulldown usb_otg_drvvbus usb_srp_chrgvbus usb_srp_dischrgvbus SPI3_CLK_out_mux SPI3_Q_out SPI3_D_out SPI3_HD_out SPI3_CS0_out SPI3_CS1_out SPI3_CS2_out ledc_ls_sig_out0 ledc_ls_sig_out1 ledc_ls_sig_out2 ledc_ls_sig_out3 ledc_ls_sig_out4 ledc_ls_sig_out5 ledc_ls_sig_out6 ledc_ls_sig_out7 rmt_sig_out0 rmt_sig_out1 rmt_sig_out2 rmt_sig_out3 I2CEXT1_SCL_out I2CEXT1_SDA_out gpio_sd0_out gpio_sd1_out gpio_sd2_out

 
1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 SPI3_CLK_oe SPI3_Q_oe SPI3_D_oe SPI3_HD_oe SPI3_CS0_oe SPI3_CS1_oe SPI3_CS2_oe 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 I2CEXT1_SCL_oe I2CEXT1_SDA_oe 1'd1 1'd1 1'd1



168 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

 

103 -

104 -

105 -

106 -

107 -

108 FSPICLK_in

109 FSPIQ_in

110

FSPID_in

111

FSPIHD_in

112

FSPIWP_in

113

FSPIIO4_in

114

FSPIIO5_in

115

FSPIIO6_in

116

FSPIIO7_in

117

FSPICS0_in

118

-

119

-

120 -

121

-

122 -

123 twai_rx

124

-

125 -

126 -

127 SUBSPIQ_in

128 SUBSPID_in

129 SUBSPIHD_in

130 SUBSPIWP_in

131

-

132 -

133 -

134 -

135 -

136 -

137 -

139 -

140 -

143 I2S0I_DATA_in0

144 I2S0I_DATA_in1

145 I2S0I_DATA_in2

146 I2S0I_DATA_in3

147 I2S0I_DATA_in4

 *
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

 IO MUX 
yes yes yes yes yes yes yes yes yes yes no yes yes yes yes no no no no no


gpio_sd3_out gpio_sd4_out gpio_sd5_out gpio_sd6_out gpio_sd7_out FSPICLK_out_mux FSPIQ_out FSPID_out FSPIHD_out FSPIWP_out FSPIIO4_out FSPIIO5_out FSPIIO6_out FSPIIO7_out FSPICS0_out FSPICS1_out FSPICS2_out FSPICS3_out FSPICS4_out FSPICS5_out twai_tx twai_bus_off_on twai_clkout SUBSPICLK_out_mux SUBSPIQ_out SUBSPID_out SUBSPIHD_out SUBSPIWP_out SUBSPICS0_out SUBSPICS1_out FSPIDQS_out FSPI_HSYNC_out FSPI_VSYNC_out FSPI_DE_out FSPICD_out SPI3_CD_out SPI3_DQS_out I2S0O_DATA_out0 I2S0O_DATA_out1 I2S0O_DATA_out2 I2S0O_DATA_out3 I2S0O_DATA_out4

 
1'd1 1'd1 1'd1 1'd1 1'd1 FSPICLK_oe FSPIQ_oe FSPID_oe FSPIHD_oe FSPIWP_oe FSPIIO4_oe FSPIIO5_oe FSPIIO6_oe FSPIIO7_oe FSPICS0_oe FSPICS1_oe FSPICS2_oe FSPICS3_oe FSPICS4_oe FSPICS5_oe 1'd1 1'd1 1'd1 SUBSPICLK_oe SUBSPIQ_oe SUBSPID_oe SUBSPIHD_oe SUBSPIWP_oe SUBSPICS0_oe SUBSPICS1_oe FSPIDQS_oe FSPI_HSYNC_oe FSPI_VSYNC_oe FSPI_DE_oe FSPICD_oe SPI3_CD_oe SPI3_DQS_oe 1'd1 1'd1 1'd1 1'd1 1'd1



169 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

 

148 I2S0I_DATA_in5

149 I2S0I_DATA_in6

150 I2S0I_DATA_in7

151

I2S0I_DATA_in8

152 I2S0I_DATA_in9

153 I2S0I_DATA_in10

154 I2S0I_DATA_in11

155 I2S0I_DATA_in12

156 I2S0I_DATA_in13

157 I2S0I_DATA_in14

158 I2S0I_DATA_in15

159 -

160 -

161

-

162 -

163 -

164 -

165 -

166 -

167 SUBSPID4_in

168 SUBSPID5_in

169 SUBSPID6_in

170 SUBSPID7_in

171

SUBSPIDQS_in

193 I2S0I_H_SYNC

194 I2S0I_V_SYNC

195 I2S0I_H_ENABLE

215 -

216 -

217 -

218 -

219 -

220 -

221 -

222 -

223 sig_in_func_223

224 sig_in_func_224

225 sig_in_func_225

226 sig_in_func_226

227 sig_in_func_227

235 pro_alonegpio_in0

236 pro_alonegpio_in1

 *
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

 IO MUX 
no no no no no no no no no no no yes yes yes yes yes no no no no no no no no no no


I2S0O_DATA_out5 I2S0O_DATA_out6 I2S0O_DATA_out7 I2S0O_DATA_out8 I2S0O_DATA_out9 I2S0O_DATA_out10 I2S0O_DATA_out11 I2S0O_DATA_out12 I2S0O_DATA_out13 I2S0O_DATA_out14 I2S0O_DATA_out15 I2S0O_DATA_out16 I2S0O_DATA_out17 I2S0O_DATA_out18 I2S0O_DATA_out19 I2S0O_DATA_out20 I2S0O_DATA_out21 I2S0O_DATA_out22 I2S0O_DATA_out23 SUBSPID4_out SUBSPID5_out SUBSPID6_out SUBSPID7_out SUBSPIDQS_out ant_sel0 ant_sel1 ant_sel2 ant_sel3 ant_sel4 ant_sel5 ant_sel6 ant_sel7 sig_in_func223 sig_in_func224 sig_in_func225 sig_in_func226 sig_in_func227 pro_alonegpio_out0 pro_alonegpio_out1

 
1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 SUBSPID4_oe SUBSPID5_oe SUBSPID6_oe SUBSPID7_oe SUBSPIDQS_oe 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1



170 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

 
237 pro_alonegpio_in2 238 pro_alonegpio_in3 239 pro_alonegpio_in4 240 pro_alonegpio_in5 241 pro_alonegpio_in6 242 pro_alonegpio_in7 251 -

 *
0 0 0 0 0 0 -

 IO MUX 
no no no no no no -


pro_alonegpio_out2 pro_alonegpio_out3 pro_alonegpio_out4 pro_alonegpio_out5 pro_alonegpio_out6 pro_alonegpio_out7 clk_i2s_mux

GoBack
 
1'd1 1'd1 1'd1 1'd1 1'd1 1'd1 1'd1

5.11 IO MUX Pad 

 5.11-1  I/O pad  IO MUX b  5.11-1. IO MUX Pad 

GPIO Pad Name Function 0 Function 1

0

GPIO0

GPIO0

GPIO0

1

GPIO1

GPIO1

GPIO1

2

GPIO2

GPIO2

GPIO2

3

GPIO3

GPIO3

GPIO3

4

GPIO4

GPIO4

GPIO4

5

GPIO5

GPIO5

GPIO5

6

GPIO6

GPIO6

GPIO6

7

GPIO7

GPIO7

GPIO7

8

GPIO8

GPIO8

GPIO8

9

GPIO9

GPIO9

GPIO9

10 GPIO10

GPIO10

GPIO10

11 GPIO11

GPIO11

GPIO11

12 GPIO12

GPIO12

GPIO12

13 GPIO13

GPIO13

GPIO13

14 GPIO14

GPIO14

GPIO14

15 XTAL_32K_P XTAL_32K_P GPIO15

16 XTAL_32K_N XTAL_32K_N GPIO16

17 DAC_1

DAC_1

GPIO17

18 DAC_2

DAC_2

GPIO18

19 GPIO19

GPIO19

GPIO19

20 GPIO20

GPIO20

GPIO20

21 GPIO21

GPIO21

GPIO21

26 SPICS1

SPICS1

GPIO26

27 SPIHD

SPIHD

GPIO27

28 SPIWP

SPIWP

GPIO28

29 SPICS0

SPICS0

GPIO29

Function 2 FSPIIO4 FSPIIO5 FSPIIO6 FSPIIO7 FSPIDQS U0RTS U0CTS U1TXD U1RXD U1RTS U1CTS -

Function 3
SUBSPICS1 SUBSPIHD SUBSPICS0 SUBSPID SUBSPICLK SUBSPIQ SUBSPIWP CLK_OUT3 CLK_OUT2 CLK_OUT1 -

Function 4 FSPIHD FSPICS0 FSPID FSPICLK FSPIQ FSPIWP -

Reset Notes

3

R

1

R

1

R

0

R

0

R

0

R

0

R

0

R

0

R

1

R

1

R

1

R

1

R

1

R

1

R

0

R

0

R

1

R

3

R

0

R

0

R

0

R

3

-

3

-

3

-

3

-



171 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

GPIO Pad Name
30 SPICLK 31 SPIQ 32 SPID 33 GPIO33 34 GPIO34 35 GPIO35 36 GPIO36 37 GPIO37 38 GPIO38 39 MTCK 40 MTDO 41 MTDI 42 MTMS 43 U0TXD 44 U0RXD 45 GPIO45 46 GPIO46

Function 0
SPICLK SPIQ SPID GPIO33 GPIO34 GPIO35 GPIO36 GPIO37 GPIO38 MTCK MTDO MTDI MTMS U0TXD U0RXD GPIO45 GPIO46

Function 1
GPIO30 GPIO31 GPIO32 GPIO33 GPIO34 GPIO35 GPIO36 GPIO37 GPIO38 GPIO39 GPIO40 GPIO41 GPIO42 GPIO43 GPIO44 GPIO45 GPIO46

Function Function 3

2

-

-

-

-

-

FSPIHD SUBSPIHD

FSPICS0 SUBSPICS0

FSPID

SUBSPID

FSPICLK SUBSPICLK

FSPIQ

SUBSPIQ

FSPIWP SUBSPIWP

CLK_OUT3 SUBSPICS1

CLK_OUT2 -

CLK_OUT1 -

-

-

CLK_OUT1 -

CLK_OUT2 -

-

-

-

-

Function 4 SPIIO4 SPIIO5 SPIIO6 SPIIO7 SPIDQS -

Reset Notes

3

-

3

-

3

-

1

-

1

-

1

-

1

-

1

-

1

-

1

-

1

-

1

-

1

-

3

-

3

-

2

-

2

I

 oResetp pad b
· 0 - IE=0c · 1 - IE=1c · 2 - IE=1, WPD=1c · 3 - IE=1, WPU=1c  · R - Pad  RTC IO MUX  RTC/b · I - Pad  GPIOb  uESP32-S2 vb

5.12 RTC IO MUX 

 5.12-1  RTC  GPIO padb  5.12-1. RTC IO MUX 

RTC GPIO Num GPIO Num Pad Name

0

1

0

0

TOUCH_PAD0 1 RTC_GPIO0 -

1

1

TOUCH_PAD1 RTC_GPIO1

-

Analog Function 2 -

3 sar_i2c_scl_02 sar_i2c_sda_02



172 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

RTC GPIO Num GPIO Num Pad Name

0

1

2

2

TOUCH_PAD2 RTC_GPIO2 -

3

3

TOUCH_PAD3 RTC_GPIO3 -

4

4

TOUCH_PAD4 RTC_GPIO4 -

5

5

TOUCH_PAD5 RTC_GPIO5 -

6

6

TOUCH_PAD6 RTC_GPIO6 -

7

7

TOUCH_PAD7 RTC_GPIO7 -

8

8

TOUCH_PAD8 RTC_GPIO8 -

9

9

TOUCH_PAD9 RTC_GPIO9 -

10

10

TOUCH_PAD10 RTC_GPIO10 -

11

11

TOUCH_PAD11 RTC_GPIO11 -

12

12

TOUCH_PAD12 RTC_GPIO12 -

13

13

TOUCH_PAD13 RTC_GPIO13 -

14

14

TOUCH_PAD14 RTC_GPIO14 -

15

15

X32P

RTC_GPIO15 -

16

16

X32N

RTC_GPIO16 -

17

17

PDAC1

RTC_GPIO17 -

18

18

PDAC2

RTC_GPIO18 -

19

19

RTC_PAD19

RTC_GPIO19 -

20

20

RTC_PAD20

RTC_GPIO20 -

21

21

RTC_PAD21

RTC_GPIO21 -

Analog Function 2 -

GoBack
3 sar_i2c_scl_12 sar_i2c_sda_12 -

 1. TOUCH_PAD0 b 2.  sar_i2c_xx  1  (ULP)RTC I2C b

5.13 

 5.13-1 b 3 b  5.13-1. 

 GPIO
IO MUX GPIOSD  GPIO RTCIO

 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2 PeriBUS2 PeriBUS1 PeriBUS1 PeriBUS2

 0x3F404000 0x60004000 0x3F409000 0x60009000 0x60004F00 0x3F4CF000 0x3F408400 0x60008400



173 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

5.14 

5.14.1 GPIO 
 GPIO c 5.13  GPIO  b

 GPIO  GPIO_BT_SELECT_REG GPIO_OUT_REG GPIO_OUT_W1TS_REG GPIO_OUT_W1TC_REG GPIO_OUT1_REG GPIO_OUT1_W1TS_REG GPIO_OUT1_W1TC_REG GPIO_SDIO_SELECT_REG GPIO_ENABLE_REG GPIO_ENABLE_W1TS_REG GPIO_ENABLE_W1TC_REG GPIO_ENABLE1_REG GPIO_ENABLE1_W1TS_REG GPIO_ENABLE1_W1TC_REG GPIO_STRAP_REG GPIO_IN_REG GPIO_IN1_REG GPIO_PIN0_REG GPIO_PIN1_REG GPIO_PIN2_REG ... GPIO_PIN44_REG GPIO_PIN45_REG GPIO_PIN46_REG GPIO_FUNC0_IN_SEL_CFG_REG GPIO_FUNC1_IN_SEL_CFG_REG GPIO_FUNC2_IN_SEL_CFG_REG ... GPIO_FUNC253_IN_SEL_CFG_REG GPIO_FUNC254_IN_SEL_CFG_REG GPIO_FUNC255_IN_SEL_CFG_REG GPIO_FUNC0_OUT_SEL_CFG_REG GPIO_FUNC1_OUT_SEL_CFG_REG GPIO_FUNC2_OUT_SEL_CFG_REG .. GPIO_FUNC43_OUT_SEL_CFG_REG


GPIO  GPIO0 ~ 31  GPIO0 ~ 31  GPIO0 ~ 31  GPIO32 ~ 45  GPIO32 ~ 45  GPIO32 ~ 45  GPIO SDIO  GPIO0 ~ 31  GPIO0 ~ 31  GPIO0 ~ 31  GPIO32 ~ 45  GPIO32 ~ 45  GPIO32 ~ 45  Bootstrap  GPIO0 ~ 31  GPIO32 ~ 53   GPIO pin 0  GPIO pin 1  GPIO pin 2 ...  GPIO pin 44  GPIO pin 45  GPIO pin 46  function 0   function 1   function 2  ...  function 253   function 254   function 255  GPIO0  GPIO1  GPIO2  ... GPIO43 





0x0000 0x0004 0x0008 0x000C 0x0010 0x0014 0x0018 0x001C 0x0020 0x0024 0x0028 0x002C 0x0030 0x0034 0x0038 0x003C 0x0040 0x0074 0x0078 0x007C ... 0x0124 0x0128 0x012C 0x0154 0x0158 0x015C ... 0x0548 0x054C 0x0550 0x0554 0x0558 0x055C ... 0x0600

/ /   /   / /   /      / / / ... / / / / / / ... / / / / / / ... /



174 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

 GPIO_FUNC44_OUT_SEL_CFG_REG GPIO_FUNC45_OUT_SEL_CFG_REG GPIO_CLOCK_GATE_REG  GPIO_STATUS_W1TS_REG GPIO_STATUS_W1TC_REG GPIO_STATUS1_W1TS_REG GPIO_STATUS1_W1TC_REG GPIO  GPIO_STATUS_NEXT_REG GPIO_STATUS_NEXT1_REG  GPIO_STATUS_REG GPIO_STATUS1_REG GPIO_PCPU_INT_REG GPIO_PCPU_NMI_INT_REG GPIO_PCPU_INT1_REG GPIO_PCPU_NMI_INT1_REG

 GPIO44  GPIO45  GPIO 

 0x0604 0x0608 0x062C

 / / /

GPIO0 ~ 31  GPIO0 ~ 31  GPIO32 ~ 46  GPIO32 ~ 46 

0x0048 0x004C 0x0054 0x0058

   

GPIO0 ~ 31  GPIO32 ~ 46 

0x014C  0x0150 

GPIO0 ~ 31  GPIO32 ~ 46  GPIO0 ~ 31 PRO_CPU  GPIO0 ~ 31 PRO_CPU  GPIO32 ~ 46 PRO_CPU  GPIO 32 ~ 46 PRO_CPU  

0x0044 0x0050 0x005C 0x0060 0x0068 0x006C

/ /    

5.14.2 IO MUX 
 IO MUX c 5.13  IO MUX  b

 IO_MUX_PIN_CTRL_REG IO_MUX_GPIO0_REG IO_MUX_GPIO1_REG IO_MUX_GPIO2_REG IO_MUX_GPIO3_REG IO_MUX_GPIO4_REG IO_MUX_GPIO5_REG IO_MUX_GPIO6_REG IO_MUX_GPIO7_REG IO_MUX_GPIO8_REG IO_MUX_GPIO9_REG IO_MUX_GPIO10_REG IO_MUX_GPIO11_REG IO_MUX_GPIO12_REG IO_MUX_GPIO13_REG IO_MUX_GPIO14_REG IO_MUX_XTAL_GPIO15_REG

  GPIO0  GPIO1  GPIO2  GPIO3  GPIO4  GPIO5  GPIO6  GPIO7  GPIO8  GPIO9  GPIO10  GPIO11  GPIO12  GPIO13  GPIO14  XTAL_32K_P 

 0x0000 0x0004 0x0008 0x000C 0x0010 0x0014 0x0018 0x001C 0x0020 0x0024 0x0028 0x002C 0x0030 0x0034 0x0038 0x003C 0x0040

 / / / / / / / / / / / / / / / / /



175 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

 IO_MUX_XTAL_GPIO16_REG IO_MUX_GPIO17_REG IO_MUX_GPIO18_REG IO_MUX_GPIO19_REG IO_MUX_GPIO20_REG IO_MUX_GPIO21_REG IO_MUX_GPIO26_REG IO_MUX_GPIO27_REG IO_MUX_GPIO28_REG IO_MUX_GPIO29_REG IO_MUX_GPIO30_REG IO_MUX_GPIO31_REG IO_MUX_GPIO32_REG IO_MUX_GPIO33_REG IO_MUX_GPIO34_REG IO_MUX_GPIO35_REG IO_MUX_GPIO36_REG IO_MUX_GPIO37_REG IO_MUX_GPIO38_REG IO_MUX_GPIO39_REG IO_MUX_GPIO40_REG IO_MUX_GPIO41_REG IO_MUX_GPIO42_REG IO_MUX_GPIO43_REG IO_MUX_GPIO44_REG IO_MUX_GPIO45_REG IO_MUX_GPIO46_REG

 XTAL_32K_N  DAC_1  DAC_2  GPIO19  GPIO20  GPIO21  SPICS1  SPIHD  SPIWP  SPICS0  SPICLK  SPIQ  SPID  GPIO33  GPIO34  GPIO35  GPIO36  GPIO37  GPIO38  MTCK  MTDO  MTDI  MTMS  U0TXD  U0RXD  GPIO45  GPIO46 

GoBack

 0x0044 0x0048 0x004C 0x0050 0x0054 0x0058 0x006C 0x0070 0x0074 0x0078 0x007C 0x0080 0x0084 0x0088 0x008C 0x0090 0x0094 0x0098 0x009C 0x00A0 0x00A4 0x00A8 0x00AC 0x00B0 0x00B4 0x00B8 0x00BC

 / / / / / / / / / / / / / / / / / / / / / / / / / / /

5.14.3 SDM 
 GPIOSD c 5.13  GPIOSD  b

  GPIOSD_SIGMADELTA0_REG GPIOSD_SIGMADELTA1_REG GPIOSD_SIGMADELTA2_REG GPIOSD_SIGMADELTA3_REG GPIOSD_SIGMADELTA4_REG GPIOSD_SIGMADELTA5_REG GPIOSD_SIGMADELTA6_REG GPIOSD_SIGMADELTA7_REG


SDM0  SDM1  SDM2  SDM3  SDM4  SDM5  SDM6  SDM7 





0x0000 0x0004 0x0008 0x000C 0x0010 0x0014 0x0018 0x001C

/ / / / / / / /



176 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

 GPIOSD_SIGMADELTA_CG_REG GPIOSD_SIGMADELTA_MISC_REG GPIOSD_SIGMADELTA_VERSION_REG

  MISC  

GoBack

 0x0020 0x0024 0x0028

 / / /

5.14.4  GPIO 
 GPIO c 5.13  GPIO b

  DEDIC_GPIO_OUT_DRT_REG DEDIC_GPIO_OUT_MSK_REG DEDIC_GPIO_OUT_IDV_REG DEDIC_GPIO_OUT_CPU_REG DEDIC_GPIO_IN_DLY_REG DEDIC_GPIO_INTR_RCGN_REG  DEDIC_GPIO_OUT_SCAN_REG DEDIC_GPIO_IN_SCAN_REG  DEDIC_GPIO_INTR_RAW_REG DEDIC_GPIO_INTR_RLS_REG DEDIC_GPIO_INTR_ST_REG DEDIC_GPIO_INTR_CLR_REG


 GPIO   GPIO   GPIO   GPIO   GPIO   GPIO 
 GPIO   GPIO 
   





0x0000 WO 0x0004 WO 0x0008 WO 0x0010 R/W 0x0014 R/W 0x001C R/W

0x000C RO 0x0018 RO

0x0020 RO 0x0024 R/W 0x0028 RO 0x002C WO

5.14.5 RTC IO MUX 
 RTCIO c 5.13  RTCIO  b

 GPIO  /  RTCIO_RTC_GPIO_OUT_REG RTCIO_RTC_GPIO_OUT_W1TS_REG RTCIO_RTC_GPIO_OUT_W1TC_REG RTCIO_RTC_GPIO_ENABLE_REG RTCIO_RTC_GPIO_ENABLE_W1TS_REG RTCIO_RTC_GPIO_ENABLE_W1TC_REG RTCIO_RTC_GPIO_STATUS_REG RTCIO_RTC_GPIO_STATUS_W1TS_REG RTCIO_RTC_GPIO_STATUS_W1TC_REG RTCIO_RTC_GPIO_IN_REG RTCIO_RTC_GPIO_PIN0_REG


RTC GPIO  RTC GPIO  RTC GPIO  RTC GPIO  RTC GPIO  RTC GPIO  RTC GPIO  RTC GPIO  RTC GPIO  RTC GPIO  Pin0 RTC 





0x0000 0x0004 0x0008 0x000C 0x0010 0x0014 0x0018 0x001C 0x0020 0x0024 0x0028

/   /   /    /



177 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 
 RTCIO_RTC_GPIO_PIN1_REG RTCIO_RTC_GPIO_PIN2_REG RTCIO_RTC_GPIO_PIN3_REG ... RTCIO_RTC_GPIO_PIN19_REG RTCIO_RTC_GPIO_PIN20_REG RTCIO_RTC_GPIO_PIN21_REG RTC GPIO  RTCIO_TOUCH_PAD0_REG RTCIO_TOUCH_PAD1_REG RTCIO_TOUCH_PAD2_REG ... RTCIO_TOUCH_PAD13_REG RTCIO_TOUCH_PAD14_REG RTCIO_XTAL_32P_PAD_REG RTCIO_XTAL_32N_PAD_REG RTCIO_PAD_DAC1_REG RTCIO_PAD_DAC2_REG RTCIO_RTC_PAD19_REG RTCIO_RTC_PAD20_REG RTCIO_RTC_PAD21_REG RTCIO_XTL_EXT_CTR_REG RTCIO_SAR_I2C_IO_REG

 Pin1 RTC  Pin2 RTC  Pin3 RTC  ... Pin19 RTC  Pin20 RTC  Pin21 RTC 
Touch pad 0  Touch pad 1  Touch pad 2  ... Touch pad 13  Touch pad 14  32KHz crystal P-pad  32KHz crystal N-pad  DAC1  DAC2  Touch pad 19  Touch pad 20  Touch pad 21   GPIO  RTC I2C pad 

5.15 
5.15.1 GPIO 
Register 5.1. GPIO_BT_SELECT_REG (0x0000)
GPIO_BT_SEL
31
0x000000
GPIO_BT_SEL c/

GoBack

 0x002C 0x0030 0x0034 ... 0x0074 0x0078 0x007C

 / / / ... / / /

0x0084 0x0088 0x008C ... 0x00B8 0x00BC 0x00C0 0x00C4 0x00C8 0x00CC 0x00D0 0x00D4 0x00D8 0x00E0 0x00E4

/ / / ... / / / / / / / / / / /

0
Reset



178 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.2. GPIO_OUT_REG (0x0004)

GPIO_OUT_DATA_ORIG

31

0

0x000000

Reset

GPIO_OUT_DATA_ORIG  GPIO  GPIO0 ~ GPIO31 bbit0 ~ bit31   GPIO0 ~ 31 bit22 ~ bit25 bc/

Register 5.3. GPIO_OUT_W1TS_REG (0x0008)

GPIO_OUT_W1TS

31

0

0x000000

Reset

GPIO_OUT_W1TS GPIO0 ~ 31 b 1GPIO_OUT_REG  1b  GPIO_OUT_REGbc

Register 5.4. GPIO_OUT_W1TC_REG (0x000C)

GPIO_OUT_W1TC

31

0

0x000000

Reset

GPIO_OUT_W1TC GPIO0 ~ 31 b 1 GPIO_OUT_REG b  GPIO_OUT_REGbc



179 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.5. GPIO_OUT1_REG (0x0010)

(reserved)

31

22 21

0000000000

GPIO_OUT1_DATA_ORIG 0x0000

0
Reset

GPIO_OUT1_DATA_ORIG  GPIO  GPIO32 ~ 45 bbit0 ~ bit13  GPIO32 ~ GPIO45 bit14 ~ bit21 bc/

Register 5.6. GPIO_OUT1_W1TS_REG (0x0014)

(reserved)

31

22 21

0000000000

GPIO_OUT1_W1TS 0x0000

0
Reset

GPIO_OUT1_W1TS GPIO32 ~ 45 b 1 GPIO_OUT1_REG   1b GPIO_OUT1_REGbc

Register 5.7. GPIO_OUT1_W1TC_REG (0x0018)

(reserved)

31

22 21

0000000000

GPIO_OUT1_W1TC 0x0000

0
Reset

GPIO_OUT1_W1TC GPIO32 ~ 45 b 1 GPIO_OUT1_REG  b GPIO_OUT1_REGbc

Register 5.8. GPIO_SDIO_SELECT_REG (0x001C)

(reserved)

31

87

000000000000000000000000

GPIO_SDIO_SEL c/

GPIO_SDIO_SEL
0

0x0

Reset



180 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 
Register 5.9. GPIO_ENABLE_REG (0x0020)
GPIO_ENABLE_DATA
31
0x000000
GPIO_ENABLE_DATA GPIO0 ~ 31 bc/

GoBack
0
Reset

Register 5.10. GPIO_ENABLE_W1TS_REG (0x0024)

GPIO_ENABLE_W1TS

31

0

0x000000

Reset

GPIO_ENABLE_W1TS GPIO0 ~ 31 b 1 GPIO_ENABLE_REG   1b GPIO_ENABLE_REGbc

Register 5.11. GPIO_ENABLE_W1TC_REG (0x0028)

GPIO_ENABLE_W1TC

31

0

0x000000

Reset

GPIO_ENABLE_W1TC GPIO0 ~ 31 b 1 GPIO_ENABLE_REG  b GPIO_ENABLE_REGbc



181 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

Register 5.12. GPIO_ENABLE1_REG (0x002C)

(reserved)

31

22 21

0000000000

GPIO_ENABLE1_DATA 0x0000

GPIO_ENABLE1_DATA GPIO32 ~ 45 bc/

GoBack
0
Reset

Register 5.13. GPIO_ENABLE1_W1TS_REG (0x0030)

(reserved)

31

22 21

0000000000

GPIO_ENABLE1_W1TS 0x0000

0
Reset

GPIO_ENABLE1_W1TS GPIO32 ~ 45 b 1 GPIO_ENABLE1_REG   1b GPIO_ENABLE1_REGbc

Register 5.14. GPIO_ENABLE1_W1TC_REG (0x0034)

(reserved)

31

22 21

0000000000

GPIO_ENABLE1_W1TC 0x0000

0
Reset

GPIO_ENABLE1_W1TC GPIO32 ~ 45 b 1 GPIO_ENABLE1_REG  b GPIO_ENABLE1_REGbc



182 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.15. GPIO_STRAP_REG (0x0038)

(reserved)

31

16 15

0000000000000000

GPIO_STRAPPING 0

0
Reset

GPIO_STRAPPING GPIO Strapping bit4 ~ bit2  GPIO45aGPIO0  GPIO46bc

Register 5.16. GPIO_IN_REG (0x003C)

GPIO_IN_DATA_NEXT

31

0

0

Reset

GPIO_IN_DATA_NEXT GPIO0 ~ 31 b bit  pad   bit  1 bit  0bc

Register 5.17. GPIO_IN1_REG (0x0040)

(reserved)

31

22 21

0000000000

GPIO_IN_DATA1_NEXT 0

GPIO_IN_DATA1_NEXT GPIO32 ~ 46 b bit  pad bc

0
Reset



183 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.18. GPIO_PINn_REG (n:0-46) (0x0074+4*n)

(reserved)

31

18 17

00000000000000

GPIO_PINn_INT_ENGAPIO_PIGNPn_IOC_OPNINFnIGG_WPIAOK_EPUINPn__EINN(ATreB_sLTeEYrPveEd) GPIO_PIGNPn_IOS_YPNICGN1Pn__IOBPY_APPDAI_NSDnS_RSIVYENRC2_BYPASS

13 12 11 10 9

76

54

321

0

0x0

0x0 0

0x0 0 0 0x0 0 0x0 Reset

GPIO_PINn_SYNC2_BYPASS  GPIO b01 2  3bc/
GPIO_PINn_PAD_DRIVER pad b01bc/
GPIO_PINn_SYNC1_BYPASS  GPIO b01 2  3bc/
GPIO_PINn_INT_TYPE bc/
0 GPIO  1 2 3 4 5 GPIO_PINn_WAKEUP_ENABLE  GPIO  CPU  Light-sleep bc/
GPIO_PINn_CONFIG bc/
GPIO_PINn_INT_ENA bbit13 CPU bit14 CPU bc/



184 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.19. GPIO_FUNCn_IN_SEL_CFG_REG (n:0-255) (0x0154+4*n)

(reserved)

GPIO_GSPIGIOn__FINU_NSCEnL_IN_INGVP_IOS_ELFUNCn_IN_SEL

31

87 65

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0

0x0

Reset

GPIO_FUNCn_IN_SEL  m b 1  GPIO   0x38  0x3C bc/

GPIO_FUNCn_IN_INV_SEL b10bc/
GPIO_SIGn_IN_SEL  GPIO b1 GPIO 0 IO MUX  bc/

Register 5.20. GPIO_FUNCn_OUT_SEL_CFG_REG (n:0-45) (0x0554+4*n)

(reserved)

GPIO_GFPUION_CGFnPU_IONO_CEFNnU__NOINCEVNn___SOSEEULLT_INV_SEGLPIO_FUNCn_OUT_SEL

31

12 11 10 9 8

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0

0x100

Reset

GPIO_FUNCn_OUT_SEL GPIO   n      b   s (0<=s<256)       s  GPIO   nb   256   GPIO_OUT_REG/GPIO_OUT1_REG  GPIO_ENABLE_REG/GPIO_ENABLE1_REG  bit n bc/
GPIO_FUNCn_OUT_INV_SEL 01bc/
GPIO_FUNCn_OEN_SEL 01 GPIO_ENABLE_REG  bit n  bc/
GPIO_FUNCn_OEN_INV_SEL 01bc/



185 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.21. GPIO_CLOCK_GATE_REG (0x062C)

(reserved)

GPIO_CLK_EN

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

GPIO_CLK_EN b 1bc/

Register 5.22. GPIO_STATUS_W1TS_REG (0x0048)

GPIO_STATUS_W1TS

31

0

0x000000

Reset

GPIO_STATUS_W1TS GPIO0 ~ 31 b 1 GPIO_STATUS_INTERRUPT   1b GPIO_STATUS_INTERRUPTbc

Register 5.23. GPIO_STATUS_W1TC_REG (0x004C)

GPIO_STATUS_W1TC

31

0

0x000000

Reset

GPIO_STATUS_W1TC GPIO0 ~ 31 b 1 GPIO_STATUS_INTERRUPT b GPIO_STATUS_INTERRUPTbc

Register 5.24. GPIO_STATUS1_W1TS_REG (0x0054)

(reserved)

31

22 21

0000000000

GPIO_STATUS1_W1TS 0x0000

0
Reset

GPIO_STATUS1_W1TS GPIO32 ~ 46 b 1GPIO_STATUS_INTERRUPT1  1b GPIO_STATUS_INTERRUPT1bc



186 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.25. GPIO_STATUS1_W1TC_REG (0x0058)

(reserved)

31

22 21

0000000000

GPIO_STATUS1_W1TC 0x0000

0
Reset

GPIO_STATUS1_W1TC GPIO32 ~ 46         b     1  GPIO_STATUS_INTERRUPT1         b             GPIO_STATUS_INTERRUPT1bc

Register 5.26. GPIO_STATUS_NEXT_REG (0x014C)

GPIO_STATUS_INTERRUPT_NEXT

31

0

0x000000

Reset

GPIO_STATUS_INTERRUPT_NEXT GPIO0 ~ 31 aa bc

Register 5.27. GPIO_STATUS_NEXT1_REG (0x0150)

(reserved)

31

22 21

0000000000

GPIO_STATUS1_INTERRUPT_NEXT 0x0000

GPIO_STATUS1_INTERRUPT_NEXT GPIO32 ~ 46 bc

0
Reset



187 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 
Register 5.28. GPIO_STATUS_REG (0x0044)
GPIO_STATUS_INTERRUPT
31
0x000000
GPIO_STATUS_INTERRUPT GPIO0 ~ 31 bc/

GoBack
0
Reset

Register 5.29. GPIO_STATUS1_REG (0x0050)

(reserved)

31

22 21

0000000000

GPIO_STATUS1_INTERRUPT 0x0000

GPIO_STATUS1_INTERRUPT GPIO32 ~ 46 bc/

0
Reset

Register 5.30. GPIO_PCPU_INT_REG (0x005C)

GPIO_PROCPU_INT

31

0

0x000000

Reset

GPIO_PROCPU_INT GPIO0 ~ 31 PRO_CPU b GPIO_PINn_REG  bit13   CPU  GPIO_STATUS_REG  bit  bc



188 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.31. GPIO_PCPU_NMI_INT_REG (0x0060)

GPIO_PROCPU_NMI_INT

31

0

0x000000

Reset

GPIO_PROCPU_NMI_INT GPIO0 ~ 31 PRO_CPU b GPIO_PINn_REG  bit14  CPU  GPIO_STATUS_REG  bit bc

Register 5.32. GPIO_PCPU_INT1_REG (0x0068)

(reserved)

31

22 21

0000000000

GPIO_PROCPU1_INT 0x0000

0
Reset

GPIO_PROCPU1_INT GPIO32 ~ 46 PRO_CPU b GPIO_PINn_REG  bit13   CPU  GPIO_STATUS1_REG  bit  bc

Register 5.33. GPIO_PCPU_NMI_INT1_REG (0x006C)

(reserved)

31

22 21

0000000000

GPIO_PROCPU_NMI1_INT 0x0000

0
Reset

GPIO_PROCPU_NMI1_INT GPIO32 ~ 46 PRO_CPU b GPIO_PINn_REG  bit14         CPU                    GPIO_STATUS1_REG  bit bc



189 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

5.15.2 IO MUX 

Register 5.34. IO_MUX_PIN_CTRL_REG (0x0000)

(reserved)

IO_MUX_PAIOD__MPOUWX_ESRW_CITTCRHL_PIOR_TM_NUUXM_PIN_CTRL_CILOK_3MUX_PIN_CTRL_CILOK_2MUX_PIN_CTRL_CLK1

31

16 15 14

12 11

87

43

0

0x0

0x0 0x2

0x0

0x0

0x0

Reset

IO_MUX_PIN_CTRL_CLK1  I2S0 b IO_MUX_PIN_CTRL1  0  I2S0   CLK_OUT1 IO_MUX_PIN_CTRL1  15 b(R/W)
IO_MUX_PIN_CTRL_CLK2  I2S0 b IO_MUX_PIN_CTRL2  0  I2S0  CLK_OUT2 IO_MUX_PIN_CTRL2  15 b(R/W)
IO_MUX_PIN_CTRL_CLK3  I2S0 b IO_MUX_PIN_CTRL3  0  I2S0  CLK_OUT3 IO_MUX_PIN_CTRL3  15 b(R/W)

 bCLK_OUT1 ~ 3  IO_MUX Pad b

IO_MUX_SWITCH_PRT_NUM IO Pad  APB b(R/W)
IO_MUX_PAD_POWER_CTRL  GPIO33 ~ 37 b1 VDD_SPI 1.8 V 0  VDD3P3_CPU 3.3 V b(R/W)



190 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.35. IO_MUX_n_REG (n: GPIO0-GPIO21, GPIO26-GPIO46) (0x0004+4*n)

(reserved)

IO_MUX_FIILOT_EMR_UEXN_MCUIO_S_EMLUX_IOF_UMNU_IODX__RMFVUUIONX___MFIEUUNX__(rWFeUsPeNUr_vWedIPO)D_MUIOX__MMUICOXU___MMIEUICOXU___MMWUICOPXU_U__MSWLUPPXD__SMECLU_OE

31

16 15 14

12 11 10 9 8 7 6

54 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 0x0

0x2 0 0 0 00 0 0 0 0 0 Reset

IO_MUX_MCU_OE  pad b10bc/ IO_MUX_SLP_SEL Pad b 1 bc/ IO_MUX_MCU_WPD  pad b10bc/ IO_MUX_MCU_WPU  pad b10bc/ IO_MUX_MCU_IE  pad b10bc/ IO_MUX_FUN_WPD Pad b10bc/ IO_MUX_FUN_WPU Pad b10bc/ IO_MUX_FUN_IE Pad b10bc/ IO_MUX_FUN_DRV  Pad b0~5 mA1~10 mA2~20 mA3~40 mAbc/ IO_MUX_MCU_SEL  IO MUX b0 Function 01 Function 1
bc/ IO_MUX_FILTER_EN Pad b10bc/

5.15.3 SDM 

Register 5.36. GPIOSD_SIGMADELTAn_REG (n: 0-7) (0x0000+4*n)

(reserved)

31

16 15

0000000000000000

GPIOSD_SDn_PRESCALE
87
0xff

GPIOSD_SDn_IN
0

0x0

Reset

GPIOSD_SDn_IN  SDM bc/ GPIOSD_SDn_PRESCALE  APB_CLK bc/



191 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.37. GPIOSD_SIGMADELTA_CG_REG (0x0020)

GPIOSD_CLK_EN

(reserved)

31 30

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

GPIOSD_CLK_EN  SDM bc/

Register 5.38. GPIOSD_SIGMADELTA_MISC_REG (0x0024)

GPIOSGDP_IOSPSDI__SFWUANPCTION_CLK_EN

(reserved)

31 30 29

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

GPIOSD_FUNCTION_CLK_EN  SDM bc/ GPIOSD_SPI_SWAP bc/

(reserved)

31

28 27

0000

Register 5.39. GPIOSD_SIGMADELTA_VERSION_REG (0x0028)
GPIOSD_GPIO_SD_DATE 0x1802260

GPIOSD_GPIO_SD_DATE bc/

0
Reset



192 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

5.15.4  GPIO 

Register 5.40. DEDIC_GPIO_OUT_DRT_REG (0x0000)

(reserved)

31

87

000000000000000000000000

DEDIC_GPIO_OUT_DRT_VLAUE
0

0x0

Reset

DEDIC_GPIO_OUT_DRT_VLAUE  8  GPIO bc

Register 5.41. DEDIC_GPIO_OUT_MSK_REG (0x0004)

(reserved)

31

16 15

0000000000000000

DEDIC_GPIO_OUT_MSK
87
0x0

DEDIC_GPIO_OUT_VALUE
0

0x0

Reset

DEDIC_GPIO_OUT_VALUE  8  GPIO bc DEDIC_GPIO_OUT_MSK cb 1 bc



193 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.42. DEDIC_GPIO_OUT_IDV_REG (0x0008)

(reserved)

DEDIC_GPIODE_DOIUCT__GIPDIVOD_E_CDOHIUC7T__GIPDIVOD_E_CDOHIUC6T__GIPDIVOD_E_CDOHIUC5T__GIPDIVOD_E_CDOHIUC4T__GIPDIVOD_E_CDOHIUC3T__GIPDIVOD_E_CDOHIUC2T__GIPDIVO__COHU1T_IDV_CH0

31

16 15 14 13 12 11 10 9

87

65

43

21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Reset

DEDIC_GPIO_OUT_IDV_CH0  0 b0b1b2b 3bc
DEDIC_GPIO_OUT_IDV_CH1  1 b0b1b2b 3bc
DEDIC_GPIO_OUT_IDV_CH2  2 b0b1b2b 3bc
DEDIC_GPIO_OUT_IDV_CH3  3 b0b1b2b 3bc
DEDIC_GPIO_OUT_IDV_CH4  4 b0b1b2b 3bc
DEDIC_GPIO_OUT_IDV_CH5  5 b0b1b2b 3bc
DEDIC_GPIO_OUT_IDV_CH6  6 b0b1b2b 3bc
DEDIC_GPIO_OUT_IDV_CH7  7 b0b1b2b 3bc



194 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.43. DEDIC_GPIO_OUT_CPU_REG (0x0010)

(reserved)

DEDICD_EGDPICIOD_E_GDOPIUCIODT_E__GDOCPIUPCIODUT_E___GDOCSPIUPECIODLUT_7E___GDOCSPIUPECIODLUT_6E___GDOCSPIUPECIODLUT_5E___GDOCSPIUPECIOLUT_4___GOCSPUPEIOLUT3___OCSUPELUT2__CSPELU1_SEL0

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

DEDIC_GPIO_OUT_CPU_SEL0  0 GPIO  CPU b0 b1 CPU bc/
DEDIC_GPIO_OUT_CPU_SEL1  1 GPIO  CPU b0 b1 CPU bc/
DEDIC_GPIO_OUT_CPU_SEL2  2 GPIO  CPU b0 b1 CPU bc/
DEDIC_GPIO_OUT_CPU_SEL3  3 GPIO  CPU b0 b1 CPU bc/
DEDIC_GPIO_OUT_CPU_SEL4  4 GPIO  CPU b0 b1 CPU bc/
DEDIC_GPIO_OUT_CPU_SEL5  5 GPIO  CPU b0 b1 CPU bc/
DEDIC_GPIO_OUT_CPU_SEL6  6 GPIO  CPU b0 b1 CPU bc/
DEDIC_GPIO_OUT_CPU_SEL7  7 GPIO  CPU b0 b1 CPU bc/



195 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.44. DEDIC_GPIO_IN_DLY_REG (0x0014)

(reserved)

DEDIC_GPIODE_DINIC__DGLYP_IODCE_HDI7NIC__DGLYP_IODCE_HDI6NIC__DGLYP_IODCE_HDI5NIC__DGLYP_IODCE_HDI4NIC__DGLYP_IODCE_HDI3NIC__DGLYP_IODCE_HDI2NIC__DGLYP_IOC_HI1N_DLY_CH0

31

16 15 14 13 12 11 10 9

87

65

43

21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Reset

DEDIC_GPIO_IN_DLY_CH0  GPIO0 b0b1b2 b3bc/
DEDIC_GPIO_IN_DLY_CH1  GPIO1 b0b1b2 b3bc/
DEDIC_GPIO_IN_DLY_CH2  GPIO2 b0b1b2 b3bc/
DEDIC_GPIO_IN_DLY_CH3  GPIO3 b0b1b2 b3bc/
DEDIC_GPIO_IN_DLY_CH4  GPIO4 b0b1b2 b3bc/
DEDIC_GPIO_IN_DLY_CH5  GPIO5 b0b1b2 b3bc/
DEDIC_GPIO_IN_DLY_CH6  GPIO6 b0b1b2 b3bc/
DEDIC_GPIO_IN_DLY_CH7  GPIO7 b0b1b2 b3bc/



196 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.45. DEDIC_GPIO_INTR_RCGN_REG (0x001C)

(reserved)

DEDIC_GPIO_INTDRE_DMICO_DGEP_IOCH_I7NTDRE_DMICO_DGEP_IOCH_I6NTDRE_DMICO_DGEP_IOCH_I5NTDRE_DMICO_DGEP_IOCH_I4NTDRE_DMICO_DGEP_IOCH_I3NTDRE_DMICO_DGEP_IOCH_I2NTDRE_DMICO_DGEP_IOCH_I1NTR_MODE_CH0

31

24 23

21 20

18 17

15 14

12 11

98

65

32

0

0 0 0 0 0 0 0 0 0x0

0x0

0x0

0x0

0x0

0x0

0x0

0x0 Reset

DEDIC_GPIO_INTR_MODE_CH0  0 b0/1b2b 3b4b5b6/7bc/
DEDIC_GPIO_INTR_MODE_CH1  1 b0/1b2b3 b4b5b6/7bc/
DEDIC_GPIO_INTR_MODE_CH2  2 b0/1b2b 3b4b5b6/7bc/
DEDIC_GPIO_INTR_MODE_CH3  3 b0/1b2b 3b4b5b6/7bc/
DEDIC_GPIO_INTR_MODE_CH4  4 b0/1b2b 3b4b5b6/7bc/
DEDIC_GPIO_INTR_MODE_CH5  5 b0/1b2b 3b4b5b6/7bc/
DEDIC_GPIO_INTR_MODE_CH6  6 b0/1b2b 3b4b5b6/7bc/
DEDIC_GPIO_INTR_MODE_CH7  7 b0/1b2b 3b4b5b6/7bc/

Register 5.46. DEDIC_GPIO_OUT_SCAN_REG (0x000C)

(reserved)

31

87

000000000000000000000000

DEDIC_GPIO_OUT_STATUS
0

0x0

Reset

DEDIC_GPIO_OUT_STATUS  DEDIC_GPIO_OUT_DRT_REGaDEDIC_GPIO_OUT_MSK_REG  DEDIC_GPIO_OUT_IDV_REG GPIO bc



197 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.47. DEDIC_GPIO_IN_SCAN_REG (0x0018)

(reserved)

31

87

000000000000000000000000

DEDIC_GPIO_IN_STATUS
0

0x0

Reset

DEDIC_GPIO_IN_STATUS  DEDIC_GPIO_IN_DLY_REG GPIO bc

Register 5.48. DEDIC_GPIO_INTR_RAW_REG (0x0020)

(reserved)

DEDICD_EGDPICIOD_7EG_DPIINCIODT_E6_GD_RPIIACNIODW_TE5G_D_RPIINCAIODW_TE4G_D_RPIINCAIODWT_E3_GD_RPIIANCIODW_TE2G_D_RPIICNAIOW_T1G__RPINAIOTW0_R_AINWT_RAW

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

DEDIC_GPIO0_INT_RAW  GPIO0  DEDIC_GPIO_INTR_RCGN_REG  bc
DEDIC_GPIO1_INT_RAW  GPIO1  DEDIC_GPIO_INTR_RCGN_REG  bc
DEDIC_GPIO2_INT_RAW  GPIO2  DEDIC_GPIO_INTR_RCGN_REG  bc
DEDIC_GPIO3_INT_RAW  GPIO3  DEDIC_GPIO_INTR_RCGN_REG  bc
DEDIC_GPIO4_INT_RAW  GPIO4  DEDIC_GPIO_INTR_RCGN_REG  bc
DEDIC_GPIO5_INT_RAW  GPIO5  DEDIC_GPIO_INTR_RCGN_REG  bc
DEDIC_GPIO6_INT_RAW  GPIO6  DEDIC_GPIO_INTR_RCGN_REG  bc
DEDIC_GPIO7_INT_RAW  GPIO7  DEDIC_GPIO_INTR_RCGN_REG  bc



198 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.49. DEDIC_GPIO_INTR_RLS_REG (0x0024)

(reserved)

DEDICD_EGDPICIOD_7EG_DPIINCIODT_E6_GD_EPIINCNIODA_TE5G_D_EPIINNCIOD_TAE4G_D_EPIINNCIODTA_E3_GD_EPIINNCIODA_TE2G_D_EPIINCNIOA_T1G__EPINNIOTA0_E_NINAT_ENA

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

DEDIC_GPIO0_INT_ENA DEDIC_GPIO0_INT_ST bc/ DEDIC_GPIO1_INT_ENA DEDIC_GPIO1_INT_ST bc/ DEDIC_GPIO2_INT_ENA DEDIC_GPIO2_INT_ST bc/ DEDIC_GPIO3_INT_ENA DEDIC_GPIO3_INT_ST bc/ DEDIC_GPIO4_INT_ENA DEDIC_GPIO4_INT_ST bc/ DEDIC_GPIO5_INT_ENA DEDIC_GPIO5_INT_ST bc/ DEDIC_GPIO6_INT_ENA DEDIC_GPIO6_INT_ST bc/ DEDIC_GPIO7_INT_ENA DEDIC_GPIO7_INT_ST bc/



199 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.50. DEDIC_GPIO_INTR_ST_REG (0x0028)

(reserved)

DEDICD_EGDPICIOD_7EG_DPIINCIODT_E6_GD_SPIITCNIOD_TE5G_D_SPIITNCIOD_TE4G_D_SPIITNCIODT_E3_GD_SPIITNCIOD_TE2G_D_SPIITCNIO_T1G__SPINTIOT0_S_TINT_ST

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

DEDIC_GPIO0_INT_ST DEDIC_GPIO0_INT_RAW  DEDIC_GPIO0_INT_ENA = 1  bc
DEDIC_GPIO1_INT_ST DEDIC_GPIO1_INT_RAW  DEDIC_GPIO1_INT_ENA = 1  bc
DEDIC_GPIO2_INT_ST DEDIC_GPIO2_INT_RAW  DEDIC_GPIO2_INT_ENA = 1  bc
DEDIC_GPIO3_INT_ST DEDIC_GPIO3_INT_RAW  DEDIC_GPIO3_INT_ENA = 1  bc
DEDIC_GPIO4_INT_ST DEDIC_GPIO4_INT_RAW  DEDIC_GPIO4_INT_ENA = 1  bc
DEDIC_GPIO5_INT_ST DEDIC_GPIO5_INT_RAW  DEDIC_GPIO5_INT_ENA = 1  bc
DEDIC_GPIO6_INT_ST DEDIC_GPIO6_INT_RAW  DEDIC_GPIO6_INT_ENA = 1  bc
DEDIC_GPIO7_INT_ST DEDIC_GPIO7_INT_RAW  DEDIC_GPIO7_INT_ENA = 1  bc



200 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.51. DEDIC_GPIO_INTR_CLR_REG (0x002C)

(reserved)

DEDICD_EGDPICIOD_7EG_DPIINCIODT_E6_GD_CPIILCNIODR_TE5G_D_CPIINCLIODR_TE4G_D_CPIINCLIODRT_E3_GD_CPIINLCIODR_TE2G_D_CPIICNLIOR_T1G__CPINLIOTR0_C_LINRT_CLR

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

DEDIC_GPIO0_INT_CLR  DEDIC_GPIO0_INT_RAW bc DEDIC_GPIO1_INT_CLR  DEDIC_GPIO1_INT_RAW bc DEDIC_GPIO2_INT_CLR  DEDIC_GPIO2_INT_RAW bc DEDIC_GPIO3_INT_CLR  DEDIC_GPIO3_INT_RAW bc DEDIC_GPIO4_INT_CLR  DEDIC_GPIO4_INT_RAW bc DEDIC_GPIO5_INT_CLR  DEDIC_GPIO5_INT_RAW bc DEDIC_GPIO6_INT_CLR  DEDIC_GPIO6_INT_RAW bc DEDIC_GPIO7_INT_CLR  DEDIC_GPIO7_INT_RAW bc

5.15.5 RTC IO MUX 

Register 5.52. RTCIO_RTC_GPIO_OUT_REG (0x0000)

RTCIO_GPIO_OUT_DATA

(reserved)

31

10 9

0

0

0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_GPIO_OUT_DATA GPIO0 ~ 21 bbit10  GPIO0bit11  GPIO1 bc/



201 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.53. RTCIO_RTC_GPIO_OUT_W1TS_REG (0x0004)

RTCIO_GPIO_OUT_DATA_W1TS

(reserved)

31

10 9

0

0

0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_GPIO_OUT_DATA_W1TS GPIO0 ~ 21 CIO_RTC_GPIO_OUT_REG       CIO_RTC_GPIO_OUT_REGbc

      b     1RT1b             RT-

Register 5.54. RTCIO_RTC_GPIO_OUT_W1TC_REG (0x0008)

RTCIO_GPIO_OUT_DATA_W1TC

(reserved)

31

10 9

0

0

0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_GPIO_OUT_DATA_W1TC GPIO0 ~ 21       b     1  RTCIO_RTC_GPIO_OUT_REG        b             RTCIO_RTC_GPIO_OUT_REGbc

Register 5.55. RTCIO_RTC_GPIO_ENABLE_REG (0x000C)

RTCIO_GPIO_ENABLE

(reserved)

31

10 9

0

0

0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_GPIO_ENABLE GPIO0 ~ 21 bbit10  GPIO0, bit11  GPIO1b  1 GPIO pad bc/



202 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.56. RTCIO_RTC_GPIO_ENABLE_W1TS_REG (0x0010)

RTCIO_GPIO_ENABLE_W1TS

(reserved)

31

10 9

0

0

0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_GPIO_ENABLE_W1TS GPIO0 ~ 21         b     1  RTCIO_RTC_GPIO_ENABLE_REG        1b             RTCIO_RTC_GPIO_ENABLE_REGbc

Register 5.57. RTCIO_RTC_GPIO_ENABLE_W1TC_REG (0x0014)

RTCIO_GPIO_ENABLE_W1TC

(reserved)

31

10 9

0

0

0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_GPIO_ENABLE_W1TC GPIO0 ~ 21         b     1  RTCIO_RTC_GPIO_ENABLE_REG        b             RTCIO_RTC_GPIO_ENABLE_REGbc

Register 5.58. RTCIO_RTC_GPIO_STATUS_REG (0x0018)

RTCIO_GPIO_STATUS_INT

(reserved)

31

10 9

0

0

0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_GPIO_STATUS_INT GPIO0 ~ 21       bbit10   GPIO0bit11   GPIO1    b         RTCIO_RTC_GPIO_PINn_REG      RTCIO_RTC_GPIO_PINn_INT_TYPE b01 bc/



203 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.59. RTCIO_RTC_GPIO_STATUS_W1TS_REG (0x001C)

RTCIO_GPIO_STATUS_INT_W1TS

(reserved)

31

10 9

0

0

0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_GPIO_STATUS_INT_W1TS GPIO0 ~ 21         b     1  RTCIO_GPIO_STATUS_INT        1b             RTCIO_GPIO_STATUS_INTbc

Register 5.60. RTCIO_RTC_GPIO_STATUS_W1TC_REG (0x0020)

RTCIO_GPIO_STATUS_INT_W1TC

(reserved)

31

10 9

0

0

0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_GPIO_STATUS_INT_W1TC GPIO0 ~ 21         b     1  RTCIO_GPIO_STATUS_INT         b             RTCIO_GPIO_STATUS_INTbc

Register 5.61. RTCIO_RTC_GPIO_IN_REG (0x0024)

RTCIO_GPIO_IN_NEXT

(reserved)

31

10 9

0

0

0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_GPIO_IN_NEXT GPIO0 ~ 21 bbit10  GPIO0bit11  GPIO1b bit  pad  bit  1 bit  0bc



204 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.62. RTCIO_RTC_GPIO_PINn_REG (n: 0-21) (0x0028+4*n)

(reserved)

RTCIO_GPIORT_CPIION_nG_WPIAOK_EPUINPn__E(INrNeATsBe_LTrvEYePdE)

RTCIO_G(PreIOse_rPvIeNdn)_PAD_DRIVER

31

11 10 9

76

321

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00

0

0 0 0 0 0 0 0 Reset

RTCIO_GPIO_PINn_PAD_DRIVER Pad b01bc/
RTCIO_GPIO_PINn_INT_TYPE GPIO bc/
0 GPIO  1 2 3 4 5 RTCIO_GPIO_PINn_WAKEUP_ENABLE GPIO b ESP32-S2  Light-sleep  bc/



205 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.63. RTCIO_TOUCH_PADn_REG (n: 0-14) (0x0084+4*n)

(reservedR)TCIO_TROTUCCIOHR__TTPCOAIUDO(Cn_reT_HsOD_eURPrvCAVeDHdn_)_PRRATDDCEnI_OR_TUOEURCTHC_IOPRA_TTDCOnIU_ORCD_TTAHCOC_IUOPRCA_TTDHCOn_IU_OPSCA_TTDHAROn_RTU_PCTTCAIIDOHE_n__TO_PROXAPTPUDTCDCnI_OHRM__TTPUCOAXIUDO_RCn_STT_HECOF_LIUUOPRCNA_TTDH_COSn_IU_OEPSLCA_TLDHOPn__U_PSSCAELDHLPn___PISAELDPn__OFEUN_IE

(reserved)

31 30 29 28 27 26 25

23 22 21 20 19 18 17 16 15 14 13 12

0

0 2 1 00

0x4

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_TOUCH_PADn_FUN_IE bc/ RTCIO_TOUCH_PADn_SLP_OE bc/ RTCIO_TOUCH_PADn_SLP_IE bc/ RTCIO_TOUCH_PADn_SLP_SEL 01bc/ RTCIO_TOUCH_PADn_FUN_SEL Function c/ RTCIO_TOUCH_PADn_MUX_SEL  RTC pad  pad  0bc/ RTCIO_TOUCH_PADn_XPD bc/ RTCIO_TOUCH_PADn_TIE_OPT b01bc/ RTCIO_TOUCH_PADn_START bc/ RTCIO_TOUCH_PADn_DAC b pad  3-bit 0x4bc/ RTCIO_TOUCH_PADn_RUE  pad b10bc/ RTCIO_TOUCH_PADn_RDE  pad b10bc/ RTCIO_TOUCH_PADn_DRV  pad b0~5 mA1~10 mA2~20 mA3~40
mAbc/



206 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.64. RTCIO_XTAL_32P_PAD_REG (0x00C0)

(reservedR)TCIO_XR3T2CPI_ORD_TRXCV3I2OP__XR3D2PE_RUE

(reserved)

RTCIO_XR3T2CPI_OM_XUR3XT2_CPSI_OERF_LTUXCN3I2O_RPS_T_EXCSL3IL2ORPP_T__XCSS3IEL2OLPP___XIS3EL2PP__OFEUN_IE

(reserved)

31 30 29 28 27 26

20 19 18 17 16 15 14 13 12

0

0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_X32P_FUN_IE  pad bc/ RTCIO_X32P_SLP_OE  pad bc/ RTCIO_X32P_SLP_IE  pad bc/ RTCIO_X32P_SLP_SEL 10bc/ RTCIO_X32P_FUN_SEL Function bc/ RTCIO_X32P_MUX_SEL 1 RTC GPIO0 GPIObc/ RTCIO_X32P_RUE Pad b10bc/ RTCIO_X32P_RDE Pad b10bc/ RTCIO_X32P_DRV  pad b0~5 mA1~10 mA2~20 mA3~40 mAbc/



207 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.65. RTCIO_XTAL_32N_PAD_REG (0x00C4)

(reservedR)TCIO_XR3T2CNIO_RD_TRXC3VI2ON__X3R2DNE_RUE

(reserved)

RTCIO_XR3T2CNIO_M_XUR3XT2_CNSIO_ERF_LTUXC3NI2O_RNS_T_EXC3SLI2LORPN_T__XCS3SIE2LOLPN___XI3SE2LPN__OFEUN_IE

(reserved)

31 30 29 28 27 26

20 19 18 17 16 15 14 13 12

0

0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_X32N_FUN_IE bc/ RTCIO_X32N_SLP_OE bc/ RTCIO_X32N_SLP_IE bc/ RTCIO_X32N_SLP_SEL 10bc/ RTCIO_X32N_FUN_SEL Function bc/ RTCIO_X32N_MUX_SEL 1 RTC GPIO0 GPIObc/ RTCIO_X32N_RUE Pad b10bc/ RTCIO_X32N_RDE Pad b10bc/ RTCIO_X32N_DRV  pad b0~5 mA1~10 mA2~20 mA3~40 mAbc/



208 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.66. RTCIO_PAD_DAC1_REG (0x00C8)

(reservedR)TCIO_PRDTACCIO1R__TDPCRDIVOAC_P1_DRADCE1_RUE (reserved)
31 30 29 28 27 26

RTCIO_PRDTACCIO1__MPRDUTAXCC_IOS1R_E_TFLPCUDINOAR_C_TSP1C_EDISLOARLC_PTP1C__DSISOAERLC_LPTP1C__DIISEOARLC_PTP1C__DOIFOAEUC_NP1__DDIAEACC1__XXPPDD__DFOACRRCTECIO_PDAC1_DAC

20 19 18 17 16 15 14 13 12 11 10

32

0 2 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0

0

0

(reserved)
0
0 0 Reset

RTCIO_PDAC1_DAC RTCIO_PDAC1_DAC_XPD_FORCE  1  DAC_1 bc/ RTCIO_PDAC1_XPD_DAC RTCIO_PDAC1_DAC_XPD_FORCE  1 1 DAC_1 0
DAC_1 bc/ RTCIO_PDAC1_DAC_XPD_FORCE 1 RTCIO_PDAC1_XPD_DAC  DAC_1 0
 SAR ADC FSM  DAC_1 bc/ RTCIO_PDAC1_FUN_IE bc/ RTCIO_PDAC1_SLP_OE bc/ RTCIO_PDAC1_SLP_IE bc/ RTCIO_PDAC1_SLP_SEL 10bc/ RTCIO_PDAC1_FUN_SEL DAC_1 bc/ RTCIO_PDAC1_MUX_SEL 1 RTC GPIO0 GPIObc/ RTCIO_PDAC1_RUE Pad b10bc/ RTCIO_PDAC1_RDE Pad b10bc/ RTCIO_PDAC1_DRV  pad b0~5 mA1~10 mA2~20 mA3~40 mAbc/



209 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.67. RTCIO_PAD_DAC2_REG (0x00CC)

(reservedR)TCIO_PRDTACCIO2R__TPDCDRIOAVC_P2D_RACD2E_RUE (reserved)
31 30 29 28 27 26

RTCIO_PRDTACCIO2__PMRDUTACXC_IO2SR__ETPFLCUDIONARC__TP2SCD_EIOSLARCL_TPP2C_D_ISOSARECL_TLPP2C_D_IIOSAERCL_TPP2C_D_IOOFAEUC_PN2D__DAIECAC2__XXPPDD__DFOACRRCTECIO_PDAC2_DAC

20 19 18 17 16 15 14 13 12 11 10

32

0 2 0 00 0 0 0 0 0 00 0 0 0 0 0 0 0

0

0

(reserved)
0
0 0 Reset

RTCIO_PDAC2_DAC RTCIO_PDAC2_DAC_XPD_FORCE  1  DAC_2 bc/ RTCIO_PDAC2_XPD_DAC RTCIO_PDAC2_DAC_XPD_FORCE  1 1 DAC_2 0
 DAC_2 bc/ RTCIO_PDAC2_DAC_XPD_FORCE 1 RTCIO_PDAC2_XPD_DAC  DAC_2 0
SAR ADC FSM  DAC_2 bc/ RTCIO_PDAC2_FUN_IE bc/ RTCIO_PDAC2_SLP_OE bc/ RTCIO_PDAC2_SLP_IE bc/ RTCIO_PDAC2_SLP_SEL 10bc/ RTCIO_PDAC2_FUN_SEL DAC_2 bc/ RTCIO_PDAC2_MUX_SEL 1 RTC GPIO0 GPIObc/ RTCIO_PDAC2_RUE Pad b10bc/ RTCIO_PDAC2_RDE Pad b10bc/ RTCIO_PDAC2_DRV  pad b0~5 mA1~10 mA2~20 mA3~40 mAbc/



210 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.68. RTCIO_RTC_PAD19_REG (0x00D0)

(reservedR)TCIO_RRTTCC_IOPRA_TDRC1T9ICO___DPRRATVDC1_9P_ARDD19E_RU(rEeserved)

RTCIO_RRTTCC_IOPA_DRR1T9TCC__MIOPRUA_TDXRC_1T9ISCO_RE__FTLPRUCATNIDCO_R1__9STPRC_EATSLIDCOL1__P9PR__ATSSDCEL1_LP9P__AISEDL1P9__OFEUN_IE

(reserved)

31 30 29 28 27 26

20 19 18 17 16 15 14 13 12

0

0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_RTC_PAD19_FUN_IE bc/ RTCIO_RTC_PAD19_SLP_OE bc/ RTCIO_RTC_PAD19_SLP_IE bc/ RTCIO_RTC_PAD19_SLP_SEL 10bc/ RTCIO_RTC_PAD19_FUN_SEL bc/ RTCIO_RTC_PAD19_MUX_SEL 1 RTC GPIO2 GPIObc/ RTCIO_RTC_PAD19_RUE Pad b10bc/ RTCIO_RTC_PAD19_RDE Pad b10bc/ RTCIO_RTC_PAD19_DRV  Pad b0~5 mA1~10 mA2~20 mA3~40 mAcb/



211 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.69. RTCIO_RTC_PAD20_REG (0x00D4)

(reservedR)TCIO_RRTTCC_IOPRA_TDRC2TI0CO___DPRARTDCV2_0PA_DRD20E_R(UreEserved)

RTCIO_RRTTCC_IOPA_DRR2TT0CC__IMOPRA_UTDRXC2T_I0COSR___ETFPRLCUATIDCNOR2___T0SPRCA_ETIDSLCOL2__P0PR_A_TSDSCEL2_LP0P_A_IDSEL2P0__OFEUN_IE

(reserved)

31 30 29 28 27 26

20 19 18 17 16 15 14 13 12

0

0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_RTC_PAD20_FUN_IE bc/ RTCIO_RTC_PAD20_SLP_OE bc/ RTCIO_RTC_PAD20_SLP_IE bc/ RTCIO_RTC_PAD20_SLP_SEL 10bc/ RTCIO_RTC_PAD20_FUN_SEL bc/ RTCIO_RTC_PAD20_MUX_SEL 1 RTC GPIO0 GPIObc/ RTCIO_RTC_PAD20_RUE Pad b10bc/ RTCIO_RTC_PAD20_RDE Pad b10bc/ RTCIO_RTC_PAD20_DRV  Pad b0~5 mA1~10 mA2~20 mA3~40
mAbc/



212 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.70. RTCIO_RTC_PAD21_REG (0x00D8)

(reservedR)TCIO_RRTTCC_IOPRA_TDRC2TI1CO___DPRRATVDC2_1P_ARDD2E1_RU(rEeserved)

RTCIO_RRTTCC_IOPA_DRR2TT1CC__MIOPRUA_TDXRC_2TIS1CO_RE__FTLPRUCATNIDCO_R2__ST1PRC_EATSLIDCOL2__P1PR__ATSSDCEL2_LP1P__AISEDL2P1__OFEUN_IE

(reserved)

31 30 29 28 27 26

20 19 18 17 16 15 14 13 12

0

0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_RTC_PAD21_FUN_IE bc/ RTCIO_RTC_PAD21_SLP_OE bc/ RTCIO_RTC_PAD21_SLP_IE bc/ RTCIO_RTC_PAD21_SLP_SEL 10bc/ RTCIO_RTC_PAD21_FUN_SEL bc/ RTCIO_RTC_PAD21_MUX_SEL 1 RTC GPIO0 GPIObc/ RTCIO_RTC_PAD21_RUE Pad b10bc/ RTCIO_RTC_PAD21_RDE Pad b10bc/ RTCIO_RTC_PAD21_DRV  Pad b0~5 mA1~10 mA2~20 mA3~40 mAcb/

Register 5.71. RTCIO_XTL_EXT_CTR_REG (0x00E0)

RTCIO_XTL_EXT_CTR_SEL

(reserved)

31

27 26

0

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_XTL_EXT_CTR_SEL b0 GPIO01 GPIO1 b RTC_CNTL_EXT_XTL_CONF_REG[30]  bc/



213 

ESP32-S2 TRM ( 1.3)

 5  IO MUX  GPIO 

GoBack

Register 5.72. RTCIO_SAR_I2C_IO_REG (0x00E4)

RTCIO_SARR_TI2CCIO__SSDAAR__SIE2LC_SCL_SEL

(reserved)

31 30 29 28 27

0

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTCIO_SAR_I2C_SCL_SEL  RTC I2C SCL  padb0 TOUCH_PAD01 TOUCH_PAD2bc/
RTCIO_SAR_I2C_SDA_SEL  RTC I2C SDA  padb0 TOUCH_PAD11 TOUCH_PAD3bc/



214 

ESP32-S2 TRM ( 1.3)

 6  

GoBack

6

6.1 
6.1.1 
 CPU aab b 6.1-1  b

 6.1-1. 
· CPU  CPU core CPU reset vector  ·  RTC  CPUaaWi-Fi  GPIO ·  RTC  · b



215 

ESP32-S2 TRM ( 1.3)

 6  

GoBack

6.1.2 
CPU bCPU  RTC_CNTL_RESET_CAUSE_PROCPU b  6.1-1 b

 6.1-1. 

 0x01 0x0F 0x10 0x12 0x13 0x03 0x05 0x07 0x08 0x09 0x14 0x0B 0x0C 0x0D 0x11

   RWDT   GLITCH   Deep-sleep  MWDT0  MWDT1  RWDT  eFuse  MWDT0 CPU   CPU  RWDT CPU  MWDT1 CPU 

            CPU  CPU  CPU  CPU 

    12  (WDT)  12  (WDT)  RTC_CNTL_SW_SYS_RST   9   12  (WDT)  12  (WDT)  12  (WDT) eFuse CRC  12  (WDT)  RTC_CNTL_SW_PROCPU_RST   12  (WDT)  12  (WDT)

 ·  ­  ­  ­  (SWD)  · b 9  b

6.2 
6.2.1 
ESP32-S2  CPUaa RTC  b 6.2-1 b



216 

ESP32-S2 TRM ( 1.3)

 6  

GoBack

 6.2-1. 

6.2.2 
ESP32-S2 a PLL b b
·  CPU  ­ PLL_CLK320 MHz  480 MHz  PLL  ­ XTAL_CLK40 MHz b
·  ­ XTAL32K_CLK32 kHz  ­ RC_FAST_CLK 8 MHz  N  ­ RC_FAST_DIV_CLK RC_FAST_CLK  256  RC_FAST_CLK / 256b RC_FAST_CLK  8 MHz  31.250 kHz  ­ RC_SLOW_CLK90 kHz b
· 



217 

ESP32-S2 TRM ( 1.3)

 6  

GoBack

­ APLL_CLK16 MHz ~ 128 MHz  Audio PLL b

6.2.3 CPU 
 6.2-1 CPU_CLK  CPU CPU  240 MHzbCPU c 2 MHzb CPU_CLK  SYSTEM_SOC_CLK_SEL  PLL_CLKaAPLL_CLKaRC_FAST_CLK  XTAL_CLK  CPU_CLK b 6.2-1  6.2-2b
 ESP32-S2 b

SYSTEM_SOC_CLK_SEL  0 1 2 3

 6.2-1. CPU_CLK 
 XTAL_CLK PLL_CLK RC_FAST_CLK APLL_CLK

 6.2-2. CPU_CLK 

 XTAL_CLK

SEL_0* SEL_1* SEL_2*

0

-

-

PLL_CLK (480 MHz)

1

1

0

PLL_CLK (480 MHz)

1

1

1

PLL_CLK (480 MHz)

1

1

2

PLL_CLK (320 MHz)

1

0

0

PLL_CLK (320 MHz)

1

0

1

RC_FAST_CLK

2

-

-

APLL_CLK

3

0

0

APLL_CLK

3

0

1

*SEL_0:  SYSTEM_SOC_CLK_SEL 

*SEL_1:  SYSTEM_PLL_FREQ_SEL 

*SEL_2:  SYSTEM_CPUPERIOD_SEL b

CPU  CPU_CLK = XTAL_CLK / (SYSTEM_PRE_DIV_CNT + 1) SYSTEM_PRE_DIV_CNT  1 0 ~ 1023b CPU_CLK = PLL_CLK / 6 CPU_CLK  80 MHzb CPU_CLK = PLL_CLK / 3 CPU_CLK  160 MHzb CPU_CLK = PLL_CLK / 2 CPU_CLK  240 MHzb CPU_CLK = PLL_CLK / 4 CPU_CLK  80 MHzb CPU_CLK = PLL_CLK / 2 CPU_CLK  160 MHzb CPU_CLK = RC_FAST_CLK / (SYSTEM_PRE_DIV_CNT + 1) SYSTEM_PRE_DIV_CNT  1 0 ~ 1023b CPU_CLK = APLL_CLK / 4 CPU_CLK = APLL_CLK / 2


·  CPU  XTAL_CLK  SYSTEM_PRE_DIV_CNT  XTAL_CLK  



218 

ESP32-S2 TRM ( 1.3)

 6  

GoBack

­  x cx  1  2 cSYSTEM_PRE_DIV_CNT = 1 1 cSYSTEM_PRE_DIV_CNT = 0 x 
cSYSTEM_PRE_DIV_CNT = x - 1
­  2  x cSYSTEM_PRE_DIV_CNT = x - 1  1 cSYSTEM_PRE_DIV_CNT = 0 2 
cSYSTEM_PRE_DIV_CNT = 1
­  xcSYSTEM_PRE_DIV_CNT = x - 1b

6.2.4 
 APB_CLKaREF_TICKaLEDC_PWM_CLKaAPLL_CLK  PLL_F160M_CLKb  6.2-3 b

 6.2-3. 

 TIMG I2S UHCI UART RMT LED_PWM I2C SPI PCNT eFuse Controller SARADC/DAC USB CRYPTO TWAI Controller System Timer

APB_CLK Y Y Y Y Y Y Y Y Y Y
Y Y
Y Y

REF_TICK Y
Y Y Y Y

LEDC_PWM_CLK Y

APLL_CLK Y
Y

PLL_F160M_CLK Y
Y

6.2.4.1 APB_CLK 
 6.2-4 APB_CLK  CPU_CLK b

 6.2-4. APB_CLK 

CPU_CLK  PLL_CLK APLL_CLK XTAL_CLK RC_FAST_CLK

APB_CLK  80 MHz CPU_CLK / 2 CPU_CLK CPU_CLK



219 

ESP32-S2 TRM ( 1.3)

 6  

GoBack

6.2.4.2 REF_TICK
REF_TICK  APB_CLK APB_CLK  CPU_CLK bREF_TICK   CPU_CLK b 6.2-5
 6.2-5. REF_TICK

CPU_CLK  PLL_CLK APLL_CLK XTAL_CLK RC_FAST_CLK

APB_CLK  80 MHz CPU_CLK/2 CPU_CLK CPU_CLK

REF_TICK  APB_CLK/(SYSCON_XTAL_TICK_NUM + 1) APB_CLK/(SYSCON_XTAL_TICK_NUM + 1) APB_CLK/ (SYSCON_XTAL_TICK_NUM + 1) APB_CLK/(SYSCON_CK8M_TICK_NUM + 1)

 REF_TICK  1 MHz  CPU_CLK  PLL_CLK REF_TICK  = 80 MHz/ (SYSCON_XTAL_TICK_NUM + 1) = 1 MHz SYSCON_XTAL_TICK_NUM  79 (0x4F)b

6.2.4.3 LEDC_PWM_CLK 
LEDC_PWM_CLK  LEDC_APB_CLK_SEL  6.2-6 b

 6.2-6. LEDC_PWM_CLK 

LEDC_APB_CLK_SEL  0c 1 2 3

LEDC_PWM_CLK  APB_CLK RC_FAST_CLK XTAL_CLK

6.2.4.4 APLL_SCLK 
APLL_CLK  PLL_CLK APLL b 6.2.7 b
6.2.4.5 PLL_F160M_CLK 
PLL_F160M_CLK  PLL_CLK  PLL b
6.2.4.6 
c RMTaI2C  PLL_CLK b b REF_TICK  b 6.2-3b LED  RC_FAST_CLK  APB_CLK LED b cAPB_CLK  LED  RC_FAST_CLK  b

6.2.5 Wi-Fi 
Wi-Fi  APB_CLK  PLL_CLK b Wi-Fi  PLL_CLKb



220 

ESP32-S2 TRM ( 1.3)

 6  

GoBack

LOW_POWER_CLK  XTAL32K_CLKaXTAL_CLKaRC_FAST_CLKaRTC_SLOW_CLKcRTC   Wi-Fi b

6.2.6 RTC 
RTC_SLOW_CLK  RTC_FAST_CLK bRTC  b RTC_SLOW_CLK  RC_SLOW_CLKaXTAL32K_CLK  RC_FAST_DIV_CLKb RTC_FAST_CLK  XTAL_CLK  RC_FAST_CLKb

6.2.7  PLL 

ab b

ESP32-S2  I2S  PLLb  APLL  I2S b

Audio PLL 

fout

=

fxtal(sdm2

+

sdm1 28

+

sdm0 216

2(odiv + 2)

+ 4)



· fxtal 40 MHz · sdm0 0 ~ 255

· sdm1 0 ~ 255

· sdm2 0 ~ 63

· odiv 0 ~ 31

·  350 MHz ~ 500 MHz

350M Hz

<

fxtal(sdm2

+

sdm1 28

+

sdm0 216

+

4)

<

500M Hz

Audio PLL  RTC_CNTL_PLLA_FORCE_PU  RTC_CNTL_PLLA_FORCE_PD b RTC_CNTL_PLLA_FORCE_PU  RTC_CNTL_PLLA_FORCE_PD  0 PLL  b

6.3 

 SYSCON c 3   3.3-5 b

  SYSCON_TICK_CONF_REG

  REF_TICK 





0x0004 R/W



221 

ESP32-S2 TRM ( 1.3)

 6  

GoBack

6.4 

 SYSCON c 3   3.3-5 b

Register 6.1. SYSCON_TICK_CONF_REG (0x0004)

(reserved)

SYSCON_TICK_ENABLE SYSCON_CK8M_TICK_NUM

31

17 16 15

87

0 0 0 0 0 0 0 0 0 0 0 0 0 0 01

7

SYSCON_XTAL_TICK_NUM
0

39

Reset

SYSCON_XTAL_TICK_NUM  CPU_CLK  PLL_CLKaXTAL_CLK  APLL_CLK  REF_TICK b 0x0 ~ 0xFFbREF_TICK = APB_CLK/( + 1)b(R/W)
SYSCON_CK8M_TICK_NUM  CPU_CLK  RC_FAST_CLK  REF_TICK  b 0x0 ~ 0xFFbREF_TICK = APB_CLK/( + 1)b(R/W)
SYSCON_TICK_ENABLE  REF_TICKb10b(R/W)



222 

ESP32-S2 TRM ( 1.3)

 7   Boot  (BOOTCTRL)

GoBack

7  Boot  (BOOTCTRL)

7.1 

ESP32-S2  Strapping  · GPIO0 · GPIO45 · GPIO46
 GPIO_STRAPPING  Strapping baRTC a a (analog super watchdog) a 6   Strapping b GPIO0aGPIO45  GPIO46 /b / 7.1-1 b
 7.1-1. Strapping /

 

GPIO0 

GPIO45 

GPIO46 

 Strapping / MCU  GPIO  ESP32-S2  Strapping bStrapping b
  Strapping b b

7.2 Boot 

GPIO0  GPIO46  Boot b  7.2-1. 

 GPIO0 GPIO46

SPI Boot  1 x

Download Boot  0 0



223 

ESP32-S2 TRM ( 1.3)

 7   Boot  (BOOTCTRL)

GoBack

 7.2-1  GPIO0  GPIO46  Strapping b"x" b ESP32-S2  SPI Boot  Download Boot bGPIO0aGPIO46  (0, 1)  b
 SPI Boot CPU  SPI Flash  Download Boot  UART0aUART1aQPI  USB  SRAM  flash  SRAM  Download Boot b
 eFuse 
· EFUSE_DIS_FORCE_DOWNLOAD
­  eFuse  0c RTC_CNTL_FORCE_DOWNLOAD_BOOT CPU  SPI Boot  Download Boot b  GPIO_STRAPPING[3:2]  "1x"  "00"
­  eFuse  1 RTC_CNTL_FORCE_DOWNLOAD_BOOTGPIO_STRAPPING  b
· EFUSE_DIS_DOWNLOAD_MODE
 eFuse  1 Download Boot bGPIO_STRAPPING  RTC_CNTL_FORCE_DOWNLOAD_BOOT b
· EFUSE_ENABLE_SECURITY_DOWNLOAD
 eFuse  1 Download Boot a flash SRAM b Download Boot  eFuseb

7.3 ROM 

ROM  ·cUART0 · UART1
EFUSE_UART_PRINT_CHANNEL  ROM  UART0  UART1b · 0: UART0 · 1: UART1
EFUSE_UART_PRINT_CONTROL  GPIO46  UART ROM b

 7.3-1. UART ROM 

UART ROM  EFUSE_UART_PRINT_CONTROL

0



1

2

1



2

3

1 b

GPIO46  0 1 1 0 



224 

ESP32-S2 TRM ( 1.3)

 7   Boot  (BOOTCTRL)

GoBack

7.4 VDD_SPI 
GPIO45  VDD_SPI  · GPIO45 = 0 VDD_SPI  VDD3P3_RTC_IO  RSP I c 3.3 V · GPIO45 = 1 VDD_SPI  LDO c 1.8 Vb
EFUSE_VDD_SPI_FORCE  1 b VDD_SPI  EFUSE_VDD_SPI_TIEH  
· EFUSE_VDD_SPI_FORCE = 1  EFUSE_VDD_SPI_TIEH = 0 VDD_SPI  1.8 V LDO · EFUSE_VDD_SPI_FORCE = 1  EFUSE_VDD_SPI_TIEH = 1 VDD_SPI  VDD3P3_RTC_IOb



225 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

8

8.1 
ESP32-S2  (Interrupt Matrix)  CPU   CPU bb
8.2 
·  95  ·  26  ·  CPU  NMI  ·   8.2-1 b

 8.2-1. 

8.3 
8.3.1 
ESP32-S2  95 b 8.3-1  b 95  CPU b



226 

ESP32-S2 TRM ( 1.3)

 8  



 8.3-1. CPU aa

227 

No.



0

reserved

1

reserved

2

PWR_INTR

3

reserved

4

reserved

5

reserved

6

reserved

7

reserved

8

reserved

9

reserved

10

reserved

11

reserved

12

reserved

13

UHCI0_INTR

14

reserved

15

TG_T0_LEVEL_INT

16

TG_T1_LEVEL_INT

17

TG_WDT_LEVEL_INT

18

TG_LACT_LEVEL_INT

19

TG1_T0_LEVEL_INT

20

TG1_T1_LEVEL_INT

21

TG1_WDT_LEVEL_INT

22

TG1_LACT_LEVEL_INT

23

GPIO_INTERRUPT_PRO

24 GPIO_INTERRUPT_PRO_NMI

25

reserved

26

reserved

27 DEDICATED_GPIO_IN_INTR

28 CPU_INTR_FROM_CPU_0

29

CPU_INTR_FROM_CPU_1

30 CPU_INTR_FROM_CPU_2

31

CPU_INTR_FROM_CPU_3

32

SPI_INTR_1

33

SPI_INTR_2

34

SPI_INTR_3


reserved reserved INTERRUPT_PRO_PWR_INTR_MAP_REG reserved reserved reserved reserved reserved reserved reserved reserved reserved reserved INTERRUPT_PRO_UHCI0_INTR_MAP_REG reserved INTERRUPT_PRO_TG_T0_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG_T1_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG_WDT_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG_LACT_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG1_T0_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG1_T1_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG1_WDT_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG1_LACT_LEVEL_INT_MAP_REG INTERRUPT_PRO_GPIO_INTERRUPT_PRO_MAP_REG INTERRUPT_PRO_GPIO_INTERRUPT_PRO_NMI_MAP_REG reserved reserved INTERRUPT_PRO_DEDICATED_GPIO_IN_INTR_MAP_REG INTERRUPT_PRO_CPU_INTR_FROM_CPU_0_MAP_REG INTERRUPT_PRO_CPU_INTR_FROM_CPU_1_MAP_REG INTERRUPT_PRO_CPU_INTR_FROM_CPU_2_MAP_REG INTERRUPT_PRO_CPU_INTR_FROM_CPU_3_MAP_REG INTERRUPT_PRO_SPI_INTR_1_MAP_REG INTERRUPT_PRO_SPI_INTR_2_MAP_REG INTERRUPT_PRO_SPI_INTR_3_MAP_REG







0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15 INTERRUPT_PRO_INTR_STATUS_REG_0_REG
16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

0

1 INTERRUPT_PRO_INTR_STATUS_REG_1_REG

2

ESP32-S2 TRM ( 1.3)

GoBack

228 

ESP32-S2 TRM ( 1.3)



No.



35

I2S0_INT

36

reserved

37

UART_INTR

38

UART1_INTR

39

reserved

40

reserved

41

reserved

42

reserved

43

reserved

44

reserved

45

LEDC_INT

46

EFUSE_INT

47

CAN_INT

48

USB_INTR

49

RTC_CORE_INTR

50

RMT_INTR

51

PCNT_INTR

52

I2C_EXT0_INTR

53

I2C_EXT1_INTR

54

RSA_INTR

55

SHA_INTR

56

AES_INTR

57

SPI2_DMA_INT

58

SPI3_DMA_INT

59

reserved

60

TIMER_INT

61

TIMER_INT2

62

TG_T0_EDGE_INT

63

TG_T1_EDGE_INT

64

TG_WDT_EDGE_INT

65

TG_LACT_EDGE_INT

66

TG1_T0_EDGE_INT

67

TG1_T1_EDGE_INT

68

TG1_WDT_EDGE_INT

69

TG1_LACT_EDGE_INT

70

CACHE_IA_INT

71

SYSTIMER_TARGET0_INT


INTERRUPT_PRO_I2S0_INT_MAP_REG reserved
INTERRUPT_PRO_UART_INTR_MAP_REG INTERRUPT_PRO_UART1_INTR_MAP_REG
reserved reserved reserved reserved reserved reserved INTERRUPT_PRO_LEDC_INT_MAP_REG INTERRUPT_PRO_EFUSE_INT_MAP_REG INTERRUPT_PRO_CAN_INT_MAP_REG INTERRUPT_PRO_USB_INTR_MAP_REG INTERRUPT_PRO_RTC_CORE_INTR_MAP_REG INTERRUPT_PRO_RMT_INTR_MAP_REG INTERRUPT_PRO_PCNT_INTR_MAP_REG INTERRUPT_PRO_I2C_EXT0_INTR_MAP_REG INTERRUPT_PRO_I2C_EXT1_INTR_MAP_REG INTERRUPT_PRO_RSA_INTR_MAP_REG INTERRUPT_PRO_SHA_INTR_MAP_REG INTERRUPT_PRO_AES_INTR_MAP_REG INTERRUPT_PRO_SPI2_DMA_INT_MAP_REG INTERRUPT_PRO_SPI3_DMA_INT_MAP_REG reserved INTERRUPT_PRO_TIMER_INT1_MAP_REG INTERRUPT_PRO_TIMER_INT2_MAP_REG INTERRUPT_PRO_TG_T0_EDGE_INT_MAP_REG INTERRUPT_PRO_TG_T1_EDGE_INT_MAP_REG INTERRUPT_PRO_TG_WDT_EDGE_INT_MAP_REG INTERRUPT_PRO_TG_LACT_EDGE_INT_MAP_REG INTERRUPT_PRO_TG1_T0_EDGE_INT_MAP_REG INTERRUPT_PRO_TG1_T1_EDGE_INT_MAP_REG INTERRUPT_PRO_TG1_WDT_EDGE_INT_MAP_REG INTERRUPT_PRO_TG1_LACT_EDGE_INT_MAP_REG INTERRUPT_PRO_CACHE_IA_INT_MAP_REG INTERRUPT_PRO_SYSTIMER_TARGET0_INT_MAP_REG







3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19 INTERRUPT_PRO_INTR_STATUS_REG_1_REG

20

21

22

23

24

25

26

27

28

29

30

31

0

1

2

3 INTERRUPT_PRO_INTR_STATUS_REG_2_REG
4

5

6

7

GoBack

 8  

 8  



No.











72

SYSTIMER_TARGET1_INT

INTERRUPT_PRO_SYSTIMER_TARGET1_INT_MAP_REG

8

73

SYSTIMER_TARGET2_INT

INTERRUPT_PRO_SYSTIMER_TARGET2_INT_MAP_REG

9

74

ASSIST_DEBUG_INTR

INTERRUPT_PRO_ASSIST_DEBUG_INTR_MAP_REG

10

75 PMS_PRO_IRAM0_ILG_INTR INTERRUPT_PRO_PMS_PRO_IRAM0_ILG_INTR_MAP_REG 11

76 PMS_PRO_DRAM0_ILG_INTR INTERRUPT_PRO_PMS_PRO_DRAM0_ILG_INTR_MAP_REG 12

77 PMS_PRO_DPORT_ILG_INTR INTERRUPT_PRO_PMS_PRO_DPORT_ILG_INTR_MAP_REG 13

78 PMS_PRO_AHB_ILG_INTR

INTERRUPT_PRO_PMS_PRO_AHB_ILG_INTR_MAP_REG 14

79 PMS_PRO_CACHE_ILG_INTR INTERRUPT_PRO_PMS_PRO_CACHE_ILG_INTR_MAP_REG 15

80 PMS_DMA_APB_I_ILG_INTR INTERRUPT_PRO_PMS_DMA_APB_I_ILG_INTR_MAP_REG 16

81 PMS_DMA_RX_I_ILG_INTR

INTERRUPT_PRO_PMS_DMA_RX_I_ILG_INTR_MAP_REG 17

82 PMS_DMA_TX_I_ILG_INTR

INTERRUPT_PRO_PMS_DMA_TX_I_ILG_INTR_MAP_REG 18

83

SPI_MEM_REJECT_INTR

INTERRUPT_PRO_SPI_MEM_REJECT_INTR_MAP_REG

19

84

DMA_COPY_INTR

INTERRUPT_PRO_DMA_COPY_INTR_MAP_REG

20

85

reserved

reserved

21

86

reserved

reserved

22

229 

87

DCACHE_PRELOAD_INT

INTERRUPT_PRO_DCACHE_PRELOAD_INT_MAP_REG

23 INTERRUPT_PRO_INTR_STATUS_REG_2_REG

88

ICACHE_PRELOAD_INT

INTERRUPT_PRO_ICACHE_PRELOAD_INT_MAP_REG

24

89

APB_ADC_INT

INTERRUPT_PRO_APB_ADC_INT_MAP_REG

25

90

CRYPTO_DMA_INT

INTERRUPT_PRO_CRYPTO_DMA_INT_MAP_REG

26

91

CPU_PERI_ERROR_INT

INTERRUPT_PRO_CPU_PERI_ERROR_INT_MAP_REG

27

92

APB_PERI_ERROR_INT

INTERRUPT_PRO_APB_PERI_ERROR_INT_MAP_REG

28

93

DCACHE_SYNC_INT

INTERRUPT_PRO_DCACHE_SYNC_INT_MAP_REG

29

94

ICACHE_SYNC_INT

INTERRUPT_PRO_ICACHE_SYNC_INT_MAP_REG

30

ESP32-S2 TRM ( 1.3)

GoBack

 8  

GoBack

8.3.2 CPU 
CPU  32  26 b 8.3-2  ·  ­  CPU b ­ CPU b ­ NMI  CPU b ·  ­ b ­ b ­ b
ESP32-S2  6 bNMI   NMI CPU b

 8.3-2. CPU 

 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

                         

        0        NMI  1  2        

 1 1 1 1 1 1 1 1 1 1 1 3 1 1 NMI 3 5 1 1 2 2 2 3 3 4



230 

ESP32-S2 TRM ( 1.3)

 8  

 25 26 27 28 29 30 31

       

       

 4 5 3 4 3 4 5

GoBack

8.3.3  CPU 
 · Source_X X  8.3-1b · INTERRUPT_PRO_X_MAP_REG CPU b  Source_X b 8.3-1 opopb UHCI0_INTR  INTERRUPT_PRO_UHCI0_INTR_MAP_REGb · Interrupt_P CPU  Num_P Num_P  0 ~ 5a8 ~ 10a12 ~ 14a 17 ~ 28a30 ~ 31 8.3-2b · Interrupt_I CPU  Num_I Num_I  6a7a11a15a16a29  8.3-2b
8.3.3.1  Source_X  CPU 
 Source_X  INTERRUPT_PRO_X_MAP_REG  Num_P  Num_P cInterrupt_PbNum_P  CPU  0 ~ 5a8 ~ 10a12 ~ 14a17 ~ 28a30 ~ 31b CPU b
8.3.3.2  Source_Xn  CPU 
 INTERRUPT_PRO_Xn_MAP_REG  Num_P Source_Xn  CPU  Interrupt_Pb CPU  Interrupt_Pb b
8.3.3.3  CPU  Source_X
 INTERRUPT_PRO_X_MAP_REG  Num_Ib  Num_I  CPU (6a7a11a15a16a29)  b
8.3.4  CPU  NMI 
 Interrupt Reg  INTERRUPT_PRO_NMI_MASK_HW   CPU  14  NMI b INTERRUPT_PRO_NMI_MASK_HW  CPU  NMI  CPU  NMI b 8.2-1 b



231 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

8.3.5 
 INTERRUPT_PRO_INTR_STATUS_REG_nc Bit  b INTERRUPT_PRO_INTR_STATUS_REG_n  8.3-1 b

8.4 

 8.4-1 b 3 b  8.4-1. 

 PeriBUS1

 0x3F4C2000

8.5 
cb  8.4 b



232 

ESP32-S2 TRM ( 1.3)

233 

ESP32-S2 TRM ( 1.3)



  INTERRUPT_PRO_PWR_INTR_MAP_REG INTERRUPT_PRO_UHCI0_INTR_MAP_REG INTERRUPT_PRO_TG_T0_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG_T1_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG_WDT_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG_LACT_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG1_T0_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG1_T1_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG1_WDT_LEVEL_INT_MAP_REG INTERRUPT_PRO_TG1_LACT_LEVEL_INT_MAP_REG INTERRUPT_PRO_GPIO_INTERRUPT_PRO_MAP_REG INTERRUPT_PRO_GPIO_INTERRUPT_PRO_NMI_MAP_REG INTERRUPT_PRO_DEDICATED_GPIO_IN_INTR_MAP_REG INTERRUPT_PRO_CPU_INTR_FROM_CPU_0_MAP_REG INTERRUPT_PRO_CPU_INTR_FROM_CPU_1_MAP_REG INTERRUPT_PRO_CPU_INTR_FROM_CPU_2_MAP_REG INTERRUPT_PRO_CPU_INTR_FROM_CPU_3_MAP_REG INTERRUPT_PRO_SPI_INTR_1_MAP_REG INTERRUPT_PRO_SPI_INTR_2_MAP_REG INTERRUPT_PRO_SPI_INTR_3_MAP_REG INTERRUPT_PRO_I2S0_INT_MAP_REG INTERRUPT_PRO_UART_INTR_MAP_REG INTERRUPT_PRO_UART1_INTR_MAP_REG INTERRUPT_PRO_LEDC_INT_MAP_REG INTERRUPT_PRO_EFUSE_INT_MAP_REG INTERRUPT_PRO_CAN_INT_MAP_REG INTERRUPT_PRO_USB_INTR_MAP_REG INTERRUPT_PRO_RTC_CORE_INTR_MAP_REG


PWR_INTR  UHCI0_INTR  TG_T0_LEVEL_INT  TG_T1_LEVEL_INT  TG_WDT_LEVEL_INT  TG_LACT_LEVEL_INT  TG1_T0_LEVEL_INT  TG1_T1_LEVEL_INT  TG1_WDT_LEVEL_INT  TG1_LACT_LEVEL_INT  GPIO_INTERRUPT_PRO  GPIO_INTERRUPT_PRO_NMI  DEDICATED_GPIO_IN_INTR  CPU_INTR_FROM_CPU_0  CPU_INTR_FROM_CPU_1  CPU_INTR_FROM_CPU_2  CPU_INTR_FROM_CPU_3  SPI_INTR_1  SPI_INTR_2  SPI_INTR_3  I2S0_INT  UART_INTR  UART1_INTR  LEDC_INT  EFUSE_INT  CAN_INT  USB_INTR  RTC_CORE_INTR 





0x0008 0x0034 0x003C 0x0040 0x0044 0x0048 0x004C 0x0050 0x0054 0x0058 0x005C 0x0060 0x006C 0x0070 0x0074 0x0078 0x007C 0x0080 0x0084 0x0088 0x008C 0x0094 0x0098 0x00B4 0x00B8 0x00BC 0x00C0 0x00C4

/ / / / / / / / / / / / / / / / / / / / / / / / / / / /

GoBack

 8  

234 

ESP32-S2 TRM ( 1.3)



 INTERRUPT_PRO_RMT_INTR_MAP_REG INTERRUPT_PRO_PCNT_INTR_MAP_REG INTERRUPT_PRO_I2C_EXT0_INTR_MAP_REG INTERRUPT_PRO_I2C_EXT1_INTR_MAP_REG INTERRUPT_PRO_RSA_INTR_MAP_REG INTERRUPT_PRO_SHA_INTR_MAP_REG INTERRUPT_PRO_AES_INTR_MAP_REG INTERRUPT_PRO_SPI2_DMA_INT_MAP_REG INTERRUPT_PRO_SPI3_DMA_INT_MAP_REG INTERRUPT_PRO_TIMER_INT1_MAP_REG INTERRUPT_PRO_TIMER_INT2_MAP_REG INTERRUPT_PRO_TG_T0_EDGE_INT_MAP_REG INTERRUPT_PRO_TG_T1_EDGE_INT_MAP_REG INTERRUPT_PRO_TG_WDT_EDGE_INT_MAP_REG INTERRUPT_PRO_TG_LACT_EDGE_INT_MAP_REG INTERRUPT_PRO_TG1_T0_EDGE_INT_MAP_REG INTERRUPT_PRO_TG1_T1_EDGE_INT_MAP_REG INTERRUPT_PRO_TG1_WDT_EDGE_INT_MAP_REG INTERRUPT_PRO_TG1_LACT_EDGE_INT_MAP_REG INTERRUPT_PRO_CACHE_IA_INT_MAP_REG INTERRUPT_PRO_SYSTIMER_TARGET0_INT_MAP_REG INTERRUPT_PRO_SYSTIMER_TARGET1_INT_MAP_REG INTERRUPT_PRO_SYSTIMER_TARGET2_INT_MAP_REG INTERRUPT_PRO_ASSIST_DEBUG_INTR_MAP_REG INTERRUPT_PRO_PMS_PRO_IRAM0_ILG_INTR_MAP_REG INTERRUPT_PRO_PMS_PRO_DRAM0_ILG_INTR_MAP_REG INTERRUPT_PRO_PMS_PRO_DPORT_ILG_INTR_MAP_REG INTERRUPT_PRO_PMS_PRO_AHB_ILG_INTR_MAP_REG INTERRUPT_PRO_PMS_PRO_CACHE_ILG_INTR_MAP_REG

 RMT_INTR  PCNT_INTR  I2C_EXT0_INTR  I2C_EXT1_INTR  RSA_INTR  SHA_INTR  AES_INTR  SPI2_DMA_INT  SPI3_DMA_INT  TIMER_INT1  TIMER_INT2  TG_T0_EDGE_INT  TG_T1_EDGE_INT  TG_WDT_EDGE_INT  TG_LACT_EDGE_INT  TG1_T0_EDGE_INT  TG1_T1_EDGE_INT  TG1_WDT_EDGE_INT  TG1_LACT_EDGE_INT  CACHE_IA_INT  SYSTIMER_TARGET0_INT  SYSTIMER_TARGET1  SYSTIMER_TARGET2  ASSIST_DEBUG_INTR  PMS_PRO_IRAM0_ILG_INTR  PMS_PRO_DRAM0_ILG_INTR  PMS_PRO_DPORT_ILG_INTR  PMS_PRO_AHB_ILG_INTR  PMS_PRO_CACHE_ILG_INTR 

 0x00C8 0x00CC 0x00D0 0x00D4 0x00D8 0x00DC 0x00E0 0x00E4 0x00E8 0x00F0 0x00F4 0x00F8 0x00FC 0x0100 0x0104 0x0108 0x010C 0x0110 0x0114 0x0118 0x011C 0x0120 0x0124 0x0128 0x012C 0x0130 0x0134 0x0138 0x013C

 / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

GoBack

 8  

235 

ESP32-S2 TRM ( 1.3)



 INTERRUPT_PRO_PMS_DMA_APB_I_ILG_INTR_MAP_REG INTERRUPT_PRO_PMS_DMA_RX_I_ILG_INTR_MAP_REG INTERRUPT_PRO_PMS_DMA_TX_I_ILG_INTR_MAP_REG INTERRUPT_PRO_SPI_MEM_REJECT_INTR_MAP_REG INTERRUPT_PRO_DMA_COPY_INTR_MAP_REG INTERRUPT_PRO_DCACHE_PRELOAD_INT_MAP_REG INTERRUPT_PRO_ICACHE_PRELOAD_INT_MAP_REG INTERRUPT_PRO_APB_ADC_INT_MAP_REG INTERRUPT_PRO_CRYPTO_DMA_INT_MAP_REG INTERRUPT_PRO_CPU_PERI_ERROR_INT_MAP_REG INTERRUPT_PRO_APB_PERI_ERROR_INT_MAP_REG INTERRUPT_PRO_DCACHE_SYNC_INT_MAP_REG INTERRUPT_PRO_ICACHE_SYNC_INT_MAP_REG INTERRUPT_CLOCK_GATE_REG  INTERRUPT_PRO_INTR_STATUS_REG_0_REG INTERRUPT_PRO_INTR_STATUS_REG_1_REG INTERRUPT_PRO_INTR_STATUS_REG_2_REG  INTERRUPT_DATE_REG

 PMS_DMA_APB_I_ILG_INTR  PMS_DMA_RX_I_ILG_INTR  PMS_DMA_TX_I_ILG_INTR  SPI_MEM_REJECT_INTR  DMA_COPY_INTR  DCACHE_PRELOAD_INT  ICACHE_PRELOAD_INT  APB_ADC_INT  CRYPTO_DMA_INT  cpu peri error  CPU_PERI_ERROR_INT  DCACHE_SYNC_INT  ICACHE_SYNC_INT  NMI 
 0  1  2


 0x0140 0x0144 0x0148 0x014C 0x0150 0x015C 0x0160 0x0164 0x0168 0x016C 0x0170 0x0174 0x0178 0x0188

 / / / / / / / / / / / / / /

0x017C 0x0180 0x0184

  

0x0FFC /

GoBack

 8  

 8  

GoBack

8.6 

cb  8.4 b

Register 8.1. INTERRUPT_PRO_PWR_INTR_MAP_REG (0x0008)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_PWR_INTR_MAP
0

16

Reset

INTERRUPT_PRO_PWR_INTR_MAP  PWR_INTR  CPU bc/

Register 8.2. INTERRUPT_PRO_UHCI0_INTR_MAP_REG (0x0034)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_UHCI0_INTR_MAP
0

16

Reset

INTERRUPT_PRO_UHCI0_INTR_MAP  UHCI0_INTR  CPU bc/



236 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.3. INTERRUPT_PRO_TG_T0_LEVEL_INT_MAP_REG (0x003C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG_T0_LEVEL_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG_T0_LEVEL_INT_MAP  TG_T0_LEVEL_INT  CPU  bc/

Register 8.4. INTERRUPT_PRO_TG_T1_LEVEL_INT_MAP_REG (0x0040)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG_T1_LEVEL_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG_T1_LEVEL_INT_MAP  TG_T1_LEVEL_INT  CPU  bc/



237 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.5. INTERRUPT_PRO_TG_WDT_LEVEL_INT_MAP_REG (0x0044)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG_WDT_LEVEL_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG_WDT_LEVEL_INT_MAP  TG_WDT_LEVEL_INT  CPU bc/

Register 8.6. INTERRUPT_PRO_TG_LACT_LEVEL_INT_MAP_REG (0x0048)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG_LACT_LEVEL_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG_LACT_LEVEL_INT_MAP  TG_LACT_LEVEL_INT  CPU bc/



238 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.7. INTERRUPT_PRO_TG1_T0_LEVEL_INT_MAP_REG (0x004C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG1_T0_LEVEL_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG1_T0_LEVEL_INT_MAP  TG1_T0_LEVEL_INT  CPU  bc/

Register 8.8. INTERRUPT_PRO_TG1_T1_LEVEL_INT_MAP_REG (0x0050)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG1_T1_LEVEL_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG1_T1_LEVEL_INT_MAP  TG1_T1_LEVEL_INT  CPU  bc/



239 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.9. INTERRUPT_PRO_TG1_WDT_LEVEL_INT_MAP_REG (0x0054)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG1_WDT_LEVEL_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG1_WDT_LEVEL_INT_MAP  TG1_WDT_LEVEL_INT  CPU bc/

Register 8.10. INTERRUPT_PRO_TG1_LACT_LEVEL_INT_MAP_REG (0x0058)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG1_LACT_LEVEL_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG1_LACT_LEVEL_INT_MAP  TG1_LACT_LEVEL_INT  CPU bc/



240 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.11. INTERRUPT_PRO_GPIO_INTERRUPT_PRO_MAP_REG (0x005C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_GPIO_INTERRUPT_PRO_MAP
0

16

Reset

INTERRUPT_PRO_GPIO_INTERRUPT_PRO_MAP  GPIO_INTERRUPT_PRO  CPU bc/

Register 8.12. INTERRUPT_PRO_GPIO_INTERRUPT_PRO_NMI_MAP_REG (0x0060)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_GPIO_INTERRUPT_PRO_NMI_MAP 0

16

Reset

INTERRUPT_PRO_GPIO_INTERRUPT_PRO_NMI_MAP  GPIO_INTERRUPT_PRO_NMI   CPU bc/

Register 8.13. INTERRUPT_PRO_DEDICATED_GPIO_IN_INTR_MAP_REG (0x006C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_DEDICATED_GPIO_IN_INTR_MAP

0

16

Reset

INTERRUPT_PRO_DEDICATED_GPIO_IN_INTR_MAP  DEDICATED_GPIO_IN_INTR   CPU bc/



241 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.14. INTERRUPT_PRO_CPU_INTR_FROM_CPU_0_MAP_REG (0x0070)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_CPU_INTR_FROM_CPU_0_MAP

0

16

Reset

INTERRUPT_PRO_CPU_INTR_FROM_CPU_0_MAP  CPU_INTR_FROM_CPU_0   CPU bc/

Register 8.15. INTERRUPT_PRO_CPU_INTR_FROM_CPU_1_MAP_REG (0x0074)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_CPU_INTR_FROM_CPU_1_MAP 0

16

Reset

INTERRUPT_PRO_CPU_INTR_FROM_CPU_1_MAP  CPU_INTR_FROM_CPU_1   CPU bc/

Register 8.16. INTERRUPT_PRO_CPU_INTR_FROM_CPU_2_MAP_REG (0x0078)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_CPU_INTR_FROM_CPU_2_MAP 0

16

Reset

INTERRUPT_PRO_CPU_INTR_FROM_CPU_2_MAP  CPU_INTR_FROM_CPU_2   CPU bc/



242 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.17. INTERRUPT_PRO_CPU_INTR_FROM_CPU_3_MAP_REG (0x007C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_CPU_INTR_FROM_CPU_3_MAP 0

16

Reset

INTERRUPT_PRO_CPU_INTR_FROM_CPU_3_MAP  CPU_INTR_FROM_CPU_3   CPU bc/

Register 8.18. INTERRUPT_PRO_SPI_INTR_1_MAP_REG (0x0080)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_SPI_INTR_1_MAP
0

16

Reset

INTERRUPT_PRO_SPI_INTR_1_MAP  SPI_INTR_1  CPU bc/

Register 8.19. INTERRUPT_PRO_SPI_INTR_2_MAP_REG (0x0084)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_SPI_INTR_2_MAP
0

16

Reset

INTERRUPT_PRO_SPI_INTR_2_MAP  SPI_INTR_2  CPU bc/



243 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.20. INTERRUPT_PRO_SPI_INTR_3_MAP_REG (0x0088)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_SPI_INTR_3_MAP
0

16

Reset

INTERRUPT_PRO_SPI_INTR_3_MAP  SPI_INTR_3  CPU bc/

Register 8.21. INTERRUPT_PRO_I2S0_INT_MAP_REG (0x008C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_I2S0_INT_MAP
0

16

Reset

INTERRUPT_PRO_I2S0_INT_MAP  I2S0_INT  CPU bc/

Register 8.22. INTERRUPT_PRO_UART_INTR_MAP_REG (0x0094)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_UART_INTR_MAP
0

16

Reset

INTERRUPT_PRO_UART_INTR_MAP  UART_INTR  CPU bc/



244 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.23. INTERRUPT_PRO_UART1_INTR_MAP_REG (0x0098)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_UART1_INTR_MAP
0

16

Reset

INTERRUPT_PRO_UART1_INTR_MAP  UART1_INTR  CPU bc/

Register 8.24. INTERRUPT_PRO_LEDC_INT_MAP_REG (0x00B4)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_LEDC_INT_MAP
0

16

Reset

INTERRUPT_PRO_LEDC_INT_MAP  LEDC_INT  CPU bc/

Register 8.25. INTERRUPT_PRO_EFUSE_INT_MAP_REG (0x00B8)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_EFUSE_INT_MAP
0

16

Reset

INTERRUPT_PRO_EFUSE_INT_MAP  EFUSE_INT  CPU bc/



245 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.26. INTERRUPT_PRO_CAN_INT_MAP_REG (0x00BC)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_CAN_INT_MAP
0

16

Reset

INTERRUPT_PRO_CAN_INT_MAP  CAN_INT  CPU bc/

Register 8.27. INTERRUPT_PRO_USB_INTR_MAP_REG (0x00C0)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_USB_INTR_MAP
0

16

Reset

INTERRUPT_PRO_USB_INTR_MAP  USB_INTR  CPU bc/

Register 8.28. INTERRUPT_PRO_RTC_CORE_INTR_MAP_REG (0x00C4)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_RTC_CORE_INTR_MAP
0

16

Reset

INTERRUPT_PRO_RTC_CORE_INTR_MAP    RTC_CORE_INTR        CPU  bc/



246 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.29. INTERRUPT_PRO_RMT_INTR_MAP_REG (0x00C8)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_RMT_INTR_MAP
0

16

Reset

INTERRUPT_PRO_RMT_INTR_MAP  RMT_INTR  CPU bc/

Register 8.30. INTERRUPT_PRO_PCNT_INTR_MAP_REG (0x00CC)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_PCNT_INTR_MAP
0

16

Reset

INTERRUPT_PRO_PCNT_INTR_MAP  PCNT_INTR  CPU bc/

Register 8.31. INTERRUPT_PRO_I2C_EXT0_INTR_MAP_REG (0x00D0)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_I2C_EXT0_INTR_MAP
0

16

Reset

INTERRUPT_PRO_I2C_EXT0_INTR_MAP    I2C_EXT0_INTR        CPU  bc/



247 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.32. INTERRUPT_PRO_I2C_EXT1_INTR_MAP_REG (0x00D4)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_I2C_EXT1_INTR_MAP
0

16

Reset

INTERRUPT_PRO_I2C_EXT1_INTR_MAP    I2C_EXT1_INTR        CPU  bc/

Register 8.33. INTERRUPT_PRO_RSA_INTR_MAP_REG (0x00D8)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_RSA_INTR_MAP
0

16

Reset

INTERRUPT_PRO_RSA_INTR_MAP  RSA_INTR  CPU bc/

Register 8.34. INTERRUPT_PRO_SHA_INTR_MAP_REG (0x00DC)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_SHA_INTR_MAP
0

16

Reset

INTERRUPT_PRO_SHA_INTR_MAP  SHA_INTR  CPU bc/



248 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.35. INTERRUPT_PRO_AES_INTR_MAP_REG (0x00E0)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_AES_INTR_MAP
0

16

Reset

INTERRUPT_PRO_AES_INTR_MAP  AES_INTR  CPU bc/

Register 8.36. INTERRUPT_PRO_SPI2_DMA_INT_MAP_REG (0x00E4)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_SPI2_DMA_INT_MAP
0

16

Reset

INTERRUPT_PRO_SPI2_DMA_INT_MAP    SPI2_DMA_INT        CPU  bc/

Register 8.37. INTERRUPT_PRO_SPI3_DMA_INT_MAP_REG (0x00E8)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_SPI3_DMA_INT_MAP
0

16

Reset

INTERRUPT_PRO_SPI3_DMA_INT_MAP    SPI3_DMA_INT        CPU  bc/



249 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.38. INTERRUPT_PRO_TIMER_INT1_MAP_REG (0x00F0)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TIMER_INT1_MAP
0

16

Reset

INTERRUPT_PRO_TIMER_INT1_MAP  TIMER_INT1  CPU bc/

Register 8.39. INTERRUPT_PRO_TIMER_INT2_MAP_REG (0x00F4)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TIMER_INT2_MAP
0

16

Reset

INTERRUPT_PRO_TIMER_INT2_MAP  TIMER_INT2  CPU bc/

Register 8.40. INTERRUPT_PRO_TG_T0_EDGE_INT_MAP_REG (0x00F8)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG_T0_EDGE_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG_T0_EDGE_INT_MAP  TG_T0_EDGE_INT  CPU  bc/



250 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.41. INTERRUPT_PRO_TG_T1_EDGE_INT_MAP_REG (0x00FC)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG_T1_EDGE_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG_T1_EDGE_INT_MAP  TG_T1_EDGE_INT  CPU  bc/

Register 8.42. INTERRUPT_PRO_TG_WDT_EDGE_INT_MAP_REG (0x0100)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG_WDT_EDGE_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG_WDT_EDGE_INT_MAP  TG_WDT_EDGE_INT  CPU  bc/



251 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.43. INTERRUPT_PRO_TG_LACT_EDGE_INT_MAP_REG (0x0104)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG_LACT_EDGE_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG_LACT_EDGE_INT_MAP  TG_LACT_EDGE_INT  CPU bc/

Register 8.44. INTERRUPT_PRO_TG1_T0_EDGE_INT_MAP_REG (0x0108)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG1_T0_EDGE_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG1_T0_EDGE_INT_MAP  TG1_T0_EDGE_INT  CPU  bc/



252 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.45. INTERRUPT_PRO_TG1_T1_EDGE_INT_MAP_REG (0x010C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG1_T1_EDGE_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG1_T1_EDGE_INT_MAP  TG1_T1_EDGE_INT  CPU  bc/

Register 8.46. INTERRUPT_PRO_TG1_WDT_EDGE_INT_MAP_REG (0x0110)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG1_WDT_EDGE_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG1_WDT_EDGE_INT_MAP  TG1_WDT_EDGE_INT  CPU bc/



253 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.47. INTERRUPT_PRO_TG1_LACT_EDGE_INT_MAP_REG (0x0114)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_TG1_LACT_EDGE_INT_MAP
0

16

Reset

INTERRUPT_PRO_TG1_LACT_EDGE_INT_MAP  TG1_LACT_EDGE_INT  CPU bc/

Register 8.48. INTERRUPT_PRO_CACHE_IA_INT_MAP_REG (0x0118)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_CACHE_IA_INT_MAP
0

16

Reset

INTERRUPT_PRO_CACHE_IA_INT_MAP  CACHE_IA_INT  CPU bc/

Register 8.49. INTERRUPT_PRO_SYSTIMER_TARGET0_INT_MAP_REG (0x011C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_SYSTIMER_TARGET0_INT_MAP

0

16

Reset

INTERRUPT_PRO_SYSTIMER_TARGET0_INT_MAP  SYSTIMER_TARGET0  CPU bc/



254 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.50. INTERRUPT_PRO_SYSTIMER_TARGET1_INT_MAP_REG (0x0120)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_SYSTIMER_TARGET1_INT_MAP

0

16

Reset

INTERRUPT_PRO_SYSTIMER_TARGET1_INT_MAP  SYSTIMER_TARGET1  CPU bc/

Register 8.51. INTERRUPT_PRO_SYSTIMER_TARGET2_INT_MAP_REG (0x0124)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_SYSTIMER_TARGET2_INT_MAP

0

16

Reset

INTERRUPT_PRO_SYSTIMER_TARGET2_INT_MAP  SYSTIMER_TARGET2  CPU bc/

Register 8.52. INTERRUPT_PRO_ASSIST_DEBUG_INTR_MAP_REG (0x0128)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_ASSIST_DEBUG_INTR_MAP
0

16

Reset

INTERRUPT_PRO_ASSIST_DEBUG_INTR_MAP  ASSIST_DEBUG_INTR  CPU bc/



255 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.53. INTERRUPT_PRO_PMS_PRO_IRAM0_ILG_INTR_MAP_REG (0x012C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_PMS_PRO_IRAM0_ILG_INTR_MAP

0

16

Reset

INTERRUPT_PRO_PMS_PRO_IRAM0_ILG_INTR_MAP  PMS_PRO_IRAM0_ILG_INTR   CPU bc/

Register 8.54. INTERRUPT_PRO_PMS_PRO_DRAM0_ILG_INTR_MAP_REG (0x0130)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_PMS_PRO_DRAM0_ILG_INTR_MAP

0

16

Reset

INTERRUPT_PRO_PMS_PRO_DRAM0_ILG_INTR_MAP  PMS_PRO_DRAM0_ILG_INTR   CPU bc/

Register 8.55. INTERRUPT_PRO_PMS_PRO_DPORT_ILG_INTR_MAP_REG (0x0134)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_PMS_PRO_DPORT_ILG_INTR_MAP 0

16

Reset

INTERRUPT_PRO_PMS_PRO_DPORT_ILG_INTR_MAP  PMS_PRO_DPORT_ILG_INTR   CPU bc/



256 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.56. INTERRUPT_PRO_PMS_PRO_AHB_ILG_INTR_MAP_REG (0x0138)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_PMS_PRO_AHB_ILG_INTR_MAP 0

16

Reset

INTERRUPT_PRO_PMS_PRO_AHB_ILG_INTR_MAP  PMS_PRO_AHB_ILG_INTR   CPU bc/

Register 8.57. INTERRUPT_PRO_PMS_PRO_CACHE_ILG_INTR_MAP_REG (0x013C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_PMS_PRO_CACHE_ILG_INTR_MAP

0

16

Reset

INTERRUPT_PRO_PMS_PRO_CACHE_ILG_INTR_MAP  PMS_PRO_CACHE_ILG_INTR   CPU bc/

Register 8.58. INTERRUPT_PRO_PMS_DMA_APB_I_ILG_INTR_MAP_REG (0x0140)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_PMS_DMA_APB_I_ILG_INTR_MAP

0

16

Reset

INTERRUPT_PRO_PMS_DMA_APB_I_ILG_INTR_MAP  PMS_DMA_APB_I_ILG_INTR   CPU bc/



257 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.59. INTERRUPT_PRO_PMS_DMA_RX_I_ILG_INTR_MAP_REG (0x0144)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_PMS_DMA_RX_I_ILG_INTR_MAP 0

16

Reset

INTERRUPT_PRO_PMS_DMA_RX_I_ILG_INTR_MAP  PMS_DMA_RX_I_ILG_INTR   CPU bc/

Register 8.60. INTERRUPT_PRO_PMS_DMA_TX_I_ILG_INTR_MAP_REG (0x0148)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_PMS_DMA_TX_I_ILG_INTR_MAP 0

16

Reset

INTERRUPT_PRO_PMS_DMA_TX_I_ILG_INTR_MAP  PMS_DMA_TX_I_ILG_INTR   CPU bc/

Register 8.61. INTERRUPT_PRO_SPI_MEM_REJECT_INTR_MAP_REG (0x014C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_SPI_MEM_REJECT_INTR_MAP
0

16

Reset

INTERRUPT_PRO_SPI_MEM_REJECT_INTR_MAP  SPI_MEM_REJECT_INTR   CPU bc/



258 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.62. INTERRUPT_PRO_DMA_COPY_INTR_MAP_REG (0x0150)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_DMA_COPY_INTR_MAP
0

16

Reset

INTERRUPT_PRO_DMA_COPY_INTR_MAP  DMA_COPY_INTR  CPU  bc/

Register 8.63. INTERRUPT_PRO_DCACHE_PRELOAD_INT_MAP_REG (0x015C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_DCACHE_PRELOAD_INT_MAP
0

16

Reset

INTERRUPT_PRO_DCACHE_PRELOAD_INT_MAP  DCACHE_PRELOAD_INT  CPU bc/



259 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.64. INTERRUPT_PRO_ICACHE_PRELOAD_INT_MAP_REG (0x0160)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_ICACHE_PRELOAD_INT_MAP
0

16

Reset

INTERRUPT_PRO_ICACHE_PRELOAD_INT_MAP  ICACHE_PRELOAD_INT  CPU bc/

Register 8.65. INTERRUPT_PRO_APB_ADC_INT_MAP_REG (0x0164)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_APB_ADC_INT_MAP
0

16

Reset

INTERRUPT_PRO_APB_ADC_INT_MAP  APB_ADC_INT  CPU bc/

Register 8.66. INTERRUPT_PRO_CRYPTO_DMA_INT_MAP_REG (0x0168)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_CRYPTO_DMA_INT_MAP
0

16

Reset

INTERRUPT_PRO_CRYPTO_DMA_INT_MAP  CRYPTO_DMA_INT  CPU  bc/



260 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.67. INTERRUPT_PRO_CPU_PERI_ERROR_INT_MAP_REG (0x016C)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_CPU_PERI_ERROR_INT_MAP
0

16

Reset

INTERRUPT_PRO_CPU_PERI_ERROR_INT_MAP  CPU_PERI_ERROR_INT  CPU bc/

Register 8.68. INTERRUPT_PRO_APB_PERI_ERROR_INT_MAP_REG (0x0170)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_APB_PERI_ERROR_INT_MAP
0

16

Reset

INTERRUPT_PRO_APB_PERI_ERROR_INT_MAP  APB_PERI_ERROR_INT  CPU bc/



261 

ESP32-S2 TRM ( 1.3)

 8  

GoBack

Register 8.69. INTERRUPT_PRO_DCACHE_SYNC_INT_MAP_REG (0x0174)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_DCACHE_SYNC_INT_MAP
0

16

Reset

INTERRUPT_PRO_DCACHE_SYNC_INT_MAP  DCACHE_SYNC_INT  CPU  bc/

Register 8.70. INTERRUPT_PRO_ICACHE_SYNC_INT_MAP_REG (0x0178)

(reserved)

31

54

000000000000000000000000000

INTERRUPT_PRO_ICACHE_SYNC_INT_MAP
0

16

Reset

INTERRUPT_PRO_ICACHE_SYNC_INT_MAP  ICACHE_SYNC_INT  CPU  bc/

Register 8.71. INTERRUPT_CLOCK_GATE_REG (0x0188)

(reserved)

INTERIRNUTEPRTR_UPRPOT__CNLMKI__EMNASK_HW

31

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

INTERRUPT_CLK_EN b10bc/ INTERRUPT_PRO_NMI_MASK_HW  NMI  CPUbc/



262 

ESP32-S2 TRM ( 1.3)

 8  
Register 8.72. INTERRUPT_PRO_INTR_STATUS_REG_0_REG (0x017C)
INTERRUPT_PRO_INTR_STATUS_0
31
0x000000
INTERRUPT_PRO_INTR_STATUS_0  32 bc

GoBack
0
Reset

Register 8.73. INTERRUPT_PRO_INTR_STATUS_REG_1_REG (0x0180)
INTERRUPT_PRO_INTR_STATUS_1
31
0x000000
INTERRUPT_PRO_INTR_STATUS_1  32 bc

0
Reset

Register 8.74. INTERRUPT_PRO_INTR_STATUS_REG_2_REG (0x0184)
INTERRUPT_PRO_INTR_STATUS_2
31
0x000000
INTERRUPT_PRO_INTR_STATUS_2  31 bc

0
Reset



263 

ESP32-S2 TRM ( 1.3)

 8  

(reserved)

31

28 27

0000

Register 8.75. INTERRUPT_DATE_REG (0x0FFC)
INTERRUPT_DATE 0x1904180

INTERRUPT_DATE bc/

GoBack
0
Reset



264 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

9 

9.1 
ESP32-S2  abESP32-S2   5  bESP32-S2  2  b
9.2 
ESP32-S2  ·  · 5  ·  16 KB  (retention memory) · 8  32  (retention register) ·  RTC Boot 
 ESP32-S2   RTC Boot b
9.3 
ESP32-S2  ·  (PMU)aRTC  ·  · b ·  ­ RTC  RTC  ­ ULP b 1  (ULP)b ­ b 32 b



265 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

· 8  32  "always-on"  8  b
· 22  "always-on"  22  c 9.4.4  GPIO c 5 IO MUX  GPIO  b
· RTC  8 KB SRAM ULP b · RTC  8 KB SRAMb · b ESP32-S2  9.3-1b



266 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

 9.3-1. 

9.3.1 
ESP32-S2  · RTC ab ·  RTC b ·  RTC b



267 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

· b
 ESP32-S2  RTC RTC  ab RTC  b 9.3-2b

sleep EN GPIO reject

Sleep Controller

Clock Controller

Analog Power Controller

Digital Power Controller

Wi-Fi

Digital Core

Power Controller Power Controller

RTC Memory

ROM / RAM

Power Controller Power Controller

RTC Peripheral Power Controller

Protection Timer

main state wai t done main state

sleep accept main state main state

RTC Main State Machine

Touch done

wakeup

Coprocessor done

wakeup

CPU wakeup

ULP Timer

trig

ULP-

coprocessor

Touch

trig

Touch

Timer

Controller

wakeup

wakeup

Wakeup Controller

RTC GPIO wakeup MAC wakeup UART0 UART1 wakeup

wakeup EXT0 EXT 1 wakeup Digital GPIO wakeup

RTC Main Timer

 9.3-2. 
  9.4.2 b

9.3.2 
 ESP32-S2  40 MHz  PLL  aRTC aRTC aRTC 



268 

ESP32-S2 TRM ( 1.3)

 9    Wi-Fi b

RC_SLOW_CLK XTAL32K_CLK RC_FAST_DIV_CLK
RTC Slow Clock

Selection Signal

0

1

RTC_SLOW_CLK

2

PMU RTC Timer

RTC Clock

Selection Signal

XTAL_DIV_CLK

RC_FAST_CLK

div n

0
RTC_FAST_CLK
1

RTC Fast Clock

ULP Coprocessor Sensor Controller RTC Slow Memory
RTC Registers

 9.3-3. RTC 

Selection Signals

XTAL32K_CLK RC_FAST_CLK RTC_SLOW_CLK XTAL_CLK

LP_MUX

LOW_POWER_CLK

Wireless

Low-power Clock

 9.3-4. RTC 

GoBack
ESP32-S2
ESP32-S2



269 

ESP32-S2 TRM ( 1.3)

 9  

 RTC  RTC 


 RC_SLOW_CLK 1 XTAL32K_CLK RC_FAST_DIV_CLK XTAL_DIV_CLK
RC_FAST_CLK 2
XTAL32K_CLK RC_FAST_CLK RTC_SLOW_CLK XTAL_CLK

 9.3-1.  
RTC_CNTL_ANA_CLK_RTC_SEL
RTC_CNTL_FAST_CLK_RTC_SEL
SYSTEM_LPCLK_SEL_XTAL32K SYSTEM_LPCLK_SEL_8M SYSTEM_LPCLK_RTC_SLOW SYSTEM_LPCLK_SEL_XTAL

GoBack
  RTC  RTC  RTC    (Wi-Fi)

 1.  RTC b 2.  RTC b

 6 b

9.3.3 

ESP32-S2  · RTC  · ULP  · 
 RTC b ULP  1  (ULP)  32 b RTC  48  RTC b  9.3-2b

 9.3-2. RTC 

 RTC_CNTL_TIMER_XTL_OFF RTC_CNTL_TIMER_SYS_STALL RTC_CNTL_TIMER_SYS_RST RTC_CNTL_TIME_UPDATE

 1.RTC  2.  40 MHz b CPU      stall     b       SYS_TIMER b b  RTC_CNTL_RTC_TIME_UPDATE b  CPU cb

RTC b b



270 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

·  0  RTC b ­ RTC_CNTL_TIME_HIGH0_REG ­ RTC_CNTL_TIME_LOW0_REG
·  1  RTC b ­ RTC_CNTL_TIME_HIGH1_REG ­ RTC_CNTL_TIME_LOW1_REG
 0  1c 1   0bRTC b  RTC b RTC b 9.4.4 b

9.3.4 
ESP32-S2  ·  ·  RTC  · Flash  RTC b
  9.4.2 b

9.3.4.1 
ESP32-S2 c 3.3 V 1.1 V  9.3-5b



dbias[2:0] VREF
ESP32-S2

VDD3P3_CPU VDD3P3_RTC_IO +
-
1.1V (0.85V - 1.2V)
Digital System

 9.3-5. 

271 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

1.  XPD_DIG_REG == 1  1.1 V XPD_DIG_REG == 0 b
2. DIG_REG_DBIAS[2:0] 

VDD_DIG = 0.90 + DBIAS × 0.05V 3.  VDD3P3_CPU  VDD3P3_RTC_IOb

9.3.4.2 
ESP32-S2 c 3.3 V 1.1 V RTC   Deep-sleep b  9.3-6b

dbias[2:0] VREF
ESP32-S2

+
-
1.1V
RTC

VDD3P3_RTC_IO

 9.3-6. 
1.  CHIP_PU  Deep-sleep b 2. RTC_DBIAS[2:0] 
VDD_RTC = 0.90 + DBIAS × 0.05V 3. RTC  VDD3P3_RTC_IOb
9.3.4.3 Flash 
ESP32-S2  flash  RTC c flash 3.3 V  1.8 V   flash 9.3-7b



272 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

drefh, drefm, dre: VREF

tieh + -

ESP32-S2

VDD3P3_RTC_IO

VDD_SPI 1uF

Regulator Output
500pF

 9.3-7. Flash 
1.  XPD_SDIO_VREG == 1  3.3 V  1.8 V XPD_SDIO_VREG == 0  b
2.  SDIO_TIEH == 1  VDD_SDIO  VDD3P3_RTC  3.3 V VDD3P3_RTC b SDIO_TIEH == 0  VREF 1.8 Vb
3. DREFH_SDIOaDREFM_SDIO  DREFL_SDIO  VREF b
4.  3.3 V  1.8 V VDD3P3_RTC_IOb Flash  RTC  eFuse b
· XPD_SDIO_VREG  ­  Active  RTC_CNTL_SDIO_FORCE == 0VDD_SPI_FORCE(EFUSE) == 1  XPD_SDIO_VREG  XPD_VDD_SPI_REG(EFUSE)  ­  sleep  RTC_CNTL_SDIO_REG_PD_EN == 1 XPD_SDIO_VREG  0 ­  RTC_CNTL_SDIO_FORCE == 1 XPD_SDIO_VREG  RTC_CNTL_XPD_SDIO_REG b
· SDIO_TIEH  ­  RTC_CNTL_SDIO_FORCE == 0  VDD_SPI_FORCE(EFUSE) == 1 SDIO_TIEH = VDD_SDIO_TIEH(EFUSE) ­ SDIO_TIEH = RTC_CNTL_SDIO_TIEHb
9.3.4.4 
ESP32-S2  VDD3P3_RTC_IOVDD3P3_CPUVDDA1  VDDA2   c LNA  PA ab bESP32-S2   9.3-8b



273 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

thres[2:0]

VDD3P3_RTC_IO VDD3P3_CPU VDDA1 VDDA2

VREF

ESP32-S2
+
- comp -

Brownout detected

 9.3-8. 

1. RTC_CNTL_RTC_BROWN_OUT_DET  
2. I2C  ULP_CAL_REG5[2:0]  9.3-3

 9.3-3. 

ULP_CAL_REG5[2:0] 0 1 2 3 4 5 6 7

VDDcV 2.67 3.30 3.19 2.98 2.84 2.67 2.56 2.44

3. RTC_CNTL_BROWN_OUT_RST_SEL b · 0 · 1
  6 b

9.4 
9.4.1 
ESP32-S2  10  · RTC 


274 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

­  ­ RTC  ­ RTC  ­ RTC  ·  ­  ­ Wi-Fi  ·  ­ 8 MHz  ­ 40 MHz  ­ PLL ­ RF 

9.4.2 RTC 
ESP32-S2  (Active)a (Monitor)  (Sleep)  RTC  9.4-1b

Active

ULP done or touch done

Monitor

Sleep

ULP timer or touch timer

 9.4-1. RTC 

 RTC  (FPU)  (FPD) b 9.4-1b



275 

ESP32-S2 TRM ( 1.3)

 9  

 9.4-1. RTC 









RTC  RTC
RTC 

RTC 

 
Wi-Fi 

8 MHz 

40 MHz  
PLL

RF 

RTC 

Active Monitor

ON

ON

ON

ON

ON

OFF

ON

OFF

ON

OFF

ON

OFF

ON

ON

ON

OFF

ON

OFF

-

-

Sleep ON OFF OFF OFF OFF OFF OFF OFF OFF -


1 2 3 4 5 6
-

GoBack


1. ESP32-S2  "always-on"c FPU  FPDb 2. RTC  1  (ULP)  32 ca
 SAR ADC b 3. RTC  8 KB SRAM ULP bCPU 
PeriBUS2  0x50000000b 4. RTC  8 KB SRAMbCPU  IRAM0/DRAM0 b 5. bESP32-S2  ROM  SRAM 
b ROM  SRAMb 6. Wi-Fi  Wi-Fi MAC  BBcb

9.4.3 
ESP32-S2  5   9.4-2b

 9.4-2. 

Power Modes
Active Modem-sleep Light-sleep Deep-sleep 



PMU RTC RTC RTC   Wi-Fi 8 MHz 40

PLL

         MHz

 





ON

ON

ON

ON

ON

ON

ON

ON

ON

ON

ON

ON

ON

ON

ON  ON

ON

ON

ON

ON

ON

ON

ON

ON  OFF OFF OFF

ON

ON

ON

ON

OFF OFF OFF OFF OFF

ON

OFF OFF OFF OFF OFF OFF OFF OFF

RF  
ON OFF OFF OFF OFF



276 

ESP32-S2 TRM ( 1.3)

 9  
 * 

GoBack

ESP32-S2  Modem-sleep  Active b CPU  Modem-sleepaLight-sleepaDeep-sleep b Active  1a2ab 3 b aab

1.  9.4-2b 2.  uESP32-S2 vb 3.  9.4.4 b

9.4.4 
ESP32-S2  CPU b RTC_CNTL_RTC_WAKEUP_ENA  9.4-3b
 9.4-3. 

WAKEUP_ENA 0x1 0x2 0x4 0x8
0x20 0x40 0x80 0x100 0x800 0x1000 0x2000 0x8000

 11 EXT0 EXT1 GPIO RTC  Wi-Fi UART0 UART1 TOUCH ULP-FSM XTAL_32K ULP-RISCV Trap USB

Light-sleep Y Y Y Y Y Y Y Y Y Y Y Y

Deep-sleep Y Y Y Y Y Y Y Y -

Hibernation Y Y Y -

 * 1 2 3 4 5 5 6 7 8 9
10


1. EXT0  Light-sleep/Deep-sleep b RTC_CNTL_EXT_WAKEUP0_LV  1  b RTCIO_EXT_WAKEUP0_SEL  RTC b
2. EXT1 b  RTC_CNTL_EXT_WAKEUP1_SEL[17:0]b RTC_CNTL_EXT_WAKEUP1_LV == 1   RTC_CNTL_EXT_WAKEUP1_LV == 0  b  EXT1  hold  RTC_SLOW_CLK  RTC_CNTL_EXT_WAKEUP1_STATUS b



277 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

3.  Deep-sleep  RTC GPIO b 4.  Wi-Fi  ActiveaModem-sleep  Light-sleep CPU  RF 
 Wi-Fi b 5.  RX b 6. b 7.  RTC_CNTL_RTC_SW_CPU_INTb 8. 32 kHz  RTC  32 kHz b 9. cb 10.  USB  USB  RESUMING b 11.  UART b

9.4.5 
ESP32-S2  CPU  b ESP32-S2  9.4-3cUART  b b
·  RTC_CNTL_RTC_SLEEP_REJECT_ENA  ­  RTC_CNTL_LIGHT_SLP_REJECT_EN Light_sleep ­  RTC_CNTL_DEEP_SLP_REJECT_EN Deep_sleep
·  RTC_CNTL_SLP_REJECT_CAUSE_REG b

9.5 RTC Boot

 Deep-sleep  ROM  RAM  ROM  SPI c flash b Light-sleep  Modem-sleep Deep-sleep  b Deep-sleep RTC b c 8 KB  "deep sleep wake stub"  RTC   ROM  SPI b RTC 
1.  RTC_CNTL_PROCPU_STAT_VECTOR_SEL  0b
2. b
3.  CPU  0x50000000 0x40000400  ROM  SPI bRTC  C b
RTC 
1.  RTC_CNTL_PROCPU_STAT_VECTOR_SEL  1b
2.  RTC  CRC  RTC_CNTL_STORE6_REG[31:0] b



278 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

3.  RTC_CNTL_STORE7_REG[31:0]  RTC b 4. b 5.  CPU  ROM b RTC  CRC b
 RTC_CNTL_STORE6_REG[31:0]  CPU  RTC b ESP32-S2  RTC  9.5-1

Power up

1
Running in ROM
reset_vector@ 0x40000400

Static Vector Sel

0
reset_vector@ 0x50000000

Initialization

Cal CRC in fast RTC mem

Yes

CRC right

No

Run code in RTC mem
Running in RTC memory

Jump to entry point in
RTC fast mem
Running in RTC fast mem

SPI Boot
Run code in CPU RAM Running in CPU RAM

 9.5-1. ESP32-S2 
ESP32-S2  40 MHz  PLL  b
9.6 
 ESP32-S2  9.6-1 b  3 b



279 

ESP32-S2 TRM ( 1.3)

 9  

 9.6-1. 

 PeriBUS1 PeriBUS2

 0x3f408000 0x60008000

GoBack

9.7 

cb 9.6  b


RTC  RTC_CNTL_OPTIONS0_REG
RTC_CNTL_OPTION1_REG RTC  RTC_CNTL_SLP_TIMER0_REG RTC_CNTL_SLP_TIMER1_REG RTC_CNTL_TIME_UPDATE_REG RTC_CNTL_TIME_LOW0_REG RTC_CNTL_TIME_HIGH0_REG RTC_CNTL_STATE0_REG RTC_CNTL_TIMER1_REG RTC_CNTL_TIMER2_REG RTC_CNTL_TIMER5_REG RTC_CNTL_TIME_LOW1_REG RTC_CNTL_TIME_HIGH1_REG  RTC_CNTL_ANA_CONF_REG RTC_CNTL_REG RTC_CNTL_PWC_REG RTC_CNTL_DIG_PWC_REG RTC_CNTL_DIG_ISO_REG RTC_CNTL_LOW_POWER_ST_REG  RTC_CNTL_RESET_STATE_REG  RTC_CNTL_WAKEUP_STATE_REG RTC_CNTL_EXT_WAKEUP_CONF_REG RTC_CNTL_SLP_REJECT_CONF_REG RTC_CNTL_EXT_WAKEUP1_REG RTC_CNTL_EXT_WAKEUP1_STATUS_REG





 

 PLL   RTC 

0x0000 0x0128

 /

RTC  0 RTC  1 RTC   RTC  0  32   RTC  0  16   sleep / reject / wakeup   CPU stall   RTC    RTC  1  32   RTC  1  16 

0x0004 0x0008 0x000C 0x0010 0x0014 0x0018 0x001C 0x0020 0x002C 0x00E8 0x00EC

/      / / /  

 I2C  PLLA   RTC    ISO  RTC 

0x0034 0x0084 0x0088 0x008C 0x0090 0x00CC

/ / / /  

 CPU 

0x0038 

 GPIO  / EXT1  EXT1 

0x003C 0x0064 0x0068 0x00DC 0x00E0

/ / /  



280 

ESP32-S2 TRM ( 1.3)

 9  





RTC_CNTL_SLP_REJECT_CAUSE_REG RTC_CNTL_SLP_WAKEUP_CAUSE_REG  RTC_CNTL_INT_ENA_RTC_REG RTC_CNTL_INT_RAW_RTC_REG RTC_CNTL_INT_ST_RTC_REG RTC_CNTL_INT_CLR_RTC_REG  RTC_CNTL_STORE0_REG RTC_CNTL_STORE1_REG RTC_CNTL_STORE2_REG RTC_CNTL_STORE3_REG RTC_CNTL_STORE4_REG RTC_CNTL_STORE5_REG RTC_CNTL_STORE6_REG RTC_CNTL_STORE7_REG  RTC_CNTL_EXT_XTL_CONF_REG RTC_CNTL_CLK_CONF_REG RTC_CNTL_SLOW_CLK_CONF_REG RTC_CNTL_XTAL32K_CLK_FACTOR_REG RTC_CNTL_XTAL32K_CONF_REG RTC  RTC_CNTL_WDTCONFIG0_REG RTC_CNTL_WDTCONFIG1_REG RTC_CNTL_WDTCONFIG2_REG RTC_CNTL_WDTCONFIG3_REG RTC_CNTL_WDTCONFIG4_REG RTC_CNTL_WDTFEED_REG RTC_CNTL_WDTWPROTECT_REG RTC_CNTL_SWD_CONF_REG RTC_CNTL_SWD_WPROTECT_REG  RTC_CNTL_SW_CPU_STALL_REG RTC_CNTL_PAD_HOLD_REG RTC_CNTL_DIG_PAD_HOLD_REG RTC_CNTL_BROWN_OUT_REG

 
RTC  RTC  RTC  RTC 
 0  1  2  3  4  5  6  7
32 kHz  RTC  RTC   32 kHz  32 kHz 
RTC   1  RTC   2  RTC   3  RTC   4  RTC  RTC  RTC   
CPU stall   RTC GPIO   GPIO  

GoBack


0x0124 0x012C

   

0x0040 0x0044 0x0048 0x004C

/   

0x0050 0x0054 0x0058 0x005C 0x00BC 0x00C0 0x00C4 0x00C8

/ / / / / / / /

0x0060 0x0074 0x0078 0x00F0 0x00F4

 / / / /

0x0094 0x0098 0x009C 0x00A0 0x00A4 0x00A8 0x00AC 0x00B0 0x00B4

/ / / / /  /  /

0x00B8 0x00D4 0x00D8 0x00E4

/ / / 



281 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

9.8 

cb 9.6  b

Register 9.1. RTC_CNTL_OPTIONS0_REG (0x0000)

RTC_CRNTCT_L_CRSNTWCT_L__CSDNYGST_L_W_RDSRTGA_PW_FROAPRC_FEO_NRCOER_SRTST
31 30 29 28

(reserved)

RTC_CRNTCT_L_CRXNTTCTL_L__CRFXNTOTCTRL_LC__CRFEBNTO_CBTPRP_LUC_CLRELBNT__CBTPFP_LOD_CLRRLBNTC_CBTFEP_LO__CLRPRLBNTCU_CBTIEP_L2__CLCRPLBNT_D_CBTFI__OL2_CIC(R2rBNeC_CBsTFE_e_OL_Fr_IPROv2SeCUCRWdREC_)T__FECPPO__DRPRCOUCNCETP_LUP_(D_rSeRWsSe_TrSvTeAdL)L_PROCPU_C0

14 13 12 11 10 9 8 7 6 5 4 3

21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_SW_STALL_PROCPU_C0  RTC_CNTL_SW_STALL_PROCPU_C1  0x21   0x2  CPU  stall b
RTC_CNTL_SW_PROCPU_RST  1  CPUbc RTC_CNTL_BB_I2C_FORCE_PD  1  BB_I2Cbc/ RTC_CNTL_BB_I2C_FORCE_PU  1  BB_I2Cbc/ RTC_CNTL_BBPLL_I2C_FORCE_PD  1  BB_PLL_I2Cbc/ RTC_CNTL_BBPLL_I2C_FORCE_PU  1  BB_PLL_I2Cbc/ RTC_CNTL_BBPLL_FORCE_PD  1  BB_PLLbc/ RTC_CNTL_BBPLL_FORCE_PU  1  BB_PLLbc/ RTC_CNTL_XTL_FORCE_PD  1 bc/ RTC_CNTL_XTL_FORCE_PU  1 bc/ RTC_CNTL_DG_WRAP_FORCE_RST  1  deep sleep bc/ RTC_CNTL_DG_WRAP_FORCE_NORST  1  deep sleep bc/ RTC_CNTL_SW_SYS_RST  1 bc



282 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.2. RTC_CNTL_OPTION1_REG (0x0128)

(reserved)

RTC_CNTL_FORCE_DOWNLOAD_BOOT

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_FORCE_DOWNLOAD_BOOT  1 bc/

Register 9.3. RTC_CNTL_SLP_TIMER0_REG (0x0004)
RTC_CNTL_SLP_VAL_LO
31
0x000000
RTC_CNTL_SLP_VAL_LO  RTC  32 bc/

0
Reset

Register 9.4. RTC_CNTL_SLP_TIMER1_REG (0x0008)

(reserved)

RTC_CNTL_RTC_MAIN_TIMER_ALARM_EN

RTC_CNTL_SLP_VAL_HI

31

17 16 15

0 0 0 0 0 0 0 0 0 0 0 0 0 0 00

0x00

RTC_CNTL_SLP_VAL_HI  RTC  16 bc/ RTC_CNTL_RTC_MAIN_TIMER_ALARM_EN  1 bc

0
Reset



283 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.5. RTC_CNTL_TIME_UPDATE_REG (0x000C)

RTC_C(rNesTeLr_RvRTeTCdC_) _CRTNTIMCT_LE_CR_TNTUICMTP_LDE_CARTNT_IMETSLYE_SRT__IMRXSTETLR__OSFYFS_STALL

(reserved)

31 30 29 28 27 26

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_TIMER_SYS_STALL  RTC bc/ RTC_CNTL_TIMER_XTL_OFF  RTC bc/ RTC_CNTL_TIMER_SYS_RST  RTC bc/ RTC_CNTL_RTC_TIME_UPDATE  RTC bc

  9.3-2b
Register 9.6. RTC_CNTL_TIME_LOW0_REG (0x0010)
RTC_CNTL_RTC_TIMER_VALUE0_LOW
31
0x000000
RTC_CNTL_RTC_TIMER_VALUE0_LOW  RTC  0  32 bc

0
Reset



284 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.7. RTC_CNTL_TIME_HIGH0_REG (0x0014)

(reserved)

31

16 15

0000000000000000

RTC_CNTL_RTC_TIMER_VALUE0_HIGH
0

0x00

Reset

RTC_CNTL_RTC_TIMER_VALUE0_HIGH  RTC  0  16 bc

Register 9.8. RTC_CNTL_STATE0_REG (0x0018)

RTC_CNTRLT_CS_LCENETPRL_T_ECSN_LCPN_TR(LrEe_JsSEeLCrPvTe_dW)AKEUP 31 30 29 28 27

(reserved)

RTC_CNTRLT_CR_TCCN_TSLL_PR_TRCE_JSEWCT__CCPAUU_SINE_TCLR 21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_RTC_SW_CPU_INT  RTC  CPUbc RTC_CNTL_RTC_SLP_REJECT_CAUSE_CLR  RTC bc RTC_CNTL_SLP_WAKEUP bc/ RTC_CNTL_SLP_REJECT bc/ RTC_CNTL_SLEEP_EN bc/



285 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.9. RTC_CNTL_TIMER1_REG (0x001C)

RTC_CNTL_PLL_BUF_WAIT

31

24 23

40

RTC_CNTL_XTL_BUF_WAIT
14 13
80

RTC_CNTL_CK8M_WAIT
65
0x10

RTC_CNTL_CPU_RSTTCA_LCLN_TWLA_ITCPU_STALL_EN
10

1

1 Reset

RTC_CNTL_CPU_STALL_EN  CPU stallbc/ RTC_CNTL_CPU_STALL_WAIT  CPU stall c RTC bc/ RTC_CNTL_CK8M_WAIT  8 MHz c RTC bc/ RTC_CNTL_XTL_BUF_WAIT  XTAL c RTC bc/ RTC_CNTL_PLL_BUF_WAIT  PLL c RTC bc/

Register 9.10. RTC_CNTL_TIMER2_REG (0x0020)

RTC_CNTL_MIN_TIME_CK8M_OFF

RTC_CNTL_ULPCP_TOUCH_START_WAIT

(reserved)

31

24 23

15 14

0

0x1

0x10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_ULPCP_TOUCH_START_WAIT  c RTC bc/
RTC_CNTL_MIN_TIME_CK8M_OFF 8 MHz             c  RTC    bc/



286 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.11. RTC_CNTL_TIMER5_REG (0x002C)

(reserved)

31

16 15

0000000000000000

RTC_CNTL_MIN_SLP_VAL
87

(reserved)
0

0x80

0 0 0 0 0 0 0 0 Reset

RTC_CNTL_MIN_SLP_VAL c RTC bc/

Register 9.12. RTC_CNTL_TIME_LOW1_REG (0x00E8)
RTC_CNTL_RTC_TIMER_VALUE1_LOW
31
0x000000
RTC_CNTL_RTC_TIMER_VALUE1_LOW  RTC  1  32 bc

0
Reset

Register 9.13. RTC_CNTL_TIME_HIGH1_REG (0x00EC)

(reserved)

31

16 15

0000000000000000

RTC_CNTL_RTC_TIMER_VALUE1_HIGH
0

0x00

Reset

RTC_CNTL_RTC_TIMER_VALUE1_HIGH  RTC  1  16 bc



287 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.14. RTC_CNTL_ANA_CONF_REG (0x0034)

(reserved)

RTC_CRNTCT_L_CRPNTLCTL_LA_CR_PNTFLCTOL_LRA_CRC_SNTFEACTO_R_LPR__CCUISN2EATC_RL_P__FDIGO2LCRITC_CFEHO__PRRUCSET__PEDN

(reserved)

31

25 24 23 22 21 20 19

0

0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_GLITCH_RST_EN  1 bc/ RTC_CNTL_SAR_I2C_FORCE_PD  1  SAR_I2Cbc/ RTC_CNTL_SAR_I2C_FORCE_PU  1  SAR_I2Cbc/ RTC_CNTL_PLLA_FORCE_PD  1  PLLAbc/ RTC_CNTL_PLLA_FORCE_PU  1  PLLAbc/

Register 9.15. RTC_CNTL_REG (0x0084)

RTC_CRNTCT_L_CRNT(TrCLe__sReRErTvGCeU_dRL)AETGOURRLT_ACFT_OOCRRNC_TFELO__PRRCUTEC__RPDTDBCI_ACSN_WTLA_KRTC_DBIAS_SLP RTC_CNTL_SCK_DCAP

RTC_CNTL_DIG_RDTBCIA_SC_NWTAL_KDIG_DBIAS_SLP (reserved)

31 30 29 28 27

25 24

22 21

14 13

11 10

87

0

1 00 0

4

4

0

4

4

0 0 0 0 0 0 0 0 Reset

RTC_CNTL_DIG_DBIAS_SLP  CPU  Sleep bc/ RTC_CNTL_DIG_DBIAS_WAK  CPU  Active bc/ RTC_CNTL_SCK_DCAP  RTC bc/ RTC_CNTL_RTC_DBIAS_SLP  CPU  Sleep bc/ RTC_CNTL_RTC_DBIAS_WAK  CPU  Active bc/ RTC_CNTL_RTC_REGULATOR_FORCE_PD  1 c 0.8 V 
bc/ RTC_CNTL_RTC_REGULATOR_FORCE_PU  1 c 0.8 V 
bc/



288 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.16. RTC_CNTL_PWC_REG (0x0088)

(reserved)

RTC_CNTRLT_CR_TCCN_TPRLAT_DCR__TCFCON_RTPRCLDT_EC_R__ETHCNCON_LTFRDLOT_CRR_CTCECN__PTFRULOT_CRR_CTCECN__PTSRDLLT_OCRW_TCMCN_ETSRMLLT__OCRPW_TDCMC_N_EETSRNMLLT__OCRFW_OTCMCRN_CETFRMELAT___SCPRFT_UOTMCCREN_CMTFRELA_T__SPCPRTD_DTMC_CEEN_NMTFRLA_T_SFCRTO_TMRCCCEN_METSR_L_LT_POFCRUOW_TRCMCCN_EETSRM_LLT_P_OCRDFW_OTCMCRN_CETSRMELLT___OCLRFWP_OTCUMCRN_CETFRMELAT___SCLRFTP_OTMCDCLENW_MTFR_LA_TC_SFCPRTO_UTMRCCCEN_METFR_LA_T_LSFCPRTO_UTMRCCCEN_METFR_LO_T_LFCRPRO_CDTLCECWN__N_TFRCLOOT_PICRSRU_COTCECN__ITSSRLLOT_OCRW_TCMCN_ETSRMLLT__OCRFW_OTCMCRN_CETFMELA___SIRSFTOTOMCRE_CMFEA__SFNTOOMRISCEOME__ISFOORCE_NOISO

31

22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 0 0 1 0 1 Reset

RTC_CNTL_RTC_FASTMEM_FORCE_NOISO  1  RTC bc/ RTC_CNTL_RTC_FASTMEM_FORCE_ISO  1  RTC bc/ RTC_CNTL_RTC_SLOWMEM_FORCE_NOISO  1  RTC bc/ RTC_CNTL_RTC_SLOWMEM_FORCE_ISO  1  RTC bc/ RTC_CNTL_RTC_FORCE_ISO  1  RTC bc/ RTC_CNTL_RTC_FORCE_NOISO  1  RTC bc/ RTC_CNTL_RTC_FASTMEM_FOLW_CPU  1  CPU  RTC  0  RTC
 RTC bc/ RTC_CNTL_RTC_FASTMEM_FORCE_LPD  1  RTC bc/ RTC_CNTL_RTC_FASTMEM_FORCE_LPU  1  RTC bc/ RTC_CNTL_RTC_SLOWMEM_FOLW_CPU  1  CPU  RTC  0  RTC
 RTC bc/ RTC_CNTL_RTC_SLOWMEM_FORCE_LPD  1  RTC bc/ RTC_CNTL_RTC_SLOWMEM_FORCE_LPU  1  RTC bc/ RTC_CNTL_RTC_FASTMEM_FORCE_PD  1  RTC bc/ RTC_CNTL_RTC_FASTMEM_FORCE_PU  1  RTC bc/ RTC_CNTL_RTC_FASTMEM_PD_EN  1  Sleep  RTC bc/ ...



289 

ESP32-S2 TRM ( 1.3)

 9  

Register 9.16. RTC_CNTL_PWC_REG (0x0088)

GoBack

... RTC_CNTL_RTC_SLOWMEM_FORCE_PD  1  RTC bc/ RTC_CNTL_RTC_SLOWMEM_FORCE_PU  1  RTC bc/ RTC_CNTL_RTC_SLOWMEM_PD_EN  1  Sleep  RTC bc/ RTC_CNTL_RTC_FORCE_PD  1  RTC bc/ RTC_CNTL_RTC_FORCE_PU  1  RTC bc/ RTC_CNTL_RTC_PD_EN  1  Sleep  RTC bc/ RTC_CNTL_RTC_PAD_FORCE_HOLD  1  RTC GPIObc/

Register 9.17. RTC_CNTL_DIG_PWC_REG (0x008C)

RTC_CRNTCT_L_CDNGTL_W_WRIAFPI__PPD(Dr_e_EsENeNrved)

(reser(vreesde)r(vreesde)rRvTeCd_) CRNTCT_L_CRDNTCGT_L_W_CRDNTRCGTA_L_PW_C_WNFROTIAFLPRI__C_WFFEOOI_FRPRIC_CUFEEO__PRPCUDE_PD

31 30 29

24 23 22 21 20 19 18 17 16

(reserved)

RTC_CRNTCT_L_CLNSTLLP_(_rLeMSsLeEPrMv_e_MdFE)OMRC_FEO_PRCUE_PD

54 32

0

0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 Reset

RTC_CNTL_LSLP_MEM_FORCE_PD  1  Sleep bc/ RTC_CNTL_LSLP_MEM_FORCE_PU  1  Sleep bc/ RTC_CNTL_WIFI_FORCE_PD  1  Wi-Fi bc/ RTC_CNTL_WIFI_FORCE_PU  1  Wi-Fi bc/ RTC_CNTL_DG_WRAP_FORCE_PD  1 bc/ RTC_CNTL_DG_WRAP_FORCE_PU  1 bc/ RTC_CNTL_WIFI_PD_EN  1  Sleep  Wi-Fi bc/ RTC_CNTL_DG_WRAP_PD_EN  1  Sleep bc/



290 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.18. RTC_CNTL_DIG_ISO_REG (0x0090)

RTC_CRNTCT_L_CRDNTCGT_L_W_CRDNTRCGTA_L_PW_C_WNFROTIAFLPRI__C_WFFEOOI_FRNRIC_COFEEIO_S_ONRISCOOEIS_OISO
31 30 29 28 27

(reserved)

RTC_CRNTCT_L_CRDNTCGT_L__CPRDANTDCGT__L__CFPRODANTDCGRTC__L__CFPERODA_NTDCGHRTC__L_O_CFPERLODA_NDTUDCGRTC__NL__CFPEHCOA_NOLDIRTLSRC_LDO__AEDDU_GGNTO__OPHPISAAOODDL__DAA_UUETTNOOHH(rOOeLsLeDDrved)

16 15 14 13 12 11 10 9 8

0

1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_DG_PAD_AUTOHOLD  GPIO  auto-hold bc RTC_CNTL_CLR_DG_PAD_AUTOHOLD  1  GPIO  auto-hold bc RTC_CNTL_DG_PAD_AUTOHOLD_EN  1  GPIO  auto-hold bc/ RTC_CNTL_DG_PAD_FORCE_NOISO  1  GPIObc/ RTC_CNTL_DG_PAD_FORCE_ISO  1  GPIObc/ RTC_CNTL_DG_PAD_FORCE_UNHOLD  1  GPIO  unhold bc/ RTC_CNTL_DG_PAD_FORCE_HOLD  1  GPIO  hold bc/ RTC_CNTL_WIFI_FORCE_ISO  1  Wi-Fi bc/ RTC_CNTL_WIFI_FORCE_NOISO  1  Wi-Fi bc/ RTC_CNTL_DG_WRAP_FORCE_ISO  1 bc/ RTC_CNTL_DG_WRAP_FORCE_NOISO  1 bc/



291 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.19. RTC_CNTL_LOW_POWER_ST_REG (0x00CC)

(reserved)

RTC_CNTL_MAIN_STA(TreEs_eINrv_eIDd)EL

RTC_CNTL_RTC_RDY_FOR_WAKEUP

(reserved)

31

28 27 26

20 19 18

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_RDY_FOR_WAKEUP  RTC b(RO) RTC_CNTL_MAIN_STATE_IN_IDLE  RTC b
· 0 ­  ­ b RTC_CNTL_RDY_FOR_WAKEUP  1 b ­ bRTC_CNTL_MAIN_STATE_IN_IDLE  1b
· 1cb

Register 9.20. RTC_CNTL_RESET_STATE_REG (0x0038)

(reserved)

RTC_CNTL_PROCPU_(SrTeAsTe_rvVeEdC)TOR_SEL

31

14 13 12

65

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 010 0 0 0 0 0 0

RTC_CNTL_RESET_CAUSE_PROCPU
0

0

Reset

RTC_CNTL_RESET_CAUSE_PROCPU  CPU bc RTC_CNTL_PROCPU_STAT_VECTOR_SEL  CPU  (static vector)bc/



292 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.21. RTC_CNTL_WAKEUP_STATE_REG (0x003C)

RTC_CNTL_RTC_WAKEUP_ENA

(reserved)

31

15 14

0

12

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_RTC_WAKEUP_ENA b 9.4-3bc/

Register 9.22. RTC_CNTL_EXT_WAKEUP_CONF_REG (0x0064)

RTC_CRNTCT_L_CRENTXCTT_L__CWENAXTTKL_E_WUGPAP1KIO_EL_UVWPA0K_ELUVP_FILTER

(reserved)

31 30 29 28

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_GPIO_WAKEUP_FILTER  1  GPIO bc/ RTC_CNTL_EXT_WAKEUP0_LV  0  EXT0  1  EXT0 bc/ RTC_CNTL_EXT_WAKEUP1_LV  0  EXT1  1  EXT1 bc/

Register 9.23. RTC_CNTL_SLP_REJECT_CONF_REG (0x0068)

RTC_CRNTCT_L_CDNETELP__LISGLHPT__RSELJPE_CRTE_JEENCT_EN
31 30 29
00

RTC_CNTL_RTC_SLEEP_REJECT_ENA 0

13 12

(reserved)
0

0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_RTC_SLEEP_REJECT_ENA  1 opbc/ RTC_CNTL_LIGHT_SLP_REJECT_EN  1 o Light-sleeppbc/ RTC_CNTL_DEEP_SLP_REJECT_EN  1 o Deep-sleeppbc/



293 

ESP32-S2 TRM ( 1.3)

 9  

Register 9.24. RTC_CNTL_EXT_WAKEUP1_REG (0x00DC)

(reserved)

RTC_CNTL_EXT_WAKEUP1_STATUS_CLR

31

23 22 21

0 0 0 0 0 0 0 0 00

RTC_CNTL_EXT_WAKEUP1_SEL 0

RTC_CNTL_EXT_WAKEUP1_SEL  RTC GPIO  EXT1 bc/ RTC_CNTL_EXT_WAKEUP1_STATUS_CLR  EXT1 bc

GoBack
0
Reset

Register 9.25. RTC_CNTL_EXT_WAKEUP1_STATUS_REG (0x00E0)

(reserved)

31

22 21

0000000000

RTC_CNTL_EXT_WAKEUP1_STATUS 0

RTC_CNTL_EXT_WAKEUP1_STATUS  EXT1 bc

0
Reset

Register 9.26. RTC_CNTL_SLP_REJECT_CAUSE_REG (0x0124)

(reserved)

31

17 16

000000000000000

RTC_CNTL_REJECT_CAUSE 0

RTC_CNTL_REJECT_CAUSE opbc

0
Reset



294 

ESP32-S2 TRM ( 1.3)

 9  

Register 9.27. RTC_CNTL_SLP_WAKEUP_CAUSE_REG (0x012C)

(reserved)

31

17 16

000000000000000

RTC_CNTL_WAKEUP_CAUSE 0

RTC_CNTL_WAKEUP_CAUSE bc

GoBack
0
Reset

Register 9.28. RTC_CNTL_INT_ENA_RTC_REG (0x0040)

(reserved)

RTC_CRNTCT_L_CRRNTTCTC_L__CRGRNTLTCTIC_LT__CCRTRNHTOTC_TUC_LDC__CREHCRNTT_OTC_TTCC_ILNI__MCPRTXRNUTE_TTCT_OAECT_LUNLR__CR3TASARNT2_WPTCTKICN__LD_I_T_CRND_S_RNTIETNAETCTA_RTNC_LDE_A_A_CRN_DECRNTIANNCOTCTATC2C_L____CPRTEIRNUTNSNTCT_TEAC_LI_NN__CRESTSRNTN__ATCTAIERCN_LNA__CTRADMR_NTCTCETAC1N_LI_N__CARI_NBRNTTRTTCTICM_O_L_E_CWRETNRNTRNOTAC_T_UC_LIONC__CRUTTHRNTO_T_TCTE_UCI_LNNIC__CNRAATHRNTTCO_TC_TTUCA_ELIVCC__NC(ErHUTRNAe_I_LTsTVIPCDNeLE__rO_T_RvTCR_NITeNOPTCEdETU_CN__)_CI_CAIRNNEWHNTTNT_CDT__AS_TLEEC_C_NNASINANANLTTP_L__D_ERSONELNAJPEE__CWITNA_TKI_NEEUTN_PAE_NINAT_ENA

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_SLP_WAKEUP_INT_ENA opbc/ RTC_CNTL_SLP_REJECT_INT_ENA opbc/ RTC_CNTL_RTC_WDT_INT_ENA  RTC bc/ RTC_CNTL_RTC_TOUCH_SCAN_DONE_INT_ENA bc/ RTC_CNTL_RTC_ULP_CP_INT_ENA bc/ ...



295 

ESP32-S2 TRM ( 1.3)

 9   Register 9.28. RTC_CNTL_INT_ENA_RTC_REG (0x0040)

GoBack

... RTC_CNTL_RTC_TOUCH_DONE_INT_ENA bc/ RTC_CNTL_RTC_TOUCH_ACTIVE_INT_ENA bc/ RTC_CNTL_RTC_TOUCH_INACTIVE_INT_ENA bc/ RTC_CNTL_RTC_BROWN_OUT_INT_ENA bc/ RTC_CNTL_RTC_MAIN_TIMER_INT_ENA  RTC bc/ RTC_CNTL_RTC_SARADC1_INT_ENA  SAR ADC 1 bc/ RTC_CNTL_RTC_TSENS_INT_ENA bc/ RTC_CNTL_RTC_COCPU_INT_ENA  ULP-RISCV bc/ RTC_CNTL_RTC_SARADC2_INT_ENA  SAR ADC 2 bc/ RTC_CNTL_RTC_SWD_INT_ENA bc/ RTC_CNTL_RTC_XTAL32K_DEAD_INT_ENA  32 kHz bc/ RTC_CNTL_RTC_COCPU_TRAP_INT_ENA  ULP-RISCV bc/ RTC_CNTL_RTC_TOUCH_TIMEOUT_INT_ENA bc/ RTC_CNTL_RTC_GLITCH_DET_INT_ENA bc/



296 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.29. RTC_CNTL_INT_RAW_RTC_REG (0x0044)

(reserved)

RTC_CRNTCT_L_CRRNTTCTC_L__CRGRNTLTCTIC_LT__CCRTRNHTOTC_TUC_LDC__CREHCRNTT_OTC_TTCC_ILNI__MCPRTXRNUTE_TTCT_OARCT_LULAR__CR3WTSARNT2_WPTCTKICN__LD_I_T_CRND_S_RNTIETNARTCTA_RTCA_LDR_AW__CRA_DRCRNTWINACOTCTWTC2C_L____CPRTRIRNUTNSATCT_TEWC_LI_NN__CRRSTSRNTA__ATCTWIRRCN_LAA__CTRWDMR_NTCTCRTAC1A_LI_N_W_CRI_NBRNTTRTTCTICM_O_L_R_CWRETARNTRNOWTC_T_UC_LIONC__CRUTTHRNTO_T_TCTR_UCI_LNAIC__CNRAWTHRNTTCO_TC_TTUCA_RLIVCC__CA(ErHUTWRNe_I_LTsTVIPCDNeLE__rO_T_RvTCR_NITeNOPTCRdETU_CA__)_CI_WCIRNNRWHNTTAT_CDT_W_S_TLRRC_C_AAASINWNWNLTTP_L__D_RRSOAELNWJPEE__CWITNA_TKI_NERUTA_PWR_AINWT_RAW

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_SLP_WAKEUP_INT_RAW opbc RTC_CNTL_SLP_REJECT_INT_RAW opbc RTC_CNTL_RTC_WDT_INT_RAW  RTC bc RTC_CNTL_RTC_TOUCH_SCAN_DONE_INT_RAW bc RTC_CNTL_RTC_ULP_CP_INT_RAW bc RTC_CNTL_RTC_TOUCH_DONE_INT_RAW bc RTC_CNTL_RTC_TOUCH_ACTIVE_INT_RAW bc RTC_CNTL_RTC_TOUCH_INACTIVE_INT_RAW bc RTC_CNTL_RTC_BROWN_OUT_INT_RAW bc RTC_CNTL_RTC_MAIN_TIMER_INT_RAW  RTC bc RTC_CNTL_RTC_SARADC1_INT_RAW  SAR ADC 1 bc RTC_CNTL_RTC_TSENS_INT_RAW bc RTC_CNTL_RTC_COCPU_INT_RAW  ULP-RISCV bc RTC_CNTL_RTC_SARADC2_INT_RAW  SAR ADC 2 bc RTC_CNTL_RTC_SWD_INT_RAW bc RTC_CNTL_RTC_XTAL32K_DEAD_INT_RAW  32 kHz bc ...



297 

ESP32-S2 TRM ( 1.3)

 9   Register 9.29. RTC_CNTL_INT_RAW_RTC_REG (0x0044)

GoBack

... RTC_CNTL_RTC_COCPU_TRAP_INT_RAW  ULP-RISCV bc RTC_CNTL_RTC_TOUCH_TIMEOUT_INT_RAW bc RTC_CNTL_RTC_GLITCH_DET_INT_RAW bc



298 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.30. RTC_CNTL_INT_ST_RTC_REG (0x0048)

(reserved)

RTC_CRNTCT_L_CRRNTTCTC_L__CRGRNTLTCTIC_LT__CCRTRNHTOTC_TUC_LDC__CREHCRNTT_OTC_TTCC_ILNI__MCPRTXRNUTE_TTCT_OSACT_LUTLR__CR3TSARNT2_WPTCTKICN__LD_I_T_CRND_S_RNTIETNASTCTA_TRTC_LDS_A__CRT_SDCRNTITNCOTCTTC2C_L____CPRTSIRNUTNSTTCT_TEC_LI_NN__CRSSTSRNTT__ATCTISRCN_LTA__CTRDMR_NTCTSCTAC1T_LI_N__CRI_NBRNTTRTTCTICM_O_L_S_CWRETTRNTRNOTC_T_UC_LIONC__CRUTTHRNTO_T_TCTS_UCI_LNTIC__CNRATHRNTTCO_TC_TTUCAS_LIVCC_T_C(ErHUTRNe_I_LTsTVIPCDNeLE__rO_T_RvTCR_NITeNOPTSCdETU_CT__)_CI_CIRNSNWHNTTTT_CDT__S_TLSSC_C_TTASINNNLTTP_L__D_SRSOTELNJPEE__CWITNA_TKI_NESUTT_PS_TINT_ST

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_SLP_WAKEUP_INT_ST opbc RTC_CNTL_SLP_REJECT_INT_ST opbc RTC_CNTL_RTC_WDT_INT_ST  RTC bc RTC_CNTL_RTC_TOUCH_SCAN_DONE_INT_ST bc RTC_CNTL_RTC_ULP_CP_INT_ST bc RTC_CNTL_RTC_TOUCH_DONE_INT_ST bc RTC_CNTL_RTC_TOUCH_ACTIVE_INT_ST bc RTC_CNTL_RTC_TOUCH_INACTIVE_INT_ST bc RTC_CNTL_RTC_BROWN_OUT_INT_ST bc RTC_CNTL_RTC_MAIN_TIMER_INT_ST  RTC bc RTC_CNTL_RTC_SARADC1_INT_ST  SAR ADC 1 bc RTC_CNTL_RTC_TSENS_INT_ST bc RTC_CNTL_RTC_COCPU_INT_ST  ULP-RISCV bc RTC_CNTL_RTC_SARADC2_INT_ST  SAR ADC 2 bc RTC_CNTL_RTC_SWD_INT_ST bc RTC_CNTL_RTC_XTAL32K_DEAD_INT_ST  32 kHz bc ...



299 

ESP32-S2 TRM ( 1.3)

 9  

Register 9.30. RTC_CNTL_INT_ST_RTC_REG (0x0048)

GoBack

... RTC_CNTL_RTC_COCPU_TRAP_INT_ST  ULP-RISCV bc RTC_CNTL_RTC_TOUCH_TIMEOUT_INT_ST bc RTC_CNTL_RTC_GLITCH_DET_INT_ST bc



300 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.31. RTC_CNTL_INT_CLR_RTC_REG (0x004C)

(reserved)

RTC_CRNTCT_L_CRRNTTCTC_L__CRGRNTLTCTIC_LT__CCRTRNHTOTC_TUC_LDC__CREHCRNTT_OTC_TTCC_ILNI__MCPRTXRNUTE_TTCT_OCACT_LULLR__CR3RTSARNT2_WPTCTKICN__LD_I_T_CRND_S_RNTIETNACTCTA_RTCL_LDCR_A__CR_LCDCRNTRINLCOTCTRTC2C_L____CPRTCIRNUTNSLTCT_TERC_LI_NN__CRCSTSRNTL__ATCRTCIRCN_LLA__CTRRDMR_NTCTCCTAC1L_LI_NR__CRI_NBRNTTRTTCTICM_O_LC__CWRETLRNTRNORTC_T_UC_LIONC__CRUTTHRNTO_T_TCTC_UCI_LNLIC__CNRARTHRNTTCO_TC_TTUCAC_LIVCC__CL(ErHUTRRNe_I_LTsTVIPCDNeLE__rO_T_RvTCR_NITeNOPCTCdETU_CL__)_CIR_CIRNCNWHNTTLT_CDT_R_S_TLCCC_C_LLASIRNRNNLTTP_L__D_CRSOLELNRJPEE__CWITNA_TKI_NECUTL_PRC_LINRT_CLR

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_SLP_WAKEUP_INT_CLR opbc RTC_CNTL_SLP_REJECT_INT_CLR opbc RTC_CNTL_RTC_WDT_INT_CLR  RTC bc RTC_CNTL_RTC_TOUCH_SCAN_DONE_INT_CLR bc RTC_CNTL_RTC_ULP_CP_INT_CLR  ULP bc RTC_CNTL_RTC_TOUCH_DONE_INT_CLR bc RTC_CNTL_RTC_TOUCH_ACTIVE_INT_CLR bc RTC_CNTL_RTC_TOUCH_INACTIVE_INT_CLR bc RTC_CNTL_RTC_BROWN_OUT_INT_CLR bc RTC_CNTL_RTC_MAIN_TIMER_INT_CLR  RTC bc RTC_CNTL_RTC_SARADC1_INT_CLR  SAR ADC 1 bc RTC_CNTL_RTC_TSENS_INT_CLR bc RTC_CNTL_RTC_COCPU_INT_CLR  ULP-RISCV bc RTC_CNTL_RTC_SARADC2_INT_CLR  SAR ADC 2 bc RTC_CNTL_RTC_SWD_INT_CLR bc RTC_CNTL_RTC_XTAL32K_DEAD_INT_CLR  32 kHz bc ...



301 

ESP32-S2 TRM ( 1.3)

 9  
Register 9.31. RTC_CNTL_INT_CLR_RTC_REG (0x004C)
... RTC_CNTL_RTC_COCPU_TRAP_INT_CLR  ULP-RISCV bc RTC_CNTL_RTC_TOUCH_TIMEOUT_INT_CLR bc RTC_CNTL_RTC_GLITCH_DET_INT_CLR bc

GoBack

Register 9.32. RTC_CNTL_STORE0_REG (0x0050)
RTC_CNTL_RTC_SCRATCH0
31
0
RTC_CNTL_RTC_SCRATCH0  0bc/

0
Reset

Register 9.33. RTC_CNTL_STORE1_REG (0x0054)
RTC_CNTL_RTC_SCRATCH1
31
0
RTC_CNTL_RTC_SCRATCH1  1bc/

0
Reset



302 

ESP32-S2 TRM ( 1.3)

 9  
Register 9.34. RTC_CNTL_STORE2_REG (0x0058)
RTC_CNTL_RTC_SCRATCH2
31
0
RTC_CNTL_RTC_SCRATCH2  2bc/
Register 9.35. RTC_CNTL_STORE3_REG (0x005C)
RTC_CNTL_RTC_SCRATCH3
31
0
RTC_CNTL_RTC_SCRATCH3  3bc/
Register 9.36. RTC_CNTL_STORE4_REG (0x00BC)
RTC_CNTL_RTC_SCRATCH4
31
0
RTC_CNTL_RTC_SCRATCH4  4bc/

GoBack
0
Reset
0
Reset
0
Reset



303 

ESP32-S2 TRM ( 1.3)

 9  
Register 9.37. RTC_CNTL_STORE5_REG (0x00C0)
RTC_CNTL_RTC_SCRATCH5
31
0
RTC_CNTL_RTC_SCRATCH5  5bc/
Register 9.38. RTC_CNTL_STORE6_REG (0x00C4)
RTC_CNTL_RTC_SCRATCH6
31
0
RTC_CNTL_RTC_SCRATCH6  6bc/
Register 9.39. RTC_CNTL_STORE7_REG (0x00C8)
RTC_CNTL_RTC_SCRATCH7
31
0
RTC_CNTL_RTC_SCRATCH7  7bc/

GoBack
0
Reset
0
Reset
0
Reset



304 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.40. RTC_CNTL_EXT_XTL_CONF_REG (0x0060)

RTC_CRNTCT_L_CXNTTLL__EXXTTL__CETX(RTre__sECeNTrRve_dLV)

RTC_CNTL_RRTTCC__CXNTTALL_3R2TKC__GWPDIOT__SSETLATE

31 30 29

24 23 22

20 19

(reserved)

RTC_CRNTCT_L_CRENTNCTC_L_CKRXINTNTCTIAT_LL__CR3XXNT2TTCTKAA_L_LL_CRX_3XNTP32TCTD2KA_LK__L_CRFA3XNTOU2TCTRTKA_LOC_L_CR_EA3XNTUR2TCTETKA_LOT_L_CRU_A3XNTURR2TCTNETKA_LOS_L_CTE_3XANXB2TRTTAKAT_LC_L_CWK3XLU2DTKKPTA___LFW3RO2EDKST_E_WTCLDKT__FEON
98 7 6 5 4 3 2 1 0

0 00 0 0 0 0 00

0x0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 Reset

RTC_CNTL_XTAL32K_WDT_EN  1  32 bc/ RTC_CNTL_XTAL32K_WDT_CLK_FO  1  32 kHz bc/ RTC_CNTL_XTAL32K_WDT_RESET  1  32 kHz bc/ RTC_CNTL_XTAL32K_EXT_CLK_FO  1  32 kHz bc/ RTC_CNTL_XTAL32K_AUTO_BACKUP  1  32 kHz bc/ RTC_CNTL_XTAL32K_AUTO_RESTART  1  32 kHz  32 kHz bc/ RTC_CNTL_XTAL32K_AUTO_RETURN  1  32 kHz  32 kHz bc/

RTC_CNTL_XTAL32K_XPD_FORCE  1  32 kHz  0  FSM  32 kHz bc/
RTC_CNTL_ENCKINIT_XTAL_32K  1  32 kHz bc/ RTC_CNTL_RTC_WDT_STATE  32 kHz bc RTC_CNTL_RTC_XTAL32K_GPIO_SEL  32 kHz b 0  32 kHz  1 
 RTC GPIO  X32P_C bc/ RTC_CNTL_XTL_EXT_CTR_LV  1  XTAL  0  XTAL bc/ RTC_CNTL_XTL_EXT_CTR_EN  1  GPIO bc/



305 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.41. RTC_CNTL_CLK_CONF_REG (0x0074)

RTC_CNRTTL_CA_NCAN_(TrCLe_LsKeFA_rvSReTTdR_C)TC_CLS_KECR_LNTRCTT_LC_C_CNSKTE8LLM_C_KF8OMRC_FEO_PRCU(Ere_sPeDrved)
31 30 29 28 27 26 25 24

RTC_CRNTCT_L_CCNKT8LM_RXT_TCFA_OLCR_NCFTEOL_R_(NCrCeOEKs_G8eNAMrRTvOTe_INGCdDAG_)ITVCRI_NNTSGCTE_LL_CRDNTCITG_L__CRCDNTLCITKG_L8__CRMCDNTL_CITKGE_L8_N_CMXENT_NRTADBTLL2_C3_52CE_6NKCK__B8NEEM_RTNNCTL__CKDC8_IVMKC8NMTL__(DrCeIVKs8eMrve_dD)IV_SEL_VLD

17 16 15 14

12 11 10 9 8 7 6 5

432

0

0 00 00 00 0 0 0 0 0 0 00 0

3

00 1 000

1

1 0 0 0 Reset

RTC_CNTL_CK8M_DIV_SEL_VLD  reg_ck8m_div_sel b bc/
RTC_CNTL_CK8M_DIV  CK8M_D256_OUT b00: 128 01256 10512  111024 bc/
RTC_CNTL_ENB_CK8M  1  CK8M  CK8M_D256_OUTbc/ RTC_CNTL_ENB_CK8M_DIV  CK8M_D256_OUT b 1  CK8M 0  CK8M 
256 bc/ RTC_CNTL_DIG_XTAL32K_EN  1  CK_XTAL_32K bc/ RTC_CNTL_DIG_CLK8M_D256_EN  1  CK8M_D256_OUT bc/ RTC_CNTL_DIG_CLK8M_EN  1  8 MHz bc/ RTC_CNTL_CK8M_DIV_SEL  8 MHz  reg_ck8m_div_sel + 1bc/ RTC_CNTL_XTAL_FORCE_NOGATING  1  Sleep bc/ RTC_CNTL_CK8M_FORCE_NOGATING  1  Sleep  8 MHz bc/ RTC_CNTL_CK8M_FORCE_PD  1  8 MHz bc/ RTC_CNTL_CK8M_FORCE_PU  1  8 MHz bc/ RTC_CNTL_FAST_CLK_RTC_SEL  RTC b0: XTAL_DIV_CLK1: RC_FAST_CLKbc/

RTC_CNTL_ANA_CLK_RTC_SEL  RTC b0: RC_SLOW_CLK1: XTAL32K_CLK2: RC_FAST_DIV_CLKbc/



306 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

(reserved)
31 30
0

Register 9.42. RTC_CNTL_SLOW_CLK_CONF_REG (0x0078)

RTC_CNTL_RTC_ANA_CLRKT_CD_ICVNTL_RTC_ANA_CLK_DIV_VLD

(reserved)

23 22 21

0

0

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_RTC_ANA_CLK_DIV_VLD  reg_rtc_ana_clk_div b b
RTC_CNTL_RTC_ANA_CLK_DIV  RTC bc/

Register 9.43. RTC_CNTL_XTAL32K_CLK_FACTOR_REG (0x00F0)
RTC_CNTL_XTAL32K_CLK_FACTOR
31
0x000000
RTC_CNTL_XTAL32K_CLK_FACTOR  32 kHz bc/

0
Reset



307 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.44. RTC_CNTL_XTAL32K_CONF_REG (0x00F4)

RTC_CNTL_XTAL32K_STABLE_THRRTECS_CNTL_XTAL32K_WDT_TIMEOUT

31

28 27

20 19

0x0

0xff

RTC_CNTL_XTAL32K_RESTART_WAIT
43
0x00

RTC_CNTL_XTAL32K_RETURN_WAIT
0

0x0

Reset

RTC_CNTL_XTAL32K_RETURN_WAIT  32 kHz bc/
RTC_CNTL_XTAL32K_RESTART_WAIT  32 kHz bc/
RTC_CNTL_XTAL32K_WDT_TIMEOUT b  32 kHz bc/
RTC_CNTL_XTAL32K_STABLE_THRES b 32 kHz   32 kHz bc/



308 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.45. RTC_CNTL_WDTCONFIG0_REG (0x0094)

RTC_CNTL_RWTCD_TC_NENTL_WDT_RSTCTG_0CNTL_WDT_RSTCTG_1CNTL_WDT_RSTCTG_2CNTL_WDT_RSTCTG_3CNTL_WDT_RCTCP_UC_NRTELS_ERWTT_CDL_TEC_RNNSTGCYTTS_LH__C(rWRNeEsTDSeLTEr__RvTWTFe_CLdDLA_)TESC_NHNPGBRTTOLOH_OCWTP_DUMT__ROPEDAS_UEESTNE__EINN(_reSsLePrved)

31 30

28 27

25 24

22 21

19 18

16 15

13 12 11 10 9 8

0

0

0x0

0x0

0x0

0x0

0x1

0x1

1 0 0 1 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_WDT_PAUSE_IN_SLP  1 opbc/ RTC_CNTL_WDT_PROCPU_RESET_EN  1  CPUbc/ RTC_CNTL_WDT_FLASHBOOT_MOD_EN  1  flash bc/ RTC_CNTL_WDT_SYS_RESET_LENGTH bc/ RTC_CNTL_WDT_CPU_RESET_LENGTH  CPU bc/ RTC_CNTL_WDT_STG3 12 CPU 34
 RTC bc/ RTC_CNTL_WDT_STG2 12 CPU 34
 RTC bc/ RTC_CNTL_WDT_STG1 12 CPU 34
 RTC bc/ RTC_CNTL_WDT_STG0 12 CPU 34
 RTC bc/ RTC_CNTL_WDT_EN  1  RTC bc/

  12  (WDT)b



309 

ESP32-S2 TRM ( 1.3)

 9  
Register 9.46. RTC_CNTL_WDTCONFIG1_REG (0x0098)
RTC_CNTL_WDT_STG0_HOLD
31
200000
RTC_CNTL_WDT_STG0_HOLD  1  RTC bc/
Register 9.47. RTC_CNTL_WDTCONFIG2_REG (0x009C)
RTC_CNTL_WDT_STG1_HOLD
31
80000
RTC_CNTL_WDT_STG1_HOLD  2  RTC bc/
Register 9.48. RTC_CNTL_WDTCONFIG3_REG (0x00A0)
RTC_CNTL_WDT_STG2_HOLD
31
0x000fff
RTC_CNTL_WDT_STG2_HOLD  3  RTC bc/

GoBack
0
Reset
0
Reset
0
Reset



310 

ESP32-S2 TRM ( 1.3)

 9  
Register 9.49. RTC_CNTL_WDTCONFIG4_REG (0x00A4)
RTC_CNTL_WDT_STG3_HOLD
31
0x000fff
RTC_CNTL_WDT_STG3_HOLD  4  RTC bc/

GoBack
0
Reset

Register 9.50. RTC_CNTL_WDTFEED_REG (0x00A8)

RTC_CNTL_RTC_WDT_FEED

(reserved)

31 30

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_RTC_WDT_FEED  1 bc

Register 9.51. RTC_CNTL_WDTWPROTECT_REG (0x00AC)

RTC_CNTL_WDT_WKEY

31

0

0x50d83aa1

Reset

RTC_CNTL_WDT_WKEY  0x50d83aa1  RTC  (RWDT)  bc/



311 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.52. RTC_CNTL_SWD_CONF_REG (0x00B0)

RTC_CRNTCT_L_CRSNTWCT_LD_CR_SNTAWCTU_LDT_CO_SND_WTFISLDEA_E_BSDFLW_EEEEDDN_RST_FLAG_CRLTRC_CNTL_SWD_SIGNAL_WIDTH

31 30 29 28 27

18 17

(reserved)

RTC_CRNTCT_L_CSNWTLD__SFWEEDD__RIENSTET_FLAG
21 0

0000

300

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_SWD_RESET_FLAG bc RTC_CNTL_SWD_FEED_INT bc RTC_CNTL_SWD_SIGNAL_WIDTH bc/ RTC_CNTL_SWD_RST_FLAG_CLR  1 bc RTC_CNTL_SWD_FEED  1 bc RTC_CNTL_SWD_DISABLE  1 bc/ RTC_CNTL_SWD_AUTO_FEED_EN  1 bc/

Register 9.53. RTC_CNTL_SWD_WPROTECT_REG (0x00B4)
RTC_CNTL_SWD_WKEY
31
0x8f1d312a
RTC_CNTL_SWD_WKEY bc/

0
Reset



312 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.54. RTC_CNTL_SW_CPU_STALL_REG (0x00B8)

RTC_CNTL_SW_STALL_PROCPU_C1

(reserved)

31

26 25

0

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_SW_STALL_PROCPU_C1  RTC_CNTL_SW_STALL_PROCPU_C0  0x2   0x21  CPU  stall bc/



313 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.55. RTC_CNTL_PAD_HOLD_REG (0x00D4)

(reserved)

RTC_CRNTCT_L_CRRNTTCTC_L__CRPRNTATCTDC_L2__CR1PRNT_ATCTHDC_LO2__CRL0PPNTDA_DCTDHA_L1OC_CR9PL2NT_DDC_THHA_LOC_CORLX1NTLD_3CDTH2_LON_CRL_XNTD3HCT2O_LP_CLRT_DNTOHCTUO_LCL_CRTDHNTO_CTUP_LCA_CRTDHNTO1_CT4UP_L_CA_CRHTDHNTOO1_CT3LUP_L_DCA_CRHTDHNTOO1_CT2LUP_L_DCA_CRHTDHNTOO1_CT1LUP__LDCA_CHRTDHNTOO1_CTL0UP_DL_CA_CRHTDHNTOO9_CTUL_P_LDCAH_CRTDHONTO8_CLTU_DP_LCHA_CRTDHONTO7_CLT_UDP_LHCA_CRTODHNTOL6_CTUD_P_LCAH_CRTDHONTO5_CLTU_DP_LCAH_CRTDHONTO4_CLTU_DP_LCHA_CTDHONO3_LTU_DPLCAH_TDHOO2_LU_DPCAHDHO1_L_DPHAODL0D_HOLD

31

22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RTC_CNTL_TOUCH_PAD0_HOLD  1  GPIO 0  hold bc/ RTC_CNTL_TOUCH_PAD1_HOLD  1  GPIO 1  hold bc/ RTC_CNTL_TOUCH_PAD2_HOLD  1  GPIO 2  hold bc/ RTC_CNTL_TOUCH_PAD3_HOLD  1  GPIO 3  hold bc/ RTC_CNTL_TOUCH_PAD4_HOLD  1  GPIO 4  hold bc/ RTC_CNTL_TOUCH_PAD5_HOLD  1  GPIO 5  hold bc/ RTC_CNTL_TOUCH_PAD6_HOLD  1  GPIO 6  hold bc/ RTC_CNTL_TOUCH_PAD7_HOLD  1  GPIO 7  hold bc/ RTC_CNTL_TOUCH_PAD8_HOLD  1  GPIO 8  hold bc/ RTC_CNTL_TOUCH_PAD9_HOLD  1  GPIO 9  hold bc/ RTC_CNTL_TOUCH_PAD10_HOLD  1  GPIO 10  hold bc/ RTC_CNTL_TOUCH_PAD11_HOLD  1  GPIO 11  hold bc/ RTC_CNTL_TOUCH_PAD12_HOLD  1  GPIO 12  hold bc/ RTC_CNTL_TOUCH_PAD13_HOLD  1  GPIO 13  hold bc/ RTC_CNTL_TOUCH_PAD14_HOLD  1  GPIO 14  hold bc/ RTC_CNTL_X32P_HOLD  1  x32p  hold bc/ RTC_CNTL_X32N_HOLD  1  x32n  hold bc/ RTC_CNTL_PDAC1_HOLD  1  pdac1  hold bc/ RTC_CNTL_PDAC2_HOLD  1  pdac2  hold bc/ RTC_CNTL_RTC_PAD19_HOLD  1  GPIO 19  hold bc/ RTC_CNTL_RTC_PAD20_HOLD  1  GPIO 20  hold bc/ RTC_CNTL_RTC_PAD21_HOLD  1  GPIO 21  hold bc/



314 

ESP32-S2 TRM ( 1.3)

 9  

GoBack

Register 9.56. RTC_CNTL_DIG_PAD_HOLD_REG (0x00D8)

RTC_CNTL_DIG_PAD_HOLD

31

0

0

Reset

RTC_CNTL_DIG_PAD_HOLD  1  GPIO 21  GPIO 45  hold bGPIO  bc/

Register 9.57. RTC_CNTL_BROWN_OUT_REG (0x00E4)

RTC_CRNTCT_L_CRRNTTCTC_L__C(rBBNeRRsTOeOLr_WWRvBTeNNCRd__O_)OOCWRUUNTNTTCT____LODE_CNUEBNTATRT_OLC_WNBNTR__OOCWULNRT__ORUSTT__SRESLTR_TECN_ACNTL_BROWN_OUT_RSTR_TWCA_ICTRNTCT_L_CBNRTOL_WBNR_OOWUNT__OPUDT__RCF_LOERNSTEAC__FCLNATSLH__BERNOAWN_OUT_INT_WAIT(reserved) RTC_CNTL_BROWN_OUT2_ENA

31 30 29 28 27 26 25

16 15 14 13

43

10

000000

0x3ff

00

0x2ff

0 0 0 1 Reset

RTC_CNTL_BROWN_OUT2_ENA  1 bc/ RTC_CNTL_BROWN_OUT_INT_WAIT bc/ RTC_CNTL_BROWN_OUT_CLOSE_FLASH_ENA  1  flashbc/

RTC_CNTL_BROWN_OUT_PD_RF_ENA  1  RF bc/ RTC_CNTL_BROWN_OUT_RST_WAIT bc/ RTC_CNTL_BROWN_OUT_RST_ENA  1 bc/ RTC_CNTL_BROWN_OUT_RST_SEL b 1  1 
bc/ RTC_CNTL_BROWN_OUT_CNT_CLR bc RTC_CNTL_BROWN_OUT_ENA  1 bc/ RTC_CNTL_RTC_BROWN_OUT_DET bc



315 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)

GoBack

 10 
 (SYSTIMER)
10.1 
ESP32-S2  64 b b
10.2 
·  64 b ·  APB_CLK b ·  APB_CLK b ·  APB_CLK  PLL_CLK  XTAL_CLK XTAL_CLK  PLL_CLK
b · cb ·  64  30 b · b Light-sleep  RTC 
b · CPU b
10.3 
 XTAL_CLK  PLL_CLK b 6  6.2-1 CPU_CLK b 6.2-4 APB_CLK b  SYSTIMER_TIMER_XTAL_STEP  SYSTIMER_TIMER_PLL_STEP b
10.4 
 10.4-1 b SYSTEM_PERIP_CLK_EN0_REG  SYSTEM_SYSTIMER_CLK_EN  SYSTEM_PERIP_RST_EN0_REG  SYSTEM_SYSTIMER_RST b 15  15.3-3  b



316 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)

GoBack

 10.4-1. 

10.4.1 
1.  SYSTIMER_TIMER_UPDATE b 2.  SYSTIMER_TIMER_VALUE_VALID bb 3.  SYSTIMER_TIMER_VALUE_HI  32  SYSTIMER_TIMER_VALUE_LO 
 32 b

10.4.2 
1.  10.4.1b 3 b 2.  SYSTIMER_TARGETx_PERIOD_MODEb 3. c 32  SYSTIMER_TIMER_TARGETx_HI 32 
SYSTIMER_TIMER_TARGETx_LOb 4.  SYSTIMER_TARGETx_WORK_ENb 5.  SYSTIMER_INTx_ENA bb

10.4.3 
1.  SYSTIMER_TARGETx_PERIOD_MODEb 2. c SYSTIMER_TARGETx_PERIODb 3.  SYSTIMER_TARGETx_WORK_ENb 4.  SYSTIMER_INTx_ENA bb

10.4.4 
1.  Light-sleep  RTC b 2.  Light-sleep  RTC b 3.  10.4.1b 4. b 5.  SYSTIMER_TIMER_LOAD_HIc 32  SYSTIMER_TIMER_LOAD_LOc 32 b



317 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)

GoBack

6.  SYSTIMER_TIMER_LOAD  5 b

10.5 

 10.5-1 b  3 b
 10.5-1. 

 PeriBUS1 PeriBUS2

 0x3F423000 0x60023000

10.6 

cb 10.5 b

  SYSTIMER_CONF_REG SYSTIMER_LOAD_REG SYSTIMER_LOAD_HI_REG SYSTIMER_LOAD_LO_REG SYSTIMER_STEP_REG SYSTIMER_TARGET0_HI_REG SYSTIMER_TARGET0_LO_REG SYSTIMER_TARGET1_HI_REG SYSTIMER_TARGET1_LO_REG SYSTIMER_TARGET2_HI_REG SYSTIMER_TARGET2_LO_REG SYSTIMER_TARGET0_CONF_REG SYSTIMER_TARGET1_CONF_REG SYSTIMER_TARGET2_CONF_REG SYSTIMER_UPDATE_REG SYSTIMER_VALUE_HI_REG SYSTIMER_VALUE_LO_REG SYSTIMER_INT_ENA_REG SYSTIMER_INT_RAW_REG SYSTIMER_INT_CLR_REG  SYSTIMER_DATE_REG


   32   32    0 32   0 32   1 32   1 32   2 32   2 32   0   1   2    32   32    






0x0000 0x0004 0x0008 0x000C 0x0010 0x0014 0x0018 0x001C 0x0020 0x0024 0x0028 0x002C 0x0030 0x0034 0x0038 0x003C 0x0040 0x0044 0x0048 0x004C

/  / / / / / / / / / / / /    /  

0x00FC /



318 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)
10.7 

GoBack

Register 10.1. SYSTIMER_CONF_REG (0x0000)

SYSTIMER_CLK_EN
31 30

(reserved)

SYSTIMER_CLK_FO
10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTIMER_CLK_FO bc/ SYSTIMER_CLK_EN bc/

Register 10.2. SYSTIMER_LOAD_REG (0x0004)

SYSTIMER_TIMER_LOAD

(reserved)

31 30

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTIMER_TIMER_LOAD  1 SYSTIMER_TIMER_LOAD_HI  SYSTIMER_TIMER_LOAD_LO bc

Register 10.3. SYSTIMER_LOAD_HI_REG (0x0008)
SYSTIMER_TIMER_LOAD_HI
31
0
SYSTIMER_TIMER_LOAD_HI  32 bc/

0
Reset



319 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)
Register 10.4. SYSTIMER_LOAD_LO_REG (0x000C)
SYSTIMER_TIMER_LOAD_LO
31
0
SYSTIMER_TIMER_LOAD_LO  32 bc/

GoBack
0
Reset

Register 10.5. SYSTIMER_STEP_REG (0x0010)

(reserved)

31

20 19

000000000000

SYSTIMER_TIMER_PLL_STEP
10 9
1

SYSTIMER_TIMER_XTAL_STEP
0

80

Reset

SYSTIMER_TIMER_XTAL_STEP  XTAL_CLK   1 us/CLK bc/
SYSTIMER_TIMER_PLL_STEP  PLL_CLK   1 us/CLK bc/

Register 10.6. SYSTIMER_TARGET0_HI_REG (0x0014)
SYSTIMER_TIMER_TARGET0_HI
31
0
SYSTIMER_TIMER_TARGET0_HI  0 32 bc/

0
Reset



320 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)
Register 10.7. SYSTIMER_TARGET0_LO_REG (0x0018)
SYSTIMER_TIMER_TARGET0_LO
31
0
SYSTIMER_TIMER_TARGET0_LO  0 32 bc/
Register 10.8. SYSTIMER_TARGET1_HI_REG (0x001C)
SYSTIMER_TIMER_TARGET1_HI
31
0
SYSTIMER_TIMER_TARGET1_HI  1 32 bc/
Register 10.9. SYSTIMER_TARGET1_LO_REG (0x0020)
SYSTIMER_TIMER_TARGET1_LO
31
0
SYSTIMER_TIMER_TARGET1_LO  1 32 bc/

GoBack
0
Reset
0
Reset
0
Reset



321 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)
Register 10.10. SYSTIMER_TARGET2_HI_REG (0x0024)
SYSTIMER_TIMER_TARGET2_HI
31
0
SYSTIMER_TIMER_TARGET2_HI  2 32 bc/

GoBack
0
Reset

Register 10.11. SYSTIMER_TARGET2_LO_REG (0x0028)
SYSTIMER_TIMER_TARGET2_LO
31
0
SYSTIMER_TIMER_TARGET2_LO  2 32 bc/

0
Reset

Register 10.12. SYSTIMER_TARGET0_CONF_REG (0x002C)

SYSTISMYESRT_IMTAERRG_ETTA0RG_WETO0R_KP_EERNIOD_MODE
31 30 29
00

SYSTIMER_TARGET0_PERIOD 0x000000

0
Reset

SYSTIMER_TARGET0_PERIOD  0 bc/
SYSTIMER_TARGET0_PERIOD_MODE  0 b01 bc/
SYSTIMER_TARGET0_WORK_EN  0 bc/



322 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)

GoBack

Register 10.13. SYSTIMER_TARGET1_CONF_REG (0x0030)

SYSTISMYESRT_IMTAERRG_ETTA1R_GWEOTR1_KP_EERNIOD_MODE
31 30 29
00

SYSTIMER_TARGET1_PERIOD 0x000000

0
Reset

SYSTIMER_TARGET1_PERIOD  1 bc/
SYSTIMER_TARGET1_PERIOD_MODE  1 b01 bc/
SYSTIMER_TARGET1_WORK_EN  1 bc/

Register 10.14. SYSTIMER_TARGET2_CONF_REG (0x0034)

SYSTISMYESRT_IMTAERRG_ETTA2R_GWETO2R_KP_EERNIOD_MODE
31 30 29
00

SYSTIMER_TARGET2_PERIOD 0x000000

0
Reset

SYSTIMER_TARGET2_PERIOD  2 bc/
SYSTIMER_TARGET2_PERIOD_MODE  2 b01 bc/
SYSTIMER_TARGET2_WORK_EN  2 bc/



323 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)

GoBack

Register 10.15. SYSTIMER_UPDATE_REG (0x0038)

SYSTISMYESRT_IMTIEMRE_RT_IMUPERD_AVTAELUE_VALID

(reserved)

31 30 29

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTIMER_TIMER_VALUE_VALID b0 1bc

SYSTIMER_TIMER_UPDATE bc

Register 10.16. SYSTIMER_VALUE_HI_REG (0x003C)
SYSTIMER_TIMER_VALUE_HI
31
0
SYSTIMER_TIMER_VALUE_HI  32 bc

0
Reset

Register 10.17. SYSTIMER_VALUE_LO_REG (0x0040)
SYSTIMER_TIMER_VALUE_LO
31
0
SYSTIMER_TIMER_VALUE_LO  32 bc

0
Reset



324 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)

GoBack

Register 10.18. SYSTIMER_INT_ENA_REG (0x0044)

(reserved)

SYSTISMYESRT_ISMINYESTRT2_I_MINEENTR1A__IENNTA0_ENA

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTIMER_INT0_ENA  0 bc/ SYSTIMER_INT1_ENA  1 bc/ SYSTIMER_INT2_ENA  2 bc/

Register 10.19. SYSTIMER_INT_RAW_REG (0x0048)

(reserved)

SYSTISMYESRT_ISMINYESTRT2_I_MINREATRW1__IRNATW0_RAW

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTIMER_INT0_RAW  0 bc SYSTIMER_INT1_RAW  1 bc SYSTIMER_INT2_RAW  2 bc

Register 10.20. SYSTIMER_INT_CLR_REG (0x004C)

(reserved)

SYSTISMYESRT_ISMINYESTRT2_I_MICNELTRR1__CINLTR0_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTIMER_INT0_CLR  0 bc SYSTIMER_INT1_CLR  1 bc SYSTIMER_INT2_CLR  2 bc



325 

ESP32-S2 TRM ( 1.3)

 10   (SYSTIMER)
Register 10.21. SYSTIMER_DATE_REG (0x00FC)
SYSTIMER_DATE
31
0x1807160
SYSTIMER_DATE bc/

GoBack
0
Reset



326 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

 11 
 (TIMG)
11.1 
acb 11.1-1ESP32-S2  0  1bc  Tx x  0  1b 16  64  b

 11.1-1. 
 12 bop b 
· 16  1-65536 · 64  ·  ·  ·  · c · 



327 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

11.2 
11.2.1 16 
 TIMG_TxCONFIG_REG  TIMG_Tx_USE_XTAL  APB  (APB_CLK)  (XTAL_CLK) b 16  (TB_CLK)b16  TIMG_Tx_DIVIDER  1  65536 b TIMG_Tx_DIVIDER  0  65536bc TIMG_Tx_EN  16 b 16 b

11.2.2 64 
64  TB_CLK TIMG_Tx_INCREASE b  TIMG_Tx_EN b TB_CLK b bTIMG_Tx_EN TIMG_Tx_INCREASE b
 64  CPU c CPU  32 b TIMG_TxUPDATE_REG 64  TIMG_TxLO_REG  TIMG_TxHI_REG   32  32 b TIMG_TxUPDATE_REG  TIMG_TxLO_REG  TIMG_TxHI_REG  CPU b

11.2.3 
bc c 11.2.4 b
64  TIMG_TxALARMLO_REG  TIMG_TxALARMHI_REG  32   32 b TIMG_Tx_ALARM_EN b opc b
TIMG_Tx_ALARM_EN  TIMG_Tx_ALARM_EN b

11.2.4 
 32  32  TIMG_Tx_LOAD_LO  TIMG_Tx_LOAD_HI b TIMG_Tx_LOAD_LO  TIMG_Tx_LOAD_HI  bb b
CPU  TIMG_TxLOAD_REG b TIMG_Tx_EN b TIMG_Tx_EN  b
b bTIMG_Tx_AUTORELOAD  1 b b



328 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

11.2.5 
 CPU cb 6  
· TIMG_WDT_LEVEL_INT · TIMG_WDT_EDGE_INT · TIMG_Tx_LEVEL_INT · TIMG_Tx_EDGE_INT cbc bcb  TIMG_Tx_LEVEL_INT_EN  TIMG_Tx_EDGE_INT_EN b b
· TIMG_Tx_INT_RAW 1b TIMG_Tx_INT_CLR b · TIMG_WDT_INT_RAW 1b TIMG_WDT_INT_CLR b · TIMG_Tx_INT_ST TIMG_Tx_INT_ENA  TIMG_Tx_INT_RAW 
bTIMG_Tx_INT_ST  TIMG_Tx_INT_RAW b · TIMG_WDT_INT_ST TIMG_WDT_INT_ENA 
TIMG_WDT_INT_RAW bTIMG_WDT_INT_ST  TIMG_WDT_INT_RAW b
· TIMG_Tx_INT_ENAb · TIMG_WDT_INT_ENAb · TIMG_Tx_INT_CLR 1  TIMG_Tx_INT_RAW  TIMG_Tx_INT_ST
bb
· TIMG_WDT_INT_CLR 1  TIMG_WDT_INT_RAW  TIMG_WDT_INT_ST bb

11.3 

11.3.1 
1. b ·  TIMG_Tx_USE_XTAL b ·  TIMG_Tx_DIVIDER  16 b ·  TIMG_Tx_INCREASE b ·  TIMG_Tx_LOAD_LO  TIMG_Tx_LOAD_HI  TIMG_TxLOAD_REG b
2.  TIMG_Tx_EN b 3. b



329 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

·  TIMG_TxUPDATE_REG b ·  TIMG_TxLO_REG  TIMG_TxHI_REG b

11.3.2 
1.  11.3.1  1 b 2. b
·  TIMG_TxALARMLO_REG  TIMG_TxALARMHI_REG b ·  TIMG_Tx_LEVEL_INT_EN  TIMG_Tx_EDGE_INT_EN b 3.  TIMG_Tx_AUTORELOAD b 4.  TIMG_Tx_EN b 5. b ·  TIMG_Tx_INT_CLR b ·  TIMG_Tx_EN b

11.3.3 
1.  11.3.1  1 b 2.  11.3.2  2 b 3.  TIMG_Tx_AUTORELOAD  TIMG_Tx_LOAD_LO 
TIMG_Tx_LOAD_HIb 4.  TIMG_Tx_EN b 5. cb
·  TIMG_Tx_INT_CLR b · c
TIMG_TxALARMLO_REGaTIMG_TxALARMHI_REGaTIMG_Tx_LOAD_LO  TIMG_Tx_LOAD_HI bb ·  TIMG_Tx_ALARM_EN b 6.cb ·  TIMG_Tx_INT_CLR b ·  TIMG_Tx_EN b

11.4 
 64  11.4-1 b 3  b



330 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

 11.4-1. 64 

 TIMG0 TIMG1

 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2

 0x3F41F000 0x6001F000 0x3F420000 0x60020000

GoBack

11.5 

 64 cb 11.4  64  b

Name  0  TIMG_T0CONFIG_REG TIMG_T0LO_REG TIMG_T0HI_REG TIMG_T0UPDATE_REG
TIMG_T0ALARMLO_REG TIMG_T0ALARMHI_REG TIMG_T0LOADLO_REG TIMG_T0LOADHI_REG TIMG_T0LOAD_REG
 1  TIMG_T1CONFIG_REG TIMG_T1LO_REG TIMG_T1HI_REG TIMG_T1UPDATE_REG
TIMG_T1ALARMLO_REG TIMG_T1ALARMHI_REG TIMG_T1LOADLO_REG TIMG_T1LOADHI_REG TIMG_T1LOAD_REG
 TIMG_WDTCONFIG0_REG TIMG_WDTCONFIG1_REG TIMG_WDTCONFIG2_REG TIMG_WDTCONFIG3_REG TIMG_WDTCONFIG4_REG

Description

Address Access

 0 

 0  32 

 0  32 



TIMG_T0LO_REG  TIMG_T0HI_REG

 0  32 

 0 

 0  32 

 0  32 



TIMG_T0LOADLO_REG



TIMG_T0LOADHI_REG 

0x0000 0x0004 0x0008 0x000C
0x0010 0x0014 0x0018 0x001C 0x0020

/   /
/ / / / 

 1 

 1  32 

 1  32 

 TIMG_T1LO_REG

 TIMG_T1HI_REG

 1  32 

 1 

 1  32 

 1  32 



TIMG_T1LOADLO_REG



TIMG_T1LOADHI_REG 

0x0024 0x0028 0x002C 0x0030
0x0034 0x0038 0x003C 0x0040 0x0044

/   /
/ / / / 

   0   1   2 

0x0048 0x004C 0x0050 0x0054 0x0058

/ / / / /



331 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)
Name TIMG_WDTCONFIG5_REG TIMG_WDTFEED_REG TIMG_WDTWPROTECT_REG RTC CALI  TIMG_RTCCALICFG_REG TIMG_RTCCALICFG1_REG TIMG_RTCCALICFG2_REG LACT  TIMG_LACTCONFIG_REG TIMG_LACTRTC_REG TIMG_LACTLO_REG TIMG_LACTHI_REG TIMG_LACTUPDATE_REG TIMG_LACTALARMLO_REG TIMG_LACTALARMHI_REG TIMG_LACTLOADLO_REG TIMG_LACTLOADHI_REG TIMG_LACTLOAD_REG  TIMG_INT_ENA_TIMERS_REG TIMG_INT_RAW_TIMERS_REG TIMG_INT_ST_TIMERS_REG TIMG_INT_CLR_TIMERS_REG  TIMG_TIMERS_DATE_REG  TIMG_REGCLK_REG

Description  3   
RTC  RTC  1 
LACT  LACT RTC  LACT  LACT  LACT  LACT  LACT  LACT   LACT   LACT 
   



GoBack

Address 0x005C 0x0060 0x0064

Access /  /

0x0068 0x006C 0x00A8

varies  varies

0x0070 0x0074 0x0078 0x007C 0x0080 0x0084 0x0088 0x008C 0x0090 0x0094

/ /    / / / / 

0x0098 0x009C 0x00A0 0x00A4

/   

0x00F8 /

0x00FC /



332 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)
11.6 

GoBack

Register 11.1. TIMG_TxCONFIG_REG (x: 0-1) (0x0000+0x24*x)

TIMG_TTIMx_GE_TNTIMx_GIN_TCxR_EAAUSTEORELOAD
31 30 29 28
01 1

TIMG_Tx_DIVIDER 0x01

TIMG_TTIMx_GE_TDTIGMx_EGL__TEITNIVMxTE_G_LAE__LTNIANxR_TMU_ES_NEE_NXTAL

(reserved)

13 12 11 10 9 8

0

0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TIMG_Tx_USE_XTAL 1 XTAL_CLK b0 APB_CLK  b(/)
TIMG_Tx_ALARM_EN  1 bb(/) TIMG_Tx_LEVEL_INT_EN  1 b(/) TIMG_Tx_EDGE_INT_EN  1 b(/) TIMG_Tx_DIVIDER  x  (Tx_clk) b(/) TIMG_Tx_AUTORELOAD  1  x b(/) TIMG_Tx_INCREASE  1  x b x
b(/) TIMG_Tx_EN  1  x b(/)

Register 11.2. TIMG_TxLO_REG (x: 0-1) (0x0004+0x24*x)

TIMG_Tx_LO

31

0

0x000000

Reset

TIMG_Tx_LO  TIMG_TxUPDATE_REG  x  32 b()



333 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

Register 11.3. TIMG_TxHI_REG (x: 0-1) (0x0008+0x24*x)

TIMG_Tx_HI

31

0

0x000000

Reset

TIMG_Tx_HI  TIMG_TxUPDATE_REG  x  32 b()

Register 11.4. TIMG_TxUPDATE_REG (x: 0-1) (0x000C+0x24*x)

TIMG_Tx_UPDATE

(reserved)

31 30

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TIMG_Tx_UPDATE  TIMG_TxUPDATE_REG  0  1b(/)

Register 11.5. TIMG_TxALARMLO_REG (x: 0-1) (0x0010+0x24*x)
TIMG_Tx_ALARM_LO
31
0x000000
TIMG_Tx_ALARM_LO  x  32 b(/)

0
Reset

Register 11.6. TIMG_TxALARMHI_REG (x: 0-1) (0x0014+0x24*x)
TIMG_Tx_ALARM_HI
31
0x000000
TIMG_Tx_ALARM_HI  x  32 b(/)

0
Reset



334 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)
Register 11.7. TIMG_TxLOADLO_REG (x: 0-1) (0x0018+0x24*x)
TIMG_Tx_LOAD_LO
31
0x000000
TIMG_Tx_LOAD_LO  x  32 b(/)
Register 11.8. TIMG_TxLOADHI_REG (x: 0-1) (0x001C+0x24*x)
TIMG_Tx_LOAD_HI
31
0x000000
TIMG_Tx_LOAD_HI  x  32 b(/)
Register 11.9. TIMG_TxLOAD_REG (x: 0-1) (0x0020+0x24*x)
TIMG_Tx_LOAD
31
0x000000
TIMG_Tx_LOAD  x b()

GoBack
0
Reset
0
Reset
0
Reset



335 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

Register 11.10. TIMG_WDTCONFIG0_REG (0x0048)

TIMG_WTDITM_GE_NWDT_TISMTGG_0WDT_TISMTGG1_WDT_TISMTGG_2WTDITM_GS_TTWGIM3DGT__WEDDGT_TEI_LMEINGVTE__LWE_DNINT_TC_EPNUT_IRMEGS_EWT_DLTE_TNISMGYTGSH__TWRIMEDSGTE__TTWIFM_LDLGATES__NWHPGBRDTOOTHO_CTAP_PUMP_CROPEDUS__EETRN_EESNET_EN

(reserved)

31 30 29 28 27 26 25 24 23 22 21 20

18 17

15 14 13 12 11

0

00

0

0

0 00

0x1

0x1

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TIMG_WDT_APPCPU_RESET_EN b(/) TIMG_WDT_PROCPU_RESET_EN WDT  CPU b(/) TIMG_WDT_FLASHBOOT_MOD_EN  1 , flash b(/) TIMG_WDT_SYS_RESET_LENGTH b0100 ns1200 ns2300 ns3
400 ns4500 ns5800 ns61.6 us73.2 usb(/) TIMG_WDT_CPU_RESET_LENGTH CPU b0100 ns1200 ns2300 ns3
400 ns4500 ns5800 ns61.6 us73.2 usb(/) TIMG_WDT_LEVEL_INT_EN  1 , b(/)

TIMG_WDT_EDGE_INT_EN  1 , b(/)

TIMG_WDT_STG3  3 b012 CPU3b(/) TIMG_WDT_STG2  2 b012 CPU3b(/) TIMG_WDT_STG1  1 b012 CPU3b(/) TIMG_WDT_STG0  0 b012 CPU3b(/) TIMG_WDT_EN  1 MWDT b(/)



336 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

Register 11.11. TIMG_WDTCONFIG1_REG (0x004C)

TIMG_WDT_CLK_PRESCALER

(reserved)

31

16 15

0

0x01

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TIMG_WDT_CLK_PRESCALER MWDT bMWDT  = MWDT  * TIMG_WDT_CLK_PRESCALEb(/)

Register 11.12. TIMG_WDTCONFIG2_REG (0x0050)
TIMG_WDT_STG0_HOLD
31
0x18cba80
TIMG_WDT_STG0_HOLD MWDT  0 b(/)

0
Reset

Register 11.13. TIMG_WDTCONFIG3_REG (0x0054)
TIMG_WDT_STG1_HOLD
31
0x7ffffff
TIMG_WDT_STG1_HOLD MWDT  1 b(/)

0
Reset



337 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)
Register 11.14. TIMG_WDTCONFIG4_REG (0x0058)
TIMG_WDT_STG2_HOLD
31
0x0fffff
TIMG_WDT_STG2_HOLD MWDT  2 b(/)
Register 11.15. TIMG_WDTCONFIG5_REG (0x005C)
TIMG_WDT_STG3_HOLD
31
0x0fffff
TIMG_WDT_STG3_HOLD MWDT  3 b(/)
Register 11.16. TIMG_WDTFEED_REG (0x0060)
TIMG_WDT_FEED
31
0x000000
TIMG_WDT_FEED  MWDTb()
Register 11.17. TIMG_WDTWPROTECT_REG (0x0064)
TIMG_WDT_WKEY
31
0x50d83aa1
TIMG_WDT_WKEY b(/)

GoBack
0
Reset
0
Reset
0
Reset
0
Reset



338 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

TIMG_RTC_CALI_START
31 30
0

Register 11.18. TIMG_RTCCALICFG_REG (0x0068)

TIMG_RTC_CALI_MAX 0x01

TIMG_RTTCIM_CGA_LRIT_TCRIM_DCGYA_LRIT_CC_LCKA_LSIE_LSTART_CYCLING (reserved)

16 15 14 13 12 11

0

0 0x1 1 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TIMG_RTC_CALI_START_CYCLING b(/) TIMG_RTC_CALI_CLK_SEL       b0RTC_CLKb1RTC20M_D256_CLKb2
XTAL32K_CLKb(/) TIMG_RTC_CALI_RDY b() TIMG_RTC_CALI_MAX b(/) TIMG_RTC_CALI_START b(/)

Register 11.19. TIMG_RTCCALICFG1_REG (0x006C)

TIMG_RTC_CALI_VALUE

(reserved)

TIMG_RTC_CALI_CYCLING_DATA_VLD

31

76

10

0x00000

0 0 0 0 0 0 0 Reset

TIMG_RTC_CALI_CYCLING_DATA_VLD b()
TIMG_RTC_CALI_VALUE  TIMG_RTC_CALI_MAX  XTAL_CLK b()



339 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

Register 11.20. TIMG_RTCCALICFG2_REG (0x00A8)

TIMG_RTC_CALI_TIMEOUT_THRES

TIMG_RTC_CALI_(rTeIsMeErvOeUdTTI)M_RGS_TR_TCCN_TCALI_TIMEOUT

31

76

32

10

0x1ffffff

0x3

0 0 0 Reset

TIMG_RTC_CALI_TIMEOUT RTC b()
TIMG_RTC_CALI_TIMEOUT_RST_CNT b(/)
TIMG_RTC_CALI_TIMEOUT_THRES RTC b b(/)

TIMG_TLIMACGT_T_LIMEANCGT__LIANCCTR_EAAUSTEORELOAD
31 30 29 28
01 1

Register 11.21. TIMG_LACTCONFIG_REG (0x0070)

TIMG_LACT_DIVIDER 0x01

TIMG_TLIMACGT_T_LIMEADCGGT_T_ELIML_AEICGNVT_TTE_LI_LMAAE_LCGNIANT_TR_TLIMM_LAAECG_CNTE_T__NLIMECANPCGST_T_L_RAETCNCT__OUNSELY_R(EreFsTeICrvKed)

13 12 11 10 9 8 7 6 5

0

0 0 0 1 1 0 0 0 0 0 0 0 0 Reset

TIMG_LACT_USE_REFTICK b(/) TIMG_LACT_RTC_ONLY b(/) TIMG_LACT_CPST_EN b(/) TIMG_LACT_LAC_EN b(/) TIMG_LACT_ALARM_EN b(/) TIMG_LACT_LEVEL_INT_EN b(/) TIMG_LACT_EDGE_INT_EN b(/) TIMG_LACT_DIVIDER b(/) TIMG_LACT_AUTORELOAD b(/) TIMG_LACT_INCREASE b(/) TIMG_LACT_EN b(/)



340 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

Register 11.22. TIMG_LACTRTC_REG (0x0074)

TIMG_LACT_RTC_STEP_LEN

(reserved)

31

65

0

0x00000

0 0 0 0 0 0 Reset

TIMG_LACT_RTC_STEP_LEN b(/)

Register 11.23. TIMG_LACTLO_REG (0x0078)
TIMG_LACT_LO
31
0x000000
TIMG_LACT_LO b()

0
Reset

Register 11.24. TIMG_LACTHI_REG (0x007C)
TIMG_LACT_HI
31
0x000000
TIMG_LACT_HI b()

0
Reset

Register 11.25. TIMG_LACTUPDATE_REG (0x0080)
TIMG_LACT_UPDATE
31
0x000000
TIMG_LACT_UPDATE b()

0
Reset



341 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)
Register 11.26. TIMG_LACTALARMLO_REG (0x0084)
TIMG_LACT_ALARM_LO
31
0x000000
TIMG_LACT_ALARM_LO b(/)

GoBack
0
Reset

Register 11.27. TIMG_LACTALARMHI_REG (0x0088)
TIMG_LACT_ALARM_HI
31
0x000000
TIMG_LACT_ALARM_HI b(/)

0
Reset

Register 11.28. TIMG_LACTLOADLO_REG (0x008C)
TIMG_LACT_LOAD_LO
31
0x000000
TIMG_LACT_LOAD_LO b(/)

0
Reset

Register 11.29. TIMG_LACTLOADHI_REG (0x0090)
TIMG_LACT_LOAD_HI
31
0x000000
TIMG_LACT_LOAD_HI b(/)

0
Reset



342 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)
Register 11.30. TIMG_LACTLOAD_REG (0x0094)
TIMG_LACT_LOAD
31
0x000000
TIMG_LACT_LOAD b()

GoBack
0
Reset

Register 11.31. TIMG_INT_ENA_TIMERS_REG (0x0098)

(reserved)

TIMG_TLIMACGT_T_WIMINDGTT__T_TIIEMN1N_TGAI_N_ETTN0_AE_NINAT_ENA

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TIMG_Tx_INT_ENA TIMG_Tx_INT b(/) TIMG_WDT_INT_ENA TIMG_WDT_INT b(/) TIMG_LACT_INT_ENA TIMG_LACT_INT b(/)

Register 11.32. TIMG_INT_RAW_TIMERS_REG (0x009C)

(reserved)

TIMG_TLIMACGT_T_WIMINDGTT__T_TIIRMN1A_TGWI_N_RTTA0_WR_AINWT_RAW

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TIMG_Tx_INT_RAW TIMG_Tx_INT b() TIMG_WDT_INT_RAW TIMG_WDT_INT b() TIMG_LACT_INT_RAW TIMG_LACT_INT b()



343 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

Register 11.33. TIMG_INT_ST_TIMERS_REG (0x00A0)

(reserved)

TIMG_TLIMACGT_T_WIMINDGTT__T_TIISMN1T_TGI_N_STTT0_S_TINT_ST

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TIMG_Tx_INT_ST TIMG_Tx_INT b() TIMG_WDT_INT_ST TIMG_WDT_INT b() TIMG_LACT_INT_ST TIMG_LACT_INT b()

Register 11.34. TIMG_INT_CLR_TIMERS_REG (0x00A4)

(reserved)

TIMG_TLIMACGT_T_WIMINDGTT__T_TICIMN1L_TGRI_N_CTTL0_RC_LINRT_CLR

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TIMG_Tx_INT_CLR  TIMG_Tx_INT b() TIMG_WDT_INT_CLR  TIMG_WDT_INT b() TIMG_LACT_INT_CLR  TIMG_LACT_INT b()

(reserved)

31

28 27

0000

Register 11.35. TIMG_TIMERS_DATE_REG (0x00F8)
TIMG_TIMERS_DATE 0x1907261

TIMG_TIMERS_DATE b(/)

0
Reset



344 

ESP32-S2 TRM ( 1.3)

 11   (TIMG)

GoBack

Register 11.36. TIMG_REGCLK_REG (0x00FC)

TIMG_CLK_EN
31 30

(reserved)
0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TIMG_CLK_EN b1a 0a b(/)



345 

ESP32-S2 TRM ( 1.3)

 12   (WDT)

GoBack

 12   (WDT)

12.1 
bcb/ cb a/b ESP32-S2 c MWDTRTC c RTC  RWDTbc  RWDT  baCPU ab RWDT  RTC b b  flash RWDT  MWDT b  11  (TIMG)b
12.2 
 · ba · c MWDT  RWDTcaCPU  a · 32  ·  RWDT  MWDT  · Flash   SPI flash 
12.3 
12.3.1  32 
 32 bAPB  16  MWDT  b RWDT  RTC c 32 kHzbMWDT  16   TIMG_WDTCONFIG1_REG  TIMG_WDT_CLK_PRESCALER b



346 

ESP32-S2 TRM ( 1.3)

 12   (WDT)

GoBack

MWDT  RWDT  TIMG_WDT_EN  RTC_CNTL_WDT_EN b  32  1cb  0b  0 0b TIMG_WDTFEED_REG  RTC_CNTL_RTC_WDT_FEED  MDWT  RWDT b

12.3.2 
b  0bMWDT  RWDT c 0  3b c 0  3 0bMWDT  TIMG_WDTCONFIGi_REG ci  2  5RWDT  RTC_CNTL_WDT_STGj_HOLDcj  0  3 bRWDT  0  (Thold)  eFuse  EFUSE_WDT_DELAY_SEL   RTC_CNTL_WDT_STG0_HOLD 
Thold = RTC_CNTL_WDT_STG0_HOLD « cEFUSE_WDT_DELAY_SEL + 1

·  b
· CPU   CPU b
·   MWDT bRTC b
·   RTC b RWDT b
·  b
MWDT  TIMG_WDTCONFIG0_REG bRWDT  RTC_CNTL_WDTCONFIG0_REG b

12.3.3 
/c bMWDT  RWDT b
cMWDT  TIMG_WDT_WKEYRWDT   RTC_CNTL_WDT_WKEYb 0x50D83AA1 b 0x50D83AA1c b
1.  0x50D83AA1 b
2. b
3.  0x50D83AA1 b



347 

ESP32-S2 TRM ( 1.3)

 12   (WDT)

GoBack

12.3.4 Flash 
 flash  0cTIMG0 MWDT  RWDT bMWDT  0  cbRWDT  0 c RTCb  TIMG_WDT_FLASHBOOT_MOD_EN  RTC_CNTL_WDT_FLASHBOOT_MOD_EN  MWDT  RWDT  flash b MWDT  RWDTb

12.4 
 (SWD) bSWD   100 ms  WD_INTR  b  SWD SWD  SWD_RSTB b
12.4.1 
SWD  ·  ·  SWD ·  SWD SWD 
12.4.2 SWD 
12.4.2.1 



 12.4-1. 
348 

ESP32-S2 TRM ( 1.3)

 12   (WDT)

GoBack

12.4.2.2 
 · SWD  SWD b · SWD  CPU  ULP-RISC-V b ·  CPU  RTC_CNTL_SWD_FEED  ULP-RISC-V  b · CPU  RTC_CNTL_SWD_WKEY  0x8F1D312A  SWD b  SWDb ·  RTC_CNTL_SWD_AUTO_FEED_EN  1SWD  CPU  ULP-RISC-V   SWDb
 ·  RTC_CNTL_RESET_CAUSE_PROCPU[5:0]  CPU b  RTC_CNTL_RESET_CAUSE_PROCPU[5:0] == 0x12 SWD b ·  RTC_CNTL_SWD_RST_FLAG_CLR  SWD b

12.5 
MWDT  11  (TIMG)  bRWDT  SWD  RTC  9   RTC b



349 

ESP32-S2 TRM ( 1.3)

 13  XTAL32K  (XTWDT)

GoBack

 13 
XTAL32K  (XTWDT)
13.1 
ESP32-S2  XTAL32K  XTAL32K_CLK  XTAL32K_CLK   RTC b XTAL32K_CLK  RTC  XTAL32K_CLK  XTAL32K  RTC  RC_SLOW_CLK  ( Deep-sleep  CPU) XTAL32K_CLKb

 13.1-1. XTAL32K 
13.2 
13.2.1 XTAL32K 
XTAL32K  XTAL32K_CLK  CPU  CPUb
13.2.2 BACKUP32K_CLK
XTAL32K  XTAL32K_CLK  RC_SLOW_CLK  BACKUP32K_CLK ( 32KHz )  XTAL32K_CLK  RTC b



350 

ESP32-S2 TRM ( 1.3)

 13  XTAL32K  (XTWDT)

GoBack

13.3 
13.3.1 
1. RTC_CNTL_XTAL32K_WDT_ENXTAL32K  XTAL_32K  RTC_CNTL_XTAL32K_WDT_TIMEOUT /b
2. XTAL32K  BACKUP32K_CLK RTC   RTC  ( RTC_TIMER ) b 13.3.2 BACKUP32K_CLK b
3.  RTC_CNTL_XPD_XTAL_32K  XTAL32K_CLK  XPD  XTAL32K_CLK  RTC_CNTL_XTAL32K_WDT_EN  0  RTC  BACKUP32K_CLK  XTAL32K_CLKb Deep-sleep  XTAL32K  CPUb
13.3.2 BACKUP32K_CLK 
 RC_SLOW_CLK  BACKUP32K_CLK RTC_TIMER  RTC  RC_SLOW_CLKc9   BACKUP32K_CLK b
 RC_SLOW_CLK  f_rc_slow_clk ckHz8  x0x1x2x3x4x5x6  x7b S = x0 + x1 + x2 + x3 + x4 + x5 + x6 + x7b 

S = f _rc_slow_clk × (4/32) M + 1  xn  M (0  n  7)
M = f _rc_slow_clk/32/2
xn bM  S b x0 ~x7  4  RTC_CNTL_XTAL32K_CLK_FACTOR  32 b RC_SLOW_CLK  163 kHz f _rc_slow_clk = 163S = 20, M = 2 {x0, x1, x2, x3, x4, x5, x6, x7} = {2, 3, 2, 3, 2, 3, 2, 3}BACKUP32K_CLK  32.6 kHzb



351 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

 14   (PMS)

14.1 
ESP32-S2 ab b

14.2 
·  ­ SRAM  ­ RTC FAST SRAM  ­ RTC SLOW SRAM 
·  MMU 

14.3 

14.3.1 
ROMSRAMRTC FASTRTC SLOWb
· ROM  128 KB 64 KB b
· SRAM  320 KB 4  8 KB  18  16 KB  Block 0 ~ 21 Block   14.3-1  14.3.1.1a14.3.1.2a14.3.1.3b 4  8 KB  Block 0 ~ 3 16 KB  Block 4 ~ 21  ca  Block 4 ~ 5 b
· RTC FAST Memory ab
· RTC SLOW Memory ab
 ESP32-S2 b

 14.3-1. SRAM Block 

SRAM Block Block 0 Block 1

 0x0000 0x2000

 0x1FFF 0x3FFF



352 

ESP32-S2 TRM ( 1.3)

 14   (PMS)
SRAM Block Block 2 Block 3 Block 4 Block 5 Block 6 Block 7 Block 8 Block 9 Block 10 Block 11 Block 12 Block 13 Block 14 Block 15 Block 16 Block 17 Block 18 Block 19 Block 20 Block 21

 0x4000 0x6000 0x8000 0xC000 0x10000 0x14000 0x18000
0x1C000 0x20000 0x24000 0x28000 0x2C000 0x30000 0x34000 0x38000 0x3C000 0x40000 0x44000 0x48000 0x4C000

 0x5FFF 0x7FFF 0xBFFF 0xFFFF 0x13FFF 0x17FFF 0x1BFFF 0x1FFFF
0x23FFF 0x27FFF 0x2BFFF 0x2FFFF 0x33FFF 0x37FFF 0x3BFFF 0x3FFFF 0x43FFF 0x47FFF 0x4BFFF 0x4FFFF

GoBack

14.3.1.1 IBUS 
 IBUS  0x4002_0000 ~ 0x4007_1FFF SRAM  aRTC FAST Memorybb
 IBUS  PMS_PRO_IRAM0_LOCK  1 b PMS_PRO_IRAM0_LOCK  1 b CPU PMS_PRO_IRAM0_LOCK  0b

SRAM 

CPU  IBUS  SRAM  R/W/Xc// 0x4002_0000b  IBUS  SRAM  Block b 14.3-2  b
 14.3-2. IBUS  SRAM 

 PMS_PRO_IRAM0_1_REG
PMS_PRO_IRAM0_2_REG

 [11:9] [8:6] [5:3] [2:0]
[22:20]

  IBUS  SRAM Block 3 c W/R/X  IBUS  SRAM Block 2 c W/R/X  IBUS  SRAM Block 1 c W/R/X  IBUS  SRAM Block 0 c W/R/ X  IBUS  SRAM Block 4 ~ 21 c  W/R/X



353 

ESP32-S2 TRM ( 1.3)

 14   (PMS) 

GoBack

 [19:17] [16:0]*

  IBUS  SRAM Block 4 ~ 21 c  W/R/X  IBUS  SRAM Block 4 ~ 21   0x4000_0000bb

 *  32  +  ×4b 0x10000  PMS_PRO_IRAM0_2_REG [16:0] IBUS  SRAM Block 4 ~ 21  0x4004_0000b IBUS  DBUS0   SRAM Block 0 ~ 5 b

 CPU  IBUS  SRAM  IBUS   SRAM Block5  CPU  IBUS  Block  b
 CPU b
· 
· b
 IBUS  SRAM  bb bb

RTC FAST Memory

CPU  IBUS  RTC FAST Memory  R/W/X b RTC FAST  ab 14.3-3 b
 14.3-3. IBUS  RTC FAST 

 PMS_PRO_IRAM0_3_REG

 [16:14] [13:11] [10:0]

  IBUS  RTC FAST c W/ R/X  IBUS  RTC FAST c W/ R/X  IBUS  RTC FAST  0x4007_0000bb

 CPU  IBUS  RTC FAST  b IBUS  RTC FAST SRAM  bb bb

14.3.1.2 DBUS0 
CPU  DBUS0 0x3FFB_0000 ~ 0x3FFF_FFFF  0x3FF9_E000 ~ 0x3FF9_FFFF SRAM aRTC FAST Memoryb



354 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

b
 DBUS0  PMS_PRO_DRAM0_LOCK   1 b PMS_PRO_DRAM0_LOCK   1b CPU PMS_PRO_DRAM0_LOCK  0b

SRAM 

CPU  DBUS0  SRAM  R/W  0x3FFB_0000b  DBUS0  SRAM  Block b 14.3-4  b
 14.3-4. DBUS0  SRAM 

 PMS_PRO_DRAM0_1_REG

 [28:27]
[26:25]
[24:8]
[7:6] [5:4] [3:2] [1:0]

  DBUS0  SRAM Block 4 ~ 21 c  W/R  DBUS0  SRAM Block 4 ~ 21 c  W/R  DBUS0  SRAM Block 4 ~ 21   0x3FFB_0000b 14.3.1.1 b  DBUS0  SRAM Block3 c W/R  DBUS0  SRAM Block2 c W/R  DBUS0  SRAM Block1 c W/R  DBUS0  SRAM Block0 c W/R

 CPU  DBUS0  SRAM  b DBUS0  SRAM a caab bb b

RTC FAST Memory

CPU  DBUS0  RTC FAST Memory  R/W b RTC FAST  ab 14.3-5 b
 14.3-5. DBUS0  RTC FAST 

 PMS_PRO_DRAM0_2_REG

 [14:13] [12:11]
[10:0]

  DBUS0  RTC FAST c W/R  DBUS0  RTC FAST c W/R  DBUS0  RTC FAST  0x3FF9_E000b 14.3.1.1  b



355 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

 CPU  DBUS0  RTC FAST  b DBUS0  RTC FAST SRAM  acaacaab bb b

14.3.1.3  DMA 
ESP32-S2  DMA  SRAM  3  Internal DMACopy DMA RXcCopy DMA TXc 0x3FFB_00000x3FFB_0000 ~ 0x3FFF_FFFFb  DMA  SRAM  Block b 14.3-6  XX   APBTX  RX Internal DMA, TX Copy DMA  RX Copy DMA b DMA  2 DMA  (DMA)b
 DMA  PMS_DMA_XX_I_LOCK  1  b PMS_DMA_XX_I_LOCK  1 b CPU PMS_DMA_XX_I_LOCK  0b

 14.3-6.  DMA  SRAM 

 PMS_DMA_XX_I_1_REG

 [28:27]
[26:25]
[24:8]
[7:6] [5:4] [3:2] [1:0]

  DMA  SRAM Block 4 ~ 21 c  W/R  DMA  SRAM Block 4 ~ 21 c  W/R  DMA  SRAM Block 4 ~ 21   0x3FFB_0000b 14.3.1.1  b  DMA  SRAM Block3 c W/R  DMA  SRAM Block2 c W/R  DMA  SRAM Block1 c W/R  DMA  SRAM Block0 c W/R

 DMA  SRAM b  Internal DMATX Copy DMA  RX Copy DMA  SRAM  bb bb
14.3.1.4 PeriBus1 
CPU  PeriBus1 0x3F40_0000 ~ 0x3F4F_FFFF RTC SLOW SRAMbPeriBus1  RTC SLOW /b/b
 PeriBus1  0x3F40_0000 ~ 0x3F4B_FFFF  b
 CPU  PeriBus1  FIFO b FIFO   FIFO c 14.3-7 b 4 



356 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

 PMS_PRO_DPORT_2~5_REGbPeriBus1  b 14.3-8 b

 14.3-7.  FIFO 

 ADDR_RTCSLOW ADDR_FIFO_UART0 ADDR_FIFO_UART1 ADDR_FIFO_UART2 ADDR_FIFO_I2S0 ADDR_FIFO_RMT_CH0 ADDR_FIFO_RMT_CH1 ADDR_FIFO_RMT_CH2 ADDR_FIFO_RMT_CH3 ADDR_FIFO_I2C_EXT0 ADDR_FIFO_I2C_EXT1 ADDR_FIFO_USB_0 ADDR_FIFO_USB_1_L ADDR_FIFO_USB_1_H

FIFO  0x6002_1000 0x6000_0000 0x6001_0000 0x6002_E000 0x6000_F004 0x6001_6000 0x6001_6004 0x6001_6008 0x6001_600C 0x6001_301C 0x6002_701C 0x6008_0020 0x6008_1000 0x6009_0FFF

 PeriBus1  PMS_PRO_DPORT_LOCK   1 b PMS_PRO_DPORT_LOCK   1b CPU PMS_PRO_DPORT_LOCK  0b

 14.3-8. PeriBus1 

 PMS_PRO_DPORT_1_REG

 [19:16] [15:14] [13:12]
[11:1]

[0] PMS_PRO_DPORT_2_REG [17:0] PMS_PRO_DPORT_3_REG [17:0] PMS_PRO_DPORT_4_REG [17:0] PMS_PRO_DPORT_5_REG [17:0]

  FIFO   PeriBus1  RTC SLOW c  W/R  PeriBus1  RTC SLOW c  W/R  PeriBus1  RTC SLOW   0x3F42_1000 b 14.3.1.1  b   PeriBus1          0x3F40_0000 ~ 0x3F4B_FFFF   0  PeriBus1         PMS_PRO_DPORT_RESERVE_FIFO_VALID [16]   1  PeriBus1         PMS_PRO_DPORT_RESERVE_FIFO_VALID [17]   2  PeriBus1         PMS_PRO_DPORT_RESERVE_FIFO_VALID [18]   3  PeriBus1         PMS_PRO_DPORT_RESERVE_FIFO_VALID [19] 



357 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

 PeriBus1  RTC SLOW Memory  b PeriBus1  RTC SLOW Memory  acaab bb b

14.3.1.5 PeriBus2 
 PeriBus2 0x5000_0000 ~ 0x5000_1FFF  0x6000_0000 ~ 0x600B_FFFF RTC SLOW ab
PeriBus2  RTC SLOW Memory  R/W/X bPeriBus2   RTC SLOW Memory RTCSlow_0aRTCSlow_1b CPU  b 14.3-9 b
PeriBus2 bb
 PeriBus2  PMS_PRO_AHB_LOCK   1 b PMS_PRO_AHB_LOCK  1b CPU PMS_PRO_AHB_LOCK  0b

 14.3-9. PeriBus2  RTC SLOW 

 PMS_PRO_AHB_1_REG
PMS_PRO_AHB_2_REG

 [16:14] [13:11] [10:0] [16:14] [13:11] [10:0]

  PeriBus2  RTCSlow_0 c W/R/X  PeriBus2  RTCSlow_0 c W/R/X  PeriBus2  RTCSlow_0  0x5000_0000b 14.3.1.1  b  PeriBus2  RTCSlow_1 c W/R/X  PeriBus2  RTCSlow_1 c W/R/X  PeriBus2  RTCSlow_1  0x6002_1000b 14.3.1.1  b

 CPU  PeriBus2  RTCSlow_0  RTCSlow_1  b PeriBus2  bb bb
14.3.1.6 Cache 
 SRAM Block 0 ~ 3  Icache  Dcache b Icache  Dcache   16 KB 2  BlockbIcache  Dcache   8 KB "_H"  "_L" b



358 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

 PMS_PRO_CACHE_1_REG  SRAM Block 0 ~ 3  Icache_H, Icache_L, Dcache_H  Dcache_L b FIELD  PMS_PRO_CACHE_1_REG  PMS_PRO_CACHE_CONNECTb
 14.3-10. PMS_PRO_CACHE_1_REG 

SRAM Block 0-3 Block 0 Block 1 Block 2 Block 3

Dcache_H FIELD[3] FIELD[7] FIELD[11] FIELD[15]

Dcache_L FIELD[2] FIELD[6] FIELD[10] FIELD[14]

Icache_H FIELD[1] FIELD[5] FIELD[9] FIELD[13]

Icache_L FIELD[0] FIELD[4] FIELD[8] FIELD[12]


·  Block  Dcache_HaDcache_LaIcache_HaIcache_L   1b
·  Dcache_HaDcache_LaIcache_HaIcache_L  Block  1b
·  cache  CPU  cache  CPU b
14.3.1.7 
 ESP32-S2  Trace memory  CPU ab PMS_PRO_TRACE_1  Trace memory b PMS_PRO_TRACE_LOCK   1 b PMS_PRO_TRACE_LOCK   1b CPU PMS_PRO_TRACE_LOCK  0b  Trace memory  PMS_OCCUPY_3  SRAM Block 4 ~ 21  Block  Trace memory c Block  CPU b PMS_OCCUPY_LOCK b 1 b PMS_OCCUPY_LOCK  1b CPU PMS_OCCUPY_LOCK   0b  SRAM Block  Trace Memory CPU  IBUS, DBUS  DMA  Blockb
14.3.2 
CPU  SPI1aEDMA  cache  flash  SRAMbSPI1  EDMA cache  b
14.3.2.1 Cache MMU
Cache MMU  cache  EDMA b cache  EDMA  MMUb cache cache  MMU b EDMA  SRAM EDMA  MMU   SRAM b



359 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

MMU 
SRAM
Flash Invalid Page number


[16]
[15] [14] [13:0]

GoBack
 14.3-11. MMU 
 ,  cache/ EDMA  flash  SRAMb 15  1 flash 16  1  SRAMb 15a16  1b
 MMU 0 b op 64 KBb  cache/EDMA b

 cache  EDMA  MMU  MMU  MMU  b
14.3.2.2 
 (flash + SRAM)  64 KB  8 (4+4) b W/R/X  bb
8  8 flash  SRAM  4 b 3 :
1. : SYSCON_X_ACE_n_ATTR_REG  3  W/R/F
2. : SYSCON_X_ACE_n_ADDR_REG
3. : SYSCON_X_ACE_n_SIZE_REG 64 KB b
oXp flash  SRAMonp 0 ~ 3b flash  4   1 GB  SRAM  4  1 GBb
CPU  CPU b  CPU b b
Cache acache  cache  cache  W/R/X b  cache b  cache b cache  R/F  cache cache b b
CPU  cache  CPU  CPU   CPU b b
b b

14.3.3 
ESP32-S2 bPeriBus1  PeriBus2  b IN EX  b



360 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

 14.3-12. 

 PeriBus2 
PeriBus1  0x3F40_0000 - 0x3F4B_FFFF
PeriBus1  0x3F4C_0000 - 0x3F4F_FFFF

 0xXXXX_XXX0 0xXXXX_XXX1 0xXXXX_XXX2 0xXXXX_XXX0 0xXXXX_XXX1 0xXXXX_XXX2 0xXXXX_XXX0 0xXXXX_XXX1 0xXXXX_XXX2

                  
        

 IN IN 
IN  
IN IN 
IN IN 
IN EX EX IN IN EX   
IN EX EX IN IN EX

 IN IN 
IN IN IN IN IN IN IN IN 
IN EX EX IN IN EX   
IN EX EX IN IN EX

14.4 

 14.4-1 b 3 b  14.4-1. 

 PeriBUS1

 0x3F4C1000

14.5 
cb 14.4  b



361 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

  PMS_PRO_IRAM0_0_REG PMS_PRO_DRAM0_0_REG PMS_PRO_DPORT_0_REG PMS_PRO_AHB_0_REG PMS_PRO_TRACE_0_REG PMS_PRO_CACHE_0_REG PMS_DMA_APB_I_0_REG PMS_DMA_RX_I_0_REG PMS_DMA_TX_I_0_REG PMS_CACHE_SOURCE_0_REG PMS_APB_PERIPHERAL_0_REG PMS_OCCUPY_0_REG PMS_CACHE_TAG_ACCESS_0_REG PMS_CACHE_MMU_ACCESS_0_REG PMS_CLOCK_GATE_REG_REG  PMS_PRO_IRAM0_1_REG PMS_PRO_IRAM0_2_REG PMS_PRO_IRAM0_3_REG PMS_PRO_DRAM0_1_REG PMS_PRO_DRAM0_2_REG PMS_PRO_DPORT_1_REG PMS_PRO_DPORT_2_REG PMS_PRO_DPORT_3_REG PMS_PRO_DPORT_4_REG PMS_PRO_DPORT_5_REG PMS_PRO_AHB_1_REG PMS_PRO_AHB_2_REG PMS_PRO_TRACE_1_REG PMS_PRO_CACHE_1_REG PMS_DMA_APB_I_1_REG PMS_DMA_RX_I_1_REG PMS_DMA_TX_I_1_REG PMS_APB_PERIPHERAL_1_REG PMS_OCCUPY_1_REG PMS_OCCUPY_3_REG PMS_CACHE_TAG_ACCESS_1_REG PMS_CACHE_MMU_ACCESS_1_REG  PMS_PRO_IRAM0_4_REG PMS_PRO_IRAM0_5_REG PMS_PRO_DRAM0_3_REG


IBUS  0 DBUS  0 PeriBus1  0 PeriBus2  0 Trace memory  0 Cache  0  DMA  0 RX Copy DMA  0 TX Copy DMA  0 Cache  0  0  0 Cache  0 Cache MMU  0 
IBUS  1 IBUS  2 IBUS  3 DBUS  1 DBUS  2 PeriBus1  1 PeriBus1  2 PeriBus1  3 PeriBus1  4 PeriBus1  5 PeriBus2  1 PeriBus2  2 Trace memory  1 Cache  1  DMA  1 RX Copy DMA  1 TX Copy DMA  1  1  1  3 Cache  1 Cache MMU  1
IBUS  4 IBUS  DBUS  3

GoBack





0x0010 0x0028 0x003C 0x005C 0x0070 0x0078 0x008C 0x009C 0x00AC 0x00C4 0x00CC 0x00D4 0x00E4 0x00EC 0x0104

/ / / / / / / / / / / / / / /

0x0014 0x0018 0x001C 0x002C 0x0030 0x0040 0x0044 0x0048 0x004C 0x0050 0x0060 0x0064 0x0074 0x007C 0x0090 0x00A0 0x00B0 0x00D0 0x00D8 0x00E0 0x00E8 0x00F0

/ / / / / / / / / / / / / / / / / / / / / /

0x0020 0x0024 0x0034

  



362 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

 PMS_PRO_DRAM0_4_REG PMS_PRO_DPORT_6_REG PMS_PRO_DPORT_7_REG PMS_PRO_AHB_3_REG PMS_PRO_AHB_4_REG PMS_PRO_CACHE_2_REG PMS_PRO_CACHE_3_REG PMS_PRO_CACHE_4_REG PMS_DMA_APB_I_2_REG PMS_DMA_APB_I_3_REG PMS_DMA_RX_I_2_REG PMS_DMA_RX_I_3_REG PMS_DMA_TX_I_2_REG PMS_DMA_TX_I_3_REG PMS_APB_PERIPHERAL_INTR_REG PMS_APB_PERIPHERAL_STATUS_REG PMS_CPU_PERIPHERAL_INTR_REG PMS_CPU_PERIPHERAL_STATUS_REG  PMS_DATE

 DBUS  PeriBus1  6 PeriBus1  PeriBus2  3 PeriBus2  Cache  2 Icache  Dcache   DMA  2  DMA  RX Copy DMA  2 RX Copy DMA  TX Copy DMA  2 TX Copy DMA  PeriBus2  PeriBus2  PeriBus1  PeriBus1 
b

GoBack

 0x0038 0x0054 0x0058 0x0068 0x006C 0x0080 0x0084 0x0088 0x0094 0x0098 0x00A4 0x00A8 0x00B4 0x00B8 0x00F4 0x00F8 0x00FC 0x0100

                  

0x0FFC /

14.6 

Register 14.1. PMS_PRO_IRAM0_0_REG (0x0010)

(reserved)

PMS_PRO_IRAM0_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_IRAM0_LOCK b 1  IBUS bc/



363 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.2. PMS_PRO_DRAM0_0_REG (0x0028)

(reserved)

PMS_PRO_DRAM0_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_DRAM0_LOCK b 1  DBUS0 bc/

Register 14.3. PMS_PRO_DPORT_0_REG (0x003C)

(reserved)

PMS_PRO_DPORT_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_DPORT_LOCK b 1  PeriBus1 bc/

Register 14.4. PMS_PRO_AHB_0_REG (0x005C)

(reserved)

PMS_PRO_AHB_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_AHB_LOCK b 1  PeriBus2 bc/



364 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.5. PMS_PRO_TRACE_0_REG (0x0070)

(reserved)

PMS_PRO_TRACE_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_TRACE_LOCK b 1  Trace memory cb/

Register 14.6. PMS_PRO_CACHE_0_REG (0x0078)

(reserved)

PMS_PRO_CACHE_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_CACHE_LOCK b 1  cache bc/

Register 14.7. PMS_DMA_APB_I_0_REG (0x008C)

(reserved)

PMS_DMA_APB_I_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_DMA_APB_I_LOCK b 1  DMA bc/



365 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.8. PMS_DMA_RX_I_0_REG (0x009C)

(reserved)

PMS_DMA_RX_I_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_DMA_RX_I_LOCK b 1  RX Copy DMA bc/

Register 14.9. PMS_DMA_TX_I_0_REG (0x00AC)

(reserved)

PMS_DMA_TX_I_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_DMA_TX_I_LOCK b 1  TX Copy DMA bc/

Register 14.10. PMS_CACHE_SOURCE_0_REG (0x00C4)

(reserved)

PMS_CACHE_SOURCE_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_CACHE_SOURCE_LOCK b 1  cache bc/



366 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.11. PMS_APB_PERIPHERAL_0_REG (0x00CC)

(reserved)

PMS_APB_PERIPHERAL_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_APB_PERIPHERAL_LOCK b 1  TX Copy DMA  bc/

Register 14.12. PMS_OCCUPY_0_REG (0x00D4)

(reserved)

PMS_OCCUPY_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_OCCUPY_LOCK b 1 bc/

Register 14.13. PMS_CACHE_TAG_ACCESS_0_REG (0x00E4)

(reserved)

PMS_CACHE_TAG_ACCESS_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_CACHE_TAG_ACCESS_LOCK b 1  cache  bc/



367 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.14. PMS_CACHE_MMU_ACCESS_0_REG (0x00EC)

(reserved)

PMS_CACHE_MMU_ACCESS_LOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_CACHE_MMU_ACCESS_LOCK b 1  cache MMU  bc/

Register 14.15. PMS_CLOCK_GATE_REG_REG (0x0104)

(reserved)

PMS_CLK_EN

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

PMS_CLK_EN bc/



368 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.16. PMS_PRO_IRAM0_1_REG (0x0014)

(reserved)

PMS_PPMROS__PPIRMRAOSM__P0PIRM_RASOSMR__PA0PIRMM_RASOS_MR__3PA0PI_RMM_WRASOS_MR__3PA0PI_RMM_RRASOS_MR__3PA0PI_RMM_RFASOS_MR__2PA0PI_RMM_RWASOS_MR__2PA0PI_RMM_RRASOS_MR__2PA0PI_RMM_RFASOS_MR_1_P_A0PIWRMM_RASOS_MR_1__A0PIRRM_RASO_MR1__A0IRFM_AS_MR0A0_M_WS_R0A_MR_0_F

31

12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 Reset

PMS_PRO_IRAM0_SRAM_0_F  1  IBUS  SRAM Block 0 bc/

PMS_PRO_IRAM0_SRAM_0_R  1  IBUS  SRAM Block 0 bc/ PMS_PRO_IRAM0_SRAM_0_W  1  IBUS  SRAM Block 0 bc/ PMS_PRO_IRAM0_SRAM_1_F  1  IBUS  SRAM Block 1 bc/

PMS_PRO_IRAM0_SRAM_1_R  1  IBUS  SRAM Block 1 bc/ PMS_PRO_IRAM0_SRAM_1_W  1  IBUS  SRAM Block 1 bc/ PMS_PRO_IRAM0_SRAM_2_F  1  IBUS  SRAM Block 2 bc/

PMS_PRO_IRAM0_SRAM_2_R  1  IBUS  SRAM Block 2 bc/ PMS_PRO_IRAM0_SRAM_2_W  1  IBUS  SRAM Block 2 bc/ PMS_PRO_IRAM0_SRAM_3_F  1  IBUS  SRAM Block 3 bc/

PMS_PRO_IRAM0_SRAM_3_R  1  IBUS  SRAM Block 3 bc/ PMS_PRO_IRAM0_SRAM_3_W  1  IBUS  SRAM Block 3 bc/



369 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.17. PMS_PRO_IRAM0_2_REG (0x0018)

(reserved)

PMS_PPMROS__PPIRMRAOSM__P0PIRM_RASOSMR__PA0PIRMM_RASOS_MR__4PA0P_IRMM_RHASOS__MR_W_4A0P_IRM_RHASO__MR_R4A0_IRM_HAS__MRF4A0_M_LS__WR4A_ML__R4_L_F

31

23 22 21 20 19 18 17 16

0 0 0 0 0 0 0 0 01 1 1 1 1 1

PMS_PRO_IRAM0_SRAM_4_SPLTADDR 0

0
Reset

PMS_PRO_IRAM0_SRAM_4_SPLTADDR  IBUS  SRAM Block 4-21 bc/
PMS_PRO_IRAM0_SRAM_4_L_F  1  IBUS  SRAM Block 4-21  bc/
PMS_PRO_IRAM0_SRAM_4_L_R  1  IBUS  SRAM Block 4-21  bc/
PMS_PRO_IRAM0_SRAM_4_L_W  1  IBUS  SRAM Block 4-21  bc/
PMS_PRO_IRAM0_SRAM_4_H_F  1  IBUS  SRAM Block 4-21  bc/
PMS_PRO_IRAM0_SRAM_4_H_R  1  IBUS  SRAM Block 4-21  bc/
PMS_PRO_IRAM0_SRAM_4_H_W  1  IBUS  SRAM Block 4-21  bc/



370 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.18. PMS_PRO_IRAM0_3_REG (0x001C)

(reserved)

PMS_PPMROS__PPIRMRAOSM__P0PIRM_RAROSMT__PC0PIRMF_RAAROSMST__TPC0PI_RMF_RHAAROSM_ST__WTC0PI_RF_RHAAROM_ST_TRC0I_RF_HAARM_STTFC0_F_LAR_STWTC_FLA_SRT_L_FPMS_PRO_IRAM0_RTCFAST_SPLTADDR

31

17 16 15 14 13 12 11 10

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 1 1 1 1 1

0

Reset

PMS_PRO_IRAM0_RTCFAST_SPLTADDR  IBUS  RTC FAST Memory bc/
PMS_PRO_IRAM0_RTCFAST_L_F  1  IBUS  RTC FAST Memory  bc/
PMS_PRO_IRAM0_RTCFAST_L_R  1  IBUS  RTC FAST Memory  bc/
PMS_PRO_IRAM0_RTCFAST_L_W  1  IBUS  RTC FAST Memory  bc/
PMS_PRO_IRAM0_RTCFAST_H_F  1  IBUS  RTC FAST Memory  bc/
PMS_PRO_IRAM0_RTCFAST_H_R  1  IBUS  RTC FAST Memory  bc/
PMS_PRO_IRAM0_RTCFAST_H_W  1  IBUS  RTC FAST Memory  bc/



371 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.19. PMS_PRO_DRAM0_1_REG (0x002C)

(reserved) PMS_PPMROS__PPDMRROSA__MPPD0MRR_OSAS__MRPDA0RRM_OAS__MR4DA0_RM_HAS__MRW4A0_M_HS__RR4A_ML__W4_L_R

31

29 28 27 26 25 24

0 0 01 1 1 1

PMS_PRO_DRAM0_SRAM_4_SPLTADDR

PMS_PPMROS__PPDMRROSA__MPPD0MRR_OSAS__MRPPDA0MRRM_OSAS___MRP3PDA0M_RRM_WOSAS___MRP3PDA0M_RRM_ROSAS___MRP2PDA0M_RRM_WOSAS___MR2PDA0_RRM_ROAS__MR1D_A0WRM_AS_MR1_A0RM_S_R0A_MW_0_R

87 6 5 4 3 2 1 0

0

1 1 1 1 1 1 1 1 Reset

PMS_PRO_DRAM0_SRAM_0_R  1  DBUS0  SRAM Block 0 bc/ PMS_PRO_DRAM0_SRAM_0_W  1  DBUS0  SRAM Block 0 bc/ PMS_PRO_DRAM0_SRAM_1_R  1  DBUS0  SRAM Block 1 bc/ PMS_PRO_DRAM0_SRAM_1_W  1  DBUS0  SRAM Block 1 bc/ PMS_PRO_DRAM0_SRAM_2_R  1  DBUS0  SRAM Block 2 bc/ PMS_PRO_DRAM0_SRAM_2_W  1  DBUS0  SRAM Block 2 bc/ PMS_PRO_DRAM0_SRAM_3_R  1  DBUS0  SRAM Block 3 bc/ PMS_PRO_DRAM0_SRAM_3_W  1  DBUS0  SRAM Block 3 bc/ PMS_PRO_DRAM0_SRAM_4_SPLTADDR  DBUS0  SRAM Block 4-21 bc/

PMS_PRO_DRAM0_SRAM_4_L_R  1  DBUS0  SRAM Block 4-21  bc/
PMS_PRO_DRAM0_SRAM_4_L_W  1  DBUS0  SRAM Block 4-21  bc/
PMS_PRO_DRAM0_SRAM_4_H_R  1  DBUS0  SRAM Block 4-21  bc/
PMS_PRO_DRAM0_SRAM_4_H_W  1  DBUS0  SRAM Block 4-21  bc/



372 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.20. PMS_PRO_DRAM0_2_REG (0x0030)

(reserved)

PMS_PPMROS__PPDMRROSA__MPPD0MRR_OSAR__MTPDC0RRF_OAAR_MSTDTC0_RF_HAARM_STWTC0_F_HAR_STTRC_FLA_SWT_L_PRMS_PRO_DRAM0_RTCFAST_SPLTADDR

31

15 14 13 12 11 10

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 1 1 1

0

Reset

PMS_PRO_DRAM0_RTCFAST_SPLTADDR   DBUS0   RTC FAST Memory     bc/
PMS_PRO_DRAM0_RTCFAST_L_R  1  DBUS0  RTC FAST Memory  bc/
PMS_PRO_DRAM0_RTCFAST_L_W  1  DBUS0  RTC FAST Memory  bc/
PMS_PRO_DRAM0_RTCFAST_H_R  1  DBUS0  RTC FAST Memory  bc/
PMS_PRO_DRAM0_RTCFAST_H_W  1  DBUS0  RTC FAST Memory  bc/



373 

ESP32-S2 TRM ( 1.3)

 14   (PMS) Register 14.21. PMS_PRO_DPORT_1_REG (0x0040)

GoBack

(reserved)

31

20 19

000000000000

PMS_PRO_DPPOMRST__PPRMREOSS__EPPRDMRVPOESO___RPFPDTMIRP_FOSOOR__T_RPVCDTARSP_LOLORIOD_TRWCDTSP__LORHOTR_WCTWS__LRHOT_WCRS_LLO_WW_L_PRMS_PRO_DPORT_RTCSLOW_SPPLMTASD_DPRRO_DPORT_APB_PERIPHERAL_

16 15 14 13 12 11

10

0

1111

0

0 Reset

PMS_PRO_DPORT_APB_PERIPHERAL_FORBID  1  PeriBus1  APB b

PMS_PRO_DPORT_RTCSLOW_SPLTADDR   PeriBus1   RTC FAST Memory     bc/
PMS_PRO_DPORT_RTCSLOW_L_R  1  PeriBus1  RTC FAST Memory  bc/
PMS_PRO_DPORT_RTCSLOW_L_W  1  PeriBus1  RTC FAST Memory  bc/
PMS_PRO_DPORT_RTCSLOW_H_R  1  PeriBus1  RTC FAST Memory  bc/
PMS_PRO_DPORT_RTCSLOW_H_W  1  PeriBus1  RTC FAST Memory  bc/
PMS_PRO_DPORT_RESERVE_FIFO_VALID  FIFO bc/

Register 14.22. PMS_PRO_DPORT_2_REG (0x0044)

(reserved)

31

18 17

00000000000000

PMS_PRO_DPORT_RESERVE_FIFO_0 0x000

PMS_PRO_DPORT_RESERVE_FIFO_0  0bc/

0
Reset



374 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.23. PMS_PRO_DPORT_3_REG (0x0048)

(reserved)

31

18 17

00000000000000

PMS_PRO_DPORT_RESERVE_FIFO_1 0x000

PMS_PRO_DPORT_RESERVE_FIFO_1  1bc/

0
Reset

Register 14.24. PMS_PRO_DPORT_4_REG (0x004C)

(reserved)

31

18 17

00000000000000

PMS_PRO_DPORT_RESERVE_FIFO_2 0x000

PMS_PRO_DPORT_RESERVE_FIFO_2  2bc/

0
Reset

Register 14.25. PMS_PRO_DPORT_5_REG (0x0050)

(reserved)

31

18 17

00000000000000

PMS_PRO_DPORT_RESERVE_FIFO_3 0x000

PMS_PRO_DPORT_RESERVE_FIFO_3  3bc/

0
Reset



375 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.26. PMS_PRO_AHB_1_REG (0x0060)

(reserved)

PMS_PPMROS__PPAMRHOSB___PPARMRHTOSCB__S_PPLARMORHTOSWCB__S__PPLAR0MORHT_OSWCBH__S___PLARW0ORHT_OWCBH_S___LAR0ROHT_WCBHS___LR0FOT_WCLS__WL0O_WL__R0_L_PFMS_PRO_AHB_RTCSLOW_0_SPLTADDR

31

17 16 15 14 13 12 11 10

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 1 1 1 1 1

0

Reset

PMS_PRO_AHB_RTCSLOW_0_SPLTADDR  PeriBus2  RTCSlow_0 bc/
PMS_PRO_AHB_RTCSLOW_0_L_F  1  PeriBus2  RTCSlow_0  bc/
PMS_PRO_AHB_RTCSLOW_0_L_R  1  PeriBus2  RTCSlow_0  bc/
PMS_PRO_AHB_RTCSLOW_0_L_W  1  PeriBus2  RTCSlow_0  bc/
PMS_PRO_AHB_RTCSLOW_0_H_F  1  PeriBus2  RTCSlow_0  bc/
PMS_PRO_AHB_RTCSLOW_0_H_R  1  PeriBus2  RTCSlow_0  bc/
PMS_PRO_AHB_RTCSLOW_0_H_W  1  PeriBus2  RTCSlow_0  bc/



376 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.27. PMS_PRO_AHB_2_REG (0x0064)

(reserved)

PMS_PPMROS__PPAMRHOSB___PPARMRHTOSCB__S_PPLARMORHTOSWCB__S__PPLAR1M_ORHTHOSWCB___S__WPLAR1_ORHTHOWCB__S__RLAR1_OHTHWCB_S__FLR1_OTLWC_S_WL1_OLW__R1_L_PFMS_PRO_AHB_RTCSLOW_1_SPLTADDR

31

17 16 15 14 13 12 11 10

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 01 1 1 1 1 1

0

Reset

PMS_PRO_AHB_RTCSLOW_1_SPLTADDR  PeriBus2  RTCSlow_1 bc/
PMS_PRO_AHB_RTCSLOW_1_L_F  1  PeriBus2  RTCSlow_1  bc/
PMS_PRO_AHB_RTCSLOW_1_L_R    1   PeriBus2  RTCSlow_1        bc/
PMS_PRO_AHB_RTCSLOW_1_L_W  1  PeriBus2  RTCSlow_1    bc/
PMS_PRO_AHB_RTCSLOW_1_H_F  1  PeriBus2  RTCSlow_1  bc/
PMS_PRO_AHB_RTCSLOW_1_H_R   1  PeriBus2  RTCSlow_1       bc/
PMS_PRO_AHB_RTCSLOW_1_H_W  1  PeriBus2  RTCSlow_1  bc/

Register 14.28. PMS_PRO_TRACE_1_REG (0x0074)

(reserved)

PMS_PRO_TRACE_DISABLE

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_TRACE_DISABLE  1  Trace memory bc/



377 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.29. PMS_PRO_CACHE_1_REG (0x007C)

(reserved)

31

16 15

0000000000000000

PMS_PRO_CACHE_CONNECT 0

0
Reset

PMS_PRO_CACHE_CONNECT  Icache  Dcache  SRAM block 0-3 bc/



378 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.30. PMS_DMA_APB_I_1_REG (0x0090)

(reserved) PMS_PDMMSA__PDAMMPSBA___PDAIM_MPSSBAR___ADAIM_MPS_BAR4__A_AIM_HPS__BRW4_A_IM_HS__RR4A_ML__W4_L_R

31

29 28 27 26 25 24

0 0 01 1 1 1

PMS_DMA_APB_I_SRAM_4_SPLTADDR 0

PMS_PDMMSA__PDAMMPSBA___PDAIM_MPSSBAR___PADAIMM_MPSS_BAR_3__PAD_AIMM_WMPSS_BAR_3__PAD_AIMM_MRPSS_BAR_2__PAD_AIMM_WMPSS_BAR_2__AD_AIM_MRPS_BAR1___AWAIM_PS_BR1__AIRM_S_R0A_MW_0_R
87 6 5 4 3 2 1 0
1 1 1 1 1 1 1 1 Reset

PMS_DMA_APB_I_SRAM_0_R  1  DMA  SRAM Block 0 bc/ PMS_DMA_APB_I_SRAM_0_W  1  DMA  SRAM Block 0 bc/ PMS_DMA_APB_I_SRAM_1_R  1  DMA  SRAM Block 1 bc/ PMS_DMA_APB_I_SRAM_1_W  1  DMA  SRAM Block 1 bc/ PMS_DMA_APB_I_SRAM_2_R  1  DMA  SRAM Block 2 bc/ PMS_DMA_APB_I_SRAM_2_W  1  DMA  SRAM Block 2 bc/ PMS_DMA_APB_I_SRAM_3_R  1  DMA  SRAM Block 3 bc/ PMS_DMA_APB_I_SRAM_3_W  1  DMA  SRAM Block 3 bc/ PMS_DMA_APB_I_SRAM_4_SPLTADDR  DMA  SRAM Block 4-21 bc/

PMS_DMA_APB_I_SRAM_4_L_R  1  DMA  SRAM Block 4-21  bc/
PMS_DMA_APB_I_SRAM_4_L_W  1  DMA  SRAM Block 4-21  bc/
PMS_DMA_APB_I_SRAM_4_H_R  1  DMA  SRAM Block 4-21  bc/
PMS_DMA_APB_I_SRAM_4_H_W  1  DMA  SRAM Block 4-21  bc/



379 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.31. PMS_DMA_RX_I_1_REG (0x00A0)

(reserved) PMS_PDMMSA__PDRMMXS_A_I_P_DRMSMXRS_AA_I_M_DRS_MXR4_AA_I_M_HRS__XRW4_A_IM_HS__RR4A_ML__W4_L_R

31

29 28 27 26 25 24

0 0 01 1 1 1

PMS_DMA_RX_I_SRAM_4_SPLTADDR 0

PMS_PDMMSA__PDRMMXS_A_I_P_DRMSMXRS_AA_I_MP_DRMS_MXR3S_AA__I_MP_WDRMS_MXR3S_AA__I_MP_RDRMS_MXR2S_AA__I_MP_WDRMS_MXR2S_AA__I_M_RDRS_MXR1__AAWI_M_RS_XR1__AIRM_S_R0A_MW_0_R
87 6 5 4 3 2 1 0
1 1 1 1 1 1 1 1 Reset

PMS_DMA_RX_I_SRAM_0_R  1  RX Copy DMA  SRAM Block 0 bc/ PMS_DMA_RX_I_SRAM_0_W  1  RX Copy DMA  SRAM Block 0 bc/ PMS_DMA_RX_I_SRAM_1_R  1  RX Copy DMA  SRAM Block 1 bc/ PMS_DMA_RX_I_SRAM_1_W  1  RX Copy DMA  SRAM Block 1 bc/ PMS_DMA_RX_I_SRAM_2_R  1  RX Copy DMA  SRAM Block 2 bc/ PMS_DMA_RX_I_SRAM_2_W  1  RX Copy DMA  SRAM Block 2 bc/ PMS_DMA_RX_I_SRAM_3_R  1  RX Copy DMA  SRAM Block 3 bc/ PMS_DMA_RX_I_SRAM_3_W  1  RX Copy DMA  SRAM Block 3 bc/ PMS_DMA_RX_I_SRAM_4_SPLTADDR  RX Copy DMA  SRAM Block 4-21 
bc/ PMS_DMA_RX_I_SRAM_4_L_R  1  RX Copy DMA  SRAM Block 4-21 
bc/ PMS_DMA_RX_I_SRAM_4_L_W  1  RX Copy DMA  SRAM Block 4-21 
bc/ PMS_DMA_RX_I_SRAM_4_H_R  1  RX Copy DMA  SRAM Block 4-21 
bc/ PMS_DMA_RX_I_SRAM_4_H_W  1  RX Copy DMA  SRAM Block 4-21 
bc/



380 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.32. PMS_DMA_TX_I_1_REG (0x00B0)

(reserved) PMS_PDMMSA__PDTMMX_SA_I__PDTSMMXR_SAA_IM__DTS_MXR4_AA_IM__HTS__XRW4_A_IM_HS__RR4A_ML__W4_L_R

31

29 28 27 26 25 24

0 0 01 1 1 1

PMS_DMA_TX_I_SRAM_4_SPLTADDR 0

PMS_PDMMSA__PDTMMX_SA_I__PDTSMMXR_SAA_IM__PDTSM_MXR3_SAA__IM__WPDTSM_MXR3_SAA__IM__PRDTSM_MXR2_SAA__IM__WPDTSM_MXR2_SAA__IM__RDTS_MXR1__AAWIM__TS_XR1__AIRM_S_R0A_MW_0_R
87 6 5 4 3 2 1 0
1 1 1 1 1 1 1 1 Reset

PMS_DMA_TX_I_SRAM_0_R  1  TX Copy DMA  SRAM Block 0 bc/ PMS_DMA_TX_I_SRAM_0_W  1  TX Copy DMA  SRAM Block 0 bc/ PMS_DMA_TX_I_SRAM_1_R  1  TX Copy DMA  SRAM Block 1 bc/ PMS_DMA_TX_I_SRAM_1_W  1  TX Copy DMA  SRAM Block 1 bc/ PMS_DMA_TX_I_SRAM_2_R  1  TX Copy DMA  SRAM Block 2 bc/ PMS_DMA_TX_I_SRAM_2_W  1  TX Copy DMA  SRAM Block 2 bc/ PMS_DMA_TX_I_SRAM_3_R  1  TX Copy DMA  SRAM Block 3 bc/ PMS_DMA_TX_I_SRAM_3_W  1  TX Copy DMA  SRAM Block 3 bc/ PMS_DMA_TX_I_SRAM_4_SPLTADDR  TX Copy DMA  SRAM Block 4-21 
bc/ PMS_DMA_TX_I_SRAM_4_L_R  1  TX Copy DMA  SRAM Block 4-21 
bc/ PMS_DMA_TX_I_SRAM_4_L_W  1  TX Copy DMA  SRAM Block 4-21 
bc/ PMS_DMA_TX_I_SRAM_4_H_R  1  TX Copy DMA  SRAM Block 4-21 
bc/ PMS_DMA_TX_I_SRAM_4_H_W  1  TX Copy DMA  SRAM Block 4-21 
bc/



381 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.33. PMS_APB_PERIPHERAL_1_REG (0x00D0)

(reserved)

PMS_APB_PERIPHERAL_SPLIT_BURST

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

PMS_APB_PERIPHERAL_SPLIT_BURST  1  bc/

Register 14.34. PMS_OCCUPY_1_REG (0x00D8)

(reserved)

31

43

0000000000000000000000000000

PMS_OCCUPY_CACHE
0

0

Reset

PMS_OCCUPY_CACHE  SRAM Block 0-3  cachebc/

Register 14.35. PMS_OCCUPY_3_REG (0x00E0)

(reserved)

31

18 17

00000000000000

PMS_OCCUPY_PRO_TRACE 0

0
Reset

PMS_OCCUPY_PRO_TRACE  SRAM block 4-21  block  Trace memorybc/



382 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.36. PMS_CACHE_TAG_ACCESS_1_REG (0x00E8)

(reserved)

PMS_PPMROS__PPDMR_TOSA__PGPDM_R_WTOSAR__G_PI__ARTRCOADGS___I_AWTCARSG__ARCDS_ACS

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_I_TAG_RD_ACS  1  Icache bc/ PMS_PRO_I_TAG_WR_ACS  1  Icache bc/ PMS_PRO_D_TAG_RD_ACS  1  Dcache bc/ PMS_PRO_D_TAG_WR_ACS  1  Dcache bc/

Register 14.37. PMS_CACHE_MMU_ACCESS_1_REG (0x00F0)

(reserved)

PMS_PPMROS__PMRMOU__MWMRU__ARCDS_ACS

31

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 Reset

PMS_PRO_MMU_RD_ACS  1  MMU bc/ PMS_PRO_MMU_WR_ACS  1  MMU bc/

Register 14.38. PMS_PRO_IRAM0_4_REG (0x0020)

(reserved)

PMS_PPMROS__PPIRMRAOSM__0PIR_RAIOLMG_0I_R_IANILMTGR0__EINLG_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_IRAM0_ILG_CLR bc/ PMS_PRO_IRAM0_ILG_EN IBUS bc/ PMS_PRO_IRAM0_ILG_INTR IBUS bc



383 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.39. PMS_PRO_IRAM0_5_REG (0x0024)

(reserved)

31

22 21

0000000000

PMS_PRO_IRAM0_ILG_ST 0

0
Reset

PMS_PRO_IRAM0_ILG_ST  IBUS b[21:2] IBUS  [21:2][1]1 0 [0]1 0 bc

Register 14.40. PMS_PRO_DRAM0_3_REG (0x0034)

(reserved)

PMS_PPMROS__PPDMRROSA__MPD0RR_OAIL_MGD0_R_IANILMTGR0__EINLG_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_DRAM0_ILG_CLR DBUS0 bc/ PMS_PRO_DRAM0_ILG_EN DBUS0 bc/ PMS_PRO_DRAM0_ILG_INTR DBUS0 bc

(reserved)

31

26 25

000000

Register 14.41. PMS_PRO_DRAM0_4_REG (0x0038)
PMS_PRO_DRAM0_ILG_ST 0

0
Reset

PMS_PRO_DRAM0_ILG_ST  DBUS0 b[25:6] DBUS  [21:2][5] 1 0 [4]1 0 [3:0]DBUS0   (byte enables)bc



384 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.42. PMS_PRO_DPORT_6_REG (0x0054)

(reserved)

PMS_PPMROS__PPDMRPOSO__RPDTRP_OOIL_RGDT_P_INOILTRGRT__EINLG_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_DPORT_ILG_CLR PeriBus1 bc/ PMS_PRO_DPORT_ILG_EN PeriBus1 bc/ PMS_PRO_DPORT_ILG_INTR PeriBus1 bc

(reserved)

31

26 25

000000

Register 14.43. PMS_PRO_DPORT_7_REG (0x0058)
PMS_PRO_DPORT_ILG_ST 0

0
Reset

PMS_PRO_DPORT_ILG_ST  PeriBus1 b[25:6] PeriBus1  [21:2] [5]1 0 [4] PeriBus1  [31:22]  0xfd 1  0[3:0]PeriBus1 bc

Register 14.44. PMS_PRO_AHB_3_REG (0x0068)

(reserved)

PMS_PPMROS__PPAMRHOSB___PAILRHGOB___INAILTHGRB__EINLG_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_AHB_ILG_CLR PeriBus2 bc/ PMS_PRO_AHB_ILG_EN PeriBus2 bc/ PMS_PRO_AHB_ILG_INTR PeriBus2 bc



385 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.45. PMS_PRO_AHB_4_REG (0x006C)

PMS_PRO_AHB_ILG_ST

31

0

0

Reset

PMS_PRO_AHB_ILG_ST  PeriBus2 b[31:2] PeriBus2  [31:2][1] 1 0 [0]1 0 bc

Register 14.46. PMS_PRO_CACHE_2_REG (0x0080)

(reserved)

PMS_PPMROS__PPCMRAOCS_H_PCER_AOCILH_GCE__AINCILTHGRE__EINLG_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_PRO_CACHE_ILG_CLR Cache bc/ PMS_PRO_CACHE_ILG_EN Cache bc/ PMS_PRO_CACHE_ILG_INTR Cache bc

Register 14.47. PMS_PRO_CACHE_3_REG (0x0084)

(reserved)

31

17 16

000000000000000

PMS_PRO_CACHE_ILG_ST_I 0

0
Reset

PMS_PRO_CACHE_ILG_ST_I  Icache b[16][15:4]  [11:0][3:0]Icache bc



386 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.48. PMS_PRO_CACHE_4_REG (0x0088)

(reserved)

31

17 16

000000000000000

PMS_PRO_CACHE_ILG_ST_D 0

0
Reset

PMS_PRO_CACHE_ILG_ST_D  Dcache b[16][15:4]  [11:0][3:0]Dcache bc

Register 14.49. PMS_DMA_APB_I_2_REG (0x0094)

(reserved)

PMS_PDMMSA__PDAMMPSBA___DAI_MPILBAG___AI_IPNILBTG_R_I_EINLG_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_DMA_APB_I_ILG_CLR  DMA bc/ PMS_DMA_APB_I_ILG_EN  DMA bc/ PMS_DMA_APB_I_ILG_INTR  DMA bc

Register 14.50. PMS_DMA_APB_I_3_REG (0x0098)

(reserved)

31

23 22

000000000

PMS_DMA_APB_I_ILG_ST 0

0
Reset

PMS_DMA_APB_I_ILG_ST  DMA b[22:6] [18:2][5]  [31:19]  0x7ff 1 0[4]1 0 [3:0] DMA bc



387 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.51. PMS_DMA_RX_I_2_REG (0x00A4)

(reserved)

PMS_PDMMSA__PDRMMXS_A_I__DRIMLXG_A_I__INRILXTG_R_I_EINLG_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_DMA_RX_I_ILG_CLR RX Copy DMA bc/ PMS_DMA_RX_I_ILG_EN RX Copy DMA bc/ PMS_DMA_RX_I_ILG_INTR RX Copy DMA bc

Register 14.52. PMS_DMA_RX_I_3_REG (0x00A8)

(reserved)

31

23 22

000000000

PMS_DMA_RX_I_ILG_ST 0

0
Reset

PMS_DMA_RX_I_ILG_ST  RX Copy DMA b[22:6] [18:2][5]  [31:19]  0x7ff 1 0[4]1 0 [3:0]RX Copy DMA bc

Register 14.53. PMS_DMA_TX_I_2_REG (0x00B4)

(reserved)

PMS_PDMMSA__PDTMMX_SA_I__DTILMXG_A_I__INTILXTG_R_I_EINLG_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_DMA_TX_I_ILG_CLR TX Copy DMA bc/ PMS_DMA_TX_I_ILG_EN TX Copy DMA bc/ PMS_DMA_TX_I_ILG_INTR TX Copy DMA bc



388 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.54. PMS_DMA_TX_I_3_REG (0x00B8)

(reserved)

31

23 22

000000000

PMS_DMA_TX_I_ILG_ST 0

0
Reset

PMS_DMA_TX_I_ILG_ST  TX Copy DMA b[22:6] [18:2][5]  [31:19]  0x7ff 1 0[4]1 0 [3:0]TX Copy DMA bc

Register 14.55. PMS_APB_PERIPHERAL_INTR_REG (0x00F4)

(reserved)

PMS_PAMPBS__PAPMPERBSI___APBPEYRBTI_E_P_BEEYRRTIRE_O_BERYR_TRIENO_TERRR_REONR_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_APB_PERI_BYTE_ERROR_CLR APB bc/ PMS_APB_PERI_BYTE_ERROR_EN APB bc/ PMS_APB_PERI_BYTE_ERROR_INTR APB bc

Register 14.56. PMS_APB_PERIPHERAL_STATUS_REG (0x00F8)
PMS_APB_PERI_BYTE_ERROR_ADDR
31
0
PMS_APB_PERI_BYTE_ERROR_ADDR  APB b

0
Reset



389 

ESP32-S2 TRM ( 1.3)

 14   (PMS)

GoBack

Register 14.57. PMS_CPU_PERIPHERAL_INTR_REG (0x00FC)

(reserved)

PMS_PCMPUS__PCPMPEURS_I__CPBPEYURTI_E_P_BEEYRRTIRE_O_BERYR_TRIENO_TERRR_REONR_CLR

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PMS_CPU_PERI_BYTE_ERROR_CLR CPU bc/ PMS_CPU_PERI_BYTE_ERROR_EN CPU bc/ PMS_CPU_PERI_BYTE_ERROR_INTR CPU bc

Register 14.58. PMS_CPU_PERIPHERAL_STATUS_REG (0x0100)
PMS_CPU_PERI_BYTE_ERROR_ADDR
31
0
PMS_CPU_PERI_BYTE_ERROR_ADDR  CPU bc

0
Reset

(reserved)

31

28 27

0000

Register 14.59. PMS_DATE_REG (0x0FFC)
PMS_DATE 0x1905090

PMS_DATE bc/

0
Reset



390 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

 15  

15.1 
ESP32-S2  bESP32-S2 caa bb
15.2 
ESP32-S2  ·  ·  ·  · eFuse  ·  · 
15.3 
15.3.1 
 cache b 3  b
· SYSTEM_ROM_CTRL_0_REG · SYSTEM_ROM_CTRL_1_REG · SYSTEM_SRAM_CTRL_0_REG · SYSTEM_SRAM_CTRL_1_REG · SYSTEM_SRAM_CTRL_2_REG · SYSTEM_RSA_PD_CTRL_REG · SYSTEM_MEM_PD_MASK_REG · SYSTEM_CACHE_CONTROL_REG



391 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

· SYSTEM_BUSTOEXTMEM_ENA_REG · SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG

ROM 

 SYSTEM_ROM_CTRL_0_REG  SYSTEM_ROM_CTRL_1_REG  ESP32-S2  ROM  
·  SYSTEM_ROM_CTRL_0_REG  SYSTEM_ROM_FO  ROM  block  b
·  SYSTEM_ROM_CTRL_1_REG  SYSTEM_ROM_FORCE_PD  ROM  block b
·  SYSTEM_ROM_CTRL_1_REG  SYSTEM_ROM_FORCE_PU  ROM  block b
 ROM  15.3-1b

 15.3-1. ROM 

ROM Block0 Block1

 1 0x4000_0000 0x4001_2000

 1 0x4000_FFFF 0x4001_FFFF

 2 0x3FFA_0000

 2 0x3FFA_FFFF

 Bit0 Bit1

SRAM 

 SYSTEM_SRAM_CTRL_0_REGaSYSTEM_SRAM_CTRL_1_REG  SYSTEM_SRAM_CTRL_2_REG   ESP32-S2  SRAM 
·  SYSTEM_SRAM_CTRL_0_REG  SYSTEM_SRAM_FO  SRAM  block  b
·  SYSTEM_SRAM_CTRL_1_REG  SYSTEM_SRAM_FORCE_PD  SRAM  block b
·  SYSTEM_SRAM_CTRL_2_REG  SYSTEM_SRAM_FORCE_PU  SRAM  block b
 SRAM  15.3-2b
 15.3-2. SRAM 

SRAM Block0 Block1 Block2 Block3 Block4 Block5 Block6 Block7

 1 0x4002_0000 0x4002_2000 0x4002_4000 0x4002_6000 0x4002_8000 0x4002_C000 0x4003_0000 0x4003_4000

 1 0x4002_1FFF 0x4002_3FFF 0x4002_5FFF 0x4002_7FFF 0x4002_BFFF 0x4002_FFFF 0x4003_3FFF 0x4003_7FFF

 2 0x3FFB_0000 0x3FFB_2000 0x3FFB_4000 0x3FFB_6000 0x3FFB_8000 0x3FFB_C000 0x3FFC_0000 0x3FFC_4000

 2 0x3FFB_1FFF 0x3FFB_3FFF 0x3FFB_5FFF 0x3FFB_7FFF 0x3FFB_BFFF 0x3FFB_FFFF 0x3FFC_3FFF 0x3FFC_7FFF

 Bit0 Bit1 Bit2 Bit3 Bit4 Bit5 Bit6 Bit7



392 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

SRAM Block8 Block9 Block10 Block11 Block12 Block13 Block14 Block15 Block16 Block17 Block18 Block19 Block20 Block21

 1 0x4003_8000 0x4003_C000 0x4004_0000 0x4004_4000 0x4004_8000 0x4004_C000 0x4005_0000 0x4005_4000 0x4005_8000 0x4005_C000 0x4006_0000 0x4006_4000 0x4006_8000 0x4006_C000

 1 0x4003_BFFF 0x4003_FFFF 0x4004_3FFF 0x4004_7FFF 0x4004_BFFF 0x4004_FFFF 0x4005_3FFF 0x4005_7FFF 0x4005_BFFF 0x4005_FFFF 0x4006_3FFF 0x4006_7FFF 0x4006_BFFF 0x4006_FFFF

 2 0x3FFC_8000 0x3FFC_C000 0x3FFD_0000 0x3FFD_4000 0x3FFD_8000 0x3FFD_C000 0x3FFE_0000 0x3FFE_4000 0x3FFE_8000 0x3FFE_C000 0x3FFF_0000 0x3FFF_4000 0x3FFF_8000 0x3FFF_C000

 2 0x3FFC_BFFF 0x3FFC_FFFF 0x3FFD_3FFF 0x3FFD_7FFF 0x3FFD_BFFF 0x3FFD_FFFF 0x3FFE_3FFF 0x3FFE_7FFF 0x3FFE_BFFF 0x3FFE_FFFF 0x3FFF_3FFF 0x3FFF_7FFF 0x3FFF_BFFF 0x3FFF_FFFF

 Bit8 Bit9 Bit10 Bit11 Bit12 Bit13 Bit14 Bit15 Bit16 Bit17 Bit18 Bit19 Bit20 Bit21

15.3.2 
b 6 b · SYSTEM_CPU_PER_CONF_REG · SYSTEM_SYSCLK_CONF_REG · SYSTEM_BT_LPCK_DIV_FRAC_REG
 ESP32-S2 b  CLK_EN  1 RST_EN  0b

15.3.3 
 CPU b 8 b · SYSTEM_CPU_INTR_FROM_CPU_0_REG · SYSTEM_CPU_INTR_FROM_CPU_1_REG · SYSTEM_CPU_INTR_FROM_CPU_2_REG · SYSTEM_CPU_INTR_FROM_CPU_3_REG

15.3.4 JTAG 
 eFuse  JTAG b 19 HMAC  (HMAC)b
· SYSTEM_JTAG_CTRL_0_REG · SYSTEM_JTAG_CTRL_1_REG



393 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

· SYSTEM_JTAG_CTRL_2_REG · SYSTEM_JTAG_CTRL_3_REG · SYSTEM_JTAG_CTRL_4_REG · SYSTEM_JTAG_CTRL_5_REG · SYSTEM_JTAG_CTRL_6_REG · SYSTEM_JTAG_CTRL_7_REG

15.3.5 
b 9 b · SYSTEM_RTC_FASTMEM_CONFIG_REG · SYSTEM_RTC_FASTMEM_CRC_REG

15.3.6 
 15.3-3b · SYSTEM_CPU_PERI_CLK_EN_REG · SYSTEM_CPU_PERI_RST_EN_REG · SYSTEM_PERIP_CLK_EN0_REG · SYSTEM_PERIP_RST_EN0_REG · SYSTEM_PERIP_CLK_EN1_REG · SYSTEM_PERIP_RST_EN1_REG  15.3-3. 

 CPU  DEDICATED GPIO  Timers Timer Group0 Timer Group1 System Timer UART0 UART1 UART MEM SPI0, SPI1 SPI2 SPI3 SPI2 DMA SPI3 DMA

1 SYSTEM_CPU_PERI_CLK_EN_REG SYSTEM_CLK_EN_DEDICATED_GPIO SYSTEM_PERIP_CLK_EN0_REG SYSTEM_TIMERS_CLK_EN SYSTEM_TIMERGROUP_CLK_EN SYSTEM_TIMERGROUP1_CLK_EN SYSTEM_SYSTIMER_CLK_EN SYSTEM_UART_CLK_EN SYSTEM_UART1_CLK_EN SYSTEM_UART_MEM_CLK_EN 4 SYSTEM_SPI01_CLK_EN SYSTEM_SPI2_CLK_EN SYSTEM_SPI3_DMA_CLK_EN SYSTEM_SPI2_DMA_CLK_EN SYSTEM_SPI3_DMA_CLK_EN

23 SYSTEM_CPU_PERI_RST_EN_REG SYSTEM_RST_EN_DEDICATED_GPIO SYSTEM_PERIP_RST_EN0_REG SYSTEM_TIMERS_RST SYSTEM_TIMERGROUP_RST SYSTEM_TIMERGROUP1_RST SYSTEM_SYSTIMER_RST SYSTEM_UART_RST SYSTEM_UART1_RST SYSTEM_UART_MEM_RST SYSTEM_SPI01_RST SYSTEM_SPI2_RST SYSTEM_SPI3_RST SYSTEM_SPI2_DMA_RST SYSTEM_SPI3_DMA_RST



394 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

I2C0 I2C1 I2S TWAI  UHCI0 UHCI1 USB RMT PCNT PWM0 PWM1 PWM2 PWM3 LED_PWM  eFuse APB SARADC ADC2 ARB WDG  DMA HMAC  RSA  SHA  AES 

SYSTEM_I2C_EXT0_CLK_EN SYSTEM_I2C_EXT1_CLK_EN SYSTEM_I2S0_CLK_EN SYSTEM_CAN_CLK_EN SYSTEM_UHCI0_CLK_EN SYSTEM_UHCI1_CLK_EN SYSTEM_USB_CLK_EN SYSTEM_RMT_CLK_EN SYSTEM_PCNT_CLK_EN SYSTEM_PWM0_CLK_EN SYSTEM_PWM1_CLK_EN SYSTEM_PWM2_CLK_EN SYSTEM_PWM3_CLK_EN SYSTEM_LEDC_CLK_EN SYSTEM_EFUSE_CLK_EN SYSTEM_APB_SARADC_CLK_EN SYSTEM_ADC2_ARB_CLK_EN SYSTEM_WDG_CLK_EN SYSTEM_PERIP_CLK_EN1_REG SYSTEM_CRYPTO_DMA_CLK_EN SYSTEM_CRYPTO_HMAC_CLK_EN SYSTEM_CRYPTO_DS_CLK_EN SYSTEM_CRYPTO_RSA_CLK_EN SYSTEM_CRYPTO_SHA_CLK_EN SYSTEM_CRYPTO_AES_CLK_EN

SYSTEM_I2C_EXT0_RST SYSTEM_I2C_EXT1_RST SYSTEM_I2S0_RST SYSTEM_CAN_RST SYSTEM_UHCI0_RST SYSTEM_UHCI1_RST SYSTEM_USB_RST SYSTEM_RMT_RST SYSTEM_PCNT_RST SYSTEM_PWM0_RST SYSTEM_PWM1_RST SYSTEM_PWM2_RST SYSTEM_PWM3_RST SYSTEM_LEDC_RST SYSTEM_EFUSE_RST SYSTEM_APB_SARADC_RST SYSTEM_ADC2_ARB_RST SYSTEM_WDG_RST SYSTEM_PERIP_RST_EN1_REG SYSTEM_CRYPTO_DMA_RST 5 SYSTEM_CRYPTO_HMAC_RST 6 SYSTEM_CRYPTO_DS_RST 7 SYSTEM_CRYPTO_RSA_RST SYSTEM_CRYPTO_SHA_RST SYSTEM_CRYPTO_AES_RST

 1.  1  0 b 2.  1  0 b 3. b 4. UART  UART  UART UART b 5.  Crypto DMA  AES  SHA b 6. SHA b 7. AES aSHA  RSA b

15.4 
 15.4-1 b 3  b



395 

ESP32-S2 TRM ( 1.3)

 15  

 15.4-1. 
  PeriBUS1 0x3F4C0000

GoBack

15.5 

cb 15.4  b

  SYSTEM_ROM_CTRL_0_REG SYSTEM_ROM_CTRL_1_REG SYSTEM_SRAM_CTRL_0_REG SYSTEM_SRAM_CTRL_1_REG SYSTEM_SRAM_CTRL_2_REG SYSTEM_RSA_PD_CTRL_REG SYSTEM_MEM_PD_MASK_REG SYSTEM_CACHE_CONTROL_REG SYSTEM_BUSTOEXTMEM_ENA_REG SYSTEM_EXTERNAL_DEVICE_ENCRYPT_ DECRYPT_CONTROL_REG  SYSTEM_CPU_PER_CONF_REG SYSTEM_SYSCLK_CONF_REG SYSTEM_BT_LPCK_DIV_FRAC_REG  SYSTEM_CPU_INTR_FROM_CPU_0_REG SYSTEM_CPU_INTR_FROM_CPU_1_REG SYSTEM_CPU_INTR_FROM_CPU_2_REG SYSTEM_CPU_INTR_FROM_CPU_3_REG JTAG  SYSTEM_JTAG_CTRL_0_REG SYSTEM_JTAG_CTRL_1_REG SYSTEM_JTAG_CTRL_2_REG SYSTEM_JTAG_CTRL_3_REG SYSTEM_JTAG_CTRL_4_REG SYSTEM_JTAG_CTRL_5_REG SYSTEM_JTAG_CTRL_6_REG SYSTEM_JTAG_CTRL_7_REG  SYSTEM_RTC_FASTMEM_CONFIG_REG SYSTEM_RTC_FASTMEM_CRC_REG





 ROM  0

0x0000

 ROM  1

0x0004

 SRAM  0

0x0008

 SRAM  1

0x000C

 SRAM  2

0x0088

RSA 

0x0068

clow-sleep  0x003C

Cache 

0x0070

EDMA 

0x006C



0x0074

CPU   
CPU  0 CPU  1 CPU  2 CPU  3
JTAG  0 JTAG  1 JTAG  2 JTAG  3 JTAG  4 JTAG  5 JTAG  6 JTAG  7
RTC  RTC  CRC 

0x0018 0x008C 0x0054
0x0058 0x005C 0x0060 0x0064
0x001C 0x0020 0x0024 0x0028 0x002C 0x0030 0x0034 0x0038
0x0078 0x007C


/ / / / / / / / /
/
/  /
/ / / /
       
 



396 

ESP32-S2 TRM ( 1.3)

 15  
  SYSTEM_CPU_PERI_CLK_EN_REG SYSTEM_CPU_PERI_RST_EN_REG SYSTEM_PERIP_CLK_EN0_REG SYSTEM_PERIP_CLK_EN1_REG SYSTEM_PERIP_RST_EN0_REG SYSTEM_PERIP_RST_EN1_REG  SYSTEM_REG_DATE_REG

GoBack







CPU  CPU  c 0 c 1 c 0 c 1

0x0010 0x0014 0x0040 0x0044 0x0048 0x004C

/ / / / / /



0x0FFC /

15.6 

cb 15.4  b

Register 15.1. SYSTEM_ROM_CTRL_0_REG (0x0000)

(reserved)

SYSTEM_ROM_FO

31

21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x3 Reset

SYSTEM_ROM_FO  ROM b 15.3-1bc/

Register 15.2. SYSTEM_ROM_CTRL_1_REG (0x0004)

(reserved)

SYSTEM_ROSYMS_TFEOMR_CREO_MPU_FORCE_PD

31

43

21

0

0000000000000000000000000000 3

0 Reset

SYSTEM_ROM_FORCE_PD  ROM b 15.3-1bc/ SYSTEM_ROM_FORCE_PU  ROM b 15.3-1bc/



397 

ESP32-S2 TRM ( 1.3)

 15  

Register 15.3. SYSTEM_SRAM_CTRL_0_REG (0x0008)

(reserved)

31

22 21

0000000000

SYSTEM_SRAM_FO 0x3fffff

SYSTEM_SRAM_FO  SRAM b 15.3-2bc/

GoBack
0
Reset

Register 15.4. SYSTEM_SRAM_CTRL_1_REG (0x000C)

(reserved)

31

22 21

0000000000

SYSTEM_SRAM_FORCE_PD 0

SYSTEM_SRAM_FORCE_PD  SRAM b 15.3-2bc/

0
Reset

Register 15.5. SYSTEM_CPU_PERI_CLK_EN_REG (0x0010)

(reserved)

SYSTE(Mres_eCrLvKe_dE) N_DEDIC(AreTsEeDr_vGedP)IO

31

87 65

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTEM_CLK_EN_DEDICATED_GPIO  1  DEDICATED GPIO b 5 IO MUX  GPIO bc/



398 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.6. SYSTEM_CPU_PERI_RST_EN_REG (0x0014)

(reserved)

SYSTE(Mres_eRrSvTe_dE) N_DEDIC(AreTsEeDr_vGedP)IO

31

87 65

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 Reset

SYSTEM_RST_EN_DEDICATED_GPIO  1  DEDICATED GPIOb 5 IO MUX  GPIO  b(R/W)

Register 15.7. SYSTEM_CPU_PER_CONF_REG (0x0018)

(reserved)

31

87

000000000000000000000000

SYSTEM_CPUS_WYSATITESIMY_SD_TCEELPMAUY_S__WYPNSLAUTLITE_M_MFMR_ECOQPD_UES_PEFELORIROCDE__SOENL

43 21

0

0x0

1 1 0 Reset

SYSTEM_CPUPERIOD_SEL  CPU b 6  6.21bc/
SYSTEM_PLL_FREQ_SEL  CPU  PPL b 6 cb/

SYSTEM_CPU_WAIT_MODE_FORCE_ON  1  CPU b CPU CPU b WAITI  CPU  bc/
SYSTEM_CPU_WAITI_DELAY_NUM  CPU  WAITI  CPU  bc/



399 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.8. SYSTEM_JTAG_CTRL_0_REG (0x001C)

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_0

31

0

0

Reset

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_0 c 256  eFuse  JTAG  0  31 b 19 HMAC  (HMAC)cb 

Register 15.9. SYSTEM_JTAG_CTRL_1_REG (0x0020)

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_1

31

0

0

Reset

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_1 c 256  eFuse  JTAG  32  63 b 19 HMAC  (HMAC)bc 



400 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.10. SYSTEM_JTAG_CTRL_2_REG (0x0024)

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_2

31

0

0

Reset

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_2 c 256  eFuse  JTAG  64  95 b 19 HMAC  (HMAC)bc

Register 15.11. SYSTEM_JTAG_CTRL_3_REG (0x0028)

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_3

31

0

0

Reset

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_3 c 256  eFuse  JTAG  96  127 b 19 HMAC  (HMAC)bc



401 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.12. SYSTEM_JTAG_CTRL_4_REG (0x002C)

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_4

31

0

0

Reset

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_4 c 256  eFuse  JTAG  128  159 b 19 HMAC  (HMAC)bc

Register 15.13. SYSTEM_JTAG_CTRL_5_REG (0x0030)

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_5

31

0

0

Reset

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_5 c 256  eFuse  JTAG  160  191 b 19 HMAC  (HMAC)bc



402 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.14. SYSTEM_JTAG_CTRL_6_REG (0x0034)

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_6

31

0

0

Reset

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_6 c 256  eFuse  JTAG  192  223 b 19 HMAC  (HMAC)bc

Register 15.15. SYSTEM_JTAG_CTRL_7_REG (0x0038)

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_7

31

0

0

Reset

SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_7 c 256  eFuse  JTAG  224  255 b 19 HMAC  (HMAC)bc



403 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.16. SYSTEM_MEM_PD_MASK_REG (0x003C)

(reserved)

SYSTEM_LSLP_MEM_PD_MASK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

SYSTEM_LSLP_MEM_PD_MASK  1  light-sleep bc/

Register 15.17. SYSTEM_PERIP_CLK_EN0_REG (0x0040)
(reserSvYeSdT)ESMYS_TAEDSMYCS_2TS_EYSAMSYRTS_BITAM_EPSCEMYBLRS_K__TS_SCEPAESLMNRYIK3SA___TDPEDECWSNMMY_MASC_T_3PLCE_KWSMCL_YMKLSE__KTN2U_EE_ASNEMCRYNLST_KT_U_EM(SEMrBeENs__MeSC_rPSLvCKIYe2LS_d_KTE)_DENSEMMYNAS_T_PCEWSMLYMKS__T1C_EEASCNMNYLS__KTCI_2ESLECMKYN_S__ETEPXENWSTMY1M_S_TC0SE_LPSMKCYI3_LS__EKTTCN_EISMLMEYKENS__RTEEGEFSNRMUYOSS_UTTEEPI_SMM1CY_ELS_CRKTULG_ESHKRMEYC_ONS_EI1UTLN_EPESCM_DYLCSC_KLT__PKECECS_MNLYNEKS_TN_TR_EEMSCMNYLTSK__TU_CEESHLMNYCKS__I0TIE2_ESNCCMY_LS_EKTSX_EPSTEMYI02NS___TUCCEASLLMRYKKST___T1IEE2_ESNNCSMY0LS_K_TW_CESDELMYNKGS___TUECEASNLMRYKST__T_SEECPNMLI0K_1_T_EICMNLEKR_SE_NCLK_EN
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 1 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 1 1 1 1 Reset
SYSTEM_CPU_PERI_CLK_EN0_REG  15.3-3b



404 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.18. SYSTEM_PERIP_CLK_EN1_REG (0x0044)

(reserved)

SYSTESMYS_TCERSMYYSP_TTCEORSM_YYSPD_TTCMEORSAM_YY_SPH_CTTCMLEORSKAM_YY_CSPD_E_TTCSNCEO_R(LMrC_YeKPRLs__KeSTCE_OrARNvE__YeNCSPdLHT)KOA___ECANLEKS__ECNLK_EN

31

76 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTEM_CRYPTO_AES_CLK_EN Set this bit to enable clock of cryptography AES. (R/W) SYSTEM_CRYPTO_SHA_CLK_EN Set this bit to enable clock of cryptography SHA. (R/W) SYSTEM_CRYPTO_RSA_CLK_EN Set this bit to enable clock of cryptography RSA. (R/W) SYSTEM_CRYPTO_DS_CLK_EN Set this bit to enable clock of cryptography digital signature. (R/W)

SYSTEM_CRYPTO_HMAC_CLK_EN Set this bit to enable clock of cryptography HMAC. (R/W) SYSTEM_CRYPTO_DMA_CLK_EN Set this bit to enable clock of cryptography DMA. (R/W)

Register 15.19. SYSTEM_PERIP_RST_EN0_REG (0x0048)
(reserSvYeSdT)ESMYS_TAEDSMYCS_2TS_EYSAMSYRTS_BITAM_EPSREMYBSRS__T_TSSREPASSMRYIT3SA__TDPDECWSMMY_MAS_RT_3PSE_RTWSMRSYMTSS_TT2UE_ASMRRYSST_TT_UEM(SMrBeEs__MeSR_rPSSvRIYTe2SSd_TT)DESMMYAS_T_PERWSMSYMTS_T1C_EASRMNYSS__TTIR2ESSCMTY_S_ETPXEWSTMY1M_S_T0RSE_SPSMTRYI3SS__TTTREISMSMYTES_RTEGEFSRMUYOSS_UTTEEPI_SMM1RY_ESS_RRTTUSGESHTRMYCOS_I1UTL_EPESRM_DYSRSC_TST_PTERCSMSYNTS_TTR_EMSRMYSTS_T_TURESHSMYCTS_I0TI2_ESCMRY_SS_ETTSXEPSTMYI02S___TURREASSSMRYTTST_T1I2_ESSRMY0SS_T_TWRESDSMYGTS__TUREASSMRYTST_T_SERPMSI0T_1T_IRMSETRS_RST
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset
SYSTEM_PERIP_RST_EN0_REG  15.3-3b



405 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.20. SYSTEM_PERIP_RST_EN1_REG (0x004C)

(reserved)

SYSTESMYS_TCERSMYYSP_TTCEORSM_YYSPD_TTCMEORSAM_YY_SHP_RTTCMSEORSTAM_YYCSPD__TTCSREO_R(SMr_RYeTPRSs_eTSTCOrARv__YeRSPdSHT)TOA__RASETS_RST

31

76 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 Reset

SYSTEM_PERIP_RST_EN1_REG  15.3-3b

Register 15.21. SYSTEM_BT_LPCK_DIV_FRAC_REG (0x0054)

(reserved) SYSTESMYS_TLEPSMCYSL_TKLE_PSMRCYTSL_CTKL_E_PSMESCYNESL_LTKL_E_PXMSCTEL_ALKLL__P3XSC2TEKLALKL__8SMEL_RTC_SLOW (reserved)

31

29 28 27 26 25 24 23

0 0 00 0 0 1 0

1

12 11

(reserved) 1

SYSTEM_LPCLK_SEL_RTC_SLOW  1  RTC_SLOW_CLK bc/ SYSTEM_LPCLK_SEL_8M  1  RC_FAST_CLK bc/ SYSTEM_LPCLK_SEL_XTAL  1  XTAL_CLK bc/ SYSTEM_LPCLK_SEL_XTAL32K  1  XTAL32K_CLK bc/ SYSTEM_LPCLK_RTC_EN  1  RTC bc/

0
Reset

Register 15.22. SYSTEM_CPU_INTR_FROM_CPU_0_REG (0x0058)

(reserved)

SYSTEM_CPU_INTR_FROM_CPU_0

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTEM_CPU_INTR_FROM_CPU_0  1  CPU  0b ISR  0cb/



406 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.23. SYSTEM_CPU_INTR_FROM_CPU_1_REG (0x005C)

(reserved)

SYSTEM_CPU_INTR_FROM_CPU_1

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTEM_CPU_INTR_FROM_CPU_1  1  CPU  1b ISR  0bc/

Register 15.24. SYSTEM_CPU_INTR_FROM_CPU_2_REG (0x0060)

(reserved)

SYSTEM_CPU_INTR_FROM_CPU_2

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTEM_CPU_INTR_FROM_CPU_2  1  CPU  2b ISR  0cb/

Register 15.25. SYSTEM_CPU_INTR_FROM_CPU_3_REG (0x0064)

(reserved)

SYSTEM_CPU_INTR_FROM_CPU_3

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTEM_CPU_INTR_FROM_CPU_3  1  CPU  3b ISR  0cb/



407 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.26. SYSTEM_RSA_PD_CTRL_REG (0x0068)

(reserved)

SYSTESMYS_TRESSMAYS__TMRESEMAM___MRFSEOAMR_C_MFEEO_MPRDC_PE_DPU

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

SYSTEM_RSA_MEM_PD  1  RSA bb RSA  bc/
SYSTEM_RSA_MEM_FORCE_PU  1  RSA bbc/
SYSTEM_RSA_MEM_FORCE_PD  1  RSA bbc/

Register 15.27. SYSTEM_BUSTOEXTMEM_ENA_REG (0x006C)

(reserved)

SYSTEM_BUSTOEXTMEM_ENA

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

SYSTEM_BUSTOEXTMEM_ENA  1  EDMA bc/

Register 15.28. SYSTEM_CACHE_CONTROL_REG (0x0070)

(reserved)

SYSTESMYS_TPERSMYOS__TPCERAMOC_H_PDER_CORAE_CSIHCEEAT_CCHLEK__COLNK_ON

31

32 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 Reset

SYSTEM_PRO_ICACHE_CLK_ON  1  i-cache bc/ SYSTEM_PRO_DCACHE_CLK_ON  1  d-cache bc/ SYSTEM_PRO_CACHE_RESET  1  cachebc/



408 

ESP32-S2 TRM ( 1.3)

 15  

GoBack

Register 15.29. SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG (0x0074)

(reserved)

SYSTEM_SEYNSATBEMLE__SEYDNSOATWBENMLEL__SOEYDANSODAT_WBEMNMLEAL__ONEDAUNODAA_WLB_GNLE0ELNC_OCBSARP_DYID__PEDMTCBAR_NYEUPNATCLR_YEPNTCRYPT

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT  1  SPI Boot  (Manual Encryption)bc/
SYSTEM_ENABLE_DOWNLOAD_DB_ENCRYPT  1  Download Boot  (Auto Encryption)bc/
SYSTEM_ENABLE_DOWNLOAD_G0CB_DECRYPT  1  Download Boot  (Auto Decryption)bc/
SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT  1  Download Boot  (Manual Encryption)bc/

Register 15.30. SYSTEM_RTC_FASTMEM_CONFIG_REG (0x0078)

SYSTEM_RTC_MEM_CRC_FINISHSYSTEM_RTC_MEM_CRC_LEN

31 30

20 19

0

0x7ff

SYSTEM_RTC_MEM_CRC_ADDR SYSTEM_RTC_MEM_CRC(r_eSsTeArvReTd)

987

0

0x0

0 0 0 0 0 0 0 0 0 Reset

SYSTEM_RTC_MEM_CRC_START  1  RTC  CRC bc/ SYSTEM_RTC_MEM_CRC_ADDR  CRC  RTC bc/ SYSTEM_RTC_MEM_CRC_LEN  CRC  RTC cbc/ SYSTEM_RTC_MEM_CRC_FINISH  RTC  CRC b
bc



409 

ESP32-S2 TRM ( 1.3)

 15  
Register 15.31. SYSTEM_RTC_FASTMEM_CRC_REG (0x007C)
SYSTEM_RTC_MEM_CRC_RES
31
0
SYSTEM_RTC_MEM_CRC_RES  RTC  CRC bc

GoBack
0
Reset

Register 15.32. SYSTEM_SRAM_CTRL_2_REG (0x0088)

(reserved)

31

22 21

0000000000

SYSTEM_SRAM_FORCE_PU 0x3fffff

SYSTEM_SRAM_FORCE_PU  SRAM b 15.3-2bc/

0
Reset

Register 15.33. SYSTEM_SYSCLK_CONF_REG (0x008C)

(reserved)

31

19 18

000000000000

SYSTEM_CLK_XTAL_FRESQYSTEM_SOC_CLK_SEL
12 11 10 9

0

0

SYSTEM_PRE_DIV_CNT
0

0x1

Reset

SYSTEM_PRE_DIV_CNT b 6  6.23bc/
SYSTEM_SOC_CLK_SEL  SoC b 6  6.2-1bc/
SYSTEM_CLK_XTAL_FREQ cMHzbc



410 

ESP32-S2 TRM ( 1.3)

 15  

(reserved)

31

28 27

0000

Register 15.34. SYSTEM_DATE_REG (0x0FFC)
SYSTEM_REG_DATE 0x1908020

SYSTEM_DATE bc/

GoBack
0
Reset



411 

ESP32-S2 TRM ( 1.3)

GoBack
 IV  
 SHAaAES aa/ b



412 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

 16  SHA  (SHA)

16.1 
ESP32-S2  SHAc SHA  Typical SHA  DMA-SHA  b SHA SHA b
16.2 
ESP32-S2  SHA  ·  FIPS PUB 180-4  ­ SHA-1  ­ SHA-224  ­ SHA-256  ­ SHA-384  ­ SHA-512  ­ SHA-512/224  ­ SHA-512/256  ­ SHA-512/t  ·  ­ Typical SHA  ­ DMA-SHA  ·  (interleave) c Typical SHA  · c DMA-SHA 
16.3 
ESP32-S2  SHA  Typical SHA  DMA-SHA b · Typical SHA  CPU b · DMA-SHA  crypto DMA b DMA   DMA  SHA b CPU b



413 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

 SHA_START_REG  SHA_DMA_START_REG  SHA   16.3-1b

 16.3-1. 

 Typical SHA DMA-SHA

 SHA_START_REG  1 SHA_DMA_START_REG  1

 SHA_MODE_REG  SHA  16.3-2b

 16.3-2. 

 SHA-1 SHA-224 SHA-256 SHA-384 SHA-512 SHA-512/224 SHA-512/256 SHA-512/t

SHA_MODE_REG  0 1 2 3 4 5 6 7

 ESP32-S2  (DSA) HMAC  (HMAC)  SHA b SHA b

16.4 
SHA  (message digest)b

16.4.1 
ab

16.4.2 
SHA  512  1024 b SHA  b  M  m 
· SHA-1aSHA-224  SHA-256 1.  1  "1" 2.  k  "0"bk  m + 1 + k  448 mod 512 



414 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

3.  64 b m b
· SHA-384aSHA-512aSHA-512/224aSHA-512/256  SHA-512/t 1.  1  "1" 2.  k  "0"bk  m + 1 + k  896 mod 1024  3.  128 b m b
 FIPS PUB 180-4  o5.1 Padding the Messagepb

16.4.3 
c N  512  1024 b
·  SHA-1aSHA-224  SHA-256c N  512  M (1)a M (2)a...aM (N)b 512  16  32  (word) i  32   M(0i) 32  M(1i)... 16  32  M(1i5)b
·  SHA-384aSHA-512aSHA-512/224aSHA-512/256  SHA-512/tc N  1024  M (1)aM (2)a...aM (N)b 1024  16  64  (word)  i  64  M(0i) 64  M(1i)... 16  64  M(1i5)b
 Typical SHA 
· SHA-1aSHA-224aSHA-256  M(0i)  SHA_M_0_REG M(1i)  SHA_M_1_REG...M(1i5)   SHA_M_15_REG b
· SHA-384aSHA-512aSHA-512/224aSHA-512/256  M0(i)  32  SHA_M_0_REG  32  SHA_M_1_REGM(1i)  32  SHA_M_2_REG  32  SHA_M_3_REG ...M(1i5)  32  SHA_M_30_REG  32  SHA_M_31_REGb
 op FIPS PUB 180-4  o2.1 Glossary of Terms and Acronymspb

 DMA-SHA  1.  2.  2 DMA  (DMA) c  buffer  3.  CRYPTO_DMA_OUTLINK_ADDR  4.  1  CRYPTO_DMA_OUTLINK_START DMA  5.  1  CRYPTO_DMA_AES_SHA_SELECT_REG AES  SHA  DMA  SHA b



415 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

16.4.4  (Initial Hash Value)

 H(0)b SHA-1a SHA-224aSHA-256aSHA-384aSHA-512aSHA-512/224aSHA-512/256  C b

SHA-512/t  t bSHA-512/t  SHA-512  t  t b t o 0  512  384  pb t  SHA-512/t  "SHA-512/tp SHA-512 b t  SHA-512/t  t b

 SHA-512/t 

1.  t_string  t_lengtht_string  t  32-bitbt_length   7-bitb t t_string  t_length 

·  1 <= t <= 9 t_length = 7h48t_string :

8h3t0

1b1

23b0

t0 = tb

 t = 8 t0 = 8t_string = 32h38800000b

·  10 <= t <= 99 t_length = 7h50t_string :

8h3t1

8h3t0

1b1

15b0

t0 = t%10t1 = t/10b

 t = 56 t0 = 6t1 = 5t_string = 32h35368000b

·  100 <= t < 512 t_length = 7h58t_string :

8h3t2

8h3t1

8h3t0

1b1

7b0

t0 = t%10t1 = (t/10)%10t2 = t/100b
 t = 231 t0 = 1t1 = 3t2 = 2t_string = 32h32333180b
2.  t_string  t_length  SHA_T_STRING_REG  SHA_T_LENGTH_REGb
3.  SHA_MODE_REG  7  SHA-512/t  SHA_START_REG   1 SHA b SHA_BUSY_REG  0 b
 FIPS PUB 180-4 Spec  "5.3.6 SHA-512/t"  SHA-512/t  oSHA-512/tpop SHA-512  bop SHA-512 oSHA-512  C  0xa5  8 pb



416 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

16.4.5 
ESP32-S2 SHA  bESP32-S2 SHA  Typical SHA  DMA-SHA  b

16.4.6 Typical SHA 
ESP32-S2 SHA  Typical SHA  ·oalonepb ·ointerleavep SHA_H_n_REG   Typical SHA  DMA-SHA b  SHA_H_n_REG b
Typical SHA cSHA-512/t 
1. b ·  SHA_MODE_REG b 16.3-2b
2. b (a)  SHA_M_n_REG  (b)  SHA  1 ·  SHA_START_REG  1 SHA bSHA   1  ·  SHA_CONTINUE_REG  1 SHA bSHA  SHA_H_n_REG b (c)  SHA_BUSY_REG  0 SHA  opb 3b
3. b ·  SHA  (a)  SHA_MODE_REG  (b)  SHA_H_n_REG  (c) b Typical SHA  DMA-SHA b ·  4b
4.  ·  2b ·  5b
5.  SHA c ·  SHA 



417 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

(a)  SHA_MODE_REG; (b)  SHA_H_n_REG (c)  2b ·  SHA b 6b 6.  ·  SHA_H_n_REG b
Typical SHA cSHA-512/t
1. b ·  SHA_MODE_REG  7  SHA-512/t b
2. b (a)  t_string  t_length SHA_T_STRING_REG  SHA_T_LENGTH_REG b  16.4.4 b (b)  SHA_START_REG  1 SHA b (c)  SHA_BUSY_REG  0 SHA b
3. b (a)  SHA_M_n_REG  (b)  SHA  1 ·  SHA_CONTINUE_REG  1 SHA bSHA  SHA_H_n_REG b (c)  SHA_BUSY_REG  0 SHA  opb 4b
4. b ·  SHA  (a)  SHA_MODE_REG  (b)  SHA_H_n_REG  (c) b Typical SHA  DMA-SHA b ·  5b
5.  ·  3b ·  6b
6.  SHA c ·  SHA  (a)  SHA_MODE_REG;



418 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

(b)  SHA_H_n_REG (c)  3b ·  SHA b 7b 7.  ·  SHA_H_n_REG b
 1.  2b  SHA  SHA_M_n_REG b

16.4.7 DMA-SHA 
ESP32-S2 SHA  DMA-SHA ointerleavep b DMA-SHA b DMA-SHA b  Typical SHA SHA  DMA-SHA b 16.4.3  DMA b 2 DMA  (DMA)b DMA-SHA cSHA-512/t 
1. b ·  SHA_MODE_REG b 16.3-2b
2. b SHA_INT_ENA_REG  1 b 3. b
·  M  SHA_DMA_BLOCK_NUM_REG b 4.  DMA-SHA b
·  DMA-SHA  DMA-SHA   SHA_H_n_REG  1  SHA_DMA_CONTINUE_REG
·  1  SHA_DMA_START_REGb 5.  DMA-SHA b DMA-SHA 
·  SHA_BUSY_REG  0b · b SHA_INT_CLEAR_REG  1 b 6.  ·  SHA_H_n_REG b DMA-SHA cSHA-512/t 1. b ·  SHA_MODE_REG  7  SHA-512/t b 2. b SHA_INT_ENA_REG  1 b



419 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

3. b (a)  t_string  t_length SHA_T_STRING_REG  SHA_T_LENGTH_REG b  16.4.4 b (b)  SHA_START_REG  1 SHA b (c)  SHA_BUSY_REG  0 SHA b
4. b ·  M  SHA_DMA_BLOCK_NUM_REG b
5.  DMA-SHA b ·  SHA_DMA_CONTINUE_REG  1  SHA b
6.  DMA-SHA b DMA-SHA  ·  SHA_BUSY_REG  0b · b SHA_INT_CLEAR_REG  1 b
7.  ·  SHA_H_n_REG b

16.4.8 
 SHA  SHA_H_n_REG (n: 0~15) b  16.4-4

 16.4-4. 

 SHA-1 SHA-224 SHA-256 SHA-384 SHA-512 SHA-512/224 SHA-512/256 SHA-512/t 2

c  1

160

SHA_H_0_REG ~ SHA_H_4_REG

224

SHA_H_0_REG ~ SHA_H_6_REG

256

SHA_H_0_REG ~ SHA_H_7_REG

384

SHA_H_0_REG ~ SHA_H_11_REG

512

SHA_H_0_REG ~ SHA_H_15_REG

224

SHA_H_0_REG ~ SHA_H_6_REG

256

SHA_H_0_REG ~ SHA_H_7_REG

t

SHA_H_0_REG ~ SHA_H_x_REG

 1.  word  SHA_H_0_REG  word  SHA_H_1_REG b
2. SHA-512/t  t bx+1  t  32  x = roundup(t/32)-1b ·  t = 8  x = 0 8  SHA_H_0_REG  8  ·  t = 32  x = 0 32  SHA_H_0_REG  ·  t = 132  x = 4 132  SHA_H_0_REGaSHA_H_1_REGa SHA_H_2_REGaSHA_H_3_REG SHA_H_4_REG b



420 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

16.4.9 
SHA  DMA-SHA b SHA_INT_ENA_REG  1  bSHA b SHA_INT_CLEAR_REG  1 b SHA  Typical SHA  b

16.5 

 SHA 16.5-1 b 3  b
 16.5-1. SHA 

 PeriBUS1 PeriBUS2

 0x3F43B000 0x6003B000

16.6 
  SHA_CONTINUE_REG SHA_BUSY_REG SHA_DMA_START_REG SHA_START_REG SHA_DMA_CONTINUE_REG SHA_INT_CLEAR_REG SHA_INT_ENA_REG  SHA_DATE_REG  SHA_MODE_REG
SHA_T_STRING_REG
SHA_T_LENGTH_REG
 SHA_DMA_BLOCK_NUM_REG SHA_H_0_REG SHA_H_1_REG SHA_H_2_REG SHA_H_3_REG SHA_H_4_REG








 SHA c Typical SHA   SHA op  SHA  DMA-SHA   SHA  Typical SHA   SHA c DMA-SHA  DMA-SHA  DMA-SHA 

0x0014 0x0018 0x001C 0x0010 0x0020 0x0024 0x0028

      /



0x002C /

 SHA  c SHA-512/t  c SHA-512/t 

0x0000 0x0004 0x0008

/ / /

c DMA-SHA  0x000C



0x0040



0x0044



0x0048



0x004C



0x0050

/ / / / / /

421 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)
 SHA_H_5_REG SHA_H_6_REG SHA_H_7_REG SHA_H_8_REG SHA_H_9_REG SHA_H_10_REG SHA_H_11_REG SHA_H_12_REG SHA_H_13_REG SHA_H_14_REG SHA_H_15_REG SHA_M_0_REG SHA_M_1_REG SHA_M_2_REG SHA_M_3_REG SHA_M_4_REG SHA_M_5_REG SHA_M_6_REG SHA_M_7_REG SHA_M_8_REG SHA_M_9_REG SHA_M_10_REG SHA_M_11_REG SHA_M_12_REG SHA_M_13_REG SHA_M_14_REG SHA_M_15_REG SHA_M_16_REG SHA_M_17_REG SHA_M_18_REG SHA_M_19_REG SHA_M_20_REG SHA_M_21_REG SHA_M_22_REG SHA_M_23_REG SHA_M_24_REG SHA_M_25_REG SHA_M_26_REG SHA_M_27_REG SHA_M_28_REG SHA_M_29_REG SHA_M_30_REG SHA_M_31_REG


                                           
422 

GoBack

 0x0054 0x0058 0x005C 0x0060 0x0064 0x0068 0x006C 0x0070 0x0074 0x0078 0x007C 0x0080 0x0084 0x0088 0x008C 0x0090 0x0094 0x0098 0x009C 0x00A0 0x00A4 0x00A8 0x00AC 0x00B0 0x00B4 0x00B8 0x00BC 0x00C0 0x00C4 0x00C8 0x00CC 0x00D0 0x00D4 0x00D8 0x00DC 0x00E0 0x00E4 0x00E8 0x00EC 0x00F0 0x00F4 0x00F8 0x00FC

 / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)
16.7 

GoBack

Register 16.1. SHA_START_REG (0x0010)

(reserved)

SHA_START

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SHA_START  1  SHA  Typical SHA bc

Register 16.2. SHA_CONTINUE_REG (0x0014)

(reserved)

SHA_CONTINUE

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SHA_CONTINUE  1  SHA  Typical SHA bc

Register 16.3. SHA_BUSY_REG (0x0018)

(reserved)

SHA_BUSY_STATE

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SHA_BUSY_STATE  SHA opbc1'h0:  1'h1: 

Register 16.4. SHA_DMA_START_REG (0x001C)

(reserved)

SHA_DMA_START

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SHA_DMA_START  1  SHA  DMA-SHA bc



423 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

Register 16.5. SHA_DMA_CONTINUE_REG (0x0020)

(reserved)

SHA_DMA_CONTINUE

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SHA_DMA_CONTINUE  1  SHA  DMA-SHA bc

Register 16.6. SHA_INT_CLEAR_REG (0x0024)

(reserved)

SHA_CLEAR_INTERRUPT

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SHA_CLEAR_INTERRUPT  DMA-SHA bc

Register 16.7. SHA_INT_ENA_REG (0x0028)

(reserved)

SHA_INTERRUPT_ENA

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SHA_INTERRUPT_ENA  DMA-SHA bc/

(reserved)
31 30 29
00

Register 16.8. SHA_DATE_REG (0x002C)
SHA_DATE 0x20190402

SHA_DATE bc/

0
Reset



424 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)

GoBack

Register 16.9. SHA_MODE_REG (0x0000)

(reserved)

SHA_MODE

31

32

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 Reset

SHA_MODE  SHA  16.3-2b(/)

Register 16.10. SHA_T_STRING_REG (0x0004)
SHA_T_STRING
31
0x000000
SHA_T_STRING c SHA-512/t bc/

0
Reset

Register 16.11. SHA_T_LENGTH_REG (0x0008)

(reserved)

31

65

00000000000000000000000000

SHA_T_LENGTH
0

0x0

Reset

SHA_T_LENGTH c SHA-512/t bc/

Register 16.12. SHA_DMA_BLOCK_NUM_REG (0x000C)

(reserved)

31

65

00000000000000000000000000

SHA_DMA_BLOCK_NUM  DMA-SHA bc/

SHA_DMA_BLOCK_NUM
0

0x0

Reset



425 

ESP32-S2 TRM ( 1.3)

 16  SHA  (SHA)
Register 16.13. SHA_H_n_REG (n: 0-15) (0x0040+4*n)
SHA_H_n
31
0x000000
SHA_H_n  n  32 bc/
Register 16.14. SHA_M_n_REG (n: 0-31) (0x0080+4*n)
SHA_M_n
31
0x000000
SHA_M_n  n  32 bc/

GoBack
0
Reset
0



426 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack

 17 
AES  (AES)
17.1 
ESP32-S2  AESc AES  Typical AES  DMA-AES b AES AES  b
17.2 
ESP32-S2  · Typical AES  ­ AES-128/AES-192/AES-256  ­ 4  4  · DMA-AES  ­  * ECB (Electronic Codebook) * CBC (Cipher Block Chaining) * OFB (Output Feedback) * CTR (Counter) * CFB8 (8-bit Cipher Feedback) * CFB128 (128-bit Cipher Feedback) ­ GCM (Galois/Counter Mode) ­ 
17.3 
ESP32-S2  AES  Typical AES  DMA-AES b · Typical AES  NIST FIPS 197 AES-128aAES-192aAES-256 b // CPU b



427 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack

· DMA-AES  NIST SP 800-38A  ECB/CBC/OFB/CTR/CFB8/CFB128   NIST SP 800-38D  GCM b/ crypto DMA b
 AES_DMA_ENABLE_REG  AES  17.3-1b
 17.3-1. 

AES_DMA_ENABLE_REG 0 1

 Typical AES DMA-AES

 Typical AES  DMA-AES  17.4  17.5 b
 ESP32-S2  (DSA) AES b AES  b

17.4 Typical AES 

 Typical AES AES  AES-128/AES-192/AES-256  6 b  AES_MODE_REG  17.4-1b
 17.4-1. 

AES_MODE_REG[2:0] 0 1 2 4 5 6

 AES-128  AES-192  AES-256  AES-128  AES-192  AES-256 

AES  AES_STATE_REG 17.4-2   17.4-2. 

 0 1

 IDLE WORK

  

 Typical AES AES  11 ~ 15  21  22 b

17.4.1 aa
 AES_KEY_n_REG  8  32 b



428 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack

·  AES-128  128  AES_KEY_0_REG ~ AES_KEY_3_REG b ·  AES-192  192  AES_KEY_0_REG ~ AES_KEY_5_REG b ·  AES-256  256  AES_KEY_0_REG ~ AES_KEY_7_REG b  AES_TEXT_IN_m_REG  AES_TEXT_OUT_m_REG  4  32  b
·  AES-128/192/265  AES_TEXT_IN_m_REGb AES  AES_TEXT_OUT_m_REGb
·  AES-128/192/256  AES_TEXT_IN_m_REGb AES  AES_TEXT_OUT_m_REGb

17.4.2 


 Typical AES AES  128  block b  AES_ENDIAN_REG  Bit 2  Bit 3  Bit 4  Bit 5 bBit 2  Bit 4  word  4  byte Bit 3  Bit 5  block  4  word b
 AES_ENDIAN_REG AES b 17.4-3   AES_TEXT_IN_m_REG  AES_TEXT_OUT_m_REG  word   Stateb
 17.4-3. Typical AES 

Word Endian  0 0 1 1

Byte Endian  0 1 0 1

State1
0 1 r 2 3
State
0 1 r 2 3
State
0 1 r 2 3
State
0 1 r 2 3

0 AES_TEXT_x_3_REG[31:24] AES_TEXT_x_3_REG[23:16] AES_TEXT_x_3_REG[15:8] AES_TEXT_x_3_REG[7:0]
0 AES_TEXT_x_3_REG[7:0] AES_TEXT_x_3_REG[15:8] AES_TEXT_x_3_REG[23:16] AES_TEXT_x_3_REG[31:24]
0 AES_TEXT_x_0_REG[31:24] AES_TEXT_x_0_REG[23:16] AES_TEXT_x_0_REG[15:8] AES_TEXT_x_0_REG[7:0]
0 AES_TEXT_x_0_REG[7:0] AES_TEXT_x_0_REG[15:8] AES_TEXT_x_0_REG[23:16] AES_TEXT_x_0_REG[31:24]

/ 2
1 AES_TEXT_x_2_REG[31:24] AES_TEXT_x_2_REG[23:16] AES_TEXT_x_2_REG[15:8] AES_TEXT_x_2_REG[7:0]
1 AES_TEXT_x_2_REG[7:0] AES_TEXT_x_2_REG[15:8] AES_TEXT_x_2_REG[23:16] AES_TEXT_x_2_REG[31:24]
1 AES_TEXT_x_1_REG[31:24] AES_TEXT_x_1_REG[23:16] AES_TEXT_x_1_REG[15:8] AES_TEXT_x_1_REG[7:0]
1 AES_TEXT_x_1_REG[7:0] AES_TEXT_x_1_REG[15:8] AES_TEXT_x_1_REG[23:16] AES_TEXT_x_1_REG[31:24]

c 2 AES_TEXT_x_1_REG[31:24] AES_TEXT_x_1_REG[23:16] AES_TEXT_x_1_REG[15:8] AES_TEXT_x_1_REG[7:0]
c 2 AES_TEXT_x_1_REG[7:0] AES_TEXT_x_1_REG[15:8] AES_TEXT_x_1_REG[23:16] AES_TEXT_x_1_REG[31:24]
c 2 AES_TEXT_x_2_REG[31:24] AES_TEXT_x_2_REG[23:16] AES_TEXT_x_2_REG[15:8] AES_TEXT_x_2_REG[7:0]
c 2 AES_TEXT_x_2_REG[7:0] AES_TEXT_x_2_REG[15:8] AES_TEXT_x_2_REG[23:16] AES_TEXT_x_2_REG[31:24]

3 AES_TEXT_x_0_REG[31:24] AES_TEXT_x_0_REG[23:16] AES_TEXT_x_0_REG[15:8] AES_TEXT_x_0_REG[7:0]
3 AES_TEXT_x_0_REG[7:0] AES_TEXT_x_0_REG[15:8] AES_TEXT_x_0_REG[23:16] AES_TEXT_x_0_REG[31:24]
3 AES_TEXT_x_3_REG[31:24] AES_TEXT_x_3_REG[23:16] AES_TEXT_x_3_REG[15:8] AES_TEXT_x_3_REG[7:0]
3 AES_TEXT_x_3_REG[7:0] AES_TEXT_x_3_REG[15:8] AES_TEXT_x_3_REG[23:16] AES_TEXT_x_3_REG[31:24]


1.  "State"  NIST FIPS 197  "3.4 The State" b 2. 
· x = IN AES_TEXT_IN_m_REG  Word Endian  Byte Endian  AES_ENDIAN_REG  Bit 2  Bit 3
· x = OUT AES_TEXT_OUT_m_REG  Word Endian  Byte Endian  AES_ENDIAN_REG  Bit 4  Bit 5b



429 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack


 Typical AES AES  AES_ENDIAN_REG  Bit 0  Bit 1  b
 17.4-4a 17.4-5a 17.4-6  AES_KEY_n_REG  word   "the first Nk words of the expanded key"b



430 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)



AES_ENDIAN_REG[1] 0 0 1 1

AES_ENDIAN_REG[0] 0 1 0 1

Bit2 [31:24] [23:16] [15:8] [7:0] [31:24] [23:16] [15:8] [7:0] [31:24] [23:16] [15:8] [7:0] [31:24] [23:16] [15:8] [7:0]

 17.4-4. AES-128 

w[0] AES_KEY_3_REG[31:24] AES_KEY_3_REG[23:16] AES_KEY_3_REG[15:8] AES_KEY_3_REG[7:0] AES_KEY_3_REG[7:0] AES_KEY_3_REG[15:8] AES_KEY_3_REG[23:16] AES_KEY_3_REG[31:24] AES_KEY_0_REG[31:24] AES_KEY_0_REG[23:16] AES_KEY_0_REG[15:8] AES_KEY_0_REG[7:0] AES_KEY_0_REG[7:0] AES_KEY_0_REG[15:8] AES_KEY_0_REG[23:16] AES_KEY_0_REG[31:24]

w[1] AES_KEY_2_REG[31:24] AES_KEY_2_REG[23:16] AES_KEY_2_REG[15:8] AES_KEY_2_REG[7:0] AES_KEY_2_REG[7:0] AES_KEY_2_REG[15:8] AES_KEY_2_REG[23:16] AES_KEY_2_REG[31:24] AES_KEY_1_REG[31:24] AES_KEY_1_REG[23:16] AES_KEY_1_REG[15:8] AES_KEY_1_REG[7:0] AES_KEY_1_REG[7:0] AES_KEY_1_REG[15:8] AES_KEY_1_REG[23:16] AES_KEY_1_REG[31:24]

w[2] AES_KEY_1_REG[31:24] AES_KEY_1_REG[23:16] AES_KEY_1_REG[15:8] AES_KEY_1_REG[7:0] AES_KEY_1_REG[7:0] AES_KEY_1_REG[15:8] AES_KEY_1_REG[23:16] AES_KEY_1_REG[31:24] AES_KEY_2_REG[31:24] AES_KEY_2_REG[23:16] AES_KEY_2_REG[15:8] AES_KEY_2_REG[7:0] AES_KEY_2_REG[7:0] AES_KEY_2_REG[15:8] AES_KEY_2_REG[23:16] AES_KEY_2_REG[31:24]

w[3]1 AES_KEY_0_REG[31:24] AES_KEY_0_REG[23:16] AES_KEY_0_REG[15:8] AES_KEY_0_REG[7:0] AES_KEY_0_REG[7:0] AES_KEY_0_REG[15:8] AES_KEY_0_REG[23:16] AES_KEY_0_REG[31:24] AES_KEY_3_REG[31:24] AES_KEY_3_REG[23:16] AES_KEY_3_REG[15:8] AES_KEY_3_REG[7:0] AES_KEY_3_REG[7:0] AES_KEY_3_REG[15:8] AES_KEY_3_REG[23:16] AES_KEY_3_REG[31:24]

431 

 1. w[0] ~ w[3]  NIST FIPS 197  "5.2 Key Expansion"  "the first Nk words of the expanded key" b 2. Bit  w[0] ~ w[3]  word b

 17.4-5. AES-192 

AES_ENDIAN_REG[1] 0 0 1 1

AES_ENDIAN_REG[0] 0 1 0 1

Bit2 [31:24] [23:16] [15:8] [7:0] [31:24] [23:16] [15:8] [7:0] [31:24] [23:16] [15:8] [7:0] [31:24] [23:16] [15:8] [7:0]

w[0] AES_KEY_5_REG[31:24] AES_KEY_5_REG[23:16] AES_KEY_5_REG[15:8] AES_KEY_5_REG[7:0] AES_KEY_5_REG[7:0] AES_KEY_5_REG[15:8] AES_KEY_5_REG[23:16] AES_KEY_5_REG[31:24] AES_KEY_0_REG[31:24] AES_KEY_0_REG[23:16] AES_KEY_0_REG[15:8] AES_KEY_0_REG[7:0] AES_KEY_0_REG[7:0] AES_KEY_0_REG[15:8] AES_KEY_0_REG[23:16] AES_KEY_0_REG[31:24]

w[1] AES_KEY_4_REG[31:24] AES_KEY_4_REG[23:16] AES_KEY_4_REG[15:8] AES_KEY_4_REG[7:0] AES_KEY_4_REG[7:0] AES_KEY_4_REG[15:8] AES_KEY_4_REG[23:16] AES_KEY_4_REG[31:24] AES_KEY_1_REG[31:24] AES_KEY_1_REG[23:16] AES_KEY_1_REG[15:8] AES_KEY_1_REG[7:0] AES_KEY_1_REG[7:0] AES_KEY_1_REG[15:8] AES_KEY_1_REG[23:16] AES_KEY_1_REG[31:24]

w[2] AES_KEY_3_REG[31:24] AES_KEY_3_REG[23:16] AES_KEY_3_REG[15:8] AES_KEY_3_REG[7:0] AES_KEY_3_REG[7:0] AES_KEY_3_REG[15:8] AES_KEY_3_REG[23:16] AES_KEY_3_REG[31:24] AES_KEY_2_REG[31:24] AES_KEY_2_REG[23:16] AES_KEY_2_REG[15:8] AES_KEY_2_REG[7:0] AES_KEY_2_REG[7:0] AES_KEY_2_REG[15:8] AES_KEY_2_REG[23:16] AES_KEY_2_REG[31:24]

w[3] AES_KEY_2_REG[31:24] AES_KEY_2_REG[23:16] AES_KEY_2_REG[15:8] AES_KEY_2_REG[7:0] AES_KEY_2_REG[7:0] AES_KEY_2_REG[15:8] AES_KEY_2_REG[23:16] AES_KEY_2_REG[31:24] AES_KEY_3_REG[31:24] AES_KEY_3_REG[23:16] AES_KEY_3_REG[15:8] AES_KEY_3_REG[7:0] AES_KEY_3_REG[7:0] AES_KEY_3_REG[15:8] AES_KEY_3_REG[23:16] AES_KEY_3_REG[31:24]

w[4] AES_KEY_1_REG[31:24] AES_KEY_1_REG[23:16] AES_KEY_1_REG[15:8] AES_KEY_1_REG[7:0] AES_KEY_1_REG[7:0] AES_KEY_1_REG[15:8] AES_KEY_1_REG[23:16] AES_KEY_1_REG[31:24] AES_KEY_4_REG[31:24] AES_KEY_4_REG[23:16] AES_KEY_4_REG[15:8] AES_KEY_4_REG[7:0] AES_KEY_4_REG[7:0] AES_KEY_4_REG[15:8] AES_KEY_4_REG[23:16] AES_KEY_4_REG[31:24]

w[5]1 AES_KEY_0_REG[31:24] AES_KEY_0_REG[23:16] AES_KEY_0_REG[15:8] AES_KEY_0_REG[7:0] AES_KEY_0_REG[7:0] AES_KEY_0_REG[15:8] AES_KEY_0_REG[23:16] AES_KEY_0_REG[31:24] AES_KEY_5_REG[31:24] AES_KEY_5_REG[23:16] AES_KEY_5_REG[15:8] AES_KEY_5_REG[7:0] AES_KEY_5_REG[7:0] AES_KEY_5_REG[15:8] AES_KEY_5_REG[23:16] AES_KEY_5_REG[31:24]

ESP32-S2 TRM ( 1.3)

GoBack

 1. w[0] ~ w[5]  NIST FIPS 197  "5.2 Key Expansion"  "the first Nk words of the expanded key" b 2. Bit  w[0] ~ w[5]  word b

 17  AES  (AES)



 17.4-6. AES-256 

AES_ENDIAN_REG[1] 0 0 1 1

AES_ENDIAN_REG[0] 0 1 0 1

Bit2 [31:24] [23:16] [15:8] [7:0] [31:24] [23:16] [15:8] [7:0] [31:24] [23:16] [15:8] [7:0] [31:24] [23:16] [15:8] [7:0]

w[0] AES_KEY_7_REG[31:24] AES_KEY_7_REG[23:16] AES_KEY_7_REG[15:8] AES_KEY_7_REG[7:0] AES_KEY_7_REG[7:0] AES_KEY_7_REG[15:8] AES_KEY_7_REG[23:16] AES_KEY_7_REG[31:24] AES_KEY_0_REG[31:24] AES_KEY_0_REG[23:16] AES_KEY_0_REG[15:8] AES_KEY_0_REG[7:0] AES_KEY_0_REG[7:0] AES_KEY_0_REG[15:8] AES_KEY_0_REG[23:16] AES_KEY_0_REG[31:24]

w[1] AES_KEY_6_REG[31:24] AES_KEY_6_REG[23:16] AES_KEY_6_REG[15:8] AES_KEY_6_REG[7:0] AES_KEY_6_REG[7:0] AES_KEY_6_REG[15:8] AES_KEY_6_REG[23:16] AES_KEY_6_REG[31:24] AES_KEY_1_REG[31:24] AES_KEY_1_REG[23:16] AES_KEY_1_REG[15:8] AES_KEY_1_REG[7:0] AES_KEY_1_REG[7:0] AES_KEY_1_REG[15:8] AES_KEY_1_REG[23:16] AES_KEY_1_REG[31:24]

w[2] AES_KEY_5_REG[31:24] AES_KEY_5_REG[23:16] AES_KEY_5_REG[15:8] AES_KEY_5_REG[7:0] AES_KEY_5_REG[7:0] AES_KEY_5_REG[15:8] AES_KEY_5_REG[23:16] AES_KEY_5_REG[31:24] AES_KEY_2_REG[31:24] AES_KEY_2_REG[23:16] AES_KEY_2_REG[15:8] AES_KEY_2_REG[7:0] AES_KEY_2_REG[7:0] AES_KEY_2_REG[15:8] AES_KEY_2_REG[23:16] AES_KEY_2_REG[31:24]

w[3] AES_KEY_4_REG[31:24] AES_KEY_4_REG[23:16] AES_KEY_4_REG[15:8] AES_KEY_4_REG[7:0] AES_KEY_4_REG[7:0] AES_KEY_4_REG[15:8] AES_KEY_4_REG[23:16] AES_KEY_4_REG[31:24] AES_KEY_3_REG[31:24] AES_KEY_3_REG[23:16] AES_KEY_3_REG[15:8] AES_KEY_3_REG[7:0] AES_KEY_3_REG[7:0] AES_KEY_3_REG[15:8] AES_KEY_3_REG[23:16] AES_KEY_3_REG[31:24]

w[4] AES_KEY_3_REG[31:24] AES_KEY_3_REG[23:16] AES_KEY_3_REG[15:8] AES_KEY_3_REG[7:0] AES_KEY_3_REG[7:0] AES_KEY_3_REG[15:8] AES_KEY_3_REG[23:16] AES_KEY_3_REG[31:24] AES_KEY_4_REG[31:24] AES_KEY_4_REG[23:16] AES_KEY_4_REG[15:8] AES_KEY_4_REG[7:0] AES_KEY_4_REG[7:0] AES_KEY_4_REG[15:8] AES_KEY_4_REG[23:16] AES_KEY_4_REG[31:24]

w[5] AES_KEY_2_REG[31:24] AES_KEY_2_REG[23:16] AES_KEY_2_REG[15:8] AES_KEY_2_REG[7:0] AES_KEY_2_REG[7:0] AES_KEY_2_REG[15:8] AES_KEY_2_REG[23:16] AES_KEY_2_REG[31:24] AES_KEY_5_REG[31:24] AES_KEY_5_REG[23:16] AES_KEY_5_REG[15:8] AES_KEY_5_REG[7:0] AES_KEY_5_REG[7:0] AES_KEY_5_REG[15:8] AES_KEY_5_REG[23:16] AES_KEY_5_REG[31:24]

w[6] AES_KEY_1_REG[31:24] AES_KEY_1_REG[23:16] AES_KEY_1_REG[15:8] AES_KEY_1_REG[7:0] AES_KEY_1_REG[7:0] AES_KEY_1_REG[15:8] AES_KEY_1_REG[23:16] AES_KEY_1_REG[31:24] AES_KEY_6_REG[31:24] AES_KEY_6_REG[23:16] AES_KEY_6_REG[15:8] AES_KEY_6_REG[7:0] AES_KEY_6_REG[7:0] AES_KEY_6_REG[15:8] AES_KEY_6_REG[23:16] AES_KEY_6_REG[31:24]

w[7]1 AES_KEY_0_REG[31:24] AES_KEY_0_REG[23:16] AES_KEY_0_REG[15:8] AES_KEY_0_REG[7:0] AES_KEY_0_REG[7:0] AES_KEY_0_REG[15:8] AES_KEY_0_REG[23:16] AES_KEY_0_REG[31:24] AES_KEY_7_REG[31:24] AES_KEY_7_REG[23:16] AES_KEY_7_REG[15:8] AES_KEY_7_REG[7:0] AES_KEY_7_REG[7:0] AES_KEY_7_REG[15:8] AES_KEY_7_REG[23:16] AES_KEY_7_REG[31:24]

 1. w[0] ~ w[7]  NIST FIPS 197  "5.2 Key Expansion"  "the first Nk words of the expanded key" b 2. Bit  w[0] ~ w[7]  word b

432 

ESP32-S2 TRM ( 1.3)

GoBack

 17  AES  (AES)

GoBack

17.4.3 Typical AES 
 1.  AES_DMA_ENABLE_REG  0b 2.  AES_MODE_REGaAES_KEY_n_REGaAES_TEXT_IN_m_REGaAES_ENDIAN_REGb 3. b AES_TRIGGER_REG  1b 4. b AES_STATE_REG 0b 5.  AES_TEXT_OUT_m_REG b
  AES_TEXT_OUT_m_REG (m: 0-3)  AES   AES_DMA_ENABLE_REGaAES_MODE_REGaAES_KEY_n_REGaAES_ENDIAN_REG  bb
1.  AES_DMA_ENABLE_REG  0b 2.  AES_MODE_REGaAES_KEY_n_REGaAES_ENDIAN_REGb 3.  AES_TEXT_IN_m_REGb 4. b AES_TRIGGER_REG  1b 5. b AES_STATE_REG 0b 6.  AES_TEXT_OUT_m_REG  b 3b

17.5 DMA-AES 

 DMA-AES AES  ECB/CBC/OFB/CTR/CFB8/CFB128  6  GCM  b AES_BLOCK_MODE_REG  17.5-1b
 17.5-1. 

AES_BLOCK_MODE_REG[2:0] 0 1 2 3 4 5 6

 ECB (Electronic Code Book) CBC (Cipher Block Chaining) OFB (Output FeedBack) CTR (Counter) CFB8 (8-bit Cipher FeedBack) CFB128 (128-bit Cipher FeedBack) GCM (Galois/Counter Mode)

AES  AES_STATE_REG 17.5-2   17.5-2. 

  0 IDLE

 



433 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack

1

WORK 

2 DONE 

AES  DMA-AES b AES_INT_ENA_REG   1 bAES b
17.5.1 aa

AES  (in_stream)  DMA (out_stream)  DMAb
·  DMA  memory  AESbAES  DMAbDMA  memoryb
·  DMA  memory  AESbAES  DMAbDMA  memoryb
AES bDMA  AES  b
AES  DMA-AES  128   128  (bit string) o0p 17.5-3  b
 17.5-3. TEXT-PADDING
Function : TEXT-PADDING( ) Input : X, bit string. Output : Y = TEXT-PADDING(X), whose length is the nearest integral multiples of 128 bits. Steps
Let us assume that X is a data-stream that can be split into n parts as following: X = X1||X2|| · · · ||Xn-1||Xn Here, the lengths of X1, X2, · · · , Xn-1 all equals to 128 bits, and the length of Xn is t (0<=t<=127). If t = 0, then
TEXT-PADDING(X) = X; If 0 < t <= 127, define a 128-bit block, Xn, and let Xn = Xn||0128-t, then
TEXT-PADDING(X) = X1||X2|| · · · ||Xn-1||Xn = X||0128-t

17.5.2 
 DMA-AES  DMA   memory  block b  DMA  2  block 
· 0102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F20  0x0280 memory  17.5-4 b b



434 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

 17.5-4. DMA AES 

 0x0280 0x0284 0x0288 0x028C 0x0290 0x0294 0x0298 0x029C

 0x01 0x05 0x09 0x0D 0x11 0x15 0x19 0x1D

 0x0281 0x0285 0x0289 0x028D 0x0291 0x0295 0x0299 0x029D

 0x02 0x06 0x0A 0x0E 0x12 0x16 0x1A 0x1E

 0x0282 0x0286 0x028A 0x028E 0x0292 0x0296 0x029A 0x029E

 0x03 0x07 0x0B 0x0F 0x13 0x17 0x1B 0x1F

 0x0283 0x0287 0x028B 0x028F 0x0293 0x0297 0x029B 0x029F

 0x04 0x08 0x0C 0x10 0x14 0x18 0x1C 0x20

GoBack

DMA  PSRAMb PSRAM   DMA b 2 DMA  (DMA)b
17.5.3 
AES  CTR INC32  INC128 b  AES_INC_SEL_REG  0  1  INC32  INC128 b NIST SP 800-38A oB.1 The Standard Incrementing Functionpb
17.5.4 
 AES_BLOCK_NUM_REG  (Block Number) length(TEXT-PADDING(P ))/128 length(TEXT-PADDING(C))/128b P cplaintextC  cciphertextb DMA-AES b
17.5.5 
 AES_IV_MEM  16 b CBC/OFB/CFB8/CFB128  AES_IV_MEM  (Initialization Vector, IV) b CTR AES_IV_MEM   (Initial Counter Block, ICB) b IV  ICB  128-bit  16  (Byte0, Byte1, Byte2, · · ·, Byte15)  AES_IV_MEM  17.5-4  Byte0  AES_IV_MEM  Byte15  AES_IV_MEM b  IV  ICB  NIST SP 800-38A b
17.5.6 
1.  CRYPTO_DMA_AES_SHA_SELECT_REG  0b 2.  Crypto DMA  DMAb 2 DMA  (DMA)b 3.  AES
·  AES_DMA_ENABLE_REG  1b



435 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack

· b AES_INT_ENA_REG b ·  AES_MODE_REGaAES_KEY_n_REGaAES_ENDIAN_REGb ·  AES_BLOCK_MODE_REG 17.5-1b ·  AES_BLOCK_NUM_REG 17.5.4b ·  AES_INC_SEL_REGc CTR b ·  AES_IV_MEMc ECB b 4. b AES_TRIGGER_REG  1b 5. b AES_STATE_REG 2b AES_INT b 6.  DMA  AES b DMA  memory b 2 DMA  (DMA)b 7.  AES_INT_CLR_REG  1 b 8.  AES_DMA_EXIT_REG  1  AES b AES_STATE_REG  0b 5 b

17.5.7 GCM 
1.  CRYPTO_DMA_AES_SHA_SELECT_REG  0b 2.  Crypto DMA  DMAb 2 DMA  (DMA)b 3.  AES
·  AES_DMA_ENABLE_REG  1b · b AES_INT_ENA_REG b ·  AES_MODE_REGaAES_KEY_n_REGaAES_ENDIAN_REGb ·  AES_BLOCK_MODE_REG  6b ·  AES_BLOCK_NUM_REG 17.5.4b ·  AES_AAD_BLOCK_NUM_REG 17.6.4b ·  AES_REMAINDER_BIT_NUM_REG 17.6.5bb 4. b AES_TRIGGER_REG  1b 5.  AES_STATE_REG 0b 17.5-2bb 6.  AES_H_MEM  Hb 7.  J0 AES_J0_MEMb 8. b AES_CONTINUE_OP_REG  1b 9. b AES_STATE_REG 2b 17.5-2b  AES_INT b 10. T0 b AES_T0_MEM  T0b



436 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack

11.  DMA b DMA  memoryb 2 DMA  (DMA)b
12.  AES_INT_CLR_REG  1 b
13.  AES_DMA_EXIT_REG  1b AES_STATE_REG  0b  9 b

17.6 GCM 
ESP32-S2  AES  GCM c NIST SP 800-38D b  232 - 1  AAD aC  P  AAD aC  P   232 - 1 b 17.6-1  ESP32-S2  AES  GCM b

 17.6-1. GCM 

 1.  ECB  (H)  2.  GHASH  AAD  3.  INC32  J0  CTR  4.  GCTR  P  GHASH  C   5.  GHASH  128 



437 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack

6.  GCTR  J0  T0  7.  T0 MSBt  T b GCM  GCM  17.6-1  4  GCTR  bb

17.6.1 cHash subkey
 GCM  (H)  128-bit  17.6-1  1  NIST SP 800-38D o7 GCM SpecificationpoStep 1. Let H = CIPHK (0128) pb  (H)  AES_H_MEM  17.5-4   AES_H_MEM  AES_H_MEM b

17.6.2 J0
 GCM J0  128-bit  17.6-1  3  6 b  NIST SP 800-38D o7 GCM Specificationpb NIST SP 800-38D b J0  AES_J0_MEM  17.5-4  AES_J0_MEM  AES_J0_MEM b
17.6.3 cAuthenticated Tag
cAuthenticated Tag Tag GCM  17.6-1   7  t (1 <= t <= 128) 
·  t = 128 Tag  T0bT0  128-bit  AES_T0_MEM  17.5-4  AES_T0_MEM   AES_T0_MEM b
·  1 <= t < 128 Tag  T0  t  MSBt(T0) b MSB4(111011010) = 1110MSB5(11010011010) = 11010b MSBt( )  NIST SP 800-38D o6 Mathematical Components of GCMpb
17.6.4 cAAD Block Number 
 AES_AAD_BLOCK_NUM_REG cAdditional Authenticated Data, AAD  length(TEXT-PADDING(AAD))/128b DMA-AES  GCM b

17.6.5  (Remainder Bit Number)
 AES_REMAINDER_BIT_NUM_REG  length(P )%128b  DMA-AES  GCM b AES_REMAINDER_BIT_NUM_REG   Tag c T0 b GCM GCM  GCTR   GHASH GCTR GHASH  Tagb
·  GCM  C TEXT-PADDING(C) GHASH b  AES_REMAINDER_BIT_NUM_REG  0 b



438 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)
·  GCM  TEXT-PADDING(C)  AES_REMAINDER_BIT_NUM_REG b

GoBack

17.7 

 AES 17.7-1 b 3  b
 17.7-1. AES 

 PeriBUS1 PeriBUS2

 0x3F43A000 0x6003A000

17.8 

 AES cb 17.7   AES b
 17.8-1. AES 

 AES_IV_MEM AES_H_MEM AES_J0_MEM AES_T0_MEM

  IV  H  J0  T0

c  16  0x0050 16  0x0060 16  0x0070 16  0x0080

 0x005F 0x006F 0x007F 0x008F

 /  / 

17.9 

 AES cb 17.7  AES  b

  AES_KEY_0_REG AES_KEY_1_REG AES_KEY_2_REG AES_KEY_3_REG AES_KEY_4_REG AES_KEY_5_REG AES_KEY_6_REG AES_KEY_7_REG TEXT_IN  AES_TEXT_IN_0_REG


AES  0 AES  1 AES  2 AES  3 AES  4 AES  5 AES  6 AES  7
 0


0x0000 0x0004 0x0008 0x000C 0x0010 0x0014 0x0018 0x001C
0x0020


/ / / / / / / /
/



439 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

 AES_TEXT_IN_1_REG AES_TEXT_IN_2_REG AES_TEXT_IN_3_REG TEXT_OUT  AES_TEXT_OUT_0_REG AES_TEXT_OUT_1_REG AES_TEXT_OUT_2_REG AES_TEXT_OUT_3_REG  AES_MODE_REG AES_ENDIAN_REG AES_DMA_ENABLE_REG AES_BLOCK_MODE_REG AES_BLOCK_NUM_REG AES_INC_SEL_REG AES_AAD_BLOCK_NUM_REG AES_REMAINDER_BIT_NUM_REG  AES_TRIGGER_REG AES_STATE_REG AES_CONTINUE_OP_REG AES_DMA_EXIT_REG  AES_INT_CLR_REG AES_INT_ENA_REG

  1  2  3
 0  1  2  3
  DMA     AAD  
   
DMA-AES  DMA-AES 

 0x0024 0x0028 0x002C
0x0030 0x0034 0x0038 0x003C
0x0040 0x0044 0x0090 0x0094 0x0098 0x009C 0x00A0 0x00A4
0x0048 0x004C 0x00A8 0x00B8
0x00AC 0x00B0

GoBack
 / / /
   
/ / / / / / / /
   
 /

17.10 
Register 17.1. AES_KEY_n_REG (n: 0-7) (0x0000+4*n)
31
0x000000000
AES_KEY_n_REG (n: 0-7) AES bc/

0
Reset

Register 17.2. AES_TEXT_IN_m_REG (m: 0-3) (0x0020+4*m)
31
0x000000000
AES_TEXT_IN_m_REG (m: 0-3) Typical AES bc/

0
Reset



440 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)
Register 17.3. AES_TEXT_OUT_m_REG (m: 0-3) (0x0030+4*m)
31
0x000000000
AES_TEXT_OUT_m_REG (m: 0-3) Typical AES bc

GoBack
0
Reset

Register 17.4. AES_MODE_REG (0x0040)
(reserved)
31
0x00000000
AES_MODE  AES b 17.4-1bc/

AES_MODE

32

0

0

Reset

Register 17.5. AES_ENDIAN_REG (0x0044)
(reserved)
31
0x0000000
AES_ENDIAN b 17.4-3bc/

AES_ENDIAN

65

0

0 0 0 0 0 0 Reset

Register 17.6. AES_DMA_ENABLE_REG (0x0090)
(reserved)
31
0x00000000
AES_DMA_ENABLE b 17.3-1bc/

AES_DMA_ENABLE
10
0 Reset



441 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack

Register 17.7. AES_BLOCK_MODE_REG (0x0094)
(reserved)
31
0x00000000
AES_BLOCK_MODE  DMA-AES b 17.5-1bc/

AES_BLOCK_MODE

32

0

0

Reset

Register 17.8. AES_BLOCK_NUM_REG (0x0098)

AES_BLOCK_NUM

31

0

0x00000000

Reset

AES_BLOCK_NUM  DMA-AES b 17.5.4bc/

Register 17.9. AES_INC_SEL_REG (0x009C)

(reserved)

AES_INC_SEL

31

10

0x00000000

0 Reset

AES_INC_SEL  CTR b 0  INC32  1  INC128 bc/

Register 17.10. AES_AAD_BLOCK_NUM_REG (0x00A0)
31
0x00000000
AES_AAD_BLOCK_NUM  GCM  AAD b 17.6.4bc/

0
Reset



442 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack

Register 17.11. AES_REMAINDER_BIT_NUM_REG (0x00A4)

(reserved)

AES_REMAINDER_BIT_NUM

31

76

0

0x0000000

0

Reset

AES_REMAINDER_BIT_NUM  GCM b 17.6.5bc/

Register 17.12. AES_TRIGGER_REG (0x0048)
(reserved)
31
0x00000000
AES_TRIGGER  1  AES bc

AES_TRIGGER
10
x Reset

Register 17.13. AES_STATE_REG (0x004C)

(reserved)

AES_STATE

31

21

0

0x00000000

0x0 Reset

AES_STATE AES b 17.4-2cTypical AES  17.5-2cDMA-AES  bc

Register 17.14. AES_CONTINUE_OP_REG (0x00A8)
(reserved)
31
0x00000000
AES_CONTINUE_OP  GCM  1 bc

AES_CONTINUE
10
x Reset



443 

ESP32-S2 TRM ( 1.3)

 17  AES  (AES)

GoBack

Register 17.15. AES_DMA_EXIT_REG (0x00B8)

(reserved)

AES_DMA_EXIT

31

10

0x00000000

x Reset

AES_DMA_EXIT  DMA-AES  AES  1  AES  bc

Register 17.16. AES_INT_CLR_REG (0x00AC)
(reserved)
31
0x00000000
AES_INT_CLR  1  AES bc

AES_INT_CLR
10
0 Reset

Register 17.17. AES_INT_ENA_REG (0x00B0)
(reserved)
31
0x00000000
AES_INT_ENA  1  AES  0  AES bc/

AES_INT_ENA
10
0 Reset



444 

ESP32-S2 TRM ( 1.3)

 18  RSA  (AES)

GoBack

 18 
RSA  (AES)
18.1 
RSA oRSA p opb
18.2 
RSA  · c ·  ·  ·  · 
18.3 
RSA  SYSTEM_PERIP_CLK_EN1_REG  SYSTEM_CRYPTO_RSA_CLK_EN   SYSTEM_RSA_PD_CTRL_REG  SYSTEM_RSA_MEM_PD b RSA RSA b RSA_CLEAN_REG  0  1 b RSA   RSA_CLEAN_REG  1 RSA b RSA  RSA_INTERRUPT_ENA_REG  1 / 0  / bRSA  b
 ESP32-S2  (DSA) RSA b RSA b

18.3.1 
 Z = XY mod M  Montgomery Multiplication cb  XaY aM  r  M b b



445 

ESP32-S2 TRM ( 1.3)

 18  RSA  (AES)

GoBack

RSA  N = 32 × x (x  {1, 2, 3, . . . , 128}) bZaXaY aM  r  128  M   32b 
b = 232

 b  N
n= 32
Z = (Zn-1Zn-2 · · · Z0)b X = (Xn-1Xn-2 · · · X0)b Y = (Yn-1Yn-2 · · · Y0)b M = (Mn-1Mn-2 · · · M0)b
r = (rn-1rn-2 · · · r0)b
 Zn-1 · · · Z0aXn-1 · · · X0aYn-1 · · · Y0aMn-1 · · · M0arn-1 · · · r0  b  32b  Zn-1aXn-1aYn-1aMn-1arn-1  ZaXaY aM ar  b  Z0aX0aY0aM0ar0  ZaXaY aM ar  b b  R = bn r = R2 mod M b M  

M -1 × M + 1 = R × R-1 M  = M -1 mod b

 GCD b 

1.  RSA_INTERRUPT_ENA_REG  1 / 0  / b

2. b

(a)



RSA_MODE_REG



(

N 32

- 1)b

(b)  RSA_M_PRIME_REG  M b

(c) b 18.3.4 b

3.  XiaYiaMiari(i  {0, 1, . . . , n})  RSA_X_MEMaRSA_Y_MEMaRSA_M_MEMa RSA_Z_MEMb 128  (word)b b b b

b

4.  RSA_MODEXP_START_REG  1 b

5. b RSA_IDLE_REG  1 RSA b

6.  RSA_Z_MEM  Zi(i  {0, 1, . . . , n} )b



446 

ESP32-S2 TRM ( 1.3)

 18  RSA  (AES)

GoBack

7.  RSA_CLEAR_INTERRUPT_REG  1 b
 RSA_MODE_REG  RSA_Y_MEM  Yia RSA_M_MEM  Mia RSA_M_PRIME_REG  M  b RSA_X_MEM  Xi  RSA_Z_MEM  ri b b

18.3.2 

 Montgomery Multiplication  Z = X × Y mod M   r  M b

RSA  128 b



1.  RSA_INTERRUPT_ENA_REG  1 / 0  / b

2. b

(a)



RSA_MODE_REG



(

N 32

- 1)b

(b)  RSA_M_PRIME_REG  M b

3.  XiaYiaMiari (i  {0, 1, . . . , n})  RSA_X_MEMaRSA_Y_MEMaRSA_M_MEMa RSA_Z_MEMb 128  (word)b

 b b b

b

4.  RSA_MODMULT_START_REG  1b

5. b RSA_IDLE_REG  1 RSA b

6.  RSA_Z_MEM  Zi (i  {0, 1, . . . , n})b 7.  RSA_CLEAR_INTERRUPT_REG  1 b

 RSA_MODE_REG  RSA_X_MEM  Xia RSA_Y_MEM  Yia RSA_M_MEM  Mia RSA_M_PRIME_REG  M  b  RSA_Z_MEM  ri b b

18.3.3 

 Z = X × Y b Z  XaY b RSA   N = 32 × x (x  {1, 2, . . . , 64}) b Z  N^  2 × N b



1.  RSA_INTERRUPT_ENA_REG  1 / 0  / b

2.

b

RSA_MODE_REG



(

N^ 32

-

1)

(

N 16

- 1)b



447 

ESP32-S2 TRM ( 1.3)

 18  RSA  (AES)

GoBack

3.  XiaYi (i  {0, 1, . . . , n})  RSA_X_MEMaRSA_Z_MEMb 128

b b b

bn



N 32

b

Xi (i  {0, 1, . . . , n})  RSA_X_MEM  i Yi (i  {0, 1, . . . , n})  RSA_Z_MEM  i   RSA_Z_MEM  n + i  RSA_Z_MEM  4 × (n + i)b

b

4.  RSA_MULT_START_REG  1b

5. b RSA_IDLE_REG  1 RSA b

6.  RSA_Z_MEM  Zi (i  {0, 1, . . . , n})bn^  2 × n b 7.  RSA_CLEAR_INTERRUPT_REG  1 b

 RSA_MODE_REG  RSA_X_MEM  Xi b  RSA_Z_MEM  Yi b b

18.3.4 
ESP32-S2 RSA  SEARCH  CONSTANT_TIME  bb
 Z = XY mod M b  Y  0/1 b
 Y 

Y = (YN-1YN-2 · · · Yt+1YtYt-1 · · · Y0)2


· N  Y 
· Yt  1 · YN-1, YN-2, ..., Yt+1  0 ·  Yt-1, Yt-2, ..., Y0  m  0 t-m  1 Yt-1Yt-2, · · · , Y0  (Hamming
weight)  t - mb

· SEARCH 
­ RSA  Yici > b   RSA_SEARCH_POS_REG  b  N -1 t Z = XY mod M b   t bYN-1, YN-2, ..., Yt+1  0  b



448 

ESP32-S2 TRM ( 1.3)

 18  RSA  (AES)

GoBack

· CONSTANT_TIME 
­ RSA  Y  0 bY  0  b
b Z = XY mod M N  3072Y  65537b 18.3-1  4 b b SEARCH    16b

 18.3-1. 

SEARCH     

CONSTANT_TIME     

 376.405 ms
2.260 ms 1.203 ms 1.165 ms

 0%
99.41% 99.68% 99.69%

18.4 

 RSA 18.4-1 b 3  b
 18.4-1. RSA 

 PeriBUS1 PeriBUS2

 0x3F43C000 0x6003C000

18.5 

 RSA cb 18.4   RSA b
 18.5-1. RSA 

 RSA_M_MEM RSA_Z_MEM RSA_Y_MEM RSA_X_MEM

  M  Z  Y  X

c  512 0x0000 512 0x0200 512 0x0400 512 0x0600

 0x01FF 0x03FF 0x05FF 0x07FF

  /  

18.6 

 RSA cb 18.4  RSA  b











449 

ESP32-S2 TRM ( 1.3)

 18  RSA  (AES)

GoBack

 RSA_M_PRIME_REG RSA_MODE_REG RSA_CONSTANT_TIME_REG RSA_SEARCH_ENABLE_REG RSA_SEARCH_POS_REG / RSA_CLEAN_REG RSA_MODEXP_START_REG RSA_MODMULT_START_REG RSA_MULT_START_REG RSA_IDLE_REG  RSA_CLEAR_INTERRUPT_REG RSA_INTERRUPT_ENA_REG  RSA_DATE_REG

M'  RSA    search  search 
RSA     RSA 
RSA  RSA 
RSA 

0x0800 0x0804 0x0820 0x0824 0x0828
0x0808 0x080C 0x0810 0x0814 0x0818
0x081C 0x082C
0x0830

/ / / / /
    
 /
/

18.7 

 RSA cb 18.4  RSA  b
Register 18.1. RSA_M_PRIME_REG (0x0800)

31
0x000000000

0
Reset

RSA_M_PRIME_REG  M'bc/

Register 18.2. RSA_MODE_REG (0x0804)

(reserved)

RSA_MODE

31

76

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RSA_MODE bc/



450 

ESP32-S2 TRM ( 1.3)

 18  RSA  (AES)

GoBack

Register 18.3. RSA_CLEAN_REG (0x0808)

(reserved)

RSA_CLEAN

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RSA_CLEAN  1bc

Register 18.4. RSA_MODEXP_START_REG (0x080C)

(reserved)

RSA_MODEXP_START

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RSA_MODEXP_START  1 bc

Register 18.5. RSA_MODMULT_START_REG (0x0810)

(reserved)

RSA_MODMULT_START

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RSA_MODMULT_START  1 bc

Register 18.6. RSA_MULT_START_REG (0x0814)

(reserved)

RSA_MULT_START

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RSA_MULT_START  1 bc



451 

ESP32-S2 TRM ( 1.3)

 18  RSA  (AES)

GoBack

Register 18.7. RSA_IDLE_REG (0x0818)

(reserved)

RSA_IDLE

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RSA_IDLE  RSA  1bc

Register 18.8. RSA_CLEAR_INTERRUPT_REG (0x081C)

(reserved)

RSA_CLEAR_INTERRUPT

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RSA_CLEAR_INTERRUPT RSA b 1 bc

Register 18.9. RSA_CONSTANT_TIME_REG (0x0820)

(reserved)

RSA_CONSTANT_TIME

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

RSA_CONSTANT_TIME_REG  constant_time b01ccb/

Register 18.10. RSA_SEARCH_ENABLE_REG (0x0824)

(reserved)

RSA_SEARCH_ENABLE

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RSA_SEARCH_ENABLE  search b10cbc/



452 

ESP32-S2 TRM ( 1.3)

 18  RSA  (AES)

GoBack

Register 18.11. RSA_SEARCH_POS_REG (0x0828)

(reserved)

31

12 11

00000000000000000000

RSA_SEARCH_POS 0x000

0
Reset

RSA_SEARCH_POS  search b search c/b

Register 18.12. RSA_INTERRUPT_ENA_REG (0x082C)

(reserved)

RSA_INTERRUPT_ENA

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

RSA_INTERRUPT_ENA RSA b 1 bc/

(reserved)
31 30 29
00

Register 18.13. RSA_DATE_REG (0x0830)
RSA_DATE 0x20190425

RSA_DATE c/b

0
Reset



453 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

GoBack

 19  HMAC  (HMAC)

19.1 
 RFC 2104 ,HMAC  hash  (MAC)b hash   SHA-256 256-bit  HMAC  eFuse b HMAC opopbop HMAC  opHMAC  (KDF)b

19.2 
·  HMAC-SHA-256  · HMAC  hash c · - · c ·  JTAGc

19.3 

19.3.1 
 HMAC b  eFuse cb HMAC-SHA-256 -b -
· A  M · A  M  B · B  HMAC c M  A · A  HMAC c M  · A b B   1.  256-bit HMAC  eFuse 
EFUSE_KEY_PURPOSE_HMAC_UPb 4b



454 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

GoBack

2.  eFuse bb  HMAC 
1.  HMAC b 2. b 3.  HMAC b  19.3.5b

19.3.2  JTAG 
eFuse memory  JTAG EFUSE_HARD_DIS_JTAG  EFUSE_SOFT_DIS_JTAGb  1JTAG  1JTAG b 4b
 EFUSE_SOFT_DIS_JTAG  HMAC  JTAGb

1.  256-bit HMAC  eFuse  EFUSE_KEY_PURPOSE_HMAC_DOWN_JTAG  EFUSE_KEY_PURPOSE_HMAC_DOWN_ALLb EFUSE_KEY_PURPOSE_HMAC_DOWN_ALL DS  JTAG b
2.  eFuse b b
3.  EFUSE_SOFT_DIS_JTAG  1b
 JTAG
1.  SHA-256  32  0x00  HMAC   SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_0 ~ SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_7 b
2.  HMAC ,  TJAG b
3.  HMAC  SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_0 ~ SYSTEM_CANCEL_EFUSE_DISABLE_JTAG_TEMPORARY_7  JTAG bJTAG b
4.  1  HMAC_SET_INVALIDATE_JTAG_REG JTAG  3  b
 19.3.5b

19.3.3 
 (DS)  AES-CBC bHMAC  (KDF)  AES b 
1.  256-bit HMAC  eFuse 



455 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

GoBack

EFUSE_KEY_PURPOSE_HMAC_DOWN_DIGITAL_SIGNATURE  EFUSE_KEY_PURPOSE_HMAC_DOWN_ALLb EFUSE_KEY_PURPOSE_HMAC_DOWN_ALL  DS  JTAG b
2.  eFuse bb
 DS  HMAC  DS b DS  b 20b

19.3.4 HMAC eFuse 
HMAC  eFuse  HMAC b
 HMAC 
 HMAC  3  JTAG  DS  HMAC b 19.3-1   HMAC_SET_PARA_PURPOSE_REGc 19.3.5b

 19.3-1. HMAC 

 JTAG  DS  HMAC  JTAG  DS 

    

 6 7 8 5

 EFUSE_KEY_PURPOSE_HMAC_DOWN_JTAG EFUSE_KEY_PURPOSE_HMAC_DOWN_DIGITAL_SIGNATURE EFUSE_KEY_PURPOSE_HMAC_UP EFUSE_KEY_PURPOSE_HMAC_DOWN_ALL

 eFuse 
eFuse  6 KEY0 ~ 5 b n  HMAC_SET_PARA_KEY_REG  KEYn  HMAC b
eFuse memory  HMAC  KEYn  HMAC b
 4b
 KEY3  KEY_PURPOSE_3  6 (EFUSE_KEY_PURPOSE_HMAC_DOWN_JTAG) 19.3-1 KEY3  JTAG b  HMAC_SET_PARA_PURPOSE_REG  6HMAC  JTAG  b

19.3.5  HMAC c
 ESP32-S2  HMAC  1.  HMAC  (a)  HMAC  SHA b (b)  1  HMAC_SET_START_REGb



456 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

GoBack

2.  HMAC 
(a)  m  HMAC_SET_PARA_PURPOSE_REGb 4.3-2  m   19.3.4b
(b)  n  HMAC_SET_PARA_KEY_REG eFuse memory  KEYn  cn  0 - 5 19.3.4b
(c)  1  HMAC_SET_PARA_FINISH_REGb
(d)  HMAC_QUERY_ERROR_REGb 1  0 b
(e)  HMAC_SET_PARA_PURPOSE_REG  8 HMAC   3 8 HMAC  4b
3. 
(a)  HMAC_QUERY_BUSY_REG 0  HMAC b
(b)  JTAG  DS b 1  HMAC_SET_INVALIDATE_JTAG_REG  JTAG  1  HMAC_SET_INVALIDATE_DS_REG b
(c) b
4.  Block_ncn >= 1
(a)  HMAC_QUERY_BUSY_REG 0 b
(b)  512-bit  Block_n  HMAC_WDATA0~15_REG  1  HMAC_SET_MESSAGE_ONE_REGHMAC b
(c)  HMAC_QUERY_BUSY_REG 0 b
(d)  512 b
·  512  3 
i.  Block_n+1  1  HMAC_SET_MESSAGE_ING_REG n = n + 1 4.(b)b
ii.  Block_n  SHA  1   HMAC_SET_MESSAGE_END_REG 6b
iii.  Block_n  SHA  1  HMAC_SET_MESSAGE_PAD_REG 5b
·  512  3 b  SHA  512 b
i.  Block_n  n = 1 Block_1   1  HMAC_ONE_BLOCK_REG 6b
ii.  Block_n  1  HMAC_SET_MESSAGE_PAD_REG 5b



457 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

GoBack

iii.  Block_n  1  HMAC_SET_MESSAGE_ING_REG n = n + 1 4.(b)b
5.  SHA  (a)  19.4.1  SHA  HMAC_WDATA0~15_REG 1  HMAC_SET_MESSAGE_ONE_REGHMAC  b (b)  6b
6.  hash  (a)  HMAC_QUERY_BUSY_REG 0 b (b)  HMAC_RDATA0~7_REG  hash b (c)  1  HMAC_SET_RESULT_FINISH_REGb
 DS  HMAC  SHA b HMAC  SHA  CPU  DS b

19.4 HMAC 
19.4.1 
HMAC  SHA-256  HASH b 512   SHA-256 bSHA-256 oFIPS PUB 180-4po5.1 Padding the Messagepb 19.4-1 m 
1.  1 o1pb 2.  k o0pbk  m + 1 + k448(mod512) b 3.  64 b m
b

 19.4-1. HMAC 
b 512   SHA  512  SHA b 19.3.5b



458 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

GoBack

19.4.2 HMAC 
HMAC  19.4-2 b RFC 2104  HMAC b

 19.4-2. HMAC 
 19.4-2  1. ipad  64  0x36  512-bit b 2. opad  64  0x5c  512-bit b
HMAC  256-bit  K  256-bit  0  512-bit  K0b K0  ipad  512-bit  S1b 512  512-bit  S1  SHA-256  256-bit  H1b HMAC  K0  opad  S2 256-bit  hash  512-bit  S2   768-bit  19.4.1  SHA  1024-bit   SHA-256  hash b

19.5 

 HMAC  19.5-1 b 3  b
 19.5-1. HMAC 

 PeriBUS1 PeriBUS2

 0x3F43E000 0x6003E000



459 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

GoBack

19.6 

 ()b 19.5  b





Control/Status Registers HMAC_SET_START_REG HMAC_SET_PARA_FINISH_REG HMAC_SET_MESSAGE_ONE_REG HMAC_SET_MESSAGE_ING_REG HMAC_SET_MESSAGE_END_REG HMAC_SET_RESULT_FINISH_REG HMAC_SET_INVALIDATE_JTAG_REG HMAC_SET_INVALIDATE_DS_REG HMAC_QUERY_ERROR_REG HMAC_QUERY_BUSY_REG configuration Registers HMAC_SET_PARA_PURPOSE_REG HMAC_SET_PARA_KEY_REG HMAC Message Block HMAC_WR_MESSAGE_0_REG HMAC_WR_MESSAGE_1_REG HMAC_WR_MESSAGE_2_REG HMAC_WR_MESSAGE_3_REG HMAC_WR_MESSAGE_4_REG HMAC_WR_MESSAGE_5_REG HMAC_WR_MESSAGE_6_REG HMAC_WR_MESSAGE_7_REG HMAC_WR_MESSAGE_8_REG HMAC_WR_MESSAGE_9_REG HMAC_WR_MESSAGE_10_REG HMAC_WR_MESSAGE_11_REG HMAC_WR_MESSAGE_12_REG HMAC_WR_MESSAGE_13_REG HMAC_WR_MESSAGE_14_REG HMAC_WR_MESSAGE_15_REG HMAC Upstream Result HMAC_RD_RESULT_0_REG HMAC_RD_RESULT_1_REG HMAC_RD_RESULT_2_REG HMAC_RD_RESULT_3_REG HMAC_RD_RESULT_4_REG HMAC_RD_RESULT_5_REG

HMAC  HMAC  HMAC  HMAC  HMAC  HMAC   JTAG     HMAC 
HMAC  HMAC 
 0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15
Hash  0 Hash  1 Hash  2 Hash  3 Hash  4 Hash  5



 

0x0040 0x004C 0x0050 0x0054 0x0058 0x005C 0x0060 0x0064 0x0068 0x006C

         

0x0044  0x0048 

0x0080 0x0084 0x0088 0x008C 0x0090 0x0094 0x0098 0x009C 0x00A0 0x00A4 0x00A8 0x00AC 0x00B0 0x00B4 0x00B8 0x00BC

               

0x00C0 0x00C4 0x00C8 0x00CC 0x00D0 0x00D4

     



460 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

HMAC_RD_RESULT_6_REG HMAC_RD_RESULT_7_REG Control/Status Registers HMAC_SET_MESSAGE_PAD_REG HMAC_ONE_BLOCK_REG Version Register HMAC_DATE_REG


Hash  6 Hash  7
 One block 


GoBack


0x00D8 0x00DC

   

0x00F0  0x00F4 

0x00F8 

19.7 

Register 19.1. HMAC_SET_START_REG (0x0040)

(reserved)

HMAC_SET_START

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_SET_START  1  HMACbc

Register 19.2. HMAC_SET_PARA_FINISH_REG (0x004C)

(reserved)

HMAC_SET_PARA_END

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_SET_PARA_END  1  HMAC bc



461 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

GoBack

Register 19.3. HMAC_SET_MESSAGE_ONE_REG (0x0050)

(reserved)

HMAC_SET_TEXT_ONE

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_SET_TEXT_ONE  SHA bc

Register 19.4. HMAC_SET_MESSAGE_ING_REG (0x0054)

(reserved)

HMAC_SET_TEXT_ING

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_SET_TEXT_ING  1 bc

Register 19.5. HMAC_SET_MESSAGE_END_REG (0x0058)

(reserved)

HMAC_SET_TEXT_END

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_SET_TEXT_END  1 bc

Register 19.6. HMAC_SET_RESULT_FINISH_REG (0x005C)

(reserved)

HMAC_SET_RESULT_END

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_SET_RESULT_END  1 bc



462 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

GoBack

Register 19.7. HMAC_SET_INVALIDATE_JTAG_REG (0x0060)

(reserved)

HMAC_SET_INVALIDATE_JTAG

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_SET_INVALIDATE_JTAG  1  JTAG bc

Register 19.8. HMAC_SET_INVALIDATE_DS_REG (0x0064)

(reserved)

HMAC_SET_INVALIDATE_DS

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_SET_INVALIDATE_DS  1  DS bc

Register 19.9. HMAC_QUERY_ERROR_REG (0x0068)

(reserved)

HMAC_QUREY_CHECK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_QUREY_CHECK  HMAC b0: HMAC b1: bc



463 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)

GoBack

Register 19.10. HMAC_QUERY_BUSY_REG (0x006C)

(reserved)

HMAC_BUSY_STATE

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_BUSY_STATE  HMAC opb1'b0:  1'b1: c

Register 19.11. HMAC_SET_PARA_PURPOSE_REG (0x0044)

(reserved)

31

43

0000000000000000000000000000

HMAC_PURPOSE_SET
0

0

Reset

HMAC_PURPOSE_SET  HMAC bc

Register 19.12. HMAC_SET_PARA_KEY_REG (0x0048)

(reserved)

31

32

00000000000000000000000000000

HMAC_KEY_SET
0

0

Reset

HMAC_KEY_SET  HMAC bc

Register 19.13. HMAC_WR_MESSAGE_n_REG (n: 0-15) (0x0080+4*n)
HMAC_WDATA_0
31
0
HMAC_WDATA_n  n  32 bc

0
Reset



464 

ESP32-S2 TRM ( 1.3)

 19  HMAC  (HMAC)
Register 19.14. HMAC_RD_RESULT_n_REG (n: 0-7) (0x00C0+4*n)
HMAC_RDATA_0
31
0
HMAC_RDATA_n  hash  n  32 bc

GoBack
0
Reset

Register 19.15. HMAC_SET_MESSAGE_PAD_REG (0x00F0)

(reserved)

HMAC_SET_TEXT_PAD

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_SET_TEXT_PAD  1 bc

Register 19.16. HMAC_ONE_BLOCK_REG (0x00F4)

(reserved)

HMAC_SET_ONE_BLOCK

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

HMAC_SET_ONE_BLOCK  1 bc

(reserved)
31 30 29
00

Register 19.17. HMAC_DATE_REG (0x00F8)
HMAC_DATE 0x20190402

HMAC_DATE bc

0
Reset



465 

ESP32-S2 TRM ( 1.3)

 20   (DSA)

GoBack

 20 
 (DSA)
20.1 
ab b ESP32-S2  (DS)  RSA  RSA b
20.2 
· RSA  4096  ·  DS  · SHA-256 
20.3 
20.3.1 
DS  RSA  Z = XY mod M  Z X Y  M  RSA b  flash b DS   HMAC  eFuse  HMAC b  DS b  X  DS b Zb
20.3.2 
 Y c M cb RSA c 4096 b  DS b  r  M b Y  M  b  Y aM ar  M   C b C  DS  b 20.3.4b DS  RSA  Z = XY mod M  18 RSA  (AES) 18.3.1  b



466 

ESP32-S2 TRM ( 1.3)

 20   (DSA)

GoBack

20.3.3 

b

· 1s

o1p s b

· [x]s  s b x  (x < 2s)bx   [Y ]4096 [0x0C]8b[x]  0  s b[0x5]4 = 0101[0x5]8 = 00000101[0x5]16 = 0000010100000000[0x13]8 = 00010011 [0x13]16 = 0001001100000000b

· ||

b

20.3.4 
 DS  ·  20.3.2  RSA  (Y , M )  r  M b ·  256  HMAC  ([HM AC_KEY ]256) eFuse bHMAC  HMAC   DS_KEY = HMAC-SHA256([HM AC_KEY ]256, 1256) RSA  b 19 HMAC  (HMAC)b ·  C  1584 b
b



1  Y, M, [KEY]256  [IV]128

2

 ¯r , M'

3

 Y, M, ¯r

4

 SHA256  MD

5

 [P]12672

6

CBC  C



12

 Z

11

RSA 

10

MD 

9

 SHA256  CALC_MD

8

[P]12672

7

CBC 

[C]12672 X IV

[C]12672 X IV

 20.3-1. 
 20.3-1  C b 20.3-1  Cb 



467 

ESP32-S2 TRM ( 1.3)

 20   (DSA)

GoBack

·

 1 Y

 M b [L]32

=

N 32

- 1c RSA 4096

[L]32 == [0x80-1]32b [DS_KEY ]256  [IV ]128 AES-CBC 

b AES  17 AES  (AES)b

·  2 M  r  M b

·  3 Y aM  r [Y ]4096a[M ]4096  [r]4096b Y aM  r  4096  4096  4096 4096 b

·  4 SHA-256  MD [M D]256 = SHA256 ( [Y ]4096||[M ]4096||[r]4096||[M ]32||[L]32||[IV ]128)

·  5 [P ]12672 = ( [Y ]4096||[M ]4096||[r]4096||[M D]256||[M ]32||[L]32||[]64) []64  PKCS#7  8  0x08  64  [0x0808080808080808]64 P  128 b

·  6 C = [C]12672 = AES-CBC-ENC ([P ]12672, [DS_KEY ]256, [IV ]128)bC   RSA  Y aM araM   L MD  []64 b 20.3.4 DS_KEY  eFuse  HM AC_KEY b

20.3.5 
b Ca X IV b
DS  20.3.4  C b
1.  20.3-1  7  8
 20.3-1  6 bDS  AES  CBC   C b P = AES-CBC-DEC (C, DS_KEY , IV ) IV   [IV ]128[DS_KEY ]256  HMAC  eFuse  HM AC_KEY b 19 HMAC  (HMAC) b
DS  P  [Y ]4096a[M ]4096a[r]4096a[M ]32a[L]32aMD  []64  5 b
2.  20.3-1  9  10
DS MD  (padding) b MD   20.3-1 b
· MD iiDS  SHA-256  [CALC_M D]256c 4  [CALC_M D]256  MD  [M D]256 MD b
· iiDS  []64  PKCS#7  b
 MD DS  DS b  DS b
3.  20.3-1  11  12
DS  X Y aM  r  M   XY mod M b L bDS  RSA  Z = XY mod M Z b



468 

ESP32-S2 TRM ( 1.3)

 20   (DSA)

GoBack

20.3.6  DS 
b Ca X IV b 20.3.5 b
1.  DS DS_SET_START_REG  1b 2.  DS_KEY  DS_QUERY_BUSY_REG  0b
 DS_QUERY_BUSY_REG  1 ms  0 HMAC b DS_QUERY_KEY_WRONG_REGb
·  HMAC b
·  (1 ~ 15) HMAC  DS  DS_KEY  b
3.  IV block  DS_IV_m_REG (m: 0-3)b IV block  17 AES  (AES)b
4.  X  DS_X_MEM Xi (i  [0, n)  N)  DS_X_MEM 128  (word)b  b b b X  128  DS_X_MEM  b
5.  C  DS_C_MEM Ci (i  [0, 396)  N)  DS_C_MEM 396 b  b b
6.  DS_SET_ME_REG  1b 7.  DS_QUERY_BUSY_REG  0b 8.  DS_QUERY_CHECK_REGb
·  0MD  Z b
·  1 MD bZ  10b
·  2 MD  Z b
·  3 MD Z  10b 9.  DS_Z_MEM  Zi (i  {0, 1, 2..., n})bZ 
b 10.  DS_SET_FINISH_REG  1 DS_QUERY_BUSY_REG 
 0b
DS /cb

20.4 
 DS  20.4-1 b  3 b



469 

ESP32-S2 TRM ( 1.3)

 20   (DSA)

 20.4-1. DS 

 PeriBUS1 PeriBUS2

 0x3F43D000 0x6003D000

GoBack

20.5 

cb 20.4-1  DS  b

 20.5-1. DS 

 DS_C_MEM DS_X_MEM DS_Z_MEM

  C  X  Z

c  1584 0x0000 512 0x0800 512 0x0A00

 0x062F 0x09FF 0x0BFF

   

20.6 

cb 20.4-1  DS b

  DS_IV_0_REG DS_IV_1_REG DS_IV_2_REG DS_IV_3_REG / DS_SET_START_REG DS_SET_ME_REG DS_SET_FINISH_REG DS_QUERY_BUSY_REG DS_QUERY_KEY_WRONG_REG DS_QUERY_CHECK_REG  DS_DATE_REG


IV block  IV block  IV block  IV block 
 DS    DS   DS_KEY  


 

0x0630 0x0634 0x0638 0x063C

   

0x0E00 0x0E04 0x0E08 0x0E0C 0x0E10 0x0E14

     

0x0E20 /



470 

ESP32-S2 TRM ( 1.3)

 20   (DSA)
20.7 
Register 20.1. DS_IV_m_REG (m: 0-3) (0x0630+4*m)
31
0x000000000
DS_IV_m_REG (m: 0-3) IV block bc

GoBack
0
Reset

Register 20.2. DS_SET_START_REG (0x0E00)

(reserved)

DS_SET_START

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

DS_SET_START  1  DS bc

Register 20.3. DS_SET_ME_REG (0x0E04)

(reserved)

DS_SET_ME

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

DS_SET_ME  1 bc

Register 20.4. DS_SET_FINISH_REG (0x0E08)

(reserved)

DS_SET_FINISH

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

DS_SET_FINISH  1 bc



471 

ESP32-S2 TRM ( 1.3)

 20   (DSA)

GoBack

Register 20.5. DS_QUERY_BUSY_REG (0x0E0C)

(reserved)

DS_QUERY_BUSY

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

DS_QUERY_BUSY 1DS 0DS bc

Register 20.6. DS_QUERY_KEY_WRONG_REG (0x0E10)

(reserved)

31

43

0000000000000000000000000000

DS_QUERY_KEY_WRONG
0

0x0

Reset

DS_QUERY_KEY_WRONG 1-15HMAC  DS  DS_KEY c 150 HMAC bc

Register 20.7. DS_QUERY_CHECK_REG (0x0E14)

(reserved)

DS_PADDSD_MINDG__EBRARDOR

31

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

DS_PADDING_BAD 10bc DS_MD_ERROR 1MD 0MD bc

(reserved)
31 30 29
00

Register 20.8. DS_DATE_REG (0x0E20)
DS_DATE 0x20190418

DS_DATE c/b

0
Reset



472 

ESP32-S2 TRM ( 1.3)

 21   (XTS_AES)

GoBack

 21 
 (XTS_AES)
21.1 
ESP32-S2  IEEE Std 1619-2007  XTS-AES  cflash  RAMba c flash  RAM b
21.2 
·  XTS-AES  IEEE Std 1619-2007 ·  ·  ·  · aeFuse a (boot) 
21.3 
 (Manual Encryption) a (Auto Encryption) a  (Auto Decryption) b 21.3-1 b



 21.3-1. 
473 

ESP32-S2 TRM ( 1.3)

 21   (XTS_AES)

GoBack

// SPI1  flashb  CPU  cache  RAM  RAMb  CPU  cache  flash  RAM  b  System  SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG  4 
· SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT · SYSTEM_ENABLE_DOWNLOAD_G0CB_DECRYPT · SYSTEM_ENABLE_DOWNLOAD_DB_ENCRYPT · SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT  eFuse  2  EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT  EFUSE_SPI_BOOT_CRYPT_CNTb

21.3.1 XTS 
/iiXTS b 1024  (data unit)odata unitp XTS-AES Tweakable Block Cipher  XTS-AES encryption procedure b XTS-AES  IEEE Std 1619-2007 b

21.3.2  Key
 XTS a Keyb Key   eFuseb
 Key 256 a512 bKey  eFuse  BLOCK4 ~ BLOCK9  BLOCK  BLOCK b
· BlockA BLOCK4 ~ BLOCK9  key purposec EFUSE_KEY_PURPOSE_XTS_AES_256_KEY_1  BLOCKbBlockA  256  KeyAb
· BlockB BLOCK4 ~ BLOCK9  EFUSE_KEY_PURPOSE_XTS_AES_256_KEY_2  BLOCKbBlockB  256  KeyBb
· BlockC BLOCK4 ~ BLOCK9  EFUSE_KEY_PURPOSE_XTS_AES_128_KEY  BLOCKbBlockC  256  KeyC b
 BlockAaBlockB  BlockC  Key  21.3-1 b
 21.3-1. Key 

BlockA Yes Yes No No

BlockB Yes No Yes No

BlockC   
Yes

Key  K eyA ||K eyB K eyA ||0256 0256 ||K eyB
K eyC

Key c 512 512 512 256



474 

ESP32-S2 TRM ( 1.3)

 21   (XTS_AES)

BlockA BlockB BlockC

No

No

No

Key  0256

Key c 256

GoBack

 21.3-1 oYespoNopo0256p 256 "0" o||p b
 4 eFuse  (eFuse)b

21.3.3 
b aab
·  (type) flash  RAMb 0  flash 1   RAMb
·  (size)b 16a32  64 b
·  (base_addr) base_addr%size == 0b
 16  flash  0x130 ~ 0x13F  0x130 ~ 0x13F 0 (flash) 16 () 0x130b
c 16 / b
/b b

21.3.4 

/bb  16  XTS_AES_PLAIN_n_REG (n: 0-15)   512 /b

b  bopopb b





word



address



of f set

=

address%64

n

=

of f set 4



word



 n  XTS_AES_PLAIN_n_REG b

 64   21.3-2 b



475 

ESP32-S2 TRM ( 1.3)

 21   (XTS_AES)

 21.3-2. 

of f set 0x00 0x04 0x08 0x0C 0x10 0x14 0x18 0x1C

 XTS_AES_PLAIN_0_REG XTS_AES_PLAIN_1_REG XTS_AES_PLAIN_2_REG XTS_AES_PLAIN_3_REG XTS_AES_PLAIN_4_REG XTS_AES_PLAIN_5_REG XTS_AES_PLAIN_6_REG XTS_AES_PLAIN_7_REG

of f set 0x20 0x24 0x28 0x2C 0x30 0x34 0x38 0x3C

 XTS_AES_PLAIN_8_REG XTS_AES_PLAIN_9_REG XTS_AES_PLAIN_10_REG XTS_AES_PLAIN_11_REG XTS_AES_PLAIN_12_REG XTS_AES_PLAIN_13_REG XTS_AES_PLAIN_14_REG XTS_AES_PLAIN_15_REG

GoBack

21.3.5 

 CPU ba System  aeFuse aboot b flashb



1.  XTS_AES

·  XTS_AES_DESTINATION_REG  type = 0b

·  XTS_AES_PHYSICAL_ADDRESS_REG  base_addrb

·

 XTS_AES_LINESIZE_REG 

size 32

b

 typeabase_addrasize  21.3.3b

2.  XTS_AES_PLAIN_n_REG (n: 0-15)b 21.3.4 b b

3.  XTS_AES_STATE_REG  0b

4. b XTS_AES_TRIGGER_REG  1b

5. b XTS_AES_STATE_REG 2b  1  5 b Key b

6.  SPI1b XTS_AES_RELEASE_REG  1 SPI1 b  XTS_AES_STATE_REG  3b

7.  SPI1 flashb

8. b XTS_AES_DESTROY_REG  1b XTS_AES_STATE_REG  0b

/b

b

· SPI Boot 

 SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG  SYSTEM_ENABLE_SPI_MANUAL_ENCRYPT  1 b



476 

ESP32-S2 TRM ( 1.3)

 21   (XTS_AES)

GoBack

· Download Boot   SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG  SYSTEM_ENABLE_DOWNLOAD_MANUAL_ENCRYPT  1 eFuse  EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT  0 b

·  CPU  cache / K ey b
·  AES  AESb

21.3.6 
 CPU b System aeFuse aboot  b b
· SPI Boot   SPI_BOOT_CRYPT_CNTc3  1  b
· Download Boot   SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG  SYSTEM_ENABLE_DOWNLOAD_DB_ENCRYPT  1 b

·  CPU  cache  RAM  RAMb cache b  Key b
·  CPU  cache   RAMb

21.3.7 
 CPU b System aeFuse aboot  b b
· SPI Boot   SPI_BOOT_CRYPT_CNTc3  1  b
· Download Boot   SYSTEM_EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_REG 



477 

ESP32-S2 TRM ( 1.3)

 21   (XTS_AES)

GoBack

SYSTEM_ENABLE_DOWNLOAD_G0CB_DECRYPT  1 b

·  CPU  cache / /b cache b  Key b
·   CPU  cache b

21.4 

 21.4-1 b  3 b
 21.4-1. 

 PeriBUS1 PeriBUS2

 0x3F43A000 0x6003A000

21.5 

cb 21.4  b

  XTS_AES_PLAIN_0_REG XTS_AES_PLAIN_1_REG XTS_AES_PLAIN_2_REG XTS_AES_PLAIN_3_REG XTS_AES_PLAIN_4_REG XTS_AES_PLAIN_5_REG XTS_AES_PLAIN_6_REG XTS_AES_PLAIN_7_REG XTS_AES_PLAIN_8_REG XTS_AES_PLAIN_9_REG XTS_AES_PLAIN_10_REG XTS_AES_PLAIN_11_REG XTS_AES_PLAIN_12_REG XTS_AES_PLAIN_13_REG XTS_AES_PLAIN_14_REG XTS_AES_PLAIN_15_REG


 0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15

 

0x0100 0x0104 0x0108 0x010C 0x0110 0x0114 0x0118 0x011C 0x0120 0x0124 0x0128 0x012C 0x0130 0x0134 0x0138 0x013C

/ / / / / / / / / / / / / / / /



478 

ESP32-S2 TRM ( 1.3)

 21   (XTS_AES)

  XTS_AES_LINESIZE_REG XTS_AES_DESTINATION_REG XTS_AES_PHYSICAL_ADDRESS_REG / XTS_AES_TRIGGER_REG XTS_AES_RELEASE_REG XTS_AES_DESTROY_REG XTS_AES_STATE_REG  XTS_AES_DATE_REG


  
   


GoBack

 

0x0140 0x0144 0x0148

/ / /

0x014C 0x0150 0x0154 0x0158

   

0x015C 

21.6 
Register 21.1. XTS_AES_PLAIN_n_REG (n: 0-15) (0x0100+4*n)
XTS_AES_PLAIN_n
31
0x000000
XTS_AES_PLAIN_n  n  32 bc/

0
Reset

Register 21.2. XTS_AES_LINESIZE_REG (0x0140)
(reserved)
31
0x00000000
XTS_AES_LINESIZE bc/ · 0 128  · 1 256  · 2 512 b

XTS_AES_LINESIZE

21

0

0 Reset



479 

ESP32-S2 TRM ( 1.3)

 21   (XTS_AES)

GoBack

Register 21.3. XTS_AES_DESTINATION_REG (0x0144)

(reserved)

XTS_AES_DESTINATION

31

10

0x00000000

0 Reset

XTS_AES_DESTINATION  flash 0b  1b0 flash1 RAMbc/

(reserved)
31 30 29
0x0

Register 21.4. XTS_AES_PHYSICAL_ADDRESS_REG (0x0148)
XTS_AES_PHYSICAL_ADDRESS 0x00000000

XTS_AES_PHYSICAL_ADDRESS bc/

0
Reset

Register 21.5. XTS_AES_TRIGGER_REG (0x014C)
(reserved)
31
0x00000000
XTS_AES_TRIGGER  1 bc

XTS_AES_TRIGGER
10
x Reset



480 

ESP32-S2 TRM ( 1.3)

 21   (XTS_AES)

GoBack

Register 21.6. XTS_AES_RELEASE_REG (0x0150)

(reserved)

XTS_AES_RELEASE

31

10

0x00000000

x Reset

XTS_AES_RELEASE  1  SPI1  SPI1 bc

Register 21.7. XTS_AES_DESTROY_REG (0x0154)
(reserved)
31
0x00000000
XTS_AES_DESTROY  1 bc

XTS_AES_DESTROY
10
x Reset

Register 21.8. XTS_AES_STATE_REG (0x0158)
(reserved)
31
0x00000000
XTS_AES_STATE bc · 0x0 (XTS_AES_IDLE) · 0x1 (XTS_AES_BUSY) · 0x2 (XTS_AES_DONE) SPI  · 0x3 (XTS_AES_RELEASE) SPI b

XTS_AES_STATE

21

0

0x0 Reset



481 

ESP32-S2 TRM ( 1.3)

 21   (XTS_AES)

(reserved)
31 30 29
00

Register 21.9. XTS_AES_DATE_REG (0x015C)
XTS_AES_DATE 0x20190416

XTS_AES_DATE bc

GoBack
0
Reset



482 

ESP32-S2 TRM ( 1.3)

 22   (RNG)

GoBack

 22   (RNG)

22.1 
ESP32-S2  32 b
22.2 
ESP32-S2  b
22.3 
 RNG_DATA_REG  32  b  SAR ADC  ADC b SAR ADC  ADC   (XOR) b  RC_FAST_CLK  RC_FAST_CLK (8 MHz)  bRC_FAST_CLK b  ADC  b

SAR ADC

Random bit seeds

High Speed ADC

Random bit seeds

XOR

XOR

Random Number Generator

RNG_DATA_REG

RC_FAST_CLK

Random bit seeds

 22.3-1. 

 SAR ADC  RC_FAST_CLK c8 MHzc RC  6    2 b RNG_DATA_REG   500 kHzb



483 

ESP32-S2 TRM ( 1.3)

 22   (RNG)

GoBack

 ADC  APB c 80 MHz 2 b  RNG_DATA_REG  5 MHzb

22.4 
 ESP32-S2  SAR ADC ADC RC_FAST_CLK b
· SAR ADC  DIG ADC  32  b ·  ADC  Wi-Fi b · RC_FAST_CLK  RTC_CNTL_CLK_CONF_REG  RTC_CNTL_DIG_CLK8M_EN 
b
  Wi-Fi  ADC b Wi-Fi   DIG ADC1  SAR ADC b

 RNG_DATA_REG b  22.3 b

22.5 

 22.5-1 b 3  b
 22.5-1. 

 PeriBUS1 PeriBUS2

 0x3F435000 0x60035000

22.6 

cb  22.5 b

 RNG_DATA_REG

 

 0x0110

 

22.7 
cb  22.5 b



484 

ESP32-S2 TRM ( 1.3)

 22   (RNG)
Register 22.1. RNG_DATA_REG (0x0110)
31
0x00000000
RNG_DATA bc

GoBack
0
Reset



485 

ESP32-S2 TRM ( 1.3)

GoBack
V 
 I2CaI2SaSPIaUARTaUSB  aaLED b



486 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

 23 
UART  (UART)
23.1 
b (UART)  b 2  UART   UART bUART  (IrDA)  RS485 b 2  UART b UARTn  2  UART n  0a1b
23.2 
·  · 2  UART  FIFO  FIFO  512 x 8-bit RAM ·  ·  ·  5/6/7/8  ·  1/1.5/2  ·  ·  AT_CMD  ·  RS485  ·  IrDA  ·  DMA  ·  UART  · 
23.3 
23.3.1 UART 
UART b baab



487 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

 UART cb  UART b DMA b UART b

23.3.2 UART 

 23.3-1. UART 

 23.3-1  UART bUART 80-MHz APB_CLK  REF_TICK c  6 b UART_TICK_REF_ALWAYS_ON b  UART bUART_CLKDIV_REG UART_CLKDIV  UART_CLKDIV_FRAG b
UART b
 FIFO b APB  Tx_FIFO  DMA  Tx_FIFObTx_FIFO_Ctrl  Tx_FIFO  Tx_FIFO Tx_FSM  Tx_FIFO_Ctrl b txd_out  UART_TXD_INV b
 FIFO b rxd_in  UART b UART_RXD_INV bBaudrate_Detect  bStart_Detect  START  START Rx_FSM  Rx_FIFO_Ctrl   Rx_FIFO b APB  Rx_FIFO  DMA  b
HW_Flow_Ctrl  UART RTS  CTScrtsn_out  ctsn_in rxd_in  txd_out b SW_Flow_Ctrl b



488 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

UART  Light-sleepc 9 Wakeup_Ctrl  rxd_in  cUART_ACTIVE_THRESHOLD + 3 wake_up  RTC  RTC  b

23.3.3 UART RAM

 23.3-2. UART  RAM 
 2  UART  512x8-bit RAM b 23.3-2 RAM  block 1 block  128x8 bitsb 23.3-2  2  UART  Tx_FIFO  Rx_FIFO  RAM b  UART_TX_SIZE  UARTn  Tx_FIFO  UART_RX_SIZE  UARTn  Rx_FIFO UART0 Tx_FIFO  0  RAM UART1 Tx_FIFO  128  RAM UART0 Rx_FIFO  256  RAM UART1 Rx_FIFO   1 block b UART  FIFO  UART  FIFO  b UART0  UART_TX_SIZE  2,  UART0 Tx_FIFO  0  255bUART1 Tx_FIFO  UART1 b
 2  UART  UART_MEM_FORCE_PD  RAM b
UART0  UART1  Tx_FIFO  UART_TXFIFO_RST , UART0  UART1  Rx_FIFO   UART_RXFIFO_RST b
 Tx FIFO APB  DMA  Tx_FSM   Rx FIFO APB  DMA  Rx_FSM  Rx FIFOb UART  DMAb
 UART_TXFIFO_EMPTY_THRHD  Tx_FIFO  Tx_FIFO  UART_TXFIFO_EMPTY_THRHD  UART_TXFIFO_EMPTY_INT UART_RXFIFO_FULL_THRHD  Rx_FIFO  Rx_FIFO  UART_RXFIFO_FULL_THRHD  UART_RXFIFO_FULL_INTb Rx_FIFO  UART_RXFIFO_OVF_INT b
UARTn  UART_FIFO_REG  FIFOb
23.3.4 



489 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

23.3.4.1 
 UART b bUART_CLKDIV_REG UART_CLKDIV  UART_CLKDIV_FRAG b 80 MHz UART  5 MBaudb
 UART_CLKDIV + (UART_CLKDIV_FRAG/16) b INPUT_FREQ/ (UART_CLKDIV + (UART_CLKDIV_FRAG/16))b UART_CLKDIV = 694UART_CLKDIV_FRAG = 7  (694 + 7/16) = 694.4375b
UART_CLKDIV_FRAG  0  UART_CLKDIV b
UART_CLKDIV_FRAG  0 b 23.3-3  16   (UART_CLKDIV + 1)  UART_CLKDIV b (UART_CLKDIV + 1)  UART_CLKDIV_FRAG  UART_CLKDIV   (16 - UART_CLKDIV_FRAG) b
 23.3-3 b

 23.3-3. UART 
 IrDA c 23.3.8 IrDAIrDA  16× UART_CLKDIV_REG  IrDA b IrDA UART_CLKDIV/16   UART_CLKDIV  4 b
23.3.4.2 
 UART_AUTOBAUD_EN  UART b 23.3-1  Baudrate_Detect   UART_GLITCH_FILT b  UART b UART_LOWPULSE_MIN_CNT UART_HIGHPULSE_MIN_CNT  UART_POSEDGE_MIN_CNT UART_NEGEDGE_MIN_CNT  bb



490 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

 23.3-4. UART 



1.  UART_LOWPULSE_MIN_CNT  UART_HIGHPULSE_MIN_CNT b 

Buart

=

(UART_LOWPULSE_MIN_CNT

+

fclk UART_HIGHPULSE_MIN_CNT

+

2)/2

2.  UART 23.3-4 UART_LOWPULSE_MIN_CNT



UART_HIGHPULSE_MIN_CNT  UART_POSEDGE_MIN_CNT 

b

Buart

=

fclk (UART_POSEDGE_MIN_CNT

+

1)/2

3.  UART  UART_NEGEDGE_MIN_CNT b



Buart

=

fclk (UART_NEGEDGE_MIN_CNT

+

1)/2

23.3.5 UART 

 23.3-5. UART 

 23.3-5  START  STOP bSTART  1 bitSTOP   UART_STOP_BIT_NUM  1a1.5a2 cRS485  23.3.7.2b START STOP b
 (BIT0 ~ BITn)  5 ~ 8 bit UART_BIT_NUM b UART_PARITY_EN  bUART_PARITY b  UART_PARITY_ERR_INT  Rx_FIFOb  UART_FRM_ERR_INT  Rx_FIFOb



491 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Tx_FIFO  UART_TX_DONE_INT b UART_TXD_BRK Tx_FIFO   (break condition) NULL NULL  TX bNULL  UART_TX_BRK_NUM b NULL  UART_TX_BRK_DONE_INT b UART_TX_IDLE_NUM  b UART_TX_IDLE_NUM  UART_TX_BRK_IDLE_DONE_INT b
 NULL RX  UART_BRK_DET_INT b
 UART_RXFIFO_TOUT_INT b  UART_RX_TOUT_THRHD  UART_RXFIFO_TOUT_INT b b

23.3.6 AT_CMD 

 23.3-6. AT_CMD 

 23.3-6  AT_CMD b AT_CMD_CHAR   UART_AT_CMD_CHAR_DET_INT b
·  AT_CMD_CHAR  AT_CMD_CHAR  UART_PRE_IDLE_NUM  b
· AT_CMD_CHAR  UART_RX_GAP_TOUT b
·  AT_CMD_CHAR  UART_CHAR_NUMb
·  AT_CMD_CHAR  AT_CMD_CHAR  UART_POST_IDLE_NUM b

23.3.7 RS485
UART  RS485 RS485  RS232  bRS485 UART b RS485  multidrop  32  slaveb

23.3.7.1 
 23.3-7 RS485  multidrop  RS485  bRS485 b UART  bDE  1 DE  0 b
UART bRE RE  0 RE  1, b RE  0 UART  UART  b



492 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

DE bDE b 23.3-7  DE  UART  dtrn_out c 23.3.10.1 b
transceiver

 23.3-7. RS485 
23.3.7.2 
UART bRS485   turn around dealybUART  b UART_DL1_EN DL0_ENb
23.3.7.3 
RS485  multidrop UART b UART b UART_RS485TX_RX_EN RS485 UART  b UART b UART_RS485RXBY_TX_EN b
UART  UART bUART  UART  UART   UART_RS485_CLASH_INT  UART_RS485_FRM_ERR_INT  UART_RS485_PARITY_ERR_INT b
23.3.8 IrDA
IrDA bUART b IrDA  115.2 Kbit/s SIR b 23.3-8 IrDA  UART  cNRZcRZI LED 3/16 Bit Time  o0po1pbIrDA  UART  NRZ b b b
IrDA  16  9,10,11  0 IrDA b



493 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

 23.3-8. SIR 
IrDA b23.3-9 UART_IRDA_EN  IrDA b UART_IRDA_TX_EN c IrDA  IrDA  UART_IRDA_TX_ENc  IrDA  IrDA b

 23.3-9. IrDA 
23.3.9 
UART0  UART1 b UART  Light-sleep Wakeup_Ctrl  rxd_in  cUART_ACTIVE_THRESHOLD + 3 wake_up  RTC  RTC  b  UART  Active  UART  UART  wake_up  b
23.3.10 
UART b rtsn_out  dsrn_in b b



494 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)
23.3.10.1 

GoBack

 23.3-10. 
 23.3-10  UART b rtsn_out  ctsn_inb 23.3-11   UART b ESP32-S2 UART  IU0External UART  EU0  UARTb rtsn_out cIU0cEU0rtsn_outcIU0 cEU0 rtsn_out cIU0brtsn_out  b
·  UART_RX_FLOW_EN  0 b UART_SW_RTS  rtsn_out b
·  UART_RX_FLOW_EN  1 b Rx_FIFO  UART_RX_FLOW_THRHD  rtsn_out b

 23.3-11. 
 ctsn_incIU0cIU0ctsn_incIU0 cIU0b UART  ctsn_in cIU0 UART_CTS_CHG_INT 
b



495 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

UART cIU0 dtrn_out bdtrn_out   UART_SW_DTR bUART cIU0 dsrn_in  UART_DSR_CHG_INT b UART_DSRN  dsrn_in  UART_DSRN cEU0b
 RS485  multidrop  dtrn_out b UART_RS485_EN  RS485  dtrn_out bdtrn_out  dtrn_out bdtrn_out  b
 UART_LOOPBACK  UART b UART  txd_out  rxd_in  rtsn_out  ctsn_in dtrn_out  dsrn_out b UART  b

23.3.10.2 
 CTS/RTS  XON/XOFF  b UART_SW_FLOW_CON_EN  1 b
 XON/XOFF   UART_SW_XOFF_INT  UART_SW_XON_INT b XOFF   XON b  UART_FORCE_XOFF   UART_FORCE_XON b
 Rx_FIFO b UART_SEND_XOFF  XOFF  UART_XOFF_CHAR  UART_SEND_XON  XON  UART_XON_CHAR b UART  FIFO  UART_XOFF_THRESHOLD  UART_SEND_XOFFUART   XOFF  UART_XOFF_CHAR b UART  FIFO   UART_XON_THRESHOLD  UART_SEND_XONUART   XON  UART_XON_CHAR b

23.3.11 UDMA
UART  UDMA (UART DMA)UDMA  HCI cdecoder cencoderb 2 DMA b

23.3.12 UART 
· UART_AT_CMD_CHAR_DET_INT AT_CMD b · UART_RS485_CLASH_INT RS485 b · UART_RS485_FRM_ERR_INT RS485 b · UART_RS485_PARITY_ERR_INT RS485 b · UART_TX_DONE_INT FIFO b · UART_TX_BRK_IDLE_DONE_INTb



496 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

· UART_TX_BRK_DONE_INT FIFO  NULL b · UART_GLITCH_DET_INT glitch b · UART_SW_XOFF_INTUART_SW_FLOW_CON_EN  Xoff b · UART_SW_XON_INTUART_SW_FLOW_CON_EN  Xon b · UART_RXFIFO_TOUT_INT UART_RX_TOUT_THRHD b · UART_BRK_DET_INT NULL c NULL 
b · UART_CTS_CHG_INT CTSn b · UART_DSR_CHG_INT DSRn b · UART_RXFIFO_OVF_INT FIFO b · UART_FRM_ERR_INTb · UART_PARITY_ERR_INTb · UART_TXFIFO_EMPTY_INT FIFO  UART_TXFIFO_EMPTY_THRHD 
b · UART_RXFIFO_FULL_INT UART_RXFIFO_FULL_THRHD 
b · UART_WAKEUP_INTUART b

23.3.13 UCHI 
· UHCI_DMA_INFIFO_FULL_WM_INT DMA  FIFO  UHCI_DMA_INFIFO_FULL_THRS b
· UHCI_SEND_A_REG_Q_INT always_send DMA b · UHCI_SEND_S_REG_Q_INT single_send DMA b · UHCI_OUT_TOTAL_EOF_INTb · UHCI_OUTLINK_EOF_ERR_INT EOF b · UHCI_IN_DSCR_EMPTY_INT DMA b · UHCI_OUT_DSCR_ERR_INTb · UHCI_IN_DSCR_ERR_INTb · UHCI_OUT_EOF_INT EOF  1 b · UHCI_OUT_DONE_INTb · UHCI_IN_ERR_EOF_INT EOF b · UHCI_IN_SUC_EOF_INTb · UHCI_IN_DONE_INTb · UHCI_TX_HUNG_INT DMA  RAM b · UHCI_RX_HUNG_INT DMA b



497 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)
· UHCI_TX_START_INT DMA b · UHCI_RX_START_INTb

GoBack

23.4 

 UART 23.4-1 b 3  b
 23.4-1. UART0aUART1  UHCI 

 UART0 UART1 UHCI

 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2

 0x3F400000 0x60000000 0x3F410000 0x60010000 0x3F414000 0x60014000

23.5 

 UART0aUART1  UHCI cb UART0aUART1  UHCI  23.4  b

 FIFO  UART_FIFO_REG UART_MEM_CONF_REG  UART_INT_RAW_REG UART_INT_ST_REG UART_INT_ENA_REG UART_INT_CLR_REG  UART_CLKDIV_REG UART_CONF0_REG UART_CONF1_REG UART_FLOW_CONF_REG UART_SLEEP_CONF_REG UART_SWFC_CONF0_REG UART_SWFC_CONF1_REG UART_IDLE_CONF_REG UART_RS485_CONF_REG  UART_AUTOBAUD_REG


FIFO  UART 
   
  0  1      RS485 






0x0000 / 0x005C /

0x0004 0x0008 0x000C 0x0010

  / 

0x0014 0x0020 0x0024 0x0034 0x0038 0x003C 0x0040 0x0044 0x0048

/ / / / / / / / /

0x0018 /



498 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)
 UART_LOWPULSE_REG
UART_HIGHPULSE_REG
UART_RXD_CNT_REG UART_POSPULSE_REG UART_NEGPULSE_REG  UART_STATUS_REG UART_MEM_TX_STATUS_REG UART_MEM_RX_STATUS_REG UART_FSM_STATUS_REG AT  UART_AT_CMD_PRECNT_REG UART_AT_CMD_POSTCNT_REG UART_AT_CMD_GAPTOUT_REG UART_AT_CMD_CHAR_REG  UART_DATE_REG
  UHCI_CONF0_REG UHCI_CONF1_REG UHCI_AHB_TEST_REG UHCI_ESCAPE_CONF_REG UHCI_HUNG_CONF_REG UHCI_QUICK_SENT_REG UHCI_Q0_WORD0_REG UHCI_Q0_WORD1_REG UHCI_Q1_WORD0_REG UHCI_Q1_WORD1_REG UHCI_Q2_WORD0_REG UHCI_Q2_WORD1_REG UHCI_Q3_WORD0_REG UHCI_Q3_WORD1_REG UHCI_Q4_WORD0_REG UHCI_Q4_WORD1_REG UHCI_Q5_WORD0_REG UHCI_Q5_WORD1_REG UHCI_Q6_WORD0_REG UHCI_Q6_WORD1_REG UHCI_ESC_CONF0_REG


GoBack

       

 0x0028
0x002C
0x0030 0x006C 0x0070

 

  

UART  TX FIFO a RX FIFO a UART 

0x001C 0x0060 0x0064 0x0068

   

AT_CMD  AT_CMD   AT 

0x004C 0x0050 0x0054 0x0058

/ / / /

UART 

0x0074 /


UHCI  UHCI  AHB    UHCI  Q0_WORD0  Q0_WORD1  Q1_WORD0  Q1_WORD1  Q2_WORD0  Q2_WORD1  Q3_WORD0  Q3_WORD1  Q4_WORD0  Q4_WORD1  Q5_WORD0  Q5_WORD1  Q6_WORD0  Q6_WORD1   0
499 





0x0000 0x002C 0x0048 0x0064 0x0068 0x0074 0x0078 0x007C 0x0080 0x0084 0x0088 0x008C 0x0090 0x0094 0x0098 0x009C 0x00A0 0x00A4 0x00A8 0x00AC 0x00B0

/ / / / / / / / / / / / / / / / / / / / /

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)





UHCI_ESC_CONF1_REG

 1

UHCI_ESC_CONF2_REG

 2

UHCI_ESC_CONF3_REG

 3

UHCI_PKT_THRES_REG 



UHCI_INT_RAW_REG



UHCI_INT_ST_REG



UHCI_INT_ENA_REG



UHCI_INT_CLR_REG DMA 



UHCI_DMA_OUT_STATUS_REG

DMA 

UHCI_DMA_IN_STATUS_REG

UHCI 

UHCI_STATE0_REG

UHCI 

UHCI_STATE1_REG

UHCI 

UHCI_DMA_OUT_EOF_DES_ADDR

EOF 

_REG

UHCI_DMA_IN_SUC_EOF_DES_ADDR EOF 

_REG

UHCI_DMA_IN_ERR_EOF_DES_ADDR 

_REG

UHCI_DMA_OUT_EOF_BFR_DES_ADDR 

_REG

UHCI_DMA_IN_DSCR_REG



UHCI_DMA_IN_DSCR_BF0_REG



UHCI_DMA_OUT_DSCR_REG



UHCI_DMA_OUT_DSCR_BF0_REG



UHCI_RX_HEAD_REG DMA 

UHCI 

UHCI_DMA_OUT_PUSH_REG

 FIFO 

UHCI_DMA_IN_POP_REG

 FIFO 

UHCI_DMA_OUT_LINK_REG



UHCI_DMA_IN_LINK_REG 



UHCI_DATE_REG

UHCI 

GoBack

 0x00B4 0x00B8 0x00BC 0x00C0

 / / / /

0x0004 0x0008 0x000C 0x0010

  / 

0x0014 0x001C 0x0030 0x0034 0x0038

    

0x003C 

0x0040 

0x0044 

0x004C 0x0050 0x0058 0x005C 0x0070

    

0x0018 0x0020 0x0024 0x0028

/   

0x00FC /



500 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)
23.6 
Register 23.1. UART_FIFO_REG (0x0000)

(reserved)

31

87

000000000000000000000000

UART_RXFIFO_RD_BYTE UART n  FIFOb(/)

GoBack

UART_RXFIFO_RD_BYTE
0

0x0

Reset

Register 23.2. UART_MEM_CONF_REG (0x005C)

(reserved)

UART_UMARETM__MFEOMRC_FEO_PRCUE_PD

UART_RX_TOUT_THRHD

31

28 27 26 25

16 15

0 0 0 00 0

0xa

UART_RX_FLOW_THRHD
76

UART_TX_SIZE UART_RX_S(rIeZsEerved)

43

10

0x0

0x1

1

0 Reset

UART_RX_SIZE  RX FIFO  RAM b 128 b(/) UART_TX_SIZE  TX FIFO  RAM b 128 b(/) UART_RX_FLOW_THRHD b(/) UART_RX_TOUT_THRHD c
bb UART_RX_TOUT_EN  1  UART_RXFIFO_TOUT_INT b(/) UART_MEM_FORCE_PD  UART RAMb(/) UART_MEM_FORCE_PU  UART RAMb(/)



501 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.3. UART_INT_RAW_REG (0x0004)

(reserved)

UART_UWARATK_EUUAATPR_T_C_IUNMRATSRD_4T_R8_UCA5RAHW_SRAC4TRL8_U_A5RADS_SREHF4TT_R8_U_IMT5NAINX_R_T_TPTE_D_A_RURORRTRAAIAXNW_TRW_EYITNB___UTRTIEAN_KXRRTR__RT_AIB_D_URWRIGLANAKELRWT__ITT_DD_UCROOSAHANWNRW_ETED____UXEISIAONTNWR_FTTTFI___N_U_RXRTRIAOAAN_XRWNWTRFT__AI_UFIRWNBOAATRR_W_TKTOR__UACUDAWTTERS_TT__I_UNCIDANTHSR_TGRT_R___URACRIAWANXHRWTFTG_I_UF_RFOAIANRR_WTMTO__UV_RPAFEAA_RRWRTIRNI_U_TTTAYI_NXR_RFTTEIA_F_RWRORRA_X_WFEINIMFTOP__TRYFA_UWILNLT__INRTA_WRAW

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

UART_RXFIFO_FULL_INT_RAW  UART_RXFIFO_FULL_THRHD  b()

UART_TXFIFO_EMPTY_INT_RAW TX FIFO  UART_TXFIFO_EMPTY_THRHD  b()

UART_PARITY_ERR_INT_RAW b ()

UART_FRM_ERR_INT_RAW b()

UART_RXFIFO_OVF_INT_RAW  RX FIFO  b()

UART_DSR_CHG_INT_RAW  DSRn b( )

UART_CTS_CHG_INT_RAW  CTSn b( )

UART_BRK_DET_INT_RAW  0 b()

UART_RXFIFO_TOUT_INT_RAW  UART_RX_TOUT_THRHD  b()

UART_SW_XON_INT_RAW  XON  UART_SW_FLOW_CON_EN  1  b()

UART_SW_XOFF_INT_RAW  XOFF  UART_SW_FLOW_CON_EN  1  b()

UART_GLITCH_DET_INT_RAW  b()

UART_TX_BRK_DONE_INT_RAW  TX FIFO  NULL  b()

UART_TX_BRK_IDLE_DONE_INT_RAW  b()

UART_TX_DONE_INT_RAW  FIFO b()

...



502 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART) Register 23.3. UART_INT_RAW_REG (0x0004)

GoBack

...

UART_RS485_PARITY_ERR_INT_RAW RS485  b()

UART_RS485_FRM_ERR_INT_RAW RS485  b()

UART_RS485_CLASH_INT_RAW RS485  b()

UART_AT_CMD_CHAR_DET_INT_RAW  UART_AT_CMD CHAR  b()

UART_WAKEUP_INT_RAW   RXD        Light-sleep UART_ACTIVE_THRESHOLD  3 b()





503 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.4. UART_INT_ST_REG (0x0008)

(reserved)

UART_UWARATK_EUUAATPR_T_C_IUNMRATSRD_4T_S8_UCT5RAH_SRAC4TRL8_U_A5RADS_SREHF4TT_R8_U_IMT5NAINX_R_T_TPTE_D_A_RSUSORTTRATIXN_TR_EYITNB___UTRTIEAN_KXRRTS__RT_TIB_D_USRIGLATNKELRT__ITT_DD_UCSOOSATHNWNR_ETED____UXEISIAONTNWR_FTTTFI___N_U_SXSTRIATOTN_XRNTSFT__TI_UFISNBOATTRR__TKTSO__UTCUDATTERS_TT__I_UNCIDANTHSR_TGRT_S___UTSCRIATNXHRTFTG_I_UF_SFOAITNRR_TMTO__UV_SPAFETA_RRRTIRNI_U_TTTAYI_NXR_SFTTETI_F_RSORRT_X_FEINIMFTOP__TSYFT_UILNLT__INSTT_ST

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

UART_RXFIFO_FULL_INT_ST UART_RXFIFO_FULL_INT_ENA  1  UART_RXFIFO_FULL_INT  b()

UART_TXFIFO_EMPTY_INT_ST UART_TXFIFO_EMPTY_INT_ENA



1



UART_TXFIFO_EMPTY_INT b()

UART_PARITY_ERR_INT_ST UART_PARITY_ERR_INT_ENA  1  UART_PARITY_ERR_INT  b()

UART_FRM_ERR_INT_ST UART_FRM_ERR_INT_ENA  1  UART_FRM_ERR_INT b( )

UART_RXFIFO_OVF_INT_ST UART_RXFIFO_OVF_INT_ENA  1  UART_RXFIFO_OVF_INT  b()

UART_DSR_CHG_INT_ST UART_DSR_CHG_INT_ENA  1  UART_DSR_CHG_INT b( )

UART_CTS_CHG_INT_ST UART_CTS_CHG_INT_ENA  1  UART_CTS_CHG_INT b( )

UART_BRK_DET_INT_ST UART_BRK_DET_INT_ENA  1  UART_BRK_DET_INT b( )

UART_RXFIFO_TOUT_INT_ST UART_RXFIFO_TOUT_INT_ENA  1  UART_RXFIFO_TOUT_INT  b()

UART_SW_XON_INT_ST UART_SW_XON_INT_ENA  1  UART_SW_XON_INT b()

UART_SW_XOFF_INT_ST UART_SW_XOFF_INT_ENA  1  UART_SW_XOFF_INT b( )

UART_GLITCH_DET_INT_ST UART_GLITCH_DET_INT_ENA  1  UART_GLITCH_DET_INT  b()

UART_TX_BRK_DONE_INT_ST UART_TX_BRK_DONE_INT_ENA  1  UART_TX_BRK_DONE_INT b()

UART_TX_BRK_IDLE_DONE_INT_ST UART_TX_BRK_IDLE_DONE_INT_ENA



1



UART_TX_BRK_IDLE_DONE_INT b()

...



504 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART) Register 23.4. UART_INT_ST_REG (0x0008)

GoBack

... UART_TX_DONE_INT_ST UART_TX_DONE_INT_ENA  1  UART_TX_DONE_INT b()

UART_RS485_PARITY_ERR_INT_ST UART_RS485_PARITY_INT_ENA



1



UART_RS485_PARITY_ERR_INT b()

UART_RS485_FRM_ERR_INT_ST UART_RS485_FM_ERR_INT_ENA



1



UART_RS485_FRM_ERR_INT b()

UART_RS485_CLASH_INT_ST UART_RS485_CLASH_INT_ENA  1  UART_RS485_CLASH_INT b()

UART_AT_CMD_CHAR_DET_INT_ST UART_AT_CMD_CHAR_DET_INT_ENA  1  UART_AT_CMD_DET_INT b()

UART_WAKEUP_INT_ST UART_WAKEUP_INT_ENA  1  UART_WAKEUP_INT b()



505 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.5. UART_INT_ENA_REG (0x000C)

(reserved)

UART_UWARATK_EUUAATPR_T_C_IUNMRATSRD_4T_E8_UCN5RAHA_SRAC4TRL8_U_A5RADS_SREHF4TT_R8_U_IMT5NAINX_R_T_TPTE_D_A_RUEORETRNANIXN_TRA_AEIYTNB___UTRTIEAN_KXRRTE__RT_NIB_D_UEARIGLANNKELRAT__ITT_DD_UCEOOSAHNNWNR_AETED____UXEISIAONTNWR_FTTTFI___N_U_EXETRIAONNN_XRANATEFT__NI_UFIEANBOANTRR_A_TKTOE__UNCUDAATTERS_TT__I_UNCIDANTHSR_TGRT_E___UNECRIANNAXHRATFTG_I_UF_EFOAINNRR_ATMTO__UV_EPAFENA_RRARTIRNI_U_TTTAYI_NXR_EFTTENI_F_RAEORRN_X_AFEINIMFTOP__TEYFN_UAILNLT__INETN_AENA

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

UART_RXFIFO_FULL_INT_ENA UART_RXFIFO_FULL_INT b(/) UART_TXFIFO_EMPTY_INT_ENA UART_TXFIFO_EMPTY_INT b(/) UART_PARITY_ERR_INT_ENA UART_PARITY_ERR_INT b(/) UART_FRM_ERR_INT_ENA UART_FRM_ERR_INT b(/) UART_RXFIFO_OVF_INT_ENA UART_RXFIFO_OVF_INT b(/) UART_DSR_CHG_INT_ENA UART_DSR_CHG_INT b(/) UART_CTS_CHG_INT_ENA UART_CTS_CHG_INT b(/) UART_BRK_DET_INT_ENA UART_BRK_DET_INT b(/) UART_RXFIFO_TOUT_INT_ENA UART_RXFIFO_TOUT_INT b(/) UART_SW_XON_INT_ENA UART_SW_XON_INT b(/) UART_SW_XOFF_INT_ENA UART_SW_XOFF_INT b(/) UART_GLITCH_DET_INT_ENA UART_GLITCH_DET_INT b(/) UART_TX_BRK_DONE_INT_ENA UART_TX_BRK_DONE_INT b(/) UART_TX_BRK_IDLE_DONE_INT_ENA UART_TX_BRK_IDLE_DONE_INT b(/) UART_TX_DONE_INT_ENA UART_TX_DONE_INT b(/) UART_RS485_PARITY_ERR_INT_ENA UART_RS485_PARITY_ERR_INT b(/) UART_RS485_FRM_ERR_INT_ENA UART_RS485_PARITY_ERR_INT b(/) UART_RS485_CLASH_INT_ENA UART_RS485_CLASH_INT b(/) UART_AT_CMD_CHAR_DET_INT_ENA UART_AT_CMD_CHAR_DET_INT b(/) UART_WAKEUP_INT_ENA UART_WAKEUP_INT b(/)



506 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.6. UART_INT_CLR_REG (0x0010)

(reserved)

UART_UWARATK_EUUAATPR_T_C_IUNMRATSRD_4T_C8_UCL5RAHR_SRAC4TRL8_U_A5RADS_SREHF4TT_R8_U_IMT5NAINX_R_T_TPTE_D_A_RCUCORTRLAILXNR_TRR_EYITNB___UTRTIEAN_KXRRTC__RT_LIB_D_UCRRIGLANLKELRRT__ITT_DD_UCCOOSAHLNWNRR_ETED____UXEISIAONTNWR_FTTTFI___N_U_CXCTRIAOLNL_XRRNRTCFT__LI_UFICRNBOALTRR_R_TKTCO__ULCUDARTTERS_TT__I_UNCIDANTHSR_TGRTC____UCLCRIARLNXHRRTFTG_I_UF_CFOAILNRR_RTMTO__UV_CPAFELA_RRRRTIRNI_U_TTTAYI_NXR_CFTTEIL_F_RRCORRL_X_RFEINIMFTOP__TCYFL_URILNLT__INCTL_RCLR

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

UART_RXFIFO_FULL_INT_CLR  UART_RXFIFO_FULL_INT b() UART_TXFIFO_EMPTY_INT_CLR  UART_TXFIFO_EMPTY_INT b() UART_PARITY_ERR_INT_CLR  UART_PARITY_ERR_INT b() UART_FRM_ERR_INT_CLR  UART_FRM_ERR_INT b() UART_RXFIFO_OVF_INT_CLR  UART_RXFIFO_OVF_INT b() UART_DSR_CHG_INT_CLR  UART_DSR_CHG_INT b() UART_CTS_CHG_INT_CLR  UART_CTS_CHG_INT b() UART_BRK_DET_INT_CLR  UART_BRK_DET_INT b() UART_RXFIFO_TOUT_INT_CLR  UART_RXFIFO_TOUT_INT b() UART_SW_XON_INT_CLR  UART_SW_XON_INT b() UART_SW_XOFF_INT_CLR  UART_SW_XOFF_INT b() UART_GLITCH_DET_INT_CLR  UART_GLITCH_DET_INT b() UART_TX_BRK_DONE_INT_CLR  UART_TX_BRK_DONE_INT b() UART_TX_BRK_IDLE_DONE_INT_CLR  UART_TX_BRK_IDLE_DONE_INT b()

UART_TX_DONE_INT_CLR  UART_TX_DONE_INT b() UART_RS485_PARITY_ERR_INT_CLR  UART_RS485_PARITY_ERR_INT b()

UART_RS485_FRM_ERR_INT_CLR  UART_RS485_FRM_ERR_INT b() UART_RS485_CLASH_INT_CLR  UART_RS485_CLASH_INT b() UART_AT_CMD_CHAR_DET_INT_CLR  UART_AT_CMD_CHAR_DET_INT b()

UART_WAKEUP_INT_CLR  UART_WAKEUP_INT b()



507 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

Register 23.7. UART_CLKDIV_REG (0x0014)

(reserved)

31

24 23

00000000

UART_CLKDIV_FRAG
20 19
0x0

UART_CLKDIV 0x2b6

UART_CLKDIV b(/) UART_CLKDIV_FRAG b(/)

GoBack
0
Reset



508 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.8. UART_CONF0_REG (0x0020)

(reserved) UART_UMARETM__TCI(CrLeKKs__eRErEvNFe_dUA)ALRWT_AUYDASTR_RTO__UNIRANTRVST__UTIANXRVDT__UIDNASRVTR__UCIANTRVST__UIRANXRVDT__UTIANXRVFTIF_UORA_XRFRTIS_UFTIOARR_DTRA_US_TTAEXRN_TF_ULLAOORWOT__PUEIBARNARDCTA_KU_IARRRXDT_A_UI_NIATRVRXD_TAI_UN_IAWRVRDCTAT_U_LIATRRXD_TAE_U_TNADXRPDTL__UXBSARWRKT__DSTWURA_RRTT_SSTOPU_ABRITT__BNIUUTA_MRNTU_UMPAARRTI_TPYA_REINTY

31

29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5

43

21 0

0 0 0 1 1 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1

3 0 0 Reset

UART_PARITY b0b1b(/) UART_PARITY_EN  UART b(/) UART_BIT_NUM b05 b16 b27 b38 b(/) UART_STOP_BIT_NUM b0: 
1: 1  2: 1.5  3: 2  (/) UART_SW_RTS  RTS b(/) UART_SW_DTR  DTR b(/) UART_TXD_BRK  NULLb(/) UART_IRDA_DPLX  IrDA b(/) UART_IRDA_TX_EN IrDA b(/) UART_IRDA_WCTL 1IrDA  11  10 b0 IrDA  11  0b(/)

UART_IRDA_TX_INV  IrDA b(/)

UART_IRDA_RX_INV  IrDA b(/)

UART_LOOPBACK  UART b(/)

UART_TX_FLOW_EN b(/)

UART_IRDA_EN  IrDA b(/)

UART_RXFIFO_RST  UART RX FIFOb(/)

UART_TXFIFO_RST  UART TX FIFOb(/)

UART_RXD_INV  UART RXD b(/)

UART_CTS_INV  UART CTS b(/)

UART_DSR_INV  UART DSR b(/)

UART_TXD_INV  UART TXD b(/)

... 

509 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART) Register 23.8. UART_CONF0_REG (0x0020)

GoBack

... UART_RTS_INV  UART RTS b(/) UART_DTR_INV  UART DTR b(/) UART_TICK_REF_ALWAYS_ON b1APB_CLKb0REF_TICKb(/) UART_MEM_CLK_EN UART RAM b1UART RAM ab0UART
RAM b(/)

Register 23.9. UART_CONF1_REG (0x0024)

UART_URAXR_TT_UORAUXRT_T_F_ELRONXW_T_OEUNT_FLOW_DIS
31 30 29 28

(reserved)

18 17

0 0 00 0 0 0 0 0 0 0 0 0 0

UART_TXFIFO_EMPTY_THRHD
98
0x60

UART_RXFIFO_FULL_THRHD
0

0x60

Reset

UART_RXFIFO_FULL_THRHD  UART_RXFIFO_FULL_INT b(/)

UART_TXFIFO_EMPTY_THRHD TX FIFO UART_TXFIFO_EMPTY_INT b(/)



UART_RX_TOUT_FLOW_DIS  idle_cntb(/)

UART_RX_FLOW_EN UART b1 sw_rts b0 b(/)

UART_RX_TOUT_EN UART b(/)



510 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.10. UART_FLOW_CONF_REG (0x0034)

(reserved)

UART_USAERNTD_US_AEXRNOTD_FUFF_AOXRORTC_NUFEAO_RXRTOC_UFXEAOF_RNXTO_ONSFWF__DFELLOW_CON_EN

31

65 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

UART_SW_FLOW_CON_EN          bUART    UART_XON_CHAR  UART_XOFF_CHAR        XON  XOFF UART_SW_XON_INT  UART_SW_XOFF_INT b(/)
UART_XONOFF_DEL b(/) UART_FORCE_XON b(/) UART_FORCE_XOFF b(/) UART_SEND_XON  XON bb(/) UART_SEND_XOFF  XOFF bb(/)

Register 23.11. UART_SLEEP_CONF_REG (0x0038)

(reserved)

31

10 9

0000000000000000000000

UART_ACTIVE_THRESHOLD
0

0xf0

Reset

UART_ACTIVE_THRESHOLD  RXD  3 UART  Light-sleep b(/)



511 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.12. UART_SWFC_CONF0_REG (0x003C)

(reserved)

31

17 16

000000000000000

UART_XOFF_CHAR
98
0x13

UART_XOFF_THRESHOLD
0

0xe0

Reset

UART_XOFF_THRESHOLD RX FIFO  UART_SW_FLOW_CON_EN  1  XOFF b(/)
UART_XOFF_CHAR  XOFF b(/)

Register 23.13. UART_SWFC_CONF1_REG (0x0040)

(reserved)

31

17 16

000000000000000

UART_XON_CHAR
98
0x11

UART_XON_THRESHOLD
0

0x0

Reset

UART_XON_THRESHOLD RX FIFO  UART_SW_FLOW_CON_EN  1   XON b(/)
UART_XON_CHAR  XON b(/)

(reserved)

31

28 27

0000

Register 23.14. UART_IDLE_CONF_REG (0x0044)

UART_TX_BRK_NUM
20 19
0xa

UART_TX_IDLE_NUM
10 9
0x100

UART_RX_IDLE_THRHD
0

0x100

Reset

UART_RX_IDLE_THRHD  cb(/)
UART_TX_IDLE_NUM c bb(/)
UART_TX_BRK_NUM  NULL bUART_TXD_BRK  1 b (/)



512 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.15. UART_RS485_CONF_REG (0x0048)

(reserved)

31

10 9

0000000000000000000000

UART_RS485_UTAXR_TD_ULRYAS_R4NT8_UU5RAM_SRR4TX8_U_5RADRSRLX4TYB8_U_Y5DAN_TLRTUX1TXM___U_ERDAENXLRN_0TE__NERNS485_EN
65 4 3 2 1 0

0x0

0 0 0 0 0 0 Reset

UART_RS485_EN  RS485 b(/) UART_DL0_EN  1 b(/) UART_DL1_EN  1 b(/) UART_RS485TX_RX_EN  RS485 b
(/) UART_RS485RXBY_TX_EN 1RS485  RS485 b0RS485 
 RS485 b(/) UART_RS485_RX_DLY_NUM b(/) UART_RS485_TX_DLY_NUM b(/)

Register 23.16. UART_AUTOBAUD_REG (0x0018)

(reserved)

31

16 15

0000000000000000

UART_GLITCH_FILT
87

(reserved)

UART_AUTOBAUD_EN
10

0x10

0 0 0 0 0 0 0 0 Reset

UART_AUTOBAUD_EN b(/)
UART_GLITCH_FILT bb (/)



513 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.17. UART_LOWPULSE_REG (0x0028)

(reserved)

31

20 19

000000000000

UART_LOWPULSE_MIN_CNT 0xfffff

UART_LOWPULSE_MIN_CNT b()

0
Reset

Register 23.18. UART_HIGHPULSE_REG (0x002C)

(reserved)

31

20 19

000000000000

UART_HIGHPULSE_MIN_CNT 0xfffff

UART_HIGHPULSE_MIN_CNT bb()

0
Reset

Register 23.19. UART_RXD_CNT_REG (0x0030)

(reserved)

31

10 9

0000000000000000000000

UART_RXD_EDGE_CNT
0

0x0

Reset

UART_RXD_EDGE_CNT   RXD       b       b   



UART_REG_LOWPULSE_MIN_CNTaUART_REG_HIGHPULSE_MIN_CNTa

UART_REG_POSEDGE_MIN_CNT  UART_REG_NEGEDGE_MIN_CNT        

UART_RXD_EDGE_CNT  RXD b()



514 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.20. UART_POSPULSE_REG (0x006C)

(reserved)

31

20 19

000000000000

UART_POSEDGE_MIN_CNT 0xfffff

0
Reset

UART_POSEDGE_MIN_CNT bb()

Register 23.21. UART_NEGPULSE_REG (0x0070)

(reserved)

31

20 19

000000000000

UART_NEGEDGE_MIN_CNT 0xfffff

0
Reset

UART_NEGEDGE_MIN_CNT bb()

UART_UTAXRDT_URATRSTN_DTRN(reserved)

31 30 29 28

26 25

0x0 0 0 0 0 0

Register 23.22. UART_STATUS_REG (0x001C)

UART_TXFIFO_CNT 0x0

UART_URAXRDT_UCATRSTN_DSRN(reserved)

16 15 14 13 12

10 9

0 0 00 0 0

UART_RXFIFO_CNT  RX FIFO b() UART_DSRN  UART DSR b() UART_CTSN  UART CTS b() UART_RXD  UART RXD b() UART_TXFIFO_CNT  TX FIFO b() UART_DTRN  UART DTR b() UART_RTSN  UART RTS b() UART_TXD  UART TXD b()

UART_RXFIFO_CNT 0x0

0
Reset



515 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.23. UART_MEM_TX_STATUS_REG (0x0060)

(reserved)

31

21 20

00000000000

UART_TX_RADDR 0x0

(reserved)
11 10 9
0

UART_APB_TX_WADDR
0

0x0

Reset

UART_APB_TX_WADDR  APB  TX FIFO  TX FIFO b() UART_TX_RADDR  TX FSM  Tx_FIFO_Ctrl  TX FIFO b()

Register 23.24. UART_MEM_RX_STATUS_REG (0x0064)

(reserved)

31

21 20

00000000000

UART_RX_WADDR 0x0

(reserved)
11 10 9
0

UART_APB_RX_RADDR
0

0x0

Reset

UART_APB_RX_RADDR  APB  RX FIFO  RX FIFO b( )
UART_RX_WADDR  Rx_FIFO_Ctrl  RX FIFO  RX FIFO b()

Register 23.25. UART_FSM_STATUS_REG (0x0068)

(reserved)

31

87

000000000000000000000000

UART_ST_UTX_OUT UART_ST_URX_OUT

43

0

0x0

0x0

Reset

UART_ST_URX_OUT b() UART_ST_UTX_OUT b()



516 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.26. UART_AT_CMD_PRECNT_REG (0x004C)

(reserved)

31

16 15

0000000000000000

UART_PRE_IDLE_NUM 0x901

0
Reset

UART_PRE_IDLE_NUM  AT_CMD b  AT_CMD b(/)

Register 23.27. UART_AT_CMD_POSTCNT_REG (0x0050)

(reserved)

31

16 15

0000000000000000

UART_POST_IDLE_NUM 0x901

0
Reset

UART_POST_IDLE_NUM  AT_CMD b  AT_CMD b(/)

Register 23.28. UART_AT_CMD_GAPTOUT_REG (0x0054)

(reserved)

31

16 15

0000000000000000

UART_RX_GAP_TOUT 11

0
Reset

UART_RX_GAP_TOUT  AT_CMD b/  AT_CMD b(/)



517 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

Register 23.29. UART_AT_CMD_CHAR_REG (0x0058)

(reserved)

31

16 15

0000000000000000

UART_CHAR_NUM
87
0x3

UART_AT_CMD_CHAR  AT_CMD b(/) UART_CHAR_NUM  AT_CMD b(/)

GoBack

UART_AT_CMD_CHAR
0

0x2b

Reset

Register 23.30. UART_DATE_REG (0x0074)
UART_DATE
31
0x18082800
UART_DATE b(/)

0
Reset



518 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.31. UHCI_CONF0_REG (0x0000)

(reserved)

UHCI_UUHACRIT_U_CHRLCXKI___UBEEHNRNCKCI__OUELDHOEECFN_I___CUEEURHNOACCFR_I_T_EUE_CNHNIRDCCLI__EUH_RHEEECCOAID__FUS__EHENEECPNNIE_(RrMe_sEEeMNrUv_eHTdRC)AI_NUINHS_DCESI_(NCOreRUs_TeBDrUvUSeHRCdCSR)IT__U_UBHEAUCNRRIT_SU1UT_HA_CCREEIT_NU0OH_UCCTIE__UOEHOUCFTI___UOMNHUOOCT_DI__RUEOAEHUUSCTTTIAO__URIL_NHTOW_C_ORLIC_POBULA_AOHRTHCCPEBK_IS_MTUTAEH_HSRCBTSI_MUTOH_UFCTIIF__OIRN_S_RTRSSTT

31

24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 Reset

UHCI_IN_RST  DMA FSMb(/) UHCI_OUT_RST  DMA FSMb(/) UHCI_AHBM_FIFO_RST  DMA cmdFIFO  AHB b(/) UHCI_AHBM_RST  DMA  AHB b(/) UHCI_IN_LOOP_TEST b(/) UHCI_OUT_LOOP_TEST b(/) UHCI_OUT_AUTO_WRBACK  TX FIFO b
(/) UHCI_OUT_NO_RESTART_CLR b(/) UHCI_OUT_EOF_MODE  UHCI_OUT_EOF_INT b1DMA  FIFO 
b0AHB  FIFO b(/) UHCI_UART0_CE  UHCI  UART0 b(/) UHCI_UART1_CE  UHCI  UART1 b(/) UHCI_OUTDSCR_BURST_EN  DMA b1b0b
(/) UHCI_INDSCR_BURST_EN  DMA b1b0b
(/) UHCI_MEM_TRANS_EN 1UHCI  DMA INFIFOb(/) UHCI_SEPER_EN b(/) UHCI_HEAD_EN b(/) UHCI_CRC_REC_EN  UHCI  16  CRCb(/) UHCI_UART_IDLE_EOF_EN  1UHCI  UART b(/) UHCI_LEN_EOF_EN  1UHCI b
UHCI_HEAD_EN  1  UCHI UHCI_HEAD_EN  0 b 0UHCI  0xC0 b(/) ...



519 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART) Register 23.31. UHCI_CONF0_REG (0x0000)

GoBack

...
UHCI_ENCODE_CRC_EN  16  CCITT-CRC b (/)
UHCI_CLK_EN 1b0b(/)
UHCI_UART_RX_BRK_EOF_EN  1UART  NULL  UHCI b (/)

Register 23.32. UHCI_CONF1_REG (0x002C)

(reserved)

31

21 20

00000000000

UHCI_DMA_INFIFO_FULL_THRS

UHCI_USHWC_I_SUWTHAACRITIT_U_CSHHWCEI_C_USTKHTX_AC_ORIA_WUTCTNHKXCE__RCNI_UHUSHEMACCV_IKE_RU__CEHSHRCUECIMA__UDC_DHHRICSEEAIC_BCKL_HESEECQK__ESNUM_EN

98 7 6 5 4 3 2 1 0

0

0 0 0 1 1 0 0 1 1 Reset

UHCI_CHECK_SUM_EN UHCI b(/) UHCI_CHECK_SEQ_EN UHCI b(/) UHCI_CRC_DISABLE  CRC bUHCI  1b(/) UHCI_SAVE_HEAD  UHCI b(/) UHCI_TX_CHECK_SUM_RE b(/) UHCI_TX_ACK_NUM_RE  ACK b(/) UHCI_CHECK_OWNER 1 DMA 0b
(/) UHCI_WAIT_SW_START  1 UHCI  ST_SW_WAIT b(/) UHCI_SW_START  UHCI_ENCODE_STATE  ST_SW_WAIT  1  UHCI 
b(/) UHCI_DMA_INFIFO_FULL_THRS RX FIFO                
UHCI_DMA_INFIFO_FULL_WM_INT b(/)



520 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.33. UHCI_AHB_TEST_REG (0x0048)

(reserved)

UHCI_AH(rBe_sTeErvSeTdA)DUDHRCI_AHB_TESTMODE

31

65

432

0

00000000000000000000000000 0 0

0

Reset

UHCI_AHB_TESTMODE b(/) UHCI_AHB_TESTADDR b(/)

Register 23.34. UHCI_ESCAPE_CONF_REG (0x0064)

(reserved)

UHCI_URHXC_I1_3UR_HXEC_SI1_C1U_R_HEXECS_NICD_U_BRHEX_CN_EICS_UT0CHX__C_EE1ISN3_UTC_HX_EC_SE1ICN1_U_T_HEXESC_NCDI__BTEX_N_ECS0C__EESNC_EN

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 Reset

UHCI_TX_C0_ESC_EN  DMA  0xC0b(/) UHCI_TX_DB_ESC_EN  DMA  0xDBb(/) UHCI_TX_11_ESC_EN  DMA  0x11b(/) UHCI_TX_13_ESC_EN  DMA  0x13b(/) UHCI_RX_C0_ESC_EN  DMA  0xC0b(/) UHCI_RX_DB_ESC_EN  DMA  0xDBb(/) UHCI_RX_11_ESC_EN  DMA  0x11b(/) UHCI_RX_13_ESC_EN  DMA  0x13b(/)



521 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.35. UHCI_HUNG_CONF_REG (0x0068)

(reserved)

UHCI_RXFIFUOH_CTII_MREXOFUIFTO__ETNIMAEOUT_SHIFTUHCI_RXFIFO_TIMEOUT UHCI_TXFIFUOH_CTII_MTEXOFUIFTO__ETNIMAEOUT_SHIFTUHCI_TXFIFO_TIMEOUT

31

24 23 22

20 19

12 11 10

87

0

0 0 0 0 0 0 0 01

0

0x10

1

0

0x10

Reset

UHCI_TXFIFO_TIMEOUT bDMA  UHCI_TX_HUNG_INT b(/)

UHCI_TXFIFO_TIMEOUT_SHIFT b(/) UHCI_TXFIFO_TIMEOUT_ENA TX FIFO b(/) UHCI_RXFIFO_TIMEOUT bDMA  RAM  UHCI_RX_HUNG_INT b
(/) UHCI_RXFIFO_TIMEOUT_SHIFT b(/) UHCI_RXFIFO_TIMEOUT_ENA DMA b(/)

Register 23.36. UHCI_QUICK_SENT_REG (0x0074)

(reserved)

UHCI_ALWAUYHSC_IS_EANLDW_AUEYHNSC_IS_ESNINDG_ULNEHU_CMSI_ESNIDN_GELNE_SEND_NUM

31

876

432

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00

0x0

0

0x0 Reset

UHCI_SINGLE_SEND_NUM  single_send b(/) UHCI_SINGLE_SEND_EN  single_send b(/) UHCI_ALWAYS_SEND_NUM  always_send b(/) UHCI_ALWAYS_SEND_EN  always_send b(/)



522 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.37. UHCI_Q0_WORD0_REG (0x0078)

UHCI_SEND_Q0_WORD0

31

0

0x000000

Reset

UHCI_SEND_Q0_WORD0  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)

Register 23.38. UHCI_Q0_WORD1_REG (0x007C)

UHCI_SEND_Q0_WORD1

31

0

0x000000

Reset

UHCI_SEND_Q0_WORD1  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)

Register 23.39. UHCI_Q1_WORD0_REG (0x0080)

UHCI_SEND_Q1_WORD0

31

0

0x000000

Reset

UHCI_SEND_Q1_WORD0  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)



523 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.40. UHCI_Q1_WORD1_REG (0x0084)

UHCI_SEND_Q1_WORD1

31

0

0x000000

Reset

UHCI_SEND_Q1_WORD1  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)

Register 23.41. UHCI_Q2_WORD0_REG (0x0088)

UHCI_SEND_Q2_WORD0

31

0

0x000000

Reset

UHCI_SEND_Q2_WORD0  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)

Register 23.42. UHCI_Q2_WORD1_REG (0x008C)

UHCI_SEND_Q2_WORD1

31

0

0x000000

Reset

UHCI_SEND_Q2_WORD1  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)



524 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.43. UHCI_Q3_WORD0_REG (0x0090)

UHCI_SEND_Q3_WORD0

31

0

0x000000

Reset

UHCI_SEND_Q3_WORD0  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)

Register 23.44. UHCI_Q3_WORD1_REG (0x0094)

UHCI_SEND_Q3_WORD1

31

0

0x000000

Reset

UHCI_SEND_Q3_WORD1  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)

Register 23.45. UHCI_Q4_WORD0_REG (0x0098)

UHCI_SEND_Q4_WORD0

31

0

0x000000

Reset

UHCI_SEND_Q4_WORD0  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)



525 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.46. UHCI_Q4_WORD1_REG (0x009C)

UHCI_SEND_Q4_WORD1

31

0

0x000000

Reset

UHCI_SEND_Q4_WORD1  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)

Register 23.47. UHCI_Q5_WORD0_REG (0x00A0)

UHCI_SEND_Q5_WORD0

31

0

0x000000

Reset

UHCI_SEND_Q5_WORD0  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)

Register 23.48. UHCI_Q5_WORD1_REG (0x00A4)

UHCI_SEND_Q5_WORD1

31

0

0x000000

Reset

UHCI_SEND_Q5_WORD1  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)



526 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.49. UHCI_Q6_WORD0_REG (0x00A8)

UHCI_SEND_Q6_WORD0

31

0

0x000000

Reset

UHCI_SEND_Q6_WORD0  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)

Register 23.50. UHCI_Q6_WORD1_REG (0x00AC)

UHCI_SEND_Q6_WORD1

31

0

0x000000

Reset

UHCI_SEND_Q6_WORD1  UHCI_ALWAYS_SEND_NUM  UHCI_SINGLE_SEND_NUM  b(/)

Register 23.51. UHCI_ESC_CONF0_REG (0x00B0)

(reserved)

31

24 23

00000000

UHCI_SEPER_ESC_CHAR1
16 15
0xdc

UHCI_SEPER_ESC_CHAR0
87
0xdb

UHCI_SEPER_CHAR
0

0xc0

Reset

UHCI_SEPER_CHAR  0xC0b(/) UHCI_SEPER_ESC_CHAR0  SLIP  0xDBb(/) UHCI_SEPER_ESC_CHAR1  SLIP  0xDCb(/)



527 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.52. UHCI_ESC_CONF1_REG (0x00B4)

(reserved)

31

24 23

00000000

UHCI_ESC_SEQ0_CHAR1
16 15
0xdd

UHCI_ESC_SEQ0_CHAR0
87
0xdb

UHCI_ESC_SEQ0
0

0xdb

Reset

UHCI_ESC_SEQ0  SLIP  0xDBb(/)
UHCI_ESC_SEQ0_CHAR0  SLIP UHCI_ESC_SEQ0  0xDBb (/)
UHCI_ESC_SEQ0_CHAR1  SLIP UHCI_ESC_SEQ0  0xDDb (/)

Register 23.53. UHCI_ESC_CONF2_REG (0x00B8)

(reserved)

31

24 23

00000000

UHCI_ESC_SEQ1_CHAR1
16 15
0xde

UHCI_ESC_SEQ1_CHAR0
87
0xdb

UHCI_ESC_SEQ1
0

0x11

Reset

UHCI_ESC_SEQ1  0x11b(/) UHCI_ESC_SEQ1_CHAR0  SLIP UHCI_ESC_SEQ1  0xDBb(/)

UHCI_ESC_SEQ1_CHAR1  SLIP UHCI_ESC_SEQ1  0xDEb(/)



528 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.54. UHCI_ESC_CONF3_REG (0x00BC)

(reserved)

31

24 23

00000000

UHCI_ESC_SEQ2_CHAR1
16 15
0xdf

UHCI_ESC_SEQ2_CHAR0
87
0xdb

UHCI_ESC_SEQ2
0

0x13

Reset

UHCI_ESC_SEQ2  0x13b(/)
UHCI_ESC_SEQ2_CHAR0  SLIP UHCI_ESC_SEQ2  0xDBb (/)
UHCI_ESC_SEQ2_CHAR1  SLIP UHCI_ESC_SEQ2  0xDFb (/)

Register 23.55. UHCI_PKT_THRES_REG (0x00C0)

(reserved)

31

13 12

0000000000000000000

UHCI_PKT_THRS 0x80

UHCI_PKT_THRS UHCI_HEAD_EN  0 b(/)

0
Reset



529 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.56. UHCI_INT_RAW_REG (0x0004)

(reserved)

UHCI_UDHMCAI_U_SIHNECNFIID_FUS_OHEA_CN_FID_RUUOE_LHGSULC___TIWQR__UTOE_MHOGUINC_T_TIATIQN_LU_LII_TN_NHR_IENK_ACRO_WDTIA_UFE_SWO_OHRCUIFACRNT_WI_T__EUE_IDRNHMRSR_CAPC_DIWT_RIUSNYO_HCT_UECR_IRTNI_R__RTUEAOE__HRWOUIRCNRFTA_IT___WUI_NIIDNNHRTO_TCA_N_WEIR_UERRAI_NRHAWIW__CNESIT_OUU_INFHCR__C_AIDIEWN_UOOTTHFNX_C__REIHI_AN_UUWIRTNHN_XTCG_R_IH_A_RUTWIUANHXNWTC_G_SI__RTRIAANXRWT_T_S_RTINAARWTT__RIANWT_RAW

31

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

UHCI_RX_START_INT_RAW UHCI_RX_START_INT b b()
UHCI_TX_START_INT_RAW UHCI_TX_START_INT bDMA  b()
UHCI_RX_HUNG_INT_RAW UHCI_RX_HUNG_INT bDMA  b()
UHCI_TX_HUNG_INT_RAW UHCI_TX_HUNG_INT bDMA  RAM  b()
UHCI_IN_DONE_INT_RAW UHCI_IN_DONE_INT b b()
UHCI_IN_SUC_EOF_INT_RAW UHCI_IN_SUC_EOF_INT b b()
UHCI_IN_ERR_EOF_INT_RAW UHCI_IN_ERR_EOF_INT b EOF b()
UHCI_OUT_DONE_INT_RAW UHCI_OUT_DONE_INT b b()
UHCI_OUT_EOF_INT_RAW UHCI_OUT_EOF_INT b EOF  b()
UHCI_IN_DSCR_ERR_INT_RAW UHCI_IN_DSCR_ERR_INT b b()
UHCI_OUT_DSCR_ERR_INT_RAW UHCI_OUT_DSCR_ERR_INT b b()
UHCI_IN_DSCR_EMPTY_INT_RAW UHCI_IN_DSCR_EMPTY_INT bDMA  b()
UHCI_OUTLINK_EOF_ERR_INT_RAW
...



530 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART) Register 23.56. UHCI_INT_RAW_REG (0x0004)

GoBack

... UHCI_OUTLINK_EOF_ERR_INT b EOF  b()
UHCI_OUT_TOTAL_EOF_INT_RAW UHCI_OUT_TOTAL_EOF_INT b b()
UHCI_SEND_S_REG_Q_INT_RAW UHCI_SEND_S_REG_Q_INT bDMA  single_send b()
UHCI_SEND_A_REG_Q_INT_RAW UHCI_SEND_A_REG_Q_INT bDMA  always_send b()
UHCI_DMA_INFIFO_FULL_WM_INT_RAW UHCI_DMA_INFIFO_FULL_WM_INT b DMA RX FIFO b()



531 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.57. UHCI_INT_ST_REG (0x0008)

(reserved)

UHCI_UDHMCAI_U_SIHNECNFIID_FUS_OHEA_CN_FID_RUUOE_LHGSULC___TIWQR__UTOE_MHOGUINC_T_TIATIQN_LU_LII_TN_NHS_IETNK_CSO_DTIT_UFE_SO_OSHCUITFCRNT_I_T__EUE_IDRNHMSSR_CTPC_DIT_RIUSNYO_HCT_UECR_IRTNI_S__RTUTEOE__HROUISCNRFTT_IT___UI_NIIDNNHSTOT_TC_N_EIS_UERSTI_TNRHI__CNESIT_OUU_INFHCS__C_TIDIEN_UOOTTHFNX_C__SEIHIT_N_UUIRTNHN_XTCG_S_ITH__SUTIUTNHXNTC_G_SI__STRIATNXRT_T_S_STINATRTT__SITNT_ST

31

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

UHCI_RX_START_INT_ST UHCI_RX_START_INT_ENA  1  UHCI_RX_START_INT  b()
UHCI_TX_START_INT_ST UHCI_TX_START_INT_ENA  1  UHCI_TX_START_INT  b()
UHCI_RX_HUNG_INT_ST UHCI_RX_HUNG_INT_ENA  1  UHCI_RX_HUNG_INT  b()
UHCI_TX_HUNG_INT_ST UHCI_TX_HUNG_INT_ENA  1  UHCI_TX_HUNG_INT  b()
UHCI_IN_DONE_INT_ST UHCI_IN_DONE_INT_ENA  1  UHCI_IN_DONE_INT  b()
UHCI_IN_SUC_EOF_INT_ST UHCI_IN_SUC_EOF_INT_ENA  1  UHCI_IN_SUC_EOF_INT  b()
UHCI_IN_ERR_EOF_INT_ST UHCI_IN_ERR_EOF_INT_ENA  1  UHCI_IN_ERR_EOF_INT  b()
UHCI_OUT_DONE_INT_ST UHCI_OUT_DONE_INT_ENA  1  UHCI_OUT_DONE_INT  b()
...



532 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART) Register 23.57. UHCI_INT_ST_REG (0x0008)

GoBack

...

UHCI_OUT_EOF_INT_ST UHCI_OUT_EOF_INT_ENA  1  UHCI_OUT_EOF_INT  b()

UHCI_IN_DSCR_ERR_INT_ST UHCI_IN_DSCR_ERR_INT_ENA  1  UHCI_IN_DSCR_ERR_INT  b()

UHCI_OUT_DSCR_ERR_INT_ST UHCI_OUT_DSCR_ERR_INT_ENA



1



UHCI_OUT_DSCR_ERR_INT b()

UHCI_IN_DSCR_EMPTY_INT_ST UHCI_IN_DSCR_EMPTY_INT_ENA



1



UHCI_IN_DSCR_EMPTY_INT b()

UHCI_OUTLINK_EOF_ERR_INT_ST UHCI_OUTLINK_EOF_ERR_INT_ENA



1



UHCI_OUTLINK_EOF_ERR_INT b()

UHCI_OUT_TOTAL_EOF_INT_ST UHCI_OUT_TOTAL_EOF_INT_ENA



1



UHCI_OUT_TOTAL_EOF_INT b()

UHCI_SEND_S_REG_Q_INT_ST UHCI_SEND_S_REG_Q_INT_ENA



1



UHCI_SEND_S_REG_Q_INT b()

UHCI_SEND_A_REG_Q_INT_ST UHCI_SEND_A_REG_Q_INT_ENA



1



UHCI_SEND_A_REG_Q_INT b()

UHCI_DMA_INFIFO_FULL_WM_INT_ST UHCI_DMA_INFIFO_FULL_WM_INT_ENA  1  UHCI_DMA_INFIFO_FULL_WM_INT b()



533 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.58. UHCI_INT_ENA_REG (0x000C)

(reserved)

UHCI_UDHMCAI_U_SIHNECNFIID_FUS_OHEA_CN_FID_RUUOE_LHGSULC___TIWQR__UTOE_MHOGUINC_T_TIATIQN_LU_LII_TN_NHE_IENNK_CEO_DTAIN_UFE_SOA_OHECUINFCRNT_AI_T__EUE_IDRNHMESR_CNPC_DIAT_RIUSNYO_HCT_UECR_IRTNI_E__RTUNEOE__HRAOUIECNRFTN_IT___AUI_NIIDNNHETO_NTC_N_EIAE_UERENI_NNRHAI_A_CNESIT_OUU_INFHCE__C_NIDIENA_UOOTTHFNX_C__EEIHIN_N_UUIARTNHN_XTCG_E_IHN__EUTIUANNHXNATC_G_SI__ETRIANNXRAT_T_S_ETINANRTAT__EINNAT_ENA

31

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

UHCI_RX_START_INT_ENA UHCI_RX_START_INT b(/) UHCI_TX_START_INT_ENA UHCI_TX_START_INT b(/) UHCI_RX_HUNG_INT_ENA UHCI_RX_HUNG_INT b(/) UHCI_TX_HUNG_INT_ENA UHCI_TX_HUNG_INT b(/) UHCI_IN_DONE_INT_ENA UHCI_IN_DONE_INT b(/) UHCI_IN_SUC_EOF_INT_ENA UHCI_IN_SUC_EOF_INT b(/) UHCI_IN_ERR_EOF_INT_ENA UHCI_IN_ERR_EOF_INT b(/) UHCI_OUT_DONE_INT_ENA UHCI_OUT_DONE_INT b(/) UHCI_OUT_EOF_INT_ENA UHCI_OUT_EOF_INT b(/) UHCI_IN_DSCR_ERR_INT_ENA UHCI_IN_DSCR_ERR_INT b(/) UHCI_OUT_DSCR_ERR_INT_ENA UHCI_OUT_DSCR_ERR_INT b(/) UHCI_IN_DSCR_EMPTY_INT_ENA UHCI_IN_DSCR_EMPTY_INT b(/) UHCI_OUTLINK_EOF_ERR_INT_ENA UHCI_OUTLINK_EOF_ERR_INT b(/) UHCI_OUT_TOTAL_EOF_INT_ENA UHCI_OUT_TOTAL_EOF_INT b(/) UHCI_SEND_S_REG_Q_INT_ENA UHCI_SEND_S_REG_Q_INT b(/) UHCI_SEND_A_REG_Q_INT_ENA UHCI_SEND_A_REG_Q_INT b(/) UHCI_DMA_INFIFO_FULL_WM_INT_ENA UHCI_DMA_INFIFO_FULL_WM_INT      b
(/)



534 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.59. UHCI_INT_CLR_REG (0x0010)

(reserved)

UHCI_UDHMCAI_U_SIHNECNFIID_FUS_OHEA_CN_FID_RUUOE_LHGSULC___TIWQR__UTOE_MHOGUINC_T_TIATIQN_LU_LII_TN_NCH_IENK_LCCOR_DTIL_UFE_SRO_OCHCUIFLCRNTR_I_T__EUE_IDRNHMCSR_CLPC_DRIT_RIUSNYO_HCT_UECR_IRTNIC___RTUELOE__HRROUICCNRFTL_IT___RUI_NIIDNNHCTO_TCL_NR_EIC_UECRLI_NRHLRIR__CNESIT_OUU_INFHCC__C_LIDIERN_UOOTTHFNX_C__CEIHI_LN_URUIRTNHN_XTCG_C_IH_L_CUTRIULNHXRNTC_G_SI__CTRIALNXRRT_T_S_CTINALRRTT__CILNRT_CLR

31

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

UHCI_RX_START_INT_CLR  UHCI_RX_START_INT b() UHCI_TX_START_INT_CLR  UHCI_TX_START_INT b() UHCI_RX_HUNG_INT_CLR  UHCI_RX_HUNG_INT b() UHCI_TX_HUNG_INT_CLR  UHCI_TX_HUNG_INT b() UHCI_IN_DONE_INT_CLR  UHCI_IN_DONE_INT b() UHCI_IN_SUC_EOF_INT_CLR  UHCI_IN_SUC_EOF_INT b() UHCI_IN_ERR_EOF_INT_CLR  UHCI_IN_ERR_EOF_INT b() UHCI_OUT_DONE_INT_CLR  UHCI_OUT_DONE_INT b() UHCI_OUT_EOF_INT_CLR  UHCI_OUT_EOF_INT b() UHCI_IN_DSCR_ERR_INT_CLR  UHCI_IN_DSCR_ERR_INT b() UHCI_OUT_DSCR_ERR_INT_CLR  UHCI_OUT_DSCR_ERR_INT b() UHCI_IN_DSCR_EMPTY_INT_CLR  UHCI_IN_DSCR_EMPTY_INT b() UHCI_OUTLINK_EOF_ERR_INT_CLR  UHCI_OUTLINK_EOF_ERR_INT b() UHCI_OUT_TOTAL_EOF_INT_CLR  UHCI_OUT_TOTAL_EOF_INT b() UHCI_SEND_S_REG_Q_INT_CLR  UHCI_SEND_S_REG_Q_INT b() UHCI_SEND_A_REG_Q_INT_CLR  UHCI_SEND_A_REG_Q_INT b() UHCI_DMA_INFIFO_FULL_WM_INT_CLR  UHCI_DMA_INFIFO_FULL_WM_INT b
()



535 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.60. UHCI_DMA_OUT_STATUS_REG (0x0014)

(reserved)

UHCI_UOHUCTI__OEMUTP_TFYULL

31

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 Reset

UHCI_OUT_FULL 1DMA  TX FIFO b() UHCI_OUT_EMPTY 1DMA  TX FIFO b()

Register 23.61. UHCI_DMA_IN_STATUS_REG (0x001C)

(reserved)

UHCI_RX_ERR(_reCsAeUrvSeEdU)HCI_UINH_CEI_MINP_TFYULL

31

76

43

21 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 0 0 1 0 Reset

UHCI_IN_FULL  RX FIFO b()
UHCI_IN_EMPTY  RX FIFO b()
UHCI_RX_ERR_CAUSE  DMA b3'b001HCI 3'b010 HCI b3'b011HCI  CRC 3'b100 0xC0  HCI  3'b101 0xC0  HCI 3'b110CRC b()



536 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

Register 23.62. UHCI_STATE0_REG (0x0030)

(reserved) UHCI_DECODE_STATEUHCI_INFIFO_CNT_DEUBHUCGI_IN_STATUEHCI_IN_DSCR_STATE

31 30

28 27

23 22

20 19 18 17

0

0

0

0

0

UHCI_INLINK_DSCR_ADDR 0

UHCI_INLINK_DSCR_ADDR b() UHCI_IN_DSCR_STATE b() UHCI_IN_STATE b() UHCI_INFIFO_CNT_DEBUG  RX FIFO b() UHCI_DECODE_STATE UHCI b()

GoBack
0
Reset

Register 23.63. UHCI_STATE1_REG (0x0034)

(reserved) UHCI_ENCODE_STATEUHCI_OUTFIFO_CNT UHCI_OUT_STUAHTECI_OUT_DSCR_STATE

31 30

28 27

23 22

20 19 18 17

0

0

0

0

0

UHCI_OUTLINK_DSCR_ADDR 0

UHCI_OUTLINK_DSCR_ADDR b() UHCI_OUT_DSCR_STATE b() UHCI_OUT_STATE b() UHCI_OUTFIFO_CNT  TX FIFO b() UHCI_ENCODE_STATE UHCI b()

0
Reset



537 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.64. UHCI_DMA_OUT_EOF_DES_ADDR_REG (0x0038)

UHCI_OUT_EOF_DES_ADDR

31

0

0x000000

Reset

UHCI_OUT_EOF_DES_ADDR  EOF  1 b()

Register 23.65. UHCI_DMA_IN_SUC_EOF_DES_ADDR_REG (0x003C)
UHCI_IN_SUC_EOF_DES_ADDR
31
0x000000
UHCI_IN_SUC_EOF_DES_ADDR  EOF b()

0
Reset

Register 23.66. UHCI_DMA_IN_ERR_EOF_DES_ADDR_REG (0x0040)
UHCI_IN_ERR_EOF_DES_ADDR
31
0x000000
UHCI_IN_ERR_EOF_DES_ADDR b()

0
Reset



538 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.67. UHCI_DMA_OUT_EOF_BFR_DES_ADDR_REG (0x0044)
UHCI_OUT_EOF_BFR_DES_ADDR
31
0x000000
UHCI_OUT_EOF_BFR_DES_ADDR b()

0
Reset

Register 23.68. UHCI_DMA_IN_DSCR_REG (0x004C)
UHCI_INLINK_DSCR
31
0
UHCI_INLINK_DSCR b()

0
Reset

Register 23.69. UHCI_DMA_IN_DSCR_BF0_REG (0x0050)
UHCI_INLINK_DSCR_BF0
31
0
UHCI_INLINK_DSCR_BF0 b()

0
Reset



539 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)
Register 23.70. UHCI_DMA_OUT_DSCR_REG (0x0058)
UHCI_OUTLINK_DSCR
31
0
UHCI_OUTLINK_DSCR b()
Register 23.71. UHCI_DMA_OUT_DSCR_BF0_REG (0x005C)
UHCI_OUTLINK_DSCR_BF0
31
0
UHCI_OUTLINK_DSCR_BF0 b()
Register 23.72. UHCI_RX_HEAD_REG (0x0070)
UHCI_RX_HEAD
31
0x000000
UHCI_RX_HEAD  ()

GoBack
0
Reset
0
Reset
0
Reset



540 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.73. UHCI_DMA_OUT_PUSH_REG (0x0018)

(reserved)

UHCI_OUTFIFO_PUSH(reserved)

31

17 16 15

98

0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0

UHCI_OUTFIFO_WDATA
0

0x0

Reset

UHCI_OUTFIFO_WDATA  TX FIFO b(/) UHCI_OUTFIFO_PUSH  TX FIFOb(/)

Register 23.74. UHCI_DMA_IN_POP_REG (0x0020)

(reserved)

UHCI_INFIFO_(PreOsPerved)

31

17 16 15

12 11

0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 0

UHCI_INFIFO_RDATA 0x0

UHCI_INFIFO_RDATA  RX FIFO b() UHCI_INFIFO_POP  RX FIFO b(/)

0
Reset

Register 23.75. UHCI_DMA_OUT_LINK_REG (0x0024)

UHCI_UOHUCTI_LUOINHUKCT_I_LUPOIANHURKCTK_I_LROINEUSKTT_ALSIRTNTAKR_TSTOP

(reserved)

31 30 29 28 27

20 19

0 0 0 00 0 0 0 0 0 0 0

UHCI_OUTLINK_ADDR 0x000

0
Reset

UHCI_OUTLINK_ADDR  20 b(/) UHCI_OUTLINK_STOP b(/) UHCI_OUTLINK_START b(/) UHCI_OUTLINK_RESTART b(/) UHCI_OUTLINK_PARK 1 FSM b0 FSM b(
)



541 

ESP32-S2 TRM ( 1.3)

 23  UART  (UART)

GoBack

Register 23.76. UHCI_DMA_IN_LINK_REG (0x0028)

UHCI_UINHLCIIN_UKINH_LCPIIAN_URKINHK_LCRIINE_SKINT_ALSIRTNTAKR_TSTOP (reserved)
31 30 29 28 27

UHCI_INLINK_AUTO_RET
21 20 19

0 0 0 00 0 0 0 0 0 0 1

UHCI_INLINK_ADDR 0x000

0
Reset

UHCI_INLINK_ADDR  20 b(/) UHCI_INLINK_AUTO_RET b(/) UHCI_INLINK_STOP b(/) UHCI_INLINK_START b(/) UHCI_INLINK_RESTART b(/) UHCI_INLINK_PARK 1 FSM b0 FSM b()

Register 23.77. UHCI_DATE_REG (0x00FC)
UHCI_DATE
31
0x18073001
UHCI_DATE b(/)

0
Reset



542 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

 24 
SPI  (SPI)
24.1 
ESP32-S2  SPI SPI0aSPI1a SPI2 (GP-SPI2)  SPI3 (GP-SPI3) 24.1-1 b

 24.1-1. SPI 

 SPI  SPI 
· SPI0  (CS)CS0  CS1bCS0  flashCS1  RAMbSPI0  cache  EDMA 
­  RAM b
­  RAMb
­  flash b cacheb
· SPI1 CS0  CS1bSPI1  CPU  flashb · GP-SPI2  SPI  DMA bGP-SPI2 b
GP-SPI2  CS CS0 ~ CS5b
· GP-SPI3  SPI  ADC  DAC  DMA bGP-SPI3  bGP-SPI3  CS CS0 ~ CS2b
SPI0  SPI1  SPI bSPI0  SPI1  SPI  SPICLKaSPICS0 ~ SPICS1aSPIDaSPIQaSPIWPaSPIHDaSPIIO4 ~ SPIIO7  SPIDQSbGP-SPI2  GP-SPI3  FSPI (Fast SPI)  SPI3 b FSPI  GP-SPI2  SPI b
SPI/FSPI/SPI3  I/O  GPIO 
· SPI  GPIO  IO MUX  GPIO b



543 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)
· FSPI  GPIO  IO MUX  GPIO b · SPI3  GPIO  GPIO b  5 IO MUX  GPIO b

GoBack

24.2 
SPI0  SPI1 b GP-SPI2  GP-SPI3 bSPI   ESP32-S2  24.10-1b
24.2.1 GP-SPI2 
24.2.1.1 GP-SPI2 
GP-SPI2  · CMDaADDR  DATA  ·  SPI  flasha RAM  LCD b ­  1-bit SPI FSPICLKaFSPICS0 ~ FSPICS5aFSPID / FSPIQb  1-bit SPI b SPI FSPID  SPI FSPID  FSPIQb ­  2-bit Dual SPI FSPICLKaFSPICS0 ~ FSPICS5aFSPID  FSPIQb  FSPID  FSPIQb ­  4-bit Quad SPI FSPICLKaFSPICS0 ~ FSPICS5aFSPIDaFSPIQaFSPIWP  FSPIHDb FSPIDaFSPIQaFSPIWP  FSPIHDb ­  QPI FSPICLKaFSPICS0 ~ FSPICS5aFSPIDaFSPIQaFSPIWP  FSPIHDb ­  8-bit Octal SPI FSPICLKaFSPICS0 ~ FSPICS5aFSPIDaFSPIQaFSPIWPa FSPIHD  FSPIIO4 ~ FSPIIO7b FSPIDaFSPIQaFSPIWPa FSPIHD  FSPIIO4 ~ FSPIIO7b ­  OPI FSPICLKaFSPICS0 ~ FSPICS5aFSPIDaFSPIQaFSPIWPaFSPIHD  FSPIIO4 ~ FSPIIO7b ·  Moto6800/I8080/ RGB  8-bit LCD  ·  SPI APB  1 ~ n  · SPI_CD  CMD  ADDR  ·  SPI_CS  SPI bca/aCMDa ADDRaDUMMY b · CS  (Setup Time)  (Hold Time)  ·  DMA  (Segmented Configure Transfer, SCT)  



544 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

24.2.1.2 GP-SPI2 
GP-SPI2  · bCMDaADDR  DATA  24.3-1b ­  1-bit SPI FSPICLKaFSPICS0aFSPID / FSPIQb 1-bit SPI b SPI FSPID   SPI FSPID  FSPIQb ­  2-bit Dual SPI FSPICLKaFSPICS0aFSPID  FSPIQb ­  4-bit Quad SPI FSPICLKaFSPICS0aFSPIDaFSPIQaFSPIWP  FSPIHDb ­  QPI FSPICLKaFSPICS0aFSPIDaFSPIQaFSPIWP  FSPIHDb ·  SPI  40 MHz ·  24.5.1  ·  (Segmented Transfer, ST) 
24.2.1.3 GP-SPI2 
GP-SPI2  ·  ­  CPU 1 ~ 64  ­  DMA 1 ~ n  ·  (MSB) (LSB) ·  ·  SPI  ­  CPU  GP-SPI2  buffer  ­  DMA  RAM  ­  EDMA  RAM b · a ·  SPI  0 ~ 3

24.2.2 GP-SPI3 
24.2.2.1 GP-SPI3 
GP-SPI3  ·  SPI APB  1 ~ n  ·  1-bit LCD  · SPI_CD  CMD  ADDR 



545 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

·  SPI_CS  SPI bca/aCMDa ADDRaDUMMY b
· CS  ·  DMA 
24.2.2.2 GP-SPI3 
GP-SPI3  ·  SPI  40 MHz ·  24.5.1  · 
24.2.2.3 GP-SPI3 
GP-SPI3  ·  1-bit SPI b 1-bit SPI b SPI  SPI3_D  SPI SPI3_D  SPI3_Qb ·  ­  CPU 1 ~ 64  ­  DMA 1 ~ n  ·  (MSB) (LSB) ·  ·  SPI  ­  CPU  GP-SPI3  buffer  ­  DMA  RAM  · a ·  SPI  0 ~ 3

24.2.3 SPI 
·  SPI  ·  SPI DMA 

24.3  SPI 
GP-SPI2  GP-SPI3  SPI SPI  24.3-1bGP-SPI2  GP-SPI3  24.3-1b



546 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

 24.3-1. GP-SPI2/GP-SPI3 

 24.3-1. GP-SPI2  GP-SPI3 

 1-bit SPI Dual SPI
Quad SPI
Octal SPI QPI OPI

Dual Output Read Dual I/O Read Quad Output Read Quad I/O Read Octal Output Read Octal I/O Read

 1-bit 1-bit 1-bit 1-bit 1-bit 1-bit 1-bit 4-bit 8-bit

 1-bit 1-bit 2-bit 1-bit 4-bit 1-bit 8-bit 4-bit 8-bit

 1-bit 2-bit 2-bit 4-bit 4-bit 8-bit 8-bit 4-bit 8-bit

GP-SPI2         

GP-SPI3  _ _ _ _ _ _ _ _

GP-SPI3  GP-SPI2 bGP-SPI2  24.4  24.5 bGP-SPI2  GP-SPI3   24.6 bGP-SPI2 
·  SPI_USER_REG  SPI_DOUTDIN  ­ 0b ­ 1b
·  SPI_SLAVE_REG  SPI_SLAVE_MODE b ­ 0b ­ 1b
·  SPI_CTRL_REG  SPI_RD_BIT_ORDER  SPI_WR_BIT_ORDER / b ­ 0/ LSBb ­ 1/ MSBb
GP-SPI2  DMA b ESP32-S2 CPU b DMA  CPU  SPI bDMA   24.4.7b



547 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

GP-SPI2 b SPI GP-SPI2  b En_SEG_TRANS b 24.5.4b
GP-SPI2 SPI  24.5-1  24.5-2 b

24.4 GP-SPI2 
GP-SPI2 bGP-SPI2 b b
·  24.4.1 ·  24.4.2 ·  24.4.3  24.4.8 GP-SPI2  ·  24.4.9 CS  ·  24.9 FSPICLK a
 · b 8 b ·  CMD  ADDR b

24.4.1 
GP-SPI2  1/2/4/8-bit SPI  flasha RAM  LCD bGP-SPI2   flasha RAM  LCD bGP-SPI2  24.4-1  GP-SPI2 b



548 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

 24.4-1. GP-SPI2 

GP-SPI2  1. IDLEGP-SPI2 b 2. CONF DMA b SPI_USR  SPI_USR_CONF b CONF  b 3. PREP SPI  SPI CS b SPI_USR  SPI_CS_SETUP b 4. CMDb SPI_USR  SPI_USR_COMMAND b 5. ADDRb SPI_USR  SPI_USR_ADDR b 6. DUMMYc DUMMY b SPI_USR  SPI_USR_DUMMY b



549 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

7. DATA · DOUTb SPI_USR  SPI_USR_MOSI b · DINb SPI_USR  SPI_USR_MISO b
8. DONE SPI CS b SPI_USR b  24.4-1 GP-SPI2  gpc[22:0] bCONFaPREPaCMDa ADDRaDUMMYaDOUT  DIN b  GP-SPI2 b

24.4.2 
GP-SPI2  GP-SPI2 b GP-SPI2  24.4-1  24.4-2b SPI_USER_REG  SPI_OPI_MODE  SPI_QPI_MODE  OPI   QPI b SPI_OPI_MODE  SPI_QPI_MODEb
 24.4-1. 1/2-bit 

GP-SPI2  CMD
ADDR DUMMY DIN DOUT

1-bit  FSPI 
SPI_USR_COMMAND_VALUE SPI_USR_COMMAND_BITLEN SPI_USR_COMMAND
SPI_USR_ADDR_VALUE SPI_USR_ADDR_BITLEN SPI_USR_ADDR
SPI_USR_DUMMY_CYCLELEN SPI_USR_DUMMY
SPI_USR_MISO SPI_USR_MISO_DBITLEN
SPI_USR_MOSI SPI_USR_MOSI_DBITLEN

2-bit  FSPI  SPI_USR_COMMAND_VALUE SPI_USR_COMMAND_BITLEN SPI_FCMD_DUAL SPI_USR_COMMAND SPI_USR_ADDR_VALUE SPI_USR_ADDR_BITLEN SPI_USR_ADDR SPI_FADDR_DUAL SPI_USR_DUMMY_CYCLELEN SPI_USR_DUMMY SPI_USR_MISO SPI_USR_MISO_DBITLEN SPI_FREAD_DUAL SPI_USR_MOSI SPI_USR_MOSI_DBITLEN SPI_FWRITE_DUAL

GP-SPI2  CMD ADDR

 24.4-2. 4/8-bit 

4-bit  FSPI  SPI_USR_COMMAND_VALUE SPI_USR_COMMAND_BITLEN SPI_FCMD_QUAD SPI_USR_COMMAND SPI_USR_ADDR_VALUE SPI_USR_ADDR_BITLEN SPI_USR_ADDR SPI_FADDR_QUAD

8-bit  FSPI  SPI_USR_COMMAND_VALUE SPI_USR_COMMAND_BITLEN SPI_FCMD_OCT SPI_USR_COMMAND SPI_USR_ADDR_VALUE SPI_USR_ADDR_BITLEN SPI_USR_ADDR SPI_FADDR_OCT



550 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

GP-SPI2  DUMMY DIN
DOUT

 24.4-2. 4/8-bit 

4-bit  FSPI  SPI_USR_DUMMY_CYCLELEN SPI_USR_DUMMY SPI_USR_MISO SPI_USR_MISO_DBITLEN SPI_FREAD_QUAD SPI_USR_MOSI SPI_USR_MOSI_DBITLEN SPI_FWRITE_QUAD

8-bit  FSPI  SPI_USR_DUMMY_CYCLELEN SPI_USR_DUMMY SPI_USR_MISO SPI_USR_MISO_DBITLEN SPI_FREAD_OCT SPI_USR_MOSI SPI_USR_MOSI_DBITLEN SPI_FWRITE_OCT

 24.4-1  24.4-2  FSPI c b  GP-SPI2 
· CMD  4-bit  · ADDR  2-bit  · DUMMY  n  · DIN  8-bit b  1.  CMD b
·  SPI_USR_COMMAND_VALUE  ·  SPI_USR_COMMAND_BITLEN SPI_USR_COMMAND_BITLEN = 
 - 1 ·  SPI_FCMD_QUAD  SPI_USR_COMMAND ·  SPI_FCMD_DUAL  SPI_FCMD_OCTb 2.  ADDR b ·  SPI_USR_ADDR_VALUE  ·  SPI_USR_ADDR_BITLEN SPI_USR_ADDR_BITLEN =  -
1 ·  SPI_USR_ADDR  SPI_FADDR_DUAL ·  SPI_FADDR_QUAD  SPI_FADDR_OCT 3.  DUMMY b ·  SPI_USR_DUMMY_CYCLELEN  DUMMY 
SPI_USR_DUMMY_CYCLELEN =  DUMMY  (n) - 1 ·  SPI_USR_DUMMYb 4.  DIN b



551 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

·  SPI_USR_MISO_DBITLEN SPI_USR_MISO_DBITLEN =   - 1
·  SPI_FREAD_OCT  SPI_USR_MISO
·  SPI_FREAD_DUAL  SPI_FREAD_QUAD
·  DMA  GP-SPI2  DMACPU b
5.  SPI_USR_MOSI
6.  SPI_USR  GP-SPI2 b
cDOUT  SPI_USR_MOSI  SPI_USR_MOSI_DBITLEN SPI_USR_MISOb  = SPI_USR_MOSI_DBITLEN + 1b CPU  GP-SPI2  SPI_W0_REG ~ SPI_W17_REG  DMA  DMA TX buffer b LSBc 0  MSBb
 SPI_USR_COMMAND_VALUE  SPI_USR_ADDR_VALUE b

·  SPI_USR_COMMAND_BITLEN < 8 SPI_USR_COMMAND_VALUE[7:0] 
­  SPI_WR_BIT_ORDER SPI_USR_COMMAND_VALUE[7:0]  SPI_USR_COMMAND_VALUE[SPI_USR_COMMAND_BITLEN:0]b
­  SPI_WR_BIT_ORDER SPI_USR_COMMAND_VALUE[7:0]  SPI_USR_COMMAND_VALUE[7: 7-SPI_USR_COMMAND_BITLEN]b
·  7 < SPI_USR_COMMAND_BITLEN < 16 SPI_USR_COMMAND_VALUE[15:0] 
­  SPI_WR_BIT_ORDER SPI_USR_COMMAND_VALUE[7:0] SPI_USR_COMMAND_VALUE[15:8]  SPI_USR_COMMAND_VALUE[SPI_USR_COMMAND_BITLEN:8]b
­  SPI_WR_BIT_ORDER SPI_USR_COMMAND_VALUE[7:0] SPI_USR_COMMAND_VALUE[15:8]  SPI_USR_COMMAND_VALUE[15: 15-SPI_USR_COMMAND_BITLEN]b

·  SPI_USR_ADDR_BITLEN < 8 SPI_USR_ADDR_VALUE[7:0]
­  SPI_WR_BIT_ORDER SPI_USR_ADDR_VALUE[7:0]  SPI_USR_ADDR_VALUE[SPI_USR_ADDR_BITLEN:0]b
­  SPI_WR_BIT_ORDER SPI_USR_ADDR_VALUE[7:0]  SPI_USR_ADDR_VALUE[7: 7-SPI_USR_ADDR_BITLEN]b
·  7 < SPI_USR_ADDR_BITLEN < 16 SPI_USR_ADDR_VALUE[15:0]
­  SPI_WR_BIT_ORDER SPI_USR_ADDR_VALUE[7:0] SPI_USR_ADDR_VALUE[15:8]  SPI_USR_ADDR_VALUE[SPI_USR_ADDR_BITLEN:8]b



552 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

­  SPI_WR_BIT_ORDER SPI_USR_ADDR_VALUE[7:0] SPI_USR_ADDR_VALUE[15:8]  SPI_USR_ADDR_VALUE[15: 15-SPI_USR_ADDR_BITLEN]b
GP-SPI2  1/2/4/8 ba 24.4-1  24.4-2b

24.4.3 c 1-bit 
GP-SPI2 bSPI  CLK  CS  1-bit 
· MOSIcFSPID · MISOcFSPIQ  24.4-2b

 24.4-2. GP-SPI2  SPI 
CMDaADDRaDUMMYaDOUT  DIN b CMDaADDRaDUMMY b SPI_USR_MOSI_DBITLEN  SPI_USR_MISO_DBITLEN  b = SPI_USR_MOSI_DBITLEN/SPI_USR_MISO_DBITLEN + 1b 
·  SPI_DOUTDIN  SPI_SLAVE_MODE  24.3b ·  SPI_CMD_REG  SPI_USR b CPU / SPI_USER_REG  SPI_RD_BYTE_ORDER  SPI_WR_BYTE_ORDER bDMA  24.8b
24.4.4 c 1/2/4/8-bit 
 SPI bSPI  CLK  CS bSPI  bSPI  CMD + [ADDR +] [DUMMY +] [DOUT or DIN]ADDRaDUMMYaDOUT  DIN b  24.4.2 CMDaADDRaDUMMYaDOUT  DIN a b 24.4-1  24.4-2b  GP-SPI2 
1. CMD0 ~ 16  (MOSI)b



553 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

2. ADDR0 ~ 32 b 3. DUMMY0 ~ 256  FSPICLK b 4. DOUTCPU  0 ~ 576 c72 DMA  0 ~ 8 Mbitb 5. DINCPU  0 ~ 576 c72 DMA  0 ~ 8 Mbit
(MISO)b 
1.  24.4-1  24.4-2  GP-SPI2  2.  24.4.9  CS  3.  24.9  FSPICLK  4. 
·  CPU  MOSI  SPI_W0_REG ~ SPI_W17_REG  ·  DMA  DMA TX/RX  24.8 5.  FSPI b 6.  SPI  7.  SPI_CMD_REG  SPI_USR  5 b GP-SPI2  fapb FSPICLK  24.9b GP-SPI2  I/O  Tapb/2 b  24.9.4b GPIO  DUMMY GP-SPI2 b

24.4.5  Flash  RAM
GP-SPI2  1/2/4  flash  RAM 24.4-3b

 24.4-3. 4-bit  GP-SPI2  Flash  RAM
GP-SPI2  flash  Quad Read  24.4-4 b GP-SPI2  SPI  b



554 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

 24.4-4. GP-SPI2  Flash  SPI Quad 
 1/2/4/8  (Double Transfer Rate, DTR) SPI  
·  SPI_CMD_DTR_EN CMD  DTR CMD  (Single Transfer Rate, STR)b
·  SPI_ADDR_DTR_EN ADDR  DTR ADDR  STR b ·  SPI_DATA_DTR_EN DIN  DOUT  DTR 
 STR b SPI_CMD_DTR_ENaSPI_ADDR_DTR_EN  SPI_DATA_DTR_EN  CMD  STR  ADDR  DOUT/DIN  DTR b GP-SPI2  FSPIDQS b DUMMY  flash  RAM DUMMY b
24.4.6  8-bit I8080/MT6800 LCD
GP-SPI2  8-bit LCD  24.4-5b

 24.4-5. GP-SPI2  8-bit LCD 

GP-SPI2  8-bit LCD  I8080  24.4-6b 1.  SPI_FCMD_OCT = 1SPI_USR_COMMAND = 1SPI_USR_COMMAND_VALUE[15:0] = 0x2C SPI_USR_COMMAND_BITLEN = 0xF 2.  SPI_USR_ADDR = 0SPI_USR_DUMMY = 0SPI_USR_MISO = 0



555 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

3.  SPI_FWRITE_OCT = 1SPI_USR_MOSI = 1 SPI_USR_MOSI_DBITLEN =  1
4.  24.4.9  CS  5. CPU  MOSI  SPI_W0_REG ~ SPI_W17_REG  DMA 
 DMA TX  6.  24.9  FSPICLK  SPI  3 FSPICLK  7.  FSPI  8.  LCD  9.  SPI_CMD_REG  SPI_USR  7 b

 24.4-6.  8-bit LCD 
 RDX  FSPICLK WRX  GPIO  I8080 LCD b Moto6800  LCD  I8080 b
24.4.7 DMA 
SPI  GP-SPI2  CPU b CPU  GP-SPI2  GP-SPI2  DMA b CPU b  GP-SPI2  CPU   24.4-7b



 24.4-7. DMA 

556 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

 24.4-7  SPI  (SCTi) GP-SPI2  CONF  GP-SPI2  Conf_bufi b
 SCT  CONF  DMA CONF  CONF bufferb DMA TX  CONF buffer  TX data buffer  SCT  FSPI b
 SCT GP-SPI2 a FSPI aDMA b SCT  GP-SPI2  SPI_DMA_SEG_TRANS_DONEb
 24.4-7  SCTi  SCTj   MISO  SCTk  MOSI biajak   SCT b
 SCT GP-SPI2  CS  24.4.9bCONF CS  SPI_CMD_REG  SPI_CONF_BITLEN[22:0]  SPI_SLV_WRBUF_DLEN_REG  SPI_CONF_BASE_BITLEN[6:0] bfapb  80 MHz  FSPICLK  APB_CLK 1 CONF  CS  2 us ~ 0.2 sb FSPICLK cn n > 1CS b

1.  SCT  DMA CONF buffer  TX data cb CONF buffer   TX buffer b
2.  SCT  RX buffer b
3.  CONF bufferaTX buffer  RX bufferb
4.  SPI_OUTLINK_ADDR  CONF Head  TX buffer  SPI_DMA_OUT_LINK_REG  SPI_OUTLINK_START  TX DMAb
5.  SPI_DMA_CONF_REG  SPI_RX_EOF_EN b SPI_INLINK_ADDR  RX buffer   SPI_DMA_IN_LINK_REG  SPI_INLINK_START  RX DMAb
6.  SPI_SLV_RD_BYTE_REG  SPI_USR_CONF  CONF b
7.  SPI_SLAVE_REG  SPI_INT_DMA_SEG_TRANS_EN  SPI_DMA_SEG_TRANS_DONE b 24.11b
8.  SCT b
9.  SPI_CMD_REG  SPI_USR  DMA b
10.  SPI_DMA_SEG_TRANS_DONE  DMA b
 CONF b DMA CONF bufferi  SPI_BIT_MAP_WORD SCTi  SPI  b
SPI_BIT_MAP_WORD  GP-SPI2  24.4-3 (BM) b  1b  0b
 24.4-3. CONF  GP-SPI 

BM  0

 SPI_CMD_REG

BM  14

 SPI_HOLD_REG



557 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

1

SPI_ADDR_REG

15

SPI_DMA_INT_ENA_REG

2

SPI_CTRL_REG

16

SPI_DMA_INT_RAW_REG

3

SPI_CTRL1_REG

17

SPI_DMA_INT_CLR_REG

4

SPI_CTRL2_REG

18

SPI_DIN_MODE_REG

5

SPI_CLOCK_REG

19

SPI_DIN_NUM_REG

6

SPI_USER_REG

20

SPI_DOUT_MODE_REG

7

SPI_USER1_REG

21

SPI_DOUT_NUM_REG

8

SPI_USER2_REG

22

SPI_LCD_CTRL_REG

9

SPI_MOSI_DLEN_REG 23

SPI_LCD_CTRL1_REG

10

SPI_MISO_DLEN_REG 24

SPI_LCD_CTRL2_REG

11

SPI_MISC_REG

25

SPI_LCD_D_MODE_REG

12

SPI_SLAVE_REG

26

SPI_LCD_D_NUM_REG

13

SPI_FSM_REG

-

-

 SPI_BIT_MAP_WORD  CONF buffer b
 CONF buffer SPI_BIT_MAP_WORD[31:28]  Magic  SPI_SLV_RD_BYTE_REG  SPI_DMA_SEG_MAGIC_VALUE[3:0] b SPI_DMA_SEG_MAGIC_VALUE[3:0] b
·  SPI_BIT_MAP_WORD[31:28] == SPI_DMA_SEG_MAGIC_VALUE[3:0]  SPI_DMA_SEG_TRANS_DONE b
·  SPI_BIT_MAP_WORD[31:28] != SPI_DMA_SEG_MAGIC_VALUE[3:0] GP-SPI2  spi_st   IDLE b SPI_DMA_SEG_TRANS_DONE  SPI_SLV_RDBUF_DLEN_REG  SPI_SEG_MAGIC_ERR  1b
SPI_ADDR_REGaSPI_CTRL_REGaSPI_CLOCK_REGaSPI_USER_REG  SPI_USER1_REG CONF buffer  24.4-4  24.4-5b

 24.4-4.  CONF bufferi 

CONF bufferi SPI_BIT_MAP_WORD
SPI_ADDR_REG SPI_CTRL_REG SPI_CLOCK_REG SPI_USER_REG SPI_USER1_REG



CONF bufferi      c   

 0x000000E6

b   24.4-5  

SPI_BIT_MAP_WORD  1  1a2a5a

6a7 b

CONF bufferi  SPI_ADDR_REG 

b

CONF bufferi  SPI_CTRL_REG 

b

CONF bufferi  SPI_CLOCK_REG 

b

CONF bufferi  SPI_USER_REG 

b

CONF bufferi  SPI_USER1_REG 

b



558 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

BM  

0

0

1

1

2

1

3

0

4

0

5

1

6

1

7

1

8

0

9

0

10

0

11

0

12

0

13

0

 24.4-5.  VS 



BM  

SPI_CMD_REG

14

0

SPI_ADDR_REG

15

0

SPI_CTRL_REG

16

0

SPI_CTRL1_REG

17

0

SPI_CTRL2_REG

18

0

SPI_CLOCK_REG

19

0

SPI_USER_REG

20

0

SPI_USER1_REG

21

0

SPI_USER2_REG

22

0

SPI_MOSI_DLEN_REG 23

0

SPI_MISO_DLEN_REG 24

0

SPI_MISC_REG

25

0

SPI_SLAVE_REG

26

0

SPI_FSM_REG

-

-

 SPI_HOLD_REG SPI_DMA_INT_ENA_REG SPI_DMA_INT_RAW_REG SPI_DMA_INT_CLR_REG SPI_DIN_MODE_REG SPI_DIN_NUM_REG SPI_DOUT_MODE_REG SPI_DOUT_NUM_REG SPI_LCD_CTRL_REG SPI_LCD_CTRL1_REG SPI_LCD_CTRL2_REG SPI_LCD_D_MODE_REG SPI_LCD_D_NUM_REG -

 DMA  ·  SPI_SLV_RD_BYTE_REG  SPI_USR_CONF  ·  SPI_USER_REG  SPI_USR_CONF_NXT  ·  SPI_CMD_REG  SPI_CONF_BITLEN[22:0] 
 SPI_USR  SPI_USR_CONFb CONF buffer   SPI_USR_CONF_NXT  1SPI_USR_CONF_NXT  b
24.4.8  8-bit RGB  LCD
ab 8-bit RGB   LCD bb  8-bit RGB  LCD 24.4-8 24.4-9b



559 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

 24.4-8.  RGB 8-bit LCD 

 24.4-9.  RGB 8-bit LCD 

 24.4-7a 24.4-8  24.4-9  8  RGB 
· b SPI_LCD_VA_HEIGHT[9:0]   SPI_LCD_VA_HEIGHT[9:0] b
·  TX buffer CONF bufferbGP-SPI2  FSPI_VSYNCaFSPI_HSYNCaFSPI_DE / FSPICLK b
·  CONF  CS aCS  24.4.7  24.4.9b
GP-SPI2  24.4-8  24.4-9  SPI  CPU b 
1.  SPI_LCD_CTRL_REG  SPI_LCD_MODE_EN RGB LCD 
2.  24.4-8  24.4-9b n   SPI_LCD_VA_HEIGHT[9:0]  n 
3.  CS 



560 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

4.  SPI_USR_COMMANDaSPI_USR_ADDRaSPI_USR_DUMMY  SPI_USR_MISO  5.  SPI_FWRITE_OCT  SPI_USR_MOSI SPI_USR_MOSI_DBITLEN 
SPI_LCD_HA_WIDTH[11:0] * 8 -1 6.  DMA TX  TX buffer b ring-buffer  ping-pang buffer
 buffer  7.  I/O b SPI_INT_TRANS_DONE_EN  8.  LCD  9.  SPI_USR b SPI_TRANS_DONE b

24.4.9 CS 
SPI CS  SPI c flash  PSRAMbCS   CS  SPI CLK b 0  3  2  4 bCS  CS b
 SPI_USER_REG  SPI_CS_SETUP  SPI_CTRL2_REG  SPI_CS_SETUP_TIME  CS b
· SPI_CS_SETUP = 0 SPI CS  0.5 x T _SP I_CLK T _SP I_CLK  SPI_CLK  b
· SPI_CS_SETUP = 1 SPI CS  (SPI_CS_SETUP_TIME + 1.5) x T _SP I_CLKb
 SPI_USER_REG  SPI_CS_HOLD  SPI_CTRL2_REG  SPI_CS_HOLD_TIME  CS b
· SPI_CS_HOLD = 0 SPI CS  0.5 x T _SP I_CLK
· SPI_CS_HOLD = 1 SPI CS  (SPI_CS_HOLD_TIME + 1.5) x T _SP I_CLKb
 24.4-10  24.4-11  Flash  RAM  CS b



 24.4-10. GP-SPI2  RAM  CS 

561 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

 24.4-11. GP-SPI2  Flash  CS 
GP-SPI2 b 24.13b
24.5 GP-SPI2 
GP-SPI2  SPI bGP-SPI2  1-bit SPIa2-bit Dual SPIa4-bit Quad SPI  QPI  24.5.1 b SPI_SLAVE_REG  SPI_SLAVE_MODE b CS CS b b
24.5.1 
GP-SPI2  SPI b SPI_USER_REG  SPI_DOUTDIN   1  0 b b/ a DUMMY b SPI_TRANS_DONE b  CMD+ADDR+DUMMY+DATAcb SPI  GP-SPI2   SPI  GP-SPI2 bopb 
1. CMD SPI  24.5-1  24.5-2  CMD  1-bit  4-bit QPI 
2. ADDR CPU  CMD1  CMD2   1/2/4-bit 
3. DUMMYSPI  b



562 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

4. CPU  0 ~ 72  DMA   0 ~ 2 MB CMD  1/2/4-bit b
ADDR  DUMMY  DMA b
 CMD  ADDR  SPI_SLAVE1_REG  SPI_SLV_LAST_COMMAND  SPI_SLV_LAST_ADDR b GP-SPI2  CMD   SPI_SLAVE1_REG  SPI_SLV_CMD_ERR bSPI_SLV_CMD_ERR b
DMA  CPU  24.7  24.8b

24.5.2  CMD 
CMD b CMD  SPI_SLV_CMD_ERR  1bCMD (8 bits) + ADDR (8 bits) + DUMMY + DATA 1-bit SPI DUMMY  SPI  SPI  SPI DATA b CMD[3:0] 
1. 0x1 (Wr_BUF)CPU bGP-SPI2 b SPI_W0_REG ~ SPI_W17_REGb
2. 0x2 (Rd_BUF)CPU b GP-SPI2 b SPI_W0_REG ~ SPI_W17_REGb
3. 0x3 (Wr_DMA)DMA bGP-SPI2 b GP-SPI2  DMA RX buffer b
4. 0x4 (Rd_DMA)DMA b GP-SPI2 b GP-SPI2  DMA TX bufferb
5. 0x7 (CMD7) SPI_SLV_CMD7_INT b DMA RX   SPI_IN_SUC_EOF_INT b GP-SPI2 b
6. 0x8 (CMD8) SPI_SLV_CMD8_INT  GP-SPI2 b
7. 0x9 (CMD9) SPI_SLV_CMD9_INT  GP-SPI2 b
8. 0xA (CMDA) SPI_SLV_CMDA_INT  GP-SPI2 b
CMDaADDR  DATA  1/2/4-bit  CMD[7:4] bDUMMY  1-bit  1-bit SPI  SPI  SPI  SPI bCMD[7:4]  
1. 0x0CMDaADDR  DATA  1-bit b
2. 0x1CMD  ADDR  1-bit bDATA  2-bit b
3. 0x2CMD  ADDR  1-bit bDATA  4-bit b
4. 0x5CMD  1-bit bADDR  DATA  2-bit b
5. 0xACMD  1-bit ADDR  DATA  4-bit b QPI bCMD  0xA7a0xA8a 0xA9  0xAA  QPI b
CMD[7:0]  0x05a0xA5a0x06  0xDD  ADDRaDUMMY  DATA b 
1. 0x05 (End_SEG_TRANS) 0x05  SPI b



563 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

2. 0xA5 (End_SEG_TRANS) 0xA5  QPI b 3. 0x06 (En_QPI)GP-SPI2  0x06  QPI b SPI_USER_REG 
SPI_QPI_MODE b 4. 0xDD (Ex_QPI)GP-SPI2  0xDD  QPI bSPI_QPI_MODE b GP-SPI2  CMD  24.5-1  24.5-2b

 24.5-1. GP-SPI2  SPI  CMD 

 Wr_BUF Rd_BUF Wr_DMA Rd_DMA CMD7 CMD8 CMD9 CMDA

CMD[7:0] 0x01 0x11 0x21 0x51 0xA1 0x02 0x12 0x22 0x52 0xA2 0x03 0x13 0x23 0x53 0xA3 0x04 0x14 0x24 0x54 0xA4 0x07 0x17 0x27 0x57 0x08 0x18 0x28 0x58 0x09 0x19 0x29 0x59 0x0A 0x1A 0x2A 0x5A

CMD  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit  1-bit 

ADDR  1-bit  1-bit  1-bit  2-bit  4-bit  1-bit  1-bit  1-bit  2-bit  4-bit  1-bit  1-bit  1-bit  2-bit  4-bit  1-bit  1-bit  1-bit  2-bit  4-bit  -

DUMMY  8  4  4  4  4  8  4  4  4  4  8  4  4  4  4  8  4  4  4  4  -

DATA  1-bit  2-bit  4-bit  2-bit  4-bit  1-bit  2-bit  4-bit  2-bit  4-bit  1-bit  2-bit  4-bit  2-bit  4-bit  1-bit  2-bit  4-bit  2-bit  4-bit  -



564 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

 End_SEG_TRANS En_QPI

 24.5-1. GP-SPI2  SPI  CMD 

CMD[7:0] 0x05 0x06

CMD  1-bit  1-bit 

ADDR  -

DUMMY  -

GoBack
DATA  -

 Wr_BUF Rd_BUF Wr_DMA Rd_DMA CMD7 CMD8 CMD9 CMDA End_SEG_TRANS Ex_QPI

 24.5-2. GP-SPI2  QPI  CMD 

CMD[7:0] 0xA1 0xA2 0xA3 0xA4 0xA7 0xA8 0xA9 0xAA 0xA5 0xDD

CMD  4-bit  4-bit  4-bit  4-bit  4-bit  4-bit  4-bit  4-bit  4-bit  4-bit 

ADDR  4-bit  4-bit  4-bit  4-bit  -

DUMMY  4  4  4  4  -

DATA  4-bit  4-bit  4-bit  4-bit  -

GP-SPI2  0x06 CMD (En_QPI)  QPI bGP-SPI2  QPI   24.5-2  4-bit b 0xDD CMD (Ex_QPI) GP-SPI2  SPI b 24.5-2 b 8 GP-SPI2 b 8 SPI_TRANS_DONE b  24.11b
24.5.3 
GP-SPI2  CPU  DMA b 1.  24.3  SPI_DOUTDIN  SPI_SLAVE_MODE 2.  ·  CPU  SPI_W0_REG ~ SPI_W17_REG  ·  DMA  DMA  DMA 24.8 3.  SPI_DMA_CONF_REG  SPI_DMA_SLV_SEG_TRANS_EN b 4.  SPI_SLAVE_REG  SPI_INT_TRANS_DONE_EN SPI_TRANS_DONE b DMA   DMA RX buffer  SPI_IN_SUC_EOF_INT b
24.5.4 
GP-SPI2 b SPI_W0_REG ~ SPI_W17_REG  CPU  GP-SPI2  CPU  DMA b



565 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

 GP-SPI2  24.5-1  24.5-2   CPU  DMA b 
· CPU  24.11b · DMA  24.11b GP-SPI2  End_SEG_TRANScSPI  0x05QPI  0xA5 SPI_DMA_SEG_TRANS_DONE b 1.  SPI_SLAVE_REG  SPI_SLAVE_MODE  2. 
·  CPU  SPI_W0_REG ~ SPI_W17_REG  ·  DMA  DMA  DMAb SPI_DMA_CONF_REG 
SPI_RX_EOF_EN  3.  SPI_DMA_CONF_REG  SPI_DMA_SLV_SEG_TRANS_EN  4.  SPI_SLAVE_REG  SPI_INT_DMA_SEG_TRANS_EN 
SPI_DMA_SEG_TRANS_DONE b 24.11  b
 DMA  DMA buffer  CPU b  SPI_IN_SUC_EOF_INT_ST b
1.  SPI_USER_REG  SPI_DOUTDIN  SPI_SLAVE_REG  SPI_SLAVE_MODE  2.  DMA  DMA 3.  SPI_DMA_CONF_REG  SPI_RX_EOF_EN b SPI_SLV_RDBUF_DLEN_REG 
SPI_SLV_DMA_RD_BYTELEN[19:0]  DMA  4.  SPI_DMA_CONF_REG  SPI_DMA_SLV_SEG_TRANS_EN  5.  SPI_DMA_INT_ENA_REG  SPI_IN_SUC_EOF_INT_ENA
SPI_IN_SUC_EOF_INT_ST b

24.6 GP-SPI2  GP-SPI3 
GP-SPI2  GP-SPI3  · GP-SPI2  CMDaADDRaDOUT  DINb  1-bita2-bita4-bit  8-bit  1-bita2-bit  4-bit b GP-SPI3  1-bit b · GP-SPI2  CMD  24.5-1  24.5-2bGP-SPI3  CMD 0x01a 0x02a0x03a0x04a0x05a0x07a0x08a0x09  0x0Ab · GP-SPI2 I/O  GPIO  IO MUX b GP-SPI3  GPIO  b
· GP-SPI2  CS bGP-SPI3  CS b



566 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

GP-SPI2  GP-SPI3 bGP-SPI2  GP-SPI  GP-SPI3   GP-SPI  24.6-1b

 24.6-1.  GP-SPI3 

 SPI_USER_REG
SPI_CTRL_REG
SPI_MISC_REG SPI_SLAVE1_REG SPI_DMA_INT_ENA_REG SPI_DMA_INT_RAW_REG SPI_DMA_INT_ST_REG SPI_DMA_INT_CLR_REG SPI_DIN_MODE_REG
SPI_DIN_NUM_REG

 SPI_QPI_MODE SPI_OPI_MODE SPI_FWRITE_DUAL SPI_FWRITE_QUAD SPI_FWRITE_OCT SPI_FADDR_DUAL SPI_FADDR_QUAD SPI_FADDR_OCT SPI_FCMD_DUAL SPI_FCMD_QUAD SPI_FCMD_OCT SPI_FREAD_DUAL SPI_FREAD_QUAD SPI_FREAD_OCT SPI_CS3_DIS SPI_CS4_DIS SPI_CS5_DIS SPI_MASTER_CS_POL[5:3] SPI_QUAD_DIN_PIN_SWAP SPI_SLV_NO_QPI_EN SPI_SLV_CMD6_INT_ENA SPI_SLV_CMD6_INT_RAW SPI_SLV_CMD6_INT_ST SPI_SLV_CMD6_INT_CLR SPI_DIN2_MODE SPI_DIN3_MODE SPI_DIN4_MODE SPI_DIN5_MODE SPI_DIN6_MODE SPI_DIN7_MODE SPI_DIN2_NUM SPI_DIN3_NUM SPI_DIN4_NUM SPI_DIN5_NUM SPI_DIN6_NUM SPI_DIN7_NUM



567 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

 24.6-1.  GP-SPI3 

 SPI_DOUT_MODE_REG
SPI_DOUT_NUM_REG

 SPI_DOUT2_MODE SPI_DOUT3_MODE SPI_DOUT4_MODE SPI_DOUT5_MODE SPI_DOUT6_MODE SPI_DOUT7_MODE SPI_DOUT2_NUM SPI_DOUT3_NUM SPI_DOUT4_NUM SPI_DOUT5_NUM SPI_DOUT6_NUM SPI_DOUT7_NUM

GoBack

GP-SPI3 1-bit  GP-SPI2 bGP-SPI3  1-bit  GP-SPI2 bGP-SPI3  24.4  24.5b

24.7 CPU 
GP-SPI  CPU  GP-SPI  buffer  GP-SPI  bufferbCPU a 24.4  24.5  b 24.7-1  buffer  18 x 32 bit SPI_W0_REG ~ SPI_W17_REGb b

 24.7-1. CPU  Buffer

24.7.1 CPU 
 CPU // SPI_W0_REG[7:0] ~ SPI_W17_REG[31:24]  SPI_W8_REG[7:0] ~ SPI_W17_REG[7:0]cb SPI_USER_REG  SPI_USR_MOSI_HIGHPART  SPI_USR_MISO_HIGHPART /b
· SPI_USR_MOSI_HIGHPART = 0 SPI_W0_REG[7:0] ~ SPI_W17_REG[31:24]  1b 72 72 bSPI_W0_REG ~ SPI_W17_REG b



568 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

· SPI_USR_MOSI_HIGHPART = 1 SPI_W8_REG[7:0] ~ SPI_W17_REG[31:24]  1b 40SPI_W8_REG[7:0] ~ SPI_W17_REG[31:24]  b
· SPI_USR_MISO_HIGHPART = 0 SPI_W0_REG[7:0] ~ SPI_W17_REG[31:24]  1b 72 72 bSPI_W0_REG ~ SPI_W17_REG b
· SPI_USR_MISO_HIGHPART = 1 SPI_W8_REG[7:0] ~ SPI_W17_REG[31:24]  1b 40 SPI_W0_REG ~ SPI_W17_REG  b
 SPI_DMA_IN_LINK_REG  SPI_DMA_RX_ENA  SPI_DMA_OUT_LINK_REG  SPI_DMA_TX_ENA bSPI_DMA_RX_ENA  1  DMA   CPU bSPI_DMA_TX_ENA  1  DMA   CPU b

24.7.2 CPU 
 CPU SPI_W0_REG ~ SPI_W17_REG  0   1b 71 SPI_W17_REG[31:24] b
 CPU  SPI_W0_REG ~ SPI_W17_REG b  ADDR  SPI_W0_REG ~ SPI_W17_REGb  SPI_W0_REG ~ SPI_W17_REGb SPI_W17_REG[31:24]  71  71 SPI_W17_REG[31:24] b SPI_SLAVE1_REG  SPI_SLV_ADDR_ERR  1b
 SPI_W0_REG ~ SPI_W17_REG  buffer buffer  buffer bufferb CPU SPI_DMA_RX_ENA  SPI_DMA_TX_ENA  1b

24.8 DMA 
GP-SPI  DMA  DMA RX DMA TX bDMA   DMA  CPU b DMA a 24.4  24.5 b DMA RX  DMA TX 
·  DMA  DMA b ·  DMA  CPU b ·  CPU  DMA b ·  CPU  CPU b GP-SPI  Wr_BUFaRd_BUFaWr_DMA  Rd_DMA 24.5.4b DMA 



569 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

·  DMA TX  SPI_DMA_OUT_LINK_REG  SPI_OUTLINK_START  DMA TX b DMA TX buffer  DMA TX  SPI_OUTLINK_RESTART TX buffer  TX buffer b
· DMA RX buffer  DMA TX buffer  SPI_INLINK_START  SPI_INLINK_RESTART b
·  DMA TX buffer  DMA RX buffer 0 ~ 2 MBb
· DMA  DMA b SPI_DMA_IN_LINK_REG  SPI_DMA_RX_ENA  SPI_DMA_OUT_LINK_REG  SPI_DMA_TX_ENA b
DMA  DMA RX 
·  SPI_RX_EOF_EN b
­  DMA  SPI_IN_SUC_EOF_INT b
­  SPI_DMA_SLV_SEG_TRANS_EN  0 SPI_IN_SUC_EOF_INT b SPI_DMA_SLV_SEG_TRANS_EN  1  CMD7  End_SEG_TRANS  SPI_IN_SUC_EOF_INT b
·  SPI_RX_EOF_EN b
­  GP-SPI  DMA  DMA   SPI_MST_DMA_RD_BYTELEN  SPI_IN_SUC_EOF_INT b
­  DMA  SPI_SLV_DMA_RD_BYTELEN b  SPI_DMA_SLV_SEG_TRANS_EN  0 SPI_IN_SUC_EOF_INT b  SPI_DMA_SLV_SEG_TRANS_EN  1 CMD7  End_SEG_TRANS  SPI_IN_SUC_EOF_INT b
 DMA TX buffer b  SPI_DMA_INT_RAW_REG  SPI_OUTFIFO_EMPTY_ERR_INT_RAW  SPI_OUT_EOF_INT_RAW b
 DMA TX buffer  TX buffer  TX buffer TX buffer b DMAb
 DMA RX buffer b SPI_DMA_INT_RAW_REG  SPI_INFIFO_FULL_ERR_INT_RAW  SPI_SLAVE_REG  SPI_TRANS_DONE b SPI_IN_SUC_EOF_INT_RAW b
 DMA RX buffer  RX buffer  RX buffer buffer b DMAb

24.9 GP-SPI 

 GP-SPI  fapbb

fspi

=

fapb (SPI_CLKCNT_N+1)(SPI_CLKDIV_PRE+1)



570 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

 SPI_CLOCK_REG  SPI_CLKCNT_N  SPI_CLKDIV_PRE b SPI_CLOCK_REG  SPI_CLK_EQU_SYSCLK  1 GP-SPI  fapbb  SPI_CLK_EQU_SYSCLK  0b GP-SPI  fapb/2b
24.9.1 GP-SPI 
SPI  0 ~ 3 24.9-1  24.9-2b

 24.9-1. SPI  0  2
 24.9-1  24.9-2  SPI  1.  0CPOL = 0CPHA = 0SPI SCK  0 SCK b 2.  1CPOL = 0CPHA = 1SPI SCK  0 SCK b 3.  2CPOL = 1CPHA = 0SPI SCK  1 SCK b 4.  3CPOL = 1CPHA = 1SPI SCK  1 SCK b
24.9.2 GP-SPI 
GP-SPI  SPI  0 ~ 3bGP-SPI  SPI_MISC_REG  SPI_CK_IDLE_EDGE  SPI_USER_REG  SPI_CK_OUT_EDGE bSPI  0 ~ 3   24.9-1b



571 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

 24.9-2. SPI  1  3

 24.9-1. GP-SPI 

 SPI_CK_IDLE_EDGE SPI_CK_OUT_EDGE

 0 0 0

 1 0 1

 2 1 1

 3 1 0

 SPI_CTRL1_REG  SPI_CLK_MODE[1:0]  CS  FSPICLK 0a1a2  FSPICLK b

24.9.3 GP-SPI 
GP-SPI  SPI  0 ~ 3b SPI_USER_REG  SPI_TSCK_I_EDGE  SPI_RSCK_I_EDGE b SPI_CTRL1_REG  SPI_CLK_MODE_13 b 24.9-2b

 24.9-2. GP-SPI 

 SPI_TSCK_I_EDGE SPI_RSCK_I_EDGE SPI_CLK_MODE_13

 0 0 0 0

 1 1 1 1

 2 1 1 0

 3 0 0 1



572 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

24.9.4 GP-SPI 
SPI  GPIO  IO MUX  IO MUX b GPIO  0a1a 2  APB_CLK b 5 IO MUX  GPIO b
 GP-SPI  APB_CLK b  SPI_DIN_MODE_REG  SPI_DIN_NUM_REG b SPI_DOUT_MODE_REG  SPI_DOUT_NUM_REG  24.14b DUMMY  I/O  GP-SPI b
 GP-SPI  SPI_CTRL1_REG  SPI_RSCK_DATA_OUT  1  SPI bb

24.10 SPI 

GP-SPI2  GPIO  I/O  24.4-2a 24.4-3  24.4-5bSPI0/1  GP-SPI3  I/O  GP-SPI2 b
 SPI/FSPI/SPI3  GPIO  24.10-1bb  GP-SPI2 FSPID  MOSIFSPIQ  MISO 24.4-2b GP-SPI3  SPI3_Q  MISO b
 24.10-1. SPI 

 SPI

 

SPI  SPI 

MOSI

MOSI

MISO

(MISO)

CS

CS

CLK

CLK

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

 D Q CS CLK WP HD CD DQS IO4 ~ 7 VSYNC HSYNC DE

SPI  SPID SPIQ SPICS0 ~ 1 SPICLK SPIWP SPIHD SPIDQS SPIIO4 ~ 7 -

 SPI  FSPI  FSPID FSPIQ FSPICS0 ~ 5 FSPICLK FSPIWP FSPIHD FSPICD FSPIDQS FSPIIO4 ~ 7 FSPI_VSYNC FSPI_HSYNC FSPI_DE

SPI3  SPI3_D SPI3_Q SPI3_CS0 ~ 2 SPI3_CLK SPI3_HD SPI3_CD SPI3_DQS -

24.11 GP-SPI 

GP-SPI2 SPI  (SPI_INT)  SPI DMA  (SPI_DMA_INTR)bSPI  b
GP-SPI  24.11-1  24.11-2b SPI_SLAVE_REG  SPI_INT_*_EN   SPI_DMA_INT_ENA_REG  SPI_*_INT_ENA  SPI_INT  SPI_DMA_INTR b



573 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

bb

 24.11-1. GP-SPI 

 


      

 DMA CPU DMA CPU DMA CPU DMA CPU DMA CPU DMA CPU

 SPI_IN_SUC_EOF_INT 1 SPI_TRANS_DONE 2 SPI_TRANS_DONE SPI_TRANS_DONE SPI_IN_SUC_EOF_INT SPI_TRANS_DONE SPI_DMA_SEG_TRANS_DONE 3  SPI_DMA_SEG_TRANS_DONE  SPI_DMA_SEG_TRANS_DONE 


1. SPI_IN_SUC_EOF_INT  RX bufferb 2. CS SPI_TRANS_DONE W0 ~ W17 b 3. SPI_DMA_SEG_TRANS_DONE  RX buffer
b

 24.11-2. GP-SPI 

 


      

 DMA CPU DMA (Wr_DMA) CPU (Wr_BUF) DMA (Rd_DMA) CPU (Rd_BUF) DMA CPU DMA (Wr_DMA) CPU (Wr_BUF) DMA (Rd_DMA) CPU (Rd_BUF)

 SPI_IN_SUC_EOF_INT 1 SPI_TRANS_DONE 2 SPI_IN_SUC_EOF_INT3 SPI_TRANS_DONE4 SPI_TRANS_DONE5 SPI_TRANS_DONE6 SPI_IN_SUC_EOF_INT7 8 SPI_DMA_SEG_TRANS_DONE9 10 SPI_DMA_SEG_TRANS_DONE11 12

 1. SPI_IN_SUC_EOF_INT  RX bufferb 2. CS SPI_TRANS_DONE  W0 ~ W17 b



574 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

3. SPI_SLV_WR_DMA_DONE  SPI  RX bufferb  SPI_IN_SUC_EOF_INT b
4.  SPI_SLV_WR_BUF_DONE b 5.  SPI_SLV_RD_DMA_DONE b 6.  SPI_SLV_RD_BUF_DONE b 7.  SPI_SLV_DMA_RD_BYTELEN[19:0] 
SPI_RX_EOF_EN 01b 8.  GPIO b 9.  COM5  SPI_SLV_DMA_RD_BYTELEN[19:0] 
SPI_IN_SUC_EOF_INT b 10.  Wr_BUF  DMA b 11.  COM5 b 12.  Rd_BUF  DMA b

24.11.1 GP-SPI 
SPI_INT  · SPI_TRANS_DONESPI b · SPI_SLV_WR_DMA_DONEWr_DMA b · SPI_SLV_RD_DMA_DONERd_DMA b · SPI_SLV_WR_BUF_DONEWr_BUF b · SPI_SLV_RD_BUF_DONERd_BUF b · SPI_DMA_SEG_TRANS_DONEGP-SPI End_SEG_TRANS b b · SPI_SEG_MAGIC_ERR_INT DMA CONF buffer  Magic b

24.11.2 GP-SPI DMA 
SPI_DMA_INTR  · SPI_SLV_CMDA_INTGP-SPI  CMDA SPI b · SPI_SLV_CMD9_INTGP-SPI  CMD9 SPI b · SPI_SLV_CMD8_INTGP-SPI  CMD8 SPI b · SPI_SLV_CMD7_INTGP-SPI  CMD7 SPI b · SPI_SLV_CMD6_INTGP-SPI  En_QPI  Ex_QPI SPI b · SPI_OUTFIFO_EMPTY_ERR_INTDMA TX FIFO b · SPI_INFIFO_FULL_ERR_INTDMA RX FIFO b · SPI_OUT_TOTAL_EOF_INT buffer b · SPI_OUT_EOF_INT buffer b



575 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)
· SPI_OUT_DONE_INT 0 b · SPI_IN_SUC_EOF_INT buffer b · SPI_IN_ERR_EOF_INTb · SPI_IN_DONE_INT 0 b · SPI_INLINK_DSCR_ERROR_INTb · SPI_OUTLINK_DSCR_ERROR_INTb · SPI_INLINK_DSCR_EMPTY_INTb

GoBack

24.12 

 SPI0aSPI1aGP-SPI2  GP-SPI3 b  3 b
 24.12-1. SPI0aSPI1aGP-SPI2  GP-SPI3 

SPI SPI0 SPI1 GP-SPI2 GP-SPI3

 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2

 0x3F403000 0x60003000 0x3F402000 0x60002000 0x3F424000 0x60024000 0x3F425000 0x60025000

24.13 

 SPI cb SPI  24.12

  SPI_CMD_REG SPI_ADDR_REG SPI_USER_REG SPI_USER1_REG SPI_USER2_REG SPI_MOSI_DLEN_REG SPI_MISO_DLEN_REG  SPI_CTRL_REG SPI_CTRL1_REG


  SPI USER  SPI USER  1 SPI USER  2 MOSI  MISO 
SPI  SPI  1





0x0000 0x0004 0x0018 0x001C 0x0020 0x0024 0x0028

/ / / / / / /

0x0008 / 0x000C /



576 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

 SPI_CTRL2_REG SPI_CLOCK_REG SPI_MISC_REG SPI_FSM_REG SPI_HOLD_REG  SPI_SLAVE_REG SPI_SLAVE1_REG SPI_SLV_WRBUF_DLEN_REG SPI_SLV_RDBUF_DLEN_REG SPI_SLV_RD_BYTE_REG DMA  SPI_DMA_CONF_REG SPI_DMA_OUT_LINK_REG SPI_IN_ERR_EOF_DES_ADDR_REG SPI_IN_SUC_EOF_DES_ADDR_REG SPI_INLINK_DSCR_REG SPI_INLINK_DSCR_BF0_REG SPI_OUT_EOF_BFR_DES_ADDR_REG SPI_OUT_EOF_DES_ADDR_REG SPI_OUTLINK_DSCR_REG SPI_OUTLINK_DSCR_BF0_REG SPI_DMA_OUTSTATUS_REG SPI_DMA_INSTATUS_REG DMA  SPI_DMA_IN_LINK_REG SPI_DMA_INT_ENA_REG SPI_DMA_INT_RAW_REG SPI_DMA_INT_ST_REG SPI_DMA_INT_CLR_REG CPU  buffer SPI_W0_REG SPI_W1_REG SPI_W2_REG SPI_W3_REG SPI_W4_REG SPI_W5_REG SPI_W6_REG SPI_W7_REG SPI_W8_REG SPI_W9_REG SPI_W10_REG SPI_W11_REG

 SPI  2 SPI  SPI MISC   SPI  DMA  SPI Hold 
SPI  SPI  1 SPI  Wr_BUF  CONF  SPI Magic  SPI 
SPI DMA  SPI DMA TX Link   SPI DMA RX   SPI DMA EOF RX   SPI DMA RX   SPI DMA RX   SPI DMA EOF TX buffer   SPI DMA EOF TX   SPI DMA TX   SPI DMA TX   SPI DMA TX   SPI DMA RX 
SPI DMA RX Link  SPI DMA  SPI DMA  SPI DMA  SPI DMA 
 buffer 0  buffer 1  buffer 2  buffer 3  buffer 4  buffer 5  buffer 6  buffer 7  buffer 8  buffer 9  buffer 10  buffer 11

GoBack

 0x0010 0x0014 0x002C 0x0044 0x0048

 / / /  /

0x0030 0x0034 0x0038 0x003C 0x0040

  / / /

0x004C 0x0050 0x0068 0x006C 0x0070 0x0074 0x007C 0x0080 0x0084 0x0088 0x0090 0x0094

/ /          

0x0054 0x0058 0x005C 0x0060 0x0064

/ /   /

0x0098 0x009C 0x00A0 0x00A4 0x00A8 0x00AC 0x00B0 0x00B4 0x00B8 0x00BC 0x00C0 0x00C4

/ / / / / / / / / / / /



577 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)
 SPI_W12_REG SPI_W13_REG SPI_W14_REG SPI_W15_REG SPI_W16_REG SPI_W17_REG  SPI_DIN_MODE_REG SPI_DIN_NUM_REG SPI_DOUT_MODE_REG SPI_DOUT_NUM_REG LCD  SPI_LCD_CTRL_REG SPI_LCD_CTRL1_REG SPI_LCD_CTRL2_REG SPI_LCD_D_MODE_REG SPI_LCD_D_NUM_REG  SPI_DATE_REG

  buffer 12  buffer 13  buffer 14  buffer 15  buffer 16  buffer 17
SPI  SPI  SPI  SPI 
LCD  LCD  1 LCD  2 LCD  LCD 


GoBack

 0x00C8 0x00CC 0x00D0 0x00D4 0x00D8 0x00DC

 / / / / / /

0x00E0 0x00E4 0x00E8 0x00EC

/ / / /

0x00F0 0x00F4 0x00F8 0x00FC 0x0100

/ / / / /

0x03FC /

24.14 

Register 24.1. SPI_CMD_REG (0x0000)

(reserved)

SPI_U(SreRserved)

31

25 24 23 22

0 0 0 0 0 0 00 0

SPI_CONF_BITLEN 0

0
Reset

SPI_CONF_BITLEN  SPI CONF  SPI CLK b CONF bc/
SPI_USR b SPI bb1 0bCONF_buf bc/



578 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.2. SPI_ADDR_REG (0x0004)

SPI_USR_ADDR_VALUE

31

0

0x000000

Reset

SPI_USR_ADDR_VALUE [31:8] [7:0] b CONF bc/



579 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.3. SPI_USER_REG (0x0018)

SPI_USSPRI__CUSOSPRMI__MUASADSPNRDID__RUDSSUPRMI__MUMSYSIPSRIO__UMSSOPRSI__IUDSSUPRMI__MUMYSO_RSI_DI_MLHEISIGOH_PHAIGR(rTHePsAerRvTed)

SPI_USSPRI__SHSIOOPLI_DU_SSPPROI__LCFSWOPNRI_FITF_SEWN_PXROI_TICTFTSEW_PRQI_IUTWSEAR_DP_DI_BURYSADTPLE_I__BOCYSTKRPE_DI_O_EORURSRSTPDC_IE_KERCD_SSIG_P_EEIS_DECGSTSEPU_IPH_TOSSLPCDIK__OSIP_PIE_I_DMQGOPEDI_(ErMesOeDrvEedS)PI_DOUTDIN

31 30 29 28 27 26 25 24 23

18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2

10

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 Reset

SPI_DOUTDIN b10b CONF  bc/

SPI_QPI_MODE  QPI b1SPI  QPI 0SPI b CONF bc/

SPI_OPI_MODE  OPI b1SPI  OPI c 8 b 0SPI b CONF bc/

SPI_TSCK_I_EDGE  TSCK b0TSCK = SPI_CK_Ib1TSCK = ! SPI_CK_Ibc/

SPI_CS_HOLD SPI SPI CS b10b CONF  bc/

SPI_CS_SETUP SPI  SPI CSb10b CONF bc/

SPI_RSCK_I_EDGE  RSCK b0RSCK = !SPI_CK_Ib1RSCK = SPI_CK_Ibc/

SPI_CK_OUT_EDGE  SPI_DOUT_MODE_REG  MOSI b CONF bc/

SPI_RD_BYTE_ORDER  (MISO) b1 0b CONF bc/

SPI_WR_BYTE_ORDER a (MOSI)  b10b CONF  bc/

SPI_FWRITE_DUAL  2 b CONF bc/

SPI_FWRITE_QUAD  4 b CONF bc/

SPI_FWRITE_OCT  8 b CONF bc/

SPI_USR_CONF_NXT 1 DMA CONF  b0 b CONF bc/

SPI_SIO bMOSI  MISO b10 b CONF bc/

 

580 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

Register 24.3. SPI_USER_REG (0x0018)

GoBack


SPI_USR_HOLD_POL  SPI b1SPI  0SPI b CONF bc/
SPI_USR_MISO_HIGHPART  bufferSPI_BUF8 ~ SPI_BUF17b1 0b CONF bc/
SPI_USR_MOSI_HIGHPART  bufferSPI_BUF8 ~ SPI_BUF17b1 0b CONF bc/
SPI_USR_DUMMY_IDLE  DUMMY  SPI b CONF bc/

SPI_USR_MOSI  SPI b CONF bc/ SPI_USR_MISO  SPI b CONF bc/ SPI_USR_DUMMY  SPI  DUMMY b CONF bc/ SPI_USR_ADDR  SPI b CONF bc/ SPI_USR_COMMAND  SPI b CONF bc/

Register 24.4. SPI_USER1_REG (0x001C)

SPI_USR_ADDR_BITLEN

31

27 26

(reserved)
87

23

0000000000000000000

SPI_USR_DUMMY_CYCLELEN
0

7

Reset

SPI_USR_DUMMY_CYCLELEN  DUMMY spi_clk b cycle_numc- 1b CONF bc/
SPI_USR_ADDR_BITLEN b bit_numc- 1b CONF bc/



581 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.5. SPI_USER2_REG (0x0020)

SPI_USR_COMMAND_BITLEN

31

28 27

(reserved)

16 15

7

000000000000

SPI_USR_COMMAND_VALUE 0

0
Reset

SPI_USR_COMMAND_VALUE b CONF bc/
SPI_USR_COMMAND_BITLEN b bit_numc- 1b CONF bc/

Register 24.6. SPI_MOSI_DLEN_REG (0x0024)

(reserved)

31

23 22

000000000

SPI_USR_MOSI_DBITLEN 0x0000

0
Reset

SPI_USR_MOSI_DBITLEN b bit_numc- 1b CONF  bc/

Register 24.7. SPI_MISO_DLEN_REG (0x0028)

(reserved)

31

23 22

000000000

SPI_USR_MISO_DBITLEN 0x0000

0
Reset

SPI_USR_MISO_DBITLEN b bit_numc- 1b CONF  bc/



582 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.8. SPI_CTRL_REG (0x0008)

(reserved)

SPI_WSRP_I_BRITD__OBRIT(Dr_eEOsReRrDvEeRd) SPI_W(Pre_sReErSvGPeId_)DS_PPI_OQL(_rePsOeLrSvPeId_)FSRPEIA_DFS_RPOEIAC_DTF_RQEAUDA(_DreDsUeArvLed) SPI_FSCPMI_DF_SCOPMCI_DTF_SCQPMUI_DAF_DSADPDUID_ARFLSA_PDOIDC_RTF(A_reDQsDUeRArSv_DPeDId_U)DALUMM(Yre_sOeUrvTed)

31

27 26 25 24

22 21 20 19 18 17 16 15 14 13

11 10 9 8 7 6 5 4 3 2

0

0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SPI_DUMMY_OUT  DUMMY SPI  SPI b CONF bc/

SPI_FADDR_DUAL  2 b1 2 0 2 b CONF bc/
SPI_FADDR_QUAD  4 b1 4 0 4 b CONF bc/
SPI_FADDR_OCT  8 b1 8 0 8 b CONF bc/
SPI_FCMD_DUAL  2 b1 2 0 2 b CONF bc/
SPI_FCMD_QUAD  4 b1 4 0 4 b CONF bc/
SPI_FCMD_OCT  8 b1 8 0 8 b CONF  bc/
SPI_FREAD_DUAL  2 b1 2 0 2 b  CONF bc/
SPI_FREAD_QUAD  4 b1 4 0 4 b  CONF bc/
SPI_FREAD_OCT  8 b1 8 0 8 b  CONF bc/
SPI_Q_POL  MISO 10b CONF bc/
SPI_D_POL  MOSI 10b CONF bc/
SPI_WP_REG SPI b10b CONF bc/
SPI_RD_BIT_ORDER  (MISO) b1  (LSB)0 (MSB)b CONF bc/
SPI_WR_BIT_ORDER a (MOSI)  b1 (LSB)0 (MSB)b CONF bc/



583 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.9. SPI_CTRL1_REG (0x000C)

(reserved)

31

20 19

000000000000

SPI_CS_HOLD_DELAY
14 13

(reserved)

SPI_WS1P6I__1R7SS_PWCI_KRC__LDEKANS_TAPAM_I_OOCDULETK__13MODE

54 3 21

0

0x1

0 0 0 0 0 0 0 0 0 1 0 0 0x0 Reset

SPI_CLK_MODE SPI b0CS SPI 1CS SPI  2CS SPI 3SPI b CONF bc/
SPI_CLK_MODE_13 CPOL, CPHA 1 SPI CLK  1  3 B[0]/B[7]b1  SPI CLK  0  2 B[1]/B[6]bc/
SPI_RSCK_DATA_OUT  TSCK  RSCK b1 RSCK  0 TSCK bc/
SPI_W16_17_WR_ENA 1 SPI_BUF16 ~ SPI_BUF170 SPI_BUF16 ~ SPI_BUF17b  CONF bc/
SPI_CS_HOLD_DELAY SPI CS  SPI b CONF bc/

(reservedS)PI_CS_DELASYP_IN_UCMS_DELAY_MODE

31 30 29 28

26 25

0 0x0

0x0

Register 24.10. SPI_CTRL2_REG (0x0010)

SPI_CS_HOLD_TIME 0x01

13 12

SPI_CS_SETUP_TIME 0x00

0
Reset

SPI_CS_SETUP_TIME  + 1 SPI b SPI_CS_SETUP  b CONF bc/
SPI_CS_HOLD_TIME CS  SPI b SPI_CS_HOLD b CONF bc/
SPI_CS_DELAY_MODE SPI CS SPI CLKb0 0 1 SPI_CK_OUT_EDGE  SPI_CK_IDLE_EDGE2  SPI_CK_OUT_EDGE  SPI_CK_IDLE_EDGE3 b CONF bc/
SPI_CS_DELAY_NUM SPI CS b CONF bc/



584 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

SPI_CLK_EQU_SYSCLK
31 30
1

Register 24.11. SPI_CLOCK_REG (0x0014)

SPI_CLKDIV_PRE 0

18 17

SPI_CLKCNT_N
12 11
0x3

SPI_CLKCNT_H
65
0x1

SPI_CLKCNT_L
0

0x3

Reset

SPI_CLKCNT_L  SPI_CLKCNT_N b 0b CONF  bc/
SPI_CLKCNT_H  (SPI_CLKCNT_N + 1)/2-1 b 0b CONF bc/
SPI_CLKCNT_N SPI CLK b SPI CLK  fapb/(SPI_CLKDIV_PRE + 1)/(SPI_CLKCNT_N + 1)b CONF bc/
SPI_CLKDIV_PRE SPI CLK b CONF bc/
SPI_CLK_EQU_SYSCLK 1SPI CLK  APB CLK 0SPI CLK  APB CLK b CONF bc/



585 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.12. SPI_MISC_REG (0x002C)

SPI_QSUPAI_DC_SSDP_INIK__CEPEKIP_N(_I_rDeASLsCWEeT_rAIvVEPeEDdSG)PEI_CSDP_I_IDCLSDEP__I_CEDMDSQGDPSE_I__SSIEDSLTPLAEIV__ECE_SDDCP_GSI_AE_CDPSDDOP_RIL_D_CUSSDEMP_TIM_DCYAST_MPASDI_E__STADESDTTPDRI_R_D_ESADNPTTIA_R_C_DLETKNR__DE(ArNTeAs_erDvTeRd_) EN

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15

13 12

0 0 00 00 0 0 0 0 0 0 0 0 0 00 0 0

SPI_MASTER_CS_PSOPLI_CSKP_ID_CISSSP5I__CDSSISP4I__DCSISSP3I__CDSSISP2I__CDSSISP1_I_DCISS0_DIS
76 5 4 3 2 1 0

0

0 1 1 1 1 1 0 Reset

SPI_CS0_DIS SPI CS0 1 CS00SPI CS0 / CS0 b CONF bc/
SPI_CS1_DIS SPI CS1 1 CS10SPI CS1 / CS1 b CONF  bc/
SPI_CS2_DIS SPI CS2 1 CS20SPI CS2 / CS2 b CONF bc/
SPI_CS3_DIS SPI CS3 1 CS30SPI CS3 / CS3 b CONF bc/
SPI_CS4_DIS SPI CS4 1 CS40SPI CS4 / CS4 b CONF bc/
SPI_CS5_DIS SPI CS5 1 CS50SPI CS5 / CS5 b CONF bc/
SPI_CK_DIS 1 SPI CLK 0 SPI CLK b CONF bc/
SPI_MASTER_CS_POL SPI CS  SPI_CS^ SPI_MASTER_CS_POLb  CONF bc/
SPI_CLK_DATA_DTR_EN 1SPI CLKaSPI  SPI DQS  SPI  DTR b0 SPI DQS   SPI  DTR b SPI_DATA_DTR_ENaSPI_ADDR_DTR_ENaSPI_CMD_DTR_EN bc/
SPI_DATA_DTR_EN 1SPI CLK  SPI DOUT  SPI DIN  DTR  1/2/4/8 b0SPI CLK  SPI DOUT  SPI DIN  STR b CONF  bc/
SPI_ADDR_DTR_EN 1SPI CLK  SPI_SEND_ADDR  DTR  1/2/4/8 b0SPI CLK  SPI_SEND_ADDR  STR b CONF cb/

SPI_CMD_DTR_EN 1SPI CLK  SPI_SEND_CMD  DTR  1/2/4/8  b0SPI CLK  SPI_SEND_CMD  STR b CONF bc/

SPI_CD_DATA_SET 1SPI_ST[3:0]   SPI_DOUT  SPI_DIN   SPI_CD = ! SPI_CD_IDLE_EDGEb0SPI_CD = SPI_CD_IDLE_EDGEb CONF bc/




586 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

Register 24.12. SPI_MISC_REG (0x002C)

GoBack


SPI_CD_DUMMY_SET 1: SPI_ST[3:0]  SPI_DUMMY SPI_CD = !SPI_CD_IDLE_EDGEb 0SPI_CD = SPI_CD_IDLE_EDGEb CONF bc/
SPI_CD_ADDR_SET 1: SPI_ST[3:0]  SPI_SEND_ADDR SPI_CD = !SPI_CD_IDLE_EDGEb 0SPI_CD = SPI_CD_IDLE_EDGEb CONF bc/
SPI_SLAVE_CS_POL SPI  CS b10b CONF cb/

SPI_DQS_IDLE_EDGE  SPI_DQSb CONF bc/
SPI_CD_CMD_SET 1: SPI_ST[3:0]  SPI_SEND_CMD SPI_CD = !SPI_CD_IDLE_EDGEb 0SPI_CD = SPI_CD_IDLE_EDGEb CONF bc/
SPI_CD_IDLE_EDGE  SPI_CDb CONF bc/
SPI_CK_IDLE_EDGE 1SPI CLK 0SPI CLK b CONF bc/
SPI_CS_KEEP_ACTIVE  SPI CS b CONF bc/
SPI_QUAD_DIN_PIN_SWAP 1 SPI Quad 0 SPI Quad b CONF bc/

Register 24.13. SPI_FSM_REG (0x0044)

SPI_MST_DMA_RD_BYTELEN

(reserved)

SPI_ST

31

12 11

43

0

0x000

00000000

0

Reset

SPI_ST SPI b01234 567bc
SPI_MST_DMA_RD_BYTELEN  DMA  bSPI_RX_EOF_EN  0 b CONF bc/



587 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.14. SPI_HOLD_REG (0x0048)

(reserved)

SPI_DMA_SSEPGI__HTROALNDS_SO_PDUI_OTH_NSTOEPILMI_DEH_OOUL(DrTe__sVEeANrLv_eRdE) G

31

876

43 21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00

0

0 0 0 0 Reset

SPI_HOLD_VAL_REG SPI  SPI_HOLD_OUT_EN b CONF  bc/
SPI_HOLD_OUT_EN  SPI  SPI_HOLD_ENb SPI_EXT_HOLD_EN  USR b CONF bc/
SPI_HOLD_OUT_TIME SPI_HOLD_OUT_EN  SPI b  CONF bc/
SPI_DMA_SEG_TRANS_DONE 1SPI  DMA / bb0/b CONF_buf bc/



588 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.15. SPI_SLAVE_REG (0x0030)

SPI_SSOPFIT__SSRLPAEIVS_ETE_RTMA(NOreSDs_EeDrOveNdE)_AUTOS_PCIL_TRR_AENNS_CNT

31 30 29 28 27 26

23 22

(reserved)

SPI_SSEPGI__MINSATPG_I_IDCINMS_TPEA_IR__TRSIRNS_EATPIGNN_I__TSWTI__NRSREDATP_NO_NID_NRSMINDE_SA_T_EP_E_NDI_DWNMIONSRANTP__E_IBD__RUTOEDRFNN_A_EBND_USOEF_NN_DED(O_rOeENsNNEeEr_veEdN)

12 11 10 9 8 7 6 5 4 3

0

0 0 00 0

0

0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 Reset

SPI_TRANS_DONE bbCONF_buf bc/
SPI_INT_RD_BUF_DONE_EN SPI_SLV_RD_BUF_DONE b10 b CONF bc/
SPI_INT_WR_BUF_DONE_EN SPI_SLV_WR_BUF_DONE b10 b CONF bc/
SPI_INT_RD_DMA_DONE_EN SPI_SLV_RD_DMA_DONE b10 b CONF bc/
SPI_INT_WR_DMA_DONE_EN SPI_SLV_WR_DMA_DONE b10 b CONF bc/
SPI_INT_TRANS_DONE_EN SPI_TRANS_DONE b10b CONF bc/
SPI_INT_DMA_SEG_TRANS_EN SPI_DMA_SEG_TRANS_DONE b10 b CONF bc/
SPI_SEG_MAGIC_ERR_INT_EN 1 Magic b0b CONF  bc/
SPI_TRANS_CNT bc
SPI_TRANS_DONE_AUTO_CLR_EN  SPI_TRANS_DONE  SPI_TRANS_DONE  3  APB  SPI_TRANS_DONEb0b1b CONF bc/
SPI_SLAVE_MODE  SPI b10bc/
SPI_SOFT_RESET  SPI aCS b CONF bc/



589 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.16. SPI_SLAVE1_REG (0x0034)

SPI_SLV_LAST_ADDR

SPI_SLV_LAST_COMMANSDPI_SSLVP_I_WSSRLVP__ID_CMSMSLAVPD__I__DASEODSRLNVPDRE_IR_N_SSOELVPR__IRQ_CPSMIL_VDE__NAEDRDRR__CELRRR_CLR

(reserved)

31

24 23

16 15 14 13 12 11 10 9

0

0

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SPI_SLV_ADDR_ERR_CLR 1   SPI_SLV_ADDR_ERRb0  bCONF_buf       bc/
SPI_SLV_CMD_ERR_CLR 1 SPI_SLV_CMD_ERRb0bCONF_buf cb/

SPI_SLV_NO_QPI_EN 1 QPI b0 QPI bc/
SPI_SLV_ADDR_ERR 1SPI  SPI b0 SPI  bc
SPI_SLV_CMD_ERR 1SPI  SPI b0 bc
SPI_SLV_WR_DMA_DONE        DMA                b CONF_buf bc/
SPI_SLV_LAST_COMMAND bc/
SPI_SLV_LAST_ADDR bc/

Register 24.17. SPI_SLV_WRBUF_DLEN_REG (0x0038)

SPI_CONF_BASE_BITLSEPNI_SLV_WR_BUF_DONE

(reserved)

31

25 24 23

0

108

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SPI_SLV_WR_BUF_DONE DMA  buffer b CONF_buf bc/
SPI_CONF_BASE_BITLEN CONF SPI CLKb SPI_USR_CONF CONF  SPI_CONF_BASE_BITLEN[6:0] + SPI_CONF_BITLEN[23:0]bc/



590 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.18. SPI_SLV_RDBUF_DLEN_REG (0x003C)

(reserved)

SPI_SSEPGI__MSLAVG_IRCD__EB(RrUeRsFe_rDveOdN)E

31

26 25 24 23

20 19

0 0 0 0 0 00 00 0 0 0

SPI_SLV_DMA_RD_BYTELEN 0x000

0
Reset

SPI_SLV_DMA_RD_BYTELEN b byte_num 1bc/
SPI_SLV_RD_BUF_DONE DMA  buffer b CONF_buf bc/
SPI_SEG_MAGIC_ERR 1 DMA CONF buffer  Magic b0 bc/



591 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.19. SPI_SLV_RD_BYTE_REG (0x0040)

SPI_USSPRI__CSLOVN_(FrReDse_rDveMdA)_DONESPI_DMA_SEGS_PMI_ASSGLVPIC_I__WSVSRALVPBL_IUU_REFSDS_LVPBB_IUY_WTFSE_RLLVBDE_YMNRTA_ED_LEDBENMYNAT_E_ELBNEYNT_ELEENN_EN

31 30 29 28 27

24 23 22 21 20 19

0 00 0

10

0000

SPI_SLV_DATA_BYTELEN 0

0
Reset

SPI_SLV_DATA_BYTELEN        SPI                b          SPI_SLV_RDDMA_BYTELEN_ENaSPI_SLV_WRDMA_BYTELEN_ENa SPI_SLV_RDBUF_BYTELEN_ENaSPI_SLV_WRBUF_BYTELEN_EN bc/
SPI_SLV_RDDMA_BYTELEN_EN 1DMA  (Rd_DMA)SPI_SLV_DATA_BYTELEN  b0bc/
SPI_SLV_WRDMA_BYTELEN_EN 1DMA  (Wr_DMA)SPI_SLV_DATA_BYTELEN  b0bc/
SPI_SLV_RDBUF_BYTELEN_EN 1CPU  (Rd_BUF)SPI_SLV_DATA_BYTELEN  b0bc/
SPI_SLV_WRBUF_BYTELEN_EN 1CPU  (Wr_BUF)SPI_SLV_DATA_BYTELEN  b0bc/
SPI_DMA_SEG_MAGIC_VALUE  DMA  Magic bc/
SPI_SLV_RD_DMA_DONE  Rd_DMA b CONF_buf bc/
SPI_USR_CONF 1 DMA CONF b0 bc/



592 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.20. SPI_DMA_CONF_REG (0x004C)

(reserved) SPI_DMAS_PSI_EEGX_TT_RMA(NEreMSs_e_CrBvLKeR_dSS)PIIZ_EDSMPAI__DOSMUPATI__FRIISNFXPO_FI_IE_FOESOSMFL_VP_PF_IE_TUTNSYLXSL_L_VP_CS_IC_LERRLGDXSR_M_PTSAIR_E_ASGSSNL_LVPSVT_I___RLCSDAASLENMSPRGSTAI______ETDCSCNRSMLEOAPRGANNI____STEDPTI_SNNMOXPE_UPANIS_E__TMCRSOLEXPPR_MI_S_OTTSUORPTPAI__NIDNSSA_DPTESIA_NC_OSRBUP_UTIBR_DUSOSTRUC_STRTE__N_EBE(OrUNeFRs_SeMTrv_OeEDdN)ESPI_ASHPBI_MA_SHRPBSI_MTO_SUFPTIIF__OIRN_S_RTR(SrSeTTserved)

31

29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8

65 4 3 21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 Reset

SPI_IN_RST  inDMA FSM  indata FIFO bc/
SPI_OUT_RST  outDMA FSM  outdata FIFO bc/
SPI_AHBM_FIFO_RST  SPI DMA AHB  FIFO bc/
SPI_AHBM_RST  SPI DMA AHB bc/
SPI_OUT_EOF_MODE OUT_EOF b1DMA  FIFO  OUT_EOF 0AHB  FIFO  OUT_EOF bc/
SPI_OUTDSCR_BURST_EN  burst bc/
SPI_INDSCR_BURST_EN  burst bc/
SPI_OUT_DATA_BURST_EN SPI DMA  burst bc/
SPI_MEM_TRANS_EN 1b DMA RX buffer  DMA TX bufferb0 bc/
SPI_DMA_RX_STOP SPI DMA SPI DMA bc/
SPI_DMA_TX_STOP SPI DMA SPI DMA bc/
SPI_DMA_CONTINUE SPI DMA bc/
SPI_SLV_LAST_SEG_POP_CLR   DMA TX bc/
SPI_DMA_SLV_SEG_TRANS_EN SPI DMA b1 0bc/
SPI_SLV_RX_SEG_TRANS_CLR_EN SPI DMA  DMA RX buffer  10,  DMA RX Buffer bc/
SPI_SLV_TX_SEG_TRANS_CLR_EN SPI DMA  DMA TX buffer  10 ,  DMA TX FIFO  bc/




593 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI) Register 24.20. SPI_DMA_CONF_REG (0x004C)

GoBack


SPI_RX_EOF_EN 1  SPI DMA          DMA           SPI_SLV_DMA_RD_BYTELEN[19:0]  SPI_MST_DMA_RD_BYTELEN[19:0]    SPI_IN_SUC_EOF_INT_RAWb0           SPI_IN_SUC_EOF_INT_RAW  SPI_TRANS_DONE  SPI_DMA_SEG_TRANS_DONE  bc/
SPI_DMA_INFIFO_FULL_CLR    SPI_SLV_RX_SEG_TRANS_CLR_EN    SPI DMA           DMA RX buffer                [SPI_DMA_INFIFO_FULL_CLR] b c/

SPI_DMA_OUTFIFO_EMPTY_CLR    SPI_SLV_TX_SEG_TRANS_CLR_EN    SPI DMA           DMA TX buffer               [SPI_DMA_OUTFIFO_EMPTY_CLR] bc/
SPI_EXT_MEM_BK_SIZE bc/
SPI_DMA_SEG_TRANS_CLR 1 0x05 b  DMA RX b0b APB CLK  bc/

Register 24.21. SPI_DMA_OUT_LINK_REG (0x0050)

SPI_DSMPAI__OTSUXP_TI_ELONINSAUKPT_I_LROINEUSKTT_ALSIRTNTAKR_TSTOP
31 30 29 28 27

(reserved)

20 19

0 0 0 00 0 0 0 0 0 0 0

SPI_OUTLINK_ADDR 0x000

0
Reset

SPI_OUTLINK_ADDR  outlink bc/ SPI_OUTLINK_STOP  outlink bc/ SPI_OUTLINK_START  outlink bc/ SPI_OUTLINK_RESTART  outlink bc/ SPI_DMA_TX_ENA  DMA  CPU 
bc/



594 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.22. SPI_IN_ERR_EOF_DES_ADDR_REG (0x0068)

SPI_DMA_IN_ERR_EOF_DES_ADDR

31

0

0

Reset

SPI_DMA_IN_ERR_EOF_DES_ADDR SPI DMA inlink bc

Register 24.23. SPI_IN_SUC_EOF_DES_ADDR_REG (0x006C)

SPI_DMA_IN_SUC_EOF_DES_ADDR

31

0

0

Reset

SPI_DMA_IN_SUC_EOF_DES_ADDR SPI DMA  FROM_SUC_EOF  inlink  bc

Register 24.24. SPI_INLINK_DSCR_REG (0x0070)
SPI_DMA_INLINK_DSCR
31
0
SPI_DMA_INLINK_DSCR  inlink bc

0
Reset



595 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)
Register 24.25. SPI_INLINK_DSCR_BF0_REG (0x0074)
SPI_DMA_INLINK_DSCR_BF0
31
0
SPI_DMA_INLINK_DSCR_BF0  inlink bc

GoBack
0
Reset

Register 24.26. SPI_OUT_EOF_BFR_DES_ADDR_REG (0x007C)

SPI_DMA_OUT_EOF_BFR_DES_ADDR

31

0

0

Reset

SPI_DMA_OUT_EOF_BFR_DES_ADDR  EOF  buffer bc

Register 24.27. SPI_OUT_EOF_DES_ADDR_REG (0x0080)

SPI_DMA_OUT_EOF_DES_ADDR

31

0

0

Reset

SPI_DMA_OUT_EOF_DES_ADDR SPI DMA  TO_EOF  outlink bc



596 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)
Register 24.28. SPI_OUTLINK_DSCR_REG (0x0084)
SPI_DMA_OUTLINK_DSCR
31
0
SPI_DMA_OUTLINK_DSCR  outlink bc

GoBack
0
Reset

Register 24.29. SPI_OUTLINK_DSCR_BF0_REG (0x0088)
SPI_DMA_OUTLINK_DSCR_BF0
31
0
SPI_DMA_OUTLINK_DSCR_BF0  outlink bc

0
Reset

Register 24.30. SPI_DMA_OUTSTATUS_REG (0x0090)

SPI_DSMPAI__DOMUAT_FOIFUOT_FEIMFOP_TFYSUPLIL_DMA_OUTFIFO_CNT SPI_DMA_OUTS_PSI_TDATMEA_OUTDSCR_STATE

31 30 29

23 22

20 19 18 17

10

0

0

0

SPI_DMA_OUTDSCR_ADDR 0

SPI_DMA_OUTDSCR_ADDR SPI DMA out bc SPI_DMA_OUTDSCR_STATE SPI DMA out bc SPI_DMA_OUT_STATE SPI DMA out bc SPI_DMA_OUTFIFO_CNT SPI DMA outFIFO bc SPI_DMA_OUTFIFO_FULL SPI DMA outFIFO bc SPI_DMA_OUTFIFO_EMPTY SPI DMA outFIFO bc

0
Reset



597 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

Register 24.31. SPI_DMA_INSTATUS_REG (0x0094)

SPI_DSMPAI__DINMFAIF_OIN_FEIMFOP_TFYULSLPI_DMA_INFIFO_CNT

31 30 29

23 22

SPI_DMA_IN_SSPTAI_TDEMA_INDSCR_STATE
20 19 18 17

10

0

0

0

SPI_DMA_INDSCR_ADDR 0

SPI_DMA_INDSCR_ADDR SPI DMA in bc SPI_DMA_INDSCR_STATE SPI DMA in bc SPI_DMA_IN_STATE SPI DMA in bc SPI_DMA_INFIFO_CNT SPI DMA inFIFO bc SPI_DMA_INFIFO_FULL SPI DMA inFIFO bc SPI_DMA_INFIFO_EMPTY SPI DMA inFIFO bc

GoBack
0
Reset

Register 24.32. SPI_DMA_IN_LINK_REG (0x0054)

SPI_DSMPAI__INRSXLP_IIN_EKINNS_ALPRIINE_SKINT_ALSIRTNTAKR_TSTOP
31 30 29 28 27

(reserved)

SPI_INLINK_AUTO_RET
21 20 19

0 0 0 00 0 0 0 0 0 00

SPI_INLINK_ADDR 0x000

0
Reset

SPI_INLINK_ADDR  inlink bc/ SPI_INLINK_AUTO_RET inlink  link 
bc/ SPI_INLINK_STOP  inlink bc/ SPI_INLINK_START  inlink bc/ SPI_INLINK_RESTART  inlink bc/ SPI_DMA_RX_ENA  DMA  CPU 
bc/



598 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.33. SPI_DMA_INT_ENA_REG (0x0058)

(reserved)

SPI_SSLVP_I_CSMSLVPD_IA_C_SMSILNVPDT_I_9_CS_EMSLINNVPDAT_I_8_C_SEMSLINNVPDTA_I7__C_OEMSIUNNPDTTAI_6F_II_EFNSINONFPA_ITIF_E_OOMES_UNPPFTAITU__YLTO_SLOU_EPTTREAI__RRLOE_R_SOUE_IPNFTOIIN_T__FT_IID_NNS_EOI_TPNNEN_SITNA_EUE_AI_NNCSEIA_P_NNEIEAT_RO_INRSFE___PNEDIIAN_OOITNFSN__LPEEIII_NNN_ITKOANS__UTPEDT_INS_LEACIINNNRAKL_I_NEDKRS_RCDORSR_C_ERINR_RTE_OMERPN_TAINYT__INETN_AENA

31

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SPI_INLINK_DSCR_EMPTY_INT_ENA Inlink b CONF bc/
SPI_OUTLINK_DSCR_ERROR_INT_ENA Outlink  b CONF bc/
SPI_INLINK_DSCR_ERROR_INT_ENA Inlink b  CONF bc/
SPI_IN_DONE_INT_ENA  inlink b CONF bc/
SPI_IN_ERR_EOF_INT_ENA b CONF  bc/
SPI_IN_SUC_EOF_INT_ENA b  CONF bc/
SPI_OUT_DONE_INT_ENA  outlink b  CONF bc/
SPI_OUT_EOF_INT_ENA b CONF bc/
SPI_OUT_TOTAL_EOF_INT_ENA  b CONF bc/
SPI_INFIFO_FULL_ERR_INT_ENA Infifo bc/
SPI_OUTFIFO_EMPTY_ERR_INT_ENA Outfifo bc/
SPI_SLV_CMD6_INT_ENA SPI  CMD6 bc/
SPI_SLV_CMD7_INT_ENA SPI  CMD7 bc/
SPI_SLV_CMD8_INT_ENA SPI  CMD8 bc/
SPI_SLV_CMD9_INT_ENA SPI  CMD9 bc/
SPI_SLV_CMDA_INT_ENA SPI  CMDA bc/



599 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.34. SPI_DMA_INT_RAW_REG (0x005C)

(reserved)

SPI_SSLVP_I_CSMSLVPD_IA_C_SMSILNVPDT_I_9_CS_RMSLINAVPDWT_I_8_C_SRMSLINAVPDWT_I7__C_ORMSIUNAPDTWTI_6F_II_RFNSIAONFPW_ITIF_E_OOMRS_UAPPFTWITU__YLTO_SLOU_EPTTREAI__RRLOE_R_SOUE_IPNFTOIIN_T__FT_IID_NNS_ROI_TPNRAN_SITWA_EUR_WI_NACSRIW_P_NAEIEWT_RO_INRSFR___PAEDIIWN_OOITNFSN__LPERIII_NNA_ITKWONS__UTPRDT_IAS_LRWCIIANNRWKL_I_NEDKRS_RCDORSR_C_ERINR_RTE_OMRRPA_TWINYT__INRTA_WRAW

31

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SPI_INLINK_DSCR_EMPTY_INT_RAW Inlink b CONF bc
SPI_OUTLINK_DSCR_ERROR_INT_RAW Outlink  b CONF bc
SPI_INLINK_DSCR_ERROR_INT_RAW Inlink b  CONF bc
SPI_IN_DONE_INT_RAW  inlink b CONF bc
SPI_IN_ERR_EOF_INT_RAW b CONF  bc
SPI_IN_SUC_EOF_INT_RAW b  CONF bc
SPI_OUT_DONE_INT_RAW  outlink b  CONF bc
SPI_OUT_EOF_INT_RAW b CONF bc
SPI_OUT_TOTAL_EOF_INT_RAW  b CONF bc
SPI_INFIFO_FULL_ERR_INT_RAW  DMA RX buffer b  CONF bc
SPI_OUTFIFO_EMPTY_ERR_INT_RAW  DMA TX buffer b  CONF bc
SPI_SLV_CMD6_INT_RAW SPI  CMD6 bc/
SPI_SLV_CMD7_INT_RAW SPI  CMD7 bc/
SPI_SLV_CMD8_INT_RAW SPI  CMD8 bc/
SPI_SLV_CMD9_INT_RAW SPI  CMD9 bc/
SPI_SLV_CMDA_INT_RAW SPI  CMDA bc/



600 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.35. SPI_DMA_INT_ST_REG (0x0060)

(reserved)

SPI_SSLVP_I_CSMSLVPD_IA_C_SMSILNVPDT_I_9_CS_SMSLITNVPDT_I_8_C_SSMSLITNVPDT_I7__C_OSMSIUNTPDTTI_6F_II_SFNSITONFP_ITIF_E_OOMSS_UTPPFTITU__YLTO_SLOU_EPTTREAI__RRLOE_R_SOUE_IPNFTOIIN_T__FT_IID_NNS_SOI_TPNTSN_SITT_ESU_I_TNCSSI_P_TNEIET_RO_INRSFS___PTEDIIN_OOITNFSN__LPESIII_NNT_ITKONS__UTPSDT_ITS_LSCIITNNRKL_I_NEDKRS_RCDORSR_C_ERINR_RTE_OMSRPT_TINYT__INSTT_ST

31

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SPI_INLINK_DSCR_EMPTY_INT_ST Inlink bc

SPI_OUTLINK_DSCR_ERROR_INT_ST Outlink bc SPI_INLINK_DSCR_ERROR_INT_ST Inlink bc SPI_IN_DONE_INT_ST  inlink bc SPI_IN_ERR_EOF_INT_ST bc SPI_IN_SUC_EOF_INT_ST bc
 SPI_OUT_DONE_INT_ST  outlink bc
 SPI_OUT_EOF_INT_ST bc SPI_OUT_TOTAL_EOF_INT_ST 
bc SPI_INFIFO_FULL_ERR_INT_ST Infifo bc SPI_OUTFIFO_EMPTY_ERR_INT_ST Outfifo bc SPI_SLV_CMD6_INT_ST SPI  CMD6 bc/ SPI_SLV_CMD7_INT_ST SPI  CMD7 bc/ SPI_SLV_CMD8_INT_ST SPI  CMD8 bc/ SPI_SLV_CMD9_INT_ST SPI  CMD9 bc/ SPI_SLV_CMDA_INT_ST SPI  CMDA bc/



601 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.36. SPI_DMA_INT_CLR_REG (0x0064)

(reserved)

SPI_SSLVP_I_CSMSLVPD_IA_C_SMSILNVPDT_I_9_CS_CMSLINLVPDRT_I_8_C_SCMSLINLVPDRT_I7__C_OCMSIUNLPDTRTI_6F_II_CFNSILONFPR_ITIF_E_OOMCS_ULPPFTRITU__YLTO_SLOU_EPTTREAI__RRLOE_R_SOUE_IPNFTOIIN_T__FT_IID_NNS_COI_TPNCLN_SITRL_ECUR_I_NLCSCIR_P_NLERIET_RO_INRSFC___PLEDIIRN_OOITNFSN__LPECIII_NNL_IRTKONS__UTPCDT_ILS_LCRCIILNNRRKL_I_NEDKRS_RCDORSR_C_ERINR_RTE_OMCRPL_TRINYT__INCTL_RCLR

31

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SPI_INLINK_DSCR_EMPTY_INT_CLR Inlink b CONF bc/
SPI_OUTLINK_DSCR_ERROR_INT_CLR Outlink  b CONF bc/
SPI_INLINK_DSCR_ERROR_INT_CLR Inlink b  CONF bc/
SPI_IN_DONE_INT_CLR  inlink b CONF bc/
SPI_IN_ERR_EOF_INT_CLR b CONF  bc/
SPI_IN_SUC_EOF_INT_CLR b  CONF bc/
SPI_OUT_DONE_INT_CLR  outlink b  CONF bc/
SPI_OUT_EOF_INT_CLR b CONF bc/
SPI_OUT_TOTAL_EOF_INT_CLR  b CONF bc/
SPI_INFIFO_FULL_ERR_INT_CLR 1 SPI_INFIFO_FULL_ERR_INT_RAWb0bCONF_buf bc/
SPI_OUTFIFO_EMPTY_ERR_INT_CLR 1 SPI_OUTFIFO_EMPTY_ERR_INT_RAW b0 bCONF_buf bc/
SPI_SLV_CMD6_INT_CLR SPI  CMD6 bc/
SPI_SLV_CMD7_INT_CLR SPI  CMD7 bc/
SPI_SLV_CMD8_INT_CLR SPI  CMD8 bc/
SPI_SLV_CMD9_INT_CLR SPI  CMD9 bc/
SPI_SLV_CMDA_INT_CLR SPI  CMDA bc/



602 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.37. SPI_W0_REG (0x0098)

SPI_BUF0

31

0

0

Reset

SPI_BUF0  buffer 032 bbc/

Register 24.38. SPI_W1_REG (0x009C)

SPI_BUF1

31

0

0

Reset

SPI_BUF1  buffer 132 bbc/

Register 24.39. SPI_W2_REG (0x00A0)

SPI_BUF2

31

0

0

Reset

SPI_BUF2  buffer 232 bbc/

Register 24.40. SPI_W3_REG (0x00A4)

SPI_BUF3

31

0

0

Reset

SPI_BUF3  buffer 332 bbc/



603 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.41. SPI_W4_REG (0x00A8)

SPI_BUF4

31

0

0

Reset

SPI_BUF4  buffer 432 bbc/

Register 24.42. SPI_W5_REG (0x00AC)

SPI_BUF5

31

0

0

Reset

SPI_BUF5  buffer 532 bbc/

Register 24.43. SPI_W6_REG (0x00B0)

SPI_BUF6

31

0

0

Reset

SPI_BUF6  buffer 632 bbc/

Register 24.44. SPI_W7_REG (0x00B4)

SPI_BUF7

31

0

0

Reset

SPI_BUF7  buffer 732 bbc/



604 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.45. SPI_W8_REG (0x00B8)

SPI_BUF8

31

0

0

Reset

SPI_BUF8  buffer 832 bbc/

Register 24.46. SPI_W9_REG (0x00BC)

SPI_BUF9

31

0

0

Reset

SPI_BUF9  buffer 932 bbc/

Register 24.47. SPI_W10_REG (0x00C0)

SPI_BUF10

31

0

0

Reset

SPI_BUF10  buffer 1032 bbc/

Register 24.48. SPI_W11_REG (0x00C4)

SPI_BUF11

31

0

0

Reset

SPI_BUF11  buffer 1132 bbc/



605 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.49. SPI_W12_REG (0x00C8)

SPI_BUF12

31

0

0

Reset

SPI_BUF12  buffer 1232 bbc/

Register 24.50. SPI_W13_REG (0x00CC)

SPI_BUF13

31

0

0

Reset

SPI_BUF13  buffer 1332 bbc/

Register 24.51. SPI_W14_REG (0x00D0)

SPI_BUF14

31

0

0

Reset

SPI_BUF14  buffer 1432 bbc/

Register 24.52. SPI_W15_REG (0x00D4)

SPI_BUF15

31

0

0

Reset

SPI_BUF15  buffer 1532 bbc/



606 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.53. SPI_W16_REG (0x00D8)

SPI_BUF16

31

0

0

Reset

SPI_BUF16  buffer 1632 bbc/

Register 24.54. SPI_W17_REG (0x00DC)

SPI_BUF17

31

0

0

Reset

SPI_BUF17  buffer 1732 bbc/



607 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.55. SPI_DIN_MODE_REG (0x00E0)

(reserved)

SPI_TIMINGS_PCI_LKD_INE7N_AMODESPI_DIN6_MODESPI_DIN5_MODESPI_DIN4_MODESPI_DIN3_MODESPI_DIN2_MODESPI_DIN1_MODESPI_DIN0_MODE

31

25 24 23

21 20

18 17

15 14

12 11

98

65

32

0

0 0 0 0 0 0 00

0x0

0x0

0x0

0x0

0x0

0x0

0x0

0x0 Reset

SPI_DIN0_MODE  FSPID b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF  bc/
SPI_DIN1_MODE  FSPIQ b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF  bc/
SPI_DIN2_MODE  FSPIWP b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF  bc/
SPI_DIN3_MODE  FSPIHD b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF  bc/
SPI_DIN4_MODE  FSPIIO4 b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF  bc/
SPI_DIN5_MODE  FSPIIO5 b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF  bc/
SPI_DIN6_MODE  FSPIIO6 b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/
SPI_DIN7_MODE  FSPIIO7 b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF  bc/
SPI_TIMING_CLK_ENA 1 HCLK 160 MHz0b CONF bc/



608 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.56. SPI_DIN_NUM_REG (0x00E4)

(reserved)

SPI_DIN7_NSUPIM_DIN6_NSPUIM_DIN5_NSPUIM_DIN4_NSPUIM_DIN3_NSPUIM_DIN2_NSPUIM_DIN1_NSUPMI_DIN0_NUM

31

16 15 14 13 12 11 10 9

87

65

43

21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Reset

SPI_DIN0_NUM  SPI_DIN0_MODE  FSPID b0  1 1 2 b CONF bc/
SPI_DIN1_NUM  SPI_DIN1_MODE  FSPIQ b0  1 1 2 b CONF bc/
SPI_DIN2_NUM  SPI_DIN2_MODE  FSPIWP b0  1 1 2 b CONF bc/
SPI_DIN3_NUM  SPI_DIN3_MODE  FSPIHD b0  1 1 2 b CONF bc/
SPI_DIN4_NUM  SPI_DIN4_MODE  FSPIIO4 b0  1 1 2 b CONF bc/
SPI_DIN5_NUM  SPI_DIN5_MODE  FSPIIO5 b0  1 1 2 b CONF bc/
SPI_DIN6_NUM  SPI_DIN6_MODE  FSPIIO6 b0  1 1 2 b CONF bc/
SPI_DIN7_NUM  SPI_DIN7_MODE  FSPIIO7 b0  1 1 2 b CONF bc/



609 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.57. SPI_DOUT_MODE_REG (0x00E8)

(reserved)

SPI_DOUT7_MOSDPEI_DOUT6_MOSDPEI_DOUT5_MOSDPEI_DOUT4_MODSPEI_DOUT3_MOSDPEI_DOUT2_MOSDPEI_DOUT1_MODSEPI_DOUT0_MODE

31

24 23

21 20

18 17

15 14

12 11

98

65

32

0

0 0 0 0 0 0 0 0 0x0

0x0

0x0

0x0

0x0

0x0

0x0

0x0 Reset

SPI_DOUT0_MODE  FSPID b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/
SPI_DOUT1_MODE  FSPIQ b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF  bc/
SPI_DOUT2_MODE  FSPIWP b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/
SPI_DOUT3_MODE  FSPIHD b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/
SPI_DOUT4_MODE  FSPIIO4 b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/
SPI_DOUT5_MODE  FSPIIO5 b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/
SPI_DOUT6_MODE  FSPIIO6 b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/
SPI_DOUT7_MODE  FSPIIO7 b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/



610 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.58. SPI_DOUT_NUM_REG (0x00EC)

(reserved)

SPI_DOUT7S_PNI_UDMOUT6S_PNI_UDMOUT5S_PNI_UDMOUT4S_PNI_UDMOUT3S_PNI_UDMOUT2S_PNI_UDMOUT1S_PNIU_DMOUT0_NUM

31

16 15 14 13 12 11 10 9

87

65

43

21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Reset

SPI_DOUT0_NUM  SPI_DOUT0_MODE  FSPID b 0 1 1 2 b CONF bc/
SPI_DOUT1_NUM  SPI_DOUT1_MODE  FSPIQ b 0 1 1 2 b CONF bc/
SPI_DOUT2_NUM  SPI_DOUT2_MODE  FSPIWP  b0 1 1 2 b CONF bc/
SPI_DOUT3_NUM  SPI_DOUT3_MODE  FSPIHD b 0 1 1 2 b CONF bc/
SPI_DOUT4_NUM  SPI_DOUT4_MODE  FSPIIO4 b 0 1 1 2 b CONF bc/
SPI_DOUT5_NUM  SPI_DOUT5_MODE  FSPIIO5  b0 1 1 2 b CONF bc/
SPI_DOUT6_NUM  SPI_DOUT6_MODE  FSPIIO6  b0 1 1 2 b CONF bc/
SPI_DOUT7_NUM  SPI_DOUT7_MODE  FSPIIO7 b 0 1 1 2 b CONF bc/



611 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

SPI_LCD_MODE_EN
31 30
0

Register 24.59. SPI_LCD_CTRL_REG (0x00F0)

SPI_LCD_VT_HEIGHT
21 20
0

SPI_LCD_VA_HEIGHT
11 10
0

SPI_LCD_HB_FRONT 0

0
Reset

SPI_LCD_HB_FRONT  (HSYNC_POSITION + HSYNC_WIDTH + ) b CONF  bc/
SPI_LCD_VA_HEIGHT b CONF bc/
SPI_LCD_VT_HEIGHT b CONF bc/
SPI_LCD_MODE_EN 1 LCD  VSYNCaHSYNC  DEb0b CONF  bc/

Register 24.60. SPI_LCD_CTRL1_REG (0x00F4)

SPI_LCD_HT_WIDTH

SPI_LCD_HA_WIDTH

SPI_LCD_VB_FRONT

31

20 19

87

0

0

0

0

Reset

SPI_LCD_VB_FRONT  (VSYNC_WIDTH + ) b CONF bc/ SPI_LCD_HA_WIDTH b CONF bc/ SPI_LCD_HT_WIDTH b CONF bc/



612 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.61. SPI_LCD_CTRL2_REG (0x00F8)

SPI_LCD_HSYNC_POSITISOPNI_HSYNC_IDLE_POLSPI_LCD_HSYNC_WIDTH

(reserved)

SPI_VSYNC_IDLE_POLSPI_LCD_VSYNC_WIDTH

31

24 23 22

16 15

876

0

0

0

1

0 0 0 0 0 0 0 00

1

Reset

SPI_LCD_VSYNC_WIDTH  SPI_VSYNC b CONF bc/
SPI_VSYNC_IDLE_POL SPI_VSYNC b CONF bc/
SPI_LCD_HSYNC_WIDTH  SPI_HSYNC b CONF b =   + 1bc/
SPI_HSYNC_IDLE_POL SPI_HSYNC b CONF bc/
SPI_LCD_HSYNC_POSITION  SPI_HSYNC b CONF b  =  + 1bbc/



613 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.62. SPI_LCD_D_MODE_REG (0x00FC)

(reserved)

SPI_HSSP_I_BDLAEN_IKD_LSEEPN_I_PDO_LVSYNC_MSOPDI_ED_HSYNC_MSOPID_ED_DE_MODSEPI_D_CD_MODSEPI_D_DQS_MODE

31

17 16 15 14

12 11

98

65

32

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0

0x0

0x0

0x0

0x0

0x0 Reset

SPI_D_DQS_MODE  FSPIDQS b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/
SPI_D_CD_MODE  FSPICD b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/
SPI_D_DE_MODE  FSPI_DE b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b CONF bc/
SPI_D_HSYNC_MODE  FSPI_HSYNC b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b  CONF bc/
SPI_D_VSYNC_MODE  FSPI_VSYNC b0 1APB_CLK 2APB_CLK 3HCLK 4: HCLK b  CONF bc/
SPI_DE_IDLE_POL SPI_DE bc/
SPI_HS_BLANK_EN 1 SPI_HSYNCb 0SPI_HSYNC bc/



614 

ESP32-S2 TRM ( 1.3)

 24  SPI  (SPI)

GoBack

Register 24.63. SPI_LCD_D_NUM_REG (0x0100)

(reserved)

SPI_D_VSYSNPCI__NDU_MHSYSNPCI__DN_UDME_SNPUI_MD_CD_SNPUI_MD_DQS_NUM

31

10 9

87

65

43

21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 0x0 0x0 0x0 0x0 Reset

SPI_D_DQS_NUM  SPI_D_DQS_MODE  FSPIDQS  b0 1 1 2 b CONF bc/
SPI_D_CD_NUM  SPI_D_CD_MODE  FSPI_CD b 0 1 1 2 b CONF bc/
SPI_D_DE_NUM  SPI_D_DE_MODE  FSPI_DE b 0 1 1 2 b CONF bc/
SPI_D_HSYNC_NUM  SPI_D_HSYNC_MODE  FSPI_HSYNC  b0 1 1 2 b CONF bc/
SPI_D_VSYNC_NUM  SPI_D_VSYNC_MODE  FSPI_VSYNC  b0 1 1 2 b CONF bc/

(reserved)

31

28 27

0000

Register 24.64. SPI_DATE_REG (0x03FC)
SPI_DATE 0x1907240

SPI_DATE bc/

0
Reset



615 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

 25 
I2C  (I2C)
ESP32-S2  I2C (Inter-Integrated Circuit)  ESP32-S2 b  I2C b
25.1 
I2C b ·  ·  ·  (100 Kbit/s) ·  (400 Kbit/s) ·  7-bit  10-bit  ·  SCL  ·  · 
25.2 I2C 
25.2.1 I2C 
I2C  SDA  SCL b (open-drain) bI2C  b b  SCL  SDA  SCL  9 b 8  7-bit  1 b 7-bit   9  SDA b bbSDA  SCL  b SCL  SDA b ab



616 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)
25.2.2 I2C 

GoBack

 25.2-1. I2C Master 

 25.2-2. I2C Slave 
I2C  Master  Slave I2C_MS_MODE b 25.2-1  I2C Master  25.2-2  I2C Slave bI2C  TX/RX RAMa CMD_ControlleraSCL_FSMaSCL_MAIN_FSMaDATA_ShifteraSCL_Filter  SDA_Filter b



617 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

25.2.2.1 TX/RX RAM
TX/RX RAM  32 x 8 bitsbTX RAM  I2C b I2C  I2C c ACK  TX RAM  SDA b I2C  TX RAM b aacab I2C  TX RAM b
RX RAM  I2C I2C b I2C  c RX RAM b I2C   RX RAM b
TX RAM  RX RAM  FIFO  (non-FIFO)  I2C_NONFIFO_EN b
TX RAM  CPU bCPU  TX RAM: FIFO bFIFO   I2C_DATA_REG  TX RAM TX RAM b (I2C   + 0x100) ~(I2C  + 0x17C)  TX RAMbTX RAM  word b  I2C  + 0x100,  I2C  + 0x104,  I2C  + 0x108 bCPU  TX RAM TX RAM  TX RAM  0x80 b
RX RAM  CPU bCPU  RX RAM: FIFO bFIFO   I2C_DATA_REG  RX RAM RX RAM b (I2C   + 0x100) ~(I2C  + 0x17C)  RX RAMbRX RAM  word b  I2C  + 0x100,  I2C  + 0x104,  I2C  + 0x108 b
TX RAM  RX RAM  TX RAM  RX RAM  32 x 8 bits  RAMb  RAM  TX RAM  RX RAMb
25.2.2.1.1 CMD_Controller
I2C CMD_Controller  16  SCL_FSM  SDA_FSMb

 25.2-3. I2C 

 I2C  25.2-3 b :
1. CMD_DONE: b CMD_DONE  1b  CMD_DONE b CMD_DONE b



618 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

2. op_code:  5 b
· RSTART: op_code  0  RSTART  I2C  I2C  START   RESTART b
· WRITE: op_code  1  WRITE  I2C a cab
· READ: op_code  2  READ  I2C b
· STOP: op_code  3  STOP  I2C  I2C  STOP b CMD_Controller b CMD_Controller  0 b
· END:op_code  4  END  I2C  SCL  I2C b CMD_Controller b RAM  CMD_Controller I2C b CMD_Controller   0 b
3. ack_value:  I2C  I2C  ACK bRSTART aSTOP aEND a WRITE b
4. ack_exp:  I2C  I2C  ACK bRSTART aSTOP aEND aREAD b
5. ack_check_en:  I2C  ACK  ack_exp  b ACK  WRITE  ack_exp I2C Master  I2C_NACK_INT  STOPb1:  ACK ; 0:  ACK b RSTART aSTOP aEND aREAD b
6. byte_num:  () 255 1bRSTART aSTOP aEND  byte_num b
 0  STOP  END b 16   STOP  END b
 I2C  START  STOP b END  I2C  baaa b RAM  I2C b

25.2.2.2 SCL_FSM
SCL_FSM  SCL bI2C_SCL_LOW_PERIOD_REGaI2C_SCL_HIGH_PERIOD_REG  I2C_SCL_WAIT_HIGH_PERIOD  SCL b SCL_FSM   I2C_SCL_ST_TO  I2C_SCL_ST_TO_INT b

25.2.2.3 SCL_MAIN_FSM
SCL_MAIN_FSM  SDA b SCL_MAIN_FSM   I2C_SCL_MAIN_ST_TO  I2C_SCL_MAIN_ST_TO_INT  b



619 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

25.2.2.4 DATA_Shifter
DATA_Shifter b I2C_RX_LSB_FIRST  I2C_TX_LSB_FIRST b
25.2.2.5 SCL_Filter  SDA_Filter
SCL_Filter  SDA_Filter  SCL  SDA b I2C_SCL_FILTER_EN  I2C_SDA_FILTER_EN b
 SCL_Filter SCL_Filter  SCL,  I2C_SCL_FILTER_THRES  APB , , b b, SCL_Filter  SDA_Filter  I2C_SCL_FILTER_THRES   I2C_SDA_FILTER_THRES  APB b

25.2.3 I2C 
I2C  APB_CLK REF_TICKbI2C_REF_ALWAYS_ON  1  APB_CLK  REF_TICKb

 25.2-4. I2C 

 25.2-4  I2C  (I2C_CLK)  I2C_REF_ALWAYS_ON  1  TAP B_CLK I2C_REF_ALWAYS_ON  0  TREF _T ICK bI2C  START a STOP aaaSCL  25.2-4  b25.2-4 :
1. I2C_SCL_START_HOLD_TIME  I2C  start SDA  SCL b cI2C_SCL_START_HOLD_TIME +1bb
2. I2C_SCL_LOW_PERIOD SCL bSCL cI2C_SCL_LOW_PERIOD + 1 b SCL I2C  END  SCL SCL   SCL bb
3. I2C_SCL_WAIT_HIGH_PERIOD  SCL b SCL  b SCL bb
4. I2C_SCL_HIGH_PERIOD SCL b b SCL  I2C_SCL_WAIT_HIGH_PERIOD + 1  SCL 



620 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

fscl

=

fI2C_CLK I2C_SCL_LOW_PERIOD+1+I2C_SCL_HIGH_PERIOD+I2C_SCL_WAIT_HIGH_PERIOD

5. I2C_SDA_SAMPLE_TIME SCL  SDA b SCL   SDA bb

6. I2C_SDA_HOLD_TIME SDA  SCL b b

SCL  SDA  open-drain bI2C  open-drain 

1.  I2C_SCL_FORCE_OUTaI2C_SDA_FORCE _OUT  SCL  SDA PAD  GPIO_PINn_PAD_DRIVER  open-drain b

2.  I2C_SCL_FORCE_OUT  I2C_SDA_FORCE_OUTb

SCL  SDA  bI2C  SCL  SDA  SCL b

 I2C_SCL_FORCE_OUT  I2C_SCL_PD_EN  1  SCL ;  I2C_SDA_FORCE_OUT  I2C_SDA_PD_EN  1  SDA b

25.3 
 I2C Master  Slave  I2C b
25.3.1 I2C 7-bit 

 25.3-1. I2C Master  7-bit  Slave
 25.3-1  I2C Master  7-bit  N  I2C Slave  RAMb 25.3-1   RAM  7-bit Slave  + 1-bit  0  bcmd b  RAM  I2C_TRANS_START  b
1.  SCL  SCL  Master  Slave b



621 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

2.  RSTART  START b
3.  WRITE  RAM  N+1  b
4.  STOPb I2C Master  STOP  I2C_TRANS_COMPLETE_INT b
 32  RAM b b I2C Master  RAM  I2C_TXFIFO_WM_THRHD  I2C_TXFIFO_WM_INT b
 RAM b RAM  non-FIFO  I2C_TX_UPDATE  RAM  I2C_FIFO_ST_REG  I2C_TXFIFO_START_ADDR  I2C_TXFIFO_END_ADDR  RAM  RAM b RAM  FIFO  I2C_DATA_REG b

1.  I2C Master WRITE  ack_check_en  1 I2C Master  ACK b ACK  WRITE  ack_exp I2C Master  I2C_NACK_INT  STOPb
2. I2C Master  SCL  SDA  SDA  I2C Master  I2C_ARBITRATION_LOST_INT  IDLE  SCL  SDA  b
I2C Slave  I2C Master  START b I2C Slave   I2C_SLAVE_ADDR[6:0] I2C Slave bI2C Slave   RAM b
 32  RAM b b I2C Slave  RAM  I2C_RXFIFO_WM_THRHD   I2C_RXFIFO_WM_INT b
 RAM b RAM  non-FIFO  I2C _RX_UPDATE  RAM  RD_FIFO_ST_REG  RXFIFO_START_ADDR  RXFIFO_END_ADDR  RAM  RAM  b RAM  FIFO  I2C_DATA_REG b



622 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)
25.3.2 I2C 10-bit 

GoBack

 25.3-2. I2C Master  10-bit  Slave
 SLV_ADDR bESP32-S2 I2C  7-bit cSLV_ADDR[6:0]) 10-bit cSLV_ADDR[9:0]) b  25.3-2  I2C Master  N  10-bit  I2C Slave b 7-bit 10-bit b 7 bits slave_addr_first_7bits  RAM  addr0 slave_addr_first_7bits  (0x78 | SLV_ADDR[9:8])b slave_addr_second_byte  RAM  addr1 slave_addr_second_byte  SLV_ADDR[7:0] b  I2C_ADDR_10BIT_EN  10-bit bI2C_SLAVE_ADDR  I2C Slave bI2C_SLAVE_ADDR[14:7]  SLV_ADDR[7:0] I2C_SLAVE_ADDR[6:0]  (0x78 | SLV_ADDR[9:8]) b 10-bit Slave  7-bit ,  WRITE  byte_num   RAM  1b
25.3.3 I2C 7-bit 

 25.3-3. I2C Master  7-bit  Slave  M  RAM

 slave b I2C  I2C bRAM  non-FIFO b I2C



623 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

_FIFO_ADDR_CFG_EN b 25.3-3 I2C Slave  byte0 ~ byte(N-1)  Slave RAM  addrM b 31  0 b

25.3.4 I2C 7-bit 

 25.3-4. I2C Master  7-bit  Slave

RAM  32  RAM  b END  END  SCL   RAM b
 25.3-4  I2C Master  Slaveb I2C Master   Master  RAM  I2C_TRANS_STARTI2C Master  b END I2C Master  SCL  SCL  I2C b  I2C_END_DETECT_INT b
 I2C_END_DETECT_INT  RAM  I2C_END_DETECT_INT b cmd1  STOP ,  Slaveb I2C_TRANS_START I2C Master  STOP b Slave ,I2C Master   I2C Master  I2C_END_DETECT_INT  cmd b  I2C_TRANS_START I2C Master  STOP b
I2C  Master b STOP  b I2C_FSM_RST  I2C  I2C_FSM_RSTb
 I2C Master  I2C_SCL_RST_SLV_EN,  I2C_ SCL_RST_SLV_NUM  SCL   I2C_SCL_RST_SLV_EN b



624 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

 Master  Slave  ESP32-S2 I2C  I2C b

25.3.5 I2C 7-bit 

 25.3-5. I2C Master  7-bit  Slave
 25.3-5 I2C Master  7-bit  I2C Slave  N  RAM bcmd1  WRITE I2C Master  I2C Slave b 7-bit I2C Slave b  1 bI2C Slave  I2C MasterbI2C Master  READ  ack_value  ACKb  25.3-5  READ I2C Master  cmd2  N-1  ACK cmd3   NACK bI2C Master  RAM   byte0 cSlave  +1-bit b
25.3.6 I2C 10-bit 



 25.3-6. I2C Master  10-bit  Slave

625 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

 25.3-6  I2C Master  10-bit  I2C Slave  RAM b 7-bit  I2C Master  2  RAM  2  I2C Slave 10-bit b 7-bit I2C Slave  I2C_ADDR_10BIT_EN  I2C_SLAVE_ADDR[140]b 25.3.2  b

25.3.7 I2C 7-bit 

 25.3-7. I2C Master  7-bit  Slave  M  N 
 25.3-7  I2C Master  I2C Slave  RAM b 1.  I2C Slave  I2C_FIFO_ADDR_CFG_EN  RAM b 2.  I2C Master  I2C Slave  Mb 3.  I2C Master  I2C_TRANS_STARTI2C Slave  RAM  M  N  I2C Masterb



626 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)
25.3.8 I2C 7-bit 

GoBack

 25.3-8. I2C Master  7-bit  Slave
 25.3-8  I2C Master  END  I2C Slave  N+M b 
1.  RAM b 2.  Slave  RAM  I2C_TRANS_STARTI2C b END 
I2C Master  RAM ,  I2C_END_DETECT_INT b cmd2  STOP  I2C Slave,  I2C_TRANS_STARTI2C Master ,  STOP b 3.  cmd2  END  I2C Master  I2C Master  I2C_END_DETECT_INT  cmd b I2C_TRANS_STARTI2C Master  STOP b
25.3.9 SCL 
 SCL b I2C_SLAVE_SCL_STRETCH_EN   I2C_STRETCH_PROTECT_NUM b SCL 



627 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

1. I2C  SDA b 2. I2C  RX RAM b 3. I2C  TX RAM b SCL  I2C_STRETCH_CAUSE b I2C_SLAVE_SCL_STRETCH_CLR  SCL b

25.4 
· I2C_SLAVE_STRETCH_INT:  I2C  SCL b · I2C_DET_START_INT I2C START b · I2C_SCL_MAIN_ST_TO_INT:  I2C  SCL_MAIN_FSM 
I2C_SCL_MAIN_ST_TO[23:0] b · I2C_SCL_ST_TO_INT:  I2C  SCL_FSM  I2C_SCL_ST_TO[23:0] 
b · I2C_RXFIFO_UDF_INT:  I2C I2C_NONFIFO_RX_THRES 
b · I2C_TXFIFO_OVF_INT:  I2C I2C_NONFIFO_TX_THRES b · I2C_NACK_INT:  I2C  Master  ACK  ACK 
 I2C  Slave  ACK  1 b · I2C_TRANS_START_INT:  I2C  START b · I2C_TIME_OUT_INT:  I2C SCL  I2C_TIME_OUT 
b · I2C_TRANS_COMPLETE_INT:  I2C  STOP b · I2C_MST_TXFIFO_UDF_INT:  I2C  TX FIFO b · I2C_ARBITRATION_LOST_INT:  I2C Master  SCL SDA 
b · I2C_BYTE_TRANS_DONE_INT:  I2C b · I2C_END_DETECT_INT I2C  op_code  END I2C END b · I2C_RXFIFO_OVF_INT I2C RX FIFO b · I2C_TXFIFO_WM_INTI2C TX FIFO bI2C_FIFO_PRT_EN  1 TX FIFO 
I2C_TXFIFO_WM_THRHD[4:0] b · I2C_RXFIFO_WM_INTI2C RX FIFO bI2C_FIFO_PRT_EN  1 RX FIFO 
I2C_RXFIFO_WM_THRHD[4:0] b

25.5 

 I2C  25.5-1 b 3  b



628 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

 25.5-1. I2C 

 I2C0 I2C1

 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2

 0x3F413000 0x60013000 0x3F427000 0x60027000

GoBack

25.6 

 I2C cb I2C   25.5 b

  I2C_SCL_LOW_PERIOD_REG I2C_SDA_HOLD_REG I2C_SDA_SAMPLE_REG I2C_SCL_HIGH_PERIOD_REG I2C_SCL_START_HOLD_REG
I2C_SCL_RSTART_SETUP_REG I2C_SCL_STOP_HOLD_REG I2C_SCL_STOP_SETUP_REG
I2C_SCL_ST_TIME_OUT_REG I2C_SCL_MAIN_ST_TIME_OUT_REG  I2C_CTR_REG I2C_TO_REG I2C_SLAVE_ADDR_REG I2C_FIFO_CONF_REG I2C_SCL_SP_CONF_REG I2C_SCL_STRETCH_CONF_REG  I2C_SR_REG I2C_FIFO_ST_REG I2C_DATA_REG  I2C_INT_RAW_REG I2C_INT_CLR_REG I2C_INT_ENA_REG I2C_INT_STATUS_REG 







 SCL   SCL   SCL   SCL   START  SDA  SCL    SCL  SDA   STOP  SCL   STOP  SDA  SCL   SCL  SCL 

0x0000 0x0030 0x0034 0x0038 0x0040
0x0044 0x0048 0x004C
0x0098 0x009C

/ / / / /
/ / /
/ /

   FIFO    I2C  SCL 

0x0004 0x000C 0x0010 0x0018 0x00A0 0x00A4

/ / / / / 

 I2C  FIFO  / FIFO 

0x0008 0x0014 0x001C

  /

    I2C 

0x0020 0x0024 0x0028 0x002C

  / 



629 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)
 I2C_SCL_FILTER_CFG_REG I2C_SDA_FILTER_CFG_REG  I2C_COMD0_REG I2C_COMD1_REG I2C_COMD2_REG I2C_COMD3_REG I2C_COMD4_REG I2C_COMD5_REG I2C_COMD6_REG I2C_COMD7_REG I2C_COMD8_REG I2C_COMD9_REG I2C_COMD10_REG I2C_COMD11_REG I2C_COMD12_REG I2C_COMD13_REG I2C_COMD14_REG I2C_COMD15_REG  I2C_DATE_REG

 SCL  SDA 
I2C  0 I2C  1 I2C  2 I2C  3 I2C  4 I2C  5 I2C  6 I2C  7 I2C  8 I2C  9 I2C  10 I2C  11 I2C  12 I2C  13 I2C  14 I2C  15


GoBack

 0x0050 0x0054

 / /

0x0058 0x005C 0x0060 0x0064 0x0068 0x006C 0x0070 0x0074 0x0078 0x007C 0x0080 0x0084 0x0088 0x008C 0x0090 0x0094

/ / / / / / / / / / / / / / / /

0x00F8 /

25.7 

Register 25.1. I2C_SCL_LOW_PERIOD_REG (0x0000)

(reserved)

31

14 13

000000000000000000

I2C_SCL_LOW_PERIOD 0x00

0
Reset

I2C_SCL_LOW_PERIOD  SCL  I2C b(/)



630 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.2. I2C_SDA_HOLD_REG (0x0030)

(reserved)

31

10 9

0000000000000000000000

I2C_SDA_HOLD_TIME
0

0x0

Reset

I2C_SDA_HOLD_TIME  SCL  I2C b (/)

Register 25.3. I2C_SDA_SAMPLE_REG (0x0034)

(reserved)

31

10 9

0000000000000000000000

I2C_SDA_SAMPLE_TIME
0

0x0

Reset

I2C_SDA_SAMPLE_TIME  SDA  I2C b(/)

(reserved)

31

28 27

0000

Register 25.4. I2C_SCL_HIGH_PERIOD_REG (0x0038)

I2C_SCL_WAIT_HIGH_PERIOD 0x00

14 13

I2C_SCL_HIGH_PERIOD 0x00

0
Reset

I2C_SCL_HIGH_PERIOD  SCL  I2C  b(/)
I2C_SCL_WAIT_HIGH_PERIOD  SCL_FSM  SCL   I2C b(/)



631 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.5. I2C_SCL_START_HOLD_REG (0x0040)

(reserved)

31

10 9

0000000000000000000000

I2C_SCL_START_HOLD_TIME
0

8

Reset

I2C_SCL_START_HOLD_TIME  START  SDA  SCL  I2C b(/)

Register 25.6. I2C_SCL_RSTART_SETUP_REG (0x0044)

(reserved)

31

10 9

0000000000000000000000

I2C_SCL_RSTART_SETUP_TIME
0

8

Reset

I2C_SCL_RSTART_SETUP_TIME  RESTART  SCL  SDA   I2C b(/)

Register 25.7. I2C_SCL_STOP_HOLD_REG (0x0048)

(reserved)

31

14 13

000000000000000000

I2C_SCL_STOP_HOLD_TIME 0x00

0
Reset

I2C_SCL_STOP_HOLD_TIME  STOP  I2C b(/)



632 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.8. I2C_SCL_STOP_SETUP_REG (0x004C)

(reserved)

31

10 9

0000000000000000000000

I2C_SCL_STOP_SETUP_TIME
0

0x0

Reset

I2C_SCL_STOP_SETUP_TIME  SCL  SDA  I2C  b(/)

Register 25.9. I2C_SCL_ST_TIME_OUT_REG (0x0098)

(reserved)

31

24 23

00000000

I2C_SCL_ST_TO 0x0100

I2C_SCL_ST_TO SCL_FSM b(/)

0
Reset

Register 25.10. I2C_SCL_MAIN_ST_TIME_OUT_REG (0x009C)

(reserved)

31

24 23

00000000

I2C_SCL_MAIN_ST_TO 0x0100

I2C_SCL_MAIN_ST_TO SCL_MAIN_FSM b(/)

0
Reset



633 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.11. I2C_CTR_REG (0x0004)

(reserved)

I2C_RI2EFC__AFILS2WMCA__YARIS2RS_CBTO_ITNCRI2LAKCT__IOERINN2X__CEL_NSTIXB2__CLF_SITRBIR2S_ACTFN_ISRMI_S2STSC_T_MARRIO2XTD_CFE_USILA2LMC__PASLIC2CEKCL____SLFSCEODLVR_AECL_LEEFVO_EORLUCTE_OUT

31

12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1 1 Reset

I2C_SDA_FORCE_OUT  SDA b 0:  1:  (/)
I2C_SCL_FORCE_OUT  SCL b 0:  1:  (/)
I2C_SAMPLE_SCL_LEVEL b1SCL  SDA b0SCL   SDA b(/)
I2C_RX_FULL_ACK_LEVEL  rx_fifo_cnt  ACK b(/)
I2C_MS_MODE  I2C b I2C b(/)
I2C_TRANS_START  TX FIFO b(/)
I2C_TX_LSB_FIRST b10 b(/)
I2C_RX_LSB_FIRST b10 b(/)
I2C_CLK_EN  (/)
I2C_ARBITRATION_EN I2C b(/)
I2C_FSM_RST  SCL_FSMb(/)
I2C_REF_ALWAYS_ON  REF_TICKb(/)



634 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.12. I2C_TO_REG (0x000C)

(reserved)

I2C_TIME_OUT_EN

31

25 24 23

0 0 0 0 0 0 00

I2C_TIME_OUT_VALUE 0x0000

0
Reset

I2C_TIME_OUT_VALUE  APB b(/) I2C_TIME_OUT_EN b(/)

Register 25.13. I2C_SLAVE_ADDR_REG (0x0010)

I2C_ADDR_10BIT_EN
31 30

(reserved)

15 14

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_SLAVE_ADDR 0x00

I2C_SLAVE_ADDR  Slave b(/) I2C_ADDR_10BIT_EN  10 b(/)

0
Reset



635 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.14. I2C_FIFO_CONF_REG (0x0018)

(reserved)

I2C_FIFO_PRT_EN I2C_NONFIFO_TX_THRES

31

27 26 25

20 19

0 0 0 0 01

0x15

I2C_NONFIFO_RX_TI2HCR_ETSIX2_CF_IFRIO2X__CFR_ISFFITI2OFCO__R_NSAOTDNDFRI_FCOF_GE_IN2ECN_TXFIFO_WM_THRHD

I2C_RXFIFO_WM_THRHD

14 13 12 11 10 9

54

0

0x15

0000

0x4

0xb

Reset

I2C_RXFIFO_WM_THRHD non-FIFO RX FIFO bI2C_FIFO_PRT_EN  1  RX FIFO  I2C_TXFIFO_WM_THRHD[4:0] I2C_TXFIFO_WM_INT_RAW b(/)

I2C_TXFIFO_WM_THRHD non-FIFO TX FIFO bI2C_FIFO_PRT_EN  1  TX FIFO  I2C_TXFIFO_WM_THRHD[4:0] I2C_TXFIFO_WM_INT_RAW b(/)

I2C_NONFIFO_EN  APB non-FIFO b(/)
I2C_FIFO_ADDR_CFG_EN  1  RAM  b(/)
I2C_RX_FIFO_RST  RX FIFO b(/)
I2C_TX_FIFO_RST  TX FIFO b(/)
I2C_NONFIFO_RX_THRES I2C        I2C_NONFIFO_TX_THRES      I2C_RXFIFO_UDF_INT b(/)
I2C_NONFIFO_TX_THRES I2C        I2C_NONFIFO_TX_THRES       I2C_TXFIFO_OVF_INT b(/)
I2C_FIFO_PRT_EN non-FIFO  FIFO b TX FIFO  RX FIFO  aaab(/)



636 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.15. I2C_SCL_SP_CONF_REG (0x00A0)

(reserved)

I2C_SI2DCA__PSCDL__EPND_ENI2C_SCL_RST_SIL2VC__NSUCML_RST_SLV_EN

31

87 65

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0

0x0

0 Reset

I2C_SCL_RST_SLV_EN I2C                SCL  b      I2C_SCL_RST_SLV_NUM[4:0]b(/)
I2C_SCL_RST_SLV_NUM  SCL bI2C_SCL_RST_SLV_EN  1 b (/)
I2C_SCL_PD_EN  I2C SCL b1b0b I2C_SCL_FORCE_OUT  I2C_SCL_PD_EN  1  SCL b(/)
I2C_SDA_PD_EN  I2C SDA b1b0b I2C_SDA_FORCE_OUT  I2C_SDA_PD_EN  1  SDA b(/)

Register 25.16. I2C_SCL_STRETCH_CONF_REG (0x00A4)

(reserved)

I2C_SI2LACV_ES_LSACVLE__SSTCRLE_TSCTHR_ECTCLRH_ENI2C_STRETCH_PROTECT_NUM

31

12 11 10 9

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0

0x0

Reset

I2C_STRETCH_PROTECT_NUM  I2C  SCL b(/)
I2C_SLAVE_SCL_STRETCH_EN   SCL          b1  b0  b I2C_SLAVE_SCL_STRETCH_EN  1  SCL b  I2C_STRETCH_CAUSEb(/)
I2C_SLAVE_SCL_STRETCH_CLR  I2C  SCL b()



637 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.17. I2C_SR_REG (0x0008)

(reserved) I2C_SCL_S(TrAeTsEe_rvLeAdS)TI2C_SCL_MAIN_STATE_LIA2SCT_TXFIFO_CNT

(reserved) I2C_STRETCH_CAUSEI2C_RXFIFO_CNT (reserIv2eCd_)BI2YTCE__SIT2LRACAV_NEBIS_2UACSD__DABIR2RUECBSS__YSTLIEIO2MDCSET__SOI2LUACTV_ER_ERSWP_REC

31 30

28 27 26

24 23

18 17 16 15 14 13

87 6 5 4 3 2 1 0

0

0x0

0

0x0

0x0

0 0 0x0

0x0

0 0 0 0 0 0 0 0 Reset

I2C_RESP_REC  ACK b0ACK1NACKb() I2C_SLAVE_RW 10b() I2C_TIME_OUT I2C  I2C_TIME_OUT  1b()

I2C_ARB_LOST I2C  SCL  1 b()
I2C_BUS_BUSY 1I2C 0I2C b()
I2C_SLAVE_ADDRESSED  I2C ab ()
I2C_BYTE_TRANS  1b()
I2C_RXFIFO_CNT b()
I2C_STRETCH_CAUSE  SCL b0I2C  SCL b1 TX FIFO  SCL b2 RX FIFO  SCL b()
I2C_TXFIFO_CNT  RAM b()
I2C_SCL_MAIN_STATE_LAST  I2C b012ACK  345 ACK6 ACK ()
I2C_SCL_STATE_LAST  SCL b0123 456 ()



638 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

(reserved)
31 30 29
00

Register 25.18. I2C_FIFO_ST_REG (0x0014)

I2C_SLAVE_RW_POINT I2C_TIX2_CU_PRDXA_TUEPDATEI2C_TXFIFO_END_ADDR

I2C_TXFIFO_START_ADDR I2C_RXFIFO_END_ADDR

I2C_RXFIFO_START_ADDR

22 21 20 19

15 14

10 9

54

0

0x0

00

0x0

0x0

0x0

0x0

Reset

I2C_RXFIFO_START_ADDR  I2C_NONFIFO_RX_THRES b ()
I2C_RXFIFO_END_ADDR  I2C_NONFIFO_RX_THRES b  I2C_RX_REC_FULL_INT  I2C_TRANS_COMPLETE_INT b()
I2C_TXFIFO_START_ADDR  I2C_NONFIFO_TX_THRES b( )
I2C_TXFIFO_END_ADDR  I2C_NONFIFO_TX_THRES b  I2C_TX_SEND_EMPTY_INT  I2C_TRANS_COMPLETE_INT b()
I2C_RX_UPDATE  I2C_RX_UPDATE   0  1   I2C_RXFIFO_END_ADDR  I2C_RXFIFO_START_ADDR b()
I2C_TX_UPDATE  I2C_TX_UPDATE   0  1   I2C_TXFIFO_END_ADDR  I2C_TXFIFO_START_ADDR b()
I2C_SLAVE_RW_POINT b()

Register 25.19. I2C_DATA_REG (0x001C)

(reserved)

31

87

000000000000000000000000

I2C_FIFO_RDATA  RX FIFO  TX FIFO b(/)

I2C_FIFO_RDATA
0

0x0

Reset



639 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.20. I2C_INT_RAW_REG (0x0020)

(reserved)

I2C_SI2LACV_EDI_2ESCTT__RSSEIT2CTACLCR__HTMS__I2CAIINNCLINT_T___S_RISTR2RXT_AFCAT_WIW_FTOTOO_IX2__IFNCUIINFT_DOT_NFI__R2A_ROACCINAWV_KWTTF_I_R_2INRAICNTAN_T_WTS_RII_2MRASCAWET_WA_TORIR2TUAC_TN_I_NSMII_TN2SC_CTTRO___AMRTAIW2XARPFWCBLI_IEFTBTORI2EY_A_TCUTEI_IDNO_EFTITNN2__R_CDIRANL__ANOTRDWIS_S2XE_TRFCTD_AI_EFWIOTNCOIXN2TT_FE_C_OI_IFR_VNIOARNFTW_X_T_WFI_RNIMFRATOAW__W_IRNWATMW__RIANWT_RAW

31

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

I2C_RXFIFO_WM_INT_RAW I2C_RXFIFO_WM_INT b() I2C_TXFIFO_WM_INT_RAW I2C_TXFIFO_WM_INT b() I2C_RXFIFO_OVF_INT_RAW I2C_RXFIFO_OVF_INT b() I2C_END_DETECT_INT_RAW I2C_END_DETECT_INT b() I2C_BYTE_TRANS_DONE_INT_RAW I2C_BYTE_TRANS_DONE_INT b() I2C_ARBITRATION_LOST_INT_RAW I2C_ARBITRATION_LOST_INT b() I2C_MST_TXFIFO_UDF_INT_RAW I2C_MST_TXFIFO_UDF_INT b() I2C_TRANS_COMPLETE_INT_RAW I2C_TRANS_COMPLETE_INT b() I2C_TIME_OUT_INT_RAW I2C_TIME_OUT_INT b() I2C_TRANS_START_INT_RAW I2C_TRANS_START_INT b() I2C_NACK_INT_RAW I2C_NACK_INT b() I2C_TXFIFO_OVF_INT_RAW I2C_TXFIFO_OVF_INT b() I2C_RXFIFO_UDF_INT_RAW I2C_RXFIFO_UDF_INT b() I2C_SCL_ST_TO_INT_RAW I2C_SCL_ST_TO_INT b() I2C_SCL_MAIN_ST_TO_INT_RAW I2C_SCL_MAIN_ST_TO_INT b() I2C_DET_START_INT_RAW I2C_DET_START_INT b() I2C_SLAVE_STRETCH_INT_RAW I2C_SLAVE_STRETCH_INT b()



640 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.21. I2C_INT_CLR_REG (0x0024)

(reserved)

I2C_SI2LACV_EDI_2ESCTT__RSSEIT2CTACLCR__HTMS__I2CAIINNCLINT_T___S_RISCTC2XT_LFCLT_RRI_FTOTOO_IX2__IFNCUIINFT_DOT_NFI_C_2A_COLCCINRLV_KRTTF_I_R_2INCAICNTLN_TR_TS_CII_2MCLSCLRET_RA_TORIR2TUAC_TN_I_NSMII_TN2SC_CTTCO___LMCTAIR2XLRPRFCBLI_IEFTBTORI2EY_A_TCUTEI_IDNO_EFTITNN2__R_CDICANL__LNOTRDRIS_S2XE_CTFCTD_LI_EFRIOTNCOIXN2TT_FE_C_OI_IFC_VNIOLRNFTR_X_T_WFI_CNIMCFLTORL__R_CINWLTRM__CILNRT_CLR

31

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

I2C_RXFIFO_WM_INT_CLR  I2C_RXFIFO_WM_INT b() I2C_TXFIFO_WM_INT_CLR  I2C_TXFIFO_WM_INT b() I2C_RXFIFO_OVF_INT_CLR  I2C_RXFIFO_OVF_INT b() I2C_END_DETECT_INT_CLR  I2C_END_DETECT_INT b() I2C_BYTE_TRANS_DONE_INT_CLR  I2C_BYTE_TRANS_DONE_INT b() I2C_ARBITRATION_LOST_INT_CLR  I2C_ARBITRATION_LOST_INT b() I2C_MST_TXFIFO_UDF_INT_CLR  I2C_MST_TXFIFO_UDF_INT b() I2C_TRANS_COMPLETE_INT_CLR  I2C_TRANS_COMPLETE_INT b() I2C_TIME_OUT_INT_CLR  I2C_TIME_OUT_INT b() I2C_TRANS_START_INT_CLR  I2C_TRANS_START_INT b() I2C_NACK_INT_CLR  I2C_NACK_INT b() I2C_TXFIFO_OVF_INT_CLR  I2C_TXFIFO_OVF_INT b() I2C_RXFIFO_UDF_INT_CLR  I2C_RXFIFO_UDF_INT b() I2C_SCL_ST_TO_INT_CLR  I2C_SCL_ST_TO_INT b() I2C_SCL_MAIN_ST_TO_INT_CLR  I2C_SCL_MAIN_ST_TO_INT b() I2C_DET_START_INT_CLR  I2C_DET_START_INT b() I2C_SLAVE_STRETCH_INT_CLR  I2C_SLAVE_STRETCH_INT b()



641 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.22. I2C_INT_ENA_REG (0x0028)

(reserved)

I2C_SI2LACV_EDI_2ESCTT__RSSEIT2CTACLCR__HTMS__I2CAIINNCLINT_T___S_RISTE2EXT_NNFCT_IAA_FTOTOO_IX2__IFNCUIINFT_DOT_NFI__E2A_EONCCINNVA_KTTAF_I_R_2INEAICNTNN_T_ATS_EII_2MENSCNEAT_AA_TORIR2TUAC_TN_I_NSMII_TN2SC_CTTEO___NMETAIAN2XRPFCABLI_IEFTBTORI2EY_A_TCUTEI_IDNO_EFTITNN2__R_CDIEANL__NNOTRDAIS_S2XE_TEFCTD_NI_EFIOATNCOIXN2TT_FE_C_OI_IFE_VNIONRNFT_AX_T_WFI_ENIMFENTONA___AIENWNTMA__EINNAT_ENA

31

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

I2C_RXFIFO_WM_INT_ENA I2C_RXFIFO_WM_INT b(/) I2C_TXFIFO_WM_INT_ENA I2C_TXFIFO_WM_INT b(/) I2C_RXFIFO_OVF_INT_ENA I2C_RXFIFO_OVF_INT b(/) I2C_END_DETECT_INT_ENA I2C_END_DETECT_INT b(/) I2C_BYTE_TRANS_DONE_INT_ENA I2C_BYTE_TRANS_DONE_INT b(/) I2C_ARBITRATION_LOST_INT_ENA I2C_ARBITRATION_LOST_INT b(/) I2C_MST_TXFIFO_UDF_INT_ENA I2C_MST_TXFIFO_UDF_INT b(/) I2C_TRANS_COMPLETE_INT_ENA I2C_TRANS_COMPLETE_INT b(/) I2C_TIME_OUT_INT_ENA I2C_TIME_OUT_INT b(/) I2C_TRANS_START_INT_ENA I2C_TRANS_START_INT b(/) I2C_NACK_INT_ENA I2C_NACK_INT b(/) I2C_TXFIFO_OVF_INT_ENA I2C_TXFIFO_OVF_INT b(/) I2C_RXFIFO_UDF_INT_ENA I2C_RXFIFO_UDF_INT b(/) I2C_SCL_ST_TO_INT_ENA I2C_SCL_ST_TO_INT b(/) I2C_SCL_MAIN_ST_TO_INT_ENA I2C_SCL_MAIN_ST_TO_INT b(/) I2C_DET_START_INT_ENA I2C_DET_START_INT b(/) I2C_SLAVE_STRETCH_INT_ENA I2C_SLAVE_STRETCH_INT b(/)



642 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.23. I2C_INT_STATUS_REG (0x002C)

(reserved)

I2C_SI2LACV_EDI_2ESCTT__RSSEIT2CTACLCR__HTMS__I2CAIINNCLINT_T___S_RISTSS2XTT_TFCT_I_FTOTOO_IX2__IFNCUIINFT_DOT_NFI_S_2A_STOCCINTV_KTTF_I_R_2INSAICNTTN_T_TS_SII_2MSTSCTET_A_TORIR2TUAC_TN_I_NSMII_TN2SC_CTTSO___TMSTAIT2XRPFCBLI_IEFTBTORI2EY_A_TCUTEI_IDNO_EFTITNN2__R_CDISANL__TNOTRDIS_S2XE_TSFCTTD_I_EFIOTNCOIXN2TT_FE_C_OI_IFS_VNIOTRNFT_X_T_WFI_SNIMSFTTOT___SINWTTM__SITNT_ST

31

17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

I2C_RXFIFO_WM_INT_ST I2C_RXFIFO_WM_INT b() I2C_TXFIFO_WM_INT_ST I2C_TXFIFO_WM_INT b() I2C_RXFIFO_OVF_INT_ST I2C_RXFIFO_OVF_INT b() I2C_END_DETECT_INT_ST I2C_END_DETECT_INT b() I2C_BYTE_TRANS_DONE_INT_ST I2C_BYTE_TRANS_DONE_INT b() I2C_ARBITRATION_LOST_INT_ST I2C_ARBITRATION_LOST_INT b() I2C_MST_TXFIFO_UDF_INT_ST I2C_MST_TXFIFO_UDF_INT b() I2C_TRANS_COMPLETE_INT_ST I2C_TRANS_COMPLETE_INT b() I2C_TIME_OUT_INT_ST I2C_TIME_OUT_INT b() I2C_TRANS_START_INT_ST I2C_TRANS_START_INT b() I2C_NACK_INT_ST I2C_NACK_INT b() I2C_TXFIFO_OVF_INT_ST I2C_TXFIFO_OVF_INT b() I2C_RXFIFO_UDF_INT_ST I2C_RXFIFO_UDF_INT b() I2C_SCL_ST_TO_INT_ST I2C_SCL_ST_TO_INT b() I2C_SCL_MAIN_ST_TO_INT_ST I2C_SCL_MAIN_ST_TO_INT b() I2C_DET_START_INT_ST I2C_DET_START_INT b() I2C_SLAVE_STRETCH_INT_ST I2C_SLAVE_STRETCH_INT b()



643 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.24. I2C_SCL_FILTER_CFG_REG (0x0050)

(reserved)

I2C_SCL_FILTIE2RC__ESNCL_FILTER_THRES

31

543

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01

0x0

Reset

I2C_SCL_FILTER_THRES SCL I2C b  I2C b(/)
I2C_SCL_FILTER_EN SCL b(/)

Register 25.25. I2C_SDA_FILTER_CFG_REG (0x0054)

(reserved)

I2C_SDA_FILTIE2RC__ESNDA_FILTER_THRES

31

543

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01

0x0

Reset

I2C_SDA_FILTER_THRES SDA I2C b  I2C b(/)
I2C_SDA_FILTER_EN SDA b(/)

Register 25.26. I2C_COMD0_REG (0x0058)

I2C_COMMAND0_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND0 0x00

0
Reset

I2C_COMMAND0  0 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND0_DONE  I2C  0 b(/)



644 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.27. I2C_COMD1_REG (0x005C)

I2C_COMMAND1_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND1 0x00

0
Reset

I2C_COMMAND1  1 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND1_DONE  I2C  1 b(/)

Register 25.28. I2C_COMD2_REG (0x0060)

I2C_COMMAND2_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND2 0x00

0
Reset

I2C_COMMAND2  2 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND2_DONE  I2C  2 b(/)

Register 25.29. I2C_COMD3_REG (0x0064)

I2C_COMMAND3_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND3 0x00

0
Reset

I2C_COMMAND3  3 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND3_DONE  I2C  3 b(/)



645 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.30. I2C_COMD4_REG (0x0068)

I2C_COMMAND4_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND4 0x00

0
Reset

I2C_COMMAND4  4 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND4_DONE  I2C  4 b(/)

Register 25.31. I2C_COMD5_REG (0x006C)

I2C_COMMAND5_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND5 0x00

0
Reset

I2C_COMMAND5  5 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND5_DONE  I2C  5 b(/)

Register 25.32. I2C_COMD6_REG (0x0070)

I2C_COMMAND6_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND6 0x00

0
Reset

I2C_COMMAND6  6 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND6_DONE  I2C  6 b(/)



646 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.33. I2C_COMD7_REG (0x0074)

I2C_COMMAND7_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND7 0x00

0
Reset

I2C_COMMAND7  7 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND7_DONE  I2C  7 b(/)

Register 25.34. I2C_COMD8_REG (0x0078)

I2C_COMMAND8_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND8 0x00

0
Reset

I2C_COMMAND8  8 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND8_DONE  I2C  8 b(/)

Register 25.35. I2C_COMD9_REG (0x007C)

I2C_COMMAND9_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND9 0x00

0
Reset

I2C_COMMAND9  9 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND9_DONE  I2C  9 b(/)



647 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.36. I2C_COMD10_REG (0x0080)

I2C_COMMAND10_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND10 0x00

0
Reset

I2C_COMMAND10  10 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND10_DONE  I2C  10 b(/)

Register 25.37. I2C_COMD11_REG (0x0084)

I2C_COMMAND11_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND11 0x00

0
Reset

I2C_COMMAND11  11 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND11_DONE  I2C  11 b(/)

Register 25.38. I2C_COMD12_REG (0x0088)

I2C_COMMAND12_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND12 0x00

0
Reset

I2C_COMMAND12  12 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND12_DONE  I2C  12 b(/)



648 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)

GoBack

Register 25.39. I2C_COMD13_REG (0x008C)

I2C_COMMAND13_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND13 0x00

0
Reset

I2C_COMMAND13  13 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND13_DONE  I2C  13 b(/)

Register 25.40. I2C_COMD14_REG (0x0090)

I2C_COMMAND14_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND14 0x00

0
Reset

I2C_COMMAND14  14 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND14_DONE  I2C  14 b(/)

Register 25.41. I2C_COMD15_REG (0x0094)

I2C_COMMAND15_DONE
31 30

(reserved)

14 13

00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

I2C_COMMAND15 0x00

0
Reset

I2C_COMMAND15  15 bop_code 0RSTART1WRITE 2READ3STOP4ENDbbyte_num back_check_enaack_exp  ack  ACK b I2C cmd b(/)
I2C_COMMAND15_DONE  I2C  15 b(/)



649 

ESP32-S2 TRM ( 1.3)

 25  I2C  (I2C)
Register 25.42. I2C_DATE_REG (0x00F8)
I2C_DATE
31
0x19052000
I2C_DATE b(/)

GoBack
0
Reset



650 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 26 
I2S  (I2S)
26.1 
I2S bESP32-S2  I2S  I2S0b I2S  BCKa WS  SDb I2S  bbESP32-S2  I2S  b  I2S ESP32-S2 I2S  LCD  Camera b
26.2 

 26.2-1. ESP32-S2 I2S 

 26.2-1  ESP32-S2 I2S bESP32-S2 I2S  (TX control)a  (RX control)a (I/O Timing)a (Clock Generator)a  FIFO (TX FIFO)  FIFO (RX FIFO)bTX/RX FIFO  64 x 32-bitbESP32-S2 I2S   DMA RAM RAM  cache  DMA b  DMA bESP32-S2 I2S  I2S aLCD  Camera  b
 I2S  BCK WS  SDb SD  SD b BCK  WS b



651 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 LCD I2S0O_BCK_out  LCD I2S0O_Data_out[23:0]  LCD   LCD b  Camera 
· I2S0I_V_SYNC  Camera  · I2S0I_H_SYNC  Camera  · I2S0I_H_ENABLE  Camera  · I2S0I_WS_in  Camera  · I2S0I_Data_in[15:0]  Camera b  26.2-1  I2S bRX  TX I2S0A_B_C I2S0I_BCK_inb  · "A"  I2S 
­ "I"  ­ "O"  · "B"  ­ BCK ­ WS ­ SD · "C"  ­ "in"  I2S  ­ "out"  I2S   26.2-1b

 26.2-1. 

 I2S0I_BCK_in I2S0I_BCK_out I2S0I_WS_in I2S0I_WS_out
I2S0I_Data_in

    


I2S0O_Data_out
I2S0O_BCK_in I2S0O_BCK_out I2S0O_WS_in I2S0O_WS_out


   

 I2S  BCK  RX  I2S  BCK  RX  I2S  WS  RX  I2S  WS  RX  I2S I2S0I_Data_in  I2S Camera    16 b I2S I2S0O_Data_out  I2S LCD    24 b I2S  BCK  TX  I2S  BCK  TX  I2S  WS  TX  I2S  WS  TX 



652 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

 I2S0_CLK I2S0I_H_SYNC I2S0I_V_SYNC I2S0I_H_ENABLE

 


GoBack
  Camera  HSYNCaVSYNC  HREF  26.11-1b

 1.  LCD/Camera / N I2S0I_Data_in[N-1:0]  I2S0O_Data_out[23:23-N+1]b N = 8 j 16 N = 8 j 24b
2. I2S  GPIO  Padb 5 IO MUX  GPIO b

26.3 
I2S  ·  ·  · TX  RX  · Philips I2S PCM  MSB  · 8 kHza16 kHza32 kHza44.1 kHza48 kHza88.2 kHza96 kHza128 kHz  192 kHzb 192 kHz 32 b ·  8/16/24/32 
LCD  Camera  ·  LCD 8 j 24  ­ I2S LCD  DMA  * LCD  8 j 16  40 MHz * LCD  17 j 24  26.7 MHz ­ I2S LCD  EDMA  RAM * LCD  8  25 MHz * LCD  9 j 16  12.5 MHz * LCD  17 j 24  6.25 MHz ­  MOTO6800aI8080  LCD  ·  Camerac DVP  8 j 16  ­ I2S Camera  DMA  * 8 j 16  40 MHz ­ I2S Camera  EDMA  RAM



653 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

* 8  25 MHz * 9 j 16  12.5 MHz ·  LCD  Camera ­  DMA  80 b ­  RAM  EDMA  25 b I2S  ·  I2S  ·  I2S DMA b

26.4 I2S 
ESP32-S2 I2S b
26.4.1 Philips 

 26.4-1. Philips 
 26.4-1  Philips  BCK WS  SD  BCK   WS  BCK  bSD b I2S_CONF_REG  I2S_RX_MSB_SHIFT  I2S_TX_MSB_SHIFT  I2S  Philips  b
26.4.2 MSB 



 26.4-2. MSB 
654 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 26.4-2 MSB  BCK WS  SD bWS  SD b I2S_CONF_REG  I2S_RX_MSB_SHIFT  I2S_TX_MSB_SHIFT I2S  MSB b

26.4.3 PCM 

 26.4-3. PCM 
 26.4-3  PCM  BCK WS  SD  BCK   WS  1  BCK bSD b I2S_CONF_REG  I2S_RX_SHORT_SYNC  I2S_TX_SHORT_SYNC  1 I2S b
26.5 I2S 
I2S0_CLK  I2S  160 MHz  PLL_F160M_CLK  PLL   APLL_CLK bI2S  BCK  I2S0_CLK  26.5-1 b I2S_CLKM_CONF_REG  I2S_CLK_SEL[1:0]  PLL_F160M_CLK  APLL_CLK  I2S0   I2S b

 26.5-1. I2S 

I2S0_CLK  fi2s  fI2S_CLK_S 

fi2s

=

fI2S_CLK_S

N

+

b a

N>=2N  I2S_CLKM_CONF_REG  I2S_CLKM_DIV_NUM[7:0]  · I2S_CLKM_DIV_NUM[7:0] = 0 N = 256 · I2S_CLKM_DIV_NUM[7:0] = 1 N = 2b · I2S_CLKM_DIV_NUM[7:0] N = I2S_CLKM_DIV_NUM[7:0] b



655 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

b  I2S_CLKM_DIV_B[5:0] a  I2S_CLKM_DIV_A[5:0] bI2S_CLKM_DIV_A[5:0]  I2S_CLKM_DIV_B[5:0] I2S_CLKM_DIV_B[5:0]  I2S_CLKM_DIV_A[5:0] b
I2S  BCK  I2S0O_BCK_out  I2S0_CLK b

fI2S0O_BCK_out

=

fi2s MO

MO  I2S_SAMPLE_RATE_CONF_REG  I2S_TX_BCK_DIV_NUM[5:0] 

· I2S_TX_BCK_DIV_NUM[5:0] = 0 MO = 128

· I2S_TX_BCK_DIV_NUM[5:0] MO = I2S_TX_BCK_DIV_NUM[5:0] b

I2S_TX_BCK_DIV_NUM[5:0]  1b

I2S  BCK  I2S0I_BCK_out  I2S0_CLK b

fI2S0I_BCK_out

=

fi2s MI

 MI  I2S_SAMPLE_RATE_CONF_REG  I2S_RX_BCK_DIV_NUM[5:0] 

· I2S_RX_BCK_DIV_NUM[5:0] = 0 MI  128

· I2S_RX_BCK_DIV_NUM[5:0] = 2 ~ 63 MI = I2S_RX_BCK_DIV_NUM[5:0] b 

· I2S_RX_BCK_DIV_NUM[5:0]  1

· b I2S0_CLK  BCK  PLL_F160M_CLK   APLL_CLK  6 b

·  I2S  fi2s >= 8 * fBCKb I2S0_CLK  b

26.6 I2S 

I2S  I2S_CONF_REG  · I2S TX/RX  I2S_TX_RESET  I2S_RX_RESET  · I2S TX/RX FIFO I2S_TX_FIFO_RESET  I2S_RX_FIFO_RESET b
 I2S_CONF_REG  I2S_TX_RESET_STaI2S_RX_RESET_STaI2S_TX_FIFO_RESET_ST  I2S_RX_FIFO_RESET_ST 
· 0 · 1b  ·  I2S_TX_RESETaI2S_RX_RESETaI2S_TX_FIFO_RESET  I2S_RX_FIFO_RESET ·  I2S_TX_RESET_STaI2S_RX_RESET_STaI2S_TX_FIFO_RESET_STa
I2S_RX_FIFO_RESET_ST 



656 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)  FIFO  I2S b

GoBack

26.7 I2S /
ESP32-S2 I2S b I2S_CONF_REG  I2S_RX_SLAVE_MOD  I2S_TX_SLAVE_MOD b
· I2S_TX_SLAVE_MOD ­ 0 ­ 1
· I2S_RX_SLAVE_MOD ­ 0 ­ 1

26.7.1 /
·  ­  I2S_CONF_REG  I2S_TX_START b ­ b ­  I2S_TX_STOP_EN  FIFO b ­  I2S_TX_STOP_EN  FIFO  b ­  I2S_TX_START b
·  ­  I2S_TX_STARTb ­  BCK b ­  I2S_TX_STOP_EN  FIFO   BCK b ­  I2S_TX_STOP_EN  FIFO  b I2S_TX_START  BCK b

26.7.2 /
·  ­  I2S_CONF_REG  I2S_RX_START b ­ b ­  I2S_RX_STARTb
· 



657 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)
­  I2S_RX_STARTb ­  BCK b

GoBack

26.8 
 26.4 ESP32-S2 I2S  MSB  b
ESP32-S2 I2S  DMA  I2S  ESP32-S2  EDMA  I2S   RAM bESP32-S2 I2S 
·  TX FIFO
·  TX FIFO  64 bit
·  I2S  LCD  b
 I2S_TX_FIFO_MODaI2S_TX_BITS_MOD[5:0]aI2S_TX_BIG_ENDIANa I2S_TX_MSB_RIGHTaI2S_TX_DMA_EQUALaI2S_TX_CHAN_MOD[2:0]  I2S_TX_RIGHT_FIRST  b
ESP32-S2 I2S  WS  0 WS  1 b ESP32-S2 I2S  D0c/aD1aD2aD3c/ /c D0aD2/c D1aD3b
26.8.1 I2S_TX_DMA_EQUAL = 0 
I2S_TX_DMA_EQUAL = 0  26.8-1 b 26.8-1  Dn cn  0j3 Dn cn  0j3 I2S_TX_BIG_ENDIAN Dncn  0j3 Dn cn  0j3
 I2S_TX_CHAN_MOD[2:0]  TX Data2 single  I2S_CONF_SINGLE_DATA_REG[31:0] bI2S_TX_BITS_MOD[5:0]  8a16a24a32 single   I2S_CONF_SINGLE_DATA_REG[31:0]  8 a 16 a 24 a 32 b
I2S_TX_BIG_ENDIAN b 26.8-1  32a24a16  8  D0  {B3aB2aB1aB0}a{B2aB1aB0}a{B1aB0}  B0 Dn cn  0j3 Dncn  0j3 26.8-1 b



658 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 26.8-1.  I2S_TX_DMA_EQUAL ESP32-S2 I2S 



659 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

 26.8-1. 

I2S_TX_BITS_MOD[5:0] 32 24 16 8

I2S_TX_BIG_ENDIAN 0 1 0 1 0 1 -

Dn {B3aB2aB1aB0} {B0aB1aB2aB3} {B2aB1aB0} {B0aB1aB2} {B1aB0} {B0aB1} B0

GoBack

I2S_TX_MSB_RIGHT bI2S_TX_MSB_RIGHT  I2S_TX_CHAN_MOD[2:0]  bI2S_TX_RIGHT_FIRST  b
 26.8-1 I2S_TX_DMA_EQUAL  26.8-2 b I2S_TX_CHAN_MOD[2:0] = 0  I2S_TX_DMA_EQUAL = 0  26.8-2 b

 26.8-2. I2S_TX_CHAN_MOD[2:0] = 0  I2S_TX_DMA_EQUAL = 0 ESP32-S2 I2S 



660 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 26.8-2. I2S_TX_DMA_EQUAL = 0 

I2S_TX_CHAN_MOD[2:0]  
0
 1
 2
 3
 4

 I2S_TX_MSB_RIGHT = 0  c/ c/b I2S_TX_MSB_RIGHT = 1  //b I2S_TX_MSB_RIGHT = 0 a /b I2S_TX_MSB_RIGHT = 1 a /b I2S_TX_MSB_RIGHT = 0 a /b I2S_TX_MSB_RIGHT = 1 a /b I2S_TX_MSB_RIGHT = 0  single[31:0]/b I2S_TX_MSB_RIGHT = 1  single[31:0]/b I2S_TX_MSB_RIGHT = 0  / single[31:0]b I2S_TX_MSB_RIGHT = 1  / single[31:0]b

26.8.2 I2S_TX_DMA_EQUAL = 1 
I2S_TX_DMA_EQUAL = 1 I2S I2S_TX_MSB_RIGHT b I2S_TX_CHAN_MOD[2:0]  I2S_CONF_SINGLE_DATA_REG[31:0]bESP32-S2 I2S  26.8-3  26.8-3b



661 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 26.8-3. I2S_TX_DMA_EQUAL = 1 ESP32-S2 I2S 

 26.8-3. I2S_TX_DMA_EQUAL = 1 

I2S_TX_CHAN_MOD[2:0] 0/1/2 3 4

   

 ab  single[31:0]b  single[31:0]b



662 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

26.8.3  I2S 
 I2S  1.  26.5 b 2.  26.2-1 b 3.  I2S_CONF2_REG  I2S_LCD_EN  I2S b 4.  I2S_CONF_REG  I2S_TX_SLAVE_MOD  · 0 · 1 5.  26.8  I2S_TX_FIFO_MODaI2S_TX_BITS_MOD[5:0]aI2S_TX_BIG_ENDIANa I2S_TX_MSB_RIGHTaI2S_TX_DMA_EQUALaI2S_TX_CHAN_MOD[2:0]  I2S_TX_RIGHT_FIRST b 6.  I2S_FIFO_CONF_REG  I2S_DSCR_EN  I2S DMAb 7.  26.6  FIFOb 8.  26.12 b 9.  DMA  I2S_OUTLINK_START  DMAb
10.  I2S_TX_STOP_EN 26.7.1b 11. 
·  I2S  I2S_TX_START  ·  I2S_TX_START bI2S  BCK  WS b 12.  8  I2S_TX_IDLE  · 0 · 1b 13.  I2S_TX_STARTb

26.9 
 26.4 ESP32-S2 I2S  MSB  b
ESP32-S2 I2S  WS  0  SD WS  1  SD b ESP32-S2 I2S  D0c/aD1aD2aD3c/ b
 I2S_RX_FIFO_MODaI2S_RX_BITS_MOD[5:0]aI2S_RX_BIG_ENDIANa I2S_RX_MSB_RIGHTaI2S_RX_DMA_EQUALaI2S_RX_CHAN_MOD[1:0]  I2S_RX_RIGHT_FIRST b



663 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

26.9.1 I2S_RX_DMA_EQUAL = 0 
I2S_RX_DMA_EQUAL = 0 I2S RX b  I2S_RX_CHAN_MOD[1:0]  26.9-1 b

 26.9-1. I2S_RX_DMA_EQUAL = 0 ESP32-S2 I2S 
 26.9-1  Dn cn  0j3 Dn cn  0j3 I2S_RX_MSB_RIGHT bDncn  0j3 Dn cn  0j3 I2S_RX_BIG_ENDIAN bI2S_RX_BIG_ENDIAN   26.8-1b  26.9-1  I2S_RX_DMA_EQUAL ESP32-S2 I2S  26.9-2   26.9-1 b



664 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 26.9-2. I2S_RX_DMA_EQUAL = 0 ESP32-S2 I2S 

 26.9-1. I2S_RX_DMA_EQUAL = 0 

I2S_RX_MSB_RIGHT 0
1

 


 I2S_RX_RIGHT_FIRST   ESP32-S2   ESP32-S2 b I2S_RX_RIGHT_FIRST   ESP32-S2   ESP32-S2 b

26.9.2 I2S_RX_DMA_EQUAL = 1 
I2S_RX_DMA_EQUAL = 1 I2S b  26.9-3  26.9-2 b



665 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 26.9-3. I2S_RX_DMA_EQUAL = 1 ESP32-S2 I2S 

 26.9-2.  I2S_RX_DMA_EQUAL = 1 

I2S_RX_MSB_RIGHT 0
1

I2S_RX_CHAN_MOD[2:0] 0/3 1 2 0/3 1 2

      

      

26.9.3  I2S 
 I2S  1.  26.5 b



666 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

2.  26.2-1 b 3.  I2S_CONF2_REG  I2S_LCD_EN  I2S_CAMERA_EN  I2S b 4.  I2S_CONF_REG  I2S_RX_SLAVE_MOD 
· 0 · 1 5.  26.9  I2S_RX_FIFO_MODaI2S_RX_DMA_EQUALaI2S_RX_BITS_MOD[5:0]a I2S_RX_BIG_ENDIANaI2S_RX_MSB_RIGHTaI2S_RX_CHAN_MOD[2:0]  I2S_RX_RIGHT_FIRST b 6.  I2S_FIFO_CONF_REG  I2S_DSCR_EN  I2S DMAb 7.  26.6  FIFOb 8.  26.12 b 9.  DMA  I2S_RXEOF_NUM_REG  I2S_INLINK_START  DMAb 10.  ·  I2S_RX_START  ·  I2S_RX_START BCK  WS b 11.  ESP32-S2 b 8 b

26.10 LCD 

26.10.1 
 26.10-1  LCD LCD  WR  I2S  WS  24  I2S_TX_BITS_MOD[5:0]  8/16/24 bLCD WS  

fWS

=

fi2s W2

W>=1 I2S_SAMPLE_RATE_CONF_REG  I2S_TX_BCK_DIV_NUM[5:0] 

·  I2S_TX_BCK_DIV_NUM[5:0]  0 W  64

·  I2S_TX_BCK_DIV_NUM[5:0]  1 ~ 63 W  I2S_TX_BCK_DIV_NUM[5:0] b



667 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 26.10-1. LCD 

 26.10-2. LCD  1

26.10.2  LCD 
ESP32-S2 I2S  LCD  26.10-2  
1. b 2.  26.2-1  26.10-1 b 3.  I2S_CONF2_REG  I2S_LCD_EN  I2S_CONF_REG 
I2S_TX_SLAVE_MOD  LCD b 4.  I2S_TX_DMA_EQUAL I2S_TX_RIGHT_FIRSTaI2S_LCD_TX_WRX2_ENa
I2S_LCD_TX_SDX2_EN I2S_TX_CHAN_MOD[2:0] b 5.  26.8  I2S_TX_BITS_MOD[5:0]  I2S_TX_BIG_ENDIAN
b 6.  I2S_FIFO_CONF_REG  I2S_DSCR_EN  I2S DMAb 7.  26.6  FIFOb 8.  26.12 b 9.  DMA  I2S_OUTLINK_START  DMAb 10.  LCD  I2S_TX_STARTb 11.  8  I2S_TX_IDLE 
· 0 · 1b 12.  I2S_TX_STARTb  LCD  26.10-3 b 26.10-2   I2S_LCD_TX_SDX2_ENb



668 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 26.10-3. LCD  2
26.11 Camera 
26.11.1 
ESP32-S2 I2S  Camera  camera b I2S  16  I2S0I_Data_in[15:0]  I2S0I_H_SYNCa I2S0I_V_SYNC  I2S0I_H_ENABLE  26.11-1 b

 26.11-1. Camera 
  NN = 8 ~ 16b

26.11.2  Camera 
 Camera  1.  26.5 bI2S  fi2s  I2S0I_WS_in  PLL  2 b 2.  26.2-1  26.11-1 b 3.  I2S_CONF2_REG  I2S_LCD_EN  I2S_CAMERA_EN Camera b 4.  I2S_CONF_REG  I2S_RX_SLAVE_MODb 5.  I2S_RX_DMA_EQUAL 26.9  I2S_RX_BITS_MOD[5:0]a I2S_RX_BIG_ENDIANaI2S_RX_MSB_RIGHTaI2S_RX_CHAN_MOD[2:0]  I2S_RX_RIGHT_FIRST b



669 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

6.  I2S_FIFO_CONF_REG  I2S_DSCR_EN b 7.  26.6  FIFOb 8.  26.12 b 9.  DMA  I2S_RXEOF_NUM_REG  I2S_INLINK_START
 DMAb 10.  I2S_RX_START transmission_start b 11.  ESP32-S2 b 8 b  Camera  I2S0I_V_SYNC  I2S0I_H_SYNC  I2S0I_H_ENABLE  I2S0I_V_SYNC Camera  I2S 
transmission_start = ((I2S0I_V _SY N C == 0)&&(I2S0I_H_SY N C == 1)&&(I2S0I_H_EN ABLE == 1)

 transmission_start  GPIO  b 5 IO MUX  GPIO b  I2S0I_V_SYNC  I2S_VSYNC_FILTER_EN  I2S0I_V_SYNC  b I2S_VSYNC_FILTER_THRES  PCLK  b b I2S0I_V_SYNC  I2S_VSYNC_FILTER_THRES  PCLK b Camera  I2S0I_V_SYNC  8  PCLK  I2S  I2S0I_V_SYNC b
26.12 I2S 
26.12.1 FIFO 
· I2S_TX_HUNG_INTb · I2S_RX_HUNG_INTb · I2S_TX_REMPTY_INT FIFO b · I2S_TX_WFULL_INT FIFO b · I2S_RX_REMPTY_INT FIFO b · I2S_RX_WFULL_INT FIFO b · I2S_TX_PUT_DATA_INT FIFO  I2S_TX_DATA_NUM[5:0] c
b · I2S_RX_TAKE_DATA_INT FIFO  I2S_RX_DATA_NUM[5:0] c
b · I2S_V_SYNC_INT transmission_start  I2S0I_V_SYNC 
b



670 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)
26.12.2 DMA 
· I2S_OUT_TOTAL_EOF_INT: b · I2S_IN_DSCR_EMPTY_INT: b · I2S_OUT_DSCR_ERR_INT: b · I2S_IN_DSCR_ERR_INT: b · I2S_OUT_EOF_INT: b · I2S_OUT_DONE_INT: b · I2S_IN_SUC_EOF_INT: b · I2S_IN_DONE_INT: b

26.13 

 I2S  26.13-1 b

 26.13-1. ESP32-S2 I2S 

 PeriBUS1 PeriBUS2

 0x3F40F000 0x6000F000

GoBack

26.14 
  I2S_CONF_REG I2S_FIFO_CONF_REG I2S_CONF_SIGLE_DATA_REG I2S_CONF_CHAN_REG I2S_LC_HUNG_CONF_REG I2S_CONF1 _REG I2S_PD_CONF_REG I2S_CONF2_REG  I2S_INT_RAW_REG I2S_INT_ST_REG I2S_INT_ENA_REG I2S_INT_CLR_REG  I2S_TIMING_REG DMA 



I2S  I2S FIFO   I2S  I2S Hung  I2S  1 I2S  I2S  2
   
I2S 
671 





0x0008 0x0020 0x0028 0x002C 0x0074 0x00A0 0x00A4 0x00A8

 / / / / / / /

0x000C 0x0010 0x0014 0x0018

  / 

0x001C /

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

 I2S_RXEOF_NUM_REG I2S_OUT_LINK_REG I2S_IN_LINK_REG I2S_OUT_EOF_DES_ADDR_REG I2S_IN_EOF_DES_ADDR_REG I2S_OUT_EOF_BFR_DES_ADDR_REG I2S_INLINK_DSCR_REG I2S_INLINK_DSCR_BF0_REG I2S_INLINK_DSCR_BF1_REG I2S_OUTLINK_DSCR_REG I2S_OUTLINK_DSCR_BF0_REG I2S_OUTLINK_DSCR_BF1_REG I2S_LC_CONF_REG DMA  I2S_LC_STATE0_REG I2S_LC_STATE1_REG I2S_STATE_REG  I2S_CLKM_CONF_REG I2S_SAMPLE_RATE_CONF_REG  I2S_DATE_REG

 I2S DMA RX EOF  I2S DMA TX  I2S DMA RX   EOF   EOF   EOF        I2S DMA 
I2S DMA TX  I2S DMA RX  I2S TX 
I2S  I2S 


 0x0024 0x0030 0x0034 0x0038 0x003C 0x0040 0x0048 0x004C 0x0050 0x0054 0x0058 0x005C 0x0060

 / / /          /

0x006C 0x0070 0x00BC

  

0x00AC / 0x00B0 /

0x00FC /



672 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)
26.15 

GoBack

Register 26.1. I2S_CONF_REG (0x0008)
(reservedI2)S_RIX2_SR_ERISX2E_STB__TIGSIX2_T_SEB_NIPGDIR2_IAESEN__NRRDIEX2IAQ_SND__TEMIXN2A_S_D_EMTQ(XArU_e_ARsELeEQrS(vUrEeeATsdL_e)SrIv2TeSd_)SII2GS__LROIX2O_SPL_BSTAIXB2C__SKLF_SIRRBIX2S__TSFM__ITRDSIXSM2B_TS_AM__RDSRIIGMBX2H__SATMR_TIOGIX2NH_SOTM_ORIX2N_SOS_THIXO2_SRST_H_ROISX2RY_STNM__TCSSIX2BY_S_NM_SCSRHIBX2IF__STRS_TIHGIXI2HF_STTR__IGRFIX2HIR_STSS__TTLFIXAI2RV_SSES_T_LRAMIX2VO_SESD__TTMAIX2RO_STSD_TRAIX2R_STF_TIFIX2O_S_F_RIFREIOX2S__SERR_TTEEXSS_EERTTESET
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 Reset
I2S_TX_RESET  1bc I2S_RX_RESET  1bc I2S_TX_FIFO_RESET  1 TX FIFObc I2S_RX_FIFO_RESET  1 RX FIFObc I2S_TX_START  1bc/ I2S_RX_START  1bc/ I2S_TX_SLAVE_MOD  1bc/ I2S_RX_SLAVE_MOD  1bc/ I2S_TX_RIGHT_FIRST  1bc/ I2S_RX_RIGHT_FIRST  1bc/ I2S_TX_MSB_SHIFT  1 Phillips bc/ I2S_RX_MSB_SHIFT  1 Phillips bc/ I2S_TX_SHORT_SYNC  1 PCM bc/ I2S_RX_SHORT_SYNC  1 PCM bc/ I2S_TX_MONO  1bc/ I2S_RX_MONO  1bc/ I2S_TX_MSB_RIGHT  1  TX FIFO bc/ I2S_RX_MSB_RIGHT  1  RX FIFO bc/ I2S_SIG_LOOPBACK  1  WS  BCK bc/ 



673 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

Register 26.1. I2S_CONF_REG (0x0008)

GoBack


I2S_TX_FIFO_RESET_ST I2S TX FIFO    b1I2S_TX_FIFO_RESET   b0 I2S_TX_FIFO_RESET bc
I2S_RX_FIFO_RESET_ST I2S RX FIFO    b1I2S_RX_FIFO_RESET   b0 I2S_RX_FIFO_RESET bc
I2S_TX_RESET_ST I2S TX b1I2S_TX_RESET b0I2S_TX_RESET bc 
I2S_TX_DMA_EQUAL 1b0 bc/
I2S_RX_DMA_EQUAL 1b0 bc/
I2S_PRE_REQ_EN I2S bc/
I2S_TX_BIG_ENDIAN I2S TX bc/
I2S_RX_BIG_ENDIAN I2S RX bc/
I2S_RX_RESET_ST I2S RX b1I2S_RX_RESET b0I2S_RX_RESET bc 



674 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.2. I2S_FIFO_CONF_REG (0x0020)

(reserved)

I2S_RIX2_SF_TIFXO__FMIFOIO2D_S_M_FROOXDR__CFFIEFO_ORE_CNME_OI2EDSN_TX_FIFIO2_SM_DOSDCR_EN

I2S_RX_DATA_NUM

31

21 20 19 18

16 15

13 12 11

65

0 0 0 0 0 0 0 0 0 0 00 0

0

0

1

32

I2S_RX_DATA_NUM
0

32

Reset

I2S_RX_DATA_NUM  FIFO  I2S_RX_DATA_NUM[5:0] c  I2S_RX_TAKE_DATA_INT bc/
I2S_TX_DATA_NUM  FIFO  I2S_TX_DATA_NUM[5:0] c  I2S_TX_PUT_DATA_INT bc/
I2S_DSCR_EN  I2S DMA bc/
I2S_TX_FIFO_MOD  TX FIFO b 08/16 bit  18/16 bit  224/32 bit  324/32 bit  4-7    TX FIFO                I2S_TX_BITS_MOD    a I2S_TX_CHAN_MOD / 26.8.3b
c/
I2S_RX_FIFO_MOD  RX FIFO b 08/16 bit  18/16 bit  224/32 bit  324/32 bit  4-7   RX FIFO               I2S_RX_BITS_MOD    a I2S_RX_CHAN_MOD / 26.9.3b
c/
I2S_TX_FIFO_MOD_FORCE_EN  1bc/
I2S_RX_FIFO_MOD_FORCE_EN  1bc/



675 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.3. I2S_CONF_SIGLE_DATA_REG (0x0028)

I2S_SIGLE_DATA

31

0

0

Reset

I2S_SIGLE_DATA  TX_CHAN_MOD  I2S_TX_MSB_RIGHT  bc/

Register 26.4. I2S_CONF_CHAN_REG (0x002C)

(reserved)

I2S_RX_CHANI_2SM_OTDX_CHAN_MOD

31

54

32

0

000000000000000000000000000 0

0

Reset

I2S_TX_CHAN_MOD I2S bc/ I2S_RX_CHAN_MOD I2S bc/

Register 26.5. I2S_LC_HUNG_CONF_REG (0x0074)

(reserved)

I2S_LC_FIFI2OS_T_ILMCE_OFUIFTO__ETNIMAEOUT_SHIFTI2S_LC_FIFO_TIMEOUT

31

12 11 10

87

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 01

0

0x10

Reset

I2S_LC_FIFO_TIMEOUT FIFO hung  I2S_TX_HUNG_INT  I2S_RX_HUNG_INT bc/
I2S_LC_FIFO_TIMEOUT_SHIFT b APB_CLKb  88000/2I2S_LC_F IF O_T IMEOUT _SHIF T bc/
I2S_LC_FIFO_TIMEOUT_ENA FIFO bc/



676 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.6. I2S_CONF1 _REG (0x00A0)

(reserved)

I2S_TX_STOP_EN

(reserved)

31

987

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

I2S_TX_STOP_EN  1 TX FIFO  BCK  WS bc/

Register 26.7. I2S_PD_CONF_REG (0x00A4)

(reserved)

I2S_DI2MSA__DRI2MASMA___DRIC2MALSMAK____PRFIFL2AOOCSMR__C_MPIFEL2EO_CSMPR___UCMFFIEI2EFO_SMORP__C_DFFFEIOFO_ORPRC_CUFEEO__PRPCUDE_PD

31

76 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 Reset

I2S_FIFO_FORCE_PD FIFO bc/ I2S_FIFO_FORCE_PU FIFO bc/ I2S_PLC_MEM_FORCE_PD I2S bc/ I2S_PLC_MEM_FORCE_PU I2S bc/ I2S_DMA_RAM_FORCE_PD DMA FIFO bc/ I2S_DMA_RAM_FORCE_PU DMA FIFO bc/ I2S_DMA_RAM_CLK_FO  DMA RAM bc/



677 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.8. I2S_CONF2_REG (0x00A8)

(reserved)

I2S_VSYNCI_2FSI_LTVIES2RYSN__TCCHI_A2RFMSEI_LS_TCCIEA2LRMSK____EILSNN(OYrTeONEsPCReB__rIv2VAFeASCIdFL_KO)ILD_C_RDEE(_NrSeEEsNeTrvedI2)S_LIC2DS__TLIXC2_DSS__DTCXXA2_MW_EERRNXA2__EENN

31

14 13

11 10 9 8 7 6 5 4

32 1 0

000000000000000000

0

0 0 0 0 0 0 0 0 0 0 0 Reset

I2S_CAMERA_EN  camera bc/ I2S_LCD_TX_WRX2_EN LCD bc/ I2S_LCD_TX_SDX2_EN  LCD cForm 2bc/ I2S_LCD_EN  LCD bc/ I2S_INTER_VALID_EN  Camera  4  2 
 Camera VGA bc/ I2S_CAM_SYNC_FIFO_RESET  Camera  FIFObc/ I2S_CAM_CLK_LOOPBACK  I2S0I_WS_out  PCLKbc/ I2S_VSYNC_FILTER_EN  I2S VSYNC bc/ I2S_VSYNC_FILTER_THRES  I2S VSYNC bc/



678 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.9. I2S_INT_RAW_REG (0x000C)

(reserved)

I2S_VI_2SSY_NOIC2U_STI__NTITNIO2__TSRDA_ALSOW_CI2UERSTO___FEID_NMI2SI_NPSCDTT_RS_YO_CIR_2UERAISRTN_W__RTEOE__R(OUIrRNReFTA_sT__WeI_NIDrNRIv2TOTAe_SN_WdR_ER)AI_NAIW2IW_NSST_U_INCIR2__ASDEW_OOTIFXN2__ESIH_N_UIRTNIN_X2TG_RS_H_A_RTWIUANIX2NWT_SG_R__RETIAMINX2W_TPSW_T_RFYRIAU_X2WIL_SNLR_T_ER_IIMNX2R_TSPAW__WTTRFYIXAU2__WSILNPL_TU_R_TIXNR__TADT_WAARKTAAEW__IDNATT_AR_AINWT_RAW

31

18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

I2S_RX_TAKE_DATA_INT_RAW I2S_RX_TAKE_DATA_INT bc I2S_TX_PUT_DATA_INT_RAW I2S_TX_PUT_DATA_INT c I2S_RX_WFULL_INT_RAW I2S_RX_WFULL_INT c I2S_RX_REMPTY_INT_RAW I2S_RX_REMPTY_INT c I2S_TX_WFULL_INT_RAW I2S_TX_WFULL_INT c I2S_TX_REMPTY_INT_RAW I2S_TX_REMPTY_INT c I2S_RX_HUNG_INT_RAW I2S_RX_HUNG_INT c I2S_TX_HUNG_INT_RAW I2S_TX_HUNG_INT c I2S_IN_DONE_INT_RAW I2S_IN_DONE_INT c I2S_IN_SUC_EOF_INT_RAW I2S_IN_SUC_EOF_INT c I2S_OUT_DONE_INT_RAW I2S_OUT_DONE_INT c I2S_OUT_EOF_INT_RAW I2S_OUT_EOF_INT c I2S_IN_DSCR_ERR_INT_RAW I2S_IN_DSCR_ERR_INT c I2S_OUT_DSCR_ERR_INT_RAW I2S_OUT_DSCR_ERR_INT c I2S_IN_DSCR_EMPTY_INT_RAW I2S_IN_DSCR_EMPTY_INT c I2S_OUT_TOTAL_EOF_INT_RAW I2S_OUT_TOTAL_EOF_INT c I2S_V_SYNC_INT_RAW I2S_V_SYNC_INT c



679 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.10. I2S_INT_ST_REG (0x0010)

(reserved)

I2S_VI_2SSY_NOIC2U_STI__NTITNIO2__TSSDA_TLSO_CI2UERSTO___FEID_NMI2SI_NPSCDTT_RS_YO_CIS_2UETRISRTN___RTEOE__R(OUISrNReFTT_sT__eI_NIDrNSIv2TOTTe_SN_dS_ES)TI_TNI2I_NSST_U_INCIS2__TSDE_OOTIFXN2__ESIH_N_UIRTNIN_X2TG_SS_TH__STIUTNIX2NT_SG_R__SETITMINX2_TPSW_T_SFYRTIU_X2IL_SNLR_T_ER_IIMNX2S_TSTPW__TTSFYIXTU2__SILNPL_TU_R_TIXNS__TTDT_AASKTTAE__IDNATT_AS_TINT_ST

31

18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

I2S_RX_TAKE_DATA_INT_ST I2S_RX_TAKE_DATA_INT c I2S_TX_PUT_DATA_INT_ST I2S_TX_PUT_DATA_INT c I2S_RX_WFULL_INT_ST I2S_RX_WFULL_INT c I2S_RX_REMPTY_INT_ST I2S_RX_REMPTY_INT c I2S_TX_WFULL_INT_ST I2S_TX_WFULL_INT c I2S_TX_REMPTY_INT_ST I2S_TX_REMPTY_INT c I2S_RX_HUNG_INT_ST I2S_RX_HUNG_INT c I2S_TX_HUNG_INT_ST I2S_TX_HUNG_INT c I2S_IN_DONE_INT_ST I2S_IN_DONE_INT c I2S_IN_SUC_EOF_INT_ST I2S_IN_SUC_EOF_INT c I2S_OUT_DONE_INT_ST I2S_OUT_DONE_INT c I2S_OUT_EOF_INT_ST I2S_OUT_EOF_INT c I2S_IN_DSCR_ERR_INT_ST I2S_IN_DSCR_ERR_INT c I2S_OUT_DSCR_ERR_INT_ST I2S_OUT_DSCR_ERR_INT c I2S_IN_DSCR_EMPTY_INT_ST I2S_IN_DSCR_EMPTY_INT c I2S_OUT_TOTAL_EOF_INT_ST I2S_OUT_TOTAL_EOF_INT c I2S_V_SYNC_INT_ST I2S_V_SYNC_INT c



680 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.11. I2S_INT_ENA_REG (0x0014)

(reserved)

I2S_VI_2SSY_NOIC2U_STI__NTITNIO2__TSEDA_NLSOA_CI2UERSTO___FEID_NMI2SI_NPSCDTT_RS_YO_CIE_2UERNISRTN_A__RTEOE__R(OUIrENReFTN_sT__AeI_NIDrNEIv2TONTe_SN_AdE_EE)NI_NNIA2IA_NSST_U_INCIE2__NSDEA_OOTIFXN2__ESIH_N_UIRTNIN_X2TG_ES_HN__ETIUANNIX2NAT_SG_R__EETINMNIX2A_TPSW_T_EFYRNIU_X2AIL_SNLR_T_ER_IIMNX2E_TSNPW__TATEFYIXNU2__ASILNPL_TU_R_TIXNE__TNDT_AAAEKTNAE__AIDNATT_AE_NINAT_ENA

31

18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

I2S_RX_TAKE_DATA_INT_ENA I2S_RX_TAKE_DATA_INTbc/ I2S_TX_PUT_DATA_INT_ENA I2S_TX_PUT_DATA_INT bc/ I2S_RX_WFULL_INT_ENA I2S_RX_WFULL_INT bc/ I2S_RX_REMPTY_INT_ENA I2S_RX_REMPTY_INT bc/ I2S_TX_WFULL_INT_ENA I2S_TX_WFULL_INT bc/ I2S_TX_REMPTY_INT_ENA I2S_TX_REMPTY_INT bc/ I2S_RX_HUNG_INT_ENA I2S_RX_HUNG_INT bc/ I2S_TX_HUNG_INT_ENA I2S_TX_HUNG_INT bc/ I2S_IN_DONE_INT_ENA I2S_IN_DONE_INT bc/ I2S_IN_SUC_EOF_INT_ENA I2S_IN_SUC_EOF_INT bc/ I2S_OUT_DONE_INT_ENA I2S_OUT_DONE_INT bc/ I2S_OUT_EOF_INT_ENA I2S_OUT_EOF_INT bc/ I2S_IN_DSCR_ERR_INT_ENA I2S_IN_DSCR_ERR_INT bc/ I2S_OUT_DSCR_ERR_INT_ENA I2S_OUT_DSCR_ERR_INT bc/ I2S_IN_DSCR_EMPTY_INT_ENA I2S_IN_DSCR_EMPTY_INT bc/ I2S_OUT_TOTAL_EOF_INT_ENA I2S_OUT_TOTAL_EOF_INT bc/ I2S_V_SYNC_INT_ENA I2S_V_SYNC_INT bc/



681 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.12. I2S_INT_CLR_REG (0x0018)

(reserved)

I2S_VI_2SSY_NOIC2U_STI__NTITNIO2__TSCDA_LLSOR_CI2UERSTO___FEID_NMI2SI_NPSCDTT_RS_YO_CIC_2UERLISRTNR___RTEOE__R(OUICrNReFTL_sT__ReI_NIDrNCIv2TOTLe_SNR_dC_EC)LI_NLIR2IR_NSST_U_INCIC2__LSDER_OOTIFXN2__ESIH_N_UIRTNIN_X2TG_CS_H__LCTRIULNIXR2NT_SG_R__CETILMINX2R_TPSW_T_CFYRILU_X2RIL_SNLR_T_ER_IIMNX2C_TSPLW__RTCPFYILUU2_RSITLNL__TT_D_AIANCKTTELA_R__CDINLARTTA__CILNRT_CLR

31

18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

I2S_TAKE_DATA_INT_CLR I2S_RX_TAKE_DATA_INT bc I2S_PUT_DATA_INT_CLR I2S_TX_PUT_DATA_INT bc I2S_RX_WFULL_INT_CLR I2S_RX_WFULL_INT bc I2S_RX_REMPTY_INT_CLR I2S_RX_REMPTY_INT bc I2S_TX_WFULL_INT_CLR I2S_TX_WFULL_INT bc I2S_TX_REMPTY_INT_CLR I2S_TX_REMPTY_INT bc I2S_RX_HUNG_INT_CLR I2S_RX_HUNG_INT bc I2S_TX_HUNG_INT_CLR I2S_TX_HUNG_INT bc I2S_IN_DONE_INT_CLR I2S_IN_DONE_INT bc I2S_IN_SUC_EOF_INT_CLR I2S_IN_SUC_EOF_INT bc I2S_OUT_DONE_INT_CLR I2S_OUT_DONE_INT bc I2S_OUT_EOF_INT_CLR I2S_OUT_EOF_INT bc I2S_IN_DSCR_ERR_INT_CLR I2S_IN_DSCR_ERR_INT bc I2S_OUT_DSCR_ERR_INT_CLR I2S_OUT_DSCR_ERR_INT bc I2S_IN_DSCR_EMPTY_INT_CLR I2S_IN_DSCR_EMPTY_INT bc I2S_OUT_TOTAL_EOF_INT_CLR I2S_OUT_TOTAL_EOF_INT bc I2S_V_SYNC_INT_CLR I2S_V_SYNC_INT bc



682 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.13. I2S_TIMING_REG (0x001C)

(reserved)

I2S_TX_BI2CSK__DIANT_AI2IN_SEV_NRAIX2B_SLD_ETS_XYD_NEDIC2LS_SAYS_YNWRCX__SBWCIK2_SO_RUXT__WDSEI2L_AOSY_UTTX__DSEDL_I2AOYSU_TT_X_DWELSAI_2YOSU_TTX__DBECLIKA2Y_SO_URTX__DSDEIL_2AISNY__RDXE_LWASYI2_SIN__RDXE_LBACYIK2_SI_NT_XD_WELSAI_2YISN__TDXE_LBACYK_IN_DELAY

31

25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9

87

65

43

21

0

0 0 0 0 0 0 00 0 0 0 0

0

0

0

0

0

0

0

0

0 Reset

I2S_TX_BCK_IN_DELAY BCK I2S0_CLKbc/

· 0 1.5 

· 1 2.5 

· 2 3.5 

· 3 4.5 b

I2S_TX_WS_IN_DELAY WS I2S0_CLKbc/

· 0 1.5 

· 1 2.5 

· 2 3.5 

· 3 4.5 b

I2S_RX_BCK_IN_DELAY BCK I2S0_CLKbc/

· 0 1.5 

· 1 2.5 

· 2 3.5 

· 3 4.5 b

I2S_RX_WS_IN_DELAY WS I2S0_CLKbc/

· 0 1.5 

· 1 2.5 

· 2 3.5 

· 3 4.5 b

I2S_RX_SD_IN_DELAY SD I2S0_CLKbc/

· 0 1.5 

· 1 2.5 

· 2 3.5 

· 3 4.5 b



683 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

Register 26.13. I2S_TIMING_REG (0x001C)

GoBack

 I2S_TX_BCK_OUT_DELAY BCK I2S0_CLKbc/
· 0 0  · 1 1  · 2 2  · 3 3 b I2S_TX_WS_OUT_DELAY WS I2S0_CLKbc/ · 0 0  · 1 1  · 2 2  · 3 3 b I2S_TX_SD_OUT_DELAY SD I2S0_CLKbc/ · 0 0  · 1 1  · 2 2  · 3 3 b I2S_RX_WS_OUT_DELAY WS I2S0_CLKbc/ · 0 0  · 1 1  · 2 2  · 3 3 b I2S_RX_BCK_OUT_DELAY BCK I2S0_CLKbc/ · 0 0  · 1 1  · 2 2  · 3 3 b 



684 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

Register 26.13. I2S_TIMING_REG (0x001C)

GoBack

 I2S_TX_DSYNC_SW  1 (two flip-flop synchronizer) 
bc/ · 0 · 1b
I2S_RX_DSYNC_SW  1 (two flip-flop synchronizer)  bc/ · 0 · 1b
I2S_DATA_ENABLE_DELAY I2S0_CLKbc/ · 0 1.5  · 1 2.5  · 2 3.5  · 3 4.5 b
I2S_TX_BCK_IN_INV  1 BCK bc/

Register 26.14. I2S_RXEOF_NUM_REG (0x0024)

I2S_RX_EOF_NUM

31

0

64

Reset

I2S_RX_EOF_NUM  I2S_RX_EOF_NUM[31:0]   I2S_IN_SUC_EOF_INT bc/



685 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

Register 26.15. I2S_OUT_LINK_REG (0x0030)

(reserIv2eSd_)OI2UST_LOINI2UKST__LROINEUSKTT_ALSIRTNTAKR_TSTOP
31 30 29 28 27

(reserved)

20 19

0 0 0 00 0 0 0 0 0 0 0

I2S_OUTLINK_ADDR 0x000

I2S_OUTLINK_ADDR bc/ I2S_OUTLINK_STOP bc/ I2S_OUTLINK_START bc/ I2S_OUTLINK_RESTART  1bc/

Register 26.16. I2S_IN_LINK_REG (0x0034)

(reserIv2eSd_)INI2LSIN_KINI_2LRSINE_SKINT_ALSIRTNTAKR_TSTOP
31 30 29 28 27

(reserved)

20 19

0 0 0 00 0 0 0 0 0 0 0

I2S_INLINK_ADDR 0x000

I2S_INLINK_ADDR bc/ I2S_INLINK_STOP bc/ I2S_INLINK_START bc/ I2S_INLINK_RESTART bc/

Register 26.17. I2S_OUT_EOF_DES_ADDR_REG (0x0038)
I2S_OUT_EOF_DES_ADDR
31
0x000000
I2S_OUT_EOF_DES_ADDR  EOF bc

GoBack
0
Reset
0
Reset
0
Reset



686 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)
Register 26.18. I2S_IN_EOF_DES_ADDR_REG (0x003C)
I2S_IN_SUC_EOF_DES_ADDR
31
0x000000
I2S_IN_SUC_EOF_DES_ADDR  EOF bc

GoBack
0
Reset

Register 26.19. I2S_OUT_EOF_BFR_DES_ADDR_REG (0x0040)
I2S_OUT_EOF_BFR_DES_ADDR
31
0x000000
I2S_OUT_EOF_BFR_DES_ADDR  EOF bc

0
Reset

Register 26.20. I2S_INLINK_DSCR_REG (0x0048)
I2S_INLINK_DSCR
31
0
I2S_INLINK_DSCR c

0
Reset



687 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)
Register 26.21. I2S_INLINK_DSCR_BF0_REG (0x004C)
I2S_INLINK_DSCR_BF0
31
0
I2S_INLINK_DSCR_BF0 c

GoBack
0
Reset

Register 26.22. I2S_INLINK_DSCR_BF1_REG (0x0050)
I2S_INLINK_DSCR_BF1
31
0
I2S_INLINK_DSCR_BF1 c

0
Reset

Register 26.23. I2S_OUTLINK_DSCR_REG (0x0054)
I2S_OUTLINK_DSCR
31
0
I2S_OUTLINK_DSCR c

0
Reset

Register 26.24. I2S_OUTLINK_DSCR_BF0_REG (0x0058)
I2S_OUTLINK_DSCR_BF0
31
0
I2S_OUTLINK_DSCR_BF0 c

0
Reset



688 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)
Register 26.25. I2S_OUTLINK_DSCR_BF1_REG (0x005C)
I2S_OUTLINK_DSCR_BF1
31
0
I2S_OUTLINK_DSCR_BF1 c

GoBack
0
Reset



689 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.26. I2S_LC_CONF_REG (0x0060)

(reserved)

I2S_EXTI_2MS_EMMI2E_SMB_K_CT_IH2RSSEAIZC_NEOKSI_2U_OSTE_W_NIDNNI2ADETSRSA_C_ORIB2U_USTBR_DUSOS(TRUCr_eSTRsTE__eN_EBrEIvO2UNeSFRd__S)OMTI2U_OSTED__NEIANIU2_STLO_OO_OIW2UPSTR___TBALEAIOH2SCOSBTK_MPA__ITH2RESBSS_MTTO_I2UFSTIF__OIRN_S_RTRSSTT

31

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 Reset

I2S_IN_RST  DMA  in-DMA FSMbc/ I2S_OUT_RST  DMA  out-DMA FSMbc/ I2S_AHBM_FIFO_RST  DMA  DMA  AHB  cmdFIFObc/ I2S_AHBM_RST  DMA  DMA  AHB bc/ I2S_OUT_LOOP_TEST bc/ I2S_IN_LOOP_TEST bc/ I2S_OUT_AUTO_WRBACK  1 buffer 
bc/ I2S_OUT_EOF_MODE  DMA out EOF b1DMA  FIFO 
b0AHB  FIFO bc/ I2S_OUTDSCR_BURST_EN  DMA b1 burst 
b0bc/ I2S_INDSCR_BURST_EN  DMA b1 burst 
 0bc/ I2S_OUT_DATA_BURST_EN b1 burst  0
bc/ I2S_CHECK_OWNER  owner bitbc/ I2S_MEM_TRANS_EN bc/ I2S_EXT_MEM_BK_SIZE DMA b016 b132 b264 b3
bc/



690 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

Register 26.27. I2S_LC_STATE0_REG (0x006C)

I2S_OI2UST__OEMUTP_TFYULL
31 30 29
00

I2S_OUTFIFO_CNT
23 22

I2S_OUT_STATI2ES_OUT_DSCR_STATE
20 19 18 17

0

0

0

I2S_OUTLINK_DSCR_ADDR 0x000

I2S_OUTLINK_DSCR_ADDR I2S DMA bc I2S_OUT_DSCR_STATE I2S DMA bc I2S_OUT_STATE I2S DMA bc I2S_OUTFIFO_CNT I2S DMA outFIFO bc I2S_OUT_FULL I2S DMA outFIFO bc I2S_OUT_EMPTY I2S DMA outFIFO bc

GoBack
0
Reset

I2S_INI2_SE_MINP_TFYULL
31 30 29
00

Register 26.28. I2S_LC_STATE1_REG (0x0070)

I2S_INFIFO_CNT_DEBUG I2S_IN_STATEI2S_IN_DSCR_STATE

23 22

20 19 18 17

0

0

0

I2S_INLINK_DSCR_ADDR 0x000

I2S_INLINK_DSCR_ADDR I2S DMA bc I2S_IN_DSCR_STATE I2S DMA bc I2S_IN_STATE I2S DMA bc I2S_INFIFO_CNT_DEBUG I2S DMA inFIFO bc I2S_IN_FULL I2S DMA inFIFO bc I2S_IN_EMPTY I2S DMA inFIFO bc

0
Reset



691 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)

GoBack

Register 26.29. I2S_STATE_REG (0x00BC)

(reserved)

I2S_TX_IDLE

31

10

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

I2S_TX_IDLE 1I2S TX b0I2S TX bc

Register 26.30. I2S_CLKM_CONF_REG (0x00AC)

(reserved)

I2S_CLKI_2SSE_LCLK_EN

I2S_CLKM_DIV_A

31

23 22 21 20 19

14 13

000000000 0 0

0x0

I2S_CLKM_DIV_B
87
0x0

I2S_CLKM_DIV_NUM
0

4

Reset

I2S_CLKM_DIV_NUM I2S bc/ I2S_CLKM_DIV_B bc/ I2S_CLKM_DIV_A bc/ I2S_CLK_EN bc/ I2S_CLK_SEL  I2S b0 I2S b1 APLL_CLKb
2 PLL_160M_CLKb3 I2S bc/

Register 26.31. I2S_SAMPLE_RATE_CONF_REG (0x00B0)

(reserved)

31

24 23

00000000

I2S_RX_BITS_MOD
18 17
16

I2S_TX_BITS_MOD
12 11
16

I2S_RX_BCK_DIV_NUM
65
6

I2S_TX_BCK_DIV_NUM
0

6

Reset

I2S_TX_BCK_DIV_NUM  BCK bc/
I2S_RX_BCK_DIV_NUM  BCK bc/
I2S_TX_BITS_MOD  8a16a24a32 8a16a24a32  bc/
I2S_RX_BITS_MOD  8a16a24a32 8a16a24a32 bc/



692 

ESP32-S2 TRM ( 1.3)

 26  I2S  (I2S)
Register 26.32. I2S_DATE_REG (0x00FC)
I2S_DATE
31
0x19052500
I2S_DATE c/

GoBack
0
Reset



693 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)

GoBack

 27 
 (PCNT)
 (Pulse Count Controller, PCNT)  bPCNT op b n  0~ 3 b cch0  ch1b 0 (ch0) b  27.0-1 
1. c ctrl_ch0_un  ch0  2. c sig_ch0_un  ch0 

 27.0-1. PCNT 

27.1 
PCNT  · c ·  · c sig_ch0_unc ctrl_ch0_un · csig_ch0_un  sig_ch1_un cctrl_ch0_un  ctrl_ch1_un



694 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)
·  1.  2. ab
· 40 MHz
27.2 

GoBack

 27.2-1. PCNT 
 27.2-1  PCNT bctrl_ch0_un  ch0  ctrl_ch0_un  sig_ch0_un b 
·  sig_ch0_un  pulse_cnt  1bpulse_cnt  PCNT_CNT_H_LIM_Un b pulse_cnt  PCNT_CNT_H_LIM_Un   PCNT_CNT_PAUSE_Un pulse_cnt b
·  sig_ch0_un  pulse_cnt  1bpulse_cnt  PCNT_CNT_L_LIM_Un b pulse_cnt  PCNT_CNT_H_LIM_Un   PCNT_CNT_PAUSE_Un  pulse_cnt b
·  pulse_cnt b
 27.2-1  27.2-4  0 b



695 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)

 27.2-1. 

PCNT_CH0_POS_MODE_Un 1
2 

PCNT_CH0_LCTRL_MODE_Un 0 1  0 1  N/A

       

GoBack

 27.2-2. 

PCNT_CH0_POS_MODE_Un 1
2 

PCNT_CH0_HCTRL_MODE_Un 0 1  0 1  N/A

       

 27.2-3. 

PCNT_CH0_NEG_MODE_Un 1
2 

PCNT_CH0_LCTRL_MODE_Un 0 1  0 1  N/A

       

 27.2-4. 

PCNT_CH0_NEG_MODE_Un 1
2 

PCNT_CH0_HCTRL_MODE_Un 0 1  0 1  N/A

       

b PCNT_FILTER_EN_Un 



696 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)

GoBack

b PCNT_FILTER_THRES_Un  APB b
 0  1  inc_dec  b adder badder  16 b  PCNT_CNT_PAUSE_Un  adder PCNT_PULSE_CNT_RST_Un  adderb
PCNT  b
· :  pulse_cnt  PCNT_CNT_H_LIM_Un  PCNT_CNT_THR_H_LIM_LAT_Un b
· :  pulse_cnt  PCNT_CNT_L_LIM_Un  PCNT_CNT_THR_L_LIM_LAT_Un b
· :  pulse_cnt  PCNT_CNT_THRES0_Un  PCNT_CNT_THRES1_Un   PCNT_CNT_THR_THRES0_LAT_Un  PCNT_CNT_THR_THRES1_LAT_Un b
· :  pulse_cnt  0  PCNT_CNT_THR_ZERO_LAT_Un b

27.3 
 0  1 b 0 a 0  bc 1 a b
27.3.1  0 

 27.3-1.  0 
 27.3-1  0  sig_ch0_un  1 c 27.2   1b 0 b
· PCNT_CH0_LCTRL_MODE_Un=0 ctrl_ch0_un b · PCNT_CH0_HCTRL_MODE_Un=2 ctrl_ch0_un b · PCNT_CH0_POS_MODE_Un=1 sig_ch0_un b · PCNT_CH0_NEG_MODE_Un=0 sig_ch0_un b · PCNT_CNT_H_LIM_Un=5pulse_cnt  PCNT_CNT_H_LIM_Un b



697 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)
27.3.2  0 

GoBack

 27.3-2.  0   27.3-2  0  sig_ch0_un  1 b 0  27.3-1 
· PCNT_CH0_POS_MODE_Un=2 sig_ch0_un b · PCNT_CNT_L_LIM_Un=-5pulse_cnt  PCNT_CNT_L_LIM_Un b
27.3.3  0  1 

 27.3-3. 

 27.3-3  0  1  sig_ch0_un  sig_ch1_un b 27.3-3   ctrl_ch0_un  ctrl_ch1_un  sig_ch0_un  sig_ch1_un b 
·  0 ­ PCNT_CH0_LCTRL_MODE_Un=0 ctrl_ch0_un b ­ PCNT_CH0_HCTRL_MODE_Un=2 ctrl_ch0_un b ­ PCNT_CH0_POS_MODE_Un=1 sig_ch0_un b ­ PCNT_CH0_NEG_MODE_Un=0 sig_ch0_un b
·  1 ­ PCNT_CH1_LCTRL_MODE_Un=0 ctrl_ch1_un b ­ PCNT_CH1_HCTRL_MODE_Un=2 ctrl_ch1_un b ­ PCNT_CH1_POS_MODE_Un=1 sig_ch1_un b



698 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)
­ PCNT_CH1_NEG_MODE_Un=0 sig_ch1_un b · PCNT_CNT_H_LIM_Un=10pulse_cnt  PCNT_CNT_H_LIM_Un b

GoBack

27.4 

 PCNT 27.4-1 b 3  b
 27.4-1. PCNT 

 PeriBUS1 PeriBUS2

 0x3F417000 0x60017000

27.5 

 PCNT cb PCNT   27.4 b

  PCNT_U0_CONF0_REG PCNT_U0_CONF1_REG PCNT_U0_CONF2_REG PCNT_U1_CONF0_REG PCNT_U1_CONF1_REG PCNT_U1_CONF2_REG PCNT_U2_CONF0_REG PCNT_U2_CONF1_REG PCNT_U2_CONF2_REG PCNT_U3_CONF0_REG PCNT_U3_CONF1_REG PCNT_U3_CONF2_REG PCNT_CTRL_REG  PCNT_U0_CNT_REG PCNT_U1_CNT_REG PCNT_U2_CNT_REG PCNT_U3_CNT_REG PCNT_U0_STATUS_REG PCNT_U1_STATUS_REG PCNT_U2_STATUS_REG PCNT_U3_STATUS_REG 


 0  0  0  1  0  2  1  0  1  1  1  2  2  0  2  1  2  2  3  0  3  1  3  2 
 0   1   2   3   0   1   2   3 





0x0000 0x0004 0x0008 0x000C 0x0010 0x0014 0x0018 0x001C 0x0020 0x0024 0x0028 0x002C 0x0060

/ / / / / / / / / / / / /

0x0030 0x0034 0x0038 0x003C 0x0050 0x0054 0x0058 0x005C

       



699 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)
 PCNT_INT_RAW_REG PCNT_INT_ST_REG PCNT_INT_ENA_REG PCNT_INT_CLR_REG  PCNT_DATE_REG

    


GoBack

 0x0040 0x0044 0x0048 0x004C

   / 

0x00FC /



700 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)

GoBack

27.6 

Register 27.1. PCNT_Un_CONF0_REG (n: 0-3) (0x0000+0xC*n)

PCNT_CH1_PLCCNTTR_LC_HM1O_PHDCCENT_TUR_L0C_HM1_POPCDONEST__U_MC0HO1D_PENC_ENUGT0__MCHO0DP_ECL_CNUTT0R_LC_HM0PO_CHDNCETT__RUCL0_HM0P_OCPDNOETS___UCM0PHOC0DN_ETN_P_EUTCGH0N_RTM_P_TOTCHHDNRRETE__P_STUTC1HH0N_RRETE_PN_STLC_0_HNU_LRT0IE_MP_NTHC__H_NEURLTN0I__M_ZFU_EI0LERTNOE__RUE_0NEN_U_U00
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0 0 1 1 1 1

PCNT_FILTER_THRES_U0
0

0x10

Reset

PCNT_FILTER_THRES_Un  APB_CLK b b(/)
PCNT_FILTER_EN_Un  n b(/) PCNT_THR_ZERO_EN_Un  n b(/) PCNT_THR_H_LIM_EN_Un  n b(/) PCNT_THR_L_LIM_EN_Un  n b(/) PCNT_THR_THRES0_EN_Un  n  0 b(/) PCNT_THR_THRES1_EN_Un  n  1 b(/) PCNT_CH0_NEG_MODE_Un  0 b
120a3b(/) PCNT_CH0_POS_MODE_Un  0 b
120a3b(/) PCNT_CH0_HCTRL_MODE_Un              CHn_POS_MODE 
CHn_NEG_MODE b 01c2a3b(/) PCNT_CH0_LCTRL_MODE_Un              CHn_POS_MODE  CHn_NEG_MODE b 01c2a3b(/) PCNT_CH1_NEG_MODE_Un  1 b 120a3b(/) PCNT_CH1_POS_MODE_Un  1 b 120a3b(/) ...



701 

ESP32-S2 TRM ( 1.3)

 27   (PCNT) Register 27.1. PCNT_Un_CONF0_REG (n: 0-3) (0x0000+0xC*n)

GoBack

...
PCNT_CH1_HCTRL_MODE_Un              CHn_POS_MODE  CHn_NEG_MODE b
01c2a3b(/)
PCNT_CH1_LCTRL_MODE_Un              CHn_POS_MODE  CHn_NEG_MODE b
01c2a3b(/)

Register 27.2. PCNT_Un_CONF1_REG (n: 0-3) (0x0004+0xC*n)

PCNT_CNT_THRES1_U0

PCNT_CNT_THRES0_U0

31

16 15

0x00

0x00

PCNT_CNT_THRES0_Un  n  0 b(/) PCNT_CNT_THRES1_Un  n  1 b(/)

0
Reset

Register 27.3. PCNT_Un_CONF2_REG (n: 0-3) (0x0008+0xC*n)

PCNT_CNT_L_LIM_U0

PCNT_CNT_H_LIM_U0

31

16 15

0x00

0x00

PCNT_CNT_H_LIM_Un  n b(/) PCNT_CNT_L_LIM_Un  n b(/)

0
Reset



702 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)

GoBack

Register 27.4. PCNT_CTRL_REG (0x0060)

(reserved)

PCNT_CLK_EN

(reserved)

PCNTP_CCNNTTP__CPPNAUUTLPSS_CEEC__NNCUTTN3P__CTPP_NAUURTLPSSS_TCEEC___NNUCUTT3N2P__CTPP_NAUURTLPSSS_TCEEC___NNUCUTT2N1__TPP_AUURLSSSTEE___UCU1N0T_RST_U0

31

17 16 15

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 Reset

PCNT_PULSE_CNT_RST_Un  n b(/)
PCNT_CNT_PAUSE_Un  n b(/)
PCNT_CLK_EN  1ab0 ab(/)

Register 27.5. PCNT_Un_CNT_REG (n: 0-3) (0x0030+0x4*n)

(reserved)

31

16 15

0000000000000000

PCNT_PULSE_CNT_U0 0x00

PCNT_PULSE_CNT_Un  n b()

0
Reset



703 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)

GoBack

Register 27.6. PCNT_Un_STATUS_REG (n: 0-3) (0x0050+0x4*n)

(reserved)

PCNTP_CCNNTTP__TCCHNNRTT_P__TZCCHENNRRTTO_P__TH_CCHL_NNARLTTTI___M_TLCU__HPN0LLRCTAI_MN_TTTT__HH_ULRRC0AE_TNST_T0HU__RT0LEHASRT1___ZLUEA0RT_OU_0MODE_U0

31

76 5 4 3 21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 Reset

PCNT_CNT_THR_ZERO_MODE_Un PCNT_Un  0 b0  0b1 0b2b3b()
PCNT_CNT_THR_THRES1_LAT_Un PCNT_Un  1 b1  1  1 b0b()
PCNT_CNT_THR_THRES0_LAT_Un PCNT_Un  0 b1  0  0 b0b()
PCNT_CNT_THR_L_LIM_LAT_Un PCNT_Un b1 b0b()
PCNT_CNT_THR_H_LIM_LAT_Un PCNT_Un b1 b0b()
PCNT_CNT_THR_ZERO_LAT_Un PCNT_Un  0 b1  0 0 b0b()

Register 27.7. PCNT_INT_RAW_REG (0x0040)

(reserved)

PCNTP_CCNNTTP__TCCHNNRTT_P__TECCVHNNERTTN___TTEC_VHNUERTN3___TTE_IVHNUERTN2___TER_IVNAUEWTN1__TRI_NAUTW0_R_AINWT_RAW

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PCNT_CNT_THR_EVENT_Un_INT_RAW  n b()



704 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)

GoBack

Register 27.8. PCNT_INT_ST_REG (0x0044)

(reserved)

PCNTP_CCNNTTP__TCCHNNRTT_P__TECCVHNNERTTN___TTEC_VHNUERTN3___TTE_IVHNUERTN2___TES_IVTNUETN1__TSI_NTUT0_S_TINT_ST

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PCNT_CNT_THR_EVENT_Un_INT_ST  n b()

Register 27.9. PCNT_INT_ENA_REG (0x0048)

(reserved)

PCNTP_CCNNTTP__TCCHNNRTT_P__TECCVHNNERTTN___TTEC_VHNUERTN3___TTE_IVHNUERTN2___TEE_IVNNUEATN1__TEI_NNUTA0_E_NINAT_ENA

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PCNT_CNT_THR_EVENT_Un_INT_ENA  n b(/)

Register 27.10. PCNT_INT_CLR_REG (0x004C)

(reserved)

PCNTP_CCNNTTP__TCCHNNRTT_P__TECCVHNNERTTN___TTEC_VHNUERTN3___TTE_IVHNUERTN2___TEC_IVNLUERTN1__TCI_NLUTR0_C_LINRT_CLR

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

PCNT_CNT_THR_EVENT_Un_INT_CLR  n b()



705 

ESP32-S2 TRM ( 1.3)

 27   (PCNT)
Register 27.11. PCNT_DATE_REG (0x00FC)
PCNT_DATE
31
0x19072601
PCNT_DATE b(/)

GoBack
0
Reset



706 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

 28 

USB OTG

28.1 
ESP32-S2  USB On-The-Go (OTG_FS) b OTG_FS   USB 2.0 b (Full-Speed, FS) 12 Mbit/s  (Low-Speed, LS) 1.5 Mbit/s  (Host Negotiation Protocol, HNP)  (Session Request Protocol, SRP)b

28.2 
28.2.1 
·  ·  (HNP)  (SRP) A  B  ·  FIFO (DFIFO)  · 
­ Scatter/Gather DMA  ­  (Buffer) DMA  ­ Slave  · 
28.2.2  (Device) 
· 1  0c EP0 IN  EP0 OUT ·  6  (1 ~ 6) IN  OUT ·  5  IN c EP0 IN ·  OUT  RX FIFO ·  IN  TX FIFO
28.2.3  (Host) 
· 8 c ­  IN  OUT  IN  OUT b



707 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

­  7  IN  OUTaab ·  RX FIFOa TX FIFOa TX FIFOb FIFO b

28.3 
28.3.1 

 28.3-1. OTG_FS 
OTG_FS  USB b 28.3-1  4 
· CPU  CPU  FIFOb AHB b  FIFO  Slave b
· APB  CPU  USB  (USB external controller)  USB b
· DMA   DMA c DMA b  AHB b
· USB 2.0   USB 2.0 bESP32-S2  USB   USB_WRAP_OTG_CONF  USB_PHY_SEL  ESP32-S2   GPIO b
· USB  USB  USB 2.0 bUSB  cAHB ,  SPRAM b  SRP b
·  FIFO RAM   FIFO  SPRAMc RAMb FIFO  SPRAM bCPUaDMA  FIFOb



708 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

28.3.2 
 28.3-2  USB bUSB c wrap b

 28.3-2. 
28.3.2.1  &  (CSR)
·  CSR / OTG_FS c b OTG cHNPSRP  A/B USB cPHY  b CSR b
·  CSR //b b
·  CSR //b b
·  b



709 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

28.3.2.2 FIFO 
OTG_FS  FIFO bFIFO  c 28.3.3bFIFO  DMA  Slave  Slave CPU   DFIFO  (push/pop)  FIFObFIFO 
·  4 KB  RX FIFO  (pop) b
·  4 KB  TX FIFOc IN   OUT b
­  IN  TX FIFOb
­  TX FIFO  TX FIFOb
·  128 KB /bb
 Slave  CPU  FIFO b DMA  DMA  TX FIFO  RX FIFO b

28.3.3 FIFO 
OTG_FS  FIFO cUSB bTX FIFO  OUT  IN bRX FIFO  IN  OUT  b Slave RX FIFO b  FIFO  SPRAM  256×35 c35  32  3 bc c FIFO  SPRAM b
28.3.3.1  FIFO 
 28.3-3  FIFO ·  TX FIFO OUT b ·  TX FIFO OUT b · RX FIFO IN /c b
 FIFO b IN/OUT cb b  FIFO b b USB b 
· c 4 b · c 8 b b



710 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

 28.3-3.  FIFO

 28.3-4.  FIFO
28.3.3.2  FIFO
 28.3-4  FIFO · RX FIFOcb



711 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

·  TX FIFO IN  TX FIFO IN  c IN b
 FIFObIN b

28.3.4 
OTG_FS  CPUb USB_GLBLINTRMSK  bOTG_FS  USB_GINTSTS_REG  (OR) USB_GINTMSK_REG   USB_GINTSTS_REG bUSB_GINTSTS_REG   OTG bOTG_FS b

 28.3-5. OTG_FS 

USB_GINTSTS_REG 
· USB_PRTINT bUSB_HPRT_REG b
· USB_HCHINT b USB_HAINT_REG   USB_HCINTn_REG b
· USB_OEPINT  OUT b USB_DAINT_REG  OUT  OUT  USB_DOEPINTn_REG b
· USB_IEPINT  IN b USB_DAINT_REG  IN   IN  USB_DIEPINTn_REG b



712 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

· USB_OTGINT  OTG b USB_GOTGINT_REG  OTG  b

28.3.5 DMA  Slave 
USB OTG  3 Scatter/Gather DMA a (Buffer) DMA  Slave b
28.3.5.1 Slave 
 Slave  FIFO  FIFO  CPU b ·  IN  OUT  TX FIFO b ·  USB_GRXSTSP_REG  RX FIFO  cb CPU  RX FIFO c  RX FIFO b
28.3.5.2  DMA 
 Slave  DMA  FIFO  FIFO b ·  IN  OUT  USB_HCDMAn_REGc  USB_DIEPDMAn_REGcb DMA   TX FIFO b ·  OUT  IN  USB_HCDMAn_REGc  USB_DOEPDMAn_REGcb DMA  RX FIFO b
28.3.5.3 Scatter/Gather DMA 

 28.3-6. Scatter/Gather DMA 
 Scatter/Gather DMA b  DMA b 32  32   (BufferStatus Quadlet)bc < 1 MPS  c> 1 MPS bMPS (maximum packet size) b DMA  b



713 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

·  IN  OUT /DMA  TX FIFOb
·  OUT  IN /DMA  RX FIFO   DMA b

28.3.6 
b

28.3.6.1 DMA 
 DMA b a STALL c3  b DMA b
 DMA cb

28.3.6.2 Slave 
 Slave b USB c ACK  NAKb  Slave  IN  OUT b

 28.3-1. Slave  IN  OUT 

 OUT 



1.  USB_HCTSIZn_REG  c1   TX FIFO b
2.  DWORD  b
3.  USB_XFERCOMPL b
c USB_H_NACKnb

1.  USB_DIEPTSIZn_REG   (1 MPS) c1 b b
2.   RX FIFOb
3. c RX FIFO   NAKb

IN 
1.  USB_HCTSIZn_REG  c1  b
2.  b
3.   RX FIFObc  USB_H_NACKnb

1.  USB_DOEPTSIZn_REG  c1 b b
2.            USB_XFERCOMPL b



714 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

 Slave  DMA  b FIFO  b
Slave  USB_HCTSIZn_REG  USB_DOEPTSIZn_REG b TX FIFO  RX FIFO cb

28.4 OTG
USB OTG  OTG  USB  USB bOTG  Mini-AB  Micro-AB   A-plug  B-plugb OTG  A-plug/B-plug  A /B b
· A cA B cB b ·  (NHP)AaB  A  B b · A  Vbus bB  A  Vbus  A b
 (SRP)b · Vbus  A  A b OTG  ID  A-plug  B-plugbA-plug  ID B-plug  ID b

28.4.1 ID 
 USB_GOTGCTL_REG  USB_CONIDSTS  OTG  A  (1'b0)  B  (1'b1)b USB_CONIDSTS c USB_CONIDSTSCHNG b

28.4.2 OTG 
OTG_FS  OTG Revision 1.3  SRP  HNP bOTG_FS  UTMI+ OTG  cbUTMI+ OTG c/ HNP 
 OTG  OTG b UTMI+ OTG  ESP32-S2  GPIOb 28.4-1  UTMI+ OTG b

 28.4-1. UTMI OTG 

 usb_otg_iddig_in
usb_otg_avalid_in

I/O 

 A/B b mini-A  mini-Bb

usb_otg_idpullup b

I

1'b0 mini-A

1'b1 mini-B

A b Vbus  A b

 I
1'b0: Vbus <0.8 V

1'b1: Vbus >2.0 V



715 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack



I/O 

B b Vbus  B b

usb_otg_bvalid_in

 I
1'b0: Vbus <0.8 V

1'b1: Vbus >4 V

Vbus b Vbus  A/B /b

usb_otg_vbusvalid_in I

 1'b0: Vbus <4.4 V

1'b1: Vbus >4.75 V

B b Vbus  B b

usb_srp_sessend_in I

 1'b0: Vbus >0.8 V

1'b1: Vbus <0.2 V

usb_otg_idpullup

 ID b ID b O
1'b0: ID 

1'b1: ID 

usb_otg_dppulldown O D+ b D+  15 k b

usb_otg_dmpulldown O D- b D-  15 k b

 Vbusb Vbus  5 Vb

usb_otg_drvvbus

O 1'b0 Vbus

1'b1 Vbus

Vbus b PHY  Vbus b

usb_srp_chrgvbus

O 1'b0 Vbus 

1'b1 Vbus c 30 ms

Vbus b PHY  Vbus b

usb_srp_dischrgvbus O 1'b0 Vbus 

1'b1 Vbus c 50 ms

28.4.3  (SRP)
28.4.3.1 A  SRP
 28.4-1  OTG_FS  A c Vbus  SRP b



 28.4-1. A  SRP
716 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

1.  cUSB_PRTSUSP  1'b0cUSB_PRTPWR  1'b0b
2. PHY  usb_otg_vbusvalid_in b 3.  Vbus A  SE0  2 ms  SRPb 4.  SRPB  5  10 msbOTG_FS b 5.  Vbus  A c 2.0 V Vbus bOTF_FS  SRP
b (USB_SESSREQINT) b 6. 
bPHY  usb_otg_vbusvalid_in b 7.  USB B  SRP b

28.4.3.2 B  SRP
 28.4-2  OTG_FS  B c Vbus  SRP b

 28.4-2. B  SRP

1. cA bPHY  usb_otg_vbusvalid_in b 3 ms OTG_FS  cUSB_ERLYSUSP  1bOTF_FS  USB   (USB_USBSUSP)  1bPHY  usb_otg_bvalid_in  B b
2. OTG_FS  usb_otg_dischrgvbus  PHY  Vbus b
3. PHY  usb_otg_sessend_in b SRP bOTG_FS  SRP  SE0 2 msb USB 2.0  USB_BSESVLD   Vbus  0.2 Vb
4.  1.5 cTB_SE0_SRP  OTG  (USB_SESREQ)  SRPbOTG_FS  Vbus b



717 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

5. cA  Vbus  SRP VbusbPHY  usb_otg_vbusvalid_in   Vbus b
6. OTG_FS  usb_srp_chrgvbus  Vbus bcA  Vbus SRP bOTG_FS  OTG  (USB_SESREQSC) b OTG b
7.  USB OTG_FS  SRP b

28.4.4  (HNP)
28.4.4.1 A  HNP
 28.4-3  OTG_FS  A  HNP b

 28.4-3. A  HNP

1. OTG_FS  B  SetFeature b_hnp_enable  HNP bB  ACK   HNPb OTG  HNP  (USB_HSTSETHNPEN)  OTG_FS  B  HNPb
2.  (USB_PRTSUSP) b
3.  B  USB  HNP bB   HNPbOTG_FS  OTG  (USB_HSTNEGDET) HNP bOTG_FS  usb_otg_dppulldown  usb_otg_dmpulldown bPHY  D+  B b  OTG  (USB_CURMOD_INT) b
4. B  USB  OTG_FS b
5. B bOTG_FS  3 ms   (USB_ERLYSUSP)  1bOTG_FS   USB  (USB_USBSUSP)  1b
6. OTG_FS bOTG_FS  usb_otg_dppulldown  usb_otg_dmpulldown b
7. OTG_FS  OTG  ID  (USB_CONIDSTS) b  OTG  ID  OTG_FS  A b  HNPb OTG b



718 

ESP32-S2 TRM ( 1.3)

 28  USB OTG 8. B  HNP b
28.4.4.2 B  HNP
 28.4-4  OTG_FS  B  HNP b

GoBack

 28.4-4. B  HNP
1. A  SetFeature b_hnp_enable  HNP bOTG_FS  ACK   HNPb OTG  HNP  (USB_DEVHNPEN)  1  HNPb OTG  HNP  (USB_DEVHNPEN)  1 OTG_FS  HNPb
2. A b
(a) OTG_FS  3 ms  (USB_ERLYSUSP)  1b OTG_FS  USB  (USB_USBSUSP)  1bOTG_FS   A  SE0 HNPb
(b) OTG_FS  usb_otg_dppulldown  usb_otg_dmpulldown b
(c) A  SE0  3 ms  D+ bOTG_FS b
(d) OTG_FS  OTG  (USB_CONIDSTS)  1 HNP b OTG  (USB_HSTNEGSCS) b (USB_CURMOD_INT) b
3.  USB_PRTPWR  1'b1 USB  Vbusb
4.  USB_PRTCONNDET bb
5.  (USB_PRTRST)  1OTG_FS  USB  A  b
6.  USB_PRTENCHNG b
7. OTG_FS   (USB_PRTSUSP) b
8.  A bOTG_FS  usb_otg_dppulldown  usb_otg_dmpulldown b



719 

ESP32-S2 TRM ( 1.3)

 28  USB OTG

GoBack

9.  (USB_CURMOD_INT)b 10. OTG_FS  HNP b

28.5 

 28.5-1  USB OTG  USB  c wrap b 3 b
 28.5-1. USB 

 USB  USB 

 PeriBUS1 PeriBUS2 PeriBUS1 PeriBUS2

 0x3F480000 0x60080000 0x3F439000 0x60039000

28.6 
USB OTG  IP  (NDA) b  Technical Inquires b



720 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

 29 
 (TWAI)
 (Two-wire Automotive Interface, TWAI®) aa bTWAI c TWAI b ESP32-S2  TWAI  TWAI bTWAI  aab
29.1 
ESP32-S2 TWAI  ·  ISO 11898-1 cCAN  2.0 · c11-bit c29-bit  ·  1 Kbit/s ~ 1 Mbit/s  ·  ­  ­ c ­ c · 64-byte  FIFO ·  ­ c ­ cTWAI  · c ·  ­  ­  ­  ­ 
29.2 



721 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

29.2.1 TWAI 
TWAI bTWAI  
 TWAI b cbTWAI  (NRZ) b
 0 1b bc b
 TWAI bc b 5 b SOFaaa CRC c 29.2.2 b
b c 29.2.3 b
b b
 TWAI  bb
b
/b b
 TWAI b b
 TWAI b
· bb b
· b

29.2.2 TWAI 
TWAI b b TWAI 
·  ·  ·  ·  ·  TWAI 



722 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

·  (SFF)  11-bit  ·  (EFF)  29-bit 
29.2.2.1 
 0 ~ 8 b bb 29.2-1  b

 29.2-1. 

 b  bb
b 0 1:
· ID b
·  ID  RTR b
·  ID  11  SRR b   (DLC) DLC  bDLC b



723 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

 bb
CRC  CRC  CRC bCRC  15-bit  c SOF b
  (ACK) b
 29.2-1. SFF  EFF 

/ SOF Base ID
RTR
SRR IDE
Extd ID r1 r0 DLC

CRC  CRC  
 EOF

  (SOF) b  (ID.28 ~ ID.18)  SFF  11-bit  EFF  29-bit   11-bitb  (RTR) ccb  b  EFF  (SRR) SFF  RTR b  (IED)  SFF c EFFcb  SFF  EFF SFF  EFF b  (ID.17 ~ ID.0)  EFF  29-bit  18-bitb r1c 1b r0c 0b  (DLC)  4-bits 0 ~ 8 b DLC b DLC  b b DLC b 0b CRC  15-bit b CRC  CRC b b  b b  (EOF) b

29.2.2.2 

b b b b
b CRC  c 29.2.3 b 29.2-2 



724 

ESP32-S2 TRM ( 1.3)

 29   (TWAI) 

GoBack

 29.2-2. 

 



 29.2-2. 
 :  6   6 cb b b  0 ~ 6 c b / 8 b

 bb 29.2-3 

 29.2-3. 

   

 29.2-3. 
  6 bb b  8 bb

 1. b 2. b 3. cb TEC  REC  c 29.2.3 b
 ·  1 b



725 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

·  2a3 b · b

29.2.2.3 
b caaabb
 29.2-4 

  


 29.2-4. 
 29.2-4. 
  3 b  8 b b b SOF b SOF  b

29.2.3 TWAI 
29.2.3.1 
TWAI 
 cc b b
  6 cb
CRC   CRC b CRC  CRC b
 br1  r0 b
 b



726 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

29.2.3.2 
TWAI b  (TEC)  (REC)bTWAI b
 b
 b b
 cb

29.2.3.3 
TEC  REC /bb 1. REC  1b b
2. REC  8b 3. TEC  8b
·   TEC b
·  TEC b
4.  TEC  8b 5.  REC  8b 6. / 7 bc
 14  8   TEC  8 REC  8b 8 c TEC cREC  8b 7. c ACK EOF TEC  1 TEC  0b 8. c ACK REC b
·  REC  1 ~ 127  1b ·  REC  127 127b ·  REC  0 0b 9.  TEC / REC  128 b b REC  128  REC  128 b 10.  TEC  256 b



727 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

11.  TEC  REC  127b
12.  128  11 cTEC  REC   0b

29.2.4 TWAI 
29.2.4.1 
TWAI  TWAI bb · b ·  1/b
 (Time Quanta) b b 29.2-5 b TWAI  TWAI b c-bPBS1  PBS2  b

 29.2-5. 

 29.2-5. 

  (SS)
 1 (PBS1)  2 (PBS2)

 SSc 1 b b PBS1  1 ~ 16 b PBS1 b PBS2  1 ~ 8 b PBS2 b

29.2.4.2 
bb  TWAI b TQcoep  SS b
·  (e > 0)cb
·  (e < 0)cb



728 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

b
· b
· b  c SOF b b
 b (e > 0) PBS1 b (e < 0) PBS2 b
PBS1/PBS2  (SJW)  b
·  SJW PBS1/PBS2 / e b b
·  SJW PBS1/PBS2 / SJW b b

29.3 

 29.3-1. TWAI  ESP32-S2  TWAI b 29.3-1  TWAI b



729 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

29.3.1 
ESP32-S2  CPU  32-bit bTWAI  (bits [7:0]) bbits [31:8]  0b
  TWAI aab TWAI  c 29.4.1 b
 CPU  TWAI b TWAI  c 29.4.1 b
 &   TWAI cb TWAI  b
 b TEC  REC b  TWAI b
  13  TWAI b
  13 b FIFO  FIFO  b
ac 0x0040 ~ 0x0070b
·  TWAI b
· TWAI 
­ b
­ b

29.3.2 
 (BSP)  ( CRC )  (BTL) bBSP  BTL c CRC  FIFObBSP  TWAI  (EML)b

29.3.3 
 (EML)  TEC  REC c  BSP b TWAI  bit  b



730 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

29.3.4 
 (BTL) bBTL  b TQc b

29.3.5 
 TWAI b  FIFO bab

29.3.6  FIFO
 FIFO  64-byte c TWAI b FIFO c3 ~ 13 byte b FIFO c  FIFO b FIFO  13-byte cb  FIFO  FIFO  b

29.4 
29.4.1 
ESP32-S2 TWAI b TWAI_RESET_MODE  1  0b
29.4.1.1 
 TWAI bTWAI  TWAI  bTWAI cb bTWAI b
29.4.1.2 
TWAI  bTWAI c TWAI  bTWAI 
·  TWAI cb · TWAI  CRC 
b TWAI b ·  TWAI  TWAI bTWAI 
abb TWAI b cTWAI  11  TWAI cb



731 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

29.4.2 
TWAI b TWAI_BUS_TIMING_0_REG  TWAI_BUS_TIMING_1_REG   29.4-1  TWAI_BUS_TIMING_0_REG b
 29.4-1. TWAI_CLOCK_DIVIDER_REG  bit ; TWAI  0x18

Bit 31-16 


Bit 15 SJW.1

Bit 14

Bit 13

Bit 12

......

SJW.0

BRP.13

BRP.12

......

Bit 1 BRP.1

Bit 0 BRP.0

·  (BRP)TWAI  APB APB  80 MHzb  tT q tCLK  APB  tT q = 2 × tCLK × (213 × BRP.13 + 212 × BRP.12 + ... + 21 × BRP.1 + 20 × BRP.0 + 1)
·  (SJW)SJW  SJW.0  SJW.1 SJW = (2 x SJW.1 + SJW.0 + 1)b
 29.4-2  TWAI_BUS_TIMING_1_REG b

 29.4-2. TWAI_BUS_TIMING_1_REG  bit ; TWAI  0x1c

Bit 31-8 


Bit 7 SAM

Bit 6 PBS2.2

Bit 5 PBS2.1

Bit 4 PBS2.0

Bit 3 PBS1.3

Bit 2 PBS1.2

Bit 1 PBS1.1

Bit 0 PBS1.0

· PBS1:  1 (8 x PBS1.3 + 4 x PBS1.2 + 2 x PBS1.1 + PBS1.0 + 1)b

· PBS2:  2 (4 x PBS2.2 + 2 x PBS2.1 + PBS2.0 + 1)b

· SAM:  1 b/b

29.4.3 
ESP32-S2 TWAI  TWAI_INT_RAW_REG b  TWAI_INT ENA_REG b TWAI 
·  ·  ·  ·  ·  ·  · 



732 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

 TWAI_INT_RAW_REG  1TWAI  TWAI_INT_RAW_REG TWAI b TWAI_INT_RAW_REG b TWAI_RELEASE_BUF b

29.4.3.1  (RXI)
 TWAI  FIFO cTWAI_RX_MESSAGE_CNT_REG > 0 RXIb TWAI_RX_MESSAGE_CNT_REG  FIFO b TWAI_RELEASE_BUF RXI b

29.4.3.2  (TXI)
 TXIb  TXI 
· cbb · cTWAI_TX_COMPLETE b ·  TWAI_ABORT_TX b

29.4.3.3  (EWI)
 TWAI_STATUS_REG  TWAI_ERR_ST  TWAI_BUS_OFF_ST c 0  1   EWIb EWI  TWAI_ERR_ST  TWAI_BUS_OFF_ST 
·  TWAI_ERR_ST = 0  TWAI_BUS_OFF_ST = 0
­  TWAI  TEC  REC  TWAI_ERR_WARNING_LIMIT_REG b
­  TWAI b
·  TWAI_ERR_ST = 1  TWAI_BUS_OFF_ST = 0 TEC  REC  TWAI_ERR_WARNING_LIMIT_REG b
·  TWAI_ERR_ST = 1  TWAI_BUS_OFF_ST = 1 TWAI  BUS_OFF c TEC >= 256b
·  TWAI_ERR_ST = 0  TWAI_BUS_OFF_ST = 1 BUS_OFF TWAI  TEC   TWAI_ERR_WARNING_LIMIT_REG b

29.4.3.4  (DOI)
 FIFO  DOIbDOI  FIFO  b
 FIFO  DOIc FIFO b  DOIbc DOIb

29.4.3.5  (TXI)
 TWAI  EPIb



733 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

29.4.3.6  (ALI)
 TWAI  ALIbTWAI  bit   (TWAI_ARB LOST CAP_REG) bc CPU   bit b
29.4.3.7  (BEI)
 TWAI  TWAI  BEIb  bit  (TWAI_ERR_CODE_CAP_REG) bc CPU b

29.4.4 
29.4.4.1 

 29.4-3. SFF  EFF 

 (SFF) TWAI  0x40 0x44 0x48 0x4c 0x50 0x54 0x58 0x5c 0x60 0x64 0x68 0x6c 0x70

 TX/RX  TX/RX identifier 1 TX/RX identifier 2 TX/RX data byte 1 TX/RX data byte 2 TX/RX data byte 3 TX/RX data byte 4 TX/RX data byte 5 TX/RX data byte 6 TX/RX data byte 7 TX/RX data byte 8  

 (EFF) TWAI  0x40 0x44 0x48 0x4c 0x50 0x54 0x58 0x5c 0x60 0x64 0x68 0x6c 0x70

 TX/RX  TX/RX identifier 1 TX/RX identifier 2 TX/RX identifier 3 TX/RX identifier 4 TX/RX data byte 1 TX/RX data byte 2 TX/RX data byte 3 TX/RX data byte 4 TX/RX data byte 5 TX/RX data byte 6 TX/RX data byte 7 TX/RX data byte 8

 29.4-3 b  TWAI bCPU CPU  b
 TWAI bCPU a a ID cbCPU  TWAI_CMD_REG  TWAI_TX_REQ  1b
·  TWAI_SELF_RX_REQ  1b
·  TWAI_TX_REQ  TWAI_ABORT_TX  1b
 FIFO bCPU  aa ID cbCPU 



734 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

TWAI_CMD_REG  TWAI_RELEASE_BUF  1  FIFO  b

29.4.4.2 
 1-byteab 29.4-4  b

 29.4-4. TX/RX  (SFF/EFF)TWAI  0x40

Bit 31-8 Bit 7



FF

Bit 6 RTR

Bit 5 X

Bit 4 X

Bit 3 XDLC.3

Bit 2 DLC.2

Bit 1 DLC.1

Bit 0 DLC.0



· FF:  EFF  SFFb FF  1  EFF FF  0  SFFb

· RTR: b RTR  1  RTR  0  b

· DLC: bTWAI  8  DLC  0 ~ 8b

· X:  bitb

29.4.4.3 
 SFF 2-bytes (11-bits) EFF 4-bytes (29-bits)b  Table 29.4-5-29.4-6  SFF (11-bits) b
 29.4-5. TX/RX  1 (SFF); TWAI  0x44

Bit 31-8 

Bit 7 ID.28

Bit 6 ID.27

Bit 5 ID.26

Bit 4 ID.25

Bit 3 ID.24

Bit 2 ID.23

Bit 1 ID.22

Bit 0 ID.21

 29.4-6. TX/RX  2 (SFF); TWAI  0x48

Bit 31-8 Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1



ID.20

ID.19

ID.18

X1

X2

X2

X2

Bit 0 X2

 29.4-7-29.4-10  EFF (29-bits) b  29.4-7. TX/RX  1 (EFF); TWAI  0x44

Bit 31-8 

Bit 7 ID.28

Bit 6 ID.27

Bit 5 ID.26

Bit 4 ID.25

Bit 3 ID.24

Bit 2 ID.23

Bit 1 ID.22

Bit 0 ID.21

Bit 31-8 Bit 7 

 29.4-8. TX/RX  2 (EFF); TWAI  0x48

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

735 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack



ID.20

ID.19

ID.18

ID.17

ID.16

ID.15

ID.14

ID.13

Bit 31-8 

Bit 7 ID.12

 29.4-9. TX/RX  3 (EFF); TWAI  0x4c

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

ID.11

ID.10

ID.9

ID.8

ID.7

ID.6

Bit 0 ID.5

Bit 31-8 Bit 7



ID.4

 29.4-10. TX/RX  4 (EFF); TWAI  0x50

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

ID.3

ID.2

ID.1

ID.0

X1

X2

Bit 0 X2

29.4.4.4 
 0 ~ 8 bytesb DLC b DLC  8 8bb  5 CPU  DLC  5 1 ~ 5  b DLC  5  1 ~ 5  CPU b
29.4.5  FIFO 
 FIFO  64-bytes b FIFO  3 ~ 13 bytes b  FIFO b  TWAI TWAI_RX_MESSAGE_COUNTER  1 64b FIFO  FIFO b TWAI_RELEASE_BUF  1 FIFO TWAI_RX_MESSAGE_COUNTER   1b FIFO b  TWAI  FIFO c  FIFO  FIFO b 
·  FIFO b FIFO b ·  FIFO b ·  TWAI_RX_MESSAGE_COUNTER  64b ·  FIFO b TWAI_MISS_ST 
b
 FIFO  TWAI_RELEASE_BUF TWAI_RX_MESSAGE_COUNTER  0b FIFO b



736 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

29.4.6 
 TWAI  ID cb  FIFO b TWAI c  FIFO  TWAI b
 TWAI / b
 32-bit  Code  32-bit  Mask bCode  bMask  Code c opb 29.4-1  ID  Code   Mask b

 29.4-1. 
TWAI  32-bit  Code  Mask c cb 32-bit  code  mask c
SFF  EFFb
29.4.6.1 
 TWAI_RX_FILTER_MODE  1b32-bit code/mask  b 
· SFF ­ 11-bit ID  ­ RTR bit ­  1  2
· EFF ­ 29-bit ID  ­ RTR bit
 29.4-2  32-bit code/mask b
29.4.6.2 
 TWAI_RX_FILTER_MODE  0b32-bit code/mask   1  2b b 



737 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

 29.4-2. 

· SFF ­ 11-bit ID  ­ RTR bit ­  1 ( 1)
· EFF ­ 29-bit ID  16-bit
 29.4-3  32-bit code/mask b

29.4.7 
TWAI  TWAI  (TEC)  (REC)b  TWAI caabTWAI  TEC  REC   TWAI_TX_ERR_CNT_REG  TWAI_RX_ERR_CNT_REG CPU b TWAI  (EWL)  TWAI  b
TWAI TECaRECaTWAI_ERR_ST  TWAI_BUS_OFF_STbc 29.4.3 b 29.4-4 ab
29.4.7.1 
 (EWL)  TEC  REC  EWI bEWL   TWAI  TWAI bEWL  TWAI_ERR_WARNING_LIMIT_REG  TWAI b TWAI_ERR_WARNING_LIMIT_REG  96b
 TEC / REC  EWL TWAI_ERR_ST  1b TEC  REC   EWL TWAI_ERR_ST  0b TWAI_ERR_STc TWAI_BUS_OFF_ST b



738 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

 29.4-3. 



 29.4-4. 
739 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

29.4.7.2 
 TEC  REC  127 TWAI b TEC  REC  127 TWAI b TWAI  b

29.4.7.3 
 TEC  255 TWAI bTWAI  
· REC  0 · TEC  127 · TWAI_BUS_OFF_ST  1 ·   TWAI_BUS_OFF_ST c TWAI_ERR_ST b TWAI b b TWAI  128  11 b  TWAI  11 TEC b cTEC  127  0TWAI_BUS_OFF_ST  0b

29.4.8 
 (ECC)  TWAI  TWAI  bit b  TWAI  TWAI_ERR_CODE_CAP_REG b  TWAI_ERR_CODE_CAP_REG  b
 29.4-11  TWAI_ERR_CODE_CAP_REG 
 29.4-11. TWAI_ERR_CODE_CAP_REG  bit ; TWAI  0x30

Bit 31-8 


Bit 7 ERRC.1

Bit 6

Bit 5

ERRC.0 DIR

Bit 4 SEG.4

Bit 3 SEG.3

Bit 2 SEG.2

Bit 1 SEG.1

Bit 0 SEG.0

·  (ERRC)b00 01 10 11  b

·  (DIR)TWAI b0 1 b

·  (SEG) TWAI b

 29.4-12  SEG.0 ~ SEG.4 b



740 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

 29.4-12. SEG.4 - SEG.0 

Bit SEG.4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1

Bit SEG.3 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1

Bit SEG.2 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 1 1



· Bit SRTR:  RTR bitb · Bit IDE: b0 b

Bit SEG.1 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 1 1 1 0 1 1 1 0

Bit SEG.0 1 0 0 0 1 1 1 0 0 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0

  ID.28 ~ ID.21 ID.20 ~ ID.18 bit SRTR bit IDE ID.17 ~ ID.13 ID.12 ~ ID.5 ID.4 ~ ID.0 bit RTR  1  0   CRC  CRC          

29.4.9 
 (ALC)  TWAI  bit b TWAI bit   TWAI_ARB LOST CAP_REG b
bit  TWAI_ARB LOST CAP_REG  TWAI_ERR_CODE_CAP_REG b
 29.4-13  TWAI_ERR_CODE_CAP_REG  29.4-5  TWAI  bit  b
 29.4-13. TWAI_ARB LOST CAP_REG ; TWAI  0x2c

Bit 31-5 

Bit 4 BITNO.4

Bit 3 BITNO.3

Bit 2 BITNO.2

Bit 1 BITNO.1

Bit 0 BITNO.0



741 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)
 ·  (BITNO) TWAI  n b

GoBack

 29.4-5.  bit 

29.5 

 TWAI 29.5-1 b 3   b
 29.5-1. TWAI 

 PeriBUS1 PeriBUS2

 0x6002B000 0x3FC2B000

29.6 
  TWAI_MODE_REG TWAI_BUS_TIMING_0_REG TWAI_BUS_TIMING_1_REG TWAI_ERR_WARNING_LIMIT_REG TWAI_DATA_0_REG TWAI_DATA_1_REG TWAI_DATA_2_REG TWAI_DATA_3_REG TWAI_DATA_4_REG TWAI_DATA_5_REG TWAI_DATA_6_REG TWAI_DATA_7_REG TWAI_DATA_8_REG TWAI_DATA_9_REG TWAI_DATA_10_REG TWAI_DATA_11_REG


  0  1   0  1  2  3  4  5  6  7  8  9  10  11





0x0000 0x0018 0x001C 0x0034 0x0040 0x0044 0x0048 0x004C 0x0050 0x0054 0x0058 0x005C 0x0060 0x0064 0x0068 0x006C

/  | /  | /  | /  | /  | /  | /  | /  | /  | /  | /  | /  |   |   |   | 



742 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)
 TWAI_DATA_12_REG TWAI_CLOCK_DIVIDER_REG  TWAI_CMD_REG  TWAI_STATUS_REG TWAI_ARB LOST CAP_REG TWAI_ERR_CODE_CAP_REG TWAI_RX_ERR_CNT_REG TWAI_TX_ERR_CNT_REG TWAI_RX_MESSAGE_CNT_REG  TWAI_INT_RAW_REG TWAI_INT ENA_REG

  12 

     
 

GoBack

 0x0070 0x007C

  |  

0x0004 

0x0008 0x002C 0x0030 0x0038 0x003C 0x0074

    | /  | / 

0x000C  0x0010 /

29.7 

Register 29.1. TWAI_MODE_REG (0x0000)

(reserved)

TWAI_TRWXA_IF_TISLWTEAELIFR_T__LWTMISEAOTSI_ETDRN_EEM_SOOENDTLE_YM_MOODDEE

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

TWAI_RESET_MODE  TWAI b10c/
TWAI_LISTEN_ONLY_MODE  1  bc/
TWAI_SELF_TEST_MODE  1 b bc/
TWAI_RX_FILTER_MODE b0: 1: c/



743 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

Register 29.2. TWAI_BUS_TIMING_0_REG (0x0018)

(reserved)

TWAI_SYNC_JUMP_WIDTH

31

16 15 14 13

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0

TWAI_BAUD_PRESC 0x00

TWAI_BAUD_PRESC bc | / TWAI_SYNC_JUMP_WIDTH  ( SJW ) 1 ~ 4 bc | /

0
Reset

Register 29.3. TWAI_BUS_TIMING_1_REG (0x001C)

(reserved)

TWAI_TIMET_WSAAMI_PTIME_SEG2 TWAI_TIME_SEG1

31

876

43

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00

0x0

0x0

Reset

TWAI_TIME_SEG1  1 bc | / TWAI_TIME_SEG2  2 bc | / TWAI_TIME_SAMP b0 1 1c | /

Register 29.4. TWAI_ERR_WARNING_LIMIT_REG (0x0034)

(reserved)

31

87

000000000000000000000000

TWAI_ERR_WARNING_LIMIT
0

0x60

Reset

TWAI_ERR_WARNING_LIMIT  cbc | /



744 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

Register 29.5. TWAI_DATA_0_REG (0x0040)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_0 | TWAI_ACCEPTANCE_CODE_0

0

0x0

Reset

TWAI_TX_BYTE_0  0 bc TWAI_ACCEPTANCE_CODE_0  0 bc/

Register 29.6. TWAI_DATA_1_REG (0x0044)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_1 | TWAI_ACCEPTANCE_CODE_1

0

0x0

Reset

TWAI_TX_BYTE_1  1 bc TWAI_ACCEPTANCE_CODE_1  1 bc/



745 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

Register 29.7. TWAI_DATA_2_REG (0x0048)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_2 | TWAI_ACCEPTANCE_CODE_2

0

0x0

Reset

TWAI_TX_BYTE_2  2 bc TWAI_ACCEPTANCE_CODE_2  2 bc/

Register 29.8. TWAI_DATA_3_REG (0x004C)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_3 | TWAI_ACCEPTANCE_CODE_3

0

0x0

Reset

TWAI_TX_BYTE_3  3 bc TWAI_ACCEPTANCE_CODE_3  3 bc/



746 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

Register 29.9. TWAI_DATA_4_REG (0x0050)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_4 | TWAI_ACCEPTANCE_MASK_0

0

0x0

Reset

TWAI_TX_BYTE_4  4 bc TWAI_ACCEPTANCE_MASK_0  0 bc/

Register 29.10. TWAI_DATA_5_REG (0x0054)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_5 | TWAI_ACCEPTANCE_MASK_1

0

0x0

Reset

TWAI_TX_BYTE_5  5 bc TWAI_ACCEPTANCE_MASK_1  1 bc/



747 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

Register 29.11. TWAI_DATA_6_REG (0x0058)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_6 | TWAI_ACCEPTANCE_MASK_2

0

0x0

Reset

TWAI_TX_BYTE_6  6 bc TWAI_ACCEPTANCE_MASK_2  2 bc/

Register 29.12. TWAI_DATA_7_REG (0x005C)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_7 | TWAI_ACCEPTANCE_MASK_3

0

0x0

Reset

TWAI_TX_BYTE_7  7 bc TWAI_ACCEPTANCE_MASK_3  3 bc/

Register 29.13. TWAI_DATA_8_REG (0x0060)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_8
0

0x0

Reset

TWAI_TX_BYTE_8  8 bc



748 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

Register 29.14. TWAI_DATA_9_REG (0x0064)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_9
0

0x0

Reset

TWAI_TX_BYTE_9  9 bc

Register 29.15. TWAI_DATA_10_REG (0x0068)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_10
0

0x0

Reset

TWAI_TX_BYTE_10  10 bc

Register 29.16. TWAI_DATA_11_REG (0x006C)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_11
0

0x0

Reset

TWAI_TX_BYTE_11  11 bc

Register 29.17. TWAI_DATA_12_REG (0x0070)

(reserved)

31

87

000000000000000000000000

TWAI_TX_BYTE_12
0

0x0

Reset

TWAI_TX_BYTE_12  12 bc



749 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

Register 29.18. TWAI_CLOCK_DIVIDER_REG (0x007C)

(reserved)

TWAI_CLOCK_OFF

TWAI_CD

31

987

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00

0x0

0
Reset

TWAI_CD  CLKOUT bc/
TWAI_CLOCK_OFF b1 CLKOUT 0 CLKOUT c | /

Register 29.19. TWAI_CMD_REG (0x0004)

(reserved)

TWAI_TSWEALIF_T_CWRLXAR_I__TRORWEVEQAELIRE_TARAWSUBEANO_I_RBTTUX__FTRXEQ

31

54 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TWAI_TX_REQ  1 bc TWAI_ABORT_TX  1 bc TWAI_RELEASE_BUF  1 bc TWAI_CLR_OVERRUN  1 bc TWAI_SELF_RX_REQ b 1 bc



750 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

Register 29.20. TWAI_STATUS_REG (0x0008)

(reserved)

TWAI_TMWIASIS_T_BWSUTASI__TEOWRFARFI___TTSSWXTT_ASI_TTRWXA_IS_TTTWX_ACI_TOTWXM_APBI_LTUOEWFTV_AEEISR_TRRUX_NB_USTF_ST

31

98 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 Reset

TWAI_RX_BUF_ST  1bc 
TWAI_OVERRUN_ST  1 FIFO bc TWAI_TX_BUF_ST  1bc TWAI_TX_COMPLETE  1bc TWAI_RX_ST  1bc TWAI_TX_ST  1bc TWAI_ERR_ST  1
TWAI_ERR_WARNING_LIMIT_REG c TWAI_BUS_OFF_ST  1bc TWAI_MISS_ST  FIFO b1: 0
c

Register 29.21. TWAI_ARB LOST CAP_REG (0x002C)

(reserved)

31

54

000000000000000000000000000

TWAI_ARB_LOST_CAP  bit bc

TWAI_ARB_LOST_CAP
0

0x0

Reset



751 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

Register 29.22. TWAI_ERR_CODE_CAP_REG (0x0030)

(reserved)

TWAI_ECTCW_ATIY_PEECC_DIRETCWTIAOIN_ECC_SEGMENT

31

87

654

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 0

0x0

Reset

TWAI_ECC_SEGMENT  29.4-11bc TWAI_ECC_DIRECTION b10
c
TWAI_ECC_TYPE 00011011-c

Register 29.23. TWAI_RX_ERR_CNT_REG (0x0038)

(reserved)

31

87

000000000000000000000000

TWAI_RX_ERR_CNT
0

0x0

Reset

TWAI_RX_ERR_CNT bc | /

Register 29.24. TWAI_TX_ERR_CNT_REG (0x003C)

(reserved)

31

87

000000000000000000000000

TWAI_TX_ERR_CNT
0

0x0

Reset

TWAI_TX_ERR_CNT bc | /



752 

ESP32-S2 TRM ( 1.3)

 29   (TWAI) Register 29.25. TWAI_RX_MESSAGE_CNT_REG (0x0074)

(reserved)

31

76

0000000000000000000000000

TWAI_RX_MESSAGE_COUNTER  FIFO bc

GoBack

TWAI_RX_MESSAGE_COUNTER
0

0x0

Reset

Register 29.26. TWAI_INT_RAW_REG (0x000C)

(reserved)

TWAI_TBWUASI__TAEWRRABRI___(rEILeNORsTRSe_T_rTSv_PWTeIANdAST)IS__TIOVSWVETAE_IRI_NTREWTUR_ARNSI___TTWTIWNXAT_AR_IIN_NSRT_TX_IN_STITN_TS_TST

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TWAI_RX_INT_ST b 1 FIFO bc TWAI_TX_INT_ST b 1cb

TWAI_ERR_WARN_INT_ST b 1 c0  1  1  0bc
TWAI_OVERRUN_INT_ST b 1 FIFO bc TWAI_ERR_PASSIVE_INT_ST b 1
bc
TWAI_ARB_LOST_INT_ST b 1bc TWAI_BUS_ERR_INT_ST b 1bc



753 

ESP32-S2 TRM ( 1.3)

 29   (TWAI)

GoBack

Register 29.27. TWAI_INT ENA_REG (0x0010)

(reserved)

TWAI_TBWUASI__TAEWRRABRI___(rEILeNORsTRSe_T_rTEv_PWNeIANdAAST)IS__TIOVEWVENAE_AIRI_NTREWTUR_ARNEI___NTWTIWANXAT_AR_IIN_NERT_NX_INA_ETINN_ATE_NEANA

31

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

TWAI_RX_INT_ENA  1 bc/ TWAI_TX_INT_ENA  1 bc/ TWAI_ERR_WARN_INT_ENA  1 bc/ TWAI_OVERRUN_INT_ENA  1 bc/ TWAI_ERR_PASSIVE_INT_ENA  1 bc/ TWAI_ARB_LOST_INT_ENA  1 bc/ TWAI_BUS_ERR_INT_ENA  1 bc/



754 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)

GoBack

 30  LED PWM  (LEDC)

30.1 
LED PWM  LED  PWM b 14  b

30.2 
LED PWM : ·  ·  8  PWM  · PWM b ·  PWM  ·  PWM 
 PWM  PWMn Timerxb

30.3 

30.3.1 
 30.3-1 LED PWM b 30.3-2  PWM b

30.3.2 

LED PWM  LEDC_PWM_CLK APB_CLKaRC_FAST_CLK  XTAL_CLK  LEDC_APB_CLK_SEL[1:0] bLED PWM  LEDC_CLKx LEDC_PWM_CLK  REF_TICKb REF_TICK  LEDC_APB_CLK_SEL[1:0]  1REF_TICK  APB_CLK b b

LEDC_CLKx b LEDC_CLK_DIV_TIMERx b 10  A 8  Bb  LEDC_CLK_DIVx 

LE DC _C LK _DI V

x

=

A

+

B 256

 B  0  30.3-3b256  B  (A+1)  (256-B)  A b (A+1)  B  256 b



755 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)

GoBack

 30.3-1. LED_PWM 

 30.3-2. LED_PWM 

LED PWM  14  2LEDC_T IMERx_DUT Y _RES - 1b 2LEDC_T IMERx_DUT Y _RES - 1  0 ba b LEDC_TIMERx_OVF_INT  (LEDC_OVF_NUM_CHn + 1) b

1.  LEDC_OVF_CNT_EN_CHn

2.  LEDC_OVF_NUM_CHn  1

3. LEDC_OVF_CNT_CHn_INT_ENA

4.  LEDC_TIMERx_DUTY_RES  LEDC_OVF_CNT_CHn_INT 

PWM  sig_outn  LEDC_CLKx a LEDC_CLK_DIVx c hyperref[fielddesc:LEDCTIMERXDUTYRES]LEDC_TIMERx_DUTY_RES

PWM  sig_outn 

fsig_outn

=

fLEDC_CLKx LEDC_CLK_DIVx · 2hyperref [f ielddesc:LEDCT IMERXDUT Y RES]LEDC_T IMERx_DUT Y _RES



756 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)

GoBack

 30.3-3. LED_PWM  

hyperref[fielddesc:LEDCTIMERXDUTYRES]LEDC_TIMERx_DUTY_RES = log2

fLEDC_CLKx fsig_outn · LEDC_CLK_DIVx

 30.3-1 b

 30.3-1. 

LEDC_CLKx

PWM  c1 c2

APB_CLK (80 MHz)

1 kHz

14

7

APB_CLK (80 MHz)

5 kHz

13

4

APB_CLK (80 MHz)

10 kHz

12

3

RC_FAST_CLK (8 MHz) 1 kHz

12

3

RC_FAST_CLK (8 MHz) 2 kHz

11

2

REF_TICK (1 MHz)

1 kHz

9

1

1  LEDC_CLK_DIVx  1 b

 14  14b

2



LEDC_CLK_DIVx



1023

+

255 256



b 0 1b

 LEDC_CLK_DIV_TIMERx  LEDC_TIMERx_DUTY_RES  LEDC_TIMERx_PARA_UPb b
30.3.3 PWM 
 30.3-2 PWM bPWM  LED PWM  14  Hpointn  Lpointn  PWM b
·  Timerx_cnt == Hpointn sig_outn  1b ·  Timerx_cnt == Lpointn sig_outn  0b



757 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)

GoBack

Hpointn  LEDC_HPOINT_CHn bLpointn  LEDC_DUTY_CHn[18..4]  LEDC_HPOINT_CHn b PWM  b
 30.3-4  PWM b

 30.3-4. LED_PWM 
LEDC_DUTY_CHn bLEDC_DUTY_CHn[18..4]  PWM bLEDC_DUTY_CHn[3..0] b LEDC_DUTY_CHn[3..0]  0 sig_outn  16  LEDC_DUTY_CHn[3..0]  PWM  (16 LEDC_DUTY_CHn[3..0]) b PWM  18 b
30.3.4 
LED PWM b LEDC_DUTY_CHna LEDC_DUTY_START_CHnaLEDC_DUTY_INC_CHn aLEDC_DUTY_NUM_CHn  LEDC_DUTY_SCALE_CHn  b
LEDC_DUTY_START_CHn  Lpointn b Lpointn  b LEDC_DUTY_INC_CHn b
sig_outn  LEDC_DUTY_CYCLE_CHn  PWM  LEDC_DUTY_SCALE_CHnb
 LEDC_DUTY_NUM_CHn  LEDC_DUTY_CHNG_END_CHn_INTb 30.3-5b LEDC_DUTY_CYCLE_CHn  PWM sig_outn LEDC_DUTY_SCALE_CHnb

 30.3-5. 

LEDC_SIG_OUT_EN_CHn  PWM bLEDC_SIG_OUT_EN_CHn  0 sig_outn  LEDC_IDLE_LV_CHnb



758 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)
 LEDC_HPOINT_CHnaLEDC_DUTY_START_CHnaLEDC_SIG_OUT_EN_CHna LEDC_TIMER_SEL_CHna LEDC_DUTY_NUM_CHnaLEDC_DUTY_CYCLE_CHnaLEDC_DUTY_SCALE_CHna LEDC_DUTY_INC_CHn  LEDC_OVF_CNT_EN_CHn  LEDC_PARA_UP_CHn b
30.3.5 
· LEDC_OVF_CNT_CHn_INT (LEDC_OVF_NUM_CHn + 1)  LEDC_OVF_CNT_EN_CHn  1 b
· LEDC_DUTY_CHNG_END_CHn_INTLED PWM b · LEDC_TIMERx_OVF_INTLED PWM b

GoBack

30.4 

 LED PWM 30.4-1 b 3  b
 30.4-1. LED PWM 

 PeriBUS1 PeriBUS2

 0x3F419000 0x60019000

30.5 

 LED PWM cb 30.4  LED PWM  b LED PWM cb LED PWM  30.4 b

  LEDC_CH0_CONF0_REG LEDC_CH0_CONF1_REG LEDC_CH1_CONF0_REG LEDC_CH1_CONF1_REG LEDC_CH2_CONF0_REG LEDC_CH2_CONF1_REG LEDC_CH3_CONF0_REG LEDC_CH3_CONF1_REG LEDC_CH4_CONF0_REG LEDC_CH4_CONF1_REG LEDC_CH5_CONF0_REG LEDC_CH5_CONF1_REG


 0  0  0  1  1  0  1  1  2  0  2  1  3  0  3  1  4  0  4  1  5  0  5  1





0x0000 0x000C 0x0014 0x0020 0x0028 0x0034 0x003C 0x0048 0x0050 0x005C 0x0064 0x0070

 /  /  /  /  /  /



759 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)
 LEDC_CH6_CONF0_REG LEDC_CH6_CONF1_REG LEDC_CH7_CONF0_REG LEDC_CH7_CONF1_REG LEDC_CONF_REG  LEDC_CH0_HPOINT_REG LEDC_CH1_HPOINT_REG LEDC_CH2_HPOINT_REG LEDC_CH3_HPOINT_REG LEDC_CH4_HPOINT_REG LEDC_CH5_HPOINT_REG LEDC_CH6_HPOINT_REG LEDC_CH7_HPOINT_REG  LEDC_CH0_DUTY_REG LEDC_CH0_DUTY_R_REG LEDC_CH1_DUTY_REG LEDC_CH1_DUTY_R_REG LEDC_CH2_DUTY_REG LEDC_CH2_DUTY_R_REG LEDC_CH3_DUTY_REG LEDC_CH3_DUTY_R_REG LEDC_CH4_DUTY_REG LEDC_CH4_DUTY_R_REG LEDC_CH5_DUTY_REG LEDC_CH5_DUTY_R_REG LEDC_CH6_DUTY_REG LEDC_CH6_DUTY_R_REG LEDC_CH7_DUTY_REG LEDC_CH7_DUTY_R_REG  LEDC_TIMER0_CONF_REG LEDC_TIMER0_VALUE_REG LEDC_TIMER1_CONF_REG LEDC_TIMER1_VALUE_REG LEDC_TIMER2_CONF_REG LEDC_TIMER2_VALUE_REG LEDC_TIMER3_CONF_REG LEDC_TIMER3_VALUE_REG  LEDC_INT_RAW_REG LEDC_INT_ST_REG

  6  0  6  1  7  0  7  1 LEDC 
 0   1   2   3   4   5   6   7 
 0   0   1   1   2   2   3   3   4   4   5   5   6   6   7   7 
 0   0   1   1   2   2   3   3 
 



760 

GoBack

 0x0078 0x0084 0x008C 0x0098 0x00D0

  /  / /

0x0004 0x0018 0x002C 0x0040 0x0054 0x0068 0x007C 0x0090

/ / / / / / / /

0x0008 0x0010 0x001C 0x0024 0x0030 0x0038 0x0044 0x004C 0x0058 0x0060 0x006C 0x0074 0x0080 0x0088 0x0094 0x009C

/  /  /  /  /  /  /  / 

0x00A0 0x00A4 0x00A8 0x00AC 0x00B0 0x00B4 0x00B8 0x00BC

       

0x00C0  0x00C4 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)
 LEDC_INT_ENA_REG LEDC_INT_CLR_REG  LEDC_DATE_REG

  


GoBack

 0x00C8 0x00CC

 / 

0x00FC /

30.6 

Register 30.1. LEDC_CHn_CONF0_REG (n: 0-7) (0x0000+0x14*n)

(reserved)

LEDC_LEODVCF__LCEODNVCFT___CRONEVSFTE__TCR_NESSTTE__TEC_NHC_nHCnHn

LEDC_OVF_NUM_CHn

LEDC_LEPDARCA_L_EIDUDLPCE___CSLHVILG_nE_CDOHCUn_TT_IMENER__CSHEnL_CHn

31

18 17 16 15 14

54 3 21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0

0x0

0 0 0 0x0 Reset

LEDC_TIMER_SEL_CHn  n b 0 0b 1 1b 2 2b 3 3b()
LEDC_SIG_OUT_EN_CHn  n b() LEDC_IDLE_LV_CHn  n b() LEDC_PARA_UP_CHn  n  LEDC_CHn_HPOINT  LEDC_CHn_DUTY b()

LEDC_OVF_NUM_CHn  1b n  (LEDC_OVF_NUM_CHn +1)  LEDC_OVF_CNT_CHn_INT b()
LEDC_OVF_CNT_EN_CHn  n  ovf_cntb() LEDC_OVF_CNT_RESET_CHn  n  ovf_cntb() LEDC_OVF_CNT_RESET_ST_CHn LEDC_OVF_CNT_RESET_CHn b()



761 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)

GoBack

Register 30.2. LEDC_CHn_CONF1_REG (n: 0-7) (0x000C+0x14*n)

LEDC_LEDDUCT_YD_SUTTAYR_TIN_CCH_CnHn
31 30 29
01

LEDC_DUTY_NUM_CHn
20 19
0x0

LEDC_DUTY_CYCLE_CHn
10 9
0x0

LEDC_DUTY_SCALE_CHn
0

0x0

Reset

LEDC_DUTY_SCALE_CHn  n b() LEDC_DUTY_CYCLE_CHn  n  LEDC_DUTY_CYCLE_CHn b() LEDC_DUTY_NUM_CHn b() LEDC_DUTY_INC_CHn  n b10b() LEDC_DUTY_START_CHn  1 LEDC_CHn_CONF1_REG b()

Register 30.3. LEDC_CONF_REG (0x00D0)

LEDC_CLK_EN
31 30

(reserved)

LEDC_APB_CLK_SEL

21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0x0 Reset

LEDC_APB_CLK_SEL  4 b1APB_CLK2RTC8M_CLK3XTAL_CLKb ()
LEDC_CLK_EN b1b0b( )

Register 30.4. LEDC_CHn_HPOINT_REG (n: 0-7) (0x0004+0x14*n)

(reserved)

31

14 13

000000000000000000

LEDC_HPOINT_CHn 0x00

LEDC_HPOINT_CHn b()

0
Reset



762 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)

GoBack

Register 30.5. LEDC_CHn_DUTY_REG (n: 0-7) (0x0008+0x14*n)

(reserved)

31

19 18

0000000000000

LEDC_DUTY_CHn 0x000

0
Reset

LEDC_DUTY_CHn b b()

Register 30.6. LEDC_CHn_DUTY_R_REG (n: 0-7) (0x0010+0x14*n)

(reserved)

31

19 18

0000000000000

LEDC_DUTY_R_CHn 0x000

LEDC_DUTY_R_CHn  n b()

0
Reset

Register 30.7. LEDC_TIMERx_CONF_REG (x: 0-3) (0x00A0+0x8*x)

(reserved)

LEDC_LTEIDMCE_LRTExIDC_CKP_LA_TERSIDAEMCL_E_U_RTTPxIIMM_REESRRTxx_PAUSE

31

26 25 24 23 22 21

0 0 0 0 0 00 0 1 0

LEDC_CLK_DIV_TIMERx 0x000

LEDC_TIMERx_DUTY_RES

43

0

0x0

Reset

LEDC_TIMERx_DUTY_RES  x b() LEDC_CLK_DIV_TIMERx  x b 8 b() LEDC_TIMERx_PAUSE  x b() LEDC_TIMERx_RST  xb 0b() LEDC_TICK_SEL_TIMERx  x b 1 LEDC_APB_CLK_SEL[1:0] 
1b0LEDC_PWM_CLK1REF_TICKb() LEDC_TIMERx_PARA_UP  LEDC_CLK_DIV_TIMERx  LEDC_TIMERx_DUTY_RESb
()



763 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)

Register 30.8. LEDC_TIMERx_VALUE_REG (x: 0-3) (0x00A4+0x8*x)

(reserved)

31

14 13

000000000000000000

LEDC_TIMERx_CNT 0x00

LEDC_TIMERx_CNT  x  ()

GoBack
0
Reset

Register 30.9. LEDC_INT_RAW_REG (0x00C0)

(reserved)

LEDC_LEODVCF__LCEODNVCFT___LCCEODNHVCFT7____LCCIEONDNHVTCFT6_____LRCCEOIANDNHVWTCFT5_____LRCCEOINADNHVWTCFT4_____LRCCEOINADNHVWTCFT3_____LRCCEOIANDNHVWTCFT2_____LRCCEIDNADNHUWTCT1T____LYRICEND_ADHCUTWC0H_T_R_LYNED_AIGNDWCU_TCHTE__LYNNRED_GDADCU__WCHTEC_LYNNHED_GD7DCU___CHTECIN_LYNNHTED_GD6_DCU___RCHTECIAN_LYNNHWETD_GD5D_CU___CRHTECINA_LYNNHWETD_GD4D_CU___RCHTECINA_LYNNHTWTE_GD3ID_CM___RCHECIEAN_LNNHRWTETGD32ID_M____RCEOCIENA_LNVHRTWETDF21ID__M___RCIIOCNENA_VHRTTTWF10_I__M_R_ROIEAINANVRWWTFT0____RIRNOAATVWW_FR_AINWT_RAW

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

LEDC_TIMERx_OVF_INT_RAW  x b()
LEDC_DUTY_CHNG_END_CHn_INT_RAW  n bb()
LEDC_OVF_CNT_CHn_INT_RAW  n bovf_cnt  LEDC_OVF_NUM_CHn b()



764 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)

GoBack

Register 30.10. LEDC_INT_ST_REG (0x00C4)

(reserved)

LEDC_LEODVCF__LCEODNVCFT___LCCEODNHVCFT7____LCCIEONDNHVTCFT6_____LSCCEOITNDNHVTCFT5_____LSCCEOITNDNHVTCFT4_____LSCCEOITNDNHVTCFT3_____LSCCEOITNDNHVTCFT2_____LSCCEIDTNDNHUTCT1T____LYSICEND_TDHCUTC0H_T_S_LYNETD_IGNDCU_TCHTE__LYNNSED_GDTDCU__CHTEC_LYNNHED_GD7DCU___CHTECIN_LYNNHTED_GD6_DCU___SCHTECITN_LYNNHETD_GD5D_CU___SCHTECITN_LYNNHETD_GD4D_CU___SCHTECITN_LYNNHTTE_GD3ID_CM___SCHECIETN_LNNHRTETGD32ID_M____SCEOCIETN_LNVHRTETDF21ID__M___SCIIOCNENT_VHRTTTF10_I__M_S_SOITEITNNVRTFT0____SISNOTTTV_FS_TINT_ST

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

LEDC_TIMERx_OVF_INT_ST LEDC_TIMERx_OVF_INT_ENA  1 LEDC_TIMERx_OVF_INT  b()
LEDC_DUTY_CHNG_END_CHn_INT_ST LEDC_DUTY_CHNG_END_CHn_INT_ENA  1  LEDC_DUTY_CHNG_END_CHn_INT b()
LEDC_OVF_CNT_CHn_INT_ST LEDC_OVF_CNT_CHn_INT_ENA  1 LEDC_OVF_CNT_CHn_INT b()

Register 30.11. LEDC_INT_ENA_REG (0x00C8)

(reserved)

LEDC_LEODVCF__LCEODNVCFT___LCCEODNHVCFT7____LCCIEONDNHVTCFT6_____LECCEOINNDNHVATCFT5_____LECCEOINNDNHVTACFT4_____LECCEOINNDNHVTACFT3_____LECCEOINNDNHVATCFT2_____LECCEIDNNDNHUATCT1T____LYEICEND_NDHCUTAC0H_T_E_LYNEND_IGNDCAU_TCHTE__LYNNEED_GDNDCU__ACHTEC_LYNNHED_GD7DCU___CHTECIN_LYNNHTED_GD6_DCU___ECHTECINN_LYNNHAETD_GD5D_CU___CEHTECINN_LYNNHETAD_GD4D_CU___ECHTECINN_LYNNHTTAE_GD3ID_CM___ECHECIENN_LNNHRTAETGD32ID_M____ECEOCIENN_LNVHRTAETDF21ID__M___ECIIOCNENN_VHRTTTAF10_I__M_E_EOINEINNNVRAATFT0____EIENONNTVAA_FE_NINAT_ENA

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

LEDC_TIMERx_OVF_INT_ENA LEDC_TIMERx_OVF_INT b()
LEDC_DUTY_CHNG_END_CHn_INT_ENA LEDC_DUTY_CHNG_END_CHn_INT b( )
LEDC_OVF_CNT_CHn_INT_ENA LEDC_OVF_CNT_CHn_INT b()



765 

ESP32-S2 TRM ( 1.3)

 30  LED PWM  (LEDC)

GoBack

Register 30.12. LEDC_INT_CLR_REG (0x00CC)

(reserved)

LEDC_LEODVCF__LCEODNVCFT___LCCEODNHVCFT7____LCCIEONDNHVTCFT6_____LCCCEOILNDNHVRTCFT5_____LCCCEOINLDNHVRTCFT4_____LCCCEOINLDNHVRTCFT3_____LCCCEOINLDNHVRTCFT2_____LCCCEIDNLDNHURTCT1T____LYCICEND_LDHCUTRC0H_TC__LYNED_LIGNDRCU_TCHTE__LYNNCED_GDLDCU_R_CHTEC_LYNNHED_GD7DCU___CHTECIN_LYNNHTED_GD6_DCU___CCHTECILN_LYNNHRETD_GD5D_CU___CCHTECINL_LYNNHRETD_GD4D_CU___CCHTECINL_LNYNHRTTE_GD3ID_CM___CCHECIENL_LNNHRRTETGD32ID_M____CCEOCIENL_LNVHRRTETDF21ID__M___CCIIOCNENL_VHRTTTRF10_I__M_C_COIELINLNVRRRTFT0____CICNOLLTVRR_FC_LINRT_CLR

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

LEDC_TIMERx_OVF_INT_CLR  LEDC_TIMERx_OVF_INT b()
LEDC_DUTY_CHNG_END_CHn_INT_CLR  LEDC_DUTY_CHNG_END_CHn_INT  b()
LEDC_OVF_CNT_CHn_INT_CLR  LEDC_OVF_CNT_CHn_INT b()

Register 30.13. LEDC_DATE_REG (0x00FC)
LEDC_DATE
31
0x19072601
LEDC_DATE b()

0
Reset



766 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

 31 
 (RMT)
31.1 
RMTcbRMT   RAM  RAM bRMT  b
31.2 
31.2.1 RMT 
RMT  0 ~ 3b  n b 0  block 0  block 0  1   block 1  block 1 b b b 256 x 32  RAMb



 31.2-1. RMT 
767 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

31.2.2 RMT RAM

 31.2-2. RMT 

 31.2-3. RAM 

RAM  31.2-3 b 16  level  period b level  c0  1period c31.2-1 clk_divbPeriod  0 b



768 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

RAM  64 x 32  blockb blockc 0  block 0  1  block 1b n  block   RMT_MEM_SIZE_CHn  blockb RMT_MEM_SIZE_CHn > 1  n  block (n) ~ block (n + RMT_MEM_SIZE_CHn -1) b n +1 ~ n + RMT_MEM_SIZE_CHn - 1  RAM block b RAM   0  RMT_MEM_SIZE_CHn  1a2a3  RAM  3  0a1  2  RAM b
RAM  APB  RAM   RMT_MEM_OWNER_CHn  RAM b  RMT_MEM_OWNER_ERR_CHn b
 RMT  RMT_MEM_FORCE_PD  RAM b

31.2.3 
 RMT_REF_ALWAYS_ON_CHn APB_CLK  REF_TICK bRMT_DIV_CNT_CHn  0  256   RMT_DIV_CNT_CHn b RMT_REF_CNT_RST_CHn b b

31.2.4 
 RMT_TX_START_CHn  1  n  RAM block  bcperiod  0  RMT_CHn_TX_END_INT b RMT_TX_STOP_CHn b  level  RMT_IDLE_OUT_LV_CHn b RMT_IDLE_OUT_EN_CHn b
 RMT_MEM_TX_WRAP_EN b  RAM b RMT_MEM_SIZE_CHn = 1  64 * n  RAM b (64 * (n +1) - 1)  64 * n b RMT_MEM_SIZE_CHn > 1 b
 RMT_TX_LIM_CHn  RMT_CHn_TX_THR_EVENT_INT b  RMT_TX_LIM_CHn  RAM b RMT_CHn_TX_THR_EVENT_INT  RAM  b
 RMT_CARRIER_EN_CHn b b ( RMT_CARRIER_HIGH_CHn +1)  APB_CLK  REF_TICK   (RMT_CARRIER_LOW_CHn +1)  APB_CLK  REF_TICK b RMT_CARRIER_OUT_LV_CHn  RMT_CARRIER_OUT_LV_CHn  b cRAM b RMT_CARRIER_EFF_EN_CHn  b
 RMT_TX_CONTI_MODE_CHn b  RAM b RMT_TX_LOOP_CNT_EN_CHn b



769 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

RMT_TX_LOOP_NUM_CHn  RMT_CHn_TX_LOOP_INT b
 RMT_TX_SIM_EN b RMT_TX_SIM_CHn b

31.2.5 
RMT_RX_EN_CHn  1 b  RAM b RMT_IDLE_THRES_CHn   RMT_CHn_RX_END_INT b
 RMT_RX_FILTER_EN_CHn b  RMT_RX_FILTER _THRES_CHn  APB  bb RMT_RX_FILTER_THRES_CHn  APB b

31.2.6 
· RMT_CHn_ERR_INT n b · RMT_CHn_TX_THR_EVENT_INT RMT_CHn_TX_LIM_REG b · RMT_CHn_TX_END_INT, b · RMT_CHn_RX_END_INT, b · RMT_CHn_TX_LOOP_INT RMT_TX_LOOP_NUM_CHn 
b

31.3 

 RMT 31.3-1 b 3  b
 31.3-1. RMT 

 PeriBUS1 PeriBUS2

 0x3F416000 0x60016000

31.4 

 RMT cb RMT   31.3 b

  RMT_CH0CONF0_REG RMT_CH0CONF1_REG


 0  0  0  1


0x0010 0x0014


/ 



770 

ESP32-S2 TRM ( 1.3)

 31   (RMT)
 RMT_CH1CONF0_REG RMT_CH1CONF1_REG RMT_CH2CONF0_REG RMT_CH2CONF1_REG RMT_CH3CONF0_REG RMT_CH3CONF1_REG RMT_APB_CONF_REG RMT_REF_CNT_RST_REG RMT_CH0_RX_CARRIER_RM_REG RMT_CH1_RX_CARRIER_RM_REG RMT_CH2_RX_CARRIER_RM_REG RMT_CH3_RX_CARRIER_RM_REG  RMT_CH0CARRIER_DUTY_REG RMT_CH1CARRIER_DUTY_REG RMT_CH2CARRIER_DUTY_REG RMT_CH3CARRIER_DUTY_REG  RMT_CH0_TX_LIM_REG RMT_CH1_TX_LIM_REG RMT_CH2_TX_LIM_REG RMT_CH3_TX_LIM_REG RMT_TX_SIM_REG  RMT_CH0STATUS_REG RMT_CH1STATUS_REG RMT_CH2STATUS_REG RMT_CH3STATUS_REG RMT_CH0ADDR_REG RMT_CH1ADDR_REG RMT_CH2ADDR_REG RMT_CH3ADDR_REG  RMT_DATE_REG FIFO / RMT_CH0DATA_REG RMT_CH1DATA_REG RMT_CH2DATA_REG RMT_CH3DATA_REG  RMT_INT_RAW_REG RMT_INT_ST_REG RMT_INT_ENA_REG

  1  0  1  1  2  0  2  1  3  0  3  1 RMT APB  RMT   0   1   2   3 

 0x0018 0x001C 0x0020 0x0024 0x0028 0x002C 0x0080 0x0088 0x008C 0x0090 0x0094 0x0098

 0   1   2   3 

0x0060 0x0064 0x0068 0x006C

 0 Tx   1 Tx   2 Tx   3 Tx  RMT 

0x0070 0x0074 0x0078 0x007C 0x0084

 0   1   2   3   0   1   2   3 

0x0030 0x0034 0x0038 0x003C 0x0040 0x0044 0x0048 0x004C



0x00FC

 APB FIFO  0   APB FIFO  1   APB FIFO  2   APB FIFO  3 

0x0000 0x0004 0x0008 0x000C

  

0x0050 0x0054 0x0058

GoBack
 /  /  /  / / / / / /
/ / / /
    /
       
/
   
  /



771 

ESP32-S2 TRM ( 1.3)

 31   (RMT)
 RMT_INT_CLR_REG

 

 0x005C

GoBack
 

31.5 

Register 31.1. RMT_CHnCONF0_REG (n: 0-3) (0x0010+8*n)

(reservedR)MT_RCMARTR_RICEMARRT_R_OICUEARTR__RELRIVNEM_R_CTC_H_EHMnFnFE_ME_NS_ICZHE_nCHn

31 30 29 28 27 26

24 23

0 01 1 1

0x1

RMT_IDLE_THRES_CHn
87

RMT_DIV_CNT_CHn
0

0x1000

0x2

Reset

RMT_DIV_CNT_CHn  n bc/
RMT_IDLE_THRES_CHn  bc/
RMT_MEM_SIZE_CHn  n  block  1 ~ 4-nbc/
RMT_CARRIER_EFF_EN_CHn 1 n 0  n ca RAM b RMT_CARRIER_EN_CHn  1 bc/
RMT_CARRIER_EN_CHn  n b10 bc/
RMT_CARRIER_OUT_LV_CHn  n b1'h0 1'h1bc/



772 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

Register 31.2. RMT_CHnCONF1_REG (n: 0-3) (0x0014+8*n)

(reserved)

RMT_RTMX_TS_TRIODMPLTE___CRIODHMULnTET___RROEMENUFT_T__C_ACLHLVHnW_KCA_YHRSnX__OCNA_RCRHIEnR_REMNT__CRHXn_FILTER_THRES_RCMHTn_RRMX_TF_RTILMXT_ETCR_OR_MMNEENTTMI___R_CAMOMHPOWnBTD__NREMMEM_REECT_MMH_CR__nMHMRRnEDSTMT___R_RRCWMSXHT_RT_nE__CTNRHXS__nTCS_HTCnAHRnT_CHn

31

21 20 19 18 17 16 15

87 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 00 0 0 0 0

0xf

0 0 1 0 0 0 0 0 Reset

RMT_TX_START_CHn  n bbc/ RMT_RX_EN_CHn  n bbc/ RMT_MEM_WR_RST_CHn  n  RAM bc RMT_MEM_RD_RST_CHn  n  RAM bc RMT_MEM_OWNER_CHn  n  RAM b1'h1 RAM1'h0
 RAMbc/ RMT_TX_CONTI_MODE_CHn  n 
bc/ RMT_RX_FILTER_EN_CHn  n bc/ RMT_RX_FILTER_THRES_CHn  RMT_RX_FILTER_THRES_CHn  APB
bc/ RMT_CHK_RX_CARRIER_EN_CHn  RAM c n 
bc/ RMT_REF_ALWAYS_ON_CHn  n b1'h1APB_CLK1'h0REF_TICKc/

RMT_IDLE_OUT_LV_CHn  n bc/ RMT_IDLE_OUT_EN_CHn  n bc/ RMT_TX_STOP_CHn  n bc/



773 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

Register 31.3. RMT_APB_CONF_REG (0x0080)

RMT_CLK_EN
31 30

(reserved)

RMT_RMMETM_R_MMFEOTMR_RC_MMFEEO_TMPR_RCU_MCMEE_LTMKP__D_ATFPOXB_R_WCFREIFA_OOP__NMENASK
54 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 Reset

RMT_APB_FIFO_MASK 1'h1 RAM1'h0 APB FIFO  RAMbc/
RMT_MEM_TX_WRAP_EN b block  bc/
RMT_MEM_CLK_FORCE_ON RMT  RAM RMT  RAM bc/
RMT_MEM_FORCE_PD  RMT RAM bc/
RMT_MEM_FORCE_PU 1 RMT RAM  Light-sleep 0RMT  Light-sleep   RAM bc/
RMT_CLK_EN RMT  RMT b1 RMT  0 RMT bc/

Register 31.4. RMT_REF_CNT_RST_REG (0x0088)

(reserved)

RMT_RRMEFT__RCRMNEFTT___RCRRMNSETFTT____CCRRHNSET3FT___CCRHNST2T__CRHST1 _CH0

31

43 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RMT_REF_CNT_RST_CHn  n bc/



774 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

Register 31.5. RMT_CHn_RX_CARRIER_RM_REG (n: 0-3) (0x008C+4*n)

RMT_CARRIER_HIGH_THRES_CHn

RMT_CARRIER_LOW_THRES_CHn

31

16 15

0

0x00

0x00

Reset

RMT_CARRIER_LOW_THRES_CHn          n (RMT_CARRIER_LOW_THRES_CHn + 1) bc/

RMT_CARRIER_HIGH_THRES_CHn       

n

(RMT_CARRIER_HIGH_THRES_CHn + 1) bc/

 

Register 31.6. RMT_CHnCARRIER_DUTY_REG (n: 0-3) (0x0060+4*n)

RMT_CARRIER_HIGH_CHn

RMT_CARRIER_LOW_CHn

31

16 15

0x40

0x40

RMT_CARRIER_LOW_CHn  n bc/ RMT_CARRIER_HIGH_CHn  n bc/

0
Reset



775 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

Register 31.7. RMT_CHn_TX_LIM_REG (n: 0-3) (0x0070+4*n)

(reserved)

RMT_RLMOOT_PT_XC_OLUONOTP__RCENSTE_TE_NC_HCnHnRMT_TX_LOOP_NUM_CHn

31

21 20 19 18

98

0 0 0 0 0 0 0 0 0 0 00 0

0x0

RMT_TX_LIM_CHn
0

0x80

Reset

RMT_TX_LIM_CHn  n b RMT_MEM_SIZE_CHn = 1   0 ~ 128 (64 * 32 /16 = 128)  RMT_MEM_SIZE_CHn > 1   (0 ~ 128) * RMT_MEM_SIZE_CHn bc/
RMT_TX_LOOP_NUM_CHn bc/
RMT_TX_LOOP_CNT_EN_CHn bc/
RMT_LOOP_COUNT_RESET_CHn  RMT_TX_CONTI_MODE_CHn bc

Register 31.8. RMT_TX_SIM_REG (0x0084)

(reserved)

RMT_RTMX_TS_IRTMMX__TES_NIRTMMX__TCS_HIRTM3MX__TCS_HITM2X__CSHIM1 _CH0

31

54 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RMT_TX_SIM_CHn  n bc/ RMT_TX_SIM_EN bc/



776 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

Register 31.9. RMT_CHnSTATUS_REG (n: 0-3) (0x0030+4*n)

(reserved)

RMT_RAMPBT__RAMMPEBTM__R_MMMREEDTMM__R__EMWMEREMRRTM___PC_EMTFHRYEUnR_MLC_LR_CH_OMHnCWnTH_NnSETRA_TEE(Rr_eRCs_HeCnrvHend)

31

28 27 26 25 24 23 22

20 19 18

0 0 0 00 0 0 0 0

0x0

0

RMT_MEM_RADDR_EX_CH(nreserved)
10 9 8

0x0

0

RMT_MEM_WADDR_EX_CHn
0

0x0

Reset

RMT_MEM_WADDR_EX_CHn  n  RAM bc RMT_MEM_RADDR_EX_CHn  n  RAM bc RMT_STATE_CHn  n  FSM bc RMT_MEM_OWNER_ERR_CHn RAM block bc RMT_MEM_FULL_CHn  RAM block bc RMT_MEM_EMPTY_CHn  RAM block
bc
RMT_APB_MEM_WR_ERR_CHn  APB  RAM block bc
RMT_APB_MEM_RD_ERR_CHn  APB  RAM block bc

Register 31.10. RMT_CHnADDR_REG (n: 0-3) (0x0040+4*n)

(reserved)

31

19 18

0000000000000

RMT_APB_MEM_RADDR_C(Hrenserved)
10 9 8

0x0

0

RMT_APB_MEM_WADDR_CHn
0

0x0

Reset

RMT_APB_MEM_WADDR_CHn  APB  RAM bc RMT_APB_MEM_RADDR_CHn  APB  RAM bc



777 

ESP32-S2 TRM ( 1.3)

 31   (RMT)
Register 31.11. RMT_DATE_REG (0x00FC)
RMT_DATE
31
0x19072601
RMT_DATE c/

GoBack
0
Reset

Register 31.12. RMT_CHnDATA_REG (n: 0-3) (0x0000+4*n)
RMT_CHn_DATA_REG
31
0x000000
RMT_CHn_DATA_REG  APB FIFO  n bc

0
Reset

Register 31.13. RMT_INT_RAW_REG (0x0050)

(reserved)

RMT_RCMHT3__RTCMXH_T2L__ORTCOMXH_PT1L___TORICNXOMHT_PT0_L__O_RRITCNAOMXHWTP_T3__L__RIORNTCAOMXTHW__PT2TR___HRAITCNRWMXHT__T1_TE__RVHTRCAEXRMHWN__TT0TEH___VRTCRIEMNXH_N_TET3TT_V___HRRECEIRMNANRH_WTTRT3E_____VRRICIRNNEMAHXNTTW_T3_T_E__R_RRTNCAIAMXNDHWW_T_T2E__I_NNRRCETMDARH_W_RT2RI___NARCIRTNWMHX_T_T2R_E__ARRTNCWAMXDHW__T1E__INNRECTRMDH_R_T1R__I_NAIRRCNTWMXHT___T1RE__RATNRCAWXDMWH__T0EI_N_NRCETDMHR__TR0RIN__A_TCWIRN_HXTR_0_AE_RWTNAXDW__EINNTD__RINATW_RAW

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RMT_CHn_TX_END_INT_RAW  n bbc RMT_CHn_RX_END_INT_RAW  n bbc RMT_CHn_ERR_INT_RAW  n bbc RMT_CHn_TX_THR_EVENT_INT_RAW  n b
bc
RMT_CHn_TX_LOOP_INT_RAW  n b bc



778 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

Register 31.14. RMT_INT_ST_REG (0x0054)

(reserved)

RMT_RCMHT3__RTCMXH_T2L__ORTCOMXH_PT1L___TORICNXOMHT_PT0_L__OS_RITCTNOMXHTP_T3__L__SIORNTCTOMXTH__PT2TS___HTRITCNRMXHT__T1_TE__SVHTRCTEXRMHN__TT0TEH___VRTCRIEMNXH_N_TET3TT_V___HRSECEIRTMNNRH_TTRT3E_____VRSICIRNNETMHXNTT_T3_T_E__S_SRTNCTTIMXNDH_T_T2E__I_NNRSCETMDTRH__RT2SI___NTRCIRTNMHX_T_T2S_E__TSRTNCTMXDH__T1E__INNRECTRMDH_R_T1S__I_NTIRRCNTMXHT___T1SE__STTNRTCXDMH__T0EI_N_NRCETDMHR__TR0SINT___TCIRN_HXTS_0_TE_STNTXD__EINNTD__SINTT_ST

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RMT_CHn_TX_END_INT_ST RMT_CHn_TX_END_INT bc RMT_CHn_RX_END_INT_ST RMT_CHn_RX_END_INT bc RMT_CHn_ERR_INT_ST RMT_CHn_ERR_INT bc RMT_CHn_TX_THR_EVENT_INT_ST RMT_CHn_TX_THR_EVENT_INT bc RMT_CHn_TX_LOOP_INT_ST RMT_CHn_TX_LOOP_INT bc

Register 31.15. RMT_INT_ENA_REG (0x0058)

(reserved)

RMT_RCMHT3__RTCMXH_T2L__ORTCOMXH_PT1L___TORICNXOMHT_PT0_L__O_ERITCNNOMXHATP_T3__L__EIORNTCNOMXTHA__PT2TE___HRNITCNRMXAHT__T1_TE__EVHTRCNEXRMHNA__TT0TEH___VRTCRIEMNXH_N_TET3TT_V___HREECEIRNMNNRH_ATTRT3E_____VREICIRNNEMNHXNTTA_T3_T_E__E_ERTNCNNIMXNDHAA_T_T2E__I_NNRECETMDNRH__ART2EI___NNRCIRTNAMHX_T_T2E_E__NERTNCANMXDHA__T1E__INNRECTRMDH_R_T1E__I_NNIRRCNTAMXHT___T1EE__ENTNRCNAXDMHA__T0EI_N_NRCETDMHR__TR0EIN_N__TCIARN_HXTE_0_NE_EATNNXDA__EINNTD__EINNTA_ENA

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RMT_CHn_TX_END_INT_ENA RMT_CHn_TX_END_INT bc/ RMT_CHn_RX_END_INT_ENA RMT_CHn_RX_END_INT bc/ RMT_CHn_ERR_INT_ENA RMT_CHn_ERR_INT bc/ RMT_CHn_TX_THR_EVENT_INT_ENA RMT_CHn_TX_THR_EVENT_INT bc/ RMT_CHn_TX_LOOP_INT_ENA RMT_CHn_TX_LOOP_INT bc/



779 

ESP32-S2 TRM ( 1.3)

 31   (RMT)

GoBack

Register 31.16. RMT_INT_CLR_REG (0x005C)

(reserved)

RMT_RCMHT3__RTCMXH_T2L__ORTCOMXH_PT1L___TORICNXOMHT_PT0_L__OC_RITCNLOMXRHTP_T3__L__CIORNTCLOMXTRH__PT2TC___HRLITCNRRMXHT__T1_TE__CVHTRCLEXRMHRN__TT0TEH___VRTCRIEMNXH_N_TET3TT_V___HCRECEIRMNLNRH_RTTRT3E_____VRCICIRNNEMLHXNTTR_T3_T_E__CC_RTNCLILMXNDHRR_T_T2E__I_NNRCCETMDLRH_R_RT2CI___NLRCIRTRNMHX_T_T2C_E__LCRTNCRLMXDHR__T1E__INNRECTRMDH_R_T1C__I_NLIRRCNTRMXHT___T1CE_C_LTNRCLRXDMRH__T0EI_N_NRCETDMHR__CTR0IN__L_TCRIRN_HXTC_0_LE_CRTNLXDR__EINNTD__CINLTR_CLR

31

20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

RMT_CHn_TX_END_INT_CLR  RMT_CHn_TX_END_INT bc RMT_CHn_RX_END_INT_CLR  RMT_CHn_RX_END_INT bc RMT_CHn_ERR_INT_CLR  RMT_CHn_ERR_INT bc RMT_CHn_TX_THR_EVENT_INT_CLR  RMT_CHn_TX_THR_EVENT_INT bc RMT_CHn_TX_LOOP_INT_CLR  RMT_CHn_TX_LOOP_INT bc



780 

ESP32-S2 TRM ( 1.3)

GoBack
 VI  
a b



781 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

 32 

32.1 
ESP32-S2  ·  ESP32-S2 b ·  12  *  (SAR ADC) 20 b 5  ADC b ·  8  (DAC)b   v0.0  SAR ADC  13 b ESP32-S2 b
32.2 
32.2.1 
ESP32-S2  12  20  vdd33 bSAR ADC 
· 2  DIG ADC DIG ADC1 CTRL  DIG ADC2 CTRL DMA b · 2  RTC ADC RTC ADC1 CTRL  RTC ADC2 CTRLb · 1 PWDET/PKDET CTRL Wi-Fi cb SAR ADC  32.2-1b



782 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

 32.2-1. SAR ADC 

32.2.2 
·  SAR ADC  ·  12  ·  20  ·  · RTC ADC 
­  ­  Deep-sleep ­  ULP  · DIG ADC  ­  ­  ­  ­  IIR  ­  · PWDET/PKDET  Wi-Fi c ­  ­ 
  ULP  ULP-FSMb
 32.2-1 b



783 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

  DAC Deep-sleep  ULP  vdd33  PWDET/PKDET  DMA 

 32.2-1. ADC 

RTC ADC1 Y Y Y -

RTC ADC2 Y Y Y -

DIG ADC1 Y

DIG ADC2 Y Y

PWDET Y -

32.2.3 
SAR ADC  32.2-2b

Analog

pad_in[9:0]

en_pad[9:0]

SARADC1

internal_mux internal_signal
en_pad[9:0] pad_in[9:0]

SARADC2

RTC
SENS_SAR1_DIG_FORCE

0

RTC ADC1 CTRL

1

SENS_SAR2_RTC_FORCE

0

1

RTC ADC2 CTRL

Digital

SAR2ARB

DIG ADC1 CTRL
DIG ADC2 CTRL
PWDET CTRL

 32.2-2. SAR ADC 

32.2.3.1 
SAR ADC b 32.2-2   SAR ADC1/2 b

 32.2-2. SAR ADC 

 GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 GPIO6

 0 1 2 3 4 5

ADC  SAR ADC1



784 

ESP32-S2 TRM ( 1.3)

 32  
 GPIO7 GPIO8 GPIO9 GPIO10 GPIO11 GPIO12 GPIO13 GPIO14 GPIO15 GPIO16 GPIO17 GPIO18 GPIO19 GPIO20 pa_pkdet1 pa_pkdet2 vdd33

 6 7 8 9 0 1 2 3 4 5 6 7 8 9 n/a n/a n/a

ADC  SAR ADC2

GoBack

32.2.3.2 ADC 

SAR ADC cc12  0 mV ~ Vref bVref  SAR ADC   1100 mVb (data)  Vdata

Vdata

=

Vref 4095

× data

 Vref  SAR ADC b 0 dBa2.5 dBa6 dB  11 dBb

32.2.4 RTC ADC 
RTC ADC  RTC  SAR ADC  ADC bRTC ADC   32.2-3b

 32.2-3. RTC ADC 
 ULP  (ULP-FSM)  RTC ADC  SENS_MEASn_START_FORCE b



785 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

 SENS_MEASn_START_SAR RTC ADC b SENS_MEASn_DONE_SAR  SENS_MEASn_DATA_SARb
ULP  ADC  ADC bRTC ADC  ULP  b
·  Deep-sleep RTC ADC ULP  ADC  bULP  RTC  ADC b
· b RTC ADC  b

32.2.5 DIG ADC 
 RTC ADC DIG ADC  ·  ·  12  · ab SAR ADC  b
·  DIG ADC  APB_SARADC_START_FORCE  bDIG ADC  APB_SARADC_TIMER_TARGET  APB_SARADC_TIMER_EN b
·  DMA b · b
32.2.5.1 DIG ADC 
  SAR ADC opb DIG ADC bopop DIG ADC  b

 32.2-4  DIG ADC b



786 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

 32.2-4. DIG ADC 

 ADC b DIG ADC   16 bb  16 b
 8  3  32.2-3b

 32.2-3. 

ch_sel[3:0] 

 [7:0] null reserved

atten[1:0] 

 APB_SARADC_WORK_MODE  DIG ADC  
· SAR ADC1  SAR ADC2 b · SAR ADC1  SAR ADC2  DIG ADC b · SAR ADC1  SAR ADC2  DIG ADC b ADC  DMA  16  12/11  ADC   ·  4 b ·  4  1  SAR ADC b



787 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

 I  II b 32.2-4  32.2-5b

 32.2-4. I  DMA 

ch_sel[3:0] 

I  DMA  [15:0] data[11:0] SAR ADC 

sar_sel SAR ADCncn = 1  2

 32.2-5. II  DMA 

II  DMA  [15:0] ch_sel[3:0] 

data[10:0] SAR ADC 

DIG ADC  12  I  12 II  11  b

32.2.5.2 DMA
DIG ADC  SPI3  DMA  DIG ADC bSPI3 DMA  DIG ADC b APB_SARADC_APB_ADC_TRANS  DMA  DIG ADCb DMA  SPI3  DMA b
32.2.5.3 ADC 
DIG ADC  ADC b

· datacur 

datacur

=

(k

-

1)dataprev k

+

datain k

- 0.5

· datain  ADC 

· dataprev 

· k 

 APB_SARADC_ADCn_FILTER_FACTOR  APB_SARADC_ADCn_FILTER_EN b DIG ADC   dataprev DIG ADC b b

32.2.5.4 
 DIG ADC  ADC cb ·  APB_SARADC_ADCn_THRES_EN  ·  APB_SARADC_ADCn_THRES  ·  APB_SARADC_ADCn_THRES_MODE 



788 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

­ 0: ADC_DATA < APB_SARADC_ADCn_THRES ­ 1: ADC_DATA >= APB_SARADC_ADCn_THRESb  SAR ADC1  SAR ADC2  ADC b

32.2.6 SAR ADC2 
SAR ADC2 RTC ADC2 CTRLaDIG ADC2 CTRL  PWDET/PKDET CTRLb  SAR ADC2 ESP32-S2  SAR ADC2 b b
· b APB_SARADC_ARB_CTRL_REG  APB_SARADC_ADC_ARB_FIX_PRIORITY b
·  APB_SARADC_ARB_CTRL_REG  APB_SARADC_ADC_ARB_RTC_PRIORITY  (RTC ADC2 CTRL)a APB_SARADC_ADC_ARB_APB_PRIORITY  (DIG ADC2 CTRL)  APB_SARADC_ADC_ARB_WIFI_PRIORITY  (PWDET/PKDET CTRL) b b
b ADC  b b
 b
· RTC ADC2 CTRL  SENS_MEAS2_DATA_SAR 
­ 2'b10
­ 2'b01
­ 2'b00
· DIG ADC2 CTRL  DMA  ch_sel[3:0] 
­ 4'b1111
­ 4'b1110
­ 
· PWDET/PKDET CTRL 
­ 2'b10
­ 2'b01
­ 2'b00
 APB_SARADC_ADC_ARB_GRANT_FORCE  APB_SARADC_ADC_ARB_RTC_FORCEaAPB_SARADC_ADC_ARB_WIFI_FORCEa APB_SARADC_ADC_ARB_APB_FORCE b 



789 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

·  APB_SARADC_ADC_ARB_XXX_FORCE  1b ·  APB_CLK APB_CLK  8 MHz b ·  SENS_SAR_MEAS2_MUX_REG  SENS_SAR2_RTC_FORCE  1
 RTC b

32.3 

32.3.1 
ESP32S-S2  8  (DAC)bb

32.3.2 
DAC  · 2  8  DAC  ·  ·  VDD3P3_RTC_IO  ·  ·  DMA  ·  ULP  1  (ULP)b

32.3.3 DAC 
 DAC  2  8 
DACn_OUT = VDD3P3_RTC_IO · PDACn_DAC/255
· VDD3P3_RTC_IO  VDD3P3_RTC_IO c 3.3 Vb · PDACn_DAC a
RTCIO_PAD_DACn_REG  DMAb  RTCIO_PDACn_XPD_DAC  SAR ADC FSM  32.3-1b

32.3.4 
/ 32.3-2b 
·   SENS_SW_FSTEP 
freq = dig_clk_rtc_freq · SENS_SW_FSTEP/65535
dig_clk_rtc  8 MHzb



790 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

SENS_DAC_DIG_FORCE SENS_DAC_CW_ENn

CW generator

DMA

1

1

0

RTCIO_PDACn_DAC[7:0]

0

pdacn_dac[7:0]

RTCIO_PDACn_XPD_DAC

1

pdacn_xpd_dac

SAR ADC FSM

0

pdac_clk

DACn

dacn_out

RTCIO_PDACn_DAC_XPD_FORCE

 32.3-1. DAC 

·   SENS_DAC_SCALEn  1a1/2a1/4  1/8 b
·   SENS_DAC_DCn b
·   SENS_DAC_INVn  0°  180° b
­ 2 : 0°
­ 3 : 180°

 32.3-2. 

32.3.5  DMA
 DAC  (DMA)  2  DAC b SENS_DAC_DIG_FORCE APB_SARADC_APB_DAC_CTRL_REG  APB_SARADC_APB_DAC_TRANS DIG_SARADC_CLK  DAC CLKSPI3_DMA_OUT  DAC_DATA b
 2 DMA  (DMA)b



791 

ESP32-S2 TRM ( 1.3)

 32  
32.4 
32.4.1 
ESP32-S2 b
32.4.2 
 ·  ULP  ·  ULP  ·  · 
32.4.3 

ANALOG

SENS_TSENS_OUT[7:0] SENS_TSENS_READY

SENS_TSENS_POWER_UP_FORCE

dump_out_fsm

power_up_fsm

ULP

Tsensor

parameter tsens_data

XPD_SAR_ POWER_DOMAIN

Tsensor_cntl

0 1

SENS_TSENS_POWER_UP SENS_TSENS_DUMP_OUT

RTC_REG_ FILE

SENS_TSENS_IN_INV

GoBack RTC

 32.4-1. 

 32.4-1  ULP-FSM  ·  CPU  ULP-RISC-V  ­  SENS_TSENS_POWER_UP_FORCEaSENS_TSENS_POWER_UP  ­  SENS_TSENS_CLKGATE_EN  ­ c SENS_TSENS_DUMP_OUT ­  SENS_TSENS_READY SENS_TSENS_OUT b



792 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

· ULP-FSM 
­  SENS_TSENS_POWER_UP_FORCE ­ ULP-FSM  1 
 (ULP)b

32.4.4 
 (°C)b T(°C) = 0.4386 * VALUE 27.88 * offset 20.52

 VALUE offset bc  32.4-1b

 32.4-1. 

 (°C) 50 ~ 125 20 ~ 100 -10 ~ 80 -30 ~ 50 -40 ~ 20

 (°C) -2 -1 0 1 2

32.5 
· APB_SARADC_ADC1_THRES_INTSAR ADC1  ADC_DATA  
· APB_SARADC_ADC2_THRES_INTSAR ADC2  ADC_DATA  
· APB_SARADC_ADC1_DONE_INTSAR ADC1  · APB_SARADC_ADC2_DONE_INTSAR ADC2 b  1  (ULP) ULP-RISC-V b

32.6 

 32.6-1 b 3  b
 32.6-1. 

 SENSOR (RTC_PERI)

 PeriBUS1 PeriBUS2

 0x3F408800 0x60008800



793 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

SENSOR (DIGITAL)

PeriBUS1 0x3F440000 PeriBUS2 0x60040000


· SENSOR (RTC_PERI)  RTC_PERI  RTC_PERI c 9  b
· SENSOR (DIG_PERI) c 9  b

32.7 
cb 32.6 b

32.7.1 SENSOR (RTC_PERI) 

 RTC ADC1  SENS_SAR_READER1_CTRL_REG SENS_SAR_MEAS1_CTRL1_REG SENS_SAR_MEAS1_CTRL2_REG SENS_SAR_MEAS1_MUX_REG SAR ADC  SENS_SAR_ATTEN1_REG SENS_SAR_ATTEN2_REG RTC ADC AMP  SENS_SAR_AMP_CTRL3_REG RTC ADC2  SENS_SAR_READER2_CTRL_REG SENS_SAR_MEAS2_CTRL2_REG SENS_SAR_MEAS2_MUX_REG 
SENS_SAR_TSENS_CTRL_REG SENS_SAR_TSENS_CTRL2_REG DAC  SENS_SAR_DAC_CTRL1_REG SENS_SAR_DAC_CTRL2_REG IO MUX  SENS_SAR_IO_MUX_CONF_REG


 RTC ADC1   RTC ADC1   RTC ADC1   SAR ADC1 
 SAR ADC1   SAR ADC2 
AMP 
 RTC ADC2   RTC ADC2   SAR ADC2 
 
 RTC DAC  RTC DAC
 IO MUX 





0x0000 0x0008 0x000C 0x0010

/ /  /

0x0014 / 0x0038 /

0x0020 R/W

0x0024 0x0030 0x0034

/  /

0x0050  0x0054 /

0x011C 0x0120

/ /

0x0144 /

32.7.2 SENSOR (DIG_PERI) 



794 

ESP32-S2 TRM ( 1.3)

 32  

 DIG ADC  APB_SARADC_CTRL_REG APB_SARADC_CTRL2_REG APB_SARADC_CLKM_CONF_REG DIG ADC1  APB_SARADC_SAR1_PATT_TAB1_REG APB_SARADC_SAR1_PATT_TAB2_REG APB_SARADC_SAR1_PATT_TAB3_REG APB_SARADC_SAR1_PATT_TAB4_REG DIG ADC2  APB_SARADC_SAR2_PATT_TAB1_REG APB_SARADC_SAR2_PATT_TAB2_REG APB_SARADC_SAR2_PATT_TAB3_REG APB_SARADC_SAR2_PATT_TAB4_REG DIG ADC2  APB_SARADC_ARB_CTRL_REG DIG ADC  APB_SARADC_FILTER_CTRL_REG APB_SARADC_FILTER_STATUS_REG DIG ADC  APB_SARADC_THRES_CTRL_REG DIG ADC  APB_SARADC_INT_ENA_REG APB_SARADC_INT_RAW_REG APB_SARADC_INT_ST_REG APB_SARADC_INT_CLR_REG DIG ADC DMA  APB_SARADC_DMA_CONF_REG DIG DAC  APB_SARADC_APB_DAC_CTRL_REG 
APB_SARADC_APB_CTRL_DATE_REG


DIG ADC  DIG ADC   DIG ADC 
 1  0 ~ 3  1   1  4 ~ 7  1   1  8 ~ 11  1   1  12 ~ 15  1 
 2  0 ~ 3  1   2  4 ~ 7  1   2  8 ~ 11  1   2  12 ~ 15  1 
DIG ADC2 
DIG ADC  DIG ADC 

 DIG ADC  DIG ADC  DIG ADC  DIG ADC 
 DIG ADC DMA 
DIG DAC 


GoBack





0x0000 0x0004 0x005C

/ / /

0x0018 0x001C 0x0020 0x0024

/ / / /

0x0028 0x002C 0x0030 0x0034

/ / / /

0x0038 /

0x003C / 0x0040 

0x0044 /

0x0048 0x004C 0x0050 0x0054

/   

0x0058 /

0x0060 /

0x03FC /



795 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

32.8 

32.8.1 SENSOR (RTC_PERI) 

Register 32.1. SENS_SAR_READER1_CTRL_REG (0x0000)

(reservedS)ENS_SSEANRS1__SINART1__EDNATA_INV

(reserved)

31 30 29 28 27

87

0 0 1 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

SENS_SAR1_CLK_DIV
0

2

Reset

SENS_SAR1_CLK_DIV bc/ SENS_SAR1_DATA_INV  SAR ADC1 bc/ SENS_SAR1_INT_EN  SAR ADC1 b0b1bc/

Register 32.2. SENS_SAR_MEAS1_CTRL1_REG (0x0008)

(reserved)

SENS_SERNTCS__SRATRCA_DSCAR_ACDLKCG_ARTEES_EETN

(reserved)

31

24 23 22 21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SENS_RTC_SARADC_RESET  SAR ADCbc/ SENS_RTC_SARADC_CLKGATE_EN SAR ADC bc/



796 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.3. SENS_SAR_MEAS1_CTRL2_REG (0x000C)

SENS_SAR1_EN_PAD_FORCE
31 30
0

SENS_SAR1_EN_PAD 0

SENS_SEMNESA_SSEM1_NESSAT_SAM1R_TESA_TSFA1OR_RTDC_OSENAER_SAR
19 18 17 16 15
000

SENS_MEAS1_DATA_SAR 0

0
Reset

SENS_MEAS1_DATA_SAR SAR ADC1 bc SENS_MEAS1_DONE_SAR  SAR ADC1 bc SENS_MEAS1_START_SAR RTC ADC1 bc/ SENS_MEAS1_START_FORCE  1 RTC ADC1 bc/ SENS_SAR1_EN_PAD SAR ADC1 Pad bc/ SENS_SAR1_EN_PAD_FORCE  1 SAR ADC1 Pad bc/

Register 32.4. SENS_SAR_MEAS1_MUX_REG (0x0010)

SENS_SAR1_DIG_FORCE

(reserved)

31 30

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SENS_SAR1_DIG_FORCE  1 SAR ADC1  DIG ADC1 CTRL bc/

Register 32.5. SENS_SAR_ATTEN1_REG (0x0014)
SENS_SAR1_ATTEN
31
0xffffffff
SENS_SAR1_ATTEN  Pad  2 b 0 ~ 9bc/

0
Reset



797 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.6. SENS_SAR_ATTEN2_REG (0x0038)
SENS_SAR2_ATTEN
31
0xffffffff
SENS_SAR2_ATTEN  Pad  2 b 0 ~ 9bc/

0
Reset

Register 32.7. SENS_SAR_AMP_CTRL3_REG (0x0020)

(reserved)

31

43

0000000000000000000000000000

SENS_SAR1_DAC_XPD_FSM
0

3

Reset

SENS_SAR1_DAC_XPD_FSM DAC b4'b0010 DACb4'b0000 DAC b4'b0011 DAC bc/

Register 32.8. SENS_SAR_READER2_CTRL_REG (0x0024)

(reserSvEeNd)S_SSEANRS2__SIANRT2__EDNATA_INV
31 30 29 28

(reserved)

SENS_SAR2_WAIT_ARB_CY(CreLsEerved)

18 17 16 15

87

0 1 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0

SENS_SAR2_CLK_DIV
0

2

Reset

SENS_SAR2_CLK_DIV bc/ SENS_SAR2_WAIT_ARB_CYCLE SAR ADC2 bc/ SENS_SAR2_DATA_INV  SAR ADC2 bc/ SENS_SAR2_INT_EN  SAR ADC2 bc/



798 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.9. SENS_SAR_MEAS2_CTRL2_REG (0x0030)

SENS_SAR2_EN_PAD_FORCE
31 30
0

SENS_SAR2_EN_PAD 0

SENS_SEMNESA_SSEM2N_ESSA_TSAM2R_ETSA_TSFA2OR_RTDC_OSENAER_SAR
19 18 17 16 15
000

SENS_MEAS2_DATA_SAR 0

0
Reset

SENS_MEAS2_DATA_SAR SAR ADC2 bc SENS_MEAS2_DONE_SAR  SAR ADC2 bc SENS_MEAS2_START_SAR RTC ADC2 bc/ SENS_MEAS2_START_FORCE  1 RTC ADC2 bc/ SENS_SAR2_EN_PAD SAR ADC2 Pad bc/ SENS_SAR2_EN_PAD_FORCE  1 SAR ADC2 Pad bc/

Register 32.10. SENS_SAR_MEAS2_MUX_REG (0x0034)

SENS_SAR2S_ERNTSC__SFAORR2C_EPWDET_CCT

(reserved)

31 30

28 27

0

0

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SENS_SAR2_PWDET_CCT SAR2_PWDET_CCTPA bc/ SENS_SAR2_RTC_FORCE  RTC ADC bc/



799 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.11. SENS_SAR_TSENS_CTRL_REG (0x0050)

(reserved)

SENS_STESNESN_SSTE_SNEDSNU_STM_SPEP_NOOSWU_ETPRO_WUPER__FOUSPRECNES_TSENS_CLK_DIV SENS_STESNESN_ST_SEINN(_rSeIN_sIVeNrTve_dE)NSENS_TSENS_READY

SENS_TSENS_OUT

31

25 24 23 22 21

14 13 12 11

987

0

0 0 0 0 0 0 00 0 0

6

0 1 0 0 00

0x0

Reset

SENS_TSENS_OUT bc SENS_TSENS_READY bc SENS_TSENS_INT_EN bc/ SENS_TSENS_IN_INV bc/ SENS_TSENS_CLK_DIV bc/ SENS_TSENS_POWER_UP bc/ SENS_TSENS_POWER_UP_FORCE 0 FSM b1
bc/ SENS_TSENS_DUMP_OUT  SENS_TSENS_POWER_UP_FORCE = 1 
bc/

Register 32.12. SENS_SAR_TSENS_CTRL2_REG (0x0054)

(reserved)

SENS_STESNESN_ST_SERNESSE_TCLKGATE_EN

(reserved)

31

17 16 15 14

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SENS_TSENS_CLKGATE_EN bc/ SENS_TSENS_RESET bc/



800 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.13. SENS_SAR_DAC_CTRL1_REG (0x011C)

(reserved)

SENS_SEDNACS_S_CEDNALKCSG_S_AEDRTNAEESCS_E_S_ETCEDNNALKCS__S_ICEDNNALVKCS___FCDOALRKCC__FEDO_IGHR_CI(GFrEeHO_sReLCOrvEWed)

SENS_SW_TONE_EN

31

28 27 26 25 24 23 22 21

17 16 15

0 0 0 00 0 0 0 0 00 0 0 0 00

SENS_SW_FSTEP 0

0
Reset

SENS_SW_FSTEP bc/ SENS_SW_TONE_EN 01bc/ SENS_DAC_DIG_FORCE 0DAC1  DAC2  DMA1DAC1  DAC2  DMAbc/

SENS_DAC_CLK_FORCE_LOW  1 PDAC_CLK bc/ SENS_DAC_CLK_FORCE_HIGH  1 PDAC_CLK bc/ SENS_DAC_CLK_INV  1 PDAC_CLKbc/ SENS_DAC_RESET  DACbc/ SENS_DAC_CLKGATE_EN DAC bc/



801 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.14. SENS_SAR_DAC_CTRL2_REG (0x0120)

(reserved)

SENS_SEDNACS__CDSAWCE_N_ECSN_W2D_AECNS_1EINNVS2_DACS_EINNVS1_DACS_ESNCSAL_ED2AC_SCALE1

31

26 25 24 23 22 21 20 19 18 17 16 15

0 0 0 0 0 01 1 0

0

0

0

SENS_DAC_DC2
87
0

SENS_DAC_DC1
0

0

Reset

SENS_DAC_DC1  DAC1 bc/
SENS_DAC_DC2  DAC2 bc/
SENS_DAC_SCALE1 DAC1 b0001 1/210 1/411 1/8bc/
SENS_DAC_SCALE2 DAC2 b0001 1/210 1/411 1/8bc/
SENS_DAC_INV1  DAC1b00011011 bc/
SENS_DAC_INV2  DAC2b00011011 bc/
SENS_DAC_CW_EN1 0 RTCIO_PDAC1_DAC  PDAC1_DAC 1  PDAC1_DAC bc/
SENS_DAC_CW_EN2 0 RTCIO_PDAC2_DAC  PDAC2_DAC 1  PDAC2_DAC bc/

Register 32.15. SENS_SAR_IO_MUX_CONF_REG (0x0144)

SENS_SEIONMSU_IXO_MCLUKX__GRAETSEE_TEN

(reserved)

31 30 29

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

SENS_IOMUX_RESET  IO MUXbc/ SENS_IOMUX_CLK_GATE_EN IO MUX bc/



802 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

32.8.2 SENSOR (DIG_PERI) 

Register 32.16. APB_SARADC_CTRL_REG (0x0000)

APB_SAR(rAeDseCr_vWedAA)PITB__ASRABR(_rAeCDsYeCCr_AvLPXeEPBdD)__SASAPARBRA__DSAFCAPORB_RAD_CDSATECAAR__ASSDAARCR2_A__SPSPABEAR_LT1S_TA_PRAPAT_DTCC_L_PES_AACRRL2EA_RPAAPTBT__SLAERNADC_SAR1_PATT_LEN APB_SARADC_SAR_CLK_ADPIBV_SAAPRBA_DSCAR_AASPDABRC__S_CASLRA(rKRAe_D_sGeSCArE_AvTLWPeEBdOD)_RSAKAP_RBMA_ODSDCAER_ASDTACR_TSTART_FORCE

31 30 29 28 27 26 25 24 23 22

19 18

15 14

76 54

32 1 0

1 0 0 0000

15

15

4

1 0 0 0 0 0 Reset

APB_SARADC_START_FORCE 0 FSM  SAR ADC1 SAR ADCbc/
APB_SARADC_START  1 SAR ADCb APB_SARADC_START_FORCE = 1  bc/
APB_SARADC_WORK_MODE b012bc/

APB_SARADC_SAR_SEL  SAR ADCb0 SAR ADC11 SAR ADC2b bc/
APB_SARADC_SAR_CLK_GATED SAR ADC bc/ APB_SARADC_SAR_CLK_DIV SAR ADC bc/ APB_SARADC_SAR1_PATT_LEN SAR ADC10 ~ 15  1 ~ 16bc/ APB_SARADC_SAR2_PATT_LEN SAR ADC20 ~ 15  1 ~ 16bc/ APB_SARADC_SAR1_PATT_P_CLEAR  DIG ADC1 CTRL bc/ APB_SARADC_SAR2_PATT_P_CLEAR  DIG ADC2 CTRL bc/ APB_SARADC_DATA_SAR_SEL  1 sar_sel  16 
 11-bitbc/ APB_SARADC_XPD_SAR_FORCE  XPD SARbc/ APB_SARADC_WAIT_ARB_CYCLE SAR_DONE                   
bc/



803 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.17. APB_SARADC_CTRL2_REG (0x0004)

(reserved)

APB_SARADC_TIMER_EN

31

25 24 23

0 0 0 0 0 0 00

APB_SARADC_TIMER_TARGET

(reserAvPeBd)_SAAPRBA_DSCAR_ASDARC2__SIANRV1_INVAPB_SARADC_MAX_MEAASP_BN_USMARADC_MEAS_NUM_LIMIT

12 11 10 9 8

10

10

000

255

0 Reset

APB_SARADC_MEAS_NUM_LIMIT  SAR ADC bc/ APB_SARADC_MAX_MEAS_NUM bc/ APB_SARADC_SAR1_INV  1  DIG ADC1 CTRL bc/ APB_SARADC_SAR2_INV  1  DIG ADC2 CTRL bc/ APB_SARADC_TIMER_TARGET  SAR ADC bc/ APB_SARADC_TIMER_EN  SAR ADC bc/

Register 32.18. APB_SARADC_CLKM_CONF_REG (0x005C)

(reserved)

APB_SAR(rAeDseCr_vCedLK) _SEL

APB_SARADC_CLKM_DIV_A

APB_SARADC_CLKM_DIV_B

31

23 22 21 20 19

14 13

87

000000000 0 0

0x0

0x0

APB_SARADC_CLKM_DIV_NUM
0

4

Reset

APB_SARADC_CLKM_DIV_NUM DIG_ADC bc/ APB_SARADC_CLKM_DIV_B bc/ APB_SARADC_CLKM_DIV_A bc/ APB_SARADC_CLK_SEL 1 APLLb2 APB_CLKbbc/



804 

ESP32-S2 TRM ( 1.3)

 32  
Register 32.19. APB_SARADC_SAR1_PATT_TAB1_REG (0x0018)
APB_SARADC_SAR1_PATT_TAB1
31
0xf0f0f0f
APB_SARADC_SAR1_PATT_TAB1  1  0 ~ 3  1 bc/
Register 32.20. APB_SARADC_SAR1_PATT_TAB2_REG (0x001C)
APB_SARADC_SAR1_PATT_TAB2
31
0xf0f0f0f
APB_SARADC_SAR1_PATT_TAB2  1  4 ~ 7  1 bc/
Register 32.21. APB_SARADC_SAR1_PATT_TAB3_REG (0x0020)
APB_SARADC_SAR1_PATT_TAB3
31
0xf0f0f0f
APB_SARADC_SAR1_PATT_TAB3  1  8 ~ 11  1 bc/

GoBack
0
Reset
0
Reset
0
Reset



805 

ESP32-S2 TRM ( 1.3)

 32  
Register 32.22. APB_SARADC_SAR1_PATT_TAB4_REG (0x0024)
APB_SARADC_SAR1_PATT_TAB4
31
0xf0f0f0f
APB_SARADC_SAR1_PATT_TAB4  1  12 ~ 15  1 bc/

GoBack
0
Reset

Register 32.23. APB_SARADC_SAR2_PATT_TAB1_REG (0x0028)
APB_SARADC_SAR2_PATT_TAB1
31
0xf0f0f0f
APB_SARADC_SAR2_PATT_TAB1  2  0 ~ 3  1 bc/

0
Reset

Register 32.24. APB_SARADC_SAR2_PATT_TAB2_REG (0x002C)
APB_SARADC_SAR2_PATT_TAB2
31
0xf0f0f0f
APB_SARADC_SAR2_PATT_TAB2  2  4 ~ 7  1 bc/

0
Reset



806 

ESP32-S2 TRM ( 1.3)

 32  
Register 32.25. APB_SARADC_SAR2_PATT_TAB3_REG (0x0030)
APB_SARADC_SAR2_PATT_TAB3
31
0xf0f0f0f
APB_SARADC_SAR2_PATT_TAB3  2  8 ~ 11  1 bc/

GoBack
0
Reset

Register 32.26. APB_SARADC_SAR2_PATT_TAB4_REG (0x0034)
APB_SARADC_SAR2_PATT_TAB4
31
0xf0f0f0f
APB_SARADC_SAR2_PATT_TAB4  2  12 ~ 15  1 bc/

0
Reset



807 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.27. APB_SARADC_ARB_CTRL_REG (0x0038)

(reserved)

APB_SARAAPDBC_S_AARDACDA_CPAB_R_ABSD_ACFRI_XAA_DARPCPBRB__IO_WARSDIFIACTIRA__YAPPADBRRC_IBOS_A_RAPARIRBDTTAY_CCDSA__CAPPARB_RRA_AIBODSDA_RCAPCAIRB_T_PAY_ABADSDR_CACBPR_(__RrAAeGAIODsDRRReCCBAIr_TN__vWAeYATDdR_IF)CBFIO___FARRORTCCRBE_C_FEAOPRBC_EFORCE

31

13 12 11 10 9

87

65 4 3 21

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 2

1

0 0 0 0 0 0 0 Reset

APB_SARADC_ADC_ARB_APB_FORCE SAR ADC2  DIG ADC2 CTRLbc/ APB_SARADC_ADC_ARB_RTC_FORCE SAR ADC2  RTC ADC2 CTRLbc/ APB_SARADC_ADC_ARB_WIFI_FORCE SAR ADC2  PWDET CTRLbc/ APB_SARADC_ADC_ARB_GRANT_FORCE  SAR ADC2 bc/ APB_SARADC_ADC_ARB_APB_PRIORITY  DIG ADC2 CTRL bc/ APB_SARADC_ADC_ARB_RTC_PRIORITY  RTC ADC2 CTRL bc/ APB_SARADC_ADC_ARB_WIFI_PRIORITY  PWDET/PKDET CTRL bc/ APB_SARADC_ADC_ARB_FIX_PRIORITY  SAR ADC2 bc/

Register 32.28. APB_SARADC_FILTER_CTRL_REG (0x003C)

APB_SAAPRBA_DSCAR_AADDCC_1_AFDILCT2E_RAF_PILEBTN_ESRA_REANDC_ADC1_FILTER_FACTOR APB_SARADC_ADC2_FILTER_FACTOR

31 30 29

23 22

16 15

(reserved)

APB_SAAPRBA_DSCAR_AADDCC_1_AFDILCT2E_RF_ILRTEESRE_TRESET
21 0

00

64

64

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

APB_SARADC_ADC2_FILTER_RESET  SAR ADC2 bc/ APB_SARADC_ADC1_FILTER_RESET  SAR ADC1 bc/ APB_SARADC_ADC2_FILTER_FACTOR  DIG ADC2 CTRL bc/ APB_SARADC_ADC1_FILTER_FACTOR  DIG ADC1 CTRL bc/ APB_SARADC_ADC2_FILTER_EN  DIG ADC2 CTRL bc/ APB_SARADC_ADC1_FILTER_EN  DIG ADC1 CTRL bc/



808 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.29. APB_SARADC_FILTER_STATUS_REG (0x0040)

APB_SARADC_ADC1_FILTER_DATA

APB_SARADC_ADC2_FILTER_DATA

31

16 15

0

0

0

Reset

APB_SARADC_ADC2_FILTER_DATA SAR ADC2 bc APB_SARADC_ADC1_FILTER_DATA SAR ADC1 bc

Register 32.30. APB_SARADC_THRES_CTRL_REG (0x0044)

APB_SAAPRBA_DSCAR_AADDCC_1_ATDHCR2E_ST_HERNES_EN
31 30 29
00

APB_SARADC_ADC1_THRES 0

17 16

APB_SARADC_ADC2_THRES 0

APB_SAAPRBA_DS(rCAeRs_eAArDDAvCPeCBd_1_)_ATSDHACRR2EA_SDT_HCMR_OECSDL_KEM_EONDE
43 2 1 0
0 0 0 0 Reset

APB_SARADC_CLK_EN bc/ APB_SARADC_ADC2_THRES_MODE  SAR ADC2 b0 ADC_DATA 
b1 ADC_DATA bc/ APB_SARADC_ADC1_THRES_MODE  SAR ADC1 b0 ADC_DATA 
b1 ADC_DATA bc/ APB_SARADC_ADC2_THRES  SAR ADC2 bc/ APB_SARADC_ADC1_THRES  SAR ADC1 bc/ APB_SARADC_ADC2_THRES_EN  SAR ADC2 bc/ APB_SARADC_ADC1_THRES_EN  SAR ADC1 bc/



809 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.31. APB_SARADC_INT_ENA_REG (0x0048)

APB_SAAPRBA_DSACAPRB_A_ADSDACAPCRB_1_A_ADDSDOCACRN_2AAE_D_DDCICON_1NT_A_ETD_EHCNIRN2AET_S_T_EHINNRAETS__ENINAT_ENA

(reserved)

31 30 29 28 27

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

APB_SARADC_ADC2_THRES_INT_ENA APB_SARADC_ADC2_THRES_INT bc/ APB_SARADC_ADC1_THRES_INT_ENA APB_SARADC_ADC1_THRES_INT bc/ APB_SARADC_ADC2_DONE_INT_ENA APB_SARADC_ADC2_DONE_INT bc/ APB_SARADC_ADC1_DONE_INT_ENA APB_SARADC_ADC1_DONE_INT bc/

Register 32.32. APB_SARADC_INT_RAW_REG (0x004C)

APB_SAAPRBA_DSACAPRB_A_ADSDACAPCRB_1_A_ADDSDOCACRN_2AAE_D_DDCICON_1NT_A_ETD_RHCIARN2WET_S_T_RHIANRWETS__RIANWT_RAW

(reserved)

31 30 29 28 27

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

APB_SARADC_ADC2_THRES_INT_RAW APB_SARADC_ADC2_THRES_INT bc APB_SARADC_ADC1_THRES_INT_RAW APB_SARADC_ADC1_THRES_INT bc APB_SARADC_ADC2_DONE_INT_RAW APB_SARADC_ADC2_DONE_INT bc APB_SARADC_ADC1_DONE_INT_RAW APB_SARADC_ADC1_DONE_INT bc



810 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.33. APB_SARADC_INT_ST_REG (0x0050)

APB_SAAPRBA_DSACAPRB_A_ADSDACAPCRB_1_A_ADDSDOCACRN_2AAE_D_DDCICON_1NT_A_ETD_SHCTIRN2ET_S_T_SHITNRETS__STINT_ST

(reserved)

31 30 29 28 27

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

APB_SARADC_ADC2_THRES_INT_ST APB_SARADC_ADC2_THRES_INT bc APB_SARADC_ADC1_THRES_INT_ST APB_SARADC_ADC1_THRES_INT bc APB_SARADC_ADC2_DONE_INT_ST APB_SARADC_ADC2_DONE_INT bc APB_SARADC_ADC1_DONE_INT_ST APB_SARADC_ADC1_DONE_INT bc

Register 32.34. APB_SARADC_INT_CLR_REG (0x0054)

APB_SAAPRBA_DSACAPRB_A_ADSDACAPCRB_1_A_ADDSDOCACRN_2AAE_D_DDCICON_1NT_A_ETDC_HCILRN2RET_S_T_CHILNRRETS_C_ILNRT_CLR

(reserved)

31 30 29 28 27

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Reset

APB_SARADC_ADC2_THRES_INT_CLR APB_SARADC_ADC2_THRES_INT bc APB_SARADC_ADC1_THRES_INT_CLR APB_SARADC_ADC1_THRES_INT bc APB_SARADC_ADC2_DONE_INT_CLR APB_SARADC_ADC2_DONE_INT bc APB_SARADC_ADC1_DONE_INT_CLR APB_SARADC_ADC1_DONE_INT bc



811 

ESP32-S2 TRM ( 1.3)

 32  

GoBack

Register 32.35. APB_SARADC_DMA_CONF_REG (0x0058)

APB_SAAPRBA_DSCAR_AADPCB__AAPDBC__TARDACN_SRESET_FSM (reserved)
31 30 29

16 15

0 00 0 0 0 0 0 0 0 0 0 0 0 0 0

APB_SARADC_APB_ADC_EOF_NUM 255

0
Reset

APB_SARADC_APB_ADC_EOF_NUM  = spi_eof_num dma_in_suc_eofbc/

APB_SARADC_APB_ADC_RESET_FSM  DIG ADC CTRL bc/ APB_SARADC_APB_ADC_TRANS  DIG DAC CTRL  SPI DMAbc/

Register 32.36. APB_SARADC_APB_DAC_CTRL_REG (0x0060)

(reserved)

APB_SAAPRBA_DSACAPRB_A_ADSPACAPBRB__AD_DDSAAACACPCRB___A_ARRDSPESCASTBRE__TAAD_DPAFCBCI___FTODDRAAACCN__TSAILMTEERR__EMNODE APB_SARADC_DAC_TIMER_TARGET

31

17 16 15 14 13 12 11

0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 1 0

100

Reset

APB_SARADC_DAC_TIMER_TARGET  DAC bc/ APB_SARADC_DAC_TIMER_EN  DAC bc/ APB_SARADC_APB_DAC_ALTER_MODE  DAC ALTER bc/ APB_SARADC_APB_DAC_TRANS  DMA_DACbc/ APB_SARADC_DAC_RESET_FIFO  DIG DAC FIFObc/ APB_SARADC_APB_DAC_RST  DIG DACbc/



812 

ESP32-S2 TRM ( 1.3)

 32  
Register 32.37. APB_SARADC_APB_CTRL_DATE_REG (0x03FC)
APB_SARADC_APB_CTRL_DATE
31
0x1907162
APB_SARADC_APB_CTRL_DATE bc/

GoBack
0
Reset



813 

ESP32-S2 TRM ( 1.3)

 ·  ·  ·  ·  · 

 VII  

GoBack



814 

ESP32-S2 TRM ( 1.3)




· uESP32-S2 v ­  ESP32-S2 b · uESP32-S2 v ­  ESP32-S2 b · uESP32-S2 v ­  ESP32-S2 b · 
https://espressif.com/zh-hans/support/documents/certificates · ESP32-S2 / (PCN)
https://espressif.com/zh-hans/support/documents/pcns?keys=ESP32-S2 · ESP32-S2  ­ abugaa
https://espressif.com/zh-hans/support/documents/advisories?keys=ESP32-S2 · 
https://espressif.com/zh-hans/support/download/documents

· uESP32-S2 ESP-IDF v ­ ESP-IDF b · ESP-IDF  GitHub 
https://github.com/espressif · ESP32  ­  (E2E) aaab
https://esp32.com/ · ESP-FAQ ­ b
https://espressif.com/projects/esp-faq/zh_CN/latest/index.html · The ESP Journal ­ ab
https://blog.espressif.com/ · SDK aAppaaAT 
https://espressif.com/zh-hans/support/download/sdks-demos

· ESP32-S2  ­ ESP32-S2 b https://espressif.com/zh-hans/products/socs?id=ESP32-S2
· ESP32-S2  ­ ESP32-S2 b https://espressif.com/zh-hans/products/modules?id=ESP32-S2
· ESP32-S2  ­ ESP32-S2 b https://espressif.com/zh-hans/products/devkits?id=ESP32-S2
· ESP Product Selectorc­ ab https://products.espressif.com/#/product-selector?language=zh

· aa & PCB acaa https://espressif.com/zh-hans/contact-us/sales-questions



815 

ESP32-S2 TRM ( 1.3)






AES BOOTCTRL DS DMA eFuse HMAC I2C I2S LEDC MMU PCNT PERI RMT RNG RSA RTC SHA SPI SYSTIMER TIMG TWAI UART ULP  USB OTG WDT

AES   Boot   DMA  eFuse  HMAC  I2C  I2S  LED PWM       RSA  bSoC  SHA  SPI     UART   USB On-The-Go 



REG SYSREG
ISO
NMI W1TS
W1TC

b aaaaa b bcbISO  /b  CPU b b // b GPIO_ENABLE_W1TS_REG   GPIO_ENABLE_REG b  W1TS b



816 

ESP32-S2 TRM ( 1.3)




TRM     b 

· RO · WO · WT · R/W · R/W1 · WL · R/W/SC

· R/W/SS · R/W/SS/SC · R/WC/SS · R/WC/SC · R/WC/SS/SC · R/WS/SC · R/WS/SS

· R/WS/SS/SC · R/SS/WTC · R/SC/WTC · R/SS/SC/WTC · RF/WF · R/SS/RC · varies

b
R b/b RO b/b HRO b/b W b/b WO b/b W1 b/ 1 0 b SS b 1 /b SC b 0 /
b SM b/
b SU b/b RS b/ 1b RC b/ 0b RF  FIFOb FIFO/b WF  FIFOb//
APB  FIFOb WS b//b W1S  1 b 1 //
b W0S  0 b 0 //
b WC b//b W1C  1 b 1 //
b W0C  0 b 0 //
b WT b 1 
cAPB  WTC c WTCb



817 

ESP32-S2 TRM ( 1.3)



WTC W1T W0T WL varies

b 1  WT  c WTb  1 b 1  b  0 b 0  b b/b bb



818 

ESP32-S2 TRM ( 1.3)






ab



b 
1.  b

2. boResetpb  X  Field_A  1b

Register 32.38.  X ()

(reserved)

Field_C

31

20 19

16 15

(reserved)

Field_FBield_A
21 0

000000000000

0000

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Reset

  X  Field_AaField_B  Field_C  0x0a0x1  0x2
·  1 b 0x0000_0003 0x0002_0002 b
·  2  0x0002_0002  b



819 

ESP32-S2 TRM ( 1.3)






· RAWcb  RAW  1b
· ENAcb  ENA bc  RAW b
· STcbST  1  RAW  ENA  1bRAW  ENA ST  0b ENA/RAW/ST  32.8-4b
· CLRcCLR b 1 b

 32.8-4. ENA/RAW/ST 

ENA  0
1

RAW   0 1

ST  0 0 1



820 

ESP32-S2 TRM ( 1.3)








2025-08-06 v1.3

 
·  6  6.2.3 CPU   





821 

ESP32-S2 TRM ( 1.3)







2025-02-17 v1.2







·  1  (ULP) SENS_SAR_I2C_CTRL_REG 



·  3  3.3-5 ·  4 eFuse  (eFuse) 4.4-1 eFuse 

 

·  5 IO MUX  GPIO  5.8  ·  6  SYSCON_TICK_CONF_REG  ·  7  Boot  (BOOTCTRL)

­ 

EFUSE_DIS_FORCE_DOWNLOAD



EFUSE_DIS_DOWNLOAD_MODE    Boot      



­  ROM 

·  9 

­  9.4-3  EXT1 

­ op

­  RTC_CNTL_WDT_WKEY 

­  9.4-3  EXT1 

·  11  (TIMG) TIMG_WDT_CLK_PRESCALER  ·  14  (PMS) APB_CTRL to SYSCON

·  15 

­  SPI4  I2S1 

­ 15.3.2 

·  23 UART  (UART) (break condition) 

 wake_up 



·   24 SPI    (SPI)      SPI_LCD_HB_FRONTa

SPI_LCD_VB_FRONTaSPI_LCD_VSYNC_WIDTHa

SPI_LCD_HSYNC_WIDTHaSPI_LCD_HSYNC_POSITION  ·   25 I2C    (I2C)   I2C_COMD0_REGa

I2C_SDA_FORCE_OUT  I2C_SCL_FORCE_OUT 

·   26 I2S    (I2S)      I2S_TX_FIFO_MODa

I2S_RX_FIFO_MODaI2S_TX_FIFO_MOD_FORCE_ENa

I2S_RX_FIFO_MOD_FORCE_EN 

·  28 USB OTG USB OTG 

·  30 LED PWM  (LEDC)  

·  32  





822 

ESP32-S2 TRM ( 1.3)







2022-09-23 v1.1

2021-06-11 v1.0 2020-12-28 v0.7


 
·  1   (ULP)  1.9 ·  4  eFuse  (eFuse)  ·    9                     
RTC_CNTL_MAIN_STATE_IN_IDLE  ·  19  HMAC  (HMAC)  ·  USB OTG  ·  29   (TWAI)  ·  31  (RMT)  31.2-1 31.2-2 ·  32  ·  · 
­ RTC8M_CLK  RC_FAST_CLK ­ RTC8M_D256_CLK  RC_FAST_DIV_CLK ­ RTC_CLK  RC_SLOW_CLK ­ SLOW_CLK  RTC_SLOW_CLK ­ FAST_CLK  RTC_FAST_CLK ­ PLL_160M_CLK  PLL_F160M_CLK ·  6.1-1  eFuse 
   
·  4  eFuse  (eFuse)  EFUSE_DIS_RTC_RAM_BOOT 
·  9    ·  14.3.2.2    ·  23  UART  (UART)  LEDC_TIMERx_CONF_REG (x: 0-3)
 ·  28.5    USB OTG 

 24  SPI  (SPI)  
·  2  DMA  (DMA)   DMA   EDMA  ·  9    9.3-1 ·  11  (TIMG)  TIMG_RTCCALICFG_REG 
TIMG_RTCCALICFG1_REG  ·  19  HMAC  (HMAC)  ·   23  UART    (UART)     23.3-1  
UART_RXD_CNT_REG  ·  29   (TWAI) 




823 

ESP32-S2 TRM ( 1.3)







2020-08-12 v0.6

2020-06-19 v0.5

2020-05-21 v0.4

2020-04-01 v0.3
2020-01-20 v0.2 2019-11-27 v0.1


 
·  26  I2S  (I2S) ·  28  USB OTG  ·  6    6.2-1  ·  22   (RNG)  22.4 ·  23  UART  (UART)  23.3.4.2  
 ·  29   (TWAI)  29.5 
 32  
·  2  DMA  (DMA)  Copy DMA  DMA  Internal DMA  EMDA 
·  12   (WDT)  12.4 
 ·  9   ·  29   (TWAI)
 ·  4  eFuse  (eFuse) EFUSE_PGM_DATA1_REG[16]                      EFUSE_RPT4_RESERVED5  EFUSE_RPT4_RESERVED5_ERR    ·  5  IO MUX  GPIO   5.4  GPIO ·  22   (RNG) 
 ·  1   (ULP) ·  10   (SYSTIMER) ·  13  XTAL32K  (XTWDT) ·  14   (PMS) ·  19  HMAC  (HMAC)
 RTC_CLK  
·  2  DMA  (DMA) ·  5  IO MUX  GPIO  ·  23  UART  (UART)  eFuse a 



824 

ESP32-S2 TRM ( 1.3)


 URL b opab aa b b b Wi-Fi  Wi-Fi b Bluetooth SIG b ab  © 2025 cbb www.espressif.com


LaTeX with hyperref xdvipdfmx (20240407)

Related Documents

Preview Espressif ESP-Dev-Kits: Supported Development Boards Guide
Explore Espressif's range of ESP-Dev-Kits, detailing supported development boards, their features, hardware specifications, and getting started guides for engineers and developers. Includes information on ESP32 series, HMI kits, touch sensors, and development tools.
Preview ESP32-H2 Series Datasheet: Low-Power RISC-V MCU with Bluetooth LE & 802.15.4
Comprehensive datasheet for the Espressif ESP32-H2 Series, detailing its RISC-V processor, Bluetooth Low Energy, 802.15.4 capabilities, and suitability for IoT applications.
Preview ESP-Matter Programming Guide: Develop IoT Devices with Espressif
Explore Espressif's comprehensive ESP-Matter Programming Guide. This resource details the development of Matter-enabled IoT devices using the ESP32 series SoCs, covering SDK integration, Matter certification, production considerations, security, and optimization techniques.
Preview Espressif Systems 2025 Q2 & Half-Year Report: AIoT Solutions and Financial Performance
Comprehensive report detailing Espressif Systems' business strategy, core technologies, product portfolio including IoT chips and M5Stack development kits, market presence, financial performance, R&D investments, and developer community engagement for Q2 and the first half of 2025.
Preview ESP32-S2 Technical Reference Manual | Espressif Systems
The official Technical Reference Manual for the Espressif ESP32-S2 System on Chip (SoC). This document provides in-depth technical details on the ESP32-S2's architecture, hardware modules (including ULP Coprocessor, DMA, Memory, Connectivity, Cryptography), programming guidelines, and register specifications, essential for embedded systems developers.
Preview ESP32-DevKitC V4 Getting Started Guide | Espressif
A comprehensive guide to getting started with the ESP32-DevKitC V4 development board from Espressif. Learn about its features, components, and pinouts for easy interfacing and application development.
Preview Espressif EU Declaration of Conformity for Wi-Fi & Bluetooth IoT Modules
Official EU Declaration of Conformity from Espressif Systems for their Wi-Fi and Bluetooth Internet of Things modules, confirming compliance with RoHS and RE directives.
Preview ESP32-C3-MINI-1 & ESP32-C3-MINI-1U Datasheet: High-Performance Wi-Fi & Bluetooth LE Modules
Detailed datasheet for Espressif's ESP32-C3-MINI-1 and ESP32-C3-MINI-1U modules, featuring 2.4 GHz Wi-Fi, Bluetooth 5, RISC-V processor, and compact design for IoT applications.