/*
 * DTS file for AMD Seattle Overdrive Development Board
 * Note: For Seattle Rev.B0
 *
 * Copyright (C) 2015 Advanced Micro Devices, Inc.
 */

/dts-v1/;

/include/ "amd-seattle-soc.dtsi"

/ {
	model = "AMD Seattle (Rev.B0) Development Board (Overdrive)";
	compatible = "amd,seattle-overdrive", "amd,seattle";

	chosen {
		stdout-path = &serial0;
	};

	psci {
		compatible   = "arm,psci-0.2";
		method       = "smc";
	};
};

&ccp0 {
	status = "ok";
	amd,zlib-support = <1>;
};

/**
 * NOTE: In Rev.B, gpio0 is reserved.
 */
&gpio1 {
	status = "ok";
};

&gpio2 {
	status = "ok";
};

&gpio3 {
	status = "ok";
};

&gpio4 {
	status = "ok";
};

&i2c0 {
	status = "ok";
};

&i2c1 {
	status = "ok";
};

&pcie0 {
	status = "ok";
};

&spi0 {
	status = "ok";
};

&spi1 {
	status = "ok";
	sdcard0: sdcard@0 {
		compatible = "mmc-spi-slot";
		reg = <0>;
		spi-max-frequency = <20000000>;
		voltage-ranges = <3200 3400>;
		pl022,hierarchy = <0>;
		pl022,interface = <0>;
		pl022,com-mode = <0x0>;
		pl022,rx-level-trig = <0>;
		pl022,tx-level-trig = <0>;
	};
};

&ipmi_kcs {
	status = "ok";
};

&smb0 {
	/include/ "amd-seattle-xgbe-b.dtsi"
};
