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

Commit 8e33f91a authored by Ben Dooks's avatar Ben Dooks Committed by Mike Turquette
Browse files

clk: shmobile: clk-mstp: change to using clock-indices



With the addition of clock-indices, we need to change the renesas
clock implementation to use these instead of the local definition
of "renesas,clock-indices".

Since this will break booting with older device trees, we add a
simple auto-detection of which properties are present.

Signed-off-by: default avatarBen Dooks <ben.dooks@codethink.co.uk>
Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: default avatarMike Turquette <mturquette@linaro.org>
parent 874f224c
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -43,7 +43,7 @@ Example
		clock-output-names =
		clock-output-names =
			"tpu0", "mmcif1", "sdhi3", "sdhi2",
			"tpu0", "mmcif1", "sdhi3", "sdhi2",
			 "sdhi1", "sdhi0", "mmcif0";
			 "sdhi1", "sdhi0", "mmcif0";
		renesas,clock-indices = <
		clock-indices = <
			R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
			R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
			R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0
			R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0
			R8A7790_CLK_MMCIF0
			R8A7790_CLK_MMCIF0
+7 −2
Original line number Original line Diff line number Diff line
@@ -156,6 +156,7 @@ cpg_mstp_clock_register(const char *name, const char *parent_name,
static void __init cpg_mstp_clocks_init(struct device_node *np)
static void __init cpg_mstp_clocks_init(struct device_node *np)
{
{
	struct mstp_clock_group *group;
	struct mstp_clock_group *group;
	const char *idxname;
	struct clk **clks;
	struct clk **clks;
	unsigned int i;
	unsigned int i;


@@ -184,6 +185,11 @@ static void __init cpg_mstp_clocks_init(struct device_node *np)
	for (i = 0; i < MSTP_MAX_CLOCKS; ++i)
	for (i = 0; i < MSTP_MAX_CLOCKS; ++i)
		clks[i] = ERR_PTR(-ENOENT);
		clks[i] = ERR_PTR(-ENOENT);


	if (of_find_property(np, "clock-indices", &i))
		idxname = "clock-indices";
	else
		idxname = "renesas,clock-indices";

	for (i = 0; i < MSTP_MAX_CLOCKS; ++i) {
	for (i = 0; i < MSTP_MAX_CLOCKS; ++i) {
		const char *parent_name;
		const char *parent_name;
		const char *name;
		const char *name;
@@ -197,8 +203,7 @@ static void __init cpg_mstp_clocks_init(struct device_node *np)
			continue;
			continue;


		parent_name = of_clk_get_parent_name(np, i);
		parent_name = of_clk_get_parent_name(np, i);
		ret = of_property_read_u32_index(np, "renesas,clock-indices", i,
		ret = of_property_read_u32_index(np, idxname, i, &clkidx);
						 &clkidx);
		if (parent_name == NULL || ret < 0)
		if (parent_name == NULL || ret < 0)
			break;
			break;