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

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

/ {
	model = "UniPhier Pro4 Sanji Board";
	compatible = "socionext,uniphier-pro4-sanji", "socionext,uniphier-pro4";

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

	aliases {
		serial0 = &serial0;
		serial1 = &serial1;
		i2c0 = &i2c0;
		i2c1 = &i2c1;
		i2c2 = &i2c2;
		i2c3 = &i2c3;
		i2c5 = &i2c5;
		i2c6 = &i2c6;
	};

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

&serial0 {
	status = "okay";
};

&serial1 {
	status = "okay";
};

&i2c0 {
	status = "okay";

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

&i2c1 {
	status = "okay";
};

&i2c2 {
	status = "okay";
};

&i2c3 {
	status = "okay";
};

&emmc {
	status = "okay";
};

&usb0 {
	status = "okay";
};

&usb1 {
	status = "okay";
};

&usb2 {
	status = "okay";
};

&usb3 {
	status = "okay";
};

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

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

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

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

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