/*
 * Copyright (c) 2023 Renesas Electronics Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

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

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

    lvgl_pointer {
        input = <&display_touch>;
        status = "okay";
        swap-xy;
        invert-x;
        invert-y;
    };
};

&i2c2 {
    clock-frequency = <400000>;

    display_touch: ft6206@38 {
        compatible = "focaltech,ft5336";
        status = "okay";
        reg = <0x38>;
        int-gpios = <&gpio0 18 GPIO_ACTIVE_LOW>;
    };
};

&lcdc {
    compatible = "renesas,smartbond-mipi-dbi";
    status = "okay";
    reset-gpios = <&gpio0 12 GPIO_ACTIVE_LOW>;
    spi-dev = <&spi2>;
    pinctrl-0 = <&mipi_dbi_default>;
    pinctrl-1 = <&mipi_dbi_read>;
    pinctrl-2 = <&mipi_dbi_sleep>;
    pinctrl-names = "default", "read", "sleep";
    #address-cells = <1>;
    #size-cells = <0>;

    ili9340: ili9340@0 {
        compatible = "ilitek,ili9340";
        mipi-max-frequency = <48000000>;
        status = "okay";
        reg = <0>;
        width = <240>;
        height = <320>;
        pixel-format = <ILI9XXX_PIXEL_FORMAT_RGB565>;
        rotation = <0>;
    };
};
