This commit is contained in:
GitHub Action
2024-04-14 03:38:21 +00:00
parent 514d6f07cb
commit b8d28be4aa
10 changed files with 5158 additions and 0 deletions
+143
View File
@@ -0,0 +1,143 @@
#!/bin/sh
#
# Copyright (C) 2013-2015 OpenWrt.org
#
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
rockchip_setup_interfaces()
{
local board="$1"
case "$board" in
armsom,sige7-v1|\
easepi,ars4|\
friendlyelec,nanopi-r5c|\
friendlyelec,nanopi-r6c|\
fastrhino,r66s|\
hinlink,h88k-v2|\
hinlink,h88k|\
hinlink,opc-h66k|\
hinlink,hnas|\
jsy,h1|\
nlnet,xgp|\
firefly,rk3568-roc-pc)
ucidef_set_interfaces_lan_wan 'eth1' 'eth0'
;;
hinlink,opc-h69k|\
friendlyelec,nanopi-r5s)
ucidef_set_interfaces_lan_wan "eth1 eth2" "eth0"
;;
lyt,t68m|\
fastrhino,r68s|\
hinlink,opc-h68k)
ucidef_set_interfaces_lan_wan 'eth1 eth2 eth3' 'eth0'
;;
friendlyelec,nanopi-r6s)
ucidef_set_interfaces_lan_wan 'eth2 eth0' 'eth1'
;;
hinlink,h88k-v3)
ucidef_set_interfaces_lan_wan 'eth1 eth2 eth3 eth4' 'eth0'
;;
hlink,h28k)
ucidef_set_interfaces_lan_wan 'eth0' 'eth1'
;;
inspur,ihec301)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
;;
*)
ucidef_set_interface_lan 'eth0' 'dhcp'
;;
esac
}
generate_mac_from_mmc()
{
local sd_hash
local bootdisk=$(
. /lib/upgrade/common.sh
export_bootdevice && export_partdevice bootdisk 0 && echo $bootdisk
)
if echo "$bootdisk" | grep -q '^mmcblk' && [ -f "/sys/class/block/$bootdisk/device/cid" ]; then
sd_hash=$(sha256sum /sys/class/block/$bootdisk/device/cid | head -n 1)
else
sd_hash=$(sha256sum /sys/class/block/mmcblk*/device/cid | head -n 1)
fi
local mac_base=$(macaddr_canonicalize "$(echo "${sd_hash}" | dd bs=1 count=12 2>/dev/null)")
echo "$(macaddr_unsetbit_mc "$(macaddr_setbit_la "${mac_base}")")"
}
rockchip_setup_macs()
{
local board="$1"
local lan_mac=""
local wan_mac=""
case "$board" in
armsom,sige7-v1|\
easepi,ars4|\
firefly,rk3568-roc-pc|\
friendlyelec,nanopi-r5s|\
friendlyelec,nanopi-r5c|\
friendlyelec,nanopi-r6s|\
friendlyelec,nanopi-r6c|\
hlink,h28k|\
hinlink,h88k-*|\
hinlink,h88k|\
hinlink,opc-h69k|\
hinlink,opc-h68k|\
hinlink,opc-h66k|\
hinlink,hnas|\
jsy,h1|\
yyy,h1|\
idiskk,h1|\
jp,tvbox|\
panther,x2|\
lyt,t68m|\
nlnet,xgp|\
fastrhino,r66s|\
fastrhino,r68s)
wan_mac=$(generate_mac_from_mmc)
lan_mac=$(macaddr_add "$wan_mac" 1)
;;
*)
lan_mac=$(generate_mac_from_mmc)
;;
esac
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
}
generate_wwan_uci()
{
local device="$1"
ucidef_set_interface "wwan" device "$device" protocol "modemmanager" metric "100"
[ -f /rom/note -o -f /etc/config/network ] || uci get firewall.@zone[1].network | grep -qFw wwan || uci add_list firewall.@zone[1].network='wwan'
}
rockchip_setup_wwan()
{
local board="$1"
case "$board" in
hinlink,opc-h69k)
generate_wwan_uci "/sys/devices/platform/usbhost/fd000000.dwc3/xhci-hcd.0.auto/usb4/4-1"
;;
hinlink,h88k-*|\
hinlink,h88k)
generate_wwan_uci "/sys/devices/platform/usbdrd3_1/fc400000.usb/xhci-hcd.4.auto/usb6/6-1/6-1.1"
;;
esac
}
board_config_update
board=$(board_name)
rockchip_setup_interfaces $board
rockchip_setup_macs $board
rockchip_setup_wwan $board
board_config_flush
exit 0
@@ -0,0 +1,14 @@
#!/bin/bash
# cd /lib/firmware/brcm/
wget -O /lib/firmware/brcm/brcmfmac43430-sdio.bin https://qsth520.gitee.io/files/wifi/brcmfmac43430-sdio.bin
wget -O /lib/firmware/brcm/brcmfmac43430-sdio.panther,x2.bin https://qsth520.gitee.io/files/wifi/brcmfmac43430-sdio.bin
wget -O /lib/firmware/brcm/brcmfmac43430-sdio.clm_blob https://qsth520.gitee.io/files/wifi/brcmfmac43430-sdio.clm_blob
wget -O /lib/firmware/brcm/brcmfmac43430-sdio.panther,x2.clm_blob https://qsth520.gitee.io/files/wifi/brcmfmac43430-sdio.clm_blob
wget -O /lib/firmware/brcm/brcmfmac43430-sdio.txt https://qsth520.gitee.io/files/wifi/brcmfmac43430-sdio
wget -O /lib/firmware/brcm/brcmfmac43430-sdio.panther,x2.txt https://qsth520.gitee.io/files/wifi/brcmfmac43430-sdio
echo "WiFi驱动包已下载到指定目录完毕,正在重启系统中……"
reboot
File diff suppressed because it is too large Load Diff
+17
View File
@@ -0,0 +1,17 @@
# CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_mangopi_m28k is not set
# CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_nlnet_xgp is not set
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_easepi_ars4=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_fastrhino_r6xs=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_firefly_station-p2=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_friendlyarm_nanopi-r5s=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_friendlyarm_nanopi-r6s=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_hinlink_h88k=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_hinlink_opc-h6xk=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_hlink_h28k=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_idiskk_h1=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_lyt_t68m=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_yyy_h1=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_jp_tvbox=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_panther_x2=y
CONFIG_TARGET_DEVICE_rockchip_rk35xx_DEVICE_dg_nas=y
+288
View File
@@ -0,0 +1,288 @@
#!/bin/sh
# based on https://github.com/6ang996/istoreos-rk356x/blob/rk356x/target/linux/rk356x/armv8/base-files/etc/init.d/rename_iface
. /lib/functions.sh
NPROCS="$(grep -c "^processor.*:" /proc/cpuinfo)"
PROC_MASK="$(( (1 << $NPROCS) - 1 ))"
PROC_MASK="$(printf %x "$PROC_MASK")"
rename_iface() {
ip link set $1 down && ip link set $1 name $2
}
get_iface_device() {
basename $(readlink /sys/class/net/$1/device)
}
set_iface_cpumask() {
local core_mask="$1"
local interface="$2"
local device="$3"
local irq
local seconds
local mq
local q
local queue_mask=$(( 0x${PROC_MASK} ^ 0x${core_mask} ))
queue_mask="$(printf %x "$queue_mask")"
local mq_mask="$4"
[[ -d "/sys/class/net/${interface}" ]] || return 1
[[ -n "${device}" && "${device}" = "${interface}-*" ]] && mq=1
[[ -z "${mq}" || "${device}" = "${interface}-0" ]] && ip link set dev "${interface}" up
[[ -z "${device}" ]] && device="$interface"
for seconds in $(seq 0 1); do
irq=$(grep -m1 " ${device}\$" /proc/interrupts | sed -n -e 's/^ *\([^ :]\+\):.*$/\1/p')
if [ -n "${irq}" ]; then
echo "${core_mask}" > /proc/irq/${irq}/smp_affinity
if [[ -z "${mq}" ]]; then
echo "${queue_mask}" > /sys/class/net/$interface/queues/rx-0/rps_cpus
echo "${queue_mask}" > /sys/class/net/$interface/queues/tx-0/xps_cpus
elif [[ "${device}" = "${interface}-0" ]]; then
[[ -n "$mq_mask" ]] || mq_mask="${queue_mask}"
for q in /sys/class/net/$interface/queues/rx-*; do
echo "$mq_mask" > "$q/rps_cpus"
done
# for q in /sys/class/net/$interface/queues/tx-*; do
# echo "$mq_mask" > "$q/xps_cpus"
# done
fi
return 0
fi
sleep 1
done
return 1
}
board_fixup_iface_name() {
local device
case $(board_name) in
friendlyelec,nanopi-r5c|\
fastrhino,r66s)
device="$(get_iface_device eth0)"
if [[ "$device" = "0001:11:00.0" ]]; then
rename_iface eth0 lan1
rename_iface eth1 eth0
rename_iface lan1 eth1
fi
;;
easepi,ars4|\
jsy,h1|\
hinlink,hnas|\
hinlink,opc-h66k)
device="$(get_iface_device eth1)"
if [[ "$device" = "0001:11:00.0" ]]; then
rename_iface eth0 lan1
rename_iface eth1 eth0
rename_iface lan1 eth1
fi
;;
lyt,t68m|\
fastrhino,r68s)
device="$(get_iface_device eth0)"
if [[ "$device" = "fe010000.ethernet" ]]; then
rename_iface eth0 wan
rename_iface eth1 eth0
rename_iface wan eth1
fi
device="$(get_iface_device eth3)"
if [[ "$device" = "0002:21:00.0" ]]; then
rename_iface eth2 lan3
rename_iface eth3 eth2
rename_iface lan3 eth3
fi
;;
firefly,rk3568-roc-pc)
device="$(get_iface_device eth0)"
if [[ "$device" = "fe010000.ethernet" ]]; then
rename_iface eth0 wan
rename_iface eth1 eth0
rename_iface wan eth1
fi
;;
friendlyelec,nanopi-r5s)
device="$(get_iface_device eth2)"
# r5s lan1 is under pcie2x1
if [[ "$device" = "0000:01:00.0" ]]; then
rename_iface eth1 lan2
rename_iface eth2 eth1
rename_iface lan2 eth2
fi
;;
hinlink,opc-h68k)
device="$(get_iface_device eth1)"
if [[ "$device" = "fe010000.ethernet" ]]; then
rename_iface eth0 wan
rename_iface eth1 eth0
rename_iface wan eth1
fi
device="$(get_iface_device eth3)"
if [[ "$device" = "0001:11:00.0" ]]; then
rename_iface eth2 lan3
rename_iface eth3 eth2
rename_iface lan3 eth3
fi
;;
hinlink,opc-h69k)
device="$(get_iface_device eth2)"
if [[ "$device" = "0001:11:00.0" ]]; then
rename_iface eth1 lan2
rename_iface eth2 eth1
rename_iface lan2 eth2
fi
;;
hinlink,h88k-v3|\
friendlyelec,nanopi-r6s)
device="$(get_iface_device eth1)"
if [[ "$device" = "0004:41:00.0" ]]; then
rename_iface eth1 lan2
rename_iface eth2 eth1
rename_iface lan2 eth2
fi
;;
armsom,sige7-v1)
device="$(get_iface_device eth1)"
if [[ "$device" = "0004:41:00.0" ]]; then
rename_iface eth1 wan
rename_iface eth0 eth1
rename_iface wan eth0
fi
;;
esac
}
board_set_iface_smp_affinity() {
case $(board_name) in
firefly,rk3568-roc-pc)
set_iface_cpumask 2 eth0
set_iface_cpumask 4 eth1
;;
hinlink,opc-h69k|\
friendlyelec,nanopi-r5s)
set_iface_cpumask 2 eth0
if ethtool -i eth1 | grep -Fq 'driver: r8169'; then
set_iface_cpumask 4 "eth1"
set_iface_cpumask 8 "eth2"
else
set_iface_cpumask 4 "eth1" "eth1-0" && \
set_iface_cpumask 4 "eth1" "eth1-16" && \
set_iface_cpumask 2 "eth1" "eth1-18" && \
set_iface_cpumask 8 "eth2" "eth2-0" && \
set_iface_cpumask 8 "eth2" "eth2-18" && \
set_iface_cpumask 1 "eth2" "eth2-16"
fi
;;
lyt,t68m|\
fastrhino,r68s|\
hinlink,opc-h68k)
set_iface_cpumask 1 "eth0"
set_iface_cpumask 2 "eth1"
if ethtool -i eth2 | grep -Fq 'driver: r8169'; then
set_iface_cpumask 4 "eth2"
set_iface_cpumask 8 "eth3"
else
set_iface_cpumask 4 "eth2" "eth2-0" && \
set_iface_cpumask 4 "eth2" "eth2-16" && \
set_iface_cpumask 2 "eth2" "eth2-18" && \
set_iface_cpumask 8 "eth3" "eth3-0" && \
set_iface_cpumask 8 "eth3" "eth3-18" && \
set_iface_cpumask 1 "eth3" "eth3-16"
fi
;;
jsy,h1|\
yyy,h1|\
easepi,ars4|\
friendlyelec,nanopi-r5c|\
fastrhino,r66s|\
hinlink,hnas|\
hinlink,opc-h66k)
if ethtool -i eth0 | grep -Fq 'driver: r8169'; then
set_iface_cpumask 4 "eth0"
set_iface_cpumask 8 "eth1"
else
set_iface_cpumask 2 "eth0" "eth0-0" && \
set_iface_cpumask 2 "eth0" "eth0-16" && \
set_iface_cpumask 8 "eth0" "eth0-18" && \
set_iface_cpumask 4 "eth1" "eth1-0" && \
set_iface_cpumask 4 "eth1" "eth1-18" && \
set_iface_cpumask 1 "eth1" "eth1-16"
fi
;;
armsom,sige7-v1|\
friendlyelec,nanopi-r6s|\
friendlyelec,nanopi-r6c)
set_iface_cpumask 2 eth0
if ethtool -i eth1 | grep -Fq 'driver: r8169'; then
set_iface_cpumask 4 "eth1"
set_iface_cpumask 8 "eth2"
else
set_iface_cpumask 4 "eth1" "eth1-0" f0 && \
set_iface_cpumask 4 "eth1" "eth1-16" && \
set_iface_cpumask 2 "eth1" "eth1-18" && \
set_iface_cpumask 8 "eth2" "eth2-0" f0 && \
set_iface_cpumask 8 "eth2" "eth2-18" && \
set_iface_cpumask 1 "eth2" "eth2-16"
fi
;;
hinlink,h88k-*|\
hinlink,h88k)
set_iface_cpumask 2 eth0
if ethtool -i eth1 | grep -Fq 'driver: r8169'; then
set_iface_cpumask 4 "eth1"
set_iface_cpumask 8 "eth2" && \
set_iface_cpumask 10 "eth3" && \
set_iface_cpumask 20 "eth4"
else
set_iface_cpumask 4 "eth1" "eth1-0" f0 && \
set_iface_cpumask 4 "eth1" "eth1-16" && \
set_iface_cpumask 2 "eth1" "eth1-18" && \
set_iface_cpumask 8 "eth2" "eth2-0" f0 && \
set_iface_cpumask 8 "eth2" "eth2-18" && \
set_iface_cpumask 1 "eth2" "eth2-16" && \
set_iface_cpumask 10 "eth3" "eth3-0" f0 && \
set_iface_cpumask 10 "eth3" "eth3-16" && \
set_iface_cpumask 8 "eth3" "eth3-18" && \
set_iface_cpumask 20 "eth4" "eth4-0" f0 && \
set_iface_cpumask 20 "eth4" "eth4-18" && \
set_iface_cpumask 4 "eth4" "eth4-16"
fi
;;
hlink,h28k)
set_iface_cpumask 5 eth0
set_iface_cpumask b eth1
;;
ynn,nas|\
jp,tvbox|\
panther,x2|\
hsa,bh2)
set_iface_cpumask 2 "eth0"
;;
esac
}
board_wait_wifi() {
local seconds
[[ -f "/etc/uci-defaults/01-rk35xx-wifi" ]] || return 0
case $(board_name) in
hinlink,h88k-*|\
hinlink,h88k|\
hinlink,opc-h68k|\
hinlink,opc-h69k)
for seconds in $(seq 0 30); do
[[ -s /etc/config/wireless ]] && break
sleep 1
done
sleep 1
;;
esac
}
board_fixup_iface_name
board_set_iface_smp_affinity
board_wait_wifi
+736
View File
@@ -0,0 +1,736 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2023 tdleiyao <tdleiyao@gmail.com>
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/rk-input.h>
#ifdef DTS_NO_LEGACY
#include <dt-bindings/soc/rockchip,vop2.h>
#else
#include <dt-bindings/display/rockchip_vop.h>
#endif
#include "rk3566.dtsi"
/ {
model = "JianPian TV Box";
compatible = "jp,tvbox", "rockchip,rk3566";
aliases {
ethernet0 = &gmac1;
mmc0 = &sdhci;
mmc1 = &sdmmc1;
};
chosen: chosen {
bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rw rootwait";
};
fiq_debugger: fiq-debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "okay";
};
debug: debug@fd904000 {
compatible = "rockchip,debug";
reg = <0x0 0xfd904000 0x0 0x1000>,
<0x0 0xfd905000 0x0 0x1000>,
<0x0 0xfd906000 0x0 0x1000>,
<0x0 0xfd907000 0x0 0x1000>;
};
hdmi_sound: hdmi-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,mclk-fs = <128>;
simple-audio-card,name = "rockchip,hdmi";
status = "okay";
simple-audio-card,cpu {
sound-dai = <&i2s0_8ch>;
};
simple-audio-card,codec {
sound-dai = <&hdmi>;
};
};
gmac1_clkin: external-gmac1-clock {
compatible = "fixed-clock";
clock-frequency = <125000000>;
clock-output-names = "gmac1_clkin";
#clock-cells = <0>;
};
leds {
compatible = "gpio-leds";
led_status: led-status {
label = "led-status";
default-state = "on";
gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
pinctrl-names = "default";
pinctrl-0 = <&led_status_enable_h>;
retain-state-suspended;
status = "okay";
};
};
dc_12v: dc-12v {
compatible = "regulator-fixed";
regulator-name = "dc_12v";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
};
vcc5v0_sys: vcc5v0-sys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&dc_12v>;
};
vcc3v3_sys: vcc3v3-sys {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vcc5v0_sys>;
};
sdio_pwrseq: sdio-pwrseq {
status = "okay";
compatible = "mmc-pwrseq-simple";
clocks = <&rk809 1>;
clock-names = "ext_clock";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
post-power-on-delay-ms = <100>;
};
wireless_wlan: wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
wifi_chip_type = "ap6398s";
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_irq>;
WIFI,host_wake_irq = <&gpio2 RK_PB2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&combphy1_usq {
status = "okay";
};
&combphy2_psq {
status = "okay";
};
&cpu0 {
cpu-supply = <&vdd_cpu>;
};
&cpu1 {
cpu-supply = <&vdd_cpu>;
};
&cpu2 {
cpu-supply = <&vdd_cpu>;
};
&cpu3 {
cpu-supply = <&vdd_cpu>;
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_gpu>;
status = "okay";
};
&gmac1 {
snps,reset-gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
/* Reset time is 20ms, 100ms for rtl8211f */
snps,reset-delays-us = <0 20000 100000>;
phy-mode = "rgmii";
clock_in_out = "output";
assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
assigned-clock-rates = <0>, <125000000>;
pinctrl-names = "default";
pinctrl-0 = <&gmac1m0_miim
&gmac1m0_tx_bus2
&gmac1m0_rx_bus2
&gmac1m0_rgmii_clk
&gmac1m0_rgmii_bus>;
tx_delay = <0x41>;
rx_delay = <0x2e>;
phy-handle = <&rgmii_phy1>;
status = "okay";
};
&mdio1 {
rgmii_phy1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1>;
status = "okay";
};
};
&hdmi {
avdd-0v9-supply = <&vdda0v9_image>;
avdd-1v8-supply = <&vcca1v8_image>;
status = "okay";
};
&hdmi_in_vp0 {
status = "okay";
};
&hdmi_in_vp1 {
status = "disabled";
};
&hdmi_sound {
status = "okay";
};
&i2c0 {
status = "okay";
vdd_cpu: regulator@1c {
compatible = "tcs,tcs4525";
reg = <0x1c>;
fcs,suspend-voltage-selector = <1>;
regulator-name = "vdd_cpu";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1150000>;
regulator-ramp-delay = <2300>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
pinctrl-names = "default";
pinctrl-0 = <&pmic_int_l>;
rockchip,system-power-controller;
wakeup-source;
vcc1-supply = <&vcc3v3_sys>;
vcc2-supply = <&vcc3v3_sys>;
vcc3-supply = <&vcc3v3_sys>;
vcc4-supply = <&vcc3v3_sys>;
vcc5-supply = <&vcc3v3_sys>;
vcc6-supply = <&vcc3v3_sys>;
vcc7-supply = <&vcc3v3_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc3v3_sys>;
regulators {
vdd_logic: DCDC_REG1 {
regulator-name = "vdd_logic";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1350000>;
regulator-init-microvolt = <900000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdd_gpu: DCDC_REG2 {
regulator-name = "vdd_gpu";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1350000>;
regulator-init-microvolt = <900000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_ddr";
regulator-state-mem {
regulator-on-in-suspend;
};
};
vdd_npu: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1350000>;
regulator-init-microvolt = <900000>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_npu";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_1v8: DCDC_REG5 {
regulator-name = "vcc_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdda0v9_image: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-name = "vdda0v9_image";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdda_0v9: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-name = "vdda_0v9";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdda0v9_pmu: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-name = "vdda0v9_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <900000>;
};
};
vccio_acodec: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_acodec";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc3v3_pmu: LDO_REG6 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcca_1v8: LDO_REG7 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcca_1v8";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcca1v8_pmu: LDO_REG8 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcca1v8_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vcca1v8_image: LDO_REG9 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcca1v8_image";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_3v3: SWITCH_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc_3v3";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc3v3_sd: SWITCH_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc3v3_sd";
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
};
};
&i2s1_8ch {
pinctrl-names = "default";
pinctrl-0 = <&i2s1m1_sclktx &i2s1m1_sclkrx
&i2s1m1_lrcktx &i2s1m1_lrckrx
&i2s1m1_sdi0 &i2s1m1_sdi1
&i2s1m1_sdi2 &i2s1m1_sdi3
&i2s1m1_sdo0 &i2s1m1_sdo1
&i2s1m1_sdo2 &i2s1m1_sdo3>;
status = "disabled";
};
&pinctrl {
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-wlan {
wifi_host_wake_irq: wifi-host-wake-irq {
rockchip,pins = <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
bt {
bt_enable_h: bt-enable-h {
rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_host_wake_l: bt-host-wake-l {
rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_wake_l: bt-wake-l {
rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
leds {
led_status_enable_h: led-status-enable-h {
rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
pmic {
pmic_int_l: pmic-int-l {
rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&pmu_io_domains {
pmuio1-supply = <&vcc3v3_pmu>;
pmuio2-supply = <&vcc3v3_pmu>;
vccio1-supply = <&vcc_3v3>;
vccio3-supply = <&vccio_sd>;
vccio4-supply = <&vcc_1v8>;
vccio5-supply = <&vcc_3v3>;
vccio6-supply = <&vcc_1v8>;
vccio7-supply = <&vcc_3v3>;
status = "okay";
};
&saradc {
vref-supply = <&vcca_1v8>;
status = "okay";
};
&sata2 {
status = "okay";
};
&sdhci {
bus-width = <8>;
max-frequency = <200000000>;
no-sdio;
no-sd;
mmc-hs200-1_8v;
supports-emmc;
non-removable;
vmmc-supply = <&vcc_3v3>;
vqmmc-supply = <&vcc_1v8>;
status = "okay";
};
&sdmmc1 {
#address-cells = <1>;
#size-cells = <0>;
bus-width = <4>;
max-frequency = <200000000>;
cap-sd-highspeed;
sd-uhs-sdr50;
sd-uhs-sdr104;
cap-sdio-irq;
disable-wp;
supports-sdio;
non-removable;
keep-power-in-suspend;
mmc-pwrseq = <&sdio_pwrseq>;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
status = "okay";
};
&tsadc {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
status = "disabled";
bluetooth {
compatible = "brcm,bcm43438-bt";
clocks = <&rk809 1>;
clock-names = "lpo";
device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
max-speed = <1500000>;
pinctrl-names = "default";
pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
vbat-supply = <&vcc3v3_sys>;
vddio-supply = <&vcca1v8_pmu>;
};
};
&uart2 {
status = "disabled";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&usb2phy0 {
status = "okay";
};
&u2phy0_host {
status = "okay";
};
&u2phy0_otg {
status = "okay";
};
&usbdrd_dwc3 {
dr_mode = "host";
extcon = <&usb2phy0>;
status = "okay";
};
&usbdrd30 {
status = "okay";
};
&usbhost_dwc3 {
status = "okay";
};
&usbhost30 {
status = "okay";
};
// video output
&i2s0_8ch {
status = "okay";
};
&rng {
status = "okay";
};
&reserved_memory {
ramoops: ramoops@110000 {
compatible = "ramoops";
reg = <0x0 0x110000 0x0 0xf0000>;
record-size = <0x20000>;
console-size = <0x80000>;
ftrace-size = <0x00000>;
pmsg-size = <0x50000>;
};
};
&bus_npu {
bus-supply = <&vdd_logic>;
pvtm-supply = <&vdd_cpu>;
status = "okay";
};
&iep {
status = "okay";
};
&iep_mmu {
status = "okay";
};
&jpegd {
status = "okay";
};
&jpegd_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&rk_rga {
status = "okay";
};
&rkvdec {
status = "okay";
};
&rkvdec_mmu {
status = "okay";
};
&rkvenc {
venc-supply = <&vdd_logic>;
status = "okay";
};
&rkvenc_mmu {
status = "okay";
};
&rknpu {
rknpu-supply = <&vdd_npu>;
status = "okay";
};
&rknpu_mmu {
status = "okay";
};
&vdpu {
status = "okay";
};
&vdpu_mmu {
status = "okay";
};
&vepu {
status = "okay";
};
&vepu_mmu {
status = "okay";
};
&vop {
assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>, <&cru PLL_GPLL>;
status = "okay";
};
&vop_mmu {
status = "okay";
};
+770
View File
@@ -0,0 +1,770 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2023 tdleiyao <tdleiyao@gmail.com>
*/
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/input/rk-input.h>
#ifdef DTS_NO_LEGACY
#include <dt-bindings/soc/rockchip,vop2.h>
#else
#include <dt-bindings/display/rockchip_vop.h>
#endif
#include "rk3566.dtsi"
/ {
model = "Panther X2";
compatible = "panther,x2", "rockchip,rk3566";
aliases {
ethernet0 = &gmac1;
mmc0 = &sdhci;
mmc1 = &sdmmc0;
mmc2 = &sdmmc1;
};
chosen: chosen {
bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rw rootwait";
};
fiq_debugger: fiq-debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "okay";
};
debug: debug@fd904000 {
compatible = "rockchip,debug";
reg = <0x0 0xfd904000 0x0 0x1000>,
<0x0 0xfd905000 0x0 0x1000>,
<0x0 0xfd906000 0x0 0x1000>,
<0x0 0xfd907000 0x0 0x1000>;
};
gmac1_clkin: external-gmac1-clock {
compatible = "fixed-clock";
clock-frequency = <125000000>;
clock-output-names = "gmac1_clkin";
#clock-cells = <0>;
};
leds {
compatible = "gpio-leds";
led_pwr: led-pwr {
label = "led-pwr";
default-state = "on";
gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&led_pwr_enable_h>;
retain-state-suspended;
status = "okay";
};
led_wifi: led-wifi {
label = "led-wifi";
default-state = "off";
gpios = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&led_wifi_enable_h>;
retain-state-suspended;
status = "okay";
};
led_eth: led-eth {
label = "led-eth";
default-state = "off";
gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&led_eth_enable_h>;
retain-state-suspended;
status = "okay";
};
led_status: led-status {
label = "led-status";
default-state = "on";
gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
pinctrl-names = "default";
pinctrl-0 = <&led_status_enable_h>;
retain-state-suspended;
status = "okay";
};
};
dc_12v: dc-12v {
compatible = "regulator-fixed";
regulator-name = "dc_12v";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
};
vcc5v0_sys: vcc5v0-sys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
vin-supply = <&dc_12v>;
};
vcc3v3_sys: vcc3v3-sys {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
vin-supply = <&vcc5v0_sys>;
};
sdio_pwrseq: sdio-pwrseq {
status = "okay";
compatible = "mmc-pwrseq-simple";
clocks = <&rk809 1>;
clock-names = "ext_clock";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
reset-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
post-power-on-delay-ms = <100>;
};
wireless_wlan: wireless-wlan {
compatible = "wlan-platdata";
rockchip,grf = <&grf>;
wifi_chip_type = "ap6236";
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_irq>;
WIFI,host_wake_irq = <&gpio2 RK_PB2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&cpu0 {
cpu-supply = <&vdd_cpu>;
};
&cpu1 {
cpu-supply = <&vdd_cpu>;
};
&cpu2 {
cpu-supply = <&vdd_cpu>;
};
&cpu3 {
cpu-supply = <&vdd_cpu>;
};
&dfi {
status = "okay";
};
&dmc {
center-supply = <&vdd_logic>;
status = "okay";
};
&gpu {
mali-supply = <&vdd_gpu>;
status = "okay";
};
&gmac1 {
snps,reset-gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
/* Reset time is 20ms, 100ms for rtl8211f */
snps,reset-delays-us = <0 20000 100000>;
phy-mode = "rgmii";
clock_in_out = "output";
assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
assigned-clock-rates = <0>, <125000000>;
pinctrl-names = "default";
pinctrl-0 = <&gmac1m0_miim
&gmac1m0_tx_bus2
&gmac1m0_rx_bus2
&gmac1m0_rgmii_clk
&gmac1m0_rgmii_bus>;
tx_delay = <0x41>;
rx_delay = <0x2e>;
phy-handle = <&rgmii_phy1>;
status = "okay";
};
&mdio1 {
rgmii_phy1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1>;
status = "okay";
};
};
&i2c0 {
status = "okay";
vdd_cpu: regulator@1c {
compatible = "tcs,tcs4525";
reg = <0x1c>;
fcs,suspend-voltage-selector = <1>;
regulator-name = "vdd_cpu";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1150000>;
regulator-ramp-delay = <2300>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&vcc5v0_sys>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
#clock-cells = <1>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
pinctrl-names = "default";
pinctrl-0 = <&pmic_int_l>;
rockchip,system-power-controller;
wakeup-source;
vcc1-supply = <&vcc3v3_sys>;
vcc2-supply = <&vcc3v3_sys>;
vcc3-supply = <&vcc3v3_sys>;
vcc4-supply = <&vcc3v3_sys>;
vcc5-supply = <&vcc3v3_sys>;
vcc6-supply = <&vcc3v3_sys>;
vcc7-supply = <&vcc3v3_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc3v3_sys>;
regulators {
vdd_logic: DCDC_REG1 {
regulator-name = "vdd_logic";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1350000>;
regulator-init-microvolt = <900000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <900000>;
};
};
vdd_gpu: DCDC_REG2 {
regulator-name = "vdd_gpu";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1350000>;
regulator-init-microvolt = <900000>;
regulator-ramp-delay = <6001>;
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_ddr: DCDC_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-name = "vcc_ddr";
regulator-state-mem {
regulator-on-in-suspend;
};
};
vdd_npu: DCDC_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1350000>;
regulator-init-microvolt = <900000>;
regulator-initial-mode = <0x2>;
regulator-name = "vdd_npu";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_1v8: DCDC_REG5 {
regulator-name = "vcc_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdda0v9_image: LDO_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-name = "vdda0v9_image";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <900000>;
};
};
vdda_0v9: LDO_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-name = "vdda_0v9";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdda0v9_pmu: LDO_REG3 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-name = "vdda0v9_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <900000>;
};
};
vccio_acodec: LDO_REG4 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_acodec";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vccio_sd: LDO_REG5 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vccio_sd";
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc3v3_pmu: LDO_REG6 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc3v3_pmu";
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcca_1v8: LDO_REG7 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcca_1v8";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcca1v8_pmu: LDO_REG8 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcca1v8_pmu";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcca1v8_image: LDO_REG9 {
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcca1v8_image";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_3v3: SWITCH_REG1 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc_3v3";
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc3v3_sd: SWITCH_REG2 {
regulator-always-on;
regulator-boot-on;
regulator-name = "vcc3v3_sd";
regulator-state-mem {
regulator-on-in-suspend;
};
};
};
};
};
&i2s1_8ch {
pinctrl-names = "default";
pinctrl-0 = <&i2s1m1_sclktx &i2s1m1_sclkrx
&i2s1m1_lrcktx &i2s1m1_lrckrx
&i2s1m1_sdi0 &i2s1m1_sdi1
&i2s1m1_sdi2 &i2s1m1_sdi3
&i2s1m1_sdo0 &i2s1m1_sdo1
&i2s1m1_sdo2 &i2s1m1_sdo3>;
status = "disabled";
};
&pinctrl {
sdio-pwrseq {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
wireless-wlan {
wifi_host_wake_irq: wifi-host-wake-irq {
rockchip,pins = <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
bt {
bt_enable_h: bt-enable-h {
rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_host_wake_l: bt-host-wake-l {
rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_wake_l: bt-wake-l {
rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
leds {
led_pwr_enable_h: led-pwr-enable-h {
rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
};
led_wifi_enable_h: led-wifi-enable-h {
rockchip,pins = <0 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>;
};
led_eth_enable_h: led-eth-enable-h {
rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
};
led_status_enable_h: led-status-enable-h {
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
pmic {
pmic_int_l: pmic-int-l {
rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&pmu_io_domains {
pmuio1-supply = <&vcc3v3_pmu>;
pmuio2-supply = <&vcc3v3_pmu>;
vccio1-supply = <&vcc_3v3>;
vccio2-supply = <&vcc_1v8>;
vccio3-supply = <&vccio_sd>;
vccio4-supply = <&vcc_1v8>;
vccio5-supply = <&vcc_3v3>;
vccio6-supply = <&vcc_3v3>;
vccio7-supply = <&vcc_3v3>;
status = "okay";
};
&saradc {
vref-supply = <&vcca_1v8>;
status = "okay";
};
&sdhci {
bus-width = <8>;
max-frequency = <200000000>;
no-sdio;
no-sd;
mmc-hs200-1_8v;
supports-emmc;
non-removable;
status = "okay";
};
&sdmmc0 {
bus-width = <4>;
max-frequency = <150000000>;
cap-mmc-highspeed;
cap-sd-highspeed;
supports-sd;
disable-wp;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
vmmc-supply = <&vcc3v3_sd>;
vqmmc-supply = <&vccio_sd>;
status = "okay";
};
&sdmmc1 {
#address-cells = <1>;
#size-cells = <0>;
bus-width = <4>;
max-frequency = <150000000>;
cap-sd-highspeed;
sd-uhs-sdr104;
cap-sdio-irq;
disable-wp;
supports-sdio;
non-removable;
keep-power-in-suspend;
mmc-pwrseq = <&sdio_pwrseq>;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
status = "okay";
};
&tsadc {
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
status = "disabled";
bluetooth {
compatible = "brcm,bcm43438-bt";
clocks = <&rk809 1>;
clock-names = "lpo";
device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
max-speed = <1500000>;
pinctrl-names = "default";
pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
vbat-supply = <&vcc3v3_sys>;
vddio-supply = <&vcca1v8_pmu>;
};
};
&uart2 {
status = "disabled";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&usb2phy0 {
status = "okay";
};
&u2phy0_host {
status = "okay";
};
&u2phy0_otg {
status = "okay";
};
&usbdrd_dwc3 {
dr_mode = "host";
extcon = <&usb2phy0>;
status = "okay";
};
&usbdrd30 {
status = "okay";
};
&usbhost_dwc3 {
status = "okay";
};
&usbhost30 {
status = "okay";
};
&i2c1 {
status = "okay";
clock-frequency = <100000>;
};
&spi3 {
status = "okay";
//assigned-clock-rates = <200000000>; //默认不用配置,SPI 设备工作时钟
max-freq = <48000000>; /* spi internal clk, don't modify */
//dma-names = "tx","rx"; //使能DMA模式
//rx-sample-delay-ns = <10>; //默认不用配置,读采样延时
spi_dev@0 {
compatible = "rockchip,spidev";
reg = <0>;
spi-max-frequency = <12000000>;
spi-lsb-first;
};
};
// video output
&hdmi {
status = "disabled";
};
&i2s0_8ch {
status = "okay";
};
&rng {
status = "okay";
};
&reserved_memory {
ramoops: ramoops@110000 {
compatible = "ramoops";
reg = <0x0 0x110000 0x0 0xf0000>;
record-size = <0x20000>;
console-size = <0x80000>;
ftrace-size = <0x00000>;
pmsg-size = <0x50000>;
};
};
&bus_npu {
bus-supply = <&vdd_logic>;
pvtm-supply = <&vdd_cpu>;
status = "okay";
};
&iep {
status = "okay";
};
&iep_mmu {
status = "okay";
};
&jpegd {
status = "okay";
};
&jpegd_mmu {
status = "okay";
};
&mpp_srv {
status = "okay";
};
&rk_rga {
status = "okay";
};
&rkvdec {
status = "okay";
};
&rkvdec_mmu {
status = "okay";
};
&rkvenc {
venc-supply = <&vdd_logic>;
status = "okay";
};
&rkvenc_mmu {
status = "okay";
};
&rknpu {
rknpu-supply = <&vdd_npu>;
status = "okay";
};
&rknpu_mmu {
status = "okay";
};
&vdpu {
status = "okay";
};
&vdpu_mmu {
status = "okay";
};
&vepu {
status = "okay";
};
&vepu_mmu {
status = "okay";
};
&vop {
assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>, <&cru DCLK_VOP2>;
assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>, <&cru PLL_GPLL>;
status = "okay";
};
&vop_mmu {
status = "okay";
};
File diff suppressed because it is too large Load Diff
+714
View File
@@ -0,0 +1,714 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2020 Rockchip Electronics Co., Ltd.
*
*/
/dts-v1/;
#include <dt-bindings/display/rockchip_vop.h>
#include "rk3568.dtsi"
#include "rk3568-firefly-roc-pc-se-core.dtsi"
#include "rk3568-linux.dtsi"
/ {
/*
model = "QNAP TS-416 (SDK)";
compatible = "rockchip,rk3568-evb1-ddr4-v10", "rockchip,rk3568";
model = "Rockchip RK3568 DG NAS LITE";
compatible = "rockchip,dg-nas-lite", "rockchip,rk3568";
*/
model = "DG NAS LITE";
compatible = "dg,nas", "rockchip,rk3568";
aliases {
ethernet0 = &gmac0;
mmc0 = &sdmmc0;
mmc1 = &sdhci;
};
chosen: chosen {
bootargs = "earlycon=uart8250,mmio32,0xfe660000 console=ttyFIQ0 root=PARTUUID=614e0000-0000 rw rootwait";
};
fiq_debugger: fiq-debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
rockchip,baudrate = <1500000>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 252 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "okay";
};
debug: debug@fd904000 {
compatible = "rockchip,debug";
reg = <0x0 0xfd904000 0x0 0x1000>,
<0x0 0xfd905000 0x0 0x1000>,
<0x0 0xfd906000 0x0 0x1000>,
<0x0 0xfd907000 0x0 0x1000>;
};
vcc_phy: vcc-phy-regulator {
compatible = "regulator-fixed";
regulator-name = "vcc_phy";
regulator-always-on;
regulator-boot-on;
};
vcc2v8_dvp: vcc2v8-sys {
compatible = "regulator-fixed";
regulator-name = "vcc2v8_dvp";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
vin-supply = <&vcc3v3_sys>;
};
vcc1v8_dvp: vcc1v8-dvp {
compatible = "regulator-fixed";
regulator-name = "vcc1v8_dvp";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&vcc3v3_sys>;
};
/*
vcc1v5_dvp: vcc1v5-dvp {
compatible = "regulator-fixed";
regulator-name = "vcc1v5_dvp";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
vin-supply = <&vcc3v3_sys>;
};
*/
vcc0v9_dvp: vcc0v9-dvp {
compatible = "regulator-fixed";
regulator-name = "vcc0v9_dvp";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
vin-supply = <&vcc3v3_sys>;
};
/*
sdio_pwrseq: sdio-pwrseq {
compatible = "mmc-pwrseq-simple";
// clocks = <&rk809 1>;
// clock-names = "ext_clock";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
post-power-on-delay-ms = <200>;
reset-gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>;
status = "disabled";
};
vcc3v3_wifi: vcc3v3-wifi {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_wifi";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
gpio = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
vin-supply = <&vcc3v3_sys>;
};
*/
//wifi
wireless_wlan {
compatible = "wlan-platdata";
wifi_chip_type = "rtl8723du";
rockchip,grf = <&grf>;
WIFI,poweren_gpio = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
keep_wifi_power_on;
status = "okay";
};
wireless_bluetooth: wireless-bluetooth {
compatible = "bluetooth-platdata";
clocks = <&rk809 1>;
clock-names = "ext_clock";
//wifi-bt-power-toggle;
status = "okay";
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&led_user_1>, <&led_user_2>, <&led_sata_0>;
led-user1 {
label = "green:user1";
gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
};
led-user2 {
label = "blue:user2";
gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>;
};
led-sata0 {
label = "green:sata0";
gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>;
};
};
fan: pwm-fan {
compatible = "pwm-fan";
pwms = <&pwm0 0 40000 0>;
fan-supply = <&dc_12v>;
interrupt-parent = <&gpio0>;
interrupts = <20 IRQ_TYPE_EDGE_FALLING>;
pulses-per-revolution = <2>;
};
};
&pwm0 {
pinctrl-0 = <&pwm0m1_pins>;
//4.19内核需要配置为default
pinctrl-names = "default";
status = "okay";
};
&pwm4 {
status = "disabled";
};
&pwm5 {
status = "disabled";
};
&pwm15 {
compatible = "rockchip,remotectl-pwm";
pinctrl-names = "default";
// pinctrl-names = "active";
pinctrl-0 = <&pwm15m0_pins>;
remote_pwm_id = <3>;
handle_cpu_id = <1>;
remote_support_psci = <0>;
status = "okay";
ir_key1 {
rockchip,usercode = <0x4040>;
rockchip,key_table =
<0xf2 KEY_REPLY>,
<0xba KEY_BACK>,
<0xf4 KEY_UP>,
<0xf1 KEY_DOWN>,
<0xef KEY_LEFT>,
<0xee KEY_RIGHT>,
<0xbd KEY_HOME>,
<0xea KEY_VOLUMEUP>,
<0xe3 KEY_VOLUMEDOWN>,
<0xe2 KEY_SEARCH>,
<0xb2 KEY_POWER>,
<0xbc KEY_MUTE>,
<0xec KEY_MENU>,
<0xbf 0x190>,
<0xe0 0x191>,
<0xe1 0x192>,
<0xe9 183>,
<0xe6 248>,
<0xe8 185>,
<0xe7 186>,
<0xf0 388>,
<0xbe 0x175>;
};
ir_key2 {
rockchip,usercode = <0xff00>;
rockchip,key_table =
<0xf9 KEY_HOME>,
<0xbf KEY_BACK>,
<0xfb KEY_MENU>,
<0xaa KEY_REPLY>,
<0xb9 KEY_UP>,
<0xe9 KEY_DOWN>,
<0xb8 KEY_LEFT>,
<0xea KEY_RIGHT>,
<0xeb KEY_VOLUMEDOWN>,
<0xef KEY_VOLUMEUP>,
<0xf7 KEY_MUTE>,
<0xe7 KEY_POWER>,
<0xfc KEY_POWER>,
<0xa9 KEY_VOLUMEDOWN>,
<0xa8 KEY_PLAYPAUSE>,
<0xe0 KEY_VOLUMEDOWN>,
<0xa5 KEY_VOLUMEDOWN>,
<0xab 183>,
<0xb7 388>,
<0xe8 388>,
<0xf8 184>,
<0xaf 185>,
<0xed KEY_VOLUMEDOWN>,
<0xee 186>,
<0xb3 KEY_VOLUMEDOWN>,
<0xf1 KEY_VOLUMEDOWN>,
<0xf2 KEY_VOLUMEDOWN>,
<0xf3 KEY_SEARCH>,
<0xb4 KEY_VOLUMEDOWN>,
<0xa4 KEY_SETUP>,
<0xbe KEY_SEARCH>;
};
ir_key3 {
rockchip,usercode = <0x1dcc>;
rockchip,key_table =
<0xee KEY_REPLY>,
<0xf0 KEY_BACK>,
<0xf8 KEY_UP>,
<0xbb KEY_DOWN>,
<0xef KEY_LEFT>,
<0xed KEY_RIGHT>,
<0xfc KEY_HOME>,
<0xf1 KEY_VOLUMEUP>,
<0xfd KEY_VOLUMEDOWN>,
<0xb7 KEY_SEARCH>,
<0xff KEY_POWER>,
<0xf3 KEY_MUTE>,
<0xbf KEY_MENU>,
<0xf9 0x191>,
<0xf5 0x192>,
<0xb3 388>,
<0xbe KEY_1>,
<0xba KEY_2>,
<0xb2 KEY_3>,
<0xbd KEY_4>,
<0xf9 KEY_5>,
<0xb1 KEY_6>,
<0xfc KEY_7>,
<0xf8 KEY_8>,
<0xb0 KEY_9>,
<0xb6 KEY_0>,
<0xb5 KEY_BACKSPACE>;
};
ir_key4 { //jp-box
rockchip,usercode = <0xfd01>;
rockchip,key_table =
<0x31 KEY_REPLY>,
<0x2f KEY_BACK>,
<0x35 KEY_UP>,
<0x2d KEY_DOWN>,
<0x66 KEY_LEFT>,
<0x3e KEY_RIGHT>,
<0x6a KEY_HOME>,
<0x5e KEY_VOLUMEUP>,
<0x47 KEY_VOLUMEDOWN>,
<0x23 KEY_POWER>,
<0x3a 388>,
<0x0d KEY_F6>;
};
/*
key 102 HOME
key 158 BACK
key 108 DPAD_DOWN
key 103 DPAD_UP
key 105 DPAD_LEFT
key 106 DPAD_RIGHT
key 115 VOLUME_UP
key 114 VOLUME_DOWN
key 116 POWER
key 232 DPAD_CENTER
key 388 PROFILE_SWITCH
key 64 TV_MEDIA_PLAY
*/
};
&csi2_dphy_hw {
status = "disabled";
};
&csi2_dphy0 {
status = "disabled";
};
&rkisp {
status = "disabled";
};
&rkisp_mmu {
status = "disabled";
};
&rkisp_vir0 {
status = "disabled";
};
&i2c2 {
status = "disabled";
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "disabled";
};
&i2c5 {
status = "okay";
pcf8563: rtc@51 {
status = "okay";
compatible = "nxp,pcf8563";
reg = <0x51>;
#clock-cells = <0>;
};
};
/*USB3.0 controller 对应lede usb_host0_xhci */
&usbdrd_dwc3 {
dr_mode = "host";
extcon = <&usb2phy0>;
status = "okay";
};
/*USB3.0 OTG PHY*/
&combphy0_us {
status = "okay";
};
/*USB 3.0 HOST 与 SATA1 复用 对应lede usb_host1_xhci */
&usbhost_dwc3 {
status = "okay";
};
/* 对应lede combphy1 */
&combphy1_usq {
// rockchip,dis-u3otg1-port;
status = "okay";
};
&sata0 {
status = "okay";
};
&sata1 {
status = "disabled";
};
/* PCIE */
&combphy2_psq {
status = "okay";
};
&uart0 {
status = "disabled";
pinctrl-names = "default";
pinctrl-0 = <&uart0_xfer>;
};
&uart1 {
status = "disabled";
};
&uart2 {
status = "disabled";
};
&uart3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart3m1_xfer>;
};
&uart4 {
status = "disabled";
pinctrl-names = "default";
pinctrl-0 = <&uart4m0_xfer>;
};
&uart5 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart5m1_xfer>;
};
&uart7 {
status = "disabled";
// pinctrl-names = "default";
// pinctrl-0 = <&uart7m1_xfer>;
};
&uart8 {
status = "disabled";
pinctrl-names = "default";
pinctrl-0 = <&uart8m0_xfer>;
};
&mdio0 {
rgmii_phy0: phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x0>;
};
};
&mdio1 {
rgmii_phy1: phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1>;
};
};
&gmac0 {
phy-mode = "rgmii";
//clock_in_out = "output";
clock_in_out = "input";
snps,reset-gpio = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
/* Reset time is 20ms, 100ms for rtl8211f */
snps,reset-delays-us = <0 20000 100000>;
assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>;
assigned-clock-rates = <0>, <125000000>;
pinctrl-names = "default";
pinctrl-0 = <&gmac0_miim
&gmac0_tx_bus2
&gmac0_rx_bus2
&gmac0_rgmii_clk
&gmac0_rgmii_bus>;
tx_delay = <0x2e>;
rx_delay = <0x2a>;
phy-handle = <&rgmii_phy0>;
phy-supply = <&vcc_phy>;
status = "okay";
};
&gmac1 {
phy-mode = "rgmii";
//clock_in_out = "output";
clock_in_out = "input";
snps,reset-gpio = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
snps,reset-delays-us = <0 20000 100000>;
assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
assigned-clock-rates = <0>, <125000000>;
pinctrl-names = "default";
pinctrl-0 = <&gmac1m1_miim
&gmac1m1_tx_bus2
&gmac1m1_rx_bus2
&gmac1m1_rgmii_clk
&gmac1m1_rgmii_bus>;
tx_delay = <0x3d>;
rx_delay = <0x23>;
phy-handle = <&rgmii_phy1>;
phy-supply = <&vcc_phy>;
status = "disabled";
};
/*
&sdmmc2 {
supports-sdio;
bus-width = <0x4>;
disable-wp;
cap-sd-highspeed;
cap-sdio-irq;
keep-power-in-suspend;
// mmc-pwrseq = <&sdio_pwrseq>;
non-removable;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc2m0_bus4 &sdmmc2m0_cmd &sdmmc2m0_clk>;
sd-uhs-sdr104;
status = "disabled";
};
*/
&can1 {
assigned-clocks = <&cru CLK_CAN1>;
assigned-clock-rates = <150000000>;
pinctrl-names = "default";
pinctrl-0 = <&can1m1_pins>;
status = "disabled";
};
&can2 {
assigned-clocks = <&cru CLK_CAN2>;
assigned-clock-rates = <150000000>;
pinctrl-names = "default";
pinctrl-0 = <&can2m1_pins>;
status = "disabled";
};
&pcie2x1 {
num-lanes = <1>;
num-viewport = <4>;
pinctrl-0 = <&asm1064_rst>;
reset-gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc5v0_sys>;
status = "okay";
};
&pcie30phy {
status = "okay";
};
&pcie3x2 {
pinctrl-names = "default";
pinctrl-0 = <&pcie_reset_h>;
reset-gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_sys>;
status = "okay";
};
&spi3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi3m1_cs0 &spi3m1_pins>;
// pinctrl-1 = <&spi3m1_cs0 &spi3m1_pins_hs>;
st7789v@0 {
status = "okay";
compatible = "sitronix,st7789v";
reg = <0>;
spi-max-frequency = <12000000>;
bgr;
fps = <30>;
rotate = <90>;
buswidth = <8>;
dc-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>;
led-gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_LOW>;
debug = <0>; //等级07 越高信息越多
};
};
&pwm7 {
status = "disabled";
};
&rk809_codec {
status = "disabled";
spk-mute-delay-ms = <30>;
};
&rk809_sound {
status = "disabled";
};
&spi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <3 RK_PC1 3 &pcfg_pull_none>;
spi_dev@00 {
compatible = "rockchip,spidev";
reg = <0x0>;
spi-max-frequency = <0xb71b00>;
};
};
/* 对应lede usb2phy0_host */
&u2phy0_host {
phy-supply = <&vcc5v0_host>;
status = "okay";
};
/* 对应lede usb2phy0_otg */
&u2phy0_otg {
// vbus-supply = <&vcc5v0_otg>;
status = "disabled";
};
/* lede usb2phy1_host */
&u2phy1_host {
phy-supply = <&vcc5v0_host>;
status = "okay";
};
/* lede usb2phy1_otg */
&u2phy1_otg {
phy-supply = <&vcc5v0_host>;
status = "okay";
};
&pinctrl {
/*
wifi {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
*/
leds {
led_user_1: led_user_1 {
rockchip,pins = <3 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
};
led_user_2: led_user_2 {
rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
};
led_sata_0: led_sata_0 {
rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
spi1 {
/omit-if-no-ref/
spi1m1_mosi: spi1m1-mosi {
rockchip,pins =
<3 RK_PC1 3 &pcfg_pull_none>;
};
};
fan-fg {
fg_pin: fg-pin {
rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
pcie {
pcie_reset_h: pcie-reset-h {
rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&its {
status = "okay";
};
&rng {
status = "okay";
};
+308
View File
@@ -0,0 +1,308 @@
define Device/rk3568
SOC := rk3568
DEVICE_DTS_DIR := ../dts/rk3568
DEVICE_DTS = $$(SOC)-$$(lastword $$(subst _, ,$$(DEVICE_NAME)))
UBOOT_DEVICE_NAME := easepi-rk3568
IMAGE/sysupgrade.img.gz := boot-common | boot-script rk3568 | pine64-img | gzip | append-metadata
endef
define Device/rk3568_combined
IMAGE/combined.img.gz := boot-combined | boot-script rk3568-cb | pine64-img | gzip | append-metadata
IMAGES := combined.img.gz
endef
define Device/rk3568_combined_fastrhino
IMAGE/combined.img.gz := boot-combined | boot-script rk3568-fastrhino | pine64-img | gzip | append-metadata
IMAGES := combined.img.gz
endef
define Device/rk3568_combined_friendlyelec
IMAGE/combined.img.gz := boot-combined | boot-script rk3568-friendlyelec | pine64-img | gzip | append-metadata
IMAGES := combined.img.gz
endef
define Device/rk3568_combined_hinlink
IMAGE/combined.img.gz := boot-combined | boot-script rk3568-hinlink | pine64-img | gzip | append-metadata
IMAGES := combined.img.gz
endef
define Device/rk3568_combined_nlnet
IMAGE/combined.img.gz := boot-combined | boot-script rk3568-nlnet | pine64-img | gzip | append-metadata
IMAGES := combined.img.gz
endef
define Device/rk3588
SOC := rk3588
DEVICE_DTS_DIR := ../dts/rk3588
DEVICE_DTS = $$(SOC)-$$(lastword $$(subst _, ,$$(DEVICE_NAME)))
UBOOT_DEVICE_NAME := easepi-rk3588
IMAGE/sysupgrade.img.gz := boot-common | boot-script rk3588 | pine64-img | gzip | append-metadata
endef
define Device/rk3588_combined
IMAGE/combined.img.gz := boot-combined | boot-script rk3588-cb | pine64-img | gzip | append-metadata
IMAGES := combined.img.gz
endef
define Device/rk3588_combined_friendlyelec
IMAGE/combined.img.gz := boot-combined | boot-script rk3588-friendlyelec | pine64-img | gzip | append-metadata
IMAGES := combined.img.gz
endef
define Device/rk3588_combined_hinlink
IMAGE/combined.img.gz := boot-combined | boot-script rk3588-hinlink | pine64-img | gzip | append-metadata
IMAGES := combined.img.gz
endef
define Device/rk3528
SOC := rk3528
DEVICE_DTS_DIR := ../dts/rk3528
DEVICE_DTS = $$(SOC)-$$(lastword $$(subst _, ,$$(DEVICE_NAME)))
UBOOT_DEVICE_NAME := easepi-rk3528
IMAGE/sysupgrade.img.gz := boot-common | boot-script rk3528 | pine64-img | gzip | append-metadata
endef
define Device/rk3566
$(call Device/rk3568)
SOC := rk3566
endef
define Device/armsom_sige7-v1
$(call Device/rk3588)
DEVICE_VENDOR := ArmSoM
DEVICE_MODEL := sige7
DEVICE_PACKAGES := kmod-r8125 kmod-nvme kmod-hwmon-pwmfan kmod-thermal
endef
TARGET_DEVICES += armsom_sige7-v1
define Device/fastrhino_common
$(call Device/rk3568)
DEVICE_VENDOR := FastRhino
DEVICE_PACKAGES := kmod-r8125
endef
define Device/fastrhino_r66s
$(call Device/fastrhino_common)
DEVICE_MODEL := R66S
endef
TARGET_DEVICES += fastrhino_r66s
define Device/fastrhino_r68s
$(call Device/fastrhino_common)
DEVICE_MODEL := R68S
endef
TARGET_DEVICES += fastrhino_r68s
define Device/fastrhino_r6xs
$(call Device/fastrhino_common)
$(call Device/rk3568_combined_fastrhino)
DEVICE_MODEL := R68s/R66s combined
SUPPORTED_DEVICES += fastrhino,r66s fastrhino,r68s
DEVICE_DTS := rk3568-r66s rk3568-r68s
endef
TARGET_DEVICES += fastrhino_r6xs
define Device/hinlink_common
$(call Device/rk3568)
DEVICE_VENDOR := HINLINK
DEVICE_PACKAGES := kmod-r8125 kmod-nvme kmod-scsi-core kmod-hwmon-pwmfan kmod-thermal
endef
define Device/hinlink_opc-h6xk
$(call Device/hinlink_common)
$(call Device/rk3568_combined_hinlink)
DEVICE_MODEL := OPC-H69K/H68K/H66K combined
SUPPORTED_DEVICES += hinlink,opc-h66k hinlink,opc-h68k hinlink,opc-h69k
DEVICE_DTS := rk3568-opc-h66k rk3568-opc-h68k rk3568-opc-h69k
endef
TARGET_DEVICES += hinlink_opc-h6xk
define Device/hinlink_hnas
$(call Device/hinlink_common)
DEVICE_MODEL := HNAS
SUPPORTED_DEVICES += hinlink,hnas
endef
TARGET_DEVICES += hinlink_hnas
define Device/easepi_ars4
$(call Device/rk3568)
DEVICE_VENDOR := EasePi
DEVICE_MODEL := ARS4
SUPPORTED_DEVICES += easepi,ars4
DEVICE_PACKAGES := kmod-r8125 kmod-nvme kmod-scsi-core kmod-hwmon-pwmfan kmod-thermal
endef
TARGET_DEVICES += easepi_ars4
define Device/friendlyarm_nanopi-r5s
$(call Device/rk3568)
$(call Device/rk3568_combined_friendlyelec)
DEVICE_VENDOR := FriendlyARM
DEVICE_MODEL := NanoPi R5S/R5C combined
SUPPORTED_DEVICES += friendlyelec,nanopi-r5s friendlyarm,nanopi-r5s friendlyelec,nanopi-r5c
DEVICE_DTS := rk3568-nanopi-r5s rk3568-nanopi-r5c
DEVICE_PACKAGES := kmod-r8125 kmod-nvme kmod-scsi-core kmod-hwmon-pwmfan kmod-thermal
endef
TARGET_DEVICES += friendlyarm_nanopi-r5s
define Device/firefly_station-p2
$(call Device/rk3568)
DEVICE_VENDOR := Firefly
DEVICE_MODEL := Station P2 / ROC PC
DEVICE_DTS := rk3568-firefly-roc-pc
SUPPORTED_DEVICES += firefly,rk3568-roc-pc firefly,station-p2
DEVICE_PACKAGES := kmod-r8125 kmod-nvme kmod-scsi-core
endef
TARGET_DEVICES += firefly_station-p2
define Device/friendlyarm_nanopi-r6s
$(call Device/rk3588)
$(call Device/rk3588_combined_friendlyelec)
DEVICE_VENDOR := FriendlyARM
DEVICE_MODEL := NanoPi R6S/R6C
SUPPORTED_DEVICES += friendlyelec,nanopi-r6s friendlyelec,nanopi-r6c
DEVICE_DTS := rk3588-nanopi-r6s rk3588-nanopi-r6c
DEVICE_PACKAGES := kmod-r8125 kmod-nvme kmod-thermal
endef
TARGET_DEVICES += friendlyarm_nanopi-r6s
define Device/lyt_t68m
$(call Device/rk3568)
DEVICE_VENDOR := LYT
DEVICE_MODEL := T68M
SUPPORTED_DEVICES += lyt,t68m
DEVICE_PACKAGES := kmod-r8125 kmod-nvme kmod-scsi-core
endef
TARGET_DEVICES += lyt_t68m
define Device/hinlink_rk3588
$(call Device/rk3588)
DEVICE_VENDOR := HINLINK
DEVICE_PACKAGES := kmod-r8125 kmod-nvme
endef
define Device/hinlink_h88k
$(call Device/hinlink_rk3588)
$(call Device/rk3588_combined_hinlink)
DEVICE_MODEL := H88K
SUPPORTED_DEVICES += hinlink,h88k-v2 hinlink,h88k-v3 hinlink,h88k
DEVICE_DTS := rk3588-h88k-v2 rk3588-h88k-v3
endef
TARGET_DEVICES += hinlink_h88k
define Device/hinlink_rk3528
$(call Device/rk3528)
DEVICE_VENDOR := HINLINK
DEVICE_PACKAGES := kmod-r8168 kmod-thermal
endef
define Device/hlink_h28k
$(call Device/hinlink_rk3528)
DEVICE_VENDOR := Hlink
DEVICE_MODEL := H28K
SUPPORTED_DEVICES += hlink,h28k
endef
TARGET_DEVICES += hlink_h28k
define Device/inspur_ihec301
$(call Device/rk3588)
DEVICE_VENDOR := Inspur
DEVICE_MODEL := IHEC301
DEVICE_PACKAGES := kmod-scsi-core kmod-hwmon-pwmfan kmod-thermal kmod-switch-rtl8367b swconfig
endef
TARGET_DEVICES += inspur_ihec301
define Device/jsy_h1
$(call Device/rk3568)
DEVICE_VENDOR := JSY
DEVICE_MODEL := H1
DEVICE_DTS := rk3568-jsy-h1
SUPPORTED_DEVICES += jsy,h1
DEVICE_PACKAGES := kmod-r8125 kmod-nvme kmod-scsi-core kmod-thermal kmod-leds-pwm
endef
TARGET_DEVICES += jsy_h1
define Device/yyy_h1
$(call Device/rk3568)
DEVICE_VENDOR := YYY
DEVICE_MODEL := H1
DEVICE_DTS := rk3568-yyy-h1
SUPPORTED_DEVICES += yyy,h1
DEVICE_PACKAGES := kmod-r8125 kmod-nvme kmod-thermal kmod-hwmon-pwmfan kmod-backlight-gpio kmod-leds-pwm
endef
TARGET_DEVICES += yyy_h1
define Device/idiskk_h1
$(call Device/rk3568)
DEVICE_VENDOR := iDiskk
DEVICE_MODEL := H1
DEVICE_DTS := rk3568-idiskk-h1
SUPPORTED_DEVICES += idiskk,h1
DEVICE_PACKAGES := kmod-scsi-core kmod-thermal kmod-hwmon-pwmfan kmod-backlight-gpio kmod-leds-pwm
endef
TARGET_DEVICES += idiskk_h1
define Device/ynn_ynnnas
$(call Device/rk3566)
DEVICE_VENDOR := YingNiuNiu
DEVICE_MODEL := NAS
SUPPORTED_DEVICES += ynn,nas
DEVICE_PACKAGES := kmod-scsi-core
endef
TARGET_DEVICES += ynn_ynnnas
define Device/jp_tvbox
$(call Device/rk3566)
DEVICE_VENDOR := JianPian
DEVICE_MODEL := TV Box
DEVICE_DTS := rk3566-jp-tvbox
SUPPORTED_DEVICES += jp,tvbox
DEVICE_PACKAGES := kmod-scsi-core
endef
TARGET_DEVICES += jp_tvbox
define Device/panther_x2
$(call Device/rk3566)
DEVICE_VENDOR := Panther
DEVICE_MODEL := X2
DEVICE_DTS := rk3566-panther-x2
SUPPORTED_DEVICES += panther,x2
endef
TARGET_DEVICES += panther_x2
define Device/nlnet_xgp
$(call Device/rk3568)
$(call Device/rk3568_combined_nlnet)
DEVICE_VENDOR := NLnet
DEVICE_MODEL := XiGuaPi
UBOOT_DEVICE_NAME := xgp-rk3568
SUPPORTED_DEVICES += nlnet,xgp
DEVICE_PACKAGES := kmod-nvme kmod-scsi-core kmod-hwmon-pwmfan kmod-thermal
DEVICE_DTS := rk3568-xgp rk3568-xgp-v3
endef
TARGET_DEVICES += nlnet_xgp
define Device/rk_demo-rtl8367s
$(call Device/rk3568)
DEVICE_VENDOR := Rockchip
DEVICE_MODEL := Demo RTL8367S
DEVICE_PACKAGES := kmod-scsi-core kmod-hwmon-pwmfan kmod-thermal kmod-switch-rtl8367b swconfig
endef
# TARGET_DEVICES += rk_demo-rtl8367s
define Device/rk3308
SOC := rk3308
DEVICE_DTS_DIR := ../dts/rk3308
DEVICE_DTS = $$(SOC)-$$(lastword $$(subst _, ,$$(DEVICE_NAME)))
UBOOT_DEVICE_NAME := easepi-rk3308
IMAGE/sysupgrade.img.gz := boot-common | boot-script rk3308-uart2 | pine64-img | gzip | append-metadata
endef
define Device/armsom_p2-pro
$(call Device/rk3308)
DEVICE_VENDOR := ArmSoM
DEVICE_MODEL := P2 Pro
SUPPORTED_DEVICES := armsom,p2pro armsom,p2-pro
DEVICE_PACKAGES := kmod-usb-net-rtl8152 ethtool kmod-rkwifi-bcmdhd rkwifi-firmware-ap6256 kmod-sound-soc-rk3308
endef
# TARGET_DEVICES += armsom_p2-pro