131 lines
2.4 KiB
Plaintext
131 lines
2.4 KiB
Plaintext
|
|
// 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";
|
||
|
|
};
|