Commit 9c644f83 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'tegra-for-5.3-arm64-dt' of...

Merge tag 'tegra-for-5.3-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt

arm64: tegra: Device tree changes for v5.3-rc1

This contains the bulk of the Tegra changes this cycle. It has a bunch
of improvements across almost all boards. These are mostly small and not
too exciting additions.

Most notably perhaps is the continuation of Jetson Nano support, which
is now mostly on feature parity with Jetson TX1.

* tag 'tegra-for-5.3-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (28 commits)
  arm64: tegra: Enable PCIe slots in P2972-0000 board
  arm64: tegra: Add P2U and PCIe controller nodes to Tegra194 DT
  arm64: tegra: Add PEX DPD states as pinctrl properties
  arm64: tegra: Enable ACONNECT, ADMA and AGIC
  arm64: tegra: Add ACONNECT, ADMA and AGIC nodes
  arm64: tegra: Sort device tree nodes alphabetically
  arm64: tegra: Fix Jetson Nano GPU regulator
  arm64: tegra: Update Jetson TX1 GPU regulator timings
  arm64: tegra: Fix AGIC register range
  arm64: tegra: Add INA3221 channel info for Jetson TX2
  arm64: tegra: Enable PWM on Jetson Nano
  arm64: tegra: Enable CPU sleep on Jetson Nano
  arm64: tegra: Add ID EEPROMs on Jetson Nano
  arm64: tegra: Add ID EEPROM for Jetson TX2 Developer Kit
  arm64: tegra: Add ID EEPROM for Jetson TX2 module
  arm64: tegra: Add ID EEPROM for Jetson TX1 Developer Kit
  arm64: tegra: Add ID EEPROM for Jetson TX1 module
  arm64: tegra: Don't use architected timer for suspend on Tegra210
  arm64: tegra: Mark architected timer as always on
  arm64: tegra: Add pin control states for I2C on Tegra186
  ...
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents b9569a3c a586c88e
...@@ -7,18 +7,70 @@ ...@@ -7,18 +7,70 @@
#include "tegra186-p3310.dtsi" #include "tegra186-p3310.dtsi"
/ { / {
model = "NVIDIA Tegra186 P2771-0000 Development Board"; model = "NVIDIA Jetson TX2 Developer Kit";
compatible = "nvidia,p2771-0000", "nvidia,tegra186"; compatible = "nvidia,p2771-0000", "nvidia,tegra186";
aconnect {
status = "okay";
dma-controller@2930000 {
status = "okay";
};
interrupt-controller@2a40000 {
status = "okay";
};
};
i2c@3160000 { i2c@3160000 {
power-monitor@42 { power-monitor@42 {
compatible = "ti,ina3221"; compatible = "ti,ina3221";
reg = <0x42>; reg = <0x42>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
reg = <0x0>;
label = "VDD_MUX";
shunt-resistor-micro-ohms = <20000>;
};
channel@1 {
reg = <0x1>;
label = "VDD_5V0_IO_SYS";
shunt-resistor-micro-ohms = <5000>;
};
channel@2 {
reg = <0x2>;
label = "VDD_3V3_SYS";
shunt-resistor-micro-ohms = <10000>;
};
}; };
power-monitor@43 { power-monitor@43 {
compatible = "ti,ina3221"; compatible = "ti,ina3221";
reg = <0x43>; reg = <0x43>;
#address-cells = <1>;
#size-cells = <0>;
channel@0 {
reg = <0x0>;
label = "VDD_3V3_IO_SLP";
shunt-resistor-micro-ohms = <10000>;
};
channel@1 {
reg = <0x1>;
label = "VDD_1V8_IO";
shunt-resistor-micro-ohms = <10000>;
};
channel@2 {
reg = <0x2>;
label = "VDD_M2_IN";
shunt-resistor-micro-ohms = <10000>;
};
}; };
exp1: gpio@74 { exp1: gpio@74 {
...@@ -31,6 +83,8 @@ exp1: gpio@74 { ...@@ -31,6 +83,8 @@ exp1: gpio@74 {
#gpio-cells = <2>; #gpio-cells = <2>;
gpio-controller; gpio-controller;
vcc-supply = <&vdd_3v3_sys>;
}; };
exp2: gpio@77 { exp2: gpio@77 {
...@@ -43,6 +97,8 @@ exp2: gpio@77 { ...@@ -43,6 +97,8 @@ exp2: gpio@77 {
#gpio-cells = <2>; #gpio-cells = <2>;
gpio-controller; gpio-controller;
vcc-supply = <&vdd_1v8>;
}; };
}; };
...@@ -145,6 +201,19 @@ usb@3530000 { ...@@ -145,6 +201,19 @@ usb@3530000 {
phy-names = "usb2-0", "usb2-1", "usb3-0"; phy-names = "usb2-0", "usb2-1", "usb3-0";
}; };
i2c@c250000 {
/* carrier board ID EEPROM */
eeprom@57 {
compatible = "atmel,24c02";
reg = <0x57>;
address-bits = <8>;
page-size = <8>;
size = <256>;
read-only;
};
};
pcie@10003000 { pcie@10003000 {
status = "okay"; status = "okay";
...@@ -278,7 +347,7 @@ vdd_usb0: regulator@102 { ...@@ -278,7 +347,7 @@ vdd_usb0: regulator@102 {
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&gpio TEGRA_MAIN_GPIO(L, 4) GPIO_ACTIVE_HIGH>; gpio = <&gpio TEGRA186_MAIN_GPIO(L, 4) GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
vin-supply = <&vdd_5v0_sys>; vin-supply = <&vdd_5v0_sys>;
...@@ -292,7 +361,7 @@ vdd_usb1: regulator@103 { ...@@ -292,7 +361,7 @@ vdd_usb1: regulator@103 {
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <5000000>;
gpio = <&gpio TEGRA_MAIN_GPIO(L, 5) GPIO_ACTIVE_HIGH>; gpio = <&gpio TEGRA186_MAIN_GPIO(L, 5) GPIO_ACTIVE_HIGH>;
enable-active-high; enable-active-high;
vin-supply = <&vdd_5v0_sys>; vin-supply = <&vdd_5v0_sys>;
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include <dt-bindings/mfd/max77620.h> #include <dt-bindings/mfd/max77620.h>
/ { / {
model = "NVIDIA Tegra186 P3310 Processor Module"; model = "NVIDIA Jetson TX2";
compatible = "nvidia,p3310", "nvidia,tegra186"; compatible = "nvidia,p3310", "nvidia,tegra186";
aliases { aliases {
...@@ -67,11 +67,51 @@ i2c@3160000 { ...@@ -67,11 +67,51 @@ i2c@3160000 {
power-monitor@40 { power-monitor@40 {
compatible = "ti,ina3221"; compatible = "ti,ina3221";
reg = <0x40>; 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 { power-monitor@41 {
compatible = "ti,ina3221"; compatible = "ti,ina3221";
reg = <0x41>; 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>;
};
}; };
}; };
...@@ -124,6 +164,17 @@ i2c@c240000 { ...@@ -124,6 +164,17 @@ i2c@c240000 {
i2c@c250000 { i2c@c250000 {
status = "okay"; status = "okay";
/* module ID EEPROM */
eeprom@50 {
compatible = "atmel,24c02";
reg = <0x50>;
address-bits = <8>;
page-size = <8>;
size = <256>;
read-only;
};
}; };
rtc@c2a0000 { rtc@c2a0000 {
......
...@@ -70,6 +70,75 @@ ethernet@2490000 { ...@@ -70,6 +70,75 @@ ethernet@2490000 {
snps,rxpbl = <8>; snps,rxpbl = <8>;
}; };
aconnect {
compatible = "nvidia,tegra186-aconnect",
"nvidia,tegra210-aconnect";
clocks = <&bpmp TEGRA186_CLK_APE>,
<&bpmp TEGRA186_CLK_APB2APE>;
clock-names = "ape", "apb2ape";
power-domains = <&bpmp TEGRA186_POWER_DOMAIN_AUD>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x02900000 0x0 0x02900000 0x200000>;
status = "disabled";
dma-controller@2930000 {
compatible = "nvidia,tegra186-adma";
reg = <0x02930000 0x20000>;
interrupt-parent = <&agic>;
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <1>;
clocks = <&bpmp TEGRA186_CLK_AHUB>;
clock-names = "d_audio";
status = "disabled";
};
agic: interrupt-controller@2a40000 {
compatible = "nvidia,tegra186-agic",
"nvidia,tegra210-agic";
#interrupt-cells = <3>;
interrupt-controller;
reg = <0x02a41000 0x1000>,
<0x02a42000 0x2000>;
interrupts = <GIC_SPI 145
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
clocks = <&bpmp TEGRA186_CLK_APE>;
clock-names = "clk";
status = "disabled";
};
};
memory-controller@2c00000 { memory-controller@2c00000 {
compatible = "nvidia,tegra186-mc"; compatible = "nvidia,tegra186-mc";
reg = <0x0 0x02c00000 0x0 0xb0000>; reg = <0x0 0x02c00000 0x0 0xb0000>;
...@@ -173,6 +242,9 @@ dp_aux_ch1_i2c: i2c@3190000 { ...@@ -173,6 +242,9 @@ dp_aux_ch1_i2c: i2c@3190000 {
clock-names = "div-clk"; clock-names = "div-clk";
resets = <&bpmp TEGRA186_RESET_I2C4>; resets = <&bpmp TEGRA186_RESET_I2C4>;
reset-names = "i2c"; reset-names = "i2c";
pinctrl-names = "default", "idle";
pinctrl-0 = <&state_dpaux1_i2c>;
pinctrl-1 = <&state_dpaux1_off>;
status = "disabled"; status = "disabled";
}; };
...@@ -201,6 +273,9 @@ dp_aux_ch0_i2c: i2c@31b0000 { ...@@ -201,6 +273,9 @@ dp_aux_ch0_i2c: i2c@31b0000 {
clock-names = "div-clk"; clock-names = "div-clk";
resets = <&bpmp TEGRA186_RESET_I2C6>; resets = <&bpmp TEGRA186_RESET_I2C6>;
reset-names = "i2c"; reset-names = "i2c";
pinctrl-names = "default", "idle";
pinctrl-0 = <&state_dpaux_i2c>;
pinctrl-1 = <&state_dpaux_off>;
status = "disabled"; status = "disabled";
}; };
...@@ -1121,6 +1196,30 @@ cpu_bpmp_rx: shmem@4f000 { ...@@ -1121,6 +1196,30 @@ cpu_bpmp_rx: shmem@4f000 {
}; };
}; };
bpmp: bpmp {
compatible = "nvidia,tegra186-bpmp";
iommus = <&smmu TEGRA186_SID_BPMP>;
mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB
TEGRA_HSP_DB_MASTER_BPMP>;
shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>;
#clock-cells = <1>;
#reset-cells = <1>;
#power-domain-cells = <1>;
bpmp_i2c: i2c {
compatible = "nvidia,tegra186-bpmp-i2c";
nvidia,bpmp-bus-id = <5>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
bpmp_thermal: thermal {
compatible = "nvidia,tegra186-bpmp-thermal";
#thermal-sensor-cells = <1>;
};
};
cpus { cpus {
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
...@@ -1128,61 +1227,97 @@ cpus { ...@@ -1128,61 +1227,97 @@ cpus {
cpu@0 { cpu@0 {
compatible = "nvidia,tegra186-denver"; compatible = "nvidia,tegra186-denver";
device_type = "cpu"; device_type = "cpu";
i-cache-size = <0x20000>;
i-cache-line-size = <64>;
i-cache-sets = <512>;
d-cache-size = <0x10000>;
d-cache-line-size = <64>;
d-cache-sets = <256>;
next-level-cache = <&L2_DENVER>;
reg = <0x000>; reg = <0x000>;
}; };
cpu@1 { cpu@1 {
compatible = "nvidia,tegra186-denver"; compatible = "nvidia,tegra186-denver";
device_type = "cpu"; device_type = "cpu";
i-cache-size = <0x20000>;
i-cache-line-size = <64>;
i-cache-sets = <512>;
d-cache-size = <0x10000>;
d-cache-line-size = <64>;
d-cache-sets = <256>;
next-level-cache = <&L2_DENVER>;
reg = <0x001>; reg = <0x001>;
}; };
cpu@2 { cpu@2 {
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
device_type = "cpu"; device_type = "cpu";
i-cache-size = <0xC000>;
i-cache-line-size = <64>;
i-cache-sets = <256>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <256>;
next-level-cache = <&L2_A57>;
reg = <0x100>; reg = <0x100>;
}; };
cpu@3 { cpu@3 {
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
device_type = "cpu"; device_type = "cpu";
i-cache-size = <0xC000>;
i-cache-line-size = <64>;
i-cache-sets = <256>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <256>;
next-level-cache = <&L2_A57>;
reg = <0x101>; reg = <0x101>;
}; };
cpu@4 { cpu@4 {
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
device_type = "cpu"; device_type = "cpu";
i-cache-size = <0xC000>;
i-cache-line-size = <64>;
i-cache-sets = <256>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <256>;
next-level-cache = <&L2_A57>;
reg = <0x102>; reg = <0x102>;
}; };
cpu@5 { cpu@5 {
compatible = "arm,cortex-a57"; compatible = "arm,cortex-a57";
device_type = "cpu"; device_type = "cpu";
i-cache-size = <0xC000>;
i-cache-line-size = <64>;
i-cache-sets = <256>;
d-cache-size = <0x8000>;
d-cache-line-size = <64>;
d-cache-sets = <256>;
next-level-cache = <&L2_A57>;
reg = <0x103>; reg = <0x103>;
}; };
};
bpmp: bpmp { L2_DENVER: l2-cache0 {
compatible = "nvidia,tegra186-bpmp"; compatible = "cache";
iommus = <&smmu TEGRA186_SID_BPMP>; cache-unified;
mboxes = <&hsp_top0 TEGRA_HSP_MBOX_TYPE_DB cache-level = <2>;
TEGRA_HSP_DB_MASTER_BPMP>; cache-size = <0x200000>;
shmem = <&cpu_bpmp_tx &cpu_bpmp_rx>; cache-line-size = <64>;
#clock-cells = <1>; cache-sets = <2048>;
#reset-cells = <1>;
#power-domain-cells = <1>;
bpmp_i2c: i2c {
compatible = "nvidia,tegra186-bpmp-i2c";
nvidia,bpmp-bus-id = <5>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
}; };
bpmp_thermal: thermal { L2_A57: l2-cache1 {
compatible = "nvidia,tegra186-bpmp-thermal"; compatible = "cache";
#thermal-sensor-cells = <1>; cache-unified;
cache-level = <2>;
cache-size = <0x200000>;
cache-line-size = <64>;
cache-sets = <2048>;
}; };
}; };
...@@ -1294,5 +1429,6 @@ timer { ...@@ -1294,5 +1429,6 @@ timer {
<GIC_PPI 10 <GIC_PPI 10
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
always-on;
}; };
}; };
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include <dt-bindings/mfd/max77620.h> #include <dt-bindings/mfd/max77620.h>
/ { / {
model = "NVIDIA Tegra194 P2888 Processor Module"; model = "NVIDIA Jetson AGX Xavier";
compatible = "nvidia,p2888", "nvidia,tegra194"; compatible = "nvidia,p2888", "nvidia,tegra194";
aliases { aliases {
...@@ -191,7 +191,7 @@ vdd_1v8ls: sd2 { ...@@ -191,7 +191,7 @@ vdd_1v8ls: sd2 {
regulator-boot-on; regulator-boot-on;
}; };
sd3 { vdd_1v8ao: sd3 {
regulator-name = "VDD_1V8AO"; regulator-name = "VDD_1V8AO";
regulator-min-microvolt = <1800000>; regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
......
...@@ -7,10 +7,22 @@ ...@@ -7,10 +7,22 @@
#include "tegra194-p2888.dtsi" #include "tegra194-p2888.dtsi"
/ { / {
model = "NVIDIA Jetson AGX Xavier Development Kit"; model = "NVIDIA Jetson AGX Xavier Developer Kit";
compatible = "nvidia,p2972-0000", "nvidia,tegra194"; compatible = "nvidia,p2972-0000", "nvidia,tegra194";
cbb { cbb {
aconnect {
status = "okay";
dma-controller@2930000 {
status = "okay";
};
interrupt-controller@2a40000 {
status = "okay";
};
};
ddc: i2c@31c0000 { ddc: i2c@31c0000 {
status = "okay"; status = "okay";
}; };
...@@ -52,6 +64,47 @@ sor@15b80000 { ...@@ -52,6 +64,47 @@ sor@15b80000 {
}; };
}; };
pcie@14100000 {
status = "okay";
vddio-pex-ctl-supply = <&vdd_1v8ao>;
phys = <&p2u_hsio_0>;
phy-names = "p2u-0";
};
pcie@14140000 {
status = "okay";
vddio-pex-ctl-supply = <&vdd_1v8ao>;
phys = <&p2u_hsio_7>;
phy-names = "p2u-0";
};
pcie@14180000 {
status = "okay";
vddio-pex-ctl-supply = <&vdd_1v8ao>;
phys = <&p2u_hsio_2>, <&p2u_hsio_3>, <&p2u_hsio_4>,
<&p2u_hsio_5>;
phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3";
};
pcie@141a0000 {
status = "disabled";
vddio-pex-ctl-supply = <&vdd_1v8ao>;
phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>,
<&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>,
<&p2u_nvhs_6>, <&p2u_nvhs_7>;
phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4",
"p2u-5", "p2u-6", "p2u-7";
};
fan: fan { fan: fan {
compatible = "pwm-fan"; compatible = "pwm-fan";
pwms = <&pwm4 0 45334>; pwms = <&pwm4 0 45334>;
......
This diff is collapsed.
...@@ -264,6 +264,19 @@ avdd_1v05: ldo8 { ...@@ -264,6 +264,19 @@ avdd_1v05: ldo8 {
}; };
}; };
i2c@7000c500 {
/* module ID EEPROM */
eeprom@50 {
compatible = "atmel,24c02";
reg = <0x50>;
address-bits = <8>;
page-size = <8>;
size = <256>;
read-only;
};
};
pmc@7000e400 { pmc@7000e400 {
nvidia,invert-interrupt; nvidia,invert-interrupt;
}; };
...@@ -328,7 +341,8 @@ vdd_gpu: regulator@100 { ...@@ -328,7 +341,8 @@ vdd_gpu: regulator@100 {
regulator-max-microvolt = <1320000>; regulator-max-microvolt = <1320000>;
enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>; enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>;
regulator-ramp-delay = <80>; regulator-ramp-delay = <80>;
regulator-enable-ramp-delay = <1000>; regulator-enable-ramp-delay = <2000>;
regulator-settling-time-us = <160>;
}; };
}; };
}; };
...@@ -79,6 +79,19 @@ rom_13h { ...@@ -79,6 +79,19 @@ rom_13h {
}; };
}; };
i2c@7000c500 {
/* carrier board ID EEPROM */
eeprom@57 {
compatible = "atmel,24c02";
reg = <0x57>;
address-bits = <8>;
page-size = <8>;
size = <256>;
read-only;
};
};
clock@70110000 { clock@70110000 {
status = "okay"; status = "okay";
......
...@@ -88,6 +88,35 @@ serial@70006000 { ...@@ -88,6 +88,35 @@ serial@70006000 {
status = "okay"; status = "okay";
}; };
pwm@7000a000 {
status = "okay";
};
i2c@7000c500 {
status = "okay";
clock-frequency = <100000>;
eeprom@50 {
compatible = "atmel,24c02";
reg = <0x50>;
address-bits = <8>;
page-size = <8>;
size = <256>;
read-only;
};
eeprom@57 {
compatible = "atmel,24c02";
reg = <0x57>;
address-bits = <8>;
page-size = <8>;
size = <256>;
read-only;
};
};
hdmi_ddc: i2c@7000c700 { hdmi_ddc: i2c@7000c700 {
status = "okay"; status = "okay";
clock-frequency = <100000>; clock-frequency = <100000>;
...@@ -515,6 +544,12 @@ cpu@2 { ...@@ -515,6 +544,12 @@ cpu@2 {
cpu@3 { cpu@3 {
enable-method = "psci"; enable-method = "psci";
}; };
idle-states {
cpu-sleep {
status = "okay";
};
};
}; };
gpio-keys { gpio-keys {
...@@ -633,17 +668,16 @@ vdd_cpu: regulator@5 { ...@@ -633,17 +668,16 @@ vdd_cpu: regulator@5 {
}; };
vdd_gpu: regulator@6 { vdd_gpu: regulator@6 {
compatible = "regulator-fixed"; compatible = "pwm-regulator";
reg = <6>; reg = <6>;
pwms = <&pwm 1 4880>;
regulator-name = "VDD_GPU"; regulator-name = "VDD_GPU";
regulator-min-microvolt = <5000000>; regulator-min-microvolt = <710000>;
regulator-max-microvolt = <5000000>; regulator-max-microvolt = <1320000>;
regulator-enable-ramp-delay = <250>; regulator-ramp-delay = <80>;
regulator-enable-ramp-delay = <2000>;
gpio = <&pmic 6 GPIO_ACTIVE_HIGH>; regulator-settling-time-us = <160>;
enable-active-high; enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>;
vin-supply = <&vdd_5v0_sys>; vin-supply = <&vdd_5v0_sys>;
}; };
}; };
......
...@@ -48,6 +48,11 @@ pcie@1003000 { ...@@ -48,6 +48,11 @@ pcie@1003000 {
<&tegra_car 72>, <&tegra_car 72>,
<&tegra_car 74>; <&tegra_car 74>;
reset-names = "pex", "afi", "pcie_x"; reset-names = "pex", "afi", "pcie_x";
pinctrl-names = "default", "idle";
pinctrl-0 = <&pex_dpd_disable>;
pinctrl-1 = <&pex_dpd_enable>;
status = "disabled"; status = "disabled";
pci@1,0 { pci@1,0 {
...@@ -848,6 +853,20 @@ sdmmc3_1v8: sdmmc3-1v8 { ...@@ -848,6 +853,20 @@ sdmmc3_1v8: sdmmc3-1v8 {
pins = "sdmmc3"; pins = "sdmmc3";
power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>; power-source = <TEGRA_IO_PAD_VOLTAGE_1V8>;
}; };
pex_dpd_disable: pex_en {
pex-dpd-disable {
pins = "pex-bias", "pex-clk1", "pex-clk2";
low-power-disable;
};
};
pex_dpd_enable: pex_dis {
pex-dpd-enable {
pins = "pex-bias", "pex-clk1", "pex-clk2";
low-power-enable;
};
};
}; };
fuse@7000f800 { fuse@7000f800 {
...@@ -1258,7 +1277,7 @@ agic: agic@702f9000 { ...@@ -1258,7 +1277,7 @@ agic: agic@702f9000 {
compatible = "nvidia,tegra210-agic"; compatible = "nvidia,tegra210-agic";
#interrupt-cells = <3>; #interrupt-cells = <3>;
interrupt-controller; interrupt-controller;
reg = <0x702f9000 0x2000>, reg = <0x702f9000 0x1000>,
<0x702fa000 0x2000>; <0x702fa000 0x2000>;
interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>; interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
clocks = <&tegra_car TEGRA210_CLK_APE>; clocks = <&tegra_car TEGRA210_CLK_APE>;
...@@ -1430,6 +1449,7 @@ timer { ...@@ -1430,6 +1449,7 @@ timer {
<GIC_PPI 10 <GIC_PPI 10
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>; (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
interrupt-parent = <&gic>; interrupt-parent = <&gic>;
arm,no-tick-in-suspend;
}; };
soctherm: thermal-sensor@700e2000 { soctherm: thermal-sensor@700e2000 {
......
...@@ -41,34 +41,6 @@ ...@@ -41,34 +41,6 @@
#define TEGRA186_MAIN_GPIO(port, offset) \ #define TEGRA186_MAIN_GPIO(port, offset) \
((TEGRA186_MAIN_GPIO_PORT_##port * 8) + offset) ((TEGRA186_MAIN_GPIO_PORT_##port * 8) + offset)
/* need to keep these for backwards-compatibility */
#define TEGRA_MAIN_GPIO_PORT_A 0
#define TEGRA_MAIN_GPIO_PORT_B 1
#define TEGRA_MAIN_GPIO_PORT_C 2
#define TEGRA_MAIN_GPIO_PORT_D 3
#define TEGRA_MAIN_GPIO_PORT_E 4
#define TEGRA_MAIN_GPIO_PORT_F 5
#define TEGRA_MAIN_GPIO_PORT_G 6
#define TEGRA_MAIN_GPIO_PORT_H 7
#define TEGRA_MAIN_GPIO_PORT_I 8
#define TEGRA_MAIN_GPIO_PORT_J 9
#define TEGRA_MAIN_GPIO_PORT_K 10
#define TEGRA_MAIN_GPIO_PORT_L 11
#define TEGRA_MAIN_GPIO_PORT_M 12
#define TEGRA_MAIN_GPIO_PORT_N 13
#define TEGRA_MAIN_GPIO_PORT_O 14
#define TEGRA_MAIN_GPIO_PORT_P 15
#define TEGRA_MAIN_GPIO_PORT_Q 16
#define TEGRA_MAIN_GPIO_PORT_R 17
#define TEGRA_MAIN_GPIO_PORT_T 18
#define TEGRA_MAIN_GPIO_PORT_X 19
#define TEGRA_MAIN_GPIO_PORT_Y 20
#define TEGRA_MAIN_GPIO_PORT_BB 21
#define TEGRA_MAIN_GPIO_PORT_CC 22
#define TEGRA_MAIN_GPIO(port, offset) \
((TEGRA_MAIN_GPIO_PORT_##port * 8) + offset)
/* GPIOs implemented by AON GPIO controller */ /* GPIOs implemented by AON GPIO controller */
#define TEGRA186_AON_GPIO_PORT_S 0 #define TEGRA186_AON_GPIO_PORT_S 0
#define TEGRA186_AON_GPIO_PORT_U 1 #define TEGRA186_AON_GPIO_PORT_U 1
...@@ -82,17 +54,4 @@ ...@@ -82,17 +54,4 @@
#define TEGRA186_AON_GPIO(port, offset) \ #define TEGRA186_AON_GPIO(port, offset) \
((TEGRA186_AON_GPIO_PORT_##port * 8) + offset) ((TEGRA186_AON_GPIO_PORT_##port * 8) + offset)
/* need to keep these for backwards-compatibility */
#define TEGRA_AON_GPIO_PORT_S 0
#define TEGRA_AON_GPIO_PORT_U 1
#define TEGRA_AON_GPIO_PORT_V 2
#define TEGRA_AON_GPIO_PORT_W 3
#define TEGRA_AON_GPIO_PORT_Z 4
#define TEGRA_AON_GPIO_PORT_AA 5
#define TEGRA_AON_GPIO_PORT_EE 6
#define TEGRA_AON_GPIO_PORT_FF 7
#define TEGRA_AON_GPIO(port, offset) \
((TEGRA_AON_GPIO_PORT_##port * 8) + offset)
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment