0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Samsung SMDK5250 board device tree source
0004 *
0005 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
0006 * http://www.samsung.com
0007 */
0008
0009 /dts-v1/;
0010 #include <dt-bindings/clock/maxim,max77686.h>
0011 #include <dt-bindings/gpio/gpio.h>
0012 #include <dt-bindings/interrupt-controller/irq.h>
0013 #include "exynos5250.dtsi"
0014
0015 / {
0016 model = "Samsung SMDK5250 board based on Exynos5250";
0017 compatible = "samsung,smdk5250", "samsung,exynos5250", "samsung,exynos5";
0018
0019 aliases {
0020 };
0021
0022 memory@40000000 {
0023 device_type = "memory";
0024 reg = <0x40000000 0x80000000>;
0025 };
0026
0027 chosen {
0028 bootargs = "root=/dev/ram0 rw ramdisk=8192 initrd=0x41000000,8M init=/linuxrc";
0029 stdout-path = "serial2:115200n8";
0030 };
0031
0032 vdd: fixed-regulator-vdd {
0033 compatible = "regulator-fixed";
0034 regulator-name = "vdd-supply";
0035 regulator-min-microvolt = <1800000>;
0036 regulator-max-microvolt = <1800000>;
0037 regulator-always-on;
0038 };
0039
0040 dbvdd: fixed-regulator-dbvdd {
0041 compatible = "regulator-fixed";
0042 regulator-name = "dbvdd-supply";
0043 regulator-min-microvolt = <3300000>;
0044 regulator-max-microvolt = <3300000>;
0045 regulator-always-on;
0046 };
0047
0048 spkvdd: fixed-regulator-spkvdd {
0049 compatible = "regulator-fixed";
0050 regulator-name = "spkvdd-supply";
0051 regulator-min-microvolt = <5000000>;
0052 regulator-max-microvolt = <5000000>;
0053 regulator-always-on;
0054 };
0055
0056 sound {
0057 compatible = "samsung,smdk-wm8994";
0058
0059 samsung,i2s-controller = <&i2s0>;
0060 samsung,audio-codec = <&wm8994>;
0061 };
0062
0063 fixed-rate-clocks {
0064 xxti {
0065 compatible = "samsung,clock-xxti";
0066 clock-frequency = <24000000>;
0067 };
0068
0069 codec_mclk: codec-mclk {
0070 compatible = "fixed-clock";
0071 #clock-cells = <0>;
0072 clock-frequency = <16934000>;
0073 };
0074 };
0075 };
0076
0077 &cpu0 {
0078 cpu0-supply = <&buck2_reg>;
0079 };
0080
0081 &dp {
0082 samsung,color-space = <0>;
0083 samsung,color-depth = <1>;
0084 samsung,link-rate = <0x0a>;
0085 samsung,lane-count = <4>;
0086
0087 pinctrl-names = "default";
0088 pinctrl-0 = <&dp_hpd>;
0089 status = "okay";
0090
0091 display-timings {
0092 native-mode = <&timing0>;
0093
0094 timing0: timing {
0095 /* 1280x800 */
0096 clock-frequency = <50000>;
0097 hactive = <1280>;
0098 vactive = <800>;
0099 hfront-porch = <4>;
0100 hback-porch = <4>;
0101 hsync-len = <4>;
0102 vback-porch = <4>;
0103 vfront-porch = <4>;
0104 vsync-len = <4>;
0105 };
0106 };
0107 };
0108
0109 &ehci {
0110 samsung,vbus-gpio = <&gpx2 6 GPIO_ACTIVE_HIGH>;
0111 };
0112
0113 &fimd {
0114 status = "okay";
0115 };
0116
0117 &hdmi {
0118 status = "okay";
0119 ddc = <&i2c_2>;
0120 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
0121 vdd-supply = <&ldo8_reg>;
0122 vdd_osc-supply = <&ldo10_reg>;
0123 vdd_pll-supply = <&ldo8_reg>;
0124 };
0125
0126 &i2c_0 {
0127 status = "okay";
0128 samsung,i2c-sda-delay = <100>;
0129 samsung,i2c-max-bus-freq = <20000>;
0130
0131 eeprom@50 {
0132 compatible = "samsung,s524ad0xd1", "atmel,24c128";
0133 reg = <0x50>;
0134 };
0135
0136 max77686: pmic@9 {
0137 compatible = "maxim,max77686";
0138 reg = <0x09>;
0139 interrupt-parent = <&gpx3>;
0140 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
0141 pinctrl-names = "default";
0142 pinctrl-0 = <&max77686_irq>;
0143 #clock-cells = <1>;
0144 wakeup-source;
0145
0146 voltage-regulators {
0147 ldo1_reg: LDO1 {
0148 regulator-name = "P1.0V_LDO_OUT1";
0149 regulator-min-microvolt = <1000000>;
0150 regulator-max-microvolt = <1000000>;
0151 regulator-always-on;
0152 };
0153
0154 ldo2_reg: LDO2 {
0155 regulator-name = "P1.2V_LDO_OUT2";
0156 regulator-min-microvolt = <1200000>;
0157 regulator-max-microvolt = <1200000>;
0158 regulator-always-on;
0159 };
0160
0161 ldo3_reg: LDO3 {
0162 regulator-name = "P1.8V_LDO_OUT3";
0163 regulator-min-microvolt = <1800000>;
0164 regulator-max-microvolt = <1800000>;
0165 regulator-always-on;
0166 };
0167
0168 ldo4_reg: LDO4 {
0169 regulator-name = "P2.8V_LDO_OUT4";
0170 regulator-min-microvolt = <2800000>;
0171 regulator-max-microvolt = <2800000>;
0172 };
0173
0174 ldo5_reg: LDO5 {
0175 regulator-name = "P1.8V_LDO_OUT5";
0176 regulator-min-microvolt = <1800000>;
0177 regulator-max-microvolt = <1800000>;
0178 };
0179
0180 ldo6_reg: LDO6 {
0181 regulator-name = "P1.1V_LDO_OUT6";
0182 regulator-min-microvolt = <1100000>;
0183 regulator-max-microvolt = <1100000>;
0184 regulator-always-on;
0185 };
0186
0187 ldo7_reg: LDO7 {
0188 regulator-name = "P1.1V_LDO_OUT7";
0189 regulator-min-microvolt = <1100000>;
0190 regulator-max-microvolt = <1100000>;
0191 regulator-always-on;
0192 };
0193
0194 ldo8_reg: LDO8 {
0195 regulator-name = "P1.0V_LDO_OUT8";
0196 regulator-min-microvolt = <1000000>;
0197 regulator-max-microvolt = <1000000>;
0198 };
0199
0200 ldo10_reg: LDO10 {
0201 regulator-name = "P1.8V_LDO_OUT10";
0202 regulator-min-microvolt = <1800000>;
0203 regulator-max-microvolt = <1800000>;
0204 regulator-always-on;
0205 };
0206
0207 ldo11_reg: LDO11 {
0208 regulator-name = "P1.8V_LDO_OUT11";
0209 regulator-min-microvolt = <1800000>;
0210 regulator-max-microvolt = <1800000>;
0211 };
0212
0213 ldo12_reg: LDO12 {
0214 regulator-name = "P3.0V_LDO_OUT12";
0215 regulator-min-microvolt = <3000000>;
0216 regulator-max-microvolt = <3000000>;
0217 };
0218
0219 ldo13_reg: LDO13 {
0220 regulator-name = "P1.8V_LDO_OUT13";
0221 regulator-min-microvolt = <1800000>;
0222 regulator-max-microvolt = <1800000>;
0223 };
0224
0225 ldo14_reg: LDO14 {
0226 regulator-name = "P1.8V_LDO_OUT14";
0227 regulator-min-microvolt = <1800000>;
0228 regulator-max-microvolt = <1800000>;
0229 };
0230
0231 ldo15_reg: LDO15 {
0232 regulator-name = "P1.0V_LDO_OUT15";
0233 regulator-min-microvolt = <1000000>;
0234 regulator-max-microvolt = <1000000>;
0235 };
0236
0237 ldo16_reg: LDO16 {
0238 regulator-name = "P1.8V_LDO_OUT16";
0239 regulator-min-microvolt = <1800000>;
0240 regulator-max-microvolt = <1800000>;
0241 };
0242
0243 buck1_reg: BUCK1 {
0244 regulator-name = "vdd_mif";
0245 regulator-min-microvolt = <950000>;
0246 regulator-max-microvolt = <1300000>;
0247 regulator-always-on;
0248 regulator-boot-on;
0249 };
0250
0251 buck2_reg: BUCK2 {
0252 regulator-name = "vdd_arm";
0253 regulator-min-microvolt = <850000>;
0254 regulator-max-microvolt = <1350000>;
0255 regulator-always-on;
0256 regulator-boot-on;
0257 };
0258
0259 buck3_reg: BUCK3 {
0260 regulator-name = "vdd_int";
0261 regulator-min-microvolt = <900000>;
0262 regulator-max-microvolt = <1200000>;
0263 regulator-always-on;
0264 regulator-boot-on;
0265 };
0266
0267 buck4_reg: BUCK4 {
0268 regulator-name = "vdd_g3d";
0269 regulator-min-microvolt = <850000>;
0270 regulator-max-microvolt = <1300000>;
0271 regulator-always-on;
0272 regulator-boot-on;
0273 };
0274
0275 buck5_reg: BUCK5 {
0276 regulator-name = "P1.8V_BUCK_OUT5";
0277 regulator-min-microvolt = <1800000>;
0278 regulator-max-microvolt = <1800000>;
0279 regulator-always-on;
0280 regulator-boot-on;
0281 };
0282 };
0283 };
0284 };
0285
0286 &i2c_1 {
0287 status = "okay";
0288 samsung,i2c-sda-delay = <100>;
0289 samsung,i2c-max-bus-freq = <20000>;
0290
0291 eeprom@51 {
0292 compatible = "samsung,s524ad0xd1", "atmel,24c128";
0293 reg = <0x51>;
0294 };
0295
0296 wm8994: audio-codec@1a {
0297 compatible = "wlf,wm8994";
0298 reg = <0x1a>;
0299
0300 gpio-controller;
0301 #gpio-cells = <2>;
0302
0303 clocks = <&codec_mclk>;
0304 clock-names = "MCLK1";
0305
0306 AVDD2-supply = <&vdd>;
0307 CPVDD-supply = <&vdd>;
0308 DBVDD-supply = <&dbvdd>;
0309 SPKVDD1-supply = <&spkvdd>;
0310 SPKVDD2-supply = <&spkvdd>;
0311 };
0312 };
0313
0314 &i2c_2 {
0315 status = "okay";
0316 /* used by HDMI DDC */
0317 samsung,i2c-sda-delay = <100>;
0318 samsung,i2c-max-bus-freq = <66000>;
0319 };
0320
0321 &i2c_8 {
0322 status = "okay";
0323 /* used by HDMI PHY */
0324 samsung,i2c-sda-delay = <100>;
0325 samsung,i2c-max-bus-freq = <66000>;
0326 };
0327
0328 &i2c_9 {
0329 status = "okay";
0330 samsung,i2c-sda-delay = <100>;
0331 samsung,i2c-max-bus-freq = <40000>;
0332 };
0333
0334 &i2s0 {
0335 status = "okay";
0336 };
0337
0338 &mixer {
0339 status = "okay";
0340 };
0341
0342 &mmc_0 {
0343 status = "okay";
0344 broken-cd;
0345 card-detect-delay = <200>;
0346 samsung,dw-mshc-ciu-div = <3>;
0347 samsung,dw-mshc-sdr-timing = <2 3>;
0348 samsung,dw-mshc-ddr-timing = <1 2>;
0349 pinctrl-names = "default";
0350 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
0351 bus-width = <8>;
0352 cap-mmc-highspeed;
0353 };
0354
0355 &mmc_2 {
0356 status = "okay";
0357 card-detect-delay = <200>;
0358 samsung,dw-mshc-ciu-div = <3>;
0359 samsung,dw-mshc-sdr-timing = <2 3>;
0360 samsung,dw-mshc-ddr-timing = <1 2>;
0361 pinctrl-names = "default";
0362 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
0363 bus-width = <4>;
0364 disable-wp;
0365 cap-sd-highspeed;
0366 };
0367
0368 &rtc {
0369 status = "okay";
0370 clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>;
0371 clock-names = "rtc", "rtc_src";
0372 };
0373
0374 &sata {
0375 status = "okay";
0376 };
0377
0378 &sata_phy {
0379 status = "okay";
0380 samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
0381 };
0382
0383 &sata_phy_i2c {
0384 status = "okay";
0385 };
0386
0387 &spi_1 {
0388 status = "okay";
0389 cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>;
0390
0391 flash@0 {
0392 #address-cells = <1>;
0393 #size-cells = <1>;
0394 compatible = "w25x80";
0395 reg = <0>;
0396 spi-max-frequency = <1000000>;
0397
0398 controller-data {
0399 samsung,spi-feedback-delay = <0>;
0400 };
0401
0402 partition@0 {
0403 label = "U-Boot";
0404 reg = <0x0 0x40000>;
0405 read-only;
0406 };
0407
0408 partition@40000 {
0409 label = "Kernel";
0410 reg = <0x40000 0xc0000>;
0411 };
0412 };
0413 };
0414
0415 &pinctrl_0 {
0416 max77686_irq: max77686-irq-pins {
0417 samsung,pins = "gpx3-2";
0418 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
0419 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
0420 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
0421 };
0422 };
0423
0424 &usbdrd {
0425 vdd10-supply = <&ldo15_reg>;
0426 vdd33-supply = <&ldo12_reg>;
0427 };