# Copyright (c) 2022-2025 Espressif Systems (Shanghai) Co., Ltd.
# SPDX-License-Identifier: Apache-2.0
#
# Notes:
# - I/O GPIO pads are 0-23, 25-27, 32-39
# - the output GPIOs are 0-23, 25-27, 32-33
# - GPIOs 34-39 are input ­only and do not have software-enabled pu/pd

uart0:
  tx:
    sigo: u0txd_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  rx:
    sigi: u0rxd_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  rts:
    sigo: u0rts_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  cts:
    sigi: u0cts_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  dtr:
    sigo: u0dtr_out
    gpio: [[0, 23], [25, 27], [32, 39]]
  dsr:
    sigi: u0dsr_in
    gpio: [[0, 23], [25, 27], [32, 39]]

uart1:
  tx:
    sigo: u1txd_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  rx:
    sigi: u1rxd_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  rts:
    sigo: u1rts_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  cts:
    sigi: u1cts_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  dtr:
    sigo: u1dtr_out
    gpio: [[0, 23], [25, 27], [32, 39]]
  dsr:
    sigi: u1dsr_in
    gpio: [[0, 23], [25, 27], [32, 39]]

uart2:
  tx:
    sigo: u2txd_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  rx:
    sigi: u2rxd_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  rts:
    sigo: u2rts_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  cts:
    sigi: u2cts_in
    gpio: [[0, 23], [25, 27], [32, 39]]

spim2:
  miso:
    sigi: hspiq_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  mosi:
    sigo: hspid_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  sclk:
    sigo: hspiclk_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  csel:
    sigo: hspics0_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  csel1:
    sigo: hspics1_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  csel2:
    sigo: hspics2_out
    gpio: [[0, 23], [25, 27], [32, 33]]

spim3:
  miso:
    sigi: vspiq_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  mosi:
    sigo: vspid_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  sclk:
    sigo: vspiclk_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  csel:
    sigo: vspics0_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  csel1:
    sigo: vspics1_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  csel2:
    sigo: vspics2_out
    gpio: [[0, 23], [25, 27], [32, 33]]

i2c0:
  sda:
    sigi: i2cext0_sda_in
    sigo: i2cext0_sda_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  scl:
    sigi: i2cext0_scl_in
    sigo: i2cext0_scl_out
    gpio: [[0, 23], [25, 27], [32, 33]]

i2c1:
  sda:
    sigi: i2cext1_sda_in
    sigo: i2cext1_sda_out
    gpio: [[0, 23], [25, 27], [32, 33]]
  scl:
    sigi: i2cext1_scl_in
    sigo: i2cext1_scl_out
    gpio: [[0, 23], [25, 27], [32, 33]]

i2s0:
  i_bck:
    sigi: i2s0i_bck_in
    sigo: i2s0i_bck_out
    gpio: [[0, 23], [25, 27], [32, 39]]
  i_ws:
    sigi: i2s0i_ws_in
    sigo: i2s0i_ws_out
    gpio: [[0, 23], [25, 27], [32, 39]]
  i_sd:
    sigi: i2s0i_data_in15
    gpio: [[0, 23], [25, 27], [32, 39]]
  o_bck:
    sigi: i2s0o_bck_in
    sigo: i2s0o_bck_out
    gpio: [[0, 23], [25, 27], [32, 39]]
  o_ws:
    sigi: i2s0o_ws_in
    sigo: i2s0o_ws_out
    gpio: [[0, 23], [25, 27], [32, 39]]
  o_sd:
    sigo: i2s0o_data_out23
    gpio: [[0, 23], [25, 27], [32, 33]]

i2s1:
  i_bck:
    sigi: i2s1i_bck_in
    sigo: i2s1i_bck_out
    gpio: [[0, 23], [25, 27], [32, 39]]
  i_ws:
    sigi: i2s1i_ws_in
    sigo: i2s1i_ws_out
    gpio: [[0, 23], [25, 27], [32, 39]]
  i_sd:
    sigi: i2s1i_data_in15
    gpio: [[0, 23], [25, 27], [32, 39]]
  o_bck:
    sigi: i2s1o_bck_in
    sigo: i2s1o_bck_out
    gpio: [[0, 23], [25, 27], [32, 39]]
  o_ws:
    sigi: i2s1o_ws_in
    sigo: i2s1o_ws_out
    gpio: [[0, 23], [25, 27], [32, 39]]
  o_sd:
    sigo: i2s1o_data_out23
    gpio: [[0, 23], [25, 27], [32, 33]]

twai:
  rx:
    sigi: twai_rx
    gpio: [[0, 23], [25, 27], [32, 39]]
  tx:
    sigo: twai_tx
    gpio: [[0, 23], [25, 27], [32, 33]]
  clkout:
    sigo: twai_clkout
    gpio: [[0, 23], [25, 27], [32, 33]]
  bus_off:
    sigo: twai_bus_off_on
    gpio: [[0, 23], [25, 27], [32, 33]]

ledc:
  ch0:
    sigo: ledc_ls_sig_out0
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch1:
    sigo: ledc_ls_sig_out1
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch2:
    sigo: ledc_ls_sig_out2
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch3:
    sigo: ledc_ls_sig_out3
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch4:
    sigo: ledc_ls_sig_out4
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch5:
    sigo: ledc_ls_sig_out5
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch6:
    sigo: ledc_ls_sig_out6
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch7:
    sigo: ledc_ls_sig_out7
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch8:
    sigo: ledc_hs_sig_out0
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch9:
    sigo: ledc_hs_sig_out1
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch10:
    sigo: ledc_hs_sig_out2
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch11:
    sigo: ledc_hs_sig_out3
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch12:
    sigo: ledc_hs_sig_out4
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch13:
    sigo: ledc_hs_sig_out5
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch14:
    sigo: ledc_hs_sig_out6
    gpio: [[0, 23], [25, 27], [32, 33]]
  ch15:
    sigo: ledc_hs_sig_out7
    gpio: [[0, 23], [25, 27], [32, 33]]

mcpwm0:
  out0a:
    sigo: pwm0_out0a
    gpio: [[0, 23], [25, 27], [32, 33]]
  out0b:
    sigo: pwm0_out0b
    gpio: [[0, 23], [25, 27], [32, 33]]
  out1a:
    sigo: pwm0_out1a
    gpio: [[0, 23], [25, 27], [32, 33]]
  out1b:
    sigo: pwm0_out1b
    gpio: [[0, 23], [25, 27], [32, 33]]
  out2a:
    sigo: pwm0_out2a
    gpio: [[0, 23], [25, 27], [32, 33]]
  out2b:
    sigo: pwm0_out2b
    gpio: [[0, 23], [25, 27], [32, 33]]
  sync0:
    sigi: pwm0_sync0_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  sync1:
    sigi: pwm0_sync1_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  sync2:
    sigi: pwm0_sync2_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  fault0:
    sigi: pwm0_f0_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  fault1:
    sigi: pwm0_f1_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  fault2:
    sigi: pwm0_f2_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  cap0:
    sigi: pwm0_cap0_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  cap1:
    sigi: pwm0_cap1_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  cap2:
    sigi: pwm0_cap2_in
    gpio: [[0, 23], [25, 27], [32, 39]]

mcpwm1:
  out0a:
    sigo: pwm1_out0a
    gpio: [[0, 23], [25, 27], [32, 33]]
  out0b:
    sigo: pwm1_out0b
    gpio: [[0, 23], [25, 27], [32, 33]]
  out1a:
    sigo: pwm1_out1a
    gpio: [[0, 23], [25, 27], [32, 33]]
  out1b:
    sigo: pwm1_out1b
    gpio: [[0, 23], [25, 27], [32, 33]]
  out2a:
    sigo: pwm1_out2a
    gpio: [[0, 23], [25, 27], [32, 33]]
  out2b:
    sigo: pwm1_out2b
    gpio: [[0, 23], [25, 27], [32, 33]]
  sync0:
    sigi: pwm1_sync0_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  sync1:
    sigi: pwm1_sync1_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  sync2:
    sigi: pwm1_sync2_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  fault0:
    sigi: pwm1_f0_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  fault1:
    sigi: pwm1_f1_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  fault2:
    sigi: pwm1_f2_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  cap0:
    sigi: pwm1_cap0_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  cap1:
    sigi: pwm1_cap1_in
    gpio: [[0, 23], [25, 27], [32, 39]]
  cap2:
    sigi: pwm1_cap2_in
    gpio: [[0, 23], [25, 27], [32, 39]]

