Skip to content

Commit 6371334

Browse files
author
Liu Jinhong
committed
feat(esp_board_manager): Add p4 function board
1. Supports configuring LDO when initializing the SDMMC SD card 2. Added p4_function_ev board and supported codec and SD card devices
1 parent ae36036 commit 6371334

File tree

20 files changed

+190
-70
lines changed

20 files changed

+190
-70
lines changed

packages/esp_board_manager/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@
1313
- Instead of copying board source files to gen_bmgr_codes, now reference them directly via SRC_DIRS and INCLUDE_DIRS to avoid duplication.
1414
- Add device dependencies support with `${BOARD_PATH}` variable resolution
1515
- Update README with dependencies usage guide
16+
- Add sdspi sdcard device type
17+
- Refine dependency for esp_codec_dev
1618

1719
### Supported Boards
1820
- **ESP32-S3 Korvo2 V3**: Full LCD, LCD Touch, DVP Camera support
21+
- **ESP32-P4 Function-EV**: Codec, SD card supported
1922

2023
## v0.3.0 (Initial Release)
2124

packages/esp_board_manager/README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -392,13 +392,16 @@ When multiple boards with the same name exist across different paths, the ESP Bo
392392

393393
| Board Name | Chip | Audio | SDCard | LCD | LCD Touch | Camera Sensor |
394394
|------------|------|-------|--------|-----|-----------|-----------|
395-
| Echoear Core Board V1.0 | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ST77916 | ✅ FT5x06 | |
396-
| Dual Eyes Board V1.0 | ESP32-S3 | ✅ ES8311 | ❌ | ✅ GC9A01 (双) | | |
397-
| ESP-BOX-3 | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ST77916 | ✅ FT5x06 | |
398-
| ESP32-S3 Korvo2 V3 | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ILI9341 | ✅ TT21100 | ✅ SC030IOT |
395+
| [`Echoear Core Board V1.0`](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/echoear/user_guide_v1.2.html) | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ST77916 | ✅ FT5x06 | - |
396+
| Dual Eyes Board V1.0 | ESP32-S3 | ✅ ES8311 | ❌ | ✅ GC9A01 (双) | - | - |
397+
| [`ESP-BOX-3`](https://github.com/espressif/esp-box/blob/master/docs/hardware_overview/esp32_s3_box_3/hardware_overview_for_box_3.md) | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ST77916 | ✅ FT5x06 | - |
398+
| [`ESP32-S3 Korvo2 V3`](https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/user-guide-esp32-s3-korvo-2.html) | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ILI9341 | ✅ TT21100 | ✅ SC030IOT |
399399
| ESP32-S3 Korvo2L | ESP32-S3 | ✅ ES8311 | ✅ SDMMC | ❌ | ❌ | ❌ |
400-
| Lyrat Mini V1.1 | ESP32 | ✅ ES8388 | ✅ SDMMC | ❌ | ❌ | ❌ |
401-
| ESP32-C5 Spot | ESP32-C5 | ✅ ES8311 (双) | ❌ | ❌ | ❌ | ❌ |
400+
| [`Lyrat Mini V1.1`](https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/dev-boards/get-started-esp32-lyrat-mini.html) | ESP32 | ✅ ES8388 | ✅ SDMMC | - | - | - |
401+
| [`ESP32-C5 Spot`](https://oshwhub.com/esp-college/esp-spot) | ESP32-C5 | ✅ ES8311 (双) | - | - | - | - |
402+
| [`ESP32-P4 Function-EV`](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/user_guide.html) | ESP32-P4 | ✅ ES8311 | ✅ SDMMC | ❌ | ❌ | ❌ |
403+
404+
Note: '' indicates supported, '❌' indicates not support yet, and '-' indicates the hardware does not have the corresponding capability
402405

403406
## Board Manager Settings
404407

packages/esp_board_manager/README_CN.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -390,13 +390,16 @@ ESP Board Manager 支持通过三个不同的路径位置进行板级配置,
390390

391391
| 板级名称 | 芯片 | 音频 | SD卡 | LCD | LCD 触摸 | 摄像头 |
392392
|------------|------|-------|--------|-----|-----------|-----------|
393-
| Echoear Core Board V1.0 | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ST77916 | ✅ FT5x06 | |
394-
| Dual Eyes Board V1.0 | ESP32-S3 | ✅ ES8311 | ❌ | ✅ GC9A01 (双) | | |
395-
| ESP-BOX-3 | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ST77916 | ✅ FT5x06 | |
396-
| ESP32-S3 Korvo2 V3 | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ILI9341 | ✅ TT21100 | ✅ SC030IOT |
393+
| [`Echoear Core Board V1.0`](https://docs.espressif.com/projects/esp-dev-kits/zh_CN/latest/esp32s3/echoear/user_guide_v1.2.html) | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ST77916 | ✅ FT5x06 | - |
394+
| Dual Eyes Board V1.0 | ESP32-S3 | ✅ ES8311 | ❌ | ✅ GC9A01 (双) | - | - |
395+
| [`ESP-BOX-3`](https://github.com/espressif/esp-box/blob/master/docs/hardware_overview/esp32_s3_box_3/hardware_overview_for_box_3_cn.md) | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ST77916 | ✅ FT5x06 | - |
396+
| [`ESP32-S3 Korvo2 V3`](https://docs.espressif.com/projects/esp-adf/zh_CN/latest/design-guide/dev-boards/user-guide-esp32-s3-korvo-2.html) | ESP32-S3 | ✅ ES8311 + ES7210 | ✅ SDMMC | ✅ ILI9341 | ✅ TT21100 | ✅ SC030IOT |
397397
| ESP32-S3 Korvo2L | ESP32-S3 | ✅ ES8311 | ✅ SDMMC | ❌ | ❌ | ❌ |
398-
| Lyrat Mini V1.1 | ESP32 | ✅ ES8388 | ✅ SDMMC | ❌ | ❌ | ❌ |
399-
| ESP32-C5 Spot | ESP32-C5 | ✅ ES8311 (双) | ❌ | ❌ | ❌ | ❌ |
398+
| [`Lyrat Mini V1.1`](https://docs.espressif.com/projects/esp-adf/zh_CN/latest/design-guide/dev-boards/get-started-esp32-lyrat-mini.html) | ESP32 | ✅ ES8388 | ✅ SDMMC | - | - | - |
399+
| [`ESP32-C5 Spot`](https://oshwhub.com/esp-college/esp-spot) | ESP32-C5 | ✅ ES8311 (双) | - | - | - | - |
400+
| [`ESP32-P4 Function-EV`](https://docs.espressif.com/projects/esp-dev-kits/zh_CN/latest/esp32p4/esp32-p4-function-ev-board/user_guide.html) | ESP32-P4 | ✅ ES8311 | ✅ SDMMC | ❌ | ❌ | ❌ |
401+
402+
注:'✅' 表示已经支持,'❌' 表示尚未支持,'-' 表示硬件不具备相应的能力
400403

401404
## 板级管理器设置
402405

packages/esp_board_manager/boards/echoear_core_board_v1_0/board_devices.yaml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,6 @@ devices:
1616
chip: es8311
1717
type: audio_codec
1818
version: default
19-
dependencies:
20-
espressif/esp_codec_dev:
21-
require: public
22-
version: ~1.4
2319
config:
2420
adc_enabled: false
2521
dac_enabled: true
@@ -43,10 +39,6 @@ devices:
4339
chip: es7210
4440
type: audio_codec
4541
version: default
46-
dependencies:
47-
espressif/esp_codec_dev:
48-
require: public
49-
version: ~1.4
5042
config:
5143
adc_enabled: true
5244
adc_max_channel: 4

packages/esp_board_manager/boards/echoear_core_board_v1_2/board_devices.yaml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,6 @@ devices:
2727
chip: es8311
2828
type: audio_codec
2929
version: default
30-
dependencies:
31-
espressif/esp_codec_dev:
32-
require: public
33-
version: ~1.4
3430
config:
3531
adc_enabled: false
3632
dac_enabled: true
@@ -57,10 +53,6 @@ devices:
5753
chip: es7210
5854
type: audio_codec
5955
version: default
60-
dependencies:
61-
espressif/esp_codec_dev:
62-
require: public
63-
version: ~1.4
6456
config:
6557
adc_enabled: true
6658
adc_max_channel: 4

packages/esp_board_manager/boards/esp32_c5_spot/board_devices.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@ devices:
77
chip: es8311
88
type: audio_codec
99
version: default
10-
dependencies:
11-
espressif/esp_codec_dev:
12-
require: public
13-
version: ~1.4
1410
config:
1511
adc_enabled: true
1612
adc_max_channel: 1
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
config BOARD_ESP32_P4_Function_EV_Board
2+
bool
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
board: esp32_p4_function_ev
2+
chip: esp32p4
3+
version: 0.1.0
4+
# Devices Configuration
5+
devices:
6+
- name: audio_dac
7+
chip: es8311 # Codec chip (ES8311)
8+
type: audio_codec
9+
version: default
10+
config:
11+
# DAC Configuration (for audio output)
12+
dac_enabled: true
13+
dac_max_channel: 1 # ES8311 support 1 DAC channel (default right channel, REG:0x09 - SDP_IN_SEL)
14+
dac_channel_mask: "1" # Enable left channel
15+
16+
peripherals:
17+
- name: gpio_pa_control
18+
gain: 6
19+
active_level: 0
20+
21+
# I2S interface for audio output
22+
- name: i2s_out
23+
24+
# I2C interface for codec control
25+
- name: i2c_master
26+
address: 0x30
27+
frequency: 400000
28+
29+
- name: audio_adc
30+
chip: es8311 # Codec chip (ES8311)
31+
type: audio_codec
32+
version: default
33+
config:
34+
# ADC Configuration (for audio input)
35+
adc_enabled: true
36+
adc_max_channel: 2 # ES8311 support 1 ADC channel and 1 DAC echo channel, default:ADCL + DACR, refer 8311 datasheet REG44 `ADCDAT_SEL`
37+
adc_channel_mask: "11" # Enable both left and right channels
38+
adc_channel_labels: [RE, FC] # DAC reference and ADC microphone
39+
40+
# Peripheral configuration
41+
peripherals:
42+
# I2S interface for audio input
43+
- name: i2s_in
44+
45+
# I2C interface for codec control
46+
- name: i2c_master
47+
address: 0x30
48+
frequency: 400000
49+
50+
- name: fs_sdcard
51+
type: fatfs_sdcard
52+
version: default
53+
config:
54+
bus_width: 4
55+
pins:
56+
clk: 43
57+
cmd: 44
58+
d0: 39
59+
d1: 40
60+
d2: 41
61+
d3: 42
62+
63+
ldo_chan_id: 4 # Use LDO_VO4 to power SDMMC IO
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
board: esp32_p4_function_ev
2+
chip: esp32p4
3+
version: 1.4.0
4+
description: "ESP32-P4 Function-EV Board"
5+
manufacturer: "ESPRESSIF"
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
board: esp32_p4_function_ev
2+
chip: esp32p4
3+
version: 1.0.0
4+
# Peripherals Configuration for ESP32-P4-Function-EV-Board
5+
peripherals:
6+
# I2C Configuration
7+
- name: i2c_master
8+
type: i2c
9+
role: master
10+
config:
11+
port: 0
12+
pins:
13+
sda: 7
14+
scl: 8
15+
16+
# I2S configuration for full-duplex audio with ES8311
17+
- name: i2s_out
18+
type: i2s
19+
format: "std-out"
20+
role: master
21+
config: &i2s_config
22+
port: 0
23+
sample_rate_hz: 48000
24+
clk_src: "I2S_CLK_SRC_DEFAULT"
25+
mclk_multiple: 256
26+
data_bit_width: 16
27+
slot_mode: "I2S_SLOT_MODE_STEREO"
28+
slot_mask: "I2S_STD_SLOT_BOTH"
29+
ws_width: 16
30+
pins:
31+
mclk: 13
32+
bclk: 12
33+
ws: 10
34+
dout: 9
35+
din: 11
36+
37+
# I2S configuration for full-duplex audio with ES8311
38+
- name: i2s_in
39+
type: i2s
40+
format: "std-in"
41+
role: slave
42+
config: *i2s_config
43+
44+
# PA CONTROL
45+
- name: gpio_pa_control
46+
type: gpio
47+
role: io
48+
config:
49+
pin: 53
50+
mode: GPIO_MODE_OUTPUT
51+
pull_up: true
52+
default_level: 0

0 commit comments

Comments
 (0)