SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
Figure 3-42 is an overview of the CM_CORE_AON_CLKOUTMUX
There is no dedicated register to enable CLKOUTMUX0_CLK clock to propagate to clkout3 device pad. CLKOUTMUX0_CLK will stay gated until one of the TIMER5/6/7/8 is enabled and CLKOUTMUX0 _CLK is selected as the source clock for the timer functional clock.
The CLKOUTMUX0_CLK clock is propagated to clkout3 device pad only when at least one of the following registers is configured: CM_IPU_TIMER5/6/7/8_CLKCTRL[27:24] CLKSEL (value: 0xB).
In addition, if there is a need to propagate MPU_GCLK to device pad (clkout3), the user needs to write 0x1 to the hardware observability control register: CTRL_CORE_HWOBS_CONTROL[0] HWOBS_MACRO_ENABLE.
The OSC_32K_CLK clock, provided by the On-die 32K RC Osc is not accurate 32KHz clock. The frequency may vary with temperature and silicon characteristics.
In order to enable CLKOUTMUX1_CLK and CLKOUTMUX2_CLK clocks to propagate to the corresponding device pads (clkout1 and clkout2), the user needs to configure registers: CM_COREAON_CLKOUTMUX1_CLKCTRL[8] OPTFCLKEN_CLKOUTMUX1_CLK (value: 0x1) and CM_COREAON_CLKOUTMUX2_CLKCTRL[8] OPTFCLKEN_CLKOUTMUX2_CLK (value: 0x1).
In addition, if there is a need to propagate MPU_GCLK to device pad (clkout1 or clkout2), the user needs to write 0x1 to the hardware observability control register: CTRL_CORE_HWOBS_CONTROL[0] HWOBS_MACRO_ENABLE.
The OSC_32K_CLK clock, provided by the On-die 32K RC Osc is not accurate 32KHz clock. The frequency may vary with temperature and silicon characteristics.
Table 3-40 identifies controls for clock dividers or muxes in the CM_CORE_AON_CLKOUTMUX.
Divider/Mux | Control Bit Field |
---|---|
Mux CLKOUTMUX0_CLK | CM_CLKSEL_CLKOUTMUX0[4:0] CLKSEL |
Mux CLKOUTMUX2_CLK | CM_CLKSEL_CLKOUTMUX2[4:0] CLKSEL |
Mux CLKOUTMUX1_CLK | CM_CLKSEL_CLKOUTMUX1[4:0] CLKSEL |
Divider SYS_CLK1_DCLK | CM_CLKSEL_SYS_CLK1_CLKOUTMUX[2:0] CLKSEL |
Divider SYS_CLK2_DCLK | CM_CLKSEL_SYS_CLK2_CLKOUTMUX[2:0] CLKSEL |
Divider PER_ABE_X1_DCLK | CM_CLKSEL_PER_ABE_X1_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider MPU_DCLK | CM_CLKSEL_MPU_GCLK_CLKOUTMUX[2:0] CLKSEL |
Divider DSP_DCLK | CM_CLKSEL_DSP_GFCLK_CLKOUTMUX[2:0] CLKSEL |
Divider IVA_DCLK | CM_CLKSEL_IVA_GCLK_CLKOUTMUX[2:0] CLKSEL |
Divider GPU_DCLK | CM_CLKSEL_GPU_GCLK_CLKOUTMUX[2:0] CLKSEL |
Divider CORE_DPLL_OUT_DCLK | CM_CLKSEL_CORE_DPLL_OUT_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider EMIF_PHY_DCLK | CM_CLKSEL_EMIF_PHY_GCLK_CLKOUTMUX[2:0] CLKSEL |
Divider GMAC_250M_DCLK | CM_CLKSEL_GMAC_250M_CLK_CLKOUTMUX[2:0] CLKSEL |
Divier VIDEO2_DCLK | CM_CLKSEL_VIDEO2_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider VIDEO1_DCLK | CM_CLKSEL_VIDEO1_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider HDMI_DCLK | CM_CLKSEL_HDMI_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider FUNC_96M_AON_DCLK | CM_CLKSEL_FUNC_96M_AON_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider L3INIT_480M_DCLK | CM_CLKSEL_L3INIT_480M_GFCLK_CLKOUTMUX[2:0] CLKSEL |
Divider USB_OTG_DCLK | CM_CLKSEL_USB_OTG_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider SATA_DCLK | CM_CLKSEL_SATA_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider PCIE2_DCLK | CM_CLKSEL_PCIE2_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider PCIE1_DCLK | CM_CLKSEL_PCIE1_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider EMU_DCLK | CM_CLKSEL_EMU_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider OSC_32K_DCLK | CM_CLKSEL_OSC_32K_CLK_CLKOUTMUX[2:0] CLKSEL |
Divider EVE_DCLK | CM_CLKSEL_EVE_GFCLK_CLKOUTMUX[2:0] CLKSEL |