/*
 * Copyright 2012 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/ "sun4i-a10.dtsi"
/include/ "sunxi-common-regulators.dtsi"

/ {
	model = "Miniand Hackberry";
	compatible = "miniand,hackberry", "allwinner,sun4i-a10";

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

		mdio@01c0b080 {
			phy-supply = <&reg_emac_3v3>;
			status = "okay";

			phy0: ethernet-phy@0 {
				reg = <0>;
			};
		};

		usbphy: phy@01c13400 {
			usb1_vbus-supply = <&reg_usb1_vbus>;
			usb2_vbus-supply = <&reg_usb2_vbus>;
			status = "okay";
		};

		ehci0: usb@01c14000 {
			status = "okay";
		};

		ohci0: usb@01c14400 {
			status = "okay";
		};

		ehci1: usb@01c1c000 {
			status = "okay";
		};

		ohci1: usb@01c1c400 {
			status = "okay";
		};

		pio: pinctrl@01c20800 {
			pinctrl-names = "default";
			pinctrl-0 = <&hackberry_hogs>;

			hackberry_hogs: hogs@0 {
				allwinner,pins = "PH19";
				allwinner,function = "gpio_out";
				allwinner,drive = <0>;
				allwinner,pull = <0>;
			};

			usb2_vbus_pin_hackberry: usb2_vbus_pin@0 {
					allwinner,pins = "PH12";
					allwinner,function = "gpio_out";
					allwinner,drive = <0>;
					allwinner,pull = <0>;
			};
		};

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

	reg_emac_3v3: emac-3v3 {
		compatible = "regulator-fixed";
		regulator-name = "emac-3v3";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		enable-active-high;
		gpio = <&pio 7 19 0>;
	};

	reg_usb1_vbus: usb1-vbus {
		status = "okay";
	};

	reg_usb2_vbus: usb2-vbus {
		pinctrl-0 = <&usb2_vbus_pin_hackberry>;
		gpio = <&pio 7 12 0>;
		status = "okay";
	};
};
