exynos4412-odroid-common.dtsi revision 284090
1/* 2 * Common definition for Hardkernel's Exynos4412 based ODROID-X/X2/U2/U3 boards 3 * device tree source 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 as 7 * published by the Free Software Foundation. 8*/ 9 10#include <dt-bindings/sound/samsung-i2s.h> 11#include <dt-bindings/input/input.h> 12#include "exynos4412.dtsi" 13 14/ { 15 chosen { 16 stdout-path = &serial_1; 17 }; 18 19 firmware@0204F000 { 20 compatible = "samsung,secure-firmware"; 21 reg = <0x0204F000 0x1000>; 22 }; 23 24 gpio_keys { 25 compatible = "gpio-keys"; 26 pinctrl-names = "default"; 27 pinctrl-0 = <&gpio_power_key>; 28 29 power_key { 30 interrupt-parent = <&gpx1>; 31 interrupts = <3 0>; 32 gpios = <&gpx1 3 1>; 33 linux,code = <KEY_POWER>; 34 label = "power key"; 35 debounce-interval = <10>; 36 gpio-key,wakeup; 37 }; 38 }; 39 40 i2s0: i2s@03830000 { 41 pinctrl-0 = <&i2s0_bus>; 42 pinctrl-names = "default"; 43 status = "okay"; 44 clocks = <&clock_audss EXYNOS_I2S_BUS>, 45 <&clock_audss EXYNOS_DOUT_AUD_BUS>, 46 <&clock_audss EXYNOS_SCLK_I2S>; 47 clock-names = "iis", "i2s_opclk0", "i2s_opclk1"; 48 }; 49 50 sound: sound { 51 compatible = "simple-audio-card"; 52 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, 53 <&clock_audss EXYNOS_MOUT_I2S>, 54 <&clock_audss EXYNOS_DOUT_SRP>, 55 <&clock_audss EXYNOS_DOUT_AUD_BUS>; 56 assigned-clock-parents = <&clock CLK_FOUT_EPLL>, 57 <&clock_audss EXYNOS_MOUT_AUDSS>; 58 assigned-clock-rates = <0>, 59 <0>, 60 <192000000>, 61 <19200000>; 62 63 simple-audio-card,format = "i2s"; 64 simple-audio-card,bitclock-master = <&link0_codec>; 65 simple-audio-card,frame-master = <&link0_codec>; 66 67 simple-audio-card,cpu { 68 sound-dai = <&i2s0 0>; 69 system-clock-frequency = <19200000>; 70 }; 71 72 link0_codec: simple-audio-card,codec { 73 sound-dai = <&max98090>; 74 clocks = <&i2s0 CLK_I2S_CDCLK>; 75 }; 76 }; 77 78 mmc@12550000 { 79 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; 80 pinctrl-names = "default"; 81 vmmc-supply = <&ldo20_reg &buck8_reg>; 82 status = "okay"; 83 84 num-slots = <1>; 85 broken-cd; 86 card-detect-delay = <200>; 87 samsung,dw-mshc-ciu-div = <3>; 88 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