/*
 * DTS file for SPEAr1340 Evaluation Baord
 *
 * Copyright 2012 Viresh Kumar <viresh.linux@gmail.com>
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

/dts-v1/;
/include/ "spear1340.dtsi"

/ {
	model = "ST SPEAr1340 Evaluation Board";
	compatible = "st,spear1340-evb", "st,spear1340";
	#address-cells = <1>;
	#size-cells = <1>;

	memory {
		reg = <0 0x40000000>;
	};

	ahb {
		pinmux@e0700000 {
			pinctrl-names = "default";
			pinctrl-0 = <&state_default>;

			state_default: pinmux {
				pads_as_gpio {
					st,pins = "pads_as_gpio_grp";
					st,function = "pads_as_gpio";
				};
				fsmc {
					st,pins = "fsmc_8bit_grp";
					st,function = "fsmc";
				};
				uart0 {
					st,pins = "uart0_grp";
					st,function = "uart0";
				};
				i2c0 {
					st,pins = "i2c0_grp";
					st,function = "i2c0";
				};
				i2c1 {
					st,pins = "i2c1_grp";
					st,function = "i2c1";
				};
				spdif-in {
					st,pins = "spdif_in_grp";
					st,function = "spdif_in";
				};
				spdif-out {
					st,pins = "spdif_out_grp";
					st,function = "spdif_out";
				};
				ssp0 {
					st,pins = "ssp0_grp", "ssp0_cs1_grp", "ssp0_cs2_grp", "ssp0_cs3_grp";
					st,function = "ssp0";
				};
				smi-pmx {
					st,pins = "smi_grp";
					st,function = "smi";
				};
				i2s {
					st,pins = "i2s_in_grp", "i2s_out_grp";
					st,function = "i2s";
				};
				gmac {
					st,pins = "gmii_grp", "rgmii_grp";
					st,function = "gmac";
				};
				cam0 {
					st,pins = "cam0_grp";
					st,function = "cam0";
				};
				cam1 {
					st,pins = "cam1_grp";
					st,function = "cam1";
				};
				cam2 {
					st,pins = "cam2_grp";
					st,function = "cam2";
				};
				cam3 {
					st,pins = "cam3_grp";
					st,function = "cam3";
				};
				cec0 {
					st,pins = "cec0_grp";
					st,function = "cec0";
				};
				cec1 {
					st,pins = "cec1_grp";
					st,function = "cec1";
				};
				sdhci {
					st,pins = "sdhci_grp";
					st,function = "sdhci";
				};
				clcd {
					st,pins = "clcd_grp";
					st,function = "clcd";
				};
				sata {
					st,pins = "sata_grp";
					st,function = "sata";
				};
				pcie {
					st,pins = "pcie_grp";
					st,function = "pcie";
				};

			};
		};

		ahci@b1000000 {
			status = "okay";
		};

		dma@ea800000 {
			status = "okay";
		};

		dma@eb000000 {
			status = "okay";
		};

		fsmc: flash@b0000000 {
			status = "okay";

			partition@0 {
				label = "xloader";
				reg = <0x0 0x200000>;
			};
			partition@200000 {
				label = "u-boot";
				reg = <0x200000 0x200000>;
			};
			partition@400000 {
				label = "environment";
				reg = <0x400000 0x100000>;
			};
			partition@500000 {
				label = "dtb";
				reg = <0x500000 0x100000>;
			};
			partition@600000 {
				label = "linux";
				reg = <0x600000 0xC00000>;
			};
			partition@1200000 {
				label = "rootfs";
				reg = <0x1200000 0x0>;
			};
		};

		gmac0: eth@e2000000 {
			phy-mode = "rgmii";
			status = "okay";
		};

		sdhci@b3000000 {
			status = "okay";
		};

		smi: flash@ea000000 {
			status = "okay";
			clock-rate=<50000000>;

			flash@e6000000 {
				#address-cells = <1>;
				#size-cells = <1>;
				reg = <0xe6000000 0x800000>;
				st,smi-fast-mode;

				partition@0 {
					label = "xloader";
					reg = <0x0 0x10000>;
				};
				partition@10000 {
					label = "u-boot";
					reg = <0x10000 0x50000>;
				};
				partition@60000 {
					label = "environment";
					reg = <0x60000 0x10000>;
				};
				partition@70000 {
					label = "dtb";
					reg = <0x70000 0x10000>;
				};
				partition@80000 {
					label = "linux";
					reg = <0x80000 0x310000>;
				};
				partition@390000 {
					label = "rootfs";
					reg = <0x390000 0x0>;
				};
			};
		};

		ehci@e4800000 {
			status = "okay";
		};

		gpio_keys {
			compatible = "gpio-keys";
			#address-cells = <1>;
			#size-cells = <0>;

			button@1 {
				label = "wakeup";
				linux,code = <0x100>;
				gpios = <&gpio1 1 0x4>;
				debounce-interval = <20>;
				gpio-key,wakeup = <1>;
			};
		};

		ehci@e5800000 {
			status = "okay";
		};

		i2s0: i2s-play@b2400000 {
			status = "okay";
		};

		i2s1: i2s-rec@b2000000 {
			status = "okay";
		};

		incodec: dir-hifi {
			compatible = "dummy,dir-hifi";
			status = "okay";
		};

		ohci@e4000000 {
			status = "okay";
		};

		ohci@e5000000 {
			status = "okay";
		};

		outcodec: dit-hifi {
			compatible = "dummy,dit-hifi";
			status = "okay";
		};

		sound {
			compatible = "spear,spear-evb";
			audio-controllers = <&spdif0 &spdif1 &i2s0 &i2s1>;
			audio-codecs = <&incodec &outcodec &sta529 &sta529>;
			codec_dai_name = "dir-hifi", "dit-hifi", "sta529-audio", "sta529-audio";
			stream_name = "spdif-cap", "spdif-play", "i2s-play", "i2s-cap";
			dai_name = "spdifin-pcm", "spdifout-pcm", "i2s0-pcm", "i2s1-pcm";
			nr_controllers = <4>;
		        status = "okay";
		};

		spdif0: spdif-in@d0100000 {
			status = "okay";
		};

		spdif1: spdif-out@d0000000 {
			status = "okay";
		};

		apb {
			adc@e0080000 {
				status = "okay";
			};

			i2s-play@b2400000 {
				status = "okay";
			};

			i2s-rec@b2000000 {
				status = "okay";
			};

			gpio0: gpio@e0600000 {
			       status = "okay";
			};

			gpio1: gpio@e0680000 {
			       status = "okay";
			};

			gpio@e2800000 {
			       status = "okay";
			};

			i2c0: i2c@e0280000 {
			       status = "okay";

				sta529: sta529@1a {
					compatible = "st,sta529";
					reg = <0x1a>;
				};
			};

			i2c1: i2c@b4000000 {
			       status = "okay";

				eeprom0@56 {
					compatible = "st,eeprom";
					reg = <0x56>;
				};

				stmpe801@41 {
					compatible = "st,stmpe801";
					#address-cells = <1>;
					#size-cells = <0>;
					reg = <0x41>;
					interrupts = <4 0x4>;
					interrupt-parent = <&gpio0>;
					irq-trigger = <0x2>;

					stmpegpio: stmpe_gpio {
						compatible = "st,stmpe-gpio";
						gpio-controller;
						#gpio-cells = <2>;
					};
				};
			};

			kbd@e0300000 {
				linux,keymap = < 0x00000001
						 0x00010002
						 0x00020003
						 0x00030004
						 0x00040005
						 0x00050006
						 0x00060007
						 0x00070008
						 0x00080009
						 0x0100000a
						 0x0101000c
						 0x0102000d
						 0x0103000e
						 0x0104000f
						 0x01050010
						 0x01060011
						 0x01070012
						 0x01080013
						 0x02000014
						 0x02010015
						 0x02020016
						 0x02030017
						 0x02040018
						 0x02050019
						 0x0206001a
						 0x0207001b
						 0x0208001c
						 0x0300001d
						 0x0301001e
						 0x0302001f
						 0x03030020
						 0x03040021
						 0x03050022
						 0x03060023
						 0x03070024
						 0x03080025
						 0x04000026
						 0x04010027
						 0x04020028
						 0x04030029
						 0x0404002a
						 0x0405002b
						 0x0406002c
						 0x0407002d
						 0x0408002e
						 0x0500002f
						 0x05010030
						 0x05020031
						 0x05030032
						 0x05040033
						 0x05050034
						 0x05060035
						 0x05070036
						 0x05080037
						 0x06000038
						 0x06010039
						 0x0602003a
						 0x0603003b
						 0x0604003c
						 0x0605003d
						 0x0606003e
						 0x0607003f
						 0x06080040
						 0x07000041
						 0x07010042
						 0x07020043
						 0x07030044
						 0x07040045
						 0x07050046
						 0x07060047
						 0x07070048
						 0x07080049
						 0x0800004a
						 0x0801004b
						 0x0802004c
						 0x0803004d
						 0x0804004e
						 0x0805004f
						 0x08060050
						 0x08070051
						 0x08080052 >;
			       autorepeat;
			       st,mode = <0>;
			       suspended_rate = <2000000>;
			       status = "okay";
			};

			rtc@e0580000 {
			       status = "okay";
			};

			serial@e0000000 {
			       status = "okay";
				pinctrl-names = "default";
				pinctrl-0 = <>;
			};

			serial@b4100000 {
			       status = "okay";
				pinctrl-names = "default";
				pinctrl-0 = <>;
			};

			spi0: spi@e0100000 {
				status = "okay";
				num-cs = <3>;
				cs-gpios = <&gpiopinctrl 80 0>, <&gpiopinctrl 24 0>,
					   <&gpiopinctrl 85 0>;

				m25p80@0 {
					compatible = "m25p80";
					reg = <0>;
					spi-max-frequency = <12000000>;
					spi-cpol;
					spi-cpha;
					pl022,hierarchy = <0>;
					pl022,interface = <0>;
					pl022,slave-tx-disable;
					pl022,com-mode = <0x2>;
					pl022,rx-level-trig = <0>;
					pl022,tx-level-trig = <0>;
					pl022,ctrl-len = <0x11>;
					pl022,wait-state = <0>;
					pl022,duplex = <0>;
				};

				stmpe610@1 {
					compatible = "st,stmpe610";
					spi-max-frequency = <1000000>;
					spi-cpha;
					reg = <1>;
					pl022,hierarchy = <0>;
					pl022,interface = <0>;
					pl022,slave-tx-disable;
					pl022,com-mode = <0>;
					pl022,rx-level-trig = <0>;
					pl022,tx-level-trig = <0>;
					pl022,ctrl-len = <0x7>;
					pl022,wait-state = <0>;
					pl022,duplex = <0>;
					interrupts = <100 0>;
					interrupt-parent = <&gpiopinctrl>;
					irq-trigger = <0x2>;
					#address-cells = <1>;
					#size-cells = <0>;

					stmpe_touchscreen {
						compatible = "st,stmpe-ts";
						ts,sample-time = <4>;
						ts,mod-12b = <1>;
						ts,ref-sel = <0>;
						ts,adc-freq = <1>;
						ts,ave-ctrl = <1>;
						ts,touch-det-delay = <2>;
						ts,settling = <2>;
						ts,fraction-z = <7>;
						ts,i-drive = <1>;
					};
				};

				spidev@2 {
					compatible = "spidev";
					reg = <2>;
					spi-max-frequency = <25000000>;
					spi-cpha;
					pl022,hierarchy = <0>;
					pl022,interface = <0>;
					pl022,slave-tx-disable;
					pl022,com-mode = <0x2>;
					pl022,rx-level-trig = <0>;
					pl022,tx-level-trig = <0>;
					pl022,ctrl-len = <0x11>;
					pl022,wait-state = <0>;
					pl022,duplex = <0>;
				};
			};

			timer@ec800600 {
				status = "okay";
			};

			wdt@ec800620 {
			       status = "okay";
			};
		};
	};
};
