/* SPDX-License-Identifier: GPL-2.0-only */
/*
* Copyright (C) 2013 NVIDIA Corporation
*/
#ifndef DRM_TEGRA_DSI_H
#define DRM_TEGRA_DSI_H
#define DSI_INCR_SYNCPT 0 x00
#define DSI_INCR_SYNCPT_CONTROL 0 x01
#define DSI_INCR_SYNCPT_ERROR 0 x02
#define DSI_CTXSW 0 x08
#define DSI_RD_DATA 0 x09
#define DSI_WR_DATA 0 x0a
#define DSI_POWER_CONTROL 0 x0b
#define DSI_POWER_CONTROL_ENABLE (1 << 0 )
#define DSI_INT_ENABLE 0 x0c
#define DSI_INT_STATUS 0 x0d
#define DSI_INT_MASK 0 x0e
#define DSI_HOST_CONTROL 0 x0f
#define DSI_HOST_CONTROL_FIFO_RESET (1 << 21 )
#define DSI_HOST_CONTROL_CRC_RESET (1 << 20 )
#define DSI_HOST_CONTROL_TX_TRIG_SOL (0 << 12 )
#define DSI_HOST_CONTROL_TX_TRIG_FIFO (1 << 12 )
#define DSI_HOST_CONTROL_TX_TRIG_HOST (2 << 12 )
#define DSI_HOST_CONTROL_RAW (1 << 6 )
#define DSI_HOST_CONTROL_HS (1 << 5 )
#define DSI_HOST_CONTROL_FIFO_SEL (1 << 4 )
#define DSI_HOST_CONTROL_IMM_BTA (1 << 3 )
#define DSI_HOST_CONTROL_PKT_BTA (1 << 2 )
#define DSI_HOST_CONTROL_CS (1 << 1 )
#define DSI_HOST_CONTROL_ECC (1 << 0 )
#define DSI_CONTROL 0 x10
#define DSI_CONTROL_HS_CLK_CTRL (1 << 20 )
#define DSI_CONTROL_CHANNEL(c) (((c) & 0 x3) << 16 )
#define DSI_CONTROL_FORMAT(f) (((f) & 0 x3) << 12 )
#define DSI_CONTROL_TX_TRIG(x) (((x) & 0 x3) << 8 )
#define DSI_CONTROL_LANES(n) (((n) & 0 x3) << 4 )
#define DSI_CONTROL_DCS_ENABLE (1 << 3 )
#define DSI_CONTROL_SOURCE(s) (((s) & 0 x1) << 2 )
#define DSI_CONTROL_VIDEO_ENABLE (1 << 1 )
#define DSI_CONTROL_HOST_ENABLE (1 << 0 )
#define DSI_SOL_DELAY 0 x11
#define DSI_MAX_THRESHOLD 0 x12
#define DSI_TRIGGER 0 x13
#define DSI_TRIGGER_HOST (1 << 1 )
#define DSI_TRIGGER_VIDEO (1 << 0 )
#define DSI_TX_CRC 0 x14
#define DSI_STATUS 0 x15
#define DSI_STATUS_IDLE (1 << 10 )
#define DSI_STATUS_UNDERFLOW (1 << 9 )
#define DSI_STATUS_OVERFLOW (1 << 8 )
#define DSI_INIT_SEQ_CONTROL 0 x1a
#define DSI_INIT_SEQ_DATA_0 0 x1b
#define DSI_INIT_SEQ_DATA_1 0 x1c
#define DSI_INIT_SEQ_DATA_2 0 x1d
#define DSI_INIT_SEQ_DATA_3 0 x1e
#define DSI_INIT_SEQ_DATA_4 0 x1f
#define DSI_INIT_SEQ_DATA_5 0 x20
#define DSI_INIT_SEQ_DATA_6 0 x21
#define DSI_INIT_SEQ_DATA_7 0 x22
#define DSI_PKT_SEQ_0_LO 0 x23
#define DSI_PKT_SEQ_0_HI 0 x24
#define DSI_PKT_SEQ_1_LO 0 x25
#define DSI_PKT_SEQ_1_HI 0 x26
#define DSI_PKT_SEQ_2_LO 0 x27
#define DSI_PKT_SEQ_2_HI 0 x28
#define DSI_PKT_SEQ_3_LO 0 x29
#define DSI_PKT_SEQ_3_HI 0 x2a
#define DSI_PKT_SEQ_4_LO 0 x2b
#define DSI_PKT_SEQ_4_HI 0 x2c
#define DSI_PKT_SEQ_5_LO 0 x2d
#define DSI_PKT_SEQ_5_HI 0 x2e
#define DSI_DCS_CMDS 0 x33
#define DSI_PKT_LEN_0_1 0 x34
#define DSI_PKT_LEN_2_3 0 x35
#define DSI_PKT_LEN_4_5 0 x36
#define DSI_PKT_LEN_6_7 0 x37
#define DSI_PHY_TIMING_0 0 x3c
#define DSI_PHY_TIMING_1 0 x3d
#define DSI_PHY_TIMING_2 0 x3e
#define DSI_BTA_TIMING 0 x3f
#define DSI_TIMING_FIELD(value, period, hwinc) \
((DIV_ROUND_CLOSEST(value, period) - (hwinc)) & 0 xff)
#define DSI_TIMEOUT_0 0 x44
#define DSI_TIMEOUT_LRX(x) (((x) & 0 xffff) << 16 )
#define DSI_TIMEOUT_HTX(x) (((x) & 0 xffff) << 0 )
#define DSI_TIMEOUT_1 0 x45
#define DSI_TIMEOUT_PR(x) (((x) & 0 xffff) << 16 )
#define DSI_TIMEOUT_TA(x) (((x) & 0 xffff) << 0 )
#define DSI_TO_TALLY 0 x46
#define DSI_TALLY_TA(x) (((x) & 0 xff) << 16 )
#define DSI_TALLY_LRX(x) (((x) & 0 xff) << 8 )
#define DSI_TALLY_HTX(x) (((x) & 0 xff) << 0 )
#define DSI_PAD_CONTROL_0 0 x4b
#define DSI_PAD_CONTROL_VS1_PDIO(x) (((x) & 0 xf) << 0 )
#define DSI_PAD_CONTROL_VS1_PDIO_CLK (1 << 8 )
#define DSI_PAD_CONTROL_VS1_PULLDN(x) (((x) & 0 xf) << 16 )
#define DSI_PAD_CONTROL_VS1_PULLDN_CLK (1 << 24 )
#define DSI_PAD_CONTROL_CD 0 x4c
#define DSI_PAD_CD_STATUS 0 x4d
#define DSI_VIDEO_MODE_CONTROL 0 x4e
#define DSI_PAD_CONTROL_1 0 x4f
#define DSI_PAD_CONTROL_2 0 x50
#define DSI_PAD_OUT_CLK(x) (((x) & 0 x7) << 0 )
#define DSI_PAD_LP_DN(x) (((x) & 0 x7) << 4 )
#define DSI_PAD_LP_UP(x) (((x) & 0 x7) << 8 )
#define DSI_PAD_SLEW_DN(x) (((x) & 0 x7) << 12 )
#define DSI_PAD_SLEW_UP(x) (((x) & 0 x7) << 16 )
#define DSI_PAD_CONTROL_3 0 x51
#define DSI_PAD_PREEMP_PD_CLK(x) (((x) & 0 x3) << 12 )
#define DSI_PAD_PREEMP_PU_CLK(x) (((x) & 0 x3) << 8 )
#define DSI_PAD_PREEMP_PD(x) (((x) & 0 x3) << 4 )
#define DSI_PAD_PREEMP_PU(x) (((x) & 0 x3) << 0 )
#define DSI_PAD_CONTROL_4 0 x52
#define DSI_GANGED_MODE_CONTROL 0 x53
#define DSI_GANGED_MODE_CONTROL_ENABLE (1 << 0 )
#define DSI_GANGED_MODE_START 0 x54
#define DSI_GANGED_MODE_SIZE 0 x55
#define DSI_RAW_DATA_BYTE_COUNT 0 x56
#define DSI_ULTRA_LOW_POWER_CONTROL 0 x57
#define DSI_INIT_SEQ_DATA_8 0 x58
#define DSI_INIT_SEQ_DATA_9 0 x59
#define DSI_INIT_SEQ_DATA_10 0 x5a
#define DSI_INIT_SEQ_DATA_11 0 x5b
#define DSI_INIT_SEQ_DATA_12 0 x5c
#define DSI_INIT_SEQ_DATA_13 0 x5d
#define DSI_INIT_SEQ_DATA_14 0 x5e
#define DSI_INIT_SEQ_DATA_15 0 x5f
/*
* pixel format as used in the DSI_CONTROL_FORMAT field
*/
enum tegra_dsi_format {
TEGRA_DSI_FORMAT_16P,
TEGRA_DSI_FORMAT_18NP,
TEGRA_DSI_FORMAT_18P,
TEGRA_DSI_FORMAT_24P,
};
#endif
Messung V0.5 in Prozent C=95 H=91 G=92
¤ Dauer der Verarbeitung: 0.8 Sekunden
(vorverarbeitet am 2026-06-05)
¤
*© Formatika GbR, Deutschland