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

This contains a couple of fixes for minor issues, enables XUDC support
 on Tegra194, and enables EMC frequency scaling and video capture on
 Tegra210.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAl7HzdITHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoZq+D/4r4KG1to0L9PSiZe0KAf9LzrUScPbi
 sY3XrBCmQzYrYaNwr0kuGZGc39treo1iVPZmWSRRhKFHItMaUJikxV7wdOeSPEd2
 AwI2FXZtyBtf3ptOQ0027qJC4HutiASCL65A/rbSw0eqVwjfLfNdT5Z6yPQ95j20
 S43Ub3ufHyT77FyrwVbaou06ohQSo7YtsVYdpsg2pkH3hT47NTDYbzxyTs4k223Z
 DKacE5oiLOkSUzT93HYiFip+1MoprN9S/QrcQdfenrXRwFwennp2+NLvz+lkYBwf
 yTwq9H9jVvJ6PrYhBHfsqkvGvsgZw/YgXK5lwQIOg1afL3K56oauRn9+utWDZ/hm
 fWqArKCss61/t9Kn/5uVyx2cSD2HbCA+UhJZcUlnnuZDd0TZ0j3ODKj0nPneKBvy
 t4lNLFY6AWshBos66HxkhiCjeeI5sbiBVnM7cdiPqohbV9lHDEWyLyx0vi0YRNJp
 DiJsXhp9+gVyt9c4ZO1BUc1Ka5x2RsxsqjkOPuErny1Fqcr/zFgjAJg/y/ytIYDR
 43NCZqNLmkXpuxqrincQyBLg45dV1pvbyItO1XxnK6t+MJVZoR+2Nhe48CJSV7WD
 pShwjVFtOuTpTZGwVUNIS38U+ORrPLDid9B9w7oc9WQatcGOZYOHJcgFjGQQbeNB
 cmrrt+J0BTMBXg==
 =A/Pb
 -----END PGP SIGNATURE-----

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

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

This contains a couple of fixes for minor issues, enables XUDC support
on Tegra194, and enables EMC frequency scaling and video capture on
Tegra210.

* tag 'tegra-for-5.8-arm64-dt-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Make the RTC a wakeup source on Jetson Nano and TX1
  arm64: tegra: Make the RTC a wakeup source on Jetson TX2
  arm64: tegra: Enable VI I2C on Jetson Nano
  arm64: tegra: Fix flag for 64-bit resources in 'ranges' property
  arm64: tegra: Add Tegra VI CSI support in device tree
  arm64: tegra: Add reset-cells to memory controller
  arm64: tegra: Fix SOR powergate clocks and reset
  arm64: tegra: Allow the PMIC RTC to wakeup Jetson Xavier
  arm64: tegra: Fix ethernet phy-mode for Jetson Xavier
  arm64: tegra: Hook up EMC cooling device
  arm64: tegra: Add external memory controller node for Tegra210
  arm64: tegra: Add XUDC node on Tegra194
  arm64: tegra: Kill off "simple-panel" compatibles

Link: https://lore.kernel.org/r/20200522142846.2376224-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2020-05-26 00:21:15 +02:00
Родитель 34a07a8da3 358a6777f5
Коммит 4cafc5d9c9
8 изменённых файлов: 130 добавлений и 19 удалений

Просмотреть файл

@ -990,7 +990,7 @@
}; };
panel: panel { panel: panel {
compatible = "innolux,n116bge", "simple-panel"; compatible = "innolux,n116bge";
backlight = <&backlight>; backlight = <&backlight>;
ddc-i2c-bus = <&dpaux>; ddc-i2c-bus = <&dpaux>;
}; };

Просмотреть файл

@ -221,7 +221,8 @@
compatible = "maxim,max77620"; compatible = "maxim,max77620";
reg = <0x3c>; reg = <0x3c>;
interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>; interrupt-parent = <&pmc>;
interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
#interrupt-cells = <2>; #interrupt-cells = <2>;
interrupt-controller; interrupt-controller;

Просмотреть файл

