/* SPDX-License-Identifier: GPL-2.0-only */
/*
* HDMI driver definition for TI OMAP5 processors .
*
* Copyright ( C ) 2011 - 2012 Texas Instruments Incorporated - https : //www.ti.com/
*/
#ifndef _HDMI5_CORE_H_
#define _HDMI5_CORE_H_
#include "hdmi.h"
/* HDMI IP Core System */
/* HDMI Identification */
#define HDMI_CORE_DESIGN_ID 0 x00000
#define HDMI_CORE_REVISION_ID 0 x00004
#define HDMI_CORE_PRODUCT_ID0 0 x00008
#define HDMI_CORE_PRODUCT_ID1 0 x0000C
#define HDMI_CORE_CONFIG0_ID 0 x00010
#define HDMI_CORE_CONFIG1_ID 0 x00014
#define HDMI_CORE_CONFIG2_ID 0 x00018
#define HDMI_CORE_CONFIG3_ID 0 x0001C
/* HDMI Interrupt */
#define HDMI_CORE_IH_FC_STAT0 0 x00400
#define HDMI_CORE_IH_FC_STAT1 0 x00404
#define HDMI_CORE_IH_FC_STAT2 0 x00408
#define HDMI_CORE_IH_AS_STAT0 0 x0040C
#define HDMI_CORE_IH_PHY_STAT0 0 x00410
#define HDMI_CORE_IH_I2CM_STAT0 0 x00414
#define HDMI_CORE_IH_CEC_STAT0 0 x00418
#define HDMI_CORE_IH_VP_STAT0 0 x0041C
#define HDMI_CORE_IH_I2CMPHY_STAT0 0 x00420
#define HDMI_CORE_IH_MUTE 0 x007FC
/* HDMI Video Sampler */
#define HDMI_CORE_TX_INVID0 0 x00800
#define HDMI_CORE_TX_INSTUFFING 0 x00804
#define HDMI_CORE_TX_RGYDATA0 0 x00808
#define HDMI_CORE_TX_RGYDATA1 0 x0080C
#define HDMI_CORE_TX_RCRDATA0 0 x00810
#define HDMI_CORE_TX_RCRDATA1 0 x00814
#define HDMI_CORE_TX_BCBDATA0 0 x00818
#define HDMI_CORE_TX_BCBDATA1 0 x0081C
/* HDMI Video Packetizer */
#define HDMI_CORE_VP_STATUS 0 x02000
#define HDMI_CORE_VP_PR_CD 0 x02004
#define HDMI_CORE_VP_STUFF 0 x02008
#define HDMI_CORE_VP_REMAP 0 x0200C
#define HDMI_CORE_VP_CONF 0 x02010
#define HDMI_CORE_VP_STAT 0 x02014
#define HDMI_CORE_VP_INT 0 x02018
#define HDMI_CORE_VP_MASK 0 x0201C
#define HDMI_CORE_VP_POL 0 x02020
/* Frame Composer */
#define HDMI_CORE_FC_INVIDCONF 0 x04000
#define HDMI_CORE_FC_INHACTIV0 0 x04004
#define HDMI_CORE_FC_INHACTIV1 0 x04008
#define HDMI_CORE_FC_INHBLANK0 0 x0400C
#define HDMI_CORE_FC_INHBLANK1 0 x04010
#define HDMI_CORE_FC_INVACTIV0 0 x04014
#define HDMI_CORE_FC_INVACTIV1 0 x04018
#define HDMI_CORE_FC_INVBLANK 0 x0401C
#define HDMI_CORE_FC_HSYNCINDELAY0 0 x04020
#define HDMI_CORE_FC_HSYNCINDELAY1 0 x04024
#define HDMI_CORE_FC_HSYNCINWIDTH0 0 x04028
#define HDMI_CORE_FC_HSYNCINWIDTH1 0 x0402C
#define HDMI_CORE_FC_VSYNCINDELAY 0 x04030
#define HDMI_CORE_FC_VSYNCINWIDTH 0 x04034
#define HDMI_CORE_FC_INFREQ0 0 x04038
#define HDMI_CORE_FC_INFREQ1 0 x0403C
#define HDMI_CORE_FC_INFREQ2 0 x04040
#define HDMI_CORE_FC_CTRLDUR 0 x04044
#define HDMI_CORE_FC_EXCTRLDUR 0 x04048
#define HDMI_CORE_FC_EXCTRLSPAC 0 x0404C
#define HDMI_CORE_FC_CH0PREAM 0 x04050
#define HDMI_CORE_FC_CH1PREAM 0 x04054
#define HDMI_CORE_FC_CH2PREAM 0 x04058
#define HDMI_CORE_FC_AVICONF3 0 x0405C
#define HDMI_CORE_FC_GCP 0 x04060
#define HDMI_CORE_FC_AVICONF0 0 x04064
#define HDMI_CORE_FC_AVICONF1 0 x04068
#define HDMI_CORE_FC_AVICONF2 0 x0406C
#define HDMI_CORE_FC_AVIVID 0 x04070
#define HDMI_CORE_FC_AVIETB0 0 x04074
#define HDMI_CORE_FC_AVIETB1 0 x04078
#define HDMI_CORE_FC_AVISBB0 0 x0407C
#define HDMI_CORE_FC_AVISBB1 0 x04080
#define HDMI_CORE_FC_AVIELB0 0 x04084
#define HDMI_CORE_FC_AVIELB1 0 x04088
#define HDMI_CORE_FC_AVISRB0 0 x0408C
#define HDMI_CORE_FC_AVISRB1 0 x04090
#define HDMI_CORE_FC_AUDICONF0 0 x04094
#define HDMI_CORE_FC_AUDICONF1 0 x04098
#define HDMI_CORE_FC_AUDICONF2 0 x0409C
#define HDMI_CORE_FC_AUDICONF3 0 x040A0
#define HDMI_CORE_FC_VSDIEEEID0 0 x040A4
#define HDMI_CORE_FC_VSDSIZE 0 x040A8
#define HDMI_CORE_FC_VSDIEEEID1 0 x040C0
#define HDMI_CORE_FC_VSDIEEEID2 0 x040C4
#define HDMI_CORE_FC_VSDPAYLOAD(n) (n * 4 + 0 x040C8)
#define HDMI_CORE_FC_SPDVENDORNAME(n) (n * 4 + 0 x04128)
#define HDMI_CORE_FC_SPDPRODUCTNAME(n) (n * 4 + 0 x04148)
#define HDMI_CORE_FC_SPDDEVICEINF 0 x04188
#define HDMI_CORE_FC_AUDSCONF 0 x0418C
#define HDMI_CORE_FC_AUDSSTAT 0 x04190
#define HDMI_CORE_FC_AUDSV 0 x04194
#define HDMI_CORE_FC_AUDSU 0 x04198
#define HDMI_CORE_FC_AUDSCHNLS(n) (n * 4 + 0 x0419C)
#define HDMI_CORE_FC_CTRLQHIGH 0 x041CC
#define HDMI_CORE_FC_CTRLQLOW 0 x041D0
#define HDMI_CORE_FC_ACP0 0 x041D4
#define HDMI_CORE_FC_ACP(n) ((16 -n) * 4 + 0 x04208)
#define HDMI_CORE_FC_ISCR1_0 0 x04248
#define HDMI_CORE_FC_ISCR1(n) ((16 -n) * 4 + 0 x0424C)
#define HDMI_CORE_FC_ISCR2(n) ((15 -n) * 4 + 0 x0428C)
#define HDMI_CORE_FC_DATAUTO0 0 x042CC
#define HDMI_CORE_FC_DATAUTO1 0 x042D0
#define HDMI_CORE_FC_DATAUTO2 0 x042D4
#define HDMI_CORE_FC_DATMAN 0 x042D8
#define HDMI_CORE_FC_DATAUTO3 0 x042DC
#define HDMI_CORE_FC_RDRB(n) (n * 4 + 0 x042E0)
#define HDMI_CORE_FC_STAT0 0 x04340
#define HDMI_CORE_FC_INT0 0 x04344
#define HDMI_CORE_FC_MASK0 0 x04348
#define HDMI_CORE_FC_POL0 0 x0434C
#define HDMI_CORE_FC_STAT1 0 x04350
#define HDMI_CORE_FC_INT1 0 x04354
#define HDMI_CORE_FC_MASK1 0 x04358
#define HDMI_CORE_FC_POL1 0 x0435C
#define HDMI_CORE_FC_STAT2 0 x04360
#define HDMI_CORE_FC_INT2 0 x04364
#define HDMI_CORE_FC_MASK2 0 x04368
#define HDMI_CORE_FC_POL2 0 x0436C
#define HDMI_CORE_FC_PRCONF 0 x04380
#define HDMI_CORE_FC_GMD_STAT 0 x04400
#define HDMI_CORE_FC_GMD_EN 0 x04404
#define HDMI_CORE_FC_GMD_UP 0 x04408
#define HDMI_CORE_FC_GMD_CONF 0 x0440C
#define HDMI_CORE_FC_GMD_HB 0 x04410
#define HDMI_CORE_FC_GMD_PB(n) (n * 4 + 0 x04414)
#define HDMI_CORE_FC_DBGFORCE 0 x04800
#define HDMI_CORE_FC_DBGAUD0CH0 0 x04804
#define HDMI_CORE_FC_DBGAUD1CH0 0 x04808
#define HDMI_CORE_FC_DBGAUD2CH0 0 x0480C
#define HDMI_CORE_FC_DBGAUD0CH1 0 x04810
#define HDMI_CORE_FC_DBGAUD1CH1 0 x04814
#define HDMI_CORE_FC_DBGAUD2CH1 0 x04818
#define HDMI_CORE_FC_DBGAUD0CH2 0 x0481C
#define HDMI_CORE_FC_DBGAUD1CH2 0 x04820
#define HDMI_CORE_FC_DBGAUD2CH2 0 x04824
#define HDMI_CORE_FC_DBGAUD0CH3 0 x04828
#define HDMI_CORE_FC_DBGAUD1CH3 0 x0482C
#define HDMI_CORE_FC_DBGAUD2CH3 0 x04830
#define HDMI_CORE_FC_DBGAUD0CH4 0 x04834
#define HDMI_CORE_FC_DBGAUD1CH4 0 x04838
#define HDMI_CORE_FC_DBGAUD2CH4 0 x0483C
#define HDMI_CORE_FC_DBGAUD0CH5 0 x04840
#define HDMI_CORE_FC_DBGAUD1CH5 0 x04844
#define HDMI_CORE_FC_DBGAUD2CH5 0 x04848
#define HDMI_CORE_FC_DBGAUD0CH6 0 x0484C
#define HDMI_CORE_FC_DBGAUD1CH6 0 x04850
#define HDMI_CORE_FC_DBGAUD2CH6 0 x04854
#define HDMI_CORE_FC_DBGAUD0CH7 0 x04858
#define HDMI_CORE_FC_DBGAUD1CH7 0 x0485C
#define HDMI_CORE_FC_DBGAUD2CH7 0 x04860
#define HDMI_CORE_FC_DBGTMDS0 0 x04864
#define HDMI_CORE_FC_DBGTMDS1 0 x04868
#define HDMI_CORE_FC_DBGTMDS2 0 x0486C
#define HDMI_CORE_PHY_MASK0 0 x0C018
#define HDMI_CORE_PHY_I2CM_INT_ADDR 0 x0C09C
#define HDMI_CORE_PHY_I2CM_CTLINT_ADDR 0 x0C0A0
/* HDMI Audio */
#define HDMI_CORE_AUD_CONF0 0 x0C400
#define HDMI_CORE_AUD_CONF1 0 x0C404
#define HDMI_CORE_AUD_INT 0 x0C408
#define HDMI_CORE_AUD_N1 0 x0C800
#define HDMI_CORE_AUD_N2 0 x0C804
#define HDMI_CORE_AUD_N3 0 x0C808
#define HDMI_CORE_AUD_CTS1 0 x0C80C
#define HDMI_CORE_AUD_CTS2 0 x0C810
#define HDMI_CORE_AUD_CTS3 0 x0C814
#define HDMI_CORE_AUD_INCLKFS 0 x0C818
#define HDMI_CORE_AUD_CC08 0 x0CC08
#define HDMI_CORE_AUD_GP_CONF0 0 x0D400
#define HDMI_CORE_AUD_GP_CONF1 0 x0D404
#define HDMI_CORE_AUD_GP_CONF2 0 x0D408
#define HDMI_CORE_AUD_D010 0 x0D010
#define HDMI_CORE_AUD_GP_STAT 0 x0D40C
#define HDMI_CORE_AUD_GP_INT 0 x0D410
#define HDMI_CORE_AUD_GP_POL 0 x0D414
#define HDMI_CORE_AUD_GP_MASK 0 x0D418
/* HDMI Main Controller */
#define HDMI_CORE_MC_CLKDIS 0 x10004
#define HDMI_CORE_MC_SWRSTZREQ 0 x10008
#define HDMI_CORE_MC_FLOWCTRL 0 x10010
#define HDMI_CORE_MC_PHYRSTZ 0 x10014
#define HDMI_CORE_MC_LOCKONCLOCK 0 x10018
/* HDMI COLOR SPACE CONVERTER */
#define HDMI_CORE_CSC_CFG 0 x10400
#define HDMI_CORE_CSC_SCALE 0 x10404
#define HDMI_CORE_CSC_COEF_A1_MSB 0 x10408
#define HDMI_CORE_CSC_COEF_A1_LSB 0 x1040C
#define HDMI_CORE_CSC_COEF_A2_MSB 0 x10410
#define HDMI_CORE_CSC_COEF_A2_LSB 0 x10414
#define HDMI_CORE_CSC_COEF_A3_MSB 0 x10418
#define HDMI_CORE_CSC_COEF_A3_LSB 0 x1041C
#define HDMI_CORE_CSC_COEF_A4_MSB 0 x10420
#define HDMI_CORE_CSC_COEF_A4_LSB 0 x10424
#define HDMI_CORE_CSC_COEF_B1_MSB 0 x10428
#define HDMI_CORE_CSC_COEF_B1_LSB 0 x1042C
#define HDMI_CORE_CSC_COEF_B2_MSB 0 x10430
#define HDMI_CORE_CSC_COEF_B2_LSB 0 x10434
#define HDMI_CORE_CSC_COEF_B3_MSB 0 x10438
#define HDMI_CORE_CSC_COEF_B3_LSB 0 x1043C
#define HDMI_CORE_CSC_COEF_B4_MSB 0 x10440
#define HDMI_CORE_CSC_COEF_B4_LSB 0 x10444
#define HDMI_CORE_CSC_COEF_C1_MSB 0 x10448
#define HDMI_CORE_CSC_COEF_C1_LSB 0 x1044C
#define HDMI_CORE_CSC_COEF_C2_MSB 0 x10450
#define HDMI_CORE_CSC_COEF_C2_LSB 0 x10454
#define HDMI_CORE_CSC_COEF_C3_MSB 0 x10458
#define HDMI_CORE_CSC_COEF_C3_LSB 0 x1045C
#define HDMI_CORE_CSC_COEF_C4_MSB 0 x10460
#define HDMI_CORE_CSC_COEF_C4_LSB 0 x10464
/* HDMI HDCP */
#define HDMI_CORE_HDCP_MASK 0 x14020
/* HDMI CEC */
#define HDMI_CORE_CEC_MASK 0 x17408
/* HDMI I2C Master */
#define HDMI_CORE_I2CM_SLAVE 0 x157C8
#define HDMI_CORE_I2CM_ADDRESS 0 x157CC
#define HDMI_CORE_I2CM_DATAO 0 x157D0
#define HDMI_CORE_I2CM_DATAI 0 X157D4
#define HDMI_CORE_I2CM_OPERATION 0 x157D8
#define HDMI_CORE_I2CM_INT 0 x157DC
#define HDMI_CORE_I2CM_CTLINT 0 x157E0
#define HDMI_CORE_I2CM_DIV 0 x157E4
#define HDMI_CORE_I2CM_SEGADDR 0 x157E8
#define HDMI_CORE_I2CM_SOFTRSTZ 0 x157EC
#define HDMI_CORE_I2CM_SEGPTR 0 x157F0
#define HDMI_CORE_I2CM_SS_SCL_HCNT_1_ADDR 0 x157F4
#define HDMI_CORE_I2CM_SS_SCL_HCNT_0_ADDR 0 x157F8
#define HDMI_CORE_I2CM_SS_SCL_LCNT_1_ADDR 0 x157FC
#define HDMI_CORE_I2CM_SS_SCL_LCNT_0_ADDR 0 x15800
#define HDMI_CORE_I2CM_FS_SCL_HCNT_1_ADDR 0 x15804
#define HDMI_CORE_I2CM_FS_SCL_HCNT_0_ADDR 0 x15808
#define HDMI_CORE_I2CM_FS_SCL_LCNT_1_ADDR 0 x1580C
#define HDMI_CORE_I2CM_FS_SCL_LCNT_0_ADDR 0 x15810
#define HDMI_CORE_I2CM_SDA_HOLD_ADDR 0 x15814
enum hdmi_core_packet_mode {
HDMI_PACKETMODERESERVEDVALUE = 0 ,
HDMI_PACKETMODE24BITPERPIXEL = 4 ,
HDMI_PACKETMODE30BITPERPIXEL = 5 ,
HDMI_PACKETMODE36BITPERPIXEL = 6 ,
HDMI_PACKETMODE48BITPERPIXEL = 7 ,
};
struct hdmi_core_vid_config {
struct hdmi_config v_fc_config;
enum hdmi_core_packet_mode packet_mode;
int data_enable_pol;
int vblank_osc;
int hblank;
int vblank;
};
struct csc_table {
u16 a1, a2, a3, a4;
u16 b1, b2, b3, b4;
u16 c1, c2, c3, c4;
};
void hdmi5_core_ddc_init(struct hdmi_core_data *core);
int hdmi5_core_ddc_read(void *data, u8 *buf, unsigned int block, size_t len);
void hdmi5_core_ddc_uninit(struct hdmi_core_data *core);
void hdmi5_core_dump(struct hdmi_core_data *core, struct seq_file *s);
void hdmi5_configure(struct hdmi_core_data *core, struct hdmi_wp_data *wp,
struct hdmi_config *cfg);
int hdmi5_core_init(struct platform_device *pdev, struct hdmi_core_data *core);
int hdmi5_audio_config(struct hdmi_core_data *core, struct hdmi_wp_data *wp,
struct omap_dss_audio *audio, u32 pclk);
#endif
Messung V0.5 in Prozent C=95 H=100 G=97
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-10-03)
¤
*© Formatika GbR, Deutschland