ARM: tegra: Add device-tree for ASUS Transformer Infinity TF700T
authorSvyatoslav Ryhel <clamor95@gmail.com>
Sat, 11 Dec 2021 21:13:55 +0000 (00:13 +0300)
committerThierry Reding <treding@nvidia.com>
Wed, 15 Dec 2021 16:29:54 +0000 (17:29 +0100)
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>
[treding@nvidia.com: cosmetic fixups]
Signed-off-by: Thierry Reding <treding@nvidia.com>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/tegra30-asus-tf700t.dts [new file with mode: 0644]

index c957986f023ce26069642b41a117d6d2c86e5b5b..47cd157496f904a54c9ff258b218075957bc96b7 100644 (file)
@@ -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 (file)
index 0000000..18a9bfa
--- /dev/null
@@ -0,0 +1,823 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "tegra30-asus-transformer-common.dtsi"
+
+/ {
+       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>;
+                       };
+               };
+       };
+
+       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>;
+               };
+       };
+
+       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 >;
+                       };
+               };
+       };
+
+       tc358768_refclk: clock-tc358768 {
+               compatible = "fixed-clock";
+               clock-frequency = <23100000>;
+               clock-accuracy = <100>;
+               #clock-cells = <0>;
+       };
+
+       tc358768_osc: clock-tc358768-osc-gate {
+               compatible = "gpio-gate-clock";
+               enable-gpios = <&gpio TEGRA_GPIO(D, 2) GPIO_ACTIVE_HIGH>;
+               clocks = <&tc358768_refclk>;
+               #clock-cells = <0>;
+       };
+
+       haptic-feedback {
+               compatible = "gpio-vibrator";
+               enable-gpios = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
+               vcc-supply = <&vdd_3v3_sys>;
+       };
+
+       i2c-mux {
+               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>;
+       };
+};
+
+&emc_icc_dvfs_opp_table {
+       /delete-node/ opp-900000000-1350;
+};
+
+&emc_bw_dfs_opp_table {
+       /delete-node/ opp-900000000;
+};