| // SPDX-License-Identifier: GPL-2.0 |
| #include "tegra186.dtsi" |
| |
| #include <dt-bindings/mfd/max77620.h> |
| |
| / { |
| model = "NVIDIA Tegra186 P3310 Processor Module"; |
| compatible = "nvidia,p3310", "nvidia,tegra186"; |
| |
| aliases { |
| sdhci0 = "/sdhci@3460000"; |
| sdhci1 = "/sdhci@3400000"; |
| serial0 = &uarta; |
| i2c0 = "/bpmp/i2c"; |
| i2c1 = "/i2c@3160000"; |
| i2c2 = "/i2c@c240000"; |
| i2c3 = "/i2c@3180000"; |
| i2c4 = "/i2c@3190000"; |
| i2c5 = "/i2c@31c0000"; |
| i2c6 = "/i2c@c250000"; |
| i2c7 = "/i2c@31e0000"; |
| }; |
| |
| chosen { |
| bootargs = "earlycon console=ttyS0,115200n8"; |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| memory { |
| device_type = "memory"; |
| reg = <0x0 0x80000000 0x2 0x00000000>; |
| }; |
| |
| ethernet@2490000 { |
| status = "okay"; |
| |
| phy-reset-gpios = <&gpio TEGRA186_MAIN_GPIO(M, 4) |
| GPIO_ACTIVE_LOW>; |
| phy-handle = <&phy>; |
| phy-mode = "rgmii"; |
| |
| mdio { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| phy: phy@0 { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <0x0>; |
| interrupt-parent = <&gpio>; |
| interrupts = <TEGRA186_MAIN_GPIO(M, 5) |
| IRQ_TYPE_LEVEL_LOW>; |
| }; |
| }; |
| }; |
| |
| memory-controller@2c00000 { |
| status = "okay"; |
| }; |
| |
| serial@3100000 { |
| status = "okay"; |
| }; |
| |
| i2c@3160000 { |
| status = "okay"; |
| |
| power-monitor@40 { |
| compatible = "ti,ina3221"; |
| reg = <0x40>; |
| }; |
| |
| power-monitor@41 { |
| compatible = "ti,ina3221"; |
| reg = <0x41>; |
| }; |
| }; |
| |
| i2c@3180000 { |
| status = "okay"; |
| }; |
| |
| ddc: i2c@3190000 { |
| status = "okay"; |
| }; |
| |
| i2c@31c0000 { |
| status = "okay"; |
| }; |
| |
| i2c@31e0000 { |
| status = "okay"; |
| }; |
| |
| /* SDMMC1 (SD/MMC) */ |
| sdhci@3400000 { |
| cd-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>; |
| wp-gpios = <&gpio TEGRA186_MAIN_GPIO(P, 4) GPIO_ACTIVE_HIGH>; |
| |
| vqmmc-supply = <&vddio_sdmmc1>; |
| }; |
| |
| /* SDMMC3 (SDIO) */ |
| sdhci@3440000 { |
| status = "okay"; |
| }; |
| |
| /* SDMMC4 (eMMC) */ |
| sdhci@3460000 { |
| status = "okay"; |
| bus-width = <8>; |
| non-removable; |
| |
| vqmmc-supply = <&vdd_1v8_ap>; |
| vmmc-supply = <&vdd_3v3_sys>; |
| }; |
| |
| hsp@3c00000 { |
| status = "okay"; |
| }; |
| |
| i2c@c240000 { |
| status = "okay"; |
| }; |
| |
| i2c@c250000 { |
| status = "okay"; |
| }; |
| |
| rtc@c2a0000 { |
| status = "okay"; |
| }; |
| |
| pmc@c360000 { |
| nvidia,invert-interrupt; |
| }; |
| |
| cpus { |
| cpu@0 { |
| enable-method = "psci"; |
| }; |
| |
| cpu@1 { |
| enable-method = "psci"; |
| }; |
| |
| cpu@2 { |
| enable-method = "psci"; |
| }; |
| |
| cpu@3 { |
| enable-method = "psci"; |
| }; |
| |
| cpu@4 { |
| enable-method = "psci"; |
| }; |
| |
| cpu@5 { |
| enable-method = "psci"; |
| }; |
| }; |
| |
| bpmp { |
| i2c { |
| status = "okay"; |
| |
| pmic: pmic@3c { |
| compatible = "maxim,max77620"; |
| reg = <0x3c>; |
| |
| interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| |
| #gpio-cells = <2>; |
| gpio-controller; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&max77620_default>; |
| |
| max77620_default: pinmux { |
| gpio0 { |
| pins = "gpio0"; |
| function = "gpio"; |
| }; |
| |
| gpio1 { |
| pins = "gpio1"; |
| function = "fps-out"; |
| maxim,active-fps-source = <MAX77620_FPS_SRC_0>; |
| }; |
| |
| gpio2 { |
| pins = "gpio2"; |
| function = "fps-out"; |
| maxim,active-fps-source = <MAX77620_FPS_SRC_1>; |
| }; |
| |
| gpio3 { |
| pins = "gpio3"; |
| function = "fps-out"; |
| maxim,active-fps-source = <MAX77620_FPS_SRC_1>; |
| }; |
| |
| gpio4 { |
| pins = "gpio4"; |
| function = "32k-out1"; |
| drive-push-pull = <1>; |
| }; |
| |
| gpio5 { |
| pins = "gpio5"; |
| function = "gpio"; |
| drive-push-pull = <0>; |
| }; |
| |
| gpio6 { |
| pins = "gpio6"; |
| function = "gpio"; |
| drive-push-pull = <1>; |
| }; |
| |
| gpio7 { |
| pins = "gpio7"; |
| function = "gpio"; |
| drive-push-pull = <0>; |
| }; |
| }; |
| |
| fps { |
| fps0 { |
| maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; |
| maxim,shutdown-fps-time-period-us = <640>; |
| }; |
| |
| fps1 { |
| maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>; |
| maxim,shutdown-fps-time-period-us = <640>; |
| }; |
| |
| fps2 { |
| maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; |
| maxim,shutdown-fps-time-period-us = <640>; |
| }; |
| }; |
| |
| regulators { |
| in-sd0-supply = <&vdd_5v0_sys>; |
| in-sd1-supply = <&vdd_5v0_sys>; |
| in-sd2-supply = <&vdd_5v0_sys>; |
| in-sd3-supply = <&vdd_5v0_sys>; |
| |
| in-ldo0-1-supply = <&vdd_5v0_sys>; |
| in-ldo2-supply = <&vdd_5v0_sys>; |
| in-ldo3-5-supply = <&vdd_5v0_sys>; |
| in-ldo4-6-supply = <&vdd_1v8>; |
| in-ldo7-8-supply = <&avdd_dsi_csi>; |
| |
| sd0 { |
| regulator-name = "VDD_DDR_1V1_PMIC"; |
| regulator-min-microvolt = <1100000>; |
| regulator-max-microvolt = <1100000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| avdd_dsi_csi: sd1 { |
| regulator-name = "AVDD_DSI_CSI_1V2"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1200000>; |
| /* XXX */ |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_1v8: sd2 { |
| regulator-name = "VDD_1V8"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| /* XXX */ |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_3v3_sys: sd3 { |
| regulator-name = "VDD_3V3_SYS"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| /* XXX */ |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| ldo0 { |
| regulator-name = "VDD_1V8_AP_PLL"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| /* XXX */ |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| ldo2 { |
| regulator-name = "VDDIO_3V3_AOHV"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| /* XXX */ |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vddio_sdmmc1: ldo3 { |
| regulator-name = "VDDIO_SDMMC1_AP"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| ldo4 { |
| regulator-name = "VDD_RTC"; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1000000>; |
| }; |
| |
| vddio_sdmmc3: ldo5 { |
| regulator-name = "VDDIO_SDMMC3_AP"; |
| regulator-min-microvolt = <2800000>; |
| regulator-max-microvolt = <2800000>; |
| }; |
| |
| vdd_hdmi_1v05: ldo7 { |
| regulator-name = "VDD_HDMI_1V05"; |
| regulator-min-microvolt = <1050000>; |
| regulator-max-microvolt = <1050000>; |
| /* XXX */ |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_pex: ldo8 { |
| regulator-name = "VDD_PEX_1V05"; |
| regulator-min-microvolt = <1050000>; |
| regulator-max-microvolt = <1050000>; |
| /* XXX */ |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| psci { |
| compatible = "arm,psci-1.0"; |
| status = "okay"; |
| method = "smc"; |
| }; |
| |
| regulators { |
| compatible = "simple-bus"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| vdd_5v0_sys: regulator@0 { |
| compatible = "regulator-fixed"; |
| reg = <0>; |
| |
| regulator-name = "VDD_5V0_SYS"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_1v8_ap: regulator@1 { |
| compatible = "regulator-fixed"; |
| reg = <1>; |
| |
| regulator-name = "VDD_1V8_AP"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| |
| /* XXX */ |
| regulator-always-on; |
| regulator-boot-on; |
| |
| gpio = <&pmic 1 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| |
| vin-supply = <&vdd_1v8>; |
| }; |
| }; |
| }; |