This commit is contained in:
zhangpeng
2025-04-28 11:36:59 +08:00
commit 5dd7a8972b
945 changed files with 332963 additions and 0 deletions

View File

@@ -0,0 +1,59 @@
cmd_arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb := gcc -E -Wp,-MMD,arch/arm64/boot/dts/rockchip/rk3588/.dr4-rk3588.dtb.d.pre.tmp -nostdinc -I./scripts/dtc/include-prefixes -undef -D__DTS__ -x assembler-with-cpp -o arch/arm64/boot/dts/rockchip/rk3588/.dr4-rk3588.dtb.dts.tmp arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts ; ./scripts/dtc/dtc -O dtb -o arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb -b 0 -iarch/arm64/boot/dts/rockchip/rk3588/ -i./scripts/dtc/include-prefixes -Wno-interrupt_provider -@ -Wno-unit_address_vs_reg -Wno-unit_address_format -Wno-avoid_unnecessary_addr_size -Wno-alias_paths -Wno-graph_child_address -Wno-simple_bus_reg -Wno-unique_unit_address -Wno-pci_device_reg -d arch/arm64/boot/dts/rockchip/rk3588/.dr4-rk3588.dtb.d.dtc.tmp arch/arm64/boot/dts/rockchip/rk3588/.dr4-rk3588.dtb.dts.tmp ; cat arch/arm64/boot/dts/rockchip/rk3588/.dr4-rk3588.dtb.d.pre.tmp arch/arm64/boot/dts/rockchip/rk3588/.dr4-rk3588.dtb.d.dtc.tmp > arch/arm64/boot/dts/rockchip/rk3588/.dr4-rk3588.dtb.d
source_arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb := arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts
deps_arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb := \
arch/arm64/boot/dts/rockchip/rk3588/rp-rk3588-board.dtsi \
scripts/dtc/include-prefixes/dt-bindings/usb/pd.h \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588j.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588.dtsi \
scripts/dtc/include-prefixes/dt-bindings/phy/phy-snps-pcie3.h \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588s.dtsi \
scripts/dtc/include-prefixes/dt-bindings/clock/rk3588-cru.h \
scripts/dtc/include-prefixes/dt-bindings/interrupt-controller/arm-gic.h \
scripts/dtc/include-prefixes/dt-bindings/interrupt-controller/irq.h \
scripts/dtc/include-prefixes/dt-bindings/phy/phy.h \
scripts/dtc/include-prefixes/dt-bindings/power/rk3588-power.h \
scripts/dtc/include-prefixes/dt-bindings/soc/rockchip,boot-mode.h \
scripts/dtc/include-prefixes/dt-bindings/soc/rockchip-system-status.h \
scripts/dtc/include-prefixes/dt-bindings/suspend/rockchip-rk3588.h \
scripts/dtc/include-prefixes/dt-bindings/thermal/thermal.h \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588s-pinctrl.dtsi \
scripts/dtc/include-prefixes/dt-bindings/pinctrl/rockchip.h \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588s-pinconf.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588-vccio3-pinctrl.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/../rockchip-pinconf.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588-evb.dtsi \
scripts/dtc/include-prefixes/dt-bindings/gpio/gpio.h \
scripts/dtc/include-prefixes/dt-bindings/pwm/pwm.h \
scripts/dtc/include-prefixes/dt-bindings/input/rk-input.h \
scripts/dtc/include-prefixes/dt-bindings/display/drm_mipi_dsi.h \
scripts/dtc/include-prefixes/dt-bindings/display/rockchip_vop.h \
scripts/dtc/include-prefixes/dt-bindings/sensor-dev.h \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588-rk806-single.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588-linux.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-tp-i2c6-gt911.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rd-rk3588-lcd-gpio.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rpdzkj_config.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-usb-typec-rk3588.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-usb-host.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-eth-pcie2gmac-rk3588.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-eth-gmac1.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-pcie-power-rk3588.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-pcie3.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-pcie-5g.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-audio-rt5640.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-wifi-bt-ap6275p-rk3588.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-hdmirx.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-camera-dcphy1.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-camera-dphy0.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-camera-dphy1.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-multi-hdmi0-hdmi1-dp0.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-hdmi0.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-hdmi1.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-typec-dp0.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb: $(deps_arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb)
$(deps_arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb):

View File

@@ -0,0 +1 @@
arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dtb: arch/arm64/boot/dts/rockchip/rk3588/.dr4-rk3588.dtb.dts.tmp

View File

@@ -0,0 +1,51 @@
dr4-rk3588.o: arch/arm64/boot/dts/rockchip/rk3588/dr4-rk3588.dts \
arch/arm64/boot/dts/rockchip/rk3588/rp-rk3588-board.dtsi \
scripts/dtc/include-prefixes/dt-bindings/usb/pd.h \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588j.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588.dtsi \
scripts/dtc/include-prefixes/dt-bindings/phy/phy-snps-pcie3.h \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588s.dtsi \
scripts/dtc/include-prefixes/dt-bindings/clock/rk3588-cru.h \
scripts/dtc/include-prefixes/dt-bindings/interrupt-controller/arm-gic.h \
scripts/dtc/include-prefixes/dt-bindings/interrupt-controller/irq.h \
scripts/dtc/include-prefixes/dt-bindings/phy/phy.h \
scripts/dtc/include-prefixes/dt-bindings/power/rk3588-power.h \
scripts/dtc/include-prefixes/dt-bindings/soc/rockchip,boot-mode.h \
scripts/dtc/include-prefixes/dt-bindings/soc/rockchip-system-status.h \
scripts/dtc/include-prefixes/dt-bindings/suspend/rockchip-rk3588.h \
scripts/dtc/include-prefixes/dt-bindings/thermal/thermal.h \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588s-pinctrl.dtsi \
scripts/dtc/include-prefixes/dt-bindings/pinctrl/rockchip.h \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588s-pinconf.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588-vccio3-pinctrl.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/../rockchip-pinconf.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588-evb.dtsi \
scripts/dtc/include-prefixes/dt-bindings/gpio/gpio.h \
scripts/dtc/include-prefixes/dt-bindings/pwm/pwm.h \
scripts/dtc/include-prefixes/dt-bindings/input/rk-input.h \
scripts/dtc/include-prefixes/dt-bindings/display/drm_mipi_dsi.h \
scripts/dtc/include-prefixes/dt-bindings/display/rockchip_vop.h \
scripts/dtc/include-prefixes/dt-bindings/sensor-dev.h \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588-rk806-single.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/../rk3588-linux.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-tp-i2c6-gt911.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rd-rk3588-lcd-gpio.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rpdzkj_config.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-usb-typec-rk3588.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-usb-host.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-eth-pcie2gmac-rk3588.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-eth-gmac1.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-pcie-power-rk3588.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-pcie3.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-pcie-5g.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-audio-rt5640.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-wifi-bt-ap6275p-rk3588.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-hdmirx.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-camera-dcphy1.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-camera-dphy0.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-camera-dphy1.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-multi-hdmi0-hdmi1-dp0.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-hdmi0.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-hdmi1.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-typec-dp0.dtsi \
arch/arm64/boot/dts/rockchip/rk3588/rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi

16256
rk3588/.dr4-rk3588.dtb.dts.tmp Normal file

File diff suppressed because it is too large Load Diff

BIN
rk3588/dr4-rk3588.dtb Normal file

Binary file not shown.

244
rk3588/dr4-rk3588.dts Executable file
View File

@@ -0,0 +1,244 @@
/* board base */
//#include "../rk3588-evb4-lp4-v10-linux.dts"
#include "rp-rk3588-board.dtsi"
#include "rp-tp-i2c6-gt911.dtsi"
#include "rd-rk3588-lcd-gpio.dtsi"
#include "rpdzkj_config.dtsi"
/* usb */
#include "rp-usb-typec-rk3588.dtsi"
#include "rp-usb-host.dtsi"
/* ethernet */
#include "rp-eth-pcie2gmac-rk3588.dtsi"
#include "rp-eth-gmac1.dtsi"
/* pcie */
#include "rp-pcie-power-rk3588.dtsi"
#include "rp-pcie3.dtsi" //need comment when use board of make it youself,and remove the pcie function
#include "rp-pcie-5g.dtsi"
/* audio */
#include "rp-audio-rt5640.dtsi"
/* wifi/bt */
#include "rp-wifi-bt-ap6275p-rk3588.dtsi"
/* hdmi rx */
#include "rp-hdmirx.dtsi"
/* camera */
/***********all camera config********/
//#include "rp-camera-dcphy0.dtsi"
#include "rp-camera-dcphy1.dtsi"
#include "rp-camera-dphy0.dtsi"
#include "rp-camera-dphy1.dtsi"
//#include "rp-camera-dcphy0-ov13855.dtsi"
//#include "rp-camera-dcphy1-ov13855.dtsi"
//#include "rp-camera-dphy0-ov13855.dtsi"
//#include "rp-camera-dphy1-ov13855.dtsi"
//#include "rp-camera-dcphy0-gc8034.dtsi"
//#include "rp-camera-dcphy1-gc8034.dtsi"
//#include "rp-camera-dphy0-gc8034.dtsi"
//#include "rp-camera-dphy1-gc8034.dtsi"
//#include "rp-camera-dcphy0-imx415.dtsi"
//#include "rp-camera-dcphy1-imx415.dtsi"
//#include "rp-camera-dphy0-imx415.dtsi"
//#include "rp-camera-dphy1-imx415.dtsi"
/**********4 channel must be disabled hdmi in*********/
//#include "rp-camera-dcphy1-gc8034.dtsi"
//#include "rp-camera-dphy1-gc8034.dtsi"
//#include "rp-camera-dcphy0-imx415.dtsi"
//#include "rp-camera-dphy0-imx415.dtsi"
/******************************************/
//#include "rp-lcd-hdmi0.dtsi" //batch ignore
//#include "rp-lcd-hdmi1.dtsi" //batch ignore
//#include "rp-lcd-typec-dp0.dtsi" //usb edp0, must be enable rp-usb-typec.dtsi, batch ignore
#include "rp-lcd-multi-hdmi0-hdmi1-dp0.dtsi"
/* lcd */
#include "rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi"
//#include "rp-lcd-mipi0-7-720-1280.dtsi"
//#include "rp-lcd-mipi0-8-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-8-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-10-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-1920-1200-jc.dtsi"
//#include "rp-lcd-edp0-13.3-15.6-1920-1080.dtsi"
//#include "rp-lcd-edp1-13.3-15.6-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-21-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-10.1-1024-600.dtsi"
/* mulit lcd */
//#include "rp-multi-lcd-edp0-13.3-edp1-13.3-dp0.dtsi"
//#include "rp-multi-lcd-edp0-13.3-edp1-15.6-dp0.dtsi"
/* quadplex lcd */
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-edp0-edp1.dtsi"
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-edp0-hdmi1.dtsi"
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-hdmi0-edp1.dtsi"
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-hdmi0-hdmi1.dtsi"
/ {
model = "dr4-rk3588";
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
dma_trans: dma-trans@3c000000 {
reg = <0x0 0x3c000000 0x0 0x04000000>;
};
};
vcc_1v1_nldo_s3: 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>;
};
fan_gpio_control {
compatible = "fan_gpio_control";
gpio-pin = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
thermal-zone = "soc-thermal";
threshold-temp = <60000>; //60C
running-time = <10000>; //10s
status = "okay";
};
rp_power{
status = "okay";
compatible = "rp_power";
rp_not_deep_sleep = <1>;
//#define GPIO_FUNCTION_OUTPUT 0
//#define GPIO_FUNCTION_INPUT 1
//#define GPIO_FUNCTION_IRQ 2
//#define GPIO_FUNCTION_FLASH 3
//#define GPIO_FUNCTION_OUTPUT_CTRL 4
//fan {
// gpio_num = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
// gpio_function = <4>;
//};
led {
gpio_num = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
gpio_function = <3>;
};
usb-host-power {
gpio_num = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-hub-reset {
gpio_num = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
};
rp_gpio{
status = "okay";
compatible = "rp_gpio";
gpio3c7 {
gpio_num = <&gpio3 RK_PC7 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
};
};
&uart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart0m0_xfer>;
};
&uart6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart6m0_xfer>;
};
&uart7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart7m1_xfer>;
};
&uart8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart8m0_xfer>;
};
&can0 {
assigned-clocks = <&cru CLK_CAN0>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can0m0_pins>;
};
&can1 {
assigned-clocks = <&cru CLK_CAN1>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can1m1_pins>;
};
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m1_xfer>;
hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;
clock-frequency = <32768>;
clock-output-names = "hym8563";
//pinctrl-names = "default";
//pinctrl-0 = <&hym8563_int>;
//interrupt-parent = <&gpio0>;
//interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
//wakeup-source;
};
};
&sdmmc {
status = "okay";
};
&fiq_debugger {
rockchip,baudrate = <115200>;
};
&display_subsystem {
clocks = <&hdptxphy_hdmi_clk0>, <&hdptxphy_hdmi_clk1>;
clock-names = "hdmi0_phy_pll", "hdmi1_phy_pll";
};
&hdptxphy_hdmi_clk0 {
status = "okay";
};
&hdptxphy_hdmi_clk1 {
status = "okay";
};

295
rk3588/nano-rk3588.dts Executable file
View File

