0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * DTS file for SPEAr1340 Evaluation Baord
0004 *
0005 * Copyright 2012 Viresh Kumar <vireshk@kernel.org>
0006 */
0007
0008 /dts-v1/;
0009 /include/ "spear1340.dtsi"
0010
0011 / {
0012 model = "ST SPEAr1340 Evaluation Board";
0013 compatible = "st,spear1340-evb", "st,spear1340";
0014 #address-cells = <1>;
0015 #size-cells = <1>;
0016
0017 memory {
0018 reg = <0 0x40000000>;
0019 };
0020
0021 ahb {
0022 pinmux@e0700000 {
0023 pinctrl-names = "default";
0024 pinctrl-0 = <&state_default>;
0025
0026 state_default: pinmux {
0027 pads_as_gpio {
0028 st,pins = "pads_as_gpio_grp";
0029 st,function = "pads_as_gpio";
0030 };
0031 fsmc {
0032 st,pins = "fsmc_8bit_grp";
0033 st,function = "fsmc";
0034 };
0035 uart0 {
0036 st,pins = "uart0_grp";
0037 st,function = "uart0";
0038 };
0039 i2c0 {
0040 st,pins = "i2c0_grp";
0041 st,function = "i2c0";
0042 };
0043 i2c1 {
0044 st,pins = "i2c1_grp";
0045 st,function = "i2c1";
0046 };
0047 spdif-in {
0048 st,pins = "spdif_in_grp";
0049 st,function = "spdif_in";
0050 };
0051 spdif-out {
0052 st,pins = "spdif_out_grp";
0053 st,function = "spdif_out";
0054 };
0055 ssp0 {
0056 st,pins = "ssp0_grp", "ssp0_cs1_grp", "ssp0_cs2_grp", "ssp0_cs3_grp";
0057 st,function = "ssp0";
0058 };
0059 smi-pmx {
0060 st,pins = "smi_grp";
0061 st,function = "smi";
0062 };
0063 i2s {
0064 st,pins = "i2s_in_grp", "i2s_out_grp";
0065 st,function = "i2s";
0066 };
0067 gmac {
0068 st,pins = "gmii_grp", "rgmii_grp";
0069 st,function = "gmac";
0070 };
0071 cam0 {
0072 st,pins = "cam0_grp";
0073 st,function = "cam0";
0074 };
0075 cam1 {
0076 st,pins = "cam1_grp";
0077 st,function = "cam1";
0078 };
0079 cam2 {
0080 st,pins = "cam2_grp";
0081 st,function = "cam2";
0082 };
0083 cam3 {
0084 st,pins = "cam3_grp";
0085 st,function = "cam3";
0086 };
0087 cec0 {
0088 st,pins = "cec0_grp";
0089 st,function = "cec0";
0090 };
0091 cec1 {
0092 st,pins = "cec1_grp";
0093 st,function = "cec1";
0094 };
0095 sdhci {
0096 st,pins = "sdhci_grp";
0097 st,function = "sdhci";
0098 };
0099 clcd {
0100 st,pins = "clcd_grp";
0101 st,function = "clcd";
0102 };
0103 sata {
0104 st,pins = "sata_grp";
0105 st,function = "sata";
0106 };
0107 pcie {
0108 st,pins = "pcie_grp";
0109 st,function = "pcie";
0110 };
0111
0112 };
0113 };
0114
0115 ahci@b1000000 {
0116 status = "okay";
0117 };
0118
0119 miphy@eb800000 {
0120 status = "okay";
0121 };
0122
0123 dma@ea800000 {
0124 status = "okay";
0125 };
0126
0127 dma@eb000000 {
0128 status = "okay";
0129 };
0130
0131 fsmc: flash@b0000000 {
0132 status = "okay";
0133
0134 partition@0 {
0135 label = "xloader";
0136 reg = <0x0 0x200000>;
0137 };
0138 partition@200000 {
0139 label = "u-boot";
0140 reg = <0x200000 0x200000>;
0141 };
0142 partition@400000 {
0143 label = "environment";
0144 reg = <0x400000 0x100000>;
0145 };
0146 partition@500000 {
0147 label = "dtb";
0148 reg = <0x500000 0x100000>;
0149 };
0150 partition@600000 {
0151 label = "linux";
0152 reg = <0x600000 0xC00000>;
0153 };
0154 partition@1200000 {
0155 label = "rootfs";
0156 reg = <0x1200000 0x0>;
0157 };
0158 };
0159
0160 gmac0: eth@e2000000 {
0161 phy-mode = "rgmii";
0162 status = "okay";
0163 };
0164
0165 sdhci@b3000000 {
0166 status = "okay";
0167 };
0168
0169 smi: flash@ea000000 {
0170 status = "okay";
0171 clock-rate = <50000000>;
0172
0173 flash@e6000000 {
0174 #address-cells = <1>;
0175 #size-cells = <1>;
0176 reg = <0xe6000000 0x800000>;
0177 st,smi-fast-mode;
0178
0179 partition@0 {
0180 label = "xloader";
0181 reg = <0x0 0x10000>;
0182 };
0183 partition@10000 {
0184 label = "u-boot";
0185 reg = <0x10000 0x50000>;
0186 };
0187 partition@60000 {
0188 label = "environment";
0189 reg = <0x60000 0x10000>;
0190 };
0191 partition@70000 {
0192 label = "dtb";
0193 reg = <0x70000 0x10000>;
0194 };
0195 partition@80000 {
0196 label = "linux";
0197 reg = <0x80000 0x310000>;
0198 };
0199 partition@390000 {
0200 label = "rootfs";
0201 reg = <0x390000 0x0>;
0202 };
0203 };
0204 };
0205
0206 ehci@e4800000 {
0207 status = "okay";
0208 };
0209
0210 gpio_keys {
0211 compatible = "gpio-keys";
0212 #address-cells = <1>;
0213 #size-cells = <0>;
0214
0215 button@1 {
0216 label = "wakeup";
0217 linux,code = <0x100>;
0218 gpios = <&gpio1 1 0x4>;
0219 debounce-interval = <20>;
0220 wakeup-source;
0221 };
0222 };
0223
0224 ehci@e5800000 {
0225 status = "okay";
0226 };
0227
0228 i2s0: i2s-play@b2400000 {
0229 status = "okay";
0230 };
0231
0232 i2s1: i2s-rec@b2000000 {
0233 status = "okay";
0234 };
0235
0236 incodec: dir-hifi {
0237 compatible = "dummy,dir-hifi";
0238 status = "okay";
0239 };
0240
0241 ohci@e4000000 {
0242 status = "okay";
0243 };
0244
0245 ohci@e5000000 {
0246 status = "okay";
0247 };
0248
0249 outcodec: dit-hifi {
0250 compatible = "dummy,dit-hifi";
0251 status = "okay";
0252 };
0253
0254 sound {
0255 compatible = "spear,spear-evb";
0256 audio-controllers = <&spdif0 &spdif1 &i2s0 &i2s1>;
0257 audio-codecs = <&incodec &outcodec &sta529 &sta529>;
0258 codec_dai_name = "dir-hifi", "dit-hifi", "sta529-audio", "sta529-audio";
0259 stream_name = "spdif-cap", "spdif-play", "i2s-play", "i2s-cap";
0260 dai_name = "spdifin-pcm", "spdifout-pcm", "i2s0-pcm", "i2s1-pcm";
0261 nr_controllers = <4>;
0262 status = "okay";
0263 };
0264
0265 spdif0: spdif-in@d0100000 {
0266 status = "okay";
0267 };
0268
0269 spdif1: spdif-out@d0000000 {
0270 status = "okay";
0271 };
0272
0273 apb {
0274 adc@e0080000 {
0275 status = "okay";
0276 };
0277
0278 i2s-play@b2400000 {
0279 status = "okay";
0280 };
0281
0282 i2s-rec@b2000000 {
0283 status = "okay";
0284 };
0285
0286 gpio0: gpio@e0600000 {
0287 status = "okay";
0288 };
0289
0290 gpio1: gpio@e0680000 {
0291 status = "okay";
0292 };
0293
0294 gpio@e2800000 {
0295 status = "okay";
0296 };
0297
0298 i2c0: i2c@e0280000 {
0299 status = "okay";
0300
0301 sta529: sta529@1a {
0302 compatible = "st,sta529";
0303 reg = <0x1a>;
0304 };
0305 };
0306
0307 i2c1: i2c@b4000000 {
0308 status = "okay";
0309
0310 eeprom0@56 {
0311 compatible = "st,eeprom";
0312 reg = <0x56>;
0313 };
0314
0315 stmpe801@41 {
0316 compatible = "st,stmpe801";
0317 #address-cells = <1>;
0318 #size-cells = <0>;
0319 reg = <0x41>;
0320 interrupts = <4 0x4>;
0321 interrupt-parent = <&gpio0>;
0322 irq-trigger = <0x2>;
0323
0324 stmpegpio: stmpe_gpio {
0325 compatible = "st,stmpe-gpio";
0326 gpio-controller;
0327 #gpio-cells = <2>;
0328 };
0329 };
0330 };
0331
0332 kbd@e0300000 {
0333 linux,keymap = < 0x00000001
0334 0x00010002
0335 0x00020003
0336 0x00030004
0337 0x00040005
0338 0x00050006
0339 0x00060007
0340 0x00070008
0341 0x00080009
0342 0x0100000a
0343 0x0101000c
0344 0x0102000d
0345 0x0103000e
0346 0x0104000f
0347 0x01050010
0348 0x01060011
0349 0x01070012
0350 0x01080013
0351 0x02000014
0352 0x02010015
0353 0x02020016
0354 0x02030017
0355 0x02040018
0356 0x02050019
0357 0x0206001a
0358 0x0207001b
0359 0x0208001c
0360 0x0300001d
0361 0x0301001e
0362 0x0302001f
0363 0x03030020
0364 0x03040021
0365 0x03050022
0366 0x03060023
0367 0x03070024
0368 0x03080025
0369 0x04000026
0370 0x04010027
0371 0x04020028
0372 0x04030029
0373 0x0404002a
0374 0x0405002b
0375 0x0406002c
0376 0x0407002d
0377 0x0408002e
0378 0x0500002f
0379 0x05010030
0380 0x05020031
0381 0x05030032
0382 0x05040033
0383 0x05050034
0384 0x05060035
0385 0x05070036
0386 0x05080037
0387 0x06000038
0388 0x06010039
0389 0x0602003a
0390 0x0603003b
0391 0x0604003c
0392 0x0605003d
0393 0x0606003e
0394 0x0607003f
0395 0x06080040
0396 0x07000041
0397 0x07010042
0398 0x07020043
0399 0x07030044
0400 0x07040045
0401 0x07050046
0402 0x07060047
0403 0x07070048
0404 0x07080049
0405 0x0800004a
0406 0x0801004b
0407 0x0802004c
0408 0x0803004d
0409 0x0804004e
0410 0x0805004f
0411 0x08060050
0412 0x08070051
0413 0x08080052 >;
0414 autorepeat;
0415 st,mode = <0>;
0416 suspended_rate = <2000000>;
0417 status = "okay";
0418 };
0419
0420 rtc@e0580000 {
0421 status = "okay";
0422 };
0423
0424 serial@e0000000 {
0425 status = "okay";
0426 pinctrl-names = "default";
0427 pinctrl-0 = <>;
0428 };
0429
0430 serial@b4100000 {
0431 status = "okay";
0432 pinctrl-names = "default";
0433 pinctrl-0 = <>;
0434 };
0435
0436 spi0: spi@e0100000 {
0437 status = "okay";
0438 num-cs = <3>;
0439 cs-gpios = <&gpiopinctrl 80 0>, <&gpiopinctrl 24 0>,
0440 <&gpiopinctrl 85 0>;
0441
0442 flash@0 {
0443 compatible = "m25p80";
0444 reg = <0>;
0445 spi-max-frequency = <12000000>;
0446 spi-cpol;
0447 spi-cpha;
0448 pl022,hierarchy = <0>;
0449 pl022,interface = <0>;
0450 pl022,slave-tx-disable;
0451 pl022,com-mode = <0x2>;
0452 pl022,rx-level-trig = <0>;
0453 pl022,tx-level-trig = <0>;
0454 pl022,ctrl-len = <0x11>;
0455 pl022,wait-state = <0>;
0456 pl022,duplex = <0>;
0457 };
0458
0459 stmpe610@1 {
0460 compatible = "st,stmpe610";
0461 spi-max-frequency = <1000000>;
0462 spi-cpha;
0463 reg = <1>;
0464 pl022,hierarchy = <0>;
0465 pl022,interface = <0>;
0466 pl022,slave-tx-disable;
0467 pl022,com-mode = <0>;
0468 pl022,rx-level-trig = <0>;
0469 pl022,tx-level-trig = <0>;
0470 pl022,ctrl-len = <0x7>;
0471 pl022,wait-state = <0>;
0472 pl022,duplex = <0>;
0473 interrupts = <100 0>;
0474 interrupt-parent = <&gpiopinctrl>;
0475 irq-trigger = <0x2>;
0476 #address-cells = <1>;
0477 #size-cells = <0>;
0478
0479 stmpe_touchscreen {
0480 compatible = "st,stmpe-ts";
0481 ts,sample-time = <4>;
0482 ts,mod-12b = <1>;
0483 ts,ref-sel = <0>;
0484 ts,adc-freq = <1>;
0485 ts,ave-ctrl = <1>;
0486 ts,touch-det-delay = <2>;
0487 ts,settling = <2>;
0488 ts,fraction-z = <7>;
0489 ts,i-drive = <1>;
0490 };
0491 };
0492 };
0493
0494 timer@ec800600 {
0495 status = "okay";
0496 };
0497
0498 wdt@ec800620 {
0499 status = "okay";
0500 };
0501 };
0502 };
0503 };