[PATCH 6/7] arm: zynq: Migrate platform to clock controller

2013-04-30 Thread Soren Brinkmann
Migrate the Zynq platform and its drivers to use the new clock
controller driver.

Signed-off-by: Soren Brinkmann 
Cc: John Stultz 
Cc: Thomas Gleixner 
Cc: Greg Kroah-Hartman 
Cc: Jiri Slaby 
Cc: linux-ser...@vger.kernel.org
---
 arch/arm/boot/dts/zynq-7000.dtsi| 71 ---
 arch/arm/boot/dts/zynq-zc702.dts|  4 --
 arch/arm/mach-zynq/slcr.c   |  2 +-
 drivers/clk/Makefile|  2 +-
 drivers/clk/zynq/Makefile   |  3 ++
 drivers/clocksource/cadence_ttc_timer.c | 23 +++--
 drivers/tty/serial/xilinx_uartps.c  | 85 ++---
 include/linux/clk/zynq.h|  8 +++-
 8 files changed, 118 insertions(+), 80 deletions(-)
 create mode 100644 drivers/clk/zynq/Makefile

diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
index 2a1df1b..5337554 100644
--- a/arch/arm/boot/dts/zynq-7000.dtsi
+++ b/arch/arm/boot/dts/zynq-7000.dtsi
@@ -42,16 +42,18 @@
 
uart0: uart@e000 {
compatible = "xlnx,xuartps";
+   clocks = < 23>, < 40>;
+   clock-names = "ref_clk", "aper_clk";
reg = <0xE000 0x1000>;
interrupts = <0 27 4>;
-   clocks = <_clk 0>;
};
 
uart1: uart@e0001000 {
compatible = "xlnx,xuartps";
+   clocks = < 24>, < 41>;
+   clock-names = "ref_clk", "aper_clk";
reg = <0xE0001000 0x1000>;
interrupts = <0 50 4>;
-   clocks = <_clk 1>;
};
 
