lowrisc/registers/
aon_timer_regs.rs1use kernel::utilities::registers::ReadWrite;
13use kernel::utilities::registers::{register_bitfields, register_structs};
14pub const AON_TIMER_PARAM_NUM_ALERTS: u32 = 1;
16pub const AON_TIMER_PARAM_REG_WIDTH: u32 = 32;
18
19register_structs! {
20 pub AonTimerRegisters {
21 (0x0000 => pub(crate) alert_test: ReadWrite<u32, ALERT_TEST::Register>),
23 (0x0004 => pub(crate) wkup_ctrl: ReadWrite<u32, WKUP_CTRL::Register>),
25 (0x0008 => pub(crate) wkup_thold: ReadWrite<u32, WKUP_THOLD::Register>),
27 (0x000c => pub(crate) wkup_count: ReadWrite<u32, WKUP_COUNT::Register>),
29 (0x0010 => pub(crate) wdog_regwen: ReadWrite<u32, WDOG_REGWEN::Register>),
31 (0x0014 => pub(crate) wdog_ctrl: ReadWrite<u32, WDOG_CTRL::Register>),
33 (0x0018 => pub(crate) wdog_bark_thold: ReadWrite<u32, WDOG_BARK_THOLD::Register>),
35 (0x001c => pub(crate) wdog_bite_thold: ReadWrite<u32, WDOG_BITE_THOLD::Register>),
37 (0x0020 => pub(crate) wdog_count: ReadWrite<u32, WDOG_COUNT::Register>),
39 (0x0024 => pub(crate) intr_state: ReadWrite<u32, INTR_STATE::Register>),
41 (0x0028 => pub(crate) intr_test: ReadWrite<u32, INTR_TEST::Register>),
43 (0x002c => pub(crate) wkup_cause: ReadWrite<u32, WKUP_CAUSE::Register>),
45 (0x0030 => @END),
46 }
47}
48
49register_bitfields![u32,
50 pub(crate) ALERT_TEST [
51 FATAL_FAULT OFFSET(0) NUMBITS(1) [],
52 ],
53 pub(crate) WKUP_CTRL [
54 ENABLE OFFSET(0) NUMBITS(1) [],
55 PRESCALER OFFSET(1) NUMBITS(12) [],
56 ],
57 pub(crate) WKUP_THOLD [
58 THRESHOLD OFFSET(0) NUMBITS(32) [],
59 ],
60 pub(crate) WKUP_COUNT [
61 COUNT OFFSET(0) NUMBITS(32) [],
62 ],
63 pub(crate) WDOG_REGWEN [
64 REGWEN OFFSET(0) NUMBITS(1) [],
65 ],
66 pub(crate) WDOG_CTRL [
67 ENABLE OFFSET(0) NUMBITS(1) [],
68 PAUSE_IN_SLEEP OFFSET(1) NUMBITS(1) [],
69 ],
70 pub(crate) WDOG_BARK_THOLD [
71 THRESHOLD OFFSET(0) NUMBITS(32) [],
72 ],
73 pub(crate) WDOG_BITE_THOLD [
74 THRESHOLD OFFSET(0) NUMBITS(32) [],
75 ],
76 pub(crate) WDOG_COUNT [
77 COUNT OFFSET(0) NUMBITS(32) [],
78 ],
79 pub(crate) INTR_STATE [
80 WKUP_TIMER_EXPIRED OFFSET(0) NUMBITS(1) [],
81 WDOG_TIMER_BARK OFFSET(1) NUMBITS(1) [],
82 ],
83 pub(crate) INTR_TEST [
84 WKUP_TIMER_EXPIRED OFFSET(0) NUMBITS(1) [],
85 WDOG_TIMER_BARK OFFSET(1) NUMBITS(1) [],
86 ],
87 pub(crate) WKUP_CAUSE [
88 CAUSE OFFSET(0) NUMBITS(1) [],
89 ],
90];
91
92