Add a complete board package under
application/basic_demo/boards/m5stack_sticks3/ for the
ESP32-S3-PICO-1-N8R8 based M5Stack StickS3.
Hardware:
- 8 MB QIO flash @80MHz, 8 MB Octal PSRAM @80MHz
- I2C0: SDA=47, SCL=48 (M5PM1 PMIC, ES8311 codec, BMI270 IMU)
- I2S0 full-duplex: MCK=18, BCK=17, WS=15, DOUT=14, DIN=16
- SPI3 LCD: MOSI=39, SCLK=40, CS=41, DC=45, RST=21
- 1.14" ST7789 135x240 with (52,40) panel offset
- Backlight on GPIO38 (active-high), LEDC PWM
Highlights:
- M5PM1 PMIC modelled as a custom device; init sequence ported
from M5GFX (disable I2C idle sleep, then bring up PYG2=LCD_PWR
and PYG3=SPK_PA in push-pull output mode).
- ES8311 declared as two audio_codec devices (DAC + ADC) sharing
one I2C control line and one I2S port via YAML anchors,
following the esp32_s3_korvo2l pattern.
- ST7789 factory uses the IDF built-in esp_lcd_new_panel_st7789()
and applies esp_lcd_panel_set_gap(52, 40) for the visible window.
- ledc_backlight defaults to full duty (1023) so the panel is
visible at boot — display.set_backlight() only toggles the
LCD disp_on_off command and does not change LEDC duty.
Signed-off-by: imliubo <imliubo@makingfun.xyz>
Read board metadata and IO mappings from generated board manager C files instead of YAML files.
Recognize peripheral_name references and keep related system dependency wiring in the staged changes.