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