@@ -0,0 +1,295 @@
/* board base */
//#include "../rk3588-evb4-lp4-v10-linux.dts"
#include "rp-rk3588-board.dtsi"
#include "rp-tp-i2c6-gt911.dtsi"
#include "rd-rk3588-lcd-gpio.dtsi"
#include "rpdzkj_config.dtsi"
/* usb */
#include "rp-usb-typea-rk3588.dtsi"
#include "rp-usb-host.dtsi"
/* ethernet */
#include "rp-eth-pcie2gmac-rk3588.dtsi"
#include "rp-eth-gmac1.dtsi"
/* pcie */
#include "rp-pcie-power-rk3588.dtsi"
#include "rp-pcie-m2.dtsi"
/* audio */
#include "rp-audio-es8311.dtsi"
/* wifi/bt */
#include "rp-wifi-bt-ap6275p-rk3588.dtsi"
/* hdmi rx */
#include "rp-hdmirx.dtsi"
/* camera */
//#include "rp-camera-dual-ov13855.dtsi"
//#include "rp-lcd-hdmi0.dtsi" //batch ignore
//#include "rp-lcd-hdmi1.dtsi" //batch ignore
#include "rp-lcd-multi-hdmi0-hdmi1-dp0.dtsi"
/* lcd */
//#include "rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi"
//#include "rp-lcd-mipi0-7-720-1280.dtsi"
//#include "rp-lcd-mipi0-8-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-8-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-10-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-1920-1200-jc.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-10.1-1024-600.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-21-1920-1080.dtsi"
/* quadplex lcd */
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-hdmi0-hdmi1.dtsi"
/ {
model = "nano-rk3588";
compatible = "rpdzkj,nano-rk3588", "rockchip,rk3588";
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
dma_trans: dma-trans@3c000000 {
reg = <0x0 0x3c000000 0x0 0x04000000>;
};
};
vcc_1v1_nldo_s3: 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>;
};
vdd_3v3_5v_control: vdd_3v3_5v_control {
compatible = "regulator-fixed";
regulator-name = "vdd_3v3_5v_control";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>; //In the uboot phase fixed.c resolves gpio
gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&vdd_control>;
};
fan_gpio_control {
compatible = "fan_gpio_control";
gpio-pin = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
thermal-zone = "soc-thermal";
threshold-temp = <60000>; //60C
running-time = <10000>; //10s
status = "okay";
};
rp_power{
status = "okay";
compatible = "rp_power";
rp_not_deep_sleep = <1>;
//#define GPIO_FUNCTION_OUTPUT 0
//#define GPIO_FUNCTION_INPUT 1
//#define GPIO_FUNCTION_IRQ 2
//#define GPIO_FUNCTION_FLASH 3
//#define GPIO_FUNCTION_OUTPUT_CTRL 4
//fan {
// gpio_num = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
// gpio_function = <4>;
//};
led {
gpio_num = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
gpio_function = <3>;
};
usb-host-power {
gpio_num = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
otg-power {
gpio_num = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-hub-reset {
gpio_num = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
vdd-4g { //4g enable
gpio_num = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
VDD_USB2_0 {
gpio_num = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
VDD_USB2_1 {
gpio_num = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
spk_en { //spk enable
gpio_num = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
spk_mute { //spk mute
gpio_num = <&gpio4 RK_PB4 GPIO_ACTIVE_LOW>;
gpio_function = <4>;
};
};
rp_gpio{
status = "okay";
compatible = "rp_gpio";
gpio4b2 {
gpio_num = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio4b3 {
gpio_num = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
vdd5v_uart {
gpio_num = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
vdd3v3_uart {
gpio_num = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
};
stm706 {
status = "okay";
compatible = "stm706";
reset_gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
wdt_gpio = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
};
};
&pinctrl {
power_control{
vdd_control: vdd_control {
rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&vcc3v3_pcie30 {
gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
};
&uart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart0m0_xfer>;
};
/*uart6 > RS485*/
&uart6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart6m0_xfer>;
};
&uart7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart7m1_xfer>;
};
&uart8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart8m0_xfer>;
};
&can0 {
assigned-clocks = <&cru CLK_CAN0>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can0m0_pins>;
};
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m1_xfer>;
hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;
clock-frequency = <32768>;
clock-output-names = "hym8563";
//pinctrl-names = "default";
//pinctrl-0 = <&hym8563_int>;
//interrupt-parent = <&gpio0>;
//interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
//wakeup-source;
};
};
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
};
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m0_xfer>;
};
&sdmmc {
status = "okay";
//vmmc-supply = <&vccio_sd_s0>;
};
&fiq_debugger {
rockchip,baudrate = <115200>;
};
&display_subsystem {
clocks = <&hdptxphy_hdmi_clk0>, <&hdptxphy_hdmi_clk1>;
clock-names = "hdmi0_phy_pll", "hdmi1_phy_pll";
};
&hdptxphy_hdmi_clk0 {
status = "okay";
};
&hdptxphy_hdmi_clk1 {
status = "okay";
};

295
rk3588/rd-box-rk3588.dts Executable file
View File

@@ -0,0 +1,295 @@
/* board base */
//#include "../rk3588-evb4-lp4-v10-linux.dts"
#include "rp-rk3588-board.dtsi"
#include "rp-tp-i2c6-gt911.dtsi"
#include "rd-rk3588-lcd-gpio.dtsi"
#include "rpdzkj_config.dtsi"
/* usb */
#include "rp-usb-typea-rk3588.dtsi"
#include "rp-usb-host.dtsi"
/* ethernet */
#include "rp-eth-pcie2gmac-rk3588.dtsi"
#include "rp-eth-gmac1.dtsi"
/* pcie */
#include "rp-pcie-power-rk3588.dtsi"
#include "rp-pcie-5g.dtsi"
/* audio */
#include "rp-audio-rt5640.dtsi"
/* wifi/bt */
#include "rp-wifi-bt-ap6275p-rk3588.dtsi"
/* camera */
//#include "rp-camera-dual-ov13855.dtsi"
#include "rp-lcd-hdmi0.dtsi"
/* lcd */
#include "rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi"
//#include "rp-lcd-mipi0-7-720-1280.dtsi"
//#include "rp-lcd-mipi0-8-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-8-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-10-1200-1920.dtsi"
//#include "rp-lcd-box-edp1-13.3-15.6-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-21-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-10.1-1024-600.dtsi"
/* quadplex lcd */
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-hdmi0-edp1.dtsi"
/ {
model = "rd-box-rk3588";
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
dma_trans: dma-trans@3c000000 {
reg = <0x0 0x3c000000 0x0 0x04000000>;
};
};
vcc_1v1_nldo_s3: 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>;
};
fan_gpio_control {
compatible = "fan_gpio_control";
gpio-pin = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
thermal-zone = "soc-thermal";
threshold-temp = <60000>; //60C
running-time = <10000>; //10s
status = "okay";
};
rp_power{
status = "okay";
compatible = "rp_power";
rp_not_deep_sleep = <1>;
//#define GPIO_FUNCTION_OUTPUT 0
//#define GPIO_FUNCTION_INPUT 1
//#define GPIO_FUNCTION_IRQ 2
//#define GPIO_FUNCTION_FLASH 3
//#define GPIO_FUNCTION_OUTPUT_CTRL 4
//fan {
// gpio_num = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
// gpio_function = <4>;
//};
led {
gpio_num = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
gpio_function = <3>;
};
usb-host-power {
gpio_num = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
otg-power {
gpio_num = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-hub-reset {
gpio_num = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
};
rp_gpio{
status = "okay";
compatible = "rp_gpio";
gpio3c7 {
gpio_num = <&gpio3 RK_PC7 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio0d3 {
gpio_num = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3c4 {
gpio_num = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3c5 {
gpio_num = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3d5 {
gpio_num = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio4b2 {
gpio_num = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio4b3 {
gpio_num = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
/*** already use for spi0
gpio3d1 {
gpio_num = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3d3 {
gpio_num = <&gpio3 RK_PD3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3d2 {
gpio_num = <&gpio3 RK_PD2 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3d4 {
gpio_num = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
***/
};
rp-keys {
compatible = "rp-keys";
status = "disabled";
label = "rp_gpiokeys";
gpio4b3 {
gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
};
gpio0d3 {
label = "gpio0d3_key";
gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>;
wakeup;
debounce_interval = <10>;
press_type = <0>;
code = <KEY_ENTER>;
};
};
stm706 {
status = "okay";
compatible = "stm706";
reset_gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
wdt_gpio = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
};
};
&uart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart0m0_xfer>;
};
&uart6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart6m0_xfer>;
};
&uart7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart7m1_xfer>;
};
&uart8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart8m0_xfer>;
};
&can0 {
assigned-clocks = <&cru CLK_CAN0>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can0m0_pins>;
};
&i2c3{
status="okay";
};
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m1_xfer>;
hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;
clock-frequency = <32768>;
clock-output-names = "hym8563";
//pinctrl-names = "default";
//pinctrl-0 = <&hym8563_int>;
//interrupt-parent = <&gpio0>;
//interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
//wakeup-source;
};
};
&spi0 {
status = "okay";
pinctrl-0 = <&spi0m3_cs0 &spi0m3_pins>;
num-cs = <1>;
spidev@0 {
status = "okay";
compatible = "rockchip,spidev";
reg = <0>;
spi-max-frequency = <12000000>;
spi-lsb-first;
};
};
&sdmmc {
status = "okay";
// vmmc-supply = <&vccio_sd_s0>;
};
&fiq_debugger {
rockchip,baudrate = <115200>;
};
&display_subsystem {
clocks = <&hdptxphy_hdmi_clk0>, <&hdptxphy_hdmi_clk1>;
clock-names = "hdmi0_phy_pll", "hdmi1_phy_pll";
};
&hdptxphy_hdmi_clk0 {
status = "okay";
};
&hdptxphy_hdmi_clk1 {
status = "okay";
};

330
rk3588/rd-rk3588-ahd.dts Executable file
View File

@@ -0,0 +1,330 @@
/* board base */
//#include "../rk3588-evb4-lp4-v10-linux.dts"
#include "rp-rk3588-board.dtsi"
#include "rp-tp-i2c6-gt911.dtsi"
#include "rd-rk3588-lcd-gpio.dtsi"
#include "rpdzkj_config.dtsi"
/* usb */
#include "rp-usb-typea-rk3588.dtsi"
#include "rp-usb-host.dtsi"
/* ethernet */
#include "rp-eth-pcie2gmac-rk3588.dtsi"
#include "rp-eth-gmac1.dtsi"
/* pcie */
#include "rp-pcie-power-rk3588.dtsi"
/* audio */
#include "rp-audio-rt5640.dtsi"
/* wifi/bt */
#include "rp-wifi-bt-ap6275p-rk3588.dtsi"
/* camera */
#include "rp-camera-dcphy0-mipi-xs9922b.dtsi"
#include "rp-camera-dcphy1-mipi-xs9922b.dtsi"
#include "rp-lcd-hdmi0.dtsi"
/* lcd */
//#include "rp-lcd-mipi0-5-720-1280-v2.dtsi"
//#include "rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi"
//#include "rp-lcd-mipi0-7-720-1280.dtsi"
//#include "rp-lcd-mipi0-7-1024-600.dtsi"
#include "rp-lcd-mipi0-7-1024-600.dtsi"
//#include "rp-lcd-mipi0-8-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-8-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-10-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-1920-1200-jc.dtsi"
//#include "rp-lcd-box-edp1-13.3-15.6-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-21-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-10.1-1024-600.dtsi"
/* quadplex lcd */
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-hdmi0-edp1.dtsi"
/ {
model = "rd-rk3588-ahd";
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
dma_trans: dma-trans@3c000000 {
reg = <0x0 0x3c000000 0x0 0x04000000>;
};
};
vcc_1v1_nldo_s3: 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>;
};
vcc3v3_m2: vcc3v3-m2 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_m2";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
gpios = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
startup-delay-us = <5000>;
vin-supply = <&vcc12v_dcin>;
};
stm706 {
status = "okay";
compatible = "stm706";
reset_gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
wdt_gpio = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
};
fan_gpio_control {
compatible = "fan_gpio_control";
gpio-pin = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
thermal-zone = "soc-thermal";
threshold-temp = <60000>; //60C
running-time = <10000>; //10s
status = "okay";
};
rp_power{
status = "okay";
compatible = "rp_power";
rp_not_deep_sleep = <1>;
//#define GPIO_FUNCTION_OUTPUT 0
//#define GPIO_FUNCTION_INPUT 1
//#define GPIO_FUNCTION_IRQ 2
//#define GPIO_FUNCTION_FLASH 3
//#define GPIO_FUNCTION_OUTPUT_CTRL 4
//fan {
// gpio_num = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
// gpio_function = <4>;
//};
led {
gpio_num = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
gpio_function = <3>;
};
usb-host-power {
gpio_num = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
vbus5v0_typec {
gpio_num = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-hub-reset {
gpio_num = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
gps {
gpio_num = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
4G {
gpio_num = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb_to_serial {
gpio_num = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
serial_5v {
gpio_num = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
};
rp_gpio{
status = "okay";
compatible = "rp_gpio";
gpio0d3 {
gpio_num = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3c4 {
gpio_num = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3c5 {
gpio_num = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3c7 {
gpio_num = <&gpio3 RK_PC7 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3d5 {
gpio_num = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio4b2 {
gpio_num = <&gpio4 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio4b3 {
gpio_num = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio4b6 {
gpio_num = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio2b2 {
gpio_num = <&gpio2 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio4c3 {
gpio_num = <&gpio4 RK_PC3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio2b7 {
gpio_num = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio2c3 {
gpio_num = <&gpio2 RK_PC3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
};
};
&gpio3 {
gpio-line-names = "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "",
"", "", "", "", "gpio3c4", "gpio3c5", "", "gpio3c7",
"", "", "", "", "", "gpio3d5", "", "";
};
&uart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart0m0_xfer>;
};
// 485
&uart6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart6m0_xfer>;
};
&uart7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart7m1_xfer>;
};
&uart8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart8m0_xfer>;
};
&spi0 {
status = "okay";
pinctrl-0 = <&spi0m3_pins &spi0m3_cs0>;
spi0_dev@0 {
compatible = "rockchip,spidev";
reg = <0>;
spi-max-frequency = <12000000>;
spi-lsb-first;
};
};
// M2.0
&combphy2_psu {
status = "okay";
};
&pcie2x1l1 {
phys = <&combphy2_psu PHY_TYPE_PCIE>;
status = "okay";
};
&can0 {
assigned-clocks = <&cru CLK_CAN0>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can0m0_pins>;
};
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m1_xfer>;
hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;
clock-frequency = <32768>;
clock-output-names = "hym8563";
//pinctrl-names = "default";
//pinctrl-0 = <&hym8563_int>;
//interrupt-parent = <&gpio0>;
//interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
//wakeup-source;
};
};
&i2c3{
status="okay";
};
&sdmmc {
status = "okay";
// vmmc-supply = <&vccio_sd_s0>;
};
&fiq_debugger {
rockchip,baudrate = <115200>;
};
&display_subsystem {
clocks = <&hdptxphy_hdmi_clk0>, <&hdptxphy_hdmi_clk1>;
clock-names = "hdmi0_phy_pll", "hdmi1_phy_pll";
};
&hdptxphy_hdmi_clk0 {
status = "okay";
};
&hdptxphy_hdmi_clk1 {
status = "okay";
};

74
rk3588/rd-rk3588-lcd-gpio.dtsi Executable file
View File

@@ -0,0 +1,74 @@
/ {
vcc3v3_lcd_n: vcc3v3-lcd0-n {
gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
};
backlight_mipi: backlight {
pwms = <&pwm1 0 25000 0>;
};
backlight_edp: backlight-edp {
pwms = <&pwm0 0 25000 0>;
};
backlight_lvds: backlight-lvds {
pwms = <&pwm0 0 25000 0>;
};
};
&pwm0 {
status = "okay";
pinctrl-0 = <&pwm0m1_pins>;
};
&pwm1 {
status = "okay";
pinctrl-0 = <&pwm1m1_pins>;
};
&dsi0 {
status = "disabled";
dsi0_panel: panel@0 {
status = "disabled";
reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&lcd_rst_gpio>;
};
};
&dsi1 {
status = "disabled";
dsi1_panel: panel@0 {
status = "disabled";
enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&lcd_rst_gpio>;
};
};
&pinctrl {
lcd {
lcd_rst_gpio: lcd-rst-gpio {
rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
goodix {
goodix_irq: goodix-irq {
rockchip,pins = <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&goodix_ts {
goodix_rst_gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
goodix_irq_gpio = <&gpio3 RK_PD0 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&goodix_irq>;
};

265
rk3588/rd-rk3588.dts Executable file
View File

@@ -0,0 +1,265 @@
/* board base */
//#include "../rk3588-evb4-lp4-v10-linux.dts"
#include "rp-rk3588-board.dtsi"
#include "rp-tp-i2c6-gt911.dtsi"
#include "rd-rk3588-lcd-gpio.dtsi"
#include "rpdzkj_config.dtsi"
/* usb */
#include "rp-usb-typec-rk3588.dtsi"
#include "rp-usb-host.dtsi"
/* ethernet */
#include "rp-eth-pcie2gmac-rk3588.dtsi"
#include "rp-eth-gmac1.dtsi"
/* pcie */
#include "rp-pcie-power-rk3588.dtsi"
#include "rp-pcie3.dtsi" //need comment when use board of make it youself,and remove the pcie function
#include "rp-pcie-5g.dtsi"
/* audio */
#include "rp-audio-rt5640.dtsi"
/* wifi/bt */
#include "rp-wifi-bt-ap6275p-rk3588.dtsi"
/* hdmi rx */
#include "rp-hdmirx.dtsi"
/* mipi camera */
/* use dcphy0 camera , need to disabled rp-hdmirx.dtsi*/
/***********all camera config********/
//#include "rp-camera-dcphy0.dtsi"
#include "rp-camera-dcphy1.dtsi"
#include "rp-camera-dphy0.dtsi"
#include "rp-camera-dphy1.dtsi"
//#include "rp-camera-dcphy0-ov13855.dtsi"
//#include "rp-camera-dcphy1-ov13855.dtsi"
//#include "rp-camera-dphy0-ov13855.dtsi"
//#include "rp-camera-dphy1-ov13855.dtsi"
//#include "rp-camera-dcphy0-gc8034.dtsi"
//#include "rp-camera-dcphy1-gc8034.dtsi"
//#include "rp-camera-dphy0-gc8034.dtsi"
//#include "rp-camera-dphy1-gc8034.dtsi"
//#include "rp-camera-dcphy0-imx415.dtsi"
//#include "rp-camera-dcphy1-imx415.dtsi"
//#include "rp-camera-dphy0-imx415.dtsi"
//#include "rp-camera-dphy1-imx415.dtsi"
/**********4 channel must be disabled hdmi in*********/
//#include "rp-camera-dcphy1-gc8034.dtsi"
//#include "rp-camera-dphy1-gc8034.dtsi"
//#include "rp-camera-dcphy0-imx415.dtsi"
//#include "rp-camera-dphy0-imx415.dtsi"
/******************************************/
//#include "rp-lcd-hdmi0.dtsi" //batch ignore
//#include "rp-lcd-hdmi1.dtsi" //batch ignore
//#include "rp-lcd-typec-dp0.dtsi" //usb edp0,must be enable rp-usb-typec.dtsi, batch ignore
#include "rp-lcd-multi-hdmi0-hdmi1-dp0.dtsi"
/* lcd */
#include "rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi"
//#include "rp-lcd-mipi0-7-720-1280.dtsi"
//#include "rp-lcd-mipi0-8-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-8-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-10-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-1920-1200-jc.dtsi"
//#include "rp-lcd-edp0-13.3-15.6-1920-1080.dtsi"
//#include "rp-lcd-edp1-13.3-15.6-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-21-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-10.1-1024-600.dtsi"
/* edp */
//#include "rp-multi-lcd-edp0-13.3-edp1-13.3-dp0.dtsi"
//#include "rp-multi-lcd-edp0-13.3-edp1-15.6-dp0.dtsi"
/* quadplex lcd */
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-edp0-edp1.dtsi"
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-edp0-hdmi1.dtsi"
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-hdmi0-edp1.dtsi"
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-hdmi0-hdmi1.dtsi"
/ {
model = "rd-rk3588";
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
dma_trans: dma-trans@3c000000 {
reg = <0x0 0x3c000000 0x0 0x04000000>;
};
};
vcc_1v1_nldo_s3: 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>;
};
fan_gpio_control {
compatible = "fan_gpio_control";
gpio-pin = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
thermal-zone = "soc-thermal";
threshold-temp = <60000>; //60C
running-time = <10000>; //10s
status = "okay";
};
rp_power{
status = "okay";
compatible = "rp_power";
rp_not_deep_sleep = <1>;
//#define GPIO_FUNCTION_OUTPUT 0
//#define GPIO_FUNCTION_INPUT 1
//#define GPIO_FUNCTION_IRQ 2
//#define GPIO_FUNCTION_FLASH 3
//#define GPIO_FUNCTION_OUTPUT_CTRL 4
//fan {
// gpio_num = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
// gpio_function = <4>;
//};
led {
gpio_num = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
gpio_function = <3>;
};
usb-host-power {
gpio_num = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-hub-reset {
gpio_num = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
};
rp_gpio{
status = "okay";
compatible = "rp_gpio";
/* gpio4a4 {
gpio_num = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio4a5 {
gpio_num = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio4a6 {
gpio_num = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
*/
gpio3c6 {
gpio_num = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
};
};
&uart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart0m0_xfer>;
};
&uart6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart6m0_xfer>;
};
&uart7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart7m1_xfer>;
};
&uart8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart8m0_xfer>;
};
&can0 {
assigned-clocks = <&cru CLK_CAN0>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can0m0_pins>;
};
&can1 {
assigned-clocks = <&cru CLK_CAN1>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can1m1_pins>;
};
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m1_xfer>;
hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;
clock-frequency = <32768>;
clock-output-names = "hym8563";
//pinctrl-names = "default";
//pinctrl-0 = <&hym8563_int>;
//interrupt-parent = <&gpio0>;
//interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
//wakeup-source;
};
};
&sdmmc {
status = "okay";
//vmmc-supply = <&vccio_sd_s0>;
};
&fiq_debugger {
rockchip,baudrate = <115200>;
};
&display_subsystem {
clocks = <&hdptxphy_hdmi_clk0>, <&hdptxphy_hdmi_clk1>;
clock-names = "hdmi0_phy_pll", "hdmi1_phy_pll";
};
&hdptxphy_hdmi_clk0 {
status = "okay";
};
&hdptxphy_hdmi_clk1 {
status = "okay";
};

View File

@@ -0,0 +1,75 @@
/ {
vcc3v3_lcd_n: vcc3v3_lcd0_n {
gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
};
vcc3v3_lcd: vcc3v3_lcd {
gpio = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
};
backlight_mipi: backlight_mipi {
pwms = <&pwm12 0 25000 0>;
};
backlight_edp: backlight_edp {
pwms = <&pwm12 0 25000 0>;
};
backlight_lvds: backlight_lvds {
pwms = <&pwm1 0 25000 0>;
};
};
&pwm1 {
status = "okay";
pinctrl-0 = <&pwm1m1_pins>;
};
&pwm12 {
pinctrl-0 = <&pwm12m1_pins>;
status = "okay";
};
&dsi0 {
status = "disabled";
dsi0_panel: panel@0 {
status = "disabled";
reset-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&lcd_rst_gpio>;
};
};
&dsi1 {
status = "disabled";
dsi1_panel: panel@0 {
status = "disabled";
reset-gpios = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&lcd_rst_gpio>;
};
};
&pinctrl {
lcd {
lcd_rst_gpio: lcd-rst-gpio {
rockchip,pins = <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
goodix {
goodix_irq: goodix-irq {
rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&goodix_ts {
goodix_rst_gpio = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>;
goodix_irq_gpio = <&gpio1 RK_PA7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&goodix_irq>;
};

337
rk3588/rd-rk3588s-ahd.dts Executable file
View File

@@ -0,0 +1,337 @@
/* board base */
//#include "rk3588s-evb4-lp4x-v10.dts"
#include "rp-rk3588s-board.dtsi"
#include "rp-tp-i2c4-gt911.dtsi"
#include "rd-rk3588s-ahd-lcd-gpio.dtsi"
/* usb */
#include "rp-usb-typea-rk3588.dtsi"
#include "rp-usb-host.dtsi"
/* ethernet */
#include "rp-eth-gmac1.dtsi"
#include "rp-eth-pcie2gmac-rk3588s.dtsi"
/* pcie */
#include "rp-pcie-power-rk3588s.dtsi"
/* audio */
#include "rp-audio-rt5640.dtsi"
/* wifi/bt */
#include "rp-wifi-bt-ap6275p-rd-rk3588s-ahd.dtsi"
/* camera */
#include "rp-camera-dcphy0-mipi-xs9922b-rk3588s.dtsi"
#include "rp-camera-dcphy1-mipi-xs9922b-rk3588s.dtsi"
//#include "rp-camera-dphy0-imx415-rk3588s.dtsi"
#include "rp-lcd-hdmi0.dtsi"
/* mipi lcd */
//#include "rp-lcd-mipi0-5-720-1280-v2.dtsi"
//#include "rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi"
//#include "rp-lcd-mipi0-7-720-1280.dtsi"
#include "rp-lcd-mipi0-7-1024-600.dtsi"
//#include "rp-lcd-mipi0-8-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-8-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-800-1280-v2-JC101HD131.dtsi"
//#include "rp-lcd-mipi0-10-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-10-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-1920-1200-jc.dtsi"
/* edp lcd */
//#include "rp-lcd-rk3588s-edp0-13.3-15.6-1920-1080.dtsi"
/* mipi_to_lvds lcd */
//#include "rp-lcd-mipi1-gm8775-lvds-21-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-10.1-1024-600.dtsi"
/* quadplex lcd */
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-edp0-hdmi1.dtsi"
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-hdmi0-hdmi1.dtsi"
/ {
model = "rd-rk3588s-ahd";
vcc_1v1_nldo_s3: 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>;
};
vdd_ADP5585: vdd_ADP5585 { //vdd_5v vdd_3v3 enable
compatible = "regulator-fixed";
regulator-name = "vdd_ADP5585";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
gpio = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>; //注意驱动解析的是gpio还是gpios
gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&vdd_ADP5585_control>;
};
fan_gpio_control {
compatible = "fan_gpio_control";
gpio-pin = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
thermal-zone = "soc-thermal";
threshold-temp = <60000>; //60C
running-time = <10000>; //10s
status = "okay";
};
rp_power{
status = "okay";
compatible = "rp_power";
rp_not_deep_sleep = <1>;
//#define GPIO_FUNCTION_OUTPUT 0
//#define GPIO_FUNCTION_INPUT 1
//#define GPIO_FUNCTION_IRQ 2
//#define GPIO_FUNCTION_FLASH 3
//#define GPIO_FUNCTION_OUTPUT_CTRL 4
/*
vdd_5v_3v3 {
gpio_num = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
*/
//fan {
// gpio_num = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
// gpio_function = <4>;
//};
led {
gpio_num = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>;
gpio_function = <3>;
};
usb-host-power {
gpio_num = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-hub-reset {
gpio_num = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
gpio_function = <4>;
};
otg_vdd5v {
gpio_num = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
sd-pwren {
gpio_num = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
vdd_gps { //gpio_r0
gpio_num = <&adp5585_gpio 0 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
vdd_4g { //gpio_r1
gpio_num = <&adp5585_gpio 1 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
};
rp_gpio{
status = "okay";
compatible = "rp_gpio";
gpio_r2 {
gpio_num = <&adp5585_gpio 2 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio_r3 {
gpio_num = <&adp5585_gpio 3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio_r4 {
gpio_num = <&adp5585_gpio 4 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio_c0 {
gpio_num = <&adp5585_gpio 5 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio_c1 {
gpio_num = <&adp5585_gpio 6 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio_c2 {
gpio_num = <&adp5585_gpio 7 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio_c3 {
gpio_num = <&adp5585_gpio 8 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio_c4 {
gpio_num = <&adp5585_gpio 9 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
};
};
&uart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart0m2_xfer>;
};
&uart1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart1m1_xfer>;
};
&uart3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart3m2_xfer>;
};
&uart4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart4m2_xfer>;
};
&uart5 { //485
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart5m1_xfer>;
};
&uart6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart6m1_xfer>;
};
&uart7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart7m2_xfer>;
};
&fiq_debugger {
rockchip,baudrate = <115200>;
};
&can0 {
assigned-clocks = <&cru CLK_CAN0>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can0m0_pins>;
};
&can1 {
assigned-clocks = <&cru CLK_CAN1>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can1m1_pins>;
};
&can2 {
assigned-clocks = <&cru CLK_CAN2>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can2m1_pins>;
};
&sdmmc {
status = "okay";
/delete-property/ vmmc-supply;
};
&rk_headset {
headset_gpio = <&gpio1 RK_PC0 GPIO_ACTIVE_HIGH>;
};
&i2c8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c8m2_xfer>;
hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;
clock-frequency = <32768>;
clock-output-names = "hym8563";
};
adp5585: mfd-gpio@34 {
compatible = "adi,adp5585";
reg = <0x34>;
status = "okay";
adp5585_gpio: gpio-normal@34 {
compatible = "adp5585-gpio";
gpio-controller;
#gpio-cells = <2>;
};
// adp5585pwm: pwm@34 {
// compatible = "adp5585-pwm";
// #pwm-cells = <3>;
// };
};
};
&dmc {
status = "disabled";
};
&pinctrl {
vdd-ADP5585 {
vdd_ADP5585_control: vdd-ADP5585-control {
rockchip,pins =
/** power supply enable pin */
<1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&display_subsystem {
clocks = <&hdptxphy_hdmi_clk0>, <&hdptxphy_hdmi_clk1>;
clock-names = "hdmi0_phy_pll", "hdmi1_phy_pll";
};
&hdptxphy_hdmi_clk0 {
status = "okay";
};
&hdptxphy_hdmi_clk1 {
status = "okay";
};

47
rk3588/rp-audio-es8311.dtsi Executable file
View File

@@ -0,0 +1,47 @@
/ {
i2s0_sound: i2s0-sound {
status = "okay";
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,name = "rockchip,es8311";
simple-audio-card,dai-link@0 {
format = "i2s";
cpu {
sound-dai = <&i2s0_8ch>;
};
codec {
sound-dai = <&es8311>;
};
};
};
};
&i2s0_8ch {
status = "okay";
};
&i2c7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c7m0_xfer>;
es8311: es8311@18 {
status = "okay";
compatible = "everest,es8311";
reg = <0x18>;
#sound-dai-cells = <0>;
adc-pga-gain = <6>; /* 18dB */
adc-volume = <0xbf>; /* 0dB */
dac-volume = <0xbf>; /* 0dB */
aec-mode = "adc left, adc right";
clocks = <&mclkout_i2s0>;
clock-names = "mclk";
// assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
// assigned-clock-rates = <12288000>;
pinctrl-names = "default";
pinctrl-0 = <&i2s0_mclk>;
};
};

71
rk3588/rp-audio-rt5640.dtsi Executable file
View File

@@ -0,0 +1,71 @@
/ {
rt5640-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,rt5640-codec";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,widgets =
"Microphone", "Mic Jack",
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"Mic Jack", "MICBIAS1",
"IN1P", "Mic Jack",
"Headphone Jack", "HPOL",
"Headphone Jack", "HPOR";
simple-audio-card,cpu {
sound-dai = <&i2s0_8ch>;
};
simple-audio-card,codec {
sound-dai = <&rt5640>;
};
};
rk_headset: rk-headset {
status = "okay";
compatible = "rockchip_headset";
headset_gpio = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&hp_det>;
};
};
&i2s0_8ch {
status = "okay";
};
&i2c7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c7m0_xfer>;
rt5640: rt5640@1c {
#sound-dai-cells = <0>;
compatible = "realtek,rt5640";
reg = <0x1c>;
clocks = <&mclkout_i2s0>;
clock-names = "mclk";
realtek,in1-differential;
pinctrl-names = "default";
pinctrl-0 = <&i2s0_mclk>;
io-channels = <&saradc 4>;
hp-det-adc-value = <500>;
spk-play-volume = <7>; ////63-0 min-max
hp-play-volume = <15>; ////63-0 min-max
capture-volume = <127>; //0-127 min-max
// assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
// assigned-clock-rates = <12288000>;
};
};
&pinctrl {
rt5640_pinctrl {
hp_det:hp_det {
rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};

View File

@@ -0,0 +1,152 @@
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
vm149c_0: vm149c_0@0c {
compatible = "silicon touch,vm149c";
status = "okay";
reg = <0x0c>;
rockchip,vcm-start-current = <20>; // 马达的启动电流
rockchip,vcm-rated-current = <100>; // 马达的额定电流
rockchip,vcm-step-mode = <13>; // 马达驱动 ic 的电流输出模式
rockchip,camera-module-index = <0>; // 模组编号
rockchip,camera-module-facing = "back"; // 模组朝向,有"back"和"front"
};
gc8034_0: gc8034_0@37 {
compatible = "galaxycore,gc8034";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera1_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401-4";
lens-focus = <&vm149c_0>;
port {
gc8034_out0: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
data-lanes = <1 2 3 4>;
};
};
};
};
&mipi_dcphy0 {
status = "okay";
};
&csi2_dcphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam0: endpoint@1 {
reg = <1>;
remote-endpoint = <&gc8034_out0>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi0_csi2_input>;
};
};
};
};
&mipi0_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in0>;
};
};
};
};
&rkcif_mipi_lvds {
status = "okay";
port {
cif_mipi_in0: endpoint {
remote-endpoint = <&mipi0_csi2_output>;
};
};
};
&rkcif_mipi_lvds_sditf {
status = "okay";
port {
mipi_lvds_sditf: endpoint {
remote-endpoint = <&isp1_vir0>;
};
};
};
&rkisp1 {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&rkisp1_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp1_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds_sditf>;
};
};
};

View File

@@ -0,0 +1,161 @@
/
{
vcc_camera: vcc-camera-regulator {
compatible = "regulator-fixed";
gpio = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&camera_pwr>;
regulator-name = "vcc_camera";
enable-active-high;
regulator-always-on;
regulator-boot-on;
};
};
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
imx415_0: imx415_0@1a {
compatible = "sony,imx415";
status = "okay";
reg = <0x1a>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera1_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
// reset-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "CMK-OT2022-PX1";
rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
port {
imx415_out0: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
data-lanes = <1 2 3 4>;
};
};
};
};
&mipi_dcphy0 {
status = "okay";
};
&csi2_dcphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam0: endpoint@1 {
reg = <1>;
remote-endpoint = <&imx415_out0>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi0_csi2_input>;
};
};
};
};
&mipi0_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in0>;
};
};
};
};
&rkcif_mipi_lvds {
status = "okay";
port {
cif_mipi_in0: endpoint {
remote-endpoint = <&mipi0_csi2_output>;
};
};
};
&rkcif_mipi_lvds_sditf {
status = "okay";
port {
mipi_lvds_sditf: endpoint {
remote-endpoint = <&isp1_vir0>;
};
};
};
&rkisp1 {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&rkisp1_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp1_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds_sditf>;
};
};
};
&pinctrl {
camera_pwr: camera-pwr {
rockchip,pins =
/* camera power en */
<1 RK_PA7 3 &pcfg_pull_down>;
};
};

View File

@@ -0,0 +1,261 @@
/**
* mipi csi to xs9922b config
*/
#define RP_DOUBLE_XS9922B
#define RP_CAMERA_XS9922B
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m1_xfer>;
xs9922_0: xs9922_0@31 {
compatible = "xs9922";
status = "okay";
reg = <0x31>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&xs9922_pwr_0>;
reset-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;
power-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
//avdd-supply = <&vcc_avdd>;
//dovdd-supply = <&vcc_dovdd>;
//dvdd-supply = <&vcc_dvdd>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "default";
rockchip,camera-module-lens-name = "default";
rockchip,default_rect= <1920 1080>;
port {
xs9922_out0: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
data-lanes = <1 2 3 4>;
};
};
};
};
&pinctrl {
xs9922_0 {
xs9922_pwr_0: camera-pwr-0 {
rockchip,pins =
<4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
<4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&mipi_dcphy0 {
status = "okay";
};
// CIF
&csi2_dcphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam0: endpoint@1 {
reg = <1>;
remote-endpoint = <&xs9922_out0>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi0_csi2_input>;
};
};
};
};
&mipi0_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in0>;
};
};
};
};
&rkcif_mipi_lvds {
status = "okay";
port {
cif_mipi_in0: endpoint {
remote-endpoint = <&mipi0_csi2_output>;
};
};
};
&rkcif {
status = "okay";
};
&rkcif_mmu {
status = "okay";
};
#if 0
// isp
&mipi0_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidcphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in2>;
};
};
};
};
&rkcif_mipi_lvds2 {
status = "okay";
port {
cif_mipi_in2: endpoint {
remote-endpoint = <&mipi2_csi2_output>;
};
};
};
#endif
#if 0
&rkcif_mipi_lvds2_sditf {
status = "okay";
port {
mipi1_lvds_sditf: endpoint {
remote-endpoint = <&isp0_vir0>;
};
};
};
&rkcif_mipi_lvds_sditf {
status = "okay";
port {
mipi_lvds_sditf: endpoint {
remote-endpoint = <&isp1_in1>;
};
};
};
&rkisp_unite {
status = "okay";
};
&rkisp_unite_mmu {
status = "okay";
};
&rkisp0_vir0 {
status = "okay";
/*
* dual isp process image case
* other rkisp hw and virtual nodes should disabled
*/
rockchip,hw = <&rkisp_unite>;
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir0: endpoint@1 {
reg = <1>;
remote-endpoint = <&mipi1_lvds_sditf>;
};
/*
isp1_in1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds_sditf>;
};
*/
};
};
#endif

View File

@@ -0,0 +1,239 @@
/**
* mipi csi to xs9922b config
*/
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
xs9922: xs9922@31 {
compatible = "xs9922";
status = "okay";
reg = <0x31>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&xs9922_pwr>;
reset-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
power-gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
//avdd-supply = <&vcc_avdd>;
//dovdd-supply = <&vcc_dovdd>;
//dvdd-supply = <&vcc_dvdd>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "default";
rockchip,camera-module-lens-name = "default";
rockchip,default_rect= <1280 720>;
port {
ucam_out0: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
data-lanes = <1 2 3 4>;
};
};
};
};
&pinctrl {
xs9922 {
xs9922_pwr: camera-pwr {
rockchip,pins =
<2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>,
<4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&mipi_dcphy0 {
status = "okay";
};
// CIF
&csi2_dcphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam0: endpoint@1 {
reg = <1>;
remote-endpoint = <&ucam_out0>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi0_csi2_input>;
};
};
};
};
&mipi0_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidcphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in0>;
};
};
};
};
&rkcif_mipi_lvds {
status = "okay";
port {
cif_mipi_in0: endpoint {
remote-endpoint = <&mipi0_csi2_output>;
};
};
};
&rkcif {
status = "okay";
};
&rkcif_mmu {
status = "okay";
};
#if 0
// isp
&mipi0_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidcphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in2>;
};
};
};
};
&rkcif_mipi_lvds2 {
status = "disabled";
port {
cif_mipi_in2: endpoint {
remote-endpoint = <&mipi2_csi2_output>;
};
};
};
#endif
#if 0
&rkcif_mipi_lvds2_sditf {
status = "okay";
port {
mipi1_lvds_sditf: endpoint {
remote-endpoint = <&isp0_vir0>;
};
};
};
&rkcif_mipi_lvds_sditf {
status = "okay";
port {
mipi_lvds_sditf: endpoint {
remote-endpoint = <&isp1_in1>;
};
};
};
&rkisp_unite {
status = "okay";
};
&rkisp_unite_mmu {
status = "okay";
};
&rkisp0_vir0 {
status = "okay";
/*
* dual isp process image case
* other rkisp hw and virtual nodes should disabled
*/
rockchip,hw = <&rkisp_unite>;
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir0: endpoint@1 {
reg = <1>;
remote-endpoint = <&mipi1_lvds_sditf>;
};
isp1_in1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds_sditf>;
};
};
};
#endif

View File

