Skip to content

Instantly share code, notes, and snippets.

@notro
Created July 5, 2014 12:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save notro/b3e5ef5e9a51bb21e4ac to your computer and use it in GitHub Desktop.
Save notro/b3e5ef5e9a51bb21e4ac to your computer and use it in GitHub Desktop.
struct clk __init *bcm2708_clk_register(const char *name, unsigned long fixed_rate)
{
struct clk *clk;
clk = clk_register_fixed_rate(NULL, name, NULL, CLK_IS_ROOT,
fixed_rate);
if (IS_ERR(clk))
pr_err("%s not registered\n", name);
return clk;
}
void __init bcm2708_register_clkdev(struct clk *clk, const char *name)
{
int ret;
ret = clk_register_clkdev(clk, NULL, name);
if (ret)
pr_err("%s alias not registered\n", name);
}
void __init bcm2708_init_clocks(void)
{
struct clk *clk;
clk = bcm2708_clk_register("uart_clk", uart_clock);
bcm2708_register_clkdev(clk, "dev:f1");
/* ARM clock is set from the VideoCore booter */
clk = bcm2708_clk_register("osc_clk", 500000000);
bcm2708_register_clkdev(clk, "bcm2708_usb");
/* warning - the USB needs a clock > 34MHz */
clk = bcm2708_clk_register("sdhost_clk", 250000000);
bcm2708_register_clkdev(clk, "bcm2708_spi.0");
bcm2708_register_clkdev(clk, "bcm2708_i2c.0");
bcm2708_register_clkdev(clk, "bcm2708_i2c.1");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment