xref: /linux/arch/arm64/boot/dts/freescale/imx8mp-kontron-dl.dtso (revision c771600c6af14749609b49565ffb4cac2959710d)
1946ab10eSFrieder Schrempf// SPDX-License-Identifier: GPL-2.0+ OR MIT
2946ab10eSFrieder Schrempf/*
3946ab10eSFrieder Schrempf * Copyright (C) 2023 Kontron Electronics GmbH
4946ab10eSFrieder Schrempf */
5946ab10eSFrieder Schrempf
6946ab10eSFrieder Schrempf/dts-v1/;
7946ab10eSFrieder Schrempf/plugin/;
8946ab10eSFrieder Schrempf
9946ab10eSFrieder Schrempf#include <dt-bindings/gpio/gpio.h>
10946ab10eSFrieder Schrempf#include "imx8mp-pinfunc.h"
11946ab10eSFrieder Schrempf
12946ab10eSFrieder Schrempf&{/} {
13946ab10eSFrieder Schrempf	model = "Kontron DL i.MX8MP OSM-S";
14946ab10eSFrieder Schrempf	compatible = "kontron,imx8mp-bl-osm-s", "kontron,imx8mp-osm-s", "fsl,imx8mp";
15946ab10eSFrieder Schrempf
16946ab10eSFrieder Schrempf	backlight: backlight {
17946ab10eSFrieder Schrempf		compatible = "pwm-backlight";
18946ab10eSFrieder Schrempf		pwms = <&pwm1 0 50000 0>;
19946ab10eSFrieder Schrempf		brightness-levels = <0 100>;
20946ab10eSFrieder Schrempf		num-interpolated-steps = <100>;
21946ab10eSFrieder Schrempf		default-brightness-level = <100>;
22946ab10eSFrieder Schrempf	};
23946ab10eSFrieder Schrempf
24946ab10eSFrieder Schrempf	panel {
25946ab10eSFrieder Schrempf		compatible = "jenson,bl-jt60050-01a", "panel-lvds";
26946ab10eSFrieder Schrempf		backlight = <&backlight>;
27946ab10eSFrieder Schrempf		data-mapping = "vesa-24";
28946ab10eSFrieder Schrempf		enable-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
29946ab10eSFrieder Schrempf		power-supply = <&reg_vcc_panel>;
30946ab10eSFrieder Schrempf		height-mm = <86>;
31946ab10eSFrieder Schrempf		width-mm = <154>;
32946ab10eSFrieder Schrempf
33946ab10eSFrieder Schrempf		panel-timing {
34946ab10eSFrieder Schrempf			clock-frequency = <50000000>;
35946ab10eSFrieder Schrempf			hactive = <1024>;
36946ab10eSFrieder Schrempf			hback-porch = <160>;
37946ab10eSFrieder Schrempf			hfront-porch = <160>;
38946ab10eSFrieder Schrempf			hsync-len = <1>;
39946ab10eSFrieder Schrempf			vactive = <600>;
40946ab10eSFrieder Schrempf			vback-porch = <23>;
41946ab10eSFrieder Schrempf			vfront-porch = <12>;
42946ab10eSFrieder Schrempf			vsync-len = <1>;
43946ab10eSFrieder Schrempf		};
44946ab10eSFrieder Schrempf
45946ab10eSFrieder Schrempf		port {
46946ab10eSFrieder Schrempf			panel_in_lvds0: endpoint {
47946ab10eSFrieder Schrempf				remote-endpoint = <&ldb_lvds_ch0>;
48946ab10eSFrieder Schrempf			};
49946ab10eSFrieder Schrempf		};
50946ab10eSFrieder Schrempf	};
51946ab10eSFrieder Schrempf};
52946ab10eSFrieder Schrempf
53946ab10eSFrieder Schrempf&gpio4 {
54946ab10eSFrieder Schrempf	pinctrl-names = "default";
55946ab10eSFrieder Schrempf	pinctrl-0 = <&pinctrl_gpio4>, <&pinctrl_panel_stby>;
56946ab10eSFrieder Schrempf
57946ab10eSFrieder Schrempf	panel-rst-hog {
58946ab10eSFrieder Schrempf		gpio-hog;
59946ab10eSFrieder Schrempf		gpios = <21 GPIO_ACTIVE_HIGH>;
60946ab10eSFrieder Schrempf		output-high;
61946ab10eSFrieder Schrempf		line-name = "panel-reset";
62946ab10eSFrieder Schrempf	};
63946ab10eSFrieder Schrempf
64946ab10eSFrieder Schrempf	panel-stby-hog {
65946ab10eSFrieder Schrempf		gpio-hog;
66946ab10eSFrieder Schrempf		gpios = <28 GPIO_ACTIVE_HIGH>;
67946ab10eSFrieder Schrempf		output-high;
68946ab10eSFrieder Schrempf		line-name = "panel-standby";
69946ab10eSFrieder Schrempf	};
70946ab10eSFrieder Schrempf};
71946ab10eSFrieder Schrempf
72946ab10eSFrieder Schrempf&i2c1 {
73946ab10eSFrieder Schrempf	#address-cells = <1>;
74946ab10eSFrieder Schrempf	#size-cells = <0>;
75946ab10eSFrieder Schrempf	status = "okay";
76946ab10eSFrieder Schrempf
77946ab10eSFrieder Schrempf	touchscreen@5d {
78946ab10eSFrieder Schrempf		compatible = "goodix,gt928";
79946ab10eSFrieder Schrempf		reg = <0x5d>;
80946ab10eSFrieder Schrempf		interrupt-parent = <&gpio1>;
81946ab10eSFrieder Schrempf		interrupts = <6 8>;
82946ab10eSFrieder Schrempf		irq-gpios = <&gpio1 6 0>;
83*e2bc14a1SFrank Li		AVDD28-supply = <&reg_vcc_panel>;
84*e2bc14a1SFrank Li		VDDIO-supply = <&reg_vcc_panel>;
85946ab10eSFrieder Schrempf		reset-gpios = <&gpio1 7 0>;
86946ab10eSFrieder Schrempf	};
87946ab10eSFrieder Schrempf};
88946ab10eSFrieder Schrempf
89946ab10eSFrieder Schrempf&lcdif2 {
90946ab10eSFrieder Schrempf	status = "okay";
91946ab10eSFrieder Schrempf};
92946ab10eSFrieder Schrempf
93946ab10eSFrieder Schrempf&ldb_lvds_ch0 {
94946ab10eSFrieder Schrempf	remote-endpoint = <&panel_in_lvds0>;
95946ab10eSFrieder Schrempf};
96946ab10eSFrieder Schrempf
97946ab10eSFrieder Schrempf&lvds_bridge {
98946ab10eSFrieder Schrempf	status = "okay";
99946ab10eSFrieder Schrempf};
100946ab10eSFrieder Schrempf
101946ab10eSFrieder Schrempf&pwm1 {
102946ab10eSFrieder Schrempf	status = "okay";
103946ab10eSFrieder Schrempf};
104946ab10eSFrieder Schrempf
105946ab10eSFrieder Schrempf&iomuxc {
106946ab10eSFrieder Schrempf	pinctrl_panel_stby: panelstbygrp {
107946ab10eSFrieder Schrempf		fsl,pins = <
108946ab10eSFrieder Schrempf			MX8MP_IOMUXC_SAI3_RXFS__GPIO4_IO28		0x19
109946ab10eSFrieder Schrempf		>;
110946ab10eSFrieder Schrempf	};
111946ab10eSFrieder Schrempf};
112