ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency
PATCH 1/1 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.
--- arch/arm/boot/dts/kirkwood-dns320.dts | 2 -- arch/arm/boot/dts/kirkwood-dns325.dts | 1 - arch/arm/boot/dts/kirkwood-dockstar.dts | 1 - arch/arm/boot/dts/kirkwood-dreamplug.dts | 1 - arch/arm/boot/dts/kirkwood-goflexnet.dts | 1 - arch/arm/boot/dts/kirkwood-ib62x0.dts | 1 - arch/arm/boot/dts/kirkwood-iconnect.dts | 1 - arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts | 1 - arch/arm/boot/dts/kirkwood-km_kirkwood.dts | 1 - arch/arm/boot/dts/kirkwood-lschlv2.dts | 1 - arch/arm/boot/dts/kirkwood-lsxhl.dts | 1 - arch/arm/boot/dts/kirkwood-mplcec4.dts | 1 - arch/arm/boot/dts/kirkwood-nsa310.dts | 1 - arch/arm/boot/dts/kirkwood-openblocks_a6.dts | 2 -- arch/arm/boot/dts/kirkwood-topkick.dts | 1 - arch/arm/boot/dts/kirkwood.dtsi | 2 -- 16 files changed, 19 deletions(-)
arch/arm/boot/dts/kirkwood-dns320.dts +0 -2
@@ -42,12 +42,10 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <166666667>; status = "okay"; }; serial at 12100 { - clock-frequency = <166666667>; status = "okay"; }; };
arch/arm/boot/dts/kirkwood-dns325.dts +0 -1
@@ -50,7 +50,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "okay"; }; };
arch/arm/boot/dts/kirkwood-dockstar.dts +0 -1
@@ -37,7 +37,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };
arch/arm/boot/dts/kirkwood-dreamplug.dts +0 -1
@@ -38,7 +38,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };
arch/arm/boot/dts/kirkwood-goflexnet.dts +0 -1
@@ -73,7 +73,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };
arch/arm/boot/dts/kirkwood-ib62x0.dts +0 -1
@@ -51,7 +51,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "okay"; };
arch/arm/boot/dts/kirkwood-iconnect.dts +0 -1
@@ -78,7 +78,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };
arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts +0 -1
@@ -115,7 +115,6 @@ }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };
arch/arm/boot/dts/kirkwood-km_kirkwood.dts +0 -1
@@ -34,7 +34,6 @@ }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };
arch/arm/boot/dts/kirkwood-lschlv2.dts +0 -1
@@ -13,7 +13,6 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <166666667>; status = "okay"; }; };
arch/arm/boot/dts/kirkwood-lsxhl.dts +0 -1
@@ -13,7 +13,6 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <200000000>; status = "okay"; }; };
arch/arm/boot/dts/kirkwood-mplcec4.dts +0 -1
@@ -91,7 +91,6 @@ }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };
arch/arm/boot/dts/kirkwood-nsa310.dts +0 -1
@@ -18,7 +18,6 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };
arch/arm/boot/dts/kirkwood-openblocks_a6.dts +0 -2
@@ -18,12 +18,10 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <200000000>; status = "ok"; }; serial at 12100 { - clock-frequency = <200000000>; status = "ok"; };
arch/arm/boot/dts/kirkwood-topkick.dts +0 -1
@@ -17,7 +17,6 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };
arch/arm/boot/dts/kirkwood.dtsi +0 -2
@@ -57,7 +57,6 @@ reg-shift = <2>; interrupts = <33>; clocks = <&gate_clk 7>; - /* set clock-frequency in board dts */ status = "disabled"; };
@@ -67,7 +66,6 @@ reg-shift = <2>; interrupts = <34>; clocks = <&gate_clk 7>; - /* set clock-frequency in board dts */ status = "disabled"; };
Signature · 1 line
1.8.1.1
PATCH 1/1 ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency
Hi Jason,
Quoted 14 lines · Jason Cooper
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_serialdoesn't consume thegate_clkwhen 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.
Quoted 6 lines
Booted on dreamplug without earlyprintk and successfully logged in via ttyS0.
Reported-by Simon Baatz <[email protected]>Signed-off-by Jason Cooper <[email protected]>---
If you like, you can add my
(On IB-NAS6210 serial console, earlyprintk and successful login via ttyS0)
- Simon
PATCH 1/1 ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency
In reply to Jason CooperQuoted 29 lines · Jason Cooper
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_serialdoesn't consume thegate_clkwhen 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 Simon Baatz <[email protected]>Signed-off-by Jason Cooper <[email protected]>--- arch/arm/boot/dts/kirkwood-dns320.dts | 2 -- arch/arm/boot/dts/kirkwood-dns325.dts | 1 - arch/arm/boot/dts/kirkwood-dockstar.dts | 1 - arch/arm/boot/dts/kirkwood-dreamplug.dts | 1 - arch/arm/boot/dts/kirkwood-goflexnet.dts | 1 - arch/arm/boot/dts/kirkwood-ib62x0.dts | 1 - arch/arm/boot/dts/kirkwood-iconnect.dts | 1 - arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts | 1 - arch/arm/boot/dts/kirkwood-km_kirkwood.dts | 1 -
Quoted 8 lines
arch/arm/boot/dts/kirkwood-lschlv2.dts | 1 - arch/arm/boot/dts/kirkwood-lsxhl.dts | 1 - arch/arm/boot/dts/kirkwood-mplcec4.dts | 1 - arch/arm/boot/dts/kirkwood-nsa310.dts | 1 - arch/arm/boot/dts/kirkwood-openblocks_a6.dts | 2 -- arch/arm/boot/dts/kirkwood-topkick.dts | 1 - arch/arm/boot/dts/kirkwood.dtsi | 2 -- 16 files changed, 19 deletions(-)
Applied to mvebu/fixes with Simon's Tested-by:
thx,
Jason.
PATCH 1/1 ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency
In reply to Jason CooperQuoted 28 lines · Jason Cooper
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_serialdoesn't consume thegate_clkwhen 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 Simon Baatz <[email protected]>Signed-off-by Jason Cooper <[email protected]>--- arch/arm/boot/dts/kirkwood-dns320.dts | 2 -- arch/arm/boot/dts/kirkwood-dns325.dts | 1 - arch/arm/boot/dts/kirkwood-dockstar.dts | 1 - arch/arm/boot/dts/kirkwood-dreamplug.dts | 1 - arch/arm/boot/dts/kirkwood-goflexnet.dts | 1 - arch/arm/boot/dts/kirkwood-ib62x0.dts | 1 - arch/arm/boot/dts/kirkwood-iconnect.dts | 1 - arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts | 1 -
Quoted 8 lines
arch/arm/boot/dts/kirkwood-km_kirkwood.dts | 1 - arch/arm/boot/dts/kirkwood-lschlv2.dts | 1 - arch/arm/boot/dts/kirkwood-lsxhl.dts | 1 - arch/arm/boot/dts/kirkwood-mplcec4.dts | 1 - arch/arm/boot/dts/kirkwood-nsa310.dts | 1 - arch/arm/boot/dts/kirkwood-openblocks_a6.dts | 2 -- arch/arm/boot/dts/kirkwood-topkick.dts | 1 - arch/arm/boot/dts/kirkwood.dtsi | 2 --
Hi Jason,
Maybe you could also remove the clock-frequency parameter from kirkwood-ns2-common.dtsi ?
Regards,
Simon
Quoted 220 lines
16 files changed, 19 deletions(-)arch/arm/boot/dts/kirkwood-dns320.dts +0
-2@@ -42,12 +42,10 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <166666667>; status = "okay"; }; serial at 12100 { - clock-frequency = <166666667>; status = "okay"; }; };arch/arm/boot/dts/kirkwood-dns325.dts +0
-1@@ -50,7 +50,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "okay"; }; };arch/arm/boot/dts/kirkwood-dockstar.dts +0
-1@@ -37,7 +37,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };arch/arm/boot/dts/kirkwood-dreamplug.dts +0
-1@@ -38,7 +38,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };arch/arm/boot/dts/kirkwood-goflexnet.dts +0
-1@@ -73,7 +73,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };arch/arm/boot/dts/kirkwood-ib62x0.dts +0
-1@@ -51,7 +51,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "okay"; };arch/arm/boot/dts/kirkwood-iconnect.dts +0
-1@@ -78,7 +78,6 @@ }; }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts +0
-1@@ -115,7 +115,6 @@ }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };arch/arm/boot/dts/kirkwood-km_kirkwood.dts +0
-1@@ -34,7 +34,6 @@ }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };arch/arm/boot/dts/kirkwood-lschlv2.dts +0
-1@@ -13,7 +13,6 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <166666667>; status = "okay"; }; };arch/arm/boot/dts/kirkwood-lsxhl.dts +0
-1@@ -13,7 +13,6 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <200000000>; status = "okay"; }; };arch/arm/boot/dts/kirkwood-mplcec4.dts +0
-1@@ -91,7 +91,6 @@ }; serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };arch/arm/boot/dts/kirkwood-nsa310.dts +0
-1@@ -18,7 +18,6 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };arch/arm/boot/dts/kirkwood-openblocks_a6.dts +0
-2@@ -18,12 +18,10 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <200000000>; status = "ok"; }; serial at 12100 { - clock-frequency = <200000000>; status = "ok"; };arch/arm/boot/dts/kirkwood-topkick.dts +0
-1@@ -17,7 +17,6 @@ ocp at f1000000 { serial at 12000 { - clock-frequency = <200000000>; status = "ok"; };arch/arm/boot/dts/kirkwood.dtsi +0
-2@@ -57,7 +57,6 @@ reg-shift = <2>; interrupts = <33>; clocks = <&gate_clk 7>; - /* set clock-frequency in board dts */ status = "disabled"; };@@ -67,7 +66,6 @@ reg-shift = <2>; interrupts = <34>; clocks = <&gate_clk 7>; - /* set clock-frequency in board dts */ status = "disabled"; };Signature · 7 lines
1.8.1.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel at lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130205/222d3a1d/attachment-0001.sig>
PATCH 1/1 ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency
Quoted 38 lines · Simon Guinot
Quoted 28 lines · Jason Cooper
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_serialdoesn't consume thegate_clkwhen 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 Simon Baatz <[email protected]>Signed-off-by Jason Cooper <[email protected]>--- arch/arm/boot/dts/kirkwood-dns320.dts | 2 -- arch/arm/boot/dts/kirkwood-dns325.dts | 1 - arch/arm/boot/dts/kirkwood-dockstar.dts | 1 - arch/arm/boot/dts/kirkwood-dreamplug.dts | 1 - arch/arm/boot/dts/kirkwood-goflexnet.dts | 1 - arch/arm/boot/dts/kirkwood-ib62x0.dts | 1 - arch/arm/boot/dts/kirkwood-iconnect.dts | 1 - arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts | 1 -Quoted 8 lines
arch/arm/boot/dts/kirkwood-km_kirkwood.dts | 1 - arch/arm/boot/dts/kirkwood-lschlv2.dts | 1 - arch/arm/boot/dts/kirkwood-lsxhl.dts | 1 - arch/arm/boot/dts/kirkwood-mplcec4.dts | 1 - arch/arm/boot/dts/kirkwood-nsa310.dts | 1 - arch/arm/boot/dts/kirkwood-openblocks_a6.dts | 2 -- arch/arm/boot/dts/kirkwood-topkick.dts | 1 - arch/arm/boot/dts/kirkwood.dtsi | 2 --
Quoted 4 lines
Hi Jason,
Maybe you could also remove the clock-frequency parameter from
kirkwood-ns2-common.dtsi?
Good catch, I must've been grepping through kirkwood*.dts and missed the dtsi. I'll do a followup patch.
thx,
Jason.
PATCH 1/1 ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency
Quoted 39 lines · Jason Cooper
Quoted 38 lines · Simon Guinot
Quoted 36 lines · Jason Cooper
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_serialdoesn't consume thegate_clkwhen 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 Simon Baatz <[email protected]>Signed-off-by Jason Cooper <[email protected]>--- arch/arm/boot/dts/kirkwood-dns320.dts | 2 -- arch/arm/boot/dts/kirkwood-dns325.dts | 1 - arch/arm/boot/dts/kirkwood-dockstar.dts | 1 - arch/arm/boot/dts/kirkwood-dreamplug.dts | 1 - arch/arm/boot/dts/kirkwood-goflexnet.dts | 1 - arch/arm/boot/dts/kirkwood-ib62x0.dts | 1 - arch/arm/boot/dts/kirkwood-iconnect.dts | 1 - arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts | 1 - arch/arm/boot/dts/kirkwood-km_kirkwood.dts | 1 - arch/arm/boot/dts/kirkwood-lschlv2.dts | 1 - arch/arm/boot/dts/kirkwood-lsxhl.dts | 1 - arch/arm/boot/dts/kirkwood-mplcec4.dts | 1 - arch/arm/boot/dts/kirkwood-nsa310.dts | 1 - arch/arm/boot/dts/kirkwood-openblocks_a6.dts | 2 -- arch/arm/boot/dts/kirkwood-topkick.dts | 1 - arch/arm/boot/dts/kirkwood.dtsi | 2 --
Quoted 7 lines
Quoted 4 lines
Hi Jason,
Maybe you could also remove the clock-frequency parameter from
kirkwood-ns2-common.dtsi?Good catch, I must've been grepping through kirkwood*.dts and missed the dtsi. I'll do a followup patch.
I squashed this change into the original patch a queued it up with the others to go into v3.8.x once v3.8 drops.
it's in mvebu-next/fixes
thx,
Jason.