// SPDX-License-Identifier: GPL-2.0
/*
 * DT overlay for AM57xx GP EVM boards
 *
 * Copyright (C) 2020-2022 Texas Instruments Incorporated - https://www.ti.com/
 */

/dts-v1/;
/plugin/;

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

&{/} {
	compatible = "ti,am5728-evm", "ti,am572x-beagle-x15", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
	model = "TI AM5728 EVM";

	aliases {
		display0 = "/display";
		display1 = "/connector"; // Fixme: &lcd0 and &hdmi0 could be
					 // resolved here correcly based on
					 // information in the base dtb symbol
					 // table with a fix in dtc
	};

	gpio-keys {
		compatible = "gpio-keys";

		button-user1 {
			gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
			label = "USER1";
			linux,code = <BTN_1>;
		};

		button-user2 {
			gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
			label = "USER2";
			linux,code = <BTN_2>;
		};

		button-user3 {
			gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
			label = "USER3";
			linux,code = <BTN_3>;
		};

		button-user4 {
			gpios = <&gpio2 24 GPIO_ACTIVE_LOW>;
			label = "USER4";
			linux,code = <BTN_4>;
		};

		button-user5 {
			gpios = <&gpio2 20 GPIO_ACTIVE_LOW>;
			label = "USER5";
			linux,code = <BTN_5>;
		};
	};

	lcd0: display {
		compatible = "osddisplays,osd070t1718-19ts", "panel-dpi";
		backlight = <&lcd_bl>;
		enable-gpios = <&gpio2 5 GPIO_ACTIVE_HIGH>;
		label = "lcd";

		port {
			lcd_in: endpoint {
				remote-endpoint = <&dpi_out>;
			};
		};
	};

	lcd_bl: backlight {
		compatible = "pwm-backlight";
		brightness-levels = <0 243 245 247 249 251 252 253 255>;
		default-brightness-level = <8>;
		pwms = <&ehrpwm1 0 50000 0>;
	};
};

&ehrpwm1 {
	status = "okay";
};

&epwmss1 {
	status = "okay";
};

&i2c5 {
	status = "okay";
	clock-frequency = <400000>;

	#address-cells = <1>;
	#size-cells = <0>;

	touchscreen@5c {
		compatible = "pixcir,pixcir_tangoc";
		attb-gpio = <&gpio2 4 GPIO_ACTIVE_HIGH>;
		interrupt-parent = <&gpio2>;
		interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
		reg = <0x5c>;
		reset-gpio = <&gpio2 6 GPIO_ACTIVE_HIGH>;
		touchscreen-size-x = <1024>;
		touchscreen-size-y = <600>;
	};
};

&uart8 {
	status = "okay";
};

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

		port@0 {
			reg = <0>;

			dpi_out: endpoint {
				data-lines = <24>;
				remote-endpoint = <&lcd_in>;
			};
		};
	};
};
