exynos4412-odroid-common.dtsi revision 279377
124122Smpp/* 224122Smpp * Common definition for Hardkernel's Exynos4412 based ODROID-X/X2/U2/U3 boards 324122Smpp * device tree source 424122Smpp * 524122Smpp * This program is free software; you can redistribute it and/or modify 624122Smpp * it under the terms of the GNU General Public License version 2 as 724122Smpp * published by the Free Software Foundation. 824122Smpp*/ 924122Smpp 1024122Smpp#include <dt-bindings/sound/samsung-i2s.h> 1124122Smpp#include <dt-bindings/input/input.h> 1224122Smpp#include "exynos4412.dtsi" 1324122Smpp 1424122Smpp/ { 1524122Smpp chosen { 1624122Smpp stdout-path = &serial_1; 1724122Smpp }; 1824122Smpp 1924122Smpp firmware@0204F000 { 2024122Smpp compatible = "samsung,secure-firmware"; 2124122Smpp reg = <0x0204F000 0x1000>; 2224122Smpp }; 2324122Smpp 2424122Smpp gpio_keys { 2524122Smpp compatible = "gpio-keys"; 2624122Smpp pinctrl-names = "default"; 2724122Smpp pinctrl-0 = <&gpio_power_key>; 2824122Smpp 2924122Smpp power_key { 3050476Speter interrupt-parent = <&gpx1>; 3148795Snik interrupts = <3 0>; 32239829Spluknet gpios = <&gpx1 3 1>; 3324122Smpp linux,code = <KEY_POWER>; 3479538Sru label = "power key"; 3524122Smpp debounce-interval = <10>; 3624122Smpp gpio-key,wakeup; 3724122Smpp }; 3824122Smpp }; 3924122Smpp 4088509Sdavidc i2s0: i2s@03830000 { 4188509Sdavidc pinctrl-0 = <&i2s0_bus>; 4284306Sru pinctrl-names = "default"; 4384306Sru status = "okay"; 44127014Struckman clocks = <&clock_audss EXYNOS_I2S_BUS>, 45127014Struckman <&clock_audss EXYNOS_DOUT_AUD_BUS>, 4624122Smpp <&clock_audss EXYNOS_SCLK_I2S>; 47127014Struckman clock-names = "iis", "i2s_opclk0", "i2s_opclk1"; 4824122Smpp }; 4924122Smpp 5024122Smpp sound: sound { 5124122Smpp compatible = "simple-audio-card"; 5224122Smpp assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, 5324122Smpp <&clock_audss EXYNOS_MOUT_I2S>, 5424122Smpp <&clock_audss EXYNOS_DOUT_SRP>, 5524122Smpp <&clock_audss EXYNOS_DOUT_AUD_BUS>; 5624122Smpp assigned-clock-parents = <&clock CLK_FOUT_EPLL>, 5724122Smpp <&clock_audss EXYNOS_MOUT_AUDSS>; 5824122Smpp assigned-clock-rates = <0>, 5924122Smpp <0>, 6024122Smpp <192000000>, 6124122Smpp <19200000>; 6224122Smpp 6324122Smpp simple-audio-card,format = "i2s"; 6424122Smpp simple-audio-card,bitclock-master = <&link0_codec>; 65127014Struckman simple-audio-card,frame-master = <&link0_codec>; 66127014Struckman 67127014Struckman simple-audio-card,cpu { 68127014Struckman sound-dai = <&i2s0 0>; 69127014Struckman system-clock-frequency = <19200000>; 70127014Struckman }; 71127014Struckman 72127014Struckman link0_codec: simple-audio-card,codec { 73127014Struckman sound-dai = <&max98090>; 74127014Struckman clocks = <&i2s0 CLK_I2S_CDCLK>; 75127014Struckman }; 76127014Struckman }; 77127014Struckman 78127014Struckman mmc@12550000 { 79127014Struckman pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; 80127014Struckman pinctrl-names = "default"; 81127014Struckman vmmc-supply = <&ldo20_reg &buck8_reg>; 82127014Struckman status = "okay"; 83127014Struckman 84127014Struckman num-slots = <1>; 85127014Struckman broken-cd; 86127014Struckman card-detect-delay = <200>; 87127014Struckman samsung,dw-mshc-ciu-div = <3>; 88130582Sru samsung,dw-mshc-sdr-timing = <2 3>; 89 samsung,dw-mshc-ddr-timing = <1 2>; 90 bus-width = <8>; 91 cap-mmc-highspeed; 92 }; 93 94 watchdog@10060000 { 95 status = "okay"; 96 }; 97 98 rtc@10070000 { 99 status = "okay"; 100 }; 101 102 g2d@10800000 { 103 status = "okay"; 104 }; 105 106 camera { 107 status = "okay"; 108 pinctrl-names = "default"; 109 pinctrl-0 = <>; 110 111 fimc_0: fimc@11800000 { 112 status = "okay"; 113 assigned-clocks = <&clock CLK_MOUT_FIMC0>, 114 <&clock CLK_SCLK_FIMC0>; 115 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; 116 assigned-clock-rates = <0>, <176000000>; 117 }; 118 119 fimc_1: fimc@11810000 { 120 status = "okay"; 121 assigned-clocks = <&clock CLK_MOUT_FIMC1>, 122 <&clock CLK_SCLK_FIMC1>; 123 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; 124 assigned-clock-rates = <0>, <176000000>; 125 }; 126 127 fimc_2: fimc@11820000 { 128 status = "okay"; 129 assigned-clocks = <&clock CLK_MOUT_FIMC2>, 130 <&clock CLK_SCLK_FIMC2>; 131 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; 132 assigned-clock-rates = <0>, <176000000>; 133 }; 134 135 fimc_3: fimc@11830000 { 136 status = "okay"; 137 assigned-clocks = <&clock CLK_MOUT_FIMC3>, 138 <&clock CLK_SCLK_FIMC3>; 139 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>; 140 assigned-clock-rates = <0>, <176000000>; 141 }; 142 }; 143 144 sdhci@12530000 { 145 bus-width = <4>; 146 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 147 pinctrl-names = "default"; 148 vmmc-supply = <&ldo4_reg &ldo21_reg>; 149 cd-gpios = <&gpk2 2 0>; 150 cd-inverted; 151 status = "okay"; 152 }; 153 154 serial@13800000 { 155 status = "okay"; 156 }; 157 158 serial@13810000 { 159 status = "okay"; 160 }; 161 162 fixed-rate-clocks { 163 xxti { 164 compatible = "samsung,clock-xxti"; 165 clock-frequency = <0>; 166 }; 167 168 xusbxti { 169 compatible = "samsung,clock-xusbxti"; 170 clock-frequency = <24000000>; 171 }; 172 }; 173 174 i2c@13860000 { 175 pinctrl-0 = <&i2c0_bus>; 176 pinctrl-names = "default"; 177 samsung,i2c-sda-delay = <100>; 178 samsung,i2c-max-bus-freq = <400000>; 179 status = "okay"; 180 181 usb3503: usb3503@08 { 182 compatible = "smsc,usb3503"; 183 reg = <0x08>; 184 185 intn-gpios = <&gpx3 0 0>; 186 connect-gpios = <&gpx3 4 0>; 187 reset-gpios = <&gpx3 5 0>; 188 initial-mode = <1>; 189 }; 190 191 max77686: pmic@09 { 192 compatible = "maxim,max77686"; 193 interrupt-parent = <&gpx3>; 194 interrupts = <2 0>; 195 pinctrl-names = "default"; 196 pinctrl-0 = <&max77686_irq>; 197 reg = <0x09>; 198 #clock-cells = <1>; 199 200 voltage-regulators { 201 ldo1_reg: LDO1 { 202 regulator-name = "VDD_ALIVE_1.0V"; 203 regulator-min-microvolt = <1000000>; 204 regulator-max-microvolt = <1000000>; 205 regulator-always-on; 206 }; 207 208 ldo2_reg: LDO2 { 209 regulator-name = "VDDQ_M1_2_1.8V"; 210 regulator-min-microvolt = <1800000>; 211 regulator-max-microvolt = <1800000>; 212 regulator-always-on; 213 }; 214 215 ldo3_reg: LDO3 { 216 regulator-name = "VDDQ_EXT_1.8V"; 217 regulator-min-microvolt = <1800000>; 218 regulator-max-microvolt = <1800000>; 219 regulator-always-on; 220 }; 221 222 ldo4_reg: LDO4 { 223 regulator-name = "VDDQ_MMC2_2.8V"; 224 regulator-min-microvolt = <2800000>; 225 regulator-max-microvolt = <2800000>; 226 regulator-always-on; 227 regulator-boot-on; 228 }; 229 230 ldo5_reg: LDO5 { 231 regulator-name = "VDDQ_MMC1_3_1.8V"; 232 regulator-min-microvolt = <1800000>; 233 regulator-max-microvolt = <1800000>; 234 regulator-always-on; 235 regulator-boot-on; 236 }; 237 238 ldo6_reg: LDO6 { 239 regulator-name = "VDD10_MPLL_1.0V"; 240 regulator-min-microvolt = <1000000>; 241 regulator-max-microvolt = <1000000>; 242 regulator-always-on; 243 }; 244 245 ldo7_reg: LDO7 { 246 regulator-name = "VDD10_XPLL_1.0V"; 247 regulator-min-microvolt = <1000000>; 248 regulator-max-microvolt = <1000000>; 249 regulator-always-on; 250 }; 251 252 ldo11_reg: LDO11 { 253 regulator-name = "VDD18_ABB1_1.8V"; 254 regulator-min-microvolt = <1800000>; 255 regulator-max-microvolt = <1800000>; 256 regulator-always-on; 257 }; 258 259 ldo12_reg: LDO12 { 260 regulator-name = "VDD33_USB_3.3V"; 261 regulator-min-microvolt = <3300000>; 262 regulator-max-microvolt = <3300000>; 263 regulator-always-on; 264 regulator-boot-on; 265 }; 266 267 ldo13_reg: LDO13 { 268 regulator-name = "VDDQ_C2C_W_1.8V"; 269 regulator-min-microvolt = <1800000>; 270 regulator-max-microvolt = <1800000>; 271 regulator-always-on; 272 regulator-boot-on; 273 }; 274 275 ldo14_reg: LDO14 { 276 regulator-name = "VDD18_ABB0_2_1.8V"; 277 regulator-min-microvolt = <1800000>; 278 regulator-max-microvolt = <1800000>; 279 regulator-always-on; 280 regulator-boot-on; 281 }; 282 283 ldo15_reg: LDO15 { 284 regulator-name = "VDD10_HSIC_1.0V"; 285 regulator-min-microvolt = <1000000>; 286 regulator-max-microvolt = <1000000>; 287 regulator-always-on; 288 regulator-boot-on; 289 }; 290 291 ldo16_reg: LDO16 { 292 regulator-name = "VDD18_HSIC_1.8V"; 293 regulator-min-microvolt = <1800000>; 294 regulator-max-microvolt = <1800000>; 295 regulator-always-on; 296 regulator-boot-on; 297 }; 298 299 ldo20_reg: LDO20 { 300 regulator-name = "LDO20_1.8V"; 301 regulator-min-microvolt = <1800000>; 302 regulator-max-microvolt = <1800000>; 303 regulator-boot-on; 304 }; 305 306 ldo21_reg: LDO21 { 307 regulator-name = "LDO21_3.3V"; 308 regulator-min-microvolt = <3300000>; 309 regulator-max-microvolt = <3300000>; 310 regulator-always-on; 311 regulator-boot-on; 312 }; 313 314 ldo25_reg: LDO25 { 315 regulator-name = "VDDQ_LCD_1.8V"; 316 regulator-min-microvolt = <1800000>; 317 regulator-max-microvolt = <1800000>; 318 regulator-always-on; 319 regulator-boot-on; 320 }; 321 322 buck1_reg: BUCK1 { 323 regulator-name = "vdd_mif"; 324 regulator-min-microvolt = <1000000>; 325 regulator-max-microvolt = <1000000>; 326 regulator-always-on; 327 regulator-boot-on; 328 }; 329 330 buck2_reg: BUCK2 { 331 regulator-name = "vdd_arm"; 332 regulator-min-microvolt = <900000>; 333 regulator-max-microvolt = <1350000>; 334 regulator-always-on; 335 regulator-boot-on; 336 }; 337 338 buck3_reg: BUCK3 { 339 regulator-name = "vdd_int"; 340 regulator-min-microvolt = <1000000>; 341 regulator-max-microvolt = <1000000>; 342 regulator-always-on; 343 regulator-boot-on; 344 }; 345 346 buck4_reg: BUCK4 { 347 regulator-name = "vdd_g3d"; 348 regulator-min-microvolt = <900000>; 349 regulator-max-microvolt = <1100000>; 350 regulator-microvolt-offset = <50000>; 351 }; 352 353 buck5_reg: BUCK5 { 354 regulator-name = "VDDQ_CKEM1_2_1.2V"; 355 regulator-min-microvolt = <1200000>; 356 regulator-max-microvolt = <1200000>; 357 regulator-always-on; 358 regulator-boot-on; 359 }; 360 361 buck6_reg: BUCK6 { 362 regulator-name = "BUCK6_1.35V"; 363 regulator-min-microvolt = <1350000>; 364 regulator-max-microvolt = <1350000>; 365 regulator-always-on; 366 regulator-boot-on; 367 }; 368 369 buck7_reg: BUCK7 { 370 regulator-name = "BUCK7_2.0V"; 371 regulator-min-microvolt = <2000000>; 372 regulator-max-microvolt = <2000000>; 373 regulator-always-on; 374 }; 375 376 buck8_reg: BUCK8 { 377 regulator-name = "BUCK8_2.8V"; 378 regulator-min-microvolt = <2800000>; 379 regulator-max-microvolt = <2800000>; 380 }; 381 }; 382 }; 383 }; 384 385 i2c@13870000 { 386 pinctrl-names = "default"; 387 pinctrl-0 = <&i2c1_bus>; 388 status = "okay"; 389 max98090: max98090@10 { 390 compatible = "maxim,max98090"; 391 reg = <0x10>; 392 interrupt-parent = <&gpx0>; 393 interrupts = <0 0>; 394 clocks = <&i2s0 CLK_I2S_CDCLK>; 395 clock-names = "mclk"; 396 #sound-dai-cells = <0>; 397 }; 398 }; 399 400 exynos-usbphy@125B0000 { 401 status = "okay"; 402 }; 403 404 hsotg@12480000 { 405 dr_mode = "peripheral"; 406 status = "okay"; 407 vusb_d-supply = <&ldo15_reg>; 408 vusb_a-supply = <&ldo12_reg>; 409 }; 410 411 ehci: ehci@12580000 { 412 status = "okay"; 413 }; 414}; 415 416&pinctrl_1 { 417 gpio_power_key: power_key { 418 samsung,pins = "gpx1-3"; 419 samsung,pin-pud = <0>; 420 }; 421 422 max77686_irq: max77686-irq { 423 samsung,pins = "gpx3-2"; 424 samsung,pin-function = <0>; 425 samsung,pin-pud = <0>; 426 samsung,pin-drv = <0>; 427 }; 428}; 429