// SPDX-License-Identifier: GPL-2.0 /dts-v1/; #include #include #include "tegra194-p2888.dtsi" / { model = "NVIDIA Jetson AGX Xavier Developer Kit"; compatible = "nvidia,p2972-0000", "nvidia,tegra194"; bus@0 { aconnect@2900000 { status = "okay"; dma-controller@2930000 { status = "okay"; }; interrupt-controller@2a40000 { status = "okay"; }; ahub@2900800 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0x0>; xbar_admaif0_ep: endpoint { remote-endpoint = <&admaif0_ep>; }; }; port@1 { reg = <0x1>; xbar_admaif1_ep: endpoint { remote-endpoint = <&admaif1_ep>; }; }; port@2 { reg = <0x2>; xbar_admaif2_ep: endpoint { remote-endpoint = <&admaif2_ep>; }; }; port@3 { reg = <0x3>; xbar_admaif3_ep: endpoint { remote-endpoint = <&admaif3_ep>; }; }; port@4 { reg = <0x4>; xbar_admaif4_ep: endpoint { remote-endpoint = <&admaif4_ep>; }; }; port@5 { reg = <0x5>; xbar_admaif5_ep: endpoint { remote-endpoint = <&admaif5_ep>; }; }; port@6 { reg = <0x6>; xbar_admaif6_ep: endpoint { remote-endpoint = <&admaif6_ep>; }; }; port@7 { reg = <0x7>; xbar_admaif7_ep: endpoint { remote-endpoint = <&admaif7_ep>; }; }; port@8 { reg = <0x8>; xbar_admaif8_ep: endpoint { remote-endpoint = <&admaif8_ep>; }; }; port@9 { reg = <0x9>; xbar_admaif9_ep: endpoint { remote-endpoint = <&admaif9_ep>; }; }; port@a { reg = <0xa>; xbar_admaif10_ep: endpoint { remote-endpoint = <&admaif10_ep>; }; }; port@b { reg = <0xb>; xbar_admaif11_ep: endpoint { remote-endpoint = <&admaif11_ep>; }; }; port@c { reg = <0xc>; xbar_admaif12_ep: endpoint { remote-endpoint = <&admaif12_ep>; }; }; port@d { reg = <0xd>; xbar_admaif13_ep: endpoint { remote-endpoint = <&admaif13_ep>; }; }; port@e { reg = <0xe>; xbar_admaif14_ep: endpoint { remote-endpoint = <&admaif14_ep>; }; }; port@f { reg = <0xf>; xbar_admaif15_ep: endpoint { remote-endpoint = <&admaif15_ep>; }; }; port@10 { reg = <0x10>; xbar_admaif16_ep: endpoint { remote-endpoint = <&admaif16_ep>; }; }; port@11 { reg = <0x11>; xbar_admaif17_ep: endpoint { remote-endpoint = <&admaif17_ep>; }; }; port@12 { reg = <0x12>; xbar_admaif18_ep: endpoint { remote-endpoint = <&admaif18_ep>; }; }; port@13 { reg = <0x13>; xbar_admaif19_ep: endpoint { remote-endpoint = <&admaif19_ep>; }; }; xbar_i2s1_port: port@14 { reg = <0x14>; xbar_i2s1_ep: endpoint { remote-endpoint = <&i2s1_cif_ep>; }; }; xbar_i2s2_port: port@15 { reg = <0x15>; xbar_i2s2_ep: endpoint { remote-endpoint = <&i2s2_cif_ep>; }; }; xbar_i2s4_port: port@17 { reg = <0x17>; xbar_i2s4_ep: endpoint { remote-endpoint = <&i2s4_cif_ep>; }; }; xbar_i2s6_port: port@19 { reg = <0x19>; xbar_i2s6_ep: endpoint { remote-endpoint = <&i2s6_cif_ep>; }; }; xbar_dmic3_port: port@1c { reg = <0x1c>; xbar_dmic3_ep: endpoint { remote-endpoint = <&dmic3_cif_ep>; }; }; }; admaif@290f000 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; admaif0_port: port@0 { reg = <0x0>; admaif0_ep: endpoint { remote-endpoint = <&xbar_admaif0_ep>; }; }; admaif1_port: port@1 { reg = <0x1>; admaif1_ep: endpoint { remote-endpoint = <&xbar_admaif1_ep>; }; }; admaif2_port: port@2 { reg = <0x2>; admaif2_ep: endpoint { remote-endpoint = <&xbar_admaif2_ep>; }; }; admaif3_port: port@3 { reg = <0x3>; admaif3_ep: endpoint { remote-endpoint = <&xbar_admaif3_ep>; }; }; admaif4_port: port@4 { reg = <0x4>; admaif4_ep: endpoint { remote-endpoint = <&xbar_admaif4_ep>; }; }; admaif5_port: port@5 { reg = <0x5>; admaif5_ep: endpoint { remote-endpoint = <&xbar_admaif5_ep>; }; }; admaif6_port: port@6 { reg = <0x6>; admaif6_ep: endpoint { remote-endpoint = <&xbar_admaif6_ep>; }; }; admaif7_port: port@7 { reg = <0x7>; admaif7_ep: endpoint { remote-endpoint = <&xbar_admaif7_ep>; }; }; admaif8_port: port@8 { reg = <0x8>; admaif8_ep: endpoint { remote-endpoint = <&xbar_admaif8_ep>; }; }; admaif9_port: port@9 { reg = <0x9>; admaif9_ep: endpoint { remote-endpoint = <&xbar_admaif9_ep>; }; }; admaif10_port: port@a { reg = <0xa>; admaif10_ep: endpoint { remote-endpoint = <&xbar_admaif10_ep>; }; }; admaif11_port: port@b { reg = <0xb>; admaif11_ep: endpoint { remote-endpoint = <&xbar_admaif11_ep>; }; }; admaif12_port: port@c { reg = <0xc>; admaif12_ep: endpoint { remote-endpoint = <&xbar_admaif12_ep>; }; }; admaif13_port: port@d { reg = <0xd>; admaif13_ep: endpoint { remote-endpoint = <&xbar_admaif13_ep>; }; }; admaif14_port: port@e { reg = <0xe>; admaif14_ep: endpoint { remote-endpoint = <&xbar_admaif14_ep>; }; }; admaif15_port: port@f { reg = <0xf>; admaif15_ep: endpoint { remote-endpoint = <&xbar_admaif15_ep>; }; }; admaif16_port: port@10 { reg = <0x10>; admaif16_ep: endpoint { remote-endpoint = <&xbar_admaif16_ep>; }; }; admaif17_port: port@11 { reg = <0x11>; admaif17_ep: endpoint { remote-endpoint = <&xbar_admaif17_ep>; }; }; admaif18_port: port@12 { reg = <0x12>; admaif18_ep: endpoint { remote-endpoint = <&xbar_admaif18_ep>; }; }; admaif19_port: port@13 { reg = <0x13>; admaif19_ep: endpoint { remote-endpoint = <&xbar_admaif19_ep>; }; }; }; }; i2s@2901000 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; i2s1_cif_ep: endpoint { remote-endpoint = <&xbar_i2s1_ep>; }; }; i2s1_port: port@1 { reg = <1>; i2s1_dap_ep: endpoint { dai-format = "i2s"; remote-endpoint = <&rt5658_ep>; }; }; }; }; i2s@2901100 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; i2s2_cif_ep: endpoint { remote-endpoint = <&xbar_i2s2_ep>; }; }; i2s2_port: port@1 { reg = <1>; i2s2_dap_ep: endpoint { dai-format = "i2s"; /* Place holder for external Codec */ }; }; }; }; i2s@2901300 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; i2s4_cif_ep: endpoint { remote-endpoint = <&xbar_i2s4_ep>; }; }; i2s4_port: port@1 { reg = <1>; i2s4_dap_ep: endpoint { dai-format = "i2s"; /* Place holder for external Codec */ }; }; }; }; i2s@2901500 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; i2s6_cif_ep: endpoint { remote-endpoint = <&xbar_i2s6_ep>; }; }; i2s6_port: port@1 { reg = <1>; i2s6_dap_ep: endpoint@0 { dai-format = "i2s"; /* Place holder for external Codec */ }; }; }; }; dmic@2904200 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; dmic3_cif_ep: endpoint { remote-endpoint = <&xbar_dmic3_ep>; }; }; dmic3_port: port@1 { reg = <1>; dmic3_dap_ep: endpoint { /* Place holder for external Codec */ }; }; }; }; }; }; i2c@3160000 { eeprom@56 { compatible = "atmel,24c02"; reg = <0x56>; label = "system"; vcc-supply = <&vdd_1v8ls>; address-width = <8>; pagesize = <8>; size = <256>; read-only; }; }; ddc: i2c@31c0000 { status = "okay"; }; /* SDMMC1 (SD/MMC) */ mmc@3400000 { status = "okay"; }; hda@3510000 { nvidia,model = "jetson-xavier-hda"; status = "okay"; }; padctl@3520000 { status = "okay"; pads { usb2 { lanes { usb2-0 { status = "okay"; }; usb2-1 { status = "okay"; }; usb2-3 { status = "okay"; }; }; }; usb3 { lanes { usb3-0 { status = "okay"; }; usb3-2 { status = "okay"; }; usb3-3 { status = "okay"; }; }; }; }; ports { usb2-0 { mode = "host"; status = "okay"; }; usb2-1 { mode = "host"; status = "okay"; }; usb2-3 { mode = "host"; status = "okay"; }; usb3-0 { nvidia,usb2-companion = <1>; status = "okay"; }; usb3-2 { nvidia,usb2-companion = <0>; status = "okay"; }; usb3-3 { nvidia,usb2-companion = <3>; maximum-speed = "super-speed"; status = "okay"; }; }; }; usb@3610000 { status = "okay"; phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>, <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>, <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>, <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-3}>; phy-names = "usb2-0", "usb2-1", "usb2-3", "usb3-0", "usb3-2", "usb3-3"; }; i2c@c250000 { status = "okay"; rt5658: audio-codec@1a { status = "okay"; compatible = "realtek,rt5658"; reg = <0x1a>; interrupt-parent = <&gpio>; interrupts = ; clocks = <&bpmp TEGRA194_CLK_AUD_MCLK>; clock-names = "mclk"; realtek,jd-src = <2>; sound-name-prefix = "CVB-RT"; port { rt5658_ep: endpoint { remote-endpoint = <&i2s1_dap_ep>; mclk-fs = <256>; }; }; }; }; pwm@c340000 { status = "okay"; }; host1x@13e00000 { display-hub@15200000 { status = "okay"; }; dpaux@155c0000 { status = "okay"; }; dpaux@155d0000 { status = "okay"; }; dpaux@155e0000 { status = "okay"; }; /* DP0 */ sor@15b00000 { status = "okay"; avdd-io-hdmi-dp-supply = <&vdd_1v0>; vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>; nvidia,dpaux = <&dpaux0>; }; /* DP1 */ sor@15b40000 { status = "okay"; avdd-io-hdmi-dp-supply = <&vdd_1v0>; vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>; nvidia,dpaux = <&dpaux1>; }; /* HDMI */ sor@15b80000 { status = "okay"; avdd-io-hdmi-dp-supply = <&vdd_1v0>; vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>; hdmi-supply = <&vdd_hdmi>; nvidia,ddc-i2c-bus = <&ddc>; nvidia,hpd-gpio = <&gpio TEGRA194_MAIN_GPIO(M, 2) GPIO_ACTIVE_LOW>; }; }; }; pcie@14100000 { status = "okay"; vddio-pex-ctl-supply = <&vdd_1v8ao>; phys = <&p2u_hsio_0>; phy-names = "p2u-0"; }; pcie@14140000 { status = "okay"; vddio-pex-ctl-supply = <&vdd_1v8ao>; phys = <&p2u_hsio_7>; phy-names = "p2u-0"; }; pcie@14180000 { status = "okay"; vddio-pex-ctl-supply = <&vdd_1v8ao>; phys = <&p2u_hsio_2>, <&p2u_hsio_3>, <&p2u_hsio_4>, <&p2u_hsio_5>; phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3"; }; pcie@141a0000 { status = "okay"; vddio-pex-ctl-supply = <&vdd_1v8ao>; vpcie3v3-supply = <&vdd_3v3_pcie>; vpcie12v-supply = <&vdd_12v_pcie>; phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>, <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>, <&p2u_nvhs_6>, <&p2u_nvhs_7>; phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4", "p2u-5", "p2u-6", "p2u-7"; }; pcie_ep@141a0000 { status = "disabled"; vddio-pex-ctl-supply = <&vdd_1v8ao>; reset-gpios = <&gpio TEGRA194_MAIN_GPIO(GG, 1) GPIO_ACTIVE_LOW>; nvidia,refclk-select-gpios = <&gpio_aon TEGRA194_AON_GPIO(AA, 5) GPIO_ACTIVE_HIGH>; phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>, <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>, <&p2u_nvhs_6>, <&p2u_nvhs_7>; phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4", "p2u-5", "p2u-6", "p2u-7"; }; fan: fan { compatible = "pwm-fan"; pwms = <&pwm4 0 45334>; cooling-levels = <0 64 128 255>; #cooling-cells = <2>; }; gpio-keys { compatible = "gpio-keys"; force-recovery { label = "Force Recovery"; gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>; linux,input-type = ; linux,code = ; debounce-interval = <10>; }; power { label = "Power"; gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>; linux,input-type = ; linux,code = ; debounce-interval = <10>; wakeup-event-action = ; wakeup-source; }; }; sound { compatible = "nvidia,tegra186-audio-graph-card"; status = "okay"; dais = /* ADMAIF (FE) Ports */ <&admaif0_port>, <&admaif1_port>, <&admaif2_port>, <&admaif3_port>, <&admaif4_port>, <&admaif5_port>, <&admaif6_port>, <&admaif7_port>, <&admaif8_port>, <&admaif9_port>, <&admaif10_port>, <&admaif11_port>, <&admaif12_port>, <&admaif13_port>, <&admaif14_port>, <&admaif15_port>, <&admaif16_port>, <&admaif17_port>, <&admaif18_port>, <&admaif19_port>, /* XBAR Ports */ <&xbar_i2s1_port>, <&xbar_i2s2_port>, <&xbar_i2s4_port>, <&xbar_i2s6_port>, <&xbar_dmic3_port>, /* BE I/O Ports */ <&i2s1_port>, <&i2s2_port>, <&i2s4_port>, <&i2s6_port>, <&dmic3_port>; label = "jetson-xavier-ape"; widgets = "Microphone", "CVB-RT MIC Jack", "Microphone", "CVB-RT MIC", "Headphone", "CVB-RT HP Jack", "Speaker", "CVB-RT SPK"; routing = /* I2S1 <-> RT5658 */ "CVB-RT AIF1 Playback", "I2S1 DAP-Playback", "I2S1 DAP-Capture", "CVB-RT AIF1 Capture", /* RT5658 Codec controls */ "CVB-RT HP Jack", "CVB-RT HPO L Playback", "CVB-RT HP Jack", "CVB-RT HPO R Playback", "CVB-RT IN1P", "CVB-RT MIC Jack", "CVB-RT IN2P", "CVB-RT MIC Jack", "CVB-RT SPK", "CVB-RT SPO Playback", "CVB-RT DMIC L1", "CVB-RT MIC", "CVB-RT DMIC L2", "CVB-RT MIC", "CVB-RT DMIC R1", "CVB-RT MIC", "CVB-RT DMIC R2", "CVB-RT MIC"; }; thermal-zones { cpu { polling-delay = <0>; polling-delay-passive = <500>; status = "okay"; trips { cpu_trip_critical: critical { temperature = <96500>; hysteresis = <0>; type = "critical"; }; cpu_trip_hot: hot { temperature = <70000>; hysteresis = <2000>; type = "hot"; }; cpu_trip_active: active { temperature = <50000>; hysteresis = <2000>; type = "active"; }; cpu_trip_passive: passive { temperature = <30000>; hysteresis = <2000>; type = "passive"; }; }; cooling-maps { cpu-critical { cooling-device = <&fan 3 3>; trip = <&cpu_trip_critical>; }; cpu-hot { cooling-device = <&fan 2 2>; trip = <&cpu_trip_hot>; }; cpu-active { cooling-device = <&fan 1 1>; trip = <&cpu_trip_active>; }; cpu-passive { cooling-device = <&fan 0 0>; trip = <&cpu_trip_passive>; }; }; }; gpu { polling-delay = <0>; polling-delay-passive = <500>; status = "okay"; trips { gpu_alert0: critical { temperature = <99000>; hysteresis = <0>; type = "critical"; }; }; }; aux { polling-delay = <0>; polling-delay-passive = <500>; status = "okay"; trips { aux_alert0: critical { temperature = <90000>; hysteresis = <0>; type = "critical"; }; }; }; }; };