board_config.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * board_config.h — hardware pin map for the ESP32-P4 Dante/AES67 endpoint.
  3. *
  4. * Target board: Waveshare ESP32-P4-ETH (Ethernet via IP101 GRI PHY on RMII,
  5. * onboard ES8311 codec + amplifier + mic + speaker connector, 32MB PSRAM,
  6. * 32MB flash). Pins confirmed against the board's published pinout / ESPHome
  7. * device profile. Values mirror the pin table in README.md — if the board
  8. * ever changes, update BOTH this file and the README table together
  9. * (see CLAUDE.md).
  10. */
  11. #pragma once
  12. /* ---- Ethernet (RMII to IP101 GRI PHY) ---- */
  13. #define BOARD_ETH_MDC_GPIO 31
  14. #define BOARD_ETH_MDIO_GPIO 52
  15. #define BOARD_ETH_REF_CLK_GPIO 50 /* external 50 MHz clock */
  16. #define BOARD_ETH_PHY_RST_GPIO 51
  17. #define BOARD_ETH_PHY_ADDR 1
  18. /* ---- I2S audio to onboard ES8311 codec ---- */
  19. #define BOARD_I2S_MCLK_GPIO 13 /* 18.432 MHz via APLL */
  20. #define BOARD_I2S_BCLK_GPIO 12 /* bit clock */
  21. #define BOARD_I2S_LRCLK_GPIO 10 /* word/frame clock */
  22. #define BOARD_I2S_DOUT_GPIO 9 /* data out -> codec DAC */
  23. #define BOARD_I2S_DIN_GPIO 11 /* data in <- codec ADC / mic */
  24. /* ---- Power amp enable (NS4150B) ---- */
  25. #define BOARD_PA_ENABLE_GPIO 53 /* active high */
  26. /* ---- I2C control bus (ES8311) ---- */
  27. #define BOARD_I2C_SCL_GPIO 8
  28. #define BOARD_I2C_SDA_GPIO 7
  29. /* ---- Default audio format ---- */
  30. #define BOARD_AUDIO_SAMPLE_RATE 48000
  31. #define BOARD_AUDIO_BIT_DEPTH 24 /* AES67 L24 */
  32. #define BOARD_AUDIO_CHANNELS 2