/* * Copyright (c) 2014-2017, 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; either version 2 of the License, or * (at your option) any later version. * * 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 #include #include #include #include #include #include #include #include #include #include #include #include #include / { nvidia,dtbbuildtime = __DATE__, __TIME__; serial@70006000 { compatible = "nvidia,tegra210-uart", "nvidia,tegra114-hsuart", "nvidia,tegra20-uart"; console-port; sqa-automation-port; enable-rx-poll-timer; /delete-property/ resets; /delete-property/ reset-names; status = "okay"; }; serial@70006040 { status = "okay"; }; serial@70006200 { status = "okay"; }; serial@70006300 { status = "okay"; }; rtc { nvidia,pmc-wakeup = <&tegra_pmc PMC_WAKE_TYPE_EVENT 16 PMC_TRIGGER_TYPE_HIGH>; }; nvpmodel { status = "okay"; }; tegra_udrm: tegra_udrm { compatible = "nvidia,tegra-udrm"; }; pmc@7000e400 { nvidia,suspend-mode = <0>; nvidia,cpu-pwr-good-time = <0>; nvidia,cpu-pwr-off-time = <0>; nvidia,core-pwr-good-time = <4587 3876>; nvidia,core-pwr-off-time = <39065>; nvidia,core-pwr-req-active-high; nvidia,sys-clock-req-active-high; #nvidia,wake-cells = <3>; nvidia,restrict-voltage-switch; iopad-defaults { pex-io-pads { pins = "pex-bias", "pex-clk1", "pex-clk2"; low-power-enable; }; }; bootrom-commands { nvidia,command-retries-count = <2>; nvidia,delay-between-commands-us = <10>; nvidia,wait-start-bus-clear-us = <10>; #address-cells = <1>; #size-cells = <0>; }; }; extcon { id_gpio_extcon: extcon@0 { compatible = "extcon-gpio"; reg = <0x0>; extcon-gpio,name = "ID"; gpio = <&max77620 0 0>; extcon-gpio,connection-state-low; extcon-gpio,cable-name = "USB-Host"; #extcon-cells = <1>; }; }; usb_cd: usb_cd@7009f000 { compatible = "nvidia,tegra210-usb-cd"; reg = <0x0 0x7009f000 0x0 0x1000>; #extcon-cells = <1>; status = "disabled"; dt-override-status-odm-data = <0x1000000 0x1000000>; }; psy_extcon_xudc { compatible = "power-supply-extcon"; extcon-cables = <&usb_cd 1 &usb_cd 2 &usb_cd 3 &usb_cd 4 &usb_cd 5 &usb_cd 6 &usb_cd 7 &usb_cd 8 &usb_cd 9>; extcon-cable-names = "usb-charger", "ta-charger", "maxim-charger", "qc2-charger", "downstream-charger", "slow-charger", "apple-500ma", "apple-1a", "apple-2a"; status = "disabled"; dt-override-status-odm-data = <0x1000000 0x1000000>; }; tegra_wdt: watchdog@60005100 { dt-override-status-odm-data = <0x00010000 0x00010000>; nvidia,enable-on-init; timeout-sec = <120>; status = "disabled"; }; soft_wdt: soft_watchdog { compatible = "softdog-platform"; status = "okay"; dt-override-status-odm-data = <0x00030000 0x00000000>; }; tegra-supply-tests { compatible = "nvidia,tegra-supply-tests"; vdd-core-supply=<&max77620_sd0>; }; camera-pcl { dpd { compatible = "nvidia,csi-dpd"; #address-cells = <1>; #size-cells = <0>; num = <6>; csia { reg = <0x0 0x0 0x0 0x0>; }; csib { reg = <0x0 0x1 0x0 0x0>; }; csic { reg = <0x1 0x0a 0x0 0x0>; }; csid { reg = <0x1 0x0b 0x0 0x0>; }; csie { reg = <0x1 0x0c 0x0 0x0>; }; csif { reg = <0x1 0x0d 0x0 0x0>; }; }; }; rollback-protection { device-name = "sdmmc"; device-method = <0x1 0x00000002>; /* type (0x1 = ioctl), argument */ status = "disabled"; }; apbmisc@70000800 { compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc"; reg = <0x0 0x70000800 0x0 0x64>, /* Chip revision */ <0x0 0x70000008 0x0 0x04>; /* Strapping options */ }; pwm@7000a000 { nvidia,no-clk-sleeping-in-ops; }; pwm@70110000 { pwm-regulator = <&cpu_ovr_reg>; status = "disabled"; }; pwm_regulators { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <0>; cpu_ovr_reg: pwm-regulator@0 { status = "okay"; reg = <0>; compatible = "pwm-regulator"; pwms = <&tegra_pwm_dfll 0 2500>; regulator-name = "vdd-cpu"; regulator-min-microvolt = <708000>; regulator-max-microvolt = <1322400>; regulator-always-on; regulator-boot-on; voltage-table = <708000 0>, <727200 1>, <746400 2>, <765600 3>, <784800 4>, <804000 5>, <823200 6>, <842400 7>, <861600 8>, <880800 9>, <900000 10>, <919200 11>, <938400 12>, <957600 13>, <976800 14>, <996000 15>, <1015200 16>, <1034400 17>, <1053600 18>, <1072800 19>, <1092000 20>, <1111200 21>, <1130400 22>, <1149600 23>, <1168800 24>, <1188000 25>, <1207200 26>, <1226400 27>, <1245600 28>, <1264800 29>, <1284000 30>, <1303200 31>, <1322400 32>; }; gpu_ovr_reg: pwm-regulator@1 { status = "okay"; reg = <1>; compatible = "pwm-regulator"; pwms = <&tegra_pwm 1 8000>; regulator-name = "vdd-gpu"; regulator-min-microvolt = <710000>; regulator-max-microvolt = <1320000>; regulator-init-microvolt = <1000000>; regulator-n-voltages = <62>; regulator-enable-ramp-delay = <2000>; enable-gpio = <&max77620 6 0>; regulator-settling-time-us = <160>; }; }; cpus { cpu@0 { clocks = <&tegra_car TEGRA210_CLK_CCLK_G>, <&tegra_car TEGRA210_CLK_CCLK_LP>, <&tegra_car TEGRA210_CLK_PLL_X>, <&tegra_car TEGRA210_CLK_PLL_P_OUT4>, <&tegra_clk_dfll>; clock-names = "cpu_g", "cpu_lp", "pll_x", "pll_p", "dfll"; clock-latency = <300000>; }; }; memory-controller@70019000 { status = "okay"; }; dfll_cap: dfll-cdev-cap { compatible = "nvidia,tegra-dfll-cdev-action"; act-dev = <&tegra_clk_dfll>; cdev-type = "DFLL-cap"; #cooling-cells = <2>; /* min followed by max */ }; dfll_floor: dfll-cdev-floor { compatible = "nvidia,tegra-dfll-cdev-action"; act-dev = <&tegra_clk_dfll>; cdev-type = "DFLL-floor"; #cooling-cells = <2>; /* min followed by max */ }; gpu_scaling_cdev: gpu-scaling-cdev { cooling-min-state = <0>; cooling-max-state = <5>; #cooling-cells = <2>; compatible = "nvidia,tegra210-rail-scaling-cdev"; cdev-type = "gpu_scaling"; nvidia,constraint; nvidia,trips = <&gpu_scaling_trip0 950 &gpu_scaling_trip1 0 &gpu_scaling_trip2 0 &gpu_scaling_trip3 0 &gpu_scaling_trip4 0 &gpu_scaling_trip5 0>; }; gpu_vmax_cdev: gpu-vmax-cdev { cooling-min-state = <0>; cooling-max-state = <1>; #cooling-cells = <2>; compatible = "nvidia,tegra210-rail-vmax-cdev"; cdev-type = "GPU-cap"; nvidia,constraint-ucm2; nvidia,trips = <&gpu_vmax_trip1 1132 1090>; clocks = <&tegra_car TEGRA210_CLK_CAP_VGPU_GBUS>; clock-names = "cap-clk"; }; thermal-zones { CPU-therm { trips { dfll_cap_trip0: dfll-cap-trip0 { temperature = ; /* millicelsius */ hysteresis = <1000>; /* millicelsius */ type = "active"; }; dfll_cap_trip1: dfll-cap-trip1 { temperature = ; /* millicelsius */ hysteresis = <1000>; /* millicelsius */ type = "active"; }; cpu_vmax1: cpu-vmax1 { temperature = <66000>; hysteresis = <1000>; type = "active"; }; cpu_vmax2: cpu-vmax2 { temperature = <86000>; hysteresis = <1000>; type = "active"; }; gpu_vmax1: gpu-vmax1 { temperature = <83000>; hysteresis = <1000>; type = "active"; }; core_vmax1: core-vmax1 { temperature = <86000>; hysteresis = <1000>; type = "active"; }; }; cooling-maps { dfll-cap-map0 { trip = <&dfll_cap_trip0>; cooling-device = <&dfll_cap 1 1>; }; dfll-cap-map1 { trip = <&dfll_cap_trip1>; cooling-device = <&dfll_cap 2 2>; }; }; }; Tdiode_tegra { trips { gpu_scaling_trip0: gpu-scaling-trip0 { temperature = <(-25000)>; /* millicelsius */ hysteresis = <0>; /* millicelsius */ type = "active"; }; gpu_scaling_trip1: gpu-scaling-trip1 { temperature = <15000>; /* millicelsius */ hysteresis = <1000>; /* millicelsius */ type = "active"; }; gpu_scaling_trip2: gpu-scaling-trip2 { temperature = <30000>; /* millicelsius */ hysteresis = <1000>; /* millicelsius */ type = "active"; }; gpu_scaling_trip3: gpu-scaling-trip3 { temperature = <50000>; /* millicelsius */ hysteresis = <1000>; /* millicelsius */ type = "active"; }; gpu_scaling_trip4: gpu-scaling-trip4 { temperature = <70000>; /* millicelsius */ hysteresis = <1000>; /* millicelsius */ type = "active"; }; gpu_scaling_trip5: gpu-scaling-trip5 { temperature = <105000>; /* millicelsius */ hysteresis = <1000>; /* millicelsius */ type = "active"; }; gpu_vmax_trip1: gpu-vmax-trip1 { temperature = <83000>; /* millicelsius */ hysteresis = <1000>; /* millicelsius */ type = "active"; }; core_dvfs_floor_trip0: core_dvfs_floor_trip0 { temperature = <15000>; hysteresis = <1000>; type = "active"; }; core_dvfs_cap_trip0: core_dvfs_cap_trip0 { temperature = <86000>; hysteresis = <1000>; type = "active"; }; dfll_floor_trip0: dfll-floor-trip0 { temperature = ; /* millicelsius */ hysteresis = <1000>; /* millicelsius */ type = "active"; }; }; cooling-maps { gpu-scaling-map1 { trip = <&gpu_scaling_trip1>; cooling-device = <&gpu_scaling_cdev 1 1>; }; gpu-scaling-map2 { trip = <&gpu_scaling_trip2>; cooling-device = <&gpu_scaling_cdev 2 2>; }; gpu_scaling_map3 { trip = <&gpu_scaling_trip3>; cooling-device = <&gpu_scaling_cdev 3 3>; }; gpu-scaling-map4 { trip = <&gpu_scaling_trip4>; cooling-device = <&gpu_scaling_cdev 4 4>; }; gpu-scaling-map5 { trip = <&gpu_scaling_trip5>; cooling-device = <&gpu_scaling_cdev 5 5>; }; gpu-vmax-map1 { trip = <&gpu_vmax_trip1>; cooling-device = <&gpu_vmax_cdev 1 1>; }; core_dvfs_floor_map0 { trip = <&core_dvfs_floor_trip0>; cooling-device = <&core_dvfs_floor 1 1>; }; core_dvfs_cap_map0 { trip = <&core_dvfs_cap_trip0>; cooling-device = <&core_dvfs_cap 1 1>; }; dfll-floor-map0 { trip = <&dfll_floor_trip0>; cooling-device = <&dfll_floor 1 1>; }; }; }; }; pinmux@700008d4 { dvfs_pwm_active_state: dvfs_pwm_active { dvfs_pwm_pbb1 { nvidia,pins = "dvfs_pwm_pbb1"; nvidia,tristate = ; }; }; dvfs_pwm_inactive_state: dvfs_pwm_inactive { dvfs_pwm_pbb1 { nvidia,pins = "dvfs_pwm_pbb1"; nvidia,tristate = ; }; }; }; pwm@70110000 { status = "okay"; pinctrl-0 = <&dvfs_pwm_active_state>; pinctrl-1 = <&dvfs_pwm_inactive_state>; }; gpio@6000d000 { /* gpio-name for 40-pin header, gpio-name given as COL(10) x ROW(20) */ gpio-line-names = "", "", "", "", "", "", "", "", "I2S0_LRCLK", "I2S0_SDIN", "I2S0_SDOUT", "I2S0_CLK", "", "", "", "", "SPI1_MOSI", "SPI1_MISO", "SPI1_CLK", "SPI1_CS0", "SPI1_CS1", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "AO_DMIC_IN_CLK", "AO_DMIC_IN_DAT", "GPIO20_AUD_INT", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "GPIO11_AP_WAKE_BT", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "UART0_RTS", "UART0_CTS", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "GPIO16_MDM_WAKE_AP", "", "GPIO9_MOTION_INT", "GPIO8_ALS_PROX_INT", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "AUDIO_MCLK", "", "", "GPIO19_AUD_RST", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""; }; };