cortex_ar/register/
pmswinc.rs

1//! Code for managing PMSWINC (*Performance Monitors Software Increment Register*)
2
3use crate::register::{SysReg, SysRegWrite};
4
5/// PMSWINC (*Performance Monitors Software Increment Register*)
6#[derive(Debug, Clone, Copy)]
7#[cfg_attr(feature = "defmt", derive(defmt::Format))]
8#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
9pub struct Pmswinc(pub u32);
10impl SysReg for Pmswinc {
11    const CP: u32 = 15;
12    const CRN: u32 = 9;
13    const OP1: u32 = 0;
14    const CRM: u32 = 12;
15    const OP2: u32 = 4;
16}
17impl crate::register::SysRegWrite for Pmswinc {}
18impl Pmswinc {
19    #[inline]
20    /// Writes PMSWINC (*Performance Monitors Software Increment Register*)
21    ///
22    /// # Safety
23    ///
24    /// Ensure that this value is appropriate for this register
25    pub unsafe fn write(value: Self) {
26        unsafe {
27            <Self as SysRegWrite>::write_raw(value.0);
28        }
29    }
30}