SPRADS3 July 2025 AM62P
Use the following dts overlay (.dtso) to enable dual link OLDI. The code is also available at: Texas Instruments kernel source page.
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/**
* Microtips integrated OLDI panel (MF-101HIEBCAF0) and touch DT overlay for AM62P5-SK
*
* Panel data sheet: https://simplespec.microtipsusa.com/uploads/spec/datasheetFile/2588/13-101HIEBCAF0-S_V1.1_20221104.pdf
*
* Copyright (C) 2024 Texas Instruments Incorporated - http://www.ti.com/
*/
/dts-v1/;
/plugin/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>
&{/} {
display {
compatible = "microtips,mf-101hiebcaf0", "panel-simple";
/*
* Note that the OLDI TX 0 transmits the odd set of pixels
* while the OLDI TX 1 transmits the even set. This is a
* fixed configuration in the IP integration and is not
* changeable. The properties, "dual-lvds-odd-pixels" and
* "dual-lvds-even-pixels" have been used to merely
* identify if a Dual Link configuration is required.
* Swapping them will cause an error in the dss oldi driver.
*/
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
dual-lvds-odd-pixels;
lcd_in0: endpoint {
remote-endpoint = <&oldi0_dss0_out>;
};
};
port@1 {
reg = <1>;
dual-lvds-even-pixels;
lcd_in1: endpoint {
remote-endpoint = <&oldi1_dss0_out>;
};
};
};
};
};
&dss0 {
status = "okay";
};
&oldi0_dss0 {
status = "okay";
ti,companion-oldi = <&oldi1_dss0>;
};
&oldi1_dss0 {
status = "okay";
ti,secondary-oldi;
};
&oldi0_dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
oldi0_dss0_in: endpoint {
remote-endpoint = <&dss0_dpi0_out0>;
};
};
port@1 {
reg = <1>;
oldi0_dss0_out: endpoint {
remote-endpoint = <&lcd_in0>;
};
};
};
&oldi1_dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
oldi1_dss0_in: endpoint {
remote-endpoint = <&dss0_dpi0_out1>;
};
};
port@1 {
reg = <1>;
oldi1_dss0_out: endpoint {
remote-endpoint = <&lcd_in1>;
};
};
};
&dss0_ports {
#address-cells = <1>;
#size-cells = <0>;
/* VP1: Output to OLDI */
port@0 {
reg = <0>;
#address-cells = <1>;
#size-cells = <0>;
dss0_dpi0_out0: endpoint@0 {
reg = <0>;
remote-endpoint = <&oldi0_dss0_in>;
};
dss0_dpi0_out1: endpoint@1 {
reg = <1>;
remote-endpoint = <&oldi1_dss0_in>;
};
};
};
&main_i2c0 {
#address-cells = <1>;
#size-cells = <0>;
touchscreen@41 {
compatible = "ilitek,ili251x";
reg = <0x41>;
interrupt-parent = <&exp1>;
interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
reset-gpios = <&exp2 20 GPIO_ACTIVE_LOW>;
};
};