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