// SPDX-License-Identifier: GPL-2.0 #include #include / { 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_i2s3_port: port@16 { reg = <0x16>; xbar_i2s3_ep: endpoint { remote-endpoint = <&i2s3_cif_ep>; }; }; xbar_i2s5_port: port@18 { reg = <0x18>; xbar_i2s5_ep: endpoint { remote-endpoint = <&i2s5_cif_ep>; }; }; xbar_dmic1_port: port@1a { reg = <0x1a>; xbar_dmic1_ep: endpoint { remote-endpoint = <&dmic1_cif_ep>; }; }; xbar_dmic2_port: port@1b { reg = <0x1b>; xbar_dmic2_ep: endpoint { remote-endpoint = <&dmic2_cif_ep>; }; }; xbar_dmic4_port: port@1d { reg = <0x1d>; xbar_dmic4_ep: endpoint { remote-endpoint = <&dmic4_cif_ep>; }; }; xbar_dspk1_port: port@1e { reg = <0x1e>; xbar_dspk1_ep: endpoint { remote-endpoint = <&dspk1_cif_ep>; }; }; xbar_dspk2_port: port@1f { reg = <0x1f>; xbar_dspk2_ep: endpoint { remote-endpoint = <&dspk2_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@2901200 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; i2s3_cif_ep: endpoint { remote-endpoint = <&xbar_i2s3_ep>; }; }; i2s3_port: port@1 { reg = <1>; i2s3_dap_ep: endpoint { dai-format = "i2s"; /* Place holder for external Codec */ }; }; }; }; i2s@2901400 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; i2s5_cif_ep: endpoint { remote-endpoint = <&xbar_i2s5_ep>; }; }; i2s5_port: port@1 { reg = <1>; i2s5_dap_ep: endpoint@0 { dai-format = "i2s"; /* Place holder for external Codec */ }; }; }; }; dmic@2904000 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; dmic1_cif_ep: endpoint { remote-endpoint = <&xbar_dmic1_ep>; }; }; dmic1_port: port@1 { reg = <1>; dmic1_dap_ep: endpoint { /* Place holder for external Codec */ }; }; }; }; dmic@2904100 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; dmic2_cif_ep: endpoint { remote-endpoint = <&xbar_dmic2_ep>; }; }; dmic2_port: port@1 { reg = <1>; dmic2_dap_ep: endpoint { /* Place holder for external Codec */ }; }; }; }; dmic@2904300 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; dmic4_cif_ep: endpoint { remote-endpoint = <&xbar_dmic4_ep>; }; }; dmic4_port: port@1 { reg = <1>; dmic4_dap_ep: endpoint { /* Place holder for external Codec */ }; }; }; }; dspk@2905000 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; dspk1_cif_ep: endpoint { remote-endpoint = <&xbar_dspk1_ep>; }; }; dspk1_port: port@1 { reg = <1>; dspk1_dap_ep: endpoint { /* Place holder for external Codec */ }; }; }; }; dspk@2905100 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; dspk2_cif_ep: endpoint { remote-endpoint = <&xbar_dspk2_ep>; }; }; dspk2_port: port@1 { reg = <1>; dspk2_dap_ep: endpoint { /* Place holder for external Codec */ }; }; }; }; }; }; ddc: i2c@3190000 { status = "okay"; }; i2c@3160000 { eeprom@57 { compatible = "atmel,24c02"; reg = <0x57>; label = "system"; vcc-supply = <&vdd_1v8>; address-width = <8>; pagesize = <8>; size = <256>; read-only; }; }; hda@3510000 { nvidia,model = "NVIDIA Jetson Xavier NX HDA"; status = "okay"; }; padctl@3520000 { status = "okay"; pads { usb2 { lanes { usb2-1 { status = "okay"; }; usb2-2 { status = "okay"; }; }; }; usb3 { lanes { usb3-2 { status = "okay"; }; }; }; }; ports { usb2-1 { mode = "host"; status = "okay"; }; usb2-2 { mode = "host"; vbus-supply = <&vdd_5v0_sys>; status = "okay"; }; usb3-2 { nvidia,usb2-companion = <1>; vbus-supply = <&vdd_5v0_sys>; status = "okay"; }; }; }; usb@3610000 { status = "okay"; phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>, <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>; phy-names = "usb2-1", "usb2-2", "usb3-2"; }; spi@3270000 { status = "okay"; flash@0 { compatible = "spi-nor"; reg = <0>; spi-max-frequency = <102000000>; spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; }; }; pwm@32d0000 { status = "okay"; }; host1x@13e00000 { display-hub@15200000 { status = "okay"; }; dpaux@155c0000 { status = "okay"; }; dpaux@155d0000 { status = "okay"; }; /* DP0 */ sor@15b00000 { status = "okay"; avdd-io-hdmi-dp-supply = <&vdd_1v0>; vdd-hdmi-dp-pll-supply = <&vdd_1v8hs>; nvidia,dpaux = <&dpaux0>; }; /* HDMI */ sor@15b40000 { 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, 1) GPIO_ACTIVE_LOW>; }; }; }; pcie@14160000 { status = "okay"; vddio-pex-ctl-supply = <&vdd_1v8ao>; phys = <&p2u_hsio_11>; phy-names = "p2u-0"; }; pcie@141a0000 { status = "okay"; vddio-pex-ctl-supply = <&vdd_1v8ao>; phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>, <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>, <&p2u_nvhs_6>, <&p2u_nvhs_7>; phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4", "p2u-5", "p2u-6", "p2u-7"; }; 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 = <&pwm6 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; }; }; vdd_5v0_sys: regulator@100 { compatible = "regulator-fixed"; regulator-name = "VDD_5V_SYS"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; regulator-boot-on; }; vdd_3v3_sys: regulator@101 { compatible = "regulator-fixed"; regulator-name = "VDD_3V3_SYS"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; vdd_3v3_ao: regulator@102 { compatible = "regulator-fixed"; regulator-name = "VDD_3V3_AO"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; regulator-boot-on; }; vdd_1v8: regulator@103 { compatible = "regulator-fixed"; regulator-name = "VDD_1V8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; regulator-boot-on; }; vdd_hdmi: regulator@104 { compatible = "regulator-fixed"; regulator-name = "VDD_5V0_HDMI_CON"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; regulator-boot-on; }; 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_i2s3_port>, <&xbar_i2s5_port>, <&xbar_dmic1_port>, <&xbar_dmic2_port>, <&xbar_dmic4_port>, <&xbar_dspk1_port>, <&xbar_dspk2_port>, /* BE I/O Ports */ <&i2s3_port>, <&i2s5_port>, <&dmic1_port>, <&dmic2_port>, <&dmic4_port>, <&dspk1_port>, <&dspk2_port>; label = "NVIDIA Jetson Xavier NX APE"; }; 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"; }; }; }; }; };