1/* 2 * DTS file for SPEAr1340 Evaluation Baord 3 * 4 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com> 5 * 6 * The code contained herein is licensed under the GNU General Public 7 * License. You may obtain a copy of the GNU General Public License 8 * Version 2 or later at the following locations: 9 * 10 * http://www.opensource.org/licenses/gpl-license.html 11 * http://www.gnu.org/copyleft/gpl.html 12 */ 13 14/dts-v1/; 15/include/ "spear1340.dtsi" 16 17/ { 18 model = "ST SPEAr1340 Evaluation Board"; 19 compatible = "st,spear1340-evb", "st,spear1340"; 20 #address-cells = <1>; 21 #size-cells = <1>; 22 23 memory { 24 reg = <0 0x40000000>; 25 }; 26 27 ahb { 28 pinmux@e0700000 { 29 pinctrl-names = "default"; 30 pinctrl-0 = <&state_default>; 31 32 state_default: pinmux { 33 pads_as_gpio { 34 st,pins = "pads_as_gpio_grp"; 35 st,function = "pads_as_gpio"; 36 }; 37 fsmc { 38 st,pins = "fsmc_8bit_grp"; 39 st,function = "fsmc"; 40 }; 41 uart0 { 42 st,pins = "uart0_grp"; 43 st,function = "uart0"; 44 }; 45 i2c0 { 46 st,pins = "i2c0_grp"; 47 st,function = "i2c0"; 48 }; 49 i2c1 { 50 st,pins = "i2c1_grp"; 51 st,function = "i2c1"; 52 }; 53 spdif-in { 54 st,pins = "spdif_in_grp"; 55 st,function = "spdif_in"; 56 }; 57 spdif-out { 58 st,pins = "spdif_out_grp"; 59 st,function = "spdif_out"; 60 }; 61 ssp0 { 62 st,pins = "ssp0_grp", "ssp0_cs1_grp", "ssp0_cs2_grp", "ssp0_cs3_grp"; 63 st,function = "ssp0"; 64 }; 65 smi-pmx { 66 st,pins = "smi_grp"; 67 st,function = "smi"; 68 }; 69 i2s { 70 st,pins = "i2s_in_grp", "i2s_out_grp"; 71 st,function = "i2s"; 72 }; 73 gmac { 74 st,pins = "gmii_grp", "rgmii_grp"; 75 st,function = "gmac"; 76 }; 77 cam0 { 78 st,pins = "cam0_grp"; 79 st,function = "cam0"; 80 }; 81 cam1 { 82 st,pins = "cam1_grp"; 83 st,function = "cam1"; 84 }; 85 cam2 { 86 st,pins = "cam2_grp"; 87 st,function = "cam2"; 88 }; 89 cam3 { 90 st,pins = "cam3_grp"; 91 st,function = "cam3"; 92 }; 93 cec0 { 94 st,pins = "cec0_grp"; 95 st,function = "cec0"; 96 }; 97 cec1 { 98 st,pins = "cec1_grp"; 99 st,function = "cec1"; 100 }; 101 sdhci { 102 st,pins = "sdhci_grp"; 103 st,function = "sdhci"; 104 }; 105 clcd { 106 st,pins = "clcd_grp"; 107 st,function = "clcd"; 108 }; 109 sata { 110 st,pins = "sata_grp"; 111 st,function = "sata"; 112 }; 113 pcie { 114 st,pins = "pcie_grp"; 115 st,function = "pcie"; 116 }; 117 118 }; 119 }; 120 121 ahci@b1000000 { 122 status = "okay"; 123 }; 124 125 miphy@eb800000 { 126 status = "okay"; 127 }; 128 129 dma@ea800000 { 130 status = "okay"; 131 }; 132 133 dma@eb000000 { 134 status = "okay"; 135 }; 136 137 fsmc: flash@b0000000 { 138 status = "okay"; 139 140 partition@0 { 141 label = "xloader"; 142 reg = <0x0 0x200000>; 143 }; 144 partition@200000 { 145 label = "u-boot"; 146 reg = <0x200000 0x200000>; 147 }; 148 partition@400000 { 149 label = "environment"; 150 reg = <0x400000 0x100000>; 151 }; 152 partition@500000 { 153 label = "dtb"; 154 reg = <0x500000 0x100000>; 155 }; 156 partition@600000 { 157 label = "linux"; 158 reg = <0x600000 0xC00000>; 159 }; 160 partition@1200000 { 161 label = "rootfs"; 162 reg = <0x1200000 0x0>; 163 }; 164 }; 165 166 gmac0: eth@e2000000 { 167 phy-mode = "rgmii"; 168 status = "okay"; 169 }; 170 171 sdhci@b3000000 { 172 status = "okay"; 173 }; 174 175 smi: flash@ea000000 { 176 status = "okay"; 177 clock-rate=<50000000>; 178 179 flash@e6000000 { 180 #address-cells = <1>; 181 #size-cells = <1>; 182 reg = <0xe6000000 0x800000>; 183 st,smi-fast-mode; 184 185 partition@0 { 186 label = "xloader"; 187 reg = <0x0 0x10000>; 188 }; 189 partition@10000 { 190 label = "u-boot"; 191 reg = <0x10000 0x50000>; 192 }; 193 partition@60000 { 194 label = "environment"; 195 reg = <0x60000 0x10000>; 196 }; 197 partition@70000 { 198 label = "dtb"; 199 reg = <0x70000 0x10000>; 200 }; 201 partition@80000 { 202 label = "linux"; 203 reg = <0x80000 0x310000>; 204 }; 205 partition@390000 { 206 label = "rootfs"; 207 reg = <0x390000 0x0>; 208 }; 209 }; 210 }; 211 212 ehci@e4800000 { 213 status = "okay"; 214 }; 215 216 gpio_keys { 217 compatible = "gpio-keys"; 218 #address-cells = <1>; 219 #size-cells = <0>; 220 221 button@1 { 222 label = "wakeup"; 223 linux,code = <0x100>; 224 gpios = <&gpio1 1 0x4>; 225 debounce-interval = <20>; 226 gpio-key,wakeup = <1>; 227 }; 228 }; 229 230 ehci@e5800000 { 231 status = "okay"; 232 }; 233 234 i2s0: i2s-play@b2400000 { 235 status = "okay"; 236 }; 237 238 i2s1: i2s-rec@b2000000 { 239 status = "okay"; 240 }; 241 242 incodec: dir-hifi { 243 compatible = "dummy,dir-hifi"; 244 status = "okay"; 245 }; 246 247 ohci@e4000000 { 248 status = "okay"; 249 }; 250 251 ohci@e5000000 { 252 status = "okay"; 253 }; 254 255 outcodec: dit-hifi { 256 compatible = "dummy,dit-hifi"; 257 status = "okay"; 258 }; 259 260 sound { 261 compatible = "spear,spear-evb"; 262 audio-controllers = <&spdif0 &spdif1 &i2s0 &i2s1>; 263 audio-codecs = <&incodec &outcodec &sta529 &sta529>; 264 codec_dai_name = "dir-hifi", "dit-hifi", "sta529-audio", "sta529-audio"; 265 stream_name = "spdif-cap", "spdif-play", "i2s-play", "i2s-cap"; 266 dai_name = "spdifin-pcm", "spdifout-pcm", "i2s0-pcm", "i2s1-pcm"; 267 nr_controllers = <4>; 268 status = "okay"; 269 }; 270 271 spdif0: spdif-in@d0100000 { 272 status = "okay"; 273 }; 274 275 spdif1: spdif-out@d0000000 { 276 status = "okay"; 277 }; 278 279 apb { 280 adc@e0080000 { 281 status = "okay"; 282 }; 283 284 i2s-play@b2400000 { 285 status = "okay"; 286 }; 287 288 i2s-rec@b2000000 { 289 status = "okay"; 290 }; 291 292 gpio0: gpio@e0600000 { 293 status = "okay"; 294 }; 295 296 gpio1: gpio@e0680000 { 297 status = "okay"; 298 }; 299 300 gpio@e2800000 { 301 status = "okay"; 302 }; 303 304 i2c0: i2c@e0280000 { 305 status = "okay"; 306 307 sta529: sta529@1a { 308 compatible = "st,sta529"; 309 reg = <0x1a>; 310 }; 311 }; 312 313 i2c1: i2c@b4000000 { 314 status = "okay"; 315 316 eeprom0@56 { 317 compatible = "st,eeprom"; 318 reg = <0x56>; 319 }; 320 321 stmpe801@41 { 322 compatible = "st,stmpe801"; 323 #address-cells = <1>; 324 #size-cells = <0>; 325 reg = <0x41>; 326 interrupts = <4 0x4>; 327 interrupt-parent = <&gpio0>; 328 irq-trigger = <0x2>; 329 330 stmpegpio: stmpe_gpio { 331 compatible = "st,stmpe-gpio"; 332 gpio-controller; 333 #gpio-cells = <2>; 334 }; 335 }; 336 }; 337 338 kbd@e0300000 { 339 linux,keymap = < 0x00000001 340 0x00010002 341 0x00020003 342 0x00030004 343 0x00040005 344 0x00050006 345 0x00060007 346 0x00070008 347 0x00080009 348 0x0100000a 349 0x0101000c 350 0x0102000d 351 0x0103000e 352 0x0104000f 353 0x01050010 354 0x01060011 355 0x01070012 356 0x01080013 357 0x02000014 358 0x02010015 359 0x02020016 360 0x02030017 361 0x02040018 362 0x02050019 363 0x0206001a 364 0x0207001b 365 0x0208001c 366 0x0300001d 367 0x0301001e 368 0x0302001f 369 0x03030020 370 0x03040021 371 0x03050022 372 0x03060023 373 0x03070024 374 0x03080025 375 0x04000026 376 0x04010027 377 0x04020028 378 0x04030029 379 0x0404002a 380 0x0405002b 381 0x0406002c 382 0x0407002d 383 0x0408002e 384 0x0500002f 385 0x05010030 386 0x05020031 387 0x05030032 388 0x05040033 389 0x05050034 390 0x05060035 391 0x05070036 392 0x05080037 393 0x06000038 394 0x06010039 395 0x0602003a 396 0x0603003b 397 0x0604003c 398 0x0605003d 399 0x0606003e 400 0x0607003f 401 0x06080040 402 0x07000041 403 0x07010042 404 0x07020043 405 0x07030044 406 0x07040045 407 0x07050046 408 0x07060047 409 0x07070048 410 0x07080049 411 0x0800004a 412 0x0801004b 413 0x0802004c 414 0x0803004d 415 0x0804004e 416 0x0805004f 417 0x08060050 418 0x08070051 419 0x08080052 >; 420 autorepeat; 421 st,mode = <0>; 422 suspended_rate = <2000000>; 423 status = "okay"; 424 }; 425 426 rtc@e0580000 { 427 status = "okay"; 428 }; 429 430 serial@e0000000 { 431 status = "okay"; 432 pinctrl-names = "default"; 433 pinctrl-0 = <>; 434 }; 435 436 serial@b4100000 { 437 status = "okay"; 438 pinctrl-names = "default"; 439 pinctrl-0 = <>; 440 }; 441 442 spi0: spi@e0100000 { 443 status = "okay"; 444 num-cs = <3>; 445 cs-gpios = <&gpiopinctrl 80 0>, <&gpiopinctrl 24 0>, 446 <&gpiopinctrl 85 0>; 447 448 m25p80@0 { 449 compatible = "m25p80"; 450 reg = <0>; 451 spi-max-frequency = <12000000>; 452 spi-cpol; 453 spi-cpha; 454 pl022,hierarchy = <0>; 455 pl022,interface = <0>; 456 pl022,slave-tx-disable; 457 pl022,com-mode = <0x2>; 458 pl022,rx-level-trig = <0>; 459 pl022,tx-level-trig = <0>; 460 pl022,ctrl-len = <0x11>; 461 pl022,wait-state = <0>; 462 pl022,duplex = <0>; 463 }; 464 465 stmpe610@1 { 466 compatible = "st,stmpe610"; 467 spi-max-frequency = <1000000>; 468 spi-cpha; 469 reg = <1>; 470 pl022,hierarchy = <0>; 471 pl022,interface = <0>; 472 pl022,slave-tx-disable; 473 pl022,com-mode = <0>; 474 pl022,rx-level-trig = <0>; 475 pl022,tx-level-trig = <0>; 476 pl022,ctrl-len = <0x7>; 477 pl022,wait-state = <0>; 478 pl022,duplex = <0>; 479 interrupts = <100 0>; 480 interrupt-parent = <&gpiopinctrl>; 481 irq-trigger = <0x2>; 482 #address-cells = <1>; 483 #size-cells = <0>; 484 485 stmpe_touchscreen { 486 compatible = "st,stmpe-ts"; 487 ts,sample-time = <4>; 488 ts,mod-12b = <1>; 489 ts,ref-sel = <0>; 490 ts,adc-freq = <1>; 491 ts,ave-ctrl = <1>; 492 ts,touch-det-delay = <2>; 493 ts,settling = <2>; 494 ts,fraction-z = <7>; 495 ts,i-drive = <1>; 496 }; 497 }; 498 499 spidev@2 { 500 compatible = "spidev"; 501 reg = <2>; 502 spi-max-frequency = <25000000>; 503 spi-cpha; 504 pl022,hierarchy = <0>; 505 pl022,interface = <0>; 506 pl022,slave-tx-disable; 507 pl022,com-mode = <0x2>; 508 pl022,rx-level-trig = <0>; 509 pl022,tx-level-trig = <0>; 510 pl022,ctrl-len = <0x11>; 511 pl022,wait-state = <0>; 512 pl022,duplex = <0>; 513 }; 514 }; 515 516 timer@ec800600 { 517 status = "okay"; 518 }; 519 520 wdt@ec800620 { 521 status = "okay"; 522 }; 523 }; 524 }; 525}; 526