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