esp_metadata_generated/
_build_script_utils.rs

1// Do NOT edit this file directly. Make your changes to esp-metadata,
2// then run `cargo xtask update-metadata`.
3
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    Esp32s2,
47    Esp32s3,
48}
49impl core::str::FromStr for Chip {
50    type Err = alloc::string::String;
51    fn from_str(s: &str) -> Result<Self, Self::Err> {
52        match s {
53            "esp32" => Ok(Self::Esp32),
54            "esp32c2" => Ok(Self::Esp32c2),
55            "esp32c3" => Ok(Self::Esp32c3),
56            "esp32c5" => Ok(Self::Esp32c5),
57            "esp32c6" => Ok(Self::Esp32c6),
58            "esp32c61" => Ok(Self::Esp32c61),
59            "esp32h2" => Ok(Self::Esp32h2),
60            "esp32s2" => Ok(Self::Esp32s2),
61            "esp32s3" => Ok(Self::Esp32s3),
62            _ => Err(alloc::format!(
63                "Unknown chip {s}. Possible options: esp32, esp32c2, esp32c3, esp32c5, esp32c6, \
64                 esp32c61, esp32h2, esp32s2, esp32s3"
65            )),
66        }
67    }
68}
69impl Chip {
70    /// Tries to extract the active chip from the active cargo features.
71    ///
72    /// Exactly one device feature must be enabled for this function to succeed.
73    pub fn from_cargo_feature() -> Result<Self, &'static str> {
74        let all_chips = [
75            ("CARGO_FEATURE_ESP32", Self::Esp32),
76            ("CARGO_FEATURE_ESP32C2", Self::Esp32c2),
77            ("CARGO_FEATURE_ESP32C3", Self::Esp32c3),
78            ("CARGO_FEATURE_ESP32C5", Self::Esp32c5),
79            ("CARGO_FEATURE_ESP32C6", Self::Esp32c6),
80            ("CARGO_FEATURE_ESP32C61", Self::Esp32c61),
81            ("CARGO_FEATURE_ESP32H2", Self::Esp32h2),
82            ("CARGO_FEATURE_ESP32S2", Self::Esp32s2),
83            ("CARGO_FEATURE_ESP32S3", Self::Esp32s3),
84        ];
85        let mut chip = None;
86        for (env, c) in all_chips {
87            if std::env::var(env).is_ok() {
88                if chip.is_some() {
89                    return Err(
90                        "Expected exactly one of the following features to be enabled: esp32, \
91                         esp32c2, esp32c3, esp32c5, esp32c6, esp32c61, esp32h2, esp32s2, esp32s3",
92                    );
93                }
94                chip = Some(c);
95            }
96        }
97        match chip {
98            Some(chip) => Ok(chip),
99            None => Err(
100                "Expected exactly one of the following features to be enabled: esp32, esp32c2, \
101                 esp32c3, esp32c5, esp32c6, esp32c61, esp32h2, esp32s2, esp32s3",
102            ),
103        }
104    }
105    /// Returns whether the current chip uses the Tensilica Xtensa ISA.
106    pub fn is_xtensa(self) -> bool {
107        self.config().architecture == "xtensa"
108    }
109    /// The target triple of the current chip.
110    pub fn target(self) -> &'static str {
111        self.config().target
112    }
113    /// The simple name of the current chip.
114    ///
115    /// ## Example
116    ///
117    /// ```rust,no_run
118    /// assert_eq!(Chip::Esp32s3.name(), "esp32s3");
119    /// ```
120    pub fn name(self) -> &'static str {
121        match self {
122            Self::Esp32 => "esp32",
123            Self::Esp32c2 => "esp32c2",
124            Self::Esp32c3 => "esp32c3",
125            Self::Esp32c5 => "esp32c5",
126            Self::Esp32c6 => "esp32c6",
127            Self::Esp32c61 => "esp32c61",
128            Self::Esp32h2 => "esp32h2",
129            Self::Esp32s2 => "esp32s2",
130            Self::Esp32s3 => "esp32s3",
131        }
132    }
133    /// Returns whether the chip configuration contains the given symbol.
134    ///
135    /// This function is a short-hand for `self.all_symbols().contains(&symbol)`.
136    ///
137    /// ## Example
138    ///
139    /// ```rust,no_run
140    /// assert!(Chip::Esp32s3.contains("soc_has_pcnt"));
141    /// ```
142    pub fn contains(self, symbol: &str) -> bool {
143        self.all_symbols().contains(&symbol)
144    }
145    /// Calling this function will define all cfg symbols for the firmware crate to use.
146    pub fn define_cfgs(self) {
147        self.config().define_cfgs()
148    }
149    /// Returns all symbols as a big slice.
150    ///
151    /// ## Example
152    ///
153    /// ```rust,no_run
154    /// assert!(Chip::Esp32s3.all_symbols().contains("soc_has_pcnt"));
155    /// ```
156    pub fn all_symbols(&self) -> &'static [&'static str] {
157        self.config().symbols
158    }
159    /// Returns memory layout information.
160    pub fn memory_layout(&self) -> &'static MemoryLayout {
161        self.config().memory_layout
162    }
163    /// Returns information about all pins.
164    pub fn pins(&self) -> &'static [PinInfo] {
165        self.config().pins
166    }
167    /// Returns an iterator over all chips.
168    ///
169    /// ## Example
170    ///
171    /// ```rust,no_run
172    /// assert!(Chip::iter().any(|c| c == Chip::Esp32));
173    /// ```
174    pub fn iter() -> impl Iterator<Item = Chip> {
175        [
176            Self::Esp32,
177            Self::Esp32c2,
178            Self::Esp32c3,
179            Self::Esp32c5,
180            Self::Esp32c6,
181            Self::Esp32c61,
182            Self::Esp32h2,
183            Self::Esp32s2,
184            Self::Esp32s3,
185        ]
186        .into_iter()
187    }
188    fn config(self) -> Config {
189        match self {
190            Self::Esp32 => Config {
191                architecture: "xtensa",
192                target: "xtensa-esp32-none-elf",
193                symbols: &[
194                    "esp32",
195                    "xtensa",
196                    "multi_core",
197                    "soc_has_aes",
198                    "soc_has_apb_ctrl",
199                    "soc_has_bb",
200                    "soc_has_dport",
201                    "soc_has_system",
202                    "soc_has_efuse",
203                    "soc_has_emac_dma",
204                    "soc_has_emac_ext",
205                    "soc_has_emac_mac",
206                    "soc_has_flash_encryption",
207                    "soc_has_frc_timer",
208                    "soc_has_gpio",
209                    "soc_has_gpio_sd",
210                    "soc_has_hinf",
211                    "soc_has_i2c0",
212                    "soc_has_i2c1",
213                    "soc_has_i2s0",
214                    "soc_has_i2s1",
215                    "soc_has_io_mux",
216                    "soc_has_ledc",
217                    "soc_has_mcpwm0",
218                    "soc_has_mcpwm1",
219                    "soc_has_nrx",
220                    "soc_has_pcnt",
221                    "soc_has_rmt",
222                    "soc_has_rng",
223                    "soc_has_rsa",
224                    "soc_has_lpwr",
225                    "soc_has_rtc_i2c",
226                    "soc_has_rtc_io",
227                    "soc_has_sdhost",
228                    "soc_has_sens",
229                    "soc_has_sha",
230                    "soc_has_slc",
231                    "soc_has_slchost",
232                    "soc_has_spi0",
233                    "soc_has_spi1",
234                    "soc_has_spi2",
235                    "soc_has_spi3",
236                    "soc_has_timg0",
237                    "soc_has_timg1",
238                    "soc_has_twai0",
239                    "soc_has_uart0",
240                    "soc_has_uart1",
241                    "soc_has_uart2",
242                    "soc_has_uhci0",
243                    "soc_has_uhci1",
244                    "soc_has_wifi",
245                    "soc_has_dma_spi2",
246                    "soc_has_dma_spi3",
247                    "soc_has_dma_i2s0",
248                    "soc_has_dma_i2s1",
249                    "soc_has_adc1",
250                    "soc_has_adc2",
251                    "soc_has_bt",
252                    "soc_has_cpu_ctrl",
253                    "soc_has_dac1",
254                    "soc_has_dac2",
255                    "soc_has_flash",
256                    "soc_has_psram",
257                    "soc_has_sw_interrupt",
258                    "soc_has_touch",
259                    "phy",
260                    "touch",
261                    "rom_crc_le",
262                    "rom_crc_be",
263                    "rom_md5_bsd",
264                    "pm_support_ext0_wakeup",
265                    "pm_support_ext1_wakeup",
266                    "pm_support_touch_sensor_wakeup",
267                    "ulp_supported",
268                    "adc_driver_supported",
269                    "aes_driver_supported",
270                    "bt_driver_supported",
271                    "dac_driver_supported",
272                    "dma_driver_supported",
273                    "gpio_driver_supported",
274                    "i2c_master_driver_supported",
275                    "i2s_driver_supported",
276                    "interrupts_driver_supported",
277                    "io_mux_driver_supported",
278                    "ledc_driver_supported",
279                    "mcpwm_driver_supported",
280                    "pcnt_driver_supported",
281                    "phy_driver_supported",
282                    "psram_driver_supported",
283                    "rgb_display_driver_supported",
284                    "rmt_driver_supported",
285                    "rng_driver_supported",
286                    "rsa_driver_supported",
287                    "lp_timer_driver_supported",
288                    "sd_host_driver_supported",
289                    "sd_slave_driver_supported",
290                    "sha_driver_supported",
291                    "sleep_driver_supported",
292                    "soc_driver_supported",
293                    "spi_master_driver_supported",
294                    "spi_slave_driver_supported",
295                    "temp_sensor_driver_supported",
296                    "timergroup_driver_supported",
297                    "touch_driver_supported",
298                    "twai_driver_supported",
299                    "uart_driver_supported",
300                    "ulp_fsm_driver_supported",
301                    "wifi_driver_supported",
302                    "adc_adc1",
303                    "adc_adc2",
304                    "dac_dac1",
305                    "dac_dac2",
306                    "i2c_master_i2c0",
307                    "i2c_master_i2c1",
308                    "spi_master_spi2",
309                    "spi_master_spi3",
310                    "spi_slave_spi2",
311                    "spi_slave_spi3",
312                    "timergroup_timg0",
313                    "timergroup_timg1",
314                    "uart_uart0",
315                    "uart_uart1",
316                    "uart_uart2",
317                    "aes_endianness_configurable",
318                    "bt_controller=\"btdm\"",
319                    "dma_kind=\"pdma\"",
320                    "gpio_has_bank_1",
321                    "gpio_gpio_function=\"2\"",
322                    "gpio_constant_0_input=\"48\"",
323                    "gpio_constant_1_input=\"56\"",
324                    "gpio_remap_iomux_pin_registers",
325                    "gpio_func_in_sel_offset=\"0\"",
326                    "gpio_input_signal_max=\"206\"",
327                    "gpio_output_signal_max=\"256\"",
328                    "i2c_master_separate_filter_config_registers",
329                    "i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
330                    "i2c_master_i2c0_data_register_ahb_address_is_set",
331                    "i2c_master_max_bus_timeout=\"1048575\"",
332                    "i2c_master_ll_intr_mask=\"262143\"",
333                    "i2c_master_fifo_size=\"32\"",
334                    "interrupts_status_registers=\"3\"",
335                    "interrupt_controller=\"xtensa\"",
336                    "phy_combo_module",
337                    "psram_extmem_origin=\"1065353216\"",
338                    "rmt_ram_start=\"1073047552\"",
339                    "rmt_channel_ram_size=\"64\"",
340                    "rmt_has_per_channel_clock",
341                    "rmt_supports_reftick_clock",
342                    "rmt_supports_apb_clock",
343                    "rng_apb_cycle_wait_num=\"16\"",
344                    "rng_trng_supported",
345                    "rsa_size_increment=\"512\"",
346                    "rsa_memory_size_bytes=\"512\"",
347                    "sleep_light_sleep",
348                    "sleep_deep_sleep",
349                    "soc_multi_core_enabled",
350                    "soc_rc_fast_clk_default=\"8500000\"",
351                    "soc_rc_fast_clk_default_is_set",
352                    "soc_has_clock_node_xtal_clk",
353                    "soc_has_clock_node_pll_clk",
354                    "soc_has_clock_node_apll_clk",
355                    "soc_has_clock_node_rc_fast_clk",
356                    "soc_has_clock_node_pll_f160m_clk",
357                    "soc_has_clock_node_cpu_pll_div_in",
358                    "soc_has_clock_node_cpu_pll_div",
359                    "soc_has_clock_node_syscon_pre_div_in",
360                    "soc_has_clock_node_syscon_pre_div",
361                    "soc_has_clock_node_cpu_clk",
362                    "soc_has_clock_node_apb_clk_cpu_div2",
363                    "soc_has_clock_node_apb_clk_80m",
364                    "soc_has_clock_node_apb_clk",
365                    "soc_has_clock_node_ref_tick_pll",
366                    "soc_has_clock_node_ref_tick_apll",
367                    "soc_has_clock_node_ref_tick_xtal",
368                    "soc_has_clock_node_ref_tick_fosc",
369                    "soc_has_clock_node_ref_tick",
370                    "soc_has_clock_node_xtal32k_clk",
371                    "soc_has_clock_node_rc_slow_clk",
372                    "soc_has_clock_node_rc_fast_div_clk",
373                    "soc_has_clock_node_xtal_div_clk",
374                    "soc_has_clock_node_rtc_slow_clk",
375                    "soc_has_clock_node_rtc_fast_clk",
376                    "soc_has_clock_node_uart_mem_clk",
377                    "soc_has_clock_node_timg_calibration_clock",
378                    "soc_has_clock_node_mcpwm_function_clock",
379                    "soc_has_clock_node_uart_function_clock",
380                    "soc_has_clock_node_uart_mem_clock",
381                    "soc_has_clock_node_uart_baud_rate_generator",
382                    "has_dram_region",
383                    "has_dram2_uninit_region",
384                    "spi_master_supports_dma",
385                    "spi_slave_supports_dma",
386                    "timergroup_timg_has_timer1",
387                    "timergroup_rc_fast_calibration_is_set",
388                    "uart_ram_size=\"128\"",
389                    "wifi_mac_version=\"1\"",
390                    "wifi_csi_supported",
391                ],
392                cfgs: &[
393                    "cargo:rustc-cfg=esp32",
394                    "cargo:rustc-cfg=xtensa",
395                    "cargo:rustc-cfg=multi_core",
396                    "cargo:rustc-cfg=soc_has_aes",
397                    "cargo:rustc-cfg=soc_has_apb_ctrl",
398                    "cargo:rustc-cfg=soc_has_bb",
399                    "cargo:rustc-cfg=soc_has_dport",
400                    "cargo:rustc-cfg=soc_has_system",
401                    "cargo:rustc-cfg=soc_has_efuse",
402                    "cargo:rustc-cfg=soc_has_emac_dma",
403                    "cargo:rustc-cfg=soc_has_emac_ext",
404                    "cargo:rustc-cfg=soc_has_emac_mac",
405                    "cargo:rustc-cfg=soc_has_flash_encryption",
406                    "cargo:rustc-cfg=soc_has_frc_timer",
407                    "cargo:rustc-cfg=soc_has_gpio",
408                    "cargo:rustc-cfg=soc_has_gpio_sd",
409                    "cargo:rustc-cfg=soc_has_hinf",
410                    "cargo:rustc-cfg=soc_has_i2c0",
411                    "cargo:rustc-cfg=soc_has_i2c1",
412                    "cargo:rustc-cfg=soc_has_i2s0",
413                    "cargo:rustc-cfg=soc_has_i2s1",
414                    "cargo:rustc-cfg=soc_has_io_mux",
415                    "cargo:rustc-cfg=soc_has_ledc",
416                    "cargo:rustc-cfg=soc_has_mcpwm0",
417                    "cargo:rustc-cfg=soc_has_mcpwm1",
418                    "cargo:rustc-cfg=soc_has_nrx",
419                    "cargo:rustc-cfg=soc_has_pcnt",
420                    "cargo:rustc-cfg=soc_has_rmt",
421                    "cargo:rustc-cfg=soc_has_rng",
422                    "cargo:rustc-cfg=soc_has_rsa",
423                    "cargo:rustc-cfg=soc_has_lpwr",
424                    "cargo:rustc-cfg=soc_has_rtc_i2c",
425                    "cargo:rustc-cfg=soc_has_rtc_io",
426                    "cargo:rustc-cfg=soc_has_sdhost",
427                    "cargo:rustc-cfg=soc_has_sens",
428                    "cargo:rustc-cfg=soc_has_sha",
429                    "cargo:rustc-cfg=soc_has_slc",
430                    "cargo:rustc-cfg=soc_has_slchost",
431                    "cargo:rustc-cfg=soc_has_spi0",
432                    "cargo:rustc-cfg=soc_has_spi1",
433                    "cargo:rustc-cfg=soc_has_spi2",
434                    "cargo:rustc-cfg=soc_has_spi3",
435                    "cargo:rustc-cfg=soc_has_timg0",
436                    "cargo:rustc-cfg=soc_has_timg1",
437                    "cargo:rustc-cfg=soc_has_twai0",
438                    "cargo:rustc-cfg=soc_has_uart0",
439                    "cargo:rustc-cfg=soc_has_uart1",
440                    "cargo:rustc-cfg=soc_has_uart2",
441                    "cargo:rustc-cfg=soc_has_uhci0",
442                    "cargo:rustc-cfg=soc_has_uhci1",
443                    "cargo:rustc-cfg=soc_has_wifi",
444                    "cargo:rustc-cfg=soc_has_dma_spi2",
445                    "cargo:rustc-cfg=soc_has_dma_spi3",
446                    "cargo:rustc-cfg=soc_has_dma_i2s0",
447                    "cargo:rustc-cfg=soc_has_dma_i2s1",
448                    "cargo:rustc-cfg=soc_has_adc1",
449                    "cargo:rustc-cfg=soc_has_adc2",
450                    "cargo:rustc-cfg=soc_has_bt",
451                    "cargo:rustc-cfg=soc_has_cpu_ctrl",
452                    "cargo:rustc-cfg=soc_has_dac1",
453                    "cargo:rustc-cfg=soc_has_dac2",
454                    "cargo:rustc-cfg=soc_has_flash",
455                    "cargo:rustc-cfg=soc_has_psram",
456                    "cargo:rustc-cfg=soc_has_sw_interrupt",
457                    "cargo:rustc-cfg=soc_has_touch",
458                    "cargo:rustc-cfg=phy",
459                    "cargo:rustc-cfg=touch",
460                    "cargo:rustc-cfg=rom_crc_le",
461                    "cargo:rustc-cfg=rom_crc_be",
462                    "cargo:rustc-cfg=rom_md5_bsd",
463                    "cargo:rustc-cfg=pm_support_ext0_wakeup",
464                    "cargo:rustc-cfg=pm_support_ext1_wakeup",
465                    "cargo:rustc-cfg=pm_support_touch_sensor_wakeup",
466                    "cargo:rustc-cfg=ulp_supported",
467                    "cargo:rustc-cfg=adc_driver_supported",
468                    "cargo:rustc-cfg=aes_driver_supported",
469                    "cargo:rustc-cfg=bt_driver_supported",
470                    "cargo:rustc-cfg=dac_driver_supported",
471                    "cargo:rustc-cfg=dma_driver_supported",
472                    "cargo:rustc-cfg=gpio_driver_supported",
473                    "cargo:rustc-cfg=i2c_master_driver_supported",
474                    "cargo:rustc-cfg=i2s_driver_supported",
475                    "cargo:rustc-cfg=interrupts_driver_supported",
476                    "cargo:rustc-cfg=io_mux_driver_supported",
477                    "cargo:rustc-cfg=ledc_driver_supported",
478                    "cargo:rustc-cfg=mcpwm_driver_supported",
479                    "cargo:rustc-cfg=pcnt_driver_supported",
480                    "cargo:rustc-cfg=phy_driver_supported",
481                    "cargo:rustc-cfg=psram_driver_supported",
482                    "cargo:rustc-cfg=rgb_display_driver_supported",
483                    "cargo:rustc-cfg=rmt_driver_supported",
484                    "cargo:rustc-cfg=rng_driver_supported",
485                    "cargo:rustc-cfg=rsa_driver_supported",
486                    "cargo:rustc-cfg=lp_timer_driver_supported",
487                    "cargo:rustc-cfg=sd_host_driver_supported",
488                    "cargo:rustc-cfg=sd_slave_driver_supported",
489                    "cargo:rustc-cfg=sha_driver_supported",
490                    "cargo:rustc-cfg=sleep_driver_supported",
491                    "cargo:rustc-cfg=soc_driver_supported",
492                    "cargo:rustc-cfg=spi_master_driver_supported",
493                    "cargo:rustc-cfg=spi_slave_driver_supported",
494                    "cargo:rustc-cfg=temp_sensor_driver_supported",
495                    "cargo:rustc-cfg=timergroup_driver_supported",
496                    "cargo:rustc-cfg=touch_driver_supported",
497                    "cargo:rustc-cfg=twai_driver_supported",
498                    "cargo:rustc-cfg=uart_driver_supported",
499                    "cargo:rustc-cfg=ulp_fsm_driver_supported",
500                    "cargo:rustc-cfg=wifi_driver_supported",
501                    "cargo:rustc-cfg=adc_adc1",
502                    "cargo:rustc-cfg=adc_adc2",
503                    "cargo:rustc-cfg=dac_dac1",
504                    "cargo:rustc-cfg=dac_dac2",
505                    "cargo:rustc-cfg=i2c_master_i2c0",
506                    "cargo:rustc-cfg=i2c_master_i2c1",
507                    "cargo:rustc-cfg=spi_master_spi2",
508                    "cargo:rustc-cfg=spi_master_spi3",
509                    "cargo:rustc-cfg=spi_slave_spi2",
510                    "cargo:rustc-cfg=spi_slave_spi3",
511                    "cargo:rustc-cfg=timergroup_timg0",
512                    "cargo:rustc-cfg=timergroup_timg1",
513                    "cargo:rustc-cfg=uart_uart0",
514                    "cargo:rustc-cfg=uart_uart1",
515                    "cargo:rustc-cfg=uart_uart2",
516                    "cargo:rustc-cfg=aes_endianness_configurable",
517                    "cargo:rustc-cfg=bt_controller=\"btdm\"",
518                    "cargo:rustc-cfg=dma_kind=\"pdma\"",
519                    "cargo:rustc-cfg=gpio_has_bank_1",
520                    "cargo:rustc-cfg=gpio_gpio_function=\"2\"",
521                    "cargo:rustc-cfg=gpio_constant_0_input=\"48\"",
522                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
523                    "cargo:rustc-cfg=gpio_remap_iomux_pin_registers",
524                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
525                    "cargo:rustc-cfg=gpio_input_signal_max=\"206\"",
526                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
527                    "cargo:rustc-cfg=i2c_master_separate_filter_config_registers",
528                    "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
529                    "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address_is_set",
530                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"1048575\"",
531                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
532                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
533                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
534                    "cargo:rustc-cfg=interrupt_controller=\"xtensa\"",
535                    "cargo:rustc-cfg=phy_combo_module",
536                    "cargo:rustc-cfg=psram_extmem_origin=\"1065353216\"",
537                    "cargo:rustc-cfg=rmt_ram_start=\"1073047552\"",
538                    "cargo:rustc-cfg=rmt_channel_ram_size=\"64\"",
539                    "cargo:rustc-cfg=rmt_has_per_channel_clock",
540                    "cargo:rustc-cfg=rmt_supports_reftick_clock",
541                    "cargo:rustc-cfg=rmt_supports_apb_clock",
542                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
543                    "cargo:rustc-cfg=rng_trng_supported",
544                    "cargo:rustc-cfg=rsa_size_increment=\"512\"",
545                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
546                    "cargo:rustc-cfg=sleep_light_sleep",
547                    "cargo:rustc-cfg=sleep_deep_sleep",
548                    "cargo:rustc-cfg=soc_multi_core_enabled",
549                    "cargo:rustc-cfg=soc_rc_fast_clk_default=\"8500000\"",
550                    "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
551                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
552                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
553                    "cargo:rustc-cfg=soc_has_clock_node_apll_clk",
554                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
555                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m_clk",
556                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div_in",
557                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div",
558                    "cargo:rustc-cfg=soc_has_clock_node_syscon_pre_div_in",
559                    "cargo:rustc-cfg=soc_has_clock_node_syscon_pre_div",
560                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
561                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk_cpu_div2",
562                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk_80m",
563                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
564                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_pll",
565                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_apll",
566                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_xtal",
567                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_fosc",
568                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick",
569                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
570                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
571                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_div_clk",
572                    "cargo:rustc-cfg=soc_has_clock_node_xtal_div_clk",
573                    "cargo:rustc-cfg=soc_has_clock_node_rtc_slow_clk",
574                    "cargo:rustc-cfg=soc_has_clock_node_rtc_fast_clk",
575                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clk",
576                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
577                    "cargo:rustc-cfg=soc_has_clock_node_mcpwm_function_clock",
578                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
579                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
580                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
581                    "cargo:rustc-cfg=has_dram_region",
582                    "cargo:rustc-cfg=has_dram2_uninit_region",
583                    "cargo:rustc-cfg=spi_master_supports_dma",
584                    "cargo:rustc-cfg=spi_slave_supports_dma",
585                    "cargo:rustc-cfg=timergroup_timg_has_timer1",
586                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
587                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
588                    "cargo:rustc-cfg=wifi_mac_version=\"1\"",
589                    "cargo:rustc-cfg=wifi_csi_supported",
590                ],
591                memory_layout: &MemoryLayout {
592                    regions: &[
593                        (
594                            "dram",
595                            MemoryRegion {
596                                address_range: 0x3FFAE000..0x40000000,
597                            },
598                        ),
599                        (
600                            "dram2_uninit",
601                            MemoryRegion {
602                                address_range: 0x3FFE7E30..0x40000000,
603                            },
604                        ),
605                    ],
606                },
607                pins: &[
608                    PinInfo {
609                        pin: 0,
610                        limitations: &["strapping"],
611                    },
612                    PinInfo {
613                        pin: 1,
614                        limitations: &["bootloader_uart"],
615                    },
616                    PinInfo {
617                        pin: 2,
618                        limitations: &["strapping"],
619                    },
620                    PinInfo {
621                        pin: 3,
622                        limitations: &["bootloader_uart"],
623                    },
624                    PinInfo {
625                        pin: 4,
626                        limitations: &[],
627                    },
628                    PinInfo {
629                        pin: 5,
630                        limitations: &["strapping"],
631                    },
632                    PinInfo {
633                        pin: 6,
634                        limitations: &["spi_flash", "spi_psram"],
635                    },
636                    PinInfo {
637                        pin: 7,
638                        limitations: &["spi_flash", "spi_psram"],
639                    },
640                    PinInfo {
641                        pin: 8,
642                        limitations: &["spi_flash", "spi_psram"],
643                    },
644                    PinInfo {
645                        pin: 9,
646                        limitations: &["spi_flash", "spi_psram"],
647                    },
648                    PinInfo {
649                        pin: 10,
650                        limitations: &["spi_flash", "spi_psram"],
651                    },
652                    PinInfo {
653                        pin: 11,
654                        limitations: &["spi_flash", "spi_psram"],
655                    },
656                    PinInfo {
657                        pin: 12,
658                        limitations: &["strapping", "jtag"],
659                    },
660                    PinInfo {
661                        pin: 13,
662                        limitations: &["jtag"],
663                    },
664                    PinInfo {
665                        pin: 14,
666                        limitations: &["jtag"],
667                    },
668                    PinInfo {
669                        pin: 15,
670                        limitations: &["strapping", "jtag"],
671                    },
672                    PinInfo {
673                        pin: 16,
674                        limitations: &["spi_flash", "spi_psram"],
675                    },
676                    PinInfo {
677                        pin: 17,
678                        limitations: &["spi_psram"],
679                    },
680                    PinInfo {
681                        pin: 18,
682                        limitations: &[],
683                    },
684                    PinInfo {
685                        pin: 19,
686                        limitations: &[],
687                    },
688                    PinInfo {
689                        pin: 20,
690                        limitations: &["esp32_pico_v3"],
691                    },
692                    PinInfo {
693                        pin: 21,
694                        limitations: &[],
695                    },
696                    PinInfo {
697                        pin: 22,
698                        limitations: &[],
699                    },
700                    PinInfo {
701                        pin: 23,
702                        limitations: &[],
703                    },
704                    PinInfo {
705                        pin: 25,
706                        limitations: &[],
707                    },
708                    PinInfo {
709                        pin: 26,
710                        limitations: &[],
711                    },
712                    PinInfo {
713                        pin: 27,
714                        limitations: &[],
715                    },
716                    PinInfo {
717                        pin: 32,
718                        limitations: &[],
719                    },
720                    PinInfo {
721                        pin: 33,
722                        limitations: &[],
723                    },
724                    PinInfo {
725                        pin: 34,
726                        limitations: &["input_only"],
727                    },
728                    PinInfo {
729                        pin: 35,
730                        limitations: &["input_only"],
731                    },
732                    PinInfo {
733                        pin: 36,
734                        limitations: &["input_only"],
735                    },
736                    PinInfo {
737                        pin: 37,
738                        limitations: &["input_only"],
739                    },
740                    PinInfo {
741                        pin: 38,
742                        limitations: &["input_only"],
743                    },
744                    PinInfo {
745                        pin: 39,
746                        limitations: &["input_only"],
747                    },
748                ],
749            },
750            Self::Esp32c2 => Config {
751                architecture: "riscv",
752                target: "riscv32imc-unknown-none-elf",
753                symbols: &[
754                    "esp32c2",
755                    "riscv",
756                    "single_core",
757                    "soc_has_apb_ctrl",
758                    "soc_has_apb_saradc",
759                    "soc_has_bb",
760                    "soc_has_assist_debug",
761                    "soc_has_dma",
762                    "soc_has_ecc",
763                    "soc_has_efuse",
764                    "soc_has_extmem",
765                    "soc_has_gpio",
766                    "soc_has_i2c_ana_mst",
767                    "soc_has_i2c0",
768                    "soc_has_interrupt_core0",
769                    "soc_has_io_mux",
770                    "soc_has_ledc",
771                    "soc_has_rng",
772                    "soc_has_lpwr",
773                    "soc_has_modem_clkrst",
774                    "soc_has_sensitive",
775                    "soc_has_sha",
776                    "soc_has_spi0",
777                    "soc_has_spi1",
778                    "soc_has_spi2",
779                    "soc_has_system",
780                    "soc_has_systimer",
781                    "soc_has_timg0",
782                    "soc_has_uart0",
783                    "soc_has_uart1",
784                    "soc_has_xts_aes",
785                    "soc_has_dma_ch0",
786                    "soc_has_adc1",
787                    "soc_has_bt",
788                    "soc_has_flash",
789                    "soc_has_gpio_dedicated",
790                    "soc_has_sw_interrupt",
791                    "soc_has_wifi",
792                    "phy",
793                    "swd",
794                    "rom_crc_le",
795                    "rom_crc_be",
796                    "rom_md5_mbedtls",
797                    "pm_support_wifi_wakeup",
798                    "pm_support_bt_wakeup",
799                    "uart_support_wakeup_int",
800                    "gpio_support_deepsleep_wakeup",
801                    "adc_driver_supported",
802                    "assist_debug_driver_supported",
803                    "bt_driver_supported",
804                    "dedicated_gpio_driver_supported",
805                    "dma_driver_supported",
806                    "ecc_driver_supported",
807                    "gpio_driver_supported",
808                    "i2c_master_driver_supported",
809                    "interrupts_driver_supported",
810                    "io_mux_driver_supported",
811                    "ledc_driver_supported",
812                    "phy_driver_supported",
813                    "rng_driver_supported",
814                    "lp_timer_driver_supported",
815                    "sha_driver_supported",
816                    "sleep_driver_supported",
817                    "soc_driver_supported",
818                    "spi_master_driver_supported",
819                    "spi_slave_driver_supported",
820                    "systimer_driver_supported",
821                    "temp_sensor_driver_supported",
822                    "timergroup_driver_supported",
823                    "uart_driver_supported",
824                    "wifi_driver_supported",
825                    "adc_adc1",
826                    "i2c_master_i2c0",
827                    "spi_master_spi2",
828                    "spi_slave_spi2",
829                    "timergroup_timg0",
830                    "uart_uart0",
831                    "uart_uart1",
832                    "assist_debug_has_sp_monitor",
833                    "bt_controller=\"npl\"",
834                    "dma_kind=\"gdma\"",
835                    "dma_supports_mem2mem",
836                    "dma_max_priority=\"9\"",
837                    "dma_max_priority_is_set",
838                    "dma_gdma_version=\"1\"",
839                    "dma_gdma_version_is_set",
840                    "ecc_zero_extend_writes",
841                    "ecc_has_finite_field_division",
842                    "ecc_has_curve_p192",
843                    "ecc_has_curve_p256",
844                    "gpio_gpio_function=\"1\"",
845                    "gpio_constant_0_input=\"31\"",
846                    "gpio_constant_1_input=\"30\"",
847                    "gpio_func_in_sel_offset=\"0\"",
848                    "gpio_input_signal_max=\"100\"",
849                    "gpio_output_signal_max=\"128\"",
850                    "i2c_master_has_fsm_timeouts",
851                    "i2c_master_has_hw_bus_clear",
852                    "i2c_master_has_bus_timeout_enable",
853                    "i2c_master_has_conf_update",
854                    "i2c_master_has_arbitration_en",
855                    "i2c_master_has_tx_fifo_watermark",
856                    "i2c_master_bus_timeout_is_exponential",
857                    "i2c_master_max_bus_timeout=\"31\"",
858                    "i2c_master_ll_intr_mask=\"262143\"",
859                    "i2c_master_fifo_size=\"16\"",
860                    "interrupts_status_registers=\"2\"",
861                    "interrupt_controller=\"riscv_basic\"",
862                    "phy_combo_module",
863                    "rng_apb_cycle_wait_num=\"16\"",
864                    "rng_trng_supported",
865                    "sha_dma",
866                    "sleep_light_sleep",
867                    "sleep_deep_sleep",
868                    "soc_cpu_has_csr_pc",
869                    "soc_rc_fast_clk_default=\"17500000\"",
870                    "soc_rc_fast_clk_default_is_set",
871                    "soc_has_clock_node_xtal_clk",
872                    "soc_has_clock_node_pll_clk",
873                    "soc_has_clock_node_rc_fast_clk",
874                    "soc_has_clock_node_osc_slow_clk",
875                    "soc_has_clock_node_rc_slow_clk",
876                    "soc_has_clock_node_rc_fast_div_clk",
877                    "soc_has_clock_node_system_pre_div_in",
878                    "soc_has_clock_node_system_pre_div",
879                    "soc_has_clock_node_cpu_pll_div",
880                    "soc_has_clock_node_cpu_clk",
881                    "soc_has_clock_node_pll_40m",
882                    "soc_has_clock_node_pll_60m",
883                    "soc_has_clock_node_pll_80m",
884                    "soc_has_clock_node_cpu_div2",
885                    "soc_has_clock_node_apb_clk",
886                    "soc_has_clock_node_crypto_clk",
887                    "soc_has_clock_node_mspi_clk",
888                    "soc_has_clock_node_rc_fast_clk_div_n",
889                    "soc_has_clock_node_xtal_div_clk",
890                    "soc_has_clock_node_rtc_slow_clk",
891                    "soc_has_clock_node_rtc_fast_clk",
892                    "soc_has_clock_node_low_power_clk",
893                    "soc_has_clock_node_uart_mem_clk",
894                    "soc_has_clock_node_timg_calibration_clock",
895                    "soc_has_clock_node_timg_function_clock",
896                    "soc_has_clock_node_timg_wdt_clock",
897                    "soc_has_clock_node_uart_function_clock",
898                    "soc_has_clock_node_uart_mem_clock",
899                    "soc_has_clock_node_uart_baud_rate_generator",
900                    "has_dram_region",
901                    "has_dram2_uninit_region",
902                    "spi_master_supports_dma",
903                    "spi_master_has_app_interrupts",
904                    "spi_master_has_dma_segmented_transfer",
905                    "spi_slave_supports_dma",
906                    "timergroup_timg_has_divcnt_rst",
907                    "timergroup_rc_fast_calibration_is_set",
908                    "uart_ram_size=\"128\"",
909                    "uart_has_sclk_divider",
910                    "wifi_mac_version=\"1\"",
911                ],
912                cfgs: &[
913                    "cargo:rustc-cfg=esp32c2",
914                    "cargo:rustc-cfg=riscv",
915                    "cargo:rustc-cfg=single_core",
916                    "cargo:rustc-cfg=soc_has_apb_ctrl",
917                    "cargo:rustc-cfg=soc_has_apb_saradc",
918                    "cargo:rustc-cfg=soc_has_bb",
919                    "cargo:rustc-cfg=soc_has_assist_debug",
920                    "cargo:rustc-cfg=soc_has_dma",
921                    "cargo:rustc-cfg=soc_has_ecc",
922                    "cargo:rustc-cfg=soc_has_efuse",
923                    "cargo:rustc-cfg=soc_has_extmem",
924                    "cargo:rustc-cfg=soc_has_gpio",
925                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
926                    "cargo:rustc-cfg=soc_has_i2c0",
927                    "cargo:rustc-cfg=soc_has_interrupt_core0",
928                    "cargo:rustc-cfg=soc_has_io_mux",
929                    "cargo:rustc-cfg=soc_has_ledc",
930                    "cargo:rustc-cfg=soc_has_rng",
931                    "cargo:rustc-cfg=soc_has_lpwr",
932                    "cargo:rustc-cfg=soc_has_modem_clkrst",
933                    "cargo:rustc-cfg=soc_has_sensitive",
934                    "cargo:rustc-cfg=soc_has_sha",
935                    "cargo:rustc-cfg=soc_has_spi0",
936                    "cargo:rustc-cfg=soc_has_spi1",
937                    "cargo:rustc-cfg=soc_has_spi2",
938                    "cargo:rustc-cfg=soc_has_system",
939                    "cargo:rustc-cfg=soc_has_systimer",
940                    "cargo:rustc-cfg=soc_has_timg0",
941                    "cargo:rustc-cfg=soc_has_uart0",
942                    "cargo:rustc-cfg=soc_has_uart1",
943                    "cargo:rustc-cfg=soc_has_xts_aes",
944                    "cargo:rustc-cfg=soc_has_dma_ch0",
945                    "cargo:rustc-cfg=soc_has_adc1",
946                    "cargo:rustc-cfg=soc_has_bt",
947                    "cargo:rustc-cfg=soc_has_flash",
948                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
949                    "cargo:rustc-cfg=soc_has_sw_interrupt",
950                    "cargo:rustc-cfg=soc_has_wifi",
951                    "cargo:rustc-cfg=phy",
952                    "cargo:rustc-cfg=swd",
953                    "cargo:rustc-cfg=rom_crc_le",
954                    "cargo:rustc-cfg=rom_crc_be",
955                    "cargo:rustc-cfg=rom_md5_mbedtls",
956                    "cargo:rustc-cfg=pm_support_wifi_wakeup",
957                    "cargo:rustc-cfg=pm_support_bt_wakeup",
958                    "cargo:rustc-cfg=uart_support_wakeup_int",
959                    "cargo:rustc-cfg=gpio_support_deepsleep_wakeup",
960                    "cargo:rustc-cfg=adc_driver_supported",
961                    "cargo:rustc-cfg=assist_debug_driver_supported",
962                    "cargo:rustc-cfg=bt_driver_supported",
963                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
964                    "cargo:rustc-cfg=dma_driver_supported",
965                    "cargo:rustc-cfg=ecc_driver_supported",
966                    "cargo:rustc-cfg=gpio_driver_supported",
967                    "cargo:rustc-cfg=i2c_master_driver_supported",
968                    "cargo:rustc-cfg=interrupts_driver_supported",
969                    "cargo:rustc-cfg=io_mux_driver_supported",
970                    "cargo:rustc-cfg=ledc_driver_supported",
971                    "cargo:rustc-cfg=phy_driver_supported",
972                    "cargo:rustc-cfg=rng_driver_supported",
973                    "cargo:rustc-cfg=lp_timer_driver_supported",
974                    "cargo:rustc-cfg=sha_driver_supported",
975                    "cargo:rustc-cfg=sleep_driver_supported",
976                    "cargo:rustc-cfg=soc_driver_supported",
977                    "cargo:rustc-cfg=spi_master_driver_supported",
978                    "cargo:rustc-cfg=spi_slave_driver_supported",
979                    "cargo:rustc-cfg=systimer_driver_supported",
980                    "cargo:rustc-cfg=temp_sensor_driver_supported",
981                    "cargo:rustc-cfg=timergroup_driver_supported",
982                    "cargo:rustc-cfg=uart_driver_supported",
983                    "cargo:rustc-cfg=wifi_driver_supported",
984                    "cargo:rustc-cfg=adc_adc1",
985                    "cargo:rustc-cfg=i2c_master_i2c0",
986                    "cargo:rustc-cfg=spi_master_spi2",
987                    "cargo:rustc-cfg=spi_slave_spi2",
988                    "cargo:rustc-cfg=timergroup_timg0",
989                    "cargo:rustc-cfg=uart_uart0",
990                    "cargo:rustc-cfg=uart_uart1",
991                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
992                    "cargo:rustc-cfg=bt_controller=\"npl\"",
993                    "cargo:rustc-cfg=dma_kind=\"gdma\"",
994                    "cargo:rustc-cfg=dma_supports_mem2mem",
995                    "cargo:rustc-cfg=dma_max_priority=\"9\"",
996                    "cargo:rustc-cfg=dma_max_priority_is_set",
997                    "cargo:rustc-cfg=dma_gdma_version=\"1\"",
998                    "cargo:rustc-cfg=dma_gdma_version_is_set",
999                    "cargo:rustc-cfg=ecc_zero_extend_writes",
1000                    "cargo:rustc-cfg=ecc_has_finite_field_division",
1001                    "cargo:rustc-cfg=ecc_has_curve_p192",
1002                    "cargo:rustc-cfg=ecc_has_curve_p256",
1003                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
1004                    "cargo:rustc-cfg=gpio_constant_0_input=\"31\"",
1005                    "cargo:rustc-cfg=gpio_constant_1_input=\"30\"",
1006                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
1007                    "cargo:rustc-cfg=gpio_input_signal_max=\"100\"",
1008                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
1009                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
1010                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
1011                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
1012                    "cargo:rustc-cfg=i2c_master_has_conf_update",
1013                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
1014                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
1015                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
1016                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
1017                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
1018                    "cargo:rustc-cfg=i2c_master_fifo_size=\"16\"",
1019                    "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
1020                    "cargo:rustc-cfg=interrupt_controller=\"riscv_basic\"",
1021                    "cargo:rustc-cfg=phy_combo_module",
1022                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
1023                    "cargo:rustc-cfg=rng_trng_supported",
1024                    "cargo:rustc-cfg=sha_dma",
1025                    "cargo:rustc-cfg=sleep_light_sleep",
1026                    "cargo:rustc-cfg=sleep_deep_sleep",
1027                    "cargo:rustc-cfg=soc_cpu_has_csr_pc",
1028                    "cargo:rustc-cfg=soc_rc_fast_clk_default=\"17500000\"",
1029                    "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
1030                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
1031                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
1032                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
1033                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
1034                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
1035                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_div_clk",
1036                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div_in",
1037                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div",
1038                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div",
1039                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
1040                    "cargo:rustc-cfg=soc_has_clock_node_pll_40m",
1041                    "cargo:rustc-cfg=soc_has_clock_node_pll_60m",
1042                    "cargo:rustc-cfg=soc_has_clock_node_pll_80m",
1043                    "cargo:rustc-cfg=soc_has_clock_node_cpu_div2",
1044                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
1045                    "cargo:rustc-cfg=soc_has_clock_node_crypto_clk",
1046                    "cargo:rustc-cfg=soc_has_clock_node_mspi_clk",
1047                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk_div_n",
1048                    "cargo:rustc-cfg=soc_has_clock_node_xtal_div_clk",
1049                    "cargo:rustc-cfg=soc_has_clock_node_rtc_slow_clk",
1050                    "cargo:rustc-cfg=soc_has_clock_node_rtc_fast_clk",
1051                    "cargo:rustc-cfg=soc_has_clock_node_low_power_clk",
1052                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clk",
1053                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
1054                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
1055                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
1056                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
1057                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
1058                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
1059                    "cargo:rustc-cfg=has_dram_region",
1060                    "cargo:rustc-cfg=has_dram2_uninit_region",
1061                    "cargo:rustc-cfg=spi_master_supports_dma",
1062                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
1063                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
1064                    "cargo:rustc-cfg=spi_slave_supports_dma",
1065                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
1066                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
1067                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
1068                    "cargo:rustc-cfg=uart_has_sclk_divider",
1069                    "cargo:rustc-cfg=wifi_mac_version=\"1\"",
1070                ],
1071                memory_layout: &MemoryLayout {
1072                    regions: &[
1073                        (
1074                            "dram",
1075                            MemoryRegion {
1076                                address_range: 0x3FCA0000..0x3FCE0000,
1077                            },
1078                        ),
1079                        (
1080                            "dram2_uninit",
1081                            MemoryRegion {
1082                                address_range: 0x3FCCE800..0x3FCDEB70,
1083                            },
1084                        ),
1085                    ],
1086                },
1087                pins: &[
1088                    PinInfo {
1089                        pin: 0,
1090                        limitations: &[],
1091                    },
1092                    PinInfo {
1093                        pin: 1,
1094                        limitations: &[],
1095                    },
1096                    PinInfo {
1097                        pin: 2,
1098                        limitations: &[],
1099                    },
1100                    PinInfo {
1101                        pin: 3,
1102                        limitations: &[],
1103                    },
1104                    PinInfo {
1105                        pin: 4,
1106                        limitations: &["jtag"],
1107                    },
1108                    PinInfo {
1109                        pin: 5,
1110                        limitations: &["jtag"],
1111                    },
1112                    PinInfo {
1113                        pin: 6,
1114                        limitations: &["jtag"],
1115                    },
1116                    PinInfo {
1117                        pin: 7,
1118                        limitations: &["jtag"],
1119                    },
1120                    PinInfo {
1121                        pin: 8,
1122                        limitations: &["strapping"],
1123                    },
1124                    PinInfo {
1125                        pin: 9,
1126                        limitations: &["strapping"],
1127                    },
1128                    PinInfo {
1129                        pin: 10,
1130                        limitations: &[],
1131                    },
1132                    PinInfo {
1133                        pin: 11,
1134                        limitations: &["spi_flash"],
1135                    },
1136                    PinInfo {
1137                        pin: 12,
1138                        limitations: &["spi_flash"],
1139                    },
1140                    PinInfo {
1141                        pin: 13,
1142                        limitations: &["spi_flash"],
1143                    },
1144                    PinInfo {
1145                        pin: 14,
1146                        limitations: &["spi_flash"],
1147                    },
1148                    PinInfo {
1149                        pin: 15,
1150                        limitations: &["spi_flash"],
1151                    },
1152                    PinInfo {
1153                        pin: 16,
1154                        limitations: &["spi_flash"],
1155                    },
1156                    PinInfo {
1157                        pin: 17,
1158                        limitations: &["spi_flash"],
1159                    },
1160                    PinInfo {
1161                        pin: 18,
1162                        limitations: &[],
1163                    },
1164                    PinInfo {
1165                        pin: 19,
1166                        limitations: &["bootloader_uart"],
1167                    },
1168                    PinInfo {
1169                        pin: 20,
1170                        limitations: &["bootloader_uart"],
1171                    },
1172                ],
1173            },
1174            Self::Esp32c3 => Config {
1175                architecture: "riscv",
1176                target: "riscv32imc-unknown-none-elf",
1177                symbols: &[
1178                    "esp32c3",
1179                    "riscv",
1180                    "single_core",
1181                    "soc_has_aes",
1182                    "soc_has_apb_ctrl",
1183                    "soc_has_apb_saradc",
1184                    "soc_has_assist_debug",
1185                    "soc_has_bb",
1186                    "soc_has_dma",
1187                    "soc_has_ds",
1188                    "soc_has_efuse",
1189                    "soc_has_extmem",
1190                    "soc_has_fe",
1191                    "soc_has_fe2",
1192                    "soc_has_gpio",
1193                    "soc_has_gpio_sd",
1194                    "soc_has_hmac",
1195                    "soc_has_i2c_ana_mst",
1196                    "soc_has_i2c0",
1197                    "soc_has_i2s0",
1198                    "soc_has_interrupt_core0",
1199                    "soc_has_io_mux",
1200                    "soc_has_ledc",
1201                    "soc_has_nrx",
1202                    "soc_has_rmt",
1203                    "soc_has_rng",
1204                    "soc_has_rsa",
1205                    "soc_has_lpwr",
1206                    "soc_has_sensitive",
1207                    "soc_has_sha",
1208                    "soc_has_spi0",
1209                    "soc_has_spi1",
1210                    "soc_has_spi2",
1211                    "soc_has_system",
1212                    "soc_has_systimer",
1213                    "soc_has_timg0",
1214                    "soc_has_timg1",
1215                    "soc_has_twai0",
1216                    "soc_has_uart0",
1217                    "soc_has_uart1",
1218                    "soc_has_uhci0",
1219                    "soc_has_usb_device",
1220                    "soc_has_xts_aes",
1221                    "soc_has_dma_ch0",
1222                    "soc_has_dma_ch1",
1223                    "soc_has_dma_ch2",
1224                    "soc_has_adc1",
1225                    "soc_has_adc2",
1226                    "soc_has_bt",
1227                    "soc_has_flash",
1228                    "soc_has_gpio_dedicated",
1229                    "soc_has_sw_interrupt",
1230                    "soc_has_tsens",
1231                    "soc_has_wifi",
1232                    "phy",
1233                    "swd",
1234                    "rom_crc_le",
1235                    "rom_crc_be",
1236                    "rom_md5_bsd",
1237                    "pm_support_wifi_wakeup",
1238                    "pm_support_bt_wakeup",
1239                    "uart_support_wakeup_int",
1240                    "gpio_support_deepsleep_wakeup",
1241                    "adc_driver_supported",
1242                    "aes_driver_supported",
1243                    "assist_debug_driver_supported",
1244                    "bt_driver_supported",
1245                    "dedicated_gpio_driver_supported",
1246                    "dma_driver_supported",
1247                    "gpio_driver_supported",
1248                    "hmac_driver_supported",
1249                    "i2c_master_driver_supported",
1250                    "i2s_driver_supported",
1251                    "interrupts_driver_supported",
1252                    "io_mux_driver_supported",
1253                    "ledc_driver_supported",
1254                    "phy_driver_supported",
1255                    "rmt_driver_supported",
1256                    "rng_driver_supported",
1257                    "rsa_driver_supported",
1258                    "lp_timer_driver_supported",
1259                    "sha_driver_supported",
1260                    "sleep_driver_supported",
1261                    "soc_driver_supported",
1262                    "spi_master_driver_supported",
1263                    "spi_slave_driver_supported",
1264                    "systimer_driver_supported",
1265                    "temp_sensor_driver_supported",
1266                    "timergroup_driver_supported",
1267                    "twai_driver_supported",
1268                    "uart_driver_supported",
1269                    "uhci_driver_supported",
1270                    "usb_serial_jtag_driver_supported",
1271                    "wifi_driver_supported",
1272                    "adc_adc1",
1273                    "adc_adc2",
1274                    "i2c_master_i2c0",
1275                    "spi_master_spi2",
1276                    "spi_slave_spi2",
1277                    "timergroup_timg0",
1278                    "timergroup_timg1",
1279                    "uart_uart0",
1280                    "uart_uart1",
1281                    "aes_dma",
1282                    "aes_dma_mode_ecb",
1283                    "aes_dma_mode_cbc",
1284                    "aes_dma_mode_ofb",
1285                    "aes_dma_mode_ctr",
1286                    "aes_dma_mode_cfb8",
1287                    "aes_dma_mode_cfb128",
1288                    "aes_has_split_text_registers",
1289                    "assist_debug_has_sp_monitor",
1290                    "assist_debug_has_region_monitor",
1291                    "bt_controller=\"btdm\"",
1292                    "dma_kind=\"gdma\"",
1293                    "dma_supports_mem2mem",
1294                    "dma_max_priority=\"9\"",
1295                    "dma_max_priority_is_set",
1296                    "dma_gdma_version=\"1\"",
1297                    "dma_gdma_version_is_set",
1298                    "gpio_gpio_function=\"1\"",
1299                    "gpio_constant_0_input=\"31\"",
1300                    "gpio_constant_1_input=\"30\"",
1301                    "gpio_func_in_sel_offset=\"0\"",
1302                    "gpio_input_signal_max=\"100\"",
1303                    "gpio_output_signal_max=\"128\"",
1304                    "i2c_master_has_fsm_timeouts",
1305                    "i2c_master_has_hw_bus_clear",
1306                    "i2c_master_has_bus_timeout_enable",
1307                    "i2c_master_has_conf_update",
1308                    "i2c_master_has_arbitration_en",
1309                    "i2c_master_has_tx_fifo_watermark",
1310                    "i2c_master_bus_timeout_is_exponential",
1311                    "i2c_master_max_bus_timeout=\"31\"",
1312                    "i2c_master_ll_intr_mask=\"262143\"",
1313                    "i2c_master_fifo_size=\"32\"",
1314                    "interrupts_status_registers=\"2\"",
1315                    "interrupt_controller=\"riscv_basic\"",
1316                    "phy_combo_module",
1317                    "phy_backed_up_digital_register_count=\"21\"",
1318                    "phy_backed_up_digital_register_count_is_set",
1319                    "rmt_ram_start=\"1610703872\"",
1320                    "rmt_channel_ram_size=\"48\"",
1321                    "rmt_has_tx_immediate_stop",
1322                    "rmt_has_tx_loop_count",
1323                    "rmt_has_tx_carrier_data_only",
1324                    "rmt_has_tx_sync",
1325                    "rmt_has_rx_wrap",
1326                    "rmt_has_rx_demodulation",
1327                    "rmt_supports_none_clock",
1328                    "rmt_supports_apb_clock",
1329                    "rmt_supports_rcfast_clock",
1330                    "rmt_supports_xtal_clock",
1331                    "rng_apb_cycle_wait_num=\"16\"",
1332                    "rng_trng_supported",
1333                    "rsa_size_increment=\"32\"",
1334                    "rsa_memory_size_bytes=\"384\"",
1335                    "sha_dma",
1336                    "sleep_light_sleep",
1337                    "sleep_deep_sleep",
1338                    "soc_cpu_has_csr_pc",
1339                    "soc_rc_fast_clk_default=\"17500000\"",
1340                    "soc_rc_fast_clk_default_is_set",
1341                    "soc_has_clock_node_xtal_clk",
1342                    "soc_has_clock_node_pll_clk",
1343                    "soc_has_clock_node_rc_fast_clk",
1344                    "soc_has_clock_node_xtal32k_clk",
1345                    "soc_has_clock_node_rc_slow_clk",
1346                    "soc_has_clock_node_rc_fast_div_clk",
1347                    "soc_has_clock_node_system_pre_div_in",
1348                    "soc_has_clock_node_system_pre_div",
1349                    "soc_has_clock_node_cpu_pll_div_out",
1350                    "soc_has_clock_node_cpu_clk",
1351                    "soc_has_clock_node_pll_80m",
1352                    "soc_has_clock_node_pll_160m",
1353                    "soc_has_clock_node_apb_clk",
1354                    "soc_has_clock_node_crypto_clk",
1355                    "soc_has_clock_node_rc_fast_clk_div_n",
1356                    "soc_has_clock_node_xtal_div_clk",
1357                    "soc_has_clock_node_rtc_slow_clk",
1358                    "soc_has_clock_node_rtc_fast_clk",
1359                    "soc_has_clock_node_low_power_clk",
1360                    "soc_has_clock_node_uart_mem_clk",
1361                    "soc_has_clock_node_timg_calibration_clock",
1362                    "soc_has_clock_node_timg_function_clock",
1363                    "soc_has_clock_node_timg_wdt_clock",
1364                    "soc_has_clock_node_rmt_sclk",
1365                    "soc_has_clock_node_uart_function_clock",
1366                    "soc_has_clock_node_uart_mem_clock",
1367                    "soc_has_clock_node_uart_baud_rate_generator",
1368                    "has_dram_region",
1369                    "has_dram2_uninit_region",
1370                    "spi_master_supports_dma",
1371                    "spi_master_has_app_interrupts",
1372                    "spi_master_has_dma_segmented_transfer",
1373                    "spi_slave_supports_dma",
1374                    "timergroup_timg_has_divcnt_rst",
1375                    "timergroup_rc_fast_calibration_is_set",
1376                    "uart_ram_size=\"128\"",
1377                    "uart_has_sclk_divider",
1378                    "wifi_mac_version=\"1\"",
1379                    "wifi_csi_supported",
1380                ],
1381                cfgs: &[
1382                    "cargo:rustc-cfg=esp32c3",
1383                    "cargo:rustc-cfg=riscv",
1384                    "cargo:rustc-cfg=single_core",
1385                    "cargo:rustc-cfg=soc_has_aes",
1386                    "cargo:rustc-cfg=soc_has_apb_ctrl",
1387                    "cargo:rustc-cfg=soc_has_apb_saradc",
1388                    "cargo:rustc-cfg=soc_has_assist_debug",
1389                    "cargo:rustc-cfg=soc_has_bb",
1390                    "cargo:rustc-cfg=soc_has_dma",
1391                    "cargo:rustc-cfg=soc_has_ds",
1392                    "cargo:rustc-cfg=soc_has_efuse",
1393                    "cargo:rustc-cfg=soc_has_extmem",
1394                    "cargo:rustc-cfg=soc_has_fe",
1395                    "cargo:rustc-cfg=soc_has_fe2",
1396                    "cargo:rustc-cfg=soc_has_gpio",
1397                    "cargo:rustc-cfg=soc_has_gpio_sd",
1398                    "cargo:rustc-cfg=soc_has_hmac",
1399                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
1400                    "cargo:rustc-cfg=soc_has_i2c0",
1401                    "cargo:rustc-cfg=soc_has_i2s0",
1402                    "cargo:rustc-cfg=soc_has_interrupt_core0",
1403                    "cargo:rustc-cfg=soc_has_io_mux",
1404                    "cargo:rustc-cfg=soc_has_ledc",
1405                    "cargo:rustc-cfg=soc_has_nrx",
1406                    "cargo:rustc-cfg=soc_has_rmt",
1407                    "cargo:rustc-cfg=soc_has_rng",
1408                    "cargo:rustc-cfg=soc_has_rsa",
1409                    "cargo:rustc-cfg=soc_has_lpwr",
1410                    "cargo:rustc-cfg=soc_has_sensitive",
1411                    "cargo:rustc-cfg=soc_has_sha",
1412                    "cargo:rustc-cfg=soc_has_spi0",
1413                    "cargo:rustc-cfg=soc_has_spi1",
1414                    "cargo:rustc-cfg=soc_has_spi2",
1415                    "cargo:rustc-cfg=soc_has_system",
1416                    "cargo:rustc-cfg=soc_has_systimer",
1417                    "cargo:rustc-cfg=soc_has_timg0",
1418                    "cargo:rustc-cfg=soc_has_timg1",
1419                    "cargo:rustc-cfg=soc_has_twai0",
1420                    "cargo:rustc-cfg=soc_has_uart0",
1421                    "cargo:rustc-cfg=soc_has_uart1",
1422                    "cargo:rustc-cfg=soc_has_uhci0",
1423                    "cargo:rustc-cfg=soc_has_usb_device",
1424                    "cargo:rustc-cfg=soc_has_xts_aes",
1425                    "cargo:rustc-cfg=soc_has_dma_ch0",
1426                    "cargo:rustc-cfg=soc_has_dma_ch1",
1427                    "cargo:rustc-cfg=soc_has_dma_ch2",
1428                    "cargo:rustc-cfg=soc_has_adc1",
1429                    "cargo:rustc-cfg=soc_has_adc2",
1430                    "cargo:rustc-cfg=soc_has_bt",
1431                    "cargo:rustc-cfg=soc_has_flash",
1432                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
1433                    "cargo:rustc-cfg=soc_has_sw_interrupt",
1434                    "cargo:rustc-cfg=soc_has_tsens",
1435                    "cargo:rustc-cfg=soc_has_wifi",
1436                    "cargo:rustc-cfg=phy",
1437                    "cargo:rustc-cfg=swd",
1438                    "cargo:rustc-cfg=rom_crc_le",
1439                    "cargo:rustc-cfg=rom_crc_be",
1440                    "cargo:rustc-cfg=rom_md5_bsd",
1441                    "cargo:rustc-cfg=pm_support_wifi_wakeup",
1442                    "cargo:rustc-cfg=pm_support_bt_wakeup",
1443                    "cargo:rustc-cfg=uart_support_wakeup_int",
1444                    "cargo:rustc-cfg=gpio_support_deepsleep_wakeup",
1445                    "cargo:rustc-cfg=adc_driver_supported",
1446                    "cargo:rustc-cfg=aes_driver_supported",
1447                    "cargo:rustc-cfg=assist_debug_driver_supported",
1448                    "cargo:rustc-cfg=bt_driver_supported",
1449                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
1450                    "cargo:rustc-cfg=dma_driver_supported",
1451                    "cargo:rustc-cfg=gpio_driver_supported",
1452                    "cargo:rustc-cfg=hmac_driver_supported",
1453                    "cargo:rustc-cfg=i2c_master_driver_supported",
1454                    "cargo:rustc-cfg=i2s_driver_supported",
1455                    "cargo:rustc-cfg=interrupts_driver_supported",
1456                    "cargo:rustc-cfg=io_mux_driver_supported",
1457                    "cargo:rustc-cfg=ledc_driver_supported",
1458                    "cargo:rustc-cfg=phy_driver_supported",
1459                    "cargo:rustc-cfg=rmt_driver_supported",
1460                    "cargo:rustc-cfg=rng_driver_supported",
1461                    "cargo:rustc-cfg=rsa_driver_supported",
1462                    "cargo:rustc-cfg=lp_timer_driver_supported",
1463                    "cargo:rustc-cfg=sha_driver_supported",
1464                    "cargo:rustc-cfg=sleep_driver_supported",
1465                    "cargo:rustc-cfg=soc_driver_supported",
1466                    "cargo:rustc-cfg=spi_master_driver_supported",
1467                    "cargo:rustc-cfg=spi_slave_driver_supported",
1468                    "cargo:rustc-cfg=systimer_driver_supported",
1469                    "cargo:rustc-cfg=temp_sensor_driver_supported",
1470                    "cargo:rustc-cfg=timergroup_driver_supported",
1471                    "cargo:rustc-cfg=twai_driver_supported",
1472                    "cargo:rustc-cfg=uart_driver_supported",
1473                    "cargo:rustc-cfg=uhci_driver_supported",
1474                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
1475                    "cargo:rustc-cfg=wifi_driver_supported",
1476                    "cargo:rustc-cfg=adc_adc1",
1477                    "cargo:rustc-cfg=adc_adc2",
1478                    "cargo:rustc-cfg=i2c_master_i2c0",
1479                    "cargo:rustc-cfg=spi_master_spi2",
1480                    "cargo:rustc-cfg=spi_slave_spi2",
1481                    "cargo:rustc-cfg=timergroup_timg0",
1482                    "cargo:rustc-cfg=timergroup_timg1",
1483                    "cargo:rustc-cfg=uart_uart0",
1484                    "cargo:rustc-cfg=uart_uart1",
1485                    "cargo:rustc-cfg=aes_dma",
1486                    "cargo:rustc-cfg=aes_dma_mode_ecb",
1487                    "cargo:rustc-cfg=aes_dma_mode_cbc",
1488                    "cargo:rustc-cfg=aes_dma_mode_ofb",
1489                    "cargo:rustc-cfg=aes_dma_mode_ctr",
1490                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
1491                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
1492                    "cargo:rustc-cfg=aes_has_split_text_registers",
1493                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
1494                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
1495                    "cargo:rustc-cfg=bt_controller=\"btdm\"",
1496                    "cargo:rustc-cfg=dma_kind=\"gdma\"",
1497                    "cargo:rustc-cfg=dma_supports_mem2mem",
1498                    "cargo:rustc-cfg=dma_max_priority=\"9\"",
1499                    "cargo:rustc-cfg=dma_max_priority_is_set",
1500                    "cargo:rustc-cfg=dma_gdma_version=\"1\"",
1501                    "cargo:rustc-cfg=dma_gdma_version_is_set",
1502                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
1503                    "cargo:rustc-cfg=gpio_constant_0_input=\"31\"",
1504                    "cargo:rustc-cfg=gpio_constant_1_input=\"30\"",
1505                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
1506                    "cargo:rustc-cfg=gpio_input_signal_max=\"100\"",
1507                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
1508                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
1509                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
1510                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
1511                    "cargo:rustc-cfg=i2c_master_has_conf_update",
1512                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
1513                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
1514                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
1515                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
1516                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
1517                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
1518                    "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
1519                    "cargo:rustc-cfg=interrupt_controller=\"riscv_basic\"",
1520                    "cargo:rustc-cfg=phy_combo_module",
1521                    "cargo:rustc-cfg=phy_backed_up_digital_register_count=\"21\"",
1522                    "cargo:rustc-cfg=phy_backed_up_digital_register_count_is_set",
1523                    "cargo:rustc-cfg=rmt_ram_start=\"1610703872\"",
1524                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
1525                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
1526                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
1527                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
1528                    "cargo:rustc-cfg=rmt_has_tx_sync",
1529                    "cargo:rustc-cfg=rmt_has_rx_wrap",
1530                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
1531                    "cargo:rustc-cfg=rmt_supports_none_clock",
1532                    "cargo:rustc-cfg=rmt_supports_apb_clock",
1533                    "cargo:rustc-cfg=rmt_supports_rcfast_clock",
1534                    "cargo:rustc-cfg=rmt_supports_xtal_clock",
1535                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
1536                    "cargo:rustc-cfg=rng_trng_supported",
1537                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
1538                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
1539                    "cargo:rustc-cfg=sha_dma",
1540                    "cargo:rustc-cfg=sleep_light_sleep",
1541                    "cargo:rustc-cfg=sleep_deep_sleep",
1542                    "cargo:rustc-cfg=soc_cpu_has_csr_pc",
1543                    "cargo:rustc-cfg=soc_rc_fast_clk_default=\"17500000\"",
1544                    "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
1545                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
1546                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
1547                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
1548                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
1549                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
1550                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_div_clk",
1551                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div_in",
1552                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div",
1553                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div_out",
1554                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
1555                    "cargo:rustc-cfg=soc_has_clock_node_pll_80m",
1556                    "cargo:rustc-cfg=soc_has_clock_node_pll_160m",
1557                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
1558                    "cargo:rustc-cfg=soc_has_clock_node_crypto_clk",
1559                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk_div_n",
1560                    "cargo:rustc-cfg=soc_has_clock_node_xtal_div_clk",
1561                    "cargo:rustc-cfg=soc_has_clock_node_rtc_slow_clk",
1562                    "cargo:rustc-cfg=soc_has_clock_node_rtc_fast_clk",
1563                    "cargo:rustc-cfg=soc_has_clock_node_low_power_clk",
1564                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clk",
1565                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
1566                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
1567                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
1568                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
1569                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
1570                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
1571                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
1572                    "cargo:rustc-cfg=has_dram_region",
1573                    "cargo:rustc-cfg=has_dram2_uninit_region",
1574                    "cargo:rustc-cfg=spi_master_supports_dma",
1575                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
1576                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
1577                    "cargo:rustc-cfg=spi_slave_supports_dma",
1578                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
1579                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
1580                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
1581                    "cargo:rustc-cfg=uart_has_sclk_divider",
1582                    "cargo:rustc-cfg=wifi_mac_version=\"1\"",
1583                    "cargo:rustc-cfg=wifi_csi_supported",
1584                ],
1585                memory_layout: &MemoryLayout {
1586                    regions: &[
1587                        (
1588                            "dram",
1589                            MemoryRegion {
1590                                address_range: 0x3FC80000..0x3FCE0000,
1591                            },
1592                        ),
1593                        (
1594                            "dram2_uninit",
1595                            MemoryRegion {
1596                                address_range: 0x3FCCE400..0x3FCDE710,
1597                            },
1598                        ),
1599                    ],
1600                },
1601                pins: &[
1602                    PinInfo {
1603                        pin: 0,
1604                        limitations: &[],
1605                    },
1606                    PinInfo {
1607                        pin: 1,
1608                        limitations: &[],
1609                    },
1610                    PinInfo {
1611                        pin: 2,
1612                        limitations: &["strapping"],
1613                    },
1614                    PinInfo {
1615                        pin: 3,
1616                        limitations: &[],
1617                    },
1618                    PinInfo {
1619                        pin: 4,
1620                        limitations: &["jtag"],
1621                    },
1622                    PinInfo {
1623                        pin: 5,
1624                        limitations: &["jtag"],
1625                    },
1626                    PinInfo {
1627                        pin: 6,
1628                        limitations: &["jtag"],
1629                    },
1630                    PinInfo {
1631                        pin: 7,
1632                        limitations: &["jtag"],
1633                    },
1634                    PinInfo {
1635                        pin: 8,
1636                        limitations: &["strapping"],
1637                    },
1638                    PinInfo {
1639                        pin: 9,
1640                        limitations: &["strapping"],
1641                    },
1642                    PinInfo {
1643                        pin: 10,
1644                        limitations: &[],
1645                    },
1646                    PinInfo {
1647                        pin: 11,
1648                        limitations: &["spi_flash"],
1649                    },
1650                    PinInfo {
1651                        pin: 12,
1652                        limitations: &["spi_flash"],
1653                    },
1654                    PinInfo {
1655                        pin: 13,
1656                        limitations: &["spi_flash"],
1657                    },
1658                    PinInfo {
1659                        pin: 14,
1660                        limitations: &["spi_flash"],
1661                    },
1662                    PinInfo {
1663                        pin: 15,
1664                        limitations: &["spi_flash"],
1665                    },
1666                    PinInfo {
1667                        pin: 16,
1668                        limitations: &["spi_flash"],
1669                    },
1670                    PinInfo {
1671                        pin: 17,
1672                        limitations: &["spi_flash"],
1673                    },
1674                    PinInfo {
1675                        pin: 18,
1676                        limitations: &["usb_jtag"],
1677                    },
1678                    PinInfo {
1679                        pin: 19,
1680                        limitations: &["usb_jtag"],
1681                    },
1682                    PinInfo {
1683                        pin: 20,
1684                        limitations: &["bootloader_uart"],
1685                    },
1686                    PinInfo {
1687                        pin: 21,
1688                        limitations: &["bootloader_uart"],
1689                    },
1690                ],
1691            },
1692            Self::Esp32c5 => Config {
1693                architecture: "riscv",
1694                target: "riscv32imac-unknown-none-elf",
1695                symbols: &[
1696                    "esp32c5",
1697                    "riscv",
1698                    "single_core",
1699                    "soc_has_aes",
1700                    "soc_has_assist_debug",
1701                    "soc_has_apb_saradc",
1702                    "soc_has_cache",
1703                    "soc_has_clint",
1704                    "soc_has_dma",
1705                    "soc_has_ds",
1706                    "soc_has_ecc",
1707                    "soc_has_ecdsa",
1708                    "soc_has_efuse",
1709                    "soc_has_etm",
1710                    "soc_has_gpio",
1711                    "soc_has_gpio_sd",
1712                    "soc_has_hmac",
1713                    "soc_has_hp_apm",
1714                    "soc_has_hp_sys",
1715                    "soc_has_huk",
1716                    "soc_has_i2c_ana_mst",
1717                    "soc_has_i2c0",
1718                    "soc_has_i2s0",
1719                    "soc_has_ieee802154",
1720                    "soc_has_interrupt_core0",
1721                    "soc_has_intpri",
1722                    "soc_has_io_mux",
1723                    "soc_has_keymng",
1724                    "soc_has_lp_ana",
1725                    "soc_has_lp_aon",
1726                    "soc_has_lp_apm0",
1727                    "soc_has_lp_clkrst",
1728                    "soc_has_lp_i2c_ana_mst",
1729                    "soc_has_lp_io_mux",
1730                    "soc_has_lp_peri",
1731                    "soc_has_lp_tee",
1732                    "soc_has_lp_timer",
1733                    "soc_has_lp_uart",
1734                    "soc_has_lp_wdt",
1735                    "soc_has_lpwr",
1736                    "soc_has_mcpwm0",
1737                    "soc_has_mem_monitor",
1738                    "soc_has_modem_lpcon",
1739                    "soc_has_modem_syscon",
1740                    "soc_has_parl_io",
1741                    "soc_has_pau",
1742                    "soc_has_pcnt",
1743                    "soc_has_pcr",
1744                    "soc_has_pmu",
1745                    "soc_has_pvt_monitor",
1746                    "soc_has_rmt",
1747                    "soc_has_rng",
1748                    "soc_has_rsa",
1749                    "soc_has_sha",
1750                    "soc_has_slc",
1751                    "soc_has_spi0",
1752                    "soc_has_spi1",
1753                    "soc_has_spi2",
1754                    "soc_has_system",
1755                    "soc_has_systimer",
1756                    "soc_has_tee",
1757                    "soc_has_timg0",
1758                    "soc_has_timg1",
1759                    "soc_has_uart0",
1760                    "soc_has_uart1",
1761                    "soc_has_uhci0",
1762                    "soc_has_usb_device",
1763                    "soc_has_dma_ch0",
1764                    "soc_has_dma_ch1",
1765                    "soc_has_dma_ch2",
1766                    "soc_has_adc1",
1767                    "soc_has_bt",
1768                    "soc_has_flash",
1769                    "soc_has_gpio_dedicated",
1770                    "soc_has_lp_core",
1771                    "soc_has_sw_interrupt",
1772                    "soc_has_wifi",
1773                    "soc_has_mem2mem0",
1774                    "soc_has_mem2mem1",
1775                    "soc_has_mem2mem2",
1776                    "soc_has_mem2mem3",
1777                    "soc_has_mem2mem4",
1778                    "soc_has_mem2mem5",
1779                    "soc_has_mem2mem6",
1780                    "soc_has_mem2mem7",
1781                    "soc_has_mem2mem8",
1782                    "soc_has_psram",
1783                    "rom_crc_le",
1784                    "rom_crc_be",
1785                    "rom_md5_bsd",
1786                    "adc_driver_supported",
1787                    "aes_driver_supported",
1788                    "assist_debug_driver_supported",
1789                    "bt_driver_supported",
1790                    "dedicated_gpio_driver_supported",
1791                    "dma_driver_supported",
1792                    "ecc_driver_supported",
1793                    "gpio_driver_supported",
1794                    "i2c_master_driver_supported",
1795                    "ieee802154_driver_supported",
1796                    "interrupts_driver_supported",
1797                    "io_mux_driver_supported",
1798                    "lp_i2c_master_driver_supported",
1799                    "parl_io_driver_supported",
1800                    "pcnt_driver_supported",
1801                    "phy_driver_supported",
1802                    "psram_driver_supported",
1803                    "rmt_driver_supported",
1804                    "rng_driver_supported",
1805                    "rsa_driver_supported",
1806                    "sha_driver_supported",
1807                    "soc_driver_supported",
1808                    "spi_master_driver_supported",
1809                    "spi_slave_driver_supported",
1810                    "systimer_driver_supported",
1811                    "timergroup_driver_supported",
1812                    "uart_driver_supported",
1813                    "uhci_driver_supported",
1814                    "usb_serial_jtag_driver_supported",
1815                    "wifi_driver_supported",
1816                    "adc_adc1",
1817                    "i2c_master_i2c0",
1818                    "spi_master_spi2",
1819                    "spi_slave_spi2",
1820                    "timergroup_timg0",
1821                    "timergroup_timg1",
1822                    "uart_uart0",
1823                    "uart_uart1",
1824                    "aes_dma",
1825                    "aes_dma_mode_ecb",
1826                    "aes_dma_mode_cbc",
1827                    "aes_dma_mode_ofb",
1828                    "aes_dma_mode_ctr",
1829                    "aes_dma_mode_cfb8",
1830                    "aes_dma_mode_cfb128",
1831                    "aes_has_split_text_registers",
1832                    "assist_debug_has_sp_monitor",
1833                    "assist_debug_has_region_monitor",
1834                    "bt_controller=\"npl\"",
1835                    "dma_kind=\"gdma\"",
1836                    "dma_supports_mem2mem",
1837                    "dma_can_access_psram",
1838                    "dma_separate_in_out_interrupts",
1839                    "dma_max_priority=\"5\"",
1840                    "dma_max_priority_is_set",
1841                    "dma_gdma_version=\"2\"",
1842                    "dma_gdma_version_is_set",
1843                    "ecc_separate_jacobian_point_memory",
1844                    "ecc_has_memory_clock_gate",
1845                    "ecc_supports_enhanced_security",
1846                    "ecc_has_modular_arithmetic",
1847                    "ecc_has_point_addition",
1848                    "ecc_has_curve_p192",
1849                    "ecc_has_curve_p256",
1850                    "ecc_has_curve_p384",
1851                    "gpio_gpio_function=\"1\"",
1852                    "gpio_constant_0_input=\"96\"",
1853                    "gpio_constant_1_input=\"64\"",
1854                    "gpio_func_in_sel_offset=\"0\"",
1855                    "gpio_input_signal_max=\"116\"",
1856                    "gpio_output_signal_max=\"256\"",
1857                    "i2c_master_has_fsm_timeouts",
1858                    "i2c_master_has_hw_bus_clear",
1859                    "i2c_master_has_bus_timeout_enable",
1860                    "i2c_master_can_estimate_nack_reason",
1861                    "i2c_master_has_conf_update",
1862                    "i2c_master_has_reliable_fsm_reset",
1863                    "i2c_master_has_arbitration_en",
1864                    "i2c_master_has_tx_fifo_watermark",
1865                    "i2c_master_bus_timeout_is_exponential",
1866                    "i2c_master_max_bus_timeout=\"31\"",
1867                    "i2c_master_ll_intr_mask=\"262143\"",
1868                    "i2c_master_fifo_size=\"32\"",
1869                    "interrupts_status_registers=\"3\"",
1870                    "interrupt_controller=\"clic\"",
1871                    "lp_i2c_master_fifo_size=\"16\"",
1872                    "lp_uart_ram_size=\"32\"",
1873                    "parl_io_version=\"2\"",
1874                    "phy_combo_module",
1875                    "psram_extmem_origin=\"1107296256\"",
1876                    "rmt_ram_start=\"1610638336\"",
1877                    "rmt_channel_ram_size=\"48\"",
1878                    "rmt_has_tx_immediate_stop",
1879                    "rmt_has_tx_loop_count",
1880                    "rmt_has_tx_loop_auto_stop",
1881                    "rmt_has_tx_carrier_data_only",
1882                    "rmt_has_tx_sync",
1883                    "rmt_has_rx_wrap",
1884                    "rmt_has_rx_demodulation",
1885                    "rmt_supports_xtal_clock",
1886                    "rmt_supports_rcfast_clock",
1887                    "rmt_supports_pll80mhz_clock",
1888                    "rng_apb_cycle_wait_num=\"16\"",
1889                    "rsa_size_increment=\"32\"",
1890                    "rsa_memory_size_bytes=\"384\"",
1891                    "sha_dma",
1892                    "soc_cpu_has_branch_predictor",
1893                    "soc_cpu_csr_prv_mode=\"2064\"",
1894                    "soc_cpu_csr_prv_mode_is_set",
1895                    "soc_rc_fast_clk_default=\"17500000\"",
1896                    "soc_rc_fast_clk_default_is_set",
1897                    "soc_has_clock_node_xtal_clk",
1898                    "soc_has_clock_node_pll_clk",
1899                    "soc_has_clock_node_rc_fast_clk",
1900                    "soc_has_clock_node_xtal32k_clk",
1901                    "soc_has_clock_node_osc_slow_clk",
1902                    "soc_has_clock_node_rc_slow_clk",
1903                    "soc_has_clock_node_pll_f12m",
1904                    "soc_has_clock_node_pll_f20m",
1905                    "soc_has_clock_node_pll_f40m",
1906                    "soc_has_clock_node_pll_f48m",
1907                    "soc_has_clock_node_pll_f60m",
1908                    "soc_has_clock_node_pll_f80m",
1909                    "soc_has_clock_node_pll_f120m",
1910                    "soc_has_clock_node_pll_f160m",
1911                    "soc_has_clock_node_pll_f240m",
1912                    "soc_has_clock_node_hp_root_clk",
1913                    "soc_has_clock_node_cpu_clk",
1914                    "soc_has_clock_node_ahb_clk",
1915                    "soc_has_clock_node_apb_clk",
1916                    "soc_has_clock_node_xtal_d2_clk",
1917                    "soc_has_clock_node_lp_fast_clk",
1918                    "soc_has_clock_node_lp_slow_clk",
1919                    "soc_has_clock_node_crypto_clk",
1920                    "soc_has_clock_node_timg_calibration_clock",
1921                    "soc_has_clock_node_uart_function_clock",
1922                    "soc_has_clock_node_uart_baud_rate_generator",
1923                    "soc_has_clock_node_timg_function_clock",
1924                    "soc_has_clock_node_timg_wdt_clock",
1925                    "soc_has_clock_node_rmt_sclk",
1926                    "soc_has_clock_node_parl_io_rx_clock",
1927                    "soc_has_clock_node_parl_io_tx_clock",
1928                    "has_dram_region",
1929                    "has_dram2_uninit_region",
1930                    "spi_master_supports_dma",
1931                    "spi_master_has_app_interrupts",
1932                    "spi_master_has_dma_segmented_transfer",
1933                    "spi_master_has_clk_pre_div",
1934                    "timergroup_timg_has_divcnt_rst",
1935                    "timergroup_rc_fast_calibration_is_set",
1936                    "uart_ram_size=\"128\"",
1937                    "uart_peripheral_controls_mem_clk",
1938                    "uhci_combined_uart_selector_field",
1939                    "wifi_mac_version=\"3\"",
1940                    "wifi_has_5g",
1941                    "wifi_csi_supported",
1942                ],
1943                cfgs: &[
1944                    "cargo:rustc-cfg=esp32c5",
1945                    "cargo:rustc-cfg=riscv",
1946                    "cargo:rustc-cfg=single_core",
1947                    "cargo:rustc-cfg=soc_has_aes",
1948                    "cargo:rustc-cfg=soc_has_assist_debug",
1949                    "cargo:rustc-cfg=soc_has_apb_saradc",
1950                    "cargo:rustc-cfg=soc_has_cache",
1951                    "cargo:rustc-cfg=soc_has_clint",
1952                    "cargo:rustc-cfg=soc_has_dma",
1953                    "cargo:rustc-cfg=soc_has_ds",
1954                    "cargo:rustc-cfg=soc_has_ecc",
1955                    "cargo:rustc-cfg=soc_has_ecdsa",
1956                    "cargo:rustc-cfg=soc_has_efuse",
1957                    "cargo:rustc-cfg=soc_has_etm",
1958                    "cargo:rustc-cfg=soc_has_gpio",
1959                    "cargo:rustc-cfg=soc_has_gpio_sd",
1960                    "cargo:rustc-cfg=soc_has_hmac",
1961                    "cargo:rustc-cfg=soc_has_hp_apm",
1962                    "cargo:rustc-cfg=soc_has_hp_sys",
1963                    "cargo:rustc-cfg=soc_has_huk",
1964                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
1965                    "cargo:rustc-cfg=soc_has_i2c0",
1966                    "cargo:rustc-cfg=soc_has_i2s0",
1967                    "cargo:rustc-cfg=soc_has_ieee802154",
1968                    "cargo:rustc-cfg=soc_has_interrupt_core0",
1969                    "cargo:rustc-cfg=soc_has_intpri",
1970                    "cargo:rustc-cfg=soc_has_io_mux",
1971                    "cargo:rustc-cfg=soc_has_keymng",
1972                    "cargo:rustc-cfg=soc_has_lp_ana",
1973                    "cargo:rustc-cfg=soc_has_lp_aon",
1974                    "cargo:rustc-cfg=soc_has_lp_apm0",
1975                    "cargo:rustc-cfg=soc_has_lp_clkrst",
1976                    "cargo:rustc-cfg=soc_has_lp_i2c_ana_mst",
1977                    "cargo:rustc-cfg=soc_has_lp_io_mux",
1978                    "cargo:rustc-cfg=soc_has_lp_peri",
1979                    "cargo:rustc-cfg=soc_has_lp_tee",
1980                    "cargo:rustc-cfg=soc_has_lp_timer",
1981                    "cargo:rustc-cfg=soc_has_lp_uart",
1982                    "cargo:rustc-cfg=soc_has_lp_wdt",
1983                    "cargo:rustc-cfg=soc_has_lpwr",
1984                    "cargo:rustc-cfg=soc_has_mcpwm0",
1985                    "cargo:rustc-cfg=soc_has_mem_monitor",
1986                    "cargo:rustc-cfg=soc_has_modem_lpcon",
1987                    "cargo:rustc-cfg=soc_has_modem_syscon",
1988                    "cargo:rustc-cfg=soc_has_parl_io",
1989                    "cargo:rustc-cfg=soc_has_pau",
1990                    "cargo:rustc-cfg=soc_has_pcnt",
1991                    "cargo:rustc-cfg=soc_has_pcr",
1992                    "cargo:rustc-cfg=soc_has_pmu",
1993                    "cargo:rustc-cfg=soc_has_pvt_monitor",
1994                    "cargo:rustc-cfg=soc_has_rmt",
1995                    "cargo:rustc-cfg=soc_has_rng",
1996                    "cargo:rustc-cfg=soc_has_rsa",
1997                    "cargo:rustc-cfg=soc_has_sha",
1998                    "cargo:rustc-cfg=soc_has_slc",
1999                    "cargo:rustc-cfg=soc_has_spi0",
2000                    "cargo:rustc-cfg=soc_has_spi1",
2001                    "cargo:rustc-cfg=soc_has_spi2",
2002                    "cargo:rustc-cfg=soc_has_system",
2003                    "cargo:rustc-cfg=soc_has_systimer",
2004                    "cargo:rustc-cfg=soc_has_tee",
2005                    "cargo:rustc-cfg=soc_has_timg0",
2006                    "cargo:rustc-cfg=soc_has_timg1",
2007                    "cargo:rustc-cfg=soc_has_uart0",
2008                    "cargo:rustc-cfg=soc_has_uart1",
2009                    "cargo:rustc-cfg=soc_has_uhci0",
2010                    "cargo:rustc-cfg=soc_has_usb_device",
2011                    "cargo:rustc-cfg=soc_has_dma_ch0",
2012                    "cargo:rustc-cfg=soc_has_dma_ch1",
2013                    "cargo:rustc-cfg=soc_has_dma_ch2",
2014                    "cargo:rustc-cfg=soc_has_adc1",
2015                    "cargo:rustc-cfg=soc_has_bt",
2016                    "cargo:rustc-cfg=soc_has_flash",
2017                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
2018                    "cargo:rustc-cfg=soc_has_lp_core",
2019                    "cargo:rustc-cfg=soc_has_sw_interrupt",
2020                    "cargo:rustc-cfg=soc_has_wifi",
2021                    "cargo:rustc-cfg=soc_has_mem2mem0",
2022                    "cargo:rustc-cfg=soc_has_mem2mem1",
2023                    "cargo:rustc-cfg=soc_has_mem2mem2",
2024                    "cargo:rustc-cfg=soc_has_mem2mem3",
2025                    "cargo:rustc-cfg=soc_has_mem2mem4",
2026                    "cargo:rustc-cfg=soc_has_mem2mem5",
2027                    "cargo:rustc-cfg=soc_has_mem2mem6",
2028                    "cargo:rustc-cfg=soc_has_mem2mem7",
2029                    "cargo:rustc-cfg=soc_has_mem2mem8",
2030                    "cargo:rustc-cfg=soc_has_psram",
2031                    "cargo:rustc-cfg=rom_crc_le",
2032                    "cargo:rustc-cfg=rom_crc_be",
2033                    "cargo:rustc-cfg=rom_md5_bsd",
2034                    "cargo:rustc-cfg=adc_driver_supported",
2035                    "cargo:rustc-cfg=aes_driver_supported",
2036                    "cargo:rustc-cfg=assist_debug_driver_supported",
2037                    "cargo:rustc-cfg=bt_driver_supported",
2038                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
2039                    "cargo:rustc-cfg=dma_driver_supported",
2040                    "cargo:rustc-cfg=ecc_driver_supported",
2041                    "cargo:rustc-cfg=gpio_driver_supported",
2042                    "cargo:rustc-cfg=i2c_master_driver_supported",
2043                    "cargo:rustc-cfg=ieee802154_driver_supported",
2044                    "cargo:rustc-cfg=interrupts_driver_supported",
2045                    "cargo:rustc-cfg=io_mux_driver_supported",
2046                    "cargo:rustc-cfg=lp_i2c_master_driver_supported",
2047                    "cargo:rustc-cfg=parl_io_driver_supported",
2048                    "cargo:rustc-cfg=pcnt_driver_supported",
2049                    "cargo:rustc-cfg=phy_driver_supported",
2050                    "cargo:rustc-cfg=psram_driver_supported",
2051                    "cargo:rustc-cfg=rmt_driver_supported",
2052                    "cargo:rustc-cfg=rng_driver_supported",
2053                    "cargo:rustc-cfg=rsa_driver_supported",
2054                    "cargo:rustc-cfg=sha_driver_supported",
2055                    "cargo:rustc-cfg=soc_driver_supported",
2056                    "cargo:rustc-cfg=spi_master_driver_supported",
2057                    "cargo:rustc-cfg=spi_slave_driver_supported",
2058                    "cargo:rustc-cfg=systimer_driver_supported",
2059                    "cargo:rustc-cfg=timergroup_driver_supported",
2060                    "cargo:rustc-cfg=uart_driver_supported",
2061                    "cargo:rustc-cfg=uhci_driver_supported",
2062                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
2063                    "cargo:rustc-cfg=wifi_driver_supported",
2064                    "cargo:rustc-cfg=adc_adc1",
2065                    "cargo:rustc-cfg=i2c_master_i2c0",
2066                    "cargo:rustc-cfg=spi_master_spi2",
2067                    "cargo:rustc-cfg=spi_slave_spi2",
2068                    "cargo:rustc-cfg=timergroup_timg0",
2069                    "cargo:rustc-cfg=timergroup_timg1",
2070                    "cargo:rustc-cfg=uart_uart0",
2071                    "cargo:rustc-cfg=uart_uart1",
2072                    "cargo:rustc-cfg=aes_dma",
2073                    "cargo:rustc-cfg=aes_dma_mode_ecb",
2074                    "cargo:rustc-cfg=aes_dma_mode_cbc",
2075                    "cargo:rustc-cfg=aes_dma_mode_ofb",
2076                    "cargo:rustc-cfg=aes_dma_mode_ctr",
2077                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
2078                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
2079                    "cargo:rustc-cfg=aes_has_split_text_registers",
2080                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
2081                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
2082                    "cargo:rustc-cfg=bt_controller=\"npl\"",
2083                    "cargo:rustc-cfg=dma_kind=\"gdma\"",
2084                    "cargo:rustc-cfg=dma_supports_mem2mem",
2085                    "cargo:rustc-cfg=dma_can_access_psram",
2086                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
2087                    "cargo:rustc-cfg=dma_max_priority=\"5\"",
2088                    "cargo:rustc-cfg=dma_max_priority_is_set",
2089                    "cargo:rustc-cfg=dma_gdma_version=\"2\"",
2090                    "cargo:rustc-cfg=dma_gdma_version_is_set",
2091                    "cargo:rustc-cfg=ecc_separate_jacobian_point_memory",
2092                    "cargo:rustc-cfg=ecc_has_memory_clock_gate",
2093                    "cargo:rustc-cfg=ecc_supports_enhanced_security",
2094                    "cargo:rustc-cfg=ecc_has_modular_arithmetic",
2095                    "cargo:rustc-cfg=ecc_has_point_addition",
2096                    "cargo:rustc-cfg=ecc_has_curve_p192",
2097                    "cargo:rustc-cfg=ecc_has_curve_p256",
2098                    "cargo:rustc-cfg=ecc_has_curve_p384",
2099                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
2100                    "cargo:rustc-cfg=gpio_constant_0_input=\"96\"",
2101                    "cargo:rustc-cfg=gpio_constant_1_input=\"64\"",
2102                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
2103                    "cargo:rustc-cfg=gpio_input_signal_max=\"116\"",
2104                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
2105                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
2106                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
2107                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
2108                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
2109                    "cargo:rustc-cfg=i2c_master_has_conf_update",
2110                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
2111                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
2112                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
2113                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
2114                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
2115                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
2116                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
2117                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
2118                    "cargo:rustc-cfg=interrupt_controller=\"clic\"",
2119                    "cargo:rustc-cfg=lp_i2c_master_fifo_size=\"16\"",
2120                    "cargo:rustc-cfg=lp_uart_ram_size=\"32\"",
2121                    "cargo:rustc-cfg=parl_io_version=\"2\"",
2122                    "cargo:rustc-cfg=phy_combo_module",
2123                    "cargo:rustc-cfg=psram_extmem_origin=\"1107296256\"",
2124                    "cargo:rustc-cfg=rmt_ram_start=\"1610638336\"",
2125                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
2126                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
2127                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
2128                    "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
2129                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
2130                    "cargo:rustc-cfg=rmt_has_tx_sync",
2131                    "cargo:rustc-cfg=rmt_has_rx_wrap",
2132                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
2133                    "cargo:rustc-cfg=rmt_supports_xtal_clock",
2134                    "cargo:rustc-cfg=rmt_supports_rcfast_clock",
2135                    "cargo:rustc-cfg=rmt_supports_pll80mhz_clock",
2136                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
2137                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
2138                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
2139                    "cargo:rustc-cfg=sha_dma",
2140                    "cargo:rustc-cfg=soc_cpu_has_branch_predictor",
2141                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode=\"2064\"",
2142                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode_is_set",
2143                    "cargo:rustc-cfg=soc_rc_fast_clk_default=\"17500000\"",
2144                    "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
2145                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
2146                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
2147                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
2148                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
2149                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
2150                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
2151                    "cargo:rustc-cfg=soc_has_clock_node_pll_f12m",
2152                    "cargo:rustc-cfg=soc_has_clock_node_pll_f20m",
2153                    "cargo:rustc-cfg=soc_has_clock_node_pll_f40m",
2154                    "cargo:rustc-cfg=soc_has_clock_node_pll_f48m",
2155                    "cargo:rustc-cfg=soc_has_clock_node_pll_f60m",
2156                    "cargo:rustc-cfg=soc_has_clock_node_pll_f80m",
2157                    "cargo:rustc-cfg=soc_has_clock_node_pll_f120m",
2158                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m",
2159                    "cargo:rustc-cfg=soc_has_clock_node_pll_f240m",
2160                    "cargo:rustc-cfg=soc_has_clock_node_hp_root_clk",
2161                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
2162                    "cargo:rustc-cfg=soc_has_clock_node_ahb_clk",
2163                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
2164                    "cargo:rustc-cfg=soc_has_clock_node_xtal_d2_clk",
2165                    "cargo:rustc-cfg=soc_has_clock_node_lp_fast_clk",
2166                    "cargo:rustc-cfg=soc_has_clock_node_lp_slow_clk",
2167                    "cargo:rustc-cfg=soc_has_clock_node_crypto_clk",
2168                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
2169                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
2170                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
2171                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
2172                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
2173                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
2174                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_rx_clock",
2175                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_tx_clock",
2176                    "cargo:rustc-cfg=has_dram_region",
2177                    "cargo:rustc-cfg=has_dram2_uninit_region",
2178                    "cargo:rustc-cfg=spi_master_supports_dma",
2179                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
2180                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
2181                    "cargo:rustc-cfg=spi_master_has_clk_pre_div",
2182                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
2183                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
2184                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
2185                    "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
2186                    "cargo:rustc-cfg=uhci_combined_uart_selector_field",
2187                    "cargo:rustc-cfg=wifi_mac_version=\"3\"",
2188                    "cargo:rustc-cfg=wifi_has_5g",
2189                    "cargo:rustc-cfg=wifi_csi_supported",
2190                ],
2191                memory_layout: &MemoryLayout {
2192                    regions: &[
2193                        (
2194                            "dram",
2195                            MemoryRegion {
2196                                address_range: 0x40800000..0x40860000,
2197                            },
2198                        ),
2199                        (
2200                            "dram2_uninit",
2201                            MemoryRegion {
2202                                address_range: 0x4084E5A0..0x4085E5A0,
2203                            },
2204                        ),
2205                    ],
2206                },
2207                pins: &[
2208                    PinInfo {
2209                        pin: 0,
2210                        limitations: &[],
2211                    },
2212                    PinInfo {
2213                        pin: 1,
2214                        limitations: &[],
2215                    },
2216                    PinInfo {
2217                        pin: 2,
2218                        limitations: &["strapping", "jtag"],
2219                    },
2220                    PinInfo {
2221                        pin: 3,
2222                        limitations: &["strapping", "jtag"],
2223                    },
2224                    PinInfo {
2225                        pin: 4,
2226                        limitations: &["jtag"],
2227                    },
2228                    PinInfo {
2229                        pin: 5,
2230                        limitations: &["jtag"],
2231                    },
2232                    PinInfo {
2233                        pin: 6,
2234                        limitations: &[],
2235                    },
2236                    PinInfo {
2237                        pin: 7,
2238                        limitations: &["strapping"],
2239                    },
2240                    PinInfo {
2241                        pin: 8,
2242                        limitations: &[],
2243                    },
2244                    PinInfo {
2245                        pin: 9,
2246                        limitations: &[],
2247                    },
2248                    PinInfo {
2249                        pin: 10,
2250                        limitations: &[],
2251                    },
2252                    PinInfo {
2253                        pin: 11,
2254                        limitations: &["bootloader_uart"],
2255                    },
2256                    PinInfo {
2257                        pin: 12,
2258                        limitations: &["bootloader_uart"],
2259                    },
2260                    PinInfo {
2261                        pin: 13,
2262                        limitations: &["usb_jtag"],
2263                    },
2264                    PinInfo {
2265                        pin: 14,
2266                        limitations: &["usb_jtag"],
2267                    },
2268                    PinInfo {
2269                        pin: 23,
2270                        limitations: &[],
2271                    },
2272                    PinInfo {
2273                        pin: 24,
2274                        limitations: &[],
2275                    },
2276                    PinInfo {
2277                        pin: 25,
2278                        limitations: &["strapping"],
2279                    },
2280                    PinInfo {
2281                        pin: 26,
2282                        limitations: &["strapping"],
2283                    },
2284                    PinInfo {
2285                        pin: 27,
2286                        limitations: &["strapping"],
2287                    },
2288                    PinInfo {
2289                        pin: 28,
2290                        limitations: &["strapping"],
2291                    },
2292                ],
2293            },
2294            Self::Esp32c6 => Config {
2295                architecture: "riscv",
2296                target: "riscv32imac-unknown-none-elf",
2297                symbols: &[
2298                    "esp32c6",
2299                    "riscv",
2300                    "single_core",
2301                    "soc_has_aes",
2302                    "soc_has_apb_saradc",
2303                    "soc_has_assist_debug",
2304                    "soc_has_atomic",
2305                    "soc_has_dma",
2306                    "soc_has_ds",
2307                    "soc_has_ecc",
2308                    "soc_has_efuse",
2309                    "soc_has_extmem",
2310                    "soc_has_gpio",
2311                    "soc_has_gpio_sd",
2312                    "soc_has_hinf",
2313                    "soc_has_hmac",
2314                    "soc_has_hp_apm",
2315                    "soc_has_hp_sys",
2316                    "soc_has_i2c_ana_mst",
2317                    "soc_has_i2c0",
2318                    "soc_has_i2s0",
2319                    "soc_has_ieee802154",
2320                    "soc_has_interrupt_core0",
2321                    "soc_has_intpri",
2322                    "soc_has_io_mux",
2323                    "soc_has_ledc",
2324                    "soc_has_lp_ana",
2325                    "soc_has_lp_aon",
2326                    "soc_has_lp_apm",
2327                    "soc_has_lp_apm0",
2328                    "soc_has_lp_clkrst",
2329                    "soc_has_lp_i2c0",
2330                    "soc_has_lp_i2c_ana_mst",
2331                    "soc_has_lp_io",
2332                    "soc_has_lp_peri",
2333                    "soc_has_lp_tee",
2334                    "soc_has_lp_timer",
2335                    "soc_has_lp_uart",
2336                    "soc_has_lp_wdt",
2337                    "soc_has_lpwr",
2338                    "soc_has_mcpwm0",
2339                    "soc_has_mem_monitor",
2340                    "soc_has_modem_lpcon",
2341                    "soc_has_modem_syscon",
2342                    "soc_has_otp_debug",
2343                    "soc_has_parl_io",
2344                    "soc_has_pau",
2345                    "soc_has_pcnt",
2346                    "soc_has_pcr",
2347                    "soc_has_plic_mx",
2348                    "soc_has_pmu",
2349                    "soc_has_rmt",
2350                    "soc_has_rng",
2351                    "soc_has_rsa",
2352                    "soc_has_sha",
2353                    "soc_has_slchost",
2354                    "soc_has_etm",
2355                    "soc_has_spi0",
2356                    "soc_has_spi1",
2357                    "soc_has_spi2",
2358                    "soc_has_system",
2359                    "soc_has_systimer",
2360                    "soc_has_tee",
2361                    "soc_has_timg0",
2362                    "soc_has_timg1",
2363                    "soc_has_trace0",
2364                    "soc_has_twai0",
2365                    "soc_has_twai1",
2366                    "soc_has_uart0",
2367                    "soc_has_uart1",
2368                    "soc_has_uhci0",
2369                    "soc_has_usb_device",
2370                    "soc_has_dma_ch0",
2371                    "soc_has_dma_ch1",
2372                    "soc_has_dma_ch2",
2373                    "soc_has_adc1",
2374                    "soc_has_bt",
2375                    "soc_has_flash",
2376                    "soc_has_gpio_dedicated",
2377                    "soc_has_lp_core",
2378                    "soc_has_sw_interrupt",
2379                    "soc_has_tsens",
2380                    "soc_has_wifi",
2381                    "soc_has_mem2mem0",
2382                    "soc_has_mem2mem1",
2383                    "soc_has_mem2mem2",
2384                    "soc_has_mem2mem3",
2385                    "soc_has_mem2mem4",
2386                    "soc_has_mem2mem5",
2387                    "soc_has_mem2mem6",
2388                    "soc_has_mem2mem7",
2389                    "soc_has_mem2mem8",
2390                    "phy",
2391                    "lp_core",
2392                    "swd",
2393                    "rom_crc_le",
2394                    "rom_crc_be",
2395                    "rom_md5_bsd",
2396                    "pm_support_wifi_wakeup",
2397                    "pm_support_beacon_wakeup",
2398                    "pm_support_bt_wakeup",
2399                    "gpio_support_deepsleep_wakeup",
2400                    "uart_support_wakeup_int",
2401                    "pm_support_ext1_wakeup",
2402                    "adc_driver_supported",
2403                    "aes_driver_supported",
2404                    "assist_debug_driver_supported",
2405                    "bt_driver_supported",
2406                    "dedicated_gpio_driver_supported",
2407                    "dma_driver_supported",
2408                    "ecc_driver_supported",
2409                    "etm_driver_supported",
2410                    "gpio_driver_supported",
2411                    "hmac_driver_supported",
2412                    "i2c_master_driver_supported",
2413                    "i2s_driver_supported",
2414                    "ieee802154_driver_supported",
2415                    "interrupts_driver_supported",
2416                    "io_mux_driver_supported",
2417                    "ledc_driver_supported",
2418                    "lp_i2c_master_driver_supported",
2419                    "lp_uart_driver_supported",
2420                    "mcpwm_driver_supported",
2421                    "parl_io_driver_supported",
2422                    "pcnt_driver_supported",
2423                    "phy_driver_supported",
2424                    "rmt_driver_supported",
2425                    "rng_driver_supported",
2426                    "rsa_driver_supported",
2427                    "lp_timer_driver_supported",
2428                    "sd_slave_driver_supported",
2429                    "sha_driver_supported",
2430                    "sleep_driver_supported",
2431                    "soc_driver_supported",
2432                    "spi_master_driver_supported",
2433                    "spi_slave_driver_supported",
2434                    "systimer_driver_supported",
2435                    "temp_sensor_driver_supported",
2436                    "timergroup_driver_supported",
2437                    "twai_driver_supported",
2438                    "uart_driver_supported",
2439                    "uhci_driver_supported",
2440                    "ulp_riscv_driver_supported",
2441                    "usb_serial_jtag_driver_supported",
2442                    "wifi_driver_supported",
2443                    "adc_adc1",
2444                    "i2c_master_i2c0",
2445                    "spi_master_spi2",
2446                    "spi_slave_spi2",
2447                    "timergroup_timg0",
2448                    "timergroup_timg1",
2449                    "uart_uart0",
2450                    "uart_uart1",
2451                    "aes_dma",
2452                    "aes_dma_mode_ecb",
2453                    "aes_dma_mode_cbc",
2454                    "aes_dma_mode_ofb",
2455                    "aes_dma_mode_ctr",
2456                    "aes_dma_mode_cfb8",
2457                    "aes_dma_mode_cfb128",
2458                    "aes_has_split_text_registers",
2459                    "assist_debug_has_sp_monitor",
2460                    "assist_debug_has_region_monitor",
2461                    "bt_controller=\"npl\"",
2462                    "dma_kind=\"gdma\"",
2463                    "dma_supports_mem2mem",
2464                    "dma_separate_in_out_interrupts",
2465                    "dma_max_priority=\"9\"",
2466                    "dma_max_priority_is_set",
2467                    "dma_gdma_version=\"1\"",
2468                    "dma_gdma_version_is_set",
2469                    "ecc_zero_extend_writes",
2470                    "ecc_has_memory_clock_gate",
2471                    "ecc_has_curve_p192",
2472                    "ecc_has_curve_p256",
2473                    "gpio_gpio_function=\"1\"",
2474                    "gpio_constant_0_input=\"60\"",
2475                    "gpio_constant_1_input=\"56\"",
2476                    "gpio_func_in_sel_offset=\"0\"",
2477                    "gpio_input_signal_max=\"124\"",
2478                    "gpio_output_signal_max=\"128\"",
2479                    "i2c_master_has_fsm_timeouts",
2480                    "i2c_master_has_hw_bus_clear",
2481                    "i2c_master_has_bus_timeout_enable",
2482                    "i2c_master_can_estimate_nack_reason",
2483                    "i2c_master_has_conf_update",
2484                    "i2c_master_has_reliable_fsm_reset",
2485                    "i2c_master_has_arbitration_en",
2486                    "i2c_master_has_tx_fifo_watermark",
2487                    "i2c_master_bus_timeout_is_exponential",
2488                    "i2c_master_max_bus_timeout=\"31\"",
2489                    "i2c_master_ll_intr_mask=\"262143\"",
2490                    "i2c_master_fifo_size=\"32\"",
2491                    "interrupts_status_registers=\"3\"",
2492                    "interrupt_controller=\"plic\"",
2493                    "lp_i2c_master_fifo_size=\"16\"",
2494                    "lp_uart_ram_size=\"32\"",
2495                    "parl_io_version=\"1\"",
2496                    "phy_combo_module",
2497                    "rmt_ram_start=\"1610638336\"",
2498                    "rmt_channel_ram_size=\"48\"",
2499                    "rmt_has_tx_immediate_stop",
2500                    "rmt_has_tx_loop_count",
2501                    "rmt_has_tx_loop_auto_stop",
2502                    "rmt_has_tx_carrier_data_only",
2503                    "rmt_has_tx_sync",
2504                    "rmt_has_rx_wrap",
2505                    "rmt_has_rx_demodulation",
2506                    "rmt_supports_none_clock",
2507                    "rmt_supports_pll80mhz_clock",
2508                    "rmt_supports_rcfast_clock",
2509                    "rmt_supports_xtal_clock",
2510                    "rng_apb_cycle_wait_num=\"16\"",
2511                    "rng_trng_supported",
2512                    "rsa_size_increment=\"32\"",
2513                    "rsa_memory_size_bytes=\"384\"",
2514                    "sha_dma",
2515                    "sleep_light_sleep",
2516                    "sleep_deep_sleep",
2517                    "soc_cpu_has_csr_pc",
2518                    "soc_cpu_csr_prv_mode=\"3088\"",
2519                    "soc_cpu_csr_prv_mode_is_set",
2520                    "soc_rc_fast_clk_default=\"17500000\"",
2521                    "soc_rc_fast_clk_default_is_set",
2522                    "soc_has_clock_node_xtal_clk",
2523                    "soc_has_clock_node_pll_clk",
2524                    "soc_has_clock_node_rc_fast_clk",
2525                    "soc_has_clock_node_xtal32k_clk",
2526                    "soc_has_clock_node_osc_slow_clk",
2527                    "soc_has_clock_node_rc_slow_clk",
2528                    "soc_has_clock_node_soc_root_clk",
2529                    "soc_has_clock_node_hp_root_clk",
2530                    "soc_has_clock_node_cpu_hs_div",
2531                    "soc_has_clock_node_cpu_ls_div",
2532                    "soc_has_clock_node_cpu_clk",
2533                    "soc_has_clock_node_ahb_hs_div",
2534                    "soc_has_clock_node_ahb_ls_div",
2535                    "soc_has_clock_node_ahb_clk",
2536                    "soc_has_clock_node_apb_clk",
2537                    "soc_has_clock_node_mspi_fast_hs_clk",
2538                    "soc_has_clock_node_mspi_fast_ls_clk",
2539                    "soc_has_clock_node_mspi_fast_clk",
2540                    "soc_has_clock_node_pll_f48m",
2541                    "soc_has_clock_node_pll_f80m",
2542                    "soc_has_clock_node_pll_f160m",
2543                    "soc_has_clock_node_pll_f240m",
2544                    "soc_has_clock_node_ledc_sclk",
2545                    "soc_has_clock_node_xtal_d2_clk",
2546                    "soc_has_clock_node_lp_fast_clk",
2547                    "soc_has_clock_node_lp_slow_clk",
2548                    "soc_has_clock_node_timg_calibration_clock",
2549                    "soc_has_clock_node_uart_function_clock",
2550                    "soc_has_clock_node_uart_baud_rate_generator",
2551                    "soc_has_clock_node_rmt_sclk",
2552                    "soc_has_clock_node_timg_function_clock",
2553                    "soc_has_clock_node_timg_wdt_clock",
2554                    "soc_has_clock_node_mcpwm_function_clock",
2555                    "soc_has_clock_node_parl_io_rx_clock",
2556                    "soc_has_clock_node_parl_io_tx_clock",
2557                    "has_dram_region",
2558                    "has_dram2_uninit_region",
2559                    "spi_master_supports_dma",
2560                    "spi_master_has_app_interrupts",
2561                    "spi_master_has_dma_segmented_transfer",
2562                    "spi_slave_supports_dma",
2563                    "timergroup_timg_has_divcnt_rst",
2564                    "timergroup_rc_fast_calibration_divider",
2565                    "timergroup_rc_fast_calibration_is_set",
2566                    "uart_ram_size=\"128\"",
2567                    "uart_peripheral_controls_mem_clk",
2568                    "wifi_has_wifi6",
2569                    "wifi_mac_version=\"2\"",
2570                    "wifi_csi_supported",
2571                ],
2572                cfgs: &[
2573                    "cargo:rustc-cfg=esp32c6",
2574                    "cargo:rustc-cfg=riscv",
2575                    "cargo:rustc-cfg=single_core",
2576                    "cargo:rustc-cfg=soc_has_aes",
2577                    "cargo:rustc-cfg=soc_has_apb_saradc",
2578                    "cargo:rustc-cfg=soc_has_assist_debug",
2579                    "cargo:rustc-cfg=soc_has_atomic",
2580                    "cargo:rustc-cfg=soc_has_dma",
2581                    "cargo:rustc-cfg=soc_has_ds",
2582                    "cargo:rustc-cfg=soc_has_ecc",
2583                    "cargo:rustc-cfg=soc_has_efuse",
2584                    "cargo:rustc-cfg=soc_has_extmem",
2585                    "cargo:rustc-cfg=soc_has_gpio",
2586                    "cargo:rustc-cfg=soc_has_gpio_sd",
2587                    "cargo:rustc-cfg=soc_has_hinf",
2588                    "cargo:rustc-cfg=soc_has_hmac",
2589                    "cargo:rustc-cfg=soc_has_hp_apm",
2590                    "cargo:rustc-cfg=soc_has_hp_sys",
2591                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
2592                    "cargo:rustc-cfg=soc_has_i2c0",
2593                    "cargo:rustc-cfg=soc_has_i2s0",
2594                    "cargo:rustc-cfg=soc_has_ieee802154",
2595                    "cargo:rustc-cfg=soc_has_interrupt_core0",
2596                    "cargo:rustc-cfg=soc_has_intpri",
2597                    "cargo:rustc-cfg=soc_has_io_mux",
2598                    "cargo:rustc-cfg=soc_has_ledc",
2599                    "cargo:rustc-cfg=soc_has_lp_ana",
2600                    "cargo:rustc-cfg=soc_has_lp_aon",
2601                    "cargo:rustc-cfg=soc_has_lp_apm",
2602                    "cargo:rustc-cfg=soc_has_lp_apm0",
2603                    "cargo:rustc-cfg=soc_has_lp_clkrst",
2604                    "cargo:rustc-cfg=soc_has_lp_i2c0",
2605                    "cargo:rustc-cfg=soc_has_lp_i2c_ana_mst",
2606                    "cargo:rustc-cfg=soc_has_lp_io",
2607                    "cargo:rustc-cfg=soc_has_lp_peri",
2608                    "cargo:rustc-cfg=soc_has_lp_tee",
2609                    "cargo:rustc-cfg=soc_has_lp_timer",
2610                    "cargo:rustc-cfg=soc_has_lp_uart",
2611                    "cargo:rustc-cfg=soc_has_lp_wdt",
2612                    "cargo:rustc-cfg=soc_has_lpwr",
2613                    "cargo:rustc-cfg=soc_has_mcpwm0",
2614                    "cargo:rustc-cfg=soc_has_mem_monitor",
2615                    "cargo:rustc-cfg=soc_has_modem_lpcon",
2616                    "cargo:rustc-cfg=soc_has_modem_syscon",
2617                    "cargo:rustc-cfg=soc_has_otp_debug",
2618                    "cargo:rustc-cfg=soc_has_parl_io",
2619                    "cargo:rustc-cfg=soc_has_pau",
2620                    "cargo:rustc-cfg=soc_has_pcnt",
2621                    "cargo:rustc-cfg=soc_has_pcr",
2622                    "cargo:rustc-cfg=soc_has_plic_mx",
2623                    "cargo:rustc-cfg=soc_has_pmu",
2624                    "cargo:rustc-cfg=soc_has_rmt",
2625                    "cargo:rustc-cfg=soc_has_rng",
2626                    "cargo:rustc-cfg=soc_has_rsa",
2627                    "cargo:rustc-cfg=soc_has_sha",
2628                    "cargo:rustc-cfg=soc_has_slchost",
2629                    "cargo:rustc-cfg=soc_has_etm",
2630                    "cargo:rustc-cfg=soc_has_spi0",
2631                    "cargo:rustc-cfg=soc_has_spi1",
2632                    "cargo:rustc-cfg=soc_has_spi2",
2633                    "cargo:rustc-cfg=soc_has_system",
2634                    "cargo:rustc-cfg=soc_has_systimer",
2635                    "cargo:rustc-cfg=soc_has_tee",
2636                    "cargo:rustc-cfg=soc_has_timg0",
2637                    "cargo:rustc-cfg=soc_has_timg1",
2638                    "cargo:rustc-cfg=soc_has_trace0",
2639                    "cargo:rustc-cfg=soc_has_twai0",
2640                    "cargo:rustc-cfg=soc_has_twai1",
2641                    "cargo:rustc-cfg=soc_has_uart0",
2642                    "cargo:rustc-cfg=soc_has_uart1",
2643                    "cargo:rustc-cfg=soc_has_uhci0",
2644                    "cargo:rustc-cfg=soc_has_usb_device",
2645                    "cargo:rustc-cfg=soc_has_dma_ch0",
2646                    "cargo:rustc-cfg=soc_has_dma_ch1",
2647                    "cargo:rustc-cfg=soc_has_dma_ch2",
2648                    "cargo:rustc-cfg=soc_has_adc1",
2649                    "cargo:rustc-cfg=soc_has_bt",
2650                    "cargo:rustc-cfg=soc_has_flash",
2651                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
2652                    "cargo:rustc-cfg=soc_has_lp_core",
2653                    "cargo:rustc-cfg=soc_has_sw_interrupt",
2654                    "cargo:rustc-cfg=soc_has_tsens",
2655                    "cargo:rustc-cfg=soc_has_wifi",
2656                    "cargo:rustc-cfg=soc_has_mem2mem0",
2657                    "cargo:rustc-cfg=soc_has_mem2mem1",
2658                    "cargo:rustc-cfg=soc_has_mem2mem2",
2659                    "cargo:rustc-cfg=soc_has_mem2mem3",
2660                    "cargo:rustc-cfg=soc_has_mem2mem4",
2661                    "cargo:rustc-cfg=soc_has_mem2mem5",
2662                    "cargo:rustc-cfg=soc_has_mem2mem6",
2663                    "cargo:rustc-cfg=soc_has_mem2mem7",
2664                    "cargo:rustc-cfg=soc_has_mem2mem8",
2665                    "cargo:rustc-cfg=phy",
2666                    "cargo:rustc-cfg=lp_core",
2667                    "cargo:rustc-cfg=swd",
2668                    "cargo:rustc-cfg=rom_crc_le",
2669                    "cargo:rustc-cfg=rom_crc_be",
2670                    "cargo:rustc-cfg=rom_md5_bsd",
2671                    "cargo:rustc-cfg=pm_support_wifi_wakeup",
2672                    "cargo:rustc-cfg=pm_support_beacon_wakeup",
2673                    "cargo:rustc-cfg=pm_support_bt_wakeup",
2674                    "cargo:rustc-cfg=gpio_support_deepsleep_wakeup",
2675                    "cargo:rustc-cfg=uart_support_wakeup_int",
2676                    "cargo:rustc-cfg=pm_support_ext1_wakeup",
2677                    "cargo:rustc-cfg=adc_driver_supported",
2678                    "cargo:rustc-cfg=aes_driver_supported",
2679                    "cargo:rustc-cfg=assist_debug_driver_supported",
2680                    "cargo:rustc-cfg=bt_driver_supported",
2681                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
2682                    "cargo:rustc-cfg=dma_driver_supported",
2683                    "cargo:rustc-cfg=ecc_driver_supported",
2684                    "cargo:rustc-cfg=etm_driver_supported",
2685                    "cargo:rustc-cfg=gpio_driver_supported",
2686                    "cargo:rustc-cfg=hmac_driver_supported",
2687                    "cargo:rustc-cfg=i2c_master_driver_supported",
2688                    "cargo:rustc-cfg=i2s_driver_supported",
2689                    "cargo:rustc-cfg=ieee802154_driver_supported",
2690                    "cargo:rustc-cfg=interrupts_driver_supported",
2691                    "cargo:rustc-cfg=io_mux_driver_supported",
2692                    "cargo:rustc-cfg=ledc_driver_supported",
2693                    "cargo:rustc-cfg=lp_i2c_master_driver_supported",
2694                    "cargo:rustc-cfg=lp_uart_driver_supported",
2695                    "cargo:rustc-cfg=mcpwm_driver_supported",
2696                    "cargo:rustc-cfg=parl_io_driver_supported",
2697                    "cargo:rustc-cfg=pcnt_driver_supported",
2698                    "cargo:rustc-cfg=phy_driver_supported",
2699                    "cargo:rustc-cfg=rmt_driver_supported",
2700                    "cargo:rustc-cfg=rng_driver_supported",
2701                    "cargo:rustc-cfg=rsa_driver_supported",
2702                    "cargo:rustc-cfg=lp_timer_driver_supported",
2703                    "cargo:rustc-cfg=sd_slave_driver_supported",
2704                    "cargo:rustc-cfg=sha_driver_supported",
2705                    "cargo:rustc-cfg=sleep_driver_supported",
2706                    "cargo:rustc-cfg=soc_driver_supported",
2707                    "cargo:rustc-cfg=spi_master_driver_supported",
2708                    "cargo:rustc-cfg=spi_slave_driver_supported",
2709                    "cargo:rustc-cfg=systimer_driver_supported",
2710                    "cargo:rustc-cfg=temp_sensor_driver_supported",
2711                    "cargo:rustc-cfg=timergroup_driver_supported",
2712                    "cargo:rustc-cfg=twai_driver_supported",
2713                    "cargo:rustc-cfg=uart_driver_supported",
2714                    "cargo:rustc-cfg=uhci_driver_supported",
2715                    "cargo:rustc-cfg=ulp_riscv_driver_supported",
2716                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
2717                    "cargo:rustc-cfg=wifi_driver_supported",
2718                    "cargo:rustc-cfg=adc_adc1",
2719                    "cargo:rustc-cfg=i2c_master_i2c0",
2720                    "cargo:rustc-cfg=spi_master_spi2",
2721                    "cargo:rustc-cfg=spi_slave_spi2",
2722                    "cargo:rustc-cfg=timergroup_timg0",
2723                    "cargo:rustc-cfg=timergroup_timg1",
2724                    "cargo:rustc-cfg=uart_uart0",
2725                    "cargo:rustc-cfg=uart_uart1",
2726                    "cargo:rustc-cfg=aes_dma",
2727                    "cargo:rustc-cfg=aes_dma_mode_ecb",
2728                    "cargo:rustc-cfg=aes_dma_mode_cbc",
2729                    "cargo:rustc-cfg=aes_dma_mode_ofb",
2730                    "cargo:rustc-cfg=aes_dma_mode_ctr",
2731                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
2732                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
2733                    "cargo:rustc-cfg=aes_has_split_text_registers",
2734                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
2735                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
2736                    "cargo:rustc-cfg=bt_controller=\"npl\"",
2737                    "cargo:rustc-cfg=dma_kind=\"gdma\"",
2738                    "cargo:rustc-cfg=dma_supports_mem2mem",
2739                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
2740                    "cargo:rustc-cfg=dma_max_priority=\"9\"",
2741                    "cargo:rustc-cfg=dma_max_priority_is_set",
2742                    "cargo:rustc-cfg=dma_gdma_version=\"1\"",
2743                    "cargo:rustc-cfg=dma_gdma_version_is_set",
2744                    "cargo:rustc-cfg=ecc_zero_extend_writes",
2745                    "cargo:rustc-cfg=ecc_has_memory_clock_gate",
2746                    "cargo:rustc-cfg=ecc_has_curve_p192",
2747                    "cargo:rustc-cfg=ecc_has_curve_p256",
2748                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
2749                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
2750                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
2751                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
2752                    "cargo:rustc-cfg=gpio_input_signal_max=\"124\"",
2753                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
2754                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
2755                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
2756                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
2757                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
2758                    "cargo:rustc-cfg=i2c_master_has_conf_update",
2759                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
2760                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
2761                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
2762                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
2763                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
2764                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
2765                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
2766                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
2767                    "cargo:rustc-cfg=interrupt_controller=\"plic\"",
2768                    "cargo:rustc-cfg=lp_i2c_master_fifo_size=\"16\"",
2769                    "cargo:rustc-cfg=lp_uart_ram_size=\"32\"",
2770                    "cargo:rustc-cfg=parl_io_version=\"1\"",
2771                    "cargo:rustc-cfg=phy_combo_module",
2772                    "cargo:rustc-cfg=rmt_ram_start=\"1610638336\"",
2773                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
2774                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
2775                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
2776                    "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
2777                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
2778                    "cargo:rustc-cfg=rmt_has_tx_sync",
2779                    "cargo:rustc-cfg=rmt_has_rx_wrap",
2780                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
2781                    "cargo:rustc-cfg=rmt_supports_none_clock",
2782                    "cargo:rustc-cfg=rmt_supports_pll80mhz_clock",
2783                    "cargo:rustc-cfg=rmt_supports_rcfast_clock",
2784                    "cargo:rustc-cfg=rmt_supports_xtal_clock",
2785                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
2786                    "cargo:rustc-cfg=rng_trng_supported",
2787                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
2788                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
2789                    "cargo:rustc-cfg=sha_dma",
2790                    "cargo:rustc-cfg=sleep_light_sleep",
2791                    "cargo:rustc-cfg=sleep_deep_sleep",
2792                    "cargo:rustc-cfg=soc_cpu_has_csr_pc",
2793                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode=\"3088\"",
2794                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode_is_set",
2795                    "cargo:rustc-cfg=soc_rc_fast_clk_default=\"17500000\"",
2796                    "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
2797                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
2798                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
2799                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
2800                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
2801                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
2802                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
2803                    "cargo:rustc-cfg=soc_has_clock_node_soc_root_clk",
2804                    "cargo:rustc-cfg=soc_has_clock_node_hp_root_clk",
2805                    "cargo:rustc-cfg=soc_has_clock_node_cpu_hs_div",
2806                    "cargo:rustc-cfg=soc_has_clock_node_cpu_ls_div",
2807                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
2808                    "cargo:rustc-cfg=soc_has_clock_node_ahb_hs_div",
2809                    "cargo:rustc-cfg=soc_has_clock_node_ahb_ls_div",
2810                    "cargo:rustc-cfg=soc_has_clock_node_ahb_clk",
2811                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
2812                    "cargo:rustc-cfg=soc_has_clock_node_mspi_fast_hs_clk",
2813                    "cargo:rustc-cfg=soc_has_clock_node_mspi_fast_ls_clk",
2814                    "cargo:rustc-cfg=soc_has_clock_node_mspi_fast_clk",
2815                    "cargo:rustc-cfg=soc_has_clock_node_pll_f48m",
2816                    "cargo:rustc-cfg=soc_has_clock_node_pll_f80m",
2817                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m",
2818                    "cargo:rustc-cfg=soc_has_clock_node_pll_f240m",
2819                    "cargo:rustc-cfg=soc_has_clock_node_ledc_sclk",
2820                    "cargo:rustc-cfg=soc_has_clock_node_xtal_d2_clk",
2821                    "cargo:rustc-cfg=soc_has_clock_node_lp_fast_clk",
2822                    "cargo:rustc-cfg=soc_has_clock_node_lp_slow_clk",
2823                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
2824                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
2825                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
2826                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
2827                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
2828                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
2829                    "cargo:rustc-cfg=soc_has_clock_node_mcpwm_function_clock",
2830                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_rx_clock",
2831                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_tx_clock",
2832                    "cargo:rustc-cfg=has_dram_region",
2833                    "cargo:rustc-cfg=has_dram2_uninit_region",
2834                    "cargo:rustc-cfg=spi_master_supports_dma",
2835                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
2836                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
2837                    "cargo:rustc-cfg=spi_slave_supports_dma",
2838                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
2839                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_divider",
2840                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
2841                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
2842                    "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
2843                    "cargo:rustc-cfg=wifi_has_wifi6",
2844                    "cargo:rustc-cfg=wifi_mac_version=\"2\"",
2845                    "cargo:rustc-cfg=wifi_csi_supported",
2846                ],
2847                memory_layout: &MemoryLayout {
2848                    regions: &[
2849                        (
2850                            "dram",
2851                            MemoryRegion {
2852                                address_range: 0x40800000..0x40880000,
2853                            },
2854                        ),
2855                        (
2856                            "dram2_uninit",
2857                            MemoryRegion {
2858                                address_range: 0x4086E610..0x4087E610,
2859                            },
2860                        ),
2861                    ],
2862                },
2863                pins: &[
2864                    PinInfo {
2865                        pin: 0,
2866                        limitations: &[],
2867                    },
2868                    PinInfo {
2869                        pin: 1,
2870                        limitations: &[],
2871                    },
2872                    PinInfo {
2873                        pin: 2,
2874                        limitations: &[],
2875                    },
2876                    PinInfo {
2877                        pin: 3,
2878                        limitations: &[],
2879                    },
2880                    PinInfo {
2881                        pin: 4,
2882                        limitations: &["strapping", "jtag"],
2883                    },
2884                    PinInfo {
2885                        pin: 5,
2886                        limitations: &["strapping", "jtag"],
2887                    },
2888                    PinInfo {
2889                        pin: 6,
2890                        limitations: &["jtag"],
2891                    },
2892                    PinInfo {
2893                        pin: 7,
2894                        limitations: &["jtag"],
2895                    },
2896                    PinInfo {
2897                        pin: 8,
2898                        limitations: &["strapping"],
2899                    },
2900                    PinInfo {
2901                        pin: 9,
2902                        limitations: &["strapping"],
2903                    },
2904                    PinInfo {
2905                        pin: 10,
2906                        limitations: &[],
2907                    },
2908                    PinInfo {
2909                        pin: 11,
2910                        limitations: &[],
2911                    },
2912                    PinInfo {
2913                        pin: 12,
2914                        limitations: &["usb_jtag"],
2915                    },
2916                    PinInfo {
2917                        pin: 13,
2918                        limitations: &["usb_jtag"],
2919                    },
2920                    PinInfo {
2921                        pin: 14,
2922                        limitations: &[],
2923                    },
2924                    PinInfo {
2925                        pin: 15,
2926                        limitations: &["strapping"],
2927                    },
2928                    PinInfo {
2929                        pin: 16,
2930                        limitations: &["bootloader_uart"],
2931                    },
2932                    PinInfo {
2933                        pin: 17,
2934                        limitations: &["bootloader_uart"],
2935                    },
2936                    PinInfo {
2937                        pin: 18,
2938                        limitations: &[],
2939                    },
2940                    PinInfo {
2941                        pin: 19,
2942                        limitations: &[],
2943                    },
2944                    PinInfo {
2945                        pin: 20,
2946                        limitations: &[],
2947                    },
2948                    PinInfo {
2949                        pin: 21,
2950                        limitations: &[],
2951                    },
2952                    PinInfo {
2953                        pin: 22,
2954                        limitations: &[],
2955                    },
2956                    PinInfo {
2957                        pin: 23,
2958                        limitations: &[],
2959                    },
2960                    PinInfo {
2961                        pin: 24,
2962                        limitations: &["spi_flash"],
2963                    },
2964                    PinInfo {
2965                        pin: 25,
2966                        limitations: &["spi_flash"],
2967                    },
2968                    PinInfo {
2969                        pin: 26,
2970                        limitations: &["spi_flash"],
2971                    },
2972                    PinInfo {
2973                        pin: 27,
2974                        limitations: &["spi_flash"],
2975                    },
2976                    PinInfo {
2977                        pin: 28,
2978                        limitations: &["spi_flash"],
2979                    },
2980                    PinInfo {
2981                        pin: 29,
2982                        limitations: &["spi_flash"],
2983                    },
2984                    PinInfo {
2985                        pin: 30,
2986                        limitations: &["spi_flash"],
2987                    },
2988                ],
2989            },
2990            Self::Esp32c61 => Config {
2991                architecture: "riscv",
2992                target: "riscv32imac-unknown-none-elf",
2993                symbols: &[
2994                    "esp32c61",
2995                    "riscv",
2996                    "single_core",
2997                    "soc_has_assist_debug",
2998                    "soc_has_clint",
2999                    "soc_has_cache",
3000                    "soc_has_dma",
3001                    "soc_has_ecc",
3002                    "soc_has_ecdsa",
3003                    "soc_has_efuse",
3004                    "soc_has_etm",
3005                    "soc_has_gpio",
3006                    "soc_has_hp_apm",
3007                    "soc_has_hp_sys",
3008                    "soc_has_i2c_ana_mst",
3009                    "soc_has_i2c0",
3010                    "soc_has_i2s0",
3011                    "soc_has_interrupt_core0",
3012                    "soc_has_intpri",
3013                    "soc_has_io_mux",
3014                    "soc_has_lp_ana",
3015                    "soc_has_lp_aon",
3016                    "soc_has_lp_apm",
3017                    "soc_has_lp_clkrst",
3018                    "soc_has_lpwr",
3019                    "soc_has_lp_io_mux",
3020                    "soc_has_lp_peri",
3021                    "soc_has_lp_tee",
3022                    "soc_has_lp_timer",
3023                    "soc_has_lp_wdt",
3024                    "soc_has_mem_monitor",
3025                    "soc_has_modem_lpcon",
3026                    "soc_has_modem_syscon",
3027                    "soc_has_pau",
3028                    "soc_has_pcr",
3029                    "soc_has_pmu",
3030                    "soc_has_rng",
3031                    "soc_has_sha",
3032                    "soc_has_slc",
3033                    "soc_has_spi0",
3034                    "soc_has_spi1",
3035                    "soc_has_spi2",
3036                    "soc_has_system",
3037                    "soc_has_systimer",
3038                    "soc_has_tee",
3039                    "soc_has_timg0",
3040                    "soc_has_timg1",
3041                    "soc_has_uart0",
3042                    "soc_has_uart1",
3043                    "soc_has_usb_device",
3044                    "soc_has_dma_ch0",
3045                    "soc_has_dma_ch1",
3046                    "soc_has_bt",
3047                    "soc_has_flash",
3048                    "soc_has_lp_core",
3049                    "soc_has_sw_interrupt",
3050                    "soc_has_wifi",
3051                    "soc_has_mem2mem0",
3052                    "soc_has_mem2mem1",
3053                    "soc_has_mem2mem2",
3054                    "soc_has_mem2mem3",
3055                    "soc_has_mem2mem4",
3056                    "soc_has_mem2mem5",
3057                    "soc_has_mem2mem6",
3058                    "soc_has_mem2mem7",
3059                    "soc_has_mem2mem8",
3060                    "soc_has_mem2mem9",
3061                    "soc_has_mem2mem10",
3062                    "soc_has_mem2mem11",
3063                    "soc_has_psram",
3064                    "swd",
3065                    "rom_crc_le",
3066                    "rom_crc_be",
3067                    "rom_md5_bsd",
3068                    "bt_driver_supported",
3069                    "dma_driver_supported",
3070                    "ecc_driver_supported",
3071                    "gpio_driver_supported",
3072                    "i2c_master_driver_supported",
3073                    "interrupts_driver_supported",
3074                    "psram_driver_supported",
3075                    "rng_driver_supported",
3076                    "sha_driver_supported",
3077                    "soc_driver_supported",
3078                    "spi_master_driver_supported",
3079                    "spi_slave_driver_supported",
3080                    "systimer_driver_supported",
3081                    "timergroup_driver_supported",
3082                    "uart_driver_supported",
3083                    "wifi_driver_supported",
3084                    "i2c_master_i2c0",
3085                    "spi_master_spi2",
3086                    "spi_slave_spi2",
3087                    "timergroup_timg0",
3088                    "timergroup_timg1",
3089                    "uart_uart0",
3090                    "uart_uart1",
3091                    "bt_controller=\"npl\"",
3092                    "dma_kind=\"gdma\"",
3093                    "dma_supports_mem2mem",
3094                    "dma_separate_in_out_interrupts",
3095                    "dma_max_priority=\"5\"",
3096                    "dma_max_priority_is_set",
3097                    "dma_gdma_version=\"2\"",
3098                    "dma_gdma_version_is_set",
3099                    "ecc_zero_extend_writes",
3100                    "ecc_separate_jacobian_point_memory",
3101                    "ecc_has_memory_clock_gate",
3102                    "ecc_supports_enhanced_security",
3103                    "ecc_has_modular_arithmetic",
3104                    "ecc_has_point_addition",
3105                    "ecc_has_curve_p192",
3106                    "ecc_has_curve_p256",
3107                    "gpio_gpio_function=\"1\"",
3108                    "gpio_constant_0_input=\"96\"",
3109                    "gpio_constant_1_input=\"64\"",
3110                    "gpio_func_in_sel_offset=\"0\"",
3111                    "gpio_input_signal_max=\"100\"",
3112                    "gpio_output_signal_max=\"256\"",
3113                    "i2c_master_has_fsm_timeouts",
3114                    "i2c_master_has_hw_bus_clear",
3115                    "i2c_master_has_bus_timeout_enable",
3116                    "i2c_master_can_estimate_nack_reason",
3117                    "i2c_master_has_conf_update",
3118                    "i2c_master_has_reliable_fsm_reset",
3119                    "i2c_master_has_arbitration_en",
3120                    "i2c_master_has_tx_fifo_watermark",
3121                    "i2c_master_bus_timeout_is_exponential",
3122                    "i2c_master_max_bus_timeout=\"31\"",
3123                    "i2c_master_ll_intr_mask=\"262143\"",
3124                    "i2c_master_fifo_size=\"32\"",
3125                    "interrupts_status_registers=\"3\"",
3126                    "interrupt_controller=\"clic\"",
3127                    "psram_extmem_origin=\"1107296256\"",
3128                    "rng_apb_cycle_wait_num=\"16\"",
3129                    "sha_dma",
3130                    "soc_rc_fast_clk_default=\"17500000\"",
3131                    "soc_rc_fast_clk_default_is_set",
3132                    "soc_has_clock_node_xtal_clk",
3133                    "soc_has_clock_node_rc_fast_clk",
3134                    "soc_has_clock_node_pll_clk",
3135                    "soc_has_clock_node_xtal32k_clk",
3136                    "soc_has_clock_node_osc_slow_clk",
3137                    "soc_has_clock_node_rc_slow_clk",
3138                    "soc_has_clock_node_pll_f20m",
3139                    "soc_has_clock_node_pll_f40m",
3140                    "soc_has_clock_node_pll_f48m",
3141                    "soc_has_clock_node_pll_f60m",
3142                    "soc_has_clock_node_pll_f80m",
3143                    "soc_has_clock_node_pll_f120m",
3144                    "soc_has_clock_node_pll_f160m",
3145                    "soc_has_clock_node_hp_root_clk",
3146                    "soc_has_clock_node_cpu_clk",
3147                    "soc_has_clock_node_ahb_clk",
3148                    "soc_has_clock_node_apb_clk",
3149                    "soc_has_clock_node_xtal_d2_clk",
3150                    "soc_has_clock_node_lp_fast_clk",
3151                    "soc_has_clock_node_lp_slow_clk",
3152                    "soc_has_clock_node_timg_calibration_clock",
3153                    "soc_has_clock_node_uart_function_clock",
3154                    "soc_has_clock_node_uart_baud_rate_generator",
3155                    "soc_has_clock_node_timg_function_clock",
3156                    "soc_has_clock_node_timg_wdt_clock",
3157                    "has_dram_region",
3158                    "has_dram2_uninit_region",
3159                    "spi_master_supports_dma",
3160                    "spi_master_has_app_interrupts",
3161                    "spi_master_has_dma_segmented_transfer",
3162                    "spi_master_has_clk_pre_div",
3163                    "timergroup_timg_has_divcnt_rst",
3164                    "timergroup_rc_fast_calibration_is_set",
3165                    "uart_ram_size=\"128\"",
3166                    "uart_peripheral_controls_mem_clk",
3167                    "wifi_has_wifi6",
3168                    "wifi_mac_version=\"3\"",
3169                    "wifi_csi_supported",
3170                ],
3171                cfgs: &[
3172                    "cargo:rustc-cfg=esp32c61",
3173                    "cargo:rustc-cfg=riscv",
3174                    "cargo:rustc-cfg=single_core",
3175                    "cargo:rustc-cfg=soc_has_assist_debug",
3176                    "cargo:rustc-cfg=soc_has_clint",
3177                    "cargo:rustc-cfg=soc_has_cache",
3178                    "cargo:rustc-cfg=soc_has_dma",
3179                    "cargo:rustc-cfg=soc_has_ecc",
3180                    "cargo:rustc-cfg=soc_has_ecdsa",
3181                    "cargo:rustc-cfg=soc_has_efuse",
3182                    "cargo:rustc-cfg=soc_has_etm",
3183                    "cargo:rustc-cfg=soc_has_gpio",
3184                    "cargo:rustc-cfg=soc_has_hp_apm",
3185                    "cargo:rustc-cfg=soc_has_hp_sys",
3186                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
3187                    "cargo:rustc-cfg=soc_has_i2c0",
3188                    "cargo:rustc-cfg=soc_has_i2s0",
3189                    "cargo:rustc-cfg=soc_has_interrupt_core0",
3190                    "cargo:rustc-cfg=soc_has_intpri",
3191                    "cargo:rustc-cfg=soc_has_io_mux",
3192                    "cargo:rustc-cfg=soc_has_lp_ana",
3193                    "cargo:rustc-cfg=soc_has_lp_aon",
3194                    "cargo:rustc-cfg=soc_has_lp_apm",
3195                    "cargo:rustc-cfg=soc_has_lp_clkrst",
3196                    "cargo:rustc-cfg=soc_has_lpwr",
3197                    "cargo:rustc-cfg=soc_has_lp_io_mux",
3198                    "cargo:rustc-cfg=soc_has_lp_peri",
3199                    "cargo:rustc-cfg=soc_has_lp_tee",
3200                    "cargo:rustc-cfg=soc_has_lp_timer",
3201                    "cargo:rustc-cfg=soc_has_lp_wdt",
3202                    "cargo:rustc-cfg=soc_has_mem_monitor",
3203                    "cargo:rustc-cfg=soc_has_modem_lpcon",
3204                    "cargo:rustc-cfg=soc_has_modem_syscon",
3205                    "cargo:rustc-cfg=soc_has_pau",
3206                    "cargo:rustc-cfg=soc_has_pcr",
3207                    "cargo:rustc-cfg=soc_has_pmu",
3208                    "cargo:rustc-cfg=soc_has_rng",
3209                    "cargo:rustc-cfg=soc_has_sha",
3210                    "cargo:rustc-cfg=soc_has_slc",
3211                    "cargo:rustc-cfg=soc_has_spi0",
3212                    "cargo:rustc-cfg=soc_has_spi1",
3213                    "cargo:rustc-cfg=soc_has_spi2",
3214                    "cargo:rustc-cfg=soc_has_system",
3215                    "cargo:rustc-cfg=soc_has_systimer",
3216                    "cargo:rustc-cfg=soc_has_tee",
3217                    "cargo:rustc-cfg=soc_has_timg0",
3218                    "cargo:rustc-cfg=soc_has_timg1",
3219                    "cargo:rustc-cfg=soc_has_uart0",
3220                    "cargo:rustc-cfg=soc_has_uart1",
3221                    "cargo:rustc-cfg=soc_has_usb_device",
3222                    "cargo:rustc-cfg=soc_has_dma_ch0",
3223                    "cargo:rustc-cfg=soc_has_dma_ch1",
3224                    "cargo:rustc-cfg=soc_has_bt",
3225                    "cargo:rustc-cfg=soc_has_flash",
3226                    "cargo:rustc-cfg=soc_has_lp_core",
3227                    "cargo:rustc-cfg=soc_has_sw_interrupt",
3228                    "cargo:rustc-cfg=soc_has_wifi",
3229                    "cargo:rustc-cfg=soc_has_mem2mem0",
3230                    "cargo:rustc-cfg=soc_has_mem2mem1",
3231                    "cargo:rustc-cfg=soc_has_mem2mem2",
3232                    "cargo:rustc-cfg=soc_has_mem2mem3",
3233                    "cargo:rustc-cfg=soc_has_mem2mem4",
3234                    "cargo:rustc-cfg=soc_has_mem2mem5",
3235                    "cargo:rustc-cfg=soc_has_mem2mem6",
3236                    "cargo:rustc-cfg=soc_has_mem2mem7",
3237                    "cargo:rustc-cfg=soc_has_mem2mem8",
3238                    "cargo:rustc-cfg=soc_has_mem2mem9",
3239                    "cargo:rustc-cfg=soc_has_mem2mem10",
3240                    "cargo:rustc-cfg=soc_has_mem2mem11",
3241                    "cargo:rustc-cfg=soc_has_psram",
3242                    "cargo:rustc-cfg=swd",
3243                    "cargo:rustc-cfg=rom_crc_le",
3244                    "cargo:rustc-cfg=rom_crc_be",
3245                    "cargo:rustc-cfg=rom_md5_bsd",
3246                    "cargo:rustc-cfg=bt_driver_supported",
3247                    "cargo:rustc-cfg=dma_driver_supported",
3248                    "cargo:rustc-cfg=ecc_driver_supported",
3249                    "cargo:rustc-cfg=gpio_driver_supported",
3250                    "cargo:rustc-cfg=i2c_master_driver_supported",
3251                    "cargo:rustc-cfg=interrupts_driver_supported",
3252                    "cargo:rustc-cfg=psram_driver_supported",
3253                    "cargo:rustc-cfg=rng_driver_supported",
3254                    "cargo:rustc-cfg=sha_driver_supported",
3255                    "cargo:rustc-cfg=soc_driver_supported",
3256                    "cargo:rustc-cfg=spi_master_driver_supported",
3257                    "cargo:rustc-cfg=spi_slave_driver_supported",
3258                    "cargo:rustc-cfg=systimer_driver_supported",
3259                    "cargo:rustc-cfg=timergroup_driver_supported",
3260                    "cargo:rustc-cfg=uart_driver_supported",
3261                    "cargo:rustc-cfg=wifi_driver_supported",
3262                    "cargo:rustc-cfg=i2c_master_i2c0",
3263                    "cargo:rustc-cfg=spi_master_spi2",
3264                    "cargo:rustc-cfg=spi_slave_spi2",
3265                    "cargo:rustc-cfg=timergroup_timg0",
3266                    "cargo:rustc-cfg=timergroup_timg1",
3267                    "cargo:rustc-cfg=uart_uart0",
3268                    "cargo:rustc-cfg=uart_uart1",
3269                    "cargo:rustc-cfg=bt_controller=\"npl\"",
3270                    "cargo:rustc-cfg=dma_kind=\"gdma\"",
3271                    "cargo:rustc-cfg=dma_supports_mem2mem",
3272                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
3273                    "cargo:rustc-cfg=dma_max_priority=\"5\"",
3274                    "cargo:rustc-cfg=dma_max_priority_is_set",
3275                    "cargo:rustc-cfg=dma_gdma_version=\"2\"",
3276                    "cargo:rustc-cfg=dma_gdma_version_is_set",
3277                    "cargo:rustc-cfg=ecc_zero_extend_writes",
3278                    "cargo:rustc-cfg=ecc_separate_jacobian_point_memory",
3279                    "cargo:rustc-cfg=ecc_has_memory_clock_gate",
3280                    "cargo:rustc-cfg=ecc_supports_enhanced_security",
3281                    "cargo:rustc-cfg=ecc_has_modular_arithmetic",
3282                    "cargo:rustc-cfg=ecc_has_point_addition",
3283                    "cargo:rustc-cfg=ecc_has_curve_p192",
3284                    "cargo:rustc-cfg=ecc_has_curve_p256",
3285                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
3286                    "cargo:rustc-cfg=gpio_constant_0_input=\"96\"",
3287                    "cargo:rustc-cfg=gpio_constant_1_input=\"64\"",
3288                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
3289                    "cargo:rustc-cfg=gpio_input_signal_max=\"100\"",
3290                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
3291                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
3292                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
3293                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
3294                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
3295                    "cargo:rustc-cfg=i2c_master_has_conf_update",
3296                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
3297                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
3298                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
3299                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
3300                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
3301                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
3302                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
3303                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
3304                    "cargo:rustc-cfg=interrupt_controller=\"clic\"",
3305                    "cargo:rustc-cfg=psram_extmem_origin=\"1107296256\"",
3306                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
3307                    "cargo:rustc-cfg=sha_dma",
3308                    "cargo:rustc-cfg=soc_rc_fast_clk_default=\"17500000\"",
3309                    "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
3310                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
3311                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
3312                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
3313                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
3314                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
3315                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
3316                    "cargo:rustc-cfg=soc_has_clock_node_pll_f20m",
3317                    "cargo:rustc-cfg=soc_has_clock_node_pll_f40m",
3318                    "cargo:rustc-cfg=soc_has_clock_node_pll_f48m",
3319                    "cargo:rustc-cfg=soc_has_clock_node_pll_f60m",
3320                    "cargo:rustc-cfg=soc_has_clock_node_pll_f80m",
3321                    "cargo:rustc-cfg=soc_has_clock_node_pll_f120m",
3322                    "cargo:rustc-cfg=soc_has_clock_node_pll_f160m",
3323                    "cargo:rustc-cfg=soc_has_clock_node_hp_root_clk",
3324                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
3325                    "cargo:rustc-cfg=soc_has_clock_node_ahb_clk",
3326                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
3327                    "cargo:rustc-cfg=soc_has_clock_node_xtal_d2_clk",
3328                    "cargo:rustc-cfg=soc_has_clock_node_lp_fast_clk",
3329                    "cargo:rustc-cfg=soc_has_clock_node_lp_slow_clk",
3330                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
3331                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
3332                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
3333                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
3334                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
3335                    "cargo:rustc-cfg=has_dram_region",
3336                    "cargo:rustc-cfg=has_dram2_uninit_region",
3337                    "cargo:rustc-cfg=spi_master_supports_dma",
3338                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
3339                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
3340                    "cargo:rustc-cfg=spi_master_has_clk_pre_div",
3341                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
3342                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
3343                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
3344                    "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
3345                    "cargo:rustc-cfg=wifi_has_wifi6",
3346                    "cargo:rustc-cfg=wifi_mac_version=\"3\"",
3347                    "cargo:rustc-cfg=wifi_csi_supported",
3348                ],
3349                memory_layout: &MemoryLayout {
3350                    regions: &[
3351                        (
3352                            "dram",
3353                            MemoryRegion {
3354                                address_range: 0x40800000..0x40850000,
3355                            },
3356                        ),
3357                        (
3358                            "dram2_uninit",
3359                            MemoryRegion {
3360                                address_range: 0x4083EA70..0x4084EA70,
3361                            },
3362                        ),
3363                    ],
3364                },
3365                pins: &[
3366                    PinInfo {
3367                        pin: 0,
3368                        limitations: &[],
3369                    },
3370                    PinInfo {
3371                        pin: 1,
3372                        limitations: &[],
3373                    },
3374                    PinInfo {
3375                        pin: 2,
3376                        limitations: &[],
3377                    },
3378                    PinInfo {
3379                        pin: 3,
3380                        limitations: &["strapping", "jtag"],
3381                    },
3382                    PinInfo {
3383                        pin: 4,
3384                        limitations: &["strapping", "jtag"],
3385                    },
3386                    PinInfo {
3387                        pin: 5,
3388                        limitations: &["jtag"],
3389                    },
3390                    PinInfo {
3391                        pin: 6,
3392                        limitations: &["jtag"],
3393                    },
3394                    PinInfo {
3395                        pin: 7,
3396                        limitations: &["strapping"],
3397                    },
3398                    PinInfo {
3399                        pin: 8,
3400                        limitations: &["strapping"],
3401                    },
3402                    PinInfo {
3403                        pin: 9,
3404                        limitations: &["strapping"],
3405                    },
3406                    PinInfo {
3407                        pin: 10,
3408                        limitations: &["bootloader_uart"],
3409                    },
3410                    PinInfo {
3411                        pin: 11,
3412                        limitations: &["bootloader_uart"],
3413                    },
3414                    PinInfo {
3415                        pin: 12,
3416                        limitations: &["usb_jtag"],
3417                    },
3418                    PinInfo {
3419                        pin: 13,
3420                        limitations: &["usb_jtag"],
3421                    },
3422                    PinInfo {
3423                        pin: 14,
3424                        limitations: &["spi_flash"],
3425                    },
3426                    PinInfo {
3427                        pin: 15,
3428                        limitations: &["spi_flash"],
3429                    },
3430                    PinInfo {
3431                        pin: 16,
3432                        limitations: &["spi_flash"],
3433                    },
3434                    PinInfo {
3435                        pin: 17,
3436                        limitations: &["spi_flash"],
3437                    },
3438                    PinInfo {
3439                        pin: 18,
3440                        limitations: &["spi_flash"],
3441                    },
3442                    PinInfo {
3443                        pin: 19,
3444                        limitations: &["spi_flash"],
3445                    },
3446                    PinInfo {
3447                        pin: 20,
3448                        limitations: &["spi_flash"],
3449                    },
3450                    PinInfo {
3451                        pin: 21,
3452                        limitations: &["spi_flash"],
3453                    },
3454                    PinInfo {
3455                        pin: 22,
3456                        limitations: &[],
3457                    },
3458                    PinInfo {
3459                        pin: 23,
3460                        limitations: &[],
3461                    },
3462                    PinInfo {
3463                        pin: 24,
3464                        limitations: &[],
3465                    },
3466                    PinInfo {
3467                        pin: 25,
3468                        limitations: &[],
3469                    },
3470                    PinInfo {
3471                        pin: 26,
3472                        limitations: &[],
3473                    },
3474                    PinInfo {
3475                        pin: 27,
3476                        limitations: &[],
3477                    },
3478                    PinInfo {
3479                        pin: 28,
3480                        limitations: &[],
3481                    },
3482                    PinInfo {
3483                        pin: 29,
3484                        limitations: &[],
3485                    },
3486                ],
3487            },
3488            Self::Esp32h2 => Config {
3489                architecture: "riscv",
3490                target: "riscv32imac-unknown-none-elf",
3491                symbols: &[
3492                    "esp32h2",
3493                    "riscv",
3494                    "single_core",
3495                    "soc_has_aes",
3496                    "soc_has_apb_saradc",
3497                    "soc_has_assist_debug",
3498                    "soc_has_dma",
3499                    "soc_has_ds",
3500                    "soc_has_ecc",
3501                    "soc_has_efuse",
3502                    "soc_has_gpio",
3503                    "soc_has_gpio_sd",
3504                    "soc_has_hmac",
3505                    "soc_has_hp_apm",
3506                    "soc_has_hp_sys",
3507                    "soc_has_i2c_ana_mst",
3508                    "soc_has_i2c0",
3509                    "soc_has_i2c1",
3510                    "soc_has_i2s0",
3511                    "soc_has_ieee802154",
3512                    "soc_has_interrupt_core0",
3513                    "soc_has_intpri",
3514                    "soc_has_io_mux",
3515                    "soc_has_ledc",
3516                    "soc_has_lpwr",
3517                    "soc_has_lp_ana",
3518                    "soc_has_lp_aon",
3519                    "soc_has_lp_apm",
3520                    "soc_has_lp_apm0",
3521                    "soc_has_lp_clkrst",
3522                    "soc_has_lp_peri",
3523                    "soc_has_lp_timer",
3524                    "soc_has_lp_wdt",
3525                    "soc_has_mcpwm0",
3526                    "soc_has_mem_monitor",
3527                    "soc_has_modem_lpcon",
3528                    "soc_has_modem_syscon",
3529                    "soc_has_otp_debug",
3530                    "soc_has_parl_io",
3531                    "soc_has_pau",
3532                    "soc_has_pcnt",
3533                    "soc_has_pcr",
3534                    "soc_has_plic_mx",
3535                    "soc_has_pmu",
3536                    "soc_has_rmt",
3537                    "soc_has_rng",
3538                    "soc_has_rsa",
3539                    "soc_has_sha",
3540                    "soc_has_etm",
3541                    "soc_has_spi0",
3542                    "soc_has_spi1",
3543                    "soc_has_spi2",
3544                    "soc_has_system",
3545                    "soc_has_systimer",
3546                    "soc_has_tee",
3547                    "soc_has_timg0",
3548                    "soc_has_timg1",
3549                    "soc_has_trace0",
3550                    "soc_has_twai0",
3551                    "soc_has_uart0",
3552                    "soc_has_uart1",
3553                    "soc_has_uhci0",
3554                    "soc_has_usb_device",
3555                    "soc_has_dma_ch0",
3556                    "soc_has_dma_ch1",
3557                    "soc_has_dma_ch2",
3558                    "soc_has_adc1",
3559                    "soc_has_bt",
3560                    "soc_has_flash",
3561                    "soc_has_gpio_dedicated",
3562                    "soc_has_sw_interrupt",
3563                    "soc_has_mem2mem0",
3564                    "soc_has_mem2mem1",
3565                    "soc_has_mem2mem2",
3566                    "soc_has_mem2mem3",
3567                    "soc_has_mem2mem4",
3568                    "soc_has_mem2mem5",
3569                    "soc_has_mem2mem6",
3570                    "soc_has_mem2mem7",
3571                    "soc_has_mem2mem8",
3572                    "phy",
3573                    "swd",
3574                    "rom_crc_le",
3575                    "rom_crc_be",
3576                    "rom_md5_bsd",
3577                    "adc_driver_supported",
3578                    "aes_driver_supported",
3579                    "assist_debug_driver_supported",
3580                    "bt_driver_supported",
3581                    "dedicated_gpio_driver_supported",
3582                    "dma_driver_supported",
3583                    "ecc_driver_supported",
3584                    "etm_driver_supported",
3585                    "gpio_driver_supported",
3586                    "hmac_driver_supported",
3587                    "i2c_master_driver_supported",
3588                    "i2s_driver_supported",
3589                    "ieee802154_driver_supported",
3590                    "interrupts_driver_supported",
3591                    "io_mux_driver_supported",
3592                    "ledc_driver_supported",
3593                    "mcpwm_driver_supported",
3594                    "parl_io_driver_supported",
3595                    "pcnt_driver_supported",
3596                    "phy_driver_supported",
3597                    "rmt_driver_supported",
3598                    "rng_driver_supported",
3599                    "rsa_driver_supported",
3600                    "lp_timer_driver_supported",
3601                    "sha_driver_supported",
3602                    "sleep_driver_supported",
3603                    "soc_driver_supported",
3604                    "spi_master_driver_supported",
3605                    "spi_slave_driver_supported",
3606                    "systimer_driver_supported",
3607                    "temp_sensor_driver_supported",
3608                    "timergroup_driver_supported",
3609                    "twai_driver_supported",
3610                    "uart_driver_supported",
3611                    "uhci_driver_supported",
3612                    "usb_serial_jtag_driver_supported",
3613                    "adc_adc1",
3614                    "i2c_master_i2c0",
3615                    "i2c_master_i2c1",
3616                    "spi_master_spi2",
3617                    "spi_slave_spi2",
3618                    "timergroup_timg0",
3619                    "timergroup_timg1",
3620                    "uart_uart0",
3621                    "uart_uart1",
3622                    "aes_dma",
3623                    "aes_dma_mode_ecb",
3624                    "aes_dma_mode_cbc",
3625                    "aes_dma_mode_ofb",
3626                    "aes_dma_mode_ctr",
3627                    "aes_dma_mode_cfb8",
3628                    "aes_dma_mode_cfb128",
3629                    "aes_has_split_text_registers",
3630                    "assist_debug_has_sp_monitor",
3631                    "assist_debug_has_region_monitor",
3632                    "bt_controller=\"npl\"",
3633                    "dma_kind=\"gdma\"",
3634                    "dma_supports_mem2mem",
3635                    "dma_separate_in_out_interrupts",
3636                    "dma_max_priority=\"5\"",
3637                    "dma_max_priority_is_set",
3638                    "dma_gdma_version=\"1\"",
3639                    "dma_gdma_version_is_set",
3640                    "ecc_zero_extend_writes",
3641                    "ecc_separate_jacobian_point_memory",
3642                    "ecc_has_memory_clock_gate",
3643                    "ecc_supports_enhanced_security",
3644                    "ecc_has_modular_arithmetic",
3645                    "ecc_has_point_addition",
3646                    "ecc_has_curve_p192",
3647                    "ecc_has_curve_p256",
3648                    "gpio_gpio_function=\"1\"",
3649                    "gpio_constant_0_input=\"60\"",
3650                    "gpio_constant_1_input=\"56\"",
3651                    "gpio_func_in_sel_offset=\"0\"",
3652                    "gpio_input_signal_max=\"124\"",
3653                    "gpio_output_signal_max=\"128\"",
3654                    "i2c_master_has_fsm_timeouts",
3655                    "i2c_master_has_hw_bus_clear",
3656                    "i2c_master_has_bus_timeout_enable",
3657                    "i2c_master_can_estimate_nack_reason",
3658                    "i2c_master_has_conf_update",
3659                    "i2c_master_has_reliable_fsm_reset",
3660                    "i2c_master_has_arbitration_en",
3661                    "i2c_master_has_tx_fifo_watermark",
3662                    "i2c_master_bus_timeout_is_exponential",
3663                    "i2c_master_max_bus_timeout=\"31\"",
3664                    "i2c_master_ll_intr_mask=\"262143\"",
3665                    "i2c_master_fifo_size=\"32\"",
3666                    "interrupts_status_registers=\"2\"",
3667                    "interrupt_controller=\"plic\"",
3668                    "parl_io_version=\"2\"",
3669                    "rmt_ram_start=\"1610642432\"",
3670                    "rmt_channel_ram_size=\"48\"",
3671                    "rmt_has_tx_immediate_stop",
3672                    "rmt_has_tx_loop_count",
3673                    "rmt_has_tx_loop_auto_stop",
3674                    "rmt_has_tx_carrier_data_only",
3675                    "rmt_has_tx_sync",
3676                    "rmt_has_rx_wrap",
3677                    "rmt_has_rx_demodulation",
3678                    "rmt_supports_xtal_clock",
3679                    "rmt_supports_rcfast_clock",
3680                    "rng_apb_cycle_wait_num=\"16\"",
3681                    "rng_trng_supported",
3682                    "rsa_size_increment=\"32\"",
3683                    "rsa_memory_size_bytes=\"384\"",
3684                    "sha_dma",
3685                    "sleep_light_sleep",
3686                    "sleep_deep_sleep",
3687                    "soc_cpu_has_csr_pc",
3688                    "soc_cpu_csr_prv_mode=\"3088\"",
3689                    "soc_cpu_csr_prv_mode_is_set",
3690                    "soc_rc_fast_clk_default=\"8500000\"",
3691                    "soc_rc_fast_clk_default_is_set",
3692                    "soc_has_clock_node_xtal_clk",
3693                    "soc_has_clock_node_pll_f96m_clk",
3694                    "soc_has_clock_node_pll_f64m_clk",
3695                    "soc_has_clock_node_pll_f48m_clk",
3696                    "soc_has_clock_node_rc_fast_clk",
3697                    "soc_has_clock_node_xtal32k_clk",
3698                    "soc_has_clock_node_osc_slow_clk",
3699                    "soc_has_clock_node_rc_slow_clk",
3700                    "soc_has_clock_node_pll_lp_clk",
3701                    "soc_has_clock_node_hp_root_clk",
3702                    "soc_has_clock_node_cpu_clk",
3703                    "soc_has_clock_node_ahb_clk",
3704                    "soc_has_clock_node_apb_clk",
3705                    "soc_has_clock_node_xtal_d2_clk",
3706                    "soc_has_clock_node_lp_fast_clk",
3707                    "soc_has_clock_node_lp_slow_clk",
3708                    "soc_has_clock_node_timg_calibration_clock",
3709                    "soc_has_clock_node_uart_function_clock",
3710                    "soc_has_clock_node_uart_baud_rate_generator",
3711                    "soc_has_clock_node_rmt_sclk",
3712                    "soc_has_clock_node_timg_function_clock",
3713                    "soc_has_clock_node_timg_wdt_clock",
3714                    "soc_has_clock_node_mcpwm_function_clock",
3715                    "soc_has_clock_node_parl_io_rx_clock",
3716                    "soc_has_clock_node_parl_io_tx_clock",
3717                    "has_dram_region",
3718                    "has_dram2_uninit_region",
3719                    "spi_master_supports_dma",
3720                    "spi_master_has_app_interrupts",
3721                    "spi_master_has_dma_segmented_transfer",
3722                    "spi_slave_supports_dma",
3723                    "timergroup_timg_has_divcnt_rst",
3724                    "timergroup_rc_fast_calibration_divider",
3725                    "timergroup_rc_fast_calibration_tick_enable",
3726                    "timergroup_rc_fast_calibration_is_set",
3727                    "uart_ram_size=\"128\"",
3728                    "uart_peripheral_controls_mem_clk",
3729                ],
3730                cfgs: &[
3731                    "cargo:rustc-cfg=esp32h2",
3732                    "cargo:rustc-cfg=riscv",
3733                    "cargo:rustc-cfg=single_core",
3734                    "cargo:rustc-cfg=soc_has_aes",
3735                    "cargo:rustc-cfg=soc_has_apb_saradc",
3736                    "cargo:rustc-cfg=soc_has_assist_debug",
3737                    "cargo:rustc-cfg=soc_has_dma",
3738                    "cargo:rustc-cfg=soc_has_ds",
3739                    "cargo:rustc-cfg=soc_has_ecc",
3740                    "cargo:rustc-cfg=soc_has_efuse",
3741                    "cargo:rustc-cfg=soc_has_gpio",
3742                    "cargo:rustc-cfg=soc_has_gpio_sd",
3743                    "cargo:rustc-cfg=soc_has_hmac",
3744                    "cargo:rustc-cfg=soc_has_hp_apm",
3745                    "cargo:rustc-cfg=soc_has_hp_sys",
3746                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
3747                    "cargo:rustc-cfg=soc_has_i2c0",
3748                    "cargo:rustc-cfg=soc_has_i2c1",
3749                    "cargo:rustc-cfg=soc_has_i2s0",
3750                    "cargo:rustc-cfg=soc_has_ieee802154",
3751                    "cargo:rustc-cfg=soc_has_interrupt_core0",
3752                    "cargo:rustc-cfg=soc_has_intpri",
3753                    "cargo:rustc-cfg=soc_has_io_mux",
3754                    "cargo:rustc-cfg=soc_has_ledc",
3755                    "cargo:rustc-cfg=soc_has_lpwr",
3756                    "cargo:rustc-cfg=soc_has_lp_ana",
3757                    "cargo:rustc-cfg=soc_has_lp_aon",
3758                    "cargo:rustc-cfg=soc_has_lp_apm",
3759                    "cargo:rustc-cfg=soc_has_lp_apm0",
3760                    "cargo:rustc-cfg=soc_has_lp_clkrst",
3761                    "cargo:rustc-cfg=soc_has_lp_peri",
3762                    "cargo:rustc-cfg=soc_has_lp_timer",
3763                    "cargo:rustc-cfg=soc_has_lp_wdt",
3764                    "cargo:rustc-cfg=soc_has_mcpwm0",
3765                    "cargo:rustc-cfg=soc_has_mem_monitor",
3766                    "cargo:rustc-cfg=soc_has_modem_lpcon",
3767                    "cargo:rustc-cfg=soc_has_modem_syscon",
3768                    "cargo:rustc-cfg=soc_has_otp_debug",
3769                    "cargo:rustc-cfg=soc_has_parl_io",
3770                    "cargo:rustc-cfg=soc_has_pau",
3771                    "cargo:rustc-cfg=soc_has_pcnt",
3772                    "cargo:rustc-cfg=soc_has_pcr",
3773                    "cargo:rustc-cfg=soc_has_plic_mx",
3774                    "cargo:rustc-cfg=soc_has_pmu",
3775                    "cargo:rustc-cfg=soc_has_rmt",
3776                    "cargo:rustc-cfg=soc_has_rng",
3777                    "cargo:rustc-cfg=soc_has_rsa",
3778                    "cargo:rustc-cfg=soc_has_sha",
3779                    "cargo:rustc-cfg=soc_has_etm",
3780                    "cargo:rustc-cfg=soc_has_spi0",
3781                    "cargo:rustc-cfg=soc_has_spi1",
3782                    "cargo:rustc-cfg=soc_has_spi2",
3783                    "cargo:rustc-cfg=soc_has_system",
3784                    "cargo:rustc-cfg=soc_has_systimer",
3785                    "cargo:rustc-cfg=soc_has_tee",
3786                    "cargo:rustc-cfg=soc_has_timg0",
3787                    "cargo:rustc-cfg=soc_has_timg1",
3788                    "cargo:rustc-cfg=soc_has_trace0",
3789                    "cargo:rustc-cfg=soc_has_twai0",
3790                    "cargo:rustc-cfg=soc_has_uart0",
3791                    "cargo:rustc-cfg=soc_has_uart1",
3792                    "cargo:rustc-cfg=soc_has_uhci0",
3793                    "cargo:rustc-cfg=soc_has_usb_device",
3794                    "cargo:rustc-cfg=soc_has_dma_ch0",
3795                    "cargo:rustc-cfg=soc_has_dma_ch1",
3796                    "cargo:rustc-cfg=soc_has_dma_ch2",
3797                    "cargo:rustc-cfg=soc_has_adc1",
3798                    "cargo:rustc-cfg=soc_has_bt",
3799                    "cargo:rustc-cfg=soc_has_flash",
3800                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
3801                    "cargo:rustc-cfg=soc_has_sw_interrupt",
3802                    "cargo:rustc-cfg=soc_has_mem2mem0",
3803                    "cargo:rustc-cfg=soc_has_mem2mem1",
3804                    "cargo:rustc-cfg=soc_has_mem2mem2",
3805                    "cargo:rustc-cfg=soc_has_mem2mem3",
3806                    "cargo:rustc-cfg=soc_has_mem2mem4",
3807                    "cargo:rustc-cfg=soc_has_mem2mem5",
3808                    "cargo:rustc-cfg=soc_has_mem2mem6",
3809                    "cargo:rustc-cfg=soc_has_mem2mem7",
3810                    "cargo:rustc-cfg=soc_has_mem2mem8",
3811                    "cargo:rustc-cfg=phy",
3812                    "cargo:rustc-cfg=swd",
3813                    "cargo:rustc-cfg=rom_crc_le",
3814                    "cargo:rustc-cfg=rom_crc_be",
3815                    "cargo:rustc-cfg=rom_md5_bsd",
3816                    "cargo:rustc-cfg=adc_driver_supported",
3817                    "cargo:rustc-cfg=aes_driver_supported",
3818                    "cargo:rustc-cfg=assist_debug_driver_supported",
3819                    "cargo:rustc-cfg=bt_driver_supported",
3820                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
3821                    "cargo:rustc-cfg=dma_driver_supported",
3822                    "cargo:rustc-cfg=ecc_driver_supported",
3823                    "cargo:rustc-cfg=etm_driver_supported",
3824                    "cargo:rustc-cfg=gpio_driver_supported",
3825                    "cargo:rustc-cfg=hmac_driver_supported",
3826                    "cargo:rustc-cfg=i2c_master_driver_supported",
3827                    "cargo:rustc-cfg=i2s_driver_supported",
3828                    "cargo:rustc-cfg=ieee802154_driver_supported",
3829                    "cargo:rustc-cfg=interrupts_driver_supported",
3830                    "cargo:rustc-cfg=io_mux_driver_supported",
3831                    "cargo:rustc-cfg=ledc_driver_supported",
3832                    "cargo:rustc-cfg=mcpwm_driver_supported",
3833                    "cargo:rustc-cfg=parl_io_driver_supported",
3834                    "cargo:rustc-cfg=pcnt_driver_supported",
3835                    "cargo:rustc-cfg=phy_driver_supported",
3836                    "cargo:rustc-cfg=rmt_driver_supported",
3837                    "cargo:rustc-cfg=rng_driver_supported",
3838                    "cargo:rustc-cfg=rsa_driver_supported",
3839                    "cargo:rustc-cfg=lp_timer_driver_supported",
3840                    "cargo:rustc-cfg=sha_driver_supported",
3841                    "cargo:rustc-cfg=sleep_driver_supported",
3842                    "cargo:rustc-cfg=soc_driver_supported",
3843                    "cargo:rustc-cfg=spi_master_driver_supported",
3844                    "cargo:rustc-cfg=spi_slave_driver_supported",
3845                    "cargo:rustc-cfg=systimer_driver_supported",
3846                    "cargo:rustc-cfg=temp_sensor_driver_supported",
3847                    "cargo:rustc-cfg=timergroup_driver_supported",
3848                    "cargo:rustc-cfg=twai_driver_supported",
3849                    "cargo:rustc-cfg=uart_driver_supported",
3850                    "cargo:rustc-cfg=uhci_driver_supported",
3851                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
3852                    "cargo:rustc-cfg=adc_adc1",
3853                    "cargo:rustc-cfg=i2c_master_i2c0",
3854                    "cargo:rustc-cfg=i2c_master_i2c1",
3855                    "cargo:rustc-cfg=spi_master_spi2",
3856                    "cargo:rustc-cfg=spi_slave_spi2",
3857                    "cargo:rustc-cfg=timergroup_timg0",
3858                    "cargo:rustc-cfg=timergroup_timg1",
3859                    "cargo:rustc-cfg=uart_uart0",
3860                    "cargo:rustc-cfg=uart_uart1",
3861                    "cargo:rustc-cfg=aes_dma",
3862                    "cargo:rustc-cfg=aes_dma_mode_ecb",
3863                    "cargo:rustc-cfg=aes_dma_mode_cbc",
3864                    "cargo:rustc-cfg=aes_dma_mode_ofb",
3865                    "cargo:rustc-cfg=aes_dma_mode_ctr",
3866                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
3867                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
3868                    "cargo:rustc-cfg=aes_has_split_text_registers",
3869                    "cargo:rustc-cfg=assist_debug_has_sp_monitor",
3870                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
3871                    "cargo:rustc-cfg=bt_controller=\"npl\"",
3872                    "cargo:rustc-cfg=dma_kind=\"gdma\"",
3873                    "cargo:rustc-cfg=dma_supports_mem2mem",
3874                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
3875                    "cargo:rustc-cfg=dma_max_priority=\"5\"",
3876                    "cargo:rustc-cfg=dma_max_priority_is_set",
3877                    "cargo:rustc-cfg=dma_gdma_version=\"1\"",
3878                    "cargo:rustc-cfg=dma_gdma_version_is_set",
3879                    "cargo:rustc-cfg=ecc_zero_extend_writes",
3880                    "cargo:rustc-cfg=ecc_separate_jacobian_point_memory",
3881                    "cargo:rustc-cfg=ecc_has_memory_clock_gate",
3882                    "cargo:rustc-cfg=ecc_supports_enhanced_security",
3883                    "cargo:rustc-cfg=ecc_has_modular_arithmetic",
3884                    "cargo:rustc-cfg=ecc_has_point_addition",
3885                    "cargo:rustc-cfg=ecc_has_curve_p192",
3886                    "cargo:rustc-cfg=ecc_has_curve_p256",
3887                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
3888                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
3889                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
3890                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
3891                    "cargo:rustc-cfg=gpio_input_signal_max=\"124\"",
3892                    "cargo:rustc-cfg=gpio_output_signal_max=\"128\"",
3893                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
3894                    "cargo:rustc-cfg=i2c_master_has_hw_bus_clear",
3895                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
3896                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
3897                    "cargo:rustc-cfg=i2c_master_has_conf_update",
3898                    "cargo:rustc-cfg=i2c_master_has_reliable_fsm_reset",
3899                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
3900                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
3901                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
3902                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
3903                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
3904                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
3905                    "cargo:rustc-cfg=interrupts_status_registers=\"2\"",
3906                    "cargo:rustc-cfg=interrupt_controller=\"plic\"",
3907                    "cargo:rustc-cfg=parl_io_version=\"2\"",
3908                    "cargo:rustc-cfg=rmt_ram_start=\"1610642432\"",
3909                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
3910                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
3911                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
3912                    "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
3913                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
3914                    "cargo:rustc-cfg=rmt_has_tx_sync",
3915                    "cargo:rustc-cfg=rmt_has_rx_wrap",
3916                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
3917                    "cargo:rustc-cfg=rmt_supports_xtal_clock",
3918                    "cargo:rustc-cfg=rmt_supports_rcfast_clock",
3919                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
3920                    "cargo:rustc-cfg=rng_trng_supported",
3921                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
3922                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"384\"",
3923                    "cargo:rustc-cfg=sha_dma",
3924                    "cargo:rustc-cfg=sleep_light_sleep",
3925                    "cargo:rustc-cfg=sleep_deep_sleep",
3926                    "cargo:rustc-cfg=soc_cpu_has_csr_pc",
3927                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode=\"3088\"",
3928                    "cargo:rustc-cfg=soc_cpu_csr_prv_mode_is_set",
3929                    "cargo:rustc-cfg=soc_rc_fast_clk_default=\"8500000\"",
3930                    "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
3931                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
3932                    "cargo:rustc-cfg=soc_has_clock_node_pll_f96m_clk",
3933                    "cargo:rustc-cfg=soc_has_clock_node_pll_f64m_clk",
3934                    "cargo:rustc-cfg=soc_has_clock_node_pll_f48m_clk",
3935                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
3936                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
3937                    "cargo:rustc-cfg=soc_has_clock_node_osc_slow_clk",
3938                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
3939                    "cargo:rustc-cfg=soc_has_clock_node_pll_lp_clk",
3940                    "cargo:rustc-cfg=soc_has_clock_node_hp_root_clk",
3941                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
3942                    "cargo:rustc-cfg=soc_has_clock_node_ahb_clk",
3943                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
3944                    "cargo:rustc-cfg=soc_has_clock_node_xtal_d2_clk",
3945                    "cargo:rustc-cfg=soc_has_clock_node_lp_fast_clk",
3946                    "cargo:rustc-cfg=soc_has_clock_node_lp_slow_clk",
3947                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
3948                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
3949                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
3950                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
3951                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
3952                    "cargo:rustc-cfg=soc_has_clock_node_timg_wdt_clock",
3953                    "cargo:rustc-cfg=soc_has_clock_node_mcpwm_function_clock",
3954                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_rx_clock",
3955                    "cargo:rustc-cfg=soc_has_clock_node_parl_io_tx_clock",
3956                    "cargo:rustc-cfg=has_dram_region",
3957                    "cargo:rustc-cfg=has_dram2_uninit_region",
3958                    "cargo:rustc-cfg=spi_master_supports_dma",
3959                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
3960                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
3961                    "cargo:rustc-cfg=spi_slave_supports_dma",
3962                    "cargo:rustc-cfg=timergroup_timg_has_divcnt_rst",
3963                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_divider",
3964                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_tick_enable",
3965                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
3966                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
3967                    "cargo:rustc-cfg=uart_peripheral_controls_mem_clk",
3968                ],
3969                memory_layout: &MemoryLayout {
3970                    regions: &[
3971                        (
3972                            "dram",
3973                            MemoryRegion {
3974                                address_range: 0x40800000..0x40850000,
3975                            },
3976                        ),
3977                        (
3978                            "dram2_uninit",
3979                            MemoryRegion {
3980                                address_range: 0x4083EFD0..0x4084FEE0,
3981                            },
3982                        ),
3983                    ],
3984                },
3985                pins: &[
3986                    PinInfo {
3987                        pin: 0,
3988                        limitations: &[],
3989                    },
3990                    PinInfo {
3991                        pin: 1,
3992                        limitations: &[],
3993                    },
3994                    PinInfo {
3995                        pin: 2,
3996                        limitations: &["jtag"],
3997                    },
3998                    PinInfo {
3999                        pin: 3,
4000                        limitations: &["jtag"],
4001                    },
4002                    PinInfo {
4003                        pin: 4,
4004                        limitations: &["jtag"],
4005                    },
4006                    PinInfo {
4007                        pin: 5,
4008                        limitations: &["jtag"],
4009                    },
4010                    PinInfo {
4011                        pin: 6,
4012                        limitations: &["spi_flash"],
4013                    },
4014                    PinInfo {
4015                        pin: 7,
4016                        limitations: &["spi_flash"],
4017                    },
4018                    PinInfo {
4019                        pin: 8,
4020                        limitations: &["strapping"],
4021                    },
4022                    PinInfo {
4023                        pin: 9,
4024                        limitations: &["strapping"],
4025                    },
4026                    PinInfo {
4027                        pin: 10,
4028                        limitations: &[],
4029                    },
4030                    PinInfo {
4031                        pin: 11,
4032                        limitations: &[],
4033                    },
4034                    PinInfo {
4035                        pin: 12,
4036                        limitations: &[],
4037                    },
4038                    PinInfo {
4039                        pin: 13,
4040                        limitations: &[],
4041                    },
4042                    PinInfo {
4043                        pin: 14,
4044                        limitations: &[],
4045                    },
4046                    PinInfo {
4047                        pin: 22,
4048                        limitations: &[],
4049                    },
4050                    PinInfo {
4051                        pin: 23,
4052                        limitations: &["bootloader_uart"],
4053                    },
4054                    PinInfo {
4055                        pin: 24,
4056                        limitations: &["bootloader_uart"],
4057                    },
4058                    PinInfo {
4059                        pin: 25,
4060                        limitations: &["strapping"],
4061                    },
4062                    PinInfo {
4063                        pin: 26,
4064                        limitations: &["usb_jtag"],
4065                    },
4066                    PinInfo {
4067                        pin: 27,
4068                        limitations: &["usb_jtag"],
4069                    },
4070                ],
4071            },
4072            Self::Esp32s2 => Config {
4073                architecture: "xtensa",
4074                target: "xtensa-esp32s2-none-elf",
4075                symbols: &[
4076                    "esp32s2",
4077                    "xtensa",
4078                    "single_core",
4079                    "soc_has_aes",
4080                    "soc_has_apb_saradc",
4081                    "soc_has_dedicated_gpio",
4082                    "soc_has_ds",
4083                    "soc_has_efuse",
4084                    "soc_has_extmem",
4085                    "soc_has_fe",
4086                    "soc_has_fe2",
4087                    "soc_has_gpio",
4088                    "soc_has_gpio_sd",
4089                    "soc_has_hmac",
4090                    "soc_has_i2c_ana_mst",
4091                    "soc_has_i2c0",
4092                    "soc_has_i2c1",
4093                    "soc_has_i2s0",
4094                    "soc_has_interrupt_core0",
4095                    "soc_has_io_mux",
4096                    "soc_has_ledc",
4097                    "soc_has_nrx",
4098                    "soc_has_pcnt",
4099                    "soc_has_pms",
4100                    "soc_has_rmt",
4101                    "soc_has_rng",
4102                    "soc_has_rsa",
4103                    "soc_has_lpwr",
4104                    "soc_has_rtc_i2c",
4105                    "soc_has_rtc_io",
4106                    "soc_has_sens",
4107                    "soc_has_sha",
4108                    "soc_has_spi0",
4109                    "soc_has_spi1",
4110                    "soc_has_spi2",
4111                    "soc_has_spi3",
4112                    "soc_has_syscon",
4113                    "soc_has_system",
4114                    "soc_has_systimer",
4115                    "soc_has_timg0",
4116                    "soc_has_timg1",
4117                    "soc_has_twai0",
4118                    "soc_has_uart0",
4119                    "soc_has_uart1",
4120                    "soc_has_uhci0",
4121                    "soc_has_usb0",
4122                    "soc_has_usb_wrap",
4123                    "soc_has_xts_aes",
4124                    "soc_has_wifi",
4125                    "soc_has_dma_spi2",
4126                    "soc_has_dma_spi3",
4127                    "soc_has_dma_i2s0",
4128                    "soc_has_dma_crypto",
4129                    "soc_has_dma_copy",
4130                    "soc_has_adc1",
4131                    "soc_has_adc2",
4132                    "soc_has_dac1",
4133                    "soc_has_dac2",
4134                    "soc_has_flash",
4135                    "soc_has_gpio_dedicated",
4136                    "soc_has_psram",
4137                    "soc_has_sw_interrupt",
4138                    "soc_has_ulp_riscv_core",
4139                    "phy",
4140                    "ulp_riscv_core",
4141                    "rom_crc_le",
4142                    "rom_md5_bsd",
4143                    "pm_support_ext0_wakeup",
4144                    "pm_support_ext1_wakeup",
4145                    "pm_support_touch_sensor_wakeup",
4146                    "pm_support_wifi_wakeup",
4147                    "uart_support_wakeup_int",
4148                    "ulp_supported",
4149                    "riscv_coproc_supported",
4150                    "adc_driver_supported",
4151                    "aes_driver_supported",
4152                    "dac_driver_supported",
4153                    "dedicated_gpio_driver_supported",
4154                    "dma_driver_supported",
4155                    "gpio_driver_supported",
4156                    "hmac_driver_supported",
4157                    "i2c_master_driver_supported",
4158                    "i2s_driver_supported",
4159                    "interrupts_driver_supported",
4160                    "io_mux_driver_supported",
4161                    "ledc_driver_supported",
4162                    "pcnt_driver_supported",
4163                    "phy_driver_supported",
4164                    "psram_driver_supported",
4165                    "rmt_driver_supported",
4166                    "rng_driver_supported",
4167                    "rsa_driver_supported",
4168                    "lp_timer_driver_supported",
4169                    "sha_driver_supported",
4170                    "sleep_driver_supported",
4171                    "soc_driver_supported",
4172                    "spi_master_driver_supported",
4173                    "spi_slave_driver_supported",
4174                    "systimer_driver_supported",
4175                    "temp_sensor_driver_supported",
4176                    "timergroup_driver_supported",
4177                    "twai_driver_supported",
4178                    "uart_driver_supported",
4179                    "ulp_fsm_driver_supported",
4180                    "ulp_riscv_driver_supported",
4181                    "usb_otg_driver_supported",
4182                    "wifi_driver_supported",
4183                    "adc_adc1",
4184                    "adc_adc2",
4185                    "dac_dac1",
4186                    "dac_dac2",
4187                    "i2c_master_i2c0",
4188                    "i2c_master_i2c1",
4189                    "spi_master_spi2",
4190                    "spi_master_spi3",
4191                    "spi_slave_spi2",
4192                    "spi_slave_spi3",
4193                    "timergroup_timg0",
4194                    "timergroup_timg1",
4195                    "uart_uart0",
4196                    "uart_uart1",
4197                    "aes_dma",
4198                    "aes_dma_mode_ecb",
4199                    "aes_dma_mode_cbc",
4200                    "aes_dma_mode_ofb",
4201                    "aes_dma_mode_ctr",
4202                    "aes_dma_mode_cfb8",
4203                    "aes_dma_mode_cfb128",
4204                    "aes_dma_mode_gcm",
4205                    "aes_has_split_text_registers",
4206                    "aes_endianness_configurable",
4207                    "dedicated_gpio_needs_initialization",
4208                    "dma_kind=\"pdma\"",
4209                    "dma_supports_mem2mem",
4210                    "dma_can_access_psram",
4211                    "dma_ext_mem_configurable_block_size",
4212                    "gpio_has_bank_1",
4213                    "gpio_gpio_function=\"1\"",
4214                    "gpio_constant_0_input=\"60\"",
4215                    "gpio_constant_1_input=\"56\"",
4216                    "gpio_func_in_sel_offset=\"0\"",
4217                    "gpio_input_signal_max=\"242\"",
4218                    "gpio_output_signal_max=\"256\"",
4219                    "i2c_master_has_bus_timeout_enable",
4220                    "i2c_master_separate_filter_config_registers",
4221                    "i2c_master_has_arbitration_en",
4222                    "i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
4223                    "i2c_master_i2c0_data_register_ahb_address_is_set",
4224                    "i2c_master_max_bus_timeout=\"16777215\"",
4225                    "i2c_master_ll_intr_mask=\"131071\"",
4226                    "i2c_master_fifo_size=\"32\"",
4227                    "interrupts_status_registers=\"3\"",
4228                    "interrupt_controller=\"xtensa\"",
4229                    "psram_extmem_origin=\"1062207488\"",
4230                    "rmt_ram_start=\"1061250048\"",
4231                    "rmt_channel_ram_size=\"64\"",
4232                    "rmt_has_tx_immediate_stop",
4233                    "rmt_has_tx_loop_count",
4234                    "rmt_has_tx_carrier_data_only",
4235                    "rmt_has_tx_sync",
4236                    "rmt_has_rx_demodulation",
4237                    "rmt_has_per_channel_clock",
4238                    "rmt_supports_reftick_clock",
4239                    "rmt_supports_apb_clock",
4240                    "rng_apb_cycle_wait_num=\"16\"",
4241                    "rng_trng_supported",
4242                    "rsa_size_increment=\"32\"",
4243                    "rsa_memory_size_bytes=\"512\"",
4244                    "sha_dma",
4245                    "sleep_light_sleep",
4246                    "sleep_deep_sleep",
4247                    "soc_rc_fast_clk_default=\"8500000\"",
4248                    "soc_rc_fast_clk_default_is_set",
4249                    "soc_has_clock_node_xtal_clk",
4250                    "soc_has_clock_node_pll_clk",
4251                    "soc_has_clock_node_apll_clk",
4252                    "soc_has_clock_node_rc_fast_clk",
4253                    "soc_has_clock_node_cpu_pll_div_in",
4254                    "soc_has_clock_node_cpu_pll_div",
4255                    "soc_has_clock_node_system_pre_div_in",
4256                    "soc_has_clock_node_system_pre_div",
4257                    "soc_has_clock_node_cpu_clk",
4258                    "soc_has_clock_node_apb_clk_cpu_div2",
4259                    "soc_has_clock_node_apb_clk_80m",
4260                    "soc_has_clock_node_apb_clk",
4261                    "soc_has_clock_node_ref_tick_xtal",
4262                    "soc_has_clock_node_ref_tick_ck8m",
4263                    "soc_has_clock_node_ref_tick",
4264                    "soc_has_clock_node_xtal32k_clk",
4265                    "soc_has_clock_node_rc_slow_clk",
4266                    "soc_has_clock_node_rc_fast_div_clk",
4267                    "soc_has_clock_node_xtal_div_clk",
4268                    "soc_has_clock_node_rtc_slow_clk",
4269                    "soc_has_clock_node_rtc_fast_clk",
4270                    "soc_has_clock_node_uart_mem_clk",
4271                    "soc_has_clock_node_timg_calibration_clock",
4272                    "soc_has_clock_node_timg_function_clock",
4273                    "soc_has_clock_node_uart_function_clock",
4274                    "soc_has_clock_node_uart_baud_rate_generator",
4275                    "soc_has_clock_node_uart_mem_clock",
4276                    "has_dram_region",
4277                    "has_dram2_uninit_region",
4278                    "spi_master_supports_dma",
4279                    "spi_master_has_octal",
4280                    "spi_master_has_dma_segmented_transfer",
4281                    "spi_slave_supports_dma",
4282                    "timergroup_timg_has_timer1",
4283                    "timergroup_rc_fast_calibration_is_set",
4284                    "uart_ram_size=\"128\"",
4285                    "wifi_mac_version=\"1\"",
4286                    "wifi_csi_supported",
4287                ],
4288                cfgs: &[
4289                    "cargo:rustc-cfg=esp32s2",
4290                    "cargo:rustc-cfg=xtensa",
4291                    "cargo:rustc-cfg=single_core",
4292                    "cargo:rustc-cfg=soc_has_aes",
4293                    "cargo:rustc-cfg=soc_has_apb_saradc",
4294                    "cargo:rustc-cfg=soc_has_dedicated_gpio",
4295                    "cargo:rustc-cfg=soc_has_ds",
4296                    "cargo:rustc-cfg=soc_has_efuse",
4297                    "cargo:rustc-cfg=soc_has_extmem",
4298                    "cargo:rustc-cfg=soc_has_fe",
4299                    "cargo:rustc-cfg=soc_has_fe2",
4300                    "cargo:rustc-cfg=soc_has_gpio",
4301                    "cargo:rustc-cfg=soc_has_gpio_sd",
4302                    "cargo:rustc-cfg=soc_has_hmac",
4303                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
4304                    "cargo:rustc-cfg=soc_has_i2c0",
4305                    "cargo:rustc-cfg=soc_has_i2c1",
4306                    "cargo:rustc-cfg=soc_has_i2s0",
4307                    "cargo:rustc-cfg=soc_has_interrupt_core0",
4308                    "cargo:rustc-cfg=soc_has_io_mux",
4309                    "cargo:rustc-cfg=soc_has_ledc",
4310                    "cargo:rustc-cfg=soc_has_nrx",
4311                    "cargo:rustc-cfg=soc_has_pcnt",
4312                    "cargo:rustc-cfg=soc_has_pms",
4313                    "cargo:rustc-cfg=soc_has_rmt",
4314                    "cargo:rustc-cfg=soc_has_rng",
4315                    "cargo:rustc-cfg=soc_has_rsa",
4316                    "cargo:rustc-cfg=soc_has_lpwr",
4317                    "cargo:rustc-cfg=soc_has_rtc_i2c",
4318                    "cargo:rustc-cfg=soc_has_rtc_io",
4319                    "cargo:rustc-cfg=soc_has_sens",
4320                    "cargo:rustc-cfg=soc_has_sha",
4321                    "cargo:rustc-cfg=soc_has_spi0",
4322                    "cargo:rustc-cfg=soc_has_spi1",
4323                    "cargo:rustc-cfg=soc_has_spi2",
4324                    "cargo:rustc-cfg=soc_has_spi3",
4325                    "cargo:rustc-cfg=soc_has_syscon",
4326                    "cargo:rustc-cfg=soc_has_system",
4327                    "cargo:rustc-cfg=soc_has_systimer",
4328                    "cargo:rustc-cfg=soc_has_timg0",
4329                    "cargo:rustc-cfg=soc_has_timg1",
4330                    "cargo:rustc-cfg=soc_has_twai0",
4331                    "cargo:rustc-cfg=soc_has_uart0",
4332                    "cargo:rustc-cfg=soc_has_uart1",
4333                    "cargo:rustc-cfg=soc_has_uhci0",
4334                    "cargo:rustc-cfg=soc_has_usb0",
4335                    "cargo:rustc-cfg=soc_has_usb_wrap",
4336                    "cargo:rustc-cfg=soc_has_xts_aes",
4337                    "cargo:rustc-cfg=soc_has_wifi",
4338                    "cargo:rustc-cfg=soc_has_dma_spi2",
4339                    "cargo:rustc-cfg=soc_has_dma_spi3",
4340                    "cargo:rustc-cfg=soc_has_dma_i2s0",
4341                    "cargo:rustc-cfg=soc_has_dma_crypto",
4342                    "cargo:rustc-cfg=soc_has_dma_copy",
4343                    "cargo:rustc-cfg=soc_has_adc1",
4344                    "cargo:rustc-cfg=soc_has_adc2",
4345                    "cargo:rustc-cfg=soc_has_dac1",
4346                    "cargo:rustc-cfg=soc_has_dac2",
4347                    "cargo:rustc-cfg=soc_has_flash",
4348                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
4349                    "cargo:rustc-cfg=soc_has_psram",
4350                    "cargo:rustc-cfg=soc_has_sw_interrupt",
4351                    "cargo:rustc-cfg=soc_has_ulp_riscv_core",
4352                    "cargo:rustc-cfg=phy",
4353                    "cargo:rustc-cfg=ulp_riscv_core",
4354                    "cargo:rustc-cfg=rom_crc_le",
4355                    "cargo:rustc-cfg=rom_md5_bsd",
4356                    "cargo:rustc-cfg=pm_support_ext0_wakeup",
4357                    "cargo:rustc-cfg=pm_support_ext1_wakeup",
4358                    "cargo:rustc-cfg=pm_support_touch_sensor_wakeup",
4359                    "cargo:rustc-cfg=pm_support_wifi_wakeup",
4360                    "cargo:rustc-cfg=uart_support_wakeup_int",
4361                    "cargo:rustc-cfg=ulp_supported",
4362                    "cargo:rustc-cfg=riscv_coproc_supported",
4363                    "cargo:rustc-cfg=adc_driver_supported",
4364                    "cargo:rustc-cfg=aes_driver_supported",
4365                    "cargo:rustc-cfg=dac_driver_supported",
4366                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
4367                    "cargo:rustc-cfg=dma_driver_supported",
4368                    "cargo:rustc-cfg=gpio_driver_supported",
4369                    "cargo:rustc-cfg=hmac_driver_supported",
4370                    "cargo:rustc-cfg=i2c_master_driver_supported",
4371                    "cargo:rustc-cfg=i2s_driver_supported",
4372                    "cargo:rustc-cfg=interrupts_driver_supported",
4373                    "cargo:rustc-cfg=io_mux_driver_supported",
4374                    "cargo:rustc-cfg=ledc_driver_supported",
4375                    "cargo:rustc-cfg=pcnt_driver_supported",
4376                    "cargo:rustc-cfg=phy_driver_supported",
4377                    "cargo:rustc-cfg=psram_driver_supported",
4378                    "cargo:rustc-cfg=rmt_driver_supported",
4379                    "cargo:rustc-cfg=rng_driver_supported",
4380                    "cargo:rustc-cfg=rsa_driver_supported",
4381                    "cargo:rustc-cfg=lp_timer_driver_supported",
4382                    "cargo:rustc-cfg=sha_driver_supported",
4383                    "cargo:rustc-cfg=sleep_driver_supported",
4384                    "cargo:rustc-cfg=soc_driver_supported",
4385                    "cargo:rustc-cfg=spi_master_driver_supported",
4386                    "cargo:rustc-cfg=spi_slave_driver_supported",
4387                    "cargo:rustc-cfg=systimer_driver_supported",
4388                    "cargo:rustc-cfg=temp_sensor_driver_supported",
4389                    "cargo:rustc-cfg=timergroup_driver_supported",
4390                    "cargo:rustc-cfg=twai_driver_supported",
4391                    "cargo:rustc-cfg=uart_driver_supported",
4392                    "cargo:rustc-cfg=ulp_fsm_driver_supported",
4393                    "cargo:rustc-cfg=ulp_riscv_driver_supported",
4394                    "cargo:rustc-cfg=usb_otg_driver_supported",
4395                    "cargo:rustc-cfg=wifi_driver_supported",
4396                    "cargo:rustc-cfg=adc_adc1",
4397                    "cargo:rustc-cfg=adc_adc2",
4398                    "cargo:rustc-cfg=dac_dac1",
4399                    "cargo:rustc-cfg=dac_dac2",
4400                    "cargo:rustc-cfg=i2c_master_i2c0",
4401                    "cargo:rustc-cfg=i2c_master_i2c1",
4402                    "cargo:rustc-cfg=spi_master_spi2",
4403                    "cargo:rustc-cfg=spi_master_spi3",
4404                    "cargo:rustc-cfg=spi_slave_spi2",
4405                    "cargo:rustc-cfg=spi_slave_spi3",
4406                    "cargo:rustc-cfg=timergroup_timg0",
4407                    "cargo:rustc-cfg=timergroup_timg1",
4408                    "cargo:rustc-cfg=uart_uart0",
4409                    "cargo:rustc-cfg=uart_uart1",
4410                    "cargo:rustc-cfg=aes_dma",
4411                    "cargo:rustc-cfg=aes_dma_mode_ecb",
4412                    "cargo:rustc-cfg=aes_dma_mode_cbc",
4413                    "cargo:rustc-cfg=aes_dma_mode_ofb",
4414                    "cargo:rustc-cfg=aes_dma_mode_ctr",
4415                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
4416                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
4417                    "cargo:rustc-cfg=aes_dma_mode_gcm",
4418                    "cargo:rustc-cfg=aes_has_split_text_registers",
4419                    "cargo:rustc-cfg=aes_endianness_configurable",
4420                    "cargo:rustc-cfg=dedicated_gpio_needs_initialization",
4421                    "cargo:rustc-cfg=dma_kind=\"pdma\"",
4422                    "cargo:rustc-cfg=dma_supports_mem2mem",
4423                    "cargo:rustc-cfg=dma_can_access_psram",
4424                    "cargo:rustc-cfg=dma_ext_mem_configurable_block_size",
4425                    "cargo:rustc-cfg=gpio_has_bank_1",
4426                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
4427                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
4428                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
4429                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
4430                    "cargo:rustc-cfg=gpio_input_signal_max=\"242\"",
4431                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
4432                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
4433                    "cargo:rustc-cfg=i2c_master_separate_filter_config_registers",
4434                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
4435                    "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address=\"1610690588\"",
4436                    "cargo:rustc-cfg=i2c_master_i2c0_data_register_ahb_address_is_set",
4437                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"16777215\"",
4438                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"131071\"",
4439                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
4440                    "cargo:rustc-cfg=interrupts_status_registers=\"3\"",
4441                    "cargo:rustc-cfg=interrupt_controller=\"xtensa\"",
4442                    "cargo:rustc-cfg=psram_extmem_origin=\"1062207488\"",
4443                    "cargo:rustc-cfg=rmt_ram_start=\"1061250048\"",
4444                    "cargo:rustc-cfg=rmt_channel_ram_size=\"64\"",
4445                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
4446                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
4447                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
4448                    "cargo:rustc-cfg=rmt_has_tx_sync",
4449                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
4450                    "cargo:rustc-cfg=rmt_has_per_channel_clock",
4451                    "cargo:rustc-cfg=rmt_supports_reftick_clock",
4452                    "cargo:rustc-cfg=rmt_supports_apb_clock",
4453                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
4454                    "cargo:rustc-cfg=rng_trng_supported",
4455                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
4456                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
4457                    "cargo:rustc-cfg=sha_dma",
4458                    "cargo:rustc-cfg=sleep_light_sleep",
4459                    "cargo:rustc-cfg=sleep_deep_sleep",
4460                    "cargo:rustc-cfg=soc_rc_fast_clk_default=\"8500000\"",
4461                    "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
4462                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
4463                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
4464                    "cargo:rustc-cfg=soc_has_clock_node_apll_clk",
4465                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
4466                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div_in",
4467                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div",
4468                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div_in",
4469                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div",
4470                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
4471                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk_cpu_div2",
4472                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk_80m",
4473                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
4474                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_xtal",
4475                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick_ck8m",
4476                    "cargo:rustc-cfg=soc_has_clock_node_ref_tick",
4477                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
4478                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
4479                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_div_clk",
4480                    "cargo:rustc-cfg=soc_has_clock_node_xtal_div_clk",
4481                    "cargo:rustc-cfg=soc_has_clock_node_rtc_slow_clk",
4482                    "cargo:rustc-cfg=soc_has_clock_node_rtc_fast_clk",
4483                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clk",
4484                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
4485                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
4486                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
4487                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
4488                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
4489                    "cargo:rustc-cfg=has_dram_region",
4490                    "cargo:rustc-cfg=has_dram2_uninit_region",
4491                    "cargo:rustc-cfg=spi_master_supports_dma",
4492                    "cargo:rustc-cfg=spi_master_has_octal",
4493                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
4494                    "cargo:rustc-cfg=spi_slave_supports_dma",
4495                    "cargo:rustc-cfg=timergroup_timg_has_timer1",
4496                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
4497                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
4498                    "cargo:rustc-cfg=wifi_mac_version=\"1\"",
4499                    "cargo:rustc-cfg=wifi_csi_supported",
4500                ],
4501                memory_layout: &MemoryLayout {
4502                    regions: &[
4503                        (
4504                            "dram",
4505                            MemoryRegion {
4506                                address_range: 0x3FFB0000..0x40000000,
4507                            },
4508                        ),
4509                        (
4510                            "dram2_uninit",
4511                            MemoryRegion {
4512                                address_range: 0x3FFDE000..0x40000000,
4513                            },
4514                        ),
4515                    ],
4516                },
4517                pins: &[
4518                    PinInfo {
4519                        pin: 0,
4520                        limitations: &["strapping"],
4521                    },
4522                    PinInfo {
4523                        pin: 1,
4524                        limitations: &[],
4525                    },
4526                    PinInfo {
4527                        pin: 2,
4528                        limitations: &[],
4529                    },
4530                    PinInfo {
4531                        pin: 3,
4532                        limitations: &[],
4533                    },
4534                    PinInfo {
4535                        pin: 4,
4536                        limitations: &[],
4537                    },
4538                    PinInfo {
4539                        pin: 5,
4540                        limitations: &[],
4541                    },
4542                    PinInfo {
4543                        pin: 6,
4544                        limitations: &[],
4545                    },
4546                    PinInfo {
4547                        pin: 7,
4548                        limitations: &[],
4549                    },
4550                    PinInfo {
4551                        pin: 8,
4552                        limitations: &[],
4553                    },
4554                    PinInfo {
4555                        pin: 9,
4556                        limitations: &[],
4557                    },
4558                    PinInfo {
4559                        pin: 10,
4560                        limitations: &[],
4561                    },
4562                    PinInfo {
4563                        pin: 11,
4564                        limitations: &[],
4565                    },
4566                    PinInfo {
4567                        pin: 12,
4568                        limitations: &[],
4569                    },
4570                    PinInfo {
4571                        pin: 13,
4572                        limitations: &[],
4573                    },
4574                    PinInfo {
4575                        pin: 14,
4576                        limitations: &[],
4577                    },
4578                    PinInfo {
4579                        pin: 15,
4580                        limitations: &[],
4581                    },
4582                    PinInfo {
4583                        pin: 16,
4584                        limitations: &[],
4585                    },
4586                    PinInfo {
4587                        pin: 17,
4588                        limitations: &[],
4589                    },
4590                    PinInfo {
4591                        pin: 18,
4592                        limitations: &[],
4593                    },
4594                    PinInfo {
4595                        pin: 19,
4596                        limitations: &["usb_jtag"],
4597                    },
4598                    PinInfo {
4599                        pin: 20,
4600                        limitations: &["usb_jtag"],
4601                    },
4602                    PinInfo {
4603                        pin: 21,
4604                        limitations: &[],
4605                    },
4606                    PinInfo {
4607                        pin: 26,
4608                        limitations: &["spi_psram"],
4609                    },
4610                    PinInfo {
4611                        pin: 27,
4612                        limitations: &["spi_flash", "spi_psram"],
4613                    },
4614                    PinInfo {
4615                        pin: 28,
4616                        limitations: &["spi_flash", "spi_psram"],
4617                    },
4618                    PinInfo {
4619                        pin: 29,
4620                        limitations: &["spi_flash"],
4621                    },
4622                    PinInfo {
4623                        pin: 30,
4624                        limitations: &["spi_flash", "spi_psram"],
4625                    },
4626                    PinInfo {
4627                        pin: 31,
4628                        limitations: &["spi_flash", "spi_psram"],
4629                    },
4630                    PinInfo {
4631                        pin: 32,
4632                        limitations: &["spi_flash", "spi_psram"],
4633                    },
4634                    PinInfo {
4635                        pin: 33,
4636                        limitations: &["octal_flash", "octal_psram"],
4637                    },
4638                    PinInfo {
4639                        pin: 34,
4640                        limitations: &["octal_flash", "octal_psram"],
4641                    },
4642                    PinInfo {
4643                        pin: 35,
4644                        limitations: &["octal_flash", "octal_psram"],
4645                    },
4646                    PinInfo {
4647                        pin: 36,
4648                        limitations: &["octal_flash", "octal_psram"],
4649                    },
4650                    PinInfo {
4651                        pin: 37,
4652                        limitations: &["octal_flash", "octal_psram"],
4653                    },
4654                    PinInfo {
4655                        pin: 38,
4656                        limitations: &[],
4657                    },
4658                    PinInfo {
4659                        pin: 39,
4660                        limitations: &["jtag"],
4661                    },
4662                    PinInfo {
4663                        pin: 40,
4664                        limitations: &["jtag"],
4665                    },
4666                    PinInfo {
4667                        pin: 41,
4668                        limitations: &["jtag"],
4669                    },
4670                    PinInfo {
4671                        pin: 42,
4672                        limitations: &["jtag"],
4673                    },
4674                    PinInfo {
4675                        pin: 43,
4676                        limitations: &["bootloader_uart"],
4677                    },
4678                    PinInfo {
4679                        pin: 44,
4680                        limitations: &["bootloader_uart"],
4681                    },
4682                    PinInfo {
4683                        pin: 45,
4684                        limitations: &["strapping"],
4685                    },
4686                    PinInfo {
4687                        pin: 46,
4688                        limitations: &["strapping"],
4689                    },
4690                ],
4691            },
4692            Self::Esp32s3 => Config {
4693                architecture: "xtensa",
4694                target: "xtensa-esp32s3-none-elf",
4695                symbols: &[
4696                    "esp32s3",
4697                    "xtensa",
4698                    "multi_core",
4699                    "soc_has_aes",
4700                    "soc_has_apb_ctrl",
4701                    "soc_has_apb_saradc",
4702                    "soc_has_assist_debug",
4703                    "soc_has_dma",
4704                    "soc_has_ds",
4705                    "soc_has_efuse",
4706                    "soc_has_extmem",
4707                    "soc_has_gpio",
4708                    "soc_has_gpio_sd",
4709                    "soc_has_hmac",
4710                    "soc_has_i2c_ana_mst",
4711                    "soc_has_i2c0",
4712                    "soc_has_i2c1",
4713                    "soc_has_i2s0",
4714                    "soc_has_i2s1",
4715                    "soc_has_interrupt_core0",
4716                    "soc_has_interrupt_core1",
4717                    "soc_has_io_mux",
4718                    "soc_has_lcd_cam",
4719                    "soc_has_ledc",
4720                    "soc_has_lpwr",
4721                    "soc_has_mcpwm0",
4722                    "soc_has_mcpwm1",
4723                    "soc_has_pcnt",
4724                    "soc_has_peri_backup",
4725                    "soc_has_rmt",
4726                    "soc_has_rng",
4727                    "soc_has_rsa",
4728                    "soc_has_rtc_cntl",
4729                    "soc_has_rtc_i2c",
4730                    "soc_has_rtc_io",
4731                    "soc_has_sdhost",
4732                    "soc_has_sens",
4733                    "soc_has_sensitive",
4734                    "soc_has_sha",
4735                    "soc_has_spi0",
4736                    "soc_has_spi1",
4737                    "soc_has_spi2",
4738                    "soc_has_spi3",
4739                    "soc_has_system",
4740                    "soc_has_systimer",
4741                    "soc_has_timg0",
4742                    "soc_has_timg1",
4743                    "soc_has_twai0",
4744                    "soc_has_uart0",
4745                    "soc_has_uart1",
4746                    "soc_has_uart2",
4747                    "soc_has_uhci0",
4748                    "soc_has_usb0",
4749                    "soc_has_usb_device",
4750                    "soc_has_usb_wrap",
4751                    "soc_has_wcl",
4752                    "soc_has_xts_aes",
4753                    "soc_has_dma_ch0",
4754                    "soc_has_dma_ch1",
4755                    "soc_has_dma_ch2",
4756                    "soc_has_dma_ch3",
4757                    "soc_has_dma_ch4",
4758                    "soc_has_adc1",
4759                    "soc_has_adc2",
4760                    "soc_has_bt",
4761                    "soc_has_cpu_ctrl",
4762                    "soc_has_flash",
4763                    "soc_has_gpio_dedicated",
4764                    "soc_has_psram",
4765                    "soc_has_sw_interrupt",
4766                    "soc_has_ulp_riscv_core",
4767                    "soc_has_wifi",
4768                    "phy",
4769                    "swd",
4770                    "ulp_riscv_core",
4771                    "rom_crc_le",
4772                    "rom_crc_be",
4773                    "rom_md5_bsd",
4774                    "pm_support_ext0_wakeup",
4775                    "pm_support_ext1_wakeup",
4776                    "pm_support_touch_sensor_wakeup",
4777                    "pm_support_wifi_wakeup",
4778                    "pm_support_bt_wakeup",
4779                    "uart_support_wakeup_int",
4780                    "ulp_supported",
4781                    "riscv_coproc_supported",
4782                    "adc_driver_supported",
4783                    "aes_driver_supported",
4784                    "assist_debug_driver_supported",
4785                    "bt_driver_supported",
4786                    "camera_driver_supported",
4787                    "dedicated_gpio_driver_supported",
4788                    "dma_driver_supported",
4789                    "gpio_driver_supported",
4790                    "hmac_driver_supported",
4791                    "i2c_master_driver_supported",
4792                    "i2s_driver_supported",
4793                    "interrupts_driver_supported",
4794                    "io_mux_driver_supported",
4795                    "ledc_driver_supported",
4796                    "mcpwm_driver_supported",
4797                    "pcnt_driver_supported",
4798                    "phy_driver_supported",
4799                    "psram_driver_supported",
4800                    "rgb_display_driver_supported",
4801                    "rmt_driver_supported",
4802                    "rng_driver_supported",
4803                    "rsa_driver_supported",
4804                    "lp_timer_driver_supported",
4805                    "sd_host_driver_supported",
4806                    "sha_driver_supported",
4807                    "sleep_driver_supported",
4808                    "soc_driver_supported",
4809                    "spi_master_driver_supported",
4810                    "spi_slave_driver_supported",
4811                    "systimer_driver_supported",
4812                    "temp_sensor_driver_supported",
4813                    "timergroup_driver_supported",
4814                    "twai_driver_supported",
4815                    "uart_driver_supported",
4816                    "uhci_driver_supported",
4817                    "ulp_fsm_driver_supported",
4818                    "ulp_riscv_driver_supported",
4819                    "usb_otg_driver_supported",
4820                    "usb_serial_jtag_driver_supported",
4821                    "wifi_driver_supported",
4822                    "adc_adc1",
4823                    "adc_adc2",
4824                    "i2c_master_i2c0",
4825                    "i2c_master_i2c1",
4826                    "spi_master_spi2",
4827                    "spi_master_spi3",
4828                    "spi_slave_spi2",
4829                    "spi_slave_spi3",
4830                    "timergroup_timg0",
4831                    "timergroup_timg1",
4832                    "uart_uart0",
4833                    "uart_uart1",
4834                    "uart_uart2",
4835                    "aes_dma",
4836                    "aes_dma_mode_ecb",
4837                    "aes_dma_mode_cbc",
4838                    "aes_dma_mode_ofb",
4839                    "aes_dma_mode_ctr",
4840                    "aes_dma_mode_cfb8",
4841                    "aes_dma_mode_cfb128",
4842                    "aes_has_split_text_registers",
4843                    "assist_debug_has_region_monitor",
4844                    "bt_controller=\"btdm\"",
4845                    "dedicated_gpio_needs_initialization",
4846                    "dma_kind=\"gdma\"",
4847                    "dma_supports_mem2mem",
4848                    "dma_can_access_psram",
4849                    "dma_ext_mem_configurable_block_size",
4850                    "dma_separate_in_out_interrupts",
4851                    "dma_max_priority=\"9\"",
4852                    "dma_max_priority_is_set",
4853                    "dma_gdma_version=\"1\"",
4854                    "dma_gdma_version_is_set",
4855                    "gpio_has_bank_1",
4856                    "gpio_gpio_function=\"1\"",
4857                    "gpio_constant_0_input=\"60\"",
4858                    "gpio_constant_1_input=\"56\"",
4859                    "gpio_func_in_sel_offset=\"0\"",
4860                    "gpio_input_signal_max=\"255\"",
4861                    "gpio_output_signal_max=\"256\"",
4862                    "i2c_master_has_fsm_timeouts",
4863                    "i2c_master_has_bus_timeout_enable",
4864                    "i2c_master_can_estimate_nack_reason",
4865                    "i2c_master_has_conf_update",
4866                    "i2c_master_has_arbitration_en",
4867                    "i2c_master_has_tx_fifo_watermark",
4868                    "i2c_master_bus_timeout_is_exponential",
4869                    "i2c_master_max_bus_timeout=\"31\"",
4870                    "i2c_master_ll_intr_mask=\"262143\"",
4871                    "i2c_master_fifo_size=\"32\"",
4872                    "interrupts_status_registers=\"4\"",
4873                    "interrupt_controller=\"xtensa\"",
4874                    "phy_combo_module",
4875                    "phy_backed_up_digital_register_count=\"21\"",
4876                    "phy_backed_up_digital_register_count_is_set",
4877                    "psram_octal_spi",
4878                    "psram_extmem_origin=\"1006632960\"",
4879                    "rmt_ram_start=\"1610704896\"",
4880                    "rmt_channel_ram_size=\"48\"",
4881                    "rmt_has_tx_immediate_stop",
4882                    "rmt_has_tx_loop_count",
4883                    "rmt_has_tx_loop_auto_stop",
4884                    "rmt_has_tx_carrier_data_only",
4885                    "rmt_has_tx_sync",
4886                    "rmt_has_rx_wrap",
4887                    "rmt_has_rx_demodulation",
4888                    "rmt_has_dma",
4889                    "rmt_supports_none_clock",
4890                    "rmt_supports_apb_clock",
4891                    "rmt_supports_rcfast_clock",
4892                    "rmt_supports_xtal_clock",
4893                    "rng_apb_cycle_wait_num=\"16\"",
4894                    "rng_trng_supported",
4895                    "rsa_size_increment=\"32\"",
4896                    "rsa_memory_size_bytes=\"512\"",
4897                    "sha_dma",
4898                    "sleep_light_sleep",
4899                    "sleep_deep_sleep",
4900                    "soc_multi_core_enabled",
4901                    "soc_rc_fast_clk_default=\"17500000\"",
4902                    "soc_rc_fast_clk_default_is_set",
4903                    "soc_has_clock_node_xtal_clk",
4904                    "soc_has_clock_node_pll_clk",
4905                    "soc_has_clock_node_rc_fast_clk",
4906                    "soc_has_clock_node_xtal32k_clk",
4907                    "soc_has_clock_node_rc_slow_clk",
4908                    "soc_has_clock_node_rc_fast_div_clk",
4909                    "soc_has_clock_node_system_pre_div_in",
4910                    "soc_has_clock_node_system_pre_div",
4911                    "soc_has_clock_node_cpu_pll_div_out",
4912                    "soc_has_clock_node_cpu_clk",
4913                    "soc_has_clock_node_pll_d2",
4914                    "soc_has_clock_node_pll_160m",
4915                    "soc_has_clock_node_apb_80m",
4916                    "soc_has_clock_node_apb_clk",
4917                    "soc_has_clock_node_crypto_pwm_clk",
4918                    "soc_has_clock_node_rc_fast_clk_div_n",
4919                    "soc_has_clock_node_xtal_div_clk",
4920                    "soc_has_clock_node_rtc_slow_clk",
4921                    "soc_has_clock_node_rtc_fast_clk",
4922                    "soc_has_clock_node_low_power_clk",
4923                    "soc_has_clock_node_uart_mem_clk",
4924                    "soc_has_clock_node_timg_calibration_clock",
4925                    "soc_has_clock_node_mcpwm_function_clock",
4926                    "soc_has_clock_node_timg_function_clock",
4927                    "soc_has_clock_node_rmt_sclk",
4928                    "soc_has_clock_node_uart_function_clock",
4929                    "soc_has_clock_node_uart_baud_rate_generator",
4930                    "soc_has_clock_node_uart_mem_clock",
4931                    "has_dram_region",
4932                    "has_dram2_uninit_region",
4933                    "spi_master_supports_dma",
4934                    "spi_master_has_octal",
4935                    "spi_master_has_app_interrupts",
4936                    "spi_master_has_dma_segmented_transfer",
4937                    "spi_slave_supports_dma",
4938                    "timergroup_timg_has_timer1",
4939                    "timergroup_rc_fast_calibration_is_set",
4940                    "uart_ram_size=\"128\"",
4941                    "uart_has_sclk_divider",
4942                    "wifi_mac_version=\"1\"",
4943                    "wifi_csi_supported",
4944                ],
4945                cfgs: &[
4946                    "cargo:rustc-cfg=esp32s3",
4947                    "cargo:rustc-cfg=xtensa",
4948                    "cargo:rustc-cfg=multi_core",
4949                    "cargo:rustc-cfg=soc_has_aes",
4950                    "cargo:rustc-cfg=soc_has_apb_ctrl",
4951                    "cargo:rustc-cfg=soc_has_apb_saradc",
4952                    "cargo:rustc-cfg=soc_has_assist_debug",
4953                    "cargo:rustc-cfg=soc_has_dma",
4954                    "cargo:rustc-cfg=soc_has_ds",
4955                    "cargo:rustc-cfg=soc_has_efuse",
4956                    "cargo:rustc-cfg=soc_has_extmem",
4957                    "cargo:rustc-cfg=soc_has_gpio",
4958                    "cargo:rustc-cfg=soc_has_gpio_sd",
4959                    "cargo:rustc-cfg=soc_has_hmac",
4960                    "cargo:rustc-cfg=soc_has_i2c_ana_mst",
4961                    "cargo:rustc-cfg=soc_has_i2c0",
4962                    "cargo:rustc-cfg=soc_has_i2c1",
4963                    "cargo:rustc-cfg=soc_has_i2s0",
4964                    "cargo:rustc-cfg=soc_has_i2s1",
4965                    "cargo:rustc-cfg=soc_has_interrupt_core0",
4966                    "cargo:rustc-cfg=soc_has_interrupt_core1",
4967                    "cargo:rustc-cfg=soc_has_io_mux",
4968                    "cargo:rustc-cfg=soc_has_lcd_cam",
4969                    "cargo:rustc-cfg=soc_has_ledc",
4970                    "cargo:rustc-cfg=soc_has_lpwr",
4971                    "cargo:rustc-cfg=soc_has_mcpwm0",
4972                    "cargo:rustc-cfg=soc_has_mcpwm1",
4973                    "cargo:rustc-cfg=soc_has_pcnt",
4974                    "cargo:rustc-cfg=soc_has_peri_backup",
4975                    "cargo:rustc-cfg=soc_has_rmt",
4976                    "cargo:rustc-cfg=soc_has_rng",
4977                    "cargo:rustc-cfg=soc_has_rsa",
4978                    "cargo:rustc-cfg=soc_has_rtc_cntl",
4979                    "cargo:rustc-cfg=soc_has_rtc_i2c",
4980                    "cargo:rustc-cfg=soc_has_rtc_io",
4981                    "cargo:rustc-cfg=soc_has_sdhost",
4982                    "cargo:rustc-cfg=soc_has_sens",
4983                    "cargo:rustc-cfg=soc_has_sensitive",
4984                    "cargo:rustc-cfg=soc_has_sha",
4985                    "cargo:rustc-cfg=soc_has_spi0",
4986                    "cargo:rustc-cfg=soc_has_spi1",
4987                    "cargo:rustc-cfg=soc_has_spi2",
4988                    "cargo:rustc-cfg=soc_has_spi3",
4989                    "cargo:rustc-cfg=soc_has_system",
4990                    "cargo:rustc-cfg=soc_has_systimer",
4991                    "cargo:rustc-cfg=soc_has_timg0",
4992                    "cargo:rustc-cfg=soc_has_timg1",
4993                    "cargo:rustc-cfg=soc_has_twai0",
4994                    "cargo:rustc-cfg=soc_has_uart0",
4995                    "cargo:rustc-cfg=soc_has_uart1",
4996                    "cargo:rustc-cfg=soc_has_uart2",
4997                    "cargo:rustc-cfg=soc_has_uhci0",
4998                    "cargo:rustc-cfg=soc_has_usb0",
4999                    "cargo:rustc-cfg=soc_has_usb_device",
5000                    "cargo:rustc-cfg=soc_has_usb_wrap",
5001                    "cargo:rustc-cfg=soc_has_wcl",
5002                    "cargo:rustc-cfg=soc_has_xts_aes",
5003                    "cargo:rustc-cfg=soc_has_dma_ch0",
5004                    "cargo:rustc-cfg=soc_has_dma_ch1",
5005                    "cargo:rustc-cfg=soc_has_dma_ch2",
5006                    "cargo:rustc-cfg=soc_has_dma_ch3",
5007                    "cargo:rustc-cfg=soc_has_dma_ch4",
5008                    "cargo:rustc-cfg=soc_has_adc1",
5009                    "cargo:rustc-cfg=soc_has_adc2",
5010                    "cargo:rustc-cfg=soc_has_bt",
5011                    "cargo:rustc-cfg=soc_has_cpu_ctrl",
5012                    "cargo:rustc-cfg=soc_has_flash",
5013                    "cargo:rustc-cfg=soc_has_gpio_dedicated",
5014                    "cargo:rustc-cfg=soc_has_psram",
5015                    "cargo:rustc-cfg=soc_has_sw_interrupt",
5016                    "cargo:rustc-cfg=soc_has_ulp_riscv_core",
5017                    "cargo:rustc-cfg=soc_has_wifi",
5018                    "cargo:rustc-cfg=phy",
5019                    "cargo:rustc-cfg=swd",
5020                    "cargo:rustc-cfg=ulp_riscv_core",
5021                    "cargo:rustc-cfg=rom_crc_le",
5022                    "cargo:rustc-cfg=rom_crc_be",
5023                    "cargo:rustc-cfg=rom_md5_bsd",
5024                    "cargo:rustc-cfg=pm_support_ext0_wakeup",
5025                    "cargo:rustc-cfg=pm_support_ext1_wakeup",
5026                    "cargo:rustc-cfg=pm_support_touch_sensor_wakeup",
5027                    "cargo:rustc-cfg=pm_support_wifi_wakeup",
5028                    "cargo:rustc-cfg=pm_support_bt_wakeup",
5029                    "cargo:rustc-cfg=uart_support_wakeup_int",
5030                    "cargo:rustc-cfg=ulp_supported",
5031                    "cargo:rustc-cfg=riscv_coproc_supported",
5032                    "cargo:rustc-cfg=adc_driver_supported",
5033                    "cargo:rustc-cfg=aes_driver_supported",
5034                    "cargo:rustc-cfg=assist_debug_driver_supported",
5035                    "cargo:rustc-cfg=bt_driver_supported",
5036                    "cargo:rustc-cfg=camera_driver_supported",
5037                    "cargo:rustc-cfg=dedicated_gpio_driver_supported",
5038                    "cargo:rustc-cfg=dma_driver_supported",
5039                    "cargo:rustc-cfg=gpio_driver_supported",
5040                    "cargo:rustc-cfg=hmac_driver_supported",
5041                    "cargo:rustc-cfg=i2c_master_driver_supported",
5042                    "cargo:rustc-cfg=i2s_driver_supported",
5043                    "cargo:rustc-cfg=interrupts_driver_supported",
5044                    "cargo:rustc-cfg=io_mux_driver_supported",
5045                    "cargo:rustc-cfg=ledc_driver_supported",
5046                    "cargo:rustc-cfg=mcpwm_driver_supported",
5047                    "cargo:rustc-cfg=pcnt_driver_supported",
5048                    "cargo:rustc-cfg=phy_driver_supported",
5049                    "cargo:rustc-cfg=psram_driver_supported",
5050                    "cargo:rustc-cfg=rgb_display_driver_supported",
5051                    "cargo:rustc-cfg=rmt_driver_supported",
5052                    "cargo:rustc-cfg=rng_driver_supported",
5053                    "cargo:rustc-cfg=rsa_driver_supported",
5054                    "cargo:rustc-cfg=lp_timer_driver_supported",
5055                    "cargo:rustc-cfg=sd_host_driver_supported",
5056                    "cargo:rustc-cfg=sha_driver_supported",
5057                    "cargo:rustc-cfg=sleep_driver_supported",
5058                    "cargo:rustc-cfg=soc_driver_supported",
5059                    "cargo:rustc-cfg=spi_master_driver_supported",
5060                    "cargo:rustc-cfg=spi_slave_driver_supported",
5061                    "cargo:rustc-cfg=systimer_driver_supported",
5062                    "cargo:rustc-cfg=temp_sensor_driver_supported",
5063                    "cargo:rustc-cfg=timergroup_driver_supported",
5064                    "cargo:rustc-cfg=twai_driver_supported",
5065                    "cargo:rustc-cfg=uart_driver_supported",
5066                    "cargo:rustc-cfg=uhci_driver_supported",
5067                    "cargo:rustc-cfg=ulp_fsm_driver_supported",
5068                    "cargo:rustc-cfg=ulp_riscv_driver_supported",
5069                    "cargo:rustc-cfg=usb_otg_driver_supported",
5070                    "cargo:rustc-cfg=usb_serial_jtag_driver_supported",
5071                    "cargo:rustc-cfg=wifi_driver_supported",
5072                    "cargo:rustc-cfg=adc_adc1",
5073                    "cargo:rustc-cfg=adc_adc2",
5074                    "cargo:rustc-cfg=i2c_master_i2c0",
5075                    "cargo:rustc-cfg=i2c_master_i2c1",
5076                    "cargo:rustc-cfg=spi_master_spi2",
5077                    "cargo:rustc-cfg=spi_master_spi3",
5078                    "cargo:rustc-cfg=spi_slave_spi2",
5079                    "cargo:rustc-cfg=spi_slave_spi3",
5080                    "cargo:rustc-cfg=timergroup_timg0",
5081                    "cargo:rustc-cfg=timergroup_timg1",
5082                    "cargo:rustc-cfg=uart_uart0",
5083                    "cargo:rustc-cfg=uart_uart1",
5084                    "cargo:rustc-cfg=uart_uart2",
5085                    "cargo:rustc-cfg=aes_dma",
5086                    "cargo:rustc-cfg=aes_dma_mode_ecb",
5087                    "cargo:rustc-cfg=aes_dma_mode_cbc",
5088                    "cargo:rustc-cfg=aes_dma_mode_ofb",
5089                    "cargo:rustc-cfg=aes_dma_mode_ctr",
5090                    "cargo:rustc-cfg=aes_dma_mode_cfb8",
5091                    "cargo:rustc-cfg=aes_dma_mode_cfb128",
5092                    "cargo:rustc-cfg=aes_has_split_text_registers",
5093                    "cargo:rustc-cfg=assist_debug_has_region_monitor",
5094                    "cargo:rustc-cfg=bt_controller=\"btdm\"",
5095                    "cargo:rustc-cfg=dedicated_gpio_needs_initialization",
5096                    "cargo:rustc-cfg=dma_kind=\"gdma\"",
5097                    "cargo:rustc-cfg=dma_supports_mem2mem",
5098                    "cargo:rustc-cfg=dma_can_access_psram",
5099                    "cargo:rustc-cfg=dma_ext_mem_configurable_block_size",
5100                    "cargo:rustc-cfg=dma_separate_in_out_interrupts",
5101                    "cargo:rustc-cfg=dma_max_priority=\"9\"",
5102                    "cargo:rustc-cfg=dma_max_priority_is_set",
5103                    "cargo:rustc-cfg=dma_gdma_version=\"1\"",
5104                    "cargo:rustc-cfg=dma_gdma_version_is_set",
5105                    "cargo:rustc-cfg=gpio_has_bank_1",
5106                    "cargo:rustc-cfg=gpio_gpio_function=\"1\"",
5107                    "cargo:rustc-cfg=gpio_constant_0_input=\"60\"",
5108                    "cargo:rustc-cfg=gpio_constant_1_input=\"56\"",
5109                    "cargo:rustc-cfg=gpio_func_in_sel_offset=\"0\"",
5110                    "cargo:rustc-cfg=gpio_input_signal_max=\"255\"",
5111                    "cargo:rustc-cfg=gpio_output_signal_max=\"256\"",
5112                    "cargo:rustc-cfg=i2c_master_has_fsm_timeouts",
5113                    "cargo:rustc-cfg=i2c_master_has_bus_timeout_enable",
5114                    "cargo:rustc-cfg=i2c_master_can_estimate_nack_reason",
5115                    "cargo:rustc-cfg=i2c_master_has_conf_update",
5116                    "cargo:rustc-cfg=i2c_master_has_arbitration_en",
5117                    "cargo:rustc-cfg=i2c_master_has_tx_fifo_watermark",
5118                    "cargo:rustc-cfg=i2c_master_bus_timeout_is_exponential",
5119                    "cargo:rustc-cfg=i2c_master_max_bus_timeout=\"31\"",
5120                    "cargo:rustc-cfg=i2c_master_ll_intr_mask=\"262143\"",
5121                    "cargo:rustc-cfg=i2c_master_fifo_size=\"32\"",
5122                    "cargo:rustc-cfg=interrupts_status_registers=\"4\"",
5123                    "cargo:rustc-cfg=interrupt_controller=\"xtensa\"",
5124                    "cargo:rustc-cfg=phy_combo_module",
5125                    "cargo:rustc-cfg=phy_backed_up_digital_register_count=\"21\"",
5126                    "cargo:rustc-cfg=phy_backed_up_digital_register_count_is_set",
5127                    "cargo:rustc-cfg=psram_octal_spi",
5128                    "cargo:rustc-cfg=psram_extmem_origin=\"1006632960\"",
5129                    "cargo:rustc-cfg=rmt_ram_start=\"1610704896\"",
5130                    "cargo:rustc-cfg=rmt_channel_ram_size=\"48\"",
5131                    "cargo:rustc-cfg=rmt_has_tx_immediate_stop",
5132                    "cargo:rustc-cfg=rmt_has_tx_loop_count",
5133                    "cargo:rustc-cfg=rmt_has_tx_loop_auto_stop",
5134                    "cargo:rustc-cfg=rmt_has_tx_carrier_data_only",
5135                    "cargo:rustc-cfg=rmt_has_tx_sync",
5136                    "cargo:rustc-cfg=rmt_has_rx_wrap",
5137                    "cargo:rustc-cfg=rmt_has_rx_demodulation",
5138                    "cargo:rustc-cfg=rmt_has_dma",
5139                    "cargo:rustc-cfg=rmt_supports_none_clock",
5140                    "cargo:rustc-cfg=rmt_supports_apb_clock",
5141                    "cargo:rustc-cfg=rmt_supports_rcfast_clock",
5142                    "cargo:rustc-cfg=rmt_supports_xtal_clock",
5143                    "cargo:rustc-cfg=rng_apb_cycle_wait_num=\"16\"",
5144                    "cargo:rustc-cfg=rng_trng_supported",
5145                    "cargo:rustc-cfg=rsa_size_increment=\"32\"",
5146                    "cargo:rustc-cfg=rsa_memory_size_bytes=\"512\"",
5147                    "cargo:rustc-cfg=sha_dma",
5148                    "cargo:rustc-cfg=sleep_light_sleep",
5149                    "cargo:rustc-cfg=sleep_deep_sleep",
5150                    "cargo:rustc-cfg=soc_multi_core_enabled",
5151                    "cargo:rustc-cfg=soc_rc_fast_clk_default=\"17500000\"",
5152                    "cargo:rustc-cfg=soc_rc_fast_clk_default_is_set",
5153                    "cargo:rustc-cfg=soc_has_clock_node_xtal_clk",
5154                    "cargo:rustc-cfg=soc_has_clock_node_pll_clk",
5155                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk",
5156                    "cargo:rustc-cfg=soc_has_clock_node_xtal32k_clk",
5157                    "cargo:rustc-cfg=soc_has_clock_node_rc_slow_clk",
5158                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_div_clk",
5159                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div_in",
5160                    "cargo:rustc-cfg=soc_has_clock_node_system_pre_div",
5161                    "cargo:rustc-cfg=soc_has_clock_node_cpu_pll_div_out",
5162                    "cargo:rustc-cfg=soc_has_clock_node_cpu_clk",
5163                    "cargo:rustc-cfg=soc_has_clock_node_pll_d2",
5164                    "cargo:rustc-cfg=soc_has_clock_node_pll_160m",
5165                    "cargo:rustc-cfg=soc_has_clock_node_apb_80m",
5166                    "cargo:rustc-cfg=soc_has_clock_node_apb_clk",
5167                    "cargo:rustc-cfg=soc_has_clock_node_crypto_pwm_clk",
5168                    "cargo:rustc-cfg=soc_has_clock_node_rc_fast_clk_div_n",
5169                    "cargo:rustc-cfg=soc_has_clock_node_xtal_div_clk",
5170                    "cargo:rustc-cfg=soc_has_clock_node_rtc_slow_clk",
5171                    "cargo:rustc-cfg=soc_has_clock_node_rtc_fast_clk",
5172                    "cargo:rustc-cfg=soc_has_clock_node_low_power_clk",
5173                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clk",
5174                    "cargo:rustc-cfg=soc_has_clock_node_timg_calibration_clock",
5175                    "cargo:rustc-cfg=soc_has_clock_node_mcpwm_function_clock",
5176                    "cargo:rustc-cfg=soc_has_clock_node_timg_function_clock",
5177                    "cargo:rustc-cfg=soc_has_clock_node_rmt_sclk",
5178                    "cargo:rustc-cfg=soc_has_clock_node_uart_function_clock",
5179                    "cargo:rustc-cfg=soc_has_clock_node_uart_baud_rate_generator",
5180                    "cargo:rustc-cfg=soc_has_clock_node_uart_mem_clock",
5181                    "cargo:rustc-cfg=has_dram_region",
5182                    "cargo:rustc-cfg=has_dram2_uninit_region",
5183                    "cargo:rustc-cfg=spi_master_supports_dma",
5184                    "cargo:rustc-cfg=spi_master_has_octal",
5185                    "cargo:rustc-cfg=spi_master_has_app_interrupts",
5186                    "cargo:rustc-cfg=spi_master_has_dma_segmented_transfer",
5187                    "cargo:rustc-cfg=spi_slave_supports_dma",
5188                    "cargo:rustc-cfg=timergroup_timg_has_timer1",
5189                    "cargo:rustc-cfg=timergroup_rc_fast_calibration_is_set",
5190                    "cargo:rustc-cfg=uart_ram_size=\"128\"",
5191                    "cargo:rustc-cfg=uart_has_sclk_divider",
5192                    "cargo:rustc-cfg=wifi_mac_version=\"1\"",
5193                    "cargo:rustc-cfg=wifi_csi_supported",
5194                ],
5195                memory_layout: &MemoryLayout {
5196                    regions: &[
5197                        (
5198                            "dram",
5199                            MemoryRegion {
5200                                address_range: 0x3FC88000..0x3FD00000,
5201                            },
5202                        ),
5203                        (
5204                            "dram2_uninit",
5205                            MemoryRegion {
5206                                address_range: 0x3FCDB700..0x3FCED710,
5207                            },
5208                        ),
5209                    ],
5210                },
5211                pins: &[
5212                    PinInfo {
5213                        pin: 0,
5214                        limitations: &["strapping"],
5215                    },
5216                    PinInfo {
5217                        pin: 1,
5218                        limitations: &[],
5219                    },
5220                    PinInfo {
5221                        pin: 2,
5222                        limitations: &[],
5223                    },
5224                    PinInfo {
5225                        pin: 3,
5226                        limitations: &["strapping"],
5227                    },
5228                    PinInfo {
5229                        pin: 4,
5230                        limitations: &[],
5231                    },
5232                    PinInfo {
5233                        pin: 5,
5234                        limitations: &[],
5235                    },
5236                    PinInfo {
5237                        pin: 6,
5238                        limitations: &[],
5239                    },
5240                    PinInfo {
5241                        pin: 7,
5242                        limitations: &[],
5243                    },
5244                    PinInfo {
5245                        pin: 8,
5246                        limitations: &[],
5247                    },
5248                    PinInfo {
5249                        pin: 9,
5250                        limitations: &[],
5251                    },
5252                    PinInfo {
5253                        pin: 10,
5254                        limitations: &[],
5255                    },
5256                    PinInfo {
5257                        pin: 11,
5258                        limitations: &[],
5259                    },
5260                    PinInfo {
5261                        pin: 12,
5262                        limitations: &[],
5263                    },
5264                    PinInfo {
5265                        pin: 13,
5266                        limitations: &[],
5267                    },
5268                    PinInfo {
5269                        pin: 14,
5270                        limitations: &[],
5271                    },
5272                    PinInfo {
5273                        pin: 15,
5274                        limitations: &[],
5275                    },
5276                    PinInfo {
5277                        pin: 16,
5278                        limitations: &[],
5279                    },
5280                    PinInfo {
5281                        pin: 17,
5282                        limitations: &[],
5283                    },
5284                    PinInfo {
5285                        pin: 18,
5286                        limitations: &[],
5287                    },
5288                    PinInfo {
5289                        pin: 19,
5290                        limitations: &["usb_jtag"],
5291                    },
5292                    PinInfo {
5293                        pin: 20,
5294                        limitations: &["usb_jtag"],
5295                    },
5296                    PinInfo {
5297                        pin: 21,
5298                        limitations: &[],
5299                    },
5300                    PinInfo {
5301                        pin: 26,
5302                        limitations: &["spi_psram"],
5303                    },
5304                    PinInfo {
5305                        pin: 27,
5306                        limitations: &["spi_flash", "spi_psram"],
5307                    },
5308                    PinInfo {
5309                        pin: 28,
5310                        limitations: &["spi_flash", "spi_psram"],
5311                    },
5312                    PinInfo {
5313                        pin: 29,
5314                        limitations: &["spi_flash", "spi_psram"],
5315                    },
5316                    PinInfo {
5317                        pin: 30,
5318                        limitations: &["spi_flash", "spi_psram"],
5319                    },
5320                    PinInfo {
5321                        pin: 31,
5322                        limitations: &["spi_flash", "spi_psram"],
5323                    },
5324                    PinInfo {
5325                        pin: 32,
5326                        limitations: &["spi_flash"],
5327                    },
5328                    PinInfo {
5329                        pin: 33,
5330                        limitations: &["octal_flash", "octal_psram"],
5331                    },
5332                    PinInfo {
5333                        pin: 34,
5334                        limitations: &["octal_flash", "octal_psram"],
5335                    },
5336                    PinInfo {
5337                        pin: 35,
5338                        limitations: &["octal_flash", "octal_psram"],
5339                    },
5340                    PinInfo {
5341                        pin: 36,
5342                        limitations: &["octal_flash", "octal_psram"],
5343                    },
5344                    PinInfo {
5345                        pin: 37,
5346                        limitations: &["octal_flash", "octal_psram"],
5347                    },
5348                    PinInfo {
5349                        pin: 38,
5350                        limitations: &[],
5351                    },
5352                    PinInfo {
5353                        pin: 39,
5354                        limitations: &["jtag"],
5355                    },
5356                    PinInfo {
5357                        pin: 40,
5358                        limitations: &["jtag"],
5359                    },
5360                    PinInfo {
5361                        pin: 41,
5362                        limitations: &["jtag"],
5363                    },
5364                    PinInfo {
5365                        pin: 42,
5366                        limitations: &["jtag"],
5367                    },
5368                    PinInfo {
5369                        pin: 43,
5370                        limitations: &["bootloader_uart"],
5371                    },
5372                    PinInfo {
5373                        pin: 44,
5374                        limitations: &["bootloader_uart"],
5375                    },
5376                    PinInfo {
5377                        pin: 45,
5378                        limitations: &["strapping"],
5379                    },
5380                    PinInfo {
5381                        pin: 46,
5382                        limitations: &["strapping"],
5383                    },
5384                    PinInfo {
5385                        pin: 47,
5386                        limitations: &[],
5387                    },
5388                    PinInfo {
5389                        pin: 48,
5390                        limitations: &[],
5391                    },
5392                ],
5393            },
5394        }
5395    }
5396}
5397/// Information about a memory region.
5398pub struct MemoryRegion {
5399    address_range: Range<u32>,
5400}
5401impl MemoryRegion {
5402    /// Returns the address range of the memory region.
5403    pub fn range(&self) -> Range<u32> {
5404        self.address_range.clone()
5405    }
5406    /// Returns the size of the memory region in bytes.
5407    pub fn size(&self) -> u32 {
5408        self.address_range.end - self.address_range.start
5409    }
5410}
5411/// Information about the memory layout of a chip.
5412pub struct MemoryLayout {
5413    regions: &'static [(&'static str, MemoryRegion)],
5414}
5415impl MemoryLayout {
5416    /// Returns the memory region with the given name.
5417    pub fn region(&self, name: &str) -> Option<&'static MemoryRegion> {
5418        self.regions
5419            .iter()
5420            .find_map(|(n, r)| if *n == name { Some(r) } else { None })
5421    }
5422}
5423/// Information about a specific pin.
5424#[non_exhaustive]
5425pub struct PinInfo {
5426    /// The pin number.
5427    pub pin: usize,
5428    /// The list of possible restriction categories for this pin.
5429    ///
5430    /// This can include "strapping", "spi_psram", etc.
5431    pub limitations: &'static [&'static str],
5432}
5433struct Config {
5434    architecture: &'static str,
5435    target: &'static str,
5436    symbols: &'static [&'static str],
5437    cfgs: &'static [&'static str],
5438    memory_layout: &'static MemoryLayout,
5439    pins: &'static [PinInfo],
5440}
5441impl Config {
5442    fn define_cfgs(&self) {
5443        emit_check_cfg_directives();
5444        for cfg in self.cfgs {
5445            println!("{cfg}");
5446        }
5447    }
5448}
5449/// Prints `cargo:rustc-check-cfg` lines.
5450pub fn emit_check_cfg_directives() {
5451    println!("cargo:rustc-check-cfg=cfg(not_really_docsrs)");
5452    println!("cargo:rustc-check-cfg=cfg(semver_checks)");
5453    println!("cargo:rustc-check-cfg=cfg(esp32)");
5454    println!("cargo:rustc-check-cfg=cfg(xtensa)");
5455    println!("cargo:rustc-check-cfg=cfg(multi_core)");
5456    println!("cargo:rustc-check-cfg=cfg(soc_has_aes)");
5457    println!("cargo:rustc-check-cfg=cfg(soc_has_apb_ctrl)");
5458    println!("cargo:rustc-check-cfg=cfg(soc_has_bb)");
5459    println!("cargo:rustc-check-cfg=cfg(soc_has_dport)");
5460    println!("cargo:rustc-check-cfg=cfg(soc_has_system)");
5461    println!("cargo:rustc-check-cfg=cfg(soc_has_efuse)");
5462    println!("cargo:rustc-check-cfg=cfg(soc_has_emac_dma)");
5463    println!("cargo:rustc-check-cfg=cfg(soc_has_emac_ext)");
5464    println!("cargo:rustc-check-cfg=cfg(soc_has_emac_mac)");
5465    println!("cargo:rustc-check-cfg=cfg(soc_has_flash_encryption)");
5466    println!("cargo:rustc-check-cfg=cfg(soc_has_frc_timer)");
5467    println!("cargo:rustc-check-cfg=cfg(soc_has_gpio)");
5468    println!("cargo:rustc-check-cfg=cfg(soc_has_gpio_sd)");
5469    println!("cargo:rustc-check-cfg=cfg(soc_has_hinf)");
5470    println!("cargo:rustc-check-cfg=cfg(soc_has_i2c0)");
5471    println!("cargo:rustc-check-cfg=cfg(soc_has_i2c1)");
5472    println!("cargo:rustc-check-cfg=cfg(soc_has_i2s0)");
5473    println!("cargo:rustc-check-cfg=cfg(soc_has_i2s1)");
5474    println!("cargo:rustc-check-cfg=cfg(soc_has_io_mux)");
5475    println!("cargo:rustc-check-cfg=cfg(soc_has_ledc)");
5476    println!("cargo:rustc-check-cfg=cfg(soc_has_mcpwm0)");
5477    println!("cargo:rustc-check-cfg=cfg(soc_has_mcpwm1)");
5478    println!("cargo:rustc-check-cfg=cfg(soc_has_nrx)");
5479    println!("cargo:rustc-check-cfg=cfg(soc_has_pcnt)");
5480    println!("cargo:rustc-check-cfg=cfg(soc_has_rmt)");
5481    println!("cargo:rustc-check-cfg=cfg(soc_has_rng)");
5482    println!("cargo:rustc-check-cfg=cfg(soc_has_rsa)");
5483    println!("cargo:rustc-check-cfg=cfg(soc_has_lpwr)");
5484    println!("cargo:rustc-check-cfg=cfg(soc_has_rtc_i2c)");
5485    println!("cargo:rustc-check-cfg=cfg(soc_has_rtc_io)");
5486    println!("cargo:rustc-check-cfg=cfg(soc_has_sdhost)");
5487    println!("cargo:rustc-check-cfg=cfg(soc_has_sens)");
5488    println!("cargo:rustc-check-cfg=cfg(soc_has_sha)");
5489    println!("cargo:rustc-check-cfg=cfg(soc_has_slc)");
5490    println!("cargo:rustc-check-cfg=cfg(soc_has_slchost)");
5491    println!("cargo:rustc-check-cfg=cfg(soc_has_spi0)");
5492    println!("cargo:rustc-check-cfg=cfg(soc_has_spi1)");
5493    println!("cargo:rustc-check-cfg=cfg(soc_has_spi2)");
5494    println!("cargo:rustc-check-cfg=cfg(soc_has_spi3)");
5495    println!("cargo:rustc-check-cfg=cfg(soc_has_timg0)");
5496    println!("cargo:rustc-check-cfg=cfg(soc_has_timg1)");
5497    println!("cargo:rustc-check-cfg=cfg(soc_has_twai0)");
5498    println!("cargo:rustc-check-cfg=cfg(soc_has_uart0)");
5499    println!("cargo:rustc-check-cfg=cfg(soc_has_uart1)");
5500    println!("cargo:rustc-check-cfg=cfg(soc_has_uart2)");
5501    println!("cargo:rustc-check-cfg=cfg(soc_has_uhci0)");
5502    println!("cargo:rustc-check-cfg=cfg(soc_has_uhci1)");
5503    println!("cargo:rustc-check-cfg=cfg(soc_has_wifi)");
5504    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_spi2)");
5505    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_spi3)");
5506    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_i2s0)");
5507    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_i2s1)");
5508    println!("cargo:rustc-check-cfg=cfg(soc_has_adc1)");
5509    println!("cargo:rustc-check-cfg=cfg(soc_has_adc2)");
5510    println!("cargo:rustc-check-cfg=cfg(soc_has_bt)");
5511    println!("cargo:rustc-check-cfg=cfg(soc_has_cpu_ctrl)");
5512    println!("cargo:rustc-check-cfg=cfg(soc_has_dac1)");
5513    println!("cargo:rustc-check-cfg=cfg(soc_has_dac2)");
5514    println!("cargo:rustc-check-cfg=cfg(soc_has_flash)");
5515    println!("cargo:rustc-check-cfg=cfg(soc_has_psram)");
5516    println!("cargo:rustc-check-cfg=cfg(soc_has_sw_interrupt)");
5517    println!("cargo:rustc-check-cfg=cfg(soc_has_touch)");
5518    println!("cargo:rustc-check-cfg=cfg(phy)");
5519    println!("cargo:rustc-check-cfg=cfg(touch)");
5520    println!("cargo:rustc-check-cfg=cfg(rom_crc_le)");
5521    println!("cargo:rustc-check-cfg=cfg(rom_crc_be)");
5522    println!("cargo:rustc-check-cfg=cfg(rom_md5_bsd)");
5523    println!("cargo:rustc-check-cfg=cfg(pm_support_ext0_wakeup)");
5524    println!("cargo:rustc-check-cfg=cfg(pm_support_ext1_wakeup)");
5525    println!("cargo:rustc-check-cfg=cfg(pm_support_touch_sensor_wakeup)");
5526    println!("cargo:rustc-check-cfg=cfg(ulp_supported)");
5527    println!("cargo:rustc-check-cfg=cfg(adc_driver_supported)");
5528    println!("cargo:rustc-check-cfg=cfg(aes_driver_supported)");
5529    println!("cargo:rustc-check-cfg=cfg(bt_driver_supported)");
5530    println!("cargo:rustc-check-cfg=cfg(dac_driver_supported)");
5531    println!("cargo:rustc-check-cfg=cfg(dma_driver_supported)");
5532    println!("cargo:rustc-check-cfg=cfg(gpio_driver_supported)");
5533    println!("cargo:rustc-check-cfg=cfg(i2c_master_driver_supported)");
5534    println!("cargo:rustc-check-cfg=cfg(i2s_driver_supported)");
5535    println!("cargo:rustc-check-cfg=cfg(interrupts_driver_supported)");
5536    println!("cargo:rustc-check-cfg=cfg(io_mux_driver_supported)");
5537    println!("cargo:rustc-check-cfg=cfg(ledc_driver_supported)");
5538    println!("cargo:rustc-check-cfg=cfg(mcpwm_driver_supported)");
5539    println!("cargo:rustc-check-cfg=cfg(pcnt_driver_supported)");
5540    println!("cargo:rustc-check-cfg=cfg(phy_driver_supported)");
5541    println!("cargo:rustc-check-cfg=cfg(psram_driver_supported)");
5542    println!("cargo:rustc-check-cfg=cfg(rgb_display_driver_supported)");
5543    println!("cargo:rustc-check-cfg=cfg(rmt_driver_supported)");
5544    println!("cargo:rustc-check-cfg=cfg(rng_driver_supported)");
5545    println!("cargo:rustc-check-cfg=cfg(rsa_driver_supported)");
5546    println!("cargo:rustc-check-cfg=cfg(lp_timer_driver_supported)");
5547    println!("cargo:rustc-check-cfg=cfg(sd_host_driver_supported)");
5548    println!("cargo:rustc-check-cfg=cfg(sd_slave_driver_supported)");
5549    println!("cargo:rustc-check-cfg=cfg(sha_driver_supported)");
5550    println!("cargo:rustc-check-cfg=cfg(sleep_driver_supported)");
5551    println!("cargo:rustc-check-cfg=cfg(soc_driver_supported)");
5552    println!("cargo:rustc-check-cfg=cfg(spi_master_driver_supported)");
5553    println!("cargo:rustc-check-cfg=cfg(spi_slave_driver_supported)");
5554    println!("cargo:rustc-check-cfg=cfg(temp_sensor_driver_supported)");
5555    println!("cargo:rustc-check-cfg=cfg(timergroup_driver_supported)");
5556    println!("cargo:rustc-check-cfg=cfg(touch_driver_supported)");
5557    println!("cargo:rustc-check-cfg=cfg(twai_driver_supported)");
5558    println!("cargo:rustc-check-cfg=cfg(uart_driver_supported)");
5559    println!("cargo:rustc-check-cfg=cfg(ulp_fsm_driver_supported)");
5560    println!("cargo:rustc-check-cfg=cfg(wifi_driver_supported)");
5561    println!("cargo:rustc-check-cfg=cfg(adc_adc1)");
5562    println!("cargo:rustc-check-cfg=cfg(adc_adc2)");
5563    println!("cargo:rustc-check-cfg=cfg(dac_dac1)");
5564    println!("cargo:rustc-check-cfg=cfg(dac_dac2)");
5565    println!("cargo:rustc-check-cfg=cfg(i2c_master_i2c0)");
5566    println!("cargo:rustc-check-cfg=cfg(i2c_master_i2c1)");
5567    println!("cargo:rustc-check-cfg=cfg(spi_master_spi2)");
5568    println!("cargo:rustc-check-cfg=cfg(spi_master_spi3)");
5569    println!("cargo:rustc-check-cfg=cfg(spi_slave_spi2)");
5570    println!("cargo:rustc-check-cfg=cfg(spi_slave_spi3)");
5571    println!("cargo:rustc-check-cfg=cfg(timergroup_timg0)");
5572    println!("cargo:rustc-check-cfg=cfg(timergroup_timg1)");
5573    println!("cargo:rustc-check-cfg=cfg(uart_uart0)");
5574    println!("cargo:rustc-check-cfg=cfg(uart_uart1)");
5575    println!("cargo:rustc-check-cfg=cfg(uart_uart2)");
5576    println!("cargo:rustc-check-cfg=cfg(aes_endianness_configurable)");
5577    println!("cargo:rustc-check-cfg=cfg(gpio_has_bank_1)");
5578    println!("cargo:rustc-check-cfg=cfg(gpio_remap_iomux_pin_registers)");
5579    println!("cargo:rustc-check-cfg=cfg(i2c_master_separate_filter_config_registers)");
5580    println!("cargo:rustc-check-cfg=cfg(i2c_master_i2c0_data_register_ahb_address_is_set)");
5581    println!("cargo:rustc-check-cfg=cfg(phy_combo_module)");
5582    println!("cargo:rustc-check-cfg=cfg(rmt_has_per_channel_clock)");
5583    println!("cargo:rustc-check-cfg=cfg(rmt_supports_reftick_clock)");
5584    println!("cargo:rustc-check-cfg=cfg(rmt_supports_apb_clock)");
5585    println!("cargo:rustc-check-cfg=cfg(rng_trng_supported)");
5586    println!("cargo:rustc-check-cfg=cfg(sleep_light_sleep)");
5587    println!("cargo:rustc-check-cfg=cfg(sleep_deep_sleep)");
5588    println!("cargo:rustc-check-cfg=cfg(soc_multi_core_enabled)");
5589    println!("cargo:rustc-check-cfg=cfg(soc_rc_fast_clk_default_is_set)");
5590    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_xtal_clk)");
5591    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_clk)");
5592    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_apll_clk)");
5593    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_rc_fast_clk)");
5594    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f160m_clk)");
5595    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_cpu_pll_div_in)");
5596    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_cpu_pll_div)");
5597    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_syscon_pre_div_in)");
5598    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_syscon_pre_div)");
5599    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_cpu_clk)");
5600    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_apb_clk_cpu_div2)");
5601    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_apb_clk_80m)");
5602    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_apb_clk)");
5603    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_ref_tick_pll)");
5604    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_ref_tick_apll)");
5605    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_ref_tick_xtal)");
5606    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_ref_tick_fosc)");
5607    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_ref_tick)");
5608    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_xtal32k_clk)");
5609    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_rc_slow_clk)");
5610    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_rc_fast_div_clk)");
5611    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_xtal_div_clk)");
5612    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_rtc_slow_clk)");
5613    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_rtc_fast_clk)");
5614    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_uart_mem_clk)");
5615    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_timg_calibration_clock)");
5616    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_mcpwm_function_clock)");
5617    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_uart_function_clock)");
5618    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_uart_mem_clock)");
5619    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_uart_baud_rate_generator)");
5620    println!("cargo:rustc-check-cfg=cfg(has_dram_region)");
5621    println!("cargo:rustc-check-cfg=cfg(has_dram2_uninit_region)");
5622    println!("cargo:rustc-check-cfg=cfg(spi_master_supports_dma)");
5623    println!("cargo:rustc-check-cfg=cfg(spi_slave_supports_dma)");
5624    println!("cargo:rustc-check-cfg=cfg(timergroup_timg_has_timer1)");
5625    println!("cargo:rustc-check-cfg=cfg(timergroup_rc_fast_calibration_is_set)");
5626    println!("cargo:rustc-check-cfg=cfg(wifi_csi_supported)");
5627    println!("cargo:rustc-check-cfg=cfg(esp32c2)");
5628    println!("cargo:rustc-check-cfg=cfg(riscv)");
5629    println!("cargo:rustc-check-cfg=cfg(single_core)");
5630    println!("cargo:rustc-check-cfg=cfg(soc_has_apb_saradc)");
5631    println!("cargo:rustc-check-cfg=cfg(soc_has_assist_debug)");
5632    println!("cargo:rustc-check-cfg=cfg(soc_has_dma)");
5633    println!("cargo:rustc-check-cfg=cfg(soc_has_ecc)");
5634    println!("cargo:rustc-check-cfg=cfg(soc_has_extmem)");
5635    println!("cargo:rustc-check-cfg=cfg(soc_has_i2c_ana_mst)");
5636    println!("cargo:rustc-check-cfg=cfg(soc_has_interrupt_core0)");
5637    println!("cargo:rustc-check-cfg=cfg(soc_has_modem_clkrst)");
5638    println!("cargo:rustc-check-cfg=cfg(soc_has_sensitive)");
5639    println!("cargo:rustc-check-cfg=cfg(soc_has_systimer)");
5640    println!("cargo:rustc-check-cfg=cfg(soc_has_xts_aes)");
5641    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch0)");
5642    println!("cargo:rustc-check-cfg=cfg(soc_has_gpio_dedicated)");
5643    println!("cargo:rustc-check-cfg=cfg(swd)");
5644    println!("cargo:rustc-check-cfg=cfg(rom_md5_mbedtls)");
5645    println!("cargo:rustc-check-cfg=cfg(pm_support_wifi_wakeup)");
5646    println!("cargo:rustc-check-cfg=cfg(pm_support_bt_wakeup)");
5647    println!("cargo:rustc-check-cfg=cfg(uart_support_wakeup_int)");
5648    println!("cargo:rustc-check-cfg=cfg(gpio_support_deepsleep_wakeup)");
5649    println!("cargo:rustc-check-cfg=cfg(assist_debug_driver_supported)");
5650    println!("cargo:rustc-check-cfg=cfg(dedicated_gpio_driver_supported)");
5651    println!("cargo:rustc-check-cfg=cfg(ecc_driver_supported)");
5652    println!("cargo:rustc-check-cfg=cfg(systimer_driver_supported)");
5653    println!("cargo:rustc-check-cfg=cfg(assist_debug_has_sp_monitor)");
5654    println!("cargo:rustc-check-cfg=cfg(dma_supports_mem2mem)");
5655    println!("cargo:rustc-check-cfg=cfg(dma_max_priority_is_set)");
5656    println!("cargo:rustc-check-cfg=cfg(dma_gdma_version_is_set)");
5657    println!("cargo:rustc-check-cfg=cfg(ecc_zero_extend_writes)");
5658    println!("cargo:rustc-check-cfg=cfg(ecc_has_finite_field_division)");
5659    println!("cargo:rustc-check-cfg=cfg(ecc_has_curve_p192)");
5660    println!("cargo:rustc-check-cfg=cfg(ecc_has_curve_p256)");
5661    println!("cargo:rustc-check-cfg=cfg(i2c_master_has_fsm_timeouts)");
5662    println!("cargo:rustc-check-cfg=cfg(i2c_master_has_hw_bus_clear)");
5663    println!("cargo:rustc-check-cfg=cfg(i2c_master_has_bus_timeout_enable)");
5664    println!("cargo:rustc-check-cfg=cfg(i2c_master_has_conf_update)");
5665    println!("cargo:rustc-check-cfg=cfg(i2c_master_has_arbitration_en)");
5666    println!("cargo:rustc-check-cfg=cfg(i2c_master_has_tx_fifo_watermark)");
5667    println!("cargo:rustc-check-cfg=cfg(i2c_master_bus_timeout_is_exponential)");
5668    println!("cargo:rustc-check-cfg=cfg(sha_dma)");
5669    println!("cargo:rustc-check-cfg=cfg(soc_cpu_has_csr_pc)");
5670    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_osc_slow_clk)");
5671    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_system_pre_div_in)");
5672    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_system_pre_div)");
5673    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_40m)");
5674    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_60m)");
5675    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_80m)");
5676    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_cpu_div2)");
5677    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_crypto_clk)");
5678    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_mspi_clk)");
5679    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_rc_fast_clk_div_n)");
5680    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_low_power_clk)");
5681    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_timg_function_clock)");
5682    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_timg_wdt_clock)");
5683    println!("cargo:rustc-check-cfg=cfg(spi_master_has_app_interrupts)");
5684    println!("cargo:rustc-check-cfg=cfg(spi_master_has_dma_segmented_transfer)");
5685    println!("cargo:rustc-check-cfg=cfg(timergroup_timg_has_divcnt_rst)");
5686    println!("cargo:rustc-check-cfg=cfg(uart_has_sclk_divider)");
5687    println!("cargo:rustc-check-cfg=cfg(esp32c3)");
5688    println!("cargo:rustc-check-cfg=cfg(soc_has_ds)");
5689    println!("cargo:rustc-check-cfg=cfg(soc_has_fe)");
5690    println!("cargo:rustc-check-cfg=cfg(soc_has_fe2)");
5691    println!("cargo:rustc-check-cfg=cfg(soc_has_hmac)");
5692    println!("cargo:rustc-check-cfg=cfg(soc_has_usb_device)");
5693    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch1)");
5694    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch2)");
5695    println!("cargo:rustc-check-cfg=cfg(soc_has_tsens)");
5696    println!("cargo:rustc-check-cfg=cfg(hmac_driver_supported)");
5697    println!("cargo:rustc-check-cfg=cfg(uhci_driver_supported)");
5698    println!("cargo:rustc-check-cfg=cfg(usb_serial_jtag_driver_supported)");
5699    println!("cargo:rustc-check-cfg=cfg(aes_dma)");
5700    println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_ecb)");
5701    println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_cbc)");
5702    println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_ofb)");
5703    println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_ctr)");
5704    println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_cfb8)");
5705    println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_cfb128)");
5706    println!("cargo:rustc-check-cfg=cfg(aes_has_split_text_registers)");
5707    println!("cargo:rustc-check-cfg=cfg(assist_debug_has_region_monitor)");
5708    println!("cargo:rustc-check-cfg=cfg(phy_backed_up_digital_register_count_is_set)");
5709    println!("cargo:rustc-check-cfg=cfg(rmt_has_tx_immediate_stop)");
5710    println!("cargo:rustc-check-cfg=cfg(rmt_has_tx_loop_count)");
5711    println!("cargo:rustc-check-cfg=cfg(rmt_has_tx_carrier_data_only)");
5712    println!("cargo:rustc-check-cfg=cfg(rmt_has_tx_sync)");
5713    println!("cargo:rustc-check-cfg=cfg(rmt_has_rx_wrap)");
5714    println!("cargo:rustc-check-cfg=cfg(rmt_has_rx_demodulation)");
5715    println!("cargo:rustc-check-cfg=cfg(rmt_supports_none_clock)");
5716    println!("cargo:rustc-check-cfg=cfg(rmt_supports_rcfast_clock)");
5717    println!("cargo:rustc-check-cfg=cfg(rmt_supports_xtal_clock)");
5718    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_cpu_pll_div_out)");
5719    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_160m)");
5720    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_rmt_sclk)");
5721    println!("cargo:rustc-check-cfg=cfg(esp32c5)");
5722    println!("cargo:rustc-check-cfg=cfg(soc_has_cache)");
5723    println!("cargo:rustc-check-cfg=cfg(soc_has_clint)");
5724    println!("cargo:rustc-check-cfg=cfg(soc_has_ecdsa)");
5725    println!("cargo:rustc-check-cfg=cfg(soc_has_etm)");
5726    println!("cargo:rustc-check-cfg=cfg(soc_has_hp_apm)");
5727    println!("cargo:rustc-check-cfg=cfg(soc_has_hp_sys)");
5728    println!("cargo:rustc-check-cfg=cfg(soc_has_huk)");
5729    println!("cargo:rustc-check-cfg=cfg(soc_has_ieee802154)");
5730    println!("cargo:rustc-check-cfg=cfg(soc_has_intpri)");
5731    println!("cargo:rustc-check-cfg=cfg(soc_has_keymng)");
5732    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_ana)");
5733    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_aon)");
5734    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_apm0)");
5735    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_clkrst)");
5736    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_i2c_ana_mst)");
5737    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_io_mux)");
5738    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_peri)");
5739    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_tee)");
5740    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_timer)");
5741    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_uart)");
5742    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_wdt)");
5743    println!("cargo:rustc-check-cfg=cfg(soc_has_mem_monitor)");
5744    println!("cargo:rustc-check-cfg=cfg(soc_has_modem_lpcon)");
5745    println!("cargo:rustc-check-cfg=cfg(soc_has_modem_syscon)");
5746    println!("cargo:rustc-check-cfg=cfg(soc_has_parl_io)");
5747    println!("cargo:rustc-check-cfg=cfg(soc_has_pau)");
5748    println!("cargo:rustc-check-cfg=cfg(soc_has_pcr)");
5749    println!("cargo:rustc-check-cfg=cfg(soc_has_pmu)");
5750    println!("cargo:rustc-check-cfg=cfg(soc_has_pvt_monitor)");
5751    println!("cargo:rustc-check-cfg=cfg(soc_has_tee)");
5752    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_core)");
5753    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem0)");
5754    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem1)");
5755    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem2)");
5756    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem3)");
5757    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem4)");
5758    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem5)");
5759    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem6)");
5760    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem7)");
5761    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem8)");
5762    println!("cargo:rustc-check-cfg=cfg(ieee802154_driver_supported)");
5763    println!("cargo:rustc-check-cfg=cfg(lp_i2c_master_driver_supported)");
5764    println!("cargo:rustc-check-cfg=cfg(parl_io_driver_supported)");
5765    println!("cargo:rustc-check-cfg=cfg(dma_can_access_psram)");
5766    println!("cargo:rustc-check-cfg=cfg(dma_separate_in_out_interrupts)");
5767    println!("cargo:rustc-check-cfg=cfg(ecc_separate_jacobian_point_memory)");
5768    println!("cargo:rustc-check-cfg=cfg(ecc_has_memory_clock_gate)");
5769    println!("cargo:rustc-check-cfg=cfg(ecc_supports_enhanced_security)");
5770    println!("cargo:rustc-check-cfg=cfg(ecc_has_modular_arithmetic)");
5771    println!("cargo:rustc-check-cfg=cfg(ecc_has_point_addition)");
5772    println!("cargo:rustc-check-cfg=cfg(ecc_has_curve_p384)");
5773    println!("cargo:rustc-check-cfg=cfg(i2c_master_can_estimate_nack_reason)");
5774    println!("cargo:rustc-check-cfg=cfg(i2c_master_has_reliable_fsm_reset)");
5775    println!("cargo:rustc-check-cfg=cfg(rmt_has_tx_loop_auto_stop)");
5776    println!("cargo:rustc-check-cfg=cfg(rmt_supports_pll80mhz_clock)");
5777    println!("cargo:rustc-check-cfg=cfg(soc_cpu_has_branch_predictor)");
5778    println!("cargo:rustc-check-cfg=cfg(soc_cpu_csr_prv_mode_is_set)");
5779    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f12m)");
5780    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f20m)");
5781    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f40m)");
5782    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f48m)");
5783    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f60m)");
5784    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f80m)");
5785    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f120m)");
5786    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f160m)");
5787    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f240m)");
5788    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_hp_root_clk)");
5789    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_ahb_clk)");
5790    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_xtal_d2_clk)");
5791    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_lp_fast_clk)");
5792    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_lp_slow_clk)");
5793    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_parl_io_rx_clock)");
5794    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_parl_io_tx_clock)");
5795    println!("cargo:rustc-check-cfg=cfg(spi_master_has_clk_pre_div)");
5796    println!("cargo:rustc-check-cfg=cfg(uart_peripheral_controls_mem_clk)");
5797    println!("cargo:rustc-check-cfg=cfg(uhci_combined_uart_selector_field)");
5798    println!("cargo:rustc-check-cfg=cfg(wifi_has_5g)");
5799    println!("cargo:rustc-check-cfg=cfg(esp32c6)");
5800    println!("cargo:rustc-check-cfg=cfg(soc_has_atomic)");
5801    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_apm)");
5802    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_i2c0)");
5803    println!("cargo:rustc-check-cfg=cfg(soc_has_lp_io)");
5804    println!("cargo:rustc-check-cfg=cfg(soc_has_otp_debug)");
5805    println!("cargo:rustc-check-cfg=cfg(soc_has_plic_mx)");
5806    println!("cargo:rustc-check-cfg=cfg(soc_has_trace0)");
5807    println!("cargo:rustc-check-cfg=cfg(soc_has_twai1)");
5808    println!("cargo:rustc-check-cfg=cfg(lp_core)");
5809    println!("cargo:rustc-check-cfg=cfg(pm_support_beacon_wakeup)");
5810    println!("cargo:rustc-check-cfg=cfg(etm_driver_supported)");
5811    println!("cargo:rustc-check-cfg=cfg(lp_uart_driver_supported)");
5812    println!("cargo:rustc-check-cfg=cfg(ulp_riscv_driver_supported)");
5813    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_soc_root_clk)");
5814    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_cpu_hs_div)");
5815    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_cpu_ls_div)");
5816    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_ahb_hs_div)");
5817    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_ahb_ls_div)");
5818    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_mspi_fast_hs_clk)");
5819    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_mspi_fast_ls_clk)");
5820    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_mspi_fast_clk)");
5821    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_ledc_sclk)");
5822    println!("cargo:rustc-check-cfg=cfg(timergroup_rc_fast_calibration_divider)");
5823    println!("cargo:rustc-check-cfg=cfg(wifi_has_wifi6)");
5824    println!("cargo:rustc-check-cfg=cfg(esp32c61)");
5825    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem9)");
5826    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem10)");
5827    println!("cargo:rustc-check-cfg=cfg(soc_has_mem2mem11)");
5828    println!("cargo:rustc-check-cfg=cfg(esp32h2)");
5829    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f96m_clk)");
5830    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f64m_clk)");
5831    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_f48m_clk)");
5832    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_lp_clk)");
5833    println!("cargo:rustc-check-cfg=cfg(timergroup_rc_fast_calibration_tick_enable)");
5834    println!("cargo:rustc-check-cfg=cfg(esp32s2)");
5835    println!("cargo:rustc-check-cfg=cfg(soc_has_dedicated_gpio)");
5836    println!("cargo:rustc-check-cfg=cfg(soc_has_pms)");
5837    println!("cargo:rustc-check-cfg=cfg(soc_has_syscon)");
5838    println!("cargo:rustc-check-cfg=cfg(soc_has_usb0)");
5839    println!("cargo:rustc-check-cfg=cfg(soc_has_usb_wrap)");
5840    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_crypto)");
5841    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_copy)");
5842    println!("cargo:rustc-check-cfg=cfg(soc_has_ulp_riscv_core)");
5843    println!("cargo:rustc-check-cfg=cfg(ulp_riscv_core)");
5844    println!("cargo:rustc-check-cfg=cfg(riscv_coproc_supported)");
5845    println!("cargo:rustc-check-cfg=cfg(usb_otg_driver_supported)");
5846    println!("cargo:rustc-check-cfg=cfg(aes_dma_mode_gcm)");
5847    println!("cargo:rustc-check-cfg=cfg(dedicated_gpio_needs_initialization)");
5848    println!("cargo:rustc-check-cfg=cfg(dma_ext_mem_configurable_block_size)");
5849    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_ref_tick_ck8m)");
5850    println!("cargo:rustc-check-cfg=cfg(spi_master_has_octal)");
5851    println!("cargo:rustc-check-cfg=cfg(esp32s3)");
5852    println!("cargo:rustc-check-cfg=cfg(soc_has_interrupt_core1)");
5853    println!("cargo:rustc-check-cfg=cfg(soc_has_lcd_cam)");
5854    println!("cargo:rustc-check-cfg=cfg(soc_has_peri_backup)");
5855    println!("cargo:rustc-check-cfg=cfg(soc_has_rtc_cntl)");
5856    println!("cargo:rustc-check-cfg=cfg(soc_has_wcl)");
5857    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch3)");
5858    println!("cargo:rustc-check-cfg=cfg(soc_has_dma_ch4)");
5859    println!("cargo:rustc-check-cfg=cfg(camera_driver_supported)");
5860    println!("cargo:rustc-check-cfg=cfg(psram_octal_spi)");
5861    println!("cargo:rustc-check-cfg=cfg(rmt_has_dma)");
5862    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_pll_d2)");
5863    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_apb_80m)");
5864    println!("cargo:rustc-check-cfg=cfg(soc_has_clock_node_crypto_pwm_clk)");
5865    println!("cargo:rustc-check-cfg=cfg(bt_controller, values(\"btdm\",\"npl\"))");
5866    println!("cargo:rustc-check-cfg=cfg(dma_kind, values(\"pdma\",\"gdma\"))");
5867    println!("cargo:rustc-check-cfg=cfg(gpio_gpio_function, values(\"2\",\"1\"))");
5868    println!(
5869        "cargo:rustc-check-cfg=cfg(gpio_constant_0_input, values(\"48\",\"31\",\"96\",\"60\"))"
5870    );
5871    println!("cargo:rustc-check-cfg=cfg(gpio_constant_1_input, values(\"56\",\"30\",\"64\"))");
5872    println!("cargo:rustc-check-cfg=cfg(gpio_func_in_sel_offset, values(\"0\"))");
5873    println!(
5874        "cargo:rustc-check-cfg=cfg(gpio_input_signal_max, \
5875         values(\"206\",\"100\",\"116\",\"124\",\"242\",\"255\"))"
5876    );
5877    println!("cargo:rustc-check-cfg=cfg(gpio_output_signal_max, values(\"256\",\"128\"))");
5878    println!(
5879        "cargo:rustc-check-cfg=cfg(i2c_master_i2c0_data_register_ahb_address, \
5880         values(\"1610690588\"))"
5881    );
5882    println!(
5883        "cargo:rustc-check-cfg=cfg(i2c_master_max_bus_timeout, \
5884         values(\"1048575\",\"31\",\"16777215\"))"
5885    );
5886    println!("cargo:rustc-check-cfg=cfg(i2c_master_ll_intr_mask, values(\"262143\",\"131071\"))");
5887    println!("cargo:rustc-check-cfg=cfg(i2c_master_fifo_size, values(\"32\",\"16\"))");
5888    println!("cargo:rustc-check-cfg=cfg(interrupts_status_registers, values(\"3\",\"2\",\"4\"))");
5889    println!(
5890        "cargo:rustc-check-cfg=cfg(interrupt_controller, \
5891         values(\"xtensa\",\"riscv_basic\",\"clic\",\"plic\"))"
5892    );
5893    println!(
5894        "cargo:rustc-check-cfg=cfg(psram_extmem_origin, \
5895         values(\"1065353216\",\"1107296256\",\"1062207488\",\"1006632960\"))"
5896    );
5897    println!(
5898        "cargo:rustc-check-cfg=cfg(rmt_ram_start, \
5899         values(\"1073047552\",\"1610703872\",\"1610638336\",\"1610642432\",\"1061250048\",\"\
5900         1610704896\"))"
5901    );
5902    println!("cargo:rustc-check-cfg=cfg(rmt_channel_ram_size, values(\"64\",\"48\"))");
5903    println!("cargo:rustc-check-cfg=cfg(rng_apb_cycle_wait_num, values(\"16\"))");
5904    println!("cargo:rustc-check-cfg=cfg(rsa_size_increment, values(\"512\",\"32\"))");
5905    println!("cargo:rustc-check-cfg=cfg(rsa_memory_size_bytes, values(\"512\",\"384\"))");
5906    println!(
5907        "cargo:rustc-check-cfg=cfg(soc_rc_fast_clk_default, values(\"8500000\",\"17500000\"))"
5908    );
5909    println!("cargo:rustc-check-cfg=cfg(uart_ram_size, values(\"128\"))");
5910    println!("cargo:rustc-check-cfg=cfg(wifi_mac_version, values(\"1\",\"3\",\"2\"))");
5911    println!("cargo:rustc-check-cfg=cfg(dma_max_priority, values(\"9\",\"5\"))");
5912    println!("cargo:rustc-check-cfg=cfg(dma_gdma_version, values(\"1\",\"2\"))");
5913    println!("cargo:rustc-check-cfg=cfg(phy_backed_up_digital_register_count, values(\"21\"))");
5914    println!("cargo:rustc-check-cfg=cfg(lp_i2c_master_fifo_size, values(\"16\"))");
5915    println!("cargo:rustc-check-cfg=cfg(lp_uart_ram_size, values(\"32\"))");
5916    println!("cargo:rustc-check-cfg=cfg(parl_io_version, values(\"2\",\"1\"))");
5917    println!("cargo:rustc-check-cfg=cfg(soc_cpu_csr_prv_mode, values(\"2064\",\"3088\"))");
5918}