Path: blob/main/sys/contrib/device-tree/src/arm64/rockchip/px30-ringneck-haikou-lvds-9904379.dtso
96365 views
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2025 Cherry Embedded Solutions GmbH
*
* HAIKOU-LVDS-9904379 adapter for PX30 Ringneck and Haikou carrierboard.
*
* This adapter needs to be plugged in the fake PCIe connector called Video
* Connector on Haikou carrierboard.
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/pinctrl/rockchip.h>
&{/} {
backlight_lvds: backlight-lvds {
compatible = "pwm-backlight";
brightness-levels = <0 255>;
default-brightness-level = <255>;
num-interpolated-steps = <255>;
power-supply = <&vcc3v3_baseboard>;
pwms = <&pwm0 0 25000 0>;
};
panel {
compatible = "admatec,9904379", "panel-lvds";
backlight = <&backlight_lvds>;
data-mapping = "vesa-24";
height-mm = <126>;
power-supply = <&vcc3v3_baseboard>;
width-mm = <224>;
panel-timing {
clock-frequency = <49500000>;
hactive = <1024>;
hback-porch = <90>;
hfront-porch = <90>;
hsync-len = <90>;
vactive = <600>;
vback-porch = <10>;
vfront-porch = <10>;
vsync-len = <10>;
};
port {
panel_in_lvds: endpoint {
remote-endpoint = <&lvds_out_panel>;
};
};
};
};
&display_subsystem {
status = "okay";
};
&dsi_dphy {
status = "okay";
};
&i2c1 {
#address-cells = <1>;
#size-cells = <0>;
/* EEPROM and GT928 are limited to 400KHz */
clock-frequency = <400000>;
touchscreen@14 {
compatible = "goodix,gt928";
reg = <0x14>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PA0 IRQ_TYPE_LEVEL_LOW>;
irq-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&touch_int &touch_rst>;
pinctrl-names = "default";
touchscreen-inverted-x;
touchscreen-inverted-y;
AVDD28-supply = <&vcc3v3_baseboard>;
VDDIO-supply = <&vcc3v3_baseboard>;
};
eeprom@54 {
reg = <0x54>;
compatible = "st,24c04", "atmel,24c04";
pagesize = <16>;
size = <512>;
vcc-supply = <&vcc3v3_baseboard>;
};
};
&lvds {
status = "okay";
};
&lvds_out {
lvds_out_panel: endpoint {
remote-endpoint = <&panel_in_lvds>;
};
};
&pinctrl {
touch {
touch_int: touch-int {
rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
};
touch_rst: touch-rst {
rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&vopb {
status = "okay";
};
&vopb_mmu {
status = "okay";
};
&vopl {
status = "okay";
};
&vopl_mmu {
status = "okay";
};