Lines Matching refs:clockgen
64 struct clockgen;
80 void (*init_periph)(struct clockgen *cg);
86 struct clockgen { struct
98 static struct clockgen clockgen; argument
100 static void cg_out(struct clockgen *cg, u32 val, u32 __iomem *reg) in cg_out()
108 static u32 cg_in(struct clockgen *cg, u32 __iomem *reg) in cg_in()
348 static void __init p2041_init_periph(struct clockgen *cg) in p2041_init_periph()
360 static void __init p4080_init_periph(struct clockgen *cg) in p4080_init_periph()
377 static void __init p5020_init_periph(struct clockgen *cg) in p5020_init_periph()
392 static void __init p5040_init_periph(struct clockgen *cg) in p5040_init_periph()
412 static void __init t1023_init_periph(struct clockgen *cg) in t1023_init_periph()
417 static void __init t1040_init_periph(struct clockgen *cg) in t1040_init_periph()
422 static void __init t2080_init_periph(struct clockgen *cg) in t2080_init_periph()
427 static void __init t4240_init_periph(struct clockgen *cg) in t4240_init_periph()
628 struct clockgen *cg;
684 static const struct clockgen_pll_div *get_pll_div(struct clockgen *cg, in get_pll_div()
699 static struct clk * __init create_mux_common(struct clockgen *cg, in create_mux_common()
757 static struct clk * __init create_one_cmux(struct clockgen *cg, int idx) in create_one_cmux()
801 static struct clk * __init create_one_hwaccel(struct clockgen *cg, int idx) in create_one_hwaccel()
816 static void __init create_muxes(struct clockgen *cg) in create_muxes()
845 if (!clockgen.node) in legacy_init_clockgen()
862 clk = clockgen.cmux[idx]; in core_mux_init()
887 clk = of_clk_get(clockgen.node, 0); in sysclk_from_parent()
907 clk = sysclk_from_fixed(clockgen.node, name); in create_sysclk()
915 sysclk = of_get_child_by_name(clockgen.node, "sysclk"); in create_sysclk()
933 clk = clockgen.sysclk; in sysclk_init()
940 static void __init create_one_pll(struct clockgen *cg, int idx) in create_one_pll()
1011 static void __init create_plls(struct clockgen *cg) in create_plls()
1028 pll = &clockgen.pll[idx]; in legacy_pll_init()
1097 struct clockgen *cg = data; in clockgen_clk_get()
1198 if (clockgen.node) in clockgen_init()
1201 clockgen.node = np; in clockgen_init()
1202 clockgen.regs = of_iomap(np, 0); in clockgen_init()
1203 if (!clockgen.regs && in clockgen_init()
1206 clockgen.regs = ioremap(0x1ee1000, 0x1000); in clockgen_init()
1209 if (!clockgen.regs) { in clockgen_init()
1227 clockgen.info = chipinfo[i]; in clockgen_init()
1229 if (clockgen.info.guts_compat) { in clockgen_init()
1233 clockgen.info.guts_compat); in clockgen_init()
1235 clockgen.guts = of_iomap(guts, 0); in clockgen_init()
1236 if (!clockgen.guts) { in clockgen_init()
1245 clockgen.info.flags |= CG_CMUX_GE_PLAT; in clockgen_init()
1247 clockgen.sysclk = create_sysclk("cg-sysclk"); in clockgen_init()
1248 create_plls(&clockgen); in clockgen_init()
1249 create_muxes(&clockgen); in clockgen_init()
1251 if (clockgen.info.init_periph) in clockgen_init()
1252 clockgen.info.init_periph(&clockgen); in clockgen_init()
1254 ret = of_clk_add_provider(np, clockgen_clk_get, &clockgen); in clockgen_init()
1262 iounmap(clockgen.regs); in clockgen_init()
1263 clockgen.regs = NULL; in clockgen_init()