forked from rrcarlosr/Jetpack
290 lines
5.9 KiB
Plaintext
290 lines
5.9 KiB
Plaintext
/*
|
|
* Copyright (c) 2017-2019, NVIDIA CORPORATION. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; version 2 of the License.
|
|
*
|
|
* This program is distributed in the hope that it will be useful, but WITHOUT
|
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
* more details.
|
|
*/
|
|
|
|
|
|
/ {
|
|
/* IVC and mempool driver */
|
|
tegra_hv: hyp {
|
|
compatible = "nvidia,tegra-hv";
|
|
status = "okay";
|
|
};
|
|
/* Property to be used by VM to determine if it is
|
|
* running as VM under Hypervisor */
|
|
chosen {
|
|
nvidia,tegra-hypervisor-mode;
|
|
};
|
|
|
|
/* Use 64-bit GICC alias region which is mapped
|
|
* to GICV interface underneath by Hypervisor */
|
|
interrupt-controller@3881000 {
|
|
reg = <0x0 0x03881000 0x0 0x00001000
|
|
0x0 0x03892000 0x0 0x00002000>;
|
|
/delete-property/ interrupts;
|
|
/delete-property/ interrupt-parent;
|
|
};
|
|
|
|
/* Paravirtualized BPMP driver */
|
|
bpmp {
|
|
compatible = "nvidia,tegra186-bpmp-hv";
|
|
};
|
|
/* Paravirtualized PM driver */
|
|
tegra_hv_pm_ctl {
|
|
compatible = "nvidia,tegra-hv-pm-ctl";
|
|
};
|
|
|
|
/* Paravirtualized watchdog driver */
|
|
tegra_hv_wdt {
|
|
compatible = "nvidia,tegra-hv-wdt";
|
|
};
|
|
|
|
/* Disable physical watchdog driver */
|
|
watchdog@30c0000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
generic-system-config {
|
|
status = "disabled";
|
|
};
|
|
|
|
mipical {
|
|
status = "disabled";
|
|
};
|
|
|
|
combined-uart {
|
|
status = "disabled";
|
|
};
|
|
|
|
/* ISO-clients cannot have stage-1 translation and hence
|
|
* iommus node are deleted for ISO-Clients which are
|
|
* nvdisplay, vi and vi-thi */
|
|
host1x {
|
|
nvdisplay@15200000 {
|
|
/delete-property/ iommus;
|
|
/delete-property/ iso-smmu;
|
|
};
|
|
|
|
nvdisplay@15210000 {
|
|
/delete-property/ iommus;
|
|
/delete-property/ iso-smmu;
|
|
};
|
|
|
|
nvdisplay@15220000 {
|
|
/delete-property/ iommus;
|
|
/delete-property/ iso-smmu;
|
|
};
|
|
|
|
nvdisplay@15230000 {
|
|
/delete-property/ iommus;
|
|
/delete-property/ iso-smmu;
|
|
};
|
|
|
|
vi: vi@15c10000 {
|
|
/delete-property/ iommus;
|
|
/delete-property/ iso-smmu;
|
|
};
|
|
|
|
vi_thi: vi-thi@15f00000 {
|
|
/delete-property/ iommus;
|
|
/delete-property/ iso-smmu;
|
|
};
|
|
};
|
|
|
|
mc {
|
|
/delete-property/ ranges;
|
|
/delete-node/ mssnvlink@1f20000;
|
|
};
|
|
|
|
/* ISO-SMMU is not available for a VM and hence
|
|
* all the properties related to ISO-SMMU are deleted. */
|
|
iommu@12000000 {
|
|
#if LINUX_VERSION >= 414
|
|
reg = <0 0x12000000 0 0x800000>,
|
|
<0 0x11000000 0 0x800000>;
|
|
#else
|
|
reg = <0x0 0x12000000 0x0 0x01000000>, /* SMMU0 16MB */
|
|
<0x0 0x11000000 0x0 0x01000000>; /* SMMU1 16MB */
|
|
#endif
|
|
/delete-property/ iso-smmu-id;
|
|
};
|
|
|
|
xhci@3610000 {
|
|
vfs_num = <4>;
|
|
/* Index 0 : XUSB PF base address and size
|
|
* Index 1 : XUSB PF CFG (FPCI) base address and size
|
|
* Index 2 : XUSB VF0 base address and size
|
|
* Index 3 : XUSB PADCTL base address and size
|
|
* Index 4 : XUSB AO base address and size
|
|
*/
|
|
reg = <0x0 0x3610000 0x0 0x50000>,
|
|
<0x0 0x3600000 0x0 0x10000>,
|
|
<0x0 0x3660000 0x0 0x50000>,
|
|
<0x0 0x3520000 0x0 0x10000>,
|
|
<0x0 0x3540000 0x0 0x10000>;
|
|
pf {
|
|
ss_start = <1>;
|
|
ss_num = <4>;
|
|
hs_start = <5>;
|
|
hs_num = <4>;
|
|
};
|
|
|
|
vfs {
|
|
/*
|
|
* portmap : Add all the ports(Host/Device Mode) that
|
|
* are owned by a Guest. Even if there is a micro-B port
|
|
* which is device only, add it to portmap so that
|
|
* XHCI_SERVER can validate when VF accesses PAD/AO
|
|
* Registers for the device only port
|
|
*/
|
|
|
|
vf@1 {
|
|
slots = <36>;
|
|
};
|
|
vf@2 {
|
|
slots = <36>;
|
|
};
|
|
vf@3 {
|
|
slots = <36>;
|
|
};
|
|
vf@4 {
|
|
slots = <36>;
|
|
};
|
|
};
|
|
};
|
|
|
|
vse@15810000 {
|
|
compatible = "nvidia,tegra186-hv-vse";
|
|
se-engine-id = <0>;
|
|
status = "disabled";
|
|
};
|
|
|
|
vse@15820000 {
|
|
compatible = "nvidia,tegra186-hv-vse";
|
|
se-engine-id = <1>;
|
|
status = "disabled";
|
|
};
|
|
|
|
vse@15830000 {
|
|
compatible = "nvidia,tegra186-hv-vse";
|
|
se-engine-id = <2>;
|
|
status = "disabled";
|
|
};
|
|
|
|
vse@15840000 {
|
|
compatible = "nvidia,tegra186-hv-vse";
|
|
se-engine-id = <3>;
|
|
status = "disabled";
|
|
};
|
|
|
|
vse@3ae0000 {
|
|
compatible = "nvidia,tegra186-hv-vse";
|
|
se-engine-id = <4>;
|
|
status = "disabled";
|
|
};
|
|
|
|
vse@3ad0000 {
|
|
compatible = "nvidia,tegra186-hv-vse";
|
|
se-engine-id = <5>;
|
|
status = "disabled";
|
|
};
|
|
|
|
cbb-noc@2300000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
aon-noc@C600000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
bpmp-noc@D600000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
rce-noc@BE00000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
sce-noc@B600000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
cv-noc@14040000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
axi2apb@2390000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
/* Disable cpufreq, so that server partitions accidently don't invoke
|
|
cpufreq driver(in case if present in server code). In bpmp-server(which
|
|
owns cpufreq)DT, cpufreq DT node will be enabled explicitly.
|
|
*/
|
|
cpufreq {
|
|
status = "disabled";
|
|
};
|
|
|
|
se_elp@3ad0000 {
|
|
status = "disabled";
|
|
};
|
|
|
|
host1x {
|
|
se@15810000 {
|
|
status="disabled";
|
|
};
|
|
|
|
se@15820000 {
|
|
status="disabled";
|
|
};
|
|
|
|
se@15830000 {
|
|
status="disabled";
|
|
};
|
|
|
|
se@15840000 {
|
|
status="disabled";
|
|
};
|
|
};
|
|
|
|
vgpu {
|
|
compatible = "nvidia,gv11b-vgpu";
|
|
reg = <0x0 0x17810000 0x0 0x10000>;
|
|
reg-names = "usermode";
|
|
nvidia,host1x = <&host1x>;
|
|
dma-noncontig;
|
|
status = "disabled";
|
|
};
|
|
|
|
aconnect@2a41000 {
|
|
/* Remove APE and APB2APE clocks from adsp node to
|
|
* prevent guest owning ADSP peripheral from
|
|
* toggling APE clocks. These clocks are owned and
|
|
* controlled only by Audio Server
|
|
*/
|
|
adsp@2993000 {
|
|
clocks = <&bpmp_clks TEGRA194_CLK_ADSPNEON>,
|
|
<&bpmp_clks TEGRA194_CLK_ADSP>,
|
|
<&bpmp_clks TEGRA194_CLK_ACLK>;
|
|
clock-names = "adspneon", "adsp", "aclk";
|
|
};
|
|
|
|
/* Add ADSP reset information to AHUB node to allow
|
|
* Audio Server ownership of ADSP reset. Required for
|
|
* ADSP reset handling during guest reset.
|
|
*/
|
|
ahub {
|
|
resets = <&bpmp_resets TEGRA194_RESET_ADSP_ALL>;
|
|
reset-names = "adspall";
|
|
};
|
|
};
|
|
};
|