/*
 * Copyright 2011 Freescale Semiconductor, Inc.
 * Copyright 2011 Linaro Ltd.
 *
 * 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/ "imx6q.dtsi"

/ {
	model = "Freescale i.MX6 Quad SABRE Lite Board";
	compatible = "fsl,imx6q-sabrelite", "fsl,imx6q";

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

	soc {
		aips-bus@02000000 { /* AIPS1 */
			spba-bus@02000000 {
				ecspi@02008000 { /* eCSPI1 */
					fsl,spi-num-chipselects = <1>;
					cs-gpios = <&gpio3 19 0>;
					status = "okay";

					flash: m25p80@0 {
						compatible = "sst,sst25vf016b";
						spi-max-frequency = <20000000>;
						reg = <0>;
					};
				};

				ssi1: ssi@02028000 {
					fsl,mode = "i2s-slave";
					status = "okay";
				};
			};

		};

		aips-bus@02100000 { /* AIPS2 */
			ethernet@02188000 {
				phy-mode = "rgmii";
				phy-reset-gpios = <&gpio3 23 0>;
				status = "okay";
			};

			usdhc@02198000 { /* uSDHC3 */
				cd-gpios = <&gpio7 0 0>;
				wp-gpios = <&gpio7 1 0>;
				vmmc-supply = <&reg_3p3v>;
				status = "okay";
			};

			usdhc@0219c000 { /* uSDHC4 */
				cd-gpios = <&gpio2 6 0>;
				wp-gpios = <&gpio2 7 0>;
				vmmc-supply = <&reg_3p3v>;
				status = "okay";
			};

			audmux@021d8000 {
				status = "okay";
			};

			uart2: serial@021e8000 {
				status = "okay";
			};

			i2c@021a0000 { /* I2C1 */
				status = "okay";
				clock-frequency = <100000>;

				codec: sgtl5000@0a {
					compatible = "fsl,sgtl5000";
					reg = <0x0a>;
					VDDA-supply = <&reg_2p5v>;
					VDDIO-supply = <&reg_3p3v>;
				};
			};
		};
	};

	regulators {
		compatible = "simple-bus";

		reg_2p5v: 2p5v {
			compatible = "regulator-fixed";
			regulator-name = "2P5V";
			regulator-min-microvolt = <2500000>;
			regulator-max-microvolt = <2500000>;
			regulator-always-on;
		};

		reg_3p3v: 3p3v {
			compatible = "regulator-fixed";
			regulator-name = "3P3V";
			regulator-min-microvolt = <3300000>;
			regulator-max-microvolt = <3300000>;
			regulator-always-on;
		};
	};
};
