Skip to main content

esp_metadata_generated/
_build_script_utils.rs

1// Do NOT edit this file directly. Make your changes to esp-metadata,
2// then run `cargo update-metadata`.
3
4use core::ops::Range;
5extern crate alloc;
6#[cfg(docsrs)]
7macro_rules! println {
8    ($($any:tt)*) => {};
9}
10#[doc(hidden)]
11#[macro_export]
12macro_rules! __assert_features_logic {
13    ($op:tt, $limit:expr, $msg:literal, $($feature:literal),+ $(,)?) => {
14        { let enabled : Vec < & str > = [$(if cfg!(feature = $feature) { Some($feature) }
15        else { None },)+].into_iter().flatten().collect(); assert!(enabled.len() $op
16        $limit, concat!($msg,
17        ": {}.\nCurrently enabled: {}. This might be caused by enabled default features.\n"),
18        [$($feature),+].join(", "), if enabled.is_empty() { "none".to_string() } else {
19        enabled.join(", ") }); }
20    };
21}
22#[macro_export]
23macro_rules! assert_unique_features {
24    ($($f:literal),+ $(,)?) => {
25        $crate::__assert_features_logic!(<=, 1,
26        "\nAt most one of the following features must be enabled", $($f),+);
27    };
28}
29#[macro_export]
30macro_rules! assert_unique_used_features {
31    ($($f:literal),+ $(,)?) => {
32        $crate::__assert_features_logic!(==, 1,
33        "\nExactly one of the following features must be enabled", $($f),+);
34    };
35}
36#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
37#[cfg_attr(docsrs, doc(cfg(feature = "build-script")))]
38pub enum Chip {
39    Esp32,
40    Esp32c2,
41    Esp32c3,
42    Esp32c5,
43    Esp32c6,
44    Esp32c61,
45    Esp32h2,
46    Esp32p4,
47    Esp32s2,
48    Esp32s3,
49    Esp32s31,
50}
51impl core::str::FromStr for Chip {
52    type Err = alloc::string::String;
53    fn from_str(s: &str) -> Result<Self, Self::Err> {
54        match s {
55            "esp32" => Ok(Self::Esp32),
56            "esp32c2" => Ok(Self::Esp32c2),
57            "esp32c3" => Ok(Self::Esp32c3),
58            "esp32c5" => Ok(Self::Esp32c5),
59            "esp32c6" => Ok(Self::Esp32c6),
60            "esp32c61" => Ok(Self::Esp32c61),
61            "esp32h2" => Ok(Self::Esp32h2),
62            "esp32p4" => Ok(Self::Esp32p4),
63            "esp32s2" => Ok(Self::Esp32s2),
64            "esp32s3" => Ok(Self::Esp32s3),
65            "esp32s31" => Ok(Self::Esp32s31),
66            _ => Err(alloc::format!(
67                "Unknown chip {s}. Possible options: esp32, esp32c2, esp32c3, esp32c5, esp32c6, \
68                 esp32c61, esp32h2, esp32p4, esp32s2, esp32s3, esp32s31"
69            )),
70        }
71    }
72}
73impl Chip {
74    /// Tries to extract the active chip from the active cargo features.
75    ///
76    /// Exactly one device feature must be enabled for this function to succeed.
77    pub fn from_cargo_feature() -> Result<Self, &'static str> {
78        let all_chips = [
79            ("CARGO_FEATURE_ESP32", Self::Esp32),
80            ("CARGO_FEATURE_ESP32C2", Self::Esp32c2),
81            ("CARGO_FEATURE_ESP32C3", Self::Esp32c3),
82            ("CARGO_FEATURE_ESP32C5", Self::Esp32c5),
83            ("CARGO_FEATURE_ESP32C6", Self::Esp32c6),
84            ("CARGO_FEATURE_ESP32C61", Self::Esp32c61),
85            ("CARGO_FEATURE_ESP32H2", Self::Esp32h2),
86            ("CARGO_FEATURE_ESP32P4", Self::Esp32p4),
87            ("CARGO_FEATURE_ESP32S2", Self::Esp32s2),
88            ("CARGO_FEATURE_ESP32S3", Self::Esp32s3),
89            ("CARGO_FEATURE_ESP32S31", Self::Esp32s31),
90        ];
91        let mut chip = None;
92        for (env, c) in all_chips {
93            if std::env::var(env).is_ok() {
94                if chip.is_some() {
95                    return Err(
96                        "Expected exactly one of the following features to be enabled: esp32, \
97                         esp32c2, esp32c3, esp32c5, esp32c6, esp32c61, esp32h2, esp32p4, esp32s2, \
98                         esp32s3, esp32s31",
99                    );
100                }
101                chip = Some(c);
102            }
103        }
104        match chip {
105            Some(chip) => Ok(chip),
106            None => Err(
107                "Expected exactly one of the following features to be enabled: esp32, esp32c2, \
108                 esp32c3, esp32c5, esp32c6, esp32c61, esp32h2, esp32p4, esp32s2, esp32s3, esp32s31",
109            ),
110        }
111    }
112    /// Returns whether the current chip uses the Tensilica Xtensa ISA.
113    pub fn is_xtensa(self) -> bool {
114        self.config().architecture == "xtensa"
115    }
116    /// The target triple of the current chip.
117    pub fn target(self) -> &'static str {
118        self.config().target
119    }
120    /// The simple name of the current chip.
121    ///
122    /// ## Example
123    ///
124    /// ```rust,no_run
125    /// assert_eq!(Chip::Esp32s3.name(), "esp32s3");
126    /// ```
127    pub fn name(self) -> &'static str {
128        match self {
129            Self::Esp32 => "esp32",
130            Self::Esp32c2 => "esp32c2",
131            Self::Esp32c3 => "esp32c3",
132            Self::Esp32c5 => "esp32c5",
133            Self::Esp32c6 => "esp32c6",
134            Self::Esp32c61 => "esp32c61",
135            Self::Esp32h2 => "esp32h2",
136            Self::Esp32p4 => "esp32p4",
137            Self::Esp32s2 => "esp32s2",
138            Self::Esp32s3 => "esp32s3",
139            Self::Esp32s31 => "esp32s31",
140        }
141    }
142    /// Returns whether the chip configuration contains the given symbol.
143    ///
144    /// This function is a short-hand for `self.all_symbols().contains(&symbol)`.
145    ///
146    /// ## Example
147    ///
148    /// ```rust,no_run
149    /// assert!(Chip::Esp32s3.contains("soc_has_pcnt"));
150    /// ```
151    pub fn contains(self, symbol: &str) -> bool {
152        self.all_symbols().contains(&symbol)
153    }
154    /// Calling this function will define all cfg symbols for the firmware crate to use.
155    pub fn define_cfgs(self) {
156        self.config().define_cfgs()
157    }
158    /// Returns all symbols as a big slice.
159    ///
160    /// ## Example
161    ///
162    /// ```rust,no_run
163    /// assert!(Chip::Esp32s3.all_symbols().contains("soc_has_pcnt"));
164    /// ```
165    pub fn all_symbols(&self) -> &'static [&'static str] {
166        self.config().symbols
167    }
168    /// Returns memory layout information.
169    pub fn memory_layout(&self) -> &'static MemoryLayout {
170        self.config().memory_layout
171    }
172    /// Returns information about all pins.
173    pub fn pins(&self) -> &'static [PinInfo] {
174        self.config().pins
175    }
176    /// Returns an iterator over all chips.
177    ///
178    /// ## Example
179    ///
180    /// ```rust,no_run
181    /// assert!(Chip::iter().any(|c| c == Chip::Esp32));
182    /// ```
183    pub fn iter() -> impl Iterator<Item = Chip> {
184        [
185            Self::Esp32,
186            Self::Esp32c2,
187            Self::Esp32c3,
188            Self::Esp32c5,
189            Self::Esp32c6,
190            Self::Esp32c61,
191            Self::Esp32h2,
192            Self::Esp32p4,
193            Self::Esp32s2,
194            Self::Esp32s3,
195            Self::Esp32s31,
196        ]
197        .into_iter()
198    }
199    fn config(self) -> Config {
200        match self {
201            Self::Esp32 => Config {
202                architecture: "xtensa",
203                target: "xtensa-esp32-none-elf",
204                symbols: &[
205                    "esp32",
206                    "xtensa",
207                    "multi_core",
208                    "soc_has_aes",
209                    "soc_has_apb_ctrl",
210                    "soc_has_bb",
211                    "soc_has_dport",
212                    "soc_has_system",
213                    "soc_has_efuse",
214                    "soc_has_eth",
215                    "soc_has_emac_dma",
216                    "soc_has_emac_ext",
217                    "soc_has_emac_mac",
218                    "soc_has_flash_encryption",
219                    "soc_has_frc_timer",
220                    "soc_has_gpio",
221                    "soc_has_gpio_sd",
222                    "soc_has_hinf",
223                    "soc_has_i2c0",
224                    "soc_has_i2c1",
225                    "soc_has_i2s0",
226                    "soc_has_i2s1",
227                    "soc_has_io_mux",
228                    "soc_has_ledc",
229                    "soc_has_mcpwm0",
230                    "soc_has_mmu_table",
231                    "soc_has_mcpwm1",
232                    "soc_has_nrx",
233                    "soc_has_pcnt",
234                    "soc_has_rmt",
235                    "soc_has_rng",
236                    "soc_has_rsa",
237                    "soc_has_lpwr",
238                    "soc_has_rtc_timer",
239                    "soc_has_lp_i2c0",
240                    "soc_has_rtc_io",
241                    "soc_has_sdhost",
242                    "soc_has_sens",
243                    "soc_has_sha",
244                    "soc_has_slc",
245                    "soc_has_slchost",
246                    "soc_has_spi0",
247                    "soc_has_spi1",
248                    "soc_has_spi2",
249                    "soc_has_spi3",
250                    "soc_has_timg0",
251                    "soc_has_timg1",
252                    "soc_has_twai0",
253                    "soc_has_uart0",
254                    "soc_has_uart1",
255                    "soc_has_uart2",
256                    "soc_has_uhci0",
257                    "soc_has_uhci1",
258                    "soc_has_wifi",
259                    "soc_has_adc1",
260                    "soc_has_adc2",
261                    "soc_has_bt",
262                    "soc_has_cpu_ctrl",
263                    "soc_has_dac1",
264                    "soc_has_dac2",
265                    "soc_has_flash",
266                    "soc_has_psram",
267                    "soc_has_touch",
268                    "soc_has_ipc",
269                    "soc_has_from_cpu_intr0",
270                    "soc_has_from_cpu_intr1",
271                    "soc_has_from_cpu_intr2",
272                    "soc_has_from_cpu_intr3",
273                    "gpio_driver_supported",
274                    "io_mux_driver_supported",
275                    "lp_io_driver_supported",
276                    "uart_driver_supported",
277                    "i2c_master_driver_supported",
278                    "spi_master_driver_supported",
279                    "spi_slave_driver_supported",
280                    "i2s_driver_supported",
281                    "rmt_driver_supported",
282                    "sdmmc_driver_supported",
283                    "twai_driver_supported",
284                    "bt_driver_supported",
285                    "wifi_driver_supported",
286                    "ethernet_driver_supported",
287                    "phy_driver_supported",
288                    "rgb_display_driver_supported",
289                    "adc_driver_supported",
290                    "dac_driver_supported",
291                    "temp_sensor_driver_supported",
292                    "touch_driver_supported",
293                    "ledc_driver_supported",
294                    "mcpwm_driver_supported",
295                    "pcnt_driver_supported",
296                    "lp_timer_driver_supported",
297                    "sdm_driver_supported",
298                    "timergroup_driver_supported",
299                    "aes_driver_supported",
300                    "rng_driver_supported",
301                    "rsa_driver_supported",
302                    "sha_driver_supported",
303                    "sleep_driver_supported",
304                    "dma_driver_supported",
305                    "interrupts_driver_supported",
306                    "mmu_driver_supported",
307                    "flash_driver_supported",
308                    "psram_driver_supported",
309                    "rom_driver_supported",
310                    "soc_driver_supported",
311                    "uart_uart0",
312                    "uart_uart1",
313                    "uart_uart2",
314                    "i2c_master_i2c0",
315                    "i2c_master_i2c1",
316                    "spi_master_spi2",
317                    "spi_master_spi3",
318                    "spi_slave_spi2",
319                    "spi_slave_spi3",
320                    "i2s_i2s0",
321                    "i2s_i2s1",
322                    "adc_adc1",
323                    "adc_adc2",
324                    "dac_dac1",
325                    "dac_dac2",
326                    "pcnt_PCNT",
327                    "timergroup_timg0",
328                    "timergroup_timg1",
329                    "gpio_version=\"1\"",
330                    "gpio_gpio_function=\"2\"",
331                    "gpio_constant_0_input=\"48\"",
332                    "gpio_constant_1_input=\"56\"",
333                    "gpio_remap_iomux_pin_registers",
334                    "gpio_func_in_sel_offset=\"0\"",
335                    "soc_has_xtal32k_pads",
336                    "gpio_has_bank_1",
337                    "gpio_input_signal_max=\"206\"",
338                    "gpio_output_signal_max=\"256\"",
339                    "lp_io_version=\"esp32\"",
340                    "uart_ram_size=\"128\"",
341                    "uart_version=\"1\"",
342                    "i2c_master_version=\"1\"",
343                    "i2c_master_separate_filter_config_registers",
344                    "i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
345                    "i2c_master_i2c0_data_register_ahb_address_is_set",
346                    "i2c_master_max_bus_timeout=\"1048575\"",
347                    "i2c_master_ll_intr_mask=\"262143\"",
348                    "i2c_master_fifo_size=\"32\"",
349                    "spi_master_version=\"1\"",
350                    "spi_master_fifo_size=\"64\"",
351                    "spi_master_bit_order_is_bool",
352                    "i2s_version=\"1\"",
353                    "i2s_version_is_set",
354                    "i2s_mclk_divider_bit_width=\"6\"",
355                    "i2s_mclk_divider_bit_width_is_set",
356                    "i2s_max_ws_width=\"128\"",
357                    "i2s_max_ws_width_is_set",
358                    "i2s_supports_pdm_tx",
359                    "i2s_supports_pdm_rx",
360                    "i2s_supports_pcm2pdm",
361                    "i2s_supports_pdm2pcm",
362                    "rmt_ram_start=\"1073047552\"",
363                    "rmt_channel_ram_size=\"64\"",
364                    "rmt_has_per_channel_clock",
365                    "sdmmc_has_iomux",
366                    "bt_controller=\"btdm\"",
367                    "wifi_mac_version=\"1\"",
368                    "wifi_csi_supported",
369                    "ethernet_rx_store_and_forward",
370                    "ethernet_dma_burst_len=\"32\"",
371                    "phy_combo_module",
372                    "rgb_display_output_lines=\"24\"",
373                    "ledc_version=\"1\"",
374                    "ledc_channel_count=\"8\"",
375                    "soc_has_sdm_ch0",
376                    "soc_has_sdm_ch1",
377                    "soc_has_sdm_ch2",
378                    "soc_has_sdm_ch3",
379                    "soc_has_sdm_ch4",
380                    "soc_has_sdm_ch5",
381                    "soc_has_sdm_ch6",
382                    "soc_has_sdm_ch7",
383                    "timergroup_timg_has_timer1",
384                    "timergroup_rc_fast_calibration_is_set",
385                    "aes_endianness_configurable",
386                    "rng_apb_cycle_wait_num=\"16\"",
387                    "rng_trng_supported",
388                    "rsa_version=\"1\"",
389                    "rsa_size_increment=\"512\"",
390                    "rsa_memory_size_bytes=\"512\"",
391                    "sleep_light_sleep",
392                    "sleep_deep_sleep",
393                    "sleep_has_wakeup_source_ext0",
394                    "sleep_has_wakeup_source_ext1",
395                    "sleep_has_wakeup_source_gpio",
396                    "sleep_has_wakeup_source_timer",
397                    "sleep_has_wakeup_source_sdio",
398                    "sleep_has_wakeup_source_wifi",
399                    "sleep_has_wakeup_source_uart",
400                    "sleep_has_wakeup_source_touch",
401                    "sleep_has_wakeup_source_ulp",
402                    "sleep_has_wakeup_source_bt",
403                    "sleep_ext1_version=\"1\"",
404                    "sleep_ext1_version_is_set",
405                    "sleep_pin_wakeup_version=\"1\"",
406                    "sleep_pin_wakeup_version_is_set",
407                    "sleep_deep_sleep_needs_gpio_isolation",
408                    "soc_has_dma_spi2",
409                    "soc_has_dma_spi3",
410                    "soc_has_dma_i2s0",
411                    "soc_has_dma_i2s1",
412                    "spi_master_supports_dma",
413                    "spi_master_dma_engine=\"SPI_DMA\"",
414                    "spi_slave_supports_dma",
415                    "spi_slave_dma_engine=\"SPI_DMA\"",
416                    "i2s_supports_dma",
417                    "i2s_dma_engine=\"I2S_DMA\"",
418                    "interrupts_status_registers=\"3\"",
419                    "interrupt_controller=\"xtensa\"",
420                    "context_switch_source=\"ipc\"",
421                    "mmu_page_size=\"65536\"",
422                    "mmu_entry_num=\"256\"",
423                    "psram_extmem_origin=\"1065353216\"",
424                    "rom_has_crc_le",
425                    "rom_has_crc_be",
426                    "rom_has_md5_bsd",
427                    "soc_multi_core_enabled",
428                    "soc_cpu_mcause_mask=\"0\"",
429                    "soc_has_clock_node_xtal_clk",
430                    "soc_clock_node_xtal_clk_is_configurable",
431                    "soc_has_clock_node_pll_clk",
432                    "soc_clock_node_pll_clk_is_configurable",
433                    "soc_has_clock_node_apll_clk",
434                    "soc_clock_node_apll_clk_is_configurable",
435                    "soc_has_clock_node_rc_fast_clk",
436                    "soc_has_clock_node_pll_f160m_clk",
437                    "soc_has_clock_node_pll_d2_clk",
438                    "soc_has_clock_node_cpu_pll_div_in",
439                    "soc_clock_node_cpu_pll_div_in_is_configurable",
440                    "soc_has_clock_node_cpu_pll_div",
441                    "soc_clock_node_cpu_pll_div_is_configurable",
442                    "soc_has_clock_node_syscon_pre_div_in",
443                    "soc_clock_node_syscon_pre_div_in_is_configurable",
444                    "soc_has_clock_node_syscon_pre_div",
445                    "soc_clock_node_syscon_pre_div_is_configurable",
446                    "soc_has_clock_node_cpu_clk",
447                    "soc_clock_node_cpu_clk_is_configurable",
448                    "soc_has_clock_node_apb_clk_cpu_div2",
449                    "soc_has_clock_node_apb_clk_80m",
450                    "soc_has_clock_node_apb_clk",
451                    "soc_clock_node_apb_clk_is_configurable",
452                    "soc_has_clock_node_ref_tick_pll",
453                    "soc_clock_node_ref_tick_pll_is_configurable",
454                    "soc_has_clock_node_ref_tick_apll",
455                    "soc_clock_node_ref_tick_apll_is_configurable",
456                    "soc_has_clock_node_ref_tick_xtal",
457                    "soc_clock_node_ref_tick_xtal_is_configurable",
458                    "soc_has_clock_node_ref_tick_fosc",
459                    "soc_clock_node_ref_tick_fosc_is_configurable",
460                    "soc_has_clock_node_ref_tick",
461                    "soc_clock_node_ref_tick_is_configurable",
462                    "soc_has_clock_node_xtal32k_clk",
463                    "soc_has_clock_node_rc_slow_clk",
464                    "soc_has_clock_node_rc_fast_div_clk",
465                    "soc_has_clock_node_xtal_div_clk",
466                    "soc_has_clock_node_rtc_slow_clk",
467                    "soc_clock_node_rtc_slow_clk_is_configurable",
468                    "soc_has_clock_node_rtc_fast_clk",
469                    "soc_clock_node_rtc_fast_clk_is_configurable",
470                    "soc_has_clock_node_uart_mem_clk",
471                    "soc_has_clock_node_timg_calibration_clock",
472                    "soc_clock_node_timg_calibration_clock_is_configurable",
473                    "soc_has_clock_node_mcpwm_function_clock",
474                    "soc_has_clock_node_i2c_function_clock",
475                    "soc_clock_node_i2c_function_clock_is_configurable",
476                    "soc_has_clock_node_uart_function_clock",
477                    "soc_clock_node_uart_function_clock_is_configurable",
478                    "soc_has_clock_node_uart_mem_clock",
479                    "soc_has_clock_node_uart_baud_rate_generator",
480                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
481                    "soc_has_clock_node_sdm_function_clock",
482                    "soc_has_clock_node_rmt_sclk",
483                    "soc_clock_node_rmt_sclk_is_configurable",
484                    "soc_has_clock_node_spi_function_clock",
485                    "soc_has_clock_node_i2s_mclk",
486                    "soc_clock_node_i2s_mclk_is_configurable",
487                    "has_dram_region",
488                    "has_dram2_uninit_region",
489                    "has_irom_region",
490                    "has_drom_region",
491                ],
492                cfgs: &[
493                    "cargo:rustc-cfg=esp32",
494                    "cargo:rustc-cfg=xtensa",
495                    "cargo:rustc-cfg=multi_core",
496                    "cargo:rustc-cfg=soc_has_aes",
497                    "cargo:rustc-cfg=soc_has_apb_ctrl",
498                    "cargo:rustc-cfg=soc_has_bb",
499                    "cargo:rustc-cfg=soc_has_dport",
500                    "cargo:rustc-cfg=soc_has_system",
501                    "cargo:rustc-cfg=soc_has_efuse",
502                    "cargo:rustc-cfg=soc_has_eth",
503                    "cargo:rustc-cfg=soc_has_emac_dma",
504                    "cargo:rustc-cfg=soc_has_emac_ext",
505                    "cargo:rustc-cfg=soc_has_emac_mac",
506                    "cargo:rustc-cfg=soc_has_flash_encryption",
507                    "cargo:rustc-cfg=soc_has_frc_timer",
508                    "cargo:rustc-cfg=soc_has_gpio",
509                    "cargo:rustc-cfg=soc_has_gpio_sd",
510                    "cargo:rustc-cfg=soc_has_hinf",
511                    "cargo:rustc-cfg=soc_has_i2c0",
512                    "cargo:rustc-cfg=soc_has_i2c1",
513                    "cargo:rustc-cfg=soc_has_i2s0",
514                    "cargo:rustc-cfg=soc_has_i2s1",
515                    "cargo:rustc-cfg=soc_has_io_mux",
516                    "cargo:rustc-cfg=soc_has_ledc",
517                    "cargo:rustc-cfg=soc_has_mcpwm0",
518                    "cargo:rustc-cfg=soc_has_mmu_table",
519                    "cargo:rustc-cfg=soc_has_mcpwm1",
520                    "cargo:rustc-cfg=soc_has_nrx",
521                    "cargo:rustc-cfg=soc_has_pcnt",
522                    "cargo:rustc-cfg=soc_has_rmt",
523                    "cargo:rustc-cfg=soc_has_rng",
524                    "cargo:rustc-cfg=soc_has_rsa",
525                    "cargo:rustc-cfg=soc_has_lpwr",
526                    "cargo:rustc-cfg=soc_has_rtc_timer",
527                    "cargo:rustc-cfg=soc_has_lp_i2c0",
528                    "cargo:rustc-cfg=soc_has_rtc_io",
529                    "cargo:rustc-cfg=soc_has_sdhost",
530                    "cargo:rustc-cfg=soc_has_sens",
531                    "cargo:rustc-cfg=soc_has_sha",
532                    "cargo:rustc-cfg=soc_has_slc",
533                    "cargo:rustc-cfg=soc_has_slchost",
534                    "cargo:rustc-cfg=soc_has_spi0",
535                    "cargo:rustc-cfg=soc_has_spi1",
536                    "cargo:rustc-cfg=soc_has_spi2",
537                    "cargo:rustc-cfg=soc_has_spi3",
538                    "cargo:rustc-cfg=soc_has_timg0",
539                    "cargo:rustc-cfg=soc_has_timg1",
540                    "cargo:rustc-cfg=soc_has_twai0",
541                    "cargo:rustc-cfg=soc_has_uart0",
542                    "cargo:rustc-cfg=soc_has_uart1",
543                    "cargo:rustc-cfg=soc_has_uart2",
544                    "cargo:rustc-cfg=soc_has_uhci0",
545                    "cargo:rustc-cfg=soc_has_uhci1",
546                    "cargo:rustc-cfg=soc_has_wifi",
547                    "cargo:rustc-cfg=soc_has_adc1",
548                    "cargo:rustc-cfg=soc_has_adc2",
549                    "cargo:rustc-cfg=soc_has_bt",
550                    "cargo:rustc-cfg=soc_has_cpu_ctrl",
551                    "cargo:rustc-cfg=soc_has_dac1",
552                    "cargo:rustc-cfg=soc_has_dac2",
553                    "cargo:rustc-cfg=soc_has_flash",
554                    "cargo:rustc-cfg=soc_has_psram",
555                    "cargo:rustc-cfg=soc_has_touch",
556                    "cargo:rustc-cfg=soc_has_ipc",
557                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
558                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
559                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
560                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
561                    "cargo:rustc-cfg=gpio_driver_supported",
562                    "cargo:rustc-cfg=io_mux_driver_supported",
563                    "cargo:rustc-cfg=lp_io_driver_supported",
564                    "cargo:rustc-cfg=uart_driver_supported",
565                    "cargo:rustc-cfg=i2c_master_driver_supported",
566                    "cargo:rustc-cfg=spi_master_driver_supported",
567                    "cargo:rustc-cfg=spi_slave_driver_supported",
568                    "cargo:rustc-cfg=i2s_driver_supported",
569                    "cargo:rustc-cfg=rmt_driver_supported",
570                    "cargo:rustc-cfg=sdmmc_driver_supported",
571                    "cargo:rustc-cfg=twai_driver_supported",
572                    "cargo:rustc-cfg=bt_driver_supported",
573                    "cargo:rustc-cfg=wifi_driver_supported",
574                    "cargo:rustc-cfg=ethernet_driver_supported",
575                    "cargo:rustc-cfg=phy_driver_supported",
576                    "cargo:rustc-cfg=rgb_display_driver_supported",
577                    "cargo:rustc-cfg=adc_driver_supported",
578                    "cargo:rustc-cfg=dac_driver_supported",
579                    "cargo:rustc-cfg=temp_sensor_driver_supported",
580                    "cargo:rustc-cfg=touch_driver_supported",
581                    "cargo:rustc-cfg=ledc_driver_supported",
582                    "cargo:rustc-cfg=mcpwm_driver_supported",
583                    "cargo:rustc-cfg=pcnt_driver_supported",
584                    "cargo:rustc-cfg=lp_timer_driver_supported",
585                    "cargo:rustc-cfg=sdm_driver_supported",
586                    "cargo:rustc-cfg=timergroup_driver_supported",
587                    "cargo:rustc-cfg=aes_driver_supported",
588                    "cargo:rustc-cfg=rng_driver_supported",
589                    "cargo:rustc-cfg=rsa_driver_supported",
590                    "cargo:rustc-cfg=sha_driver_supported",
591                    "cargo:rustc-cfg=sleep_driver_supported",
592                    "cargo:rustc-cfg=dma_driver_supported",
593                    "cargo:rustc-cfg=interrupts_driver_supported",
594                    "cargo:rustc-cfg=mmu_driver_supported",
595                    "cargo:rustc-cfg=flash_driver_supported",
596                    "cargo:rustc-cfg=psram_driver_supported",
597                    "cargo:rustc-cfg=rom_driver_supported",
598                    "cargo:rustc-cfg=soc_driver_supported",
599                    "cargo:rustc-cfg=uart_uart0",
600                    "cargo:rustc-cfg=uart_uart1",
601                    "cargo:rustc-cfg=uart_uart2",
602                    "cargo:rustc-cfg=i2c_master_i2c0",
603                    "cargo:rustc-cfg=i2c_master_i2c1",
604                    "cargo:rustc-cfg=spi_master_spi2",
605                    "cargo:rustc-cfg=spi_master_spi3",
606                    "cargo:rustc-cfg=spi_slave_spi2",
607                    "cargo:rustc-cfg=spi_slave_spi3",
608                    "cargo:rustc-cfg=i2s_i2s0",
609                    "cargo:rustc-cfg=i2s_i2s1",
610                    "cargo:rustc-cfg=adc_adc1",
611                    "cargo:rustc-cfg=adc_adc2",
612                    "cargo:rustc-cfg=dac_dac1",
613                    "cargo:rustc-cfg=dac_dac2",
614                    "cargo:rustc-cfg=pcnt_PCNT",
615                    "cargo:rustc-cfg=timergroup_timg0",
616                    "cargo:rustc-cfg=timergroup_timg1",
617                    "cargo:rustc-cfg=gpio_version=\"1\"",
618                    "cargo:rustc-cfg=gpio_gpio_function=\"2\"",
619                    "cargo:rustc-cfg=gpio_constant_0_input=\"48\"",
620                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
621                    "cargo:rustc-cfg=gpio_remap_iomux_pin_registers",
622                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
623                    "cargo:rustc-cfg=soc_has_xtal32k_pads",
624                    "cargo:rustc-cfg=gpio_has_bank_1",
625                    "cargo:rustc-cfg=gpio_input_signal_max=\"206\"",
626                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
627                    "cargo:rustc-cfg=lp_io_version=\"esp32\"",
628                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
629                    "cargo:rustc-cfg=uart_version=\"1\"",
630                    "cargo:rustc-cfg=i2c_master_version=\"1\"",
631                    "cargo:rustc-cfg=i2c_master_separate_filter_config_registers",
632                    "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
633                    "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address_is_set",
634                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"1048575\"",
635                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
636                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
637                    "cargo:rustc-cfg=spi_master_version=\"1\"",
638                    "cargo:rustc-cfg=spi_master_fifo_size=\"64\"",
639                    "cargo:rustc-cfg=spi_master_bit_order_is_bool",
640                    "cargo:rustc-cfg=i2s_version=\"1\"",
641                    "cargo:rustc-cfg=i2s_version_is_set",
642                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width=\"6\"",
643                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width_is_set",
644                    "cargo:rustc-cfg=i2s_max_ws_width=\"128\"",
645                    "cargo:rustc-cfg=i2s_max_ws_width_is_set",
646                    "cargo:rustc-cfg=i2s_supports_pdm_tx",
647                    "cargo:rustc-cfg=i2s_supports_pdm_rx",
648                    "cargo:rustc-cfg=i2s_supports_pcm2pdm",
649                    "cargo:rustc-cfg=i2s_supports_pdm2pcm",
650                    "cargo:rustc-cfg=rmt_ram_start=\"1073047552\"",
651                    "cargo:rustc-cfg=rmt_channel_ram_size=\"64\"",
652                    "cargo:rustc-cfg=rmt_has_per_channel_clock",
653                    "cargo:rustc-cfg=sdmmc_has_iomux",
654                    "cargo:rustc-cfg=bt_controller=\"btdm\"",
655                    "cargo:rustc-cfg=wifi_mac_version=\"1\"",
656                    "cargo:rustc-cfg=wifi_csi_supported",
657                    "cargo:rustc-cfg=ethernet_rx_store_and_forward",
658                    "cargo:rustc-cfg=ethernet_dma_burst_len=\"32\"",
659                    "cargo:rustc-cfg=phy_combo_module",
660                    "cargo:rustc-cfg=rgb_display_output_lines=\"24\"",
661                    "cargo:rustc-cfg=ledc_version=\"1\"",
662                    "cargo:rustc-cfg=ledc_channel_count=\"8\"",
663                    "cargo:rustc-cfg=soc_has_sdm_ch0",
664                    "cargo:rustc-cfg=soc_has_sdm_ch1",
665                    "cargo:rustc-cfg=soc_has_sdm_ch2",
666                    "cargo:rustc-cfg=soc_has_sdm_ch3",
667                    "cargo:rustc-cfg=soc_has_sdm_ch4",
668                    "cargo:rustc-cfg=soc_has_sdm_ch5",
669                    "cargo:rustc-cfg=soc_has_sdm_ch6",
670                    "cargo:rustc-cfg=soc_has_sdm_ch7",
671                    "cargo:rustc-cfg=timergroup_timg_has_timer1",
672                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
673                    "cargo:rustc-cfg=aes_endianness_configurable",
674                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
675                    "cargo:rustc-cfg=rng_trng_supported",
676                    "cargo:rustc-cfg=rsa_version=\"1\"",
677                    "cargo:rustc-cfg=rsa_size_increment=\"512\"",
678                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
679                    "cargo:rustc-cfg=sleep_light_sleep",
680                    "cargo:rustc-cfg=sleep_deep_sleep",
681                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext0",
682                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext1",
683                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
684                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
685                    "cargo:rustc-cfg=sleep_has_wakeup_source_sdio",
686                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi",
687                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
688                    "cargo:rustc-cfg=sleep_has_wakeup_source_touch",
689                    "cargo:rustc-cfg=sleep_has_wakeup_source_ulp",
690                    "cargo:rustc-cfg=sleep_has_wakeup_source_bt",
691                    "cargo:rustc-cfg=sleep_ext1_version=\"1\"",
692                    "cargo:rustc-cfg=sleep_ext1_version_is_set",
693                    "cargo:rustc-cfg=sleep_pin_wakeup_version=\"1\"",
694                    "cargo:rustc-cfg=sleep_pin_wakeup_version_is_set",
695                    "cargo:rustc-cfg=sleep_deep_sleep_needs_gpio_isolation",
696                    "cargo:rustc-cfg=soc_has_dma_spi2",
697                    "cargo:rustc-cfg=soc_has_dma_spi3",
698                    "cargo:rustc-cfg=soc_has_dma_i2s0",
699                    "cargo:rustc-cfg=soc_has_dma_i2s1",
700                    "cargo:rustc-cfg=spi_master_supports_dma",
701                    "cargo:rustc-cfg=spi_master_dma_engine=\"SPI_DMA\"",
702                    "cargo:rustc-cfg=spi_slave_supports_dma",
703                    "cargo:rustc-cfg=spi_slave_dma_engine=\"SPI_DMA\"",
704                    "cargo:rustc-cfg=i2s_supports_dma",
705                    "cargo:rustc-cfg=i2s_dma_engine=\"I2S_DMA\"",
706                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
707                    "cargo:rustc-cfg=interrupt_controller=\"xtensa\"",
708                    "cargo:rustc-cfg=context_switch_source=\"ipc\"",
709                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
710                    "cargo:rustc-cfg=mmu_entry_num=\"256\"",
711                    "cargo:rustc-cfg=psram_extmem_origin=\"1065353216\"",
712                    "cargo:rustc-cfg=rom_has_crc_le",
713                    "cargo:rustc-cfg=rom_has_crc_be",
714                    "cargo:rustc-cfg=rom_has_md5_bsd",
715                    "cargo:rustc-cfg=soc_multi_core_enabled",
716                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"0\"",
717                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
718                    "cargo:rustc-cfg=soc_clock_node_xtal_clk_is_configurable",
719                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
720                    "cargo:rustc-cfg=soc_clock_node_pll_clk_is_configurable",
721                    "cargo:rustc-cfg=soc_has_clock_node_apll_clk",
722                    "cargo:rustc-cfg=soc_clock_node_apll_clk_is_configurable",
723                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
724                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m_clk",
725                    "cargo:rustc-cfg=soc_has_clock_node_pll_d2_clk",
726                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div_in",
727                    "cargo:rustc-cfg=soc_clock_node_cpu_pll_div_in_is_configurable",
728                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div",
729                    "cargo:rustc-cfg=soc_clock_node_cpu_pll_div_is_configurable",
730                    "cargo:rustc-cfg=soc_has_clock_node_syscon_pre_div_in",
731                    "cargo:rustc-cfg=soc_clock_node_syscon_pre_div_in_is_configurable",
732                    "cargo:rustc-cfg=soc_has_clock_node_syscon_pre_div",
733                    "cargo:rustc-cfg=soc_clock_node_syscon_pre_div_is_configurable",
734                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
735                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
736                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk_cpu_div2",
737                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk_80m",
738                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
739                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
740                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_pll",
741                    "cargo:rustc-cfg=soc_clock_node_ref_tick_pll_is_configurable",
742                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_apll",
743                    "cargo:rustc-cfg=soc_clock_node_ref_tick_apll_is_configurable",
744                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_xtal",
745                    "cargo:rustc-cfg=soc_clock_node_ref_tick_xtal_is_configurable",
746                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_fosc",
747                    "cargo:rustc-cfg=soc_clock_node_ref_tick_fosc_is_configurable",
748                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick",
749                    "cargo:rustc-cfg=soc_clock_node_ref_tick_is_configurable",
750                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
751                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
752                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_div_clk",
753                    "cargo:rustc-cfg=soc_has_clock_node_xtal_div_clk",
754                    "cargo:rustc-cfg=soc_has_clock_node_rtc_slow_clk",
755                    "cargo:rustc-cfg=soc_clock_node_rtc_slow_clk_is_configurable",
756                    "cargo:rustc-cfg=soc_has_clock_node_rtc_fast_clk",
757                    "cargo:rustc-cfg=soc_clock_node_rtc_fast_clk_is_configurable",
758                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clk",
759                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
760                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
761                    "cargo:rustc-cfg=soc_has_clock_node_mcpwm_function_clock",
762                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
763                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
764                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
765                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
766                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
767                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
768                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
769                    "cargo:rustc-cfg=soc_has_clock_node_sdm_function_clock",
770                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
771                    "cargo:rustc-cfg=soc_clock_node_rmt_sclk_is_configurable",
772                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
773                    "cargo:rustc-cfg=soc_has_clock_node_i2s_mclk",
774                    "cargo:rustc-cfg=soc_clock_node_i2s_mclk_is_configurable",
775                    "cargo:rustc-cfg=has_dram_region",
776                    "cargo:rustc-cfg=has_dram2_uninit_region",
777                    "cargo:rustc-cfg=has_irom_region",
778                    "cargo:rustc-cfg=has_drom_region",
779                ],
780                memory_layout: &MemoryLayout {
781                    regions: &[
782                        (
783                            "dram",
784                            MemoryRegion {
785                                address_range: 0x3FFAE000..0x40000000,
786                            },
787                        ),
788                        (
789                            "dram2_uninit",
790                            MemoryRegion {
791                                address_range: 0x3FFE7E30..0x40000000,
792                            },
793                        ),
794                        (
795                            "irom",
796                            MemoryRegion {
797                                address_range: 0x400D0000..0x40400000,
798                            },
799                        ),
800                        (
801                            "drom",
802                            MemoryRegion {
803                                address_range: 0x3F400000..0x3F800000,
804                            },
805                        ),
806                    ],
807                },
808                pins: &[
809                    PinInfo {
810                        pin: 0,
811                        limitations: &["strapping"],
812                    },
813                    PinInfo {
814                        pin: 1,
815                        limitations: &["bootloader_uart"],
816                    },
817                    PinInfo {
818                        pin: 2,
819                        limitations: &["strapping"],
820                    },
821                    PinInfo {
822                        pin: 3,
823                        limitations: &["bootloader_uart"],
824                    },
825                    PinInfo {
826                        pin: 4,
827                        limitations: &[],
828                    },
829                    PinInfo {
830                        pin: 5,
831                        limitations: &["strapping"],
832                    },
833                    PinInfo {
834                        pin: 6,
835                        limitations: &["spi_flash", "spi_psram"],
836                    },
837                    PinInfo {
838                        pin: 7,
839                        limitations: &["spi_flash", "spi_psram"],
840                    },
841                    PinInfo {
842                        pin: 8,
843                        limitations: &["spi_flash", "spi_psram"],
844                    },
845                    PinInfo {
846                        pin: 9,
847                        limitations: &["spi_flash", "spi_psram"],
848                    },
849                    PinInfo {
850                        pin: 10,
851                        limitations: &["spi_flash", "spi_psram"],
852                    },
853                    PinInfo {
854                        pin: 11,
855                        limitations: &["spi_flash", "spi_psram"],
856                    },
857                    PinInfo {
858                        pin: 12,
859                        limitations: &["strapping", "jtag"],
860                    },
861                    PinInfo {
862                        pin: 13,
863                        limitations: &["jtag"],
864                    },
865                    PinInfo {
866                        pin: 14,
867                        limitations: &["jtag"],
868                    },
869                    PinInfo {
870                        pin: 15,
871                        limitations: &["strapping", "jtag"],
872                    },
873                    PinInfo {
874                        pin: 16,
875                        limitations: &["spi_flash", "spi_psram"],
876                    },
877                    PinInfo {
878                        pin: 17,
879                        limitations: &["spi_psram"],
880                    },
881                    PinInfo {
882                        pin: 18,
883                        limitations: &[],
884                    },
885                    PinInfo {
886                        pin: 19,
887                        limitations: &[],
888                    },
889                    PinInfo {
890                        pin: 20,
891                        limitations: &["esp32_pico_v3"],
892                    },
893                    PinInfo {
894                        pin: 21,
895                        limitations: &[],
896                    },
897                    PinInfo {
898                        pin: 22,
899                        limitations: &[],
900                    },
901                    PinInfo {
902                        pin: 23,
903                        limitations: &[],
904                    },
905                    PinInfo {
906                        pin: 25,
907                        limitations: &[],
908                    },
909                    PinInfo {
910                        pin: 26,
911                        limitations: &[],
912                    },
913                    PinInfo {
914                        pin: 27,
915                        limitations: &[],
916                    },
917                    PinInfo {
918                        pin: 32,
919                        limitations: &[],
920                    },
921                    PinInfo {
922                        pin: 33,
923                        limitations: &[],
924                    },
925                    PinInfo {
926                        pin: 34,
927                        limitations: &["input_only"],
928                    },
929                    PinInfo {
930                        pin: 35,
931                        limitations: &["input_only"],
932                    },
933                    PinInfo {
934                        pin: 36,
935                        limitations: &["input_only"],
936                    },
937                    PinInfo {
938                        pin: 37,
939                        limitations: &["input_only"],
940                    },
941                    PinInfo {
942                        pin: 38,
943                        limitations: &["input_only"],
944                    },
945                    PinInfo {
946                        pin: 39,
947                        limitations: &["input_only"],
948                    },
949                ],
950            },
951            Self::Esp32c2 => Config {
952                architecture: "riscv",
953                target: "riscv32imc-unknown-none-elf",
954                symbols: &[
955                    "esp32c2",
956                    "riscv",
957                    "single_core",
958                    "soc_has_apb_ctrl",
959                    "soc_has_apb_saradc",
960                    "soc_has_bb",
961                    "soc_has_assist_debug",
962                    "soc_has_dma",
963                    "soc_has_ecc",
964                    "soc_has_efuse",
965                    "soc_has_extmem",
966                    "soc_has_mmu_table",
967                    "soc_has_gpio",
968                    "soc_has_i2c_ana_mst",
969                    "soc_has_i2c0",
970                    "soc_has_interrupt_core0",
971                    "soc_has_io_mux",
972                    "soc_has_ledc",
973                    "soc_has_rng",
974                    "soc_has_lpwr",
975                    "soc_has_rtc_timer",
976                    "soc_has_modem_clkrst",
977                    "soc_has_sensitive",
978                    "soc_has_sha",
979                    "soc_has_spi0",
980                    "soc_has_spi1",
981                    "soc_has_spi2",
982                    "soc_has_system",
983                    "soc_has_systimer",
984                    "soc_has_timg0",
985                    "soc_has_uart0",
986                    "soc_has_uart1",
987                    "soc_has_xts_aes",
988                    "soc_has_adc1",
989                    "soc_has_bt",
990                    "soc_has_flash",
991                    "soc_has_gpio_dedicated",
992                    "soc_has_wifi",
993                    "soc_has_from_cpu_intr0",
994                    "soc_has_from_cpu_intr1",
995                    "soc_has_from_cpu_intr2",
996                    "soc_has_from_cpu_intr3",
997                    "gpio_driver_supported",
998                    "dedicated_gpio_driver_supported",
999                    "io_mux_driver_supported",
1000                    "lp_io_driver_supported",
1001                    "uart_driver_supported",
1002                    "i2c_master_driver_supported",
1003                    "spi_master_driver_supported",
1004                    "spi_slave_driver_supported",
1005                    "bt_driver_supported",
1006                    "wifi_driver_supported",
1007                    "phy_driver_supported",
1008                    "adc_driver_supported",
1009                    "temp_sensor_driver_supported",
1010                    "ledc_driver_supported",
1011                    "lp_timer_driver_supported",
1012                    "systimer_driver_supported",
1013                    "timergroup_driver_supported",
1014                    "ecc_driver_supported",
1015                    "rng_driver_supported",
1016                    "sha_driver_supported",
1017                    "sleep_driver_supported",
1018                    "assist_debug_driver_supported",
1019                    "dma_driver_supported",
1020                    "interrupts_driver_supported",
1021                    "mmu_driver_supported",
1022                    "flash_driver_supported",
1023                    "rom_driver_supported",
1024                    "soc_driver_supported",
1025                    "uart_uart0",
1026                    "uart_uart1",
1027                    "i2c_master_i2c0",
1028                    "spi_master_spi2",
1029                    "spi_slave_spi2",
1030                    "adc_adc1",
1031                    "timergroup_timg0",
1032                    "gpio_version=\"2\"",
1033                    "gpio_has_input_sync",
1034                    "gpio_gpio_function=\"1\"",
1035                    "gpio_constant_0_input=\"31\"",
1036                    "gpio_constant_1_input=\"30\"",
1037                    "gpio_func_in_sel_offset=\"0\"",
1038                    "gpio_input_signal_max=\"100\"",
1039                    "gpio_output_signal_max=\"128\"",
1040                    "dedicated_gpio_version=\"riscv_v1\"",
1041                    "lp_io_version=\"v3\"",
1042                    "uart_ram_size=\"128\"",
1043                    "uart_version=\"1\"",
1044                    "uart_has_sclk_divider",
1045                    "uart_has_sclk_enable",
1046                    "i2c_master_version=\"3\"",
1047                    "i2c_master_has_fsm_timeouts",
1048                    "i2c_master_has_hw_bus_clear",
1049                    "i2c_master_has_bus_timeout_enable",
1050                    "i2c_master_has_conf_update",
1051                    "i2c_master_has_arbitration_en",
1052                    "i2c_master_has_tx_fifo_watermark",
1053                    "i2c_master_bus_timeout_is_exponential",
1054                    "i2c_master_has_pd_en",
1055                    "i2c_master_max_bus_timeout=\"31\"",
1056                    "i2c_master_ll_intr_mask=\"262143\"",
1057                    "i2c_master_fifo_size=\"16\"",
1058                    "spi_master_version=\"3\"",
1059                    "spi_master_fifo_size=\"64\"",
1060                    "spi_master_has_app_interrupts",
1061                    "spi_master_has_dma_segmented_transfer",
1062                    "bt_controller=\"npl\"",
1063                    "wifi_mac_version=\"1\"",
1064                    "phy_combo_module",
1065                    "ledc_version=\"2\"",
1066                    "ledc_channel_count=\"6\"",
1067                    "timergroup_timg_has_divcnt_rst",
1068                    "timergroup_rc_fast_calibration_is_set",
1069                    "ecc_zero_extend_writes",
1070                    "ecc_has_finite_field_division",
1071                    "ecc_has_curve_p192",
1072                    "ecc_has_curve_p256",
1073                    "rng_apb_cycle_wait_num=\"16\"",
1074                    "rng_trng_supported",
1075                    "sleep_light_sleep",
1076                    "sleep_deep_sleep",
1077                    "sleep_has_wakeup_source_gpio",
1078                    "sleep_has_wakeup_source_timer",
1079                    "sleep_has_wakeup_source_sdio",
1080                    "sleep_has_wakeup_source_wifi",
1081                    "sleep_has_wakeup_source_uart",
1082                    "sleep_has_wakeup_source_touch",
1083                    "sleep_has_wakeup_source_ulp",
1084                    "sleep_has_wakeup_source_bt",
1085                    "sleep_pin_wakeup_version=\"2\"",
1086                    "sleep_pin_wakeup_version_is_set",
1087                    "sleep_deep_sleep_needs_gpio_isolation",
1088                    "assist_debug_has_sp_monitor",
1089                    "dma_gdma_version=\"1\"",
1090                    "dma_gdma_version_is_set",
1091                    "soc_has_dma_ch0",
1092                    "dma_supports_mem2mem",
1093                    "sha_supports_dma",
1094                    "sha_dma_engine=\"AHB_GDMA\"",
1095                    "spi_master_supports_dma",
1096                    "spi_master_dma_engine=\"AHB_GDMA\"",
1097                    "spi_slave_supports_dma",
1098                    "spi_slave_dma_engine=\"AHB_GDMA\"",
1099                    "dma_max_priority=\"9\"",
1100                    "dma_max_priority_is_set",
1101                    "interrupts_status_registers=\"2\"",
1102                    "interrupt_controller=\"riscv_basic\"",
1103                    "context_switch_source=\"from_cpu\"",
1104                    "mmu_page_size=\"65536\"",
1105                    "mmu_entry_num=\"64\"",
1106                    "rom_has_crc_le",
1107                    "rom_has_crc_be",
1108                    "rom_has_md5_mbedtls",
1109                    "soc_cpu_has_csr_pc",
1110                    "soc_has_swd_watchdog",
1111                    "soc_cpu_mcause_mask=\"31\"",
1112                    "soc_has_clock_node_xtal_clk",
1113                    "soc_clock_node_xtal_clk_is_configurable",
1114                    "soc_has_clock_node_pll_clk",
1115                    "soc_has_clock_node_rc_fast_clk",
1116                    "soc_has_clock_node_osc_slow_clk",
1117                    "soc_has_clock_node_rc_slow_clk",
1118                    "soc_has_clock_node_rc_fast_div_clk",
1119                    "soc_has_clock_node_system_pre_div_in",
1120                    "soc_clock_node_system_pre_div_in_is_configurable",
1121                    "soc_has_clock_node_system_pre_div",
1122                    "soc_clock_node_system_pre_div_is_configurable",
1123                    "soc_has_clock_node_cpu_pll_div",
1124                    "soc_clock_node_cpu_pll_div_is_configurable",
1125                    "soc_has_clock_node_cpu_clk",
1126                    "soc_clock_node_cpu_clk_is_configurable",
1127                    "soc_has_clock_node_pll_40m",
1128                    "soc_has_clock_node_pll_60m",
1129                    "soc_has_clock_node_pll_80m",
1130                    "soc_has_clock_node_cpu_div2",
1131                    "soc_has_clock_node_apb_clk",
1132                    "soc_clock_node_apb_clk_is_configurable",
1133                    "soc_has_clock_node_crypto_clk",
1134                    "soc_clock_node_crypto_clk_is_configurable",
1135                    "soc_has_clock_node_mspi_clk",
1136                    "soc_clock_node_mspi_clk_is_configurable",
1137                    "soc_has_clock_node_rc_fast_clk_div_n",
1138                    "soc_clock_node_rc_fast_clk_div_n_is_configurable",
1139                    "soc_has_clock_node_xtal_div_clk",
1140                    "soc_has_clock_node_rtc_slow_clk",
1141                    "soc_clock_node_rtc_slow_clk_is_configurable",
1142                    "soc_has_clock_node_rtc_fast_clk",
1143                    "soc_clock_node_rtc_fast_clk_is_configurable",
1144                    "soc_has_clock_node_low_power_clk",
1145                    "soc_clock_node_low_power_clk_is_configurable",
1146                    "soc_has_clock_node_uart_mem_clk",
1147                    "soc_has_clock_node_timg_calibration_clock",
1148                    "soc_clock_node_timg_calibration_clock_is_configurable",
1149                    "soc_has_clock_node_timg_function_clock",
1150                    "soc_clock_node_timg_function_clock_is_configurable",
1151                    "soc_has_clock_node_timg_wdt_clock",
1152                    "soc_clock_node_timg_wdt_clock_is_configurable",
1153                    "soc_has_clock_node_uart_function_clock",
1154                    "soc_clock_node_uart_function_clock_is_configurable",
1155                    "soc_has_clock_node_uart_mem_clock",
1156                    "soc_has_clock_node_uart_baud_rate_generator",
1157                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
1158                    "soc_has_clock_node_i2c_function_clock",
1159                    "soc_clock_node_i2c_function_clock_is_configurable",
1160                    "soc_has_clock_node_spi_function_clock",
1161                    "soc_clock_node_spi_function_clock_is_configurable",
1162                    "has_dram_region",
1163                    "has_dram2_uninit_region",
1164                    "has_irom_region",
1165                    "has_drom_region",
1166                ],
1167                cfgs: &[
1168                    "cargo:rustc-cfg=esp32c2",
1169                    "cargo:rustc-cfg=riscv",
1170                    "cargo:rustc-cfg=single_core",
1171                    "cargo:rustc-cfg=soc_has_apb_ctrl",
1172                    "cargo:rustc-cfg=soc_has_apb_saradc",
1173                    "cargo:rustc-cfg=soc_has_bb",
1174                    "cargo:rustc-cfg=soc_has_assist_debug",
1175                    "cargo:rustc-cfg=soc_has_dma",
1176                    "cargo:rustc-cfg=soc_has_ecc",
1177                    "cargo:rustc-cfg=soc_has_efuse",
1178                    "cargo:rustc-cfg=soc_has_extmem",
1179                    "cargo:rustc-cfg=soc_has_mmu_table",
1180                    "cargo:rustc-cfg=soc_has_gpio",
1181                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
1182                    "cargo:rustc-cfg=soc_has_i2c0",
1183                    "cargo:rustc-cfg=soc_has_interrupt_core0",
1184                    "cargo:rustc-cfg=soc_has_io_mux",
1185                    "cargo:rustc-cfg=soc_has_ledc",
1186                    "cargo:rustc-cfg=soc_has_rng",
1187                    "cargo:rustc-cfg=soc_has_lpwr",
1188                    "cargo:rustc-cfg=soc_has_rtc_timer",
1189                    "cargo:rustc-cfg=soc_has_modem_clkrst",
1190                    "cargo:rustc-cfg=soc_has_sensitive",
1191                    "cargo:rustc-cfg=soc_has_sha",
1192                    "cargo:rustc-cfg=soc_has_spi0",
1193                    "cargo:rustc-cfg=soc_has_spi1",
1194                    "cargo:rustc-cfg=soc_has_spi2",
1195                    "cargo:rustc-cfg=soc_has_system",
1196                    "cargo:rustc-cfg=soc_has_systimer",
1197                    "cargo:rustc-cfg=soc_has_timg0",
1198                    "cargo:rustc-cfg=soc_has_uart0",
1199                    "cargo:rustc-cfg=soc_has_uart1",
1200                    "cargo:rustc-cfg=soc_has_xts_aes",
1201                    "cargo:rustc-cfg=soc_has_adc1",
1202                    "cargo:rustc-cfg=soc_has_bt",
1203                    "cargo:rustc-cfg=soc_has_flash",
1204                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
1205                    "cargo:rustc-cfg=soc_has_wifi",
1206                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
1207                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
1208                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
1209                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
1210                    "cargo:rustc-cfg=gpio_driver_supported",
1211                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
1212                    "cargo:rustc-cfg=io_mux_driver_supported",
1213                    "cargo:rustc-cfg=lp_io_driver_supported",
1214                    "cargo:rustc-cfg=uart_driver_supported",
1215                    "cargo:rustc-cfg=i2c_master_driver_supported",
1216                    "cargo:rustc-cfg=spi_master_driver_supported",
1217                    "cargo:rustc-cfg=spi_slave_driver_supported",
1218                    "cargo:rustc-cfg=bt_driver_supported",
1219                    "cargo:rustc-cfg=wifi_driver_supported",
1220                    "cargo:rustc-cfg=phy_driver_supported",
1221                    "cargo:rustc-cfg=adc_driver_supported",
1222                    "cargo:rustc-cfg=temp_sensor_driver_supported",
1223                    "cargo:rustc-cfg=ledc_driver_supported",
1224                    "cargo:rustc-cfg=lp_timer_driver_supported",
1225                    "cargo:rustc-cfg=systimer_driver_supported",
1226                    "cargo:rustc-cfg=timergroup_driver_supported",
1227                    "cargo:rustc-cfg=ecc_driver_supported",
1228                    "cargo:rustc-cfg=rng_driver_supported",
1229                    "cargo:rustc-cfg=sha_driver_supported",
1230                    "cargo:rustc-cfg=sleep_driver_supported",
1231                    "cargo:rustc-cfg=assist_debug_driver_supported",
1232                    "cargo:rustc-cfg=dma_driver_supported",
1233                    "cargo:rustc-cfg=interrupts_driver_supported",
1234                    "cargo:rustc-cfg=mmu_driver_supported",
1235                    "cargo:rustc-cfg=flash_driver_supported",
1236                    "cargo:rustc-cfg=rom_driver_supported",
1237                    "cargo:rustc-cfg=soc_driver_supported",
1238                    "cargo:rustc-cfg=uart_uart0",
1239                    "cargo:rustc-cfg=uart_uart1",
1240                    "cargo:rustc-cfg=i2c_master_i2c0",
1241                    "cargo:rustc-cfg=spi_master_spi2",
1242                    "cargo:rustc-cfg=spi_slave_spi2",
1243                    "cargo:rustc-cfg=adc_adc1",
1244                    "cargo:rustc-cfg=timergroup_timg0",
1245                    "cargo:rustc-cfg=gpio_version=\"2\"",
1246                    "cargo:rustc-cfg=gpio_has_input_sync",
1247                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
1248                    "cargo:rustc-cfg=gpio_constant_0_input=\"31\"",
1249                    "cargo:rustc-cfg=gpio_constant_1_input=\"30\"",
1250                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
1251                    "cargo:rustc-cfg=gpio_input_signal_max=\"100\"",
1252                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
1253                    "cargo:rustc-cfg=dedicated_gpio_version=\"riscv_v1\"",
1254                    "cargo:rustc-cfg=lp_io_version=\"v3\"",
1255                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
1256                    "cargo:rustc-cfg=uart_version=\"1\"",
1257                    "cargo:rustc-cfg=uart_has_sclk_divider",
1258                    "cargo:rustc-cfg=uart_has_sclk_enable",
1259                    "cargo:rustc-cfg=i2c_master_version=\"3\"",
1260                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
1261                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
1262                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
1263                    "cargo:rustc-cfg=i2c_master_has_conf_update",
1264                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
1265                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
1266                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
1267                    "cargo:rustc-cfg=i2c_master_has_pd_en",
1268                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
1269                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
1270                    "cargo:rustc-cfg=i2c_master_fifo_size=\"16\"",
1271                    "cargo:rustc-cfg=spi_master_version=\"3\"",
1272                    "cargo:rustc-cfg=spi_master_fifo_size=\"64\"",
1273                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
1274                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
1275                    "cargo:rustc-cfg=bt_controller=\"npl\"",
1276                    "cargo:rustc-cfg=wifi_mac_version=\"1\"",
1277                    "cargo:rustc-cfg=phy_combo_module",
1278                    "cargo:rustc-cfg=ledc_version=\"2\"",
1279                    "cargo:rustc-cfg=ledc_channel_count=\"6\"",
1280                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
1281                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
1282                    "cargo:rustc-cfg=ecc_zero_extend_writes",
1283                    "cargo:rustc-cfg=ecc_has_finite_field_division",
1284                    "cargo:rustc-cfg=ecc_has_curve_p192",
1285                    "cargo:rustc-cfg=ecc_has_curve_p256",
1286                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
1287                    "cargo:rustc-cfg=rng_trng_supported",
1288                    "cargo:rustc-cfg=sleep_light_sleep",
1289                    "cargo:rustc-cfg=sleep_deep_sleep",
1290                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
1291                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
1292                    "cargo:rustc-cfg=sleep_has_wakeup_source_sdio",
1293                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi",
1294                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
1295                    "cargo:rustc-cfg=sleep_has_wakeup_source_touch",
1296                    "cargo:rustc-cfg=sleep_has_wakeup_source_ulp",
1297                    "cargo:rustc-cfg=sleep_has_wakeup_source_bt",
1298                    "cargo:rustc-cfg=sleep_pin_wakeup_version=\"2\"",
1299                    "cargo:rustc-cfg=sleep_pin_wakeup_version_is_set",
1300                    "cargo:rustc-cfg=sleep_deep_sleep_needs_gpio_isolation",
1301                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
1302                    "cargo:rustc-cfg=dma_gdma_version=\"1\"",
1303                    "cargo:rustc-cfg=dma_gdma_version_is_set",
1304                    "cargo:rustc-cfg=soc_has_dma_ch0",
1305                    "cargo:rustc-cfg=dma_supports_mem2mem",
1306                    "cargo:rustc-cfg=sha_supports_dma",
1307                    "cargo:rustc-cfg=sha_dma_engine=\"AHB_GDMA\"",
1308                    "cargo:rustc-cfg=spi_master_supports_dma",
1309                    "cargo:rustc-cfg=spi_master_dma_engine=\"AHB_GDMA\"",
1310                    "cargo:rustc-cfg=spi_slave_supports_dma",
1311                    "cargo:rustc-cfg=spi_slave_dma_engine=\"AHB_GDMA\"",
1312                    "cargo:rustc-cfg=dma_max_priority=\"9\"",
1313                    "cargo:rustc-cfg=dma_max_priority_is_set",
1314                    "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
1315                    "cargo:rustc-cfg=interrupt_controller=\"riscv_basic\"",
1316                    "cargo:rustc-cfg=context_switch_source=\"from_cpu\"",
1317                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
1318                    "cargo:rustc-cfg=mmu_entry_num=\"64\"",
1319                    "cargo:rustc-cfg=rom_has_crc_le",
1320                    "cargo:rustc-cfg=rom_has_crc_be",
1321                    "cargo:rustc-cfg=rom_has_md5_mbedtls",
1322                    "cargo:rustc-cfg=soc_cpu_has_csr_pc",
1323                    "cargo:rustc-cfg=soc_has_swd_watchdog",
1324                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"31\"",
1325                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
1326                    "cargo:rustc-cfg=soc_clock_node_xtal_clk_is_configurable",
1327                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
1328                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
1329                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
1330                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
1331                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_div_clk",
1332                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div_in",
1333                    "cargo:rustc-cfg=soc_clock_node_system_pre_div_in_is_configurable",
1334                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div",
1335                    "cargo:rustc-cfg=soc_clock_node_system_pre_div_is_configurable",
1336                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div",
1337                    "cargo:rustc-cfg=soc_clock_node_cpu_pll_div_is_configurable",
1338                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
1339                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
1340                    "cargo:rustc-cfg=soc_has_clock_node_pll_40m",
1341                    "cargo:rustc-cfg=soc_has_clock_node_pll_60m",
1342                    "cargo:rustc-cfg=soc_has_clock_node_pll_80m",
1343                    "cargo:rustc-cfg=soc_has_clock_node_cpu_div2",
1344                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
1345                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
1346                    "cargo:rustc-cfg=soc_has_clock_node_crypto_clk",
1347                    "cargo:rustc-cfg=soc_clock_node_crypto_clk_is_configurable",
1348                    "cargo:rustc-cfg=soc_has_clock_node_mspi_clk",
1349                    "cargo:rustc-cfg=soc_clock_node_mspi_clk_is_configurable",
1350                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk_div_n",
1351                    "cargo:rustc-cfg=soc_clock_node_rc_fast_clk_div_n_is_configurable",
1352                    "cargo:rustc-cfg=soc_has_clock_node_xtal_div_clk",
1353                    "cargo:rustc-cfg=soc_has_clock_node_rtc_slow_clk",
1354                    "cargo:rustc-cfg=soc_clock_node_rtc_slow_clk_is_configurable",
1355                    "cargo:rustc-cfg=soc_has_clock_node_rtc_fast_clk",
1356                    "cargo:rustc-cfg=soc_clock_node_rtc_fast_clk_is_configurable",
1357                    "cargo:rustc-cfg=soc_has_clock_node_low_power_clk",
1358                    "cargo:rustc-cfg=soc_clock_node_low_power_clk_is_configurable",
1359                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clk",
1360                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
1361                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
1362                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
1363                    "cargo:rustc-cfg=soc_clock_node_timg_function_clock_is_configurable",
1364                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
1365                    "cargo:rustc-cfg=soc_clock_node_timg_wdt_clock_is_configurable",
1366                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
1367                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
1368                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
1369                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
1370                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
1371                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
1372                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
1373                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
1374                    "cargo:rustc-cfg=soc_clock_node_spi_function_clock_is_configurable",
1375                    "cargo:rustc-cfg=has_dram_region",
1376                    "cargo:rustc-cfg=has_dram2_uninit_region",
1377                    "cargo:rustc-cfg=has_irom_region",
1378                    "cargo:rustc-cfg=has_drom_region",
1379                ],
1380                memory_layout: &MemoryLayout {
1381                    regions: &[
1382                        (
1383                            "dram",
1384                            MemoryRegion {
1385                                address_range: 0x3FCA0000..0x3FCE0000,
1386                            },
1387                        ),
1388                        (
1389                            "dram2_uninit",
1390                            MemoryRegion {
1391                                address_range: 0x3FCCE800..0x3FCDEB70,
1392                            },
1393                        ),
1394                        (
1395                            "irom",
1396                            MemoryRegion {
1397                                address_range: 0x42000000..0x42400000,
1398                            },
1399                        ),
1400                        (
1401                            "drom",
1402                            MemoryRegion {
1403                                address_range: 0x3C000000..0x3C400000,
1404                            },
1405                        ),
1406                    ],
1407                },
1408                pins: &[
1409                    PinInfo {
1410                        pin: 0,
1411                        limitations: &[],
1412                    },
1413                    PinInfo {
1414                        pin: 1,
1415                        limitations: &[],
1416                    },
1417                    PinInfo {
1418                        pin: 2,
1419                        limitations: &[],
1420                    },
1421                    PinInfo {
1422                        pin: 3,
1423                        limitations: &[],
1424                    },
1425                    PinInfo {
1426                        pin: 4,
1427                        limitations: &["jtag"],
1428                    },
1429                    PinInfo {
1430                        pin: 5,
1431                        limitations: &["jtag"],
1432                    },
1433                    PinInfo {
1434                        pin: 6,
1435                        limitations: &["jtag"],
1436                    },
1437                    PinInfo {
1438                        pin: 7,
1439                        limitations: &["jtag"],
1440                    },
1441                    PinInfo {
1442                        pin: 8,
1443                        limitations: &["strapping"],
1444                    },
1445                    PinInfo {
1446                        pin: 9,
1447                        limitations: &["strapping"],
1448                    },
1449                    PinInfo {
1450                        pin: 10,
1451                        limitations: &[],
1452                    },
1453                    PinInfo {
1454                        pin: 11,
1455                        limitations: &["spi_flash"],
1456                    },
1457                    PinInfo {
1458                        pin: 12,
1459                        limitations: &["spi_flash"],
1460                    },
1461                    PinInfo {
1462                        pin: 13,
1463                        limitations: &["spi_flash"],
1464                    },
1465                    PinInfo {
1466                        pin: 14,
1467                        limitations: &["spi_flash"],
1468                    },
1469                    PinInfo {
1470                        pin: 15,
1471                        limitations: &["spi_flash"],
1472                    },
1473                    PinInfo {
1474                        pin: 16,
1475                        limitations: &["spi_flash"],
1476                    },
1477                    PinInfo {
1478                        pin: 17,
1479                        limitations: &["spi_flash"],
1480                    },
1481                    PinInfo {
1482                        pin: 18,
1483                        limitations: &[],
1484                    },
1485                    PinInfo {
1486                        pin: 19,
1487                        limitations: &["bootloader_uart"],
1488                    },
1489                    PinInfo {
1490                        pin: 20,
1491                        limitations: &["bootloader_uart"],
1492                    },
1493                ],
1494            },
1495            Self::Esp32c3 => Config {
1496                architecture: "riscv",
1497                target: "riscv32imc-unknown-none-elf",
1498                symbols: &[
1499                    "esp32c3",
1500                    "riscv",
1501                    "single_core",
1502                    "soc_has_aes",
1503                    "soc_has_apb_ctrl",
1504                    "soc_has_apb_saradc",
1505                    "soc_has_assist_debug",
1506                    "soc_has_bb",
1507                    "soc_has_dma",
1508                    "soc_has_ds",
1509                    "soc_has_efuse",
1510                    "soc_has_extmem",
1511                    "soc_has_mmu_table",
1512                    "soc_has_fe",
1513                    "soc_has_fe2",
1514                    "soc_has_gpio",
1515                    "soc_has_gpio_sd",
1516                    "soc_has_hmac",
1517                    "soc_has_i2c_ana_mst",
1518                    "soc_has_i2c0",
1519                    "soc_has_i2s0",
1520                    "soc_has_interrupt_core0",
1521                    "soc_has_io_mux",
1522                    "soc_has_ledc",
1523                    "soc_has_nrx",
1524                    "soc_has_rmt",
1525                    "soc_has_rng",
1526                    "soc_has_rsa",
1527                    "soc_has_lpwr",
1528                    "soc_has_rtc_timer",
1529                    "soc_has_sensitive",
1530                    "soc_has_sha",
1531                    "soc_has_spi0",
1532                    "soc_has_spi1",
1533                    "soc_has_spi2",
1534                    "soc_has_system",
1535                    "soc_has_systimer",
1536                    "soc_has_timg0",
1537                    "soc_has_timg1",
1538                    "soc_has_twai0",
1539                    "soc_has_uart0",
1540                    "soc_has_uart1",
1541                    "soc_has_uhci0",
1542                    "soc_has_usb_device",
1543                    "soc_has_xts_aes",
1544                    "soc_has_adc1",
1545                    "soc_has_adc2",
1546                    "soc_has_bt",
1547                    "soc_has_flash",
1548                    "soc_has_gpio_dedicated",
1549                    "soc_has_tsens",
1550                    "soc_has_wifi",
1551                    "soc_has_from_cpu_intr0",
1552                    "soc_has_from_cpu_intr1",
1553                    "soc_has_from_cpu_intr2",
1554                    "soc_has_from_cpu_intr3",
1555                    "gpio_driver_supported",
1556                    "dedicated_gpio_driver_supported",
1557                    "io_mux_driver_supported",
1558                    "lp_io_driver_supported",
1559                    "uart_driver_supported",
1560                    "uhci_driver_supported",
1561                    "i2c_master_driver_supported",
1562                    "i2c_slave_driver_supported",
1563                    "spi_master_driver_supported",
1564                    "spi_slave_driver_supported",
1565                    "i2s_driver_supported",
1566                    "rmt_driver_supported",
1567                    "twai_driver_supported",
1568                    "usb_serial_jtag_driver_supported",
1569                    "bt_driver_supported",
1570                    "wifi_driver_supported",
1571                    "phy_driver_supported",
1572                    "adc_driver_supported",
1573                    "temp_sensor_driver_supported",
1574                    "ledc_driver_supported",
1575                    "lp_timer_driver_supported",
1576                    "sdm_driver_supported",
1577                    "systimer_driver_supported",
1578                    "timergroup_driver_supported",
1579                    "aes_driver_supported",
1580                    "hmac_driver_supported",
1581                    "rng_driver_supported",
1582                    "rsa_driver_supported",
1583                    "sha_driver_supported",
1584                    "sleep_driver_supported",
1585                    "assist_debug_driver_supported",
1586                    "dma_driver_supported",
1587                    "interrupts_driver_supported",
1588                    "mmu_driver_supported",
1589                    "flash_driver_supported",
1590                    "rom_driver_supported",
1591                    "soc_driver_supported",
1592                    "uart_uart0",
1593                    "uart_uart1",
1594                    "i2c_master_i2c0",
1595                    "i2c_slave_i2c0",
1596                    "spi_master_spi2",
1597                    "spi_slave_spi2",
1598                    "i2s_i2s0",
1599                    "adc_adc1",
1600                    "adc_adc2",
1601                    "timergroup_timg0",
1602                    "timergroup_timg1",
1603                    "gpio_version=\"2\"",
1604                    "gpio_has_input_sync",
1605                    "gpio_gpio_function=\"1\"",
1606                    "gpio_constant_0_input=\"31\"",
1607                    "gpio_constant_1_input=\"30\"",
1608                    "gpio_func_in_sel_offset=\"0\"",
1609                    "gpio_input_signal_max=\"100\"",
1610                    "gpio_output_signal_max=\"128\"",
1611                    "dedicated_gpio_version=\"riscv_v1\"",
1612                    "lp_io_version=\"v3\"",
1613                    "uart_ram_size=\"128\"",
1614                    "uart_version=\"1\"",
1615                    "uart_has_sclk_divider",
1616                    "uart_has_sclk_enable",
1617                    "i2c_master_version=\"3\"",
1618                    "i2c_master_has_fsm_timeouts",
1619                    "i2c_master_has_hw_bus_clear",
1620                    "i2c_master_has_bus_timeout_enable",
1621                    "i2c_master_has_conf_update",
1622                    "i2c_master_has_arbitration_en",
1623                    "i2c_master_has_tx_fifo_watermark",
1624                    "i2c_master_bus_timeout_is_exponential",
1625                    "i2c_master_has_pd_en",
1626                    "i2c_master_max_bus_timeout=\"31\"",
1627                    "i2c_master_ll_intr_mask=\"262143\"",
1628                    "i2c_master_fifo_size=\"32\"",
1629                    "spi_master_version=\"3\"",
1630                    "spi_master_fifo_size=\"64\"",
1631                    "spi_master_bit_order_is_bool",
1632                    "spi_master_has_app_interrupts",
1633                    "spi_master_has_dma_segmented_transfer",
1634                    "i2s_version=\"2\"",
1635                    "i2s_version_is_set",
1636                    "i2s_mclk_divider_bit_width=\"9\"",
1637                    "i2s_mclk_divider_bit_width_is_set",
1638                    "i2s_max_ws_width=\"128\"",
1639                    "i2s_max_ws_width_is_set",
1640                    "i2s_supports_pdm_tx",
1641                    "i2s_supports_pdm_rx",
1642                    "i2s_supports_pcm2pdm",
1643                    "rmt_ram_start=\"1610703872\"",
1644                    "rmt_channel_ram_size=\"48\"",
1645                    "rmt_has_tx_immediate_stop",
1646                    "rmt_has_tx_loop_count",
1647                    "rmt_has_tx_carrier_data_only",
1648                    "rmt_has_tx_sync",
1649                    "rmt_has_rx_wrap",
1650                    "rmt_has_rx_demodulation",
1651                    "bt_controller=\"btdm\"",
1652                    "wifi_mac_version=\"1\"",
1653                    "wifi_csi_supported",
1654                    "phy_combo_module",
1655                    "phy_backed_up_digital_register_count=\"21\"",
1656                    "phy_backed_up_digital_register_count_is_set",
1657                    "ledc_version=\"2\"",
1658                    "ledc_channel_count=\"6\"",
1659                    "soc_has_sdm_ch0",
1660                    "soc_has_sdm_ch1",
1661                    "soc_has_sdm_ch2",
1662                    "soc_has_sdm_ch3",
1663                    "timergroup_timg_has_divcnt_rst",
1664                    "timergroup_rc_fast_calibration_is_set",
1665                    "aes_dma_mode_ecb",
1666                    "aes_dma_mode_cbc",
1667                    "aes_dma_mode_ofb",
1668                    "aes_dma_mode_ctr",
1669                    "aes_dma_mode_cfb8",
1670                    "aes_dma_mode_cfb128",
1671                    "aes_has_split_text_registers",
1672                    "rng_apb_cycle_wait_num=\"16\"",
1673                    "rng_trng_supported",
1674                    "rsa_version=\"3\"",
1675                    "rsa_size_increment=\"32\"",
1676                    "rsa_memory_size_bytes=\"384\"",
1677                    "sleep_light_sleep",
1678                    "sleep_deep_sleep",
1679                    "sleep_has_wakeup_source_gpio",
1680                    "sleep_has_wakeup_source_timer",
1681                    "sleep_has_wakeup_source_sdio",
1682                    "sleep_has_wakeup_source_wifi",
1683                    "sleep_has_wakeup_source_uart",
1684                    "sleep_has_wakeup_source_touch",
1685                    "sleep_has_wakeup_source_ulp",
1686                    "sleep_has_wakeup_source_bt",
1687                    "sleep_pin_wakeup_version=\"2\"",
1688                    "sleep_pin_wakeup_version_is_set",
1689                    "sleep_deep_sleep_needs_gpio_isolation",
1690                    "assist_debug_has_sp_monitor",
1691                    "assist_debug_has_region_monitor",
1692                    "dma_mem2mem_requires_peripheral",
1693                    "dma_gdma_version=\"1\"",
1694                    "dma_gdma_version_is_set",
1695                    "soc_has_dma_ch0",
1696                    "soc_has_dma_ch1",
1697                    "soc_has_dma_ch2",
1698                    "dma_supports_mem2mem",
1699                    "aes_supports_dma",
1700                    "aes_dma_engine=\"AHB_GDMA\"",
1701                    "sha_supports_dma",
1702                    "sha_dma_engine=\"AHB_GDMA\"",
1703                    "spi_master_supports_dma",
1704                    "spi_master_dma_engine=\"AHB_GDMA\"",
1705                    "spi_slave_supports_dma",
1706                    "spi_slave_dma_engine=\"AHB_GDMA\"",
1707                    "uhci_supports_dma",
1708                    "uhci_dma_engine=\"AHB_GDMA\"",
1709                    "i2s_supports_dma",
1710                    "i2s_dma_engine=\"AHB_GDMA\"",
1711                    "dma_max_priority=\"9\"",
1712                    "dma_max_priority_is_set",
1713                    "interrupts_status_registers=\"2\"",
1714                    "interrupt_controller=\"riscv_basic\"",
1715                    "context_switch_source=\"from_cpu\"",
1716                    "mmu_page_size=\"65536\"",
1717                    "mmu_entry_num=\"128\"",
1718                    "rom_has_crc_le",
1719                    "rom_has_crc_be",
1720                    "rom_has_md5_bsd",
1721                    "soc_cpu_has_csr_pc",
1722                    "soc_has_swd_watchdog",
1723                    "soc_cpu_mcause_mask=\"31\"",
1724                    "soc_has_clock_node_xtal_clk",
1725                    "soc_clock_node_xtal_clk_is_configurable",
1726                    "soc_has_clock_node_pll_clk",
1727                    "soc_clock_node_pll_clk_is_configurable",
1728                    "soc_has_clock_node_rc_fast_clk",
1729                    "soc_has_clock_node_xtal32k_clk",
1730                    "soc_has_clock_node_rc_slow_clk",
1731                    "soc_has_clock_node_rc_fast_div_clk",
1732                    "soc_has_clock_node_system_pre_div_in",
1733                    "soc_clock_node_system_pre_div_in_is_configurable",
1734                    "soc_has_clock_node_system_pre_div",
1735                    "soc_clock_node_system_pre_div_is_configurable",
1736                    "soc_has_clock_node_cpu_pll_div_out",
1737                    "soc_clock_node_cpu_pll_div_out_is_configurable",
1738                    "soc_has_clock_node_cpu_clk",
1739                    "soc_clock_node_cpu_clk_is_configurable",
1740                    "soc_has_clock_node_pll_80m",
1741                    "soc_has_clock_node_pll_160m",
1742                    "soc_has_clock_node_apb_clk",
1743                    "soc_clock_node_apb_clk_is_configurable",
1744                    "soc_has_clock_node_crypto_clk",
1745                    "soc_clock_node_crypto_clk_is_configurable",
1746                    "soc_has_clock_node_rc_fast_clk_div_n",
1747                    "soc_clock_node_rc_fast_clk_div_n_is_configurable",
1748                    "soc_has_clock_node_xtal_div_clk",
1749                    "soc_has_clock_node_rtc_slow_clk",
1750                    "soc_clock_node_rtc_slow_clk_is_configurable",
1751                    "soc_has_clock_node_rtc_fast_clk",
1752                    "soc_clock_node_rtc_fast_clk_is_configurable",
1753                    "soc_has_clock_node_low_power_clk",
1754                    "soc_clock_node_low_power_clk_is_configurable",
1755                    "soc_has_clock_node_uart_mem_clk",
1756                    "soc_has_clock_node_timg_calibration_clock",
1757                    "soc_clock_node_timg_calibration_clock_is_configurable",
1758                    "soc_has_clock_node_timg_function_clock",
1759                    "soc_clock_node_timg_function_clock_is_configurable",
1760                    "soc_has_clock_node_timg_wdt_clock",
1761                    "soc_clock_node_timg_wdt_clock_is_configurable",
1762                    "soc_has_clock_node_sdm_function_clock",
1763                    "soc_has_clock_node_rmt_sclk",
1764                    "soc_clock_node_rmt_sclk_is_configurable",
1765                    "soc_has_clock_node_uart_function_clock",
1766                    "soc_clock_node_uart_function_clock_is_configurable",
1767                    "soc_has_clock_node_uart_mem_clock",
1768                    "soc_has_clock_node_uart_baud_rate_generator",
1769                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
1770                    "soc_has_clock_node_i2c_function_clock",
1771                    "soc_clock_node_i2c_function_clock_is_configurable",
1772                    "soc_has_clock_node_spi_function_clock",
1773                    "soc_clock_node_spi_function_clock_is_configurable",
1774                    "soc_has_clock_node_i2s_tx_clk",
1775                    "soc_clock_node_i2s_tx_clk_is_configurable",
1776                    "soc_has_clock_node_i2s_rx_clk",
1777                    "soc_clock_node_i2s_rx_clk_is_configurable",
1778                    "soc_has_clock_node_i2s_mclk_out",
1779                    "soc_clock_node_i2s_mclk_out_is_configurable",
1780                    "has_dram_region",
1781                    "has_dram2_uninit_region",
1782                    "has_irom_region",
1783                    "has_drom_region",
1784                ],
1785                cfgs: &[
1786                    "cargo:rustc-cfg=esp32c3",
1787                    "cargo:rustc-cfg=riscv",
1788                    "cargo:rustc-cfg=single_core",
1789                    "cargo:rustc-cfg=soc_has_aes",
1790                    "cargo:rustc-cfg=soc_has_apb_ctrl",
1791                    "cargo:rustc-cfg=soc_has_apb_saradc",
1792                    "cargo:rustc-cfg=soc_has_assist_debug",
1793                    "cargo:rustc-cfg=soc_has_bb",
1794                    "cargo:rustc-cfg=soc_has_dma",
1795                    "cargo:rustc-cfg=soc_has_ds",
1796                    "cargo:rustc-cfg=soc_has_efuse",
1797                    "cargo:rustc-cfg=soc_has_extmem",
1798                    "cargo:rustc-cfg=soc_has_mmu_table",
1799                    "cargo:rustc-cfg=soc_has_fe",
1800                    "cargo:rustc-cfg=soc_has_fe2",
1801                    "cargo:rustc-cfg=soc_has_gpio",
1802                    "cargo:rustc-cfg=soc_has_gpio_sd",
1803                    "cargo:rustc-cfg=soc_has_hmac",
1804                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
1805                    "cargo:rustc-cfg=soc_has_i2c0",
1806                    "cargo:rustc-cfg=soc_has_i2s0",
1807                    "cargo:rustc-cfg=soc_has_interrupt_core0",
1808                    "cargo:rustc-cfg=soc_has_io_mux",
1809                    "cargo:rustc-cfg=soc_has_ledc",
1810                    "cargo:rustc-cfg=soc_has_nrx",
1811                    "cargo:rustc-cfg=soc_has_rmt",
1812                    "cargo:rustc-cfg=soc_has_rng",
1813                    "cargo:rustc-cfg=soc_has_rsa",
1814                    "cargo:rustc-cfg=soc_has_lpwr",
1815                    "cargo:rustc-cfg=soc_has_rtc_timer",
1816                    "cargo:rustc-cfg=soc_has_sensitive",
1817                    "cargo:rustc-cfg=soc_has_sha",
1818                    "cargo:rustc-cfg=soc_has_spi0",
1819                    "cargo:rustc-cfg=soc_has_spi1",
1820                    "cargo:rustc-cfg=soc_has_spi2",
1821                    "cargo:rustc-cfg=soc_has_system",
1822                    "cargo:rustc-cfg=soc_has_systimer",
1823                    "cargo:rustc-cfg=soc_has_timg0",
1824                    "cargo:rustc-cfg=soc_has_timg1",
1825                    "cargo:rustc-cfg=soc_has_twai0",
1826                    "cargo:rustc-cfg=soc_has_uart0",
1827                    "cargo:rustc-cfg=soc_has_uart1",
1828                    "cargo:rustc-cfg=soc_has_uhci0",
1829                    "cargo:rustc-cfg=soc_has_usb_device",
1830                    "cargo:rustc-cfg=soc_has_xts_aes",
1831                    "cargo:rustc-cfg=soc_has_adc1",
1832                    "cargo:rustc-cfg=soc_has_adc2",
1833                    "cargo:rustc-cfg=soc_has_bt",
1834                    "cargo:rustc-cfg=soc_has_flash",
1835                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
1836                    "cargo:rustc-cfg=soc_has_tsens",
1837                    "cargo:rustc-cfg=soc_has_wifi",
1838                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
1839                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
1840                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
1841                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
1842                    "cargo:rustc-cfg=gpio_driver_supported",
1843                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
1844                    "cargo:rustc-cfg=io_mux_driver_supported",
1845                    "cargo:rustc-cfg=lp_io_driver_supported",
1846                    "cargo:rustc-cfg=uart_driver_supported",
1847                    "cargo:rustc-cfg=uhci_driver_supported",
1848                    "cargo:rustc-cfg=i2c_master_driver_supported",
1849                    "cargo:rustc-cfg=i2c_slave_driver_supported",
1850                    "cargo:rustc-cfg=spi_master_driver_supported",
1851                    "cargo:rustc-cfg=spi_slave_driver_supported",
1852                    "cargo:rustc-cfg=i2s_driver_supported",
1853                    "cargo:rustc-cfg=rmt_driver_supported",
1854                    "cargo:rustc-cfg=twai_driver_supported",
1855                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
1856                    "cargo:rustc-cfg=bt_driver_supported",
1857                    "cargo:rustc-cfg=wifi_driver_supported",
1858                    "cargo:rustc-cfg=phy_driver_supported",
1859                    "cargo:rustc-cfg=adc_driver_supported",
1860                    "cargo:rustc-cfg=temp_sensor_driver_supported",
1861                    "cargo:rustc-cfg=ledc_driver_supported",
1862                    "cargo:rustc-cfg=lp_timer_driver_supported",
1863                    "cargo:rustc-cfg=sdm_driver_supported",
1864                    "cargo:rustc-cfg=systimer_driver_supported",
1865                    "cargo:rustc-cfg=timergroup_driver_supported",
1866                    "cargo:rustc-cfg=aes_driver_supported",
1867                    "cargo:rustc-cfg=hmac_driver_supported",
1868                    "cargo:rustc-cfg=rng_driver_supported",
1869                    "cargo:rustc-cfg=rsa_driver_supported",
1870                    "cargo:rustc-cfg=sha_driver_supported",
1871                    "cargo:rustc-cfg=sleep_driver_supported",
1872                    "cargo:rustc-cfg=assist_debug_driver_supported",
1873                    "cargo:rustc-cfg=dma_driver_supported",
1874                    "cargo:rustc-cfg=interrupts_driver_supported",
1875                    "cargo:rustc-cfg=mmu_driver_supported",
1876                    "cargo:rustc-cfg=flash_driver_supported",
1877                    "cargo:rustc-cfg=rom_driver_supported",
1878                    "cargo:rustc-cfg=soc_driver_supported",
1879                    "cargo:rustc-cfg=uart_uart0",
1880                    "cargo:rustc-cfg=uart_uart1",
1881                    "cargo:rustc-cfg=i2c_master_i2c0",
1882                    "cargo:rustc-cfg=i2c_slave_i2c0",
1883                    "cargo:rustc-cfg=spi_master_spi2",
1884                    "cargo:rustc-cfg=spi_slave_spi2",
1885                    "cargo:rustc-cfg=i2s_i2s0",
1886                    "cargo:rustc-cfg=adc_adc1",
1887                    "cargo:rustc-cfg=adc_adc2",
1888                    "cargo:rustc-cfg=timergroup_timg0",
1889                    "cargo:rustc-cfg=timergroup_timg1",
1890                    "cargo:rustc-cfg=gpio_version=\"2\"",
1891                    "cargo:rustc-cfg=gpio_has_input_sync",
1892                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
1893                    "cargo:rustc-cfg=gpio_constant_0_input=\"31\"",
1894                    "cargo:rustc-cfg=gpio_constant_1_input=\"30\"",
1895                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
1896                    "cargo:rustc-cfg=gpio_input_signal_max=\"100\"",
1897                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
1898                    "cargo:rustc-cfg=dedicated_gpio_version=\"riscv_v1\"",
1899                    "cargo:rustc-cfg=lp_io_version=\"v3\"",
1900                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
1901                    "cargo:rustc-cfg=uart_version=\"1\"",
1902                    "cargo:rustc-cfg=uart_has_sclk_divider",
1903                    "cargo:rustc-cfg=uart_has_sclk_enable",
1904                    "cargo:rustc-cfg=i2c_master_version=\"3\"",
1905                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
1906                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
1907                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
1908                    "cargo:rustc-cfg=i2c_master_has_conf_update",
1909                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
1910                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
1911                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
1912                    "cargo:rustc-cfg=i2c_master_has_pd_en",
1913                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
1914                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
1915                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
1916                    "cargo:rustc-cfg=spi_master_version=\"3\"",
1917                    "cargo:rustc-cfg=spi_master_fifo_size=\"64\"",
1918                    "cargo:rustc-cfg=spi_master_bit_order_is_bool",
1919                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
1920                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
1921                    "cargo:rustc-cfg=i2s_version=\"2\"",
1922                    "cargo:rustc-cfg=i2s_version_is_set",
1923                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width=\"9\"",
1924                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width_is_set",
1925                    "cargo:rustc-cfg=i2s_max_ws_width=\"128\"",
1926                    "cargo:rustc-cfg=i2s_max_ws_width_is_set",
1927                    "cargo:rustc-cfg=i2s_supports_pdm_tx",
1928                    "cargo:rustc-cfg=i2s_supports_pdm_rx",
1929                    "cargo:rustc-cfg=i2s_supports_pcm2pdm",
1930                    "cargo:rustc-cfg=rmt_ram_start=\"1610703872\"",
1931                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
1932                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
1933                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
1934                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
1935                    "cargo:rustc-cfg=rmt_has_tx_sync",
1936                    "cargo:rustc-cfg=rmt_has_rx_wrap",
1937                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
1938                    "cargo:rustc-cfg=bt_controller=\"btdm\"",
1939                    "cargo:rustc-cfg=wifi_mac_version=\"1\"",
1940                    "cargo:rustc-cfg=wifi_csi_supported",
1941                    "cargo:rustc-cfg=phy_combo_module",
1942                    "cargo:rustc-cfg=phy_backed_up_digital_register_count=\"21\"",
1943                    "cargo:rustc-cfg=phy_backed_up_digital_register_count_is_set",
1944                    "cargo:rustc-cfg=ledc_version=\"2\"",
1945                    "cargo:rustc-cfg=ledc_channel_count=\"6\"",
1946                    "cargo:rustc-cfg=soc_has_sdm_ch0",
1947                    "cargo:rustc-cfg=soc_has_sdm_ch1",
1948                    "cargo:rustc-cfg=soc_has_sdm_ch2",
1949                    "cargo:rustc-cfg=soc_has_sdm_ch3",
1950                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
1951                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
1952                    "cargo:rustc-cfg=aes_dma_mode_ecb",
1953                    "cargo:rustc-cfg=aes_dma_mode_cbc",
1954                    "cargo:rustc-cfg=aes_dma_mode_ofb",
1955                    "cargo:rustc-cfg=aes_dma_mode_ctr",
1956                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
1957                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
1958                    "cargo:rustc-cfg=aes_has_split_text_registers",
1959                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
1960                    "cargo:rustc-cfg=rng_trng_supported",
1961                    "cargo:rustc-cfg=rsa_version=\"3\"",
1962                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
1963                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
1964                    "cargo:rustc-cfg=sleep_light_sleep",
1965                    "cargo:rustc-cfg=sleep_deep_sleep",
1966                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
1967                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
1968                    "cargo:rustc-cfg=sleep_has_wakeup_source_sdio",
1969                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi",
1970                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
1971                    "cargo:rustc-cfg=sleep_has_wakeup_source_touch",
1972                    "cargo:rustc-cfg=sleep_has_wakeup_source_ulp",
1973                    "cargo:rustc-cfg=sleep_has_wakeup_source_bt",
1974                    "cargo:rustc-cfg=sleep_pin_wakeup_version=\"2\"",
1975                    "cargo:rustc-cfg=sleep_pin_wakeup_version_is_set",
1976                    "cargo:rustc-cfg=sleep_deep_sleep_needs_gpio_isolation",
1977                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
1978                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
1979                    "cargo:rustc-cfg=dma_mem2mem_requires_peripheral",
1980                    "cargo:rustc-cfg=dma_gdma_version=\"1\"",
1981                    "cargo:rustc-cfg=dma_gdma_version_is_set",
1982                    "cargo:rustc-cfg=soc_has_dma_ch0",
1983                    "cargo:rustc-cfg=soc_has_dma_ch1",
1984                    "cargo:rustc-cfg=soc_has_dma_ch2",
1985                    "cargo:rustc-cfg=dma_supports_mem2mem",
1986                    "cargo:rustc-cfg=aes_supports_dma",
1987                    "cargo:rustc-cfg=aes_dma_engine=\"AHB_GDMA\"",
1988                    "cargo:rustc-cfg=sha_supports_dma",
1989                    "cargo:rustc-cfg=sha_dma_engine=\"AHB_GDMA\"",
1990                    "cargo:rustc-cfg=spi_master_supports_dma",
1991                    "cargo:rustc-cfg=spi_master_dma_engine=\"AHB_GDMA\"",
1992                    "cargo:rustc-cfg=spi_slave_supports_dma",
1993                    "cargo:rustc-cfg=spi_slave_dma_engine=\"AHB_GDMA\"",
1994                    "cargo:rustc-cfg=uhci_supports_dma",
1995                    "cargo:rustc-cfg=uhci_dma_engine=\"AHB_GDMA\"",
1996                    "cargo:rustc-cfg=i2s_supports_dma",
1997                    "cargo:rustc-cfg=i2s_dma_engine=\"AHB_GDMA\"",
1998                    "cargo:rustc-cfg=dma_max_priority=\"9\"",
1999                    "cargo:rustc-cfg=dma_max_priority_is_set",
2000                    "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
2001                    "cargo:rustc-cfg=interrupt_controller=\"riscv_basic\"",
2002                    "cargo:rustc-cfg=context_switch_source=\"from_cpu\"",
2003                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
2004                    "cargo:rustc-cfg=mmu_entry_num=\"128\"",
2005                    "cargo:rustc-cfg=rom_has_crc_le",
2006                    "cargo:rustc-cfg=rom_has_crc_be",
2007                    "cargo:rustc-cfg=rom_has_md5_bsd",
2008                    "cargo:rustc-cfg=soc_cpu_has_csr_pc",
2009                    "cargo:rustc-cfg=soc_has_swd_watchdog",
2010                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"31\"",
2011                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
2012                    "cargo:rustc-cfg=soc_clock_node_xtal_clk_is_configurable",
2013                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
2014                    "cargo:rustc-cfg=soc_clock_node_pll_clk_is_configurable",
2015                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
2016                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
2017                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
2018                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_div_clk",
2019                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div_in",
2020                    "cargo:rustc-cfg=soc_clock_node_system_pre_div_in_is_configurable",
2021                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div",
2022                    "cargo:rustc-cfg=soc_clock_node_system_pre_div_is_configurable",
2023                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div_out",
2024                    "cargo:rustc-cfg=soc_clock_node_cpu_pll_div_out_is_configurable",
2025                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
2026                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
2027                    "cargo:rustc-cfg=soc_has_clock_node_pll_80m",
2028                    "cargo:rustc-cfg=soc_has_clock_node_pll_160m",
2029                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
2030                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
2031                    "cargo:rustc-cfg=soc_has_clock_node_crypto_clk",
2032                    "cargo:rustc-cfg=soc_clock_node_crypto_clk_is_configurable",
2033                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk_div_n",
2034                    "cargo:rustc-cfg=soc_clock_node_rc_fast_clk_div_n_is_configurable",
2035                    "cargo:rustc-cfg=soc_has_clock_node_xtal_div_clk",
2036                    "cargo:rustc-cfg=soc_has_clock_node_rtc_slow_clk",
2037                    "cargo:rustc-cfg=soc_clock_node_rtc_slow_clk_is_configurable",
2038                    "cargo:rustc-cfg=soc_has_clock_node_rtc_fast_clk",
2039                    "cargo:rustc-cfg=soc_clock_node_rtc_fast_clk_is_configurable",
2040                    "cargo:rustc-cfg=soc_has_clock_node_low_power_clk",
2041                    "cargo:rustc-cfg=soc_clock_node_low_power_clk_is_configurable",
2042                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clk",
2043                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
2044                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
2045                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
2046                    "cargo:rustc-cfg=soc_clock_node_timg_function_clock_is_configurable",
2047                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
2048                    "cargo:rustc-cfg=soc_clock_node_timg_wdt_clock_is_configurable",
2049                    "cargo:rustc-cfg=soc_has_clock_node_sdm_function_clock",
2050                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
2051                    "cargo:rustc-cfg=soc_clock_node_rmt_sclk_is_configurable",
2052                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
2053                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
2054                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
2055                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
2056                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
2057                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
2058                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
2059                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
2060                    "cargo:rustc-cfg=soc_clock_node_spi_function_clock_is_configurable",
2061                    "cargo:rustc-cfg=soc_has_clock_node_i2s_tx_clk",
2062                    "cargo:rustc-cfg=soc_clock_node_i2s_tx_clk_is_configurable",
2063                    "cargo:rustc-cfg=soc_has_clock_node_i2s_rx_clk",
2064                    "cargo:rustc-cfg=soc_clock_node_i2s_rx_clk_is_configurable",
2065                    "cargo:rustc-cfg=soc_has_clock_node_i2s_mclk_out",
2066                    "cargo:rustc-cfg=soc_clock_node_i2s_mclk_out_is_configurable",
2067                    "cargo:rustc-cfg=has_dram_region",
2068                    "cargo:rustc-cfg=has_dram2_uninit_region",
2069                    "cargo:rustc-cfg=has_irom_region",
2070                    "cargo:rustc-cfg=has_drom_region",
2071                ],
2072                memory_layout: &MemoryLayout {
2073                    regions: &[
2074                        (
2075                            "dram",
2076                            MemoryRegion {
2077                                address_range: 0x3FC80000..0x3FCE0000,
2078                            },
2079                        ),
2080                        (
2081                            "dram2_uninit",
2082                            MemoryRegion {
2083                                address_range: 0x3FCCE400..0x3FCDE710,
2084                            },
2085                        ),
2086                        (
2087                            "irom",
2088                            MemoryRegion {
2089                                address_range: 0x42000000..0x42800000,
2090                            },
2091                        ),
2092                        (
2093                            "drom",
2094                            MemoryRegion {
2095                                address_range: 0x3C000000..0x3C800000,
2096                            },
2097                        ),
2098                    ],
2099                },
2100                pins: &[
2101                    PinInfo {
2102                        pin: 0,
2103                        limitations: &[],
2104                    },
2105                    PinInfo {
2106                        pin: 1,
2107                        limitations: &[],
2108                    },
2109                    PinInfo {
2110                        pin: 2,
2111                        limitations: &["strapping"],
2112                    },
2113                    PinInfo {
2114                        pin: 3,
2115                        limitations: &[],
2116                    },
2117                    PinInfo {
2118                        pin: 4,
2119                        limitations: &["jtag"],
2120                    },
2121                    PinInfo {
2122                        pin: 5,
2123                        limitations: &["jtag"],
2124                    },
2125                    PinInfo {
2126                        pin: 6,
2127                        limitations: &["jtag"],
2128                    },
2129                    PinInfo {
2130                        pin: 7,
2131                        limitations: &["jtag"],
2132                    },
2133                    PinInfo {
2134                        pin: 8,
2135                        limitations: &["strapping"],
2136                    },
2137                    PinInfo {
2138                        pin: 9,
2139                        limitations: &["strapping"],
2140                    },
2141                    PinInfo {
2142                        pin: 10,
2143                        limitations: &[],
2144                    },
2145                    PinInfo {
2146                        pin: 11,
2147                        limitations: &["spi_flash"],
2148                    },
2149                    PinInfo {
2150                        pin: 12,
2151                        limitations: &["spi_flash"],
2152                    },
2153                    PinInfo {
2154                        pin: 13,
2155                        limitations: &["spi_flash"],
2156                    },
2157                    PinInfo {
2158                        pin: 14,
2159                        limitations: &["spi_flash"],
2160                    },
2161                    PinInfo {
2162                        pin: 15,
2163                        limitations: &["spi_flash"],
2164                    },
2165                    PinInfo {
2166                        pin: 16,
2167                        limitations: &["spi_flash"],
2168                    },
2169                    PinInfo {
2170                        pin: 17,
2171                        limitations: &["spi_flash"],
2172                    },
2173                    PinInfo {
2174                        pin: 18,
2175                        limitations: &["usb_jtag"],
2176                    },
2177                    PinInfo {
2178                        pin: 19,
2179                        limitations: &["usb_jtag"],
2180                    },
2181                    PinInfo {
2182                        pin: 20,
2183                        limitations: &["bootloader_uart"],
2184                    },
2185                    PinInfo {
2186                        pin: 21,
2187                        limitations: &["bootloader_uart"],
2188                    },
2189                ],
2190            },
2191            Self::Esp32c5 => Config {
2192                architecture: "riscv",
2193                target: "riscv32imac-unknown-none-elf",
2194                symbols: &[
2195                    "esp32c5",
2196                    "riscv",
2197                    "single_core",
2198                    "soc_has_aes",
2199                    "soc_has_assist_debug",
2200                    "soc_has_apb_saradc",
2201                    "soc_has_cache",
2202                    "soc_has_clint",
2203                    "soc_has_dma",
2204                    "soc_has_ds",
2205                    "soc_has_ecc",
2206                    "soc_has_ecdsa",
2207                    "soc_has_efuse",
2208                    "soc_has_etm",
2209                    "soc_has_gpio",
2210                    "soc_has_gpio_sd",
2211                    "soc_has_hmac",
2212                    "soc_has_hp_apm",
2213                    "soc_has_hp_sys",
2214                    "soc_has_huk",
2215                    "soc_has_i2c_ana_mst",
2216                    "soc_has_i2c0",
2217                    "soc_has_i2s0",
2218                    "soc_has_ieee802154",
2219                    "soc_has_interrupt_core0",
2220                    "soc_has_intpri",
2221                    "soc_has_io_mux",
2222                    "soc_has_keymng",
2223                    "soc_has_lp_ana",
2224                    "soc_has_lp_aon",
2225                    "soc_has_lp_apm0",
2226                    "soc_has_lp_clkrst",
2227                    "soc_has_lp_gpio",
2228                    "soc_has_lp_i2c0",
2229                    "soc_has_lp_i2c_ana_mst",
2230                    "soc_has_lp_io_mux",
2231                    "soc_has_lp_peri",
2232                    "soc_has_lp_tee",
2233                    "soc_has_rtc_timer",
2234                    "soc_has_lp_uart",
2235                    "soc_has_lp_wdt",
2236                    "soc_has_lpwr",
2237                    "soc_has_mcpwm0",
2238                    "soc_has_mem_monitor",
2239                    "soc_has_modem_lpcon",
2240                    "soc_has_modem_syscon",
2241                    "soc_has_parl_io",
2242                    "soc_has_pau",
2243                    "soc_has_pcnt",
2244                    "soc_has_pcr",
2245                    "soc_has_pmu",
2246                    "soc_has_pvt_monitor",
2247                    "soc_has_rmt",
2248                    "soc_has_rng",
2249                    "soc_has_rsa",
2250                    "soc_has_sha",
2251                    "soc_has_slc",
2252                    "soc_has_spi0",
2253                    "soc_has_spi1",
2254                    "soc_has_spi2",
2255                    "soc_has_system",
2256                    "soc_has_systimer",
2257                    "soc_has_tee",
2258                    "soc_has_timg0",
2259                    "soc_has_timg1",
2260                    "soc_has_uart0",
2261                    "soc_has_uart1",
2262                    "soc_has_uhci0",
2263                    "soc_has_usb_device",
2264                    "soc_has_adc1",
2265                    "soc_has_bt",
2266                    "soc_has_flash",
2267                    "soc_has_gpio_dedicated",
2268                    "soc_has_lp_core",
2269                    "soc_has_wifi",
2270                    "soc_has_psram",
2271                    "soc_has_from_cpu_intr0",
2272                    "soc_has_from_cpu_intr1",
2273                    "soc_has_from_cpu_intr2",
2274                    "soc_has_from_cpu_intr3",
2275                    "gpio_driver_supported",
2276                    "dedicated_gpio_driver_supported",
2277                    "io_mux_driver_supported",
2278                    "lp_io_driver_supported",
2279                    "uart_driver_supported",
2280                    "uhci_driver_supported",
2281                    "i2c_master_driver_supported",
2282                    "lp_i2c_master_driver_supported",
2283                    "spi_master_driver_supported",
2284                    "spi_slave_driver_supported",
2285                    "i2s_driver_supported",
2286                    "parl_io_driver_supported",
2287                    "rmt_driver_supported",
2288                    "usb_serial_jtag_driver_supported",
2289                    "bt_driver_supported",
2290                    "wifi_driver_supported",
2291                    "ieee802154_driver_supported",
2292                    "phy_driver_supported",
2293                    "adc_driver_supported",
2294                    "pcnt_driver_supported",
2295                    "lp_timer_driver_supported",
2296                    "sdm_driver_supported",
2297                    "systimer_driver_supported",
2298                    "timergroup_driver_supported",
2299                    "aes_driver_supported",
2300                    "ecc_driver_supported",
2301                    "rng_driver_supported",
2302                    "rsa_driver_supported",
2303                    "sha_driver_supported",
2304                    "sleep_driver_supported",
2305                    "assist_debug_driver_supported",
2306                    "dma_driver_supported",
2307                    "interrupts_driver_supported",
2308                    "mmu_driver_supported",
2309                    "flash_driver_supported",
2310                    "psram_driver_supported",
2311                    "rom_driver_supported",
2312                    "soc_driver_supported",
2313                    "uart_uart0",
2314                    "uart_uart1",
2315                    "i2c_master_i2c0",
2316                    "spi_master_spi2",
2317                    "spi_slave_spi2",
2318                    "i2s_i2s0",
2319                    "adc_adc1",
2320                    "pcnt_PCNT",
2321                    "timergroup_timg0",
2322                    "timergroup_timg1",
2323                    "gpio_version=\"2\"",
2324                    "gpio_has_input_sync",
2325                    "gpio_gpio_function=\"1\"",
2326                    "gpio_constant_0_input=\"96\"",
2327                    "gpio_constant_1_input=\"64\"",
2328                    "gpio_func_in_sel_offset=\"0\"",
2329                    "soc_has_xtal32k_pads",
2330                    "gpio_input_signal_max=\"116\"",
2331                    "gpio_output_signal_max=\"256\"",
2332                    "dedicated_gpio_version=\"riscv_v1\"",
2333                    "lp_io_version=\"v4\"",
2334                    "uart_ram_size=\"128\"",
2335                    "uart_version=\"2\"",
2336                    "uart_peripheral_controls_mem_clk",
2337                    "uart_has_sclk_enable",
2338                    "uhci_combined_uart_selector_field",
2339                    "i2c_master_version=\"4\"",
2340                    "i2c_master_has_fsm_timeouts",
2341                    "i2c_master_has_hw_bus_clear",
2342                    "i2c_master_has_bus_timeout_enable",
2343                    "i2c_master_can_estimate_nack_reason",
2344                    "i2c_master_has_conf_update",
2345                    "i2c_master_has_reliable_fsm_reset",
2346                    "i2c_master_has_arbitration_en",
2347                    "i2c_master_has_tx_fifo_watermark",
2348                    "i2c_master_bus_timeout_is_exponential",
2349                    "i2c_master_has_pd_en",
2350                    "i2c_master_max_bus_timeout=\"31\"",
2351                    "i2c_master_ll_intr_mask=\"262143\"",
2352                    "i2c_master_fifo_size=\"32\"",
2353                    "lp_i2c_master_version=\"lp_i2c\"",
2354                    "lp_i2c_master_fifo_size=\"16\"",
2355                    "lp_i2c_master_fifo_size_is_set",
2356                    "spi_master_version=\"3\"",
2357                    "spi_master_fifo_size=\"64\"",
2358                    "spi_master_has_app_interrupts",
2359                    "spi_master_has_dma_segmented_transfer",
2360                    "spi_master_has_clk_pre_div",
2361                    "spi_master_dma_can_access_flash",
2362                    "i2s_version=\"3\"",
2363                    "i2s_version_is_set",
2364                    "i2s_mclk_divider_bit_width=\"9\"",
2365                    "i2s_mclk_divider_bit_width_is_set",
2366                    "i2s_max_ws_width=\"512\"",
2367                    "i2s_max_ws_width_is_set",
2368                    "i2s_clock_configured_by_pcr",
2369                    "i2s_supports_pdm_tx",
2370                    "i2s_supports_pdm_rx",
2371                    "i2s_supports_pcm2pdm",
2372                    "parl_io_version=\"2\"",
2373                    "rmt_ram_start=\"1610638336\"",
2374                    "rmt_channel_ram_size=\"48\"",
2375                    "rmt_has_tx_immediate_stop",
2376                    "rmt_has_tx_loop_count",
2377                    "rmt_has_tx_loop_auto_stop",
2378                    "rmt_has_tx_carrier_data_only",
2379                    "rmt_has_tx_sync",
2380                    "rmt_has_rx_wrap",
2381                    "rmt_has_rx_demodulation",
2382                    "bt_controller=\"npl\"",
2383                    "wifi_has_wifi6",
2384                    "wifi_mac_version=\"3\"",
2385                    "wifi_has_5g",
2386                    "wifi_csi_supported",
2387                    "soc_has_sdm_ch0",
2388                    "soc_has_sdm_ch1",
2389                    "soc_has_sdm_ch2",
2390                    "soc_has_sdm_ch3",
2391                    "timergroup_timg_has_divcnt_rst",
2392                    "timergroup_rc_fast_calibration_divider",
2393                    "timergroup_rc_fast_calibration_is_set",
2394                    "aes_dma_mode_ecb",
2395                    "aes_dma_mode_cbc",
2396                    "aes_dma_mode_ofb",
2397                    "aes_dma_mode_ctr",
2398                    "aes_dma_mode_cfb8",
2399                    "aes_dma_mode_cfb128",
2400                    "aes_has_split_text_registers",
2401                    "ecc_separate_jacobian_point_memory",
2402                    "ecc_has_memory_clock_gate",
2403                    "ecc_supports_enhanced_security",
2404                    "ecc_has_modular_arithmetic",
2405                    "ecc_has_point_addition",
2406                    "ecc_has_curve_p192",
2407                    "ecc_has_curve_p256",
2408                    "ecc_has_curve_p384",
2409                    "rng_apb_cycle_wait_num=\"16\"",
2410                    "rng_is_lp_sys",
2411                    "rsa_version=\"3\"",
2412                    "rsa_size_increment=\"32\"",
2413                    "rsa_memory_size_bytes=\"384\"",
2414                    "sleep_light_sleep",
2415                    "sleep_deep_sleep",
2416                    "sleep_has_wakeup_source_ext1",
2417                    "sleep_has_wakeup_source_gpio",
2418                    "sleep_has_wakeup_source_wifi_beacon",
2419                    "sleep_has_wakeup_source_timer",
2420                    "sleep_has_wakeup_source_wifi",
2421                    "sleep_has_wakeup_source_uart",
2422                    "sleep_has_wakeup_source_sdio",
2423                    "sleep_has_wakeup_source_bt",
2424                    "sleep_has_wakeup_source_lp_core",
2425                    "sleep_ext1_version=\"2\"",
2426                    "sleep_ext1_version_is_set",
2427                    "sleep_pin_wakeup_version=\"3\"",
2428                    "sleep_pin_wakeup_version_is_set",
2429                    "assist_debug_has_sp_monitor",
2430                    "assist_debug_has_region_monitor",
2431                    "dma_separate_in_out_interrupts",
2432                    "dma_gdma_version=\"2\"",
2433                    "dma_gdma_version_is_set",
2434                    "soc_has_dma_ch0",
2435                    "soc_has_dma_ch1",
2436                    "soc_has_dma_ch2",
2437                    "dma_supports_mem2mem",
2438                    "aes_supports_dma",
2439                    "aes_dma_engine=\"AHB_GDMA\"",
2440                    "sha_supports_dma",
2441                    "sha_dma_engine=\"AHB_GDMA\"",
2442                    "spi_master_supports_dma",
2443                    "spi_master_dma_engine=\"AHB_GDMA\"",
2444                    "spi_slave_supports_dma",
2445                    "spi_slave_dma_engine=\"AHB_GDMA\"",
2446                    "uhci_supports_dma",
2447                    "uhci_dma_engine=\"AHB_GDMA\"",
2448                    "i2s_supports_dma",
2449                    "i2s_dma_engine=\"AHB_GDMA\"",
2450                    "parl_io_supports_dma",
2451                    "parl_io_dma_engine=\"AHB_GDMA\"",
2452                    "dma_can_access_psram",
2453                    "dma_max_priority=\"5\"",
2454                    "dma_max_priority_is_set",
2455                    "interrupts_status_registers=\"3\"",
2456                    "interrupt_controller=\"clic\"",
2457                    "context_switch_source=\"clint\"",
2458                    "mmu_page_size=\"65536\"",
2459                    "mmu_entry_num=\"512\"",
2460                    "psram_extmem_origin=\"1107296256\"",
2461                    "rom_has_crc_le",
2462                    "rom_has_crc_be",
2463                    "rom_has_md5_bsd",
2464                    "soc_cpu_has_branch_predictor",
2465                    "soc_cpu_csr_prv_mode=\"2064\"",
2466                    "soc_cpu_csr_prv_mode_is_set",
2467                    "soc_has_swd_watchdog",
2468                    "soc_cpu_mcause_mask=\"31\"",
2469                    "soc_has_clock_node_xtal_clk",
2470                    "soc_clock_node_xtal_clk_is_configurable",
2471                    "soc_has_clock_node_pll_clk",
2472                    "soc_has_clock_node_rc_fast_clk",
2473                    "soc_has_clock_node_xtal32k_clk",
2474                    "soc_has_clock_node_osc_slow_clk",
2475                    "soc_has_clock_node_rc_slow_clk",
2476                    "soc_has_clock_node_pll_f12m",
2477                    "soc_has_clock_node_pll_f20m",
2478                    "soc_has_clock_node_pll_f40m",
2479                    "soc_has_clock_node_pll_f48m",
2480                    "soc_has_clock_node_pll_f60m",
2481                    "soc_has_clock_node_pll_f80m",
2482                    "soc_has_clock_node_pll_f120m",
2483                    "soc_has_clock_node_pll_f160m",
2484                    "soc_has_clock_node_pll_f240m",
2485                    "soc_has_clock_node_hp_root_clk",
2486                    "soc_clock_node_hp_root_clk_is_configurable",
2487                    "soc_has_clock_node_cpu_clk",
2488                    "soc_clock_node_cpu_clk_is_configurable",
2489                    "soc_has_clock_node_ahb_clk",
2490                    "soc_clock_node_ahb_clk_is_configurable",
2491                    "soc_has_clock_node_apb_clk",
2492                    "soc_clock_node_apb_clk_is_configurable",
2493                    "soc_has_clock_node_xtal_d2_clk",
2494                    "soc_has_clock_node_lp_fast_clk",
2495                    "soc_clock_node_lp_fast_clk_is_configurable",
2496                    "soc_has_clock_node_lp_slow_clk",
2497                    "soc_clock_node_lp_slow_clk_is_configurable",
2498                    "soc_has_clock_node_crypto_pll_div",
2499                    "soc_has_clock_node_crypto_clk",
2500                    "soc_clock_node_crypto_clk_is_configurable",
2501                    "soc_has_clock_node_iomux_function_clock",
2502                    "soc_clock_node_iomux_function_clock_is_configurable",
2503                    "soc_has_clock_node_timg_calibration_clock",
2504                    "soc_clock_node_timg_calibration_clock_is_configurable",
2505                    "soc_has_clock_node_uart_function_clock",
2506                    "soc_clock_node_uart_function_clock_is_configurable",
2507                    "soc_has_clock_node_uart_baud_rate_generator",
2508                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
2509                    "soc_has_clock_node_timg_function_clock",
2510                    "soc_clock_node_timg_function_clock_is_configurable",
2511                    "soc_has_clock_node_timg_wdt_clock",
2512                    "soc_clock_node_timg_wdt_clock_is_configurable",
2513                    "soc_has_clock_node_sdm_function_clock",
2514                    "soc_has_clock_node_rmt_sclk",
2515                    "soc_clock_node_rmt_sclk_is_configurable",
2516                    "soc_has_clock_node_parl_io_rx_clock",
2517                    "soc_clock_node_parl_io_rx_clock_is_configurable",
2518                    "soc_has_clock_node_parl_io_tx_clock",
2519                    "soc_clock_node_parl_io_tx_clock_is_configurable",
2520                    "soc_has_clock_node_i2s_tx_clk",
2521                    "soc_clock_node_i2s_tx_clk_is_configurable",
2522                    "soc_has_clock_node_i2s_rx_clk",
2523                    "soc_clock_node_i2s_rx_clk_is_configurable",
2524                    "soc_has_clock_node_i2s_mclk_out",
2525                    "soc_clock_node_i2s_mclk_out_is_configurable",
2526                    "soc_has_clock_node_i2c_function_clock",
2527                    "soc_clock_node_i2c_function_clock_is_configurable",
2528                    "soc_has_clock_node_spi_function_clock",
2529                    "soc_clock_node_spi_function_clock_is_configurable",
2530                    "has_dram_region",
2531                    "has_dram2_uninit_region",
2532                    "has_irom_region",
2533                    "has_drom_region",
2534                ],
2535                cfgs: &[
2536                    "cargo:rustc-cfg=esp32c5",
2537                    "cargo:rustc-cfg=riscv",
2538                    "cargo:rustc-cfg=single_core",
2539                    "cargo:rustc-cfg=soc_has_aes",
2540                    "cargo:rustc-cfg=soc_has_assist_debug",
2541                    "cargo:rustc-cfg=soc_has_apb_saradc",
2542                    "cargo:rustc-cfg=soc_has_cache",
2543                    "cargo:rustc-cfg=soc_has_clint",
2544                    "cargo:rustc-cfg=soc_has_dma",
2545                    "cargo:rustc-cfg=soc_has_ds",
2546                    "cargo:rustc-cfg=soc_has_ecc",
2547                    "cargo:rustc-cfg=soc_has_ecdsa",
2548                    "cargo:rustc-cfg=soc_has_efuse",
2549                    "cargo:rustc-cfg=soc_has_etm",
2550                    "cargo:rustc-cfg=soc_has_gpio",
2551                    "cargo:rustc-cfg=soc_has_gpio_sd",
2552                    "cargo:rustc-cfg=soc_has_hmac",
2553                    "cargo:rustc-cfg=soc_has_hp_apm",
2554                    "cargo:rustc-cfg=soc_has_hp_sys",
2555                    "cargo:rustc-cfg=soc_has_huk",
2556                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
2557                    "cargo:rustc-cfg=soc_has_i2c0",
2558                    "cargo:rustc-cfg=soc_has_i2s0",
2559                    "cargo:rustc-cfg=soc_has_ieee802154",
2560                    "cargo:rustc-cfg=soc_has_interrupt_core0",
2561                    "cargo:rustc-cfg=soc_has_intpri",
2562                    "cargo:rustc-cfg=soc_has_io_mux",
2563                    "cargo:rustc-cfg=soc_has_keymng",
2564                    "cargo:rustc-cfg=soc_has_lp_ana",
2565                    "cargo:rustc-cfg=soc_has_lp_aon",
2566                    "cargo:rustc-cfg=soc_has_lp_apm0",
2567                    "cargo:rustc-cfg=soc_has_lp_clkrst",
2568                    "cargo:rustc-cfg=soc_has_lp_gpio",
2569                    "cargo:rustc-cfg=soc_has_lp_i2c0",
2570                    "cargo:rustc-cfg=soc_has_lp_i2c_ana_mst",
2571                    "cargo:rustc-cfg=soc_has_lp_io_mux",
2572                    "cargo:rustc-cfg=soc_has_lp_peri",
2573                    "cargo:rustc-cfg=soc_has_lp_tee",
2574                    "cargo:rustc-cfg=soc_has_rtc_timer",
2575                    "cargo:rustc-cfg=soc_has_lp_uart",
2576                    "cargo:rustc-cfg=soc_has_lp_wdt",
2577                    "cargo:rustc-cfg=soc_has_lpwr",
2578                    "cargo:rustc-cfg=soc_has_mcpwm0",
2579                    "cargo:rustc-cfg=soc_has_mem_monitor",
2580                    "cargo:rustc-cfg=soc_has_modem_lpcon",
2581                    "cargo:rustc-cfg=soc_has_modem_syscon",
2582                    "cargo:rustc-cfg=soc_has_parl_io",
2583                    "cargo:rustc-cfg=soc_has_pau",
2584                    "cargo:rustc-cfg=soc_has_pcnt",
2585                    "cargo:rustc-cfg=soc_has_pcr",
2586                    "cargo:rustc-cfg=soc_has_pmu",
2587                    "cargo:rustc-cfg=soc_has_pvt_monitor",
2588                    "cargo:rustc-cfg=soc_has_rmt",
2589                    "cargo:rustc-cfg=soc_has_rng",
2590                    "cargo:rustc-cfg=soc_has_rsa",
2591                    "cargo:rustc-cfg=soc_has_sha",
2592                    "cargo:rustc-cfg=soc_has_slc",
2593                    "cargo:rustc-cfg=soc_has_spi0",
2594                    "cargo:rustc-cfg=soc_has_spi1",
2595                    "cargo:rustc-cfg=soc_has_spi2",
2596                    "cargo:rustc-cfg=soc_has_system",
2597                    "cargo:rustc-cfg=soc_has_systimer",
2598                    "cargo:rustc-cfg=soc_has_tee",
2599                    "cargo:rustc-cfg=soc_has_timg0",
2600                    "cargo:rustc-cfg=soc_has_timg1",
2601                    "cargo:rustc-cfg=soc_has_uart0",
2602                    "cargo:rustc-cfg=soc_has_uart1",
2603                    "cargo:rustc-cfg=soc_has_uhci0",
2604                    "cargo:rustc-cfg=soc_has_usb_device",
2605                    "cargo:rustc-cfg=soc_has_adc1",
2606                    "cargo:rustc-cfg=soc_has_bt",
2607                    "cargo:rustc-cfg=soc_has_flash",
2608                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
2609                    "cargo:rustc-cfg=soc_has_lp_core",
2610                    "cargo:rustc-cfg=soc_has_wifi",
2611                    "cargo:rustc-cfg=soc_has_psram",
2612                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
2613                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
2614                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
2615                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
2616                    "cargo:rustc-cfg=gpio_driver_supported",
2617                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
2618                    "cargo:rustc-cfg=io_mux_driver_supported",
2619                    "cargo:rustc-cfg=lp_io_driver_supported",
2620                    "cargo:rustc-cfg=uart_driver_supported",
2621                    "cargo:rustc-cfg=uhci_driver_supported",
2622                    "cargo:rustc-cfg=i2c_master_driver_supported",
2623                    "cargo:rustc-cfg=lp_i2c_master_driver_supported",
2624                    "cargo:rustc-cfg=spi_master_driver_supported",
2625                    "cargo:rustc-cfg=spi_slave_driver_supported",
2626                    "cargo:rustc-cfg=i2s_driver_supported",
2627                    "cargo:rustc-cfg=parl_io_driver_supported",
2628                    "cargo:rustc-cfg=rmt_driver_supported",
2629                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
2630                    "cargo:rustc-cfg=bt_driver_supported",
2631                    "cargo:rustc-cfg=wifi_driver_supported",
2632                    "cargo:rustc-cfg=ieee802154_driver_supported",
2633                    "cargo:rustc-cfg=phy_driver_supported",
2634                    "cargo:rustc-cfg=adc_driver_supported",
2635                    "cargo:rustc-cfg=pcnt_driver_supported",
2636                    "cargo:rustc-cfg=lp_timer_driver_supported",
2637                    "cargo:rustc-cfg=sdm_driver_supported",
2638                    "cargo:rustc-cfg=systimer_driver_supported",
2639                    "cargo:rustc-cfg=timergroup_driver_supported",
2640                    "cargo:rustc-cfg=aes_driver_supported",
2641                    "cargo:rustc-cfg=ecc_driver_supported",
2642                    "cargo:rustc-cfg=rng_driver_supported",
2643                    "cargo:rustc-cfg=rsa_driver_supported",
2644                    "cargo:rustc-cfg=sha_driver_supported",
2645                    "cargo:rustc-cfg=sleep_driver_supported",
2646                    "cargo:rustc-cfg=assist_debug_driver_supported",
2647                    "cargo:rustc-cfg=dma_driver_supported",
2648                    "cargo:rustc-cfg=interrupts_driver_supported",
2649                    "cargo:rustc-cfg=mmu_driver_supported",
2650                    "cargo:rustc-cfg=flash_driver_supported",
2651                    "cargo:rustc-cfg=psram_driver_supported",
2652                    "cargo:rustc-cfg=rom_driver_supported",
2653                    "cargo:rustc-cfg=soc_driver_supported",
2654                    "cargo:rustc-cfg=uart_uart0",
2655                    "cargo:rustc-cfg=uart_uart1",
2656                    "cargo:rustc-cfg=i2c_master_i2c0",
2657                    "cargo:rustc-cfg=spi_master_spi2",
2658                    "cargo:rustc-cfg=spi_slave_spi2",
2659                    "cargo:rustc-cfg=i2s_i2s0",
2660                    "cargo:rustc-cfg=adc_adc1",
2661                    "cargo:rustc-cfg=pcnt_PCNT",
2662                    "cargo:rustc-cfg=timergroup_timg0",
2663                    "cargo:rustc-cfg=timergroup_timg1",
2664                    "cargo:rustc-cfg=gpio_version=\"2\"",
2665                    "cargo:rustc-cfg=gpio_has_input_sync",
2666                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
2667                    "cargo:rustc-cfg=gpio_constant_0_input=\"96\"",
2668                    "cargo:rustc-cfg=gpio_constant_1_input=\"64\"",
2669                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
2670                    "cargo:rustc-cfg=soc_has_xtal32k_pads",
2671                    "cargo:rustc-cfg=gpio_input_signal_max=\"116\"",
2672                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
2673                    "cargo:rustc-cfg=dedicated_gpio_version=\"riscv_v1\"",
2674                    "cargo:rustc-cfg=lp_io_version=\"v4\"",
2675                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
2676                    "cargo:rustc-cfg=uart_version=\"2\"",
2677                    "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
2678                    "cargo:rustc-cfg=uart_has_sclk_enable",
2679                    "cargo:rustc-cfg=uhci_combined_uart_selector_field",
2680                    "cargo:rustc-cfg=i2c_master_version=\"4\"",
2681                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
2682                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
2683                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
2684                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
2685                    "cargo:rustc-cfg=i2c_master_has_conf_update",
2686                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
2687                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
2688                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
2689                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
2690                    "cargo:rustc-cfg=i2c_master_has_pd_en",
2691                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
2692                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
2693                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
2694                    "cargo:rustc-cfg=lp_i2c_master_version=\"lp_i2c\"",
2695                    "cargo:rustc-cfg=lp_i2c_master_fifo_size=\"16\"",
2696                    "cargo:rustc-cfg=lp_i2c_master_fifo_size_is_set",
2697                    "cargo:rustc-cfg=spi_master_version=\"3\"",
2698                    "cargo:rustc-cfg=spi_master_fifo_size=\"64\"",
2699                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
2700                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
2701                    "cargo:rustc-cfg=spi_master_has_clk_pre_div",
2702                    "cargo:rustc-cfg=spi_master_dma_can_access_flash",
2703                    "cargo:rustc-cfg=i2s_version=\"3\"",
2704                    "cargo:rustc-cfg=i2s_version_is_set",
2705                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width=\"9\"",
2706                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width_is_set",
2707                    "cargo:rustc-cfg=i2s_max_ws_width=\"512\"",
2708                    "cargo:rustc-cfg=i2s_max_ws_width_is_set",
2709                    "cargo:rustc-cfg=i2s_clock_configured_by_pcr",
2710                    "cargo:rustc-cfg=i2s_supports_pdm_tx",
2711                    "cargo:rustc-cfg=i2s_supports_pdm_rx",
2712                    "cargo:rustc-cfg=i2s_supports_pcm2pdm",
2713                    "cargo:rustc-cfg=parl_io_version=\"2\"",
2714                    "cargo:rustc-cfg=rmt_ram_start=\"1610638336\"",
2715                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
2716                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
2717                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
2718                    "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
2719                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
2720                    "cargo:rustc-cfg=rmt_has_tx_sync",
2721                    "cargo:rustc-cfg=rmt_has_rx_wrap",
2722                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
2723                    "cargo:rustc-cfg=bt_controller=\"npl\"",
2724                    "cargo:rustc-cfg=wifi_has_wifi6",
2725                    "cargo:rustc-cfg=wifi_mac_version=\"3\"",
2726                    "cargo:rustc-cfg=wifi_has_5g",
2727                    "cargo:rustc-cfg=wifi_csi_supported",
2728                    "cargo:rustc-cfg=soc_has_sdm_ch0",
2729                    "cargo:rustc-cfg=soc_has_sdm_ch1",
2730                    "cargo:rustc-cfg=soc_has_sdm_ch2",
2731                    "cargo:rustc-cfg=soc_has_sdm_ch3",
2732                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
2733                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_divider",
2734                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
2735                    "cargo:rustc-cfg=aes_dma_mode_ecb",
2736                    "cargo:rustc-cfg=aes_dma_mode_cbc",
2737                    "cargo:rustc-cfg=aes_dma_mode_ofb",
2738                    "cargo:rustc-cfg=aes_dma_mode_ctr",
2739                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
2740                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
2741                    "cargo:rustc-cfg=aes_has_split_text_registers",
2742                    "cargo:rustc-cfg=ecc_separate_jacobian_point_memory",
2743                    "cargo:rustc-cfg=ecc_has_memory_clock_gate",
2744                    "cargo:rustc-cfg=ecc_supports_enhanced_security",
2745                    "cargo:rustc-cfg=ecc_has_modular_arithmetic",
2746                    "cargo:rustc-cfg=ecc_has_point_addition",
2747                    "cargo:rustc-cfg=ecc_has_curve_p192",
2748                    "cargo:rustc-cfg=ecc_has_curve_p256",
2749                    "cargo:rustc-cfg=ecc_has_curve_p384",
2750                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
2751                    "cargo:rustc-cfg=rng_is_lp_sys",
2752                    "cargo:rustc-cfg=rsa_version=\"3\"",
2753                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
2754                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
2755                    "cargo:rustc-cfg=sleep_light_sleep",
2756                    "cargo:rustc-cfg=sleep_deep_sleep",
2757                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext1",
2758                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
2759                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi_beacon",
2760                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
2761                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi",
2762                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
2763                    "cargo:rustc-cfg=sleep_has_wakeup_source_sdio",
2764                    "cargo:rustc-cfg=sleep_has_wakeup_source_bt",
2765                    "cargo:rustc-cfg=sleep_has_wakeup_source_lp_core",
2766                    "cargo:rustc-cfg=sleep_ext1_version=\"2\"",
2767                    "cargo:rustc-cfg=sleep_ext1_version_is_set",
2768                    "cargo:rustc-cfg=sleep_pin_wakeup_version=\"3\"",
2769                    "cargo:rustc-cfg=sleep_pin_wakeup_version_is_set",
2770                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
2771                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
2772                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
2773                    "cargo:rustc-cfg=dma_gdma_version=\"2\"",
2774                    "cargo:rustc-cfg=dma_gdma_version_is_set",
2775                    "cargo:rustc-cfg=soc_has_dma_ch0",
2776                    "cargo:rustc-cfg=soc_has_dma_ch1",
2777                    "cargo:rustc-cfg=soc_has_dma_ch2",
2778                    "cargo:rustc-cfg=dma_supports_mem2mem",
2779                    "cargo:rustc-cfg=aes_supports_dma",
2780                    "cargo:rustc-cfg=aes_dma_engine=\"AHB_GDMA\"",
2781                    "cargo:rustc-cfg=sha_supports_dma",
2782                    "cargo:rustc-cfg=sha_dma_engine=\"AHB_GDMA\"",
2783                    "cargo:rustc-cfg=spi_master_supports_dma",
2784                    "cargo:rustc-cfg=spi_master_dma_engine=\"AHB_GDMA\"",
2785                    "cargo:rustc-cfg=spi_slave_supports_dma",
2786                    "cargo:rustc-cfg=spi_slave_dma_engine=\"AHB_GDMA\"",
2787                    "cargo:rustc-cfg=uhci_supports_dma",
2788                    "cargo:rustc-cfg=uhci_dma_engine=\"AHB_GDMA\"",
2789                    "cargo:rustc-cfg=i2s_supports_dma",
2790                    "cargo:rustc-cfg=i2s_dma_engine=\"AHB_GDMA\"",
2791                    "cargo:rustc-cfg=parl_io_supports_dma",
2792                    "cargo:rustc-cfg=parl_io_dma_engine=\"AHB_GDMA\"",
2793                    "cargo:rustc-cfg=dma_can_access_psram",
2794                    "cargo:rustc-cfg=dma_max_priority=\"5\"",
2795                    "cargo:rustc-cfg=dma_max_priority_is_set",
2796                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
2797                    "cargo:rustc-cfg=interrupt_controller=\"clic\"",
2798                    "cargo:rustc-cfg=context_switch_source=\"clint\"",
2799                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
2800                    "cargo:rustc-cfg=mmu_entry_num=\"512\"",
2801                    "cargo:rustc-cfg=psram_extmem_origin=\"1107296256\"",
2802                    "cargo:rustc-cfg=rom_has_crc_le",
2803                    "cargo:rustc-cfg=rom_has_crc_be",
2804                    "cargo:rustc-cfg=rom_has_md5_bsd",
2805                    "cargo:rustc-cfg=soc_cpu_has_branch_predictor",
2806                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode=\"2064\"",
2807                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode_is_set",
2808                    "cargo:rustc-cfg=soc_has_swd_watchdog",
2809                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"31\"",
2810                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
2811                    "cargo:rustc-cfg=soc_clock_node_xtal_clk_is_configurable",
2812                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
2813                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
2814                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
2815                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
2816                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
2817                    "cargo:rustc-cfg=soc_has_clock_node_pll_f12m",
2818                    "cargo:rustc-cfg=soc_has_clock_node_pll_f20m",
2819                    "cargo:rustc-cfg=soc_has_clock_node_pll_f40m",
2820                    "cargo:rustc-cfg=soc_has_clock_node_pll_f48m",
2821                    "cargo:rustc-cfg=soc_has_clock_node_pll_f60m",
2822                    "cargo:rustc-cfg=soc_has_clock_node_pll_f80m",
2823                    "cargo:rustc-cfg=soc_has_clock_node_pll_f120m",
2824                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m",
2825                    "cargo:rustc-cfg=soc_has_clock_node_pll_f240m",
2826                    "cargo:rustc-cfg=soc_has_clock_node_hp_root_clk",
2827                    "cargo:rustc-cfg=soc_clock_node_hp_root_clk_is_configurable",
2828                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
2829                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
2830                    "cargo:rustc-cfg=soc_has_clock_node_ahb_clk",
2831                    "cargo:rustc-cfg=soc_clock_node_ahb_clk_is_configurable",
2832                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
2833                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
2834                    "cargo:rustc-cfg=soc_has_clock_node_xtal_d2_clk",
2835                    "cargo:rustc-cfg=soc_has_clock_node_lp_fast_clk",
2836                    "cargo:rustc-cfg=soc_clock_node_lp_fast_clk_is_configurable",
2837                    "cargo:rustc-cfg=soc_has_clock_node_lp_slow_clk",
2838                    "cargo:rustc-cfg=soc_clock_node_lp_slow_clk_is_configurable",
2839                    "cargo:rustc-cfg=soc_has_clock_node_crypto_pll_div",
2840                    "cargo:rustc-cfg=soc_has_clock_node_crypto_clk",
2841                    "cargo:rustc-cfg=soc_clock_node_crypto_clk_is_configurable",
2842                    "cargo:rustc-cfg=soc_has_clock_node_iomux_function_clock",
2843                    "cargo:rustc-cfg=soc_clock_node_iomux_function_clock_is_configurable",
2844                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
2845                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
2846                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
2847                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
2848                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
2849                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
2850                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
2851                    "cargo:rustc-cfg=soc_clock_node_timg_function_clock_is_configurable",
2852                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
2853                    "cargo:rustc-cfg=soc_clock_node_timg_wdt_clock_is_configurable",
2854                    "cargo:rustc-cfg=soc_has_clock_node_sdm_function_clock",
2855                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
2856                    "cargo:rustc-cfg=soc_clock_node_rmt_sclk_is_configurable",
2857                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_rx_clock",
2858                    "cargo:rustc-cfg=soc_clock_node_parl_io_rx_clock_is_configurable",
2859                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_tx_clock",
2860                    "cargo:rustc-cfg=soc_clock_node_parl_io_tx_clock_is_configurable",
2861                    "cargo:rustc-cfg=soc_has_clock_node_i2s_tx_clk",
2862                    "cargo:rustc-cfg=soc_clock_node_i2s_tx_clk_is_configurable",
2863                    "cargo:rustc-cfg=soc_has_clock_node_i2s_rx_clk",
2864                    "cargo:rustc-cfg=soc_clock_node_i2s_rx_clk_is_configurable",
2865                    "cargo:rustc-cfg=soc_has_clock_node_i2s_mclk_out",
2866                    "cargo:rustc-cfg=soc_clock_node_i2s_mclk_out_is_configurable",
2867                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
2868                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
2869                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
2870                    "cargo:rustc-cfg=soc_clock_node_spi_function_clock_is_configurable",
2871                    "cargo:rustc-cfg=has_dram_region",
2872                    "cargo:rustc-cfg=has_dram2_uninit_region",
2873                    "cargo:rustc-cfg=has_irom_region",
2874                    "cargo:rustc-cfg=has_drom_region",
2875                ],
2876                memory_layout: &MemoryLayout {
2877                    regions: &[
2878                        (
2879                            "dram",
2880                            MemoryRegion {
2881                                address_range: 0x40800000..0x40860000,
2882                            },
2883                        ),
2884                        (
2885                            "dram2_uninit",
2886                            MemoryRegion {
2887                                address_range: 0x4084E5A0..0x4085E5A0,
2888                            },
2889                        ),
2890                        (
2891                            "irom",
2892                            MemoryRegion {
2893                                address_range: 0x42000000..0x44000000,
2894                            },
2895                        ),
2896                        (
2897                            "drom",
2898                            MemoryRegion {
2899                                address_range: 0x42000000..0x44000000,
2900                            },
2901                        ),
2902                    ],
2903                },
2904                pins: &[
2905                    PinInfo {
2906                        pin: 0,
2907                        limitations: &[],
2908                    },
2909                    PinInfo {
2910                        pin: 1,
2911                        limitations: &[],
2912                    },
2913                    PinInfo {
2914                        pin: 2,
2915                        limitations: &["strapping", "jtag"],
2916                    },
2917                    PinInfo {
2918                        pin: 3,
2919                        limitations: &["strapping", "jtag"],
2920                    },
2921                    PinInfo {
2922                        pin: 4,
2923                        limitations: &["jtag"],
2924                    },
2925                    PinInfo {
2926                        pin: 5,
2927                        limitations: &["jtag"],
2928                    },
2929                    PinInfo {
2930                        pin: 6,
2931                        limitations: &[],
2932                    },
2933                    PinInfo {
2934                        pin: 7,
2935                        limitations: &["strapping"],
2936                    },
2937                    PinInfo {
2938                        pin: 8,
2939                        limitations: &[],
2940                    },
2941                    PinInfo {
2942                        pin: 9,
2943                        limitations: &[],
2944                    },
2945                    PinInfo {
2946                        pin: 10,
2947                        limitations: &[],
2948                    },
2949                    PinInfo {
2950                        pin: 11,
2951                        limitations: &["bootloader_uart"],
2952                    },
2953                    PinInfo {
2954                        pin: 12,
2955                        limitations: &["bootloader_uart"],
2956                    },
2957                    PinInfo {
2958                        pin: 13,
2959                        limitations: &["usb_jtag"],
2960                    },
2961                    PinInfo {
2962                        pin: 14,
2963                        limitations: &["usb_jtag"],
2964                    },
2965                    PinInfo {
2966                        pin: 15,
2967                        limitations: &["spi_psram"],
2968                    },
2969                    PinInfo {
2970                        pin: 16,
2971                        limitations: &["spi_flash"],
2972                    },
2973                    PinInfo {
2974                        pin: 17,
2975                        limitations: &["spi_flash", "spi_psram"],
2976                    },
2977                    PinInfo {
2978                        pin: 18,
2979                        limitations: &["spi_flash", "spi_psram"],
2980                    },
2981                    PinInfo {
2982                        pin: 19,
2983                        limitations: &["spi_flash", "spi_psram"],
2984                    },
2985                    PinInfo {
2986                        pin: 20,
2987                        limitations: &["spi_flash", "spi_psram"],
2988                    },
2989                    PinInfo {
2990                        pin: 21,
2991                        limitations: &["spi_flash", "spi_psram"],
2992                    },
2993                    PinInfo {
2994                        pin: 22,
2995                        limitations: &["spi_flash", "spi_psram"],
2996                    },
2997                    PinInfo {
2998                        pin: 23,
2999                        limitations: &[],
3000                    },
3001                    PinInfo {
3002                        pin: 24,
3003                        limitations: &[],
3004                    },
3005                    PinInfo {
3006                        pin: 25,
3007                        limitations: &["strapping"],
3008                    },
3009                    PinInfo {
3010                        pin: 26,
3011                        limitations: &["strapping"],
3012                    },
3013                    PinInfo {
3014                        pin: 27,
3015                        limitations: &["strapping"],
3016                    },
3017                    PinInfo {
3018                        pin: 28,
3019                        limitations: &["strapping"],
3020                    },
3021                ],
3022            },
3023            Self::Esp32c6 => Config {
3024                architecture: "riscv",
3025                target: "riscv32imac-unknown-none-elf",
3026                symbols: &[
3027                    "esp32c6",
3028                    "riscv",
3029                    "single_core",
3030                    "soc_has_aes",
3031                    "soc_has_apb_saradc",
3032                    "soc_has_assist_debug",
3033                    "soc_has_atomic",
3034                    "soc_has_clint",
3035                    "soc_has_dma",
3036                    "soc_has_ds",
3037                    "soc_has_ecc",
3038                    "soc_has_efuse",
3039                    "soc_has_extmem",
3040                    "soc_has_gpio",
3041                    "soc_has_gpio_sd",
3042                    "soc_has_hinf",
3043                    "soc_has_hmac",
3044                    "soc_has_hp_apm",
3045                    "soc_has_hp_sys",
3046                    "soc_has_i2c_ana_mst",
3047                    "soc_has_i2c0",
3048                    "soc_has_i2s0",
3049                    "soc_has_ieee802154",
3050                    "soc_has_interrupt_core0",
3051                    "soc_has_intpri",
3052                    "soc_has_io_mux",
3053                    "soc_has_ledc",
3054                    "soc_has_lp_ana",
3055                    "soc_has_lp_aon",
3056                    "soc_has_lp_apm",
3057                    "soc_has_lp_apm0",
3058                    "soc_has_lp_clkrst",
3059                    "soc_has_lp_i2c0",
3060                    "soc_has_lp_i2c_ana_mst",
3061                    "soc_has_lp_io",
3062                    "soc_has_lp_peri",
3063                    "soc_has_lp_tee",
3064                    "soc_has_rtc_timer",
3065                    "soc_has_lp_uart",
3066                    "soc_has_lp_wdt",
3067                    "soc_has_lpwr",
3068                    "soc_has_mcpwm0",
3069                    "soc_has_mem_monitor",
3070                    "soc_has_modem_lpcon",
3071                    "soc_has_modem_syscon",
3072                    "soc_has_otp_debug",
3073                    "soc_has_parl_io",
3074                    "soc_has_pau",
3075                    "soc_has_pcnt",
3076                    "soc_has_pcr",
3077                    "soc_has_plic_mx",
3078                    "soc_has_pmu",
3079                    "soc_has_rmt",
3080                    "soc_has_rng",
3081                    "soc_has_rsa",
3082                    "soc_has_sha",
3083                    "soc_has_slchost",
3084                    "soc_has_etm",
3085                    "soc_has_spi0",
3086                    "soc_has_spi1",
3087                    "soc_has_spi2",
3088                    "soc_has_system",
3089                    "soc_has_systimer",
3090                    "soc_has_tee",
3091                    "soc_has_timg0",
3092                    "soc_has_timg1",
3093                    "soc_has_trace0",
3094                    "soc_has_twai0",
3095                    "soc_has_twai1",
3096                    "soc_has_uart0",
3097                    "soc_has_uart1",
3098                    "soc_has_uhci0",
3099                    "soc_has_usb_device",
3100                    "soc_has_adc1",
3101                    "soc_has_bt",
3102                    "soc_has_flash",
3103                    "soc_has_gpio_dedicated",
3104                    "soc_has_lp_core",
3105                    "soc_has_tsens",
3106                    "soc_has_wifi",
3107                    "soc_has_from_cpu_intr0",
3108                    "soc_has_from_cpu_intr1",
3109                    "soc_has_from_cpu_intr2",
3110                    "soc_has_from_cpu_intr3",
3111                    "gpio_driver_supported",
3112                    "dedicated_gpio_driver_supported",
3113                    "io_mux_driver_supported",
3114                    "lp_io_driver_supported",
3115                    "uart_driver_supported",
3116                    "lp_uart_driver_supported",
3117                    "uhci_driver_supported",
3118                    "i2c_master_driver_supported",
3119                    "lp_i2c_master_driver_supported",
3120                    "i2c_slave_driver_supported",
3121                    "spi_master_driver_supported",
3122                    "spi_slave_driver_supported",
3123                    "i2s_driver_supported",
3124                    "parl_io_driver_supported",
3125                    "rmt_driver_supported",
3126                    "twai_driver_supported",
3127                    "usb_serial_jtag_driver_supported",
3128                    "bt_driver_supported",
3129                    "wifi_driver_supported",
3130                    "ieee802154_driver_supported",
3131                    "phy_driver_supported",
3132                    "adc_driver_supported",
3133                    "temp_sensor_driver_supported",
3134                    "ledc_driver_supported",
3135                    "mcpwm_driver_supported",
3136                    "pcnt_driver_supported",
3137                    "lp_timer_driver_supported",
3138                    "sdm_driver_supported",
3139                    "systimer_driver_supported",
3140                    "timergroup_driver_supported",
3141                    "aes_driver_supported",
3142                    "ecc_driver_supported",
3143                    "hmac_driver_supported",
3144                    "rng_driver_supported",
3145                    "rsa_driver_supported",
3146                    "sha_driver_supported",
3147                    "sleep_driver_supported",
3148                    "ulp_riscv_driver_supported",
3149                    "assist_debug_driver_supported",
3150                    "dma_driver_supported",
3151                    "etm_driver_supported",
3152                    "interrupts_driver_supported",
3153                    "mmu_driver_supported",
3154                    "flash_driver_supported",
3155                    "rom_driver_supported",
3156                    "soc_driver_supported",
3157                    "uart_uart0",
3158                    "uart_uart1",
3159                    "i2c_master_i2c0",
3160                    "i2c_slave_i2c0",
3161                    "spi_master_spi2",
3162                    "spi_slave_spi2",
3163                    "i2s_i2s0",
3164                    "adc_adc1",
3165                    "pcnt_PCNT",
3166                    "timergroup_timg0",
3167                    "timergroup_timg1",
3168                    "gpio_version=\"2\"",
3169                    "gpio_has_input_sync",
3170                    "gpio_gpio_function=\"1\"",
3171                    "gpio_constant_0_input=\"60\"",
3172                    "gpio_constant_1_input=\"56\"",
3173                    "gpio_func_in_sel_offset=\"0\"",
3174                    "soc_has_xtal32k_pads",
3175                    "gpio_input_signal_max=\"124\"",
3176                    "gpio_output_signal_max=\"128\"",
3177                    "dedicated_gpio_version=\"riscv_v1\"",
3178                    "lp_io_version=\"v4\"",
3179                    "uart_ram_size=\"128\"",
3180                    "uart_version=\"2\"",
3181                    "uart_peripheral_controls_mem_clk",
3182                    "uart_has_sclk_enable",
3183                    "lp_uart_ram_size=\"32\"",
3184                    "i2c_master_version=\"4\"",
3185                    "i2c_master_has_fsm_timeouts",
3186                    "i2c_master_has_hw_bus_clear",
3187                    "i2c_master_has_bus_timeout_enable",
3188                    "i2c_master_can_estimate_nack_reason",
3189                    "i2c_master_has_conf_update",
3190                    "i2c_master_has_reliable_fsm_reset",
3191                    "i2c_master_has_arbitration_en",
3192                    "i2c_master_has_tx_fifo_watermark",
3193                    "i2c_master_bus_timeout_is_exponential",
3194                    "i2c_master_has_pd_en",
3195                    "i2c_master_max_bus_timeout=\"31\"",
3196                    "i2c_master_ll_intr_mask=\"262143\"",
3197                    "i2c_master_fifo_size=\"32\"",
3198                    "lp_i2c_master_version=\"lp_i2c\"",
3199                    "lp_i2c_master_fifo_size=\"16\"",
3200                    "lp_i2c_master_fifo_size_is_set",
3201                    "spi_master_version=\"3\"",
3202                    "spi_master_fifo_size=\"64\"",
3203                    "spi_master_has_app_interrupts",
3204                    "spi_master_has_dma_segmented_transfer",
3205                    "i2s_version=\"2\"",
3206                    "i2s_version_is_set",
3207                    "i2s_mclk_divider_bit_width=\"9\"",
3208                    "i2s_mclk_divider_bit_width_is_set",
3209                    "i2s_max_ws_width=\"128\"",
3210                    "i2s_max_ws_width_is_set",
3211                    "i2s_clock_configured_by_pcr",
3212                    "i2s_supports_pdm_tx",
3213                    "i2s_supports_pdm_rx",
3214                    "i2s_supports_pcm2pdm",
3215                    "parl_io_version=\"1\"",
3216                    "rmt_ram_start=\"1610638336\"",
3217                    "rmt_channel_ram_size=\"48\"",
3218                    "rmt_has_tx_immediate_stop",
3219                    "rmt_has_tx_loop_count",
3220                    "rmt_has_tx_loop_auto_stop",
3221                    "rmt_has_tx_carrier_data_only",
3222                    "rmt_has_tx_sync",
3223                    "rmt_has_rx_wrap",
3224                    "rmt_has_rx_demodulation",
3225                    "bt_controller=\"npl\"",
3226                    "wifi_has_wifi6",
3227                    "wifi_mac_version=\"2\"",
3228                    "wifi_csi_supported",
3229                    "phy_combo_module",
3230                    "ledc_version=\"3\"",
3231                    "ledc_channel_count=\"6\"",
3232                    "soc_has_sdm_ch0",
3233                    "soc_has_sdm_ch1",
3234                    "soc_has_sdm_ch2",
3235                    "soc_has_sdm_ch3",
3236                    "timergroup_timg_has_divcnt_rst",
3237                    "timergroup_rc_fast_calibration_divider",
3238                    "timergroup_rc_fast_calibration_is_set",
3239                    "aes_dma_mode_ecb",
3240                    "aes_dma_mode_cbc",
3241                    "aes_dma_mode_ofb",
3242                    "aes_dma_mode_ctr",
3243                    "aes_dma_mode_cfb8",
3244                    "aes_dma_mode_cfb128",
3245                    "aes_has_split_text_registers",
3246                    "ecc_zero_extend_writes",
3247                    "ecc_has_memory_clock_gate",
3248                    "ecc_has_curve_p192",
3249                    "ecc_has_curve_p256",
3250                    "rng_apb_cycle_wait_num=\"16\"",
3251                    "rng_trng_supported",
3252                    "rng_is_lp_sys",
3253                    "rsa_version=\"3\"",
3254                    "rsa_size_increment=\"32\"",
3255                    "rsa_memory_size_bytes=\"384\"",
3256                    "sleep_light_sleep",
3257                    "sleep_deep_sleep",
3258                    "sleep_has_wakeup_source_ext1",
3259                    "sleep_has_wakeup_source_gpio",
3260                    "sleep_has_wakeup_source_wifi_beacon",
3261                    "sleep_has_wakeup_source_timer",
3262                    "sleep_has_wakeup_source_wifi",
3263                    "sleep_has_wakeup_source_uart",
3264                    "sleep_has_wakeup_source_sdio",
3265                    "sleep_has_wakeup_source_bt",
3266                    "sleep_has_wakeup_source_lp_core",
3267                    "sleep_ext1_version=\"2\"",
3268                    "sleep_ext1_version_is_set",
3269                    "sleep_pin_wakeup_version=\"3\"",
3270                    "sleep_pin_wakeup_version_is_set",
3271                    "assist_debug_has_sp_monitor",
3272                    "assist_debug_has_region_monitor",
3273                    "dma_separate_in_out_interrupts",
3274                    "dma_gdma_version=\"1\"",
3275                    "dma_gdma_version_is_set",
3276                    "soc_has_dma_ch0",
3277                    "soc_has_dma_ch1",
3278                    "soc_has_dma_ch2",
3279                    "dma_supports_mem2mem",
3280                    "aes_supports_dma",
3281                    "aes_dma_engine=\"AHB_GDMA\"",
3282                    "sha_supports_dma",
3283                    "sha_dma_engine=\"AHB_GDMA\"",
3284                    "spi_master_supports_dma",
3285                    "spi_master_dma_engine=\"AHB_GDMA\"",
3286                    "spi_slave_supports_dma",
3287                    "spi_slave_dma_engine=\"AHB_GDMA\"",
3288                    "uhci_supports_dma",
3289                    "uhci_dma_engine=\"AHB_GDMA\"",
3290                    "i2s_supports_dma",
3291                    "i2s_dma_engine=\"AHB_GDMA\"",
3292                    "parl_io_supports_dma",
3293                    "parl_io_dma_engine=\"AHB_GDMA\"",
3294                    "dma_max_priority=\"5\"",
3295                    "dma_max_priority_is_set",
3296                    "interrupts_status_registers=\"3\"",
3297                    "interrupt_controller=\"plic\"",
3298                    "context_switch_source=\"from_cpu\"",
3299                    "mmu_page_size=\"65536\"",
3300                    "mmu_entry_num=\"256\"",
3301                    "rom_has_crc_le",
3302                    "rom_has_crc_be",
3303                    "rom_has_md5_bsd",
3304                    "soc_cpu_has_csr_pc",
3305                    "soc_cpu_csr_prv_mode=\"3088\"",
3306                    "soc_cpu_csr_prv_mode_is_set",
3307                    "soc_has_swd_watchdog",
3308                    "soc_cpu_mcause_mask=\"31\"",
3309                    "soc_has_clock_node_xtal_clk",
3310                    "soc_clock_node_xtal_clk_is_configurable",
3311                    "soc_has_clock_node_pll_clk",
3312                    "soc_has_clock_node_rc_fast_clk",
3313                    "soc_has_clock_node_xtal32k_clk",
3314                    "soc_has_clock_node_osc_slow_clk",
3315                    "soc_has_clock_node_rc_slow_clk",
3316                    "soc_has_clock_node_soc_root_clk",
3317                    "soc_clock_node_soc_root_clk_is_configurable",
3318                    "soc_has_clock_node_hp_root_clk",
3319                    "soc_clock_node_hp_root_clk_is_configurable",
3320                    "soc_has_clock_node_cpu_hs_div",
3321                    "soc_clock_node_cpu_hs_div_is_configurable",
3322                    "soc_has_clock_node_cpu_ls_div",
3323                    "soc_clock_node_cpu_ls_div_is_configurable",
3324                    "soc_has_clock_node_cpu_clk",
3325                    "soc_clock_node_cpu_clk_is_configurable",
3326                    "soc_has_clock_node_ahb_hs_div",
3327                    "soc_clock_node_ahb_hs_div_is_configurable",
3328                    "soc_has_clock_node_ahb_ls_div",
3329                    "soc_clock_node_ahb_ls_div_is_configurable",
3330                    "soc_has_clock_node_ahb_clk",
3331                    "soc_clock_node_ahb_clk_is_configurable",
3332                    "soc_has_clock_node_apb_clk",
3333                    "soc_clock_node_apb_clk_is_configurable",
3334                    "soc_has_clock_node_mspi_fast_hs_clk",
3335                    "soc_clock_node_mspi_fast_hs_clk_is_configurable",
3336                    "soc_has_clock_node_mspi_fast_ls_clk",
3337                    "soc_clock_node_mspi_fast_ls_clk_is_configurable",
3338                    "soc_has_clock_node_mspi_fast_clk",
3339                    "soc_clock_node_mspi_fast_clk_is_configurable",
3340                    "soc_has_clock_node_pll_f48m",
3341                    "soc_has_clock_node_pll_f80m",
3342                    "soc_has_clock_node_pll_f160m",
3343                    "soc_has_clock_node_pll_f240m",
3344                    "soc_has_clock_node_iomux_function_clock",
3345                    "soc_clock_node_iomux_function_clock_is_configurable",
3346                    "soc_has_clock_node_ledc_sclk",
3347                    "soc_clock_node_ledc_sclk_is_configurable",
3348                    "soc_has_clock_node_xtal_d2_clk",
3349                    "soc_has_clock_node_lp_fast_clk",
3350                    "soc_clock_node_lp_fast_clk_is_configurable",
3351                    "soc_has_clock_node_lp_slow_clk",
3352                    "soc_clock_node_lp_slow_clk_is_configurable",
3353                    "soc_has_clock_node_timg_calibration_clock",
3354                    "soc_clock_node_timg_calibration_clock_is_configurable",
3355                    "soc_has_clock_node_uart_function_clock",
3356                    "soc_clock_node_uart_function_clock_is_configurable",
3357                    "soc_has_clock_node_uart_baud_rate_generator",
3358                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
3359                    "soc_has_clock_node_sdm_function_clock",
3360                    "soc_has_clock_node_rmt_sclk",
3361                    "soc_clock_node_rmt_sclk_is_configurable",
3362                    "soc_has_clock_node_timg_function_clock",
3363                    "soc_clock_node_timg_function_clock_is_configurable",
3364                    "soc_has_clock_node_timg_wdt_clock",
3365                    "soc_clock_node_timg_wdt_clock_is_configurable",
3366                    "soc_has_clock_node_mcpwm_function_clock",
3367                    "soc_clock_node_mcpwm_function_clock_is_configurable",
3368                    "soc_has_clock_node_parl_io_rx_clock",
3369                    "soc_clock_node_parl_io_rx_clock_is_configurable",
3370                    "soc_has_clock_node_parl_io_tx_clock",
3371                    "soc_clock_node_parl_io_tx_clock_is_configurable",
3372                    "soc_has_clock_node_i2s_tx_clk",
3373                    "soc_clock_node_i2s_tx_clk_is_configurable",
3374                    "soc_has_clock_node_i2s_rx_clk",
3375                    "soc_clock_node_i2s_rx_clk_is_configurable",
3376                    "soc_has_clock_node_i2s_mclk_out",
3377                    "soc_clock_node_i2s_mclk_out_is_configurable",
3378                    "soc_has_clock_node_i2c_function_clock",
3379                    "soc_clock_node_i2c_function_clock_is_configurable",
3380                    "soc_has_clock_node_spi_function_clock",
3381                    "soc_clock_node_spi_function_clock_is_configurable",
3382                    "has_dram_region",
3383                    "has_dram2_uninit_region",
3384                    "has_irom_region",
3385                    "has_drom_region",
3386                ],
3387                cfgs: &[
3388                    "cargo:rustc-cfg=esp32c6",
3389                    "cargo:rustc-cfg=riscv",
3390                    "cargo:rustc-cfg=single_core",
3391                    "cargo:rustc-cfg=soc_has_aes",
3392                    "cargo:rustc-cfg=soc_has_apb_saradc",
3393                    "cargo:rustc-cfg=soc_has_assist_debug",
3394                    "cargo:rustc-cfg=soc_has_atomic",
3395                    "cargo:rustc-cfg=soc_has_clint",
3396                    "cargo:rustc-cfg=soc_has_dma",
3397                    "cargo:rustc-cfg=soc_has_ds",
3398                    "cargo:rustc-cfg=soc_has_ecc",
3399                    "cargo:rustc-cfg=soc_has_efuse",
3400                    "cargo:rustc-cfg=soc_has_extmem",
3401                    "cargo:rustc-cfg=soc_has_gpio",
3402                    "cargo:rustc-cfg=soc_has_gpio_sd",
3403                    "cargo:rustc-cfg=soc_has_hinf",
3404                    "cargo:rustc-cfg=soc_has_hmac",
3405                    "cargo:rustc-cfg=soc_has_hp_apm",
3406                    "cargo:rustc-cfg=soc_has_hp_sys",
3407                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
3408                    "cargo:rustc-cfg=soc_has_i2c0",
3409                    "cargo:rustc-cfg=soc_has_i2s0",
3410                    "cargo:rustc-cfg=soc_has_ieee802154",
3411                    "cargo:rustc-cfg=soc_has_interrupt_core0",
3412                    "cargo:rustc-cfg=soc_has_intpri",
3413                    "cargo:rustc-cfg=soc_has_io_mux",
3414                    "cargo:rustc-cfg=soc_has_ledc",
3415                    "cargo:rustc-cfg=soc_has_lp_ana",
3416                    "cargo:rustc-cfg=soc_has_lp_aon",
3417                    "cargo:rustc-cfg=soc_has_lp_apm",
3418                    "cargo:rustc-cfg=soc_has_lp_apm0",
3419                    "cargo:rustc-cfg=soc_has_lp_clkrst",
3420                    "cargo:rustc-cfg=soc_has_lp_i2c0",
3421                    "cargo:rustc-cfg=soc_has_lp_i2c_ana_mst",
3422                    "cargo:rustc-cfg=soc_has_lp_io",
3423                    "cargo:rustc-cfg=soc_has_lp_peri",
3424                    "cargo:rustc-cfg=soc_has_lp_tee",
3425                    "cargo:rustc-cfg=soc_has_rtc_timer",
3426                    "cargo:rustc-cfg=soc_has_lp_uart",
3427                    "cargo:rustc-cfg=soc_has_lp_wdt",
3428                    "cargo:rustc-cfg=soc_has_lpwr",
3429                    "cargo:rustc-cfg=soc_has_mcpwm0",
3430                    "cargo:rustc-cfg=soc_has_mem_monitor",
3431                    "cargo:rustc-cfg=soc_has_modem_lpcon",
3432                    "cargo:rustc-cfg=soc_has_modem_syscon",
3433                    "cargo:rustc-cfg=soc_has_otp_debug",
3434                    "cargo:rustc-cfg=soc_has_parl_io",
3435                    "cargo:rustc-cfg=soc_has_pau",
3436                    "cargo:rustc-cfg=soc_has_pcnt",
3437                    "cargo:rustc-cfg=soc_has_pcr",
3438                    "cargo:rustc-cfg=soc_has_plic_mx",
3439                    "cargo:rustc-cfg=soc_has_pmu",
3440                    "cargo:rustc-cfg=soc_has_rmt",
3441                    "cargo:rustc-cfg=soc_has_rng",
3442                    "cargo:rustc-cfg=soc_has_rsa",
3443                    "cargo:rustc-cfg=soc_has_sha",
3444                    "cargo:rustc-cfg=soc_has_slchost",
3445                    "cargo:rustc-cfg=soc_has_etm",
3446                    "cargo:rustc-cfg=soc_has_spi0",
3447                    "cargo:rustc-cfg=soc_has_spi1",
3448                    "cargo:rustc-cfg=soc_has_spi2",
3449                    "cargo:rustc-cfg=soc_has_system",
3450                    "cargo:rustc-cfg=soc_has_systimer",
3451                    "cargo:rustc-cfg=soc_has_tee",
3452                    "cargo:rustc-cfg=soc_has_timg0",
3453                    "cargo:rustc-cfg=soc_has_timg1",
3454                    "cargo:rustc-cfg=soc_has_trace0",
3455                    "cargo:rustc-cfg=soc_has_twai0",
3456                    "cargo:rustc-cfg=soc_has_twai1",
3457                    "cargo:rustc-cfg=soc_has_uart0",
3458                    "cargo:rustc-cfg=soc_has_uart1",
3459                    "cargo:rustc-cfg=soc_has_uhci0",
3460                    "cargo:rustc-cfg=soc_has_usb_device",
3461                    "cargo:rustc-cfg=soc_has_adc1",
3462                    "cargo:rustc-cfg=soc_has_bt",
3463                    "cargo:rustc-cfg=soc_has_flash",
3464                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
3465                    "cargo:rustc-cfg=soc_has_lp_core",
3466                    "cargo:rustc-cfg=soc_has_tsens",
3467                    "cargo:rustc-cfg=soc_has_wifi",
3468                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
3469                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
3470                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
3471                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
3472                    "cargo:rustc-cfg=gpio_driver_supported",
3473                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
3474                    "cargo:rustc-cfg=io_mux_driver_supported",
3475                    "cargo:rustc-cfg=lp_io_driver_supported",
3476                    "cargo:rustc-cfg=uart_driver_supported",
3477                    "cargo:rustc-cfg=lp_uart_driver_supported",
3478                    "cargo:rustc-cfg=uhci_driver_supported",
3479                    "cargo:rustc-cfg=i2c_master_driver_supported",
3480                    "cargo:rustc-cfg=lp_i2c_master_driver_supported",
3481                    "cargo:rustc-cfg=i2c_slave_driver_supported",
3482                    "cargo:rustc-cfg=spi_master_driver_supported",
3483                    "cargo:rustc-cfg=spi_slave_driver_supported",
3484                    "cargo:rustc-cfg=i2s_driver_supported",
3485                    "cargo:rustc-cfg=parl_io_driver_supported",
3486                    "cargo:rustc-cfg=rmt_driver_supported",
3487                    "cargo:rustc-cfg=twai_driver_supported",
3488                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
3489                    "cargo:rustc-cfg=bt_driver_supported",
3490                    "cargo:rustc-cfg=wifi_driver_supported",
3491                    "cargo:rustc-cfg=ieee802154_driver_supported",
3492                    "cargo:rustc-cfg=phy_driver_supported",
3493                    "cargo:rustc-cfg=adc_driver_supported",
3494                    "cargo:rustc-cfg=temp_sensor_driver_supported",
3495                    "cargo:rustc-cfg=ledc_driver_supported",
3496                    "cargo:rustc-cfg=mcpwm_driver_supported",
3497                    "cargo:rustc-cfg=pcnt_driver_supported",
3498                    "cargo:rustc-cfg=lp_timer_driver_supported",
3499                    "cargo:rustc-cfg=sdm_driver_supported",
3500                    "cargo:rustc-cfg=systimer_driver_supported",
3501                    "cargo:rustc-cfg=timergroup_driver_supported",
3502                    "cargo:rustc-cfg=aes_driver_supported",
3503                    "cargo:rustc-cfg=ecc_driver_supported",
3504                    "cargo:rustc-cfg=hmac_driver_supported",
3505                    "cargo:rustc-cfg=rng_driver_supported",
3506                    "cargo:rustc-cfg=rsa_driver_supported",
3507                    "cargo:rustc-cfg=sha_driver_supported",
3508                    "cargo:rustc-cfg=sleep_driver_supported",
3509                    "cargo:rustc-cfg=ulp_riscv_driver_supported",
3510                    "cargo:rustc-cfg=assist_debug_driver_supported",
3511                    "cargo:rustc-cfg=dma_driver_supported",
3512                    "cargo:rustc-cfg=etm_driver_supported",
3513                    "cargo:rustc-cfg=interrupts_driver_supported",
3514                    "cargo:rustc-cfg=mmu_driver_supported",
3515                    "cargo:rustc-cfg=flash_driver_supported",
3516                    "cargo:rustc-cfg=rom_driver_supported",
3517                    "cargo:rustc-cfg=soc_driver_supported",
3518                    "cargo:rustc-cfg=uart_uart0",
3519                    "cargo:rustc-cfg=uart_uart1",
3520                    "cargo:rustc-cfg=i2c_master_i2c0",
3521                    "cargo:rustc-cfg=i2c_slave_i2c0",
3522                    "cargo:rustc-cfg=spi_master_spi2",
3523                    "cargo:rustc-cfg=spi_slave_spi2",
3524                    "cargo:rustc-cfg=i2s_i2s0",
3525                    "cargo:rustc-cfg=adc_adc1",
3526                    "cargo:rustc-cfg=pcnt_PCNT",
3527                    "cargo:rustc-cfg=timergroup_timg0",
3528                    "cargo:rustc-cfg=timergroup_timg1",
3529                    "cargo:rustc-cfg=gpio_version=\"2\"",
3530                    "cargo:rustc-cfg=gpio_has_input_sync",
3531                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
3532                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
3533                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
3534                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
3535                    "cargo:rustc-cfg=soc_has_xtal32k_pads",
3536                    "cargo:rustc-cfg=gpio_input_signal_max=\"124\"",
3537                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
3538                    "cargo:rustc-cfg=dedicated_gpio_version=\"riscv_v1\"",
3539                    "cargo:rustc-cfg=lp_io_version=\"v4\"",
3540                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
3541                    "cargo:rustc-cfg=uart_version=\"2\"",
3542                    "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
3543                    "cargo:rustc-cfg=uart_has_sclk_enable",
3544                    "cargo:rustc-cfg=lp_uart_ram_size=\"32\"",
3545                    "cargo:rustc-cfg=i2c_master_version=\"4\"",
3546                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
3547                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
3548                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
3549                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
3550                    "cargo:rustc-cfg=i2c_master_has_conf_update",
3551                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
3552                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
3553                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
3554                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
3555                    "cargo:rustc-cfg=i2c_master_has_pd_en",
3556                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
3557                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
3558                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
3559                    "cargo:rustc-cfg=lp_i2c_master_version=\"lp_i2c\"",
3560                    "cargo:rustc-cfg=lp_i2c_master_fifo_size=\"16\"",
3561                    "cargo:rustc-cfg=lp_i2c_master_fifo_size_is_set",
3562                    "cargo:rustc-cfg=spi_master_version=\"3\"",
3563                    "cargo:rustc-cfg=spi_master_fifo_size=\"64\"",
3564                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
3565                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
3566                    "cargo:rustc-cfg=i2s_version=\"2\"",
3567                    "cargo:rustc-cfg=i2s_version_is_set",
3568                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width=\"9\"",
3569                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width_is_set",
3570                    "cargo:rustc-cfg=i2s_max_ws_width=\"128\"",
3571                    "cargo:rustc-cfg=i2s_max_ws_width_is_set",
3572                    "cargo:rustc-cfg=i2s_clock_configured_by_pcr",
3573                    "cargo:rustc-cfg=i2s_supports_pdm_tx",
3574                    "cargo:rustc-cfg=i2s_supports_pdm_rx",
3575                    "cargo:rustc-cfg=i2s_supports_pcm2pdm",
3576                    "cargo:rustc-cfg=parl_io_version=\"1\"",
3577                    "cargo:rustc-cfg=rmt_ram_start=\"1610638336\"",
3578                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
3579                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
3580                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
3581                    "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
3582                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
3583                    "cargo:rustc-cfg=rmt_has_tx_sync",
3584                    "cargo:rustc-cfg=rmt_has_rx_wrap",
3585                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
3586                    "cargo:rustc-cfg=bt_controller=\"npl\"",
3587                    "cargo:rustc-cfg=wifi_has_wifi6",
3588                    "cargo:rustc-cfg=wifi_mac_version=\"2\"",
3589                    "cargo:rustc-cfg=wifi_csi_supported",
3590                    "cargo:rustc-cfg=phy_combo_module",
3591                    "cargo:rustc-cfg=ledc_version=\"3\"",
3592                    "cargo:rustc-cfg=ledc_channel_count=\"6\"",
3593                    "cargo:rustc-cfg=soc_has_sdm_ch0",
3594                    "cargo:rustc-cfg=soc_has_sdm_ch1",
3595                    "cargo:rustc-cfg=soc_has_sdm_ch2",
3596                    "cargo:rustc-cfg=soc_has_sdm_ch3",
3597                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
3598                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_divider",
3599                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
3600                    "cargo:rustc-cfg=aes_dma_mode_ecb",
3601                    "cargo:rustc-cfg=aes_dma_mode_cbc",
3602                    "cargo:rustc-cfg=aes_dma_mode_ofb",
3603                    "cargo:rustc-cfg=aes_dma_mode_ctr",
3604                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
3605                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
3606                    "cargo:rustc-cfg=aes_has_split_text_registers",
3607                    "cargo:rustc-cfg=ecc_zero_extend_writes",
3608                    "cargo:rustc-cfg=ecc_has_memory_clock_gate",
3609                    "cargo:rustc-cfg=ecc_has_curve_p192",
3610                    "cargo:rustc-cfg=ecc_has_curve_p256",
3611                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
3612                    "cargo:rustc-cfg=rng_trng_supported",
3613                    "cargo:rustc-cfg=rng_is_lp_sys",
3614                    "cargo:rustc-cfg=rsa_version=\"3\"",
3615                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
3616                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
3617                    "cargo:rustc-cfg=sleep_light_sleep",
3618                    "cargo:rustc-cfg=sleep_deep_sleep",
3619                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext1",
3620                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
3621                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi_beacon",
3622                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
3623                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi",
3624                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
3625                    "cargo:rustc-cfg=sleep_has_wakeup_source_sdio",
3626                    "cargo:rustc-cfg=sleep_has_wakeup_source_bt",
3627                    "cargo:rustc-cfg=sleep_has_wakeup_source_lp_core",
3628                    "cargo:rustc-cfg=sleep_ext1_version=\"2\"",
3629                    "cargo:rustc-cfg=sleep_ext1_version_is_set",
3630                    "cargo:rustc-cfg=sleep_pin_wakeup_version=\"3\"",
3631                    "cargo:rustc-cfg=sleep_pin_wakeup_version_is_set",
3632                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
3633                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
3634                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
3635                    "cargo:rustc-cfg=dma_gdma_version=\"1\"",
3636                    "cargo:rustc-cfg=dma_gdma_version_is_set",
3637                    "cargo:rustc-cfg=soc_has_dma_ch0",
3638                    "cargo:rustc-cfg=soc_has_dma_ch1",
3639                    "cargo:rustc-cfg=soc_has_dma_ch2",
3640                    "cargo:rustc-cfg=dma_supports_mem2mem",
3641                    "cargo:rustc-cfg=aes_supports_dma",
3642                    "cargo:rustc-cfg=aes_dma_engine=\"AHB_GDMA\"",
3643                    "cargo:rustc-cfg=sha_supports_dma",
3644                    "cargo:rustc-cfg=sha_dma_engine=\"AHB_GDMA\"",
3645                    "cargo:rustc-cfg=spi_master_supports_dma",
3646                    "cargo:rustc-cfg=spi_master_dma_engine=\"AHB_GDMA\"",
3647                    "cargo:rustc-cfg=spi_slave_supports_dma",
3648                    "cargo:rustc-cfg=spi_slave_dma_engine=\"AHB_GDMA\"",
3649                    "cargo:rustc-cfg=uhci_supports_dma",
3650                    "cargo:rustc-cfg=uhci_dma_engine=\"AHB_GDMA\"",
3651                    "cargo:rustc-cfg=i2s_supports_dma",
3652                    "cargo:rustc-cfg=i2s_dma_engine=\"AHB_GDMA\"",
3653                    "cargo:rustc-cfg=parl_io_supports_dma",
3654                    "cargo:rustc-cfg=parl_io_dma_engine=\"AHB_GDMA\"",
3655                    "cargo:rustc-cfg=dma_max_priority=\"5\"",
3656                    "cargo:rustc-cfg=dma_max_priority_is_set",
3657                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
3658                    "cargo:rustc-cfg=interrupt_controller=\"plic\"",
3659                    "cargo:rustc-cfg=context_switch_source=\"from_cpu\"",
3660                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
3661                    "cargo:rustc-cfg=mmu_entry_num=\"256\"",
3662                    "cargo:rustc-cfg=rom_has_crc_le",
3663                    "cargo:rustc-cfg=rom_has_crc_be",
3664                    "cargo:rustc-cfg=rom_has_md5_bsd",
3665                    "cargo:rustc-cfg=soc_cpu_has_csr_pc",
3666                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode=\"3088\"",
3667                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode_is_set",
3668                    "cargo:rustc-cfg=soc_has_swd_watchdog",
3669                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"31\"",
3670                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
3671                    "cargo:rustc-cfg=soc_clock_node_xtal_clk_is_configurable",
3672                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
3673                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
3674                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
3675                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
3676                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
3677                    "cargo:rustc-cfg=soc_has_clock_node_soc_root_clk",
3678                    "cargo:rustc-cfg=soc_clock_node_soc_root_clk_is_configurable",
3679                    "cargo:rustc-cfg=soc_has_clock_node_hp_root_clk",
3680                    "cargo:rustc-cfg=soc_clock_node_hp_root_clk_is_configurable",
3681                    "cargo:rustc-cfg=soc_has_clock_node_cpu_hs_div",
3682                    "cargo:rustc-cfg=soc_clock_node_cpu_hs_div_is_configurable",
3683                    "cargo:rustc-cfg=soc_has_clock_node_cpu_ls_div",
3684                    "cargo:rustc-cfg=soc_clock_node_cpu_ls_div_is_configurable",
3685                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
3686                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
3687                    "cargo:rustc-cfg=soc_has_clock_node_ahb_hs_div",
3688                    "cargo:rustc-cfg=soc_clock_node_ahb_hs_div_is_configurable",
3689                    "cargo:rustc-cfg=soc_has_clock_node_ahb_ls_div",
3690                    "cargo:rustc-cfg=soc_clock_node_ahb_ls_div_is_configurable",
3691                    "cargo:rustc-cfg=soc_has_clock_node_ahb_clk",
3692                    "cargo:rustc-cfg=soc_clock_node_ahb_clk_is_configurable",
3693                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
3694                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
3695                    "cargo:rustc-cfg=soc_has_clock_node_mspi_fast_hs_clk",
3696                    "cargo:rustc-cfg=soc_clock_node_mspi_fast_hs_clk_is_configurable",
3697                    "cargo:rustc-cfg=soc_has_clock_node_mspi_fast_ls_clk",
3698                    "cargo:rustc-cfg=soc_clock_node_mspi_fast_ls_clk_is_configurable",
3699                    "cargo:rustc-cfg=soc_has_clock_node_mspi_fast_clk",
3700                    "cargo:rustc-cfg=soc_clock_node_mspi_fast_clk_is_configurable",
3701                    "cargo:rustc-cfg=soc_has_clock_node_pll_f48m",
3702                    "cargo:rustc-cfg=soc_has_clock_node_pll_f80m",
3703                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m",
3704                    "cargo:rustc-cfg=soc_has_clock_node_pll_f240m",
3705                    "cargo:rustc-cfg=soc_has_clock_node_iomux_function_clock",
3706                    "cargo:rustc-cfg=soc_clock_node_iomux_function_clock_is_configurable",
3707                    "cargo:rustc-cfg=soc_has_clock_node_ledc_sclk",
3708                    "cargo:rustc-cfg=soc_clock_node_ledc_sclk_is_configurable",
3709                    "cargo:rustc-cfg=soc_has_clock_node_xtal_d2_clk",
3710                    "cargo:rustc-cfg=soc_has_clock_node_lp_fast_clk",
3711                    "cargo:rustc-cfg=soc_clock_node_lp_fast_clk_is_configurable",
3712                    "cargo:rustc-cfg=soc_has_clock_node_lp_slow_clk",
3713                    "cargo:rustc-cfg=soc_clock_node_lp_slow_clk_is_configurable",
3714                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
3715                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
3716                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
3717                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
3718                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
3719                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
3720                    "cargo:rustc-cfg=soc_has_clock_node_sdm_function_clock",
3721                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
3722                    "cargo:rustc-cfg=soc_clock_node_rmt_sclk_is_configurable",
3723                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
3724                    "cargo:rustc-cfg=soc_clock_node_timg_function_clock_is_configurable",
3725                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
3726                    "cargo:rustc-cfg=soc_clock_node_timg_wdt_clock_is_configurable",
3727                    "cargo:rustc-cfg=soc_has_clock_node_mcpwm_function_clock",
3728                    "cargo:rustc-cfg=soc_clock_node_mcpwm_function_clock_is_configurable",
3729                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_rx_clock",
3730                    "cargo:rustc-cfg=soc_clock_node_parl_io_rx_clock_is_configurable",
3731                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_tx_clock",
3732                    "cargo:rustc-cfg=soc_clock_node_parl_io_tx_clock_is_configurable",
3733                    "cargo:rustc-cfg=soc_has_clock_node_i2s_tx_clk",
3734                    "cargo:rustc-cfg=soc_clock_node_i2s_tx_clk_is_configurable",
3735                    "cargo:rustc-cfg=soc_has_clock_node_i2s_rx_clk",
3736                    "cargo:rustc-cfg=soc_clock_node_i2s_rx_clk_is_configurable",
3737                    "cargo:rustc-cfg=soc_has_clock_node_i2s_mclk_out",
3738                    "cargo:rustc-cfg=soc_clock_node_i2s_mclk_out_is_configurable",
3739                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
3740                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
3741                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
3742                    "cargo:rustc-cfg=soc_clock_node_spi_function_clock_is_configurable",
3743                    "cargo:rustc-cfg=has_dram_region",
3744                    "cargo:rustc-cfg=has_dram2_uninit_region",
3745                    "cargo:rustc-cfg=has_irom_region",
3746                    "cargo:rustc-cfg=has_drom_region",
3747                ],
3748                memory_layout: &MemoryLayout {
3749                    regions: &[
3750                        (
3751                            "dram",
3752                            MemoryRegion {
3753                                address_range: 0x40800000..0x40880000,
3754                            },
3755                        ),
3756                        (
3757                            "dram2_uninit",
3758                            MemoryRegion {
3759                                address_range: 0x4086E610..0x4087E610,
3760                            },
3761                        ),
3762                        (
3763                            "irom",
3764                            MemoryRegion {
3765                                address_range: 0x42000000..0x43000000,
3766                            },
3767                        ),
3768                        (
3769                            "drom",
3770                            MemoryRegion {
3771                                address_range: 0x42000000..0x43000000,
3772                            },
3773                        ),
3774                    ],
3775                },
3776                pins: &[
3777                    PinInfo {
3778                        pin: 0,
3779                        limitations: &[],
3780                    },
3781                    PinInfo {
3782                        pin: 1,
3783                        limitations: &[],
3784                    },
3785                    PinInfo {
3786                        pin: 2,
3787                        limitations: &[],
3788                    },
3789                    PinInfo {
3790                        pin: 3,
3791                        limitations: &[],
3792                    },
3793                    PinInfo {
3794                        pin: 4,
3795                        limitations: &["strapping", "jtag"],
3796                    },
3797                    PinInfo {
3798                        pin: 5,
3799                        limitations: &["strapping", "jtag"],
3800                    },
3801                    PinInfo {
3802                        pin: 6,
3803                        limitations: &["jtag"],
3804                    },
3805                    PinInfo {
3806                        pin: 7,
3807                        limitations: &["jtag"],
3808                    },
3809                    PinInfo {
3810                        pin: 8,
3811                        limitations: &["strapping"],
3812                    },
3813                    PinInfo {
3814                        pin: 9,
3815                        limitations: &["strapping"],
3816                    },
3817                    PinInfo {
3818                        pin: 10,
3819                        limitations: &[],
3820                    },
3821                    PinInfo {
3822                        pin: 11,
3823                        limitations: &[],
3824                    },
3825                    PinInfo {
3826                        pin: 12,
3827                        limitations: &["usb_jtag"],
3828                    },
3829                    PinInfo {
3830                        pin: 13,
3831                        limitations: &["usb_jtag"],
3832                    },
3833                    PinInfo {
3834                        pin: 14,
3835                        limitations: &[],
3836                    },
3837                    PinInfo {
3838                        pin: 15,
3839                        limitations: &["strapping"],
3840                    },
3841                    PinInfo {
3842                        pin: 16,
3843                        limitations: &["bootloader_uart"],
3844                    },
3845                    PinInfo {
3846                        pin: 17,
3847                        limitations: &["bootloader_uart"],
3848                    },
3849                    PinInfo {
3850                        pin: 18,
3851                        limitations: &[],
3852                    },
3853                    PinInfo {
3854                        pin: 19,
3855                        limitations: &[],
3856                    },
3857                    PinInfo {
3858                        pin: 20,
3859                        limitations: &[],
3860                    },
3861                    PinInfo {
3862                        pin: 21,
3863                        limitations: &[],
3864                    },
3865                    PinInfo {
3866                        pin: 22,
3867                        limitations: &[],
3868                    },
3869                    PinInfo {
3870                        pin: 23,
3871                        limitations: &[],
3872                    },
3873                    PinInfo {
3874                        pin: 24,
3875                        limitations: &["spi_flash"],
3876                    },
3877                    PinInfo {
3878                        pin: 25,
3879                        limitations: &["spi_flash"],
3880                    },
3881                    PinInfo {
3882                        pin: 26,
3883                        limitations: &["spi_flash"],
3884                    },
3885                    PinInfo {
3886                        pin: 27,
3887                        limitations: &["spi_flash"],
3888                    },
3889                    PinInfo {
3890                        pin: 28,
3891                        limitations: &["spi_flash"],
3892                    },
3893                    PinInfo {
3894                        pin: 29,
3895                        limitations: &["spi_flash"],
3896                    },
3897                    PinInfo {
3898                        pin: 30,
3899                        limitations: &["spi_flash"],
3900                    },
3901                ],
3902            },
3903            Self::Esp32c61 => Config {
3904                architecture: "riscv",
3905                target: "riscv32imac-unknown-none-elf",
3906                symbols: &[
3907                    "esp32c61",
3908                    "riscv",
3909                    "single_core",
3910                    "soc_has_apb_saradc",
3911                    "soc_has_assist_debug",
3912                    "soc_has_clint",
3913                    "soc_has_cache",
3914                    "soc_has_dma",
3915                    "soc_has_ecc",
3916                    "soc_has_ecdsa",
3917                    "soc_has_efuse",
3918                    "soc_has_etm",
3919                    "soc_has_gpio",
3920                    "soc_has_gpio_sd",
3921                    "soc_has_hp_apm",
3922                    "soc_has_hp_sys",
3923                    "soc_has_i2c_ana_mst",
3924                    "soc_has_i2c0",
3925                    "soc_has_i2s0",
3926                    "soc_has_interrupt_core0",
3927                    "soc_has_intpri",
3928                    "soc_has_io_mux",
3929                    "soc_has_lp_ana",
3930                    "soc_has_lp_aon",
3931                    "soc_has_lp_apm",
3932                    "soc_has_lp_clkrst",
3933                    "soc_has_lpwr",
3934                    "soc_has_lp_gpio",
3935                    "soc_has_lp_io_mux",
3936                    "soc_has_lp_peri",
3937                    "soc_has_lp_tee",
3938                    "soc_has_rtc_timer",
3939                    "soc_has_lp_wdt",
3940                    "soc_has_mem_monitor",
3941                    "soc_has_modem_lpcon",
3942                    "soc_has_modem_syscon",
3943                    "soc_has_pau",
3944                    "soc_has_pcr",
3945                    "soc_has_pmu",
3946                    "soc_has_rng",
3947                    "soc_has_sha",
3948                    "soc_has_slc",
3949                    "soc_has_spi0",
3950                    "soc_has_spi1",
3951                    "soc_has_spi2",
3952                    "soc_has_system",
3953                    "soc_has_systimer",
3954                    "soc_has_tee",
3955                    "soc_has_timg0",
3956                    "soc_has_timg1",
3957                    "soc_has_uart0",
3958                    "soc_has_uart1",
3959                    "soc_has_uart2",
3960                    "soc_has_usb_device",
3961                    "soc_has_adc1",
3962                    "soc_has_bt",
3963                    "soc_has_flash",
3964                    "soc_has_gpio_dedicated",
3965                    "soc_has_wifi",
3966                    "soc_has_psram",
3967                    "soc_has_from_cpu_intr0",
3968                    "soc_has_from_cpu_intr1",
3969                    "soc_has_from_cpu_intr2",
3970                    "soc_has_from_cpu_intr3",
3971                    "gpio_driver_supported",
3972                    "dedicated_gpio_driver_supported",
3973                    "io_mux_driver_supported",
3974                    "lp_io_driver_supported",
3975                    "uart_driver_supported",
3976                    "i2c_master_driver_supported",
3977                    "spi_master_driver_supported",
3978                    "spi_slave_driver_supported",
3979                    "i2s_driver_supported",
3980                    "usb_serial_jtag_driver_supported",
3981                    "bt_driver_supported",
3982                    "wifi_driver_supported",
3983                    "phy_driver_supported",
3984                    "adc_driver_supported",
3985                    "lp_timer_driver_supported",
3986                    "systimer_driver_supported",
3987                    "timergroup_driver_supported",
3988                    "ecc_driver_supported",
3989                    "rng_driver_supported",
3990                    "sha_driver_supported",
3991                    "sleep_driver_supported",
3992                    "assist_debug_driver_supported",
3993                    "dma_driver_supported",
3994                    "interrupts_driver_supported",
3995                    "mmu_driver_supported",
3996                    "flash_driver_supported",
3997                    "psram_driver_supported",
3998                    "rom_driver_supported",
3999                    "soc_driver_supported",
4000                    "uart_uart0",
4001                    "uart_uart1",
4002                    "uart_uart2",
4003                    "i2c_master_i2c0",
4004                    "spi_master_spi2",
4005                    "spi_slave_spi2",
4006                    "i2s_i2s0",
4007                    "adc_adc1",
4008                    "timergroup_timg0",
4009                    "timergroup_timg1",
4010                    "gpio_version=\"2\"",
4011                    "gpio_has_input_sync",
4012                    "gpio_gpio_function=\"1\"",
4013                    "gpio_constant_0_input=\"96\"",
4014                    "gpio_constant_1_input=\"64\"",
4015                    "gpio_func_in_sel_offset=\"0\"",
4016                    "soc_has_xtal32k_pads",
4017                    "gpio_input_signal_max=\"100\"",
4018                    "gpio_output_signal_max=\"256\"",
4019                    "dedicated_gpio_version=\"riscv_v1\"",
4020                    "lp_io_version=\"v4\"",
4021                    "uart_ram_size=\"128\"",
4022                    "uart_version=\"2\"",
4023                    "uart_peripheral_controls_mem_clk",
4024                    "uart_has_sclk_enable",
4025                    "i2c_master_version=\"4\"",
4026                    "i2c_master_has_fsm_timeouts",
4027                    "i2c_master_has_hw_bus_clear",
4028                    "i2c_master_has_bus_timeout_enable",
4029                    "i2c_master_can_estimate_nack_reason",
4030                    "i2c_master_has_conf_update",
4031                    "i2c_master_has_reliable_fsm_reset",
4032                    "i2c_master_has_arbitration_en",
4033                    "i2c_master_has_tx_fifo_watermark",
4034                    "i2c_master_bus_timeout_is_exponential",
4035                    "i2c_master_has_pd_en",
4036                    "i2c_master_max_bus_timeout=\"31\"",
4037                    "i2c_master_ll_intr_mask=\"262143\"",
4038                    "i2c_master_fifo_size=\"32\"",
4039                    "spi_master_version=\"3\"",
4040                    "spi_master_fifo_size=\"64\"",
4041                    "spi_master_has_app_interrupts",
4042                    "spi_master_has_dma_segmented_transfer",
4043                    "spi_master_has_clk_pre_div",
4044                    "spi_master_dma_can_access_flash",
4045                    "i2s_version=\"3\"",
4046                    "i2s_version_is_set",
4047                    "i2s_mclk_divider_bit_width=\"9\"",
4048                    "i2s_mclk_divider_bit_width_is_set",
4049                    "i2s_max_ws_width=\"512\"",
4050                    "i2s_max_ws_width_is_set",
4051                    "i2s_clock_configured_by_pcr",
4052                    "i2s_supports_pdm_tx",
4053                    "i2s_supports_pdm_rx",
4054                    "i2s_supports_pcm2pdm",
4055                    "bt_controller=\"npl\"",
4056                    "wifi_has_wifi6",
4057                    "wifi_mac_version=\"3\"",
4058                    "wifi_csi_supported",
4059                    "phy_combo_module",
4060                    "timergroup_timg_has_divcnt_rst",
4061                    "timergroup_rc_fast_calibration_divider",
4062                    "timergroup_rc_fast_calibration_is_set",
4063                    "ecc_zero_extend_writes",
4064                    "ecc_separate_jacobian_point_memory",
4065                    "ecc_has_memory_clock_gate",
4066                    "ecc_supports_enhanced_security",
4067                    "ecc_has_modular_arithmetic",
4068                    "ecc_has_point_addition",
4069                    "ecc_has_curve_p192",
4070                    "ecc_has_curve_p256",
4071                    "rng_apb_cycle_wait_num=\"16\"",
4072                    "rng_is_lp_sys",
4073                    "sleep_light_sleep",
4074                    "sleep_deep_sleep",
4075                    "sleep_has_wakeup_source_ext1",
4076                    "sleep_has_wakeup_source_gpio",
4077                    "sleep_has_wakeup_source_wifi_beacon",
4078                    "sleep_has_wakeup_source_timer",
4079                    "sleep_has_wakeup_source_wifi",
4080                    "sleep_has_wakeup_source_uart",
4081                    "sleep_has_wakeup_source_sdio",
4082                    "sleep_has_wakeup_source_bt",
4083                    "sleep_has_wakeup_source_lp_core",
4084                    "sleep_ext1_version=\"2\"",
4085                    "sleep_ext1_version_is_set",
4086                    "sleep_pin_wakeup_version=\"3\"",
4087                    "sleep_pin_wakeup_version_is_set",
4088                    "assist_debug_has_sp_monitor",
4089                    "assist_debug_has_region_monitor",
4090                    "dma_separate_in_out_interrupts",
4091                    "dma_gdma_version=\"2\"",
4092                    "dma_gdma_version_is_set",
4093                    "soc_has_dma_ch0",
4094                    "soc_has_dma_ch1",
4095                    "dma_supports_mem2mem",
4096                    "sha_supports_dma",
4097                    "sha_dma_engine=\"AHB_GDMA\"",
4098                    "spi_master_supports_dma",
4099                    "spi_master_dma_engine=\"AHB_GDMA\"",
4100                    "spi_slave_supports_dma",
4101                    "spi_slave_dma_engine=\"AHB_GDMA\"",
4102                    "i2s_supports_dma",
4103                    "i2s_dma_engine=\"AHB_GDMA\"",
4104                    "dma_can_access_psram",
4105                    "dma_max_priority=\"5\"",
4106                    "dma_max_priority_is_set",
4107                    "interrupts_status_registers=\"3\"",
4108                    "interrupt_controller=\"clic\"",
4109                    "context_switch_source=\"clint\"",
4110                    "mmu_page_size=\"65536\"",
4111                    "mmu_entry_num=\"512\"",
4112                    "psram_extmem_origin=\"1107296256\"",
4113                    "rom_has_crc_le",
4114                    "rom_has_crc_be",
4115                    "rom_has_md5_bsd",
4116                    "soc_cpu_has_branch_predictor",
4117                    "soc_cpu_csr_prv_mode=\"2064\"",
4118                    "soc_cpu_csr_prv_mode_is_set",
4119                    "soc_has_swd_watchdog",
4120                    "soc_cpu_mcause_mask=\"31\"",
4121                    "soc_has_clock_node_xtal_clk",
4122                    "soc_clock_node_xtal_clk_is_configurable",
4123                    "soc_has_clock_node_rc_fast_clk",
4124                    "soc_has_clock_node_pll_clk",
4125                    "soc_has_clock_node_xtal32k_clk",
4126                    "soc_has_clock_node_osc_slow_clk",
4127                    "soc_has_clock_node_rc_slow_clk",
4128                    "soc_has_clock_node_pll_f20m",
4129                    "soc_has_clock_node_pll_f40m",
4130                    "soc_has_clock_node_pll_f48m",
4131                    "soc_has_clock_node_pll_f60m",
4132                    "soc_has_clock_node_pll_f80m",
4133                    "soc_has_clock_node_pll_f120m",
4134                    "soc_has_clock_node_pll_f160m",
4135                    "soc_has_clock_node_hp_root_clk",
4136                    "soc_clock_node_hp_root_clk_is_configurable",
4137                    "soc_has_clock_node_cpu_clk",
4138                    "soc_clock_node_cpu_clk_is_configurable",
4139                    "soc_has_clock_node_ahb_clk",
4140                    "soc_clock_node_ahb_clk_is_configurable",
4141                    "soc_has_clock_node_apb_clk",
4142                    "soc_clock_node_apb_clk_is_configurable",
4143                    "soc_has_clock_node_xtal_d2_clk",
4144                    "soc_has_clock_node_lp_fast_clk",
4145                    "soc_clock_node_lp_fast_clk_is_configurable",
4146                    "soc_has_clock_node_lp_slow_clk",
4147                    "soc_clock_node_lp_slow_clk_is_configurable",
4148                    "soc_has_clock_node_crypto_pll_div",
4149                    "soc_has_clock_node_crypto_clk",
4150                    "soc_clock_node_crypto_clk_is_configurable",
4151                    "soc_has_clock_node_timg_calibration_clock",
4152                    "soc_clock_node_timg_calibration_clock_is_configurable",
4153                    "soc_has_clock_node_uart_function_clock",
4154                    "soc_clock_node_uart_function_clock_is_configurable",
4155                    "soc_has_clock_node_uart_baud_rate_generator",
4156                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
4157                    "soc_has_clock_node_timg_function_clock",
4158                    "soc_clock_node_timg_function_clock_is_configurable",
4159                    "soc_has_clock_node_timg_wdt_clock",
4160                    "soc_clock_node_timg_wdt_clock_is_configurable",
4161                    "soc_has_clock_node_i2c_function_clock",
4162                    "soc_clock_node_i2c_function_clock_is_configurable",
4163                    "soc_has_clock_node_spi_function_clock",
4164                    "soc_clock_node_spi_function_clock_is_configurable",
4165                    "soc_has_clock_node_i2s_tx_clk",
4166                    "soc_clock_node_i2s_tx_clk_is_configurable",
4167                    "soc_has_clock_node_i2s_rx_clk",
4168                    "soc_clock_node_i2s_rx_clk_is_configurable",
4169                    "soc_has_clock_node_i2s_mclk_out",
4170                    "soc_clock_node_i2s_mclk_out_is_configurable",
4171                    "has_dram_region",
4172                    "has_dram2_uninit_region",
4173                    "has_irom_region",
4174                    "has_drom_region",
4175                ],
4176                cfgs: &[
4177                    "cargo:rustc-cfg=esp32c61",
4178                    "cargo:rustc-cfg=riscv",
4179                    "cargo:rustc-cfg=single_core",
4180                    "cargo:rustc-cfg=soc_has_apb_saradc",
4181                    "cargo:rustc-cfg=soc_has_assist_debug",
4182                    "cargo:rustc-cfg=soc_has_clint",
4183                    "cargo:rustc-cfg=soc_has_cache",
4184                    "cargo:rustc-cfg=soc_has_dma",
4185                    "cargo:rustc-cfg=soc_has_ecc",
4186                    "cargo:rustc-cfg=soc_has_ecdsa",
4187                    "cargo:rustc-cfg=soc_has_efuse",
4188                    "cargo:rustc-cfg=soc_has_etm",
4189                    "cargo:rustc-cfg=soc_has_gpio",
4190                    "cargo:rustc-cfg=soc_has_gpio_sd",
4191                    "cargo:rustc-cfg=soc_has_hp_apm",
4192                    "cargo:rustc-cfg=soc_has_hp_sys",
4193                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
4194                    "cargo:rustc-cfg=soc_has_i2c0",
4195                    "cargo:rustc-cfg=soc_has_i2s0",
4196                    "cargo:rustc-cfg=soc_has_interrupt_core0",
4197                    "cargo:rustc-cfg=soc_has_intpri",
4198                    "cargo:rustc-cfg=soc_has_io_mux",
4199                    "cargo:rustc-cfg=soc_has_lp_ana",
4200                    "cargo:rustc-cfg=soc_has_lp_aon",
4201                    "cargo:rustc-cfg=soc_has_lp_apm",
4202                    "cargo:rustc-cfg=soc_has_lp_clkrst",
4203                    "cargo:rustc-cfg=soc_has_lpwr",
4204                    "cargo:rustc-cfg=soc_has_lp_gpio",
4205                    "cargo:rustc-cfg=soc_has_lp_io_mux",
4206                    "cargo:rustc-cfg=soc_has_lp_peri",
4207                    "cargo:rustc-cfg=soc_has_lp_tee",
4208                    "cargo:rustc-cfg=soc_has_rtc_timer",
4209                    "cargo:rustc-cfg=soc_has_lp_wdt",
4210                    "cargo:rustc-cfg=soc_has_mem_monitor",
4211                    "cargo:rustc-cfg=soc_has_modem_lpcon",
4212                    "cargo:rustc-cfg=soc_has_modem_syscon",
4213                    "cargo:rustc-cfg=soc_has_pau",
4214                    "cargo:rustc-cfg=soc_has_pcr",
4215                    "cargo:rustc-cfg=soc_has_pmu",
4216                    "cargo:rustc-cfg=soc_has_rng",
4217                    "cargo:rustc-cfg=soc_has_sha",
4218                    "cargo:rustc-cfg=soc_has_slc",
4219                    "cargo:rustc-cfg=soc_has_spi0",
4220                    "cargo:rustc-cfg=soc_has_spi1",
4221                    "cargo:rustc-cfg=soc_has_spi2",
4222                    "cargo:rustc-cfg=soc_has_system",
4223                    "cargo:rustc-cfg=soc_has_systimer",
4224                    "cargo:rustc-cfg=soc_has_tee",
4225                    "cargo:rustc-cfg=soc_has_timg0",
4226                    "cargo:rustc-cfg=soc_has_timg1",
4227                    "cargo:rustc-cfg=soc_has_uart0",
4228                    "cargo:rustc-cfg=soc_has_uart1",
4229                    "cargo:rustc-cfg=soc_has_uart2",
4230                    "cargo:rustc-cfg=soc_has_usb_device",
4231                    "cargo:rustc-cfg=soc_has_adc1",
4232                    "cargo:rustc-cfg=soc_has_bt",
4233                    "cargo:rustc-cfg=soc_has_flash",
4234                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
4235                    "cargo:rustc-cfg=soc_has_wifi",
4236                    "cargo:rustc-cfg=soc_has_psram",
4237                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
4238                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
4239                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
4240                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
4241                    "cargo:rustc-cfg=gpio_driver_supported",
4242                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
4243                    "cargo:rustc-cfg=io_mux_driver_supported",
4244                    "cargo:rustc-cfg=lp_io_driver_supported",
4245                    "cargo:rustc-cfg=uart_driver_supported",
4246                    "cargo:rustc-cfg=i2c_master_driver_supported",
4247                    "cargo:rustc-cfg=spi_master_driver_supported",
4248                    "cargo:rustc-cfg=spi_slave_driver_supported",
4249                    "cargo:rustc-cfg=i2s_driver_supported",
4250                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
4251                    "cargo:rustc-cfg=bt_driver_supported",
4252                    "cargo:rustc-cfg=wifi_driver_supported",
4253                    "cargo:rustc-cfg=phy_driver_supported",
4254                    "cargo:rustc-cfg=adc_driver_supported",
4255                    "cargo:rustc-cfg=lp_timer_driver_supported",
4256                    "cargo:rustc-cfg=systimer_driver_supported",
4257                    "cargo:rustc-cfg=timergroup_driver_supported",
4258                    "cargo:rustc-cfg=ecc_driver_supported",
4259                    "cargo:rustc-cfg=rng_driver_supported",
4260                    "cargo:rustc-cfg=sha_driver_supported",
4261                    "cargo:rustc-cfg=sleep_driver_supported",
4262                    "cargo:rustc-cfg=assist_debug_driver_supported",
4263                    "cargo:rustc-cfg=dma_driver_supported",
4264                    "cargo:rustc-cfg=interrupts_driver_supported",
4265                    "cargo:rustc-cfg=mmu_driver_supported",
4266                    "cargo:rustc-cfg=flash_driver_supported",
4267                    "cargo:rustc-cfg=psram_driver_supported",
4268                    "cargo:rustc-cfg=rom_driver_supported",
4269                    "cargo:rustc-cfg=soc_driver_supported",
4270                    "cargo:rustc-cfg=uart_uart0",
4271                    "cargo:rustc-cfg=uart_uart1",
4272                    "cargo:rustc-cfg=uart_uart2",
4273                    "cargo:rustc-cfg=i2c_master_i2c0",
4274                    "cargo:rustc-cfg=spi_master_spi2",
4275                    "cargo:rustc-cfg=spi_slave_spi2",
4276                    "cargo:rustc-cfg=i2s_i2s0",
4277                    "cargo:rustc-cfg=adc_adc1",
4278                    "cargo:rustc-cfg=timergroup_timg0",
4279                    "cargo:rustc-cfg=timergroup_timg1",
4280                    "cargo:rustc-cfg=gpio_version=\"2\"",
4281                    "cargo:rustc-cfg=gpio_has_input_sync",
4282                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
4283                    "cargo:rustc-cfg=gpio_constant_0_input=\"96\"",
4284                    "cargo:rustc-cfg=gpio_constant_1_input=\"64\"",
4285                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
4286                    "cargo:rustc-cfg=soc_has_xtal32k_pads",
4287                    "cargo:rustc-cfg=gpio_input_signal_max=\"100\"",
4288                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
4289                    "cargo:rustc-cfg=dedicated_gpio_version=\"riscv_v1\"",
4290                    "cargo:rustc-cfg=lp_io_version=\"v4\"",
4291                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
4292                    "cargo:rustc-cfg=uart_version=\"2\"",
4293                    "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
4294                    "cargo:rustc-cfg=uart_has_sclk_enable",
4295                    "cargo:rustc-cfg=i2c_master_version=\"4\"",
4296                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
4297                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
4298                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
4299                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
4300                    "cargo:rustc-cfg=i2c_master_has_conf_update",
4301                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
4302                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
4303                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
4304                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
4305                    "cargo:rustc-cfg=i2c_master_has_pd_en",
4306                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
4307                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
4308                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
4309                    "cargo:rustc-cfg=spi_master_version=\"3\"",
4310                    "cargo:rustc-cfg=spi_master_fifo_size=\"64\"",
4311                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
4312                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
4313                    "cargo:rustc-cfg=spi_master_has_clk_pre_div",
4314                    "cargo:rustc-cfg=spi_master_dma_can_access_flash",
4315                    "cargo:rustc-cfg=i2s_version=\"3\"",
4316                    "cargo:rustc-cfg=i2s_version_is_set",
4317                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width=\"9\"",
4318                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width_is_set",
4319                    "cargo:rustc-cfg=i2s_max_ws_width=\"512\"",
4320                    "cargo:rustc-cfg=i2s_max_ws_width_is_set",
4321                    "cargo:rustc-cfg=i2s_clock_configured_by_pcr",
4322                    "cargo:rustc-cfg=i2s_supports_pdm_tx",
4323                    "cargo:rustc-cfg=i2s_supports_pdm_rx",
4324                    "cargo:rustc-cfg=i2s_supports_pcm2pdm",
4325                    "cargo:rustc-cfg=bt_controller=\"npl\"",
4326                    "cargo:rustc-cfg=wifi_has_wifi6",
4327                    "cargo:rustc-cfg=wifi_mac_version=\"3\"",
4328                    "cargo:rustc-cfg=wifi_csi_supported",
4329                    "cargo:rustc-cfg=phy_combo_module",
4330                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
4331                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_divider",
4332                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
4333                    "cargo:rustc-cfg=ecc_zero_extend_writes",
4334                    "cargo:rustc-cfg=ecc_separate_jacobian_point_memory",
4335                    "cargo:rustc-cfg=ecc_has_memory_clock_gate",
4336                    "cargo:rustc-cfg=ecc_supports_enhanced_security",
4337                    "cargo:rustc-cfg=ecc_has_modular_arithmetic",
4338                    "cargo:rustc-cfg=ecc_has_point_addition",
4339                    "cargo:rustc-cfg=ecc_has_curve_p192",
4340                    "cargo:rustc-cfg=ecc_has_curve_p256",
4341                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
4342                    "cargo:rustc-cfg=rng_is_lp_sys",
4343                    "cargo:rustc-cfg=sleep_light_sleep",
4344                    "cargo:rustc-cfg=sleep_deep_sleep",
4345                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext1",
4346                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
4347                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi_beacon",
4348                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
4349                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi",
4350                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
4351                    "cargo:rustc-cfg=sleep_has_wakeup_source_sdio",
4352                    "cargo:rustc-cfg=sleep_has_wakeup_source_bt",
4353                    "cargo:rustc-cfg=sleep_has_wakeup_source_lp_core",
4354                    "cargo:rustc-cfg=sleep_ext1_version=\"2\"",
4355                    "cargo:rustc-cfg=sleep_ext1_version_is_set",
4356                    "cargo:rustc-cfg=sleep_pin_wakeup_version=\"3\"",
4357                    "cargo:rustc-cfg=sleep_pin_wakeup_version_is_set",
4358                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
4359                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
4360                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
4361                    "cargo:rustc-cfg=dma_gdma_version=\"2\"",
4362                    "cargo:rustc-cfg=dma_gdma_version_is_set",
4363                    "cargo:rustc-cfg=soc_has_dma_ch0",
4364                    "cargo:rustc-cfg=soc_has_dma_ch1",
4365                    "cargo:rustc-cfg=dma_supports_mem2mem",
4366                    "cargo:rustc-cfg=sha_supports_dma",
4367                    "cargo:rustc-cfg=sha_dma_engine=\"AHB_GDMA\"",
4368                    "cargo:rustc-cfg=spi_master_supports_dma",
4369                    "cargo:rustc-cfg=spi_master_dma_engine=\"AHB_GDMA\"",
4370                    "cargo:rustc-cfg=spi_slave_supports_dma",
4371                    "cargo:rustc-cfg=spi_slave_dma_engine=\"AHB_GDMA\"",
4372                    "cargo:rustc-cfg=i2s_supports_dma",
4373                    "cargo:rustc-cfg=i2s_dma_engine=\"AHB_GDMA\"",
4374                    "cargo:rustc-cfg=dma_can_access_psram",
4375                    "cargo:rustc-cfg=dma_max_priority=\"5\"",
4376                    "cargo:rustc-cfg=dma_max_priority_is_set",
4377                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
4378                    "cargo:rustc-cfg=interrupt_controller=\"clic\"",
4379                    "cargo:rustc-cfg=context_switch_source=\"clint\"",
4380                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
4381                    "cargo:rustc-cfg=mmu_entry_num=\"512\"",
4382                    "cargo:rustc-cfg=psram_extmem_origin=\"1107296256\"",
4383                    "cargo:rustc-cfg=rom_has_crc_le",
4384                    "cargo:rustc-cfg=rom_has_crc_be",
4385                    "cargo:rustc-cfg=rom_has_md5_bsd",
4386                    "cargo:rustc-cfg=soc_cpu_has_branch_predictor",
4387                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode=\"2064\"",
4388                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode_is_set",
4389                    "cargo:rustc-cfg=soc_has_swd_watchdog",
4390                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"31\"",
4391                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
4392                    "cargo:rustc-cfg=soc_clock_node_xtal_clk_is_configurable",
4393                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
4394                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
4395                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
4396                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
4397                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
4398                    "cargo:rustc-cfg=soc_has_clock_node_pll_f20m",
4399                    "cargo:rustc-cfg=soc_has_clock_node_pll_f40m",
4400                    "cargo:rustc-cfg=soc_has_clock_node_pll_f48m",
4401                    "cargo:rustc-cfg=soc_has_clock_node_pll_f60m",
4402                    "cargo:rustc-cfg=soc_has_clock_node_pll_f80m",
4403                    "cargo:rustc-cfg=soc_has_clock_node_pll_f120m",
4404                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m",
4405                    "cargo:rustc-cfg=soc_has_clock_node_hp_root_clk",
4406                    "cargo:rustc-cfg=soc_clock_node_hp_root_clk_is_configurable",
4407                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
4408                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
4409                    "cargo:rustc-cfg=soc_has_clock_node_ahb_clk",
4410                    "cargo:rustc-cfg=soc_clock_node_ahb_clk_is_configurable",
4411                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
4412                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
4413                    "cargo:rustc-cfg=soc_has_clock_node_xtal_d2_clk",
4414                    "cargo:rustc-cfg=soc_has_clock_node_lp_fast_clk",
4415                    "cargo:rustc-cfg=soc_clock_node_lp_fast_clk_is_configurable",
4416                    "cargo:rustc-cfg=soc_has_clock_node_lp_slow_clk",
4417                    "cargo:rustc-cfg=soc_clock_node_lp_slow_clk_is_configurable",
4418                    "cargo:rustc-cfg=soc_has_clock_node_crypto_pll_div",
4419                    "cargo:rustc-cfg=soc_has_clock_node_crypto_clk",
4420                    "cargo:rustc-cfg=soc_clock_node_crypto_clk_is_configurable",
4421                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
4422                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
4423                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
4424                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
4425                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
4426                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
4427                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
4428                    "cargo:rustc-cfg=soc_clock_node_timg_function_clock_is_configurable",
4429                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
4430                    "cargo:rustc-cfg=soc_clock_node_timg_wdt_clock_is_configurable",
4431                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
4432                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
4433                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
4434                    "cargo:rustc-cfg=soc_clock_node_spi_function_clock_is_configurable",
4435                    "cargo:rustc-cfg=soc_has_clock_node_i2s_tx_clk",
4436                    "cargo:rustc-cfg=soc_clock_node_i2s_tx_clk_is_configurable",
4437                    "cargo:rustc-cfg=soc_has_clock_node_i2s_rx_clk",
4438                    "cargo:rustc-cfg=soc_clock_node_i2s_rx_clk_is_configurable",
4439                    "cargo:rustc-cfg=soc_has_clock_node_i2s_mclk_out",
4440                    "cargo:rustc-cfg=soc_clock_node_i2s_mclk_out_is_configurable",
4441                    "cargo:rustc-cfg=has_dram_region",
4442                    "cargo:rustc-cfg=has_dram2_uninit_region",
4443                    "cargo:rustc-cfg=has_irom_region",
4444                    "cargo:rustc-cfg=has_drom_region",
4445                ],
4446                memory_layout: &MemoryLayout {
4447                    regions: &[
4448                        (
4449                            "dram",
4450                            MemoryRegion {
4451                                address_range: 0x40800000..0x40850000,
4452                            },
4453                        ),
4454                        (
4455                            "dram2_uninit",
4456                            MemoryRegion {
4457                                address_range: 0x4083EA70..0x4084EA70,
4458                            },
4459                        ),
4460                        (
4461                            "irom",
4462                            MemoryRegion {
4463                                address_range: 0x42000000..0x44000000,
4464                            },
4465                        ),
4466                        (
4467                            "drom",
4468                            MemoryRegion {
4469                                address_range: 0x42000000..0x44000000,
4470                            },
4471                        ),
4472                    ],
4473                },
4474                pins: &[
4475                    PinInfo {
4476                        pin: 0,
4477                        limitations: &[],
4478                    },
4479                    PinInfo {
4480                        pin: 1,
4481                        limitations: &[],
4482                    },
4483                    PinInfo {
4484                        pin: 2,
4485                        limitations: &[],
4486                    },
4487                    PinInfo {
4488                        pin: 3,
4489                        limitations: &["strapping", "jtag"],
4490                    },
4491                    PinInfo {
4492                        pin: 4,
4493                        limitations: &["strapping", "jtag"],
4494                    },
4495                    PinInfo {
4496                        pin: 5,
4497                        limitations: &["jtag"],
4498                    },
4499                    PinInfo {
4500                        pin: 6,
4501                        limitations: &["jtag"],
4502                    },
4503                    PinInfo {
4504                        pin: 7,
4505                        limitations: &["strapping"],
4506                    },
4507                    PinInfo {
4508                        pin: 8,
4509                        limitations: &["strapping"],
4510                    },
4511                    PinInfo {
4512                        pin: 9,
4513                        limitations: &["strapping"],
4514                    },
4515                    PinInfo {
4516                        pin: 10,
4517                        limitations: &["bootloader_uart"],
4518                    },
4519                    PinInfo {
4520                        pin: 11,
4521                        limitations: &["bootloader_uart"],
4522                    },
4523                    PinInfo {
4524                        pin: 12,
4525                        limitations: &["usb_jtag"],
4526                    },
4527                    PinInfo {
4528                        pin: 13,
4529                        limitations: &["usb_jtag"],
4530                    },
4531                    PinInfo {
4532                        pin: 14,
4533                        limitations: &["spi_psram"],
4534                    },
4535                    PinInfo {
4536                        pin: 15,
4537                        limitations: &["spi_flash"],
4538                    },
4539                    PinInfo {
4540                        pin: 16,
4541                        limitations: &["spi_flash", "spi_psram"],
4542                    },
4543                    PinInfo {
4544                        pin: 17,
4545                        limitations: &["spi_flash", "spi_psram"],
4546                    },
4547                    PinInfo {
4548                        pin: 18,
4549                        limitations: &["spi_flash", "spi_psram"],
4550                    },
4551                    PinInfo {
4552                        pin: 19,
4553                        limitations: &["spi_flash", "spi_psram"],
4554                    },
4555                    PinInfo {
4556                        pin: 20,
4557                        limitations: &["spi_flash", "spi_psram"],
4558                    },
4559                    PinInfo {
4560                        pin: 21,
4561                        limitations: &["spi_flash", "spi_psram"],
4562                    },
4563                    PinInfo {
4564                        pin: 22,
4565                        limitations: &[],
4566                    },
4567                    PinInfo {
4568                        pin: 23,
4569                        limitations: &[],
4570                    },
4571                    PinInfo {
4572                        pin: 24,
4573                        limitations: &[],
4574                    },
4575                    PinInfo {
4576                        pin: 25,
4577                        limitations: &[],
4578                    },
4579                    PinInfo {
4580                        pin: 26,
4581                        limitations: &[],
4582                    },
4583                    PinInfo {
4584                        pin: 27,
4585                        limitations: &[],
4586                    },
4587                    PinInfo {
4588                        pin: 28,
4589                        limitations: &[],
4590                    },
4591                    PinInfo {
4592                        pin: 29,
4593                        limitations: &[],
4594                    },
4595                ],
4596            },
4597            Self::Esp32h2 => Config {
4598                architecture: "riscv",
4599                target: "riscv32imac-unknown-none-elf",
4600                symbols: &[
4601                    "esp32h2",
4602                    "riscv",
4603                    "single_core",
4604                    "soc_has_aes",
4605                    "soc_has_apb_saradc",
4606                    "soc_has_assist_debug",
4607                    "soc_has_clint",
4608                    "soc_has_dma",
4609                    "soc_has_ds",
4610                    "soc_has_ecc",
4611                    "soc_has_efuse",
4612                    "soc_has_gpio",
4613                    "soc_has_gpio_sd",
4614                    "soc_has_hmac",
4615                    "soc_has_hp_apm",
4616                    "soc_has_hp_sys",
4617                    "soc_has_i2c_ana_mst",
4618                    "soc_has_i2c0",
4619                    "soc_has_i2c1",
4620                    "soc_has_i2s0",
4621                    "soc_has_ieee802154",
4622                    "soc_has_interrupt_core0",
4623                    "soc_has_intpri",
4624                    "soc_has_io_mux",
4625                    "soc_has_ledc",
4626                    "soc_has_lpwr",
4627                    "soc_has_lp_ana",
4628                    "soc_has_lp_aon",
4629                    "soc_has_lp_apm",
4630                    "soc_has_lp_apm0",
4631                    "soc_has_lp_clkrst",
4632                    "soc_has_lp_peri",
4633                    "soc_has_rtc_timer",
4634                    "soc_has_lp_wdt",
4635                    "soc_has_mcpwm0",
4636                    "soc_has_mem_monitor",
4637                    "soc_has_modem_lpcon",
4638                    "soc_has_modem_syscon",
4639                    "soc_has_otp_debug",
4640                    "soc_has_parl_io",
4641                    "soc_has_pau",
4642                    "soc_has_pcnt",
4643                    "soc_has_pcr",
4644                    "soc_has_plic_mx",
4645                    "soc_has_pmu",
4646                    "soc_has_rmt",
4647                    "soc_has_rng",
4648                    "soc_has_rsa",
4649                    "soc_has_sha",
4650                    "soc_has_etm",
4651                    "soc_has_spi0",
4652                    "soc_has_spi1",
4653                    "soc_has_spi2",
4654                    "soc_has_system",
4655                    "soc_has_systimer",
4656                    "soc_has_tee",
4657                    "soc_has_timg0",
4658                    "soc_has_timg1",
4659                    "soc_has_trace0",
4660                    "soc_has_twai0",
4661                    "soc_has_uart0",
4662                    "soc_has_uart1",
4663                    "soc_has_uhci0",
4664                    "soc_has_usb_device",
4665                    "soc_has_adc1",
4666                    "soc_has_bt",
4667                    "soc_has_flash",
4668                    "soc_has_gpio_dedicated",
4669                    "soc_has_from_cpu_intr0",
4670                    "soc_has_from_cpu_intr1",
4671                    "soc_has_from_cpu_intr2",
4672                    "soc_has_from_cpu_intr3",
4673                    "gpio_driver_supported",
4674                    "dedicated_gpio_driver_supported",
4675                    "io_mux_driver_supported",
4676                    "lp_io_driver_supported",
4677                    "uart_driver_supported",
4678                    "uhci_driver_supported",
4679                    "i2c_master_driver_supported",
4680                    "spi_master_driver_supported",
4681                    "spi_slave_driver_supported",
4682                    "i2s_driver_supported",
4683                    "parl_io_driver_supported",
4684                    "rmt_driver_supported",
4685                    "twai_driver_supported",
4686                    "usb_serial_jtag_driver_supported",
4687                    "bt_driver_supported",
4688                    "ieee802154_driver_supported",
4689                    "phy_driver_supported",
4690                    "adc_driver_supported",
4691                    "temp_sensor_driver_supported",
4692                    "ledc_driver_supported",
4693                    "mcpwm_driver_supported",
4694                    "pcnt_driver_supported",
4695                    "lp_timer_driver_supported",
4696                    "sdm_driver_supported",
4697                    "systimer_driver_supported",
4698                    "timergroup_driver_supported",
4699                    "aes_driver_supported",
4700                    "ecc_driver_supported",
4701                    "hmac_driver_supported",
4702                    "rng_driver_supported",
4703                    "rsa_driver_supported",
4704                    "sha_driver_supported",
4705                    "sleep_driver_supported",
4706                    "assist_debug_driver_supported",
4707                    "dma_driver_supported",
4708                    "etm_driver_supported",
4709                    "interrupts_driver_supported",
4710                    "mmu_driver_supported",
4711                    "flash_driver_supported",
4712                    "rom_driver_supported",
4713                    "soc_driver_supported",
4714                    "uart_uart0",
4715                    "uart_uart1",
4716                    "i2c_master_i2c0",
4717                    "i2c_master_i2c1",
4718                    "spi_master_spi2",
4719                    "spi_slave_spi2",
4720                    "i2s_i2s0",
4721                    "adc_adc1",
4722                    "pcnt_PCNT",
4723                    "timergroup_timg0",
4724                    "timergroup_timg1",
4725                    "gpio_version=\"2\"",
4726                    "gpio_has_input_sync",
4727                    "gpio_gpio_function=\"1\"",
4728                    "gpio_constant_0_input=\"60\"",
4729                    "gpio_constant_1_input=\"56\"",
4730                    "gpio_func_in_sel_offset=\"0\"",
4731                    "soc_has_xtal32k_pads",
4732                    "gpio_input_signal_max=\"124\"",
4733                    "gpio_output_signal_max=\"128\"",
4734                    "dedicated_gpio_version=\"riscv_v1\"",
4735                    "lp_io_version=\"esp32h2\"",
4736                    "uart_ram_size=\"128\"",
4737                    "uart_version=\"2\"",
4738                    "uart_peripheral_controls_mem_clk",
4739                    "uart_has_sclk_enable",
4740                    "i2c_master_version=\"4\"",
4741                    "i2c_master_has_fsm_timeouts",
4742                    "i2c_master_has_hw_bus_clear",
4743                    "i2c_master_has_bus_timeout_enable",
4744                    "i2c_master_can_estimate_nack_reason",
4745                    "i2c_master_has_conf_update",
4746                    "i2c_master_has_reliable_fsm_reset",
4747                    "i2c_master_has_arbitration_en",
4748                    "i2c_master_has_tx_fifo_watermark",
4749                    "i2c_master_bus_timeout_is_exponential",
4750                    "i2c_master_has_pd_en",
4751                    "i2c_master_max_bus_timeout=\"31\"",
4752                    "i2c_master_ll_intr_mask=\"262143\"",
4753                    "i2c_master_fifo_size=\"32\"",
4754                    "spi_master_version=\"3\"",
4755                    "spi_master_fifo_size=\"64\"",
4756                    "spi_master_has_app_interrupts",
4757                    "spi_master_has_dma_segmented_transfer",
4758                    "i2s_version=\"3\"",
4759                    "i2s_version_is_set",
4760                    "i2s_mclk_divider_bit_width=\"9\"",
4761                    "i2s_mclk_divider_bit_width_is_set",
4762                    "i2s_max_ws_width=\"512\"",
4763                    "i2s_max_ws_width_is_set",
4764                    "i2s_clock_configured_by_pcr",
4765                    "i2s_supports_pdm_tx",
4766                    "i2s_supports_pdm_rx",
4767                    "i2s_supports_pcm2pdm",
4768                    "parl_io_version=\"2\"",
4769                    "rmt_ram_start=\"1610642432\"",
4770                    "rmt_channel_ram_size=\"48\"",
4771                    "rmt_has_tx_immediate_stop",
4772                    "rmt_has_tx_loop_count",
4773                    "rmt_has_tx_loop_auto_stop",
4774                    "rmt_has_tx_carrier_data_only",
4775                    "rmt_has_tx_sync",
4776                    "rmt_has_rx_wrap",
4777                    "rmt_has_rx_demodulation",
4778                    "bt_controller=\"npl\"",
4779                    "ledc_version=\"3\"",
4780                    "ledc_channel_count=\"6\"",
4781                    "soc_has_sdm_ch0",
4782                    "soc_has_sdm_ch1",
4783                    "soc_has_sdm_ch2",
4784                    "soc_has_sdm_ch3",
4785                    "timergroup_timg_has_divcnt_rst",
4786                    "timergroup_rc_fast_calibration_divider",
4787                    "timergroup_rc_fast_calibration_tick_enable",
4788                    "timergroup_rc_fast_calibration_is_set",
4789                    "aes_dma_mode_ecb",
4790                    "aes_dma_mode_cbc",
4791                    "aes_dma_mode_ofb",
4792                    "aes_dma_mode_ctr",
4793                    "aes_dma_mode_cfb8",
4794                    "aes_dma_mode_cfb128",
4795                    "aes_has_split_text_registers",
4796                    "ecc_zero_extend_writes",
4797                    "ecc_separate_jacobian_point_memory",
4798                    "ecc_has_memory_clock_gate",
4799                    "ecc_supports_enhanced_security",
4800                    "ecc_has_modular_arithmetic",
4801                    "ecc_has_point_addition",
4802                    "ecc_has_curve_p192",
4803                    "ecc_has_curve_p256",
4804                    "rng_apb_cycle_wait_num=\"16\"",
4805                    "rng_trng_supported",
4806                    "rsa_version=\"3\"",
4807                    "rsa_size_increment=\"32\"",
4808                    "rsa_memory_size_bytes=\"384\"",
4809                    "sleep_light_sleep",
4810                    "sleep_deep_sleep",
4811                    "sleep_has_wakeup_source_ext1",
4812                    "sleep_has_wakeup_source_gpio",
4813                    "sleep_has_wakeup_source_wifi_beacon",
4814                    "sleep_has_wakeup_source_timer",
4815                    "sleep_has_wakeup_source_wifi",
4816                    "sleep_has_wakeup_source_uart",
4817                    "sleep_has_wakeup_source_sdio",
4818                    "sleep_has_wakeup_source_bt",
4819                    "sleep_has_wakeup_source_lp_core",
4820                    "sleep_ext1_version=\"2\"",
4821                    "sleep_ext1_version_is_set",
4822                    "assist_debug_has_sp_monitor",
4823                    "assist_debug_has_region_monitor",
4824                    "dma_separate_in_out_interrupts",
4825                    "dma_gdma_version=\"1\"",
4826                    "dma_gdma_version_is_set",
4827                    "soc_has_dma_ch0",
4828                    "soc_has_dma_ch1",
4829                    "soc_has_dma_ch2",
4830                    "dma_supports_mem2mem",
4831                    "aes_supports_dma",
4832                    "aes_dma_engine=\"AHB_GDMA\"",
4833                    "sha_supports_dma",
4834                    "sha_dma_engine=\"AHB_GDMA\"",
4835                    "spi_master_supports_dma",
4836                    "spi_master_dma_engine=\"AHB_GDMA\"",
4837                    "spi_slave_supports_dma",
4838                    "spi_slave_dma_engine=\"AHB_GDMA\"",
4839                    "uhci_supports_dma",
4840                    "uhci_dma_engine=\"AHB_GDMA\"",
4841                    "i2s_supports_dma",
4842                    "i2s_dma_engine=\"AHB_GDMA\"",
4843                    "parl_io_supports_dma",
4844                    "parl_io_dma_engine=\"AHB_GDMA\"",
4845                    "dma_max_priority=\"5\"",
4846                    "dma_max_priority_is_set",
4847                    "interrupts_status_registers=\"2\"",
4848                    "interrupt_controller=\"plic\"",
4849                    "context_switch_source=\"clint\"",
4850                    "mmu_page_size=\"65536\"",
4851                    "mmu_entry_num=\"256\"",
4852                    "rom_has_crc_le",
4853                    "rom_has_crc_be",
4854                    "rom_has_md5_bsd",
4855                    "soc_cpu_has_csr_pc",
4856                    "soc_cpu_csr_prv_mode=\"3088\"",
4857                    "soc_cpu_csr_prv_mode_is_set",
4858                    "soc_has_swd_watchdog",
4859                    "soc_cpu_mcause_mask=\"31\"",
4860                    "soc_has_clock_node_xtal_clk",
4861                    "soc_clock_node_xtal_clk_is_configurable",
4862                    "soc_has_clock_node_pll_f96m_clk",
4863                    "soc_has_clock_node_pll_f64m_clk",
4864                    "soc_has_clock_node_pll_f48m_clk",
4865                    "soc_has_clock_node_rc_fast_clk",
4866                    "soc_has_clock_node_iomux_function_clock",
4867                    "soc_clock_node_iomux_function_clock_is_configurable",
4868                    "soc_has_clock_node_xtal32k_clk",
4869                    "soc_has_clock_node_osc_slow_clk",
4870                    "soc_has_clock_node_rc_slow_clk",
4871                    "soc_has_clock_node_pll_lp_clk",
4872                    "soc_has_clock_node_hp_root_clk",
4873                    "soc_clock_node_hp_root_clk_is_configurable",
4874                    "soc_has_clock_node_cpu_clk",
4875                    "soc_clock_node_cpu_clk_is_configurable",
4876                    "soc_has_clock_node_ahb_clk",
4877                    "soc_clock_node_ahb_clk_is_configurable",
4878                    "soc_has_clock_node_apb_clk",
4879                    "soc_clock_node_apb_clk_is_configurable",
4880                    "soc_has_clock_node_xtal_d2_clk",
4881                    "soc_has_clock_node_lp_fast_clk",
4882                    "soc_clock_node_lp_fast_clk_is_configurable",
4883                    "soc_has_clock_node_lp_slow_clk",
4884                    "soc_clock_node_lp_slow_clk_is_configurable",
4885                    "soc_has_clock_node_crypto_clk",
4886                    "soc_clock_node_crypto_clk_is_configurable",
4887                    "soc_has_clock_node_timg_calibration_clock",
4888                    "soc_clock_node_timg_calibration_clock_is_configurable",
4889                    "soc_has_clock_node_uart_function_clock",
4890                    "soc_clock_node_uart_function_clock_is_configurable",
4891                    "soc_has_clock_node_uart_baud_rate_generator",
4892                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
4893                    "soc_has_clock_node_sdm_function_clock",
4894                    "soc_has_clock_node_rmt_sclk",
4895                    "soc_clock_node_rmt_sclk_is_configurable",
4896                    "soc_has_clock_node_timg_function_clock",
4897                    "soc_clock_node_timg_function_clock_is_configurable",
4898                    "soc_has_clock_node_timg_wdt_clock",
4899                    "soc_clock_node_timg_wdt_clock_is_configurable",
4900                    "soc_has_clock_node_mcpwm_function_clock",
4901                    "soc_clock_node_mcpwm_function_clock_is_configurable",
4902                    "soc_has_clock_node_parl_io_rx_clock",
4903                    "soc_clock_node_parl_io_rx_clock_is_configurable",
4904                    "soc_has_clock_node_parl_io_tx_clock",
4905                    "soc_clock_node_parl_io_tx_clock_is_configurable",
4906                    "soc_has_clock_node_i2s_tx_clk",
4907                    "soc_clock_node_i2s_tx_clk_is_configurable",
4908                    "soc_has_clock_node_i2s_rx_clk",
4909                    "soc_clock_node_i2s_rx_clk_is_configurable",
4910                    "soc_has_clock_node_i2s_mclk_out",
4911                    "soc_clock_node_i2s_mclk_out_is_configurable",
4912                    "soc_has_clock_node_i2c_function_clock",
4913                    "soc_clock_node_i2c_function_clock_is_configurable",
4914                    "soc_has_clock_node_spi_function_clock",
4915                    "soc_clock_node_spi_function_clock_is_configurable",
4916                    "has_dram_region",
4917                    "has_dram2_uninit_region",
4918                    "has_irom_region",
4919                    "has_drom_region",
4920                ],
4921                cfgs: &[
4922                    "cargo:rustc-cfg=esp32h2",
4923                    "cargo:rustc-cfg=riscv",
4924                    "cargo:rustc-cfg=single_core",
4925                    "cargo:rustc-cfg=soc_has_aes",
4926                    "cargo:rustc-cfg=soc_has_apb_saradc",
4927                    "cargo:rustc-cfg=soc_has_assist_debug",
4928                    "cargo:rustc-cfg=soc_has_clint",
4929                    "cargo:rustc-cfg=soc_has_dma",
4930                    "cargo:rustc-cfg=soc_has_ds",
4931                    "cargo:rustc-cfg=soc_has_ecc",
4932                    "cargo:rustc-cfg=soc_has_efuse",
4933                    "cargo:rustc-cfg=soc_has_gpio",
4934                    "cargo:rustc-cfg=soc_has_gpio_sd",
4935                    "cargo:rustc-cfg=soc_has_hmac",
4936                    "cargo:rustc-cfg=soc_has_hp_apm",
4937                    "cargo:rustc-cfg=soc_has_hp_sys",
4938                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
4939                    "cargo:rustc-cfg=soc_has_i2c0",
4940                    "cargo:rustc-cfg=soc_has_i2c1",
4941                    "cargo:rustc-cfg=soc_has_i2s0",
4942                    "cargo:rustc-cfg=soc_has_ieee802154",
4943                    "cargo:rustc-cfg=soc_has_interrupt_core0",
4944                    "cargo:rustc-cfg=soc_has_intpri",
4945                    "cargo:rustc-cfg=soc_has_io_mux",
4946                    "cargo:rustc-cfg=soc_has_ledc",
4947                    "cargo:rustc-cfg=soc_has_lpwr",
4948                    "cargo:rustc-cfg=soc_has_lp_ana",
4949                    "cargo:rustc-cfg=soc_has_lp_aon",
4950                    "cargo:rustc-cfg=soc_has_lp_apm",
4951                    "cargo:rustc-cfg=soc_has_lp_apm0",
4952                    "cargo:rustc-cfg=soc_has_lp_clkrst",
4953                    "cargo:rustc-cfg=soc_has_lp_peri",
4954                    "cargo:rustc-cfg=soc_has_rtc_timer",
4955                    "cargo:rustc-cfg=soc_has_lp_wdt",
4956                    "cargo:rustc-cfg=soc_has_mcpwm0",
4957                    "cargo:rustc-cfg=soc_has_mem_monitor",
4958                    "cargo:rustc-cfg=soc_has_modem_lpcon",
4959                    "cargo:rustc-cfg=soc_has_modem_syscon",
4960                    "cargo:rustc-cfg=soc_has_otp_debug",
4961                    "cargo:rustc-cfg=soc_has_parl_io",
4962                    "cargo:rustc-cfg=soc_has_pau",
4963                    "cargo:rustc-cfg=soc_has_pcnt",
4964                    "cargo:rustc-cfg=soc_has_pcr",
4965                    "cargo:rustc-cfg=soc_has_plic_mx",
4966                    "cargo:rustc-cfg=soc_has_pmu",
4967                    "cargo:rustc-cfg=soc_has_rmt",
4968                    "cargo:rustc-cfg=soc_has_rng",
4969                    "cargo:rustc-cfg=soc_has_rsa",
4970                    "cargo:rustc-cfg=soc_has_sha",
4971                    "cargo:rustc-cfg=soc_has_etm",
4972                    "cargo:rustc-cfg=soc_has_spi0",
4973                    "cargo:rustc-cfg=soc_has_spi1",
4974                    "cargo:rustc-cfg=soc_has_spi2",
4975                    "cargo:rustc-cfg=soc_has_system",
4976                    "cargo:rustc-cfg=soc_has_systimer",
4977                    "cargo:rustc-cfg=soc_has_tee",
4978                    "cargo:rustc-cfg=soc_has_timg0",
4979                    "cargo:rustc-cfg=soc_has_timg1",
4980                    "cargo:rustc-cfg=soc_has_trace0",
4981                    "cargo:rustc-cfg=soc_has_twai0",
4982                    "cargo:rustc-cfg=soc_has_uart0",
4983                    "cargo:rustc-cfg=soc_has_uart1",
4984                    "cargo:rustc-cfg=soc_has_uhci0",
4985                    "cargo:rustc-cfg=soc_has_usb_device",
4986                    "cargo:rustc-cfg=soc_has_adc1",
4987                    "cargo:rustc-cfg=soc_has_bt",
4988                    "cargo:rustc-cfg=soc_has_flash",
4989                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
4990                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
4991                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
4992                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
4993                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
4994                    "cargo:rustc-cfg=gpio_driver_supported",
4995                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
4996                    "cargo:rustc-cfg=io_mux_driver_supported",
4997                    "cargo:rustc-cfg=lp_io_driver_supported",
4998                    "cargo:rustc-cfg=uart_driver_supported",
4999                    "cargo:rustc-cfg=uhci_driver_supported",
5000                    "cargo:rustc-cfg=i2c_master_driver_supported",
5001                    "cargo:rustc-cfg=spi_master_driver_supported",
5002                    "cargo:rustc-cfg=spi_slave_driver_supported",
5003                    "cargo:rustc-cfg=i2s_driver_supported",
5004                    "cargo:rustc-cfg=parl_io_driver_supported",
5005                    "cargo:rustc-cfg=rmt_driver_supported",
5006                    "cargo:rustc-cfg=twai_driver_supported",
5007                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
5008                    "cargo:rustc-cfg=bt_driver_supported",
5009                    "cargo:rustc-cfg=ieee802154_driver_supported",
5010                    "cargo:rustc-cfg=phy_driver_supported",
5011                    "cargo:rustc-cfg=adc_driver_supported",
5012                    "cargo:rustc-cfg=temp_sensor_driver_supported",
5013                    "cargo:rustc-cfg=ledc_driver_supported",
5014                    "cargo:rustc-cfg=mcpwm_driver_supported",
5015                    "cargo:rustc-cfg=pcnt_driver_supported",
5016                    "cargo:rustc-cfg=lp_timer_driver_supported",
5017                    "cargo:rustc-cfg=sdm_driver_supported",
5018                    "cargo:rustc-cfg=systimer_driver_supported",
5019                    "cargo:rustc-cfg=timergroup_driver_supported",
5020                    "cargo:rustc-cfg=aes_driver_supported",
5021                    "cargo:rustc-cfg=ecc_driver_supported",
5022                    "cargo:rustc-cfg=hmac_driver_supported",
5023                    "cargo:rustc-cfg=rng_driver_supported",
5024                    "cargo:rustc-cfg=rsa_driver_supported",
5025                    "cargo:rustc-cfg=sha_driver_supported",
5026                    "cargo:rustc-cfg=sleep_driver_supported",
5027                    "cargo:rustc-cfg=assist_debug_driver_supported",
5028                    "cargo:rustc-cfg=dma_driver_supported",
5029                    "cargo:rustc-cfg=etm_driver_supported",
5030                    "cargo:rustc-cfg=interrupts_driver_supported",
5031                    "cargo:rustc-cfg=mmu_driver_supported",
5032                    "cargo:rustc-cfg=flash_driver_supported",
5033                    "cargo:rustc-cfg=rom_driver_supported",
5034                    "cargo:rustc-cfg=soc_driver_supported",
5035                    "cargo:rustc-cfg=uart_uart0",
5036                    "cargo:rustc-cfg=uart_uart1",
5037                    "cargo:rustc-cfg=i2c_master_i2c0",
5038                    "cargo:rustc-cfg=i2c_master_i2c1",
5039                    "cargo:rustc-cfg=spi_master_spi2",
5040                    "cargo:rustc-cfg=spi_slave_spi2",
5041                    "cargo:rustc-cfg=i2s_i2s0",
5042                    "cargo:rustc-cfg=adc_adc1",
5043                    "cargo:rustc-cfg=pcnt_PCNT",
5044                    "cargo:rustc-cfg=timergroup_timg0",
5045                    "cargo:rustc-cfg=timergroup_timg1",
5046                    "cargo:rustc-cfg=gpio_version=\"2\"",
5047                    "cargo:rustc-cfg=gpio_has_input_sync",
5048                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
5049                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
5050                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
5051                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
5052                    "cargo:rustc-cfg=soc_has_xtal32k_pads",
5053                    "cargo:rustc-cfg=gpio_input_signal_max=\"124\"",
5054                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
5055                    "cargo:rustc-cfg=dedicated_gpio_version=\"riscv_v1\"",
5056                    "cargo:rustc-cfg=lp_io_version=\"esp32h2\"",
5057                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
5058                    "cargo:rustc-cfg=uart_version=\"2\"",
5059                    "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
5060                    "cargo:rustc-cfg=uart_has_sclk_enable",
5061                    "cargo:rustc-cfg=i2c_master_version=\"4\"",
5062                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
5063                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
5064                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
5065                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
5066                    "cargo:rustc-cfg=i2c_master_has_conf_update",
5067                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
5068                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
5069                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
5070                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
5071                    "cargo:rustc-cfg=i2c_master_has_pd_en",
5072                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
5073                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
5074                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
5075                    "cargo:rustc-cfg=spi_master_version=\"3\"",
5076                    "cargo:rustc-cfg=spi_master_fifo_size=\"64\"",
5077                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
5078                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
5079                    "cargo:rustc-cfg=i2s_version=\"3\"",
5080                    "cargo:rustc-cfg=i2s_version_is_set",
5081                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width=\"9\"",
5082                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width_is_set",
5083                    "cargo:rustc-cfg=i2s_max_ws_width=\"512\"",
5084                    "cargo:rustc-cfg=i2s_max_ws_width_is_set",
5085                    "cargo:rustc-cfg=i2s_clock_configured_by_pcr",
5086                    "cargo:rustc-cfg=i2s_supports_pdm_tx",
5087                    "cargo:rustc-cfg=i2s_supports_pdm_rx",
5088                    "cargo:rustc-cfg=i2s_supports_pcm2pdm",
5089                    "cargo:rustc-cfg=parl_io_version=\"2\"",
5090                    "cargo:rustc-cfg=rmt_ram_start=\"1610642432\"",
5091                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
5092                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
5093                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
5094                    "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
5095                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
5096                    "cargo:rustc-cfg=rmt_has_tx_sync",
5097                    "cargo:rustc-cfg=rmt_has_rx_wrap",
5098                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
5099                    "cargo:rustc-cfg=bt_controller=\"npl\"",
5100                    "cargo:rustc-cfg=ledc_version=\"3\"",
5101                    "cargo:rustc-cfg=ledc_channel_count=\"6\"",
5102                    "cargo:rustc-cfg=soc_has_sdm_ch0",
5103                    "cargo:rustc-cfg=soc_has_sdm_ch1",
5104                    "cargo:rustc-cfg=soc_has_sdm_ch2",
5105                    "cargo:rustc-cfg=soc_has_sdm_ch3",
5106                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
5107                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_divider",
5108                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_tick_enable",
5109                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
5110                    "cargo:rustc-cfg=aes_dma_mode_ecb",
5111                    "cargo:rustc-cfg=aes_dma_mode_cbc",
5112                    "cargo:rustc-cfg=aes_dma_mode_ofb",
5113                    "cargo:rustc-cfg=aes_dma_mode_ctr",
5114                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
5115                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
5116                    "cargo:rustc-cfg=aes_has_split_text_registers",
5117                    "cargo:rustc-cfg=ecc_zero_extend_writes",
5118                    "cargo:rustc-cfg=ecc_separate_jacobian_point_memory",
5119                    "cargo:rustc-cfg=ecc_has_memory_clock_gate",
5120                    "cargo:rustc-cfg=ecc_supports_enhanced_security",
5121                    "cargo:rustc-cfg=ecc_has_modular_arithmetic",
5122                    "cargo:rustc-cfg=ecc_has_point_addition",
5123                    "cargo:rustc-cfg=ecc_has_curve_p192",
5124                    "cargo:rustc-cfg=ecc_has_curve_p256",
5125                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
5126                    "cargo:rustc-cfg=rng_trng_supported",
5127                    "cargo:rustc-cfg=rsa_version=\"3\"",
5128                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
5129                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
5130                    "cargo:rustc-cfg=sleep_light_sleep",
5131                    "cargo:rustc-cfg=sleep_deep_sleep",
5132                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext1",
5133                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
5134                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi_beacon",
5135                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
5136                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi",
5137                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
5138                    "cargo:rustc-cfg=sleep_has_wakeup_source_sdio",
5139                    "cargo:rustc-cfg=sleep_has_wakeup_source_bt",
5140                    "cargo:rustc-cfg=sleep_has_wakeup_source_lp_core",
5141                    "cargo:rustc-cfg=sleep_ext1_version=\"2\"",
5142                    "cargo:rustc-cfg=sleep_ext1_version_is_set",
5143                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
5144                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
5145                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
5146                    "cargo:rustc-cfg=dma_gdma_version=\"1\"",
5147                    "cargo:rustc-cfg=dma_gdma_version_is_set",
5148                    "cargo:rustc-cfg=soc_has_dma_ch0",
5149                    "cargo:rustc-cfg=soc_has_dma_ch1",
5150                    "cargo:rustc-cfg=soc_has_dma_ch2",
5151                    "cargo:rustc-cfg=dma_supports_mem2mem",
5152                    "cargo:rustc-cfg=aes_supports_dma",
5153                    "cargo:rustc-cfg=aes_dma_engine=\"AHB_GDMA\"",
5154                    "cargo:rustc-cfg=sha_supports_dma",
5155                    "cargo:rustc-cfg=sha_dma_engine=\"AHB_GDMA\"",
5156                    "cargo:rustc-cfg=spi_master_supports_dma",
5157                    "cargo:rustc-cfg=spi_master_dma_engine=\"AHB_GDMA\"",
5158                    "cargo:rustc-cfg=spi_slave_supports_dma",
5159                    "cargo:rustc-cfg=spi_slave_dma_engine=\"AHB_GDMA\"",
5160                    "cargo:rustc-cfg=uhci_supports_dma",
5161                    "cargo:rustc-cfg=uhci_dma_engine=\"AHB_GDMA\"",
5162                    "cargo:rustc-cfg=i2s_supports_dma",
5163                    "cargo:rustc-cfg=i2s_dma_engine=\"AHB_GDMA\"",
5164                    "cargo:rustc-cfg=parl_io_supports_dma",
5165                    "cargo:rustc-cfg=parl_io_dma_engine=\"AHB_GDMA\"",
5166                    "cargo:rustc-cfg=dma_max_priority=\"5\"",
5167                    "cargo:rustc-cfg=dma_max_priority_is_set",
5168                    "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
5169                    "cargo:rustc-cfg=interrupt_controller=\"plic\"",
5170                    "cargo:rustc-cfg=context_switch_source=\"clint\"",
5171                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
5172                    "cargo:rustc-cfg=mmu_entry_num=\"256\"",
5173                    "cargo:rustc-cfg=rom_has_crc_le",
5174                    "cargo:rustc-cfg=rom_has_crc_be",
5175                    "cargo:rustc-cfg=rom_has_md5_bsd",
5176                    "cargo:rustc-cfg=soc_cpu_has_csr_pc",
5177                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode=\"3088\"",
5178                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode_is_set",
5179                    "cargo:rustc-cfg=soc_has_swd_watchdog",
5180                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"31\"",
5181                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
5182                    "cargo:rustc-cfg=soc_clock_node_xtal_clk_is_configurable",
5183                    "cargo:rustc-cfg=soc_has_clock_node_pll_f96m_clk",
5184                    "cargo:rustc-cfg=soc_has_clock_node_pll_f64m_clk",
5185                    "cargo:rustc-cfg=soc_has_clock_node_pll_f48m_clk",
5186                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
5187                    "cargo:rustc-cfg=soc_has_clock_node_iomux_function_clock",
5188                    "cargo:rustc-cfg=soc_clock_node_iomux_function_clock_is_configurable",
5189                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
5190                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
5191                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
5192                    "cargo:rustc-cfg=soc_has_clock_node_pll_lp_clk",
5193                    "cargo:rustc-cfg=soc_has_clock_node_hp_root_clk",
5194                    "cargo:rustc-cfg=soc_clock_node_hp_root_clk_is_configurable",
5195                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
5196                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
5197                    "cargo:rustc-cfg=soc_has_clock_node_ahb_clk",
5198                    "cargo:rustc-cfg=soc_clock_node_ahb_clk_is_configurable",
5199                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
5200                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
5201                    "cargo:rustc-cfg=soc_has_clock_node_xtal_d2_clk",
5202                    "cargo:rustc-cfg=soc_has_clock_node_lp_fast_clk",
5203                    "cargo:rustc-cfg=soc_clock_node_lp_fast_clk_is_configurable",
5204                    "cargo:rustc-cfg=soc_has_clock_node_lp_slow_clk",
5205                    "cargo:rustc-cfg=soc_clock_node_lp_slow_clk_is_configurable",
5206                    "cargo:rustc-cfg=soc_has_clock_node_crypto_clk",
5207                    "cargo:rustc-cfg=soc_clock_node_crypto_clk_is_configurable",
5208                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
5209                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
5210                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
5211                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
5212                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
5213                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
5214                    "cargo:rustc-cfg=soc_has_clock_node_sdm_function_clock",
5215                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
5216                    "cargo:rustc-cfg=soc_clock_node_rmt_sclk_is_configurable",
5217                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
5218                    "cargo:rustc-cfg=soc_clock_node_timg_function_clock_is_configurable",
5219                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
5220                    "cargo:rustc-cfg=soc_clock_node_timg_wdt_clock_is_configurable",
5221                    "cargo:rustc-cfg=soc_has_clock_node_mcpwm_function_clock",
5222                    "cargo:rustc-cfg=soc_clock_node_mcpwm_function_clock_is_configurable",
5223                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_rx_clock",
5224                    "cargo:rustc-cfg=soc_clock_node_parl_io_rx_clock_is_configurable",
5225                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_tx_clock",
5226                    "cargo:rustc-cfg=soc_clock_node_parl_io_tx_clock_is_configurable",
5227                    "cargo:rustc-cfg=soc_has_clock_node_i2s_tx_clk",
5228                    "cargo:rustc-cfg=soc_clock_node_i2s_tx_clk_is_configurable",
5229                    "cargo:rustc-cfg=soc_has_clock_node_i2s_rx_clk",
5230                    "cargo:rustc-cfg=soc_clock_node_i2s_rx_clk_is_configurable",
5231                    "cargo:rustc-cfg=soc_has_clock_node_i2s_mclk_out",
5232                    "cargo:rustc-cfg=soc_clock_node_i2s_mclk_out_is_configurable",
5233                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
5234                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
5235                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
5236                    "cargo:rustc-cfg=soc_clock_node_spi_function_clock_is_configurable",
5237                    "cargo:rustc-cfg=has_dram_region",
5238                    "cargo:rustc-cfg=has_dram2_uninit_region",
5239                    "cargo:rustc-cfg=has_irom_region",
5240                    "cargo:rustc-cfg=has_drom_region",
5241                ],
5242                memory_layout: &MemoryLayout {
5243                    regions: &[
5244                        (
5245                            "dram",
5246                            MemoryRegion {
5247                                address_range: 0x40800000..0x40850000,
5248                            },
5249                        ),
5250                        (
5251                            "dram2_uninit",
5252                            MemoryRegion {
5253                                address_range: 0x4083EFD0..0x4084FEE0,
5254                            },
5255                        ),
5256                        (
5257                            "irom",
5258                            MemoryRegion {
5259                                address_range: 0x42000000..0x43000000,
5260                            },
5261                        ),
5262                        (
5263                            "drom",
5264                            MemoryRegion {
5265                                address_range: 0x42000000..0x43000000,
5266                            },
5267                        ),
5268                    ],
5269                },
5270                pins: &[
5271                    PinInfo {
5272                        pin: 0,
5273                        limitations: &[],
5274                    },
5275                    PinInfo {
5276                        pin: 1,
5277                        limitations: &[],
5278                    },
5279                    PinInfo {
5280                        pin: 2,
5281                        limitations: &["jtag"],
5282                    },
5283                    PinInfo {
5284                        pin: 3,
5285                        limitations: &["jtag"],
5286                    },
5287                    PinInfo {
5288                        pin: 4,
5289                        limitations: &["jtag"],
5290                    },
5291                    PinInfo {
5292                        pin: 5,
5293                        limitations: &["jtag"],
5294                    },
5295                    PinInfo {
5296                        pin: 6,
5297                        limitations: &["spi_flash"],
5298                    },
5299                    PinInfo {
5300                        pin: 7,
5301                        limitations: &["spi_flash"],
5302                    },
5303                    PinInfo {
5304                        pin: 8,
5305                        limitations: &["strapping"],
5306                    },
5307                    PinInfo {
5308                        pin: 9,
5309                        limitations: &["strapping"],
5310                    },
5311                    PinInfo {
5312                        pin: 10,
5313                        limitations: &[],
5314                    },
5315                    PinInfo {
5316                        pin: 11,
5317                        limitations: &[],
5318                    },
5319                    PinInfo {
5320                        pin: 12,
5321                        limitations: &[],
5322                    },
5323                    PinInfo {
5324                        pin: 13,
5325                        limitations: &[],
5326                    },
5327                    PinInfo {
5328                        pin: 14,
5329                        limitations: &[],
5330                    },
5331                    PinInfo {
5332                        pin: 22,
5333                        limitations: &[],
5334                    },
5335                    PinInfo {
5336                        pin: 23,
5337                        limitations: &["bootloader_uart"],
5338                    },
5339                    PinInfo {
5340                        pin: 24,
5341                        limitations: &["bootloader_uart"],
5342                    },
5343                    PinInfo {
5344                        pin: 25,
5345                        limitations: &["strapping"],
5346                    },
5347                    PinInfo {
5348                        pin: 26,
5349                        limitations: &["usb_jtag"],
5350                    },
5351                    PinInfo {
5352                        pin: 27,
5353                        limitations: &["usb_jtag"],
5354                    },
5355                ],
5356            },
5357            Self::Esp32p4 => Config {
5358                architecture: "riscv",
5359                target: "riscv32imafc-unknown-none-elf",
5360                symbols: &[
5361                    "esp32p4",
5362                    "riscv",
5363                    "multi_core",
5364                    "soc_has_efuse",
5365                    "soc_has_gpio",
5366                    "soc_has_gpio_sd",
5367                    "soc_has_system",
5368                    "soc_has_hp_sys",
5369                    "soc_has_hp_sys_clkrst",
5370                    "soc_has_rng",
5371                    "soc_has_interrupt_core0",
5372                    "soc_has_interrupt_core1",
5373                    "soc_has_lp_i2c_ana_mst",
5374                    "soc_has_clic",
5375                    "soc_has_clint",
5376                    "soc_has_clint_other_core",
5377                    "soc_has_io_mux",
5378                    "soc_has_iomux_mspi_pin",
5379                    "soc_has_lp_i2c0",
5380                    "soc_has_lp_aon",
5381                    "soc_has_lp_aon_clkrst",
5382                    "soc_has_lp_sys",
5383                    "soc_has_lp_gpio",
5384                    "soc_has_lp_io_mux",
5385                    "soc_has_lp_peri",
5386                    "soc_has_rtc_timer",
5387                    "soc_has_lp_wdt",
5388                    "soc_has_lpwr",
5389                    "soc_has_pmu",
5390                    "soc_has_systimer",
5391                    "soc_has_timg0",
5392                    "soc_has_timg1",
5393                    "soc_has_uart0",
5394                    "soc_has_uart1",
5395                    "soc_has_uart2",
5396                    "soc_has_uart3",
5397                    "soc_has_uart4",
5398                    "soc_has_uhci0",
5399                    "soc_has_spi0",
5400                    "soc_has_spi1",
5401                    "soc_has_memspi2",
5402                    "soc_has_memspi3",
5403                    "soc_has_spi2",
5404                    "soc_has_spi3",
5405                    "soc_has_i2c0",
5406                    "soc_has_i2c1",
5407                    "soc_has_i2s0",
5408                    "soc_has_i2s1",
5409                    "soc_has_i2s2",
5410                    "soc_has_twai0",
5411                    "soc_has_twai1",
5412                    "soc_has_twai2",
5413                    "soc_has_dma",
5414                    "soc_has_axi_gdma",
5415                    "soc_has_eth",
5416                    "soc_has_emac_dma",
5417                    "soc_has_emac_mac",
5418                    "soc_has_mipi_dsi",
5419                    "soc_has_vdma",
5420                    "soc_has_mipi_dsi_host",
5421                    "soc_has_mipi_dsi_bridge",
5422                    "soc_has_usb_device",
5423                    "soc_has_sdhost",
5424                    "soc_has_ledc",
5425                    "soc_has_mcpwm0",
5426                    "soc_has_mcpwm1",
5427                    "soc_has_pcnt",
5428                    "soc_has_apb_saradc",
5429                    "soc_has_lp_adc",
5430                    "soc_has_rmt",
5431                    "soc_has_aes",
5432                    "soc_has_sha",
5433                    "soc_has_rsa",
5434                    "soc_has_ecc",
5435                    "soc_has_usb_fs",
5436                    "soc_has_usb_hs",
5437                    "soc_has_usb_wrap",
5438                    "soc_has_adc1",
5439                    "soc_has_adc2",
5440                    "soc_has_flash",
5441                    "soc_has_psram",
5442                    "soc_has_gpio_dedicated",
5443                    "soc_has_cpu_ctrl",
5444                    "soc_has_ipc",
5445                    "soc_has_from_cpu_intr0",
5446                    "soc_has_from_cpu_intr1",
5447                    "soc_has_from_cpu_intr2",
5448                    "soc_has_from_cpu_intr3",
5449                    "gpio_driver_supported",
5450                    "dedicated_gpio_driver_supported",
5451                    "io_mux_driver_supported",
5452                    "lp_io_driver_supported",
5453                    "uart_driver_supported",
5454                    "uhci_driver_supported",
5455                    "i2c_master_driver_supported",
5456                    "lp_i2c_master_driver_supported",
5457                    "spi_master_driver_supported",
5458                    "spi_slave_driver_supported",
5459                    "i2s_driver_supported",
5460                    "rmt_driver_supported",
5461                    "sdmmc_driver_supported",
5462                    "usb_otg_driver_supported",
5463                    "usb_otg_hs_driver_supported",
5464                    "usb_serial_jtag_driver_supported",
5465                    "ethernet_driver_supported",
5466                    "mipi_dsi_driver_supported",
5467                    "adc_driver_supported",
5468                    "pcnt_driver_supported",
5469                    "lp_timer_driver_supported",
5470                    "sdm_driver_supported",
5471                    "systimer_driver_supported",
5472                    "timergroup_driver_supported",
5473                    "aes_driver_supported",
5474                    "ecc_driver_supported",
5475                    "rng_driver_supported",
5476                    "rsa_driver_supported",
5477                    "sha_driver_supported",
5478                    "sleep_driver_supported",
5479                    "dma_driver_supported",
5480                    "interrupts_driver_supported",
5481                    "mmu_driver_supported",
5482                    "flash_driver_supported",
5483                    "psram_driver_supported",
5484                    "rom_driver_supported",
5485                    "soc_driver_supported",
5486                    "uart_uart0",
5487                    "uart_uart1",
5488                    "uart_uart2",
5489                    "uart_uart3",
5490                    "uart_uart4",
5491                    "i2c_master_i2c0",
5492                    "i2c_master_i2c1",
5493                    "spi_master_spi2",
5494                    "spi_master_spi3",
5495                    "spi_slave_spi2",
5496                    "spi_slave_spi3",
5497                    "i2s_i2s0",
5498                    "i2s_i2s1",
5499                    "i2s_i2s2",
5500                    "adc_adc1",
5501                    "adc_adc2",
5502                    "pcnt_PCNT",
5503                    "timergroup_timg0",
5504                    "timergroup_timg1",
5505                    "gpio_version=\"3\"",
5506                    "gpio_has_input_sync",
5507                    "gpio_gpio_function=\"1\"",
5508                    "gpio_constant_0_input=\"62\"",
5509                    "gpio_constant_1_input=\"63\"",
5510                    "gpio_func_in_sel_offset=\"1\"",
5511                    "gpio_has_bank_1",
5512                    "gpio_input_signal_max=\"249\"",
5513                    "gpio_output_signal_max=\"256\"",
5514                    "dedicated_gpio_version=\"riscv_v2\"",
5515                    "lp_io_version=\"esp32p4\"",
5516                    "lp_io_has_gpio_matrix",
5517                    "uart_ram_size=\"128\"",
5518                    "uart_version=\"2\"",
5519                    "uhci_combined_uart_selector_field",
5520                    "i2c_master_version=\"4\"",
5521                    "i2c_master_has_fsm_timeouts",
5522                    "i2c_master_has_hw_bus_clear",
5523                    "i2c_master_has_bus_timeout_enable",
5524                    "i2c_master_can_estimate_nack_reason",
5525                    "i2c_master_has_conf_update",
5526                    "i2c_master_has_arbitration_en",
5527                    "i2c_master_has_pd_en",
5528                    "i2c_master_max_bus_timeout=\"31\"",
5529                    "i2c_master_ll_intr_mask=\"262143\"",
5530                    "i2c_master_fifo_size=\"32\"",
5531                    "lp_i2c_master_version=\"lp_i2c\"",
5532                    "lp_i2c_master_fifo_size=\"16\"",
5533                    "lp_i2c_master_fifo_size_is_set",
5534                    "spi_master_version=\"3\"",
5535                    "spi_master_fifo_size=\"64\"",
5536                    "i2s_version=\"3\"",
5537                    "i2s_version_is_set",
5538                    "i2s_mclk_divider_bit_width=\"9\"",
5539                    "i2s_mclk_divider_bit_width_is_set",
5540                    "i2s_max_ws_width=\"128\"",
5541                    "i2s_max_ws_width_is_set",
5542                    "i2s_clock_configured_by_hp_sys_clkrst",
5543                    "i2s_supports_pdm_rx_hp_filter",
5544                    "i2s_supports_pdm_tx",
5545                    "i2s_supports_pdm_rx",
5546                    "i2s_supports_pcm2pdm",
5547                    "i2s_supports_pdm2pcm",
5548                    "rmt_ram_start=\"1342842880\"",
5549                    "rmt_channel_ram_size=\"48\"",
5550                    "rmt_has_tx_immediate_stop",
5551                    "rmt_has_tx_loop_count",
5552                    "rmt_has_tx_loop_auto_stop",
5553                    "rmt_has_tx_carrier_data_only",
5554                    "rmt_has_tx_sync",
5555                    "rmt_has_rx_wrap",
5556                    "rmt_has_rx_demodulation",
5557                    "sdmmc_delay_phase_num=\"8\"",
5558                    "sdmmc_delay_phase_num_is_set",
5559                    "sdmmc_has_iomux",
5560                    "sdmmc_has_gpio_matrix",
5561                    "sdmmc_psram_dma",
5562                    "usb_otg_fifo_depth_words=\"200\"",
5563                    "usb_otg_hs_fifo_depth_words=\"896\"",
5564                    "ethernet_mii_via_gpio_matrix",
5565                    "ethernet_rx_checksum_offload",
5566                    "ethernet_dma_burst_len=\"32\"",
5567                    "soc_has_sdm_ch0",
5568                    "soc_has_sdm_ch1",
5569                    "soc_has_sdm_ch2",
5570                    "soc_has_sdm_ch3",
5571                    "soc_has_sdm_ch4",
5572                    "soc_has_sdm_ch5",
5573                    "soc_has_sdm_ch6",
5574                    "soc_has_sdm_ch7",
5575                    "timergroup_timg_has_timer1",
5576                    "timergroup_timg_has_divcnt_rst",
5577                    "timergroup_rc_fast_calibration_is_set",
5578                    "aes_dma_mode_ecb",
5579                    "aes_dma_mode_cbc",
5580                    "aes_dma_mode_ofb",
5581                    "aes_dma_mode_ctr",
5582                    "aes_dma_mode_cfb8",
5583                    "aes_dma_mode_cfb128",
5584                    "aes_dma_mode_gcm",
5585                    "aes_has_split_text_registers",
5586                    "ecc_separate_jacobian_point_memory",
5587                    "ecc_has_memory_clock_gate",
5588                    "ecc_supports_enhanced_security",
5589                    "ecc_has_modular_arithmetic",
5590                    "ecc_has_point_addition",
5591                    "ecc_has_curve_p192",
5592                    "ecc_has_curve_p256",
5593                    "ecc_has_curve_p384",
5594                    "rng_apb_cycle_wait_num=\"16\"",
5595                    "rng_is_lp_sys",
5596                    "rsa_version=\"3\"",
5597                    "rsa_size_increment=\"32\"",
5598                    "rsa_memory_size_bytes=\"512\"",
5599                    "sleep_light_sleep",
5600                    "sleep_deep_sleep",
5601                    "sleep_has_wakeup_source_sdio",
5602                    "sleep_has_wakeup_source_gpio",
5603                    "sleep_has_wakeup_source_usb",
5604                    "sleep_has_wakeup_source_uart",
5605                    "sleep_has_wakeup_source_touch",
5606                    "sleep_has_wakeup_source_ext1",
5607                    "sleep_has_wakeup_source_timer",
5608                    "sleep_ext1_version=\"3\"",
5609                    "sleep_ext1_version_is_set",
5610                    "sleep_pin_wakeup_version=\"3\"",
5611                    "sleep_pin_wakeup_version_is_set",
5612                    "dma_separate_in_out_interrupts",
5613                    "dma_gdma_version=\"2\"",
5614                    "dma_gdma_version_is_set",
5615                    "soc_has_dma_ch0",
5616                    "soc_has_dma_ch1",
5617                    "soc_has_dma_ch2",
5618                    "soc_has_dma_axi_ch0",
5619                    "soc_has_dma_axi_ch1",
5620                    "soc_has_dma_axi_ch2",
5621                    "soc_has_vdma_ch0",
5622                    "soc_has_vdma_ch1",
5623                    "soc_has_vdma_ch2",
5624                    "soc_has_vdma_ch3",
5625                    "dma_supports_mem2mem",
5626                    "i2s_supports_dma",
5627                    "i2s_dma_engine=\"AHB_GDMA\"",
5628                    "uhci_supports_dma",
5629                    "uhci_dma_engine=\"AHB_GDMA\"",
5630                    "aes_supports_dma",
5631                    "aes_dma_engine=\"AXI_GDMA\"",
5632                    "sha_supports_dma",
5633                    "sha_dma_engine=\"AXI_GDMA\"",
5634                    "spi_master_supports_dma",
5635                    "spi_master_dma_engine=\"AXI_GDMA\"",
5636                    "spi_slave_supports_dma",
5637                    "spi_slave_dma_engine=\"AXI_GDMA\"",
5638                    "mipi_dsi_supports_dma",
5639                    "mipi_dsi_dma_engine=\"VDMA\"",
5640                    "dma_can_access_psram",
5641                    "dma_max_priority=\"5\"",
5642                    "dma_max_priority_is_set",
5643                    "interrupts_status_registers=\"5\"",
5644                    "interrupt_controller=\"clic\"",
5645                    "context_switch_source=\"ipc\"",
5646                    "mmu_page_size=\"65536\"",
5647                    "mmu_entry_num=\"512\"",
5648                    "psram_octal_spi",
5649                    "psram_hex_spi",
5650                    "psram_extmem_origin=\"1207959552\"",
5651                    "rom_has_crc_le",
5652                    "rom_has_crc_be",
5653                    "rom_has_md5_bsd",
5654                    "soc_cpu_has_branch_predictor",
5655                    "soc_multi_core_enabled",
5656                    "soc_internal_memory_cached",
5657                    "soc_has_swd_watchdog",
5658                    "soc_cpu_mcause_mask=\"63\"",
5659                    "soc_has_clock_node_xtal_clk",
5660                    "soc_has_clock_node_cpll_clk",
5661                    "soc_clock_node_cpll_clk_is_configurable",
5662                    "soc_has_clock_node_spll_clk",
5663                    "soc_has_clock_node_mpll_clk",
5664                    "soc_clock_node_mpll_clk_is_configurable",
5665                    "soc_has_clock_node_rc_fast_clk",
5666                    "soc_has_clock_node_xtal32k_clk",
5667                    "soc_has_clock_node_osc_slow_clk",
5668                    "soc_has_clock_node_rc_slow_clk",
5669                    "soc_has_clock_node_rc32k_clk",
5670                    "soc_has_clock_node_pll_f20m",
5671                    "soc_has_clock_node_pll_f80m",
5672                    "soc_has_clock_node_pll_f120m",
5673                    "soc_has_clock_node_pll_f160m",
5674                    "soc_has_clock_node_pll_f240m",
5675                    "soc_has_clock_node_spll_d3_clock",
5676                    "soc_has_clock_node_iomux_function_clock",
5677                    "soc_clock_node_iomux_function_clock_is_configurable",
5678                    "soc_has_clock_node_pll_f25m",
5679                    "soc_has_clock_node_pll_f50m",
5680                    "soc_has_clock_node_xtal_d2_clk",
5681                    "soc_has_clock_node_cpu_root_clk",
5682                    "soc_clock_node_cpu_root_clk_is_configurable",
5683                    "soc_has_clock_node_cpu_clk",
5684                    "soc_clock_node_cpu_clk_is_configurable",
5685                    "soc_has_clock_node_mem_clk",
5686                    "soc_clock_node_mem_clk_is_configurable",
5687                    "soc_has_clock_node_sys_clk",
5688                    "soc_clock_node_sys_clk_is_configurable",
5689                    "soc_has_clock_node_apb_clk",
5690                    "soc_clock_node_apb_clk_is_configurable",
5691                    "soc_has_clock_node_lp_fast_clk",
5692                    "soc_clock_node_lp_fast_clk_is_configurable",
5693                    "soc_has_clock_node_lp_slow_clk",
5694                    "soc_clock_node_lp_slow_clk_is_configurable",
5695                    "soc_has_clock_node_crypto_clk",
5696                    "soc_clock_node_crypto_clk_is_configurable",
5697                    "soc_has_clock_node_timg_calibration_clock",
5698                    "soc_clock_node_timg_calibration_clock_is_configurable",
5699                    "soc_has_clock_node_psram_function_clock",
5700                    "soc_clock_node_psram_function_clock_is_configurable",
5701                    "soc_has_clock_node_uart_function_clock",
5702                    "soc_clock_node_uart_function_clock_is_configurable",
5703                    "soc_has_clock_node_uart_baud_rate_generator",
5704                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
5705                    "soc_has_clock_node_sdm_function_clock",
5706                    "soc_has_clock_node_timg_function_clock",
5707                    "soc_clock_node_timg_function_clock_is_configurable",
5708                    "soc_has_clock_node_timg_wdt_clock",
5709                    "soc_clock_node_timg_wdt_clock_is_configurable",
5710                    "soc_has_clock_node_i2c_function_clock",
5711                    "soc_clock_node_i2c_function_clock_is_configurable",
5712                    "soc_has_clock_node_rmt_sclk",
5713                    "soc_clock_node_rmt_sclk_is_configurable",
5714                    "soc_has_clock_node_spi_function_clock",
5715                    "soc_clock_node_spi_function_clock_is_configurable",
5716                    "soc_has_clock_node_i2s_tx_clk",
5717                    "soc_clock_node_i2s_tx_clk_is_configurable",
5718                    "soc_has_clock_node_i2s_rx_clk",
5719                    "soc_clock_node_i2s_rx_clk_is_configurable",
5720                    "soc_has_clock_node_i2s_mclk_out",
5721                    "soc_clock_node_i2s_mclk_out_is_configurable",
5722                    "soc_has_clock_node_mipi_dsi_dpi_clk",
5723                    "soc_clock_node_mipi_dsi_dpi_clk_is_configurable",
5724                    "soc_has_clock_node_mipi_dsi_phy_pll_refclk",
5725                    "soc_clock_node_mipi_dsi_phy_pll_refclk_is_configurable",
5726                    "soc_has_clock_node_mipi_dsi_phy_cfg_clk",
5727                    "soc_clock_node_mipi_dsi_phy_cfg_clk_is_configurable",
5728                    "has_dram_region",
5729                    "has_dram2_uninit_region",
5730                    "has_irom_region",
5731                    "has_drom_region",
5732                ],
5733                cfgs: &[
5734                    "cargo:rustc-cfg=esp32p4",
5735                    "cargo:rustc-cfg=riscv",
5736                    "cargo:rustc-cfg=multi_core",
5737                    "cargo:rustc-cfg=soc_has_efuse",
5738                    "cargo:rustc-cfg=soc_has_gpio",
5739                    "cargo:rustc-cfg=soc_has_gpio_sd",
5740                    "cargo:rustc-cfg=soc_has_system",
5741                    "cargo:rustc-cfg=soc_has_hp_sys",
5742                    "cargo:rustc-cfg=soc_has_hp_sys_clkrst",
5743                    "cargo:rustc-cfg=soc_has_rng",
5744                    "cargo:rustc-cfg=soc_has_interrupt_core0",
5745                    "cargo:rustc-cfg=soc_has_interrupt_core1",
5746                    "cargo:rustc-cfg=soc_has_lp_i2c_ana_mst",
5747                    "cargo:rustc-cfg=soc_has_clic",
5748                    "cargo:rustc-cfg=soc_has_clint",
5749                    "cargo:rustc-cfg=soc_has_clint_other_core",
5750                    "cargo:rustc-cfg=soc_has_io_mux",
5751                    "cargo:rustc-cfg=soc_has_iomux_mspi_pin",
5752                    "cargo:rustc-cfg=soc_has_lp_i2c0",
5753                    "cargo:rustc-cfg=soc_has_lp_aon",
5754                    "cargo:rustc-cfg=soc_has_lp_aon_clkrst",
5755                    "cargo:rustc-cfg=soc_has_lp_sys",
5756                    "cargo:rustc-cfg=soc_has_lp_gpio",
5757                    "cargo:rustc-cfg=soc_has_lp_io_mux",
5758                    "cargo:rustc-cfg=soc_has_lp_peri",
5759                    "cargo:rustc-cfg=soc_has_rtc_timer",
5760                    "cargo:rustc-cfg=soc_has_lp_wdt",
5761                    "cargo:rustc-cfg=soc_has_lpwr",
5762                    "cargo:rustc-cfg=soc_has_pmu",
5763                    "cargo:rustc-cfg=soc_has_systimer",
5764                    "cargo:rustc-cfg=soc_has_timg0",
5765                    "cargo:rustc-cfg=soc_has_timg1",
5766                    "cargo:rustc-cfg=soc_has_uart0",
5767                    "cargo:rustc-cfg=soc_has_uart1",
5768                    "cargo:rustc-cfg=soc_has_uart2",
5769                    "cargo:rustc-cfg=soc_has_uart3",
5770                    "cargo:rustc-cfg=soc_has_uart4",
5771                    "cargo:rustc-cfg=soc_has_uhci0",
5772                    "cargo:rustc-cfg=soc_has_spi0",
5773                    "cargo:rustc-cfg=soc_has_spi1",
5774                    "cargo:rustc-cfg=soc_has_memspi2",
5775                    "cargo:rustc-cfg=soc_has_memspi3",
5776                    "cargo:rustc-cfg=soc_has_spi2",
5777                    "cargo:rustc-cfg=soc_has_spi3",
5778                    "cargo:rustc-cfg=soc_has_i2c0",
5779                    "cargo:rustc-cfg=soc_has_i2c1",
5780                    "cargo:rustc-cfg=soc_has_i2s0",
5781                    "cargo:rustc-cfg=soc_has_i2s1",
5782                    "cargo:rustc-cfg=soc_has_i2s2",
5783                    "cargo:rustc-cfg=soc_has_twai0",
5784                    "cargo:rustc-cfg=soc_has_twai1",
5785                    "cargo:rustc-cfg=soc_has_twai2",
5786                    "cargo:rustc-cfg=soc_has_dma",
5787                    "cargo:rustc-cfg=soc_has_axi_gdma",
5788                    "cargo:rustc-cfg=soc_has_eth",
5789                    "cargo:rustc-cfg=soc_has_emac_dma",
5790                    "cargo:rustc-cfg=soc_has_emac_mac",
5791                    "cargo:rustc-cfg=soc_has_mipi_dsi",
5792                    "cargo:rustc-cfg=soc_has_vdma",
5793                    "cargo:rustc-cfg=soc_has_mipi_dsi_host",
5794                    "cargo:rustc-cfg=soc_has_mipi_dsi_bridge",
5795                    "cargo:rustc-cfg=soc_has_usb_device",
5796                    "cargo:rustc-cfg=soc_has_sdhost",
5797                    "cargo:rustc-cfg=soc_has_ledc",
5798                    "cargo:rustc-cfg=soc_has_mcpwm0",
5799                    "cargo:rustc-cfg=soc_has_mcpwm1",
5800                    "cargo:rustc-cfg=soc_has_pcnt",
5801                    "cargo:rustc-cfg=soc_has_apb_saradc",
5802                    "cargo:rustc-cfg=soc_has_lp_adc",
5803                    "cargo:rustc-cfg=soc_has_rmt",
5804                    "cargo:rustc-cfg=soc_has_aes",
5805                    "cargo:rustc-cfg=soc_has_sha",
5806                    "cargo:rustc-cfg=soc_has_rsa",
5807                    "cargo:rustc-cfg=soc_has_ecc",
5808                    "cargo:rustc-cfg=soc_has_usb_fs",
5809                    "cargo:rustc-cfg=soc_has_usb_hs",
5810                    "cargo:rustc-cfg=soc_has_usb_wrap",
5811                    "cargo:rustc-cfg=soc_has_adc1",
5812                    "cargo:rustc-cfg=soc_has_adc2",
5813                    "cargo:rustc-cfg=soc_has_flash",
5814                    "cargo:rustc-cfg=soc_has_psram",
5815                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
5816                    "cargo:rustc-cfg=soc_has_cpu_ctrl",
5817                    "cargo:rustc-cfg=soc_has_ipc",
5818                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
5819                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
5820                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
5821                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
5822                    "cargo:rustc-cfg=gpio_driver_supported",
5823                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
5824                    "cargo:rustc-cfg=io_mux_driver_supported",
5825                    "cargo:rustc-cfg=lp_io_driver_supported",
5826                    "cargo:rustc-cfg=uart_driver_supported",
5827                    "cargo:rustc-cfg=uhci_driver_supported",
5828                    "cargo:rustc-cfg=i2c_master_driver_supported",
5829                    "cargo:rustc-cfg=lp_i2c_master_driver_supported",
5830                    "cargo:rustc-cfg=spi_master_driver_supported",
5831                    "cargo:rustc-cfg=spi_slave_driver_supported",
5832                    "cargo:rustc-cfg=i2s_driver_supported",
5833                    "cargo:rustc-cfg=rmt_driver_supported",
5834                    "cargo:rustc-cfg=sdmmc_driver_supported",
5835                    "cargo:rustc-cfg=usb_otg_driver_supported",
5836                    "cargo:rustc-cfg=usb_otg_hs_driver_supported",
5837                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
5838                    "cargo:rustc-cfg=ethernet_driver_supported",
5839                    "cargo:rustc-cfg=mipi_dsi_driver_supported",
5840                    "cargo:rustc-cfg=adc_driver_supported",
5841                    "cargo:rustc-cfg=pcnt_driver_supported",
5842                    "cargo:rustc-cfg=lp_timer_driver_supported",
5843                    "cargo:rustc-cfg=sdm_driver_supported",
5844                    "cargo:rustc-cfg=systimer_driver_supported",
5845                    "cargo:rustc-cfg=timergroup_driver_supported",
5846                    "cargo:rustc-cfg=aes_driver_supported",
5847                    "cargo:rustc-cfg=ecc_driver_supported",
5848                    "cargo:rustc-cfg=rng_driver_supported",
5849                    "cargo:rustc-cfg=rsa_driver_supported",
5850                    "cargo:rustc-cfg=sha_driver_supported",
5851                    "cargo:rustc-cfg=sleep_driver_supported",
5852                    "cargo:rustc-cfg=dma_driver_supported",
5853                    "cargo:rustc-cfg=interrupts_driver_supported",
5854                    "cargo:rustc-cfg=mmu_driver_supported",
5855                    "cargo:rustc-cfg=flash_driver_supported",
5856                    "cargo:rustc-cfg=psram_driver_supported",
5857                    "cargo:rustc-cfg=rom_driver_supported",
5858                    "cargo:rustc-cfg=soc_driver_supported",
5859                    "cargo:rustc-cfg=uart_uart0",
5860                    "cargo:rustc-cfg=uart_uart1",
5861                    "cargo:rustc-cfg=uart_uart2",
5862                    "cargo:rustc-cfg=uart_uart3",
5863                    "cargo:rustc-cfg=uart_uart4",
5864                    "cargo:rustc-cfg=i2c_master_i2c0",
5865                    "cargo:rustc-cfg=i2c_master_i2c1",
5866                    "cargo:rustc-cfg=spi_master_spi2",
5867                    "cargo:rustc-cfg=spi_master_spi3",
5868                    "cargo:rustc-cfg=spi_slave_spi2",
5869                    "cargo:rustc-cfg=spi_slave_spi3",
5870                    "cargo:rustc-cfg=i2s_i2s0",
5871                    "cargo:rustc-cfg=i2s_i2s1",
5872                    "cargo:rustc-cfg=i2s_i2s2",
5873                    "cargo:rustc-cfg=adc_adc1",
5874                    "cargo:rustc-cfg=adc_adc2",
5875                    "cargo:rustc-cfg=pcnt_PCNT",
5876                    "cargo:rustc-cfg=timergroup_timg0",
5877                    "cargo:rustc-cfg=timergroup_timg1",
5878                    "cargo:rustc-cfg=gpio_version=\"3\"",
5879                    "cargo:rustc-cfg=gpio_has_input_sync",
5880                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
5881                    "cargo:rustc-cfg=gpio_constant_0_input=\"62\"",
5882                    "cargo:rustc-cfg=gpio_constant_1_input=\"63\"",
5883                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"1\"",
5884                    "cargo:rustc-cfg=gpio_has_bank_1",
5885                    "cargo:rustc-cfg=gpio_input_signal_max=\"249\"",
5886                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
5887                    "cargo:rustc-cfg=dedicated_gpio_version=\"riscv_v2\"",
5888                    "cargo:rustc-cfg=lp_io_version=\"esp32p4\"",
5889                    "cargo:rustc-cfg=lp_io_has_gpio_matrix",
5890                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
5891                    "cargo:rustc-cfg=uart_version=\"2\"",
5892                    "cargo:rustc-cfg=uhci_combined_uart_selector_field",
5893                    "cargo:rustc-cfg=i2c_master_version=\"4\"",
5894                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
5895                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
5896                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
5897                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
5898                    "cargo:rustc-cfg=i2c_master_has_conf_update",
5899                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
5900                    "cargo:rustc-cfg=i2c_master_has_pd_en",
5901                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
5902                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
5903                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
5904                    "cargo:rustc-cfg=lp_i2c_master_version=\"lp_i2c\"",
5905                    "cargo:rustc-cfg=lp_i2c_master_fifo_size=\"16\"",
5906                    "cargo:rustc-cfg=lp_i2c_master_fifo_size_is_set",
5907                    "cargo:rustc-cfg=spi_master_version=\"3\"",
5908                    "cargo:rustc-cfg=spi_master_fifo_size=\"64\"",
5909                    "cargo:rustc-cfg=i2s_version=\"3\"",
5910                    "cargo:rustc-cfg=i2s_version_is_set",
5911                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width=\"9\"",
5912                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width_is_set",
5913                    "cargo:rustc-cfg=i2s_max_ws_width=\"128\"",
5914                    "cargo:rustc-cfg=i2s_max_ws_width_is_set",
5915                    "cargo:rustc-cfg=i2s_clock_configured_by_hp_sys_clkrst",
5916                    "cargo:rustc-cfg=i2s_supports_pdm_rx_hp_filter",
5917                    "cargo:rustc-cfg=i2s_supports_pdm_tx",
5918                    "cargo:rustc-cfg=i2s_supports_pdm_rx",
5919                    "cargo:rustc-cfg=i2s_supports_pcm2pdm",
5920                    "cargo:rustc-cfg=i2s_supports_pdm2pcm",
5921                    "cargo:rustc-cfg=rmt_ram_start=\"1342842880\"",
5922                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
5923                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
5924                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
5925                    "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
5926                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
5927                    "cargo:rustc-cfg=rmt_has_tx_sync",
5928                    "cargo:rustc-cfg=rmt_has_rx_wrap",
5929                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
5930                    "cargo:rustc-cfg=sdmmc_delay_phase_num=\"8\"",
5931                    "cargo:rustc-cfg=sdmmc_delay_phase_num_is_set",
5932                    "cargo:rustc-cfg=sdmmc_has_iomux",
5933                    "cargo:rustc-cfg=sdmmc_has_gpio_matrix",
5934                    "cargo:rustc-cfg=sdmmc_psram_dma",
5935                    "cargo:rustc-cfg=usb_otg_fifo_depth_words=\"200\"",
5936                    "cargo:rustc-cfg=usb_otg_hs_fifo_depth_words=\"896\"",
5937                    "cargo:rustc-cfg=ethernet_mii_via_gpio_matrix",
5938                    "cargo:rustc-cfg=ethernet_rx_checksum_offload",
5939                    "cargo:rustc-cfg=ethernet_dma_burst_len=\"32\"",
5940                    "cargo:rustc-cfg=soc_has_sdm_ch0",
5941                    "cargo:rustc-cfg=soc_has_sdm_ch1",
5942                    "cargo:rustc-cfg=soc_has_sdm_ch2",
5943                    "cargo:rustc-cfg=soc_has_sdm_ch3",
5944                    "cargo:rustc-cfg=soc_has_sdm_ch4",
5945                    "cargo:rustc-cfg=soc_has_sdm_ch5",
5946                    "cargo:rustc-cfg=soc_has_sdm_ch6",
5947                    "cargo:rustc-cfg=soc_has_sdm_ch7",
5948                    "cargo:rustc-cfg=timergroup_timg_has_timer1",
5949                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
5950                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
5951                    "cargo:rustc-cfg=aes_dma_mode_ecb",
5952                    "cargo:rustc-cfg=aes_dma_mode_cbc",
5953                    "cargo:rustc-cfg=aes_dma_mode_ofb",
5954                    "cargo:rustc-cfg=aes_dma_mode_ctr",
5955                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
5956                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
5957                    "cargo:rustc-cfg=aes_dma_mode_gcm",
5958                    "cargo:rustc-cfg=aes_has_split_text_registers",
5959                    "cargo:rustc-cfg=ecc_separate_jacobian_point_memory",
5960                    "cargo:rustc-cfg=ecc_has_memory_clock_gate",
5961                    "cargo:rustc-cfg=ecc_supports_enhanced_security",
5962                    "cargo:rustc-cfg=ecc_has_modular_arithmetic",
5963                    "cargo:rustc-cfg=ecc_has_point_addition",
5964                    "cargo:rustc-cfg=ecc_has_curve_p192",
5965                    "cargo:rustc-cfg=ecc_has_curve_p256",
5966                    "cargo:rustc-cfg=ecc_has_curve_p384",
5967                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
5968                    "cargo:rustc-cfg=rng_is_lp_sys",
5969                    "cargo:rustc-cfg=rsa_version=\"3\"",
5970                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
5971                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
5972                    "cargo:rustc-cfg=sleep_light_sleep",
5973                    "cargo:rustc-cfg=sleep_deep_sleep",
5974                    "cargo:rustc-cfg=sleep_has_wakeup_source_sdio",
5975                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
5976                    "cargo:rustc-cfg=sleep_has_wakeup_source_usb",
5977                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
5978                    "cargo:rustc-cfg=sleep_has_wakeup_source_touch",
5979                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext1",
5980                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
5981                    "cargo:rustc-cfg=sleep_ext1_version=\"3\"",
5982                    "cargo:rustc-cfg=sleep_ext1_version_is_set",
5983                    "cargo:rustc-cfg=sleep_pin_wakeup_version=\"3\"",
5984                    "cargo:rustc-cfg=sleep_pin_wakeup_version_is_set",
5985                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
5986                    "cargo:rustc-cfg=dma_gdma_version=\"2\"",
5987                    "cargo:rustc-cfg=dma_gdma_version_is_set",
5988                    "cargo:rustc-cfg=soc_has_dma_ch0",
5989                    "cargo:rustc-cfg=soc_has_dma_ch1",
5990                    "cargo:rustc-cfg=soc_has_dma_ch2",
5991                    "cargo:rustc-cfg=soc_has_dma_axi_ch0",
5992                    "cargo:rustc-cfg=soc_has_dma_axi_ch1",
5993                    "cargo:rustc-cfg=soc_has_dma_axi_ch2",
5994                    "cargo:rustc-cfg=soc_has_vdma_ch0",
5995                    "cargo:rustc-cfg=soc_has_vdma_ch1",
5996                    "cargo:rustc-cfg=soc_has_vdma_ch2",
5997                    "cargo:rustc-cfg=soc_has_vdma_ch3",
5998                    "cargo:rustc-cfg=dma_supports_mem2mem",
5999                    "cargo:rustc-cfg=i2s_supports_dma",
6000                    "cargo:rustc-cfg=i2s_dma_engine=\"AHB_GDMA\"",
6001                    "cargo:rustc-cfg=uhci_supports_dma",
6002                    "cargo:rustc-cfg=uhci_dma_engine=\"AHB_GDMA\"",
6003                    "cargo:rustc-cfg=aes_supports_dma",
6004                    "cargo:rustc-cfg=aes_dma_engine=\"AXI_GDMA\"",
6005                    "cargo:rustc-cfg=sha_supports_dma",
6006                    "cargo:rustc-cfg=sha_dma_engine=\"AXI_GDMA\"",
6007                    "cargo:rustc-cfg=spi_master_supports_dma",
6008                    "cargo:rustc-cfg=spi_master_dma_engine=\"AXI_GDMA\"",
6009                    "cargo:rustc-cfg=spi_slave_supports_dma",
6010                    "cargo:rustc-cfg=spi_slave_dma_engine=\"AXI_GDMA\"",
6011                    "cargo:rustc-cfg=mipi_dsi_supports_dma",
6012                    "cargo:rustc-cfg=mipi_dsi_dma_engine=\"VDMA\"",
6013                    "cargo:rustc-cfg=dma_can_access_psram",
6014                    "cargo:rustc-cfg=dma_max_priority=\"5\"",
6015                    "cargo:rustc-cfg=dma_max_priority_is_set",
6016                    "cargo:rustc-cfg=interrupts_status_registers=\"5\"",
6017                    "cargo:rustc-cfg=interrupt_controller=\"clic\"",
6018                    "cargo:rustc-cfg=context_switch_source=\"ipc\"",
6019                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
6020                    "cargo:rustc-cfg=mmu_entry_num=\"512\"",
6021                    "cargo:rustc-cfg=psram_octal_spi",
6022                    "cargo:rustc-cfg=psram_hex_spi",
6023                    "cargo:rustc-cfg=psram_extmem_origin=\"1207959552\"",
6024                    "cargo:rustc-cfg=rom_has_crc_le",
6025                    "cargo:rustc-cfg=rom_has_crc_be",
6026                    "cargo:rustc-cfg=rom_has_md5_bsd",
6027                    "cargo:rustc-cfg=soc_cpu_has_branch_predictor",
6028                    "cargo:rustc-cfg=soc_multi_core_enabled",
6029                    "cargo:rustc-cfg=soc_internal_memory_cached",
6030                    "cargo:rustc-cfg=soc_has_swd_watchdog",
6031                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"63\"",
6032                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
6033                    "cargo:rustc-cfg=soc_has_clock_node_cpll_clk",
6034                    "cargo:rustc-cfg=soc_clock_node_cpll_clk_is_configurable",
6035                    "cargo:rustc-cfg=soc_has_clock_node_spll_clk",
6036                    "cargo:rustc-cfg=soc_has_clock_node_mpll_clk",
6037                    "cargo:rustc-cfg=soc_clock_node_mpll_clk_is_configurable",
6038                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
6039                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
6040                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
6041                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
6042                    "cargo:rustc-cfg=soc_has_clock_node_rc32k_clk",
6043                    "cargo:rustc-cfg=soc_has_clock_node_pll_f20m",
6044                    "cargo:rustc-cfg=soc_has_clock_node_pll_f80m",
6045                    "cargo:rustc-cfg=soc_has_clock_node_pll_f120m",
6046                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m",
6047                    "cargo:rustc-cfg=soc_has_clock_node_pll_f240m",
6048                    "cargo:rustc-cfg=soc_has_clock_node_spll_d3_clock",
6049                    "cargo:rustc-cfg=soc_has_clock_node_iomux_function_clock",
6050                    "cargo:rustc-cfg=soc_clock_node_iomux_function_clock_is_configurable",
6051                    "cargo:rustc-cfg=soc_has_clock_node_pll_f25m",
6052                    "cargo:rustc-cfg=soc_has_clock_node_pll_f50m",
6053                    "cargo:rustc-cfg=soc_has_clock_node_xtal_d2_clk",
6054                    "cargo:rustc-cfg=soc_has_clock_node_cpu_root_clk",
6055                    "cargo:rustc-cfg=soc_clock_node_cpu_root_clk_is_configurable",
6056                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
6057                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
6058                    "cargo:rustc-cfg=soc_has_clock_node_mem_clk",
6059                    "cargo:rustc-cfg=soc_clock_node_mem_clk_is_configurable",
6060                    "cargo:rustc-cfg=soc_has_clock_node_sys_clk",
6061                    "cargo:rustc-cfg=soc_clock_node_sys_clk_is_configurable",
6062                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
6063                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
6064                    "cargo:rustc-cfg=soc_has_clock_node_lp_fast_clk",
6065                    "cargo:rustc-cfg=soc_clock_node_lp_fast_clk_is_configurable",
6066                    "cargo:rustc-cfg=soc_has_clock_node_lp_slow_clk",
6067                    "cargo:rustc-cfg=soc_clock_node_lp_slow_clk_is_configurable",
6068                    "cargo:rustc-cfg=soc_has_clock_node_crypto_clk",
6069                    "cargo:rustc-cfg=soc_clock_node_crypto_clk_is_configurable",
6070                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
6071                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
6072                    "cargo:rustc-cfg=soc_has_clock_node_psram_function_clock",
6073                    "cargo:rustc-cfg=soc_clock_node_psram_function_clock_is_configurable",
6074                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
6075                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
6076                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
6077                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
6078                    "cargo:rustc-cfg=soc_has_clock_node_sdm_function_clock",
6079                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
6080                    "cargo:rustc-cfg=soc_clock_node_timg_function_clock_is_configurable",
6081                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
6082                    "cargo:rustc-cfg=soc_clock_node_timg_wdt_clock_is_configurable",
6083                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
6084                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
6085                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
6086                    "cargo:rustc-cfg=soc_clock_node_rmt_sclk_is_configurable",
6087                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
6088                    "cargo:rustc-cfg=soc_clock_node_spi_function_clock_is_configurable",
6089                    "cargo:rustc-cfg=soc_has_clock_node_i2s_tx_clk",
6090                    "cargo:rustc-cfg=soc_clock_node_i2s_tx_clk_is_configurable",
6091                    "cargo:rustc-cfg=soc_has_clock_node_i2s_rx_clk",
6092                    "cargo:rustc-cfg=soc_clock_node_i2s_rx_clk_is_configurable",
6093                    "cargo:rustc-cfg=soc_has_clock_node_i2s_mclk_out",
6094                    "cargo:rustc-cfg=soc_clock_node_i2s_mclk_out_is_configurable",
6095                    "cargo:rustc-cfg=soc_has_clock_node_mipi_dsi_dpi_clk",
6096                    "cargo:rustc-cfg=soc_clock_node_mipi_dsi_dpi_clk_is_configurable",
6097                    "cargo:rustc-cfg=soc_has_clock_node_mipi_dsi_phy_pll_refclk",
6098                    "cargo:rustc-cfg=soc_clock_node_mipi_dsi_phy_pll_refclk_is_configurable",
6099                    "cargo:rustc-cfg=soc_has_clock_node_mipi_dsi_phy_cfg_clk",
6100                    "cargo:rustc-cfg=soc_clock_node_mipi_dsi_phy_cfg_clk_is_configurable",
6101                    "cargo:rustc-cfg=has_dram_region",
6102                    "cargo:rustc-cfg=has_dram2_uninit_region",
6103                    "cargo:rustc-cfg=has_irom_region",
6104                    "cargo:rustc-cfg=has_drom_region",
6105                ],
6106                memory_layout: &MemoryLayout {
6107                    regions: &[
6108                        (
6109                            "dram",
6110                            MemoryRegion {
6111                                address_range: 0x4FF40000..0x4FFADFC0,
6112                            },
6113                        ),
6114                        (
6115                            "dram2_uninit",
6116                            MemoryRegion {
6117                                address_range: 0x4FFADFC0..0x4FFBEFC0,
6118                            },
6119                        ),
6120                        (
6121                            "irom",
6122                            MemoryRegion {
6123                                address_range: 0x40000000..0x44000000,
6124                            },
6125                        ),
6126                        (
6127                            "drom",
6128                            MemoryRegion {
6129                                address_range: 0x40000000..0x44000000,
6130                            },
6131                        ),
6132                    ],
6133                },
6134                pins: &[
6135                    PinInfo {
6136                        pin: 0,
6137                        limitations: &[],
6138                    },
6139                    PinInfo {
6140                        pin: 1,
6141                        limitations: &[],
6142                    },
6143                    PinInfo {
6144                        pin: 2,
6145                        limitations: &["jtag"],
6146                    },
6147                    PinInfo {
6148                        pin: 3,
6149                        limitations: &["jtag"],
6150                    },
6151                    PinInfo {
6152                        pin: 4,
6153                        limitations: &["jtag"],
6154                    },
6155                    PinInfo {
6156                        pin: 5,
6157                        limitations: &["jtag"],
6158                    },
6159                    PinInfo {
6160                        pin: 6,
6161                        limitations: &[],
6162                    },
6163                    PinInfo {
6164                        pin: 7,
6165                        limitations: &[],
6166                    },
6167                    PinInfo {
6168                        pin: 8,
6169                        limitations: &[],
6170                    },
6171                    PinInfo {
6172                        pin: 9,
6173                        limitations: &[],
6174                    },
6175                    PinInfo {
6176                        pin: 10,
6177                        limitations: &[],
6178                    },
6179                    PinInfo {
6180                        pin: 11,
6181                        limitations: &[],
6182                    },
6183                    PinInfo {
6184                        pin: 12,
6185                        limitations: &[],
6186                    },
6187                    PinInfo {
6188                        pin: 13,
6189                        limitations: &[],
6190                    },
6191                    PinInfo {
6192                        pin: 14,
6193                        limitations: &[],
6194                    },
6195                    PinInfo {
6196                        pin: 15,
6197                        limitations: &[],
6198                    },
6199                    PinInfo {
6200                        pin: 16,
6201                        limitations: &[],
6202                    },
6203                    PinInfo {
6204                        pin: 17,
6205                        limitations: &[],
6206                    },
6207                    PinInfo {
6208                        pin: 18,
6209                        limitations: &[],
6210                    },
6211                    PinInfo {
6212                        pin: 19,
6213                        limitations: &[],
6214                    },
6215                    PinInfo {
6216                        pin: 20,
6217                        limitations: &[],
6218                    },
6219                    PinInfo {
6220                        pin: 21,
6221                        limitations: &[],
6222                    },
6223                    PinInfo {
6224                        pin: 22,
6225                        limitations: &[],
6226                    },
6227                    PinInfo {
6228                        pin: 23,
6229                        limitations: &[],
6230                    },
6231                    PinInfo {
6232                        pin: 24,
6233                        limitations: &["usb_jtag"],
6234                    },
6235                    PinInfo {
6236                        pin: 25,
6237                        limitations: &["usb_jtag"],
6238                    },
6239                    PinInfo {
6240                        pin: 26,
6241                        limitations: &[],
6242                    },
6243                    PinInfo {
6244                        pin: 27,
6245                        limitations: &[],
6246                    },
6247                    PinInfo {
6248                        pin: 28,
6249                        limitations: &[],
6250                    },
6251                    PinInfo {
6252                        pin: 29,
6253                        limitations: &[],
6254                    },
6255                    PinInfo {
6256                        pin: 30,
6257                        limitations: &[],
6258                    },
6259                    PinInfo {
6260                        pin: 31,
6261                        limitations: &[],
6262                    },
6263                    PinInfo {
6264                        pin: 32,
6265                        limitations: &["strapping"],
6266                    },
6267                    PinInfo {
6268                        pin: 33,
6269                        limitations: &["strapping"],
6270                    },
6271                    PinInfo {
6272                        pin: 34,
6273                        limitations: &["strapping"],
6274                    },
6275                    PinInfo {
6276                        pin: 35,
6277                        limitations: &["strapping"],
6278                    },
6279                    PinInfo {
6280                        pin: 36,
6281                        limitations: &["strapping"],
6282                    },
6283                    PinInfo {
6284                        pin: 37,
6285                        limitations: &["strapping"],
6286                    },
6287                    PinInfo {
6288                        pin: 38,
6289                        limitations: &["strapping"],
6290                    },
6291                    PinInfo {
6292                        pin: 39,
6293                        limitations: &[],
6294                    },
6295                    PinInfo {
6296                        pin: 40,
6297                        limitations: &[],
6298                    },
6299                    PinInfo {
6300                        pin: 41,
6301                        limitations: &[],
6302                    },
6303                    PinInfo {
6304                        pin: 42,
6305                        limitations: &[],
6306                    },
6307                    PinInfo {
6308                        pin: 43,
6309                        limitations: &[],
6310                    },
6311                    PinInfo {
6312                        pin: 44,
6313                        limitations: &[],
6314                    },
6315                    PinInfo {
6316                        pin: 45,
6317                        limitations: &[],
6318                    },
6319                    PinInfo {
6320                        pin: 46,
6321                        limitations: &[],
6322                    },
6323                    PinInfo {
6324                        pin: 47,
6325                        limitations: &[],
6326                    },
6327                    PinInfo {
6328                        pin: 48,
6329                        limitations: &[],
6330                    },
6331                    PinInfo {
6332                        pin: 49,
6333                        limitations: &[],
6334                    },
6335                    PinInfo {
6336                        pin: 50,
6337                        limitations: &[],
6338                    },
6339                    PinInfo {
6340                        pin: 51,
6341                        limitations: &[],
6342                    },
6343                    PinInfo {
6344                        pin: 52,
6345                        limitations: &[],
6346                    },
6347                    PinInfo {
6348                        pin: 53,
6349                        limitations: &[],
6350                    },
6351                    PinInfo {
6352                        pin: 54,
6353                        limitations: &[],
6354                    },
6355                ],
6356            },
6357            Self::Esp32s2 => Config {
6358                architecture: "xtensa",
6359                target: "xtensa-esp32s2-none-elf",
6360                symbols: &[
6361                    "esp32s2",
6362                    "xtensa",
6363                    "single_core",
6364                    "soc_has_aes",
6365                    "soc_has_apb_saradc",
6366                    "soc_has_ds",
6367                    "soc_has_efuse",
6368                    "soc_has_extmem",
6369                    "soc_has_mmu_table",
6370                    "soc_has_fe",
6371                    "soc_has_fe2",
6372                    "soc_has_gpio",
6373                    "soc_has_gpio_sd",
6374                    "soc_has_hmac",
6375                    "soc_has_i2c_ana_mst",
6376                    "soc_has_i2c0",
6377                    "soc_has_i2c1",
6378                    "soc_has_i2s0",
6379                    "soc_has_interrupt_core0",
6380                    "soc_has_io_mux",
6381                    "soc_has_ledc",
6382                    "soc_has_nrx",
6383                    "soc_has_pcnt",
6384                    "soc_has_pms",
6385                    "soc_has_rmt",
6386                    "soc_has_rng",
6387                    "soc_has_rsa",
6388                    "soc_has_lpwr",
6389                    "soc_has_rtc_timer",
6390                    "soc_has_lp_i2c0",
6391                    "soc_has_rtc_io",
6392                    "soc_has_sens",
6393                    "soc_has_sha",
6394                    "soc_has_spi0",
6395                    "soc_has_spi1",
6396                    "soc_has_spi2",
6397                    "soc_has_spi3",
6398                    "soc_has_syscon",
6399                    "soc_has_system",
6400                    "soc_has_systimer",
6401                    "soc_has_timg0",
6402                    "soc_has_timg1",
6403                    "soc_has_twai0",
6404                    "soc_has_uart0",
6405                    "soc_has_uart1",
6406                    "soc_has_uhci0",
6407                    "soc_has_usb_fs",
6408                    "soc_has_usb_wrap",
6409                    "soc_has_xts_aes",
6410                    "soc_has_wifi",
6411                    "soc_has_adc1",
6412                    "soc_has_adc2",
6413                    "soc_has_dac1",
6414                    "soc_has_dac2",
6415                    "soc_has_flash",
6416                    "soc_has_gpio_dedicated",
6417                    "soc_has_psram",
6418                    "soc_has_ulp_riscv_core",
6419                    "soc_has_from_cpu_intr0",
6420                    "soc_has_from_cpu_intr1",
6421                    "soc_has_from_cpu_intr2",
6422                    "soc_has_from_cpu_intr3",
6423                    "gpio_driver_supported",
6424                    "dedicated_gpio_driver_supported",
6425                    "io_mux_driver_supported",
6426                    "lp_io_driver_supported",
6427                    "uart_driver_supported",
6428                    "i2c_master_driver_supported",
6429                    "spi_master_driver_supported",
6430                    "spi_slave_driver_supported",
6431                    "i2s_driver_supported",
6432                    "rmt_driver_supported",
6433                    "twai_driver_supported",
6434                    "usb_otg_driver_supported",
6435                    "wifi_driver_supported",
6436                    "phy_driver_supported",
6437                    "adc_driver_supported",
6438                    "dac_driver_supported",
6439                    "temp_sensor_driver_supported",
6440                    "ledc_driver_supported",
6441                    "pcnt_driver_supported",
6442                    "lp_timer_driver_supported",
6443                    "sdm_driver_supported",
6444                    "systimer_driver_supported",
6445                    "timergroup_driver_supported",
6446                    "aes_driver_supported",
6447                    "hmac_driver_supported",
6448                    "rng_driver_supported",
6449                    "rsa_driver_supported",
6450                    "sha_driver_supported",
6451                    "sleep_driver_supported",
6452                    "ulp_riscv_driver_supported",
6453                    "dma_driver_supported",
6454                    "interrupts_driver_supported",
6455                    "mmu_driver_supported",
6456                    "flash_driver_supported",
6457                    "psram_driver_supported",
6458                    "rom_driver_supported",
6459                    "soc_driver_supported",
6460                    "uart_uart0",
6461                    "uart_uart1",
6462                    "i2c_master_i2c0",
6463                    "i2c_master_i2c1",
6464                    "spi_master_spi2",
6465                    "spi_master_spi3",
6466                    "spi_slave_spi2",
6467                    "spi_slave_spi3",
6468                    "i2s_i2s0",
6469                    "adc_adc1",
6470                    "adc_adc2",
6471                    "dac_dac1",
6472                    "dac_dac2",
6473                    "pcnt_PCNT",
6474                    "timergroup_timg0",
6475                    "timergroup_timg1",
6476                    "gpio_version=\"2\"",
6477                    "gpio_has_input_sync",
6478                    "gpio_gpio_function=\"1\"",
6479                    "gpio_constant_0_input=\"60\"",
6480                    "gpio_constant_1_input=\"56\"",
6481                    "gpio_func_in_sel_offset=\"0\"",
6482                    "soc_has_xtal32k_pads",
6483                    "gpio_has_bank_1",
6484                    "gpio_input_signal_max=\"242\"",
6485                    "gpio_output_signal_max=\"256\"",
6486                    "dedicated_gpio_version=\"esp32s2\"",
6487                    "dedicated_gpio_needs_initialization",
6488                    "lp_io_version=\"v2\"",
6489                    "uart_ram_size=\"128\"",
6490                    "uart_version=\"1\"",
6491                    "i2c_master_version=\"2\"",
6492                    "i2c_master_has_bus_timeout_enable",
6493                    "i2c_master_separate_filter_config_registers",
6494                    "i2c_master_has_arbitration_en",
6495                    "i2c_master_has_pd_en",
6496                    "i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
6497                    "i2c_master_i2c0_data_register_ahb_address_is_set",
6498                    "i2c_master_max_bus_timeout=\"16777215\"",
6499                    "i2c_master_ll_intr_mask=\"131071\"",
6500                    "i2c_master_fifo_size=\"32\"",
6501                    "spi_master_version=\"2\"",
6502                    "spi_master_fifo_size=\"72\"",
6503                    "spi_master_bit_order_is_bool",
6504                    "spi_master_has_octal",
6505                    "spi_master_has_dma_segmented_transfer",
6506                    "i2s_version=\"1\"",
6507                    "i2s_version_is_set",
6508                    "i2s_mclk_divider_bit_width=\"6\"",
6509                    "i2s_mclk_divider_bit_width_is_set",
6510                    "i2s_max_ws_width=\"128\"",
6511                    "i2s_max_ws_width_is_set",
6512                    "rmt_ram_start=\"1061250048\"",
6513                    "rmt_channel_ram_size=\"64\"",
6514                    "rmt_has_tx_immediate_stop",
6515                    "rmt_has_tx_loop_count",
6516                    "rmt_has_tx_carrier_data_only",
6517                    "rmt_has_tx_sync",
6518                    "rmt_has_rx_demodulation",
6519                    "rmt_has_per_channel_clock",
6520                    "usb_otg_fifo_depth_words=\"256\"",
6521                    "wifi_mac_version=\"1\"",
6522                    "wifi_csi_supported",
6523                    "ledc_version=\"2\"",
6524                    "ledc_channel_count=\"8\"",
6525                    "soc_has_sdm_ch0",
6526                    "soc_has_sdm_ch1",
6527                    "soc_has_sdm_ch2",
6528                    "soc_has_sdm_ch3",
6529                    "soc_has_sdm_ch4",
6530                    "soc_has_sdm_ch5",
6531                    "soc_has_sdm_ch6",
6532                    "soc_has_sdm_ch7",
6533                    "timergroup_timg_has_timer1",
6534                    "timergroup_rc_fast_calibration_is_set",
6535                    "aes_dma_mode_ecb",
6536                    "aes_dma_mode_cbc",
6537                    "aes_dma_mode_ofb",
6538                    "aes_dma_mode_ctr",
6539                    "aes_dma_mode_cfb8",
6540                    "aes_dma_mode_cfb128",
6541                    "aes_dma_mode_gcm",
6542                    "aes_has_split_text_registers",
6543                    "aes_endianness_configurable",
6544                    "rng_apb_cycle_wait_num=\"16\"",
6545                    "rng_trng_supported",
6546                    "rsa_version=\"2\"",
6547                    "rsa_size_increment=\"32\"",
6548                    "rsa_memory_size_bytes=\"512\"",
6549                    "sleep_light_sleep",
6550                    "sleep_deep_sleep",
6551                    "sleep_has_wakeup_source_ext0",
6552                    "sleep_has_wakeup_source_ext1",
6553                    "sleep_has_wakeup_source_gpio",
6554                    "sleep_has_wakeup_source_timer",
6555                    "sleep_has_wakeup_source_wifi",
6556                    "sleep_has_wakeup_source_uart",
6557                    "sleep_has_wakeup_source_touch",
6558                    "sleep_has_wakeup_source_ulp_riscv",
6559                    "sleep_has_wakeup_source_ulp_riscv_trap",
6560                    "sleep_ext1_version=\"1\"",
6561                    "sleep_ext1_version_is_set",
6562                    "sleep_pin_wakeup_version=\"1\"",
6563                    "sleep_pin_wakeup_version_is_set",
6564                    "sleep_deep_sleep_needs_gpio_isolation",
6565                    "dma_ext_mem_configurable_block_size",
6566                    "soc_has_dma_spi2",
6567                    "soc_has_dma_spi3",
6568                    "soc_has_dma_i2s0",
6569                    "soc_has_dma_crypto",
6570                    "soc_has_dma_copy",
6571                    "dma_supports_mem2mem",
6572                    "spi_master_supports_dma",
6573                    "spi_master_dma_engine=\"SPI_DMA\"",
6574                    "spi_slave_supports_dma",
6575                    "spi_slave_dma_engine=\"SPI_DMA\"",
6576                    "i2s_supports_dma",
6577                    "i2s_dma_engine=\"I2S_DMA\"",
6578                    "aes_supports_dma",
6579                    "aes_dma_engine=\"CRYPTO_DMA\"",
6580                    "sha_supports_dma",
6581                    "sha_dma_engine=\"CRYPTO_DMA\"",
6582                    "dma_can_access_psram",
6583                    "interrupts_status_registers=\"3\"",
6584                    "interrupt_controller=\"xtensa\"",
6585                    "context_switch_source=\"software0\"",
6586                    "mmu_page_size=\"65536\"",
6587                    "mmu_entry_num=\"256\"",
6588                    "psram_extmem_origin=\"1062207488\"",
6589                    "rom_has_crc_le",
6590                    "rom_has_md5_bsd",
6591                    "soc_has_swd_watchdog",
6592                    "soc_cpu_mcause_mask=\"0\"",
6593                    "soc_has_clock_node_xtal_clk",
6594                    "soc_clock_node_xtal_clk_is_configurable",
6595                    "soc_has_clock_node_pll_clk",
6596                    "soc_clock_node_pll_clk_is_configurable",
6597                    "soc_has_clock_node_apll_clk",
6598                    "soc_clock_node_apll_clk_is_configurable",
6599                    "soc_has_clock_node_pll_f160m_clk",
6600                    "soc_has_clock_node_rc_fast_clk",
6601                    "soc_has_clock_node_cpu_pll_div_in",
6602                    "soc_clock_node_cpu_pll_div_in_is_configurable",
6603                    "soc_has_clock_node_cpu_pll_div",
6604                    "soc_clock_node_cpu_pll_div_is_configurable",
6605                    "soc_has_clock_node_system_pre_div_in",
6606                    "soc_clock_node_system_pre_div_in_is_configurable",
6607                    "soc_has_clock_node_system_pre_div",
6608                    "soc_clock_node_system_pre_div_is_configurable",
6609                    "soc_has_clock_node_cpu_clk",
6610                    "soc_clock_node_cpu_clk_is_configurable",
6611                    "soc_has_clock_node_apb_clk_cpu_div2",
6612                    "soc_has_clock_node_apb_clk_80m",
6613                    "soc_has_clock_node_apb_clk",
6614                    "soc_clock_node_apb_clk_is_configurable",
6615                    "soc_has_clock_node_ref_tick_xtal",
6616                    "soc_clock_node_ref_tick_xtal_is_configurable",
6617                    "soc_has_clock_node_ref_tick_ck8m",
6618                    "soc_clock_node_ref_tick_ck8m_is_configurable",
6619                    "soc_has_clock_node_ref_tick",
6620                    "soc_clock_node_ref_tick_is_configurable",
6621                    "soc_has_clock_node_xtal32k_clk",
6622                    "soc_has_clock_node_rc_slow_clk",
6623                    "soc_has_clock_node_rc_fast_div_clk",
6624                    "soc_has_clock_node_xtal_div_clk",
6625                    "soc_has_clock_node_rtc_slow_clk",
6626                    "soc_clock_node_rtc_slow_clk_is_configurable",
6627                    "soc_has_clock_node_rtc_fast_clk",
6628                    "soc_clock_node_rtc_fast_clk_is_configurable",
6629                    "soc_has_clock_node_uart_mem_clk",
6630                    "soc_has_clock_node_timg_calibration_clock",
6631                    "soc_clock_node_timg_calibration_clock_is_configurable",
6632                    "soc_has_clock_node_timg_function_clock",
6633                    "soc_clock_node_timg_function_clock_is_configurable",
6634                    "soc_has_clock_node_uart_function_clock",
6635                    "soc_clock_node_uart_function_clock_is_configurable",
6636                    "soc_has_clock_node_uart_baud_rate_generator",
6637                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
6638                    "soc_has_clock_node_uart_mem_clock",
6639                    "soc_has_clock_node_sdm_function_clock",
6640                    "soc_has_clock_node_rmt_sclk",
6641                    "soc_clock_node_rmt_sclk_is_configurable",
6642                    "soc_has_clock_node_i2c_function_clock",
6643                    "soc_clock_node_i2c_function_clock_is_configurable",
6644                    "soc_has_clock_node_spi_function_clock",
6645                    "soc_has_clock_node_i2s_mclk",
6646                    "soc_clock_node_i2s_mclk_is_configurable",
6647                    "has_dram_region",
6648                    "has_dram2_uninit_region",
6649                    "has_irom_region",
6650                    "has_drom_region",
6651                ],
6652                cfgs: &[
6653                    "cargo:rustc-cfg=esp32s2",
6654                    "cargo:rustc-cfg=xtensa",
6655                    "cargo:rustc-cfg=single_core",
6656                    "cargo:rustc-cfg=soc_has_aes",
6657                    "cargo:rustc-cfg=soc_has_apb_saradc",
6658                    "cargo:rustc-cfg=soc_has_ds",
6659                    "cargo:rustc-cfg=soc_has_efuse",
6660                    "cargo:rustc-cfg=soc_has_extmem",
6661                    "cargo:rustc-cfg=soc_has_mmu_table",
6662                    "cargo:rustc-cfg=soc_has_fe",
6663                    "cargo:rustc-cfg=soc_has_fe2",
6664                    "cargo:rustc-cfg=soc_has_gpio",
6665                    "cargo:rustc-cfg=soc_has_gpio_sd",
6666                    "cargo:rustc-cfg=soc_has_hmac",
6667                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
6668                    "cargo:rustc-cfg=soc_has_i2c0",
6669                    "cargo:rustc-cfg=soc_has_i2c1",
6670                    "cargo:rustc-cfg=soc_has_i2s0",
6671                    "cargo:rustc-cfg=soc_has_interrupt_core0",
6672                    "cargo:rustc-cfg=soc_has_io_mux",
6673                    "cargo:rustc-cfg=soc_has_ledc",
6674                    "cargo:rustc-cfg=soc_has_nrx",
6675                    "cargo:rustc-cfg=soc_has_pcnt",
6676                    "cargo:rustc-cfg=soc_has_pms",
6677                    "cargo:rustc-cfg=soc_has_rmt",
6678                    "cargo:rustc-cfg=soc_has_rng",
6679                    "cargo:rustc-cfg=soc_has_rsa",
6680                    "cargo:rustc-cfg=soc_has_lpwr",
6681                    "cargo:rustc-cfg=soc_has_rtc_timer",
6682                    "cargo:rustc-cfg=soc_has_lp_i2c0",
6683                    "cargo:rustc-cfg=soc_has_rtc_io",
6684                    "cargo:rustc-cfg=soc_has_sens",
6685                    "cargo:rustc-cfg=soc_has_sha",
6686                    "cargo:rustc-cfg=soc_has_spi0",
6687                    "cargo:rustc-cfg=soc_has_spi1",
6688                    "cargo:rustc-cfg=soc_has_spi2",
6689                    "cargo:rustc-cfg=soc_has_spi3",
6690                    "cargo:rustc-cfg=soc_has_syscon",
6691                    "cargo:rustc-cfg=soc_has_system",
6692                    "cargo:rustc-cfg=soc_has_systimer",
6693                    "cargo:rustc-cfg=soc_has_timg0",
6694                    "cargo:rustc-cfg=soc_has_timg1",
6695                    "cargo:rustc-cfg=soc_has_twai0",
6696                    "cargo:rustc-cfg=soc_has_uart0",
6697                    "cargo:rustc-cfg=soc_has_uart1",
6698                    "cargo:rustc-cfg=soc_has_uhci0",
6699                    "cargo:rustc-cfg=soc_has_usb_fs",
6700                    "cargo:rustc-cfg=soc_has_usb_wrap",
6701                    "cargo:rustc-cfg=soc_has_xts_aes",
6702                    "cargo:rustc-cfg=soc_has_wifi",
6703                    "cargo:rustc-cfg=soc_has_adc1",
6704                    "cargo:rustc-cfg=soc_has_adc2",
6705                    "cargo:rustc-cfg=soc_has_dac1",
6706                    "cargo:rustc-cfg=soc_has_dac2",
6707                    "cargo:rustc-cfg=soc_has_flash",
6708                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
6709                    "cargo:rustc-cfg=soc_has_psram",
6710                    "cargo:rustc-cfg=soc_has_ulp_riscv_core",
6711                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
6712                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
6713                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
6714                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
6715                    "cargo:rustc-cfg=gpio_driver_supported",
6716                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
6717                    "cargo:rustc-cfg=io_mux_driver_supported",
6718                    "cargo:rustc-cfg=lp_io_driver_supported",
6719                    "cargo:rustc-cfg=uart_driver_supported",
6720                    "cargo:rustc-cfg=i2c_master_driver_supported",
6721                    "cargo:rustc-cfg=spi_master_driver_supported",
6722                    "cargo:rustc-cfg=spi_slave_driver_supported",
6723                    "cargo:rustc-cfg=i2s_driver_supported",
6724                    "cargo:rustc-cfg=rmt_driver_supported",
6725                    "cargo:rustc-cfg=twai_driver_supported",
6726                    "cargo:rustc-cfg=usb_otg_driver_supported",
6727                    "cargo:rustc-cfg=wifi_driver_supported",
6728                    "cargo:rustc-cfg=phy_driver_supported",
6729                    "cargo:rustc-cfg=adc_driver_supported",
6730                    "cargo:rustc-cfg=dac_driver_supported",
6731                    "cargo:rustc-cfg=temp_sensor_driver_supported",
6732                    "cargo:rustc-cfg=ledc_driver_supported",
6733                    "cargo:rustc-cfg=pcnt_driver_supported",
6734                    "cargo:rustc-cfg=lp_timer_driver_supported",
6735                    "cargo:rustc-cfg=sdm_driver_supported",
6736                    "cargo:rustc-cfg=systimer_driver_supported",
6737                    "cargo:rustc-cfg=timergroup_driver_supported",
6738                    "cargo:rustc-cfg=aes_driver_supported",
6739                    "cargo:rustc-cfg=hmac_driver_supported",
6740                    "cargo:rustc-cfg=rng_driver_supported",
6741                    "cargo:rustc-cfg=rsa_driver_supported",
6742                    "cargo:rustc-cfg=sha_driver_supported",
6743                    "cargo:rustc-cfg=sleep_driver_supported",
6744                    "cargo:rustc-cfg=ulp_riscv_driver_supported",
6745                    "cargo:rustc-cfg=dma_driver_supported",
6746                    "cargo:rustc-cfg=interrupts_driver_supported",
6747                    "cargo:rustc-cfg=mmu_driver_supported",
6748                    "cargo:rustc-cfg=flash_driver_supported",
6749                    "cargo:rustc-cfg=psram_driver_supported",
6750                    "cargo:rustc-cfg=rom_driver_supported",
6751                    "cargo:rustc-cfg=soc_driver_supported",
6752                    "cargo:rustc-cfg=uart_uart0",
6753                    "cargo:rustc-cfg=uart_uart1",
6754                    "cargo:rustc-cfg=i2c_master_i2c0",
6755                    "cargo:rustc-cfg=i2c_master_i2c1",
6756                    "cargo:rustc-cfg=spi_master_spi2",
6757                    "cargo:rustc-cfg=spi_master_spi3",
6758                    "cargo:rustc-cfg=spi_slave_spi2",
6759                    "cargo:rustc-cfg=spi_slave_spi3",
6760                    "cargo:rustc-cfg=i2s_i2s0",
6761                    "cargo:rustc-cfg=adc_adc1",
6762                    "cargo:rustc-cfg=adc_adc2",
6763                    "cargo:rustc-cfg=dac_dac1",
6764                    "cargo:rustc-cfg=dac_dac2",
6765                    "cargo:rustc-cfg=pcnt_PCNT",
6766                    "cargo:rustc-cfg=timergroup_timg0",
6767                    "cargo:rustc-cfg=timergroup_timg1",
6768                    "cargo:rustc-cfg=gpio_version=\"2\"",
6769                    "cargo:rustc-cfg=gpio_has_input_sync",
6770                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
6771                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
6772                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
6773                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
6774                    "cargo:rustc-cfg=soc_has_xtal32k_pads",
6775                    "cargo:rustc-cfg=gpio_has_bank_1",
6776                    "cargo:rustc-cfg=gpio_input_signal_max=\"242\"",
6777                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
6778                    "cargo:rustc-cfg=dedicated_gpio_version=\"esp32s2\"",
6779                    "cargo:rustc-cfg=dedicated_gpio_needs_initialization",
6780                    "cargo:rustc-cfg=lp_io_version=\"v2\"",
6781                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
6782                    "cargo:rustc-cfg=uart_version=\"1\"",
6783                    "cargo:rustc-cfg=i2c_master_version=\"2\"",
6784                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
6785                    "cargo:rustc-cfg=i2c_master_separate_filter_config_registers",
6786                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
6787                    "cargo:rustc-cfg=i2c_master_has_pd_en",
6788                    "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
6789                    "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address_is_set",
6790                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"16777215\"",
6791                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"131071\"",
6792                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
6793                    "cargo:rustc-cfg=spi_master_version=\"2\"",
6794                    "cargo:rustc-cfg=spi_master_fifo_size=\"72\"",
6795                    "cargo:rustc-cfg=spi_master_bit_order_is_bool",
6796                    "cargo:rustc-cfg=spi_master_has_octal",
6797                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
6798                    "cargo:rustc-cfg=i2s_version=\"1\"",
6799                    "cargo:rustc-cfg=i2s_version_is_set",
6800                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width=\"6\"",
6801                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width_is_set",
6802                    "cargo:rustc-cfg=i2s_max_ws_width=\"128\"",
6803                    "cargo:rustc-cfg=i2s_max_ws_width_is_set",
6804                    "cargo:rustc-cfg=rmt_ram_start=\"1061250048\"",
6805                    "cargo:rustc-cfg=rmt_channel_ram_size=\"64\"",
6806                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
6807                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
6808                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
6809                    "cargo:rustc-cfg=rmt_has_tx_sync",
6810                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
6811                    "cargo:rustc-cfg=rmt_has_per_channel_clock",
6812                    "cargo:rustc-cfg=usb_otg_fifo_depth_words=\"256\"",
6813                    "cargo:rustc-cfg=wifi_mac_version=\"1\"",
6814                    "cargo:rustc-cfg=wifi_csi_supported",
6815                    "cargo:rustc-cfg=ledc_version=\"2\"",
6816                    "cargo:rustc-cfg=ledc_channel_count=\"8\"",
6817                    "cargo:rustc-cfg=soc_has_sdm_ch0",
6818                    "cargo:rustc-cfg=soc_has_sdm_ch1",
6819                    "cargo:rustc-cfg=soc_has_sdm_ch2",
6820                    "cargo:rustc-cfg=soc_has_sdm_ch3",
6821                    "cargo:rustc-cfg=soc_has_sdm_ch4",
6822                    "cargo:rustc-cfg=soc_has_sdm_ch5",
6823                    "cargo:rustc-cfg=soc_has_sdm_ch6",
6824                    "cargo:rustc-cfg=soc_has_sdm_ch7",
6825                    "cargo:rustc-cfg=timergroup_timg_has_timer1",
6826                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
6827                    "cargo:rustc-cfg=aes_dma_mode_ecb",
6828                    "cargo:rustc-cfg=aes_dma_mode_cbc",
6829                    "cargo:rustc-cfg=aes_dma_mode_ofb",
6830                    "cargo:rustc-cfg=aes_dma_mode_ctr",
6831                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
6832                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
6833                    "cargo:rustc-cfg=aes_dma_mode_gcm",
6834                    "cargo:rustc-cfg=aes_has_split_text_registers",
6835                    "cargo:rustc-cfg=aes_endianness_configurable",
6836                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
6837                    "cargo:rustc-cfg=rng_trng_supported",
6838                    "cargo:rustc-cfg=rsa_version=\"2\"",
6839                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
6840                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
6841                    "cargo:rustc-cfg=sleep_light_sleep",
6842                    "cargo:rustc-cfg=sleep_deep_sleep",
6843                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext0",
6844                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext1",
6845                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
6846                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
6847                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi",
6848                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
6849                    "cargo:rustc-cfg=sleep_has_wakeup_source_touch",
6850                    "cargo:rustc-cfg=sleep_has_wakeup_source_ulp_riscv",
6851                    "cargo:rustc-cfg=sleep_has_wakeup_source_ulp_riscv_trap",
6852                    "cargo:rustc-cfg=sleep_ext1_version=\"1\"",
6853                    "cargo:rustc-cfg=sleep_ext1_version_is_set",
6854                    "cargo:rustc-cfg=sleep_pin_wakeup_version=\"1\"",
6855                    "cargo:rustc-cfg=sleep_pin_wakeup_version_is_set",
6856                    "cargo:rustc-cfg=sleep_deep_sleep_needs_gpio_isolation",
6857                    "cargo:rustc-cfg=dma_ext_mem_configurable_block_size",
6858                    "cargo:rustc-cfg=soc_has_dma_spi2",
6859                    "cargo:rustc-cfg=soc_has_dma_spi3",
6860                    "cargo:rustc-cfg=soc_has_dma_i2s0",
6861                    "cargo:rustc-cfg=soc_has_dma_crypto",
6862                    "cargo:rustc-cfg=soc_has_dma_copy",
6863                    "cargo:rustc-cfg=dma_supports_mem2mem",
6864                    "cargo:rustc-cfg=spi_master_supports_dma",
6865                    "cargo:rustc-cfg=spi_master_dma_engine=\"SPI_DMA\"",
6866                    "cargo:rustc-cfg=spi_slave_supports_dma",
6867                    "cargo:rustc-cfg=spi_slave_dma_engine=\"SPI_DMA\"",
6868                    "cargo:rustc-cfg=i2s_supports_dma",
6869                    "cargo:rustc-cfg=i2s_dma_engine=\"I2S_DMA\"",
6870                    "cargo:rustc-cfg=aes_supports_dma",
6871                    "cargo:rustc-cfg=aes_dma_engine=\"CRYPTO_DMA\"",
6872                    "cargo:rustc-cfg=sha_supports_dma",
6873                    "cargo:rustc-cfg=sha_dma_engine=\"CRYPTO_DMA\"",
6874                    "cargo:rustc-cfg=dma_can_access_psram",
6875                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
6876                    "cargo:rustc-cfg=interrupt_controller=\"xtensa\"",
6877                    "cargo:rustc-cfg=context_switch_source=\"software0\"",
6878                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
6879                    "cargo:rustc-cfg=mmu_entry_num=\"256\"",
6880                    "cargo:rustc-cfg=psram_extmem_origin=\"1062207488\"",
6881                    "cargo:rustc-cfg=rom_has_crc_le",
6882                    "cargo:rustc-cfg=rom_has_md5_bsd",
6883                    "cargo:rustc-cfg=soc_has_swd_watchdog",
6884                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"0\"",
6885                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
6886                    "cargo:rustc-cfg=soc_clock_node_xtal_clk_is_configurable",
6887                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
6888                    "cargo:rustc-cfg=soc_clock_node_pll_clk_is_configurable",
6889                    "cargo:rustc-cfg=soc_has_clock_node_apll_clk",
6890                    "cargo:rustc-cfg=soc_clock_node_apll_clk_is_configurable",
6891                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m_clk",
6892                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
6893                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div_in",
6894                    "cargo:rustc-cfg=soc_clock_node_cpu_pll_div_in_is_configurable",
6895                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div",
6896                    "cargo:rustc-cfg=soc_clock_node_cpu_pll_div_is_configurable",
6897                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div_in",
6898                    "cargo:rustc-cfg=soc_clock_node_system_pre_div_in_is_configurable",
6899                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div",
6900                    "cargo:rustc-cfg=soc_clock_node_system_pre_div_is_configurable",
6901                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
6902                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
6903                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk_cpu_div2",
6904                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk_80m",
6905                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
6906                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
6907                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_xtal",
6908                    "cargo:rustc-cfg=soc_clock_node_ref_tick_xtal_is_configurable",
6909                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_ck8m",
6910                    "cargo:rustc-cfg=soc_clock_node_ref_tick_ck8m_is_configurable",
6911                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick",
6912                    "cargo:rustc-cfg=soc_clock_node_ref_tick_is_configurable",
6913                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
6914                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
6915                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_div_clk",
6916                    "cargo:rustc-cfg=soc_has_clock_node_xtal_div_clk",
6917                    "cargo:rustc-cfg=soc_has_clock_node_rtc_slow_clk",
6918                    "cargo:rustc-cfg=soc_clock_node_rtc_slow_clk_is_configurable",
6919                    "cargo:rustc-cfg=soc_has_clock_node_rtc_fast_clk",
6920                    "cargo:rustc-cfg=soc_clock_node_rtc_fast_clk_is_configurable",
6921                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clk",
6922                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
6923                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
6924                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
6925                    "cargo:rustc-cfg=soc_clock_node_timg_function_clock_is_configurable",
6926                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
6927                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
6928                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
6929                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
6930                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
6931                    "cargo:rustc-cfg=soc_has_clock_node_sdm_function_clock",
6932                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
6933                    "cargo:rustc-cfg=soc_clock_node_rmt_sclk_is_configurable",
6934                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
6935                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
6936                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
6937                    "cargo:rustc-cfg=soc_has_clock_node_i2s_mclk",
6938                    "cargo:rustc-cfg=soc_clock_node_i2s_mclk_is_configurable",
6939                    "cargo:rustc-cfg=has_dram_region",
6940                    "cargo:rustc-cfg=has_dram2_uninit_region",
6941                    "cargo:rustc-cfg=has_irom_region",
6942                    "cargo:rustc-cfg=has_drom_region",
6943                ],
6944                memory_layout: &MemoryLayout {
6945                    regions: &[
6946                        (
6947                            "dram",
6948                            MemoryRegion {
6949                                address_range: 0x3FFB0000..0x40000000,
6950                            },
6951                        ),
6952                        (
6953                            "dram2_uninit",
6954                            MemoryRegion {
6955                                address_range: 0x3FFDE000..0x40000000,
6956                            },
6957                        ),
6958                        (
6959                            "irom",
6960                            MemoryRegion {
6961                                address_range: 0x40080000..0x40800000,
6962                            },
6963                        ),
6964                        (
6965                            "drom",
6966                            MemoryRegion {
6967                                address_range: 0x3F000000..0x3F400000,
6968                            },
6969                        ),
6970                    ],
6971                },
6972                pins: &[
6973                    PinInfo {
6974                        pin: 0,
6975                        limitations: &["strapping"],
6976                    },
6977                    PinInfo {
6978                        pin: 1,
6979                        limitations: &[],
6980                    },
6981                    PinInfo {
6982                        pin: 2,
6983                        limitations: &[],
6984                    },
6985                    PinInfo {
6986                        pin: 3,
6987                        limitations: &[],
6988                    },
6989                    PinInfo {
6990                        pin: 4,
6991                        limitations: &[],
6992                    },
6993                    PinInfo {
6994                        pin: 5,
6995                        limitations: &[],
6996                    },
6997                    PinInfo {
6998                        pin: 6,
6999                        limitations: &[],
7000                    },
7001                    PinInfo {
7002                        pin: 7,
7003                        limitations: &[],
7004                    },
7005                    PinInfo {
7006                        pin: 8,
7007                        limitations: &[],
7008                    },
7009                    PinInfo {
7010                        pin: 9,
7011                        limitations: &[],
7012                    },
7013                    PinInfo {
7014                        pin: 10,
7015                        limitations: &[],
7016                    },
7017                    PinInfo {
7018                        pin: 11,
7019                        limitations: &[],
7020                    },
7021                    PinInfo {
7022                        pin: 12,
7023                        limitations: &[],
7024                    },
7025                    PinInfo {
7026                        pin: 13,
7027                        limitations: &[],
7028                    },
7029                    PinInfo {
7030                        pin: 14,
7031                        limitations: &[],
7032                    },
7033                    PinInfo {
7034                        pin: 15,
7035                        limitations: &[],
7036                    },
7037                    PinInfo {
7038                        pin: 16,
7039                        limitations: &[],
7040                    },
7041                    PinInfo {
7042                        pin: 17,
7043                        limitations: &[],
7044                    },
7045                    PinInfo {
7046                        pin: 18,
7047                        limitations: &[],
7048                    },
7049                    PinInfo {
7050                        pin: 19,
7051                        limitations: &[],
7052                    },
7053                    PinInfo {
7054                        pin: 20,
7055                        limitations: &[],
7056                    },
7057                    PinInfo {
7058                        pin: 21,
7059                        limitations: &[],
7060                    },
7061                    PinInfo {
7062                        pin: 26,
7063                        limitations: &["spi_psram"],
7064                    },
7065                    PinInfo {
7066                        pin: 27,
7067                        limitations: &["spi_flash", "spi_psram"],
7068                    },
7069                    PinInfo {
7070                        pin: 28,
7071                        limitations: &["spi_flash", "spi_psram"],
7072                    },
7073                    PinInfo {
7074                        pin: 29,
7075                        limitations: &["spi_flash"],
7076                    },
7077                    PinInfo {
7078                        pin: 30,
7079                        limitations: &["spi_flash", "spi_psram"],
7080                    },
7081                    PinInfo {
7082                        pin: 31,
7083                        limitations: &["spi_flash", "spi_psram"],
7084                    },
7085                    PinInfo {
7086                        pin: 32,
7087                        limitations: &["spi_flash", "spi_psram"],
7088                    },
7089                    PinInfo {
7090                        pin: 33,
7091                        limitations: &["octal_flash", "octal_psram"],
7092                    },
7093                    PinInfo {
7094                        pin: 34,
7095                        limitations: &["octal_flash", "octal_psram"],
7096                    },
7097                    PinInfo {
7098                        pin: 35,
7099                        limitations: &["octal_flash", "octal_psram"],
7100                    },
7101                    PinInfo {
7102                        pin: 36,
7103                        limitations: &["octal_flash", "octal_psram"],
7104                    },
7105                    PinInfo {
7106                        pin: 37,
7107                        limitations: &["octal_flash", "octal_psram"],
7108                    },
7109                    PinInfo {
7110                        pin: 38,
7111                        limitations: &[],
7112                    },
7113                    PinInfo {
7114                        pin: 39,
7115                        limitations: &["jtag"],
7116                    },
7117                    PinInfo {
7118                        pin: 40,
7119                        limitations: &["jtag"],
7120                    },
7121                    PinInfo {
7122                        pin: 41,
7123                        limitations: &["jtag"],
7124                    },
7125                    PinInfo {
7126                        pin: 42,
7127                        limitations: &["jtag"],
7128                    },
7129                    PinInfo {
7130                        pin: 43,
7131                        limitations: &["bootloader_uart"],
7132                    },
7133                    PinInfo {
7134                        pin: 44,
7135                        limitations: &["bootloader_uart"],
7136                    },
7137                    PinInfo {
7138                        pin: 45,
7139                        limitations: &["strapping"],
7140                    },
7141                    PinInfo {
7142                        pin: 46,
7143                        limitations: &["strapping"],
7144                    },
7145                ],
7146            },
7147            Self::Esp32s3 => Config {
7148                architecture: "xtensa",
7149                target: "xtensa-esp32s3-none-elf",
7150                symbols: &[
7151                    "esp32s3",
7152                    "xtensa",
7153                    "multi_core",
7154                    "soc_has_aes",
7155                    "soc_has_apb_ctrl",
7156                    "soc_has_apb_saradc",
7157                    "soc_has_assist_debug",
7158                    "soc_has_dma",
7159                    "soc_has_ds",
7160                    "soc_has_efuse",
7161                    "soc_has_extmem",
7162                    "soc_has_mmu_table",
7163                    "soc_has_gpio",
7164                    "soc_has_gpio_sd",
7165                    "soc_has_hmac",
7166                    "soc_has_i2c_ana_mst",
7167                    "soc_has_i2c0",
7168                    "soc_has_i2c1",
7169                    "soc_has_i2s0",
7170                    "soc_has_i2s1",
7171                    "soc_has_interrupt_core0",
7172                    "soc_has_interrupt_core1",
7173                    "soc_has_io_mux",
7174                    "soc_has_lcd_cam",
7175                    "soc_has_ledc",
7176                    "soc_has_lpwr",
7177                    "soc_has_rtc_timer",
7178                    "soc_has_mcpwm0",
7179                    "soc_has_mcpwm1",
7180                    "soc_has_pcnt",
7181                    "soc_has_peri_backup",
7182                    "soc_has_rmt",
7183                    "soc_has_rng",
7184                    "soc_has_rsa",
7185                    "soc_has_rtc_cntl",
7186                    "soc_has_lp_i2c0",
7187                    "soc_has_rtc_io",
7188                    "soc_has_sdhost",
7189                    "soc_has_sens",
7190                    "soc_has_sensitive",
7191                    "soc_has_sha",
7192                    "soc_has_spi0",
7193                    "soc_has_spi1",
7194                    "soc_has_spi2",
7195                    "soc_has_spi3",
7196                    "soc_has_system",
7197                    "soc_has_systimer",
7198                    "soc_has_timg0",
7199                    "soc_has_timg1",
7200                    "soc_has_twai0",
7201                    "soc_has_uart0",
7202                    "soc_has_uart1",
7203                    "soc_has_uart2",
7204                    "soc_has_uhci0",
7205                    "soc_has_usb_fs",
7206                    "soc_has_usb_device",
7207                    "soc_has_usb_wrap",
7208                    "soc_has_wcl",
7209                    "soc_has_xts_aes",
7210                    "soc_has_adc1",
7211                    "soc_has_adc2",
7212                    "soc_has_bt",
7213                    "soc_has_cpu_ctrl",
7214                    "soc_has_flash",
7215                    "soc_has_gpio_dedicated",
7216                    "soc_has_psram",
7217                    "soc_has_ulp_riscv_core",
7218                    "soc_has_wifi",
7219                    "soc_has_ipc",
7220                    "soc_has_from_cpu_intr0",
7221                    "soc_has_from_cpu_intr1",
7222                    "soc_has_from_cpu_intr2",
7223                    "soc_has_from_cpu_intr3",
7224                    "gpio_driver_supported",
7225                    "dedicated_gpio_driver_supported",
7226                    "io_mux_driver_supported",
7227                    "lp_io_driver_supported",
7228                    "uart_driver_supported",
7229                    "uhci_driver_supported",
7230                    "i2c_master_driver_supported",
7231                    "lp_i2c_master_driver_supported",
7232                    "spi_master_driver_supported",
7233                    "spi_slave_driver_supported",
7234                    "i2s_driver_supported",
7235                    "rmt_driver_supported",
7236                    "sdmmc_driver_supported",
7237                    "twai_driver_supported",
7238                    "usb_otg_driver_supported",
7239                    "usb_serial_jtag_driver_supported",
7240                    "bt_driver_supported",
7241                    "wifi_driver_supported",
7242                    "phy_driver_supported",
7243                    "camera_driver_supported",
7244                    "rgb_display_driver_supported",
7245                    "adc_driver_supported",
7246                    "temp_sensor_driver_supported",
7247                    "ledc_driver_supported",
7248                    "mcpwm_driver_supported",
7249                    "pcnt_driver_supported",
7250                    "lp_timer_driver_supported",
7251                    "sdm_driver_supported",
7252                    "systimer_driver_supported",
7253                    "timergroup_driver_supported",
7254                    "aes_driver_supported",
7255                    "hmac_driver_supported",
7256                    "rng_driver_supported",
7257                    "rsa_driver_supported",
7258                    "sha_driver_supported",
7259                    "sleep_driver_supported",
7260                    "ulp_riscv_driver_supported",
7261                    "assist_debug_driver_supported",
7262                    "dma_driver_supported",
7263                    "interrupts_driver_supported",
7264                    "mmu_driver_supported",
7265                    "flash_driver_supported",
7266                    "psram_driver_supported",
7267                    "rom_driver_supported",
7268                    "soc_driver_supported",
7269                    "uart_uart0",
7270                    "uart_uart1",
7271                    "uart_uart2",
7272                    "i2c_master_i2c0",
7273                    "i2c_master_i2c1",
7274                    "spi_master_spi2",
7275                    "spi_master_spi3",
7276                    "spi_slave_spi2",
7277                    "spi_slave_spi3",
7278                    "i2s_i2s0",
7279                    "i2s_i2s1",
7280                    "adc_adc1",
7281                    "adc_adc2",
7282                    "pcnt_PCNT",
7283                    "timergroup_timg0",
7284                    "timergroup_timg1",
7285                    "gpio_version=\"2\"",
7286                    "gpio_has_input_sync",
7287                    "gpio_gpio_function=\"1\"",
7288                    "gpio_constant_0_input=\"60\"",
7289                    "gpio_constant_1_input=\"56\"",
7290                    "gpio_func_in_sel_offset=\"0\"",
7291                    "soc_has_xtal32k_pads",
7292                    "gpio_has_bank_1",
7293                    "gpio_input_signal_max=\"255\"",
7294                    "gpio_output_signal_max=\"256\"",
7295                    "dedicated_gpio_version=\"esp32s3\"",
7296                    "dedicated_gpio_needs_initialization",
7297                    "lp_io_version=\"v2\"",
7298                    "uart_ram_size=\"128\"",
7299                    "uart_version=\"1\"",
7300                    "uart_has_sclk_divider",
7301                    "uart_has_sclk_enable",
7302                    "i2c_master_version=\"3\"",
7303                    "i2c_master_has_fsm_timeouts",
7304                    "i2c_master_has_bus_timeout_enable",
7305                    "i2c_master_can_estimate_nack_reason",
7306                    "i2c_master_has_conf_update",
7307                    "i2c_master_has_arbitration_en",
7308                    "i2c_master_has_tx_fifo_watermark",
7309                    "i2c_master_bus_timeout_is_exponential",
7310                    "i2c_master_has_pd_en",
7311                    "i2c_master_max_bus_timeout=\"31\"",
7312                    "i2c_master_ll_intr_mask=\"262143\"",
7313                    "i2c_master_fifo_size=\"32\"",
7314                    "lp_i2c_master_version=\"rtc_i2c\"",
7315                    "spi_master_version=\"3\"",
7316                    "spi_master_fifo_size=\"64\"",
7317                    "spi_master_has_octal",
7318                    "spi_master_has_app_interrupts",
7319                    "spi_master_has_dma_segmented_transfer",
7320                    "i2s_version=\"2\"",
7321                    "i2s_version_is_set",
7322                    "i2s_mclk_divider_bit_width=\"9\"",
7323                    "i2s_mclk_divider_bit_width_is_set",
7324                    "i2s_max_ws_width=\"128\"",
7325                    "i2s_max_ws_width_is_set",
7326                    "i2s_supports_pdm_tx",
7327                    "i2s_supports_pdm_rx",
7328                    "i2s_supports_pcm2pdm",
7329                    "i2s_supports_pdm2pcm",
7330                    "rmt_ram_start=\"1610704896\"",
7331                    "rmt_channel_ram_size=\"48\"",
7332                    "rmt_has_tx_immediate_stop",
7333                    "rmt_has_tx_loop_count",
7334                    "rmt_has_tx_loop_auto_stop",
7335                    "rmt_has_tx_carrier_data_only",
7336                    "rmt_has_tx_sync",
7337                    "rmt_has_rx_wrap",
7338                    "rmt_has_rx_demodulation",
7339                    "sdmmc_delay_phase_num=\"4\"",
7340                    "sdmmc_delay_phase_num_is_set",
7341                    "sdmmc_has_gpio_matrix",
7342                    "usb_otg_fifo_depth_words=\"256\"",
7343                    "bt_controller=\"btdm\"",
7344                    "wifi_mac_version=\"1\"",
7345                    "wifi_csi_supported",
7346                    "phy_combo_module",
7347                    "phy_backed_up_digital_register_count=\"21\"",
7348                    "phy_backed_up_digital_register_count_is_set",
7349                    "rgb_display_output_lines=\"16\"",
7350                    "ledc_version=\"2\"",
7351                    "ledc_channel_count=\"8\"",
7352                    "soc_has_sdm_ch0",
7353                    "soc_has_sdm_ch1",
7354                    "soc_has_sdm_ch2",
7355                    "soc_has_sdm_ch3",
7356                    "soc_has_sdm_ch4",
7357                    "soc_has_sdm_ch5",
7358                    "soc_has_sdm_ch6",
7359                    "soc_has_sdm_ch7",
7360                    "timergroup_timg_has_timer1",
7361                    "timergroup_rc_fast_calibration_is_set",
7362                    "aes_dma_mode_ecb",
7363                    "aes_dma_mode_cbc",
7364                    "aes_dma_mode_ofb",
7365                    "aes_dma_mode_ctr",
7366                    "aes_dma_mode_cfb8",
7367                    "aes_dma_mode_cfb128",
7368                    "aes_has_split_text_registers",
7369                    "rng_apb_cycle_wait_num=\"16\"",
7370                    "rng_trng_supported",
7371                    "rsa_version=\"2\"",
7372                    "rsa_size_increment=\"32\"",
7373                    "rsa_memory_size_bytes=\"512\"",
7374                    "sleep_light_sleep",
7375                    "sleep_deep_sleep",
7376                    "sleep_has_wakeup_source_ext0",
7377                    "sleep_has_wakeup_source_ext1",
7378                    "sleep_has_wakeup_source_gpio",
7379                    "sleep_has_wakeup_source_timer",
7380                    "sleep_has_wakeup_source_sdio",
7381                    "sleep_has_wakeup_source_wifi",
7382                    "sleep_has_wakeup_source_uart",
7383                    "sleep_has_wakeup_source_touch",
7384                    "sleep_has_wakeup_source_bt",
7385                    "sleep_has_wakeup_source_ulp_riscv",
7386                    "sleep_has_wakeup_source_ulp_riscv_trap",
7387                    "sleep_ext1_version=\"1\"",
7388                    "sleep_ext1_version_is_set",
7389                    "sleep_pin_wakeup_version=\"1\"",
7390                    "sleep_pin_wakeup_version_is_set",
7391                    "sleep_deep_sleep_needs_gpio_isolation",
7392                    "assist_debug_has_region_monitor",
7393                    "dma_mem2mem_requires_peripheral",
7394                    "dma_ext_mem_configurable_block_size",
7395                    "dma_separate_in_out_interrupts",
7396                    "dma_gdma_version=\"1\"",
7397                    "dma_gdma_version_is_set",
7398                    "soc_has_dma_ch0",
7399                    "soc_has_dma_ch1",
7400                    "soc_has_dma_ch2",
7401                    "soc_has_dma_ch3",
7402                    "soc_has_dma_ch4",
7403                    "dma_supports_mem2mem",
7404                    "aes_supports_dma",
7405                    "aes_dma_engine=\"AHB_GDMA\"",
7406                    "sha_supports_dma",
7407                    "sha_dma_engine=\"AHB_GDMA\"",
7408                    "spi_master_supports_dma",
7409                    "spi_master_dma_engine=\"AHB_GDMA\"",
7410                    "spi_slave_supports_dma",
7411                    "spi_slave_dma_engine=\"AHB_GDMA\"",
7412                    "rmt_supports_dma",
7413                    "rmt_dma_engine=\"AHB_GDMA\"",
7414                    "uhci_supports_dma",
7415                    "uhci_dma_engine=\"AHB_GDMA\"",
7416                    "i2s_supports_dma",
7417                    "i2s_dma_engine=\"AHB_GDMA\"",
7418                    "lcd_cam_supports_dma",
7419                    "lcd_cam_dma_engine=\"AHB_GDMA\"",
7420                    "dma_can_access_psram",
7421                    "dma_max_priority=\"9\"",
7422                    "dma_max_priority_is_set",
7423                    "interrupts_status_registers=\"4\"",
7424                    "interrupt_controller=\"xtensa\"",
7425                    "context_switch_source=\"software0\"",
7426                    "mmu_page_size=\"65536\"",
7427                    "mmu_entry_num=\"384\"",
7428                    "psram_octal_spi",
7429                    "psram_extmem_origin=\"1006632960\"",
7430                    "rom_has_crc_le",
7431                    "rom_has_crc_be",
7432                    "rom_has_md5_bsd",
7433                    "soc_multi_core_enabled",
7434                    "soc_has_swd_watchdog",
7435                    "soc_cpu_mcause_mask=\"0\"",
7436                    "soc_has_clock_node_xtal_clk",
7437                    "soc_clock_node_xtal_clk_is_configurable",
7438                    "soc_has_clock_node_pll_clk",
7439                    "soc_clock_node_pll_clk_is_configurable",
7440                    "soc_has_clock_node_rc_fast_clk",
7441                    "soc_has_clock_node_xtal32k_clk",
7442                    "soc_has_clock_node_rc_slow_clk",
7443                    "soc_has_clock_node_rc_fast_div_clk",
7444                    "soc_has_clock_node_system_pre_div_in",
7445                    "soc_clock_node_system_pre_div_in_is_configurable",
7446                    "soc_has_clock_node_system_pre_div",
7447                    "soc_clock_node_system_pre_div_is_configurable",
7448                    "soc_has_clock_node_cpu_pll_div_out",
7449                    "soc_clock_node_cpu_pll_div_out_is_configurable",
7450                    "soc_has_clock_node_cpu_clk",
7451                    "soc_clock_node_cpu_clk_is_configurable",
7452                    "soc_has_clock_node_pll_d2",
7453                    "soc_has_clock_node_pll_160m",
7454                    "soc_has_clock_node_apb_80m",
7455                    "soc_has_clock_node_apb_clk",
7456                    "soc_clock_node_apb_clk_is_configurable",
7457                    "soc_has_clock_node_crypto_pwm_clk",
7458                    "soc_clock_node_crypto_pwm_clk_is_configurable",
7459                    "soc_has_clock_node_rc_fast_clk_div_n",
7460                    "soc_clock_node_rc_fast_clk_div_n_is_configurable",
7461                    "soc_has_clock_node_xtal_div_clk",
7462                    "soc_has_clock_node_rtc_slow_clk",
7463                    "soc_clock_node_rtc_slow_clk_is_configurable",
7464                    "soc_has_clock_node_rtc_fast_clk",
7465                    "soc_clock_node_rtc_fast_clk_is_configurable",
7466                    "soc_has_clock_node_low_power_clk",
7467                    "soc_clock_node_low_power_clk_is_configurable",
7468                    "soc_has_clock_node_uart_mem_clk",
7469                    "soc_has_clock_node_timg_calibration_clock",
7470                    "soc_clock_node_timg_calibration_clock_is_configurable",
7471                    "soc_has_clock_node_mcpwm_function_clock",
7472                    "soc_has_clock_node_timg_function_clock",
7473                    "soc_clock_node_timg_function_clock_is_configurable",
7474                    "soc_has_clock_node_sdm_function_clock",
7475                    "soc_has_clock_node_rmt_sclk",
7476                    "soc_clock_node_rmt_sclk_is_configurable",
7477                    "soc_has_clock_node_uart_function_clock",
7478                    "soc_clock_node_uart_function_clock_is_configurable",
7479                    "soc_has_clock_node_uart_baud_rate_generator",
7480                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
7481                    "soc_has_clock_node_uart_mem_clock",
7482                    "soc_has_clock_node_i2c_function_clock",
7483                    "soc_clock_node_i2c_function_clock_is_configurable",
7484                    "soc_has_clock_node_lcd_cam_lcd_clock",
7485                    "soc_clock_node_lcd_cam_lcd_clock_is_configurable",
7486                    "soc_has_clock_node_lcd_cam_cam_clock",
7487                    "soc_clock_node_lcd_cam_cam_clock_is_configurable",
7488                    "soc_has_clock_node_spi_function_clock",
7489                    "soc_clock_node_spi_function_clock_is_configurable",
7490                    "soc_has_clock_node_i2s_tx_clk",
7491                    "soc_clock_node_i2s_tx_clk_is_configurable",
7492                    "soc_has_clock_node_i2s_rx_clk",
7493                    "soc_clock_node_i2s_rx_clk_is_configurable",
7494                    "soc_has_clock_node_i2s_mclk_out",
7495                    "soc_clock_node_i2s_mclk_out_is_configurable",
7496                    "has_dram_region",
7497                    "has_dram2_uninit_region",
7498                    "has_irom_region",
7499                    "has_drom_region",
7500                ],
7501                cfgs: &[
7502                    "cargo:rustc-cfg=esp32s3",
7503                    "cargo:rustc-cfg=xtensa",
7504                    "cargo:rustc-cfg=multi_core",
7505                    "cargo:rustc-cfg=soc_has_aes",
7506                    "cargo:rustc-cfg=soc_has_apb_ctrl",
7507                    "cargo:rustc-cfg=soc_has_apb_saradc",
7508                    "cargo:rustc-cfg=soc_has_assist_debug",
7509                    "cargo:rustc-cfg=soc_has_dma",
7510                    "cargo:rustc-cfg=soc_has_ds",
7511                    "cargo:rustc-cfg=soc_has_efuse",
7512                    "cargo:rustc-cfg=soc_has_extmem",
7513                    "cargo:rustc-cfg=soc_has_mmu_table",
7514                    "cargo:rustc-cfg=soc_has_gpio",
7515                    "cargo:rustc-cfg=soc_has_gpio_sd",
7516                    "cargo:rustc-cfg=soc_has_hmac",
7517                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
7518                    "cargo:rustc-cfg=soc_has_i2c0",
7519                    "cargo:rustc-cfg=soc_has_i2c1",
7520                    "cargo:rustc-cfg=soc_has_i2s0",
7521                    "cargo:rustc-cfg=soc_has_i2s1",
7522                    "cargo:rustc-cfg=soc_has_interrupt_core0",
7523                    "cargo:rustc-cfg=soc_has_interrupt_core1",
7524                    "cargo:rustc-cfg=soc_has_io_mux",
7525                    "cargo:rustc-cfg=soc_has_lcd_cam",
7526                    "cargo:rustc-cfg=soc_has_ledc",
7527                    "cargo:rustc-cfg=soc_has_lpwr",
7528                    "cargo:rustc-cfg=soc_has_rtc_timer",
7529                    "cargo:rustc-cfg=soc_has_mcpwm0",
7530                    "cargo:rustc-cfg=soc_has_mcpwm1",
7531                    "cargo:rustc-cfg=soc_has_pcnt",
7532                    "cargo:rustc-cfg=soc_has_peri_backup",
7533                    "cargo:rustc-cfg=soc_has_rmt",
7534                    "cargo:rustc-cfg=soc_has_rng",
7535                    "cargo:rustc-cfg=soc_has_rsa",
7536                    "cargo:rustc-cfg=soc_has_rtc_cntl",
7537                    "cargo:rustc-cfg=soc_has_lp_i2c0",
7538                    "cargo:rustc-cfg=soc_has_rtc_io",
7539                    "cargo:rustc-cfg=soc_has_sdhost",
7540                    "cargo:rustc-cfg=soc_has_sens",
7541                    "cargo:rustc-cfg=soc_has_sensitive",
7542                    "cargo:rustc-cfg=soc_has_sha",
7543                    "cargo:rustc-cfg=soc_has_spi0",
7544                    "cargo:rustc-cfg=soc_has_spi1",
7545                    "cargo:rustc-cfg=soc_has_spi2",
7546                    "cargo:rustc-cfg=soc_has_spi3",
7547                    "cargo:rustc-cfg=soc_has_system",
7548                    "cargo:rustc-cfg=soc_has_systimer",
7549                    "cargo:rustc-cfg=soc_has_timg0",
7550                    "cargo:rustc-cfg=soc_has_timg1",
7551                    "cargo:rustc-cfg=soc_has_twai0",
7552                    "cargo:rustc-cfg=soc_has_uart0",
7553                    "cargo:rustc-cfg=soc_has_uart1",
7554                    "cargo:rustc-cfg=soc_has_uart2",
7555                    "cargo:rustc-cfg=soc_has_uhci0",
7556                    "cargo:rustc-cfg=soc_has_usb_fs",
7557                    "cargo:rustc-cfg=soc_has_usb_device",
7558                    "cargo:rustc-cfg=soc_has_usb_wrap",
7559                    "cargo:rustc-cfg=soc_has_wcl",
7560                    "cargo:rustc-cfg=soc_has_xts_aes",
7561                    "cargo:rustc-cfg=soc_has_adc1",
7562                    "cargo:rustc-cfg=soc_has_adc2",
7563                    "cargo:rustc-cfg=soc_has_bt",
7564                    "cargo:rustc-cfg=soc_has_cpu_ctrl",
7565                    "cargo:rustc-cfg=soc_has_flash",
7566                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
7567                    "cargo:rustc-cfg=soc_has_psram",
7568                    "cargo:rustc-cfg=soc_has_ulp_riscv_core",
7569                    "cargo:rustc-cfg=soc_has_wifi",
7570                    "cargo:rustc-cfg=soc_has_ipc",
7571                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
7572                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
7573                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
7574                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
7575                    "cargo:rustc-cfg=gpio_driver_supported",
7576                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
7577                    "cargo:rustc-cfg=io_mux_driver_supported",
7578                    "cargo:rustc-cfg=lp_io_driver_supported",
7579                    "cargo:rustc-cfg=uart_driver_supported",
7580                    "cargo:rustc-cfg=uhci_driver_supported",
7581                    "cargo:rustc-cfg=i2c_master_driver_supported",
7582                    "cargo:rustc-cfg=lp_i2c_master_driver_supported",
7583                    "cargo:rustc-cfg=spi_master_driver_supported",
7584                    "cargo:rustc-cfg=spi_slave_driver_supported",
7585                    "cargo:rustc-cfg=i2s_driver_supported",
7586                    "cargo:rustc-cfg=rmt_driver_supported",
7587                    "cargo:rustc-cfg=sdmmc_driver_supported",
7588                    "cargo:rustc-cfg=twai_driver_supported",
7589                    "cargo:rustc-cfg=usb_otg_driver_supported",
7590                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
7591                    "cargo:rustc-cfg=bt_driver_supported",
7592                    "cargo:rustc-cfg=wifi_driver_supported",
7593                    "cargo:rustc-cfg=phy_driver_supported",
7594                    "cargo:rustc-cfg=camera_driver_supported",
7595                    "cargo:rustc-cfg=rgb_display_driver_supported",
7596                    "cargo:rustc-cfg=adc_driver_supported",
7597                    "cargo:rustc-cfg=temp_sensor_driver_supported",
7598                    "cargo:rustc-cfg=ledc_driver_supported",
7599                    "cargo:rustc-cfg=mcpwm_driver_supported",
7600                    "cargo:rustc-cfg=pcnt_driver_supported",
7601                    "cargo:rustc-cfg=lp_timer_driver_supported",
7602                    "cargo:rustc-cfg=sdm_driver_supported",
7603                    "cargo:rustc-cfg=systimer_driver_supported",
7604                    "cargo:rustc-cfg=timergroup_driver_supported",
7605                    "cargo:rustc-cfg=aes_driver_supported",
7606                    "cargo:rustc-cfg=hmac_driver_supported",
7607                    "cargo:rustc-cfg=rng_driver_supported",
7608                    "cargo:rustc-cfg=rsa_driver_supported",
7609                    "cargo:rustc-cfg=sha_driver_supported",
7610                    "cargo:rustc-cfg=sleep_driver_supported",
7611                    "cargo:rustc-cfg=ulp_riscv_driver_supported",
7612                    "cargo:rustc-cfg=assist_debug_driver_supported",
7613                    "cargo:rustc-cfg=dma_driver_supported",
7614                    "cargo:rustc-cfg=interrupts_driver_supported",
7615                    "cargo:rustc-cfg=mmu_driver_supported",
7616                    "cargo:rustc-cfg=flash_driver_supported",
7617                    "cargo:rustc-cfg=psram_driver_supported",
7618                    "cargo:rustc-cfg=rom_driver_supported",
7619                    "cargo:rustc-cfg=soc_driver_supported",
7620                    "cargo:rustc-cfg=uart_uart0",
7621                    "cargo:rustc-cfg=uart_uart1",
7622                    "cargo:rustc-cfg=uart_uart2",
7623                    "cargo:rustc-cfg=i2c_master_i2c0",
7624                    "cargo:rustc-cfg=i2c_master_i2c1",
7625                    "cargo:rustc-cfg=spi_master_spi2",
7626                    "cargo:rustc-cfg=spi_master_spi3",
7627                    "cargo:rustc-cfg=spi_slave_spi2",
7628                    "cargo:rustc-cfg=spi_slave_spi3",
7629                    "cargo:rustc-cfg=i2s_i2s0",
7630                    "cargo:rustc-cfg=i2s_i2s1",
7631                    "cargo:rustc-cfg=adc_adc1",
7632                    "cargo:rustc-cfg=adc_adc2",
7633                    "cargo:rustc-cfg=pcnt_PCNT",
7634                    "cargo:rustc-cfg=timergroup_timg0",
7635                    "cargo:rustc-cfg=timergroup_timg1",
7636                    "cargo:rustc-cfg=gpio_version=\"2\"",
7637                    "cargo:rustc-cfg=gpio_has_input_sync",
7638                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
7639                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
7640                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
7641                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
7642                    "cargo:rustc-cfg=soc_has_xtal32k_pads",
7643                    "cargo:rustc-cfg=gpio_has_bank_1",
7644                    "cargo:rustc-cfg=gpio_input_signal_max=\"255\"",
7645                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
7646                    "cargo:rustc-cfg=dedicated_gpio_version=\"esp32s3\"",
7647                    "cargo:rustc-cfg=dedicated_gpio_needs_initialization",
7648                    "cargo:rustc-cfg=lp_io_version=\"v2\"",
7649                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
7650                    "cargo:rustc-cfg=uart_version=\"1\"",
7651                    "cargo:rustc-cfg=uart_has_sclk_divider",
7652                    "cargo:rustc-cfg=uart_has_sclk_enable",
7653                    "cargo:rustc-cfg=i2c_master_version=\"3\"",
7654                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
7655                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
7656                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
7657                    "cargo:rustc-cfg=i2c_master_has_conf_update",
7658                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
7659                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
7660                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
7661                    "cargo:rustc-cfg=i2c_master_has_pd_en",
7662                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
7663                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
7664                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
7665                    "cargo:rustc-cfg=lp_i2c_master_version=\"rtc_i2c\"",
7666                    "cargo:rustc-cfg=spi_master_version=\"3\"",
7667                    "cargo:rustc-cfg=spi_master_fifo_size=\"64\"",
7668                    "cargo:rustc-cfg=spi_master_has_octal",
7669                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
7670                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
7671                    "cargo:rustc-cfg=i2s_version=\"2\"",
7672                    "cargo:rustc-cfg=i2s_version_is_set",
7673                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width=\"9\"",
7674                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width_is_set",
7675                    "cargo:rustc-cfg=i2s_max_ws_width=\"128\"",
7676                    "cargo:rustc-cfg=i2s_max_ws_width_is_set",
7677                    "cargo:rustc-cfg=i2s_supports_pdm_tx",
7678                    "cargo:rustc-cfg=i2s_supports_pdm_rx",
7679                    "cargo:rustc-cfg=i2s_supports_pcm2pdm",
7680                    "cargo:rustc-cfg=i2s_supports_pdm2pcm",
7681                    "cargo:rustc-cfg=rmt_ram_start=\"1610704896\"",
7682                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
7683                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
7684                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
7685                    "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
7686                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
7687                    "cargo:rustc-cfg=rmt_has_tx_sync",
7688                    "cargo:rustc-cfg=rmt_has_rx_wrap",
7689                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
7690                    "cargo:rustc-cfg=sdmmc_delay_phase_num=\"4\"",
7691                    "cargo:rustc-cfg=sdmmc_delay_phase_num_is_set",
7692                    "cargo:rustc-cfg=sdmmc_has_gpio_matrix",
7693                    "cargo:rustc-cfg=usb_otg_fifo_depth_words=\"256\"",
7694                    "cargo:rustc-cfg=bt_controller=\"btdm\"",
7695                    "cargo:rustc-cfg=wifi_mac_version=\"1\"",
7696                    "cargo:rustc-cfg=wifi_csi_supported",
7697                    "cargo:rustc-cfg=phy_combo_module",
7698                    "cargo:rustc-cfg=phy_backed_up_digital_register_count=\"21\"",
7699                    "cargo:rustc-cfg=phy_backed_up_digital_register_count_is_set",
7700                    "cargo:rustc-cfg=rgb_display_output_lines=\"16\"",
7701                    "cargo:rustc-cfg=ledc_version=\"2\"",
7702                    "cargo:rustc-cfg=ledc_channel_count=\"8\"",
7703                    "cargo:rustc-cfg=soc_has_sdm_ch0",
7704                    "cargo:rustc-cfg=soc_has_sdm_ch1",
7705                    "cargo:rustc-cfg=soc_has_sdm_ch2",
7706                    "cargo:rustc-cfg=soc_has_sdm_ch3",
7707                    "cargo:rustc-cfg=soc_has_sdm_ch4",
7708                    "cargo:rustc-cfg=soc_has_sdm_ch5",
7709                    "cargo:rustc-cfg=soc_has_sdm_ch6",
7710                    "cargo:rustc-cfg=soc_has_sdm_ch7",
7711                    "cargo:rustc-cfg=timergroup_timg_has_timer1",
7712                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
7713                    "cargo:rustc-cfg=aes_dma_mode_ecb",
7714                    "cargo:rustc-cfg=aes_dma_mode_cbc",
7715                    "cargo:rustc-cfg=aes_dma_mode_ofb",
7716                    "cargo:rustc-cfg=aes_dma_mode_ctr",
7717                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
7718                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
7719                    "cargo:rustc-cfg=aes_has_split_text_registers",
7720                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
7721                    "cargo:rustc-cfg=rng_trng_supported",
7722                    "cargo:rustc-cfg=rsa_version=\"2\"",
7723                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
7724                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
7725                    "cargo:rustc-cfg=sleep_light_sleep",
7726                    "cargo:rustc-cfg=sleep_deep_sleep",
7727                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext0",
7728                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext1",
7729                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
7730                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
7731                    "cargo:rustc-cfg=sleep_has_wakeup_source_sdio",
7732                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi",
7733                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
7734                    "cargo:rustc-cfg=sleep_has_wakeup_source_touch",
7735                    "cargo:rustc-cfg=sleep_has_wakeup_source_bt",
7736                    "cargo:rustc-cfg=sleep_has_wakeup_source_ulp_riscv",
7737                    "cargo:rustc-cfg=sleep_has_wakeup_source_ulp_riscv_trap",
7738                    "cargo:rustc-cfg=sleep_ext1_version=\"1\"",
7739                    "cargo:rustc-cfg=sleep_ext1_version_is_set",
7740                    "cargo:rustc-cfg=sleep_pin_wakeup_version=\"1\"",
7741                    "cargo:rustc-cfg=sleep_pin_wakeup_version_is_set",
7742                    "cargo:rustc-cfg=sleep_deep_sleep_needs_gpio_isolation",
7743                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
7744                    "cargo:rustc-cfg=dma_mem2mem_requires_peripheral",
7745                    "cargo:rustc-cfg=dma_ext_mem_configurable_block_size",
7746                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
7747                    "cargo:rustc-cfg=dma_gdma_version=\"1\"",
7748                    "cargo:rustc-cfg=dma_gdma_version_is_set",
7749                    "cargo:rustc-cfg=soc_has_dma_ch0",
7750                    "cargo:rustc-cfg=soc_has_dma_ch1",
7751                    "cargo:rustc-cfg=soc_has_dma_ch2",
7752                    "cargo:rustc-cfg=soc_has_dma_ch3",
7753                    "cargo:rustc-cfg=soc_has_dma_ch4",
7754                    "cargo:rustc-cfg=dma_supports_mem2mem",
7755                    "cargo:rustc-cfg=aes_supports_dma",
7756                    "cargo:rustc-cfg=aes_dma_engine=\"AHB_GDMA\"",
7757                    "cargo:rustc-cfg=sha_supports_dma",
7758                    "cargo:rustc-cfg=sha_dma_engine=\"AHB_GDMA\"",
7759                    "cargo:rustc-cfg=spi_master_supports_dma",
7760                    "cargo:rustc-cfg=spi_master_dma_engine=\"AHB_GDMA\"",
7761                    "cargo:rustc-cfg=spi_slave_supports_dma",
7762                    "cargo:rustc-cfg=spi_slave_dma_engine=\"AHB_GDMA\"",
7763                    "cargo:rustc-cfg=rmt_supports_dma",
7764                    "cargo:rustc-cfg=rmt_dma_engine=\"AHB_GDMA\"",
7765                    "cargo:rustc-cfg=uhci_supports_dma",
7766                    "cargo:rustc-cfg=uhci_dma_engine=\"AHB_GDMA\"",
7767                    "cargo:rustc-cfg=i2s_supports_dma",
7768                    "cargo:rustc-cfg=i2s_dma_engine=\"AHB_GDMA\"",
7769                    "cargo:rustc-cfg=lcd_cam_supports_dma",
7770                    "cargo:rustc-cfg=lcd_cam_dma_engine=\"AHB_GDMA\"",
7771                    "cargo:rustc-cfg=dma_can_access_psram",
7772                    "cargo:rustc-cfg=dma_max_priority=\"9\"",
7773                    "cargo:rustc-cfg=dma_max_priority_is_set",
7774                    "cargo:rustc-cfg=interrupts_status_registers=\"4\"",
7775                    "cargo:rustc-cfg=interrupt_controller=\"xtensa\"",
7776                    "cargo:rustc-cfg=context_switch_source=\"software0\"",
7777                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
7778                    "cargo:rustc-cfg=mmu_entry_num=\"384\"",
7779                    "cargo:rustc-cfg=psram_octal_spi",
7780                    "cargo:rustc-cfg=psram_extmem_origin=\"1006632960\"",
7781                    "cargo:rustc-cfg=rom_has_crc_le",
7782                    "cargo:rustc-cfg=rom_has_crc_be",
7783                    "cargo:rustc-cfg=rom_has_md5_bsd",
7784                    "cargo:rustc-cfg=soc_multi_core_enabled",
7785                    "cargo:rustc-cfg=soc_has_swd_watchdog",
7786                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"0\"",
7787                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
7788                    "cargo:rustc-cfg=soc_clock_node_xtal_clk_is_configurable",
7789                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
7790                    "cargo:rustc-cfg=soc_clock_node_pll_clk_is_configurable",
7791                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
7792                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
7793                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
7794                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_div_clk",
7795                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div_in",
7796                    "cargo:rustc-cfg=soc_clock_node_system_pre_div_in_is_configurable",
7797                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div",
7798                    "cargo:rustc-cfg=soc_clock_node_system_pre_div_is_configurable",
7799                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div_out",
7800                    "cargo:rustc-cfg=soc_clock_node_cpu_pll_div_out_is_configurable",
7801                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
7802                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
7803                    "cargo:rustc-cfg=soc_has_clock_node_pll_d2",
7804                    "cargo:rustc-cfg=soc_has_clock_node_pll_160m",
7805                    "cargo:rustc-cfg=soc_has_clock_node_apb_80m",
7806                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
7807                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
7808                    "cargo:rustc-cfg=soc_has_clock_node_crypto_pwm_clk",
7809                    "cargo:rustc-cfg=soc_clock_node_crypto_pwm_clk_is_configurable",
7810                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk_div_n",
7811                    "cargo:rustc-cfg=soc_clock_node_rc_fast_clk_div_n_is_configurable",
7812                    "cargo:rustc-cfg=soc_has_clock_node_xtal_div_clk",
7813                    "cargo:rustc-cfg=soc_has_clock_node_rtc_slow_clk",
7814                    "cargo:rustc-cfg=soc_clock_node_rtc_slow_clk_is_configurable",
7815                    "cargo:rustc-cfg=soc_has_clock_node_rtc_fast_clk",
7816                    "cargo:rustc-cfg=soc_clock_node_rtc_fast_clk_is_configurable",
7817                    "cargo:rustc-cfg=soc_has_clock_node_low_power_clk",
7818                    "cargo:rustc-cfg=soc_clock_node_low_power_clk_is_configurable",
7819                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clk",
7820                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
7821                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
7822                    "cargo:rustc-cfg=soc_has_clock_node_mcpwm_function_clock",
7823                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
7824                    "cargo:rustc-cfg=soc_clock_node_timg_function_clock_is_configurable",
7825                    "cargo:rustc-cfg=soc_has_clock_node_sdm_function_clock",
7826                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
7827                    "cargo:rustc-cfg=soc_clock_node_rmt_sclk_is_configurable",
7828                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
7829                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
7830                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
7831                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
7832                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
7833                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
7834                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
7835                    "cargo:rustc-cfg=soc_has_clock_node_lcd_cam_lcd_clock",
7836                    "cargo:rustc-cfg=soc_clock_node_lcd_cam_lcd_clock_is_configurable",
7837                    "cargo:rustc-cfg=soc_has_clock_node_lcd_cam_cam_clock",
7838                    "cargo:rustc-cfg=soc_clock_node_lcd_cam_cam_clock_is_configurable",
7839                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
7840                    "cargo:rustc-cfg=soc_clock_node_spi_function_clock_is_configurable",
7841                    "cargo:rustc-cfg=soc_has_clock_node_i2s_tx_clk",
7842                    "cargo:rustc-cfg=soc_clock_node_i2s_tx_clk_is_configurable",
7843                    "cargo:rustc-cfg=soc_has_clock_node_i2s_rx_clk",
7844                    "cargo:rustc-cfg=soc_clock_node_i2s_rx_clk_is_configurable",
7845                    "cargo:rustc-cfg=soc_has_clock_node_i2s_mclk_out",
7846                    "cargo:rustc-cfg=soc_clock_node_i2s_mclk_out_is_configurable",
7847                    "cargo:rustc-cfg=has_dram_region",
7848                    "cargo:rustc-cfg=has_dram2_uninit_region",
7849                    "cargo:rustc-cfg=has_irom_region",
7850                    "cargo:rustc-cfg=has_drom_region",
7851                ],
7852                memory_layout: &MemoryLayout {
7853                    regions: &[
7854                        (
7855                            "dram",
7856                            MemoryRegion {
7857                                address_range: 0x3FC88000..0x3FD00000,
7858                            },
7859                        ),
7860                        (
7861                            "dram2_uninit",
7862                            MemoryRegion {
7863                                address_range: 0x3FCDB700..0x3FCED710,
7864                            },
7865                        ),
7866                        (
7867                            "irom",
7868                            MemoryRegion {
7869                                address_range: 0x42000000..0x44000000,
7870                            },
7871                        ),
7872                        (
7873                            "drom",
7874                            MemoryRegion {
7875                                address_range: 0x3C000000..0x3E000000,
7876                            },
7877                        ),
7878                    ],
7879                },
7880                pins: &[
7881                    PinInfo {
7882                        pin: 0,
7883                        limitations: &["strapping"],
7884                    },
7885                    PinInfo {
7886                        pin: 1,
7887                        limitations: &[],
7888                    },
7889                    PinInfo {
7890                        pin: 2,
7891                        limitations: &[],
7892                    },
7893                    PinInfo {
7894                        pin: 3,
7895                        limitations: &["strapping"],
7896                    },
7897                    PinInfo {
7898                        pin: 4,
7899                        limitations: &[],
7900                    },
7901                    PinInfo {
7902                        pin: 5,
7903                        limitations: &[],
7904                    },
7905                    PinInfo {
7906                        pin: 6,
7907                        limitations: &[],
7908                    },
7909                    PinInfo {
7910                        pin: 7,
7911                        limitations: &[],
7912                    },
7913                    PinInfo {
7914                        pin: 8,
7915                        limitations: &[],
7916                    },
7917                    PinInfo {
7918                        pin: 9,
7919                        limitations: &[],
7920                    },
7921                    PinInfo {
7922                        pin: 10,
7923                        limitations: &[],
7924                    },
7925                    PinInfo {
7926                        pin: 11,
7927                        limitations: &[],
7928                    },
7929                    PinInfo {
7930                        pin: 12,
7931                        limitations: &[],
7932                    },
7933                    PinInfo {
7934                        pin: 13,
7935                        limitations: &[],
7936                    },
7937                    PinInfo {
7938                        pin: 14,
7939                        limitations: &[],
7940                    },
7941                    PinInfo {
7942                        pin: 15,
7943                        limitations: &[],
7944                    },
7945                    PinInfo {
7946                        pin: 16,
7947                        limitations: &[],
7948                    },
7949                    PinInfo {
7950                        pin: 17,
7951                        limitations: &[],
7952                    },
7953                    PinInfo {
7954                        pin: 18,
7955                        limitations: &[],
7956                    },
7957                    PinInfo {
7958                        pin: 19,
7959                        limitations: &["usb_jtag"],
7960                    },
7961                    PinInfo {
7962                        pin: 20,
7963                        limitations: &["usb_jtag"],
7964                    },
7965                    PinInfo {
7966                        pin: 21,
7967                        limitations: &[],
7968                    },
7969                    PinInfo {
7970                        pin: 26,
7971                        limitations: &["spi_psram"],
7972                    },
7973                    PinInfo {
7974                        pin: 27,
7975                        limitations: &["spi_flash", "spi_psram"],
7976                    },
7977                    PinInfo {
7978                        pin: 28,
7979                        limitations: &["spi_flash", "spi_psram"],
7980                    },
7981                    PinInfo {
7982                        pin: 29,
7983                        limitations: &["spi_flash"],
7984                    },
7985                    PinInfo {
7986                        pin: 30,
7987                        limitations: &["spi_flash", "spi_psram"],
7988                    },
7989                    PinInfo {
7990                        pin: 31,
7991                        limitations: &["spi_flash", "spi_psram"],
7992                    },
7993                    PinInfo {
7994                        pin: 32,
7995                        limitations: &["spi_flash"],
7996                    },
7997                    PinInfo {
7998                        pin: 33,
7999                        limitations: &["octal_flash", "octal_psram"],
8000                    },
8001                    PinInfo {
8002                        pin: 34,
8003                        limitations: &["octal_flash", "octal_psram"],
8004                    },
8005                    PinInfo {
8006                        pin: 35,
8007                        limitations: &["octal_flash", "octal_psram"],
8008                    },
8009                    PinInfo {
8010                        pin: 36,
8011                        limitations: &["octal_flash", "octal_psram"],
8012                    },
8013                    PinInfo {
8014                        pin: 37,
8015                        limitations: &["octal_flash", "octal_psram"],
8016                    },
8017                    PinInfo {
8018                        pin: 38,
8019                        limitations: &[],
8020                    },
8021                    PinInfo {
8022                        pin: 39,
8023                        limitations: &["jtag"],
8024                    },
8025                    PinInfo {
8026                        pin: 40,
8027                        limitations: &["jtag"],
8028                    },
8029                    PinInfo {
8030                        pin: 41,
8031                        limitations: &["jtag"],
8032                    },
8033                    PinInfo {
8034                        pin: 42,
8035                        limitations: &["jtag"],
8036                    },
8037                    PinInfo {
8038                        pin: 43,
8039                        limitations: &["bootloader_uart"],
8040                    },
8041                    PinInfo {
8042                        pin: 44,
8043                        limitations: &["bootloader_uart"],
8044                    },
8045                    PinInfo {
8046                        pin: 45,
8047                        limitations: &["strapping"],
8048                    },
8049                    PinInfo {
8050                        pin: 46,
8051                        limitations: &["strapping"],
8052                    },
8053                    PinInfo {
8054                        pin: 47,
8055                        limitations: &[],
8056                    },
8057                    PinInfo {
8058                        pin: 48,
8059                        limitations: &[],
8060                    },
8061                ],
8062            },
8063            Self::Esp32s31 => Config {
8064                architecture: "riscv",
8065                target: "riscv32imafc-unknown-none-elf",
8066                symbols: &[
8067                    "esp32s31",
8068                    "riscv",
8069                    "multi_core",
8070                    "soc_has_aes",
8071                    "soc_has_apb_saradc",
8072                    "soc_has_assist_debug",
8073                    "soc_has_cache",
8074                    "soc_has_clic",
8075                    "soc_has_clint",
8076                    "soc_has_clint_other_core",
8077                    "soc_has_cnnt_sys",
8078                    "soc_has_cnnt_io_mux",
8079                    "soc_has_eth",
8080                    "soc_has_emac_dma",
8081                    "soc_has_emac_mac",
8082                    "soc_has_ecc",
8083                    "soc_has_efuse",
8084                    "soc_has_gpio",
8085                    "soc_has_gpio_sd",
8086                    "soc_has_hp_apm",
8087                    "soc_has_hp_mem_apm",
8088                    "soc_has_hp_sys",
8089                    "soc_has_hp_alive_sys",
8090                    "soc_has_hp_sys_clkrst",
8091                    "soc_has_i2c0",
8092                    "soc_has_i2c1",
8093                    "soc_has_i2s0",
8094                    "soc_has_i2s1",
8095                    "soc_has_ieee802154",
8096                    "soc_has_interrupt_core0",
8097                    "soc_has_interrupt_core1",
8098                    "soc_has_io_mux",
8099                    "soc_has_lcd_cam",
8100                    "soc_has_iomux_mspi_pin",
8101                    "soc_has_lp_aon_clk_rst",
8102                    "soc_has_lp_apm",
8103                    "soc_has_lp_gpio",
8104                    "soc_has_lp_io_mux",
8105                    "soc_has_lp_peri",
8106                    "soc_has_lp_sys",
8107                    "soc_has_lp_tee",
8108                    "soc_has_lp_wdt",
8109                    "soc_has_lpwr",
8110                    "soc_has_mem_monitor",
8111                    "soc_has_modem_lpcon",
8112                    "soc_has_modem_syscon",
8113                    "soc_has_pau",
8114                    "soc_has_pcnt",
8115                    "soc_has_pcnt1",
8116                    "soc_has_pmu",
8117                    "soc_has_rtc_timer",
8118                    "soc_has_rng",
8119                    "soc_has_rmt",
8120                    "soc_has_rsa",
8121                    "soc_has_spi0",
8122                    "soc_has_spi1",
8123                    "soc_has_memspi2",
8124                    "soc_has_memspi3",
8125                    "soc_has_spi2",
8126                    "soc_has_spi3",
8127                    "soc_has_axi_gdma",
8128                    "soc_has_dma",
8129                    "soc_has_sha",
8130                    "soc_has_system",
8131                    "soc_has_systimer",
8132                    "soc_has_sdhost",
8133                    "soc_has_tee",
8134                    "soc_has_timg0",
8135                    "soc_has_timg1",
8136                    "soc_has_uart0",
8137                    "soc_has_uart1",
8138                    "soc_has_uart2",
8139                    "soc_has_uart3",
8140                    "soc_has_uhci0",
8141                    "soc_has_usb_device",
8142                    "soc_has_usb_hs",
8143                    "soc_has_adc1",
8144                    "soc_has_adc2",
8145                    "soc_has_flash",
8146                    "soc_has_psram",
8147                    "soc_has_gpio_dedicated",
8148                    "soc_has_wifi",
8149                    "soc_has_cpu_ctrl",
8150                    "soc_has_ipc",
8151                    "soc_has_from_cpu_intr0",
8152                    "soc_has_from_cpu_intr1",
8153                    "soc_has_from_cpu_intr2",
8154                    "soc_has_from_cpu_intr3",
8155                    "gpio_driver_supported",
8156                    "dedicated_gpio_driver_supported",
8157                    "io_mux_driver_supported",
8158                    "lp_io_driver_supported",
8159                    "uart_driver_supported",
8160                    "uhci_driver_supported",
8161                    "i2c_master_driver_supported",
8162                    "spi_master_driver_supported",
8163                    "spi_slave_driver_supported",
8164                    "i2s_driver_supported",
8165                    "rmt_driver_supported",
8166                    "sdmmc_driver_supported",
8167                    "usb_otg_hs_driver_supported",
8168                    "usb_serial_jtag_driver_supported",
8169                    "wifi_driver_supported",
8170                    "ieee802154_driver_supported",
8171                    "ethernet_driver_supported",
8172                    "phy_driver_supported",
8173                    "camera_driver_supported",
8174                    "rgb_display_driver_supported",
8175                    "adc_driver_supported",
8176                    "pcnt_driver_supported",
8177                    "lp_timer_driver_supported",
8178                    "sdm_driver_supported",
8179                    "systimer_driver_supported",
8180                    "timergroup_driver_supported",
8181                    "aes_driver_supported",
8182                    "ecc_driver_supported",
8183                    "rng_driver_supported",
8184                    "rsa_driver_supported",
8185                    "sha_driver_supported",
8186                    "sleep_driver_supported",
8187                    "dma_driver_supported",
8188                    "interrupts_driver_supported",
8189                    "mmu_driver_supported",
8190                    "flash_driver_supported",
8191                    "psram_driver_supported",
8192                    "rom_driver_supported",
8193                    "soc_driver_supported",
8194                    "uart_uart0",
8195                    "uart_uart1",
8196                    "uart_uart2",
8197                    "uart_uart3",
8198                    "i2c_master_i2c0",
8199                    "i2c_master_i2c1",
8200                    "spi_master_spi2",
8201                    "spi_master_spi3",
8202                    "spi_slave_spi2",
8203                    "spi_slave_spi3",
8204                    "i2s_i2s0",
8205                    "i2s_i2s1",
8206                    "adc_adc1",
8207                    "adc_adc2",
8208                    "pcnt_PCNT",
8209                    "pcnt_PCNT1",
8210                    "timergroup_timg0",
8211                    "timergroup_timg1",
8212                    "gpio_version=\"3\"",
8213                    "gpio_has_input_sync",
8214                    "gpio_gpio_function=\"1\"",
8215                    "gpio_constant_0_input=\"192\"",
8216                    "gpio_constant_1_input=\"128\"",
8217                    "gpio_func_in_sel_offset=\"0\"",
8218                    "soc_has_xtal32k_pads",
8219                    "gpio_has_bank_1",
8220                    "gpio_input_signal_max=\"255\"",
8221                    "gpio_output_signal_max=\"256\"",
8222                    "dedicated_gpio_version=\"riscv_v2\"",
8223                    "lp_io_version=\"esp32s31\"",
8224                    "lp_io_has_gpio_matrix",
8225                    "uart_ram_size=\"128\"",
8226                    "uart_version=\"2\"",
8227                    "uart_peripheral_controls_mem_clk",
8228                    "uart_has_sclk_enable",
8229                    "uhci_combined_uart_selector_field",
8230                    "i2c_master_version=\"4\"",
8231                    "i2c_master_has_fsm_timeouts",
8232                    "i2c_master_has_hw_bus_clear",
8233                    "i2c_master_has_bus_timeout_enable",
8234                    "i2c_master_can_estimate_nack_reason",
8235                    "i2c_master_has_conf_update",
8236                    "i2c_master_has_reliable_fsm_reset",
8237                    "i2c_master_has_arbitration_en",
8238                    "i2c_master_has_tx_fifo_watermark",
8239                    "i2c_master_bus_timeout_is_exponential",
8240                    "i2c_master_has_pd_en",
8241                    "i2c_master_max_bus_timeout=\"31\"",
8242                    "i2c_master_ll_intr_mask=\"262143\"",
8243                    "i2c_master_fifo_size=\"32\"",
8244                    "spi_master_version=\"3\"",
8245                    "spi_master_fifo_size=\"64\"",
8246                    "spi_master_has_octal",
8247                    "spi_master_has_app_interrupts",
8248                    "spi_master_has_dma_segmented_transfer",
8249                    "i2s_version=\"3\"",
8250                    "i2s_version_is_set",
8251                    "i2s_mclk_divider_bit_width=\"8\"",
8252                    "i2s_mclk_divider_bit_width_is_set",
8253                    "i2s_max_ws_width=\"512\"",
8254                    "i2s_max_ws_width_is_set",
8255                    "i2s_clock_configured_by_hp_sys_clkrst",
8256                    "i2s_supports_pdm_rx_hp_filter",
8257                    "i2s_supports_pdm_tx",
8258                    "i2s_supports_pdm_rx",
8259                    "i2s_supports_pcm2pdm",
8260                    "i2s_supports_pdm2pcm",
8261                    "rmt_ram_start=\"540366848\"",
8262                    "rmt_channel_ram_size=\"48\"",
8263                    "rmt_has_tx_immediate_stop",
8264                    "rmt_has_tx_loop_count",
8265                    "rmt_has_tx_loop_auto_stop",
8266                    "rmt_has_tx_carrier_data_only",
8267                    "rmt_has_tx_sync",
8268                    "rmt_has_rx_wrap",
8269                    "rmt_has_rx_demodulation",
8270                    "sdmmc_delay_phase_num=\"8\"",
8271                    "sdmmc_delay_phase_num_is_set",
8272                    "sdmmc_has_iomux",
8273                    "sdmmc_psram_dma",
8274                    "usb_otg_hs_fifo_depth_words=\"896\"",
8275                    "wifi_has_wifi6",
8276                    "wifi_mac_version=\"3\"",
8277                    "wifi_csi_supported",
8278                    "ethernet_mii_via_gpio_matrix",
8279                    "ethernet_rx_checksum_offload",
8280                    "ethernet_dma_burst_len=\"16\"",
8281                    "ethernet_has_rgmii",
8282                    "rgb_display_output_lines=\"24\"",
8283                    "soc_has_sdm_ch0",
8284                    "soc_has_sdm_ch1",
8285                    "soc_has_sdm_ch2",
8286                    "soc_has_sdm_ch3",
8287                    "soc_has_sdm_ch4",
8288                    "soc_has_sdm_ch5",
8289                    "soc_has_sdm_ch6",
8290                    "soc_has_sdm_ch7",
8291                    "timergroup_timg_has_divcnt_rst",
8292                    "timergroup_rc_fast_calibration_divider",
8293                    "timergroup_rc_fast_calibration_is_set",
8294                    "aes_dma_mode_ecb",
8295                    "aes_dma_mode_cbc",
8296                    "aes_dma_mode_ofb",
8297                    "aes_dma_mode_ctr",
8298                    "aes_dma_mode_cfb8",
8299                    "aes_dma_mode_cfb128",
8300                    "aes_dma_mode_gcm",
8301                    "aes_has_split_text_registers",
8302                    "ecc_separate_jacobian_point_memory",
8303                    "ecc_has_memory_clock_gate",
8304                    "ecc_supports_enhanced_security",
8305                    "ecc_has_modular_arithmetic",
8306                    "ecc_has_point_addition",
8307                    "ecc_has_curve_p192",
8308                    "ecc_has_curve_p256",
8309                    "ecc_has_curve_p384",
8310                    "rng_apb_cycle_wait_num=\"16\"",
8311                    "rsa_version=\"3\"",
8312                    "rsa_size_increment=\"32\"",
8313                    "rsa_memory_size_bytes=\"512\"",
8314                    "sleep_light_sleep",
8315                    "sleep_deep_sleep",
8316                    "sleep_has_wakeup_source_lp_core",
8317                    "sleep_has_wakeup_source_gpio",
8318                    "sleep_has_wakeup_source_usb",
8319                    "sleep_has_wakeup_source_uart",
8320                    "sleep_has_wakeup_source_ext1",
8321                    "sleep_has_wakeup_source_timer",
8322                    "sleep_has_wakeup_source_wifi",
8323                    "sleep_has_wakeup_source_wifi_beacon",
8324                    "sleep_has_wakeup_source_bt",
8325                    "sleep_ext1_version=\"3\"",
8326                    "sleep_ext1_version_is_set",
8327                    "sleep_pin_wakeup_version=\"3\"",
8328                    "sleep_pin_wakeup_version_is_set",
8329                    "dma_separate_in_out_interrupts",
8330                    "dma_gdma_version=\"3\"",
8331                    "dma_gdma_version_is_set",
8332                    "soc_has_dma_ch0",
8333                    "soc_has_dma_ch1",
8334                    "soc_has_dma_ch2",
8335                    "soc_has_dma_ch3",
8336                    "soc_has_dma_ch4",
8337                    "soc_has_dma_axi_ch0",
8338                    "soc_has_dma_axi_ch1",
8339                    "soc_has_dma_axi_ch2",
8340                    "dma_supports_mem2mem",
8341                    "uhci_supports_dma",
8342                    "uhci_dma_engine=\"AHB_GDMA\"",
8343                    "i2s_supports_dma",
8344                    "i2s_dma_engine=\"AHB_GDMA\"",
8345                    "spi_master_supports_dma",
8346                    "spi_master_dma_engine=\"AXI_GDMA\"",
8347                    "spi_slave_supports_dma",
8348                    "spi_slave_dma_engine=\"AXI_GDMA\"",
8349                    "aes_supports_dma",
8350                    "aes_dma_engine=\"AXI_GDMA\"",
8351                    "lcd_cam_supports_dma",
8352                    "lcd_cam_dma_engine=\"AXI_GDMA\"",
8353                    "dma_can_access_psram",
8354                    "dma_max_priority=\"15\"",
8355                    "dma_max_priority_is_set",
8356                    "interrupts_status_registers=\"6\"",
8357                    "interrupt_controller=\"clic\"",
8358                    "context_switch_source=\"ipc\"",
8359                    "mmu_page_size=\"65536\"",
8360                    "mmu_entry_num=\"1024\"",
8361                    "psram_octal_spi",
8362                    "psram_extmem_origin=\"1342177280\"",
8363                    "rom_has_crc_le",
8364                    "rom_has_crc_be",
8365                    "rom_has_md5_bsd",
8366                    "soc_cpu_has_branch_predictor",
8367                    "soc_multi_core_enabled",
8368                    "soc_cpu_csr_prv_mode=\"2064\"",
8369                    "soc_cpu_csr_prv_mode_is_set",
8370                    "soc_has_swd_watchdog",
8371                    "soc_cpu_mcause_mask=\"63\"",
8372                    "soc_has_clock_node_xtal_clk",
8373                    "soc_has_clock_node_bbpll_clk",
8374                    "soc_has_clock_node_cpll_clk",
8375                    "soc_has_clock_node_mpll_clk",
8376                    "soc_has_clock_node_rc_fast_clk",
8377                    "soc_has_clock_node_xtal32k_clk",
8378                    "soc_has_clock_node_rc_slow_clk",
8379                    "soc_has_clock_node_pll_f20m",
8380                    "soc_has_clock_node_pll_f80m",
8381                    "soc_has_clock_node_pll_f120m",
8382                    "soc_has_clock_node_pll_f160m",
8383                    "soc_has_clock_node_pll_f240m",
8384                    "soc_has_clock_node_bbpll_d3_clock",
8385                    "soc_has_clock_node_pll_f25m",
8386                    "soc_has_clock_node_pll_f50m",
8387                    "soc_has_clock_node_xtal_d2_clk",
8388                    "soc_has_clock_node_cpu_root_clk",
8389                    "soc_clock_node_cpu_root_clk_is_configurable",
8390                    "soc_has_clock_node_cpu_clk",
8391                    "soc_clock_node_cpu_clk_is_configurable",
8392                    "soc_has_clock_node_mem_clk",
8393                    "soc_clock_node_mem_clk_is_configurable",
8394                    "soc_has_clock_node_sys_clk",
8395                    "soc_clock_node_sys_clk_is_configurable",
8396                    "soc_has_clock_node_apb_clk",
8397                    "soc_clock_node_apb_clk_is_configurable",
8398                    "soc_has_clock_node_lp_fast_clk",
8399                    "soc_clock_node_lp_fast_clk_is_configurable",
8400                    "soc_has_clock_node_lp_slow_clk",
8401                    "soc_clock_node_lp_slow_clk_is_configurable",
8402                    "soc_has_clock_node_crypto_clk",
8403                    "soc_clock_node_crypto_clk_is_configurable",
8404                    "soc_has_clock_node_iomux_function_clock",
8405                    "soc_clock_node_iomux_function_clock_is_configurable",
8406                    "soc_has_clock_node_timg_calibration_clock",
8407                    "soc_clock_node_timg_calibration_clock_is_configurable",
8408                    "soc_has_clock_node_psram_function_clock",
8409                    "soc_clock_node_psram_function_clock_is_configurable",
8410                    "soc_has_clock_node_uart_function_clock",
8411                    "soc_clock_node_uart_function_clock_is_configurable",
8412                    "soc_has_clock_node_uart_baud_rate_generator",
8413                    "soc_clock_node_uart_baud_rate_generator_is_configurable",
8414                    "soc_has_clock_node_uart_mem_clock",
8415                    "soc_has_clock_node_timg_function_clock",
8416                    "soc_clock_node_timg_function_clock_is_configurable",
8417                    "soc_has_clock_node_timg_wdt_clock",
8418                    "soc_clock_node_timg_wdt_clock_is_configurable",
8419                    "soc_has_clock_node_spi_function_clock",
8420                    "soc_clock_node_spi_function_clock_is_configurable",
8421                    "soc_has_clock_node_i2c_function_clock",
8422                    "soc_clock_node_i2c_function_clock_is_configurable",
8423                    "soc_has_clock_node_i2s_tx_clk",
8424                    "soc_clock_node_i2s_tx_clk_is_configurable",
8425                    "soc_has_clock_node_i2s_rx_clk",
8426                    "soc_clock_node_i2s_rx_clk_is_configurable",
8427                    "soc_has_clock_node_i2s_mclk_out",
8428                    "soc_clock_node_i2s_mclk_out_is_configurable",
8429                    "soc_has_clock_node_rmt_sclk",
8430                    "soc_clock_node_rmt_sclk_is_configurable",
8431                    "soc_has_clock_node_sdm_function_clock",
8432                    "soc_has_clock_node_lcd_cam_lcd_clock",
8433                    "soc_clock_node_lcd_cam_lcd_clock_is_configurable",
8434                    "soc_has_clock_node_lcd_cam_cam_clock",
8435                    "soc_clock_node_lcd_cam_cam_clock_is_configurable",
8436                    "has_dram_region",
8437                    "has_dram2_uninit_region",
8438                    "has_irom_region",
8439                    "has_drom_region",
8440                ],
8441                cfgs: &[
8442                    "cargo:rustc-cfg=esp32s31",
8443                    "cargo:rustc-cfg=riscv",
8444                    "cargo:rustc-cfg=multi_core",
8445                    "cargo:rustc-cfg=soc_has_aes",
8446                    "cargo:rustc-cfg=soc_has_apb_saradc",
8447                    "cargo:rustc-cfg=soc_has_assist_debug",
8448                    "cargo:rustc-cfg=soc_has_cache",
8449                    "cargo:rustc-cfg=soc_has_clic",
8450                    "cargo:rustc-cfg=soc_has_clint",
8451                    "cargo:rustc-cfg=soc_has_clint_other_core",
8452                    "cargo:rustc-cfg=soc_has_cnnt_sys",
8453                    "cargo:rustc-cfg=soc_has_cnnt_io_mux",
8454                    "cargo:rustc-cfg=soc_has_eth",
8455                    "cargo:rustc-cfg=soc_has_emac_dma",
8456                    "cargo:rustc-cfg=soc_has_emac_mac",
8457                    "cargo:rustc-cfg=soc_has_ecc",
8458                    "cargo:rustc-cfg=soc_has_efuse",
8459                    "cargo:rustc-cfg=soc_has_gpio",
8460                    "cargo:rustc-cfg=soc_has_gpio_sd",
8461                    "cargo:rustc-cfg=soc_has_hp_apm",
8462                    "cargo:rustc-cfg=soc_has_hp_mem_apm",
8463                    "cargo:rustc-cfg=soc_has_hp_sys",
8464                    "cargo:rustc-cfg=soc_has_hp_alive_sys",
8465                    "cargo:rustc-cfg=soc_has_hp_sys_clkrst",
8466                    "cargo:rustc-cfg=soc_has_i2c0",
8467                    "cargo:rustc-cfg=soc_has_i2c1",
8468                    "cargo:rustc-cfg=soc_has_i2s0",
8469                    "cargo:rustc-cfg=soc_has_i2s1",
8470                    "cargo:rustc-cfg=soc_has_ieee802154",
8471                    "cargo:rustc-cfg=soc_has_interrupt_core0",
8472                    "cargo:rustc-cfg=soc_has_interrupt_core1",
8473                    "cargo:rustc-cfg=soc_has_io_mux",
8474                    "cargo:rustc-cfg=soc_has_lcd_cam",
8475                    "cargo:rustc-cfg=soc_has_iomux_mspi_pin",
8476                    "cargo:rustc-cfg=soc_has_lp_aon_clk_rst",
8477                    "cargo:rustc-cfg=soc_has_lp_apm",
8478                    "cargo:rustc-cfg=soc_has_lp_gpio",
8479                    "cargo:rustc-cfg=soc_has_lp_io_mux",
8480                    "cargo:rustc-cfg=soc_has_lp_peri",
8481                    "cargo:rustc-cfg=soc_has_lp_sys",
8482                    "cargo:rustc-cfg=soc_has_lp_tee",
8483                    "cargo:rustc-cfg=soc_has_lp_wdt",
8484                    "cargo:rustc-cfg=soc_has_lpwr",
8485                    "cargo:rustc-cfg=soc_has_mem_monitor",
8486                    "cargo:rustc-cfg=soc_has_modem_lpcon",
8487                    "cargo:rustc-cfg=soc_has_modem_syscon",
8488                    "cargo:rustc-cfg=soc_has_pau",
8489                    "cargo:rustc-cfg=soc_has_pcnt",
8490                    "cargo:rustc-cfg=soc_has_pcnt1",
8491                    "cargo:rustc-cfg=soc_has_pmu",
8492                    "cargo:rustc-cfg=soc_has_rtc_timer",
8493                    "cargo:rustc-cfg=soc_has_rng",
8494                    "cargo:rustc-cfg=soc_has_rmt",
8495                    "cargo:rustc-cfg=soc_has_rsa",
8496                    "cargo:rustc-cfg=soc_has_spi0",
8497                    "cargo:rustc-cfg=soc_has_spi1",
8498                    "cargo:rustc-cfg=soc_has_memspi2",
8499                    "cargo:rustc-cfg=soc_has_memspi3",
8500                    "cargo:rustc-cfg=soc_has_spi2",
8501                    "cargo:rustc-cfg=soc_has_spi3",
8502                    "cargo:rustc-cfg=soc_has_axi_gdma",
8503                    "cargo:rustc-cfg=soc_has_dma",
8504                    "cargo:rustc-cfg=soc_has_sha",
8505                    "cargo:rustc-cfg=soc_has_system",
8506                    "cargo:rustc-cfg=soc_has_systimer",
8507                    "cargo:rustc-cfg=soc_has_sdhost",
8508                    "cargo:rustc-cfg=soc_has_tee",
8509                    "cargo:rustc-cfg=soc_has_timg0",
8510                    "cargo:rustc-cfg=soc_has_timg1",
8511                    "cargo:rustc-cfg=soc_has_uart0",
8512                    "cargo:rustc-cfg=soc_has_uart1",
8513                    "cargo:rustc-cfg=soc_has_uart2",
8514                    "cargo:rustc-cfg=soc_has_uart3",
8515                    "cargo:rustc-cfg=soc_has_uhci0",
8516                    "cargo:rustc-cfg=soc_has_usb_device",
8517                    "cargo:rustc-cfg=soc_has_usb_hs",
8518                    "cargo:rustc-cfg=soc_has_adc1",
8519                    "cargo:rustc-cfg=soc_has_adc2",
8520                    "cargo:rustc-cfg=soc_has_flash",
8521                    "cargo:rustc-cfg=soc_has_psram",
8522                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
8523                    "cargo:rustc-cfg=soc_has_wifi",
8524                    "cargo:rustc-cfg=soc_has_cpu_ctrl",
8525                    "cargo:rustc-cfg=soc_has_ipc",
8526                    "cargo:rustc-cfg=soc_has_from_cpu_intr0",
8527                    "cargo:rustc-cfg=soc_has_from_cpu_intr1",
8528                    "cargo:rustc-cfg=soc_has_from_cpu_intr2",
8529                    "cargo:rustc-cfg=soc_has_from_cpu_intr3",
8530                    "cargo:rustc-cfg=gpio_driver_supported",
8531                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
8532                    "cargo:rustc-cfg=io_mux_driver_supported",
8533                    "cargo:rustc-cfg=lp_io_driver_supported",
8534                    "cargo:rustc-cfg=uart_driver_supported",
8535                    "cargo:rustc-cfg=uhci_driver_supported",
8536                    "cargo:rustc-cfg=i2c_master_driver_supported",
8537                    "cargo:rustc-cfg=spi_master_driver_supported",
8538                    "cargo:rustc-cfg=spi_slave_driver_supported",
8539                    "cargo:rustc-cfg=i2s_driver_supported",
8540                    "cargo:rustc-cfg=rmt_driver_supported",
8541                    "cargo:rustc-cfg=sdmmc_driver_supported",
8542                    "cargo:rustc-cfg=usb_otg_hs_driver_supported",
8543                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
8544                    "cargo:rustc-cfg=wifi_driver_supported",
8545                    "cargo:rustc-cfg=ieee802154_driver_supported",
8546                    "cargo:rustc-cfg=ethernet_driver_supported",
8547                    "cargo:rustc-cfg=phy_driver_supported",
8548                    "cargo:rustc-cfg=camera_driver_supported",
8549                    "cargo:rustc-cfg=rgb_display_driver_supported",
8550                    "cargo:rustc-cfg=adc_driver_supported",
8551                    "cargo:rustc-cfg=pcnt_driver_supported",
8552                    "cargo:rustc-cfg=lp_timer_driver_supported",
8553                    "cargo:rustc-cfg=sdm_driver_supported",
8554                    "cargo:rustc-cfg=systimer_driver_supported",
8555                    "cargo:rustc-cfg=timergroup_driver_supported",
8556                    "cargo:rustc-cfg=aes_driver_supported",
8557                    "cargo:rustc-cfg=ecc_driver_supported",
8558                    "cargo:rustc-cfg=rng_driver_supported",
8559                    "cargo:rustc-cfg=rsa_driver_supported",
8560                    "cargo:rustc-cfg=sha_driver_supported",
8561                    "cargo:rustc-cfg=sleep_driver_supported",
8562                    "cargo:rustc-cfg=dma_driver_supported",
8563                    "cargo:rustc-cfg=interrupts_driver_supported",
8564                    "cargo:rustc-cfg=mmu_driver_supported",
8565                    "cargo:rustc-cfg=flash_driver_supported",
8566                    "cargo:rustc-cfg=psram_driver_supported",
8567                    "cargo:rustc-cfg=rom_driver_supported",
8568                    "cargo:rustc-cfg=soc_driver_supported",
8569                    "cargo:rustc-cfg=uart_uart0",
8570                    "cargo:rustc-cfg=uart_uart1",
8571                    "cargo:rustc-cfg=uart_uart2",
8572                    "cargo:rustc-cfg=uart_uart3",
8573                    "cargo:rustc-cfg=i2c_master_i2c0",
8574                    "cargo:rustc-cfg=i2c_master_i2c1",
8575                    "cargo:rustc-cfg=spi_master_spi2",
8576                    "cargo:rustc-cfg=spi_master_spi3",
8577                    "cargo:rustc-cfg=spi_slave_spi2",
8578                    "cargo:rustc-cfg=spi_slave_spi3",
8579                    "cargo:rustc-cfg=i2s_i2s0",
8580                    "cargo:rustc-cfg=i2s_i2s1",
8581                    "cargo:rustc-cfg=adc_adc1",
8582                    "cargo:rustc-cfg=adc_adc2",
8583                    "cargo:rustc-cfg=pcnt_PCNT",
8584                    "cargo:rustc-cfg=pcnt_PCNT1",
8585                    "cargo:rustc-cfg=timergroup_timg0",
8586                    "cargo:rustc-cfg=timergroup_timg1",
8587                    "cargo:rustc-cfg=gpio_version=\"3\"",
8588                    "cargo:rustc-cfg=gpio_has_input_sync",
8589                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
8590                    "cargo:rustc-cfg=gpio_constant_0_input=\"192\"",
8591                    "cargo:rustc-cfg=gpio_constant_1_input=\"128\"",
8592                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
8593                    "cargo:rustc-cfg=soc_has_xtal32k_pads",
8594                    "cargo:rustc-cfg=gpio_has_bank_1",
8595                    "cargo:rustc-cfg=gpio_input_signal_max=\"255\"",
8596                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
8597                    "cargo:rustc-cfg=dedicated_gpio_version=\"riscv_v2\"",
8598                    "cargo:rustc-cfg=lp_io_version=\"esp32s31\"",
8599                    "cargo:rustc-cfg=lp_io_has_gpio_matrix",
8600                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
8601                    "cargo:rustc-cfg=uart_version=\"2\"",
8602                    "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
8603                    "cargo:rustc-cfg=uart_has_sclk_enable",
8604                    "cargo:rustc-cfg=uhci_combined_uart_selector_field",
8605                    "cargo:rustc-cfg=i2c_master_version=\"4\"",
8606                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
8607                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
8608                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
8609                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
8610                    "cargo:rustc-cfg=i2c_master_has_conf_update",
8611                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
8612                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
8613                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
8614                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
8615                    "cargo:rustc-cfg=i2c_master_has_pd_en",
8616                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
8617                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
8618                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
8619                    "cargo:rustc-cfg=spi_master_version=\"3\"",
8620                    "cargo:rustc-cfg=spi_master_fifo_size=\"64\"",
8621                    "cargo:rustc-cfg=spi_master_has_octal",
8622                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
8623                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
8624                    "cargo:rustc-cfg=i2s_version=\"3\"",
8625                    "cargo:rustc-cfg=i2s_version_is_set",
8626                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width=\"8\"",
8627                    "cargo:rustc-cfg=i2s_mclk_divider_bit_width_is_set",
8628                    "cargo:rustc-cfg=i2s_max_ws_width=\"512\"",
8629                    "cargo:rustc-cfg=i2s_max_ws_width_is_set",
8630                    "cargo:rustc-cfg=i2s_clock_configured_by_hp_sys_clkrst",
8631                    "cargo:rustc-cfg=i2s_supports_pdm_rx_hp_filter",
8632                    "cargo:rustc-cfg=i2s_supports_pdm_tx",
8633                    "cargo:rustc-cfg=i2s_supports_pdm_rx",
8634                    "cargo:rustc-cfg=i2s_supports_pcm2pdm",
8635                    "cargo:rustc-cfg=i2s_supports_pdm2pcm",
8636                    "cargo:rustc-cfg=rmt_ram_start=\"540366848\"",
8637                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
8638                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
8639                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
8640                    "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
8641                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
8642                    "cargo:rustc-cfg=rmt_has_tx_sync",
8643                    "cargo:rustc-cfg=rmt_has_rx_wrap",
8644                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
8645                    "cargo:rustc-cfg=sdmmc_delay_phase_num=\"8\"",
8646                    "cargo:rustc-cfg=sdmmc_delay_phase_num_is_set",
8647                    "cargo:rustc-cfg=sdmmc_has_iomux",
8648                    "cargo:rustc-cfg=sdmmc_psram_dma",
8649                    "cargo:rustc-cfg=usb_otg_hs_fifo_depth_words=\"896\"",
8650                    "cargo:rustc-cfg=wifi_has_wifi6",
8651                    "cargo:rustc-cfg=wifi_mac_version=\"3\"",
8652                    "cargo:rustc-cfg=wifi_csi_supported",
8653                    "cargo:rustc-cfg=ethernet_mii_via_gpio_matrix",
8654                    "cargo:rustc-cfg=ethernet_rx_checksum_offload",
8655                    "cargo:rustc-cfg=ethernet_dma_burst_len=\"16\"",
8656                    "cargo:rustc-cfg=ethernet_has_rgmii",
8657                    "cargo:rustc-cfg=rgb_display_output_lines=\"24\"",
8658                    "cargo:rustc-cfg=soc_has_sdm_ch0",
8659                    "cargo:rustc-cfg=soc_has_sdm_ch1",
8660                    "cargo:rustc-cfg=soc_has_sdm_ch2",
8661                    "cargo:rustc-cfg=soc_has_sdm_ch3",
8662                    "cargo:rustc-cfg=soc_has_sdm_ch4",
8663                    "cargo:rustc-cfg=soc_has_sdm_ch5",
8664                    "cargo:rustc-cfg=soc_has_sdm_ch6",
8665                    "cargo:rustc-cfg=soc_has_sdm_ch7",
8666                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
8667                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_divider",
8668                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
8669                    "cargo:rustc-cfg=aes_dma_mode_ecb",
8670                    "cargo:rustc-cfg=aes_dma_mode_cbc",
8671                    "cargo:rustc-cfg=aes_dma_mode_ofb",
8672                    "cargo:rustc-cfg=aes_dma_mode_ctr",
8673                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
8674                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
8675                    "cargo:rustc-cfg=aes_dma_mode_gcm",
8676                    "cargo:rustc-cfg=aes_has_split_text_registers",
8677                    "cargo:rustc-cfg=ecc_separate_jacobian_point_memory",
8678                    "cargo:rustc-cfg=ecc_has_memory_clock_gate",
8679                    "cargo:rustc-cfg=ecc_supports_enhanced_security",
8680                    "cargo:rustc-cfg=ecc_has_modular_arithmetic",
8681                    "cargo:rustc-cfg=ecc_has_point_addition",
8682                    "cargo:rustc-cfg=ecc_has_curve_p192",
8683                    "cargo:rustc-cfg=ecc_has_curve_p256",
8684                    "cargo:rustc-cfg=ecc_has_curve_p384",
8685                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
8686                    "cargo:rustc-cfg=rsa_version=\"3\"",
8687                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
8688                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
8689                    "cargo:rustc-cfg=sleep_light_sleep",
8690                    "cargo:rustc-cfg=sleep_deep_sleep",
8691                    "cargo:rustc-cfg=sleep_has_wakeup_source_lp_core",
8692                    "cargo:rustc-cfg=sleep_has_wakeup_source_gpio",
8693                    "cargo:rustc-cfg=sleep_has_wakeup_source_usb",
8694                    "cargo:rustc-cfg=sleep_has_wakeup_source_uart",
8695                    "cargo:rustc-cfg=sleep_has_wakeup_source_ext1",
8696                    "cargo:rustc-cfg=sleep_has_wakeup_source_timer",
8697                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi",
8698                    "cargo:rustc-cfg=sleep_has_wakeup_source_wifi_beacon",
8699                    "cargo:rustc-cfg=sleep_has_wakeup_source_bt",
8700                    "cargo:rustc-cfg=sleep_ext1_version=\"3\"",
8701                    "cargo:rustc-cfg=sleep_ext1_version_is_set",
8702                    "cargo:rustc-cfg=sleep_pin_wakeup_version=\"3\"",
8703                    "cargo:rustc-cfg=sleep_pin_wakeup_version_is_set",
8704                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
8705                    "cargo:rustc-cfg=dma_gdma_version=\"3\"",
8706                    "cargo:rustc-cfg=dma_gdma_version_is_set",
8707                    "cargo:rustc-cfg=soc_has_dma_ch0",
8708                    "cargo:rustc-cfg=soc_has_dma_ch1",
8709                    "cargo:rustc-cfg=soc_has_dma_ch2",
8710                    "cargo:rustc-cfg=soc_has_dma_ch3",
8711                    "cargo:rustc-cfg=soc_has_dma_ch4",
8712                    "cargo:rustc-cfg=soc_has_dma_axi_ch0",
8713                    "cargo:rustc-cfg=soc_has_dma_axi_ch1",
8714                    "cargo:rustc-cfg=soc_has_dma_axi_ch2",
8715                    "cargo:rustc-cfg=dma_supports_mem2mem",
8716                    "cargo:rustc-cfg=uhci_supports_dma",
8717                    "cargo:rustc-cfg=uhci_dma_engine=\"AHB_GDMA\"",
8718                    "cargo:rustc-cfg=i2s_supports_dma",
8719                    "cargo:rustc-cfg=i2s_dma_engine=\"AHB_GDMA\"",
8720                    "cargo:rustc-cfg=spi_master_supports_dma",
8721                    "cargo:rustc-cfg=spi_master_dma_engine=\"AXI_GDMA\"",
8722                    "cargo:rustc-cfg=spi_slave_supports_dma",
8723                    "cargo:rustc-cfg=spi_slave_dma_engine=\"AXI_GDMA\"",
8724                    "cargo:rustc-cfg=aes_supports_dma",
8725                    "cargo:rustc-cfg=aes_dma_engine=\"AXI_GDMA\"",
8726                    "cargo:rustc-cfg=lcd_cam_supports_dma",
8727                    "cargo:rustc-cfg=lcd_cam_dma_engine=\"AXI_GDMA\"",
8728                    "cargo:rustc-cfg=dma_can_access_psram",
8729                    "cargo:rustc-cfg=dma_max_priority=\"15\"",
8730                    "cargo:rustc-cfg=dma_max_priority_is_set",
8731                    "cargo:rustc-cfg=interrupts_status_registers=\"6\"",
8732                    "cargo:rustc-cfg=interrupt_controller=\"clic\"",
8733                    "cargo:rustc-cfg=context_switch_source=\"ipc\"",
8734                    "cargo:rustc-cfg=mmu_page_size=\"65536\"",
8735                    "cargo:rustc-cfg=mmu_entry_num=\"1024\"",
8736                    "cargo:rustc-cfg=psram_octal_spi",
8737                    "cargo:rustc-cfg=psram_extmem_origin=\"1342177280\"",
8738                    "cargo:rustc-cfg=rom_has_crc_le",
8739                    "cargo:rustc-cfg=rom_has_crc_be",
8740                    "cargo:rustc-cfg=rom_has_md5_bsd",
8741                    "cargo:rustc-cfg=soc_cpu_has_branch_predictor",
8742                    "cargo:rustc-cfg=soc_multi_core_enabled",
8743                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode=\"2064\"",
8744                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode_is_set",
8745                    "cargo:rustc-cfg=soc_has_swd_watchdog",
8746                    "cargo:rustc-cfg=soc_cpu_mcause_mask=\"63\"",
8747                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
8748                    "cargo:rustc-cfg=soc_has_clock_node_bbpll_clk",
8749                    "cargo:rustc-cfg=soc_has_clock_node_cpll_clk",
8750                    "cargo:rustc-cfg=soc_has_clock_node_mpll_clk",
8751                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
8752                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
8753                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
8754                    "cargo:rustc-cfg=soc_has_clock_node_pll_f20m",
8755                    "cargo:rustc-cfg=soc_has_clock_node_pll_f80m",
8756                    "cargo:rustc-cfg=soc_has_clock_node_pll_f120m",
8757                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m",
8758                    "cargo:rustc-cfg=soc_has_clock_node_pll_f240m",
8759                    "cargo:rustc-cfg=soc_has_clock_node_bbpll_d3_clock",
8760                    "cargo:rustc-cfg=soc_has_clock_node_pll_f25m",
8761                    "cargo:rustc-cfg=soc_has_clock_node_pll_f50m",
8762                    "cargo:rustc-cfg=soc_has_clock_node_xtal_d2_clk",
8763                    "cargo:rustc-cfg=soc_has_clock_node_cpu_root_clk",
8764                    "cargo:rustc-cfg=soc_clock_node_cpu_root_clk_is_configurable",
8765                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
8766                    "cargo:rustc-cfg=soc_clock_node_cpu_clk_is_configurable",
8767                    "cargo:rustc-cfg=soc_has_clock_node_mem_clk",
8768                    "cargo:rustc-cfg=soc_clock_node_mem_clk_is_configurable",
8769                    "cargo:rustc-cfg=soc_has_clock_node_sys_clk",
8770                    "cargo:rustc-cfg=soc_clock_node_sys_clk_is_configurable",
8771                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
8772                    "cargo:rustc-cfg=soc_clock_node_apb_clk_is_configurable",
8773                    "cargo:rustc-cfg=soc_has_clock_node_lp_fast_clk",
8774                    "cargo:rustc-cfg=soc_clock_node_lp_fast_clk_is_configurable",
8775                    "cargo:rustc-cfg=soc_has_clock_node_lp_slow_clk",
8776                    "cargo:rustc-cfg=soc_clock_node_lp_slow_clk_is_configurable",
8777                    "cargo:rustc-cfg=soc_has_clock_node_crypto_clk",
8778                    "cargo:rustc-cfg=soc_clock_node_crypto_clk_is_configurable",
8779                    "cargo:rustc-cfg=soc_has_clock_node_iomux_function_clock",
8780                    "cargo:rustc-cfg=soc_clock_node_iomux_function_clock_is_configurable",
8781                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
8782                    "cargo:rustc-cfg=soc_clock_node_timg_calibration_clock_is_configurable",
8783                    "cargo:rustc-cfg=soc_has_clock_node_psram_function_clock",
8784                    "cargo:rustc-cfg=soc_clock_node_psram_function_clock_is_configurable",
8785                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
8786                    "cargo:rustc-cfg=soc_clock_node_uart_function_clock_is_configurable",
8787                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
8788                    "cargo:rustc-cfg=soc_clock_node_uart_baud_rate_generator_is_configurable",
8789                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
8790                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
8791                    "cargo:rustc-cfg=soc_clock_node_timg_function_clock_is_configurable",
8792                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
8793                    "cargo:rustc-cfg=soc_clock_node_timg_wdt_clock_is_configurable",
8794                    "cargo:rustc-cfg=soc_has_clock_node_spi_function_clock",
8795                    "cargo:rustc-cfg=soc_clock_node_spi_function_clock_is_configurable",
8796                    "cargo:rustc-cfg=soc_has_clock_node_i2c_function_clock",
8797                    "cargo:rustc-cfg=soc_clock_node_i2c_function_clock_is_configurable",
8798                    "cargo:rustc-cfg=soc_has_clock_node_i2s_tx_clk",
8799                    "cargo:rustc-cfg=soc_clock_node_i2s_tx_clk_is_configurable",
8800                    "cargo:rustc-cfg=soc_has_clock_node_i2s_rx_clk",
8801                    "cargo:rustc-cfg=soc_clock_node_i2s_rx_clk_is_configurable",
8802                    "cargo:rustc-cfg=soc_has_clock_node_i2s_mclk_out",
8803                    "cargo:rustc-cfg=soc_clock_node_i2s_mclk_out_is_configurable",
8804                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
8805                    "cargo:rustc-cfg=soc_clock_node_rmt_sclk_is_configurable",
8806                    "cargo:rustc-cfg=soc_has_clock_node_sdm_function_clock",
8807                    "cargo:rustc-cfg=soc_has_clock_node_lcd_cam_lcd_clock",
8808                    "cargo:rustc-cfg=soc_clock_node_lcd_cam_lcd_clock_is_configurable",
8809                    "cargo:rustc-cfg=soc_has_clock_node_lcd_cam_cam_clock",
8810                    "cargo:rustc-cfg=soc_clock_node_lcd_cam_cam_clock_is_configurable",
8811                    "cargo:rustc-cfg=has_dram_region",
8812                    "cargo:rustc-cfg=has_dram2_uninit_region",
8813                    "cargo:rustc-cfg=has_irom_region",
8814                    "cargo:rustc-cfg=has_drom_region",
8815                ],
8816                memory_layout: &MemoryLayout {
8817                    regions: &[
8818                        (
8819                            "dram",
8820                            MemoryRegion {
8821                                address_range: 0x2F000000..0x2F07AFC0,
8822                            },
8823                        ),
8824                        (
8825                            "dram2_uninit",
8826                            MemoryRegion {
8827                                address_range: 0x2F07AFC0..0x2F07CFB0,
8828                            },
8829                        ),
8830                        (
8831                            "irom",
8832                            MemoryRegion {
8833                                address_range: 0x40000000..0x50000000,
8834                            },
8835                        ),
8836                        (
8837                            "drom",
8838                            MemoryRegion {
8839                                address_range: 0x40000000..0x50000000,
8840                            },
8841                        ),
8842                    ],
8843                },
8844                pins: &[
8845                    PinInfo {
8846                        pin: 0,
8847                        limitations: &[],
8848                    },
8849                    PinInfo {
8850                        pin: 1,
8851                        limitations: &[],
8852                    },
8853                    PinInfo {
8854                        pin: 2,
8855                        limitations: &[],
8856                    },
8857                    PinInfo {
8858                        pin: 3,
8859                        limitations: &[],
8860                    },
8861                    PinInfo {
8862                        pin: 4,
8863                        limitations: &[],
8864                    },
8865                    PinInfo {
8866                        pin: 5,
8867                        limitations: &[],
8868                    },
8869                    PinInfo {
8870                        pin: 6,
8871                        limitations: &[],
8872                    },
8873                    PinInfo {
8874                        pin: 7,
8875                        limitations: &[],
8876                    },
8877                    PinInfo {
8878                        pin: 8,
8879                        limitations: &[],
8880                    },
8881                    PinInfo {
8882                        pin: 9,
8883                        limitations: &[],
8884                    },
8885                    PinInfo {
8886                        pin: 10,
8887                        limitations: &[],
8888                    },
8889                    PinInfo {
8890                        pin: 11,
8891                        limitations: &[],
8892                    },
8893                    PinInfo {
8894                        pin: 12,
8895                        limitations: &[],
8896                    },
8897                    PinInfo {
8898                        pin: 13,
8899                        limitations: &[],
8900                    },
8901                    PinInfo {
8902                        pin: 14,
8903                        limitations: &[],
8904                    },
8905                    PinInfo {
8906                        pin: 15,
8907                        limitations: &[],
8908                    },
8909                    PinInfo {
8910                        pin: 16,
8911                        limitations: &[],
8912                    },
8913                    PinInfo {
8914                        pin: 17,
8915                        limitations: &[],
8916                    },
8917                    PinInfo {
8918                        pin: 18,
8919                        limitations: &[],
8920                    },
8921                    PinInfo {
8922                        pin: 19,
8923                        limitations: &[],
8924                    },
8925                    PinInfo {
8926                        pin: 20,
8927                        limitations: &[],
8928                    },
8929                    PinInfo {
8930                        pin: 21,
8931                        limitations: &[],
8932                    },
8933                    PinInfo {
8934                        pin: 22,
8935                        limitations: &[],
8936                    },
8937                    PinInfo {
8938                        pin: 23,
8939                        limitations: &[],
8940                    },
8941                    PinInfo {
8942                        pin: 24,
8943                        limitations: &[],
8944                    },
8945                    PinInfo {
8946                        pin: 25,
8947                        limitations: &[],
8948                    },
8949                    PinInfo {
8950                        pin: 26,
8951                        limitations: &["spi_flash"],
8952                    },
8953                    PinInfo {
8954                        pin: 27,
8955                        limitations: &["spi_flash", "strapping"],
8956                    },
8957                    PinInfo {
8958                        pin: 28,
8959                        limitations: &["spi_flash", "strapping"],
8960                    },
8961                    PinInfo {
8962                        pin: 30,
8963                        limitations: &["spi_flash"],
8964                    },
8965                    PinInfo {
8966                        pin: 31,
8967                        limitations: &["spi_flash"],
8968                    },
8969                    PinInfo {
8970                        pin: 32,
8971                        limitations: &["spi_flash"],
8972                    },
8973                    PinInfo {
8974                        pin: 33,
8975                        limitations: &["usb_jtag"],
8976                    },
8977                    PinInfo {
8978                        pin: 34,
8979                        limitations: &["usb_jtag"],
8980                    },
8981                    PinInfo {
8982                        pin: 35,
8983                        limitations: &[],
8984                    },
8985                    PinInfo {
8986                        pin: 36,
8987                        limitations: &["strapping"],
8988                    },
8989                    PinInfo {
8990                        pin: 37,
8991                        limitations: &["strapping"],
8992                    },
8993                    PinInfo {
8994                        pin: 38,
8995                        limitations: &["strapping"],
8996                    },
8997                    PinInfo {
8998                        pin: 39,
8999                        limitations: &["strapping"],
9000                    },
9001                    PinInfo {
9002                        pin: 40,
9003                        limitations: &["strapping"],
9004                    },
9005                    PinInfo {
9006                        pin: 42,
9007                        limitations: &[],
9008                    },
9009                    PinInfo {
9010                        pin: 43,
9011                        limitations: &[],
9012                    },
9013                    PinInfo {
9014                        pin: 44,
9015                        limitations: &[],
9016                    },
9017                    PinInfo {
9018                        pin: 45,
9019                        limitations: &[],
9020                    },
9021                    PinInfo {
9022                        pin: 46,
9023                        limitations: &[],
9024                    },
9025                    PinInfo {
9026                        pin: 47,
9027                        limitations: &[],
9028                    },
9029                    PinInfo {
9030                        pin: 48,
9031                        limitations: &[],
9032                    },
9033                    PinInfo {
9034                        pin: 49,
9035                        limitations: &[],
9036                    },
9037                    PinInfo {
9038                        pin: 50,
9039                        limitations: &[],
9040                    },
9041                    PinInfo {
9042                        pin: 51,
9043                        limitations: &[],
9044                    },
9045                    PinInfo {
9046                        pin: 52,
9047                        limitations: &[],
9048                    },
9049                    PinInfo {
9050                        pin: 53,
9051                        limitations: &[],
9052                    },
9053                    PinInfo {
9054                        pin: 54,
9055                        limitations: &["jtag"],
9056                    },
9057                    PinInfo {
9058                        pin: 55,
9059                        limitations: &["jtag"],
9060                    },
9061                    PinInfo {
9062                        pin: 56,
9063                        limitations: &["jtag"],
9064                    },
9065                    PinInfo {
9066                        pin: 57,
9067                        limitations: &["jtag"],
9068                    },
9069                    PinInfo {
9070                        pin: 58,
9071                        limitations: &["bootloader_uart"],
9072                    },
9073                    PinInfo {
9074                        pin: 59,
9075                        limitations: &["bootloader_uart"],
9076                    },
9077                    PinInfo {
9078                        pin: 60,
9079                        limitations: &["strapping"],
9080                    },
9081                    PinInfo {
9082                        pin: 61,
9083                        limitations: &["strapping"],
9084                    },
9085                ],
9086            },
9087        }
9088    }
9089    /// Returns the list of all symbols that any supported chip can define.
9090    ///
9091    /// Unlike [`Chip::all_symbols`], which returns the symbols defined for the
9092    /// selected chip, this returns the union of the symbols across every chip.
9093    ///
9094    /// Key-value configurations are returned with the syntax `cfg(<symbol>, values(<values>))`,
9095    /// as used by `cargo:rustc-check-cfg` directives.
9096    pub fn all_possible_symbols() -> &'static [&'static str] {
9097        &[
9098            "esp32",
9099            "xtensa",
9100            "multi_core",
9101            "soc_has_aes",
9102            "soc_has_apb_ctrl",
9103            "soc_has_bb",
9104            "soc_has_dport",
9105            "soc_has_system",
9106            "soc_has_efuse",
9107            "soc_has_eth",
9108            "soc_has_emac_dma",
9109            "soc_has_emac_ext",
9110            "soc_has_emac_mac",
9111            "soc_has_flash_encryption",
9112            "soc_has_frc_timer",
9113            "soc_has_gpio",
9114            "soc_has_gpio_sd",
9115            "soc_has_hinf",
9116            "soc_has_i2c0",
9117            "soc_has_i2c1",
9118            "soc_has_i2s0",
9119            "soc_has_i2s1",
9120            "soc_has_io_mux",
9121            "soc_has_ledc",
9122            "soc_has_mcpwm0",
9123            "soc_has_mmu_table",
9124            "soc_has_mcpwm1",
9125            "soc_has_nrx",
9126            "soc_has_pcnt",
9127            "soc_has_rmt",
9128            "soc_has_rng",
9129            "soc_has_rsa",
9130            "soc_has_lpwr",
9131            "soc_has_rtc_timer",
9132            "soc_has_lp_i2c0",
9133            "soc_has_rtc_io",
9134            "soc_has_sdhost",
9135            "soc_has_sens",
9136            "soc_has_sha",
9137            "soc_has_slc",
9138            "soc_has_slchost",
9139            "soc_has_spi0",
9140            "soc_has_spi1",
9141            "soc_has_spi2",
9142            "soc_has_spi3",
9143            "soc_has_timg0",
9144            "soc_has_timg1",
9145            "soc_has_twai0",
9146            "soc_has_uart0",
9147            "soc_has_uart1",
9148            "soc_has_uart2",
9149            "soc_has_uhci0",
9150            "soc_has_uhci1",
9151            "soc_has_wifi",
9152            "soc_has_adc1",
9153            "soc_has_adc2",
9154            "soc_has_bt",
9155            "soc_has_cpu_ctrl",
9156            "soc_has_dac1",
9157            "soc_has_dac2",
9158            "soc_has_flash",
9159            "soc_has_psram",
9160            "soc_has_touch",
9161            "soc_has_ipc",
9162            "soc_has_from_cpu_intr0",
9163            "soc_has_from_cpu_intr1",
9164            "soc_has_from_cpu_intr2",
9165            "soc_has_from_cpu_intr3",
9166            "gpio_driver_supported",
9167            "io_mux_driver_supported",
9168            "lp_io_driver_supported",
9169            "uart_driver_supported",
9170            "i2c_master_driver_supported",
9171            "spi_master_driver_supported",
9172            "spi_slave_driver_supported",
9173            "i2s_driver_supported",
9174            "rmt_driver_supported",
9175            "sdmmc_driver_supported",
9176            "twai_driver_supported",
9177            "bt_driver_supported",
9178            "wifi_driver_supported",
9179            "ethernet_driver_supported",
9180            "phy_driver_supported",
9181            "rgb_display_driver_supported",
9182            "adc_driver_supported",
9183            "dac_driver_supported",
9184            "temp_sensor_driver_supported",
9185            "touch_driver_supported",
9186            "ledc_driver_supported",
9187            "mcpwm_driver_supported",
9188            "pcnt_driver_supported",
9189            "lp_timer_driver_supported",
9190            "sdm_driver_supported",
9191            "timergroup_driver_supported",
9192            "aes_driver_supported",
9193            "rng_driver_supported",
9194            "rsa_driver_supported",
9195            "sha_driver_supported",
9196            "sleep_driver_supported",
9197            "dma_driver_supported",
9198            "interrupts_driver_supported",
9199            "mmu_driver_supported",
9200            "flash_driver_supported",
9201            "psram_driver_supported",
9202            "rom_driver_supported",
9203            "soc_driver_supported",
9204            "uart_uart0",
9205            "uart_uart1",
9206            "uart_uart2",
9207            "i2c_master_i2c0",
9208            "i2c_master_i2c1",
9209            "spi_master_spi2",
9210            "spi_master_spi3",
9211            "spi_slave_spi2",
9212            "spi_slave_spi3",
9213            "i2s_i2s0",
9214            "i2s_i2s1",
9215            "adc_adc1",
9216            "adc_adc2",
9217            "dac_dac1",
9218            "dac_dac2",
9219            "pcnt_PCNT",
9220            "timergroup_timg0",
9221            "timergroup_timg1",
9222            "gpio_remap_iomux_pin_registers",
9223            "soc_has_xtal32k_pads",
9224            "gpio_has_bank_1",
9225            "i2c_master_separate_filter_config_registers",
9226            "i2c_master_i2c0_data_register_ahb_address_is_set",
9227            "spi_master_bit_order_is_bool",
9228            "i2s_version_is_set",
9229            "i2s_mclk_divider_bit_width_is_set",
9230            "i2s_max_ws_width_is_set",
9231            "i2s_supports_pdm_tx",
9232            "i2s_supports_pdm_rx",
9233            "i2s_supports_pcm2pdm",
9234            "i2s_supports_pdm2pcm",
9235            "rmt_has_per_channel_clock",
9236            "sdmmc_has_iomux",
9237            "wifi_csi_supported",
9238            "ethernet_rx_store_and_forward",
9239            "phy_combo_module",
9240            "soc_has_sdm_ch0",
9241            "soc_has_sdm_ch1",
9242            "soc_has_sdm_ch2",
9243            "soc_has_sdm_ch3",
9244            "soc_has_sdm_ch4",
9245            "soc_has_sdm_ch5",
9246            "soc_has_sdm_ch6",
9247            "soc_has_sdm_ch7",
9248            "timergroup_timg_has_timer1",
9249            "timergroup_rc_fast_calibration_is_set",
9250            "aes_endianness_configurable",
9251            "rng_trng_supported",
9252            "sleep_light_sleep",
9253            "sleep_deep_sleep",
9254            "sleep_has_wakeup_source_ext0",
9255            "sleep_has_wakeup_source_ext1",
9256            "sleep_has_wakeup_source_gpio",
9257            "sleep_has_wakeup_source_timer",
9258            "sleep_has_wakeup_source_sdio",
9259            "sleep_has_wakeup_source_wifi",
9260            "sleep_has_wakeup_source_uart",
9261            "sleep_has_wakeup_source_touch",
9262            "sleep_has_wakeup_source_ulp",
9263            "sleep_has_wakeup_source_bt",
9264            "sleep_ext1_version_is_set",
9265            "sleep_pin_wakeup_version_is_set",
9266            "sleep_deep_sleep_needs_gpio_isolation",
9267            "soc_has_dma_spi2",
9268            "soc_has_dma_spi3",
9269            "soc_has_dma_i2s0",
9270            "soc_has_dma_i2s1",
9271            "spi_master_supports_dma",
9272            "spi_slave_supports_dma",
9273            "i2s_supports_dma",
9274            "rom_has_crc_le",
9275            "rom_has_crc_be",
9276            "rom_has_md5_bsd",
9277            "soc_multi_core_enabled",
9278            "soc_has_clock_node_xtal_clk",
9279            "soc_clock_node_xtal_clk_is_configurable",
9280            "soc_has_clock_node_pll_clk",
9281            "soc_clock_node_pll_clk_is_configurable",
9282            "soc_has_clock_node_apll_clk",
9283            "soc_clock_node_apll_clk_is_configurable",
9284            "soc_has_clock_node_rc_fast_clk",
9285            "soc_has_clock_node_pll_f160m_clk",
9286            "soc_has_clock_node_pll_d2_clk",
9287            "soc_has_clock_node_cpu_pll_div_in",
9288            "soc_clock_node_cpu_pll_div_in_is_configurable",
9289            "soc_has_clock_node_cpu_pll_div",
9290            "soc_clock_node_cpu_pll_div_is_configurable",
9291            "soc_has_clock_node_syscon_pre_div_in",
9292            "soc_clock_node_syscon_pre_div_in_is_configurable",
9293            "soc_has_clock_node_syscon_pre_div",
9294            "soc_clock_node_syscon_pre_div_is_configurable",
9295            "soc_has_clock_node_cpu_clk",
9296            "soc_clock_node_cpu_clk_is_configurable",
9297            "soc_has_clock_node_apb_clk_cpu_div2",
9298            "soc_has_clock_node_apb_clk_80m",
9299            "soc_has_clock_node_apb_clk",
9300            "soc_clock_node_apb_clk_is_configurable",
9301            "soc_has_clock_node_ref_tick_pll",
9302            "soc_clock_node_ref_tick_pll_is_configurable",
9303            "soc_has_clock_node_ref_tick_apll",
9304            "soc_clock_node_ref_tick_apll_is_configurable",
9305            "soc_has_clock_node_ref_tick_xtal",
9306            "soc_clock_node_ref_tick_xtal_is_configurable",
9307            "soc_has_clock_node_ref_tick_fosc",
9308            "soc_clock_node_ref_tick_fosc_is_configurable",
9309            "soc_has_clock_node_ref_tick",
9310            "soc_clock_node_ref_tick_is_configurable",
9311            "soc_has_clock_node_xtal32k_clk",
9312            "soc_has_clock_node_rc_slow_clk",
9313            "soc_has_clock_node_rc_fast_div_clk",
9314            "soc_has_clock_node_xtal_div_clk",
9315            "soc_has_clock_node_rtc_slow_clk",
9316            "soc_clock_node_rtc_slow_clk_is_configurable",
9317            "soc_has_clock_node_rtc_fast_clk",
9318            "soc_clock_node_rtc_fast_clk_is_configurable",
9319            "soc_has_clock_node_uart_mem_clk",
9320            "soc_has_clock_node_timg_calibration_clock",
9321            "soc_clock_node_timg_calibration_clock_is_configurable",
9322            "soc_has_clock_node_mcpwm_function_clock",
9323            "soc_has_clock_node_i2c_function_clock",
9324            "soc_clock_node_i2c_function_clock_is_configurable",
9325            "soc_has_clock_node_uart_function_clock",
9326            "soc_clock_node_uart_function_clock_is_configurable",
9327            "soc_has_clock_node_uart_mem_clock",
9328            "soc_has_clock_node_uart_baud_rate_generator",
9329            "soc_clock_node_uart_baud_rate_generator_is_configurable",
9330            "soc_has_clock_node_sdm_function_clock",
9331            "soc_has_clock_node_rmt_sclk",
9332            "soc_clock_node_rmt_sclk_is_configurable",
9333            "soc_has_clock_node_spi_function_clock",
9334            "soc_has_clock_node_i2s_mclk",
9335            "soc_clock_node_i2s_mclk_is_configurable",
9336            "has_dram_region",
9337            "has_dram2_uninit_region",
9338            "has_irom_region",
9339            "has_drom_region",
9340            "esp32c2",
9341            "riscv",
9342            "single_core",
9343            "soc_has_apb_saradc",
9344            "soc_has_assist_debug",
9345            "soc_has_dma",
9346            "soc_has_ecc",
9347            "soc_has_extmem",
9348            "soc_has_i2c_ana_mst",
9349            "soc_has_interrupt_core0",
9350            "soc_has_modem_clkrst",
9351            "soc_has_sensitive",
9352            "soc_has_systimer",
9353            "soc_has_xts_aes",
9354            "soc_has_gpio_dedicated",
9355            "dedicated_gpio_driver_supported",
9356            "systimer_driver_supported",
9357            "ecc_driver_supported",
9358            "assist_debug_driver_supported",
9359            "gpio_has_input_sync",
9360            "uart_has_sclk_divider",
9361            "uart_has_sclk_enable",
9362            "i2c_master_has_fsm_timeouts",
9363            "i2c_master_has_hw_bus_clear",
9364            "i2c_master_has_bus_timeout_enable",
9365            "i2c_master_has_conf_update",
9366            "i2c_master_has_arbitration_en",
9367            "i2c_master_has_tx_fifo_watermark",
9368            "i2c_master_bus_timeout_is_exponential",
9369            "i2c_master_has_pd_en",
9370            "spi_master_has_app_interrupts",
9371            "spi_master_has_dma_segmented_transfer",
9372            "timergroup_timg_has_divcnt_rst",
9373            "ecc_zero_extend_writes",
9374            "ecc_has_finite_field_division",
9375            "ecc_has_curve_p192",
9376            "ecc_has_curve_p256",
9377            "assist_debug_has_sp_monitor",
9378            "dma_gdma_version_is_set",
9379            "soc_has_dma_ch0",
9380            "dma_supports_mem2mem",
9381            "sha_supports_dma",
9382            "dma_max_priority_is_set",
9383            "rom_has_md5_mbedtls",
9384            "soc_cpu_has_csr_pc",
9385            "soc_has_swd_watchdog",
9386            "soc_has_clock_node_osc_slow_clk",
9387            "soc_has_clock_node_system_pre_div_in",
9388            "soc_clock_node_system_pre_div_in_is_configurable",
9389            "soc_has_clock_node_system_pre_div",
9390            "soc_clock_node_system_pre_div_is_configurable",
9391            "soc_has_clock_node_pll_40m",
9392            "soc_has_clock_node_pll_60m",
9393            "soc_has_clock_node_pll_80m",
9394            "soc_has_clock_node_cpu_div2",
9395            "soc_has_clock_node_crypto_clk",
9396            "soc_clock_node_crypto_clk_is_configurable",
9397            "soc_has_clock_node_mspi_clk",
9398            "soc_clock_node_mspi_clk_is_configurable",
9399            "soc_has_clock_node_rc_fast_clk_div_n",
9400            "soc_clock_node_rc_fast_clk_div_n_is_configurable",
9401            "soc_has_clock_node_low_power_clk",
9402            "soc_clock_node_low_power_clk_is_configurable",
9403            "soc_has_clock_node_timg_function_clock",
9404            "soc_clock_node_timg_function_clock_is_configurable",
9405            "soc_has_clock_node_timg_wdt_clock",
9406            "soc_clock_node_timg_wdt_clock_is_configurable",
9407            "soc_clock_node_spi_function_clock_is_configurable",
9408            "esp32c3",
9409            "soc_has_ds",
9410            "soc_has_fe",
9411            "soc_has_fe2",
9412            "soc_has_hmac",
9413            "soc_has_usb_device",
9414            "soc_has_tsens",
9415            "uhci_driver_supported",
9416            "i2c_slave_driver_supported",
9417            "usb_serial_jtag_driver_supported",
9418            "hmac_driver_supported",
9419            "i2c_slave_i2c0",
9420            "rmt_has_tx_immediate_stop",
9421            "rmt_has_tx_loop_count",
9422            "rmt_has_tx_carrier_data_only",
9423            "rmt_has_tx_sync",
9424            "rmt_has_rx_wrap",
9425            "rmt_has_rx_demodulation",
9426            "phy_backed_up_digital_register_count_is_set",
9427            "aes_dma_mode_ecb",
9428            "aes_dma_mode_cbc",
9429            "aes_dma_mode_ofb",
9430            "aes_dma_mode_ctr",
9431            "aes_dma_mode_cfb8",
9432            "aes_dma_mode_cfb128",
9433            "aes_has_split_text_registers",
9434            "assist_debug_has_region_monitor",
9435            "dma_mem2mem_requires_peripheral",
9436            "soc_has_dma_ch1",
9437            "soc_has_dma_ch2",
9438            "aes_supports_dma",
9439            "uhci_supports_dma",
9440            "soc_has_clock_node_cpu_pll_div_out",
9441            "soc_clock_node_cpu_pll_div_out_is_configurable",
9442            "soc_has_clock_node_pll_160m",
9443            "soc_has_clock_node_i2s_tx_clk",
9444            "soc_clock_node_i2s_tx_clk_is_configurable",
9445            "soc_has_clock_node_i2s_rx_clk",
9446            "soc_clock_node_i2s_rx_clk_is_configurable",
9447            "soc_has_clock_node_i2s_mclk_out",
9448            "soc_clock_node_i2s_mclk_out_is_configurable",
9449            "esp32c5",
9450            "soc_has_cache",
9451            "soc_has_clint",
9452            "soc_has_ecdsa",
9453            "soc_has_etm",
9454            "soc_has_hp_apm",
9455            "soc_has_hp_sys",
9456            "soc_has_huk",
9457            "soc_has_ieee802154",
9458            "soc_has_intpri",
9459            "soc_has_keymng",
9460            "soc_has_lp_ana",
9461            "soc_has_lp_aon",
9462            "soc_has_lp_apm0",
9463            "soc_has_lp_clkrst",
9464            "soc_has_lp_gpio",
9465            "soc_has_lp_i2c_ana_mst",
9466            "soc_has_lp_io_mux",
9467            "soc_has_lp_peri",
9468            "soc_has_lp_tee",
9469            "soc_has_lp_uart",
9470            "soc_has_lp_wdt",
9471            "soc_has_mem_monitor",
9472            "soc_has_modem_lpcon",
9473            "soc_has_modem_syscon",
9474            "soc_has_parl_io",
9475            "soc_has_pau",
9476            "soc_has_pcr",
9477            "soc_has_pmu",
9478            "soc_has_pvt_monitor",
9479            "soc_has_tee",
9480            "soc_has_lp_core",
9481            "lp_i2c_master_driver_supported",
9482            "parl_io_driver_supported",
9483            "ieee802154_driver_supported",
9484            "uart_peripheral_controls_mem_clk",
9485            "uhci_combined_uart_selector_field",
9486            "i2c_master_can_estimate_nack_reason",
9487            "i2c_master_has_reliable_fsm_reset",
9488            "lp_i2c_master_fifo_size_is_set",
9489            "spi_master_has_clk_pre_div",
9490            "spi_master_dma_can_access_flash",
9491            "i2s_clock_configured_by_pcr",
9492            "rmt_has_tx_loop_auto_stop",
9493            "wifi_has_wifi6",
9494            "wifi_has_5g",
9495            "timergroup_rc_fast_calibration_divider",
9496            "ecc_separate_jacobian_point_memory",
9497            "ecc_has_memory_clock_gate",
9498            "ecc_supports_enhanced_security",
9499            "ecc_has_modular_arithmetic",
9500            "ecc_has_point_addition",
9501            "ecc_has_curve_p384",
9502            "rng_is_lp_sys",
9503            "sleep_has_wakeup_source_wifi_beacon",
9504            "sleep_has_wakeup_source_lp_core",
9505            "dma_separate_in_out_interrupts",
9506            "parl_io_supports_dma",
9507            "dma_can_access_psram",
9508            "soc_cpu_has_branch_predictor",
9509            "soc_cpu_csr_prv_mode_is_set",
9510            "soc_has_clock_node_pll_f12m",
9511            "soc_has_clock_node_pll_f20m",
9512            "soc_has_clock_node_pll_f40m",
9513            "soc_has_clock_node_pll_f48m",
9514            "soc_has_clock_node_pll_f60m",
9515            "soc_has_clock_node_pll_f80m",
9516            "soc_has_clock_node_pll_f120m",
9517            "soc_has_clock_node_pll_f160m",
9518            "soc_has_clock_node_pll_f240m",
9519            "soc_has_clock_node_hp_root_clk",
9520            "soc_clock_node_hp_root_clk_is_configurable",
9521            "soc_has_clock_node_ahb_clk",
9522            "soc_clock_node_ahb_clk_is_configurable",
9523            "soc_has_clock_node_xtal_d2_clk",
9524            "soc_has_clock_node_lp_fast_clk",
9525            "soc_clock_node_lp_fast_clk_is_configurable",
9526            "soc_has_clock_node_lp_slow_clk",
9527            "soc_clock_node_lp_slow_clk_is_configurable",
9528            "soc_has_clock_node_crypto_pll_div",
9529            "soc_has_clock_node_iomux_function_clock",
9530            "soc_clock_node_iomux_function_clock_is_configurable",
9531            "soc_has_clock_node_parl_io_rx_clock",
9532            "soc_clock_node_parl_io_rx_clock_is_configurable",
9533            "soc_has_clock_node_parl_io_tx_clock",
9534            "soc_clock_node_parl_io_tx_clock_is_configurable",
9535            "esp32c6",
9536            "soc_has_atomic",
9537            "soc_has_lp_apm",
9538            "soc_has_lp_io",
9539            "soc_has_otp_debug",
9540            "soc_has_plic_mx",
9541            "soc_has_trace0",
9542            "soc_has_twai1",
9543            "lp_uart_driver_supported",
9544            "ulp_riscv_driver_supported",
9545            "etm_driver_supported",
9546            "soc_has_clock_node_soc_root_clk",
9547            "soc_clock_node_soc_root_clk_is_configurable",
9548            "soc_has_clock_node_cpu_hs_div",
9549            "soc_clock_node_cpu_hs_div_is_configurable",
9550            "soc_has_clock_node_cpu_ls_div",
9551            "soc_clock_node_cpu_ls_div_is_configurable",
9552            "soc_has_clock_node_ahb_hs_div",
9553            "soc_clock_node_ahb_hs_div_is_configurable",
9554            "soc_has_clock_node_ahb_ls_div",
9555            "soc_clock_node_ahb_ls_div_is_configurable",
9556            "soc_has_clock_node_mspi_fast_hs_clk",
9557            "soc_clock_node_mspi_fast_hs_clk_is_configurable",
9558            "soc_has_clock_node_mspi_fast_ls_clk",
9559            "soc_clock_node_mspi_fast_ls_clk_is_configurable",
9560            "soc_has_clock_node_mspi_fast_clk",
9561            "soc_clock_node_mspi_fast_clk_is_configurable",
9562            "soc_has_clock_node_ledc_sclk",
9563            "soc_clock_node_ledc_sclk_is_configurable",
9564            "soc_clock_node_mcpwm_function_clock_is_configurable",
9565            "esp32c61",
9566            "esp32h2",
9567            "timergroup_rc_fast_calibration_tick_enable",
9568            "soc_has_clock_node_pll_f96m_clk",
9569            "soc_has_clock_node_pll_f64m_clk",
9570            "soc_has_clock_node_pll_f48m_clk",
9571            "soc_has_clock_node_pll_lp_clk",
9572            "esp32p4",
9573            "soc_has_hp_sys_clkrst",
9574            "soc_has_interrupt_core1",
9575            "soc_has_clic",
9576            "soc_has_clint_other_core",
9577            "soc_has_iomux_mspi_pin",
9578            "soc_has_lp_aon_clkrst",
9579            "soc_has_lp_sys",
9580            "soc_has_uart3",
9581            "soc_has_uart4",
9582            "soc_has_memspi2",
9583            "soc_has_memspi3",
9584            "soc_has_i2s2",
9585            "soc_has_twai2",
9586            "soc_has_axi_gdma",
9587            "soc_has_mipi_dsi",
9588            "soc_has_vdma",
9589            "soc_has_mipi_dsi_host",
9590            "soc_has_mipi_dsi_bridge",
9591            "soc_has_lp_adc",
9592            "soc_has_usb_fs",
9593            "soc_has_usb_hs",
9594            "soc_has_usb_wrap",
9595            "usb_otg_driver_supported",
9596            "usb_otg_hs_driver_supported",
9597            "mipi_dsi_driver_supported",
9598            "uart_uart3",
9599            "uart_uart4",
9600            "i2s_i2s2",
9601            "lp_io_has_gpio_matrix",
9602            "i2s_clock_configured_by_hp_sys_clkrst",
9603            "i2s_supports_pdm_rx_hp_filter",
9604            "sdmmc_delay_phase_num_is_set",
9605            "sdmmc_has_gpio_matrix",
9606            "sdmmc_psram_dma",
9607            "ethernet_mii_via_gpio_matrix",
9608            "ethernet_rx_checksum_offload",
9609            "aes_dma_mode_gcm",
9610            "sleep_has_wakeup_source_usb",
9611            "soc_has_dma_axi_ch0",
9612            "soc_has_dma_axi_ch1",
9613            "soc_has_dma_axi_ch2",
9614            "soc_has_vdma_ch0",
9615            "soc_has_vdma_ch1",
9616            "soc_has_vdma_ch2",
9617            "soc_has_vdma_ch3",
9618            "mipi_dsi_supports_dma",
9619            "psram_octal_spi",
9620            "psram_hex_spi",
9621            "soc_internal_memory_cached",
9622            "soc_has_clock_node_cpll_clk",
9623            "soc_clock_node_cpll_clk_is_configurable",
9624            "soc_has_clock_node_spll_clk",
9625            "soc_has_clock_node_mpll_clk",
9626            "soc_clock_node_mpll_clk_is_configurable",
9627            "soc_has_clock_node_rc32k_clk",
9628            "soc_has_clock_node_spll_d3_clock",
9629            "soc_has_clock_node_pll_f25m",
9630            "soc_has_clock_node_pll_f50m",
9631            "soc_has_clock_node_cpu_root_clk",
9632            "soc_clock_node_cpu_root_clk_is_configurable",
9633            "soc_has_clock_node_mem_clk",
9634            "soc_clock_node_mem_clk_is_configurable",
9635            "soc_has_clock_node_sys_clk",
9636            "soc_clock_node_sys_clk_is_configurable",
9637            "soc_has_clock_node_psram_function_clock",
9638            "soc_clock_node_psram_function_clock_is_configurable",
9639            "soc_has_clock_node_mipi_dsi_dpi_clk",
9640            "soc_clock_node_mipi_dsi_dpi_clk_is_configurable",
9641            "soc_has_clock_node_mipi_dsi_phy_pll_refclk",
9642            "soc_clock_node_mipi_dsi_phy_pll_refclk_is_configurable",
9643            "soc_has_clock_node_mipi_dsi_phy_cfg_clk",
9644            "soc_clock_node_mipi_dsi_phy_cfg_clk_is_configurable",
9645            "esp32s2",
9646            "soc_has_pms",
9647            "soc_has_syscon",
9648            "soc_has_ulp_riscv_core",
9649            "dedicated_gpio_needs_initialization",
9650            "spi_master_has_octal",
9651            "sleep_has_wakeup_source_ulp_riscv",
9652            "sleep_has_wakeup_source_ulp_riscv_trap",
9653            "dma_ext_mem_configurable_block_size",
9654            "soc_has_dma_crypto",
9655            "soc_has_dma_copy",
9656            "soc_has_clock_node_ref_tick_ck8m",
9657            "soc_clock_node_ref_tick_ck8m_is_configurable",
9658            "esp32s3",
9659            "soc_has_lcd_cam",
9660            "soc_has_peri_backup",
9661            "soc_has_rtc_cntl",
9662            "soc_has_wcl",
9663            "camera_driver_supported",
9664            "soc_has_dma_ch3",
9665            "soc_has_dma_ch4",
9666            "rmt_supports_dma",
9667            "lcd_cam_supports_dma",
9668            "soc_has_clock_node_pll_d2",
9669            "soc_has_clock_node_apb_80m",
9670            "soc_has_clock_node_crypto_pwm_clk",
9671            "soc_clock_node_crypto_pwm_clk_is_configurable",
9672            "soc_has_clock_node_lcd_cam_lcd_clock",
9673            "soc_clock_node_lcd_cam_lcd_clock_is_configurable",
9674            "soc_has_clock_node_lcd_cam_cam_clock",
9675            "soc_clock_node_lcd_cam_cam_clock_is_configurable",
9676            "esp32s31",
9677            "soc_has_cnnt_sys",
9678            "soc_has_cnnt_io_mux",
9679            "soc_has_hp_mem_apm",
9680            "soc_has_hp_alive_sys",
9681            "soc_has_lp_aon_clk_rst",
9682            "soc_has_pcnt1",
9683            "pcnt_PCNT1",
9684            "ethernet_has_rgmii",
9685            "soc_has_clock_node_bbpll_clk",
9686            "soc_has_clock_node_bbpll_d3_clock",
9687            "gpio_version, values(\"1\",\"2\",\"3\")",
9688            "gpio_gpio_function, values(\"2\",\"1\")",
9689            "gpio_constant_0_input, values(\"48\",\"31\",\"96\",\"60\",\"62\",\"192\")",
9690            "gpio_constant_1_input, values(\"56\",\"30\",\"64\",\"63\",\"128\")",
9691            "gpio_func_in_sel_offset, values(\"0\",\"1\")",
9692            "gpio_input_signal_max, \
9693             values(\"206\",\"100\",\"116\",\"124\",\"249\",\"242\",\"255\")",
9694            "gpio_output_signal_max, values(\"256\",\"128\")",
9695            "lp_io_version, \
9696             values(\"esp32\",\"v3\",\"v4\",\"esp32h2\",\"esp32p4\",\"v2\",\"esp32s31\")",
9697            "uart_ram_size, values(\"128\")",
9698            "uart_version, values(\"1\",\"2\")",
9699            "i2c_master_version, values(\"1\",\"3\",\"4\",\"2\")",
9700            "i2c_master_i2c0_data_register_ahb_address, values(\"1610690588\")",
9701            "i2c_master_max_bus_timeout, values(\"1048575\",\"31\",\"16777215\")",
9702            "i2c_master_ll_intr_mask, values(\"262143\",\"131071\")",
9703            "i2c_master_fifo_size, values(\"32\",\"16\")",
9704            "spi_master_version, values(\"1\",\"3\",\"2\")",
9705            "spi_master_fifo_size, values(\"64\",\"72\")",
9706            "i2s_version, values(\"1\",\"2\",\"3\")",
9707            "i2s_mclk_divider_bit_width, values(\"6\",\"9\",\"8\")",
9708            "i2s_max_ws_width, values(\"128\",\"512\")",
9709            "rmt_ram_start, \
9710             values(\"1073047552\",\"1610703872\",\"1610638336\",\"1610642432\",\"1342842880\",\"\
9711             1061250048\",\"1610704896\",\"540366848\")",
9712            "rmt_channel_ram_size, values(\"64\",\"48\")",
9713            "bt_controller, values(\"btdm\",\"npl\")",
9714            "wifi_mac_version, values(\"1\",\"3\",\"2\")",
9715            "ethernet_dma_burst_len, values(\"32\",\"16\")",
9716            "rgb_display_output_lines, values(\"24\",\"16\")",
9717            "ledc_version, values(\"1\",\"2\",\"3\")",
9718            "ledc_channel_count, values(\"8\",\"6\")",
9719            "rng_apb_cycle_wait_num, values(\"16\")",
9720            "rsa_version, values(\"1\",\"3\",\"2\")",
9721            "rsa_size_increment, values(\"512\",\"32\")",
9722            "rsa_memory_size_bytes, values(\"512\",\"384\")",
9723            "sleep_ext1_version, values(\"1\",\"2\",\"3\")",
9724            "sleep_pin_wakeup_version, values(\"1\",\"2\",\"3\")",
9725            "spi_master_dma_engine, values(\"SPI_DMA\",\"AHB_GDMA\",\"AXI_GDMA\")",
9726            "spi_slave_dma_engine, values(\"SPI_DMA\",\"AHB_GDMA\",\"AXI_GDMA\")",
9727            "i2s_dma_engine, values(\"I2S_DMA\",\"AHB_GDMA\")",
9728            "interrupts_status_registers, values(\"3\",\"2\",\"5\",\"4\",\"6\")",
9729            "interrupt_controller, values(\"xtensa\",\"riscv_basic\",\"clic\",\"plic\")",
9730            "context_switch_source, values(\"ipc\",\"from_cpu\",\"clint\",\"software0\")",
9731            "mmu_page_size, values(\"65536\")",
9732            "mmu_entry_num, values(\"256\",\"64\",\"128\",\"512\",\"384\",\"1024\")",
9733            "psram_extmem_origin, \
9734             values(\"1065353216\",\"1107296256\",\"1207959552\",\"1062207488\",\"1006632960\",\"\
9735             1342177280\")",
9736            "soc_cpu_mcause_mask, values(\"0\",\"31\",\"63\")",
9737            "dedicated_gpio_version, values(\"riscv_v1\",\"riscv_v2\",\"esp32s2\",\"esp32s3\")",
9738            "dma_gdma_version, values(\"1\",\"2\",\"3\")",
9739            "sha_dma_engine, values(\"AHB_GDMA\",\"AXI_GDMA\",\"CRYPTO_DMA\")",
9740            "dma_max_priority, values(\"9\",\"5\",\"15\")",
9741            "phy_backed_up_digital_register_count, values(\"21\")",
9742            "aes_dma_engine, values(\"AHB_GDMA\",\"AXI_GDMA\",\"CRYPTO_DMA\")",
9743            "uhci_dma_engine, values(\"AHB_GDMA\")",
9744            "lp_i2c_master_version, values(\"lp_i2c\",\"rtc_i2c\")",
9745            "lp_i2c_master_fifo_size, values(\"16\")",
9746            "parl_io_version, values(\"2\",\"1\")",
9747            "parl_io_dma_engine, values(\"AHB_GDMA\")",
9748            "soc_cpu_csr_prv_mode, values(\"2064\",\"3088\")",
9749            "lp_uart_ram_size, values(\"32\")",
9750            "sdmmc_delay_phase_num, values(\"8\",\"4\")",
9751            "usb_otg_fifo_depth_words, values(\"200\",\"256\")",
9752            "usb_otg_hs_fifo_depth_words, values(\"896\")",
9753            "mipi_dsi_dma_engine, values(\"VDMA\")",
9754            "rmt_dma_engine, values(\"AHB_GDMA\")",
9755            "lcd_cam_dma_engine, values(\"AHB_GDMA\",\"AXI_GDMA\")",
9756        ]
9757    }
9758}
9759/// Information about a memory region.
9760pub struct MemoryRegion {
9761    address_range: Range<u32>,
9762}
9763impl MemoryRegion {
9764    /// Returns the address range of the memory region.
9765    pub fn range(&self) -> Range<u32> {
9766        self.address_range.clone()
9767    }
9768    /// Returns the size of the memory region in bytes.
9769    pub fn size(&self) -> u32 {
9770        self.address_range.end - self.address_range.start
9771    }
9772}
9773/// Information about the memory layout of a chip.
9774pub struct MemoryLayout {
9775    regions: &'static [(&'static str, MemoryRegion)],
9776}
9777impl MemoryLayout {
9778    /// Returns the memory region with the given name.
9779    pub fn region(&self, name: &str) -> Option<&'static MemoryRegion> {
9780        self.regions
9781            .iter()
9782            .find_map(|(n, r)| if *n == name { Some(r) } else { None })
9783    }
9784}
9785/// Information about a specific pin.
9786#[non_exhaustive]
9787pub struct PinInfo {
9788    /// The pin number.
9789    pub pin: usize,
9790    /// The list of possible restriction categories for this pin.
9791    ///
9792    /// This can include "strapping", "spi_psram", etc.
9793    pub limitations: &'static [&'static str],
9794}
9795struct Config {
9796    architecture: &'static str,
9797    target: &'static str,
9798    symbols: &'static [&'static str],
9799    cfgs: &'static [&'static str],
9800    memory_layout: &'static MemoryLayout,
9801    pins: &'static [PinInfo],
9802}
9803impl Config {
9804    fn define_cfgs(&self) {
9805        emit_check_cfg_directives();
9806        for cfg in self.cfgs {
9807            println!("{cfg}");
9808        }
9809    }
9810}
9811/// Prints `cargo:rustc-check-cfg` lines.
9812pub fn emit_check_cfg_directives() {
9813    println!("cargo:rustc-check-cfg=cfg(not_really_docsrs)");
9814    println!("cargo:rustc-check-cfg=cfg(semver_checks)");
9815    for cfg in Chip::all_possible_symbols() {
9816        println!("cargo:rustc-check-cfg=cfg({cfg})");
9817    }
9818}