2018-03-21 09:20:12 -05:00
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright ( C ) 2017 , Intel Corporation
*/
# ifndef __STRATIX10_CLK_H
# define __STRATIX10_CLK_H
struct stratix10_clock_data {
struct clk_onecell_data clk_data ;
void __iomem * base ;
} ;
struct stratix10_pll_clock {
unsigned int id ;
const char * name ;
2020-05-12 13:16:43 -05:00
const struct clk_parent_data * parent_data ;
2018-03-21 09:20:12 -05:00
u8 num_parents ;
unsigned long flags ;
unsigned long offset ;
} ;
struct stratix10_perip_c_clock {
unsigned int id ;
const char * name ;
const char * parent_name ;
2020-05-12 13:16:43 -05:00
const struct clk_parent_data * parent_data ;
2018-03-21 09:20:12 -05:00
u8 num_parents ;
unsigned long flags ;
unsigned long offset ;
} ;
struct stratix10_perip_cnt_clock {
unsigned int id ;
const char * name ;
const char * parent_name ;
2020-05-12 13:16:43 -05:00
const struct clk_parent_data * parent_data ;
2018-03-21 09:20:12 -05:00
u8 num_parents ;
unsigned long flags ;
unsigned long offset ;
u8 fixed_divider ;
unsigned long bypass_reg ;
unsigned long bypass_shift ;
} ;
struct stratix10_gate_clock {
unsigned int id ;
const char * name ;
const char * parent_name ;
2020-05-12 13:16:43 -05:00
const struct clk_parent_data * parent_data ;
2018-03-21 09:20:12 -05:00
u8 num_parents ;
unsigned long flags ;
unsigned long gate_reg ;
u8 gate_idx ;
unsigned long div_reg ;
u8 div_offset ;
u8 div_width ;
unsigned long bypass_reg ;
u8 bypass_shift ;
u8 fixed_div ;
} ;
2020-01-14 10:07:26 -06:00
struct clk * s10_register_pll ( const struct stratix10_pll_clock * ,
void __iomem * ) ;
2020-05-12 13:16:47 -05:00
struct clk * agilex_register_pll ( const struct stratix10_pll_clock * ,
void __iomem * ) ;
2020-01-14 10:07:26 -06:00
struct clk * s10_register_periph ( const struct stratix10_perip_c_clock * ,
void __iomem * ) ;
struct clk * s10_register_cnt_periph ( const struct stratix10_perip_cnt_clock * ,
void __iomem * ) ;
struct clk * s10_register_gate ( const struct stratix10_gate_clock * ,
void __iomem * ) ;
2018-03-21 09:20:12 -05:00
# endif /* __STRATIX10_CLK_H */