arm64: dts: rockchip: add dtsi for nca9539 io expander on rk3588 vehicle EVBV23

Change-Id: Ib6d1b8ffc61cef383bce235dca2320170309ce8a
Signed-off-by: Zitong Cai <zitong.cai@rock-chips.com>
This commit is contained in:
Zitong Cai
2025-01-10 16:26:34 +08:00
committed by Tao Huang
parent 808c54ab7b
commit 4add0132d7
2 changed files with 267 additions and 30 deletions

View File

@@ -0,0 +1,48 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2025 Rockchip Electronics Co., Ltd.
*
*/
/ {
nca9539_vdd: nca9539-vdd3v3 {
compatible = "regulator-fixed";
regulator-name = "nca9539_vdd";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
startup-delay-us = <20>; // NCA9539 POR
vin-supply = <&vcc_3v3_s0>;
};
};
&i2c5 {
clock-frequency = <400000>;
status = "okay";
i2c5_nca9539_gpio1: gpio@74 {
status = "okay";
compatible = "novo,nca9539-gpio";
reg = <0x74>;
gpio-controller;
#gpio-cells = <2>;
ngpios = <16>;
interrupt-controller;
#interrupt-cells = <2>;
vdd-supply = <&nca9539_vdd>;
};
i2c5_nca9539_gpio2: gpio@75 {
status = "okay";
compatible = "novo,nca9539-gpio";
reg = <0x75>;
gpio-controller;
#gpio-cells = <2>;
ngpios = <16>;
interrupt-controller;
#interrupt-cells = <2>;
vdd-supply = <&nca9539_vdd>;
};
};

View File

