1// SPDX-License-Identifier: GPL-2.0 2/* 3 * Samsung SMDK5250 board device tree source 4 * 5 * Copyright (c) 2012 Samsung Electronics Co., Ltd. 6 * http://www.samsung.com 7 */ 8 9/dts-v1/; 10#include <dt-bindings/clock/maxim,max77686.h> 11#include <dt-bindings/gpio/gpio.h> 12#include <dt-bindings/interrupt-controller/irq.h> 13#include "exynos5250.dtsi" 14 15/ { 16 model = "Samsung SMDK5250 board based on Exynos5250"; 17 compatible = "samsung,smdk5250", "samsung,exynos5250", "samsung,exynos5"; 18 19 aliases { 20 mmc0 = &mmc_0; 21 mmc1 = &mmc_2; 22 }; 23 24 memory@40000000 { 25 device_type = "memory"; 26 reg = <0x40000000 0x80000000>; 27 }; 28 29 chosen { 30 bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc"; 31 stdout-path = "serial2:115200n8"; 32 }; 33 34 vdd: fixed-regulator-vdd { 35 compatible = "regulator-fixed"; 36 regulator-name = "vdd-supply"; 37 regulator-min-microvolt = <1800000>; 38 regulator-max-microvolt = <1800000>; 39 regulator-always-on; 40 }; 41 42 dbvdd: fixed-regulator-dbvdd { 43 compatible = "regulator-fixed"; 44 regulator-name = "dbvdd-supply"; 45 regulator-min-microvolt = <3300000>; 46 regulator-max-microvolt = <3300000>; 47 regulator-always-on; 48 }; 49 50 spkvdd: fixed-regulator-spkvdd { 51 compatible = "regulator-fixed"; 52 regulator-name = "spkvdd-supply"; 53 regulator-min-microvolt = <5000000>; 54 regulator-max-microvolt = <5000000>; 55 regulator-always-on; 56 }; 57 58 sound { 59 compatible = "samsung,smdk-wm8994"; 60 61 samsung,i2s-controller = <&i2s0>; 62 samsung,audio-codec = <&wm8994>; 63 }; 64 65 fixed-rate-clocks { 66 xxti { 67 compatible = "samsung,clock-xxti"; 68 clock-frequency = <24000000>; 69 }; 70 71 codec_mclk: codec-mclk { 72 compatible = "fixed-clock"; 73 #clock-cells = <0>; 74 clock-frequency = <16934000>; 75 }; 76 }; 77}; 78 79&cpu0 { 80 cpu0-supply = <&buck2_reg>; 81}; 82 83&dp { 84 samsung,color-space = <0>; 85 samsung,color-depth = <1>; 86 samsung,link-rate = <0x0a>; 87 samsung,lane-count = <4>; 88 89 pinctrl-names = "default"; 90 pinctrl-0 = <&dp_hpd>; 91 status = "okay"; 92 93 display-timings { 94 native-mode = <&timing0>; 95 96 timing0: timing { 97 /* 1280x800 */ 98 clock-frequency = <50000>; 99 hactive = <1280>; 100 vactive = <800>; 101 hfront-porch = <4>; 102 hback-porch = <4>; 103 hsync-len = <4>; 104 vback-porch = <4>; 105 vfront-porch = <4>; 106 vsync-len = <4>; 107 }; 108 }; 109}; 110 111&ehci { 112 samsung,vbus-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>; 113}; 114 115&fimd { 116 status = "okay"; 117}; 118 119&hdmi { 120 status = "okay"; 121 ddc = <&i2c_2>; 122 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>; 123 vdd-supply = <&ldo8_reg>; 124 vdd_osc-supply = <&ldo10_reg>; 125 vdd_pll-supply = <&ldo8_reg>; 126}; 127 128&i2c_0 { 129 status = "okay"; 130 samsung,i2c-sda-delay = <100>; 131 samsung,i2c-max-bus-freq = <20000>; 132 133 eeprom@50 { 134 compatible = "samsung,s524ad0xd1", "atmel,24c128"; 135 reg = <0x50>; 136 }; 137 138 max77686: pmic@9 { 139 compatible = "maxim,max77686"; 140 reg = <0x09>; 141 interrupt-parent = <&gpx3>; 142 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 143 pinctrl-names = "default"; 144 pinctrl-0 = <&max77686_irq>; 145 #clock-cells = <1>; 146 wakeup-source; 147 148 voltage-regulators { 149 ldo1_reg: LDO1 { 150 regulator-name = "P1.0V_LDO_OUT1"; 151 regulator-min-microvolt = <1000000>; 152 regulator-max-microvolt = <1000000>; 153 regulator-always-on; 154 }; 155 156 ldo2_reg: LDO2 { 157 regulator-name = "P1.2V_LDO_OUT2"; 158 regulator-min-microvolt = <1200000>; 159 regulator-max-microvolt = <1200000>; 160 regulator-always-on; 161 }; 162 163 ldo3_reg: LDO3 { 164 regulator-name = "P1.8V_LDO_OUT3"; 165 regulator-min-microvolt = <1800000>; 166 regulator-max-microvolt = <1800000>; 167 regulator-always-on; 168 }; 169 170 ldo4_reg: LDO4 { 171 regulator-name = "P2.8V_LDO_OUT4"; 172 regulator-min-microvolt = <2800000>; 173 regulator-max-microvolt = <2800000>; 174 }; 175 176 ldo5_reg: LDO5 { 177 regulator-name = "P1.8V_LDO_OUT5"; 178 regulator-min-microvolt = <1800000>; 179 regulator-max-microvolt = <1800000>; 180 }; 181 182 ldo6_reg: LDO6 { 183 regulator-name = "P1.1V_LDO_OUT6"; 184 regulator-min-microvolt = <1100000>; 185 regulator-max-microvolt = <1100000>; 186 regulator-always-on; 187 }; 188 189 ldo7_reg: LDO7 { 190 regulator-name = "P1.1V_LDO_OUT7"; 191 regulator-min-microvolt = <1100000>; 192 regulator-max-microvolt = <1100000>; 193 regulator-always-on; 194 }; 195 196 ldo8_reg: LDO8 { 197 regulator-name = "P1.0V_LDO_OUT8"; 198 regulator-min-microvolt = <1000000>; 199 regulator-max-microvolt = <1000000>; 200 }; 201 202 ldo10_reg: LDO10 { 203 regulator-name = "P1.8V_LDO_OUT10"; 204 regulator-min-microvolt = <1800000>; 205 regulator-max-microvolt = <1800000>; 206 regulator-always-on; 207 }; 208 209 ldo11_reg: LDO11 { 210 regulator-name = "P1.8V_LDO_OUT11"; 211 regulator-min-microvolt = <1800000>; 212 regulator-max-microvolt = <1800000>; 213 }; 214 215 ldo12_reg: LDO12 { 216 regulator-name = "P3.0V_LDO_OUT12"; 217 regulator-min-microvolt = <3000000>; 218 regulator-max-microvolt = <3000000>; 219 }; 220 221 ldo13_reg: LDO13 { 222 regulator-name = "P1.8V_LDO_OUT13"; 223 regulator-min-microvolt = <1800000>; 224 regulator-max-microvolt = <1800000>; 225 }; 226 227 ldo14_reg: LDO14 { 228 regulator-name = "P1.8V_LDO_OUT14"; 229 regulator-min-microvolt = <1800000>; 230 regulator-max-microvolt = <1800000>; 231 }; 232 233 ldo15_reg: LDO15 { 234 regulator-name = "P1.0V_LDO_OUT15"; 235 regulator-min-microvolt = <1000000>; 236 regulator-max-microvolt = <1000000>; 237 }; 238 239 ldo16_reg: LDO16 { 240 regulator-name = "P1.8V_LDO_OUT16"; 241 regulator-min-microvolt = <1800000>; 242 regulator-max-microvolt = <1800000>; 243 }; 244 245 buck1_reg: BUCK1 { 246 regulator-name = "vdd_mif"; 247 regulator-min-microvolt = <950000>; 248 regulator-max-microvolt = <1300000>; 249 regulator-always-on; 250 regulator-boot-on; 251 }; 252 253 buck2_reg: BUCK2 { 254 regulator-name = "vdd_arm"; 255 regulator-min-microvolt = <850000>; 256 regulator-max-microvolt = <1350000>; 257 regulator-always-on; 258 regulator-boot-on; 259 }; 260 261 buck3_reg: BUCK3 { 262 regulator-name = "vdd_int"; 263 regulator-min-microvolt = <900000>; 264 regulator-max-microvolt = <1200000>; 265 regulator-always-on; 266 regulator-boot-on; 267 }; 268 269 buck4_reg: BUCK4 { 270 regulator-name = "vdd_g3d"; 271 regulator-min-microvolt = <850000>; 272 regulator-max-microvolt = <1300000>; 273 regulator-always-on; 274 regulator-boot-on; 275 }; 276 277 buck5_reg: BUCK5 { 278 regulator-name = "P1.8V_BUCK_OUT5"; 279 regulator-min-microvolt = <1800000>; 280 regulator-max-microvolt = <1800000>; 281 regulator-always-on; 282 regulator-boot-on; 283 }; 284 }; 285 }; 286}; 287 288&i2c_1 { 289 status = "okay"; 290 samsung,i2c-sda-delay = <100>; 291 samsung,i2c-max-bus-freq = <20000>; 292 293 eeprom@51 { 294 compatible = "samsung,s524ad0xd1", "atmel,24c128"; 295 reg = <0x51>; 296 }; 297 298 wm8994: audio-codec@1a { 299 compatible = "wlf,wm8994"; 300 reg = <0x1a>; 301 302 gpio-controller; 303 #gpio-cells = <2>; 304 305 clocks = <&codec_mclk>; 306 clock-names = "MCLK1"; 307 308 AVDD2-supply = <&vdd>; 309 CPVDD-supply = <&vdd>; 310 DBVDD-supply = <&dbvdd>; 311 SPKVDD1-supply = <&spkvdd>; 312 SPKVDD2-supply = <&spkvdd>; 313 }; 314}; 315 316&i2c_2 { 317 status = "okay"; 318 /* used by HDMI DDC */ 319 samsung,i2c-sda-delay = <100>; 320 samsung,i2c-max-bus-freq = <66000>; 321}; 322 323&i2c_8 { 324 status = "okay"; 325 /* used by HDMI PHY */ 326 samsung,i2c-sda-delay = <100>; 327 samsung,i2c-max-bus-freq = <66000>; 328}; 329 330&i2c_9 { 331 status = "okay"; 332 samsung,i2c-sda-delay = <100>; 333 samsung,i2c-max-bus-freq = <40000>; 334}; 335 336&i2s0 { 337 status = "okay"; 338}; 339 340&mixer { 341 status = "okay"; 342}; 343 344&mmc_0 { 345 status = "okay"; 346 broken-cd; 347 card-detect-delay = <200>; 348 samsung,dw-mshc-ciu-div = <3>; 349 samsung,dw-mshc-sdr-timing = <2 3>; 350 samsung,dw-mshc-ddr-timing = <1 2>; 351 pinctrl-names = "default"; 352 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 353 bus-width = <8>; 354 cap-mmc-highspeed; 355 mmc-ddr-1_8v; 356}; 357 358&mmc_2 { 359 status = "okay"; 360 card-detect-delay = <200>; 361 samsung,dw-mshc-ciu-div = <3>; 362 samsung,dw-mshc-sdr-timing = <2 3>; 363 samsung,dw-mshc-ddr-timing = <1 2>; 364 pinctrl-names = "default"; 365 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 366 bus-width = <4>; 367 disable-wp; 368 cap-sd-highspeed; 369}; 370 371&rtc { 372 status = "okay"; 373 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; 374 clock-names = "rtc", "rtc_src"; 375}; 376 377&sata { 378 status = "okay"; 379}; 380 381&sata_phy { 382 status = "okay"; 383 samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>; 384}; 385 386&sata_phy_i2c { 387 status = "okay"; 388}; 389 390&spi_1 { 391 status = "okay"; 392 cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>; 393 394 flash@0 { 395 #address-cells = <1>; 396 #size-cells = <1>; 397 compatible = "winbond,w25x80", "jedec,spi-nor"; 398 reg = <0>; 399 spi-max-frequency = <1000000>; 400 401 controller-data { 402 samsung,spi-feedback-delay = <0>; 403 }; 404 405 partition@0 { 406 label = "U-Boot"; 407 reg = <0x0 0x40000>; 408 read-only; 409 }; 410 411 partition@40000 { 412 label = "Kernel"; 413 reg = <0x40000 0xc0000>; 414 }; 415 }; 416}; 417 418&pinctrl_0 { 419 max77686_irq: max77686-irq-pins { 420 samsung,pins = "gpx3-2"; 421 samsung,pin-function = <EXYNOS_PIN_FUNC_F>; 422 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; 423 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; 424 }; 425}; 426 427&usbdrd { 428 vdd10-supply = <&ldo15_reg>; 429 vdd33-supply = <&ldo12_reg>; 430}; 431