/*
 * Device Tree Source for UniPhier PH1-Pro4 Reference Board
 *
 * Copyright (C) 2014-2015 Panasonic Corporation
 *   Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
 *
 * SPDX-License-Identifier:	GPL-2.0+
 */

/dts-v1/;
/include/ "uniphier-ph1-pro4.dtsi"
/include/ "uniphier-ref-daughter.dtsi"

/ {
	model = "Panasonic UniPhier PH1-Pro4 Reference Board";
	compatible = "panasonic,ph1-pro4-ref", "panasonic,ph1-pro4";

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

	chosen {
		bootargs = "console=ttyPS0,115200 earlyprintk";
		stdout-path = &uart0;
	};

	aliases {
		serial0 = &uart0;
		serial1 = &uart1;
		serial2 = &uart2;
		serial3 = &uart3;
		i2c0 = &i2c0;
		i2c1 = &i2c1;
		i2c2 = &i2c2;
		i2c3 = &i2c3;
		i2c5 = &i2c5;
		i2c6 = &i2c6;
	};
};

&uart0 {
	status = "okay";
};

&uart1 {
	status = "okay";
};

&i2c0 {
	status = "okay";
};

&usb0 {
	status = "okay";
};

&usb1 {
	status = "okay";
};
