/*
 * Copyright (c) 2020 Teslabs Engineering S.L.
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <zephyr/dt-bindings/display/ili9xxx.h>

/ {
	chosen {
		zephyr,display = &ili9340_buydisplay_2_8_tft_touch_arduino;
	};

	lvgl_pointer {
		compatible = "zephyr,lvgl-pointer-input";
		input = <&ft5336_buydisplay_2_8_tft_touch_arduino>;
		swap-xy;
		invert-x;
		invert-y;
	};
};

&arduino_spi {
	status = "okay";
	cs-gpios = <&arduino_header 15 GPIO_ACTIVE_LOW>; /* D9 */

	ili9340_buydisplay_2_8_tft_touch_arduino: ili9340@0 {
		compatible = "ilitek,ili9340";
		spi-max-frequency = <25000000>;
		reg = <0>;
		cmd-data-gpios = <&arduino_header 13 GPIO_ACTIVE_LOW>; /* D7 */
		reset-gpios = <&arduino_header 16 GPIO_ACTIVE_LOW>; /* D10 */
		width = <240>;
		height = <320>;
		pixel-format = <ILI9XXX_PIXEL_FORMAT_RGB565>;
		rotation = <0>;
		frmctr1 = [00 18];
		pwctrl1 = [23 00];
		vmctrl1 = [3e 28];
		vmctrl2 = [86];
		pgamctrl = [0f 31 2b 0c 0e 08 4e f1 37 07 10 03 0e 09 00];
		ngamctrl = [00 0e 14 03 11 07 31 c1 48 08 0f 0c 31 36 0f];
	};
};

&arduino_i2c {
	ft5336_buydisplay_2_8_tft_touch_arduino: ft5336@38 {
		compatible = "focaltech,ft5336";
		reg = <0x38>;
		/* Uncomment if IRQ line is available (requires to solder jumper) */
		/* int-gpios = <&arduino_header 11 GPIO_ACTIVE_LOW>; */ /* D5 */
	};
};
