if async:

```rust
let spi = Mutex::<NoopRawMutex, _>::new(Spim::new_txonly(
    p.TWISPI0,
    Irqs,
    clk,
    din,
    spim::Config::default(),
));

let mut spi = SpiDevice::new(&spi, Output::new(csn, Level::High, OutputDrive::Standard));

let mut display = Epd4in2::new(
    &mut spi,
    Input::new(bsy, Pull::None),
    Output::new(dcx, Level::High, OutputDrive::Standard),
    Output::new(rst, Level::High, OutputDrive::Standard),
    &mut Delay,
    None,
)
.await
.unwrap();
```