diff options
| author | Ian McIntyre <me@mciantyre.dev> | 2025-11-30 18:52:34 -0500 |
|---|---|---|
| committer | Ian McIntyre <me@mciantyre.dev> | 2025-11-30 19:10:51 -0500 |
| commit | 76199f21616ad86cf68f3b063c1ce23c6fc5a52f (patch) | |
| tree | 4c076d0afd649803a2bd9a5ed5cbb1f1c74fb459 /drivers/ccm-11xx/src/ral_1180/clock_root.rs | |
First commit
Diffstat (limited to 'drivers/ccm-11xx/src/ral_1180/clock_root.rs')
| -rw-r--r-- | drivers/ccm-11xx/src/ral_1180/clock_root.rs | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/drivers/ccm-11xx/src/ral_1180/clock_root.rs b/drivers/ccm-11xx/src/ral_1180/clock_root.rs new file mode 100644 index 0000000..ebf8db9 --- /dev/null +++ b/drivers/ccm-11xx/src/ral_1180/clock_root.rs @@ -0,0 +1,61 @@ +#[repr(C)] +#[allow(non_snake_case)] +pub struct RegisterBlock { + pub CONTROL: u32, + pub CONTROL_SET: u32, + pub CONTROL_CLR: u32, + pub CONTROL_TOG: u32, + _reserved0: [u8; 16], + pub STATUS0: u32, + _reserved1: [u8; 12], + pub AUTHEN: u32, + _reserved2: [u8; 76], +} + +ral_registers::register! { + #[doc = "Clock Root Control Register"] + pub CONTROL<u32> RW [ + #[doc = "Clock division fraction."] + DIV start(0) width(8) RW {} + #[doc = "Clock multiplexer."] + MUX start(8) width(2) RW {} + #[doc = "Shutdown clock root."] + OFF start(24) width(1) RW {} + ] +} + +pub use CONTROL as CONTROL_SET; +pub use CONTROL as CONTROL_CLR; +pub use CONTROL as CONTROL_TOG; + +ral_registers::register! { + #[doc = "Clock root working status"] + pub STATUS0<u32> RO [ + #[doc = "Current clock root DIV setting"] + DIV start(0) width(8) RO {} + #[doc = "Current clock root MUX setting"] + MUX start(8) width(2) RO {} + #[doc = "Current clock root OFF setting"] + OFF start(24) width(1) RO {} + #[doc = "Internal updating in generation logic Indication for clock generation logic is applying new setting."] + SLICE_BUSY start(28) width(1) RO {} + #[doc = "Indication for clock root internal logic is updating. This status is a combination of UPDATE_FORWARD and SLICE_BUSY."] + CHANGING start(31) width(1) RO {} + ] +} + +ral_registers::register! { + #[doc = "Clock root access control"] + pub AUTHEN<u32> RW [ + #[doc = "User access permission"] + TZ_USER start(8) width(1) RW {} + #[doc = "Non-secure access permission"] + TZ_NS start(9) width(1) RW {} + #[doc = "Lock TrustZone settings"] + LOCK_TZ start(11) width(1) RW {} + #[doc = "Lock white list"] + LOCK_LIST start(15) width(1) RW {} + #[doc = "Whitelist settings"] + WHITE_LIST start(16) width(16) RW {} + ] +} |