slcr: slcr@f800 {
@@ -62,50 +64,21 @@
#address-cells = <1>;
#size-cells = <0>;
 
-   ps_clk: ps_clk {
-   #clock-cells = <0>;
-   compatible = "fixed-clock";
-   /* clock-frequency set in 
board-specific file */
-   clock-output-names = "ps_clk";
-   };
-   armpll: armpll {
-   #clock-cells = <0>;
-   compatible = "xlnx,zynq-pll";
-   clocks = <_clk>;
-   reg = <0x100 0x110>;
-   clock-output-names = "armpll";
-   };
-   ddrpll: ddrpll {
-   #clock-cells = <0>;
-   compatible = "xlnx,zynq-pll";
-   clocks = <_clk>;
-   reg = <0x104 0x114>;
-   clock-output-names = "ddrpll";
-   };
-   iopll: iopll {
-   #clock-cells = <0>;
-   compatible = "xlnx,zynq-pll";
-   clocks = <_clk>;
-   reg = <0x108 0x118>;
-   clock-output-names = "iopll";
-   };
-   uart_clk: uart_clk {
-   #clock-cells = <1>;
-   compatible = "xlnx,zynq-periph-clock";
-   clocks = <  >;
-   reg = <0x154>;
-   clock-output-names = "uart0_ref_clk",
-"uart1_ref_clk";
-   };
-   cpu_clk: cpu_clk {
+   clkc: clkc {
#clock-cells = <1>;
-   compatible = "xlnx,zynq-cpu-clock";
-   clocks = <  >;
-   reg = <0x120 0x1C4>;
-   clock-output-names = "cpu_6x4x",
-"cpu_3x2x",
-"cpu_2x",
-"cpu_1x";
+   compatible = "xlnx,ps7-clkc";
+   ps-clk-frequency = <>;
+   clock-output-names = "armpll", 
"ddrpll", "iopll", "cpu_6or4x",
+   "cpu_3or2x", "cpu_2x", 
"cpu_1x", "ddr2x", "ddr3x",
+  

[PATCH 6/7] arm: zynq: Migrate platform to clock controller

2013-04-30 Thread Soren Brinkmann
Migrate the Zynq platform and its drivers to use the new clock
controller driver.

Signed-off-by: Soren Brinkmann soren.brinkm...@xilinx.com
Cc: John Stultz john.stu...@linaro.org
Cc: Thomas Gleixner t...@linutronix.de
Cc: Greg Kroah-Hartman gre...@linuxfoundation.org
Cc: Jiri Slaby jsl...@suse.cz
Cc: linux-ser...@vger.kernel.org
---
 arch/arm/boot/dts/zynq-7000.dtsi| 71 ---
 arch/arm/boot/dts/zynq-zc702.dts|  4 --
 arch/arm/mach-zynq/slcr.c   |  2 +-
 drivers/clk/Makefile|  2 +-
 drivers/clk/zynq/Makefile   |  3 ++
 drivers/clocksource/cadence_ttc_timer.c | 23 +++--
 drivers/tty/serial/xilinx_uartps.c  | 85 ++---
 include/linux/clk/zynq.h|  8 +++-
 8 files changed, 118 insertions(+), 80 deletions(-)
 create mode 100644 drivers/clk/zynq/Makefile

diff --git a/arch/arm/boot/dts/zynq-7000.dtsi b/arch/arm/boot/dts/zynq-7000.dtsi
index 2a1df1b..5337554 100644
--- a/arch/arm/boot/dts/zynq-7000.dtsi
+++ b/arch/arm/boot/dts/zynq-7000.dtsi
@@ -42,16 +42,18 @@
 
uart0: uart@e000 {
compatible = xlnx,xuartps;
+   clocks = clkc 23, clkc 40;
+   clock-names = ref_clk, aper_clk;
reg = 0xE000 0x1000;
interrupts = 0 27 4;
-   clocks = uart_clk 0;
};
 
uart1: uart@e0001000 {
compatible = xlnx,xuartps;
+   clocks = clkc 24, clkc 41;
+   clock-names = ref_clk, aper_clk;
reg = 0xE0001000 0x1000;
interrupts = 0 50 4;
-   clocks = uart_clk 1;
};
 
slcr: slcr@f800 {
@@ -62,50 +64,21 @@
#address-cells = 1;
#size-cells = 0;
 
-   ps_clk: ps_clk {
-   #clock-cells = 0;
-   compatible = fixed-clock;
-   /* clock-frequency set in 
board-specific file */
-   clock-output-names = ps_clk;
-   };
-   armpll: armpll {
-   #clock-cells = 0;
-   compatible = xlnx,zynq-pll;
-   clocks = ps_clk;
-   reg = 0x100 0x110;
-   clock-output-names = armpll;
-   };
-   ddrpll: ddrpll {
-   #clock-cells = 0;
-   compatible = xlnx,zynq-pll;
-   clocks = ps_clk;
-   reg = 0x104 0x114;
-   clock-output-names = ddrpll;
-   };
-   iopll: iopll {
-   #clock-cells = 0;
-   compatible = xlnx,zynq-pll;
-   clocks = ps_clk;
-   reg = 0x108 0x118;
-   clock-output-names = iopll;
-   };
-   uart_clk: uart_clk {
-   #clock-cells = 1;
-   compatible = xlnx,zynq-periph-clock;
-   clocks = iopll armpll ddrpll;
-   reg = 0x154;
-   clock-output-names = uart0_ref_clk,
-uart1_ref_clk;
-   };
-   cpu_clk: cpu_clk {
+   clkc: clkc {
#clock-cells = 1;
-   compatible = xlnx,zynq-cpu-clock;
-   clocks = iopll armpll ddrpll;
-   reg = 0x120 0x1C4;
-   clock-output-names = cpu_6x4x,
-cpu_3x2x,
-cpu_2x,
-cpu_1x;
+   compatible = xlnx,ps7-clkc;
+   ps-clk-frequency = ;
+   clock-output-names = armpll, 
ddrpll, iopll, cpu_6or4x,
+   cpu_3or2x, cpu_2x, 
cpu_1x, ddr2x, ddr3x,
+