| // SPDX-License-Identifier: GPL-2.0 |
| /dts-v1/; |
| |
| #include <dt-bindings/input/linux-event-codes.h> |
| #include <dt-bindings/input/gpio-keys.h> |
| #include <dt-bindings/sound/rt5640.h> |
| #include "tegra234-p3701-0008.dtsi" |
| |
| / { |
| model = "NVIDIA IGX Orin Development Kit"; |
| compatible = "nvidia,p3740-0002+p3701-0008", "nvidia,p3701-0008", "nvidia,tegra234"; |
| |
| aliases { |
| serial0 = &tcu; |
| serial1 = &uarta; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| bus@0 { |
| aconnect@2900000 { |
| ahub@2900800 { |
| i2s@2901300 { |
| ports { |
| port@1 { |
| endpoint { |
| dai-format = "i2s"; |
| remote-endpoint = <&rt5640_ep>; |
| }; |
| }; |
| }; |
| }; |
| |
| i2s@2901500 { |
| ports { |
| port@1 { |
| endpoint { |
| bitclock-master; |
| frame-master; |
| }; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| serial@3100000 { |
| compatible = "nvidia,tegra194-hsuart"; |
| reset-names = "serial"; |
| status = "okay"; |
| }; |
| |
| i2c@3160000 { |
| status = "okay"; |
| }; |
| |
| i2c@3180000 { |
| status = "okay"; |
| }; |
| |
| i2c@3190000 { |
| status = "okay"; |
| }; |
| |
| i2c@31b0000 { |
| status = "okay"; |
| }; |
| |
| i2c@31c0000 { |
| status = "okay"; |
| |
| rt5640: audio-codec@1c { |
| compatible = "realtek,rt5640"; |
| reg = <0x1c>; |
| interrupt-parent = <&gpio>; |
| interrupts = <TEGRA234_MAIN_GPIO(F, 3) GPIO_ACTIVE_HIGH>; |
| clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>; |
| clock-names = "mclk"; |
| |
| realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_NONE>; |
| realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_NONE>; |
| realtek,jack-detect-source = <RT5640_JD_SRC_HDA_HEADER>; |
| |
| sound-name-prefix = "CVB-RT"; |
| |
| port { |
| rt5640_ep: endpoint { |
| remote-endpoint = <&i2s4_dap>; |
| mclk-fs = <256>; |
| }; |
| }; |
| }; |
| |
| /* carrier board ID EEPROM */ |
| eeprom@55 { |
| compatible = "atmel,24c02"; |
| reg = <0x55>; |
| |
| label = "system"; |
| vcc-supply = <&vdd_1v8_ls>; |
| address-width = <8>; |
| pagesize = <8>; |
| size = <256>; |
| read-only; |
| }; |
| }; |
| |
| i2c@31e0000 { |
| status = "okay"; |
| }; |
| |
| spi@3270000 { |
| status = "okay"; |
| }; |
| |
| hda@3510000 { |
| nvidia,model = "NVIDIA IGX Orin HDA"; |
| status = "okay"; |
| }; |
| |
| padctl@3520000 { |
| status = "okay"; |
| |
| pads { |
| usb2 { |
| lanes { |
| usb2-0 { |
| nvidia,function = "xusb"; |
| status = "okay"; |
| }; |
| |
| usb2-1 { |
| nvidia,function = "xusb"; |
| status = "okay"; |
| }; |
| |
| usb2-2 { |
| nvidia,function = "xusb"; |
| status = "okay"; |
| }; |
| |
| usb2-3 { |
| nvidia,function = "xusb"; |
| status = "okay"; |
| }; |
| }; |
| }; |
| |
| usb3 { |
| lanes { |
| usb3-0 { |
| nvidia,function = "xusb"; |
| status = "okay"; |
| }; |
| |
| usb3-1 { |
| nvidia,function = "xusb"; |
| status = "okay"; |
| }; |
| |
| usb3-2 { |
| nvidia,function = "xusb"; |
| status = "okay"; |
| }; |
| }; |
| }; |
| }; |
| |
| ports { |
| usb2-0 { |
| mode = "otg"; |
| usb-role-switch; |
| status = "okay"; |
| }; |
| |
| usb2-1 { |
| mode = "host"; |
| status = "okay"; |
| }; |
| |
| usb2-2 { |
| mode = "host"; |
| status = "okay"; |
| }; |
| |
| usb2-3 { |
| mode = "host"; |
| status = "okay"; |
| }; |
| |
| usb3-0 { |
| nvidia,usb2-companion = <2>; |
| status = "okay"; |
| }; |
| |
| usb3-1 { |
| nvidia,usb2-companion = <0>; |
| status = "okay"; |
| }; |
| |
| usb3-2 { |
| nvidia,usb2-companion = <1>; |
| status = "okay"; |
| }; |
| }; |
| }; |
| |
| usb@3550000 { |
| status = "okay"; |
| |
| phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, |
| <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>; |
| phy-names = "usb2-0", "usb3-0"; |
| }; |
| |
| 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-2}>, |
| <&{/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-1}>, |
| <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>; |
| phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3", |
| "usb3-0", "usb3-1", "usb3-2"; |
| }; |
| |
| fuse@3810000 { |
| status = "okay"; |
| }; |
| |
| i2c@c240000 { |
| status = "okay"; |
| }; |
| |
| i2c@c250000 { |
| status = "okay"; |
| |
| power-sensor@41 { |
| compatible = "ti,ina3221"; |
| reg = <0x41>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| input@0 { |
| reg = <0x0>; |
| label = "CVB_ATX_12V"; |
| shunt-resistor-micro-ohms = <2000>; |
| }; |
| |
| input@1 { |
| reg = <0x1>; |
| label = "CVB_ATX_3V3"; |
| shunt-resistor-micro-ohms = <2000>; |
| }; |
| |
| input@2 { |
| reg = <0x2>; |
| label = "CVB_ATX_5V"; |
| shunt-resistor-micro-ohms = <2000>; |
| }; |
| }; |
| |
| power-sensor@44 { |
| compatible = "ti,ina219"; |
| reg = <0x44>; |
| shunt-resistor = <2000>; |
| }; |
| }; |
| |
| host1x@13e00000 { |
| nvdec@15480000 { |
| status = "okay"; |
| }; |
| }; |
| |
| pcie@140e0000 { |
| status = "okay"; |
| vddio-pex-ctl-supply = <&vdd_1v8_ls>; |
| phys = <&p2u_gbe_4>, <&p2u_gbe_5>; |
| phy-names = "p2u-0", "p2u-1"; |
| }; |
| |
| pcie@14100000 { |
| status = "okay"; |
| vddio-pex-ctl-supply = <&vdd_1v8_ao>; |
| vpcie3v3-supply = <&vdd_3v3_wifi>; |
| phys = <&p2u_hsio_3>; |
| phy-names = "p2u-0"; |
| }; |
| |
| pcie@14160000 { |
| status = "okay"; |
| vddio-pex-ctl-supply = <&vdd_1v8_ao>; |
| phys = <&p2u_hsio_7>, <&p2u_hsio_6>, <&p2u_hsio_5>, |
| <&p2u_hsio_4>; |
| phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3"; |
| }; |
| |
| pcie@141a0000 { |
| status = "okay"; |
| vddio-pex-ctl-supply = <&vdd_1v8_ls>; |
| 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@141e0000 { |
| status = "okay"; |
| vddio-pex-ctl-supply = <&vdd_1v8_ls>; |
| phys = <&p2u_gbe_0>, <&p2u_gbe_1>; |
| phy-names = "p2u-0", "p2u-1"; |
| }; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| status = "okay"; |
| |
| key-force-recovery { |
| label = "Force Recovery"; |
| gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>; |
| linux,input-type = <EV_KEY>; |
| linux,code = <BTN_1>; |
| }; |
| |
| key-power { |
| label = "Power"; |
| gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>; |
| linux,input-type = <EV_KEY>; |
| linux,code = <KEY_POWER>; |
| wakeup-event-action = <EV_ACT_ASSERTED>; |
| wakeup-source; |
| }; |
| |
| key-suspend { |
| label = "Suspend"; |
| gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>; |
| linux,input-type = <EV_KEY>; |
| linux,code = <KEY_SLEEP>; |
| }; |
| }; |
| |
| serial { |
| status = "okay"; |
| }; |
| |
| sound { |
| status = "okay"; |
| |
| compatible = "nvidia,tegra186-audio-graph-card"; |
| |
| 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>, |
| <&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_mix_in1_port>, <&xbar_mix_in2_port>, |
| <&xbar_mix_in3_port>, <&xbar_mix_in4_port>, |
| <&xbar_mix_in5_port>, <&xbar_mix_in6_port>, |
| <&xbar_mix_in7_port>, <&xbar_mix_in8_port>, |
| <&xbar_mix_in9_port>, <&xbar_mix_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>, |
| <&mix_out1_port>, <&mix_out2_port>, <&mix_out3_port>, |
| <&mix_out4_port>, <&mix_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 */ |
| <&i2s1_port>, <&i2s2_port>, <&i2s4_port>, <&i2s6_port>, |
| <&dmic3_port>; |
| |
| label = "NVIDIA IGX Orin APE"; |
| |
| widgets = "Microphone", "CVB-RT MIC Jack", |
| "Microphone", "CVB-RT MIC", |
| "Headphone", "CVB-RT HP Jack", |
| "Speaker", "CVB-RT SPK"; |
| |
| routing = /* I2S4 <-> RT5640 */ |
| "CVB-RT AIF1 Playback", "I2S4 DAP-Playback", |
| "I2S4 DAP-Capture", "CVB-RT AIF1 Capture", |
| /* RT5640 codec controls */ |
| "CVB-RT HP Jack", "CVB-RT HPOL", |
| "CVB-RT HP Jack", "CVB-RT HPOR", |
| "CVB-RT IN1P", "CVB-RT MIC Jack", |
| "CVB-RT IN2P", "CVB-RT MIC Jack", |
| "CVB-RT IN2N", "CVB-RT MIC Jack", |
| "CVB-RT IN3P", "CVB-RT MIC Jack", |
| "CVB-RT SPK", "CVB-RT SPOLP", |
| "CVB-RT SPK", "CVB-RT SPORP", |
| "CVB-RT SPK", "CVB-RT LOUTL", |
| "CVB-RT SPK", "CVB-RT LOUTR", |
| "CVB-RT DMIC1", "CVB-RT MIC", |
| "CVB-RT DMIC2", "CVB-RT MIC"; |
| }; |
| |
| vdd_3v3_dp: regulator-vdd-3v3-dp { |
| compatible = "regulator-fixed"; |
| regulator-name = "VDD_3V3_DP"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| vin-supply = <&vdd_3v3_sys>; |
| gpio = <&gpio TEGRA234_MAIN_GPIO(H, 6) 0>; |
| enable-active-high; |
| regulator-always-on; |
| }; |
| |
| vdd_3v3_sys: regulator-vdd-3v3-sys { |
| compatible = "regulator-fixed"; |
| regulator-name = "VDD_3V3_SYS"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| vdd_3v3_wifi: regulator-vdd-3v3-wifi { |
| compatible = "regulator-fixed"; |
| regulator-name = "VDD_3V3_WIFI"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| gpio = <&gpio TEGRA234_MAIN_GPIO(G, 3) GPIO_ACTIVE_HIGH>; |
| regulator-boot-on; |
| enable-active-high; |
| }; |
| }; |