/*
 * Device Tree Source for UniPhier PXs2 Gentil Board
 *
 * Copyright (C) 2015-2016 Socionext Inc.
 *   Author: Masahiro Yamada <yamada.masahiro@socionext.com>
 *
 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
 */

/dts-v1/;
/include/ "uniphier-pxs2.dtsi"

/ {
	model = "UniPhier PXs2 Gentil Board";
	compatible = "socionext,uniphier-pxs2-gentil",
		     "socionext,uniphier-pxs2";

	chosen {
		stdout-path = "serial0:115200n8";
	};

	aliases {
		serial0 = &serial2;
		serial1 = &serial0;
		serial2 = &serial1;
		i2c0 = &i2c0;
		i2c2 = &i2c2;
		i2c4 = &i2c4;
		i2c5 = &i2c5;
		i2c6 = &i2c6;
	};

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

&serial2 {
	status = "okay";
};

&i2c0 {
	status = "okay";

	eeprom@54 {
		compatible = "st,24c64", "atmel,24c64", "i2c-eeprom";
		reg = <0x54>;
		pagesize = <32>;
		u-boot,i2c-offset-len = <2>;
	};
};

&i2c2 {
	status = "okay";
};

&emmc {
	status = "okay";
};

&usb0 {
	status = "okay";
};

&usb1 {
	status = "okay";
};

/* for U-Boot only */
&serial2 {
	u-boot,dm-pre-reloc;
};

&sd_clk {
	u-boot,dm-pre-reloc;
};

&emmc {
	u-boot,dm-pre-reloc;
};

&pinctrl_uart2 {
	u-boot,dm-pre-reloc;
};

&pinctrl_emmc {
	u-boot,dm-pre-reloc;
};
