blob: 2034d10bc95fbb77f53f8874cb2d291684023871 [file] [log] [blame]
/* Copyright (c) 2018 SiFive, Inc. */
/* SPDX-License-Identifier: Apache-2.0 */
/dts-v1/;
#include <sifive/riscv32-fe310.dtsi>
#include <zephyr/dt-bindings/i2c/i2c.h>
#include "hifive1-pinctrl.dtsi"
/ {
model = "SiFive HiFive 1";
compatible = "sifive,hifive1";
aliases {
led0 = &led0;
led1 = &led1;
led2 = &led2;
pwm-led0 = &pwmled0;
pwm-led1 = &pwmled1;
pwm-led2 = &pwmled2;
watchdog0 = &wdog0;
};
chosen {
zephyr,console = &uart0;
zephyr,shell-uart = &uart0;
zephyr,sram = &dtim;
zephyr,flash = &flash0;
};
leds {
compatible = "gpio-leds";
led0: led_0 {
gpios = <&gpio0 19 GPIO_ACTIVE_LOW>;
label = "Green LED";
};
led1: led_1 {
gpios = <&gpio0 21 GPIO_ACTIVE_LOW>;
label = "Blue LED";
};
led2: led_2 {
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
label = "Red LED";
};
};
pwmleds {
compatible = "pwm-leds";
pwmled0: pwmled_0 {
pwms = <&pwm1 1 PWM_MSEC(20)>;
label = "Green LED";
};
pwmled1: pwmled_1 {
pwms = <&pwm1 2 PWM_MSEC(20)>;
label = "Blue LED";
};
pwmled2: pwmled_2 {
pwms = <&pwm1 3 PWM_MSEC(20)>;
label = "Red LED";
};
};
arduino_header: connector {
compatible = "arduino-header-r3";
#gpio-cells = <2>;
gpio-map-mask = <0xffffffff 0xffffffc0>;
gpio-map-pass-thru = <0 0x3f>;
gpio-map = /* A0 not connected */
<1 0 &gpio0 9 0>, /* A1, also CS2 */
<2 0 &gpio0 10 0>, /* A2, also WF_INT */
<3 0 &gpio0 11 0>, /* A3 */
<4 0 &gpio0 12 0>, /* A4 */
<5 0 &gpio0 13 0>, /* A5 */
<6 0 &gpio0 16 0>, /* D0, also TX */
<7 0 &gpio0 17 0>, /* D1, also RX */
<8 0 &gpio0 18 0>, /* D2 */
<9 0 &gpio0 19 0>, /* D3 */
<10 0 &gpio0 20 0>, /* D4 */
<11 0 &gpio0 21 0>, /* D5 */
<12 0 &gpio0 22 0>, /* D6 */
<13 0 &gpio0 23 0>, /* D7 */
<14 0 &gpio0 0 0>, /* D8 */
<15 0 &gpio0 1 0>, /* D9 */
<16 0 &gpio0 2 0>, /* D10 */
<17 0 &gpio0 3 0>, /* D11, also MOSI */
<18 0 &gpio0 4 0>, /* D12, also MISO */
<19 0 &gpio0 5 0>, /* D13, also SCK */
<20 0 &gpio0 12 0>, /* D14, also SDA */
<21 0 &gpio0 13 0>; /* D15, also SCL */
};
};
&gpio0 {
status = "okay";
};
&uart0 {
status = "okay";
current-speed = <115200>;
pinctrl-0 = <&uart0_rx_default &uart0_tx_default>;
pinctrl-names = "default";
};
/* disabled (used by Flash ROM by default) */
&spi0 {
reg = <0x10014000 0x1000 0x20400000 0xc00000>;
flash0: flash@0 {
compatible = "issi,is25lp128", "jedec,spi-nor";
status = "disabled";
size = <134217728>;
jedec-id = [96 60 18];
reg = <0>;
spi-max-frequency = <133000000>;
};
};
&spi1 {
status = "okay";
pinctrl-0 = <&spi1_cs0_default &spi1_cs2_default &spi1_cs3_default
&spi1_mosi_default &spi1_miso_default &spi1_sck_default>;
pinctrl-names = "default";
};
&spi2 {
status = "okay";
};
&pwm0 {
status = "okay";
};
&pwm1 {
status = "okay";
pinctrl-0 = <&pwm1_1_default &pwm1_2_default &pwm1_3_default>;
pinctrl-names = "default";
};
&pwm2 {
status = "okay";
pinctrl-0 = <&pwm2_1_default &pwm2_2_default &pwm2_3_default>;
pinctrl-names = "default";
};
arduino_i2c: &i2c0 {
status = "okay";
clock-frequency = <100000>;
pinctrl-0 = <&i2c0_0_default &i2c0_1_default>;
pinctrl-names = "default";
};