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 = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5"; 30 stdout-path = &serial_2; 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>; 142 }; 143 map1 { 144 /* Corresponds to 200MHz at freq_table */ 145 cooling-device = <&cpu0 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&hsotg { 243 vusb_d-supply = <&vusb_reg>; 244 vusb_a-supply = <&vusbdac_reg>; 245 dr_mode = "peripheral"; 246 status = "okay"; 247}; 248 249&i2c_3 { 250 samsung,i2c-sda-delay = <100>; 251 samsung,i2c-slave-addr = <0x10>; 252 samsung,i2c-max-bus-freq = <400000>; 253 pinctrl-0 = <&i2c3_bus>; 254 pinctrl-names = "default"; 255 status = "okay"; 256 257 mms114-touchscreen@48 { 258 compatible = "melfas,mms114"; 259 reg = <0x48>; 260 interrupt-parent = <&gpx0>; 261 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; 262 touchscreen-size-x = <720>; 263 touchscreen-size-y = <1280>; 264 avdd-supply = <&tsp_reg>; 265 vdd-supply = <&tsp_reg>; 266 }; 267}; 268 269&i2c_5 { 270 samsung,i2c-sda-delay = <100>; 271 samsung,i2c-slave-addr = <0x10>; 272 samsung,i2c-max-bus-freq = <100000>; 273 pinctrl-0 = <&i2c5_bus>; 274 pinctrl-names = "default"; 275 status = "okay"; 276 277 max8997_pmic@66 { 278 compatible = "maxim,max8997-pmic"; 279 interrupts-extended = <&gpx0 7 0>, <&gpx2 3 0>; 280 281 reg = <0x66>; 282 interrupt-parent = <&gpx0>; 283 interrupts = <7 IRQ_TYPE_NONE>; 284 285 max8997,pmic-buck1-uses-gpio-dvs; 286 max8997,pmic-buck2-uses-gpio-dvs; 287 max8997,pmic-buck5-uses-gpio-dvs; 288 289 max8997,pmic-ignore-gpiodvs-side-effect; 290 max8997,pmic-buck125-default-dvs-idx = <0>; 291 292 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>, 293 <&gpx0 6 GPIO_ACTIVE_HIGH>, 294 <&gpl0 0 GPIO_ACTIVE_HIGH>; 295 296 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>, 297 <1250000>, <1200000>, 298 <1150000>, <1100000>, 299 <1000000>, <950000>; 300 301 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>, 302 <950000>, <900000>, 303 <1100000>, <1000000>, 304 <950000>, <900000>; 305 306 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>, 307 <1200000>, <1200000>, 308 <1200000>, <1200000>, 309 <1200000>, <1200000>; 310 311 regulators { 312 valive_reg: LDO2 { 313 regulator-name = "VALIVE_1.1V_C210"; 314 regulator-min-microvolt = <1100000>; 315 regulator-max-microvolt = <1100000>; 316 regulator-always-on; 317 }; 318 319 vusb_reg: LDO3 { 320 regulator-name = "VUSB_1.1V_C210"; 321 regulator-min-microvolt = <1100000>; 322 regulator-max-microvolt = <1100000>; 323 }; 324 325 vmipi_reg: LDO4 { 326 regulator-name = "VMIPI_1.8V"; 327 regulator-min-microvolt = <1800000>; 328 regulator-max-microvolt = <1800000>; 329 }; 330 331 vpda_reg: LDO6 { 332 regulator-name = "VCC_1.8V_PDA"; 333 regulator-min-microvolt = <1800000>; 334 regulator-max-microvolt = <1800000>; 335 regulator-always-on; 336 }; 337 338 vcam_reg: LDO7 { 339 regulator-name = "CAM_ISP_1.8V"; 340 regulator-min-microvolt = <1800000>; 341 regulator-max-microvolt = <1800000>; 342 }; 343 344 vusbdac_reg: LDO8 { 345 regulator-name = "VUSB+VDAC_3.3V_C210"; 346 regulator-min-microvolt = <3300000>; 347 regulator-max-microvolt = <3300000>; 348 }; 349 350 vccpda_reg: LDO9 { 351 regulator-name = "VCC_2.8V_PDA"; 352 regulator-min-microvolt = <2800000>; 353 regulator-max-microvolt = <2800000>; 354 regulator-always-on; 355 }; 356 357 vpll_reg: LDO10 { 358 regulator-name = "VPLL_1.1V_C210"; 359 regulator-min-microvolt = <1100000>; 360 regulator-max-microvolt = <1100000>; 361 regulator-always-on; 362 }; 363 364 vtcam_reg: LDO12 { 365 regulator-name = "VT_CAM_1.8V"; 366 regulator-min-microvolt = <1800000>; 367 regulator-max-microvolt = <1800000>; 368 }; 369 370 vcclcd_reg: LDO13 { 371 regulator-name = "VCC_3.3V_LCD"; 372 regulator-min-microvolt = <3300000>; 373 regulator-max-microvolt = <3300000>; 374 }; 375 376 vlcd_reg: LDO15 { 377 regulator-name = "VLCD_2.2V"; 378 regulator-min-microvolt = <2200000>; 379 regulator-max-microvolt = <2200000>; 380 }; 381 382 camsensor_reg: LDO16 { 383 regulator-name = "CAM_SENSOR_IO_1.8V"; 384 regulator-min-microvolt = <1800000>; 385 regulator-max-microvolt = <1800000>; 386 }; 387 388 vddq_reg: LDO21 { 389 regulator-name = "VDDQ_M1M2_1.2V"; 390 regulator-min-microvolt = <1200000>; 391 regulator-max-microvolt = <1200000>; 392 regulator-always-on; 393 }; 394 395 varm_breg: BUCK1 { 396 /* 397 * HACK: The real name is VARM_1.2V_C210, 398 * but exynos-cpufreq does not support 399 * DT-based regulator lookup yet. 400 */ 401 regulator-name = "vdd_arm"; 402 regulator-min-microvolt = <900000>; 403 regulator-max-microvolt = <1350000>; 404 regulator-always-on; 405 }; 406 407 vint_breg: BUCK2 { 408 regulator-name = "VINT_1.1V_C210"; 409 regulator-min-microvolt = <900000>; 410 regulator-max-microvolt = <1100000>; 411 regulator-always-on; 412 }; 413 414 camisp_breg: BUCK4 { 415 regulator-name = "CAM_ISP_CORE_1.2V"; 416 regulator-min-microvolt = <1200000>; 417 regulator-max-microvolt = <1200000>; 418 }; 419 420 vmem_breg: BUCK5 { 421 regulator-name = "VMEM_1.2V_C210"; 422 regulator-min-microvolt = <1200000>; 423 regulator-max-microvolt = <1200000>; 424 regulator-always-on; 425 }; 426 427 vccsub_breg: BUCK7 { 428 regulator-name = "VCC_SUB_2.0V"; 429 regulator-min-microvolt = <2000000>; 430 regulator-max-microvolt = <2000000>; 431 regulator-always-on; 432 }; 433 434 safe1_sreg: ESAFEOUT1 { 435 regulator-name = "SAFEOUT1"; 436 }; 437 438 safe2_sreg: ESAFEOUT2 { 439 regulator-name = "SAFEOUT2"; 440 regulator-boot-on; 441 }; 442 }; 443 }; 444}; 445 446&sdhci_0 { 447 bus-width = <8>; 448 non-removable; 449 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>; 450 pinctrl-names = "default"; 451 vmmc-supply = <&vemmc_reg>; 452 status = "okay"; 453}; 454 455&serial_0 { 456 status = "okay"; 457}; 458 459&serial_1 { 460 status = "okay"; 461}; 462 463&serial_2 { 464 status = "okay"; 465}; 466 467&serial_3 { 468 status = "okay"; 469}; 470 471&tmu { 472 status = "okay"; 473}; 474