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_psram",
205                    "soc_has_sw_interrupt",
206                    "soc_has_touch",
207                    "pdma",
208                    "phy",
209                    "psram",
210                    "touch",
211                    "rom_crc_le",
212                    "rom_crc_be",
213                    "rom_md5_bsd",
214                    "pm_support_ext0_wakeup",
215                    "pm_support_ext1_wakeup",
216                    "pm_support_touch_sensor_wakeup",
217                    "ulp_supported",
218                    "adc",
219                    "aes",
220                    "dac",
221                    "dma",
222                    "gpio",
223                    "i2c_master",
224                    "i2s",
225                    "interrupts",
226                    "io_mux",
227                    "rgb_display",
228                    "ledc",
229                    "mcpwm",
230                    "pcnt",
231                    "psram",
232                    "rmt",
233                    "rng",
234                    "rsa",
235                    "sd_host",
236                    "sd_slave",
237                    "sleep",
238                    "sha",
239                    "spi_master",
240                    "spi_slave",
241                    "temp_sensor",
242                    "timergroup",
243                    "touch",
244                    "twai",
245                    "uart",
246                    "ulp_fsm",
247                    "wifi",
248                    "bt",
249                    "adc_adc1",
250                    "adc_adc2",
251                    "dac_dac1",
252                    "dac_dac2",
253                    "i2c_master_i2c0",
254                    "i2c_master_i2c1",
255                    "spi_master_spi2",
256                    "spi_master_spi3",
257                    "spi_slave_spi2",
258                    "spi_slave_spi3",
259                    "timergroup_timg0",
260                    "timergroup_timg1",
261                    "uart_uart0",
262                    "uart_uart1",
263                    "uart_uart2",
264                    "gpio_has_bank_1",
265                    "gpio_gpio_function=\"2\"",
266                    "gpio_constant_0_input=\"48\"",
267                    "gpio_constant_1_input=\"56\"",
268                    "gpio_remap_iomux_pin_registers",
269                    "gpio_func_in_sel_offset=\"0\"",
270                    "gpio_input_signal_max=\"206\"",
271                    "gpio_output_signal_max=\"256\"",
272                    "i2c_master_separate_filter_config_registers",
273                    "i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
274                    "i2c_master_max_bus_timeout=\"1048575\"",
275                    "i2c_master_ll_intr_mask=\"262143\"",
276                    "i2c_master_fifo_size=\"32\"",
277                    "interrupts_status_registers=\"3\"",
278                    "rmt_ram_start=\"1073047552\"",
279                    "rmt_channel_ram_size=\"64\"",
280                    "timergroup_timg_has_timer1",
281                    "has_dram_region",
282                ],
283                cfgs: &[
284                    "cargo:rustc-cfg=esp32",
285                    "cargo:rustc-cfg=xtensa",
286                    "cargo:rustc-cfg=multi_core",
287                    "cargo:rustc-cfg=soc_has_aes",
288                    "cargo:rustc-cfg=soc_has_apb_ctrl",
289                    "cargo:rustc-cfg=soc_has_bb",
290                    "cargo:rustc-cfg=soc_has_dport",
291                    "cargo:rustc-cfg=soc_has_system",
292                    "cargo:rustc-cfg=soc_has_efuse",
293                    "cargo:rustc-cfg=soc_has_emac_dma",
294                    "cargo:rustc-cfg=soc_has_emac_ext",
295                    "cargo:rustc-cfg=soc_has_emac_mac",
296                    "cargo:rustc-cfg=soc_has_flash_encryption",
297                    "cargo:rustc-cfg=soc_has_frc_timer",
298                    "cargo:rustc-cfg=soc_has_gpio",
299                    "cargo:rustc-cfg=soc_has_gpio_sd",
300                    "cargo:rustc-cfg=soc_has_hinf",
301                    "cargo:rustc-cfg=soc_has_i2c0",
302                    "cargo:rustc-cfg=soc_has_i2c1",
303                    "cargo:rustc-cfg=soc_has_i2s0",
304                    "cargo:rustc-cfg=soc_has_i2s1",
305                    "cargo:rustc-cfg=soc_has_io_mux",
306                    "cargo:rustc-cfg=soc_has_ledc",
307                    "cargo:rustc-cfg=soc_has_mcpwm0",
308                    "cargo:rustc-cfg=soc_has_mcpwm1",
309                    "cargo:rustc-cfg=soc_has_nrx",
310                    "cargo:rustc-cfg=soc_has_pcnt",
311                    "cargo:rustc-cfg=soc_has_rmt",
312                    "cargo:rustc-cfg=soc_has_rng",
313                    "cargo:rustc-cfg=soc_has_rsa",
314                    "cargo:rustc-cfg=soc_has_lpwr",
315                    "cargo:rustc-cfg=soc_has_rtc_i2c",
316                    "cargo:rustc-cfg=soc_has_rtc_io",
317                    "cargo:rustc-cfg=soc_has_sdhost",
318                    "cargo:rustc-cfg=soc_has_sens",
319                    "cargo:rustc-cfg=soc_has_sha",
320                    "cargo:rustc-cfg=soc_has_slc",
321                    "cargo:rustc-cfg=soc_has_slchost",
322                    "cargo:rustc-cfg=soc_has_spi0",
323                    "cargo:rustc-cfg=soc_has_spi1",
324                    "cargo:rustc-cfg=soc_has_spi2",
325                    "cargo:rustc-cfg=soc_has_spi3",
326                    "cargo:rustc-cfg=soc_has_timg0",
327                    "cargo:rustc-cfg=soc_has_timg1",
328                    "cargo:rustc-cfg=soc_has_twai0",
329                    "cargo:rustc-cfg=soc_has_uart0",
330                    "cargo:rustc-cfg=soc_has_uart1",
331                    "cargo:rustc-cfg=soc_has_uart2",
332                    "cargo:rustc-cfg=soc_has_uhci0",
333                    "cargo:rustc-cfg=soc_has_uhci1",
334                    "cargo:rustc-cfg=soc_has_wifi",
335                    "cargo:rustc-cfg=soc_has_dma_spi2",
336                    "cargo:rustc-cfg=soc_has_dma_spi3",
337                    "cargo:rustc-cfg=soc_has_dma_i2s0",
338                    "cargo:rustc-cfg=soc_has_dma_i2s1",
339                    "cargo:rustc-cfg=soc_has_adc1",
340                    "cargo:rustc-cfg=soc_has_adc2",
341                    "cargo:rustc-cfg=soc_has_bt",
342                    "cargo:rustc-cfg=soc_has_cpu_ctrl",
343                    "cargo:rustc-cfg=soc_has_dac1",
344                    "cargo:rustc-cfg=soc_has_dac2",
345                    "cargo:rustc-cfg=soc_has_psram",
346                    "cargo:rustc-cfg=soc_has_sw_interrupt",
347                    "cargo:rustc-cfg=soc_has_touch",
348                    "cargo:rustc-cfg=pdma",
349                    "cargo:rustc-cfg=phy",
350                    "cargo:rustc-cfg=psram",
351                    "cargo:rustc-cfg=touch",
352                    "cargo:rustc-cfg=rom_crc_le",
353                    "cargo:rustc-cfg=rom_crc_be",
354                    "cargo:rustc-cfg=rom_md5_bsd",
355                    "cargo:rustc-cfg=pm_support_ext0_wakeup",
356                    "cargo:rustc-cfg=pm_support_ext1_wakeup",
357                    "cargo:rustc-cfg=pm_support_touch_sensor_wakeup",
358                    "cargo:rustc-cfg=ulp_supported",
359                    "cargo:rustc-cfg=adc",
360                    "cargo:rustc-cfg=aes",
361                    "cargo:rustc-cfg=dac",
362                    "cargo:rustc-cfg=dma",
363                    "cargo:rustc-cfg=gpio",
364                    "cargo:rustc-cfg=i2c_master",
365                    "cargo:rustc-cfg=i2s",
366                    "cargo:rustc-cfg=interrupts",
367                    "cargo:rustc-cfg=io_mux",
368                    "cargo:rustc-cfg=rgb_display",
369                    "cargo:rustc-cfg=ledc",
370                    "cargo:rustc-cfg=mcpwm",
371                    "cargo:rustc-cfg=pcnt",
372                    "cargo:rustc-cfg=psram",
373                    "cargo:rustc-cfg=rmt",
374                    "cargo:rustc-cfg=rng",
375                    "cargo:rustc-cfg=rsa",
376                    "cargo:rustc-cfg=sd_host",
377                    "cargo:rustc-cfg=sd_slave",
378                    "cargo:rustc-cfg=sleep",
379                    "cargo:rustc-cfg=sha",
380                    "cargo:rustc-cfg=spi_master",
381                    "cargo:rustc-cfg=spi_slave",
382                    "cargo:rustc-cfg=temp_sensor",
383                    "cargo:rustc-cfg=timergroup",
384                    "cargo:rustc-cfg=touch",
385                    "cargo:rustc-cfg=twai",
386                    "cargo:rustc-cfg=uart",
387                    "cargo:rustc-cfg=ulp_fsm",
388                    "cargo:rustc-cfg=wifi",
389                    "cargo:rustc-cfg=bt",
390                    "cargo:rustc-cfg=adc_adc1",
391                    "cargo:rustc-cfg=adc_adc2",
392                    "cargo:rustc-cfg=dac_dac1",
393                    "cargo:rustc-cfg=dac_dac2",
394                    "cargo:rustc-cfg=i2c_master_i2c0",
395                    "cargo:rustc-cfg=i2c_master_i2c1",
396                    "cargo:rustc-cfg=spi_master_spi2",
397                    "cargo:rustc-cfg=spi_master_spi3",
398                    "cargo:rustc-cfg=spi_slave_spi2",
399                    "cargo:rustc-cfg=spi_slave_spi3",
400                    "cargo:rustc-cfg=timergroup_timg0",
401                    "cargo:rustc-cfg=timergroup_timg1",
402                    "cargo:rustc-cfg=uart_uart0",
403                    "cargo:rustc-cfg=uart_uart1",
404                    "cargo:rustc-cfg=uart_uart2",
405                    "cargo:rustc-cfg=gpio_has_bank_1",
406                    "cargo:rustc-cfg=gpio_gpio_function=\"2\"",
407                    "cargo:rustc-cfg=gpio_constant_0_input=\"48\"",
408                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
409                    "cargo:rustc-cfg=gpio_remap_iomux_pin_registers",
410                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
411                    "cargo:rustc-cfg=gpio_input_signal_max=\"206\"",
412                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
413                    "cargo:rustc-cfg=i2c_master_separate_filter_config_registers",
414                    "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
415                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"1048575\"",
416                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
417                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
418                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
419                    "cargo:rustc-cfg=rmt_ram_start=\"1073047552\"",
420                    "cargo:rustc-cfg=rmt_channel_ram_size=\"64\"",
421                    "cargo:rustc-cfg=timergroup_timg_has_timer1",
422                    "cargo:rustc-cfg=has_dram_region",
423                ],
424            },
425            Self::Esp32c2 => Config {
426                architecture: "riscv",
427                target: "riscv32imc-unknown-none-elf",
428                symbols: &[
429                    "esp32c2",
430                    "riscv",
431                    "single_core",
432                    "soc_has_apb_ctrl",
433                    "soc_has_apb_saradc",
434                    "soc_has_bb",
435                    "soc_has_assist_debug",
436                    "soc_has_dma",
437                    "soc_has_ecc",
438                    "soc_has_efuse",
439                    "soc_has_extmem",
440                    "soc_has_gpio",
441                    "soc_has_i2c_ana_mst",
442                    "soc_has_i2c0",
443                    "soc_has_interrupt_core0",
444                    "soc_has_io_mux",
445                    "soc_has_ledc",
446                    "soc_has_rng",
447                    "soc_has_lpwr",
448                    "soc_has_modem_clkrst",
449                    "soc_has_sensitive",
450                    "soc_has_sha",
451                    "soc_has_spi0",
452                    "soc_has_spi1",
453                    "soc_has_spi2",
454                    "soc_has_system",
455                    "soc_has_systimer",
456                    "soc_has_timg0",
457                    "soc_has_uart0",
458                    "soc_has_uart1",
459                    "soc_has_xts_aes",
460                    "soc_has_dma_ch0",
461                    "soc_has_adc1",
462                    "soc_has_bt",
463                    "soc_has_sw_interrupt",
464                    "soc_has_wifi",
465                    "soc_has_mem2mem1",
466                    "soc_has_mem2mem2",
467                    "soc_has_mem2mem3",
468                    "soc_has_mem2mem4",
469                    "soc_has_mem2mem5",
470                    "soc_has_mem2mem6",
471                    "soc_has_mem2mem7",
472                    "soc_has_mem2mem8",
473                    "gdma",
474                    "phy",
475                    "rom_crc_le",
476                    "rom_crc_be",
477                    "rom_md5_mbedtls",
478                    "pm_support_wifi_wakeup",
479                    "pm_support_bt_wakeup",
480                    "uart_support_wakeup_int",
481                    "gpio_support_deepsleep_wakeup",
482                    "adc",
483                    "assist_debug",
484                    "dma",
485                    "ecc",
486                    "gpio",
487                    "i2c_master",
488                    "interrupts",
489                    "io_mux",
490                    "ledc",
491                    "rng",
492                    "sleep",
493                    "sha",
494                    "spi_master",
495                    "spi_slave",
496                    "systimer",
497                    "temp_sensor",
498                    "timergroup",
499                    "uart",
500                    "wifi",
501                    "bt",
502                    "adc_adc1",
503                    "i2c_master_i2c0",
504                    "spi_master_spi2",
505                    "spi_slave_spi2",
506                    "timergroup_timg0",
507                    "uart_uart0",
508                    "uart_uart1",
509                    "assist_debug_has_sp_monitor",
510                    "gpio_gpio_function=\"1\"",
511                    "gpio_constant_0_input=\"31\"",
512                    "gpio_constant_1_input=\"30\"",
513                    "gpio_func_in_sel_offset=\"0\"",
514                    "gpio_input_signal_max=\"100\"",
515                    "gpio_output_signal_max=\"128\"",
516                    "i2c_master_has_fsm_timeouts",
517                    "i2c_master_has_hw_bus_clear",
518                    "i2c_master_has_bus_timeout_enable",
519                    "i2c_master_has_conf_update",
520                    "i2c_master_has_arbitration_en",
521                    "i2c_master_has_tx_fifo_watermark",
522                    "i2c_master_bus_timeout_is_exponential",
523                    "i2c_master_max_bus_timeout=\"31\"",
524                    "i2c_master_ll_intr_mask=\"262143\"",
525                    "i2c_master_fifo_size=\"16\"",
526                    "interrupts_status_registers=\"2\"",
527                    "has_dram_region",
528                ],
529                cfgs: &[
530                    "cargo:rustc-cfg=esp32c2",
531                    "cargo:rustc-cfg=riscv",
532                    "cargo:rustc-cfg=single_core",
533                    "cargo:rustc-cfg=soc_has_apb_ctrl",
534                    "cargo:rustc-cfg=soc_has_apb_saradc",
535                    "cargo:rustc-cfg=soc_has_bb",
536                    "cargo:rustc-cfg=soc_has_assist_debug",
537                    "cargo:rustc-cfg=soc_has_dma",
538                    "cargo:rustc-cfg=soc_has_ecc",
539                    "cargo:rustc-cfg=soc_has_efuse",
540                    "cargo:rustc-cfg=soc_has_extmem",
541                    "cargo:rustc-cfg=soc_has_gpio",
542                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
543                    "cargo:rustc-cfg=soc_has_i2c0",
544                    "cargo:rustc-cfg=soc_has_interrupt_core0",
545                    "cargo:rustc-cfg=soc_has_io_mux",
546                    "cargo:rustc-cfg=soc_has_ledc",
547                    "cargo:rustc-cfg=soc_has_rng",
548                    "cargo:rustc-cfg=soc_has_lpwr",
549                    "cargo:rustc-cfg=soc_has_modem_clkrst",
550                    "cargo:rustc-cfg=soc_has_sensitive",
551                    "cargo:rustc-cfg=soc_has_sha",
552                    "cargo:rustc-cfg=soc_has_spi0",
553                    "cargo:rustc-cfg=soc_has_spi1",
554                    "cargo:rustc-cfg=soc_has_spi2",
555                    "cargo:rustc-cfg=soc_has_system",
556                    "cargo:rustc-cfg=soc_has_systimer",
557                    "cargo:rustc-cfg=soc_has_timg0",
558                    "cargo:rustc-cfg=soc_has_uart0",
559                    "cargo:rustc-cfg=soc_has_uart1",
560                    "cargo:rustc-cfg=soc_has_xts_aes",
561                    "cargo:rustc-cfg=soc_has_dma_ch0",
562                    "cargo:rustc-cfg=soc_has_adc1",
563                    "cargo:rustc-cfg=soc_has_bt",
564                    "cargo:rustc-cfg=soc_has_sw_interrupt",
565                    "cargo:rustc-cfg=soc_has_wifi",
566                    "cargo:rustc-cfg=soc_has_mem2mem1",
567                    "cargo:rustc-cfg=soc_has_mem2mem2",
568                    "cargo:rustc-cfg=soc_has_mem2mem3",
569                    "cargo:rustc-cfg=soc_has_mem2mem4",
570                    "cargo:rustc-cfg=soc_has_mem2mem5",
571                    "cargo:rustc-cfg=soc_has_mem2mem6",
572                    "cargo:rustc-cfg=soc_has_mem2mem7",
573                    "cargo:rustc-cfg=soc_has_mem2mem8",
574                    "cargo:rustc-cfg=gdma",
575                    "cargo:rustc-cfg=phy",
576                    "cargo:rustc-cfg=rom_crc_le",
577                    "cargo:rustc-cfg=rom_crc_be",
578                    "cargo:rustc-cfg=rom_md5_mbedtls",
579                    "cargo:rustc-cfg=pm_support_wifi_wakeup",
580                    "cargo:rustc-cfg=pm_support_bt_wakeup",
581                    "cargo:rustc-cfg=uart_support_wakeup_int",
582                    "cargo:rustc-cfg=gpio_support_deepsleep_wakeup",
583                    "cargo:rustc-cfg=adc",
584                    "cargo:rustc-cfg=assist_debug",
585                    "cargo:rustc-cfg=dma",
586                    "cargo:rustc-cfg=ecc",
587                    "cargo:rustc-cfg=gpio",
588                    "cargo:rustc-cfg=i2c_master",
589                    "cargo:rustc-cfg=interrupts",
590                    "cargo:rustc-cfg=io_mux",
591                    "cargo:rustc-cfg=ledc",
592                    "cargo:rustc-cfg=rng",
593                    "cargo:rustc-cfg=sleep",
594                    "cargo:rustc-cfg=sha",
595                    "cargo:rustc-cfg=spi_master",
596                    "cargo:rustc-cfg=spi_slave",
597                    "cargo:rustc-cfg=systimer",
598                    "cargo:rustc-cfg=temp_sensor",
599                    "cargo:rustc-cfg=timergroup",
600                    "cargo:rustc-cfg=uart",
601                    "cargo:rustc-cfg=wifi",
602                    "cargo:rustc-cfg=bt",
603                    "cargo:rustc-cfg=adc_adc1",
604                    "cargo:rustc-cfg=i2c_master_i2c0",
605                    "cargo:rustc-cfg=spi_master_spi2",
606                    "cargo:rustc-cfg=spi_slave_spi2",
607                    "cargo:rustc-cfg=timergroup_timg0",
608                    "cargo:rustc-cfg=uart_uart0",
609                    "cargo:rustc-cfg=uart_uart1",
610                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
611                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
612                    "cargo:rustc-cfg=gpio_constant_0_input=\"31\"",
613                    "cargo:rustc-cfg=gpio_constant_1_input=\"30\"",
614                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
615                    "cargo:rustc-cfg=gpio_input_signal_max=\"100\"",
616                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
617                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
618                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
619                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
620                    "cargo:rustc-cfg=i2c_master_has_conf_update",
621                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
622                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
623                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
624                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
625                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
626                    "cargo:rustc-cfg=i2c_master_fifo_size=\"16\"",
627                    "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
628                    "cargo:rustc-cfg=has_dram_region",
629                ],
630            },
631            Self::Esp32c3 => Config {
632                architecture: "riscv",
633                target: "riscv32imc-unknown-none-elf",
634                symbols: &[
635                    "esp32c3",
636                    "riscv",
637                    "single_core",
638                    "soc_has_aes",
639                    "soc_has_apb_ctrl",
640                    "soc_has_apb_saradc",
641                    "soc_has_assist_debug",
642                    "soc_has_bb",
643                    "soc_has_dma",
644                    "soc_has_ds",
645                    "soc_has_efuse",
646                    "soc_has_extmem",
647                    "soc_has_fe",
648                    "soc_has_fe2",
649                    "soc_has_gpio",
650                    "soc_has_gpio_sd",
651                    "soc_has_hmac",
652                    "soc_has_i2c_ana_mst",
653                    "soc_has_i2c0",
654                    "soc_has_i2s0",
655                    "soc_has_interrupt_core0",
656                    "soc_has_io_mux",
657                    "soc_has_ledc",
658                    "soc_has_nrx",
659                    "soc_has_rmt",
660                    "soc_has_rng",
661                    "soc_has_rsa",
662                    "soc_has_lpwr",
663                    "soc_has_sensitive",
664                    "soc_has_sha",
665                    "soc_has_spi0",
666                    "soc_has_spi1",
667                    "soc_has_spi2",
668                    "soc_has_system",
669                    "soc_has_systimer",
670                    "soc_has_timg0",
671                    "soc_has_timg1",
672                    "soc_has_twai0",
673                    "soc_has_uart0",
674                    "soc_has_uart1",
675                    "soc_has_uhci0",
676                    "soc_has_uhci1",
677                    "soc_has_usb_device",
678                    "soc_has_xts_aes",
679                    "soc_has_dma_ch0",
680                    "soc_has_dma_ch1",
681                    "soc_has_dma_ch2",
682                    "soc_has_adc1",
683                    "soc_has_adc2",
684                    "soc_has_bt",
685                    "soc_has_sw_interrupt",
686                    "soc_has_tsens",
687                    "soc_has_wifi",
688                    "gdma",
689                    "phy",
690                    "rom_crc_le",
691                    "rom_crc_be",
692                    "rom_md5_bsd",
693                    "pm_support_wifi_wakeup",
694                    "pm_support_bt_wakeup",
695                    "uart_support_wakeup_int",
696                    "gpio_support_deepsleep_wakeup",
697                    "adc",
698                    "aes",
699                    "assist_debug",
700                    "dma",
701                    "gpio",
702                    "hmac",
703                    "i2c_master",
704                    "i2s",
705                    "interrupts",
706                    "io_mux",
707                    "ledc",
708                    "rmt",
709                    "rng",
710                    "rsa",
711                    "sleep",
712                    "sha",
713                    "spi_master",
714                    "spi_slave",
715                    "systimer",
716                    "temp_sensor",
717                    "timergroup",
718                    "twai",
719                    "uart",
720                    "usb_serial_jtag",
721                    "wifi",
722                    "bt",
723                    "adc_adc1",
724                    "adc_adc2",
725                    "i2c_master_i2c0",
726                    "spi_master_spi2",
727                    "spi_slave_spi2",
728                    "timergroup_timg0",
729                    "timergroup_timg1",
730                    "uart_uart0",
731                    "uart_uart1",
732                    "assist_debug_has_sp_monitor",
733                    "assist_debug_has_region_monitor",
734                    "gpio_gpio_function=\"1\"",
735                    "gpio_constant_0_input=\"31\"",
736                    "gpio_constant_1_input=\"30\"",
737                    "gpio_func_in_sel_offset=\"0\"",
738                    "gpio_input_signal_max=\"100\"",
739                    "gpio_output_signal_max=\"128\"",
740                    "i2c_master_has_fsm_timeouts",
741                    "i2c_master_has_hw_bus_clear",
742                    "i2c_master_has_bus_timeout_enable",
743                    "i2c_master_has_conf_update",
744                    "i2c_master_has_arbitration_en",
745                    "i2c_master_has_tx_fifo_watermark",
746                    "i2c_master_bus_timeout_is_exponential",
747                    "i2c_master_max_bus_timeout=\"31\"",
748                    "i2c_master_ll_intr_mask=\"262143\"",
749                    "i2c_master_fifo_size=\"32\"",
750                    "interrupts_status_registers=\"2\"",
751                    "rmt_ram_start=\"1610703872\"",
752                    "rmt_channel_ram_size=\"48\"",
753                    "has_dram_region",
754                ],
755                cfgs: &[
756                    "cargo:rustc-cfg=esp32c3",
757                    "cargo:rustc-cfg=riscv",
758                    "cargo:rustc-cfg=single_core",
759                    "cargo:rustc-cfg=soc_has_aes",
760                    "cargo:rustc-cfg=soc_has_apb_ctrl",
761                    "cargo:rustc-cfg=soc_has_apb_saradc",
762                    "cargo:rustc-cfg=soc_has_assist_debug",
763                    "cargo:rustc-cfg=soc_has_bb",
764                    "cargo:rustc-cfg=soc_has_dma",
765                    "cargo:rustc-cfg=soc_has_ds",
766                    "cargo:rustc-cfg=soc_has_efuse",
767                    "cargo:rustc-cfg=soc_has_extmem",
768                    "cargo:rustc-cfg=soc_has_fe",
769                    "cargo:rustc-cfg=soc_has_fe2",
770                    "cargo:rustc-cfg=soc_has_gpio",
771                    "cargo:rustc-cfg=soc_has_gpio_sd",
772                    "cargo:rustc-cfg=soc_has_hmac",
773                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
774                    "cargo:rustc-cfg=soc_has_i2c0",
775                    "cargo:rustc-cfg=soc_has_i2s0",
776                    "cargo:rustc-cfg=soc_has_interrupt_core0",
777                    "cargo:rustc-cfg=soc_has_io_mux",
778                    "cargo:rustc-cfg=soc_has_ledc",
779                    "cargo:rustc-cfg=soc_has_nrx",
780                    "cargo:rustc-cfg=soc_has_rmt",
781                    "cargo:rustc-cfg=soc_has_rng",
782                    "cargo:rustc-cfg=soc_has_rsa",
783                    "cargo:rustc-cfg=soc_has_lpwr",
784                    "cargo:rustc-cfg=soc_has_sensitive",
785                    "cargo:rustc-cfg=soc_has_sha",
786                    "cargo:rustc-cfg=soc_has_spi0",
787                    "cargo:rustc-cfg=soc_has_spi1",
788                    "cargo:rustc-cfg=soc_has_spi2",
789                    "cargo:rustc-cfg=soc_has_system",
790                    "cargo:rustc-cfg=soc_has_systimer",
791                    "cargo:rustc-cfg=soc_has_timg0",
792                    "cargo:rustc-cfg=soc_has_timg1",
793                    "cargo:rustc-cfg=soc_has_twai0",
794                    "cargo:rustc-cfg=soc_has_uart0",
795                    "cargo:rustc-cfg=soc_has_uart1",
796                    "cargo:rustc-cfg=soc_has_uhci0",
797                    "cargo:rustc-cfg=soc_has_uhci1",
798                    "cargo:rustc-cfg=soc_has_usb_device",
799                    "cargo:rustc-cfg=soc_has_xts_aes",
800                    "cargo:rustc-cfg=soc_has_dma_ch0",
801                    "cargo:rustc-cfg=soc_has_dma_ch1",
802                    "cargo:rustc-cfg=soc_has_dma_ch2",
803                    "cargo:rustc-cfg=soc_has_adc1",
804                    "cargo:rustc-cfg=soc_has_adc2",
805                    "cargo:rustc-cfg=soc_has_bt",
806                    "cargo:rustc-cfg=soc_has_sw_interrupt",
807                    "cargo:rustc-cfg=soc_has_tsens",
808                    "cargo:rustc-cfg=soc_has_wifi",
809                    "cargo:rustc-cfg=gdma",
810                    "cargo:rustc-cfg=phy",
811                    "cargo:rustc-cfg=rom_crc_le",
812                    "cargo:rustc-cfg=rom_crc_be",
813                    "cargo:rustc-cfg=rom_md5_bsd",
814                    "cargo:rustc-cfg=pm_support_wifi_wakeup",
815                    "cargo:rustc-cfg=pm_support_bt_wakeup",
816                    "cargo:rustc-cfg=uart_support_wakeup_int",
817                    "cargo:rustc-cfg=gpio_support_deepsleep_wakeup",
818                    "cargo:rustc-cfg=adc",
819                    "cargo:rustc-cfg=aes",
820                    "cargo:rustc-cfg=assist_debug",
821                    "cargo:rustc-cfg=dma",
822                    "cargo:rustc-cfg=gpio",
823                    "cargo:rustc-cfg=hmac",
824                    "cargo:rustc-cfg=i2c_master",
825                    "cargo:rustc-cfg=i2s",
826                    "cargo:rustc-cfg=interrupts",
827                    "cargo:rustc-cfg=io_mux",
828                    "cargo:rustc-cfg=ledc",
829                    "cargo:rustc-cfg=rmt",
830                    "cargo:rustc-cfg=rng",
831                    "cargo:rustc-cfg=rsa",
832                    "cargo:rustc-cfg=sleep",
833                    "cargo:rustc-cfg=sha",
834                    "cargo:rustc-cfg=spi_master",
835                    "cargo:rustc-cfg=spi_slave",
836                    "cargo:rustc-cfg=systimer",
837                    "cargo:rustc-cfg=temp_sensor",
838                    "cargo:rustc-cfg=timergroup",
839                    "cargo:rustc-cfg=twai",
840                    "cargo:rustc-cfg=uart",
841                    "cargo:rustc-cfg=usb_serial_jtag",
842                    "cargo:rustc-cfg=wifi",
843                    "cargo:rustc-cfg=bt",
844                    "cargo:rustc-cfg=adc_adc1",
845                    "cargo:rustc-cfg=adc_adc2",
846                    "cargo:rustc-cfg=i2c_master_i2c0",
847                    "cargo:rustc-cfg=spi_master_spi2",
848                    "cargo:rustc-cfg=spi_slave_spi2",
849                    "cargo:rustc-cfg=timergroup_timg0",
850                    "cargo:rustc-cfg=timergroup_timg1",
851                    "cargo:rustc-cfg=uart_uart0",
852                    "cargo:rustc-cfg=uart_uart1",
853                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
854                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
855                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
856                    "cargo:rustc-cfg=gpio_constant_0_input=\"31\"",
857                    "cargo:rustc-cfg=gpio_constant_1_input=\"30\"",
858                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
859                    "cargo:rustc-cfg=gpio_input_signal_max=\"100\"",
860                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
861                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
862                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
863                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
864                    "cargo:rustc-cfg=i2c_master_has_conf_update",
865                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
866                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
867                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
868                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
869                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
870                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
871                    "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
872                    "cargo:rustc-cfg=rmt_ram_start=\"1610703872\"",
873                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
874                    "cargo:rustc-cfg=has_dram_region",
875                ],
876            },
877            Self::Esp32c6 => Config {
878                architecture: "riscv",
879                target: "riscv32imac-unknown-none-elf",
880                symbols: &[
881                    "esp32c6",
882                    "riscv",
883                    "single_core",
884                    "soc_has_aes",
885                    "soc_has_apb_saradc",
886                    "soc_has_assist_debug",
887                    "soc_has_atomic",
888                    "soc_has_dma",
889                    "soc_has_ds",
890                    "soc_has_ecc",
891                    "soc_has_efuse",
892                    "soc_has_extmem",
893                    "soc_has_gpio",
894                    "soc_has_gpio_sd",
895                    "soc_has_hinf",
896                    "soc_has_hmac",
897                    "soc_has_hp_apm",
898                    "soc_has_hp_sys",
899                    "soc_has_i2c_ana_mst",
900                    "soc_has_i2c0",
901                    "soc_has_i2s0",
902                    "soc_has_ieee802154",
903                    "soc_has_interrupt_core0",
904                    "soc_has_intpri",
905                    "soc_has_io_mux",
906                    "soc_has_ledc",
907                    "soc_has_lp_ana",
908                    "soc_has_lp_aon",
909                    "soc_has_lp_apm",
910                    "soc_has_lp_apm0",
911                    "soc_has_lp_clkrst",
912                    "soc_has_lp_i2c0",
913                    "soc_has_lp_i2c_ana_mst",
914                    "soc_has_lp_io",
915                    "soc_has_lp_peri",
916                    "soc_has_lp_tee",
917                    "soc_has_lp_timer",
918                    "soc_has_lp_uart",
919                    "soc_has_lp_wdt",
920                    "soc_has_lpwr",
921                    "soc_has_mcpwm0",
922                    "soc_has_mem_monitor",
923                    "soc_has_modem_lpcon",
924                    "soc_has_modem_syscon",
925                    "soc_has_otp_debug",
926                    "soc_has_parl_io",
927                    "soc_has_pau",
928                    "soc_has_pcnt",
929                    "soc_has_pcr",
930                    "soc_has_plic_mx",
931                    "soc_has_pmu",
932                    "soc_has_rmt",
933                    "soc_has_rng",
934                    "soc_has_rsa",
935                    "soc_has_sha",
936                    "soc_has_slchost",
937                    "soc_has_etm",
938                    "soc_has_spi0",
939                    "soc_has_spi1",
940                    "soc_has_spi2",
941                    "soc_has_system",
942                    "soc_has_systimer",
943                    "soc_has_tee",
944                    "soc_has_timg0",
945                    "soc_has_timg1",
946                    "soc_has_trace0",
947                    "soc_has_twai0",
948                    "soc_has_twai1",
949                    "soc_has_uart0",
950                    "soc_has_uart1",
951                    "soc_has_uhci0",
952                    "soc_has_usb_device",
953                    "soc_has_dma_ch0",
954                    "soc_has_dma_ch1",
955                    "soc_has_dma_ch2",
956                    "soc_has_adc1",
957                    "soc_has_bt",
958                    "soc_has_lp_core",
959                    "soc_has_sw_interrupt",
960                    "soc_has_tsens",
961                    "soc_has_wifi",
962                    "soc_has_mem2mem1",
963                    "soc_has_mem2mem4",
964                    "soc_has_mem2mem5",
965                    "soc_has_mem2mem10",
966                    "soc_has_mem2mem11",
967                    "soc_has_mem2mem12",
968                    "soc_has_mem2mem13",
969                    "soc_has_mem2mem14",
970                    "soc_has_mem2mem15",
971                    "gdma",
972                    "plic",
973                    "phy",
974                    "lp_core",
975                    "rom_crc_le",
976                    "rom_crc_be",
977                    "rom_md5_bsd",
978                    "pm_support_wifi_wakeup",
979                    "pm_support_beacon_wakeup",
980                    "pm_support_bt_wakeup",
981                    "gpio_support_deepsleep_wakeup",
982                    "uart_support_wakeup_int",
983                    "pm_support_ext1_wakeup",
984                    "adc",
985                    "aes",
986                    "assist_debug",
987                    "dma",
988                    "ecc",
989                    "etm",
990                    "gpio",
991                    "hmac",
992                    "i2c_master",
993                    "i2s",
994                    "interrupts",
995                    "io_mux",
996                    "ledc",
997                    "mcpwm",
998                    "parl_io",
999                    "pcnt",
1000                    "rmt",
1001                    "rng",
1002                    "rsa",
1003                    "sd_slave",
1004                    "sleep",
1005                    "sha",
1006                    "spi_master",
1007                    "spi_slave",
1008                    "systimer",
1009                    "temp_sensor",
1010                    "timergroup",
1011                    "twai",
1012                    "uart",
1013                    "ulp_riscv",
1014                    "usb_serial_jtag",
1015                    "wifi",
1016                    "bt",
1017                    "ieee802154",
1018                    "adc_adc1",
1019                    "i2c_master_i2c0",
1020                    "spi_master_spi2",
1021                    "spi_slave_spi2",
1022                    "timergroup_timg0",
1023                    "timergroup_timg1",
1024                    "uart_uart0",
1025                    "uart_uart1",
1026                    "assist_debug_has_sp_monitor",
1027                    "assist_debug_has_region_monitor",
1028                    "gpio_gpio_function=\"1\"",
1029                    "gpio_constant_0_input=\"60\"",
1030                    "gpio_constant_1_input=\"56\"",
1031                    "gpio_func_in_sel_offset=\"0\"",
1032                    "gpio_input_signal_max=\"124\"",
1033                    "gpio_output_signal_max=\"128\"",
1034                    "i2c_master_has_fsm_timeouts",
1035                    "i2c_master_has_hw_bus_clear",
1036                    "i2c_master_has_bus_timeout_enable",
1037                    "i2c_master_can_estimate_nack_reason",
1038                    "i2c_master_has_conf_update",
1039                    "i2c_master_has_reliable_fsm_reset",
1040                    "i2c_master_has_arbitration_en",
1041                    "i2c_master_has_tx_fifo_watermark",
1042                    "i2c_master_bus_timeout_is_exponential",
1043                    "i2c_master_max_bus_timeout=\"31\"",
1044                    "i2c_master_ll_intr_mask=\"262143\"",
1045                    "i2c_master_fifo_size=\"32\"",
1046                    "interrupts_status_registers=\"3\"",
1047                    "rmt_ram_start=\"1610638336\"",
1048                    "rmt_channel_ram_size=\"48\"",
1049                    "wifi_has_wifi6",
1050                    "has_dram_region",
1051                ],
1052                cfgs: &[
1053                    "cargo:rustc-cfg=esp32c6",
1054                    "cargo:rustc-cfg=riscv",
1055                    "cargo:rustc-cfg=single_core",
1056                    "cargo:rustc-cfg=soc_has_aes",
1057                    "cargo:rustc-cfg=soc_has_apb_saradc",
1058                    "cargo:rustc-cfg=soc_has_assist_debug",
1059                    "cargo:rustc-cfg=soc_has_atomic",
1060                    "cargo:rustc-cfg=soc_has_dma",
1061                    "cargo:rustc-cfg=soc_has_ds",
1062                    "cargo:rustc-cfg=soc_has_ecc",
1063                    "cargo:rustc-cfg=soc_has_efuse",
1064                    "cargo:rustc-cfg=soc_has_extmem",
1065                    "cargo:rustc-cfg=soc_has_gpio",
1066                    "cargo:rustc-cfg=soc_has_gpio_sd",
1067                    "cargo:rustc-cfg=soc_has_hinf",
1068                    "cargo:rustc-cfg=soc_has_hmac",
1069                    "cargo:rustc-cfg=soc_has_hp_apm",
1070                    "cargo:rustc-cfg=soc_has_hp_sys",
1071                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
1072                    "cargo:rustc-cfg=soc_has_i2c0",
1073                    "cargo:rustc-cfg=soc_has_i2s0",
1074                    "cargo:rustc-cfg=soc_has_ieee802154",
1075                    "cargo:rustc-cfg=soc_has_interrupt_core0",
1076                    "cargo:rustc-cfg=soc_has_intpri",
1077                    "cargo:rustc-cfg=soc_has_io_mux",
1078                    "cargo:rustc-cfg=soc_has_ledc",
1079                    "cargo:rustc-cfg=soc_has_lp_ana",
1080                    "cargo:rustc-cfg=soc_has_lp_aon",
1081                    "cargo:rustc-cfg=soc_has_lp_apm",
1082                    "cargo:rustc-cfg=soc_has_lp_apm0",
1083                    "cargo:rustc-cfg=soc_has_lp_clkrst",
1084                    "cargo:rustc-cfg=soc_has_lp_i2c0",
1085                    "cargo:rustc-cfg=soc_has_lp_i2c_ana_mst",
1086                    "cargo:rustc-cfg=soc_has_lp_io",
1087                    "cargo:rustc-cfg=soc_has_lp_peri",
1088                    "cargo:rustc-cfg=soc_has_lp_tee",
1089                    "cargo:rustc-cfg=soc_has_lp_timer",
1090                    "cargo:rustc-cfg=soc_has_lp_uart",
1091                    "cargo:rustc-cfg=soc_has_lp_wdt",
1092                    "cargo:rustc-cfg=soc_has_lpwr",
1093                    "cargo:rustc-cfg=soc_has_mcpwm0",
1094                    "cargo:rustc-cfg=soc_has_mem_monitor",
1095                    "cargo:rustc-cfg=soc_has_modem_lpcon",
1096                    "cargo:rustc-cfg=soc_has_modem_syscon",
1097                    "cargo:rustc-cfg=soc_has_otp_debug",
1098                    "cargo:rustc-cfg=soc_has_parl_io",
1099                    "cargo:rustc-cfg=soc_has_pau",
1100                    "cargo:rustc-cfg=soc_has_pcnt",
1101                    "cargo:rustc-cfg=soc_has_pcr",
1102                    "cargo:rustc-cfg=soc_has_plic_mx",
1103                    "cargo:rustc-cfg=soc_has_pmu",
1104                    "cargo:rustc-cfg=soc_has_rmt",
1105                    "cargo:rustc-cfg=soc_has_rng",
1106                    "cargo:rustc-cfg=soc_has_rsa",
1107                    "cargo:rustc-cfg=soc_has_sha",
1108                    "cargo:rustc-cfg=soc_has_slchost",
1109                    "cargo:rustc-cfg=soc_has_etm",
1110                    "cargo:rustc-cfg=soc_has_spi0",
1111                    "cargo:rustc-cfg=soc_has_spi1",
1112                    "cargo:rustc-cfg=soc_has_spi2",
1113                    "cargo:rustc-cfg=soc_has_system",
1114                    "cargo:rustc-cfg=soc_has_systimer",
1115                    "cargo:rustc-cfg=soc_has_tee",
1116                    "cargo:rustc-cfg=soc_has_timg0",
1117                    "cargo:rustc-cfg=soc_has_timg1",
1118                    "cargo:rustc-cfg=soc_has_trace0",
1119                    "cargo:rustc-cfg=soc_has_twai0",
1120                    "cargo:rustc-cfg=soc_has_twai1",
1121                    "cargo:rustc-cfg=soc_has_uart0",
1122                    "cargo:rustc-cfg=soc_has_uart1",
1123                    "cargo:rustc-cfg=soc_has_uhci0",
1124                    "cargo:rustc-cfg=soc_has_usb_device",
1125                    "cargo:rustc-cfg=soc_has_dma_ch0",
1126                    "cargo:rustc-cfg=soc_has_dma_ch1",
1127                    "cargo:rustc-cfg=soc_has_dma_ch2",
1128                    "cargo:rustc-cfg=soc_has_adc1",
1129                    "cargo:rustc-cfg=soc_has_bt",
1130                    "cargo:rustc-cfg=soc_has_lp_core",
1131                    "cargo:rustc-cfg=soc_has_sw_interrupt",
1132                    "cargo:rustc-cfg=soc_has_tsens",
1133                    "cargo:rustc-cfg=soc_has_wifi",
1134                    "cargo:rustc-cfg=soc_has_mem2mem1",
1135                    "cargo:rustc-cfg=soc_has_mem2mem4",
1136                    "cargo:rustc-cfg=soc_has_mem2mem5",
1137                    "cargo:rustc-cfg=soc_has_mem2mem10",
1138                    "cargo:rustc-cfg=soc_has_mem2mem11",
1139                    "cargo:rustc-cfg=soc_has_mem2mem12",
1140                    "cargo:rustc-cfg=soc_has_mem2mem13",
1141                    "cargo:rustc-cfg=soc_has_mem2mem14",
1142                    "cargo:rustc-cfg=soc_has_mem2mem15",
1143                    "cargo:rustc-cfg=gdma",
1144                    "cargo:rustc-cfg=plic",
1145                    "cargo:rustc-cfg=phy",
1146                    "cargo:rustc-cfg=lp_core",
1147                    "cargo:rustc-cfg=rom_crc_le",
1148                    "cargo:rustc-cfg=rom_crc_be",
1149                    "cargo:rustc-cfg=rom_md5_bsd",
1150                    "cargo:rustc-cfg=pm_support_wifi_wakeup",
1151                    "cargo:rustc-cfg=pm_support_beacon_wakeup",
1152                    "cargo:rustc-cfg=pm_support_bt_wakeup",
1153                    "cargo:rustc-cfg=gpio_support_deepsleep_wakeup",
1154                    "cargo:rustc-cfg=uart_support_wakeup_int",
1155                    "cargo:rustc-cfg=pm_support_ext1_wakeup",
1156                    "cargo:rustc-cfg=adc",
1157                    "cargo:rustc-cfg=aes",
1158                    "cargo:rustc-cfg=assist_debug",
1159                    "cargo:rustc-cfg=dma",
1160                    "cargo:rustc-cfg=ecc",
1161                    "cargo:rustc-cfg=etm",
1162                    "cargo:rustc-cfg=gpio",
1163                    "cargo:rustc-cfg=hmac",
1164                    "cargo:rustc-cfg=i2c_master",
1165                    "cargo:rustc-cfg=i2s",
1166                    "cargo:rustc-cfg=interrupts",
1167                    "cargo:rustc-cfg=io_mux",
1168                    "cargo:rustc-cfg=ledc",
1169                    "cargo:rustc-cfg=mcpwm",
1170                    "cargo:rustc-cfg=parl_io",
1171                    "cargo:rustc-cfg=pcnt",
1172                    "cargo:rustc-cfg=rmt",
1173                    "cargo:rustc-cfg=rng",
1174                    "cargo:rustc-cfg=rsa",
1175                    "cargo:rustc-cfg=sd_slave",
1176                    "cargo:rustc-cfg=sleep",
1177                    "cargo:rustc-cfg=sha",
1178                    "cargo:rustc-cfg=spi_master",
1179                    "cargo:rustc-cfg=spi_slave",
1180                    "cargo:rustc-cfg=systimer",
1181                    "cargo:rustc-cfg=temp_sensor",
1182                    "cargo:rustc-cfg=timergroup",
1183                    "cargo:rustc-cfg=twai",
1184                    "cargo:rustc-cfg=uart",
1185                    "cargo:rustc-cfg=ulp_riscv",
1186                    "cargo:rustc-cfg=usb_serial_jtag",
1187                    "cargo:rustc-cfg=wifi",
1188                    "cargo:rustc-cfg=bt",
1189                    "cargo:rustc-cfg=ieee802154",
1190                    "cargo:rustc-cfg=adc_adc1",
1191                    "cargo:rustc-cfg=i2c_master_i2c0",
1192                    "cargo:rustc-cfg=spi_master_spi2",
1193                    "cargo:rustc-cfg=spi_slave_spi2",
1194                    "cargo:rustc-cfg=timergroup_timg0",
1195                    "cargo:rustc-cfg=timergroup_timg1",
1196                    "cargo:rustc-cfg=uart_uart0",
1197                    "cargo:rustc-cfg=uart_uart1",
1198                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
1199                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
1200                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
1201                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
1202                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
1203                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
1204                    "cargo:rustc-cfg=gpio_input_signal_max=\"124\"",
1205                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
1206                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
1207                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
1208                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
1209                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
1210                    "cargo:rustc-cfg=i2c_master_has_conf_update",
1211                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
1212                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
1213                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
1214                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
1215                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
1216                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
1217                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
1218                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
1219                    "cargo:rustc-cfg=rmt_ram_start=\"1610638336\"",
1220                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
1221                    "cargo:rustc-cfg=wifi_has_wifi6",
1222                    "cargo:rustc-cfg=has_dram_region",
1223                ],
1224            },
1225            Self::Esp32h2 => Config {
1226                architecture: "riscv",
1227                target: "riscv32imac-unknown-none-elf",
1228                symbols: &[
1229                    "esp32h2",
1230                    "riscv",
1231                    "single_core",
1232                    "soc_has_aes",
1233                    "soc_has_apb_saradc",
1234                    "soc_has_assist_debug",
1235                    "soc_has_dma",
1236                    "soc_has_ds",
1237                    "soc_has_ecc",
1238                    "soc_has_efuse",
1239                    "soc_has_gpio",
1240                    "soc_has_gpio_sd",
1241                    "soc_has_hmac",
1242                    "soc_has_hp_apm",
1243                    "soc_has_hp_sys",
1244                    "soc_has_i2c_ana_mst",
1245                    "soc_has_i2c0",
1246                    "soc_has_i2c1",
1247                    "soc_has_i2s0",
1248                    "soc_has_ieee802154",
1249                    "soc_has_interrupt_core0",
1250                    "soc_has_intpri",
1251                    "soc_has_io_mux",
1252                    "soc_has_ledc",
1253                    "soc_has_lpwr",
1254                    "soc_has_lp_ana",
1255                    "soc_has_lp_aon",
1256                    "soc_has_lp_apm",
1257                    "soc_has_lp_apm0",
1258                    "soc_has_lp_clkrst",
1259                    "soc_has_lp_peri",
1260                    "soc_has_lp_timer",
1261                    "soc_has_lp_wdt",
1262                    "soc_has_mcpwm0",
1263                    "soc_has_mem_monitor",
1264                    "soc_has_modem_lpcon",
1265                    "soc_has_modem_syscon",
1266                    "soc_has_otp_debug",
1267                    "soc_has_parl_io",
1268                    "soc_has_pau",
1269                    "soc_has_pcnt",
1270                    "soc_has_pcr",
1271                    "soc_has_plic_mx",
1272                    "soc_has_pmu",
1273                    "soc_has_rmt",
1274                    "soc_has_rng",
1275                    "soc_has_rsa",
1276                    "soc_has_sha",
1277                    "soc_has_etm",
1278                    "soc_has_spi0",
1279                    "soc_has_spi1",
1280                    "soc_has_spi2",
1281                    "soc_has_system",
1282                    "soc_has_systimer",
1283                    "soc_has_tee",
1284                    "soc_has_timg0",
1285                    "soc_has_timg1",
1286                    "soc_has_trace0",
1287                    "soc_has_twai0",
1288                    "soc_has_uart0",
1289                    "soc_has_uart1",
1290                    "soc_has_uhci0",
1291                    "soc_has_usb_device",
1292                    "soc_has_dma_ch0",
1293                    "soc_has_dma_ch1",
1294                    "soc_has_dma_ch2",
1295                    "soc_has_adc1",
1296                    "soc_has_bt",
1297                    "soc_has_sw_interrupt",
1298                    "soc_has_mem2mem1",
1299                    "soc_has_mem2mem4",
1300                    "soc_has_mem2mem5",
1301                    "soc_has_mem2mem10",
1302                    "soc_has_mem2mem11",
1303                    "soc_has_mem2mem12",
1304                    "soc_has_mem2mem13",
1305                    "soc_has_mem2mem14",
1306                    "soc_has_mem2mem15",
1307                    "gdma",
1308                    "plic",
1309                    "phy",
1310                    "rom_crc_le",
1311                    "rom_crc_be",
1312                    "rom_md5_bsd",
1313                    "adc",
1314                    "aes",
1315                    "assist_debug",
1316                    "dma",
1317                    "ecc",
1318                    "etm",
1319                    "gpio",
1320                    "hmac",
1321                    "i2c_master",
1322                    "i2s",
1323                    "interrupts",
1324                    "io_mux",
1325                    "ledc",
1326                    "mcpwm",
1327                    "parl_io",
1328                    "pcnt",
1329                    "rmt",
1330                    "rng",
1331                    "rsa",
1332                    "sleep",
1333                    "sha",
1334                    "spi_master",
1335                    "spi_slave",
1336                    "systimer",
1337                    "temp_sensor",
1338                    "timergroup",
1339                    "twai",
1340                    "uart",
1341                    "usb_serial_jtag",
1342                    "bt",
1343                    "ieee802154",
1344                    "adc_adc1",
1345                    "i2c_master_i2c0",
1346                    "i2c_master_i2c1",
1347                    "spi_master_spi2",
1348                    "spi_slave_spi2",
1349                    "timergroup_timg0",
1350                    "timergroup_timg1",
1351                    "uart_uart0",
1352                    "uart_uart1",
1353                    "assist_debug_has_sp_monitor",
1354                    "assist_debug_has_region_monitor",
1355                    "gpio_gpio_function=\"1\"",
1356                    "gpio_constant_0_input=\"60\"",
1357                    "gpio_constant_1_input=\"56\"",
1358                    "gpio_func_in_sel_offset=\"0\"",
1359                    "gpio_input_signal_max=\"124\"",
1360                    "gpio_output_signal_max=\"128\"",
1361                    "i2c_master_has_fsm_timeouts",
1362                    "i2c_master_has_hw_bus_clear",
1363                    "i2c_master_has_bus_timeout_enable",
1364                    "i2c_master_can_estimate_nack_reason",
1365                    "i2c_master_has_conf_update",
1366                    "i2c_master_has_reliable_fsm_reset",
1367                    "i2c_master_has_arbitration_en",
1368                    "i2c_master_has_tx_fifo_watermark",
1369                    "i2c_master_bus_timeout_is_exponential",
1370                    "i2c_master_max_bus_timeout=\"31\"",
1371                    "i2c_master_ll_intr_mask=\"262143\"",
1372                    "i2c_master_fifo_size=\"32\"",
1373                    "interrupts_status_registers=\"2\"",
1374                    "rmt_ram_start=\"1610642432\"",
1375                    "rmt_channel_ram_size=\"48\"",
1376                    "has_dram_region",
1377                ],
1378                cfgs: &[
1379                    "cargo:rustc-cfg=esp32h2",
1380                    "cargo:rustc-cfg=riscv",
1381                    "cargo:rustc-cfg=single_core",
1382                    "cargo:rustc-cfg=soc_has_aes",
1383                    "cargo:rustc-cfg=soc_has_apb_saradc",
1384                    "cargo:rustc-cfg=soc_has_assist_debug",
1385                    "cargo:rustc-cfg=soc_has_dma",
1386                    "cargo:rustc-cfg=soc_has_ds",
1387                    "cargo:rustc-cfg=soc_has_ecc",
1388                    "cargo:rustc-cfg=soc_has_efuse",
1389                    "cargo:rustc-cfg=soc_has_gpio",
1390                    "cargo:rustc-cfg=soc_has_gpio_sd",
1391                    "cargo:rustc-cfg=soc_has_hmac",
1392                    "cargo:rustc-cfg=soc_has_hp_apm",
1393                    "cargo:rustc-cfg=soc_has_hp_sys",
1394                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
1395                    "cargo:rustc-cfg=soc_has_i2c0",
1396                    "cargo:rustc-cfg=soc_has_i2c1",
1397                    "cargo:rustc-cfg=soc_has_i2s0",
1398                    "cargo:rustc-cfg=soc_has_ieee802154",
1399                    "cargo:rustc-cfg=soc_has_interrupt_core0",
1400                    "cargo:rustc-cfg=soc_has_intpri",
1401                    "cargo:rustc-cfg=soc_has_io_mux",
1402                    "cargo:rustc-cfg=soc_has_ledc",
1403                    "cargo:rustc-cfg=soc_has_lpwr",
1404                    "cargo:rustc-cfg=soc_has_lp_ana",
1405                    "cargo:rustc-cfg=soc_has_lp_aon",
1406                    "cargo:rustc-cfg=soc_has_lp_apm",
1407                    "cargo:rustc-cfg=soc_has_lp_apm0",
1408                    "cargo:rustc-cfg=soc_has_lp_clkrst",
1409                    "cargo:rustc-cfg=soc_has_lp_peri",
1410                    "cargo:rustc-cfg=soc_has_lp_timer",
1411                    "cargo:rustc-cfg=soc_has_lp_wdt",
1412                    "cargo:rustc-cfg=soc_has_mcpwm0",
1413                    "cargo:rustc-cfg=soc_has_mem_monitor",
1414                    "cargo:rustc-cfg=soc_has_modem_lpcon",
1415                    "cargo:rustc-cfg=soc_has_modem_syscon",
1416                    "cargo:rustc-cfg=soc_has_otp_debug",
1417                    "cargo:rustc-cfg=soc_has_parl_io",
1418                    "cargo:rustc-cfg=soc_has_pau",
1419                    "cargo:rustc-cfg=soc_has_pcnt",
1420                    "cargo:rustc-cfg=soc_has_pcr",
1421                    "cargo:rustc-cfg=soc_has_plic_mx",
1422                    "cargo:rustc-cfg=soc_has_pmu",
1423                    "cargo:rustc-cfg=soc_has_rmt",
1424                    "cargo:rustc-cfg=soc_has_rng",
1425                    "cargo:rustc-cfg=soc_has_rsa",
1426                    "cargo:rustc-cfg=soc_has_sha",
1427                    "cargo:rustc-cfg=soc_has_etm",
1428                    "cargo:rustc-cfg=soc_has_spi0",
1429                    "cargo:rustc-cfg=soc_has_spi1",
1430                    "cargo:rustc-cfg=soc_has_spi2",
1431                    "cargo:rustc-cfg=soc_has_system",
1432                    "cargo:rustc-cfg=soc_has_systimer",
1433                    "cargo:rustc-cfg=soc_has_tee",
1434                    "cargo:rustc-cfg=soc_has_timg0",
1435                    "cargo:rustc-cfg=soc_has_timg1",
1436                    "cargo:rustc-cfg=soc_has_trace0",
1437                    "cargo:rustc-cfg=soc_has_twai0",
1438                    "cargo:rustc-cfg=soc_has_uart0",
1439                    "cargo:rustc-cfg=soc_has_uart1",
1440                    "cargo:rustc-cfg=soc_has_uhci0",
1441                    "cargo:rustc-cfg=soc_has_usb_device",
1442                    "cargo:rustc-cfg=soc_has_dma_ch0",
1443                    "cargo:rustc-cfg=soc_has_dma_ch1",
1444                    "cargo:rustc-cfg=soc_has_dma_ch2",
1445                    "cargo:rustc-cfg=soc_has_adc1",
1446                    "cargo:rustc-cfg=soc_has_bt",
1447                    "cargo:rustc-cfg=soc_has_sw_interrupt",
1448                    "cargo:rustc-cfg=soc_has_mem2mem1",
1449                    "cargo:rustc-cfg=soc_has_mem2mem4",
1450                    "cargo:rustc-cfg=soc_has_mem2mem5",
1451                    "cargo:rustc-cfg=soc_has_mem2mem10",
1452                    "cargo:rustc-cfg=soc_has_mem2mem11",
1453                    "cargo:rustc-cfg=soc_has_mem2mem12",
1454                    "cargo:rustc-cfg=soc_has_mem2mem13",
1455                    "cargo:rustc-cfg=soc_has_mem2mem14",
1456                    "cargo:rustc-cfg=soc_has_mem2mem15",
1457                    "cargo:rustc-cfg=gdma",
1458                    "cargo:rustc-cfg=plic",
1459                    "cargo:rustc-cfg=phy",
1460                    "cargo:rustc-cfg=rom_crc_le",
1461                    "cargo:rustc-cfg=rom_crc_be",
1462                    "cargo:rustc-cfg=rom_md5_bsd",
1463                    "cargo:rustc-cfg=adc",
1464                    "cargo:rustc-cfg=aes",
1465                    "cargo:rustc-cfg=assist_debug",
1466                    "cargo:rustc-cfg=dma",
1467                    "cargo:rustc-cfg=ecc",
1468                    "cargo:rustc-cfg=etm",
1469                    "cargo:rustc-cfg=gpio",
1470                    "cargo:rustc-cfg=hmac",
1471                    "cargo:rustc-cfg=i2c_master",
1472                    "cargo:rustc-cfg=i2s",
1473                    "cargo:rustc-cfg=interrupts",
1474                    "cargo:rustc-cfg=io_mux",
1475                    "cargo:rustc-cfg=ledc",
1476                    "cargo:rustc-cfg=mcpwm",
1477                    "cargo:rustc-cfg=parl_io",
1478                    "cargo:rustc-cfg=pcnt",
1479                    "cargo:rustc-cfg=rmt",
1480                    "cargo:rustc-cfg=rng",
1481                    "cargo:rustc-cfg=rsa",
1482                    "cargo:rustc-cfg=sleep",
1483                    "cargo:rustc-cfg=sha",
1484                    "cargo:rustc-cfg=spi_master",
1485                    "cargo:rustc-cfg=spi_slave",
1486                    "cargo:rustc-cfg=systimer",
1487                    "cargo:rustc-cfg=temp_sensor",
1488                    "cargo:rustc-cfg=timergroup",
1489                    "cargo:rustc-cfg=twai",
1490                    "cargo:rustc-cfg=uart",
1491                    "cargo:rustc-cfg=usb_serial_jtag",
1492                    "cargo:rustc-cfg=bt",
1493                    "cargo:rustc-cfg=ieee802154",
1494                    "cargo:rustc-cfg=adc_adc1",
1495                    "cargo:rustc-cfg=i2c_master_i2c0",
1496                    "cargo:rustc-cfg=i2c_master_i2c1",
1497                    "cargo:rustc-cfg=spi_master_spi2",
1498                    "cargo:rustc-cfg=spi_slave_spi2",
1499                    "cargo:rustc-cfg=timergroup_timg0",
1500                    "cargo:rustc-cfg=timergroup_timg1",
1501                    "cargo:rustc-cfg=uart_uart0",
1502                    "cargo:rustc-cfg=uart_uart1",
1503                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
1504                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
1505                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
1506                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
1507                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
1508                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
1509                    "cargo:rustc-cfg=gpio_input_signal_max=\"124\"",
1510                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
1511                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
1512                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
1513                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
1514                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
1515                    "cargo:rustc-cfg=i2c_master_has_conf_update",
1516                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
1517                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
1518                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
1519                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
1520                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
1521                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
1522                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
1523                    "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
1524                    "cargo:rustc-cfg=rmt_ram_start=\"1610642432\"",
1525                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
1526                    "cargo:rustc-cfg=has_dram_region",
1527                ],
1528            },
1529            Self::Esp32s2 => Config {
1530                architecture: "xtensa",
1531                target: "xtensa-esp32s2-none-elf",
1532                symbols: &[
1533                    "esp32s2",
1534                    "xtensa",
1535                    "single_core",
1536                    "soc_has_aes",
1537                    "soc_has_apb_saradc",
1538                    "soc_has_dedicated_gpio",
1539                    "soc_has_ds",
1540                    "soc_has_efuse",
1541                    "soc_has_extmem",
1542                    "soc_has_fe",
1543                    "soc_has_fe2",
1544                    "soc_has_gpio",
1545                    "soc_has_gpio_sd",
1546                    "soc_has_hmac",
1547                    "soc_has_i2c_ana_mst",
1548                    "soc_has_i2c0",
1549                    "soc_has_i2c1",
1550                    "soc_has_i2s0",
1551                    "soc_has_interrupt_core0",
1552                    "soc_has_io_mux",
1553                    "soc_has_ledc",
1554                    "soc_has_nrx",
1555                    "soc_has_pcnt",
1556                    "soc_has_pms",
1557                    "soc_has_rmt",
1558                    "soc_has_rng",
1559                    "soc_has_rsa",
1560                    "soc_has_lpwr",
1561                    "soc_has_rtc_i2c",
1562                    "soc_has_rtc_io",
1563                    "soc_has_sens",
1564                    "soc_has_sha",
1565                    "soc_has_spi0",
1566                    "soc_has_spi1",
1567                    "soc_has_spi2",
1568                    "soc_has_spi3",
1569                    "soc_has_syscon",
1570                    "soc_has_system",
1571                    "soc_has_systimer",
1572                    "soc_has_timg0",
1573                    "soc_has_timg1",
1574                    "soc_has_twai0",
1575                    "soc_has_uart0",
1576                    "soc_has_uart1",
1577                    "soc_has_uhci0",
1578                    "soc_has_usb0",
1579                    "soc_has_usb_wrap",
1580                    "soc_has_xts_aes",
1581                    "soc_has_wifi",
1582                    "soc_has_dma_spi2",
1583                    "soc_has_dma_spi3",
1584                    "soc_has_dma_i2s0",
1585                    "soc_has_dma_crypto",
1586                    "soc_has_dma_copy",
1587                    "soc_has_adc1",
1588                    "soc_has_adc2",
1589                    "soc_has_dac1",
1590                    "soc_has_dac2",
1591                    "soc_has_psram",
1592                    "soc_has_sw_interrupt",
1593                    "soc_has_ulp_riscv_core",
1594                    "pdma",
1595                    "phy",
1596                    "psram",
1597                    "psram_dma",
1598                    "ulp_riscv_core",
1599                    "soc_has_copy_dma",
1600                    "soc_has_crypto_dma",
1601                    "rom_crc_le",
1602                    "rom_md5_bsd",
1603                    "pm_support_ext0_wakeup",
1604                    "pm_support_ext1_wakeup",
1605                    "pm_support_touch_sensor_wakeup",
1606                    "pm_support_wifi_wakeup",
1607                    "uart_support_wakeup_int",
1608                    "ulp_supported",
1609                    "riscv_coproc_supported",
1610                    "adc",
1611                    "aes",
1612                    "dac",
1613                    "dma",
1614                    "gpio",
1615                    "hmac",
1616                    "i2c_master",
1617                    "i2s",
1618                    "interrupts",
1619                    "io_mux",
1620                    "ledc",
1621                    "pcnt",
1622                    "psram",
1623                    "rmt",
1624                    "rng",
1625                    "rsa",
1626                    "sleep",
1627                    "sha",
1628                    "spi_master",
1629                    "spi_slave",
1630                    "systimer",
1631                    "temp_sensor",
1632                    "timergroup",
1633                    "twai",
1634                    "uart",
1635                    "ulp_fsm",
1636                    "ulp_riscv",
1637                    "usb_otg",
1638                    "wifi",
1639                    "adc_adc1",
1640                    "adc_adc2",
1641                    "dac_dac1",
1642                    "dac_dac2",
1643                    "i2c_master_i2c0",
1644                    "i2c_master_i2c1",
1645                    "spi_master_spi2",
1646                    "spi_master_spi3",
1647                    "spi_slave_spi2",
1648                    "spi_slave_spi3",
1649                    "timergroup_timg0",
1650                    "timergroup_timg1",
1651                    "uart_uart0",
1652                    "uart_uart1",
1653                    "gpio_has_bank_1",
1654                    "gpio_gpio_function=\"1\"",
1655                    "gpio_constant_0_input=\"60\"",
1656                    "gpio_constant_1_input=\"56\"",
1657                    "gpio_func_in_sel_offset=\"0\"",
1658                    "gpio_input_signal_max=\"242\"",
1659                    "gpio_output_signal_max=\"256\"",
1660                    "i2c_master_has_bus_timeout_enable",
1661                    "i2c_master_separate_filter_config_registers",
1662                    "i2c_master_has_arbitration_en",
1663                    "i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
1664                    "i2c_master_max_bus_timeout=\"16777215\"",
1665                    "i2c_master_ll_intr_mask=\"131071\"",
1666                    "i2c_master_fifo_size=\"32\"",
1667                    "interrupts_status_registers=\"3\"",
1668                    "rmt_ram_start=\"1061250048\"",
1669                    "rmt_channel_ram_size=\"64\"",
1670                    "spi_master_has_octal",
1671                    "timergroup_timg_has_timer1",
1672                    "has_dram_region",
1673                ],
1674                cfgs: &[
1675                    "cargo:rustc-cfg=esp32s2",
1676                    "cargo:rustc-cfg=xtensa",
1677                    "cargo:rustc-cfg=single_core",
1678                    "cargo:rustc-cfg=soc_has_aes",
1679                    "cargo:rustc-cfg=soc_has_apb_saradc",
1680                    "cargo:rustc-cfg=soc_has_dedicated_gpio",
1681                    "cargo:rustc-cfg=soc_has_ds",
1682                    "cargo:rustc-cfg=soc_has_efuse",
1683                    "cargo:rustc-cfg=soc_has_extmem",
1684                    "cargo:rustc-cfg=soc_has_fe",
1685                    "cargo:rustc-cfg=soc_has_fe2",
1686                    "cargo:rustc-cfg=soc_has_gpio",
1687                    "cargo:rustc-cfg=soc_has_gpio_sd",
1688                    "cargo:rustc-cfg=soc_has_hmac",
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_interrupt_core0",
1694                    "cargo:rustc-cfg=soc_has_io_mux",
1695                    "cargo:rustc-cfg=soc_has_ledc",
1696                    "cargo:rustc-cfg=soc_has_nrx",
1697                    "cargo:rustc-cfg=soc_has_pcnt",
1698                    "cargo:rustc-cfg=soc_has_pms",
1699                    "cargo:rustc-cfg=soc_has_rmt",
1700                    "cargo:rustc-cfg=soc_has_rng",
1701                    "cargo:rustc-cfg=soc_has_rsa",
1702                    "cargo:rustc-cfg=soc_has_lpwr",
1703                    "cargo:rustc-cfg=soc_has_rtc_i2c",
1704                    "cargo:rustc-cfg=soc_has_rtc_io",
1705                    "cargo:rustc-cfg=soc_has_sens",
1706                    "cargo:rustc-cfg=soc_has_sha",
1707                    "cargo:rustc-cfg=soc_has_spi0",
1708                    "cargo:rustc-cfg=soc_has_spi1",
1709                    "cargo:rustc-cfg=soc_has_spi2",
1710                    "cargo:rustc-cfg=soc_has_spi3",
1711                    "cargo:rustc-cfg=soc_has_syscon",
1712                    "cargo:rustc-cfg=soc_has_system",
1713                    "cargo:rustc-cfg=soc_has_systimer",
1714                    "cargo:rustc-cfg=soc_has_timg0",
1715                    "cargo:rustc-cfg=soc_has_timg1",
1716                    "cargo:rustc-cfg=soc_has_twai0",
1717                    "cargo:rustc-cfg=soc_has_uart0",
1718                    "cargo:rustc-cfg=soc_has_uart1",
1719                    "cargo:rustc-cfg=soc_has_uhci0",
1720                    "cargo:rustc-cfg=soc_has_usb0",
1721                    "cargo:rustc-cfg=soc_has_usb_wrap",
1722                    "cargo:rustc-cfg=soc_has_xts_aes",
1723                    "cargo:rustc-cfg=soc_has_wifi",
1724                    "cargo:rustc-cfg=soc_has_dma_spi2",
1725                    "cargo:rustc-cfg=soc_has_dma_spi3",
1726                    "cargo:rustc-cfg=soc_has_dma_i2s0",
1727                    "cargo:rustc-cfg=soc_has_dma_crypto",
1728                    "cargo:rustc-cfg=soc_has_dma_copy",
1729                    "cargo:rustc-cfg=soc_has_adc1",
1730                    "cargo:rustc-cfg=soc_has_adc2",
1731                    "cargo:rustc-cfg=soc_has_dac1",
1732                    "cargo:rustc-cfg=soc_has_dac2",
1733                    "cargo:rustc-cfg=soc_has_psram",
1734                    "cargo:rustc-cfg=soc_has_sw_interrupt",
1735                    "cargo:rustc-cfg=soc_has_ulp_riscv_core",
1736                    "cargo:rustc-cfg=pdma",
1737                    "cargo:rustc-cfg=phy",
1738                    "cargo:rustc-cfg=psram",
1739                    "cargo:rustc-cfg=psram_dma",
1740                    "cargo:rustc-cfg=ulp_riscv_core",
1741                    "cargo:rustc-cfg=soc_has_copy_dma",
1742                    "cargo:rustc-cfg=soc_has_crypto_dma",
1743                    "cargo:rustc-cfg=rom_crc_le",
1744                    "cargo:rustc-cfg=rom_md5_bsd",
1745                    "cargo:rustc-cfg=pm_support_ext0_wakeup",
1746                    "cargo:rustc-cfg=pm_support_ext1_wakeup",
1747                    "cargo:rustc-cfg=pm_support_touch_sensor_wakeup",
1748                    "cargo:rustc-cfg=pm_support_wifi_wakeup",
1749                    "cargo:rustc-cfg=uart_support_wakeup_int",
1750                    "cargo:rustc-cfg=ulp_supported",
1751                    "cargo:rustc-cfg=riscv_coproc_supported",
1752                    "cargo:rustc-cfg=adc",
1753                    "cargo:rustc-cfg=aes",
1754                    "cargo:rustc-cfg=dac",
1755                    "cargo:rustc-cfg=dma",
1756                    "cargo:rustc-cfg=gpio",
1757                    "cargo:rustc-cfg=hmac",
1758                    "cargo:rustc-cfg=i2c_master",
1759                    "cargo:rustc-cfg=i2s",
1760                    "cargo:rustc-cfg=interrupts",
1761                    "cargo:rustc-cfg=io_mux",
1762                    "cargo:rustc-cfg=ledc",
1763                    "cargo:rustc-cfg=pcnt",
1764                    "cargo:rustc-cfg=psram",
1765                    "cargo:rustc-cfg=rmt",
1766                    "cargo:rustc-cfg=rng",
1767                    "cargo:rustc-cfg=rsa",
1768                    "cargo:rustc-cfg=sleep",
1769                    "cargo:rustc-cfg=sha",
1770                    "cargo:rustc-cfg=spi_master",
1771                    "cargo:rustc-cfg=spi_slave",
1772                    "cargo:rustc-cfg=systimer",
1773                    "cargo:rustc-cfg=temp_sensor",
1774                    "cargo:rustc-cfg=timergroup",
1775                    "cargo:rustc-cfg=twai",
1776                    "cargo:rustc-cfg=uart",
1777                    "cargo:rustc-cfg=ulp_fsm",
1778                    "cargo:rustc-cfg=ulp_riscv",
1779                    "cargo:rustc-cfg=usb_otg",
1780                    "cargo:rustc-cfg=wifi",
1781                    "cargo:rustc-cfg=adc_adc1",
1782                    "cargo:rustc-cfg=adc_adc2",
1783                    "cargo:rustc-cfg=dac_dac1",
1784                    "cargo:rustc-cfg=dac_dac2",
1785                    "cargo:rustc-cfg=i2c_master_i2c0",
1786                    "cargo:rustc-cfg=i2c_master_i2c1",
1787                    "cargo:rustc-cfg=spi_master_spi2",
1788                    "cargo:rustc-cfg=spi_master_spi3",
1789                    "cargo:rustc-cfg=spi_slave_spi2",
1790                    "cargo:rustc-cfg=spi_slave_spi3",
1791                    "cargo:rustc-cfg=timergroup_timg0",
1792                    "cargo:rustc-cfg=timergroup_timg1",
1793                    "cargo:rustc-cfg=uart_uart0",
1794                    "cargo:rustc-cfg=uart_uart1",
1795                    "cargo:rustc-cfg=gpio_has_bank_1",
1796                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
1797                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
1798                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
1799                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
1800                    "cargo:rustc-cfg=gpio_input_signal_max=\"242\"",
1801                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
1802                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
1803                    "cargo:rustc-cfg=i2c_master_separate_filter_config_registers",
1804                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
1805                    "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
1806                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"16777215\"",
1807                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"131071\"",
1808                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
1809                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
1810                    "cargo:rustc-cfg=rmt_ram_start=\"1061250048\"",
1811                    "cargo:rustc-cfg=rmt_channel_ram_size=\"64\"",
1812                    "cargo:rustc-cfg=spi_master_has_octal",
1813                    "cargo:rustc-cfg=timergroup_timg_has_timer1",
1814                    "cargo:rustc-cfg=has_dram_region",
1815                ],
1816            },
1817            Self::Esp32s3 => Config {
1818                architecture: "xtensa",
1819                target: "xtensa-esp32s3-none-elf",
1820                symbols: &[
1821                    "esp32s3",
1822                    "xtensa",
1823                    "multi_core",
1824                    "soc_has_aes",
1825                    "soc_has_apb_ctrl",
1826                    "soc_has_apb_saradc",
1827                    "soc_has_assist_debug",
1828                    "soc_has_dma",
1829                    "soc_has_ds",
1830                    "soc_has_efuse",
1831                    "soc_has_extmem",
1832                    "soc_has_gpio",
1833                    "soc_has_gpio_sd",
1834                    "soc_has_hmac",
1835                    "soc_has_i2c0",
1836                    "soc_has_i2c1",
1837                    "soc_has_i2s0",
1838                    "soc_has_i2s1",
1839                    "soc_has_interrupt_core0",
1840                    "soc_has_interrupt_core1",
1841                    "soc_has_io_mux",
1842                    "soc_has_lcd_cam",
1843                    "soc_has_ledc",
1844                    "soc_has_lpwr",
1845                    "soc_has_mcpwm0",
1846                    "soc_has_mcpwm1",
1847                    "soc_has_pcnt",
1848                    "soc_has_peri_backup",
1849                    "soc_has_rmt",
1850                    "soc_has_rng",
1851                    "soc_has_rsa",
1852                    "soc_has_rtc_cntl",
1853                    "soc_has_rtc_i2c",
1854                    "soc_has_rtc_io",
1855                    "soc_has_sdhost",
1856                    "soc_has_sens",
1857                    "soc_has_sensitive",
1858                    "soc_has_sha",
1859                    "soc_has_spi0",
1860                    "soc_has_spi1",
1861                    "soc_has_spi2",
1862                    "soc_has_spi3",
1863                    "soc_has_system",
1864                    "soc_has_systimer",
1865                    "soc_has_timg0",
1866                    "soc_has_timg1",
1867                    "soc_has_twai0",
1868                    "soc_has_uart0",
1869                    "soc_has_uart1",
1870                    "soc_has_uart2",
1871                    "soc_has_uhci0",
1872                    "soc_has_uhci1",
1873                    "soc_has_usb0",
1874                    "soc_has_usb_device",
1875                    "soc_has_usb_wrap",
1876                    "soc_has_wcl",
1877                    "soc_has_xts_aes",
1878                    "soc_has_dma_ch0",
1879                    "soc_has_dma_ch1",
1880                    "soc_has_dma_ch2",
1881                    "soc_has_dma_ch3",
1882                    "soc_has_dma_ch4",
1883                    "soc_has_adc1",
1884                    "soc_has_adc2",
1885                    "soc_has_bt",
1886                    "soc_has_cpu_ctrl",
1887                    "soc_has_psram",
1888                    "soc_has_sw_interrupt",
1889                    "soc_has_ulp_riscv_core",
1890                    "soc_has_wifi",
1891                    "gdma",
1892                    "phy",
1893                    "psram",
1894                    "psram_dma",
1895                    "octal_psram",
1896                    "ulp_riscv_core",
1897                    "rom_crc_le",
1898                    "rom_crc_be",
1899                    "rom_md5_bsd",
1900                    "pm_support_ext0_wakeup",
1901                    "pm_support_ext1_wakeup",
1902                    "pm_support_touch_sensor_wakeup",
1903                    "pm_support_wifi_wakeup",
1904                    "pm_support_bt_wakeup",
1905                    "uart_support_wakeup_int",
1906                    "ulp_supported",
1907                    "riscv_coproc_supported",
1908                    "adc",
1909                    "aes",
1910                    "assist_debug",
1911                    "dma",
1912                    "gpio",
1913                    "hmac",
1914                    "i2c_master",
1915                    "i2s",
1916                    "interrupts",
1917                    "io_mux",
1918                    "camera",
1919                    "rgb_display",
1920                    "ledc",
1921                    "mcpwm",
1922                    "pcnt",
1923                    "psram",
1924                    "rmt",
1925                    "rng",
1926                    "rsa",
1927                    "sd_host",
1928                    "sleep",
1929                    "sha",
1930                    "spi_master",
1931                    "spi_slave",
1932                    "systimer",
1933                    "temp_sensor",
1934                    "timergroup",
1935                    "twai",
1936                    "uart",
1937                    "ulp_fsm",
1938                    "ulp_riscv",
1939                    "usb_otg",
1940                    "usb_serial_jtag",
1941                    "wifi",
1942                    "bt",
1943                    "adc_adc1",
1944                    "adc_adc2",
1945                    "i2c_master_i2c0",
1946                    "i2c_master_i2c1",
1947                    "spi_master_spi2",
1948                    "spi_master_spi3",
1949                    "spi_slave_spi2",
1950                    "spi_slave_spi3",
1951                    "timergroup_timg0",
1952                    "timergroup_timg1",
1953                    "uart_uart0",
1954                    "uart_uart1",
1955                    "uart_uart2",
1956                    "assist_debug_has_region_monitor",
1957                    "gpio_has_bank_1",
1958                    "gpio_gpio_function=\"1\"",
1959                    "gpio_constant_0_input=\"60\"",
1960                    "gpio_constant_1_input=\"56\"",
1961                    "gpio_func_in_sel_offset=\"0\"",
1962                    "gpio_input_signal_max=\"255\"",
1963                    "gpio_output_signal_max=\"256\"",
1964                    "i2c_master_has_fsm_timeouts",
1965                    "i2c_master_has_hw_bus_clear",
1966                    "i2c_master_has_bus_timeout_enable",
1967                    "i2c_master_can_estimate_nack_reason",
1968                    "i2c_master_has_conf_update",
1969                    "i2c_master_has_arbitration_en",
1970                    "i2c_master_has_tx_fifo_watermark",
1971                    "i2c_master_bus_timeout_is_exponential",
1972                    "i2c_master_max_bus_timeout=\"31\"",
1973                    "i2c_master_ll_intr_mask=\"262143\"",
1974                    "i2c_master_fifo_size=\"32\"",
1975                    "interrupts_status_registers=\"4\"",
1976                    "rmt_ram_start=\"1610704896\"",
1977                    "rmt_channel_ram_size=\"48\"",
1978                    "spi_master_has_octal",
1979                    "timergroup_timg_has_timer1",
1980                    "has_dram_region",
1981                ],
1982                cfgs: &[
1983                    "cargo:rustc-cfg=esp32s3",
1984                    "cargo:rustc-cfg=xtensa",
1985                    "cargo:rustc-cfg=multi_core",
1986                    "cargo:rustc-cfg=soc_has_aes",
1987                    "cargo:rustc-cfg=soc_has_apb_ctrl",
1988                    "cargo:rustc-cfg=soc_has_apb_saradc",
1989                    "cargo:rustc-cfg=soc_has_assist_debug",
1990                    "cargo:rustc-cfg=soc_has_dma",
1991                    "cargo:rustc-cfg=soc_has_ds",
1992                    "cargo:rustc-cfg=soc_has_efuse",
1993                    "cargo:rustc-cfg=soc_has_extmem",
1994                    "cargo:rustc-cfg=soc_has_gpio",
1995                    "cargo:rustc-cfg=soc_has_gpio_sd",
1996                    "cargo:rustc-cfg=soc_has_hmac",
1997                    "cargo:rustc-cfg=soc_has_i2c0",
1998                    "cargo:rustc-cfg=soc_has_i2c1",
1999                    "cargo:rustc-cfg=soc_has_i2s0",
2000                    "cargo:rustc-cfg=soc_has_i2s1",
2001                    "cargo:rustc-cfg=soc_has_interrupt_core0",
2002                    "cargo:rustc-cfg=soc_has_interrupt_core1",
2003                    "cargo:rustc-cfg=soc_has_io_mux",
2004                    "cargo:rustc-cfg=soc_has_lcd_cam",
2005                    "cargo:rustc-cfg=soc_has_ledc",
2006                    "cargo:rustc-cfg=soc_has_lpwr",
2007                    "cargo:rustc-cfg=soc_has_mcpwm0",
2008                    "cargo:rustc-cfg=soc_has_mcpwm1",
2009                    "cargo:rustc-cfg=soc_has_pcnt",
2010                    "cargo:rustc-cfg=soc_has_peri_backup",
2011                    "cargo:rustc-cfg=soc_has_rmt",
2012                    "cargo:rustc-cfg=soc_has_rng",
2013                    "cargo:rustc-cfg=soc_has_rsa",
2014                    "cargo:rustc-cfg=soc_has_rtc_cntl",
2015                    "cargo:rustc-cfg=soc_has_rtc_i2c",
2016                    "cargo:rustc-cfg=soc_has_rtc_io",
2017                    "cargo:rustc-cfg=soc_has_sdhost",
2018                    "cargo:rustc-cfg=soc_has_sens",
2019                    "cargo:rustc-cfg=soc_has_sensitive",
2020                    "cargo:rustc-cfg=soc_has_sha",
2021                    "cargo:rustc-cfg=soc_has_spi0",
2022                    "cargo:rustc-cfg=soc_has_spi1",
2023                    "cargo:rustc-cfg=soc_has_spi2",
2024                    "cargo:rustc-cfg=soc_has_spi3",
2025                    "cargo:rustc-cfg=soc_has_system",
2026                    "cargo:rustc-cfg=soc_has_systimer",
2027                    "cargo:rustc-cfg=soc_has_timg0",
2028                    "cargo:rustc-cfg=soc_has_timg1",
2029                    "cargo:rustc-cfg=soc_has_twai0",
2030                    "cargo:rustc-cfg=soc_has_uart0",
2031                    "cargo:rustc-cfg=soc_has_uart1",
2032                    "cargo:rustc-cfg=soc_has_uart2",
2033                    "cargo:rustc-cfg=soc_has_uhci0",
2034                    "cargo:rustc-cfg=soc_has_uhci1",
2035                    "cargo:rustc-cfg=soc_has_usb0",
2036                    "cargo:rustc-cfg=soc_has_usb_device",
2037                    "cargo:rustc-cfg=soc_has_usb_wrap",
2038                    "cargo:rustc-cfg=soc_has_wcl",
2039                    "cargo:rustc-cfg=soc_has_xts_aes",
2040                    "cargo:rustc-cfg=soc_has_dma_ch0",
2041                    "cargo:rustc-cfg=soc_has_dma_ch1",
2042                    "cargo:rustc-cfg=soc_has_dma_ch2",
2043                    "cargo:rustc-cfg=soc_has_dma_ch3",
2044                    "cargo:rustc-cfg=soc_has_dma_ch4",
2045                    "cargo:rustc-cfg=soc_has_adc1",
2046                    "cargo:rustc-cfg=soc_has_adc2",
2047                    "cargo:rustc-cfg=soc_has_bt",
2048                    "cargo:rustc-cfg=soc_has_cpu_ctrl",
2049                    "cargo:rustc-cfg=soc_has_psram",
2050                    "cargo:rustc-cfg=soc_has_sw_interrupt",
2051                    "cargo:rustc-cfg=soc_has_ulp_riscv_core",
2052                    "cargo:rustc-cfg=soc_has_wifi",
2053                    "cargo:rustc-cfg=gdma",
2054                    "cargo:rustc-cfg=phy",
2055                    "cargo:rustc-cfg=psram",
2056                    "cargo:rustc-cfg=psram_dma",
2057                    "cargo:rustc-cfg=octal_psram",
2058                    "cargo:rustc-cfg=ulp_riscv_core",
2059                    "cargo:rustc-cfg=rom_crc_le",
2060                    "cargo:rustc-cfg=rom_crc_be",
2061                    "cargo:rustc-cfg=rom_md5_bsd",
2062                    "cargo:rustc-cfg=pm_support_ext0_wakeup",
2063                    "cargo:rustc-cfg=pm_support_ext1_wakeup",
2064                    "cargo:rustc-cfg=pm_support_touch_sensor_wakeup",
2065                    "cargo:rustc-cfg=pm_support_wifi_wakeup",
2066                    "cargo:rustc-cfg=pm_support_bt_wakeup",
2067                    "cargo:rustc-cfg=uart_support_wakeup_int",
2068                    "cargo:rustc-cfg=ulp_supported",
2069                    "cargo:rustc-cfg=riscv_coproc_supported",
2070                    "cargo:rustc-cfg=adc",
2071                    "cargo:rustc-cfg=aes",
2072                    "cargo:rustc-cfg=assist_debug",
2073                    "cargo:rustc-cfg=dma",
2074                    "cargo:rustc-cfg=gpio",
2075                    "cargo:rustc-cfg=hmac",
2076                    "cargo:rustc-cfg=i2c_master",
2077                    "cargo:rustc-cfg=i2s",
2078                    "cargo:rustc-cfg=interrupts",
2079                    "cargo:rustc-cfg=io_mux",
2080                    "cargo:rustc-cfg=camera",
2081                    "cargo:rustc-cfg=rgb_display",
2082                    "cargo:rustc-cfg=ledc",
2083                    "cargo:rustc-cfg=mcpwm",
2084                    "cargo:rustc-cfg=pcnt",
2085                    "cargo:rustc-cfg=psram",
2086                    "cargo:rustc-cfg=rmt",
2087                    "cargo:rustc-cfg=rng",
2088                    "cargo:rustc-cfg=rsa",
2089                    "cargo:rustc-cfg=sd_host",
2090                    "cargo:rustc-cfg=sleep",
2091                    "cargo:rustc-cfg=sha",
2092                    "cargo:rustc-cfg=spi_master",
2093                    "cargo:rustc-cfg=spi_slave",
2094                    "cargo:rustc-cfg=systimer",
2095                    "cargo:rustc-cfg=temp_sensor",
2096                    "cargo:rustc-cfg=timergroup",
2097                    "cargo:rustc-cfg=twai",
2098                    "cargo:rustc-cfg=uart",
2099                    "cargo:rustc-cfg=ulp_fsm",
2100                    "cargo:rustc-cfg=ulp_riscv",
2101                    "cargo:rustc-cfg=usb_otg",
2102                    "cargo:rustc-cfg=usb_serial_jtag",
2103                    "cargo:rustc-cfg=wifi",
2104                    "cargo:rustc-cfg=bt",
2105                    "cargo:rustc-cfg=adc_adc1",
2106                    "cargo:rustc-cfg=adc_adc2",
2107                    "cargo:rustc-cfg=i2c_master_i2c0",
2108                    "cargo:rustc-cfg=i2c_master_i2c1",
2109                    "cargo:rustc-cfg=spi_master_spi2",
2110                    "cargo:rustc-cfg=spi_master_spi3",
2111                    "cargo:rustc-cfg=spi_slave_spi2",
2112                    "cargo:rustc-cfg=spi_slave_spi3",
2113                    "cargo:rustc-cfg=timergroup_timg0",
2114                    "cargo:rustc-cfg=timergroup_timg1",
2115                    "cargo:rustc-cfg=uart_uart0",
2116                    "cargo:rustc-cfg=uart_uart1",
2117                    "cargo:rustc-cfg=uart_uart2",
2118                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
2119                    "cargo:rustc-cfg=gpio_has_bank_1",
2120                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
2121                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
2122                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
2123                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
2124                    "cargo:rustc-cfg=gpio_input_signal_max=\"255\"",
2125                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
2126                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
2127                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
2128                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
2129                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
2130                    "cargo:rustc-cfg=i2c_master_has_conf_update",
2131                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
2132                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
2133                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
2134                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
2135                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
2136                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
2137                    "cargo:rustc-cfg=interrupts_status_registers=\"4\"",
2138                    "cargo:rustc-cfg=rmt_ram_start=\"1610704896\"",
2139                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
2140                    "cargo:rustc-cfg=spi_master_has_octal",
2141                    "cargo:rustc-cfg=timergroup_timg_has_timer1",
2142                    "cargo:rustc-cfg=has_dram_region",
2143                ],
2144            },
2145        }
2146    }
2147}
2148struct Config {
2149    architecture: &'static str,
2150    target: &'static str,
2151    symbols: &'static [&'static str],
2152    cfgs: &'static [&'static str],
2153}
2154impl Config {
2155    fn define_cfgs(&self) {
2156        println!("cargo:rustc-check-cfg=cfg(not_really_docsrs)");
2157        println!("cargo:rustc-check-cfg=cfg(esp32)");
2158        println!("cargo:rustc-check-cfg=cfg(xtensa)");
2159        println!("cargo:rustc-check-cfg=cfg(multi_core)");
2160        println!("cargo:rustc-check-cfg=cfg(soc_has_aes)");
2161        println!("cargo:rustc-check-cfg=cfg(soc_has_apb_ctrl)");
2162        println!("cargo:rustc-check-cfg=cfg(soc_has_bb)");
2163        println!("cargo:rustc-check-cfg=cfg(soc_has_dport)");
2164        println!("cargo:rustc-check-cfg=cfg(soc_has_system)");
2165        println!("cargo:rustc-check-cfg=cfg(soc_has_efuse)");
2166        println!("cargo:rustc-check-cfg=cfg(soc_has_emac_dma)");
2167        println!("cargo:rustc-check-cfg=cfg(soc_has_emac_ext)");
2168        println!("cargo:rustc-check-cfg=cfg(soc_has_emac_mac)");
2169        println!("cargo:rustc-check-cfg=cfg(soc_has_flash_encryption)");
2170        println!("cargo:rustc-check-cfg=cfg(soc_has_frc_timer)");
2171        println!("cargo:rustc-check-cfg=cfg(soc_has_gpio)");
2172        println!("cargo:rustc-check-cfg=cfg(soc_has_gpio_sd)");
2173        println!("cargo:rustc-check-cfg=cfg(soc_has_hinf)");
2174        println!("cargo:rustc-check-cfg=cfg(soc_has_i2c0)");
2175        println!("cargo:rustc-check-cfg=cfg(soc_has_i2c1)");
2176        println!("cargo:rustc-check-cfg=cfg(soc_has_i2s0)");
2177        println!("cargo:rustc-check-cfg=cfg(soc_has_i2s1)");
2178        println!("cargo:rustc-check-cfg=cfg(soc_has_io_mux)");
2179        println!("cargo:rustc-check-cfg=cfg(soc_has_ledc)");
2180        println!("cargo:rustc-check-cfg=cfg(soc_has_mcpwm0)");
2181        println!("cargo:rustc-check-cfg=cfg(soc_has_mcpwm1)");
2182        println!("cargo:rustc-check-cfg=cfg(soc_has_nrx)");
2183        println!("cargo:rustc-check-cfg=cfg(soc_has_pcnt)");
2184        println!("cargo:rustc-check-cfg=cfg(soc_has_rmt)");
2185        println!("cargo:rustc-check-cfg=cfg(soc_has_rng)");
2186        println!("cargo:rustc-check-cfg=cfg(soc_has_rsa)");
2187        println!("cargo:rustc-check-cfg=cfg(soc_has_lpwr)");
2188        println!("cargo:rustc-check-cfg=cfg(soc_has_rtc_i2c)");
2189        println!("cargo:rustc-check-cfg=cfg(soc_has_rtc_io)");
2190        println!("cargo:rustc-check-cfg=cfg(soc_has_sdhost)");
2191        println!("cargo:rustc-check-cfg=cfg(soc_has_sens)");
2192        println!("cargo:rustc-check-cfg=cfg(soc_has_sha)");
2193        println!("cargo:rustc-check-cfg=cfg(soc_has_slc)");
2194        println!("cargo:rustc-check-cfg=cfg(soc_has_slchost)");
2195        println!("cargo:rustc-check-cfg=cfg(soc_has_spi0)");
2196        println!("cargo:rustc-check-cfg=cfg(soc_has_spi1)");
2197        println!("cargo:rustc-check-cfg=cfg(soc_has_spi2)");
2198        println!("cargo:rustc-check-cfg=cfg(soc_has_spi3)");
2199        println!("cargo:rustc-check-cfg=cfg(soc_has_timg0)");
2200        println!("cargo:rustc-check-cfg=cfg(soc_has_timg1)");
2201        println!("cargo:rustc-check-cfg=cfg(soc_has_twai0)");
2202        println!("cargo:rustc-check-cfg=cfg(soc_has_uart0)");
2203        println!("cargo:rustc-check-cfg=cfg(soc_has_uart1)");
2204        println!("cargo:rustc-check-cfg=cfg(soc_has_uart2)");
2205        println!("cargo:rustc-check-cfg=cfg(soc_has_uhci0)");
2206        println!("cargo:rustc-check-cfg=cfg(soc_has_uhci1)");
2207        println!("cargo:rustc-check-cfg=cfg(soc_has_wifi)");
2208        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_spi2)");
2209        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_spi3)");
2210        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_i2s0)");
2211        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_i2s1)");
2212        println!("cargo:rustc-check-cfg=cfg(soc_has_adc1)");
2213        println!("cargo:rustc-check-cfg=cfg(soc_has_adc2)");
2214        println!("cargo:rustc-check-cfg=cfg(soc_has_bt)");
2215        println!("cargo:rustc-check-cfg=cfg(soc_has_cpu_ctrl)");
2216        println!("cargo:rustc-check-cfg=cfg(soc_has_dac1)");
2217        println!("cargo:rustc-check-cfg=cfg(soc_has_dac2)");
2218        println!("cargo:rustc-check-cfg=cfg(soc_has_psram)");
2219        println!("cargo:rustc-check-cfg=cfg(soc_has_sw_interrupt)");
2220        println!("cargo:rustc-check-cfg=cfg(soc_has_touch)");
2221        println!("cargo:rustc-check-cfg=cfg(pdma)");
2222        println!("cargo:rustc-check-cfg=cfg(phy)");
2223        println!("cargo:rustc-check-cfg=cfg(psram)");
2224        println!("cargo:rustc-check-cfg=cfg(touch)");
2225        println!("cargo:rustc-check-cfg=cfg(rom_crc_le)");
2226        println!("cargo:rustc-check-cfg=cfg(rom_crc_be)");
2227        println!("cargo:rustc-check-cfg=cfg(rom_md5_bsd)");
2228        println!("cargo:rustc-check-cfg=cfg(pm_support_ext0_wakeup)");
2229        println!("cargo:rustc-check-cfg=cfg(pm_support_ext1_wakeup)");
2230        println!("cargo:rustc-check-cfg=cfg(pm_support_touch_sensor_wakeup)");
2231        println!("cargo:rustc-check-cfg=cfg(ulp_supported)");
2232        println!("cargo:rustc-check-cfg=cfg(adc)");
2233        println!("cargo:rustc-check-cfg=cfg(aes)");
2234        println!("cargo:rustc-check-cfg=cfg(dac)");
2235        println!("cargo:rustc-check-cfg=cfg(dma)");
2236        println!("cargo:rustc-check-cfg=cfg(gpio)");
2237        println!("cargo:rustc-check-cfg=cfg(i2c_master)");
2238        println!("cargo:rustc-check-cfg=cfg(i2s)");
2239        println!("cargo:rustc-check-cfg=cfg(interrupts)");
2240        println!("cargo:rustc-check-cfg=cfg(io_mux)");
2241        println!("cargo:rustc-check-cfg=cfg(rgb_display)");
2242        println!("cargo:rustc-check-cfg=cfg(ledc)");
2243        println!("cargo:rustc-check-cfg=cfg(mcpwm)");
2244        println!("cargo:rustc-check-cfg=cfg(pcnt)");
2245        println!("cargo:rustc-check-cfg=cfg(rmt)");
2246        println!("cargo:rustc-check-cfg=cfg(rng)");
2247        println!("cargo:rustc-check-cfg=cfg(rsa)");
2248        println!("cargo:rustc-check-cfg=cfg(sd_host)");
2249        println!("cargo:rustc-check-cfg=cfg(sd_slave)");
2250        println!("cargo:rustc-check-cfg=cfg(sleep)");
2251        println!("cargo:rustc-check-cfg=cfg(sha)");
2252        println!("cargo:rustc-check-cfg=cfg(spi_master)");
2253        println!("cargo:rustc-check-cfg=cfg(spi_slave)");
2254        println!("cargo:rustc-check-cfg=cfg(temp_sensor)");
2255        println!("cargo:rustc-check-cfg=cfg(timergroup)");
2256        println!("cargo:rustc-check-cfg=cfg(twai)");
2257        println!("cargo:rustc-check-cfg=cfg(uart)");
2258        println!("cargo:rustc-check-cfg=cfg(ulp_fsm)");
2259        println!("cargo:rustc-check-cfg=cfg(wifi)");
2260        println!("cargo:rustc-check-cfg=cfg(bt)");
2261        println!("cargo:rustc-check-cfg=cfg(adc_adc1)");
2262        println!("cargo:rustc-check-cfg=cfg(adc_adc2)");
2263        println!("cargo:rustc-check-cfg=cfg(dac_dac1)");
2264        println!("cargo:rustc-check-cfg=cfg(dac_dac2)");
2265        println!("cargo:rustc-check-cfg=cfg(i2c_master_i2c0)");
2266        println!("cargo:rustc-check-cfg=cfg(i2c_master_i2c1)");
2267        println!("cargo:rustc-check-cfg=cfg(spi_master_spi2)");
2268        println!("cargo:rustc-check-cfg=cfg(spi_master_spi3)");
2269        println!("cargo:rustc-check-cfg=cfg(spi_slave_spi2)");
2270        println!("cargo:rustc-check-cfg=cfg(spi_slave_spi3)");
2271        println!("cargo:rustc-check-cfg=cfg(timergroup_timg0)");
2272        println!("cargo:rustc-check-cfg=cfg(timergroup_timg1)");
2273        println!("cargo:rustc-check-cfg=cfg(uart_uart0)");
2274        println!("cargo:rustc-check-cfg=cfg(uart_uart1)");
2275        println!("cargo:rustc-check-cfg=cfg(uart_uart2)");
2276        println!("cargo:rustc-check-cfg=cfg(gpio_has_bank_1)");
2277        println!("cargo:rustc-check-cfg=cfg(gpio_remap_iomux_pin_registers)");
2278        println!("cargo:rustc-check-cfg=cfg(i2c_master_separate_filter_config_registers)");
2279        println!("cargo:rustc-check-cfg=cfg(timergroup_timg_has_timer1)");
2280        println!("cargo:rustc-check-cfg=cfg(esp32c2)");
2281        println!("cargo:rustc-check-cfg=cfg(riscv)");
2282        println!("cargo:rustc-check-cfg=cfg(single_core)");
2283        println!("cargo:rustc-check-cfg=cfg(soc_has_apb_saradc)");
2284        println!("cargo:rustc-check-cfg=cfg(soc_has_assist_debug)");
2285        println!("cargo:rustc-check-cfg=cfg(soc_has_dma)");
2286        println!("cargo:rustc-check-cfg=cfg(soc_has_ecc)");
2287        println!("cargo:rustc-check-cfg=cfg(soc_has_extmem)");
2288        println!("cargo:rustc-check-cfg=cfg(soc_has_i2c_ana_mst)");
2289        println!("cargo:rustc-check-cfg=cfg(soc_has_interrupt_core0)");
2290        println!("cargo:rustc-check-cfg=cfg(soc_has_modem_clkrst)");
2291        println!("cargo:rustc-check-cfg=cfg(soc_has_sensitive)");
2292        println!("cargo:rustc-check-cfg=cfg(soc_has_systimer)");
2293        println!("cargo:rustc-check-cfg=cfg(soc_has_xts_aes)");
2294        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch0)");
2295        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem1)");
2296        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem2)");
2297        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem3)");
2298        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem4)");
2299        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem5)");
2300        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem6)");
2301        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem7)");
2302        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem8)");
2303        println!("cargo:rustc-check-cfg=cfg(gdma)");
2304        println!("cargo:rustc-check-cfg=cfg(rom_md5_mbedtls)");
2305        println!("cargo:rustc-check-cfg=cfg(pm_support_wifi_wakeup)");
2306        println!("cargo:rustc-check-cfg=cfg(pm_support_bt_wakeup)");
2307        println!("cargo:rustc-check-cfg=cfg(uart_support_wakeup_int)");
2308        println!("cargo:rustc-check-cfg=cfg(gpio_support_deepsleep_wakeup)");
2309        println!("cargo:rustc-check-cfg=cfg(assist_debug)");
2310        println!("cargo:rustc-check-cfg=cfg(ecc)");
2311        println!("cargo:rustc-check-cfg=cfg(systimer)");
2312        println!("cargo:rustc-check-cfg=cfg(assist_debug_has_sp_monitor)");
2313        println!("cargo:rustc-check-cfg=cfg(i2c_master_has_fsm_timeouts)");
2314        println!("cargo:rustc-check-cfg=cfg(i2c_master_has_hw_bus_clear)");
2315        println!("cargo:rustc-check-cfg=cfg(i2c_master_has_bus_timeout_enable)");
2316        println!("cargo:rustc-check-cfg=cfg(i2c_master_has_conf_update)");
2317        println!("cargo:rustc-check-cfg=cfg(i2c_master_has_arbitration_en)");
2318        println!("cargo:rustc-check-cfg=cfg(i2c_master_has_tx_fifo_watermark)");
2319        println!("cargo:rustc-check-cfg=cfg(i2c_master_bus_timeout_is_exponential)");
2320        println!("cargo:rustc-check-cfg=cfg(esp32c3)");
2321        println!("cargo:rustc-check-cfg=cfg(soc_has_ds)");
2322        println!("cargo:rustc-check-cfg=cfg(soc_has_fe)");
2323        println!("cargo:rustc-check-cfg=cfg(soc_has_fe2)");
2324        println!("cargo:rustc-check-cfg=cfg(soc_has_hmac)");
2325        println!("cargo:rustc-check-cfg=cfg(soc_has_usb_device)");
2326        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch1)");
2327        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch2)");
2328        println!("cargo:rustc-check-cfg=cfg(soc_has_tsens)");
2329        println!("cargo:rustc-check-cfg=cfg(hmac)");
2330        println!("cargo:rustc-check-cfg=cfg(usb_serial_jtag)");
2331        println!("cargo:rustc-check-cfg=cfg(assist_debug_has_region_monitor)");
2332        println!("cargo:rustc-check-cfg=cfg(esp32c6)");
2333        println!("cargo:rustc-check-cfg=cfg(soc_has_atomic)");
2334        println!("cargo:rustc-check-cfg=cfg(soc_has_hp_apm)");
2335        println!("cargo:rustc-check-cfg=cfg(soc_has_hp_sys)");
2336        println!("cargo:rustc-check-cfg=cfg(soc_has_ieee802154)");
2337        println!("cargo:rustc-check-cfg=cfg(soc_has_intpri)");
2338        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_ana)");
2339        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_aon)");
2340        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_apm)");
2341        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_apm0)");
2342        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_clkrst)");
2343        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_i2c0)");
2344        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_i2c_ana_mst)");
2345        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_io)");
2346        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_peri)");
2347        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_tee)");
2348        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_timer)");
2349        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_uart)");
2350        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_wdt)");
2351        println!("cargo:rustc-check-cfg=cfg(soc_has_mem_monitor)");
2352        println!("cargo:rustc-check-cfg=cfg(soc_has_modem_lpcon)");
2353        println!("cargo:rustc-check-cfg=cfg(soc_has_modem_syscon)");
2354        println!("cargo:rustc-check-cfg=cfg(soc_has_otp_debug)");
2355        println!("cargo:rustc-check-cfg=cfg(soc_has_parl_io)");
2356        println!("cargo:rustc-check-cfg=cfg(soc_has_pau)");
2357        println!("cargo:rustc-check-cfg=cfg(soc_has_pcr)");
2358        println!("cargo:rustc-check-cfg=cfg(soc_has_plic_mx)");
2359        println!("cargo:rustc-check-cfg=cfg(soc_has_pmu)");
2360        println!("cargo:rustc-check-cfg=cfg(soc_has_etm)");
2361        println!("cargo:rustc-check-cfg=cfg(soc_has_tee)");
2362        println!("cargo:rustc-check-cfg=cfg(soc_has_trace0)");
2363        println!("cargo:rustc-check-cfg=cfg(soc_has_twai1)");
2364        println!("cargo:rustc-check-cfg=cfg(soc_has_lp_core)");
2365        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem10)");
2366        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem11)");
2367        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem12)");
2368        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem13)");
2369        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem14)");
2370        println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem15)");
2371        println!("cargo:rustc-check-cfg=cfg(plic)");
2372        println!("cargo:rustc-check-cfg=cfg(lp_core)");
2373        println!("cargo:rustc-check-cfg=cfg(pm_support_beacon_wakeup)");
2374        println!("cargo:rustc-check-cfg=cfg(etm)");
2375        println!("cargo:rustc-check-cfg=cfg(parl_io)");
2376        println!("cargo:rustc-check-cfg=cfg(ulp_riscv)");
2377        println!("cargo:rustc-check-cfg=cfg(ieee802154)");
2378        println!("cargo:rustc-check-cfg=cfg(i2c_master_can_estimate_nack_reason)");
2379        println!("cargo:rustc-check-cfg=cfg(i2c_master_has_reliable_fsm_reset)");
2380        println!("cargo:rustc-check-cfg=cfg(wifi_has_wifi6)");
2381        println!("cargo:rustc-check-cfg=cfg(esp32h2)");
2382        println!("cargo:rustc-check-cfg=cfg(esp32s2)");
2383        println!("cargo:rustc-check-cfg=cfg(soc_has_dedicated_gpio)");
2384        println!("cargo:rustc-check-cfg=cfg(soc_has_pms)");
2385        println!("cargo:rustc-check-cfg=cfg(soc_has_syscon)");
2386        println!("cargo:rustc-check-cfg=cfg(soc_has_usb0)");
2387        println!("cargo:rustc-check-cfg=cfg(soc_has_usb_wrap)");
2388        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_crypto)");
2389        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_copy)");
2390        println!("cargo:rustc-check-cfg=cfg(soc_has_ulp_riscv_core)");
2391        println!("cargo:rustc-check-cfg=cfg(psram_dma)");
2392        println!("cargo:rustc-check-cfg=cfg(ulp_riscv_core)");
2393        println!("cargo:rustc-check-cfg=cfg(soc_has_copy_dma)");
2394        println!("cargo:rustc-check-cfg=cfg(soc_has_crypto_dma)");
2395        println!("cargo:rustc-check-cfg=cfg(riscv_coproc_supported)");
2396        println!("cargo:rustc-check-cfg=cfg(usb_otg)");
2397        println!("cargo:rustc-check-cfg=cfg(spi_master_has_octal)");
2398        println!("cargo:rustc-check-cfg=cfg(esp32s3)");
2399        println!("cargo:rustc-check-cfg=cfg(soc_has_interrupt_core1)");
2400        println!("cargo:rustc-check-cfg=cfg(soc_has_lcd_cam)");
2401        println!("cargo:rustc-check-cfg=cfg(soc_has_peri_backup)");
2402        println!("cargo:rustc-check-cfg=cfg(soc_has_rtc_cntl)");
2403        println!("cargo:rustc-check-cfg=cfg(soc_has_wcl)");
2404        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch3)");
2405        println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch4)");
2406        println!("cargo:rustc-check-cfg=cfg(octal_psram)");
2407        println!("cargo:rustc-check-cfg=cfg(camera)");
2408        println!("cargo:rustc-check-cfg=cfg(gpio_gpio_function, values(\"2\",\"1\"))");
2409        println!("cargo:rustc-check-cfg=cfg(gpio_constant_0_input, values(\"48\",\"31\",\"60\"))");
2410        println!("cargo:rustc-check-cfg=cfg(gpio_constant_1_input, values(\"56\",\"30\"))");
2411        println!("cargo:rustc-check-cfg=cfg(gpio_func_in_sel_offset, values(\"0\"))");
2412        println!(
2413            "cargo:rustc-check-cfg=cfg(gpio_input_signal_max, values(\"206\",\"100\",\"124\",\"242\",\"255\"))"
2414        );
2415        println!("cargo:rustc-check-cfg=cfg(gpio_output_signal_max, values(\"256\",\"128\"))");
2416        println!(
2417            "cargo:rustc-check-cfg=cfg(i2c_master_i2c0_data_register_ahb_address, values(\"1610690588\"))"
2418        );
2419        println!(
2420            "cargo:rustc-check-cfg=cfg(i2c_master_max_bus_timeout, values(\"1048575\",\"31\",\"16777215\"))"
2421        );
2422        println!(
2423            "cargo:rustc-check-cfg=cfg(i2c_master_ll_intr_mask, values(\"262143\",\"131071\"))"
2424        );
2425        println!("cargo:rustc-check-cfg=cfg(i2c_master_fifo_size, values(\"32\",\"16\"))");
2426        println!(
2427            "cargo:rustc-check-cfg=cfg(interrupts_status_registers, values(\"3\",\"2\",\"4\"))"
2428        );
2429        println!(
2430            "cargo:rustc-check-cfg=cfg(rmt_ram_start, values(\"1073047552\",\"1610703872\",\"1610638336\",\"1610642432\",\"1061250048\",\"1610704896\"))"
2431        );
2432        println!("cargo:rustc-check-cfg=cfg(rmt_channel_ram_size, values(\"64\",\"48\"))");
2433        for cfg in self.cfgs {
2434            println!("{cfg}");
2435        }
2436    }
2437}