| // 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"; |
| }; |