1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Samsung's Exynos4412 based p4note device family base DT. 4 * Based on exynos4412-midas.dtsi. 5 * 6 * Copyright (c) 2013 Samsung Electronics Co., Ltd. 7 * http://www.samsung.com 8 */ 9 10/dts-v1/; 11#include "exynos4412.dtsi" 12#include "exynos4412-ppmu-common.dtsi" 13 14#include <dt-bindings/clock/maxim,max77686.h> 15#include <dt-bindings/gpio/gpio.h> 16#include <dt-bindings/input/linux-event-codes.h> 17#include <dt-bindings/interrupt-controller/irq.h> 18#include <dt-bindings/pinctrl/samsung.h> 19 20/ { 21 compatible = "samsung,p4note", "samsung,exynos4412", "samsung,exynos4"; 22 23 memory@40000000 { 24 device_type = "memory"; 25 reg = <0x40000000 0x80000000>; 26 }; 27 28 chosen { 29 stdout-path = &serial_2; 30 }; 31 32 firmware@204f000 { 33 compatible = "samsung,secure-firmware"; 34 reg = <0x0204F000 0x1000>; 35 }; 36 37 fixed-rate-clocks { 38 xxti { 39 compatible = "samsung,clock-xxti"; 40 clock-frequency = <0>; 41 }; 42 43 xusbxti { 44 compatible = "samsung,clock-xusbxti"; 45 clock-frequency = <24000000>; 46 }; 47 }; 48 49 gpio-keys { 50 compatible = "gpio-keys"; 51 pinctrl-names = "default"; 52 pinctrl-0 = <&gpio_keys>; 53 54 key-down { 55 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>; 56 linux,code = <KEY_VOLUMEDOWN>; 57 label = "volume down"; 58 debounce-interval = <10>; 59 }; 60 61 key-up { 62 gpios = <&gpx3 3 GPIO_ACTIVE_LOW>; 63 linux,code = <KEY_VOLUMEUP>; 64 label = "volume up"; 65 debounce-interval = <10>; 66 }; 67 68 key-power { 69 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>; 70 linux,code = <KEY_POWER>; 71 label = "power"; 72 debounce-interval = <10>; 73 wakeup-source; 74 }; 75 }; 76 77 voltage-regulator-1 { 78 compatible = "regulator-fixed"; 79 regulator-name = "TSP_LDO1"; 80 pinctrl-names = "default"; 81 pinctrl-0 = <&tsp_reg_gpio_1>; 82 gpios = <&gpm4 5 GPIO_ACTIVE_HIGH>; 83 enable-active-high; 84 regulator-always-on; 85 }; 86 87 voltage-regulator-2 { 88 compatible = "regulator-fixed"; 89 regulator-name = "TSP_LDO2"; 90 pinctrl-names = "default"; 91 pinctrl-0 = <&tsp_reg_gpio_2>; 92 gpios = <&gpb 5 GPIO_ACTIVE_HIGH>; 93 enable-active-high; 94 regulator-always-on; 95 }; 96 97 voltage-regulator-3 { 98 compatible = "regulator-fixed"; 99 regulator-name = "TSP_LDO3"; 100 pinctrl-names = "default"; 101 pinctrl-0 = <&tsp_reg_gpio_3>; 102 gpios = <&gpb 7 GPIO_ACTIVE_HIGH>; 103 startup-delay-us = <20000>; 104 enable-active-high; 105 regulator-always-on; 106 }; 107 108 wlan_pwrseq: sdhci3-pwrseq { 109 compatible = "mmc-pwrseq-simple"; 110 reset-gpios = <&gpm3 5 GPIO_ACTIVE_LOW>; 111 pinctrl-0 = <&wifi_reset>; 112 pinctrl-names = "default"; 113 clocks = <&max77686 MAX77686_CLK_PMIC>; 114 clock-names = "ext_clock"; 115 }; 116 117 i2c-gpio-1 { 118 compatible = "i2c-gpio"; 119 sda-gpios = <&gpy2 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 120 scl-gpios = <&gpy2 5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 121 i2c-gpio,delay-us = <2>; 122 #address-cells = <1>; 123 #size-cells = <0>; 124 125 magnetometer@c { 126 compatible = "asahi-kasei,ak8975"; 127 reg = <0x0c>; 128 pinctrl-0 = <&ak8975_irq>; 129 pinctrl-names = "default"; 130 interrupt-parent = <&gpm4>; 131 interrupts = <7 IRQ_TYPE_EDGE_RISING>; 132 }; 133 }; 134 135 i2c-gpio-2 { 136 compatible = "i2c-gpio"; 137 sda-gpios = <&gpy0 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 138 scl-gpios = <&gpy0 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 139 i2c-gpio,delay-us = <2>; 140 #address-cells = <1>; 141 #size-cells = <0>; 142 143 fuel-gauge@36 { 144 compatible = "maxim,max17042"; 145 reg = <0x36>; 146 pinctrl-0 = <&fuel_alert_irq>; 147 pinctrl-names = "default"; 148 interrupt-parent = <&gpx2>; 149 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 150 maxim,rsns-microohm = <10000>; 151 maxim,over-heat-temp = <600>; 152 maxim,over-volt = <4300>; 153 }; 154 }; 155 156 i2c-gpio-3 { 157 compatible = "i2c-gpio"; 158 sda-gpios = <&gpm4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 159 scl-gpios = <&gpm4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; 160 i2c-gpio,delay-us = <5>; 161 #address-cells = <1>; 162 #size-cells = <0>; 163 164 adc@41 { 165 compatible = "st,stmpe811"; 166 reg = <0x41>; 167 pinctrl-0 = <&stmpe_adc_irq>; 168 pinctrl-names = "default"; 169 interrupt-parent = <&gpx0>; 170 interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 171 interrupt-controller; 172 irq-trigger = <0x1>; 173 st,adc-freq = <3>; 174 st,mod-12b = <1>; 175 st,ref-sel = <0>; 176 st,sample-time = <3>; 177 178 stmpe_adc { 179 compatible = "st,stmpe-adc"; 180 #io-channel-cells = <1>; 181 st,norequest-mask = <0x2F>; 182 }; 183 }; 184 }; 185}; 186 187&adc { 188 vdd-supply = <&ldo3_reg>; 189 /* not verified */ 190 status = "okay"; 191}; 192 193&bus_dmc { 194 devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>; 195 vdd-supply = <&buck1_reg>; 196 status = "okay"; 197}; 198 199&bus_acp { 200 devfreq = <&bus_dmc>; 201 status = "okay"; 202}; 203 204&bus_c2c { 205 devfreq = <&bus_dmc>; 206 status = "okay"; 207}; 208 209&bus_leftbus { 210 devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>; 211 vdd-supply = <&buck3_reg>; 212 status = "okay"; 213}; 214 215&bus_rightbus { 216 devfreq = <&bus_leftbus>; 217 status = "okay"; 218}; 219 220&bus_display { 221 devfreq = <&bus_leftbus>; 222 status = "okay"; 223}; 224 225&bus_fsys { 226 devfreq = <&bus_leftbus>; 227 status = "okay"; 228}; 229 230&bus_peri { 231 devfreq = <&bus_leftbus>; 232 status = "okay"; 233}; 234 235&bus_mfc { 236 devfreq = <&bus_leftbus>; 237 status = "okay"; 238}; 239 240&cpu0 { 241 cpu0-supply = <&buck2_reg>; 242}; 243 244&cpu_thermal { 245 cooling-maps { 246 map0 { 247 /* Corresponds to 800MHz at freq_table */ 248 cooling-device = <&cpu0 7 7>, <&cpu1 7 7>, 249 <&cpu2 7 7>, <&cpu3 7 7>; 250 }; 251 map1 { 252 /* Corresponds to 200MHz at freq_table */ 253 cooling-device = <&cpu0 13 13>, <&cpu1 13 13>, 254 <&cpu2 13 13>, <&cpu3 13 13>; 255 }; 256 }; 257}; 258 259&exynos_usbphy { 260 status = "okay"; 261}; 262 263&fimd { 264 pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; 265 pinctrl-names = "default"; 266 status = "okay"; 267 268 display-timings { 269 timing0 { 270 clock-frequency = <66666666>; 271 hactive = <1280>; 272 vactive = <800>; 273 hfront-porch = <18>; 274 hback-porch = <36>; 275 hsync-len = <16>; 276 vback-porch = <16>; 277 vfront-porch = <4>; 278 vsync-len = <3>; 279 hsync-active = <1>; 280 }; 281 }; 282}; 283 284&gpu { 285 mali-supply = <&buck4_reg>; 286 status = "okay"; 287}; 288 289&hsotg { 290 vusb_a-supply = <&ldo12_reg>; 291 dr_mode = "peripheral"; 292 status = "okay"; 293}; 294 295&i2c_3 { 296 samsung,i2c-sda-delay = <100>; 297 samsung,i2c-slave-addr = <0x10>; 298 samsung,i2c-max-bus-freq = <400000>; 299 pinctrl-0 = <&i2c3_bus>; 300 pinctrl-names = "default"; 301 status = "okay"; 302 303 touchscreen@4a { 304 compatible = "atmel,maxtouch"; 305 reg = <0x4a>; 306 pinctrl-0 = <&tsp_rst &tsp_irq>; 307 pinctrl-names = "default"; 308 interrupt-parent = <&gpm2>; 309 interrupts = <3 IRQ_TYPE_LEVEL_LOW>; 310 reset-gpios = <&gpm0 4 GPIO_ACTIVE_LOW>; 311 }; 312}; 313 314&i2c_7 { 315 samsung,i2c-sda-delay = <100>; 316 samsung,i2c-slave-addr = <0x10>; 317 samsung,i2c-max-bus-freq = <400000>; 318 pinctrl-0 = <&i2c7_bus>; 319 pinctrl-names = "default"; 320 status = "okay"; 321 322 max77686: pmic@9 { 323 compatible = "maxim,max77686"; 324 interrupt-parent = <&gpx0>; 325 interrupts = <7 IRQ_TYPE_LEVEL_LOW>; 326 pinctrl-0 = <&max77686_irq>; 327 pinctrl-names = "default"; 328 wakeup-source; 329 reg = <0x09>; 330 #clock-cells = <1>; 331 332 voltage-regulators { 333 ldo1_reg: LDO1 { 334 regulator-name = "ldo1"; 335 regulator-always-on; 336 }; 337 338 ldo2_reg: LDO2 { 339 regulator-name = "ldo2"; 340 regulator-always-on; 341 }; 342 343 /* WM8994 audio */ 344 ldo3_reg: LDO3 { 345 regulator-name = "VCC_1.8V_AP"; 346 regulator-min-microvolt = <1800000>; 347 regulator-max-microvolt = <1800000>; 348 regulator-always-on; 349 regulator-boot-on; 350 351 regulator-state-mem { 352 regulator-on-in-suspend; 353 }; 354 }; 355 356 ldo4_reg: LDO4 { 357 regulator-name = "ldo4"; 358 regulator-always-on; 359 }; 360 361 ldo5_reg: LDO5 { 362 regulator-name = "VCC_1.8V_IO"; 363 regulator-min-microvolt = <1800000>; 364 regulator-max-microvolt = <1800000>; 365 366 regulator-state-mem { 367 regulator-off-in-suspend; 368 }; 369 }; 370 371 ldo6_reg: LDO6 { 372 regulator-name = "ldo6"; 373 regulator-always-on; 374 }; 375 376 ldo7_reg: LDO7 { 377 regulator-name = "ldo7"; 378 regulator-always-on; 379 }; 380 381 /* CSI IP block */ 382 ldo8_reg: LDO8 { 383 regulator-name = "VMIPI_1.0V"; 384 regulator-min-microvolt = <1000000>; 385 regulator-max-microvolt = <1000000>; 386 regulator-always-on; 387 regulator-boot-on; 388 389 regulator-state-mem { 390 regulator-on-in-suspend; 391 }; 392 }; 393 394 /* IR LED on/off */ 395 ldo9_reg: LDO9 { 396 regulator-name = "VLED_IC_1.9V"; 397 regulator-min-microvolt = <1950000>; 398 regulator-max-microvolt = <1950000>; 399 400 regulator-state-mem { 401 regulator-off-in-suspend; 402 }; 403 }; 404 405 /* CSI IP block */ 406 ldo10_reg: LDO10 { 407 regulator-name = "VMIPI_1.8V"; 408 regulator-min-microvolt = <1800000>; 409 regulator-max-microvolt = <1800000>; 410 regulator-always-on; 411 regulator-boot-on; 412 413 regulator-state-mem { 414 regulator-on-in-suspend; 415 }; 416 }; 417 418 ldo11_reg: LDO11 { 419 regulator-name = "VABB1_1.9V"; 420 regulator-min-microvolt = <1950000>; 421 regulator-max-microvolt = <1950000>; 422 regulator-always-on; 423 regulator-boot-on; 424 425 regulator-state-mem { 426 regulator-off-in-suspend; 427 }; 428 }; 429 430 /* USB OTG */ 431 ldo12_reg: LDO12 { 432 regulator-name = "VUOTG_3.0V"; 433 regulator-min-microvolt = <3000000>; 434 regulator-max-microvolt = <3000000>; 435 regulator-always-on; 436 regulator-boot-on; 437 438 regulator-state-mem { 439 regulator-on-in-suspend; 440 }; 441 }; 442 443 /* not connected */ 444 ldo13_reg: LDO13 { 445 regulator-name = "ldo13"; 446 }; 447 448 ldo14_reg: LDO14 { 449 regulator-name = "VABB2_1.9V"; 450 regulator-min-microvolt = <1950000>; 451 regulator-max-microvolt = <1950000>; 452 regulator-always-on; 453 regulator-boot-on; 454 455 regulator-state-mem { 456 regulator-off-in-suspend; 457 }; 458 }; 459 460 ldo15_reg: LDO15 { 461 regulator-name = "ldo15"; 462 regulator-always-on; 463 }; 464 465 ldo16_reg: LDO16 { 466 regulator-name = "ldo16"; 467 regulator-always-on; 468 }; 469 470 /* not connected */ 471 ldo17_reg: LDO17 { 472 regulator-name = "ldo17"; 473 }; 474 475 /* Camera ISX012 */ 476 ldo18_reg: LDO18 { 477 regulator-name = "CAM_IO_1.8V"; 478 regulator-min-microvolt = <1800000>; 479 regulator-max-microvolt = <1800000>; 480 481 regulator-state-mem { 482 regulator-off-in-suspend; 483 }; 484 }; 485 486 /* Camera S5K6A3 */ 487 ldo19_reg: LDO19 { 488 regulator-name = "VT_CORE_1.8V"; 489 regulator-min-microvolt = <1800000>; 490 regulator-max-microvolt = <1800000>; 491 492 regulator-state-mem { 493 regulator-off-in-suspend; 494 }; 495 }; 496 497 /* not connected */ 498 ldo20_reg: LDO20 { 499 regulator-name = "ldo20"; 500 }; 501 502 /* MMC2 */ 503 ldo21_reg: LDO21 { 504 regulator-name = "VTF_2.8V"; 505 regulator-min-microvolt = <2800000>; 506 regulator-max-microvolt = <2800000>; 507 maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>; 508 }; 509 510 /* not connected */ 511 ldo22_reg: LDO22 { 512 regulator-name = "ldo22"; 513 }; 514 515 /* ADC */ 516 ldo23_reg: LDO23 { 517 regulator-name = "VDD_ADC_3.3V"; 518 regulator-min-microvolt = <3300000>; 519 regulator-max-microvolt = <3300000>; 520 regulator-always-on; 521 regulator-boot-on; 522 523 regulator-state-mem { 524 regulator-off-in-suspend; 525 }; 526 }; 527 528 /* Camera S5K6A3 */ 529 ldo24_reg: LDO24 { 530 regulator-name = "CAM_A2.8V"; 531 regulator-min-microvolt = <2800000>; 532 regulator-max-microvolt = <2800000>; 533 534 regulator-state-mem { 535 regulator-off-in-suspend; 536 }; 537 }; 538 539 ldo25_reg: LDO25 { 540 regulator-name = "VLED_3.3V"; 541 regulator-min-microvolt = <3300000>; 542 regulator-max-microvolt = <3300000>; 543 544 regulator-state-mem { 545 regulator-off-in-suspend; 546 }; 547 }; 548 549 /* Camera ISX012 */ 550 ldo26_reg: LDO26 { 551 regulator-name = "3MP_AF_2.8V"; 552 regulator-min-microvolt = <2800000>; 553 regulator-max-microvolt = <2800000>; 554 555 regulator-state-mem { 556 regulator-off-in-suspend; 557 }; 558 }; 559 560 buck1_reg: BUCK1 { 561 regulator-name = "VDD_MIF"; 562 regulator-min-microvolt = <850000>; 563 regulator-max-microvolt = <1050000>; 564 regulator-always-on; 565 regulator-boot-on; 566 }; 567 568 buck2_reg: BUCK2 { 569 regulator-name = "VDD_ARM"; 570 regulator-min-microvolt = <850000>; 571 regulator-max-microvolt = <1500000>; 572 regulator-always-on; 573 regulator-boot-on; 574 }; 575 576 buck3_reg: BUCK3 { 577 regulator-name = "VDD_INT"; 578 regulator-min-microvolt = <850000>; 579 regulator-max-microvolt = <1100000>; 580 regulator-always-on; 581 regulator-boot-on; 582 }; 583 584 buck4_reg: BUCK4 { 585 regulator-name = "VDD_G3D"; 586 regulator-min-microvolt = <850000>; 587 regulator-max-microvolt = <1075000>; 588 regulator-boot-on; 589 }; 590 591 buck5_reg: BUCK5 { 592 regulator-name = "buck5"; 593 regulator-always-on; 594 }; 595 596 buck6_reg: BUCK6 { 597 regulator-name = "buck6"; 598 regulator-always-on; 599 }; 600 601 buck7_reg: BUCK7 { 602 regulator-name = "buck7"; 603 regulator-always-on; 604 }; 605 606 /* not connected */ 607 buck8_reg: BUCK8 { 608 regulator-name = "buck8"; 609 }; 610 611 buck9_reg: BUCK9 { 612 regulator-name = "3MP_CORE_1.2V"; 613 regulator-min-microvolt = <1200000>; 614 regulator-max-microvolt = <1200000>; 615 616 regulator-state-mem { 617 regulator-off-in-suspend; 618 }; 619 }; 620 }; 621 }; 622}; 623 624&mshc_0 { 625 broken-cd; 626 non-removable; 627 card-detect-delay = <200>; 628 clock-frequency = <400000000>; 629 samsung,dw-mshc-ciu-div = <0>; 630 samsung,dw-mshc-sdr-timing = <2 3>; 631 samsung,dw-mshc-ddr-timing = <1 2>; 632 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; 633 pinctrl-names = "default"; 634 bus-width = <4>; 635 cap-mmc-highspeed; 636 cap-sd-highspeed; 637 status = "okay"; 638}; 639 640&pinctrl_0 { 641 pinctrl-names = "default"; 642 pinctrl-0 = <&sleep0>; 643 644 tsp_reg_gpio_2: tsp-reg-gpio-2 { 645 samsung,pins = "gpb-5"; 646 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 647 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 648 }; 649 650 tsp_reg_gpio_3: tsp-reg-gpio-3 { 651 samsung,pins = "gpb-7"; 652 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 653 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 654 }; 655 656 sleep0: sleep-states { 657 PIN_SLP(gpa0-0, INPUT, NONE); 658 PIN_SLP(gpa0-1, OUT0, NONE); 659 PIN_SLP(gpa0-2, INPUT, NONE); 660 PIN_SLP(gpa0-3, INPUT, UP); 661 PIN_SLP(gpa0-4, INPUT, NONE); 662 PIN_SLP(gpa0-5, INPUT, DOWN); 663 PIN_SLP(gpa0-6, INPUT, DOWN); 664 PIN_SLP(gpa0-7, INPUT, UP); 665 666 PIN_SLP(gpa1-0, INPUT, DOWN); 667 PIN_SLP(gpa1-1, INPUT, DOWN); 668 PIN_SLP(gpa1-2, INPUT, DOWN); 669 PIN_SLP(gpa1-3, INPUT, DOWN); 670 PIN_SLP(gpa1-4, INPUT, DOWN); 671 PIN_SLP(gpa1-5, INPUT, DOWN); 672 673 PIN_SLP(gpb-0, INPUT, NONE); 674 PIN_SLP(gpb-1, INPUT, NONE); 675 PIN_SLP(gpb-2, INPUT, NONE); 676 PIN_SLP(gpb-3, INPUT, NONE); 677 PIN_SLP(gpb-4, INPUT, DOWN); 678 PIN_SLP(gpb-5, INPUT, DOWN); 679 PIN_SLP(gpb-6, INPUT, DOWN); 680 PIN_SLP(gpb-7, INPUT, DOWN); 681 682 PIN_SLP(gpc0-0, INPUT, DOWN); 683 PIN_SLP(gpc0-1, INPUT, DOWN); 684 PIN_SLP(gpc0-2, INPUT, DOWN); 685 PIN_SLP(gpc0-3, INPUT, DOWN); 686 PIN_SLP(gpc0-4, INPUT, DOWN); 687 688 PIN_SLP(gpc1-0, INPUT, UP); 689 PIN_SLP(gpc1-1, PREV, NONE); 690 PIN_SLP(gpc1-2, INPUT, UP); 691 PIN_SLP(gpc1-3, INPUT, UP); 692 PIN_SLP(gpc1-4, INPUT, UP); 693 694 PIN_SLP(gpd0-0, INPUT, DOWN); 695 PIN_SLP(gpd0-1, OUT0, NONE); 696 PIN_SLP(gpd0-2, INPUT, NONE); 697 PIN_SLP(gpd0-3, INPUT, NONE); 698 699 PIN_SLP(gpd1-0, INPUT, DOWN); 700 PIN_SLP(gpd1-1, INPUT, DOWN); 701 PIN_SLP(gpd1-2, INPUT, NONE); 702 PIN_SLP(gpd1-3, INPUT, NONE); 703 704 PIN_SLP(gpf0-0, OUT0, NONE); 705 PIN_SLP(gpf0-1, OUT0, NONE); 706 PIN_SLP(gpf0-2, OUT0, NONE); 707 PIN_SLP(gpf0-3, OUT0, NONE); 708 PIN_SLP(gpf0-4, OUT0, NONE); 709 PIN_SLP(gpf0-5, OUT0, NONE); 710 PIN_SLP(gpf0-6, OUT0, NONE); 711 PIN_SLP(gpf0-7, OUT0, NONE); 712 713 PIN_SLP(gpf1-0, OUT0, NONE); 714 PIN_SLP(gpf1-1, OUT0, NONE); 715 PIN_SLP(gpf1-2, OUT0, NONE); 716 PIN_SLP(gpf1-3, OUT0, NONE); 717 PIN_SLP(gpf1-4, OUT0, NONE); 718 PIN_SLP(gpf1-5, OUT0, NONE); 719 PIN_SLP(gpf1-6, OUT0, NONE); 720 PIN_SLP(gpf1-7, OUT0, NONE); 721 722 PIN_SLP(gpf2-0, OUT0, NONE); 723 PIN_SLP(gpf2-1, OUT0, NONE); 724 PIN_SLP(gpf2-2, OUT0, NONE); 725 PIN_SLP(gpf2-3, OUT0, NONE); 726 PIN_SLP(gpf2-4, OUT0, NONE); 727 PIN_SLP(gpf2-5, OUT0, NONE); 728 PIN_SLP(gpf2-6, OUT0, NONE); 729 PIN_SLP(gpf2-7, OUT0, NONE); 730 731 PIN_SLP(gpf3-0, OUT0, NONE); 732 PIN_SLP(gpf3-1, OUT0, NONE); 733 PIN_SLP(gpf3-2, OUT0, NONE); 734 PIN_SLP(gpf3-3, OUT0, NONE); 735 PIN_SLP(gpf3-4, OUT0, NONE); 736 PIN_SLP(gpf3-5, OUT0, NONE); 737 738 PIN_SLP(gpj0-0, INPUT, DOWN); 739 PIN_SLP(gpj0-1, INPUT, DOWN); 740 PIN_SLP(gpj0-2, INPUT, DOWN); 741 PIN_SLP(gpj0-3, PREV, NONE); 742 PIN_SLP(gpj0-4, PREV, NONE); 743 PIN_SLP(gpj0-5, OUT0, NONE); 744 PIN_SLP(gpj0-6, OUT0, NONE); 745 PIN_SLP(gpj0-7, OUT0, NONE); 746 747 PIN_SLP(gpj1-0, OUT0, NONE); 748 PIN_SLP(gpj1-1, INPUT, DOWN); 749 PIN_SLP(gpj1-2, PREV, NONE); 750 PIN_SLP(gpj1-3, OUT0, NONE); 751 }; 752}; 753 754&pinctrl_1 { 755 pinctrl-names = "default"; 756 pinctrl-0 = <&sleep1>; 757 758 sd3_wifi: sd3-wifi { 759 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6"; 760 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 761 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 762 }; 763 764 bt_shutdown: bt-shutdown { 765 samsung,pins = "gpl0-6"; 766 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 767 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 768 }; 769 770 uart_sel: uart-sel { 771 samsung,pins = "gpl2-7"; 772 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 773 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 774 samsung,pin-val = <1>; 775 /* 0 = CP, 1 = AP (serial output) */ 776 }; 777 778 tsp_rst: tsp-rst { 779 samsung,pins = "gpm0-4"; 780 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 781 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 782 }; 783 784 tsp_irq: tsp-irq { 785 samsung,pins = "gpm2-3"; 786 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 787 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 788 }; 789 790 wifi_reset: wifi-reset { 791 samsung,pins = "gpm3-5"; 792 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 793 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 794 }; 795 796 tsp_reg_gpio_1: tsp-reg-gpio-1 { 797 samsung,pins = "gpm4-5"; 798 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 799 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 800 }; 801 802 ak8975_irq: ak8975-irq { 803 samsung,pins = "gpm4-7"; 804 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 805 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; 806 }; 807 808 stmpe_adc_irq: stmpe-adc-irq { 809 samsung,pins = "gpx0-1"; 810 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 811 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 812 }; 813 814 max77686_irq: max77686-irq { 815 samsung,pins = "gpx0-7"; 816 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 817 }; 818 819 gpio_keys: gpio-keys { 820 samsung,pins = "gpx2-2", "gpx2-7", "gpx3-3"; 821 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 822 }; 823 824 fuel_alert_irq: fuel-alert-irq { 825 samsung,pins = "gpx2-3"; 826 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 827 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 828 }; 829 830 wifi_host_wake: wifi-host-wake { 831 samsung,pins = "gpx2-5"; 832 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 833 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; 834 }; 835 836 bt_host_wakeup: bt-host-wakeup { 837 samsung,pins = "gpx2-6"; 838 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 839 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 840 }; 841 842 bt_device_wakeup: bt-device-wakeup { 843 samsung,pins = "gpx3-1"; 844 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 845 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 846 }; 847 848 sdhci2_cd: sdhci2-cd { 849 samsung,pins = "gpx3-4"; 850 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 851 }; 852 853 sleep1: sleep-states { 854 PIN_SLP(gpk0-0, PREV, NONE); 855 PIN_SLP(gpk0-1, PREV, NONE); 856 PIN_SLP(gpk0-2, PREV, NONE); 857 PIN_SLP(gpk0-3, PREV, NONE); 858 PIN_SLP(gpk0-4, PREV, NONE); 859 PIN_SLP(gpk0-5, PREV, NONE); 860 PIN_SLP(gpk0-6, PREV, NONE); 861 862 PIN_SLP(gpk1-0, INPUT, DOWN); 863 PIN_SLP(gpk1-1, INPUT, DOWN); 864 PIN_SLP(gpk1-2, INPUT, DOWN); 865 PIN_SLP(gpk1-3, PREV, NONE); 866 PIN_SLP(gpk1-4, PREV, NONE); 867 PIN_SLP(gpk1-5, PREV, NONE); 868 PIN_SLP(gpk1-6, PREV, NONE); 869 870 PIN_SLP(gpk2-0, INPUT, DOWN); 871 PIN_SLP(gpk2-1, INPUT, DOWN); 872 PIN_SLP(gpk2-2, INPUT, DOWN); 873 PIN_SLP(gpk2-3, INPUT, DOWN); 874 PIN_SLP(gpk2-4, INPUT, DOWN); 875 PIN_SLP(gpk2-5, INPUT, DOWN); 876 PIN_SLP(gpk2-6, INPUT, DOWN); 877 878 PIN_SLP(gpk3-0, OUT0, NONE); 879 PIN_SLP(gpk3-1, INPUT, NONE); 880 PIN_SLP(gpk3-2, INPUT, DOWN); 881 PIN_SLP(gpk3-3, INPUT, NONE); 882 PIN_SLP(gpk3-4, INPUT, NONE); 883 PIN_SLP(gpk3-5, INPUT, NONE); 884 PIN_SLP(gpk3-6, INPUT, NONE); 885 886 PIN_SLP(gpl0-0, OUT0, NONE); 887 PIN_SLP(gpl0-1, INPUT, NONE); 888 PIN_SLP(gpl0-2, INPUT, NONE); 889 PIN_SLP(gpl0-3, INPUT, DOWN); 890 PIN_SLP(gpl0-4, PREV, NONE); 891 PIN_SLP(gpl0-6, PREV, NONE); 892 893 PIN_SLP(gpl1-0, OUT0, NONE); 894 PIN_SLP(gpl1-1, OUT0, NONE); 895 896 PIN_SLP(gpl2-0, INPUT, DOWN); 897 PIN_SLP(gpl2-1, INPUT, DOWN); 898 PIN_SLP(gpl2-2, INPUT, DOWN); 899 PIN_SLP(gpl2-3, INPUT, DOWN); 900 PIN_SLP(gpl2-4, OUT0, NONE); 901 PIN_SLP(gpl2-5, INPUT, DOWN); 902 PIN_SLP(gpl2-6, PREV, NONE); 903 PIN_SLP(gpl2-7, PREV, NONE); 904 905 PIN_SLP(gpm0-0, PREV, NONE); 906 PIN_SLP(gpm0-1, OUT0, NONE); 907 PIN_SLP(gpm0-2, INPUT, DOWN); 908 PIN_SLP(gpm0-3, INPUT, NONE); 909 PIN_SLP(gpm0-4, OUT0, NONE); 910 PIN_SLP(gpm0-5, OUT0, NONE); 911 PIN_SLP(gpm0-6, INPUT, DOWN); 912 PIN_SLP(gpm0-7, OUT0, NONE); 913 914 PIN_SLP(gpm1-0, INPUT, NONE); 915 PIN_SLP(gpm1-1, INPUT, NONE); 916 PIN_SLP(gpm1-2, INPUT, NONE); 917 PIN_SLP(gpm1-3, INPUT, NONE); 918 PIN_SLP(gpm1-4, INPUT, NONE); 919 PIN_SLP(gpm1-5, INPUT, NONE); 920 PIN_SLP(gpm1-6, INPUT, DOWN); 921 922 PIN_SLP(gpm2-0, INPUT, NONE); 923 PIN_SLP(gpm2-1, INPUT, NONE); 924 PIN_SLP(gpm2-2, OUT0, NONE); 925 PIN_SLP(gpm2-3, OUT0, DOWN); 926 PIN_SLP(gpm2-4, INPUT, DOWN); 927 928 PIN_SLP(gpm3-0, PREV, NONE); 929 PIN_SLP(gpm3-1, PREV, NONE); 930 PIN_SLP(gpm3-2, PREV, NONE); 931 PIN_SLP(gpm3-3, OUT1, NONE); 932 PIN_SLP(gpm3-4, OUT0, DOWN); 933 PIN_SLP(gpm3-5, PREV, NONE); 934 PIN_SLP(gpm3-6, PREV, NONE); 935 PIN_SLP(gpm3-7, OUT0, NONE); 936 937 PIN_SLP(gpm4-0, INPUT, NONE); 938 PIN_SLP(gpm4-1, INPUT, NONE); 939 PIN_SLP(gpm4-2, INPUT, DOWN); 940 PIN_SLP(gpm4-3, INPUT, DOWN); 941 PIN_SLP(gpm4-4, PREV, NONE); 942 PIN_SLP(gpm4-5, OUT0, NONE); 943 PIN_SLP(gpm4-6, OUT0, NONE); 944 PIN_SLP(gpm4-7, INPUT, DOWN); 945 946 PIN_SLP(gpy0-0, INPUT, DOWN); 947 PIN_SLP(gpy0-1, INPUT, DOWN); 948 PIN_SLP(gpy0-2, INPUT, NONE); 949 PIN_SLP(gpy0-3, INPUT, NONE); 950 PIN_SLP(gpy0-4, INPUT, NONE); 951 PIN_SLP(gpy0-5, INPUT, NONE); 952 953 PIN_SLP(gpy1-0, INPUT, DOWN); 954 PIN_SLP(gpy1-1, INPUT, DOWN); 955 PIN_SLP(gpy1-2, INPUT, DOWN); 956 PIN_SLP(gpy1-3, INPUT, DOWN); 957 958 PIN_SLP(gpy2-0, PREV, NONE); 959 PIN_SLP(gpy2-1, INPUT, DOWN); 960 PIN_SLP(gpy2-2, INPUT, NONE); 961 PIN_SLP(gpy2-3, INPUT, NONE); 962 PIN_SLP(gpy2-4, INPUT, NONE); 963 PIN_SLP(gpy2-5, INPUT, NONE); 964 965 PIN_SLP(gpy3-0, INPUT, DOWN); 966 PIN_SLP(gpy3-1, INPUT, DOWN); 967 PIN_SLP(gpy3-2, INPUT, DOWN); 968 PIN_SLP(gpy3-3, INPUT, DOWN); 969 PIN_SLP(gpy3-4, INPUT, DOWN); 970 PIN_SLP(gpy3-5, INPUT, DOWN); 971 PIN_SLP(gpy3-6, INPUT, DOWN); 972 PIN_SLP(gpy3-7, INPUT, DOWN); 973 974 PIN_SLP(gpy4-0, INPUT, DOWN); 975 PIN_SLP(gpy4-1, INPUT, DOWN); 976 PIN_SLP(gpy4-2, INPUT, DOWN); 977 PIN_SLP(gpy4-3, INPUT, DOWN); 978 PIN_SLP(gpy4-4, INPUT, DOWN); 979 PIN_SLP(gpy4-5, INPUT, DOWN); 980 PIN_SLP(gpy4-6, INPUT, DOWN); 981 PIN_SLP(gpy4-7, INPUT, DOWN); 982 983 PIN_SLP(gpy5-0, INPUT, DOWN); 984 PIN_SLP(gpy5-1, INPUT, DOWN); 985 PIN_SLP(gpy5-2, INPUT, DOWN); 986 PIN_SLP(gpy5-3, INPUT, DOWN); 987 PIN_SLP(gpy5-4, INPUT, DOWN); 988 PIN_SLP(gpy5-5, INPUT, DOWN); 989 PIN_SLP(gpy5-6, INPUT, DOWN); 990 PIN_SLP(gpy5-7, INPUT, DOWN); 991 992 PIN_SLP(gpy6-0, INPUT, DOWN); 993 PIN_SLP(gpy6-1, INPUT, DOWN); 994 PIN_SLP(gpy6-2, INPUT, DOWN); 995 PIN_SLP(gpy6-3, INPUT, DOWN); 996 PIN_SLP(gpy6-4, INPUT, DOWN); 997 PIN_SLP(gpy6-5, INPUT, DOWN); 998 PIN_SLP(gpy6-6, INPUT, DOWN); 999 PIN_SLP(gpy6-7, INPUT, DOWN); 1000 }; 1001}; 1002 1003&pinctrl_2 { 1004 pinctrl-names = "default"; 1005 pinctrl-0 = <&sleep2>; 1006 1007 sleep2: sleep-states { 1008 PIN_SLP(gpz-0, INPUT, DOWN); 1009 PIN_SLP(gpz-1, INPUT, DOWN); 1010 PIN_SLP(gpz-2, INPUT, DOWN); 1011 PIN_SLP(gpz-3, INPUT, DOWN); 1012 PIN_SLP(gpz-4, INPUT, DOWN); 1013 PIN_SLP(gpz-5, INPUT, DOWN); 1014 PIN_SLP(gpz-6, INPUT, DOWN); 1015 }; 1016}; 1017 1018&pinctrl_3 { 1019 pinctrl-names = "default"; 1020 pinctrl-0 = <&sleep3>; 1021 1022 sleep3: sleep-states { 1023 PIN_SLP(gpv0-0, INPUT, DOWN); 1024 PIN_SLP(gpv0-1, INPUT, DOWN); 1025 PIN_SLP(gpv0-2, INPUT, DOWN); 1026 PIN_SLP(gpv0-3, INPUT, DOWN); 1027 PIN_SLP(gpv0-4, INPUT, DOWN); 1028 PIN_SLP(gpv0-5, INPUT, DOWN); 1029 PIN_SLP(gpv0-6, INPUT, DOWN); 1030 PIN_SLP(gpv0-7, INPUT, DOWN); 1031 1032 PIN_SLP(gpv1-0, INPUT, DOWN); 1033 PIN_SLP(gpv1-1, INPUT, DOWN); 1034 PIN_SLP(gpv1-2, INPUT, DOWN); 1035 PIN_SLP(gpv1-3, INPUT, DOWN); 1036 PIN_SLP(gpv1-4, INPUT, DOWN); 1037 PIN_SLP(gpv1-5, INPUT, DOWN); 1038 PIN_SLP(gpv1-6, INPUT, DOWN); 1039 PIN_SLP(gpv1-7, INPUT, DOWN); 1040 1041 PIN_SLP(gpv2-0, INPUT, DOWN); 1042 PIN_SLP(gpv2-1, INPUT, DOWN); 1043 PIN_SLP(gpv2-2, INPUT, DOWN); 1044 PIN_SLP(gpv2-3, INPUT, DOWN); 1045 PIN_SLP(gpv2-4, INPUT, DOWN); 1046 PIN_SLP(gpv2-5, INPUT, DOWN); 1047 PIN_SLP(gpv2-6, INPUT, DOWN); 1048 PIN_SLP(gpv2-7, INPUT, DOWN); 1049 1050 PIN_SLP(gpv3-0, INPUT, DOWN); 1051 PIN_SLP(gpv3-1, INPUT, DOWN); 1052 PIN_SLP(gpv3-2, INPUT, DOWN); 1053 PIN_SLP(gpv3-3, INPUT, DOWN); 1054 PIN_SLP(gpv3-4, INPUT, DOWN); 1055 PIN_SLP(gpv3-5, INPUT, DOWN); 1056 PIN_SLP(gpv3-6, INPUT, DOWN); 1057 PIN_SLP(gpv3-7, INPUT, DOWN); 1058 1059 PIN_SLP(gpv4-0, INPUT, DOWN); 1060 PIN_SLP(gpv4-1, INPUT, DOWN); 1061 }; 1062}; 1063 1064&pmu_system_controller { 1065 assigned-clocks = <&pmu_system_controller 0>; 1066 assigned-clock-parents = <&clock CLK_XUSBXTI>; 1067}; 1068 1069&rtc { 1070 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; 1071 clock-names = "rtc", "rtc_src"; 1072 status = "okay"; 1073}; 1074 1075&sdhci_2 { 1076 bus-width = <4>; 1077 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>; 1078 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>; 1079 pinctrl-names = "default"; 1080 vmmc-supply = <&ldo21_reg>; 1081 status = "okay"; 1082}; 1083 1084&sdhci_3 { 1085 #address-cells = <1>; 1086 #size-cells = <0>; 1087 non-removable; 1088 bus-width = <4>; 1089 mmc-pwrseq = <&wlan_pwrseq>; 1090 1091 pinctrl-names = "default"; 1092 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_wifi>; 1093 status = "okay"; 1094 1095 wifi@1 { 1096 compatible = "brcm,bcm4329-fmac"; 1097 reg = <0x1>; 1098 pinctrl-names = "default"; 1099 pinctrl-0 = <&wifi_host_wake>; 1100 interrupt-parent = <&gpx2>; 1101 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 1102 interrupt-names = "host-wake"; 1103 }; 1104}; 1105 1106&serial_0 { 1107 pinctrl-0 = <&uart0_data &uart0_fctl>; 1108 pinctrl-names = "default"; 1109 status = "okay"; 1110 1111 bluetooth { 1112 compatible = "brcm,bcm4330-bt"; 1113 pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>; 1114 pinctrl-names = "default"; 1115 1116 max-speed = <2000000>; 1117 shutdown-gpios = <&gpl0 6 GPIO_ACTIVE_HIGH>; 1118 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>; 1119 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>; 1120 clocks = <&max77686 MAX77686_CLK_PMIC>; 1121 clock-names = "lpo"; 1122 }; 1123}; 1124 1125&serial_2 { 1126 pinctrl-0 = <&uart_sel>; 1127 pinctrl-names = "default"; 1128 status = "okay"; 1129}; 1130 1131&tmu { 1132 status = "okay"; 1133}; 1134