@@ -0,0 +1,155 @@
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
dw9763_0: dw9763_0@c {
compatible = "dongwoon,dw9763";
status = "okay";
reg = <0x0c>;
rockchip,vcm-max-current = <120>;
rockchip,vcm-start-current = <20>;
rockchip,vcm-rated-current = <90>;
rockchip,vcm-step-mode = <3>;
rockchip,vcm-t-src = <0x20>;
rockchip,vcm-t-div = <1>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "front";
};
ov13855_0: ov13855_0@36 {
compatible = "ovti,ov13855";
status = "okay";
reg = <0x36>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera1_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "CMK-OT2016-FV1";
rockchip,camera-module-lens-name = "default";
lens-focus = <&dw9763_0>;
port {
ov13855_out0: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
data-lanes = <1 2 3 4>;
};
};
};
};
&mipi_dcphy0 {
status = "okay";
};
&csi2_dcphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam0: endpoint@1 {
reg = <1>;
remote-endpoint = <&ov13855_out0>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi0_csi2_input>;
};
};
};
};
&mipi0_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in0>;
};
};
};
};
&rkcif_mipi_lvds {
status = "okay";
port {
cif_mipi_in0: endpoint {
remote-endpoint = <&mipi0_csi2_output>;
};
};
};
&rkcif_mipi_lvds_sditf {
status = "okay";
port {
mipi_lvds_sditf: endpoint {
remote-endpoint = <&isp1_vir0>;
};
};
};
&rkisp1 {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&rkisp1_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp1_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds_sditf>;
};
};
};

211
rk3588/rp-camera-dcphy0.dtsi Executable file
View File

@@ -0,0 +1,211 @@
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
dw9763_0: dw9763_0@c {
compatible = "dongwoon,dw9763";
status = "okay";
reg = <0x0c>;
rockchip,vcm-max-current = <120>;
rockchip,vcm-start-current = <20>;
rockchip,vcm-rated-current = <90>;
rockchip,vcm-step-mode = <3>;
rockchip,vcm-t-src = <0x20>;
rockchip,vcm-t-div = <1>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "front";
};
ov13855_0: ov13855_0@36 {
compatible = "ovti,ov13855";
status = "okay";
reg = <0x36>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera1_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "CMK-OT2016-FV1";
rockchip,camera-module-lens-name = "default";
lens-focus = <&dw9763_0>;
port {
ov13855_out0: endpoint {
remote-endpoint = <&mipi_in_ov13855_0>;
data-lanes = <1 2 3 4>;
};
};
};
gc8034_0: gc8034_0@37 {
compatible = "galaxycore,gc8034";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera1_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401-4";
port {
gc8034_out0: endpoint {
remote-endpoint = <&mipi_in_gc8034_0>;
data-lanes = <1 2 3 4>;
};
};
};
imx415_0: imx415_0@1a {
compatible = "sony,imx415";
status = "okay";
reg = <0x1a>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera1_clk>;
rockchip,grf = <&sys_grf>;
power-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_LOW>;//modify camera addr 0x1a
// reset-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "CMK-OT2022-PX1";
rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
port {
imx415_out0: endpoint {
remote-endpoint = <&mipi_in_imx415_0>;
data-lanes = <1 2 3 4>;
};
};
};
};
&mipi_dcphy0 {
status = "okay";
};
&csi2_dcphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ov13855_0: endpoint@1 {
reg = <1>;
remote-endpoint = <&ov13855_out0>;
data-lanes = <1 2 3 4>;
};
mipi_in_gc8034_0: endpoint@2 {
reg = <2>;
remote-endpoint = <&gc8034_out0>;
data-lanes = <1 2 3 4>;
};
mipi_in_imx415_0: endpoint@3 {
reg = <3>;
remote-endpoint = <&imx415_out0>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi0_csi2_input>;
};
};
};
};
&mipi0_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in0>;
};
};
};
};
&rkcif_mipi_lvds {
status = "okay";
port {
cif_mipi_in0: endpoint {
remote-endpoint = <&mipi0_csi2_output>;
};
};
};
&rkcif_mipi_lvds_sditf {
status = "okay";
port {
mipi_lvds_sditf: endpoint {
remote-endpoint = <&isp0_vir0>;
};
};
};
&rkisp0 {
status = "okay";
};
&isp0_mmu {
status = "okay";
};
&rkisp0_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds_sditf>;
};
};
};

View File

@@ -0,0 +1,152 @@
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
vm149c_1: vm149c_1@0c {
compatible = "silicon touch,vm149c";
status = "okay";
reg = <0x0c>;
rockchip,vcm-start-current = <20>; // 马达的启动电流
rockchip,vcm-rated-current = <100>; // 马达的额定电流
rockchip,vcm-step-mode = <13>; // 马达驱动 ic 的电流输出模式
rockchip,camera-module-index = <1>; // 模组编号
rockchip,camera-module-facing = "front"; // 模组朝向,有"back"和"front"
};
gc8034_1: gc8034_1@37 {
compatible = "galaxycore,gc8034";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M2>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera2_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401-4";
lens-focus = <&vm149c_1>;
port {
gc8034_out1: endpoint {
remote-endpoint = <&mipi_in_ucam1>;
data-lanes = <1 2 3 4>;
};
};
};
};
&mipi_dcphy1 {
status = "okay";
};
&csi2_dcphy1 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam1: endpoint@1 {
reg = <1>;
remote-endpoint = <&gc8034_out1>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy1_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi1_csi2_input>;
};
};
};
};
&mipi1_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy1_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in1>;
};
};
};
};
&rkcif_mipi_lvds1 {
status = "okay";
port {
cif_mipi_in1: endpoint {
remote-endpoint = <&mipi1_csi2_output>;
};
};
};
&rkcif_mipi_lvds1_sditf {
status = "okay";
port {
mipi_lvds1_sditf: endpoint {
remote-endpoint = <&isp0_vir0>;
};
};
};
&rkisp0 {
status = "okay";
};
&isp0_mmu {
status = "okay";
};
&rkisp0_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds1_sditf>;
};
};
};

View File

@@ -0,0 +1,140 @@
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
imx415_1: imx415_1@37 {
compatible = "sony,imx415";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M2>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera2_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2022-PX1";
rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
port {
imx415_out1: endpoint {
remote-endpoint = <&mipi_in_ucam1>;
data-lanes = <1 2 3 4>;
};
};
};
};
&mipi_dcphy1 {
status = "okay";
};
&csi2_dcphy1 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam1: endpoint@1 {
reg = <1>;
remote-endpoint = <&imx415_out1>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy1_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi1_csi2_input>;
};
};
};
};
&mipi1_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy1_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in1>;
};
};
};
};
&rkcif_mipi_lvds1 {
status = "okay";
port {
cif_mipi_in1: endpoint {
remote-endpoint = <&mipi1_csi2_output>;
};
};
};
&rkcif_mipi_lvds1_sditf {
status = "okay";
port {
mipi_lvds1_sditf: endpoint {
remote-endpoint = <&isp0_vir0>;
};
};
};
&rkisp0 {
status = "okay";
};
&isp0_mmu {
status = "okay";
};
&rkisp0_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds1_sditf>;
};
};
};

View File

@@ -0,0 +1,194 @@
/**
* mipi csi to xs9922b config
*/
#define RP_CAMERA_XS9922B
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m1_xfer>;
xs9922_1: xs9922_1@30 {
compatible = "xs9922";
status = "okay";
reg = <0x30>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M2>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&xs9922_pwr_1>;
reset-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
// power-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
//avdd-supply = <&vcc_avdd>;
//dovdd-supply = <&vcc_dovdd>;
//dvdd-supply = <&vcc_dvdd>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "default";
rockchip,camera-module-lens-name = "default";
rockchip,default_rect= <1280 720>;
port {
xs9922_out1: endpoint {
remote-endpoint = <&mipi_in_ucam1>;
data-lanes = <1 2 3 4>;
};
};
};
};
#ifndef RP_DOUBLE_XS9922B //rd-rk3588s-ahd share the same power-gpio
&xs9922_1 {
power-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
};
&pinctrl {
xs9922_1 {
xs9922_pwr_1: camera-pwr-1 {
rockchip,pins =
<4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>,
<4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
#else
&pinctrl {
xs9922_1 {
xs9922_pwr_1: camera-pwr-1 {
rockchip,pins =
<4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
#endif
&mipi_dcphy1 {
status = "okay";
};
// CIF
&csi2_dcphy1 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam1: endpoint@1 {
reg = <1>;
remote-endpoint = <&xs9922_out1>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy1_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi1_csi2_input>;
};
};
};
};
&mipi1_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy1_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in1>;
};
};
};
};
&rkcif_mipi_lvds1 {
status = "okay";
port {
cif_mipi_in1: endpoint {
remote-endpoint = <&mipi1_csi2_output>;
};
};
};
&rkcif_mipi_lvds1_sditf {
status = "okay";
port {
mipi_lvds1_sditf: endpoint {
remote-endpoint = <&isp1_vir0>;
};
};
};
&rkcif {
status = "okay";
};
&rkcif_mmu {
status = "okay";
};
&rkisp1 {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&rkisp1_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp1_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds1_sditf>;
};
};
};

View File

@@ -0,0 +1,152 @@
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
xs9922_1: xs9922@30 {
compatible = "xs9922";
status = "okay";
reg = <0x30>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&xs9922_pwr_1>;
reset-gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
power-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
//avdd-supply = <&vcc_avdd>;
//dovdd-supply = <&vcc_dovdd>;
//dvdd-supply = <&vcc_dvdd>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "default";
rockchip,camera-module-lens-name = "default";
rockchip,default_rect= <1280 720>;
port {
ucam_out1: endpoint {
remote-endpoint = <&mipi_in_ucam1>;
data-lanes = <1 2 3 4>;
};
};
};
};
&pinctrl {
xs9922 {
xs9922_pwr_1: camera-pwr_1 {
rockchip,pins =
<1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>,
<4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&mipi_dcphy1 {
status = "okay";
};
&csi2_dcphy1 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam1: endpoint@1 {
reg = <1>;
remote-endpoint = <&ucam_out1>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy1_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi1_csi2_input>;
};
};
};
};
&mipi1_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy1_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in1>;
};
};
};
};
&rkcif_mipi_lvds1 {
status = "okay";
port {
cif_mipi_in1: endpoint {
remote-endpoint = <&mipi1_csi2_output>;
};
};
};
&rkcif_mipi_lvds1_sditf {
status = "okay";
port {
mipi_lvds1_sditf: endpoint {
remote-endpoint = <&isp1_vir0>;
};
};
};
&rkisp1 {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&rkisp1_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp1_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds1_sditf>;
};
};
};

View File

@@ -0,0 +1,154 @@
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
dw9763_1: dw9763_1@c {
compatible = "dongwoon,dw9763";
status = "okay";
reg = <0x0c>;
rockchip,vcm-max-current = <120>;
rockchip,vcm-start-current = <20>;
rockchip,vcm-rated-current = <90>;
rockchip,vcm-step-mode = <3>;
rockchip,vcm-t-src = <0x20>;
rockchip,vcm-t-div = <1>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "back";
};
ov13855_1: ov13855_1@36 {
compatible = "ovti,ov13855";
status = "okay";
reg = <0x36>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M2>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera2_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2016-FV1";
rockchip,camera-module-lens-name = "default";
lens-focus = <&dw9763_1>;
port {
ov13855_out1: endpoint {
remote-endpoint = <&mipi_in_ucam1>;
data-lanes = <1 2 3 4>;
};
};
};
};
&mipi_dcphy1 {
status = "okay";
};
&csi2_dcphy1 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam1: endpoint@1 {
reg = <1>;
remote-endpoint = <&ov13855_out1>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy1_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi1_csi2_input>;
};
};
};
};
&mipi1_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy1_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in1>;
};
};
};
};
&rkcif_mipi_lvds1 {
status = "okay";
port {
cif_mipi_in1: endpoint {
remote-endpoint = <&mipi1_csi2_output>;
};
};
};
&rkcif_mipi_lvds1_sditf {
status = "okay";
port {
mipi_lvds1_sditf: endpoint {
remote-endpoint = <&isp0_vir0>;
};
};
};
&rkisp0 {
status = "okay";
};
&isp0_mmu {
status = "okay";
};
&rkisp0_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds1_sditf>;
};
};
};

208
rk3588/rp-camera-dcphy1.dtsi Executable file
View File

@@ -0,0 +1,208 @@
&i2c2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c2m4_xfer>;
dw9763_1: dw9763_1@c {
compatible = "dongwoon,dw9763";
status = "okay";
reg = <0x0c>;
rockchip,vcm-max-current = <120>;
rockchip,vcm-start-current = <20>;
rockchip,vcm-rated-current = <90>;
rockchip,vcm-step-mode = <3>;
rockchip,vcm-t-src = <0x20>;
rockchip,vcm-t-div = <1>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "back";
};
ov13855_1: ov13855_1@36 {
compatible = "ovti,ov13855";
status = "okay";
reg = <0x36>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M2>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera2_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2016-FV1";
rockchip,camera-module-lens-name = "default";
lens-focus = <&dw9763_1>;
port {
ov13855_out1: endpoint {
remote-endpoint = <&mipi_in_ov13855_1>;
data-lanes = <1 2 3 4>;
};
};
};
gc8034_1: gc8034_1@37 {
compatible = "galaxycore,gc8034";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M2>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera2_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>;
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401-4";
port {
gc8034_out1: endpoint {
remote-endpoint = <&mipi_in_gc8034_1>;
data-lanes = <1 2 3 4>;
};
};
};
imx415_1: imx415_1@37 {
compatible = "sony,imx415";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M2>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera2_clk>;
rockchip,grf = <&sys_grf>;
power-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;//modify camera addr 0x37
rockchip,camera-module-index = <1>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2022-PX1";
rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
port {
imx415_out1: endpoint {
remote-endpoint = <&mipi_in_imx415_1>;
data-lanes = <1 2 3 4>;
};
};
};
};
&mipi_dcphy1 {
status = "okay";
};
&csi2_dcphy1 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ov13855_1: endpoint@1 {
reg = <1>;
remote-endpoint = <&ov13855_out1>;
data-lanes = <1 2 3 4>;
};
mipi_in_gc8034_1: endpoint@2 {
reg = <2>;
remote-endpoint = <&gc8034_out1>;
data-lanes = <1 2 3 4>;
};
mipi_in_imx415_1: endpoint@3 {
reg = <3>;
remote-endpoint = <&imx415_out1>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy1_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi1_csi2_input>;
};
};
};
};
&mipi1_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_input: endpoint@0 {
reg = <0>;
remote-endpoint = <&csidcphy1_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi1_csi2_output: endpoint@1 {
reg = <1>;
remote-endpoint = <&cif_mipi_in1>;
};
};
};
};
&rkcif_mipi_lvds1 {
status = "okay";
port {
cif_mipi_in1: endpoint {
remote-endpoint = <&mipi1_csi2_output>;
};
};
};
&rkcif_mipi_lvds1_sditf {
status = "okay";
port {
mipi_lvds1_sditf: endpoint {
remote-endpoint = <&isp0_vir1>;
};
};
};
&rkisp0 {
status = "okay";
};
&isp0_mmu {
status = "okay";
};
&rkisp0_vir1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds1_sditf>;
};
};
};

View File

@@ -0,0 +1,140 @@
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m0_xfer>;
vm149c_2: vm149c_2@0c {
compatible = "silicon touch,vm149c";
status = "okay";
reg = <0x0c>;
rockchip,vcm-start-current = <20>; // 马达的启动电流
rockchip,vcm-rated-current = <100>; // 马达的额定电流
rockchip,vcm-step-mode = <13>; // 马达驱动 ic 的电流输出模式
rockchip,camera-module-index = <2>; // 模组编号
rockchip,camera-module-facing = "back"; // 模组朝向,有"back"和"front"
};
gc8034_2: gc8034_2@37 {
compatible = "galaxycore,gc8034";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera3_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_LOW>;
rockchip,camera-module-index = <2>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401-4";
lens-focus = <&vm149c_2>;
port {
gc8034_out2: endpoint {
remote-endpoint = <&mipi_in_ucam2>;
data-lanes = <1 2 3 4>;
};
};
};
};
&csi2_dphy0_hw {
status = "okay";
};
&csi2_dphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam2: endpoint@1 {
reg = <1>;
remote-endpoint = <&gc8034_out2>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi2_csi2_input>;
};
};
};
};
&mipi2_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in2>;
};
};
};
};
&rkcif_mipi_lvds2 {
status = "okay";
port {
cif_mipi_in2: endpoint {
remote-endpoint = <&mipi2_csi2_output>;
};
};
};
&rkcif_mipi_lvds2_sditf {
status = "okay";
port {
mipi2_lvds_sditf: endpoint {
remote-endpoint = <&isp1_vir1>;
};
};
};
&rkisp1 {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&rkisp1_vir1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp1_vir1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi2_lvds_sditf>;
};
};
};

View File

@@ -0,0 +1,162 @@
#ifndef RP_CAMERA_XS9922B
/{
vcc_camera: vcc-camera-regulator {
compatible = "regulator-fixed";
gpio = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&camera_pwr>;
regulator-name = "vcc_camera";
enable-active-high;
regulator-always-on;
regulator-boot-on;
};
};
&pinctrl {
camera_pwr: camera-pwr {
rockchip,pins =
/* camera power en */
<4 RK_PB0 3 &pcfg_pull_down>;
};
};
#endif
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m1_xfer>;
imx415_2: imx415_2@1a {
compatible = "sony,imx415";
status = "okay";
reg = <0x1a>;
clocks = <&cru CLK_CIFOUT_OUT>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&cif_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_LOW>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "BACK";
rockchip,camera-module-name = "CMK-OT2022-PX1";
rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
port {
imx415_out2: endpoint {
remote-endpoint = <&mipi_in_ucam2>;
data-lanes = <1 2 3 4>;
};
};
};
};
&csi2_dphy0_hw {
status = "okay";
};
&csi2_dphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam2: endpoint@1 {
reg = <1>;
remote-endpoint = <&imx415_out2>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi2_csi2_input>;
};
};
};
};
&mipi2_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in2>;
};
};
};
};
&rkcif_mipi_lvds2 {
status = "okay";
port {
cif_mipi_in2: endpoint {
remote-endpoint = <&mipi2_csi2_output>;
};
};
};
&rkcif_mipi_lvds2_sditf {
status = "okay";
port {
mipi_lvds2_sditf: endpoint {
remote-endpoint = <&isp0_vir0>;
};
};
};
&rkcif {
status = "okay";
};
&rkcif_mmu {
status = "okay";
};
&rkisp0 {
status = "okay";
};
&isp0_mmu {
status = "okay";
};
&rkisp0_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds2_sditf>;
};
};
};

View File

@@ -0,0 +1,129 @@
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m0_xfer>;
imx415_2: imx415_2@1a {
compatible = "sony,imx415";
status = "okay";
reg = <0x1a>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera3_clk>;
rockchip,grf = <&sys_grf>;
// pwdn-gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <2>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "CMK-OT2022-PX1";
rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
port {
imx415_out2: endpoint {
remote-endpoint = <&mipi_in_ucam2>;
data-lanes = <1 2 3 4>;
};
};
};
};
&csi2_dphy0_hw {
status = "okay";
};
&csi2_dphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam2: endpoint@1 {
reg = <1>;
remote-endpoint = <&imx415_out2>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi2_csi2_input>;
};
};
};
};
&mipi2_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in2>;
};
};
};
};
&rkcif_mipi_lvds2 {
status = "okay";
port {
cif_mipi_in2: endpoint {
remote-endpoint = <&mipi2_csi2_output>;
};
};
};
&rkcif_mipi_lvds2_sditf {
status = "okay";
port {
mipi2_lvds_sditf: endpoint {
remote-endpoint = <&isp1_vir1>;
};
};
};
&rkisp1 {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&rkisp1_vir1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp1_vir1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi2_lvds_sditf>;
};
};
};

View File

@@ -0,0 +1,143 @@
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m0_xfer>;
dw9763_2: dw9763_2@c {
compatible = "dongwoon,dw9763";
status = "okay";
reg = <0x0c>;
rockchip,vcm-max-current = <120>;
rockchip,vcm-start-current = <20>;
rockchip,vcm-rated-current = <90>;
rockchip,vcm-step-mode = <3>;
rockchip,vcm-t-src = <0x20>;
rockchip,vcm-t-div = <1>;
rockchip,camera-module-index = <2>;
rockchip,camera-module-facing = "front";
};
ov13855_2: ov13855_2@36 {
compatible = "ovti,ov13855";
status = "okay";
reg = <0x36>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera3_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <2>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "CMK-OT2016-FV1";
rockchip,camera-module-lens-name = "default";
lens-focus = <&dw9763_2>;
port {
ov13855_out2: endpoint {
remote-endpoint = <&mipi_in_ucam2>;
data-lanes = <1 2 3 4>;
};
};
};
};
&csi2_dphy0_hw {
status = "okay";
};
&csi2_dphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam2: endpoint@1 {
reg = <1>;
remote-endpoint = <&ov13855_out2>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi2_csi2_input>;
};
};
};
};
&mipi2_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in2>;
};
};
};
};
&rkcif_mipi_lvds2 {
status = "okay";
port {
cif_mipi_in2: endpoint {
remote-endpoint = <&mipi2_csi2_output>;
};
};
};
&rkcif_mipi_lvds2_sditf {
status = "okay";
port {
mipi2_lvds_sditf: endpoint {
remote-endpoint = <&isp1_vir1>;
};
};
};
&rkisp1 {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&rkisp1_vir1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp1_vir1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi2_lvds_sditf>;
};
};
};

198
rk3588/rp-camera-dphy0.dtsi Executable file
View File

@@ -0,0 +1,198 @@
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m0_xfer>;
dw9763_2: dw9763_2@c {
compatible = "dongwoon,dw9763";
status = "okay";
reg = <0x0c>;
rockchip,vcm-max-current = <120>;
rockchip,vcm-start-current = <20>;
rockchip,vcm-rated-current = <90>;
rockchip,vcm-step-mode = <3>;
rockchip,vcm-t-src = <0x20>;
rockchip,vcm-t-div = <1>;
rockchip,camera-module-index = <2>;
rockchip,camera-module-facing = "front";
};
ov13855_2: ov13855_2@36 {
compatible = "ovti,ov13855";
status = "okay";
reg = <0x36>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera3_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <2>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "CMK-OT2016-FV1";
rockchip,camera-module-lens-name = "default";
lens-focus = <&dw9763_2>;
port {
ov13855_out2: endpoint {
remote-endpoint = <&mipi_in_ov13855_2>;
data-lanes = <1 2 3 4>;
};
};
};
gc8034_2: gc8034_2@37 {
compatible = "galaxycore,gc8034";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera3_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_LOW>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401-4";
port {
gc8034_out2: endpoint {
remote-endpoint = <&mipi_in_gc8034_2>;
data-lanes = <1 2 3 4>;
};
};
};
imx415_2: imx415_2@1a {
compatible = "sony,imx415";
status = "okay";
reg = <0x1a>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera3_clk>;
rockchip,grf = <&sys_grf>;
power-gpios = <&gpio1 RK_PB1 GPIO_ACTIVE_LOW>; //modify camera addr 0x1a
// reset-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <2>;
rockchip,camera-module-facing = "front";
rockchip,camera-module-name = "CMK-OT2022-PX1";
rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
port {
imx415_out2: endpoint {
remote-endpoint = <&mipi_in_imx415_2>;
data-lanes = <1 2 3 4>;
};
};
};
};
&csi2_dphy0_hw {
status = "okay";
};
&csi2_dphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ov13855_2: endpoint@1 {
reg = <1>;
remote-endpoint = <&ov13855_out2>;
data-lanes = <1 2 3 4>;
};
mipi_in_gc8034_2: endpoint@2 {
reg = <2>;
remote-endpoint = <&gc8034_out2>;
data-lanes = <1 2 3 4>;
};
mipi_in_imx415_2: endpoint@3 {
reg = <3>;
remote-endpoint = <&imx415_out2>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi2_csi2_input>;
};
};
};
};
&mipi2_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in2>;
};
};
};
};
&rkcif_mipi_lvds2 {
status = "okay";
port {
cif_mipi_in2: endpoint {
remote-endpoint = <&mipi2_csi2_output>;
};
};
};
&rkcif_mipi_lvds2_sditf {
status = "okay";
port {
mipi2_lvds_sditf: endpoint {
remote-endpoint = <&isp1_vir0>;
};
};
};
&rkisp1 {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&rkisp1_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp1_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi2_lvds_sditf>;
};
};
};

View File

@@ -0,0 +1,142 @@
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m0_xfer>;
vm149c_3: vm149c_3@0c {
compatible = "silicon touch,vm149c";
status = "okay";
reg = <0x0c>;
rockchip,vcm-start-current = <20>; // 马达的启动电流
rockchip,vcm-rated-current = <100>; // 马达的额定电流
rockchip,vcm-step-mode = <13>; // 马达驱动 ic 的电流输出模式
rockchip,camera-module-index = <3>; // 模组编号
rockchip,camera-module-facing = "back"; // 模组朝向,有"back"和"front"
};
gc8034_3: gc8034_3@37 {
compatible = "galaxycore,gc8034";
status = "okay";
reg = <0x37>;
lens-focus = <&vm149c_3>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M4>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera4_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>;
rockchip,camera-module-index = <3>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401-4";
port {
gc8034_out3: endpoint {
remote-endpoint = <&mipi_in_ucam3>;
data-lanes = <1 2 3 4>;
};
};
};
};
&csi2_dphy1_hw {
status = "okay";
};
&csi2_dphy3 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam3: endpoint@1 {
reg = <1>;
remote-endpoint = <&gc8034_out3>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidphy1_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi4_csi2_input>;
};
};
};
};
&mipi4_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi4_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidphy1_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi4_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in4>;
};
};
};
};
&rkcif_mipi_lvds4 {
status = "okay";
port {
cif_mipi_in4: endpoint {
remote-endpoint = <&mipi4_csi2_output>;
};
};
};
&rkcif_mipi_lvds4_sditf {
status = "okay";
port {
mipi4_lvds_sditf: endpoint {
remote-endpoint = <&isp0_vir1>;
};
};
};
&rkisp0 {
status = "okay";
};
&isp0_mmu {
status = "okay";
};
&rkisp0_vir1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi4_lvds_sditf>;
};
};
};

View File

@@ -0,0 +1,147 @@
/{
vcc_camera_4: vcc-camera_4-regulator {
compatible = "regulator-fixed";
gpio = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&camera4_pwr>;
regulator-name = "vcc_camera4";
enable-active-high;
regulator-always-on;
regulator-boot-on;
};
};
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m0_xfer>;
imx415_3: imx415_3@37 {
compatible = "sony,imx415";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M4>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera4_clk>;
rockchip,grf = <&sys_grf>;
// pwdn-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <3>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2022-PX1";
rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
port {
imx415_out3: endpoint {
remote-endpoint = <&mipi_in_ucam3>;
data-lanes = <1 2 3 4>;
};
};
};
};
&csi2_dphy1_hw {
status = "okay";
};
&csi2_dphy3 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam3: endpoint@1 {
reg = <1>;
remote-endpoint = <&imx415_out3>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidphy1_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi4_csi2_input>;
};
};
};
};
&mipi4_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi4_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidphy1_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi4_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in4>;
};
};
};
};
&rkcif_mipi_lvds4 {
status = "okay";
port {
cif_mipi_in4: endpoint {
remote-endpoint = <&mipi4_csi2_output>;
};
};
};
&rkcif_mipi_lvds4_sditf {
status = "okay";
port {
mipi4_lvds_sditf: endpoint {
remote-endpoint = <&isp0_vir1>;
};
};
};
&rkisp0 {
status = "okay";
};
&isp0_mmu {
status = "okay";
};
&rkisp0_vir1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi4_lvds_sditf>;
};
};
};
&pinctrl {
camera4_pwr: camera4_pwr {
rockchip,pins =
/* camera power en */
<1 RK_PB2 3 &pcfg_pull_up>;
};
};

