1d573b555SYash Shah// SPDX-License-Identifier: (GPL-2.0 OR MIT) 2d573b555SYash Shah/* Copyright (c) 2020 SiFive, Inc */ 3d573b555SYash Shah 4d573b555SYash Shah#include "fu740-c000.dtsi" 5298d03c2SBin Meng#include <dt-bindings/gpio/gpio.h> 6d573b555SYash Shah#include <dt-bindings/interrupt-controller/irq.h> 7d573b555SYash Shah 8d573b555SYash Shah/* Clock frequency (in Hz) of the PCB crystal for rtcclk */ 9d573b555SYash Shah#define RTCCLK_FREQ 1000000 10d573b555SYash Shah 11d573b555SYash Shah/ { 12d573b555SYash Shah model = "SiFive HiFive Unmatched A00"; 13d573b555SYash Shah compatible = "sifive,hifive-unmatched-a00", "sifive,fu740-c000", 14d573b555SYash Shah "sifive,fu740"; 15d573b555SYash Shah 16d573b555SYash Shah chosen { 17d573b555SYash Shah stdout-path = "serial0"; 18d573b555SYash Shah }; 19d573b555SYash Shah 20d573b555SYash Shah cpus { 21d573b555SYash Shah timebase-frequency = <RTCCLK_FREQ>; 22d573b555SYash Shah }; 23d573b555SYash Shah 24d573b555SYash Shah memory@80000000 { 25d573b555SYash Shah device_type = "memory"; 26d0956043SQiu Wenbo reg = <0x0 0x80000000 0x4 0x00000000>; 27d573b555SYash Shah }; 28d573b555SYash Shah 29d573b555SYash Shah hfclk: hfclk { 30d573b555SYash Shah #clock-cells = <0>; 31d573b555SYash Shah compatible = "fixed-clock"; 32d573b555SYash Shah clock-frequency = <26000000>; 33d573b555SYash Shah clock-output-names = "hfclk"; 34d573b555SYash Shah }; 35d573b555SYash Shah 36d573b555SYash Shah rtcclk: rtcclk { 37d573b555SYash Shah #clock-cells = <0>; 38d573b555SYash Shah compatible = "fixed-clock"; 39d573b555SYash Shah clock-frequency = <RTCCLK_FREQ>; 40d573b555SYash Shah clock-output-names = "rtcclk"; 41d573b555SYash Shah }; 42d573b555SYash Shah}; 43d573b555SYash Shah 44d573b555SYash Shah&uart0 { 45d573b555SYash Shah status = "okay"; 46d573b555SYash Shah}; 47d573b555SYash Shah 48d573b555SYash Shah&uart1 { 49d573b555SYash Shah status = "okay"; 50d573b555SYash Shah}; 51d573b555SYash Shah 52d573b555SYash Shah&i2c0 { 53d573b555SYash Shah status = "okay"; 54d573b555SYash Shah 55d573b555SYash Shah temperature-sensor@4c { 56d573b555SYash Shah compatible = "ti,tmp451"; 57d573b555SYash Shah reg = <0x4c>; 58d573b555SYash Shah interrupt-parent = <&gpio>; 59d573b555SYash Shah interrupts = <6 IRQ_TYPE_LEVEL_LOW>; 60d573b555SYash Shah }; 61d573b555SYash Shah 628120393bSVincent Pelletier eeprom@54 { 638120393bSVincent Pelletier compatible = "microchip,24c02", "atmel,24c02"; 648120393bSVincent Pelletier reg = <0x54>; 658120393bSVincent Pelletier vcc-supply = <&vdd_bpro>; 668120393bSVincent Pelletier label = "board-id"; 678120393bSVincent Pelletier pagesize = <16>; 688120393bSVincent Pelletier read-only; 698120393bSVincent Pelletier size = <256>; 708120393bSVincent Pelletier }; 718120393bSVincent Pelletier 72d573b555SYash Shah pmic@58 { 73d573b555SYash Shah compatible = "dlg,da9063"; 74d573b555SYash Shah reg = <0x58>; 75d573b555SYash Shah interrupt-parent = <&gpio>; 76d573b555SYash Shah interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 77d573b555SYash Shah interrupt-controller; 78d573b555SYash Shah 79*cd29cc8aSVincent Pelletier onkey { 80*cd29cc8aSVincent Pelletier compatible = "dlg,da9063-onkey"; 81*cd29cc8aSVincent Pelletier }; 82*cd29cc8aSVincent Pelletier 83*cd29cc8aSVincent Pelletier rtc { 84*cd29cc8aSVincent Pelletier compatible = "dlg,da9063-rtc"; 85*cd29cc8aSVincent Pelletier }; 86*cd29cc8aSVincent Pelletier 87*cd29cc8aSVincent Pelletier wdt { 88*cd29cc8aSVincent Pelletier compatible = "dlg,da9063-watchdog"; 89*cd29cc8aSVincent Pelletier }; 90*cd29cc8aSVincent Pelletier 91d573b555SYash Shah regulators { 92d573b555SYash Shah vdd_bcore1: bcore1 { 93d573b555SYash Shah regulator-min-microvolt = <900000>; 94d573b555SYash Shah regulator-max-microvolt = <900000>; 95d573b555SYash Shah regulator-min-microamp = <5000000>; 96d573b555SYash Shah regulator-max-microamp = <5000000>; 97d573b555SYash Shah regulator-always-on; 98d573b555SYash Shah }; 99d573b555SYash Shah 100d573b555SYash Shah vdd_bcore2: bcore2 { 101d573b555SYash Shah regulator-min-microvolt = <900000>; 102d573b555SYash Shah regulator-max-microvolt = <900000>; 103d573b555SYash Shah regulator-min-microamp = <5000000>; 104d573b555SYash Shah regulator-max-microamp = <5000000>; 105d573b555SYash Shah regulator-always-on; 106d573b555SYash Shah }; 107d573b555SYash Shah 108d573b555SYash Shah vdd_bpro: bpro { 109d573b555SYash Shah regulator-min-microvolt = <1800000>; 110d573b555SYash Shah regulator-max-microvolt = <1800000>; 111d573b555SYash Shah regulator-min-microamp = <2500000>; 112d573b555SYash Shah regulator-max-microamp = <2500000>; 113d573b555SYash Shah regulator-always-on; 114d573b555SYash Shah }; 115d573b555SYash Shah 116d573b555SYash Shah vdd_bperi: bperi { 117d573b555SYash Shah regulator-min-microvolt = <1050000>; 118d573b555SYash Shah regulator-max-microvolt = <1050000>; 119d573b555SYash Shah regulator-min-microamp = <1500000>; 120d573b555SYash Shah regulator-max-microamp = <1500000>; 121d573b555SYash Shah regulator-always-on; 122d573b555SYash Shah }; 123d573b555SYash Shah 124d573b555SYash Shah vdd_bmem: bmem { 125d573b555SYash Shah regulator-min-microvolt = <1200000>; 126d573b555SYash Shah regulator-max-microvolt = <1200000>; 127d573b555SYash Shah regulator-min-microamp = <3000000>; 128d573b555SYash Shah regulator-max-microamp = <3000000>; 129d573b555SYash Shah regulator-always-on; 130d573b555SYash Shah }; 131d573b555SYash Shah 132d573b555SYash Shah vdd_bio: bio { 133d573b555SYash Shah regulator-min-microvolt = <1200000>; 134d573b555SYash Shah regulator-max-microvolt = <1200000>; 135d573b555SYash Shah regulator-min-microamp = <3000000>; 136d573b555SYash Shah regulator-max-microamp = <3000000>; 137d573b555SYash Shah regulator-always-on; 138d573b555SYash Shah }; 139d573b555SYash Shah 140d573b555SYash Shah vdd_ldo1: ldo1 { 141d573b555SYash Shah regulator-min-microvolt = <1800000>; 142d573b555SYash Shah regulator-max-microvolt = <1800000>; 143d573b555SYash Shah regulator-min-microamp = <100000>; 144d573b555SYash Shah regulator-max-microamp = <100000>; 145d573b555SYash Shah regulator-always-on; 146d573b555SYash Shah }; 147d573b555SYash Shah 148d573b555SYash Shah vdd_ldo2: ldo2 { 149d573b555SYash Shah regulator-min-microvolt = <1800000>; 150d573b555SYash Shah regulator-max-microvolt = <1800000>; 151d573b555SYash Shah regulator-min-microamp = <200000>; 152d573b555SYash Shah regulator-max-microamp = <200000>; 153d573b555SYash Shah regulator-always-on; 154d573b555SYash Shah }; 155d573b555SYash Shah 156d573b555SYash Shah vdd_ldo3: ldo3 { 157d573b555SYash Shah regulator-min-microvolt = <1800000>; 158d573b555SYash Shah regulator-max-microvolt = <1800000>; 159d573b555SYash Shah regulator-min-microamp = <200000>; 160d573b555SYash Shah regulator-max-microamp = <200000>; 161d573b555SYash Shah regulator-always-on; 162d573b555SYash Shah }; 163d573b555SYash Shah 164d573b555SYash Shah vdd_ldo4: ldo4 { 165d573b555SYash Shah regulator-min-microvolt = <1800000>; 166d573b555SYash Shah regulator-max-microvolt = <1800000>; 167d573b555SYash Shah regulator-min-microamp = <200000>; 168d573b555SYash Shah regulator-max-microamp = <200000>; 169d573b555SYash Shah regulator-always-on; 170d573b555SYash Shah }; 171d573b555SYash Shah 172d573b555SYash Shah vdd_ldo5: ldo5 { 173d573b555SYash Shah regulator-min-microvolt = <1800000>; 174d573b555SYash Shah regulator-max-microvolt = <1800000>; 175d573b555SYash Shah regulator-min-microamp = <100000>; 176d573b555SYash Shah regulator-max-microamp = <100000>; 177d573b555SYash Shah regulator-always-on; 178d573b555SYash Shah }; 179d573b555SYash Shah 180d573b555SYash Shah vdd_ldo6: ldo6 { 181d573b555SYash Shah regulator-min-microvolt = <3300000>; 182d573b555SYash Shah regulator-max-microvolt = <3300000>; 183d573b555SYash Shah regulator-min-microamp = <200000>; 184d573b555SYash Shah regulator-max-microamp = <200000>; 185d573b555SYash Shah regulator-always-on; 186d573b555SYash Shah }; 187d573b555SYash Shah 188d573b555SYash Shah vdd_ldo7: ldo7 { 189d573b555SYash Shah regulator-min-microvolt = <1800000>; 190d573b555SYash Shah regulator-max-microvolt = <1800000>; 191d573b555SYash Shah regulator-min-microamp = <200000>; 192d573b555SYash Shah regulator-max-microamp = <200000>; 193d573b555SYash Shah regulator-always-on; 194d573b555SYash Shah }; 195d573b555SYash Shah 196d573b555SYash Shah vdd_ldo8: ldo8 { 197d573b555SYash Shah regulator-min-microvolt = <1800000>; 198d573b555SYash Shah regulator-max-microvolt = <1800000>; 199d573b555SYash Shah regulator-min-microamp = <200000>; 200d573b555SYash Shah regulator-max-microamp = <200000>; 201d573b555SYash Shah regulator-always-on; 202d573b555SYash Shah }; 203d573b555SYash Shah 204d573b555SYash Shah vdd_ld09: ldo9 { 205d573b555SYash Shah regulator-min-microvolt = <1050000>; 206d573b555SYash Shah regulator-max-microvolt = <1050000>; 207d573b555SYash Shah regulator-min-microamp = <200000>; 208d573b555SYash Shah regulator-max-microamp = <200000>; 209d573b555SYash Shah }; 210d573b555SYash Shah 211d573b555SYash Shah vdd_ldo10: ldo10 { 212d573b555SYash Shah regulator-min-microvolt = <1000000>; 213d573b555SYash Shah regulator-max-microvolt = <1000000>; 214d573b555SYash Shah regulator-min-microamp = <300000>; 215d573b555SYash Shah regulator-max-microamp = <300000>; 216d573b555SYash Shah }; 217d573b555SYash Shah 218d573b555SYash Shah vdd_ldo11: ldo11 { 219d573b555SYash Shah regulator-min-microvolt = <2500000>; 220d573b555SYash Shah regulator-max-microvolt = <2500000>; 221d573b555SYash Shah regulator-min-microamp = <300000>; 222d573b555SYash Shah regulator-max-microamp = <300000>; 223d573b555SYash Shah regulator-always-on; 224d573b555SYash Shah }; 225d573b555SYash Shah }; 226d573b555SYash Shah }; 227d573b555SYash Shah}; 228d573b555SYash Shah 229d573b555SYash Shah&qspi0 { 230d573b555SYash Shah status = "okay"; 231d573b555SYash Shah flash@0 { 2328ce936c2SKrzysztof Kozlowski compatible = "jedec,spi-nor"; 233d573b555SYash Shah reg = <0>; 234d573b555SYash Shah spi-max-frequency = <50000000>; 235d573b555SYash Shah m25p,fast-read; 236d573b555SYash Shah spi-tx-bus-width = <4>; 237d573b555SYash Shah spi-rx-bus-width = <4>; 238d573b555SYash Shah }; 239d573b555SYash Shah}; 240d573b555SYash Shah 241d573b555SYash Shah&spi0 { 242d573b555SYash Shah status = "okay"; 243d573b555SYash Shah mmc@0 { 244d573b555SYash Shah compatible = "mmc-spi-slot"; 245d573b555SYash Shah reg = <0>; 246d573b555SYash Shah spi-max-frequency = <20000000>; 247d573b555SYash Shah voltage-ranges = <3300 3300>; 248d573b555SYash Shah disable-wp; 249298d03c2SBin Meng gpios = <&gpio 15 GPIO_ACTIVE_LOW>; 250d573b555SYash Shah }; 251d573b555SYash Shah}; 252d573b555SYash Shah 253d573b555SYash Shahð0 { 254d573b555SYash Shah status = "okay"; 255d573b555SYash Shah phy-mode = "gmii"; 256d573b555SYash Shah phy-handle = <&phy0>; 257d573b555SYash Shah phy0: ethernet-phy@0 { 258d573b555SYash Shah reg = <0>; 259d573b555SYash Shah }; 260d573b555SYash Shah}; 261d573b555SYash Shah 262d573b555SYash Shah&pwm0 { 263d573b555SYash Shah status = "okay"; 264d573b555SYash Shah}; 265d573b555SYash Shah 266d573b555SYash Shah&pwm1 { 267d573b555SYash Shah status = "okay"; 268d573b555SYash Shah}; 269d573b555SYash Shah 270d573b555SYash Shah&gpio { 271d573b555SYash Shah status = "okay"; 272ea81b91eSVincent Pelletier gpio-line-names = "J29.1", "PMICNTB", "PMICSHDN", "J8.1", "J8.3", 273ea81b91eSVincent Pelletier "PCIe_PWREN", "THERM", "UBRDG_RSTN", "PCIe_PERSTN", 274ea81b91eSVincent Pelletier "ULPI_RSTN", "J8.2", "UHUB_RSTN", "GEMGXL_RST", "J8.4", 275ea81b91eSVincent Pelletier "EN_VDD_SD", "SD_CD"; 276d573b555SYash Shah}; 277