sdkconfig.defaults 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. CONFIG_IDF_TARGET="esp32p4"
  2. # L2 TAP for PTP
  3. CONFIG_ESP_NETIF_L2_TAP=y
  4. # PTP daemon
  5. CONFIG_NETUTILS_PTPD=y
  6. CONFIG_NETUTILS_PTPD_CLIENT=y
  7. CONFIG_NETUTILS_PTPD_SERVER=y
  8. CONFIG_NETUTILS_PTPD_SYNC_INTERVAL_MSEC=125
  9. CONFIG_NETUTILS_PTPD_ANNOUNCE_INTERVAL_MSEC=2000
  10. CONFIG_NETUTILS_PTPD_PRIORITY1=128
  11. CONFIG_NETUTILS_PTPD_PRIORITY2=128
  12. CONFIG_NETUTILS_PTPD_CLASS=248
  13. CONFIG_NETUTILS_PTPD_ACCURACY=254
  14. CONFIG_NETUTILS_PTPD_CLOCKSOURCE=160
  15. CONFIG_NETUTILS_PTPD_TWOSTEP_SYNC=y
  16. CONFIG_NETUTILS_PTPD_SEND_DELAYREQ=y
  17. CONFIG_NETUTILS_PTPD_DELAYREQ_AVGCOUNT=8
  18. CONFIG_NETUTILS_PTPD_SERVERPRIO=20
  19. CONFIG_NETUTILS_PTPD_STACKSIZE=6144
  20. CONFIG_NETUTILS_PTPD_MAX_PATH_DELAY_NS=1000000
  21. CONFIG_NETUTILS_PTPD_PATH_DELAY_STABILITY_NS=5000
  22. # PSRAM
  23. CONFIG_SPIRAM=y
  24. CONFIG_SPIRAM_SPEED_80M=y
  25. # lwIP - tuned for low-latency AES67 audio
  26. CONFIG_LWIP_SO_RCVBUF=y
  27. CONFIG_LWIP_NETBUF_RECVINFO=y
  28. CONFIG_LWIP_IP_DEFAULT_TTL=64
  29. # lwIP task: pin to core 0 (same as I2S/Ethernet for cache coherency)
  30. CONFIG_LWIP_TCPIP_TASK_PRIO=23
  31. CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=4096
  32. CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
  33. # Larger mailboxes reduce queuing delay
  34. CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=128
  35. CONFIG_LWIP_UDP_RECVMBOX_SIZE=128
  36. # IRAM optimizations -- critical for reducing per-packet overhead
  37. CONFIG_LWIP_IRAM_OPTIMIZATION=y
  38. CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
  39. # Disable features we don't need (reduces per-packet processing)
  40. CONFIG_LWIP_IP4_REASSEMBLY=n
  41. CONFIG_LWIP_STATS=n
  42. CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
  43. # DHCP: fast acquisition, restore last IP to skip discovery
  44. CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
  45. CONFIG_LWIP_DHCP_OPTIONS_LEN=68
  46. CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
  47. # Ethernet DMA: 64 RX buffers for headroom
  48. CONFIG_ETH_ENABLED=y
  49. CONFIG_ETH_USE_ESP32_EMAC=y
  50. CONFIG_ETH_DMA_RX_BUFFER_NUM=64
  51. CONFIG_ETH_DMA_TX_BUFFER_NUM=16
  52. CONFIG_ETH_IRAM_OPTIMIZATION=y
  53. # mDNS
  54. CONFIG_MDNS_MAX_SERVICES=8
  55. # FreeRTOS
  56. CONFIG_FREERTOS_HZ=1000
  57. CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=4096
  58. CONFIG_FREERTOS_USE_TRACE_FACILITY=y
  59. # System
  60. CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096
  61. CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
  62. CONFIG_ESP_TASK_WDT_TIMEOUT_S=10
  63. # Performance optimization (-O2, critical for real-time audio paths)
  64. CONFIG_COMPILER_OPTIMIZATION_PERF=y
  65. # I2S ISR runs from IRAM (safe even when flash cache is disabled)
  66. CONFIG_I2S_ISR_IRAM_SAFE=y
  67. # Disable power management (real-time audio needs consistent performance)
  68. CONFIG_PM_ENABLE=n
  69. # Disable WiFi (Ethernet only, saves resources and avoids interference)
  70. CONFIG_ESP_WIFI_ENABLED=n
  71. # Disable IPv6 (saves ~39KB flash, 2KB RAM, reduces packet processing)
  72. CONFIG_LWIP_IPV6=n
  73. # HTTP server with WebSocket support
  74. CONFIG_HTTPD_WS_SUPPORT=y
  75. CONFIG_LWIP_MAX_SOCKETS=16
  76. # Flash (Waveshare ESP32-P4-ETH: 32MB NOR flash)
  77. CONFIG_ESPTOOLPY_FLASHSIZE_32MB=y
  78. CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
  79. CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y