#![allow(clippy::identity_op)]
#![allow(clippy::module_inception)]
#![allow(clippy::derivable_impls)]
#[allow(unused_imports)]
use crate::common::sealed;
#[allow(unused_imports)]
use crate::common::*;
#[doc = r"SYSTEM/FLASH"]
unsafe impl ::core::marker::Send for super::FcacheNs {}
unsafe impl ::core::marker::Sync for super::FcacheNs {}
impl super::FcacheNs {
#[allow(unused)]
#[inline(always)]
pub(crate) const fn _svd2pac_as_ptr(&self) -> *mut u8 {
self.ptr
}
#[doc = "Flash Security Attribution Register"]
#[inline(always)]
pub const fn fsar(&self) -> &'static crate::common::Reg<self::Fsar_SPEC, crate::common::RW> {
unsafe {
crate::common::Reg::<self::Fsar_SPEC, crate::common::RW>::from_ptr(
self._svd2pac_as_ptr().add(64usize),
)
}
}
}
#[doc(hidden)]
#[derive(Copy, Clone, Eq, PartialEq)]
pub struct Fsar_SPEC;
impl crate::sealed::RegSpec for Fsar_SPEC {
type DataType = u16;
}
#[doc = "Flash Security Attribution Register"]
pub type Fsar = crate::RegValueT<Fsar_SPEC>;
impl Fsar {
#[doc = "FLWT Security Attribution"]
#[inline(always)]
pub fn flwtsa(
self,
) -> crate::common::RegisterField<
0,
0x1,
1,
0,
fsar::Flwtsa,
fsar::Flwtsa,
Fsar_SPEC,
crate::common::RW,
> {
crate::common::RegisterField::<
0,
0x1,
1,
0,
fsar::Flwtsa,
fsar::Flwtsa,
Fsar_SPEC,
crate::common::RW,
>::from_register(self, 0)
}
#[doc = "FCHACHEEN Security Attribution"]
#[inline(always)]
pub fn fcachesa(
self,
) -> crate::common::RegisterField<
1,
0x1,
1,
0,
fsar::Fcachesa,
fsar::Fcachesa,
Fsar_SPEC,
crate::common::RW,
> {
crate::common::RegisterField::<
1,
0x1,
1,
0,
fsar::Fcachesa,
fsar::Fcachesa,
Fsar_SPEC,
crate::common::RW,
>::from_register(self, 0)
}
#[doc = "FCKMHZ Security Attribution"]
#[inline(always)]
pub fn fckmhzsa(
self,
) -> crate::common::RegisterField<
8,
0x1,
1,
0,
fsar::Fckmhzsa,
fsar::Fckmhzsa,
Fsar_SPEC,
crate::common::RW,
> {
crate::common::RegisterField::<
8,
0x1,
1,
0,
fsar::Fckmhzsa,
fsar::Fckmhzsa,
Fsar_SPEC,
crate::common::RW,
>::from_register(self, 0)
}
#[doc = "FACI command Issuing Security Attribution"]
#[inline(always)]
pub fn facicmisa(
self,
) -> crate::common::RegisterField<
9,
0x1,
1,
0,
fsar::Facicmisa,
fsar::Facicmisa,
Fsar_SPEC,
crate::common::RW,
> {
crate::common::RegisterField::<
9,
0x1,
1,
0,
fsar::Facicmisa,
fsar::Facicmisa,
Fsar_SPEC,
crate::common::RW,
>::from_register(self, 0)
}
#[doc = "FACI command Registers Security Attribution"]
#[inline(always)]
pub fn facicmrsa(
self,
) -> crate::common::RegisterField<
10,
0x1,
1,
0,
fsar::Facicmrsa,
fsar::Facicmrsa,
Fsar_SPEC,
crate::common::RW,
> {
crate::common::RegisterField::<
10,
0x1,
1,
0,
fsar::Facicmrsa,
fsar::Facicmrsa,
Fsar_SPEC,
crate::common::RW,
>::from_register(self, 0)
}
}
impl ::core::default::Default for Fsar {
#[inline(always)]
fn default() -> Fsar {
<crate::RegValueT<Fsar_SPEC> as RegisterValue<_>>::new(0)
}
}
pub mod fsar {
#[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
pub struct Flwtsa_SPEC;
pub type Flwtsa = crate::EnumBitfieldStruct<u8, Flwtsa_SPEC>;
impl Flwtsa {
#[doc = "Secure"]
pub const _0: Self = Self::new(0);
#[doc = "Non-secure"]
pub const _1: Self = Self::new(1);
}
#[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
pub struct Fcachesa_SPEC;
pub type Fcachesa = crate::EnumBitfieldStruct<u8, Fcachesa_SPEC>;
impl Fcachesa {
#[doc = "Secure"]
pub const _0: Self = Self::new(0);
#[doc = "Non-secure"]
pub const _1: Self = Self::new(1);
}
#[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
pub struct Fckmhzsa_SPEC;
pub type Fckmhzsa = crate::EnumBitfieldStruct<u8, Fckmhzsa_SPEC>;
impl Fckmhzsa {
#[doc = "Secure"]
pub const _0: Self = Self::new(0);
#[doc = "Non-secure"]
pub const _1: Self = Self::new(1);
}
#[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
pub struct Facicmisa_SPEC;
pub type Facicmisa = crate::EnumBitfieldStruct<u8, Facicmisa_SPEC>;
impl Facicmisa {
#[doc = "Secure"]
pub const _0: Self = Self::new(0);
#[doc = "Non-secure"]
pub const _1: Self = Self::new(1);
}
#[derive(Clone, Copy, Eq, PartialEq, Ord, PartialOrd)]
pub struct Facicmrsa_SPEC;
pub type Facicmrsa = crate::EnumBitfieldStruct<u8, Facicmrsa_SPEC>;
impl Facicmrsa {
#[doc = "Secure"]
pub const _0: Self = Self::new(0);
#[doc = "Non-secure"]
pub const _1: Self = Self::new(1);
}
}