1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Samsung Galaxy J6 (j6lte) device tree source 4 * 5 * Copyright (c) 2018 Samsung Electronics Co., Ltd. 6 * Copyright (c) 2025 Kaustabh Chakraborty <kauschluss@disroot.org> 7 */ 8 9/dts-v1/; 10#include "exynos7870.dtsi" 11#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/input/input.h> 13#include <dt-bindings/interrupt-controller/irq.h> 14 15/ { 16 model = "Samsung Galaxy J6"; 17 compatible = "samsung,j6lte", "samsung,exynos7870"; 18 chassis-type = "handset"; 19 20 aliases { 21 mmc0 = &mmc0; 22 mmc1 = &mmc1; 23 mmc2 = &mmc2; 24 serial0 = &serial0; 25 serial1 = &serial1; 26 serial2 = &serial2; 27 }; 28 29 chosen { 30 #address-cells = <2>; 31 #size-cells = <1>; 32 ranges; 33 34 stdout-path = &serial2; 35 36 framebuffer@67000000 { 37 compatible = "simple-framebuffer"; 38 reg = <0x0 0x67000000 (720 * 1480 * 4)>; 39 width = <720>; 40 height = <1480>; 41 stride = <(720 * 4)>; 42 format = "a8r8g8b8"; 43 }; 44 }; 45 46 gpio-hall-effect-sensor { 47 compatible = "gpio-keys"; 48 label = "GPIO Hall Effect Sensor"; 49 50 pinctrl-names = "default"; 51 pinctrl-0 = <&hall_irq>; 52 53 event-hall-effect-sensor { 54 label = "Hall Effect Sensor"; 55 gpios = <&gpa1 3 GPIO_ACTIVE_LOW>; 56 linux,input-type = <EV_SW>; 57 linux,code = <SW_LID>; 58 linux,can-disable; 59 wakeup-source; 60 }; 61 }; 62 63 gpio-keys { 64 compatible = "gpio-keys"; 65 label = "GPIO Keys"; 66 67 pinctrl-names = "default"; 68 pinctrl-0 = <&key_power &key_voldown &key_volup>; 69 70 key-power { 71 label = "Power Key"; 72 gpios = <&gpa0 0 GPIO_ACTIVE_LOW>; 73 linux,code = <KEY_POWER>; 74 }; 75 76 key-voldown { 77 label = "Volume Down Key"; 78 gpios = <&gpa2 1 GPIO_ACTIVE_LOW>; 79 linux,code = <KEY_VOLUMEDOWN>; 80 }; 81 82 key-volup { 83 label = "Volume Up Key"; 84 gpios = <&gpa2 0 GPIO_ACTIVE_LOW>; 85 linux,code = <KEY_VOLUMEUP>; 86 }; 87 }; 88 89 memory@40000000 { 90 device_type = "memory"; 91 reg = <0x0 0x40000000 0x3d800000>, 92 <0x0 0x80000000 0x7d800000>; 93 }; 94 95 pwrseq_mmc1: pwrseq-mmc1 { 96 compatible = "mmc-pwrseq-simple"; 97 reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>; 98 }; 99 100 /* mmc2: vmmc */ 101 vdd_fixed_mmc2: regulator-fixed-mmc2 { 102 compatible = "regulator-fixed"; 103 regulator-name = "vdd_fixed_mmc2"; 104 regulator-max-microvolt = <2800000>; 105 regulator-min-microvolt = <2800000>; 106 gpio = <&gpc0 0 GPIO_ACTIVE_HIGH>; 107 enable-active-high; 108 }; 109 110 reserved-memory { 111 #address-cells = <2>; 112 #size-cells = <1>; 113 ranges; 114 115 ramoops@46e00000 { 116 compatible = "ramoops"; 117 reg = <0x0 0x46e00000 0x8000>; 118 console-size = <0x4000>; 119 pmsg-size = <0x4000>; 120 }; 121 122 framebuffer@67000000 { 123 reg = <0x0 0x67000000 (720 * 1480 * 4)>; 124 no-map; 125 }; 126 }; 127 128 vibrator { 129 compatible = "regulator-haptic"; 130 haptic-supply = <&vdd_ldo32>; 131 min-microvolt = <3300000>; 132 max-microvolt = <3300000>; 133 }; 134}; 135 136&gpu { 137 status = "okay"; 138}; 139 140&hsi2c0 { 141 #address-cells = <1>; 142 #size-cells = <0>; 143 144 status = "okay"; 145 146 pmic@66 { 147 compatible = "samsung,s2mpu05-pmic"; 148 reg = <0x66>; 149 interrupt-parent = <&gpa0>; 150 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 151 152 pinctrl-names = "default"; 153 pinctrl-0 = <&pmic_irq>; 154 155 regulators { 156 vdd_buck1: buck1 { 157 regulator-name = "vdd_buck1"; 158 regulator-min-microvolt = <500000>; 159 regulator-max-microvolt = <1300000>; 160 regulator-ramp-delay = <12000>; 161 regulator-boot-on; 162 regulator-always-on; 163 }; 164 165 vdd_buck2: buck2 { 166 regulator-name = "vdd_buck2"; 167 regulator-min-microvolt = <500000>; 168 regulator-max-microvolt = <1300000>; 169 regulator-ramp-delay = <12000>; 170 regulator-boot-on; 171 regulator-always-on; 172 }; 173 174 vdd_buck3: buck3 { 175 regulator-name = "vdd_buck3"; 176 regulator-min-microvolt = <500000>; 177 regulator-max-microvolt = <1300000>; 178 regulator-ramp-delay = <12000>; 179 regulator-boot-on; 180 regulator-always-on; 181 }; 182 183 vdd_buck4: buck4 { 184 regulator-name = "vdd_buck4"; 185 regulator-min-microvolt = <1200000>; 186 regulator-max-microvolt = <1500000>; 187 regulator-ramp-delay = <12000>; 188 regulator-boot-on; 189 regulator-always-on; 190 }; 191 192 vdd_buck5: buck5 { 193 regulator-name = "vdd_buck5"; 194 regulator-min-microvolt = <1800000>; 195 regulator-max-microvolt = <2100000>; 196 regulator-ramp-delay = <12000>; 197 regulator-boot-on; 198 regulator-always-on; 199 }; 200 201 vdd_ldo1: ldo1 { 202 regulator-name = "vdd_ldo1"; 203 regulator-min-microvolt = <650000>; 204 regulator-max-microvolt = <1350000>; 205 regulator-ramp-delay = <12000>; 206 regulator-boot-on; 207 regulator-always-on; 208 }; 209 210 /* mmc2: vqmmc */ 211 vdd_ldo2: ldo2 { 212 regulator-name = "vdd_ldo2"; 213 regulator-min-microvolt = <1800000>; 214 regulator-max-microvolt = <2800000>; 215 regulator-ramp-delay = <12000>; 216 }; 217 218 vdd_ldo3: ldo3 { 219 regulator-name = "vdd_ldo3"; 220 regulator-min-microvolt = <800000>; 221 regulator-max-microvolt = <2375000>; 222 regulator-ramp-delay = <12000>; 223 regulator-boot-on; 224 regulator-always-on; 225 }; 226 227 vdd_ldo4: ldo4 { 228 regulator-name = "vdd_ldo4"; 229 regulator-min-microvolt = <800000>; 230 regulator-max-microvolt = <1350000>; 231 regulator-ramp-delay = <12000>; 232 regulator-boot-on; 233 regulator-always-on; 234 }; 235 236 vdd_ldo5: ldo5 { 237 regulator-name = "vdd_ldo5"; 238 regulator-min-microvolt = <800000>; 239 regulator-max-microvolt = <1350000>; 240 regulator-ramp-delay = <12000>; 241 regulator-boot-on; 242 regulator-always-on; 243 }; 244 245 vdd_ldo6: ldo6 { 246 regulator-name = "vdd_ldo6"; 247 regulator-min-microvolt = <800000>; 248 regulator-max-microvolt = <1350000>; 249 regulator-ramp-delay = <12000>; 250 regulator-boot-on; 251 regulator-always-on; 252 }; 253 254 vdd_ldo7: ldo7 { 255 regulator-name = "vdd_ldo7"; 256 regulator-min-microvolt = <800000>; 257 regulator-max-microvolt = <2375000>; 258 regulator-ramp-delay = <12000>; 259 regulator-boot-on; 260 regulator-always-on; 261 }; 262 263 /* usbdrd: vdd33 */ 264 vdd_ldo8: ldo8 { 265 regulator-name = "vdd_ldo8"; 266 regulator-min-microvolt = <1800000>; 267 regulator-max-microvolt = <3375000>; 268 regulator-ramp-delay = <12000>; 269 }; 270 271 vdd_ldo9: ldo9 { 272 regulator-name = "vdd_ldo9"; 273 regulator-min-microvolt = <650000>; 274 regulator-max-microvolt = <1350000>; 275 regulator-ramp-delay = <12000>; 276 regulator-boot-on; 277 regulator-always-on; 278 }; 279 280 vdd_ldo10: ldo10 { 281 regulator-name = "vdd_ldo10"; 282 regulator-min-microvolt = <650000>; 283 regulator-max-microvolt = <1350000>; 284 regulator-ramp-delay = <12000>; 285 regulator-boot-on; 286 regulator-always-on; 287 }; 288 289 vdd_ldo25: ldo25 { 290 regulator-name = "vdd_ldo25"; 291 regulator-min-microvolt = <800000>; 292 regulator-max-microvolt = <2375000>; 293 regulator-ramp-delay = <12000>; 294 regulator-boot-on; 295 regulator-always-on; 296 }; 297 298 /* mmc0: vmmc */ 299 vdd_ldo26: ldo26 { 300 regulator-name = "vdd_ldo26"; 301 regulator-min-microvolt = <1800000>; 302 regulator-max-microvolt = <3375000>; 303 regulator-ramp-delay = <12000>; 304 }; 305 306 /* mmc0: vqmmc */ 307 vdd_ldo27: ldo27 { 308 regulator-name = "vdd_ldo27"; 309 regulator-min-microvolt = <800000>; 310 regulator-max-microvolt = <2375000>; 311 regulator-ramp-delay = <12000>; 312 }; 313 314 vdd_ldo29: ldo29 { 315 regulator-name = "vdd_ldo29"; 316 regulator-min-microvolt = <3000000>; 317 regulator-max-microvolt = <3000000>; 318 regulator-boot-on; 319 regulator-always-on; 320 }; 321 322 vdd_ldo30: ldo30 { 323 regulator-name = "vdd_ldo30"; 324 regulator-min-microvolt = <1800000>; 325 regulator-max-microvolt = <1800000>; 326 regulator-boot-on; 327 regulator-always-on; 328 }; 329 330 vdd_ldo31: ldo31 { 331 regulator-name = "vdd_ldo31"; 332 regulator-min-microvolt = <2800000>; 333 regulator-max-microvolt = <2800000>; 334 regulator-ramp-delay = <12000>; 335 regulator-boot-on; 336 regulator-always-on; 337 }; 338 339 /* vibrator: haptic */ 340 vdd_ldo32: ldo32 { 341 regulator-name = "vdd_ldo32"; 342 regulator-min-microvolt = <3300000>; 343 regulator-max-microvolt = <3300000>; 344 regulator-ramp-delay = <12000>; 345 }; 346 347 vdd_ldo33: ldo33 { 348 regulator-name = "vdd_ldo33"; 349 regulator-min-microvolt = <3300000>; 350 regulator-max-microvolt = <3300000>; 351 regulator-ramp-delay = <12000>; 352 regulator-boot-on; 353 regulator-always-on; 354 }; 355 356 /* touchscreen: vdd */ 357 vdd_ldo34: ldo34 { 358 regulator-name = "vdd_ldo34"; 359 regulator-min-microvolt = <3300000>; 360 regulator-max-microvolt = <3300000>; 361 }; 362 363 vdd_ldo35: ldo35 { 364 regulator-name = "vdd_ldo35"; 365 regulator-min-microvolt = <2800000>; 366 regulator-max-microvolt = <2800000>; 367 regulator-ramp-delay = <12000>; 368 regulator-boot-on; 369 regulator-always-on; 370 }; 371 }; 372 }; 373}; 374 375&i2c5 { 376 #address-cells = <1>; 377 #size-cells = <0>; 378 379 samsung,i2c-sda-delay = <100>; 380 samsung,i2c-max-bus-freq = <400000>; 381 382 status = "okay"; 383 384 accelerometer@1d { 385 compatible = "st,lis2ds12"; 386 reg = <0x1d>; 387 interrupt-parent = <&gpa2>; 388 interrupts = <3 IRQ_TYPE_EDGE_RISING>; 389 390 pinctrl-names = "default"; 391 pinctrl-0 = <&accel_irq>; 392 393 mount-matrix = "-1", "0", "0", 394 "0", "1", "0", 395 "0", "0", "-1"; 396 397 st,drdy-int-pin = <1>; 398 }; 399}; 400 401&i2c6 { 402 #address-cells = <1>; 403 #size-cells = <0>; 404 405 samsung,i2c-sda-delay = <100>; 406 samsung,i2c-max-bus-freq = <400000>; 407 408 status = "okay"; 409 410 touchscreen@20 { 411 compatible = "zinitix,bt532"; 412 reg = <0x20>; 413 interrupt-parent = <&gpa0>; 414 interrupts = <6 IRQ_TYPE_LEVEL_LOW>; 415 416 pinctrl-names = "default"; 417 pinctrl-0 = <&touch_irq>; 418 419 touchscreen-size-x = <720>; 420 touchscreen-size-y = <1480>; 421 422 vdd-supply = <&vdd_ldo34>; 423 }; 424}; 425 426&mmc0 { 427 pinctrl-names = "default"; 428 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_rdqs &sd0_bus1 &sd0_bus4 &sd0_bus8>; 429 430 vmmc-supply = <&vdd_ldo26>; 431 vqmmc-supply = <&vdd_ldo27>; 432 433 fifo-depth = <64>; 434 samsung,dw-mshc-ciu-div = <3>; 435 samsung,dw-mshc-sdr-timing = <0 4>; 436 samsung,dw-mshc-ddr-timing = <2 4>; 437 non-removable; 438 439 status = "okay"; 440}; 441 442&mmc1 { 443 #address-cells = <1>; 444 #size-cells = <0>; 445 446 pinctrl-names = "default"; 447 pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus1 &sd1_bus4>; 448 449 mmc-pwrseq = <&pwrseq_mmc1>; 450 451 bus-width = <4>; 452 fifo-depth = <64>; 453 samsung,dw-mshc-ciu-div = <3>; 454 samsung,dw-mshc-sdr-timing = <0 3>; 455 samsung,dw-mshc-ddr-timing = <1 2>; 456 non-removable; 457 cap-sd-highspeed; 458 cap-sdio-irq; 459 460 status = "okay"; 461 462 wifi@1 { 463 compatible = "brcm,bcm43430a1-fmac", "brcm,bcm4329-fmac"; 464 reg = <0x1>; 465 interrupt-names = "host-wake"; 466 interrupt-parent = <&gpa2>; 467 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 468 469 reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>; 470 }; 471}; 472 473&mmc2 { 474 pinctrl-names = "default"; 475 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_irq>; 476 477 vmmc-supply = <&vdd_fixed_mmc2>; 478 vqmmc-supply = <&vdd_ldo2>; 479 480 bus-width = <4>; 481 card-detect-delay = <200>; 482 fifo-depth = <64>; 483 samsung,dw-mshc-ciu-div = <3>; 484 samsung,dw-mshc-sdr-timing = <0 3>; 485 samsung,dw-mshc-ddr-timing = <1 2>; 486 sd-uhs-sdr50; 487 sd-uhs-sdr104; 488 broken-cd; 489 disable-wp; 490 491 status = "okay"; 492}; 493 494&oscclk { 495 clock-frequency = <26000000>; 496}; 497 498&pinctrl_alive { 499 accel_irq: accel-irq-pins { 500 samsung,pins = "gpa2-3"; 501 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 502 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 503 samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; 504 }; 505 506 dwmmc2_irq: dwmmc2-irq-pins { 507 samsung,pins = "gpa0-1"; 508 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 509 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 510 samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; 511 }; 512 513 fuel_irq: fuel-irq-pins { 514 samsung,pins = "gpa0-3"; 515 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 516 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 517 samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; 518 }; 519 520 hall_irq: hall-irq-pins { 521 samsung,pins = "gpa1-3"; 522 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 523 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 524 samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; 525 }; 526 527 key_power: key-power-pins { 528 samsung,pins = "gpa0-0"; 529 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 530 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 531 samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; 532 }; 533 534 key_voldown: key-voldown-pins { 535 samsung,pins = "gpa2-1"; 536 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 537 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 538 samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; 539 }; 540 541 key_volup: key-volup-pins { 542 samsung,pins = "gpa2-0"; 543 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 544 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 545 samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; 546 }; 547 548 pmic_irq: pmic-irq-pins { 549 samsung,pins = "gpa0-2"; 550 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 551 samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>; 552 }; 553 554 touch_irq: touch-irq-pins { 555 samsung,pins = "gpa0-6"; 556 samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; 557 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 558 samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; 559 }; 560 561 wlan_hostwake: wlan-hostwake-pins { 562 samsung,pins = "gpa2-2"; 563 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 564 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 565 }; 566}; 567 568&pinctrl_top { 569 bt_enable: bt-enable-pins { 570 samsung,pins = "gpd4-0"; 571 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 572 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; 573 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; 574 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; 575 }; 576 577 wlan_enable: wlan-enable-pins { 578 samsung,pins = "gpd3-6"; 579 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 580 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>; 581 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; 582 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 583 samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>; 584 samsung,pin-val = <0>; 585 }; 586}; 587 588&serial1 { 589 status = "okay"; 590 591 bluetooth { 592 compatible = "brcm,bcm43430a1-bt"; 593 594 pinctrl-names = "default"; 595 pinctrl-0 = <&bt_btwake &bt_hostwake &bt_enable>; 596 597 device-wakeup-gpios = <&gpa1 2 GPIO_ACTIVE_HIGH>; 598 host-wakeup-gpios = <&gpa1 6 GPIO_ACTIVE_HIGH>; 599 shutdown-gpios = <&gpd4 0 GPIO_ACTIVE_HIGH>; 600 601 max-speed = <3000000>; 602 }; 603}; 604 605&serial2 { 606 status = "okay"; 607}; 608 609&usbdrd { 610 vdd33-supply = <&vdd_ldo8>; 611 612 status = "okay"; 613}; 614