/* Copyright (c) 2018 SiFive, Inc. */ /* SPDX-License-Identifier: Apache-2.0 */ /dts-v1/; #include #include #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"; };