1#[doc(alias = "master")]
4pub mod main;
5
6use ariel_os_embassy_common::spi::{BitOrder, Mode};
7
8fn from_mode(mode: Mode) -> embassy_nrf::spim::Mode {
9 match mode {
10 Mode::Mode0 => embassy_nrf::spim::MODE_0,
11 Mode::Mode1 => embassy_nrf::spim::MODE_1,
12 Mode::Mode2 => embassy_nrf::spim::MODE_2,
13 Mode::Mode3 => embassy_nrf::spim::MODE_3,
14 }
15}
16
17fn from_bit_order(bit_order: BitOrder) -> embassy_nrf::spim::BitOrder {
18 match bit_order {
19 BitOrder::MsbFirst => embassy_nrf::spim::BitOrder::MSB_FIRST,
20 BitOrder::LsbFirst => embassy_nrf::spim::BitOrder::LSB_FIRST,
21 }
22}
23
24#[doc(hidden)]
25pub fn init(peripherals: &mut crate::OptionalPeripherals) {
26 cfg_if::cfg_if! {
28 if #[cfg(context = "nrf52833")] {
29 let _ = peripherals.SPI3.take().unwrap();
30 } else if #[cfg(context = "nrf52840")] {
31 let _ = peripherals.SPI2.take().unwrap();
32 let _ = peripherals.SPI3.take().unwrap();
33 } else if #[cfg(context = "nrf5340")] {
34 let _ = peripherals.SERIAL2.take().unwrap();
35 } else if #[cfg(context = "nrf91")] {
38 let _ = peripherals.SERIAL2.take().unwrap();
39 } else {
42 compile_error!("this nRF chip is not supported");
43 }
44 }
45}