Skip to contentSkip to conversation

ARM: shmobile: lager-reference: Work around core clock issues

PATCH New Simon Horman 4 participants 5 messages Mar 17, 2014

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: shmobile: lager-reference: Work around core clock issues

Due to issues with runtime PM clock management, clocks not explicitly managed by their drivers may not be enabled at all, or be inadvertently disabled by the clk_disable_unused() late initcall.

Until this is fixed, add a temporary workaround, calling shmobile_clk_workaround() with enable == true.

For now this enables the clocks for: ether, msiof1, qspi_mod, and thermal. More clocks can be added if needed.

Based on work for the koelsch board by eert Uytterhoeven.

Cc Geert Uytterhoeven <[email protected]>
---
 arch/arm/mach-shmobile/board-lager-reference.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

Based on renesas-devel-v3.14-rc6-20140314

arch/arm/mach-shmobile/board-lager-reference.c +11 -0
index 7ff395e..313118c 100644
@@ -108,9 +108,20 @@ static const struct clk_name clk_names[] __initconst = {
 	{ "lvds1", "lvds.1", "rcar-du-r8a7790" },
 };
 
+/*
+ * This is a really crude hack to work around core platform clock issues
+ */
+static const struct clk_name clk_enables[] __initconst = {
+	{ "ether", NULL, "ee700000.ethernet" },
+	{ "msiof1", NULL, "e6e10000.spi" },
+	{ "qspi_mod", NULL, "e6b10000.spi" },
+	{ "thermal", NULL, "e61f0000.thermal" },
+};
+
 static void __init lager_add_standard_devices(void)
 {
 	shmobile_clk_workaround(clk_names, ARRAY_SIZE(clk_names), false);
+	shmobile_clk_workaround(clk_enables, ARRAY_SIZE(clk_enables), true);
 	r8a7790_add_dt_devices();
 	of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 
Signature · 1 line
1.8.5.2
#1 lore raw

PATCH 1/1 ARM: shmobile: lager-reference: Work around core clock issues

Hi Simon

very tiny comment

Quoted 11 lines

Due to issues with runtime PM clock management, clocks not explicitly managed by their drivers may not be enabled at all, or be inadvertently disabled by the clk_disable_unused() late initcall.

Until this is fixed, add a temporary workaround, calling shmobile_clk_workaround() with enable == true.

For now this enables the clocks for: ether, msiof1, qspi_mod, and thermal. More clocks can be added if needed.

Based on work for the koelsch board by eert Uytterhoeven.

I guess

- Based on work for the koelsch board by eert Uytterhoeven.
+ Based on work for the koelsch board by Geert Uytterhoeven.

#2 lore raw

PATCH 1/1 ARM: shmobile: lager-reference: Work around core clock issues

Quoted 15 lines · Kuninori Morimoto

Hi Simon

very tiny comment

Quoted 10 lines

Due to issues with runtime PM clock management, clocks not explicitly managed by their drivers may not be enabled at all, or be inadvertently disabled by the clk_disable_unused() late initcall.

Until this is fixed, add a temporary workaround, calling shmobile_clk_workaround() with enable == true.

For now this enables the clocks for: ether, msiof1, qspi_mod, and thermal. More clocks can be added if needed.

Quoted 6 lines
Quoted 1 line

Based on work for the koelsch board by eert Uytterhoeven.

I guess

- Based on work for the koelsch board by eert Uytterhoeven.
+ Based on work for the koelsch board by Geert Uytterhoeven.

Thanks! I'll fix that.

#3 lore raw

PATCH 1/1 ARM: shmobile: lager-reference: Work around core clock issues

In reply to Simon Horman
Quoted 7 lines · Simon Horman

Due to issues with runtime PM clock management, clocks not explicitly managed by their drivers may not be enabled at all, or be inadvertently disabled by the clk_disable_unused() late initcall.

Until this is fixed, add a temporary workaround, calling shmobile_clk_workaround() with enable == true.

Quoted 7 lines

For now this enables the clocks for: ether, msiof1, qspi_mod, and thermal. More clocks can be added if needed.

Based on work for the koelsch board by eert Uytterhoeven.

Cc Geert Uytterhoeven <[email protected]>

(if the typo reported by Morimoto-san gets fixed ;-)

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#4 lore raw

PATCH 1/1 ARM: shmobile: lager-reference: Work around core clock issues

Quoted 12 lines · Geert Uytterhoeven
Quoted 10 lines · Simon Horman

Due to issues with runtime PM clock management, clocks not explicitly managed by their drivers may not be enabled at all, or be inadvertently disabled by the clk_disable_unused() late initcall.

Until this is fixed, add a temporary workaround, calling shmobile_clk_workaround() with enable == true.

For now this enables the clocks for: ether, msiof1, qspi_mod, and thermal. More clocks can be added if needed.

Quoted 7 lines
Quoted 4 lines

Based on work for the koelsch board by eert Uytterhoeven.

Cc Geert Uytterhoeven <[email protected]>

(if the typo reported by Morimoto-san gets fixed ;-)

Indeed, sorry about misspelling your name.

Quoted 12 lines

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds