[PATCH] ARM: kirkwood: of_serial: fix clock gating by removing clock-frequency
Simon Guinot
simon.guinot at sequanux.org
Tue Feb 5 05:54:31 EST 2013
On Tue, Jan 29, 2013 at 09:09:34PM +0000, Jason Cooper wrote:
> 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: Simon Baatz <gmbnomis at gmail.com>
> Signed-off-by: Jason Cooper <jason at lakedaemon.net>
> ---
> 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 --
Hi Jason,
Maybe you could also remove the clock-frequency parameter from
kirkwood-ns2-common.dtsi ?
Regards,
Simon
> 16 files changed, 19 deletions(-)
>
> diff --git a/arch/arm/boot/dts/kirkwood-dns320.dts b/arch/arm/boot/dts/kirkwood-dns320.dts
> index 5bb0bf3..c9c44b2 100644
> --- a/arch/arm/boot/dts/kirkwood-dns320.dts
> +++ b/arch/arm/boot/dts/kirkwood-dns320.dts
> @@ -42,12 +42,10 @@
>
> ocp at f1000000 {
> serial at 12000 {
> - clock-frequency = <166666667>;
> status = "okay";
> };
>
> serial at 12100 {
> - clock-frequency = <166666667>;
> status = "okay";
> };
> };
> diff --git a/arch/arm/boot/dts/kirkwood-dns325.dts b/arch/arm/boot/dts/kirkwood-dns325.dts
> index d430713..e4e4930 100644
> --- a/arch/arm/boot/dts/kirkwood-dns325.dts
> +++ b/arch/arm/boot/dts/kirkwood-dns325.dts
> @@ -50,7 +50,6 @@
> };
> };
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "okay";
> };
> };
> diff --git a/arch/arm/boot/dts/kirkwood-dockstar.dts b/arch/arm/boot/dts/kirkwood-dockstar.dts
> index 2e3dd34..0196cf6 100644
> --- a/arch/arm/boot/dts/kirkwood-dockstar.dts
> +++ b/arch/arm/boot/dts/kirkwood-dockstar.dts
> @@ -37,7 +37,6 @@
> };
> };
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood-dreamplug.dts b/arch/arm/boot/dts/kirkwood-dreamplug.dts
> index f2d386c..e21ae48 100644
> --- a/arch/arm/boot/dts/kirkwood-dreamplug.dts
> +++ b/arch/arm/boot/dts/kirkwood-dreamplug.dts
> @@ -38,7 +38,6 @@
> };
> };
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood-goflexnet.dts b/arch/arm/boot/dts/kirkwood-goflexnet.dts
> index 1b133e0..bd83b8f 100644
> --- a/arch/arm/boot/dts/kirkwood-goflexnet.dts
> +++ b/arch/arm/boot/dts/kirkwood-goflexnet.dts
> @@ -73,7 +73,6 @@
> };
> };
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood-ib62x0.dts b/arch/arm/boot/dts/kirkwood-ib62x0.dts
> index 71902da..5335b1a 100644
> --- a/arch/arm/boot/dts/kirkwood-ib62x0.dts
> +++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts
> @@ -51,7 +51,6 @@
> };
> };
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "okay";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood-iconnect.dts b/arch/arm/boot/dts/kirkwood-iconnect.dts
> index 504f16b..12ccf74 100644
> --- a/arch/arm/boot/dts/kirkwood-iconnect.dts
> +++ b/arch/arm/boot/dts/kirkwood-iconnect.dts
> @@ -78,7 +78,6 @@
> };
> };
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
> index 6cae459..93c3afb 100644
> --- a/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
> +++ b/arch/arm/boot/dts/kirkwood-iomega_ix2_200.dts
> @@ -115,7 +115,6 @@
> };
>
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
> index 8db3123..5bbd054 100644
> --- a/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
> +++ b/arch/arm/boot/dts/kirkwood-km_kirkwood.dts
> @@ -34,7 +34,6 @@
> };
>
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood-lschlv2.dts b/arch/arm/boot/dts/kirkwood-lschlv2.dts
> index 9510c9e..9f55d95 100644
> --- a/arch/arm/boot/dts/kirkwood-lschlv2.dts
> +++ b/arch/arm/boot/dts/kirkwood-lschlv2.dts
> @@ -13,7 +13,6 @@
>
> ocp at f1000000 {
> serial at 12000 {
> - clock-frequency = <166666667>;
> status = "okay";
> };
> };
> diff --git a/arch/arm/boot/dts/kirkwood-lsxhl.dts b/arch/arm/boot/dts/kirkwood-lsxhl.dts
> index 739019c..5c84c11 100644
> --- a/arch/arm/boot/dts/kirkwood-lsxhl.dts
> +++ b/arch/arm/boot/dts/kirkwood-lsxhl.dts
> @@ -13,7 +13,6 @@
>
> ocp at f1000000 {
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "okay";
> };
> };
> diff --git a/arch/arm/boot/dts/kirkwood-mplcec4.dts b/arch/arm/boot/dts/kirkwood-mplcec4.dts
> index 262c654..07be213 100644
> --- a/arch/arm/boot/dts/kirkwood-mplcec4.dts
> +++ b/arch/arm/boot/dts/kirkwood-mplcec4.dts
> @@ -91,7 +91,6 @@
> };
>
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood-nsa310.dts b/arch/arm/boot/dts/kirkwood-nsa310.dts
> index 5509f96..28d05e4 100644
> --- a/arch/arm/boot/dts/kirkwood-nsa310.dts
> +++ b/arch/arm/boot/dts/kirkwood-nsa310.dts
> @@ -18,7 +18,6 @@
> ocp at f1000000 {
>
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
> index 49d3d74..f3cc7c4 100644
> --- a/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
> +++ b/arch/arm/boot/dts/kirkwood-openblocks_a6.dts
> @@ -18,12 +18,10 @@
>
> ocp at f1000000 {
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> serial at 12100 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood-topkick.dts b/arch/arm/boot/dts/kirkwood-topkick.dts
> index cd15452..7dd19ff 100644
> --- a/arch/arm/boot/dts/kirkwood-topkick.dts
> +++ b/arch/arm/boot/dts/kirkwood-topkick.dts
> @@ -17,7 +17,6 @@
>
> ocp at f1000000 {
> serial at 12000 {
> - clock-frequency = <200000000>;
> status = "ok";
> };
>
> diff --git a/arch/arm/boot/dts/kirkwood.dtsi b/arch/arm/boot/dts/kirkwood.dtsi
> index d6ab442..ec2701c 100644
> --- a/arch/arm/boot/dts/kirkwood.dtsi
> +++ b/arch/arm/boot/dts/kirkwood.dtsi
> @@ -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";
> };
>
> --
> 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>
More information about the linux-arm-kernel
mailing list