/*
 * Copyright (C) 2015 STMicroelectronics (R&D) Limited.
 * Author: Maxime Coquelin <maxime.coquelin@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.
 */
/dts-v1/;
#include "stih418.dtsi"
/ {
	model = "STiH418 B2199";
	compatible = "st,stih418-b2199", "st,stih418";

	chosen {
		bootargs = "console=ttyAS0,115200 clk_ignore_unused";
		linux,stdout-path = &sbc_serial0;
	};

	memory {
		device_type = "memory";
		reg = <0x40000000 0xc0000000>;
	};

	aliases {
		ttyAS0 = &sbc_serial0;
	};

	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";
		};

		/* SSC11 to HDMI */
		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>;
		};
	};
};
