1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (c) STMicroelectronics 2019 - All Rights Reserved
4 * Copyright (c) 2020 Engicam srl
5 * Copyright (c) 2020 Amarula Solutions(India)
6 */
7
8/dts-v1/;
9#include "stm32mp157.dtsi"
10#include "stm32mp157a-icore-stm32mp1.dtsi"
11#include "stm32mp15-pinctrl.dtsi"
12#include "stm32mp15xxaa-pinctrl.dtsi"
13#include <dt-bindings/gpio/gpio.h>
14
15/ {
16	model = "Engicam i.Core STM32MP1 C.TOUCH 2.0 10.1\" Open Frame";
17	compatible = "engicam,icore-stm32mp1-ctouch2-of10",
18		     "engicam,icore-stm32mp1", "st,stm32mp157";
19
20	aliases {
21		serial0 = &uart4;
22	};
23
24	backlight: backlight {
25		compatible = "gpio-backlight";
26		gpios = <&gpiod 13 GPIO_ACTIVE_HIGH>;
27		default-on;
28	};
29
30	chosen {
31		stdout-path = "serial0:115200n8";
32	};
33
34	panel {
35		compatible = "ampire,am-1280800n3tzqw-t00h";
36		backlight = <&backlight>;
37		power-supply = <&v3v3>;
38
39		port {
40			panel_in_lvds: endpoint {
41				remote-endpoint = <&bridge_out>;
42			};
43		};
44	};
45};
46
47&dsi {
48	status = "okay";
49};
50
51&dsi_in {
52	remote-endpoint = <&ltdc_ep0_out>;
53};
54
55&dsi_out {
56	remote-endpoint = <&bridge_in>;
57};
58
59&i2c6 {
60	i2c-scl-falling-time-ns = <20>;
61	i2c-scl-rising-time-ns = <185>;
62	pinctrl-names = "default", "sleep";
63	pinctrl-0 = <&i2c6_pins_a>;
64	pinctrl-1 = <&i2c6_sleep_pins_a>;
65	status = "okay";
66
67	bridge@2c {
68		compatible = "ti,sn65dsi84";
69		reg = <0x2c>;
70		enable-gpios = <&gpiof 15 GPIO_ACTIVE_HIGH>;
71
72		ports {
73			#address-cells = <1>;
74			#size-cells = <0>;
75
76			port@0 {
77				reg = <0>;
78				bridge_in: endpoint {
79					remote-endpoint = <&dsi_out>;
80					data-lanes = <1 2>;
81				};
82			};
83
84			port@2 {
85				reg = <2>;
86				bridge_out: endpoint {
87					remote-endpoint = <&panel_in_lvds>;
88				};
89			};
90		};
91	};
92};
93
94&ltdc {
95	status = "okay";
96
97	port {
98		ltdc_ep0_out: endpoint {
99			remote-endpoint = <&dsi_in>;
100		};
101	};
102};
103
104&sdmmc1 {
105	bus-width = <4>;
106	disable-wp;
107	pinctrl-names = "default", "opendrain", "sleep";
108	pinctrl-0 = <&sdmmc1_b4_pins_a>;
109	pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
110	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
111	st,neg-edge;
112	vmmc-supply = <&v3v3>;
113	status = "okay";
114};
115
116&uart4 {
117	pinctrl-names = "default", "sleep", "idle";
118	pinctrl-0 = <&uart4_pins_a>;
119	pinctrl-1 = <&uart4_sleep_pins_a>;
120	pinctrl-2 = <&uart4_idle_pins_a>;
121	status = "okay";
122};
123