/*
 * at91-linea.dtsi - Device Tree Include file for the Axentia Linea Module.
 *
 * Copyright (C) 2017 Axentia Technologies AB
 *
 * Author: Peter Rosin <peda@axentia.se>
 *
 * Licensed under GPLv2 or later.
 */

#include "sama5d31.dtsi"

/ {
	compatible = "axentia,linea",
		     "atmel,sama5d31", "atmel,sama5d3", "atmel,sama5";

	memory {
		reg = <0x20000000 0x4000000>;
	};
};

&slow_xtal {
	clock-frequency = <32768>;
};

&main_xtal {
	clock-frequency = <12000000>;
};

&i2c0 {
	status = "okay";

	eeprom@51 {
		compatible = "st,24c64";
		reg = <0x51>;
		pagesize = <32>;
	};
};

&nand0 {
	status = "okay";

	nand-bus-width = <8>;
	nand-ecc-mode = "hw";
	atmel,has-pmecc;
	atmel,pmecc-cap = <4>;
	atmel,pmecc-sector-size = <512>;
	nand-on-flash-bbt;
};
