armbian-build/patch/kernel/archive/rockchip64-6.18/dt/rk3588s-orangepi-5-pro.dts
2025-10-19 01:43:30 +02:00

419 lines
8.5 KiB
Plaintext

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/dts-v1/;
#include "rk3588s-orangepi-5.dtsi"
/ {
model = "Xunlong Orange Pi 5 Pro";
compatible = "xunlong,orangepi-5-pro", "rockchip,rk3588s";
/delete-node/ chosen;
chosen {
stdout-path = "serial2:1500000n8";
entropy-source = <&rng>;
};
aliases {
mmc0 = &sdhci;
mmc1 = &sdmmc;
};
/delete-node/ rng;
rng: rng@fe378000 {
compatible = "rockchip,rk3588-rng";
reg = <0x0 0xfe378000 0x0 0x200>;
interrupts = <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH 0>;
clocks = <&scmi_clk SCMI_HCLK_SECURE_NS>;
resets = <&scmi_reset 48>;
};
vcc3v3_pcie_eth: vcc3v3-pcie-eth {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_pcie_eth";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-boot-on;
regulator-always-on;
enable-active-high;
gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
vin-supply = <&vcc_3v3_s3>;
};
vcc5v0_otg: vcc5v0-otg {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_otg";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&vcc5v0_otg_en>;
vin-supply = <&vcc5v0_sys>;
regulator-boot-on;
regulator-always-on;
};
/delete-node/ vcc_3v3_sd_s0;
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
post-power-on-delay-ms = <200>;
reset-gpios = <&gpio0 RK_PD0 GPIO_ACTIVE_LOW>;
};
/* The DP0 controller lacks driver support.
dp_en: dp-en {
compatible = "regulator-fixed";
regulator-name = "dp_en";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
regulator-boot-on;
regulator-always-on;
gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_3v3_s3>;
};
*/
/delete-node/ pwm-leds;
pwm-leds {
compatible = "pwm-leds";
led-g {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_STATUS;
linux,default-trigger = "heartbeat";
max-brightness = <255>;
pwms = <&pwm3 0 25000 0>;
};
led-b {
color = <LED_COLOR_ID_BLUE>;
function = LED_FUNCTION_STATUS;
linux,default-trigger = "none";
max-brightness = <0>; // Desync compared with Green LED
pwms = <&pwm15 0 25000 0>;
};
};
fan: pwm-fan {
compatible = "pwm-fan";
#cooling-cells = <2>;
pwms = <&pwm2 0 20000000 0>;
cooling-levels = <0 50 100 150 200 255>;
rockchip,temp-trips = <
50000 1
55000 2
60000 3
65000 4
70000 5
>;
status = "okay";
};
/delete-node/ regulator-vcc-3v3-sd-s0;
/delete-node/ vbus_typec;
/delete-node/ analog-sound;
headphone_amp: headphones-audio-amplifier {
compatible = "simple-audio-amplifier";
sound-name-prefix = "Headphones Amp";
enable-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
};
es8388-sound {
compatible = "simple-audio-card";
pinctrl-names = "default";
pinctrl-0 = <&hp_detect>;
simple-audio-card,name = "rockchip,es8388";
simple-audio-card,bitclock-master = <&daicpu>;
simple-audio-card,format = "i2s";
simple-audio-card,frame-master = <&daicpu>;
simple-audio-card,aux-devs = <&headphone_amp>;
simple-audio-card,hp-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
simple-audio-card,mclk-fs = <256>;
simple-audio-card,pin-switches = "Headphones";
simple-audio-card,routing =
"Headphones", "LOUT1",
"Headphones", "ROUT1",
"Headphones", "Headphones Amp OUTL",
"Headphones", "Headphones Amp OUTR",
"Headphones Amp INL", "LOUT1",
"Headphones Amp INR", "ROUT1",
"LINPUT1", "Microphone Jack",
"RINPUT1", "Microphone Jack",
"LINPUT2", "Onboard Microphone",
"RINPUT2", "Onboard Microphone";
simple-audio-card,widgets =
"Microphone", "Microphone Jack",
"Microphone", "Onboard Microphone",
"Headphone", "Headphones";
daicpu: simple-audio-card,cpu {
sound-dai = <&i2s2_2ch>;
system-clock-frequency = <12288000>;
};
masterdai: simple-audio-card,codec {
sound-dai = <&es8388_sound>;
system-clock-frequency = <12288000>;
};
};
};
&pinctrl {
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-bluetooth {
bt_reg_on: bt-reset-gpio { // BT_REG_ON_H
rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
};
host_wake_bt: bt-wake-gpio { // HOST_WAKE_BT_H
rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_wake_host: bt-irq-gpio { // BT_WAKE_HOST_H
rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
wireless-wlan {
wifi_host_wake_irq: wifi-host-wake-irq {
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
usb {
vcc5v0_otg_en: vcc5v0-otg-en {
rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
dp0 {
dp0_hpd: dp0-hpd {
rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
i2s2 {
/omit-if-no-ref/
i2s2m1_idle: i2s2m1-idle {
rockchip,pins =
/* i2s2m1_lrck_gpio */
<3 RK_PB6 0 &pcfg_pull_none>,
/* i2s2m1_sclk_gpio */
<3 RK_PB5 0 &pcfg_pull_none>;
};
};
};
&pcie2x1l1 {
reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&pcie2x1l2 {
reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&gmac1 {
status = "disabled";
};
&sdio {
max-frequency = <150000000>;
no-sd;
no-mmc;
bus-width = <4>;
disable-wp;
cap-sd-highspeed;
cap-sdio-irq;
keep-power-in-suspend;
vmmc-supply = <&vcc_3v3_s3>;
mmc-pwrseq = <&sdio_pwrseq>;
non-removable;
pinctrl-names = "default";
pinctrl-0 = <&sdiom1_pins>;
sd-uhs-sdr104;
status = "okay";
ap6256: wifi@1 {
compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-fmac";
reg = <1>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PA0 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "host-wake";
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_irq>;
};
};
&sdhci {
status = "okay";
vmmc-supply = <&vcc_3v3_s3>;
};
&sdmmc {
status = "okay";
vmmc-supply = <&vcc_3v3_s3>;
};
&uart9 {
status = "okay";
uart-has-rtscts;
pinctrl-0 = <&uart9m2_xfer &uart9m2_ctsn>;
bluetooth {
compatible = "brcm,bcm4345c5";
clocks = <&hym8563>;
clock-names = "lpo";
interrupt-parent = <&gpio0>;
interrupts = <RK_PC5 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "host-wakeup";
device-wakeup-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
max-speed = <1500000>;
pinctrl-names = "default";
pinctrl-0 = <&bt_wake_host &host_wake_bt>;
vbat-supply = <&vcc_3v3_s3>;
vddio-supply = <&vcc_1v8_s3>;
};
};
&pwm0 {
status = "disabled";
};
&pwm2 {
pinctrl-0 = <&pwm2m1_pins>;
pinctrl-names = "default";
status = "okay";
};
&pwm3 {
pinctrl-0 = <&pwm3m2_pins>;
pinctrl-names = "default";
status = "okay";
};
&pwm15 {
pinctrl-0 = <&pwm15m2_pins>;
pinctrl-names = "default";
status = "okay";
};
// Bluetooth i2S
&i2s0_8ch {
status = "okay";
};
&i2s1_8ch {
status = "disabled";
};
&i2s2_2ch {
pinctrl-names = "default";
pinctrl-0 = <&i2s2m1_lrck
&i2s2m1_mclk
&i2s2m1_sclk
&i2s2m1_sdi
&i2s2m1_sdo>;
status = "okay";
};
&i2c2 {
status = "okay";
};
&i2c3 {
status = "okay";
es8388_sound: audio-codec@11 {
compatible = "everest,es8388", "everest,es8328";
reg = <0x11>;
clocks = <&cru I2S2_2CH_MCLKOUT>;
AVDD-supply = <&vcc_3v3_s0>;
DVDD-supply = <&vcc_1v8_s0>;
HPVDD-supply = <&vcc_3v3_s0>;
PVDD-supply = <&vcc_1v8_s0>;
assigned-clocks = <&cru I2S2_2CH_MCLKOUT>;
assigned-clock-rates = <12288000>;
#sound-dai-cells = <0>;
status = "okay";
};
};
&i2c6 {
/delete-node/ es8388;
/delete-node/ usbc0;
};
&hdmi0_sound {
simple-audio-card,cpu {
sound-dai = <&i2s5_8ch>;
};
};
&usbc0 {
status = "disabled";
};
&usb_host0_xhci {
/delete-property/ usb-role-switch;
dr_mode = "host";
vbus-supply = <&vcc5v0_otg>;
snps,parkmode-disable-hs-quirk;
snps,parkmode-disable-ss-quirk;
quirk-skip-phy-init;
/delete-node/ port;
};
&usb_con {
/delete-node/ ports;
};
&usbdp_phy0 {
/delete-property/ sbu1-dc-gpios;
/delete-property/ sbu2-dc-gpios;
/delete-property/ mode-switch;
/delete-property/ orientation-switch;
rockchip,dp-lane-mux = <0 1>;
};
&usbdp_phy0_typec_ss {
/delete-property/ remote-endpoint;
};
&usbdp_phy0_typec_sbu {
/delete-property/ remote-endpoint;
};
&usb_host2_xhci {
snps,parkmode-disable-hs-quirk;
snps,parkmode-disable-ss-quirk;
};
/* The DP0 controller lacks driver support.
&vp1 {
vp1_out_dp0: endpoint@ROCKCHIP_VOP2_EP_DP0 {
reg = <ROCKCHIP_VOP2_EP_DP0>;
remote-endpoint = <&dp0_in_vp1>;
};
};
*/
&tsadc {
rockchip,grf = <&sys_grf>;
};