2571 lines
73 KiB
Plaintext
2571 lines
73 KiB
Plaintext
|
/*
|
||
|
* tegra210-soc-base.dtsi: SOC specific DTSI file with all node disabled.
|
||
|
*
|
||
|
* Copyright (c) 2013-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.
|
||
|
*/
|
||
|
|
||
|
#include <dt-bindings/version.h>
|
||
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||
|
#include <dt-bindings/clock/tegra210-car.h>
|
||
|
#include <dt-bindings/reset/tegra210-car.h>
|
||
|
#include <dt-bindings/memory/tegra-swgroup.h>
|
||
|
#include "tegra210-thermal.dtsi"
|
||
|
#include <dt-bindings/gpio/tegra-gpio.h>
|
||
|
#include <dt-bindings/soc/tegra-io-pads.h>
|
||
|
#include <dt-bindings/pinctrl/pinctrl-tegra-io-pad.h>
|
||
|
#include <dt-bindings/ata/ahci-tegra.h>
|
||
|
#include <dt-bindings/soc/tegra210-powergate.h>
|
||
|
#include <dt-bindings/interrupt-controller/tegra-t21x-agic.h>
|
||
|
#include "tegra210-soc-power-domain.dtsi"
|
||
|
#include <dt-bindings/usb/tegra_xhci.h>
|
||
|
#include <dt-bindings/pinctrl/pinctrl-tegra21x-padctl-uphy.h>
|
||
|
#include <dt-bindings/pinctrl/pinctrl-tegra.h>
|
||
|
#include "tegra210-soc/tegra210-soc-actmon.dtsi"
|
||
|
|
||
|
/ {
|
||
|
compatible = "nvidia,tegra210";
|
||
|
interrupt-parent = <&lic>;
|
||
|
#address-cells = <2>;
|
||
|
#size-cells = <2>;
|
||
|
|
||
|
aliases {
|
||
|
sdhci0 = &sdhci0;
|
||
|
sdhci1 = &sdhci1;
|
||
|
sdhci2 = &sdhci2;
|
||
|
sdhci3 = &sdhci3;
|
||
|
};
|
||
|
|
||
|
cpus {
|
||
|
#address-cells = <2>;
|
||
|
#size-cells = <0>;
|
||
|
status = "disabled";
|
||
|
|
||
|
cpu@0 {
|
||
|
device_type = "cpu";
|
||
|
compatible = "arm,cortex-a57-64bit", "arm,armv8";
|
||
|
reg = <0x0 0x0>;
|
||
|
enable-method = "psci";
|
||
|
cpu-idle-states = <&C7>;
|
||
|
errata_hwcaps = <0x7>;
|
||
|
cpu-ipc = <1024>;
|
||
|
next-level-cache = <&L2>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
cpu@1 {
|
||
|
device_type = "cpu";
|
||
|
compatible = "arm,cortex-a57-64bit", "arm,armv8";
|
||
|
reg = <0x0 0x1>;
|
||
|
enable-method = "psci";
|
||
|
cpu-idle-states = <&C7>;
|
||
|
errata_hwcaps = <0x7>;
|
||
|
cpu-ipc = <1024>;
|
||
|
next-level-cache = <&L2>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
cpu@2 {
|
||
|
device_type = "cpu";
|
||
|
compatible = "arm,cortex-a57-64bit", "arm,armv8";
|
||
|
reg = <0x0 0x2>;
|
||
|
enable-method = "psci";
|
||
|
cpu-idle-states = <&C7>;
|
||
|
errata_hwcaps = <0x7>;
|
||
|
cpu-ipc = <1024>;
|
||
|
next-level-cache = <&L2>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
cpu@3 {
|
||
|
device_type = "cpu";
|
||
|
compatible = "arm,cortex-a57-64bit", "arm,armv8";
|
||
|
reg = <0x0 0x3>;
|
||
|
enable-method = "psci";
|
||
|
cpu-idle-states = <&C7>;
|
||
|
errata_hwcaps = <0x7>;
|
||
|
cpu-ipc = <1024>;
|
||
|
next-level-cache = <&L2>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
idle-states {
|
||
|
entry-method = "psci";
|
||
|
|
||
|
C7: c7 {
|
||
|
compatible = "arm,idle-state";
|
||
|
arm,psci-suspend-param = <0x40000007>;
|
||
|
wakeup-latency-us = <130>;
|
||
|
min-residency-us = <1000>;
|
||
|
idle-state-name = "c7-cpu-powergated";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
CC6: cc6 {
|
||
|
compatible = "arm,idle-state";
|
||
|
arm,psci-suspend-param = <0x40000010>;
|
||
|
wakeup-latency-us = <230>;
|
||
|
min-residency-us = <10000>;
|
||
|
idle-state-name = "cc6-cluster-powergated";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
L2: l2-cache {
|
||
|
compatible = "cache";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
psci {
|
||
|
compatible = "arm,psci-1.0";
|
||
|
status = "disabled";
|
||
|
method = "smc";
|
||
|
};
|
||
|
|
||
|
tlk {
|
||
|
compatible = "android,tlk-driver";
|
||
|
status = "disabled";
|
||
|
log {
|
||
|
compatible = "android,ote-logger";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
arm-pmu {
|
||
|
compatible = "arm,armv8-pmuv3";
|
||
|
status = "disabled";
|
||
|
interrupts = <0 144 0x4>,
|
||
|
<0 145 0x4>,
|
||
|
<0 146 0x4>,
|
||
|
<0 147 0x4>;
|
||
|
interrupt-affinity = <&{/cpus/cpu@0} &{/cpus/cpu@1}
|
||
|
&{/cpus/cpu@2} &{/cpus/cpu@3}>;
|
||
|
};
|
||
|
|
||
|
tegra_car: clock {
|
||
|
compatible = "nvidia,tegra210-car";
|
||
|
reg = <0x0 0x60006000 0x0 0x1000>;
|
||
|
#clock-cells = <1>;
|
||
|
#reset-cells = <1>;
|
||
|
status = "enabled";
|
||
|
};
|
||
|
|
||
|
bwmgr {
|
||
|
compatible = "nvidia,bwmgr";
|
||
|
#if defined(LINUX_VERSION) && LINUX_VERSION >= 414
|
||
|
clocks = <&tegra_car TEGRA210_CLK_EMC>;
|
||
|
#else
|
||
|
clocks = <&tegra_car TEGRA210_CLK_BWMGR_EMC>;
|
||
|
nvidia,bwmgr-use-shared-master;
|
||
|
#endif
|
||
|
clock-names = "emc";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
reserved-memory {
|
||
|
#address-cells = <2>;
|
||
|
#size-cells = <2>;
|
||
|
ranges;
|
||
|
|
||
|
iram: iram-carveout {
|
||
|
compatible = "nvidia,iram-carveout";
|
||
|
reg = <0x0 0x40001000 0x0 0x3F000>;
|
||
|
no-map;
|
||
|
};
|
||
|
|
||
|
ramoops_reserved: ramoops_carveout {
|
||
|
compatible = "nvidia,ramoops";
|
||
|
reg = <0x0 0xb0000000 0x0 0x200000>;
|
||
|
no-map;
|
||
|
};
|
||
|
|
||
|
vpr: vpr-carveout {
|
||
|
compatible = "nvidia,vpr-carveout";
|
||
|
size = <0 0x19000000>;
|
||
|
alignment = <0 0x400000>;
|
||
|
alloc-ranges = <0x0 0x80000000 0x0 0x70000000>;
|
||
|
reusable;
|
||
|
};
|
||
|
|
||
|
fb0_reserved: fb0_carveout {
|
||
|
reg = <0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00>;
|
||
|
reg-names = "surface", "lut";
|
||
|
no-map;
|
||
|
};
|
||
|
fb1_reserved: fb1_carveout {
|
||
|
reg = <0x00 0x00 0x00 0x00
|
||
|
0x00 0x00 0x00 0x00>;
|
||
|
reg-names = "surface", "lut";
|
||
|
no-map;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
tegra-carveouts {
|
||
|
compatible = "nvidia,carveouts";
|
||
|
iommus = <&smmu TEGRA_SWGROUP_HC>;
|
||
|
memory-region = <&vpr &iram>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
smmu: iommu {
|
||
|
compatible = "nvidia,tegra210-smmu";
|
||
|
reg = <0x0 0x70019000 0x0 0x1000
|
||
|
0x0 0x6000c000 0x0 0x1000>;
|
||
|
status = "disabled";
|
||
|
#asids = <128>;
|
||
|
dma-window = <0x0 0x80000000 0x0 0x7ff00000>;
|
||
|
#iommu-cells = <1>;
|
||
|
swgid-mask = <0x00100fff 0xfffccdcf>;
|
||
|
#num-translation-enable = <5>;
|
||
|
#num-asid-security = <8>;
|
||
|
|
||
|
domains = <&ppcs_as TEGRA_SWGROUP_CELLS5(PPCS, PPCS1, PPCS2, SE, SE1)
|
||
|
&gpu_as TEGRA_SWGROUP_CELLS(GPUB)
|
||
|
&ape_as TEGRA_SWGROUP_CELLS(APE)
|
||
|
&dc_as TEGRA_SWGROUP_CELLS2(DC, DC12)
|
||
|
&dc_as TEGRA_SWGROUP_CELLS(DCB)
|
||
|
&common_as TEGRA_SWGROUP_CELLS(AFI)
|
||
|
&common_as TEGRA_SWGROUP_CELLS(SDMMC1A)
|
||
|
&common_as TEGRA_SWGROUP_CELLS(SDMMC2A)
|
||
|
&common_as TEGRA_SWGROUP_CELLS(SDMMC3A)
|
||
|
&common_as TEGRA_SWGROUP_CELLS(SDMMC4A)
|
||
|
&common_as TEGRA_SWGROUP_CELLS(AVPC)
|
||
|
&common_as TEGRA_SWGROUP_CELLS(SMMU_TEST)
|
||
|
&common_as 0xFFFFFFFF 0xFFFFFFFF>;
|
||
|
|
||
|
address-space-prop {
|
||
|
common_as: common {
|
||
|
iova-start = <0x0 0x80000000>;
|
||
|
iova-size = <0x0 0x7FF00000>;
|
||
|
num-pf-page = <0>;
|
||
|
gap-page = <1>;
|
||
|
};
|
||
|
ppcs_as: ppcs {
|
||
|
iova-start = <0x0 0x80000000>;
|
||
|
iova-size = <0x0 0x7FF00000>;
|
||
|
num-pf-page = <1>;
|
||
|
gap-page = <1>;
|
||
|
};
|
||
|
dc_as: dc {
|
||
|
iova-start = <0x0 0x00010000>;
|
||
|
iova-size = <0x0 0xFFFEFFFF>;
|
||
|
num-pf-page = <0>;
|
||
|
gap-page = <0>;
|
||
|
};
|
||
|
gpu_as: gpu {
|
||
|
iova-start = <0x0 0x00100000>;
|
||
|
iova-size = <0x3 0xFFEFFFFF>;
|
||
|
alignment = <0x20000>;
|
||
|
num-pf-page = <0>;
|
||
|
gap-page = <0>;
|
||
|
};
|
||
|
ape_as: ape {
|
||
|
iova-start = <0x0 0x70300000>;
|
||
|
iova-size = <0x0 0x8FC00000>;
|
||
|
num-pf-page = <0>;
|
||
|
gap-page = <1>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
smmu_test: smmu_test {
|
||
|
compatible = "nvidia,smmu_test";
|
||
|
iommus = <&smmu TEGRA_SWGROUP_SMMU_TEST>;
|
||
|
};
|
||
|
|
||
|
dma_test: dma_test {
|
||
|
compatible = "nvidia,dma_test";
|
||
|
};
|
||
|
|
||
|
bpmp {
|
||
|
compatible = "nvidia,tegra210-bpmp";
|
||
|
carveout-start = <0x80005000>;
|
||
|
carveout-size = <0x10000>;
|
||
|
resets = <&tegra_car 1>;
|
||
|
reset-names = "cop";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_AVP_SCLK>;
|
||
|
clock-names = "sclk";
|
||
|
reg = <0x0 0x70016000 0x0 0x2000
|
||
|
0x0 0x60001000 0x0 0x1000>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_AVPC>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
mc {
|
||
|
compatible = "nvidia,tegra-mc";
|
||
|
|
||
|
reg-ranges = <10>; /* Per channel. */
|
||
|
reg = <0x0 0x70019000 0x0 0x00c>,
|
||
|
<0x0 0x70019050 0x0 0x19c>,
|
||
|
<0x0 0x70019200 0x0 0x024>,
|
||
|
<0x0 0x7001929c 0x0 0x1b8>,
|
||
|
<0x0 0x70019464 0x0 0x198>,
|
||
|
<0x0 0x70019604 0x0 0x3b0>,
|
||
|
<0x0 0x700199bc 0x0 0x020>,
|
||
|
<0x0 0x700199f8 0x0 0x08c>,
|
||
|
<0x0 0x70019ae4 0x0 0x0b0>,
|
||
|
<0x0 0x70019ba0 0x0 0x460>,
|
||
|
|
||
|
/* MC0 */
|
||
|
<0x0 0x7001c000 0x0 0x00c>,
|
||
|
<0x0 0x7001c050 0x0 0x198>,
|
||
|
<0x0 0x7001c200 0x0 0x024>,
|
||
|
<0x0 0x7001c29c 0x0 0x1b8>,
|
||
|
<0x0 0x7001c464 0x0 0x198>,
|
||
|
<0x0 0x7001c604 0x0 0x3b0>,
|
||
|
<0x0 0x7001c9bc 0x0 0x020>,
|
||
|
<0x0 0x7001c9f8 0x0 0x08c>,
|
||
|
<0x0 0x7001cae4 0x0 0x0b0>,
|
||
|
<0x0 0x7001cba0 0x0 0x460>,
|
||
|
|
||
|
/* MC1 */
|
||
|
<0x0 0x7001d000 0x0 0x00c>,
|
||
|
<0x0 0x7001d050 0x0 0x198>,
|
||
|
<0x0 0x7001d200 0x0 0x024>,
|
||
|
<0x0 0x7001d29c 0x0 0x1b8>,
|
||
|
<0x0 0x7001d464 0x0 0x198>,
|
||
|
<0x0 0x7001d604 0x0 0x3b0>,
|
||
|
<0x0 0x7001d9bc 0x0 0x020>,
|
||
|
<0x0 0x7001d9f8 0x0 0x08c>,
|
||
|
<0x0 0x7001dae4 0x0 0x0b0>,
|
||
|
<0x0 0x7001dba0 0x0 0x460>;
|
||
|
|
||
|
interrupts = <0 77 0x4>;
|
||
|
int_mask = <0x23D40>;
|
||
|
|
||
|
channels = <2>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
intc: interrupt-controller {
|
||
|
compatible = "arm,cortex-a15-gic";
|
||
|
interrupt-parent = <&intc>;
|
||
|
#interrupt-cells = <3>;
|
||
|
interrupt-controller;
|
||
|
reg = <0x0 0x50041000 0x0 0x1000
|
||
|
0x0 0x50042000 0x0 0x0100>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
lic: interrupt-controller@60004000 {
|
||
|
compatible = "nvidia,tegra210-ictlr";
|
||
|
interrupt-parent = <&intc>;
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <3>;
|
||
|
reg = <0x0 0x60004000 0x0 0x40>,
|
||
|
<0x0 0x60004100 0x0 0x40>,
|
||
|
<0x0 0x60004200 0x0 0x40>,
|
||
|
<0x0 0x60004300 0x0 0x40>,
|
||
|
<0x0 0x60004400 0x0 0x40>,
|
||
|
<0x0 0x60004500 0x0 0x40>;
|
||
|
interrupts = <0 4 4
|
||
|
0 5 4
|
||
|
0 7 4
|
||
|
0 18 4>;
|
||
|
outgoing-doorbell = <6>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
flow-controller@60007000 {
|
||
|
compatible = "nvidia,tegra210-flowctrl";
|
||
|
reg = <0x0 0x60007000 0x0 0x1000>;
|
||
|
};
|
||
|
|
||
|
ahb: ahb@6000c000 {
|
||
|
compatible = "nvidia,tegra210-ahb", "nvidia,tegra30-ahb";
|
||
|
reg = <0x0 0x6000c000 0x0 0x14f>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
#if TEGRA_AUDIO_BUS_DT_VERSION >= DT_VERSION_2
|
||
|
aconnect@702c0000 {
|
||
|
compatible = "nvidia,tegra210-aconnect";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_APE>,
|
||
|
<&tegra_car TEGRA210_CLK_APB2APE>;
|
||
|
clock-names = "ape", "apb2ape";
|
||
|
power-domains = <&pd_audio>;
|
||
|
#address-cells = <2>;
|
||
|
#size-cells = <2>;
|
||
|
ranges;
|
||
|
|
||
|
tegra_agic: agic@702f9000 {
|
||
|
compatible = "nvidia,tegra210-agic";
|
||
|
#interrupt-cells = <4>;
|
||
|
interrupt-controller;
|
||
|
reg = <0x0 0x702f9000 0x0 0x2000>,
|
||
|
<0x0 0x702fa000 0x0 0x2000>;
|
||
|
interrupts = <GIC_SPI 102 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_APE>;
|
||
|
clock-names = "clk";
|
||
|
|
||
|
};
|
||
|
|
||
|
adsp {
|
||
|
compatible = "nvidia,tegra210-adsp";
|
||
|
wakeup-disable;
|
||
|
interrupt-parent = <&tegra_agic>;
|
||
|
reg = <0x0 0x702ef000 0x0 0x1000>, /* AMC */
|
||
|
<0x0 0x702ec000 0x0 0x2000>, /* AMISC */
|
||
|
<0x0 0x702ee000 0x0 0x1000>, /* ABRIDGE */
|
||
|
<0x0 0x702dc800 0x0 0x0>, /* FPGA RESET REG */
|
||
|
<0x0 0x0 0x0 0x1>, /* AHSP */
|
||
|
<0x0 0x01000000 0x0 0x6f2c0000>, /* DRAM MAP1 */
|
||
|
<0x0 0x70300000 0x0 0x8fd00000>; /* DRAM MAP2 */
|
||
|
iommus = <&smmu TEGRA_SWGROUP_APE>;
|
||
|
dma-mask = <0x0 0xfff00000>;
|
||
|
iommu-resv-regions = <0x0 0x0 0x0 0x70300000 0x0 0xfff00000 0xffffffff 0xffffffff>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_APE>;
|
||
|
nvidia,adsp_mem = <0x80300000 0x01000000>, /* ADSP OS */
|
||
|
<0x80B00000 0x00800000>, /* ADSP APP */
|
||
|
<0x00400000 0x00010000>, /* ARAM ALIAS 0 */
|
||
|
<0x80300000 0x00200000>; /* ACSR */
|
||
|
nvidia,adsp-evp-base = <0x702ef700 0x00000040>;
|
||
|
interrupts = <GIC_SPI INT_AMISC_MBOX_EMPTY1 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* MBOX SEND */
|
||
|
<GIC_SPI INT_AMISC_MBOX_FULL0 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* MBOX RECV */
|
||
|
<GIC_SPI INT_ADSP_WDT IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* Watchdog */
|
||
|
<GIC_SPI INT_WFI IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* WFI */
|
||
|
<GIC_SPI INT_AMC_ERR IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* AMC ERR IRQ */
|
||
|
<GIC_SPI INT_ADSP_ACTMON IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* ADSP ACTMON IRQ */
|
||
|
<GIC_SPI INT_AMISC_MBOX_EMPTY0 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>, /* ADSP MBOX SEND */
|
||
|
<GIC_SPI INT_AMISC_MBOX_FULL1 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>, /* ADSP MBOX RECV */
|
||
|
<GIC_SPI INT_AMISC_MBOX_FULL2 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>; /* ADSP FIQ HANDLER */
|
||
|
clocks = <&tegra_car TEGRA210_CLK_ADSP_APE>,
|
||
|
<&tegra_car TEGRA210_CLK_APB2APE>,
|
||
|
<&tegra_car TEGRA210_CLK_ADSP_NEON>,
|
||
|
<&tegra_car TEGRA210_CLK_ADSP>,
|
||
|
<&tegra_car TEGRA210_CLK_ADSP_CPU_ABUS>;
|
||
|
clock-names = "adsp.ape", "adsp.apb2ape", "adspneon",
|
||
|
"adsp", "adsp_cpu_abus";
|
||
|
resets = <&tegra_car TEGRA210_RST_ADSP>;
|
||
|
reset-names = "adspall";
|
||
|
nvidia,adsp_unit_fpga_reset = <0x0 0x00000040>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
#else
|
||
|
tegra_agic: agic-controller {
|
||
|
compatible = "nvidia,tegra210-agic";
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <4>;
|
||
|
no-gic-extension;
|
||
|
not-per-cpu;
|
||
|
reg = <0x0 0x702f9000 0x0 0x2000>,
|
||
|
<0x0 0x702fa000 0x0 0x2000>,
|
||
|
<0x0 0x60006000 0x0 0x1000>;
|
||
|
enable-agic-clks;
|
||
|
interrupts = <0 102 0xf04>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
adsp {
|
||
|
compatible = "nvidia,tegra210-adsp";
|
||
|
wakeup-disable;
|
||
|
interrupt-parent = <&tegra_agic>;
|
||
|
reg = <0x0 0x702ef000 0x0 0x1000>, /* AMC */
|
||
|
<0x0 0x702ec000 0x0 0x2000>, /* AMISC */
|
||
|
<0x0 0x702ee000 0x0 0x1000>, /* ABRIDGE */
|
||
|
<0x0 0x702dc800 0x0 0x0>, /* FPGA RESET REG */
|
||
|
<0x0 0x0 0x0 0x1>, /* AHSP */
|
||
|
<0x0 0x01000000 0x0 0x6f2c0000>, /* DRAM MAP1 */
|
||
|
<0x0 0x70300000 0x0 0x8fd00000>; /* DRAM MAP2 */
|
||
|
iommus = <&smmu TEGRA_SWGROUP_APE>;
|
||
|
dma-mask = <0x0 0xfff00000>;
|
||
|
iommu-resv-regions = <0x0 0x0 0x0 0x70300000 0x0 0xfff00000 0xffffffff 0xffffffff>;
|
||
|
power-domains = <&adsp_pd>;
|
||
|
nvidia,adsp_mem = <0x80300000 0x01000000>, /* ADSP OS */
|
||
|
<0x80B00000 0x00800000>, /* ADSP APP */
|
||
|
<0x00400000 0x00010000>, /* ARAM ALIAS 0 */
|
||
|
<0x80300000 0x00200000>; /* ACSR */
|
||
|
nvidia,adsp-evp-base = <0x702ef700 0x00000040>;
|
||
|
interrupts = <GIC_SPI INT_AMISC_MBOX_EMPTY1 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* MBOX SEND */
|
||
|
<GIC_SPI INT_AMISC_MBOX_FULL0 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* MBOX RECV */
|
||
|
<GIC_SPI INT_ADSP_WDT IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* Watchdog */
|
||
|
<GIC_SPI INT_WFI IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* WFI */
|
||
|
<GIC_SPI INT_AMC_ERR IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* AMC ERR IRQ */
|
||
|
<GIC_SPI INT_ADSP_ACTMON IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_HOST>, /* ADSP ACTMON IRQ */
|
||
|
<GIC_SPI INT_AMISC_MBOX_EMPTY0 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>, /* ADSP MBOX SEND */
|
||
|
<GIC_SPI INT_AMISC_MBOX_FULL1 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>, /* ADSP MBOX RECV */
|
||
|
<GIC_SPI INT_AMISC_MBOX_FULL2 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>; /* ADSP FIQ HANDLER */
|
||
|
clocks = <&tegra_car TEGRA210_CLK_ADSP_APE>,
|
||
|
<&tegra_car TEGRA210_CLK_APB2APE>,
|
||
|
<&tegra_car TEGRA210_CLK_ADSP_NEON>,
|
||
|
<&tegra_car TEGRA210_CLK_ADSP>,
|
||
|
<&tegra_car TEGRA210_CLK_APE_EMC>,
|
||
|
<&tegra_car TEGRA210_CLK_ADSP_CPU_ABUS>;
|
||
|
clock-names = "adsp.ape", "adsp.apb2ape", "adspneon",
|
||
|
"adsp", "adsp.emc", "adsp_cpu_abus";
|
||
|
resets = <&tegra_car TEGRA210_RST_ADSP>;
|
||
|
reset-names = "adspall";
|
||
|
nvidia,adsp_unit_fpga_reset = <0x0 0x00000040>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
#endif
|
||
|
timer {
|
||
|
compatible = "arm,armv8-timer";
|
||
|
interrupt-parent = <&intc>;
|
||
|
interrupts = <GIC_PPI 13
|
||
|
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||
|
<GIC_PPI 14
|
||
|
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||
|
<GIC_PPI 11
|
||
|
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
|
||
|
<GIC_PPI 10
|
||
|
(GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
|
||
|
clock-frequency = <19200000>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
timer@60005000 {
|
||
|
compatible = "nvidia,tegra210-timer", "nvidia,tegra30-timer",
|
||
|
"nvidia,tegra30-timer-wdt";
|
||
|
reg = <0x0 0x60005000 0x0 0x400>;
|
||
|
interrupts = <GIC_SPI 176 IRQ_TYPE_LEVEL_HIGH>,
|
||
|
<GIC_SPI 177 IRQ_TYPE_LEVEL_HIGH>,
|
||
|
<GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>,
|
||
|
<GIC_SPI 179 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_TIMER>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
rtc {
|
||
|
compatible = "nvidia,tegra-rtc";
|
||
|
reg = <0x0 0x7000e000 0x0 0x100>;
|
||
|
interrupts = <0 2 0x04>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
apbdma: dma@60020000 {
|
||
|
compatible = "nvidia,tegra148-apbdma";
|
||
|
reg = <0x0 0x60020000 0x0 0x1400>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_APBDMA>;
|
||
|
clock-names = "dma";
|
||
|
resets = <&tegra_car TEGRA210_CLK_APBDMA>;
|
||
|
reset-names = "dma";
|
||
|
interrupts = <0 104 0x04
|
||
|
0 105 0x04
|
||
|
0 106 0x04
|
||
|
0 107 0x04
|
||
|
0 108 0x04
|
||
|
0 109 0x04
|
||
|
0 110 0x04
|
||
|
0 111 0x04
|
||
|
0 112 0x04
|
||
|
0 113 0x04
|
||
|
0 114 0x04
|
||
|
0 115 0x04
|
||
|
0 116 0x04
|
||
|
0 117 0x04
|
||
|
0 118 0x04
|
||
|
0 119 0x04
|
||
|
0 128 0x04
|
||
|
0 129 0x04
|
||
|
0 130 0x04
|
||
|
0 131 0x04
|
||
|
0 132 0x04
|
||
|
0 133 0x04
|
||
|
0 134 0x04
|
||
|
0 135 0x04
|
||
|
0 136 0x04
|
||
|
0 137 0x04
|
||
|
0 138 0x04
|
||
|
0 139 0x04
|
||
|
0 140 0x04
|
||
|
0 141 0x04
|
||
|
0 142 0x04
|
||
|
0 143 0x04>;
|
||
|
#dma-cells = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
pinmux: pinmux@700008d4 {
|
||
|
compatible = "nvidia,tegra210-pinmux";
|
||
|
reg = <0x0 0x700008d4 0x0 0x2a5 /* Pad control registers */
|
||
|
0x0 0x70003000 0x0 0x294>; /* Mux registers */
|
||
|
#gpio-range-cells = <3>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
gpio: gpio@6000d000 {
|
||
|
compatible = "nvidia,tegra210-gpio", "nvidia,tegra124-gpio", "nvidia,tegra30-gpio";
|
||
|
reg = <0x0 0x6000d000 0x0 0x1000>;
|
||
|
interrupts = <0 32 0x04
|
||
|
0 33 0x04
|
||
|
0 34 0x04
|
||
|
0 35 0x04
|
||
|
0 55 0x04
|
||
|
0 87 0x04
|
||
|
0 89 0x04
|
||
|
0 125 0x04>;
|
||
|
#gpio-cells = <2>;
|
||
|
gpio-controller;
|
||
|
#interrupt-cells = <2>;
|
||
|
interrupt-controller;
|
||
|
gpio-ranges = <&pinmux 0 0 246>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
|
||
|
xotg {
|
||
|
compatible = "nvidia,tegra210-xotg";
|
||
|
interrupts = <0 49 0x04
|
||
|
0 20 0x04>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
xusb_mbox: mailbox@70098000 {
|
||
|
compatible = "nvidia,tegra210-xusb-mbox";
|
||
|
reg = <0x0 0x70098000 0x0 0x1000>;
|
||
|
interrupts = <0x0 0x28 0x4>;
|
||
|
#mbox-cells = <0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
|
||
|
xusb_padctl: xusb_padctl@7009f000 {
|
||
|
compatible = "nvidia,tegra210-xusb-padctl";
|
||
|
reg = <0x0 0x7009f000 0x0 0x1000>;
|
||
|
reg-names = "padctl";
|
||
|
resets = <&tegra_car 142>;
|
||
|
reset-names = "padctl";
|
||
|
status = "disabled";
|
||
|
|
||
|
pads {
|
||
|
usb2 {
|
||
|
clocks = <&tegra_car TEGRA210_CLK_USB2_TRK>;
|
||
|
clock-names = "trk";
|
||
|
status = "disabled";
|
||
|
|
||
|
lanes {
|
||
|
usb2-0 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
usb2-1 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
usb2-2 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
usb2-3 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
pcie {
|
||
|
clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
|
||
|
clock-names = "pll";
|
||
|
resets = <&tegra_car 205>;
|
||
|
reset-names = "phy";
|
||
|
status = "disabled";
|
||
|
|
||
|
lanes {
|
||
|
pcie-0 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
pcie-1 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
pcie-2 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
pcie-3 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
pcie-4 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
pcie-5 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
pcie-6 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sata {
|
||
|
clocks = <&tegra_car TEGRA210_CLK_PLL_E>;
|
||
|
clock-names = "pll";
|
||
|
resets = <&tegra_car 204>;
|
||
|
reset-names = "phy";
|
||
|
status = "disabled";
|
||
|
|
||
|
lanes {
|
||
|
sata-0 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
hsic {
|
||
|
clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>;
|
||
|
clock-names = "trk";
|
||
|
status = "disabled";
|
||
|
|
||
|
lanes {
|
||
|
hsic-0 {
|
||
|
status = "disabled";
|
||
|
#phy-cells = <0>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
ports {
|
||
|
usb2-0 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
usb2-1 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
usb2-2 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
usb2-3 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
usb3-0 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
usb3-1 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
usb3-2 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
usb3-3 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
hsic-0 {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
#endif
|
||
|
tegra_usb_cd: usb_cd {
|
||
|
compatible = "nvidia,tegra210-usb-cd";
|
||
|
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
|
||
|
nvidia,xusb-padctl = <&xusb_padctl>;
|
||
|
#endif
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_padctl_uphy: pinctrl@7009f000 {
|
||
|
compatible = "nvidia,tegra21x-padctl-uphy";
|
||
|
reg = <0x0 0x7009f000 0x0 0x1000>;
|
||
|
reg-names = "padctl";
|
||
|
resets = <&tegra_car 142>, <&tegra_car 204>, <&tegra_car 205>;
|
||
|
reset-names = "padctl", "sata_uphy", "pex_uphy";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_HSIC_TRK>,
|
||
|
<&tegra_car TEGRA210_CLK_USB2_TRK>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_E>;
|
||
|
clock-names = "hsic_trk", "usb2_trk", "pll_e";
|
||
|
interrupts = <0 49 0x04>;
|
||
|
mboxes = <&xusb_mbox>;
|
||
|
mbox-names = "xusb";
|
||
|
#phy-cells = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
xusb@70090000 {
|
||
|
compatible = "nvidia,tegra210-xhci";
|
||
|
reg = <0x0 0x70090000 0x0 0x8000>,
|
||
|
<0x0 0x70098000 0x0 0x1000>,
|
||
|
<0x0 0x70099000 0x0 0x1000>;
|
||
|
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
|
||
|
interrupts = <0 39 0x04>, <0 40 0x04>, <0 49 0x04>;
|
||
|
nvidia,xusb-padctl = <&xusb_padctl>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_XUSB_HOST>,
|
||
|
<&tegra_car TEGRA210_CLK_XUSB_FALCON_SRC>,
|
||
|
<&tegra_car TEGRA210_CLK_XUSB_SS>,
|
||
|
<&tegra_car TEGRA210_CLK_XUSB_SS_SRC>,
|
||
|
<&tegra_car TEGRA210_CLK_XUSB_HS_SRC>,
|
||
|
<&tegra_car TEGRA210_CLK_XUSB_FS_SRC>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_U_480M>,
|
||
|
<&tegra_car TEGRA210_CLK_CLK_M>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_E>;
|
||
|
clock-names = "xusb_host", "xusb_falcon_src", "xusb_ss", "xusb_ss_src", "xusb_hs_src",
|
||
|
"xusb_fs_src", "pll_u_480m", "clk_m", "pll_e";
|
||
|
#else
|
||
|
interrupts = <0 39 0x04>, <0 49 0x04>;
|
||
|
mboxes = <&xusb_mbox>;
|
||
|
mbox-names = "xusb";
|
||
|
#endif
|
||
|
iommus = <&smmu TEGRA_SWGROUP_XUSB_HOST>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_ext_cdp: max16984-cdp {
|
||
|
compatible = "maxim,max16984-tegra210-cdp-phy";
|
||
|
#phy-cells = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
uarta: serial@70006000 {
|
||
|
compatible = "nvidia,tegra114-hsuart";
|
||
|
reg = <0x0 0x70006000 0x0 0x40>;
|
||
|
reg-shift = <2>;
|
||
|
interrupts = <0 36 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
dmas = <&apbdma 8>, <&apbdma 8>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_UARTA>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "serial", "parent";
|
||
|
resets = <&tegra_car TEGRA210_CLK_UARTA>;
|
||
|
reset-names = "serial";
|
||
|
nvidia,adjust-baud-rates = <115200 115200 100>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
uartb: serial@70006040 {
|
||
|
compatible = "nvidia,tegra114-hsuart";
|
||
|
reg = <0x0 0x70006040 0x0 0x40>;
|
||
|
reg-shift = <2>;
|
||
|
interrupts = <0 37 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
dmas = <&apbdma 9>, <&apbdma 9>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_UARTB>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "serial", "parent";
|
||
|
resets = <&tegra_car TEGRA210_RST_UARTB>;
|
||
|
reset-names = "serial";
|
||
|
nvidia,adjust-baud-rates = <115200 115200 100>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
uartc: serial@70006200 {
|
||
|
compatible = "nvidia,tegra114-hsuart";
|
||
|
reg = <0x0 0x70006200 0x0 0x40>;
|
||
|
reg-shift = <2>;
|
||
|
interrupts = <0 46 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
dmas = <&apbdma 10>, <&apbdma 10>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_UARTC>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "serial", "parent";
|
||
|
resets = <&tegra_car TEGRA210_CLK_UARTC>;
|
||
|
reset-names = "serial";
|
||
|
nvidia,adjust-baud-rates = <115200 115200 100>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
uartd: serial@70006300 {
|
||
|
compatible = "nvidia,tegra114-hsuart";
|
||
|
reg = <0x0 0x70006300 0x0 0x40>;
|
||
|
reg-shift = <2>;
|
||
|
interrupts = <0 90 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
dmas = <&apbdma 19>, <&apbdma 19>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_UARTD>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "serial", "parent";
|
||
|
resets = <&tegra_car TEGRA210_CLK_UARTD>;
|
||
|
reset-names = "serial";
|
||
|
nvidia,adjust-baud-rates = <115200 115200 100>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
sound {
|
||
|
iommus = <&smmu TEGRA_SWGROUP_APE>;
|
||
|
dma-mask = <0x0 0xfff00000>;
|
||
|
iommu-resv-regions = <0x0 0x0 0x0 0x70300000 0x0 0xFFF00000 0xffffffff 0xffffffff>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_APE>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
sound_ref {
|
||
|
iommus = <&smmu TEGRA_SWGROUP_APE>;
|
||
|
dma-mask = <0x0 0xfff00000>;
|
||
|
iommu-resv-regions = <0x0 0x0 0x0 0x70300000 0x0 0xFFF00000 0xffffffff 0xffffffff>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_APE>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_pwm: pwm@7000a000 {
|
||
|
compatible = "nvidia,tegra124-pwm", "nvidia,tegra20-pwm";
|
||
|
reg = <0x0 0x7000a000 0x0 0x100>;
|
||
|
#pwm-cells = <2>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_PWM>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "pwm", "parent";
|
||
|
resets = <&tegra_car TEGRA210_CLK_PWM>;
|
||
|
reset-names = "pwm";
|
||
|
};
|
||
|
|
||
|
spi0: spi@7000d400 {
|
||
|
compatible = "nvidia,tegra210-spi";
|
||
|
reg = <0x0 0x7000d400 0x0 0x200>;
|
||
|
interrupts = <0 59 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
dmas = <&apbdma 15>, <&apbdma 15>;
|
||
|
dma-names = "rx", "tx";
|
||
|
nvidia,clk-parents = "pll_p", "clk_m";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SBC1>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P>,
|
||
|
<&tegra_car TEGRA210_CLK_CLK_M>;
|
||
|
clock-names = "spi", "pll_p", "clk_m";
|
||
|
resets = <&tegra_car TEGRA210_CLK_SBC1>;
|
||
|
reset-names = "spi";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
spi1: spi@7000d600 {
|
||
|
compatible = "nvidia,tegra210-spi";
|
||
|
reg = <0x0 0x7000d600 0x0 0x200>;
|
||
|
interrupts = <0 82 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
dmas = <&apbdma 16>, <&apbdma 16>;
|
||
|
dma-names = "rx", "tx";
|
||
|
nvidia,clk-parents = "pll_p", "clk_m";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SBC2>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P>,
|
||
|
<&tegra_car TEGRA210_CLK_CLK_M>;
|
||
|
clock-names = "spi", "pll_p", "clk_m";
|
||
|
resets = <&tegra_car TEGRA210_CLK_SBC2>;
|
||
|
reset-names = "spi";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
spi2: spi@7000d800 {
|
||
|
compatible = "nvidia,tegra210-spi";
|
||
|
reg = <0x0 0x7000d800 0x0 0x200>;
|
||
|
interrupts = <0 83 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
dmas = <&apbdma 17>, <&apbdma 17>;
|
||
|
dma-names = "rx", "tx";
|
||
|
nvidia,clk-parents = "pll_p", "clk_m";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SBC3>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P>,
|
||
|
<&tegra_car TEGRA210_CLK_CLK_M>;
|
||
|
clock-names = "spi", "pll_p", "clk_m";
|
||
|
resets = <&tegra_car TEGRA210_CLK_SBC3>;
|
||
|
reset-names = "spi";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
spi3: spi@7000da00 {
|
||
|
compatible = "nvidia,tegra210-spi";
|
||
|
reg = <0x0 0x7000da00 0x0 0x200>;
|
||
|
interrupts = <0 93 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
dmas = <&apbdma 18>, <&apbdma 18>;
|
||
|
dma-names = "rx", "tx";
|
||
|
nvidia,clk-parents = "pll_p", "clk_m";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SBC4>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P>,
|
||
|
<&tegra_car TEGRA210_CLK_CLK_M>;
|
||
|
clock-names = "spi", "pll_p", "clk_m";
|
||
|
resets = <&tegra_car TEGRA210_CLK_SBC4>;
|
||
|
reset-names = "spi";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
qspi6: spi@70410000 {
|
||
|
compatible = "nvidia,tegra210-qspi";
|
||
|
reg = <0x0 0x70410000 0x0 0x1000>;
|
||
|
interrupts = <0 10 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
dmas = <&apbdma 5>, <&apbdma 5>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_QSPI>,
|
||
|
<&tegra_car TEGRA210_CLK_QSPI_OUT>;
|
||
|
clock-names = "qspi","qspi_out";
|
||
|
resets = <&tegra_car TEGRA210_CLK_QSPI>;
|
||
|
reset-names = "qspi";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
host1x: host1x {
|
||
|
compatible = "nvidia,tegra210-host1x", "simple-bus";
|
||
|
#if defined(LINUX_VERSION) && LINUX_VERSION < 414
|
||
|
power-domains = <&host1x_pd>;
|
||
|
#endif
|
||
|
wakeup-capable;
|
||
|
reg = <0x0 0x50000000 0x0 0x00034000>;
|
||
|
interrupts = <0 65 0x04 /* mpcore syncpt */
|
||
|
0 67 0x04>; /* mpcore general */
|
||
|
iommus = <&smmu TEGRA_SWGROUP_HC>;
|
||
|
|
||
|
#address-cells = <2>;
|
||
|
#size-cells = <2>;
|
||
|
status = "disabled";
|
||
|
|
||
|
ranges;
|
||
|
|
||
|
clocks = <&tegra_car TEGRA210_CLK_NV_HOST1X>,
|
||
|
<&tegra_car TEGRA210_CLK_ACTMON>;
|
||
|
clock-names = "host1x", "actmon";
|
||
|
resets = <&tegra_car TEGRA210_CLK_HOST1X>;
|
||
|
|
||
|
nvidia,ch-base = <0>;
|
||
|
nvidia,nb-channels = <12>;
|
||
|
|
||
|
nvidia,nb-hw-pts = <192>;
|
||
|
nvidia,pts-base = <0>;
|
||
|
nvidia,nb-pts = <192>;
|
||
|
|
||
|
vi {
|
||
|
compatible = "nvidia,tegra210-vi", "simple-bus";
|
||
|
power-domains = <&ve_pd>;
|
||
|
reg = <0x0 0x54080000 0x0 0x40000>;
|
||
|
interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_VI>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_VI_V4L2_CBUS>,
|
||
|
<&tegra_car TEGRA210_CLK_CSI>,
|
||
|
<&tegra_car TEGRA210_CLK_CILAB>,
|
||
|
<&tegra_car TEGRA210_CLK_CILCD>,
|
||
|
<&tegra_car TEGRA210_CLK_CILE>,
|
||
|
<&tegra_car TEGRA210_CLK_VI_I2C>,
|
||
|
<&tegra_car TEGRA210_CLK_I2CSLOW>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_D>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_D_DSI_OUT>;
|
||
|
clock-names = "vi", "csi", "cilab", "cilcd",
|
||
|
"cile", "vii2c", "i2cslow",
|
||
|
"pll_d", "pll_d_dsi_out";
|
||
|
resets = <&tegra_car 20>;
|
||
|
reset-names = "vi";
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
};
|
||
|
|
||
|
vi-bypass {
|
||
|
compatible = "nvidia,tegra210-vi-bypass";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
isp@54600000 {
|
||
|
compatible = "nvidia,tegra210-isp";
|
||
|
power-domains = <&ve_pd>;
|
||
|
reg = <0x0 0x54600000 0x0 0x00040000>;
|
||
|
interrupts = <0 71 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_ISP>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_ISPA_ISP_CBUS>;
|
||
|
clock-names = "ispa";
|
||
|
resets = <&tegra_car TEGRA210_CLK_ISPA>;
|
||
|
};
|
||
|
|
||
|
isp@54680000 {
|
||
|
compatible = "nvidia,tegra210-isp";
|
||
|
power-domains = <&pd_ve2>;
|
||
|
reg = <0x0 0x54680000 0x0 0x00040000>;
|
||
|
interrupts = <0 70 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_ISP2B>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_ISPB_ISP_CBUS>;
|
||
|
clock-names = "ispb";
|
||
|
resets = <&tegra_car TEGRA210_CLK_ISPB>;
|
||
|
};
|
||
|
|
||
|
head0: dc@54200000 {
|
||
|
compatible = "nvidia,tegra210-dc";
|
||
|
aux-device-name = "tegradc.0";
|
||
|
reg = <0x0 0x54200000 0x0 0x00040000>;
|
||
|
interrupts = <0 73 0x04>;
|
||
|
win-mask = <0xf>;
|
||
|
nvidia,fb-win = <0>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_DC>,
|
||
|
<&smmu TEGRA_SWGROUP_DC12>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_DISP1>,
|
||
|
<&tegra_car TEGRA210_CLK_TIMER>,
|
||
|
<&tegra_car TEGRA210_CLK_DISP1_EMC>,
|
||
|
<&tegra_car TEGRA210_CLK_DISP1_LA_EMC>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P_OUT3>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_D_OUT0>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_D>;
|
||
|
clock-names = "disp1", "timer", "disp1_emc", "disp1_la_emc", "pll_p_out3", "pll_d_out0", "pll_d";
|
||
|
resets = <&tegra_car TEGRA210_CLK_DISP1>;
|
||
|
reset-names = "dc_rst";
|
||
|
status = "disabled";
|
||
|
nvidia,dc-ctrlnum = <0>;
|
||
|
fb_reserved = <&fb0_reserved>;
|
||
|
iommu-direct-regions = <&fb0_reserved>;
|
||
|
|
||
|
pinctrl-names = "dsi-dpd-disable", "dsi-dpd-enable",
|
||
|
"dsib-dpd-disable", "dsib-dpd-enable",
|
||
|
"hdmi-dpd-disable", "hdmi-dpd-enable";
|
||
|
pinctrl-0 = <&dsi_dpd_disable>;
|
||
|
pinctrl-1 = <&dsi_dpd_enable>;
|
||
|
pinctrl-2 = <&dsib_dpd_disable>;
|
||
|
pinctrl-3 = <&dsib_dpd_enable>;
|
||
|
pinctrl-4 = <&hdmi_dpd_disable>;
|
||
|
pinctrl-5 = <&hdmi_dpd_enable>;
|
||
|
|
||
|
rgb {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
head1: dc@54240000 {
|
||
|
compatible = "nvidia,tegra210-dc";
|
||
|
aux-device-name = "tegradc.1";
|
||
|
reg = <0x0 0x54240000 0x0 0x00040000>;
|
||
|
interrupts = <0 74 0x04>;
|
||
|
win-mask = <0x7>;
|
||
|
nvidia,fb-win = <0>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_DCB>;
|
||
|
status = "disabled";
|
||
|
nvidia,dc-ctrlnum = <1>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_DISP2>,
|
||
|
<&tegra_car TEGRA210_CLK_TIMER>,
|
||
|
<&tegra_car TEGRA210_CLK_DISP2_EMC>,
|
||
|
<&tegra_car TEGRA210_CLK_DISP2_LA_EMC>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_D2_OUT0>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_D2>;
|
||
|
clock-names = "disp2", "timer", "disp2_emc", "disp2_la_emc", "pll_d2_out0", "pll_d2";
|
||
|
resets = <&tegra_car TEGRA210_CLK_DISP2>;
|
||
|
reset-names = "dc_rst";
|
||
|
fb_reserved = <&fb1_reserved>;
|
||
|
iommu-direct-regions = <&fb1_reserved>;
|
||
|
pinctrl-names = "dsi-dpd-disable", "dsi-dpd-enable",
|
||
|
"dsib-dpd-disable", "dsib-dpd-enable",
|
||
|
"hdmi-dpd-disable", "hdmi-dpd-enable";
|
||
|
pinctrl-0 = <&dsi_dpd_disable>;
|
||
|
pinctrl-1 = <&dsi_dpd_enable>;
|
||
|
pinctrl-2 = <&dsib_dpd_disable>;
|
||
|
pinctrl-3 = <&dsib_dpd_enable>;
|
||
|
pinctrl-4 = <&hdmi_dpd_disable>;
|
||
|
pinctrl-5 = <&hdmi_dpd_enable>;
|
||
|
|
||
|
rgb {
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dsi: dsi {
|
||
|
compatible = "nvidia,tegra210-dsi";
|
||
|
reg = <0x0 0x54300000 0x0 0x00040000
|
||
|
0x0 0x54400000 0x0 0x00040000>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_DSIA>,
|
||
|
<&tegra_car TEGRA210_CLK_DSIALP>,
|
||
|
<&tegra_car TEGRA210_CLK_DSIB>,
|
||
|
<&tegra_car TEGRA210_CLK_DSIBLP>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P_OUT3>,
|
||
|
<&tegra_car TEGRA210_CLK_CLK72MHZ>;
|
||
|
clock-names = "dsi", "dsia_lp", "dsib", "dsib_lp", "pll_p_out3", "clk72mhz";
|
||
|
resets = <&tegra_car TEGRA210_CLK_DSIA>,
|
||
|
<&tegra_car TEGRA210_CLK_DSIB>;
|
||
|
reset-names = "dsia", "dsib";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
vic {
|
||
|
compatible = "nvidia,tegra210-vic";
|
||
|
power-domains = <&pd_vic>;
|
||
|
reg = <0x0 0x54340000 0x0 0x00040000>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_VIC>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_HOST1X>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_VIC03_CBUS>,
|
||
|
<&tegra_car TEGRA210_CLK_VIC_EMC>,
|
||
|
<&tegra_car TEGRA210_CLK_VIC_FLOOR_CBUS>,
|
||
|
<&tegra_car TEGRA210_CLK_VIC_SHARED_EMC>;
|
||
|
clock-names = "vic03", "emc", "vic_floor",
|
||
|
"emc_shared";
|
||
|
resets = <&tegra_car TEGRA210_CLK_VIC03>;
|
||
|
};
|
||
|
|
||
|
nvenc {
|
||
|
compatible = "nvidia,tegra210-nvenc";
|
||
|
power-domains = <&pd_nvenc>;
|
||
|
reg = <0x0 0x544c0000 0x0 0x00040000>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_NVENC_CBUS>;
|
||
|
clock-names = "msenc";
|
||
|
resets = <&tegra_car TEGRA210_CLK_NVENC>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_MPE>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_HOST1X>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tsec {
|
||
|
compatible = "nvidia,tegra210-tsec";
|
||
|
#if defined(LINUX_VERSION) && LINUX_VERSION < 414
|
||
|
power-domains = <&tsec_pd>;
|
||
|
#endif
|
||
|
reg = <0x0 0x54500000 0x0 0x00040000>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_TSEC>;
|
||
|
clock-names = "tsec";
|
||
|
resets = <&tegra_car TEGRA210_CLK_TSEC>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_TSEC>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_HOST1X>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tsecb {
|
||
|
compatible = "nvidia,tegra210-tsec";
|
||
|
#if defined(LINUX_VERSION) && LINUX_VERSION < 414
|
||
|
power-domains = <&tsec_pd>;
|
||
|
#endif
|
||
|
reg = <0x0 0x54100000 0x0 0x00040000>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_TSECB_CBUS>;
|
||
|
clock-names = "tsecb";
|
||
|
resets = <&tegra_car TEGRA210_CLK_TSECB>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_TSECB>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_HOST1X>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
nvdec {
|
||
|
compatible = "nvidia,tegra210-nvdec";
|
||
|
power-domains = <&pd_nvdec>;
|
||
|
reg = <0x0 0x54480000 0x0 0x00040000>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_NVDEC_CBUS>;
|
||
|
clock-names = "nvdec";
|
||
|
resets = <&tegra_car TEGRA210_CLK_NVDEC>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_NVDEC>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_HOST1X>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
nvjpg {
|
||
|
compatible = "nvidia,tegra210-nvjpg";
|
||
|
power-domains = <&pd_nvjpg>;
|
||
|
reg = <0x0 0x54380000 0x0 0x00040000>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_NVJPG_CBUS>;
|
||
|
clock-names = "nvjpg";
|
||
|
resets = <&tegra_car TEGRA210_CLK_NVJPG>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_NVJPG>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_HOST1X>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
sor0: sor {
|
||
|
compatible = "nvidia,tegra210-sor";
|
||
|
reg = <0x0 0x54540000 0x0 0x00040000>;
|
||
|
reg-names = "sor";
|
||
|
status = "disabled";
|
||
|
nvidia,sor-ctrlnum = <0>;
|
||
|
nvidia,dpaux = <&dpaux0>;
|
||
|
nvidia,xbar-ctrl = <2 1 0 3 4>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SOR_SAFE>,
|
||
|
<&tegra_car TEGRA210_CLK_SOR0>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_DP>;
|
||
|
clock-names = "sor_safe", "sor0", "pll_dp";
|
||
|
resets = <&tegra_car TEGRA210_CLK_SOR0>;
|
||
|
reset-names = "sor0";
|
||
|
nvidia,sor-audio-not-supported;
|
||
|
sor0_hdmi_display: hdmi-display {
|
||
|
compatible = "hdmi,display";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
sor0_dp_display: dp-display {
|
||
|
compatible = "dp, display";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sor1: sor1 {
|
||
|
compatible = "nvidia,tegra210-sor1";
|
||
|
reg = <0x0 0x54580000 0x0 0x00040000>;
|
||
|
reg-names = "sor";
|
||
|
interrupts = <0 76 0x4>; /* INT_SOR_1 */
|
||
|
status = "disabled";
|
||
|
nvidia,sor-ctrlnum = <1>;
|
||
|
nvidia,dpaux = <&dpaux1>;
|
||
|
nvidia,xbar-ctrl = <2 1 0 3 4>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SOR1_MUX>,
|
||
|
<&tegra_car TEGRA210_CLK_SOR_SAFE>,
|
||
|
<&tegra_car TEGRA210_CLK_SOR1_BRICK>,
|
||
|
<&tegra_car TEGRA210_CLK_SOR1>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_DP>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_P>,
|
||
|
<&tegra_car TEGRA210_CLK_MAUD>,
|
||
|
<&tegra_car TEGRA210_CLK_HDA>,
|
||
|
<&tegra_car TEGRA210_CLK_HDA2CODEC_2X>,
|
||
|
<&tegra_car TEGRA210_CLK_HDA2HDMI>;
|
||
|
clock-names = "sor1_ref", "sor_safe", "sor1_pad_clkout",
|
||
|
"sor1", "pll_dp", "pll_p", "maud", "hda",
|
||
|
"hda2codec_2x", "hda2hdmi";
|
||
|
resets = <&tegra_car TEGRA210_CLK_SOR1>,
|
||
|
<&tegra_car TEGRA210_CLK_HDA>,
|
||
|
<&tegra_car TEGRA210_CLK_HDA2CODEC_2X>,
|
||
|
<&tegra_car TEGRA210_CLK_HDA2HDMI>;
|
||
|
reset-names = "sor1", "hda_rst", "hda2codec_2x_rst", "hda2hdmi_rst";
|
||
|
sor1_hdmi_display: hdmi-display {
|
||
|
compatible = "hdmi,display";
|
||
|
disp-default-out {
|
||
|
nvidia,out-xres = <4096>;
|
||
|
nvidia,out-yres = <2160>;
|
||
|
};
|
||
|
};
|
||
|
sor1_dp_display: dp-display {
|
||
|
compatible = "dp, display";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dpaux0: dpaux {
|
||
|
compatible = "nvidia,tegra210-dpaux";
|
||
|
reg = <0x0 0x545c0000 0x0 0x00040000>;
|
||
|
interrupts = <0 159 0x4>; /* INT_DPAUX */
|
||
|
nvidia,dpaux-ctrlnum = <0>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_DPAUX>;
|
||
|
clock-names = "dpaux";
|
||
|
resets = <&tegra_car TEGRA210_CLK_DPAUX>;
|
||
|
reset-names = "dpaux";
|
||
|
};
|
||
|
|
||
|
dpaux1: dpaux1 {
|
||
|
compatible = "nvidia,tegra210-dpaux1";
|
||
|
reg = <0x0 0x54040000 0x0 0x00040000>;
|
||
|
interrupts = <0 11 0x4>; /* INT_DPAUX_1 */
|
||
|
nvidia,dpaux-ctrlnum = <1>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_DPAUX1>;
|
||
|
clock-names = "dpaux1";
|
||
|
resets = <&tegra_car TEGRA210_CLK_DPAUX1>;
|
||
|
reset-names = "dpaux1";
|
||
|
};
|
||
|
i2c7: i2c@546c0000 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "nvidia,tegra210-vii2c";
|
||
|
reg = <0x0 0x546C0000 0x0 0x00034000>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_VII2C>;
|
||
|
interrupts = <0 17 0x04>;
|
||
|
scl-gpio = <&gpio TEGRA_GPIO(S, 2) 0>;
|
||
|
sda-gpio = <&gpio TEGRA_GPIO(S, 3) 0>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_VI_I2C>,
|
||
|
<&tegra_car TEGRA210_CLK_I2CSLOW>,
|
||
|
<&tegra_car TEGRA210_CLK_HOST1X>;
|
||
|
clock-names = "vii2c", "i2cslow", "host1x";
|
||
|
resets = <&tegra_car 208>;
|
||
|
reset-names = "vii2c";
|
||
|
clock-frequency = <400000>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gpu {
|
||
|
compatible = "nvidia,tegra210-gm20b", "nvidia,gm20b";
|
||
|
nvidia,host1x = <&host1x>;
|
||
|
reg = <0x0 0x57000000 0x0 0x01000000>,
|
||
|
<0x0 0x58000000 0x0 0x01000000>,
|
||
|
<0x0 0x538f0000 0x0 0x00001000>;
|
||
|
interrupts = <GIC_SPI 157 IRQ_TYPE_LEVEL_HIGH>,
|
||
|
<GIC_SPI 158 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
interrupt-names = "stall", "nonstall";
|
||
|
iommus = <&smmu TEGRA_SWGROUP_GPUB>;
|
||
|
access-vpr-phys;
|
||
|
status = "disabled";
|
||
|
resets = <&tegra_car TEGRA210_CLK_GPU>;
|
||
|
reset-names = "gpu";
|
||
|
};
|
||
|
|
||
|
mipical {
|
||
|
compatible = "nvidia,tegra210-mipical";
|
||
|
reg = <0x0 0x700e3000 0x0 0x00000100>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_MIPI_CAL>,
|
||
|
<&tegra_car TEGRA210_CLK_CLK72MHZ>;
|
||
|
clock-names = "mipi_cal", "uart_mipi_cal";
|
||
|
status = "disabled";
|
||
|
|
||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_CLK72MHZ>;
|
||
|
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
assigned-clock-rates = <68000000>;
|
||
|
};
|
||
|
|
||
|
tegra_pmc: pmc@7000e400 {
|
||
|
compatible = "nvidia,tegra210-pmc";
|
||
|
reg = <0x0 0x7000e400 0x0 0x400>;
|
||
|
#padcontroller-cells = <1>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_PCLK>;
|
||
|
clock-names = "pclk";
|
||
|
nvidia,secure-pmc;
|
||
|
|
||
|
pex_io_dpd_disable_state: pex_en {
|
||
|
pex-io-dpd-signals-dis {
|
||
|
pins = "pex-bias", "pex-clk1", "pex-clk2";
|
||
|
low-power-disable;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
pex_io_dpd_enable_state: pex_dis {
|
||
|
pex-io-dpd-signals-en {
|
||
|
pins = "pex-bias", "pex-clk1", "pex-clk2";
|
||
|
low-power-enable;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
hdmi_dpd_enable: hdmi-dpd-enable {
|
||
|
hdmi-pad-lowpower-enable {
|
||
|
pins = "hdmi";
|
||
|
low-power-enable;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
hdmi_dpd_disable: hdmi-dpd-disable {
|
||
|
hdmi-pad-lowpower-disable {
|
||
|
pins = "hdmi";
|
||
|
low-power-disable;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dsi_dpd_enable: dsi-dpd-enable {
|
||
|
dsi-pad-lowpower-enable {
|
||
|
pins = "dsi";
|
||
|
low-power-enable;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dsi_dpd_disable: dsi-dpd-disable {
|
||
|
dsi-pad-lowpower-disable {
|
||
|
pins = "dsi";
|
||
|
low-power-disable;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dsib_dpd_enable: dsib-dpd-enable {
|
||
|
dsib-pad-lowpower-enable {
|
||
|
pins = "dsib";
|
||
|
low-power-enable;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dsib_dpd_disable: dsib-dpd-disable {
|
||
|
dsib-pad-lowpower-disable {
|
||
|
pins = "dsib";
|
||
|
low-power-disable;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
se: se@70012000 {
|
||
|
compatible = "nvidia,tegra210-se";
|
||
|
reg = <0x0 0x70012000 0x0 0x2000>; /* SE base */
|
||
|
iommus = <&smmu TEGRA_SWGROUP_SE>,
|
||
|
<&smmu TEGRA_SWGROUP_SE1>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_SE>;
|
||
|
interrupts = <0 58 0x04>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SE_CBUS>,
|
||
|
<&tegra_car TEGRA210_CLK_ENTROPY>;
|
||
|
clock-names = "se", "entropy";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
#if TEGRA_AUDIO_BUS_DT_VERSION >= DT_VERSION_2
|
||
|
aconnect@702c0000 {
|
||
|
#address-cells = <2>;
|
||
|
#size-cells = <2>;
|
||
|
#endif
|
||
|
adma: adma@702e2000 {
|
||
|
compatible = "nvidia,tegra210-adma";
|
||
|
interrupt-parent = <&tegra_agic>;
|
||
|
reg = <0x0 0x702e2000 0x0 0x2000>, /* CH and GLOBAL Reg */
|
||
|
<0x0 0x702ec000 0x0 0x72>; /* AMISC Reg */
|
||
|
clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
|
||
|
clock-names = "d_audio";
|
||
|
interrupts = <GIC_SPI INT_ADMA_EOT0 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT1 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT2 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT3 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT4 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT5 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT6 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT7 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT8 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT9 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT10 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT11 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT12 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT13 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT14 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT15 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT16 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT17 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT18 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT19 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT20 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>,
|
||
|
<GIC_SPI INT_ADMA_EOT21 IRQ_TYPE_LEVEL_HIGH ROUTE_TO_HOST>;
|
||
|
#dma-cells = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_axbar: ahub {
|
||
|
compatible = "nvidia,tegra210-axbar";
|
||
|
wakeup-disable;
|
||
|
reg = <0x0 0x702d0800 0x0 0x800>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
|
||
|
<&tegra_car TEGRA210_CLK_APE>,
|
||
|
<&tegra_car TEGRA210_CLK_APB2APE>;
|
||
|
clock-names = "ahub", "parent", "xbar.ape", "apb2ape";
|
||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>;
|
||
|
assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
assigned-clock-rates = <81600000>;
|
||
|
status = "disabled";
|
||
|
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
ranges = <0x702d0000 0x0 0x702d0000 0x00010000>;
|
||
|
|
||
|
tegra_admaif: admaif@0x702d0000 {
|
||
|
compatible = "nvidia,tegra210-admaif";
|
||
|
reg = <0x702d0000 0x800>;
|
||
|
dmas = <&adma 1>, <&adma 1>, <&adma 2>, <&adma 2>,
|
||
|
<&adma 3>, <&adma 3>, <&adma 4>, <&adma 4>,
|
||
|
<&adma 5>, <&adma 5>, <&adma 6>, <&adma 6>,
|
||
|
<&adma 7>, <&adma 7>, <&adma 8>, <&adma 8>,
|
||
|
<&adma 9>, <&adma 9>, <&adma 10>, <&adma 10>;
|
||
|
dma-names = "rx1", "tx1", "rx2", "tx2", "rx3", "tx3",
|
||
|
"rx4", "tx4", "rx5", "tx5", "rx6", "tx6",
|
||
|
"rx7", "tx7", "rx8", "tx8", "rx9", "tx9",
|
||
|
"rx10", "tx10";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_sfc1: sfc@702d2000 {
|
||
|
compatible = "nvidia,tegra210-sfc";
|
||
|
reg = <0x702d2000 0x200>;
|
||
|
nvidia,ahub-sfc-id = <0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_sfc2: sfc@702d2200 {
|
||
|
compatible = "nvidia,tegra210-sfc";
|
||
|
reg = <0x702d2200 0x200>;
|
||
|
nvidia,ahub-sfc-id = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_sfc3: sfc@702d2400 {
|
||
|
compatible = "nvidia,tegra210-sfc";
|
||
|
reg = <0x702d2400 0x200>;
|
||
|
nvidia,ahub-sfc-id = <2>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_sfc4: sfc@702d2600 {
|
||
|
compatible = "nvidia,tegra210-sfc";
|
||
|
reg = <0x702d2600 0x200>;
|
||
|
nvidia,ahub-sfc-id = <3>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
spkprot@702d8c00 {
|
||
|
compatible = "nvidia,tegra210-spkprot";
|
||
|
reg = <0x702d8c00 0x400>;
|
||
|
nvidia,ahub-spkprot-id = <0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_amixer: amixer@702dbb00 {
|
||
|
compatible = "nvidia,tegra210-amixer";
|
||
|
reg = <0x702dbb00 0x800>;
|
||
|
nvidia,ahub-amixer-id = <0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_i2s1: i2s@702d1000 {
|
||
|
compatible = "nvidia,tegra210-i2s";
|
||
|
reg = <0x702d1000 0x100>;
|
||
|
nvidia,ahub-i2s-id = <0>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2S0>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
|
||
|
<&tegra_car TEGRA210_CLK_I2S0_SYNC>,
|
||
|
<&tegra_car TEGRA210_CLK_AUDIO0_MUX>;
|
||
|
clock-names = "i2s", "i2s_clk_parent", "ext_audio_sync",
|
||
|
"audio_sync";
|
||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_I2S0>;
|
||
|
assigned-clock-parents =
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
assigned-clock-rates = <1536000>;
|
||
|
};
|
||
|
|
||
|
tegra_i2s2: i2s@702d1100 {
|
||
|
compatible = "nvidia,tegra210-i2s";
|
||
|
reg = <0x702d1100 0x100>;
|
||
|
nvidia,ahub-i2s-id = <1>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2S1>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
|
||
|
<&tegra_car TEGRA210_CLK_I2S1_SYNC>,
|
||
|
<&tegra_car TEGRA210_CLK_AUDIO1_MUX>;
|
||
|
clock-names = "i2s", "i2s_clk_parent", "ext_audio_sync",
|
||
|
"audio_sync";
|
||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_I2S1>;
|
||
|
assigned-clock-parents =
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
assigned-clock-rates = <1536000>;
|
||
|
};
|
||
|
|
||
|
tegra_i2s3: i2s@702d1200 {
|
||
|
compatible = "nvidia,tegra210-i2s";
|
||
|
reg = <0x702d1200 0x100>;
|
||
|
nvidia,ahub-i2s-id = <2>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2S2>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
|
||
|
<&tegra_car TEGRA210_CLK_I2S2_SYNC>,
|
||
|
<&tegra_car TEGRA210_CLK_AUDIO2_MUX>;
|
||
|
clock-names = "i2s", "i2s_clk_parent", "ext_audio_sync",
|
||
|
"audio_sync";
|
||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_I2S2>;
|
||
|
assigned-clock-parents =
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
assigned-clock-rates = <1536000>;
|
||
|
};
|
||
|
|
||
|
tegra_i2s4: i2s@702d1300 {
|
||
|
compatible = "nvidia,tegra210-i2s";
|
||
|
reg = <0x702d1300 0x100>;
|
||
|
nvidia,ahub-i2s-id = <3>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2S3>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
|
||
|
<&tegra_car TEGRA210_CLK_I2S3_SYNC>,
|
||
|
<&tegra_car TEGRA210_CLK_AUDIO3_MUX>;
|
||
|
clock-names = "i2s", "i2s_clk_parent", "ext_audio_sync",
|
||
|
"audio_sync";
|
||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_I2S3>;
|
||
|
assigned-clock-parents =
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
assigned-clock-rates = <1536000>;
|
||
|
};
|
||
|
|
||
|
tegra_i2s5: i2s@702d1400 {
|
||
|
compatible = "nvidia,tegra210-i2s";
|
||
|
reg = <0x702d1400 0x100>;
|
||
|
nvidia,ahub-i2s-id = <4>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2S4>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>,
|
||
|
<&tegra_car TEGRA210_CLK_I2S4_SYNC>,
|
||
|
<&tegra_car TEGRA210_CLK_AUDIO4_MUX>;
|
||
|
clock-names = "i2s", "i2s_clk_parent", "ext_audio_sync",
|
||
|
"audio_sync";
|
||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_I2S4>;
|
||
|
assigned-clock-parents =
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
assigned-clock-rates = <1536000>;
|
||
|
};
|
||
|
|
||
|
tegra_amx1: amx@702d3000 {
|
||
|
compatible = "nvidia,tegra210-amx";
|
||
|
reg = <0x702d3000 0x100>;
|
||
|
nvidia,ahub-amx-id = <0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_amx2: amx@702d3100 {
|
||
|
compatible = "nvidia,tegra210-amx";
|
||
|
reg = <0x702d3100 0x100>;
|
||
|
nvidia,ahub-amx-id = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_adx1: adx@702d3800 {
|
||
|
compatible = "nvidia,tegra210-adx";
|
||
|
reg = <0x702d3800 0x100>;
|
||
|
nvidia,ahub-adx-id = <0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_adx2: adx@702d3900 {
|
||
|
compatible = "nvidia,tegra210-adx";
|
||
|
reg = <0x702d3900 0x100>;
|
||
|
nvidia,ahub-adx-id = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_dmic1: dmic@702d4000 {
|
||
|
compatible = "nvidia,tegra210-dmic";
|
||
|
reg = <0x702d4000 0x100>;
|
||
|
nvidia,ahub-dmic-id = <0>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_DMIC1>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
clock-names = "dmic", "parent";
|
||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC1>;
|
||
|
assigned-clock-parents =
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
assigned-clock-rates = <3072000>;
|
||
|
};
|
||
|
|
||
|
tegra_dmic2: dmic@702d4100 {
|
||
|
compatible = "nvidia,tegra210-dmic";
|
||
|
reg = <0x702d4100 0x100>;
|
||
|
nvidia,ahub-dmic-id = <1>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_DMIC2>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
clock-names = "dmic", "parent";
|
||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC2>;
|
||
|
assigned-clock-parents =
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
assigned-clock-rates = <3072000>;
|
||
|
};
|
||
|
|
||
|
tegra_dmic3: dmic@702d4200 {
|
||
|
compatible = "nvidia,tegra210-dmic";
|
||
|
reg = <0x702d4200 0x100>;
|
||
|
nvidia,ahub-dmic-id = <2>;
|
||
|
status = "disabled";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_DMIC3>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
clock-names = "dmic", "parent";
|
||
|
assigned-clocks = <&tegra_car TEGRA210_CLK_DMIC3>;
|
||
|
assigned-clock-parents =
|
||
|
<&tegra_car TEGRA210_CLK_PLL_A_OUT0>;
|
||
|
assigned-clock-rates = <3072000>;
|
||
|
};
|
||
|
|
||
|
tegra_afc1: afc@702d7000 {
|
||
|
compatible = "nvidia,tegra210-afc";
|
||
|
reg = <0x702d7000 0x100>;
|
||
|
nvidia,ahub-afc-id = <0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_afc2: afc@702d7100 {
|
||
|
compatible = "nvidia,tegra210-afc";
|
||
|
reg = <0x702d7100 0x100>;
|
||
|
nvidia,ahub-afc-id = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_afc3: afc@702d7200 {
|
||
|
compatible = "nvidia,tegra210-afc";
|
||
|
reg = <0x702d7200 0x100>;
|
||
|
nvidia,ahub-afc-id = <2>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_afc4: afc@702d7300 {
|
||
|
compatible = "nvidia,tegra210-afc";
|
||
|
reg = <0x702d7300 0x100>;
|
||
|
nvidia,ahub-afc-id = <3>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_afc5: afc@702d7400 {
|
||
|
compatible = "nvidia,tegra210-afc";
|
||
|
reg = <0x702d7400 0x100>;
|
||
|
nvidia,ahub-afc-id = <4>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_afc6: afc@702d7500 {
|
||
|
compatible = "nvidia,tegra210-afc";
|
||
|
reg = <0x702d7500 0x100>;
|
||
|
nvidia,ahub-afc-id = <5>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_mvc1: mvc@702da000 {
|
||
|
compatible = "nvidia,tegra210-mvc";
|
||
|
reg = <0x702da000 0x200>;
|
||
|
nvidia,ahub-mvc-id = <0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_mvc2: mvc@702da200 {
|
||
|
compatible = "nvidia,tegra210-mvc";
|
||
|
reg = <0x702da200 0x200>;
|
||
|
nvidia,ahub-mvc-id = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_iqc1: iqc@702de000 {
|
||
|
compatible = "nvidia,tegra210-iqc";
|
||
|
reg = <0x702de000 0x200>;
|
||
|
nvidia,ahub-iqc-id = <0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_iqc2: iqc@702de200 {
|
||
|
compatible = "nvidia,tegra210-iqc";
|
||
|
reg = <0x702de200 0x200>;
|
||
|
nvidia,ahub-iqc-id = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_ope1: ope@702d8000 {
|
||
|
compatible = "nvidia,tegra210-ope";
|
||
|
reg = <0x702d8000 0x100>,
|
||
|
<0x702d8100 0x100>,
|
||
|
<0x702d8200 0x200>;
|
||
|
nvidia,ahub-ope-id = <0>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_ope2: ope@702d8400 {
|
||
|
compatible = "nvidia,tegra210-ope";
|
||
|
reg = <0x702d8400 0x100>,
|
||
|
<0x702d8500 0x100>,
|
||
|
<0x702d8600 0x200>;
|
||
|
nvidia,ahub-ope-id = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
tegra_adsp_audio: adsp_audio {
|
||
|
compatible = "nvidia,tegra210-adsp-audio";
|
||
|
wakeup-disable;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_APE>;
|
||
|
iommu-resv-regions = <0x0 0x0 0x0 0x70300000 0x0 0xFFF00000 0xffffffff 0xffffffff>;
|
||
|
iommu-group-id = <TEGRA_IOMMU_GROUP_APE>;
|
||
|
nvidia,adma_ch_start = <11>;
|
||
|
nvidia,adma_ch_cnt = <11>;
|
||
|
interrupt-parent = <&tegra_agic>;
|
||
|
interrupts = <GIC_SPI INT_ADMA_EOT11 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>,
|
||
|
<GIC_SPI INT_ADMA_EOT12 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>,
|
||
|
<GIC_SPI INT_ADMA_EOT13 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>,
|
||
|
<GIC_SPI INT_ADMA_EOT14 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>,
|
||
|
<GIC_SPI INT_ADMA_EOT15 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>,
|
||
|
<GIC_SPI INT_ADMA_EOT16 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>,
|
||
|
<GIC_SPI INT_ADMA_EOT17 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>,
|
||
|
<GIC_SPI INT_ADMA_EOT18 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>,
|
||
|
<GIC_SPI INT_ADMA_EOT19 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>,
|
||
|
<GIC_SPI INT_ADMA_EOT20 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>,
|
||
|
<GIC_SPI INT_ADMA_EOT21 IRQ_TYPE_LEVEL_HIGH
|
||
|
ROUTE_TO_ADSP>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>,
|
||
|
<&tegra_car TEGRA210_CLK_APE>;
|
||
|
clock-names = "ahub", "ape";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
#if TEGRA_AUDIO_BUS_DT_VERSION >= DT_VERSION_2
|
||
|
};
|
||
|
#else
|
||
|
adma@702e2000 {
|
||
|
wakeup-disable;
|
||
|
power-domains = <&pd_audio>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_D_AUDIO>,
|
||
|
<&tegra_car TEGRA210_CLK_APB2APE>,
|
||
|
<&tegra_car TEGRA210_CLK_APE>;
|
||
|
clock-names = "ahub", "apb2ape", "adma.ape";
|
||
|
};
|
||
|
|
||
|
ahub {
|
||
|
power-domains = <&pd_audio>;
|
||
|
};
|
||
|
|
||
|
adsp_audio {
|
||
|
power-domains = <&adsp_pd>;
|
||
|
};
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
hda@70030000 {
|
||
|
compatible = "nvidia,tegra30-hda";
|
||
|
reg = <0x0 0x70030000 0x0 0x10000>;
|
||
|
interrupts = <0 81 0x04>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_HDA>,
|
||
|
<&tegra_car TEGRA210_CLK_HDA2HDMI>,
|
||
|
<&tegra_car TEGRA210_CLK_HDA2CODEC_2X>,
|
||
|
<&tegra_car TEGRA210_CLK_MAUD>;
|
||
|
clock-names = "hda", "hda2hdmi",
|
||
|
"hda2codec_2x", "maud";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
pinmux@700008d4 {
|
||
|
clkreq_0_bi_dir_state: clkreq_0_bi_dir {
|
||
|
clkreq0 {
|
||
|
nvidia,pins = "pex_l0_clkreq_n_pa1";
|
||
|
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||
|
};
|
||
|
};
|
||
|
clkreq_1_bi_dir_state: clkreq_1_bi_dir {
|
||
|
clkreq1 {
|
||
|
nvidia,pins = "pex_l1_clkreq_n_pa4";
|
||
|
nvidia,tristate = <TEGRA_PIN_DISABLE>;
|
||
|
};
|
||
|
};
|
||
|
clkreq_0_in_dir_state: clkreq_0_in_dir {
|
||
|
clkreq0 {
|
||
|
nvidia,pins = "pex_l0_clkreq_n_pa1";
|
||
|
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||
|
};
|
||
|
};
|
||
|
clkreq_1_in_dir_state: clkreq_1_in_dir {
|
||
|
clkreq1 {
|
||
|
nvidia,pins = "pex_l1_clkreq_n_pa4";
|
||
|
nvidia,tristate = <TEGRA_PIN_ENABLE>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
pcie@1003000 {
|
||
|
compatible = "nvidia,tegra210-pcie", "nvidia,tegra124-pcie";
|
||
|
power-domains = <&pd_pcie>;
|
||
|
device_type = "pci";
|
||
|
reg = <0x0 0x01003000 0x0 0x00000800 /* PADS registers */
|
||
|
0x0 0x01003800 0x0 0x00000800 /* AFI registers */
|
||
|
0x0 0x11FFF000 0x0 0x00001000>; /* configuration space */
|
||
|
reg-names = "pads", "afi", "cs";
|
||
|
interrupts = <0 98 0x04>, /* controller interrupt */
|
||
|
<0 99 0x04>; /* MSI interrupt */
|
||
|
interrupt-names = "intr", "msi";
|
||
|
|
||
|
clocks = <&tegra_car TEGRA210_CLK_PCIE>,
|
||
|
<&tegra_car TEGRA210_CLK_AFI>,
|
||
|
<&tegra_car TEGRA210_CLK_PLL_E>,
|
||
|
<&tegra_car TEGRA210_CLK_CML0>,
|
||
|
<&tegra_car TEGRA210_CLK_MSELECT>;
|
||
|
clock-names = "pex", "afi", "pll_e", "cml", "mselect";
|
||
|
|
||
|
resets = <&tegra_car 70>,
|
||
|
<&tegra_car 72>,
|
||
|
<&tegra_car 74>;
|
||
|
reset-names = "pex", "afi", "pcie_x";
|
||
|
|
||
|
#interrupt-cells = <1>;
|
||
|
interrupt-map-mask = <0 0 0 0>;
|
||
|
interrupt-map = <0 0 0 0 &intc 0 98 0x04>;
|
||
|
|
||
|
pinctrl-names = "clkreq-0-bi-dir-enable", "clkreq-1-bi-dir-enable",
|
||
|
"clkreq-0-in-dir-enable", "clkreq-1-in-dir-enable",
|
||
|
"pex-io-dpd-dis", "pex-io-dpd-en";
|
||
|
pinctrl-0 = <&clkreq_0_bi_dir_state>;
|
||
|
pinctrl-1 = <&clkreq_1_bi_dir_state>;
|
||
|
pinctrl-2 = <&clkreq_0_in_dir_state>;
|
||
|
pinctrl-3 = <&clkreq_1_in_dir_state>;
|
||
|
pinctrl-4 = <&pex_io_dpd_disable_state>;
|
||
|
pinctrl-5 = <&pex_io_dpd_enable_state>;
|
||
|
|
||
|
iommus = <&smmu TEGRA_SWGROUP_AFI>;
|
||
|
iommu-map = <0x0 &smmu TEGRA_SWGROUP_AFI 0x1000>;
|
||
|
iommu-map-mask = <0x0>;
|
||
|
|
||
|
bus-range = <0x00 0xff>;
|
||
|
#address-cells = <3>;
|
||
|
#size-cells = <2>;
|
||
|
|
||
|
ranges = <0x82000000 0 0x01000000 0x0 0x01000000 0 0x00001000 /* port 0 configuration space */
|
||
|
0x82000000 0 0x01001000 0x0 0x01001000 0 0x00001000 /* port 1 configuration space */
|
||
|
0x81000000 0 0x0 0x0 0x12000000 0 0x00010000 /* downstream I/O (64 KiB) */
|
||
|
0x82000000 0 0x13000000 0x0 0x13000000 0 0x0d000000 /* non-prefetchable memory (208 MiB) */
|
||
|
0xc2000000 0 0x20000000 0x0 0x20000000 0 0x20000000>; /* prefetchable memory (512 MiB) */
|
||
|
|
||
|
status = "disabled";
|
||
|
|
||
|
pci@1,0 {
|
||
|
device_type = "pci";
|
||
|
assigned-addresses = <0x82000800 0 0x01000000 0 0x1000>;
|
||
|
reg = <0x000800 0 0 0 0>;
|
||
|
status = "disabled";
|
||
|
|
||
|
#address-cells = <3>;
|
||
|
#size-cells = <2>;
|
||
|
ranges;
|
||
|
|
||
|
nvidia,num-lanes = <4>;
|
||
|
nvidia,afi-ctl-offset = <0x110>;
|
||
|
nvidia,disable-aspm-states = <0xf>;
|
||
|
|
||
|
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
|
||
|
phys = <&{/xusb_padctl@7009f000/pads/pcie/lanes/pcie-1}>;
|
||
|
#else
|
||
|
phys = <&tegra_padctl_uphy TEGRA_PADCTL_UPHY_PCIE_P(0)>;
|
||
|
#endif
|
||
|
phy-names = "pcie-phy";
|
||
|
};
|
||
|
|
||
|
pci@2,0 {
|
||
|
device_type = "pci";
|
||
|
assigned-addresses = <0x82001000 0 0x01001000 0 0x1000>;
|
||
|
reg = <0x001000 0 0 0 0>;
|
||
|
status = "disabled";
|
||
|
|
||
|
#address-cells = <3>;
|
||
|
#size-cells = <2>;
|
||
|
ranges;
|
||
|
|
||
|
nvidia,num-lanes = <1>;
|
||
|
nvidia,afi-ctl-offset = <0x118>;
|
||
|
nvidia,disable-aspm-states = <0xf>;
|
||
|
|
||
|
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
|
||
|
phys = <&{/xusb_padctl@7009f000/pads/pcie/lanes/pcie-0}>;
|
||
|
#else
|
||
|
phys = <&tegra_padctl_uphy TEGRA_PADCTL_UPHY_PCIE_P(1)>;
|
||
|
#endif
|
||
|
phy-names = "pcie-phy";
|
||
|
};
|
||
|
|
||
|
};
|
||
|
|
||
|
i2c1: i2c@7000c000 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "nvidia,tegra210-i2c";
|
||
|
reg = <0x0 0x7000c000 0x0 0x100>;
|
||
|
interrupts = <0 38 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
status = "disabled";
|
||
|
clock-frequency = <400000>;
|
||
|
dmas = <&apbdma 21>, <&apbdma 21>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2C1>, <&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "div-clk", "parent";
|
||
|
resets = <&tegra_car 12>;
|
||
|
reset-names = "i2c";
|
||
|
};
|
||
|
|
||
|
i2c2: i2c@7000c400 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "nvidia,tegra210-i2c";
|
||
|
reg = <0x0 0x7000c400 0x0 0x100>;
|
||
|
interrupts = <0 84 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
status = "disabled";
|
||
|
clock-frequency = <100000>;
|
||
|
dmas = <&apbdma 22>, <&apbdma 22>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2C2>, <&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "div-clk", "parent";
|
||
|
resets = <&tegra_car 54>;
|
||
|
reset-names = "i2c";
|
||
|
};
|
||
|
|
||
|
i2c3: i2c@7000c500 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "nvidia,tegra210-i2c";
|
||
|
reg = <0x0 0x7000c500 0x0 0x100>;
|
||
|
interrupts = <0 92 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
status = "disabled";
|
||
|
clock-frequency = <400000>;
|
||
|
dmas = <&apbdma 23>, <&apbdma 23>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2C3>, <&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "div-clk", "parent";
|
||
|
resets = <&tegra_car 67>;
|
||
|
reset-names = "i2c";
|
||
|
};
|
||
|
|
||
|
i2c4: i2c@7000c700 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "nvidia,tegra210-i2c";
|
||
|
reg = <0x0 0x7000c700 0x0 0x100>;
|
||
|
interrupts = <0 120 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
status = "disabled";
|
||
|
clock-frequency = <100000>;
|
||
|
dmas = <&apbdma 26>, <&apbdma 26>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2C4>, <&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "div-clk", "parent";
|
||
|
resets = <&tegra_car 103>;
|
||
|
reset-names = "i2c";
|
||
|
};
|
||
|
|
||
|
i2c5: i2c@7000d000 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "nvidia,tegra210-i2c";
|
||
|
reg = <0x0 0x7000d000 0x0 0x100>;
|
||
|
interrupts = <0 53 0x04>;
|
||
|
scl-gpio = <&gpio 195 0>;
|
||
|
sda-gpio = <&gpio 196 0>;
|
||
|
nvidia,require-cldvfs-clock;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
status = "disabled";
|
||
|
clock-frequency = <400000>;
|
||
|
dmas = <&apbdma 24>, <&apbdma 24>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2C5>, <&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "div-clk", "parent";
|
||
|
resets = <&tegra_car 47>;
|
||
|
reset-names = "i2c";
|
||
|
};
|
||
|
|
||
|
i2c6: i2c@7000d100 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "nvidia,tegra210-i2c";
|
||
|
reg = <0x0 0x7000d100 0x0 0x100>;
|
||
|
interrupts = <0 63 0x04>;
|
||
|
iommus = <&smmu TEGRA_SWGROUP_PPCS>;
|
||
|
status = "disabled";
|
||
|
clock-frequency = <400000>;
|
||
|
dmas = <&apbdma 30>, <&apbdma 30>;
|
||
|
dma-names = "rx", "tx";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_I2C6>, <&tegra_car TEGRA210_CLK_PLL_P>;
|
||
|
clock-names = "div-clk", "parent";
|
||
|
resets = <&tegra_car 166>;
|
||
|
reset-names = "i2c";
|
||
|
};
|
||
|
|
||
|
sdhci3: sdhci@700b0600 {
|
||
|
compatible = "nvidia,tegra210-sdhci";
|
||
|
reg = <0x0 0x700b0600 0x0 0x200>;
|
||
|
interrupts = < 0 31 0x04 >;
|
||
|
aux-device-name = "sdhci-tegra.3";
|
||
|
iommus = <&smmu TEGRA_SWGROUP_SDMMC4A>;
|
||
|
nvidia,runtime-pm-type = <1>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SDMMC4>;
|
||
|
clock-names = "sdmmc";
|
||
|
resets = <&tegra_car 15>;
|
||
|
reset-names = "sdhci";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
sdhci2: sdhci@700b0400 {
|
||
|
compatible = "nvidia,tegra210-sdhci";
|
||
|
reg = <0x0 0x700b0400 0x0 0x200>;
|
||
|
interrupts = < 0 19 0x04 >;
|
||
|
aux-device-name = "sdhci-tegra.2";
|
||
|
iommus = <&smmu TEGRA_SWGROUP_SDMMC3A>;
|
||
|
nvidia,runtime-pm-type = <0>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SDMMC4>;
|
||
|
clock-names = "sdmmc";
|
||
|
resets = <&tegra_car 67>;
|
||
|
reset-names = "sdhci";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
sdhci1: sdhci@700b0200 {
|
||
|
compatible = "nvidia,tegra210-sdhci";
|
||
|
reg = <0x0 0x700b0200 0x0 0x200>;
|
||
|
interrupts = < 0 15 0x04 >;
|
||
|
aux-device-name = "sdhci-tegra.1";
|
||
|
nvidia,runtime-pm-type = <1>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SDMMC2>;
|
||
|
clock-names = "sdmmc";
|
||
|
resets = <&tegra_car 9>;
|
||
|
reset-names = "sdhci";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
sdhci0: sdhci@700b0000 {
|
||
|
compatible = "nvidia,tegra210-sdhci";
|
||
|
reg = <0x0 0x700b0000 0x0 0x200>;
|
||
|
interrupts = < 0 14 0x04 >;
|
||
|
aux-device-name = "sdhci-tegra.0";
|
||
|
iommus = <&smmu TEGRA_SWGROUP_SDMMC1A>;
|
||
|
nvidia,runtime-pm-type = <1>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_SDMMC1>;
|
||
|
clock-names = "sdmmc";
|
||
|
resets = <&tegra_car 14>;
|
||
|
reset-names = "sdhci";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
efuse@7000f800 {
|
||
|
compatible = "nvidia,tegra210-efuse";
|
||
|
reg = <0x0 0x7000f800 0x0 0x400>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_FUSE>;
|
||
|
clock-names = "fuse";
|
||
|
nvidia,clock-always-on;
|
||
|
status = "disabled";
|
||
|
efuse-burn {
|
||
|
compatible = "nvidia,tegra210-efuse-burn";
|
||
|
clocks = <&tegra_car TEGRA210_CLK_CLK_M>;
|
||
|
clock-names = "clk_m";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
actmon@6000c800 {
|
||
|
status = "okay";
|
||
|
mc_all { /* MC_ALL actmon device */
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
kfuse@7000fc00 {
|
||
|
compatible = "nvidia,tegra210-kfuse";
|
||
|
reg = <0x0 0x7000fc00 0x0 0x400>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_KFUSE>;
|
||
|
clock-names = "kfuse";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
pmc-iopower {
|
||
|
compatible = "nvidia,tegra210-pmc-iopower";
|
||
|
pad-controllers = <&tegra_pmc TEGRA_IO_PAD_GROUP_SYS
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_UART
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_AUDIO
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_CAM
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_PEX_CTRL
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_SDMMC1
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_SDMMC3
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_HV
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_AUDIO_HV
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_DBG
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_DMIC
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_GPIO
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_SPI
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_SPI_HV
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_DSI
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_DSIB
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_DSIC
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_DSID
|
||
|
&tegra_pmc TEGRA_IO_PAD_GROUP_HDMI>;
|
||
|
pad-names = "sys", "uart", "audio", "cam", "pex-ctrl",
|
||
|
"sdmmc1", "sdmmc3", "hv", "audio-hv", "debug", "dmic",
|
||
|
"gpio", "spi", "spi-hv", "dsia", "dsib", "dsic", "dsid",
|
||
|
"hdmi";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
dtv@7000c300 {
|
||
|
compatible = "nvidia,tegra210-dtv";
|
||
|
reg = <0x0 0x7000c300 0x0 0x100>;
|
||
|
dmas = <&apbdma 11>;
|
||
|
dma-names = "rx";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
xudc@700d0000 {
|
||
|
compatible = "nvidia,tegra210-xudc";
|
||
|
reg = <0x0 0x700d0000 0x0 0x8000>,
|
||
|
<0x0 0x700d8000 0x0 0x1000>,
|
||
|
<0x0 0x700d9000 0x0 0x1000>;
|
||
|
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
|
||
|
interrupts = <0 44 0x4>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_XUSB_DEV>,
|
||
|
<&tegra_car TEGRA210_CLK_XUSB_SS>,
|
||
|
<&tegra_car TEGRA210_CLK_XUSB_SSP_SRC>,
|
||
|
<&tegra_car TEGRA210_CLK_XUSB_HS_SRC>,
|
||
|
<&tegra_car TEGRA210_CLK_XUSB_FS_SRC>;
|
||
|
nvidia,xusb-padctl = <&xusb_padctl>;
|
||
|
#else
|
||
|
interrupts = <0 44 0x4
|
||
|
0 49 0x4>;
|
||
|
#endif
|
||
|
iommus = <&smmu TEGRA_SWGROUP_XUSB_DEV>;
|
||
|
status = "disabled";
|
||
|
charger-detector = <&tegra_usb_cd>;
|
||
|
};
|
||
|
|
||
|
tegra_mc: memory-controller@70019000 {
|
||
|
compatible = "nvidia,tegra210-mc";
|
||
|
reg = <0x0 0x70019000 0x0 0x1000>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_MC>,
|
||
|
<&tegra_car TEGRA210_CLK_EMC>;
|
||
|
clock-names = "mc", "emc";
|
||
|
interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
|
||
|
#iommu-cells = <1>;
|
||
|
#reset-cells = <1>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_pwm_dfll: pwm@70110000 {
|
||
|
compatible = "nvidia,tegra210-dfll-pwm";
|
||
|
reg = <0x0 0x70110000 0x0 0x400>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_DFLL_REF>;
|
||
|
clock-names = "ref";
|
||
|
pinctrl-names = "dvfs_pwm_enable", "dvfs_pwm_disable";
|
||
|
#pwm-cells = <2>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_clk_dfll: clock@70110000 {
|
||
|
compatible = "nvidia,tegra210-dfll";
|
||
|
reg = <0 0x70110000 0 0x100>, /* DFLL control */
|
||
|
<0 0x70110000 0 0x100>, /* I2C output control */
|
||
|
<0 0x70110100 0 0x100>, /* Integrated I2C controller */
|
||
|
<0 0x70110200 0 0x100>; /* Look-up table RAM */
|
||
|
interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_DFLL_SOC>,
|
||
|
<&tegra_car TEGRA210_CLK_DFLL_REF>,
|
||
|
<&tegra_car TEGRA210_CLK_I2C5>;
|
||
|
clock-names = "soc", "ref", "i2c";
|
||
|
resets = <&tegra_car TEGRA210_RST_DFLL_DVCO>;
|
||
|
reset-names = "dvco";
|
||
|
#clock-cells = <0>;
|
||
|
clock-output-names = "dfllCPU_out";
|
||
|
out-clock-name="dfll_cpu";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
soctherm: soctherm@0x700E2000 {
|
||
|
compatible = "nvidia,tegra-soctherm", "nvidia,tegra210-soctherm";
|
||
|
reg = <0x0 0x700E2000 0x0 0x600>, /* 0: SOC_THERM reg_base */
|
||
|
<0x0 0x60006000 0x0 0x400>, /* 1: CAR reg_base */
|
||
|
<0x0 0x70040000 0x0 0x200>; /* 2: CCROC reg_base */
|
||
|
reg-names = "soctherm-reg", "car-reg", "ccroc-reg";
|
||
|
interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH
|
||
|
GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_TSENSOR>,
|
||
|
<&tegra_car TEGRA210_CLK_SOC_THERM>;
|
||
|
clock-names = "tsensor", "soctherm";
|
||
|
resets = <&tegra_car TEGRA210_CLK_SOC_THERM>;
|
||
|
reset-names = "soctherm";
|
||
|
|
||
|
#thermal-sensor-cells = <1>;
|
||
|
status = "disabled";
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <2>;
|
||
|
soctherm-clock-frequency = <51000000>;
|
||
|
tsensor-clock-frequency = <400000>;
|
||
|
sensor-params-tall = <16300>;
|
||
|
sensor-params-tiddq = <1>;
|
||
|
sensor-params-ten-count = <1>;
|
||
|
sensor-params-tsample = <120>;
|
||
|
sensor-params-pdiv = <8>;
|
||
|
sensor-params-tsamp-ate = <480>;
|
||
|
sensor-params-pdiv-ate = <8>;
|
||
|
|
||
|
hw-pllx-offsets = <TEGRA124_SOCTHERM_SENSOR_CPU 1000 7000
|
||
|
TEGRA124_SOCTHERM_SENSOR_GPU 2000 4000>;
|
||
|
|
||
|
nvidia,thermtrips = <TEGRA124_SOCTHERM_SENSOR_CPU 102500
|
||
|
TEGRA124_SOCTHERM_SENSOR_GPU 103000>;
|
||
|
|
||
|
throttle-cfgs {
|
||
|
throttle_heavy: heavy {
|
||
|
nvidia,priority = <100>;
|
||
|
nvidia,cpu-throt-percent = <85>;
|
||
|
nvidia,gpu-throt-level = <TEGRA_SOCTHERM_THROT_LEVEL_HIGH>;
|
||
|
#cooling-cells = <2>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
fuse_war@fuse_rev_0_1 {
|
||
|
device_type = "fuse_war";
|
||
|
match_fuse_rev = <0 1>;
|
||
|
cpu0 = <1088700 397600 >;
|
||
|
cpu1 = <1077600 1073200 >;
|
||
|
cpu2 = <1104800 (-617000) >;
|
||
|
cpu3 = <1093800 (-901200)>;
|
||
|
mem0 = <1085300 (-98400) >;
|
||
|
mem1 = <1104800 (-99000) >;
|
||
|
gpu = <1085800 (-1097500)>;
|
||
|
pllx = <1078800 (-890700)>;
|
||
|
};
|
||
|
fuse_war@fuse_rev_2 {
|
||
|
device_type = "fuse_war";
|
||
|
match_fuse_rev = <2>;
|
||
|
cpu0 = <1085000 3244200 >;
|
||
|
cpu1 = <1126200 (-67500) >;
|
||
|
cpu2 = <1098400 2251100 >;
|
||
|
cpu3 = <1108000 602700>;
|
||
|
mem0 = <1069200 3549900>;
|
||
|
mem1 = <1173700 (-6263600)>;
|
||
|
gpu = <1074300 2734900>;
|
||
|
pllx = <1039700 6829100>;
|
||
|
};
|
||
|
|
||
|
/* throttlectl - hardware 'throttle' devices */
|
||
|
throttle@critical {
|
||
|
device_type = "throttlectl";
|
||
|
cdev-type = "tegra-shutdown";
|
||
|
cooling-min-state = <0>;
|
||
|
cooling-max-state = <3>;
|
||
|
#cooling-cells = <2>;
|
||
|
};
|
||
|
throttle@heavy {
|
||
|
device_type = "throttlectl";
|
||
|
cdev-type = "tegra-heavy";
|
||
|
cooling-min-state = <0>;
|
||
|
cooling-max-state = <3>;
|
||
|
#cooling-cells = <2>;
|
||
|
priority = <100>;
|
||
|
throttle_dev = <&{/soctherm@0x700E2000/throttle_dev@cpu_high}
|
||
|
&{/soctherm@0x700E2000/throttle_dev@gpu_high}>;
|
||
|
};
|
||
|
throttle_dev@cpu_high {
|
||
|
depth = <85>;
|
||
|
};
|
||
|
throttle_dev@gpu_high {
|
||
|
level = "heavy_throttling";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
tegra-aotag {
|
||
|
compatible = "nvidia,tegra21x-aotag";
|
||
|
parent-block = <&{/pmc@7000e400}>;
|
||
|
/*
|
||
|
* interrupts =
|
||
|
* #interrupt-names =
|
||
|
*/
|
||
|
status = "disabled";
|
||
|
sensor-params-tall = <76>;
|
||
|
sensor-params-tiddq = <1>;
|
||
|
sensor-params-ten-count = <16>;
|
||
|
sensor-params-tsample = <9>;
|
||
|
sensor-params-pdiv = <8>;
|
||
|
sensor-params-tsamp-ate = <39>;
|
||
|
sensor-params-pdiv-ate = <8>;
|
||
|
|
||
|
|
||
|
#thermal-sensor-cells = <0>;
|
||
|
/* make this to '1' in case of more than one sensors */
|
||
|
|
||
|
/*
|
||
|
* right way to do with multiple sensors is -
|
||
|
* sensor0 : sensor@<0x.....>
|
||
|
* etc.
|
||
|
* e.g,
|
||
|
* sensor@0 {
|
||
|
* sensor-name = "aotag0";
|
||
|
* sensor-id = <0>;
|
||
|
* };
|
||
|
*
|
||
|
*/
|
||
|
sensor-name = "aotag0";
|
||
|
sensor-id = <0>;
|
||
|
advertised-sensor-id = <9>;
|
||
|
/*
|
||
|
* sensor-type = "nvidia,tegra21x-aotag";
|
||
|
* not required, use 'compatible' instead.
|
||
|
* keeping it as a comment
|
||
|
*/
|
||
|
sensor-nominal-temp-cp = <25>;
|
||
|
sensor-nominal-temp-ft = <105>;
|
||
|
|
||
|
sensor-compensation-a = <10632>;
|
||
|
sensor-compensation-b = <(-67490)>;
|
||
|
};
|
||
|
|
||
|
tegra_cec {
|
||
|
compatible = "nvidia,tegra210-cec";
|
||
|
reg = <0x0 0x70015000 0x0 0x00001000>;
|
||
|
interrupts = <0 3 0x04>;
|
||
|
clocks = <&tegra_car TEGRA210_CLK_CEC>;
|
||
|
clock-names = "cec";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_watchdog: watchdog@60005100 {
|
||
|
compatible = "nvidia,tegra-wdt-t21x";
|
||
|
reg = <0x0 0x60005100 0x0 0x20 /* WDT0 registers */
|
||
|
0x0 0x60005088 0x0 0x8>; /* TMR0 registers */
|
||
|
interrupts = <0 123 0x04>;
|
||
|
nvidia,expiry-count = <4>;
|
||
|
nvidia,timer-index = <7>;
|
||
|
nvidia,enable-on-init;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra_fiq_debugger {
|
||
|
compatible = "nvidia,fiq-debugger";
|
||
|
use-console-port;
|
||
|
interrupts = <0 123 0x04>; /* WDT_CPU */
|
||
|
};
|
||
|
|
||
|
ptm {
|
||
|
compatible = "nvidia,ptm";
|
||
|
reg = <0x0 0x72010000 0x0 0x1000>, /* funnel_major */
|
||
|
<0x0 0x72030000 0x0 0x1000>, /* etf */
|
||
|
<0x0 0x72040000 0x0 0x1000>, /* replicator */
|
||
|
<0x0 0x72050000 0x0 0x1000>, /* etr */
|
||
|
<0x0 0x72060000 0x0 0x1000>, /* tpiu */
|
||
|
<0x0 0x73010000 0x0 0x1000>, /* funnel_bccplex */
|
||
|
<0x0 0x73440000 0x0 0x1000>, /* ptm0 */
|
||
|
<0x0 0x73540000 0x0 0x1000>, /* ptm1 */
|
||
|
<0x0 0x73640000 0x0 0x1000>, /* ptm2 */
|
||
|
<0x0 0x73740000 0x0 0x1000>, /* ptm3 */
|
||
|
<0x0 0x72820000 0x0 0x1000>, /* funnel_minor */
|
||
|
<0x0 0x72a1c000 0x0 0x1000>; /* ape */
|
||
|
};
|
||
|
|
||
|
mselect {
|
||
|
compatible = "nvidia,tegra-mselect";
|
||
|
interrupts = < 0 175 0x4 >;
|
||
|
reg = < 0x0 0x50060000 0x0 0x1000 >;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
cpuidle {
|
||
|
compatible = "nvidia,tegra210-cpuidle";
|
||
|
cc4-no-retention;
|
||
|
};
|
||
|
|
||
|
apbmisc@70000800 {
|
||
|
compatible = "nvidia,tegra210-apbmisc", "nvidia,tegra20-apbmisc";
|
||
|
reg = <0x0 0x70000800 0x0 0x64>, /* Chip revision */
|
||
|
<0x0 0x70000008 0x0 0x04>; /* Strapping options */
|
||
|
};
|
||
|
|
||
|
nvdumper {
|
||
|
compatible = "nvidia,tegra210-nvdumper";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
tegra-pmc-blink-pwm {
|
||
|
compatible = "nvidia,tegra210-pmc-blink-pwm";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
nvpmodel {
|
||
|
compatible = "nvidia,nvpmodel";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
extcon {
|
||
|
disp-state {
|
||
|
compatible = "extcon-disp-state";
|
||
|
#extcon-cells = <1>;
|
||
|
};
|
||
|
};
|
||
|
};
|