1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Samsung's Exynos4210 based Trats board device tree source 4 * 5 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com 7 * 8 * Device tree source file for Samsung's Trats board which is based on 9 * Samsung's Exynos4210 SoC. 10 */ 11 12/dts-v1/; 13#include "exynos4210.dtsi" 14#include <dt-bindings/gpio/gpio.h> 15 16/ { 17 model = "Samsung Trats based on Exynos4210"; 18 compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4"; 19 chassis-type = "handset"; 20 21 memory@40000000 { 22 device_type = "memory"; 23 reg = <0x40000000 0x10000000 24 0x50000000 0x10000000 25 0x60000000 0x10000000 26 0x70000000 0x10000000>; 27 }; 28 29 chosen { 30 bootargs = "root=/dev/mmcblk0p5 rootwait earlyprintk panic=5"; 31 stdout-path = "serial2:115200n8"; 32 }; 33 34 vemmc_reg: regulator-0 { 35 compatible = "regulator-fixed"; 36 regulator-name = "VMEM_VDD_2.8V"; 37 regulator-min-microvolt = <2800000>; 38 regulator-max-microvolt = <2800000>; 39 gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>; 40 enable-active-high; 41 }; 42 43 tsp_reg: regulator-1 { 44 compatible = "regulator-fixed"; 45 regulator-name = "TSP_FIXED_VOLTAGES"; 46 regulator-min-microvolt = <2800000>; 47 regulator-max-microvolt = <2800000>; 48 gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>; 49 enable-active-high; 50 }; 51 52 cam_af_28v_reg: regulator-2 { 53 compatible = "regulator-fixed"; 54 regulator-name = "8M_AF_2.8V_EN"; 55 regulator-min-microvolt = <2800000>; 56 regulator-max-microvolt = <2800000>; 57 gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>; 58 enable-active-high; 59 }; 60 61 cam_io_en_reg: regulator-3 { 62 compatible = "regulator-fixed"; 63 regulator-name = "CAM_IO_EN"; 64 regulator-min-microvolt = <2800000>; 65 regulator-max-microvolt = <2800000>; 66 gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>; 67 enable-active-high; 68 }; 69 70 cam_io_12v_reg: regulator-4 { 71 compatible = "regulator-fixed"; 72 regulator-name = "8M_1.2V_EN"; 73 regulator-min-microvolt = <1200000>; 74 regulator-max-microvolt = <1200000>; 75 gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>; 76 enable-active-high; 77 }; 78 79 vt_core_15v_reg: regulator-5 { 80 compatible = "regulator-fixed"; 81 regulator-name = "VT_CORE_1.5V"; 82 regulator-min-microvolt = <1500000>; 83 regulator-max-microvolt = <1500000>; 84 gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>; 85 enable-active-high; 86 }; 87 88 gpio-keys { 89 compatible = "gpio-keys"; 90 91 vol-down-key { 92 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; 93 linux,code = <114>; 94 label = "volume down"; 95 debounce-interval = <10>; 96 }; 97 98 vol-up-key { 99 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; 100 linux,code = <115>; 101 label = "volume up"; 102 debounce-interval = <10>; 103 }; 104 105 power-key { 106 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>; 107 linux,code = <116>; 108 label = "power"; 109 debounce-interval = <10>; 110 wakeup-source; 111 }; 112 113 ok-key { 114 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; 115 linux,code = <352>; 116 label = "ok"; 117 debounce-interval = <10>; 118 }; 119 }; 120 121 wlan_pwrseq: sdhci3-pwrseq { 122 compatible = "mmc-pwrseq-simple"; 123 reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>; 124 }; 125 126 fixed-rate-clocks { 127 xxti { 128 compatible = "samsung,clock-xxti"; 129 clock-frequency = <0>; 130 }; 131 132 xusbxti { 133 compatible = "samsung,clock-xusbxti"; 134 clock-frequency = <24000000>; 135 }; 136 137 pmic_ap_clk: pmic-ap-clk { 138 /* Workaround for missing clock on max8997 PMIC */ 139 compatible = "fixed-clock"; 140 #clock-cells = <0>; 141 clock-frequency = <32768>; 142 }; 143 }; 144}; 145 146&camera { 147 pinctrl-names = "default"; 148 pinctrl-0 = <>; 149 status = "okay"; 150}; 151 152&cpu0 { 153 cpu0-supply = <&varm_breg>; 154}; 155 156&cpu_thermal { 157 cooling-maps { 158 map0 { 159 /* Corresponds to 800MHz at freq_table */ 160 cooling-device = <&cpu0 2 2>, <&cpu1 2 2>; 161 }; 162 map1 { 163 /* Corresponds to 200MHz at freq_table */ 164 cooling-device = <&cpu0 4 4>, <&cpu1 4 4>; 165 }; 166 }; 167}; 168 169&dsi_0 { 170 vddcore-supply = <&vusb_reg>; 171 vddio-supply = <&vmipi_reg>; 172 samsung,burst-clock-frequency = <500000000>; 173 samsung,esc-clock-frequency = <20000000>; 174 samsung,pll-clock-frequency = <24000000>; 175 status = "okay"; 176 177 panel@0 { 178 reg = <0>; 179 compatible = "samsung,s6e8aa0"; 180 vdd3-supply = <&vcclcd_reg>; 181 vci-supply = <&vlcd_reg>; 182 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>; 183 power-on-delay= <50>; 184 reset-delay = <100>; 185 init-delay = <100>; 186 flip-horizontal; 187 flip-vertical; 188 panel-width-mm = <58>; 189 panel-height-mm = <103>; 190 191 display-timings { 192 timing-0 { 193 clock-frequency = <57153600>; 194 hactive = <720>; 195 vactive = <1280>; 196 hfront-porch = <5>; 197 hback-porch = <5>; 198 hsync-len = <5>; 199 vfront-porch = <13>; 200 vback-porch = <1>; 201 vsync-len = <2>; 202 }; 203 }; 204 }; 205}; 206 207&exynos_usbphy { 208 status = "okay"; 209 vbus-supply = <&safe1_sreg>; 210}; 211 212&fimc_0 { 213 status = "okay"; 214 assigned-clocks = <&clock CLK_MOUT_FIMC0>, 215 <&clock CLK_SCLK_FIMC0>; 216 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 217 assigned-clock-rates = <0>, <160000000>; 218}; 219 220&fimc_1 { 221 status = "okay"; 222 assigned-clocks = <&clock CLK_MOUT_FIMC1>, 223 <&clock CLK_SCLK_FIMC1>; 224 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 225 assigned-clock-rates = <0>, <160000000>; 226}; 227 228&fimc_2 { 229 status = "okay"; 230 assigned-clocks = <&clock CLK_MOUT_FIMC2>, 231 <&clock CLK_SCLK_FIMC2>; 232 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 233 assigned-clock-rates = <0>, <160000000>; 234}; 235 236&fimc_3 { 237 status = "okay"; 238 assigned-clocks = <&clock CLK_MOUT_FIMC3>, 239 <&clock CLK_SCLK_FIMC3>; 240 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 241 assigned-clock-rates = <0>, <160000000>; 242}; 243 244&fimd { 245 status = "okay"; 246}; 247 248&gpu { 249 status = "okay"; 250}; 251 252&hsotg { 253 vusb_d-supply = <&vusb_reg>; 254 vusb_a-supply = <&vusbdac_reg>; 255 dr_mode = "peripheral"; 256 status = "okay"; 257}; 258 259&i2c_3 { 260 samsung,i2c-sda-delay = <100>; 261 samsung,i2c-slave-addr = <0x10>; 262 samsung,i2c-max-bus-freq = <400000>; 263 pinctrl-0 = <&i2c3_bus>; 264 pinctrl-names = "default"; 265 status = "okay"; 266 267 touchscreen@48 { 268 compatible = "melfas,mms114"; 269 reg = <0x48>; 270 interrupt-parent = <&gpx0>; 271 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 272 touchscreen-size-x = <720>; 273 touchscreen-size-y = <1280>; 274 avdd-supply = <&tsp_reg>; 275 vdd-supply = <&tsp_reg>; 276 }; 277}; 278 279&i2c_5 { 280 samsung,i2c-sda-delay = <100>; 281 samsung,i2c-slave-addr = <0x10>; 282 samsung,i2c-max-bus-freq = <100000>; 283 pinctrl-0 = <&i2c5_bus>; 284 pinctrl-names = "default"; 285 status = "okay"; 286 287 pmic@66 { 288 compatible = "maxim,max8997-pmic"; 289 290 reg = <0x66>; 291 interrupts-extended = <&gpx0 7 IRQ_TYPE_LEVEL_LOW>, 292 <&gpx2 3 IRQ_TYPE_EDGE_FALLING>; 293 294 max8997,pmic-buck1-uses-gpio-dvs; 295 max8997,pmic-buck2-uses-gpio-dvs; 296 max8997,pmic-buck5-uses-gpio-dvs; 297 298 max8997,pmic-ignore-gpiodvs-side-effect; 299 max8997,pmic-buck125-default-dvs-idx = <0>; 300 301 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>, 302 <&gpx0 6 GPIO_ACTIVE_HIGH>, 303 <&gpl0 0 GPIO_ACTIVE_HIGH>; 304 305 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>, 306 <1250000>, <1200000>, 307 <1150000>, <1100000>, 308 <1000000>, <950000>; 309 310 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>, 311 <950000>, <900000>, 312 <1100000>, <1000000>, 313 <950000>, <900000>; 314 315 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>, 316 <1200000>, <1200000>, 317 <1200000>, <1200000>, 318 <1200000>, <1200000>; 319 320 regulators { 321 valive_reg: LDO2 { 322 regulator-name = "VALIVE_1.1V_C210"; 323 regulator-min-microvolt = <1100000>; 324 regulator-max-microvolt = <1100000>; 325 regulator-always-on; 326 }; 327 328 vusb_reg: LDO3 { 329 regulator-name = "VUSB_1.1V_C210"; 330 regulator-min-microvolt = <1100000>; 331 regulator-max-microvolt = <1100000>; 332 }; 333 334 vmipi_reg: LDO4 { 335 regulator-name = "VMIPI_1.8V"; 336 regulator-min-microvolt = <1800000>; 337 regulator-max-microvolt = <1800000>; 338 }; 339 340 vpda_reg: LDO6 { 341 regulator-name = "VCC_1.8V_PDA"; 342 regulator-min-microvolt = <1800000>; 343 regulator-max-microvolt = <1800000>; 344 regulator-always-on; 345 }; 346 347 vcam_reg: LDO7 { 348 regulator-name = "CAM_ISP_1.8V"; 349 regulator-min-microvolt = <1800000>; 350 regulator-max-microvolt = <1800000>; 351 }; 352 353 vusbdac_reg: LDO8 { 354 regulator-name = "VUSB+VDAC_3.3V_C210"; 355 regulator-min-microvolt = <3300000>; 356 regulator-max-microvolt = <3300000>; 357 }; 358 359 vccpda_reg: LDO9 { 360 regulator-name = "VCC_2.8V_PDA"; 361 regulator-min-microvolt = <2800000>; 362 regulator-max-microvolt = <2800000>; 363 regulator-always-on; 364 }; 365 366 vpll_reg: LDO10 { 367 regulator-name = "VPLL_1.1V_C210"; 368 regulator-min-microvolt = <1100000>; 369 regulator-max-microvolt = <1100000>; 370 regulator-always-on; 371 }; 372 373 vtcam_reg: LDO12 { 374 regulator-name = "VT_CAM_1.8V"; 375 regulator-min-microvolt = <1800000>; 376 regulator-max-microvolt = <1800000>; 377 }; 378 379 vcclcd_reg: LDO13 { 380 regulator-name = "VCC_3.3V_LCD"; 381 regulator-min-microvolt = <3300000>; 382 regulator-max-microvolt = <3300000>; 383 }; 384 385 vlcd_reg: LDO15 { 386 regulator-name = "VLCD_2.2V"; 387 regulator-min-microvolt = <2200000>; 388 regulator-max-microvolt = <2200000>; 389 }; 390 391 camsensor_reg: LDO16 { 392 regulator-name = "CAM_SENSOR_IO_1.8V"; 393 regulator-min-microvolt = <1800000>; 394 regulator-max-microvolt = <1800000>; 395 }; 396 397 tflash_reg: LDO17 { 398 regulator-name = "VTF_2.8V"; 399 regulator-min-microvolt = <2800000>; 400 regulator-max-microvolt = <2800000>; 401 }; 402 403 vddq_reg: LDO21 { 404 regulator-name = "VDDQ_M1M2_1.2V"; 405 regulator-min-microvolt = <1200000>; 406 regulator-max-microvolt = <1200000>; 407 regulator-always-on; 408 }; 409 410 varm_breg: BUCK1 { 411 regulator-name = "VARM_1.2V_C210"; 412 regulator-min-microvolt = <900000>; 413 regulator-max-microvolt = <1350000>; 414 regulator-always-on; 415 }; 416 417 vint_breg: BUCK2 { 418 regulator-name = "VINT_1.1V_C210"; 419 regulator-min-microvolt = <900000>; 420 regulator-max-microvolt = <1100000>; 421 regulator-always-on; 422 }; 423 424 camisp_breg: BUCK4 { 425 regulator-name = "CAM_ISP_CORE_1.2V"; 426 regulator-min-microvolt = <1200000>; 427 regulator-max-microvolt = <1200000>; 428 }; 429 430 vmem_breg: BUCK5 { 431 regulator-name = "VMEM_1.2V_C210"; 432 regulator-min-microvolt = <1200000>; 433 regulator-max-microvolt = <1200000>; 434 regulator-always-on; 435 }; 436 437 vccsub_breg: BUCK7 { 438 regulator-name = "VCC_SUB_2.0V"; 439 regulator-min-microvolt = <2000000>; 440 regulator-max-microvolt = <2000000>; 441 regulator-always-on; 442 }; 443 444 safe1_sreg: ESAFEOUT1 { 445 regulator-name = "SAFEOUT1"; 446 }; 447 448 safe2_sreg: ESAFEOUT2 { 449 regulator-name = "SAFEOUT2"; 450 regulator-boot-on; 451 }; 452 453 EN32KHZ_AP { 454 regulator-name = "EN32KHZ_AP"; 455 regulator-always-on; 456 }; 457 458 EN32KHZ_CP { 459 regulator-name = "EN32KHZ_CP"; 460 regulator-always-on; 461 }; 462 }; 463 }; 464}; 465 466&pinctrl_1 { 467 bt_shutdown: bt-shutdown { 468 samsung,pins = "gpl1-0"; 469 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 470 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 471 }; 472 473 bt_host_wakeup: bt-host-wakeup { 474 samsung,pins = "gpx2-6"; 475 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 476 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 477 }; 478 479 bt_device_wakeup: bt-device-wakeup { 480 samsung,pins = "gpx3-1"; 481 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 482 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 483 }; 484}; 485 486&rtc { 487 status = "okay"; 488 clocks = <&clock CLK_RTC>, <&pmic_ap_clk>; 489 clock-names = "rtc", "rtc_src"; 490}; 491 492&sdhci_0 { 493 bus-width = <8>; 494 non-removable; 495 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>; 496 pinctrl-names = "default"; 497 vmmc-supply = <&vemmc_reg>; 498 status = "okay"; 499}; 500 501&sdhci_2 { 502 bus-width = <4>; 503 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>; 504 pinctrl-names = "default"; 505 vmmc-supply = <&tflash_reg>; 506 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>; 507 status = "okay"; 508}; 509 510&sdhci_3 { 511 status = "okay"; 512 513 #address-cells = <1>; 514 #size-cells = <0>; 515 516 non-removable; 517 bus-width = <4>; 518 mmc-pwrseq = <&wlan_pwrseq>; 519 vmmc-supply = <&tflash_reg>; 520 521 pinctrl-names = "default"; 522 pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>; 523 524 brcmf: wifi@1 { 525 compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac"; 526 reg = <1>; 527 528 interrupt-parent = <&gpx2>; 529 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; 530 interrupt-names = "host-wake"; 531 }; 532}; 533 534&serial_0 { 535 status = "okay"; 536 pinctrl-0 = <&uart0_data &uart0_fctl>; 537 pinctrl-names = "default"; 538 539 bluetooth { 540 compatible = "brcm,bcm4330-bt"; 541 pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>; 542 pinctrl-names = "default"; 543 shutdown-gpios = <&gpl1 0 GPIO_ACTIVE_HIGH>; 544 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>; 545 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>; 546 }; 547}; 548 549&serial_1 { 550 status = "okay"; 551}; 552 553&serial_2 { 554 status = "okay"; 555}; 556 557&serial_3 { 558 status = "okay"; 559}; 560 561&tmu { 562 status = "okay"; 563}; 564