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

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

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

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

	buydisplay_3_5_tft_touch_arduino_mipi_dbi {
		compatible = "zephyr,mipi-dbi-spi";
		dc-gpios = <&arduino_header 13 GPIO_ACTIVE_HIGH>; /* D7 */
		reset-gpios = <&arduino_header 16 GPIO_ACTIVE_LOW>; /* D10 */
		spi-dev = <&arduino_spi>;
		write-only;
		#address-cells = <1>;
		#size-cells = <0>;

		ili9488_buydisplay_3_5_tft_touch_arduino: ili9488@0 {
			compatible = "ilitek,ili9488";
			mipi-max-frequency = <25000000>;
			reg = <0>;
			pixel-format = <ILI9XXX_PIXEL_FORMAT_RGB888>;
			width = <320>;
			height = <480>;
			rotation = <0>;
			frmctr1 = [a0 11];
			pwctrl1 = [17 15];
			pwctrl2 = [41];
			pgamctrl = [00 03 09 08 16 0a 3f 78 4c 09 0a 08 16 1a 0f];
			ngamctrl = [00 16 19 03 0f 05 32 45 46 04 0e 0d 35 37 0f];
		};
	};
};

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

&arduino_i2c {
	ft5336_buydisplay_3_5_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 */
	};
};
