imxrt1062-ccm 0.1.1

An imxrt1062-pac subcrate. See the imxrt1062-pac for more details. This crate is not maintained. Consider using the register access layer provided by the [imxrt-rs](https://github.com/imxrt-rs/imxrt-rs) project. Formerly part of the teensy4-rs project.
Documentation
#[doc = "Reader of register CSCMR2"]
pub type R = crate::R<u32, super::CSCMR2>;
#[doc = "Writer for register CSCMR2"]
pub type W = crate::W<u32, super::CSCMR2>;
#[doc = "Register CSCMR2 `reset()`'s with value 0x1319_2f06"]
impl crate::ResetValue for super::CSCMR2 {
    type Type = u32;
    #[inline(always)]
    fn reset_value() -> Self::Type {
        0x1319_2f06
    }
}
#[doc = "Divider for CAN/CANFD clock podf.\n\nValue on reset: 1"]
#[derive(Clone, Copy, Debug, PartialEq)]
#[repr(u8)]
pub enum CAN_CLK_PODF_A {
    #[doc = "0: Divide by 1"]
    DIVIDE_1 = 0,
    #[doc = "1: Divide by 2"]
    DIVIDE_2 = 1,
    #[doc = "2: Divide by 3"]
    DIVIDE_3 = 2,
    #[doc = "3: Divide by 4"]
    DIVIDE_4 = 3,
    #[doc = "4: Divide by 5"]
    DIVIDE_5 = 4,
    #[doc = "5: Divide by 6"]
    DIVIDE_6 = 5,
    #[doc = "6: Divide by 7"]
    DIVIDE_7 = 6,
    #[doc = "7: Divide by 8"]
    DIVIDE_8 = 7,
    #[doc = "8: Divide by 9"]
    DIVIDE_9 = 8,
    #[doc = "9: Divide by 10"]
    DIVIDE_10 = 9,
    #[doc = "10: Divide by 11"]
    DIVIDE_11 = 10,
    #[doc = "11: Divide by 12"]
    DIVIDE_12 = 11,
    #[doc = "12: Divide by 13"]
    DIVIDE_13 = 12,
    #[doc = "13: Divide by 14"]
    DIVIDE_14 = 13,
    #[doc = "14: Divide by 15"]
    DIVIDE_15 = 14,
    #[doc = "15: Divide by 16"]
    DIVIDE_16 = 15,
    #[doc = "16: Divide by 17"]
    DIVIDE_17 = 16,
    #[doc = "17: Divide by 18"]
    DIVIDE_18 = 17,
    #[doc = "18: Divide by 19"]
    DIVIDE_19 = 18,
    #[doc = "19: Divide by 20"]
    DIVIDE_20 = 19,
    #[doc = "20: Divide by 21"]
    DIVIDE_21 = 20,
    #[doc = "21: Divide by 22"]
    DIVIDE_22 = 21,
    #[doc = "22: Divide by 23"]
    DIVIDE_23 = 22,
    #[doc = "23: Divide by 24"]
    DIVIDE_24 = 23,
    #[doc = "24: Divide by 25"]
    DIVIDE_25 = 24,
    #[doc = "25: Divide by 26"]
    DIVIDE_26 = 25,
    #[doc = "26: Divide by 27"]
    DIVIDE_27 = 26,
    #[doc = "27: Divide by 28"]
    DIVIDE_28 = 27,
    #[doc = "28: Divide by 29"]
    DIVIDE_29 = 28,
    #[doc = "29: Divide by 30"]
    DIVIDE_30 = 29,
    #[doc = "30: Divide by 31"]
    DIVIDE_31 = 30,
    #[doc = "31: Divide by 32"]
    DIVIDE_32 = 31,
    #[doc = "32: Divide by 33"]
    DIVIDE_33 = 32,
    #[doc = "33: Divide by 34"]
    DIVIDE_34 = 33,
    #[doc = "34: Divide by 35"]
    DIVIDE_35 = 34,
    #[doc = "35: Divide by 36"]
    DIVIDE_36 = 35,
    #[doc = "36: Divide by 37"]
    DIVIDE_37 = 36,
    #[doc = "37: Divide by 38"]
    DIVIDE_38 = 37,
    #[doc = "38: Divide by 39"]
    DIVIDE_39 = 38,
    #[doc = "39: Divide by 40"]
    DIVIDE_40 = 39,
    #[doc = "40: Divide by 41"]
    DIVIDE_41 = 40,
    #[doc = "41: Divide by 42"]
    DIVIDE_42 = 41,
    #[doc = "42: Divide by 43"]
    DIVIDE_43 = 42,
    #[doc = "43: Divide by 44"]
    DIVIDE_44 = 43,
    #[doc = "44: Divide by 45"]
    DIVIDE_45 = 44,
    #[doc = "45: Divide by 46"]
    DIVIDE_46 = 45,
    #[doc = "46: Divide by 47"]
    DIVIDE_47 = 46,
    #[doc = "47: Divide by 48"]
    DIVIDE_48 = 47,
    #[doc = "48: Divide by 49"]
    DIVIDE_49 = 48,
    #[doc = "49: Divide by 50"]
    DIVIDE_50 = 49,
    #[doc = "50: Divide by 51"]
    DIVIDE_51 = 50,
    #[doc = "51: Divide by 52"]
    DIVIDE_52 = 51,
    #[doc = "52: Divide by 53"]
    DIVIDE_53 = 52,
    #[doc = "53: Divide by 54"]
    DIVIDE_54 = 53,
    #[doc = "54: Divide by 55"]
    DIVIDE_55 = 54,
    #[doc = "55: Divide by 56"]
    DIVIDE_56 = 55,
    #[doc = "56: Divide by 57"]
    DIVIDE_57 = 56,
    #[doc = "57: Divide by 58"]
    DIVIDE_58 = 57,
    #[doc = "58: Divide by 59"]
    DIVIDE_59 = 58,
    #[doc = "59: Divide by 60"]
    DIVIDE_60 = 59,
    #[doc = "60: Divide by 61"]
    DIVIDE_61 = 60,
    #[doc = "61: Divide by 62"]
    DIVIDE_62 = 61,
    #[doc = "62: Divide by 63"]
    DIVIDE_63 = 62,
    #[doc = "63: Divide by 64"]
    DIVIDE_64 = 63,
}
impl From<CAN_CLK_PODF_A> for u8 {
    #[inline(always)]
    fn from(variant: CAN_CLK_PODF_A) -> Self {
        variant as _
    }
}
#[doc = "Reader of field `CAN_CLK_PODF`"]
pub type CAN_CLK_PODF_R = crate::R<u8, CAN_CLK_PODF_A>;
impl CAN_CLK_PODF_R {
    #[doc = r"Get enumerated values variant"]
    #[inline(always)]
    pub fn variant(&self) -> CAN_CLK_PODF_A {
        match self.bits {
            0 => CAN_CLK_PODF_A::DIVIDE_1,
            1 => CAN_CLK_PODF_A::DIVIDE_2,
            2 => CAN_CLK_PODF_A::DIVIDE_3,
            3 => CAN_CLK_PODF_A::DIVIDE_4,
            4 => CAN_CLK_PODF_A::DIVIDE_5,
            5 => CAN_CLK_PODF_A::DIVIDE_6,
            6 => CAN_CLK_PODF_A::DIVIDE_7,
            7 => CAN_CLK_PODF_A::DIVIDE_8,
            8 => CAN_CLK_PODF_A::DIVIDE_9,
            9 => CAN_CLK_PODF_A::DIVIDE_10,
            10 => CAN_CLK_PODF_A::DIVIDE_11,
            11 => CAN_CLK_PODF_A::DIVIDE_12,
            12 => CAN_CLK_PODF_A::DIVIDE_13,
            13 => CAN_CLK_PODF_A::DIVIDE_14,
            14 => CAN_CLK_PODF_A::DIVIDE_15,
            15 => CAN_CLK_PODF_A::DIVIDE_16,
            16 => CAN_CLK_PODF_A::DIVIDE_17,
            17 => CAN_CLK_PODF_A::DIVIDE_18,
            18 => CAN_CLK_PODF_A::DIVIDE_19,
            19 => CAN_CLK_PODF_A::DIVIDE_20,
            20 => CAN_CLK_PODF_A::DIVIDE_21,
            21 => CAN_CLK_PODF_A::DIVIDE_22,
            22 => CAN_CLK_PODF_A::DIVIDE_23,
            23 => CAN_CLK_PODF_A::DIVIDE_24,
            24 => CAN_CLK_PODF_A::DIVIDE_25,
            25 => CAN_CLK_PODF_A::DIVIDE_26,
            26 => CAN_CLK_PODF_A::DIVIDE_27,
            27 => CAN_CLK_PODF_A::DIVIDE_28,
            28 => CAN_CLK_PODF_A::DIVIDE_29,
            29 => CAN_CLK_PODF_A::DIVIDE_30,
            30 => CAN_CLK_PODF_A::DIVIDE_31,
            31 => CAN_CLK_PODF_A::DIVIDE_32,
            32 => CAN_CLK_PODF_A::DIVIDE_33,
            33 => CAN_CLK_PODF_A::DIVIDE_34,
            34 => CAN_CLK_PODF_A::DIVIDE_35,
            35 => CAN_CLK_PODF_A::DIVIDE_36,
            36 => CAN_CLK_PODF_A::DIVIDE_37,
            37 => CAN_CLK_PODF_A::DIVIDE_38,
            38 => CAN_CLK_PODF_A::DIVIDE_39,
            39 => CAN_CLK_PODF_A::DIVIDE_40,
            40 => CAN_CLK_PODF_A::DIVIDE_41,
            41 => CAN_CLK_PODF_A::DIVIDE_42,
            42 => CAN_CLK_PODF_A::DIVIDE_43,
            43 => CAN_CLK_PODF_A::DIVIDE_44,
            44 => CAN_CLK_PODF_A::DIVIDE_45,
            45 => CAN_CLK_PODF_A::DIVIDE_46,
            46 => CAN_CLK_PODF_A::DIVIDE_47,
            47 => CAN_CLK_PODF_A::DIVIDE_48,
            48 => CAN_CLK_PODF_A::DIVIDE_49,
            49 => CAN_CLK_PODF_A::DIVIDE_50,
            50 => CAN_CLK_PODF_A::DIVIDE_51,
            51 => CAN_CLK_PODF_A::DIVIDE_52,
            52 => CAN_CLK_PODF_A::DIVIDE_53,
            53 => CAN_CLK_PODF_A::DIVIDE_54,
            54 => CAN_CLK_PODF_A::DIVIDE_55,
            55 => CAN_CLK_PODF_A::DIVIDE_56,
            56 => CAN_CLK_PODF_A::DIVIDE_57,
            57 => CAN_CLK_PODF_A::DIVIDE_58,
            58 => CAN_CLK_PODF_A::DIVIDE_59,
            59 => CAN_CLK_PODF_A::DIVIDE_60,
            60 => CAN_CLK_PODF_A::DIVIDE_61,
            61 => CAN_CLK_PODF_A::DIVIDE_62,
            62 => CAN_CLK_PODF_A::DIVIDE_63,
            63 => CAN_CLK_PODF_A::DIVIDE_64,
            _ => unreachable!(),
        }
    }
    #[doc = "Checks if the value of the field is `DIVIDE_1`"]
    #[inline(always)]
    pub fn is_divide_1(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_1
    }
    #[doc = "Checks if the value of the field is `DIVIDE_2`"]
    #[inline(always)]
    pub fn is_divide_2(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_2
    }
    #[doc = "Checks if the value of the field is `DIVIDE_3`"]
    #[inline(always)]
    pub fn is_divide_3(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_3
    }
    #[doc = "Checks if the value of the field is `DIVIDE_4`"]
    #[inline(always)]
    pub fn is_divide_4(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_4
    }
    #[doc = "Checks if the value of the field is `DIVIDE_5`"]
    #[inline(always)]
    pub fn is_divide_5(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_5
    }
    #[doc = "Checks if the value of the field is `DIVIDE_6`"]
    #[inline(always)]
    pub fn is_divide_6(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_6
    }
    #[doc = "Checks if the value of the field is `DIVIDE_7`"]
    #[inline(always)]
    pub fn is_divide_7(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_7
    }
    #[doc = "Checks if the value of the field is `DIVIDE_8`"]
    #[inline(always)]
    pub fn is_divide_8(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_8
    }
    #[doc = "Checks if the value of the field is `DIVIDE_9`"]
    #[inline(always)]
    pub fn is_divide_9(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_9
    }
    #[doc = "Checks if the value of the field is `DIVIDE_10`"]
    #[inline(always)]
    pub fn is_divide_10(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_10
    }
    #[doc = "Checks if the value of the field is `DIVIDE_11`"]
    #[inline(always)]
    pub fn is_divide_11(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_11
    }
    #[doc = "Checks if the value of the field is `DIVIDE_12`"]
    #[inline(always)]
    pub fn is_divide_12(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_12
    }
    #[doc = "Checks if the value of the field is `DIVIDE_13`"]
    #[inline(always)]
    pub fn is_divide_13(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_13
    }
    #[doc = "Checks if the value of the field is `DIVIDE_14`"]
    #[inline(always)]
    pub fn is_divide_14(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_14
    }
    #[doc = "Checks if the value of the field is `DIVIDE_15`"]
    #[inline(always)]
    pub fn is_divide_15(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_15
    }
    #[doc = "Checks if the value of the field is `DIVIDE_16`"]
    #[inline(always)]
    pub fn is_divide_16(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_16
    }
    #[doc = "Checks if the value of the field is `DIVIDE_17`"]
    #[inline(always)]
    pub fn is_divide_17(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_17
    }
    #[doc = "Checks if the value of the field is `DIVIDE_18`"]
    #[inline(always)]
    pub fn is_divide_18(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_18
    }
    #[doc = "Checks if the value of the field is `DIVIDE_19`"]
    #[inline(always)]
    pub fn is_divide_19(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_19
    }
    #[doc = "Checks if the value of the field is `DIVIDE_20`"]
    #[inline(always)]
    pub fn is_divide_20(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_20
    }
    #[doc = "Checks if the value of the field is `DIVIDE_21`"]
    #[inline(always)]
    pub fn is_divide_21(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_21
    }
    #[doc = "Checks if the value of the field is `DIVIDE_22`"]
    #[inline(always)]
    pub fn is_divide_22(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_22
    }
    #[doc = "Checks if the value of the field is `DIVIDE_23`"]
    #[inline(always)]
    pub fn is_divide_23(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_23
    }
    #[doc = "Checks if the value of the field is `DIVIDE_24`"]
    #[inline(always)]
    pub fn is_divide_24(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_24
    }
    #[doc = "Checks if the value of the field is `DIVIDE_25`"]
    #[inline(always)]
    pub fn is_divide_25(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_25
    }
    #[doc = "Checks if the value of the field is `DIVIDE_26`"]
    #[inline(always)]
    pub fn is_divide_26(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_26
    }
    #[doc = "Checks if the value of the field is `DIVIDE_27`"]
    #[inline(always)]
    pub fn is_divide_27(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_27
    }
    #[doc = "Checks if the value of the field is `DIVIDE_28`"]
    #[inline(always)]
    pub fn is_divide_28(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_28
    }
    #[doc = "Checks if the value of the field is `DIVIDE_29`"]
    #[inline(always)]
    pub fn is_divide_29(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_29
    }
    #[doc = "Checks if the value of the field is `DIVIDE_30`"]
    #[inline(always)]
    pub fn is_divide_30(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_30
    }
    #[doc = "Checks if the value of the field is `DIVIDE_31`"]
    #[inline(always)]
    pub fn is_divide_31(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_31
    }
    #[doc = "Checks if the value of the field is `DIVIDE_32`"]
    #[inline(always)]
    pub fn is_divide_32(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_32
    }
    #[doc = "Checks if the value of the field is `DIVIDE_33`"]
    #[inline(always)]
    pub fn is_divide_33(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_33
    }
    #[doc = "Checks if the value of the field is `DIVIDE_34`"]
    #[inline(always)]
    pub fn is_divide_34(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_34
    }
    #[doc = "Checks if the value of the field is `DIVIDE_35`"]
    #[inline(always)]
    pub fn is_divide_35(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_35
    }
    #[doc = "Checks if the value of the field is `DIVIDE_36`"]
    #[inline(always)]
    pub fn is_divide_36(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_36
    }
    #[doc = "Checks if the value of the field is `DIVIDE_37`"]
    #[inline(always)]
    pub fn is_divide_37(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_37
    }
    #[doc = "Checks if the value of the field is `DIVIDE_38`"]
    #[inline(always)]
    pub fn is_divide_38(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_38
    }
    #[doc = "Checks if the value of the field is `DIVIDE_39`"]
    #[inline(always)]
    pub fn is_divide_39(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_39
    }
    #[doc = "Checks if the value of the field is `DIVIDE_40`"]
    #[inline(always)]
    pub fn is_divide_40(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_40
    }
    #[doc = "Checks if the value of the field is `DIVIDE_41`"]
    #[inline(always)]
    pub fn is_divide_41(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_41
    }
    #[doc = "Checks if the value of the field is `DIVIDE_42`"]
    #[inline(always)]
    pub fn is_divide_42(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_42
    }
    #[doc = "Checks if the value of the field is `DIVIDE_43`"]
    #[inline(always)]
    pub fn is_divide_43(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_43
    }
    #[doc = "Checks if the value of the field is `DIVIDE_44`"]
    #[inline(always)]
    pub fn is_divide_44(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_44
    }
    #[doc = "Checks if the value of the field is `DIVIDE_45`"]
    #[inline(always)]
    pub fn is_divide_45(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_45
    }
    #[doc = "Checks if the value of the field is `DIVIDE_46`"]
    #[inline(always)]
    pub fn is_divide_46(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_46
    }
    #[doc = "Checks if the value of the field is `DIVIDE_47`"]
    #[inline(always)]
    pub fn is_divide_47(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_47
    }
    #[doc = "Checks if the value of the field is `DIVIDE_48`"]
    #[inline(always)]
    pub fn is_divide_48(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_48
    }
    #[doc = "Checks if the value of the field is `DIVIDE_49`"]
    #[inline(always)]
    pub fn is_divide_49(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_49
    }
    #[doc = "Checks if the value of the field is `DIVIDE_50`"]
    #[inline(always)]
    pub fn is_divide_50(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_50
    }
    #[doc = "Checks if the value of the field is `DIVIDE_51`"]
    #[inline(always)]
    pub fn is_divide_51(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_51
    }
    #[doc = "Checks if the value of the field is `DIVIDE_52`"]
    #[inline(always)]
    pub fn is_divide_52(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_52
    }
    #[doc = "Checks if the value of the field is `DIVIDE_53`"]
    #[inline(always)]
    pub fn is_divide_53(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_53
    }
    #[doc = "Checks if the value of the field is `DIVIDE_54`"]
    #[inline(always)]
    pub fn is_divide_54(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_54
    }
    #[doc = "Checks if the value of the field is `DIVIDE_55`"]
    #[inline(always)]
    pub fn is_divide_55(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_55
    }
    #[doc = "Checks if the value of the field is `DIVIDE_56`"]
    #[inline(always)]
    pub fn is_divide_56(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_56
    }
    #[doc = "Checks if the value of the field is `DIVIDE_57`"]
    #[inline(always)]
    pub fn is_divide_57(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_57
    }
    #[doc = "Checks if the value of the field is `DIVIDE_58`"]
    #[inline(always)]
    pub fn is_divide_58(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_58
    }
    #[doc = "Checks if the value of the field is `DIVIDE_59`"]
    #[inline(always)]
    pub fn is_divide_59(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_59
    }
    #[doc = "Checks if the value of the field is `DIVIDE_60`"]
    #[inline(always)]
    pub fn is_divide_60(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_60
    }
    #[doc = "Checks if the value of the field is `DIVIDE_61`"]
    #[inline(always)]
    pub fn is_divide_61(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_61
    }
    #[doc = "Checks if the value of the field is `DIVIDE_62`"]
    #[inline(always)]
    pub fn is_divide_62(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_62
    }
    #[doc = "Checks if the value of the field is `DIVIDE_63`"]
    #[inline(always)]
    pub fn is_divide_63(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_63
    }
    #[doc = "Checks if the value of the field is `DIVIDE_64`"]
    #[inline(always)]
    pub fn is_divide_64(&self) -> bool {
        *self == CAN_CLK_PODF_A::DIVIDE_64
    }
}
#[doc = "Write proxy for field `CAN_CLK_PODF`"]
pub struct CAN_CLK_PODF_W<'a> {
    w: &'a mut W,
}
impl<'a> CAN_CLK_PODF_W<'a> {
    #[doc = r"Writes `variant` to the field"]
    #[inline(always)]
    pub fn variant(self, variant: CAN_CLK_PODF_A) -> &'a mut W {
        {
            self.bits(variant.into())
        }
    }
    #[doc = "Divide by 1"]
    #[inline(always)]
    pub fn divide_1(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_1)
    }
    #[doc = "Divide by 2"]
    #[inline(always)]
    pub fn divide_2(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_2)
    }
    #[doc = "Divide by 3"]
    #[inline(always)]
    pub fn divide_3(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_3)
    }
    #[doc = "Divide by 4"]
    #[inline(always)]
    pub fn divide_4(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_4)
    }
    #[doc = "Divide by 5"]
    #[inline(always)]
    pub fn divide_5(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_5)
    }
    #[doc = "Divide by 6"]
    #[inline(always)]
    pub fn divide_6(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_6)
    }
    #[doc = "Divide by 7"]
    #[inline(always)]
    pub fn divide_7(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_7)
    }
    #[doc = "Divide by 8"]
    #[inline(always)]
    pub fn divide_8(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_8)
    }
    #[doc = "Divide by 9"]
    #[inline(always)]
    pub fn divide_9(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_9)
    }
    #[doc = "Divide by 10"]
    #[inline(always)]
    pub fn divide_10(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_10)
    }
    #[doc = "Divide by 11"]
    #[inline(always)]
    pub fn divide_11(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_11)
    }
    #[doc = "Divide by 12"]
    #[inline(always)]
    pub fn divide_12(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_12)
    }
    #[doc = "Divide by 13"]
    #[inline(always)]
    pub fn divide_13(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_13)
    }
    #[doc = "Divide by 14"]
    #[inline(always)]
    pub fn divide_14(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_14)
    }
    #[doc = "Divide by 15"]
    #[inline(always)]
    pub fn divide_15(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_15)
    }
    #[doc = "Divide by 16"]
    #[inline(always)]
    pub fn divide_16(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_16)
    }
    #[doc = "Divide by 17"]
    #[inline(always)]
    pub fn divide_17(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_17)
    }
    #[doc = "Divide by 18"]
    #[inline(always)]
    pub fn divide_18(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_18)
    }
    #[doc = "Divide by 19"]
    #[inline(always)]
    pub fn divide_19(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_19)
    }
    #[doc = "Divide by 20"]
    #[inline(always)]
    pub fn divide_20(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_20)
    }
    #[doc = "Divide by 21"]
    #[inline(always)]
    pub fn divide_21(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_21)
    }
    #[doc = "Divide by 22"]
    #[inline(always)]
    pub fn divide_22(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_22)
    }
    #[doc = "Divide by 23"]
    #[inline(always)]
    pub fn divide_23(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_23)
    }
    #[doc = "Divide by 24"]
    #[inline(always)]
    pub fn divide_24(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_24)
    }
    #[doc = "Divide by 25"]
    #[inline(always)]
    pub fn divide_25(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_25)
    }
    #[doc = "Divide by 26"]
    #[inline(always)]
    pub fn divide_26(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_26)
    }
    #[doc = "Divide by 27"]
    #[inline(always)]
    pub fn divide_27(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_27)
    }
    #[doc = "Divide by 28"]
    #[inline(always)]
    pub fn divide_28(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_28)
    }
    #[doc = "Divide by 29"]
    #[inline(always)]
    pub fn divide_29(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_29)
    }
    #[doc = "Divide by 30"]
    #[inline(always)]
    pub fn divide_30(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_30)
    }
    #[doc = "Divide by 31"]
    #[inline(always)]
    pub fn divide_31(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_31)
    }
    #[doc = "Divide by 32"]
    #[inline(always)]
    pub fn divide_32(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_32)
    }
    #[doc = "Divide by 33"]
    #[inline(always)]
    pub fn divide_33(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_33)
    }
    #[doc = "Divide by 34"]
    #[inline(always)]
    pub fn divide_34(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_34)
    }
    #[doc = "Divide by 35"]
    #[inline(always)]
    pub fn divide_35(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_35)
    }
    #[doc = "Divide by 36"]
    #[inline(always)]
    pub fn divide_36(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_36)
    }
    #[doc = "Divide by 37"]
    #[inline(always)]
    pub fn divide_37(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_37)
    }
    #[doc = "Divide by 38"]
    #[inline(always)]
    pub fn divide_38(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_38)
    }
    #[doc = "Divide by 39"]
    #[inline(always)]
    pub fn divide_39(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_39)
    }
    #[doc = "Divide by 40"]
    #[inline(always)]
    pub fn divide_40(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_40)
    }
    #[doc = "Divide by 41"]
    #[inline(always)]
    pub fn divide_41(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_41)
    }
    #[doc = "Divide by 42"]
    #[inline(always)]
    pub fn divide_42(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_42)
    }
    #[doc = "Divide by 43"]
    #[inline(always)]
    pub fn divide_43(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_43)
    }
    #[doc = "Divide by 44"]
    #[inline(always)]
    pub fn divide_44(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_44)
    }
    #[doc = "Divide by 45"]
    #[inline(always)]
    pub fn divide_45(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_45)
    }
    #[doc = "Divide by 46"]
    #[inline(always)]
    pub fn divide_46(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_46)
    }
    #[doc = "Divide by 47"]
    #[inline(always)]
    pub fn divide_47(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_47)
    }
    #[doc = "Divide by 48"]
    #[inline(always)]
    pub fn divide_48(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_48)
    }
    #[doc = "Divide by 49"]
    #[inline(always)]
    pub fn divide_49(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_49)
    }
    #[doc = "Divide by 50"]
    #[inline(always)]
    pub fn divide_50(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_50)
    }
    #[doc = "Divide by 51"]
    #[inline(always)]
    pub fn divide_51(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_51)
    }
    #[doc = "Divide by 52"]
    #[inline(always)]
    pub fn divide_52(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_52)
    }
    #[doc = "Divide by 53"]
    #[inline(always)]
    pub fn divide_53(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_53)
    }
    #[doc = "Divide by 54"]
    #[inline(always)]
    pub fn divide_54(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_54)
    }
    #[doc = "Divide by 55"]
    #[inline(always)]
    pub fn divide_55(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_55)
    }
    #[doc = "Divide by 56"]
    #[inline(always)]
    pub fn divide_56(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_56)
    }
    #[doc = "Divide by 57"]
    #[inline(always)]
    pub fn divide_57(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_57)
    }
    #[doc = "Divide by 58"]
    #[inline(always)]
    pub fn divide_58(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_58)
    }
    #[doc = "Divide by 59"]
    #[inline(always)]
    pub fn divide_59(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_59)
    }
    #[doc = "Divide by 60"]
    #[inline(always)]
    pub fn divide_60(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_60)
    }
    #[doc = "Divide by 61"]
    #[inline(always)]
    pub fn divide_61(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_61)
    }
    #[doc = "Divide by 62"]
    #[inline(always)]
    pub fn divide_62(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_62)
    }
    #[doc = "Divide by 63"]
    #[inline(always)]
    pub fn divide_63(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_63)
    }
    #[doc = "Divide by 64"]
    #[inline(always)]
    pub fn divide_64(self) -> &'a mut W {
        self.variant(CAN_CLK_PODF_A::DIVIDE_64)
    }
    #[doc = r"Writes raw bits to the field"]
    #[inline(always)]
    pub fn bits(self, value: u8) -> &'a mut W {
        self.w.bits = (self.w.bits & !(0x3f << 2)) | (((value as u32) & 0x3f) << 2);
        self.w
    }
}
#[doc = "Selector for CAN/CANFD clock multiplexer\n\nValue on reset: 3"]
#[derive(Clone, Copy, Debug, PartialEq)]
#[repr(u8)]
pub enum CAN_CLK_SEL_A {
    #[doc = "0: derive clock from pll3_sw_clk divided clock (60M)"]
    CAN_CLK_SEL_0 = 0,
    #[doc = "1: derive clock from osc_clk (24M)"]
    CAN_CLK_SEL_1 = 1,
    #[doc = "2: derive clock from pll3_sw_clk divided clock (80M)"]
    CAN_CLK_SEL_2 = 2,
    #[doc = "3: Disable FlexCAN clock"]
    CAN_CLK_SEL_3 = 3,
}
impl From<CAN_CLK_SEL_A> for u8 {
    #[inline(always)]
    fn from(variant: CAN_CLK_SEL_A) -> Self {
        variant as _
    }
}
#[doc = "Reader of field `CAN_CLK_SEL`"]
pub type CAN_CLK_SEL_R = crate::R<u8, CAN_CLK_SEL_A>;
impl CAN_CLK_SEL_R {
    #[doc = r"Get enumerated values variant"]
    #[inline(always)]
    pub fn variant(&self) -> CAN_CLK_SEL_A {
        match self.bits {
            0 => CAN_CLK_SEL_A::CAN_CLK_SEL_0,
            1 => CAN_CLK_SEL_A::CAN_CLK_SEL_1,
            2 => CAN_CLK_SEL_A::CAN_CLK_SEL_2,
            3 => CAN_CLK_SEL_A::CAN_CLK_SEL_3,
            _ => unreachable!(),
        }
    }
    #[doc = "Checks if the value of the field is `CAN_CLK_SEL_0`"]
    #[inline(always)]
    pub fn is_can_clk_sel_0(&self) -> bool {
        *self == CAN_CLK_SEL_A::CAN_CLK_SEL_0
    }
    #[doc = "Checks if the value of the field is `CAN_CLK_SEL_1`"]
    #[inline(always)]
    pub fn is_can_clk_sel_1(&self) -> bool {
        *self == CAN_CLK_SEL_A::CAN_CLK_SEL_1
    }
    #[doc = "Checks if the value of the field is `CAN_CLK_SEL_2`"]
    #[inline(always)]
    pub fn is_can_clk_sel_2(&self) -> bool {
        *self == CAN_CLK_SEL_A::CAN_CLK_SEL_2
    }
    #[doc = "Checks if the value of the field is `CAN_CLK_SEL_3`"]
    #[inline(always)]
    pub fn is_can_clk_sel_3(&self) -> bool {
        *self == CAN_CLK_SEL_A::CAN_CLK_SEL_3
    }
}
#[doc = "Write proxy for field `CAN_CLK_SEL`"]
pub struct CAN_CLK_SEL_W<'a> {
    w: &'a mut W,
}
impl<'a> CAN_CLK_SEL_W<'a> {
    #[doc = r"Writes `variant` to the field"]
    #[inline(always)]
    pub fn variant(self, variant: CAN_CLK_SEL_A) -> &'a mut W {
        {
            self.bits(variant.into())
        }
    }
    #[doc = "derive clock from pll3_sw_clk divided clock (60M)"]
    #[inline(always)]
    pub fn can_clk_sel_0(self) -> &'a mut W {
        self.variant(CAN_CLK_SEL_A::CAN_CLK_SEL_0)
    }
    #[doc = "derive clock from osc_clk (24M)"]
    #[inline(always)]
    pub fn can_clk_sel_1(self) -> &'a mut W {
        self.variant(CAN_CLK_SEL_A::CAN_CLK_SEL_1)
    }
    #[doc = "derive clock from pll3_sw_clk divided clock (80M)"]
    #[inline(always)]
    pub fn can_clk_sel_2(self) -> &'a mut W {
        self.variant(CAN_CLK_SEL_A::CAN_CLK_SEL_2)
    }
    #[doc = "Disable FlexCAN clock"]
    #[inline(always)]
    pub fn can_clk_sel_3(self) -> &'a mut W {
        self.variant(CAN_CLK_SEL_A::CAN_CLK_SEL_3)
    }
    #[doc = r"Writes raw bits to the field"]
    #[inline(always)]
    pub fn bits(self, value: u8) -> &'a mut W {
        self.w.bits = (self.w.bits & !(0x03 << 8)) | (((value as u32) & 0x03) << 8);
        self.w
    }
}
#[doc = "Selector for flexio2/flexio3 clock multiplexer\n\nValue on reset: 3"]
#[derive(Clone, Copy, Debug, PartialEq)]
#[repr(u8)]
pub enum FLEXIO2_CLK_SEL_A {
    #[doc = "0: derive clock from PLL4 divided clock"]
    FLEXIO2_CLK_SEL_0 = 0,
    #[doc = "1: derive clock from PLL3 PFD2 clock"]
    FLEXIO2_CLK_SEL_1 = 1,
    #[doc = "2: derive clock from PLL5 clock"]
    FLEXIO2_CLK_SEL_2 = 2,
    #[doc = "3: derive clock from pll3_sw_clk"]
    FLEXIO2_CLK_SEL_3 = 3,
}
impl From<FLEXIO2_CLK_SEL_A> for u8 {
    #[inline(always)]
    fn from(variant: FLEXIO2_CLK_SEL_A) -> Self {
        variant as _
    }
}
#[doc = "Reader of field `FLEXIO2_CLK_SEL`"]
pub type FLEXIO2_CLK_SEL_R = crate::R<u8, FLEXIO2_CLK_SEL_A>;
impl FLEXIO2_CLK_SEL_R {
    #[doc = r"Get enumerated values variant"]
    #[inline(always)]
    pub fn variant(&self) -> FLEXIO2_CLK_SEL_A {
        match self.bits {
            0 => FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_0,
            1 => FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_1,
            2 => FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_2,
            3 => FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_3,
            _ => unreachable!(),
        }
    }
    #[doc = "Checks if the value of the field is `FLEXIO2_CLK_SEL_0`"]
    #[inline(always)]
    pub fn is_flexio2_clk_sel_0(&self) -> bool {
        *self == FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_0
    }
    #[doc = "Checks if the value of the field is `FLEXIO2_CLK_SEL_1`"]
    #[inline(always)]
    pub fn is_flexio2_clk_sel_1(&self) -> bool {
        *self == FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_1
    }
    #[doc = "Checks if the value of the field is `FLEXIO2_CLK_SEL_2`"]
    #[inline(always)]
    pub fn is_flexio2_clk_sel_2(&self) -> bool {
        *self == FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_2
    }
    #[doc = "Checks if the value of the field is `FLEXIO2_CLK_SEL_3`"]
    #[inline(always)]
    pub fn is_flexio2_clk_sel_3(&self) -> bool {
        *self == FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_3
    }
}
#[doc = "Write proxy for field `FLEXIO2_CLK_SEL`"]
pub struct FLEXIO2_CLK_SEL_W<'a> {
    w: &'a mut W,
}
impl<'a> FLEXIO2_CLK_SEL_W<'a> {
    #[doc = r"Writes `variant` to the field"]
    #[inline(always)]
    pub fn variant(self, variant: FLEXIO2_CLK_SEL_A) -> &'a mut W {
        {
            self.bits(variant.into())
        }
    }
    #[doc = "derive clock from PLL4 divided clock"]
    #[inline(always)]
    pub fn flexio2_clk_sel_0(self) -> &'a mut W {
        self.variant(FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_0)
    }
    #[doc = "derive clock from PLL3 PFD2 clock"]
    #[inline(always)]
    pub fn flexio2_clk_sel_1(self) -> &'a mut W {
        self.variant(FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_1)
    }
    #[doc = "derive clock from PLL5 clock"]
    #[inline(always)]
    pub fn flexio2_clk_sel_2(self) -> &'a mut W {
        self.variant(FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_2)
    }
    #[doc = "derive clock from pll3_sw_clk"]
    #[inline(always)]
    pub fn flexio2_clk_sel_3(self) -> &'a mut W {
        self.variant(FLEXIO2_CLK_SEL_A::FLEXIO2_CLK_SEL_3)
    }
    #[doc = r"Writes raw bits to the field"]
    #[inline(always)]
    pub fn bits(self, value: u8) -> &'a mut W {
        self.w.bits = (self.w.bits & !(0x03 << 19)) | (((value as u32) & 0x03) << 19);
        self.w
    }
}
impl R {
    #[doc = "Bits 2:7 - Divider for CAN/CANFD clock podf."]
    #[inline(always)]
    pub fn can_clk_podf(&self) -> CAN_CLK_PODF_R {
        CAN_CLK_PODF_R::new(((self.bits >> 2) & 0x3f) as u8)
    }
    #[doc = "Bits 8:9 - Selector for CAN/CANFD clock multiplexer"]
    #[inline(always)]
    pub fn can_clk_sel(&self) -> CAN_CLK_SEL_R {
        CAN_CLK_SEL_R::new(((self.bits >> 8) & 0x03) as u8)
    }
    #[doc = "Bits 19:20 - Selector for flexio2/flexio3 clock multiplexer"]
    #[inline(always)]
    pub fn flexio2_clk_sel(&self) -> FLEXIO2_CLK_SEL_R {
        FLEXIO2_CLK_SEL_R::new(((self.bits >> 19) & 0x03) as u8)
    }
}
impl W {
    #[doc = "Bits 2:7 - Divider for CAN/CANFD clock podf."]
    #[inline(always)]
    pub fn can_clk_podf(&mut self) -> CAN_CLK_PODF_W {
        CAN_CLK_PODF_W { w: self }
    }
    #[doc = "Bits 8:9 - Selector for CAN/CANFD clock multiplexer"]
    #[inline(always)]
    pub fn can_clk_sel(&mut self) -> CAN_CLK_SEL_W {
        CAN_CLK_SEL_W { w: self }
    }
    #[doc = "Bits 19:20 - Selector for flexio2/flexio3 clock multiplexer"]
    #[inline(always)]
    pub fn flexio2_clk_sel(&mut self) -> FLEXIO2_CLK_SEL_W {
        FLEXIO2_CLK_SEL_W { w: self }
    }
}