0001 // SPDX-License-Identifier: GPL-2.0
0002
0003 #include <dt-bindings/input/gpio-keys.h>
0004 #include <dt-bindings/input/input.h>
0005 #include <dt-bindings/power/summit,smb347-charger.h>
0006 #include <dt-bindings/thermal/thermal.h>
0007
0008 #include "tegra30.dtsi"
0009 #include "tegra30-cpu-opp.dtsi"
0010 #include "tegra30-cpu-opp-microvolt.dtsi"
0011 #include "tegra30-asus-lvds-display.dtsi"
0012
0013 / {
0014 aliases {
0015 mmc0 = &sdmmc4; /* eMMC */
0016 mmc1 = &sdmmc3; /* WiFi */
0017
0018 rtc0 = &pmic;
0019 rtc1 = "/rtc@7000e000";
0020
0021 serial1 = &uartc; /* Bluetooth */
0022 serial2 = &uartb; /* GPS */
0023 };
0024
0025 /*
0026 * The decompressor and also some bootloaders rely on a
0027 * pre-existing /chosen node to be available to insert the
0028 * command line and merge other ATAGS info.
0029 */
0030 chosen {};
0031
0032 memory@80000000 {
0033 reg = <0x80000000 0x40000000>;
0034 };
0035
0036 reserved-memory {
0037 #address-cells = <1>;
0038 #size-cells = <1>;
0039 ranges;
0040
0041 linux,cma@80000000 {
0042 compatible = "shared-dma-pool";
0043 alloc-ranges = <0x80000000 0x30000000>;
0044 size = <0x10000000>; /* 256MiB */
0045 linux,cma-default;
0046 reusable;
0047 };
0048
0049 ramoops@bfdf0000 {
0050 compatible = "ramoops";
0051 reg = <0xbfdf0000 0x10000>; /* 64kB */
0052 console-size = <0x8000>; /* 32kB */
0053 record-size = <0x400>; /* 1kB */
0054 ecc-size = <16>;
0055 };
0056
0057 trustzone@bfe00000 {
0058 reg = <0xbfe00000 0x200000>;
0059 no-map;
0060 };
0061 };
0062
0063 gpio@6000d000 {
0064 init-mode-hog {
0065 gpio-hog;
0066 gpios = <TEGRA_GPIO(DD, 7) GPIO_ACTIVE_HIGH>,
0067 <TEGRA_GPIO(CC, 6) GPIO_ACTIVE_HIGH>,
0068 <TEGRA_GPIO(R, 0) GPIO_ACTIVE_HIGH>;
0069 output-low;
0070 };
0071
0072 init-low-power-mode-hog {
0073 gpio-hog;
0074 gpios = <TEGRA_GPIO(I, 6) GPIO_ACTIVE_HIGH>;
0075 input;
0076 };
0077 };
0078
0079 pinmux@70000868 {
0080 pinctrl-names = "default";
0081 pinctrl-0 = <&state_default>;
0082
0083 state_default: pinmux {
0084 clk_32k_out_pa0 {
0085 nvidia,pins = "clk_32k_out_pa0";
0086 nvidia,function = "blink";
0087 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0088 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0089 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0090 };
0091 uart3_cts_n_pa1 {
0092 nvidia,pins = "uart3_cts_n_pa1",
0093 "uart3_rxd_pw7";
0094 nvidia,function = "uartc";
0095 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0096 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0097 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0098 };
0099 dap2_fs_pa2 {
0100 nvidia,pins = "dap2_fs_pa2",
0101 "dap2_sclk_pa3",
0102 "dap2_din_pa4",
0103 "dap2_dout_pa5";
0104 nvidia,function = "i2s1";
0105 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0106 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0107 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0108 };
0109 sdmmc3_clk_pa6 {
0110 nvidia,pins = "sdmmc3_clk_pa6";
0111 nvidia,function = "sdmmc3";
0112 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0113 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0114 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0115 };
0116 sdmmc3_cmd_pa7 {
0117 nvidia,pins = "sdmmc3_cmd_pa7",
0118 "sdmmc3_dat3_pb4",
0119 "sdmmc3_dat2_pb5",
0120 "sdmmc3_dat1_pb6",
0121 "sdmmc3_dat0_pb7",
0122 "sdmmc3_dat4_pd1",
0123 "sdmmc3_dat6_pd3",
0124 "sdmmc3_dat7_pd4";
0125 nvidia,function = "sdmmc3";
0126 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0127 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0128 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0129 };
0130 gmi_a17_pb0 {
0131 nvidia,pins = "gmi_a17_pb0",
0132 "gmi_a18_pb1";
0133 nvidia,function = "uartd";
0134 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0135 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0136 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0137 };
0138 lcd_pwr0_pb2 {
0139 nvidia,pins = "lcd_pwr0_pb2",
0140 "lcd_pwr1_pc1",
0141 "lcd_m1_pw1";
0142 nvidia,function = "displaya";
0143 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0144 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0145 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0146 };
0147 lcd_pclk_pb3 {
0148 nvidia,pins = "lcd_pclk_pb3",
0149 "lcd_d0_pe0",
0150 "lcd_d1_pe1",
0151 "lcd_d2_pe2",
0152 "lcd_d3_pe3",
0153 "lcd_d4_pe4",
0154 "lcd_d5_pe5",
0155 "lcd_d6_pe6",
0156 "lcd_d7_pe7",
0157 "lcd_d8_pf0",
0158 "lcd_d9_pf1",
0159 "lcd_d10_pf2",
0160 "lcd_d11_pf3",
0161 "lcd_d12_pf4",
0162 "lcd_d13_pf5",
0163 "lcd_d14_pf6",
0164 "lcd_d15_pf7",
0165 "lcd_de_pj1",
0166 "lcd_hsync_pj3",
0167 "lcd_vsync_pj4",
0168 "lcd_d16_pm0",
0169 "lcd_d17_pm1",
0170 "lcd_d18_pm2",
0171 "lcd_d19_pm3",
0172 "lcd_d20_pm4",
0173 "lcd_d21_pm5",
0174 "lcd_d22_pm6",
0175 "lcd_d23_pm7",
0176 "lcd_cs0_n_pn4",
0177 "lcd_sdout_pn5",
0178 "lcd_dc0_pn6",
0179 "lcd_cs1_n_pw0",
0180 "lcd_sdin_pz2",
0181 "lcd_sck_pz4";
0182 nvidia,function = "displaya";
0183 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0184 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0185 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0186 };
0187 uart3_rts_n_pc0 {
0188 nvidia,pins = "uart3_rts_n_pc0",
0189 "uart3_txd_pw6";
0190 nvidia,function = "uartc";
0191 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0192 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0193 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0194 };
0195 uart2_txd_pc2 {
0196 nvidia,pins = "uart2_txd_pc2",
0197 "uart2_rts_n_pj6";
0198 nvidia,function = "uartb";
0199 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0200 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0201 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0202 };
0203 uart2_rxd_pc3 {
0204 nvidia,pins = "uart2_rxd_pc3",
0205 "uart2_cts_n_pj5";
0206 nvidia,function = "uartb";
0207 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0208 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0209 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0210 };
0211 gen1_i2c_scl_pc4 {
0212 nvidia,pins = "gen1_i2c_scl_pc4",
0213 "gen1_i2c_sda_pc5";
0214 nvidia,function = "i2c1";
0215 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0216 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0217 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0218 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
0219 };
0220 gmi_wp_n_pc7 {
0221 nvidia,pins = "gmi_wp_n_pc7",
0222 "gmi_wait_pi7",
0223 "gmi_cs4_n_pk2",
0224 "gmi_cs3_n_pk4";
0225 nvidia,function = "rsvd1";
0226 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0227 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0228 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0229 };
0230 gmi_ad12_ph4 {
0231 nvidia,pins = "gmi_ad12_ph4",
0232 "gmi_cs0_n_pj0",
0233 "gmi_cs1_n_pj2",
0234 "gmi_cs2_n_pk3";
0235 nvidia,function = "rsvd1";
0236 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0237 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0238 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0239 };
0240 sdmmc3_dat5_pd0 {
0241 nvidia,pins = "sdmmc3_dat5_pd0";
0242 nvidia,function = "sdmmc3";
0243 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0244 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0245 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0246 };
0247 gmi_ad0_pg0 {
0248 nvidia,pins = "gmi_ad0_pg0",
0249 "gmi_ad1_pg1",
0250 "gmi_ad14_ph6",
0251 "pu1";
0252 nvidia,function = "rsvd1";
0253 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0254 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0255 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0256 };
0257 gmi_ad2_pg2 {
0258 nvidia,pins = "gmi_ad2_pg2",
0259 "gmi_ad3_pg3",
0260 "gmi_ad6_pg6",
0261 "gmi_ad7_pg7";
0262 nvidia,function = "rsvd1";
0263 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
0264 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0265 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0266 };
0267 gmi_ad4_pg4 {
0268 nvidia,pins = "gmi_ad4_pg4",
0269 "gmi_ad5_pg5";
0270 nvidia,function = "nand";
0271 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0272 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0273 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0274 };
0275 gmi_ad8_ph0 {
0276 nvidia,pins = "gmi_ad8_ph0";
0277 nvidia,function = "pwm0";
0278 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0279 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0280 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0281 };
0282 gmi_ad9_ph1 {
0283 nvidia,pins = "gmi_ad9_ph1";
0284 nvidia,function = "rsvd4";
0285 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
0286 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0287 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0288 };
0289 gmi_ad10_ph2 {
0290 nvidia,pins = "gmi_ad10_ph2";
0291 nvidia,function = "pwm2";
0292 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0293 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0294 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0295 };
0296 gmi_ad11_ph3 {
0297 nvidia,pins = "gmi_ad11_ph3";
0298 nvidia,function = "pwm3";
0299 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0300 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0301 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0302 };
0303 gmi_ad13_ph5 {
0304 nvidia,pins = "gmi_ad13_ph5",
0305 "gmi_wr_n_pi0",
0306 "gmi_oe_n_pi1",
0307 "gmi_adv_n_pk0";
0308 nvidia,function = "rsvd1";
0309 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0310 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0311 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0312 };
0313 gmi_ad15_ph7 {
0314 nvidia,pins = "gmi_ad15_ph7";
0315 nvidia,function = "rsvd1";
0316 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0317 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0318 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0319 };
0320 gmi_dqs_pi2 {
0321 nvidia,pins = "gmi_dqs_pi2",
0322 "pu2",
0323 "pv1";
0324 nvidia,function = "rsvd1";
0325 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0326 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0327 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0328 };
0329 gmi_rst_n_pi4 {
0330 nvidia,pins = "gmi_rst_n_pi4";
0331 nvidia,function = "nand";
0332 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0333 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0334 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0335 };
0336 gmi_iordy_pi5 {
0337 nvidia,pins = "gmi_iordy_pi5";
0338 nvidia,function = "rsvd1";
0339 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0340 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0341 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0342 };
0343 gmi_cs7_n_pi6 {
0344 nvidia,pins = "gmi_cs7_n_pi6",
0345 "gmi_clk_pk1";
0346 nvidia,function = "nand";
0347 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0348 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0349 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0350 };
0351 gmi_a16_pj7 {
0352 nvidia,pins = "gmi_a16_pj7",
0353 "gmi_a19_pk7";
0354 nvidia,function = "uartd";
0355 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0356 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0357 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0358 };
0359 spdif_out_pk5 {
0360 nvidia,pins = "spdif_out_pk5";
0361 nvidia,function = "spdif";
0362 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0363 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0364 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0365 };
0366 spdif_in_pk6 {
0367 nvidia,pins = "spdif_in_pk6";
0368 nvidia,function = "spdif";
0369 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0370 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0371 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0372 };
0373 dap1_fs_pn0 {
0374 nvidia,pins = "dap1_fs_pn0",
0375 "dap1_din_pn1",
0376 "dap1_dout_pn2",
0377 "dap1_sclk_pn3";
0378 nvidia,function = "i2s0";
0379 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0380 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0381 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0382 };
0383 hdmi_int_pn7 {
0384 nvidia,pins = "hdmi_int_pn7";
0385 nvidia,function = "hdmi";
0386 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0387 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0388 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0389 };
0390 ulpi_data7_po0 {
0391 nvidia,pins = "ulpi_data7_po0";
0392 nvidia,function = "uarta";
0393 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0394 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0395 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0396 };
0397 ulpi_data3_po4 {
0398 nvidia,pins = "ulpi_data3_po4";
0399 nvidia,function = "ulpi";
0400 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0401 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0402 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0403 };
0404 dap3_fs_pp0 {
0405 nvidia,pins = "dap3_fs_pp0";
0406 nvidia,function = "i2s2";
0407 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0408 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0409 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0410 };
0411 dap4_fs_pp4 {
0412 nvidia,pins = "dap4_fs_pp4",
0413 "dap4_din_pp5",
0414 "dap4_dout_pp6",
0415 "dap4_sclk_pp7";
0416 nvidia,function = "i2s3";
0417 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0418 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0419 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0420 };
0421 kb_col0_pq0 {
0422 nvidia,pins = "kb_col0_pq0",
0423 "kb_col1_pq1",
0424 "kb_row1_pr1";
0425 nvidia,function = "kbc";
0426 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0427 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0428 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0429 };
0430 kb_col2_pq2 {
0431 nvidia,pins = "kb_col2_pq2",
0432 "kb_col3_pq3";
0433 nvidia,function = "rsvd4";
0434 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0435 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0436 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0437 };
0438 kb_col4_pq4 {
0439 nvidia,pins = "kb_col4_pq4",
0440 "kb_col5_pq5",
0441 "kb_col7_pq7",
0442 "kb_row2_pr2",
0443 "kb_row4_pr4",
0444 "kb_row5_pr5",
0445 "kb_row14_ps6";
0446 nvidia,function = "kbc";
0447 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0448 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0449 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0450 };
0451 kb_row0_pr0 {
0452 nvidia,pins = "kb_row0_pr0";
0453 nvidia,function = "rsvd4";
0454 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0455 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0456 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0457 };
0458 kb_row6_pr6 {
0459 nvidia,pins = "kb_row6_pr6",
0460 "kb_row8_ps0",
0461 "kb_row9_ps1",
0462 "kb_row10_ps2";
0463 nvidia,function = "kbc";
0464 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0465 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0466 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0467 };
0468 kb_row11_ps3 {
0469 nvidia,pins = "kb_row11_ps3",
0470 "kb_row12_ps4";
0471 nvidia,function = "kbc";
0472 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0473 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0474 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0475 };
0476 gen2_i2c_scl_pt5 {
0477 nvidia,pins = "gen2_i2c_scl_pt5",
0478 "gen2_i2c_sda_pt6";
0479 nvidia,function = "i2c2";
0480 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0481 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0482 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0483 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
0484 };
0485 sdmmc4_cmd_pt7 {
0486 nvidia,pins = "sdmmc4_cmd_pt7",
0487 "sdmmc4_dat0_paa0",
0488 "sdmmc4_dat1_paa1",
0489 "sdmmc4_dat2_paa2",
0490 "sdmmc4_dat3_paa3",
0491 "sdmmc4_dat4_paa4",
0492 "sdmmc4_dat5_paa5",
0493 "sdmmc4_dat6_paa6",
0494 "sdmmc4_dat7_paa7";
0495 nvidia,function = "sdmmc4";
0496 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0497 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0498 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0499 };
0500 pu0 {
0501 nvidia,pins = "pu0",
0502 "pu6";
0503 nvidia,function = "rsvd4";
0504 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0505 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0506 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0507 };
0508 jtag_rtck_pu7 {
0509 nvidia,pins = "jtag_rtck_pu7";
0510 nvidia,function = "rtck";
0511 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0512 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0513 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0514 };
0515 pv0 {
0516 nvidia,pins = "pv0";
0517 nvidia,function = "rsvd1";
0518 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0519 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0520 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0521 };
0522 ddc_scl_pv4 {
0523 nvidia,pins = "ddc_scl_pv4",
0524 "ddc_sda_pv5";
0525 nvidia,function = "i2c4";
0526 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0527 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0528 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0529 };
0530 crt_hsync_pv6 {
0531 nvidia,pins = "crt_hsync_pv6",
0532 "crt_vsync_pv7";
0533 nvidia,function = "crt";
0534 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0535 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0536 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0537 };
0538 spi2_cs1_n_pw2 {
0539 nvidia,pins = "spi2_cs1_n_pw2",
0540 "spi2_miso_px1",
0541 "spi2_sck_px2";
0542 nvidia,function = "spi2";
0543 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0544 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0545 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0546 };
0547 clk1_out_pw4 {
0548 nvidia,pins = "clk1_out_pw4";
0549 nvidia,function = "extperiph1";
0550 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0551 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0552 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0553 };
0554 clk2_out_pw5 {
0555 nvidia,pins = "clk2_out_pw5";
0556 nvidia,function = "extperiph2";
0557 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0558 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0559 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0560 };
0561 spi2_cs0_n_px3 {
0562 nvidia,pins = "spi2_cs0_n_px3";
0563 nvidia,function = "spi6";
0564 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0565 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0566 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0567 };
0568 spi1_mosi_px4 {
0569 nvidia,pins = "spi1_mosi_px4",
0570 "spi1_cs0_n_px6";
0571 nvidia,function = "spi1";
0572 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0573 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0574 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0575 };
0576 ulpi_clk_py0 {
0577 nvidia,pins = "ulpi_clk_py0",
0578 "ulpi_dir_py1";
0579 nvidia,function = "ulpi";
0580 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0581 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0582 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0583 };
0584 sdmmc1_dat3_py4 {
0585 nvidia,pins = "sdmmc1_dat3_py4",
0586 "sdmmc1_dat2_py5",
0587 "sdmmc1_dat1_py6",
0588 "sdmmc1_dat0_py7",
0589 "sdmmc1_cmd_pz1";
0590 nvidia,function = "sdmmc1";
0591 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0592 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0593 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0594 };
0595 sdmmc1_clk_pz0 {
0596 nvidia,pins = "sdmmc1_clk_pz0";
0597 nvidia,function = "sdmmc1";
0598 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0599 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0600 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0601 };
0602 lcd_wr_n_pz3 {
0603 nvidia,pins = "lcd_wr_n_pz3";
0604 nvidia,function = "displaya";
0605 nvidia,pull = <TEGRA_PIN_PULL_UP>;
0606 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0607 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0608 };
0609 sys_clk_req_pz5 {
0610 nvidia,pins = "sys_clk_req_pz5";
0611 nvidia,function = "sysclk";
0612 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0613 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0614 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0615 };
0616 pwr_i2c_scl_pz6 {
0617 nvidia,pins = "pwr_i2c_scl_pz6",
0618 "pwr_i2c_sda_pz7";
0619 nvidia,function = "i2cpwr";
0620 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0621 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0622 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0623 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
0624 };
0625 pbb0 {
0626 nvidia,pins = "pbb0",
0627 "pcc1";
0628 nvidia,function = "rsvd2";
0629 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0630 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0631 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0632 };
0633 cam_i2c_scl_pbb1 {
0634 nvidia,pins = "cam_i2c_scl_pbb1",
0635 "cam_i2c_sda_pbb2";
0636 nvidia,function = "i2c3";
0637 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0638 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0639 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0640 nvidia,open-drain = <TEGRA_PIN_ENABLE>;
0641 };
0642 pbb3 {
0643 nvidia,pins = "pbb3";
0644 nvidia,function = "vgp3";
0645 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0646 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0647 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0648 };
0649 pbb4 {
0650 nvidia,pins = "pbb4";
0651 nvidia,function = "vgp4";
0652 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0653 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0654 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0655 };
0656 pbb5 {
0657 nvidia,pins = "pbb5";
0658 nvidia,function = "vgp5";
0659 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0660 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0661 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0662 };
0663 pbb6 {
0664 nvidia,pins = "pbb6";
0665 nvidia,function = "vgp6";
0666 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0667 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0668 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0669 };
0670 pbb7 {
0671 nvidia,pins = "pbb7",
0672 "pcc2";
0673 nvidia,function = "i2s4";
0674 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0675 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0676 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0677 };
0678 cam_mclk_pcc0 {
0679 nvidia,pins = "cam_mclk_pcc0";
0680 nvidia,function = "vi_alt3";
0681 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
0682 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0683 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0684 };
0685 sdmmc4_rst_n_pcc3 {
0686 nvidia,pins = "sdmmc4_rst_n_pcc3";
0687 nvidia,function = "rsvd2";
0688 nvidia,pull = <TEGRA_PIN_PULL_DOWN>;
0689 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0690 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0691 };
0692 sdmmc4_clk_pcc4 {
0693 nvidia,pins = "sdmmc4_clk_pcc4";
0694 nvidia,function = "sdmmc4";
0695 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0696 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0697 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0698 };
0699 clk2_req_pcc5 {
0700 nvidia,pins = "clk2_req_pcc5";
0701 nvidia,function = "dap";
0702 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0703 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0704 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0705 };
0706 pex_l2_rst_n_pcc6 {
0707 nvidia,pins = "pex_l2_rst_n_pcc6",
0708 "pex_l2_clkreq_n_pcc7";
0709 nvidia,function = "pcie";
0710 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0711 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0712 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0713 };
0714 pex_wake_n_pdd3 {
0715 nvidia,pins = "pex_wake_n_pdd3",
0716 "pex_l2_prsnt_n_pdd7";
0717 nvidia,function = "pcie";
0718 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0719 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0720 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0721 };
0722 clk3_out_pee0 {
0723 nvidia,pins = "clk3_out_pee0";
0724 nvidia,function = "extperiph3";
0725 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0726 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0727 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0728 };
0729 clk1_req_pee2 {
0730 nvidia,pins = "clk1_req_pee2";
0731 nvidia,function = "dap";
0732 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0733 nvidia,tristate = <TEGRA_PIN_ENABLE>;
0734 nvidia,enable-input = <TEGRA_PIN_DISABLE>;
0735 };
0736 hdmi_cec_pee3 {
0737 nvidia,pins = "hdmi_cec_pee3";
0738 nvidia,function = "cec";
0739 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0740 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0741 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0742 nvidia,open-drain = <TEGRA_PIN_DISABLE>;
0743 };
0744 owr {
0745 nvidia,pins = "owr";
0746 nvidia,function = "owr";
0747 nvidia,pull = <TEGRA_PIN_PULL_NONE>;
0748 nvidia,tristate = <TEGRA_PIN_DISABLE>;
0749 nvidia,enable-input = <TEGRA_PIN_ENABLE>;
0750 };
0751 drive_dap1 {
0752 nvidia,pins = "drive_dap1",
0753 "drive_dap2",
0754 "drive_dbg",
0755 "drive_at5",
0756 "drive_gme",
0757 "drive_ddc",
0758 "drive_ao1",
0759 "drive_uart3";
0760 nvidia,high-speed-mode = <0>;
0761 nvidia,schmitt = <TEGRA_PIN_ENABLE>;
0762 nvidia,low-power-mode = <TEGRA_PIN_LP_DRIVE_DIV_1>;
0763 nvidia,pull-down-strength = <31>;
0764 nvidia,pull-up-strength = <31>;
0765 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FASTEST>;
0766 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FASTEST>;
0767 };
0768 drive_sdio1 {
0769 nvidia,pins = "drive_sdio1",
0770 "drive_sdio3";
0771 nvidia,high-speed-mode = <0>;
0772 nvidia,schmitt = <TEGRA_PIN_DISABLE>;
0773 nvidia,pull-down-strength = <46>;
0774 nvidia,pull-up-strength = <42>;
0775 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_FAST>;
0776 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_FAST>;
0777 };
0778 drive_gma {
0779 nvidia,pins = "drive_gma",
0780 "drive_gmb",
0781 "drive_gmc",
0782 "drive_gmd";
0783 nvidia,pull-down-strength = <9>;
0784 nvidia,pull-up-strength = <9>;
0785 nvidia,slew-rate-rising = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
0786 nvidia,slew-rate-falling = <TEGRA_PIN_SLEW_RATE_SLOWEST>;
0787 };
0788 };
0789 };
0790
0791 uartb: serial@70006040 {
0792 compatible = "nvidia,tegra30-hsuart";
0793 /delete-property/ reg-shift;
0794 /* GPS BCM4751 */
0795 };
0796
0797 uartc: serial@70006200 {
0798 compatible = "nvidia,tegra30-hsuart";
0799 /delete-property/ reg-shift;
0800 status = "okay";
0801
0802 nvidia,adjust-baud-rates = <0 9600 100>,
0803 <9600 115200 200>,
0804 <1000000 4000000 136>;
0805
0806 /* Azurewave AW-NH665 BCM4330B1 */
0807 bluetooth {
0808 compatible = "brcm,bcm4330-bt";
0809
0810 interrupt-parent = <&gpio>;
0811 interrupts = <TEGRA_GPIO(U, 6) IRQ_TYPE_EDGE_RISING>;
0812 interrupt-names = "host-wakeup";
0813
0814 max-speed = <4000000>;
0815
0816 clocks = <&tegra_pmc TEGRA_PMC_CLK_BLINK>;
0817 clock-names = "txco";
0818
0819 vbat-supply = <&vdd_3v3_sys>;
0820 vddio-supply = <&vdd_1v8>;
0821
0822 device-wakeup-gpios = <&gpio TEGRA_GPIO(U, 1) GPIO_ACTIVE_HIGH>;
0823 shutdown-gpios = <&gpio TEGRA_GPIO(U, 0) GPIO_ACTIVE_HIGH>;
0824 };
0825 };
0826
0827 pwm: pwm@7000a000 {
0828 status = "okay";
0829 };
0830
0831 i2c@7000c400 {
0832 clock-frequency = <400000>;
0833 status = "okay";
0834
0835 touchscreen@10 {
0836 compatible = "elan,ektf3624";
0837 reg = <0x10>;
0838
0839 interrupt-parent = <&gpio>;
0840 interrupts = <TEGRA_GPIO(H, 4) IRQ_TYPE_LEVEL_LOW>;
0841
0842 reset-gpios = <&gpio TEGRA_GPIO(H, 6) GPIO_ACTIVE_LOW>;
0843
0844 vcc33-supply = <&vcc_3v3_ts>;
0845 vccio-supply = <&vcc_3v3_ts>;
0846
0847 touchscreen-size-x = <2112>;
0848 touchscreen-size-y = <1280>;
0849 touchscreen-swapped-x-y;
0850 touchscreen-inverted-x;
0851 };
0852 };
0853
0854 i2c@7000c500 {
0855 clock-frequency = <100000>;
0856 status = "okay";
0857
0858 compass@e {
0859 compatible = "asahi-kasei,ak8974";
0860 reg = <0x0e>;
0861
0862 interrupt-parent = <&gpio>;
0863 interrupts = <TEGRA_GPIO(W, 0) IRQ_TYPE_EDGE_RISING>;
0864
0865 avdd-supply = <&vdd_3v3_sys>;
0866 dvdd-supply = <&vdd_1v8>;
0867
0868 mount-matrix = "0", "-1", "0",
0869 "-1", "0", "0",
0870 "0", "0", "-1";
0871 };
0872
0873 light-sensor@1c {
0874 compatible = "dynaimage,al3010";
0875 reg = <0x1c>;
0876
0877 interrupt-parent = <&gpio>;
0878 interrupts = <TEGRA_GPIO(Z, 2) IRQ_TYPE_LEVEL_HIGH>;
0879
0880 vdd-supply = <&vdd_3v3_sys>;
0881 };
0882
0883 accelerometer@68 {
0884 compatible = "invensense,mpu6050";
0885 reg = <0x68>;
0886
0887 interrupt-parent = <&gpio>;
0888 interrupts = <TEGRA_GPIO(X, 1) IRQ_TYPE_EDGE_RISING>;
0889
0890 vdd-supply = <&vdd_3v3_sys>;
0891 vddio-supply = <&vdd_1v8>;
0892
0893 mount-matrix = "0", "-1", "0",
0894 "-1", "0", "0",
0895 "0", "0", "-1";
0896 };
0897 };
0898
0899 i2c@7000d000 {
0900 clock-frequency = <100000>;
0901 status = "okay";
0902
0903 rt5640: audio-codec@1c {
0904 compatible = "realtek,rt5640";
0905 reg = <0x1c>;
0906
0907 realtek,dmic1-data-pin = <1>;
0908 };
0909
0910 nct72: temperature-sensor@4c {
0911 compatible = "onnn,nct1008";
0912 reg = <0x4c>;
0913 vcc-supply = <&vdd_3v3_sys>;
0914
0915 interrupt-parent = <&gpio>;
0916 interrupts = <TEGRA_GPIO(S, 3) IRQ_TYPE_EDGE_FALLING>;
0917
0918 #thermal-sensor-cells = <1>;
0919 };
0920
0921 fuel-gauge@55 {
0922 compatible = "ti,bq27541";
0923 reg = <0x55>;
0924 power-supplies = <&power_supply>;
0925 };
0926
0927 power_supply: charger@6a {
0928 compatible = "summit,smb347";
0929 reg = <0x6a>;
0930
0931 interrupt-parent = <&gpio>;
0932 interrupts = <TEGRA_GPIO(V, 1) IRQ_TYPE_EDGE_BOTH>;
0933
0934 summit,enable-charge-control = <SMB3XX_CHG_ENABLE_PIN_ACTIVE_LOW>;
0935 summit,inok-polarity = <SMB3XX_SYSOK_INOK_ACTIVE_LOW>;
0936 summit,enable-usb-charging;
0937
0938 monitored-battery = <&battery_cell>;
0939
0940 usb_vbus: usb-vbus {
0941 regulator-name = "usb_vbus";
0942 regulator-min-microvolt = <5000000>;
0943 regulator-max-microvolt = <5000000>;
0944 regulator-min-microamp = <750000>;
0945 regulator-max-microamp = <750000>;
0946
0947 /*
0948 * SMB347 INOK input pin is connected to PMIC's
0949 * ACOK output, which is fixed to ACTIVE_LOW as
0950 * long as battery voltage is in a good range.
0951 *
0952 * Active INOK disables SMB347 output, so polarity
0953 * needs to be toggled when we want to get the
0954 * output.
0955 */
0956 summit,needs-inok-toggle;
0957 };
0958 };
0959 };
0960
0961 pmc@7000e400 {
0962 status = "okay";
0963 nvidia,invert-interrupt;
0964 nvidia,suspend-mode = <1>;
0965 nvidia,cpu-pwr-good-time = <2000>;
0966 nvidia,cpu-pwr-off-time = <200>;
0967 nvidia,core-pwr-good-time = <3845 3845>;
0968 nvidia,core-pwr-off-time = <0>;
0969 nvidia,core-power-req-active-high;
0970 nvidia,sys-clock-req-active-high;
0971 core-supply = <&vdd_core>;
0972 };
0973
0974 ahub@70080000 {
0975 i2s@70080400 {
0976 status = "okay";
0977 };
0978 };
0979
0980 brcm_wifi_pwrseq: wifi-pwrseq {
0981 compatible = "mmc-pwrseq-simple";
0982
0983 clocks = <&tegra_pmc TEGRA_PMC_CLK_BLINK>;
0984 clock-names = "ext_clock";
0985
0986 reset-gpios = <&gpio TEGRA_GPIO(D, 4) GPIO_ACTIVE_LOW>;
0987 post-power-on-delay-ms = <300>;
0988 power-off-delay-us = <300>;
0989 };
0990
0991 sdmmc3: mmc@78000400 {
0992 status = "okay";
0993
0994 #address-cells = <1>;
0995 #size-cells = <0>;
0996
0997 assigned-clocks = <&tegra_car TEGRA30_CLK_SDMMC3>;
0998 assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_C>;
0999 assigned-clock-rates = <50000000>;
1000
1001 max-frequency = <50000000>;
1002 keep-power-in-suspend;
1003 bus-width = <4>;
1004 non-removable;
1005
1006 mmc-pwrseq = <&brcm_wifi_pwrseq>;
1007 vmmc-supply = <&vdd_3v3_sys>;
1008 vqmmc-supply = <&vdd_1v8>;
1009
1010 /* Azurewave AW-NH665 BCM4330 */
1011 wifi@1 {
1012 reg = <1>;
1013 compatible = "brcm,bcm4329-fmac";
1014 interrupt-parent = <&gpio>;
1015 interrupts = <TEGRA_GPIO(O, 4) IRQ_TYPE_LEVEL_HIGH>;
1016 interrupt-names = "host-wake";
1017 };
1018 };
1019
1020 sdmmc4: mmc@78000600 {
1021 status = "okay";
1022 bus-width = <8>;
1023 vmmc-supply = <&vcore_emmc>;
1024 vqmmc-supply = <&vdd_1v8>;
1025 non-removable;
1026 };
1027
1028 usb@7d000000 {
1029 compatible = "nvidia,tegra30-udc";
1030 status = "okay";
1031 dr_mode = "otg";
1032 vbus-supply = <&usb_vbus>;
1033 };
1034
1035 usb-phy@7d000000 {
1036 status = "okay";
1037 dr_mode = "otg";
1038 nvidia,hssync-start-delay = <0>;
1039 nvidia,xcvr-lsfslew = <2>;
1040 nvidia,xcvr-lsrslew = <2>;
1041 };
1042
1043 backlight: backlight {
1044 compatible = "pwm-backlight";
1045
1046 power-supply = <&vdd_5v0_sys>;
1047 pwms = <&pwm 0 50000>;
1048
1049 brightness-levels = <1 255>;
1050 num-interpolated-steps = <254>;
1051 default-brightness-level = <15>;
1052 };
1053
1054 battery_cell: battery-cell {
1055 compatible = "simple-battery";
1056 constant-charge-current-max-microamp = <1800000>;
1057 operating-range-celsius = <0 45>;
1058 };
1059
1060 /* PMIC has a built-in 32KHz oscillator which is used by PMC */
1061 clk32k_in: clock-32k {
1062 compatible = "fixed-clock";
1063 #clock-cells = <0>;
1064 clock-frequency = <32768>;
1065 clock-output-names = "pmic-oscillator";
1066 };
1067
1068 cpus {
1069 cpu0: cpu@0 {
1070 cpu-supply = <&vdd_cpu>;
1071 operating-points-v2 = <&cpu0_opp_table>;
1072 #cooling-cells = <2>;
1073 };
1074
1075 cpu1: cpu@1 {
1076 cpu-supply = <&vdd_cpu>;
1077 operating-points-v2 = <&cpu0_opp_table>;
1078 #cooling-cells = <2>;
1079 };
1080
1081 cpu2: cpu@2 {
1082 cpu-supply = <&vdd_cpu>;
1083 operating-points-v2 = <&cpu0_opp_table>;
1084 #cooling-cells = <2>;
1085 };
1086
1087 cpu3: cpu@3 {
1088 cpu-supply = <&vdd_cpu>;
1089 operating-points-v2 = <&cpu0_opp_table>;
1090 #cooling-cells = <2>;
1091 };
1092 };
1093
1094 display-panel {
1095 /*
1096 * Nexus 7 supports two compatible panel models:
1097 *
1098 * 1. hydis,hv070wx2-1e0
1099 * 2. chunghwa,claa070wp03xg
1100 *
1101 * We want to use timing which is optimized for Nexus 7,
1102 * hence we need to customize the timing.
1103 */
1104 compatible = "panel-lvds";
1105
1106 width-mm = <94>;
1107 height-mm = <150>;
1108 rotation = <180>;
1109
1110 data-mapping = "jeida-24";
1111
1112 /* DDC unconnected on Nexus 7 */
1113 /delete-property/ ddc-i2c-bus;
1114 };
1115
1116 firmware {
1117 trusted-foundations {
1118 compatible = "tlm,trusted-foundations";
1119 tlm,version-major = <0x0>;
1120 tlm,version-minor = <0x0>;
1121 };
1122 };
1123
1124 gpio-keys {
1125 compatible = "gpio-keys";
1126
1127 switch-hall-sensor {
1128 label = "Lid";
1129 gpios = <&gpio TEGRA_GPIO(S, 6) GPIO_ACTIVE_LOW>;
1130 linux,input-type = <EV_SW>;
1131 linux,code = <SW_LID>;
1132 debounce-interval = <500>;
1133 wakeup-event-action = <EV_ACT_DEASSERTED>;
1134 wakeup-source;
1135 };
1136
1137 key-power {
1138 label = "Power";
1139 gpios = <&gpio TEGRA_GPIO(V, 0) GPIO_ACTIVE_LOW>;
1140 linux,code = <KEY_POWER>;
1141 debounce-interval = <10>;
1142 wakeup-event-action = <EV_ACT_ASSERTED>;
1143 wakeup-source;
1144 };
1145
1146 key-volume-up {
1147 label = "Volume Up";
1148 gpios = <&gpio TEGRA_GPIO(Q, 2) GPIO_ACTIVE_LOW>;
1149 linux,code = <KEY_VOLUMEUP>;
1150 debounce-interval = <10>;
1151 wakeup-event-action = <EV_ACT_ASSERTED>;
1152 wakeup-source;
1153 };
1154
1155 key-volume-down {
1156 label = "Volume Down";
1157 gpios = <&gpio TEGRA_GPIO(Q, 3) GPIO_ACTIVE_LOW>;
1158 linux,code = <KEY_VOLUMEDOWN>;
1159 debounce-interval = <10>;
1160 wakeup-event-action = <EV_ACT_ASSERTED>;
1161 wakeup-source;
1162 };
1163 };
1164
1165 vdd_5v0_sys: regulator-5v0 {
1166 compatible = "regulator-fixed";
1167 regulator-name = "vdd_5v0";
1168 regulator-min-microvolt = <5000000>;
1169 regulator-max-microvolt = <5000000>;
1170 regulator-always-on;
1171 regulator-boot-on;
1172 };
1173
1174 vdd_3v3_sys: regulator-3v3 {
1175 compatible = "regulator-fixed";
1176 regulator-name = "vdd_3v3";
1177 regulator-min-microvolt = <3300000>;
1178 regulator-max-microvolt = <3300000>;
1179 regulator-always-on;
1180 regulator-boot-on;
1181 vin-supply = <&vdd_5v0_sys>;
1182 };
1183
1184 vdd_pnl: regulator-panel {
1185 compatible = "regulator-fixed";
1186 regulator-name = "vdd_panel";
1187 regulator-min-microvolt = <3300000>;
1188 regulator-max-microvolt = <3300000>;
1189 regulator-enable-ramp-delay = <300000>;
1190 gpio = <&gpio TEGRA_GPIO(W, 1) GPIO_ACTIVE_HIGH>;
1191 enable-active-high;
1192 vin-supply = <&vdd_3v3_sys>;
1193 };
1194
1195 vcc_3v3_ts: regulator-ts {
1196 compatible = "regulator-fixed";
1197 regulator-name = "ldo_s-1167_3v3";
1198 regulator-min-microvolt = <3300000>;
1199 regulator-max-microvolt = <3300000>;
1200 regulator-always-on;
1201 regulator-boot-on;
1202 vin-supply = <&vdd_5v0_sys>;
1203 };
1204
1205 sound {
1206 compatible = "nvidia,tegra-audio-rt5640-grouper",
1207 "nvidia,tegra-audio-rt5640";
1208 nvidia,model = "ASUS Google Nexus 7 ALC5642";
1209
1210 nvidia,audio-routing =
1211 "Headphones", "HPOR",
1212 "Headphones", "HPOL",
1213 "Speakers", "SPORP",
1214 "Speakers", "SPORN",
1215 "Speakers", "SPOLP",
1216 "Speakers", "SPOLN",
1217 "DMIC1", "Mic Jack";
1218
1219 nvidia,i2s-controller = <&tegra_i2s1>;
1220 nvidia,audio-codec = <&rt5640>;
1221
1222 nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(W, 2) GPIO_ACTIVE_LOW>;
1223
1224 clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
1225 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
1226 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
1227 clock-names = "pll_a", "pll_a_out0", "mclk";
1228
1229 assigned-clocks = <&tegra_car TEGRA30_CLK_EXTERN1>,
1230 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
1231
1232 assigned-clock-parents = <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
1233 <&tegra_car TEGRA30_CLK_EXTERN1>;
1234 };
1235
1236 thermal-zones {
1237 /*
1238 * NCT72 has two sensors:
1239 *
1240 * 0: internal that monitors ambient/skin temperature
1241 * 1: external that is connected to the CPU's diode
1242 *
1243 * Ideally we should use userspace thermal governor,
1244 * but it's a much more complex solution. The "skin"
1245 * zone is a simpler solution which prevents Nexus 7
1246 * from getting too hot from a user's tactile perspective.
1247 * The CPU zone is intended to protect silicon from damage.
1248 */
1249
1250 skin-thermal {
1251 polling-delay-passive = <1000>; /* milliseconds */
1252 polling-delay = <5000>; /* milliseconds */
1253
1254 thermal-sensors = <&nct72 0>;
1255
1256 trips {
1257 trip0: skin-alert {
1258 /* throttle at 57C until temperature drops to 56.8C */
1259 temperature = <57000>;
1260 hysteresis = <200>;
1261 type = "passive";
1262 };
1263
1264 trip1: skin-crit {
1265 /* shut down at 65C */
1266 temperature = <65000>;
1267 hysteresis = <2000>;
1268 type = "critical";
1269 };
1270 };
1271
1272 cooling-maps {
1273 map0 {
1274 trip = <&trip0>;
1275 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1276 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1277 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1278 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1279 <&actmon THERMAL_NO_LIMIT
1280 THERMAL_NO_LIMIT>;
1281 };
1282 };
1283 };
1284
1285 cpu-thermal {
1286 polling-delay-passive = <1000>; /* milliseconds */
1287 polling-delay = <5000>; /* milliseconds */
1288
1289 thermal-sensors = <&nct72 1>;
1290
1291 trips {
1292 trip2: cpu-alert {
1293 /* throttle at 85C until temperature drops to 84.8C */
1294 temperature = <85000>;
1295 hysteresis = <200>;
1296 type = "passive";
1297 };
1298
1299 trip3: cpu-crit {
1300 /* shut down at 90C */
1301 temperature = <90000>;
1302 hysteresis = <2000>;
1303 type = "critical";
1304 };
1305 };
1306
1307 cooling-maps {
1308 map1 {
1309 trip = <&trip2>;
1310 cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1311 <&cpu1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1312 <&cpu2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1313 <&cpu3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
1314 <&actmon THERMAL_NO_LIMIT
1315 THERMAL_NO_LIMIT>;
1316 };
1317 };
1318 };
1319 };
1320 };