Commit 5d25c476f252 ("Revert "arm64: tegra: Disable the ACONNECT for Jetson TX2"") re-enabled the Tegra ADMA and ACONNECT drivers to support audio on Jetson TX2. However, this revert was dependent upon commit e590474768f1 ("driver core: Set fw_devlink=on by default") and without this commit, enabling the ACONNECT is causing resume from system suspend to fail on Jetson TX2. Resume fails because the ACONNECT driver is being resumed before the BPMP driver, and the ACONNECT driver is attempting to power on a power-domain that is provided by the BPMP. Commit e590474768f1 ("driver core: Set fw_devlink=on by default") has since been temporarily reverted while some issues are being investigated. This is causing resume from system suspend on Jetson TX2 to fail again. Rather than disable the ACONNECT driver again, fix this by setting fw_devlink is set to 'on' for Jetson TX2 in the bootargs specified in device-tree. Fixes: 5d25c476f252 ("Revert arm64: tegra: Disable the ACONNECT for Jetson TX2") Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
426 lines
7.9 KiB
Plaintext
426 lines
7.9 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0
|
|
#include "tegra186.dtsi"
|
|
|
|
#include <dt-bindings/mfd/max77620.h>
|
|
|
|
/ {
|
|
model = "NVIDIA Jetson TX2";
|
|
compatible = "nvidia,p3310", "nvidia,tegra186";
|
|
|
|
aliases {
|
|
ethernet0 = "/ethernet@2490000";
|
|
i2c0 = "/bpmp/i2c";
|
|
i2c1 = "/i2c@3160000";
|
|
i2c2 = "/i2c@c240000";
|
|
i2c3 = "/i2c@3180000";
|
|
i2c4 = "/i2c@3190000";
|
|
i2c5 = "/i2c@31c0000";
|
|
i2c6 = "/i2c@c250000";
|
|
i2c7 = "/i2c@31e0000";
|
|
mmc0 = "/mmc@3460000";
|
|
mmc1 = "/mmc@3400000";
|
|
serial0 = &uarta;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "earlycon console=ttyS0,115200n8 fw_devlink=on";
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
memory@80000000 {
|
|
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>;
|
|
|
|
#phy-cells = <0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
memory-controller@2c00000 {
|
|
status = "okay";
|
|
};
|
|
|
|
serial@3100000 {
|
|
status = "okay";
|
|
};
|
|
|
|
i2c@3160000 {
|
|
status = "okay";
|
|
|
|
power-monitor@40 {
|
|
compatible = "ti,ina3221";
|
|
reg = <0x40>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
channel@0 {
|
|
reg = <0x0>;
|
|
label = "VDD_SYS_GPU";
|
|
shunt-resistor-micro-ohms = <10000>;
|
|
};
|
|
|
|
channel@1 {
|
|
reg = <0x1>;
|
|
label = "VDD_SYS_SOC";
|
|
shunt-resistor-micro-ohms = <10000>;
|
|
};
|
|
|
|
channel@2 {
|
|
reg = <0x2>;
|
|
label = "VDD_3V8_WIFI";
|
|
shunt-resistor-micro-ohms = <10000>;
|
|
};
|
|
};
|
|
|
|
power-monitor@41 {
|
|
compatible = "ti,ina3221";
|
|
reg = <0x41>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
channel@0 {
|
|
reg = <0x0>;
|
|
label = "VDD_IN";
|
|
shunt-resistor-micro-ohms = <5000>;
|
|
};
|
|
|
|
channel@1 {
|
|
reg = <0x1>;
|
|
label = "VDD_SYS_CPU";
|
|
shunt-resistor-micro-ohms = <10000>;
|
|
};
|
|
|
|
channel@2 {
|
|
reg = <0x2>;
|
|
label = "VDD_5V0_DDR";
|
|
shunt-resistor-micro-ohms = <10000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
i2c@3180000 {
|
|
status = "okay";
|
|
};
|
|
|
|
ddc: i2c@3190000 {
|
|
status = "okay";
|
|
};
|
|
|
|
i2c@31c0000 {
|
|
status = "okay";
|
|
};
|
|
|
|
i2c@31e0000 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* SDMMC1 (SD/MMC) */
|
|
mmc@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) */
|
|
mmc@3440000 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* SDMMC4 (eMMC) */
|
|
mmc@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";
|
|
|
|
/* module ID EEPROM */
|
|
eeprom@50 {
|
|
compatible = "atmel,24c02";
|
|
reg = <0x50>;
|
|
|
|
label = "module";
|
|
vcc-supply = <&vdd_1v8>;
|
|
address-width = <8>;
|
|
pagesize = <8>;
|
|
size = <256>;
|
|
read-only;
|
|
};
|
|
};
|
|
|
|
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>;
|
|
|
|
interrupt-parent = <&pmc>;
|
|
interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
|
|
#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>;
|
|
};
|
|
|
|
vdd_1v8: sd2 {
|
|
regulator-name = "VDD_1V8";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
vdd_3v3_sys: sd3 {
|
|
regulator-name = "VDD_3V3_SYS";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
};
|
|
|
|
vdd_1v8_pll: ldo0 {
|
|
regulator-name = "VDD_1V8_AP_PLL";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
};
|
|
|
|
ldo2 {
|
|
regulator-name = "VDDIO_3V3_AOHV";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
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>;
|
|
};
|
|
|
|
vdd_pex: ldo8 {
|
|
regulator-name = "VDD_PEX_1V05";
|
|
regulator-min-microvolt = <1050000>;
|
|
regulator-max-microvolt = <1050000>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
psci {
|
|
compatible = "arm,psci-1.0";
|
|
status = "okay";
|
|
method = "smc";
|
|
};
|
|
|
|
gnd: regulator@0 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "GND";
|
|
regulator-min-microvolt = <0>;
|
|
regulator-max-microvolt = <0>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vdd_5v0_sys: regulator@1 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "VDD_5V0_SYS";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
vdd_1v8_ap: regulator@2 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "VDD_1V8_AP";
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
|
|
gpio = <&pmic 1 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
|
|
vin-supply = <&vdd_1v8>;
|
|
};
|
|
};
|