SPRADJ9 August   2024 AM62P

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2AM62Px Processor
    1. 2.1 Key Features and Benefits
    2. 2.2 AM62P Display Subsystem
    3. 2.3 AM62P Display Subsystem Clocking Architecture
  6. 3Display Signals and Timing Parameters
  7. 4Steps for Integration (Linux®)
    1. 4.1 Linux® Overlay File
    2. 4.2 Timing Information
  8. 5Steps for Integration (RTOS)
  9. 6Terminology

Linux® Overlay File

The code snippet in this section is supported from the following reference:

// SPDX-License-Identifier: GPL-2.0
/**
 * Microtips integrated OLDI panel (MF-101HIEBCAF0) and touch DT overlay for AM625 - SK
 *
 * Copyright (C) 2021 Texas Instruments Incorporated - http://www.ti.com/
 */

/dts-v1/;
/plugin/;

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/interrupt-controller/irq.h>

#include "k3-pinctrl.h"

&{/} {
	display {
		compatible = "microtips,mf-101hiebcaf0";
		/*
		* 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 not make any difference.
		*/
		port@0 {
			dual-lvds-odd-pixels;
			lcd_in0: endpoint {
				remote-endpoint = <&oldi_out0>;
			};
		};
		port@1 {
			dual-lvds-even-pixels;
			lcd_in1: endpoint {
				remote-endpoint = <&oldi_out1>;
			};
		};
	};
};

&main_pmx0 {
	main_oldi0_pins_default: main-oldi0-pins-default {
		pinctrl-single,pins = <
			AM62X_IOPAD(0x0260, PIN_OUTPUT, 0) /* (AA5) OLDI0_A0N */
			AM62X_IOPAD(0x025c, PIN_OUTPUT, 0) /* (Y6) OLDI0_A0P */
			AM62X_IOPAD(0x0268, PIN_OUTPUT, 0) /* (AD3) OLDI0_A1N */
			AM62X_IOPAD(0x0264, PIN_OUTPUT, 0) /* (AB4) OLDI0_A1P */
			AM62X_IOPAD(0x0270, PIN_OUTPUT, 0) /* (Y8) OLDI0_A2N */
			AM62X_IOPAD(0x026c, PIN_OUTPUT, 0) /* (AA8) OLDI0_A2P */
			AM62X_IOPAD(0x0278, PIN_OUTPUT, 0) /* (AB6) OLDI0_A3N */
			AM62X_IOPAD(0x0274, PIN_OUTPUT, 0) /* (AA7) OLDI0_A3P */
			AM62X_IOPAD(0x0280, PIN_OUTPUT, 0) /* (AC6) OLDI0_A4N */
			AM62X_IOPAD(0x027c, PIN_OUTPUT, 0) /* (AC5) OLDI0_A4P */
			AM62X_IOPAD(0x0288, PIN_OUTPUT, 0) /* (AE5) OLDI0_A5N */
			AM62X_IOPAD(0x0284, PIN_OUTPUT, 0) /* (AD6) OLDI0_A5P */
			AM62X_IOPAD(0x0290, PIN_OUTPUT, 0) /* (AE6) OLDI0_A6N */
			AM62X_IOPAD(0x028c, PIN_OUTPUT, 0) /* (AD7) OLDI0_A6P */
			AM62X_IOPAD(0x0298, PIN_OUTPUT, 0) /* (AD8) OLDI0_A7N */
			AM62X_IOPAD(0x0294, PIN_OUTPUT, 0) /* (AE7) OLDI0_A7P */
			AM62X_IOPAD(0x02a0, PIN_OUTPUT, 0) /* (AD4) OLDI0_CLK0N */
			AM62X_IOPAD(0x029c, PIN_OUTPUT, 0) /* (AE3) OLDI0_CLK0P */
			AM62X_IOPAD(0x02a8, PIN_OUTPUT, 0) /* (AE4) OLDI0_CLK1N */
			AM62X_IOPAD(0x02a4, PIN_OUTPUT, 0) /* (AD5) OLDI0_CLK1P */
		>;
	};
};

&dss {
	pinctrl-names = "default";
	pinctrl-0 = <&main_oldi0_pins_default &main_dss0_pins_default>;
};

&dss_ports {
	#address-cells = <1>;
	#size-cells = <0>;

	/* VP1: LVDS Output (OLDI TX 0) */
	port@0 {
		reg = <0>;
		oldi_out0: endpoint {
			remote-endpoint = <&lcd_in0>;
		};
	};

	/* VP1: LVDS Output (OLDI TX 1) */
	port@2 {
		reg = <2>;
		oldi_out1: endpoint {
			remote-endpoint = <&lcd_in1>;
		};
	};
};

&main_i2c0 {
	#address-cells = <1>;
	#size-cells = <0>;

	touchscreen@41 {
		compatible = "ilitek,ili251x";
		reg = <0x41>;
		interrupt-parent = <&exp1>;
		interrupts = <22 IRQ_TYPE_EDGE_FALLING>;
	};
};