blob: bbaba0718b9b65e9efafa982c622aa2071499fa5 [file] [log] [blame]
/*
* Copyright (c) 2023 bytes at work AG
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/dt-bindings/display/panel.h>
/ {
lvgl_pointer {
compatible = "zephyr,lvgl-pointer-input";
input = <&ft5336>;
invert-y;
};
chosen {
zephyr,display = &ltdc;
};
};
&sdram2 {
/* Frame buffer memory cache will cause screen flickering. */
zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_RAM_NOCACHE) )>;
};
&ltdc {
status = "okay";
ext-sdram = <&sdram2>;
/* orisetech, otm8009a */
width = <800>;
height = <480>;
display-timings {
compatible = "zephyr,panel-timing";
hsync-active = <0>;
vsync-active = <0>;
de-active = <0>;
pixelclk-active = <0>;
hsync-len = <2>;
vsync-len = <1>;
hback-porch = <34>;
vback-porch = <15>;
hfront-porch = <34>;
vfront-porch = <16>;
};
def-back-color-red = <0>;
def-back-color-green = <0>;
def-back-color-blue = <0>;
pixel-format = <PANEL_PIXEL_FORMAT_RGB_888>;
};
/* ltdc uses pll3_r as pixel clock */
&pll3 {
status = "okay";
clocks = <&clk_hse>;
div-m = <5>;
mul-n = <132>;
div-p = <2>;
div-q = <2>;
div-r = <24>; /* 27.5 MHz */
};
&mipi_dsi {
status = "okay";
/* DSI HOST dedicated PLL
* F_VCO = CLK_IN / pll-idf * 2 * pll-ndiv
* PHI = F_VCO / 2 / (1 << pll-odf) = lane_byte_clk
* = 25 MHz / 5 * 2 * 100 / 2 / (1<<0) / 8 = 62.5 MHz
*/
pll-ndiv = <100>;
pll-idf = <5>;
pll-odf = <0>;
vs-active-high;
hs-active-high;
de-active-high;
};
&otm8009a {
data-lanes = <2>;
pixel-format = <MIPI_DSI_PIXFMT_RGB888>;
rotation = <90>;
};
&i2c4 {
pinctrl-0 = <&i2c4_scl_pd12 &i2c4_sda_pd13>;
pinctrl-names = "default";
clock-frequency = <I2C_BITRATE_FAST>;
status = "okay";
ft5336: ft5336@38 {
compatible = "focaltech,ft5336";
reg = <0x38>;
};
};