1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Samsung's Exynos3250 based ARTIK5 module device tree source 4 * 5 * Copyright (c) 2016 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com 7 * 8 * Device tree source file for Samsung's ARTIK5 module which is based on 9 * Samsung Exynos3250 SoC. 10 */ 11 12#include "exynos3250.dtsi" 13#include <dt-bindings/clock/samsung,s2mps11.h> 14#include <dt-bindings/gpio/gpio.h> 15#include <dt-bindings/interrupt-controller/irq.h> 16 17/ { 18 compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3"; 19 20 chosen { 21 stdout-path = &serial_2; 22 }; 23 24 memory@40000000 { 25 device_type = "memory"; 26 reg = <0x40000000 0x1ff00000>; 27 }; 28 29 firmware@205f000 { 30 compatible = "samsung,secure-firmware"; 31 reg = <0x0205f000 0x1000>; 32 }; 33 34 thermal-zones { 35 cpu_thermal: cpu-thermal { 36 cooling-maps { 37 map0 { 38 /* Corresponds to 500MHz */ 39 cooling-device = <&cpu0 5 5>; 40 }; 41 map1 { 42 /* Corresponds to 200MHz */ 43 cooling-device = <&cpu0 8 8>; 44 }; 45 }; 46 }; 47 }; 48}; 49 50&adc { 51 vdd-supply = <&ldo7_reg>; 52 assigned-clocks = <&cmu CLK_SCLK_TSADC>; 53 assigned-clock-rates = <6000000>; 54}; 55 56&cpu0 { 57 cpu0-supply = <&buck2_reg>; 58}; 59 60&i2c_0 { 61 #address-cells = <1>; 62 #size-cells = <0>; 63 samsung,i2c-sda-delay = <100>; 64 samsung,i2c-slave-addr = <0x10>; 65 samsung,i2c-max-bus-freq = <100000>; 66 status = "okay"; 67 68 s2mps14_pmic@66 { 69 compatible = "samsung,s2mps14-pmic"; 70 interrupt-parent = <&gpx3>; 71 interrupts = <5 IRQ_TYPE_NONE>; 72 pinctrl-names = "default"; 73 pinctrl-0 = <&s2mps14_irq>; 74 reg = <0x66>; 75 76 s2mps14_osc: clocks { 77 compatible = "samsung,s2mps14-clk"; 78 #clock-cells = <1>; 79 clock-output-names = "s2mps14_ap", "unused", 80 "s2mps14_bt"; 81 }; 82 83 regulators { 84 ldo1_reg: LDO1 { 85 /* VDD_ALIVE15x */ 86 regulator-name = "VLDO1_1.0V"; 87 regulator-min-microvolt = <1000000>; 88 regulator-max-microvolt = <1000000>; 89 regulator-always-on; 90 }; 91 92 ldo2_reg: LDO2 { 93 /* VDDQM176 ~ VDDQM185 */ 94 regulator-name = "VLDO2_1.2V"; 95 regulator-min-microvolt = <1200000>; 96 regulator-max-microvolt = <1200000>; 97 regulator-always-on; 98 }; 99 100 ldo3_reg: LDO3 { 101 /* 102 * VDD1_E106 ~ VDD1_E111 103 * DVDD_RTC_AP, DVDD_MMC2_AP 104 */ 105 regulator-name = "VLDO3_1.8V"; 106 regulator-min-microvolt = <1800000>; 107 regulator-max-microvolt = <1800000>; 108 regulator-always-on; 109 }; 110 111 ldo4_reg: LDO4 { 112 /* AVDD_PLL1120 ~ AVDD_PLL11201 */ 113 regulator-name = "VLDO4_1.8V"; 114 regulator-min-microvolt = <1800000>; 115 regulator-max-microvolt = <1800000>; 116 regulator-always-on; 117 }; 118 119 ldo5_reg: LDO5 { 120 /* VDDI_PLL_ISO141 ~ VDDI_PLL_ISO142 */ 121 regulator-name = "VLDO5_1.0V"; 122 regulator-min-microvolt = <1000000>; 123 regulator-max-microvolt = <1000000>; 124 regulator-always-on; 125 }; 126 127 ldo6_reg: LDO6 { 128 /* VDD_USB, VDD10_HSIC */ 129 regulator-name = "VLDO6_1.0V"; 130 regulator-min-microvolt = <1000000>; 131 regulator-max-microvolt = <1000000>; 132 regulator-always-on; 133 }; 134 135 ldo7_reg: LDO7 { 136 /* 137 * VDD18P, AVDD18_TS, AVDD18_HSIC, AVDD_PLL2, 138 * AVDD_ADC, AVDD_ABB_0, M4S_VDD18 139 */ 140 regulator-name = "VLDO7_1.8V"; 141 regulator-min-microvolt = <1800000>; 142 regulator-max-microvolt = <1800000>; 143 regulator-always-on; 144 }; 145 146 ldo8_reg: LDO8 { 147 /* AVDD33_UOTG */ 148 regulator-name = "VLDO8_3.0V"; 149 regulator-min-microvolt = <3000000>; 150 regulator-max-microvolt = <3000000>; 151 regulator-always-on; 152 }; 153 154 ldo9_reg: LDO9 { 155 /* VDDQ_E86 ~ VDDQ_E105*/ 156 regulator-name = "VLDO9_1.2V"; 157 regulator-min-microvolt = <1200000>; 158 regulator-max-microvolt = <1200000>; 159 regulator-always-on; 160 }; 161 162 ldo10_reg: LDO10 { 163 regulator-name = "VLDO10_1.0V"; 164 regulator-min-microvolt = <1000000>; 165 regulator-max-microvolt = <1000000>; 166 }; 167 168 ldo11_reg: LDO11 { 169 /* VDD74 ~ VDD75 */ 170 regulator-name = "VLDO11_1.8V"; 171 regulator-min-microvolt = <1800000>; 172 regulator-max-microvolt = <1800000>; 173 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>; 174 }; 175 176 ldo12_reg: LDO12 { 177 /* VDD72 ~ VDD73 */ 178 regulator-name = "VLDO12_2.8V"; 179 regulator-min-microvolt = <2800000>; 180 regulator-max-microvolt = <2800000>; 181 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>; 182 }; 183 184 ldo13_reg: LDO13 { 185 regulator-name = "VLDO13_2.8V"; 186 regulator-min-microvolt = <2800000>; 187 regulator-max-microvolt = <2800000>; 188 }; 189 190 ldo14_reg: LDO14 { 191 regulator-name = "VLDO14_2.7V"; 192 regulator-min-microvolt = <2700000>; 193 regulator-max-microvolt = <2700000>; 194 }; 195 196 ldo15_reg: LDO15 { 197 regulator-name = "VLDO_3.3V"; 198 regulator-min-microvolt = <3300000>; 199 regulator-max-microvolt = <3300000>; 200 }; 201 202 ldo16_reg: LDO16 { 203 regulator-name = "VLDO16_3.3V"; 204 regulator-min-microvolt = <3300000>; 205 regulator-max-microvolt = <3300000>; 206 }; 207 208 ldo17_reg: LDO17 { 209 regulator-name = "VLDO17_3.0V"; 210 regulator-min-microvolt = <3000000>; 211 regulator-max-microvolt = <3000000>; 212 }; 213 214 ldo18_reg: LDO18 { 215 /* DVDD_MMC2_AP */ 216 regulator-name = "VLDO18_2.8V"; 217 regulator-min-microvolt = <2800000>; 218 regulator-max-microvolt = <2800000>; 219 }; 220 221 ldo19_reg: LDO19 { 222 regulator-name = "VLDO19_1.8V"; 223 regulator-min-microvolt = <1800000>; 224 regulator-max-microvolt = <1800000>; 225 }; 226 227 ldo20_reg: LDO20 { 228 regulator-name = "VLDO20_1.8V"; 229 regulator-min-microvolt = <1800000>; 230 regulator-max-microvolt = <1800000>; 231 }; 232 233 ldo21_reg: LDO21 { 234 regulator-name = "VLDO21_1.25V"; 235 regulator-min-microvolt = <1250000>; 236 regulator-max-microvolt = <1250000>; 237 }; 238 239 ldo22_reg: LDO22 { 240 regulator-name = "VLDO22_1.2V"; 241 regulator-min-microvolt = <1200000>; 242 regulator-max-microvolt = <1200000>; 243 }; 244 245 ldo23_reg: LDO23 { 246 /* Xi2c3_SDA/SCL, Xi2c7_SDA/SCL, WLAN_SDIO */ 247 regulator-name = "VLDO23_1.8V"; 248 regulator-min-microvolt = <1800000>; 249 regulator-max-microvolt = <1800000>; 250 regulator-always-on; 251 }; 252 253 ldo24_reg: LDO24 { 254 regulator-name = "VLDO24_3.0V"; 255 regulator-min-microvolt = <3000000>; 256 regulator-max-microvolt = <3000000>; 257 }; 258 259 ldo25_reg: LDO25 { 260 regulator-name = "VLDO25_3.0V"; 261 regulator-min-microvolt = <3000000>; 262 regulator-max-microvolt = <3000000>; 263 }; 264 265 buck1_reg: BUCK1 { 266 /* VDD_MIF */ 267 regulator-name = "VBUCK1_1.0V"; 268 regulator-min-microvolt = <800000>; 269 regulator-max-microvolt = <1000000>; 270 regulator-always-on; 271 }; 272 273 buck2_reg: BUCK2 { 274 /* VDD_CPU */ 275 regulator-name = "VBUCK2_1.2V"; 276 regulator-min-microvolt = <850000>; 277 regulator-max-microvolt = <1200000>; 278 regulator-always-on; 279 }; 280 281 buck3_reg: BUCK3 { 282 /* VDD_G3D */ 283 regulator-name = "VBUCK3_1.0V"; 284 regulator-min-microvolt = <850000>; 285 regulator-max-microvolt = <1000000>; 286 regulator-always-on; 287 }; 288 289 buck4_reg: BUCK4 { 290 regulator-name = "VBUCK4_1.95V"; 291 regulator-min-microvolt = <1950000>; 292 regulator-max-microvolt = <1950000>; 293 regulator-always-on; 294 }; 295 296 buck5_reg: BUCK5 { 297 regulator-name = "VBUCK5_1.35V"; 298 regulator-min-microvolt = <1350000>; 299 regulator-max-microvolt = <1350000>; 300 regulator-always-on; 301 }; 302 }; 303 }; 304}; 305 306&mshc_0 { 307 non-removable; 308 cap-mmc-highspeed; 309 card-detect-delay = <200>; 310 vmmc-supply = <&ldo12_reg>; 311 clock-frequency = <100000000>; 312 max-frequency = <100000000>; 313 samsung,dw-mshc-ciu-div = <1>; 314 samsung,dw-mshc-sdr-timing = <0 1>; 315 samsung,dw-mshc-ddr-timing = <1 2>; 316 pinctrl-names = "default"; 317 pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>; 318 bus-width = <8>; 319 status = "okay"; 320}; 321 322&mshc_1 { 323 cap-sd-highspeed; 324 cap-sdio-irq; 325 disable-wp; 326 non-removable; 327 keep-power-in-suspend; 328 fifo-depth = <0x40>; 329 vqmmc-supply = <&ldo11_reg>; 330 /* 331 * Voltage negotiation is broken for the SDIO periph so we 332 * can't actually set the voltage here. 333 * vmmc-supply = <&ldo23_reg>; 334 */ 335 card-detect-delay = <500>; 336 clock-frequency = <100000000>; 337 max-frequency = <100000000>; 338 samsung,dw-mshc-ciu-div = <3>; 339 samsung,dw-mshc-sdr-timing = <0 1>; 340 samsung,dw-mshc-ddr-timing = <1 2>; 341 pinctrl-names = "default"; 342 pinctrl-0 = <&sd1_cmd &sd1_clk &sd1_bus1 &sd1_bus4 &wlanen>; 343 bus-width = <4>; 344 status = "okay"; 345}; 346 347&pinctrl_1 { 348 wlanen: wlanen { 349 samsung,pins = "gpx2-3"; 350 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 351 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 352 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>; 353 samsung,pin-val = <1>; 354 }; 355 356 s2mps14_irq: s2mps14-irq { 357 samsung,pins = "gpx3-5"; 358 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 359 }; 360}; 361 362&rtc { 363 clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>; 364 clock-names = "rtc", "rtc_src"; 365 status = "okay"; 366}; 367 368&tmu { 369 status = "okay"; 370}; 371 372&xusbxti { 373 clock-frequency = <24000000>; 374}; 375