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 reg = <0x66>; 73 74 s2mps14_osc: clocks { 75 compatible = "samsung,s2mps14-clk"; 76 #clock-cells = <1>; 77 clock-output-names = "s2mps14_ap", "unused", 78 "s2mps14_bt"; 79 }; 80 81 regulators { 82 ldo1_reg: LDO1 { 83 /* VDD_ALIVE15x */ 84 regulator-name = "VLDO1_1.0V"; 85 regulator-min-microvolt = <1000000>; 86 regulator-max-microvolt = <1000000>; 87 regulator-always-on; 88 }; 89 90 ldo2_reg: LDO2 { 91 /* VDDQM176 ~ VDDQM185 */ 92 regulator-name = "VLDO2_1.2V"; 93 regulator-min-microvolt = <1200000>; 94 regulator-max-microvolt = <1200000>; 95 regulator-always-on; 96 }; 97 98 ldo3_reg: LDO3 { 99 /* 100 * VDD1_E106 ~ VDD1_E111 101 * DVDD_RTC_AP, DVDD_MMC2_AP 102 */ 103 regulator-name = "VLDO3_1.8V"; 104 regulator-min-microvolt = <1800000>; 105 regulator-max-microvolt = <1800000>; 106 regulator-always-on; 107 }; 108 109 ldo4_reg: LDO4 { 110 /* AVDD_PLL1120 ~ AVDD_PLL11201 */ 111 regulator-name = "VLDO4_1.8V"; 112 regulator-min-microvolt = <1800000>; 113 regulator-max-microvolt = <1800000>; 114 regulator-always-on; 115 }; 116 117 ldo5_reg: LDO5 { 118 /* VDDI_PLL_ISO141 ~ VDDI_PLL_ISO142 */ 119 regulator-name = "VLDO5_1.0V"; 120 regulator-min-microvolt = <1000000>; 121 regulator-max-microvolt = <1000000>; 122 regulator-always-on; 123 }; 124 125 ldo6_reg: LDO6 { 126 /* VDD_USB, VDD10_HSIC */ 127 regulator-name = "VLDO6_1.0V"; 128 regulator-min-microvolt = <1000000>; 129 regulator-max-microvolt = <1000000>; 130 regulator-always-on; 131 }; 132 133 ldo7_reg: LDO7 { 134 /* 135 * VDD18P, AVDD18_TS, AVDD18_HSIC, AVDD_PLL2, 136 * AVDD_ADC, AVDD_ABB_0, M4S_VDD18 137 */ 138 regulator-name = "VLDO7_1.8V"; 139 regulator-min-microvolt = <1800000>; 140 regulator-max-microvolt = <1800000>; 141 regulator-always-on; 142 }; 143 144 ldo8_reg: LDO8 { 145 /* AVDD33_UOTG */ 146 regulator-name = "VLDO8_3.0V"; 147 regulator-min-microvolt = <3000000>; 148 regulator-max-microvolt = <3000000>; 149 regulator-always-on; 150 }; 151 152 ldo9_reg: LDO9 { 153 /* VDDQ_E86 ~ VDDQ_E105*/ 154 regulator-name = "VLDO9_1.2V"; 155 regulator-min-microvolt = <1200000>; 156 regulator-max-microvolt = <1200000>; 157 regulator-always-on; 158 }; 159 160 ldo10_reg: LDO10 { 161 regulator-name = "VLDO10_1.0V"; 162 regulator-min-microvolt = <1000000>; 163 regulator-max-microvolt = <1000000>; 164 }; 165 166 ldo11_reg: LDO11 { 167 /* VDD74 ~ VDD75 */ 168 regulator-name = "VLDO11_1.8V"; 169 regulator-min-microvolt = <1800000>; 170 regulator-max-microvolt = <1800000>; 171 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>; 172 }; 173 174 ldo12_reg: LDO12 { 175 /* VDD72 ~ VDD73 */ 176 regulator-name = "VLDO12_2.8V"; 177 regulator-min-microvolt = <2800000>; 178 regulator-max-microvolt = <2800000>; 179 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>; 180 }; 181 182 ldo13_reg: LDO13 { 183 regulator-name = "VLDO13_2.8V"; 184 regulator-min-microvolt = <2800000>; 185 regulator-max-microvolt = <2800000>; 186 }; 187 188 ldo14_reg: LDO14 { 189 regulator-name = "VLDO14_2.7V"; 190 regulator-min-microvolt = <2700000>; 191 regulator-max-microvolt = <2700000>; 192 }; 193 194 ldo15_reg: LDO15 { 195 regulator-name = "VLDO_3.3V"; 196 regulator-min-microvolt = <3300000>; 197 regulator-max-microvolt = <3300000>; 198 }; 199 200 ldo16_reg: LDO16 { 201 regulator-name = "VLDO16_3.3V"; 202 regulator-min-microvolt = <3300000>; 203 regulator-max-microvolt = <3300000>; 204 }; 205 206 ldo17_reg: LDO17 { 207 regulator-name = "VLDO17_3.0V"; 208 regulator-min-microvolt = <3000000>; 209 regulator-max-microvolt = <3000000>; 210 }; 211 212 ldo18_reg: LDO18 { 213 /* DVDD_MMC2_AP */ 214 regulator-name = "VLDO18_2.8V"; 215 regulator-min-microvolt = <2800000>; 216 regulator-max-microvolt = <2800000>; 217 }; 218 219 ldo19_reg: LDO19 { 220 regulator-name = "VLDO19_1.8V"; 221 regulator-min-microvolt = <1800000>; 222 regulator-max-microvolt = <1800000>; 223 }; 224 225 ldo20_reg: LDO20 { 226 regulator-name = "VLDO20_1.8V"; 227 regulator-min-microvolt = <1800000>; 228 regulator-max-microvolt = <1800000>; 229 }; 230 231 ldo21_reg: LDO21 { 232 regulator-name = "VLDO21_1.25V"; 233 regulator-min-microvolt = <1250000>; 234 regulator-max-microvolt = <1250000>; 235 }; 236 237 ldo22_reg: LDO22 { 238 regulator-name = "VLDO22_1.2V"; 239 regulator-min-microvolt = <1200000>; 240 regulator-max-microvolt = <1200000>; 241 }; 242 243 ldo23_reg: LDO23 { 244 /* Xi2c3_SDA/SCL, Xi2c7_SDA/SCL, WLAN_SDIO */ 245 regulator-name = "VLDO23_1.8V"; 246 regulator-min-microvolt = <1800000>; 247 regulator-max-microvolt = <1800000>; 248 regulator-always-on; 249 }; 250 251 ldo24_reg: LDO24 { 252 regulator-name = "VLDO24_3.0V"; 253 regulator-min-microvolt = <3000000>; 254 regulator-max-microvolt = <3000000>; 255 }; 256 257 ldo25_reg: LDO25 { 258 regulator-name = "VLDO25_3.0V"; 259 regulator-min-microvolt = <3000000>; 260 regulator-max-microvolt = <3000000>; 261 }; 262 263 buck1_reg: BUCK1 { 264 /* VDD_MIF */ 265 regulator-name = "VBUCK1_1.0V"; 266 regulator-min-microvolt = <800000>; 267 regulator-max-microvolt = <1000000>; 268 regulator-always-on; 269 }; 270 271 buck2_reg: BUCK2 { 272 /* VDD_CPU */ 273 regulator-name = "VBUCK2_1.2V"; 274 regulator-min-microvolt = <850000>; 275 regulator-max-microvolt = <1200000>; 276 regulator-always-on; 277 }; 278 279 buck3_reg: BUCK3 { 280 /* VDD_G3D */ 281 regulator-name = "VBUCK3_1.0V"; 282 regulator-min-microvolt = <850000>; 283 regulator-max-microvolt = <1000000>; 284 regulator-always-on; 285 }; 286 287 buck4_reg: BUCK4 { 288 regulator-name = "VBUCK4_1.95V"; 289 regulator-min-microvolt = <1950000>; 290 regulator-max-microvolt = <1950000>; 291 regulator-always-on; 292 }; 293 294 buck5_reg: BUCK5 { 295 regulator-name = "VBUCK5_1.35V"; 296 regulator-min-microvolt = <1350000>; 297 regulator-max-microvolt = <1350000>; 298 regulator-always-on; 299 }; 300 }; 301 }; 302}; 303 304&mshc_0 { 305 non-removable; 306 cap-mmc-highspeed; 307 card-detect-delay = <200>; 308 vmmc-supply = <&ldo12_reg>; 309 clock-frequency = <100000000>; 310 max-frequency = <100000000>; 311 samsung,dw-mshc-ciu-div = <1>; 312 samsung,dw-mshc-sdr-timing = <0 1>; 313 samsung,dw-mshc-ddr-timing = <1 2>; 314 pinctrl-names = "default"; 315 pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>; 316 bus-width = <8>; 317 status = "okay"; 318}; 319 320&mshc_1 { 321 cap-sd-highspeed; 322 cap-sdio-irq; 323 disable-wp; 324 non-removable; 325 keep-power-in-suspend; 326 fifo-depth = <0x40>; 327 vqmmc-supply = <&ldo11_reg>; 328 /* 329 * Voltage negotiation is broken for the SDIO periph so we 330 * can't actually set the voltage here. 331 * vmmc-supply = <&ldo23_reg>; 332 */ 333 card-detect-delay = <500>; 334 clock-frequency = <100000000>; 335 max-frequency = <100000000>; 336 samsung,dw-mshc-ciu-div = <3>; 337 samsung,dw-mshc-sdr-timing = <0 1>; 338 samsung,dw-mshc-ddr-timing = <1 2>; 339 pinctrl-names = "default"; 340 pinctrl-0 = <&sd1_cmd &sd1_clk &sd1_bus1 &sd1_bus4 &wlanen>; 341 bus-width = <4>; 342 status = "okay"; 343}; 344 345&pinctrl_1 { 346 wlanen: wlanen { 347 samsung,pins = "gpx2-3"; 348 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; 349 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 350 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>; 351 samsung,pin-val = <1>; 352 }; 353}; 354 355&rtc { 356 clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>; 357 clock-names = "rtc", "rtc_src"; 358 status = "okay"; 359}; 360 361&tmu { 362 status = "okay"; 363}; 364 365&xusbxti { 366 clock-frequency = <24000000>; 367}; 368