| /* | 
 |  * R-Car Gen2 Clock Pulse Generator | 
 |  * | 
 |  * Copyright (C) 2016 Cogent Embedded Inc. | 
 |  * | 
 |  * This program is free software; you can redistribute it and/or modify it | 
 |  * under the terms of the GNU General Public License version 2 as published | 
 |  * by the Free Software Foundation; version 2 of the License. | 
 |  */ | 
 |  | 
 | #ifndef __CLK_RENESAS_RCAR_GEN2_CPG_H__ | 
 | #define __CLK_RENESAS_RCAR_GEN2_CPG_H__ | 
 |  | 
 | enum rcar_gen2_clk_types { | 
 | 	CLK_TYPE_GEN2_MAIN = CLK_TYPE_CUSTOM, | 
 | 	CLK_TYPE_GEN2_PLL0, | 
 | 	CLK_TYPE_GEN2_PLL1, | 
 | 	CLK_TYPE_GEN2_PLL3, | 
 | 	CLK_TYPE_GEN2_Z, | 
 | 	CLK_TYPE_GEN2_LB, | 
 | 	CLK_TYPE_GEN2_ADSP, | 
 | 	CLK_TYPE_GEN2_SDH, | 
 | 	CLK_TYPE_GEN2_SD0, | 
 | 	CLK_TYPE_GEN2_SD1, | 
 | 	CLK_TYPE_GEN2_QSPI, | 
 | 	CLK_TYPE_GEN2_RCAN, | 
 | }; | 
 |  | 
 | struct rcar_gen2_cpg_pll_config { | 
 | 	unsigned int extal_div; | 
 | 	unsigned int pll1_mult; | 
 | 	unsigned int pll3_mult; | 
 | 	unsigned int pll0_mult;		/* leave as zero if PLL0CR exists */ | 
 | }; | 
 |  | 
 | struct clk *rcar_gen2_cpg_clk_register(struct device *dev, | 
 | 				       const struct cpg_core_clk *core, | 
 | 				       const struct cpg_mssr_info *info, | 
 | 				       struct clk **clks, void __iomem *base); | 
 | int rcar_gen2_cpg_init(const struct rcar_gen2_cpg_pll_config *config, | 
 | 		       unsigned int pll0_div, u32 mode); | 
 |  | 
 | #endif |