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 reg = <0x09>; 329 #clock-cells = <1>; 330 331 voltage-regulators { 332 ldo1_reg: LDO1 { 333 regulator-name = "ldo1"; 334 regulator-always-on; 335 }; 336 337 ldo2_reg: LDO2 { 338 regulator-name = "ldo2"; 339 regulator-always-on; 340 }; 341 342 /* WM8994 audio */ 343 ldo3_reg: LDO3 { 344 regulator-name = "VCC_1.8V_AP"; 345 regulator-min-microvolt = <1800000>; 346 regulator-max-microvolt = <1800000>; 347 regulator-always-on; 348 regulator-boot-on; 349 350 regulator-state-mem { 351 regulator-on-in-suspend; 352 }; 353 }; 354 355 ldo4_reg: LDO4 { 356 regulator-name = "ldo4"; 357 regulator-always-on; 358 }; 359 360 ldo5_reg: LDO5 { 361 regulator-name = "VCC_1.8V_IO"; 362 regulator-min-microvolt = <1800000>; 363 regulator-max-microvolt = <1800000>; 364 365 regulator-state-mem { 366 regulator-off-in-suspend; 367 }; 368 }; 369 370 ldo6_reg: LDO6 { 371 regulator-name = "ldo6"; 372 regulator-always-on; 373 }; 374 375 ldo7_reg: LDO7 { 376 regulator-name = "ldo7"; 377 regulator-always-on; 378 }; 379 380 /* CSI IP block */ 381 ldo8_reg: LDO8 { 382 regulator-name = "VMIPI_1.0V"; 383 regulator-min-microvolt = <1000000>; 384 regulator-max-microvolt = <1000000>; 385 regulator-always-on; 386 regulator-boot-on; 387 388 regulator-state-mem { 389 regulator-on-in-suspend; 390 }; 391 }; 392 393 /* IR LED on/off */ 394 ldo9_reg: LDO9 { 395 regulator-name = "VLED_IC_1.9V"; 396 regulator-min-microvolt = <1950000>; 397 regulator-max-microvolt = <1950000>; 398 399 regulator-state-mem { 400 regulator-off-in-suspend; 401 }; 402 }; 403 404 /* CSI IP block */ 405 ldo10_reg: LDO10 { 406 regulator-name = "VMIPI_1.8V"; 407 regulator-min-microvolt = <1800000>; 408 regulator-max-microvolt = <1800000>; 409 regulator-always-on; 410 regulator-boot-on; 411 412 regulator-state-mem { 413 regulator-on-in-suspend; 414 }; 415 }; 416 417 ldo11_reg: LDO11 { 418 regulator-name = "VABB1_1.9V"; 419 regulator-min-microvolt = <1950000>; 420 regulator-max-microvolt = <1950000>; 421 regulator-always-on; 422 regulator-boot-on; 423 424 regulator-state-mem { 425 regulator-off-in-suspend; 426 }; 427 }; 428 429 /* USB OTG */ 430 ldo12_reg: LDO12 { 431 regulator-name = "VUOTG_3.0V"; 432 regulator-min-microvolt = <3000000>; 433 regulator-max-microvolt = <3000000>; 434 regulator-always-on; 435 regulator-boot-on; 436 437 regulator-state-mem { 438 regulator-on-in-suspend; 439 }; 440 }; 441 442 /* not connected */ 443 ldo13_reg: LDO13 { 444 regulator-name = "ldo13"; 445 }; 446 447 ldo14_reg: LDO14 { 448 regulator-name = "VABB2_1.9V"; 449 regulator-min-microvolt = <1950000>; 450 regulator-max-microvolt = <1950000>; 451 regulator-always-on; 452 regulator-boot-on; 453 454 regulator-state-mem { 455 regulator-off-in-suspend; 456 }; 457 }; 458 459 ldo15_reg: LDO15 { 460 regulator-name = "ldo15"; 461 regulator-always-on; 462 }; 463 464 ldo16_reg: LDO16 { 465 regulator-name = "ldo16"; 466 regulator-always-on; 467 }; 468 469 /* not connected */ 470 ldo17_reg: LDO17 { 471 regulator-name = "ldo17"; 472 }; 473 474 /* Camera ISX012 */ 475 ldo18_reg: LDO18 { 476 regulator-name = "CAM_IO_1.8V"; 477 regulator-min-microvolt = <1800000>; 478 regulator-max-microvolt = <1800000>; 479 480 regulator-state-mem { 481 regulator-off-in-suspend; 482 }; 483 }; 484 485 /* Camera S5K6A3 */ 486 ldo19_reg: LDO19 { 487 regulator-name = "VT_CORE_1.8V"; 488 regulator-min-microvolt = <1800000>; 489 regulator-max-microvolt = <1800000>; 490 491 regulator-state-mem { 492 regulator-off-in-suspend; 493 }; 494 }; 495 496 /* not connected */ 497 ldo20_reg: LDO20 { 498 regulator-name = "ldo20"; 499 }; 500 501 /* MMC2 */ 502 ldo21_reg: LDO21 { 503 regulator-name = "VTF_2.8V"; 504 regulator-min-microvolt = <2800000>; 505 regulator-max-microvolt = <2800000>; 506 maxim,ena-gpios = <&gpy2 0 GPIO_ACTIVE_HIGH>; 507 }; 508 509 /* not connected */ 510 ldo22_reg: LDO22 { 511 regulator-name = "ldo22"; 512 }; 513 514 /* ADC */ 515 ldo23_reg: LDO23 { 516 regulator-name = "VDD_ADC_3.3V"; 517 regulator-min-microvolt = <3300000>; 518 regulator-max-microvolt = <3300000>; 519 regulator-always-on; 520 regulator-boot-on; 521 522 regulator-state-mem { 523 regulator-off-in-suspend; 524 }; 525 }; 526 527 /* Camera S5K6A3 */ 528 ldo24_reg: LDO24 { 529 regulator-name = "CAM_A2.8V"; 530 regulator-min-microvolt = <2800000>; 531 regulator-max-microvolt = <2800000>; 532 533 regulator-state-mem { 534 regulator-off-in-suspend; 535 }; 536 }; 537 538 ldo25_reg: LDO25 { 539 regulator-name = "VLED_3.3V"; 540 regulator-min-microvolt = <3300000>; 541 regulator-max-microvolt = <3300000>; 542 543 regulator-state-mem { 544 regulator-off-in-suspend; 545 }; 546 }; 547 548 /* Camera ISX012 */ 549 ldo26_reg: LDO26 { 550 regulator-name = "3MP_AF_2.8V"; 551 regulator-min-microvolt = <2800000>; 552 regulator-max-microvolt = <2800000>; 553 554 regulator-state-mem { 555 regulator-off-in-suspend; 556 }; 557 }; 558 559 buck1_reg: BUCK1 { 560 regulator-name = "VDD_MIF"; 561 regulator-min-microvolt = <850000>; 562 regulator-max-microvolt = <1050000>; 563 regulator-always-on; 564 regulator-boot-on; 565 }; 566 567 buck2_reg: BUCK2 { 568 regulator-name = "VDD_ARM"; 569 regulator-min-microvolt = <850000>; 570 regulator-max-microvolt = <1500000>; 571 regulator-always-on; 572 regulator-boot-on; 573 }; 574 575 buck3_reg: BUCK3 { 576 regulator-name = "VDD_INT"; 577 regulator-min-microvolt = <850000>; 578 regulator-max-microvolt = <1100000>; 579 regulator-always-on; 580 regulator-boot-on; 581 }; 582 583 buck4_reg: BUCK4 { 584 regulator-name = "VDD_G3D"; 585 regulator-min-microvolt = <850000>; 586 regulator-max-microvolt = <1075000>; 587 regulator-boot-on; 588 }; 589 590 buck5_reg: BUCK5 { 591 regulator-name = "buck5"; 592 regulator-always-on; 593 }; 594 595 buck6_reg: BUCK6 { 596 regulator-name = "buck6"; 597 regulator-always-on; 598 }; 599 600 buck7_reg: BUCK7 { 601 regulator-name = "buck7"; 602 regulator-always-on; 603 }; 604 605 /* not connected */ 606 buck8_reg: BUCK8 { 607 regulator-name = "buck8"; 608 }; 609 610 buck9_reg: BUCK9 { 611 regulator-name = "3MP_CORE_1.2V"; 612 regulator-min-microvolt = <1200000>; 613 regulator-max-microvolt = <1200000>; 614 615 regulator-state-mem { 616 regulator-off-in-suspend; 617 }; 618 }; 619 }; 620 }; 621}; 622 623&mshc_0 { 624 broken-cd; 625 non-removable; 626 card-detect-delay = <200>; 627 clock-frequency = <400000000>; 628 samsung,dw-mshc-ciu-div = <0>; 629 samsung,dw-mshc-sdr-timing = <2 3>; 630 samsung,dw-mshc-ddr-timing = <1 2>; 631 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; 632 pinctrl-names = "default"; 633 bus-width = <4>; 634 cap-mmc-highspeed; 635 cap-sd-highspeed; 636 status = "okay"; 637}; 638 639&pinctrl_0 { 640 pinctrl-names = "default"; 641 pinctrl-0 = <&sleep0>; 642 643 tsp_reg_gpio_2: tsp-reg-gpio-2 { 644 samsung,pins = "gpb-5"; 645 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 646 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 647 }; 648 649 tsp_reg_gpio_3: tsp-reg-gpio-3 { 650 samsung,pins = "gpb-7"; 651 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 652 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 653 }; 654 655 sleep0: sleep-states { 656 PIN_SLP(gpa0-0, INPUT, NONE); 657 PIN_SLP(gpa0-1, OUT0, NONE); 658 PIN_SLP(gpa0-2, INPUT, NONE); 659 PIN_SLP(gpa0-3, INPUT, UP); 660 PIN_SLP(gpa0-4, INPUT, NONE); 661 PIN_SLP(gpa0-5, INPUT, DOWN); 662 PIN_SLP(gpa0-6, INPUT, DOWN); 663 PIN_SLP(gpa0-7, INPUT, UP); 664 665 PIN_SLP(gpa1-0, INPUT, DOWN); 666 PIN_SLP(gpa1-1, INPUT, DOWN); 667 PIN_SLP(gpa1-2, INPUT, DOWN); 668 PIN_SLP(gpa1-3, INPUT, DOWN); 669 PIN_SLP(gpa1-4, INPUT, DOWN); 670 PIN_SLP(gpa1-5, INPUT, DOWN); 671 672 PIN_SLP(gpb-0, INPUT, NONE); 673 PIN_SLP(gpb-1, INPUT, NONE); 674 PIN_SLP(gpb-2, INPUT, NONE); 675 PIN_SLP(gpb-3, INPUT, NONE); 676 PIN_SLP(gpb-4, INPUT, DOWN); 677 PIN_SLP(gpb-5, INPUT, DOWN); 678 PIN_SLP(gpb-6, INPUT, DOWN); 679 PIN_SLP(gpb-7, INPUT, DOWN); 680 681 PIN_SLP(gpc0-0, INPUT, DOWN); 682 PIN_SLP(gpc0-1, INPUT, DOWN); 683 PIN_SLP(gpc0-2, INPUT, DOWN); 684 PIN_SLP(gpc0-3, INPUT, DOWN); 685 PIN_SLP(gpc0-4, INPUT, DOWN); 686 687 PIN_SLP(gpc1-0, INPUT, UP); 688 PIN_SLP(gpc1-1, PREV, NONE); 689 PIN_SLP(gpc1-2, INPUT, UP); 690 PIN_SLP(gpc1-3, INPUT, UP); 691 PIN_SLP(gpc1-4, INPUT, UP); 692 693 PIN_SLP(gpd0-0, INPUT, DOWN); 694 PIN_SLP(gpd0-1, OUT0, NONE); 695 PIN_SLP(gpd0-2, INPUT, NONE); 696 PIN_SLP(gpd0-3, INPUT, NONE); 697 698 PIN_SLP(gpd1-0, INPUT, DOWN); 699 PIN_SLP(gpd1-1, INPUT, DOWN); 700 PIN_SLP(gpd1-2, INPUT, NONE); 701 PIN_SLP(gpd1-3, INPUT, NONE); 702 703 PIN_SLP(gpf0-0, OUT0, NONE); 704 PIN_SLP(gpf0-1, OUT0, NONE); 705 PIN_SLP(gpf0-2, OUT0, NONE); 706 PIN_SLP(gpf0-3, OUT0, NONE); 707 PIN_SLP(gpf0-4, OUT0, NONE); 708 PIN_SLP(gpf0-5, OUT0, NONE); 709 PIN_SLP(gpf0-6, OUT0, NONE); 710 PIN_SLP(gpf0-7, OUT0, NONE); 711 712 PIN_SLP(gpf1-0, OUT0, NONE); 713 PIN_SLP(gpf1-1, OUT0, NONE); 714 PIN_SLP(gpf1-2, OUT0, NONE); 715 PIN_SLP(gpf1-3, OUT0, NONE); 716 PIN_SLP(gpf1-4, OUT0, NONE); 717 PIN_SLP(gpf1-5, OUT0, NONE); 718 PIN_SLP(gpf1-6, OUT0, NONE); 719 PIN_SLP(gpf1-7, OUT0, NONE); 720 721 PIN_SLP(gpf2-0, OUT0, NONE); 722 PIN_SLP(gpf2-1, OUT0, NONE); 723 PIN_SLP(gpf2-2, OUT0, NONE); 724 PIN_SLP(gpf2-3, OUT0, NONE); 725 PIN_SLP(gpf2-4, OUT0, NONE); 726 PIN_SLP(gpf2-5, OUT0, NONE); 727 PIN_SLP(gpf2-6, OUT0, NONE); 728 PIN_SLP(gpf2-7, OUT0, NONE); 729 730 PIN_SLP(gpf3-0, OUT0, NONE); 731 PIN_SLP(gpf3-1, OUT0, NONE); 732 PIN_SLP(gpf3-2, OUT0, NONE); 733 PIN_SLP(gpf3-3, OUT0, NONE); 734 PIN_SLP(gpf3-4, OUT0, NONE); 735 PIN_SLP(gpf3-5, OUT0, NONE); 736 737 PIN_SLP(gpj0-0, INPUT, DOWN); 738 PIN_SLP(gpj0-1, INPUT, DOWN); 739 PIN_SLP(gpj0-2, INPUT, DOWN); 740 PIN_SLP(gpj0-3, PREV, NONE); 741 PIN_SLP(gpj0-4, PREV, NONE); 742 PIN_SLP(gpj0-5, OUT0, NONE); 743 PIN_SLP(gpj0-6, OUT0, NONE); 744 PIN_SLP(gpj0-7, OUT0, NONE); 745 746 PIN_SLP(gpj1-0, OUT0, NONE); 747 PIN_SLP(gpj1-1, INPUT, DOWN); 748 PIN_SLP(gpj1-2, PREV, NONE); 749 PIN_SLP(gpj1-3, OUT0, NONE); 750 }; 751}; 752 753&pinctrl_1 { 754 pinctrl-names = "default"; 755 pinctrl-0 = <&sleep1>; 756 757 sd3_wifi: sd3-wifi { 758 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6"; 759 samsung,pin-function = <EXYNOS_PIN_FUNC_2>; 760 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 761 }; 762 763 bt_shutdown: bt-shutdown { 764 samsung,pins = "gpl0-6"; 765 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 766 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 767 }; 768 769 uart_sel: uart-sel { 770 samsung,pins = "gpl2-7"; 771 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 772 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 773 samsung,pin-val = <1>; 774 /* 0 = CP, 1 = AP (serial output) */ 775 }; 776 777 tsp_rst: tsp-rst { 778 samsung,pins = "gpm0-4"; 779 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 780 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 781 }; 782 783 tsp_irq: tsp-irq { 784 samsung,pins = "gpm2-3"; 785 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 786 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 787 }; 788 789 wifi_reset: wifi-reset { 790 samsung,pins = "gpm3-5"; 791 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 792 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 793 }; 794 795 tsp_reg_gpio_1: tsp-reg-gpio-1 { 796 samsung,pins = "gpm4-5"; 797 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 798 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 799 }; 800 801 ak8975_irq: ak8975-irq { 802 samsung,pins = "gpm4-7"; 803 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 804 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; 805 }; 806 807 stmpe_adc_irq: stmpe-adc-irq { 808 samsung,pins = "gpx0-1"; 809 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 810 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 811 }; 812 813 max77686_irq: max77686-irq { 814 samsung,pins = "gpx0-7"; 815 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 816 }; 817 818 gpio_keys: gpio-keys { 819 samsung,pins = "gpx2-2", "gpx2-7", "gpx3-3"; 820 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 821 }; 822 823 fuel_alert_irq: fuel-alert-irq { 824 samsung,pins = "gpx2-3"; 825 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 826 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 827 }; 828 829 wifi_host_wake: wifi-host-wake { 830 samsung,pins = "gpx2-5"; 831 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 832 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; 833 }; 834 835 bt_host_wakeup: bt-host-wakeup { 836 samsung,pins = "gpx2-6"; 837 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 838 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 839 }; 840 841 bt_device_wakeup: bt-device-wakeup { 842 samsung,pins = "gpx3-1"; 843 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 844 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 845 }; 846 847 sdhci2_cd: sdhci2-cd { 848 samsung,pins = "gpx3-4"; 849 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 850 }; 851 852 sleep1: sleep-states { 853 PIN_SLP(gpk0-0, PREV, NONE); 854 PIN_SLP(gpk0-1, PREV, NONE); 855 PIN_SLP(gpk0-2, PREV, NONE); 856 PIN_SLP(gpk0-3, PREV, NONE); 857 PIN_SLP(gpk0-4, PREV, NONE); 858 PIN_SLP(gpk0-5, PREV, NONE); 859 PIN_SLP(gpk0-6, PREV, NONE); 860 861 PIN_SLP(gpk1-0, INPUT, DOWN); 862 PIN_SLP(gpk1-1, INPUT, DOWN); 863 PIN_SLP(gpk1-2, INPUT, DOWN); 864 PIN_SLP(gpk1-3, PREV, NONE); 865 PIN_SLP(gpk1-4, PREV, NONE); 866 PIN_SLP(gpk1-5, PREV, NONE); 867 PIN_SLP(gpk1-6, PREV, NONE); 868 869 PIN_SLP(gpk2-0, INPUT, DOWN); 870 PIN_SLP(gpk2-1, INPUT, DOWN); 871 PIN_SLP(gpk2-2, INPUT, DOWN); 872 PIN_SLP(gpk2-3, INPUT, DOWN); 873 PIN_SLP(gpk2-4, INPUT, DOWN); 874 PIN_SLP(gpk2-5, INPUT, DOWN); 875 PIN_SLP(gpk2-6, INPUT, DOWN); 876 877 PIN_SLP(gpk3-0, OUT0, NONE); 878 PIN_SLP(gpk3-1, INPUT, NONE); 879 PIN_SLP(gpk3-2, INPUT, DOWN); 880 PIN_SLP(gpk3-3, INPUT, NONE); 881 PIN_SLP(gpk3-4, INPUT, NONE); 882 PIN_SLP(gpk3-5, INPUT, NONE); 883 PIN_SLP(gpk3-6, INPUT, NONE); 884 885 PIN_SLP(gpl0-0, OUT0, NONE); 886 PIN_SLP(gpl0-1, INPUT, NONE); 887 PIN_SLP(gpl0-2, INPUT, NONE); 888 PIN_SLP(gpl0-3, INPUT, DOWN); 889 PIN_SLP(gpl0-4, PREV, NONE); 890 PIN_SLP(gpl0-6, PREV, NONE); 891 892 PIN_SLP(gpl1-0, OUT0, NONE); 893 PIN_SLP(gpl1-1, OUT0, NONE); 894 895 PIN_SLP(gpl2-0, INPUT, DOWN); 896 PIN_SLP(gpl2-1, INPUT, DOWN); 897 PIN_SLP(gpl2-2, INPUT, DOWN); 898 PIN_SLP(gpl2-3, INPUT, DOWN); 899 PIN_SLP(gpl2-4, OUT0, NONE); 900 PIN_SLP(gpl2-5, INPUT, DOWN); 901 PIN_SLP(gpl2-6, PREV, NONE); 902 PIN_SLP(gpl2-7, PREV, NONE); 903 904 PIN_SLP(gpm0-0, PREV, NONE); 905 PIN_SLP(gpm0-1, OUT0, NONE); 906 PIN_SLP(gpm0-2, INPUT, DOWN); 907 PIN_SLP(gpm0-3, INPUT, NONE); 908 PIN_SLP(gpm0-4, OUT0, NONE); 909 PIN_SLP(gpm0-5, OUT0, NONE); 910 PIN_SLP(gpm0-6, INPUT, DOWN); 911 PIN_SLP(gpm0-7, OUT0, NONE); 912 913 PIN_SLP(gpm1-0, INPUT, NONE); 914 PIN_SLP(gpm1-1, INPUT, NONE); 915 PIN_SLP(gpm1-2, INPUT, NONE); 916 PIN_SLP(gpm1-3, INPUT, NONE); 917 PIN_SLP(gpm1-4, INPUT, NONE); 918 PIN_SLP(gpm1-5, INPUT, NONE); 919 PIN_SLP(gpm1-6, INPUT, DOWN); 920 921 PIN_SLP(gpm2-0, INPUT, NONE); 922 PIN_SLP(gpm2-1, INPUT, NONE); 923 PIN_SLP(gpm2-2, OUT0, NONE); 924 PIN_SLP(gpm2-3, OUT0, DOWN); 925 PIN_SLP(gpm2-4, INPUT, DOWN); 926 927 PIN_SLP(gpm3-0, PREV, NONE); 928 PIN_SLP(gpm3-1, PREV, NONE); 929 PIN_SLP(gpm3-2, PREV, NONE); 930 PIN_SLP(gpm3-3, OUT1, NONE); 931 PIN_SLP(gpm3-4, OUT0, DOWN); 932 PIN_SLP(gpm3-5, PREV, NONE); 933 PIN_SLP(gpm3-6, PREV, NONE); 934 PIN_SLP(gpm3-7, OUT0, NONE); 935 936 PIN_SLP(gpm4-0, INPUT, NONE); 937 PIN_SLP(gpm4-1, INPUT, NONE); 938 PIN_SLP(gpm4-2, INPUT, DOWN); 939 PIN_SLP(gpm4-3, INPUT, DOWN); 940 PIN_SLP(gpm4-4, PREV, NONE); 941 PIN_SLP(gpm4-5, OUT0, NONE); 942 PIN_SLP(gpm4-6, OUT0, NONE); 943 PIN_SLP(gpm4-7, INPUT, DOWN); 944 945 PIN_SLP(gpy0-0, INPUT, DOWN); 946 PIN_SLP(gpy0-1, INPUT, DOWN); 947 PIN_SLP(gpy0-2, INPUT, NONE); 948 PIN_SLP(gpy0-3, INPUT, NONE); 949 PIN_SLP(gpy0-4, INPUT, NONE); 950 PIN_SLP(gpy0-5, INPUT, NONE); 951 952 PIN_SLP(gpy1-0, INPUT, DOWN); 953 PIN_SLP(gpy1-1, INPUT, DOWN); 954 PIN_SLP(gpy1-2, INPUT, DOWN); 955 PIN_SLP(gpy1-3, INPUT, DOWN); 956 957 PIN_SLP(gpy2-0, PREV, NONE); 958 PIN_SLP(gpy2-1, INPUT, DOWN); 959 PIN_SLP(gpy2-2, INPUT, NONE); 960 PIN_SLP(gpy2-3, INPUT, NONE); 961 PIN_SLP(gpy2-4, INPUT, NONE); 962 PIN_SLP(gpy2-5, INPUT, NONE); 963 964 PIN_SLP(gpy3-0, INPUT, DOWN); 965 PIN_SLP(gpy3-1, INPUT, DOWN); 966 PIN_SLP(gpy3-2, INPUT, DOWN); 967 PIN_SLP(gpy3-3, INPUT, DOWN); 968 PIN_SLP(gpy3-4, INPUT, DOWN); 969 PIN_SLP(gpy3-5, INPUT, DOWN); 970 PIN_SLP(gpy3-6, INPUT, DOWN); 971 PIN_SLP(gpy3-7, INPUT, DOWN); 972 973 PIN_SLP(gpy4-0, INPUT, DOWN); 974 PIN_SLP(gpy4-1, INPUT, DOWN); 975 PIN_SLP(gpy4-2, INPUT, DOWN); 976 PIN_SLP(gpy4-3, INPUT, DOWN); 977 PIN_SLP(gpy4-4, INPUT, DOWN); 978 PIN_SLP(gpy4-5, INPUT, DOWN); 979 PIN_SLP(gpy4-6, INPUT, DOWN); 980 PIN_SLP(gpy4-7, INPUT, DOWN); 981 982 PIN_SLP(gpy5-0, INPUT, DOWN); 983 PIN_SLP(gpy5-1, INPUT, DOWN); 984 PIN_SLP(gpy5-2, INPUT, DOWN); 985 PIN_SLP(gpy5-3, INPUT, DOWN); 986 PIN_SLP(gpy5-4, INPUT, DOWN); 987 PIN_SLP(gpy5-5, INPUT, DOWN); 988 PIN_SLP(gpy5-6, INPUT, DOWN); 989 PIN_SLP(gpy5-7, INPUT, DOWN); 990 991 PIN_SLP(gpy6-0, INPUT, DOWN); 992 PIN_SLP(gpy6-1, INPUT, DOWN); 993 PIN_SLP(gpy6-2, INPUT, DOWN); 994 PIN_SLP(gpy6-3, INPUT, DOWN); 995 PIN_SLP(gpy6-4, INPUT, DOWN); 996 PIN_SLP(gpy6-5, INPUT, DOWN); 997 PIN_SLP(gpy6-6, INPUT, DOWN); 998 PIN_SLP(gpy6-7, INPUT, DOWN); 999 }; 1000}; 1001 1002&pinctrl_2 { 1003 pinctrl-names = "default"; 1004 pinctrl-0 = <&sleep2>; 1005 1006 sleep2: sleep-states { 1007 PIN_SLP(gpz-0, INPUT, DOWN); 1008 PIN_SLP(gpz-1, INPUT, DOWN); 1009 PIN_SLP(gpz-2, INPUT, DOWN); 1010 PIN_SLP(gpz-3, INPUT, DOWN); 1011 PIN_SLP(gpz-4, INPUT, DOWN); 1012 PIN_SLP(gpz-5, INPUT, DOWN); 1013 PIN_SLP(gpz-6, INPUT, DOWN); 1014 }; 1015}; 1016 1017&pinctrl_3 { 1018 pinctrl-names = "default"; 1019 pinctrl-0 = <&sleep3>; 1020 1021 sleep3: sleep-states { 1022 PIN_SLP(gpv0-0, INPUT, DOWN); 1023 PIN_SLP(gpv0-1, INPUT, DOWN); 1024 PIN_SLP(gpv0-2, INPUT, DOWN); 1025 PIN_SLP(gpv0-3, INPUT, DOWN); 1026 PIN_SLP(gpv0-4, INPUT, DOWN); 1027 PIN_SLP(gpv0-5, INPUT, DOWN); 1028 PIN_SLP(gpv0-6, INPUT, DOWN); 1029 PIN_SLP(gpv0-7, INPUT, DOWN); 1030 1031 PIN_SLP(gpv1-0, INPUT, DOWN); 1032 PIN_SLP(gpv1-1, INPUT, DOWN); 1033 PIN_SLP(gpv1-2, INPUT, DOWN); 1034 PIN_SLP(gpv1-3, INPUT, DOWN); 1035 PIN_SLP(gpv1-4, INPUT, DOWN); 1036 PIN_SLP(gpv1-5, INPUT, DOWN); 1037 PIN_SLP(gpv1-6, INPUT, DOWN); 1038 PIN_SLP(gpv1-7, INPUT, DOWN); 1039 1040 PIN_SLP(gpv2-0, INPUT, DOWN); 1041 PIN_SLP(gpv2-1, INPUT, DOWN); 1042 PIN_SLP(gpv2-2, INPUT, DOWN); 1043 PIN_SLP(gpv2-3, INPUT, DOWN); 1044 PIN_SLP(gpv2-4, INPUT, DOWN); 1045 PIN_SLP(gpv2-5, INPUT, DOWN); 1046 PIN_SLP(gpv2-6, INPUT, DOWN); 1047 PIN_SLP(gpv2-7, INPUT, DOWN); 1048 1049 PIN_SLP(gpv3-0, INPUT, DOWN); 1050 PIN_SLP(gpv3-1, INPUT, DOWN); 1051 PIN_SLP(gpv3-2, INPUT, DOWN); 1052 PIN_SLP(gpv3-3, INPUT, DOWN); 1053 PIN_SLP(gpv3-4, INPUT, DOWN); 1054 PIN_SLP(gpv3-5, INPUT, DOWN); 1055 PIN_SLP(gpv3-6, INPUT, DOWN); 1056 PIN_SLP(gpv3-7, INPUT, DOWN); 1057 1058 PIN_SLP(gpv4-0, INPUT, DOWN); 1059 PIN_SLP(gpv4-1, INPUT, DOWN); 1060 }; 1061}; 1062 1063&pmu_system_controller { 1064 assigned-clocks = <&pmu_system_controller 0>; 1065 assigned-clock-parents = <&clock CLK_XUSBXTI>; 1066}; 1067 1068&rtc { 1069 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; 1070 clock-names = "rtc", "rtc_src"; 1071 status = "okay"; 1072}; 1073 1074&sdhci_2 { 1075 bus-width = <4>; 1076 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>; 1077 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sdhci2_cd>; 1078 pinctrl-names = "default"; 1079 vmmc-supply = <&ldo21_reg>; 1080 status = "okay"; 1081}; 1082 1083&sdhci_3 { 1084 #address-cells = <1>; 1085 #size-cells = <0>; 1086 non-removable; 1087 bus-width = <4>; 1088 mmc-pwrseq = <&wlan_pwrseq>; 1089 1090 pinctrl-names = "default"; 1091 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_wifi>; 1092 status = "okay"; 1093 1094 wifi@1 { 1095 compatible = "brcm,bcm4329-fmac"; 1096 reg = <0x1>; 1097 pinctrl-names = "default"; 1098 pinctrl-0 = <&wifi_host_wake>; 1099 interrupt-parent = <&gpx2>; 1100 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 1101 interrupt-names = "host-wake"; 1102 }; 1103}; 1104 1105&serial_0 { 1106 pinctrl-0 = <&uart0_data &uart0_fctl>; 1107 pinctrl-names = "default"; 1108 status = "okay"; 1109 1110 bluetooth { 1111 compatible = "brcm,bcm4330-bt"; 1112 pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>; 1113 pinctrl-names = "default"; 1114 1115 max-speed = <2000000>; 1116 shutdown-gpios = <&gpl0 6 GPIO_ACTIVE_HIGH>; 1117 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>; 1118 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>; 1119 clocks = <&max77686 MAX77686_CLK_PMIC>; 1120 clock-names = "lpo"; 1121 }; 1122}; 1123 1124&serial_2 { 1125 pinctrl-0 = <&uart_sel>; 1126 pinctrl-names = "default"; 1127 status = "okay"; 1128}; 1129 1130&tmu { 1131 status = "okay"; 1132}; 1133