/*
 * Copyright (c) 2020-2021 Microchip Technology Inc
 *
 * SPDX-License-Identifier: Apache-2.0
 */

/dts-v1/;
#include <microchip/mpfs-icicle.dtsi>
#include <zephyr/dt-bindings/input/input-event-codes.h>
#include <mem.h>

/ {
	model = "Microchip PolarFire-SoC Icicle Kit";
	compatible = "microchip,mpfs-icicle-kit", "microchip,mpfs";
	aliases {
		led0 = &led0;
		sw0 = &sw0;
		i2c0 = &i2c0;
		i2c1 = &i2c1;
	};

	chosen {
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,sram = &sram1;
	};

	leds {
		compatible = "gpio-leds";

		led0: led0 {
			gpios = <&gpio2 16 GPIO_ACTIVE_LOW>;
			label = "LED_0";
		};
	};

	keys {
		compatible = "gpio-keys";
		sw0: sw0 {
			gpios = <&gpio2 30 GPIO_ACTIVE_LOW>;
			label = "SW_0";
			zephyr,code = <INPUT_KEY_0>;
		};
	};
};

&uart0 {
	status = "okay";
	current-speed = <115200>;
	clock-frequency = <150000000>;
};

&qspi0 {
	status = "okay";
	qspi_flash: spi-nor-flash@0 {
		compatible = "jedec,spi-nor";
		reg = <0>;
		spi-max-frequency = <5000000>;
		size = <DT_SIZE_M(256)>;
		jedec-id = [20 ba 19];
	};
};

&gpio2 {
	status = "okay";
};

&i2c0 {
	status = "okay";
};

&i2c1 {
	status = "okay";
};
