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