// SPDX-License-Identifier: GPL-2.0

#include <dt-bindings/gpio/tegra194-gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/input/gpio-keys.h>

/ {
	bus@0 {
		aconnect@2900000 {
			status = "okay";

			ahub@2900800 {
				status = "okay";

				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 {
								dai-format = "i2s";
								/* Place holder for external Codec */
							};
						};
					};
				};

				sfc@2902000 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							sfc1_cif_in_ep: endpoint {
								remote-endpoint = <&xbar_sfc1_in_ep>;
								convert-rate = <44100>;
							};
						};

						sfc1_out_port: port@1 {
							reg = <1>;

							sfc1_cif_out_ep: endpoint {
								remote-endpoint = <&xbar_sfc1_out_ep>;
								convert-rate = <48000>;
							};
						};
					};
				};

				sfc@2902200 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							sfc2_cif_in_ep: endpoint {
								remote-endpoint = <&xbar_sfc2_in_ep>;
							};
						};

						sfc2_out_port: port@1 {
							reg = <1>;

							sfc2_cif_out_ep: endpoint {
								remote-endpoint = <&xbar_sfc2_out_ep>;
							};
						};
					};
				};

				sfc@2902400 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							sfc3_cif_in_ep: endpoint {
								remote-endpoint = <&xbar_sfc3_in_ep>;
							};
						};

						sfc3_out_port: port@1 {
							reg = <1>;

							sfc3_cif_out_ep: endpoint {
								remote-endpoint = <&xbar_sfc3_out_ep>;
							};
						};
					};
				};

				sfc@2902600 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							sfc4_cif_in_ep: endpoint {
								remote-endpoint = <&xbar_sfc4_in_ep>;
							};
						};

						sfc4_out_port: port@1 {
							reg = <1>;

							sfc4_cif_out_ep: endpoint {
								remote-endpoint = <&xbar_sfc4_out_ep>;
							};
						};
					};
				};

				amx@2903000 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							amx1_in1_ep: endpoint {
								remote-endpoint = <&xbar_amx1_in1_ep>;
							};
						};

						port@1 {
							reg = <1>;

							amx1_in2_ep: endpoint {
								remote-endpoint = <&xbar_amx1_in2_ep>;
							};
						};

						port@2 {
							reg = <2>;

							amx1_in3_ep: endpoint {
								remote-endpoint = <&xbar_amx1_in3_ep>;
							};
						};

						port@3 {
							reg = <3>;

							amx1_in4_ep: endpoint {
								remote-endpoint = <&xbar_amx1_in4_ep>;
							};
						};

						amx1_out_port: port@4 {
							reg = <4>;

							amx1_out_ep: endpoint {
								remote-endpoint = <&xbar_amx1_out_ep>;
							};
						};
					};
				};

				amx@2903100 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							amx2_in1_ep: endpoint {
								remote-endpoint = <&xbar_amx2_in1_ep>;
							};
						};

						port@1 {
							reg = <1>;

							amx2_in2_ep: endpoint {
								remote-endpoint = <&xbar_amx2_in2_ep>;
							};
						};

						amx2_in3_port: port@2 {
							reg = <2>;

							amx2_in3_ep: endpoint {
								remote-endpoint = <&xbar_amx2_in3_ep>;
							};
						};

						amx2_in4_port: port@3 {
							reg = <3>;

							amx2_in4_ep: endpoint {
								remote-endpoint = <&xbar_amx2_in4_ep>;
							};
						};

						amx2_out_port: port@4 {
							reg = <4>;

							amx2_out_ep: endpoint {
								remote-endpoint = <&xbar_amx2_out_ep>;
							};
						};
					};
				};

				amx@2903200 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							amx3_in1_ep: endpoint {
								remote-endpoint = <&xbar_amx3_in1_ep>;
							};
						};

						port@1 {
							reg = <1>;

							amx3_in2_ep: endpoint {
								remote-endpoint = <&xbar_amx3_in2_ep>;
							};
						};

						port@2 {
							reg = <2>;

							amx3_in3_ep: endpoint {
								remote-endpoint = <&xbar_amx3_in3_ep>;
							};
						};

						port@3 {
							reg = <3>;

							amx3_in4_ep: endpoint {
								remote-endpoint = <&xbar_amx3_in4_ep>;
							};
						};

						amx3_out_port: port@4 {
							reg = <4>;

							amx3_out_ep: endpoint {
								remote-endpoint = <&xbar_amx3_out_ep>;
							};
						};
					};
				};

				amx@2903300 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							amx4_in1_ep: endpoint {
								remote-endpoint = <&xbar_amx4_in1_ep>;
							};
						};

						port@1 {
							reg = <1>;

							amx4_in2_ep: endpoint {
								remote-endpoint = <&xbar_amx4_in2_ep>;
							};
						};

						port@2 {
							reg = <2>;

							amx4_in3_ep: endpoint {
								remote-endpoint = <&xbar_amx4_in3_ep>;
							};
						};

						port@3 {
							reg = <3>;

							amx4_in4_ep: endpoint {
								remote-endpoint = <&xbar_amx4_in4_ep>;
							};
						};

						amx4_out_port: port@4 {
							reg = <4>;

							amx4_out_ep: endpoint {
								remote-endpoint = <&xbar_amx4_out_ep>;
							};
						};
					};
				};

				adx@2903800 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							adx1_in_ep: endpoint {
								remote-endpoint = <&xbar_adx1_in_ep>;
							};
						};

						adx1_out1_port: port@1 {
							reg = <1>;

							adx1_out1_ep: endpoint {
								remote-endpoint = <&xbar_adx1_out1_ep>;
							};
						};

						adx1_out2_port: port@2 {
							reg = <2>;

							adx1_out2_ep: endpoint {
								remote-endpoint = <&xbar_adx1_out2_ep>;
							};
						};

						adx1_out3_port: port@3 {
							reg = <3>;

							adx1_out3_ep: endpoint {
								remote-endpoint = <&xbar_adx1_out3_ep>;
							};
						};

						adx1_out4_port: port@4 {
							reg = <4>;

							adx1_out4_ep: endpoint {
								remote-endpoint = <&xbar_adx1_out4_ep>;
							};
						};
					};
				};

				adx@2903900 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							adx2_in_ep: endpoint {
								remote-endpoint = <&xbar_adx2_in_ep>;
							};
						};

						adx2_out1_port: port@1 {
							reg = <1>;

							adx2_out1_ep: endpoint {
								remote-endpoint = <&xbar_adx2_out1_ep>;
							};
						};

						adx2_out2_port: port@2 {
							reg = <2>;

							adx2_out2_ep: endpoint {
								remote-endpoint = <&xbar_adx2_out2_ep>;
							};
						};

						adx2_out3_port: port@3 {
							reg = <3>;

							adx2_out3_ep: endpoint {
								remote-endpoint = <&xbar_adx2_out3_ep>;
							};
						};

						adx2_out4_port: port@4 {
							reg = <4>;

							adx2_out4_ep: endpoint {
								remote-endpoint = <&xbar_adx2_out4_ep>;
							};
						};
					};
				};

				adx@2903a00 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							adx3_in_ep: endpoint {
								remote-endpoint = <&xbar_adx3_in_ep>;
							};
						};

						adx3_out1_port: port@1 {
							reg = <1>;

							adx3_out1_ep: endpoint {
								remote-endpoint = <&xbar_adx3_out1_ep>;
							};
						};

						adx3_out2_port: port@2 {
							reg = <2>;

							adx3_out2_ep: endpoint {
								remote-endpoint = <&xbar_adx3_out2_ep>;
							};
						};

						adx3_out3_port: port@3 {
							reg = <3>;

							adx3_out3_ep: endpoint {
								remote-endpoint = <&xbar_adx3_out3_ep>;
							};
						};

						adx3_out4_port: port@4 {
							reg = <4>;

							adx3_out4_ep: endpoint {
								remote-endpoint = <&xbar_adx3_out4_ep>;
							};
						};
					};
				};

				adx@2903b00 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							adx4_in_ep: endpoint {
								remote-endpoint = <&xbar_adx4_in_ep>;
							};
						};

						adx4_out1_port: port@1 {
							reg = <1>;

							adx4_out1_ep: endpoint {
								remote-endpoint = <&xbar_adx4_out1_ep>;
							};
						};

						adx4_out2_port: port@2 {
							reg = <2>;

							adx4_out2_ep: endpoint {
								remote-endpoint = <&xbar_adx4_out2_ep>;
							};
						};

						adx4_out3_port: port@3 {
							reg = <3>;

							adx4_out3_ep: endpoint {
								remote-endpoint = <&xbar_adx4_out3_ep>;
							};
						};

						adx4_out4_port: port@4 {
							reg = <4>;

							adx4_out4_ep: endpoint {
								remote-endpoint = <&xbar_adx4_out4_ep>;
							};
						};
					};
				};

				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 */
							};
						};
					};
				};

				processing-engine@2908000 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0x0>;

							ope1_cif_in_ep: endpoint {
								remote-endpoint = <&xbar_ope1_in_ep>;
							};
						};

						ope1_out_port: port@1 {
							reg = <0x1>;

							ope1_cif_out_ep: endpoint {
								remote-endpoint = <&xbar_ope1_out_ep>;
							};
						};
					};
				};

				mvc@290a000 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							mvc1_cif_in_ep: endpoint {
								remote-endpoint = <&xbar_mvc1_in_ep>;
							};
						};

						mvc1_out_port: port@1 {
							reg = <1>;

							mvc1_cif_out_ep: endpoint {
								remote-endpoint = <&xbar_mvc1_out_ep>;
							};
						};
					};
				};

				mvc@290a200 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0>;

							mvc2_cif_in_ep: endpoint {
								remote-endpoint = <&xbar_mvc2_in_ep>;
							};
						};

						mvc2_out_port: port@1 {
							reg = <1>;

							mvc2_cif_out_ep: endpoint {
								remote-endpoint = <&xbar_mvc2_out_ep>;
							};
						};
					};
				};

				amixer@290bb00 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0x0>;

							mixer_in1_ep: endpoint {
								remote-endpoint = <&xbar_mixer_in1_ep>;
							};
						};

						port@1 {
							reg = <0x1>;

							mixer_in2_ep: endpoint {
								remote-endpoint = <&xbar_mixer_in2_ep>;
							};
						};

						port@2 {
							reg = <0x2>;

							mixer_in3_ep: endpoint {
								remote-endpoint = <&xbar_mixer_in3_ep>;
							};
						};

						port@3 {
							reg = <0x3>;

							mixer_in4_ep: endpoint {
								remote-endpoint = <&xbar_mixer_in4_ep>;
							};
						};

						port@4 {
							reg = <0x4>;

							mixer_in5_ep: endpoint {
								remote-endpoint = <&xbar_mixer_in5_ep>;
							};
						};

						port@5 {
							reg = <0x5>;

							mixer_in6_ep: endpoint {
								remote-endpoint = <&xbar_mixer_in6_ep>;
							};
						};

						port@6 {
							reg = <0x6>;

							mixer_in7_ep: endpoint {
								remote-endpoint = <&xbar_mixer_in7_ep>;
							};
						};

						port@7 {
							reg = <0x7>;

							mixer_in8_ep: endpoint {
								remote-endpoint = <&xbar_mixer_in8_ep>;
							};
						};

						port@8 {
							reg = <0x8>;

							mixer_in9_ep: endpoint {
								remote-endpoint = <&xbar_mixer_in9_ep>;
							};
						};

						port@9 {
							reg = <0x9>;

							mixer_in10_ep: endpoint {
								remote-endpoint = <&xbar_mixer_in10_ep>;
							};
						};

						mixer_out1_port: port@a {
							reg = <0xa>;

							mixer_out1_ep: endpoint {
								remote-endpoint = <&xbar_mixer_out1_ep>;
							};
						};

						mixer_out2_port: port@b {
							reg = <0xb>;

							mixer_out2_ep: endpoint {
								remote-endpoint = <&xbar_mixer_out2_ep>;
							};
						};

						mixer_out3_port: port@c {
							reg = <0xc>;

							mixer_out3_ep: endpoint {
								remote-endpoint = <&xbar_mixer_out3_ep>;
							};
						};

						mixer_out4_port: port@d {
							reg = <0xd>;

							mixer_out4_ep: endpoint {
								remote-endpoint = <&xbar_mixer_out4_ep>;
							};
						};

						mixer_out5_port: port@e {
							reg = <0xe>;

							mixer_out5_ep: endpoint {
								remote-endpoint = <&xbar_mixer_out5_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>;
							};
						};
					};
				};

				asrc@2910000 {
					status = "okay";

					ports {
						#address-cells = <1>;
						#size-cells = <0>;

						port@0 {
							reg = <0x0>;

							asrc_in1_ep: endpoint {
								remote-endpoint = <&xbar_asrc_in1_ep>;
							};
						};

						port@1 {
							reg = <0x1>;

							asrc_in2_ep: endpoint {
								remote-endpoint = <&xbar_asrc_in2_ep>;
							};
						};

						port@2 {
							reg = <0x2>;

							asrc_in3_ep: endpoint {
								remote-endpoint = <&xbar_asrc_in3_ep>;
							};
						};

						port@3 {
							reg = <0x3>;

							asrc_in4_ep: endpoint {
								remote-endpoint = <&xbar_asrc_in4_ep>;
							};
						};

						port@4 {
							reg = <0x4>;

							asrc_in5_ep: endpoint {
								remote-endpoint = <&xbar_asrc_in5_ep>;
							};
						};

						port@5 {
							reg = <0x5>;

							asrc_in6_ep: endpoint {
								remote-endpoint = <&xbar_asrc_in6_ep>;
							};
						};

						port@6 {
							reg = <0x6>;

							asrc_in7_ep: endpoint {
								remote-endpoint = <&xbar_asrc_in7_ep>;
							};
						};

						asrc_out1_port: port@7 {
							reg = <0x7>;

							asrc_out1_ep: endpoint {
								remote-endpoint = <&xbar_asrc_out1_ep>;
							};
						};

						asrc_out2_port: port@8 {
							reg = <0x8>;

							asrc_out2_ep: endpoint {
								remote-endpoint = <&xbar_asrc_out2_ep>;
							};
						};

						asrc_out3_port: port@9 {
							reg = <0x9>;

							asrc_out3_ep: endpoint {
								remote-endpoint = <&xbar_asrc_out3_ep>;
							};
						};

						asrc_out4_port: port@a {
							reg = <0xa>;

							asrc_out4_ep: endpoint {
								remote-endpoint = <&xbar_asrc_out4_ep>;
							};
						};

						asrc_out5_port: port@b {
							reg = <0xb>;

							asrc_out5_ep: endpoint {
								remote-endpoint = <&xbar_asrc_out5_ep>;
							};
						};

						asrc_out6_port:	port@c {
							reg = <0xc>;

							asrc_out6_ep: endpoint {
								remote-endpoint = <&xbar_asrc_out6_ep>;
							};
						};
					};
				};

				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>;
						};
					};

					xbar_sfc1_in_port: port@20 {
						reg = <0x20>;

						xbar_sfc1_in_ep: endpoint {
							remote-endpoint = <&sfc1_cif_in_ep>;
						};
					};

					port@21 {
						reg = <0x21>;

						xbar_sfc1_out_ep: endpoint {
							remote-endpoint = <&sfc1_cif_out_ep>;
						};
					};

					xbar_sfc2_in_port: port@22 {
						reg = <0x22>;

						xbar_sfc2_in_ep: endpoint {
							remote-endpoint = <&sfc2_cif_in_ep>;
						};
					};

					port@23 {
						reg = <0x23>;

						xbar_sfc2_out_ep: endpoint {
							remote-endpoint = <&sfc2_cif_out_ep>;
						};
					};

					xbar_sfc3_in_port: port@24 {
						reg = <0x24>;

						xbar_sfc3_in_ep: endpoint {
							remote-endpoint = <&sfc3_cif_in_ep>;
						};
					};

					port@25 {
						reg = <0x25>;

						xbar_sfc3_out_ep: endpoint {
							remote-endpoint = <&sfc3_cif_out_ep>;
						};
					};

					xbar_sfc4_in_port: port@26 {
						reg = <0x26>;

						xbar_sfc4_in_ep: endpoint {
							remote-endpoint = <&sfc4_cif_in_ep>;
						};
					};

					port@27 {
						reg = <0x27>;

						xbar_sfc4_out_ep: endpoint {
							remote-endpoint = <&sfc4_cif_out_ep>;
						};
					};

					xbar_mvc1_in_port: port@28 {
						reg = <0x28>;

						xbar_mvc1_in_ep: endpoint {
							remote-endpoint = <&mvc1_cif_in_ep>;
						};
					};

					port@29 {
						reg = <0x29>;

						xbar_mvc1_out_ep: endpoint {
							remote-endpoint = <&mvc1_cif_out_ep>;
						};
					};

					xbar_mvc2_in_port: port@2a {
						reg = <0x2a>;

						xbar_mvc2_in_ep: endpoint {
							remote-endpoint = <&mvc2_cif_in_ep>;
						};
					};

					port@2b {
						reg = <0x2b>;

						xbar_mvc2_out_ep: endpoint {
							remote-endpoint = <&mvc2_cif_out_ep>;
						};
					};

					xbar_amx1_in1_port: port@2c {
						reg = <0x2c>;

						xbar_amx1_in1_ep: endpoint {
							remote-endpoint = <&amx1_in1_ep>;
						};
					};

					xbar_amx1_in2_port: port@2d {
						reg = <0x2d>;

						xbar_amx1_in2_ep: endpoint {
							remote-endpoint = <&amx1_in2_ep>;
						};
					};

					xbar_amx1_in3_port: port@2e {
						reg = <0x2e>;

						xbar_amx1_in3_ep: endpoint {
							remote-endpoint = <&amx1_in3_ep>;
						};
					};

					xbar_amx1_in4_port: port@2f {
						reg = <0x2f>;

						xbar_amx1_in4_ep: endpoint {
							remote-endpoint = <&amx1_in4_ep>;
						};
					};

					port@30 {
						reg = <0x30>;

						xbar_amx1_out_ep: endpoint {
							remote-endpoint = <&amx1_out_ep>;
						};
					};

					xbar_amx2_in1_port: port@31 {
						reg = <0x31>;

						xbar_amx2_in1_ep: endpoint {
							remote-endpoint = <&amx2_in1_ep>;
						};
					};

					xbar_amx2_in2_port: port@32 {
						reg = <0x32>;

						xbar_amx2_in2_ep: endpoint {
							remote-endpoint = <&amx2_in2_ep>;
						};
					};

					xbar_amx2_in3_port: port@33 {
						reg = <0x33>;

						xbar_amx2_in3_ep: endpoint {
							remote-endpoint = <&amx2_in3_ep>;
						};
					};

					xbar_amx2_in4_port: port@34 {
						reg = <0x34>;

						xbar_amx2_in4_ep: endpoint {
							remote-endpoint = <&amx2_in4_ep>;
						};
					};

					port@35 {
						reg = <0x35>;

						xbar_amx2_out_ep: endpoint {
							remote-endpoint = <&amx2_out_ep>;
						};
					};

					xbar_amx3_in1_port: port@36 {
						reg = <0x36>;

						xbar_amx3_in1_ep: endpoint {
							remote-endpoint = <&amx3_in1_ep>;
						};
					};

					xbar_amx3_in2_port: port@37 {
						reg = <0x37>;

						xbar_amx3_in2_ep: endpoint {
							remote-endpoint = <&amx3_in2_ep>;
						};
					};

					xbar_amx3_in3_port: port@38 {
						reg = <0x38>;

						xbar_amx3_in3_ep: endpoint {
							remote-endpoint = <&amx3_in3_ep>;
						};
					};

					xbar_amx3_in4_port: port@39 {
						reg = <0x39>;

						xbar_amx3_in4_ep: endpoint {
							remote-endpoint = <&amx3_in4_ep>;
						};
					};

					port@3a {
						reg = <0x3a>;

						xbar_amx3_out_ep: endpoint {
							remote-endpoint = <&amx3_out_ep>;
						};
					};

					xbar_amx4_in1_port: port@3b {
						reg = <0x3b>;

						xbar_amx4_in1_ep: endpoint {
							remote-endpoint = <&amx4_in1_ep>;
						};
					};

					xbar_amx4_in2_port: port@3c {
						reg = <0x3c>;

						xbar_amx4_in2_ep: endpoint {
							remote-endpoint = <&amx4_in2_ep>;
						};
					};

					xbar_amx4_in3_port: port@3d {
						reg = <0x3d>;

						xbar_amx4_in3_ep: endpoint {
							remote-endpoint = <&amx4_in3_ep>;
						};
					};

					xbar_amx4_in4_port: port@3e {
						reg = <0x3e>;

						xbar_amx4_in4_ep: endpoint {
							remote-endpoint = <&amx4_in4_ep>;
						};
					};

					port@3f {
						reg = <0x3f>;

						xbar_amx4_out_ep: endpoint {
							remote-endpoint = <&amx4_out_ep>;
						};
					};

					xbar_adx1_in_port: port@40 {
						reg = <0x40>;

						xbar_adx1_in_ep: endpoint {
							remote-endpoint = <&adx1_in_ep>;
						};
					};

					port@41 {
						reg = <0x41>;

						xbar_adx1_out1_ep: endpoint {
							remote-endpoint = <&adx1_out1_ep>;
						};
					};

					port@42 {
						reg = <0x42>;

						xbar_adx1_out2_ep: endpoint {
							remote-endpoint = <&adx1_out2_ep>;
						};
					};

					port@43 {
						reg = <0x43>;

						xbar_adx1_out3_ep: endpoint {
							remote-endpoint = <&adx1_out3_ep>;
						};
					};

					port@44 {
						reg = <0x44>;

						xbar_adx1_out4_ep: endpoint {
							remote-endpoint = <&adx1_out4_ep>;
						};
					};

					xbar_adx2_in_port: port@45 {
						reg = <0x45>;

						xbar_adx2_in_ep: endpoint {
							remote-endpoint = <&adx2_in_ep>;
						};
					};

					port@46 {
						reg = <0x46>;

						xbar_adx2_out1_ep: endpoint {
							remote-endpoint = <&adx2_out1_ep>;
						};
					};

					port@47 {
						reg = <0x47>;

						xbar_adx2_out2_ep: endpoint {
							remote-endpoint = <&adx2_out2_ep>;
						};
					};

					port@48 {
						reg = <0x48>;

						xbar_adx2_out3_ep: endpoint {
							remote-endpoint = <&adx2_out3_ep>;
						};
					};

					port@49 {
						reg = <0x49>;

						xbar_adx2_out4_ep: endpoint {
							remote-endpoint = <&adx2_out4_ep>;
						};
					};

					xbar_adx3_in_port: port@4a {
						reg = <0x4a>;

						xbar_adx3_in_ep: endpoint {
							remote-endpoint = <&adx3_in_ep>;
						};
					};

					port@4b {
						reg = <0x4b>;

						xbar_adx3_out1_ep: endpoint {
							remote-endpoint = <&adx3_out1_ep>;
						};
					};

					port@4c {
						reg = <0x4c>;

						xbar_adx3_out2_ep: endpoint {
							remote-endpoint = <&adx3_out2_ep>;
						};
					};

					port@4d {
						reg = <0x4d>;

						xbar_adx3_out3_ep: endpoint {
							remote-endpoint = <&adx3_out3_ep>;
						};
					};

					port@4e {
						reg = <0x4e>;

						xbar_adx3_out4_ep: endpoint {
							remote-endpoint = <&adx3_out4_ep>;
						};
					};

					xbar_adx4_in_port: port@4f {
						reg = <0x4f>;

						xbar_adx4_in_ep: endpoint {
							remote-endpoint = <&adx4_in_ep>;
						};
					};

					port@50 {
						reg = <0x50>;

						xbar_adx4_out1_ep: endpoint {
							remote-endpoint = <&adx4_out1_ep>;
						};
					};

					port@51 {
						reg = <0x51>;

						xbar_adx4_out2_ep: endpoint {
							remote-endpoint = <&adx4_out2_ep>;
						};
					};

					port@52 {
						reg = <0x52>;

						xbar_adx4_out3_ep: endpoint {
							remote-endpoint = <&adx4_out3_ep>;
						};
					};

					port@53 {
						reg = <0x53>;

						xbar_adx4_out4_ep: endpoint {
							remote-endpoint = <&adx4_out4_ep>;
						};
					};

					xbar_mixer_in1_port: port@54 {
						reg = <0x54>;

						xbar_mixer_in1_ep: endpoint {
							remote-endpoint = <&mixer_in1_ep>;
						};
					};

					xbar_mixer_in2_port: port@55 {
						reg = <0x55>;

						xbar_mixer_in2_ep: endpoint {
							remote-endpoint = <&mixer_in2_ep>;
						};
					};

					xbar_mixer_in3_port: port@56 {
						reg = <0x56>;

						xbar_mixer_in3_ep: endpoint {
							remote-endpoint = <&mixer_in3_ep>;
						};
					};

					xbar_mixer_in4_port: port@57 {
						reg = <0x57>;

						xbar_mixer_in4_ep: endpoint {
							remote-endpoint = <&mixer_in4_ep>;
						};
					};

					xbar_mixer_in5_port: port@58 {
						reg = <0x58>;

						xbar_mixer_in5_ep: endpoint {
							remote-endpoint = <&mixer_in5_ep>;
						};
					};

					xbar_mixer_in6_port: port@59 {
						reg = <0x59>;

						xbar_mixer_in6_ep: endpoint {
							remote-endpoint = <&mixer_in6_ep>;
						};
					};

					xbar_mixer_in7_port: port@5a {
						reg = <0x5a>;

						xbar_mixer_in7_ep: endpoint {
							remote-endpoint = <&mixer_in7_ep>;
						};
					};

					xbar_mixer_in8_port: port@5b {
						reg = <0x5b>;

						xbar_mixer_in8_ep: endpoint {
							remote-endpoint = <&mixer_in8_ep>;
						};
					};

					xbar_mixer_in9_port: port@5c {
						reg = <0x5c>;

						xbar_mixer_in9_ep: endpoint {
							remote-endpoint = <&mixer_in9_ep>;
						};
					};

					xbar_mixer_in10_port: port@5d {
						reg = <0x5d>;

						xbar_mixer_in10_ep: endpoint {
							remote-endpoint = <&mixer_in10_ep>;
						};
					};

					port@5e {
						reg = <0x5e>;

						xbar_mixer_out1_ep: endpoint {
							remote-endpoint = <&mixer_out1_ep>;
						};
					};

					port@5f {
						reg = <0x5f>;

						xbar_mixer_out2_ep: endpoint {
							remote-endpoint = <&mixer_out2_ep>;
						};
					};

					port@60 {
						reg = <0x60>;

						xbar_mixer_out3_ep: endpoint {
							remote-endpoint = <&mixer_out3_ep>;
						};
					};

					port@61 {
						reg = <0x61>;

						xbar_mixer_out4_ep: endpoint {
							remote-endpoint = <&mixer_out4_ep>;
						};
					};

					port@62 {
						reg = <0x62>;

						xbar_mixer_out5_ep: endpoint {
							remote-endpoint = <&mixer_out5_ep>;
						};
					};

					xbar_asrc_in1_port: port@63 {
						reg = <0x63>;

						xbar_asrc_in1_ep: endpoint {
							remote-endpoint = <&asrc_in1_ep>;
						};
					};

					port@64 {
						reg = <0x64>;

						xbar_asrc_out1_ep: endpoint {
							remote-endpoint = <&asrc_out1_ep>;
						};
					};

					xbar_asrc_in2_port: port@65 {
						reg = <0x65>;

						xbar_asrc_in2_ep: endpoint {
							remote-endpoint = <&asrc_in2_ep>;
						};
					};

					port@66 {
						reg = <0x66>;

						xbar_asrc_out2_ep: endpoint {
							remote-endpoint = <&asrc_out2_ep>;
						};
					};

					xbar_asrc_in3_port: port@67 {
						reg = <0x67>;

						xbar_asrc_in3_ep: endpoint {
							remote-endpoint = <&asrc_in3_ep>;
						};
					};

					port@68 {
						reg = <0x68>;

						xbar_asrc_out3_ep: endpoint {
							remote-endpoint = <&asrc_out3_ep>;
						};
					};

					xbar_asrc_in4_port: port@69 {
						reg = <0x69>;

						xbar_asrc_in4_ep: endpoint {
							remote-endpoint = <&asrc_in4_ep>;
						};
					};

					port@6a {
						reg = <0x6a>;

						xbar_asrc_out4_ep: endpoint {
							remote-endpoint = <&asrc_out4_ep>;
						};
					};

					xbar_asrc_in5_port: port@6b {
						reg = <0x6b>;

						xbar_asrc_in5_ep: endpoint {
							remote-endpoint = <&asrc_in5_ep>;
						};
					};

					port@6c {
						reg = <0x6c>;

						xbar_asrc_out5_ep: endpoint {
							remote-endpoint = <&asrc_out5_ep>;
						};
					};

					xbar_asrc_in6_port: port@6d {
						reg = <0x6d>;

						xbar_asrc_in6_ep: endpoint {
							remote-endpoint = <&asrc_in6_ep>;
						};
					};

					port@6e {
						reg = <0x6e>;

						xbar_asrc_out6_ep: endpoint {
							remote-endpoint = <&asrc_out6_ep>;
						};
					};

					xbar_asrc_in7_port: port@6f {
						reg = <0x6f>;

						xbar_asrc_in7_ep: endpoint {
							remote-endpoint = <&asrc_in7_ep>;
						};
					};

					xbar_ope1_in_port: port@70 {
						reg = <0x70>;

						xbar_ope1_in_ep: endpoint {
							remote-endpoint = <&ope1_cif_in_ep>;
						};
					};

					port@71 {
						reg = <0x71>;

						xbar_ope1_out_ep: endpoint {
							remote-endpoint = <&ope1_cif_out_ep>;
						};
					};
				};
			};

			dma-controller@2930000 {
				status = "okay";
			};

			interrupt-controller@2a40000 {
				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;
			};
		};

		ddc: i2c@3190000 {
			status = "okay";
		};

		spi@3270000 {
			status = "okay";

			flash@0 {
				compatible = "jedec,spi-nor";
				reg = <0>;
				spi-max-frequency = <102000000>;
				spi-tx-bus-width = <4>;
				spi-rx-bus-width = <4>;
			};
		};

		pwm@32d0000 {
			status = "okay";
		};

		hda@3510000 {
			nvidia,model = "NVIDIA Jetson Xavier NX HDA";
			status = "okay";
		};

		padctl@3520000 {
			status = "okay";

			pads {
				usb2 {
					lanes {
						usb2-0 {
							status = "okay";
						};

						usb2-1 {
							status = "okay";
						};

						usb2-2 {
							status = "okay";
						};
					};
				};

				usb3 {
					lanes {
						usb3-2 {
							status = "okay";
						};
					};
				};
			};

			ports {
				usb2-0 {
					mode = "otg";
					status = "okay";
					usb-role-switch;
					connector {
						compatible = "gpio-usb-b-connector",
							"usb-b-connector";
						label = "micro-USB";
						type = "micro";
						vbus-gpios = <&gpio TEGRA194_MAIN_GPIO(Z, 1)
								    GPIO_ACTIVE_LOW>;
					};
				};

				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@3550000 {
			status = "okay";

			phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>;
			phy-names = "usb2-0";
		};

		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";
		};

		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";
		};
	};

	gpio-keys {
		compatible = "gpio-keys";

		key-force-recovery {
			label = "Force Recovery";
			gpios = <&gpio TEGRA194_MAIN_GPIO(G, 0)
				       GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_SLEEP>;
			debounce-interval = <10>;
		};

		key-power {
			label = "Power";
			gpios = <&gpio_aon TEGRA194_AON_GPIO(EE, 4)
					   GPIO_ACTIVE_LOW>;
			linux,input-type = <EV_KEY>;
			linux,code = <KEY_POWER>;
			debounce-interval = <10>;
			wakeup-event-action = <EV_ACT_ASSERTED>;
			wakeup-source;
		};
	};

	fan: pwm-fan {
		compatible = "pwm-fan";
		pwms = <&pwm6 0 45334>;

		cooling-levels = <0 64 128 255>;
		#cooling-cells = <2>;
	};

	vdd_5v0_sys: regulator-vdd-5v0-sys {
		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-vdd-3v3-sys {
		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-vdd-3v3-ao {
		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-vdd-1v8 {
		compatible = "regulator-fixed";
		regulator-name = "VDD_1V8";
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-always-on;
		regulator-boot-on;
	};

	vdd_hdmi: regulator-vdd-hdmi {
		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>,
		       <&xbar_sfc1_in_port>, <&xbar_sfc2_in_port>,
		       <&xbar_sfc3_in_port>, <&xbar_sfc4_in_port>,
		       <&xbar_mvc1_in_port>, <&xbar_mvc2_in_port>,
		       <&xbar_amx1_in1_port>, <&xbar_amx1_in2_port>,
		       <&xbar_amx1_in3_port>, <&xbar_amx1_in4_port>,
		       <&xbar_amx2_in1_port>, <&xbar_amx2_in2_port>,
		       <&xbar_amx2_in3_port>, <&xbar_amx2_in4_port>,
		       <&xbar_amx3_in1_port>, <&xbar_amx3_in2_port>,
		       <&xbar_amx3_in3_port>, <&xbar_amx3_in4_port>,
		       <&xbar_amx4_in1_port>, <&xbar_amx4_in2_port>,
		       <&xbar_amx4_in3_port>, <&xbar_amx4_in4_port>,
		       <&xbar_adx1_in_port>, <&xbar_adx2_in_port>,
		       <&xbar_adx3_in_port>, <&xbar_adx4_in_port>,
		       <&xbar_mixer_in1_port>, <&xbar_mixer_in2_port>,
		       <&xbar_mixer_in3_port>, <&xbar_mixer_in4_port>,
		       <&xbar_mixer_in5_port>, <&xbar_mixer_in6_port>,
		       <&xbar_mixer_in7_port>, <&xbar_mixer_in8_port>,
		       <&xbar_mixer_in9_port>, <&xbar_mixer_in10_port>,
		       <&xbar_asrc_in1_port>, <&xbar_asrc_in2_port>,
		       <&xbar_asrc_in3_port>, <&xbar_asrc_in4_port>,
		       <&xbar_asrc_in5_port>, <&xbar_asrc_in6_port>,
		       <&xbar_asrc_in7_port>,
		       <&xbar_ope1_in_port>,
		       /* HW accelerators */
		       <&sfc1_out_port>, <&sfc2_out_port>,
		       <&sfc3_out_port>, <&sfc4_out_port>,
		       <&mvc1_out_port>, <&mvc2_out_port>,
		       <&amx1_out_port>, <&amx2_out_port>,
		       <&amx3_out_port>, <&amx4_out_port>,
		       <&adx1_out1_port>, <&adx1_out2_port>,
		       <&adx1_out3_port>, <&adx1_out4_port>,
		       <&adx2_out1_port>, <&adx2_out2_port>,
		       <&adx2_out3_port>, <&adx2_out4_port>,
		       <&adx3_out1_port>, <&adx3_out2_port>,
		       <&adx3_out3_port>, <&adx3_out4_port>,
		       <&adx4_out1_port>, <&adx4_out2_port>,
		       <&adx4_out3_port>, <&adx4_out4_port>,
		       <&mixer_out1_port>, <&mixer_out2_port>,
		       <&mixer_out3_port>, <&mixer_out4_port>,
		       <&mixer_out5_port>,
		       <&asrc_out1_port>, <&asrc_out2_port>, <&asrc_out3_port>,
		       <&asrc_out4_port>, <&asrc_out5_port>, <&asrc_out6_port>,
		       <&ope1_out_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-thermal {
			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-thermal {
			polling-delay = <0>;
			polling-delay-passive = <500>;
			status = "okay";

			trips {
				gpu_alert0: critical {
					temperature = <99000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};

		aux-thermal {
			polling-delay = <0>;
			polling-delay-passive = <500>;
			status = "okay";

			trips {
				aux_alert0: critical {
					temperature = <90000>;
					hysteresis = <0>;
					type = "critical";
				};
			};
		};
	};
};
