// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/*
 * Device Tree file for the Chameleon96
 *
 * Copyright (c) 2018 Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
 */

#include <dt-bindings/gpio/gpio.h>

#include "socfpga_cyclone5.dtsi"

/ {
	model = "Novetech Chameleon96";
	compatible = "novtech,chameleon96", "altr,socfpga-cyclone5", "altr,socfpga";

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

	memory@0 {
		name = "memory";
		device_type = "memory";
		reg = <0x0 0x20000000>; /* 512MB */
	};

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

	leds {
		compatible = "gpio-leds";

		user_led1 {
			label = "green:user1";
			gpios = <&porta 14 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "heartbeat";
		};

		user_led2 {
			label = "green:user2";
			gpios = <&porta 22 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "mmc0";
		};

		user_led3 {
			label = "green:user3";
			gpios = <&porta 25 GPIO_ACTIVE_LOW>;
			linux,default-trigger = "none";
		};

		user_led4 {
			label = "green:user4";
			gpios = <&portb 3 GPIO_ACTIVE_LOW>;
			panic-indicator;
			linux,default-trigger = "none";
		};
	};
};

&gpio0 {
	status = "okay";
};

&gpio1 {
	status = "okay";
};

&i2c0 {
	/* On Low speed expansion */
	label = "LS-I2C0";
	status = "okay";
};

&i2c1 {
	/* On Low speed expansion */
	label = "LS-I2C1";
	status = "okay";
};

&i2c2 {
	status = "okay";
};

&i2c3 {
	/* On High speed expansion */
	label = "HS-I2C2";
	status = "okay";
};

&mmc0 {
	vmmc-supply = <&regulator_3_3v>;
	vqmmc-supply = <&regulator_3_3v>;
	status = "okay";
};

&spi0 {
	/* On High speed expansion */
	label = "HS-SPI1";
	status = "okay";
};

&spi1 {
	/* On Low speed expansion */
	label = "LS-SPI0";
	status = "okay";
};

&uart0 {
	/* On Low speed expansion */
	label = "LS-UART1";
	status = "okay";
};

&uart1 {
	/* On Low speed expansion */
	label = "LS-UART0";
	status = "okay";
};

&usbphy0 {
	status = "okay";
};

&usb1 {
	status = "okay";
};