@ -33,7 +33,7 @@
phy-reset-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 5) GPIO_ACTIVE_LOW>; phy-reset-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 5) GPIO_ACTIVE_LOW>;
phy-handle = <&phy>; phy-handle = <&phy>;
phy-mode = "rgmii"; phy-mode = "rgmii-id";
mdio { mdio {
#address-cells = <1>; #address-cells = <1>;
@ -111,7 +111,8 @@
compatible = "maxim,max20024"; compatible = "maxim,max20024";
reg = <0x3c>; reg = <0x3c>;
interrupts = <GIC_SPI 209 IRQ_TYPE_LEVEL_HIGH>; interrupt-parent = <&pmc>;
interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
#interrupt-cells = <2>; #interrupt-cells = <2>;
interrupt-controller; interrupt-controller;

Просмотреть файл

@ -644,6 +644,24 @@
}; };
}; };
usb@3550000 {
compatible = "nvidia,tegra194-xudc";
reg = <0x03550000 0x8000>,
<0x03558000 0x1000>;
reg-names = "base", "fpci";
interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&bpmp TEGRA194_CLK_XUSB_CORE_DEV>,
<&bpmp TEGRA194_CLK_XUSB_CORE_SS>,
<&bpmp TEGRA194_CLK_XUSB_SS>,
<&bpmp TEGRA194_CLK_XUSB_FS>;
clock-names = "dev", "ss", "ss_src", "fs_src";
power-domains = <&bpmp TEGRA194_POWER_DOMAIN_XUSBB>,
<&bpmp TEGRA194_POWER_DOMAIN_XUSBA>;
power-domain-names = "dev", "ss";
nvidia,xusb-padctl = <&xusb_padctl>;
status = "disabled";
};
usb@3610000 { usb@3610000 {
compatible = "nvidia,tegra194-xusb"; compatible = "nvidia,tegra194-xusb";
reg = <0x03610000 0x40000>, reg = <0x03610000 0x40000>,
@ -1387,7 +1405,7 @@
bus-range = <0x0 0xff>; bus-range = <0x0 0xff>;
ranges = <0x81000000 0x0 0x30100000 0x0 0x30100000 0x0 0x00100000 /* downstream I/O (1MB) */ ranges = <0x81000000 0x0 0x30100000 0x0 0x30100000 0x0 0x00100000 /* downstream I/O (1MB) */
0xc2000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */ 0xc3000000 0x12 0x00000000 0x12 0x00000000 0x0 0x30000000 /* prefetchable memory (768MB) */
0x82000000 0x0 0x40000000 0x12 0x30000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */ 0x82000000 0x0 0x40000000 0x12 0x30000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
}; };
@ -1432,7 +1450,7 @@
bus-range = <0x0 0xff>; bus-range = <0x0 0xff>;
ranges = <0x81000000 0x0 0x32100000 0x0 0x32100000 0x0 0x00100000 /* downstream I/O (1MB) */ ranges = <0x81000000 0x0 0x32100000 0x0 0x32100000 0x0 0x00100000 /* downstream I/O (1MB) */
0xc2000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */ 0xc3000000 0x12 0x40000000 0x12 0x40000000 0x0 0x30000000 /* prefetchable memory (768MB) */
0x82000000 0x0 0x40000000 0x12 0x70000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */ 0x82000000 0x0 0x40000000 0x12 0x70000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
}; };
@ -1477,7 +1495,7 @@
bus-range = <0x0 0xff>; bus-range = <0x0 0xff>;
ranges = <0x81000000 0x0 0x34100000 0x0 0x34100000 0x0 0x00100000 /* downstream I/O (1MB) */ ranges = <0x81000000 0x0 0x34100000 0x0 0x34100000 0x0 0x00100000 /* downstream I/O (1MB) */
0xc2000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */ 0xc3000000 0x12 0x80000000 0x12 0x80000000 0x0 0x30000000 /* prefetchable memory (768MB) */
0x82000000 0x0 0x40000000 0x12 0xb0000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */ 0x82000000 0x0 0x40000000 0x12 0xb0000000 0x0 0x10000000>; /* non-prefetchable memory (256MB) */
}; };
@ -1522,7 +1540,7 @@
bus-range = <0x0 0xff>; bus-range = <0x0 0xff>;
ranges = <0x81000000 0x0 0x36100000 0x0 0x36100000 0x0 0x00100000 /* downstream I/O (1MB) */ ranges = <0x81000000 0x0 0x36100000 0x0 0x36100000 0x0 0x00100000 /* downstream I/O (1MB) */
0xc2000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ 0xc3000000 0x14 0x00000000 0x14 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
0x82000000 0x0 0x40000000 0x17 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */ 0x82000000 0x0 0x40000000 0x17 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
}; };
@ -1567,7 +1585,7 @@
bus-range = <0x0 0xff>; bus-range = <0x0 0xff>;
ranges = <0x81000000 0x0 0x38100000 0x0 0x38100000 0x0 0x00100000 /* downstream I/O (1MB) */ ranges = <0x81000000 0x0 0x38100000 0x0 0x38100000 0x0 0x00100000 /* downstream I/O (1MB) */
0xc2000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ 0xc3000000 0x18 0x00000000 0x18 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
0x82000000 0x0 0x40000000 0x1b 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */ 0x82000000 0x0 0x40000000 0x1b 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
}; };
@ -1616,7 +1634,7 @@
bus-range = <0x0 0xff>; bus-range = <0x0 0xff>;
ranges = <0x81000000 0x0 0x3a100000 0x0 0x3a100000 0x0 0x00100000 /* downstream I/O (1MB) */ ranges = <0x81000000 0x0 0x3a100000 0x0 0x3a100000 0x0 0x00100000 /* downstream I/O (1MB) */
0xc2000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */ 0xc3000000 0x1c 0x00000000 0x1c 0x00000000 0x3 0x40000000 /* prefetchable memory (13GB) */
0x82000000 0x0 0x40000000 0x1f 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */ 0x82000000 0x0 0x40000000 0x1f 0x40000000 0x0 0xc0000000>; /* non-prefetchable memory (3GB) */
}; };

