1#[cfg(docsrs)]
5macro_rules! println {
6 ($($any:tt)*) => {};
7}
8#[derive(Clone, Copy, PartialEq, Eq, Hash)]
9#[cfg_attr(docsrs, doc(cfg(feature = "build-script")))]
10pub enum Chip {
11 Esp32,
12 Esp32c2,
13 Esp32c3,
14 Esp32c6,
15 Esp32h2,
16 Esp32s2,
17 Esp32s3,
18}
19impl core::str::FromStr for Chip {
20 type Err = ();
21 fn from_str(s: &str) -> Result<Self, Self::Err> {
22 match s {
23 "esp32" => Ok(Self::Esp32),
24 "esp32c2" => Ok(Self::Esp32c2),
25 "esp32c3" => Ok(Self::Esp32c3),
26 "esp32c6" => Ok(Self::Esp32c6),
27 "esp32h2" => Ok(Self::Esp32h2),
28 "esp32s2" => Ok(Self::Esp32s2),
29 "esp32s3" => Ok(Self::Esp32s3),
30 _ => Err(()),
31 }
32 }
33}
34impl Chip {
35 pub fn from_cargo_feature() -> Result<Self, &'static str> {
39 let all_chips = [
40 ("CARGO_FEATURE_ESP32", Self::Esp32),
41 ("CARGO_FEATURE_ESP32C2", Self::Esp32c2),
42 ("CARGO_FEATURE_ESP32C3", Self::Esp32c3),
43 ("CARGO_FEATURE_ESP32C6", Self::Esp32c6),
44 ("CARGO_FEATURE_ESP32H2", Self::Esp32h2),
45 ("CARGO_FEATURE_ESP32S2", Self::Esp32s2),
46 ("CARGO_FEATURE_ESP32S3", Self::Esp32s3),
47 ];
48 let mut chip = None;
49 for (env, c) in all_chips {
50 if std::env::var(env).is_ok() {
51 if chip.is_some() {
52 return Err(
53 "Expected exactly one of the following features to be enabled: esp32, esp32c2, esp32c3, esp32c6, esp32h2, esp32s2, esp32s3",
54 );
55 }
56 chip = Some(c);
57 }
58 }
59 match chip {
60 Some(chip) => Ok(chip),
61 None => Err(
62 "Expected exactly one of the following features to be enabled: esp32, esp32c2, esp32c3, esp32c6, esp32h2, esp32s2, esp32s3",
63 ),
64 }
65 }
66 pub fn is_xtensa(self) -> bool {
68 self.config().architecture == "xtensa"
69 }
70 pub fn target(self) -> &'static str {
72 self.config().target
73 }
74 pub fn name(self) -> &'static str {
82 match self {
83 Self::Esp32 => "esp32",
84 Self::Esp32c2 => "esp32c2",
85 Self::Esp32c3 => "esp32c3",
86 Self::Esp32c6 => "esp32c6",
87 Self::Esp32h2 => "esp32h2",
88 Self::Esp32s2 => "esp32s2",
89 Self::Esp32s3 => "esp32s3",
90 }
91 }
92 pub fn contains(self, symbol: &str) -> bool {
102 self.all_symbols().contains(&symbol)
103 }
104 pub fn define_cfgs(self) {
106 self.config().define_cfgs()
107 }
108 pub fn all_symbols(&self) -> &'static [&'static str] {
116 self.config().symbols
117 }
118 pub fn iter() -> impl Iterator<Item = Chip> {
126 [
127 Self::Esp32,
128 Self::Esp32c2,
129 Self::Esp32c3,
130 Self::Esp32c6,
131 Self::Esp32h2,
132 Self::Esp32s2,
133 Self::Esp32s3,
134 ]
135 .into_iter()
136 }
137 fn config(self) -> Config {
138 match self {
139 Self::Esp32 => Config {
140 architecture: "xtensa",
141 target: "xtensa-esp32-none-elf",
142 symbols: &[
143 "esp32",
144 "xtensa",
145 "multi_core",
146 "soc_has_aes",
147 "soc_has_apb_ctrl",
148 "soc_has_bb",
149 "soc_has_dport",
150 "soc_has_system",
151 "soc_has_efuse",
152 "soc_has_emac_dma",
153 "soc_has_emac_ext",
154 "soc_has_emac_mac",
155 "soc_has_flash_encryption",
156 "soc_has_frc_timer",
157 "soc_has_gpio",
158 "soc_has_gpio_sd",
159 "soc_has_hinf",
160 "soc_has_i2c0",
161 "soc_has_i2c1",
162 "soc_has_i2s0",
163 "soc_has_i2s1",
164 "soc_has_io_mux",
165 "soc_has_ledc",
166 "soc_has_mcpwm0",
167 "soc_has_mcpwm1",
168 "soc_has_nrx",
169 "soc_has_pcnt",
170 "soc_has_rmt",
171 "soc_has_rng",
172 "soc_has_rsa",
173 "soc_has_lpwr",
174 "soc_has_rtc_i2c",
175 "soc_has_rtc_io",
176 "soc_has_sdhost",
177 "soc_has_sens",
178 "soc_has_sha",
179 "soc_has_slc",
180 "soc_has_slchost",
181 "soc_has_spi0",
182 "soc_has_spi1",
183 "soc_has_spi2",
184 "soc_has_spi3",
185 "soc_has_timg0",
186 "soc_has_timg1",
187 "soc_has_twai0",
188 "soc_has_uart0",
189 "soc_has_uart1",
190 "soc_has_uart2",
191 "soc_has_uhci0",
192 "soc_has_uhci1",
193 "soc_has_wifi",
194 "soc_has_dma_spi2",
195 "soc_has_dma_spi3",
196 "soc_has_dma_i2s0",
197 "soc_has_dma_i2s1",
198 "soc_has_adc1",
199 "soc_has_adc2",
200 "soc_has_bt",
201 "soc_has_cpu_ctrl",
202 "soc_has_dac1",
203 "soc_has_dac2",
204 "soc_has_flash",
205 "soc_has_psram",
206 "soc_has_sw_interrupt",
207 "soc_has_touch",
208 "pdma",
209 "phy",
210 "psram",
211 "touch",
212 "rom_crc_le",
213 "rom_crc_be",
214 "rom_md5_bsd",
215 "pm_support_ext0_wakeup",
216 "pm_support_ext1_wakeup",
217 "pm_support_touch_sensor_wakeup",
218 "ulp_supported",
219 "soc",
220 "adc",
221 "aes",
222 "dac",
223 "dma",
224 "gpio",
225 "i2c_master",
226 "i2s",
227 "interrupts",
228 "io_mux",
229 "rgb_display",
230 "ledc",
231 "mcpwm",
232 "pcnt",
233 "psram",
234 "rmt",
235 "rng",
236 "rsa",
237 "sd_host",
238 "sd_slave",
239 "sleep",
240 "sha",
241 "spi_master",
242 "spi_slave",
243 "temp_sensor",
244 "timergroup",
245 "touch",
246 "twai",
247 "uart",
248 "ulp_fsm",
249 "wifi",
250 "bt",
251 "phy",
252 "adc_adc1",
253 "adc_adc2",
254 "dac_dac1",
255 "dac_dac2",
256 "i2c_master_i2c0",
257 "i2c_master_i2c1",
258 "spi_master_spi2",
259 "spi_master_spi3",
260 "spi_slave_spi2",
261 "spi_slave_spi3",
262 "timergroup_timg0",
263 "timergroup_timg1",
264 "uart_uart0",
265 "uart_uart1",
266 "uart_uart2",
267 "soc_ref_tick_hz=\"1000000\"",
268 "soc_ref_tick_hz_is_set",
269 "soc_rc_fast_clk_default=\"8500000\"",
270 "soc_rc_fast_clk_default_is_set",
271 "soc_rc_slow_clock=\"150000\"",
272 "soc_rc_slow_clock_is_set",
273 "has_dram_region",
274 "has_dram2_uninit_region",
275 "soc_has_multiple_xtal_options",
276 "aes_endianness_configurable",
277 "gpio_has_bank_1",
278 "gpio_gpio_function=\"2\"",
279 "gpio_constant_0_input=\"48\"",
280 "gpio_constant_1_input=\"56\"",
281 "gpio_remap_iomux_pin_registers",
282 "gpio_func_in_sel_offset=\"0\"",
283 "gpio_input_signal_max=\"206\"",
284 "gpio_output_signal_max=\"256\"",
285 "i2c_master_separate_filter_config_registers",
286 "i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
287 "i2c_master_i2c0_data_register_ahb_address_is_set",
288 "i2c_master_max_bus_timeout=\"1048575\"",
289 "i2c_master_ll_intr_mask=\"262143\"",
290 "i2c_master_fifo_size=\"32\"",
291 "interrupts_status_registers=\"3\"",
292 "rmt_ram_start=\"1073047552\"",
293 "rmt_channel_ram_size=\"64\"",
294 "rmt_has_per_channel_clock",
295 "rmt_supports_reftick_clock",
296 "rmt_supports_apb_clock",
297 "rng_apb_cycle_wait_num=\"16\"",
298 "rsa_size_increment=\"512\"",
299 "rsa_memory_size_bytes=\"512\"",
300 "timergroup_timg_has_timer1",
301 "uart_ram_size=\"128\"",
302 "bt_controller=\"btdm\"",
303 "phy_combo_module",
304 ],
305 cfgs: &[
306 "cargo:rustc-cfg=esp32",
307 "cargo:rustc-cfg=xtensa",
308 "cargo:rustc-cfg=multi_core",
309 "cargo:rustc-cfg=soc_has_aes",
310 "cargo:rustc-cfg=soc_has_apb_ctrl",
311 "cargo:rustc-cfg=soc_has_bb",
312 "cargo:rustc-cfg=soc_has_dport",
313 "cargo:rustc-cfg=soc_has_system",
314 "cargo:rustc-cfg=soc_has_efuse",
315 "cargo:rustc-cfg=soc_has_emac_dma",
316 "cargo:rustc-cfg=soc_has_emac_ext",
317 "cargo:rustc-cfg=soc_has_emac_mac",
318 "cargo:rustc-cfg=soc_has_flash_encryption",
319 "cargo:rustc-cfg=soc_has_frc_timer",
320 "cargo:rustc-cfg=soc_has_gpio",
321 "cargo:rustc-cfg=soc_has_gpio_sd",
322 "cargo:rustc-cfg=soc_has_hinf",
323 "cargo:rustc-cfg=soc_has_i2c0",
324 "cargo:rustc-cfg=soc_has_i2c1",
325 "cargo:rustc-cfg=soc_has_i2s0",
326 "cargo:rustc-cfg=soc_has_i2s1",
327 "cargo:rustc-cfg=soc_has_io_mux",
328 "cargo:rustc-cfg=soc_has_ledc",
329 "cargo:rustc-cfg=soc_has_mcpwm0",
330 "cargo:rustc-cfg=soc_has_mcpwm1",
331 "cargo:rustc-cfg=soc_has_nrx",
332 "cargo:rustc-cfg=soc_has_pcnt",
333 "cargo:rustc-cfg=soc_has_rmt",
334 "cargo:rustc-cfg=soc_has_rng",
335 "cargo:rustc-cfg=soc_has_rsa",
336 "cargo:rustc-cfg=soc_has_lpwr",
337 "cargo:rustc-cfg=soc_has_rtc_i2c",
338 "cargo:rustc-cfg=soc_has_rtc_io",
339 "cargo:rustc-cfg=soc_has_sdhost",
340 "cargo:rustc-cfg=soc_has_sens",
341 "cargo:rustc-cfg=soc_has_sha",
342 "cargo:rustc-cfg=soc_has_slc",
343 "cargo:rustc-cfg=soc_has_slchost",
344 "cargo:rustc-cfg=soc_has_spi0",
345 "cargo:rustc-cfg=soc_has_spi1",
346 "cargo:rustc-cfg=soc_has_spi2",
347 "cargo:rustc-cfg=soc_has_spi3",
348 "cargo:rustc-cfg=soc_has_timg0",
349 "cargo:rustc-cfg=soc_has_timg1",
350 "cargo:rustc-cfg=soc_has_twai0",
351 "cargo:rustc-cfg=soc_has_uart0",
352 "cargo:rustc-cfg=soc_has_uart1",
353 "cargo:rustc-cfg=soc_has_uart2",
354 "cargo:rustc-cfg=soc_has_uhci0",
355 "cargo:rustc-cfg=soc_has_uhci1",
356 "cargo:rustc-cfg=soc_has_wifi",
357 "cargo:rustc-cfg=soc_has_dma_spi2",
358 "cargo:rustc-cfg=soc_has_dma_spi3",
359 "cargo:rustc-cfg=soc_has_dma_i2s0",
360 "cargo:rustc-cfg=soc_has_dma_i2s1",
361 "cargo:rustc-cfg=soc_has_adc1",
362 "cargo:rustc-cfg=soc_has_adc2",
363 "cargo:rustc-cfg=soc_has_bt",
364 "cargo:rustc-cfg=soc_has_cpu_ctrl",
365 "cargo:rustc-cfg=soc_has_dac1",
366 "cargo:rustc-cfg=soc_has_dac2",
367 "cargo:rustc-cfg=soc_has_flash",
368 "cargo:rustc-cfg=soc_has_psram",
369 "cargo:rustc-cfg=soc_has_sw_interrupt",
370 "cargo:rustc-cfg=soc_has_touch",
371 "cargo:rustc-cfg=pdma",
372 "cargo:rustc-cfg=phy",
373 "cargo:rustc-cfg=psram",
374 "cargo:rustc-cfg=touch",
375 "cargo:rustc-cfg=rom_crc_le",
376 "cargo:rustc-cfg=rom_crc_be",
377 "cargo:rustc-cfg=rom_md5_bsd",
378 "cargo:rustc-cfg=pm_support_ext0_wakeup",
379 "cargo:rustc-cfg=pm_support_ext1_wakeup",
380 "cargo:rustc-cfg=pm_support_touch_sensor_wakeup",
381 "cargo:rustc-cfg=ulp_supported",
382 "cargo:rustc-cfg=soc",
383 "cargo:rustc-cfg=adc",
384 "cargo:rustc-cfg=aes",
385 "cargo:rustc-cfg=dac",
386 "cargo:rustc-cfg=dma",
387 "cargo:rustc-cfg=gpio",
388 "cargo:rustc-cfg=i2c_master",
389 "cargo:rustc-cfg=i2s",
390 "cargo:rustc-cfg=interrupts",
391 "cargo:rustc-cfg=io_mux",
392 "cargo:rustc-cfg=rgb_display",
393 "cargo:rustc-cfg=ledc",
394 "cargo:rustc-cfg=mcpwm",
395 "cargo:rustc-cfg=pcnt",
396 "cargo:rustc-cfg=psram",
397 "cargo:rustc-cfg=rmt",
398 "cargo:rustc-cfg=rng",
399 "cargo:rustc-cfg=rsa",
400 "cargo:rustc-cfg=sd_host",
401 "cargo:rustc-cfg=sd_slave",
402 "cargo:rustc-cfg=sleep",
403 "cargo:rustc-cfg=sha",
404 "cargo:rustc-cfg=spi_master",
405 "cargo:rustc-cfg=spi_slave",
406 "cargo:rustc-cfg=temp_sensor",
407 "cargo:rustc-cfg=timergroup",
408 "cargo:rustc-cfg=touch",
409 "cargo:rustc-cfg=twai",
410 "cargo:rustc-cfg=uart",
411 "cargo:rustc-cfg=ulp_fsm",
412 "cargo:rustc-cfg=wifi",
413 "cargo:rustc-cfg=bt",
414 "cargo:rustc-cfg=phy",
415 "cargo:rustc-cfg=adc_adc1",
416 "cargo:rustc-cfg=adc_adc2",
417 "cargo:rustc-cfg=dac_dac1",
418 "cargo:rustc-cfg=dac_dac2",
419 "cargo:rustc-cfg=i2c_master_i2c0",
420 "cargo:rustc-cfg=i2c_master_i2c1",
421 "cargo:rustc-cfg=spi_master_spi2",
422 "cargo:rustc-cfg=spi_master_spi3",
423 "cargo:rustc-cfg=spi_slave_spi2",
424 "cargo:rustc-cfg=spi_slave_spi3",
425 "cargo:rustc-cfg=timergroup_timg0",
426 "cargo:rustc-cfg=timergroup_timg1",
427 "cargo:rustc-cfg=uart_uart0",
428 "cargo:rustc-cfg=uart_uart1",
429 "cargo:rustc-cfg=uart_uart2",
430 "cargo:rustc-cfg=soc_ref_tick_hz=\"1000000\"",
431 "cargo:rustc-cfg=soc_ref_tick_hz_is_set",
432 "cargo:rustc-cfg=soc_rc_fast_clk_default=\"8500000\"",
433 "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
434 "cargo:rustc-cfg=soc_rc_slow_clock=\"150000\"",
435 "cargo:rustc-cfg=soc_rc_slow_clock_is_set",
436 "cargo:rustc-cfg=has_dram_region",
437 "cargo:rustc-cfg=has_dram2_uninit_region",
438 "cargo:rustc-cfg=soc_has_multiple_xtal_options",
439 "cargo:rustc-cfg=aes_endianness_configurable",
440 "cargo:rustc-cfg=gpio_has_bank_1",
441 "cargo:rustc-cfg=gpio_gpio_function=\"2\"",
442 "cargo:rustc-cfg=gpio_constant_0_input=\"48\"",
443 "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
444 "cargo:rustc-cfg=gpio_remap_iomux_pin_registers",
445 "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
446 "cargo:rustc-cfg=gpio_input_signal_max=\"206\"",
447 "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
448 "cargo:rustc-cfg=i2c_master_separate_filter_config_registers",
449 "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
450 "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address_is_set",
451 "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"1048575\"",
452 "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
453 "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
454 "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
455 "cargo:rustc-cfg=rmt_ram_start=\"1073047552\"",
456 "cargo:rustc-cfg=rmt_channel_ram_size=\"64\"",
457 "cargo:rustc-cfg=rmt_has_per_channel_clock",
458 "cargo:rustc-cfg=rmt_supports_reftick_clock",
459 "cargo:rustc-cfg=rmt_supports_apb_clock",
460 "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
461 "cargo:rustc-cfg=rsa_size_increment=\"512\"",
462 "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
463 "cargo:rustc-cfg=timergroup_timg_has_timer1",
464 "cargo:rustc-cfg=uart_ram_size=\"128\"",
465 "cargo:rustc-cfg=bt_controller=\"btdm\"",
466 "cargo:rustc-cfg=phy_combo_module",
467 ],
468 },
469 Self::Esp32c2 => Config {
470 architecture: "riscv",
471 target: "riscv32imc-unknown-none-elf",
472 symbols: &[
473 "esp32c2",
474 "riscv",
475 "single_core",
476 "soc_has_apb_ctrl",
477 "soc_has_apb_saradc",
478 "soc_has_bb",
479 "soc_has_assist_debug",
480 "soc_has_dma",
481 "soc_has_ecc",
482 "soc_has_efuse",
483 "soc_has_extmem",
484 "soc_has_gpio",
485 "soc_has_i2c_ana_mst",
486 "soc_has_i2c0",
487 "soc_has_interrupt_core0",
488 "soc_has_io_mux",
489 "soc_has_ledc",
490 "soc_has_rng",
491 "soc_has_lpwr",
492 "soc_has_modem_clkrst",
493 "soc_has_sensitive",
494 "soc_has_sha",
495 "soc_has_spi0",
496 "soc_has_spi1",
497 "soc_has_spi2",
498 "soc_has_system",
499 "soc_has_systimer",
500 "soc_has_timg0",
501 "soc_has_uart0",
502 "soc_has_uart1",
503 "soc_has_xts_aes",
504 "soc_has_dma_ch0",
505 "soc_has_adc1",
506 "soc_has_bt",
507 "soc_has_flash",
508 "soc_has_sw_interrupt",
509 "soc_has_wifi",
510 "soc_has_mem2mem1",
511 "soc_has_mem2mem2",
512 "soc_has_mem2mem3",
513 "soc_has_mem2mem4",
514 "soc_has_mem2mem5",
515 "soc_has_mem2mem6",
516 "soc_has_mem2mem7",
517 "soc_has_mem2mem8",
518 "gdma",
519 "phy",
520 "swd",
521 "rom_crc_le",
522 "rom_crc_be",
523 "rom_md5_mbedtls",
524 "pm_support_wifi_wakeup",
525 "pm_support_bt_wakeup",
526 "uart_support_wakeup_int",
527 "gpio_support_deepsleep_wakeup",
528 "soc",
529 "adc",
530 "assist_debug",
531 "dma",
532 "ecc",
533 "gpio",
534 "i2c_master",
535 "interrupts",
536 "io_mux",
537 "ledc",
538 "rng",
539 "sleep",
540 "sha",
541 "spi_master",
542 "spi_slave",
543 "systimer",
544 "temp_sensor",
545 "timergroup",
546 "uart",
547 "wifi",
548 "bt",
549 "phy",
550 "adc_adc1",
551 "i2c_master_i2c0",
552 "spi_master_spi2",
553 "spi_slave_spi2",
554 "timergroup_timg0",
555 "uart_uart0",
556 "uart_uart1",
557 "soc_cpu_has_csr_pc",
558 "soc_rc_fast_clk_default=\"17500000\"",
559 "soc_rc_fast_clk_default_is_set",
560 "soc_rc_slow_clock=\"136000\"",
561 "soc_rc_slow_clock_is_set",
562 "has_dram_region",
563 "has_dram2_uninit_region",
564 "soc_has_multiple_xtal_options",
565 "assist_debug_has_sp_monitor",
566 "gpio_gpio_function=\"1\"",
567 "gpio_constant_0_input=\"31\"",
568 "gpio_constant_1_input=\"30\"",
569 "gpio_func_in_sel_offset=\"0\"",
570 "gpio_input_signal_max=\"100\"",
571 "gpio_output_signal_max=\"128\"",
572 "i2c_master_has_fsm_timeouts",
573 "i2c_master_has_hw_bus_clear",
574 "i2c_master_has_bus_timeout_enable",
575 "i2c_master_has_conf_update",
576 "i2c_master_has_arbitration_en",
577 "i2c_master_has_tx_fifo_watermark",
578 "i2c_master_bus_timeout_is_exponential",
579 "i2c_master_max_bus_timeout=\"31\"",
580 "i2c_master_ll_intr_mask=\"262143\"",
581 "i2c_master_fifo_size=\"16\"",
582 "interrupts_status_registers=\"2\"",
583 "rng_apb_cycle_wait_num=\"16\"",
584 "sha_dma",
585 "timergroup_timg_has_divcnt_rst",
586 "timergroup_default_clock_source=\"0\"",
587 "timergroup_default_clock_source_is_set",
588 "timergroup_default_wdt_clock_source=\"0\"",
589 "timergroup_default_wdt_clock_source_is_set",
590 "uart_ram_size=\"128\"",
591 "bt_controller=\"npl\"",
592 "phy_combo_module",
593 ],
594 cfgs: &[
595 "cargo:rustc-cfg=esp32c2",
596 "cargo:rustc-cfg=riscv",
597 "cargo:rustc-cfg=single_core",
598 "cargo:rustc-cfg=soc_has_apb_ctrl",
599 "cargo:rustc-cfg=soc_has_apb_saradc",
600 "cargo:rustc-cfg=soc_has_bb",
601 "cargo:rustc-cfg=soc_has_assist_debug",
602 "cargo:rustc-cfg=soc_has_dma",
603 "cargo:rustc-cfg=soc_has_ecc",
604 "cargo:rustc-cfg=soc_has_efuse",
605 "cargo:rustc-cfg=soc_has_extmem",
606 "cargo:rustc-cfg=soc_has_gpio",
607 "cargo:rustc-cfg=soc_has_i2c_ana_mst",
608 "cargo:rustc-cfg=soc_has_i2c0",
609 "cargo:rustc-cfg=soc_has_interrupt_core0",
610 "cargo:rustc-cfg=soc_has_io_mux",
611 "cargo:rustc-cfg=soc_has_ledc",
612 "cargo:rustc-cfg=soc_has_rng",
613 "cargo:rustc-cfg=soc_has_lpwr",
614 "cargo:rustc-cfg=soc_has_modem_clkrst",
615 "cargo:rustc-cfg=soc_has_sensitive",
616 "cargo:rustc-cfg=soc_has_sha",
617 "cargo:rustc-cfg=soc_has_spi0",
618 "cargo:rustc-cfg=soc_has_spi1",
619 "cargo:rustc-cfg=soc_has_spi2",
620 "cargo:rustc-cfg=soc_has_system",
621 "cargo:rustc-cfg=soc_has_systimer",
622 "cargo:rustc-cfg=soc_has_timg0",
623 "cargo:rustc-cfg=soc_has_uart0",
624 "cargo:rustc-cfg=soc_has_uart1",
625 "cargo:rustc-cfg=soc_has_xts_aes",
626 "cargo:rustc-cfg=soc_has_dma_ch0",
627 "cargo:rustc-cfg=soc_has_adc1",
628 "cargo:rustc-cfg=soc_has_bt",
629 "cargo:rustc-cfg=soc_has_flash",
630 "cargo:rustc-cfg=soc_has_sw_interrupt",
631 "cargo:rustc-cfg=soc_has_wifi",
632 "cargo:rustc-cfg=soc_has_mem2mem1",
633 "cargo:rustc-cfg=soc_has_mem2mem2",
634 "cargo:rustc-cfg=soc_has_mem2mem3",
635 "cargo:rustc-cfg=soc_has_mem2mem4",
636 "cargo:rustc-cfg=soc_has_mem2mem5",
637 "cargo:rustc-cfg=soc_has_mem2mem6",
638 "cargo:rustc-cfg=soc_has_mem2mem7",
639 "cargo:rustc-cfg=soc_has_mem2mem8",
640 "cargo:rustc-cfg=gdma",
641 "cargo:rustc-cfg=phy",
642 "cargo:rustc-cfg=swd",
643 "cargo:rustc-cfg=rom_crc_le",
644 "cargo:rustc-cfg=rom_crc_be",
645 "cargo:rustc-cfg=rom_md5_mbedtls",
646 "cargo:rustc-cfg=pm_support_wifi_wakeup",
647 "cargo:rustc-cfg=pm_support_bt_wakeup",
648 "cargo:rustc-cfg=uart_support_wakeup_int",
649 "cargo:rustc-cfg=gpio_support_deepsleep_wakeup",
650 "cargo:rustc-cfg=soc",
651 "cargo:rustc-cfg=adc",
652 "cargo:rustc-cfg=assist_debug",
653 "cargo:rustc-cfg=dma",
654 "cargo:rustc-cfg=ecc",
655 "cargo:rustc-cfg=gpio",
656 "cargo:rustc-cfg=i2c_master",
657 "cargo:rustc-cfg=interrupts",
658 "cargo:rustc-cfg=io_mux",
659 "cargo:rustc-cfg=ledc",
660 "cargo:rustc-cfg=rng",
661 "cargo:rustc-cfg=sleep",
662 "cargo:rustc-cfg=sha",
663 "cargo:rustc-cfg=spi_master",
664 "cargo:rustc-cfg=spi_slave",
665 "cargo:rustc-cfg=systimer",
666 "cargo:rustc-cfg=temp_sensor",
667 "cargo:rustc-cfg=timergroup",
668 "cargo:rustc-cfg=uart",
669 "cargo:rustc-cfg=wifi",
670 "cargo:rustc-cfg=bt",
671 "cargo:rustc-cfg=phy",
672 "cargo:rustc-cfg=adc_adc1",
673 "cargo:rustc-cfg=i2c_master_i2c0",
674 "cargo:rustc-cfg=spi_master_spi2",
675 "cargo:rustc-cfg=spi_slave_spi2",
676 "cargo:rustc-cfg=timergroup_timg0",
677 "cargo:rustc-cfg=uart_uart0",
678 "cargo:rustc-cfg=uart_uart1",
679 "cargo:rustc-cfg=soc_cpu_has_csr_pc",
680 "cargo:rustc-cfg=soc_rc_fast_clk_default=\"17500000\"",
681 "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
682 "cargo:rustc-cfg=soc_rc_slow_clock=\"136000\"",
683 "cargo:rustc-cfg=soc_rc_slow_clock_is_set",
684 "cargo:rustc-cfg=has_dram_region",
685 "cargo:rustc-cfg=has_dram2_uninit_region",
686 "cargo:rustc-cfg=soc_has_multiple_xtal_options",
687 "cargo:rustc-cfg=assist_debug_has_sp_monitor",
688 "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
689 "cargo:rustc-cfg=gpio_constant_0_input=\"31\"",
690 "cargo:rustc-cfg=gpio_constant_1_input=\"30\"",
691 "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
692 "cargo:rustc-cfg=gpio_input_signal_max=\"100\"",
693 "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
694 "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
695 "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
696 "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
697 "cargo:rustc-cfg=i2c_master_has_conf_update",
698 "cargo:rustc-cfg=i2c_master_has_arbitration_en",
699 "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
700 "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
701 "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
702 "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
703 "cargo:rustc-cfg=i2c_master_fifo_size=\"16\"",
704 "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
705 "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
706 "cargo:rustc-cfg=sha_dma",
707 "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
708 "cargo:rustc-cfg=timergroup_default_clock_source=\"0\"",
709 "cargo:rustc-cfg=timergroup_default_clock_source_is_set",
710 "cargo:rustc-cfg=timergroup_default_wdt_clock_source=\"0\"",
711 "cargo:rustc-cfg=timergroup_default_wdt_clock_source_is_set",
712 "cargo:rustc-cfg=uart_ram_size=\"128\"",
713 "cargo:rustc-cfg=bt_controller=\"npl\"",
714 "cargo:rustc-cfg=phy_combo_module",
715 ],
716 },
717 Self::Esp32c3 => Config {
718 architecture: "riscv",
719 target: "riscv32imc-unknown-none-elf",
720 symbols: &[
721 "esp32c3",
722 "riscv",
723 "single_core",
724 "soc_has_aes",
725 "soc_has_apb_ctrl",
726 "soc_has_apb_saradc",
727 "soc_has_assist_debug",
728 "soc_has_bb",
729 "soc_has_dma",
730 "soc_has_ds",
731 "soc_has_efuse",
732 "soc_has_extmem",
733 "soc_has_fe",
734 "soc_has_fe2",
735 "soc_has_gpio",
736 "soc_has_gpio_sd",
737 "soc_has_hmac",
738 "soc_has_i2c_ana_mst",
739 "soc_has_i2c0",
740 "soc_has_i2s0",
741 "soc_has_interrupt_core0",
742 "soc_has_io_mux",
743 "soc_has_ledc",
744 "soc_has_nrx",
745 "soc_has_rmt",
746 "soc_has_rng",
747 "soc_has_rsa",
748 "soc_has_lpwr",
749 "soc_has_sensitive",
750 "soc_has_sha",
751 "soc_has_spi0",
752 "soc_has_spi1",
753 "soc_has_spi2",
754 "soc_has_system",
755 "soc_has_systimer",
756 "soc_has_timg0",
757 "soc_has_timg1",
758 "soc_has_twai0",
759 "soc_has_uart0",
760 "soc_has_uart1",
761 "soc_has_uhci0",
762 "soc_has_usb_device",
763 "soc_has_xts_aes",
764 "soc_has_dma_ch0",
765 "soc_has_dma_ch1",
766 "soc_has_dma_ch2",
767 "soc_has_adc1",
768 "soc_has_adc2",
769 "soc_has_bt",
770 "soc_has_flash",
771 "soc_has_sw_interrupt",
772 "soc_has_tsens",
773 "soc_has_wifi",
774 "gdma",
775 "phy",
776 "swd",
777 "rom_crc_le",
778 "rom_crc_be",
779 "rom_md5_bsd",
780 "pm_support_wifi_wakeup",
781 "pm_support_bt_wakeup",
782 "uart_support_wakeup_int",
783 "gpio_support_deepsleep_wakeup",
784 "soc",
785 "adc",
786 "aes",
787 "assist_debug",
788 "dma",
789 "gpio",
790 "hmac",
791 "i2c_master",
792 "i2s",
793 "interrupts",
794 "io_mux",
795 "ledc",
796 "rmt",
797 "rng",
798 "rsa",
799 "sleep",
800 "sha",
801 "spi_master",
802 "spi_slave",
803 "systimer",
804 "temp_sensor",
805 "timergroup",
806 "twai",
807 "uart",
808 "usb_serial_jtag",
809 "wifi",
810 "bt",
811 "phy",
812 "adc_adc1",
813 "adc_adc2",
814 "i2c_master_i2c0",
815 "spi_master_spi2",
816 "spi_slave_spi2",
817 "timergroup_timg0",
818 "timergroup_timg1",
819 "uart_uart0",
820 "uart_uart1",
821 "soc_cpu_has_csr_pc",
822 "soc_rc_fast_clk_default=\"17500000\"",
823 "soc_rc_fast_clk_default_is_set",
824 "soc_rc_slow_clock=\"136000\"",
825 "soc_rc_slow_clock_is_set",
826 "has_dram_region",
827 "has_dram2_uninit_region",
828 "soc_xtal_frequency=\"40\"",
829 "aes_dma",
830 "aes_dma_mode_ecb",
831 "aes_dma_mode_cbc",
832 "aes_dma_mode_ofb",
833 "aes_dma_mode_ctr",
834 "aes_dma_mode_cfb8",
835 "aes_dma_mode_cfb128",
836 "aes_has_split_text_registers",
837 "assist_debug_has_sp_monitor",
838 "assist_debug_has_region_monitor",
839 "gpio_gpio_function=\"1\"",
840 "gpio_constant_0_input=\"31\"",
841 "gpio_constant_1_input=\"30\"",
842 "gpio_func_in_sel_offset=\"0\"",
843 "gpio_input_signal_max=\"100\"",
844 "gpio_output_signal_max=\"128\"",
845 "i2c_master_has_fsm_timeouts",
846 "i2c_master_has_hw_bus_clear",
847 "i2c_master_has_bus_timeout_enable",
848 "i2c_master_has_conf_update",
849 "i2c_master_has_arbitration_en",
850 "i2c_master_has_tx_fifo_watermark",
851 "i2c_master_bus_timeout_is_exponential",
852 "i2c_master_max_bus_timeout=\"31\"",
853 "i2c_master_ll_intr_mask=\"262143\"",
854 "i2c_master_fifo_size=\"32\"",
855 "interrupts_status_registers=\"2\"",
856 "rmt_ram_start=\"1610703872\"",
857 "rmt_channel_ram_size=\"48\"",
858 "rmt_has_tx_immediate_stop",
859 "rmt_has_tx_loop_count",
860 "rmt_has_tx_carrier_data_only",
861 "rmt_has_tx_sync",
862 "rmt_has_rx_wrap",
863 "rmt_has_rx_demodulation",
864 "rmt_supports_none_clock",
865 "rmt_supports_apb_clock",
866 "rmt_supports_rcfast_clock",
867 "rmt_supports_xtal_clock",
868 "rng_apb_cycle_wait_num=\"16\"",
869 "rsa_size_increment=\"32\"",
870 "rsa_memory_size_bytes=\"384\"",
871 "sha_dma",
872 "timergroup_timg_has_divcnt_rst",
873 "timergroup_default_clock_source=\"0\"",
874 "timergroup_default_clock_source_is_set",
875 "timergroup_default_wdt_clock_source=\"0\"",
876 "timergroup_default_wdt_clock_source_is_set",
877 "uart_ram_size=\"128\"",
878 "bt_controller=\"btdm\"",
879 "phy_combo_module",
880 "phy_backed_up_digital_register_count=\"21\"",
881 "phy_backed_up_digital_register_count_is_set",
882 ],
883 cfgs: &[
884 "cargo:rustc-cfg=esp32c3",
885 "cargo:rustc-cfg=riscv",
886 "cargo:rustc-cfg=single_core",
887 "cargo:rustc-cfg=soc_has_aes",
888 "cargo:rustc-cfg=soc_has_apb_ctrl",
889 "cargo:rustc-cfg=soc_has_apb_saradc",
890 "cargo:rustc-cfg=soc_has_assist_debug",
891 "cargo:rustc-cfg=soc_has_bb",
892 "cargo:rustc-cfg=soc_has_dma",
893 "cargo:rustc-cfg=soc_has_ds",
894 "cargo:rustc-cfg=soc_has_efuse",
895 "cargo:rustc-cfg=soc_has_extmem",
896 "cargo:rustc-cfg=soc_has_fe",
897 "cargo:rustc-cfg=soc_has_fe2",
898 "cargo:rustc-cfg=soc_has_gpio",
899 "cargo:rustc-cfg=soc_has_gpio_sd",
900 "cargo:rustc-cfg=soc_has_hmac",
901 "cargo:rustc-cfg=soc_has_i2c_ana_mst",
902 "cargo:rustc-cfg=soc_has_i2c0",
903 "cargo:rustc-cfg=soc_has_i2s0",
904 "cargo:rustc-cfg=soc_has_interrupt_core0",
905 "cargo:rustc-cfg=soc_has_io_mux",
906 "cargo:rustc-cfg=soc_has_ledc",
907 "cargo:rustc-cfg=soc_has_nrx",
908 "cargo:rustc-cfg=soc_has_rmt",
909 "cargo:rustc-cfg=soc_has_rng",
910 "cargo:rustc-cfg=soc_has_rsa",
911 "cargo:rustc-cfg=soc_has_lpwr",
912 "cargo:rustc-cfg=soc_has_sensitive",
913 "cargo:rustc-cfg=soc_has_sha",
914 "cargo:rustc-cfg=soc_has_spi0",
915 "cargo:rustc-cfg=soc_has_spi1",
916 "cargo:rustc-cfg=soc_has_spi2",
917 "cargo:rustc-cfg=soc_has_system",
918 "cargo:rustc-cfg=soc_has_systimer",
919 "cargo:rustc-cfg=soc_has_timg0",
920 "cargo:rustc-cfg=soc_has_timg1",
921 "cargo:rustc-cfg=soc_has_twai0",
922 "cargo:rustc-cfg=soc_has_uart0",
923 "cargo:rustc-cfg=soc_has_uart1",
924 "cargo:rustc-cfg=soc_has_uhci0",
925 "cargo:rustc-cfg=soc_has_usb_device",
926 "cargo:rustc-cfg=soc_has_xts_aes",
927 "cargo:rustc-cfg=soc_has_dma_ch0",
928 "cargo:rustc-cfg=soc_has_dma_ch1",
929 "cargo:rustc-cfg=soc_has_dma_ch2",
930 "cargo:rustc-cfg=soc_has_adc1",
931 "cargo:rustc-cfg=soc_has_adc2",
932 "cargo:rustc-cfg=soc_has_bt",
933 "cargo:rustc-cfg=soc_has_flash",
934 "cargo:rustc-cfg=soc_has_sw_interrupt",
935 "cargo:rustc-cfg=soc_has_tsens",
936 "cargo:rustc-cfg=soc_has_wifi",
937 "cargo:rustc-cfg=gdma",
938 "cargo:rustc-cfg=phy",
939 "cargo:rustc-cfg=swd",
940 "cargo:rustc-cfg=rom_crc_le",
941 "cargo:rustc-cfg=rom_crc_be",
942 "cargo:rustc-cfg=rom_md5_bsd",
943 "cargo:rustc-cfg=pm_support_wifi_wakeup",
944 "cargo:rustc-cfg=pm_support_bt_wakeup",
945 "cargo:rustc-cfg=uart_support_wakeup_int",
946 "cargo:rustc-cfg=gpio_support_deepsleep_wakeup",
947 "cargo:rustc-cfg=soc",
948 "cargo:rustc-cfg=adc",
949 "cargo:rustc-cfg=aes",
950 "cargo:rustc-cfg=assist_debug",
951 "cargo:rustc-cfg=dma",
952 "cargo:rustc-cfg=gpio",
953 "cargo:rustc-cfg=hmac",
954 "cargo:rustc-cfg=i2c_master",
955 "cargo:rustc-cfg=i2s",
956 "cargo:rustc-cfg=interrupts",
957 "cargo:rustc-cfg=io_mux",
958 "cargo:rustc-cfg=ledc",
959 "cargo:rustc-cfg=rmt",
960 "cargo:rustc-cfg=rng",
961 "cargo:rustc-cfg=rsa",
962 "cargo:rustc-cfg=sleep",
963 "cargo:rustc-cfg=sha",
964 "cargo:rustc-cfg=spi_master",
965 "cargo:rustc-cfg=spi_slave",
966 "cargo:rustc-cfg=systimer",
967 "cargo:rustc-cfg=temp_sensor",
968 "cargo:rustc-cfg=timergroup",
969 "cargo:rustc-cfg=twai",
970 "cargo:rustc-cfg=uart",
971 "cargo:rustc-cfg=usb_serial_jtag",
972 "cargo:rustc-cfg=wifi",
973 "cargo:rustc-cfg=bt",
974 "cargo:rustc-cfg=phy",
975 "cargo:rustc-cfg=adc_adc1",
976 "cargo:rustc-cfg=adc_adc2",
977 "cargo:rustc-cfg=i2c_master_i2c0",
978 "cargo:rustc-cfg=spi_master_spi2",
979 "cargo:rustc-cfg=spi_slave_spi2",
980 "cargo:rustc-cfg=timergroup_timg0",
981 "cargo:rustc-cfg=timergroup_timg1",
982 "cargo:rustc-cfg=uart_uart0",
983 "cargo:rustc-cfg=uart_uart1",
984 "cargo:rustc-cfg=soc_cpu_has_csr_pc",
985 "cargo:rustc-cfg=soc_rc_fast_clk_default=\"17500000\"",
986 "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
987 "cargo:rustc-cfg=soc_rc_slow_clock=\"136000\"",
988 "cargo:rustc-cfg=soc_rc_slow_clock_is_set",
989 "cargo:rustc-cfg=has_dram_region",
990 "cargo:rustc-cfg=has_dram2_uninit_region",
991 "cargo:rustc-cfg=soc_xtal_frequency=\"40\"",
992 "cargo:rustc-cfg=aes_dma",
993 "cargo:rustc-cfg=aes_dma_mode_ecb",
994 "cargo:rustc-cfg=aes_dma_mode_cbc",
995 "cargo:rustc-cfg=aes_dma_mode_ofb",
996 "cargo:rustc-cfg=aes_dma_mode_ctr",
997 "cargo:rustc-cfg=aes_dma_mode_cfb8",
998 "cargo:rustc-cfg=aes_dma_mode_cfb128",
999 "cargo:rustc-cfg=aes_has_split_text_registers",
1000 "cargo:rustc-cfg=assist_debug_has_sp_monitor",
1001 "cargo:rustc-cfg=assist_debug_has_region_monitor",
1002 "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
1003 "cargo:rustc-cfg=gpio_constant_0_input=\"31\"",
1004 "cargo:rustc-cfg=gpio_constant_1_input=\"30\"",
1005 "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
1006 "cargo:rustc-cfg=gpio_input_signal_max=\"100\"",
1007 "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
1008 "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
1009 "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
1010 "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
1011 "cargo:rustc-cfg=i2c_master_has_conf_update",
1012 "cargo:rustc-cfg=i2c_master_has_arbitration_en",
1013 "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
1014 "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
1015 "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
1016 "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
1017 "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
1018 "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
1019 "cargo:rustc-cfg=rmt_ram_start=\"1610703872\"",
1020 "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
1021 "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
1022 "cargo:rustc-cfg=rmt_has_tx_loop_count",
1023 "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
1024 "cargo:rustc-cfg=rmt_has_tx_sync",
1025 "cargo:rustc-cfg=rmt_has_rx_wrap",
1026 "cargo:rustc-cfg=rmt_has_rx_demodulation",
1027 "cargo:rustc-cfg=rmt_supports_none_clock",
1028 "cargo:rustc-cfg=rmt_supports_apb_clock",
1029 "cargo:rustc-cfg=rmt_supports_rcfast_clock",
1030 "cargo:rustc-cfg=rmt_supports_xtal_clock",
1031 "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
1032 "cargo:rustc-cfg=rsa_size_increment=\"32\"",
1033 "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
1034 "cargo:rustc-cfg=sha_dma",
1035 "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
1036 "cargo:rustc-cfg=timergroup_default_clock_source=\"0\"",
1037 "cargo:rustc-cfg=timergroup_default_clock_source_is_set",
1038 "cargo:rustc-cfg=timergroup_default_wdt_clock_source=\"0\"",
1039 "cargo:rustc-cfg=timergroup_default_wdt_clock_source_is_set",
1040 "cargo:rustc-cfg=uart_ram_size=\"128\"",
1041 "cargo:rustc-cfg=bt_controller=\"btdm\"",
1042 "cargo:rustc-cfg=phy_combo_module",
1043 "cargo:rustc-cfg=phy_backed_up_digital_register_count=\"21\"",
1044 "cargo:rustc-cfg=phy_backed_up_digital_register_count_is_set",
1045 ],
1046 },
1047 Self::Esp32c6 => Config {
1048 architecture: "riscv",
1049 target: "riscv32imac-unknown-none-elf",
1050 symbols: &[
1051 "esp32c6",
1052 "riscv",
1053 "single_core",
1054 "soc_has_aes",
1055 "soc_has_apb_saradc",
1056 "soc_has_assist_debug",
1057 "soc_has_atomic",
1058 "soc_has_dma",
1059 "soc_has_ds",
1060 "soc_has_ecc",
1061 "soc_has_efuse",
1062 "soc_has_extmem",
1063 "soc_has_gpio",
1064 "soc_has_gpio_sd",
1065 "soc_has_hinf",
1066 "soc_has_hmac",
1067 "soc_has_hp_apm",
1068 "soc_has_hp_sys",
1069 "soc_has_i2c_ana_mst",
1070 "soc_has_i2c0",
1071 "soc_has_i2s0",
1072 "soc_has_ieee802154",
1073 "soc_has_interrupt_core0",
1074 "soc_has_intpri",
1075 "soc_has_io_mux",
1076 "soc_has_ledc",
1077 "soc_has_lp_ana",
1078 "soc_has_lp_aon",
1079 "soc_has_lp_apm",
1080 "soc_has_lp_apm0",
1081 "soc_has_lp_clkrst",
1082 "soc_has_lp_i2c0",
1083 "soc_has_lp_i2c_ana_mst",
1084 "soc_has_lp_io",
1085 "soc_has_lp_peri",
1086 "soc_has_lp_tee",
1087 "soc_has_lp_timer",
1088 "soc_has_lp_uart",
1089 "soc_has_lp_wdt",
1090 "soc_has_lpwr",
1091 "soc_has_mcpwm0",
1092 "soc_has_mem_monitor",
1093 "soc_has_modem_lpcon",
1094 "soc_has_modem_syscon",
1095 "soc_has_otp_debug",
1096 "soc_has_parl_io",
1097 "soc_has_pau",
1098 "soc_has_pcnt",
1099 "soc_has_pcr",
1100 "soc_has_plic_mx",
1101 "soc_has_pmu",
1102 "soc_has_rmt",
1103 "soc_has_rng",
1104 "soc_has_rsa",
1105 "soc_has_sha",
1106 "soc_has_slchost",
1107 "soc_has_etm",
1108 "soc_has_spi0",
1109 "soc_has_spi1",
1110 "soc_has_spi2",
1111 "soc_has_system",
1112 "soc_has_systimer",
1113 "soc_has_tee",
1114 "soc_has_timg0",
1115 "soc_has_timg1",
1116 "soc_has_trace0",
1117 "soc_has_twai0",
1118 "soc_has_twai1",
1119 "soc_has_uart0",
1120 "soc_has_uart1",
1121 "soc_has_uhci0",
1122 "soc_has_usb_device",
1123 "soc_has_dma_ch0",
1124 "soc_has_dma_ch1",
1125 "soc_has_dma_ch2",
1126 "soc_has_adc1",
1127 "soc_has_bt",
1128 "soc_has_flash",
1129 "soc_has_lp_core",
1130 "soc_has_sw_interrupt",
1131 "soc_has_tsens",
1132 "soc_has_wifi",
1133 "soc_has_mem2mem1",
1134 "soc_has_mem2mem4",
1135 "soc_has_mem2mem5",
1136 "soc_has_mem2mem10",
1137 "soc_has_mem2mem11",
1138 "soc_has_mem2mem12",
1139 "soc_has_mem2mem13",
1140 "soc_has_mem2mem14",
1141 "soc_has_mem2mem15",
1142 "gdma",
1143 "plic",
1144 "phy",
1145 "lp_core",
1146 "swd",
1147 "rom_crc_le",
1148 "rom_crc_be",
1149 "rom_md5_bsd",
1150 "pm_support_wifi_wakeup",
1151 "pm_support_beacon_wakeup",
1152 "pm_support_bt_wakeup",
1153 "gpio_support_deepsleep_wakeup",
1154 "uart_support_wakeup_int",
1155 "pm_support_ext1_wakeup",
1156 "soc",
1157 "adc",
1158 "aes",
1159 "assist_debug",
1160 "dma",
1161 "ecc",
1162 "etm",
1163 "gpio",
1164 "hmac",
1165 "i2c_master",
1166 "lp_i2c_master",
1167 "i2s",
1168 "interrupts",
1169 "io_mux",
1170 "ledc",
1171 "mcpwm",
1172 "parl_io",
1173 "pcnt",
1174 "rmt",
1175 "rng",
1176 "rsa",
1177 "sd_slave",
1178 "sleep",
1179 "sha",
1180 "spi_master",
1181 "spi_slave",
1182 "systimer",
1183 "temp_sensor",
1184 "timergroup",
1185 "twai",
1186 "uart",
1187 "lp_uart",
1188 "ulp_riscv",
1189 "usb_serial_jtag",
1190 "wifi",
1191 "bt",
1192 "ieee802154",
1193 "phy",
1194 "adc_adc1",
1195 "i2c_master_i2c0",
1196 "spi_master_spi2",
1197 "spi_slave_spi2",
1198 "timergroup_timg0",
1199 "timergroup_timg1",
1200 "uart_uart0",
1201 "uart_uart1",
1202 "soc_cpu_has_csr_pc",
1203 "soc_cpu_has_prv_mode",
1204 "soc_rc_fast_clk_default=\"17500000\"",
1205 "soc_rc_fast_clk_default_is_set",
1206 "soc_rc_slow_clock=\"136000\"",
1207 "soc_rc_slow_clock_is_set",
1208 "has_dram_region",
1209 "has_dram2_uninit_region",
1210 "soc_xtal_frequency=\"40\"",
1211 "aes_dma",
1212 "aes_dma_mode_ecb",
1213 "aes_dma_mode_cbc",
1214 "aes_dma_mode_ofb",
1215 "aes_dma_mode_ctr",
1216 "aes_dma_mode_cfb8",
1217 "aes_dma_mode_cfb128",
1218 "aes_has_split_text_registers",
1219 "assist_debug_has_sp_monitor",
1220 "assist_debug_has_region_monitor",
1221 "gpio_gpio_function=\"1\"",
1222 "gpio_constant_0_input=\"60\"",
1223 "gpio_constant_1_input=\"56\"",
1224 "gpio_func_in_sel_offset=\"0\"",
1225 "gpio_input_signal_max=\"124\"",
1226 "gpio_output_signal_max=\"128\"",
1227 "i2c_master_has_fsm_timeouts",
1228 "i2c_master_has_hw_bus_clear",
1229 "i2c_master_has_bus_timeout_enable",
1230 "i2c_master_can_estimate_nack_reason",
1231 "i2c_master_has_conf_update",
1232 "i2c_master_has_reliable_fsm_reset",
1233 "i2c_master_has_arbitration_en",
1234 "i2c_master_has_tx_fifo_watermark",
1235 "i2c_master_bus_timeout_is_exponential",
1236 "i2c_master_max_bus_timeout=\"31\"",
1237 "i2c_master_ll_intr_mask=\"262143\"",
1238 "i2c_master_fifo_size=\"32\"",
1239 "lp_i2c_master_fifo_size=\"16\"",
1240 "interrupts_status_registers=\"3\"",
1241 "rmt_ram_start=\"1610638336\"",
1242 "rmt_channel_ram_size=\"48\"",
1243 "rmt_has_tx_immediate_stop",
1244 "rmt_has_tx_loop_count",
1245 "rmt_has_tx_loop_auto_stop",
1246 "rmt_has_tx_carrier_data_only",
1247 "rmt_has_tx_sync",
1248 "rmt_has_rx_wrap",
1249 "rmt_has_rx_demodulation",
1250 "rmt_supports_none_clock",
1251 "rmt_supports_pll80mhz_clock",
1252 "rmt_supports_rcfast_clock",
1253 "rmt_supports_xtal_clock",
1254 "rng_apb_cycle_wait_num=\"16\"",
1255 "rsa_size_increment=\"32\"",
1256 "rsa_memory_size_bytes=\"384\"",
1257 "sha_dma",
1258 "timergroup_timg_has_divcnt_rst",
1259 "timergroup_default_clock_source=\"1\"",
1260 "timergroup_default_clock_source_is_set",
1261 "timergroup_default_wdt_clock_source=\"1\"",
1262 "timergroup_default_wdt_clock_source_is_set",
1263 "uart_ram_size=\"128\"",
1264 "uart_peripheral_controls_mem_clk",
1265 "lp_uart_ram_size=\"32\"",
1266 "wifi_has_wifi6",
1267 "bt_controller=\"npl\"",
1268 "phy_combo_module",
1269 ],
1270 cfgs: &[
1271 "cargo:rustc-cfg=esp32c6",
1272 "cargo:rustc-cfg=riscv",
1273 "cargo:rustc-cfg=single_core",
1274 "cargo:rustc-cfg=soc_has_aes",
1275 "cargo:rustc-cfg=soc_has_apb_saradc",
1276 "cargo:rustc-cfg=soc_has_assist_debug",
1277 "cargo:rustc-cfg=soc_has_atomic",
1278 "cargo:rustc-cfg=soc_has_dma",
1279 "cargo:rustc-cfg=soc_has_ds",
1280 "cargo:rustc-cfg=soc_has_ecc",
1281 "cargo:rustc-cfg=soc_has_efuse",
1282 "cargo:rustc-cfg=soc_has_extmem",
1283 "cargo:rustc-cfg=soc_has_gpio",
1284 "cargo:rustc-cfg=soc_has_gpio_sd",
1285 "cargo:rustc-cfg=soc_has_hinf",
1286 "cargo:rustc-cfg=soc_has_hmac",
1287 "cargo:rustc-cfg=soc_has_hp_apm",
1288 "cargo:rustc-cfg=soc_has_hp_sys",
1289 "cargo:rustc-cfg=soc_has_i2c_ana_mst",
1290 "cargo:rustc-cfg=soc_has_i2c0",
1291 "cargo:rustc-cfg=soc_has_i2s0",
1292 "cargo:rustc-cfg=soc_has_ieee802154",
1293 "cargo:rustc-cfg=soc_has_interrupt_core0",
1294 "cargo:rustc-cfg=soc_has_intpri",
1295 "cargo:rustc-cfg=soc_has_io_mux",
1296 "cargo:rustc-cfg=soc_has_ledc",
1297 "cargo:rustc-cfg=soc_has_lp_ana",
1298 "cargo:rustc-cfg=soc_has_lp_aon",
1299 "cargo:rustc-cfg=soc_has_lp_apm",
1300 "cargo:rustc-cfg=soc_has_lp_apm0",
1301 "cargo:rustc-cfg=soc_has_lp_clkrst",
1302 "cargo:rustc-cfg=soc_has_lp_i2c0",
1303 "cargo:rustc-cfg=soc_has_lp_i2c_ana_mst",
1304 "cargo:rustc-cfg=soc_has_lp_io",
1305 "cargo:rustc-cfg=soc_has_lp_peri",
1306 "cargo:rustc-cfg=soc_has_lp_tee",
1307 "cargo:rustc-cfg=soc_has_lp_timer",
1308 "cargo:rustc-cfg=soc_has_lp_uart",
1309 "cargo:rustc-cfg=soc_has_lp_wdt",
1310 "cargo:rustc-cfg=soc_has_lpwr",
1311 "cargo:rustc-cfg=soc_has_mcpwm0",
1312 "cargo:rustc-cfg=soc_has_mem_monitor",
1313 "cargo:rustc-cfg=soc_has_modem_lpcon",
1314 "cargo:rustc-cfg=soc_has_modem_syscon",
1315 "cargo:rustc-cfg=soc_has_otp_debug",
1316 "cargo:rustc-cfg=soc_has_parl_io",
1317 "cargo:rustc-cfg=soc_has_pau",
1318 "cargo:rustc-cfg=soc_has_pcnt",
1319 "cargo:rustc-cfg=soc_has_pcr",
1320 "cargo:rustc-cfg=soc_has_plic_mx",
1321 "cargo:rustc-cfg=soc_has_pmu",
1322 "cargo:rustc-cfg=soc_has_rmt",
1323 "cargo:rustc-cfg=soc_has_rng",
1324 "cargo:rustc-cfg=soc_has_rsa",
1325 "cargo:rustc-cfg=soc_has_sha",
1326 "cargo:rustc-cfg=soc_has_slchost",
1327 "cargo:rustc-cfg=soc_has_etm",
1328 "cargo:rustc-cfg=soc_has_spi0",
1329 "cargo:rustc-cfg=soc_has_spi1",
1330 "cargo:rustc-cfg=soc_has_spi2",
1331 "cargo:rustc-cfg=soc_has_system",
1332 "cargo:rustc-cfg=soc_has_systimer",
1333 "cargo:rustc-cfg=soc_has_tee",
1334 "cargo:rustc-cfg=soc_has_timg0",
1335 "cargo:rustc-cfg=soc_has_timg1",
1336 "cargo:rustc-cfg=soc_has_trace0",
1337 "cargo:rustc-cfg=soc_has_twai0",
1338 "cargo:rustc-cfg=soc_has_twai1",
1339 "cargo:rustc-cfg=soc_has_uart0",
1340 "cargo:rustc-cfg=soc_has_uart1",
1341 "cargo:rustc-cfg=soc_has_uhci0",
1342 "cargo:rustc-cfg=soc_has_usb_device",
1343 "cargo:rustc-cfg=soc_has_dma_ch0",
1344 "cargo:rustc-cfg=soc_has_dma_ch1",
1345 "cargo:rustc-cfg=soc_has_dma_ch2",
1346 "cargo:rustc-cfg=soc_has_adc1",
1347 "cargo:rustc-cfg=soc_has_bt",
1348 "cargo:rustc-cfg=soc_has_flash",
1349 "cargo:rustc-cfg=soc_has_lp_core",
1350 "cargo:rustc-cfg=soc_has_sw_interrupt",
1351 "cargo:rustc-cfg=soc_has_tsens",
1352 "cargo:rustc-cfg=soc_has_wifi",
1353 "cargo:rustc-cfg=soc_has_mem2mem1",
1354 "cargo:rustc-cfg=soc_has_mem2mem4",
1355 "cargo:rustc-cfg=soc_has_mem2mem5",
1356 "cargo:rustc-cfg=soc_has_mem2mem10",
1357 "cargo:rustc-cfg=soc_has_mem2mem11",
1358 "cargo:rustc-cfg=soc_has_mem2mem12",
1359 "cargo:rustc-cfg=soc_has_mem2mem13",
1360 "cargo:rustc-cfg=soc_has_mem2mem14",
1361 "cargo:rustc-cfg=soc_has_mem2mem15",
1362 "cargo:rustc-cfg=gdma",
1363 "cargo:rustc-cfg=plic",
1364 "cargo:rustc-cfg=phy",
1365 "cargo:rustc-cfg=lp_core",
1366 "cargo:rustc-cfg=swd",
1367 "cargo:rustc-cfg=rom_crc_le",
1368 "cargo:rustc-cfg=rom_crc_be",
1369 "cargo:rustc-cfg=rom_md5_bsd",
1370 "cargo:rustc-cfg=pm_support_wifi_wakeup",
1371 "cargo:rustc-cfg=pm_support_beacon_wakeup",
1372 "cargo:rustc-cfg=pm_support_bt_wakeup",
1373 "cargo:rustc-cfg=gpio_support_deepsleep_wakeup",
1374 "cargo:rustc-cfg=uart_support_wakeup_int",
1375 "cargo:rustc-cfg=pm_support_ext1_wakeup",
1376 "cargo:rustc-cfg=soc",
1377 "cargo:rustc-cfg=adc",
1378 "cargo:rustc-cfg=aes",
1379 "cargo:rustc-cfg=assist_debug",
1380 "cargo:rustc-cfg=dma",
1381 "cargo:rustc-cfg=ecc",
1382 "cargo:rustc-cfg=etm",
1383 "cargo:rustc-cfg=gpio",
1384 "cargo:rustc-cfg=hmac",
1385 "cargo:rustc-cfg=i2c_master",
1386 "cargo:rustc-cfg=lp_i2c_master",
1387 "cargo:rustc-cfg=i2s",
1388 "cargo:rustc-cfg=interrupts",
1389 "cargo:rustc-cfg=io_mux",
1390 "cargo:rustc-cfg=ledc",
1391 "cargo:rustc-cfg=mcpwm",
1392 "cargo:rustc-cfg=parl_io",
1393 "cargo:rustc-cfg=pcnt",
1394 "cargo:rustc-cfg=rmt",
1395 "cargo:rustc-cfg=rng",
1396 "cargo:rustc-cfg=rsa",
1397 "cargo:rustc-cfg=sd_slave",
1398 "cargo:rustc-cfg=sleep",
1399 "cargo:rustc-cfg=sha",
1400 "cargo:rustc-cfg=spi_master",
1401 "cargo:rustc-cfg=spi_slave",
1402 "cargo:rustc-cfg=systimer",
1403 "cargo:rustc-cfg=temp_sensor",
1404 "cargo:rustc-cfg=timergroup",
1405 "cargo:rustc-cfg=twai",
1406 "cargo:rustc-cfg=uart",
1407 "cargo:rustc-cfg=lp_uart",
1408 "cargo:rustc-cfg=ulp_riscv",
1409 "cargo:rustc-cfg=usb_serial_jtag",
1410 "cargo:rustc-cfg=wifi",
1411 "cargo:rustc-cfg=bt",
1412 "cargo:rustc-cfg=ieee802154",
1413 "cargo:rustc-cfg=phy",
1414 "cargo:rustc-cfg=adc_adc1",
1415 "cargo:rustc-cfg=i2c_master_i2c0",
1416 "cargo:rustc-cfg=spi_master_spi2",
1417 "cargo:rustc-cfg=spi_slave_spi2",
1418 "cargo:rustc-cfg=timergroup_timg0",
1419 "cargo:rustc-cfg=timergroup_timg1",
1420 "cargo:rustc-cfg=uart_uart0",
1421 "cargo:rustc-cfg=uart_uart1",
1422 "cargo:rustc-cfg=soc_cpu_has_csr_pc",
1423 "cargo:rustc-cfg=soc_cpu_has_prv_mode",
1424 "cargo:rustc-cfg=soc_rc_fast_clk_default=\"17500000\"",
1425 "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
1426 "cargo:rustc-cfg=soc_rc_slow_clock=\"136000\"",
1427 "cargo:rustc-cfg=soc_rc_slow_clock_is_set",
1428 "cargo:rustc-cfg=has_dram_region",
1429 "cargo:rustc-cfg=has_dram2_uninit_region",
1430 "cargo:rustc-cfg=soc_xtal_frequency=\"40\"",
1431 "cargo:rustc-cfg=aes_dma",
1432 "cargo:rustc-cfg=aes_dma_mode_ecb",
1433 "cargo:rustc-cfg=aes_dma_mode_cbc",
1434 "cargo:rustc-cfg=aes_dma_mode_ofb",
1435 "cargo:rustc-cfg=aes_dma_mode_ctr",
1436 "cargo:rustc-cfg=aes_dma_mode_cfb8",
1437 "cargo:rustc-cfg=aes_dma_mode_cfb128",
1438 "cargo:rustc-cfg=aes_has_split_text_registers",
1439 "cargo:rustc-cfg=assist_debug_has_sp_monitor",
1440 "cargo:rustc-cfg=assist_debug_has_region_monitor",
1441 "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
1442 "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
1443 "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
1444 "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
1445 "cargo:rustc-cfg=gpio_input_signal_max=\"124\"",
1446 "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
1447 "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
1448 "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
1449 "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
1450 "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
1451 "cargo:rustc-cfg=i2c_master_has_conf_update",
1452 "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
1453 "cargo:rustc-cfg=i2c_master_has_arbitration_en",
1454 "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
1455 "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
1456 "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
1457 "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
1458 "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
1459 "cargo:rustc-cfg=lp_i2c_master_fifo_size=\"16\"",
1460 "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
1461 "cargo:rustc-cfg=rmt_ram_start=\"1610638336\"",
1462 "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
1463 "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
1464 "cargo:rustc-cfg=rmt_has_tx_loop_count",
1465 "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
1466 "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
1467 "cargo:rustc-cfg=rmt_has_tx_sync",
1468 "cargo:rustc-cfg=rmt_has_rx_wrap",
1469 "cargo:rustc-cfg=rmt_has_rx_demodulation",
1470 "cargo:rustc-cfg=rmt_supports_none_clock",
1471 "cargo:rustc-cfg=rmt_supports_pll80mhz_clock",
1472 "cargo:rustc-cfg=rmt_supports_rcfast_clock",
1473 "cargo:rustc-cfg=rmt_supports_xtal_clock",
1474 "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
1475 "cargo:rustc-cfg=rsa_size_increment=\"32\"",
1476 "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
1477 "cargo:rustc-cfg=sha_dma",
1478 "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
1479 "cargo:rustc-cfg=timergroup_default_clock_source=\"1\"",
1480 "cargo:rustc-cfg=timergroup_default_clock_source_is_set",
1481 "cargo:rustc-cfg=timergroup_default_wdt_clock_source=\"1\"",
1482 "cargo:rustc-cfg=timergroup_default_wdt_clock_source_is_set",
1483 "cargo:rustc-cfg=uart_ram_size=\"128\"",
1484 "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
1485 "cargo:rustc-cfg=lp_uart_ram_size=\"32\"",
1486 "cargo:rustc-cfg=wifi_has_wifi6",
1487 "cargo:rustc-cfg=bt_controller=\"npl\"",
1488 "cargo:rustc-cfg=phy_combo_module",
1489 ],
1490 },
1491 Self::Esp32h2 => Config {
1492 architecture: "riscv",
1493 target: "riscv32imac-unknown-none-elf",
1494 symbols: &[
1495 "esp32h2",
1496 "riscv",
1497 "single_core",
1498 "soc_has_aes",
1499 "soc_has_apb_saradc",
1500 "soc_has_assist_debug",
1501 "soc_has_dma",
1502 "soc_has_ds",
1503 "soc_has_ecc",
1504 "soc_has_efuse",
1505 "soc_has_gpio",
1506 "soc_has_gpio_sd",
1507 "soc_has_hmac",
1508 "soc_has_hp_apm",
1509 "soc_has_hp_sys",
1510 "soc_has_i2c_ana_mst",
1511 "soc_has_i2c0",
1512 "soc_has_i2c1",
1513 "soc_has_i2s0",
1514 "soc_has_ieee802154",
1515 "soc_has_interrupt_core0",
1516 "soc_has_intpri",
1517 "soc_has_io_mux",
1518 "soc_has_ledc",
1519 "soc_has_lpwr",
1520 "soc_has_lp_ana",
1521 "soc_has_lp_aon",
1522 "soc_has_lp_apm",
1523 "soc_has_lp_apm0",
1524 "soc_has_lp_clkrst",
1525 "soc_has_lp_peri",
1526 "soc_has_lp_timer",
1527 "soc_has_lp_wdt",
1528 "soc_has_mcpwm0",
1529 "soc_has_mem_monitor",
1530 "soc_has_modem_lpcon",
1531 "soc_has_modem_syscon",
1532 "soc_has_otp_debug",
1533 "soc_has_parl_io",
1534 "soc_has_pau",
1535 "soc_has_pcnt",
1536 "soc_has_pcr",
1537 "soc_has_plic_mx",
1538 "soc_has_pmu",
1539 "soc_has_rmt",
1540 "soc_has_rng",
1541 "soc_has_rsa",
1542 "soc_has_sha",
1543 "soc_has_etm",
1544 "soc_has_spi0",
1545 "soc_has_spi1",
1546 "soc_has_spi2",
1547 "soc_has_system",
1548 "soc_has_systimer",
1549 "soc_has_tee",
1550 "soc_has_timg0",
1551 "soc_has_timg1",
1552 "soc_has_trace0",
1553 "soc_has_twai0",
1554 "soc_has_uart0",
1555 "soc_has_uart1",
1556 "soc_has_uhci0",
1557 "soc_has_usb_device",
1558 "soc_has_dma_ch0",
1559 "soc_has_dma_ch1",
1560 "soc_has_dma_ch2",
1561 "soc_has_adc1",
1562 "soc_has_bt",
1563 "soc_has_flash",
1564 "soc_has_sw_interrupt",
1565 "soc_has_mem2mem1",
1566 "soc_has_mem2mem4",
1567 "soc_has_mem2mem5",
1568 "soc_has_mem2mem10",
1569 "soc_has_mem2mem11",
1570 "soc_has_mem2mem12",
1571 "soc_has_mem2mem13",
1572 "soc_has_mem2mem14",
1573 "soc_has_mem2mem15",
1574 "gdma",
1575 "plic",
1576 "phy",
1577 "swd",
1578 "rom_crc_le",
1579 "rom_crc_be",
1580 "rom_md5_bsd",
1581 "soc",
1582 "adc",
1583 "aes",
1584 "assist_debug",
1585 "dma",
1586 "ecc",
1587 "etm",
1588 "gpio",
1589 "hmac",
1590 "i2c_master",
1591 "i2s",
1592 "interrupts",
1593 "io_mux",
1594 "ledc",
1595 "mcpwm",
1596 "parl_io",
1597 "pcnt",
1598 "rmt",
1599 "rng",
1600 "rsa",
1601 "sleep",
1602 "sha",
1603 "spi_master",
1604 "spi_slave",
1605 "systimer",
1606 "temp_sensor",
1607 "timergroup",
1608 "twai",
1609 "uart",
1610 "usb_serial_jtag",
1611 "bt",
1612 "ieee802154",
1613 "phy",
1614 "adc_adc1",
1615 "i2c_master_i2c0",
1616 "i2c_master_i2c1",
1617 "spi_master_spi2",
1618 "spi_slave_spi2",
1619 "timergroup_timg0",
1620 "timergroup_timg1",
1621 "uart_uart0",
1622 "uart_uart1",
1623 "soc_cpu_has_csr_pc",
1624 "soc_cpu_has_prv_mode",
1625 "soc_rc_fast_clk_default=\"8500000\"",
1626 "soc_rc_fast_clk_default_is_set",
1627 "soc_rc_slow_clock=\"136000\"",
1628 "soc_rc_slow_clock_is_set",
1629 "has_dram_region",
1630 "has_dram2_uninit_region",
1631 "soc_xtal_frequency=\"32\"",
1632 "aes_dma",
1633 "aes_dma_mode_ecb",
1634 "aes_dma_mode_cbc",
1635 "aes_dma_mode_ofb",
1636 "aes_dma_mode_ctr",
1637 "aes_dma_mode_cfb8",
1638 "aes_dma_mode_cfb128",
1639 "aes_has_split_text_registers",
1640 "assist_debug_has_sp_monitor",
1641 "assist_debug_has_region_monitor",
1642 "gpio_gpio_function=\"1\"",
1643 "gpio_constant_0_input=\"60\"",
1644 "gpio_constant_1_input=\"56\"",
1645 "gpio_func_in_sel_offset=\"0\"",
1646 "gpio_input_signal_max=\"124\"",
1647 "gpio_output_signal_max=\"128\"",
1648 "i2c_master_has_fsm_timeouts",
1649 "i2c_master_has_hw_bus_clear",
1650 "i2c_master_has_bus_timeout_enable",
1651 "i2c_master_can_estimate_nack_reason",
1652 "i2c_master_has_conf_update",
1653 "i2c_master_has_reliable_fsm_reset",
1654 "i2c_master_has_arbitration_en",
1655 "i2c_master_has_tx_fifo_watermark",
1656 "i2c_master_bus_timeout_is_exponential",
1657 "i2c_master_max_bus_timeout=\"31\"",
1658 "i2c_master_ll_intr_mask=\"262143\"",
1659 "i2c_master_fifo_size=\"32\"",
1660 "interrupts_status_registers=\"2\"",
1661 "rmt_ram_start=\"1610642432\"",
1662 "rmt_channel_ram_size=\"48\"",
1663 "rmt_has_tx_immediate_stop",
1664 "rmt_has_tx_loop_count",
1665 "rmt_has_tx_loop_auto_stop",
1666 "rmt_has_tx_carrier_data_only",
1667 "rmt_has_tx_sync",
1668 "rmt_has_rx_wrap",
1669 "rmt_has_rx_demodulation",
1670 "rmt_supports_xtal_clock",
1671 "rmt_supports_rcfast_clock",
1672 "rng_apb_cycle_wait_num=\"16\"",
1673 "rsa_size_increment=\"32\"",
1674 "rsa_memory_size_bytes=\"384\"",
1675 "sha_dma",
1676 "timergroup_timg_has_divcnt_rst",
1677 "timergroup_default_clock_source=\"2\"",
1678 "timergroup_default_clock_source_is_set",
1679 "timergroup_default_wdt_clock_source=\"2\"",
1680 "timergroup_default_wdt_clock_source_is_set",
1681 "uart_ram_size=\"128\"",
1682 "uart_peripheral_controls_mem_clk",
1683 "bt_controller=\"npl\"",
1684 ],
1685 cfgs: &[
1686 "cargo:rustc-cfg=esp32h2",
1687 "cargo:rustc-cfg=riscv",
1688 "cargo:rustc-cfg=single_core",
1689 "cargo:rustc-cfg=soc_has_aes",
1690 "cargo:rustc-cfg=soc_has_apb_saradc",
1691 "cargo:rustc-cfg=soc_has_assist_debug",
1692 "cargo:rustc-cfg=soc_has_dma",
1693 "cargo:rustc-cfg=soc_has_ds",
1694 "cargo:rustc-cfg=soc_has_ecc",
1695 "cargo:rustc-cfg=soc_has_efuse",
1696 "cargo:rustc-cfg=soc_has_gpio",
1697 "cargo:rustc-cfg=soc_has_gpio_sd",
1698 "cargo:rustc-cfg=soc_has_hmac",
1699 "cargo:rustc-cfg=soc_has_hp_apm",
1700 "cargo:rustc-cfg=soc_has_hp_sys",
1701 "cargo:rustc-cfg=soc_has_i2c_ana_mst",
1702 "cargo:rustc-cfg=soc_has_i2c0",
1703 "cargo:rustc-cfg=soc_has_i2c1",
1704 "cargo:rustc-cfg=soc_has_i2s0",
1705 "cargo:rustc-cfg=soc_has_ieee802154",
1706 "cargo:rustc-cfg=soc_has_interrupt_core0",
1707 "cargo:rustc-cfg=soc_has_intpri",
1708 "cargo:rustc-cfg=soc_has_io_mux",
1709 "cargo:rustc-cfg=soc_has_ledc",
1710 "cargo:rustc-cfg=soc_has_lpwr",
1711 "cargo:rustc-cfg=soc_has_lp_ana",
1712 "cargo:rustc-cfg=soc_has_lp_aon",
1713 "cargo:rustc-cfg=soc_has_lp_apm",
1714 "cargo:rustc-cfg=soc_has_lp_apm0",
1715 "cargo:rustc-cfg=soc_has_lp_clkrst",
1716 "cargo:rustc-cfg=soc_has_lp_peri",
1717 "cargo:rustc-cfg=soc_has_lp_timer",
1718 "cargo:rustc-cfg=soc_has_lp_wdt",
1719 "cargo:rustc-cfg=soc_has_mcpwm0",
1720 "cargo:rustc-cfg=soc_has_mem_monitor",
1721 "cargo:rustc-cfg=soc_has_modem_lpcon",
1722 "cargo:rustc-cfg=soc_has_modem_syscon",
1723 "cargo:rustc-cfg=soc_has_otp_debug",
1724 "cargo:rustc-cfg=soc_has_parl_io",
1725 "cargo:rustc-cfg=soc_has_pau",
1726 "cargo:rustc-cfg=soc_has_pcnt",
1727 "cargo:rustc-cfg=soc_has_pcr",
1728 "cargo:rustc-cfg=soc_has_plic_mx",
1729 "cargo:rustc-cfg=soc_has_pmu",
1730 "cargo:rustc-cfg=soc_has_rmt",
1731 "cargo:rustc-cfg=soc_has_rng",
1732 "cargo:rustc-cfg=soc_has_rsa",
1733 "cargo:rustc-cfg=soc_has_sha",
1734 "cargo:rustc-cfg=soc_has_etm",
1735 "cargo:rustc-cfg=soc_has_spi0",
1736 "cargo:rustc-cfg=soc_has_spi1",
1737 "cargo:rustc-cfg=soc_has_spi2",
1738 "cargo:rustc-cfg=soc_has_system",
1739 "cargo:rustc-cfg=soc_has_systimer",
1740 "cargo:rustc-cfg=soc_has_tee",
1741 "cargo:rustc-cfg=soc_has_timg0",
1742 "cargo:rustc-cfg=soc_has_timg1",
1743 "cargo:rustc-cfg=soc_has_trace0",
1744 "cargo:rustc-cfg=soc_has_twai0",
1745 "cargo:rustc-cfg=soc_has_uart0",
1746 "cargo:rustc-cfg=soc_has_uart1",
1747 "cargo:rustc-cfg=soc_has_uhci0",
1748 "cargo:rustc-cfg=soc_has_usb_device",
1749 "cargo:rustc-cfg=soc_has_dma_ch0",
1750 "cargo:rustc-cfg=soc_has_dma_ch1",
1751 "cargo:rustc-cfg=soc_has_dma_ch2",
1752 "cargo:rustc-cfg=soc_has_adc1",
1753 "cargo:rustc-cfg=soc_has_bt",
1754 "cargo:rustc-cfg=soc_has_flash",
1755 "cargo:rustc-cfg=soc_has_sw_interrupt",
1756 "cargo:rustc-cfg=soc_has_mem2mem1",
1757 "cargo:rustc-cfg=soc_has_mem2mem4",
1758 "cargo:rustc-cfg=soc_has_mem2mem5",
1759 "cargo:rustc-cfg=soc_has_mem2mem10",
1760 "cargo:rustc-cfg=soc_has_mem2mem11",
1761 "cargo:rustc-cfg=soc_has_mem2mem12",
1762 "cargo:rustc-cfg=soc_has_mem2mem13",
1763 "cargo:rustc-cfg=soc_has_mem2mem14",
1764 "cargo:rustc-cfg=soc_has_mem2mem15",
1765 "cargo:rustc-cfg=gdma",
1766 "cargo:rustc-cfg=plic",
1767 "cargo:rustc-cfg=phy",
1768 "cargo:rustc-cfg=swd",
1769 "cargo:rustc-cfg=rom_crc_le",
1770 "cargo:rustc-cfg=rom_crc_be",
1771 "cargo:rustc-cfg=rom_md5_bsd",
1772 "cargo:rustc-cfg=soc",
1773 "cargo:rustc-cfg=adc",
1774 "cargo:rustc-cfg=aes",
1775 "cargo:rustc-cfg=assist_debug",
1776 "cargo:rustc-cfg=dma",
1777 "cargo:rustc-cfg=ecc",
1778 "cargo:rustc-cfg=etm",
1779 "cargo:rustc-cfg=gpio",
1780 "cargo:rustc-cfg=hmac",
1781 "cargo:rustc-cfg=i2c_master",
1782 "cargo:rustc-cfg=i2s",
1783 "cargo:rustc-cfg=interrupts",
1784 "cargo:rustc-cfg=io_mux",
1785 "cargo:rustc-cfg=ledc",
1786 "cargo:rustc-cfg=mcpwm",
1787 "cargo:rustc-cfg=parl_io",
1788 "cargo:rustc-cfg=pcnt",
1789 "cargo:rustc-cfg=rmt",
1790 "cargo:rustc-cfg=rng",
1791 "cargo:rustc-cfg=rsa",
1792 "cargo:rustc-cfg=sleep",
1793 "cargo:rustc-cfg=sha",
1794 "cargo:rustc-cfg=spi_master",
1795 "cargo:rustc-cfg=spi_slave",
1796 "cargo:rustc-cfg=systimer",
1797 "cargo:rustc-cfg=temp_sensor",
1798 "cargo:rustc-cfg=timergroup",
1799 "cargo:rustc-cfg=twai",
1800 "cargo:rustc-cfg=uart",
1801 "cargo:rustc-cfg=usb_serial_jtag",
1802 "cargo:rustc-cfg=bt",
1803 "cargo:rustc-cfg=ieee802154",
1804 "cargo:rustc-cfg=phy",
1805 "cargo:rustc-cfg=adc_adc1",
1806 "cargo:rustc-cfg=i2c_master_i2c0",
1807 "cargo:rustc-cfg=i2c_master_i2c1",
1808 "cargo:rustc-cfg=spi_master_spi2",
1809 "cargo:rustc-cfg=spi_slave_spi2",
1810 "cargo:rustc-cfg=timergroup_timg0",
1811 "cargo:rustc-cfg=timergroup_timg1",
1812 "cargo:rustc-cfg=uart_uart0",
1813 "cargo:rustc-cfg=uart_uart1",
1814 "cargo:rustc-cfg=soc_cpu_has_csr_pc",
1815 "cargo:rustc-cfg=soc_cpu_has_prv_mode",
1816 "cargo:rustc-cfg=soc_rc_fast_clk_default=\"8500000\"",
1817 "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
1818 "cargo:rustc-cfg=soc_rc_slow_clock=\"136000\"",
1819 "cargo:rustc-cfg=soc_rc_slow_clock_is_set",
1820 "cargo:rustc-cfg=has_dram_region",
1821 "cargo:rustc-cfg=has_dram2_uninit_region",
1822 "cargo:rustc-cfg=soc_xtal_frequency=\"32\"",
1823 "cargo:rustc-cfg=aes_dma",
1824 "cargo:rustc-cfg=aes_dma_mode_ecb",
1825 "cargo:rustc-cfg=aes_dma_mode_cbc",
1826 "cargo:rustc-cfg=aes_dma_mode_ofb",
1827 "cargo:rustc-cfg=aes_dma_mode_ctr",
1828 "cargo:rustc-cfg=aes_dma_mode_cfb8",
1829 "cargo:rustc-cfg=aes_dma_mode_cfb128",
1830 "cargo:rustc-cfg=aes_has_split_text_registers",
1831 "cargo:rustc-cfg=assist_debug_has_sp_monitor",
1832 "cargo:rustc-cfg=assist_debug_has_region_monitor",
1833 "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
1834 "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
1835 "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
1836 "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
1837 "cargo:rustc-cfg=gpio_input_signal_max=\"124\"",
1838 "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
1839 "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
1840 "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
1841 "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
1842 "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
1843 "cargo:rustc-cfg=i2c_master_has_conf_update",
1844 "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
1845 "cargo:rustc-cfg=i2c_master_has_arbitration_en",
1846 "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
1847 "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
1848 "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
1849 "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
1850 "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
1851 "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
1852 "cargo:rustc-cfg=rmt_ram_start=\"1610642432\"",
1853 "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
1854 "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
1855 "cargo:rustc-cfg=rmt_has_tx_loop_count",
1856 "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
1857 "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
1858 "cargo:rustc-cfg=rmt_has_tx_sync",
1859 "cargo:rustc-cfg=rmt_has_rx_wrap",
1860 "cargo:rustc-cfg=rmt_has_rx_demodulation",
1861 "cargo:rustc-cfg=rmt_supports_xtal_clock",
1862 "cargo:rustc-cfg=rmt_supports_rcfast_clock",
1863 "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
1864 "cargo:rustc-cfg=rsa_size_increment=\"32\"",
1865 "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
1866 "cargo:rustc-cfg=sha_dma",
1867 "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
1868 "cargo:rustc-cfg=timergroup_default_clock_source=\"2\"",
1869 "cargo:rustc-cfg=timergroup_default_clock_source_is_set",
1870 "cargo:rustc-cfg=timergroup_default_wdt_clock_source=\"2\"",
1871 "cargo:rustc-cfg=timergroup_default_wdt_clock_source_is_set",
1872 "cargo:rustc-cfg=uart_ram_size=\"128\"",
1873 "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
1874 "cargo:rustc-cfg=bt_controller=\"npl\"",
1875 ],
1876 },
1877 Self::Esp32s2 => Config {
1878 architecture: "xtensa",
1879 target: "xtensa-esp32s2-none-elf",
1880 symbols: &[
1881 "esp32s2",
1882 "xtensa",
1883 "single_core",
1884 "soc_has_aes",
1885 "soc_has_apb_saradc",
1886 "soc_has_dedicated_gpio",
1887 "soc_has_ds",
1888 "soc_has_efuse",
1889 "soc_has_extmem",
1890 "soc_has_fe",
1891 "soc_has_fe2",
1892 "soc_has_gpio",
1893 "soc_has_gpio_sd",
1894 "soc_has_hmac",
1895 "soc_has_i2c_ana_mst",
1896 "soc_has_i2c0",
1897 "soc_has_i2c1",
1898 "soc_has_i2s0",
1899 "soc_has_interrupt_core0",
1900 "soc_has_io_mux",
1901 "soc_has_ledc",
1902 "soc_has_nrx",
1903 "soc_has_pcnt",
1904 "soc_has_pms",
1905 "soc_has_rmt",
1906 "soc_has_rng",
1907 "soc_has_rsa",
1908 "soc_has_lpwr",
1909 "soc_has_rtc_i2c",
1910 "soc_has_rtc_io",
1911 "soc_has_sens",
1912 "soc_has_sha",
1913 "soc_has_spi0",
1914 "soc_has_spi1",
1915 "soc_has_spi2",
1916 "soc_has_spi3",
1917 "soc_has_syscon",
1918 "soc_has_system",
1919 "soc_has_systimer",
1920 "soc_has_timg0",
1921 "soc_has_timg1",
1922 "soc_has_twai0",
1923 "soc_has_uart0",
1924 "soc_has_uart1",
1925 "soc_has_uhci0",
1926 "soc_has_usb0",
1927 "soc_has_usb_wrap",
1928 "soc_has_xts_aes",
1929 "soc_has_wifi",
1930 "soc_has_dma_spi2",
1931 "soc_has_dma_spi3",
1932 "soc_has_dma_i2s0",
1933 "soc_has_dma_crypto",
1934 "soc_has_dma_copy",
1935 "soc_has_adc1",
1936 "soc_has_adc2",
1937 "soc_has_dac1",
1938 "soc_has_dac2",
1939 "soc_has_flash",
1940 "soc_has_psram",
1941 "soc_has_sw_interrupt",
1942 "soc_has_ulp_riscv_core",
1943 "pdma",
1944 "phy",
1945 "psram",
1946 "psram_dma",
1947 "ulp_riscv_core",
1948 "soc_has_copy_dma",
1949 "soc_has_crypto_dma",
1950 "rom_crc_le",
1951 "rom_md5_bsd",
1952 "pm_support_ext0_wakeup",
1953 "pm_support_ext1_wakeup",
1954 "pm_support_touch_sensor_wakeup",
1955 "pm_support_wifi_wakeup",
1956 "uart_support_wakeup_int",
1957 "ulp_supported",
1958 "riscv_coproc_supported",
1959 "soc",
1960 "adc",
1961 "aes",
1962 "dac",
1963 "dma",
1964 "gpio",
1965 "hmac",
1966 "i2c_master",
1967 "i2s",
1968 "interrupts",
1969 "io_mux",
1970 "ledc",
1971 "pcnt",
1972 "psram",
1973 "rmt",
1974 "rng",
1975 "rsa",
1976 "sleep",
1977 "sha",
1978 "spi_master",
1979 "spi_slave",
1980 "systimer",
1981 "temp_sensor",
1982 "timergroup",
1983 "twai",
1984 "uart",
1985 "ulp_fsm",
1986 "ulp_riscv",
1987 "usb_otg",
1988 "wifi",
1989 "phy",
1990 "adc_adc1",
1991 "adc_adc2",
1992 "dac_dac1",
1993 "dac_dac2",
1994 "i2c_master_i2c0",
1995 "i2c_master_i2c1",
1996 "spi_master_spi2",
1997 "spi_master_spi3",
1998 "spi_slave_spi2",
1999 "spi_slave_spi3",
2000 "timergroup_timg0",
2001 "timergroup_timg1",
2002 "uart_uart0",
2003 "uart_uart1",
2004 "soc_ref_tick_hz=\"1000000\"",
2005 "soc_ref_tick_hz_is_set",
2006 "soc_rc_fast_clk_default=\"8500000\"",
2007 "soc_rc_fast_clk_default_is_set",
2008 "soc_rc_slow_clock=\"90000\"",
2009 "soc_rc_slow_clock_is_set",
2010 "has_dram_region",
2011 "has_dram2_uninit_region",
2012 "soc_xtal_frequency=\"40\"",
2013 "aes_dma",
2014 "aes_dma_mode_ecb",
2015 "aes_dma_mode_cbc",
2016 "aes_dma_mode_ofb",
2017 "aes_dma_mode_ctr",
2018 "aes_dma_mode_cfb8",
2019 "aes_dma_mode_cfb128",
2020 "aes_dma_mode_gcm",
2021 "aes_has_split_text_registers",
2022 "aes_endianness_configurable",
2023 "gpio_has_bank_1",
2024 "gpio_gpio_function=\"1\"",
2025 "gpio_constant_0_input=\"60\"",
2026 "gpio_constant_1_input=\"56\"",
2027 "gpio_func_in_sel_offset=\"0\"",
2028 "gpio_input_signal_max=\"242\"",
2029 "gpio_output_signal_max=\"256\"",
2030 "i2c_master_has_bus_timeout_enable",
2031 "i2c_master_separate_filter_config_registers",
2032 "i2c_master_has_arbitration_en",
2033 "i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
2034 "i2c_master_i2c0_data_register_ahb_address_is_set",
2035 "i2c_master_max_bus_timeout=\"16777215\"",
2036 "i2c_master_ll_intr_mask=\"131071\"",
2037 "i2c_master_fifo_size=\"32\"",
2038 "interrupts_status_registers=\"3\"",
2039 "rmt_ram_start=\"1061250048\"",
2040 "rmt_channel_ram_size=\"64\"",
2041 "rmt_has_tx_immediate_stop",
2042 "rmt_has_tx_loop_count",
2043 "rmt_has_tx_carrier_data_only",
2044 "rmt_has_tx_sync",
2045 "rmt_has_rx_demodulation",
2046 "rmt_has_per_channel_clock",
2047 "rmt_supports_reftick_clock",
2048 "rmt_supports_apb_clock",
2049 "rng_apb_cycle_wait_num=\"16\"",
2050 "rsa_size_increment=\"32\"",
2051 "rsa_memory_size_bytes=\"512\"",
2052 "sha_dma",
2053 "spi_master_has_octal",
2054 "timergroup_timg_has_timer1",
2055 "timergroup_default_clock_source=\"0\"",
2056 "timergroup_default_clock_source_is_set",
2057 "uart_ram_size=\"128\"",
2058 ],
2059 cfgs: &[
2060 "cargo:rustc-cfg=esp32s2",
2061 "cargo:rustc-cfg=xtensa",
2062 "cargo:rustc-cfg=single_core",
2063 "cargo:rustc-cfg=soc_has_aes",
2064 "cargo:rustc-cfg=soc_has_apb_saradc",
2065 "cargo:rustc-cfg=soc_has_dedicated_gpio",
2066 "cargo:rustc-cfg=soc_has_ds",
2067 "cargo:rustc-cfg=soc_has_efuse",
2068 "cargo:rustc-cfg=soc_has_extmem",
2069 "cargo:rustc-cfg=soc_has_fe",
2070 "cargo:rustc-cfg=soc_has_fe2",
2071 "cargo:rustc-cfg=soc_has_gpio",
2072 "cargo:rustc-cfg=soc_has_gpio_sd",
2073 "cargo:rustc-cfg=soc_has_hmac",
2074 "cargo:rustc-cfg=soc_has_i2c_ana_mst",
2075 "cargo:rustc-cfg=soc_has_i2c0",
2076 "cargo:rustc-cfg=soc_has_i2c1",
2077 "cargo:rustc-cfg=soc_has_i2s0",
2078 "cargo:rustc-cfg=soc_has_interrupt_core0",
2079 "cargo:rustc-cfg=soc_has_io_mux",
2080 "cargo:rustc-cfg=soc_has_ledc",
2081 "cargo:rustc-cfg=soc_has_nrx",
2082 "cargo:rustc-cfg=soc_has_pcnt",
2083 "cargo:rustc-cfg=soc_has_pms",
2084 "cargo:rustc-cfg=soc_has_rmt",
2085 "cargo:rustc-cfg=soc_has_rng",
2086 "cargo:rustc-cfg=soc_has_rsa",
2087 "cargo:rustc-cfg=soc_has_lpwr",
2088 "cargo:rustc-cfg=soc_has_rtc_i2c",
2089 "cargo:rustc-cfg=soc_has_rtc_io",
2090 "cargo:rustc-cfg=soc_has_sens",
2091 "cargo:rustc-cfg=soc_has_sha",
2092 "cargo:rustc-cfg=soc_has_spi0",
2093 "cargo:rustc-cfg=soc_has_spi1",
2094 "cargo:rustc-cfg=soc_has_spi2",
2095 "cargo:rustc-cfg=soc_has_spi3",
2096 "cargo:rustc-cfg=soc_has_syscon",
2097 "cargo:rustc-cfg=soc_has_system",
2098 "cargo:rustc-cfg=soc_has_systimer",
2099 "cargo:rustc-cfg=soc_has_timg0",
2100 "cargo:rustc-cfg=soc_has_timg1",
2101 "cargo:rustc-cfg=soc_has_twai0",
2102 "cargo:rustc-cfg=soc_has_uart0",
2103 "cargo:rustc-cfg=soc_has_uart1",
2104 "cargo:rustc-cfg=soc_has_uhci0",
2105 "cargo:rustc-cfg=soc_has_usb0",
2106 "cargo:rustc-cfg=soc_has_usb_wrap",
2107 "cargo:rustc-cfg=soc_has_xts_aes",
2108 "cargo:rustc-cfg=soc_has_wifi",
2109 "cargo:rustc-cfg=soc_has_dma_spi2",
2110 "cargo:rustc-cfg=soc_has_dma_spi3",
2111 "cargo:rustc-cfg=soc_has_dma_i2s0",
2112 "cargo:rustc-cfg=soc_has_dma_crypto",
2113 "cargo:rustc-cfg=soc_has_dma_copy",
2114 "cargo:rustc-cfg=soc_has_adc1",
2115 "cargo:rustc-cfg=soc_has_adc2",
2116 "cargo:rustc-cfg=soc_has_dac1",
2117 "cargo:rustc-cfg=soc_has_dac2",
2118 "cargo:rustc-cfg=soc_has_flash",
2119 "cargo:rustc-cfg=soc_has_psram",
2120 "cargo:rustc-cfg=soc_has_sw_interrupt",
2121 "cargo:rustc-cfg=soc_has_ulp_riscv_core",
2122 "cargo:rustc-cfg=pdma",
2123 "cargo:rustc-cfg=phy",
2124 "cargo:rustc-cfg=psram",
2125 "cargo:rustc-cfg=psram_dma",
2126 "cargo:rustc-cfg=ulp_riscv_core",
2127 "cargo:rustc-cfg=soc_has_copy_dma",
2128 "cargo:rustc-cfg=soc_has_crypto_dma",
2129 "cargo:rustc-cfg=rom_crc_le",
2130 "cargo:rustc-cfg=rom_md5_bsd",
2131 "cargo:rustc-cfg=pm_support_ext0_wakeup",
2132 "cargo:rustc-cfg=pm_support_ext1_wakeup",
2133 "cargo:rustc-cfg=pm_support_touch_sensor_wakeup",
2134 "cargo:rustc-cfg=pm_support_wifi_wakeup",
2135 "cargo:rustc-cfg=uart_support_wakeup_int",
2136 "cargo:rustc-cfg=ulp_supported",
2137 "cargo:rustc-cfg=riscv_coproc_supported",
2138 "cargo:rustc-cfg=soc",
2139 "cargo:rustc-cfg=adc",
2140 "cargo:rustc-cfg=aes",
2141 "cargo:rustc-cfg=dac",
2142 "cargo:rustc-cfg=dma",
2143 "cargo:rustc-cfg=gpio",
2144 "cargo:rustc-cfg=hmac",
2145 "cargo:rustc-cfg=i2c_master",
2146 "cargo:rustc-cfg=i2s",
2147 "cargo:rustc-cfg=interrupts",
2148 "cargo:rustc-cfg=io_mux",
2149 "cargo:rustc-cfg=ledc",
2150 "cargo:rustc-cfg=pcnt",
2151 "cargo:rustc-cfg=psram",
2152 "cargo:rustc-cfg=rmt",
2153 "cargo:rustc-cfg=rng",
2154 "cargo:rustc-cfg=rsa",
2155 "cargo:rustc-cfg=sleep",
2156 "cargo:rustc-cfg=sha",
2157 "cargo:rustc-cfg=spi_master",
2158 "cargo:rustc-cfg=spi_slave",
2159 "cargo:rustc-cfg=systimer",
2160 "cargo:rustc-cfg=temp_sensor",
2161 "cargo:rustc-cfg=timergroup",
2162 "cargo:rustc-cfg=twai",
2163 "cargo:rustc-cfg=uart",
2164 "cargo:rustc-cfg=ulp_fsm",
2165 "cargo:rustc-cfg=ulp_riscv",
2166 "cargo:rustc-cfg=usb_otg",
2167 "cargo:rustc-cfg=wifi",
2168 "cargo:rustc-cfg=phy",
2169 "cargo:rustc-cfg=adc_adc1",
2170 "cargo:rustc-cfg=adc_adc2",
2171 "cargo:rustc-cfg=dac_dac1",
2172 "cargo:rustc-cfg=dac_dac2",
2173 "cargo:rustc-cfg=i2c_master_i2c0",
2174 "cargo:rustc-cfg=i2c_master_i2c1",
2175 "cargo:rustc-cfg=spi_master_spi2",
2176 "cargo:rustc-cfg=spi_master_spi3",
2177 "cargo:rustc-cfg=spi_slave_spi2",
2178 "cargo:rustc-cfg=spi_slave_spi3",
2179 "cargo:rustc-cfg=timergroup_timg0",
2180 "cargo:rustc-cfg=timergroup_timg1",
2181 "cargo:rustc-cfg=uart_uart0",
2182 "cargo:rustc-cfg=uart_uart1",
2183 "cargo:rustc-cfg=soc_ref_tick_hz=\"1000000\"",
2184 "cargo:rustc-cfg=soc_ref_tick_hz_is_set",
2185 "cargo:rustc-cfg=soc_rc_fast_clk_default=\"8500000\"",
2186 "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
2187 "cargo:rustc-cfg=soc_rc_slow_clock=\"90000\"",
2188 "cargo:rustc-cfg=soc_rc_slow_clock_is_set",
2189 "cargo:rustc-cfg=has_dram_region",
2190 "cargo:rustc-cfg=has_dram2_uninit_region",
2191 "cargo:rustc-cfg=soc_xtal_frequency=\"40\"",
2192 "cargo:rustc-cfg=aes_dma",
2193 "cargo:rustc-cfg=aes_dma_mode_ecb",
2194 "cargo:rustc-cfg=aes_dma_mode_cbc",
2195 "cargo:rustc-cfg=aes_dma_mode_ofb",
2196 "cargo:rustc-cfg=aes_dma_mode_ctr",
2197 "cargo:rustc-cfg=aes_dma_mode_cfb8",
2198 "cargo:rustc-cfg=aes_dma_mode_cfb128",
2199 "cargo:rustc-cfg=aes_dma_mode_gcm",
2200 "cargo:rustc-cfg=aes_has_split_text_registers",
2201 "cargo:rustc-cfg=aes_endianness_configurable",
2202 "cargo:rustc-cfg=gpio_has_bank_1",
2203 "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
2204 "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
2205 "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
2206 "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
2207 "cargo:rustc-cfg=gpio_input_signal_max=\"242\"",
2208 "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
2209 "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
2210 "cargo:rustc-cfg=i2c_master_separate_filter_config_registers",
2211 "cargo:rustc-cfg=i2c_master_has_arbitration_en",
2212 "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
2213 "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address_is_set",
2214 "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"16777215\"",
2215 "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"131071\"",
2216 "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
2217 "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
2218 "cargo:rustc-cfg=rmt_ram_start=\"1061250048\"",
2219 "cargo:rustc-cfg=rmt_channel_ram_size=\"64\"",
2220 "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
2221 "cargo:rustc-cfg=rmt_has_tx_loop_count",
2222 "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
2223 "cargo:rustc-cfg=rmt_has_tx_sync",
2224 "cargo:rustc-cfg=rmt_has_rx_demodulation",
2225 "cargo:rustc-cfg=rmt_has_per_channel_clock",
2226 "cargo:rustc-cfg=rmt_supports_reftick_clock",
2227 "cargo:rustc-cfg=rmt_supports_apb_clock",
2228 "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
2229 "cargo:rustc-cfg=rsa_size_increment=\"32\"",
2230 "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
2231 "cargo:rustc-cfg=sha_dma",
2232 "cargo:rustc-cfg=spi_master_has_octal",
2233 "cargo:rustc-cfg=timergroup_timg_has_timer1",
2234 "cargo:rustc-cfg=timergroup_default_clock_source=\"0\"",
2235 "cargo:rustc-cfg=timergroup_default_clock_source_is_set",
2236 "cargo:rustc-cfg=uart_ram_size=\"128\"",
2237 ],
2238 },
2239 Self::Esp32s3 => Config {
2240 architecture: "xtensa",
2241 target: "xtensa-esp32s3-none-elf",
2242 symbols: &[
2243 "esp32s3",
2244 "xtensa",
2245 "multi_core",
2246 "soc_has_aes",
2247 "soc_has_apb_ctrl",
2248 "soc_has_apb_saradc",
2249 "soc_has_assist_debug",
2250 "soc_has_dma",
2251 "soc_has_ds",
2252 "soc_has_efuse",
2253 "soc_has_extmem",
2254 "soc_has_gpio",
2255 "soc_has_gpio_sd",
2256 "soc_has_hmac",
2257 "soc_has_i2c0",
2258 "soc_has_i2c1",
2259 "soc_has_i2s0",
2260 "soc_has_i2s1",
2261 "soc_has_interrupt_core0",
2262 "soc_has_interrupt_core1",
2263 "soc_has_io_mux",
2264 "soc_has_lcd_cam",
2265 "soc_has_ledc",
2266 "soc_has_lpwr",
2267 "soc_has_mcpwm0",
2268 "soc_has_mcpwm1",
2269 "soc_has_pcnt",
2270 "soc_has_peri_backup",
2271 "soc_has_rmt",
2272 "soc_has_rng",
2273 "soc_has_rsa",
2274 "soc_has_rtc_cntl",
2275 "soc_has_rtc_i2c",
2276 "soc_has_rtc_io",
2277 "soc_has_sdhost",
2278 "soc_has_sens",
2279 "soc_has_sensitive",
2280 "soc_has_sha",
2281 "soc_has_spi0",
2282 "soc_has_spi1",
2283 "soc_has_spi2",
2284 "soc_has_spi3",
2285 "soc_has_system",
2286 "soc_has_systimer",
2287 "soc_has_timg0",
2288 "soc_has_timg1",
2289 "soc_has_twai0",
2290 "soc_has_uart0",
2291 "soc_has_uart1",
2292 "soc_has_uart2",
2293 "soc_has_uhci0",
2294 "soc_has_usb0",
2295 "soc_has_usb_device",
2296 "soc_has_usb_wrap",
2297 "soc_has_wcl",
2298 "soc_has_xts_aes",
2299 "soc_has_dma_ch0",
2300 "soc_has_dma_ch1",
2301 "soc_has_dma_ch2",
2302 "soc_has_dma_ch3",
2303 "soc_has_dma_ch4",
2304 "soc_has_adc1",
2305 "soc_has_adc2",
2306 "soc_has_bt",
2307 "soc_has_cpu_ctrl",
2308 "soc_has_flash",
2309 "soc_has_psram",
2310 "soc_has_sw_interrupt",
2311 "soc_has_ulp_riscv_core",
2312 "soc_has_wifi",
2313 "gdma",
2314 "phy",
2315 "psram",
2316 "psram_dma",
2317 "octal_psram",
2318 "swd",
2319 "ulp_riscv_core",
2320 "rom_crc_le",
2321 "rom_crc_be",
2322 "rom_md5_bsd",
2323 "pm_support_ext0_wakeup",
2324 "pm_support_ext1_wakeup",
2325 "pm_support_touch_sensor_wakeup",
2326 "pm_support_wifi_wakeup",
2327 "pm_support_bt_wakeup",
2328 "uart_support_wakeup_int",
2329 "ulp_supported",
2330 "riscv_coproc_supported",
2331 "soc",
2332 "adc",
2333 "aes",
2334 "assist_debug",
2335 "dma",
2336 "gpio",
2337 "hmac",
2338 "i2c_master",
2339 "i2s",
2340 "interrupts",
2341 "io_mux",
2342 "camera",
2343 "rgb_display",
2344 "ledc",
2345 "mcpwm",
2346 "pcnt",
2347 "psram",
2348 "rmt",
2349 "rng",
2350 "rsa",
2351 "sd_host",
2352 "sleep",
2353 "sha",
2354 "spi_master",
2355 "spi_slave",
2356 "systimer",
2357 "temp_sensor",
2358 "timergroup",
2359 "twai",
2360 "uart",
2361 "ulp_fsm",
2362 "ulp_riscv",
2363 "usb_otg",
2364 "usb_serial_jtag",
2365 "wifi",
2366 "bt",
2367 "phy",
2368 "adc_adc1",
2369 "adc_adc2",
2370 "i2c_master_i2c0",
2371 "i2c_master_i2c1",
2372 "spi_master_spi2",
2373 "spi_master_spi3",
2374 "spi_slave_spi2",
2375 "spi_slave_spi3",
2376 "timergroup_timg0",
2377 "timergroup_timg1",
2378 "uart_uart0",
2379 "uart_uart1",
2380 "uart_uart2",
2381 "soc_rc_fast_clk_default=\"17500000\"",
2382 "soc_rc_fast_clk_default_is_set",
2383 "soc_rc_slow_clock=\"136000\"",
2384 "soc_rc_slow_clock_is_set",
2385 "has_dram_region",
2386 "has_dram2_uninit_region",
2387 "soc_xtal_frequency=\"40\"",
2388 "aes_dma",
2389 "aes_dma_mode_ecb",
2390 "aes_dma_mode_cbc",
2391 "aes_dma_mode_ofb",
2392 "aes_dma_mode_ctr",
2393 "aes_dma_mode_cfb8",
2394 "aes_dma_mode_cfb128",
2395 "aes_has_split_text_registers",
2396 "assist_debug_has_region_monitor",
2397 "gpio_has_bank_1",
2398 "gpio_gpio_function=\"1\"",
2399 "gpio_constant_0_input=\"60\"",
2400 "gpio_constant_1_input=\"56\"",
2401 "gpio_func_in_sel_offset=\"0\"",
2402 "gpio_input_signal_max=\"255\"",
2403 "gpio_output_signal_max=\"256\"",
2404 "i2c_master_has_fsm_timeouts",
2405 "i2c_master_has_bus_timeout_enable",
2406 "i2c_master_can_estimate_nack_reason",
2407 "i2c_master_has_conf_update",
2408 "i2c_master_has_arbitration_en",
2409 "i2c_master_has_tx_fifo_watermark",
2410 "i2c_master_bus_timeout_is_exponential",
2411 "i2c_master_max_bus_timeout=\"31\"",
2412 "i2c_master_ll_intr_mask=\"262143\"",
2413 "i2c_master_fifo_size=\"32\"",
2414 "interrupts_status_registers=\"4\"",
2415 "rmt_ram_start=\"1610704896\"",
2416 "rmt_channel_ram_size=\"48\"",
2417 "rmt_has_tx_immediate_stop",
2418 "rmt_has_tx_loop_count",
2419 "rmt_has_tx_loop_auto_stop",
2420 "rmt_has_tx_carrier_data_only",
2421 "rmt_has_tx_sync",
2422 "rmt_has_rx_wrap",
2423 "rmt_has_rx_demodulation",
2424 "rmt_has_dma",
2425 "rmt_supports_none_clock",
2426 "rmt_supports_apb_clock",
2427 "rmt_supports_rcfast_clock",
2428 "rmt_supports_xtal_clock",
2429 "rng_apb_cycle_wait_num=\"16\"",
2430 "rsa_size_increment=\"32\"",
2431 "rsa_memory_size_bytes=\"512\"",
2432 "sha_dma",
2433 "spi_master_has_octal",
2434 "timergroup_timg_has_timer1",
2435 "timergroup_default_clock_source=\"0\"",
2436 "timergroup_default_clock_source_is_set",
2437 "uart_ram_size=\"128\"",
2438 "bt_controller=\"btdm\"",
2439 "phy_combo_module",
2440 "phy_backed_up_digital_register_count=\"21\"",
2441 "phy_backed_up_digital_register_count_is_set",
2442 ],
2443 cfgs: &[
2444 "cargo:rustc-cfg=esp32s3",
2445 "cargo:rustc-cfg=xtensa",
2446 "cargo:rustc-cfg=multi_core",
2447 "cargo:rustc-cfg=soc_has_aes",
2448 "cargo:rustc-cfg=soc_has_apb_ctrl",
2449 "cargo:rustc-cfg=soc_has_apb_saradc",
2450 "cargo:rustc-cfg=soc_has_assist_debug",
2451 "cargo:rustc-cfg=soc_has_dma",
2452 "cargo:rustc-cfg=soc_has_ds",
2453 "cargo:rustc-cfg=soc_has_efuse",
2454 "cargo:rustc-cfg=soc_has_extmem",
2455 "cargo:rustc-cfg=soc_has_gpio",
2456 "cargo:rustc-cfg=soc_has_gpio_sd",
2457 "cargo:rustc-cfg=soc_has_hmac",
2458 "cargo:rustc-cfg=soc_has_i2c0",
2459 "cargo:rustc-cfg=soc_has_i2c1",
2460 "cargo:rustc-cfg=soc_has_i2s0",
2461 "cargo:rustc-cfg=soc_has_i2s1",
2462 "cargo:rustc-cfg=soc_has_interrupt_core0",
2463 "cargo:rustc-cfg=soc_has_interrupt_core1",
2464 "cargo:rustc-cfg=soc_has_io_mux",
2465 "cargo:rustc-cfg=soc_has_lcd_cam",
2466 "cargo:rustc-cfg=soc_has_ledc",
2467 "cargo:rustc-cfg=soc_has_lpwr",
2468 "cargo:rustc-cfg=soc_has_mcpwm0",
2469 "cargo:rustc-cfg=soc_has_mcpwm1",
2470 "cargo:rustc-cfg=soc_has_pcnt",
2471 "cargo:rustc-cfg=soc_has_peri_backup",
2472 "cargo:rustc-cfg=soc_has_rmt",
2473 "cargo:rustc-cfg=soc_has_rng",
2474 "cargo:rustc-cfg=soc_has_rsa",
2475 "cargo:rustc-cfg=soc_has_rtc_cntl",
2476 "cargo:rustc-cfg=soc_has_rtc_i2c",
2477 "cargo:rustc-cfg=soc_has_rtc_io",
2478 "cargo:rustc-cfg=soc_has_sdhost",
2479 "cargo:rustc-cfg=soc_has_sens",
2480 "cargo:rustc-cfg=soc_has_sensitive",
2481 "cargo:rustc-cfg=soc_has_sha",
2482 "cargo:rustc-cfg=soc_has_spi0",
2483 "cargo:rustc-cfg=soc_has_spi1",
2484 "cargo:rustc-cfg=soc_has_spi2",
2485 "cargo:rustc-cfg=soc_has_spi3",
2486 "cargo:rustc-cfg=soc_has_system",
2487 "cargo:rustc-cfg=soc_has_systimer",
2488 "cargo:rustc-cfg=soc_has_timg0",
2489 "cargo:rustc-cfg=soc_has_timg1",
2490 "cargo:rustc-cfg=soc_has_twai0",
2491 "cargo:rustc-cfg=soc_has_uart0",
2492 "cargo:rustc-cfg=soc_has_uart1",
2493 "cargo:rustc-cfg=soc_has_uart2",
2494 "cargo:rustc-cfg=soc_has_uhci0",
2495 "cargo:rustc-cfg=soc_has_usb0",
2496 "cargo:rustc-cfg=soc_has_usb_device",
2497 "cargo:rustc-cfg=soc_has_usb_wrap",
2498 "cargo:rustc-cfg=soc_has_wcl",
2499 "cargo:rustc-cfg=soc_has_xts_aes",
2500 "cargo:rustc-cfg=soc_has_dma_ch0",
2501 "cargo:rustc-cfg=soc_has_dma_ch1",
2502 "cargo:rustc-cfg=soc_has_dma_ch2",
2503 "cargo:rustc-cfg=soc_has_dma_ch3",
2504 "cargo:rustc-cfg=soc_has_dma_ch4",
2505 "cargo:rustc-cfg=soc_has_adc1",
2506 "cargo:rustc-cfg=soc_has_adc2",
2507 "cargo:rustc-cfg=soc_has_bt",
2508 "cargo:rustc-cfg=soc_has_cpu_ctrl",
2509 "cargo:rustc-cfg=soc_has_flash",
2510 "cargo:rustc-cfg=soc_has_psram",
2511 "cargo:rustc-cfg=soc_has_sw_interrupt",
2512 "cargo:rustc-cfg=soc_has_ulp_riscv_core",
2513 "cargo:rustc-cfg=soc_has_wifi",
2514 "cargo:rustc-cfg=gdma",
2515 "cargo:rustc-cfg=phy",
2516 "cargo:rustc-cfg=psram",
2517 "cargo:rustc-cfg=psram_dma",
2518 "cargo:rustc-cfg=octal_psram",
2519 "cargo:rustc-cfg=swd",
2520 "cargo:rustc-cfg=ulp_riscv_core",
2521 "cargo:rustc-cfg=rom_crc_le",
2522 "cargo:rustc-cfg=rom_crc_be",
2523 "cargo:rustc-cfg=rom_md5_bsd",
2524 "cargo:rustc-cfg=pm_support_ext0_wakeup",
2525 "cargo:rustc-cfg=pm_support_ext1_wakeup",
2526 "cargo:rustc-cfg=pm_support_touch_sensor_wakeup",
2527 "cargo:rustc-cfg=pm_support_wifi_wakeup",
2528 "cargo:rustc-cfg=pm_support_bt_wakeup",
2529 "cargo:rustc-cfg=uart_support_wakeup_int",
2530 "cargo:rustc-cfg=ulp_supported",
2531 "cargo:rustc-cfg=riscv_coproc_supported",
2532 "cargo:rustc-cfg=soc",
2533 "cargo:rustc-cfg=adc",
2534 "cargo:rustc-cfg=aes",
2535 "cargo:rustc-cfg=assist_debug",
2536 "cargo:rustc-cfg=dma",
2537 "cargo:rustc-cfg=gpio",
2538 "cargo:rustc-cfg=hmac",
2539 "cargo:rustc-cfg=i2c_master",
2540 "cargo:rustc-cfg=i2s",
2541 "cargo:rustc-cfg=interrupts",
2542 "cargo:rustc-cfg=io_mux",
2543 "cargo:rustc-cfg=camera",
2544 "cargo:rustc-cfg=rgb_display",
2545 "cargo:rustc-cfg=ledc",
2546 "cargo:rustc-cfg=mcpwm",
2547 "cargo:rustc-cfg=pcnt",
2548 "cargo:rustc-cfg=psram",
2549 "cargo:rustc-cfg=rmt",
2550 "cargo:rustc-cfg=rng",
2551 "cargo:rustc-cfg=rsa",
2552 "cargo:rustc-cfg=sd_host",
2553 "cargo:rustc-cfg=sleep",
2554 "cargo:rustc-cfg=sha",
2555 "cargo:rustc-cfg=spi_master",
2556 "cargo:rustc-cfg=spi_slave",
2557 "cargo:rustc-cfg=systimer",
2558 "cargo:rustc-cfg=temp_sensor",
2559 "cargo:rustc-cfg=timergroup",
2560 "cargo:rustc-cfg=twai",
2561 "cargo:rustc-cfg=uart",
2562 "cargo:rustc-cfg=ulp_fsm",
2563 "cargo:rustc-cfg=ulp_riscv",
2564 "cargo:rustc-cfg=usb_otg",
2565 "cargo:rustc-cfg=usb_serial_jtag",
2566 "cargo:rustc-cfg=wifi",
2567 "cargo:rustc-cfg=bt",
2568 "cargo:rustc-cfg=phy",
2569 "cargo:rustc-cfg=adc_adc1",
2570 "cargo:rustc-cfg=adc_adc2",
2571 "cargo:rustc-cfg=i2c_master_i2c0",
2572 "cargo:rustc-cfg=i2c_master_i2c1",
2573 "cargo:rustc-cfg=spi_master_spi2",
2574 "cargo:rustc-cfg=spi_master_spi3",
2575 "cargo:rustc-cfg=spi_slave_spi2",
2576 "cargo:rustc-cfg=spi_slave_spi3",
2577 "cargo:rustc-cfg=timergroup_timg0",
2578 "cargo:rustc-cfg=timergroup_timg1",
2579 "cargo:rustc-cfg=uart_uart0",
2580 "cargo:rustc-cfg=uart_uart1",
2581 "cargo:rustc-cfg=uart_uart2",
2582 "cargo:rustc-cfg=soc_rc_fast_clk_default=\"17500000\"",
2583 "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
2584 "cargo:rustc-cfg=soc_rc_slow_clock=\"136000\"",
2585 "cargo:rustc-cfg=soc_rc_slow_clock_is_set",
2586 "cargo:rustc-cfg=has_dram_region",
2587 "cargo:rustc-cfg=has_dram2_uninit_region",
2588 "cargo:rustc-cfg=soc_xtal_frequency=\"40\"",
2589 "cargo:rustc-cfg=aes_dma",
2590 "cargo:rustc-cfg=aes_dma_mode_ecb",
2591 "cargo:rustc-cfg=aes_dma_mode_cbc",
2592 "cargo:rustc-cfg=aes_dma_mode_ofb",
2593 "cargo:rustc-cfg=aes_dma_mode_ctr",
2594 "cargo:rustc-cfg=aes_dma_mode_cfb8",
2595 "cargo:rustc-cfg=aes_dma_mode_cfb128",
2596 "cargo:rustc-cfg=aes_has_split_text_registers",
2597 "cargo:rustc-cfg=assist_debug_has_region_monitor",
2598 "cargo:rustc-cfg=gpio_has_bank_1",
2599 "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
2600 "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
2601 "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
2602 "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
2603 "cargo:rustc-cfg=gpio_input_signal_max=\"255\"",
2604 "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
2605 "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
2606 "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
2607 "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
2608 "cargo:rustc-cfg=i2c_master_has_conf_update",
2609 "cargo:rustc-cfg=i2c_master_has_arbitration_en",
2610 "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
2611 "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
2612 "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
2613 "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
2614 "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
2615 "cargo:rustc-cfg=interrupts_status_registers=\"4\"",
2616 "cargo:rustc-cfg=rmt_ram_start=\"1610704896\"",
2617 "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
2618 "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
2619 "cargo:rustc-cfg=rmt_has_tx_loop_count",
2620 "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
2621 "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
2622 "cargo:rustc-cfg=rmt_has_tx_sync",
2623 "cargo:rustc-cfg=rmt_has_rx_wrap",
2624 "cargo:rustc-cfg=rmt_has_rx_demodulation",
2625 "cargo:rustc-cfg=rmt_has_dma",
2626 "cargo:rustc-cfg=rmt_supports_none_clock",
2627 "cargo:rustc-cfg=rmt_supports_apb_clock",
2628 "cargo:rustc-cfg=rmt_supports_rcfast_clock",
2629 "cargo:rustc-cfg=rmt_supports_xtal_clock",
2630 "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
2631 "cargo:rustc-cfg=rsa_size_increment=\"32\"",
2632 "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
2633 "cargo:rustc-cfg=sha_dma",
2634 "cargo:rustc-cfg=spi_master_has_octal",
2635 "cargo:rustc-cfg=timergroup_timg_has_timer1",
2636 "cargo:rustc-cfg=timergroup_default_clock_source=\"0\"",
2637 "cargo:rustc-cfg=timergroup_default_clock_source_is_set",
2638 "cargo:rustc-cfg=uart_ram_size=\"128\"",
2639 "cargo:rustc-cfg=bt_controller=\"btdm\"",
2640 "cargo:rustc-cfg=phy_combo_module",
2641 "cargo:rustc-cfg=phy_backed_up_digital_register_count=\"21\"",
2642 "cargo:rustc-cfg=phy_backed_up_digital_register_count_is_set",
2643 ],
2644 },
2645 }
2646 }
2647}
2648struct Config {
2649 architecture: &'static str,
2650 target: &'static str,
2651 symbols: &'static [&'static str],
2652 cfgs: &'static [&'static str],
2653}
2654impl Config {
2655 fn define_cfgs(&self) {
2656 emit_check_cfg_directives();
2657 for cfg in self.cfgs {
2658 println!("{cfg}");
2659 }
2660 }
2661}
2662pub fn emit_check_cfg_directives() {
2664 println!("cargo:rustc-check-cfg=cfg(not_really_docsrs)");
2665 println!("cargo:rustc-check-cfg=cfg(semver_checks)");
2666 println!("cargo:rustc-check-cfg=cfg(esp32)");
2667 println!("cargo:rustc-check-cfg=cfg(xtensa)");
2668 println!("cargo:rustc-check-cfg=cfg(multi_core)");
2669 println!("cargo:rustc-check-cfg=cfg(soc_has_aes)");
2670 println!("cargo:rustc-check-cfg=cfg(soc_has_apb_ctrl)");
2671 println!("cargo:rustc-check-cfg=cfg(soc_has_bb)");
2672 println!("cargo:rustc-check-cfg=cfg(soc_has_dport)");
2673 println!("cargo:rustc-check-cfg=cfg(soc_has_system)");
2674 println!("cargo:rustc-check-cfg=cfg(soc_has_efuse)");
2675 println!("cargo:rustc-check-cfg=cfg(soc_has_emac_dma)");
2676 println!("cargo:rustc-check-cfg=cfg(soc_has_emac_ext)");
2677 println!("cargo:rustc-check-cfg=cfg(soc_has_emac_mac)");
2678 println!("cargo:rustc-check-cfg=cfg(soc_has_flash_encryption)");
2679 println!("cargo:rustc-check-cfg=cfg(soc_has_frc_timer)");
2680 println!("cargo:rustc-check-cfg=cfg(soc_has_gpio)");
2681 println!("cargo:rustc-check-cfg=cfg(soc_has_gpio_sd)");
2682 println!("cargo:rustc-check-cfg=cfg(soc_has_hinf)");
2683 println!("cargo:rustc-check-cfg=cfg(soc_has_i2c0)");
2684 println!("cargo:rustc-check-cfg=cfg(soc_has_i2c1)");
2685 println!("cargo:rustc-check-cfg=cfg(soc_has_i2s0)");
2686 println!("cargo:rustc-check-cfg=cfg(soc_has_i2s1)");
2687 println!("cargo:rustc-check-cfg=cfg(soc_has_io_mux)");
2688 println!("cargo:rustc-check-cfg=cfg(soc_has_ledc)");
2689 println!("cargo:rustc-check-cfg=cfg(soc_has_mcpwm0)");
2690 println!("cargo:rustc-check-cfg=cfg(soc_has_mcpwm1)");
2691 println!("cargo:rustc-check-cfg=cfg(soc_has_nrx)");
2692 println!("cargo:rustc-check-cfg=cfg(soc_has_pcnt)");
2693 println!("cargo:rustc-check-cfg=cfg(soc_has_rmt)");
2694 println!("cargo:rustc-check-cfg=cfg(soc_has_rng)");
2695 println!("cargo:rustc-check-cfg=cfg(soc_has_rsa)");
2696 println!("cargo:rustc-check-cfg=cfg(soc_has_lpwr)");
2697 println!("cargo:rustc-check-cfg=cfg(soc_has_rtc_i2c)");
2698 println!("cargo:rustc-check-cfg=cfg(soc_has_rtc_io)");
2699 println!("cargo:rustc-check-cfg=cfg(soc_has_sdhost)");
2700 println!("cargo:rustc-check-cfg=cfg(soc_has_sens)");
2701 println!("cargo:rustc-check-cfg=cfg(soc_has_sha)");
2702 println!("cargo:rustc-check-cfg=cfg(soc_has_slc)");
2703 println!("cargo:rustc-check-cfg=cfg(soc_has_slchost)");
2704 println!("cargo:rustc-check-cfg=cfg(soc_has_spi0)");
2705 println!("cargo:rustc-check-cfg=cfg(soc_has_spi1)");
2706 println!("cargo:rustc-check-cfg=cfg(soc_has_spi2)");
2707 println!("cargo:rustc-check-cfg=cfg(soc_has_spi3)");
2708 println!("cargo:rustc-check-cfg=cfg(soc_has_timg0)");
2709 println!("cargo:rustc-check-cfg=cfg(soc_has_timg1)");
2710 println!("cargo:rustc-check-cfg=cfg(soc_has_twai0)");
2711 println!("cargo:rustc-check-cfg=cfg(soc_has_uart0)");
2712 println!("cargo:rustc-check-cfg=cfg(soc_has_uart1)");
2713 println!("cargo:rustc-check-cfg=cfg(soc_has_uart2)");
2714 println!("cargo:rustc-check-cfg=cfg(soc_has_uhci0)");
2715 println!("cargo:rustc-check-cfg=cfg(soc_has_uhci1)");
2716 println!("cargo:rustc-check-cfg=cfg(soc_has_wifi)");
2717 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_spi2)");
2718 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_spi3)");
2719 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_i2s0)");
2720 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_i2s1)");
2721 println!("cargo:rustc-check-cfg=cfg(soc_has_adc1)");
2722 println!("cargo:rustc-check-cfg=cfg(soc_has_adc2)");
2723 println!("cargo:rustc-check-cfg=cfg(soc_has_bt)");
2724 println!("cargo:rustc-check-cfg=cfg(soc_has_cpu_ctrl)");
2725 println!("cargo:rustc-check-cfg=cfg(soc_has_dac1)");
2726 println!("cargo:rustc-check-cfg=cfg(soc_has_dac2)");
2727 println!("cargo:rustc-check-cfg=cfg(soc_has_flash)");
2728 println!("cargo:rustc-check-cfg=cfg(soc_has_psram)");
2729 println!("cargo:rustc-check-cfg=cfg(soc_has_sw_interrupt)");
2730 println!("cargo:rustc-check-cfg=cfg(soc_has_touch)");
2731 println!("cargo:rustc-check-cfg=cfg(pdma)");
2732 println!("cargo:rustc-check-cfg=cfg(phy)");
2733 println!("cargo:rustc-check-cfg=cfg(psram)");
2734 println!("cargo:rustc-check-cfg=cfg(touch)");
2735 println!("cargo:rustc-check-cfg=cfg(rom_crc_le)");
2736 println!("cargo:rustc-check-cfg=cfg(rom_crc_be)");
2737 println!("cargo:rustc-check-cfg=cfg(rom_md5_bsd)");
2738 println!("cargo:rustc-check-cfg=cfg(pm_support_ext0_wakeup)");
2739 println!("cargo:rustc-check-cfg=cfg(pm_support_ext1_wakeup)");
2740 println!("cargo:rustc-check-cfg=cfg(pm_support_touch_sensor_wakeup)");
2741 println!("cargo:rustc-check-cfg=cfg(ulp_supported)");
2742 println!("cargo:rustc-check-cfg=cfg(soc)");
2743 println!("cargo:rustc-check-cfg=cfg(adc)");
2744 println!("cargo:rustc-check-cfg=cfg(aes)");
2745 println!("cargo:rustc-check-cfg=cfg(dac)");
2746 println!("cargo:rustc-check-cfg=cfg(dma)");
2747 println!("cargo:rustc-check-cfg=cfg(gpio)");
2748 println!("cargo:rustc-check-cfg=cfg(i2c_master)");
2749 println!("cargo:rustc-check-cfg=cfg(i2s)");
2750 println!("cargo:rustc-check-cfg=cfg(interrupts)");
2751 println!("cargo:rustc-check-cfg=cfg(io_mux)");
2752 println!("cargo:rustc-check-cfg=cfg(rgb_display)");
2753 println!("cargo:rustc-check-cfg=cfg(ledc)");
2754 println!("cargo:rustc-check-cfg=cfg(mcpwm)");
2755 println!("cargo:rustc-check-cfg=cfg(pcnt)");
2756 println!("cargo:rustc-check-cfg=cfg(rmt)");
2757 println!("cargo:rustc-check-cfg=cfg(rng)");
2758 println!("cargo:rustc-check-cfg=cfg(rsa)");
2759 println!("cargo:rustc-check-cfg=cfg(sd_host)");
2760 println!("cargo:rustc-check-cfg=cfg(sd_slave)");
2761 println!("cargo:rustc-check-cfg=cfg(sleep)");
2762 println!("cargo:rustc-check-cfg=cfg(sha)");
2763 println!("cargo:rustc-check-cfg=cfg(spi_master)");
2764 println!("cargo:rustc-check-cfg=cfg(spi_slave)");
2765 println!("cargo:rustc-check-cfg=cfg(temp_sensor)");
2766 println!("cargo:rustc-check-cfg=cfg(timergroup)");
2767 println!("cargo:rustc-check-cfg=cfg(twai)");
2768 println!("cargo:rustc-check-cfg=cfg(uart)");
2769 println!("cargo:rustc-check-cfg=cfg(ulp_fsm)");
2770 println!("cargo:rustc-check-cfg=cfg(wifi)");
2771 println!("cargo:rustc-check-cfg=cfg(bt)");
2772 println!("cargo:rustc-check-cfg=cfg(adc_adc1)");
2773 println!("cargo:rustc-check-cfg=cfg(adc_adc2)");
2774 println!("cargo:rustc-check-cfg=cfg(dac_dac1)");
2775 println!("cargo:rustc-check-cfg=cfg(dac_dac2)");
2776 println!("cargo:rustc-check-cfg=cfg(i2c_master_i2c0)");
2777 println!("cargo:rustc-check-cfg=cfg(i2c_master_i2c1)");
2778 println!("cargo:rustc-check-cfg=cfg(spi_master_spi2)");
2779 println!("cargo:rustc-check-cfg=cfg(spi_master_spi3)");
2780 println!("cargo:rustc-check-cfg=cfg(spi_slave_spi2)");
2781 println!("cargo:rustc-check-cfg=cfg(spi_slave_spi3)");
2782 println!("cargo:rustc-check-cfg=cfg(timergroup_timg0)");
2783 println!("cargo:rustc-check-cfg=cfg(timergroup_timg1)");
2784 println!("cargo:rustc-check-cfg=cfg(uart_uart0)");
2785 println!("cargo:rustc-check-cfg=cfg(uart_uart1)");
2786 println!("cargo:rustc-check-cfg=cfg(uart_uart2)");
2787 println!("cargo:rustc-check-cfg=cfg(soc_ref_tick_hz_is_set)");
2788 println!("cargo:rustc-check-cfg=cfg(soc_rc_fast_clk_default_is_set)");
2789 println!("cargo:rustc-check-cfg=cfg(soc_rc_slow_clock_is_set)");
2790 println!("cargo:rustc-check-cfg=cfg(has_dram_region)");
2791 println!("cargo:rustc-check-cfg=cfg(has_dram2_uninit_region)");
2792 println!("cargo:rustc-check-cfg=cfg(soc_has_multiple_xtal_options)");
2793 println!("cargo:rustc-check-cfg=cfg(aes_endianness_configurable)");
2794 println!("cargo:rustc-check-cfg=cfg(gpio_has_bank_1)");
2795 println!("cargo:rustc-check-cfg=cfg(gpio_remap_iomux_pin_registers)");
2796 println!("cargo:rustc-check-cfg=cfg(i2c_master_separate_filter_config_registers)");
2797 println!("cargo:rustc-check-cfg=cfg(i2c_master_i2c0_data_register_ahb_address_is_set)");
2798 println!("cargo:rustc-check-cfg=cfg(rmt_has_per_channel_clock)");
2799 println!("cargo:rustc-check-cfg=cfg(rmt_supports_reftick_clock)");
2800 println!("cargo:rustc-check-cfg=cfg(rmt_supports_apb_clock)");
2801 println!("cargo:rustc-check-cfg=cfg(timergroup_timg_has_timer1)");
2802 println!("cargo:rustc-check-cfg=cfg(phy_combo_module)");
2803 println!("cargo:rustc-check-cfg=cfg(esp32c2)");
2804 println!("cargo:rustc-check-cfg=cfg(riscv)");
2805 println!("cargo:rustc-check-cfg=cfg(single_core)");
2806 println!("cargo:rustc-check-cfg=cfg(soc_has_apb_saradc)");
2807 println!("cargo:rustc-check-cfg=cfg(soc_has_assist_debug)");
2808 println!("cargo:rustc-check-cfg=cfg(soc_has_dma)");
2809 println!("cargo:rustc-check-cfg=cfg(soc_has_ecc)");
2810 println!("cargo:rustc-check-cfg=cfg(soc_has_extmem)");
2811 println!("cargo:rustc-check-cfg=cfg(soc_has_i2c_ana_mst)");
2812 println!("cargo:rustc-check-cfg=cfg(soc_has_interrupt_core0)");
2813 println!("cargo:rustc-check-cfg=cfg(soc_has_modem_clkrst)");
2814 println!("cargo:rustc-check-cfg=cfg(soc_has_sensitive)");
2815 println!("cargo:rustc-check-cfg=cfg(soc_has_systimer)");
2816 println!("cargo:rustc-check-cfg=cfg(soc_has_xts_aes)");
2817 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch0)");
2818 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem1)");
2819 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem2)");
2820 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem3)");
2821 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem4)");
2822 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem5)");
2823 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem6)");
2824 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem7)");
2825 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem8)");
2826 println!("cargo:rustc-check-cfg=cfg(gdma)");
2827 println!("cargo:rustc-check-cfg=cfg(swd)");
2828 println!("cargo:rustc-check-cfg=cfg(rom_md5_mbedtls)");
2829 println!("cargo:rustc-check-cfg=cfg(pm_support_wifi_wakeup)");
2830 println!("cargo:rustc-check-cfg=cfg(pm_support_bt_wakeup)");
2831 println!("cargo:rustc-check-cfg=cfg(uart_support_wakeup_int)");
2832 println!("cargo:rustc-check-cfg=cfg(gpio_support_deepsleep_wakeup)");
2833 println!("cargo:rustc-check-cfg=cfg(assist_debug)");
2834 println!("cargo:rustc-check-cfg=cfg(ecc)");
2835 println!("cargo:rustc-check-cfg=cfg(systimer)");
2836 println!("cargo:rustc-check-cfg=cfg(soc_cpu_has_csr_pc)");
2837 println!("cargo:rustc-check-cfg=cfg(assist_debug_has_sp_monitor)");
2838 println!("cargo:rustc-check-cfg=cfg(i2c_master_has_fsm_timeouts)");
2839 println!("cargo:rustc-check-cfg=cfg(i2c_master_has_hw_bus_clear)");
2840 println!("cargo:rustc-check-cfg=cfg(i2c_master_has_bus_timeout_enable)");
2841 println!("cargo:rustc-check-cfg=cfg(i2c_master_has_conf_update)");
2842 println!("cargo:rustc-check-cfg=cfg(i2c_master_has_arbitration_en)");
2843 println!("cargo:rustc-check-cfg=cfg(i2c_master_has_tx_fifo_watermark)");
2844 println!("cargo:rustc-check-cfg=cfg(i2c_master_bus_timeout_is_exponential)");
2845 println!("cargo:rustc-check-cfg=cfg(sha_dma)");
2846 println!("cargo:rustc-check-cfg=cfg(timergroup_timg_has_divcnt_rst)");
2847 println!("cargo:rustc-check-cfg=cfg(timergroup_default_clock_source_is_set)");
2848 println!("cargo:rustc-check-cfg=cfg(timergroup_default_wdt_clock_source_is_set)");
2849 println!("cargo:rustc-check-cfg=cfg(esp32c3)");
2850 println!("cargo:rustc-check-cfg=cfg(soc_has_ds)");
2851 println!("cargo:rustc-check-cfg=cfg(soc_has_fe)");
2852 println!("cargo:rustc-check-cfg=cfg(soc_has_fe2)");
2853 println!("cargo:rustc-check-cfg=cfg(soc_has_hmac)");
2854 println!("cargo:rustc-check-cfg=cfg(soc_has_usb_device)");
2855 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch1)");
2856 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch2)");
2857 println!("cargo:rustc-check-cfg=cfg(soc_has_tsens)");
2858 println!("cargo:rustc-check-cfg=cfg(hmac)");
2859 println!("cargo:rustc-check-cfg=cfg(usb_serial_jtag)");
2860 println!("cargo:rustc-check-cfg=cfg(aes_dma)");
2861 println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_ecb)");
2862 println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_cbc)");
2863 println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_ofb)");
2864 println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_ctr)");
2865 println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_cfb8)");
2866 println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_cfb128)");
2867 println!("cargo:rustc-check-cfg=cfg(aes_has_split_text_registers)");
2868 println!("cargo:rustc-check-cfg=cfg(assist_debug_has_region_monitor)");
2869 println!("cargo:rustc-check-cfg=cfg(rmt_has_tx_immediate_stop)");
2870 println!("cargo:rustc-check-cfg=cfg(rmt_has_tx_loop_count)");
2871 println!("cargo:rustc-check-cfg=cfg(rmt_has_tx_carrier_data_only)");
2872 println!("cargo:rustc-check-cfg=cfg(rmt_has_tx_sync)");
2873 println!("cargo:rustc-check-cfg=cfg(rmt_has_rx_wrap)");
2874 println!("cargo:rustc-check-cfg=cfg(rmt_has_rx_demodulation)");
2875 println!("cargo:rustc-check-cfg=cfg(rmt_supports_none_clock)");
2876 println!("cargo:rustc-check-cfg=cfg(rmt_supports_rcfast_clock)");
2877 println!("cargo:rustc-check-cfg=cfg(rmt_supports_xtal_clock)");
2878 println!("cargo:rustc-check-cfg=cfg(phy_backed_up_digital_register_count_is_set)");
2879 println!("cargo:rustc-check-cfg=cfg(esp32c6)");
2880 println!("cargo:rustc-check-cfg=cfg(soc_has_atomic)");
2881 println!("cargo:rustc-check-cfg=cfg(soc_has_hp_apm)");
2882 println!("cargo:rustc-check-cfg=cfg(soc_has_hp_sys)");
2883 println!("cargo:rustc-check-cfg=cfg(soc_has_ieee802154)");
2884 println!("cargo:rustc-check-cfg=cfg(soc_has_intpri)");
2885 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_ana)");
2886 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_aon)");
2887 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_apm)");
2888 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_apm0)");
2889 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_clkrst)");
2890 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_i2c0)");
2891 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_i2c_ana_mst)");
2892 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_io)");
2893 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_peri)");
2894 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_tee)");
2895 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_timer)");
2896 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_uart)");
2897 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_wdt)");
2898 println!("cargo:rustc-check-cfg=cfg(soc_has_mem_monitor)");
2899 println!("cargo:rustc-check-cfg=cfg(soc_has_modem_lpcon)");
2900 println!("cargo:rustc-check-cfg=cfg(soc_has_modem_syscon)");
2901 println!("cargo:rustc-check-cfg=cfg(soc_has_otp_debug)");
2902 println!("cargo:rustc-check-cfg=cfg(soc_has_parl_io)");
2903 println!("cargo:rustc-check-cfg=cfg(soc_has_pau)");
2904 println!("cargo:rustc-check-cfg=cfg(soc_has_pcr)");
2905 println!("cargo:rustc-check-cfg=cfg(soc_has_plic_mx)");
2906 println!("cargo:rustc-check-cfg=cfg(soc_has_pmu)");
2907 println!("cargo:rustc-check-cfg=cfg(soc_has_etm)");
2908 println!("cargo:rustc-check-cfg=cfg(soc_has_tee)");
2909 println!("cargo:rustc-check-cfg=cfg(soc_has_trace0)");
2910 println!("cargo:rustc-check-cfg=cfg(soc_has_twai1)");
2911 println!("cargo:rustc-check-cfg=cfg(soc_has_lp_core)");
2912 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem10)");
2913 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem11)");
2914 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem12)");
2915 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem13)");
2916 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem14)");
2917 println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem15)");
2918 println!("cargo:rustc-check-cfg=cfg(plic)");
2919 println!("cargo:rustc-check-cfg=cfg(lp_core)");
2920 println!("cargo:rustc-check-cfg=cfg(pm_support_beacon_wakeup)");
2921 println!("cargo:rustc-check-cfg=cfg(etm)");
2922 println!("cargo:rustc-check-cfg=cfg(lp_i2c_master)");
2923 println!("cargo:rustc-check-cfg=cfg(parl_io)");
2924 println!("cargo:rustc-check-cfg=cfg(lp_uart)");
2925 println!("cargo:rustc-check-cfg=cfg(ulp_riscv)");
2926 println!("cargo:rustc-check-cfg=cfg(ieee802154)");
2927 println!("cargo:rustc-check-cfg=cfg(soc_cpu_has_prv_mode)");
2928 println!("cargo:rustc-check-cfg=cfg(i2c_master_can_estimate_nack_reason)");
2929 println!("cargo:rustc-check-cfg=cfg(i2c_master_has_reliable_fsm_reset)");
2930 println!("cargo:rustc-check-cfg=cfg(rmt_has_tx_loop_auto_stop)");
2931 println!("cargo:rustc-check-cfg=cfg(rmt_supports_pll80mhz_clock)");
2932 println!("cargo:rustc-check-cfg=cfg(uart_peripheral_controls_mem_clk)");
2933 println!("cargo:rustc-check-cfg=cfg(wifi_has_wifi6)");
2934 println!("cargo:rustc-check-cfg=cfg(esp32h2)");
2935 println!("cargo:rustc-check-cfg=cfg(esp32s2)");
2936 println!("cargo:rustc-check-cfg=cfg(soc_has_dedicated_gpio)");
2937 println!("cargo:rustc-check-cfg=cfg(soc_has_pms)");
2938 println!("cargo:rustc-check-cfg=cfg(soc_has_syscon)");
2939 println!("cargo:rustc-check-cfg=cfg(soc_has_usb0)");
2940 println!("cargo:rustc-check-cfg=cfg(soc_has_usb_wrap)");
2941 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_crypto)");
2942 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_copy)");
2943 println!("cargo:rustc-check-cfg=cfg(soc_has_ulp_riscv_core)");
2944 println!("cargo:rustc-check-cfg=cfg(psram_dma)");
2945 println!("cargo:rustc-check-cfg=cfg(ulp_riscv_core)");
2946 println!("cargo:rustc-check-cfg=cfg(soc_has_copy_dma)");
2947 println!("cargo:rustc-check-cfg=cfg(soc_has_crypto_dma)");
2948 println!("cargo:rustc-check-cfg=cfg(riscv_coproc_supported)");
2949 println!("cargo:rustc-check-cfg=cfg(usb_otg)");
2950 println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_gcm)");
2951 println!("cargo:rustc-check-cfg=cfg(spi_master_has_octal)");
2952 println!("cargo:rustc-check-cfg=cfg(esp32s3)");
2953 println!("cargo:rustc-check-cfg=cfg(soc_has_interrupt_core1)");
2954 println!("cargo:rustc-check-cfg=cfg(soc_has_lcd_cam)");
2955 println!("cargo:rustc-check-cfg=cfg(soc_has_peri_backup)");
2956 println!("cargo:rustc-check-cfg=cfg(soc_has_rtc_cntl)");
2957 println!("cargo:rustc-check-cfg=cfg(soc_has_wcl)");
2958 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch3)");
2959 println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch4)");
2960 println!("cargo:rustc-check-cfg=cfg(octal_psram)");
2961 println!("cargo:rustc-check-cfg=cfg(camera)");
2962 println!("cargo:rustc-check-cfg=cfg(rmt_has_dma)");
2963 println!("cargo:rustc-check-cfg=cfg(soc_ref_tick_hz, values(\"1000000\"))");
2964 println!(
2965 "cargo:rustc-check-cfg=cfg(soc_rc_fast_clk_default, values(\"8500000\",\"17500000\"))"
2966 );
2967 println!(
2968 "cargo:rustc-check-cfg=cfg(soc_rc_slow_clock, values(\"150000\",\"136000\",\"90000\"))"
2969 );
2970 println!("cargo:rustc-check-cfg=cfg(gpio_gpio_function, values(\"2\",\"1\"))");
2971 println!("cargo:rustc-check-cfg=cfg(gpio_constant_0_input, values(\"48\",\"31\",\"60\"))");
2972 println!("cargo:rustc-check-cfg=cfg(gpio_constant_1_input, values(\"56\",\"30\"))");
2973 println!("cargo:rustc-check-cfg=cfg(gpio_func_in_sel_offset, values(\"0\"))");
2974 println!(
2975 "cargo:rustc-check-cfg=cfg(gpio_input_signal_max, values(\"206\",\"100\",\"124\",\"242\",\"255\"))"
2976 );
2977 println!("cargo:rustc-check-cfg=cfg(gpio_output_signal_max, values(\"256\",\"128\"))");
2978 println!(
2979 "cargo:rustc-check-cfg=cfg(i2c_master_i2c0_data_register_ahb_address, values(\"1610690588\"))"
2980 );
2981 println!(
2982 "cargo:rustc-check-cfg=cfg(i2c_master_max_bus_timeout, values(\"1048575\",\"31\",\"16777215\"))"
2983 );
2984 println!("cargo:rustc-check-cfg=cfg(i2c_master_ll_intr_mask, values(\"262143\",\"131071\"))");
2985 println!("cargo:rustc-check-cfg=cfg(i2c_master_fifo_size, values(\"32\",\"16\"))");
2986 println!("cargo:rustc-check-cfg=cfg(interrupts_status_registers, values(\"3\",\"2\",\"4\"))");
2987 println!(
2988 "cargo:rustc-check-cfg=cfg(rmt_ram_start, values(\"1073047552\",\"1610703872\",\"1610638336\",\"1610642432\",\"1061250048\",\"1610704896\"))"
2989 );
2990 println!("cargo:rustc-check-cfg=cfg(rmt_channel_ram_size, values(\"64\",\"48\"))");
2991 println!("cargo:rustc-check-cfg=cfg(rng_apb_cycle_wait_num, values(\"16\"))");
2992 println!("cargo:rustc-check-cfg=cfg(rsa_size_increment, values(\"512\",\"32\"))");
2993 println!("cargo:rustc-check-cfg=cfg(rsa_memory_size_bytes, values(\"512\",\"384\"))");
2994 println!("cargo:rustc-check-cfg=cfg(uart_ram_size, values(\"128\"))");
2995 println!("cargo:rustc-check-cfg=cfg(bt_controller, values(\"btdm\",\"npl\"))");
2996 println!(
2997 "cargo:rustc-check-cfg=cfg(timergroup_default_clock_source, values(\"0\",\"1\",\"2\"))"
2998 );
2999 println!(
3000 "cargo:rustc-check-cfg=cfg(timergroup_default_wdt_clock_source, values(\"0\",\"1\",\"2\"))"
3001 );
3002 println!("cargo:rustc-check-cfg=cfg(soc_xtal_frequency, values(\"40\",\"32\"))");
3003 println!("cargo:rustc-check-cfg=cfg(phy_backed_up_digital_register_count, values(\"21\"))");
3004 println!("cargo:rustc-check-cfg=cfg(lp_i2c_master_fifo_size, values(\"16\"))");
3005 println!("cargo:rustc-check-cfg=cfg(lp_uart_ram_size, values(\"32\"))");
3006}