/*
 * Copyright (c) 2019 PHYTEC Messtechnik GmbH
 *
 * SPDX-License-Identifier: Apache-2.0
 */

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

/ {
	chosen {
		zephyr,display = &ili9340;
		zephyr,keyboard-scan = &kscan_input;
	};
};

&arduino_spi {
	status = "okay";
	cs-gpios = <&arduino_header 16 GPIO_ACTIVE_LOW>,	/* D10 */
		   <&arduino_header 10 GPIO_ACTIVE_LOW>;	/* D04 */


	ili9340: ili9340@0 {
		compatible = "ilitek,ili9340";
		spi-max-frequency = <15151515>;
		reg = <0>;
		cmd-data-gpios = <&arduino_header 15 GPIO_ACTIVE_LOW>;	/* D9 */
		width = <320>;
		height = <240>;
		pixel-format = <ILI9XXX_PIXEL_FORMAT_RGB888>;
		rotation = <90>;
		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];
	};

	adafruit_2_8_tft_touch_v2_sdhc: sdhc@1 {
		compatible = "zephyr,sdhc-spi-slot";
		reg = <1>;
		status = "okay";
		spi-max-frequency = <24000000>;
		mmc {
			compatible = "zephyr,sdmmc-disk";
			status = "okay";
		};
	};
};

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

		kscan_input: kscan-input {
			compatible = "zephyr,kscan-input";
		};
	};
};
