/*
 * Copyright (C) 2014 STMicroelectronics (R&D) Limited.
 * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
 *
 * 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.
 */
/ {
	soc {
		sbc_serial0: serial@9530000 {
			status = "okay";
		};

		leds {
			compatible = "gpio-leds";
			red {
				#gpio-cells = <2>;
				label = "Front Panel LED";
				gpios = <&pio4 1 0>;
				linux,default-trigger = "heartbeat";
			};
			green {
				#gpio-cells = <2>;
				gpios = <&pio1 3 0>;
				default-state = "off";
			};
		};

		i2c@9842000 {
			status = "okay";
		};

		i2c@9843000 {
			status = "okay";
		};

		i2c@9844000 {
			status = "okay";
		};

		i2c@9845000 {
			status = "okay";
		};

		i2c@9540000 {
			status = "okay";
		};

		mmc0: sdhci@09060000 {
			status = "okay";
		};

		mmc1: sdhci@09080000 {
			status = "okay";
		};

		/* SSC11 to HDMI */
		hdmiddc: i2c@9541000 {
			status = "okay";
			/* HDMI V1.3a supports Standard mode only */
			clock-frequency = <100000>;
			st,i2c-min-scl-pulse-width-us = <0>;
			st,i2c-min-sda-pulse-width-us = <5>;
		};

		miphy28lp_phy: miphy28lp@9b22000 {

			phy_port0: port@9b22000 {
				st,osc-rdy;
			};

			phy_port1: port@9b2a000 {
				st,osc-force-ext;
			};
		};
	};
};
