1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0 2df205de6SJoseph Lo#include "tegra186.dtsi" 3df205de6SJoseph Lo 402df3f03SThierry Reding#include <dt-bindings/mfd/max77620.h> 502df3f03SThierry Reding 6df205de6SJoseph Lo/ { 771e7ea43SThierry Reding model = "NVIDIA Jetson TX2"; 8df205de6SJoseph Lo compatible = "nvidia,p3310", "nvidia,tegra186"; 9df205de6SJoseph Lo 10df205de6SJoseph Lo aliases { 1180fdf7b4SThierry Reding sdhci0 = "/sdhci@3460000"; 1280fdf7b4SThierry Reding sdhci1 = "/sdhci@3400000"; 13df205de6SJoseph Lo serial0 = &uarta; 14a4c7aab2SThierry Reding i2c0 = "/bpmp/i2c"; 15a4c7aab2SThierry Reding i2c1 = "/i2c@3160000"; 16a4c7aab2SThierry Reding i2c2 = "/i2c@c240000"; 17a4c7aab2SThierry Reding i2c3 = "/i2c@3180000"; 18a4c7aab2SThierry Reding i2c4 = "/i2c@3190000"; 19a4c7aab2SThierry Reding i2c5 = "/i2c@31c0000"; 20a4c7aab2SThierry Reding i2c6 = "/i2c@c250000"; 21a4c7aab2SThierry Reding i2c7 = "/i2c@31e0000"; 22df205de6SJoseph Lo }; 23df205de6SJoseph Lo 24df205de6SJoseph Lo chosen { 25df205de6SJoseph Lo bootargs = "earlycon console=ttyS0,115200n8"; 26df205de6SJoseph Lo stdout-path = "serial0:115200n8"; 27df205de6SJoseph Lo }; 28df205de6SJoseph Lo 29df205de6SJoseph Lo memory { 30df205de6SJoseph Lo device_type = "memory"; 31df205de6SJoseph Lo reg = <0x0 0x80000000 0x2 0x00000000>; 32df205de6SJoseph Lo }; 33df205de6SJoseph Lo 3424975b8cSThierry Reding ethernet@2490000 { 3524975b8cSThierry Reding status = "okay"; 3624975b8cSThierry Reding 37caca0482SThierry Reding phy-reset-gpios = <&gpio TEGRA186_MAIN_GPIO(M, 4) 38caca0482SThierry Reding GPIO_ACTIVE_LOW>; 3924975b8cSThierry Reding phy-handle = <&phy>; 4024975b8cSThierry Reding phy-mode = "rgmii"; 4124975b8cSThierry Reding 4224975b8cSThierry Reding mdio { 4324975b8cSThierry Reding #address-cells = <1>; 4424975b8cSThierry Reding #size-cells = <0>; 4524975b8cSThierry Reding 4624975b8cSThierry Reding phy: phy@0 { 4724975b8cSThierry Reding compatible = "ethernet-phy-ieee802.3-c22"; 4824975b8cSThierry Reding reg = <0x0>; 4924975b8cSThierry Reding interrupt-parent = <&gpio>; 50caca0482SThierry Reding interrupts = <TEGRA186_MAIN_GPIO(M, 5) 51caca0482SThierry Reding IRQ_TYPE_LEVEL_LOW>; 5224975b8cSThierry Reding }; 5324975b8cSThierry Reding }; 5424975b8cSThierry Reding }; 5524975b8cSThierry Reding 56301f12dcSThierry Reding memory-controller@2c00000 { 57301f12dcSThierry Reding status = "okay"; 58301f12dcSThierry Reding }; 59301f12dcSThierry Reding 60df205de6SJoseph Lo serial@3100000 { 61df205de6SJoseph Lo status = "okay"; 62df205de6SJoseph Lo }; 63df205de6SJoseph Lo 64a4c7aab2SThierry Reding i2c@3160000 { 65a4c7aab2SThierry Reding status = "okay"; 66b64994d1SThierry Reding 67b64994d1SThierry Reding power-monitor@40 { 68b64994d1SThierry Reding compatible = "ti,ina3221"; 69b64994d1SThierry Reding reg = <0x40>; 7008c7c74bSNicolin Chen #address-cells = <1>; 7108c7c74bSNicolin Chen #size-cells = <0>; 7208c7c74bSNicolin Chen 7308c7c74bSNicolin Chen channel@0 { 7408c7c74bSNicolin Chen reg = <0x0>; 7508c7c74bSNicolin Chen label = "VDD_SYS_GPU"; 7608c7c74bSNicolin Chen shunt-resistor-micro-ohms = <10000>; 7708c7c74bSNicolin Chen }; 7808c7c74bSNicolin Chen 7908c7c74bSNicolin Chen channel@1 { 8008c7c74bSNicolin Chen reg = <0x1>; 8108c7c74bSNicolin Chen label = "VDD_SYS_SOC"; 8208c7c74bSNicolin Chen shunt-resistor-micro-ohms = <10000>; 8308c7c74bSNicolin Chen }; 8408c7c74bSNicolin Chen 8508c7c74bSNicolin Chen channel@2 { 8608c7c74bSNicolin Chen reg = <0x2>; 8708c7c74bSNicolin Chen label = "VDD_3V8_WIFI"; 8808c7c74bSNicolin Chen shunt-resistor-micro-ohms = <10000>; 8908c7c74bSNicolin Chen }; 90b64994d1SThierry Reding }; 91b64994d1SThierry Reding 92b64994d1SThierry Reding power-monitor@41 { 93b64994d1SThierry Reding compatible = "ti,ina3221"; 94b64994d1SThierry Reding reg = <0x41>; 9508c7c74bSNicolin Chen #address-cells = <1>; 9608c7c74bSNicolin Chen #size-cells = <0>; 9708c7c74bSNicolin Chen 9808c7c74bSNicolin Chen channel@0 { 9908c7c74bSNicolin Chen reg = <0x0>; 10008c7c74bSNicolin Chen label = "VDD_IN"; 10108c7c74bSNicolin Chen shunt-resistor-micro-ohms = <5000>; 10208c7c74bSNicolin Chen }; 10308c7c74bSNicolin Chen 10408c7c74bSNicolin Chen channel@1 { 10508c7c74bSNicolin Chen reg = <0x1>; 10608c7c74bSNicolin Chen label = "VDD_SYS_CPU"; 10708c7c74bSNicolin Chen shunt-resistor-micro-ohms = <10000>; 10808c7c74bSNicolin Chen }; 10908c7c74bSNicolin Chen 11008c7c74bSNicolin Chen channel@2 { 11108c7c74bSNicolin Chen reg = <0x2>; 11208c7c74bSNicolin Chen label = "VDD_5V0_DDR"; 11308c7c74bSNicolin Chen shunt-resistor-micro-ohms = <10000>; 11408c7c74bSNicolin Chen }; 115b64994d1SThierry Reding }; 116a4c7aab2SThierry Reding }; 117a4c7aab2SThierry Reding 118a4c7aab2SThierry Reding i2c@3180000 { 119a4c7aab2SThierry Reding status = "okay"; 120a4c7aab2SThierry Reding }; 121a4c7aab2SThierry Reding 1225bb88b7aSThierry Reding ddc: i2c@3190000 { 123a4c7aab2SThierry Reding status = "okay"; 124a4c7aab2SThierry Reding }; 125a4c7aab2SThierry Reding 126a4c7aab2SThierry Reding i2c@31c0000 { 127a4c7aab2SThierry Reding status = "okay"; 128a4c7aab2SThierry Reding }; 129a4c7aab2SThierry Reding 130a4c7aab2SThierry Reding i2c@31e0000 { 131a4c7aab2SThierry Reding status = "okay"; 132a4c7aab2SThierry Reding }; 133a4c7aab2SThierry Reding 13480fdf7b4SThierry Reding /* SDMMC1 (SD/MMC) */ 13580fdf7b4SThierry Reding sdhci@3400000 { 136caca0482SThierry Reding cd-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>; 137caca0482SThierry Reding wp-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>; 13880fdf7b4SThierry Reding 13980fdf7b4SThierry Reding vqmmc-supply = <&vddio_sdmmc1>; 14080fdf7b4SThierry Reding }; 14180fdf7b4SThierry Reding 14280fdf7b4SThierry Reding /* SDMMC3 (SDIO) */ 14380fdf7b4SThierry Reding sdhci@3440000 { 14480fdf7b4SThierry Reding status = "okay"; 14580fdf7b4SThierry Reding }; 14680fdf7b4SThierry Reding 14780fdf7b4SThierry Reding /* SDMMC4 (eMMC) */ 14880fdf7b4SThierry Reding sdhci@3460000 { 14980fdf7b4SThierry Reding status = "okay"; 15080fdf7b4SThierry Reding bus-width = <8>; 15180fdf7b4SThierry Reding non-removable; 15280fdf7b4SThierry Reding 15380fdf7b4SThierry Reding vqmmc-supply = <&vdd_1v8_ap>; 15480fdf7b4SThierry Reding vmmc-supply = <&vdd_3v3_sys>; 15580fdf7b4SThierry Reding }; 15680fdf7b4SThierry Reding 157df205de6SJoseph Lo hsp@3c00000 { 158df205de6SJoseph Lo status = "okay"; 159df205de6SJoseph Lo }; 160df205de6SJoseph Lo 161a4c7aab2SThierry Reding i2c@c240000 { 162a4c7aab2SThierry Reding status = "okay"; 163a4c7aab2SThierry Reding }; 164a4c7aab2SThierry Reding 165a4c7aab2SThierry Reding i2c@c250000 { 166a4c7aab2SThierry Reding status = "okay"; 167a4ff413bSThierry Reding 168a4ff413bSThierry Reding /* module ID EEPROM */ 169a4ff413bSThierry Reding eeprom@50 { 170a4ff413bSThierry Reding compatible = "atmel,24c02"; 171a4ff413bSThierry Reding reg = <0x50>; 172a4ff413bSThierry Reding 173a4ff413bSThierry Reding address-bits = <8>; 174a4ff413bSThierry Reding page-size = <8>; 175a4ff413bSThierry Reding size = <256>; 176a4ff413bSThierry Reding read-only; 177a4ff413bSThierry Reding }; 178a4c7aab2SThierry Reding }; 179a4c7aab2SThierry Reding 180127d8267SThierry Reding rtc@c2a0000 { 181127d8267SThierry Reding status = "okay"; 182127d8267SThierry Reding }; 183127d8267SThierry Reding 18493dbb44cSThierry Reding pmc@c360000 { 18593dbb44cSThierry Reding nvidia,invert-interrupt; 18693dbb44cSThierry Reding }; 18793dbb44cSThierry Reding 1880dfde133SThierry Reding cpus { 1890dfde133SThierry Reding cpu@0 { 1900dfde133SThierry Reding enable-method = "psci"; 1910dfde133SThierry Reding }; 1920dfde133SThierry Reding 1930dfde133SThierry Reding cpu@1 { 1940dfde133SThierry Reding enable-method = "psci"; 1950dfde133SThierry Reding }; 1960dfde133SThierry Reding 1970dfde133SThierry Reding cpu@2 { 1980dfde133SThierry Reding enable-method = "psci"; 1990dfde133SThierry Reding }; 2000dfde133SThierry Reding 2010dfde133SThierry Reding cpu@3 { 2020dfde133SThierry Reding enable-method = "psci"; 2030dfde133SThierry Reding }; 2040dfde133SThierry Reding 2050dfde133SThierry Reding cpu@4 { 2060dfde133SThierry Reding enable-method = "psci"; 2070dfde133SThierry Reding }; 2080dfde133SThierry Reding 2090dfde133SThierry Reding cpu@5 { 2100dfde133SThierry Reding enable-method = "psci"; 2110dfde133SThierry Reding }; 2120dfde133SThierry Reding }; 2130dfde133SThierry Reding 214df205de6SJoseph Lo bpmp { 215a4c7aab2SThierry Reding i2c { 216df205de6SJoseph Lo status = "okay"; 21702df3f03SThierry Reding 21802df3f03SThierry Reding pmic: pmic@3c { 21902df3f03SThierry Reding compatible = "maxim,max77620"; 22002df3f03SThierry Reding reg = <0x3c>; 22102df3f03SThierry Reding 22202df3f03SThierry Reding interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>; 22302df3f03SThierry Reding #interrupt-cells = <2>; 22402df3f03SThierry Reding interrupt-controller; 22502df3f03SThierry Reding 22602df3f03SThierry Reding #gpio-cells = <2>; 22702df3f03SThierry Reding gpio-controller; 22802df3f03SThierry Reding 22902df3f03SThierry Reding pinctrl-names = "default"; 23002df3f03SThierry Reding pinctrl-0 = <&max77620_default>; 23102df3f03SThierry Reding 23202df3f03SThierry Reding max77620_default: pinmux { 23302df3f03SThierry Reding gpio0 { 23402df3f03SThierry Reding pins = "gpio0"; 23502df3f03SThierry Reding function = "gpio"; 23602df3f03SThierry Reding }; 23702df3f03SThierry Reding 23802df3f03SThierry Reding gpio1 { 23902df3f03SThierry Reding pins = "gpio1"; 24002df3f03SThierry Reding function = "fps-out"; 24102df3f03SThierry Reding maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 24202df3f03SThierry Reding }; 24302df3f03SThierry Reding 24402df3f03SThierry Reding gpio2 { 24502df3f03SThierry Reding pins = "gpio2"; 24602df3f03SThierry Reding function = "fps-out"; 24702df3f03SThierry Reding maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 24802df3f03SThierry Reding }; 24902df3f03SThierry Reding 25002df3f03SThierry Reding gpio3 { 25102df3f03SThierry Reding pins = "gpio3"; 25202df3f03SThierry Reding function = "fps-out"; 25302df3f03SThierry Reding maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 25402df3f03SThierry Reding }; 25502df3f03SThierry Reding 25602df3f03SThierry Reding gpio4 { 25702df3f03SThierry Reding pins = "gpio4"; 25802df3f03SThierry Reding function = "32k-out1"; 25902df3f03SThierry Reding drive-push-pull = <1>; 26002df3f03SThierry Reding }; 26102df3f03SThierry Reding 26202df3f03SThierry Reding gpio5 { 26302df3f03SThierry Reding pins = "gpio5"; 26402df3f03SThierry Reding function = "gpio"; 26502df3f03SThierry Reding drive-push-pull = <0>; 26602df3f03SThierry Reding }; 26702df3f03SThierry Reding 26802df3f03SThierry Reding gpio6 { 26902df3f03SThierry Reding pins = "gpio6"; 27002df3f03SThierry Reding function = "gpio"; 27102df3f03SThierry Reding drive-push-pull = <1>; 27202df3f03SThierry Reding }; 27302df3f03SThierry Reding 27402df3f03SThierry Reding gpio7 { 27502df3f03SThierry Reding pins = "gpio7"; 27602df3f03SThierry Reding function = "gpio"; 27702df3f03SThierry Reding drive-push-pull = <0>; 27802df3f03SThierry Reding }; 27902df3f03SThierry Reding }; 28002df3f03SThierry Reding 28102df3f03SThierry Reding fps { 28202df3f03SThierry Reding fps0 { 28302df3f03SThierry Reding maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; 28402df3f03SThierry Reding maxim,shutdown-fps-time-period-us = <640>; 28502df3f03SThierry Reding }; 28602df3f03SThierry Reding 28702df3f03SThierry Reding fps1 { 28802df3f03SThierry Reding maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>; 28902df3f03SThierry Reding maxim,shutdown-fps-time-period-us = <640>; 29002df3f03SThierry Reding }; 29102df3f03SThierry Reding 29202df3f03SThierry Reding fps2 { 29302df3f03SThierry Reding maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; 29402df3f03SThierry Reding maxim,shutdown-fps-time-period-us = <640>; 29502df3f03SThierry Reding }; 29602df3f03SThierry Reding }; 29702df3f03SThierry Reding 29802df3f03SThierry Reding regulators { 29902df3f03SThierry Reding in-sd0-supply = <&vdd_5v0_sys>; 30002df3f03SThierry Reding in-sd1-supply = <&vdd_5v0_sys>; 30102df3f03SThierry Reding in-sd2-supply = <&vdd_5v0_sys>; 30202df3f03SThierry Reding in-sd3-supply = <&vdd_5v0_sys>; 30302df3f03SThierry Reding 30402df3f03SThierry Reding in-ldo0-1-supply = <&vdd_5v0_sys>; 30502df3f03SThierry Reding in-ldo2-supply = <&vdd_5v0_sys>; 30602df3f03SThierry Reding in-ldo3-5-supply = <&vdd_5v0_sys>; 30702df3f03SThierry Reding in-ldo4-6-supply = <&vdd_1v8>; 30802df3f03SThierry Reding in-ldo7-8-supply = <&avdd_dsi_csi>; 30902df3f03SThierry Reding 31002df3f03SThierry Reding sd0 { 31102df3f03SThierry Reding regulator-name = "VDD_DDR_1V1_PMIC"; 31202df3f03SThierry Reding regulator-min-microvolt = <1100000>; 31302df3f03SThierry Reding regulator-max-microvolt = <1100000>; 31402df3f03SThierry Reding regulator-always-on; 31502df3f03SThierry Reding regulator-boot-on; 31602df3f03SThierry Reding }; 31702df3f03SThierry Reding 31802df3f03SThierry Reding avdd_dsi_csi: sd1 { 31902df3f03SThierry Reding regulator-name = "AVDD_DSI_CSI_1V2"; 32002df3f03SThierry Reding regulator-min-microvolt = <1200000>; 32102df3f03SThierry Reding regulator-max-microvolt = <1200000>; 32202df3f03SThierry Reding }; 32302df3f03SThierry Reding 32402df3f03SThierry Reding vdd_1v8: sd2 { 32502df3f03SThierry Reding regulator-name = "VDD_1V8"; 32602df3f03SThierry Reding regulator-min-microvolt = <1800000>; 32702df3f03SThierry Reding regulator-max-microvolt = <1800000>; 32802df3f03SThierry Reding }; 32902df3f03SThierry Reding 33002df3f03SThierry Reding vdd_3v3_sys: sd3 { 33102df3f03SThierry Reding regulator-name = "VDD_3V3_SYS"; 33202df3f03SThierry Reding regulator-min-microvolt = <3300000>; 33302df3f03SThierry Reding regulator-max-microvolt = <3300000>; 33402df3f03SThierry Reding }; 33502df3f03SThierry Reding 33672f8ae3fSThierry Reding vdd_1v8_pll: ldo0 { 33702df3f03SThierry Reding regulator-name = "VDD_1V8_AP_PLL"; 33802df3f03SThierry Reding regulator-min-microvolt = <1800000>; 33902df3f03SThierry Reding regulator-max-microvolt = <1800000>; 34002df3f03SThierry Reding }; 34102df3f03SThierry Reding 34202df3f03SThierry Reding ldo2 { 34302df3f03SThierry Reding regulator-name = "VDDIO_3V3_AOHV"; 34402df3f03SThierry Reding regulator-min-microvolt = <3300000>; 34502df3f03SThierry Reding regulator-max-microvolt = <3300000>; 34602df3f03SThierry Reding regulator-always-on; 34702df3f03SThierry Reding regulator-boot-on; 34802df3f03SThierry Reding }; 34902df3f03SThierry Reding 35002df3f03SThierry Reding vddio_sdmmc1: ldo3 { 35102df3f03SThierry Reding regulator-name = "VDDIO_SDMMC1_AP"; 35202df3f03SThierry Reding regulator-min-microvolt = <1800000>; 35302df3f03SThierry Reding regulator-max-microvolt = <3300000>; 35402df3f03SThierry Reding }; 35502df3f03SThierry Reding 35602df3f03SThierry Reding ldo4 { 35702df3f03SThierry Reding regulator-name = "VDD_RTC"; 35802df3f03SThierry Reding regulator-min-microvolt = <1000000>; 35902df3f03SThierry Reding regulator-max-microvolt = <1000000>; 36002df3f03SThierry Reding }; 36102df3f03SThierry Reding 36202df3f03SThierry Reding vddio_sdmmc3: ldo5 { 36302df3f03SThierry Reding regulator-name = "VDDIO_SDMMC3_AP"; 36402df3f03SThierry Reding regulator-min-microvolt = <2800000>; 36502df3f03SThierry Reding regulator-max-microvolt = <2800000>; 36602df3f03SThierry Reding }; 36702df3f03SThierry Reding 36836328505SThierry Reding vdd_hdmi_1v05: ldo7 { 36902df3f03SThierry Reding regulator-name = "VDD_HDMI_1V05"; 37002df3f03SThierry Reding regulator-min-microvolt = <1050000>; 37102df3f03SThierry Reding regulator-max-microvolt = <1050000>; 37202df3f03SThierry Reding }; 37302df3f03SThierry Reding 37402df3f03SThierry Reding vdd_pex: ldo8 { 37502df3f03SThierry Reding regulator-name = "VDD_PEX_1V05"; 37602df3f03SThierry Reding regulator-min-microvolt = <1050000>; 37702df3f03SThierry Reding regulator-max-microvolt = <1050000>; 37802df3f03SThierry Reding }; 37902df3f03SThierry Reding }; 38002df3f03SThierry Reding }; 381df205de6SJoseph Lo }; 382a4c7aab2SThierry Reding }; 3830dfde133SThierry Reding 3840dfde133SThierry Reding psci { 3850dfde133SThierry Reding compatible = "arm,psci-1.0"; 3860dfde133SThierry Reding status = "okay"; 3870dfde133SThierry Reding method = "smc"; 3880dfde133SThierry Reding }; 38902df3f03SThierry Reding 39002df3f03SThierry Reding regulators { 39102df3f03SThierry Reding compatible = "simple-bus"; 39202df3f03SThierry Reding #address-cells = <1>; 39302df3f03SThierry Reding #size-cells = <0>; 39402df3f03SThierry Reding 39572f8ae3fSThierry Reding gnd: regulator@0 { 39602df3f03SThierry Reding compatible = "regulator-fixed"; 39702df3f03SThierry Reding reg = <0>; 39802df3f03SThierry Reding 39972f8ae3fSThierry Reding regulator-name = "GND"; 40072f8ae3fSThierry Reding regulator-min-microvolt = <0>; 40172f8ae3fSThierry Reding regulator-max-microvolt = <0>; 40272f8ae3fSThierry Reding regulator-always-on; 40372f8ae3fSThierry Reding regulator-boot-on; 40472f8ae3fSThierry Reding }; 40572f8ae3fSThierry Reding 40672f8ae3fSThierry Reding vdd_5v0_sys: regulator@1 { 40772f8ae3fSThierry Reding compatible = "regulator-fixed"; 40872f8ae3fSThierry Reding reg = <1>; 40972f8ae3fSThierry Reding 41002df3f03SThierry Reding regulator-name = "VDD_5V0_SYS"; 41102df3f03SThierry Reding regulator-min-microvolt = <5000000>; 41202df3f03SThierry Reding regulator-max-microvolt = <5000000>; 41302df3f03SThierry Reding regulator-always-on; 41402df3f03SThierry Reding regulator-boot-on; 41502df3f03SThierry Reding }; 41602df3f03SThierry Reding 41772f8ae3fSThierry Reding vdd_1v8_ap: regulator@2 { 41802df3f03SThierry Reding compatible = "regulator-fixed"; 41972f8ae3fSThierry Reding reg = <2>; 42002df3f03SThierry Reding 42102df3f03SThierry Reding regulator-name = "VDD_1V8_AP"; 42202df3f03SThierry Reding regulator-min-microvolt = <1800000>; 42302df3f03SThierry Reding regulator-max-microvolt = <1800000>; 42402df3f03SThierry Reding 42502df3f03SThierry Reding gpio = <&pmic 1 GPIO_ACTIVE_HIGH>; 42602df3f03SThierry Reding enable-active-high; 42702df3f03SThierry Reding 42802df3f03SThierry Reding vin-supply = <&vdd_1v8>; 42902df3f03SThierry Reding }; 43002df3f03SThierry Reding }; 431df205de6SJoseph Lo}; 432