Skip to contentSkip to conversation

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

PATCH New Jason Cooper 3 participants 6 messages Jan 29, 2013 – Feb 14, 2013 Device tree bindings

lore
Share & tools
lore
#0 lore raw

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
index 5bb0bf3..c9c44b2 100644
@@ -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
index d430713..e4e4930 100644
@@ -50,7 +50,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "okay";
 		};
 	};
arch/arm/boot/dts/kirkwood-dockstar.dts +0 -1
index 2e3dd34..0196cf6 100644
@@ -37,7 +37,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-dreamplug.dts +0 -1
index f2d386c..e21ae48 100644
@@ -38,7 +38,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-goflexnet.dts +0 -1
index 1b133e0..bd83b8f 100644
@@ -73,7 +73,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-ib62x0.dts +0 -1
index 71902da..5335b1a 100644
@@ -51,7 +51,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "okay";
 		};
 
arch/arm/boot/dts/kirkwood-iconnect.dts +0 -1
index 504f16b..12ccf74 100644
@@ -78,7 +78,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts +0 -1
index 6cae459..93c3afb 100644
@@ -115,7 +115,6 @@
 		};
 
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-km_kirkwood.dts +0 -1
index 8db3123..5bbd054 100644
@@ -34,7 +34,6 @@
 		};
 
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-lschlv2.dts +0 -1
index 9510c9e..9f55d95 100644
@@ -13,7 +13,6 @@
 
 	ocp at f1000000 {
 		serial at 12000 {
-			clock-frequency = <166666667>;
 			status = "okay";
 		};
 	};
arch/arm/boot/dts/kirkwood-lsxhl.dts +0 -1
index 739019c..5c84c11 100644
@@ -13,7 +13,6 @@
 
 	ocp at f1000000 {
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "okay";
 		};
 	};
arch/arm/boot/dts/kirkwood-mplcec4.dts +0 -1
index 262c654..07be213 100644
@@ -91,7 +91,6 @@
                 };
 
                 serial at 12000 {
-                        clock-frequency = <200000000>;
                         status = "ok";
                 };
 
arch/arm/boot/dts/kirkwood-nsa310.dts +0 -1
index 5509f96..28d05e4 100644
@@ -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
index 49d3d74..f3cc7c4 100644
@@ -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
index cd15452..7dd19ff 100644
@@ -17,7 +17,6 @@
 
 	ocp at f1000000 {
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood.dtsi +0 -2
index d6ab442..ec2701c 100644
@@ -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
#1 lore raw

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_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.

Quoted 6 lines

Booted on dreamplug without earlyprintk and successfully logged in via ttyS0.

---

If you like, you can add my

(On IB-NAS6210 serial console, earlyprintk and successful login via ttyS0)

- Simon

#2 lore raw

PATCH 1/1 ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency

In reply to Jason Cooper
Quoted 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_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 -
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.

#3 lore raw

PATCH 1/1 ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency

In reply to Jason Cooper
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_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 -
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
index 5bb0bf3..c9c44b2 100644
@@ -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
index d430713..e4e4930 100644
@@ -50,7 +50,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "okay";
 		};
 	};
arch/arm/boot/dts/kirkwood-dockstar.dts +0 -1
index 2e3dd34..0196cf6 100644
@@ -37,7 +37,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-dreamplug.dts +0 -1
index f2d386c..e21ae48 100644
@@ -38,7 +38,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-goflexnet.dts +0 -1
index 1b133e0..bd83b8f 100644
@@ -73,7 +73,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-ib62x0.dts +0 -1
index 71902da..5335b1a 100644
@@ -51,7 +51,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "okay";
 		};
 
arch/arm/boot/dts/kirkwood-iconnect.dts +0 -1
index 504f16b..12ccf74 100644
@@ -78,7 +78,6 @@
 			};
 		};
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts +0 -1
index 6cae459..93c3afb 100644
@@ -115,7 +115,6 @@
 		};
 
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-km_kirkwood.dts +0 -1
index 8db3123..5bbd054 100644
@@ -34,7 +34,6 @@
 		};
 
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood-lschlv2.dts +0 -1
index 9510c9e..9f55d95 100644
@@ -13,7 +13,6 @@
 
 	ocp at f1000000 {
 		serial at 12000 {
-			clock-frequency = <166666667>;
 			status = "okay";
 		};
 	};
arch/arm/boot/dts/kirkwood-lsxhl.dts +0 -1
index 739019c..5c84c11 100644
@@ -13,7 +13,6 @@
 
 	ocp at f1000000 {
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "okay";
 		};
 	};
arch/arm/boot/dts/kirkwood-mplcec4.dts +0 -1
index 262c654..07be213 100644
@@ -91,7 +91,6 @@
                 };
 
                 serial at 12000 {
-                        clock-frequency = <200000000>;
                         status = "ok";
                 };
 
arch/arm/boot/dts/kirkwood-nsa310.dts +0 -1
index 5509f96..28d05e4 100644
@@ -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
index 49d3d74..f3cc7c4 100644
@@ -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
index cd15452..7dd19ff 100644
@@ -17,7 +17,6 @@
 
 	ocp at f1000000 {
 		serial at 12000 {
-			clock-frequency = <200000000>;
 			status = "ok";
 		};
 
arch/arm/boot/dts/kirkwood.dtsi +0 -2
index d6ab442..ec2701c 100644
@@ -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>

#4 lore raw

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_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 -
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.

#5 lore raw

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_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 --
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.