copyright: "2012 chrysn " license: lgpl-3+ ingroup: EFM32TG shortdocname: EFM32TG_CMU shortname: CMU longname: Clock Management Unit baseref: d0034_efm32tg_reference_manual.pdf section 11 registers_baserefext: ".4" registers: - name: CTRL offset: 0x000 definition_baserefext: ".5.1" fields: - name: DBGCLK shift: 28 values: - {name: AUXHFRCO, value: 0} - {name: HFCLK, value: 1} - name: CLKOUTSEL1 shift: 23 length: 3 values: - {name: LFRCO, value: 0} - {name: LFXO, value: 1} - {name: HFCLK, value: 2} - {name: LFXOQ, value: 3} - {name: HFXOQ, value: 4} - {name: LFRCOQ, value: 5} - {name: HFRCOQ, value: 6} - {name: AUXHFRCOQ, value: 7} - name: CLKOUTSEL0 shift: 20 length: 3 values: - {name: HFRCO, value: 0} - {name: HFXO, value: 1} - {name: HFCLK2, value: 2} - {name: HFCLK4, value: 3} - {name: HFCLK8, value: 4} - {name: HFCLK16, value: 5} - {name: ULFRCO, value: 6} - {name: AUXHFRCO, value: 7} - name: LFXOTIMEOUT shift: 18 length: 2 values: - {name: 8CYCLES, value: 0} - {name: 1KCYCLES, value: 1} - {name: 16KCYCLES, value: 2} - {name: 32KCYCLES, value: 3} - name: LFXOBUFCUR shift: 17 - name: LXFOBOOST shift: 13 values: - {name: 70PCENT, value: 0} - {name: 100PCENT, value: 1} - name: LFXOMODE shift: 11 length: 2 values: - {name: XTAL, value: 0} - {name: BUFEXTCLK, value: 1} - {name: DIGEXTCLK, value: 2} - name: HFXOTIMEOUT shift: 9 length: 2 values: - {name: 8CYCLES, value: 0} - {name: 256CYCLES, value: 1} - {name: 1KCYCLES, value: 2} - {name: 16KCYCLES, value: 3} - name: HFXOGLITCHDETEN shift: 7 - name: HFXOBUFCUR shift: 5 length: 2 type: undocumented - name: HFXOBOOST shift: 2 length: 2 values: - {name: 50PCENT, value: 0} - {name: 70PCENT, value: 1} - {name: 80PCENT, value: 2} - {name: 100PCENT, value: 3} - name: HFXOMODE shift: 0 length: 2 values: - {name: XTAL, value: 0} - {name: BUFEXTCLK, value: 1} - {name: DIGEXTCLK, value: 2} - name: HFCORECLKDIV offset: 0x004 definition_baserefext: ".5.2" values: &HFCORECLKDIV_values - {value: 0, name: HFCLK} - {value: 1, name: HFCLK2} - {value: 2, name: HFCLK4} - {value: 3, name: HFCLK8} - {value: 4, name: HFCLK16} - {value: 5, name: HFCLK32} - {value: 6, name: HFCLK64} - {value: 7, name: HFCLK128} - {value: 8, name: HFCLK256} - {value: 9, name: HFCLK512} - name: HFPERCLKDIV offset: 0x008 definition_baserefext: ".5.3" fields: - name: HFPERCLKEN shift: 8 - name: HFPERCLKDIV shift: 0 length: 3 # not using generically named values here due to different register structure values: *HFCORECLKDIV_values - name: HFRCOCTRL offset: 0x00c definition_baserefext: ".5.4" fields: - name: SUDELAY shift: 12 length: 5 type: undocumented - name: BAND shift: 8 length: 3 values: - {value: 0, name: 1MHZ} - {value: 1, name: 7MHZ} - {value: 2, name: 11MHZ} - {value: 3, name: 14MHZ} - {value: 4, name: 21MHZ} - {value: 5, name: 28MHZ} - name: TUNING shift: 0 length: 8 type: uint - name: LFRCOCTRL offset: 0x010 definition_baserefext: ".5.5" length: 7 - name: AUXHFRCOCTRL offset: 0x014 definition_baserefext: ".5.6" fields: - name: BAND shift: 8 length: 3 values: - {value: 0, name: 14MHZ} - {value: 1, name: 11MHZ} - {value: 2, name: 7MHZ} - {value: 3, name: 1MHZ} - {value: 6, name: 28MHZ} - {value: 7, name: 21MHZ} - name: TUNING shift: 0 length: 8 type: uint - name: CALCTRL offset: 0x018 definition_baserefext: ".6.7" fields: - name: CONT shift: 6 - name: DOWNSEL shift: 3 length: 3 values: - {value: 0, name: HFCLK} - {value: 1, name: HFXO} - {value: 2, name: LFXO} - {value: 3, name: HFRCO} - {value: 4, name: LFRCO} - {value: 5, name: AUXHFRCO} - name: UPSEL shift: 0 length: 3 values: - {value: 0, name: HFXO} - {value: 1, name: LFXO} - {value: 2, name: HFRCO} - {value: 3, name: LFRCO} - {value: 4, name: AUXHFRCO} - name: CALCNT offset: 0x01c definition_baserefext: ".5.8" length: 19 - name: OSCENCMD offset: 0x020 definition_baserefext: ".5.9" fields: - {name: LFXODIS, shift: 9} - {name: LFXOEN, shift: 8} - {name: LFRCODIS, shift: 7} - {name: LFRCOEN, shift: 6} - {name: AUXHFRCODIS, shift: 5} - {name: AUXHFRCOEN, shift: 4} - {name: HFXODIS, shift: 3} - {name: HFXOEN, shift: 2} - {name: HFRCODIS, shift: 1} - {name: HFRCOEN, shift: 0} - name: CMD offset: 0x024 definition_baserefext: ".5.10" fields: - name: CALSTOP shift: 4 - name: CALSTART shift: 3 - name: HFCLKSEL shift: 0 length: 3 values: - {value: 1, name: HFRCO} - {value: 2, name: HFXO} - {value: 3, name: LFRCO} - {value: 4, name: LFXO} - name: LFCLKSEL offset: 0x028 definition_baserefext: ".5.11" fields: - name: LFBE shift: 20 values: &LFCLKSEL_LFBE - {value: 0, name: DISABLED} - {value: 1, name: ULFRCO} - name: LFAE shift: 16 values: *LFCLKSEL_LFBE - name: LFB shift: 2 length: 2 values: &LFCLKSEL_LFB - {value: 0, name: DISABLED} - {value: 1, name: LFRCO} - {value: 2, name: LFXO} - {value: 3, name: HFCORECLKLEDIV2} - name: LFA shift: 0 length: 2 values: *LFCLKSEL_LFB - name: STATUS offset: 0x02c definition_baserefext: ".5.12" fields: - {name: CALBSY, shift: 14} - {name: LFXOSEL, shift: 13} - {name: LFRCOSEL, shift: 12} - {name: HFXOSEL, shift: 11} - {name: HFRCOSEL, shift: 10} - {name: LFXORDY, shift: 9} - {name: LFXOENS, shift: 8} - {name: LFRCORDY, shift: 7} - {name: LFRCOENS, shift: 6} - {name: AUXHFRCORDY, shift: 5} - {name: AUXHFRCOENS, shift: 4} - {name: HFXORDY, shift: 3} - {name: HFXOENS, shift: 2} - {name: HFRCORDY, shift: 1} - {name: HFRCOENS, shift: 0} - name: IF offset: 0x030 definition_baserefext: ".5.13" #fields: I - name: IFS offset: 0x034 definition_baserefext: ".5.14" #fields: I - name: IFC offset: 0x038 definition_baserefext: ".5.15" #fields: I - name: IEN offset: 0x03c definition_baserefext: ".5.16" #fields: I - name: HFCORECLKEN0 offset: 0x040 definition_baserefext: ".5.17" fields: - {name: LE, shift: 2} - {name: DMA, shift: 1} - {name: AES, shift: 0} - name: HFPERCLKEN0 offset: 0x044 definition_baserefext: ".5.18" fields: - {name: I2C0, shift: 11} - {name: DAC0, shift: 10} - {name: ADC0, shift: 9} - {name: PRS, shift: 8} - {name: VCMP, shift: 7} - {name: GPIO, shift: 6} - {name: TIMER1, shift: 5} - {name: TIMER0, shift: 4} - {name: USART1, shift: 3} - {name: USART0, shift: 2} - {name: ACMP1, shift: 1} - {name: ACMP0, shift: 0} - name: SYNCBUSY offset: 0x050 definition_baserefext: ".5.19" fields: - {name: LFBPRESC0, shift: 6} - {name: LFBCLKEN0, shift: 4} - {name: LFAPRESC0, shift: 2} - {name: LFACLKEN0, shift: 0} - name: FREEZE offset: 0x054 definition_baserefext: ".5.20" fields: - name: REGFREEZE shift: 0 values: - {value: 0, name: UPDATE} - {value: 1, name: FREEZE} - name: LFACLKEN0 offset: 0x058 definition_baserefext: ".5.21" fields: - {name: LCD, shift: 3} - {name: LETIMER0, shift: 2} - {name: RTC, shift: 1} - {name: LESENSE, shift: 0} - name: LFBCLKEN0 offset: 0x060 definition_baserefext: ".5.22" fields: - {name: LEUART0, shift: 0} - name: LFAPRESC0 offset: 0x068 definition_baserefext: ".5.23" fields: - name: LCD shift: 12 length: 2 values: - {value: 0, name: DIV16} - {value: 1, name: DIV32} - {value: 2, name: DIV64} - {value: 3, name: DIV128} - name: LETIMER0 shift: 8 length: 4 values: &LFAPRESC0_LETIMER0_values - {value: 0, name: DIV1} - {value: 1, name: DIV2} - {value: 2, name: DIV4} - {value: 3, name: DIV8} - {value: 4, name: DIV16} - {value: 5, name: DIV32} - {value: 6, name: DIV64} - {value: 7, name: DIV128} - {value: 8, name: DIV256} - {value: 9, name: DIV512} - {value: 10, name: DIV1024} - {value: 11, name: DIV2048} - {value: 12, name: DIV4096} - {value: 13, name: DIV8192} - {value: 14, name: DIV16384} - {value: 15, name: DIV32768} - name: RTC shift: 4 length: 4 values: *LFAPRESC0_LETIMER0_values - name: LESENSE shift: 0 length: 2 values: - {value: 0, name: DIV1} - {value: 1, name: DIV2} - {value: 2, name: DIV4} - {value: 3, name: DIV8} - name: LFBPRESC0 offset: 0x070 definition_baserefext: ".5.24" fields: - name: LEUART0 shift: 0 length: 2 values: - {value: 0, name: DIV1} - {value: 1, name: DIV2} - {value: 2, name: DIV4} - {value: 3, name: DIV8} - name: PCNTCTRL offset: 0x078 definition_baserefext: ".5.25" fields: - name: PCNT0CLKSEL shift: 1 values: - {value: 0, name: LFACLK} - {value: 1, name: PCNT0S0} - name: PCNT0CLKEN shift: 0 - name: LCDCTRL offset: 0x07c definition_baserefext: ".5.26" fields: - name: VBFDIV shift: 4 length: 3 values: - {value: 0, name: DIV1} - {value: 1, name: DIV2} - {value: 2, name: DIV4} - {value: 3, name: DIV8} - {value: 4, name: DIV16} - {value: 5, name: DIV32} - {value: 6, name: DIV64} - {value: 7, name: DIV128} - name: VBOOSTEN shift: 3 - name: FDIV shift: 0 length: 3 type: uint - name: ROUTE offset: 0x080 definition_baserefext: ".5.27" fields: - name: LOCATION shift: 4 length: 3 values: - {value: 0, name: LOC0} - {value: 1, name: LOC1} - name: CLKOUT1PEN shift: 1 - name: CLKOUT0PEN shift: 0 - name: LOCK offset: 0x084 definition_baserefext: ".5.28" length: 16 values: - {name: IS_UNLOCKED, value: 0} - {name: IS_LOCKED, value: 1} - {name: SET_LOCKED, value: 0} - {name: SET_UNLOCKED, value: "0x580E"}