// SPDX-License-Identifier: GPL-2.0 /dts-v1/; #include <dt-bindings/input/gpio-keys.h> #include <dt-bindings/input/linux-event-codes.h> #include <dt-bindings/mfd/max77620.h> #include "tegra210.dtsi" / { model = "NVIDIA Jetson Nano Developer Kit"; compatible = "nvidia,p3450-0000", "nvidia,tegra210"; aliases { ethernet = "/pcie@1003000/pci@2,0/ethernet@0,0"; rtc0 = "/i2c@7000d000/pmic@3c"; rtc1 = "/rtc@7000e000"; serial0 = &uarta; }; chosen { stdout-path = "serial0:115200n8"; }; memory@80000000 { device_type = "memory"; reg = <0x0 0x80000000 0x1 0x0>; }; pcie@1003000 { status = "okay"; hvddio-pex-supply = <&vdd_1v8>; dvddio-pex-supply = <&vdd_pex_1v05>; vddio-pex-ctl-supply = <&vdd_1v8>; pci@1,0 { phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-1}>, <&{/padctl@7009f000/pads/pcie/lanes/pcie-2}>, <&{/padctl@7009f000/pads/pcie/lanes/pcie-3}>, <&{/padctl@7009f000/pads/pcie/lanes/pcie-4}>; phy-names = "pcie-0", "pcie-1", "pcie-2", "pcie-3"; nvidia,num-lanes = <4>; status = "okay"; }; pci@2,0 { phys = <&{/padctl@7009f000/pads/pcie/lanes/pcie-0}>; phy-names = "pcie-0"; status = "okay"; ethernet@0,0 { reg = <0x000000 0 0 0 0>; local-mac-address = [ 00 00 00 00 00 00 ]; }; }; }; host1x@50000000 { dpaux@54040000 { status = "okay"; }; vi@54080000 { status = "okay"; avdd-dsi-csi-supply = <&vdd_sys_1v2>; csi@838 { status = "okay"; }; }; sor@54540000 { status = "okay"; avdd-io-hdmi-dp-supply = <&avdd_io_edp_1v05>; vdd-hdmi-dp-pll-supply = <&vdd_1v8>; nvidia,xbar-cfg = <2 1 0 3 4>; nvidia,dpaux = <&dpaux>; }; sor@54580000 { status = "okay"; avdd-io-hdmi-dp-supply = <&avdd_1v05>; vdd-hdmi-dp-pll-supply = <&vdd_1v8>; hdmi-supply = <&vdd_hdmi>; nvidia,ddc-i2c-bus = <&hdmi_ddc>; nvidia,hpd-gpio = <&gpio TEGRA_GPIO(CC, 1) GPIO_ACTIVE_LOW>; nvidia,xbar-cfg = <0 1 2 3 4>; }; dpaux@545c0000 { status = "okay"; }; i2c@546c0000 { status = "okay"; }; }; gpu@57000000 { vdd-supply = <&vdd_gpu>; status = "okay"; }; pinmux@700008d4 { dvfs_pwm_active_state: pinmux-dvfs-pwm-active { dvfs_pwm_pbb1 { nvidia,pins = "dvfs_pwm_pbb1"; nvidia,tristate = <TEGRA_PIN_DISABLE>; }; }; dvfs_pwm_inactive_state: pinmux-dvfs-pwm-inactive { dvfs_pwm_pbb1 { nvidia,pins = "dvfs_pwm_pbb1"; nvidia,tristate = <TEGRA_PIN_ENABLE>; }; }; }; /* debug port */ serial@70006000 { /delete-property/ dmas; /delete-property/ dma-names; status = "okay"; }; pwm@7000a000 { status = "okay"; }; i2c@7000c500 { status = "okay"; clock-frequency = <100000>; eeprom@50 { compatible = "atmel,24c02"; reg = <0x50>; label = "module"; vcc-supply = <&vdd_1v8>; address-width = <8>; pagesize = <8>; size = <256>; read-only; }; eeprom@57 { compatible = "atmel,24c02"; reg = <0x57>; label = "system"; vcc-supply = <&vdd_1v8>; address-width = <8>; pagesize = <8>; size = <256>; read-only; }; }; hdmi_ddc: i2c@7000c700 { status = "okay"; clock-frequency = <100000>; }; i2c@7000d000 { status = "okay"; clock-frequency = <400000>; pmic: pmic@3c { compatible = "maxim,max77620"; reg = <0x3c>; interrupt-parent = <&tegra_pmc>; interrupts = <51 IRQ_TYPE_LEVEL_LOW>; #interrupt-cells = <2>; interrupt-controller; #gpio-cells = <2>; gpio-controller; pinctrl-names = "default"; pinctrl-0 = <&max77620_default>; fps { fps0 { maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; maxim,suspend-fps-time-period-us = <5120>; }; fps1 { maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN1>; maxim,suspend-fps-time-period-us = <5120>; }; fps2 { maxim,fps-event-source = <MAX77620_FPS_EVENT_SRC_EN0>; }; }; max77620_default: pinmux { gpio0 { pins = "gpio0"; function = "gpio"; }; gpio1 { pins = "gpio1"; function = "fps-out"; drive-push-pull = <1>; maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; maxim,active-fps-power-up-slot = <0>; maxim,active-fps-power-down-slot = <7>; }; gpio2 { pins = "gpio2"; function = "fps-out"; drive-open-drain = <1>; maxim,active-fps-source = <MAX77620_FPS_SRC_0>; maxim,active-fps-power-up-slot = <0>; maxim,active-fps-power-down-slot = <7>; }; gpio3 { pins = "gpio3"; function = "fps-out"; drive-open-drain = <1>; maxim,active-fps-source = <MAX77620_FPS_SRC_0>; maxim,active-fps-power-up-slot = <4>; maxim,active-fps-power-down-slot = <3>; }; gpio4 { pins = "gpio4"; function = "32k-out1"; }; gpio5_6_7 { pins = "gpio5", "gpio6", "gpio7"; function = "gpio"; drive-push-pull = <1>; }; }; regulators { in-ldo0-1-supply = <&vdd_pre>; in-ldo2-supply = <&vdd_3v3_sys>; in-ldo3-5-supply = <&vdd_1v8>; in-ldo4-6-supply = <&vdd_5v0_sys>; in-ldo7-8-supply = <&vdd_pre>; in-sd0-supply = <&vdd_5v0_sys>; in-sd1-supply = <&vdd_5v0_sys>; in-sd2-supply = <&vdd_5v0_sys>; in-sd3-supply = <&vdd_5v0_sys>; vdd_soc: sd0 { regulator-name = "VDD_SOC"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1170000>; regulator-enable-ramp-delay = <146>; regulator-ramp-delay = <27500>; regulator-ramp-delay-scale = <300>; regulator-always-on; regulator-boot-on; maxim,active-fps-source = <MAX77620_FPS_SRC_1>; maxim,active-fps-power-up-slot = <1>; maxim,active-fps-power-down-slot = <6>; }; vdd_ddr: sd1 { regulator-name = "VDD_DDR_1V1_PMIC"; regulator-min-microvolt = <1150000>; regulator-max-microvolt = <1150000>; regulator-enable-ramp-delay = <176>; regulator-ramp-delay = <27500>; regulator-ramp-delay-scale = <300>; regulator-always-on; regulator-boot-on; maxim,active-fps-source = <MAX77620_FPS_SRC_0>; maxim,active-fps-power-up-slot = <5>; maxim,active-fps-power-down-slot = <2>; }; vdd_pre: sd2 { regulator-name = "VDD_PRE_REG_1V35"; regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; regulator-enable-ramp-delay = <176>; regulator-ramp-delay = <27500>; regulator-ramp-delay-scale = <350>; regulator-always-on; regulator-boot-on; maxim,active-fps-source = <MAX77620_FPS_SRC_1>; maxim,active-fps-power-up-slot = <2>; maxim,active-fps-power-down-slot = <5>; }; vdd_1v8: sd3 { regulator-name = "VDD_1V8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-enable-ramp-delay = <242>; regulator-ramp-delay = <27500>; regulator-ramp-delay-scale = <360>; regulator-always-on; regulator-boot-on; maxim,active-fps-source = <MAX77620_FPS_SRC_0>; maxim,active-fps-power-up-slot = <3>; maxim,active-fps-power-down-slot = <4>; }; vdd_sys_1v2: ldo0 { regulator-name = "AVDD_SYS_1V2"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-enable-ramp-delay = <26>; regulator-ramp-delay = <100000>; regulator-ramp-delay-scale = <200>; regulator-always-on; regulator-boot-on; maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; maxim,active-fps-power-up-slot = <0>; maxim,active-fps-power-down-slot = <7>; }; vdd_pex_1v05: ldo1 { regulator-name = "VDD_PEX_1V05"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; regulator-enable-ramp-delay = <22>; regulator-ramp-delay = <100000>; regulator-ramp-delay-scale = <200>; maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; maxim,active-fps-power-up-slot = <0>; maxim,active-fps-power-down-slot = <7>; }; vddio_sdmmc: ldo2 { regulator-name = "VDDIO_SDMMC"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-enable-ramp-delay = <62>; regulator-ramp-delay = <100000>; regulator-ramp-delay-scale = <200>; maxim,active-fps-source = <MAX77620_FPS_SRC_NONE>; maxim,active-fps-power-up-slot = <0>; maxim,active-fps-power-down-slot = <7>; }; ldo3 { status = "disabled"; }; vdd_rtc: ldo4 { regulator-name = "VDD_RTC"; regulator-min-microvolt = <850000>; regulator-max-microvolt = <1100000>; regulator-enable-ramp-delay = <22>; regulator-ramp-delay = <100000>; regulator-ramp-delay-scale = <200>; regulator-disable-active-discharge; regulator-always-on; regulator-boot-on; maxim,active-fps-source = <MAX77620_FPS_SRC_0>; maxim,active-fps-power-up-slot = <1>; maxim,active-fps-power-down-slot = <6>; }; ldo5 { status = "disabled"; }; ldo6 { status = "disabled"; }; avdd_1v05_pll: ldo7 { regulator-name = "AVDD_1V05_PLL"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; regulator-enable-ramp-delay = <24>; regulator-ramp-delay = <100000>; regulator-ramp-delay-scale = <200>; maxim,active-fps-source = <MAX77620_FPS_SRC_1>; maxim,active-fps-power-up-slot = <3>; maxim,active-fps-power-down-slot = <4>; }; avdd_1v05: ldo8 { regulator-name = "AVDD_SATA_HDMI_DP_1V05"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; regulator-enable-ramp-delay = <22>; regulator-ramp-delay = <100000>; regulator-ramp-delay-scale = <200>; maxim,active-fps-source = <MAX77620_FPS_SRC_1>; maxim,active-fps-power-up-slot = <6>; maxim,active-fps-power-down-slot = <1>; }; }; }; }; pmc@7000e400 { nvidia,invert-interrupt; nvidia,suspend-mode = <0>; nvidia,cpu-pwr-good-time = <0>; nvidia,cpu-pwr-off-time = <0>; nvidia,core-pwr-good-time = <4587 3876>; nvidia,core-pwr-off-time = <39065>; nvidia,core-power-req-active-high; nvidia,sys-clock-req-active-high; }; hda@70030000 { nvidia,model = "NVIDIA Jetson Nano HDA"; status = "okay"; }; usb@70090000 { phys = <&{/padctl@7009f000/pads/usb2/lanes/usb2-0}>, <&{/padctl@7009f000/pads/usb2/lanes/usb2-1}>, <&{/padctl@7009f000/pads/usb2/lanes/usb2-2}>, <&{/padctl@7009f000/pads/pcie/lanes/pcie-6}>; phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0"; avdd-usb-supply = <&vdd_3v3_sys>; dvddio-pex-supply = <&vdd_pex_1v05>; hvddio-pex-supply = <&vdd_1v8>; status = "okay"; }; padctl@7009f000 { status = "okay"; avdd-pll-utmip-supply = <&vdd_1v8>; avdd-pll-uerefe-supply = <&vdd_pex_1v05>; dvdd-pex-pll-supply = <&vdd_pex_1v05>; hvdd-pex-pll-e-supply = <&vdd_1v8>; pads { usb2 { status = "okay"; lanes { micro_b: usb2-0 { nvidia,function = "xusb"; status = "okay"; }; usb2-1 { nvidia,function = "xusb"; status = "okay"; }; usb2-2 { nvidia,function = "xusb"; status = "okay"; }; }; }; pcie { status = "okay"; lanes { pcie-0 { nvidia,function = "pcie-x1"; status = "okay"; }; pcie-1 { nvidia,function = "pcie-x4"; status = "okay"; }; pcie-2 { nvidia,function = "pcie-x4"; status = "okay"; }; pcie-3 { nvidia,function = "pcie-x4"; status = "okay"; }; pcie-4 { nvidia,function = "pcie-x4"; status = "okay"; }; pcie-5 { nvidia,function = "usb3-ss"; status = "okay"; }; pcie-6 { nvidia,function = "usb3-ss"; status = "okay"; }; }; }; }; ports { usb2-0 { status = "okay"; mode = "peripheral"; usb-role-switch; vbus-supply = <&vdd_5v0_usb>; connector { compatible = "gpio-usb-b-connector", "usb-b-connector"; label = "micro-USB"; type = "micro"; vbus-gpios = <&gpio TEGRA_GPIO(CC, 4) GPIO_ACTIVE_LOW>; }; }; usb2-1 { status = "okay"; mode = "host"; }; usb2-2 { status = "okay"; mode = "host"; }; usb3-0 { status = "okay"; nvidia,usb2-companion = <1>; vbus-supply = <&vdd_hub_3v3>; }; }; }; mmc@700b0000 { status = "okay"; bus-width = <4>; cd-gpios = <&gpio TEGRA_GPIO(Z, 1) GPIO_ACTIVE_LOW>; disable-wp; vqmmc-supply = <&vddio_sdmmc>; vmmc-supply = <&vdd_3v3_sd>; }; mmc@700b0400 { status = "okay"; bus-width = <4>; vqmmc-supply = <&vdd_1v8>; vmmc-supply = <&vdd_3v3_sys>; non-removable; cap-sdio-irq; keep-power-in-suspend; wakeup-source; }; usb@700d0000 { status = "okay"; phys = <µ_b>; phy-names = "usb2-0"; avddio-usb-supply = <&vdd_3v3_sys>; hvdd-usb-supply = <&vdd_1v8>; }; clock@70110000 { status = "okay"; nvidia,cf = <6>; nvidia,ci = <0>; nvidia,cg = <2>; nvidia,droop-ctrl = <0x00000f00>; nvidia,force-mode = <1>; nvidia,sample-rate = <25000>; nvidia,pwm-min-microvolts = <708000>; nvidia,pwm-period-nanoseconds = <2500>; /* 2.5us */ nvidia,pwm-to-pmic; nvidia,pwm-tristate-microvolts = <1000000>; nvidia,pwm-voltage-step-microvolts = <19200>; pinctrl-names = "dvfs_pwm_enable", "dvfs_pwm_disable"; pinctrl-0 = <&dvfs_pwm_active_state>; pinctrl-1 = <&dvfs_pwm_inactive_state>; }; aconnect@702c0000 { status = "okay"; ahub@702d0800 { status = "okay"; admaif@702d0000 { status = "okay"; }; i2s@702d1200 { 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"; /* Placeholder for external Codec */ }; }; }; }; i2s@702d1300 { 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"; /* Placeholder for external Codec */ }; }; }; }; sfc@702d2000 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0>; sfc1_cif_in_ep: endpoint { remote-endpoint = <&xbar_sfc1_in_ep>; }; }; sfc1_out_port: port@1 { reg = <1>; sfc1_cif_out_ep: endpoint { remote-endpoint = <&xbar_sfc1_out_ep>; }; }; }; }; sfc@702d2200 { 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@702d2400 { 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@702d2600 { 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@702d3000 { 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@702d3100 { 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>; }; }; }; }; adx@702d3800 { 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@702d3900 { 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>; }; }; }; }; dmic@702d4000 { 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 { /* Placeholder for external Codec */ }; }; }; }; dmic@702d4100 { 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 { /* Placeholder for external Codec */ }; }; }; }; processing-engine@702d8000 { 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>; }; }; }; }; processing-engine@702d8400 { status = "okay"; ports { #address-cells = <1>; #size-cells = <0>; port@0 { reg = <0x0>; ope2_cif_in_ep: endpoint { remote-endpoint = <&xbar_ope2_in_ep>; }; }; ope2_out_port: port@1 { reg = <0x1>; ope2_cif_out_ep: endpoint { remote-endpoint = <&xbar_ope2_out_ep>; }; }; }; }; mvc@702da000 { 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@702da200 { 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@702dbb00 { 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>; }; }; }; }; ports { xbar_i2s3_port: port@c { reg = <0xc>; xbar_i2s3_ep: endpoint { remote-endpoint = <&i2s3_cif_ep>; }; }; xbar_i2s4_port: port@d { reg = <0xd>; xbar_i2s4_ep: endpoint { remote-endpoint = <&i2s4_cif_ep>; }; }; xbar_dmic1_port: port@f { reg = <0xf>; xbar_dmic1_ep: endpoint { remote-endpoint = <&dmic1_cif_ep>; }; }; xbar_dmic2_port: port@10 { reg = <0x10>; xbar_dmic2_ep: endpoint { remote-endpoint = <&dmic2_cif_ep>; }; }; xbar_sfc1_in_port: port@12 { reg = <0x12>; xbar_sfc1_in_ep: endpoint { remote-endpoint = <&sfc1_cif_in_ep>; }; }; port@13 { reg = <0x13>; xbar_sfc1_out_ep: endpoint { remote-endpoint = <&sfc1_cif_out_ep>; }; }; xbar_sfc2_in_port: port@14 { reg = <0x14>; xbar_sfc2_in_ep: endpoint { remote-endpoint = <&sfc2_cif_in_ep>; }; }; port@15 { reg = <0x15>; xbar_sfc2_out_ep: endpoint { remote-endpoint = <&sfc2_cif_out_ep>; }; }; xbar_sfc3_in_port: port@16 { reg = <0x16>; xbar_sfc3_in_ep: endpoint { remote-endpoint = <&sfc3_cif_in_ep>; }; }; port@17 { reg = <0x17>; xbar_sfc3_out_ep: endpoint { remote-endpoint = <&sfc3_cif_out_ep>; }; }; xbar_sfc4_in_port: port@18 { reg = <0x18>; xbar_sfc4_in_ep: endpoint { remote-endpoint = <&sfc4_cif_in_ep>; }; }; port@19 { reg = <0x19>; xbar_sfc4_out_ep: endpoint { remote-endpoint = <&sfc4_cif_out_ep>; }; }; xbar_mvc1_in_port: port@1a { reg = <0x1a>; xbar_mvc1_in_ep: endpoint { remote-endpoint = <&mvc1_cif_in_ep>; }; }; port@1b { reg = <0x1b>; xbar_mvc1_out_ep: endpoint { remote-endpoint = <&mvc1_cif_out_ep>; }; }; xbar_mvc2_in_port: port@1c { reg = <0x1c>; xbar_mvc2_in_ep: endpoint { remote-endpoint = <&mvc2_cif_in_ep>; }; }; port@1d { reg = <0x1d>; xbar_mvc2_out_ep: endpoint { remote-endpoint = <&mvc2_cif_out_ep>; }; }; xbar_amx1_in1_port: port@1e { reg = <0x1e>; xbar_amx1_in1_ep: endpoint { remote-endpoint = <&amx1_in1_ep>; }; }; xbar_amx1_in2_port: port@1f { reg = <0x1f>; xbar_amx1_in2_ep: endpoint { remote-endpoint = <&amx1_in2_ep>; }; }; xbar_amx1_in3_port: port@20 { reg = <0x20>; xbar_amx1_in3_ep: endpoint { remote-endpoint = <&amx1_in3_ep>; }; }; xbar_amx1_in4_port: port@21 { reg = <0x21>; xbar_amx1_in4_ep: endpoint { remote-endpoint = <&amx1_in4_ep>; }; }; port@22 { reg = <0x22>; xbar_amx1_out_ep: endpoint { remote-endpoint = <&amx1_out_ep>; }; }; xbar_amx2_in1_port: port@23 { reg = <0x23>; xbar_amx2_in1_ep: endpoint { remote-endpoint = <&amx2_in1_ep>; }; }; xbar_amx2_in2_port: port@24 { reg = <0x24>; xbar_amx2_in2_ep: endpoint { remote-endpoint = <&amx2_in2_ep>; }; }; xbar_amx2_in3_port: port@25 { reg = <0x25>; xbar_amx2_in3_ep: endpoint { remote-endpoint = <&amx2_in3_ep>; }; }; xbar_amx2_in4_port: port@26 { reg = <0x26>; xbar_amx2_in4_ep: endpoint { remote-endpoint = <&amx2_in4_ep>; }; }; port@27 { reg = <0x27>; xbar_amx2_out_ep: endpoint { remote-endpoint = <&amx2_out_ep>; }; }; xbar_adx1_in_port: port@28 { reg = <0x28>; xbar_adx1_in_ep: endpoint { remote-endpoint = <&adx1_in_ep>; }; }; port@29 { reg = <0x29>; xbar_adx1_out1_ep: endpoint { remote-endpoint = <&adx1_out1_ep>; }; }; port@2a { reg = <0x2a>; xbar_adx1_out2_ep: endpoint { remote-endpoint = <&adx1_out2_ep>; }; }; port@2b { reg = <0x2b>; xbar_adx1_out3_ep: endpoint { remote-endpoint = <&adx1_out3_ep>; }; }; port@2c { reg = <0x2c>; xbar_adx1_out4_ep: endpoint { remote-endpoint = <&adx1_out4_ep>; }; }; xbar_adx2_in_port: port@2d { reg = <0x2d>; xbar_adx2_in_ep: endpoint { remote-endpoint = <&adx2_in_ep>; }; }; port@2e { reg = <0x2e>; xbar_adx2_out1_ep: endpoint { remote-endpoint = <&adx2_out1_ep>; }; }; port@2f { reg = <0x2f>; xbar_adx2_out2_ep: endpoint { remote-endpoint = <&adx2_out2_ep>; }; }; port@30 { reg = <0x30>; xbar_adx2_out3_ep: endpoint { remote-endpoint = <&adx2_out3_ep>; }; }; port@31 { reg = <0x31>; xbar_adx2_out4_ep: endpoint { remote-endpoint = <&adx2_out4_ep>; }; }; xbar_mixer_in1_port: port@32 { reg = <0x32>; xbar_mixer_in1_ep: endpoint { remote-endpoint = <&mixer_in1_ep>; }; }; xbar_mixer_in2_port: port@33 { reg = <0x33>; xbar_mixer_in2_ep: endpoint { remote-endpoint = <&mixer_in2_ep>; }; }; xbar_mixer_in3_port: port@34 { reg = <0x34>; xbar_mixer_in3_ep: endpoint { remote-endpoint = <&mixer_in3_ep>; }; }; xbar_mixer_in4_port: port@35 { reg = <0x35>; xbar_mixer_in4_ep: endpoint { remote-endpoint = <&mixer_in4_ep>; }; }; xbar_mixer_in5_port: port@36 { reg = <0x36>; xbar_mixer_in5_ep: endpoint { remote-endpoint = <&mixer_in5_ep>; }; }; xbar_mixer_in6_port: port@37 { reg = <0x37>; xbar_mixer_in6_ep: endpoint { remote-endpoint = <&mixer_in6_ep>; }; }; xbar_mixer_in7_port: port@38 { reg = <0x38>; xbar_mixer_in7_ep: endpoint { remote-endpoint = <&mixer_in7_ep>; }; }; xbar_mixer_in8_port: port@39 { reg = <0x39>; xbar_mixer_in8_ep: endpoint { remote-endpoint = <&mixer_in8_ep>; }; }; xbar_mixer_in9_port: port@3a { reg = <0x3a>; xbar_mixer_in9_ep: endpoint { remote-endpoint = <&mixer_in9_ep>; }; }; xbar_mixer_in10_port: port@3b { reg = <0x3b>; xbar_mixer_in10_ep: endpoint { remote-endpoint = <&mixer_in10_ep>; }; }; port@3c { reg = <0x3c>; xbar_mixer_out1_ep: endpoint { remote-endpoint = <&mixer_out1_ep>; }; }; port@3d { reg = <0x3d>; xbar_mixer_out2_ep: endpoint { remote-endpoint = <&mixer_out2_ep>; }; }; port@3e { reg = <0x3e>; xbar_mixer_out3_ep: endpoint { remote-endpoint = <&mixer_out3_ep>; }; }; port@3f { reg = <0x3f>; xbar_mixer_out4_ep: endpoint { remote-endpoint = <&mixer_out4_ep>; }; }; port@40 { reg = <0x40>; xbar_mixer_out5_ep: endpoint { remote-endpoint = <&mixer_out5_ep>; }; }; xbar_ope1_in_port: port@41 { reg = <0x41>; xbar_ope1_in_ep: endpoint { remote-endpoint = <&ope1_cif_in_ep>; }; }; port@42 { reg = <0x42>; xbar_ope1_out_ep: endpoint { remote-endpoint = <&ope1_cif_out_ep>; }; }; xbar_ope2_in_port: port@43 { reg = <0x43>; xbar_ope2_in_ep: endpoint { remote-endpoint = <&ope2_cif_in_ep>; }; }; port@44 { reg = <0x44>; xbar_ope2_out_ep: endpoint { remote-endpoint = <&ope2_cif_out_ep>; }; }; }; }; dma-controller@702e2000 { status = "okay"; }; interrupt-controller@702f9000 { status = "okay"; }; }; spi@70410000 { status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <104000000>; spi-tx-bus-width = <2>; spi-rx-bus-width = <2>; }; }; clk32k_in: clock-32k { compatible = "fixed-clock"; clock-frequency = <32768>; #clock-cells = <0>; }; cpus { cpu@0 { enable-method = "psci"; }; cpu@1 { enable-method = "psci"; }; cpu@2 { enable-method = "psci"; }; cpu@3 { enable-method = "psci"; }; idle-states { cpu-sleep { status = "okay"; }; }; }; gpio-keys { compatible = "gpio-keys"; key-force-recovery { label = "Force Recovery"; gpios = <&gpio TEGRA_GPIO(X, 6) GPIO_ACTIVE_LOW>; linux,input-type = <EV_KEY>; linux,code = <BTN_1>; debounce-interval = <30>; }; key-power { label = "Power"; gpios = <&gpio TEGRA_GPIO(X, 5) GPIO_ACTIVE_LOW>; linux,input-type = <EV_KEY>; linux,code = <KEY_POWER>; debounce-interval = <30>; wakeup-event-action = <EV_ACT_ASSERTED>; wakeup-source; }; }; psci { compatible = "arm,psci-1.0"; method = "smc"; }; fan: pwm-fan { compatible = "pwm-fan"; pwms = <&pwm 3 45334>; cooling-levels = <0 64 128 255>; #cooling-cells = <2>; }; vdd_5v0_sys: regulator-vdd-5v0-sys { compatible = "regulator-fixed"; regulator-name = "VDD_5V0_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-enable-ramp-delay = <240>; regulator-always-on; regulator-boot-on; gpio = <&pmic 3 GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&vdd_5v0_sys>; }; vdd_3v3_sd: regulator-vdd-3v3-sd { compatible = "regulator-fixed"; regulator-name = "VDD_3V3_SD"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpio TEGRA_GPIO(Z, 3) GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&vdd_3v3_sys>; }; vdd_hdmi: regulator-vdd-hdmi-5v0 { compatible = "regulator-fixed"; regulator-name = "VDD_HDMI_5V0"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; vin-supply = <&vdd_5v0_sys>; }; vdd_hub_3v3: regulator-vdd-hub-3v3 { compatible = "regulator-fixed"; regulator-name = "VDD_HUB_3V3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpio TEGRA_GPIO(A, 6) GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&vdd_5v0_sys>; }; vdd_cpu: regulator-vdd-cpu { compatible = "regulator-fixed"; regulator-name = "VDD_CPU"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; regulator-boot-on; gpio = <&pmic 5 GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&vdd_5v0_sys>; }; vdd_gpu: regulator-vdd-gpu { compatible = "pwm-regulator"; pwms = <&pwm 1 8000>; regulator-name = "VDD_GPU"; regulator-min-microvolt = <710000>; regulator-max-microvolt = <1320000>; regulator-ramp-delay = <80>; regulator-enable-ramp-delay = <2000>; regulator-settling-time-us = <160>; enable-gpios = <&pmic 6 GPIO_ACTIVE_HIGH>; vin-supply = <&vdd_5v0_sys>; }; avdd_io_edp_1v05: regulator-avdd-io-epd-1v05 { compatible = "regulator-fixed"; regulator-name = "AVDD_IO_EDP_1V05"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; gpio = <&pmic 7 GPIO_ACTIVE_HIGH>; enable-active-high; vin-supply = <&avdd_1v05_pll>; }; vdd_5v0_usb: regulator-vdd-5v-usb { compatible = "regulator-fixed"; regulator-name = "VDD_5V_USB"; regulator-min-microvolt = <50000000>; regulator-max-microvolt = <50000000>; vin-supply = <&vdd_5v0_sys>; }; sound { compatible = "nvidia,tegra210-audio-graph-card"; status = "okay"; dais = /* FE */ <&admaif1_port>, <&admaif2_port>, <&admaif3_port>, <&admaif4_port>, <&admaif5_port>, <&admaif6_port>, <&admaif7_port>, <&admaif8_port>, <&admaif9_port>, <&admaif10_port>, /* Router */ <&xbar_i2s3_port>, <&xbar_i2s4_port>, <&xbar_dmic1_port>, <&xbar_dmic2_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_adx1_in_port>, <&xbar_adx2_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_ope1_in_port>, <&xbar_ope2_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>, <&adx1_out1_port>, <&adx1_out2_port>, <&adx1_out3_port>, <&adx1_out4_port>, <&adx2_out1_port>, <&adx2_out2_port>, <&adx2_out3_port>, <&adx2_out4_port>, <&mixer_out1_port>, <&mixer_out2_port>, <&mixer_out3_port>, <&mixer_out4_port>, <&mixer_out5_port>, <&ope1_out_port>, <&ope2_out_port>, /* I/O DAP Ports */ <&i2s3_port>, <&i2s4_port>, <&dmic1_port>, <&dmic2_port>; label = "NVIDIA Jetson Nano APE"; }; thermal-zones { cpu-thermal { 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>; }; }; }; }; };