mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-17 21:17:25 -04:00
Merge tag 'v6.20-rockchip-dts64-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt
New boards: Orange Pi CM5 module + Baseboard, Radxa CM5 module + IO-board. PCIe-slot-overlay for rk3576-evb1 New peripherals: some of the video decoders on rk3576 and rk3588 Enabled peripherals: many RK3588-NPUs and a lot of other peripherals on a plethora of boards. * tag 'v6.20-rockchip-dts64-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (40 commits) arm64: dts: rockchip: Add the vdpu383 Video Decoder on rk3576 arm64: dts: rockchip: Add the vdpu381 Video Decoders on RK3588 arm64: dts: rockchip: Add rk3588s-orangepi-cm5-base device tree dt-bindings: arm: rockchip: Add Orange Pi CM5 Base arm64: dts: rockchip: Enable second HDMI output on CM3588 arm64: dts: rockchip: Add HDMI to Gameforce Ace arm64: dts: rockchip: Enable analog sound on RK3576 EVB1 arm64: dts: rockchip: Enable HDMI sound on RK3576 EVB1 arm64: dts: rockchip: Enable HDMI sound on Luckfox Core3576 arm64: dts: rockchip: Enable HDMI sound on FriendlyElec NanoPi M5 arm64: dts: rockchip: Use a readable audio card name on NanoPi M5 arm64: dts: rockchip: enable NPU on rk3588-jaguar arm64: dts: rockchip: enable NPU on rk3588-tiger dt-bindings: arm: rockchip: fix description for Radxa CM5 dt-bindings: arm: rockchip: fix description for Radxa CM3I arm64: dts: rockchip: Add missing everest,es8388 supplies to rk3399-roc-pc-plus arm64: dts: rockchip: Enable PCIe for ArmSoM Sige1 arm64: dts: rockchip: Enable the NPU on Turing RK1 arm64: dts: rockchip: Enable the NPU on FriendlyElec CM3588 arm64: dts: rockchip: Enable the NPU on NanoPC T6/T6-LTS ... Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
This commit is contained in:
@@ -907,13 +907,20 @@ properties:
|
||||
- const: radxa,cm3
|
||||
- const: rockchip,rk3566
|
||||
|
||||
- description: Radxa CM3 Industrial
|
||||
- description: Radxa CM3I
|
||||
items:
|
||||
- enum:
|
||||
- radxa,e25
|
||||
- const: radxa,cm3i
|
||||
- const: rockchip,rk3568
|
||||
|
||||
- description: Radxa CM5
|
||||
items:
|
||||
- enum:
|
||||
- radxa,cm5-io
|
||||
- const: radxa,cm5
|
||||
- const: rockchip,rk3588s
|
||||
|
||||
- description: Radxa E20C
|
||||
items:
|
||||
- const: radxa,e20c
|
||||
@@ -1299,6 +1306,12 @@ properties:
|
||||
- xunlong,orangepi-5b
|
||||
- const: rockchip,rk3588s
|
||||
|
||||
- description: Xunlong Orange Pi CM5
|
||||
items:
|
||||
- const: xunlong,orangepi-cm5-base
|
||||
- const: xunlong,orangepi-cm5
|
||||
- const: rockchip,rk3588s
|
||||
|
||||
- description: Zkmagic A95X Z2
|
||||
items:
|
||||
- const: zkmagic,a95x-z2
|
||||
|
||||
@@ -159,6 +159,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-100ask-dshanpi-a1.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-armsom-sige5.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-armsom-sige5-v1.2-wifibt.dtbo
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-evb1-v10.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-evb1-v10-pcie1.dtbo
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-luckfox-omni3576.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-nanopi-m5.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-nanopi-r76s.dtb
|
||||
@@ -209,6 +210,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-nanopi-r6c.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-odroid-m2.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-5.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-5b.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-orangepi-cm5-base.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-radxa-cm5-io.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-roc-pc.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-rock-5a.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-rock-5c.dtb
|
||||
@@ -259,6 +262,10 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-armsom-sige5-v1.2-wifibt.dtb
|
||||
rk3576-armsom-sige5-v1.2-wifibt-dtbs := rk3576-armsom-sige5.dtb \
|
||||
rk3576-armsom-sige5-v1.2-wifibt.dtbo
|
||||
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-evb1-v10-pcie1.dtb
|
||||
rk3576-evb1-v10-pcie1-dtbs := rk3576-evb1-v10.dtb \
|
||||
rk3576-evb1-v10-pcie1.dtbo
|
||||
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-edgeble-neu6a-wifi.dtb
|
||||
rk3588-edgeble-neu6a-wifi-dtbs := rk3588-edgeble-neu6a-io.dtb \
|
||||
rk3588-edgeble-neu6a-wifi.dtbo
|
||||
|
||||
@@ -154,13 +154,11 @@ &gmac {
|
||||
assigned-clocks = <&cru SCLK_MAC>;
|
||||
assigned-clock-parents = <&ext_gmac>;
|
||||
clock_in_out = "input";
|
||||
phy-handle = <&vsc8531_2>;
|
||||
phy-supply = <&vcc33_io>;
|
||||
phy-mode = "rgmii";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&rgmii_pins>;
|
||||
snps,reset-active-low;
|
||||
snps,reset-delays-us = <0 10000 50000>;
|
||||
snps,reset-gpio = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
||||
tx_delay = <0x10>;
|
||||
rx_delay = <0x10>;
|
||||
status = "okay";
|
||||
@@ -285,7 +283,25 @@ &io_domains {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio {
|
||||
vsc8531_2: ethernet-phy@0 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&phy_rst>;
|
||||
reset-assert-us = <10000>;
|
||||
reset-deassert-us = <50000>;
|
||||
reset-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
ethernet {
|
||||
phy_rst: phy-rst {
|
||||
rockchip,pins = <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
module_led_pins: module-led-pins {
|
||||
rockchip,pins =
|
||||
|
||||
@@ -498,7 +498,15 @@ gmac: ethernet@ff290000 {
|
||||
"mac_clk_rx", "mac_clk_tx",
|
||||
"clk_mac_ref", "clk_mac_refout",
|
||||
"aclk_mac", "pclk_mac";
|
||||
resets = <&cru SRST_MAC>;
|
||||
reset-names = "stmmaceth";
|
||||
status = "disabled";
|
||||
|
||||
mdio: mdio {
|
||||
compatible = "snps,dwmac-mdio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
usb_host0_ehci: usb@ff500000 {
|
||||
|
||||
@@ -520,6 +520,16 @@ touchscreen@14 {
|
||||
touchscreen-size-x = <720>;
|
||||
touchscreen-size-y = <1440>;
|
||||
};
|
||||
|
||||
light-sensor@48 {
|
||||
compatible = "sensortek,stk3311";
|
||||
reg = <0x48>;
|
||||
interrupt-parent = <&gpio4>;
|
||||
interrupts = <RK_PD3 IRQ_TYPE_EDGE_FALLING>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&light_int_l>;
|
||||
proximity-near-level = <300>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
@@ -533,7 +543,30 @@ mpu6500@68 {
|
||||
reg = <0x68>;
|
||||
interrupt-parent = <&gpio1>;
|
||||
interrupts = <RK_PC6 IRQ_TYPE_LEVEL_LOW>;
|
||||
vdd-supply = <&vcc_1v8>;
|
||||
vddio-supply = <&vcc_1v8>;
|
||||
|
||||
mount-matrix =
|
||||
"1", "0", "0",
|
||||
"0", "-1", "0",
|
||||
"0", "0", "-1";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
af8133j: compass@1c {
|
||||
compatible = "voltafield,af8133j";
|
||||
reg = <0x1c>;
|
||||
avdd-supply = <&vcc_3v0>;
|
||||
dvdd-supply = <&vcc_1v8>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&compass_rst_l>;
|
||||
reset-gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
|
||||
|
||||
mount-matrix =
|
||||
"0", "1", "0",
|
||||
"-1", "0", "0",
|
||||
"0", "0", "1";
|
||||
};
|
||||
};
|
||||
|
||||
@@ -649,6 +682,12 @@ dvp_pdn0_h: dvp-pdn0-h {
|
||||
};
|
||||
};
|
||||
|
||||
compass {
|
||||
compass_rst_l: compass-rst-l {
|
||||
rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
red_led_pin: red-led-pin {
|
||||
rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
@@ -689,6 +728,12 @@ vcc1v8_codec_en: vcc1v8-codec-en {
|
||||
};
|
||||
};
|
||||
|
||||
stk3311 {
|
||||
light_int_l: light-int-l {
|
||||
rockchip,pins = <4 RK_PD3 RK_FUNC_GPIO &pcfg_input_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
wifi {
|
||||
wifi_host_wake_l: wifi-host-wake-l {
|
||||
rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
|
||||
@@ -116,6 +116,10 @@ es8388: es8388@11 {
|
||||
reg = <0x11>;
|
||||
clocks = <&cru SCLK_I2S_8CH_OUT>;
|
||||
#sound-dai-cells = <0>;
|
||||
AVDD-supply = <&vcca3v0_codec>;
|
||||
DVDD-supply = <&vcca1v8_codec>;
|
||||
HPVDD-supply = <&vcca3v0_codec>;
|
||||
PVDD-supply = <&vcca1v8_codec>;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -408,7 +408,6 @@ regulator-state-mem {
|
||||
|
||||
vcca3v0_codec: LDO_REG5 {
|
||||
regulator-name = "vcca3v0_codec";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3000000>;
|
||||
regulator-max-microvolt = <3000000>;
|
||||
|
||||
@@ -453,6 +453,14 @@ regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "belling,bl24c04a", "atmel,24c04";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
read-only;
|
||||
vcc-supply = <&vcc_3v0_s0>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
#include "rk3399-t.dtsi"
|
||||
#include "rk3399-rock-pi-4.dtsi"
|
||||
|
||||
/delete-node/ &eeprom;
|
||||
|
||||
/ {
|
||||
model = "Radxa ROCK 4SE";
|
||||
compatible = "radxa,rock-4se", "rockchip,rk3399";
|
||||
@@ -17,6 +19,16 @@ aliases {
|
||||
};
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
eeprom@50 {
|
||||
compatible = "belling,bl24c16a", "atmel,24c16";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
read-only;
|
||||
vcc-supply = <&vcc_3v0>;
|
||||
};
|
||||
};
|
||||
|
||||
&sdio0 {
|
||||
status = "okay";
|
||||
|
||||
|
||||
@@ -456,6 +456,14 @@ regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
eeprom: eeprom@50 {
|
||||
compatible = "belling,bl24c04a", "atmel,24c04";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
read-only;
|
||||
vcc-supply = <&vcc_3v0>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
|
||||
@@ -28,3 +28,10 @@ es8316_p0_0: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm4345c5";
|
||||
max-speed = <1500000>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -28,3 +28,10 @@ es8316_p0_0: endpoint {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm4345c5";
|
||||
max-speed = <1500000>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -232,6 +232,10 @@ sdio_pwrseq: sdio-pwrseq {
|
||||
};
|
||||
};
|
||||
|
||||
&combphy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <&vdd_arm>;
|
||||
};
|
||||
@@ -293,6 +297,14 @@ rgmii_phy: ethernet-phy@1 {
|
||||
};
|
||||
};
|
||||
|
||||
&pcie {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie20_perstn>;
|
||||
reset-gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
|
||||
vpcie3v3-supply = <&vcc_3v3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
bluetooth {
|
||||
bt_reg_on_h: bt-reg-on-h {
|
||||
@@ -324,6 +336,12 @@ r_led: r-led {
|
||||
};
|
||||
};
|
||||
|
||||
pcie {
|
||||
pcie20_perstn: pcie20-perstn {
|
||||
rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
rtc {
|
||||
rtc_int_l: rtc-int-l {
|
||||
rockchip,pins = <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
|
||||
@@ -321,7 +321,7 @@ regulator-state-mem {
|
||||
};
|
||||
};
|
||||
|
||||
vcc_3v3: SWITCH_REG1 {
|
||||
gpio_vref: vcc_3v3: SWITCH_REG1 {
|
||||
regulator-name = "vcc_3v3";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
@@ -340,6 +340,14 @@ regulator-state-mem {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "belling,bl24c16a", "atmel,24c16";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
read-only;
|
||||
vcc-supply = <&gpio_vref>;
|
||||
};
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
|
||||
@@ -532,6 +532,14 @@ regulator-state-mem {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "belling,bl24c16a", "atmel,24c16";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
read-only;
|
||||
vcc-supply = <&vcc3v3_pmu>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
|
||||
@@ -480,6 +480,14 @@ regulator-state-mem {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "belling,bl24c16a", "atmel,24c16";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
read-only;
|
||||
vcc-supply = <&vcc3v3_sys>;
|
||||
};
|
||||
};
|
||||
|
||||
&i2c5 {
|
||||
|
||||
@@ -156,16 +156,6 @@ vcc_3v3_pcie: regulator-vcc-3v3-pcie {
|
||||
vin-supply = <&vcc_5v0_sys>;
|
||||
};
|
||||
|
||||
vcc_3v3_rtc_s5: regulator-vcc-3v3-rtc-s5 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_3v3_rtc_s5";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
vin-supply = <&vcc_5v0_sys>;
|
||||
};
|
||||
|
||||
vcc_3v3_s0: regulator-vcc-3v3-s0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_3v3_s0";
|
||||
@@ -822,8 +812,8 @@ gmac1_rst: gmac1-rst {
|
||||
};
|
||||
|
||||
headphone {
|
||||
hp_det: hp-det {
|
||||
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
hp_det_l: hp-det-l {
|
||||
rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -907,6 +897,11 @@ &sai6 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vcca_1v8_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
full-pwr-cycle-in-suspend;
|
||||
|
||||
31
arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-pcie1.dtso
Normal file
31
arch/arm64/boot/dts/rockchip/rk3576-evb1-v10-pcie1.dtso
Normal file
@@ -0,0 +1,31 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* DT-overlay to enable the onboard PCIe x1 slot, which shares pins and the PHY
|
||||
* with the USB3 host port.
|
||||
* To use the PCIe slot, apply this overlay and flip the Dial_Switch_1 right
|
||||
* next to the PCIe slot to low state (labeled "ON - PCIe1"). USB3 host port
|
||||
* will be unusable (not even in 2.0 mode)
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
#include <dt-bindings/pinctrl/rockchip.h>
|
||||
|
||||
&pcie1 {
|
||||
pinctrl-0 = <&pcie1m0_pins &pcie1_rst>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
pcie1 {
|
||||
pcie1_rst: pcie1-rst {
|
||||
rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usb_drd1_dwc3 {
|
||||
status = "disabled";
|
||||
};
|
||||
@@ -246,6 +246,63 @@ vcc_wifi_reg_on: regulator-wifi-reg-on {
|
||||
regulator-max-microvolt = <1800000>;
|
||||
vin-supply = <&vcc_1v8_s3>;
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hp_det>;
|
||||
simple-audio-card,name = "On-board Analog ES8388";
|
||||
simple-audio-card,aux-devs = <&hp_power>, <&spk_power>;
|
||||
simple-audio-card,bitclock-master = <&masterdai>;
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,frame-master = <&masterdai>;
|
||||
simple-audio-card,hp-det-gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>;
|
||||
simple-audio-card,mclk-fs = <256>;
|
||||
simple-audio-card,routing =
|
||||
"Headphone Power INL", "LOUT1",
|
||||
"Headphone Power INR", "ROUT1",
|
||||
"Speaker Power INL", "LOUT2",
|
||||
"Speaker Power INR", "ROUT2",
|
||||
"Headphones", "Headphone Power OUTL",
|
||||
"Headphones", "Headphone Power OUTR",
|
||||
"Speaker", "Speaker Power OUTL",
|
||||
"Speaker", "Speaker Power OUTR",
|
||||
"LINPUT1", "Main Mic",
|
||||
"LINPUT2", "Main Mic",
|
||||
"RINPUT1", "Headset Mic",
|
||||
"RINPUT2", "Headset Mic";
|
||||
simple-audio-card,widgets =
|
||||
"Microphone", "Main Mic",
|
||||
"Microphone", "Headset Mic",
|
||||
"Headphone", "Headphones",
|
||||
"Speaker", "Speaker";
|
||||
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&sai1>;
|
||||
};
|
||||
|
||||
masterdai: simple-audio-card,codec {
|
||||
sound-dai = <&es8388>;
|
||||
system-clock-frequency = <12288000>;
|
||||
};
|
||||
};
|
||||
|
||||
hp_power: headphone-amplifier {
|
||||
compatible = "simple-audio-amplifier";
|
||||
enable-gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hp_ctl>;
|
||||
sound-name-prefix = "Headphone Power";
|
||||
};
|
||||
|
||||
spk_power: speaker-amplifier {
|
||||
compatible = "simple-audio-amplifier";
|
||||
enable-gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spk_ctl>;
|
||||
sound-name-prefix = "Speaker Power";
|
||||
VCC-supply = <&vcc5v0_device>;
|
||||
};
|
||||
};
|
||||
|
||||
&cpu_l0 {
|
||||
@@ -315,6 +372,10 @@ hdmi_out_con: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi_sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdptxphy {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -708,6 +769,25 @@ hym8563: rtc@51 {
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
status = "okay";
|
||||
|
||||
es8388: audio-codec@10 {
|
||||
compatible = "everest,es8388", "everest,es8328";
|
||||
reg = <0x10>;
|
||||
AVDD-supply = <&vcca_3v3_s0>;
|
||||
DVDD-supply = <&vcc_1v8_s0>;
|
||||
HPVDD-supply = <&vcca_3v3_s0>;
|
||||
PVDD-supply = <&vcc_1v8_s0>;
|
||||
assigned-clocks = <&cru CLK_SAI1_MCLKOUT_TO_IO>;
|
||||
assigned-clock-rates = <12288000>;
|
||||
clocks = <&cru CLK_SAI1_MCLKOUT_TO_IO>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sai1m0_mclk>;
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
rgmii_phy0: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-id001c.c916";
|
||||
@@ -774,6 +854,20 @@ &pcie1 {
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
audio {
|
||||
hp_det: hp-det {
|
||||
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
|
||||
hp_ctl: hp-ctl {
|
||||
rockchip,pins = <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
|
||||
spk_ctl: spk-ctl {
|
||||
rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
bluetooth {
|
||||
bt_reg_on: bt-reg-on {
|
||||
rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
@@ -835,6 +929,19 @@ wifi_wake_host: wifi-wake-host {
|
||||
};
|
||||
};
|
||||
|
||||
&sai1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sai1m0_lrck
|
||||
&sai1m0_sclk
|
||||
&sai1m0_sdi0
|
||||
&sai1m0_sdo0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sai6 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
full-pwr-cycle-in-suspend;
|
||||
|
||||
@@ -246,6 +246,10 @@ hdmi_out_con: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi_sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdptxphy {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -691,6 +695,10 @@ &rng {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sai6 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vcca_1v8_s0>;
|
||||
status = "okay";
|
||||
|
||||
@@ -110,6 +110,22 @@ vcc12v_dcin: regulator-vcc12v-dcin {
|
||||
regulator-name = "vcc12v_dcin";
|
||||
};
|
||||
|
||||
vcc1v2_ufs_vccq: regulator-vcc1v2-ufs-vccq {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
regulator-name = "vcc1v2_ufs_vccq";
|
||||
vin-supply = <&vcc5v0_sys_s5>;
|
||||
};
|
||||
|
||||
vcc1v8_ufs_vccq2: regulator-vcc1v8-ufs-vccq2 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcc1v8_ufs_vccq2";
|
||||
vin-supply = <&vcc_1v8_s3>;
|
||||
};
|
||||
|
||||
vcc3v3_m2_keym: regulator-vcc3v3-m2-keym {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
@@ -204,7 +220,7 @@ sound {
|
||||
simple-audio-card,format = "i2s";
|
||||
simple-audio-card,hp-det-gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_LOW>;
|
||||
simple-audio-card,mclk-fs = <256>;
|
||||
simple-audio-card,name = "realtek,rt5616-codec";
|
||||
simple-audio-card,name = "Onboard Analog RT5616";
|
||||
|
||||
simple-audio-card,routing =
|
||||
"Headphones", "HPOL",
|
||||
@@ -324,6 +340,10 @@ hdmi_out_con: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi_sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdptxphy {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -848,6 +868,10 @@ &sai2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sai6 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vcca_1v8_s0>;
|
||||
status = "okay";
|
||||
@@ -906,6 +930,14 @@ &uart0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ufshc {
|
||||
vcc-supply = <&vcc_3v3_s3>;
|
||||
vccq-supply = <&vcc1v2_ufs_vccq>;
|
||||
vccq2-supply = <&vcc1v8_ufs_vccq2>;
|
||||
vdd-hba-supply = <&vdda_1v2_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbdp_phy {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -682,6 +682,20 @@ hym8563: rtc@51 {
|
||||
};
|
||||
};
|
||||
|
||||
&i2c6 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c6m3_xfer>;
|
||||
status = "okay";
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "belling,bl24c16f", "atmel,24c16";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
read-only;
|
||||
vcc-supply = <&vcc_3v3_s3>;
|
||||
};
|
||||
};
|
||||
|
||||
&mdio0 {
|
||||
rgmii_phy0: ethernet-phy@1 {
|
||||
compatible = "ethernet-phy-id001c.c916";
|
||||
|
||||
@@ -680,6 +680,7 @@ pcie0: pcie@22000000 {
|
||||
"aclk_dbi", "pclk",
|
||||
"aux";
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
interrupts = <GIC_SPI 281 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 282 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 279 IRQ_TYPE_LEVEL_HIGH>,
|
||||
@@ -734,6 +735,7 @@ pcie1: pcie@22400000 {
|
||||
"aclk_dbi", "pclk",
|
||||
"aux";
|
||||
device_type = "pci";
|
||||
dma-coherent;
|
||||
interrupts = <GIC_SPI 267 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>,
|
||||
@@ -1277,6 +1279,41 @@ gpu: gpu@27800000 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
vdec: video-codec@27b00000 {
|
||||
compatible = "rockchip,rk3576-vdec";
|
||||
reg = <0x0 0x27b00100 0x0 0x500>,
|
||||
<0x0 0x27b00000 0x0 0x100>,
|
||||
<0x0 0x27b00600 0x0 0x100>;
|
||||
reg-names = "function", "link", "cache";
|
||||
interrupts = <GIC_SPI 308 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru HCLK_RKVDEC>,
|
||||
<&cru ACLK_RKVDEC_ROOT_BAK>, <&cru CLK_RKVDEC_CORE>,
|
||||
<&cru CLK_RKVDEC_HEVC_CA>;
|
||||
clock-names = "axi", "ahb", "cabac", "core", "hevc_cabac";
|
||||
assigned-clocks = <&cru ACLK_RKVDEC_ROOT>, <&cru CLK_RKVDEC_CORE>,
|
||||
<&cru ACLK_RKVDEC_ROOT_BAK>, <&cru CLK_RKVDEC_HEVC_CA>;
|
||||
assigned-clock-rates = <600000000>, <600000000>,
|
||||
<500000000>, <1000000000>;
|
||||
iommus = <&vdec_mmu>;
|
||||
power-domains = <&power RK3576_PD_VDEC>;
|
||||
resets = <&cru SRST_A_RKVDEC_BIU>, <&cru SRST_H_RKVDEC_BIU>,
|
||||
<&cru SRST_H_RKVDEC>, <&cru SRST_RKVDEC_CORE>,
|
||||
<&cru SRST_RKVDEC_HEVC_CA>;
|
||||
reset-names = "axi", "ahb", "cabac", "core", "hevc_cabac";
|
||||
sram = <&rkvdec_sram>;
|
||||
};
|
||||
|
||||
vdec_mmu: iommu@27b00800 {
|
||||
compatible = "rockchip,rk3576-iommu", "rockchip,rk3568-iommu";
|
||||
reg = <0x0 0x27b00800 0x0 0x40>, <0x0 0x27b00900 0x0 0x40>;
|
||||
interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&cru CLK_RKVDEC_CORE>, <&cru HCLK_RKVDEC>;
|
||||
clock-names = "aclk", "iface";
|
||||
power-domains = <&power RK3576_PD_VDEC>;
|
||||
rockchip,disable-mmu-reset;
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
vop: vop@27d00000 {
|
||||
compatible = "rockchip,rk3576-vop";
|
||||
reg = <0x0 0x27d00000 0x0 0x3000>, <0x0 0x27d05000 0x0 0x1000>;
|
||||
@@ -1696,6 +1733,7 @@ gmac0: ethernet@2a220000 {
|
||||
clock-names = "stmmaceth", "clk_mac_ref",
|
||||
"pclk_mac", "aclk_mac",
|
||||
"ptp_ref";
|
||||
dma-coherent;
|
||||
interrupts = <GIC_SPI 293 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 298 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq", "eth_wake_irq";
|
||||
@@ -1743,6 +1781,7 @@ gmac1: ethernet@2a230000 {
|
||||
clock-names = "stmmaceth", "clk_mac_ref",
|
||||
"pclk_mac", "aclk_mac",
|
||||
"ptp_ref";
|
||||
dma-coherent;
|
||||
interrupts = <GIC_SPI 301 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 306 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq", "eth_wake_irq";
|
||||
@@ -2680,6 +2719,7 @@ sram: sram@3ff88000 {
|
||||
/* start address and size should be 4k align */
|
||||
rkvdec_sram: rkvdec-sram@0 {
|
||||
reg = <0x0 0x78000>;
|
||||
pool;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1353,6 +1353,70 @@ vepu121_3_mmu: iommu@fdbac800 {
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
vdec0: video-codec@fdc38000 {
|
||||
compatible = "rockchip,rk3588-vdec";
|
||||
reg = <0x0 0xfdc38100 0x0 0x500>,
|
||||
<0x0 0xfdc38000 0x0 0x100>,
|
||||
<0x0 0xfdc38600 0x0 0x100>;
|
||||
reg-names = "function", "link", "cache";
|
||||
interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru ACLK_RKVDEC0>, <&cru HCLK_RKVDEC0>, <&cru CLK_RKVDEC0_CA>,
|
||||
<&cru CLK_RKVDEC0_CORE>, <&cru CLK_RKVDEC0_HEVC_CA>;
|
||||
clock-names = "axi", "ahb", "cabac", "core", "hevc_cabac";
|
||||
assigned-clocks = <&cru ACLK_RKVDEC0>, <&cru CLK_RKVDEC0_CORE>,
|
||||
<&cru CLK_RKVDEC0_CA>, <&cru CLK_RKVDEC0_HEVC_CA>;
|
||||
assigned-clock-rates = <800000000>, <600000000>,
|
||||
<600000000>, <1000000000>;
|
||||
iommus = <&vdec0_mmu>;
|
||||
power-domains = <&power RK3588_PD_RKVDEC0>;
|
||||
resets = <&cru SRST_A_RKVDEC0>, <&cru SRST_H_RKVDEC0>, <&cru SRST_RKVDEC0_CA>,
|
||||
<&cru SRST_RKVDEC0_CORE>, <&cru SRST_RKVDEC0_HEVC_CA>;
|
||||
reset-names = "axi", "ahb", "cabac", "core", "hevc_cabac";
|
||||
sram = <&vdec0_sram>;
|
||||
};
|
||||
|
||||
vdec0_mmu: iommu@fdc38700 {
|
||||
compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
|
||||
reg = <0x0 0xfdc38700 0x0 0x40>, <0x0 0xfdc38740 0x0 0x40>;
|
||||
interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru ACLK_RKVDEC0>, <&cru HCLK_RKVDEC0>;
|
||||
clock-names = "aclk", "iface";
|
||||
power-domains = <&power RK3588_PD_RKVDEC0>;
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
vdec1: video-codec@fdc40000 {
|
||||
compatible = "rockchip,rk3588-vdec";
|
||||
reg = <0x0 0xfdc40100 0x0 0x500>,
|
||||
<0x0 0xfdc40000 0x0 0x100>,
|
||||
<0x0 0xfdc40600 0x0 0x100>;
|
||||
reg-names = "function", "link", "cache";
|
||||
interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru ACLK_RKVDEC1>, <&cru HCLK_RKVDEC1>, <&cru CLK_RKVDEC1_CA>,
|
||||
<&cru CLK_RKVDEC1_CORE>, <&cru CLK_RKVDEC1_HEVC_CA>;
|
||||
clock-names = "axi", "ahb", "cabac", "core", "hevc_cabac";
|
||||
assigned-clocks = <&cru ACLK_RKVDEC1>, <&cru CLK_RKVDEC1_CORE>,
|
||||
<&cru CLK_RKVDEC1_CA>, <&cru CLK_RKVDEC1_HEVC_CA>;
|
||||
assigned-clock-rates = <800000000>, <600000000>,
|
||||
<600000000>, <1000000000>;
|
||||
iommus = <&vdec1_mmu>;
|
||||
power-domains = <&power RK3588_PD_RKVDEC1>;
|
||||
resets = <&cru SRST_A_RKVDEC1>, <&cru SRST_H_RKVDEC1>, <&cru SRST_RKVDEC1_CA>,
|
||||
<&cru SRST_RKVDEC1_CORE>, <&cru SRST_RKVDEC1_HEVC_CA>;
|
||||
reset-names = "axi", "ahb", "cabac", "core", "hevc_cabac";
|
||||
sram = <&vdec1_sram>;
|
||||
};
|
||||
|
||||
vdec1_mmu: iommu@fdc40700 {
|
||||
compatible = "rockchip,rk3588-iommu", "rockchip,rk3568-iommu";
|
||||
reg = <0x0 0xfdc40700 0x0 0x40>, <0x0 0xfdc40740 0x0 0x40>;
|
||||
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH 0>;
|
||||
clocks = <&cru ACLK_RKVDEC1>, <&cru HCLK_RKVDEC1>;
|
||||
clock-names = "aclk", "iface";
|
||||
power-domains = <&power RK3588_PD_RKVDEC1>;
|
||||
#iommu-cells = <0>;
|
||||
};
|
||||
|
||||
av1d: video-codec@fdc70000 {
|
||||
compatible = "rockchip,rk3588-av1-vpu";
|
||||
reg = <0x0 0xfdc70000 0x0 0x800>;
|
||||
@@ -3249,6 +3313,16 @@ system_sram2: sram@ff001000 {
|
||||
ranges = <0x0 0x0 0xff001000 0xef000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
vdec0_sram: codec-sram@0 {
|
||||
reg = <0x0 0x78000>;
|
||||
pool;
|
||||
};
|
||||
|
||||
vdec1_sram: codec-sram@78000 {
|
||||
reg = <0x78000 0x77000>;
|
||||
pool;
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl: pinctrl {
|
||||
|
||||
@@ -522,6 +522,7 @@ &pcie2x1l0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie2_0_rst>, <&pcie2_0_wake>, <&pcie2_0_clkreq>, <&wifi_host_wake_irq>;
|
||||
reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
|
||||
supports-clkreq;
|
||||
vpcie3v3-supply = <&vcc3v3_wlan>;
|
||||
status = "okay";
|
||||
|
||||
@@ -545,7 +546,8 @@ wifi: wifi@0,0 {
|
||||
&pcie2x1l1 {
|
||||
reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie2_1_rst>, <&rtl8111_isolate>;
|
||||
pinctrl-0 = <&pcie2_1_rst>, <&rtl8111_isolate>, <&pcie30x1m1_1_clkreqn>;
|
||||
supports-clkreq;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -555,7 +557,8 @@ &pcie30phy {
|
||||
|
||||
&pcie3x4 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie3_reset>;
|
||||
pinctrl-0 = <&pcie3_reset>, <&pcie30x4m1_clkreqn>;
|
||||
supports-clkreq;
|
||||
reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
|
||||
vpcie3v3-supply = <&vcc3v3_pcie30>;
|
||||
status = "okay";
|
||||
|
||||
@@ -101,6 +101,17 @@ hdmi0_con_in: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
hdmi1-con {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi1_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi1_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
ir-receiver {
|
||||
compatible = "gpio-ir-receiver";
|
||||
gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_LOW>;
|
||||
@@ -335,6 +346,22 @@ hdmi0_out_con: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi1_in {
|
||||
hdmi1_in_vp1: endpoint {
|
||||
remote-endpoint = <&vp1_out_hdmi1>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi1_out {
|
||||
hdmi1_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi1_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi_receiver_cma {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -350,6 +377,10 @@ &hdptxphy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdptxphy1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/* Connected to MIPI-DSI0 */
|
||||
&i2c5 {
|
||||
pinctrl-names = "default";
|
||||
@@ -840,3 +871,10 @@ vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
|
||||
remote-endpoint = <&hdmi0_in_vp0>;
|
||||
};
|
||||
};
|
||||
|
||||
&vp1 {
|
||||
vp1_out_hdmi1: endpoint@ROCKCHIP_VOP2_EP_HDMI1 {
|
||||
reg = <ROCKCHIP_VOP2_EP_HDMI1>;
|
||||
remote-endpoint = <&hdmi1_in_vp1>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -182,7 +182,6 @@ vdd_npu_s0: regulator@42 {
|
||||
reg = <0x42>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_npu_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
@@ -264,6 +263,10 @@ &pd_gpu {
|
||||
domain-supply = <&vdd_gpu_s0>;
|
||||
};
|
||||
|
||||
&pd_npu {
|
||||
domain-supply = <&vdd_npu_s0>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
gpio-leds {
|
||||
led_sys_pin: led-sys-pin {
|
||||
@@ -294,6 +297,36 @@ sd_s0_pwr: sd-s0-pwr {
|
||||
};
|
||||
};
|
||||
|
||||
&rknn_core_0 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_1 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_2 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&avcc_1v8_s0>;
|
||||
status = "okay";
|
||||
|
||||
@@ -393,7 +393,6 @@ vdd_npu_s0: regulator@42 {
|
||||
reg = <0x42>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_npu_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
@@ -564,6 +563,10 @@ &pd_gpu {
|
||||
domain-supply = <&vdd_gpu_s0>;
|
||||
};
|
||||
|
||||
&pd_npu {
|
||||
domain-supply = <&vdd_npu_s0>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
emmc {
|
||||
emmc_reset: emmc-reset {
|
||||
@@ -618,6 +621,36 @@ typec1_sbu_dc_pins: typec1-sbu-dc-pins {
|
||||
};
|
||||
};
|
||||
|
||||
&rknn_core_0 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_1 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_2 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vcc_1v8_s0>;
|
||||
status = "okay";
|
||||
|
||||
@@ -458,7 +458,6 @@ vdd_npu_s0: regulator@42 {
|
||||
reg = <0x42>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_npu_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
@@ -629,6 +628,10 @@ &pd_gpu {
|
||||
domain-supply = <&vdd_gpu_s0>;
|
||||
};
|
||||
|
||||
&pd_npu {
|
||||
domain-supply = <&vdd_npu_s0>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
gpio-leds {
|
||||
sys_led_pin: sys-led-pin {
|
||||
@@ -706,6 +709,37 @@ &pwm1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_0 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_1 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_2 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&avcc_1v8_s0>;
|
||||
status = "okay";
|
||||
|
||||
@@ -147,6 +147,24 @@ sdio_pwrseq: sdio-pwrseq {
|
||||
reset-gpios = <&gpio0 RK_PC4 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
spdif_dit: spdif-dit {
|
||||
compatible = "linux,spdif-dit";
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
|
||||
spdif_sound: spdif-sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "SPDIF";
|
||||
|
||||
simple-audio-card,cpu {
|
||||
sound-dai = <&spdif_tx1>;
|
||||
};
|
||||
|
||||
simple-audio-card,codec {
|
||||
sound-dai = <&spdif_dit>;
|
||||
};
|
||||
};
|
||||
|
||||
typec_vin: regulator-typec-vin {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
@@ -854,6 +872,11 @@ spi_flash: flash@0 {
|
||||
};
|
||||
};
|
||||
|
||||
&spdif_tx1 {
|
||||
pinctrl-0 = <&spdif1m2_tx>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi2 {
|
||||
status = "okay";
|
||||
assigned-clocks = <&cru CLK_SPI2>;
|
||||
|
||||
@@ -69,6 +69,16 @@ wwan-wake-n-hog {
|
||||
};
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
eeprom@50 {
|
||||
compatible = "belling,bl24c16a", "atmel,24c16";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
read-only;
|
||||
vcc-supply = <&vcc_3v3_s3>;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie30phy {
|
||||
data-lanes = <1 1 2 2>;
|
||||
};
|
||||
|
||||
@@ -60,6 +60,16 @@ &hdmi_receiver {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
eeprom@50 {
|
||||
compatible = "belling,bl24c16a", "atmel,24c16";
|
||||
reg = <0x50>;
|
||||
pagesize = <16>;
|
||||
read-only;
|
||||
vcc-supply = <&vcc_3v3_s3>;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie2x1l1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pcie2_1_rst>;
|
||||
|
||||
@@ -197,7 +197,6 @@ vdd_npu_s0: regulator@42 {
|
||||
reg = <0x42>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_npu_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
@@ -340,6 +339,10 @@ &pd_gpu {
|
||||
domain-supply = <&vdd_gpu_s0>;
|
||||
};
|
||||
|
||||
&pd_npu {
|
||||
domain-supply = <&vdd_npu_s0>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
emmc {
|
||||
emmc_reset: emmc-reset {
|
||||
@@ -372,6 +375,36 @@ &pwm0 {
|
||||
pinctrl-names = "default";
|
||||
};
|
||||
|
||||
&rknn_core_0 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_1 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_2 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&saradc {
|
||||
vref-supply = <&vcc_1v8_s0>;
|
||||
status = "okay";
|
||||
|
||||
@@ -171,7 +171,6 @@ vdd_npu_s0: regulator@42 {
|
||||
reg = <0x42>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_npu_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
@@ -293,6 +292,10 @@ &pd_gpu {
|
||||
domain-supply = <&vdd_gpu_s0>;
|
||||
};
|
||||
|
||||
&pd_npu {
|
||||
domain-supply = <&vdd_npu_s0>;
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
fan {
|
||||
fan_int: fan-int {
|
||||
@@ -333,6 +336,36 @@ &pwm0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_0 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_1 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_core_2 {
|
||||
npu-supply = <&vdd_npu_s0>;
|
||||
sram-supply = <&vdd_npu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&rknn_mmu_2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
no-sdio;
|
||||
|
||||
@@ -300,6 +300,20 @@ amp_headphone: headphone-amplifier {
|
||||
sound-name-prefix = "Headphones Amplifier";
|
||||
};
|
||||
|
||||
hdmi0-con {
|
||||
compatible = "hdmi-connector";
|
||||
ddc-en-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-0 = <&hdmi0_en>;
|
||||
pinctrl-names = "default";
|
||||
type = "d";
|
||||
|
||||
port {
|
||||
hdmi0_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi0_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pwm_fan: pwm-fan {
|
||||
compatible = "pwm-fan";
|
||||
#cooling-cells = <2>;
|
||||
@@ -498,6 +512,34 @@ &gpu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
no-hpd;
|
||||
pinctrl-0 = <&hdmim0_tx0_cec>, <&hdmim0_tx0_scl>,
|
||||
<&hdmim0_tx0_sda>;
|
||||
pinctrl-names = "default";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi0_in {
|
||||
hdmi0_in_vp0: endpoint {
|
||||
remote-endpoint = <&vp0_out_hdmi0>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi0_out {
|
||||
hdmi0_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi0_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi0_sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdptxphy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-0 = <&i2c0m2_xfer>;
|
||||
pinctrl-names = "default";
|
||||
@@ -746,6 +788,10 @@ &i2s0_sdi0
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2s5_8ch {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mipidcphy0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -846,6 +892,13 @@ charger_int_h: charger-int-h {
|
||||
};
|
||||
};
|
||||
|
||||
hdmi {
|
||||
hdmi0_en: hdmi0-en {
|
||||
rockchip,pins =
|
||||
<4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
hym8563 {
|
||||
hym8563_int: hym8563-int {
|
||||
rockchip,pins =
|
||||
@@ -1450,6 +1503,16 @@ &vop_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vp0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
|
||||
reg = <ROCKCHIP_VOP2_EP_HDMI0>;
|
||||
remote-endpoint = <&hdmi0_in_vp0>;
|
||||
};
|
||||
};
|
||||
|
||||
&vp3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
355
arch/arm64/boot/dts/rockchip/rk3588s-orangepi-cm5-base.dts
Normal file
355
arch/arm64/boot/dts/rockchip/rk3588s-orangepi-cm5-base.dts
Normal file
@@ -0,0 +1,355 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/pinctrl/rockchip.h>
|
||||
#include <dt-bindings/pwm/pwm.h>
|
||||
#include <dt-bindings/soc/rockchip,vop2.h>
|
||||
|
||||
#include "rk3588s-orangepi-cm5.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Xunlong Orange Pi CM5 Base";
|
||||
compatible = "xunlong,orangepi-cm5-base", "xunlong,orangepi-cm5", "rockchip,rk3588s";
|
||||
|
||||
aliases {
|
||||
ethernet0 = &gmac1;
|
||||
mmc1 = &sdmmc;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
gpio-keys {
|
||||
compatible = "gpio-keys";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&key1_pin>;
|
||||
|
||||
button {
|
||||
debounce-interval = <50>;
|
||||
gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
|
||||
label = "USERKEY";
|
||||
linux,code = <BTN_MISC>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi0-con {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi0_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi0_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pwm-leds {
|
||||
compatible = "pwm-leds";
|
||||
|
||||
led-1 {
|
||||
color = <LED_COLOR_ID_RED>;
|
||||
function = LED_FUNCTION_STATUS;
|
||||
linux,default-trigger = "heartbeat";
|
||||
max-brightness = <255>;
|
||||
pwms = <&pwm2 0 25000 0>;
|
||||
};
|
||||
|
||||
led-2 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WAN;
|
||||
max-brightness = <255>;
|
||||
pwms = <&pwm4 0 25000 PWM_POLARITY_INVERTED>;
|
||||
};
|
||||
|
||||
led-3 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <0>;
|
||||
max-brightness = <255>;
|
||||
pwms = <&pwm5 0 25000 PWM_POLARITY_INVERTED>;
|
||||
};
|
||||
|
||||
led-4 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
max-brightness = <255>;
|
||||
pwms = <&pwm6 0 25000 0>;
|
||||
};
|
||||
};
|
||||
|
||||
vbus_5v0: regulator-vbus-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vbus_5v0_en_pin>;
|
||||
regulator-name = "vbus_5v0";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
vcc_3v3: regulator-vcc-3v3 {
|
||||
compatible = "regulator-fixed";
|
||||
enable-active-high;
|
||||
gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vcc_3v3_en_pin>;
|
||||
regulator-name = "vcc_3v3";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
startup-delay-us = <50000>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
vcc5v0_sys: regulator-vcc-5v0 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc5v0_sys";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
};
|
||||
};
|
||||
|
||||
&combphy0_ps {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&combphy2_psu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
clock_in_out = "output";
|
||||
phy-handle = <&rgmii_phy>;
|
||||
phy-mode = "rgmii-id";
|
||||
phy-supply = <&vcc_3v3>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac1_miim
|
||||
&gmac1_rx_bus2
|
||||
&gmac1_tx_bus2
|
||||
&gmac1_rgmii_clk
|
||||
&gmac1_rgmii_bus>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&hdmim0_tx0_cec &hdmim0_tx0_hpd
|
||||
&hdmim0_tx0_scl &hdmim0_tx0_sda
|
||||
&hdmi_frl_pin>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi0_in {
|
||||
hdmi0_in_vp0: endpoint {
|
||||
remote-endpoint = <&vp0_out_hdmi0>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi0_out {
|
||||
hdmi0_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi0_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi0_sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdptxphy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c1 {
|
||||
pinctrl-0 = <&i2c1m2_xfer>;
|
||||
status = "okay";
|
||||
|
||||
rtc@51 {
|
||||
compatible = "haoyu,hym8563";
|
||||
reg = <0x51>;
|
||||
#clock-cells = <0>;
|
||||
clock-output-names = "hym8563";
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&rtc_int_pin>;
|
||||
wakeup-source;
|
||||
};
|
||||
};
|
||||
|
||||
&i2s5_8ch {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mdio1 {
|
||||
rgmii_phy: ethernet-phy@1 {
|
||||
/* YT8531C */
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&rgmii_phy_pin>;
|
||||
reset-assert-us = <20000>;
|
||||
reset-deassert-us = <100000>;
|
||||
reset-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
|
||||
&pcie2x1l1 {
|
||||
reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
|
||||
vpcie3v3-supply = <&vcc_3v3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie2x1l2 {
|
||||
reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
|
||||
vpcie3v3-supply = <&vcc_3v3>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
camera {
|
||||
cam1_reset_pin: cam1-reset-pin {
|
||||
rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
cam2_reset_pin: cam2-reset-pin {
|
||||
rockchip,pins = <1 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
cam3_reset_pin: cam3-reset-pin {
|
||||
rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
cam4_reset_pin: cam4-reset-pin {
|
||||
rockchip,pins = <1 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
ethernet {
|
||||
rgmii_phy_pin: rgmii-phy-pin {
|
||||
rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
gpio-key {
|
||||
key1_pin: key1-pin {
|
||||
rockchip,pins = <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
hdmi {
|
||||
hdmi_frl_pin: hdmi-frl-pin {
|
||||
rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
power {
|
||||
vcc_3v3_en_pin: vcc-3v3-en-pin {
|
||||
rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_down>;
|
||||
};
|
||||
};
|
||||
|
||||
rtc {
|
||||
rtc_int_pin: rtc-int-pin {
|
||||
rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
|
||||
usb {
|
||||
vbus_5v0_en_pin: vbus-5v0-en-pin {
|
||||
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pwm2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm5 {
|
||||
pinctrl-0 = <&pwm5m1_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pwm6 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
bus-width = <4>;
|
||||
cap-sd-highspeed;
|
||||
disable-wp;
|
||||
max-frequency = <150000000>;
|
||||
no-mmc;
|
||||
no-sdio;
|
||||
sd-uhs-sdr104;
|
||||
vmmc-supply = <&vcc_3v3_s3>;
|
||||
vqmmc-supply = <&vccio_sd_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy0_otg {
|
||||
phy-supply = <&vbus_5v0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy2_host {
|
||||
phy-supply = <&vbus_5v0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-0 = <&uart2m0_xfer>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_xhci {
|
||||
dr_mode = "host";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbdp_phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vop {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vop_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vp0 {
|
||||
vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
|
||||
reg = <ROCKCHIP_VOP2_EP_HDMI0>;
|
||||
remote-endpoint = <&hdmi0_in_vp0>;
|
||||
};
|
||||
};
|
||||
472
arch/arm64/boot/dts/rockchip/rk3588s-orangepi-cm5.dtsi
Normal file
472
arch/arm64/boot/dts/rockchip/rk3588s-orangepi-cm5.dtsi
Normal file
@@ -0,0 +1,472 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
|
||||
/dts-v1/;
|
||||
|
||||
#include <dt-bindings/clock/rockchip,rk3588-cru.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
#include "rk3588s.dtsi"
|
||||
#include "rk8xx.h"
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
mmc0 = &sdhci;
|
||||
};
|
||||
|
||||
/* Can't be verified due to missing schematics for the CM5. */
|
||||
vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_1v1_nldo_s3";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1100000>;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
};
|
||||
|
||||
&cpu_b0 {
|
||||
cpu-supply = <&vdd_cpu_big0_s0>;
|
||||
};
|
||||
|
||||
&cpu_b1 {
|
||||
cpu-supply = <&vdd_cpu_big0_s0>;
|
||||
};
|
||||
|
||||
&cpu_b2 {
|
||||
cpu-supply = <&vdd_cpu_big1_s0>;
|
||||
};
|
||||
|
||||
&cpu_b3 {
|
||||
cpu-supply = <&vdd_cpu_big1_s0>;
|
||||
};
|
||||
|
||||
&cpu_l0 {
|
||||
cpu-supply = <&vdd_cpu_lit_s0>;
|
||||
};
|
||||
|
||||
&cpu_l1 {
|
||||
cpu-supply = <&vdd_cpu_lit_s0>;
|
||||
};
|
||||
|
||||
&cpu_l2 {
|
||||
cpu-supply = <&vdd_cpu_lit_s0>;
|
||||
};
|
||||
|
||||
&cpu_l3 {
|
||||
cpu-supply = <&vdd_cpu_lit_s0>;
|
||||
};
|
||||
|
||||
&gpu {
|
||||
mali-supply = <&vdd_gpu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-0 = <&i2c0m2_xfer>;
|
||||
status = "okay";
|
||||
|
||||
vdd_cpu_big0_s0: regulator@42 {
|
||||
compatible = "rockchip,rk8602";
|
||||
reg = <0x42>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_cpu_big0_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-ramp-delay = <2300>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_cpu_big1_s0: regulator@43 {
|
||||
compatible = "rockchip,rk8603", "rockchip,rk8602";
|
||||
reg = <0x43>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_cpu_big1_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-ramp-delay = <2300>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
status = "okay";
|
||||
|
||||
vdd_npu_s0: regulator@42 {
|
||||
compatible = "rockchip,rk8602";
|
||||
reg = <0x42>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_npu_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
regulator-ramp-delay = <2300>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&pd_gpu {
|
||||
domain-supply = <&vdd_gpu_s0>;
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
no-sdio;
|
||||
no-sd;
|
||||
non-removable;
|
||||
max-frequency = <200000000>;
|
||||
mmc-hs400-1_8v;
|
||||
mmc-hs400-enhanced-strobe;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi2 {
|
||||
assigned-clocks = <&cru CLK_SPI2>;
|
||||
assigned-clock-rates = <200000000>;
|
||||
num-cs = <1>;
|
||||
pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
|
||||
status = "okay";
|
||||
|
||||
pmic@0 {
|
||||
compatible = "rockchip,rk806";
|
||||
reg = <0x0>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
|
||||
<&rk806_dvs2_null>, <&rk806_dvs3_null>;
|
||||
spi-max-frequency = <1000000>;
|
||||
system-power-controller;
|
||||
rockchip,reset-mode = <RK806_RESET>;
|
||||
|
||||
vcc1-supply = <&vcc5v0_sys>;
|
||||
vcc2-supply = <&vcc5v0_sys>;
|
||||
vcc3-supply = <&vcc5v0_sys>;
|
||||
vcc4-supply = <&vcc5v0_sys>;
|
||||
vcc5-supply = <&vcc5v0_sys>;
|
||||
vcc6-supply = <&vcc5v0_sys>;
|
||||
vcc7-supply = <&vcc5v0_sys>;
|
||||
vcc8-supply = <&vcc5v0_sys>;
|
||||
vcc9-supply = <&vcc5v0_sys>;
|
||||
vcc10-supply = <&vcc5v0_sys>;
|
||||
vcc11-supply = <&vcc_2v0_pldo_s3>;
|
||||
vcc12-supply = <&vcc5v0_sys>;
|
||||
vcc13-supply = <&vcc_1v1_nldo_s3>;
|
||||
vcc14-supply = <&vcc_1v1_nldo_s3>;
|
||||
vcca-supply = <&vcc5v0_sys>;
|
||||
|
||||
rk806_dvs1_null: dvs1-null-pins {
|
||||
pins = "gpio_pwrctrl1";
|
||||
function = "pin_fun0";
|
||||
};
|
||||
|
||||
rk806_dvs2_null: dvs2-null-pins {
|
||||
pins = "gpio_pwrctrl2";
|
||||
function = "pin_fun0";
|
||||
};
|
||||
|
||||
rk806_dvs3_null: dvs3-null-pins {
|
||||
pins = "gpio_pwrctrl3";
|
||||
function = "pin_fun0";
|
||||
};
|
||||
|
||||
regulators {
|
||||
vdd_gpu_s0: dcdc-reg1 {
|
||||
regulator-name = "vdd_gpu_s0";
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
regulator-enable-ramp-delay = <400>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_cpu_lit_s0: dcdc-reg2 {
|
||||
regulator-name = "vdd_cpu_lit_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_log_s0: dcdc-reg3 {
|
||||
regulator-name = "vdd_log_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <675000>;
|
||||
regulator-max-microvolt = <750000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <750000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_vdenc_s0: dcdc-reg4 {
|
||||
regulator-name = "vdd_vdenc_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_ddr_s0: dcdc-reg5 {
|
||||
regulator-name = "vdd_ddr_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <675000>;
|
||||
regulator-max-microvolt = <900000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <850000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd2_ddr_s3: dcdc-reg6 {
|
||||
regulator-name = "vdd2_ddr_s3";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-max-microvolt = <1100000>;
|
||||
regulator-min-microvolt = <1100000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_2v0_pldo_s3: dcdc-reg7 {
|
||||
regulator-name = "vdd_2v0_pldo_s3";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <2000000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_3v3_s3: dcdc-reg8 {
|
||||
regulator-name = "vcc_3v3_s3";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
|
||||
vddq_ddr_s0: dcdc-reg9 {
|
||||
regulator-name = "vddq_ddr_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_1v8_s3: dcdc-reg10 {
|
||||
regulator-name = "vcc_1v8_s3";
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
avcc_1v8_s0: pldo-reg1 {
|
||||
regulator-name = "avcc_1v8_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_1v8_s0: pldo-reg2 {
|
||||
regulator-name = "vcc_1v8_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <1800000>;
|
||||
};
|
||||
};
|
||||
|
||||
avdd_1v2_s0: pldo-reg3 {
|
||||
regulator-name = "avdd_1v2_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1200000>;
|
||||
regulator-max-microvolt = <1200000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_3v3_s0: pldo-reg4 {
|
||||
regulator-name = "vcc_3v3_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vccio_sd_s0: pldo-reg5 {
|
||||
regulator-name = "vccio_sd_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
pldo6_s3: pldo-reg6 {
|
||||
regulator-name = "pldo6_s3";
|
||||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_0v75_s3: nldo-reg1 {
|
||||
regulator-name = "vdd_0v75_s3";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <750000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <750000>;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_ddr_pll_s0: nldo-reg2 {
|
||||
regulator-name = "vdd_ddr_pll_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <850000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
regulator-suspend-microvolt = <850000>;
|
||||
};
|
||||
};
|
||||
|
||||
avdd_0v75_s0: nldo-reg3 {
|
||||
regulator-name = "avdd_0v75_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <750000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_0v85_s0: nldo-reg4 {
|
||||
regulator-name = "vdd_0v85_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <850000>;
|
||||
regulator-max-microvolt = <850000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_0v75_s0: nldo-reg5 {
|
||||
regulator-name = "vdd_0v75_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <750000>;
|
||||
regulator-max-microvolt = <750000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&tsadc {
|
||||
/*
|
||||
* The TSADC_SHUT pin is exposed to carrier boards as a signal named
|
||||
* PMIC_RESET_L, meant to be driven externally. Reference carrier
|
||||
* boards connect it to a reset button that pulls the signal to GND
|
||||
* through a 100Ω resistor. This is too weak to overcome even the
|
||||
* minimum drive strength of the TSADC_SHUT pin when driven in
|
||||
* push-pull mode. Configure it as a GPIO, reset will be generated
|
||||
* through the CRU.
|
||||
*/
|
||||
pinctrl-0 = <&tsadc_gpio_func>;
|
||||
status = "okay";
|
||||
};
|
||||
339
arch/arm64/boot/dts/rockchip/rk3588s-radxa-cm5-io.dts
Normal file
339
arch/arm64/boot/dts/rockchip/rk3588s-radxa-cm5-io.dts
Normal file
@@ -0,0 +1,339 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2025 Joseph Kogut <joseph.kogut@gmail.com>
|
||||
*/
|
||||
|
||||
/*
|
||||
* CM5 IO board data sheet
|
||||
* https://dl.radxa.com/cm5/v2200/radxa_cm5_io_v2200_schematic.pdf
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "rk3588s.dtsi"
|
||||
#include "rk3588s-radxa-cm5.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Radxa Compute Module 5 (CM5) IO Board";
|
||||
compatible = "radxa,cm5-io", "radxa,cm5", "rockchip,rk3588s";
|
||||
|
||||
aliases {
|
||||
ethernet0 = &gmac1;
|
||||
mmc1 = &sdmmc;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial2:1500000n8";
|
||||
};
|
||||
|
||||
hdmi-con {
|
||||
compatible = "hdmi-connector";
|
||||
type = "a";
|
||||
|
||||
port {
|
||||
hdmi_con_in: endpoint {
|
||||
remote-endpoint = <&hdmi0_out_con>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
vcc12v_dcin: regulator-12v0-vcc-dcin {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc12v_dcin";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <12000000>;
|
||||
regulator-max-microvolt = <12000000>;
|
||||
};
|
||||
|
||||
vcc5v0_host: vcc5v0-host-regulator {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc5v0_host";
|
||||
regulator-boot-on;
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
enable-active-high;
|
||||
gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vcc5v0_host_en>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
vcc5v0_sys: regulator-5v0-sys {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc5v0_sys";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&vcc12v_dcin>;
|
||||
};
|
||||
|
||||
vbus5v0_typec: vbus5v0-typec {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vbus5v0_typec";
|
||||
gpio = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&vbus5v0_typec_en>;
|
||||
enable-active-high;
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
vcc3v3_pcie: regulator-3v3-vcc-pcie {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc3v3_pcie2x1l0";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
enable-active-high;
|
||||
gpios = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>;
|
||||
startup-delay-us = <50000>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
};
|
||||
|
||||
vcc_3v3_s0: pldo-reg4 {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "vcc_3v3_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&combphy0_ps {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&combphy2_psu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdmi0_in {
|
||||
hdmi0_in_vp0: endpoint {
|
||||
remote-endpoint = <&vp0_out_hdmi0>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi0_out {
|
||||
hdmi0_out_con: endpoint {
|
||||
remote-endpoint = <&hdmi_con_in>;
|
||||
};
|
||||
};
|
||||
|
||||
&hdmi0_sound {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&hdptxphy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c6 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c6m3_xfer>;
|
||||
status = "okay";
|
||||
|
||||
fusb302: usb-typec@22 {
|
||||
compatible = "fcs,fusb302";
|
||||
reg = <0x22>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <RK_PC4 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&usbc0_int>;
|
||||
vbus-supply = <&vbus5v0_typec>;
|
||||
|
||||
connector {
|
||||
compatible = "usb-c-connector";
|
||||
data-role = "dual";
|
||||
label = "USB-C";
|
||||
power-role = "dual";
|
||||
try-power-role = "sink";
|
||||
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
|
||||
sink-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
|
||||
op-sink-microwatt = <1000000>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
usbc0_orientation_switch: endpoint {
|
||||
remote-endpoint = <&usbdp_phy0_orientation_switch>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
usbc0_role_switch: endpoint {
|
||||
remote-endpoint = <&usb_host0_xhci_role_switch>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
usbc0_dp_altmode_mux: endpoint {
|
||||
remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2s5_8ch {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pcie2x1l2 {
|
||||
reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
|
||||
vpcie3v3-supply = <&vcc3v3_pcie>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pinctrl {
|
||||
fusb302 {
|
||||
vbus5v0_typec_en: vbus5v0-typec-en {
|
||||
rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
|
||||
usbc0_int: usbc0-int {
|
||||
rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
|
||||
};
|
||||
};
|
||||
|
||||
usb {
|
||||
vcc5v0_host_en: vcc5v0-host-en {
|
||||
rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&sdmmc {
|
||||
bus-width = <4>;
|
||||
cap-mmc-highspeed;
|
||||
cap-sd-highspeed;
|
||||
disable-wp;
|
||||
no-sdio;
|
||||
sd-uhs-sdr104;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>;
|
||||
vmmc-supply = <&vcc_3v3_s3>;
|
||||
vqmmc-supply = <&vccio_sd_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy0 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy0_otg {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy2 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy2_host {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy3 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&u2phy3_host {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart2m0_xfer>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host0_xhci {
|
||||
dr_mode = "otg";
|
||||
usb-role-switch;
|
||||
status = "okay";
|
||||
|
||||
port {
|
||||
usb_host0_xhci_role_switch: endpoint {
|
||||
remote-endpoint = <&usbc0_role_switch>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&usb_host1_ehci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host1_ohci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_host2_xhci {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbdp_phy0 {
|
||||
mode-switch;
|
||||
orientation-switch;
|
||||
sbu1-dc-gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
|
||||
sbu2-dc-gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
|
||||
status = "okay";
|
||||
|
||||
port {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
usbdp_phy0_orientation_switch: endpoint@0 {
|
||||
reg = <0>;
|
||||
remote-endpoint = <&usbc0_orientation_switch>;
|
||||
};
|
||||
|
||||
usbdp_phy0_dp_altmode_mux: endpoint@1 {
|
||||
reg = <1>;
|
||||
remote-endpoint = <&usbc0_dp_altmode_mux>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&vop {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vop_mmu {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&vp0 {
|
||||
vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
|
||||
reg = <ROCKCHIP_VOP2_EP_HDMI0>;
|
||||
remote-endpoint = <&hdmi0_in_vp0>;
|
||||
};
|
||||
};
|
||||
280
arch/arm64/boot/dts/rockchip/rk3588s-radxa-cm5.dtsi
Normal file
280
arch/arm64/boot/dts/rockchip/rk3588s-radxa-cm5.dtsi
Normal file
@@ -0,0 +1,280 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (c) 2025 Joseph Kogut <joseph.kogut@gmail.com>
|
||||
*/
|
||||
|
||||
/*
|
||||
* CM5 data sheet
|
||||
* https://dl.radxa.com/cm5/v2210/radxa_cm5_v2210_schematic.pdf
|
||||
*/
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/leds/common.h>
|
||||
#include <dt-bindings/soc/rockchip,vop2.h>
|
||||
#include <dt-bindings/usb/pd.h>
|
||||
|
||||
/ {
|
||||
compatible = "radxa,cm5", "rockchip,rk3588s";
|
||||
|
||||
aliases {
|
||||
mmc0 = &sdhci;
|
||||
};
|
||||
|
||||
leds {
|
||||
compatible = "gpio-leds";
|
||||
|
||||
led_sys: led-0 {
|
||||
color = <LED_COLOR_ID_BLUE>;
|
||||
default-state = "on";
|
||||
function = LED_FUNCTION_HEARTBEAT;
|
||||
gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
|
||||
linux,default-trigger = "heartbeat";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&cpu_b0 {
|
||||
cpu-supply = <&vdd_cpu_big0_s0>;
|
||||
};
|
||||
|
||||
&cpu_b1 {
|
||||
cpu-supply = <&vdd_cpu_big0_s0>;
|
||||
};
|
||||
|
||||
&cpu_b2 {
|
||||
cpu-supply = <&vdd_cpu_big1_s0>;
|
||||
};
|
||||
|
||||
&cpu_b3 {
|
||||
cpu-supply = <&vdd_cpu_big1_s0>;
|
||||
};
|
||||
|
||||
&cpu_l0 {
|
||||
cpu-supply = <&vdd_cpu_lit_s0>;
|
||||
};
|
||||
|
||||
&cpu_l1 {
|
||||
cpu-supply = <&vdd_cpu_lit_s0>;
|
||||
};
|
||||
|
||||
&cpu_l2 {
|
||||
cpu-supply = <&vdd_cpu_lit_s0>;
|
||||
};
|
||||
|
||||
&cpu_l3 {
|
||||
cpu-supply = <&vdd_cpu_lit_s0>;
|
||||
};
|
||||
|
||||
&gmac1 {
|
||||
clock_in_out = "output";
|
||||
phy-handle = <&rgmii_phy1>;
|
||||
phy-mode = "rgmii-id";
|
||||
phy-supply = <&vcc_3v3_s0>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&gmac1_miim
|
||||
&gmac1_tx_bus2
|
||||
&gmac1_rx_bus2
|
||||
&gmac1_rgmii_clk
|
||||
&gmac1_rgmii_bus
|
||||
&gmac1_clkinout>;
|
||||
};
|
||||
|
||||
&gpu {
|
||||
mali-supply = <&vdd_gpu_s0>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&i2c0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&i2c0m2_xfer>;
|
||||
status = "okay";
|
||||
|
||||
vdd_cpu_big0_s0: regulator@42 {
|
||||
compatible = "rockchip,rk8602";
|
||||
reg = <0x42>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_cpu_big0_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-ramp-delay = <2300>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_cpu_big1_s0: regulator@43 {
|
||||
compatible = "rockchip,rk8602";
|
||||
reg = <0x43>;
|
||||
fcs,suspend-voltage-selector = <1>;
|
||||
regulator-name = "vdd_cpu_big1_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-ramp-delay = <2300>;
|
||||
vin-supply = <&vcc5v0_sys>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&mdio1 {
|
||||
rgmii_phy1: phy@1 {
|
||||
compatible = "ethernet-phy-ieee802.3-c22";
|
||||
reg = <0x1>;
|
||||
};
|
||||
};
|
||||
|
||||
&pd_gpu {
|
||||
domain-supply = <&vdd_gpu_s0>;
|
||||
};
|
||||
|
||||
&sdhci {
|
||||
bus-width = <8>;
|
||||
no-sdio;
|
||||
no-sd;
|
||||
non-removable;
|
||||
max-frequency = <200000000>;
|
||||
mmc-hs400-1_8v;
|
||||
mmc-hs400-enhanced-strobe;
|
||||
mmc-hs200-1_8v;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&spi2 {
|
||||
assigned-clocks = <&cru CLK_SPI2>;
|
||||
assigned-clock-rates = <200000000>;
|
||||
num-cs = <1>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi2m2_cs0 &spi2m2_pins>;
|
||||
status = "okay";
|
||||
|
||||
pmic@0 {
|
||||
compatible = "rockchip,rk806";
|
||||
reg = <0x0>;
|
||||
interrupt-parent = <&gpio0>;
|
||||
interrupts = <7 IRQ_TYPE_LEVEL_LOW>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pmic_pins>, <&rk806_dvs1_null>,
|
||||
<&rk806_dvs2_null>, <&rk806_dvs3_null>;
|
||||
spi-max-frequency = <1000000>;
|
||||
system-power-controller;
|
||||
|
||||
vcc1-supply = <&vcc5v0_sys>;
|
||||
vcc2-supply = <&vcc5v0_sys>;
|
||||
vcc3-supply = <&vcc5v0_sys>;
|
||||
vcc4-supply = <&vcc5v0_sys>;
|
||||
vcc5-supply = <&vcc5v0_sys>;
|
||||
vcc6-supply = <&vcc5v0_sys>;
|
||||
vcc7-supply = <&vcc5v0_sys>;
|
||||
vcc8-supply = <&vcc5v0_sys>;
|
||||
vcc9-supply = <&vcc5v0_sys>;
|
||||
vcc10-supply = <&vcc5v0_sys>;
|
||||
vcc11-supply = <&vcc_2v0_pldo_s3>;
|
||||
vcc12-supply = <&vcc5v0_sys>;
|
||||
vcc13-supply = <&vdd2_ddr_s3>;
|
||||
vcc14-supply = <&vdd2_ddr_s3>;
|
||||
vcca-supply = <&vcc5v0_sys>;
|
||||
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
|
||||
rk806_dvs1_null: dvs1-null-pins {
|
||||
pins = "gpio_pwrctrl1";
|
||||
function = "pin_fun0";
|
||||
};
|
||||
|
||||
rk806_dvs2_null: dvs2-null-pins {
|
||||
pins = "gpio_pwrctrl2";
|
||||
function = "pin_fun0";
|
||||
};
|
||||
|
||||
rk806_dvs3_null: dvs3-null-pins {
|
||||
pins = "gpio_pwrctrl3";
|
||||
function = "pin_fun0";
|
||||
};
|
||||
|
||||
regulators {
|
||||
vdd_gpu_s0: dcdc-reg1 {
|
||||
regulator-name = "vdd_gpu_s0";
|
||||
regulator-boot-on;
|
||||
regulator-enable-ramp-delay = <400>;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd_cpu_lit_s0: dcdc-reg2 {
|
||||
regulator-name = "vdd_cpu_lit_s0";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <550000>;
|
||||
regulator-max-microvolt = <950000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vccio_sd_s0: pldo-reg5 {
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vccio_sd_s0";
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-off-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vdd2_ddr_s3: dcdc-reg6 {
|
||||
regulator-name = "vdd2_ddr_s3";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_2v0_pldo_s3: dcdc-reg7 {
|
||||
regulator-name = "vdd_2v0_pldo_s3";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <2000000>;
|
||||
regulator-max-microvolt = <2000000>;
|
||||
regulator-ramp-delay = <12500>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
vcc_3v3_s3: dcdc-reg8 {
|
||||
regulator-name = "vcc_3v3_s3";
|
||||
regulator-always-on;
|
||||
regulator-boot-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
|
||||
regulator-state-mem {
|
||||
regulator-on-in-suspend;
|
||||
regulator-suspend-microvolt = <3300000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user