Просмотреть файл

@ -38,7 +38,8 @@
pmic: pmic@3c { pmic: pmic@3c {
compatible = "maxim,max77620"; compatible = "maxim,max77620";
reg = <0x3c>; reg = <0x3c>;
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; interrupt-parent = <&tegra_pmc>;
interrupts = <51 IRQ_TYPE_LEVEL_LOW>;
#interrupt-cells = <2>; #interrupt-cells = <2>;
interrupt-controller; interrupt-controller;

Просмотреть файл

@ -14,6 +14,16 @@
status = "okay"; status = "okay";
}; };
vi@54080000 {
status = "okay";
avdd-dsi-csi-supply = <&vdd_dsi_csi>;
csi@838 {
status = "okay";
};
};
sor@54580000 { sor@54580000 {
status = "okay"; status = "okay";

Просмотреть файл

@ -90,6 +90,10 @@
dpaux@545c0000 { dpaux@545c0000 {
status = "okay"; status = "okay";
}; };
i2c@546c0000 {
status = "okay";
};
}; };
gpu@57000000 { gpu@57000000 {
@ -145,7 +149,8 @@
pmic: pmic@3c { pmic: pmic@3c {
compatible = "maxim,max77620"; compatible = "maxim,max77620";
reg = <0x3c>; reg = <0x3c>;
interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>; interrupt-parent = <&tegra_pmc>;
interrupts = <51 IRQ_TYPE_LEVEL_LOW>;
#interrupt-cells = <2>; #interrupt-cells = <2>;
interrupt-controller; interrupt-controller;

Просмотреть файл

@ -137,9 +137,44 @@
vi@54080000 { vi@54080000 {
compatible = "nvidia,tegra210-vi"; compatible = "nvidia,tegra210-vi";
reg = <0x0 0x54080000 0x0 0x00040000>; reg = <0x0 0x54080000 0x0 0x700>;
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
clocks = <&tegra_car TEGRA210_CLK_VI>;
power-domains = <&pd_venc>;
#address-cells = <1>;
#size-cells = <1>;
ranges = <0x0 0x0 0x54080000 0x2000>;
csi@838 {
compatible = "nvidia,tegra210-csi";
reg = <0x838 0x1300>;
status = "disabled";
assigned-clocks = <&tegra_car TEGRA210_CLK_CILAB>,
<&tegra_car TEGRA210_CLK_CILCD>,
<&tegra_car TEGRA210_CLK_CILE>,
<&tegra_car TEGRA210_CLK_CSI_TPG>;
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>,
<&tegra_car TEGRA210_CLK_PLL_P>,
<&tegra_car TEGRA210_CLK_PLL_P>;
assigned-clock-rates = <102000000>,
<102000000>,
<102000000>,
<972000000>;
clocks = <&tegra_car TEGRA210_CLK_CSI>,
<&tegra_car TEGRA210_CLK_CILAB>,
<&tegra_car TEGRA210_CLK_CILCD>,
<&tegra_car TEGRA210_CLK_CILE>,
<&tegra_car TEGRA210_CLK_CSI_TPG>;
clock-names = "csi", "cilab", "cilcd", "cile", "csi_tpg";
power-domains = <&pd_sor>;
};
}; };
tsec@54100000 { tsec@54100000 {
@ -796,7 +831,9 @@
pd_sor: sor { pd_sor: sor {
clocks = <&tegra_car TEGRA210_CLK_SOR0>, clocks = <&tegra_car TEGRA210_CLK_SOR0>,
<&tegra_car TEGRA210_CLK_SOR1>, <&tegra_car TEGRA210_CLK_SOR1>,
<&tegra_car TEGRA210_CLK_CSI>, <&tegra_car TEGRA210_CLK_CILAB>,
<&tegra_car TEGRA210_CLK_CILCD>,
<&tegra_car TEGRA210_CLK_CILE>,
<&tegra_car TEGRA210_CLK_DSIA>, <&tegra_car TEGRA210_CLK_DSIA>,
<&tegra_car TEGRA210_CLK_DSIB>, <&tegra_car TEGRA210_CLK_DSIB>,
<&tegra_car TEGRA210_CLK_DPAUX>, <&tegra_car TEGRA210_CLK_DPAUX>,
@ -804,7 +841,6 @@
<&tegra_car TEGRA210_CLK_MIPI_CAL>; <&tegra_car TEGRA210_CLK_MIPI_CAL>;
resets = <&tegra_car TEGRA210_CLK_SOR0>, resets = <&tegra_car TEGRA210_CLK_SOR0>,
<&tegra_car TEGRA210_CLK_SOR1>, <&tegra_car TEGRA210_CLK_SOR1>,
<&tegra_car TEGRA210_CLK_CSI>,
<&tegra_car TEGRA210_CLK_DSIA>, <&tegra_car TEGRA210_CLK_DSIA>,
<&tegra_car TEGRA210_CLK_DSIB>, <&tegra_car TEGRA210_CLK_DSIB>,
<&tegra_car TEGRA210_CLK_DPAUX>, <&tegra_car TEGRA210_CLK_DPAUX>,
@ -838,6 +874,15 @@
reset-names = "vic"; reset-names = "vic";
#power-domain-cells = <0>; #power-domain-cells = <0>;
}; };
pd_venc: venc {
clocks = <&tegra_car TEGRA210_CLK_VI>,
<&tegra_car TEGRA210_CLK_CSI>;
resets = <&mc TEGRA210_MC_RESET_VI>,
<&tegra_car 20>,
<&tegra_car 52>;
#power-domain-cells = <0>;
};
}; };
sdmmc1_3v3: sdmmc1-3v3 { sdmmc1_3v3: sdmmc1-3v3 {
@ -893,6 +938,19 @@
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>; #iommu-cells = <1>;
#reset-cells = <1>;
};
emc: external-memory-controller@7001b000 {
compatible = "nvidia,tegra210-emc";
reg = <0x0 0x7001b000 0x0 0x1000>,
<0x0 0x7001e000 0x0 0x1000>,
<0x0 0x7001f000 0x0 0x1000>;
clocks = <&tegra_car TEGRA210_CLK_EMC>;
clock-names = "emc";
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
nvidia,memory-controller = <&mc>;
#cooling-cells = <2>;
}; };
sata@70020000 { sata@70020000 {
@ -1550,6 +1608,18 @@
<&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>; <&soctherm TEGRA124_SOCTHERM_SENSOR_MEM>;
trips { trips {
dram_nominal: mem-nominal-trip {
temperature = <50000>;
hysteresis = <1000>;
type = "passive";
};
dram_throttle: mem-throttle-trip {
temperature = <70000>;
hysteresis = <1000>;
type = "active";
};
mem-shutdown-trip { mem-shutdown-trip {
temperature = <103000>; temperature = <103000>;
hysteresis = <0>; hysteresis = <0>;
@ -1558,10 +1628,15 @@
}; };
cooling-maps { cooling-maps {
/* dram-passive {
* There are currently no cooling maps, cooling-device = <&emc 0 0>;
* because there are no cooling devices. trip = <&dram_nominal>;
*/ };
dram-active {
cooling-device = <&emc 1 1>;
trip = <&dram_throttle>;
};
}; };
}; };