Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * TOPEET's Exynos4412 based itop board device tree source
0004  *
0005  * Copyright (c) 2016 SUMOMO Computer Association
0006  *                      https://www.sumomo.mobi
0007  *                      Randy Li <ayaka@soulik.info>
0008  *
0009  * Device tree source file for TOPEET iTop Exynos 4412 SCP package core
0010  * board which is based on Samsung's Exynos4412 SoC.
0011  */
0012 
0013 #include <dt-bindings/clock/samsung,s2mps11.h>
0014 #include <dt-bindings/gpio/gpio.h>
0015 #include <dt-bindings/input/input.h>
0016 #include "exynos4412.dtsi"
0017 #include "exynos4412-ppmu-common.dtsi"
0018 #include "exynos-mfc-reserved-memory.dtsi"
0019 
0020 / {
0021         memory@40000000 {
0022                 device_type = "memory";
0023                 reg = <0x40000000 0x40000000>;
0024         };
0025 
0026         firmware@203f000 {
0027                 compatible = "samsung,secure-firmware";
0028                 reg = <0x0203F000 0x1000>;
0029         };
0030 
0031         fixed-rate-clocks {
0032                 xxti {
0033                         compatible = "samsung,clock-xxti";
0034                         clock-frequency = <0>;
0035                 };
0036 
0037                 xusbxti {
0038                         compatible = "samsung,clock-xusbxti";
0039                         clock-frequency = <24000000>;
0040                 };
0041         };
0042 
0043         thermal-zones {
0044                 cpu_thermal: cpu-thermal {
0045                         cooling-maps {
0046                                 map0 {
0047                                      /* Corresponds to 800MHz at freq_table */
0048                                      cooling-device = <&cpu0 7 7>, <&cpu1 7 7>,
0049                                                       <&cpu2 7 7>, <&cpu3 7 7>;
0050                                 };
0051                                 map1 {
0052                                      /* Corresponds to 200MHz at freq_table */
0053                                      cooling-device = <&cpu0 13 13>,
0054                                                       <&cpu1 13 13>,
0055                                                       <&cpu2 13 13>,
0056                                                       <&cpu3 13 13>;
0057                                };
0058                        };
0059                 };
0060         };
0061 
0062         usb-hub {
0063                 compatible = "smsc,usb3503a";
0064                 reset-gpios = <&gpm2 4 GPIO_ACTIVE_LOW>;
0065                 connect-gpios = <&gpm3 3 GPIO_ACTIVE_HIGH>;
0066                 intn-gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>;
0067                 pinctrl-names = "default";
0068                 pinctrl-0 = <&hsic_reset>;
0069         };
0070 };
0071 
0072 &bus_dmc {
0073         devfreq-events = <&ppmu_dmc0_3>, <&ppmu_dmc1_3>;
0074         vdd-supply = <&buck1_reg>;
0075         status = "okay";
0076 };
0077 
0078 &bus_acp {
0079         devfreq = <&bus_dmc>;
0080         status = "okay";
0081 };
0082 
0083 &bus_c2c {
0084         devfreq = <&bus_dmc>;
0085         status = "okay";
0086 };
0087 
0088 &bus_leftbus {
0089         devfreq-events = <&ppmu_leftbus_3>, <&ppmu_rightbus_3>;
0090         vdd-supply = <&buck3_reg>;
0091         status = "okay";
0092 };
0093 
0094 &bus_rightbus {
0095         devfreq = <&bus_leftbus>;
0096         status = "okay";
0097 };
0098 
0099 &bus_fsys {
0100         devfreq = <&bus_leftbus>;
0101         status = "okay";
0102 };
0103 
0104 &bus_peri {
0105         devfreq = <&bus_leftbus>;
0106         status = "okay";
0107 };
0108 
0109 &bus_mfc {
0110         devfreq = <&bus_leftbus>;
0111         status = "okay";
0112 };
0113 
0114 &cpu0 {
0115         cpu0-supply = <&buck2_reg>;
0116 };
0117 
0118 &gpu {
0119         mali-supply = <&buck4_reg>;
0120         status = "okay";
0121 };
0122 
0123 &hsotg {
0124         vusb_d-supply = <&ldo15_reg>;
0125         vusb_a-supply = <&ldo12_reg>;
0126 };
0127 
0128 &i2c_1 {
0129         #address-cells = <1>;
0130         #size-cells = <0>;
0131         samsung,i2c-sda-delay = <100>;
0132         samsung,i2c-max-bus-freq = <400000>;
0133         pinctrl-0 = <&i2c1_bus>;
0134         pinctrl-names = "default";
0135         status = "okay";
0136 
0137         s5m8767: pmic@66 {
0138                 compatible = "samsung,s5m8767-pmic";
0139                 reg = <0x66>;
0140 
0141                 s5m8767,pmic-buck-default-dvs-idx = <3>;
0142 
0143                 s5m8767,pmic-buck-dvs-gpios = <&gpb 5 GPIO_ACTIVE_HIGH>,
0144                                                  <&gpb 6 GPIO_ACTIVE_HIGH>,
0145                                                  <&gpb 7 GPIO_ACTIVE_HIGH>;
0146 
0147                 s5m8767,pmic-buck-ds-gpios = <&gpm3 5 GPIO_ACTIVE_HIGH>,
0148                                                 <&gpm3 6 GPIO_ACTIVE_HIGH>,
0149                                                 <&gpm3 7 GPIO_ACTIVE_HIGH>;
0150 
0151                 /* VDD_ARM */
0152                 s5m8767,pmic-buck2-dvs-voltage = <1356250>, <1300000>,
0153                                                  <1243750>, <1118750>,
0154                                                  <1068750>, <1012500>,
0155                                                  <956250>, <900000>;
0156                 /* VDD_INT */
0157                 s5m8767,pmic-buck3-dvs-voltage = <1000000>, <1000000>,
0158                                                  <925000>, <925000>,
0159                                                  <887500>, <887500>,
0160                                                  <850000>, <850000>;
0161                 /* VDD_G3D */
0162                 s5m8767,pmic-buck4-dvs-voltage = <1081250>, <1081250>,
0163                                                  <1025000>, <950000>,
0164                                                  <918750>, <900000>,
0165                                                  <875000>, <831250>;
0166                 wakeup-source;
0167 
0168                 regulators {
0169                         ldo1_reg: LDO1 {
0170                                 regulator-name = "VDD_ALIVE";
0171                                 regulator-min-microvolt = <1100000>;
0172                                 regulator-max-microvolt = <1100000>;
0173                                 regulator-always-on;
0174                                 regulator-boot-on;
0175                                 op_mode = <1>; /* Normal Mode */
0176                         };
0177 
0178                         /* SCP uses 1.5v, POP uses 1.2v */
0179                         ldo2_reg: LDO2 {
0180                                 regulator-name = "VDDQ_M12";
0181                                 regulator-min-microvolt = <1500000>;
0182                                 regulator-max-microvolt = <1500000>;
0183                                 regulator-always-on;
0184                                 regulator-boot-on;
0185                                 op_mode = <1>; /* Normal Mode */
0186                         };
0187 
0188                         ldo3_reg: LDO3 {
0189                                 regulator-name = "VDDIOAP_18";
0190                                 regulator-min-microvolt = <1800000>;
0191                                 regulator-max-microvolt = <1800000>;
0192                                 regulator-always-on;
0193                                 op_mode = <1>; /* Normal Mode */
0194                         };
0195 
0196                         ldo4_reg: LDO4 {
0197                                 regulator-name = "VDDQ_PRE";
0198                                 regulator-min-microvolt = <1800000>;
0199                                 regulator-max-microvolt = <1800000>;
0200                                 regulator-always-on;
0201                                 op_mode = <1>; /* Normal Mode */
0202                         };
0203 
0204                         ldo5_reg: LDO5 {
0205                                 regulator-name = "VDD_LDO5";
0206                                 op_mode = <0>; /* Always off Mode */
0207                         };
0208 
0209                         ldo6_reg: LDO6 {
0210                                 regulator-name = "VDD10_MPLL";
0211                                 regulator-min-microvolt = <1000000>;
0212                                 regulator-max-microvolt = <1000000>;
0213                                 regulator-always-on;
0214                                 op_mode = <1>; /* Normal Mode */
0215                         };
0216 
0217                         ldo7_reg: LDO7 {
0218                                 regulator-name = "VDD10_XPLL";
0219                                 regulator-min-microvolt = <1000000>;
0220                                 regulator-max-microvolt = <1000000>;
0221                                 regulator-always-on;
0222                                 op_mode = <1>; /* Normal Mode */
0223                         };
0224 
0225                         ldo8_reg: LDO8 {
0226                                 regulator-name = "VDD10_MIPI";
0227                                 regulator-min-microvolt = <1000000>;
0228                                 regulator-max-microvolt = <1000000>;
0229                                 op_mode = <1>; /* Normal Mode */
0230                         };
0231 
0232                         ldo9_reg: LDO9 {
0233                                 regulator-name = "VDD33_LCD";
0234                                 regulator-min-microvolt = <3300000>;
0235                                 regulator-max-microvolt = <3300000>;
0236                                 op_mode = <1>; /* Normal Mode */
0237                         };
0238 
0239                         ldo10_reg: LDO10 {
0240                                 regulator-name = "VDD18_MIPI";
0241                                 regulator-min-microvolt = <1800000>;
0242                                 regulator-max-microvolt = <1800000>;
0243                                 op_mode = <1>; /* Normal Mode */
0244                         };
0245 
0246                         ldo11_reg: LDO11 {
0247                                 regulator-name = "VDD18_ABB1";
0248                                 regulator-min-microvolt = <1800000>;
0249                                 regulator-max-microvolt = <1800000>;
0250                                 regulator-always-on;
0251                                 op_mode = <1>; /* Normal Mode */
0252                         };
0253 
0254                         ldo12_reg: LDO12 {
0255                                 regulator-name = "VDD33_UOTG";
0256                                 regulator-min-microvolt = <3300000>;
0257                                 regulator-max-microvolt = <3300000>;
0258                                 regulator-always-on;
0259                                 op_mode = <1>; /* Normal Mode */
0260                         };
0261 
0262                         ldo13_reg: LDO13 {
0263                                 regulator-name = "VDDIOPERI_18";
0264                                 regulator-min-microvolt = <1800000>;
0265                                 regulator-max-microvolt = <1800000>;
0266                                 regulator-always-on;
0267                                 op_mode = <1>; /* Normal Mode */
0268                         };
0269 
0270                         ldo14_reg: LDO14 {
0271                                 regulator-name = "VDD18_ABB02";
0272                                 regulator-min-microvolt = <1800000>;
0273                                 regulator-max-microvolt = <1800000>;
0274                                 regulator-always-on;
0275                                 op_mode = <1>; /* Normal Mode */
0276                         };
0277 
0278                         ldo15_reg: LDO15 {
0279                                 regulator-name = "VDD10_USH";
0280                                 regulator-min-microvolt = <1000000>;
0281                                 regulator-max-microvolt = <1000000>;
0282                                 regulator-always-on;
0283                                 op_mode = <1>; /* Normal Mode */
0284                         };
0285 
0286                         ldo16_reg: LDO16 {
0287                                 regulator-name = "VDD18_HSIC";
0288                                 regulator-min-microvolt = <1800000>;
0289                                 regulator-max-microvolt = <1800000>;
0290                                 regulator-always-on;
0291                                 op_mode = <1>; /* Normal Mode */
0292                         };
0293 
0294                         ldo17_reg: LDO17 {
0295                                 regulator-name = "VDDIOAP_MMC012_28";
0296                                 regulator-min-microvolt = <2800000>;
0297                                 regulator-max-microvolt = <2800000>;
0298                                 op_mode = <1>; /* Normal Mode */
0299                         };
0300 
0301                         /* Used by HSIC */
0302                         ldo18_reg: LDO18 {
0303                                 regulator-name = "VDDIOPERI_28";
0304                                 regulator-min-microvolt = <3300000>;
0305                                 regulator-max-microvolt = <3300000>;
0306                                 regulator-always-on;
0307                                 op_mode = <1>; /* Normal Mode */
0308                         };
0309 
0310                         ldo19_reg: LDO19 {
0311                                 regulator-name = "VDD_LDO19";
0312                                 op_mode = <0>; /* Always off Mode */
0313                         };
0314 
0315                         ldo20_reg: LDO20 {
0316                                 regulator-name = "VDD28_CAM";
0317                                 regulator-min-microvolt = <1800000>;
0318                                 regulator-max-microvolt = <2800000>;
0319                                 op_mode = <1>; /* Normal Mode */
0320                         };
0321 
0322                         ldo21_reg: LDO21 {
0323                                 regulator-name = "VDD28_AF";
0324                                 regulator-min-microvolt = <1800000>;
0325                                 regulator-max-microvolt = <2800000>;
0326                                 op_mode = <1>; /* Normal Mode */
0327                         };
0328 
0329                         ldo22_reg: LDO22 {
0330                                 regulator-name = "VDDA28_2M";
0331                                 regulator-min-microvolt = <2800000>;
0332                                 regulator-max-microvolt = <2800000>;
0333                                 op_mode = <1>; /* Normal Mode */
0334                         };
0335 
0336                         ldo23_reg: LDO23 {
0337                                 regulator-name = "VDD28_TF";
0338                                 regulator-min-microvolt = <2800000>;
0339                                 regulator-max-microvolt = <2800000>;
0340                                 op_mode = <1>; /* Normal Mode */
0341                         };
0342 
0343                         ldo24_reg: LDO24 {
0344                                 regulator-name = "VDD33_A31";
0345                                 regulator-min-microvolt = <3300000>;
0346                                 regulator-max-microvolt = <3300000>;
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                                 op_mode = <1>; /* Normal Mode */
0355                         };
0356 
0357                         ldo26_reg: LDO26 {
0358                                 regulator-name = "VDD18_A31";
0359                                 regulator-min-microvolt = <1800000>;
0360                                 regulator-max-microvolt = <1800000>;
0361                                 op_mode = <1>; /* Normal Mode */
0362                         };
0363 
0364                         ldo27_reg: LDO27 {
0365                                 regulator-name = "GPS_1V8";
0366                                 regulator-min-microvolt = <1800000>;
0367                                 regulator-max-microvolt = <1800000>;
0368                                 op_mode = <1>; /* Normal Mode */
0369                         };
0370 
0371                         ldo28_reg: LDO28 {
0372                                 regulator-name = "DVDD12";
0373                                 regulator-min-microvolt = <1200000>;
0374                                 regulator-max-microvolt = <1200000>;
0375                                 op_mode = <1>; /* Normal Mode */
0376                         };
0377 
0378                         buck1_reg: BUCK1 {
0379                                 regulator-name = "vdd_mif";
0380                                 regulator-min-microvolt = <850000>;
0381                                 regulator-max-microvolt = <1100000>;
0382                                 regulator-always-on;
0383                                 regulator-boot-on;
0384                                 op_mode = <1>; /* Normal Mode */
0385                         };
0386 
0387                         buck2_reg: BUCK2 {
0388                                 regulator-name = "vdd_arm";
0389                                 regulator-min-microvolt = <850000>;
0390                                 regulator-max-microvolt = <1456250>;
0391                                 regulator-always-on;
0392                                 regulator-boot-on;
0393                                 op_mode = <1>; /* Normal Mode */
0394                         };
0395 
0396                         buck3_reg: BUCK3 {
0397                                 regulator-name = "vdd_int";
0398                                 regulator-min-microvolt = <875000>;
0399                                 regulator-max-microvolt = <1200000>;
0400                                 regulator-always-on;
0401                                 regulator-boot-on;
0402                                 op_mode = <1>; /* Normal Mode */
0403                         };
0404 
0405                         buck4_reg: BUCK4 {
0406                                 regulator-name = "vdd_g3d";
0407                                 regulator-min-microvolt = <750000>;
0408                                 regulator-max-microvolt = <1500000>;
0409                                 regulator-always-on;
0410                                 regulator-boot-on;
0411                                 op_mode = <1>; /* Normal Mode */
0412                         };
0413 
0414                         buck5_reg: BUCK5 {
0415                                 regulator-name = "vdd_m12";
0416                                 regulator-min-microvolt = <750000>;
0417                                 regulator-max-microvolt = <1500000>;
0418                                 regulator-always-on;
0419                                 regulator-boot-on;
0420                                 op_mode = <1>; /* Normal Mode */
0421                         };
0422 
0423                         buck6_reg: BUCK6 {
0424                                 regulator-name = "vdd12_5m";
0425                                 regulator-min-microvolt = <750000>;
0426                                 regulator-max-microvolt = <1500000>;
0427                                 regulator-always-on;
0428                                 regulator-boot-on;
0429                                 op_mode = <1>; /* Normal Mode */
0430                         };
0431 
0432                         buck7_reg: BUCK7 {
0433                                 regulator-name = "pvdd_buck7";
0434                                 regulator-min-microvolt = <750000>;
0435                                 regulator-max-microvolt = <2000000>;
0436                                 regulator-boot-on;
0437                                 regulator-always-on;
0438                                 op_mode = <1>; /* Normal Mode */
0439                         };
0440 
0441                         buck8_reg: BUCK8 {
0442                                 regulator-name = "pvdd_buck8";
0443                                 regulator-min-microvolt = <750000>;
0444                                 regulator-max-microvolt = <1500000>;
0445                                 regulator-boot-on;
0446                                 regulator-always-on;
0447                                 op_mode = <1>; /* Normal Mode */
0448                         };
0449 
0450                         buck9_reg: BUCK9 {
0451                                 regulator-name = "vddf28_emmc";
0452                                 regulator-min-microvolt = <750000>;
0453                                 regulator-max-microvolt = <3000000>;
0454                                 op_mode = <1>; /* Normal Mode */
0455                         };
0456                 };
0457 
0458                 s5m8767_osc: clocks {
0459                         compatible = "samsung,s5m8767-clk";
0460                         #clock-cells = <1>;
0461                         clock-output-names = "s5m8767_ap",
0462                                         "s5m8767_cp", "s5m8767_bt";
0463                 };
0464 
0465         };
0466 };
0467 
0468 &mfc {
0469         status = "okay";
0470 };
0471 
0472 &mshc_0 {
0473         pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
0474         pinctrl-names = "default";
0475         status = "okay";
0476         vmmc-supply = <&buck9_reg>;
0477         broken-cd;
0478         card-detect-delay = <200>;
0479         samsung,dw-mshc-ciu-div = <3>;
0480         samsung,dw-mshc-sdr-timing = <2 3>;
0481         samsung,dw-mshc-ddr-timing = <1 2>;
0482         bus-width = <8>;
0483         cap-mmc-highspeed;
0484 };
0485 
0486 &pinctrl_1 {
0487         hsic_reset: hsic-reset-pins {
0488                 samsung,pins = "gpm2-4";
0489                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0490                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0491                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
0492         };
0493 };
0494 
0495 &rtc {
0496         status = "okay";
0497         clocks = <&clock CLK_RTC>, <&s5m8767_osc S2MPS11_CLK_AP>;
0498         clock-names = "rtc", "rtc_src";
0499 };
0500 
0501 &tmu {
0502         vtmu-supply = <&ldo16_reg>;
0503         status = "okay";
0504 };