提交 93fff4ce 编写于 作者: J Jason Cooper

ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency

When DT support for kirkwood was first introduced, there was no clock
infrastructure.  As a result, we had to manually pass the
clock-frequency to the driver from the device node.

Unfortunately, on kirkwood, with minimal config or all module configs,
clock-frequency breaks booting because of_serial doesn't consume the
gate_clk when clock-frequency is defined.

The end result on kirkwood is that runit gets gated, and then the boot
fails when the kernel tries to write to the serial port.

Fix the issue by removing the clock-frequency parameter from all
kirkwood dts files.

Booted on dreamplug without earlyprintk and successfully logged in via
ttyS0.
Reported-by: NSimon Baatz <gmbnomis@gmail.com>
Tested-by: NSimon Baatz <gmbnomis@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: NJason Cooper <jason@lakedaemon.net>
上级 6dbe51c2
...@@ -42,12 +42,10 @@ ...@@ -42,12 +42,10 @@
ocp@f1000000 { ocp@f1000000 {
serial@12000 { serial@12000 {
clock-frequency = <166666667>;
status = "okay"; status = "okay";
}; };
serial@12100 { serial@12100 {
clock-frequency = <166666667>;
status = "okay"; status = "okay";
}; };
}; };
......
...@@ -50,7 +50,6 @@ ...@@ -50,7 +50,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "okay"; status = "okay";
}; };
}; };
......
...@@ -37,7 +37,6 @@ ...@@ -37,7 +37,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
......
...@@ -73,7 +73,6 @@ ...@@ -73,7 +73,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
......
...@@ -51,7 +51,6 @@ ...@@ -51,7 +51,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "okay"; status = "okay";
}; };
......
...@@ -78,7 +78,6 @@ ...@@ -78,7 +78,6 @@
}; };
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
......
...@@ -115,7 +115,6 @@ ...@@ -115,7 +115,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
......
...@@ -34,7 +34,6 @@ ...@@ -34,7 +34,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
ocp@f1000000 { ocp@f1000000 {
serial@12000 { serial@12000 {
clock-frequency = <166666667>;
status = "okay"; status = "okay";
}; };
}; };
......
...@@ -13,7 +13,6 @@ ...@@ -13,7 +13,6 @@
ocp@f1000000 { ocp@f1000000 {
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "okay"; status = "okay";
}; };
}; };
......
...@@ -90,7 +90,6 @@ ...@@ -90,7 +90,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
......
...@@ -23,7 +23,6 @@ ...@@ -23,7 +23,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <166666667>;
status = "okay"; status = "okay";
}; };
......
...@@ -117,7 +117,6 @@ ...@@ -117,7 +117,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
......
...@@ -18,12 +18,10 @@ ...@@ -18,12 +18,10 @@
ocp@f1000000 { ocp@f1000000 {
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
serial@12100 { serial@12100 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
......
...@@ -108,7 +108,6 @@ ...@@ -108,7 +108,6 @@
}; };
serial@12000 { serial@12000 {
clock-frequency = <200000000>;
status = "ok"; status = "ok";
}; };
......
...@@ -57,7 +57,6 @@ ...@@ -57,7 +57,6 @@
reg-shift = <2>; reg-shift = <2>;
interrupts = <33>; interrupts = <33>;
clocks = <&gate_clk 7>; clocks = <&gate_clk 7>;
/* set clock-frequency in board dts */
status = "disabled"; status = "disabled";
}; };
...@@ -67,7 +66,6 @@ ...@@ -67,7 +66,6 @@
reg-shift = <2>; reg-shift = <2>;
interrupts = <34>; interrupts = <34>;
clocks = <&gate_clk 7>; clocks = <&gate_clk 7>;
/* set clock-frequency in board dts */
status = "disabled"; status = "disabled";
}; };
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册