/* Copyright (c) 2018 SiFive, Inc. */
/* SPDX-License-Identifier: Apache-2.0 */

/dts-v1/;

#include <riscv32-fe310.dtsi>

/ {
	model = "SiFive HiFive 1";
	compatible = "sifive,hifive1";
	aliases {
		led0 = &led0;
		led1 = &led1;
		led2 = &led2;
		pwm-led0 = &led0;
		pwm-led1 = &led1;
		pwm-led2 = &led2;

	};

	chosen {
		zephyr,console = &uart0;
		zephyr,shell-uart = &uart0;
		zephyr,sram = &dtim;
		zephyr,flash = &flash0;
	};

	leds {
		compatible = "pwm-leds";
		led0: led_0 {
			pwms = <&pwm1 1 0>;
			label = "Green LED";
		};
		led1: led_1 {
			pwms = <&pwm1 2 0>;
			label = "Blue LED";
		};
		led2: led_2 {
			pwms = <&pwm1 3 0>;
			label = "Red LED";
		};
	};
};

&gpio0 {
	status = "okay";
};

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

&uart1 {
	clock-frequency = <16000000>;
};

&spi0 {
	status = "okay";
	clock-frequency = <16000000>;

	reg = <0x10014000 0x1000 0x20400000 0xc00000>;
	flash0: flash@0 {
		compatible = "issi,is25lp128", "jedec,spi-nor";
		label = "FLASH0";
		jedec-id = [96 60 18];
		reg = <0>;
		spi-max-frequency = <133000000>;
	};
};

&spi1 {
	status = "okay";
	clock-frequency = <16000000>;
};

&spi2 {
	status = "okay";
	clock-frequency = <16000000>;
};

&pwm0 {
	status = "okay";
	clock-frequency = <16000000>;
};

&pwm1 {
	status = "okay";
	clock-frequency = <16000000>;
};

&pwm2 {
	status = "okay";
	clock-frequency = <16000000>;
};
