xref: /linux/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou-lvds-9904379.dtso (revision 2f24482304ebd32c5aa374f31465b9941a860b92)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2025 Cherry Embedded Solutions GmbH
4 *
5 * HAIKOU-LVDS-9904379 adapter for PX30 Ringneck and Haikou carrierboard.
6 *
7 * This adapter needs to be plugged in the fake PCIe connector called Video
8 * Connector on Haikou carrierboard.
9 */
10
11/dts-v1/;
12/plugin/;
13
14#include <dt-bindings/gpio/gpio.h>
15#include <dt-bindings/interrupt-controller/irq.h>
16#include <dt-bindings/pinctrl/rockchip.h>
17
18&{/} {
19	backlight_lvds: backlight-lvds {
20		compatible = "pwm-backlight";
21		brightness-levels = <0 255>;
22		default-brightness-level = <255>;
23		num-interpolated-steps = <255>;
24		power-supply = <&vcc3v3_baseboard>;
25		pwms = <&pwm0 0 25000 0>;
26	};
27
28	panel {
29		compatible = "admatec,9904379", "panel-lvds";
30		backlight = <&backlight_lvds>;
31		data-mapping = "vesa-24";
32		height-mm = <126>;
33		power-supply = <&vcc3v3_baseboard>;
34		width-mm = <224>;
35
36		panel-timing {
37			clock-frequency = <49500000>;
38			hactive = <1024>;
39			hback-porch = <90>;
40			hfront-porch = <90>;
41			hsync-len = <90>;
42			vactive = <600>;
43			vback-porch = <10>;
44			vfront-porch = <10>;
45			vsync-len = <10>;
46		};
47
48		port {
49			panel_in_lvds: endpoint {
50				remote-endpoint = <&lvds_out_panel>;
51			};
52		};
53	};
54};
55
56&display_subsystem {
57	status = "okay";
58};
59
60&dsi_dphy {
61	status = "okay";
62};
63
64&i2c1 {
65	#address-cells = <1>;
66	#size-cells = <0>;
67	/* EEPROM and GT928 are limited to 400KHz */
68	clock-frequency = <400000>;
69
70	touchscreen@14 {
71		compatible = "goodix,gt928";
72		reg = <0x14>;
73		interrupt-parent = <&gpio0>;
74		interrupts = <RK_PA0 IRQ_TYPE_LEVEL_LOW>;
75		irq-gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
76		reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
77		pinctrl-0 = <&touch_int &touch_rst>;
78		pinctrl-names = "default";
79		touchscreen-inverted-x;
80		touchscreen-inverted-y;
81		AVDD28-supply = <&vcc3v3_baseboard>;
82		VDDIO-supply = <&vcc3v3_baseboard>;
83	};
84
85	eeprom@54 {
86		reg = <0x54>;
87		compatible = "st,24c04", "atmel,24c04";
88		pagesize = <16>;
89		size = <512>;
90		vcc-supply = <&vcc3v3_baseboard>;
91	};
92};
93
94&lvds {
95	status = "okay";
96};
97
98&lvds_out {
99	lvds_out_panel: endpoint {
100		remote-endpoint = <&panel_in_lvds>;
101	};
102};
103
104&pinctrl {
105	touch {
106		touch_int: touch-int {
107			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
108		};
109
110		touch_rst: touch-rst {
111			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
112		};
113	};
114};
115
116&vopb {
117	status = "okay";
118};
119
120&vopb_mmu {
121	status = "okay";
122};
123
124&vopl {
125	status = "okay";
126};
127
128&vopl_mmu {
129	status = "okay";
130};
131