1// SPDX-License-Identifier: GPL-2.0 2/dts-v1/; 3 4#include <dt-bindings/input/linux-event-codes.h> 5#include <dt-bindings/input/gpio-keys.h> 6#include <dt-bindings/sound/rt5640.h> 7#include "tegra234-p3701-0008.dtsi" 8 9/ { 10 model = "NVIDIA IGX Orin Development Kit"; 11 compatible = "nvidia,p3740-0002+p3701-0008", "nvidia,p3701-0008", "nvidia,tegra234"; 12 13 aliases { 14 serial0 = &tcu; 15 serial1 = &uarta; 16 }; 17 18 chosen { 19 stdout-path = "serial0:115200n8"; 20 }; 21 22 bus@0 { 23 aconnect@2900000 { 24 ahub@2900800 { 25 i2s@2901300 { 26 ports { 27 port@1 { 28 endpoint { 29 dai-format = "i2s"; 30 remote-endpoint = <&rt5640_ep>; 31 }; 32 }; 33 }; 34 }; 35 36 i2s@2901500 { 37 ports { 38 port@1 { 39 endpoint { 40 bitclock-master; 41 frame-master; 42 }; 43 }; 44 }; 45 }; 46 }; 47 }; 48 49 serial@3100000 { 50 compatible = "nvidia,tegra194-hsuart"; 51 reset-names = "serial"; 52 status = "okay"; 53 }; 54 55 i2c@3160000 { 56 status = "okay"; 57 }; 58 59 i2c@3180000 { 60 status = "okay"; 61 }; 62 63 i2c@3190000 { 64 status = "okay"; 65 }; 66 67 i2c@31b0000 { 68 status = "okay"; 69 }; 70 71 i2c@31c0000 { 72 status = "okay"; 73 74 rt5640: audio-codec@1c { 75 compatible = "realtek,rt5640"; 76 reg = <0x1c>; 77 interrupt-parent = <&gpio>; 78 interrupts = <TEGRA234_MAIN_GPIO(F, 3) GPIO_ACTIVE_HIGH>; 79 clocks = <&bpmp TEGRA234_CLK_AUD_MCLK>; 80 clock-names = "mclk"; 81 82 realtek,dmic1-data-pin = <RT5640_DMIC1_DATA_PIN_NONE>; 83 realtek,dmic2-data-pin = <RT5640_DMIC2_DATA_PIN_NONE>; 84 realtek,jack-detect-source = <RT5640_JD_SRC_HDA_HEADER>; 85 86 sound-name-prefix = "CVB-RT"; 87 88 port { 89 rt5640_ep: endpoint { 90 remote-endpoint = <&i2s4_dap>; 91 mclk-fs = <256>; 92 }; 93 }; 94 }; 95 96 /* carrier board ID EEPROM */ 97 eeprom@55 { 98 compatible = "atmel,24c02"; 99 reg = <0x55>; 100 101 label = "system"; 102 vcc-supply = <&vdd_1v8_ls>; 103 address-width = <8>; 104 pagesize = <8>; 105 size = <256>; 106 read-only; 107 }; 108 }; 109 110 i2c@31e0000 { 111 status = "okay"; 112 }; 113 114 spi@3270000 { 115 status = "okay"; 116 }; 117 118 hda@3510000 { 119 nvidia,model = "NVIDIA IGX Orin HDA"; 120 status = "okay"; 121 }; 122 123 padctl@3520000 { 124 status = "okay"; 125 126 pads { 127 usb2 { 128 lanes { 129 usb2-0 { 130 nvidia,function = "xusb"; 131 status = "okay"; 132 }; 133 134 usb2-1 { 135 nvidia,function = "xusb"; 136 status = "okay"; 137 }; 138 139 usb2-2 { 140 nvidia,function = "xusb"; 141 status = "okay"; 142 }; 143 144 usb2-3 { 145 nvidia,function = "xusb"; 146 status = "okay"; 147 }; 148 }; 149 }; 150 151 usb3 { 152 lanes { 153 usb3-0 { 154 nvidia,function = "xusb"; 155 status = "okay"; 156 }; 157 158 usb3-1 { 159 nvidia,function = "xusb"; 160 status = "okay"; 161 }; 162 163 usb3-2 { 164 nvidia,function = "xusb"; 165 status = "okay"; 166 }; 167 }; 168 }; 169 }; 170 171 ports { 172 usb2-0 { 173 mode = "otg"; 174 usb-role-switch; 175 status = "okay"; 176 }; 177 178 usb2-1 { 179 mode = "host"; 180 status = "okay"; 181 }; 182 183 usb2-2 { 184 mode = "host"; 185 status = "okay"; 186 }; 187 188 usb2-3 { 189 mode = "host"; 190 status = "okay"; 191 }; 192 193 usb3-0 { 194 nvidia,usb2-companion = <2>; 195 status = "okay"; 196 }; 197 198 usb3-1 { 199 nvidia,usb2-companion = <0>; 200 status = "okay"; 201 }; 202 203 usb3-2 { 204 nvidia,usb2-companion = <1>; 205 status = "okay"; 206 }; 207 }; 208 }; 209 210 usb@3550000 { 211 status = "okay"; 212 213 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, 214 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>; 215 phy-names = "usb2-0", "usb3-0"; 216 }; 217 218 usb@3610000 { 219 status = "okay"; 220 221 phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>, 222 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-1}>, 223 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-2}>, 224 <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-3}>, 225 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-0}>, 226 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-1}>, 227 <&{/bus@0/padctl@3520000/pads/usb3/lanes/usb3-2}>; 228 phy-names = "usb2-0", "usb2-1", "usb2-2", "usb2-3", 229 "usb3-0", "usb3-1", "usb3-2"; 230 }; 231 232 fuse@3810000 { 233 status = "okay"; 234 }; 235 236 i2c@c240000 { 237 status = "okay"; 238 }; 239 240 i2c@c250000 { 241 status = "okay"; 242 243 power-sensor@41 { 244 compatible = "ti,ina3221"; 245 reg = <0x41>; 246 #address-cells = <1>; 247 #size-cells = <0>; 248 249 input@0 { 250 reg = <0x0>; 251 label = "CVB_ATX_12V"; 252 shunt-resistor-micro-ohms = <2000>; 253 }; 254 255 input@1 { 256 reg = <0x1>; 257 label = "CVB_ATX_3V3"; 258 shunt-resistor-micro-ohms = <2000>; 259 }; 260 261 input@2 { 262 reg = <0x2>; 263 label = "CVB_ATX_5V"; 264 shunt-resistor-micro-ohms = <2000>; 265 }; 266 }; 267 268 power-sensor@44 { 269 compatible = "ti,ina219"; 270 reg = <0x44>; 271 shunt-resistor = <2000>; 272 }; 273 }; 274 275 host1x@13e00000 { 276 nvdec@15480000 { 277 status = "okay"; 278 }; 279 }; 280 281 pcie@140e0000 { 282 status = "okay"; 283 vddio-pex-ctl-supply = <&vdd_1v8_ls>; 284 phys = <&p2u_gbe_4>, <&p2u_gbe_5>; 285 phy-names = "p2u-0", "p2u-1"; 286 }; 287 288 pcie@14100000 { 289 status = "okay"; 290 vddio-pex-ctl-supply = <&vdd_1v8_ao>; 291 vpcie3v3-supply = <&vdd_3v3_wifi>; 292 phys = <&p2u_hsio_3>; 293 phy-names = "p2u-0"; 294 }; 295 296 pcie@14160000 { 297 status = "okay"; 298 vddio-pex-ctl-supply = <&vdd_1v8_ao>; 299 phys = <&p2u_hsio_7>, <&p2u_hsio_6>, <&p2u_hsio_5>, 300 <&p2u_hsio_4>; 301 phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3"; 302 }; 303 304 pcie@141a0000 { 305 status = "okay"; 306 vddio-pex-ctl-supply = <&vdd_1v8_ls>; 307 phys = <&p2u_nvhs_0>, <&p2u_nvhs_1>, <&p2u_nvhs_2>, 308 <&p2u_nvhs_3>, <&p2u_nvhs_4>, <&p2u_nvhs_5>, 309 <&p2u_nvhs_6>, <&p2u_nvhs_7>; 310 phy-names = "p2u-0", "p2u-1", "p2u-2", "p2u-3", "p2u-4", 311 "p2u-5", "p2u-6", "p2u-7"; 312 }; 313 314 pcie@141e0000 { 315 status = "okay"; 316 vddio-pex-ctl-supply = <&vdd_1v8_ls>; 317 phys = <&p2u_gbe_0>, <&p2u_gbe_1>; 318 phy-names = "p2u-0", "p2u-1"; 319 }; 320 }; 321 322 gpio-keys { 323 compatible = "gpio-keys"; 324 status = "okay"; 325 326 key-force-recovery { 327 label = "Force Recovery"; 328 gpios = <&gpio TEGRA234_MAIN_GPIO(G, 0) GPIO_ACTIVE_LOW>; 329 linux,input-type = <EV_KEY>; 330 linux,code = <BTN_1>; 331 }; 332 333 key-power { 334 label = "Power"; 335 gpios = <&gpio_aon TEGRA234_AON_GPIO(EE, 4) GPIO_ACTIVE_LOW>; 336 linux,input-type = <EV_KEY>; 337 linux,code = <KEY_POWER>; 338 wakeup-event-action = <EV_ACT_ASSERTED>; 339 wakeup-source; 340 }; 341 342 key-suspend { 343 label = "Suspend"; 344 gpios = <&gpio TEGRA234_MAIN_GPIO(G, 2) GPIO_ACTIVE_LOW>; 345 linux,input-type = <EV_KEY>; 346 linux,code = <KEY_SLEEP>; 347 }; 348 }; 349 350 serial { 351 status = "okay"; 352 }; 353 354 sound { 355 status = "okay"; 356 357 compatible = "nvidia,tegra186-audio-graph-card"; 358 359 dais = /* ADMAIF (FE) Ports */ 360 <&admaif0_port>, <&admaif1_port>, <&admaif2_port>, <&admaif3_port>, 361 <&admaif4_port>, <&admaif5_port>, <&admaif6_port>, <&admaif7_port>, 362 <&admaif8_port>, <&admaif9_port>, <&admaif10_port>, <&admaif11_port>, 363 <&admaif12_port>, <&admaif13_port>, <&admaif14_port>, <&admaif15_port>, 364 <&admaif16_port>, <&admaif17_port>, <&admaif18_port>, <&admaif19_port>, 365 /* XBAR Ports */ 366 <&xbar_i2s1_port>, <&xbar_i2s2_port>, <&xbar_i2s4_port>, 367 <&xbar_i2s6_port>, <&xbar_dmic3_port>, 368 <&xbar_sfc1_in_port>, <&xbar_sfc2_in_port>, 369 <&xbar_sfc3_in_port>, <&xbar_sfc4_in_port>, 370 <&xbar_mvc1_in_port>, <&xbar_mvc2_in_port>, 371 <&xbar_amx1_in1_port>, <&xbar_amx1_in2_port>, 372 <&xbar_amx1_in3_port>, <&xbar_amx1_in4_port>, 373 <&xbar_amx2_in1_port>, <&xbar_amx2_in2_port>, 374 <&xbar_amx2_in3_port>, <&xbar_amx2_in4_port>, 375 <&xbar_amx3_in1_port>, <&xbar_amx3_in2_port>, 376 <&xbar_amx3_in3_port>, <&xbar_amx3_in4_port>, 377 <&xbar_amx4_in1_port>, <&xbar_amx4_in2_port>, 378 <&xbar_amx4_in3_port>, <&xbar_amx4_in4_port>, 379 <&xbar_adx1_in_port>, <&xbar_adx2_in_port>, 380 <&xbar_adx3_in_port>, <&xbar_adx4_in_port>, 381 <&xbar_mix_in1_port>, <&xbar_mix_in2_port>, 382 <&xbar_mix_in3_port>, <&xbar_mix_in4_port>, 383 <&xbar_mix_in5_port>, <&xbar_mix_in6_port>, 384 <&xbar_mix_in7_port>, <&xbar_mix_in8_port>, 385 <&xbar_mix_in9_port>, <&xbar_mix_in10_port>, 386 <&xbar_asrc_in1_port>, <&xbar_asrc_in2_port>, 387 <&xbar_asrc_in3_port>, <&xbar_asrc_in4_port>, 388 <&xbar_asrc_in5_port>, <&xbar_asrc_in6_port>, 389 <&xbar_asrc_in7_port>, 390 <&xbar_ope1_in_port>, 391 /* HW accelerators */ 392 <&sfc1_out_port>, <&sfc2_out_port>, 393 <&sfc3_out_port>, <&sfc4_out_port>, 394 <&mvc1_out_port>, <&mvc2_out_port>, 395 <&amx1_out_port>, <&amx2_out_port>, 396 <&amx3_out_port>, <&amx4_out_port>, 397 <&adx1_out1_port>, <&adx1_out2_port>, 398 <&adx1_out3_port>, <&adx1_out4_port>, 399 <&adx2_out1_port>, <&adx2_out2_port>, 400 <&adx2_out3_port>, <&adx2_out4_port>, 401 <&adx3_out1_port>, <&adx3_out2_port>, 402 <&adx3_out3_port>, <&adx3_out4_port>, 403 <&adx4_out1_port>, <&adx4_out2_port>, 404 <&adx4_out3_port>, <&adx4_out4_port>, 405 <&mix_out1_port>, <&mix_out2_port>, <&mix_out3_port>, 406 <&mix_out4_port>, <&mix_out5_port>, 407 <&asrc_out1_port>, <&asrc_out2_port>, <&asrc_out3_port>, 408 <&asrc_out4_port>, <&asrc_out5_port>, <&asrc_out6_port>, 409 <&ope1_out_port>, 410 /* BE I/O Ports */ 411 <&i2s1_port>, <&i2s2_port>, <&i2s4_port>, <&i2s6_port>, 412 <&dmic3_port>; 413 414 label = "NVIDIA IGX Orin APE"; 415 416 widgets = "Microphone", "CVB-RT MIC Jack", 417 "Microphone", "CVB-RT MIC", 418 "Headphone", "CVB-RT HP Jack", 419 "Speaker", "CVB-RT SPK"; 420 421 routing = /* I2S4 <-> RT5640 */ 422 "CVB-RT AIF1 Playback", "I2S4 DAP-Playback", 423 "I2S4 DAP-Capture", "CVB-RT AIF1 Capture", 424 /* RT5640 codec controls */ 425 "CVB-RT HP Jack", "CVB-RT HPOL", 426 "CVB-RT HP Jack", "CVB-RT HPOR", 427 "CVB-RT IN1P", "CVB-RT MIC Jack", 428 "CVB-RT IN2P", "CVB-RT MIC Jack", 429 "CVB-RT IN2N", "CVB-RT MIC Jack", 430 "CVB-RT IN3P", "CVB-RT MIC Jack", 431 "CVB-RT SPK", "CVB-RT SPOLP", 432 "CVB-RT SPK", "CVB-RT SPORP", 433 "CVB-RT SPK", "CVB-RT LOUTL", 434 "CVB-RT SPK", "CVB-RT LOUTR", 435 "CVB-RT DMIC1", "CVB-RT MIC", 436 "CVB-RT DMIC2", "CVB-RT MIC"; 437 }; 438 439 vdd_3v3_dp: regulator-vdd-3v3-dp { 440 compatible = "regulator-fixed"; 441 regulator-name = "VDD_3V3_DP"; 442 regulator-min-microvolt = <3300000>; 443 regulator-max-microvolt = <3300000>; 444 vin-supply = <&vdd_3v3_sys>; 445 gpio = <&gpio TEGRA234_MAIN_GPIO(H, 6) 0>; 446 enable-active-high; 447 regulator-always-on; 448 }; 449 450 vdd_3v3_sys: regulator-vdd-3v3-sys { 451 compatible = "regulator-fixed"; 452 regulator-name = "VDD_3V3_SYS"; 453 regulator-min-microvolt = <3300000>; 454 regulator-max-microvolt = <3300000>; 455 }; 456 457 vdd_3v3_wifi: regulator-vdd-3v3-wifi { 458 compatible = "regulator-fixed"; 459 regulator-name = "VDD_3V3_WIFI"; 460 regulator-min-microvolt = <3300000>; 461 regulator-max-microvolt = <3300000>; 462 gpio = <&gpio TEGRA234_MAIN_GPIO(G, 3) GPIO_ACTIVE_HIGH>; 463 regulator-boot-on; 464 enable-active-high; 465 }; 466}; 467