arm64: dts: rockchip: rk3576-vehicle-evb: add v21-mcu dts

Signed-off-by: Luo Wei <lw@rock-chips.com>
Change-Id: Ib6b2be0222ca6ad47c1597dccff8aca8b18c05bb
This commit is contained in:
Luo Wei
2025-06-14 14:56:20 +08:00
committed by Tom Song
parent 674d48c487
commit f30f8ab9a2
3 changed files with 638 additions and 0 deletions

View File

@@ -301,6 +301,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v20-amp.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v20-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v20-ufs.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v21.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v21-mcu.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576s-evb1-v10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576s-evb1-v10-linux.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576s-tablet-v10.dtb

View File

@@ -4,6 +4,62 @@
*
*/
#define MCU_PERI_5V_EN 0x01
#define MCU_CAM1_PWREN 0x02
#define MCU_CAM2_PWREN 0x03
#define DSP_CORE_PWR_EN 0x04
#define MCU_DSP_RST 0x05
#define FM_PWR_EN_MCU 0x06
#define ADC_PWDN_MCU 0x07
#define MCU_ADSP_VCC12V_EN 0x08
#define MCU_CAM3_PWREN 0x08
#define A2B_PWR_EN_MCU 0x09
#define MCU_RSTB_ETH 0x0a
#define MCU_DISB_ETH 0x0b
#define MUTE_AMP_MCU 0x0c
#define MCU_LCD1_SER_EN 0x0a
#define MCU_LCD2_SER_EN 0x0b
#define MCU_LCD3_SER_EN 0x0c
#define STANDBY_AMP_MCU 0x0d
#define MCU_CTRL_CluPWR 0x0e
#define MCU_LCD1_12V_EN 0x0f
#define MCU_LCD2_12V_EN 0x10
#define MCU_LCD3_12V_EN 0x11
#define MCU_CAM1_OUT1_EN 0x12
#define MCU_CAM1_OUT2_EN 0x13
#define MCU_CAM1_OUT3_EN 0x14
#define MCU_CAM1_OUT4_EN 0x15
#define MCU_CAM2_OUT1_EN 0x16
#define MCU_CAM2_OUT2_EN 0x17
#define MCU_CAM2_OUT3_EN 0x18
#define MCU_CAM2_OUT4_EN 0x19
#define MCU_CAM3_OUT1_EN 0x1a
#define MCU_CAM3_OUT2_EN 0x1b
#define MCU_CAM3_OUT3_EN 0x1c
#define MCU_CAM3_OUT4_EN 0x1d
#define MCU_USB3HOST_PWREN 0x1e
#define USB_OTG0_PWREN_H 0x1f
#define MCU_CTRL_VSYS 0x20
#define DSP_VCC1V8_PWR_EN 0x21
#define DSP_VCC3V3_PWR_EN 0x22
#define PERI_5V_PG 0x92
#define SYS4V_PG 0x93
#define FAULT_AMP3_MCU 0x92
#define FAULT_AMP4_MCU 0x93
#define MCU_DSP_FAULTB 0x94
#define ADC_INT_MCU 0x95
#define A2B_IRQ_MCU 0x96
#define ACC_DET 0x97
#define BACK_DET 0x98
#define MCU_CAM2_OUT1_DIAG 0x99
#define MCU_CAM2_OUT2_DIAG 0x9a
#define MCU_CAM2_OUT3_DIAG 0x9b
#define MCU_CAM2_OUT4_DIAG 0x9c
#define MCU_LCD1_PWR_DIAG 0x9d
#define MCU_LCD2_PWR_DIAG 0x9e
#define MCU_LCD3_PWR_DIAG 0x9f
/ {
gpio_mcu_rockchip: gpio-mcu-rockchip {
compatible = "rockchip,mcu-gpio";

View File

@@ -0,0 +1,581 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2025 Rockchip Electronics Co., Ltd.
*
*/
/dts-v1/;
#include "rk3576.dtsi"
#include "rk3576-vehicle-evb-v20.dtsi"
#include "rk3576-vehicle-evb-v21-mcu-io-expander.dtsi"
#include "rk3576-vehicle-evb-v20-serdes-mfd-display-maxim.dtsi"
#include "rk3576-vehicle-evb-v20-maxim-max96712-dphy0-ox03j10.dtsi"
#include "rk3576-vehicle-evb-v20-maxim-max96712-dphy3-sc233at.dtsi"
#include "rk3576-android.dtsi"
/delete-node/ &vcc5v0_host_usb30;
/ {
model = "Rockchip RK3576 VEHICLE EVB V21 Board";
compatible = "rockchip,rk3576-vehicle-evb-v21", "rockchip,rk3576";
chosen: chosen {
bootargs = "earlycon=uart8250,mmio32,0x2ad40000 console=ttyFIQ0 rcupdate.rcu_expedited=1 rcu_nocbs=all spidev.bufsiz=131072";
};
vehicle_dummy: vehicle-dummy {
status = "okay";
compatible = "rockchip,vehicle-dummy-adc";
io-channels = <&saradc 4>, <&saradc 5>, <&saradc 6>;
io-channel-names = "gear", "turn_left", "turn_right";
};
vcc5v0_buck: vcc5v0-buck {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_buck";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
pinctrl-names = "default";
pinctrl-0 = <&vcc5v0_buck_en>;
startup-delay-us = <2500>;
off-on-delay-us = <1500>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <5000000>;
};
};
cluster_power_buck: cluster_power-buck {
compatible = "regulator-fixed";
regulator-name = "cluster_power_buck";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
//enable-active-high;
gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
vin-supply = <&vcc_1v8_s0>;
pinctrl-names = "default";
pinctrl-0 = <&cluster_buck_en>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
usb_otg_vcc5v_buck: usb_otg_vcc5v-buck {
compatible = "regulator-fixed";
regulator-name = "usb_otg_vcc5v_buck";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
//enable-active-high;
gpio = <&gpio_mcu_rockchip USB_OTG0_PWREN_H GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc5v0_buck>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <5000000>;
};
};
usb_host_vcc5v_buck: usb_host_vcc5v-buck {
compatible = "regulator-fixed";
regulator-name = "usb_host_vcc5v_buck";
//regulator-boot-on;
//regulator-always-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_USB3HOST_PWREN GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc5v0_buck>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <5000000>;
};
};
lcd1_vcc12v_buck: lcd1_vcc12v-buck {
compatible = "regulator-fixed";
regulator-name = "lcd1_vcc12v_buck";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_LCD1_12V_EN GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
lcd2_vcc12v_buck: lcd2_vcc12v-buck {
compatible = "regulator-fixed";
regulator-name = "lcd2_vcc12v_buck";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_LCD2_12V_EN GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
lcd1_ser_vcc5v_buck: lcd1_ser_vcc5v-buck {
compatible = "regulator-fixed";
regulator-name = "lcd1_ser_vcc5v_buck";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_LCD1_SER_EN GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc5v0_buck>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <5000000>;
};
};
lcd2_ser_vcc5v_buck: lcd2_ser_vcc5v-buck {
compatible = "regulator-fixed";
regulator-name = "lcd2_ser_vcc5v_buck";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_LCD2_SER_EN GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc5v0_buck>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <5000000>;
};
};
adsp_vcc12v_buck: adsp_vcc12v-buck {
compatible = "regulator-fixed";
status = "disabled";
regulator-name = "adsp_vcc12v_buck";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_ADSP_VCC12V_EN GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
lcd3_vcc12v_buck: lcd3_vcc12v-buck {
compatible = "regulator-fixed";
regulator-name = "lcd3_vcc12v_buck";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_LCD3_12V_EN GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
lcd3_vcc5v_buck: lcd3_vcc5v-buck {
compatible = "regulator-fixed";
regulator-name = "lcd3_vcc5v_buck";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_LCD3_SER_EN GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dcphy0_vcc12v_buck1: dcphy0_vcc12v-buck1 {
compatible = "regulator-fixed";
regulator-name = "dcphy0_vcc12v_buck1";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM1_OUT1_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dcphy0_vcc12v_buck2: dcphy0_vcc12v-buck2 {
compatible = "regulator-fixed";
regulator-name = "dcphy0_vcc12v_buck2";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM1_OUT2_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dcphy0_vcc12v_buck3: dcphy0_vcc12v-buck3 {
compatible = "regulator-fixed";
regulator-name = "dcphy0_vcc12v_buck3";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM1_OUT3_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dcphy0_vcc12v_buck4: dcphy0_vcc12v-buck4 {
compatible = "regulator-fixed";
regulator-name = "dcphy0_vcc12v_buck4";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM1_OUT4_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dphy0_vcc12v_buck1: dphy0_vcc12v-buck1 {
compatible = "regulator-fixed";
regulator-name = "dphy0_vcc12v_buck1";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM2_OUT1_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dphy0_vcc12v_buck2: dphy0_vcc12v-buck2 {
compatible = "regulator-fixed";
regulator-name = "dphy0_vcc12v_buck2";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM2_OUT2_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dphy0_vcc12v_buck3: dphy0_vcc12v-buck3 {
compatible = "regulator-fixed";
regulator-name = "dphy0_vcc12v_buck3";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM2_OUT3_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dphy0_vcc12v_buck4: dphy0_vcc12v-buck4 {
compatible = "regulator-fixed";
regulator-name = "dphy0_vcc12v_buck4";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM2_OUT4_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dphy3_vcc12v_buck1: dphy3_vcc12v-buck1 {
compatible = "regulator-fixed";
regulator-name = "dphy3_vcc12v_buck1";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM3_OUT1_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dphy3_vcc12v_buck2: dphy3_vcc12v-buck2 {
compatible = "regulator-fixed";
regulator-name = "dphy3_vcc12v_buck2";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM3_OUT2_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dphy3_vcc12v_buck3: dphy3_vcc12v-buck3 {
compatible = "regulator-fixed";
regulator-name = "dphy3_vcc12v_buck3";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM3_OUT3_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
dphy3_vcc12v_buck4: dphy3_vcc12v-buck4 {
compatible = "regulator-fixed";
regulator-name = "dphy3_vcc12v_buck4";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&gpio_mcu_rockchip MCU_CAM3_OUT4_EN GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
regulator-suspend-microvolt = <12000000>;
};
};
};
&dfi {
status = "disabled";
};
&dmc {
status = "disabled";
};
&gmac1 {
status = "disabled";
};
&hym8563 {
status = "disabled";
};
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m0_xfer>;
};
/*edp*/
&i2c3_max96752 {
use-reg-check-work;
vpower-supply = <&lcd1_vcc12v_buck>;
};
/*edp touch*/
&i2c3_himax {
himax,irq-gpio = <&gpio0 RK_PB6 IRQ_TYPE_EDGE_FALLING>;
};
/*dp*/
&i2c5_max96745 {
lock-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
};
&i2c5_ilitek {
interrupt-parent = <&gpio4>;
interrupts = <RK_PA0 IRQ_TYPE_LEVEL_LOW>;
};
/*dp*/
&i2c5_max96752 {
use-reg-check-work;
vpower-supply = <&lcd2_vcc12v_buck>;
};
&i2c8_max96789 {
route-enable;
};
/*dsi*/
&i2c8_max96752 {
use-reg-check-work;
vpower-supply = <&lcd3_vcc12v_buck>;
};
&dp2lvds_backlight0 {
pwms = <&pwm2_8ch_7 0 25000 0>;
};
&edp2lvds_backlight0 {
pwms = <&pwm0_2ch_0 0 25000 0>;
};
&max96712_dphy0_poc_regulator {
gpio = <&gpio_mcu_rockchip MCU_CAM2_PWREN GPIO_ACTIVE_HIGH>;
};
/* edp->serdes->lvds_panel */
&pwm0_2ch_0 {
pinctrl-0 = <&pwm0m3_ch0>;
};
/* dp->serdes->lvds_panel */
&pwm2_8ch_7 {
pinctrl-0 = <&pwm2m3_ch7>;
};
&pinctrl {
touch {
//dsi-i2c8
touch_gpio_dsi: touch-gpio-dsi {
rockchip,pins =
<3 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
};
//dp-i2c5
touch_gpio_dp: touch-gpio-dp {
rockchip,pins = <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
};
//edp0-i2c3
touch_gpio_edp: touch-gpio-edp {
rockchip,pins =
<0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
vcc5v0-buck {
vcc5v0_buck_en: vcc5v0-buck-en {
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
cluster-buck {
cluster_buck_en: cluster-buck-en {
rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
};
&rkvpss {
status = "okay";
};
&rkvpss_mmu {
status = "okay";
};
&rkvpss_vir0 {
status = "okay";
};
&route_dsi {
status = "okay";
};
&sdmmc {
status = "disabled";
};
&ufs {
status = "disabled";
};
&u2phy0 {
status = "okay";
};
&u2phy0_otg {
//vbus-supply = <&usb_otg_vcc5v_buck>;
status = "okay";
};
&u2phy1_otg {
phy-supply = <&usb_host_vcc5v_buck>;
status = "okay";
};
&usbdp_phy {
maximum-speed = "high-speed";
status = "okay";
};
&usb_drd1_dwc3 {
snps,dis_u2_susphy_quirk;
snps,usb2-lpm-disable;
status = "okay";
};