#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::{RORegister, RWRegister};
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod HPLR {
pub mod ZMK_WSL {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ZMK_WSL_0: u32 = 0b0;
pub const ZMK_WSL_1: u32 = 0b1;
}
}
pub mod ZMK_RSL {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ZMK_RSL_0: u32 = 0b0;
pub const ZMK_RSL_1: u32 = 0b1;
}
}
pub mod SRTC_SL {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SRTC_SL_0: u32 = 0b0;
pub const SRTC_SL_1: u32 = 0b1;
}
}
pub mod LPCALB_SL {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPCALB_SL_0: u32 = 0b0;
pub const LPCALB_SL_1: u32 = 0b1;
}
}
pub mod MC_SL {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MC_SL_0: u32 = 0b0;
pub const MC_SL_1: u32 = 0b1;
}
}
pub mod GPR_SL {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const GPR_SL_0: u32 = 0b0;
pub const GPR_SL_1: u32 = 0b1;
}
}
pub mod LPSVCR_SL {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPSVCR_SL_0: u32 = 0b0;
pub const LPSVCR_SL_1: u32 = 0b1;
}
}
pub mod LPTDCR_SL {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPTDCR_SL_0: u32 = 0b0;
pub const LPTDCR_SL_1: u32 = 0b1;
}
}
pub mod MKS_SL {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MKS_SL_0: u32 = 0b0;
pub const MKS_SL_1: u32 = 0b1;
}
}
pub mod HPSVCR_L {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HPSVCR_L_0: u32 = 0b0;
pub const HPSVCR_L_1: u32 = 0b1;
}
}
pub mod HPSICR_L {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HPSICR_L_0: u32 = 0b0;
pub const HPSICR_L_1: u32 = 0b1;
}
}
pub mod HAC_L {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HAC_L_0: u32 = 0b0;
pub const HAC_L_1: u32 = 0b1;
}
}
}
pub mod HPCOMR {
pub mod SSM_ST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SSM_ST_DIS {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SSM_ST_DIS_0: u32 = 0b0;
pub const SSM_ST_DIS_1: u32 = 0b1;
}
}
pub mod SSM_SFNS_DIS {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SSM_SFNS_DIS_0: u32 = 0b0;
pub const SSM_SFNS_DIS_1: u32 = 0b1;
}
}
pub mod LP_SWR {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LP_SWR_0: u32 = 0b0;
pub const LP_SWR_1: u32 = 0b1;
}
}
pub mod LP_SWR_DIS {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LP_SWR_DIS_0: u32 = 0b0;
pub const LP_SWR_DIS_1: u32 = 0b1;
}
}
pub mod SW_SV {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SW_FSV {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SW_LPSV {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PROG_ZMK {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PROG_ZMK_0: u32 = 0b0;
pub const PROG_ZMK_1: u32 = 0b1;
}
}
pub mod MKS_EN {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MKS_EN_0: u32 = 0b0;
pub const MKS_EN_1: u32 = 0b1;
}
}
pub mod HAC_EN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HAC_EN_0: u32 = 0b0;
pub const HAC_EN_1: u32 = 0b1;
}
}
pub mod HAC_LOAD {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HAC_LOAD_0: u32 = 0b0;
pub const HAC_LOAD_1: u32 = 0b1;
}
}
pub mod HAC_CLEAR {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HAC_CLEAR_0: u32 = 0b0;
pub const HAC_CLEAR_1: u32 = 0b1;
}
}
pub mod HAC_STOP {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod NPSWA_EN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod HPCR {
pub mod RTC_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const RTC_EN_0: u32 = 0b0;
pub const RTC_EN_1: u32 = 0b1;
}
}
pub mod HPTA_EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HPTA_EN_0: u32 = 0b0;
pub const HPTA_EN_1: u32 = 0b1;
}
}
pub mod DIS_PI {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DIS_PI_0: u32 = 0b0;
pub const DIS_PI_1: u32 = 0b1;
}
}
pub mod PI_EN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PI_EN_0: u32 = 0b0;
pub const PI_EN_1: u32 = 0b1;
}
}
pub mod PI_FREQ {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PI_FREQ_0: u32 = 0b0000;
pub const PI_FREQ_1: u32 = 0b0001;
pub const PI_FREQ_2: u32 = 0b0010;
pub const PI_FREQ_3: u32 = 0b0011;
pub const PI_FREQ_4: u32 = 0b0100;
pub const PI_FREQ_5: u32 = 0b0101;
pub const PI_FREQ_6: u32 = 0b0110;
pub const PI_FREQ_7: u32 = 0b0111;
pub const PI_FREQ_8: u32 = 0b1000;
pub const PI_FREQ_9: u32 = 0b1001;
pub const PI_FREQ_10: u32 = 0b1010;
pub const PI_FREQ_11: u32 = 0b1011;
pub const PI_FREQ_12: u32 = 0b1100;
pub const PI_FREQ_13: u32 = 0b1101;
pub const PI_FREQ_14: u32 = 0b1110;
pub const PI_FREQ_15: u32 = 0b1111;
}
}
pub mod HPCALB_EN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HPCALB_EN_0: u32 = 0b0;
pub const HPCALB_EN_1: u32 = 0b1;
}
}
pub mod HPCALB_VAL {
pub const offset: u32 = 10;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HPCALB_VAL_0: u32 = 0b00000;
pub const HPCALB_VAL_1: u32 = 0b00001;
pub const HPCALB_VAL_2: u32 = 0b00010;
pub const HPCALB_VAL_15: u32 = 0b01111;
pub const HPCALB_VAL_16: u32 = 0b10000;
pub const HPCALB_VAL_17: u32 = 0b10001;
pub const HPCALB_VAL_30: u32 = 0b11110;
pub const HPCALB_VAL_31: u32 = 0b11111;
}
}
pub mod HP_TS {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HP_TS_0: u32 = 0b0;
pub const HP_TS_1: u32 = 0b1;
}
}
pub mod BTN_CONFIG {
pub const offset: u32 = 24;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BTN_MASK {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod HPSICR {
pub mod SV0_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV0_EN_0: u32 = 0b0;
pub const SV0_EN_1: u32 = 0b1;
}
}
pub mod SV1_EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV1_EN_0: u32 = 0b0;
pub const SV1_EN_1: u32 = 0b1;
}
}
pub mod SV2_EN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV2_EN_0: u32 = 0b0;
pub const SV2_EN_1: u32 = 0b1;
}
}
pub mod SV3_EN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV3_EN_0: u32 = 0b0;
pub const SV3_EN_1: u32 = 0b1;
}
}
pub mod SV4_EN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV4_EN_0: u32 = 0b0;
pub const SV4_EN_1: u32 = 0b1;
}
}
pub mod SV5_EN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV5_EN_0: u32 = 0b0;
pub const SV5_EN_1: u32 = 0b1;
}
}
pub mod LPSVI_EN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPSVI_EN_0: u32 = 0b0;
pub const LPSVI_EN_1: u32 = 0b1;
}
}
}
pub mod HPSVCR {
pub mod SV0_CFG {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV0_CFG_0: u32 = 0b0;
pub const SV0_CFG_1: u32 = 0b1;
}
}
pub mod SV1_CFG {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV1_CFG_0: u32 = 0b0;
pub const SV1_CFG_1: u32 = 0b1;
}
}
pub mod SV2_CFG {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV2_CFG_0: u32 = 0b0;
pub const SV2_CFG_1: u32 = 0b1;
}
}
pub mod SV3_CFG {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV3_CFG_0: u32 = 0b0;
pub const SV3_CFG_1: u32 = 0b1;
}
}
pub mod SV4_CFG {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV4_CFG_0: u32 = 0b0;
pub const SV4_CFG_1: u32 = 0b1;
}
}
pub mod SV5_CFG {
pub const offset: u32 = 5;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV5_CFG_0: u32 = 0b00;
pub const SV5_CFG_1: u32 = 0b01;
pub const SV5_CFG_2: u32 = 0b00;
}
}
pub mod LPSV_CFG {
pub const offset: u32 = 30;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPSV_CFG_0: u32 = 0b00;
pub const LPSV_CFG_1: u32 = 0b01;
pub const LPSV_CFG_2: u32 = 0b00;
}
}
}
pub mod HPSR {
pub mod HPTA {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HPTA_0: u32 = 0b0;
pub const HPTA_1: u32 = 0b1;
}
}
pub mod PI {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PI_0: u32 = 0b0;
pub const PI_1: u32 = 0b1;
}
}
pub mod LPDIS {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BTN {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BI {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SSM_STATE {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SSM_STATE_0: u32 = 0b0000;
pub const SSM_STATE_1: u32 = 0b0001;
pub const SSM_STATE_3: u32 = 0b0011;
pub const SSM_STATE_8: u32 = 0b1000;
pub const SSM_STATE_9: u32 = 0b1001;
pub const SSM_STATE_11: u32 = 0b1011;
pub const SSM_STATE_13: u32 = 0b1101;
pub const SSM_STATE_15: u32 = 0b1111;
}
}
pub mod OTPMK_SYNDROME {
pub const offset: u32 = 16;
pub const mask: u32 = 0x1ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OTPMK_ZERO {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const OTPMK_ZERO_0: u32 = 0b0;
pub const OTPMK_ZERO_1: u32 = 0b1;
}
}
pub mod ZMK_ZERO {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ZMK_ZERO_0: u32 = 0b0;
pub const ZMK_ZERO_1: u32 = 0b1;
}
}
pub mod SECURITY_CONFIG {
pub const offset: u32 = 12;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const FAB_CONFIG: u32 = 0b0000;
pub const OPEN_CONFIG: u32 = 0b0001;
pub const CLOSED_CONFIG: u32 = 0b1001;
}
}
}
pub mod HPSVSR {
pub mod SV0 {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV0_0: u32 = 0b0;
pub const SV0_1: u32 = 0b1;
}
}
pub mod SV1 {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV1_0: u32 = 0b0;
pub const SV1_1: u32 = 0b1;
}
}
pub mod SV2 {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV2_0: u32 = 0b0;
pub const SV2_1: u32 = 0b1;
}
}
pub mod SV3 {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV3_0: u32 = 0b0;
pub const SV3_1: u32 = 0b1;
}
}
pub mod SV4 {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV4_0: u32 = 0b0;
pub const SV4_1: u32 = 0b1;
}
}
pub mod SV5 {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV5_0: u32 = 0b0;
pub const SV5_1: u32 = 0b1;
}
}
pub mod SW_SV {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SW_FSV {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SW_LPSV {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ZMK_SYNDROME {
pub const offset: u32 = 16;
pub const mask: u32 = 0x1ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ZMK_ECC_FAIL {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ZMK_ECC_FAIL_0: u32 = 0b0;
pub const ZMK_ECC_FAIL_1: u32 = 0b1;
}
}
pub mod LP_SEC_VIO {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod HPHACIVR {
pub mod HAC_COUNTER_IV {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod HPHACR {
pub mod HAC_COUNTER {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod HPRTCMR {
pub mod RTC {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7fff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod HPRTCLR {
pub mod RTC {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod HPTAMR {
pub mod HPTA_MS {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7fff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod HPTALR {
pub mod HPTA_LS {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPLR {
pub mod ZMK_WHL {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ZMK_WHL_0: u32 = 0b0;
pub const ZMK_WHL_1: u32 = 0b1;
}
}
pub mod ZMK_RHL {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ZMK_RHL_0: u32 = 0b0;
pub const ZMK_RHL_1: u32 = 0b1;
}
}
pub mod SRTC_HL {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SRTC_HL_0: u32 = 0b0;
pub const SRTC_HL_1: u32 = 0b1;
}
}
pub mod LPCALB_HL {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPCALB_HL_0: u32 = 0b0;
pub const LPCALB_HL_1: u32 = 0b1;
}
}
pub mod MC_HL {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MC_HL_0: u32 = 0b0;
pub const MC_HL_1: u32 = 0b1;
}
}
pub mod GPR_HL {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const GPR_HL_0: u32 = 0b0;
pub const GPR_HL_1: u32 = 0b1;
}
}
pub mod LPSVCR_HL {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPSVCR_HL_0: u32 = 0b0;
pub const LPSVCR_HL_1: u32 = 0b1;
}
}
pub mod LPTDCR_HL {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPTDCR_HL_0: u32 = 0b0;
pub const LPTDCR_HL_1: u32 = 0b1;
}
}
pub mod MKS_HL {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MKS_HL_0: u32 = 0b0;
pub const MKS_HL_1: u32 = 0b1;
}
}
}
pub mod LPCR {
pub mod SRTC_ENV {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SRTC_ENV_0: u32 = 0b0;
pub const SRTC_ENV_1: u32 = 0b1;
}
}
pub mod LPTA_EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPTA_EN_0: u32 = 0b0;
pub const LPTA_EN_1: u32 = 0b1;
}
}
pub mod MC_ENV {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MC_ENV_0: u32 = 0b0;
pub const MC_ENV_1: u32 = 0b1;
}
}
pub mod LPWUI_EN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SRTC_INV_EN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SRTC_INV_EN_0: u32 = 0b0;
pub const SRTC_INV_EN_1: u32 = 0b1;
}
}
pub mod DP_EN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DP_EN_0: u32 = 0b0;
pub const DP_EN_1: u32 = 0b1;
}
}
pub mod TOP {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const TOP_0: u32 = 0b0;
pub const TOP_1: u32 = 0b1;
}
}
pub mod PWR_GLITCH_EN {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPCALB_EN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPCALB_EN_0: u32 = 0b0;
pub const LPCALB_EN_1: u32 = 0b1;
}
}
pub mod LPCALB_VAL {
pub const offset: u32 = 10;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPCALB_VAL_0: u32 = 0b00000;
pub const LPCALB_VAL_1: u32 = 0b00001;
pub const LPCALB_VAL_2: u32 = 0b00010;
pub const LPCALB_VAL_15: u32 = 0b01111;
pub const LPCALB_VAL_16: u32 = 0b10000;
pub const LPCALB_VAL_17: u32 = 0b10001;
pub const LPCALB_VAL_30: u32 = 0b11110;
pub const LPCALB_VAL_31: u32 = 0b11111;
}
}
pub mod BTN_PRESS_TIME {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DEBOUNCE {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ON_TIME {
pub const offset: u32 = 20;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PK_EN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PK_OVERRIDE {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPR_Z_DIS {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPMKCR {
pub mod MASTER_KEY_SEL {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MASTER_KEY_SEL_0: u32 = 0b00;
pub const MASTER_KEY_SEL_2: u32 = 0b10;
pub const MASTER_KEY_SEL_3: u32 = 0b11;
}
}
pub mod ZMK_HWP {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ZMK_HWP_0: u32 = 0b0;
pub const ZMK_HWP_1: u32 = 0b1;
}
}
pub mod ZMK_VAL {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ZMK_VAL_0: u32 = 0b0;
pub const ZMK_VAL_1: u32 = 0b1;
}
}
pub mod ZMK_ECC_EN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ZMK_ECC_EN_0: u32 = 0b0;
pub const ZMK_ECC_EN_1: u32 = 0b1;
}
}
pub mod ZMK_ECC_VALUE {
pub const offset: u32 = 7;
pub const mask: u32 = 0x1ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPSVCR {
pub mod SV0_EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV0_EN_0: u32 = 0b0;
pub const SV0_EN_1: u32 = 0b1;
}
}
pub mod SV1_EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV1_EN_0: u32 = 0b0;
pub const SV1_EN_1: u32 = 0b1;
}
}
pub mod SV2_EN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV2_EN_0: u32 = 0b0;
pub const SV2_EN_1: u32 = 0b1;
}
}
pub mod SV3_EN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV3_EN_0: u32 = 0b0;
pub const SV3_EN_1: u32 = 0b1;
}
}
pub mod SV4_EN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV4_EN_0: u32 = 0b0;
pub const SV4_EN_1: u32 = 0b1;
}
}
pub mod SV5_EN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SV5_EN_0: u32 = 0b0;
pub const SV5_EN_1: u32 = 0b1;
}
}
}
pub mod LPTDCR {
pub mod SRTCR_EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SRTCR_EN_0: u32 = 0b0;
pub const SRTCR_EN_1: u32 = 0b1;
}
}
pub mod MCR_EN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MCR_EN_0: u32 = 0b0;
pub const MCR_EN_1: u32 = 0b1;
}
}
pub mod ET1_EN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ET1_EN_0: u32 = 0b0;
pub const ET1_EN_1: u32 = 0b1;
}
}
pub mod ET1P {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ET1P_0: u32 = 0b0;
pub const ET1P_1: u32 = 0b1;
}
}
pub mod PFD_OBSERV {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod POR_OBSERV {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OSCB {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const OSCB_0: u32 = 0b0;
pub const OSCB_1: u32 = 0b1;
}
}
}
pub mod LPSR {
pub mod LPTA {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPTA_0: u32 = 0b0;
pub const LPTA_1: u32 = 0b1;
}
}
pub mod SRTCR {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SRTCR_0: u32 = 0b0;
pub const SRTCR_1: u32 = 0b1;
}
}
pub mod MCR {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const MCR_0: u32 = 0b0;
pub const MCR_1: u32 = 0b1;
}
}
pub mod PGD {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ET1D {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ET1D_0: u32 = 0b0;
pub const ET1D_1: u32 = 0b1;
}
}
pub mod ESVD {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const ESVD_0: u32 = 0b0;
pub const ESVD_1: u32 = 0b1;
}
}
pub mod EO {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const EO_0: u32 = 0b0;
pub const EO_1: u32 = 0b1;
}
}
pub mod SPO {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SPO_0: u32 = 0b0;
pub const SPO_1: u32 = 0b1;
}
}
pub mod SED {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SED_0: u32 = 0b0;
pub const SED_1: u32 = 0b1;
}
}
pub mod LPNS {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPNS_0: u32 = 0b0;
pub const LPNS_1: u32 = 0b1;
}
}
pub mod LPS {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LPS_0: u32 = 0b0;
pub const LPS_1: u32 = 0b1;
}
}
}
pub mod LPSRTCMR {
pub mod SRTC {
pub const offset: u32 = 0;
pub const mask: u32 = 0x7fff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPSRTCLR {
pub mod SRTC {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPTAR {
pub mod LPTA {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPSMCMR {
pub mod MON_COUNTER {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MC_ERA_BITS {
pub const offset: u32 = 16;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPSMCLR {
pub mod MON_COUNTER {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPPGDR {
pub mod PGD {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPGPR0_legacy_alias {
pub mod GPR {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPZMKR0 {
pub mod ZMK {
pub const offset: u32 = 0;
pub const mask: u32 = 0xffffffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod LPZMKR1 {
pub use super::LPZMKR0::ZMK;
}
pub mod LPZMKR2 {
pub use super::LPZMKR0::ZMK;
}
pub mod LPZMKR3 {
pub use super::LPZMKR0::ZMK;
}
pub mod LPZMKR4 {
pub use super::LPZMKR0::ZMK;
}
pub mod LPZMKR5 {
pub use super::LPZMKR0::ZMK;
}
pub mod LPZMKR6 {
pub use super::LPZMKR0::ZMK;
}
pub mod LPZMKR7 {
pub use super::LPZMKR0::ZMK;
}
pub mod LPGPR_alias0 {
pub use super::LPGPR0_legacy_alias::GPR;
}
pub mod LPGPR_alias1 {
pub use super::LPGPR0_legacy_alias::GPR;
}
pub mod LPGPR_alias2 {
pub use super::LPGPR0_legacy_alias::GPR;
}
pub mod LPGPR_alias3 {
pub use super::LPGPR0_legacy_alias::GPR;
}
pub mod LPGPR0 {
pub use super::LPGPR0_legacy_alias::GPR;
}
pub mod LPGPR1 {
pub use super::LPGPR0_legacy_alias::GPR;
}
pub mod LPGPR2 {
pub use super::LPGPR0_legacy_alias::GPR;
}
pub mod LPGPR3 {
pub use super::LPGPR0_legacy_alias::GPR;
}
pub mod HPVIDR1 {
pub mod MINOR_REV {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MAJOR_REV {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IP_ID {
pub const offset: u32 = 16;
pub const mask: u32 = 0xffff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod HPVIDR2 {
pub mod CONFIG_OPT {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ECO_REV {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod INTG_OPT {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IP_ERA {
pub const offset: u32 = 24;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub HPLR: RWRegister<u32>,
pub HPCOMR: RWRegister<u32>,
pub HPCR: RWRegister<u32>,
pub HPSICR: RWRegister<u32>,
pub HPSVCR: RWRegister<u32>,
pub HPSR: RWRegister<u32>,
pub HPSVSR: RWRegister<u32>,
pub HPHACIVR: RWRegister<u32>,
pub HPHACR: RORegister<u32>,
pub HPRTCMR: RWRegister<u32>,
pub HPRTCLR: RWRegister<u32>,
pub HPTAMR: RWRegister<u32>,
pub HPTALR: RWRegister<u32>,
pub LPLR: RWRegister<u32>,
pub LPCR: RWRegister<u32>,
pub LPMKCR: RWRegister<u32>,
pub LPSVCR: RWRegister<u32>,
_reserved1: [u32; 1],
pub LPTDCR: RWRegister<u32>,
pub LPSR: RWRegister<u32>,
pub LPSRTCMR: RWRegister<u32>,
pub LPSRTCLR: RWRegister<u32>,
pub LPTAR: RWRegister<u32>,
pub LPSMCMR: RORegister<u32>,
pub LPSMCLR: RORegister<u32>,
pub LPPGDR: RWRegister<u32>,
pub LPGPR0_legacy_alias: RWRegister<u32>,
pub LPZMKR0: RWRegister<u32>,
pub LPZMKR1: RWRegister<u32>,
pub LPZMKR2: RWRegister<u32>,
pub LPZMKR3: RWRegister<u32>,
pub LPZMKR4: RWRegister<u32>,
pub LPZMKR5: RWRegister<u32>,
pub LPZMKR6: RWRegister<u32>,
pub LPZMKR7: RWRegister<u32>,
_reserved2: [u32; 1],
pub LPGPR_alias0: RWRegister<u32>,
pub LPGPR_alias1: RWRegister<u32>,
pub LPGPR_alias2: RWRegister<u32>,
pub LPGPR_alias3: RWRegister<u32>,
_reserved3: [u32; 24],
pub LPGPR0: RWRegister<u32>,
pub LPGPR1: RWRegister<u32>,
pub LPGPR2: RWRegister<u32>,
pub LPGPR3: RWRegister<u32>,
_reserved4: [u32; 698],
pub HPVIDR1: RORegister<u32>,
pub HPVIDR2: RORegister<u32>,
}
pub struct ResetValues {
pub HPLR: u32,
pub HPCOMR: u32,
pub HPCR: u32,
pub HPSICR: u32,
pub HPSVCR: u32,
pub HPSR: u32,
pub HPSVSR: u32,
pub HPHACIVR: u32,
pub HPHACR: u32,
pub HPRTCMR: u32,
pub HPRTCLR: u32,
pub HPTAMR: u32,
pub HPTALR: u32,
pub LPLR: u32,
pub LPCR: u32,
pub LPMKCR: u32,
pub LPSVCR: u32,
pub LPTDCR: u32,
pub LPSR: u32,
pub LPSRTCMR: u32,
pub LPSRTCLR: u32,
pub LPTAR: u32,
pub LPSMCMR: u32,
pub LPSMCLR: u32,
pub LPPGDR: u32,
pub LPGPR0_legacy_alias: u32,
pub LPZMKR0: u32,
pub LPZMKR1: u32,
pub LPZMKR2: u32,
pub LPZMKR3: u32,
pub LPZMKR4: u32,
pub LPZMKR5: u32,
pub LPZMKR6: u32,
pub LPZMKR7: u32,
pub LPGPR_alias0: u32,
pub LPGPR_alias1: u32,
pub LPGPR_alias2: u32,
pub LPGPR_alias3: u32,
pub LPGPR0: u32,
pub LPGPR1: u32,
pub LPGPR2: u32,
pub LPGPR3: u32,
pub HPVIDR1: u32,
pub HPVIDR2: u32,
}
#[cfg(not(feature = "nosync"))]
pub struct Instance {
pub(crate) addr: u32,
pub(crate) _marker: PhantomData<*const RegisterBlock>,
}
#[cfg(not(feature = "nosync"))]
impl ::core::ops::Deref for Instance {
type Target = RegisterBlock;
#[inline(always)]
fn deref(&self) -> &RegisterBlock {
unsafe { &*(self.addr as *const _) }
}
}
#[cfg(feature = "rtfm")]
unsafe impl Send for Instance {}