diff --git a/esp-hal/CHANGELOG.md b/esp-hal/CHANGELOG.md index 0a08a743846..b6e4213e8cb 100644 --- a/esp-hal/CHANGELOG.md +++ b/esp-hal/CHANGELOG.md @@ -32,6 +32,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - SPI: Clear DMA interrupts before (not after) DMA starts (#1859) - SPI: disable and re-enable MISO and MOSI in `start_transfer_dma`, `start_read_bytes_dma` and `start_write_bytes_dma` accordingly (#1894) - TWAI: GPIO pins are not configured as input and output (#1906) +- ESP32C6: Make ADC usable after TRNG deinicialization (#1945) ### Removed diff --git a/esp-hal/src/rng.rs b/esp-hal/src/rng.rs index 96e594c0656..5ec8157b0a8 100644 --- a/esp-hal/src/rng.rs +++ b/esp-hal/src/rng.rs @@ -152,7 +152,7 @@ impl rand_core::RngCore for Rng { /// let mut trng = Trng::new(peripherals.RNG, &mut peripherals.ADC1); /// trng.read(&mut buf); /// let mut true_rand = trng.random(); -#[cfg_attr(not(esp32c6), doc = "let mut rng = trng.downgrade();")] +/// let mut rng = trng.downgrade(); /// // ADC is available now #[cfg_attr(esp32, doc = "let analog_pin = io.pins.gpio32;")] #[cfg_attr(not(esp32), doc = "let analog_pin = io.pins.gpio3;")] @@ -161,8 +161,8 @@ impl rand_core::RngCore for Rng { /// Attenuation::Attenuation11dB); let mut adc1 = /// Adc::::new(peripherals.ADC1, adc1_config); let pin_value: u16 = /// nb::block!(adc1.read_oneshot(&mut adc1_pin)).unwrap(); -#[cfg_attr(not(esp32c6), doc = "rng.read(&mut buf);")] -#[cfg_attr(not(esp32c6), doc = "true_rand = rng.random();")] +/// rng.read(&mut buf); +/// true_rand = rng.random(); /// let pin_value: u16 = nb::block!(adc1.read_oneshot(&mut adc1_pin)).unwrap(); /// # } /// ``` @@ -208,15 +208,11 @@ impl<'d> Trng<'d> { /// Downgrades the `Trng` instance to a `Rng` instance and releases the /// ADC1. - /// For esp32c6 - blocked on - #[cfg(not(esp32c6))] pub fn downgrade(self) -> Rng { self.rng } } -/// For esp32c6 - blocked on -#[cfg(not(esp32c6))] impl<'d> Drop for Trng<'d> { fn drop(&mut self) { crate::soc::trng::revert_trng(); diff --git a/esp-hal/src/soc/esp32c6/trng.rs b/esp-hal/src/soc/esp32c6/trng.rs index c08b363e2fd..cfe6e75daf7 100644 --- a/esp-hal/src/soc/esp32c6/trng.rs +++ b/esp-hal/src/soc/esp32c6/trng.rs @@ -273,8 +273,6 @@ pub(crate) fn revert_trng() { 0, ); - pmu.rf_pwc().modify(|_, w| w.perif_i2c_rstb().clear_bit()); - pcr.saradc_clkm_conf().modify(|_, w| w.bits(0x00404000)); pcr.saradc_conf().modify(|_, w| w.bits(0x5));