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 20 memory@40000000 { 21 device_type = "memory"; 22 reg = <0x40000000 0x10000000 23 0x50000000 0x10000000 24 0x60000000 0x10000000 25 0x70000000 0x10000000>; 26 }; 27 28 chosen { 29 bootargs = "root=/dev/mmcblk0p5 rootwait earlyprintk panic=5"; 30 stdout-path = "serial2:115200n8"; 31 }; 32 33 regulators { 34 compatible = "simple-bus"; 35 36 vemmc_reg: regulator-0 { 37 compatible = "regulator-fixed"; 38 regulator-name = "VMEM_VDD_2.8V"; 39 regulator-min-microvolt = <2800000>; 40 regulator-max-microvolt = <2800000>; 41 gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>; 42 enable-active-high; 43 }; 44 45 tsp_reg: regulator-1 { 46 compatible = "regulator-fixed"; 47 regulator-name = "TSP_FIXED_VOLTAGES"; 48 regulator-min-microvolt = <2800000>; 49 regulator-max-microvolt = <2800000>; 50 gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>; 51 enable-active-high; 52 }; 53 54 cam_af_28v_reg: regulator-2 { 55 compatible = "regulator-fixed"; 56 regulator-name = "8M_AF_2.8V_EN"; 57 regulator-min-microvolt = <2800000>; 58 regulator-max-microvolt = <2800000>; 59 gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>; 60 enable-active-high; 61 }; 62 63 cam_io_en_reg: regulator-3 { 64 compatible = "regulator-fixed"; 65 regulator-name = "CAM_IO_EN"; 66 regulator-min-microvolt = <2800000>; 67 regulator-max-microvolt = <2800000>; 68 gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>; 69 enable-active-high; 70 }; 71 72 cam_io_12v_reg: regulator-4 { 73 compatible = "regulator-fixed"; 74 regulator-name = "8M_1.2V_EN"; 75 regulator-min-microvolt = <1200000>; 76 regulator-max-microvolt = <1200000>; 77 gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>; 78 enable-active-high; 79 }; 80 81 vt_core_15v_reg: regulator-5 { 82 compatible = "regulator-fixed"; 83 regulator-name = "VT_CORE_1.5V"; 84 regulator-min-microvolt = <1500000>; 85 regulator-max-microvolt = <1500000>; 86 gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>; 87 enable-active-high; 88 }; 89 }; 90 91 gpio-keys { 92 compatible = "gpio-keys"; 93 94 vol-down-key { 95 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; 96 linux,code = <114>; 97 label = "volume down"; 98 debounce-interval = <10>; 99 }; 100 101 vol-up-key { 102 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; 103 linux,code = <115>; 104 label = "volume up"; 105 debounce-interval = <10>; 106 }; 107 108 power-key { 109 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>; 110 linux,code = <116>; 111 label = "power"; 112 debounce-interval = <10>; 113 wakeup-source; 114 }; 115 116 ok-key { 117 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; 118 linux,code = <352>; 119 label = "ok"; 120 debounce-interval = <10>; 121 }; 122 }; 123 124 fixed-rate-clocks { 125 xxti { 126 compatible = "samsung,clock-xxti"; 127 clock-frequency = <0>; 128 }; 129 130 xusbxti { 131 compatible = "samsung,clock-xusbxti"; 132 clock-frequency = <24000000>; 133 }; 134 }; 135 136 thermal-zones { 137 cpu_thermal: cpu-thermal { 138 cooling-maps { 139 map0 { 140 /* Corresponds to 800MHz at freq_table */ 141 cooling-device = <&cpu0 2 2>, <&cpu1 2 2>; 142 }; 143 map1 { 144 /* Corresponds to 200MHz at freq_table */ 145 cooling-device = <&cpu0 4 4>, <&cpu1 4 4>; 146 }; 147 }; 148 }; 149 }; 150 151}; 152 153&camera { 154 pinctrl-names = "default"; 155 pinctrl-0 = <>; 156 status = "okay"; 157}; 158 159&cpu0 { 160 cpu0-supply = <&varm_breg>; 161}; 162 163&dsi_0 { 164 vddcore-supply = <&vusb_reg>; 165 vddio-supply = <&vmipi_reg>; 166 samsung,burst-clock-frequency = <500000000>; 167 samsung,esc-clock-frequency = <20000000>; 168 samsung,pll-clock-frequency = <24000000>; 169 status = "okay"; 170 171 panel@0 { 172 reg = <0>; 173 compatible = "samsung,s6e8aa0"; 174 vdd3-supply = <&vcclcd_reg>; 175 vci-supply = <&vlcd_reg>; 176 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>; 177 power-on-delay= <50>; 178 reset-delay = <100>; 179 init-delay = <100>; 180 flip-horizontal; 181 flip-vertical; 182 panel-width-mm = <58>; 183 panel-height-mm = <103>; 184 185 display-timings { 186 timing-0 { 187 clock-frequency = <57153600>; 188 hactive = <720>; 189 vactive = <1280>; 190 hfront-porch = <5>; 191 hback-porch = <5>; 192 hsync-len = <5>; 193 vfront-porch = <13>; 194 vback-porch = <1>; 195 vsync-len = <2>; 196 }; 197 }; 198 }; 199}; 200 201&exynos_usbphy { 202 status = "okay"; 203 vbus-supply = <&safe1_sreg>; 204}; 205 206&fimc_0 { 207 status = "okay"; 208 assigned-clocks = <&clock CLK_MOUT_FIMC0>, 209 <&clock CLK_SCLK_FIMC0>; 210 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 211 assigned-clock-rates = <0>, <160000000>; 212}; 213 214&fimc_1 { 215 status = "okay"; 216 assigned-clocks = <&clock CLK_MOUT_FIMC1>, 217 <&clock CLK_SCLK_FIMC1>; 218 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 219 assigned-clock-rates = <0>, <160000000>; 220}; 221 222&fimc_2 { 223 status = "okay"; 224 assigned-clocks = <&clock CLK_MOUT_FIMC2>, 225 <&clock CLK_SCLK_FIMC2>; 226 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 227 assigned-clock-rates = <0>, <160000000>; 228}; 229 230&fimc_3 { 231 status = "okay"; 232 assigned-clocks = <&clock CLK_MOUT_FIMC3>, 233 <&clock CLK_SCLK_FIMC3>; 234 assigned-clock-parents = <&clock CLK_SCLK_MPLL>; 235 assigned-clock-rates = <0>, <160000000>; 236}; 237 238&fimd { 239 status = "okay"; 240}; 241 242&gpu { 243 status = "okay"; 244}; 245 246&hsotg { 247 vusb_d-supply = <&vusb_reg>; 248 vusb_a-supply = <&vusbdac_reg>; 249 dr_mode = "peripheral"; 250 status = "okay"; 251}; 252 253&i2c_3 { 254 samsung,i2c-sda-delay = <100>; 255 samsung,i2c-slave-addr = <0x10>; 256 samsung,i2c-max-bus-freq = <400000>; 257 pinctrl-0 = <&i2c3_bus>; 258 pinctrl-names = "default"; 259 status = "okay"; 260 261 mms114-touchscreen@48 { 262 compatible = "melfas,mms114"; 263 reg = <0x48>; 264 interrupt-parent = <&gpx0>; 265 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 266 touchscreen-size-x = <720>; 267 touchscreen-size-y = <1280>; 268 avdd-supply = <&tsp_reg>; 269 vdd-supply = <&tsp_reg>; 270 }; 271}; 272 273&i2c_5 { 274 samsung,i2c-sda-delay = <100>; 275 samsung,i2c-slave-addr = <0x10>; 276 samsung,i2c-max-bus-freq = <100000>; 277 pinctrl-0 = <&i2c5_bus>; 278 pinctrl-names = "default"; 279 status = "okay"; 280 281 max8997_pmic@66 { 282 compatible = "maxim,max8997-pmic"; 283 interrupts-extended = <&gpx0 7 0>, <&gpx2 3 0>; 284 285 reg = <0x66>; 286 interrupt-parent = <&gpx0>; 287 interrupts = <7 IRQ_TYPE_NONE>; 288 289 max8997,pmic-buck1-uses-gpio-dvs; 290 max8997,pmic-buck2-uses-gpio-dvs; 291 max8997,pmic-buck5-uses-gpio-dvs; 292 293 max8997,pmic-ignore-gpiodvs-side-effect; 294 max8997,pmic-buck125-default-dvs-idx = <0>; 295 296 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>, 297 <&gpx0 6 GPIO_ACTIVE_HIGH>, 298 <&gpl0 0 GPIO_ACTIVE_HIGH>; 299 300 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>, 301 <1250000>, <1200000>, 302 <1150000>, <1100000>, 303 <1000000>, <950000>; 304 305 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>, 306 <950000>, <900000>, 307 <1100000>, <1000000>, 308 <950000>, <900000>; 309 310 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>, 311 <1200000>, <1200000>, 312 <1200000>, <1200000>, 313 <1200000>, <1200000>; 314 315 regulators { 316 valive_reg: LDO2 { 317 regulator-name = "VALIVE_1.1V_C210"; 318 regulator-min-microvolt = <1100000>; 319 regulator-max-microvolt = <1100000>; 320 regulator-always-on; 321 }; 322 323 vusb_reg: LDO3 { 324 regulator-name = "VUSB_1.1V_C210"; 325 regulator-min-microvolt = <1100000>; 326 regulator-max-microvolt = <1100000>; 327 }; 328 329 vmipi_reg: LDO4 { 330 regulator-name = "VMIPI_1.8V"; 331 regulator-min-microvolt = <1800000>; 332 regulator-max-microvolt = <1800000>; 333 }; 334 335 vpda_reg: LDO6 { 336 regulator-name = "VCC_1.8V_PDA"; 337 regulator-min-microvolt = <1800000>; 338 regulator-max-microvolt = <1800000>; 339 regulator-always-on; 340 }; 341 342 vcam_reg: LDO7 { 343 regulator-name = "CAM_ISP_1.8V"; 344 regulator-min-microvolt = <1800000>; 345 regulator-max-microvolt = <1800000>; 346 }; 347 348 vusbdac_reg: LDO8 { 349 regulator-name = "VUSB+VDAC_3.3V_C210"; 350 regulator-min-microvolt = <3300000>; 351 regulator-max-microvolt = <3300000>; 352 }; 353 354 vccpda_reg: LDO9 { 355 regulator-name = "VCC_2.8V_PDA"; 356 regulator-min-microvolt = <2800000>; 357 regulator-max-microvolt = <2800000>; 358 regulator-always-on; 359 }; 360 361 vpll_reg: LDO10 { 362 regulator-name = "VPLL_1.1V_C210"; 363 regulator-min-microvolt = <1100000>; 364 regulator-max-microvolt = <1100000>; 365 regulator-always-on; 366 }; 367 368 vtcam_reg: LDO12 { 369 regulator-name = "VT_CAM_1.8V"; 370 regulator-min-microvolt = <1800000>; 371 regulator-max-microvolt = <1800000>; 372 }; 373 374 vcclcd_reg: LDO13 { 375 regulator-name = "VCC_3.3V_LCD"; 376 regulator-min-microvolt = <3300000>; 377 regulator-max-microvolt = <3300000>; 378 }; 379 380 vlcd_reg: LDO15 { 381 regulator-name = "VLCD_2.2V"; 382 regulator-min-microvolt = <2200000>; 383 regulator-max-microvolt = <2200000>; 384 }; 385 386 camsensor_reg: LDO16 { 387 regulator-name = "CAM_SENSOR_IO_1.8V"; 388 regulator-min-microvolt = <1800000>; 389 regulator-max-microvolt = <1800000>; 390 }; 391 392 tflash_reg: LDO17 { 393 regulator-name = "VTF_2.8V"; 394 regulator-min-microvolt = <2800000>; 395 regulator-max-microvolt = <2800000>; 396 }; 397 398 vddq_reg: LDO21 { 399 regulator-name = "VDDQ_M1M2_1.2V"; 400 regulator-min-microvolt = <1200000>; 401 regulator-max-microvolt = <1200000>; 402 regulator-always-on; 403 }; 404 405 varm_breg: BUCK1 { 406 /* 407 * HACK: The real name is VARM_1.2V_C210, 408 * but exynos-cpufreq does not support 409 * DT-based regulator lookup yet. 410 */ 411 regulator-name = "vdd_arm"; 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 }; 454}; 455 456&sdhci_0 { 457 bus-width = <8>; 458 non-removable; 459 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>; 460 pinctrl-names = "default"; 461 vmmc-supply = <&vemmc_reg>; 462 status = "okay"; 463}; 464 465&sdhci_2 { 466 bus-width = <4>; 467 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>; 468 pinctrl-names = "default"; 469 vmmc-supply = <&tflash_reg>; 470 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>; 471 status = "okay"; 472}; 473 474&serial_0 { 475 status = "okay"; 476}; 477 478&serial_1 { 479 status = "okay"; 480}; 481 482&serial_2 { 483 status = "okay"; 484}; 485 486&serial_3 { 487 status = "okay"; 488}; 489 490&tmu { 491 status = "okay"; 492}; 493