]> rtime.felk.cvut.cz Git - sojka/nv-tegra/linux-3.10.git/commitdiff
ARM64: tegra21: Move clock init table to DT
authorAlex Frid <afrid@nvidia.com>
Sat, 2 May 2015 06:06:30 +0000 (23:06 -0700)
committerAleksandr Frid <afrid@nvidia.com>
Sat, 9 May 2015 01:03:15 +0000 (18:03 -0700)
Moved T210 reference board clock initialization table to DT.

Bug 200085579
Bug 1608456

Change-Id: Ia30d72ca74261b84d61f16ba9cb199e649b9347d
Signed-off-by: Alex Frid <afrid@nvidia.com>
Reviewed-on: http://git-master/r/740350
Reviewed-by: Yu-Huan Hsu <yhsu@nvidia.com>
Reviewed-by: Jay Bhukhanwala <jbhukhanwala@nvidia.com>
arch/arm64/boot/dts/tegra210-ers-e2190-1100-a00-00.dts
arch/arm64/boot/dts/tegra210-ers-e2220-1170-a00-00-common.dts
arch/arm64/boot/dts/tegra210-ers-e2220-1180-a00-00-common.dts
arch/arm64/boot/dts/tegra210-hawkeye-p2290-common.dtsi
arch/arm64/boot/dts/tegra210-jetson-e-base-p2595-0000-a00.dts
arch/arm64/boot/dts/tegra210-platforms/tegra210-ers-clk-init.dtsi [new file with mode: 0644]
arch/arm64/boot/dts/tegra210-platforms/tegra210-p2530-common.dtsi
arch/arm64/boot/dts/tegra210-vcm31-e2379-common.dtsi
arch/arm64/boot/dts/tegra210-vcm31-e2580-common.dtsi
arch/arm64/mach-tegra/board-t210ref.c

index 4e9c8e98ebb13df813a64f160b91472fdf38dd18..50b8f4526d47c7736872d79a3b6465e2f3b65922 100644 (file)
@@ -39,6 +39,7 @@
 #include "tegra210-platforms/tegra210-edp.dtsi"
 #include "tegra210-platforms/tegra210-ers-thermal-nct72-e2220-1170-a00.dtsi"
 #include "tegra210-platforms/tegra210-thermal-Tboard-Tdiode.dtsi"
