3 #ifndef CPU_SAMSUNG_EXYNOS5420_CLK_H
4 #define CPU_SAMSUNG_EXYNOS5420_CLK_H
8 #include <soc/pinmux.h>
41 #define MCT_HZ 24000000
646 #define EXYNOS5_EPLLCON0_LOCKED_SHIFT 29
647 #define EPLL_SRC_CLOCK 24000000
648 #define TIMEOUT_EPLL_LOCK 1000
650 #define AUDIO_0_RATIO_MASK 0x0f
651 #define AUDIO_1_RATIO_MASK 0x0f
653 #define CLK_SRC_PERIC1 0x254
654 #define AUDIO1_SEL_MASK 0xf
655 #define CLK_SRC_AUDIOCDCLK1 0x0
656 #define CLK_SRC_XXTI 0x1
657 #define CLK_SRC_SCLK_EPLL 0x7
660 #define EPLL_CON0_MDIV_MASK 0x1ff
661 #define EPLL_CON0_PDIV_MASK 0x3f
662 #define EPLL_CON0_SDIV_MASK 0x7
663 #define EPLL_CON0_LOCKED_SHIFT 29
664 #define EPLL_CON0_MDIV_SHIFT 16
665 #define EPLL_CON0_PDIV_SHIFT 8
666 #define EPLL_CON0_SDIV_SHIFT 0
667 #define EPLL_CON0_LOCK_DET_EN_SHIFT 28
668 #define EPLL_CON0_LOCK_DET_EN_MASK 1
void clock_ll_set_ratio(enum periph_id periph_id, unsigned int divisor)
Low-level function to set the clock ratio for a peripheral.
void clock_ll_set_pre_ratio(enum periph_id periph_id, unsigned int divisor)
Low-level function to set the clock pre-ratio for a peripheral.
unsigned long get_pwm_clk(void)
struct arm_clk_ratios * get_arm_clk_ratios(void)
Get the clock ratios for CPU configuration.
void clock_select_i2s_clk_source(void)
unsigned long get_arm_clk(void)
unsigned long clock_get_periph_rate(enum periph_id peripheral)
get the clk frequency of the required peripheral
unsigned long get_uart_clk(int dev_index)
int clock_set_i2s_clk_prescaler(unsigned int src_frq, unsigned int dst_frq)
int clock_set_rate(enum periph_id periph_id, unsigned int rate)
Low-level function that selects the best clock scalars for a given rate and sets up the given periphe...
unsigned long get_pll_clk(int pllreg)
void set_mmc_clk(int dev_index, unsigned int div)
int clock_set_mshci(enum periph_id peripheral)
void system_clock_init(struct mem_timings *mem, struct arm_clk_ratios *arm_clk_ratio)
int clock_epll_set_rate(unsigned long rate)
check_member(exynos5_clock, pll_div2_sel, 0x20a24)
static struct exynos5420_clock *const exynos_clock
int clock_set_dwmci(enum periph_id peripheral)
static struct exynos5_mct *const exynos_mct
#define EXYNOS5_MULTI_CORE_TIMER_BASE
#define EXYNOS5_CLOCK_BASE
unsigned int periph_ratio
unsigned int pclk_dbg_ratio
unsigned int arm_freq_mhz
uint32_t clk_gate_bus_cperi0
uint32_t clk_gate_bus_top
uint32_t armclk_ema_ctrl_kfc
uint32_t cmu_cdrex_spare2
uint32_t clk_gate_bus_fsys0
uint32_t clk_gate_bus_fsys2
uint32_t clk_gate_top_sclk_fsys
uint32_t clk_gate_bus_isp3
uint32_t clkout_top_spare1
uint32_t clkout_cmu_kfc_div_stat
uint32_t cmu_cperi_spare4
uint32_t clk_gate_bus_gscl0
uint32_t clk_gate_bus_noc
uint32_t cmu_cperi_spare8
uint32_t clk_div_stat_isp0
uint32_t clk_mux_stat_top2
uint32_t clk_gate_ip_cdrex
uint32_t cmu_cperi_version
uint32_t clk_div_stat_cpu1
uint32_t clk_gate_bus_gen
uint32_t clk_gate_sclk_cpu_kfc
uint32_t clk_gate_bus_cdrex
uint32_t clk_gate_top_sclk_disp1
uint32_t clk_gate_bus_g3d
uint32_t clk_gate_bus_disp1
uint32_t cmu_cperi_spare6
uint32_t clk_gate_ip_mscl
uint32_t clkout_cmu_cpu_div_stat
uint32_t clk_mux_stat_top10
uint32_t clkdiv_iem_l5_kfc
uint32_t clk_gate_bus_mscl
uint32_t clk_gate_bus_isp0
uint32_t clkout_top_spare0
uint32_t cmu_cdrex_spare0
uint32_t clk_gate_ip_fsys
uint32_t clk_div_stat_peric4
uint32_t clk_gate_top_sclk_isp
uint32_t clk_mux_stat_top7
uint32_t clk_div_stat_kfc0
uint32_t clk_src_mask_mau
uint32_t clkdiv_iem_l6_kfc
uint32_t clk_div_stat_cdrex
uint32_t clk_div_stat_disp10
uint32_t cmu_cperi_spare2
uint32_t clk_div_stat_cmu_isp1
uint32_t clk_div_cmu_isp0
uint32_t clk_src_mask_isp
uint32_t clk_gate_top_sclk_cperi
uint32_t clk_src_mask_disp10
uint32_t clk_gate_bus_isp1
uint32_t clkdiv_iem_l3_kfc
uint32_t clkout_cmu_isp_div_stat
uint32_t clk_src_mask_peric0
uint32_t clk_div_cmu_isp1
uint32_t clk_mux_stat_top12
uint32_t clk_mux_stat_top5
uint32_t clk_div_stat_cpu0
uint32_t clk_gate_ip_peric
uint32_t clk_div_stat_g2d
uint32_t clk_div_stat_top0
uint32_t clk_gate_ip_cperi
uint32_t clkdiv_iem_l8_kfc
uint32_t clk_src_mask_fsys
uint32_t clk_gate_bus_fsys1
uint32_t clk_gate_top_sclk_mau
uint32_t clk_gate_bus_cdrex1
uint32_t clk_div_stat_peric1
uint32_t clk_mux_stat_top4
uint32_t clk_div_stat_fsys1
uint32_t clk_div_stat_peric2
uint32_t clk_gate_top_sclk_gscl
uint32_t cmu_cdrex_version
uint32_t clk_gate_bus_gscl1
uint32_t clk_div_stat_mau
uint32_t clk_div_stat_cperi1
uint32_t ddrphy_lock_ctrl
uint32_t clk_div_stat_isp2
uint32_t clk_div_stat_isp1
uint32_t clk_mux_stat_cpu
uint32_t clk_mux_stat_top1
uint32_t clk_gate_bus_wcore
uint32_t clk_div_stat_peric0
uint32_t clk_gate_sclk_cpu
uint32_t clk_gate_bus_g2d
uint32_t clk_gate_bus_mfc
uint32_t clk_mux_stat_cperi1
uint32_t armclk_stopctrl_kfc
uint32_t clk_src_mask_top7
uint32_t clk_div_stat_top1
uint32_t clk_gate_bus_cpu
uint32_t cmu_cperi_spare1
uint32_t clk_mux_stat_cdrex
uint32_t clkout_cmu_top_div_stat
uint32_t clkout_cmu_cperi
uint32_t clk_src_mask_top2
uint32_t clk_gate_bus_cperi1
uint32_t armclk_ema_status_kfc
uint32_t clk_div_stat_cmu_isp0
uint32_t clk_gate_ip_gscl1
uint32_t clk_mux_stat_top11
uint32_t clkout_top_version
uint32_t clk_gate_ip_block
uint32_t clk_gate_sclk_isp
uint32_t cmu_cdrex_spare4
uint32_t clk_gate_bus_peric
uint32_t clk_div_stat_top2
uint32_t clkout_cmu_cdrex
uint32_t clk_gate_ip_gscl0
uint32_t cmu_cperi_spare0
uint32_t cmu_cdrex_spare3
uint32_t clk_mux_stat_top0
uint32_t clk_gate_ip_isp1
uint32_t clkdiv_iem_l7_kfc
uint32_t clk_src_mask_peric1
uint32_t clk_gate_bus_cpu_kfc
uint32_t clkdiv_iem_l4_kfc
uint32_t clk_div_stat_fsys0
uint32_t clk_gate_sclk_cperi
uint32_t clkdiv_iem_l1_kfc
uint32_t clk_mux_stat_top3
uint32_t clkout_cmu_cdrex_div_stat
uint32_t clk_gate_bus_peric1
uint32_t clk_src_mask_top0
uint32_t clk_gate_ip_peris
uint32_t cmu_cperi_spare3
uint32_t clk_gate_ip_disp1
uint32_t clk_gate_bus_isp2
uint32_t clk_mux_stat_top6
uint32_t clk_gate_top_sclk_peric
uint32_t clk_src_mask_cperi
uint32_t clk_mux_stat_kfc
uint32_t clkout_top_spare3
uint32_t clk_gate_ip_isp0
uint32_t clkout_top_spare2
uint32_t clkout_cmu_g2d_div_stat
uint32_t cmu_cperi_spare5
uint32_t clk_div_stat_fsys2
uint32_t clkdiv_iem_l2_kfc
uint32_t clkout_cmu_cperi_div_stat
uint32_t clk_gate_bus_peris0
uint32_t clk_div_stat_peric3
uint32_t clk_gate_bus_peris1
uint32_t cmu_cperi_spare7
uint32_t clk_src_mask_top1
uint32_t cmu_cdrex_spare1
uint32_t g_comp0_addr_incr
uint32_t g_comp1_addr_incr
uint32_t g_comp2_addr_incr
uint32_t g_comp3_addr_incr