mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-15 01:17:39 +00:00
8e2c0ee3ba
Sync the devicetree files from the Linux kernel repo, v6.2-rc2. This is covering the 64-bit SoCs, from arch/arm64/boot/dts/allwinner. This enables GPU power management in the kernel for the H6, enables Bluetooth on the Pinebook, and adds USB to the H616 devices (just for newer Linux kernels at the moment, U-Boot support is pending). As before, this omits the non-backwards compatible changes to the R_INTC controller, to remain compatible with older kernels. Signed-off-by: Andre Przywara <andre.przywara@arm.com>
254 lines
5.1 KiB
Text
254 lines
5.1 KiB
Text
// SPDX-License-Identifier: (GPL-2.0+ or MIT)
|
|
/*
|
|
* Copyright (C) 2020 Arm Ltd.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
|
|
#include "sun50i-h616.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/leds/common.h>
|
|
|
|
/ {
|
|
model = "OrangePi Zero2";
|
|
compatible = "xunlong,orangepi-zero2", "allwinner,sun50i-h616";
|
|
|
|
aliases {
|
|
ethernet0 = &emac0;
|
|
serial0 = &uart0;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led-0 {
|
|
function = LED_FUNCTION_POWER;
|
|
color = <LED_COLOR_ID_RED>;
|
|
gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /* PC12 */
|
|
default-state = "on";
|
|
};
|
|
|
|
led-1 {
|
|
function = LED_FUNCTION_STATUS;
|
|
color = <LED_COLOR_ID_GREEN>;
|
|
gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13 */
|
|
};
|
|
};
|
|
|
|
reg_vcc5v: vcc5v {
|
|
/* board wide 5V supply directly from the USB-C socket */
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc-5v";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
reg_usb1_vbus: regulator-usb1-vbus {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "usb1-vbus";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
vin-supply = <®_vcc5v>;
|
|
enable-active-high;
|
|
gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */
|
|
};
|
|
};
|
|
|
|
&ehci1 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* USB 2 & 3 are on headers only. */
|
|
|
|
&emac0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&ext_rgmii_pins>;
|
|
phy-mode = "rgmii";
|
|
phy-handle = <&ext_rgmii_phy>;
|
|
phy-supply = <®_dcdce>;
|
|
allwinner,rx-delay-ps = <3100>;
|
|
allwinner,tx-delay-ps = <700>;
|
|
status = "okay";
|
|
};
|
|
|
|
&mdio0 {
|
|
ext_rgmii_phy: ethernet-phy@1 {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
reg = <1>;
|
|
};
|
|
};
|
|
|
|
&mmc0 {
|
|
vmmc-supply = <®_dcdce>;
|
|
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
|
bus-width = <4>;
|
|
status = "okay";
|
|
};
|
|
|
|
&ohci1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&r_rsb {
|
|
status = "okay";
|
|
|
|
axp305: pmic@745 {
|
|
compatible = "x-powers,axp305", "x-powers,axp805",
|
|
"x-powers,axp806";
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
reg = <0x745>;
|
|
|
|
x-powers,self-working-mode;
|
|
vina-supply = <®_vcc5v>;
|
|
vinb-supply = <®_vcc5v>;
|
|
vinc-supply = <®_vcc5v>;
|
|
vind-supply = <®_vcc5v>;
|
|
vine-supply = <®_vcc5v>;
|
|
aldoin-supply = <®_vcc5v>;
|
|
bldoin-supply = <®_vcc5v>;
|
|
cldoin-supply = <®_vcc5v>;
|
|
|
|
regulators {
|
|
reg_aldo1: aldo1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-sys";
|
|
};
|
|
|
|
reg_aldo2: aldo2 { /* 3.3V on headers */
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc3v3-ext";
|
|
};
|
|
|
|
reg_aldo3: aldo3 { /* 3.3V on headers */
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc3v3-ext2";
|
|
};
|
|
|
|
reg_bldo1: bldo1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "vcc1v8";
|
|
};
|
|
|
|
bldo2 {
|
|
/* unused */
|
|
};
|
|
|
|
bldo3 {
|
|
/* unused */
|
|
};
|
|
|
|
bldo4 {
|
|
/* unused */
|
|
};
|
|
|
|
cldo1 {
|
|
/* reserved */
|
|
};
|
|
|
|
cldo2 {
|
|
/* unused */
|
|
};
|
|
|
|
cldo3 {
|
|
/* unused */
|
|
};
|
|
|
|
reg_dcdca: dcdca {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <810000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-name = "vdd-cpu";
|
|
};
|
|
|
|
reg_dcdcc: dcdcc {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <810000>;
|
|
regulator-max-microvolt = <990000>;
|
|
regulator-name = "vdd-gpu-sys";
|
|
};
|
|
|
|
reg_dcdcd: dcdcd {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1500000>;
|
|
regulator-max-microvolt = <1500000>;
|
|
regulator-name = "vdd-dram";
|
|
};
|
|
|
|
reg_dcdce: dcdce {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-eth-mmc";
|
|
};
|
|
|
|
sw {
|
|
/* unused */
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&pio {
|
|
vcc-pc-supply = <®_aldo1>;
|
|
vcc-pf-supply = <®_aldo1>;
|
|
vcc-pg-supply = <®_bldo1>;
|
|
vcc-ph-supply = <®_aldo1>;
|
|
vcc-pi-supply = <®_aldo1>;
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>;
|
|
|
|
flash@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <40000000>;
|
|
};
|
|
};
|
|
|
|
&uart0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart0_ph_pins>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usbotg {
|
|
/*
|
|
* PHY0 pins are connected to a USB-C socket, but a role switch
|
|
* is not implemented: both CC pins are pulled to GND.
|
|
* The VBUS pins power the device, so a fixed peripheral mode
|
|
* is the best choice.
|
|
* The board can be powered via GPIOs, in this case port0 *can*
|
|
* act as a host (with a cable/adapter ignoring CC), as VBUS is
|
|
* then provided by the GPIOs. Any user of this setup would
|
|
* need to adjust the DT accordingly: dr_mode set to "host",
|
|
* enabling OHCI0 and EHCI0.
|
|
*/
|
|
dr_mode = "peripheral";
|
|
status = "okay";
|
|
};
|
|
|
|
&usbphy {
|
|
usb1_vbus-supply = <®_usb1_vbus>;
|
|
status = "okay";
|
|
};
|