mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-17 18:28:55 +00:00
b236a66ab5
This adds the onkey, RTC and watchdog children to the DA9063 PMIC node, fixes the compatible for qspi0's flash node to match the official DT schema (it being an is25wp256 is discoverable, hence jedec,spi-nor is the only compatible that should be present) and exposes the card detect GPIO. Note that the device trees still diverge in some places (including important things like the PCIe controller's clock name) and should be cleaned up so that a common device tree is used in both projects rather than having different bindings. This patch does not attempt to do that, merely expose important functionality present in Linux's that is not in U-Boot's so that it can be used without the OS providing its own bundled copy. Signed-off-by: Jessica Clarke <jrtc27@jrtc27.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
272 lines
5.6 KiB
Text
272 lines
5.6 KiB
Text
// SPDX-License-Identifier: GPL-2.0+
|
|
/* Copyright (c) 2019-2021 SiFive, Inc */
|
|
|
|
#include "fu740-c000.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
|
|
/* Clock frequency (in Hz) of the PCB crystal for rtcclk */
|
|
#define RTCCLK_FREQ 1000000
|
|
|
|
/ {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
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>;
|
|
};
|
|
|
|
soc {
|
|
};
|
|
|
|
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>;
|
|
};
|
|
};
|
|
|
|
&uart0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&uart1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
status = "okay";
|
|
|
|
temperature-sensor@4c {
|
|
compatible = "ti,tmp451";
|
|
reg = <0x4c>;
|
|
interrupt-parent = <&gpio>;
|
|
interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
|
|
};
|
|
|
|
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";
|
|
};
|
|
|
|
wdt {
|
|
compatible = "dlg,da9063-watchdog";
|
|
};
|
|
|
|
regulators {
|
|
vdd_bcore1: bcore1 {
|
|
regulator-min-microvolt = <1050000>;
|
|
regulator-max-microvolt = <1050000>;
|
|
regulator-min-microamp = <5000000>;
|
|
regulator-max-microamp = <5000000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_bcore2: bcore2 {
|
|
regulator-min-microvolt = <1050000>;
|
|
regulator-max-microvolt = <1050000>;
|
|
regulator-min-microamp = <5000000>;
|
|
regulator-max-microamp = <5000000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_bpro: bpro {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-min-microamp = <2500000>;
|
|
regulator-max-microamp = <2500000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_bperi: bperi {
|
|
regulator-min-microvolt = <1050000>;
|
|
regulator-max-microvolt = <1050000>;
|
|
regulator-min-microamp = <1500000>;
|
|
regulator-max-microamp = <1500000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_bmem: bmem {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-min-microamp = <3000000>;
|
|
regulator-max-microamp = <3000000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_bio: bio {
|
|
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-min-microamp = <100000>;
|
|
regulator-max-microamp = <100000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_ldo2: ldo2 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-min-microamp = <200000>;
|
|
regulator-max-microamp = <200000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_ldo3: ldo3 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-min-microamp = <200000>;
|
|
regulator-max-microamp = <200000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_ldo4: ldo4 {
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <2500000>;
|
|
regulator-min-microamp = <200000>;
|
|
regulator-max-microamp = <200000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_ldo5: ldo5 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-min-microamp = <100000>;
|
|
regulator-max-microamp = <100000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_ldo6: ldo6 {
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-min-microamp = <200000>;
|
|
regulator-max-microamp = <200000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_ldo7: ldo7 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-min-microamp = <200000>;
|
|
regulator-max-microamp = <200000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_ldo8: ldo8 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-min-microamp = <200000>;
|
|
regulator-max-microamp = <200000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
vdd_ld09: ldo9 {
|
|
regulator-min-microvolt = <1050000>;
|
|
regulator-max-microvolt = <1050000>;
|
|
regulator-min-microamp = <200000>;
|
|
regulator-max-microamp = <200000>;
|
|
};
|
|
|
|
vdd_ldo10: ldo10 {
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1000000>;
|
|
regulator-min-microamp = <300000>;
|
|
regulator-max-microamp = <300000>;
|
|
};
|
|
|
|
vdd_ldo11: ldo11 {
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <2500000>;
|
|
regulator-min-microamp = <300000>;
|
|
regulator-max-microamp = <300000>;
|
|
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";
|
|
};
|