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