mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 17:07:38 +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>
431 lines
8 KiB
Text
431 lines
8 KiB
Text
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz>
|
|
// Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
|
|
|
|
/dts-v1/;
|
|
|
|
#include "sun50i-a64.dtsi"
|
|
#include "sun50i-a64-cpu-opp.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/gpio-keys.h>
|
|
#include <dt-bindings/input/input.h>
|
|
#include <dt-bindings/pwm/pwm.h>
|
|
|
|
/ {
|
|
model = "Pinebook";
|
|
compatible = "pine64,pinebook", "allwinner,sun50i-a64";
|
|
chassis-type = "laptop";
|
|
|
|
aliases {
|
|
serial0 = &uart0;
|
|
ethernet0 = &rtl8723cs;
|
|
};
|
|
|
|
backlight: backlight {
|
|
compatible = "pwm-backlight";
|
|
pwms = <&pwm 0 50000 0>;
|
|
brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
|
|
default-brightness-level = <2>;
|
|
enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
|
|
power-supply = <®_vbklt>;
|
|
};
|
|
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
lid-switch {
|
|
label = "Lid Switch";
|
|
gpios = <&r_pio 0 12 GPIO_ACTIVE_LOW>; /* PL12 */
|
|
linux,input-type = <EV_SW>;
|
|
linux,code = <SW_LID>;
|
|
linux,can-disable;
|
|
wakeup-source;
|
|
wakeup-event-action = <EV_ACT_DEASSERTED>;
|
|
};
|
|
};
|
|
|
|
panel_edp: panel-edp {
|
|
compatible = "neweast,wjfh116008a";
|
|
backlight = <&backlight>;
|
|
power-supply = <®_dc1sw>;
|
|
|
|
port {
|
|
panel_edp_in: endpoint {
|
|
remote-endpoint = <&anx6345_out_edp>;
|
|
};
|
|
};
|
|
};
|
|
|
|
reg_vbklt: vbklt {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vbklt";
|
|
regulator-min-microvolt = <18000000>;
|
|
regulator-max-microvolt = <18000000>;
|
|
gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
|
|
enable-active-high;
|
|
};
|
|
|
|
reg_vcc5v0: vcc5v0 {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vcc5v0";
|
|
regulator-min-microvolt = <5000000>;
|
|
regulator-max-microvolt = <5000000>;
|
|
gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>;
|
|
enable-active-high;
|
|
};
|
|
|
|
wifi_pwrseq: wifi_pwrseq {
|
|
compatible = "mmc-pwrseq-simple";
|
|
reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
|
|
};
|
|
|
|
speaker_amp: audio-amplifier {
|
|
compatible = "simple-audio-amplifier";
|
|
VCC-supply = <®_vcc5v0>;
|
|
enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
|
|
sound-name-prefix = "Speaker Amp";
|
|
};
|
|
|
|
};
|
|
|
|
&codec {
|
|
status = "okay";
|
|
};
|
|
|
|
&codec_analog {
|
|
cpvdd-supply = <®_eldo1>;
|
|
status = "okay";
|
|
};
|
|
|
|
&cpu0 {
|
|
cpu-supply = <®_dcdc2>;
|
|
};
|
|
|
|
&cpu1 {
|
|
cpu-supply = <®_dcdc2>;
|
|
};
|
|
|
|
&cpu2 {
|
|
cpu-supply = <®_dcdc2>;
|
|
};
|
|
|
|
&cpu3 {
|
|
cpu-supply = <®_dcdc2>;
|
|
};
|
|
|
|
&dai {
|
|
status = "okay";
|
|
};
|
|
|
|
&de {
|
|
status = "okay";
|
|
};
|
|
|
|
&ehci0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&ehci1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mixer0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc0_pins>;
|
|
vmmc-supply = <®_dcdc1>;
|
|
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
|
disable-wp;
|
|
bus-width = <4>;
|
|
status = "okay";
|
|
};
|
|
|
|
&mmc1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc1_pins>;
|
|
vmmc-supply = <®_dldo4>;
|
|
vqmmc-supply = <®_eldo1>;
|
|
mmc-pwrseq = <&wifi_pwrseq>;
|
|
bus-width = <4>;
|
|
non-removable;
|
|
status = "okay";
|
|
|
|
rtl8723cs: wifi@1 {
|
|
reg = <1>;
|
|
};
|
|
};
|
|
|
|
&mmc2 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
|
|
vmmc-supply = <®_dcdc1>;
|
|
vqmmc-supply = <®_eldo1>;
|
|
max-frequency = <200000000>;
|
|
bus-width = <8>;
|
|
non-removable;
|
|
cap-mmc-hw-reset;
|
|
mmc-hs200-1_8v;
|
|
status = "okay";
|
|
};
|
|
|
|
&ohci0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&ohci1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pio {
|
|
vcc-pc-supply = <®_eldo1>;
|
|
vcc-pd-supply = <®_dcdc1>;
|
|
vcc-pe-supply = <®_aldo1>;
|
|
vcc-pg-supply = <®_eldo1>;
|
|
};
|
|
|
|
&pwm {
|
|
status = "okay";
|
|
};
|
|
|
|
&r_i2c {
|
|
clock-frequency = <100000>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&r_i2c_pl89_pins>;
|
|
status = "okay";
|
|
|
|
anx6345: anx6345@38 {
|
|
compatible = "analogix,anx6345";
|
|
reg = <0x38>;
|
|
reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
|
|
dvdd25-supply = <®_dldo2>;
|
|
dvdd12-supply = <®_fldo1>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
anx6345_in: port@0 {
|
|
reg = <0>;
|
|
anx6345_in_tcon0: endpoint {
|
|
remote-endpoint = <&tcon0_out_anx6345>;
|
|
};
|
|
};
|
|
|
|
anx6345_out: port@1 {
|
|
reg = <1>;
|
|
anx6345_out_edp: endpoint {
|
|
remote-endpoint = <&panel_edp_in>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&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 = <®_aldo2>;
|
|
*/
|
|
};
|
|
|
|
&r_rsb {
|
|
status = "okay";
|
|
|
|
axp803: pmic@3a3 {
|
|
compatible = "x-powers,axp803";
|
|
reg = <0x3a3>;
|
|
interrupt-parent = <&r_intc>;
|
|
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
|
|
};
|
|
};
|
|
|
|
#include "axp803.dtsi"
|
|
|
|
&ac_power_supply {
|
|
status = "okay";
|
|
};
|
|
|
|
&battery_power_supply {
|
|
status = "okay";
|
|
};
|
|
|
|
®_aldo1 {
|
|
regulator-name = "vcc-pe";
|
|
};
|
|
|
|
®_aldo2 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-pl";
|
|
};
|
|
|
|
®_aldo3 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <2700000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-pll-avcc";
|
|
};
|
|
|
|
®_dc1sw {
|
|
regulator-name = "vcc-lcd";
|
|
};
|
|
|
|
®_dcdc1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-3v3";
|
|
};
|
|
|
|
®_dcdc2 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1000000>;
|
|
regulator-max-microvolt = <1300000>;
|
|
regulator-name = "vdd-cpux";
|
|
};
|
|
|
|
/* DCDC3 is polyphased with DCDC2 */
|
|
|
|
®_dcdc5 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-name = "vcc-dram";
|
|
};
|
|
|
|
®_dcdc6 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-name = "vdd-sys";
|
|
};
|
|
|
|
®_dldo1 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-hdmi";
|
|
};
|
|
|
|
®_dldo2 {
|
|
regulator-min-microvolt = <2500000>;
|
|
regulator-max-microvolt = <2500000>;
|
|
regulator-name = "vcc-edp";
|
|
};
|
|
|
|
®_dldo4 {
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
regulator-name = "vcc-wifi";
|
|
};
|
|
|
|
®_eldo1 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1800000>;
|
|
regulator-max-microvolt = <1800000>;
|
|
regulator-name = "cpvdd";
|
|
};
|
|
|
|
®_fldo1 {
|
|
regulator-min-microvolt = <1200000>;
|
|
regulator-max-microvolt = <1200000>;
|
|
regulator-name = "vcc-1v2-hsic";
|
|
};
|
|
|
|
®_fldo2 {
|
|
regulator-always-on;
|
|
regulator-min-microvolt = <1100000>;
|
|
regulator-max-microvolt = <1100000>;
|
|
regulator-name = "vdd-cpus";
|
|
};
|
|
|
|
®_rtc_ldo {
|
|
regulator-name = "vcc-rtc";
|
|
};
|
|
|
|
&simplefb_lcd {
|
|
panel-supply = <®_dc1sw>;
|
|
dvdd25-supply = <®_dldo2>;
|
|
dvdd12-supply = <®_fldo1>;
|
|
};
|
|
|
|
&simplefb_hdmi {
|
|
vcc-hdmi-supply = <®_dldo1>;
|
|
};
|
|
|
|
&sound {
|
|
status = "okay";
|
|
simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>;
|
|
simple-audio-card,widgets = "Microphone", "Internal Microphone Left",
|
|
"Microphone", "Internal Microphone Right",
|
|
"Headphone", "Headphone Jack",
|
|
"Speaker", "Internal Speaker";
|
|
simple-audio-card,routing =
|
|
"Left DAC", "DACL",
|
|
"Right DAC", "DACR",
|
|
"Speaker Amp INL", "LINEOUT",
|
|
"Speaker Amp INR", "LINEOUT",
|
|
"Internal Speaker", "Speaker Amp OUTL",
|
|
"Internal Speaker", "Speaker Amp OUTR",
|
|
"Headphone Jack", "HP",
|
|
"ADCL", "Left ADC",
|
|
"ADCR", "Right ADC",
|
|
"Internal Microphone Left", "MBIAS",
|
|
"MIC1", "Internal Microphone Left",
|
|
"Internal Microphone Right", "HBIAS",
|
|
"MIC2", "Internal Microphone Right";
|
|
};
|
|
|
|
&tcon0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&lcd_rgb666_pins>;
|
|
|
|
status = "okay";
|
|
};
|
|
|
|
&tcon0_out {
|
|
tcon0_out_anx6345: endpoint {
|
|
remote-endpoint = <&anx6345_in_tcon0>;
|
|
};
|
|
};
|
|
|
|
&uart0 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart0_pb_pins>;
|
|
status = "okay";
|
|
};
|
|
|
|
&uart1 {
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
|
|
uart-has-rtscts;
|
|
status = "okay";
|
|
|
|
bluetooth {
|
|
compatible = "realtek,rtl8723cs-bt";
|
|
device-wake-gpios = <&r_pio 0 5 GPIO_ACTIVE_LOW>; /* PL5 */
|
|
enable-gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */
|
|
host-wake-gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */
|
|
};
|
|
};
|
|
|
|
&usb_otg {
|
|
dr_mode = "host";
|
|
};
|
|
|
|
&usbphy {
|
|
usb0_vbus-supply = <®_vcc5v0>;
|
|
usb1_vbus-supply = <®_vcc5v0>;
|
|
status = "okay";
|
|
};
|