@@ -7,7 +7,7 @@
/dts-v1/;
#include "rk3588-vehicle-evb-v21.dtsi"
#include "rk3588-vehicle-evb-v22-nca9539-io-expander.dtsi"
#include "rk3588-vehicle-evb-v23-nca9539-io-expander.dtsi"
#include "rk3588-vehicle-evb-maxim-max96712-dphy3-isx021.dtsi"
#include "rk3588-vehicle-evb-maxim-max96756-dphy0.dtsi"
#include "rk3588-vehicle-serdes-mfd-display-maxim.dtsi"
@@ -60,6 +60,7 @@
};
};
#endif
lcd1_vcc12v_buck: lcd1_vcc12v-buck {
compatible = "regulator-fixed";
regulator-name = "lcd1_vcc12v_buck";
@@ -68,7 +69,7 @@
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 0 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 0 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
@@ -84,7 +85,7 @@
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 1 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 1 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
@@ -100,7 +101,7 @@
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 2 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
@@ -116,7 +117,7 @@
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 3 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 3 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
@@ -132,7 +133,7 @@
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 4 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 4 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
@@ -148,7 +149,7 @@
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 5 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 5 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
@@ -156,14 +157,14 @@
};
};
dcphy0_vcc12v_buck: dcphy0_vcc12v-buck {
dphy1_cam4_vcc12v_buck3: dphy1_vcc12v-buck3 {
compatible = "regulator-fixed";
regulator-name = "dcphy0_vcc12v_buck";
regulator-name = "dphy1_cam4_vcc12v_buck3";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 6 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 6 GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
@@ -173,14 +174,14 @@
};
};
dcphy1_vcc12v_buck: dcphy1_vcc12v-buck {
dphy1_cam4_vcc12v_buck4: dphy1_vcc12v-buck4 {
compatible = "regulator-fixed";
regulator-name = "dcphy1_vcc12v_buck";
regulator-name = "dphy1_cam4_vcc12v_buck4";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 7 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 7 GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
@@ -190,14 +191,14 @@
};
};
dphy0_vcc12v_buck: dphy0_vcc12v-buck {
dphy1_cam4_vcc12v_buck1: dphy1_vcc12v-buck1 {
compatible = "regulator-fixed";
regulator-name = "dphy0_vcc12v_buck";
regulator-name = "dphy1_cam4_vcc12v_buck1";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 8 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 8 GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
@@ -207,14 +208,14 @@
};
};
dphy3_vcc12v_buck: dphy3_vcc12v-buck {
dphy1_cam4_vcc12v_buck2: dphy1_vcc12v-buck2 {
compatible = "regulator-fixed";
regulator-name = "dphy3_vcc12v_buck";
regulator-name = "dphy1_cam4_vcc12v_buck2";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 9 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 9 GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
@@ -226,16 +227,16 @@
vcc5v0_host_usb20: vcc5v0-host-usb20 {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_otg_usb20";
regulator-name = "vcc5v0_host_usb20";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
//enable-active-high;
gpio = <&nca9539_gpio 10 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 10 GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc5v0_usb>;
vin-supply = <&vcc5v0_buck>;
};
vcc5v0_host_usb30: vcc5v0-host-usb30 {
@@ -246,21 +247,209 @@
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&nca9539_gpio 11 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 11 GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc5v0_usb>;
vin-supply = <&vcc5v0_buck>;
};
adsp_vcc12v_buck: adsp_vcc12v-buck {
dphy0_cam3_vcc12v_buck1: dphy0_vcc12v-buck1 {
compatible = "regulator-fixed";
regulator-name = "adsp_vcc12v_buck";
regulator-name = "dphy0_cam3_vcc12v_buck1";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&nca9539_gpio 12 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio1 12 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_cam3_vcc12v_buck2: dphy0_vcc12v-buck2 {
compatible = "regulator-fixed";
regulator-name = "dphy0_cam3_vcc12v_buck2";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio1 13 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_cam3_vcc12v_buck3: dphy0_vcc12v-buck3 {
compatible = "regulator-fixed";
regulator-name = "dphy0_cam3_vcc12v_buck3";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio1 14 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_cam3_vcc12v_buck4: dphy0_vcc12v-buck4 {
compatible = "regulator-fixed";
regulator-name = "dphy0_cam3_vcc12v_buck4";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio1 15 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_cam1_vcc12v_buck1: dcphy0_vcc12v-buck1 {
compatible = "regulator-fixed";
regulator-name = "dcphy0_cam1_vcc12v_buck1";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio2 0 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_cam1_vcc12v_buck2: dcphy0_vcc12v-buck2 {
compatible = "regulator-fixed";
regulator-name = "dcphy0_cam1_vcc12v_buck2";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio2 1 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_cam1_vcc12v_buck3: dcphy0_vcc12v-buck3 {
compatible = "regulator-fixed";
regulator-name = "dcphy0_cam1_vcc12v_buck3";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio2 2 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_cam1_vcc12v_buck4: dcphy0_vcc12v-buck4 {
compatible = "regulator-fixed";
regulator-name = "dcphy0_cam1_vcc12v_buck4";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio2 3 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>;
};
};
dcphy1_cam2_vcc12v_buck1: dcphy1_vcc12v-buck1 {
compatible = "regulator-fixed";
regulator-name = "dcphy1_cam2_vcc12v_buck1";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio2 4 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>;
};
};
dcphy1_cam2_vcc12v_buck2: dcphy1_vcc12v-buck2 {
compatible = "regulator-fixed";
regulator-name = "dcphy1_cam2_vcc12v_buck2";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio2 5 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>;
};
};
dcphy1_cam2_vcc12v_buck3: dcphy1_vcc12v-buck3 {
compatible = "regulator-fixed";
regulator-name = "dcphy1_cam2_vcc12v_buck3";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio2 6 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>;
};
};
dcphy1_cam2_vcc12v_buck4: dcphy1_vcc12v-buck4 {
compatible = "regulator-fixed";
regulator-name = "dcphy1_cam2_vcc12v_buck4";
regulator-boot-on;
regulator-min-microvolt = <12000000>;
regulator-max-microvolt = <12000000>;
enable-active-high;
gpio = <&i2c5_nca9539_gpio2 7 GPIO_ACTIVE_HIGH>;
startup-delay-us = <2000>;
off-on-delay-us = <16000>;
vin-supply = <&vcc12v_dcin>;
regulator-state-mem {
regulator-off-in-suspend;
@@ -276,7 +465,7 @@
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
gpio = <&nca9539_gpio 13 GPIO_ACTIVE_HIGH>;
gpio = <&i2c5_nca9539_gpio2 8 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc5v0_buck>;
regulator-state-mem {
regulator-on-in-suspend;
@@ -369,7 +558,7 @@
};
&max96712_dphy3_poc_regulator {
vin-supply = <&dphy3_vcc12v_buck>;
vin-supply = <&dphy1_cam4_vcc12v_buck1>;
gpio = <&gpio4 RK_PD5 GPIO_ACTIVE_HIGH>;
};