--- v3
+++ v6
@@ -1,44 +1,859 @@
-Add dedicated device-tree for 1080p version of Nyan Big in order to
-describe display panel properly. FHD panel doesn't support modes other
-than 1080p, hence it's wrong to use incompatible lower resolution panel
-in device-tree.
+From: Svyatoslav Ryhel <clamor95@gmail.com>
-Tested-by: Thomas Graichen <thomas.graichen@gmail.com>
+Add device-tree for ASUS Transformer Infinity TF700T, which is a NVIDIA
+Tegra30-based 2-in-1 detachable, originally running Android.
+
+Link: https://wiki.postmarketos.org/wiki/Asus_Transformer_Pad_Infinity_TF700T_(asus-tf700t)
+Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com>
+Tested-by: Jasper Korten <jja2000@gmail.com>
+Co-developed-by: Ion Agorria <ion@agorria.com>
+Signed-off-by: Ion Agorria <ion@agorria.com>
+Co-developed-by: Maxim Schwalm <maxim.schwalm@gmail.com>
+Signed-off-by: Maxim Schwalm <maxim.schwalm@gmail.com>
+Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
+Co-developed-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
---
- arch/arm/boot/dts/Makefile | 1 +
- arch/arm/boot/dts/tegra124-nyan-big-fhd.dts | 11 +++++++++++
- 2 files changed, 12 insertions(+)
- create mode 100644 arch/arm/boot/dts/tegra124-nyan-big-fhd.dts
+ arch/arm/boot/dts/Makefile | 1 +
+ arch/arm/boot/dts/tegra30-asus-tf700t.dts | 818 ++++++++++++++++++++++
+ 2 files changed, 819 insertions(+)
+ create mode 100644 arch/arm/boot/dts/tegra30-asus-tf700t.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
-index 26798673739c..561e0eae05a9 100644
+index fcbcaed0c2da..87166d66e0b1 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
-@@ -1341,6 +1341,7 @@ dtb-$(CONFIG_ARCH_TEGRA_124_SOC) += \
- tegra124-apalis-v1.2-eval.dtb \
- tegra124-jetson-tk1.dtb \
- tegra124-nyan-big.dtb \
-+ tegra124-nyan-big-fhd.dtb \
- tegra124-nyan-blaze.dtb \
- tegra124-venice2.dtb
- dtb-$(CONFIG_ARCH_U8500) += \
-diff --git a/arch/arm/boot/dts/tegra124-nyan-big-fhd.dts b/arch/arm/boot/dts/tegra124-nyan-big-fhd.dts
+@@ -1324,6 +1324,7 @@ dtb-$(CONFIG_ARCH_TEGRA_3x_SOC) += \
+ tegra30-asus-tf201.dtb \
+ tegra30-asus-tf300t.dtb \
+ tegra30-asus-tf300tg.dtb \
++ tegra30-asus-tf700t.dtb \
+ tegra30-beaver.dtb \
+ tegra30-cardhu-a02.dtb \
+ tegra30-cardhu-a04.dtb \
+diff --git a/arch/arm/boot/dts/tegra30-asus-tf700t.dts b/arch/arm/boot/dts/tegra30-asus-tf700t.dts
new file mode 100644
-index 000000000000..d35fb79d2f51
+index 000000000000..49ae8ba89436
--- /dev/null
-+++ b/arch/arm/boot/dts/tegra124-nyan-big-fhd.dts
-@@ -0,0 +1,11 @@
++++ b/arch/arm/boot/dts/tegra30-asus-tf700t.dts
+@@ -0,0 +1,818 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
-+#include "tegra124-nyan-big.dts"
++#include "tegra30-asus-transformer-common.dtsi"
+
+/ {
-+ /* Version of Nyan Big with 1080p panel */
-+ panel {
-+ compatible = "auo,b133htn01";
-+ };
++ model = "Asus Transformer Infinity TF700T";
++ compatible = "asus,tf700t", "nvidia,tegra30";
++
++ host1x@50000000 {
++ lcd: dc@54200000 {
++ clocks = <&tegra_car TEGRA30_CLK_DISP1>,
++ <&tegra_car TEGRA30_CLK_PLL_D_OUT0>;
++
++ rgb {
++ status = "okay";
++
++ port@0 {
++ dpi_output: endpoint {
++ remote-endpoint = <&bridge_input>;
++ bus-width = <24>;
++ };
++ };
++ };
++ };
++ };
++
++ pinmux@70000868 {
++ state_default: pinmux {
++ lcd_pwr2_pc6 {
++ nvidia,pins = "lcd_pwr2_pc6",
++ "lcd_dc1_pd2";
++ nvidia,function = "displaya";
++ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
++ nvidia,tristate = <TEGRA_PIN_DISABLE>;
++ nvidia,enable-input = <TEGRA_PIN_DISABLE>;
++ };
++ pbb3 {
++ nvidia,pins = "pbb3";
++ nvidia,function = "vgp3";
++ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
++ nvidia,tristate = <TEGRA_PIN_DISABLE>;
++ nvidia,enable-input = <TEGRA_PIN_DISABLE>;
++ };
++ spi2_mosi_px0 {
++ nvidia,pins = "spi2_mosi_px0";
++ nvidia,function = "spi2";
++ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
++ nvidia,tristate = <TEGRA_PIN_DISABLE>;
++ nvidia,enable-input = <TEGRA_PIN_DISABLE>;
++ };
++ pbb7 {
++ nvidia,pins = "pbb7";
++ nvidia,function = "i2s4";
++ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
++ nvidia,tristate = <TEGRA_PIN_DISABLE>;
++ nvidia,enable-input = <TEGRA_PIN_DISABLE>;
++ };
++ kb_row7_pr7 {
++ nvidia,pins = "kb_row7_pr7";
++ nvidia,function = "kbc";
++ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
++ nvidia,tristate = <TEGRA_PIN_DISABLE>;
++ nvidia,enable-input = <TEGRA_PIN_DISABLE>;
++ };
++ gmi_cs4_n_pk2 {
++ nvidia,pins = "gmi_cs4_n_pk2";
++ nvidia,function = "gmi";
++ nvidia,pull = <TEGRA_PIN_PULL_UP>;
++ nvidia,tristate = <TEGRA_PIN_DISABLE>;
++ nvidia,enable-input = <TEGRA_PIN_ENABLE>;
++ };
++ };
++ };
++
++ uartc: serial@70006200 {
++ /* Azurewave AW-NH665 BCM4330B1 */
++ bluetooth {
++ compatible = "brcm,bcm4330-bt";
++ };
++ };
++
++ i2c@7000c400 {
++ /* Elantech ELAN-3024-7053 or 5184N FPC-1 REV: 2/3 touchscreen */
++ touchscreen@10 {
++ compatible = "elan,ektf3624";
++ reg = <0x10>;
++
++ interrupt-parent = <&gpio>;
++ interrupts = <TEGRA_GPIO(H, 4) IRQ_TYPE_EDGE_FALLING>;
++ reset-gpios = <&gpio TEGRA_GPIO(H, 6) GPIO_ACTIVE_LOW>;
++
++ vcc33-supply = <&vdd_3v3_sys>;
++ vccio-supply = <&vdd_3v3_sys>;
++
++ touchscreen-size-x = <2944>;
++ touchscreen-size-y = <1856>;
++ touchscreen-inverted-y;
++ };
++ };
++
++ i2c@7000c500 {
++ clock-frequency = <100000>;
++
++ magnetometer@e {
++ mount-matrix = "1", "0", "0",
++ "0", "-1", "0",
++ "0", "0", "-1";
++ };
++
++ gyroscope@68 {
++ mount-matrix = "0", "1", "0",
++ "1", "0", "0",
++ "0", "0", "-1";
++
++ /* External I2C interface */
++ i2c-gate {
++ accelerometer@f {
++ mount-matrix = "0", "-1", "0",
++ "-1", "0", "0",
++ "0", "0", "1";
++ };
++ };
++ };
++ };
++
++ i2c@7000d000 {
++ /* Realtek ALC5631 audio codec */
++ rt5631: audio-codec@1a {
++ compatible = "realtek,rt5631";
++ reg = <0x1a>;
++ };
++ };
++
++ haptic-feedback {
++ compatible = "gpio-vibrator";
++ enable-gpios = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
++ vcc-supply = <&vdd_3v3_sys>;
++ };
++
++ i2c-switch-tc358768 {
++ compatible = "i2c-mux-gpio";
++
++ mux-gpios = <&gpio TEGRA_GPIO(X, 0) GPIO_ACTIVE_HIGH>;
++ i2c-parent = <&lcd_ddc>;
++ idle-state = <0x0>;
++
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ i2c@1 {
++ reg = <1>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ dsi-bridge@7 {
++ compatible = "toshiba,tc358768";
++ reg = <0x7>;
++
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ clocks = <&tc358768_osc>;
++ clock-names = "refclk";
++
++ reset-gpios = <&gpio TEGRA_GPIO(N, 6) GPIO_ACTIVE_LOW>;
++
++ vddc-supply = <&vdd_1v2_mipi>;
++ vddio-supply = <&vdd_1v8_vio>;
++ vddmipi-supply = <&vdd_1v2_mipi>;
++
++ ports {
++ #address-cells = <1>;
++ #size-cells = <0>;
++
++ port@0 {
++ reg = <0>;
++
++ bridge_input: endpoint {
++ remote-endpoint = <&dpi_output>;
++ data-lines = <24>;
++ };
++ };
++
++ port@1 {
++ reg = <1>;
++
++ bridge_output: endpoint {
++ remote-endpoint = <&panel_input>;
++ };
++ };
++ };
++
++ /*
++ * Panasonic VVX10F004B00 or HYDIS HV101WU1-1E1
++ * LCD SuperIPS+ Full HD panel.
++ */
++ panel@1 {
++ compatible = "panasonic,vvx10f004b00";
++ reg = <1>;
++
++ power-supply = <&vdd_pnl>;
++ backlight = <&backlight>;
++
++ port {
++ panel_input: endpoint {
++ remote-endpoint = <&bridge_output>;
++ };
++ };
++ };
++ };
++ };
++ };
++
++ vdd_1v2_mipi: regulator-mipi {
++ compatible = "regulator-fixed";
++ regulator-name = "tc358768_1v2_vdd";
++ regulator-min-microvolt = <1200000>;
++ regulator-max-microvolt = <1200000>;
++ regulator-enable-ramp-delay = <10000>;
++ regulator-boot-on;
++ gpio = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_HIGH>;
++ enable-active-high;
++ vin-supply = <&vdd_3v3_sys>;
++ };
++
++ tc358768_refclk: tc358768-refclk {
++ compatible = "fixed-clock";
++ clock-frequency = <23100000>;
++ clock-accuracy = <100>;
++ #clock-cells = <0>;
++ };
++
++ tc358768_osc: tc358768-osc-gate {
++ compatible = "gpio-gate-clock";
++ enable-gpios = <&gpio TEGRA_GPIO(D, 2) GPIO_ACTIVE_HIGH>;
++ clocks = <&tc358768_refclk>;
++ #clock-cells = <0>;
++ };
++
++ memory-controller@7000f000 {
++ emc-timings-0 {
++ /* Micron 1GB 800MHZ */
++ nvidia,ram-code = <0>;
++
++ timing-25500000 {
++ clock-frequency = <25500000>;
++
++ nvidia,emem-configuration = < 0x00020001 0xc0000020
++ 0x00000001 0x00000001 0x00000002 0x00000000
++ 0x00000001 0x00000001 0x00000003 0x00000008
++ 0x00000002 0x00000001 0x00000002 0x00000006
++ 0x06020102 0x000a0502 0x75830303 0x001f0000 >;
++ };
++
++ timing-51000000 {
++ clock-frequency = <51000000>;
++
++ nvidia,emem-configuration = < 0x00010001 0xc0000020
++ 0x00000001 0x00000001 0x00000002 0x00000000
++ 0x00000001 0x00000001 0x00000003 0x00000008
++ 0x00000002 0x00000001 0x00000002 0x00000006
++ 0x06020102 0x000a0502 0x74630303 0x001f0000 >;
++ };
++
++ timing-102000000 {
++ clock-frequency = <102000000>;
++
++ nvidia,emem-configuration = < 0x00000001 0xc0000030
++ 0x00000001 0x00000001 0x00000003 0x00000000
++ 0x00000002 0x00000001 0x00000003 0x00000008
++ 0x00000002 0x00000001 0x00000002 0x00000006
++ 0x06020102 0x000a0503 0x73c30504 0x001f0000 >;
++ };
++
++ timing-204000000 {
++ clock-frequency = <204000000>;
++
++ nvidia,emem-configuration = < 0x00000003 0xc0000025
++ 0x00000001 0x00000001 0x00000005 0x00000002
++ 0x00000004 0x00000001 0x00000003 0x00000008
++ 0x00000002 0x00000001 0x00000002 0x00000006
++ 0x06020102 0x000a0505 0x73840a06 0x001f0000 >;
++ };
++
++ timing-400000000 {
++ clock-frequency = <400000000>;
++
++ nvidia,emem-configuration = < 0x00000006 0xc0000048
++ 0x00000001 0x00000002 0x00000009 0x00000005
++ 0x00000007 0x00000001 0x00000002 0x00000008
++ 0x00000002 0x00000002 0x00000003 0x00000006
++ 0x06030202 0x000d0709 0x7086120a 0x001f0000 >;
++ };
++
++ timing-800000000 {
++ clock-frequency = <800000000>;
++
++ nvidia,emem-configuration = < 0x0000000c 0xc0000090
++ 0x00000004 0x00000005 0x00000013 0x0000000c
++ 0x0000000f 0x00000002 0x00000003 0x0000000c
++ 0x00000002 0x00000002 0x00000004 0x00000008
++ 0x08040202 0x00160d13 0x712c2414 0x001f0000 >;
++ };
++ };
++
++ emc-timings-1 {
++ /* Elpida 1GB 800MHZ */
++ nvidia,ram-code = <1>;
++
++ timing-25500000 {
++ clock-frequency = <25500000>;
++
++ nvidia,emem-configuration = < 0x00020001 0xc0000020
++ 0x00000001 0x00000001 0x00000002 0x00000000
++ 0x00000001 0x00000001 0x00000003 0x00000008
++ 0x00000002 0x00000001 0x00000002 0x00000006
++ 0x06020102 0x000a0502 0x75830303 0x001f0000 >;
++ };
++
++ timing-51000000 {
++ clock-frequency = <51000000>;
++
++ nvidia,emem-configuration = < 0x00010001 0xc0000020
++ 0x00000001 0x00000001 0x00000002 0x00000000
++ 0x00000001 0x00000001 0x00000003 0x00000008
++ 0x00000002 0x00000001 0x00000002 0x00000006
++ 0x06020102 0x000a0502 0x74630303 0x001f0000 >;
++ };
++
++ timing-102000000 {
++ clock-frequency = <102000000>;
++
++ nvidia,emem-configuration = < 0x00000001 0xc0000030
++ 0x00000001 0x00000001 0x00000003 0x00000000
++ 0x00000002 0x00000001 0x00000003 0x00000008
++ 0x00000002 0x00000001 0x00000002 0x00000006
++ 0x06020102 0x000a0503 0x73c30504 0x001f0000 >;
++ };
++
++ timing-204000000 {
++ clock-frequency = <204000000>;
++
++ nvidia,emem-configuration = < 0x00000003 0xc0000025
++ 0x00000001 0x00000001 0x00000005 0x00000002
++ 0x00000004 0x00000001 0x00000003 0x00000008
++ 0x00000002 0x00000001 0x00000002 0x00000006
++ 0x06020102 0x000a0505 0x73840a06 0x001f0000 >;
++ };
++
++ timing-400000000 {
++ clock-frequency = <400000000>;
++
++ nvidia,emem-configuration = < 0x00000006 0xc0000048
++ 0x00000001 0x00000002 0x00000009 0x00000005
++ 0x00000007 0x00000001 0x00000002 0x00000008
++ 0x00000002 0x00000002 0x00000003 0x00000006
++ 0x06030202 0x000d0709 0x7086120a 0x001f0000 >;
++ };
++
++ timing-800000000 {
++ clock-frequency = <800000000>;
++
++ nvidia,emem-configuration = < 0x0000000c 0xc0000090
++ 0x00000004 0x00000005 0x00000013 0x0000000c
++ 0x0000000f 0x00000002 0x00000003 0x0000000c
++ 0x00000002 0x00000002 0x00000004 0x00000008
++ 0x08040202 0x00160d13 0x712c2414 0x001f0000 >;
++ };
++ };
++ };
++
++ memory-controller@7000f400 {
++ emc-timings-0 {
++ /* Micron 1GB 800MHZ */
++ nvidia,ram-code = <0>;
++
++ timing-25500000 {
++ clock-frequency = <25500000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100003>;
++ nvidia,emc-mode-2 = <0x80200008>;
++ nvidia,emc-mode-reset = <0x80001221>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++ nvidia,emc-cfg-dyn-self-ref;
++ nvidia,emc-cfg-periodic-qrst;
++
++ nvidia,emc-configuration = < 0x00000001
++ 0x00000006 0x00000000 0x00000000 0x00000002
++ 0x0000000a 0x00000005 0x0000000b 0x00000000
++ 0x00000000 0x00000003 0x00000001 0x00000000
++ 0x00000005 0x00000005 0x00000004 0x0000000a
++ 0x0000000b 0x000000c0 0x00000000 0x00000030
++ 0x00000002 0x00000002 0x00000001 0x00000000
++ 0x00000007 0x0000000f 0x00000007 0x00000007
++ 0x00000004 0x00000002 0x00000000 0x00000004
++ 0x00000005 0x000000c7 0x00000006 0x00000004
++ 0x00000000 0x00000000 0x00004288 0x007800a4
++ 0x00008000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000002a0 0x0800211c 0x00000000
++ 0x77fff884 0x01f1f108 0x05057404 0x54000007
++ 0x08000168 0x08000000 0x00000802 0x00000000
++ 0x00000040 0x000c000c 0xa0f10000 0x00000000
++ 0x00000000 0x80000287 0xe8000000 0xff00ff00 >;
++ };
++
++ timing-51000000 {
++ clock-frequency = <51000000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100003>;
++ nvidia,emc-mode-2 = <0x80200008>;
++ nvidia,emc-mode-reset = <0x80001221>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++ nvidia,emc-cfg-dyn-self-ref;
++ nvidia,emc-cfg-periodic-qrst;
++
++ nvidia,emc-configuration = < 0x00000002
++ 0x0000000d 0x00000001 0x00000000 0x00000002
++ 0x0000000a 0x00000005 0x0000000b 0x00000000
++ 0x00000000 0x00000003 0x00000001 0x00000000
++ 0x00000005 0x00000005 0x00000004 0x0000000a
++ 0x0000000b 0x00000181 0x00000000 0x00000060
++ 0x00000002 0x00000002 0x00000001 0x00000000
++ 0x00000007 0x0000000f 0x0000000e 0x0000000e
++ 0x00000004 0x00000003 0x00000000 0x00000004
++ 0x00000005 0x0000018e 0x00000006 0x00000004
++ 0x00000000 0x00000000 0x00004288 0x007800a4
++ 0x00008000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000002a0 0x0800211c 0x00000000
++ 0x77fff884 0x01f1f108 0x05057404 0x54000007
++ 0x08000168 0x08000000 0x00000802 0x00000000
++ 0x00000040 0x000c000c 0xa0f10000 0x00000000
++ 0x00000000 0x8000040b 0xe8000000 0xff00ff00 >;
++ };
++
++ timing-102000000 {
++ clock-frequency = <102000000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100003>;
++ nvidia,emc-mode-2 = <0x80200008>;
++ nvidia,emc-mode-reset = <0x80001221>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++ nvidia,emc-cfg-dyn-self-ref;
++ nvidia,emc-cfg-periodic-qrst;
++
++ nvidia,emc-configuration = < 0x00000004
++ 0x0000001a 0x00000003 0x00000001 0x00000002
++ 0x0000000a 0x00000005 0x0000000b 0x00000001
++ 0x00000001 0x00000003 0x00000001 0x00000000
++ 0x00000005 0x00000005 0x00000004 0x0000000a
++ 0x0000000b 0x00000303 0x00000000 0x000000c0
++ 0x00000002 0x00000002 0x00000001 0x00000000
++ 0x00000007 0x0000000f 0x0000001c 0x0000001c
++ 0x00000004 0x00000005 0x00000000 0x00000004
++ 0x00000005 0x0000031c 0x00000006 0x00000004
++ 0x00000000 0x00000000 0x00004288 0x007800a4
++ 0x00008000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000002a0 0x0800211c 0x00000000
++ 0x77fff884 0x01f1f108 0x05057404 0x54000007
++ 0x08000168 0x08000000 0x00000802 0x00000000
++ 0x00000040 0x000c000c 0xa0f10000 0x00000000
++ 0x00000000 0x80000713 0xe8000000 0xff00ff00 >;
++ };
++
++ timing-204000000 {
++ clock-frequency = <204000000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100003>;
++ nvidia,emc-mode-2 = <0x80200008>;
++ nvidia,emc-mode-reset = <0x80001221>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++ nvidia,emc-cfg-dyn-self-ref;
++ nvidia,emc-cfg-periodic-qrst;
++
++ nvidia,emc-configuration = < 0x00000009
++ 0x00000035 0x00000007 0x00000002 0x00000002
++ 0x0000000a 0x00000005 0x0000000b 0x00000002
++ 0x00000002 0x00000003 0x00000001 0x00000000
++ 0x00000005 0x00000006 0x00000004 0x0000000a
++ 0x0000000b 0x00000607 0x00000000 0x00000181
++ 0x00000002 0x00000002 0x00000001 0x00000000
++ 0x00000007 0x0000000f 0x00000038 0x00000038
++ 0x00000004 0x00000009 0x00000000 0x00000004
++ 0x00000005 0x00000638 0x00000007 0x00000004
++ 0x00000000 0x00000000 0x00004288 0x004400a4
++ 0x00008000 0x00080000 0x00080000 0x00080000
++ 0x00080000 0x00080000 0x00080000 0x00080000
++ 0x00080000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00080000 0x00080000 0x00080000
++ 0x00080000 0x000002a0 0x0800211c 0x00000000
++ 0x77fff884 0x01f1f108 0x05057404 0x54000007
++ 0x08000168 0x08000000 0x00000802 0x00020000
++ 0x00000100 0x000c000c 0xa0f10000 0x00000000
++ 0x00000000 0x80000d22 0xe8000000 0xff00ff00 >;
++ };
++
++ timing-400000000 {
++ clock-frequency = <400000000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100002>;
++ nvidia,emc-mode-2 = <0x80200000>;
++ nvidia,emc-mode-reset = <0x80000521>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++
++ nvidia,emc-configuration = < 0x00000012
++ 0x00000066 0x0000000c 0x00000004 0x00000003
++ 0x00000008 0x00000002 0x0000000a 0x00000004
++ 0x00000004 0x00000002 0x00000001 0x00000000
++ 0x00000004 0x00000006 0x00000004 0x0000000a
++ 0x0000000c 0x00000bf0 0x00000000 0x000002fc
++ 0x00000001 0x00000008 0x00000001 0x00000000
++ 0x00000008 0x0000000f 0x0000006c 0x00000200
++ 0x00000004 0x00000010 0x00000000 0x00000004
++ 0x00000005 0x00000c30 0x00000000 0x00000004
++ 0x00000000 0x00000000 0x00007088 0x001d0084
++ 0x00008000 0x00044000 0x00044000 0x00044000
++ 0x00044000 0x00014000 0x00014000 0x00014000
++ 0x00014000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00048000 0x00048000 0x00048000
++ 0x00048000 0x000002a0 0x0600013d 0x00000000
++ 0x77fff884 0x01f1f508 0x05057404 0x54000007
++ 0x080001e8 0x08000021 0x00000802 0x00020000
++ 0x00000100 0x0158000c 0xa0f10000 0x00000000
++ 0x00000000 0x800018c8 0xe8000000 0xff00ff89 >;
++ };
++
++ timing-800000000 {
++ clock-frequency = <800000000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100002>;
++ nvidia,emc-mode-2 = <0x80200018>;
++ nvidia,emc-mode-reset = <0x80000d71>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++ nvidia,emc-cfg-periodic-qrst;
++
++ nvidia,emc-configuration = < 0x00000025
++ 0x000000ce 0x0000001a 0x00000009 0x00000005
++ 0x0000000d 0x00000004 0x00000013 0x00000009
++ 0x00000009 0x00000004 0x00000001 0x00000000
++ 0x00000007 0x0000000a 0x00000009 0x0000000a
++ 0x00000011 0x00001820 0x00000000 0x00000608
++ 0x00000003 0x00000012 0x00000001 0x00000000
++ 0x0000000f 0x00000018 0x000000d8 0x00000200
++ 0x00000005 0x00000020 0x00000000 0x00000007
++ 0x00000008 0x00001860 0x0000000b 0x00000006
++ 0x00000000 0x00000000 0x00005088 0xf0070191
++ 0x00008000 0x0000000a 0x0000000a 0x0000000a
++ 0x0000000a 0x0000000a 0x0000000a 0x0000000a
++ 0x0000000a 0x00018000 0x00018000 0x00018000
++ 0x00018000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x0000000a 0x0000000a 0x0000000a
++ 0x0000000a 0x000002a0 0x0800013d 0x22220000
++ 0x77fff884 0x01f1f501 0x07077404 0x54000000
++ 0x080001e8 0x08000021 0x00000802 0x00020000
++ 0x00000100 0x00f0000c 0xa0f10000 0x00000000
++ 0x00000000 0x8000308c 0xe8000000 0xff00ff49 >;
++ };
++ };
++
++ emc-timings-1 {
++ /* Elpida 1GB 800MHZ */
++ nvidia,ram-code = <1>;
++
++ timing-25500000 {
++ clock-frequency = <25500000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100003>;
++ nvidia,emc-mode-2 = <0x80200008>;
++ nvidia,emc-mode-reset = <0x80001221>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++ nvidia,emc-cfg-dyn-self-ref;
++ nvidia,emc-cfg-periodic-qrst;
++
++ nvidia,emc-configuration = < 0x00000001
++ 0x00000006 0x00000000 0x00000000 0x00000002
++ 0x0000000a 0x00000005 0x0000000b 0x00000000
++ 0x00000000 0x00000003 0x00000001 0x00000000
++ 0x00000005 0x00000005 0x00000004 0x0000000a
++ 0x0000000b 0x000000c0 0x00000000 0x00000030
++ 0x00000002 0x00000002 0x00000001 0x00000000
++ 0x00000007 0x0000000f 0x00000007 0x00000007
++ 0x00000004 0x00000002 0x00000000 0x00000004
++ 0x00000005 0x000000c7 0x00000006 0x00000004
++ 0x00000000 0x00000000 0x00004288 0x007800a4
++ 0x00008000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000002a0 0x0800211c 0x00000000
++ 0x77fff884 0x01f1f108 0x05057404 0x54000007
++ 0x08000168 0x08000000 0x00000802 0x00000000
++ 0x00000040 0x000c000c 0xa0f10000 0x00000000
++ 0x00000000 0x80000287 0xe8000000 0xff00ff00 >;
++ };
++
++ timing-51000000 {
++ clock-frequency = <51000000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100003>;
++ nvidia,emc-mode-2 = <0x80200008>;
++ nvidia,emc-mode-reset = <0x80001221>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++ nvidia,emc-cfg-dyn-self-ref;
++ nvidia,emc-cfg-periodic-qrst;
++
++ nvidia,emc-configuration = < 0x00000002
++ 0x0000000d 0x00000001 0x00000000 0x00000002
++ 0x0000000a 0x00000005 0x0000000b 0x00000000
++ 0x00000000 0x00000003 0x00000001 0x00000000
++ 0x00000005 0x00000005 0x00000004 0x0000000a
++ 0x0000000b 0x00000181 0x00000000 0x00000060
++ 0x00000002 0x00000002 0x00000001 0x00000000
++ 0x00000007 0x0000000f 0x0000000e 0x0000000e
++ 0x00000004 0x00000003 0x00000000 0x00000004
++ 0x00000005 0x0000018e 0x00000006 0x00000004
++ 0x00000000 0x00000000 0x00004288 0x007800a4
++ 0x00008000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000002a0 0x0800211c 0x00000000
++ 0x77fff884 0x01f1f108 0x05057404 0x54000007
++ 0x08000168 0x08000000 0x00000802 0x00000000
++ 0x00000040 0x000c000c 0xa0f10000 0x00000000
++ 0x00000000 0x8000040b 0xe8000000 0xff00ff00 >;
++ };
++
++ timing-102000000 {
++ clock-frequency = <102000000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100003>;
++ nvidia,emc-mode-2 = <0x80200008>;
++ nvidia,emc-mode-reset = <0x80001221>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++ nvidia,emc-cfg-dyn-self-ref;
++ nvidia,emc-cfg-periodic-qrst;
++
++ nvidia,emc-configuration = < 0x00000004
++ 0x0000001a 0x00000003 0x00000001 0x00000002
++ 0x0000000a 0x00000005 0x0000000b 0x00000001
++ 0x00000001 0x00000003 0x00000001 0x00000000
++ 0x00000005 0x00000005 0x00000004 0x0000000a
++ 0x0000000b 0x00000303 0x00000000 0x000000c0
++ 0x00000002 0x00000002 0x00000001 0x00000000
++ 0x00000007 0x0000000f 0x0000001c 0x0000001c
++ 0x00000004 0x00000005 0x00000000 0x00000004
++ 0x00000005 0x0000031c 0x00000006 0x00000004
++ 0x00000000 0x00000000 0x00004288 0x007800a4
++ 0x00008000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x000fc000 0x000fc000 0x000fc000
++ 0x000fc000 0x000002a0 0x0800211c 0x00000000
++ 0x77fff884 0x01f1f108 0x05057404 0x54000007
++ 0x08000168 0x08000000 0x00000802 0x00000000
++ 0x00000040 0x000c000c 0xa0f10000 0x00000000
++ 0x00000000 0x80000713 0xe8000000 0xff00ff00 >;
++ };
++
++ timing-204000000 {
++ clock-frequency = <204000000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100003>;
++ nvidia,emc-mode-2 = <0x80200008>;
++ nvidia,emc-mode-reset = <0x80001221>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++ nvidia,emc-cfg-dyn-self-ref;
++ nvidia,emc-cfg-periodic-qrst;
++
++ nvidia,emc-configuration = < 0x00000009
++ 0x00000035 0x00000007 0x00000002 0x00000002
++ 0x0000000a 0x00000005 0x0000000b 0x00000002
++ 0x00000002 0x00000003 0x00000001 0x00000000
++ 0x00000005 0x00000006 0x00000004 0x0000000a
++ 0x0000000b 0x00000607 0x00000000 0x00000181
++ 0x00000002 0x00000002 0x00000001 0x00000000
++ 0x00000007 0x0000000f 0x00000038 0x00000038
++ 0x00000004 0x00000009 0x00000000 0x00000004
++ 0x00000005 0x00000638 0x00000007 0x00000004
++ 0x00000000 0x00000000 0x00004288 0x004400a4
++ 0x00008000 0x00080000 0x00080000 0x00080000
++ 0x00080000 0x00080000 0x00080000 0x00080000
++ 0x00080000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00080000 0x00080000 0x00080000
++ 0x00080000 0x000002a0 0x0800211c 0x00000000
++ 0x77fff884 0x01f1f108 0x05057404 0x54000007
++ 0x08000168 0x08000000 0x00000802 0x00020000
++ 0x00000100 0x000c000c 0xa0f10000 0x00000000
++ 0x00000000 0x80000d22 0xe8000000 0xff00ff00 >;
++ };
++
++ timing-400000000 {
++ clock-frequency = <400000000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100002>;
++ nvidia,emc-mode-2 = <0x80200000>;
++ nvidia,emc-mode-reset = <0x80000521>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++
++ nvidia,emc-configuration = < 0x00000012
++ 0x00000066 0x0000000c 0x00000004 0x00000003
++ 0x00000008 0x00000002 0x0000000a 0x00000004
++ 0x00000004 0x00000002 0x00000001 0x00000000
++ 0x00000004 0x00000006 0x00000004 0x0000000a
++ 0x0000000c 0x00000bf0 0x00000000 0x000002fc
++ 0x00000001 0x00000008 0x00000001 0x00000000
++ 0x00000008 0x0000000f 0x0000006c 0x00000200
++ 0x00000004 0x00000010 0x00000000 0x00000004
++ 0x00000005 0x00000c30 0x00000000 0x00000004
++ 0x00000000 0x00000000 0x00007088 0x001d0084
++ 0x00008000 0x00044000 0x00044000 0x00044000
++ 0x00044000 0x00014000 0x00014000 0x00014000
++ 0x00014000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00048000 0x00048000 0x00048000
++ 0x00048000 0x000002a0 0x0600013d 0x00000000
++ 0x77fff884 0x01f1f508 0x05057404 0x54000007
++ 0x080001e8 0x08000021 0x00000802 0x00020000
++ 0x00000100 0x0158000c 0xa0f10000 0x00000000
++ 0x00000000 0x800018c8 0xe8000000 0xff00ff89 >;
++ };
++
++ timing-800000000 {
++ clock-frequency = <800000000>;
++
++ nvidia,emc-auto-cal-interval = <0x001fffff>;
++ nvidia,emc-mode-1 = <0x80100002>;
++ nvidia,emc-mode-2 = <0x80200018>;
++ nvidia,emc-mode-reset = <0x80000d71>;
++ nvidia,emc-zcal-cnt-long = <0x00000040>;
++ nvidia,emc-cfg-periodic-qrst;
++
++ nvidia,emc-configuration = < 0x00000025
++ 0x000000ce 0x0000001a 0x00000009 0x00000005
++ 0x0000000d 0x00000004 0x00000013 0x00000009
++ 0x00000009 0x00000004 0x00000001 0x00000000
++ 0x00000007 0x0000000a 0x00000009 0x0000000a
++ 0x00000011 0x00001820 0x00000000 0x00000608
++ 0x00000003 0x00000012 0x00000001 0x00000000
++ 0x0000000f 0x00000018 0x000000d8 0x00000200
++ 0x00000005 0x00000020 0x00000000 0x00000007
++ 0x00000008 0x00001860 0x0000000b 0x00000006
++ 0x00000000 0x00000000 0x00005088 0xf0070191
++ 0x00008000 0x0000000a 0x0000000a 0x0000000a
++ 0x0000000a 0x0000000a 0x0000000a 0x0000000a
++ 0x0000000a 0x00018000 0x00018000 0x00018000
++ 0x00018000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x00000000 0x00000000 0x00000000
++ 0x00000000 0x0000000a 0x0000000a 0x0000000a
++ 0x0000000a 0x000002a0 0x0a00013d 0x22220000
++ 0x77fff884 0x01f1f501 0x07077404 0x54000000
++ 0x080001e8 0x08000021 0x00000802 0x00020000
++ 0x00000100 0x00f0000c 0xa0f10000 0x00000000
++ 0x00000000 0x8000308c 0xe8000000 0xff00ff49 >;
++ };
++ };
++ };
++};
++
++&emc_icc_dvfs_opp_table {
++ /delete-node/ opp-900000000-1350;
++};
++
++&emc_bw_dfs_opp_table {
++ /delete-node/ opp-900000000;
+};
--
2.33.1