1#[doc = "Register `HOST_IOT_KDR0` reader"]
2pub struct R(crate::R<HOST_IOT_KDR0_SPEC>);
3impl core::ops::Deref for R {
4type Target = crate::R<HOST_IOT_KDR0_SPEC>;
5#[inline(always)]
6fn deref(&self) -> &Self::Target {
7&self.0
8}
9}
10impl From<crate::R<HOST_IOT_KDR0_SPEC>> for R {
11#[inline(always)]
12fn from(reader: crate::R<HOST_IOT_KDR0_SPEC>) -> Self {
13 R(reader)
14 }
15}
16#[doc = "Register `HOST_IOT_KDR0` writer"]
17pub struct W(crate::W<HOST_IOT_KDR0_SPEC>);
18impl core::ops::Deref for W {
19type Target = crate::W<HOST_IOT_KDR0_SPEC>;
20#[inline(always)]
21fn deref(&self) -> &Self::Target {
22&self.0
23}
24}
25impl core::ops::DerefMut for W {
26#[inline(always)]
27fn deref_mut(&mut self) -> &mut Self::Target {
28&mut self.0
29}
30}
31impl From<crate::W<HOST_IOT_KDR0_SPEC>> for W {
32#[inline(always)]
33fn from(writer: crate::W<HOST_IOT_KDR0_SPEC>) -> Self {
34 W(writer)
35 }
36}
37#[doc = "Field `HOST_IOT_KDR0` reader - Write: K_DR bits 31:0 Read: 0x00000000 when 128-bit K_DR key value is not yet retained in the CRYPTOCELL AO power domain Read: 0x00000001 when 128-bit K_DR key value is successfully retained in the CRYPTOCELL AO power domain"]
38pub type HOST_IOT_KDR0_R = crate::FieldReader<u32, u32>;
39#[doc = "Field `HOST_IOT_KDR0` writer - Write: K_DR bits 31:0 Read: 0x00000000 when 128-bit K_DR key value is not yet retained in the CRYPTOCELL AO power domain Read: 0x00000001 when 128-bit K_DR key value is successfully retained in the CRYPTOCELL AO power domain"]
40pub type HOST_IOT_KDR0_W<'a, const O: u8> =
41crate::FieldWriter<'a, u32, HOST_IOT_KDR0_SPEC, u32, u32, 32, O>;
42impl R {
43#[doc = "Bits 0:31 - Write: K_DR bits 31:0 Read: 0x00000000 when 128-bit K_DR key value is not yet retained in the CRYPTOCELL AO power domain Read: 0x00000001 when 128-bit K_DR key value is successfully retained in the CRYPTOCELL AO power domain"]
44 #[inline(always)]
45pub fn host_iot_kdr0(&self) -> HOST_IOT_KDR0_R {
46 HOST_IOT_KDR0_R::new(self.bits)
47 }
48}
49impl W {
50#[doc = "Bits 0:31 - Write: K_DR bits 31:0 Read: 0x00000000 when 128-bit K_DR key value is not yet retained in the CRYPTOCELL AO power domain Read: 0x00000001 when 128-bit K_DR key value is successfully retained in the CRYPTOCELL AO power domain"]
51 #[inline(always)]
52pub fn host_iot_kdr0(&mut self) -> HOST_IOT_KDR0_W<0> {
53 HOST_IOT_KDR0_W::new(self)
54 }
55#[doc = "Writes raw bits to the register."]
56 #[inline(always)]
57pub unsafe fn bits(&mut self, bits: u32) -> &mut Self {
58self.0.bits(bits);
59self
60}
61}
62#[doc = "This register holds bits 31:0 of K_DR. The value of this register is saved in the CRYPTOCELL AO power domain. Reading from this address returns the K_DR valid status indicating if K_DR is successfully retained.\n\nThis register you can [`read`](crate::generic::Reg::read), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [host_iot_kdr0](index.html) module"]
63pub struct HOST_IOT_KDR0_SPEC;
64impl crate::RegisterSpec for HOST_IOT_KDR0_SPEC {
65type Ux = u32;
66}
67#[doc = "`read()` method returns [host_iot_kdr0::R](R) reader structure"]
68impl crate::Readable for HOST_IOT_KDR0_SPEC {
69type Reader = R;
70}
71#[doc = "`write(|w| ..)` method takes [host_iot_kdr0::W](W) writer structure"]
72impl crate::Writable for HOST_IOT_KDR0_SPEC {
73type Writer = W;
74}
75#[doc = "`reset()` method sets HOST_IOT_KDR0 to value 0"]
76impl crate::Resettable for HOST_IOT_KDR0_SPEC {
77#[inline(always)]
78fn reset_value() -> Self::Ux {
790
80}
81}