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,burst-clock-frequency = <500000000>; 201 samsung,esc-clock-frequency = <20000000>; 202 samsung,pll-clock-frequency = <24000000>; 203 status = "okay"; 204 205 panel@0 { 206 reg = <0>; 207 compatible = "samsung,s6e8aa0"; 208 vdd3-supply = <&vcclcd_reg>; 209 vci-supply = <&vlcd_reg>; 210 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>; 211 power-on-delay= <50>; 212 reset-delay = <100>; 213 init-delay = <100>; 214 flip-horizontal; 215 flip-vertical; 216 panel-width-mm = <58>; 217 panel-height-mm = <103>; 218 219 display-timings { 220 timing-0 { 221 clock-frequency = <57153600>; 222 hactive = <720>; 223 vactive = <1280>; 224 hfront-porch = <5>; 225 hback-porch = <5>; 226 hsync-len = <5>; 227 vfront-porch = <13>; 228 vback-porch = <1>; 229 vsync-len = <2>; 230 }; 231 }; 232 }; 233}; 234 235&exynos_usbphy { 236 status = "okay"; 237 vbus-supply = <&safe1_sreg>; 238}; 239 240&fimd { 241 status = "okay"; 242}; 243 244&hsotg { 245 vusb_d-supply = <&vusb_reg>; 246 vusb_a-supply = <&vusbdac_reg>; 247 dr_mode = "peripheral"; 248 status = "okay"; 249}; 250 251&i2c_3 { 252 samsung,i2c-sda-delay = <100>; 253 samsung,i2c-slave-addr = <0x10>; 254 samsung,i2c-max-bus-freq = <400000>; 255 pinctrl-0 = <&i2c3_bus>; 256 pinctrl-names = "default"; 257 status = "okay"; 258 259 mms114-touchscreen@48 { 260 compatible = "melfas,mms114"; 261 reg = <0x48>; 262 interrupt-parent = <&gpx0>; 263 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 264 x-size = <720>; 265 y-size = <1280>; 266 avdd-supply = <&tsp_reg>; 267 vdd-supply = <&tsp_reg>; 268 }; 269}; 270 271&i2c_5 { 272 samsung,i2c-sda-delay = <100>; 273 samsung,i2c-slave-addr = <0x10>; 274 samsung,i2c-max-bus-freq = <100000>; 275 pinctrl-0 = <&i2c5_bus>; 276 pinctrl-names = "default"; 277 status = "okay"; 278 279 max8997_pmic@66 { 280 compatible = "maxim,max8997-pmic"; 281 282 reg = <0x66>; 283 interrupt-parent = <&gpx0>; 284 interrupts = <7 IRQ_TYPE_NONE>; 285 286 max8997,pmic-buck1-uses-gpio-dvs; 287 max8997,pmic-buck2-uses-gpio-dvs; 288 max8997,pmic-buck5-uses-gpio-dvs; 289 290 max8997,pmic-ignore-gpiodvs-side-effect; 291 max8997,pmic-buck125-default-dvs-idx = <0>; 292 293 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>, 294 <&gpx0 6 GPIO_ACTIVE_HIGH>, 295 <&gpl0 0 GPIO_ACTIVE_HIGH>; 296 297 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>, 298 <1250000>, <1200000>, 299 <1150000>, <1100000>, 300 <1000000>, <950000>; 301 302 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>, 303 <950000>, <900000>, 304 <1100000>, <1000000>, 305 <950000>, <900000>; 306 307 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>, 308 <1200000>, <1200000>, 309 <1200000>, <1200000>, 310 <1200000>, <1200000>; 311 312 regulators { 313 valive_reg: LDO2 { 314 regulator-name = "VALIVE_1.1V_C210"; 315 regulator-min-microvolt = <1100000>; 316 regulator-max-microvolt = <1100000>; 317 regulator-always-on; 318 }; 319 320 vusb_reg: LDO3 { 321 regulator-name = "VUSB_1.1V_C210"; 322 regulator-min-microvolt = <1100000>; 323 regulator-max-microvolt = <1100000>; 324 }; 325 326 vmipi_reg: LDO4 { 327 regulator-name = "VMIPI_1.8V"; 328 regulator-min-microvolt = <1800000>; 329 regulator-max-microvolt = <1800000>; 330 }; 331 332 vpda_reg: LDO6 { 333 regulator-name = "VCC_1.8V_PDA"; 334 regulator-min-microvolt = <1800000>; 335 regulator-max-microvolt = <1800000>; 336 regulator-always-on; 337 }; 338 339 vcam_reg: LDO7 { 340 regulator-name = "CAM_ISP_1.8V"; 341 regulator-min-microvolt = <1800000>; 342 regulator-max-microvolt = <1800000>; 343 }; 344 345 vusbdac_reg: LDO8 { 346 regulator-name = "VUSB+VDAC_3.3V_C210"; 347 regulator-min-microvolt = <3300000>; 348 regulator-max-microvolt = <3300000>; 349 }; 350 351 vccpda_reg: LDO9 { 352 regulator-name = "VCC_2.8V_PDA"; 353 regulator-min-microvolt = <2800000>; 354 regulator-max-microvolt = <2800000>; 355 regulator-always-on; 356 }; 357 358 vpll_reg: LDO10 { 359 regulator-name = "VPLL_1.1V_C210"; 360 regulator-min-microvolt = <1100000>; 361 regulator-max-microvolt = <1100000>; 362 regulator-always-on; 363 }; 364 365 vtcam_reg: LDO12 { 366 regulator-name = "VT_CAM_1.8V"; 367 regulator-min-microvolt = <1800000>; 368 regulator-max-microvolt = <1800000>; 369 }; 370 371 vcclcd_reg: LDO13 { 372 regulator-name = "VCC_3.3V_LCD"; 373 regulator-min-microvolt = <3300000>; 374 regulator-max-microvolt = <3300000>; 375 }; 376 377 vlcd_reg: LDO15 { 378 regulator-name = "VLCD_2.2V"; 379 regulator-min-microvolt = <2200000>; 380 regulator-max-microvolt = <2200000>; 381 }; 382 383 camsensor_reg: LDO16 { 384 regulator-name = "CAM_SENSOR_IO_1.8V"; 385 regulator-min-microvolt = <1800000>; 386 regulator-max-microvolt = <1800000>; 387 }; 388 389 vddq_reg: LDO21 { 390 regulator-name = "VDDQ_M1M2_1.2V"; 391 regulator-min-microvolt = <1200000>; 392 regulator-max-microvolt = <1200000>; 393 regulator-always-on; 394 }; 395 396 varm_breg: BUCK1 { 397 /* 398 * HACK: The real name is VARM_1.2V_C210, 399 * but exynos-cpufreq does not support 400 * DT-based regulator lookup yet. 401 */ 402 regulator-name = "vdd_arm"; 403 regulator-min-microvolt = <900000>; 404 regulator-max-microvolt = <1350000>; 405 regulator-always-on; 406 }; 407 408 vint_breg: BUCK2 { 409 regulator-name = "VINT_1.1V_C210"; 410 regulator-min-microvolt = <900000>; 411 regulator-max-microvolt = <1100000>; 412 regulator-always-on; 413 }; 414 415 camisp_breg: BUCK4 { 416 regulator-name = "CAM_ISP_CORE_1.2V"; 417 regulator-min-microvolt = <1200000>; 418 regulator-max-microvolt = <1200000>; 419 }; 420 421 vmem_breg: BUCK5 { 422 regulator-name = "VMEM_1.2V_C210"; 423 regulator-min-microvolt = <1200000>; 424 regulator-max-microvolt = <1200000>; 425 regulator-always-on; 426 }; 427 428 vccsub_breg: BUCK7 { 429 regulator-name = "VCC_SUB_2.0V"; 430 regulator-min-microvolt = <2000000>; 431 regulator-max-microvolt = <2000000>; 432 regulator-always-on; 433 }; 434 435 safe1_sreg: ESAFEOUT1 { 436 regulator-name = "SAFEOUT1"; 437 }; 438 439 safe2_sreg: ESAFEOUT2 { 440 regulator-name = "SAFEOUT2"; 441 regulator-boot-on; 442 }; 443 }; 444 }; 445}; 446 447&sdhci_0 { 448 bus-width = <8>; 449 non-removable; 450 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>; 451 pinctrl-names = "default"; 452 vmmc-supply = <&vemmc_reg>; 453 status = "okay"; 454}; 455 456&serial_0 { 457 status = "okay"; 458}; 459 460&serial_1 { 461 status = "okay"; 462}; 463 464&serial_2 { 465 status = "okay"; 466}; 467 468&serial_3 { 469 status = "okay"; 470}; 471 472&tmu { 473 status = "okay"; 474}; 475