Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003  * Samsung's Exynos3250 based ARTIK5 module device tree source
0004  *
0005  * Copyright (c) 2016 Samsung Electronics Co., Ltd.
0006  *              http://www.samsung.com
0007  *
0008  * Device tree source file for Samsung's ARTIK5 module which is based on
0009  * Samsung Exynos3250 SoC.
0010  */
0011 
0012 #include "exynos3250.dtsi"
0013 #include <dt-bindings/clock/samsung,s2mps11.h>
0014 #include <dt-bindings/gpio/gpio.h>
0015 #include <dt-bindings/interrupt-controller/irq.h>
0016 
0017 / {
0018         compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
0019 
0020         chosen {
0021                 stdout-path = &serial_2;
0022         };
0023 
0024         memory@40000000 {
0025                 device_type = "memory";
0026                 reg = <0x40000000 0x1f800000>;
0027         };
0028 
0029         firmware@205f000 {
0030                 compatible = "samsung,secure-firmware";
0031                 reg = <0x0205f000 0x1000>;
0032         };
0033 
0034         thermal-zones {
0035                 cpu_thermal: cpu-thermal {
0036                         cooling-maps {
0037                                 map0 {
0038                                         /* Corresponds to 500MHz */
0039                                         cooling-device = <&cpu0 5 5>,
0040                                                          <&cpu1 5 5>;
0041                                 };
0042                                 map1 {
0043                                         /* Corresponds to 200MHz */
0044                                         cooling-device = <&cpu0 8 8>,
0045                                                          <&cpu1 8 8>;
0046                                 };
0047                         };
0048                 };
0049         };
0050 };
0051 
0052 &adc {
0053         vdd-supply = <&ldo7_reg>;
0054         assigned-clocks = <&cmu CLK_SCLK_TSADC>;
0055         assigned-clock-rates = <6000000>;
0056 };
0057 
0058 &cmu {
0059         clocks = <&xusbxti>;
0060 };
0061 
0062 &cpu0 {
0063         cpu0-supply = <&buck2_reg>;
0064 };
0065 
0066 &gpu {
0067         mali-supply = <&buck3_reg>;
0068         status = "okay";
0069 };
0070 
0071 &i2c_0 {
0072         #address-cells = <1>;
0073         #size-cells = <0>;
0074         samsung,i2c-sda-delay = <100>;
0075         samsung,i2c-slave-addr = <0x10>;
0076         samsung,i2c-max-bus-freq = <100000>;
0077         status = "okay";
0078 
0079         pmic@66 {
0080                 compatible = "samsung,s2mps14-pmic";
0081                 interrupt-parent = <&gpx3>;
0082                 interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
0083                 pinctrl-names = "default";
0084                 pinctrl-0 = <&s2mps14_irq>;
0085                 reg = <0x66>;
0086 
0087                 s2mps14_osc: clocks {
0088                         compatible = "samsung,s2mps14-clk";
0089                         #clock-cells = <1>;
0090                         clock-output-names = "s2mps14_ap", "unused",
0091                                 "s2mps14_bt";
0092                 };
0093 
0094                 regulators {
0095                         ldo1_reg: LDO1 {
0096                                 /* VDD_ALIVE15x */
0097                                 regulator-name = "VLDO1_1.0V";
0098                                 regulator-min-microvolt = <1000000>;
0099                                 regulator-max-microvolt = <1000000>;
0100                                 regulator-always-on;
0101                         };
0102 
0103                         ldo2_reg: LDO2 {
0104                                 /* VDDQM176 ~ VDDQM185 */
0105                                 regulator-name = "VLDO2_1.2V";
0106                                 regulator-min-microvolt = <1200000>;
0107                                 regulator-max-microvolt = <1200000>;
0108                                 regulator-always-on;
0109                         };
0110 
0111                         ldo3_reg: LDO3 {
0112                                 /*
0113                                  * VDD1_E106 ~ VDD1_E111
0114                                  * DVDD_RTC_AP, DVDD_MMC2_AP
0115                                  */
0116                                 regulator-name = "VLDO3_1.8V";
0117                                 regulator-min-microvolt = <1800000>;
0118                                 regulator-max-microvolt = <1800000>;
0119                                 regulator-always-on;
0120                         };
0121 
0122                         ldo4_reg: LDO4 {
0123                                 /*  AVDD_PLL1120 ~ AVDD_PLL11201 */
0124                                 regulator-name = "VLDO4_1.8V";
0125                                 regulator-min-microvolt = <1800000>;
0126                                 regulator-max-microvolt = <1800000>;
0127                                 regulator-always-on;
0128                         };
0129 
0130                         ldo5_reg: LDO5 {
0131                                 /* VDDI_PLL_ISO141 ~ VDDI_PLL_ISO142 */
0132                                 regulator-name = "VLDO5_1.0V";
0133                                 regulator-min-microvolt = <1000000>;
0134                                 regulator-max-microvolt = <1000000>;
0135                                 regulator-always-on;
0136                         };
0137 
0138                         ldo6_reg: LDO6 {
0139                                 /* VDD_USB, VDD10_HSIC */
0140                                 regulator-name = "VLDO6_1.0V";
0141                                 regulator-min-microvolt = <1000000>;
0142                                 regulator-max-microvolt = <1000000>;
0143                                 regulator-always-on;
0144                         };
0145 
0146                         ldo7_reg: LDO7 {
0147                                 /*
0148                                  * VDD18P, AVDD18_TS, AVDD18_HSIC, AVDD_PLL2,
0149                                  * AVDD_ADC, AVDD_ABB_0, M4S_VDD18
0150                                  */
0151                                 regulator-name = "VLDO7_1.8V";
0152                                 regulator-min-microvolt = <1800000>;
0153                                 regulator-max-microvolt = <1800000>;
0154                                 regulator-always-on;
0155                         };
0156 
0157                         ldo8_reg: LDO8 {
0158                                 /* AVDD33_UOTG */
0159                                 regulator-name = "VLDO8_3.0V";
0160                                 regulator-min-microvolt = <3000000>;
0161                                 regulator-max-microvolt = <3000000>;
0162                                 regulator-always-on;
0163                         };
0164 
0165                         ldo9_reg: LDO9 {
0166                                 /* VDDQ_E86 ~ VDDQ_E105*/
0167                                 regulator-name = "VLDO9_1.2V";
0168                                 regulator-min-microvolt = <1200000>;
0169                                 regulator-max-microvolt = <1200000>;
0170                                 regulator-always-on;
0171                         };
0172 
0173                         ldo10_reg: LDO10 {
0174                                 regulator-name = "VLDO10_1.0V";
0175                                 regulator-min-microvolt = <1000000>;
0176                                 regulator-max-microvolt = <1000000>;
0177                         };
0178 
0179                         ldo11_reg: LDO11 {
0180                                 /* VDD74 ~ VDD75 */
0181                                 regulator-name = "VLDO11_1.8V";
0182                                 regulator-min-microvolt = <1800000>;
0183                                 regulator-max-microvolt = <1800000>;
0184                                 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
0185                         };
0186 
0187                         ldo12_reg: LDO12 {
0188                                 /* VDD72 ~ VDD73 */
0189                                 regulator-name = "VLDO12_2.8V";
0190                                 regulator-min-microvolt = <2800000>;
0191                                 regulator-max-microvolt = <2800000>;
0192                                 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
0193                         };
0194 
0195                         ldo13_reg: LDO13 {
0196                                 regulator-name = "VLDO13_2.8V";
0197                                 regulator-min-microvolt = <2800000>;
0198                                 regulator-max-microvolt = <2800000>;
0199                         };
0200 
0201                         ldo14_reg: LDO14 {
0202                                 regulator-name = "VLDO14_2.7V";
0203                                 regulator-min-microvolt = <2700000>;
0204                                 regulator-max-microvolt = <2700000>;
0205                         };
0206 
0207                         ldo15_reg: LDO15 {
0208                                 regulator-name = "VLDO_3.3V";
0209                                 regulator-min-microvolt = <3300000>;
0210                                 regulator-max-microvolt = <3300000>;
0211                         };
0212 
0213                         ldo16_reg: LDO16 {
0214                                 regulator-name = "VLDO16_3.3V";
0215                                 regulator-min-microvolt = <3300000>;
0216                                 regulator-max-microvolt = <3300000>;
0217                         };
0218 
0219                         ldo17_reg: LDO17 {
0220                                 regulator-name = "VLDO17_3.0V";
0221                                 regulator-min-microvolt = <3000000>;
0222                                 regulator-max-microvolt = <3000000>;
0223                         };
0224 
0225                         ldo18_reg: LDO18 {
0226                                 /* DVDD_MMC2_AP */
0227                                 regulator-name = "VLDO18_2.8V";
0228                                 regulator-min-microvolt = <2800000>;
0229                                 regulator-max-microvolt = <2800000>;
0230                         };
0231 
0232                         ldo19_reg: LDO19 {
0233                                 regulator-name = "VLDO19_1.8V";
0234                                 regulator-min-microvolt = <1800000>;
0235                                 regulator-max-microvolt = <1800000>;
0236                         };
0237 
0238                         ldo20_reg: LDO20 {
0239                                 regulator-name = "VLDO20_1.8V";
0240                                 regulator-min-microvolt = <1800000>;
0241                                 regulator-max-microvolt = <1800000>;
0242                         };
0243 
0244                         ldo21_reg: LDO21 {
0245                                 regulator-name = "VLDO21_1.25V";
0246                                 regulator-min-microvolt = <1250000>;
0247                                 regulator-max-microvolt = <1250000>;
0248                         };
0249 
0250                         ldo22_reg: LDO22 {
0251                                 regulator-name = "VLDO22_1.2V";
0252                                 regulator-min-microvolt = <1200000>;
0253                                 regulator-max-microvolt = <1200000>;
0254                         };
0255 
0256                         ldo23_reg: LDO23 {
0257                                 /* Xi2c3_SDA/SCL, Xi2c7_SDA/SCL, WLAN_SDIO */
0258                                 regulator-name = "VLDO23_1.8V";
0259                                 regulator-min-microvolt = <1800000>;
0260                                 regulator-max-microvolt = <1800000>;
0261                                 regulator-always-on;
0262                         };
0263 
0264                         ldo24_reg: LDO24 {
0265                                 regulator-name = "VLDO24_3.0V";
0266                                 regulator-min-microvolt = <3000000>;
0267                                 regulator-max-microvolt = <3000000>;
0268                         };
0269 
0270                         ldo25_reg: LDO25 {
0271                                 regulator-name = "VLDO25_3.0V";
0272                                 regulator-min-microvolt = <3000000>;
0273                                 regulator-max-microvolt = <3000000>;
0274                         };
0275 
0276                         buck1_reg: BUCK1 {
0277                                 /* VDD_MIF */
0278                                 regulator-name = "VBUCK1_1.0V";
0279                                 regulator-min-microvolt = <800000>;
0280                                 regulator-max-microvolt = <1000000>;
0281                                 regulator-always-on;
0282                         };
0283 
0284                         buck2_reg: BUCK2 {
0285                                 /* VDD_CPU */
0286                                 regulator-name = "VBUCK2_1.2V";
0287                                 regulator-min-microvolt = <850000>;
0288                                 regulator-max-microvolt = <1200000>;
0289                                 regulator-always-on;
0290                         };
0291 
0292                         buck3_reg: BUCK3 {
0293                                 /* VDD_G3D */
0294                                 regulator-name = "VBUCK3_1.0V";
0295                                 regulator-min-microvolt = <850000>;
0296                                 regulator-max-microvolt = <1000000>;
0297                                 regulator-always-on;
0298                         };
0299 
0300                         buck4_reg: BUCK4 {
0301                                 regulator-name = "VBUCK4_1.95V";
0302                                 regulator-min-microvolt = <1950000>;
0303                                 regulator-max-microvolt = <1950000>;
0304                                 regulator-always-on;
0305                         };
0306 
0307                         buck5_reg: BUCK5 {
0308                                 regulator-name = "VBUCK5_1.35V";
0309                                 regulator-min-microvolt = <1350000>;
0310                                 regulator-max-microvolt = <1350000>;
0311                                 regulator-always-on;
0312                         };
0313                 };
0314         };
0315 };
0316 
0317 &mshc_0 {
0318         non-removable;
0319         cap-mmc-highspeed;
0320         card-detect-delay = <200>;
0321         vmmc-supply = <&ldo12_reg>;
0322         clock-frequency = <100000000>;
0323         max-frequency = <100000000>;
0324         samsung,dw-mshc-ciu-div = <1>;
0325         samsung,dw-mshc-sdr-timing = <0 1>;
0326         samsung,dw-mshc-ddr-timing = <1 2>;
0327         pinctrl-names = "default";
0328         pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
0329         bus-width = <8>;
0330         status = "okay";
0331 };
0332 
0333 &mshc_1 {
0334         cap-sd-highspeed;
0335         cap-sdio-irq;
0336         disable-wp;
0337         non-removable;
0338         keep-power-in-suspend;
0339         fifo-depth = <0x40>;
0340         vqmmc-supply = <&ldo11_reg>;
0341         /*
0342          * Voltage negotiation is broken for the SDIO periph so we
0343          * can't actually set the voltage here.
0344          * vmmc-supply = <&ldo23_reg>;
0345          */
0346         card-detect-delay = <500>;
0347         clock-frequency = <100000000>;
0348         max-frequency = <100000000>;
0349         samsung,dw-mshc-ciu-div = <3>;
0350         samsung,dw-mshc-sdr-timing = <0 1>;
0351         samsung,dw-mshc-ddr-timing = <1 2>;
0352         pinctrl-names = "default";
0353         pinctrl-0 = <&sd1_cmd &sd1_clk &sd1_bus1 &sd1_bus4 &wlanen>;
0354         bus-width = <4>;
0355         status = "okay";
0356 };
0357 
0358 &pinctrl_1 {
0359         bten: bten-pins {
0360                 samsung,pins = "gpx1-7";
0361                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0362                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
0363                 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_PREV>;
0364                 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
0365         };
0366 
0367         wlanen: wlanen-pins {
0368                 samsung,pins = "gpx2-3";
0369                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0370                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0371                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
0372                 samsung,pin-val = <1>;
0373         };
0374 
0375         s2mps14_irq: s2mps14-irq-pins {
0376                 samsung,pins = "gpx3-5";
0377                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0378         };
0379 
0380         bthostwake: bthostwake-pins {
0381                 samsung,pins = "gpx3-6";
0382                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
0383                 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
0384                 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
0385                 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
0386         };
0387 
0388         btwake: btwake-pins {
0389                 samsung,pins = "gpx3-7";
0390                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
0391                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
0392                 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
0393                 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_DOWN>;
0394         };
0395 };
0396 
0397 &rtc {
0398         clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>;
0399         clock-names = "rtc", "rtc_src";
0400         status = "okay";
0401 };
0402 
0403 &serial_0 {
0404         assigned-clocks = <&cmu CLK_SCLK_UART0>;
0405         assigned-clock-rates = <100000000>;
0406         status = "okay";
0407 
0408         bluetooth {
0409                 compatible = "brcm,bcm4330-bt";
0410                 pinctrl-names = "default";
0411                 pinctrl-0 = <&bten &btwake &bthostwake>;
0412                 max-speed = <3000000>;
0413                 shutdown-gpios = <&gpx1 7 GPIO_ACTIVE_HIGH>;
0414                 device-wakeup-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
0415                 host-wakeup-gpios = <&gpx3 6 GPIO_ACTIVE_HIGH>;
0416                 clocks = <&s2mps14_osc S2MPS11_CLK_BT>;
0417         };
0418 };
0419 
0420 &tmu {
0421         status = "okay";
0422 };
0423 
0424 &xusbxti {
0425         clock-frequency = <24000000>;
0426 };