0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Insignal's Exynos4412 based Origen board device tree source
0004 *
0005 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
0006 * http://www.samsung.com
0007 *
0008 * Device tree source file for Insignal's Origen board which is based on
0009 * Samsung's Exynos4412 SoC.
0010 */
0011
0012 /dts-v1/;
0013 #include "exynos4412.dtsi"
0014 #include <dt-bindings/clock/samsung,s2mps11.h>
0015 #include <dt-bindings/gpio/gpio.h>
0016 #include <dt-bindings/input/input.h>
0017 #include "exynos-mfc-reserved-memory.dtsi"
0018
0019 / {
0020 model = "Insignal Origen evaluation board based on Exynos4412";
0021 compatible = "insignal,origen4412", "samsung,exynos4412", "samsung,exynos4";
0022
0023 memory@40000000 {
0024 device_type = "memory";
0025 reg = <0x40000000 0x40000000>;
0026 };
0027
0028 chosen {
0029 stdout-path = "serial2:115200n8";
0030 };
0031
0032 firmware@203f000 {
0033 compatible = "samsung,secure-firmware";
0034 reg = <0x0203F000 0x1000>;
0035 };
0036
0037 mmc_reg: regulator-0 {
0038 compatible = "regulator-fixed";
0039 regulator-name = "VMEM_VDD_2.8V";
0040 regulator-min-microvolt = <2800000>;
0041 regulator-max-microvolt = <2800000>;
0042 gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
0043 enable-active-high;
0044 };
0045
0046 display-timings {
0047 native-mode = <&timing0>;
0048 timing0: timing {
0049 clock-frequency = <47500000>;
0050 hactive = <1024>;
0051 vactive = <600>;
0052 hfront-porch = <64>;
0053 hback-porch = <16>;
0054 hsync-len = <48>;
0055 vback-porch = <64>;
0056 vfront-porch = <16>;
0057 vsync-len = <3>;
0058 };
0059 };
0060
0061 fixed-rate-clocks {
0062 xxti {
0063 compatible = "samsung,clock-xxti";
0064 clock-frequency = <0>;
0065 };
0066
0067 xusbxti {
0068 compatible = "samsung,clock-xusbxti";
0069 clock-frequency = <24000000>;
0070 };
0071 };
0072 };
0073
0074 &cpu0 {
0075 cpu0-supply = <&buck2_reg>;
0076 };
0077
0078 &cpu_thermal {
0079 cooling-maps {
0080 cooling_map0: map0 {
0081 /* Corresponds to 800MHz at freq_table */
0082 cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
0083 <&cpu2 7 7>, <&cpu3 7 7>;
0084 };
0085 cooling_map1: map1 {
0086 /* Corresponds to 200MHz at freq_table */
0087 cooling-device = <&cpu0 13 13>, <&cpu1 13 13>,
0088 <&cpu2 13 13>, <&cpu3 13 13>;
0089 };
0090 };
0091 };
0092
0093 &exynos_usbphy {
0094 status = "okay";
0095 };
0096
0097 &ehci {
0098 samsung,vbus-gpio = <&gpx3 5 1>;
0099 status = "okay";
0100 phys = <&exynos_usbphy 2>, <&exynos_usbphy 3>;
0101 phy-names = "hsic0", "hsic1";
0102 };
0103
0104 &fimd {
0105 pinctrl-0 = <&lcd_clk &lcd_data24 &pwm1_out>;
0106 pinctrl-names = "default";
0107 status = "okay";
0108 };
0109
0110 &i2c_0 {
0111 #address-cells = <1>;
0112 #size-cells = <0>;
0113 samsung,i2c-sda-delay = <100>;
0114 samsung,i2c-max-bus-freq = <20000>;
0115 pinctrl-0 = <&i2c0_bus>;
0116 pinctrl-names = "default";
0117 status = "okay";
0118
0119 pmic@66 {
0120 compatible = "samsung,s5m8767-pmic";
0121 reg = <0x66>;
0122
0123 s5m8767,pmic-buck-default-dvs-idx = <3>;
0124
0125 s5m8767,pmic-buck-dvs-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>,
0126 <&gpx2 4 GPIO_ACTIVE_HIGH>,
0127 <&gpx2 5 GPIO_ACTIVE_HIGH>;
0128
0129 s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
0130 <&gpm3 6 GPIO_ACTIVE_HIGH>,
0131 <&gpm3 7 GPIO_ACTIVE_HIGH>;
0132
0133 s5m8767,pmic-buck2-dvs-voltage = <1250000>, <1200000>,
0134 <1200000>, <1200000>,
0135 <1200000>, <1200000>,
0136 <1200000>, <1200000>;
0137
0138 s5m8767,pmic-buck3-dvs-voltage = <1100000>, <1100000>,
0139 <1100000>, <1100000>,
0140 <1100000>, <1100000>,
0141 <1100000>, <1100000>;
0142
0143 s5m8767,pmic-buck4-dvs-voltage = <1200000>, <1200000>,
0144 <1200000>, <1200000>,
0145 <1200000>, <1200000>,
0146 <1200000>, <1200000>;
0147 wakeup-source;
0148
0149 s5m8767_osc: clocks {
0150 compatible = "samsung,s5m8767-clk";
0151 #clock-cells = <1>;
0152 clock-output-names = "s5m8767_ap", "s5m8767_cp",
0153 "s5m8767_bt";
0154 };
0155
0156 regulators {
0157 ldo1_reg: LDO1 {
0158 regulator-name = "VDD_ALIVE";
0159 regulator-min-microvolt = <1100000>;
0160 regulator-max-microvolt = <1100000>;
0161 regulator-always-on;
0162 regulator-boot-on;
0163 op_mode = <1>; /* Normal Mode */
0164 };
0165
0166 ldo2_reg: LDO2 {
0167 regulator-name = "VDDQ_M12";
0168 regulator-min-microvolt = <1200000>;
0169 regulator-max-microvolt = <1200000>;
0170 regulator-always-on;
0171 op_mode = <1>; /* Normal Mode */
0172 };
0173
0174 ldo3_reg: LDO3 {
0175 regulator-name = "VDDIOAP_18";
0176 regulator-min-microvolt = <1800000>;
0177 regulator-max-microvolt = <1800000>;
0178 regulator-always-on;
0179 op_mode = <1>; /* Normal Mode */
0180 };
0181
0182 ldo4_reg: LDO4 {
0183 regulator-name = "VDDQ_PRE";
0184 regulator-min-microvolt = <1800000>;
0185 regulator-max-microvolt = <1800000>;
0186 regulator-always-on;
0187 op_mode = <1>; /* Normal Mode */
0188 };
0189
0190 ldo5_reg: LDO5 {
0191 regulator-name = "VDD18_2M";
0192 regulator-min-microvolt = <1800000>;
0193 regulator-max-microvolt = <1800000>;
0194 regulator-always-on;
0195 op_mode = <1>; /* Normal Mode */
0196 };
0197
0198 ldo6_reg: LDO6 {
0199 regulator-name = "VDD10_MPLL";
0200 regulator-min-microvolt = <1000000>;
0201 regulator-max-microvolt = <1000000>;
0202 regulator-always-on;
0203 op_mode = <1>; /* Normal Mode */
0204 };
0205
0206 ldo7_reg: LDO7 {
0207 regulator-name = "VDD10_XPLL";
0208 regulator-min-microvolt = <1000000>;
0209 regulator-max-microvolt = <1000000>;
0210 regulator-always-on;
0211 op_mode = <1>; /* Normal Mode */
0212 };
0213
0214 ldo8_reg: LDO8 {
0215 regulator-name = "VDD10_MIPI";
0216 regulator-min-microvolt = <1000000>;
0217 regulator-max-microvolt = <1000000>;
0218 regulator-always-on;
0219 op_mode = <1>; /* Normal Mode */
0220 };
0221
0222 ldo9_reg: LDO9 {
0223 regulator-name = "VDD33_LCD";
0224 regulator-min-microvolt = <3300000>;
0225 regulator-max-microvolt = <3300000>;
0226 regulator-always-on;
0227 op_mode = <1>; /* Normal Mode */
0228 };
0229
0230 ldo10_reg: LDO10 {
0231 regulator-name = "VDD18_MIPI";
0232 regulator-min-microvolt = <1800000>;
0233 regulator-max-microvolt = <1800000>;
0234 regulator-always-on;
0235 op_mode = <1>; /* Normal Mode */
0236 };
0237
0238 ldo11_reg: LDO11 {
0239 regulator-name = "VDD18_ABB1";
0240 regulator-min-microvolt = <1800000>;
0241 regulator-max-microvolt = <1800000>;
0242 regulator-always-on;
0243 op_mode = <1>; /* Normal Mode */
0244 };
0245
0246 ldo12_reg: LDO12 {
0247 regulator-name = "VDD33_UOTG";
0248 regulator-min-microvolt = <3300000>;
0249 regulator-max-microvolt = <3300000>;
0250 regulator-always-on;
0251 op_mode = <1>; /* Normal Mode */
0252 };
0253
0254 ldo13_reg: LDO13 {
0255 regulator-name = "VDDIOPERI_18";
0256 regulator-min-microvolt = <1800000>;
0257 regulator-max-microvolt = <1800000>;
0258 regulator-always-on;
0259 op_mode = <1>; /* Normal Mode */
0260 };
0261
0262 ldo14_reg: LDO14 {
0263 regulator-name = "VDD18_ABB02";
0264 regulator-min-microvolt = <1800000>;
0265 regulator-max-microvolt = <1800000>;
0266 regulator-always-on;
0267 op_mode = <1>; /* Normal Mode */
0268 };
0269
0270 ldo15_reg: LDO15 {
0271 regulator-name = "VDD10_USH";
0272 regulator-min-microvolt = <1000000>;
0273 regulator-max-microvolt = <1000000>;
0274 regulator-always-on;
0275 op_mode = <1>; /* Normal Mode */
0276 };
0277
0278 ldo16_reg: LDO16 {
0279 regulator-name = "VDD18_HSIC";
0280 regulator-min-microvolt = <1800000>;
0281 regulator-max-microvolt = <1800000>;
0282 regulator-always-on;
0283 op_mode = <1>; /* Normal Mode */
0284 };
0285
0286 ldo17_reg: LDO17 {
0287 regulator-name = "VDDIOAP_MMC012_28";
0288 regulator-min-microvolt = <2800000>;
0289 regulator-max-microvolt = <2800000>;
0290 regulator-always-on;
0291 op_mode = <1>; /* Normal Mode */
0292 };
0293
0294 ldo18_reg: LDO18 {
0295 regulator-name = "VDDIOPERI_28";
0296 regulator-min-microvolt = <2800000>;
0297 regulator-max-microvolt = <2800000>;
0298 regulator-always-on;
0299 op_mode = <1>; /* Normal Mode */
0300 };
0301
0302 ldo19_reg: LDO19 {
0303 regulator-name = "DVDD25";
0304 regulator-min-microvolt = <2500000>;
0305 regulator-max-microvolt = <2500000>;
0306 regulator-always-on;
0307 op_mode = <1>; /* Normal Mode */
0308 };
0309
0310 ldo20_reg: LDO20 {
0311 regulator-name = "VDD28_CAM";
0312 regulator-min-microvolt = <2800000>;
0313 regulator-max-microvolt = <2800000>;
0314 regulator-always-on;
0315 op_mode = <1>; /* Normal Mode */
0316 };
0317
0318 ldo21_reg: LDO21 {
0319 regulator-name = "VDD28_AF";
0320 regulator-min-microvolt = <2800000>;
0321 regulator-max-microvolt = <2800000>;
0322 regulator-always-on;
0323 op_mode = <1>; /* Normal Mode */
0324 };
0325
0326 ldo22_reg: LDO22 {
0327 regulator-name = "VDDA28_2M";
0328 regulator-min-microvolt = <2800000>;
0329 regulator-max-microvolt = <2800000>;
0330 regulator-always-on;
0331 op_mode = <1>; /* Normal Mode */
0332 };
0333
0334 ldo23_reg: LDO23 {
0335 regulator-name = "VDD28_TF";
0336 regulator-min-microvolt = <2800000>;
0337 regulator-max-microvolt = <2800000>;
0338 regulator-always-on;
0339 op_mode = <1>; /* Normal Mode */
0340 };
0341
0342 ldo24_reg: LDO24 {
0343 regulator-name = "VDD33_A31";
0344 regulator-min-microvolt = <3300000>;
0345 regulator-max-microvolt = <3300000>;
0346 regulator-always-on;
0347 op_mode = <1>; /* Normal Mode */
0348 };
0349
0350 ldo25_reg: LDO25 {
0351 regulator-name = "VDD18_CAM";
0352 regulator-min-microvolt = <1800000>;
0353 regulator-max-microvolt = <1800000>;
0354 regulator-always-on;
0355 op_mode = <1>; /* Normal Mode */
0356 };
0357
0358 ldo26_reg: LDO26 {
0359 regulator-name = "VDD18_A31";
0360 regulator-min-microvolt = <1800000>;
0361 regulator-max-microvolt = <1800000>;
0362 regulator-always-on;
0363 op_mode = <1>; /* Normal Mode */
0364 };
0365
0366 ldo27_reg: LDO27 {
0367 regulator-name = "GPS_1V8";
0368 regulator-min-microvolt = <1800000>;
0369 regulator-max-microvolt = <1800000>;
0370 regulator-always-on;
0371 op_mode = <1>; /* Normal Mode */
0372 };
0373
0374 ldo28_reg: LDO28 {
0375 regulator-name = "DVDD12";
0376 regulator-min-microvolt = <1200000>;
0377 regulator-max-microvolt = <1200000>;
0378 regulator-always-on;
0379 op_mode = <1>; /* Normal Mode */
0380 };
0381
0382 buck1_reg: BUCK1 {
0383 regulator-name = "VDD_MIF";
0384 regulator-min-microvolt = <950000>;
0385 regulator-max-microvolt = <1100000>;
0386 regulator-always-on;
0387 regulator-boot-on;
0388 op_mode = <1>; /* Normal Mode */
0389 };
0390
0391 buck2_reg: BUCK2 {
0392 regulator-name = "VDD_ARM";
0393 regulator-min-microvolt = <900000>;
0394 regulator-max-microvolt = <1350000>;
0395 regulator-always-on;
0396 regulator-boot-on;
0397 op_mode = <1>; /* Normal Mode */
0398 };
0399
0400 buck3_reg: BUCK3 {
0401 regulator-name = "VDD_INT";
0402 regulator-min-microvolt = <900000>;
0403 regulator-max-microvolt = <1200000>;
0404 regulator-always-on;
0405 regulator-boot-on;
0406 op_mode = <1>; /* Normal Mode */
0407 };
0408
0409 buck4_reg: BUCK4 {
0410 regulator-name = "VDD_G3D";
0411 regulator-min-microvolt = <750000>;
0412 regulator-max-microvolt = <1500000>;
0413 regulator-always-on;
0414 regulator-boot-on;
0415 op_mode = <1>; /* Normal Mode */
0416 };
0417
0418 buck5_reg: BUCK5 {
0419 regulator-name = "VDD_M12";
0420 regulator-min-microvolt = <750000>;
0421 regulator-max-microvolt = <1500000>;
0422 regulator-always-on;
0423 regulator-boot-on;
0424 op_mode = <1>; /* Normal Mode */
0425 };
0426
0427 buck6_reg: BUCK6 {
0428 regulator-name = "VDD12_5M";
0429 regulator-min-microvolt = <750000>;
0430 regulator-max-microvolt = <1500000>;
0431 regulator-always-on;
0432 regulator-boot-on;
0433 op_mode = <1>; /* Normal Mode */
0434 };
0435
0436 buck9_reg: BUCK9 {
0437 regulator-name = "VDDF28_EMMC";
0438 regulator-min-microvolt = <750000>;
0439 regulator-max-microvolt = <3000000>;
0440 regulator-always-on;
0441 regulator-boot-on;
0442 op_mode = <1>; /* Normal Mode */
0443 };
0444 };
0445 };
0446 };
0447
0448 &keypad {
0449 samsung,keypad-num-rows = <3>;
0450 samsung,keypad-num-columns = <2>;
0451 linux,keypad-no-autorepeat;
0452 wakeup-source;
0453 pinctrl-0 = <&keypad_rows &keypad_cols>;
0454 pinctrl-names = "default";
0455 status = "okay";
0456
0457 key-home {
0458 keypad,row = <0>;
0459 keypad,column = <0>;
0460 linux,code = <KEY_HOME>;
0461 };
0462
0463 key-down {
0464 keypad,row = <0>;
0465 keypad,column = <1>;
0466 linux,code = <KEY_DOWN>;
0467 };
0468
0469 key-up {
0470 keypad,row = <1>;
0471 keypad,column = <0>;
0472 linux,code = <KEY_UP>;
0473 };
0474
0475 key-menu {
0476 keypad,row = <1>;
0477 keypad,column = <1>;
0478 linux,code = <KEY_MENU>;
0479 };
0480
0481 key-back {
0482 keypad,row = <2>;
0483 keypad,column = <0>;
0484 linux,code = <KEY_BACK>;
0485 };
0486
0487 key-enter {
0488 keypad,row = <2>;
0489 keypad,column = <1>;
0490 linux,code = <KEY_ENTER>;
0491 };
0492 };
0493
0494 &mshc_0 {
0495 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
0496 pinctrl-names = "default";
0497 status = "okay";
0498
0499 broken-cd;
0500 card-detect-delay = <200>;
0501 samsung,dw-mshc-ciu-div = <3>;
0502 samsung,dw-mshc-sdr-timing = <2 3>;
0503 samsung,dw-mshc-ddr-timing = <1 2>;
0504 bus-width = <8>;
0505 cap-mmc-highspeed;
0506 };
0507
0508 &pinctrl_1 {
0509 keypad_rows: keypad-rows-pins {
0510 samsung,pins = "gpx2-0", "gpx2-1", "gpx2-2";
0511 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
0512 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0513 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
0514 };
0515
0516 keypad_cols: keypad-cols-pins {
0517 samsung,pins = "gpx1-0", "gpx1-1";
0518 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
0519 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0520 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
0521 };
0522 };
0523
0524 &rtc {
0525 status = "okay";
0526 clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>;
0527 clock-names = "rtc", "rtc_src";
0528 };
0529
0530 &sdhci_2 {
0531 bus-width = <4>;
0532 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4 &sd2_cd>;
0533 pinctrl-names = "default";
0534 vmmc-supply = <&mmc_reg>;
0535 status = "okay";
0536 };
0537
0538 &serial_0 {
0539 status = "okay";
0540 };
0541
0542 &serial_1 {
0543 status = "okay";
0544 };
0545
0546 &serial_2 {
0547 status = "okay";
0548 };
0549
0550 &serial_3 {
0551 status = "okay";
0552 };