mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-16 09:54:35 +00:00

Sync the devicetree files from the official Linux kernel tree, v6.10. This is covering Allwinner SoCs with 32-bit and 64-bit ARM cores. Besides mostly cosmectic changes, this adds cpufreq support to H616 boards, Nothing that U-Boot needs for itself, but helpful to pass on to kernels. We also get the .dts files for the Tanix TX1 TV box and three Anbernic handheld gaming devices. 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: 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";
|
|
};
|