in arch/arm/src/am335x/am335x_clockconfig.c [127:560]
static void am335x_peripheral_enable(void)
{
uint32_t wkup = CM_WKUP_CLKSTCTRL_L4_WKUP_GCLK;
uint32_t per_ocpwp_l3 = CM_PER_OCPWP_L3_CLKSTCTRL_OCPWP_L3_GCLK;
uint32_t per_l3 = CM_PER_L3_CLKSTCTRL_L3_GCLK;
uint32_t per_l3s = CM_PER_L3S_CLKSTCTRL_L3S_GCLK;
uint32_t per_l4ls = CM_PER_L4LS_CLKSTCTRL_L4LS_GCLK;
uint32_t per_lcdc = 0;
uint32_t per_cpsw = 0;
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_WKUP_GPIO0_CLKCTRL);
while ((getreg32(AM335X_CM_WKUP_GPIO0_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_WKUP_TIMER1_CLKCTRL);
while ((getreg32(AM335X_CM_WKUP_TIMER1_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
wkup |= CM_WKUP_CLKSTCTRL_TIMER1_GCLK;
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_WKUP_WDT1_CLKCTRL);
while ((getreg32(AM335X_CM_WKUP_WDT1_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
wkup |= CM_WKUP_CLKSTCTRL_WDT1_GCLK;
#ifdef CONFIG_AM335X_TIMER0
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_WKUP_TIMER0_CLKCTRL);
while ((getreg32(AM335X_CM_WKUP_TIMER0_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
wkup |= CM_WKUP_CLKSTCTRL_TIMER0_GCLK;
#endif
#ifdef CONFIG_AM335X_UART0
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_WKUP_UART0_CLKCTRL);
while ((getreg32(AM335X_CM_WKUP_UART0_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
wkup |= CM_WKUP_CLKSTCTRL_UART0_GFCLK;
#endif
#ifdef CONFIG_AM335X_I2C0
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_WKUP_I2C0_CLKCTRL);
while ((getreg32(AM335X_CM_WKUP_I2C0_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
wkup |= CM_WKUP_CLKSTCTRL_I2C0_GFCLK;
#endif
#ifdef CONFIG_AM335X_TSC
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_WKUP_ADC_TSC_CLKCTRL);
while ((getreg32(AM335X_CM_WKUP_ADC_TSC_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
wkup |= CM_WKUP_CLKSTCTRL_ADC_FCLK;
#endif
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_GPMC_CLKCTRL);
while ((getreg32(AM335X_CM_PER_GPMC_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_ELM_CLKCTRL);
while ((getreg32(AM335X_CM_PER_ELM_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_GPIO1_CLKCTRL);
while ((getreg32(AM335X_CM_PER_GPIO1_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_GPIO2_CLKCTRL);
while ((getreg32(AM335X_CM_PER_GPIO2_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_GPIO3_CLKCTRL);
while ((getreg32(AM335X_CM_PER_GPIO3_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
#ifdef CONFIG_AM335X_TIMER2
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_TIMER2_CLKCTRL);
while ((getreg32(AM335X_CM_PER_TIMER2_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_TIMER2_GCLK;
#endif
#ifdef CONFIG_AM335X_TIMER3
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_TIMER3_CLKCTRL);
while ((getreg32(AM335X_CM_PER_TIMER3_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_TIMER3_GCLK;
#endif
#ifdef CONFIG_AM335X_TIMER4
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_TIMER4_CLKCTRL);
while ((getreg32(AM335X_CM_PER_TIMER4_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_TIMER4_GCLK;
#endif
#ifdef CONFIG_AM335X_TIMER5
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_TIMER5_CLKCTRL);
while ((getreg32(AM335X_CM_PER_TIMER5_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_TIMER5_GCLK;
#endif
#ifdef CONFIG_AM335X_TIMER6
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_TIMER6_CLKCTRL);
while ((getreg32(AM335X_CM_PER_TIMER6_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_TIMER6_GCLK;
#endif
#ifdef CONFIG_AM335X_TIMER7
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_TIMER7_CLKCTRL);
while ((getreg32(AM335X_CM_PER_TIMER7_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_TIMER7_GCLK;
#endif
#ifdef CONFIG_AM335X_UART1
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_UART1_CLKCTRL);
while ((getreg32(AM335X_CM_PER_UART1_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_UART_GCLK;
#endif
#ifdef CONFIG_AM335X_UART2
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_UART2_CLKCTRL);
while ((getreg32(AM335X_CM_PER_UART2_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_UART_GCLK;
#endif
#ifdef CONFIG_AM335X_UART3
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_UART3_CLKCTRL);
while ((getreg32(AM335X_CM_PER_UART3_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_UART_GCLK;
#endif
#ifdef CONFIG_AM335X_UART4
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_UART4_CLKCTRL);
while ((getreg32(AM335X_CM_PER_UART4_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_UART_GCLK;
#endif
#ifdef CONFIG_AM335X_UART5
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_UART5_CLKCTRL);
while ((getreg32(AM335X_CM_PER_UART5_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_UART_GCLK;
#endif
#if defined(CONFIG_AM335X_CAN0)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_DCAN0_CLKCTRL);
while ((getreg32(AM335X_CM_PER_DCAN0_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_CAN_CLK;
#endif
#if defined(CONFIG_AM335X_CAN1)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_DCAN1_CLKCTRL);
while ((getreg32(AM335X_CM_PER_DCAN1_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_CAN_CLK;
#endif
#if defined(CONFIG_AM335X_SPI0)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_SPI0_CLKCTRL);
while ((getreg32(AM335X_CM_PER_SPI0_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_SPI_GCLK;
#endif
#if defined(CONFIG_AM335X_SPI1)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_SPI1_CLKCTRL);
while ((getreg32(AM335X_CM_PER_SPI1_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_SPI_GCLK;
#endif
#if defined(CONFIG_AM335X_I2C1)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_I2C1_CLKCTRL);
while ((getreg32(AM335X_CM_PER_I2C1_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_I2C_FCLK;
#endif
#if defined(CONFIG_AM335X_I2C2)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_I2C2_CLKCTRL);
while ((getreg32(AM335X_CM_PER_I2C2_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_I2C_FCLK;
#endif
#if defined(CONFIG_AM335X_USB0) || defined(CONFIG_AM335X_USB1)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_USB0_CLKCTRL);
while ((getreg32(AM335X_CM_PER_USB0_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
#endif
#if defined(CONFIG_AM335X_MMC0)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_MMC0_CLKCTRL);
while ((getreg32(AM335X_CM_PER_MMC0_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L3_CLKSTCTRL_MMC_FCLK;
#endif
#if defined(CONFIG_AM335X_MMC1)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_MMC1_CLKCTRL);
while ((getreg32(AM335X_CM_PER_MMC1_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L3_CLKSTCTRL_MMC_FCLK;
#endif
#if defined(CONFIG_AM335X_MMC2)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_MMC2_CLKCTRL);
while ((getreg32(AM335X_CM_PER_MMC2_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_l4ls |= CM_PER_L3_CLKSTCTRL_MMC_FCLK;
#endif
#if defined(CONFIG_AM335X_LCDC)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_LCDC_CLKCTRL);
while ((getreg32(AM335X_CM_PER_LCDC_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_lcdc |= CM_PER_LCDC_CLKSTCTRL_LCDC_L4_OCP_GCLK |
CM_PER_LCDC_CLKSTCTRL_LCDC_L3_OCP_GCLK;
per_l4ls |= CM_PER_L4LS_CLKSTCTRL_LCDC_GCLK;
#endif
#if defined(CONFIG_AM335X_CPSW)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_CPGMAC0_CLKCTRL);
while ((getreg32(AM335X_CM_PER_CPGMAC0_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
per_cpsw |= CM_PER_CPSW_CLKSTCTRL_CPSW_125MHZ_GCLK;
#endif
#if defined(CONFIG_AM335X_DMA)
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_TPCC_CLKCTRL);
while ((getreg32(AM335X_CM_PER_TPCC_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_TPTC0_CLKCTRL);
while ((getreg32(AM335X_CM_PER_TPTC0_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_TPTC1_CLKCTRL);
while ((getreg32(AM335X_CM_PER_TPTC1_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_PER_TPTC2_CLKCTRL);
while ((getreg32(AM335X_CM_PER_TPTC2_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
#endif
putreg32(CM_CLKCTRL_MODULEMODE_ENABLE, AM335X_CM_WKUP_CONTROL_CLKCTRL);
while ((getreg32(AM335X_CM_WKUP_CONTROL_CLKCTRL) &
(CM_CLKCTRL_MODULEMODE_MASK | CM_CLKCTRL_IDLEST_MASK))
!= (CM_CLKCTRL_MODULEMODE_ENABLE | CM_CLKCTRL_IDLEST_FUNC))
{
}
while ((getreg32(AM335X_CM_PER_LCDC_CLKSTCTRL) & per_lcdc) != per_lcdc)
{
}
while ((getreg32(AM335X_CM_PER_CPSW_CLKSTCTRL) & per_cpsw) != per_cpsw)
{
}
while ((getreg32(AM335X_CM_WKUP_CLKSTCTRL) & wkup) != wkup)
{
}
while ((getreg32(AM335X_CM_PER_L3S_CLKSTCTRL) & per_l3s) != per_l3s)
{
}
while ((getreg32(AM335X_CM_PER_L3_CLKSTCTRL) & per_l3) != per_l3)
{
}
while ((getreg32(AM335X_CM_PER_OCPWP_L3_CLKSTCTRL) & per_ocpwp_l3) !=
per_ocpwp_l3)
{
}
while ((getreg32(AM335X_CM_PER_L4LS_CLKSTCTRL) & per_l4ls) != per_l4ls)
{
}
}