1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Insignal's Exynos4412 based Origen board device tree source 4 * 5 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com 7 * 8 * Device tree source file for Insignal's Origen board which is based on 9 * Samsung's Exynos4412 SoC. 10 */ 11 12/dts-v1/; 13#include "exynos4412.dtsi" 14#include <dt-bindings/clock/samsung,s2mps11.h> 15#include <dt-bindings/gpio/gpio.h> 16#include <dt-bindings/input/input.h> 17#include "exynos-mfc-reserved-memory.dtsi" 18 19/ { 20 model = "Insignal Origen evaluation board based on Exynos4412"; 21 compatible = "insignal,origen4412", "samsung,exynos4412", "samsung,exynos4"; 22 23 memory@40000000 { 24 device_type = "memory"; 25 reg = <0x40000000 0x40000000>; 26 }; 27 28 chosen { 29 stdout-path = "serial2:115200n8"; 30 }; 31 32 firmware@203f000 { 33 compatible = "samsung,secure-firmware"; 34 reg = <0x0203F000 0x1000>; 35 }; 36 37 mmc_reg: regulator-0 { 38 compatible = "regulator-fixed"; 39 regulator-name = "VMEM_VDD_2.8V"; 40 regulator-min-microvolt = <2800000>; 41 regulator-max-microvolt = <2800000>; 42 gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; 43 enable-active-high; 44 }; 45 46 display-timings { 47 native-mode = <&timing0>; 48 timing0: timing { 49 clock-frequency = <47500000>; 50 hactive = <1024>; 51 vactive = <600>; 52 hfront-porch = <64>; 53 hback-porch = <16>; 54 hsync-len = <48>; 55 vback-porch = <64>; 56 vfront-porch = <16>; 57 vsync-len = <3>; 58 }; 59 }; 60 61 fixed-rate-clocks { 62 xxti { 63 compatible = "samsung,clock-xxti"; 64 clock-frequency = <0>; 65 }; 66 67 xusbxti { 68 compatible = "samsung,clock-xusbxti"; 69 clock-frequency = <24000000>; 70 }; 71 }; 72}; 73 74&cpu0 { 75 cpu0-supply = <&buck2_reg>; 76}; 77 78&cpu_thermal { 79 cooling-maps { 80 cooling_map0: map0 { 81 /* Corresponds to 800MHz at freq_table */ 82 cooling-device = <&cpu0 7 7>, <&cpu1 7 7>, 83 <&cpu2 7 7>, <&cpu3 7 7>; 84 }; 85 cooling_map1: map1 { 86 /* Corresponds to 200MHz at freq_table */ 87 cooling-device = <&cpu0 13 13>, <&cpu1 13 13>, 88 <&cpu2 13 13>, <&cpu3 13 13>; 89 }; 90 }; 91}; 92 93&exynos_usbphy { 94 status = "okay"; 95}; 96 97&ehci { 98 samsung,vbus-gpio = <&gpx3 5 1>; 99 status = "okay"; 100 phys = <&exynos_usbphy 2>, <&exynos_usbphy 3>; 101 phy-names = "hsic0", "hsic1"; 102}; 103 104&fimd { 105 pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>; 106 pinctrl-names = "default"; 107 status = "okay"; 108}; 109 110&i2c_0 { 111 #address-cells = <1>; 112 #size-cells = <0>; 113 samsung,i2c-sda-delay = <100>; 114 samsung,i2c-max-bus-freq = <20000>; 115 pinctrl-0 = <&i2c0_bus>; 116 pinctrl-names = "default"; 117 status = "okay"; 118 119 pmic@66 { 120 compatible = "samsung,s5m8767-pmic"; 121 reg = <0x66>; 122 123 s5m8767,pmic-buck-default-dvs-idx = <3>; 124 125 s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>, 126 <&gpx2 4 GPIO_ACTIVE_HIGH>, 127 <&gpx2 5 GPIO_ACTIVE_HIGH>; 128 129 s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>, 130 <&gpm3 6 GPIO_ACTIVE_HIGH>, 131 <&gpm3 7 GPIO_ACTIVE_HIGH>; 132 133 s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>, 134 <1200000>, <1200000>, 135 <1200000>, <1200000>, 136 <1200000>, <1200000>; 137 138 s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>, 139 <1100000>, <1100000>, 140 <1100000>, <1100000>, 141 <1100000>, <1100000>; 142 143 s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>, 144 <1200000>, <1200000>, 145 <1200000>, <1200000>, 146 <1200000>, <1200000>; 147 148 s5m8767_osc: clocks { 149 compatible = "samsung,s5m8767-clk"; 150 #clock-cells = <1>; 151 clock-output-names = "s5m8767_ap", "s5m8767_cp", 152 "s5m8767_bt"; 153 }; 154 155 regulators { 156 ldo1_reg: LDO1 { 157 regulator-name = "VDD_ALIVE"; 158 regulator-min-microvolt = <1100000>; 159 regulator-max-microvolt = <1100000>; 160 regulator-always-on; 161 regulator-boot-on; 162 op_mode = <1>; /* Normal Mode */ 163 }; 164 165 ldo2_reg: LDO2 { 166 regulator-name = "VDDQ_M12"; 167 regulator-min-microvolt = <1200000>; 168 regulator-max-microvolt = <1200000>; 169 regulator-always-on; 170 op_mode = <1>; /* Normal Mode */ 171 }; 172 173 ldo3_reg: LDO3 { 174 regulator-name = "VDDIOAP_18"; 175 regulator-min-microvolt = <1800000>; 176 regulator-max-microvolt = <1800000>; 177 regulator-always-on; 178 op_mode = <1>; /* Normal Mode */ 179 }; 180 181 ldo4_reg: LDO4 { 182 regulator-name = "VDDQ_PRE"; 183 regulator-min-microvolt = <1800000>; 184 regulator-max-microvolt = <1800000>; 185 regulator-always-on; 186 op_mode = <1>; /* Normal Mode */ 187 }; 188 189 ldo5_reg: LDO5 { 190 regulator-name = "VDD18_2M"; 191 regulator-min-microvolt = <1800000>; 192 regulator-max-microvolt = <1800000>; 193 regulator-always-on; 194 op_mode = <1>; /* Normal Mode */ 195 }; 196 197 ldo6_reg: LDO6 { 198 regulator-name = "VDD10_MPLL"; 199 regulator-min-microvolt = <1000000>; 200 regulator-max-microvolt = <1000000>; 201 regulator-always-on; 202 op_mode = <1>; /* Normal Mode */ 203 }; 204 205 ldo7_reg: LDO7 { 206 regulator-name = "VDD10_XPLL"; 207 regulator-min-microvolt = <1000000>; 208 regulator-max-microvolt = <1000000>; 209 regulator-always-on; 210 op_mode = <1>; /* Normal Mode */ 211 }; 212 213 ldo8_reg: LDO8 { 214 regulator-name = "VDD10_MIPI"; 215 regulator-min-microvolt = <1000000>; 216 regulator-max-microvolt = <1000000>; 217 regulator-always-on; 218 op_mode = <1>; /* Normal Mode */ 219 }; 220 221 ldo9_reg: LDO9 { 222 regulator-name = "VDD33_LCD"; 223 regulator-min-microvolt = <3300000>; 224 regulator-max-microvolt = <3300000>; 225 regulator-always-on; 226 op_mode = <1>; /* Normal Mode */ 227 }; 228 229 ldo10_reg: LDO10 { 230 regulator-name = "VDD18_MIPI"; 231 regulator-min-microvolt = <1800000>; 232 regulator-max-microvolt = <1800000>; 233 regulator-always-on; 234 op_mode = <1>; /* Normal Mode */ 235 }; 236 237 ldo11_reg: LDO11 { 238 regulator-name = "VDD18_ABB1"; 239 regulator-min-microvolt = <1800000>; 240 regulator-max-microvolt = <1800000>; 241 regulator-always-on; 242 op_mode = <1>; /* Normal Mode */ 243 }; 244 245 ldo12_reg: LDO12 { 246 regulator-name = "VDD33_UOTG"; 247 regulator-min-microvolt = <3300000>; 248 regulator-max-microvolt = <3300000>; 249 regulator-always-on; 250 op_mode = <1>; /* Normal Mode */ 251 }; 252 253 ldo13_reg: LDO13 { 254 regulator-name = "VDDIOPERI_18"; 255 regulator-min-microvolt = <1800000>; 256 regulator-max-microvolt = <1800000>; 257 regulator-always-on; 258 op_mode = <1>; /* Normal Mode */ 259 }; 260 261 ldo14_reg: LDO14 { 262 regulator-name = "VDD18_ABB02"; 263 regulator-min-microvolt = <1800000>; 264 regulator-max-microvolt = <1800000>; 265 regulator-always-on; 266 op_mode = <1>; /* Normal Mode */ 267 }; 268 269 ldo15_reg: LDO15 { 270 regulator-name = "VDD10_USH"; 271 regulator-min-microvolt = <1000000>; 272 regulator-max-microvolt = <1000000>; 273 regulator-always-on; 274 op_mode = <1>; /* Normal Mode */ 275 }; 276 277 ldo16_reg: LDO16 { 278 regulator-name = "VDD18_HSIC"; 279 regulator-min-microvolt = <1800000>; 280 regulator-max-microvolt = <1800000>; 281 regulator-always-on; 282 op_mode = <1>; /* Normal Mode */ 283 }; 284 285 ldo17_reg: LDO17 { 286 regulator-name = "VDDIOAP_MMC012_28"; 287 regulator-min-microvolt = <2800000>; 288 regulator-max-microvolt = <2800000>; 289 regulator-always-on; 290 op_mode = <1>; /* Normal Mode */ 291 }; 292 293 ldo18_reg: LDO18 { 294 regulator-name = "VDDIOPERI_28"; 295 regulator-min-microvolt = <2800000>; 296 regulator-max-microvolt = <2800000>; 297 regulator-always-on; 298 op_mode = <1>; /* Normal Mode */ 299 }; 300 301 ldo19_reg: LDO19 { 302 regulator-name = "DVDD25"; 303 regulator-min-microvolt = <2500000>; 304 regulator-max-microvolt = <2500000>; 305 regulator-always-on; 306 op_mode = <1>; /* Normal Mode */ 307 }; 308 309 ldo20_reg: LDO20 { 310 regulator-name = "VDD28_CAM"; 311 regulator-min-microvolt = <2800000>; 312 regulator-max-microvolt = <2800000>; 313 regulator-always-on; 314 op_mode = <1>; /* Normal Mode */ 315 }; 316 317 ldo21_reg: LDO21 { 318 regulator-name = "VDD28_AF"; 319 regulator-min-microvolt = <2800000>; 320 regulator-max-microvolt = <2800000>; 321 regulator-always-on; 322 op_mode = <1>; /* Normal Mode */ 323 }; 324 325 ldo22_reg: LDO22 { 326 regulator-name = "VDDA28_2M"; 327 regulator-min-microvolt = <2800000>; 328 regulator-max-microvolt = <2800000>; 329 regulator-always-on; 330 op_mode = <1>; /* Normal Mode */ 331 }; 332 333 ldo23_reg: LDO23 { 334 regulator-name = "VDD28_TF"; 335 regulator-min-microvolt = <2800000>; 336 regulator-max-microvolt = <2800000>; 337 regulator-always-on; 338 op_mode = <1>; /* Normal Mode */ 339 }; 340 341 ldo24_reg: LDO24 { 342 regulator-name = "VDD33_A31"; 343 regulator-min-microvolt = <3300000>; 344 regulator-max-microvolt = <3300000>; 345 regulator-always-on; 346 op_mode = <1>; /* Normal Mode */ 347 }; 348 349 ldo25_reg: LDO25 { 350 regulator-name = "VDD18_CAM"; 351 regulator-min-microvolt = <1800000>; 352 regulator-max-microvolt = <1800000>; 353 regulator-always-on; 354 op_mode = <1>; /* Normal Mode */ 355 }; 356 357 ldo26_reg: LDO26 { 358 regulator-name = "VDD18_A31"; 359 regulator-min-microvolt = <1800000>; 360 regulator-max-microvolt = <1800000>; 361 regulator-always-on; 362 op_mode = <1>; /* Normal Mode */ 363 }; 364 365 ldo27_reg: LDO27 { 366 regulator-name = "GPS_1V8"; 367 regulator-min-microvolt = <1800000>; 368 regulator-max-microvolt = <1800000>; 369 regulator-always-on; 370 op_mode = <1>; /* Normal Mode */ 371 }; 372 373 ldo28_reg: LDO28 { 374 regulator-name = "DVDD12"; 375 regulator-min-microvolt = <1200000>; 376 regulator-max-microvolt = <1200000>; 377 regulator-always-on; 378 op_mode = <1>; /* Normal Mode */ 379 }; 380 381 buck1_reg: BUCK1 { 382 regulator-name = "VDD_MIF"; 383 regulator-min-microvolt = <950000>; 384 regulator-max-microvolt = <1100000>; 385 regulator-always-on; 386 regulator-boot-on; 387 op_mode = <1>; /* Normal Mode */ 388 }; 389 390 buck2_reg: BUCK2 { 391 regulator-name = "VDD_ARM"; 392 regulator-min-microvolt = <900000>; 393 regulator-max-microvolt = <1350000>; 394 regulator-always-on; 395 regulator-boot-on; 396 op_mode = <1>; /* Normal Mode */ 397 }; 398 399 buck3_reg: BUCK3 { 400 regulator-name = "VDD_INT"; 401 regulator-min-microvolt = <900000>; 402 regulator-max-microvolt = <1200000>; 403 regulator-always-on; 404 regulator-boot-on; 405 op_mode = <1>; /* Normal Mode */ 406 }; 407 408 buck4_reg: BUCK4 { 409 regulator-name = "VDD_G3D"; 410 regulator-min-microvolt = <750000>; 411 regulator-max-microvolt = <1500000>; 412 regulator-always-on; 413 regulator-boot-on; 414 op_mode = <1>; /* Normal Mode */ 415 }; 416 417 buck5_reg: BUCK5 { 418 regulator-name = "VDD_M12"; 419 regulator-min-microvolt = <750000>; 420 regulator-max-microvolt = <1500000>; 421 regulator-always-on; 422 regulator-boot-on; 423 op_mode = <1>; /* Normal Mode */ 424 }; 425 426 buck6_reg: BUCK6 { 427 regulator-name = "VDD12_5M"; 428 regulator-min-microvolt = <750000>; 429 regulator-max-microvolt = <1500000>; 430 regulator-always-on; 431 regulator-boot-on; 432 op_mode = <1>; /* Normal Mode */ 433 }; 434 435 buck9_reg: BUCK9 { 436 regulator-name = "VDDF28_EMMC"; 437 regulator-min-microvolt = <750000>; 438 regulator-max-microvolt = <3000000>; 439 regulator-always-on; 440 regulator-boot-on; 441 op_mode = <1>; /* Normal Mode */ 442 }; 443 }; 444 }; 445}; 446 447&keypad { 448 samsung,keypad-num-rows = <3>; 449 samsung,keypad-num-columns = <2>; 450 linux,keypad-no-autorepeat; 451 wakeup-source; 452 pinctrl-0 = <&keypad_rows &keypad_cols>; 453 pinctrl-names = "default"; 454 status = "okay"; 455 456 key-home { 457 keypad,row = <0>; 458 keypad,column = <0>; 459 linux,code = <KEY_HOME>; 460 }; 461 462 key-down { 463 keypad,row = <0>; 464 keypad,column = <1>; 465 linux,code = <KEY_DOWN>; 466 }; 467 468 key-up { 469 keypad,row = <1>; 470 keypad,column = <0>; 471 linux,code = <KEY_UP>; 472 }; 473 474 key-menu { 475 keypad,row = <1>; 476 keypad,column = <1>; 477 linux,code = <KEY_MENU>; 478 }; 479 480 key-back { 481 keypad,row = <2>; 482 keypad,column = <0>; 483 linux,code = <KEY_BACK>; 484 }; 485 486 key-enter { 487 keypad,row = <2>; 488 keypad,column = <1>; 489 linux,code = <KEY_ENTER>; 490 }; 491}; 492 493&mshc_0 { 494 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; 495 pinctrl-names = "default"; 496 status = "okay"; 497 498 broken-cd; 499 card-detect-delay = <200>; 500 samsung,dw-mshc-ciu-div = <3>; 501 samsung,dw-mshc-sdr-timing = <2 3>; 502 samsung,dw-mshc-ddr-timing = <1 2>; 503 bus-width = <8>; 504 cap-mmc-highspeed; 505}; 506 507&pinctrl_1 { 508 keypad_rows: keypad-rows { 509 samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2"; 510 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 511 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; 512 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 513 }; 514 515 keypad_cols: keypad-cols { 516 samsung,pins = "gpx1-0", "gpx1-1"; 517 samsung,pin-function = <EXYNOS_PIN_FUNC_3>; 518 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 519 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 520 }; 521}; 522 523&rtc { 524 status = "okay"; 525 clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>; 526 clock-names = "rtc", "rtc_src"; 527}; 528 529&sdhci_2 { 530 bus-width = <4>; 531 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>; 532 pinctrl-names = "default"; 533 vmmc-supply = <&mmc_reg>; 534 status = "okay"; 535}; 536 537&serial_0 { 538 status = "okay"; 539}; 540 541&serial_1 { 542 status = "okay"; 543}; 544 545&serial_2 { 546 status = "okay"; 547}; 548 549&serial_3 { 550 status = "okay"; 551}; 552