/*
 * Copyright 2014 Texas Instruments, Inc.
 *
 * Keystone 2 Galileo EVM device tree
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */
/dts-v1/;

#include "k2g.dtsi"

/ {
	compatible =  "ti,k2g-evm","ti,keystone";
	model = "Texas Instruments Keystone 2 Galileo EVM";

	chosen {
		stdout-path = &uart0;
	};
};

&mdio {
	status = "okay";
	ethphy0: ethernet-phy@0 {
		reg = <0>;
		phy-mode = "rgmii-id";
	};
};

&gbe0 {
	phy-handle = <&ethphy0>;
};

&spi1 {
	status = "okay";

	spi_nor: flash@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "spi-flash";
		spi-max-frequency = <50000000>;
		m25p,fast-read;
		reg = <0>;

		partition@0 {
			label = "u-boot-spl";
			reg = <0x0 0x80000>;
			read-only;
		};

		partition@1 {
			label = "misc";
			reg = <0x80000 0xf80000>;
		};
	};
};

&qspi {
	status = "okay";

        flash0: m25p80@0 {
                compatible = "s25fl512s","spi-flash";
                reg = <0>;
                spi-tx-bus-width = <1>;
                spi-rx-bus-width = <4>;
                spi-max-frequency = <96000000>;
                #address-cells = <1>;
                #size-cells = <1>;
                tshsl-ns = <392>;
                tsd2d-ns = <392>;
                tchsh-ns = <100>;
                tslch-ns = <100>;
		block-size = <18>;


                partition@0 {
                        label = "QSPI.u-boot-spl-os";
                        reg = <0x00000000 0x00100000>;
                };
                partition@1 {
                        label = "QSPI.u-boot-env";
                        reg = <0x00100000 0x00040000>;
                };
                partition@2 {
                        label = "QSPI.skern";
                        reg = <0x00140000 0x0040000>;
                };
                partition@3 {
                        label = "QSPI.pmmc-firmware";
                        reg = <0x00180000 0x0040000>;
                };
                partition@4 {
                        label = "QSPI.kernel";
                        reg = <0x001C0000 0x0800000>;
                };
                partition@5 {
                        label = "QSPI.file-system";
                        reg = <0x009C0000 0x3640000>;
                };
        };
};
