mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-19 02:04:19 +08:00
9df50ba76a
Need to configure PHY interrupt as active low for P3310 Tegra186 platform otherwise it results in spurious interrupts. This issue wasn't seen before because the generic PHY driver without interrupt support was used. Signed-off-by: Bhadram Varka <vbhadram@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
387 lines
7.2 KiB
Plaintext
387 lines
7.2 KiB
Plaintext
// 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>;
|
|
};
|
|
};
|
|
};
|