Home | History | Annotate | Line # | Download | only in dts
spear1340-evb.dts revision 1.1.1.1
      1 /*
      2  * DTS file for SPEAr1340 Evaluation Baord
      3  *
      4  * Copyright 2012 Viresh Kumar <vireshk (at) kernel.org>
      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 				wakeup-source;
    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