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