2019-05-28 19:57:21 +03:00
/* SPDX-License-Identifier: GPL-2.0-only */
2012-08-27 17:45:50 +04:00
/*
* Clocks for ux500 platforms
*
* Copyright ( C ) 2012 ST - Ericsson SA
* Author : Ulf Hansson < ulf . hansson @ linaro . org >
*/
# ifndef __UX500_CLK_H
# define __UX500_CLK_H
2013-04-03 16:26:57 +04:00
# include <linux/device.h>
2013-04-22 22:46:10 +04:00
# include <linux/types.h>
2012-08-27 17:45:50 +04:00
2015-06-20 01:00:46 +03:00
struct clk ;
2012-08-27 17:45:50 +04:00
struct clk * clk_reg_prcc_pclk ( const char * name ,
const char * parent_name ,
2013-04-22 22:46:10 +04:00
resource_size_t phy_base ,
2012-08-27 17:45:50 +04:00
u32 cg_sel ,
unsigned long flags ) ;
struct clk * clk_reg_prcc_kclk ( const char * name ,
const char * parent_name ,
2013-04-22 22:46:10 +04:00
resource_size_t phy_base ,
2012-08-27 17:45:50 +04:00
u32 cg_sel ,
unsigned long flags ) ;
struct clk * clk_reg_prcmu_scalable ( const char * name ,
const char * parent_name ,
u8 cg_sel ,
unsigned long rate ,
unsigned long flags ) ;
struct clk * clk_reg_prcmu_gate ( const char * name ,
const char * parent_name ,
u8 cg_sel ,
unsigned long flags ) ;
2012-10-10 15:42:27 +04:00
struct clk * clk_reg_prcmu_scalable_rate ( const char * name ,
const char * parent_name ,
u8 cg_sel ,
unsigned long rate ,
unsigned long flags ) ;
2012-08-31 16:21:29 +04:00
struct clk * clk_reg_prcmu_rate ( const char * name ,
const char * parent_name ,
u8 cg_sel ,
unsigned long flags ) ;
2012-08-27 17:45:50 +04:00
struct clk * clk_reg_prcmu_opp_gate ( const char * name ,
const char * parent_name ,
u8 cg_sel ,
unsigned long flags ) ;
2012-09-24 18:43:18 +04:00
struct clk * clk_reg_prcmu_opp_volt_scalable ( const char * name ,
const char * parent_name ,
u8 cg_sel ,
unsigned long rate ,
unsigned long flags ) ;
2013-04-03 16:26:57 +04:00
struct clk * clk_reg_sysctrl_gate ( struct device * dev ,
const char * name ,
const char * parent_name ,
u16 reg_sel ,
u8 reg_mask ,
u8 reg_bits ,
unsigned long enable_delay_us ,
unsigned long flags ) ;
struct clk * clk_reg_sysctrl_gate_fixed_rate ( struct device * dev ,
const char * name ,
const char * parent_name ,
u16 reg_sel ,
u8 reg_mask ,
u8 reg_bits ,
unsigned long rate ,
unsigned long enable_delay_us ,
unsigned long flags ) ;
struct clk * clk_reg_sysctrl_set_parent ( struct device * dev ,
const char * name ,
const char * * parent_names ,
u8 num_parents ,
u16 * reg_sel ,
u8 * reg_mask ,
u8 * reg_bits ,
unsigned long flags ) ;
2012-08-27 17:45:50 +04:00
# endif /* __UX500_CLK_H */