Skip to contentSkip to conversation

clk: rockchip: Add pclk_peri to critical clocks on RK3066/RK3188

PATCH Superseded Romain Perier 3 participants 3 messages Aug 21, 2015 – Aug 22, 2015

Subsystems (2)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 clk: rockchip: Add pclk_peri to critical clocks on RK3066/RK3188

Clocks for bank GPIO3 and GPIO4 are supplied by pclk_peri. These clocks need to stay on, otherwise pinctrl hangs the system when the driver is probed.

---
 drivers/clk/rockchip/clk-rk3188.c | 1 +
 1 file changed, 1 insertion(+)
drivers/clk/rockchip/clk-rk3188.c +1 -0
index f63a642..596be81 100644
@@ -717,6 +717,7 @@ static const char *const rk3188_critical_clocks[] __initconst = {
 	"aclk_peri",
 	"hclk_peri",
 	"pclk_cpu",
+	"pclk_peri",
 };
 
 static void __init rk3188_common_clk_init(struct device_node *np)
Signature · 1 line
2.1.4
maintainer
#1 lore raw

PATCH 1/1 clk: rockchip: Add pclk_peri to critical clocks on RK3066/RK3188

Hi Romain,

Am Freitag, 21. August 2015, 18:10:27 schrieb Romain Perier:

Quoted 2 lines

Clocks for bank GPIO3 and GPIO4 are supplied by pclk_peri. These clocks need to stay on, otherwise pinctrl hangs the system when the driver is probed.

I don't agree with the commit message.

The issue you see does not originate from the pinctrl driver itself. Instead only the new flexible clock handling causes some other (still unhandled) component reyling on pclk_peri to hang the system.

In the past the clocks for the gpio banks were simply enabled once during probe, so pclk_peri as parent clock would also stay enabled for eternity. Now we enable the gpio clocks only when necessary, which results in that pclk_peri might get disabled too when no other component has claimed it - hence its addition to critical clocks.

Also, please note that Stephen Boyd is now also clock maintainer.

Quoted 18 lines
---
 drivers/clk/rockchip/clk-rk3188.c | 1 +
 1 file changed, 1 insertion(+)
(quoted diff) +0 -0

b/drivers/clk/rockchip/clk-rk3188.c index f63a642..596be81 100644

drivers/clk/rockchip/clk-rk3188.c +1 -0
@@ -717,6 +717,7 @@ static const char *const rk3188_critical_clocks[]
 __initconst = { "aclk_peri",
 	"hclk_peri",
 	"pclk_cpu",
+	"pclk_peri",
 };
 
 static void __init rk3188_common_clk_init(struct device_node *np)
#2 lore raw

PATCH 1/1 clk: rockchip: Add pclk_peri to critical clocks on RK3066/RK3188

In reply to Romain Perier

Am 21.08.2015 um 20:10 schrieb Romain Perier <[email protected]>:

Quoted 4 lines

Clocks for bank GPIO3 and GPIO4 are supplied by pclk_peri. These clocks need to stay on, otherwise pinctrl hangs the system when the driver is probed.

Quoted 24 lines

---
drivers/clk/rockchip/clk-rk3188.c | 1 +

1 file changed, 1 insertion(+)
drivers/clk/rockchip/clk-rk3188.c +1 -0
index f63a642..596be81 100644
@@ -717,6 +717,7 @@ static const char *const rk3188_critical_clocks[] __initconst = {
 	"aclk_peri",
 	"hclk_peri",
 	"pclk_cpu",
+	"pclk_peri",
 };
 
 static void __init rk3188_common_clk_init(struct device_node *np)
Signature · 7 lines
2.1.4


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel at lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel