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