esp_metadata_generated/
_build_script_utils.rs

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