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