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