// SPDX-License-Identifier: (GPL-2.0 OR MIT) /* Copyright (c) 2020 SiFive, Inc */ #include "fu740-c000.dtsi" #include <dt-bindings/gpio/gpio.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/leds/common.h> #include <dt-bindings/pwm/pwm.h> /* Clock frequency (in Hz) of the PCB crystal for rtcclk */ #define RTCCLK_FREQ 1000000 / { model = "SiFive HiFive Unmatched A00"; compatible = "sifive,hifive-unmatched-a00", "sifive,fu740-c000", "sifive,fu740"; chosen { stdout-path = "serial0"; }; cpus { timebase-frequency = <RTCCLK_FREQ>; }; memory@80000000 { device_type = "memory"; reg = <0x0 0x80000000 0x4 0x00000000>; }; hfclk: hfclk { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <26000000>; clock-output-names = "hfclk"; }; rtcclk: rtcclk { #clock-cells = <0>; compatible = "fixed-clock"; clock-frequency = <RTCCLK_FREQ>; clock-output-names = "rtcclk"; }; gpio-poweroff { compatible = "gpio-poweroff"; gpios = <&gpio 2 GPIO_ACTIVE_LOW>; }; led-controller-1 { compatible = "pwm-leds"; led-d12 { pwms = <&pwm0 0 7812500 PWM_POLARITY_INVERTED>; active-low; color = <LED_COLOR_ID_GREEN>; max-brightness = <255>; label = "d12"; }; }; led-controller-2 { compatible = "pwm-leds-multicolor"; multi-led { color = <LED_COLOR_ID_RGB>; max-brightness = <255>; label = "d2"; led-red { pwms = <&pwm0 2 7812500 PWM_POLARITY_INVERTED>; active-low; color = <LED_COLOR_ID_RED>; }; led-green { pwms = <&pwm0 1 7812500 PWM_POLARITY_INVERTED>; active-low; color = <LED_COLOR_ID_GREEN>; }; led-blue { pwms = <&pwm0 3 7812500 PWM_POLARITY_INVERTED>; active-low; color = <LED_COLOR_ID_BLUE>; }; }; }; }; &uart0 { status = "okay"; }; &uart1 { status = "okay"; }; &i2c0 { status = "okay"; temperature-sensor@4c { compatible = "ti,tmp451"; reg = <0x4c>; vcc-supply = <&vdd_bpro>; interrupt-parent = <&gpio>; interrupts = <6 IRQ_TYPE_LEVEL_LOW>; }; eeprom@54 { compatible = "microchip,24c02", "atmel,24c02"; reg = <0x54>; vcc-supply = <&vdd_bpro>; label = "board-id"; pagesize = <16>; read-only; size = <256>; }; pmic@58 { compatible = "dlg,da9063"; reg = <0x58>; interrupt-parent = <&gpio>; interrupts = <1 IRQ_TYPE_LEVEL_LOW>; interrupt-controller; onkey { compatible = "dlg,da9063-onkey"; }; rtc { compatible = "dlg,da9063-rtc"; }; watchdog { compatible = "dlg,da9063-watchdog"; }; regulators { vdd_bcore: bcores-merged { regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; regulator-min-microamp = <4800000>; regulator-max-microamp = <4800000>; regulator-always-on; }; vdd_bpro: bpro { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-min-microamp = <2400000>; regulator-max-microamp = <2400000>; regulator-always-on; }; vdd_bperi: bperi { regulator-min-microvolt = <1060000>; regulator-max-microvolt = <1060000>; regulator-min-microamp = <1500000>; regulator-max-microamp = <1500000>; regulator-always-on; }; vdd_bmem_bio: bmem-bio-merged { regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-min-microamp = <3000000>; regulator-max-microamp = <3000000>; regulator-always-on; }; vdd_ldo1: ldo1 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; vdd_ldo2: ldo2 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; vdd_ldo3: ldo3 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vdd_ldo4: ldo4 { regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; regulator-always-on; }; vdd_ldo5: ldo5 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vdd_ldo6: ldo6 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; vdd_ldo7: ldo7 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vdd_ldo8: ldo8 { regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vdd_ld09: ldo9 { regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; regulator-always-on; }; vdd_ldo10: ldo10 { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; regulator-always-on; }; vdd_ldo11: ldo11 { regulator-min-microvolt = <2500000>; regulator-max-microvolt = <2500000>; regulator-always-on; }; }; }; }; &qspi0 { status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <50000000>; m25p,fast-read; spi-tx-bus-width = <4>; spi-rx-bus-width = <4>; }; }; &spi0 { status = "okay"; mmc@0 { compatible = "mmc-spi-slot"; reg = <0>; spi-max-frequency = <20000000>; voltage-ranges = <3300 3300>; disable-wp; gpios = <&gpio 15 GPIO_ACTIVE_LOW>; }; }; ð0 { status = "okay"; phy-mode = "gmii"; phy-handle = <&phy0>; phy0: ethernet-phy@0 { reg = <0>; }; }; &pwm0 { status = "okay"; }; &pwm1 { status = "okay"; }; &gpio { status = "okay"; gpio-line-names = "J29.1", "PMICNTB", "PMICSHDN", "J8.1", "J8.3", "PCIe_PWREN", "THERM", "UBRDG_RSTN", "PCIe_PERSTN", "ULPI_RSTN", "J8.2", "UHUB_RSTN", "GEMGXL_RST", "J8.4", "EN_VDD_SD", "SD_CD"; };