mirror of
https://github.com/smaeul/u-boot.git
synced 2025-09-14 14:06:02 +01:00
Copy the devicetree source for the H6 SoC and all existing boards from the Linux v5.18-rc1 tag. To maintain ABI compatibility with existing LTS kernels, one change moving some IP blocks to the r_intc interrupt controller is excluded. This effectively reverts Linux commits 189bef235dd3 and 73088dfee635. This commit also adds the following new board devicetrees: - sun50i-h6-pine-h64-model-b.dts - sun50i-h6-tanix-tx6-mini.dts This update should not impact any existing U-Boot functionality. Series-to: sunxi Cover-letter: sunxi: Devicetree sync from Linux v5.18-rc1 This series brings all of our devicetrees up to date with Linux. Older SoCs (before A83T) have not been synchronized in over 3 years. And I don't have any of this hardware to test. But there are not major changes to those devicetrees either. The big motivation for including older SoCs in this update is converting the USB PHY driver to get its VBUS detection GPIO/regulator from the devicetree instead of from a pin name in Kconfig. Many older boards had those properties added or fixed since the last devicetree sync. This PHY driver change is necessary to complete the DM_GPIO migration. A couple of breaking changes were made to several SoCs' devicetrees in Linux relating to the "r_intc" interrupt controller. New kernels support old devicetrees, but not the other way around. So to be most compatible and avoid regressions, those changes are skipped here. END Signed-off-by: Samuel Holland <samuel@sholland.org>
315 lines
5.8 KiB
Plaintext
315 lines
5.8 KiB
Plaintext
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
// Copyright (C) 2019 Clément Péron <peron.clem@gmail.com>
|
|
|
|
/dts-v1/;
|
|
|
|
#include "sun50i-h6.dtsi"
|
|
#include "sun50i-h6-cpu-opp.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
/ {
|
|
model = "Beelink GS1";
|
|
compatible = "azw,beelink-gs1", "allwinner,sun50i-h6";
|
|
|
|
aliases {
|
|
ethernet0 = &emac;
|
|
serial0 = &uart0;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
connector {
|
|
compatible = "hdmi-connector";
|
|
type = "a";
|
|
ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
|
|
|
|
port {
|
|
hdmi_con_in: endpoint {
|
|
remote-endpoint = <&hdmi_out_con>;
|
|
};
|
|
};
|
|
};
|
|
|
|
ext_osc32k: ext_osc32k_clk {
|
|
#clock-cells = <0>;
|
|
compatible = "fixed-clock";
|
|
clock-frequency = <32768>;
|
|
clock-output-names = "ext_osc32k";
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led {
|
|
label = "beelink:white:power";
|
|
gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
|
|
default-state = "on";
|
|
};
|
|
};
|
|
|
|
reg_vcc5v: vcc5v {
|
|
/* board wide 5V supply directly from the DC jack */
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc-5v";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
regulator-always-on;
|
|
};
|
|
|
|
sound-spdif {
|
|
compatible = "simple-audio-card";
|
|
simple-audio-card,name = "sun50i-h6-spdif";
|
|
|
|
simple-audio-card,cpu {
|
|
sound-dai = <&spdif>;
|
|
};
|
|
|
|
simple-audio-card,codec {
|
|
sound-dai = <&spdif_out>;
|
|
};
|
|
};
|
|
|
|
spdif_out: spdif-out {
|
|
#sound-dai-cells = <0>;
|
|
compatible = "linux,spdif-dit";
|
|
};
|
|
};
|
|
|
|
&cpu0 {
|
|
cpu-supply = <®_dcdca>;
|
|
};
|
|
|
|
&de {
|
|
status = "okay";
|
|
};
|
|
|
|
&dwc3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&ehci0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&emac {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&ext_rgmii_pins>;
|
|
phy-mode = "rgmii-id";
|
|
phy-handle = <&ext_rgmii_phy>;
|
|
phy-supply = <®_aldo2>;
|
|
status = "okay";
|
|
};
|
|
|
|
&gpu {
|
|
mali-supply = <®_dcdcc>;
|
|
status = "okay";
|
|
};
|
|
|
|
&hdmi {
|
|
status = "okay";
|
|
};
|
|
|
|
&hdmi_out {
|
|
hdmi_out_con: endpoint {
|
|
remote-endpoint = <&hdmi_con_in>;
|
|
};
|
|
};
|
|
|
|
&mdio {
|
|
ext_rgmii_phy: ethernet-phy@1 {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
reg = <1>;
|
|
};
|
|
};
|
|
|
|
&mmc0 {
|
|
vmmc-supply = <®_cldo1>;
|
|
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
|
bus-width = <4>;
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc2 {
|
|
vmmc-supply = <®_cldo1>;
|
|
vqmmc-supply = <®_bldo2>;
|
|
non-removable;
|
|
cap-mmc-hw-reset;
|
|
bus-width = <8>;
|
|
status = "okay";
|
|
};
|
|
|
|
&ohci0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pio {
|
|
vcc-pd-supply = <®_cldo1>;
|
|
vcc-pg-supply = <®_aldo1>;
|
|
};
|
|
|
|
&r_ir {
|
|
linux,rc-map-name = "rc-beelink-gs1";
|
|
status = "okay";
|
|
};
|
|
|
|
&r_pio {
|
|
/*
|
|
* FIXME: We can't add that supply for now since it would
|
|
* create a circular dependency between pinctrl, the regulator
|
|
* and the RSB Bus.
|
|
*
|
|
* vcc-pl-supply = <®_aldo1>;
|
|
*/
|
|
vcc-pm-supply = <®_aldo1>;
|
|
};
|
|
|
|
&r_rsb {
|
|
status = "okay";
|
|
|
|
axp805: pmic@745 {
|
|
compatible = "x-powers,axp805", "x-powers,axp806";
|
|
reg = <0x745>;
|
|
interrupt-parent = <&r_intc>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
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-pl";
|
|
};
|
|
|
|
reg_aldo2: aldo2 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-ac200";
|
|
regulator-enable-ramp-delay = <100000>;
|
|
};
|
|
|
|
reg_aldo3: aldo3 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc25-dram";
|
|
};
|
|
|
|
reg_bldo1: bldo1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "vcc-bias-pll";
|
|
};
|
|
|
|
reg_bldo2: bldo2 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "vcc-efuse-pcie-hdmi-io";
|
|
};
|
|
|
|
reg_bldo3: bldo3 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "vcc-dcxoio";
|
|
};
|
|
|
|
bldo4 {
|
|
/* unused */
|
|
};
|
|
|
|
reg_cldo1: cldo1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-3v3";
|
|
};
|
|
|
|
reg_cldo2: cldo2 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-wifi-1";
|
|
};
|
|
|
|
reg_cldo3: cldo3 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-wifi-2";
|
|
};
|
|
|
|
reg_dcdca: dcdca {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <810000>;
|
|
regulator-max-microvolt = <1160000>;
|
|
regulator-ramp-delay = <2500>;
|
|
regulator-name = "vdd-cpu";
|
|
};
|
|
|
|
reg_dcdcc: dcdcc {
|
|
regulator-enable-ramp-delay = <32000>;
|
|
regulator-min-microvolt = <810000>;
|
|
regulator-max-microvolt = <1080000>;
|
|
regulator-ramp-delay = <2500>;
|
|
regulator-name = "vdd-gpu";
|
|
};
|
|
|
|
reg_dcdcd: dcdcd {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <960000>;
|
|
regulator-max-microvolt = <960000>;
|
|
regulator-name = "vdd-sys";
|
|
};
|
|
|
|
reg_dcdce: dcdce {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-name = "vcc-dram";
|
|
};
|
|
|
|
sw {
|
|
/* unused */
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&spdif {
|
|
status = "okay";
|
|
};
|
|
|
|
&uart0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart0_ph_pins>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2otg {
|
|
dr_mode = "host";
|
|
status = "okay";
|
|
};
|
|
|
|
&usb2phy {
|
|
usb0_vbus-supply = <®_vcc5v>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usb3phy {
|
|
status = "okay";
|
|
};
|