1#[doc(alias = "master")]
4pub mod main;
5
6use ariel_os_embassy_common::spi::{BitOrder, Mode};
7
8fn from_mode(mode: Mode) -> esp_hal::spi::Mode {
9 match mode {
10 Mode::Mode0 => esp_hal::spi::Mode::_0,
11 Mode::Mode1 => esp_hal::spi::Mode::_1,
12 Mode::Mode2 => esp_hal::spi::Mode::_2,
13 Mode::Mode3 => esp_hal::spi::Mode::_3,
14 }
15}
16
17fn from_bit_order(bit_order: BitOrder) -> esp_hal::spi::BitOrder {
18 match bit_order {
19 BitOrder::MsbFirst => esp_hal::spi::BitOrder::MsbFirst,
20 BitOrder::LsbFirst => esp_hal::spi::BitOrder::LsbFirst,
21 }
22}
23
24#[doc(hidden)]
25pub fn init(peripherals: &mut crate::OptionalPeripherals) {
26 cfg_select! {
28 context = "esp32" => {
29 let _ = peripherals.SPI2.take().unwrap();
30 let _ = peripherals.SPI3.take().unwrap();
31 }
32 context = "esp32c2" => {
33 let _ = peripherals.SPI2.take().unwrap();
34 }
35 context = "esp32c3" => {
36 let _ = peripherals.SPI2.take().unwrap();
37 }
38 context = "esp32c6" => {
39 let _ = peripherals.SPI2.take().unwrap();
40 }
41 context = "esp32h2" => {
42 let _ = peripherals.SPI2.take().unwrap();
43 }
44 context = "esp32s2" => {
45 let _ = peripherals.SPI2.take().unwrap();
46 let _ = peripherals.SPI3.take().unwrap();
47 }
48 context = "esp32s3" => {
49 let _ = peripherals.SPI2.take().unwrap();
50 let _ = peripherals.SPI3.take().unwrap();
51 }
52 _ => {
53 compile_error!("this ESP32 chip is not supported");
54 }
55 }
56}