mirror of https://gitee.com/openkylin/linux.git
clk: renesas: rcar-gen3-cpg: Pass mode pins to rcar_gen3_cpg_init()
Pass the mode pin states from the SoC-specific CPG/MSSR driver to the R-Car Gen3 CPG driver core, as their state will be needed to make some core clock configuration decisions. Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
This commit is contained in:
parent
c013fc7d23
commit
5f3a432a44
|
@ -330,7 +330,7 @@ static int __init r8a7795_cpg_mssr_init(struct device *dev)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rcar_gen3_cpg_init(cpg_pll_config, CLK_EXTALR);
|
return rcar_gen3_cpg_init(cpg_pll_config, CLK_EXTALR, cpg_mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct cpg_mssr_info r8a7795_cpg_mssr_info __initconst = {
|
const struct cpg_mssr_info r8a7795_cpg_mssr_info __initconst = {
|
||||||
|
|
|
@ -273,7 +273,7 @@ static int __init r8a7796_cpg_mssr_init(struct device *dev)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rcar_gen3_cpg_init(cpg_pll_config, CLK_EXTALR);
|
return rcar_gen3_cpg_init(cpg_pll_config, CLK_EXTALR, cpg_mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct cpg_mssr_info r8a7796_cpg_mssr_info __initconst = {
|
const struct cpg_mssr_info r8a7796_cpg_mssr_info __initconst = {
|
||||||
|
|
|
@ -247,6 +247,7 @@ static struct clk * __init cpg_sd_clk_register(const struct cpg_core_clk *core,
|
||||||
|
|
||||||
static const struct rcar_gen3_cpg_pll_config *cpg_pll_config __initdata;
|
static const struct rcar_gen3_cpg_pll_config *cpg_pll_config __initdata;
|
||||||
static unsigned int cpg_clk_extalr __initdata;
|
static unsigned int cpg_clk_extalr __initdata;
|
||||||
|
static u32 cpg_mode __initdata;
|
||||||
|
|
||||||
struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
|
struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
|
||||||
const struct cpg_core_clk *core, const struct cpg_mssr_info *info,
|
const struct cpg_core_clk *core, const struct cpg_mssr_info *info,
|
||||||
|
@ -334,9 +335,10 @@ struct clk * __init rcar_gen3_cpg_clk_register(struct device *dev,
|
||||||
}
|
}
|
||||||
|
|
||||||
int __init rcar_gen3_cpg_init(const struct rcar_gen3_cpg_pll_config *config,
|
int __init rcar_gen3_cpg_init(const struct rcar_gen3_cpg_pll_config *config,
|
||||||
unsigned int clk_extalr)
|
unsigned int clk_extalr, u32 mode)
|
||||||
{
|
{
|
||||||
cpg_pll_config = config;
|
cpg_pll_config = config;
|
||||||
cpg_clk_extalr = clk_extalr;
|
cpg_clk_extalr = clk_extalr;
|
||||||
|
cpg_mode = mode;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,6 @@ struct clk *rcar_gen3_cpg_clk_register(struct device *dev,
|
||||||
const struct cpg_core_clk *core, const struct cpg_mssr_info *info,
|
const struct cpg_core_clk *core, const struct cpg_mssr_info *info,
|
||||||
struct clk **clks, void __iomem *base);
|
struct clk **clks, void __iomem *base);
|
||||||
int rcar_gen3_cpg_init(const struct rcar_gen3_cpg_pll_config *config,
|
int rcar_gen3_cpg_init(const struct rcar_gen3_cpg_pll_config *config,
|
||||||
unsigned int clk_extalr);
|
unsigned int clk_extalr, u32 mode);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue