1/* 2 * TOPEET's Exynos4412 based itop board device tree source 3 * 4 * Copyright (c) 2016 SUMOMO Computer Association 5 * https://www.sumomo.mobi 6 * Randy Li <ayaka@soulik.info> 7 * 8 * Device tree source file for TOPEET iTop Exynos 4412 SCP package core 9 * board which is based on Samsung's Exynos4412 SoC. 10 * 11 * This program is free software; you can redistribute it and/or modify 12 * it under the terms of the GNU General Public License version 2 as 13 * published by the Free Software Foundation. 14 */ 15 16#include <dt-bindings/clock/samsung,s2mps11.h> 17#include <dt-bindings/gpio/gpio.h> 18#include <dt-bindings/input/input.h> 19#include "exynos4412.dtsi" 20#include "exynos4412-ppmu-common.dtsi" 21#include "exynos-mfc-reserved-memory.dtsi" 22 23/ { 24 memory@40000000 { 25 device_type = "memory"; 26 reg = <0x40000000 0x40000000>; 27 }; 28 29 firmware@0203F000 { 30 compatible = "samsung,secure-firmware"; 31 reg = <0x0203F000 0x1000>; 32 }; 33 34 fixed-rate-clocks { 35 xxti { 36 compatible = "samsung,clock-xxti"; 37 clock-frequency = <0>; 38 }; 39 40 xusbxti { 41 compatible = "samsung,clock-xusbxti"; 42 clock-frequency = <24000000>; 43 }; 44 }; 45 46 thermal-zones { 47 cpu_thermal: cpu-thermal { 48 cooling-maps { 49 map0 { 50 /* Corresponds to 800MHz at freq_table */ 51 cooling-device = <&cpu0 7 7>; 52 }; 53 map1 { 54 /* Corresponds to 200MHz at freq_table */ 55 cooling-device = <&cpu0 13 13>; 56 }; 57 }; 58 }; 59 }; 60 61 usb-hub { 62 compatible = "smsc,usb3503a"; 63 reset-gpios = <&gpm2 4 GPIO_ACTIVE_LOW>; 64 connect-gpios = <&gpm3 3 GPIO_ACTIVE_HIGH>; 65 intn-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>; 66 pinctrl-names = "default"; 67 pinctrl-0 = <&hsic_reset>; 68 }; 69}; 70 71&bus_dmc { 72 devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>; 73 vdd-supply = <&buck1_reg>; 74 status = "okay"; 75}; 76 77&bus_acp { 78 devfreq = <&bus_dmc>; 79 status = "okay"; 80}; 81 82&bus_c2c { 83 devfreq = <&bus_dmc>; 84 status = "okay"; 85}; 86 87&bus_leftbus { 88 devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>; 89 vdd-supply = <&buck3_reg>; 90 status = "okay"; 91}; 92 93&bus_rightbus { 94 devfreq = <&bus_leftbus>; 95 status = "okay"; 96}; 97 98&bus_fsys { 99 devfreq = <&bus_leftbus>; 100 status = "okay"; 101}; 102 103&bus_peri { 104 devfreq = <&bus_leftbus>; 105 status = "okay"; 106}; 107 108&bus_mfc { 109 devfreq = <&bus_leftbus>; 110 status = "okay"; 111}; 112 113&cpu0 { 114 cpu0-supply = <&buck2_reg>; 115}; 116 117&hsotg { 118 vusb_d-supply = <&ldo15_reg>; 119 vusb_a-supply = <&ldo12_reg>; 120}; 121 122&i2c_1 { 123 #address-cells = <1>; 124 #size-cells = <0>; 125 samsung,i2c-sda-delay = <100>; 126 samsung,i2c-max-bus-freq = <400000>; 127 pinctrl-0 = <&i2c1_bus>; 128 pinctrl-names = "default"; 129 status = "okay"; 130 131 s5m8767: s5m8767-pmic@66 { 132 compatible = "samsung,s5m8767-pmic"; 133 reg = <0x66>; 134 135 s5m8767,pmic-buck-default-dvs-idx = <3>; 136 137 s5m8767,pmic-buck-dvs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>, 138 <&gpb 6 GPIO_ACTIVE_HIGH>, 139 <&gpb 7 GPIO_ACTIVE_HIGH>; 140 141 s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>, 142 <&gpm3 6 GPIO_ACTIVE_HIGH>, 143 <&gpm3 7 GPIO_ACTIVE_HIGH>; 144 145 /* VDD_ARM */ 146 s5m8767,pmic-buck2-dvs-voltage = <1356250>, <1300000>, 147 <1243750>, <1118750>, 148 <1068750>, <1012500>, 149 <956250>, <900000>; 150 /* VDD_INT */ 151 s5m8767,pmic-buck3-dvs-voltage = <1000000>, <1000000>, 152 <925000>, <925000>, 153 <887500>, <887500>, 154 <850000>, <850000>; 155 /* VDD_G3D */ 156 s5m8767,pmic-buck4-dvs-voltage = <1081250>, <1081250>, 157 <1025000>, <950000>, 158 <918750>, <900000>, 159 <875000>, <831250>; 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 /* SCP uses 1.5v, POP uses 1.2v */ 172 ldo2_reg: LDO2 { 173 regulator-name = "VDDQ_M12"; 174 regulator-min-microvolt = <1500000>; 175 regulator-max-microvolt = <1500000>; 176 regulator-always-on; 177 regulator-boot-on; 178 op_mode = <1>; /* Normal Mode */ 179 }; 180 181 ldo3_reg: LDO3 { 182 regulator-name = "VDDIOAP_18"; 183 regulator-min-microvolt = <1800000>; 184 regulator-max-microvolt = <1800000>; 185 regulator-always-on; 186 op_mode = <1>; /* Normal Mode */ 187 }; 188 189 ldo4_reg: LDO4 { 190 regulator-name = "VDDQ_PRE"; 191 regulator-min-microvolt = <1800000>; 192 regulator-max-microvolt = <1800000>; 193 regulator-always-on; 194 op_mode = <1>; /* Normal Mode */ 195 }; 196 197 ldo5_reg: LDO5 { 198 regulator-name = "VDD_LDO5"; 199 op_mode = <0>; /* Always off Mode */ 200 }; 201 202 ldo6_reg: LDO6 { 203 regulator-name = "VDD10_MPLL"; 204 regulator-min-microvolt = <1000000>; 205 regulator-max-microvolt = <1000000>; 206 regulator-always-on; 207 op_mode = <1>; /* Normal Mode */ 208 }; 209 210 ldo7_reg: LDO7 { 211 regulator-name = "VDD10_XPLL"; 212 regulator-min-microvolt = <1000000>; 213 regulator-max-microvolt = <1000000>; 214 regulator-always-on; 215 op_mode = <1>; /* Normal Mode */ 216 }; 217 218 ldo8_reg: LDO8 { 219 regulator-name = "VDD10_MIPI"; 220 regulator-min-microvolt = <1000000>; 221 regulator-max-microvolt = <1000000>; 222 op_mode = <1>; /* Normal Mode */ 223 }; 224 225 ldo9_reg: LDO9 { 226 regulator-name = "VDD33_LCD"; 227 regulator-min-microvolt = <3300000>; 228 regulator-max-microvolt = <3300000>; 229 op_mode = <1>; /* Normal Mode */ 230 }; 231 232 ldo10_reg: LDO10 { 233 regulator-name = "VDD18_MIPI"; 234 regulator-min-microvolt = <1800000>; 235 regulator-max-microvolt = <1800000>; 236 op_mode = <1>; /* Normal Mode */ 237 }; 238 239 ldo11_reg: LDO11 { 240 regulator-name = "VDD18_ABB1"; 241 regulator-min-microvolt = <1800000>; 242 regulator-max-microvolt = <1800000>; 243 regulator-always-on; 244 op_mode = <1>; /* Normal Mode */ 245 }; 246 247 ldo12_reg: LDO12 { 248 regulator-name = "VDD33_UOTG"; 249 regulator-min-microvolt = <3300000>; 250 regulator-max-microvolt = <3300000>; 251 regulator-always-on; 252 op_mode = <1>; /* Normal Mode */ 253 }; 254 255 ldo13_reg: LDO13 { 256 regulator-name = "VDDIOPERI_18"; 257 regulator-min-microvolt = <1800000>; 258 regulator-max-microvolt = <1800000>; 259 regulator-always-on; 260 op_mode = <1>; /* Normal Mode */ 261 }; 262 263 ldo14_reg: LDO14 { 264 regulator-name = "VDD18_ABB02"; 265 regulator-min-microvolt = <1800000>; 266 regulator-max-microvolt = <1800000>; 267 regulator-always-on; 268 op_mode = <1>; /* Normal Mode */ 269 }; 270 271 ldo15_reg: LDO15 { 272 regulator-name = "VDD10_USH"; 273 regulator-min-microvolt = <1000000>; 274 regulator-max-microvolt = <1000000>; 275 regulator-always-on; 276 op_mode = <1>; /* Normal Mode */ 277 }; 278 279 ldo16_reg: LDO16 { 280 regulator-name = "VDD18_HSIC"; 281 regulator-min-microvolt = <1800000>; 282 regulator-max-microvolt = <1800000>; 283 regulator-always-on; 284 op_mode = <1>; /* Normal Mode */ 285 }; 286 287 ldo17_reg: LDO17 { 288 regulator-name = "VDDIOAP_MMC012_28"; 289 regulator-min-microvolt = <2800000>; 290 regulator-max-microvolt = <2800000>; 291 op_mode = <1>; /* Normal Mode */ 292 }; 293 294 /* Used by HSIC */ 295 ldo18_reg: LDO18 { 296 regulator-name = "VDDIOPERI_28"; 297 regulator-min-microvolt = <3300000>; 298 regulator-max-microvolt = <3300000>; 299 regulator-always-on; 300 op_mode = <1>; /* Normal Mode */ 301 }; 302 303 ldo19_reg: LDO19 { 304 regulator-name = "VDD_LDO19"; 305 op_mode = <0>; /* Always off Mode */ 306 }; 307 308 ldo20_reg: LDO20 { 309 regulator-name = "VDD28_CAM"; 310 regulator-min-microvolt = <1800000>; 311 regulator-max-microvolt = <2800000>; 312 op_mode = <1>; /* Normal Mode */ 313 }; 314 315 ldo21_reg: LDO21 { 316 regulator-name = "VDD28_AF"; 317 regulator-min-microvolt = <1800000>; 318 regulator-max-microvolt = <2800000>; 319 op_mode = <1>; /* Normal Mode */ 320 }; 321 322 ldo22_reg: LDO22 { 323 regulator-name = "VDDA28_2M"; 324 regulator-min-microvolt = <2800000>; 325 regulator-max-microvolt = <2800000>; 326 op_mode = <1>; /* Normal Mode */ 327 }; 328 329 ldo23_reg: LDO23 { 330 regulator-name = "VDD28_TF"; 331 regulator-min-microvolt = <2800000>; 332 regulator-max-microvolt = <2800000>; 333 op_mode = <1>; /* Normal Mode */ 334 }; 335 336 ldo24_reg: LDO24 { 337 regulator-name = "VDD33_A31"; 338 regulator-min-microvolt = <3300000>; 339 regulator-max-microvolt = <3300000>; 340 op_mode = <1>; /* Normal Mode */ 341 }; 342 343 ldo25_reg: LDO25 { 344 regulator-name = "VDD18_CAM"; 345 regulator-min-microvolt = <1800000>; 346 regulator-max-microvolt = <1800000>; 347 op_mode = <1>; /* Normal Mode */ 348 }; 349 350 ldo26_reg: LDO26 { 351 regulator-name = "VDD18_A31"; 352 regulator-min-microvolt = <1800000>; 353 regulator-max-microvolt = <1800000>; 354 op_mode = <1>; /* Normal Mode */ 355 }; 356 357 ldo27_reg: LDO27 { 358 regulator-name = "GPS_1V8"; 359 regulator-min-microvolt = <1800000>; 360 regulator-max-microvolt = <1800000>; 361 op_mode = <1>; /* Normal Mode */ 362 }; 363 364 ldo28_reg: LDO28 { 365 regulator-name = "DVDD12"; 366 regulator-min-microvolt = <1200000>; 367 regulator-max-microvolt = <1200000>; 368 op_mode = <1>; /* Normal Mode */ 369 }; 370 371 buck1_reg: BUCK1 { 372 regulator-name = "vdd_mif"; 373 regulator-min-microvolt = <850000>; 374 regulator-max-microvolt = <1100000>; 375 regulator-always-on; 376 regulator-boot-on; 377 op_mode = <1>; /* Normal Mode */ 378 }; 379 380 buck2_reg: BUCK2 { 381 regulator-name = "vdd_arm"; 382 regulator-min-microvolt = <850000>; 383 regulator-max-microvolt = <1456250>; 384 regulator-always-on; 385 regulator-boot-on; 386 op_mode = <1>; /* Normal Mode */ 387 }; 388 389 buck3_reg: BUCK3 { 390 regulator-name = "vdd_int"; 391 regulator-min-microvolt = <875000>; 392 regulator-max-microvolt = <1200000>; 393 regulator-always-on; 394 regulator-boot-on; 395 op_mode = <1>; /* Normal Mode */ 396 }; 397 398 buck4_reg: BUCK4 { 399 regulator-name = "vdd_g3d"; 400 regulator-min-microvolt = <750000>; 401 regulator-max-microvolt = <1500000>; 402 regulator-always-on; 403 regulator-boot-on; 404 op_mode = <1>; /* Normal Mode */ 405 }; 406 407 buck5_reg: BUCK5 { 408 regulator-name = "vdd_m12"; 409 regulator-min-microvolt = <750000>; 410 regulator-max-microvolt = <1500000>; 411 regulator-always-on; 412 regulator-boot-on; 413 op_mode = <1>; /* Normal Mode */ 414 }; 415 416 buck6_reg: BUCK6 { 417 regulator-name = "vdd12_5m"; 418 regulator-min-microvolt = <750000>; 419 regulator-max-microvolt = <1500000>; 420 regulator-always-on; 421 regulator-boot-on; 422 op_mode = <1>; /* Normal Mode */ 423 }; 424 425 buck7_reg: BUCK7 { 426 regulator-name = "pvdd_buck7"; 427 regulator-min-microvolt = <750000>; 428 regulator-max-microvolt = <2000000>; 429 regulator-boot-on; 430 regulator-always-on; 431 op_mode = <1>; /* Normal Mode */ 432 }; 433 434 buck8_reg: BUCK8 { 435 regulator-name = "pvdd_buck8"; 436 regulator-min-microvolt = <750000>; 437 regulator-max-microvolt = <1500000>; 438 regulator-boot-on; 439 regulator-always-on; 440 op_mode = <1>; /* Normal Mode */ 441 }; 442 443 buck9_reg: BUCK9 { 444 regulator-name = "vddf28_emmc"; 445 regulator-min-microvolt = <750000>; 446 regulator-max-microvolt = <3000000>; 447 op_mode = <1>; /* Normal Mode */ 448 }; 449 }; 450 451 s5m8767_osc: clocks { 452 #clock-cells = <1>; 453 clock-output-names = "s5m8767_ap", 454 "s5m8767_cp", "s5m8767_bt"; 455 }; 456 457 }; 458}; 459 460&mfc { 461 status = "okay"; 462}; 463 464&mshc_0 { 465 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; 466 pinctrl-names = "default"; 467 status = "okay"; 468 vmmc-supply = <&buck9_reg>; 469 broken-cd; 470 card-detect-delay = <200>; 471 samsung,dw-mshc-ciu-div = <3>; 472 samsung,dw-mshc-sdr-timing = <2 3>; 473 samsung,dw-mshc-ddr-timing = <1 2>; 474 bus-width = <8>; 475 cap-mmc-highspeed; 476}; 477 478&pinctrl_1 { 479 hsic_reset: hsic-reset { 480 samsung,pins = "gpm2-4"; 481 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; 482 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 483 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; 484 }; 485}; 486 487&rtc { 488 status = "okay"; 489 clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>; 490 clock-names = "rtc", "rtc_src"; 491}; 492 493&tmu { 494 vtmu-supply = <&ldo16_reg>; 495 status = "okay"; 496}; 497