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