Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Samsung's Exynos4210 based Trats board device tree source
0004  *
0005  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
0006  *              http://www.samsung.com
0007  *
0008  * Device tree source file for Samsung's Trats board which is based on
0009  * Samsung's Exynos4210 SoC.
0010  */
0011 
0012 /dts-v1/;
0013 #include "exynos4210.dtsi"
0014 #include <dt-bindings/gpio/gpio.h>
0015 
0016 / {
0017         model = "Samsung Trats based on Exynos4210";
0018         compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4";
0019         chassis-type = "handset";
0020 
0021         memory@40000000 {
0022                 device_type = "memory";
0023                 reg =  <0x40000000 0x10000000
0024                         0x50000000 0x10000000
0025                         0x60000000 0x10000000
0026                         0x70000000 0x10000000>;
0027         };
0028 
0029         chosen {
0030                 bootargs = "root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
0031                 stdout-path = "serial2:115200n8";
0032         };
0033 
0034         vemmc_reg: regulator-0 {
0035                 compatible = "regulator-fixed";
0036                 regulator-name = "VMEM_VDD_2.8V";
0037                 regulator-min-microvolt = <2800000>;
0038                 regulator-max-microvolt = <2800000>;
0039                 gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
0040                 enable-active-high;
0041         };
0042 
0043         tsp_reg: regulator-1 {
0044                 compatible = "regulator-fixed";
0045                 regulator-name = "TSP_FIXED_VOLTAGES";
0046                 regulator-min-microvolt = <2800000>;
0047                 regulator-max-microvolt = <2800000>;
0048                 gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
0049                 enable-active-high;
0050         };
0051 
0052         cam_af_28v_reg: regulator-2 {
0053                 compatible = "regulator-fixed";
0054                 regulator-name = "8M_AF_2.8V_EN";
0055                 regulator-min-microvolt = <2800000>;
0056                 regulator-max-microvolt = <2800000>;
0057                 gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
0058                 enable-active-high;
0059         };
0060 
0061         cam_io_en_reg: regulator-3 {
0062                 compatible = "regulator-fixed";
0063                 regulator-name = "CAM_IO_EN";
0064                 regulator-min-microvolt = <2800000>;
0065                 regulator-max-microvolt = <2800000>;
0066                 gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
0067                 enable-active-high;
0068         };
0069 
0070         cam_io_12v_reg: regulator-4 {
0071                 compatible = "regulator-fixed";
0072                 regulator-name = "8M_1.2V_EN";
0073                 regulator-min-microvolt = <1200000>;
0074                 regulator-max-microvolt = <1200000>;
0075                 gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
0076                 enable-active-high;
0077         };
0078 
0079         vt_core_15v_reg: regulator-5 {
0080                 compatible = "regulator-fixed";
0081                 regulator-name = "VT_CORE_1.5V";
0082                 regulator-min-microvolt = <1500000>;
0083                 regulator-max-microvolt = <1500000>;
0084                 gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
0085                 enable-active-high;
0086         };
0087 
0088         gpio-keys {
0089                 compatible = "gpio-keys";
0090 
0091                 vol-down-key {
0092                         gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
0093                         linux,code = <114>;
0094                         label = "volume down";
0095                         debounce-interval = <10>;
0096                 };
0097 
0098                 vol-up-key {
0099                         gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
0100                         linux,code = <115>;
0101                         label = "volume up";
0102                         debounce-interval = <10>;
0103                 };
0104 
0105                 power-key {
0106                         gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
0107                         linux,code = <116>;
0108                         label = "power";
0109                         debounce-interval = <10>;
0110                         wakeup-source;
0111                 };
0112 
0113                 ok-key {
0114                         gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
0115                         linux,code = <352>;
0116                         label = "ok";
0117                         debounce-interval = <10>;
0118                 };
0119         };
0120 
0121         wlan_pwrseq: sdhci3-pwrseq {
0122                 compatible = "mmc-pwrseq-simple";
0123                 reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
0124         };
0125 
0126         fixed-rate-clocks {
0127                 xxti {
0128                         compatible = "samsung,clock-xxti";
0129                         clock-frequency = <0>;
0130                 };
0131 
0132                 xusbxti {
0133                         compatible = "samsung,clock-xusbxti";
0134                         clock-frequency = <24000000>;
0135                 };
0136 
0137                 pmic_ap_clk: pmic-ap-clk {
0138                         /* Workaround for missing clock on max8997 PMIC */
0139                         compatible = "fixed-clock";
0140                         #clock-cells = <0>;
0141                         clock-frequency = <32768>;
0142                 };
0143         };
0144 };
0145 
0146 &camera {
0147         pinctrl-names = "default";
0148         pinctrl-0 = <>;
0149         status = "okay";
0150 };
0151 
0152 &cpu0 {
0153         cpu0-supply = <&varm_breg>;
0154 };
0155 
0156 &cpu_thermal {
0157         cooling-maps {
0158                 map0 {
0159                         /* Corresponds to 800MHz at freq_table */
0160                         cooling-device = <&cpu0 2 2>, <&cpu1 2 2>;
0161                 };
0162                 map1 {
0163                         /* Corresponds to 200MHz at freq_table */
0164                         cooling-device = <&cpu0 4 4>, <&cpu1 4 4>;
0165                 };
0166         };
0167 };
0168 
0169 &dsi_0 {
0170         vddcore-supply = <&vusb_reg>;
0171         vddio-supply = <&vmipi_reg>;
0172         samsung,burst-clock-frequency = <500000000>;
0173         samsung,esc-clock-frequency = <20000000>;
0174         samsung,pll-clock-frequency = <24000000>;
0175         status = "okay";
0176 
0177         panel@0 {
0178                 reg = <0>;
0179                 compatible = "samsung,s6e8aa0";
0180                 vdd3-supply = <&vcclcd_reg>;
0181                 vci-supply = <&vlcd_reg>;
0182                 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
0183                 power-on-delay = <50>;
0184                 reset-delay = <100>;
0185                 init-delay = <100>;
0186                 flip-horizontal;
0187                 flip-vertical;
0188                 panel-width-mm = <58>;
0189                 panel-height-mm = <103>;
0190 
0191                 display-timings {
0192                         timing-0 {
0193                                 clock-frequency = <57153600>;
0194                                 hactive = <720>;
0195                                 vactive = <1280>;
0196                                 hfront-porch = <5>;
0197                                 hback-porch = <5>;
0198                                 hsync-len = <5>;
0199                                 vfront-porch = <13>;
0200                                 vback-porch = <1>;
0201                                 vsync-len = <2>;
0202                         };
0203                 };
0204         };
0205 };
0206 
0207 &exynos_usbphy {
0208         status = "okay";
0209         vbus-supply = <&safe1_sreg>;
0210 };
0211 
0212 &fimc_0 {
0213         status = "okay";
0214         assigned-clocks = <&clock CLK_MOUT_FIMC0>,
0215                           <&clock CLK_SCLK_FIMC0>;
0216         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
0217         assigned-clock-rates = <0>, <160000000>;
0218 };
0219 
0220 &fimc_1 {
0221         status = "okay";
0222         assigned-clocks = <&clock CLK_MOUT_FIMC1>,
0223                           <&clock CLK_SCLK_FIMC1>;
0224         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
0225         assigned-clock-rates = <0>, <160000000>;
0226 };
0227 
0228 &fimc_2 {
0229         status = "okay";
0230         assigned-clocks = <&clock CLK_MOUT_FIMC2>,
0231                           <&clock CLK_SCLK_FIMC2>;
0232         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
0233                 assigned-clock-rates = <0>, <160000000>;
0234 };
0235 
0236 &fimc_3 {
0237         status = "okay";
0238         assigned-clocks = <&clock CLK_MOUT_FIMC3>,
0239                           <&clock CLK_SCLK_FIMC3>;
0240         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
0241         assigned-clock-rates = <0>, <160000000>;
0242 };
0243 
0244 &fimd {
0245         status = "okay";
0246 };
0247 
0248 &gpu {
0249         status = "okay";
0250 };
0251 
0252 &hsotg {
0253         vusb_d-supply = <&vusb_reg>;
0254         vusb_a-supply = <&vusbdac_reg>;
0255         dr_mode = "peripheral";
0256         status = "okay";
0257 };
0258 
0259 &i2c_3 {
0260         samsung,i2c-sda-delay = <100>;
0261         samsung,i2c-slave-addr = <0x10>;
0262         samsung,i2c-max-bus-freq = <400000>;
0263         pinctrl-0 = <&i2c3_bus>;
0264         pinctrl-names = "default";
0265         status = "okay";
0266 
0267         touchscreen@48 {
0268                 compatible = "melfas,mms114";
0269                 reg = <0x48>;
0270                 interrupt-parent = <&gpx0>;
0271                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
0272                 touchscreen-size-x = <720>;
0273                 touchscreen-size-y = <1280>;
0274                 avdd-supply = <&tsp_reg>;
0275                 vdd-supply = <&tsp_reg>;
0276         };
0277 };
0278 
0279 &i2c_5 {
0280         samsung,i2c-sda-delay = <100>;
0281         samsung,i2c-slave-addr = <0x10>;
0282         samsung,i2c-max-bus-freq = <100000>;
0283         pinctrl-0 = <&i2c5_bus>;
0284         pinctrl-names = "default";
0285         status = "okay";
0286 
0287         pmic@66 {
0288                 compatible = "maxim,max8997-pmic";
0289 
0290                 reg = <0x66>;
0291                 interrupts-extended = <&gpx0 7 IRQ_TYPE_LEVEL_LOW>,
0292                                       <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
0293 
0294                 max8997,pmic-buck1-uses-gpio-dvs;
0295                 max8997,pmic-buck2-uses-gpio-dvs;
0296                 max8997,pmic-buck5-uses-gpio-dvs;
0297 
0298                 max8997,pmic-ignore-gpiodvs-side-effect;
0299                 max8997,pmic-buck125-default-dvs-idx = <0>;
0300 
0301                 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
0302                                                  <&gpx0 6 GPIO_ACTIVE_HIGH>,
0303                                                  <&gpl0 0 GPIO_ACTIVE_HIGH>;
0304 
0305                 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
0306                                                  <1250000>, <1200000>,
0307                                                  <1150000>, <1100000>,
0308                                                  <1000000>, <950000>;
0309 
0310                 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
0311                                                  <950000>,  <900000>,
0312                                                  <1100000>, <1000000>,
0313                                                  <950000>,  <900000>;
0314 
0315                 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
0316                                                  <1200000>, <1200000>,
0317                                                  <1200000>, <1200000>,
0318                                                  <1200000>, <1200000>;
0319 
0320                 regulators {
0321                         valive_reg: LDO2 {
0322                                 regulator-name = "VALIVE_1.1V_C210";
0323                                 regulator-min-microvolt = <1100000>;
0324                                 regulator-max-microvolt = <1100000>;
0325                                 regulator-always-on;
0326                         };
0327 
0328                         vusb_reg: LDO3 {
0329                                 regulator-name = "VUSB_1.1V_C210";
0330                                 regulator-min-microvolt = <1100000>;
0331                                 regulator-max-microvolt = <1100000>;
0332                         };
0333 
0334                         vmipi_reg: LDO4 {
0335                                 regulator-name = "VMIPI_1.8V";
0336                                 regulator-min-microvolt = <1800000>;
0337                                 regulator-max-microvolt = <1800000>;
0338                         };
0339 
0340                         vpda_reg: LDO6 {
0341                                 regulator-name = "VCC_1.8V_PDA";
0342                                 regulator-min-microvolt = <1800000>;
0343                                 regulator-max-microvolt = <1800000>;
0344                                 regulator-always-on;
0345                         };
0346 
0347                         vcam_reg: LDO7 {
0348                                 regulator-name = "CAM_ISP_1.8V";
0349                                 regulator-min-microvolt = <1800000>;
0350                                 regulator-max-microvolt = <1800000>;
0351                         };
0352 
0353                         vusbdac_reg: LDO8 {
0354                                 regulator-name = "VUSB+VDAC_3.3V_C210";
0355                                 regulator-min-microvolt = <3300000>;
0356                                 regulator-max-microvolt = <3300000>;
0357                         };
0358 
0359                         vccpda_reg: LDO9 {
0360                                 regulator-name = "VCC_2.8V_PDA";
0361                                 regulator-min-microvolt = <2800000>;
0362                                 regulator-max-microvolt = <2800000>;
0363                                 regulator-always-on;
0364                         };
0365 
0366                         vpll_reg: LDO10 {
0367                                 regulator-name = "VPLL_1.1V_C210";
0368                                 regulator-min-microvolt = <1100000>;
0369                                 regulator-max-microvolt = <1100000>;
0370                                 regulator-always-on;
0371                         };
0372 
0373                         vtcam_reg: LDO12 {
0374                                 regulator-name = "VT_CAM_1.8V";
0375                                 regulator-min-microvolt = <1800000>;
0376                                 regulator-max-microvolt = <1800000>;
0377                         };
0378 
0379                         vcclcd_reg: LDO13 {
0380                                 regulator-name = "VCC_3.3V_LCD";
0381                                 regulator-min-microvolt = <3300000>;
0382                                 regulator-max-microvolt = <3300000>;
0383                         };
0384 
0385                         vlcd_reg: LDO15 {
0386                                 regulator-name = "VLCD_2.2V";
0387                                 regulator-min-microvolt = <2200000>;
0388                                 regulator-max-microvolt = <2200000>;
0389                         };
0390 
0391                         camsensor_reg: LDO16 {
0392                                 regulator-name = "CAM_SENSOR_IO_1.8V";
0393                                 regulator-min-microvolt = <1800000>;
0394                                 regulator-max-microvolt = <1800000>;
0395                         };
0396 
0397                         tflash_reg: LDO17 {
0398                                 regulator-name = "VTF_2.8V";
0399                                 regulator-min-microvolt = <2800000>;
0400                                 regulator-max-microvolt = <2800000>;
0401                         };
0402 
0403                         vddq_reg: LDO21 {
0404                                 regulator-name = "VDDQ_M1M2_1.2V";
0405                                 regulator-min-microvolt = <1200000>;
0406                                 regulator-max-microvolt = <1200000>;
0407                                 regulator-always-on;
0408                         };
0409 
0410                         varm_breg: BUCK1 {
0411                                 regulator-name = "VARM_1.2V_C210";
0412                                 regulator-min-microvolt = <900000>;
0413                                 regulator-max-microvolt = <1350000>;
0414                                 regulator-always-on;
0415                         };
0416 
0417                         vint_breg: BUCK2 {
0418                                 regulator-name = "VINT_1.1V_C210";
0419                                 regulator-min-microvolt = <900000>;
0420                                 regulator-max-microvolt = <1100000>;
0421                                 regulator-always-on;
0422                         };
0423 
0424                         camisp_breg: BUCK4 {
0425                                 regulator-name = "CAM_ISP_CORE_1.2V";
0426                                 regulator-min-microvolt = <1200000>;
0427                                 regulator-max-microvolt = <1200000>;
0428                         };
0429 
0430                         vmem_breg: BUCK5 {
0431                                 regulator-name = "VMEM_1.2V_C210";
0432                                 regulator-min-microvolt = <1200000>;
0433                                 regulator-max-microvolt = <1200000>;
0434                                 regulator-always-on;
0435                         };
0436 
0437                         vccsub_breg: BUCK7 {
0438                                 regulator-name = "VCC_SUB_2.0V";
0439                                 regulator-min-microvolt = <2000000>;
0440                                 regulator-max-microvolt = <2000000>;
0441                                 regulator-always-on;
0442                         };
0443 
0444                         safe1_sreg: ESAFEOUT1 {
0445                                 regulator-name = "SAFEOUT1";
0446                         };
0447 
0448                         safe2_sreg: ESAFEOUT2 {
0449                                 regulator-name = "SAFEOUT2";
0450                                 regulator-boot-on;
0451                         };
0452 
0453                         EN32KHZ_AP {
0454                                 regulator-name = "EN32KHZ_AP";
0455                                 regulator-always-on;
0456                         };
0457 
0458                         EN32KHZ_CP {
0459                                 regulator-name = "EN32KHZ_CP";
0460                                 regulator-always-on;
0461                         };
0462                 };
0463         };
0464 };
0465 
0466 &pinctrl_1 {
0467         bt_shutdown: bt-shutdown-pins {
0468                 samsung,pins = "gpl1-0";
0469                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0470                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0471         };
0472 
0473         bt_host_wakeup: bt-host-wakeup-pins {
0474                 samsung,pins = "gpx2-6";
0475                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0476                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0477         };
0478 
0479         bt_device_wakeup: bt-device-wakeup-pins {
0480                 samsung,pins = "gpx3-1";
0481                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0482                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0483         };
0484 };
0485 
0486 &rtc {
0487         status = "okay";
0488         clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
0489         clock-names = "rtc", "rtc_src";
0490 };
0491 
0492 &sdhci_0 {
0493         bus-width = <8>;
0494         non-removable;
0495         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
0496         pinctrl-names = "default";
0497         vmmc-supply = <&vemmc_reg>;
0498         status = "okay";
0499 };
0500 
0501 &sdhci_2 {
0502         bus-width = <4>;
0503         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus4>;
0504         pinctrl-names = "default";
0505         vmmc-supply = <&tflash_reg>;
0506         cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
0507         status = "okay";
0508 };
0509 
0510 &sdhci_3 {
0511         status = "okay";
0512 
0513         #address-cells = <1>;
0514         #size-cells = <0>;
0515 
0516         non-removable;
0517         bus-width = <4>;
0518         mmc-pwrseq = <&wlan_pwrseq>;
0519         vmmc-supply = <&tflash_reg>;
0520 
0521         pinctrl-names = "default";
0522         pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
0523 
0524         brcmf: wifi@1 {
0525                 compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
0526                 reg = <1>;
0527 
0528                 interrupt-parent = <&gpx2>;
0529                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
0530                 interrupt-names = "host-wake";
0531         };
0532 };
0533 
0534 &serial_0 {
0535         status = "okay";
0536         pinctrl-0 = <&uart0_data &uart0_fctl>;
0537         pinctrl-names = "default";
0538 
0539         bluetooth {
0540                 compatible = "brcm,bcm4330-bt";
0541                 pinctrl-0 = <&bt_shutdown &bt_device_wakeup &bt_host_wakeup>;
0542                 pinctrl-names = "default";
0543                 shutdown-gpios = <&gpl1 0 GPIO_ACTIVE_HIGH>;
0544                 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
0545                 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
0546         };
0547 };
0548 
0549 &serial_1 {
0550         status = "okay";
0551 };
0552 
0553 &serial_2 {
0554         status = "okay";
0555 };
0556 
0557 &serial_3 {
0558         status = "okay";
0559 };
0560 
0561 &tmu {
0562         status = "okay";
0563 };