Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3036dccf authored by Steven Miao's avatar Steven Miao
Browse files

clock: add stmmac clock for ethernet driver



Signed-off-by: default avatarSteven Miao <realmz6@gmail.com>
parent 206f060c
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -220,6 +220,12 @@ unsigned long sys_clk_get_rate(struct clk *clk)
	}
}

unsigned long dummy_get_rate(struct clk *clk)
{
	clk->parent->rate = clk_get_rate(clk->parent);
	return clk->parent->rate;
}

unsigned long sys_clk_round_rate(struct clk *clk, unsigned long rate)
{
	unsigned long max_rate;
@@ -283,6 +289,10 @@ static struct clk_ops sys_clk_ops = {
	.round_rate = sys_clk_round_rate,
};

static struct clk_ops dummy_clk_ops = {
	.get_rate = dummy_get_rate,
};

static struct clk sys_clkin = {
	.name       = "SYS_CLKIN",
	.rate       = CONFIG_CLKIN_HZ,
@@ -364,6 +374,12 @@ static struct clk oclk = {
	.parent     = &pll_clk,
};

static struct clk ethclk = {
	.name       = "stmmaceth",
	.parent     = &sclk0,
	.ops	    = &dummy_clk_ops,
};

static struct clk_lookup bf609_clks[] = {
	CLK(sys_clkin, NULL, "SYS_CLKIN"),
	CLK(pll_clk, NULL, "PLLCLK"),
@@ -375,6 +391,7 @@ static struct clk_lookup bf609_clks[] = {
	CLK(sclk1, NULL, "SCLK1"),
	CLK(dclk, NULL, "DCLK"),
	CLK(oclk, NULL, "OCLK"),
	CLK(ethclk, NULL, "stmmaceth"),
};

int __init clk_init(void)