From nobody Thu Oct 2 16:48:56 2025 Received: from mail-lf1-f51.google.com (mail-lf1-f51.google.com [209.85.167.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E57241F4C84 for ; Sun, 14 Sep 2025 13:58:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757858321; cv=none; b=YD5Fw+PExCQjmF4Y3fAPWJR5UneENdIlBIEMuugZZ2vy5GecfGBGs3ccn5IcUOjqTCvYYpHPV+9HwNfQciZM3YIneWWqn09iIOQUFIW4iMjzoUHvppP8c13GL9wApArj2AUsUaLwviyH00Gz3Zlv/bWCyvfBIL9PkyFpHM3AZy0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1757858321; c=relaxed/simple; bh=oKpGnmAVyHkMW7kk6bvKclc2R7Y/nNNBuKnXT61ZzjQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HEwHiXz6qykIq3XoSbVVepPET5u1oJGiSLcJLZHO+sBOnYoqrK7WH+i+7S7j0/qH1uyd12o3NrG0Q11xeb8e4IpXiCx5OZnmbhMyVVaxxUCsO1N7OQEg1lNqZvlG28dCwm4Dv1rsTkBwlX98KtbuV/WudOxkmu+qt2/RZPtt4xU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BV8MgHel; arc=none smtp.client-ip=209.85.167.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BV8MgHel" Received: by mail-lf1-f51.google.com with SMTP id 2adb3069b0e04-55f98e7782bso4053234e87.0 for ; Sun, 14 Sep 2025 06:58:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1757858315; x=1758463115; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=KyjLsBWCQ3kB8ToGsMa7oiB0wx0Xe6D30DwO6sYXk78=; b=BV8MgHeltBAKLoQiEVAS2JVmT+LfRyoyZnYCBrCLvnShAorKCLZ0ucIS9yTwuDh4jo rQTpD6RNdW+0Bty63yxRqt3qa6C004bXETvMzgqIHCWMW/QnS6tAJDcuEy42XOD4U0M6 40VNaWlvK7L2lxvyO0PA3GU04bu6qYw6bgPnUzVarCn8b6uavnJ+Dmgf7iFQP0Ozixe1 sziu+lYY2uCCMHUAvP4Kk9BUKO5sUH21VODXR6gnalKaIupNgfGadquKUlhsfn67+NB1 CCcQFOfZZYcd7Bu2J8tNVLMqavnrVRe9CUjimwAC1kNDignYF9DZKY5ZrzXamX9KQnpv shuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757858315; x=1758463115; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KyjLsBWCQ3kB8ToGsMa7oiB0wx0Xe6D30DwO6sYXk78=; b=xRsgprRaeHmaTkatKniBZqJeMryimZQC/mHDDVb+sIqSjDjpH4L9vGAvFToX4Pi/Kb DO0fhXgznmzTggrPUHNiXGGkNkxbJ2OmrXUY5x4/kN2vcrvzm33BuqxqlfuIzr6Sbmnh GJnAjn9BmRVAY8KeHIyot5+1rTEe/oNC/BuhtOwzmALQpjKTRy1zp6SiuWLl8anXbJRo YzIJ1XbKN+/vogsIrmWlEb6BuFoOQVOZfY2bOTcy6p2VCGUikTTRLHm//TcxL4XYSEU3 2Ueh6UAuFfmuPXwJPhxg1XbiDHxXVKFKXBFTKehahARnKNZhb0VisdiI/Q9Juj3HyM9/ Lgtw== X-Forwarded-Encrypted: i=1; AJvYcCVBFnz0snPt1muu7VK/cFNHHtIUz2z56y6KyfgKMgk6j8SIdtfLn3CbyxEegUuAL7wUPV80+9tcz9PyZ4c=@vger.kernel.org X-Gm-Message-State: AOJu0Yy6z3qzwPOuwSmJVxZKMGkKxqma9PmxJBGtUyTr1aWPlJXTgxhp kiVGYkDLdu2lVYoriHy79BOgRwKtj0xQGfwnKWMBaYIU1dMYjprQd5RBuOAaiQ== X-Gm-Gg: ASbGncuL/h9kjdD3ub29HbnAbTGPID2O4Q+1EU/1gg4in6oWlhzjt6BPnXSj8lk52Ht z61yakKhN3bIGu+Ew+Q0hc5dByzT0G7UMoz+PEI5kaHX/YkwpvSWyi4zpoYaD1xuA/qnrTK+vbk TLLhfV0J7xL7Lk/ZJHoDIl7UGQx3fRPieK6InbPSeAVrKYBSlP6csqSjLXib9FaD5Dc3oDe8sId w9bBTYzUT8gCNE9zw9nxPEwTk/JGoUP5ykdEZh2fogl7PGefOja+U05LYTLMZeI195SORvU5gj8 ZxJ0q4ZHl3uXUIVvq94sgh/5+7HQHOTfmaff452qAdxVvz+z03ZONxpzlCAiLwP/M2832VU9MBD OMJ+DH1sKauHjQ90i3YkjOy91 X-Google-Smtp-Source: AGHT+IFXHWQPpp56GDiF3hjbBXcGblEzM+0vAvPC0jxBecWp2mzUmCyrKqZJiV9k4qXoXDAaDtjc1g== X-Received: by 2002:ac2:51d0:0:b0:55f:3ae4:fe55 with SMTP id 2adb3069b0e04-5705be234camr3097308e87.4.1757858314297; Sun, 14 Sep 2025 06:58:34 -0700 (PDT) Received: from xeon.. ([188.163.112.70]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5701c93cc05sm2320551e87.114.2025.09.14.06.58.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 14 Sep 2025 06:58:33 -0700 (PDT) From: Svyatoslav Ryhel To: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Thierry Reding , Thierry Reding , Jonathan Hunter , Svyatoslav Ryhel , Ion Agorria Cc: devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/1] ARM: tegra: add device-tree for Xiaomi Mi Pad (A0101) Date: Sun, 14 Sep 2025 16:57:53 +0300 Message-ID: <20250914135753.94277-2-clamor95@gmail.com> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250914135753.94277-1-clamor95@gmail.com> References: <20250914135753.94277-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The Mi Pad is a tablet computer based on Nvidia Tegra K1 SoC which originally ran the Android operating system. The Mi Pad has a 7.9" IPS display with 1536 x 2048 (324 ppi) resolution. 2 GB of RAM and 16/64 GB of internal memory that can be supplemented with a microSDXC card giving up to 128 GB of additional storage. Signed-off-by: Svyatoslav Ryhel --- arch/arm/boot/dts/nvidia/Makefile | 3 +- .../boot/dts/nvidia/tegra124-xiaomi-mocha.dts | 2790 +++++++++++++++++ 2 files changed, 2792 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/nvidia/tegra124-xiaomi-mocha.dts diff --git a/arch/arm/boot/dts/nvidia/Makefile b/arch/arm/boot/dts/nvidia/M= akefile index 2ed2d923c8f9..faf591485ada 100644 --- a/arch/arm/boot/dts/nvidia/Makefile +++ b/arch/arm/boot/dts/nvidia/Makefile @@ -11,7 +11,8 @@ dtb-$(CONFIG_ARCH_TEGRA_124_SOC) +=3D \ tegra124-nyan-big.dtb \ tegra124-nyan-big-fhd.dtb \ tegra124-nyan-blaze.dtb \ - tegra124-venice2.dtb + tegra124-venice2.dtb \ + tegra124-xiaomi-mocha.dtb dtb-$(CONFIG_ARCH_TEGRA_2x_SOC) +=3D \ tegra20-acer-a500-picasso.dtb \ tegra20-asus-sl101.dtb \ diff --git a/arch/arm/boot/dts/nvidia/tegra124-xiaomi-mocha.dts b/arch/arm/= boot/dts/nvidia/tegra124-xiaomi-mocha.dts new file mode 100644 index 000000000000..18c9cdf45eca --- /dev/null +++ b/arch/arm/boot/dts/nvidia/tegra124-xiaomi-mocha.dts @@ -0,0 +1,2790 @@ +// SPDX-License-Identifier: GPL-2.0 +/dts-v1/; + +#include +#include +#include +#include +#include + +#include "tegra124.dtsi" + +/ { + model =3D "Xiaomi Mi Pad A0101"; + compatible =3D "xiaomi,mocha", "nvidia,tegra124"; + chassis-type =3D "tablet"; + + aliases { + mmc0 =3D &sdmmc4; /* eMMC */ + mmc1 =3D &sdmmc3; /* uSD slot */ + mmc2 =3D &sdmmc1; /* WiFi */ + + rtc0 =3D &palmas; + rtc1 =3D "/rtc@7000e000"; + + serial0 =3D &uartd; /* Console */ + serial1 =3D &uartc; /* Bluetooth */ + }; + + chosen { + stdout-path =3D "serial0:115200n8"; + }; + + memory@80000000 { + reg =3D <0 0x80000000 0 0x80000000>; + }; + + host1x@50000000 { + dsia: dsi@54300000 { + status =3D "okay"; + + avdd-dsi-csi-supply =3D <&avdd_dsi_csi>; + nvidia,ganged-mode =3D <&dsib>; + + panel@0 { + compatible =3D "sharp,lq079l1sx01"; + reg =3D <0>; + + reset-gpios =3D <&gpio TEGRA_GPIO(H, 3) GPIO_ACTIVE_LOW>; + + avdd-supply =3D <&avdd_lcd>; + vddio-supply =3D <&vdd_lcd_io>; + + vsp-supply =3D <&vsp_5v5_lcd>; + vsn-supply =3D <&vsn_5v5_lcd>; + + backlight =3D <&lp8556>; + + ports { + #address-cells =3D <1>; + #size-cells =3D <0>; + + port@0 { + reg =3D <0>; + + panel_link0: endpoint { + remote-endpoint =3D <&dsia_out>; + }; + }; + + port@1 { + reg =3D <1>; + + panel_link1: endpoint { + remote-endpoint =3D <&dsib_out>; + }; + }; + }; + }; + + port { + dsia_out: endpoint { + remote-endpoint =3D <&panel_link0>; + }; + }; + }; + + dsib: dsi@54400000 { + status =3D "okay"; + + avdd-dsi-csi-supply =3D <&avdd_dsi_csi>; + + port { + dsib_out: endpoint { + remote-endpoint =3D <&panel_link1>; + }; + }; + }; + }; + + gpu@57000000 { + vdd-supply =3D <&vdd_gpu>; + }; + + clock@60006000 { + emc-timings-0 { + nvidia,ram-code =3D <0>; + + timing-12750000 { + clock-frequency =3D <12750000>; + nvidia,parent-clock-frequency =3D <408000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_P>; + clock-names =3D "emc-parent"; + }; + + timing-20400000 { + clock-frequency =3D <20400000>; + nvidia,parent-clock-frequency =3D <408000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_P>; + clock-names =3D "emc-parent"; + }; + + timing-40800000 { + clock-frequency =3D <40800000>; + nvidia,parent-clock-frequency =3D <408000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_P>; + clock-names =3D "emc-parent"; + }; + + timing-68000000 { + clock-frequency =3D <68000000>; + nvidia,parent-clock-frequency =3D <408000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_P>; + clock-names =3D "emc-parent"; + }; + + timing-102000000 { + clock-frequency =3D <102000000>; + nvidia,parent-clock-frequency =3D <408000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_P>; + clock-names =3D "emc-parent"; + }; + + timing-204000000 { + clock-frequency =3D <204000000>; + nvidia,parent-clock-frequency =3D <408000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_P>; + clock-names =3D "emc-parent"; + }; + + timing-300000000 { + clock-frequency =3D <300000000>; + nvidia,parent-clock-frequency =3D <600000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_C>; + clock-names =3D "emc-parent"; + }; + + timing-396000000 { + clock-frequency =3D <396000000>; + nvidia,parent-clock-frequency =3D <792000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_M>; + clock-names =3D "emc-parent"; + }; + + timing-528000000 { + clock-frequency =3D <528000000>; + nvidia,parent-clock-frequency =3D <528000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_M_UD>; + clock-names =3D "emc-parent"; + }; + + timing-600000000 { + clock-frequency =3D <600000000>; + nvidia,parent-clock-frequency =3D <600000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_C_UD>; + clock-names =3D "emc-parent"; + }; + + timing-792000000 { + clock-frequency =3D <792000000>; + nvidia,parent-clock-frequency =3D <792000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_M_UD>; + clock-names =3D "emc-parent"; + }; + + timing-924000000 { + clock-frequency =3D <924000000>; + nvidia,parent-clock-frequency =3D <924000000>; + clocks =3D <&tegra_car TEGRA124_CLK_PLL_M_UD>; + clock-names =3D "emc-parent"; + }; + }; + }; + + pinmux@70000868 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&state_default>; + + state_default: pinmux { + /* Keys pinmux */ + keys { + nvidia,pins =3D "kb_col0_pq0", + "kb_col6_pq6", + "kb_col7_pq7"; + nvidia,function =3D "rsvd2"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + hall-front { + nvidia,pins =3D "pi5"; + nvidia,function =3D "gmi"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + hall-back { + nvidia,pins =3D "gpio_w3_aud_pw3"; + nvidia,function =3D "spi1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + /* Leds pinmux */ + bl-en { + nvidia,pins =3D "pbb4"; + nvidia,function =3D "vgp4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + keys-led { + nvidia,pins =3D "ph1"; + nvidia,function =3D "pwm1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + rgb-led-en { + nvidia,pins =3D "pg7"; + nvidia,function =3D "rsvd1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + /* Panel pinmux */ + lcd-rst { + nvidia,pins =3D "ph3"; + nvidia,function =3D "gmi"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + lcd-vsp-en { + nvidia,pins =3D "pi4"; + nvidia,function =3D "gmi"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + lcd-vsn-en { + nvidia,pins =3D "kb_row10_ps2"; + nvidia,function =3D "kbc"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + lcd-id { + nvidia,pins =3D "kb_row6_pr6"; + nvidia,function =3D "displaya_alt"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + lcd-pwm { + nvidia,pins =3D "ph2"; + nvidia,function =3D "pwm2"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + /* SDMMC1 pinmux */ + sdmmc1-clk { + nvidia,pins =3D "sdmmc1_clk_pz0"; + nvidia,function =3D "sdmmc1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + sdmmc1-cmd { + nvidia,pins =3D "sdmmc1_cmd_pz1", + "sdmmc1_dat0_py7", + "sdmmc1_dat1_py6", + "sdmmc1_dat2_py5", + "sdmmc1_dat3_py4"; + nvidia,function =3D "sdmmc1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + /* SDMMC3 pinmux */ + sdmmc3-clk { + nvidia,pins =3D "sdmmc3_clk_pa6"; + nvidia,function =3D "sdmmc3"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + sdmmc3-cmd { + nvidia,pins =3D "sdmmc3_cmd_pa7", + "sdmmc3_dat0_pb7", + "sdmmc3_dat1_pb6", + "sdmmc3_dat2_pb5", + "sdmmc3_dat3_pb4", + "sdmmc3_clk_lb_out_pee4", + "sdmmc3_clk_lb_in_pee5"; + nvidia,function =3D "sdmmc3"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + sdmmc3-cd { + nvidia,pins =3D "sdmmc3_cd_n_pv2"; + nvidia,function =3D "sdmmc3"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + usd-pwr { + nvidia,pins =3D "kb_row0_pr0"; + nvidia,function =3D "rsvd4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + /* SDMMC4 pinmux */ + sdmmc4-clk { + nvidia,pins =3D "sdmmc4_clk_pcc4"; + nvidia,function =3D "sdmmc4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + sdmmc4-cmd { + nvidia,pins =3D "sdmmc4_cmd_pt7", + "sdmmc4_dat0_paa0", + "sdmmc4_dat1_paa1", + "sdmmc4_dat2_paa2", + "sdmmc4_dat3_paa3", + "sdmmc4_dat4_paa4", + "sdmmc4_dat5_paa5", + "sdmmc4_dat6_paa6", + "sdmmc4_dat7_paa7"; + nvidia,function =3D "sdmmc4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + /* UART-B pinmux */ + uartb-cts { + nvidia,pins =3D "uart2_cts_n_pj5"; + nvidia,function =3D "uartb"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + uartb-rts { + nvidia,pins =3D "uart2_rts_n_pj6"; + nvidia,function =3D "uartb"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + uartb-rxd { + nvidia,pins =3D "uart2_rxd_pc3"; + nvidia,function =3D "irda"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + uartb-txd { + nvidia,pins =3D "uart2_txd_pc2"; + nvidia,function =3D "irda"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + /* UART-C pinmux */ + uartc-cts-rxd { + nvidia,pins =3D "uart3_cts_n_pa1", + "uart3_rxd_pw7"; + nvidia,function =3D "uartc"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + uartc-rts-txd { + nvidia,pins =3D "uart3_rts_n_pc0", + "uart3_txd_pw6"; + nvidia,function =3D "uartc"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + /* UART-D pinmux */ + uartd-txd { + nvidia,pins =3D "pj7"; + nvidia,function =3D "uartd"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + uartd-rxd { + nvidia,pins =3D "pb0"; + nvidia,function =3D "uartd"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + /* I2C pinmux */ + gen1-i2c { + nvidia,pins =3D "gen1_i2c_sda_pc5", + "gen1_i2c_scl_pc4"; + nvidia,function =3D "i2c1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + nvidia,lock =3D ; + nvidia,open-drain =3D ; + }; + + gen2-i2c { + nvidia,pins =3D "gen2_i2c_scl_pt5", + "gen2_i2c_sda_pt6"; + nvidia,function =3D "i2c2"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + nvidia,lock =3D ; + nvidia,open-drain =3D ; + }; + + cam-i2c { + nvidia,pins =3D "cam_i2c_scl_pbb1", + "cam_i2c_sda_pbb2"; + nvidia,function =3D "i2c3"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + nvidia,lock =3D ; + nvidia,open-drain =3D ; + }; + + ddc-i2c { + nvidia,pins =3D "ddc_scl_pv4", + "ddc_sda_pv5"; + nvidia,function =3D "i2c4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + pwr-i2c { + nvidia,pins =3D "pwr_i2c_scl_pz6", + "pwr_i2c_sda_pz7"; + nvidia,function =3D "i2cpwr"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + nvidia,open-drain =3D ; + }; + + ts-irq { + nvidia,pins =3D "kb_row7_pr7"; + nvidia,function =3D "rsvd2"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + ts-rst { + nvidia,pins =3D "pk4"; + nvidia,function =3D "gmi"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + ts-en { + nvidia,pins =3D "pk1"; + nvidia,function =3D "gmi"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + hapt-en { + nvidia,pins =3D "pg6"; + nvidia,function =3D "rsvd1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + charger-irq { + nvidia,pins =3D "pj0"; + nvidia,function =3D "rsvd1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + bat-irq { + nvidia,pins =3D "kb_col5_pq5"; + nvidia,function =3D "rsvd4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + compass-rst { + nvidia,pins =3D "kb_col4_pq4"; + nvidia,function =3D "kbc"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + als-irq { + nvidia,pins =3D "gpio_x3_aud_px3"; + nvidia,function =3D "rsvd4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + therm-irq { + nvidia,pins =3D "pi6"; + nvidia,function =3D "rsvd1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + wlan-reg-on { + nvidia,pins =3D "gpio_x7_aud_px7"; + nvidia,function =3D "rsvd1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + wlan-host-wake { + nvidia,pins =3D "pu5"; + nvidia,function =3D "pwm2"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + bt-reg-on { + nvidia,pins =3D "kb_row1_pr1"; + nvidia,function =3D "rsvd4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + bt-host-wake { + nvidia,pins =3D "pu6"; + nvidia,function =3D "rsvd3"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + bt-dev-wake { + nvidia,pins =3D "clk3_req_pee1"; + nvidia,function =3D "rsvd4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + imu-irq { + nvidia,pins =3D "kb_row3_pr3"; + nvidia,function =3D "kbc"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + imu-sync { + nvidia,pins =3D "kb_row8_ps0"; + nvidia,function =3D "rsvd2"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cdc-mclk1 { + nvidia,pins =3D "dap_mclk1_pw4"; + nvidia,function =3D "rsvd3"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cdc-din { + nvidia,pins =3D "dap1_din_pn1", + "dap1_fs_pn0", + "dap1_sclk_pn3"; + nvidia,function =3D "i2s0"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cdc-dout { + nvidia,pins =3D "dap1_dout_pn2"; + nvidia,function =3D "i2s0"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + spkr-rl-rst { + nvidia,pins =3D "dap2_din_pa4"; + nvidia,function =3D "i2s1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + spkr-rl-irq { + nvidia,pins =3D "dap2_fs_pa2", + "dap2_sclk_pa3"; + nvidia,function =3D "i2s1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + dvfs-pwm { + nvidia,pins =3D "dvfs_pwm_px0"; + nvidia,function =3D "cldvfs"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + dvfs-clk { + nvidia,pins =3D "dvfs_clk_px2"; + nvidia,function =3D "cldvfs"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cam-mclk { + nvidia,pins =3D "cam_mclk_pcc0"; + nvidia,function =3D "vi_alt3"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cam-mclk2 { + nvidia,pins =3D "pbb0"; + nvidia,function =3D "vimclk2_alt"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + vbrtr-pwm { + nvidia,pins =3D "ph0"; + nvidia,function =3D "pwm0"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + soc-pins { + nvidia,pins =3D "pj2", "kb_row15_ps7", + "clk_32k_out_pa0"; + nvidia,function =3D "soc"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + clk-32k-in { + nvidia,pins =3D "clk_32k_in"; + nvidia,function =3D "clk"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + core-pwr-req { + nvidia,pins =3D "core_pwr_req"; + nvidia,function =3D "pwron"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cpu-pwr-req { + nvidia,pins =3D "cpu_pwr_req"; + nvidia,function =3D "cpu"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + pwr-int-n { + nvidia,pins =3D "pwr_int_n"; + nvidia,function =3D "pmi"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + reset-out-n { + nvidia,pins =3D "reset_out_n"; + nvidia,function =3D "reset_out_n"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + lcd-id-det0 { + nvidia,pins =3D "pi7"; + nvidia,function =3D "rsvd1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cdc-rst { + nvidia,pins =3D "gpio_x5_aud_px5"; + nvidia,function =3D "spi1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cdc-det-irq { + nvidia,pins =3D "gpio_w2_aud_pw2"; + nvidia,function =3D "rsvd2"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + hph-pa-sd { + nvidia,pins =3D "gpio_x1_aud_px1"; + nvidia,function =3D "spi6"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + hph-en { + nvidia,pins =3D "kb_row2_pr2"; + nvidia,function =3D "rsvd4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cam-rear-rst-n { + nvidia,pins =3D "pbb3"; + nvidia,function =3D "vgp3"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cam-af-pwdn { + nvidia,pins =3D "pbb7"; + nvidia,function =3D "i2s4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cam-front-pwdn { + nvidia,pins =3D "pbb6"; + nvidia,function =3D "i2s4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + cam-front-rst-n { + nvidia,pins =3D "pcc1"; + nvidia,function =3D "i2s4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + gps-en { + nvidia,pins =3D "ph5"; + nvidia,function =3D "gmi"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + boot-select { + nvidia,pins =3D "pg0", "pg1", "pg2", "pg3"; + nvidia,function =3D "rsvd4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + ram-select { + nvidia,pins =3D "pg4", "pg5"; + nvidia,function =3D "rsvd1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + line-in-det { + nvidia,pins =3D "pk2"; + nvidia,function =3D "rsvd4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + gpadc-sync { + nvidia,pins =3D "pi0"; + nvidia,function =3D "rsvd4"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + gpu-pwr-req { + nvidia,pins =3D "kb_row5_pr5"; + nvidia,function =3D "rsvd3"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + ear-uart-sw { + nvidia,pins =3D "pu4"; + nvidia,function =3D "pwm1"; + nvidia,pull =3D ; + nvidia,tristate =3D ; + nvidia,enable-input =3D ; + }; + + dsi-b { + nvidia,pins =3D "mipi_pad_ctrl_dsi_b"; + nvidia,function =3D "dsi_b"; + }; + + /* GPIO power/drive control */ + drive-sdio1 { + nvidia,pins =3D "drive_sdio1"; + nvidia,high-speed-mode =3D ; + nvidia,schmitt =3D ; + nvidia,pull-down-strength =3D <32>; + nvidia,pull-up-strength =3D <42>; + nvidia,slew-rate-rising =3D ; + nvidia,slew-rate-falling =3D ; + }; + + drive-sdio3 { + nvidia,pins =3D "drive_sdio3"; + nvidia,high-speed-mode =3D ; + nvidia,schmitt =3D ; + nvidia,pull-down-strength =3D <20>; + nvidia,pull-up-strength =3D <36>; + nvidia,slew-rate-rising =3D ; + nvidia,slew-rate-falling =3D ; + }; + + drive-gma { + nvidia,pins =3D "drive_gma"; + nvidia,high-speed-mode =3D ; + nvidia,schmitt =3D ; + nvidia,low-power-mode =3D ; + nvidia,pull-down-strength =3D <1>; + nvidia,pull-up-strength =3D <2>; + nvidia,slew-rate-rising =3D ; + nvidia,slew-rate-falling =3D ; + }; + }; + }; + + uartc: serial@70006200 { + compatible =3D "nvidia,tegra124-hsuart", "nvidia,tegra30-hsuart"; + reset-names =3D "serial"; + /delete-property/ reg-shift; + status =3D "okay"; + + nvidia,adjust-baud-rates =3D <0 9600 100>, + <9600 115200 200>, + <1000000 4000000 136>; + + bluetooth { + compatible =3D "brcm,bcm43540-bt"; + max-speed =3D <4000000>; + + clocks =3D <&clk32k_pmic>; + clock-names =3D "lpo"; + + interrupt-parent =3D <&gpio>; + interrupts =3D ; + interrupt-names =3D "host-wakeup"; + + device-wakeup-gpios =3D <&gpio TEGRA_GPIO(EE, 1) GPIO_ACTIVE_HIGH>; + shutdown-gpios =3D <&gpio TEGRA_GPIO(R, 1) GPIO_ACTIVE_HIGH>; + + vbat-supply =3D <&vdd_3v3_sys>; + vddio-supply =3D <&vdd_1v8_vio>; + }; + }; + + uartd: serial@70006300 { + /delete-property/ dmas; + /delete-property/ dma-names; + status =3D "okay"; + + /* Console */ + }; + + pwm@7000a000 { + status =3D "okay"; + }; + + gen1_i2c: i2c@7000c000 { + status =3D "okay"; + clock-frequency =3D <400000>; + + lp8556: backlight@2c { + compatible =3D "ti,lp8556"; + reg =3D <0x2c>; + + dev-ctrl =3D /bits/ 8 <0x83>; + init-brt =3D /bits/ 8 <0x1f>; + + power-supply =3D <&vdd_3v3_sys>; + enable-supply =3D <&vddio_1v8_bl>; + + rom-98h { + rom-addr =3D /bits/ 8 <0x98>; + rom-val =3D /bits/ 8 <0x80>; + }; + + rom-9eh { + rom-addr =3D /bits/ 8 <0x9e>; + rom-val =3D /bits/ 8 <0x21>; + }; + + rom-a0h { + rom-addr =3D /bits/ 8 <0xa0>; + rom-val =3D /bits/ 8 <0xff>; + }; + + rom-a1h { + rom-addr =3D /bits/ 8 <0xa1>; + rom-val =3D /bits/ 8 <0x3f>; + }; + + rom-a2h { + rom-addr =3D /bits/ 8 <0xa2>; + rom-val =3D /bits/ 8 <0x20>; + }; + + rom-a3h { + rom-addr =3D /bits/ 8 <0xa3>; + rom-val =3D /bits/ 8 <0x00>; + }; + + rom-a4h { + rom-addr =3D /bits/ 8 <0xa4>; + rom-val =3D /bits/ 8 <0x72>; + }; + + rom-a5h { + rom-addr =3D /bits/ 8 <0xa5>; + rom-val =3D /bits/ 8 <0x24>; + }; + + rom-a6h { + rom-addr =3D /bits/ 8 <0xa6>; + rom-val =3D /bits/ 8 <0x80>; + }; + + rom-a7h { + rom-addr =3D /bits/ 8 <0xa7>; + rom-val =3D /bits/ 8 <0xf5>; + }; + + rom-a8h { + rom-addr =3D /bits/ 8 <0xa8>; + rom-val =3D /bits/ 8 <0x24>; + }; + + rom-a9h { + rom-addr =3D /bits/ 8 <0xa9>; + rom-val =3D /bits/ 8 <0xb2>; + }; + + rom-aah { + rom-addr =3D /bits/ 8 <0xaa>; + rom-val =3D /bits/ 8 <0x8f>; + }; + + rom-aeh { + rom-addr =3D /bits/ 8 <0xae>; + rom-val =3D /bits/ 8 <0x0f>; + }; + }; + + led-controller@32 { + compatible =3D "national,lp5521"; + reg =3D <0x32>; + + enable-gpios =3D <&gpio TEGRA_GPIO(G, 7) GPIO_ACTIVE_HIGH>; + clock-mode =3D /bits/ 8 <2>; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + led@0 { + reg =3D <0>; + + led-cur =3D /bits/ 8 <0x14>; + max-cur =3D /bits/ 8 <0xff>; + + color =3D ; + function =3D LED_FUNCTION_STATUS; + }; + + led@1 { + reg =3D <1>; + + led-cur =3D /bits/ 8 <0x14>; + max-cur =3D /bits/ 8 <0xff>; + + color =3D ; + function =3D LED_FUNCTION_STATUS; + }; + + led@2 { + reg =3D <2>; + + led-cur =3D /bits/ 8 <0x14>; + max-cur =3D /bits/ 8 <0xff>; + + color =3D ; + function =3D LED_FUNCTION_STATUS; + }; + }; + + audio-codec@34 { + compatible =3D "nxp,tfa9890"; + reg =3D <0x34>; + + sound-name-prefix =3D "Speaker Right"; + vddd-supply =3D <&vdd_1v8_vio>; + + #sound-dai-cells =3D <0>; + }; + + audio-codec@37 { + compatible =3D "nxp,tfa9890"; + reg =3D <0x37>; + + sound-name-prefix =3D "Speaker Left"; + vddd-supply =3D <&vdd_1v8_vio>; + + #sound-dai-cells =3D <0>; + }; + + light-sensor@44 { + compatible =3D "isil,isl29035"; + reg =3D <0x44>; + + interrupt-parent =3D <&gpio>; + interrupts =3D ; + + vcc-supply =3D <&vdd_3v3_sys>; + }; + + temp_sensor: temperature-sensor@4c { + compatible =3D "ti,tmp451"; + reg =3D <0x4c>; + + interrupt-parent =3D <&gpio>; + interrupts =3D ; + + vcc-supply =3D <&vdd_1v8_vio>; + #thermal-sensor-cells =3D <1>; + }; + + haptic-engine@5a { + compatible =3D "ti,drv2604"; + reg =3D <0x5a>; + + enable-gpios =3D <&gpio TEGRA_GPIO(G, 6) GPIO_ACTIVE_HIGH>; + + mode =3D ; + library-sel =3D ; + + vib-rated-mv =3D <3200>; + vib-overdrive-mv =3D <3400>; + + vbat-supply =3D <&vdd_3v3_sys>; + }; + }; + + gen2_i2c: i2c@7000c400 { + status =3D "okay"; + clock-frequency =3D <400000>; + + power-sensor@40 { + compatible =3D "ti,ina230"; + reg =3D <0x40>; + + vs-supply =3D <&vdd_hv_sdmmc>; + #io-channel-cells =3D <1>; + }; + + fuel-gauge@55 { + compatible =3D "ti,bq27520g4"; + reg =3D <0x55>; + + interrupt-parent =3D <&gpio>; + interrupts =3D ; + + monitored-battery =3D <&battery>; + power-supplies =3D <&bq24192>; + }; + + bq24192: charger@6b { + compatible =3D "ti,bq24192"; + reg =3D <0x6b>; + + interrupt-parent =3D <&gpio>; + interrupts =3D ; + + ce-gpios =3D <&palmas_gpio 7 GPIO_ACTIVE_LOW>; + + monitored-battery =3D <&battery>; + + omit-battery-class; + ti,system-minimum-microvolt =3D <3500000>; + + usb_otg_vbus: usb-otg-vbus { + regulator-name =3D "usb_otg_vbus"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + }; + }; + }; + + i2c@7000c700 { + status =3D "okay"; + clock-frequency =3D <400000>; + + /* Atmel mxT1664T/mxT1066T touchscreen */ + touchscreen@4a { + compatible =3D "atmel,maxtouch"; + reg =3D <0x4a>; + + interrupt-parent =3D <&gpio>; + interrupts =3D ; + + reset-gpios =3D <&gpio TEGRA_GPIO(K, 4) GPIO_ACTIVE_LOW>; + + linux,keycodes =3D ; + + vdda-supply =3D <&avdd_3v3_ts>; + vdd-supply =3D <&vdd_2v8_tp>; + }; + }; + + i2c@7000d000 { + status =3D "okay"; + clock-frequency =3D <400000>; + + /* Texas Instruments TPS65913 PMIC */ + palmas: pmic@58 { + compatible =3D "ti,tps65913", "ti,palmas"; + reg =3D <0x58>; + interrupts =3D ; + + #interrupt-cells =3D <2>; + interrupt-controller; + + ti,system-power-controller; + + adc { + compatible =3D "ti,palmas-gpadc"; + interrupts =3D <18 IRQ_TYPE_NONE>, + <16 IRQ_TYPE_NONE>, + <17 IRQ_TYPE_NONE>; + + ti,channel0-current-microamp =3D <20>; + #io-channel-cells =3D <1>; + }; + + palmas_extcon: extcon { + compatible =3D "ti,palmas-usb-vid"; + + ti,enable-vbus-detection; + ti,enable-id-detection; + + ti,wakeup; + }; + + palmas_gpio: gpio { + compatible =3D "ti,palmas-gpio"; + gpio-controller; + #gpio-cells =3D <2>; + }; + + clk32k_pmic: palmas-clk32k@0 { + compatible =3D "ti,palmas-clk32kg"; + #clock-cells =3D <0>; + }; + + pinmux { + compatible =3D "ti,tps65913-pinctrl"; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&palmas_default>; + + palmas_default: pinmux { + pin_gpio0 { + pins =3D "gpio0"; + function =3D "id"; + bias-pull-up; + }; + + pin_gpio1 { + pins =3D "gpio1"; + function =3D "gpio"; + }; + + pin_gpio2 { + pins =3D "gpio2"; + function =3D "gpio"; + }; + + /* GPIO3 is not used */ + + pin_gpio4 { + pins =3D "gpio4"; + function =3D "gpio"; + }; + + pin_gpio5 { + pins =3D "gpio5"; + function =3D "clk32kgaudio"; + }; + + /* GPIO6 is not used */ + + pin_gpio7 { + pins =3D "gpio7"; + function =3D "gpio"; + }; + + pin_powergood { + pins =3D "powergood"; + function =3D "powergood"; + }; + + pin_vac { + pins =3D "vac"; + function =3D "vac"; + }; + }; + }; + + pmic { + compatible =3D "ti,tps65913-pmic", "ti,palmas-pmic"; + + ldo1-in-supply =3D <&vdd_1v8_vio>; + ldo2-in-supply =3D <&vdd_3v3_sys>; + ldo3-in-supply =3D <&vdd_smps10_out2>; + ldo4-in-supply =3D <&vdd_3v3_sys>; + ldo5-in-supply =3D <&vdd_1v8_vio>; + ldo6-in-supply =3D <&vdd_3v3_sys>; + ldo7-in-supply =3D <&vdd_3v3_sys>; + ldo8-in-supply =3D <&vdd_3v3_sys>; + ldo9-in-supply =3D <&vdd_hv_sdmmc>; + ldousb-in-supply =3D <&vdd_smps10_out2>; + ldoln-in-supply =3D <&vdd_smps10_out2>; + + regulators { + vdd_cpu: smps123 { + regulator-name =3D "vdd_cpu"; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1400000>; + regulator-always-on; + regulator-boot-on; + ti,roof-floor =3D <1>; + ti,mode-sleep =3D <3>; + }; + + vdd_gpu: smps45 { + regulator-name =3D "vdd_gpu"; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1400000>; + }; + + vddio_ddr: smps6 { + regulator-name =3D "vddio_ddr"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_core: smps7 { + regulator-name =3D "vdd_core"; + regulator-min-microvolt =3D <700000>; + regulator-max-microvolt =3D <1400000>; + regulator-always-on; + regulator-boot-on; + ti,roof-floor =3D <3>; + }; + + vdd_1v8_vio: smps8 { + regulator-name =3D "vdd_1v8_gen"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_hv_sdmmc: smps9 { + regulator-name =3D "vdd_hv_sdmmc"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-always-on; + regulator-boot-on; + }; + + smps10_out1 { + regulator-name =3D "vd_smps10_out1"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + regulator-always-on; + regulator-boot-on; + }; + + vdd_smps10_out2: smps10_out2 { + regulator-name =3D "vd_smps10_out2"; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + regulator-always-on; + regulator-boot-on; + }; + + avdd_pll: ldo1 { + regulator-name =3D "avdd_pll"; + regulator-min-microvolt =3D <1050000>; + regulator-max-microvolt =3D <1050000>; + regulator-always-on; + regulator-boot-on; + ti,roof-floor =3D <3>; + }; + + avdd_lcd: ldo2 { + regulator-name =3D "avdd_lcd"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-boot-on; + }; + + avdd_3v3_ts: ldo3 { + regulator-name =3D "avdd_3v3_ts"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-boot-on; + }; + + avdd_2v7_cam: ldo4 { + regulator-name =3D "avdd_2v7_cam"; + regulator-min-microvolt =3D <2700000>; + regulator-max-microvolt =3D <2700000>; + }; + + avdd_dsi_csi: ldo5 { + regulator-name =3D "avdd_dsi_csi"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-boot-on; + }; + + ldo6 { + regulator-name =3D "vdd_1v8_fuse"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + }; + + avdd_2v7_vcm: ldo7 { + regulator-name =3D "avdd_2v7_vcm"; + regulator-min-microvolt =3D <2700000>; + regulator-max-microvolt =3D <2700000>; + }; + + ldo8 { + regulator-name =3D "vdd_rtc"; + regulator-min-microvolt =3D <950000>; + regulator-max-microvolt =3D <950000>; + regulator-always-on; + regulator-boot-on; + ti,enable-ldo8-tracking; + }; + + vddio_usd: ldo9 { + regulator-name =3D "vddio_sdmmc"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3300000>; + }; + + avdd_usb: ldousb { + regulator-name =3D "vdd_usb"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-always-on; + regulator-boot-on; + }; + + ldoln { + regulator-name =3D "vddio_hv"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-always-on; + regulator-boot-on; + }; + }; + }; + + rtc { + compatible =3D "ti,palmas-rtc"; + interrupt-parent =3D <&palmas>; + interrupts =3D <8 IRQ_TYPE_NONE>; + }; + }; + }; + + pmc@7000e400 { + nvidia,suspend-mode =3D <1>; + nvidia,cpu-pwr-good-time =3D <500>; + nvidia,cpu-pwr-off-time =3D <300>; + nvidia,core-pwr-good-time =3D <3845 3845>; + nvidia,core-pwr-off-time =3D <2000>; + nvidia,core-power-req-active-high; + nvidia,sys-clock-req-active-high; + core-supply =3D <&vdd_core>; + + /* Clear DEV_ON bit in DEV_CTRL register of TPS65913 PMIC */ + i2c-thermtrip { + nvidia,i2c-controller-id =3D <4>; + nvidia,bus-addr =3D <0x58>; + nvidia,reg-addr =3D <0xa0>; + nvidia,reg-data =3D <0x00>; + }; + }; + + memory-controller@70019000 { + emc-timings-0 { + /* Hynix H9CKNNNBKTMTDR DDR3 924MHz */ + nvidia,ram-code =3D <0>; + + timing-12750000 { + clock-frequency =3D <12750000>; + + nvidia,emem-configuration =3D < 0x40040001 0x8000000a + 0x00000001 0x00000002 0x00000004 0x00000000 + 0x00000003 0x00000001 0x00000002 0x00000007 + 0x00000002 0x00000001 0x00000004 0x00000005 + 0x05040102 0x000b0604 0x77230305 0x70000f03 + 0x001f0000 >; + }; + + timing-20400000 { + clock-frequency =3D <20400000>; + + nvidia,emem-configuration =3D < 0x40020001 0x80000012 + 0x00000001 0x00000002 0x00000004 0x00000000 + 0x00000003 0x00000001 0x00000002 0x00000007 + 0x00000002 0x00000001 0x00000004 0x00000005 + 0x05040102 0x000b0604 0x75a30305 0x70000f03 + 0x001f0000 >; + }; + + timing-40800000 { + clock-frequency =3D <40800000>; + + nvidia,emem-configuration =3D < 0xa0000001 0x80000017 + 0x00000001 0x00000002 0x00000004 0x00000000 + 0x00000003 0x00000001 0x00000002 0x00000007 + 0x00000002 0x00000001 0x00000004 0x00000005 + 0x05040102 0x000b0604 0x74030305 0x70000f03 + 0x001f0000 >; + }; + + timing-68000000 { + clock-frequency =3D <68000000>; + + nvidia,emem-configuration =3D < 0x00000001 0x8000001e + 0x00000001 0x00000002 0x00000003 0x00000000 + 0x00000003 0x00000001 0x00000002 0x00000007 + 0x00000002 0x00000001 0x00000004 0x00000005 + 0x05040102 0x000a0503 0x73830404 0x70000f03 + 0x001f0000 >; + }; + + timing-102000000 { + clock-frequency =3D <102000000>; + + nvidia,emem-configuration =3D < 0x08000001 0x80000026 + 0x00000001 0x00000002 0x00000004 0x00000001 + 0x00000003 0x00000001 0x00000002 0x00000007 + 0x00000002 0x00000001 0x00000004 0x00000005 + 0x05040102 0x000a0504 0x73430505 0x70000f03 + 0x001f0000 >; + }; + + timing-204000000 { + clock-frequency =3D <204000000>; + + nvidia,emem-configuration =3D < 0x01000003 0x80000040 + 0x00000001 0x00000002 0x00000007 0x00000003 + 0x00000005 0x00000001 0x00000002 0x00000007 + 0x00000003 0x00000001 0x00000005 0x00000005 + 0x05050103 0x000b0607 0x72e40a08 0x70000f03 + 0x001f0000 >; + }; + + timing-300000000 { + clock-frequency =3D <300000000>; + + nvidia,emem-configuration =3D < 0x08000004 0x80000040 + 0x00000001 0x00000002 0x00000009 0x00000005 + 0x00000007 0x00000001 0x00000002 0x00000007 + 0x00000003 0x00000001 0x00000005 0x00000005 + 0x05050103 0x000c0709 0x72c50e0a 0x70000f03 + 0x001f0000 >; + }; + + timing-396000000 { + clock-frequency =3D <396000000>; + + nvidia,emem-configuration =3D < 0x0f000005 0x80000040 + 0x00000002 0x00000003 0x0000000c 0x00000007 + 0x00000009 0x00000001 0x00000002 0x00000007 + 0x00000003 0x00000001 0x00000005 0x00000005 + 0x05050103 0x000e090c 0x72c6120d 0x70000f03 + 0x001f0000 >; + }; + + timing-528000000 { + clock-frequency =3D <528000000>; + + nvidia,emem-configuration =3D < 0x0f000007 0x80000040 + 0x00000003 0x00000004 0x00000010 0x0000000a + 0x0000000d 0x00000002 0x00000002 0x00000009 + 0x00000003 0x00000001 0x00000006 0x00000006 + 0x06060103 0x00120b10 0x72c81811 0x70000f03 + 0x001f0000 >; + }; + + timing-600000000 { + clock-frequency =3D <600000000>; + + nvidia,emem-configuration =3D < 0x00000009 0x80000040 + 0x00000004 0x00000005 0x00000012 0x0000000b + 0x0000000e 0x00000002 0x00000003 0x0000000a + 0x00000003 0x00000001 0x00000006 0x00000007 + 0x07060103 0x00140d12 0x72c91b13 0x70000f03 + 0x001f0000 >; + }; + + timing-792000000 { + clock-frequency =3D <792000000>; + + nvidia,emem-configuration =3D < 0x0e00000b 0x80000040 + 0x00000006 0x00000007 0x00000018 0x0000000f + 0x00000013 0x00000003 0x00000003 0x0000000c + 0x00000003 0x00000001 0x00000008 0x00000008 + 0x08080103 0x001a1118 0x72ac2419 0x70000f02 + 0x001f0000 >; + }; + + timing-924000000 { + clock-frequency =3D <924000000>; + + nvidia,emem-configuration =3D < 0x0e00000d 0x80000040 + 0x00000007 0x00000008 0x0000001b 0x00000012 + 0x00000017 0x00000004 0x00000004 0x0000000e + 0x00000004 0x00000001 0x00000009 0x00000009 + 0x09090104 0x001e141b 0x72ae2a1c 0x70000f02 + 0x001f0000 >; + }; + }; + }; + + external-memory-controller@7001b000 { + emc-timings-0 { + /* Hynix H9CKNNNBKTMTDR DDR3 924MHz */ + nvidia,ram-code =3D <0>; + + timing-12750000 { + clock-frequency =3D <12750000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000008>; + nvidia,emc-cfg =3D <0xd3200000>; + nvidia,emc-cfg-2 =3D <0x000008c7>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x80010083>; + nvidia,emc-mode-2 =3D <0x80020004>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x000d0011>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004013c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x0130b018>; + nvidia,emc-zcal-cnt-long =3D <0x00000015>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x00000000 0x00000002 0x00000000 0x00000002 + 0x00000005 0x00000006 0x00000008 0x00000003 + 0x0000000a 0x00000002 0x00000002 0x00000001 + 0x00000002 0x00000000 0x00000003 0x00000003 + 0x00000006 0x00000002 0x00000000 0x00000005 + 0x00000005 0x00010000 0x00000003 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000004 + 0x0000000c 0x0000000d 0x0000000f 0x00000030 + 0x00000000 0x0000000c 0x00000002 0x00000002 + 0x00000005 0x00000000 0x00000001 0x0000000c + 0x00000003 0x00000003 0x00000003 0x00000003 + 0x00000003 0x00000006 0x00000006 0x00000003 + 0x00000003 0x00000056 0x00000000 0x00000000 + 0x00000000 0x1363a296 0x005800a0 0x00008000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x000fc000 0x000fc000 0x00000000 0x000fc000 + 0x000fc000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x000fc000 0x000fc000 + 0x000fc000 0x000fc000 0x0000fc00 0x0000fc00 + 0x0000fc00 0x0000fc00 0x00000200 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc000 + 0x00000404 0x81f1f008 0x07070000 0x0000003f + 0x015ddddd 0x51451400 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x00000011 0x000d0011 0x00000000 0x00000003 + 0x0000f3f3 0x80000164 0x0000000a >; + }; + + timing-20400000 { + clock-frequency =3D <20400000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000008>; + nvidia,emc-cfg =3D <0xd3200000>; + nvidia,emc-cfg-2 =3D <0x000008c7>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x80010083>; + nvidia,emc-mode-2 =3D <0x80020004>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x00150011>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004013c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x0130b018>; + nvidia,emc-zcal-cnt-long =3D <0x00000015>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x00000001 0x00000004 0x00000000 0x00000002 + 0x00000005 0x00000006 0x00000008 0x00000003 + 0x0000000a 0x00000002 0x00000002 0x00000001 + 0x00000002 0x00000000 0x00000003 0x00000003 + 0x00000006 0x00000002 0x00000000 0x00000005 + 0x00000005 0x00010000 0x00000003 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000004 + 0x0000000c 0x0000000d 0x0000000f 0x0000004d + 0x00000000 0x00000013 0x00000002 0x00000002 + 0x00000005 0x00000000 0x00000001 0x0000000c + 0x00000005 0x00000005 0x00000003 0x00000003 + 0x00000003 0x00000006 0x00000006 0x00000003 + 0x00000003 0x0000008a 0x00000000 0x00000000 + 0x00000000 0x1363a296 0x005800a0 0x00008000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x000fc000 0x000fc000 0x00000000 0x000fc000 + 0x000fc000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x000fc000 0x000fc000 + 0x000fc000 0x000fc000 0x0000fc00 0x0000fc00 + 0x0000fc00 0x0000fc00 0x00000200 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc000 + 0x00000404 0x81f1f008 0x07070000 0x0000003f + 0x015ddddd 0x51451400 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x00000011 0x00150011 0x00000000 0x00000003 + 0x0000f3f3 0x8000019f 0x0000000a >; + }; + + timing-40800000 { + clock-frequency =3D <40800000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000008>; + nvidia,emc-cfg =3D <0xd3200000>; + nvidia,emc-cfg-2 =3D <0x000008c7>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x80010083>; + nvidia,emc-mode-2 =3D <0x80020004>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x00290011>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004013c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x0130b018>; + nvidia,emc-zcal-cnt-long =3D <0x00000015>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x00000002 0x00000008 0x00000000 0x00000002 + 0x00000005 0x00000006 0x00000008 0x00000003 + 0x0000000a 0x00000002 0x00000002 0x00000001 + 0x00000002 0x00000000 0x00000003 0x00000003 + 0x00000006 0x00000002 0x00000000 0x00000005 + 0x00000005 0x00010000 0x00000003 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000004 + 0x0000000c 0x0000000d 0x0000000f 0x0000009a + 0x00000000 0x00000026 0x00000002 0x00000002 + 0x00000005 0x00000000 0x00000001 0x0000000c + 0x00000009 0x00000009 0x00000003 0x00000003 + 0x00000003 0x00000006 0x00000007 0x00000003 + 0x00000003 0x00000113 0x00000000 0x00000000 + 0x00000000 0x1363a296 0x005800a0 0x00008000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x000fc000 0x000fc000 0x00000000 0x000fc000 + 0x000fc000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x000fc000 0x000fc000 + 0x000fc000 0x000fc000 0x0000fc00 0x0000fc00 + 0x0000fc00 0x0000fc00 0x00000200 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc000 + 0x00000404 0x81f1f008 0x07070000 0x0000003f + 0x015ddddd 0x51451400 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x00000011 0x00290011 0x00000000 0x00000003 + 0x0000f3f3 0x8000023a 0x0000000a >; + }; + + timing-68000000 { + clock-frequency =3D <68000000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000008>; + nvidia,emc-cfg =3D <0xd3200000>; + nvidia,emc-cfg-2 =3D <0x000008c7>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x80010083>; + nvidia,emc-mode-2 =3D <0x80020004>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x00440011>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004013c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x0130b018>; + nvidia,emc-zcal-cnt-long =3D <0x00000015>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x00000004 0x00000010 0x00000000 0x00000002 + 0x00000004 0x00000006 0x00000008 0x00000003 + 0x0000000a 0x00000002 0x00000002 0x00000001 + 0x00000002 0x00000000 0x00000003 0x00000003 + 0x00000006 0x00000002 0x00000000 0x00000005 + 0x00000005 0x00010000 0x00000003 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000004 + 0x0000000c 0x0000000d 0x0000000f 0x00000101 + 0x00000000 0x00000040 0x00000002 0x00000002 + 0x00000004 0x00000000 0x00000001 0x0000000c + 0x0000000f 0x0000000f 0x00000003 0x00000003 + 0x00000003 0x00000006 0x00000005 0x00000003 + 0x00000003 0x000001c9 0x00000000 0x00000000 + 0x00000000 0x1363a296 0x005800a0 0x00008000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x000fc000 0x000fc000 0x00000000 0x000fc000 + 0x000fc000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x000fc000 0x000fc000 + 0x000fc000 0x000fc000 0x0000fc00 0x0000fc00 + 0x0000fc00 0x0000fc00 0x00000200 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc000 + 0x00000404 0x81f1f008 0x07070000 0x0000003f + 0x015ddddd 0x51451400 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x00000019 0x00440011 0x00000000 0x00000003 + 0x0000f3f3 0x80000309 0x0000000a >; + }; + + timing-102000000 { + clock-frequency =3D <102000000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000008>; + nvidia,emc-cfg =3D <0xd3200000>; + nvidia,emc-cfg-2 =3D <0x000008c7>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x80010083>; + nvidia,emc-mode-2 =3D <0x80020004>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x00660011>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004013c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x0130b018>; + nvidia,emc-zcal-cnt-long =3D <0x00000015>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x00000006 0x00000015 0x00000000 0x00000004 + 0x00000004 0x00000006 0x00000008 0x00000003 + 0x0000000a 0x00000002 0x00000002 0x00000001 + 0x00000002 0x00000000 0x00000003 0x00000003 + 0x00000006 0x00000002 0x00000000 0x00000005 + 0x00000005 0x00010000 0x00000003 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000004 + 0x0000000c 0x0000000d 0x0000000f 0x00000182 + 0x00000000 0x00000060 0x00000002 0x00000002 + 0x00000004 0x00000000 0x00000001 0x0000000c + 0x00000017 0x00000017 0x00000003 0x00000003 + 0x00000003 0x00000006 0x00000005 0x00000003 + 0x00000003 0x000002ae 0x00000000 0x00000000 + 0x00000000 0x1363a296 0x005800a0 0x00008000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00090000 0x00090000 0x00090000 0x00090000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x000fc000 0x000fc000 0x00000000 0x000fc000 + 0x000fc000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x000fc000 0x000fc000 + 0x000fc000 0x000fc000 0x0000fc00 0x0000fc00 + 0x0000fc00 0x0000fc00 0x00000200 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc000 + 0x00000404 0x81f1f008 0x07070000 0x0000003f + 0x015ddddd 0x51451400 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x00000025 0x00660011 0x00000000 0x00000003 + 0x0000f3f3 0x8000040b 0x0000000a >; + }; + + timing-204000000 { + clock-frequency =3D <204000000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000008>; + nvidia,emc-cfg =3D <0xd3200000>; + nvidia,emc-cfg-2 =3D <0x000008cf>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x80010083>; + nvidia,emc-mode-2 =3D <0x80020004>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x00cc0011>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004013c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x0130b018>; + nvidia,emc-zcal-cnt-long =3D <0x00000017>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x0000000c 0x0000002a 0x00000000 0x00000008 + 0x00000005 0x00000007 0x00000008 0x00000003 + 0x0000000a 0x00000003 0x00000003 0x00000002 + 0x00000003 0x00000000 0x00000002 0x00000002 + 0x00000005 0x00000003 0x00000000 0x00000003 + 0x00000007 0x00010000 0x00000004 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000002 + 0x0000000e 0x0000000f 0x00000011 0x00000304 + 0x00000000 0x000000c1 0x00000002 0x00000002 + 0x00000005 0x00000000 0x00000001 0x0000000c + 0x0000002d 0x0000002d 0x00000003 0x00000004 + 0x00000003 0x00000009 0x00000006 0x00000003 + 0x00000003 0x0000055b 0x00000000 0x00000000 + 0x00000000 0x1363a296 0x005800a0 0x00008000 + 0x00080000 0x00080000 0x00080000 0x00080000 + 0x00080000 0x00080000 0x00080000 0x00080000 + 0x00080000 0x00080000 0x00080000 0x00080000 + 0x00080000 0x00080000 0x00080000 0x00080000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00098000 0x00098000 0x00000000 0x00098000 + 0x00098000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x0008c000 0x00088000 + 0x00088000 0x00088000 0x00008800 0x00008800 + 0x00008800 0x00008800 0x00000200 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc000 + 0x00000404 0x81f1f008 0x07070000 0x0000003f + 0x015ddddd 0x51451400 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x0000004a 0x00cc0011 0x00000000 0x00000004 + 0x0000d3b3 0x80000713 0x0000000a >; + }; + + timing-300000000 { + clock-frequency =3D <300000000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000000>; + nvidia,emc-cfg =3D <0xd3300000>; + nvidia,emc-cfg-2 =3D <0x000008d7>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x80010083>; + nvidia,emc-mode-2 =3D <0x80020004>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x012c0011>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004013c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x01231239>; + nvidia,emc-zcal-cnt-long =3D <0x0000001f>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x00000011 0x0000003e 0x00000000 0x0000000c + 0x00000005 0x00000007 0x00000008 0x00000003 + 0x0000000a 0x00000005 0x00000005 0x00000002 + 0x00000003 0x00000000 0x00000002 0x00000002 + 0x00000006 0x00000003 0x00000000 0x00000003 + 0x00000008 0x00030000 0x00000004 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000002 + 0x0000000f 0x00000012 0x00000014 0x0000046e + 0x00000000 0x0000011b 0x00000002 0x00000002 + 0x00000005 0x00000000 0x00000001 0x0000000c + 0x00000042 0x00000042 0x00000003 0x00000005 + 0x00000003 0x0000000d 0x00000007 0x00000003 + 0x00000003 0x000007e0 0x00000000 0x00000000 + 0x00000000 0x1363a096 0x005800a0 0x00008000 + 0x00020000 0x00020000 0x00020000 0x00020000 + 0x00020000 0x00020000 0x00020000 0x00020000 + 0x00020000 0x00020000 0x00020000 0x00020000 + 0x00020000 0x00020000 0x00020000 0x00020000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00060000 0x00060000 0x00000000 0x00060000 + 0x00060000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00048000 0x00048000 + 0x00048000 0x00048000 0x00004800 0x00004800 + 0x00004800 0x00004800 0x00000200 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc000 + 0x00000404 0x81f1f008 0x07070000 0x0000003f + 0x015ddddd 0x51451420 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x0000006c 0x012c0011 0x00000000 0x00000004 + 0x000052a3 0x800009ed 0x0000000b >; + }; + + timing-396000000 { + clock-frequency =3D <396000000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000000>; + nvidia,emc-cfg =3D <0xd3300000>; + nvidia,emc-cfg-2 =3D <0x00000897>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x80010083>; + nvidia,emc-mode-2 =3D <0x80020004>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x018c0011>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004001c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x01231239>; + nvidia,emc-zcal-cnt-long =3D <0x00000028>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x00000017 0x00000053 0x00000000 0x00000010 + 0x00000007 0x00000008 0x00000008 0x00000003 + 0x0000000a 0x00000007 0x00000007 0x00000003 + 0x00000003 0x00000000 0x00000002 0x00000002 + 0x00000006 0x00000003 0x00000000 0x00000002 + 0x00000009 0x00030000 0x00000004 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000001 + 0x00000010 0x00000012 0x00000014 0x000005d9 + 0x00000000 0x00000176 0x00000002 0x00000002 + 0x00000007 0x00000000 0x00000001 0x0000000e + 0x00000058 0x00000058 0x00000003 0x00000006 + 0x00000003 0x00000012 0x00000009 0x00000003 + 0x00000003 0x00000a66 0x00000000 0x00000000 + 0x00000000 0x1363a096 0x005800a0 0x00008000 + 0x00020000 0x00020000 0x00020000 0x00020000 + 0x00020000 0x00020000 0x00020000 0x00020000 + 0x00020000 0x00020000 0x00020000 0x00020000 + 0x00020000 0x00020000 0x00020000 0x00020000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00048000 0x00048000 0x00000000 0x00048000 + 0x00048000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00038000 0x00038000 + 0x00038000 0x00038000 0x00003800 0x00003800 + 0x00003800 0x00003800 0x00000200 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc000 + 0x00000404 0x81f1f008 0x07070000 0x0000003f + 0x015ddddd 0x51451420 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x0000008f 0x018c0011 0x00000000 0x00000004 + 0x000052a3 0x80000cc7 0x0000000b >; + }; + + timing-528000000 { + clock-frequency =3D <528000000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000000>; + nvidia,emc-cfg =3D <0xd3300000>; + nvidia,emc-cfg-2 =3D <0x0000089f>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x800100c3>; + nvidia,emc-mode-2 =3D <0x80020006>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x02100013>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004001c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x0123123d>; + nvidia,emc-zcal-cnt-long =3D <0x00000034>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x0000001f 0x0000006e 0x00000000 0x00000016 + 0x00000009 0x00000009 0x00000009 0x00000003 + 0x0000000d 0x00000009 0x00000009 0x00000005 + 0x00000004 0x00000000 0x00000002 0x00000002 + 0x00000008 0x00000003 0x00000000 0x00000003 + 0x0000000a 0x00050000 0x00000004 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000002 + 0x00000011 0x00000015 0x00000017 0x000007cd + 0x00000000 0x000001f3 0x00000003 0x00000003 + 0x00000009 0x00000000 0x00000001 0x00000011 + 0x00000075 0x00000075 0x00000004 0x00000008 + 0x00000004 0x00000019 0x0000000c 0x00000003 + 0x00000003 0x00000ddd 0x00000000 0x00000000 + 0x00000000 0x1363a096 0xe01200b9 0x00008000 + 0x0000000a 0x0000000a 0x0000000a 0x0000000a + 0x0000000a 0x0000000a 0x0000000a 0x0000000a + 0x0000000a 0x0000000a 0x0000000a 0x0000000a + 0x0000000a 0x0000000a 0x0000000a 0x0000000a + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00004010 0x00004010 0x00000000 0x00004010 + 0x00004010 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x0000000c 0x0000000c + 0x0000000c 0x0000000c 0x0000000c 0x0000000c + 0x0000000c 0x0000000c 0x00000220 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc004 + 0x00000404 0x81f1f008 0x07070000 0x0000003f + 0x015ddddd 0x51451420 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x000000bf 0x02100013 0x00000000 0x00000004 + 0x000042a0 0x800010b3 0x0000000d >; + }; + + timing-600000000 { + clock-frequency =3D <600000000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000000>; + nvidia,emc-cfg =3D <0xd3300000>; + nvidia,emc-cfg-2 =3D <0x0000089f>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x800100e3>; + nvidia,emc-mode-2 =3D <0x80020007>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x02580014>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004001c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x0121103d>; + nvidia,emc-zcal-cnt-long =3D <0x0000003a>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x00000023 0x0000007d 0x00000000 0x00000019 + 0x0000000a 0x0000000a 0x0000000b 0x00000004 + 0x0000000f 0x0000000a 0x0000000a 0x00000005 + 0x00000004 0x00000000 0x00000004 0x00000004 + 0x0000000a 0x00000004 0x00000000 0x00000003 + 0x0000000d 0x00070000 0x00000005 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000002 + 0x00000014 0x00000018 0x0000001a 0x000008e4 + 0x00000000 0x00000239 0x00000004 0x00000004 + 0x0000000a 0x00000000 0x00000001 0x00000013 + 0x00000084 0x00000084 0x00000005 0x00000009 + 0x00000005 0x0000001c 0x0000000d 0x00000003 + 0x00000003 0x00000fc0 0x00000000 0x00000000 + 0x00000000 0x1363a096 0xe00e00b9 0x00008000 + 0x0000000a 0x0000000a 0x0000000a 0x0000000a + 0x0000000a 0x0000000a 0x0000000a 0x0000000a + 0x0000000a 0x0000000a 0x0000000a 0x0000000a + 0x0000000a 0x0000000a 0x0000000a 0x0000000a + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000010 0x00000010 0x00000000 0x00000010 + 0x00000010 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000001 + 0x00000000 0x00000001 0x00000001 0x00000000 + 0x00000001 0x00000000 0x00000000 0x00000001 + 0x00000000 0x00000001 0x00000001 0x00000000 + 0x00000001 0x00000000 0x0000000c 0x0000000b + 0x0000000b 0x0000000b 0x0000000b 0x0000000b + 0x0000000b 0x0000000b 0x00000220 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc004 + 0x00000404 0x81f1f008 0x07070000 0x0000003f + 0x015ddddd 0x51451420 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x000000d8 0x02580014 0x00000000 0x00000005 + 0x000040a0 0x800012d6 0x00000010 >; + }; + + timing-792000000 { + clock-frequency =3D <792000000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000000>; + nvidia,emc-cfg =3D <0xd3300000>; + nvidia,emc-cfg-2 =3D <0x0000089f>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x80010043>; + nvidia,emc-mode-2 =3D <0x8002001a>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x03180017>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004001c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x0120103d>; + nvidia,emc-zcal-cnt-long =3D <0x0000004c>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x0000002f 0x000000a6 0x00000000 0x00000021 + 0x0000000e 0x0000000d 0x0000000d 0x00000005 + 0x00000013 0x0000000e 0x0000000e 0x00000007 + 0x00000004 0x00000000 0x00000005 0x00000005 + 0x0000000e 0x00000004 0x00000000 0x00000005 + 0x0000000f 0x000b0000 0x00000006 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000004 + 0x00000016 0x0000001d 0x0000001f 0x00000bd1 + 0x00000000 0x000002f4 0x00000005 0x00000005 + 0x0000000e 0x00000000 0x00000001 0x00000017 + 0x000000af 0x000000af 0x00000006 0x0000000c + 0x00000006 0x00000026 0x00000011 0x00000003 + 0x00000003 0x000014cb 0x00000000 0x00000000 + 0x00000000 0x1363a096 0xe00700b9 0x00008000 + 0x00000006 0x00000006 0x00000006 0x00000006 + 0x00000006 0x00000006 0x00000006 0x00000006 + 0x00000006 0x00000006 0x00000006 0x00000006 + 0x00000006 0x00000006 0x00000006 0x00000006 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00008012 0x00008012 0x00000000 0x00008012 + 0x00008012 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000002 0x00000005 + 0x00000002 0x00000004 0x00000005 0x00000004 + 0x00000004 0x00000003 0x00000002 0x00000005 + 0x00000002 0x00000004 0x00000005 0x00000004 + 0x00000004 0x00000003 0x0000000b 0x0000000a + 0x0000000a 0x0000000a 0x0000000a 0x0000000a + 0x0000000a 0x0000000a 0x00000220 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc004 + 0x00000808 0x81f1f008 0x07070000 0x00000000 + 0x015ddddd 0x61861820 0x00514514 0x00514514 + 0x61861800 0x0000003f 0x00000000 0x00000000 + 0x0000011e 0x03180017 0x00000000 0x00000006 + 0x00004080 0x8000188b 0x00000014 >; + }; + + timing-924000000 { + clock-frequency =3D <924000000>; + + nvidia,emc-auto-cal-config =3D <0xa1430000>; + nvidia,emc-auto-cal-config2 =3D <0x00000000>; + nvidia,emc-auto-cal-config3 =3D <0x00000000>; + nvidia,emc-auto-cal-interval =3D <0x001fffff>; + nvidia,emc-bgbias-ctl0 =3D <0x00000000>; + nvidia,emc-cfg =3D <0xd3300000>; + nvidia,emc-cfg-2 =3D <0x0000089f>; + nvidia,emc-ctt-term-ctrl =3D <0x00000802>; + nvidia,emc-mode-1 =3D <0x80010083>; + nvidia,emc-mode-2 =3D <0x8002001c>; + nvidia,emc-mode-4 =3D <0x800b0000>; + nvidia,emc-mode-reset =3D <0x00000000>; + nvidia,emc-mrs-wait-cnt =3D <0x039c0019>; + nvidia,emc-sel-dpd-ctrl =3D <0x0004001c>; + nvidia,emc-xm2dqspadctrl2 =3D <0x0120103d>; + nvidia,emc-zcal-cnt-long =3D <0x00000058>; + nvidia,emc-zcal-interval =3D <0x00064000>; + + nvidia,emc-configuration =3D < + 0x00000037 0x000000c2 0x00000000 0x00000026 + 0x00000010 0x0000000f 0x00000010 0x00000006 + 0x00000017 0x00000010 0x00000010 0x00000009 + 0x00000005 0x00000000 0x00000007 0x00000007 + 0x00000010 0x00000005 0x00000000 0x00000005 + 0x00000012 0x000d0000 0x00000007 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000004 + 0x00000019 0x00000020 0x00000022 0x00000dd4 + 0x00000000 0x00000375 0x00000006 0x00000006 + 0x00000010 0x00000000 0x00000001 0x0000001b + 0x000000cc 0x000000cc 0x00000007 0x0000000e + 0x00000007 0x0000002d 0x00000014 0x00000003 + 0x00000003 0x00001842 0x00000000 0x00000000 + 0x00000000 0x1363a896 0xe00400b9 0x00008000 + 0x00000004 0x00000004 0x00000004 0x00000004 + 0x00000004 0x00000004 0x00000004 0x00000004 + 0x00000004 0x00000004 0x00000004 0x00000004 + 0x00000004 0x00000004 0x00000004 0x00000004 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x0000000f 0x0000000f 0x00000000 0x00000011 + 0x00000012 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000000 0x00000000 + 0x00000000 0x00000000 0x00000004 0x00000006 + 0x00000004 0x00000006 0x00000006 0x00000006 + 0x00000006 0x00000005 0x00000004 0x00000006 + 0x00000004 0x00000006 0x00000006 0x00000006 + 0x00000006 0x00000005 0x0000000a 0x00000009 + 0x00000009 0x0000000a 0x00000009 0x00000009 + 0x00000009 0x00000009 0x00000220 0x00000000 + 0x00100100 0x00000000 0x00000000 0x77ffc004 + 0x00000404 0x81f1f008 0x07070000 0x00000000 + 0x015ddddd 0x51451420 0x00514514 0x00514514 + 0x51451400 0x0000003f 0x00000000 0x00000000 + 0x0000014d 0x039c0019 0x00000000 0x00000007 + 0x00004080 0x80001c77 0x00000017 >; + }; + }; + }; + + padctl@7009f000 { + status =3D "disabled"; + }; + + /* WiFi */ + sdmmc1: mmc@700b0000 { + status =3D "okay"; + + #address-cells =3D <1>; + #size-cells =3D <0>; + + assigned-clocks =3D <&tegra_car TEGRA124_CLK_SDMMC1>; + assigned-clock-parents =3D <&tegra_car TEGRA124_CLK_PLL_P>; + assigned-clock-rates =3D <204000000>; + + max-frequency =3D <82000000>; + keep-power-in-suspend; + bus-width =3D <4>; + non-removable; + + sd-uhs-sdr104; + mmc-ddr-1_8v; + + mmc-pwrseq =3D <&brcm_wifi_pwrseq>; + vmmc-supply =3D <&vdd_3v3_sys>; + vqmmc-supply =3D <&vdd_1v8_vio>; + + /* BCM4354XKUBG */ + wifi@1 { + compatible =3D "brcm,bcm4354-fmac", "brcm,bcm4329-fmac"; + reg =3D <1>; + + clocks =3D <&clk32k_pmic>; + clock-names =3D "lpo"; + + interrupt-parent =3D <&gpio>; + interrupts =3D ; + interrupt-names =3D "host-wake"; + }; + }; + + /* MicroSD */ + sdmmc3: mmc@700b0400 { + status =3D "okay"; + bus-width =3D <4>; + + sd-uhs-sdr104; + mmc-ddr-1_8v; + + cd-gpios =3D <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_HIGH>; + power-gpios =3D <&gpio TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>; + + vmmc-supply =3D <&vdd_hv_sdmmc>; + vqmmc-supply =3D <&vddio_usd>; + }; + + /* eMMC */ + sdmmc4: mmc@700b0600 { + status =3D "okay"; + bus-width =3D <8>; + + mmc-hs200-1_8v; + non-removable; + + vmmc-supply =3D <&vdd_hv_sdmmc>; + vqmmc-supply =3D <&vdd_1v8_vio>; + }; + + /* CPU DFLL clock */ + clock@70110000 { + status =3D "okay"; + vdd-cpu-supply =3D <&vdd_cpu>; + nvidia,i2c-fs-rate =3D <400000>; + }; + + ahub@70300000 { + /* HIFI CODEC */ + i2s@70301000 { /* i2s0 */ + status =3D "okay"; + }; + + /* LEFT SPK */ + i2s@70301100 { /* i2s1 */ + status =3D "okay"; + }; + + /* RIGHT SPK */ + i2s@70301200 { /* i2s2 */ + status =3D "okay"; + }; + + /* BT SCO */ + i2s@70301300 { /* i2s3 */ + status =3D "okay"; + }; + }; + + usb1: usb@7d000000 { + compatible =3D "nvidia,tegra124-udc"; + status =3D "okay"; + dr_mode =3D "otg"; + + hnp-disable; + srp-disable; + adp-disable; + + usb-role-switch; + extcon =3D <&bq24192>, <&palmas_extcon>; /* vbus, id */ + vbus-supply =3D <&usb_otg_vbus>; + + port { + usb_in: endpoint { + remote-endpoint =3D <&connector_out>; + }; + }; + }; + + usb-phy@7d000000 { + status =3D "okay"; + dr_mode =3D "otg"; + nvidia,xcvr-lsfslew =3D <2>; + nvidia,xcvr-lsrslew =3D <2>; + vbus-supply =3D <&avdd_usb>; + }; + + battery: battery-cell { + compatible =3D "simple-battery"; + device-chemistry =3D "lithium-ion-polymer"; + + charge-full-design-microamp-hours =3D <6520000>; + energy-full-design-microwatt-hours =3D <2478000>; + + voltage-min-design-microvolt =3D <4300000>; + voltage-max-design-microvolt =3D <4350000>; + + precharge-current-microamp =3D <256000>; + charge-term-current-microamp =3D <400000>; + + operating-range-celsius =3D <0 45>; + }; + + clk32k_in: clock-32k { + compatible =3D "fixed-clock"; + #clock-cells =3D <0>; + clock-frequency =3D <32768>; + clock-output-names =3D "ref-oscillator"; + }; + + connector { + compatible =3D "usb-b-connector"; + type =3D "micro"; + + port { + connector_out: endpoint { + remote-endpoint =3D <&usb_in>; + }; + }; + }; + + cpus { + cpu0: cpu@0 { + vdd-cpu-supply =3D <&vdd_cpu>; + #cooling-cells =3D <2>; + }; + + cpu1: cpu@1 { + #cooling-cells =3D <2>; + }; + + cpu2: cpu@2 { + #cooling-cells =3D <2>; + }; + + cpu3: cpu@3 { + #cooling-cells =3D <2>; + }; + }; + + extcon-keys { + compatible =3D "gpio-keys"; + + switch-back-hall-sensor { + label =3D "Hall sensor (back)"; + gpios =3D <&gpio TEGRA_GPIO(W, 3) GPIO_ACTIVE_LOW>; + linux,code =3D ; + linux,can-disable; + wakeup-source; + }; + + switch-front-hall-sensor { + label =3D "Hall sensor (front)"; + gpios =3D <&gpio TEGRA_GPIO(I, 5) GPIO_ACTIVE_LOW>; + linux,code =3D ; + linux,can-disable; + wakeup-source; + }; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + + key-power { + label =3D "Power"; + gpios =3D <&gpio TEGRA_GPIO(Q, 0) GPIO_ACTIVE_LOW>; + linux,code =3D ; + debounce-interval =3D <10>; + wakeup-source; + }; + + key-volume-down { + label =3D "Volume Down"; + gpios =3D <&gpio TEGRA_GPIO(Q, 7) GPIO_ACTIVE_LOW>; + linux,code =3D ; + debounce-interval =3D <10>; + }; + + key-volume-up { + label =3D "Volume Up"; + gpios =3D <&gpio TEGRA_GPIO(Q, 6) GPIO_ACTIVE_LOW>; + linux,code =3D ; + debounce-interval =3D <10>; + }; + }; + + led-controller { + compatible =3D "pwm-leds"; + + led-button { + color =3D ; + function =3D LED_FUNCTION_BACKLIGHT; + + pwms =3D <&pwm 1 10000>; + max-brightness =3D <100>; + }; + }; + + brcm_wifi_pwrseq: pwrseq-wifi { + compatible =3D "mmc-pwrseq-simple"; + + reset-gpios =3D <&gpio TEGRA_GPIO(X, 7) GPIO_ACTIVE_LOW>; + + post-power-on-delay-ms =3D <300>; + power-off-delay-us =3D <300>; + }; + + vdd_3v3_sys: regulator-3v3-sys { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_3v3_sys"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-always-on; + regulator-boot-on; + }; + + vddio_1v8_bl: regulator-bl-io { + compatible =3D "regulator-fixed"; + regulator-name =3D "vddio_1v8_bl"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-boot-on; + gpio =3D <&gpio TEGRA_GPIO(BB, 4) GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply =3D <&vdd_1v8_vio>; + }; + + vdd_lcd_io: regulator-lcd-vio { + compatible =3D "regulator-fixed"; + regulator-name =3D "dvdd_lcd"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-boot-on; + gpio =3D <&palmas_gpio 4 GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply =3D <&vdd_1v8_vio>; + }; + + vsp_5v5_lcd: regulator-vsp { + compatible =3D "regulator-fixed"; + regulator-name =3D "avdd_lcd_vsp"; + regulator-min-microvolt =3D <5500000>; + regulator-max-microvolt =3D <5500000>; + regulator-boot-on; + gpio =3D <&gpio TEGRA_GPIO(I, 4) GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply =3D <&vdd_3v3_sys>; + }; + + vsn_5v5_lcd: regulator-vsn { + compatible =3D "regulator-fixed"; + regulator-name =3D "avdd_lcd_vsn"; + regulator-min-microvolt =3D <5500000>; + regulator-max-microvolt =3D <5500000>; + regulator-boot-on; + gpio =3D <&gpio TEGRA_GPIO(S, 2) GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply =3D <&vdd_3v3_sys>; + }; + + vdd_2v8_tp: regulator-vtp { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_2v8_tp"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-boot-on; + gpio =3D <&gpio TEGRA_GPIO(K, 1) GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply =3D <&vdd_smps10_out2>; + }; + + iovdd_1v8_cam: regulator-iovdd-cam { + compatible =3D "regulator-fixed"; + regulator-name =3D "iovdd_1v8_cam"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + gpio =3D <&palmas_gpio 1 GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply =3D <&vdd_1v8_vio>; + }; + + dvdd_1v2_cam: regulator-dvdd-cam { + compatible =3D "regulator-fixed"; + regulator-name =3D "dvdd_1v2_cam"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + gpio =3D <&palmas_gpio 2 GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply =3D <&vdd_1v8_vio>; + }; + + vdd_3v3_hph: regulator-hph { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_3v3_hph"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + gpio =3D <&gpio TEGRA_GPIO(R, 2) GPIO_ACTIVE_HIGH>; + enable-active-high; + vin-supply =3D <&vdd_3v3_sys>; + }; + + thermal-zones { + /* + * TMP451 has two sensors: + * + * 0: internal that monitors ambient/skin temperature + * 1: external that is connected to the CPU's diode + * + * Ideally we should use userspace thermal governor, + * but it's a much more complex solution. The "skin" + * zone exists as a simpler solution which prevents + * tablet from getting too hot from a user's tactile + * perspective. The CPU zone is intended to protect + * silicon from damage. + */ + + tmp451-skin-thermal { + polling-delay-passive =3D <1000>; /* milliseconds */ + polling-delay =3D <10000>; /* milliseconds */ + + thermal-sensors =3D <&temp_sensor 0>; + + trips { + skip_alert_trip: skin-alert { + /* throttle at 50C until temperature drops to 49.5C */ + temperature =3D <50000>; + hysteresis =3D <500>; + type =3D "passive"; + }; + + skin-crit { + /* shut down at 85C */ + temperature =3D <85000>; + hysteresis =3D <2000>; + type =3D "critical"; + }; + }; + + cooling-maps { + map-skip { + trip =3D <&skip_alert_trip>; + cooling-device =3D <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; + }; + + tmp451-cpu-thermal { + polling-delay-passive =3D <1000>; /* milliseconds */ + polling-delay =3D <10000>; /* milliseconds */ + + thermal-sensors =3D <&temp_sensor 1>; + + trips { + cpu_alert_trip: cpu-alert { + /* throttle at 85C until temperature drops to 84.5C */ + temperature =3D <85000>; + hysteresis =3D <500>; + type =3D "passive"; + }; + + cpu-crit { + /* shut down at 95C */ + temperature =3D <95000>; + hysteresis =3D <2000>; + type =3D "critical"; + }; + }; + + cooling-maps { + map-cpu { + trip =3D <&cpu_alert_trip>; + cooling-device =3D <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>, + <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; + }; + }; + }; + }; +}; --=20 2.48.1