esp_hal/soc/
psram_common.rs1#[derive(Copy, Clone, Debug, Default, PartialEq)]
5#[cfg_attr(feature = "defmt", derive(defmt::Format))]
6pub enum PsramSize {
7 #[default]
9 AutoDetect,
10 Size(usize),
12}
13
14impl PsramSize {
15 pub(crate) fn get(&self) -> usize {
16 match self {
17 PsramSize::AutoDetect => 0,
18 PsramSize::Size(size) => *size,
19 }
20 }
21
22 pub(crate) fn is_auto(&self) -> bool {
23 matches!(self, PsramSize::AutoDetect)
24 }
25}
26
27#[cfg(feature = "psram")]
29pub fn psram_raw_parts(_psram: &crate::peripherals::PSRAM<'_>) -> (*mut u8, usize) {
30 let range = crate::soc::psram_range();
31 (range.start as *mut u8, range.end - range.start)
32}