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

/dts-v1/;
/include/ "uniphier-ph1-ld4.dtsi"

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

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

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

&uart0 {
	status = "okay";
};

&uart1 {
	status = "okay";
};

&i2c0 {
	status = "okay";
	eeprom {
		compatible = "i2c-eeprom";
		reg = <0x50>;
	};
};

&usb0 {
	status = "okay";
};

&usb1 {
	status = "okay";
};
