mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
334 lines
6.4 KiB
334 lines
6.4 KiB
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
|
// Copyright (c) 2017 Icenowy Zheng <[email protected]> |
|
|
|
/dts-v1/; |
|
|
|
#include "sun50i-h6.dtsi" |
|
#include "sun50i-h6-cpu-opp.dtsi" |
|
|
|
#include <dt-bindings/gpio/gpio.h> |
|
|
|
/ { |
|
model = "Pine H64 model A"; |
|
compatible = "pine64,pine-h64", "allwinner,sun50i-h6"; |
|
|
|
aliases { |
|
ethernet0 = &emac; |
|
serial0 = &uart0; |
|
spi0 = &spi0; |
|
}; |
|
|
|
chosen { |
|
stdout-path = "serial0:115200n8"; |
|
}; |
|
|
|
ext_osc32k: ext_osc32k_clk { |
|
#clock-cells = <0>; |
|
compatible = "fixed-clock"; |
|
clock-frequency = <32768>; |
|
clock-output-names = "ext_osc32k"; |
|
}; |
|
|
|
hdmi_connector: 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>; |
|
}; |
|
}; |
|
}; |
|
|
|
leds { |
|
compatible = "gpio-leds"; |
|
|
|
led-0 { |
|
label = "pine-h64:green:heartbeat"; |
|
gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ |
|
}; |
|
|
|
led-1 { |
|
label = "pine-h64:white:link"; |
|
gpios = <&r_pio 0 3 GPIO_ACTIVE_HIGH>; /* PL3 */ |
|
}; |
|
|
|
led-2 { |
|
label = "pine-h64:blue:status"; |
|
gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ |
|
}; |
|
}; |
|
|
|
reg_gmac_3v3: gmac-3v3 { |
|
compatible = "regulator-fixed"; |
|
regulator-name = "vcc-gmac-3v3"; |
|
regulator-min-microvolt = <3300000>; |
|
regulator-max-microvolt = <3300000>; |
|
startup-delay-us = <100000>; |
|
gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; |
|
enable-active-high; |
|
}; |
|
|
|
reg_usb_vbus: vbus { |
|
compatible = "regulator-fixed"; |
|
regulator-name = "usb-vbus"; |
|
regulator-min-microvolt = <5000000>; |
|
regulator-max-microvolt = <5000000>; |
|
startup-delay-us = <100000>; |
|
gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; |
|
enable-active-high; |
|
}; |
|
}; |
|
|
|
&cpu0 { |
|
cpu-supply = <®_dcdca>; |
|
}; |
|
|
|
&de { |
|
status = "okay"; |
|
}; |
|
|
|
&ehci0 { |
|
status = "okay"; |
|
}; |
|
|
|
&ehci3 { |
|
status = "okay"; |
|
}; |
|
|
|
&emac { |
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&ext_rgmii_pins>; |
|
phy-mode = "rgmii-id"; |
|
phy-handle = <&ext_rgmii_phy>; |
|
phy-supply = <®_gmac_3v3>; |
|
allwinner,rx-delay-ps = <200>; |
|
allwinner,tx-delay-ps = <200>; |
|
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; |
|
mmc-hs200-1_8v; |
|
bus-width = <8>; |
|
status = "okay"; |
|
}; |
|
|
|
&ohci0 { |
|
status = "okay"; |
|
}; |
|
|
|
&ohci3 { |
|
status = "okay"; |
|
}; |
|
|
|
&pio { |
|
vcc-pc-supply = <®_bldo2>; |
|
vcc-pd-supply = <®_cldo1>; |
|
vcc-pg-supply = <®_aldo1>; |
|
}; |
|
|
|
&r_i2c { |
|
status = "okay"; |
|
|
|
axp805: pmic@36 { |
|
compatible = "x-powers,axp805", "x-powers,axp806"; |
|
reg = <0x36>; |
|
interrupt-parent = <&r_intc>; |
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; |
|
interrupt-controller; |
|
#interrupt-cells = <1>; |
|
x-powers,self-working-mode; |
|
|
|
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 { |
|
/* This regulator is connected with CLDO1 */ |
|
regulator-always-on; |
|
regulator-min-microvolt = <3300000>; |
|
regulator-max-microvolt = <3300000>; |
|
regulator-name = "vcc-3v3-1"; |
|
}; |
|
|
|
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 { |
|
/* This regulator is connected with ALDO3 */ |
|
regulator-always-on; |
|
regulator-min-microvolt = <3300000>; |
|
regulator-max-microvolt = <3300000>; |
|
regulator-name = "vcc-3v3-2"; |
|
}; |
|
|
|
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 */ |
|
}; |
|
}; |
|
}; |
|
|
|
pcf8563: rtc@51 { |
|
compatible = "nxp,pcf8563"; |
|
reg = <0x51>; |
|
interrupt-parent = <&r_intc>; |
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>; |
|
#clock-cells = <0>; |
|
}; |
|
}; |
|
|
|
&r_ir { |
|
status = "okay"; |
|
}; |
|
|
|
&r_pio { |
|
vcc-pm-supply = <®_aldo1>; |
|
}; |
|
|
|
&rtc { |
|
clocks = <&ext_osc32k>; |
|
}; |
|
|
|
/* |
|
* The CS pin is shared with the MMC2 CMD pin, so we cannot have the SPI |
|
* flash and eMMC at the same time, as one of them would fail probing. |
|
* Disable SPI0 in here, to prefer the more useful eMMC. U-Boot can |
|
* fix this up in no eMMC is connected. |
|
*/ |
|
&spi0 { |
|
pinctrl-0 = <&spi0_pins>, <&spi0_cs_pin>; |
|
pinctrl-names = "default"; |
|
status = "disabled"; |
|
|
|
flash@0 { |
|
compatible = "winbond,w25q128", "jedec,spi-nor"; |
|
reg = <0>; |
|
spi-max-frequency = <4000000>; |
|
}; |
|
}; |
|
|
|
&uart0 { |
|
pinctrl-names = "default"; |
|
pinctrl-0 = <&uart0_ph_pins>; |
|
status = "okay"; |
|
}; |
|
|
|
&usb2otg { |
|
dr_mode = "host"; |
|
status = "okay"; |
|
}; |
|
|
|
&usb2phy { |
|
usb0_vbus-supply = <®_usb_vbus>; |
|
usb3_vbus-supply = <®_usb_vbus>; |
|
status = "okay"; |
|
};
|
|
|