| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- CONFIG_IDF_TARGET="esp32p4"
- # L2 TAP for PTP
- CONFIG_ESP_NETIF_L2_TAP=y
- # PTP daemon
- CONFIG_NETUTILS_PTPD=y
- CONFIG_NETUTILS_PTPD_CLIENT=y
- CONFIG_NETUTILS_PTPD_SERVER=y
- CONFIG_NETUTILS_PTPD_SYNC_INTERVAL_MSEC=125
- CONFIG_NETUTILS_PTPD_ANNOUNCE_INTERVAL_MSEC=2000
- CONFIG_NETUTILS_PTPD_PRIORITY1=128
- CONFIG_NETUTILS_PTPD_PRIORITY2=128
- CONFIG_NETUTILS_PTPD_CLASS=248
- CONFIG_NETUTILS_PTPD_ACCURACY=254
- CONFIG_NETUTILS_PTPD_CLOCKSOURCE=160
- CONFIG_NETUTILS_PTPD_TWOSTEP_SYNC=y
- CONFIG_NETUTILS_PTPD_SEND_DELAYREQ=y
- CONFIG_NETUTILS_PTPD_DELAYREQ_AVGCOUNT=8
- CONFIG_NETUTILS_PTPD_SERVERPRIO=20
- CONFIG_NETUTILS_PTPD_STACKSIZE=6144
- CONFIG_NETUTILS_PTPD_MAX_PATH_DELAY_NS=1000000
- CONFIG_NETUTILS_PTPD_PATH_DELAY_STABILITY_NS=5000
- # PSRAM
- CONFIG_SPIRAM=y
- CONFIG_SPIRAM_SPEED_80M=y
- # lwIP - tuned for low-latency AES67 audio
- CONFIG_LWIP_SO_RCVBUF=y
- CONFIG_LWIP_NETBUF_RECVINFO=y
- CONFIG_LWIP_IP_DEFAULT_TTL=64
- # lwIP task: pin to core 0 (same as I2S/Ethernet for cache coherency)
- CONFIG_LWIP_TCPIP_TASK_PRIO=23
- CONFIG_LWIP_TCPIP_TASK_STACK_SIZE=4096
- CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
- # Larger mailboxes reduce queuing delay
- CONFIG_LWIP_TCPIP_RECVMBOX_SIZE=128
- CONFIG_LWIP_UDP_RECVMBOX_SIZE=128
- # IRAM optimizations -- critical for reducing per-packet overhead
- CONFIG_LWIP_IRAM_OPTIMIZATION=y
- CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION=y
- # Disable features we don't need (reduces per-packet processing)
- CONFIG_LWIP_IP4_REASSEMBLY=n
- CONFIG_LWIP_STATS=n
- CONFIG_LWIP_ETHARP_TRUST_IP_MAC=y
- # DHCP: fast acquisition, restore last IP to skip discovery
- CONFIG_LWIP_DHCP_RESTORE_LAST_IP=y
- CONFIG_LWIP_DHCP_OPTIONS_LEN=68
- CONFIG_LWIP_DHCP_COARSE_TIMER_SECS=1
- # Ethernet DMA: 64 RX buffers for headroom
- CONFIG_ETH_ENABLED=y
- CONFIG_ETH_USE_ESP32_EMAC=y
- CONFIG_ETH_DMA_RX_BUFFER_NUM=64
- CONFIG_ETH_DMA_TX_BUFFER_NUM=16
- CONFIG_ETH_IRAM_OPTIMIZATION=y
- # mDNS
- CONFIG_MDNS_MAX_SERVICES=8
- # FreeRTOS
- CONFIG_FREERTOS_HZ=1000
- CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=4096
- CONFIG_FREERTOS_USE_TRACE_FACILITY=y
- # System
- CONFIG_ESP_SYSTEM_EVENT_TASK_STACK_SIZE=4096
- CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192
- CONFIG_ESP_TASK_WDT_TIMEOUT_S=10
- # Performance optimization (-O2, critical for real-time audio paths)
- CONFIG_COMPILER_OPTIMIZATION_PERF=y
- # I2S ISR runs from IRAM (safe even when flash cache is disabled)
- CONFIG_I2S_ISR_IRAM_SAFE=y
- # Disable power management (real-time audio needs consistent performance)
- CONFIG_PM_ENABLE=n
- # Disable WiFi (Ethernet only, saves resources and avoids interference)
- CONFIG_ESP_WIFI_ENABLED=n
- # Disable IPv6 (saves ~39KB flash, 2KB RAM, reduces packet processing)
- CONFIG_LWIP_IPV6=n
- # HTTP server with WebSocket support
- CONFIG_HTTPD_WS_SUPPORT=y
- CONFIG_LWIP_MAX_SOCKETS=16
- # Flash (Waveshare ESP32-P4-ETH: 32MB NOR flash)
- CONFIG_ESPTOOLPY_FLASHSIZE_32MB=y
- CONFIG_SPI_FLASH_SUPPORT_GD_CHIP=y
- CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y
|