aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/sunxi/patches-3.12/104-arm-sunxi_add_pll5-6_dts.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/sunxi/patches-3.12/104-arm-sunxi_add_pll5-6_dts.patch')
-rw-r--r--target/linux/sunxi/patches-3.12/104-arm-sunxi_add_pll5-6_dts.patch197
1 files changed, 197 insertions, 0 deletions
diff --git a/target/linux/sunxi/patches-3.12/104-arm-sunxi_add_pll5-6_dts.patch b/target/linux/sunxi/patches-3.12/104-arm-sunxi_add_pll5-6_dts.patch
new file mode 100644
index 0000000000..bd9221207a
--- /dev/null
+++ b/target/linux/sunxi/patches-3.12/104-arm-sunxi_add_pll5-6_dts.patch
@@ -0,0 +1,197 @@
+From 4f40ad1587e9435a2085703fa2a7d7c9245306b2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Emilio=20L=C3=B3pez?= <emilio@elopez.com.ar>
+Date: Sun, 26 May 2013 14:08:59 -0300
+Subject: [PATCH] ARM: sunxi: add PLL5 and PLL6 support
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This commit adds PLL5 and PLL6 nodes to the sun4i, sun5i and sun7i
+device trees.
+
+Signed-off-by: Emilio López <emilio@elopez.com.ar>
+---
+ arch/arm/boot/dts/sun4i-a10.dtsi | 19 +++++++++++++++++--
+ arch/arm/boot/dts/sun5i-a10s.dtsi | 19 +++++++++++++++++--
+ arch/arm/boot/dts/sun5i-a13.dtsi | 19 +++++++++++++++++--
+ arch/arm/boot/dts/sun7i-a20.dtsi | 28 ++++++++++++++++------------
+ 4 files changed, 67 insertions(+), 18 deletions(-)
+
+diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi
+index a6c1cae..5e2fc45 100644
+--- a/arch/arm/boot/dts/sun4i-a10.dtsi
++++ b/arch/arm/boot/dts/sun4i-a10.dtsi
+@@ -73,6 +73,22 @@
+ clocks = <&osc24M>;
+ };
+
++ pll5: pll5@01c20020 {
++ #clock-cells = <1>;
++ compatible = "allwinner,sun4i-pll5-clk";
++ reg = <0x01c20020 0x4>;
++ clocks = <&osc24M>;
++ clock-output-names = "pll5_ddr", "pll5_other";
++ };
++
++ pll6: pll6@01c20028 {
++ #clock-cells = <1>;
++ compatible = "allwinner,sun4i-pll6-clk";
++ reg = <0x01c20028 0x4>;
++ clocks = <&osc24M>;
++ clock-output-names = "pll6_sata", "pll6_other", "pll6";
++ };
++
+ /* dummy is 200M */
+ cpu: cpu@01c20054 {
+ #clock-cells = <0>;
+@@ -138,12 +154,11 @@
+ "apb0_ir1", "apb0_keypad";
+ };
+
+- /* dummy is pll62 */
+ apb1_mux: apb1_mux@01c20058 {
+ #clock-cells = <0>;
+ compatible = "allwinner,sun4i-apb1-mux-clk";
+ reg = <0x01c20058 0x4>;
+- clocks = <&osc24M>, <&dummy>, <&osc32k>;
++ clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
+ };
+
+ apb1: apb1@01c20058 {
+diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi
+index c3f4eed..b29412a 100644
+--- a/arch/arm/boot/dts/sun5i-a10s.dtsi
++++ b/arch/arm/boot/dts/sun5i-a10s.dtsi
+@@ -70,6 +70,22 @@
+ clocks = <&osc24M>;
+ };
+
++ pll5: pll5@01c20020 {
++ #clock-cells = <1>;
++ compatible = "allwinner,sun4i-pll5-clk";
++ reg = <0x01c20020 0x4>;
++ clocks = <&osc24M>;
++ clock-output-names = "pll5_ddr", "pll5_other";
++ };
++
++ pll6: pll6@01c20028 {
++ #clock-cells = <1>;
++ compatible = "allwinner,sun4i-pll6-clk";
++ reg = <0x01c20028 0x4>;
++ clocks = <&osc24M>;
++ clock-output-names = "pll6_sata", "pll6_other", "pll6";
++ };
++
+ /* dummy is 200M */
+ cpu: cpu@01c20054 {
+ #clock-cells = <0>;
+@@ -130,12 +146,11 @@
+ "apb0_ir", "apb0_keypad";
+ };
+
+- /* dummy is pll62 */
+ apb1_mux: apb1_mux@01c20058 {
+ #clock-cells = <0>;
+ compatible = "allwinner,sun4i-apb1-mux-clk";
+ reg = <0x01c20058 0x4>;
+- clocks = <&osc24M>, <&dummy>, <&osc32k>;
++ clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
+ };
+
+ apb1: apb1@01c20058 {
+diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi
+index 8c4a9c3..cded3c7 100644
+--- a/arch/arm/boot/dts/sun5i-a13.dtsi
++++ b/arch/arm/boot/dts/sun5i-a13.dtsi
+@@ -74,6 +74,22 @@
+ clocks = <&osc24M>;
+ };
+
++ pll5: pll5@01c20020 {
++ #clock-cells = <1>;
++ compatible = "allwinner,sun4i-pll5-clk";
++ reg = <0x01c20020 0x4>;
++ clocks = <&osc24M>;
++ clock-output-names = "pll5_ddr", "pll5_other";
++ };
++
++ pll6: pll6@01c20028 {
++ #clock-cells = <1>;
++ compatible = "allwinner,sun4i-pll6-clk";
++ reg = <0x01c20028 0x4>;
++ clocks = <&osc24M>;
++ clock-output-names = "pll6_sata", "pll6_other", "pll6";
++ };
++
+ /* dummy is 200M */
+ cpu: cpu@01c20054 {
+ #clock-cells = <0>;
+@@ -132,12 +148,11 @@
+ clock-output-names = "apb0_codec", "apb0_pio", "apb0_ir";
+ };
+
+- /* dummy is pll6 */
+ apb1_mux: apb1_mux@01c20058 {
+ #clock-cells = <0>;
+ compatible = "allwinner,sun4i-apb1-mux-clk";
+ reg = <0x01c20058 0x4>;
+- clocks = <&osc24M>, <&dummy>, <&osc32k>;
++ clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
+ };
+
+ apb1: apb1@01c20058 {
+diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi
+index 21bf143..2e39ed9 100644
+--- a/arch/arm/boot/dts/sun7i-a20.dtsi
++++ b/arch/arm/boot/dts/sun7i-a20.dtsi
+@@ -69,23 +69,27 @@
+ clocks = <&osc24M>;
+ };
+
+- /*
+- * This is a dummy clock, to be used as placeholder on
+- * other mux clocks when a specific parent clock is not
+- * yet implemented. It should be dropped when the driver
+- * is complete.
+- */
+- pll6: pll6 {
+- #clock-cells = <0>;
+- compatible = "fixed-clock";
+- clock-frequency = <0>;
++ pll5: pll5@01c20020 {
++ #clock-cells = <1>;
++ compatible = "allwinner,sun4i-pll5-clk";
++ reg = <0x01c20020 0x4>;
++ clocks = <&osc24M>;
++ clock-output-names = "pll5_ddr", "pll5_other";
++ };
++
++ pll6: pll6@01c20028 {
++ #clock-cells = <1>;
++ compatible = "allwinner,sun4i-pll6-clk";
++ reg = <0x01c20028 0x4>;
++ clocks = <&osc24M>;
++ clock-output-names = "pll6_sata", "pll6_other", "pll6";
+ };
+
+ cpu: cpu@01c20054 {
+ #clock-cells = <0>;
+ compatible = "allwinner,sun4i-cpu-clk";
+ reg = <0x01c20054 0x4>;
+- clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll6>;
++ clocks = <&osc32k>, <&osc24M>, <&pll1>, <&pll6 1>;
+ };
+
+ axi: axi@01c20054 {
+@@ -144,7 +148,7 @@
+ #clock-cells = <0>;
+ compatible = "allwinner,sun4i-apb1-mux-clk";
+ reg = <0x01c20058 0x4>;
+- clocks = <&osc24M>, <&pll6>, <&osc32k>;
++ clocks = <&osc24M>, <&pll6 1>, <&osc32k>;
+ };
+
+ apb1: apb1@01c20058 {
+--
+1.8.4
+