dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-ers-e2220-1199-a00-00.dtb
dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-ers-p2143-1170-a00-00.dtb
dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-ers-p2143-1199-a00-00.dtb
+dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-ers-p2143-1180-a00-00.dtb
dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-foster-e-p2530-0930-e00-00.dtb
dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-foster-e-p2530-0930-e01-00.dtb
dtb-$(CONFIG_ARCH_TEGRA_21x_SOC) += tegra210-foster-e-hdd-p2530-0932-e00-00.dtb
--- /dev/null
+/*
+ * T210- DSC
+ *
+ * arch/arm64/boot/dts/tegra210-ers-e2220-1180-a00-00-common.dts
+ *
+ * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+/dts-v1/;
+
+/memreserve/ 0x80000000 0x00020000;
+
+#include "tegra210-common.dtsi"
+#include "tegra210-platforms/tegra210-ers-extgpio-e2220-1170-a00.dtsi"
+#include "tegra210-platforms/tegra210-ers-power-tree-e2174-1101-a00.dtsi"
+#include "tegra210-platforms/tegra210-ers-e2220-powermon-e2174-1100-a00-00.dtsi"
+#include "tegra210-platforms/tegra210-ers-sensor-e2160-1000-a00.dtsi"
+#include "tegra210-platforms/tegra210-ers-gpio-e2220-1180-a00.dtsi"
+#include "tegra210-platforms/tegra210-ers-pinmux-e2220-1180-a00.dtsi"
+#include "tegra210-platforms/tegra210-comms.dtsi"
+#include "tegra210-platforms/tegra210-sdhci.dtsi"
+#include "tegra210-platforms/tegra210-audio.dtsi"
+#include "panel-j-1440-810-5-8.dtsi"
+#include "panel-a-wuxga-8-0.dtsi"
+#include "panel-s-wqxga-10-1.dtsi"
+#include "tegra210-platforms/tegra210-ers-hdmi-e2190-1100-a00.dtsi"
+#include "tegra210-platforms/tegra210-ers-keys-e2220-1170-a00.dtsi"
+#include "tegra210-platforms/tegra210-ers-camera-e2249-1002-a00.dtsi"
+#include "tegra210-platforms/tegra210-ers-pwm-fan-e2220-1170-a00.dtsi"
+#include "tegra210-platforms/tegra210-edp.dtsi"
+#include "tegra210-platforms/tegra210-ers-thermal-nct72-e2220-1170-a00.dtsi"
+#include "tegra210-platforms/tegra210-thermal-Tboard-Tdiode.dtsi"
+#include <dt-bindings/sound/tegra-asoc-alt.h>
+#include <dt-bindings/platform/t210/t210.h>
+
+/ {
+ model = "e2220";
+ compatible = "nvidia,e2220", "nvidia,tegra210";
+ nvidia,boardids = "2220:1180:00;2174:1101:00";
+ nvidia,dtsfilename = __FILE__;
+ nvidia,proc-boardid = "2220:1180:00";
+ nvidia,pmu-boardid = "2174:1101:00";
+ nvidia,fastboot-usb-pid = <0x7100>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ pmc@7000e400 {
+ nvidia,invert-interrupt;
+ };
+
+ chosen {
+ };
+
+ sdhci@700b0600 {
+ uhs-mask = <0x60>;
+ built-in;
+ power-off-rail;
+ status = "okay";
+ };
+
+ sdhci@700b0400 {
+ uhs-mask = <0x1c>;
+ vddio_sdmmc-supply = <&max77620_sd3>;
+ vddio_sd_slot-supply = <&en_vdd_sd3>;
+ power-off-rail;
+ status = "disabled";
+ };
+
+ sdhci@700b0200 {
+ uhs-mask = <0x8>;
+ bus-width = <4>;
+ power-off-rail;
+ status = "okay";
+ };
+
+ sdhci@700b0000 {
+ uhs-mask = <0x8>;
+ power-off-rail;
+ status = "okay";
+ };
+
+ pcie-controller {
+ nvidia,wake-gpio = <&gpio TEGRA_GPIO(A, 2) 0>;
+ nvidia,lane-map = <0x14>;
+ dvdd-pex-pll-supply = <&max77620_ldo1>;
+ l0-dvddio-pex-supply = <&max77620_ldo1>;
+ l1-dvddio-pex-supply = <&max77620_ldo1>;
+ l2-dvddio-pex-supply = <&max77620_ldo1>;
+ l3-dvddio-pex-supply = <&max77620_ldo1>;
+ l4-dvddio-pex-supply = <&max77620_ldo1>;
+ l5-dvddio-pex-supply = <&max77620_ldo1>;
+ l6-dvddio-pex-supply = <&max77620_ldo1>;
+ hvdd-pex-pll-e-supply = <&max77620_sd3>;
+ l0-hvddio-pex-supply = <&max77620_sd3>;
+ l1-hvddio-pex-supply = <&max77620_sd3>;
+ l2-hvddio-pex-supply = <&max77620_sd3>;
+ l3-hvddio-pex-supply = <&max77620_sd3>;
+ l4-hvddio-pex-supply = <&max77620_sd3>;
+ l5-hvddio-pex-supply = <&max77620_sd3>;
+ l6-hvddio-pex-supply = <&max77620_sd3>;
+ vddio-pex-ctl-supply = <&max77620_sd3>;
+ status = "okay";
+ pci@1,0 {
+ status = "okay";
+ nvidia,presence-detection-gpio = <&pca9539_76 1 0>;
+ };
+
+ pci@2,0 {
+ status = "okay";
+ nvidia,presence-detection-gpio = <&pca9539_76 2 0>;
+ };
+ };
+
+ host1x {
+ /* tegradc.0 */
+ dc@54200000 {
+ status = "okay";
+ nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
+ nvidia,emc-clk-rate = <204000000>;
+ nvidia,cmu-enable = <1>;
+ nvidia,low-v-win = <0x2>;
+ nvidia,fb-bpp = <32>; /* bits per pixel */
+ nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
+ };
+ /* tegradc.1 */
+ dc@54240000 {
+ status = "okay";
+ nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
+ nvidia,emc-clk-rate = <300000000>;
+ nvidia,fb-bpp = <32>; /* bits per pixel */
+ nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
+ };
+ dsi {
+ nvidia,dsi-controller-vs = <DSI_VS_1>;
+ status = "okay";
+ panel-j-1440-810-5-8 {
+ nvidia,dsi-dpd-pads = <DSIC_DPD_EN DSID_DPD_EN>;
+ nvidia,panel-rst-gpio = <&gpio TEGRA_GPIO(V, 2) 0>; /* PV2 */
+ nvidia,panel-bl-pwm-gpio = <&gpio TEGRA_GPIO(V, 0) 0>; /* PV0 */
+ nvidia,panel-en-gpio = <&gpio TEGRA_GPIO(V, 1) 0>; /* PV1 */
+ };
+ panel-a-wuxga-8-0 {
+ nvidia,dsi-dpd-pads = <DSIC_DPD_EN DSID_DPD_EN>;
+ nvidia,panel-rst-gpio = <&gpio TEGRA_GPIO(V, 2) 0>; /* PV2 */
+ nvidia,panel-bl-pwm-gpio = <&gpio TEGRA_GPIO(V, 0) 0>; /* PV0 */
+ nvidia,panel-en-gpio = <&gpio TEGRA_GPIO(V, 1) 0>; /* PV1 */
+ };
+ panel-s-wqxga-10-1 {
+ nvidia,panel-rst-gpio = <&gpio TEGRA_GPIO(V, 2) 0>; /* PV2 */
+ nvidia,panel-bl-pwm-gpio = <&gpio TEGRA_GPIO(V, 0) 0>; /* PV0 */
+ nvidia,panel-en-gpio = <&gpio TEGRA_GPIO(V, 1) 0>; /* PV1 */
+ };
+ };
+ };
+
+
+ spi@7000d400 {
+ status = "okay";
+ earSmart: earSmart-codec@0 {
+ compatible = "adnc,earSmart-codec";
+ reg = <0>;
+ spi-max-frequency = <6000000>;
+ spi-cpha;
+
+ adnc,reset-gpio = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_HIGH>;
+ adnc,gpiob-gpio = <&gpio TEGRA_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
+ adnc,wakeup-gpio = <&gpio TEGRA_GPIO(K, 2) GPIO_ACTIVE_HIGH>;
+
+ adnc,int-gpio = <(-1)>;
+ adnc,gpioa-gpio = <(-1)>;
+ adnc,enable_hs_uart_intf = <0>;
+ adnc,ext_clk_rate = <0>;
+ adnc,debounce_timer = <3>;
+ adnc,plug_det_enabled = <1>;
+ adnc,mic_det_enabled = <1>;
+
+ adnc,gpio_b_irq_type = <4>;
+ adnc,cmd_comp_mode = <0>;
+
+ /* Button Control 1 */
+ adnc,btn_press_settling_time = <4>;
+ adnc,btn_press_polling_rate = <1>;
+ adnc,btn_press_det_act = <1>;
+
+ /* Button Control 2 */
+ adnc,double_btn_timer = <(-1)>;
+ adnc,mic_det_settling_timer = <(-1)>;
+
+ /* Button Control 3 */
+ adnc,long_btn_timer = <(-1)>;
+ adnc,adc_btn_mute = <(-1)>;
+
+ /* Button Control 4 */
+ adnc,valid_levels = <31>;
+ adnc,impd_det_timer = <0>;
+ };
+ };
+
+ i2c@7000c000 {
+ ad1937x: ad193x.0-0004@04 {
+ compatible = "ad,ad1937";
+ reg = <0x04>;
+ };
+ ad1937y: ad193x.0-0005@05 {
+ compatible = "ad,ad1937";
+ reg = <0x05>;
+ };
+ pca9546@71 {
+ i2c@3 {
+ gpio@76 {
+ default {
+ gpio-output-low = <12 14 15>;
+ gpio-output-high = <5 6 11 13>;
+ };
+ };
+ };
+ };
+ };
+
+ i2c@546c0000 {
+ avdd_dsi_csi-supply = <&max77620_gpio7>;
+ };
+
+ adma@702e2000 {
+ interrupts = <0 24 0x04
+ 0 25 0x04
+ 0 26 0x04
+ 0 27 0x04
+ 0 28 0x04
+ 0 29 0x04
+ 0 30 0x04
+ 0 31 0x04
+ 0 32 0x04
+ 0 33 0x04>;
+ dma-channels = <10>;
+ status = "okay";
+ };
+
+ ahub {
+ i2s@702d1000 {
+ pinctrl-names = "dap_active", "dap_inactive";
+ pinctrl-0 = <>;
+ pinctrl-1 = <>;
+ regulator-supplies = "vdd-1v8-audio-hv", "vdd-1v8-audio-hv-bias";
+ vdd-1v8-audio-hv-supply = <&max77620_sd3>;
+ vdd-1v8-audio-hv-bias-supply = <&max77620_sd3>;
+ fsync-width = <31>;
+ };
+
+ i2s@702d1100 {
+ pinctrl-names = "dap_active", "dap_inactive";
+ pinctrl-0 = <>;
+ pinctrl-1 = <>;
+ regulator-supplies = "vdd-1v8-spi-hv", "vdd-1v8-spi-hv-bias";
+ vdd-1v8-spi-hv-supply = <&max77620_sd3>;
+ vdd-1v8-spi-hv-bias-supply = <&max77620_sd3>;
+ fsync-width = <0>;
+ };
+
+ i2s@702d1300 {
+ pinctrl-names = "dap_active", "dap_inactive";
+ pinctrl-0 = <>;
+ pinctrl-1 = <>;
+ regulator-supplies = "vddio-dmic";
+ vddio-dmic-supply = <&max77620_sd3>;
+ };
+
+ spdif@702d6000 {
+ pinctrl-names = "dap_active", "dap_inactive";
+ pinctrl-0 = <>;
+ pinctrl-1 = <>;
+ regulator-supplies = "vdd-io-1v8-dp", "vdd-1v8-dp";
+ vdd-io-1v8-dp-supply = <&max77620_sd3>;
+ vdd-1v8-dp-supply = <&max77620_sd3>;
+ };
+ };
+
+ sound {
+ compatible = "nvidia,tegra-audio-t210ref-mobile-es755";
+ nvidia,model = "tegra-snd-t210ref-mobile-es755";
+ nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
+ nvidia,num-codec-link = <2>;
+
+ nvidia,audio-routing =
+ "y Headphone", "y OUT",
+ "y IN", "y Mic";
+
+ nvidia,xbar = <&tegra_axbar>;
+
+ nvidia,dai-link-1 {
+ link-name = "earSmart-playback";
+ cpu-dai = <&tegra_i2s1>;
+ codec-dai = <&earSmart>;
+ cpu-dai-name = "I2S1";
+ codec-dai-name = "earSmart-porta";
+ format = "i2s";
+ bitclock-slave;
+ frame-slave;
+ bitclock-noninversion;
+ frame-noninversion;
+ bit-format = "s16_le";
+ bclk_ratio = <0>;
+ srate = <48000>;
+ num-channel = <2>;
+ name-prefix = "x";
+ };
+ nvidia,dai-link-2 {
+ link-name = "spdif-dit-1";
+ cpu-dai = <&tegra_i2s2>;
+ codec-dai = <&spdif_dit1>;
+ cpu-dai-name = "I2S2";
+ codec-dai-name = "dit-hifi";
+ format = "dsp_a";
+ bitclock-slave;
+ frame-slave;
+ bitclock-inversion;
+ frame-inversion;
+ bit-format = "s16_le";
+ bclk_ratio = <4>;
+ srate = <8000>;
+ num-channel = <1>;
+ name-prefix = "y";
+ };
+ };
+
+ sound_ref {
+ compatible = "nvidia,tegra-audio-t210ref";
+ nvidia,model = "tegra-snd-t210ref";
+ nvidia,num-codec-link = <3>;
+ nvidia,num-amx = <2>;
+ nvidia,num-adx = <2>;
+ nvidia,amx-slot-size = <32 32>;
+ nvidia,adx-slot-size = <32 32>;
+ nvidia,addr-max9485 = <0>;
+ nvidia,amx-slot-map = <
+ /* jack 0 */
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 1, 0)
+ TDM_SLOT_MAP(0, 1, 1)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 2, 0)
+ TDM_SLOT_MAP(0, 2, 1)
+ /* jack 1 */
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(1, 1, 0)
+ TDM_SLOT_MAP(1, 1, 1)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(1, 2, 0)
+ TDM_SLOT_MAP(1, 2, 1)
+ /* jack 2 */
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(2, 1, 0)
+ TDM_SLOT_MAP(2, 1, 1)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(2, 2, 0)
+ TDM_SLOT_MAP(2, 2, 1)
+ /* jack 3 */
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(3, 1, 0)
+ TDM_SLOT_MAP(3, 1, 1)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(3, 2, 0)
+ TDM_SLOT_MAP(3, 2, 1)>;
+ nvidia,adx-slot-map = <
+ /* jack 0 */
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 1, 0)
+ TDM_SLOT_MAP(0, 1, 1)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 2, 0)
+ TDM_SLOT_MAP(0, 2, 1)
+ /* jack 1 */
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(1, 1, 0)
+ TDM_SLOT_MAP(1, 1, 1)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(1, 2, 0)
+ TDM_SLOT_MAP(1, 2, 1)
+ /* jack 2 */
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(2, 1, 0)
+ TDM_SLOT_MAP(2, 1, 1)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(2, 2, 0)
+ TDM_SLOT_MAP(2, 2, 1)
+ /* jack 3 */
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(3, 1, 0)
+ TDM_SLOT_MAP(3, 1, 1)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(0, 0, 0)
+ TDM_SLOT_MAP(3, 2, 0)
+ TDM_SLOT_MAP(3, 2, 1)>;
+
+ nvidia,audio-routing =
+ "Headphone-x", "x DAC1OUT",
+ "Headphone-x", "x DAC2OUT",
+ "Headphone-x", "x DAC3OUT",
+ "Headphone-x", "x DAC4OUT",
+ "x ADC1IN", "LineIn-x",
+ "x ADC2IN", "LineIn-x",
+
+ "Headphone-y", "y DAC1OUT",
+ "Headphone-y", "y DAC2OUT",
+ "Headphone-y", "y DAC3OUT",
+ "Headphone-y", "y DAC4OUT",
+ "y ADC1IN", "LineIn-y",
+ "y ADC2IN", "LineIn-y",
+
+ "Headphone-z", "z OUT",
+ "z IN", "LineIn-z";
+ nvidia,xbar = <&tegra_axbar>;
+
+ nvidia,dai-link-1 {
+ link-name = "ad-playback-x";
+ cpu-dai = <&tegra_i2s1>;
+ codec-dai = <&ad1937x>;
+ cpu-dai-name = "I2S1";
+ codec-dai-name = "ad193x-hifi";
+ tx-mask = <0xFF>;
+ rx-mask = <0xFF>;
+ format = "dsp_a";
+ bitclock-slave;
+ frame-slave;
+ bitclock-noninversion;
+ frame-noninversion;
+ bit-format = "s32_le";
+ bclk_ratio = <1>;
+ srate = <48000>;
+ num-channel = <8>;
+ name-prefix = "x";
+ };
+ nvidia,dai-link-2 {
+ link-name = "ad-playback-y";
+ cpu-dai = <&tegra_i2s2>;
+ codec-dai = <&ad1937y>;
+ cpu-dai-name = "I2S2";
+ codec-dai-name = "ad193x-hifi";
+ tx-mask = <0xFF>;
+ rx-mask = <0xFF>;
+ format = "dsp_a";
+ bitclock-master;
+ frame-master;
+ bitclock-noninversion;
+ frame-noninversion;
+ bit-format = "s32_le";
+ bclk_ratio = <1>;
+ srate = <48000>;
+ num-channel = <8>;
+ name-prefix = "y";
+ };
+ nvidia,dai-link-3 {
+ link-name = "spdif-playback";
+ cpu-dai = <&tegra_spdif>;
+ codec-dai = <&spdif_dit0>;
+ cpu-dai-name = "SPDIF1-1";
+ codec-dai-name = "dit-hifi";
+ tx-mask = <0xFF>;
+ rx-mask = <0xFF>;
+ bit-format = "s16_le";
+ bclk_ratio = <2>;
+ srate = <48000>;
+ num-channel = <2>;
+ name-prefix = "z";
+ };
+ };
+
+ spi@7000da00 {
+ status = "okay";
+ spi-max-frequency = <25000000>;
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = < 0x0 0x80000000 0x0 0x80000000>;
+ };
+
+ sata@70020000 {
+ status = "okay";
+ compatible = "nvidia,tegra210-ahci-sata";
+ nvidia,pexp-gpio = <&pca9539_76 11 0>, <&pca9539_76 12 0>;
+ nvidia,enable-sata-port;
+ };
+
+ regulators {
+ en_vdd_sd3: regulator@12 {
+ compatible = "regulator-fixed-sync";
+ reg = <12>;
+ regulator-name = "en-vdd-sd3";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ gpio = <&gpio TEGRA_GPIO(H, 6) 0>;
+ enable-active-high;
+ };
+ };
+
+ backlight {
+ compatible = "pwm-backlight";
+ status = "okay";
+ panel-j-1440-810-5-8-bl {
+ pwms = <&tegra_pwm 0 29334>;
+ };
+ panel-a-wuxga-8-0-bl {
+ pwms = <&tegra_pwm 0 40161>;
+ };
+ panel-s-wqxga-10-1-bl {
+ pwms = <&tegra_pwm 0 1000000>;
+ };
+ };
+
+ camera-pcl {
+ profiles {
+ imx214@x_001a {
+ use_of_node = "yes";
+ vana-supply = <&max77620_ldo3>;
+ vdig-supply = <&vdd_sys_boost>;
+ vif-supply = <&en_vdd_cam>;
+ af-gpios = <&gpio TEGRA_GPIO(S, 5) 0>;
+ reset-gpios = <&gpio TEGRA_GPIO(S, 7) 0>;
+ cam1-gpios = <&gpio TEGRA_GPIO(S, 7) 0>;
+ };
+ dw9714@x_000c {
+ use_of_node = "yes";
+ vdd-supply = <&max77620_ldo3>;
+ vdd_i2c-supply = <&en_vdd_cam>;
+ /* platform data */
+ dev_name = "focuser";
+ num = <0>;
+ sync = <0>;
+ };
+ as3648@x_0030 {
+ use_of_node = "yes";
+ vin-supply = <&vdd_sys_boost>;
+ vi2c-supply = <&en_vdd_cam>;
+ /* platform data */
+ dev_name = "torch";
+ num = <0>;
+ flash-type = <2>; /* 0-AS3643, 1-AS3647, 2-AS3648 */
+ strobe-gpio = <TEGRA_GPIO(S, 6)>;
+ strobe-type = <1> ; /* 1=edge, 2=level, 3=i2c */
+ /* pin state */
+ pin-mask = <0x10>;
+ pin-value = <0x10>;
+ };
+ ov5693@x_0036 {
+ use_of_node = "yes";
+ dev_name = "ov5693";
+ num = <1>;
+ vana-supply = <&max77620_ldo3>;
+ vif-supply = <&en_vdd_cam>;
+ cam2-gpios = <&gpio TEGRA_GPIO(T, 0) 0>;
+ };
+ ov5693@a_0036 {
+ use_of_node = "yes";
+ dev_name = "ov5693";
+ num = <0>;
+ vana-supply = <&max77620_ldo3>;
+ vif-supply = <&en_vdd_cam>;
+ cam2-gpios = <&gpio TEGRA_GPIO(S, 7) 0>;
+ cam,use-cam-gpio;
+ };
+ ov5693@b_0036 {
+ use_of_node = "yes";
+ dev_name = "ov5693";
+ num = <1>;
+ vana-supply = <&max77620_ldo3>;
+ vif-supply = <&en_vdd_cam>;
+ cam2-gpios = <&gpio TEGRA_GPIO(T, 0) 0>;
+ cam,use-cam-gpio;
+ };
+ ov5693@c_0036 {
+ use_of_node = "yes";
+ dev_name = "ov5693";
+ num = <2>;
+ vana-supply = <&max77620_ldo3>;
+ vif-supply = <&en_vdd_cam>;
+ cam2-gpios = <&gpio TEGRA_GPIO(T, 0) 0>;
+ cam,use-cam-gpio;
+ };
+ ov5693@d_0036 {
+ use_of_node = "yes";
+ dev_name = "ov5693";
+ num = <3>;
+ vana-supply = <&max77620_ldo3>;
+ vif-supply = <&en_vdd_cam>;
+ cam2-gpios = <&gpio TEGRA_GPIO(S, 7) 0>;
+ cam,use-cam-gpio;
+ };
+ ov5693@e_0036 {
+ use_of_node = "yes";
+ dev_name = "ov5693";
+ num = <4>;
+ vana-supply = <&max77620_ldo3>;
+ vif-supply = <&en_vdd_cam>;
+ cam2-gpios = <&gpio TEGRA_GPIO(Z, 3) 0>;
+ cam,use-cam-gpio;
+ };
+ ov5693@f_0036 {
+ use_of_node = "yes";
+ dev_name = "ov5693";
+ num = <5>;
+ vana-supply = <&max77620_ldo3>;
+ vif-supply = <&en_vdd_cam>;
+ cam2-gpios = <&gpio TEGRA_GPIO(T, 1) 0>;
+ cam,use-cam-gpio;
+ };
+ };
+ dpd {
+ default-enable;
+ };
+ };
+
+ udc@7d000000 {
+ nvidia,port-otg;
+ nvidia,charging-supported;
+ nvidia,enable-pmu-vbus-detection;
+ nvidia,turn-off-vbus-in-lp0;
+ nvidia,id-detection-type = <1>;
+ extcon-cables = <&bq2419x 0>;
+ extcon-cable-names = "vbus";
+ #extcon-cells = <1>;
+ status = "disabled";
+ dt-override-status-odm-data = <0x01000000 0x00000000>;
+ };
+
+ otg@7d000000 {
+ nvidia,enable-pmu-vbus-detection;
+ nvidia,id-detection-type = <1>;
+ extcon-cables = <&bq2419x 0 &id_gpio_extcon 0>;
+ extcon-cable-names = "vbus", "id";
+ #extcon-cells = <1>;
+ status = "disabled";
+ dt-override-status-odm-data = <0x01000000 0x00000000>;
+ };
+
+ /* Put common control config here */
+ xusb_pad_ctl: padctl@0 {
+ nvidia,ss_portmap = <0x2130>;
+ nvidia,lane_owner = <0xFF56>; /* Use 0xF to disable lane assign */
+ nvidia,otg_portmap = <0x0101>;
+ status = "okay";
+ };
+
+ xusb@70090000 {
+ /* nvidia,uses_external_pmic;
+ nvidia,gpio_controls_muxed_ss_lanes; */
+ nvidia,gpio_ss1_sata = <0>;
+ nvidia,ulpicap = <0>; /* No ulpi support. can we remove */
+ nvidia,portmap = <0x0e0e>;
+ nvidia,common_padctl = <&xusb_pad_ctl>;
+ status = "okay";
+ };
+
+ xudc@700d0000 {
+ extcon-cables = <&bq2419x 0>;
+ extcon-cable-names = "vbus";
+ #extcon-cells = <1>;
+ nvidia,common_padctl = <&xusb_pad_ctl>;
+ status = "disabled";
+ dt-override-status-odm-data = <0x01000000 0x01000000>;
+ };
+
+ xotg {
+ extcon-cables = <&id_gpio_extcon 0>;
+ extcon-cable-names = "id";
+ #extcon-cells = <1>;
+ nvidia,common_padctl = <&xusb_pad_ctl>;
+ status = "disabled";
+ dt-override-status-odm-data = <0x01000000 0x01000000>;
+ };
+
+ gpio-keys {
+ home {
+ status = "disabled";
+ };
+ };
+
+ i2c@7000d000 {
+ clock-frequency = <1000000>;
+ };
+
+ gpu-dvfs-rework {
+ status = "disabled";
+ };
+
+ i2c@546c0000 {
+ tca9548@6_0077 {
+ compatible = "nxp,pca9548";
+ reg = <0x77>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ vcc-supply = <&en_vdd_cam>;
+ skip_mux_detect;
+ force_bus_start = <T210_CAMERA_I2C_MUX_BUS(0)>;
+ i2c@0 {
+ reg = <0>;
+ i2c-mux,deselect-on-exit;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ i2c@1 {
+ reg = <1>;
+ i2c-mux,deselect-on-exit;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ i2c@2 {
+ reg = <2>;
+ i2c-mux,deselect-on-exit;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ i2c@3 {
+ reg = <3>;
+ i2c-mux,deselect-on-exit;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ i2c@4 {
+ reg = <4>;
+ i2c-mux,deselect-on-exit;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ i2c@5 {
+ reg = <5>;
+ i2c-mux,deselect-on-exit;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+ };
+ };
+
+ thermal-zones {
+ CPU-therm {
+ thermal-zone-params {
+ governor-name = "pid_thermal_gov";
+ max_err_temp = <9000>;
+ max_err_gain = <1000>;
+ gain_p = <1000>;
+ gain_d = <0>;
+ up_compensation = <20>;
+ down_compensation = <20>;
+ };
+ trips {
+ cpu_critical {
+ temperature = <99000>;
+ hysteresis = <0>;
+ type = "critical";
+ writable;
+ };
+ cpu_heavy {
+ temperature = <95000>;
+ hysteresis = <0>;
+ type = "hot";
+ writable;
+ };
+ cpu_throttle {
+ temperature = <85500>;
+ hysteresis = <0>;
+ type = "passive";
+ writable;
+ };
+ };
+ cooling-maps {
+ map0 {
+ trip = <&{/thermal-zones/CPU-therm/trips/cpu_critical}>;
+ cdev-type = "tegra-shutdown";
+ cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
+ THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ map1 {
+ trip = <&{/thermal-zones/CPU-therm/trips/cpu_heavy}>;
+ cdev-type = "tegra-heavy";
+ cooling-device = <&{/soctherm@0x700E2000/throttle@heavy}
+ THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ map2 {
+ trip = <&{/thermal-zones/CPU-therm/trips/cpu_throttle}>;
+ cdev-type = "cpu-balanced";
+ cooling-device = <&{/bthrot_cdev/cpu_balanced}
+ THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+ };
+ GPU-therm {
+ thermal-zone-params {
+ governor-name = "pid_thermal_gov";
+ max_err_temp = <9000>;
+ max_err_gain = <1000>;
+ gain_p = <1000>;
+ gain_d = <0>;
+ up_compensation = <20>;
+ down_compensation = <20>;
+ };
+ trips {
+ gpu_critical {
+ temperature = <97500>;
+ hysteresis = <0>;
+ type = "critical";
+ writable;
+ };
+ gpu_heavy {
+ temperature = <94500>;
+ hysteresis = <0>;
+ type = "hot";
+ writable;
+ };
+ gpu_throttle {
+ temperature = <85000>;
+ hysteresis = <0>;
+ type = "passive";
+ writable;
+ };
+ };
+ cooling-maps {
+ map0 {
+ trip = <&{/thermal-zones/GPU-therm/trips/gpu_critical}>;
+ cdev-type = "tegra-shutdown";
+ cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
+ THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ map1 {
+ trip = <&{/thermal-zones/GPU-therm/trips/gpu_heavy}>;
+ cdev-type = "tegra-heavy";
+ cooling-device = <&{/soctherm@0x700E2000/throttle@heavy}
+ THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ map2 {
+ trip = <&{/thermal-zones/GPU-therm/trips/gpu_throttle}>;
+ cdev-type = "gpu-balanced";
+ cooling-device = <&{/bthrot_cdev/gpu_balanced}
+ THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+ };
+ MEM_therm {
+ trips {
+ mem_critical {
+ temperature = <97500>;
+ hysteresis = <0>;
+ type = "critical";
+ writable;
+ };
+ };
+ cooling-maps {
+ map0 {
+ trip = <&{/thermal-zones/MEM_therm/trips/mem_critical}>;
+ cdev-type = "tegra-shutdown";
+ cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
+ THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+ };
+ PLL_therm {
+ thermal-zone-params {
+ governor-name = "pid_thermal_gov";
+ max_err_temp = <9000>;
+ max_err_gain = <1000>;
+ gain_p = <1000>;
+ gain_d = <0>;
+ up_compensation = <20>;
+ down_compensation = <20>;
+ };
+ trips {
+ pll_critical {
+ temperature = <100000>;
+ hysteresis = <0>;
+ type = "critical";
+ writable;
+ };
+ };
+ cooling-maps {
+ map0 {
+ trip = <&{/thermal-zones/PLL_therm/trips/pll_critical}>;
+ cdev-type = "tegra-shutdown";
+ cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
+ THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
+ };
+ };
+ };
+ Tboard_tegra {
+ status = "okay";
+ };
+ Tdiode_tegra {
+ status = "okay";
+ };
+ };
+
+ soctherm@0x700E2000 {
+ throttle@oc1 {
+ device_type = "throttlectl";
+ oc-alarm-id = <1>;
+ priority = <50>;
+ mode = "brief";
+ intr;
+ active_low;
+ count_threshold = <100>;
+ filter = <5100000>;
+ throttle_dev = <&{/soctherm@0x700E2000/throttle_dev@cpu_medium}
+ &{/soctherm@0x700E2000/throttle_dev@gpu_medium}>;
+ };
+ throttle_dev@cpu_medium {
+ dividend = <63>;
+ divisor = <255>;
+ duration = <0>;
+ step = <0>;
+ };
+ throttle_dev@gpu_medium {
+ level = "medium_throttling";
+ };
+ };
+};
/*
- * T210- DSC
- *
- * arch/arm64/boot/dts/tegra210-ers-e2220-1170-a00-00.dts
- *
- * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved.
+ * Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
*/
-/dts-v1/;
-
-/memreserve/ 0x80000000 0x00020000;
-
-#include "tegra210-common.dtsi"
+#include "tegra210-ers-e2220-1180-a00-00-common.dts"
#include "tegra210-platforms/tegra210-ers-emc.dtsi"
-#include "tegra210-platforms/tegra210-ers-extgpio-e2220-1170-a00.dtsi"
-#include "tegra210-platforms/tegra210-ers-power-tree-e2174-1101-a00.dtsi"
-#include "tegra210-platforms/tegra210-ers-e2220-powermon-e2174-1100-a00-00.dtsi"
-#include "tegra210-platforms/tegra210-ers-sensor-e2160-1000-a00.dtsi"
-#include "tegra210-platforms/tegra210-ers-gpio-e2220-1180-a00.dtsi"
-#include "tegra210-platforms/tegra210-ers-pinmux-e2220-1180-a00.dtsi"
-#include "tegra210-platforms/tegra210-comms.dtsi"
-#include "tegra210-platforms/tegra210-sdhci.dtsi"
-#include "tegra210-platforms/tegra210-audio.dtsi"
-#include "panel-j-1440-810-5-8.dtsi"
-#include "panel-a-wuxga-8-0.dtsi"
-#include "panel-s-wqxga-10-1.dtsi"
-#include "tegra210-platforms/tegra210-ers-hdmi-e2190-1100-a00.dtsi"
-#include "tegra210-platforms/tegra210-ers-keys-e2220-1170-a00.dtsi"
-#include "tegra210-platforms/tegra210-ers-camera-e2249-1002-a00.dtsi"
-#include "tegra210-platforms/tegra210-ers-pwm-fan-e2220-1170-a00.dtsi"
-#include "tegra210-platforms/tegra210-edp.dtsi"
-#include "tegra210-platforms/tegra210-ers-thermal-nct72-e2220-1170-a00.dtsi"
-#include "tegra210-platforms/tegra210-thermal-Tboard-Tdiode.dtsi"
-#include <dt-bindings/sound/tegra-asoc-alt.h>
-#include <dt-bindings/platform/t210/t210.h>
/ {
- model = "e2220";
- compatible = "nvidia,e2220", "nvidia,tegra210";
- nvidia,boardids = "2220:1180:00;2174:1101:00";
nvidia,dtsfilename = __FILE__;
- nvidia,proc-boardid = "2220:1180:00";
- nvidia,pmu-boardid = "2174:1101:00";
- nvidia,fastboot-usb-pid = <0x7100>;
- #address-cells = <2>;
- #size-cells = <2>;
-
- pmc@7000e400 {
- nvidia,invert-interrupt;
- };
-
- chosen {
- };
-
- sdhci@700b0600 {
- uhs-mask = <0x60>;
- built-in;
- power-off-rail;
- status = "okay";
- };
-
- sdhci@700b0400 {
- uhs-mask = <0x1c>;
- vddio_sdmmc-supply = <&max77620_sd3>;
- vddio_sd_slot-supply = <&en_vdd_sd3>;
- power-off-rail;
- status = "disabled";
- };
-
- sdhci@700b0200 {
- uhs-mask = <0x8>;
- bus-width = <4>;
- power-off-rail;
- status = "okay";
- };
-
- sdhci@700b0000 {
- uhs-mask = <0x8>;
- power-off-rail;
- status = "okay";
- };
-
- pcie-controller {
- nvidia,wake-gpio = <&gpio TEGRA_GPIO(A, 2) 0>;
- nvidia,lane-map = <0x14>;
- dvdd-pex-pll-supply = <&max77620_ldo1>;
- l0-dvddio-pex-supply = <&max77620_ldo1>;
- l1-dvddio-pex-supply = <&max77620_ldo1>;
- l2-dvddio-pex-supply = <&max77620_ldo1>;
- l3-dvddio-pex-supply = <&max77620_ldo1>;
- l4-dvddio-pex-supply = <&max77620_ldo1>;
- l5-dvddio-pex-supply = <&max77620_ldo1>;
- l6-dvddio-pex-supply = <&max77620_ldo1>;
- hvdd-pex-pll-e-supply = <&max77620_sd3>;
- l0-hvddio-pex-supply = <&max77620_sd3>;
- l1-hvddio-pex-supply = <&max77620_sd3>;
- l2-hvddio-pex-supply = <&max77620_sd3>;
- l3-hvddio-pex-supply = <&max77620_sd3>;
- l4-hvddio-pex-supply = <&max77620_sd3>;
- l5-hvddio-pex-supply = <&max77620_sd3>;
- l6-hvddio-pex-supply = <&max77620_sd3>;
- vddio-pex-ctl-supply = <&max77620_sd3>;
- status = "okay";
- pci@1,0 {
- status = "okay";
- nvidia,presence-detection-gpio = <&pca9539_76 1 0>;
- };
-
- pci@2,0 {
- status = "okay";
- nvidia,presence-detection-gpio = <&pca9539_76 2 0>;
- };
- };
-
- host1x {
- /* tegradc.0 */
- dc@54200000 {
- status = "okay";
- nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
- nvidia,emc-clk-rate = <204000000>;
- nvidia,cmu-enable = <1>;
- nvidia,low-v-win = <0x2>;
- nvidia,fb-bpp = <32>; /* bits per pixel */
- nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
- };
- /* tegradc.1 */
- dc@54240000 {
- status = "okay";
- nvidia,dc-flags = <TEGRA_DC_FLAG_ENABLED>;
- nvidia,emc-clk-rate = <300000000>;
- nvidia,fb-bpp = <32>; /* bits per pixel */
- nvidia,fb-flags = <TEGRA_FB_FLIP_ON_PROBE>;
- };
- dsi {
- nvidia,dsi-controller-vs = <DSI_VS_1>;
- status = "okay";
- panel-j-1440-810-5-8 {
- nvidia,dsi-dpd-pads = <DSIC_DPD_EN DSID_DPD_EN>;
- nvidia,panel-rst-gpio = <&gpio TEGRA_GPIO(V, 2) 0>; /* PV2 */
- nvidia,panel-bl-pwm-gpio = <&gpio TEGRA_GPIO(V, 0) 0>; /* PV0 */
- nvidia,panel-en-gpio = <&gpio TEGRA_GPIO(V, 1) 0>; /* PV1 */
- };
- panel-a-wuxga-8-0 {
- nvidia,dsi-dpd-pads = <DSIC_DPD_EN DSID_DPD_EN>;
- nvidia,panel-rst-gpio = <&gpio TEGRA_GPIO(V, 2) 0>; /* PV2 */
- nvidia,panel-bl-pwm-gpio = <&gpio TEGRA_GPIO(V, 0) 0>; /* PV0 */
- nvidia,panel-en-gpio = <&gpio TEGRA_GPIO(V, 1) 0>; /* PV1 */
- };
- panel-s-wqxga-10-1 {
- nvidia,panel-rst-gpio = <&gpio TEGRA_GPIO(V, 2) 0>; /* PV2 */
- nvidia,panel-bl-pwm-gpio = <&gpio TEGRA_GPIO(V, 0) 0>; /* PV0 */
- nvidia,panel-en-gpio = <&gpio TEGRA_GPIO(V, 1) 0>; /* PV1 */
- };
- };
- };
-
-
- spi@7000d400 {
- status = "okay";
- earSmart: earSmart-codec@0 {
- compatible = "adnc,earSmart-codec";
- reg = <0>;
- spi-max-frequency = <6000000>;
- spi-cpha;
-
- adnc,reset-gpio = <&gpio TEGRA_GPIO(BB, 3) GPIO_ACTIVE_HIGH>;
- adnc,gpiob-gpio = <&gpio TEGRA_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
- adnc,wakeup-gpio = <&gpio TEGRA_GPIO(K, 2) GPIO_ACTIVE_HIGH>;
-
- adnc,int-gpio = <(-1)>;
- adnc,gpioa-gpio = <(-1)>;
- adnc,enable_hs_uart_intf = <0>;
- adnc,ext_clk_rate = <0>;
- adnc,debounce_timer = <3>;
- adnc,plug_det_enabled = <1>;
- adnc,mic_det_enabled = <1>;
-
- adnc,gpio_b_irq_type = <4>;
- adnc,cmd_comp_mode = <0>;
-
- /* Button Control 1 */
- adnc,btn_press_settling_time = <4>;
- adnc,btn_press_polling_rate = <1>;
- adnc,btn_press_det_act = <1>;
-
- /* Button Control 2 */
- adnc,double_btn_timer = <(-1)>;
- adnc,mic_det_settling_timer = <(-1)>;
-
- /* Button Control 3 */
- adnc,long_btn_timer = <(-1)>;
- adnc,adc_btn_mute = <(-1)>;
-
- /* Button Control 4 */
- adnc,valid_levels = <31>;
- adnc,impd_det_timer = <0>;
- };
- };
-
- i2c@7000c000 {
- ad1937x: ad193x.0-0004@04 {
- compatible = "ad,ad1937";
- reg = <0x04>;
- };
- ad1937y: ad193x.0-0005@05 {
- compatible = "ad,ad1937";
- reg = <0x05>;
- };
- pca9546@71 {
- i2c@3 {
- gpio@76 {
- default {
- gpio-output-low = <12 14 15>;
- gpio-output-high = <5 6 11 13>;
- };
- };
- };
- };
- };
-
- i2c@546c0000 {
- avdd_dsi_csi-supply = <&max77620_gpio7>;
- };
-
- adma@702e2000 {
- interrupts = <0 24 0x04
- 0 25 0x04
- 0 26 0x04
- 0 27 0x04
- 0 28 0x04
- 0 29 0x04
- 0 30 0x04
- 0 31 0x04
- 0 32 0x04
- 0 33 0x04>;
- dma-channels = <10>;
- status = "okay";
- };
-
- ahub {
- i2s@702d1000 {
- pinctrl-names = "dap_active", "dap_inactive";
- pinctrl-0 = <>;
- pinctrl-1 = <>;
- regulator-supplies = "vdd-1v8-audio-hv", "vdd-1v8-audio-hv-bias";
- vdd-1v8-audio-hv-supply = <&max77620_sd3>;
- vdd-1v8-audio-hv-bias-supply = <&max77620_sd3>;
- fsync-width = <31>;
- };
-
- i2s@702d1100 {
- pinctrl-names = "dap_active", "dap_inactive";
- pinctrl-0 = <>;
- pinctrl-1 = <>;
- regulator-supplies = "vdd-1v8-spi-hv", "vdd-1v8-spi-hv-bias";
- vdd-1v8-spi-hv-supply = <&max77620_sd3>;
- vdd-1v8-spi-hv-bias-supply = <&max77620_sd3>;
- fsync-width = <0>;
- };
-
- i2s@702d1300 {
- pinctrl-names = "dap_active", "dap_inactive";
- pinctrl-0 = <>;
- pinctrl-1 = <>;
- regulator-supplies = "vddio-dmic";
- vddio-dmic-supply = <&max77620_sd3>;
- };
-
- spdif@702d6000 {
- pinctrl-names = "dap_active", "dap_inactive";
- pinctrl-0 = <>;
- pinctrl-1 = <>;
- regulator-supplies = "vdd-io-1v8-dp", "vdd-1v8-dp";
- vdd-io-1v8-dp-supply = <&max77620_sd3>;
- vdd-1v8-dp-supply = <&max77620_sd3>;
- };
- };
-
- sound {
- compatible = "nvidia,tegra-audio-t210ref-mobile-es755";
- nvidia,model = "tegra-snd-t210ref-mobile-es755";
- nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
- nvidia,num-codec-link = <2>;
-
- nvidia,audio-routing =
- "y Headphone", "y OUT",
- "y IN", "y Mic";
-
- nvidia,xbar = <&tegra_axbar>;
-
- nvidia,dai-link-1 {
- link-name = "earSmart-playback";
- cpu-dai = <&tegra_i2s1>;
- codec-dai = <&earSmart>;
- cpu-dai-name = "I2S1";
- codec-dai-name = "earSmart-porta";
- format = "i2s";
- bitclock-slave;
- frame-slave;
- bitclock-noninversion;
- frame-noninversion;
- bit-format = "s16_le";
- bclk_ratio = <0>;
- srate = <48000>;
- num-channel = <2>;
- name-prefix = "x";
- };
- nvidia,dai-link-2 {
- link-name = "spdif-dit-1";
- cpu-dai = <&tegra_i2s2>;
- codec-dai = <&spdif_dit1>;
- cpu-dai-name = "I2S2";
- codec-dai-name = "dit-hifi";
- format = "dsp_a";
- bitclock-slave;
- frame-slave;
- bitclock-inversion;
- frame-inversion;
- bit-format = "s16_le";
- bclk_ratio = <4>;
- srate = <8000>;
- num-channel = <1>;
- name-prefix = "y";
- };
- };
-
- sound_ref {
- compatible = "nvidia,tegra-audio-t210ref";
- nvidia,model = "tegra-snd-t210ref";
- nvidia,num-codec-link = <3>;
- nvidia,num-amx = <2>;
- nvidia,num-adx = <2>;
- nvidia,amx-slot-size = <32 32>;
- nvidia,adx-slot-size = <32 32>;
- nvidia,addr-max9485 = <0>;
- nvidia,amx-slot-map = <
- /* jack 0 */
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 1, 0)
- TDM_SLOT_MAP(0, 1, 1)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 2, 0)
- TDM_SLOT_MAP(0, 2, 1)
- /* jack 1 */
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(1, 1, 0)
- TDM_SLOT_MAP(1, 1, 1)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(1, 2, 0)
- TDM_SLOT_MAP(1, 2, 1)
- /* jack 2 */
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(2, 1, 0)
- TDM_SLOT_MAP(2, 1, 1)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(2, 2, 0)
- TDM_SLOT_MAP(2, 2, 1)
- /* jack 3 */
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(3, 1, 0)
- TDM_SLOT_MAP(3, 1, 1)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(3, 2, 0)
- TDM_SLOT_MAP(3, 2, 1)>;
- nvidia,adx-slot-map = <
- /* jack 0 */
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 1, 0)
- TDM_SLOT_MAP(0, 1, 1)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 2, 0)
- TDM_SLOT_MAP(0, 2, 1)
- /* jack 1 */
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(1, 1, 0)
- TDM_SLOT_MAP(1, 1, 1)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(1, 2, 0)
- TDM_SLOT_MAP(1, 2, 1)
- /* jack 2 */
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(2, 1, 0)
- TDM_SLOT_MAP(2, 1, 1)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(2, 2, 0)
- TDM_SLOT_MAP(2, 2, 1)
- /* jack 3 */
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(3, 1, 0)
- TDM_SLOT_MAP(3, 1, 1)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(0, 0, 0)
- TDM_SLOT_MAP(3, 2, 0)
- TDM_SLOT_MAP(3, 2, 1)>;
-
- nvidia,audio-routing =
- "Headphone-x", "x DAC1OUT",
- "Headphone-x", "x DAC2OUT",
- "Headphone-x", "x DAC3OUT",
- "Headphone-x", "x DAC4OUT",
- "x ADC1IN", "LineIn-x",
- "x ADC2IN", "LineIn-x",
-
- "Headphone-y", "y DAC1OUT",
- "Headphone-y", "y DAC2OUT",
- "Headphone-y", "y DAC3OUT",
- "Headphone-y", "y DAC4OUT",
- "y ADC1IN", "LineIn-y",
- "y ADC2IN", "LineIn-y",
-
- "Headphone-z", "z OUT",
- "z IN", "LineIn-z";
- nvidia,xbar = <&tegra_axbar>;
-
- nvidia,dai-link-1 {
- link-name = "ad-playback-x";
- cpu-dai = <&tegra_i2s1>;
- codec-dai = <&ad1937x>;
- cpu-dai-name = "I2S1";
- codec-dai-name = "ad193x-hifi";
- tx-mask = <0xFF>;
- rx-mask = <0xFF>;
- format = "dsp_a";
- bitclock-slave;
- frame-slave;
- bitclock-noninversion;
- frame-noninversion;
- bit-format = "s32_le";
- bclk_ratio = <1>;
- srate = <48000>;
- num-channel = <8>;
- name-prefix = "x";
- };
- nvidia,dai-link-2 {
- link-name = "ad-playback-y";
- cpu-dai = <&tegra_i2s2>;
- codec-dai = <&ad1937y>;
- cpu-dai-name = "I2S2";
- codec-dai-name = "ad193x-hifi";
- tx-mask = <0xFF>;
- rx-mask = <0xFF>;
- format = "dsp_a";
- bitclock-master;
- frame-master;
- bitclock-noninversion;
- frame-noninversion;
- bit-format = "s32_le";
- bclk_ratio = <1>;
- srate = <48000>;
- num-channel = <8>;
- name-prefix = "y";
- };
- nvidia,dai-link-3 {
- link-name = "spdif-playback";
- cpu-dai = <&tegra_spdif>;
- codec-dai = <&spdif_dit0>;
- cpu-dai-name = "SPDIF1-1";
- codec-dai-name = "dit-hifi";
- tx-mask = <0xFF>;
- rx-mask = <0xFF>;
- bit-format = "s16_le";
- bclk_ratio = <2>;
- srate = <48000>;
- num-channel = <2>;
- name-prefix = "z";
- };
- };
-
- spi@7000da00 {
- status = "okay";
- spi-max-frequency = <25000000>;
- };
-
- memory@80000000 {
- device_type = "memory";
- reg = < 0x0 0x80000000 0x0 0x80000000>;
- };
-
- sata@70020000 {
- status = "okay";
- compatible = "nvidia,tegra210-ahci-sata";
- nvidia,pexp-gpio = <&pca9539_76 11 0>, <&pca9539_76 12 0>;
- nvidia,enable-sata-port;
- };
-
- regulators {
- en_vdd_sd3: regulator@12 {
- compatible = "regulator-fixed-sync";
- reg = <12>;
- regulator-name = "en-vdd-sd3";
- regulator-min-microvolt = <3300000>;
- regulator-max-microvolt = <3300000>;
- gpio = <&gpio TEGRA_GPIO(H, 6) 0>;
- enable-active-high;
- };
- };
-
- backlight {
- compatible = "pwm-backlight";
- status = "okay";
- panel-j-1440-810-5-8-bl {
- pwms = <&tegra_pwm 0 29334>;
- };
- panel-a-wuxga-8-0-bl {
- pwms = <&tegra_pwm 0 40161>;
- };
- panel-s-wqxga-10-1-bl {
- pwms = <&tegra_pwm 0 1000000>;
- };
- };
-
- camera-pcl {
- profiles {
- imx214@x_001a {
- use_of_node = "yes";
- vana-supply = <&max77620_ldo3>;
- vdig-supply = <&vdd_sys_boost>;
- vif-supply = <&en_vdd_cam>;
- af-gpios = <&gpio TEGRA_GPIO(S, 5) 0>;
- reset-gpios = <&gpio TEGRA_GPIO(S, 7) 0>;
- cam1-gpios = <&gpio TEGRA_GPIO(S, 7) 0>;
- };
- dw9714@x_000c {
- use_of_node = "yes";
- vdd-supply = <&max77620_ldo3>;
- vdd_i2c-supply = <&en_vdd_cam>;
- /* platform data */
- dev_name = "focuser";
- num = <0>;
- sync = <0>;
- };
- as3648@x_0030 {
- use_of_node = "yes";
- vin-supply = <&vdd_sys_boost>;
- vi2c-supply = <&en_vdd_cam>;
- /* platform data */
- dev_name = "torch";
- num = <0>;
- flash-type = <2>; /* 0-AS3643, 1-AS3647, 2-AS3648 */
- strobe-gpio = <TEGRA_GPIO(S, 6)>;
- strobe-type = <1> ; /* 1=edge, 2=level, 3=i2c */
- /* pin state */
- pin-mask = <0x10>;
- pin-value = <0x10>;
- };
- ov5693@x_0036 {
- use_of_node = "yes";
- dev_name = "ov5693";
- num = <1>;
- vana-supply = <&max77620_ldo3>;
- vif-supply = <&en_vdd_cam>;
- cam2-gpios = <&gpio TEGRA_GPIO(T, 0) 0>;
- };
- ov5693@a_0036 {
- use_of_node = "yes";
- dev_name = "ov5693";
- num = <0>;
- vana-supply = <&max77620_ldo3>;
- vif-supply = <&en_vdd_cam>;
- cam2-gpios = <&gpio TEGRA_GPIO(S, 7) 0>;
- cam,use-cam-gpio;
- };
- ov5693@b_0036 {
- use_of_node = "yes";
- dev_name = "ov5693";
- num = <1>;
- vana-supply = <&max77620_ldo3>;
- vif-supply = <&en_vdd_cam>;
- cam2-gpios = <&gpio TEGRA_GPIO(T, 0) 0>;
- cam,use-cam-gpio;
- };
- ov5693@c_0036 {
- use_of_node = "yes";
- dev_name = "ov5693";
- num = <2>;
- vana-supply = <&max77620_ldo3>;
- vif-supply = <&en_vdd_cam>;
- cam2-gpios = <&gpio TEGRA_GPIO(T, 0) 0>;
- cam,use-cam-gpio;
- };
- ov5693@d_0036 {
- use_of_node = "yes";
- dev_name = "ov5693";
- num = <3>;
- vana-supply = <&max77620_ldo3>;
- vif-supply = <&en_vdd_cam>;
- cam2-gpios = <&gpio TEGRA_GPIO(S, 7) 0>;
- cam,use-cam-gpio;
- };
- ov5693@e_0036 {
- use_of_node = "yes";
- dev_name = "ov5693";
- num = <4>;
- vana-supply = <&max77620_ldo3>;
- vif-supply = <&en_vdd_cam>;
- cam2-gpios = <&gpio TEGRA_GPIO(Z, 3) 0>;
- cam,use-cam-gpio;
- };
- ov5693@f_0036 {
- use_of_node = "yes";
- dev_name = "ov5693";
- num = <5>;
- vana-supply = <&max77620_ldo3>;
- vif-supply = <&en_vdd_cam>;
- cam2-gpios = <&gpio TEGRA_GPIO(T, 1) 0>;
- cam,use-cam-gpio;
- };
- };
- dpd {
- default-enable;
- };
- };
-
- udc@7d000000 {
- nvidia,port-otg;
- nvidia,charging-supported;
- nvidia,enable-pmu-vbus-detection;
- nvidia,turn-off-vbus-in-lp0;
- nvidia,id-detection-type = <1>;
- extcon-cables = <&bq2419x 0>;
- extcon-cable-names = "vbus";
- #extcon-cells = <1>;
- status = "disabled";
- dt-override-status-odm-data = <0x01000000 0x00000000>;
- };
-
- otg@7d000000 {
- nvidia,enable-pmu-vbus-detection;
- nvidia,id-detection-type = <1>;
- extcon-cables = <&bq2419x 0 &id_gpio_extcon 0>;
- extcon-cable-names = "vbus", "id";
- #extcon-cells = <1>;
- status = "disabled";
- dt-override-status-odm-data = <0x01000000 0x00000000>;
- };
-
- /* Put common control config here */
- xusb_pad_ctl: padctl@0 {
- nvidia,ss_portmap = <0x2130>;
- nvidia,lane_owner = <0xFF56>; /* Use 0xF to disable lane assign */
- nvidia,otg_portmap = <0x0101>;
- status = "okay";
- };
-
- xusb@70090000 {
- /* nvidia,uses_external_pmic;
- nvidia,gpio_controls_muxed_ss_lanes; */
- nvidia,gpio_ss1_sata = <0>;
- nvidia,ulpicap = <0>; /* No ulpi support. can we remove */
- nvidia,portmap = <0x0e0e>;
- nvidia,common_padctl = <&xusb_pad_ctl>;
- status = "okay";
- };
-
- xudc@700d0000 {
- extcon-cables = <&bq2419x 0>;
- extcon-cable-names = "vbus";
- #extcon-cells = <1>;
- nvidia,common_padctl = <&xusb_pad_ctl>;
- status = "disabled";
- dt-override-status-odm-data = <0x01000000 0x01000000>;
- };
-
- xotg {
- extcon-cables = <&id_gpio_extcon 0>;
- extcon-cable-names = "id";
- #extcon-cells = <1>;
- nvidia,common_padctl = <&xusb_pad_ctl>;
- status = "disabled";
- dt-override-status-odm-data = <0x01000000 0x01000000>;
- };
-
- gpio-keys {
- home {
- status = "disabled";
- };
- };
-
- i2c@7000d000 {
- clock-frequency = <1000000>;
- };
-
- gpu-dvfs-rework {
- status = "disabled";
- };
-
- i2c@546c0000 {
- tca9548@6_0077 {
- compatible = "nxp,pca9548";
- reg = <0x77>;
- #address-cells = <1>;
- #size-cells = <0>;
- vcc-supply = <&en_vdd_cam>;
- skip_mux_detect;
- force_bus_start = <T210_CAMERA_I2C_MUX_BUS(0)>;
- i2c@0 {
- reg = <0>;
- i2c-mux,deselect-on-exit;
- #address-cells = <1>;
- #size-cells = <0>;
- };
- i2c@1 {
- reg = <1>;
- i2c-mux,deselect-on-exit;
- #address-cells = <1>;
- #size-cells = <0>;
- };
- i2c@2 {
- reg = <2>;
- i2c-mux,deselect-on-exit;
- #address-cells = <1>;
- #size-cells = <0>;
- };
- i2c@3 {
- reg = <3>;
- i2c-mux,deselect-on-exit;
- #address-cells = <1>;
- #size-cells = <0>;
- };
- i2c@4 {
- reg = <4>;
- i2c-mux,deselect-on-exit;
- #address-cells = <1>;
- #size-cells = <0>;
- };
- i2c@5 {
- reg = <5>;
- i2c-mux,deselect-on-exit;
- #address-cells = <1>;
- #size-cells = <0>;
- };
- };
- };
-
- thermal-zones {
- CPU-therm {
- thermal-zone-params {
- governor-name = "pid_thermal_gov";
- max_err_temp = <9000>;
- max_err_gain = <1000>;
- gain_p = <1000>;
- gain_d = <0>;
- up_compensation = <20>;
- down_compensation = <20>;
- };
- trips {
- cpu_critical {
- temperature = <99000>;
- hysteresis = <0>;
- type = "critical";
- writable;
- };
- cpu_heavy {
- temperature = <95000>;
- hysteresis = <0>;
- type = "hot";
- writable;
- };
- cpu_throttle {
- temperature = <85500>;
- hysteresis = <0>;
- type = "passive";
- writable;
- };
- };
- cooling-maps {
- map0 {
- trip = <&{/thermal-zones/CPU-therm/trips/cpu_critical}>;
- cdev-type = "tegra-shutdown";
- cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
- };
- map1 {
- trip = <&{/thermal-zones/CPU-therm/trips/cpu_heavy}>;
- cdev-type = "tegra-heavy";
- cooling-device = <&{/soctherm@0x700E2000/throttle@heavy}
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
- };
- map2 {
- trip = <&{/thermal-zones/CPU-therm/trips/cpu_throttle}>;
- cdev-type = "cpu-balanced";
- cooling-device = <&{/bthrot_cdev/cpu_balanced}
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
- };
- };
- };
- GPU-therm {
- thermal-zone-params {
- governor-name = "pid_thermal_gov";
- max_err_temp = <9000>;
- max_err_gain = <1000>;
- gain_p = <1000>;
- gain_d = <0>;
- up_compensation = <20>;
- down_compensation = <20>;
- };
- trips {
- gpu_critical {
- temperature = <97500>;
- hysteresis = <0>;
- type = "critical";
- writable;
- };
- gpu_heavy {
- temperature = <94500>;
- hysteresis = <0>;
- type = "hot";
- writable;
- };
- gpu_throttle {
- temperature = <85000>;
- hysteresis = <0>;
- type = "passive";
- writable;
- };
- };
- cooling-maps {
- map0 {
- trip = <&{/thermal-zones/GPU-therm/trips/gpu_critical}>;
- cdev-type = "tegra-shutdown";
- cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
- };
- map1 {
- trip = <&{/thermal-zones/GPU-therm/trips/gpu_heavy}>;
- cdev-type = "tegra-heavy";
- cooling-device = <&{/soctherm@0x700E2000/throttle@heavy}
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
- };
- map2 {
- trip = <&{/thermal-zones/GPU-therm/trips/gpu_throttle}>;
- cdev-type = "gpu-balanced";
- cooling-device = <&{/bthrot_cdev/gpu_balanced}
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
- };
- };
- };
- MEM_therm {
- trips {
- mem_critical {
- temperature = <97500>;
- hysteresis = <0>;
- type = "critical";
- writable;
- };
- };
- cooling-maps {
- map0 {
- trip = <&{/thermal-zones/MEM_therm/trips/mem_critical}>;
- cdev-type = "tegra-shutdown";
- cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
- };
- };
- };
- PLL_therm {
- thermal-zone-params {
- governor-name = "pid_thermal_gov";
- max_err_temp = <9000>;
- max_err_gain = <1000>;
- gain_p = <1000>;
- gain_d = <0>;
- up_compensation = <20>;
- down_compensation = <20>;
- };
- trips {
- pll_critical {
- temperature = <100000>;
- hysteresis = <0>;
- type = "critical";
- writable;
- };
- };
- cooling-maps {
- map0 {
- trip = <&{/thermal-zones/PLL_therm/trips/pll_critical}>;
- cdev-type = "tegra-shutdown";
- cooling-device = <&{/soctherm@0x700E2000/throttle@critical}
- THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
- };
- };
- };
- Tboard_tegra {
- status = "okay";
- };
- Tdiode_tegra {
- status = "okay";
- };
- };
-
- soctherm@0x700E2000 {
- throttle@oc1 {
- device_type = "throttlectl";
- oc-alarm-id = <1>;
- priority = <50>;
- mode = "brief";
- intr;
- active_low;
- count_threshold = <100>;
- filter = <5100000>;
- throttle_dev = <&{/soctherm@0x700E2000/throttle_dev@cpu_medium}
- &{/soctherm@0x700E2000/throttle_dev@gpu_medium}>;
- };
- throttle_dev@cpu_medium {
- dividend = <63>;
- divisor = <255>;
- duration = <0>;
- step = <0>;
- };
- throttle_dev@gpu_medium {
- level = "medium_throttling";
- };
- };
};
--- /dev/null
+/*
+ * Copyright (c) 2015, NVIDIA CORPORATION. All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#include "tegra210-ers-e2220-1180-a00-00-common.dts"
+#include "tegra210-platforms/tegra210-ers-p2143-emc.dtsi"
+
+/ {
+ nvidia,dtsfilename = __FILE__;
+};