Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Base DT for Samsung's family of tablets based on Exynos5420.
0004  *
0005  * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
0006  *              http://www.samsung.com
0007  * Copyright (c) 2022 Henrik Grimler
0008  */
0009 
0010 /dts-v1/;
0011 #include "exynos5420.dtsi"
0012 #include "exynos5420-cpus.dtsi"
0013 #include <dt-bindings/input/input.h>
0014 #include <dt-bindings/gpio/gpio.h>
0015 #include <dt-bindings/clock/samsung,s2mps11.h>
0016 
0017 / {
0018         chassis-type = "tablet";
0019 
0020         /*
0021          * To successfully boot the mainline kernel with the stock
0022          * bootloader (SBOOT), the tlb needs to be flushed after the
0023          * page table pointer has been updated in __common_mmu_cache_on.
0024          * The same hack is also needed to boot exynos4412-i9300 with
0025          * stock bootloader, and probably other Samsung devices of
0026          * similar age.  See
0027          * https://lore.kernel.org/all/1355276466-18295-1-git-send-email-arve@android.com
0028          * for more details.
0029          */
0030 
0031         chosen {
0032                 stdout-path = "serial2:115200n8";
0033         };
0034 
0035         memory@20000000 {
0036                 device_type = "memory";
0037                 reg = <0x20000000 0xc0000000>;
0038         };
0039 
0040         firmware@2073000 {
0041                 compatible = "samsung,secure-firmware";
0042                 reg = <0x02073000 0x1000>;
0043         };
0044 
0045         fixed-rate-clocks {
0046                 oscclk {
0047                         compatible = "samsung,exynos5420-oscclk";
0048                         clock-frequency = <24000000>;
0049                 };
0050         };
0051 
0052         gpio-keys {
0053                 compatible = "gpio-keys";
0054                 pinctrl-names = "default";
0055 
0056                 key-power {
0057                         debounce-interval = <10>;
0058                         gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
0059                         label = "Power";
0060                         linux,code = <KEY_POWER>;
0061                         wakeup-source;
0062                 };
0063 
0064                 key-home {
0065                         debounce-interval = <10>;
0066                         gpios = <&gpx0 5 GPIO_ACTIVE_LOW>;
0067                         label = "Home";
0068                         linux,code = <KEY_HOME>;
0069                         wakeup-source;
0070                 };
0071 
0072                 key-volume-up {
0073                         debounce-interval = <10>;
0074                         gpios = <&gpx0 2 GPIO_ACTIVE_LOW>;
0075                         label = "Volume Up";
0076                         linux,code = <KEY_VOLUMEUP>;
0077                 };
0078 
0079                 key-volume-down {
0080                         debounce-interval = <10>;
0081                         gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
0082                         label = "Volume Down";
0083                         linux,code = <KEY_VOLUMEDOWN>;
0084                 };
0085         };
0086 };
0087 
0088 &cci {
0089         /* CCI is disabled in hardware */
0090         status = "disabled";
0091 };
0092 
0093 &cpu0 {
0094         cpu-supply = <&buck2_reg>;
0095 };
0096 
0097 &cpu4 {
0098         cpu-supply = <&buck6_reg>;
0099 };
0100 
0101 &gpu {
0102         status = "okay";
0103         mali-supply = <&buck4_reg>;
0104 };
0105 
0106 &hsi2c_7 {
0107         status = "okay";
0108 
0109         pmic@66 {
0110                 compatible = "samsung,s2mps11-pmic";
0111                 reg = <0x66>;
0112 
0113                 interrupt-parent = <&gpx3>;
0114                 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
0115                 pinctrl-names = "default";
0116                 pinctrl-0 = <&s2mps11_irq>;
0117 
0118                 s2mps11_osc: clocks {
0119                         compatible = "samsung,s2mps11-clk";
0120                         #clock-cells = <1>;
0121                         clock-output-names = "s2mps11_ap", "s2mps11_cp",
0122                                              "s2mps11_bt";
0123                 };
0124 
0125                 regulators {
0126                         buck1_reg: BUCK1 {
0127                                 regulator-name = "VDD_MIF_1V1";
0128                                 regulator-min-microvolt = <700000>;
0129                                 regulator-max-microvolt = <1300000>;
0130                                 regulator-always-on;
0131                                 regulator-boot-on;
0132 
0133                                 regulator-state-mem {
0134                                         regulator-off-in-suspend;
0135                                 };
0136                         };
0137 
0138                         buck2_reg: BUCK2 {
0139                                 regulator-name = "VDD_ARM_1V0";
0140                                 regulator-min-microvolt = <800000>;
0141                                 regulator-max-microvolt = <1500000>;
0142                                 regulator-always-on;
0143                                 regulator-boot-on;
0144 
0145                                 regulator-state-mem {
0146                                         regulator-off-in-suspend;
0147                                 };
0148                         };
0149 
0150                         buck3_reg: BUCK3 {
0151                                 regulator-name = "VDD_INT_1V0";
0152                                 regulator-min-microvolt = <800000>;
0153                                 regulator-max-microvolt = <1400000>;
0154                                 regulator-always-on;
0155                                 regulator-boot-on;
0156 
0157                                 regulator-state-mem {
0158                                         regulator-off-in-suspend;
0159                                 };
0160                         };
0161 
0162                         buck4_reg: BUCK4 {
0163                                 regulator-name = "VDD_G3D_1V0";
0164                                 regulator-min-microvolt = <700000>;
0165                                 regulator-max-microvolt = <1400000>;
0166                                 regulator-always-on;
0167                                 regulator-boot-on;
0168 
0169                                 regulator-state-mem {
0170                                         regulator-off-in-suspend;
0171                                 };
0172                         };
0173 
0174                         buck5_reg: BUCK5 {
0175                                 regulator-name = "VDD_MEM_1V2";
0176                                 regulator-min-microvolt = <1200000>;
0177                                 regulator-max-microvolt = <1200000>;
0178                                 regulator-always-on;
0179                                 regulator-boot-on;
0180 
0181                                 regulator-state-mem {
0182                                         regulator-off-in-suspend;
0183                                 };
0184 
0185                         };
0186 
0187                         buck6_reg: BUCK6 {
0188                                 regulator-name = "VDD_KFC_1V0";
0189                                 regulator-min-microvolt = <800000>;
0190                                 regulator-max-microvolt = <1500000>;
0191                                 regulator-always-on;
0192                                 regulator-boot-on;
0193 
0194                                 regulator-state-mem {
0195                                         regulator-off-in-suspend;
0196                                 };
0197                         };
0198 
0199                         buck7_reg: BUCK7 {
0200                                 regulator-name = "VIN_LLDO_1V4";
0201                                 regulator-min-microvolt = <1200000>;
0202                                 regulator-max-microvolt = <1500000>;
0203                                 regulator-always-on;
0204                         };
0205 
0206                         buck8_reg: BUCK8 {
0207                                 regulator-name = "VIN_MLDO_2V0";
0208                                 regulator-min-microvolt = <1800000>;
0209                                 regulator-max-microvolt = <2100000>;
0210                                 regulator-always-on;
0211                         };
0212 
0213                         buck9_reg: BUCK9 {
0214                                 regulator-name = "VIN_HLDO_3V5";
0215                                 regulator-min-microvolt = <3000000>;
0216                                 regulator-max-microvolt = <3500000>;
0217                                 regulator-always-on;
0218                         };
0219 
0220                         buck10_reg: BUCK10 {
0221                                 regulator-name = "VDD_CAM_ISP_1V0";
0222                                 regulator-min-microvolt = <750000>;
0223                                 regulator-max-microvolt = <3550000>;
0224                         };
0225 
0226                         ldo1_reg: LDO1 {
0227                                 regulator-name = "VDD_ALIVE_1.0V";
0228                                 regulator-min-microvolt = <1000000>;
0229                                 regulator-max-microvolt = <1000000>;
0230                                 regulator-always-on;
0231                         };
0232 
0233                         ldo2_reg: LDO2 {
0234                                 regulator-name = "VDD_APIO_1V8";
0235                                 regulator-min-microvolt = <1800000>;
0236                                 regulator-max-microvolt = <1800000>;
0237                                 regulator-always-on;
0238                                 regulator-boot-on;
0239 
0240                                 regulator-state-mem {
0241                                         regulator-on-in-suspend;
0242                                 };
0243                         };
0244 
0245                         ldo3_reg: LDO3 {
0246                                 regulator-name = "VDD_APIO_MMC01_1V8";
0247                                 regulator-min-microvolt = <1800000>;
0248                                 regulator-max-microvolt = <1800000>;
0249                                 regulator-always-on;
0250 
0251                                 regulator-state-mem {
0252                                         regulator-off-in-suspend;
0253                                 };
0254                         };
0255 
0256                         ldo4_reg: LDO4 {
0257                                 regulator-name = "VDD_ADC_1V8";
0258                                 regulator-min-microvolt = <1800000>;
0259                                 regulator-max-microvolt = <1800000>;
0260                                 regulator-always-on;
0261                                 regulator-boot-on;
0262 
0263                                 regulator-state-mem {
0264                                         regulator-on-in-suspend;
0265                                 };
0266                         };
0267 
0268                         ldo5_reg: LDO5 {
0269                                 /* Unused */
0270                                 regulator-name = "VDD_LDO5";
0271                                 regulator-min-microvolt = <1800000>;
0272                                 regulator-max-microvolt = <1800000>;
0273                         };
0274 
0275                         ldo6_reg: LDO6 {
0276                                 regulator-name = "VDD_MIPI_1V0";
0277                                 regulator-min-microvolt = <1000000>;
0278                                 regulator-max-microvolt = <1000000>;
0279                                 regulator-always-on;
0280                                 regulator-boot-on;
0281 
0282                                 regulator-state-mem {
0283                                         regulator-off-in-suspend;
0284                                 };
0285                         };
0286 
0287                         ldo7_reg: LDO7 {
0288                                 regulator-name = "VDD_MIPI_PLL_ABB1_18V";
0289                                 regulator-min-microvolt = <1800000>;
0290                                 regulator-max-microvolt = <1800000>;
0291                                 regulator-always-on;
0292                                 regulator-boot-on;
0293 
0294                                 regulator-state-mem {
0295                                         regulator-off-in-suspend;
0296                                 };
0297                         };
0298 
0299                         ldo8_reg: LDO8 {
0300                                 /* Unused */
0301                                 regulator-name = "VDD_LDO8";
0302                                 regulator-min-microvolt = <1800000>;
0303                                 regulator-max-microvolt = <1800000>;
0304                         };
0305 
0306                         ldo9_reg: LDO9 {
0307                                 regulator-name = "VDD_UOTG_3V0";
0308                                 regulator-min-microvolt = <3000000>;
0309                                 regulator-max-microvolt = <3000000>;
0310                                 regulator-always-on;
0311                                 regulator-boot-on;
0312 
0313                                 regulator-state-mem {
0314                                         regulator-on-in-suspend;
0315                                 };
0316                         };
0317 
0318                         ldo10_reg: LDO10 {
0319                                 regulator-name = "VDDQ_PRE_1V8";
0320                                 regulator-min-microvolt = <1800000>;
0321                                 regulator-max-microvolt = <1800000>;
0322                                 regulator-always-on;
0323                                 regulator-boot-on;
0324 
0325                                 regulator-state-mem {
0326                                         regulator-on-in-suspend;
0327                                 };
0328                         };
0329 
0330                         ldo11_reg: LDO11 {
0331                                 regulator-name = "VDD_HSIC_1V0";
0332                                 regulator-min-microvolt = <1000000>;
0333                                 regulator-max-microvolt = <1000000>;
0334                                 regulator-always-on;
0335                                 regulator-boot-on;
0336 
0337                                 regulator-state-mem {
0338                                         regulator-on-in-suspend;
0339                                 };
0340                         };
0341 
0342                         ldo12_reg: LDO12 {
0343                                 regulator-name = "VDD_HSIC_1V8";
0344                                 regulator-min-microvolt = <1800000>;
0345                                 regulator-max-microvolt = <1800000>;
0346                                 regulator-always-on;
0347                                 regulator-boot-on;
0348 
0349                                 regulator-state-mem {
0350                                         regulator-on-in-suspend;
0351                                 };
0352                         };
0353 
0354                         ldo13_reg: LDO13 {
0355                                 regulator-name = "VDD_APIO_MMC2_2V8";
0356                                 regulator-min-microvolt = <1800000>;
0357                                 regulator-max-microvolt = <2800000>;
0358                                 regulator-boot-on;
0359 
0360                                 regulator-state-mem {
0361                                         regulator-off-in-suspend;
0362                                 };
0363                         };
0364 
0365                         ldo14_reg: LDO14 {
0366                                 regulator-name = "VDD_MOTOR_3V0";
0367                                 regulator-min-microvolt = <3000000>;
0368                                 regulator-max-microvolt = <3000000>;
0369 
0370                                 regulator-state-mem {
0371                                         regulator-off-in-suspend;
0372                                 };
0373                         };
0374 
0375                         ldo15_reg: LDO15 {
0376                                 regulator-name = "VDD_LDO15";
0377                                 /*
0378                                  * LDO15 varies between devices and is
0379                                  * specified in the device dts
0380                                  */
0381                         };
0382 
0383                         ldo16_reg: LDO16 {
0384                                 regulator-name = "VDD_AP_2V8";
0385                                 regulator-min-microvolt = <2800000>;
0386                                 regulator-max-microvolt = <2800000>;
0387                                 regulator-always-on;
0388                                 regulator-boot-on;
0389 
0390                                 regulator-state-mem {
0391                                         regulator-on-in-suspend;
0392                                 };
0393                         };
0394 
0395                         ldo17_reg: LDO17 {
0396                                 regulator-name = "VDD_LDO17";
0397                                 /*
0398                                  * LDO17 varies between devices and is
0399                                  * specified in the device dts
0400                                  */
0401                         };
0402 
0403                         ldo18_reg: LDO18 {
0404                                 /* Unused */
0405                                 regulator-name = "VDD_LDO18";
0406                                 regulator-min-microvolt = <1800000>;
0407                                 regulator-max-microvolt = <1800000>;
0408                         };
0409 
0410                         ldo19_reg: LDO19 {
0411                                 regulator-name = "VDD_VTF_2V8";
0412                                 regulator-min-microvolt = <2800000>;
0413                                 regulator-max-microvolt = <2800000>;
0414 
0415                                 regulator-state-mem {
0416                                         regulator-off-in-suspend;
0417                                 };
0418                         };
0419 
0420                         ldo20_reg: LDO20 {
0421                                 regulator-name = "VDD_CAM1_CAM_1V8";
0422                                 regulator-min-microvolt = <1800000>;
0423                                 regulator-max-microvolt = <1800000>;
0424 
0425                                 regulator-state-mem {
0426                                         regulator-off-in-suspend;
0427                                 };
0428                         };
0429 
0430                         ldo21_reg: LDO21 {
0431                                 regulator-name = "VDD_CAM_IO_1V8";
0432                                 regulator-min-microvolt = <1800000>;
0433                                 regulator-max-microvolt = <1800000>;
0434 
0435                                 regulator-state-mem {
0436                                         regulator-off-in-suspend;
0437                                 };
0438                         };
0439 
0440                         ldo22_reg: LDO22 {
0441                                 regulator-name = "VDD_CAM0_S_CORE_1V1";
0442                                 regulator-min-microvolt = <1050000>;
0443                                 regulator-max-microvolt = <1200000>;
0444 
0445                                 regulator-state-mem {
0446                                         regulator-off-in-suspend;
0447                                 };
0448                         };
0449 
0450                         ldo23_reg: LDO23 {
0451                                 regulator-name = "VDD_MIFS_1V1";
0452                                 regulator-min-microvolt = <800000>;
0453                                 regulator-max-microvolt = <1100000>;
0454                                 regulator-always-on;
0455 
0456                                 regulator-state-mem {
0457                                         regulator-on-in-suspend;
0458                                 };
0459                         };
0460 
0461                         ldo24_reg: LDO24 {
0462                                 regulator-name = "VDD_TSP_3V3";
0463                                 regulator-min-microvolt = <3300000>;
0464                                 regulator-max-microvolt = <3300000>;
0465 
0466                                 regulator-state-mem {
0467                                         regulator-off-in-suspend;
0468                                 };
0469                         };
0470 
0471                         ldo25_reg: LDO25 {
0472                                 /* Unused */
0473                                 regulator-name = "VDD_LDO25";
0474                                 regulator-min-microvolt = <800000>;
0475                                 regulator-max-microvolt = <3950000>;
0476                         };
0477 
0478                         ldo26_reg: LDO26 {
0479                                 regulator-name = "VDD_CAM0_AF_2V8";
0480                                 regulator-min-microvolt = <2800000>;
0481                                 regulator-max-microvolt = <2800000>;
0482 
0483                                 regulator-state-mem {
0484                                         regulator-off-in-suspend;
0485                                 };
0486                         };
0487 
0488                         ldo27_reg: LDO27 {
0489                                 regulator-name = "VDD_G3DS_1V0";
0490                                 regulator-min-microvolt = <800000>;
0491                                 regulator-max-microvolt = <1000000>;
0492                                 regulator-always-on;
0493 
0494                                 regulator-state-mem {
0495                                         regulator-on-in-suspend;
0496                                 };
0497                         };
0498 
0499                         ldo28_reg: LDO28 {
0500                                 regulator-name = "VDD_LDO28";
0501                                 /*
0502                                  * LDO28 varies between devices and is
0503                                  * specified in the device dts
0504                                  */
0505                         };
0506 
0507                         ldo29_reg: LDO29 {
0508                                 regulator-name = "VDD_LDO29";
0509                                 /*
0510                                  * LDO29 varies between devices and is
0511                                  * specified in the device dts
0512                                  */
0513                         };
0514 
0515                         ldo30_reg: LDO30 {
0516                                 regulator-name = "VDD_TOUCH_1V8";
0517                                 regulator-min-microvolt = <1900000>;
0518                                 regulator-max-microvolt = <1900000>;
0519 
0520                                 regulator-state-mem {
0521                                         regulator-off-in-suspend;
0522                                 };
0523                         };
0524 
0525                         ldo31_reg: LDO31 {
0526                                 regulator-name = "VDD_LDO31";
0527                                 /*
0528                                  * LDO31 varies between devices and is
0529                                  * specified in the device dts
0530                                  */
0531                         };
0532 
0533                         ldo32_reg: LDO32 {
0534                                 regulator-name = "VDD_LDO32";
0535                                 /*
0536                                  * LDO32 varies between devices and is
0537                                  * specified in the device dts
0538                                  */
0539                         };
0540 
0541                         ldo33_reg: LDO33 {
0542                                 regulator-name = "VDD_MHL_1V8";
0543                                 regulator-min-microvolt = <1800000>;
0544                                 regulator-max-microvolt = <1800000>;
0545 
0546                                 regulator-state-mem {
0547                                         regulator-off-in-suspend;
0548                                 };
0549                         };
0550 
0551                         ldo34_reg: LDO34 {
0552                                 regulator-name = "VDD_MHL_3V3";
0553                                 regulator-min-microvolt = <3300000>;
0554                                 regulator-max-microvolt = <3300000>;
0555 
0556                                 regulator-state-mem {
0557                                         regulator-off-in-suspend;
0558                                 };
0559                         };
0560 
0561                         ldo35_reg: LDO35 {
0562                                 regulator-name = "VDD_SIL_1V2";
0563                                 regulator-min-microvolt = <1200000>;
0564                                 regulator-max-microvolt = <1200000>;
0565 
0566                                 regulator-state-mem {
0567                                         regulator-off-in-suspend;
0568                                 };
0569                         };
0570 
0571                         ldo36_reg: LDO36 {
0572                                 /* Unused */
0573                                 regulator-name = "VDD_LDO36";
0574                                 regulator-min-microvolt = <800000>;
0575                                 regulator-max-microvolt = <3950000>;
0576                         };
0577 
0578                         ldo37_reg: LDO37 {
0579                                 /* Unused */
0580                                 regulator-name = "VDD_LDO37";
0581                                 regulator-min-microvolt = <800000>;
0582                                 regulator-max-microvolt = <3950000>;
0583                         };
0584 
0585                         ldo38_reg: LDO38 {
0586                                 regulator-name = "VDD_KEY_LED_3V3";
0587                                 regulator-min-microvolt = <2500000>;
0588                                 regulator-max-microvolt = <3300000>;
0589 
0590                                 regulator-state-mem {
0591                                         regulator-off-in-suspend;
0592                                 };
0593                         };
0594                 };
0595         };
0596 };
0597 
0598 &mixer {
0599         status = "okay";
0600 };
0601 
0602 /* Internal storage */
0603 &mmc_0 {
0604         status = "okay";
0605         bus-width = <8>;
0606         cap-mmc-highspeed;
0607         card-detect-delay = <200>;
0608         mmc-hs200-1_8v;
0609         non-removable;
0610         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
0611         pinctrl-names = "default";
0612         samsung,dw-mshc-ciu-div = <3>;
0613         samsung,dw-mshc-ddr-timing = <0 2>;
0614         samsung,dw-mshc-sdr-timing = <0 4>;
0615         vqmmc-supply = <&ldo3_reg>;
0616 };
0617 
0618 /* External sdcard */
0619 &mmc_2 {
0620         status = "okay";
0621         bus-width = <4>;
0622         cap-sd-highspeed;
0623         card-detect-delay = <200>;
0624         cd-gpios = <&gpx2 4 GPIO_ACTIVE_LOW>;
0625         pinctrl-0 = <&sd2_clk &sd2_cmd &mmc2_cd &sd2_bus1 &sd2_bus4>;
0626         pinctrl-names = "default";
0627         samsung,dw-mshc-ciu-div = <3>;
0628         samsung,dw-mshc-ddr-timing = <0 2>;
0629         samsung,dw-mshc-sdr-timing = <0 4>;
0630         sd-uhs-sdr50;
0631         vmmc-supply = <&ldo19_reg>;
0632         vqmmc-supply = <&ldo13_reg>;
0633 };
0634 
0635 &pinctrl_0 {
0636         mmc2_cd: mmc2-cd-pins {
0637                 samsung,pins = "gpx2-4";
0638                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0639         };
0640 
0641         s2mps11_irq: s2mps11-irq-pins {
0642                 samsung,pins = "gpx3-0";
0643                 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
0644                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0645                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
0646         };
0647 };
0648 
0649 &rtc {
0650         status = "okay";
0651         clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
0652         clock-names = "rtc", "rtc_src";
0653 };
0654 
0655 &tmu_cpu0 {
0656         vtmu-supply = <&ldo10_reg>;
0657 };
0658 
0659 &tmu_cpu1 {
0660         vtmu-supply = <&ldo10_reg>;
0661 };
0662 
0663 &tmu_cpu2 {
0664         vtmu-supply = <&ldo10_reg>;
0665 };
0666 
0667 &tmu_cpu3 {
0668         vtmu-supply = <&ldo10_reg>;
0669 };
0670 
0671 &tmu_gpu {
0672         vtmu-supply = <&ldo10_reg>;
0673 };
0674 
0675 &usbdrd_dwc3_0 {
0676         dr_mode = "peripheral";
0677 };
0678 
0679 &usbdrd_dwc3_1 {
0680         dr_mode = "peripheral";
0681 };
0682 
0683 &usbdrd3_0 {
0684         vdd33-supply = <&ldo9_reg>;
0685         vdd10-supply = <&ldo11_reg>;
0686 };
0687 
0688 &usbdrd3_1 {
0689         vdd33-supply = <&ldo9_reg>;
0690         vdd10-supply = <&ldo11_reg>;
0691 };