// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright (C) 2016 Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
 */

#include "socfpga_cyclone5.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>

/ {
	model = "Altera SOCFPGA Cyclone V SoC Macnica Sodia board";
	compatible = "macnica,sodia", "altr,socfpga-cyclone5", "altr,socfpga";

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

	memory@0 {
		name = "memory";
		device_type = "memory";
		reg = <0x0 0x40000000>;
	};

	aliases {
		ethernet0 = &gmac1;
	};

	regulator_3_3v: 3-3-v-regulator {
		compatible = "regulator-fixed";
		regulator-name = "3.3V";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
	};

	leds: gpio-leds {
		compatible = "gpio-leds";

		hps_led0 {
			label = "hps:green:led0";
			gpios = <&portb 12 GPIO_ACTIVE_LOW>;
		};

		hps_led1 {
			label = "hps:green:led1";
			gpios = <&portb 13 GPIO_ACTIVE_LOW>;
		};

		hps_led2 {
			label = "hps:green:led2";
			gpios = <&portb 14 GPIO_ACTIVE_LOW>;
		};

		hps_led3 {
			label = "hps:green:led3";
			gpios = <&portb 15 GPIO_ACTIVE_LOW>;
		};
	};
};

&gmac1 {
	status = "okay";
	phy-mode = "rgmii";
	phy = <&phy0>;

	mdio0 {
		#address-cells = <1>;
		#size-cells = <0>;
		phy0: ethernet-phy@0 {
			reg = <0>;
			rxd0-skew-ps = <0>;
			rxd1-skew-ps = <0>;
			rxd2-skew-ps = <0>;
			rxd3-skew-ps = <0>;
			rxdv-skew-ps = <0>;
			rxc-skew-ps = <3000>;
			txen-skew-ps = <0>;
			txc-skew-ps = <3000>;
		};
	};
};

&gpio1 {
	status = "okay";
};

&i2c0 {
	status = "okay";

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

	rtc@68 {
		compatible = "dallas,ds1339";
		reg = <0x68>;
	};
};

&mmc0 {
	cd-gpios = <&portb 18 0>;
	vmmc-supply = <&regulator_3_3v>;
	vqmmc-supply = <&regulator_3_3v>;
	status = "okay";
};

&usb1 {
	status = "okay";
};

&qspi {
	status = "okay";

	flash0: n25q512a@0 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "n25q512a";
		reg = <0>;
		spi-max-frequency = <100000000>;

		m25p,fast-read;
		cdns,page-size = <256>;
		cdns,block-size = <16>;
		cdns,read-delay = <4>;
		cdns,tshsl-ns = <50>;
		cdns,tsd2d-ns = <50>;
		cdns,tchsh-ns = <4>;
		cdns,tslch-ns = <4>;
	};
};
