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