Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  sprd_dsi.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (C) 2020 Unisoc Inc.
 */


#ifndef __SPRD_DSI_H__
#define __SPRD_DSI_H__

#include <linux/of.h>
#include <linux/device.h>
#include <linux/regmap.h>
#include <video/videomode.h>

#include <drm/drm_bridge.h>
#include <drm/drm_connector.h>
#include <drm/drm_encoder.h>
#include <drm/drm_mipi_dsi.h>
#include <drm/drm_print.h>
#include <drm/drm_panel.h>

#define encoder_to_dsi(encoder) \
 container_of(encoder, struct sprd_dsi, encoder)

enum dsi_work_mode {
 DSI_MODE_CMD = 0,
 DSI_MODE_VIDEO
};

enum video_burst_mode {
 VIDEO_NON_BURST_WITH_SYNC_PULSES = 0,
 VIDEO_NON_BURST_WITH_SYNC_EVENTS,
 VIDEO_BURST_WITH_SYNC_PULSES
};

enum dsi_color_coding {
 COLOR_CODE_16BIT_CONFIG1 = 0,
 COLOR_CODE_16BIT_CONFIG2,
 COLOR_CODE_16BIT_CONFIG3,
 COLOR_CODE_18BIT_CONFIG1,
 COLOR_CODE_18BIT_CONFIG2,
 COLOR_CODE_24BIT,
 COLOR_CODE_20BIT_YCC422_LOOSELY,
 COLOR_CODE_24BIT_YCC422,
 COLOR_CODE_16BIT_YCC422,
 COLOR_CODE_30BIT,
 COLOR_CODE_36BIT,
 COLOR_CODE_12BIT_YCC420,
 COLOR_CODE_COMPRESSTION,
 COLOR_CODE_MAX
};

enum pll_timing {
 NONE,
 REQUEST_TIME,
 PREPARE_TIME,
 SETTLE_TIME,
 ZERO_TIME,
 TRAIL_TIME,
 EXIT_TIME,
 CLKPOST_TIME,
 TA_GET,
 TA_GO,
 TA_SURE,
 TA_WAIT,
};

struct dphy_pll {
 u8 refin; /* Pre-divider control signal */
 u8 cp_s; /* 00: SDM_EN=1, 10: SDM_EN=0 */
 u8 fdk_s; /* PLL mode control: integer or fraction */
 u8 sdm_en;
 u8 div;
 u8 int_n; /* integer N PLL */
 u32 ref_clk; /* dphy reference clock, unit: MHz */
 u32 freq; /* panel config, unit: KHz */
 u32 fvco;
 u32 potential_fvco;
 u32 nint; /* sigma delta modulator NINT control */
 u32 kint; /* sigma delta modulator KINT control */
 u8 lpf_sel; /* low pass filter control */
 u8 out_sel; /* post divider control */
 u8 vco_band; /* vco range */
 u8 det_delay;
};

struct dsi_context {
 void __iomem *base;
 struct regmap *regmap;
 struct dphy_pll pll;
 struct videomode vm;
 bool enabled;

 u8 work_mode;
 u8 burst_mode;
 u32 int0_mask;
 u32 int1_mask;

 /* maximum time (ns) for data lanes from HS to LP */
 u16 data_hs2lp;
 /* maximum time (ns) for data lanes from LP to HS */
 u16 data_lp2hs;
 /* maximum time (ns) for clk lanes from HS to LP */
 u16 clk_hs2lp;
 /* maximum time (ns) for clk lanes from LP to HS */
 u16 clk_lp2hs;
 /* maximum time (ns) for BTA operation - REQUIRED */
 u16 max_rd_time;
 /* enable receiving frame ack packets - for video mode */
 bool frame_ack_en;
 /* enable receiving tear effect ack packets - for cmd mode */
 bool te_ack_en;
};

struct sprd_dsi {
 struct drm_device *drm;
 struct mipi_dsi_host host;
 struct mipi_dsi_device *slave;
 struct drm_encoder encoder;
 struct drm_bridge *panel_bridge;
 struct dsi_context ctx;
};

int dphy_pll_config(struct dsi_context *ctx);
void dphy_timing_config(struct dsi_context *ctx);

#endif /* __SPRD_DSI_H__ */

Messung V0.5
C=92 H=74 G=83

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge