Files
tactility/Drivers/jd9165-module/bindings/jdi,jd9165.yaml
T
Ken Van Hoeylandt d896657bf9 Device migrations, drivers and fixes (#571)
Device migrations:

- cyd-4848S040c
- guition-jc1060p470ciwy
- guition-jc2432w328c
- guition-jc3248w535c (known issue with display and touch, Shadowtrance will look into it)
- guition-jc8048w550c
- heltec-wifi-lora-32-v3
- lilygo-tdeck-max (excluding graphics)
- lilygo-tdisplay
- lilygo-tdisplay-s3
- lilygo-tdongle-s3
- lilygo-tlora-pager

Driver migrations:

- Implemented haptic driver interface in kernel
- AXS15231b
- BQ25896
- BQ27220
- CST328
- CST6xx
- DRV2605
- JD9165
- Custom LilyGO driver for T-Lora Pager
- SSD1306
- ST7701
- ST7735
- SY6970
- TCA8418

Fixes/improvements:

- Boot app: support for multiple power devices, improved UI
- lvgl_devices and related code: fixes for mapping
- Support for arrays in dts parser
2026-07-18 15:01:42 +02:00

127 lines
4.2 KiB
YAML

description: >
JDI JD9165 MIPI-DSI display panel, driven over ESP-IDF's esp_lcd_jd9165 component (DPI/DBI
interface, ESP32-P4 and other SOC_MIPI_DSI_SUPPORTED targets only). Owns the MIPI DSI PHY LDO
channel and DSI bus directly, so unlike SPI/RGB panels it has no parent bus controller device.
compatible: "jdi,jd9165"
properties:
horizontal-resolution:
type: int
required: true
description: Horizontal resolution in pixels
vertical-resolution:
type: int
required: true
description: Vertical resolution in pixels
bits-per-pixel:
type: int
default: 16
description: Color depth in bits per pixel (16, 18 or 24)
bgr-order:
type: boolean
default: false
description: Use BGR element order instead of RGB
invert-color:
type: boolean
default: false
description: Invert the panel's color output
mirror-x:
type: boolean
default: false
description: Mirror the X axis
mirror-y:
type: boolean
default: false
description: Mirror the Y axis
pin-reset:
type: phandles
default: GPIO_PIN_SPEC_NONE
description: Reset GPIO pin. Falls back to a software reset (sent over the DBI command
interface) if not set.
reset-active-high:
type: boolean
default: false
description: Whether the reset pin is active high
ldo-channel:
type: int
required: true
description: LDO channel index powering the MIPI DSI PHY (chan_id in esp_ldo_channel_config_t)
ldo-voltage-mv:
type: int
required: true
description: Voltage to supply to the MIPI DSI PHY LDO channel, in mV
dsi-bus-id:
type: int
default: 0
description: Which DSI controller to use, index from 0
num-data-lanes:
type: int
default: 2
description: Number of MIPI DSI data lanes. 0 falls back to the maximum available.
lane-bit-rate-mbps:
type: int
required: true
description: MIPI DSI lane bit rate, in Mbps
dpi-clock-freq-mhz:
type: int
required: true
description: MIPI DPI clock frequency, in MHz
hsync-pulse-width:
type: int
required: true
description: Horizontal sync width, in PCLK periods
hsync-back-porch:
type: int
required: true
description: Number of PCLK periods between hsync and the start of line active data
hsync-front-porch:
type: int
required: true
description: Number of PCLK periods between the end of active data and the next hsync
vsync-pulse-width:
type: int
required: true
description: Vertical sync width, in lines
vsync-back-porch:
type: int
required: true
description: Number of invalid lines between vsync and the start of the frame
vsync-front-porch:
type: int
required: true
description: Number of invalid lines between the end of the frame and the next vsync
num-fbs:
type: int
default: 1
description: Number of screen-sized frame buffers to allocate (0 or 1 = single-buffered)
use-dma2d:
type: boolean
default: true
description: Use DMA2D to copy user buffers into the frame buffer when necessary (only
meaningful on SOC_DMA2D_SUPPORTED targets - must be false otherwise)
disable-lp:
type: boolean
default: false
description: Disable MIPI DSI low-power mode
allow-tearing:
type: boolean
default: false
description: By default, when draw_bitmap's color_data is one of the panel's own frame
buffers (i.e. LVGL is bound directly onto them), draw_bitmap waits for a full scan-out to
complete before returning so the caller can't start overwriting a buffer still being
displayed. Set this to trade away that tear-free guarantee for lower latency (e.g. when
other tasks occasionally block timing for long enough that waiting causes visible stalls).
init-sequence:
type: array
element-type: uint8_t
description: >
Custom vendor bring-up sequence, flattened into bytes as a run of
[cmd, data-length, delay-ms, data-length bytes of data...] entries, e.g.
`init-sequence = [0x11 0 120 0x29 0 20];`.
Omit to use the JD9165 component's own built-in default sequence.
backlight:
type: phandle
default: "NULL"
description: Optional reference to this display's backlight device