pcnt0:
  ch0sig:
    sigi: pcnt_sig_ch0_in0
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch0ctrl:
    sigi: pcnt_ctrl_ch0_in0
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1sig:
    sigi: pcnt_sig_ch1_in0
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1ctrl:
    sigi: pcnt_ctrl_ch1_in0
    gpio: [[0, 23], [25, 27], [32, 39]]

pcnt1:
  ch0sig:
    sigi: pcnt_sig_ch0_in1
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch0ctrl:
    sigi: pcnt_ctrl_ch0_in1
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1sig:
    sigi: pcnt_sig_ch1_in1
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1ctrl:
    sigi: pcnt_ctrl_ch1_in1
    gpio: [[0, 23], [25, 27], [32, 39]]

pcnt2:
  ch0sig:
    sigi: pcnt_sig_ch0_in3
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch0ctrl:
    sigi: pcnt_ctrl_ch0_in2
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1sig:
    sigi: pcnt_sig_ch1_in2
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1ctrl:
    sigi: pcnt_ctrl_ch1_in2
    gpio: [[0, 23], [25, 27], [32, 39]]

pcnt3:
  ch0sig:
    sigi: pcnt_sig_ch0_in3
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch0ctrl:
    sigi: pcnt_ctrl_ch0_in3
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1sig:
    sigi: pcnt_sig_ch1_in3
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1ctrl:
    sigi: pcnt_ctrl_ch1_in3
    gpio: [[0, 23], [25, 27], [32, 39]]

pcnt4:
  ch0sig:
    sigi: pcnt_sig_ch0_in4
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch0ctrl:
    sigi: pcnt_ctrl_ch0_in4
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1sig:
    sigi: pcnt_sig_ch1_in4
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1ctrl:
    sigi: pcnt_ctrl_ch1_in4
    gpio: [[0, 23], [25, 27], [32, 39]]

pcnt5:
  ch0sig:
    sigi: pcnt_sig_ch0_in5
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch0ctrl:
    sigi: pcnt_ctrl_ch0_in5
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1sig:
    sigi: pcnt_sig_ch1_in5
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1ctrl:
    sigi: pcnt_ctrl_ch1_in5
    gpio: [[0, 23], [25, 27], [32, 39]]

pcnt6:
  ch0sig:
    sigi: pcnt_sig_ch0_in6
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch0ctrl:
    sigi: pcnt_ctrl_ch0_in6
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1sig:
    sigi: pcnt_sig_ch1_in6
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1ctrl:
    sigi: pcnt_ctrl_ch1_in6
    gpio: [[0, 23], [25, 27], [32, 39]]

pcnt7:
  ch0sig:
    sigi: pcnt_sig_ch0_in7
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch0ctrl:
    sigi: pcnt_ctrl_ch0_in7
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1sig:
    sigi: pcnt_sig_ch1_in7
    gpio: [[0, 23], [25, 27], [32, 39]]
  ch1ctrl:
    sigi: pcnt_ctrl_ch1_in7
    gpio: [[0, 23], [25, 27], [32, 39]]

smi:
  mdc:
    sigo: emac_mdc_o
    gpio: [[0, 23], [25, 27], [32, 33]]
  mdio:
    sigi: emac_mdi_i
    sigo: emac_mdo_o
    gpio: [[0, 23], [25, 27], [32, 33]]

dac:
  ch1:
    sigo: dac1_out
    gpio: [25]
  ch2:
    sigo: dac2_out
    gpio: [26]

sdhc0:
  cd:
    sigi: host_card_detect_n_2
    gpio: [[5, 11], [16, 23], [25, 27], [32, 39]]
  wp:
    sigi: host_card_write_prt_2
    gpio: [[5, 11], [16, 23], [25, 27], [32, 39]]

