Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/arm64/boot/dts/rockchip/px30-ringneck-haikou-lvds-9904379.dtso
26498 views
// 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";
};