162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0 OR MIT) 262306a36Sopenharmony_ci/* Copyright (c) 2020 SiFive, Inc */ 362306a36Sopenharmony_ci 462306a36Sopenharmony_ci#include "fu740-c000.dtsi" 562306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 662306a36Sopenharmony_ci#include <dt-bindings/interrupt-controller/irq.h> 762306a36Sopenharmony_ci#include <dt-bindings/leds/common.h> 862306a36Sopenharmony_ci#include <dt-bindings/pwm/pwm.h> 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ci/* Clock frequency (in Hz) of the PCB crystal for rtcclk */ 1162306a36Sopenharmony_ci#define RTCCLK_FREQ 1000000 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci/ { 1462306a36Sopenharmony_ci model = "SiFive HiFive Unmatched A00"; 1562306a36Sopenharmony_ci compatible = "sifive,hifive-unmatched-a00", "sifive,fu740-c000", 1662306a36Sopenharmony_ci "sifive,fu740"; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci chosen { 1962306a36Sopenharmony_ci stdout-path = "serial0"; 2062306a36Sopenharmony_ci }; 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci cpus { 2362306a36Sopenharmony_ci timebase-frequency = <RTCCLK_FREQ>; 2462306a36Sopenharmony_ci }; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci memory@80000000 { 2762306a36Sopenharmony_ci device_type = "memory"; 2862306a36Sopenharmony_ci reg = <0x0 0x80000000 0x4 0x00000000>; 2962306a36Sopenharmony_ci }; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci hfclk: hfclk { 3262306a36Sopenharmony_ci #clock-cells = <0>; 3362306a36Sopenharmony_ci compatible = "fixed-clock"; 3462306a36Sopenharmony_ci clock-frequency = <26000000>; 3562306a36Sopenharmony_ci clock-output-names = "hfclk"; 3662306a36Sopenharmony_ci }; 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci rtcclk: rtcclk { 3962306a36Sopenharmony_ci #clock-cells = <0>; 4062306a36Sopenharmony_ci compatible = "fixed-clock"; 4162306a36Sopenharmony_ci clock-frequency = <RTCCLK_FREQ>; 4262306a36Sopenharmony_ci clock-output-names = "rtcclk"; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci gpio-poweroff { 4662306a36Sopenharmony_ci compatible = "gpio-poweroff"; 4762306a36Sopenharmony_ci gpios = <&gpio 2 GPIO_ACTIVE_LOW>; 4862306a36Sopenharmony_ci }; 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci led-controller-1 { 5162306a36Sopenharmony_ci compatible = "pwm-leds"; 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci led-d12 { 5462306a36Sopenharmony_ci pwms = <&pwm0 0 7812500 PWM_POLARITY_INVERTED>; 5562306a36Sopenharmony_ci active-low; 5662306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 5762306a36Sopenharmony_ci max-brightness = <255>; 5862306a36Sopenharmony_ci label = "d12"; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci }; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci led-controller-2 { 6362306a36Sopenharmony_ci compatible = "pwm-leds-multicolor"; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci multi-led { 6662306a36Sopenharmony_ci color = <LED_COLOR_ID_RGB>; 6762306a36Sopenharmony_ci max-brightness = <255>; 6862306a36Sopenharmony_ci label = "d2"; 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci led-red { 7162306a36Sopenharmony_ci pwms = <&pwm0 2 7812500 PWM_POLARITY_INVERTED>; 7262306a36Sopenharmony_ci active-low; 7362306a36Sopenharmony_ci color = <LED_COLOR_ID_RED>; 7462306a36Sopenharmony_ci }; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci led-green { 7762306a36Sopenharmony_ci pwms = <&pwm0 1 7812500 PWM_POLARITY_INVERTED>; 7862306a36Sopenharmony_ci active-low; 7962306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 8062306a36Sopenharmony_ci }; 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci led-blue { 8362306a36Sopenharmony_ci pwms = <&pwm0 3 7812500 PWM_POLARITY_INVERTED>; 8462306a36Sopenharmony_ci active-low; 8562306a36Sopenharmony_ci color = <LED_COLOR_ID_BLUE>; 8662306a36Sopenharmony_ci }; 8762306a36Sopenharmony_ci }; 8862306a36Sopenharmony_ci }; 8962306a36Sopenharmony_ci}; 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ci&uart0 { 9262306a36Sopenharmony_ci status = "okay"; 9362306a36Sopenharmony_ci}; 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci&uart1 { 9662306a36Sopenharmony_ci status = "okay"; 9762306a36Sopenharmony_ci}; 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci&i2c0 { 10062306a36Sopenharmony_ci status = "okay"; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci temperature-sensor@4c { 10362306a36Sopenharmony_ci compatible = "ti,tmp451"; 10462306a36Sopenharmony_ci reg = <0x4c>; 10562306a36Sopenharmony_ci vcc-supply = <&vdd_bpro>; 10662306a36Sopenharmony_ci interrupt-parent = <&gpio>; 10762306a36Sopenharmony_ci interrupts = <6 IRQ_TYPE_LEVEL_LOW>; 10862306a36Sopenharmony_ci }; 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ci eeprom@54 { 11162306a36Sopenharmony_ci compatible = "microchip,24c02", "atmel,24c02"; 11262306a36Sopenharmony_ci reg = <0x54>; 11362306a36Sopenharmony_ci vcc-supply = <&vdd_bpro>; 11462306a36Sopenharmony_ci label = "board-id"; 11562306a36Sopenharmony_ci pagesize = <16>; 11662306a36Sopenharmony_ci read-only; 11762306a36Sopenharmony_ci size = <256>; 11862306a36Sopenharmony_ci }; 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci pmic@58 { 12162306a36Sopenharmony_ci compatible = "dlg,da9063"; 12262306a36Sopenharmony_ci reg = <0x58>; 12362306a36Sopenharmony_ci interrupt-parent = <&gpio>; 12462306a36Sopenharmony_ci interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 12562306a36Sopenharmony_ci interrupt-controller; 12662306a36Sopenharmony_ci #interrupt-cells = <2>; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci onkey { 12962306a36Sopenharmony_ci compatible = "dlg,da9063-onkey"; 13062306a36Sopenharmony_ci }; 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci rtc { 13362306a36Sopenharmony_ci compatible = "dlg,da9063-rtc"; 13462306a36Sopenharmony_ci }; 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci watchdog { 13762306a36Sopenharmony_ci compatible = "dlg,da9063-watchdog"; 13862306a36Sopenharmony_ci }; 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci regulators { 14162306a36Sopenharmony_ci vdd_bcore: bcores-merged { 14262306a36Sopenharmony_ci regulator-min-microvolt = <1050000>; 14362306a36Sopenharmony_ci regulator-max-microvolt = <1050000>; 14462306a36Sopenharmony_ci regulator-min-microamp = <4800000>; 14562306a36Sopenharmony_ci regulator-max-microamp = <4800000>; 14662306a36Sopenharmony_ci regulator-always-on; 14762306a36Sopenharmony_ci }; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci vdd_bpro: bpro { 15062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 15162306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 15262306a36Sopenharmony_ci regulator-min-microamp = <2400000>; 15362306a36Sopenharmony_ci regulator-max-microamp = <2400000>; 15462306a36Sopenharmony_ci regulator-always-on; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci vdd_bperi: bperi { 15862306a36Sopenharmony_ci regulator-min-microvolt = <1060000>; 15962306a36Sopenharmony_ci regulator-max-microvolt = <1060000>; 16062306a36Sopenharmony_ci regulator-min-microamp = <1500000>; 16162306a36Sopenharmony_ci regulator-max-microamp = <1500000>; 16262306a36Sopenharmony_ci regulator-always-on; 16362306a36Sopenharmony_ci }; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci vdd_bmem_bio: bmem-bio-merged { 16662306a36Sopenharmony_ci regulator-min-microvolt = <1200000>; 16762306a36Sopenharmony_ci regulator-max-microvolt = <1200000>; 16862306a36Sopenharmony_ci regulator-min-microamp = <3000000>; 16962306a36Sopenharmony_ci regulator-max-microamp = <3000000>; 17062306a36Sopenharmony_ci regulator-always-on; 17162306a36Sopenharmony_ci }; 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci vdd_ldo1: ldo1 { 17462306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 17562306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 17662306a36Sopenharmony_ci regulator-always-on; 17762306a36Sopenharmony_ci }; 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ci vdd_ldo2: ldo2 { 18062306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 18162306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 18262306a36Sopenharmony_ci regulator-always-on; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci vdd_ldo3: ldo3 { 18662306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 18762306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 18862306a36Sopenharmony_ci regulator-always-on; 18962306a36Sopenharmony_ci }; 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci vdd_ldo4: ldo4 { 19262306a36Sopenharmony_ci regulator-min-microvolt = <2500000>; 19362306a36Sopenharmony_ci regulator-max-microvolt = <2500000>; 19462306a36Sopenharmony_ci regulator-always-on; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci vdd_ldo5: ldo5 { 19862306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 19962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 20062306a36Sopenharmony_ci regulator-always-on; 20162306a36Sopenharmony_ci }; 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ci vdd_ldo6: ldo6 { 20462306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 20562306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 20662306a36Sopenharmony_ci regulator-always-on; 20762306a36Sopenharmony_ci }; 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci vdd_ldo7: ldo7 { 21062306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 21162306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 21262306a36Sopenharmony_ci regulator-always-on; 21362306a36Sopenharmony_ci }; 21462306a36Sopenharmony_ci 21562306a36Sopenharmony_ci vdd_ldo8: ldo8 { 21662306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 21762306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 21862306a36Sopenharmony_ci regulator-always-on; 21962306a36Sopenharmony_ci }; 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci vdd_ld09: ldo9 { 22262306a36Sopenharmony_ci regulator-min-microvolt = <1050000>; 22362306a36Sopenharmony_ci regulator-max-microvolt = <1050000>; 22462306a36Sopenharmony_ci regulator-always-on; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci vdd_ldo10: ldo10 { 22862306a36Sopenharmony_ci regulator-min-microvolt = <1000000>; 22962306a36Sopenharmony_ci regulator-max-microvolt = <1000000>; 23062306a36Sopenharmony_ci regulator-always-on; 23162306a36Sopenharmony_ci }; 23262306a36Sopenharmony_ci 23362306a36Sopenharmony_ci vdd_ldo11: ldo11 { 23462306a36Sopenharmony_ci regulator-min-microvolt = <2500000>; 23562306a36Sopenharmony_ci regulator-max-microvolt = <2500000>; 23662306a36Sopenharmony_ci regulator-always-on; 23762306a36Sopenharmony_ci }; 23862306a36Sopenharmony_ci }; 23962306a36Sopenharmony_ci }; 24062306a36Sopenharmony_ci}; 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ci&qspi0 { 24362306a36Sopenharmony_ci status = "okay"; 24462306a36Sopenharmony_ci flash@0 { 24562306a36Sopenharmony_ci compatible = "jedec,spi-nor"; 24662306a36Sopenharmony_ci reg = <0>; 24762306a36Sopenharmony_ci spi-max-frequency = <50000000>; 24862306a36Sopenharmony_ci m25p,fast-read; 24962306a36Sopenharmony_ci spi-tx-bus-width = <4>; 25062306a36Sopenharmony_ci spi-rx-bus-width = <4>; 25162306a36Sopenharmony_ci }; 25262306a36Sopenharmony_ci}; 25362306a36Sopenharmony_ci 25462306a36Sopenharmony_ci&spi0 { 25562306a36Sopenharmony_ci status = "okay"; 25662306a36Sopenharmony_ci mmc@0 { 25762306a36Sopenharmony_ci compatible = "mmc-spi-slot"; 25862306a36Sopenharmony_ci reg = <0>; 25962306a36Sopenharmony_ci spi-max-frequency = <20000000>; 26062306a36Sopenharmony_ci voltage-ranges = <3300 3300>; 26162306a36Sopenharmony_ci disable-wp; 26262306a36Sopenharmony_ci gpios = <&gpio 15 GPIO_ACTIVE_LOW>; 26362306a36Sopenharmony_ci }; 26462306a36Sopenharmony_ci}; 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_cið0 { 26762306a36Sopenharmony_ci status = "okay"; 26862306a36Sopenharmony_ci phy-mode = "gmii"; 26962306a36Sopenharmony_ci phy-handle = <&phy0>; 27062306a36Sopenharmony_ci phy0: ethernet-phy@0 { 27162306a36Sopenharmony_ci reg = <0>; 27262306a36Sopenharmony_ci }; 27362306a36Sopenharmony_ci}; 27462306a36Sopenharmony_ci 27562306a36Sopenharmony_ci&pwm0 { 27662306a36Sopenharmony_ci status = "okay"; 27762306a36Sopenharmony_ci}; 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_ci&pwm1 { 28062306a36Sopenharmony_ci status = "okay"; 28162306a36Sopenharmony_ci}; 28262306a36Sopenharmony_ci 28362306a36Sopenharmony_ci&gpio { 28462306a36Sopenharmony_ci status = "okay"; 28562306a36Sopenharmony_ci gpio-line-names = "J29.1", "PMICNTB", "PMICSHDN", "J8.1", "J8.3", 28662306a36Sopenharmony_ci "PCIe_PWREN", "THERM", "UBRDG_RSTN", "PCIe_PERSTN", 28762306a36Sopenharmony_ci "ULPI_RSTN", "J8.2", "UHUB_RSTN", "GEMGXL_RST", "J8.4", 28862306a36Sopenharmony_ci "EN_VDD_SD", "SD_CD"; 28962306a36Sopenharmony_ci}; 290