code:
// SPDX-License-Identifier: GPL-2.0

#include "tegra30-asus-nexus7-grouper-common.dtsi"
#include "tegra30-asus-nexus7-grouper-memory-timings.dtsi"

/ {
	compatible = "asus,grouper", "nvidia,tegra30";

	display-panel {
		panel-timing {
			clock-frequency = <68000000>;
			hactive = <800>;
			vactive = <1280>;
			hfront-porch = <24>;
			hback-porch = <32>;
			hsync-len = <24>;
			vsync-len = <1>;
			vfront-porch = <5>;
			vback-porch = <32>;
		};
	};

	pinmux@70000868 {
		state_default: pinmux {
			lcd_dc1_pd2 {
				nvidia,pins = "lcd_dc1_pd2";
				nvidia,function = "displaya";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			lcd_pwr2_pc6 {
				nvidia,pins = "lcd_pwr2_pc6";
				nvidia,function = "displaya";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			spi2_cs2_n_pw3 {
				nvidia,pins = "spi2_cs2_n_pw3";
				nvidia,function = "spi2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			spi1_sck_px5 {
				nvidia,pins = "spi1_sck_px5";
				nvidia,function = "spi1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			pu5 {
				nvidia,pins = "pu5";
				nvidia,function = "pwm2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			spi1_miso_px7 {
				nvidia,pins = "spi1_miso_px7";
				nvidia,function = "spi1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			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_ENABLE>;
			};
			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>;
			};
			pu3 {
				nvidia,pins = "pu3";
				nvidia,function = "rsvd4";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			pu4 {
				nvidia,pins = "pu4";
				nvidia,function = "pwm1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			kb_row15_ps7 {
				nvidia,pins = "kb_row15_ps7";
				nvidia,function = "kbc";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			kb_row3_pr3 {
				nvidia,pins = "kb_row3_pr3";
				nvidia,function = "kbc";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			kb_row13_ps5 {
				nvidia,pins = "kb_row13_ps5";
				nvidia,function = "kbc";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			gmi_wp_n_pc7 {
				nvidia,pins = "gmi_wp_n_pc7",
						"gmi_wait_pi7",
						"gmi_cs4_n_pk2",
						"gmi_cs3_n_pk4";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			gmi_cs6_n_pi3 {
				nvidia,pins = "gmi_cs6_n_pi3";
				nvidia,function = "gmi";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
		};
	};

	i2c@7000c500 {
		nfc@28 {
			compatible = "nxp,pn544-i2c";
			reg = <0x28>;

			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(X, 0) IRQ_TYPE_EDGE_RISING>;

			enable-gpios   = <&gpio TEGRA_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
			firmware-gpios = <&gpio TEGRA_GPIO(R, 3) GPIO_ACTIVE_HIGH>;
		};
	};
};


code:
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "tegra30-asus-nexus7-grouper-maxim-pmic.dtsi"
#include "tegra30-asus-nexus7-tilapia.dtsi"

/ {
	model = "ASUS Google Nexus 7 (Project Bach / ME370TG) E1565";
};

repo_name: angery/linux


code:
// SPDX-License-Identifier: GPL-2.0

#include "tegra30-asus-nexus7-grouper-memory-timings.dtsi"

/ {
	/*
	 * Tilapia's memory timings are pretty much the same as the Grouper's
	 * ones. There are few minor tunings made for a higher clock rates,
	 * these differentiating timings are overridden here for Tilapia.
	 */

	memory-controller@7000f400 {
		emc-timings-0 {
			timing-667000000 {
				clock-frequency = <667000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200018>;
				nvidia,emc-mode-reset = <0x80000b71>;
				nvidia,emc-zcal-cnt-long = <0x00000040>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration = <
					0x0000001f /* EMC_RC */
					0x00000069 /* EMC_RFC */
					0x00000017 /* EMC_RAS */
					0x00000007 /* EMC_RP */
					0x00000005 /* EMC_R2W */
					0x0000000c /* EMC_W2R */
					0x00000003 /* EMC_R2P */
					0x00000011 /* EMC_W2P */
					0x00000007 /* EMC_RD_RCD */
					0x00000007 /* EMC_WR_RCD */
					0x00000002 /* EMC_RRD */
					0x00000001 /* EMC_REXT */
					0x00000000 /* EMC_WEXT */
					0x00000007 /* EMC_WDV */
					0x0000000b /* EMC_QUSE */
					0x00000009 /* EMC_QRST */
					0x0000000b /* EMC_QSAFE */
					0x00000011 /* EMC_RDV */
					0x00001412 /* EMC_REFRESH */
					0x00000000 /* EMC_BURST_REFRESH_NUM */
					0x00000504 /* EMC_PRE_REFRESH_REQ_CNT */
					0x00000002 /* EMC_PDEX2WR */
					0x0000000e /* EMC_PDEX2RD */
					0x00000001 /* EMC_PCHG2PDEN */
					0x00000000 /* EMC_ACT2PDEN */
					0x0000000c /* EMC_AR2PDEN */
					0x00000016 /* EMC_RW2PDEN */
					0x00000072 /* EMC_TXSR */
					0x00000200 /* EMC_TXSRDLL */
					0x00000005 /* EMC_TCKE */
					0x00000015 /* EMC_TFAW */
					0x00000000 /* EMC_TRPAB */
					0x00000006 /* EMC_TCLKSTABLE */
					0x00000007 /* EMC_TCLKSTOP */
					0x00001453 /* EMC_TREFBW */
					0x0000000c /* EMC_QUSE_EXTRA */
					0x00000004 /* EMC_FBIO_CFG6 */
					0x00000000 /* EMC_ODT_WRITE */
					0x00000000 /* EMC_ODT_READ */
					0x00005088 /* EMC_FBIO_CFG5 */
					0xf00b0191 /* EMC_CFG_DIG_DLL */
					0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
					0x00000008 /* EMC_DLL_XFORM_DQS0 */
					0x00000008 /* EMC_DLL_XFORM_DQS1 */
					0x00000008 /* EMC_DLL_XFORM_DQS2 */
					0x00000008 /* EMC_DLL_XFORM_DQS3 */
					0x0000000a /* EMC_DLL_XFORM_DQS4 */
					0x0000000a /* EMC_DLL_XFORM_DQS5 */
					0x0000000a /* EMC_DLL_XFORM_DQS6 */
					0x0000000a /* EMC_DLL_XFORM_DQS7 */
					0x00000000 /* EMC_DLL_XFORM_QUSE0 */
					0x00000000 /* EMC_DLL_XFORM_QUSE1 */
					0x00000000 /* EMC_DLL_XFORM_QUSE2 */
					0x00000000 /* EMC_DLL_XFORM_QUSE3 */
					0x00000000 /* EMC_DLL_XFORM_QUSE4 */
					0x00000000 /* EMC_DLL_XFORM_QUSE5 */
					0x00000000 /* EMC_DLL_XFORM_QUSE6 */
					0x00000000 /* EMC_DLL_XFORM_QUSE7 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
					0x0000000c /* EMC_DLL_XFORM_DQ0 */
					0x0000000c /* EMC_DLL_XFORM_DQ1 */
					0x0000000c /* EMC_DLL_XFORM_DQ2 */
					0x0000000c /* EMC_DLL_XFORM_DQ3 */
					0x000002a0 /* EMC_XM2CMDPADCTRL */
					0x0800013d /* EMC_XM2DQSPADCTRL2 */
					0x22220000 /* EMC_XM2DQPADCTRL2 */
					0x77fff884 /* EMC_XM2CLKPADCTRL */
					0x01f1f501 /* EMC_XM2COMPPADCTRL */
					0x07077404 /* EMC_XM2VTTGENPADCTRL */
					0x54000000 /* EMC_XM2VTTGENPADCTRL2 */
					0x080001e8 /* EMC_XM2QUSEPADCTRL */
					0x08000021 /* EMC_XM2DQSPADCTRL3 */
					0x00000802 /* EMC_CTT_TERM_CTRL */
					0x00020000 /* EMC_ZCAL_INTERVAL */
					0x00000100 /* EMC_ZCAL_WAIT_CNT */
					0x0156000c /* EMC_MRS_WAIT_CNT */
					0xa0f10000 /* EMC_AUTO_CAL_CONFIG */
					0x00000000 /* EMC_CTT */
					0x00000000 /* EMC_CTT_DURATION */
					0x800028a5 /* EMC_DYN_SELF_REF_CONTROL */
					0xe8000000 /* EMC_FBIO_SPARE */
					0xff00ff49 /* EMC_CFG_RSV */
				>;
			};
		};

		emc-timings-1 {
			timing-333500000 {
				clock-frequency = <333500000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200000>;
				nvidia,emc-mode-reset = <0x80000321>;
				nvidia,emc-zcal-cnt-long = <0x00000040>;

				nvidia,emc-configuration = <
					0x0000000f /* EMC_RC */
					0x00000034 /* EMC_RFC */
					0x0000000a /* EMC_RAS */
					0x00000003 /* EMC_RP */
					0x00000003 /* EMC_R2W */
					0x00000008 /* EMC_W2R */
					0x00000002 /* EMC_R2P */
					0x00000009 /* EMC_W2P */
					0x00000003 /* EMC_RD_RCD */
					0x00000003 /* EMC_WR_RCD */
					0x00000002 /* EMC_RRD */
					0x00000001 /* EMC_REXT */
					0x00000000 /* EMC_WEXT */
					0x00000004 /* EMC_WDV */
					0x00000006 /* EMC_QUSE */
					0x00000004 /* EMC_QRST */
					0x0000000a /* EMC_QSAFE */
					0x0000000c /* EMC_RDV */
					0x000009e9 /* EMC_REFRESH */
					0x00000000 /* EMC_BURST_REFRESH_NUM */
					0x0000027a /* EMC_PRE_REFRESH_REQ_CNT */
					0x00000001 /* EMC_PDEX2WR */
					0x00000008 /* EMC_PDEX2RD */
					0x00000001 /* EMC_PCHG2PDEN */
					0x00000000 /* EMC_ACT2PDEN */
					0x00000007 /* EMC_AR2PDEN */
					0x0000000e /* EMC_RW2PDEN */
					0x00000039 /* EMC_TXSR */
					0x00000200 /* EMC_TXSRDLL */
					0x00000004 /* EMC_TCKE */
					0x0000000a /* EMC_TFAW */
					0x00000000 /* EMC_TRPAB */
					0x00000004 /* EMC_TCLKSTABLE */
					0x00000005 /* EMC_TCLKSTOP */
					0x00000a2a /* EMC_TREFBW */
					0x00000000 /* EMC_QUSE_EXTRA */
					0x00000004 /* EMC_FBIO_CFG6 */
					0x00000000 /* EMC_ODT_WRITE */
					0x00000000 /* EMC_ODT_READ */
					0x00007088 /* EMC_FBIO_CFG5 */
					0x002600a4 /* EMC_CFG_DIG_DLL */
					0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
					0x0003c000 /* EMC_DLL_XFORM_DQS0 */
					0x0003c000 /* EMC_DLL_XFORM_DQS1 */
					0x0003c000 /* EMC_DLL_XFORM_DQS2 */
					0x0003c000 /* EMC_DLL_XFORM_DQS3 */
					0x00014000 /* EMC_DLL_XFORM_DQS4 */
					0x00014000 /* EMC_DLL_XFORM_DQS5 */
					0x00014000 /* EMC_DLL_XFORM_DQS6 */
					0x00014000 /* EMC_DLL_XFORM_DQS7 */
					0x00000000 /* EMC_DLL_XFORM_QUSE0 */
					0x00000000 /* EMC_DLL_XFORM_QUSE1 */
					0x00000000 /* EMC_DLL_XFORM_QUSE2 */
					0x00000000 /* EMC_DLL_XFORM_QUSE3 */
					0x00000000 /* EMC_DLL_XFORM_QUSE4 */
					0x00000000 /* EMC_DLL_XFORM_QUSE5 */
					0x00000000 /* EMC_DLL_XFORM_QUSE6 */
					0x00000000 /* EMC_DLL_XFORM_QUSE7 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
					0x00048000 /* EMC_DLL_XFORM_DQ0 */
					0x00048000 /* EMC_DLL_XFORM_DQ1 */
					0x00048000 /* EMC_DLL_XFORM_DQ2 */
					0x00048000 /* EMC_DLL_XFORM_DQ3 */
					0x000002a0 /* EMC_XM2CMDPADCTRL */
					0x0800013d /* EMC_XM2DQSPADCTRL2 */
					0x00000000 /* EMC_XM2DQPADCTRL2 */
					0x77fff884 /* EMC_XM2CLKPADCTRL */
					0x01f1f508 /* EMC_XM2COMPPADCTRL */
					0x05057404 /* EMC_XM2VTTGENPADCTRL */
					0x54000007 /* EMC_XM2VTTGENPADCTRL2 */
					0x080001e8 /* EMC_XM2QUSEPADCTRL */
					0x08000021 /* EMC_XM2DQSPADCTRL3 */
					0x00000802 /* EMC_CTT_TERM_CTRL */
					0x00020000 /* EMC_ZCAL_INTERVAL */
					0x00000100 /* EMC_ZCAL_WAIT_CNT */
					0x018b000c /* EMC_MRS_WAIT_CNT */
					0xa0f10000 /* EMC_AUTO_CAL_CONFIG */
					0x00000000 /* EMC_CTT */
					0x00000000 /* EMC_CTT_DURATION */
					0x800014d4 /* EMC_DYN_SELF_REF_CONTROL */
					0xe8000000 /* EMC_FBIO_SPARE */
					0xff00ff89 /* EMC_CFG_RSV */
				>;
			};

			timing-667000000 {
				clock-frequency = <667000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200018>;
				nvidia,emc-mode-reset = <0x80000b71>;
				nvidia,emc-zcal-cnt-long = <0x00000040>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration = <
					0x00000020 /* EMC_RC */
					0x0000006a /* EMC_RFC */
					0x00000017 /* EMC_RAS */
					0x00000007 /* EMC_RP */
					0x00000005 /* EMC_R2W */
					0x0000000c /* EMC_W2R */
					0x00000003 /* EMC_R2P */
					0x00000011 /* EMC_W2P */
					0x00000007 /* EMC_RD_RCD */
					0x00000007 /* EMC_WR_RCD */
					0x00000002 /* EMC_RRD */
					0x00000001 /* EMC_REXT */
					0x00000000 /* EMC_WEXT */
					0x00000007 /* EMC_WDV */
					0x0000000a /* EMC_QUSE */
					0x00000009 /* EMC_QRST */
					0x0000000b /* EMC_QSAFE */
					0x00000011 /* EMC_RDV */
					0x00001412 /* EMC_REFRESH */
					0x00000000 /* EMC_BURST_REFRESH_NUM */
					0x00000504 /* EMC_PRE_REFRESH_REQ_CNT */
					0x00000002 /* EMC_PDEX2WR */
					0x0000000e /* EMC_PDEX2RD */
					0x00000001 /* EMC_PCHG2PDEN */
					0x00000000 /* EMC_ACT2PDEN */
					0x0000000c /* EMC_AR2PDEN */
					0x00000016 /* EMC_RW2PDEN */
					0x00000072 /* EMC_TXSR */
					0x00000200 /* EMC_TXSRDLL */
					0x00000005 /* EMC_TCKE */
					0x00000015 /* EMC_TFAW */
					0x00000000 /* EMC_TRPAB */
					0x00000006 /* EMC_TCLKSTABLE */
					0x00000007 /* EMC_TCLKSTOP */
					0x00001453 /* EMC_TREFBW */
					0x0000000b /* EMC_QUSE_EXTRA */
					0x00000006 /* EMC_FBIO_CFG6 */
					0x00000000 /* EMC_ODT_WRITE */
					0x00000000 /* EMC_ODT_READ */
					0x00005088 /* EMC_FBIO_CFG5 */
					0xf00b0191 /* EMC_CFG_DIG_DLL */
					0x00008000 /* EMC_CFG_DIG_DLL_PERIOD */
					0x00000008 /* EMC_DLL_XFORM_DQS0 */
					0x00000008 /* EMC_DLL_XFORM_DQS1 */
					0x00000008 /* EMC_DLL_XFORM_DQS2 */
					0x00000008 /* EMC_DLL_XFORM_DQS3 */
					0x0000000a /* EMC_DLL_XFORM_DQS4 */
					0x0000000a /* EMC_DLL_XFORM_DQS5 */
					0x0000000a /* EMC_DLL_XFORM_DQS6 */
					0x0000000a /* EMC_DLL_XFORM_DQS7 */
					0x00018000 /* EMC_DLL_XFORM_QUSE0 */
					0x00018000 /* EMC_DLL_XFORM_QUSE1 */
					0x00018000 /* EMC_DLL_XFORM_QUSE2 */
					0x00018000 /* EMC_DLL_XFORM_QUSE3 */
					0x00000000 /* EMC_DLL_XFORM_QUSE4 */
					0x00000000 /* EMC_DLL_XFORM_QUSE5 */
					0x00000000 /* EMC_DLL_XFORM_QUSE6 */
					0x00000000 /* EMC_DLL_XFORM_QUSE7 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS0 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS1 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS2 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS3 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS4 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS5 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS6 */
					0x00000000 /* EMC_DLI_TRIM_TXDQS7 */
					0x0000000a /* EMC_DLL_XFORM_DQ0 */
					0x0000000a /* EMC_DLL_XFORM_DQ1 */
					0x0000000a /* EMC_DLL_XFORM_DQ2 */
					0x0000000a /* EMC_DLL_XFORM_DQ3 */
					0x000002a0 /* EMC_XM2CMDPADCTRL */
					0x0800013d /* EMC_XM2DQSPADCTRL2 */
					0x22220000 /* EMC_XM2DQPADCTRL2 */
					0x77fff884 /* EMC_XM2CLKPADCTRL */
					0x01f1f501 /* EMC_XM2COMPPADCTRL */
					0x07077404 /* EMC_XM2VTTGENPADCTRL */
					0x54000000 /* EMC_XM2VTTGENPADCTRL2 */
					0x080001e8 /* EMC_XM2QUSEPADCTRL */
					0x0c000021 /* EMC_XM2DQSPADCTRL3 */
					0x00000802 /* EMC_CTT_TERM_CTRL */
					0x00020000 /* EMC_ZCAL_INTERVAL */
					0x00000100 /* EMC_ZCAL_WAIT_CNT */
					0x0155000c /* EMC_MRS_WAIT_CNT */
					0xa0f10000 /* EMC_AUTO_CAL_CONFIG */
					0x00000000 /* EMC_CTT */
					0x00000000 /* EMC_CTT_DURATION */
					0x800028a5 /* EMC_DYN_SELF_REF_CONTROL */
					0xe8000000 /* EMC_FBIO_SPARE */
					0xff00ff49 /* EMC_CFG_RSV */
				>;
			};
		};
	};
};


code:
// SPDX-License-Identifier: GPL-2.0

#include "tegra30-asus-nexus7-grouper-common.dtsi"
#include "tegra30-asus-nexus7-tilapia-memory-timings.dtsi"

/ {
	compatible = "asus,tilapia", "asus,grouper", "nvidia,tegra30";

	display-panel {
		enable-gpios = <&gpio TEGRA_GPIO(V, 6) GPIO_ACTIVE_HIGH>;

		panel-timing {
			clock-frequency = <81750000>;
			hactive = <800>;
			vactive = <1280>;
			hfront-porch = <64>;
			hback-porch = <128>;
			hsync-len = <64>;
			vsync-len = <1>;
			vfront-porch = <5>;
			vback-porch = <2>;
		};
	};

	gpio@6000d000 {
		init-mode-3g-hog {
			gpio-hog;
			gpios = <TEGRA_GPIO(D, 2) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(C, 6) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(P, 1) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(X, 5) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(U, 5) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(X, 7) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(X, 0) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(EE, 1) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(Y, 2) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(Y, 3) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(U, 4) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(U, 3) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(N, 1) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(N, 2) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(N, 0) GPIO_ACTIVE_HIGH>,
				<TEGRA_GPIO(N, 3) GPIO_ACTIVE_HIGH>;
			output-low;
		};
	};

	pinmux@70000868 {
		state_default: pinmux {
			lcd_dc1_pd2 {
				nvidia,pins = "lcd_dc1_pd2";
				nvidia,function = "displaya";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			lcd_pwr2_pc6 {
				nvidia,pins = "lcd_pwr2_pc6";
				nvidia,function = "displaya";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			spi2_cs2_n_pw3 {
				nvidia,pins = "spi2_cs2_n_pw3";
				nvidia,function = "spi2";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			dap3_din_pp1 {
				nvidia,pins = "dap3_din_pp1";
				nvidia,function = "i2s2";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			spi1_sck_px5 {
				nvidia,pins = "spi1_sck_px5";
				nvidia,function = "spi1";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			pu5 {
				nvidia,pins = "pu5";
				nvidia,function = "pwm2";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			spi1_miso_px7 {
				nvidia,pins = "spi1_miso_px7";
				nvidia,function = "spi1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				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_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			clk3_req_pee1 {
				nvidia,pins = "clk3_req_pee1";
				nvidia,function = "dev3";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			ulpi_nxt_py2 {
				nvidia,pins = "ulpi_nxt_py2";
				nvidia,function = "uartd";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			ulpi_stp_py3 {
				nvidia,pins = "ulpi_stp_py3";
				nvidia,function = "uartd";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			kb_row7_pr7 {
				nvidia,pins = "kb_row7_pr7";
				nvidia,function = "kbc";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			pu4 {
				nvidia,pins = "pu4";
				nvidia,function = "pwm1";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			pu3 {
				nvidia,pins = "pu3";
				nvidia,function = "rsvd4";
				nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			kb_row15_ps7 {
				nvidia,pins = "kb_row15_ps7";
				nvidia,function = "kbc";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			dap3_sclk_pp3 {
				nvidia,pins = "dap3_sclk_pp3";
				nvidia,function = "i2s2";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_DISABLE>;
			};
			kb_row3_pr3 {
				nvidia,pins = "kb_row3_pr3",
						"kb_row13_ps5";
				nvidia,function = "kbc";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			kb_row13_ps5 {
				nvidia,pins = "kb_row13_ps5";
				nvidia,function = "kbc";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			gmi_wp_n_pc7 {
				nvidia,pins = "gmi_wp_n_pc7",
						"gmi_wait_pi7",
						"gmi_cs4_n_pk2",
						"gmi_cs3_n_pk4";
				nvidia,function = "rsvd1";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
			gmi_cs6_n_pi3 {
				nvidia,pins = "gmi_cs6_n_pi3";
				nvidia,function = "gmi";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
		};
	};

	i2c@7000c500 {
		proximity-sensor@28 {
			compatible = "microchip,cap1106";
			reg = <0x28>;

			/*
			 * Binding doesn't support specifying linux,input-type
			 * and this results in unwanted key-presses handled by
			 * applications, hence keep it disabled for now.
			 */
			status = "disabled";

			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(R, 3) IRQ_TYPE_LEVEL_HIGH>;

			linux,keycodes = <KEY_RESERVED>,
					 <KEY_RESERVED>,
					 <KEY_RESERVED>,
					 <KEY_RESERVED>,
					 <KEY_RESERVED>,
					 <SW_FRONT_PROXIMITY>;
		};

		nfc@2a {
			compatible = "nxp,pn544-i2c";
			reg = <0x2a>;

			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(S, 7) IRQ_TYPE_EDGE_RISING>;

			enable-gpios   = <&gpio TEGRA_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
			firmware-gpios = <&gpio TEGRA_GPIO(P, 3) GPIO_ACTIVE_HIGH>;
		};
	};
};


code:
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "tegra30-asus-transformer-common.dtsi"
#include "tegra30-asus-lvds-display.dtsi"

/ {
	model = "Asus Transformer Prime TF201";
	compatible = "asus,tf201", "nvidia,tegra30";

	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_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pbb3 {
				nvidia,pins = "pbb3";
				nvidia,function = "vgp3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pbb7 {
				nvidia,pins = "pbb7";
				nvidia,function = "i2s4";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			kb_row7_pr7 {
				nvidia,pins = "kb_row7_pr7";
				nvidia,function = "kbc";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			gmi_cs4_n_pk2 {
				nvidia,pins = "gmi_cs4_n_pk2";
				nvidia,function = "gmi";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
		};
	};

	serial@70006200 {
		/* Azurewave AW-NH615 BCM4329B1 */
		bluetooth {
			compatible = "brcm,bcm4329-bt";
		};
	};

	i2c@7000c400 {
		/* Atmel MXT768E touchscreen */
		touchscreen@4d {
			compatible = "atmel,maxtouch";
			reg = <0x4d>;

			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(H, 4) IRQ_TYPE_EDGE_FALLING>;
			reset-gpios = <&gpio TEGRA_GPIO(H, 6) GPIO_ACTIVE_LOW>;

			vdda-supply = <&vdd_3v3_sys>;
			vdd-supply  = <&vdd_3v3_sys>;
		};
	};

	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 =   "1",  "0",  "0",
							 "0", "-1",  "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 {
			/* Elpida 1GB EDB8132B2MA-8D-F LPDDR2 400MHz */
			nvidia,ram-code = <0>;

			timing-25500000 {
				clock-frequency = <25500000>;

				nvidia,emem-configuration = < 0x00020001 0x80000010
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000003 0x00000001 0x00000002 0x00000004
					0x00000001 0x00000000 0x00000002 0x00000002
					0x02020001 0x00060402 0x73e30303 0x001f0000 >;
			};

			timing-51000000 {
				clock-frequency = <51000000>;

				nvidia,emem-configuration = < 0x00010001 0x80000010
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000003 0x00000001 0x00000002 0x00000004
					0x00000001 0x00000000 0x00000002 0x00000002
					0x02020001 0x00060402 0x72c30303 0x001f0000 >;
			};

			timing-102000000 {
				clock-frequency = <102000000>;

				nvidia,emem-configuration = < 0x00000001 0x80000018
					0x00000001 0x00000001 0x00000003 0x00000001
					0x00000003 0x00000001 0x00000002 0x00000004
					0x00000001 0x00000000 0x00000002 0x00000002
					0x02020001 0x00060403 0x72430504 0x001f0000 >;
			};

			timing-204000000 {
				clock-frequency = <204000000>;

				nvidia,emem-configuration = < 0x00000003 0x80000025
					0x00000001 0x00000001 0x00000006 0x00000003
					0x00000005 0x00000001 0x00000002 0x00000004
					0x00000001 0x00000000 0x00000003 0x00000002
					0x02030001 0x00070506 0x71e40a07 0x001f0000 >;
			};

			timing-400000000 {
				clock-frequency = <400000000>;

				nvidia,emem-configuration = < 0x00000006 0x80000048
					0x00000002 0x00000003 0x0000000c 0x00000007
					0x00000009 0x00000001 0x00000002 0x00000006
					0x00000001 0x00000000 0x00000004 0x00000004
					0x04040001 0x000d090c 0x71c6120d 0x001f0000 >;
			};
		};

		emc-timings-1 {
			/* TF201 Unknown 1GB LPDDR2 500MHZ */
			nvidia,ram-code = <1>;

			timing-25500000 {
				clock-frequency = <25500000>;

				nvidia,emem-configuration = < 0x00020001 0x80000010
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000003 0x00000001 0x00000002 0x00000004
					0x00000001 0x00000000 0x00000002 0x00000002
					0x02020001 0x00060402 0x73e30303 0x001f0000 >;
			};

			timing-51000000 {
				clock-frequency = <51000000>;

				nvidia,emem-configuration = < 0x00010001 0x80000010
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000003 0x00000001 0x00000002 0x00000004
					0x00000001 0x00000000 0x00000002 0x00000002
					0x02020001 0x00060402 0x72c30303 0x001f0000 >;
			};

			timing-102000000 {
				clock-frequency = <102000000>;

				nvidia,emem-configuration = < 0x00000001 0x80000018
					0x00000001 0x00000001 0x00000003 0x00000001
					0x00000003 0x00000001 0x00000002 0x00000004
					0x00000001 0x00000000 0x00000002 0x00000002
					0x02020001 0x00060403 0x72430504 0x001f0000 >;
			};

			timing-204000000 {
				clock-frequency = <204000000>;

				nvidia,emem-configuration = < 0x00000003 0x80000025
					0x00000001 0x00000001 0x00000006 0x00000003
					0x00000005 0x00000001 0x00000002 0x00000004
					0x00000001 0x00000000 0x00000003 0x00000002
					0x02030001 0x00070506 0x71e40a07 0x001f0000 >;
			};

			timing-500000000 {
				clock-frequency = <500000000>;

				nvidia,emem-configuration = < 0x00000007 0x8000005a
					0x00000003 0x00000004 0x0000000e 0x00000009
					0x0000000c 0x00000002 0x00000002 0x00000008
					0x00000001 0x00000000 0x00000004 0x00000005
					0x05040001 0x00100a0e 0x71c8170f 0x001f0000 >;
			};
		};
	};

	memory-controller@7000f400 {
		emc-timings-0 {
			/* Elpida 1GB EDB8132B2MA-8D-F LPDDR2 400MHz */
			nvidia,ram-code = <0>;

			timing-25500000 {
				clock-frequency = <25500000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x00010022>;
				nvidia,emc-mode-2 = <0x00020001>;
				nvidia,emc-mode-reset = <0x00000000>;
				nvidia,emc-zcal-cnt-long = <0x00000009>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x00000001
					0x00000003 0x00000002 0x00000002 0x00000004
					0x00000004 0x00000001 0x00000005 0x00000002
					0x00000002 0x00000001 0x00000001 0x00000000
					0x00000001 0x00000003 0x00000001 0x0000000b
					0x0000000a 0x00000060 0x00000000 0x00000018
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000007 0x00000004 0x00000004
					0x00000003 0x00000008 0x00000004 0x00000004
					0x00000002 0x0000006b 0x00000004 0x00000004
					0x00000000 0x00000000 0x00004282 0x00780084
					0x00008000 0x00098000 0x00098000 0x00098000
					0x00098000 0x00000010 0x00000010 0x00000010
					0x00000010 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000008 0x00000008 0x00000008
					0x00000008 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00080000 0x00080000 0x00080000
					0x00080000 0x00100220 0x0800201c 0x00000000
					0x77ffc004 0x01f1f008 0x00000000 0x00000007
					0x08000068 0x08000000 0x00000802 0x00000000
					0x00000009 0x00090009 0xa0f10000 0x00000000
					0x00000000 0x800001c5 0xe0000000 0xff00ff00 >;
			};

			timing-51000000 {
				clock-frequency = <51000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x00010022>;
				nvidia,emc-mode-2 = <0x00020001>;
				nvidia,emc-mode-reset = <0x00000000>;
				nvidia,emc-zcal-cnt-long = <0x00000009>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x00000003
					0x00000006 0x00000002 0x00000002 0x00000004
					0x00000004 0x00000001 0x00000005 0x00000002
					0x00000002 0x00000001 0x00000001 0x00000000
					0x00000001 0x00000003 0x00000001 0x0000000b
					0x0000000a 0x000000c0 0x00000000 0x00000030
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000007 0x00000008 0x00000008
					0x00000003 0x00000008 0x00000004 0x00000004
					0x00000002 0x000000d5 0x00000004 0x00000004
					0x00000000 0x00000000 0x00004282 0x00780084
					0x00008000 0x00098000 0x00098000 0x00098000
					0x00098000 0x00000010 0x00000010 0x00000010
					0x00000010 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000018 0x00000018 0x00000018
					0x00000018 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00080000 0x00080000 0x00080000
					0x00080000 0x00100220 0x0800201c 0x00000000
					0x77ffc004 0x01f1f008 0x00000000 0x00000007
					0x08000068 0x08000000 0x00000802 0x00000000
					0x00000009 0x00090009 0xa0f10000 0x00000000
					0x00000000 0x80000287 0xe0000000 0xff00ff00 >;
			};

			timing-102000000 {
				clock-frequency = <102000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x00010022>;
				nvidia,emc-mode-2 = <0x00020001>;
				nvidia,emc-mode-reset = <0x00000000>;
				nvidia,emc-zcal-cnt-long = <0x0000000a>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x00000006
					0x0000000d 0x00000004 0x00000002 0x00000004
					0x00000004 0x00000001 0x00000005 0x00000002
					0x00000002 0x00000001 0x00000001 0x00000000
					0x00000001 0x00000003 0x00000001 0x0000000b
					0x0000000a 0x00000181 0x00000000 0x00000060
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000007 0x0000000f 0x0000000f
					0x00000003 0x00000008 0x00000004 0x00000004
					0x00000002 0x000001a9 0x00000004 0x00000006
					0x00000000 0x00000000 0x00004282 0x00780084
					0x00008000 0x000a0000 0x000a0000 0x000a0000
					0x000a0000 0x00000010 0x00000010 0x00000010
					0x00000010 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000008 0x00000008 0x00000008
					0x00000008 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00080000 0x00080000 0x00080000
					0x00080000 0x00120220 0x0800201c 0x00000000
					0x77ffc004 0x01f1f008 0x00000000 0x00000007
					0x08000068 0x08000000 0x00000802 0x00000000
					0x0000000a 0x00090009 0xa0f10000 0x00000000
					0x00000000 0x8000040b 0xe0000000 0xff00ff00 >;
			};

			timing-204000000 {
				clock-frequency = <204000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x00010042>;
				nvidia,emc-mode-2 = <0x00020001>;
				nvidia,emc-mode-reset = <0x00000000>;
				nvidia,emc-zcal-cnt-long = <0x00000013>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x0000000c
					0x0000001a 0x00000008 0x00000003 0x00000005
					0x00000004 0x00000001 0x00000006 0x00000003
					0x00000003 0x00000002 0x00000002 0x00000000
					0x00000001 0x00000003 0x00000001 0x0000000c
					0x0000000a 0x00000303 0x00000000 0x000000c0
					0x00000001 0x00000001 0x00000003 0x00000000
					0x00000001 0x00000007 0x0000001d 0x0000001d
					0x00000004 0x0000000b 0x00000005 0x00000004
					0x00000002 0x00000351 0x00000004 0x00000006
					0x00000000 0x00000000 0x00004282 0x00440084
					0x00008000 0x00074000 0x00074000 0x00074000
					0x00074000 0x00000010 0x00000010 0x00000010
					0x00000010 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000018 0x00000018 0x00000018
					0x00000018 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00078000 0x00078000 0x00078000
					0x00078000 0x00100220 0x0800201c 0x00000000
					0x77ffc004 0x01f1f008 0x00000000 0x00000007
					0x08000068 0x08000000 0x00000802 0x00000000
					0x00000013 0x00090009 0xa0f10000 0x00000000
					0x00000000 0x80000713 0xe0000000 0xff00ff00 >;
			};

			timing-400000000 {
				clock-frequency = <400000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x00010082>;
				nvidia,emc-mode-2 = <0x00020004>;
				nvidia,emc-mode-reset = <0x00000000>;
				nvidia,emc-zcal-cnt-long = <0x00000024>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x00000017
					0x00000033 0x00000010 0x00000007 0x00000007
					0x00000007 0x00000002 0x0000000a 0x00000007
					0x00000007 0x00000003 0x00000002 0x00000000
					0x00000003 0x00000007 0x00000004 0x0000000d
					0x0000000e 0x000005e9 0x00000000 0x0000017a
					0x00000002 0x00000002 0x00000007 0x00000000
					0x00000001 0x0000000c 0x00000038 0x00000038
					0x00000006 0x00000014 0x00000009 0x00000004
					0x00000002 0x00000680 0x00000000 0x00000006
					0x00000000 0x00000000 0x00006282 0x001d0084
					0x00008000 0x0002c000 0x0002c000 0x0002c000
					0x0002c000 0x00000010 0x00000010 0x00000010
					0x00000010 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000008 0x00000008 0x00000008
					0x00000008 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00048000 0x00048000 0x00048000
					0x00048000 0x000c0220 0x0800003d 0x00000000
					0x77ffc004 0x01f1f408 0x00000000 0x00000007
					0x08000068 0x08000000 0x00000802 0x00000000
					0x00000024 0x000c000c 0xa0f10000 0x00000000
					0x00000000 0x80000ce6 0xe0000000 0xff00ff88 >;
			};
		};

		emc-timings-1 {
			/* TF201 Unknown 1GB LPDDR2 500MHZ */
			nvidia,ram-code = <1>;

			timing-25500000 {
				clock-frequency = <25500000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x00010022>;
				nvidia,emc-mode-2 = <0x00020001>;
				nvidia,emc-mode-reset = <0x00000000>;
				nvidia,emc-zcal-cnt-long = <0x00000009>;
				nvidia,emc-cfg-dyn-self-ref;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x00000001
					0x00000003 0x00000002 0x00000002 0x00000004
					0x00000004 0x00000001 0x00000005 0x00000002
					0x00000002 0x00000001 0x00000001 0x00000000
					0x00000001 0x00000003 0x00000001 0x0000000b
					0x00000009 0x00000060 0x00000000 0x00000018
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000007 0x00000004 0x00000004
					0x00000003 0x00000008 0x00000004 0x00000004
					0x00000002 0x0000006b 0x00000004 0x00000004
					0x00000000 0x00000000 0x00004282 0x00780084
					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 0x00100220 0x0800201c 0x00000000
					0x77ffc004 0x01f1f008 0x00000000 0x00000007
					0x08000068 0x08000000 0x00000802 0x00064000
					0x0000000a 0x00090009 0xa0f10000 0x00000000
					0x00000000 0x800001c5 0xe0000000 0xff00ff00 >;
			};

			timing-51000000 {
				clock-frequency = <51000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x00010022>;
				nvidia,emc-mode-2 = <0x00020001>;
				nvidia,emc-mode-reset = <0x00000000>;
				nvidia,emc-zcal-cnt-long = <0x00000009>;
				nvidia,emc-cfg-dyn-self-ref;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x00000003
					0x00000006 0x00000002 0x00000002 0x00000004
					0x00000004 0x00000001 0x00000005 0x00000002
					0x00000002 0x00000001 0x00000001 0x00000000
					0x00000001 0x00000003 0x00000001 0x0000000b
					0x00000009 0x000000c0 0x00000000 0x00000030
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000007 0x00000008 0x00000008
					0x00000003 0x00000008 0x00000004 0x00000004
					0x00000002 0x000000d5 0x00000004 0x00000004
					0x00000000 0x00000000 0x00004282 0x00780084
					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 0x00100220 0x0800201c 0x00000000
					0x77ffc004 0x01f1f008 0x00000000 0x00000007
					0x08000068 0x08000000 0x00000802 0x00064000
					0x00000013 0x00090009 0xa0f10000 0x00000000
					0x00000000 0x80000287 0xe0000000 0xff00ff00 >;
			};

			timing-102000000 {
				clock-frequency = <102000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x00010022>;
				nvidia,emc-mode-2 = <0x00020001>;
				nvidia,emc-mode-reset = <0x00000000>;
				nvidia,emc-zcal-cnt-long = <0x0000000a>;
				nvidia,emc-cfg-dyn-self-ref;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x00000006
					0x0000000d 0x00000004 0x00000002 0x00000004
					0x00000004 0x00000001 0x00000005 0x00000002
					0x00000002 0x00000001 0x00000001 0x00000000
					0x00000001 0x00000003 0x00000001 0x0000000b
					0x00000009 0x00000181 0x00000000 0x00000060
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000007 0x0000000f 0x0000000f
					0x00000003 0x00000008 0x00000004 0x00000004
					0x00000002 0x000001a9 0x00000004 0x00000004
					0x00000000 0x00000000 0x00004282 0x00780084
					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 0x00100220 0x0800201c 0x00000000
					0x77ffc004 0x01f1f008 0x00000000 0x00000007
					0x08000068 0x08000000 0x00000802 0x00064000
					0x00000025 0x00090009 0xa0f10000 0x00000000
					0x00000000 0x8000040b 0xe0000000 0xff00ff00 >;
			};

			timing-204000000 {
				clock-frequency = <204000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x00010042>;
				nvidia,emc-mode-2 = <0x00020001>;
				nvidia,emc-mode-reset = <0x00000000>;
				nvidia,emc-zcal-cnt-long = <0x00000013>;
				nvidia,emc-cfg-dyn-self-ref;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x0000000c
					0x0000001a 0x00000008 0x00000003 0x00000005
					0x00000004 0x00000001 0x00000006 0x00000003
					0x00000003 0x00000002 0x00000002 0x00000000
					0x00000001 0x00000003 0x00000001 0x0000000c
					0x0000000a 0x00000303 0x00000000 0x000000c0
					0x00000001 0x00000001 0x00000003 0x00000000
					0x00000001 0x00000007 0x0000001d 0x0000001d
					0x00000004 0x0000000b 0x00000005 0x00000004
					0x00000002 0x00000351 0x00000004 0x00000006
					0x00000000 0x00000000 0x00004282 0x00440084
					0x00008000 0x00060000 0x00060000 0x00060000
					0x00060000 0x00072000 0x00072000 0x00072000
					0x00072000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x000d0000 0x000d0000 0x000d0000
					0x000d0000 0x000e0220 0x0800201c 0x00000000
					0x77ffc004 0x01f1f008 0x00000000 0x00000007
					0x08000068 0x08000000 0x00000802 0x00064000
					0x0000004a 0x00090009 0xa0f10000 0x00000000
					0x00000000 0x80000713 0xe0000000 0xff00ff00 >;
			};

			timing-500000000 {
				clock-frequency = <500000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x000100c2>;
				nvidia,emc-mode-2 = <0x00020005>;
				nvidia,emc-mode-reset = <0x00000000>;
				nvidia,emc-zcal-cnt-long = <0x0000002d>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x0000001d
					0x00000040 0x00000014 0x00000008 0x00000007
					0x00000009 0x00000003 0x0000000d 0x00000008
					0x00000008 0x00000004 0x00000002 0x00000000
					0x00000004 0x00000008 0x00000005 0x0000000d
					0x0000000f 0x00000763 0x00000000 0x000001d8
					0x00000003 0x00000003 0x00000008 0x00000000
					0x00000001 0x0000000e 0x00000046 0x00000046
					0x00000008 0x00000019 0x0000000b 0x00000004
					0x00000002 0x00000820 0x00000000 0x00000006
					0x00000000 0x00000000 0x00006282 0xf0140091
					0x00008000 0x00000008 0x00000008 0x00000008
					0x00000008 0x0000000a 0x0000000a 0x0000000a
					0x0000000a 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x0000000c 0x0000000c 0x0000000c
					0x0000000c 0x00080220 0x0800003d 0x00000000
					0x77ffc004 0x01f1f408 0x00000000 0x00000007
					0x08000068 0x08000000 0x00000802 0x00064000
					0x000000b4 0x000d000d 0xa0f10404 0x00000000
					0x00000000 0x80000fde 0xe0000000 0xff00ff88 >;
			};
		};
	};

	usb-phy@7d000000 {
		/delete-property/ nvidia,xcvr-setup-use-fuses;
		nvidia,xcvr-setup = <5>;      /* Based on TF201 fuse value - 48 */
	};

	usb-phy@7d008000 {
		/delete-property/ nvidia,xcvr-setup-use-fuses;
		nvidia,xcvr-setup = <5>;      /* Based on TF201 fuse value - 48 */
	};

	display-panel {
		compatible = "hannstar,hsd101pww2";
	};

	haptic-feedback {
		compatible = "gpio-vibrator";
		enable-gpios = <&gpio TEGRA_GPIO(H, 7) GPIO_ACTIVE_HIGH>;
		vcc-supply = <&vdd_3v3_sys>;
	};
};

&emc_icc_dvfs_opp_table {
	/delete-node/ opp-533000000-1200;
	/delete-node/ opp-625000000-1200;
	/delete-node/ opp-625000000-1250;
	/delete-node/ opp-667000000-1200;
	/delete-node/ opp-750000000-1300;
	/delete-node/ opp-800000000-1300;
	/delete-node/ opp-900000000-1350;
};

&emc_bw_dfs_opp_table {
	/delete-node/ opp-533000000;
	/delete-node/ opp-625000000;
	/delete-node/ opp-667000000;
	/delete-node/ opp-750000000;
	/delete-node/ opp-800000000;
	/delete-node/ opp-900000000;
};


code:
// SPDX-License-Identifier: GPL-2.0
/dts-v1/;

#include "tegra30-asus-transformer-common.dtsi"
#include "tegra30-asus-lvds-display.dtsi"

/ {
	model = "Asus Transformer Pad TF300T";
	compatible = "asus,tf300t", "nvidia,tegra30";

	gpio@6000d000 {
		tf300t-init-hog {
			gpio-hog;
			gpios = <TEGRA_GPIO(BB, 5) GPIO_ACTIVE_HIGH>;
			output-low;
		};
	};

	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_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pbb3 {
				nvidia,pins = "pbb3";
				nvidia,function = "vgp3";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			pbb7 {
				nvidia,pins = "pbb7";
				nvidia,function = "i2s4";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			kb_row7_pr7 {
				nvidia,pins = "kb_row7_pr7";
				nvidia,function = "kbc";
				nvidia,pull = <TEGRA_PIN_PULL_UP>;
				nvidia,tristate = <TEGRA_PIN_DISABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};

			gmi_cs4_n_pk2 {
				nvidia,pins = "gmi_cs4_n_pk2";
				nvidia,function = "gmi";
				nvidia,pull = <TEGRA_PIN_PULL_NONE>;
				nvidia,tristate = <TEGRA_PIN_ENABLE>;
				nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			};
		};
	};

	serial@70006200 {
		/* Azurewave AW-NH615 BCM4329B1 */
		bluetooth {
			compatible = "brcm,bcm4329-bt";
		};
	};

	i2c@7000c400 {
		/* Elantech EKTH1036 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 = <2240>;
			touchscreen-size-y = <1408>;
			touchscreen-inverted-y;
		};
	};

	i2c@7000c500 {
		clock-frequency = <400000>;

		magnetometer@e {
			mount-matrix =   "0", "-1",  "0",
					"-1",  "0",  "0",
					 "0",  "0", "-1";
		};

		gyroscope@68 {
			mount-matrix =   "-1",  "0",  "0",
					  "0",  "1",  "0",
					  "0",  "0", "-1";

			/* External I2C interface */
			i2c-gate {
				accelerometer@f {
					mount-matrix =   "0", "-1",  "0",
							"-1",  "0",  "0",
							 "0",  "0",  "1";
				};
			};
		};
	};

	i2c@7000d000 {
		/* Wolfson Microelectronics WM8903 audio codec */
		wm8903: audio-codec@1a {
			compatible = "wlf,wm8903";
			reg = <0x1a>;

			interrupt-parent = <&gpio>;
			interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_LOW>;

			gpio-controller;
			#gpio-cells = <2>;

			micdet-cfg = <0>;
			micdet-delay = <100>;

			gpio-cfg = <
				0xffffffff /* don't touch */
				0xffffffff /* don't touch */
				0x00000000 /* Speaker-enable GPIO, output, low */
				0xffffffff /* don't touch */
				0xffffffff /* don't touch */
			>;

			AVDD-supply  = <&vdd_1v8_vio>;
			CPVDD-supply = <&vdd_1v8_vio>;
			DBVDD-supply = <&vdd_1v8_vio>;
			DCVDD-supply = <&vdd_1v8_vio>;
		};
	};

	memory-controller@7000f000 {
		emc-timings-0 {
			/* Elpida 1GB 667MHZ */
			nvidia,ram-code = <0>;

			timing-25500000 {
				clock-frequency = <25500000>;

				nvidia,emem-configuration = < 0x00030003 0xc0000020
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0502 0x74830303 0x001f0000 >;
			};

			timing-51000000 {
				clock-frequency = <51000000>;

				nvidia,emem-configuration = < 0x00010003 0xc0000020
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0502 0x73430303 0x001f0000 >;
			};

			timing-102000000 {
				clock-frequency = <102000000>;

				nvidia,emem-configuration = < 0x00000003 0xc0000030
					0x00000001 0x00000001 0x00000003 0x00000000
					0x00000001 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0503 0x72830504 0x001f0000 >;
			};

			timing-204000000 {
				clock-frequency = <204000000>;

				nvidia,emem-configuration = < 0x00000006 0xc0000025
					0x00000001 0x00000001 0x00000005 0x00000002
					0x00000003 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0505 0x72440a06 0x001f0000 >;
			};

			timing-333500000 {
				clock-frequency = <333500000>;

				nvidia,emem-configuration = < 0x0000000a 0xc000003d
					0x00000001 0x00000002 0x00000008 0x00000004
					0x00000004 0x00000001 0x00000002 0x00000007
					0x00000002 0x00000002 0x00000003 0x00000006
					0x06030202 0x000b0608 0x70850f09 0x001f0000 >;
			};

			timing-667000000 {
				clock-frequency = <667000000>;

				nvidia,emem-configuration = < 0x00000014 0xc0000079
					0x00000003 0x00000004 0x00000010 0x0000000b
					0x0000000a 0x00000001 0x00000003 0x0000000b
					0x00000002 0x00000002 0x00000004 0x00000008
					0x08040202 0x00130b10 0x70ea1f11 0x001f0000 >;
			};
		};

		emc-timings-1 {
			/* Hynix 1GB 667MHZ */
			nvidia,ram-code = <1>;

			timing-25500000 {
				clock-frequency = <25500000>;

				nvidia,emem-configuration = < 0x00030003 0xc0000020
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0502 0x74830303 0x001f0000 >;
			};

			timing-51000000 {
				clock-frequency = <51000000>;

				nvidia,emem-configuration = < 0x00010003 0xc0000020
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0502 0x73430303 0x001f0000 >;
			};

			timing-102000000 {
				clock-frequency = <102000000>;

				nvidia,emem-configuration = < 0x00000003 0xc0000030
					0x00000001 0x00000001 0x00000003 0x00000000
					0x00000001 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0503 0x72830504 0x001f0000 >;
			};

			timing-204000000 {
				clock-frequency = <204000000>;

				nvidia,emem-configuration = < 0x00000006 0xc0000025
					0x00000001 0x00000001 0x00000005 0x00000002
					0x00000003 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0605 0x72440a06 0x001f0000 >;
			};

			timing-333500000 {
				clock-frequency = <333500000>;

				nvidia,emem-configuration = < 0x0000000a 0xc000003d
					0x00000001 0x00000002 0x00000008 0x00000005
					0x00000004 0x00000001 0x00000002 0x00000007
					0x00000002 0x00000002 0x00000003 0x00000006
					0x06030202 0x000b0608 0x70850f09 0x001f0000 >;
			};

			timing-667000000 {
				clock-frequency = <667000000>;

				nvidia,emem-configuration = < 0x00000014 0xc0000079
					0x00000003 0x00000004 0x00000011 0x0000000b
					0x0000000a 0x00000001 0x00000003 0x0000000b
					0x00000002 0x00000002 0x00000004 0x00000008
					0x08040202 0x00140b11 0x70ea1f12 0x001f0000 >;
			};
		};

		emc-timings-2 {
			/* Micron 1GB 667MHZ */
			nvidia,ram-code = <2>;

			timing-25500000 {
				clock-frequency = <25500000>;

				nvidia,emem-configuration = < 0x00020001 0xc0000020
					0x00000001 0x00000001 0x00000002 0x00000000
					0x00000001 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0502 0x74830303 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 0x73430303 0x001f0000 >;
			};

			timing-102000000 {
				clock-frequency = <102000000>;

				nvidia,emem-configuration = < 0x00000001 0xc0000030
					0x00000001 0x00000001 0x00000003 0x00000000
					0x00000001 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0503 0x72830504 0x001f0000 >;
			};

			timing-204000000 {
				clock-frequency = <204000000>;

				nvidia,emem-configuration = < 0x00000003 0xc0000025
					0x00000001 0x00000001 0x00000005 0x00000002
					0x00000003 0x00000001 0x00000003 0x00000008
					0x00000002 0x00000001 0x00000002 0x00000006
					0x06020102 0x000a0505 0x72440a06 0x001f0000 >;
			};

			timing-333500000 {
				clock-frequency = <333500000>;

				nvidia,emem-configuration = < 0x00000005 0xc000003d
					0x00000001 0x00000002 0x00000008 0x00000004
					0x00000004 0x00000001 0x00000002 0x00000007
					0x00000002 0x00000002 0x00000003 0x00000006
					0x06030202 0x000b0608 0x70850f09 0x001f0000 >;
			};

			timing-667000000 {
				clock-frequency = <667000000>;

				nvidia,emem-configuration = < 0x0000000a 0xc0000079
					0x00000003 0x00000004 0x00000010 0x0000000a
					0x0000000a 0x00000001 0x00000003 0x0000000b
					0x00000002 0x00000002 0x00000004 0x00000008
					0x08040202 0x00140b10 0x70ea1f11 0x001f0000 >;
			};
		};
	};

	memory-controller@7000f400 {
		emc-timings-0 {
			/* Elpida 1GB 667MHZ */
			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
					0x00000004 0x00000000 0x00000000 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000000
					0x00000000 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x00000009
					0x0000000b 0x000000c0 0x00000000 0x00000030
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000005 0x00000005
					0x00000004 0x00000001 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
					0x00000008 0x00000001 0x00000000 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000000
					0x00000000 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x00000009
					0x0000000b 0x00000181 0x00000000 0x00000060
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000009 0x00000009
					0x00000004 0x00000002 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
					0x00000010 0x00000003 0x00000001 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000001
					0x00000001 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x00000009
					0x0000000b 0x00000303 0x00000000 0x000000c0
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000012 0x00000012
					0x00000004 0x00000004 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 =  < 0x0000000a
					0x00000020 0x00000007 0x00000002 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000002
					0x00000002 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x00000009
					0x0000000b 0x00000607 0x00000000 0x00000181
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000023 0x00000023
					0x00000004 0x00000007 0x00000000 0x00000004
					0x00000005 0x00000638 0x00000006 0x00000006
					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-333500000 {
				clock-frequency = <333500000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200000>;
				nvidia,emc-mode-reset = <0x80000321>;
				nvidia,emc-zcal-cnt-long = <0x00000040>;

				nvidia,emc-configuration =  < 0x0000000f
					0x00000034 0x0000000a 0x00000003 0x00000003
					0x00000008 0x00000002 0x00000009 0x00000003
					0x00000003 0x00000002 0x00000001 0x00000000
					0x00000004 0x00000006 0x00000004 0x0000000a
					0x0000000c 0x000009e9 0x00000000 0x0000027a
					0x00000001 0x00000008 0x00000001 0x00000000
					0x00000007 0x0000000e 0x00000039 0x00000200
					0x00000004 0x0000000a 0x00000000 0x00000004
					0x00000005 0x00000a2a 0x00000000 0x00000004
					0x00000000 0x00000000 0x00007088 0x002600a4
					0x00008000 0x0003c000 0x0003c000 0x0003c000
					0x0003c000 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 0x0800013d 0x00000000
					0x77fff884 0x01f1f508 0x05057404 0x54000007
					0x080001e8 0x08000021 0x00000802 0x00020000
					0x00000100 0x018b000c 0xa0f10000 0x00000000
					0x00000000 0x800014d4 0xe8000000 0xff00ff89 >;
			};

			timing-667000000 {
				clock-frequency = <667000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200018>;
				nvidia,emc-mode-reset = <0x80000b71>;
				nvidia,emc-zcal-cnt-long = <0x00000040>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x0000001f
					0x00000069 0x00000017 0x00000007 0x00000005
					0x0000000c 0x00000003 0x00000011 0x00000007
					0x00000007 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000a 0x00000009 0x0000000a
					0x00000011 0x00001412 0x00000000 0x00000504
					0x00000002 0x0000000e 0x00000001 0x00000000
					0x0000000c 0x00000016 0x00000072 0x00000200
					0x00000005 0x00000015 0x00000000 0x00000006
					0x00000007 0x00001453 0x0000000b 0x00000006
					0x00000000 0x00000000 0x00005088 0xf00b0191
					0x00008000 0x00000008 0x00000008 0x00000008
					0x00000008 0x0000000a 0x0000000a 0x0000000a
					0x0000000a 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x0000000a 0x0000000a 0x0000000a
					0x0000000a 0x000002a0 0x0800013d 0x22220000
					0x77fff884 0x01f1f501 0x07077404 0x54000000
					0x080001e8 0x0f000021 0x00000802 0x00020000
					0x00000100 0x0156000c 0xa0f10000 0x00000000
					0x00000000 0x800028a5 0xe8000000 0xff00ff49 >;
			};
		};

		emc-timings-1 {
			/* Hynix 1GB 667MHZ */
			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
					0x00000004 0x00000000 0x00000000 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000000
					0x00000000 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x00000009
					0x0000000b 0x000000c0 0x00000000 0x00000030
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000005 0x00000005
					0x00000004 0x00000001 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
					0x00000008 0x00000001 0x00000000 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000000
					0x00000000 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x00000009
					0x0000000b 0x00000181 0x00000000 0x00000060
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000009 0x00000009
					0x00000004 0x00000002 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 =  < 0x00000005
					0x00000010 0x00000003 0x00000001 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000001
					0x00000001 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x00000009
					0x0000000b 0x00000303 0x00000000 0x000000c0
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000012 0x00000012
					0x00000004 0x00000004 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 =  < 0x0000000a
					0x00000020 0x00000007 0x00000003 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000002
					0x00000002 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x00000009
					0x0000000b 0x00000607 0x00000000 0x00000181
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000023 0x00000023
					0x00000004 0x00000007 0x00000000 0x00000004
					0x00000005 0x00000638 0x00000006 0x00000006
					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-333500000 {
				clock-frequency = <333500000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200000>;
				nvidia,emc-mode-reset = <0x80000321>;
				nvidia,emc-zcal-cnt-long = <0x00000040>;

				nvidia,emc-configuration =  < 0x0000000f
					0x00000034 0x0000000b 0x00000003 0x00000003
					0x00000008 0x00000002 0x00000009 0x00000003
					0x00000003 0x00000002 0x00000001 0x00000000
					0x00000004 0x00000006 0x00000004 0x0000000a
					0x0000000c 0x000009e9 0x00000000 0x0000027a
					0x00000001 0x00000008 0x00000001 0x00000000
					0x00000007 0x0000000e 0x00000039 0x00000200
					0x00000004 0x0000000a 0x00000000 0x00000004
					0x00000005 0x00000a2a 0x00000000 0x00000004
					0x00000000 0x00000000 0x00007088 0x002600a4
					0x00008000 0x0003c000 0x0003c000 0x0003c000
					0x0003c000 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 0x0800013d 0x00000000
					0x77fff884 0x01f1f508 0x05057404 0x54000007
					0x080001e8 0x08000021 0x00000802 0x00020000
					0x00000100 0x018b000c 0xa0f10000 0x00000000
					0x00000000 0x800014d4 0xe8000000 0xff00ff89 >;
			};

			timing-667000000 {
				clock-frequency = <667000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200018>;
				nvidia,emc-mode-reset = <0x80000b71>;
				nvidia,emc-zcal-cnt-long = <0x00000040>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x00000020
					0x0000006a 0x00000018 0x00000008 0x00000005
					0x0000000c 0x00000003 0x00000011 0x00000007
					0x00000007 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000a 0x00000009 0x0000000a
					0x00000011 0x00001412 0x00000000 0x00000504
					0x00000002 0x0000000e 0x00000001 0x00000000
					0x0000000c 0x00000016 0x00000072 0x00000200
					0x00000005 0x00000015 0x00000000 0x00000006
					0x00000007 0x00001453 0x0000000b 0x00000006
					0x00000000 0x00000000 0x00005088 0xf00b0191
					0x00008000 0x00000008 0x00000008 0x00000008
					0x00000008 0x0000000a 0x0000000a 0x0000000a
					0x0000000a 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x0000000c 0x0000000c 0x0000000c
					0x0000000c 0x000002a0 0x0800013d 0x22220000
					0x77fff884 0x01f1f501 0x07077404 0x54000000
					0x080001e8 0x08000021 0x00000802 0x00020000
					0x00000100 0x0155000c 0xa0f10000 0x00000000
					0x00000000 0x800028a5 0xe8000000 0xff00ff49 >;
			};
		};

		emc-timings-2 {
			/* Micron 1GB 667MHZ */
			nvidia,ram-code = <2>;

			timing-25500000 {
				clock-frequency = <25500000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100003>;
				nvidia,emc-mode-2 = <0x80200048>;
				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
					0x00000004 0x00000000 0x00000000 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000000
					0x00000000 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x00000009
					0x0000000b 0x000000c0 0x00000000 0x00000030
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000005 0x00000005
					0x00000004 0x00000001 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
					0x00000008 0x00000001 0x00000000 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000000
					0x00000000 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x00000009
					0x0000000b 0x00000181 0x00000000 0x00000060
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000009 0x00000009
					0x00000004 0x00000002 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 = <0x80200048>;
				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
					0x00000010 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 0x00000012 0x00000012
					0x00000004 0x00000004 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 0xd8000000 0xff00ff00 >;
			};

			timing-204000000 {
				clock-frequency = <204000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100003>;
				nvidia,emc-mode-2 = <0x80200048>;
				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
					0x00000020 0x00000007 0x00000002 0x00000002
					0x0000000a 0x00000005 0x0000000b 0x00000002
					0x00000002 0x00000003 0x00000001 0x00000000
					0x00000005 0x00000005 0x00000004 0x0000000a
					0x0000000b 0x00000607 0x00000000 0x00000181
					0x00000002 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000f 0x00000023 0x00000023
					0x00000004 0x00000007 0x00000000 0x00000004
					0x00000005 0x00000638 0x00000006 0x00000006
					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 0xd8000000 0xff00ff00 >;
			};

			timing-333500000 {
				clock-frequency = <333500000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200040>;
				nvidia,emc-mode-reset = <0x80000321>;
				nvidia,emc-zcal-cnt-long = <0x00000040>;

				nvidia,emc-configuration =  < 0x0000000f
					0x00000034 0x0000000a 0x00000003 0x00000003
					0x00000008 0x00000002 0x00000009 0x00000003
					0x00000003 0x00000002 0x00000001 0x00000000
					0x00000004 0x00000006 0x00000004 0x0000000a
					0x0000000c 0x000009e9 0x00000000 0x0000027a
					0x00000001 0x00000008 0x00000001 0x00000000
					0x00000007 0x0000000e 0x00000039 0x00000200
					0x00000004 0x0000000a 0x00000000 0x00000004
					0x00000005 0x00000a2a 0x00000000 0x00000004
					0x00000000 0x00000000 0x00007088 0x002600a4
					0x00008000 0x0003c000 0x0003c000 0x0003c000
					0x0003c000 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 0x0800013d 0x00000000
					0x77fff884 0x01f1f508 0x05057404 0x54000007
					0x080001e8 0x08000021 0x00000802 0x00020000
					0x00000100 0x018b000c 0xa0f10000 0x00000000
					0x00000000 0x800014d4 0xe8000000 0xff00ff89 >;
			};

			timing-667000000 {
				clock-frequency = <667000000>;

				nvidia,emc-auto-cal-interval = <0x001fffff>;
				nvidia,emc-mode-1 = <0x80100002>;
				nvidia,emc-mode-2 = <0x80200058>;
				nvidia,emc-mode-reset = <0x80000b71>;
				nvidia,emc-zcal-cnt-long = <0x00000040>;
				nvidia,emc-cfg-periodic-qrst;

				nvidia,emc-configuration =  < 0x0000001f
					0x00000069 0x00000016 0x00000007 0x00000005
					0x0000000c 0x00000003 0x00000011 0x00000008
					0x00000008 0x00000002 0x00000001 0x00000000
					0x00000007 0x0000000a 0x00000009 0x0000000b
					0x00000011 0x00001412 0x00000000 0x00000504
					0x00000002 0x0000000e 0x00000001 0x00000000
					0x0000000c 0x00000016 0x00000072 0x00000200
					0x00000005 0x00000015 0x00000000 0x00000006
					0x00000007 0x00001453 0x0000000b 0x00000006
					0x00000000 0x00000000 0x00005088 0xf00b0191
					0x00008000 0x0000000a 0x0000000a 0x0000000a
					0x0000000a 0x0000000a 0x0000000a 0x0000000a
					0x0000000a 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x00000000 0x00000000 0x00000000
					0x00000000 0x0000000c 0x0000000c 0x0000000c
					0x0000000c 0x000002a0 0x0800013d 0x22220000
					0x77fff884 0x01f1f501 0x07077404 0x54000000
					0x080001e8 0x08000021 0x00000802 0x00020000
					0x00000100 0x0156000c 0xa0f10000 0x00000000
					0x00000000 0x800028a5 0xf8000000 0xff00ff49 >;
			};
		};
	};

	display-panel {
		compatible = "innolux,g101ice-l01";
	};

	sound {
		compatible = "asus,tegra-audio-wm8903-tf300t",
			     "nvidia,tegra-audio-wm8903";
		nvidia,model = "Asus Transformer Pad TF300T WM8903";

		nvidia,audio-routing =
			"Headphone Jack", "HPOUTR",
			"Headphone Jack", "HPOUTL",
			"Int Spk", "ROP",
			"Int Spk", "RON",
			"Int Spk", "LOP",
			"Int Spk", "LON",
			"IN1L", "Mic Jack",
			"IN2L", "Mic Jack",
			"DMICDAT", "Int Mic";

		nvidia,audio-codec = <&wm8903>;
		nvidia,spkr-en-gpios = <&wm8903 2 GPIO_ACTIVE_HIGH>;
		nvidia,headset;
	};
};

&emc_icc_dvfs_opp_table {
	/delete-node/ opp-750000000-1300;
	/delete-node/ opp-800000000-1300;
	/delete-node/ opp-900000000-1350;
};

&emc_bw_dfs_opp_table {
	/delete-node/ opp-750000000;
	/delete-node/ opp-800000000;
	/delete-node/ opp-900000000;
};