// 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 #include #include &{/} { 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 = ; 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"; };