123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387 |
- // 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 TEGRA_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 = <TEGRA_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 TEGRA_MAIN_GPIO(P, 5) GPIO_ACTIVE_LOW>;
- wp-gpios = <&gpio TEGRA_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";
- };
- 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>;
- };
- };
- };
|