View File

@@ -0,0 +1,143 @@
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m0_xfer>;
dw9763_3: dw9763_3@c {
compatible = "dongwoon,dw9763";
status = "okay";
reg = <0x0c>;
rockchip,vcm-max-current = <120>;
rockchip,vcm-start-current = <20>;
rockchip,vcm-rated-current = <90>;
rockchip,vcm-step-mode = <3>;
rockchip,vcm-t-src = <0x20>;
rockchip,vcm-t-div = <1>;
rockchip,camera-module-index = <3>;
rockchip,camera-module-facing = "back";
};
ov13855_3: ov13855_3@36 {
compatible = "ovti,ov13855";
status = "okay";
reg = <0x36>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M4>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera4_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <3>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2016-FV1";
rockchip,camera-module-lens-name = "default";
lens-focus = <&dw9763_3>;
port {
ov13855_out3: endpoint {
remote-endpoint = <&mipi_in_ucam3>;
data-lanes = <1 2 3 4>;
};
};
};
};
&csi2_dphy1_hw {
status = "okay";
};
&csi2_dphy3 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam3: endpoint@1 {
reg = <1>;
remote-endpoint = <&ov13855_out3>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidphy1_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi4_csi2_input>;
};
};
};
};
&mipi4_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi4_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidphy1_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi4_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in4>;
};
};
};
};
&rkcif_mipi_lvds4 {
status = "okay";
port {
cif_mipi_in4: endpoint {
remote-endpoint = <&mipi4_csi2_output>;
};
};
};
&rkcif_mipi_lvds4_sditf {
status = "okay";
port {
mipi4_lvds_sditf: endpoint {
remote-endpoint = <&isp0_vir1>;
};
};
};
&rkisp0 {
status = "okay";
};
&isp0_mmu {
status = "okay";
};
&rkisp0_vir1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi4_lvds_sditf>;
};
};
};

198
rk3588/rp-camera-dphy1.dtsi Executable file
View File

@@ -0,0 +1,198 @@
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m0_xfer>;
dw9763_3: dw9763_3@c {
compatible = "dongwoon,dw9763";
status = "okay";
reg = <0x0c>;
rockchip,vcm-max-current = <120>;
rockchip,vcm-start-current = <20>;
rockchip,vcm-rated-current = <90>;
rockchip,vcm-step-mode = <3>;
rockchip,vcm-t-src = <0x20>;
rockchip,vcm-t-div = <1>;
rockchip,camera-module-index = <3>;
rockchip,camera-module-facing = "back";
};
ov13855_3: ov13855_3@36 {
compatible = "ovti,ov13855";
status = "okay";
reg = <0x36>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M4>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera4_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
rockchip,camera-module-index = <3>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2016-FV1";
rockchip,camera-module-lens-name = "default";
lens-focus = <&dw9763_3>;
port {
ov13855_out3: endpoint {
remote-endpoint = <&mipi_in_ov13855_3>;
data-lanes = <1 2 3 4>;
};
};
};
gc8034_3: gc8034_3@37 {
compatible = "galaxycore,gc8034";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M4>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera4_clk>;
rockchip,grf = <&sys_grf>;
pwdn-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>;
rockchip,camera-module-index = <3>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "RK-CMK-8M-2-v1";
rockchip,camera-module-lens-name = "CK8401-4";
port {
gc8034_out3: endpoint {
remote-endpoint = <&mipi_in_gc8034_3>;
data-lanes = <1 2 3 4>;
};
};
};
imx415_3: imx415_3@37 {
compatible = "sony,imx415";
status = "okay";
reg = <0x37>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M4>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&mipim0_camera4_clk>;
rockchip,grf = <&sys_grf>;
power-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;//modify camera addr 0x37
rockchip,camera-module-index = <3>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2022-PX1";
rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
port {
imx415_out3: endpoint {
remote-endpoint = <&mipi_in_imx415_3>;
data-lanes = <1 2 3 4>;
};
};
};
};
&csi2_dphy1_hw {
status = "okay";
};
&csi2_dphy3 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ov13855_3: endpoint@1 {
reg = <1>;
remote-endpoint = <&ov13855_out3>;
data-lanes = <1 2 3 4>;
};
mipi_in_gc8034_3: endpoint@2 {
reg = <2>;
remote-endpoint = <&gc8034_out3>;
data-lanes = <1 2 3 4>;
};
mipi_in_imx415_3: endpoint@3 {
reg = <3>;
remote-endpoint = <&imx415_out3>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidphy1_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi4_csi2_input>;
};
};
};
};
&mipi4_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi4_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidphy1_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi4_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in4>;
};
};
};
};
&rkcif_mipi_lvds4 {
status = "okay";
port {
cif_mipi_in4: endpoint {
remote-endpoint = <&mipi4_csi2_output>;
};
};
};
&rkcif_mipi_lvds4_sditf {
status = "okay";
port {
mipi4_lvds_sditf: endpoint {
remote-endpoint = <&isp1_vir1>;
};
};
};
&rkisp1 {
status = "okay";
};
&isp1_mmu {
status = "okay";
};
&rkisp1_vir1 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp1_vir1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi4_lvds_sditf>;
};
};
};

View File

@@ -0,0 +1,260 @@
/**
* mipi csi to xs9922b config
*/
&i2c3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c3m1_xfer>;
xs9922: xs9922@31 {
compatible = "xs9922";
status = "okay";
reg = <0x31>;
clocks = <&cru CLK_MIPI_CAMARAOUT_M1>;
clock-names = "xvclk";
power-domains = <&power RK3588_PD_VI>;
pinctrl-names = "default";
pinctrl-0 = <&xs9922_pwr>;
reset-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>;
power-gpios = <&gpio1 RK_PA4 GPIO_ACTIVE_HIGH>;
//avdd-supply = <&vcc_avdd>;
//dovdd-supply = <&vcc_dovdd>;
//dvdd-supply = <&vcc_dvdd>;
rockchip,camera-module-index = <0>;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "default";
rockchip,camera-module-lens-name = "default";
rockchip,default_rect= <1280 720>;
port {
ucam_out0: endpoint {
remote-endpoint = <&mipi_in_ucam0>;
data-lanes = <1 2 3 4>;
};
};
};
};
&pinctrl {
xs9922 {
xs9922_pwr: camera-pwr {
rockchip,pins =
<1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>,
<4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&mipi_dcphy0 {
status = "okay";
};
// CIF
&csi2_dcphy0 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi_in_ucam0: endpoint@1 {
reg = <1>;
remote-endpoint = <&ucam_out0>;
data-lanes = <1 2 3 4>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
csidcphy0_out: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi0_csi2_input>;
};
};
};
};
&mipi0_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidcphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in0>;
};
};
};
};
&rkcif_mipi_lvds {
status = "okay";
port {
cif_mipi_in0: endpoint {
remote-endpoint = <&mipi0_csi2_output>;
};
};
};
&rkcif {
status = "okay";
};
&rkcif_mmu {
status = "okay";
};
#if 0
// isp
&mipi0_csi2 {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
mipi0_csi2_input: endpoint@1 {
reg = <1>;
remote-endpoint = <&csidcphy0_out>;
};
};
port@1 {
reg = <1>;
#address-cells = <1>;
#size-cells = <0>;
mipi2_csi2_output: endpoint@0 {
reg = <0>;
remote-endpoint = <&cif_mipi_in2>;
};
};
};
};
&rkcif_mipi_lvds2 {
status = "okay";
port {
cif_mipi_in2: endpoint {
remote-endpoint = <&mipi2_csi2_output>;
};
};
};
#endif
#if 0
&rkcif_mipi_lvds2_sditf {
status = "okay";
port {
mipi1_lvds_sditf: endpoint {
remote-endpoint = <&isp0_vir0>;
};
};
};
&rkcif_mipi_lvds_sditf {
status = "okay";
port {
mipi_lvds_sditf: endpoint {
remote-endpoint = <&isp1_in1>;
};
};
};
&rkisp_unite {
status = "okay";
};
&rkisp_unite_mmu {
status = "okay";
};
&rkisp0_vir0 {
status = "okay";
/*
* dual isp process image case
* other rkisp hw and virtual nodes should disabled
*/
rockchip,hw = <&rkisp_unite>;
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir0: endpoint@1 {
reg = <1>;
remote-endpoint = <&mipi1_lvds_sditf>;
};
/*
isp1_in1: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds_sditf>;
};
*/
};
};
#endif

33
rk3588/rp-eth-gmac0.dtsi Executable file
View File

@@ -0,0 +1,33 @@
&mdio0 {
rgmii_phy0: phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1>;
};
};
&gmac0 {
// Use rgmii-rxid mode to disable rx delay inside Soc
phy-mode = "rgmii-rxid";
clock_in_out = "output";
snps,reset-gpio = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
// Reset time is 20ms, 100ms for rtl8211f
snps,reset-delays-us = <0 20000 100000>;
pinctrl-names = "default";
pinctrl-0 = <&gmac0_miim
&gmac0_tx_bus2
&gmac0_rx_bus2
&gmac0_rgmii_clk
&gmac0_rgmii_bus>;
tx_delay = <0x44>;
// rx_delay = <0x4f>;
phy-handle = <&rgmii_phy0>;
status = "okay";
};

34
rk3588/rp-eth-gmac1.dtsi Executable file
View File

@@ -0,0 +1,34 @@
&mdio1 {
rgmii_phy1: phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1>;
clocks = <&cru REFCLKO25M_ETH1_OUT>;
};
};
&gmac1 {
// Use rgmii-rxid mode to disable rx delay inside Soc
phy-mode = "rgmii-rxid";
clock_in_out = "input";
snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
snps,reset-active-low;
// Reset time is 20ms, 100ms for rtl8211f
snps,reset-delays-us = <0 20000 100000>;
pinctrl-names = "default";
pinctrl-0 = <&gmac1_miim
&gmac1_tx_bus2
&gmac1_rx_bus2
&gmac1_rgmii_clk
&gmac1_rgmii_bus
&gmac1_clkinout
&eth1_pins>;
tx_delay = <0x44>;
// rx_delay = <0x4f>;
phy-handle = <&rgmii_phy1>;
status = "okay";
};

View File

@@ -0,0 +1,10 @@
&combphy0_ps {
status = "okay";
};
&pcie2x1l2 {
phys = <&combphy0_ps PHY_TYPE_PCIE>;
vpcie3v3-supply = <&vcc3v3_pcie30>;
reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
status = "okay";
};

View File

@@ -0,0 +1,22 @@
/*
&combphy0_ps {
status = "okay";
};
&pcie2x1l2 {
phys = <&combphy0_ps PHY_TYPE_PCIE>;
vpcie3v3-supply = <&vcc3v3_pcie30>;
reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
*/
&pcie2x1l1 {
reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>;
//vpcie3v3-supply = <&vcc3v3_pcie20>;
status = "okay";
};
&combphy2_psu {
status = "okay";
};

54
rk3588/rp-hdmirx.dtsi Executable file
View File

@@ -0,0 +1,54 @@
/ {
/* If hdmirx node is disabled, delete the reserved-memory node here. */
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
/* Reserve 256MB memory for hdmirx-controller@fdee0000 */
cma {
compatible = "shared-dma-pool";
reusable;
reg = <0x0 (256 * 0x100000) 0x0 (128 * 0x100000)>;
linux,cma-default;
};
};
hdmiin-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "rockchip,hdmiin";
simple-audio-card,bitclock-master = <&dailink0_master>;
simple-audio-card,frame-master = <&dailink0_master>;
status = "okay";
simple-audio-card,cpu {
sound-dai = <&i2s7_8ch>;
};
dailink0_master: simple-audio-card,codec {
sound-dai = <&hdmiin_dc>;
};
};
hdmiin_dc: hdmiin-dc {
compatible = "rockchip,dummy-codec";
#sound-dai-cells = <0>;
};
};
&i2s7_8ch {
status = "okay";
};
&hdmirx_ctrler {
status = "okay";
/* Effective level used to trigger HPD: 0-low, 1-high */
hpd-trigger-level = <1>;
hdmirx-det-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
pinctrl-0 = <&hdmim1_rx_cec &hdmim2_rx_hpdin &hdmim1_rx_scl &hdmim1_rx_sda>;
pinctrl-names = "default";
};

View File

@@ -0,0 +1,163 @@
/ {
panel_edp1 {
compatible = "simple-panel";
backlight = <&backlight_edp>;
power-supply = <&vcc3v3_lcd_n>;
init-delay-ms = <120>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
unprepare-delay-ms = <120>;
disable-delay-ms = <120>;
width-mm = <129>;
height-mm = <171>;
panel-timing {
clock-frequency = <150000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <160>;
hsync-len = <32>;
hback-porch = <160>;
vfront-porch = <3>;
vsync-len = <5>;
vback-porch = <23>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
port {
panel_in_edp1: endpoint {
remote-endpoint = <&edp1_out_panel>;
};
};
};
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd";
regulator-boot-on;
enable-active-high;
vin-supply = <&vcc_3v3_s0>;
};
&backlight_edp {
compatible = "pwm-backlight";
pwms = <&pwm0 0 25000 1>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&edp1 {
force-hpd;
status = "okay";
ports {
port@1 {
reg = <1>;
edp1_out_panel: endpoint {
remote-endpoint = <&panel_in_edp1>;
};
};
};
};
&route_edp1 {
status = "okay";
connect = <&vp1_out_edp1>;
};
&edp1_in_vp0 {
status = "disabled";
};
&edp1_in_vp1 {
status = "okay";
};
&edp1_in_vp2 {
status = "disabled";
};
&hdptxphy1 {
status = "okay";
};
&goodix_ts {
status = "okay";
compatible = "goodix,gt9xx";
reg = <0x5d>;
gtp_resolution_x = <1920>;
gtp_resolution_y = <1080>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
43 80 07 38 04 0A 3D 00 01 06
28 08 55 32 03 05 00 00 00 00
00 00 06 18 1A 1E 14 95 35 FF
2D 2F A6 0F 00 00 00 01 03 2C
00 00 00 00 00 00 00 00 00 00
00 2D 5A 94 D0 42 00 08 00 04
79 30 00 6E 37 00 65 3F 00 5D
49 00 57 54 00 57 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 1D 1C 1B 1A 19 18 17 16
15 14 13 12 11 10 0F 0E 0D 0C
0B 0A 09 08 07 06 05 04 03 02
01 00 00 01 02 03 04 05 06 07
08 09 0A 0B 0C 0D 0E 0F 10 11
12 13 14 15 16 17 18 19 1B 1C
1D 1E 1F 20 21 22 23 24 25 26
27 28 29 2A 86 01
];
};

View File

@@ -0,0 +1,165 @@
/ {
panel-edp0 {
compatible = "simple-panel";
backlight = <&backlight_edp>;
power-supply = <&vcc3v3_lcd_n>;
init-delay-ms = <120>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
unprepare-delay-ms = <120>;
disable-delay-ms = <120>;
width-mm = <129>;
height-mm = <171>;
panel-timing {
clock-frequency = <150000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <160>;
hsync-len = <32>;
hback-porch = <160>;
vfront-porch = <3>;
vsync-len = <5>;
vback-porch = <23>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
port {
panel_in_edp0: endpoint {
remote-endpoint = <&edp0_out_panel>;
};
};
};
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd";
regulator-boot-on;
enable-active-high;
vin-supply = <&vcc_3v3_s0>;
};
&backlight_edp {
compatible = "pwm-backlight";
pwms = <&pwm0 0 25000 1>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&edp0 {
force-hpd;
status = "okay";
ports {
port@1 {
reg = <1>;
edp0_out_panel: endpoint {
remote-endpoint = <&panel_in_edp0>;
};
};
};
};
&route_edp0 {
status = "disabled";
connect = <&vp0_out_edp0>;
};
&edp0_in_vp0 {
status = "okay";
};
&edp0_in_vp1 {
status = "disabled";
};
&edp0_in_vp2 {
status = "disabled";
};
&hdptxphy0 {
status = "okay";
};
&goodix_ts {
status = "okay";
compatible = "goodix,gt9xx";
reg = <0x5d>;
gtp_resolution_x = <1920>;
gtp_resolution_y = <1080>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
43 80 07 38 04 0A 3D 00 01 06
28 08 55 32 03 05 00 00 00 00
00 00 06 18 1A 1E 14 95 35 FF
2D 2F A6 0F 00 00 00 01 03 2C
00 00 00 00 00 00 00 00 00 00
00 2D 5A 94 D0 42 00 08 00 04
79 30 00 6E 37 00 65 3F 00 5D
49 00 57 54 00 57 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 1D 1C 1B 1A 19 18 17 16
15 14 13 12 11 10 0F 0E 0D 0C
0B 0A 09 08 07 06 05 04 03 02
01 00 00 01 02 03 04 05 06 07
08 09 0A 0B 0C 0D 0E 0F 10 11
12 13 14 15 16 17 18 19 1B 1C
1D 1E 1F 20 21 22 23 24 25 26
27 28 29 2A 86 01
];
};

View File

@@ -0,0 +1,126 @@
/ {
panel-edp1 {
compatible = "simple-panel";
backlight = <&backlight_edp>;
power-supply = <&vcc3v3_lcd_n>;
init-delay-ms = <120>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
unprepare-delay-ms = <120>;
disable-delay-ms = <120>;
width-mm = <129>;
height-mm = <171>;
panel-timing {
clock-frequency = <150000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <160>;
hsync-len = <32>;
hback-porch = <160>;
vfront-porch = <3>;
vsync-len = <5>;
vback-porch = <23>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
port {
panel_in_edp1: endpoint {
remote-endpoint = <&edp1_out_panel>;
};
};
};
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd";
regulator-boot-on;
enable-active-high;
vin-supply = <&vcc_3v3_s0>;
};
&backlight_edp {
compatible = "pwm-backlight";
//pwms = <&pwm0 0 25000 1>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&edp1 {
force-hpd;
status = "okay";
ports {
port@1 {
reg = <1>;
edp1_out_panel: endpoint {
remote-endpoint = <&panel_in_edp1>;
};
};
};
};
&route_edp1 {
status = "disabled";
connect = <&vp1_out_edp1>;
};
&edp1_in_vp0 {
status = "disabled";
};
&edp1_in_vp1 {
status = "okay";
};
&edp1_in_vp2 {
status = "disabled";
};
&hdptxphy1 {
status = "okay";
};

View File

@@ -0,0 +1,3 @@
#include "rp-lcd-hdmi0.dtsi" // batch ignore
#include "rp-lcd-hdmi1.dtsi" // batch ignore
#include "rp-lcd-typec-dp0.dtsi" // usb dp0, must be enable rp-usb-typec.dtsi, batch ignore

24
rk3588/rp-lcd-hdmi0.dtsi Executable file
View File

@@ -0,0 +1,24 @@
&hdmi0 {
status = "okay";
};
&hdmi0_in_vp0 {
status = "okay";
};
&hdmi0_sound {
status = "okay";
};
&i2s5_8ch {
status = "okay";
};
&hdptxphy_hdmi0 {
status = "okay";
};
&route_hdmi0 {
status = "okay";
connect = <&vp0_out_hdmi0>;
};

29
rk3588/rp-lcd-hdmi1.dtsi Executable file
View File

@@ -0,0 +1,29 @@
&hdmi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&hdmim2_tx1_cec &hdmim0_tx1_hpd &hdmim2_tx1_scl &hdmim2_tx1_sda>;
};
&hdmi1_in_vp1 {
status = "okay";
};
&hdmi1_sound {
status = "okay";
};
&i2s6_8ch {
status = "okay";
};
&hdptxphy_hdmi1 {
status = "okay";
};
&route_hdmi1 {
status = "okay";
connect = <&vp1_out_hdmi1>;
};

View File

@@ -0,0 +1,208 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&dsi0 {
status = "okay";
rockchip,lane-rate = <1110000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <120>;
prepare-delay-ms = <120>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
05 78 01 11 //sleep out
05 20 01 29 //display on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <150000000>;
hactive = <1200>;
vactive = <1920>;
hback-porch = <40>;
hfront-porch = <50>;
vback-porch = <10>;
vfront-porch = <10>;
hsync-len = <5>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&goodix_ts {
gtp_resolution_x = <1200>;
gtp_resolution_y = <1920>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
42 B0 04 80 07 0A 35 00 01 0F 28 0F
5A 3C 03 05 00 00 00 00 00 00 04 17
19 1D 14 90 30 AA 33 35 D3 07 00 00
00 B9 03 10 00 00 00 00 00 00 00 00
00 00 00 32 46 94 C5 02 07 00 00 04
73 33 00 6E 37 00 69 3B 00 66 3F 00
62 43 00 62 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 19 18 17 16 15 14 11 10
0F 0E 0D 0C 09 08 07 06 05 04 01 00
FF FF FF FF FF FF FF FF FF FF 00 02
04 06 07 08 0A 0C 0D 0E 0F 10 11 12
13 14 2A 29 28 27 26 25 24 23 22 21
20 1F 1E 1C 1B 19 FF FF FF FF FF FF
FF FF FF FF 3E 01
];
/** for new tp sensor id 2 but cfg is the same as id 0 */
goodix,cfg-group2 = [
42 B0 04 80 07 0A 35 00 01 0F 28 0F
5A 3C 03 05 00 00 00 00 00 00 04 17
19 1D 14 90 30 AA 33 35 D3 07 00 00
00 B9 03 10 00 00 00 00 00 00 00 00
00 00 00 32 46 94 C5 02 07 00 00 04
73 33 00 6E 37 00 69 3B 00 66 3F 00
62 43 00 62 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 19 18 17 16 15 14 11 10
0F 0E 0D 0C 09 08 07 06 05 04 01 00
FF FF FF FF FF FF FF FF FF FF 00 02
04 06 07 08 0A 0C 0D 0E 0F 10 11 12
13 14 2A 29 28 27 26 25 24 23 22 21
20 1F 1E 1C 1B 19 FF FF FF FF FF FF
FF FF FF FF 3E 01
];
};

View File

@@ -0,0 +1,189 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&dsi0 {
status = "okay";
rockchip,lane-rate = <1100000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <120>;
prepare-delay-ms = <120>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
05 78 01 11 //sleep out
05 20 01 29 //display on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <150000000>;
hactive = <1920>;
vactive = <1200>;
hback-porch = <32>;
hfront-porch = <110>;
vback-porch = <14>;
vfront-porch = <11>;
hsync-len = <2>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&goodix_ts {
gtp_resolution_x = <1200>;
gtp_resolution_y = <1920>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
7F 80 07 B0 04 0A 3D 00 01 06 23
08 37 2D 03 05 00 00 00 00 00 00
04 17 19 1D 14 90 30 AA 53 55 0C
08 00 00 00 01 03 1D 00 00 00 00
00 00 00 00 00 00 00 3C 78 94 D0
42 00 08 00 04 8E 40 00 85 4A 00
7F 55 00 7B 61 00 7A 70 00 7B 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 19 18 17 16 15 14 11 10 0F
0E 0D 0C 09 08 07 06 05 04 01 00
00 00 00 00 00 00 00 00 00 00 19
1B 1C 1E 1F 20 21 22 23 24 25 26
27 28 29 2A 14 13 12 11 10 0F 0E
0D 0C 0A 08 07 06 04 02 00 00 00
00 00 00 00 00 00 00 00 BE 01
];
};

View File

@@ -0,0 +1,191 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
05 78 01 11 //sleep out
05 20 01 29 //display on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <82000000>;
hactive = <800>;
vactive = <1280>;
hback-porch = <100>;
hfront-porch = <100>;
vback-porch = <30>;
vfront-porch = <20>;
hsync-len = <30>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&goodix_ts {
gtp_resolution_x = <800>;
gtp_resolution_y = <1280>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
70 20 03 00 05 0A 05 00 01 08
28 05 5A 46 03 05 00 00 00 00
00 00 00 17 19 1B 14 8E 2E 99
37 39 D3 07 00 00 00 80 02 2D
00 00 00 00 00 00 00 00 00 00
00 28 78 94 C5 02 07 00 00 04
9A 2C 00 80 37 00 6B 45 00 5C
56 00 50 6C 00 50 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 17 16 15 14 11 10 0F 0E
0D 0C 09 08 07 06 05 04 01 00
FF FF 00 00 00 00 00 00 00 00
00 00 00 02 04 06 07 08 0A 0C
0D 0F 10 11 12 28 27 26 25 24
23 22 21 20 1F 1E 1C 1B 19 13
FF FF FF FF 00 00 00 00 00 00
00 00 00 00 AA 01
];
};

View File

@@ -0,0 +1,450 @@
/ {
vcc3v3_lcd_n: vcc3v3-lcd0-n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
};
&pwm1 {
status = "okay";
pinctrl-0 = <&pwm1m1_pins>;
};
&dsi0 {
status = "okay";
rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
39 00 04 FF 98 81 03
//=========_1===========//
39 00 02 01 00
39 00 02 02 00
39 00 02 03 53
39 00 02 04 13
39 00 02 05 00
39 00 02 06 04
39 00 02 07 00
39 00 02 08 00
39 00 02 09 22
39 00 02 0a 22
39 00 02 0b 00
39 00 02 0c 01
39 00 02 0d 00
39 00 02 0e 00
39 00 02 0f 23
39 00 02 10 23
39 00 02 11 00
39 00 02 12 00
39 00 02 13 00
39 00 02 14 00
39 00 02 15 00
39 00 02 16 00
39 00 02 17 00
39 00 02 18 00
39 00 02 19 00
39 00 02 1a 00
39 00 02 1b 00
39 00 02 1c 00
39 00 02 1d 00
39 00 02 1e 44
39 00 02 1f 80
39 00 02 20 02
39 00 02 21 03
39 00 02 22 00
39 00 02 23 00
39 00 02 24 00
39 00 02 25 00
39 00 02 26 00
39 00 02 27 00
39 00 02 28 33
39 00 02 29 03
39 00 02 2a 00
39 00 02 2b 00
39 00 02 2c 00
39 00 02 2d 00
39 00 02 2e 00
39 00 02 2f 00
39 00 02 30 00
39 00 02 31 00
39 00 02 32 00
39 00 02 33 00
39 00 02 34 04
39 00 02 35 00
39 00 02 36 00
39 00 02 37 00
39 00 02 38 3C
39 00 02 39 00
39 00 02 3a 40
39 00 02 3b 40
39 00 02 3c 00
39 00 02 3d 00
39 00 02 3e 00
39 00 02 3f 00
39 00 02 40 00
39 00 02 41 00
39 00 02 42 00
39 00 02 43 00
39 00 02 44 00
//=========_2===========//
39 00 02 50 01
39 00 02 51 23
39 00 02 52 45
39 00 02 53 67
39 00 02 54 89
39 00 02 55 ab
39 00 02 56 01
39 00 02 57 23
39 00 02 58 45
39 00 02 59 67
39 00 02 5a 89
39 00 02 5b ab
39 00 02 5c cd
39 00 02 5d ef
//=========_3===========//
39 00 02 5e 11
39 00 02 5f 01
39 00 02 60 00
39 00 02 61 15
39 00 02 62 14
39 00 02 63 0C
39 00 02 64 0D
39 00 02 65 0E
39 00 02 66 0F
39 00 02 67 06
39 00 02 68 02
39 00 02 69 02
39 00 02 6a 02
39 00 02 6b 02
39 00 02 6c 02
39 00 02 6d 02
39 00 02 6e 08
39 00 02 6f 02
39 00 02 70 02
39 00 02 71 02
39 00 02 72 02
39 00 02 73 02
39 00 02 74 02
39 00 02 75 01
39 00 02 76 00
39 00 02 77 15
39 00 02 78 14
39 00 02 79 0C
39 00 02 7a 0D
39 00 02 7b 0E
39 00 02 7c 0F
39 00 02 7D 08
39 00 02 7E 02
39 00 02 7F 02
39 00 02 80 02
39 00 02 81 02
39 00 02 82 02
39 00 02 83 02
39 00 02 84 06
39 00 02 85 02
39 00 02 86 02
39 00 02 87 02
39 00 02 88 02
39 00 02 89 02
39 00 02 8A 02
//CMD_Page
39 00 04 FF 98 81 04
39 00 02 6C 15
39 00 02 6E 3B
39 00 02 6F 73
39 00 02 3A 24
39 00 02 8D 14
39 00 02 87 BA
39 00 02 26 76
39 00 02 B2 D1
39 00 02 B5 27
39 00 02 31 75
39 00 02 30 03
39 00 02 3B 98
39 00 02 35 1f
39 00 02 33 14
39 00 02 7A 0F
39 00 02 38 02
39 00 02 39 00
//CMD_Page
39 00 04 FF 98 81 01
39 00 02 22 0A
39 00 02 31 0A
39 00 02 35 07
39 00 02 52 00
39 00 02 53 5A
39 00 02 54 00
39 00 02 55 59
39 00 02 50 83
39 00 02 51 80
39 00 02 60 20
39 00 02 61 01
39 00 02 62 07
39 00 02 63 00
//GammaP
39 00 02 A0 08
39 00 02 A1 0F
39 00 02 A2 15
39 00 02 A3 0E
39 00 02 A4 0D
39 00 02 A5 1B
39 00 02 A6 0F
39 00 02 A7 14
39 00 02 A8 33
39 00 02 A9 17
39 00 02 AA 23
39 00 02 AB 3F
39 00 02 AC 22
39 00 02 AD 24
39 00 02 AE 59
39 00 02 AF 2B
39 00 02 B0 2E
39 00 02 B1 4C
39 00 02 B2 5C
39 00 02 B3 33
//GammaN
39 00 02 C0 08
39 00 02 C1 0F
39 00 02 C2 15
39 00 02 C3 0E
39 00 02 C4 0D
39 00 02 C5 1B
39 00 02 C6 0F
39 00 02 C7 14
39 00 02 C8 33
39 00 02 C9 17
39 00 02 CA 23
39 00 02 CB 3F
39 00 02 CC 22
39 00 02 CD 24
39 00 02 CE 59
39 00 02 CF 2B
39 00 02 D0 2E
39 00 02 D1 4C
39 00 02 D2 5C
39 00 02 D3 33
//CMD_Page
39 00 04 FF 98 81 00
05 78 01 11 //sleep out
05 00 01 29 //display on
05 00 01 35 //TE on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <82000000>;
hactive = <800>;
vactive = <1280>;
hback-porch = <100>;
hfront-porch = <100>;
vback-porch = <30>;
vfront-porch = <20>;
hsync-len = <30>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&pinctrl {
lcd {
lcd_rst_gpio: lcd-rst-gpio {
rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
goodix {
goodix_irq: goodix-irq {
rockchip,pins = <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&i2c6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c6m0_xfer>;
goodix_ts@5d {
status = "okay";
compatible = "goodix,gt9xx";
reg = <0x5d>;
goodix_rst_gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
goodix_irq_gpio = <&gpio3 RK_PD0 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&goodix_irq>;
gtp_resolution_x = <800>;
gtp_resolution_y = <1280>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group2 = [
41 20 03 00 05 0A 35 00 01 06
23 08 37 2D 03 05 00 00 00 00
00 00 04 17 19 1D 14 90 30 AA
53 55 0C 08 00 00 00 01 03 1D
00 00 00 00 00 00 00 00 00 00
00 3C 78 94 D0 42 00 08 00 04
8E 40 00 85 4A 00 7F 55 00 7B
61 00 7A 70 00 7B 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 19 18 17 16 15 14 11 10
0F 0E 0D 0C 09 08 07 06 05 04
01 00 00 00 00 00 00 00 00 00
00 00 00 02 04 06 07 08 0A 0C
0D 0E 0F 10 11 12 13 14 2A 29
28 27 26 25 24 23 22 21 20 1F
1E 1C 1B 19 00 00 00 00 00 00
00 00 00 00 17 01
];
};
};

View File

@@ -0,0 +1,192 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
05 78 01 11 //sleep out
05 20 01 29 //display on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <82000000>;
hactive = <800>;
vactive = <1280>;
hback-porch = <100>;
hfront-porch = <100>;
vback-porch = <30>;
vfront-porch = <20>;
hsync-len = <30>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&goodix_ts {
gtp_resolution_x = <800>;
gtp_resolution_y = <1280>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group2 = [
41 20 03 00 05 0A 35 00 01 06
23 08 37 2D 03 05 00 00 00 00
00 00 04 17 19 1D 14 90 30 AA
53 55 0C 08 00 00 00 01 03 1D
00 00 00 00 00 00 00 00 00 00
00 3C 78 94 D0 42 00 08 00 04
8E 40 00 85 4A 00 7F 55 00 7B
61 00 7A 70 00 7B 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 19 18 17 16 15 14 11 10
0F 0E 0D 0C 09 08 07 06 05 04
01 00 00 00 00 00 00 00 00 00
00 00 00 02 04 06 07 08 0A 0C
0D 0E 0F 10 11 12 13 14 2A 29
28 27 26 25 24 23 22 21 20 1F
1E 1C 1B 19 00 00 00 00 00 00
00 00 00 00 17 01
];
};

View File

@@ -0,0 +1,223 @@
&backlight_lvds {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
/*
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
*/
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&dsi0 {
status = "okay";
// rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
//enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_lvds>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
23 08 02 27 AA
23 08 02 48 02
23 08 02 B6 20
23 08 02 01 00
23 08 02 02 58
23 08 02 03 24
23 08 02 04 50
23 08 02 05 12
23 08 02 06 50
23 08 02 07 00
23 08 02 08 18
23 08 02 09 04
23 08 02 0A 18
23 08 02 0B 82
23 08 02 0C 1F
23 08 02 0D 01
23 08 02 0E 80
23 08 02 0F 20
23 08 02 10 20
23 08 02 11 03
23 08 02 12 1B
23 08 02 13 07
23 08 02 14 34
23 08 02 15 20
23 08 02 16 10
23 08 02 17 00
23 08 02 18 01
23 08 02 19 23
23 08 02 1A 40
23 08 02 1B 00
23 08 02 1E 46
23 08 02 51 30
23 08 02 1F 10
23 08 02 2A 01
05 78 01 11//delay 120MS
05 78 01 29
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <70000000>;
hactive = <1280>;
vactive = <720>;
hback-porch = <80>;
hfront-porch = <80>;
vback-porch = <24>;
vfront-porch = <24>;
hsync-len = <18>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};

View File

@@ -0,0 +1,223 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
39 00 04 B9 F1 12 83
39 00 1C BA 33 81 05 F9 0E 0E 20 00 00 00 00 00 00 00 44 25 00 91 0A 00 00 02 4F D1 00 00 37
39 00 02 B8 26
39 00 04 BF 02 10 00
39 00 0B B3 07 0B 1E 1E 03 FF 00 00 00 00
39 00 0A C0 73 73 50 50 00 00 08 70 00
39 00 02 BC 46
39 00 02 CC 0B
39 00 02 B4 80
39 00 04 B2 C8 12 A0
39 00 0F E3 07 07 0B 0B 03 0B 00 00 00 00 FF 80 C0 10
39 00 0D C1 53 00 32 32 77 F1 FF FF CC CC 77 77
39 00 03 B5 09 09
39 00 03 B6 B7 B7
39 00 40 E9 C2 10 0A 00 00 81 80 12 30 00 37 86 81 80 37 18 00 05 00 00 00 00 00 05 00 00 00 00 F8 BA 46 02 08 28 88 88 88 88 88 F8 BA 57 13 18 38 88 88 88 88 88 00 00 00 03 00 00 00 00 00 00 00 00 00
39 00 3E EA 07 12 01 01 02 3C 00 00 00 00 00 00 8F BA 31 75 38 18 88 88 88 88 88 8F BA 20 64 28 08 88 88 88 88 88 23 10 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
39 00 23 E0 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19
05 ff 01 11 ////Sleep Out
05 32 01 29 ///Display On
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <60000000>;
hactive = <720>;
vactive = <1280>;
hback-porch = <40>;
hfront-porch = <40>;
vback-porch = <11>;
vfront-porch = <16>;
hsync-len = <10>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&goodix_ts {
gtp_resolution_x = <720>;
gtp_resolution_y = <1280>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
4D D0 02 00 05 05 35 00 01 08 32
08 5A 3C 03 05 00 00 00 00 00 00
00 18 1A 1E 14 89 29 0A 55 57 B5
06 00 00 00 41 22 10 00 01 00 0F
00 2A 00 00 19 50 32 3C 78 94 D5
02 08 00 00 04 A2 40 00 8F 4A 00
80 55 00 73 61 00 67 70 00 67 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 02 04 06 08 0A 0C 0E 10 12
14 FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF 22
21 20 1F 1E 1D 1C 18 16 00 02 04
06 08 0A 0F 10 12 FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF 8D 01
];
};

View File

@@ -0,0 +1,220 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
39 00 04 B9 F1 12 83
39 00 1C BA 33 81 05 F9 0E 0E 20 00 00 00 00 00 00 00 44 25 00 91 0A 00 00 02 4F D1 00 00 37
39 00 02 B8 26
39 00 04 BF 02 10 00
39 00 0B B3 07 0B 1E 1E 03 FF 00 00 00 00
39 00 0A C0 73 73 50 50 00 00 08 70 00
39 00 02 BC 46
39 00 02 CC 0B
39 00 02 B4 80
39 00 04 B2 C8 12 A0
39 00 0F E3 07 07 0B 0B 03 0B 00 00 00 00 FF 80 C0 10
39 00 0D C1 53 00 32 32 77 F1 FF FF CC CC 77 77
39 00 03 B5 09 09
39 00 03 B6 B7 B7
39 00 40 E9 C2 10 0A 00 00 81 80 12 30 00 37 86 81 80 37 18 00 05 00 00 00 00 00 05 00 00 00 00 F8 BA 46 02 08 28 88 88 88 88 88 F8 BA 57 13 18 38 88 88 88 88 88 00 00 00 03 00 00 00 00 00 00 00 00 00
39 00 3E EA 07 12 01 01 02 3C 00 00 00 00 00 00 8F BA 31 75 38 18 88 88 88 88 88 8F BA 20 64 28 08 88 88 88 88 88 23 10 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
39 00 23 E0 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19
05 ff 01 11 ////Sleep Out
05 32 01 29 ///Display On
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <60000000>;
hactive = <720>;
vactive = <1280>;
hback-porch = <40>;
hfront-porch = <40>;
vback-porch = <11>;
vfront-porch = <16>;
hsync-len = <10>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&goodix_ts {
gtp_resolution_x = <720>;
gtp_resolution_y = <1280>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
46 D0 02 00 05 05 35 01 01 08 1E 0F 5A 3C
03 05 00 00 00 00 11 11 00 19 1B 1E 14 89
29 0A 41 43 D3 07 00 00 00 9A 02 11 00 01
05 00 00 00 00 09 11 00 00 36 4A 94 45 00
00 00 00 00 94 37 00 8B 3B 00 83 3F 00 7C
43 00 76 47 00 76 10 30 48 00 F0 4A 3A FF
FF 27 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00
08 0A 0C 0E 10 12 14 16 18 1A 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 0E 0C 0A 08 06 05 04 02 00 1D 1E 1F
20 22 24 28 29 2A 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 84 01
];
};

View File

@@ -0,0 +1,219 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&pwm1 {
status = "okay";
pinctrl-0 = <&pwm1m1_pins>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
05 78 01 11 //sleep out
05 20 01 29 //display on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <55000000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <160>;
hfront-porch = <136>;
vback-porch = <16>;
vfront-porch = <16>;
hsync-len = <4>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&goodix_ts {
gtp_resolution_x = <1024>;
gtp_resolution_y = <600>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [ //odl touch sensor_id 0
41 00 04 58 02 05 7D 00 01 2F 28
0F 50 32 03 05 00 00 00 00 00 00
00 18 1A 1E 14 89 0D 0C 2C 2A 0C
08 00 00 00 82 03 1D 0A 32 05 0A
32 00 00 00 00 00 0B 1E 50 94 E5
02 08 00 00 04 A7 21 00 8B 28 00
73 31 00 62 3B 00 52 48 00 52 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 32 50 00
00 00 1C 1A 18 16 14 12 10 0E 0C
0A 08 06 04 02 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 2A
29 28 26 24 22 21 20 1F 1E 1D 18
16 14 13 12 10 0F 0C 0A 08 06 FF
FF FF FF 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 3B 01
];
goodix,cfg-group5 = [ //new touch sensor_id 5
FF 00 04 58 02 05 0D 04 01
0A 28 0A 50 32 03 05 00 00
00 00 00 00 08 00 00 00 00
8B 2B 0E 30 32 0F 0A 00 00
00 83 02 1D 00 00 00 00 00
03 03 32 00 00 00 24 60 94
C0 02 00 00 00 04 93 27 00
80 30 00 70 3B 00 65 47 00
5C 57 00 5C 00 00 00 00 00
00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00
00 00 00 00 1C 1A 18 16 14
12 10 0E 0C 0A 08 06 04 02
00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 26 24
22 21 20 1F 1E 1D 1C 18 16
13 12 10 0F 0C 0A 08 06 04
02 00 FF FF FF FF 00 00 00
00 00 00 00 00 00 00 00 00
00 00 00 00 6A 01
];
};

View File

@@ -0,0 +1,444 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
39 00 02 E0 00
39 00 02 E1 93
39 00 02 E2 65
39 00 02 E3 F8
39 00 02 80 03
39 00 02 E0 04
39 00 02 2D 03
39 00 02 E0 00
39 00 02 70 10
39 00 02 71 13
39 00 02 72 06
39 00 02 75 03
39 00 02 E0 01
// 39 00 02 4A 30
39 00 02 00 00
39 00 02 01 A0
39 00 02 03 00
39 00 02 04 A0
39 00 02 0A 07
39 00 02 0C 74
39 00 02 17 00
39 00 02 18 D7
39 00 02 19 01
39 00 02 1A 00
39 00 02 1B D7
39 00 02 1C 01
39 00 02 1F 74
39 00 02 20 19
39 00 02 21 19
39 00 02 22 0E
39 00 02 27 43
39 00 02 37 09
39 00 02 38 04
39 00 02 39 08
39 00 02 3A 18
39 00 02 3B 18
39 00 02 3C 72
39 00 02 3E FF
39 00 02 3E FF
39 00 02 3F FF
39 00 02 40 04
39 00 02 41 A0
39 00 02 43 08
39 00 02 44 07
39 00 02 45 30
39 00 02 55 01
39 00 02 56 01
39 00 02 57 65
39 00 02 58 0A
39 00 02 59 0A
39 00 02 5A 28
39 00 02 5B 0F
39 00 02 5D 7C
39 00 02 5E 5F
39 00 02 5F 4D
39 00 02 60 3F
39 00 02 61 39
39 00 02 62 29
39 00 02 63 2B
39 00 02 64 12
39 00 02 65 28
39 00 02 66 24
39 00 02 67 22
39 00 02 68 3E
39 00 02 69 2C
39 00 02 6A 33
39 00 02 6B 26
39 00 02 6C 23
39 00 02 6D 18
39 00 02 6E 09
39 00 02 6F 00
39 00 02 70 7C
39 00 02 71 5F
39 00 02 72 4D
39 00 02 73 3F
39 00 02 74 39
39 00 02 75 29
39 00 02 76 2B
39 00 02 77 12
39 00 02 78 28
39 00 02 79 24
39 00 02 7A 22
39 00 02 7B 3E
39 00 02 7C 2C
39 00 02 7D 33
39 00 02 7E 26
39 00 02 7F 23
39 00 02 80 18
39 00 02 81 09
39 00 02 82 00
39 00 02 E0 02
39 00 02 00 37
39 00 02 01 17
39 00 02 02 0A
39 00 02 03 06
39 00 02 04 08
39 00 02 05 04
39 00 02 06 00
39 00 02 07 1F
39 00 02 08 1F
39 00 02 09 1F
39 00 02 0A 1F
39 00 02 0B 1F
39 00 02 0C 1F
39 00 02 0D 1F
39 00 02 0E 1F
39 00 02 0F 1F
39 00 02 10 3F
39 00 02 11 1F
39 00 02 12 1F
39 00 02 13 1E
39 00 02 14 10
39 00 02 15 1F
39 00 02 16 37
39 00 02 17 17
39 00 02 18 0B
39 00 02 19 07
39 00 02 1A 09
39 00 02 1B 05
39 00 02 1C 01
39 00 02 1D 1F
39 00 02 1E 1F
39 00 02 1F 1F
39 00 02 20 1F
39 00 02 21 1F
39 00 02 22 1F
39 00 02 23 1F
39 00 02 24 1F
39 00 02 25 1F
39 00 02 26 1F
39 00 02 27 1F
39 00 02 28 1F
39 00 02 29 1E
39 00 02 2A 11
39 00 02 2B 1F
39 00 02 2C 37
39 00 02 2D 17
39 00 02 2E 05
39 00 02 2F 09
39 00 02 30 07
39 00 02 31 0B
39 00 02 32 11
39 00 02 33 1F
39 00 02 34 1F
39 00 02 35 1F
39 00 02 36 1F
39 00 02 37 1F
39 00 02 38 1F
39 00 02 39 1F
39 00 02 3A 1F
39 00 02 3B 1F
39 00 02 3C 3F
39 00 02 3D 1F
39 00 02 3E 1E
39 00 02 3F 1F
39 00 02 40 01
39 00 02 41 1F
39 00 02 42 38
39 00 02 43 18
39 00 02 44 04
39 00 02 45 08
39 00 02 46 06
39 00 02 47 0A
39 00 02 48 10
39 00 02 49 1F
39 00 02 4A 1F
39 00 02 4B 1F
39 00 02 4C 1F
39 00 02 4D 1F
39 00 02 4E 1F
39 00 02 4F 1F
39 00 02 50 1F
39 00 02 51 1F
39 00 02 52 1F
39 00 02 53 1F
39 00 02 54 1E
39 00 02 55 1F
39 00 02 56 00
39 00 02 57 1F
39 00 02 58 10
39 00 02 59 00
39 00 02 5A 00
39 00 02 5B 10
39 00 02 5C 01
39 00 02 5D 50
39 00 02 5E 01
39 00 02 5F 02
39 00 02 60 30
39 00 02 61 01
39 00 02 62 02
39 00 02 63 06
39 00 02 64 6A
39 00 02 65 55
39 00 02 66 08
39 00 02 67 73
39 00 02 68 05
39 00 02 69 08
39 00 02 6A 6E
39 00 02 6B 00
39 00 02 6C 00
39 00 02 6D 00
39 00 02 6E 00
39 00 02 6F 88
39 00 02 70 00
39 00 02 71 00
39 00 02 72 06
39 00 02 73 7B
39 00 02 74 00
39 00 02 75 80
39 00 02 76 00
39 00 02 77 0D
39 00 02 78 18
39 00 02 79 00
39 00 02 7A 00
39 00 02 7B 00
39 00 02 7C 00
39 00 02 7D 03
39 00 02 7E 7B
39 00 02 E0 04
39 00 02 04 01
39 00 02 0E 38
39 00 02 2B 2B
39 00 02 2E 44
39 00 02 E0 00
39 00 02 E6 02
39 00 02 E6 02
//39 00 02 36 00
39 C8 02 11 00
39 C8 02 29 00
05 78 01 11//delay 120MS
05 78 01 29
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <70000000>;
hactive = <720>;
vactive = <1280>;
hback-porch = <34>;
hfront-porch = <34>;
vback-porch = <6>;
vfront-porch = <20>;
hsync-len = <24>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&goodix_ts {
gtp_resolution_x = <720>;
gtp_resolution_y = <1280>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
57 58 02 00 04 05 35 00 01 08 32 0F
5A 32 03 05 00 00 00 00 02 00 00 18
1A 1E 14 8A 2A 0C 55 57 B5 06 00 00
00 20 33 1C 14 01 00 0F 00 2B FF 7F
19 46 32 3C 78 94 D5 02 08 00 00 04
98 40 00 8A 4A 00 80 55 00 77 61 00
6F 70 00 6F 00 00 00 00 F0 40 30 FF
FF 27 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 18 16 14 12 10 0E 0C 0A
08 06 04 02 FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF 24 22
21 20 1F 1E 1D 1C 18 16 00 02 04 06
08 0A 0F 10 12 13 FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF 81 01
];
goodix,cfg-group2 = [
5A 58 02 00 04 05 35 00 01 08
32 0F 5A 32 03 05 00 00 00 00
02 00 00 18 1A 1E 14 8A 2A 0C
55 57 B5 06 00 00 00 20 33 1C
14 01 00 0F 00 2B FF 7F 19 46
32 3C 78 94 D5 02 08 00 00 04
98 40 00 8A 4A 00 80 55 00 77
61 00 6F 70 00 6F 00 00 00 00
F0 40 30 FF FF 27 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 18 16 14 12 10 0E 0C 0A
08 06 04 02 FF FF 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 02 04 06 08 0A 0F 10
12 13 24 22 21 20 1F 1E 1D 1C
18 16 FF FF FF FF FF FF 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 5E 01
];
};

View File

@@ -0,0 +1,212 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&pwm1 {
status = "okay";
pinctrl-0 = <&pwm1m1_pins>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
05 78 01 11 //sleep out
05 20 01 29 //display on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <148000000>;
hactive = <1200>;
vactive = <1920>;
hback-porch = <60>;
hfront-porch = <80>;
vback-porch = <25>;
vfront-porch = <16>;
hsync-len = <10>;
vsync-len = <2>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&goodix_ts {
gtp_resolution_x = <1200>;
gtp_resolution_y = <1920>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
5E B0 04 80 07 05 05 00 01 0F 28 05
50 32 03 05 00 00 00 00 00 00 00 00
00 00 00 8C 2C 0E 52 54 31 0D 00 00
01 80 04 1C 00 00 00 00 00 03 64 32
00 00 00 52 66 94 C5 02 07 00 00 04
83 53 00 82 57 00 80 5B 00 7F 5F 00
7E 63 00 7E 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 1C 1A 18 16 14 12 10 0E
0C 0A 08 06 04 02 FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF 00 02
04 06 08 0A 0C 0F 10 12 13 14 28 26
24 22 21 20 1F 1E 1D 1C 18 16 FF FF
FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF 22 01
];
goodix,cfg-group2 = [
00 20 03 00 05 0A 05 00 01 08 28
05 50 32 03 05 00 00 00 00 00 00
00 00 00 00 00 8C 2C 0E 17 15 31
0D 00 00 01 BA 03 1D 00 00 00 00
00 03 64 32 00 00 00 0F 41 94 C5
02 07 00 00 04 99 11 00 77 17 00
5F 1F 00 4C 2A 00 41 38 00 41 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 1C 1A 18 16 14 12 10 0E 0C
0A 08 06 04 02 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 28
26 24 22 21 20 1F 1E 1D 1C 18 16
00 02 04 06 08 0A 0C 0F 10 12 13
14 FF FF 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 FE 01
];
};

View File

@@ -0,0 +1,412 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
39 00 04 FF 98 81 03
39 00 02 01 00
39 00 02 02 00
39 00 02 03 57 //54
39 00 02 04 D3 //D4
39 00 02 05 00
39 00 02 06 11
39 00 02 07 08 //09
39 00 02 08 00
39 00 02 09 00
39 00 02 0a 3F //00
39 00 02 0b 00
39 00 02 0c 00
39 00 02 0d 00
39 00 02 0e 00
39 00 02 0f 3F //00
39 00 02 10 3F //00
39 00 02 11 00
39 00 02 12 00
39 00 02 13 00
39 00 02 14 00
39 00 02 15 00
39 00 02 16 00
39 00 02 17 00
39 00 02 18 00
39 00 02 19 00
39 00 02 1a 00
39 00 02 1b 00
39 00 02 1c 00
39 00 02 1d 00
39 00 02 1e 40
39 00 02 1f 80
39 00 02 20 06
39 00 02 21 01
39 00 02 22 00
39 00 02 23 00
39 00 02 24 00
39 00 02 25 00
39 00 02 26 00
39 00 02 27 00
39 00 02 28 33
39 00 02 29 33
39 00 02 2a 00
39 00 02 2b 00
39 00 02 2c 00
39 00 02 2d 00
39 00 02 2e 00
39 00 02 2f 00
39 00 02 30 00
39 00 02 31 00
39 00 02 32 00
39 00 02 33 00
39 00 02 34 00
39 00 02 35 00
39 00 02 36 00
39 00 02 37 00
39 00 02 38 78
39 00 02 39 00
39 00 02 3a 00
39 00 02 3b 00
39 00 02 3c 00
39 00 02 3d 00
39 00 02 3e 00
39 00 02 3f 00
39 00 02 40 00
39 00 02 41 00
39 00 02 42 00
39 00 02 43 00 //GCH/L
39 00 02 44 00
39 00 02 50 00
39 00 02 51 23
39 00 02 52 45
39 00 02 53 67
39 00 02 54 89
39 00 02 55 ab
39 00 02 56 01
39 00 02 57 23
39 00 02 58 45
39 00 02 59 67
39 00 02 5a 89
39 00 02 5b ab
39 00 02 5c cd
39 00 02 5d ef
39 00 02 5e 00
39 00 02 5f 0D //FW_CGOUT_L[1]
39 00 02 60 0D //FW_CGOUT_L[2]
39 00 02 61 0C //FW_CGOUT_L[3]
39 00 02 62 0C //FW_CGOUT_L[4]
39 00 02 63 0F //FW_CGOUT_L[5]
39 00 02 64 0F //FW_CGOUT_L[6]
39 00 02 65 0E //FW_CGOUT_L[7]
39 00 02 66 0E //FW_CGOUT_L[8]
39 00 02 67 08 //FW_CGOUT_L[9]
39 00 02 68 02 //FW_CGOUT_L[10]
39 00 02 69 02 //FW_CGOUT_L[11]
39 00 02 6a 02 //FW_CGOUT_L[12]
39 00 02 6b 02 //FW_CGOUT_L[13]
39 00 02 6c 02 //FW_CGOUT_L[14]
39 00 02 6d 02 //FW_CGOUT_L[15]
39 00 02 6e 02 //FW_CGOUT_L[16]
39 00 02 6f 02 //FW_CGOUT_L[17]
39 00 02 70 14 //FW_CGOUT_L[18]
39 00 02 71 15 //FW_CGOUT_L[19]
39 00 02 72 06 //FW_CGOUT_L[20]
39 00 02 73 02 //FW_CGOUT_L[21]
39 00 02 74 02 //FW_CGOUT_L[22]
39 00 02 75 0D //BW_CGOUT_L[1]
39 00 02 76 0D //BW_CGOUT_L[2]
39 00 02 77 0C //BW_CGOUT_L[3]
39 00 02 78 0C //BW_CGOUT_L[4]
39 00 02 79 0F //BW_CGOUT_L[5]
39 00 02 7a 0F //BW_CGOUT_L[6]
39 00 02 7b 0E //BW_CGOUT_L[7]
39 00 02 7c 0E //BW_CGOUT_L[8]
39 00 02 7d 08 //BW_CGOUT_L[9]
39 00 02 7e 02 //BW_CGOUT_L[10]
39 00 02 7f 02 //BW_CGOUT_L[11]
39 00 02 80 02 //BW_CGOUT_L[12]
39 00 02 81 02 //BW_CGOUT_L[13]
39 00 02 82 02 //BW_CGOUT_L[14]
39 00 02 83 02 //BW_CGOUT_L[15]
39 00 02 84 02 //BW_CGOUT_L[16]
39 00 02 85 02 //BW_CGOUT_L[17]
39 00 02 86 14 //BW_CGOUT_L[18]
39 00 02 87 15 //BW_CGOUT_L[19]
39 00 02 88 06 //BW_CGOUT_L[20]
39 00 02 89 02 //BW_CGOUT_L[21]
39 00 02 8A 02 //BW_CGOUT_L[22]
39 00 04 FF 98 81 04
39 00 02 6E 3B
39 00 02 6F 57
39 00 02 3A 24
39 00 02 8D 1F
39 00 02 87 BA
39 00 02 B2 D1
39 00 02 88 0B
39 00 02 38 01
39 00 02 39 00
39 00 02 B5 07
39 00 02 31 75
39 00 02 3B 98
39 00 04 FF 98 81 01
39 00 02 22 0A
39 00 02 31 09
39 00 02 35 07
39 00 02 53 87
39 00 02 55 84
39 00 02 50 86
39 00 02 51 82
39 00 02 60 10
39 00 02 62 00
39 00 02 A0 00
39 00 02 A1 12
39 00 02 A2 1F
39 00 02 A3 12
39 00 02 A4 16
39 00 02 A5 29
39 00 02 A6 1E
39 00 02 A7 1F
39 00 02 A8 7E
39 00 02 A9 1B
39 00 02 AA 28
39 00 02 AB 6D
39 00 02 AC 19
39 00 02 AD 18
39 00 02 AE 4C
39 00 02 AF 1E
39 00 02 B0 23
39 00 02 B1 52
39 00 02 B2 6D
39 00 02 B3 3F
39 00 02 C0 00
39 00 02 C1 12
39 00 02 C2 20
39 00 02 C3 10
39 00 02 C4 13
39 00 02 C5 27
39 00 02 C6 1B
39 00 02 C7 1D
39 00 02 C8 75
39 00 02 C9 1F
39 00 02 CA 28
39 00 02 CB 68
39 00 02 CC 1A
39 00 02 CD 18
39 00 02 CE 4D
39 00 02 CF 25
39 00 02 D0 2E
39 00 02 D1 53
39 00 02 D2 60
39 00 02 D3 3F
39 00 04 FF 98 81 00
39 00 02 35 00
05 80 01 11
05 20 01 29
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <76000000>;
hactive = <800>;
vactive = <1280>;
hback-porch = <70>;
hfront-porch = <70>;
vback-porch = <22>;
vfront-porch = <16>;
hsync-len = <20>;
vsync-len = <6>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};
&goodix_ts {
gtp_resolution_x = <800>;
gtp_resolution_y = <1280>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_back = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
45 20 03 00 05 05 35 00 01 C8 1E 0F 50 32
03 05 00 00 00 00 00 00 04 18 1A 1E 14 8C
2E 0E 1E 20 EB 04 00 00 00 BA 02 2D 00 00
00 00 00 03 00 00 00 00 00 0F 2D 94 D5 02
07 00 00 04 E6 10 00 BB 14 00 92 1A 00 78
20 00 61 28 00 61 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00
1C 1A 18 16 14 12 10 0E 0C 0A 08 06 04 02
00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 2A 29 28 26 24 22 21 20 1F 1E 1D 1C
18 16 00 02 04 06 08 0A 0C 0F 10 12 13 14
00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 CB 01
];
/** jc */
goodix,cfg-group2 = [
00 20 03 00 05 0A 05 00 01 08 28
05 50 32 03 05 00 00 00 00 00 00
00 00 00 00 00 8C 2C 0E 17 15 31
0D 00 00 01 BA 03 1D 00 00 00 00
00 03 64 32 00 00 00 0F 41 94 C5
02 07 00 00 04 99 11 00 77 17 00
5F 1F 00 4C 2A 00 41 38 00 41 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00
00 00 1C 1A 18 16 14 12 10 0E 0C
0A 08 06 04 02 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 28
26 24 22 21 20 1F 1E 1D 1C 18 16
00 02 04 06 08 0A 0C 0F 10 12 13
14 FF FF 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 FE 01
];
};

View File

@@ -0,0 +1,223 @@
&backlight_lvds {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
/*
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
*/
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&dsi0 {
status = "okay";
// rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
//enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_lvds>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
23 08 02 27 AA
23 08 02 48 02
23 08 02 B6 20
23 08 02 01 00
23 08 02 02 58
23 08 02 03 24
23 08 02 04 50
23 08 02 05 12
23 08 02 06 50
23 08 02 07 00
23 08 02 08 18
23 08 02 09 04
23 08 02 0A 18
23 08 02 0B 82
23 08 02 0C 1F
23 08 02 0D 01
23 08 02 0E 80
23 08 02 0F 20
23 08 02 10 20
23 08 02 11 03
23 08 02 12 1B
23 08 02 13 07
23 08 02 14 34
23 08 02 15 20
23 08 02 16 10
23 08 02 17 00
23 08 02 18 01
23 08 02 19 23
23 08 02 1A 40
23 08 02 1B 00
23 08 02 1E 46
23 08 02 51 30
23 08 02 1F 10
23 08 02 2A 01
05 78 01 11//delay 120MS
05 78 01 29
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <50000000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <80>;
hfront-porch = <80>;
vback-porch = <24>;
vfront-porch = <24>;
hsync-len = <18>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};

View File

@@ -0,0 +1,222 @@
&backlight_lvds {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
/*
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
*/
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&dsi0 {
status = "okay";
// rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
//enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_lvds>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
//mipi clk
23 08 02 27 AA
23 08 02 48 02
23 08 02 B6 20
23 08 02 01 80
23 08 02 02 38
23 08 02 03 47
23 08 02 04 50
23 08 02 05 12
23 08 02 06 50
23 08 02 07 00
23 08 02 08 18
23 08 02 09 04
23 08 02 0A 18
23 08 02 0B 82
23 08 02 0C 13
23 08 02 0D 01
23 08 02 0E 80
23 08 02 0F 20
23 08 02 10 20
23 08 02 11 03
23 08 02 12 1B
23 08 02 13 63
23 08 02 14 34
23 08 02 15 20
23 08 02 16 10
23 08 02 17 00
23 08 02 18 34
23 08 02 19 20
23 08 02 1A 10
23 08 02 1B 00
23 08 02 1E 46
23 08 02 51 30
23 08 02 1F 10
23 08 02 2A 01
05 78 01 11//delay 120MS
05 78 01 29
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <130000000>;
hactive = <1920>;
vactive = <1080>;
hback-porch = <80>;
hfront-porch = <80>;
vback-porch = <24>;
vfront-porch = <24>;
hsync-len = <18>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi0_in_vp2 {
status = "disabled";
};
&dsi0_in_vp3 {
status = "okay";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp3_out_dsi0>;
};

View File

@@ -0,0 +1,220 @@
&backlight_lvds {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
/*
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
*/
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&dsi1 {
status = "okay";
rockchip,lane-rate = <444000>;
dsi1_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
//enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_lvds>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
23 08 02 27 AA
23 08 02 48 02
23 08 02 B6 20
23 08 02 01 00
23 08 02 02 58
23 08 02 03 24
23 08 02 04 50
23 08 02 05 12
23 08 02 06 50
23 08 02 07 00
23 08 02 08 18
23 08 02 09 04
23 08 02 0A 18
23 08 02 0B 82
23 08 02 0C 1F
23 08 02 0D 01
23 08 02 0E 80
23 08 02 0F 20
23 08 02 10 20
23 08 02 11 03
23 08 02 12 1B
23 08 02 13 07
23 08 02 14 34
23 08 02 15 20
23 08 02 16 10
23 08 02 17 00
23 08 02 18 01
23 08 02 19 23
23 08 02 1A 40
23 08 02 1B 00
23 08 02 1E 46
23 08 02 51 30
23 08 02 1F 10
23 08 02 2A 01
05 78 01 11//delay 120MS
05 78 01 29
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings1: display-timings {
native-mode = <&dsi1_timing1>;
dsi1_timing1: timing0 {
clock-frequency = <50000000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <80>;
hfront-porch = <80>;
vback-porch = <24>;
vfront-porch = <24>;
hsync-len = <18>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi1: endpoint {
remote-endpoint = <&dsi1_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi1_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi1>;
};
};
};
};
&dsi1_in_vp2 {
status = "disabled";
};
&dsi1_in_vp3 {
status = "okay";
};
&mipi_dcphy1 {
status = "okay";
};
&route_dsi1 {
status = "okay";
connect = <&vp3_out_dsi1>;
};

View File

@@ -0,0 +1,220 @@
&backlight_lvds {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
/*
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
*/
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&dsi1 {
status = "okay";
// rockchip,lane-rate = <480000>;
dsi1_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
//enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_lvds>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
//mipi clk
23 08 02 27 AA
23 08 02 48 02
23 08 02 B6 20
23 08 02 01 80
23 08 02 02 38
23 08 02 03 47
23 08 02 04 50
23 08 02 05 12
23 08 02 06 50
23 08 02 07 00
23 08 02 08 18
23 08 02 09 04
23 08 02 0A 18
23 08 02 0B 82
23 08 02 0C 13
23 08 02 0D 01
23 08 02 0E 80
23 08 02 0F 20
23 08 02 10 20
23 08 02 11 03
23 08 02 12 1B
23 08 02 13 63
23 08 02 14 34
23 08 02 15 20
23 08 02 16 10
23 08 02 17 00
23 08 02 18 34
23 08 02 19 20
23 08 02 1A 10
23 08 02 1B 00
23 08 02 1E 46
23 08 02 51 30
23 08 02 1F 10
23 08 02 2A 01
05 78 01 11//delay 120MS
05 78 01 29
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings1: display-timings {
native-mode = <&dsi1_timing1>;
dsi1_timing1: timing0 {
clock-frequency = <130000000>;
hactive = <1920>;
vactive = <1080>;
hback-porch = <80>;
hfront-porch = <80>;
vback-porch = <24>;
vfront-porch = <24>;
hsync-len = <18>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi1: endpoint {
remote-endpoint = <&dsi1_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi1_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi1>;
};
};
};
};
&dsi1_in_vp2 {
status = "disabled";
};
&dsi1_in_vp3 {
status = "okay";
};
&mipi_dcphy1 {
status = "okay";
};
&route_dsi1 {
status = "okay";
connect = <&vp3_out_dsi1>;
};

View File

@@ -0,0 +1,3 @@
#include "rp-lcd-hdmi0.dtsi" // batch ignore
#include "rp-lcd-hdmi1.dtsi" // batch ignore
#include "rp-lcd-typec-dp0.dtsi" // usb dp0, must be enable rp-usb-typec.dtsi, batch ignore

View File

@@ -0,0 +1,672 @@
/ {
vcc33_lcd_n: vcc33-lcd-n {
compatible = "regulator-fixed";
regulator-name = "vcc33_lcd";
regulator-boot-on;
enable-active-high;
vin-supply = <&vcc_3v3_s0>;
};
panel-edp0 {
compatible = "simple-panel";
backlight = <&backlight_edp>;
power-supply = <&vcc3v3_lcd_n>;
init-delay-ms = <120>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
unprepare-delay-ms = <120>;
disable-delay-ms = <120>;
width-mm = <129>;
height-mm = <171>;
panel-timing {
clock-frequency = <150000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <160>;
hsync-len = <32>;
hback-porch = <160>;
vfront-porch = <3>;
vsync-len = <5>;
vback-porch = <23>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
port {
panel_in_edp0: endpoint {
remote-endpoint = <&edp0_out_panel>;
};
};
};
panel-edp1 {
compatible = "simple-panel";
backlight = <&backlight_edp>;
power-supply = <&vcc3v3_lcd_n>;
init-delay-ms = <120>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
unprepare-delay-ms = <120>;
disable-delay-ms = <120>;
width-mm = <129>;
height-mm = <171>;
panel-timing {
clock-frequency = <150000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <160>;
hsync-len = <32>;
hback-porch = <160>;
vfront-porch = <3>;
vsync-len = <5>;
vback-porch = <23>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
port {
panel_in_edp1: endpoint {
remote-endpoint = <&edp1_out_panel>;
};
};
};
};
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&pwm2 {
status = "okay";
pinctrl-0 = <&pwm2m1_pins>;
};
&backlight_lvds {
compatible = "pwm-backlight";
pwms = <&pwm2 0 25000 0>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&backlight_edp {
compatible = "pwm-backlight";
pwms = <&pwm0 0 25000 1>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&edp0 {
force-hpd;
status = "okay";
ports {
port@1 {
reg = <1>;
edp0_out_panel: endpoint {
remote-endpoint = <&panel_in_edp0>;
};
};
};
};
&edp1 {
force-hpd;
status = "okay";
ports {
port@1 {
reg = <1>;
edp1_out_panel: endpoint {
remote-endpoint = <&panel_in_edp1>;
};
};
};
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&pwm1 {
status = "okay";
pinctrl-0 = <&pwm1m1_pins>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
39 00 04 B9 F1 12 83
39 00 1C BA 33 81 05 F9 0E 0E 20 00 00 00 00 00 00 00 44 25 00 91 0A 00 00 02 4F D1 00 00 37
39 00 02 B8 26
39 00 04 BF 02 10 00
39 00 0B B3 07 0B 1E 1E 03 FF 00 00 00 00
39 00 0A C0 73 73 50 50 00 00 08 70 00
39 00 02 BC 46
39 00 02 CC 0B
39 00 02 B4 80
39 00 04 B2 C8 12 A0
39 00 0F E3 07 07 0B 0B 03 0B 00 00 00 00 FF 80 C0 10
39 00 0D C1 53 00 32 32 77 F1 FF FF CC CC 77 77
39 00 03 B5 09 09
39 00 03 B6 B7 B7
39 00 40 E9 C2 10 0A 00 00 81 80 12 30 00 37 86 81 80 37 18 00 05 00 00 00 00 00 05 00 00 00 00 F8 BA 46 02 08 28 88 88 88 88 88 F8 BA 57 13 18 38 88 88 88 88 88 00 00 00 03 00 00 00 00 00 00 00 00 00
39 00 3E EA 07 12 01 01 02 3C 00 00 00 00 00 00 8F BA 31 75 38 18 88 88 88 88 88 8F BA 20 64 28 08 88 88 88 88 88 23 10 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
39 00 23 E0 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19
05 ff 01 11 ////Sleep Out
05 32 01 29 ///Display On
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings1: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <50000000>;
hactive = <720>;
vactive = <1280>;
hback-porch = <40>;
hfront-porch = <40>;
vback-porch = <11>;
vfront-porch = <16>;
hsync-len = <10>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1{
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi1 {
status = "okay";
rockchip,lane-rate = <444000>;
dsi1_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
//enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
/*note: dsi0 uses the same pin,so dsi can not be configed*/
/delete-property/ reset-gpios;
/delete-property/ pinctrl-names;
/delete-property/ pinctrl-0;
backlight = <&backlight_lvds>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
23 08 02 27 AA
23 08 02 48 02
23 08 02 B6 20
23 08 02 01 00
23 08 02 02 58
23 08 02 03 24
23 08 02 04 50
23 08 02 05 12
23 08 02 06 50
23 08 02 07 00
23 08 02 08 18
23 08 02 09 04
23 08 02 0A 18
23 08 02 0B 82
23 08 02 0C 1F
23 08 02 0D 01
23 08 02 0E 80
23 08 02 0F 20
23 08 02 10 20
23 08 02 11 03
23 08 02 12 1B
23 08 02 13 07
23 08 02 14 34
23 08 02 15 20
23 08 02 16 10
23 08 02 17 00
23 08 02 18 01
23 08 02 19 23
23 08 02 1A 40
23 08 02 1B 00
23 08 02 1E 46
23 08 02 51 30
23 08 02 1F 10
23 08 02 2A 01
05 78 01 11 //sleep out
05 20 01 29 //display on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi1_timing1>;
dsi1_timing1: timing1 {
clock-frequency = <50000000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <80>;
hfront-porch = <80>;
vback-porch = <24>;
vfront-porch = <24>;
hsync-len = <18>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi1: endpoint {
remote-endpoint = <&dsi1_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi1_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi1>;
};
};
};
};
/*dis0--->dcphy0--->vp2*/
&vp2_out_dsi0{
remote-endpoint = <&dsi0_in_vp2>;
};
&dsi0_in_vp2 {
status = "okay";
};
&dsi0_in_vp3 {
status = "disabled";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp2_out_dsi0>;
};
/*dis1--->dcphy1--->vp3*/
&dsi1_in_vp2 {
status = "disabled";
};
&vp3_out_dsi1 {
remote-endpoint = <&dsi1_in_vp3>;
};
&dsi1_in_vp3 {
status = "okay";
};
&mipi_dcphy1 {
status = "okay";
};
&route_dsi1 {
status = "okay";
connect = <&vp3_out_dsi1>;
};
/**** edp0 ****/
&edp0 {
force-hpd;
status = "okay";
ports {
port@1 {
reg = <1>;
edp0_out_panel: endpoint {
remote-endpoint = <&panel_in_edp0>;
};
};
};
};
&route_edp0 {
status = "okay";
connect = <&vp0_out_edp0>;
};
&edp0_in_vp0 {
status = "okay";
};
&edp0_in_vp1 {
status = "disabled";
};
&edp0_in_vp2 {
status = "disabled";
};
&hdptxphy0 {
status = "okay";
};
&dp0 {
status = "okay";
};
&dp0_in_vp2 {
status = "okay";
};
&dp0_sound{
status = "okay";
};
&spdif_tx2 {
status = "okay";
};
/**** edp1 ****/
&route_edp1 {
status = "okay";
connect = <&vp1_out_edp1>;
};
&edp1_in_vp0 {
status = "disabled";
};
&edp1_in_vp1 {
status = "okay";
};
&edp1_in_vp2 {
status = "disabled";
};
&hdptxphy1 {
status = "okay";
};
&goodix_ts {
status = "okay";
compatible = "goodix,gt9xx";
reg = <0x5d>;
gtp_resolution_x = <1920>;
gtp_resolution_y = <1080>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
43 80 07 38 04 0A 3D 00 01 06
28 08 55 32 03 05 00 00 00 00
00 00 06 18 1A 1E 14 95 35 FF
2D 2F A6 0F 00 00 00 01 03 2C
00 00 00 00 00 00 00 00 00 00
00 2D 5A 94 D0 42 00 08 00 04
79 30 00 6E 37 00 65 3F 00 5D
49 00 57 54 00 57 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 1D 1C 1B 1A 19 18 17 16
15 14 13 12 11 10 0F 0E 0D 0C
0B 0A 09 08 07 06 05 04 03 02
01 00 00 01 02 03 04 05 06 07
08 09 0A 0B 0C 0D 0E 0F 10 11
12 13 14 15 16 17 18 19 1B 1C
1D 1E 1F 20 21 22 23 24 25 26
27 28 29 2A 86 01
];
};

View File

@@ -0,0 +1,625 @@
/ {
vcc33_lcd_n: vcc33-lcd-n {
compatible = "regulator-fixed";
regulator-name = "vcc33_lcd";
regulator-boot-on;
enable-active-high;
vin-supply = <&vcc_3v3_s0>;
};
panel-edp0 {
compatible = "simple-panel";
backlight = <&backlight_edp>;
power-supply = <&vcc3v3_lcd_n>;
init-delay-ms = <120>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
unprepare-delay-ms = <120>;
disable-delay-ms = <120>;
width-mm = <129>;
height-mm = <171>;
panel-timing {
clock-frequency = <150000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <160>;
hsync-len = <32>;
hback-porch = <160>;
vfront-porch = <3>;
vsync-len = <5>;
vback-porch = <23>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
port {
panel_in_edp0: endpoint {
remote-endpoint = <&edp0_out_panel>;
};
};
};
};
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&pwm2 {
status = "okay";
pinctrl-0 = <&pwm2m1_pins>;
};
&backlight_lvds {
compatible = "pwm-backlight";
pwms = <&pwm2 0 25000 0>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&backlight_edp {
compatible = "pwm-backlight";
pwms = <&pwm0 0 25000 1>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&edp0 {
force-hpd;
status = "okay";
ports {
port@1 {
reg = <1>;
edp0_out_panel: endpoint {
remote-endpoint = <&panel_in_edp0>;
};
};
};
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&pwm1 {
status = "okay";
pinctrl-0 = <&pwm1m1_pins>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
39 00 04 B9 F1 12 83
39 00 1C BA 33 81 05 F9 0E 0E 20 00 00 00 00 00 00 00 44 25 00 91 0A 00 00 02 4F D1 00 00 37
39 00 02 B8 26
39 00 04 BF 02 10 00
39 00 0B B3 07 0B 1E 1E 03 FF 00 00 00 00
39 00 0A C0 73 73 50 50 00 00 08 70 00
39 00 02 BC 46
39 00 02 CC 0B
39 00 02 B4 80
39 00 04 B2 C8 12 A0
39 00 0F E3 07 07 0B 0B 03 0B 00 00 00 00 FF 80 C0 10
39 00 0D C1 53 00 32 32 77 F1 FF FF CC CC 77 77
39 00 03 B5 09 09
39 00 03 B6 B7 B7
39 00 40 E9 C2 10 0A 00 00 81 80 12 30 00 37 86 81 80 37 18 00 05 00 00 00 00 00 05 00 00 00 00 F8 BA 46 02 08 28 88 88 88 88 88 F8 BA 57 13 18 38 88 88 88 88 88 00 00 00 03 00 00 00 00 00 00 00 00 00
39 00 3E EA 07 12 01 01 02 3C 00 00 00 00 00 00 8F BA 31 75 38 18 88 88 88 88 88 8F BA 20 64 28 08 88 88 88 88 88 23 10 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
39 00 23 E0 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19
05 ff 01 11 ////Sleep Out
05 32 01 29 ///Display On
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings1: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <50000000>;
hactive = <720>;
vactive = <1280>;
hback-porch = <40>;
hfront-porch = <40>;
vback-porch = <11>;
vfront-porch = <16>;
hsync-len = <10>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1{
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi1 {
status = "okay";
rockchip,lane-rate = <444000>;
dsi1_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
//enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
/*note: dsi0 uses the same pin,so dsi can not be configed*/
/delete-property/ reset-gpios;
/delete-property/ pinctrl-names;
/delete-property/ pinctrl-0;
backlight = <&backlight_lvds>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
23 08 02 27 AA
23 08 02 48 02
23 08 02 B6 20
23 08 02 01 00
23 08 02 02 58
23 08 02 03 24
23 08 02 04 50
23 08 02 05 12
23 08 02 06 50
23 08 02 07 00
23 08 02 08 18
23 08 02 09 04
23 08 02 0A 18
23 08 02 0B 82
23 08 02 0C 1F
23 08 02 0D 01
23 08 02 0E 80
23 08 02 0F 20
23 08 02 10 20
23 08 02 11 03
23 08 02 12 1B
23 08 02 13 07
23 08 02 14 34
23 08 02 15 20
23 08 02 16 10
23 08 02 17 00
23 08 02 18 01
23 08 02 19 23
23 08 02 1A 40
23 08 02 1B 00
23 08 02 1E 46
23 08 02 51 30
23 08 02 1F 10
23 08 02 2A 01
05 78 01 11 //sleep out
05 20 01 29 //display on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi1_timing1>;
dsi1_timing1: timing1 {
clock-frequency = <50000000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <80>;
hfront-porch = <80>;
vback-porch = <24>;
vfront-porch = <24>;
hsync-len = <18>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi1: endpoint {
remote-endpoint = <&dsi1_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi1_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi1>;
};
};
};
};
/*dis0--->dcphy0--->vp2*/
&vp2_out_dsi0{
remote-endpoint = <&dsi0_in_vp2>;
};
&dsi0_in_vp2 {
status = "okay";
};
&dsi0_in_vp3 {
status = "disabled";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp2_out_dsi0>;
};
/*dis1--->dcphy1--->vp3*/
&dsi1_in_vp2 {
status = "disabled";
};
&vp3_out_dsi1 {
remote-endpoint = <&dsi1_in_vp3>;
};
&dsi1_in_vp3 {
status = "okay";
};
&mipi_dcphy1 {
status = "okay";
};
&route_dsi1 {
status = "okay";
connect = <&vp3_out_dsi1>;
};
/****edp0****/
&edp0 {
force-hpd;
status = "okay";
ports {
port@1 {
reg = <1>;
edp0_out_panel: endpoint {
remote-endpoint = <&panel_in_edp0>;
};
};
};
};
&route_edp0 {
status = "okay";
connect = <&vp0_out_edp0>;
};
&edp0_in_vp0 {
status = "okay";
};
&edp0_in_vp1 {
status = "disabled";
};
&edp0_in_vp2 {
status = "disabled";
};
&hdptxphy0 {
status = "okay";
};
&dp0 {
status = "okay";
};
&dp0_in_vp2 {
status = "okay";
};
&dp0_sound{
status = "okay";
};
&spdif_tx2 {
status = "okay";
};
/**** hdmi1 ****/
&hdmi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&hdmim2_tx1_cec &hdmim0_tx1_hpd &hdmim2_tx1_scl &hdmim2_tx1_sda>;
};
&hdmi1_in_vp1 {
status = "okay";
};
&hdmi1_sound {
status = "okay";
};
&i2s6_8ch {
status = "okay";
};
&hdptxphy_hdmi1 {
status = "okay";
};
&route_hdmi1 {
status = "okay";
connect = <&vp1_out_hdmi1>;
};
&goodix_ts {
status = "okay";
compatible = "goodix,gt9xx";
reg = <0x5d>;
gtp_resolution_x = <1920>;
gtp_resolution_y = <1080>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
43 80 07 38 04 0A 3D 00 01 06
28 08 55 32 03 05 00 00 00 00
00 00 06 18 1A 1E 14 95 35 FF
2D 2F A6 0F 00 00 00 01 03 2C
00 00 00 00 00 00 00 00 00 00
00 2D 5A 94 D0 42 00 08 00 04
79 30 00 6E 37 00 65 3F 00 5D
49 00 57 54 00 57 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 1D 1C 1B 1A 19 18 17 16
15 14 13 12 11 10 0F 0E 0D 0C
0B 0A 09 08 07 06 05 04 03 02
01 00 00 01 02 03 04 05 06 07
08 09 0A 0B 0C 0D 0E 0F 10 11
12 13 14 15 16 17 18 19 1B 1C
1D 1E 1F 20 21 22 23 24 25 26
27 28 29 2A 86 01
];
};

View File

@@ -0,0 +1,596 @@
/ {
vcc33_lcd_n: vcc33-lcd-n {
compatible = "regulator-fixed";
regulator-name = "vcc33_lcd";
regulator-boot-on;
enable-active-high;
vin-supply = <&vcc_3v3_s0>;
};
panel_edp1 {
compatible = "simple-panel";
backlight = <&backlight_edp>;
power-supply = <&vcc33_lcd_n>;
init-delay-ms = <120>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
unprepare-delay-ms = <120>;
disable-delay-ms = <120>;
width-mm = <129>;
height-mm = <171>;
panel-timing {
clock-frequency = <150000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <160>;
hsync-len = <32>;
hback-porch = <160>;
vfront-porch = <3>;
vsync-len = <5>;
vback-porch = <23>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
port {
panel_in_edp1: endpoint {
remote-endpoint = <&edp1_out_panel>;
};
};
};
};
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&pwm2 {
status = "okay";
pinctrl-0 = <&pwm2m1_pins>;
};
&backlight_lvds {
compatible = "pwm-backlight";
pwms = <&pwm2 0 25000 0>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&backlight_edp {
compatible = "pwm-backlight";
pwms = <&pwm0 0 25000 1>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&edp1 {
force-hpd;
status = "okay";
ports {
port@1 {
reg = <1>;
edp1_out_panel: endpoint {
remote-endpoint = <&panel_in_edp1>;
};
};
};
};
/**dsi0**/
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&pwm1 {
status = "okay";
pinctrl-0 = <&pwm1m1_pins>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
39 00 04 B9 F1 12 83
39 00 1C BA 33 81 05 F9 0E 0E 20 00 00 00 00 00 00 00 44 25 00 91 0A 00 00 02 4F D1 00 00 37
39 00 02 B8 26
39 00 04 BF 02 10 00
39 00 0B B3 07 0B 1E 1E 03 FF 00 00 00 00
39 00 0A C0 73 73 50 50 00 00 08 70 00
39 00 02 BC 46
39 00 02 CC 0B
39 00 02 B4 80
39 00 04 B2 C8 12 A0
39 00 0F E3 07 07 0B 0B 03 0B 00 00 00 00 FF 80 C0 10
39 00 0D C1 53 00 32 32 77 F1 FF FF CC CC 77 77
39 00 03 B5 09 09
39 00 03 B6 B7 B7
39 00 40 E9 C2 10 0A 00 00 81 80 12 30 00 37 86 81 80 37 18 00 05 00 00 00 00 00 05 00 00 00 00 F8 BA 46 02 08 28 88 88 88 88 88 F8 BA 57 13 18 38 88 88 88 88 88 00 00 00 03 00 00 00 00 00 00 00 00 00
39 00 3E EA 07 12 01 01 02 3C 00 00 00 00 00 00 8F BA 31 75 38 18 88 88 88 88 88 8F BA 20 64 28 08 88 88 88 88 88 23 10 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
39 00 23 E0 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19
05 ff 01 11 ////Sleep Out
05 32 01 29 ///Display On
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings1: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <50000000>;
hactive = <720>;
vactive = <1280>;
hback-porch = <40>;
hfront-porch = <40>;
vback-porch = <11>;
vfront-porch = <16>;
hsync-len = <10>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1{
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi1 {
status = "okay";
rockchip,lane-rate = <444000>;
dsi1_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
//enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
/*note: dsi0 uses the same pin,so dsi can not be configed*/
/delete-property/ reset-gpios;
/delete-property/ pinctrl-names;
/delete-property/ pinctrl-0;
backlight = <&backlight_lvds>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
23 08 02 27 AA
23 08 02 48 02
23 08 02 B6 20
23 08 02 01 00
23 08 02 02 58
23 08 02 03 24
23 08 02 04 50
23 08 02 05 12
23 08 02 06 50
23 08 02 07 00
23 08 02 08 18
23 08 02 09 04
23 08 02 0A 18
23 08 02 0B 82
23 08 02 0C 1F
23 08 02 0D 01
23 08 02 0E 80
23 08 02 0F 20
23 08 02 10 20
23 08 02 11 03
23 08 02 12 1B
23 08 02 13 07
23 08 02 14 34
23 08 02 15 20
23 08 02 16 10
23 08 02 17 00
23 08 02 18 01
23 08 02 19 23
23 08 02 1A 40
23 08 02 1B 00
23 08 02 1E 46
23 08 02 51 30
23 08 02 1F 10
23 08 02 2A 01
05 78 01 11 //sleep out
05 20 01 29 //display on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi1_timing1>;
dsi1_timing1: timing1 {
clock-frequency = <50000000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <80>;
hfront-porch = <80>;
vback-porch = <24>;
vfront-porch = <24>;
hsync-len = <18>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi1: endpoint {
remote-endpoint = <&dsi1_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi1_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi1>;
};
};
};
};
/*dis0--->dcphy0--->vp2*/
&vp2_out_dsi0{
remote-endpoint = <&dsi0_in_vp2>;
};
&dsi0_in_vp2 {
status = "okay";
};
&dsi0_in_vp3 {
status = "disabled";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp2_out_dsi0>;
};
/*dis1--->dcphy1--->vp3*/
&dsi1_in_vp2 {
status = "disabled";
};
&vp3_out_dsi1 {
remote-endpoint = <&dsi1_in_vp3>;
};
&dsi1_in_vp3 {
status = "okay";
};
&mipi_dcphy1 {
status = "okay";
};
&route_dsi1 {
status = "okay";
connect = <&vp3_out_dsi1>;
};
/****hdmi0****/
&hdmi0 {
status = "okay";
};
&hdmi0_in_vp0 {
status = "okay";
};
&hdmi0_sound {
status = "okay";
};
&i2s5_8ch {
status = "okay";
};
&hdptxphy_hdmi0 {
status = "okay";
};
&route_hdmi0 {
status = "okay";
connect = <&vp0_out_hdmi0>;
};
/****edp1****/
&route_edp1 {
status = "okay";
connect = <&vp1_out_edp1>;
};
&edp1_in_vp0 {
status = "disabled";
};
&edp1_in_vp1 {
status = "okay";
};
&edp1_in_vp2 {
status = "disabled";
};
&hdptxphy1 {
status = "okay";
};
&goodix_ts {
status = "okay";
compatible = "goodix,gt9xx";
reg = <0x5d>;
gtp_resolution_x = <1920>;
gtp_resolution_y = <1080>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
43 80 07 38 04 0A 3D 00 01 06
28 08 55 32 03 05 00 00 00 00
00 00 06 18 1A 1E 14 95 35 FF
2D 2F A6 0F 00 00 00 01 03 2C
00 00 00 00 00 00 00 00 00 00
00 2D 5A 94 D0 42 00 08 00 04
79 30 00 6E 37 00 65 3F 00 5D
49 00 57 54 00 57 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 1D 1C 1B 1A 19 18 17 16
15 14 13 12 11 10 0F 0E 0D 0C
0B 0A 09 08 07 06 05 04 03 02
01 00 00 01 02 03 04 05 06 07
08 09 0A 0B 0C 0D 0E 0F 10 11
12 13 14 15 16 17 18 19 1B 1C
1D 1E 1F 20 21 22 23 24 25 26
27 28 29 2A 86 01
];
};

View File

@@ -0,0 +1,468 @@
&backlight_mipi {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
0 20 20 21 21 22 22 23
23 24 24 25 25 26 26 27
27 28 28 29 29 30 30 31
31 32 32 33 33 34 34 35
35 36 36 37 37 38 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71
72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103
104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119
120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135
136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151
152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167
168 169 170 171 172 173 174 175
176 177 178 179 180 181 182 183
184 185 186 187 188 189 190 191
192 193 194 195 196 197 198 199
200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215
216 217 218 219 220 221 222 223
224 225 226 227 228 229 230 231
232 233 234 235 236 237 238 239
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&backlight_lvds {
compatible = "pwm-backlight";
//pwms = <&pwm1 0 25000 0>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&vcc3v3_lcd_n {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd0_n";
regulator-boot-on;
enable-active-high;
//gpio = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc_1v8_s3>;
};
&pwm1 {
status = "okay";
pinctrl-0 = <&pwm1m1_pins>;
};
&dsi0 {
status = "okay";
//rockchip,lane-rate = <480000>;
dsi0_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
power-supply = <&vcc3v3_lcd_n>;
//reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
//pinctrl-names = "default";
//pinctrl-0 = <&lcd_rst_gpio>;
backlight = <&backlight_mipi>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
39 00 04 B9 F1 12 83
39 00 1C BA 33 81 05 F9 0E 0E 20 00 00 00 00 00 00 00 44 25 00 91 0A 00 00 02 4F D1 00 00 37
39 00 02 B8 26
39 00 04 BF 02 10 00
39 00 0B B3 07 0B 1E 1E 03 FF 00 00 00 00
39 00 0A C0 73 73 50 50 00 00 08 70 00
39 00 02 BC 46
39 00 02 CC 0B
39 00 02 B4 80
39 00 04 B2 C8 12 A0
39 00 0F E3 07 07 0B 0B 03 0B 00 00 00 00 FF 80 C0 10
39 00 0D C1 53 00 32 32 77 F1 FF FF CC CC 77 77
39 00 03 B5 09 09
39 00 03 B6 B7 B7
39 00 40 E9 C2 10 0A 00 00 81 80 12 30 00 37 86 81 80 37 18 00 05 00 00 00 00 00 05 00 00 00 00 F8 BA 46 02 08 28 88 88 88 88 88 F8 BA 57 13 18 38 88 88 88 88 88 00 00 00 03 00 00 00 00 00 00 00 00 00
39 00 3E EA 07 12 01 01 02 3C 00 00 00 00 00 00 8F BA 31 75 38 18 88 88 88 88 88 8F BA 20 64 28 08 88 88 88 88 88 23 10 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
39 00 23 E0 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19 00 02 04 1A 23 3F 2C 28 05 09 0B 10 11 10 12 12 19
05 ff 01 11 ////Sleep Out
05 32 01 29 ///Display On
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings1: display-timings {
native-mode = <&dsi0_timing0>;
dsi0_timing0: timing0 {
clock-frequency = <50000000>;
hactive = <720>;
vactive = <1280>;
hback-porch = <40>;
hfront-porch = <40>;
vback-porch = <11>;
vfront-porch = <16>;
hsync-len = <10>;
vsync-len = <3>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi: endpoint {
remote-endpoint = <&dsi_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1{
reg = <1>;
dsi_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi>;
};
};
};
};
&dsi1 {
status = "okay";
rockchip,lane-rate = <444000>;
dsi1_panel: panel@0 {
status = "okay";
compatible = "simple-panel-dsi";
reg = <0>;
//enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
/*note: dsi0 uses the same pin,so dsi can not be configed*/
/delete-property/ reset-gpios;
/delete-property/ pinctrl-names;
/delete-property/ pinctrl-0;
backlight = <&backlight_lvds>;
init-delay-ms = <60>;
reset-delay-ms = <60>;
enable-delay-ms = <60>;
prepare-delay-ms = <60>;
unprepare-delay-ms = <60>;
disable-delay-ms = <60>;
dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>;
dsi,format = <MIPI_DSI_FMT_RGB888>;
dsi,lanes = <4>;
panel-init-sequence = [
23 08 02 27 AA
23 08 02 48 02
23 08 02 B6 20
23 08 02 01 00
23 08 02 02 58
23 08 02 03 24
23 08 02 04 50
23 08 02 05 12
23 08 02 06 50
23 08 02 07 00
23 08 02 08 18
23 08 02 09 04
23 08 02 0A 18
23 08 02 0B 82
23 08 02 0C 1F
23 08 02 0D 01
23 08 02 0E 80
23 08 02 0F 20
23 08 02 10 20
23 08 02 11 03
23 08 02 12 1B
23 08 02 13 07
23 08 02 14 34
23 08 02 15 20
23 08 02 16 10
23 08 02 17 00
23 08 02 18 01
23 08 02 19 23
23 08 02 1A 40
23 08 02 1B 00
23 08 02 1E 46
23 08 02 51 30
23 08 02 1F 10
23 08 02 2A 01
05 78 01 11 //sleep out
05 20 01 29 //display on
];
panel-exit-sequence = [
05 78 01 28
05 78 01 10
];
disp_timings0: display-timings {
native-mode = <&dsi1_timing1>;
dsi1_timing1: timing1 {
clock-frequency = <50000000>;
hactive = <1024>;
vactive = <600>;
hback-porch = <80>;
hfront-porch = <80>;
vback-porch = <24>;
vfront-porch = <24>;
hsync-len = <18>;
vsync-len = <4>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
panel_in_dsi1: endpoint {
remote-endpoint = <&dsi1_out_panel>;
};
};
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi1_out_panel: endpoint {
remote-endpoint = <&panel_in_dsi1>;
};
};
};
};
/*dis0--->dcphy0--->vp2*/
&vp2_out_dsi0{
remote-endpoint = <&dsi0_in_vp2>;
};
&dsi0_in_vp2 {
status = "okay";
};
&dsi0_in_vp3 {
status = "disabled";
};
&mipi_dcphy0 {
status = "okay";
};
&route_dsi0 {
status = "okay";
connect = <&vp2_out_dsi0>;
};
/*dis1--->dcphy1--->vp3*/
&dsi1_in_vp2 {
status = "disabled";
};
&vp3_out_dsi1 {
remote-endpoint = <&dsi1_in_vp3>;
};
&dsi1_in_vp3 {
status = "okay";
};
&mipi_dcphy1 {
status = "okay";
};
&route_dsi1 {
status = "okay";
connect = <&vp3_out_dsi1>;
};
/**** hdmi0 ****/
&hdmi0 {
status = "okay";
};
&hdmi0_in_vp0 {
status = "okay";
};
&hdmi0_sound {
status = "okay";
};
&i2s5_8ch {
status = "okay";
};
&hdptxphy_hdmi0 {
status = "okay";
};
&route_hdmi0 {
status = "okay";
connect = <&vp0_out_hdmi0>;
};
/**** hdmi1 ****/
&hdmi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&hdmim2_tx1_cec &hdmim0_tx1_hpd &hdmim2_tx1_scl &hdmim2_tx1_sda>;
};
&hdmi1_in_vp1 {
status = "okay";
};
&hdmi1_sound {
status = "okay";
};
&i2s6_8ch {
status = "okay";
};
&hdptxphy_hdmi1 {
status = "okay";
};
&route_hdmi1 {
status = "okay";
connect = <&vp1_out_hdmi1>;
};

View File

@@ -0,0 +1,165 @@
/ {
panel-edp0 {
compatible = "simple-panel";
backlight = <&backlight_edp>;
power-supply = <&vcc3v3_lcd>;
init-delay-ms = <120>;
prepare-delay-ms = <120>;
enable-delay-ms = <120>;
unprepare-delay-ms = <120>;
disable-delay-ms = <120>;
width-mm = <129>;
height-mm = <171>;
panel-timing {
clock-frequency = <150000000>;
hactive = <1920>;
vactive = <1080>;
hfront-porch = <160>;
hsync-len = <32>;
hback-porch = <160>;
vfront-porch = <3>;
vsync-len = <5>;
vback-porch = <23>;
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
};
port {
panel_in_edp0: endpoint {
remote-endpoint = <&edp0_out_panel>;
};
};
};
};
&vcc3v3_lcd{
compatible = "regulator-fixed";
regulator-name = "vcc3v3_lcd";
regulator-boot-on;
enable-active-high;
vin-supply = <&vcc_3v3_s0>;
};
&backlight_edp {
compatible = "pwm-backlight";
//pwms = <&pwm0 0 25000 1>;
status = "okay";
brightness-levels = <
80 82 84 86 88 90 92 94
100 100 100 100 100 100 100 100
110 110 110 110 110 110 110 110
120 120 120 120 120 120 120 120
130 130 130 130 130 130 130 130
140 150 150 150 150 150 150 150
170 170 170 170 170 170 170 170
170 170 170 170 170 170 170 170
180 180 180 180 180 180 180 180
180 180 180 180 180 180 180 180
190 190 190 190 190 190 190 190
190 190 190 190 190 190 190 190
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
200 200 200 200 200 200 200 200
210 210 210 210 210 210 210 210
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
220 220 220 220 220 220 220 220
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
230 230 230 230 230 230 230 230
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 240 240 240 240 240 240 240
240 241 242 243 244 245 246 247
248 249 250 251 252 253 254 255
>;
default-brightness-level = <200>;
};
&edp0 {
force-hpd;
status = "okay";
ports {
port@1 {
reg = <1>;
edp0_out_panel: endpoint {
remote-endpoint = <&panel_in_edp0>;
};
};
};
};
&route_edp0 {
status = "okay";
connect = <&vp0_out_edp0>;
};
&edp0_in_vp0 {
status = "okay";
};
&edp0_in_vp1 {
status = "disabled";
};
&edp0_in_vp2 {
status = "disabled";
};
&hdptxphy0 {
status = "okay";
};
&goodix_ts {
status = "okay";
compatible = "goodix,gt9xx";
reg = <0x5d>;
gtp_resolution_x = <1920>;
gtp_resolution_y = <1080>;
gtp_int_tarigger = <1>;
gtp_change_x2y = <0>;
gtp_overturn_x = <0>;
gtp_overturn_y = <0>;
gtp_send_cfg = <1>;
gtp_touch_wakeup = <1>;
goodix,cfg-group0 = [
43 80 07 38 04 0A 3D 00 01 06
28 08 55 32 03 05 00 00 00 00
00 00 06 18 1A 1E 14 95 35 FF
2D 2F A6 0F 00 00 00 01 03 2C
00 00 00 00 00 00 00 00 00 00
00 2D 5A 94 D0 42 00 08 00 04
79 30 00 6E 37 00 65 3F 00 5D
49 00 57 54 00 57 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00
00 00 1D 1C 1B 1A 19 18 17 16
15 14 13 12 11 10 0F 0E 0D 0C
0B 0A 09 08 07 06 05 04 03 02
01 00 00 01 02 03 04 05 06 07
08 09 0A 0B 0C 0D 0E 0F 10 11
12 13 14 15 16 17 18 19 1B 1C
1D 1E 1F 20 21 22 23 24 25 26
27 28 29 2A 86 01
];
};

View File

@@ -0,0 +1,16 @@
&dp0 {
status = "okay";
};
&dp0_in_vp2 {
status = "okay";
};
&dp0_sound{
status = "okay";
};
&spdif_tx2 {
status = "okay";
};

View File

@@ -0,0 +1,12 @@
#include "rp-lcd-edp0-13.3-15.6-1920-1080.dtsi"
#include "rp-lcd-edp1-13.3-15.6-1920-1080.dtsi"
#include "rp-lcd-typec-dp0.dtsi" // usb dp0, must be enable rp-usb-typec.dtsi
&route_edp0 {
status = "disabled";
};
&route_edp1 {
status = "disabled";
};

View File

@@ -0,0 +1,12 @@
#include "rp-lcd-edp0-13.3-15.6-1920-1080.dtsi"
#include "rp-lcd-edp1-13.3-15.6-1920-1080.dtsi"
#include "rp-lcd-typec-dp0.dtsi" // usb dp0, must be enable rp-usb-typec.dtsi
&route_edp0 {
status = "okay";
};
&route_edp1 {
status = "okay";
};

45
rk3588/rp-pcie-5g.dtsi Executable file
View File

@@ -0,0 +1,45 @@
/{
vdd_5G: vdd-5G{
compatible = "regulator-fixed";
regulator-name = "vdd_5G";
enable-active-high;
regulator-boot-on;
regulator-always-on;
gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
};
};
&combphy2_psu {
status = "okay";
};
&pcie2x1l1 {
phys = <&combphy2_psu PHY_TYPE_PCIE>;
reset-gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
//modem-pwr-gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
modem-en-gpios = <&gpio2 RK_PB6 GPIO_ACTIVE_HIGH>;
pcie-waken-gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&modem_wakup>,<&modem_rst>,<&modem_pwr>,<&modem_en>;
vpcie3v3-supply = <&vcc3v3_pcie30>;
status = "okay";
};
&pinctrl {
modem {
modem_pwr: modem-pwr {
rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
};
modem_en: modem-en {
rockchip,pins = <2 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>;
};
modem_rst: modem-rst {
rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
};
modem_wakup: modem-wakup {
rockchip,pins = <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};

12
rk3588/rp-pcie-m2.dtsi Executable file
View File

@@ -0,0 +1,12 @@
&combphy2_psu {
status = "okay";
};
&pcie2x1l1 {
phys = <&combphy2_psu PHY_TYPE_PCIE>;
reset-gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_pcie30>;
status = "okay";
};

View File

@@ -0,0 +1,35 @@
/ {
pcie20_avdd0v85: pcie20-avdd0v85 {
compatible = "regulator-fixed";
regulator-name = "pcie20_avdd0v85";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <850000>;
vin-supply = <&vdd_0v85_s0>;
};
pcie20_avdd1v8: pcie20-avdd1v8 {
compatible = "regulator-fixed";
regulator-name = "pcie20_avdd1v8";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&avcc_1v8_s0>;
};
vcc3v3_pcie30: vcc3v3-pcie30 {
compatible = "regulator-fixed";
regulator-name = "vcc3v3_pcie30";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
startup-delay-us = <5000>;
vin-supply = <&vcc12v_dcin>;
};
};

View File

@@ -0,0 +1,23 @@
/ {
combophy_avdd0v85: combophy-avdd0v85 {
compatible = "regulator-fixed";
regulator-name = "combophy_avdd0v85";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <850000>;
regulator-max-microvolt = <850000>;
vin-supply = <&vdd_0v85_s0>;
};
combophy_avdd1v8: combophy-avdd1v8 {
compatible = "regulator-fixed";
regulator-name = "combophy_avdd1v8";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&avcc_1v8_s0>;
};
};

33
rk3588/rp-pcie3.dtsi Executable file
View File

@@ -0,0 +1,33 @@
/ {
pcie30_avdd1v8: pcie30-avdd1v8 {
compatible = "regulator-fixed";
regulator-name = "pcie30_avdd1v8";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
vin-supply = <&avcc_1v8_s0>;
};
pcie30_avdd0v75: pcie30-avdd0v75 {
compatible = "regulator-fixed";
regulator-name = "pcie30_avdd0v75";
regulator-boot-on;
regulator-always-on;
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <750000>;
vin-supply = <&avdd_0v75_s0>;
};
};
&pcie30phy {
status = "okay";
};
&pcie3x4 {
reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_pcie30>;
status = "okay";
};

148
rk3588/rp-rk3588-board.dtsi Executable file
View File

@@ -0,0 +1,148 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd.
*
*/
/dts-v1/;
/* merage dtsi in rk3588-evb4-lp4-v10-linux.dts */
#include "dt-bindings/usb/pd.h"
#include "../rk3588j.dtsi"
#include "../rk3588-evb.dtsi"
#include "../rk3588-rk806-single.dtsi"
#include "../rk3588-linux.dtsi"
/ {
model = "Rockchip RK3588 EVB4 LP4 V10 Board";
compatible = "rockchip,rk3588-evb4-lp4-v10", "rockchip,rk3588";
};
&rkcif {
status = "okay";
};
&rkcif_mmu {
status = "okay";
};
&wdt {
status = "okay";
};
&dsi0 {
status = "disabled";
/delete-node/ panel@0;
ports {
/delete-node/ port@1;
};
};
&dsi1 {
status = "disabled";
/delete-node/ panel@0;
ports {
/delete-node/ port@1;
};
};
&i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c0m2_xfer>;
vdd_cpu_big0_s0: vdd_cpu_big0_mem_s0: rk8602@42 {
compatible = "rockchip,rk8602";
reg = <0x42>;
vin-supply = <&vcc5v0_sys>;
vsel-gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
regulator-compatible = "rk860x-reg";
regulator-name = "vdd_cpu_big0_s0";
regulator-min-microvolt = <550000>;
regulator-max-microvolt = <1050000>;
regulator-ramp-delay = <2300>;
rockchip,suspend-voltage-selector = <1>;
regulator-boot-on;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdd_cpu_big1_s0: vdd_cpu_big1_mem_s0: rk8603@43 {
compatible = "rockchip,rk8603";
reg = <0x43>;
vin-supply = <&vcc5v0_sys>;
vsel-gpios = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>;
regulator-compatible = "rk860x-reg";
regulator-name = "vdd_cpu_big1_s0";
regulator-min-microvolt = <550000>;
regulator-max-microvolt = <1050000>;
regulator-ramp-delay = <2300>;
rockchip,suspend-voltage-selector = <1>;
regulator-boot-on;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
&i2c1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c1m2_xfer>;
vdd_npu_s0: vdd_npu_mem_s0: rk8602@42 {
compatible = "rockchip,rk8602";
reg = <0x42>;
vin-supply = <&vcc5v0_sys>;
vsel-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
regulator-compatible = "rk860x-reg";
regulator-name = "vdd_npu_s0";
regulator-min-microvolt = <550000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <2300>;
rockchip,suspend-voltage-selector = <1>;
regulator-boot-on;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
&fiq_debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
rockchip,baudrate = <115200>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 423 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "okay";
};
&sdmmc {
max-frequency = <200000000>;
no-sdio;
no-mmc;
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
disable-wp;
sd-uhs-sdr104;
vmmc-supply = <&vcc_3v3_s0>;
vqmmc-supply = <&vccio_sd_s0>;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>;
status = "okay";
};
/delete-node/ &backlight;

240
rk3588/rp-rk3588.dts Executable file
View File

@@ -0,0 +1,240 @@
/* board base */
//#include "../rk3588-evb4-lp4-v10-linux.dts"
#include "rp-rk3588-board.dtsi"
#include "rp-tp-i2c6-gt911.dtsi"
#include "rd-rk3588-lcd-gpio.dtsi"
/* usb */
#include "rp-usb-typec-rk3588.dtsi"
#include "rp-usb-host.dtsi"
/* ethernet */
#include "rp-eth-pcie2gmac-rk3588.dtsi"
#include "rp-eth-gmac1.dtsi"
/* pcie */
#include "rp-pcie-power-rk3588.dtsi"
#include "rp-pcie3.dtsi" //need comment when use board of make it youself,and remove the pcie function
#include "rp-pcie-5g.dtsi"
/* audio */
#include "rp-audio-rt5640.dtsi"
/* wifi/bt */
#include "rp-wifi-bt-vs2275p-rk3588.dtsi"
/* hdmi rx */
#include "rp-hdmirx.dtsi"
/* mipi camera */
/* use dcphy0 camera , need to disabled rp-hdmirx.dtsi*/
/***********all camera config********/
//#include "rp-camera-dcphy0.dtsi"
#include "rp-camera-dcphy1.dtsi"
#include "rp-camera-dphy0.dtsi"
#include "rp-camera-dphy1.dtsi"
//#include "rp-camera-dcphy0-ov13855.dtsi"
//#include "rp-camera-dcphy1-ov13855.dtsi"
//#include "rp-camera-dphy0-ov13855.dtsi"
//#include "rp-camera-dphy1-ov13855.dtsi"
//#include "rp-camera-dcphy0-gc8034.dtsi"
//#include "rp-camera-dcphy1-gc8034.dtsi"
//#include "rp-camera-dphy0-gc8034.dtsi"
//#include "rp-camera-dphy1-gc8034.dtsi"
//#include "rp-camera-dcphy0-imx415.dtsi"
//#include "rp-camera-dcphy1-imx415.dtsi"
//#include "rp-camera-dphy0-imx415.dtsi"
//#include "rp-camera-dphy1-imx415.dtsi"
/**********4 channel must be disabled hdmi in*********/
//#include "rp-camera-dcphy1-gc8034.dtsi"
//#include "rp-camera-dphy1-gc8034.dtsi"
//#include "rp-camera-dcphy0-imx415.dtsi"
//#include "rp-camera-dphy0-imx415.dtsi"
/******************************************/
//#include "rp-lcd-hdmi0.dtsi" //batch ignore
//#include "rp-lcd-hdmi1.dtsi" //batch ignore
//#include "rp-lcd-typec-dp0.dtsi" //usb edp0,must be enable rp-usb-typec.dtsi, batch ignore
#include "rp-lcd-multi-hdmi0-hdmi1-dp0.dtsi"
/* lcd */
#include "rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi"
//#include "rp-lcd-mipi0-7-720-1280.dtsi"
//#include "rp-lcd-mipi0-8-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-8-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-10-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-1920-1200-jc.dtsi"
/ {
model = "rp-rk3588";
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
dma_trans: dma-trans@3c000000 {
reg = <0x0 0x3c000000 0x0 0x04000000>;
};
};
vcc_1v1_nldo_s3: 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>;
};
fan_gpio_control {
compatible = "fan_gpio_control";
gpio-pin = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
thermal-zone = "soc-thermal";
threshold-temp = <60000>; //60C
running-time = <10000>; //10s
status = "okay";
};
rp_power{
status = "okay";
compatible = "rp_power";
rp_not_deep_sleep = <1>;
//#define GPIO_FUNCTION_OUTPUT 0
//#define GPIO_FUNCTION_INPUT 1
//#define GPIO_FUNCTION_IRQ 2
//#define GPIO_FUNCTION_FLASH 3
//#define GPIO_FUNCTION_OUTPUT_CTRL 4
//fan {
// gpio_num = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
// gpio_function = <4>;
//};
led {
gpio_num = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
gpio_function = <3>;
};
usb-host-power {
gpio_num = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-hub-reset {
gpio_num = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
};
rp_gpio{
status = "okay";
compatible = "rp_gpio";
gpio1d2 {
gpio_num = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio3c6 {
gpio_num = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
};
};
&uart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart0m0_xfer>;
};
&uart6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart6m0_xfer>;
};
&uart7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart7m1_xfer>;
};
&uart8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart8m0_xfer>;
};
&can0 {
assigned-clocks = <&cru CLK_CAN0>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can0m0_pins>;
};
&can1 {
assigned-clocks = <&cru CLK_CAN1>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can1m1_pins>;
};
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m1_xfer>;
hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;
clock-frequency = <32768>;
clock-output-names = "hym8563";
//pinctrl-names = "default";
//pinctrl-0 = <&hym8563_int>;
//interrupt-parent = <&gpio0>;
//interrupts = <RK_PD4 IRQ_TYPE_LEVEL_LOW>;
//wakeup-source;
};
};
&sdmmc {
status = "okay";
//vmmc-supply = <&vccio_sd_s0>;
};
&fiq_debugger {
rockchip,baudrate = <115200>;
};
&display_subsystem {
clocks = <&hdptxphy_hdmi_clk0>, <&hdptxphy_hdmi_clk1>;
clock-names = "hdmi0_phy_pll", "hdmi1_phy_pll";
};
&hdptxphy_hdmi_clk0 {
status = "okay";
};
&hdptxphy_hdmi_clk1 {
status = "okay";
};

119
rk3588/rp-rk3588s-board.dtsi Executable file
View File

@@ -0,0 +1,119 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2021 Rockchip Electronics Co., Ltd.
*
*/
/dts-v1/;
/* merage dtsi in rk3588s-evb4-lp4-v10-linux.dts */
#include "dt-bindings/usb/pd.h"
#include "../rk3588s.dtsi"
#include "../rk3588s-evb.dtsi"
#include "../rk3588-rk806-single.dtsi"
#include "../rk3588-linux.dtsi"
/ {
model = "Rockchip RK3588S EVB4 LP4X V10 Board";
compatible = "rockchip,rk3588s-evb4-lp4x-v10", "rockchip,rk3588";
};
&i2c0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c0m2_xfer>;
vdd_cpu_big0_s0: vdd_cpu_big0_mem_s0: rk8602@42 {
compatible = "rockchip,rk8602";
reg = <0x42>;
vin-supply = <&vcc5v0_sys>;
vsel-gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
regulator-compatible = "rk860x-reg";
regulator-name = "vdd_cpu_big0_s0";
regulator-min-microvolt = <550000>;
regulator-max-microvolt = <1050000>;
regulator-ramp-delay = <2300>;
rockchip,suspend-voltage-selector = <1>;
regulator-boot-on;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdd_cpu_big1_s0: vdd_cpu_big1_mem_s0: rk8603@43 {
compatible = "rockchip,rk8603";
reg = <0x43>;
vin-supply = <&vcc5v0_sys>;
vsel-gpios = <&gpio0 RK_PD6 GPIO_ACTIVE_HIGH>;
regulator-compatible = "rk860x-reg";
regulator-name = "vdd_cpu_big1_s0";
regulator-min-microvolt = <550000>;
regulator-max-microvolt = <1050000>;
regulator-ramp-delay = <2300>;
rockchip,suspend-voltage-selector = <1>;
regulator-boot-on;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
&i2c6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c6m0_xfer>;
vdd_npu_s0: vdd_npu_mem_s0: rk8602@42 {
compatible = "rockchip,rk8602";
reg = <0x42>;
vin-supply = <&vcc5v0_sys>;
vsel-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>;
regulator-compatible = "rk860x-reg";
regulator-name = "vdd_npu_s0";
regulator-min-microvolt = <550000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <2300>;
rockchip,suspend-voltage-selector = <1>;
regulator-boot-on;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
};
&fiq_debugger {
compatible = "rockchip,fiq-debugger";
rockchip,serial-id = <2>;
rockchip,wake-irq = <0>;
/* If enable uart uses irq instead of fiq */
rockchip,irq-mode-enable = <1>;
rockchip,baudrate = <115200>; /* Only 115200 and 1500000 */
interrupts = <GIC_SPI 423 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&uart2m0_xfer>;
status = "okay";
};
&sdmmc {
max-frequency = <200000000>;
no-sdio;
no-mmc;
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
disable-wp;
sd-uhs-sdr104;
vmmc-supply = <&vcc_3v3_s0>;
vqmmc-supply = <&vccio_sd_s0>;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc_bus4 &sdmmc_clk &sdmmc_cmd &sdmmc_det>;
status = "okay";
};

76
rk3588/rp-rk3588s-lcd-gpio.dtsi Executable file
View File

@@ -0,0 +1,76 @@
/ {
vcc3v3_lcd_n: vcc3v3-lcd0-n {
gpio = <&gpio1 RK_PB1 GPIO_ACTIVE_HIGH>;
};
vcc3v3_lcd: vcc3v3-lcd {
gpio = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
};
backlight_mipi: backlight {
pwms = <&pwm12 0 25000 0>;
};
backlight_edp: backlight-edp {
pwms = <&pwm8 0 25000 1>;
};
backlight_lvds: backlight-lvds {
pwms = <&pwm8 0 25000 1>;
};
};
&pwm8 {
status = "okay";
pinctrl-0 = <&pwm8m0_pins>;
};
&pwm12 {
pinctrl-0 = <&pwm12m1_pins>;
status = "okay";
};
&dsi0 {
status = "disabled";
dsi0_panel: panel@0 {
status = "disabled";
reset-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&lcd_rst_gpio>;
};
};
&dsi1 {
status = "disabled";
dsi1_panel: panel@0 {
status = "disabled";
enable-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&lcd_rst_gpio>;
};
};
&pinctrl {
lcd {
lcd_rst_gpio: lcd-rst-gpio {
rockchip,pins = <1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
goodix {
goodix_irq: goodix-irq {
rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&goodix_ts {
goodix_rst_gpio = <&gpio1 RK_PA6 GPIO_ACTIVE_HIGH>;
goodix_irq_gpio = <&gpio1 RK_PA7 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&goodix_irq>;
};

283
rk3588/rp-rk3588s.dts Executable file
View File

@@ -0,0 +1,283 @@
/* board base */
//#include "../rk3588s-evb4-lp4x-v10-linux.dts"
#include "rp-rk3588s-board.dtsi"
#include "rp-tp-i2c4-gt911.dtsi"
#include "rp-rk3588s-lcd-gpio.dtsi"
#include "rpdzkj_config.dtsi"
/* usb */
#include "rp-usb-typec-rk3588s.dtsi"
#include "rp-usb-host.dtsi"
/* ethernet */
#include "rp-eth-pcie2gmac-rk3588s.dtsi"
/* pcie */
#include "rp-pcie-power-rk3588s.dtsi"
/* audio */
#include "rp-audio-rt5640.dtsi"
/* wifi/bt */
#include "rp-wifi-bt-ap6275p-rk3588s.dtsi"
/* camera */
#include "rp-camera-mipi-xs9922b.dtsi"
#include "rp-lcd-typec-dp0.dtsi" //usb edp0,must be enable rp-usb-typec.dtsi, batch ignore
#include "rp-lcd-hdmi0.dtsi"
/* signel lcd */
#include "rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi"
//#include "rp-lcd-mipi0-7-720-1280.dtsi"
//#include "rp-lcd-mipi0-8-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-8-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-10-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-1920-1200-jc.dtsi"
//#include "rp-lcd-rk3588s-edp0-13.3-15.6-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-21-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-10.1-1024-600.dtsi"
/* quadplex lcd */
//#include "rp-lcd-quadplex-mipi0-5-720-1280-v2-boxTP-mipi1-gm8775-lvds-10.1-1024-600-edp0-hdmi1.dtsi"
/ {
model = "rp-rk3588s";
vcc_1v1_nldo_s3: 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>;
};
fan_gpio_control {
compatible = "fan_gpio_control";
gpio-pin = <&gpio3 RK_PB4 GPIO_ACTIVE_HIGH>;
thermal-zone = "soc-thermal";
threshold-temp = <60000>; //60C
running-time = <10000>; //10s
status = "okay";
};
rp_power{
status = "okay";
compatible = "rp_power";
rp_not_deep_sleep = <1>;
//#define GPIO_FUNCTION_OUTPUT 0
//#define GPIO_FUNCTION_INPUT 1
//#define GPIO_FUNCTION_IRQ 2
//#define GPIO_FUNCTION_FLASH 3
//#define GPIO_FUNCTION_OUTPUT_CTRL 4
vdd-3v {
gpio_num = <&gpio3 RK_PB0 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
//fan {
// gpio_num = <&gpio3 RK_PB4 GPIO_ACTIVE_HIGH>;
// gpio_function = <4>;
//};
led {
gpio_num = <&gpio3 RK_PB1 GPIO_ACTIVE_HIGH>;
gpio_function = <3>;
};
usb-host-power1 {
gpio_num = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-host-power2 {
gpio_num = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-host-power3 {
gpio_num = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-host-power4 {
gpio_num = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
usb-hub-reset {
gpio_num = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
gpio_function = <4>;
};
sd-pwren {
gpio_num = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
pwren-4g {
gpio_num = <&gpio3 RK_PA5 GPIO_ACTIVE_HIGH>;
gpio_function = <4>;
};
};
rp_gpio{
status = "okay";
compatible = "rp_gpio";
gpio0d3 {
gpio_num = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio0b0 {
gpio_num = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio1c1 {
gpio_num = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio1c4 {
gpio_num = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio1c6 {
gpio_num = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio1d2 {
gpio_num = <&gpio1 RK_PD2 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
gpio1d3 {
gpio_num = <&gpio1 RK_PD3 GPIO_ACTIVE_HIGH>;
gpio_function = <0>;
};
};
};
&uart0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart0m2_xfer>;
};
&uart1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart1m1_xfer>;
};
&uart3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart3m2_xfer>;
};
&uart4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart4m2_xfer>;
};
&uart5 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart5m1_xfer>;
};
&uart6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart6m1_xfer>;
};
&uart7 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart7m2_xfer>;
};
&uart8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart8m1_xfer>;
};
&fiq_debugger {
rockchip,baudrate = <115200>;
};
&can0 {
assigned-clocks = <&cru CLK_CAN0>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can0m0_pins>;
};
&can1 {
assigned-clocks = <&cru CLK_CAN1>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can1m1_pins>;
};
&can2 {
assigned-clocks = <&cru CLK_CAN2>;
assigned-clock-rates = <200000000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&can2m1_pins>;
};
&sdmmc {
status = "okay";
/delete-property/ vmmc-supply;
};
/*
&rk_headset {
headset_gpio = <&gpio1 RK_PC0 GPIO_ACTIVE_HIGH>;
};
*/
&i2c8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c8m2_xfer>;
hym8563: hym8563@51 {
compatible = "haoyu,hym8563";
reg = <0x51>;
#clock-cells = <0>;
clock-frequency = <32768>;
clock-output-names = "hym8563";
};
};
&display_subsystem {
clocks = <&hdptxphy_hdmi_clk0>, <&hdptxphy_hdmi_clk1>;
clock-names = "hdmi0_phy_pll", "hdmi1_phy_pll";
};
&hdptxphy_hdmi_clk0 {
status = "okay";
};
&hdptxphy_hdmi_clk1 {
status = "okay";
};

13
rk3588/rp-tp-i2c4-gt911.dtsi Executable file
View File

@@ -0,0 +1,13 @@
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m3_xfer>;
goodix_ts:goodix_ts@5d {
status = "okay";
compatible = "goodix,gt9xx";
reg = <0x5d>;
};
};

12
rk3588/rp-tp-i2c6-gt911.dtsi Executable file
View File

@@ -0,0 +1,12 @@
&i2c6 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c6m0_xfer>;
goodix_ts:goodix_ts@5d {
status = "okay";
compatible = "goodix,gt9xx";
reg = <0x5d>;
};
};

48
rk3588/rp-usb-host.dtsi Executable file
View File

@@ -0,0 +1,48 @@
&u2phy2 {
status = "okay";
};
&u2phy3 {
status = "okay";
};
/*
&u2phy1_otg {
status = "disabled";
};
*/
&u2phy2_host {
status = "okay";
};
&u2phy3_host {
status = "okay";
};
&usb_host0_ehci {
status = "okay";
};
&usb_host0_ohci {
status = "okay";
};
&usb_host1_ehci {
status = "okay";
};
&usb_host1_ohci {
status = "okay";
};
&usbhost3_0 {
status = "disabled";
};
&usbhost_dwc3_0 {
status = "disabled";
};

View File

@@ -0,0 +1,9 @@
&usbdrd_dwc3_0 {
dr_mode = "otg";
extcon=<&u2phy0>;
status="okay";
};
&u2phy0 {
status = "okay";
};

137
rk3588/rp-usb-typec-rk3588.dtsi Executable file
View File

@@ -0,0 +1,137 @@
/ {
vbus5v0_typec: vbus5v0-typec {
compatible = "regulator-fixed";
regulator-name = "vbus5v0_typec";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc5v0_usb>;
pinctrl-names = "default";
pinctrl-0 = <&typec5v_pwren>;
};
};
&i2c4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c4m1_xfer>;
usbc0: fusb302@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&usbc0_int>;
vbus-supply = <&vbus5v0_typec>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usbc0_role_sw: endpoint@0 {
remote-endpoint = <&dwc3_0_role_switch>;
};
};
};
usb_con: connector {
compatible = "usb-c-connector";
label = "USB-C";
data-role = "dual";
power-role = "dual";
try-power-role = "sink";
op-sink-microwatt = <1000000>;
sink-pdos =
<PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
source-pdos =
<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
altmodes {
#address-cells = <1>;
#size-cells = <0>;
altmode@0 {
reg = <0>;
svid = <0xff01>;
vdo = <0xffffffff>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usbc0_orien_sw: endpoint {
remote-endpoint = <&usbdp_phy0_orientation_switch>;
};
};
port@1 {
reg = <1>;
dp_altmode_mux: endpoint {
remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
};
};
};
};
};
};
&usbdp_phy0 {
orientation-switch;
svid = <0xff01>;
sbu1-dc-gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
sbu2-dc-gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_HIGH>;
port {
#address-cells = <1>;
#size-cells = <0>;
usbdp_phy0_orientation_switch: endpoint@0 {
reg = <0>;
remote-endpoint = <&usbc0_orien_sw>;
};
usbdp_phy0_dp_altmode_mux: endpoint@1 {
reg = <1>;
remote-endpoint = <&dp_altmode_mux>;
};
};
};
&usbdrd_dwc3_0 {
dr_mode = "otg";
usb-role-switch;
port {
#address-cells = <1>;
#size-cells = <0>;
dwc3_0_role_switch: endpoint@0 {
reg = <0>;
remote-endpoint = <&usbc0_role_sw>;
};
};
};
&pinctrl {
usb-typec {
usbc0_int: usbc0-int {
rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
};
typec5v_pwren: typec5v-pwren {
rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};

137
rk3588/rp-usb-typec-rk3588s.dtsi Executable file
View File

@@ -0,0 +1,137 @@
/ {
vbus5v0_typec: vbus5v0-typec {
compatible = "regulator-fixed";
regulator-name = "vbus5v0_typec";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
enable-active-high;
gpio = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>;
vin-supply = <&vcc5v0_usb>;
pinctrl-names = "default";
pinctrl-0 = <&typec5v_pwren>;
};
};
&i2c8 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&i2c8m2_xfer>;
usbc0: fusb302@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>;
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usbc0_role_sw: endpoint@0 {
remote-endpoint = <&dwc3_0_role_switch>;
};
};
};
usb_con: connector {
compatible = "usb-c-connector";
label = "USB-C";
data-role = "dual";
power-role = "dual";
try-power-role = "sink";
op-sink-microwatt = <1000000>;
sink-pdos =
<PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
source-pdos =
<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
altmodes {
#address-cells = <1>;
#size-cells = <0>;
altmode@0 {
reg = <0>;
svid = <0xff01>;
vdo = <0xffffffff>;
};
};
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
usbc0_orien_sw: endpoint {
remote-endpoint = <&usbdp_phy0_orientation_switch>;
};
};
port@1 {
reg = <1>;
dp_altmode_mux: endpoint {
remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
};
};
};
};
};
};
&usbdp_phy0 {
orientation-switch;
svid = <0xff01>;
sbu1-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
sbu2-dc-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
port {
#address-cells = <1>;
#size-cells = <0>;
usbdp_phy0_orientation_switch: endpoint@0 {
reg = <0>;
remote-endpoint = <&usbc0_orien_sw>;
};
usbdp_phy0_dp_altmode_mux: endpoint@1 {
reg = <1>;
remote-endpoint = <&dp_altmode_mux>;
};
};
};
&usbdrd_dwc3_0 {
dr_mode = "otg";
usb-role-switch;
port {
#address-cells = <1>;
#size-cells = <0>;
dwc3_0_role_switch: endpoint@0 {
reg = <0>;
remote-endpoint = <&usbc0_role_sw>;
};
};
};
&pinctrl {
usb-typec {
usbc0_int: usbc0-int {
rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>;
};
typec5v_pwren: typec5v-pwren {
rockchip,pins = <3 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};

View File

@@ -0,0 +1,66 @@
/ {
wireless_bluetooth: wireless-bluetooth {
compatible = "bluetooth-platdata";
clocks = <&hym8563>;
clock-names = "ext_clock";
uart_rts_gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart9m2_rtsn>, <&bt_gpio>;
pinctrl-1 = <&uart9_gpios>;
BT,reset_gpio = <&gpio3 RK_PC1 GPIO_ACTIVE_HIGH>;
BT,wake_gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless_wlan: wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "ap6275p";
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_irq>, <&wifi_poweren_gpio>;
WIFI,host_wake_irq = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
WIFI,poweren_gpio = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&combphy0_ps {
status = "okay";
};
&pcie2x1l2 {
reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&uart9 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart9m2_xfer &uart9m2_ctsn>;
};
&pinctrl {
wireless-bluetooth {
uart9_gpios: uart9-gpios {
rockchip,pins = <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_gpio: bt-gpio {
rockchip,pins =
<3 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>,
<0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>,
<0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
wireless-wlan {
wifi_host_wake_irq: wifi-host-wake-irq {
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
};
wifi_poweren_gpio: wifi-poweren-gpio {
rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};

View File

@@ -0,0 +1,68 @@
/ {
wireless_bluetooth: wireless-bluetooth {
compatible = "bluetooth-platdata";
clocks = <&hym8563>;
clock-names = "ext_clock";
uart_rts_gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart9m0_rtsn>, <&bt_gpio>;
pinctrl-1 = <&uart9_gpios>;
BT,reset_gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
BT,wake_gpio = <&gpio2 RK_PB3 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless_wlan: wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "ap6275p";
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_irq>, <&wifi_poweren_gpio>;
WIFI,host_wake_irq = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
WIFI,poweren_gpio = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&combphy1_ps {
status = "okay";
};
&pcie2x1l0 {
phys = <&combphy1_ps PHY_TYPE_PCIE>;
reset-gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_pcie30>;
status = "okay";
};
&uart9 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart9m0_xfer &uart9m0_ctsn>;
};
&pinctrl {
wireless-bluetooth {
uart9_gpios: uart9-gpios {
rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_gpio: bt-gpio {
rockchip,pins =
<0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>,
<2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
<2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
wireless-wlan {
wifi_host_wake_irq: wifi-host-wake-irq {
rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
};
wifi_poweren_gpio: wifi-poweren-gpio {
rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};

View File

@@ -0,0 +1,66 @@
/ {
wireless_bluetooth: wireless-bluetooth {
compatible = "bluetooth-platdata";
clocks = <&hym8563>;
clock-names = "ext_clock";
uart_rts_gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart9m2_rtsn>, <&bt_gpio>;
pinctrl-1 = <&uart9_gpios>;
BT,reset_gpio = <&gpio3 RK_PA1 GPIO_ACTIVE_HIGH>;
BT,wake_gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless_wlan: wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "ap6275p";
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_irq>, <&wifi_poweren_gpio>;
WIFI,host_wake_irq = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
WIFI,poweren_gpio = <&gpio3 RK_PA0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
};
&combphy0_ps {
status = "okay";
};
&pcie2x1l2 {
reset-gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_HIGH>;
status = "okay";
};
&uart9 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart9m2_xfer &uart9m2_ctsn>;
};
&pinctrl {
wireless-bluetooth {
uart9_gpios: uart9-gpios {
rockchip,pins = <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_gpio: bt-gpio {
rockchip,pins =
<3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>,
<0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>,
<0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
wireless-wlan {
wifi_host_wake_irq: wifi-host-wake-irq {
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
};
wifi_poweren_gpio: wifi-poweren-gpio {
rockchip,pins = <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};

View File

@@ -0,0 +1,101 @@
/ {
wireless_bluetooth: wireless-bluetooth {
compatible = "bluetooth-platdata";
clocks = <&hym8563>;
clock-names = "ext_clock";
uart_rts_gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_LOW>;
pinctrl-names = "default", "rts_gpio";
pinctrl-0 = <&uart9m0_rtsn>, <&bt_gpio>;
pinctrl-1 = <&uart9_gpios>;
BT,reset_gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
BT,wake_gpio = <&gpio2 RK_PB3 GPIO_ACTIVE_HIGH>;
BT,wake_host_irq = <&gpio2 RK_PB0 GPIO_ACTIVE_HIGH>;
status = "okay";
};
wireless_wlan: wireless-wlan {
compatible = "wlan-platdata";
wifi_chip_type = "ap6275p";
pinctrl-names = "default";
pinctrl-0 = <&wifi_host_wake_irq>, <&wifi_poweren_gpio>;
WIFI,host_wake_irq = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
WIFI,poweren_gpio = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
status = "okay";
};
bt-sound {
compatible = "simple-audio-card";
simple-audio-card,format = "dsp_a";
simple-audio-card,bitclock-inversion = <1>;
simple-audio-card,mclk-fs = <256>;
simple-audio-card,name = "rockchip,bt";
simple-audio-card,cpu {
// sound-dai = <&sai2>;
sound-dai = <&i2s2_2ch>;
};
simple-audio-card,codec {
sound-dai = <&bt_sco 1>;
};
};
bt_sco: bt-sco {
compatible = "delta,dfbmcs320";
#sound-dai-cells = <1>;
status = "okay";
};
};
&i2s2_2ch {
status = "okay";
pinctrl-names = "default", "idle", "clk";
pinctrl-0 = <&i2s2m0_sdi
&i2s2m0_sdo>;
pinctrl-1 = <&i2s2m0_idle>;
pinctrl-2 = <&i2s2m0_lrck
&i2s2m0_sclk>;
};
&combphy1_ps {
status = "okay";
};
&pcie2x1l0 {
phys = <&combphy1_ps PHY_TYPE_PCIE>;
reset-gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>;
vpcie3v3-supply = <&vcc3v3_pcie30>;
status = "okay";
};
&uart9 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&uart9m0_xfer &uart9m0_ctsn>;
};
&pinctrl {
wireless-bluetooth {
uart9_gpios: uart9-gpios {
rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_gpio: bt-gpio {
rockchip,pins =
<0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>,
<2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
<2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
wireless-wlan {
wifi_host_wake_irq: wifi-host-wake-irq {
rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_down>;
};
wifi_poweren_gpio: wifi-poweren-gpio {
rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};

20
rk3588/rpdzkj_config.dtsi Normal file
View File

@@ -0,0 +1,20 @@
/ {
rpdzkj:rpdzkj_config {
compatible = "rp_config";
lcd_device0 = "DSI-1";
lcd_rotate0 = "0";
lcd_device1 = "HDMI-1";
lcd_rotate1 = "0";
lcd_device2 = "HDMI-2";
lcd_rotate2 = "0";
lcd_device3 = "DP-1";
lcd_rotate3 = "0";
status = "okay";
};
};