1// SPDX-License-Identifier: GPL-2.0 2#include "tegra186.dtsi" 3 4#include <dt-bindings/mfd/max77620.h> 5 6/ { 7 model = "NVIDIA Tegra186 P3310 Processor Module"; 8 compatible = "nvidia,p3310", "nvidia,tegra186"; 9 10 aliases { 11 sdhci0 = "/sdhci@3460000"; 12 sdhci1 = "/sdhci@3400000"; 13 serial0 = &uarta; 14 i2c0 = "/bpmp/i2c"; 15 i2c1 = "/i2c@3160000"; 16 i2c2 = "/i2c@c240000"; 17 i2c3 = "/i2c@3180000"; 18 i2c4 = "/i2c@3190000"; 19 i2c5 = "/i2c@31c0000"; 20 i2c6 = "/i2c@c250000"; 21 i2c7 = "/i2c@31e0000"; 22 }; 23 24 chosen { 25 bootargs = "earlycon console=ttyS0,115200n8"; 26 stdout-path = "serial0:115200n8"; 27 }; 28 29 memory { 30 device_type = "memory"; 31 reg = <0x0 0x80000000 0x2 0x00000000>; 32 }; 33 34 ethernet@2490000 { 35 status = "okay"; 36 37 phy-reset-gpios = <&gpio TEGRA_MAIN_GPIO(M, 4) GPIO_ACTIVE_LOW>; 38 phy-handle = <&phy>; 39 phy-mode = "rgmii"; 40 41 mdio { 42 #address-cells = <1>; 43 #size-cells = <0>; 44 45 phy: phy@0 { 46 compatible = "ethernet-phy-ieee802.3-c22"; 47 reg = <0x0>; 48 interrupt-parent = <&gpio>; 49 interrupts = <TEGRA_MAIN_GPIO(M, 5) IRQ_TYPE_LEVEL_HIGH>; 50 }; 51 }; 52 }; 53 54 serial@3100000 { 55 status = "okay"; 56 }; 57 58 i2c@3160000 { 59 status = "okay"; 60 61 power-monitor@40 { 62 compatible = "ti,ina3221"; 63 reg = <0x40>; 64 }; 65 66 power-monitor@41 { 67 compatible = "ti,ina3221"; 68 reg = <0x41>; 69 }; 70 }; 71 72 i2c@3180000 { 73 status = "okay"; 74 }; 75 76 i2c@3190000 { 77 status = "okay"; 78 }; 79 80 i2c@31c0000 { 81 status = "okay"; 82 }; 83 84 i2c@31e0000 { 85 status = "okay"; 86 }; 87 88 /* SDMMC1 (SD/MMC) */ 89 sdhci@3400000 { 90 cd-gpios = <&gpio TEGRA_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>; 91 wp-gpios = <&gpio TEGRA_MAIN_GPIO(P, 4) GPIO_ACTIVE_LOW>; 92 93 vqmmc-supply = <&vddio_sdmmc1>; 94 }; 95 96 /* SDMMC3 (SDIO) */ 97 sdhci@3440000 { 98 status = "okay"; 99 }; 100 101 /* SDMMC4 (eMMC) */ 102 sdhci@3460000 { 103 status = "okay"; 104 bus-width = <8>; 105 non-removable; 106 107 vqmmc-supply = <&vdd_1v8_ap>; 108 vmmc-supply = <&vdd_3v3_sys>; 109 }; 110 111 hsp@3c00000 { 112 status = "okay"; 113 }; 114 115 i2c@c240000 { 116 status = "okay"; 117 }; 118 119 i2c@c250000 { 120 status = "okay"; 121 }; 122 123 pmc@c360000 { 124 nvidia,invert-interrupt; 125 }; 126 127 cpus { 128 cpu@0 { 129 enable-method = "psci"; 130 }; 131 132 cpu@1 { 133 enable-method = "psci"; 134 }; 135 136 cpu@2 { 137 enable-method = "psci"; 138 }; 139 140 cpu@3 { 141 enable-method = "psci"; 142 }; 143 144 cpu@4 { 145 enable-method = "psci"; 146 }; 147 148 cpu@5 { 149 enable-method = "psci"; 150 }; 151 }; 152 153 bpmp { 154 i2c { 155 status = "okay"; 156 157 pmic: pmic@3c { 158 compatible = "maxim,max77620"; 159 reg = <0x3c>; 160 161 interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>; 162 #interrupt-cells = <2>; 163 interrupt-controller; 164 165 #gpio-cells = <2>; 166 gpio-controller; 167 168 pinctrl-names = "default"; 169 pinctrl-0 = <&max77620_default>; 170 171 max77620_default: pinmux { 172 gpio0 { 173 pins = "gpio0"; 174 function = "gpio"; 175 }; 176 177 gpio1 { 178 pins = "gpio1"; 179 function = "fps-out"; 180 maxim,active-fps-source = <MAX77620_FPS_SRC_0>; 181 }; 182 183 gpio2 { 184 pins = "gpio2"; 185 function = "fps-out"; 186 maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 187 }; 188 189 gpio3 { 190 pins = "gpio3"; 191 function = "fps-out"; 192 maxim,active-fps-source = <MAX77620_FPS_SRC_1>; 193 }; 194 195 gpio4 { 196 pins = "gpio4"; 197 function = "32k-out1"; 198 drive-push-pull = <1>; 199 }; 200 201 gpio5 { 202 pins = "gpio5"; 203 function = "gpio"; 204 drive-push-pull = <0>; 205 }; 206 207 gpio6 { 208 pins = "gpio6"; 209 function = "gpio"; 210 drive-push-pull = <1>; 211 }; 212 213 gpio7 { 214 pins = "gpio7"; 215 function = "gpio"; 216 drive-push-pull = <0>; 217 }; 218 }; 219 220 fps { 221 fps0 { 222 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; 223 maxim,shutdown-fps-time-period-us = <640>; 224 }; 225 226 fps1 { 227 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>; 228 maxim,shutdown-fps-time-period-us = <640>; 229 }; 230 231 fps2 { 232 maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; 233 maxim,shutdown-fps-time-period-us = <640>; 234 }; 235 }; 236 237 regulators { 238 in-sd0-supply = <&vdd_5v0_sys>; 239 in-sd1-supply = <&vdd_5v0_sys>; 240 in-sd2-supply = <&vdd_5v0_sys>; 241 in-sd3-supply = <&vdd_5v0_sys>; 242 243 in-ldo0-1-supply = <&vdd_5v0_sys>; 244 in-ldo2-supply = <&vdd_5v0_sys>; 245 in-ldo3-5-supply = <&vdd_5v0_sys>; 246 in-ldo4-6-supply = <&vdd_1v8>; 247 in-ldo7-8-supply = <&avdd_dsi_csi>; 248 249 sd0 { 250 regulator-name = "VDD_DDR_1V1_PMIC"; 251 regulator-min-microvolt = <1100000>; 252 regulator-max-microvolt = <1100000>; 253 regulator-always-on; 254 regulator-boot-on; 255 }; 256 257 avdd_dsi_csi: sd1 { 258 regulator-name = "AVDD_DSI_CSI_1V2"; 259 regulator-min-microvolt = <1200000>; 260 regulator-max-microvolt = <1200000>; 261 /* XXX */ 262 regulator-always-on; 263 regulator-boot-on; 264 }; 265 266 vdd_1v8: sd2 { 267 regulator-name = "VDD_1V8"; 268 regulator-min-microvolt = <1800000>; 269 regulator-max-microvolt = <1800000>; 270 /* XXX */ 271 regulator-always-on; 272 regulator-boot-on; 273 }; 274 275 vdd_3v3_sys: sd3 { 276 regulator-name = "VDD_3V3_SYS"; 277 regulator-min-microvolt = <3300000>; 278 regulator-max-microvolt = <3300000>; 279 /* XXX */ 280 regulator-always-on; 281 regulator-boot-on; 282 }; 283 284 ldo0 { 285 regulator-name = "VDD_1V8_AP_PLL"; 286 regulator-min-microvolt = <1800000>; 287 regulator-max-microvolt = <1800000>; 288 /* XXX */ 289 regulator-always-on; 290 regulator-boot-on; 291 }; 292 293 ldo2 { 294 regulator-name = "VDDIO_3V3_AOHV"; 295 regulator-min-microvolt = <3300000>; 296 regulator-max-microvolt = <3300000>; 297 /* XXX */ 298 regulator-always-on; 299 regulator-boot-on; 300 }; 301 302 vddio_sdmmc1: ldo3 { 303 regulator-name = "VDDIO_SDMMC1_AP"; 304 regulator-min-microvolt = <1800000>; 305 regulator-max-microvolt = <3300000>; 306 }; 307 308 ldo4 { 309 regulator-name = "VDD_RTC"; 310 regulator-min-microvolt = <1000000>; 311 regulator-max-microvolt = <1000000>; 312 }; 313 314 vddio_sdmmc3: ldo5 { 315 regulator-name = "VDDIO_SDMMC3_AP"; 316 regulator-min-microvolt = <2800000>; 317 regulator-max-microvolt = <2800000>; 318 }; 319 320 avdd_1v05: ldo7 { 321 regulator-name = "VDD_HDMI_1V05"; 322 regulator-min-microvolt = <1050000>; 323 regulator-max-microvolt = <1050000>; 324 /* XXX */ 325 regulator-always-on; 326 regulator-boot-on; 327 }; 328 329 vdd_pex: ldo8 { 330 regulator-name = "VDD_PEX_1V05"; 331 regulator-min-microvolt = <1050000>; 332 regulator-max-microvolt = <1050000>; 333 /* XXX */ 334 regulator-always-on; 335 regulator-boot-on; 336 }; 337 }; 338 }; 339 }; 340 }; 341 342 psci { 343 compatible = "arm,psci-1.0"; 344 status = "okay"; 345 method = "smc"; 346 }; 347 348 regulators { 349 compatible = "simple-bus"; 350 #address-cells = <1>; 351 #size-cells = <0>; 352 353 vdd_5v0_sys: regulator@0 { 354 compatible = "regulator-fixed"; 355 reg = <0>; 356 357 regulator-name = "VDD_5V0_SYS"; 358 regulator-min-microvolt = <5000000>; 359 regulator-max-microvolt = <5000000>; 360 regulator-always-on; 361 regulator-boot-on; 362 }; 363 364 vdd_1v8_ap: regulator@1 { 365 compatible = "regulator-fixed"; 366 reg = <1>; 367 368 regulator-name = "VDD_1V8_AP"; 369 regulator-min-microvolt = <1800000>; 370 regulator-max-microvolt = <1800000>; 371 372 /* XXX */ 373 regulator-always-on; 374 regulator-boot-on; 375 376 gpio = <&pmic 1 GPIO_ACTIVE_HIGH>; 377 enable-active-high; 378 379 vin-supply = <&vdd_1v8>; 380 }; 381 }; 382}; 383