+#include "tegra210-platforms/tegra210-ers-clk-init.dtsi"
 
 / {
        model = "e2190";
index f2c7ecf937daac86a726e78e85645b7c293b0b95..e54b9ff797a1d2363f3c32923d2e162b2a20367a 100644 (file)
@@ -46,6 +46,7 @@
 #include "tegra210-platforms/tegra210-edp.dtsi"
 #include "tegra210-platforms/tegra210-ers-thermal-nct72-e2220-1170-a00.dtsi"
 #include "tegra210-platforms/tegra210-thermal-Tboard-Tdiode.dtsi"
+#include "tegra210-platforms/tegra210-ers-clk-init.dtsi"
 #include <dt-bindings/sound/tegra-asoc-alt.h>
 #include <dt-bindings/platform/t210/t210.h>
 
index 08761e254909ffeed8826b2547b65a2e20df5476..f67029d6499451579e02bed41bc325553d12cb5d 100644 (file)
@@ -44,6 +44,7 @@
 #include "tegra210-platforms/tegra210-edp.dtsi"
 #include "tegra210-platforms/tegra210-ers-thermal-nct72-e2220-1170-a00.dtsi"
 #include "tegra210-platforms/tegra210-thermal-Tboard-Tdiode.dtsi"
+#include "tegra210-platforms/tegra210-ers-clk-init.dtsi"
 #include <dt-bindings/sound/tegra-asoc-alt.h>
 #include <dt-bindings/platform/t210/t210.h>
 
index 660e9b6342def24e9f2a056f1fc38b49ee6ff34d..407a15a45d49bf28e66054d3ad92eb9e7c4fac2b 100644 (file)
@@ -41,6 +41,7 @@
 #include "tegra210-platforms/tegra210-ers-thermal-nct72-e2220-1170-a00.dtsi"
 #include "tegra210-platforms/tegra210-thermal-Tboard-Tdiode.dtsi"
 #include "tegra210-platforms/tegra210-therm-est.dtsi"
+#include "tegra210-platforms/tegra210-ers-clk-init.dtsi"
 #include "tegra210-platforms/tegra210-ers-hdmi-e2190-1100-a00.dtsi"
 #include "tegra210-platforms/tegra210-hawkeye-keys-p2290-1100-a00.dtsi"
 #include "tegra210-platforms/tegra210-hawkeye-powermon.dtsi"
index 764732cf560c8a967720482737d7912345dbd5dd..0f849e40692b69d7f51054636be65229f2031b2f 100644 (file)
@@ -43,6 +43,7 @@
 #include "tegra210-platforms/tegra210-audio.dtsi"
 #include "tegra210-platforms/tegra210-thermal-nct72-p2530.dtsi"
 #include "tegra210-platforms/tegra210-thermal-Tboard-Tdiode.dtsi"
+#include "tegra210-platforms/tegra210-ers-clk-init.dtsi"
 #include "tegra210-platforms/tegra210-jetson-e-powermon-p2530-0930-e03.dtsi"
 
 
diff --git a/arch/arm64/boot/dts/tegra210-platforms/tegra210-ers-clk-init.dtsi b/arch/arm64/boot/dts/tegra210-platforms/tegra210-ers-clk-init.dtsi
new file mode 100644 (file)
index 0000000..8a085f2
--- /dev/null
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2014-2015 NVIDIA CORPORATION. All rights reserved.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+
+#include <dt-bindings/clk/tegra210-clk.h>
+
+/ {
+       clock {
+               t210-clk-init-table {
+                               compatible = "nvidia,tegra-clk-init-table";
+                               clkinit-0 = <
+                               /* clock id                     parent id                   rate        ctrl flags */
+                               TEGRA210_CLK_ID_HDA             TEGRA210_CLK_ID_PLL_P       108000000   0
+                               TEGRA210_CLK_ID_HDA2CODEC_2X    TEGRA210_CLK_ID_PLL_P       48000000    0
+                               TEGRA210_CLK_ID_PWM             TEGRA210_CLK_ID_PLL_P       48000000    0
+                               TEGRA210_CLK_ID_I2S0            TEGRA210_CLK_ID_PLL_A_OUT0  12288000    0
+                               TEGRA210_CLK_ID_I2S1            TEGRA210_CLK_ID_PLL_A_OUT0  0           0
+                               TEGRA210_CLK_ID_I2S3            TEGRA210_CLK_ID_PLL_A_OUT0  0           0
+                               TEGRA210_CLK_ID_I2S4            TEGRA210_CLK_ID_PLL_A_OUT0  0           0
+                               TEGRA210_CLK_ID_SPDIF_OUT       TEGRA210_CLK_ID_PLL_A_OUT0  6144000     0
+                               TEGRA210_CLK_ID_SPDIF_IN        TEGRA210_CLK_ID_PLL_P       48000000    0
+                               TEGRA210_CLK_ID_AHUB            TEGRA210_CLK_ID_PLL_A_OUT0  12288000    0
+                               TEGRA210_CLK_ID_AUDIO1          TEGRA210_CLK_ID_I2S1_SYNC   0           0
+                               TEGRA210_CLK_ID_AUDIO3          TEGRA210_CLK_ID_I2S3_SYNC   0           0
+                               TEGRA210_CLK_ID_VI_SENSOR       TEGRA210_CLK_ID_PLL_P       150000000   0
+                               TEGRA210_CLK_ID_VI_SENSOR2      TEGRA210_CLK_ID_PLL_P       150000000   0
+                               TEGRA210_CLK_ID_CILAB           TEGRA210_CLK_ID_PLL_P       150000000   0
+                               TEGRA210_CLK_ID_CILCD           TEGRA210_CLK_ID_PLL_P       150000000   0
+                               TEGRA210_CLK_ID_CILE            TEGRA210_CLK_ID_PLL_P       150000000   0
+                               TEGRA210_CLK_ID_EXTERN3         TEGRA210_CLK_ID_PLL_P       41000000    0
+                               TEGRA210_CLK_ID_CLK_OUT_3       TEGRA210_CLK_ID_EXTERN3     0           0
+                               TEGRA210_CLK_ID_I2C1            TEGRA210_CLK_ID_PLL_P       3200000     0
+                               TEGRA210_CLK_ID_I2C2            TEGRA210_CLK_ID_PLL_P       3200000     0
+                               TEGRA210_CLK_ID_I2C3            TEGRA210_CLK_ID_PLL_P       3200000     0
+                               TEGRA210_CLK_ID_I2C4            TEGRA210_CLK_ID_PLL_P       3200000     0
+                               TEGRA210_CLK_ID_I2C5            TEGRA210_CLK_ID_PLL_P       3200000     0
+                               TEGRA210_CLK_ID_VII2C           TEGRA210_CLK_ID_PLL_P       204000000   0
+                               TEGRA210_CLK_ID_I2CSLOW         TEGRA210_CLK_ID_CLK_M       1000000     0
+                               TEGRA210_CLK_ID_SBC1            TEGRA210_CLK_ID_PLL_P       25000000    0
+                               TEGRA210_CLK_ID_SBC2            TEGRA210_CLK_ID_PLL_P       25000000    0
+                               TEGRA210_CLK_ID_SBC3            TEGRA210_CLK_ID_PLL_P       25000000    0
+                               TEGRA210_CLK_ID_SBC4            TEGRA210_CLK_ID_PLL_P       25000000    0
+                               TEGRA210_CLK_ID_QSPI            TEGRA210_CLK_ID_PLL_P       133000000   0
+                               TEGRA210_CLK_ID_UARTA           TEGRA210_CLK_ID_PLL_P       408000000   1
+                               TEGRA210_CLK_ID_UARTB           TEGRA210_CLK_ID_PLL_P       408000000   0
+                               TEGRA210_CLK_ID_UARTC           TEGRA210_CLK_ID_PLL_P       408000000   0
+                               TEGRA210_CLK_ID_UARTD           TEGRA210_CLK_ID_PLL_P       408000000   0
+                               TEGRA210_CLK_ID_EXTERN2         TEGRA210_CLK_ID_PLL_P       41000000    0
+                               TEGRA210_CLK_ID_CLK_OUT_2       TEGRA210_CLK_ID_EXTERN2     40800000    0
+                               TEGRA210_CLK_ID_EXTERN1         TEGRA210_CLK_ID_CLK_M       19200000    1
+                               TEGRA210_CLK_ID_CLK_OUT_1       TEGRA210_CLK_ID_EXTERN1     19200000    1
+                               TEGRA210_CLK_ID_UART_MIPI_CAL   TEGRA210_CLK_ID_PLL_P       68000000    0
+                               0 >;
+               };
+       };
+};
index 7747e84cb11b8e408550364b40451ff9b6c3a01f..59ede4a38e56c6374fca36d53a6ea7af9b1f6657 100644 (file)
@@ -20,6 +20,7 @@
 
 #include "tegra210-platforms/tegra210-thermal-nct72-p2530.dtsi"
 #include "tegra210-platforms/tegra210-thermal-Tboard-Tdiode.dtsi"
+#include "tegra210-platforms/tegra210-ers-clk-init.dtsi"
 
 / {
        nvidia,boardids = "2530:0032:E0";
index 099e3c4b1e6a7d22c254ea50c975bcbe7acf1014..6ba2b2c13fb55b94e90d8e9c0abdb76c4fb0d565 100644 (file)
@@ -33,6 +33,7 @@
 #include "tegra210-platforms/tegra210-vcm31-power-tree-e2379.dtsi"
 #include "tegra210-platforms/tegra210-ers-hdmi-e2190-1100-a00.dtsi"
 #include "tegra210-platforms/tegra210-vcm31t210-emc.dtsi"
+#include "tegra210-platforms/tegra210-ers-clk-init.dtsi"
 
 #include <dt-bindings/iio/meter/ina3221x.h>
 #include <dt-bindings/sound/tegra-asoc-alt.h>
index 3ec46125e26e4d2cf4507af7d79ac512f7ed3349..37b10ea017f397b07b9181c91fe39706380efb5c 100644 (file)
@@ -33,6 +33,7 @@
 #include "tegra210-platforms/tegra210-vcm31-power-tree-e2580-0631-a00.dtsi"
 #include "tegra210-platforms/tegra210-ers-hdmi-e2190-1100-a00.dtsi"
 #include "tegra210-platforms/tegra210-vcm31t210-emc.dtsi"
+#include "tegra210-platforms/tegra210-ers-clk-init.dtsi"
 
 #include <dt-bindings/iio/meter/ina3221x.h>
 #include <dt-bindings/sound/tegra-asoc-alt.h>
index d75e74f11c451a43be4b8137f609b800ab8ff540..34378e5d19e46cec43a4df4d8d53604c9ab3e1f0 100644 (file)
@@ -110,51 +110,6 @@ static struct tegra_usb_otg_data tegra_otg_pdata;
 static struct nvadsp_platform_data nvadsp_plat_data;
 #endif
 
-static __initdata struct tegra_clk_init_table t210ref_clk_init_table[] = {
-       /* name         parent          rate            enabled */
-       { "hda",        "pll_p",        108000000,      false},
-       { "hda2codec_2x", "pll_p",      48000000,       false},
-       { "pwm",        "pll_p",        48000000,       false},
-       { "i2s0",       "pll_a_out0",   12288000,               false},
-       { "i2s1",       "pll_a_out0",   0,              false},
-       { "i2s3",       "pll_a_out0",   0,              false},
-       { "i2s4",       "pll_a_out0",   0,              false},
-       { "spdif_out",          "pll_a_out0",   6144000,        false},
-       { "spdif_in",           "pll_p",        48000000,       false},
-       { "d_audio",    "pll_a_out0",   12288000,       false},
-       { "audio1",     "i2s1_sync",    0,              false},
-       { "audio3",     "i2s3_sync",    0,              false},
-       { "vi_sensor",  "pll_p",        150000000,      false},
-       { "vi_sensor2", "pll_p",        150000000,      false},
-       { "cilab",      "pll_p",        150000000,      false},
-       { "cilcd",      "pll_p",        150000000,      false},
-       { "cile",       "pll_p",        150000000,      false},
-       { "extern3",    "pll_p",        41000000,       false},
-       { "clk_out_3",  "extern3",      0,              false},
-       { "i2c1",       "pll_p",        3200000,        false},
-       { "i2c2",       "pll_p",        3200000,        false},
-       { "i2c3",       "pll_p",        3200000,        false},
-       { "i2c4",       "pll_p",        3200000,        false},
-       { "i2c5",       "pll_p",        3200000,        false},
-       { "vii2c",      "pll_p",        204000000,      false},
-       { "i2cslow",    "clk_m",        1000000,        false},
-       { "sbc1",       "pll_p",        25000000,       false},
-       { "sbc2",       "pll_p",        25000000,       false},
-       { "sbc3",       "pll_p",        25000000,       false},
-       { "sbc4",       "pll_p",        25000000,       false},
-       { "qspi",       "pll_p",        133000000,      false},
-       { "uarta",      "pll_p",        408000000,      true},
-       { "uartb",      "pll_p",        408000000,      false},
-       { "uartc",      "pll_p",        408000000,      false},
-       { "uartd",      "pll_p",        408000000,      false},
-       { "extern2",    "pll_p",        41000000,       false},
-       { "clk_out_2",  "extern2",      40800000,       false},
-       { "extern1",    "clk_m",        19200000,       true},
-       { "clk_out_1",  "extern1",      19200000,       true},
-       { "uart_mipi_cal",      "pll_p",        68000000,       false},
-       { NULL,         NULL,           0,              0},
-};
-
 static void t210ref_usb_init(void)
 {
        int usb_port_owner_info = tegra_get_usb_port_owner_info();
@@ -260,7 +215,7 @@ static struct of_dev_auxdata t210ref_auxdata_lookup[] __initdata = {
 static void __init tegra_t210ref_early_init(void)
 {
        if (!tegra_platform_is_fpga()) {
-               tegra_clk_init_from_table(t210ref_clk_init_table);
+               tegra_clk_init_from_dt("t210-clk-init-table");
                tegra_clk_verify_parents();
        }
        if (of_machine_is_compatible("nvidia,e2141"))