/*
 * Copyright 2013 Maxime Ripard
 *
 * Maxime Ripard <maxime.ripard@free-electrons.com>
 *
 * 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/ "sun5i-a10s.dtsi"

/ {
	model = "Olimex A10s-Olinuxino Micro";
	compatible = "olimex,a10s-olinuxino-micro", "allwinner,sun5i-a10s";

	soc@01c00000 {
		emac: ethernet@01c0b000 {
			pinctrl-names = "default";
			pinctrl-0 = <&emac_pins_a>;
			phy = <&phy1>;
			status = "okay";
		};

		mdio@01c0b080 {
			status = "okay";

			phy1: ethernet-phy@1 {
				reg = <1>;
			};
		};

		pinctrl@01c20800 {
			led_pins_olinuxino: led_pins@0 {
				allwinner,pins = "PE3";
				allwinner,function = "gpio_out";
				allwinner,drive = <1>;
				allwinner,pull = <0>;
			};
		};

		uart0: serial@01c28000 {
			pinctrl-names = "default";
			pinctrl-0 = <&uart0_pins_a>;
			status = "okay";
		};

		uart2: serial@01c28800 {
			pinctrl-names = "default";
			pinctrl-0 = <&uart2_pins_a>;
			status = "okay";
		};

		uart3: serial@01c28c00 {
			pinctrl-names = "default";
			pinctrl-0 = <&uart3_pins_a>;
			status = "okay";
		};

		i2c0: i2c@01c2ac00 {
			pinctrl-names = "default";
			pinctrl-0 = <&i2c0_pins_a>;
			status = "okay";
		};

		i2c1: i2c@01c2b000 {
			pinctrl-names = "default";
			pinctrl-0 = <&i2c1_pins_a>;
			status = "okay";

			at24@50 {
				compatible = "at,24c16";
				pagesize = <16>;
				reg = <0x50>;
				read-only;
			};
		};

		i2c2: i2c@01c2b400 {
			pinctrl-names = "default";
			pinctrl-0 = <&i2c2_pins_a>;
			status = "okay";
		};
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-names = "default";
		pinctrl-0 = <&led_pins_olinuxino>;

		green {
			label = "a10s-olinuxino-micro:green:usr";
			gpios = <&pio 4 3 0>;
			default-state = "on";
		};
	};
};
