pub fn async_mode(
        touch_peripheral: TOUCH<'d>,
        rtc: &mut Rtc<'_>,
        config: Option<TouchConfig>,
    ) -> Self {
        Self::initialize_common_continuous(config);

        rtc.set_interrupt_handler(asynch::handle_touch_interrupt);

        Self {
            _inner: touch_peripheral,
            _mode: PhantomData,
            _touch_mode: PhantomData,
        }
    }
# use esp_hal::rtc_cntl::Rtc;
# use esp_hal::touch::{Touch, TouchConfig};
let mut rtc = Rtc::new(peripherals.LPWR);
let touch = Touch::async_mode(peripherals.TOUCH, &mut rtc, None);
# Ok(())
# }
```
esp-hal/src/touch.rs