mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 10:49:33 +00:00
drm/exynos: add HDMI version 1.4 support
Later Exynos series from Exynos4X12 support HDMI version 1.4. We will distinguish to use which version via platform data. This patch supports only default features of HDMI version 1.4(The 3D, sound and etc don't support yet) Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
22b21ae6b8
commit
3ecd70b18c
4 changed files with 1332 additions and 152 deletions
File diff suppressed because it is too large
Load diff
|
@ -28,15 +28,6 @@
|
|||
#ifndef _EXYNOS_HDMI_H_
|
||||
#define _EXYNOS_HDMI_H_
|
||||
|
||||
struct hdmi_conf {
|
||||
int width;
|
||||
int height;
|
||||
int vrefresh;
|
||||
bool interlace;
|
||||
const u8 *hdmiphy_data;
|
||||
const struct hdmi_preset_conf *conf;
|
||||
};
|
||||
|
||||
struct hdmi_resources {
|
||||
struct clk *hdmi;
|
||||
struct clk *sclk_hdmi;
|
||||
|
@ -51,6 +42,7 @@ struct hdmi_context {
|
|||
struct device *dev;
|
||||
struct drm_device *drm_dev;
|
||||
struct fb_videomode *default_timing;
|
||||
unsigned int is_v13:1;
|
||||
unsigned int default_win;
|
||||
unsigned int default_bpp;
|
||||
bool hpd_handle;
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
* Register part
|
||||
*/
|
||||
|
||||
/* HDMI Version 1.3 & Common */
|
||||
#define HDMI_CTRL_BASE(x) ((x) + 0x00000000)
|
||||
#define HDMI_CORE_BASE(x) ((x) + 0x00010000)
|
||||
#define HDMI_TG_BASE(x) ((x) + 0x00050000)
|
||||
|
@ -27,56 +28,57 @@
|
|||
#define HDMI_INTC_CON HDMI_CTRL_BASE(0x0000)
|
||||
#define HDMI_INTC_FLAG HDMI_CTRL_BASE(0x0004)
|
||||
#define HDMI_HPD_STATUS HDMI_CTRL_BASE(0x000C)
|
||||
#define HDMI_PHY_RSTOUT HDMI_CTRL_BASE(0x0014)
|
||||
#define HDMI_PHY_VPLL HDMI_CTRL_BASE(0x0018)
|
||||
#define HDMI_PHY_CMU HDMI_CTRL_BASE(0x001C)
|
||||
#define HDMI_CORE_RSTOUT HDMI_CTRL_BASE(0x0020)
|
||||
#define HDMI_V13_PHY_RSTOUT HDMI_CTRL_BASE(0x0014)
|
||||
#define HDMI_V13_PHY_VPLL HDMI_CTRL_BASE(0x0018)
|
||||
#define HDMI_V13_PHY_CMU HDMI_CTRL_BASE(0x001C)
|
||||
#define HDMI_V13_CORE_RSTOUT HDMI_CTRL_BASE(0x0020)
|
||||
|
||||
/* Core registers */
|
||||
#define HDMI_CON_0 HDMI_CORE_BASE(0x0000)
|
||||
#define HDMI_CON_1 HDMI_CORE_BASE(0x0004)
|
||||
#define HDMI_CON_2 HDMI_CORE_BASE(0x0008)
|
||||
#define HDMI_SYS_STATUS HDMI_CORE_BASE(0x0010)
|
||||
#define HDMI_PHY_STATUS HDMI_CORE_BASE(0x0014)
|
||||
#define HDMI_V13_PHY_STATUS HDMI_CORE_BASE(0x0014)
|
||||
#define HDMI_STATUS_EN HDMI_CORE_BASE(0x0020)
|
||||
#define HDMI_HPD HDMI_CORE_BASE(0x0030)
|
||||
#define HDMI_MODE_SEL HDMI_CORE_BASE(0x0040)
|
||||
#define HDMI_BLUE_SCREEN_0 HDMI_CORE_BASE(0x0050)
|
||||
#define HDMI_BLUE_SCREEN_1 HDMI_CORE_BASE(0x0054)
|
||||
#define HDMI_BLUE_SCREEN_2 HDMI_CORE_BASE(0x0058)
|
||||
#define HDMI_ENC_EN HDMI_CORE_BASE(0x0044)
|
||||
#define HDMI_V13_BLUE_SCREEN_0 HDMI_CORE_BASE(0x0050)
|
||||
#define HDMI_V13_BLUE_SCREEN_1 HDMI_CORE_BASE(0x0054)
|
||||
#define HDMI_V13_BLUE_SCREEN_2 HDMI_CORE_BASE(0x0058)
|
||||
#define HDMI_H_BLANK_0 HDMI_CORE_BASE(0x00A0)
|
||||
#define HDMI_H_BLANK_1 HDMI_CORE_BASE(0x00A4)
|
||||
#define HDMI_V_BLANK_0 HDMI_CORE_BASE(0x00B0)
|
||||
#define HDMI_V_BLANK_1 HDMI_CORE_BASE(0x00B4)
|
||||
#define HDMI_V_BLANK_2 HDMI_CORE_BASE(0x00B8)
|
||||
#define HDMI_H_V_LINE_0 HDMI_CORE_BASE(0x00C0)
|
||||
#define HDMI_H_V_LINE_1 HDMI_CORE_BASE(0x00C4)
|
||||
#define HDMI_H_V_LINE_2 HDMI_CORE_BASE(0x00C8)
|
||||
#define HDMI_V13_V_BLANK_0 HDMI_CORE_BASE(0x00B0)
|
||||
#define HDMI_V13_V_BLANK_1 HDMI_CORE_BASE(0x00B4)
|
||||
#define HDMI_V13_V_BLANK_2 HDMI_CORE_BASE(0x00B8)
|
||||
#define HDMI_V13_H_V_LINE_0 HDMI_CORE_BASE(0x00C0)
|
||||
#define HDMI_V13_H_V_LINE_1 HDMI_CORE_BASE(0x00C4)
|
||||
#define HDMI_V13_H_V_LINE_2 HDMI_CORE_BASE(0x00C8)
|
||||
#define HDMI_VSYNC_POL HDMI_CORE_BASE(0x00E4)
|
||||
#define HDMI_INT_PRO_MODE HDMI_CORE_BASE(0x00E8)
|
||||
#define HDMI_V_BLANK_F_0 HDMI_CORE_BASE(0x0110)
|
||||
#define HDMI_V_BLANK_F_1 HDMI_CORE_BASE(0x0114)
|
||||
#define HDMI_V_BLANK_F_2 HDMI_CORE_BASE(0x0118)
|
||||
#define HDMI_H_SYNC_GEN_0 HDMI_CORE_BASE(0x0120)
|
||||
#define HDMI_H_SYNC_GEN_1 HDMI_CORE_BASE(0x0124)
|
||||
#define HDMI_H_SYNC_GEN_2 HDMI_CORE_BASE(0x0128)
|
||||
#define HDMI_V_SYNC_GEN_1_0 HDMI_CORE_BASE(0x0130)
|
||||
#define HDMI_V_SYNC_GEN_1_1 HDMI_CORE_BASE(0x0134)
|
||||
#define HDMI_V_SYNC_GEN_1_2 HDMI_CORE_BASE(0x0138)
|
||||
#define HDMI_V_SYNC_GEN_2_0 HDMI_CORE_BASE(0x0140)
|
||||
#define HDMI_V_SYNC_GEN_2_1 HDMI_CORE_BASE(0x0144)
|
||||
#define HDMI_V_SYNC_GEN_2_2 HDMI_CORE_BASE(0x0148)
|
||||
#define HDMI_V_SYNC_GEN_3_0 HDMI_CORE_BASE(0x0150)
|
||||
#define HDMI_V_SYNC_GEN_3_1 HDMI_CORE_BASE(0x0154)
|
||||
#define HDMI_V_SYNC_GEN_3_2 HDMI_CORE_BASE(0x0158)
|
||||
#define HDMI_ACR_CON HDMI_CORE_BASE(0x0180)
|
||||
#define HDMI_AVI_CON HDMI_CORE_BASE(0x0300)
|
||||
#define HDMI_AVI_BYTE(n) HDMI_CORE_BASE(0x0320 + 4 * (n))
|
||||
#define HDMI_DC_CONTROL HDMI_CORE_BASE(0x05C0)
|
||||
#define HDMI_VIDEO_PATTERN_GEN HDMI_CORE_BASE(0x05C4)
|
||||
#define HDMI_HPD_GEN HDMI_CORE_BASE(0x05C8)
|
||||
#define HDMI_AUI_CON HDMI_CORE_BASE(0x0360)
|
||||
#define HDMI_SPD_CON HDMI_CORE_BASE(0x0400)
|
||||
#define HDMI_V13_V_BLANK_F_0 HDMI_CORE_BASE(0x0110)
|
||||
#define HDMI_V13_V_BLANK_F_1 HDMI_CORE_BASE(0x0114)
|
||||
#define HDMI_V13_V_BLANK_F_2 HDMI_CORE_BASE(0x0118)
|
||||
#define HDMI_V13_H_SYNC_GEN_0 HDMI_CORE_BASE(0x0120)
|
||||
#define HDMI_V13_H_SYNC_GEN_1 HDMI_CORE_BASE(0x0124)
|
||||
#define HDMI_V13_H_SYNC_GEN_2 HDMI_CORE_BASE(0x0128)
|
||||
#define HDMI_V13_V_SYNC_GEN_1_0 HDMI_CORE_BASE(0x0130)
|
||||
#define HDMI_V13_V_SYNC_GEN_1_1 HDMI_CORE_BASE(0x0134)
|
||||
#define HDMI_V13_V_SYNC_GEN_1_2 HDMI_CORE_BASE(0x0138)
|
||||
#define HDMI_V13_V_SYNC_GEN_2_0 HDMI_CORE_BASE(0x0140)
|
||||
#define HDMI_V13_V_SYNC_GEN_2_1 HDMI_CORE_BASE(0x0144)
|
||||
#define HDMI_V13_V_SYNC_GEN_2_2 HDMI_CORE_BASE(0x0148)
|
||||
#define HDMI_V13_V_SYNC_GEN_3_0 HDMI_CORE_BASE(0x0150)
|
||||
#define HDMI_V13_V_SYNC_GEN_3_1 HDMI_CORE_BASE(0x0154)
|
||||
#define HDMI_V13_V_SYNC_GEN_3_2 HDMI_CORE_BASE(0x0158)
|
||||
#define HDMI_V13_ACR_CON HDMI_CORE_BASE(0x0180)
|
||||
#define HDMI_V13_AVI_CON HDMI_CORE_BASE(0x0300)
|
||||
#define HDMI_V13_AVI_BYTE(n) HDMI_CORE_BASE(0x0320 + 4 * (n))
|
||||
#define HDMI_V13_DC_CONTROL HDMI_CORE_BASE(0x05C0)
|
||||
#define HDMI_V13_VIDEO_PATTERN_GEN HDMI_CORE_BASE(0x05C4)
|
||||
#define HDMI_V13_HPD_GEN HDMI_CORE_BASE(0x05C8)
|
||||
#define HDMI_V13_AUI_CON HDMI_CORE_BASE(0x0360)
|
||||
#define HDMI_V13_SPD_CON HDMI_CORE_BASE(0x0400)
|
||||
|
||||
/* Timing generator registers */
|
||||
#define HDMI_TG_CMD HDMI_TG_BASE(0x0000)
|
||||
|
@ -144,4 +146,234 @@
|
|||
#define HDMI_TG_EN (1 << 0)
|
||||
#define HDMI_FIELD_EN (1 << 1)
|
||||
|
||||
|
||||
/* HDMI Version 1.4 */
|
||||
/* Control registers */
|
||||
/* #define HDMI_INTC_CON HDMI_CTRL_BASE(0x0000) */
|
||||
/* #define HDMI_INTC_FLAG HDMI_CTRL_BASE(0x0004) */
|
||||
#define HDMI_HDCP_KEY_LOAD HDMI_CTRL_BASE(0x0008)
|
||||
/* #define HDMI_HPD_STATUS HDMI_CTRL_BASE(0x000C) */
|
||||
#define HDMI_INTC_CON_1 HDMI_CTRL_BASE(0x0010)
|
||||
#define HDMI_INTC_FLAG_1 HDMI_CTRL_BASE(0x0014)
|
||||
#define HDMI_PHY_STATUS_0 HDMI_CTRL_BASE(0x0020)
|
||||
#define HDMI_PHY_STATUS_CMU HDMI_CTRL_BASE(0x0024)
|
||||
#define HDMI_PHY_STATUS_PLL HDMI_CTRL_BASE(0x0028)
|
||||
#define HDMI_PHY_CON_0 HDMI_CTRL_BASE(0x0030)
|
||||
#define HDMI_HPD_CTRL HDMI_CTRL_BASE(0x0040)
|
||||
#define HDMI_HPD_ST HDMI_CTRL_BASE(0x0044)
|
||||
#define HDMI_HPD_TH_X HDMI_CTRL_BASE(0x0050)
|
||||
#define HDMI_AUDIO_CLKSEL HDMI_CTRL_BASE(0x0070)
|
||||
#define HDMI_PHY_RSTOUT HDMI_CTRL_BASE(0x0074)
|
||||
#define HDMI_PHY_VPLL HDMI_CTRL_BASE(0x0078)
|
||||
#define HDMI_PHY_CMU HDMI_CTRL_BASE(0x007C)
|
||||
#define HDMI_CORE_RSTOUT HDMI_CTRL_BASE(0x0080)
|
||||
|
||||
/* Video related registers */
|
||||
#define HDMI_YMAX HDMI_CORE_BASE(0x0060)
|
||||
#define HDMI_YMIN HDMI_CORE_BASE(0x0064)
|
||||
#define HDMI_CMAX HDMI_CORE_BASE(0x0068)
|
||||
#define HDMI_CMIN HDMI_CORE_BASE(0x006C)
|
||||
|
||||
#define HDMI_V2_BLANK_0 HDMI_CORE_BASE(0x00B0)
|
||||
#define HDMI_V2_BLANK_1 HDMI_CORE_BASE(0x00B4)
|
||||
#define HDMI_V1_BLANK_0 HDMI_CORE_BASE(0x00B8)
|
||||
#define HDMI_V1_BLANK_1 HDMI_CORE_BASE(0x00BC)
|
||||
|
||||
#define HDMI_V_LINE_0 HDMI_CORE_BASE(0x00C0)
|
||||
#define HDMI_V_LINE_1 HDMI_CORE_BASE(0x00C4)
|
||||
#define HDMI_H_LINE_0 HDMI_CORE_BASE(0x00C8)
|
||||
#define HDMI_H_LINE_1 HDMI_CORE_BASE(0x00CC)
|
||||
|
||||
#define HDMI_HSYNC_POL HDMI_CORE_BASE(0x00E0)
|
||||
|
||||
#define HDMI_V_BLANK_F0_0 HDMI_CORE_BASE(0x0110)
|
||||
#define HDMI_V_BLANK_F0_1 HDMI_CORE_BASE(0x0114)
|
||||
#define HDMI_V_BLANK_F1_0 HDMI_CORE_BASE(0x0118)
|
||||
#define HDMI_V_BLANK_F1_1 HDMI_CORE_BASE(0x011C)
|
||||
|
||||
#define HDMI_H_SYNC_START_0 HDMI_CORE_BASE(0x0120)
|
||||
#define HDMI_H_SYNC_START_1 HDMI_CORE_BASE(0x0124)
|
||||
#define HDMI_H_SYNC_END_0 HDMI_CORE_BASE(0x0128)
|
||||
#define HDMI_H_SYNC_END_1 HDMI_CORE_BASE(0x012C)
|
||||
|
||||
#define HDMI_V_SYNC_LINE_BEF_2_0 HDMI_CORE_BASE(0x0130)
|
||||
#define HDMI_V_SYNC_LINE_BEF_2_1 HDMI_CORE_BASE(0x0134)
|
||||
#define HDMI_V_SYNC_LINE_BEF_1_0 HDMI_CORE_BASE(0x0138)
|
||||
#define HDMI_V_SYNC_LINE_BEF_1_1 HDMI_CORE_BASE(0x013C)
|
||||
|
||||
#define HDMI_V_SYNC_LINE_AFT_2_0 HDMI_CORE_BASE(0x0140)
|
||||
#define HDMI_V_SYNC_LINE_AFT_2_1 HDMI_CORE_BASE(0x0144)
|
||||
#define HDMI_V_SYNC_LINE_AFT_1_0 HDMI_CORE_BASE(0x0148)
|
||||
#define HDMI_V_SYNC_LINE_AFT_1_1 HDMI_CORE_BASE(0x014C)
|
||||
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_2_0 HDMI_CORE_BASE(0x0150)
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_2_1 HDMI_CORE_BASE(0x0154)
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_1_0 HDMI_CORE_BASE(0x0158)
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_1_1 HDMI_CORE_BASE(0x015C)
|
||||
|
||||
#define HDMI_V_BLANK_F2_0 HDMI_CORE_BASE(0x0160)
|
||||
#define HDMI_V_BLANK_F2_1 HDMI_CORE_BASE(0x0164)
|
||||
#define HDMI_V_BLANK_F3_0 HDMI_CORE_BASE(0x0168)
|
||||
#define HDMI_V_BLANK_F3_1 HDMI_CORE_BASE(0x016C)
|
||||
#define HDMI_V_BLANK_F4_0 HDMI_CORE_BASE(0x0170)
|
||||
#define HDMI_V_BLANK_F4_1 HDMI_CORE_BASE(0x0174)
|
||||
#define HDMI_V_BLANK_F5_0 HDMI_CORE_BASE(0x0178)
|
||||
#define HDMI_V_BLANK_F5_1 HDMI_CORE_BASE(0x017C)
|
||||
|
||||
#define HDMI_V_SYNC_LINE_AFT_3_0 HDMI_CORE_BASE(0x0180)
|
||||
#define HDMI_V_SYNC_LINE_AFT_3_1 HDMI_CORE_BASE(0x0184)
|
||||
#define HDMI_V_SYNC_LINE_AFT_4_0 HDMI_CORE_BASE(0x0188)
|
||||
#define HDMI_V_SYNC_LINE_AFT_4_1 HDMI_CORE_BASE(0x018C)
|
||||
#define HDMI_V_SYNC_LINE_AFT_5_0 HDMI_CORE_BASE(0x0190)
|
||||
#define HDMI_V_SYNC_LINE_AFT_5_1 HDMI_CORE_BASE(0x0194)
|
||||
#define HDMI_V_SYNC_LINE_AFT_6_0 HDMI_CORE_BASE(0x0198)
|
||||
#define HDMI_V_SYNC_LINE_AFT_6_1 HDMI_CORE_BASE(0x019C)
|
||||
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_3_0 HDMI_CORE_BASE(0x01A0)
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_3_1 HDMI_CORE_BASE(0x01A4)
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_4_0 HDMI_CORE_BASE(0x01A8)
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_4_1 HDMI_CORE_BASE(0x01AC)
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_5_0 HDMI_CORE_BASE(0x01B0)
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_5_1 HDMI_CORE_BASE(0x01B4)
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_6_0 HDMI_CORE_BASE(0x01B8)
|
||||
#define HDMI_V_SYNC_LINE_AFT_PXL_6_1 HDMI_CORE_BASE(0x01BC)
|
||||
|
||||
#define HDMI_VACT_SPACE_1_0 HDMI_CORE_BASE(0x01C0)
|
||||
#define HDMI_VACT_SPACE_1_1 HDMI_CORE_BASE(0x01C4)
|
||||
#define HDMI_VACT_SPACE_2_0 HDMI_CORE_BASE(0x01C8)
|
||||
#define HDMI_VACT_SPACE_2_1 HDMI_CORE_BASE(0x01CC)
|
||||
#define HDMI_VACT_SPACE_3_0 HDMI_CORE_BASE(0x01D0)
|
||||
#define HDMI_VACT_SPACE_3_1 HDMI_CORE_BASE(0x01D4)
|
||||
#define HDMI_VACT_SPACE_4_0 HDMI_CORE_BASE(0x01D8)
|
||||
#define HDMI_VACT_SPACE_4_1 HDMI_CORE_BASE(0x01DC)
|
||||
#define HDMI_VACT_SPACE_5_0 HDMI_CORE_BASE(0x01E0)
|
||||
#define HDMI_VACT_SPACE_5_1 HDMI_CORE_BASE(0x01E4)
|
||||
#define HDMI_VACT_SPACE_6_0 HDMI_CORE_BASE(0x01E8)
|
||||
#define HDMI_VACT_SPACE_6_1 HDMI_CORE_BASE(0x01EC)
|
||||
|
||||
#define HDMI_GCP_CON HDMI_CORE_BASE(0x0200)
|
||||
#define HDMI_GCP_BYTE1 HDMI_CORE_BASE(0x0210)
|
||||
#define HDMI_GCP_BYTE2 HDMI_CORE_BASE(0x0214)
|
||||
#define HDMI_GCP_BYTE3 HDMI_CORE_BASE(0x0218)
|
||||
|
||||
/* Audio related registers */
|
||||
#define HDMI_ASP_CON HDMI_CORE_BASE(0x0300)
|
||||
#define HDMI_ASP_SP_FLAT HDMI_CORE_BASE(0x0304)
|
||||
#define HDMI_ASP_CHCFG0 HDMI_CORE_BASE(0x0310)
|
||||
#define HDMI_ASP_CHCFG1 HDMI_CORE_BASE(0x0314)
|
||||
#define HDMI_ASP_CHCFG2 HDMI_CORE_BASE(0x0318)
|
||||
#define HDMI_ASP_CHCFG3 HDMI_CORE_BASE(0x031C)
|
||||
|
||||
#define HDMI_ACR_CON HDMI_CORE_BASE(0x0400)
|
||||
#define HDMI_ACR_MCTS0 HDMI_CORE_BASE(0x0410)
|
||||
#define HDMI_ACR_MCTS1 HDMI_CORE_BASE(0x0414)
|
||||
#define HDMI_ACR_MCTS2 HDMI_CORE_BASE(0x0418)
|
||||
#define HDMI_ACR_N0 HDMI_CORE_BASE(0x0430)
|
||||
#define HDMI_ACR_N1 HDMI_CORE_BASE(0x0434)
|
||||
#define HDMI_ACR_N2 HDMI_CORE_BASE(0x0438)
|
||||
|
||||
/* Packet related registers */
|
||||
#define HDMI_ACP_CON HDMI_CORE_BASE(0x0500)
|
||||
#define HDMI_ACP_TYPE HDMI_CORE_BASE(0x0514)
|
||||
#define HDMI_ACP_DATA(n) HDMI_CORE_BASE(0x0520 + 4 * (n))
|
||||
|
||||
#define HDMI_ISRC_CON HDMI_CORE_BASE(0x0600)
|
||||
#define HDMI_ISRC1_HEADER1 HDMI_CORE_BASE(0x0614)
|
||||
#define HDMI_ISRC1_DATA(n) HDMI_CORE_BASE(0x0620 + 4 * (n))
|
||||
#define HDMI_ISRC2_DATA(n) HDMI_CORE_BASE(0x06A0 + 4 * (n))
|
||||
|
||||
#define HDMI_AVI_CON HDMI_CORE_BASE(0x0700)
|
||||
#define HDMI_AVI_HEADER0 HDMI_CORE_BASE(0x0710)
|
||||
#define HDMI_AVI_HEADER1 HDMI_CORE_BASE(0x0714)
|
||||
#define HDMI_AVI_HEADER2 HDMI_CORE_BASE(0x0718)
|
||||
#define HDMI_AVI_CHECK_SUM HDMI_CORE_BASE(0x071C)
|
||||
#define HDMI_AVI_BYTE(n) HDMI_CORE_BASE(0x0720 + 4 * (n))
|
||||
|
||||
#define HDMI_AUI_CON HDMI_CORE_BASE(0x0800)
|
||||
#define HDMI_AUI_HEADER0 HDMI_CORE_BASE(0x0810)
|
||||
#define HDMI_AUI_HEADER1 HDMI_CORE_BASE(0x0814)
|
||||
#define HDMI_AUI_HEADER2 HDMI_CORE_BASE(0x0818)
|
||||
#define HDMI_AUI_CHECK_SUM HDMI_CORE_BASE(0x081C)
|
||||
#define HDMI_AUI_BYTE(n) HDMI_CORE_BASE(0x0820 + 4 * (n))
|
||||
|
||||
#define HDMI_MPG_CON HDMI_CORE_BASE(0x0900)
|
||||
#define HDMI_MPG_CHECK_SUM HDMI_CORE_BASE(0x091C)
|
||||
#define HDMI_MPG_DATA(n) HDMI_CORE_BASE(0x0920 + 4 * (n))
|
||||
|
||||
#define HDMI_SPD_CON HDMI_CORE_BASE(0x0A00)
|
||||
#define HDMI_SPD_HEADER0 HDMI_CORE_BASE(0x0A10)
|
||||
#define HDMI_SPD_HEADER1 HDMI_CORE_BASE(0x0A14)
|
||||
#define HDMI_SPD_HEADER2 HDMI_CORE_BASE(0x0A18)
|
||||
#define HDMI_SPD_DATA(n) HDMI_CORE_BASE(0x0A20 + 4 * (n))
|
||||
|
||||
#define HDMI_GAMUT_CON HDMI_CORE_BASE(0x0B00)
|
||||
#define HDMI_GAMUT_HEADER0 HDMI_CORE_BASE(0x0B10)
|
||||
#define HDMI_GAMUT_HEADER1 HDMI_CORE_BASE(0x0B14)
|
||||
#define HDMI_GAMUT_HEADER2 HDMI_CORE_BASE(0x0B18)
|
||||
#define HDMI_GAMUT_METADATA(n) HDMI_CORE_BASE(0x0B20 + 4 * (n))
|
||||
|
||||
#define HDMI_VSI_CON HDMI_CORE_BASE(0x0C00)
|
||||
#define HDMI_VSI_HEADER0 HDMI_CORE_BASE(0x0C10)
|
||||
#define HDMI_VSI_HEADER1 HDMI_CORE_BASE(0x0C14)
|
||||
#define HDMI_VSI_HEADER2 HDMI_CORE_BASE(0x0C18)
|
||||
#define HDMI_VSI_DATA(n) HDMI_CORE_BASE(0x0C20 + 4 * (n))
|
||||
|
||||
#define HDMI_DC_CONTROL HDMI_CORE_BASE(0x0D00)
|
||||
#define HDMI_VIDEO_PATTERN_GEN HDMI_CORE_BASE(0x0D04)
|
||||
|
||||
#define HDMI_AN_SEED_SEL HDMI_CORE_BASE(0x0E48)
|
||||
#define HDMI_AN_SEED_0 HDMI_CORE_BASE(0x0E58)
|
||||
#define HDMI_AN_SEED_1 HDMI_CORE_BASE(0x0E5C)
|
||||
#define HDMI_AN_SEED_2 HDMI_CORE_BASE(0x0E60)
|
||||
#define HDMI_AN_SEED_3 HDMI_CORE_BASE(0x0E64)
|
||||
|
||||
/* HDCP related registers */
|
||||
#define HDMI_HDCP_SHA1(n) HDMI_CORE_BASE(0x7000 + 4 * (n))
|
||||
#define HDMI_HDCP_KSV_LIST(n) HDMI_CORE_BASE(0x7050 + 4 * (n))
|
||||
|
||||
#define HDMI_HDCP_KSV_LIST_CON HDMI_CORE_BASE(0x7064)
|
||||
#define HDMI_HDCP_SHA_RESULT HDMI_CORE_BASE(0x7070)
|
||||
#define HDMI_HDCP_CTRL1 HDMI_CORE_BASE(0x7080)
|
||||
#define HDMI_HDCP_CTRL2 HDMI_CORE_BASE(0x7084)
|
||||
#define HDMI_HDCP_CHECK_RESULT HDMI_CORE_BASE(0x7090)
|
||||
#define HDMI_HDCP_BKSV(n) HDMI_CORE_BASE(0x70A0 + 4 * (n))
|
||||
#define HDMI_HDCP_AKSV(n) HDMI_CORE_BASE(0x70C0 + 4 * (n))
|
||||
#define HDMI_HDCP_AN(n) HDMI_CORE_BASE(0x70E0 + 4 * (n))
|
||||
|
||||
#define HDMI_HDCP_BCAPS HDMI_CORE_BASE(0x7100)
|
||||
#define HDMI_HDCP_BSTATUS_0 HDMI_CORE_BASE(0x7110)
|
||||
#define HDMI_HDCP_BSTATUS_1 HDMI_CORE_BASE(0x7114)
|
||||
#define HDMI_HDCP_RI_0 HDMI_CORE_BASE(0x7140)
|
||||
#define HDMI_HDCP_RI_1 HDMI_CORE_BASE(0x7144)
|
||||
#define HDMI_HDCP_I2C_INT HDMI_CORE_BASE(0x7180)
|
||||
#define HDMI_HDCP_AN_INT HDMI_CORE_BASE(0x7190)
|
||||
#define HDMI_HDCP_WDT_INT HDMI_CORE_BASE(0x71A0)
|
||||
#define HDMI_HDCP_RI_INT HDMI_CORE_BASE(0x71B0)
|
||||
#define HDMI_HDCP_RI_COMPARE_0 HDMI_CORE_BASE(0x71D0)
|
||||
#define HDMI_HDCP_RI_COMPARE_1 HDMI_CORE_BASE(0x71D4)
|
||||
#define HDMI_HDCP_FRAME_COUNT HDMI_CORE_BASE(0x71E0)
|
||||
|
||||
#define HDMI_RGB_ROUND_EN HDMI_CORE_BASE(0xD500)
|
||||
#define HDMI_VACT_SPACE_R_0 HDMI_CORE_BASE(0xD504)
|
||||
#define HDMI_VACT_SPACE_R_1 HDMI_CORE_BASE(0xD508)
|
||||
#define HDMI_VACT_SPACE_G_0 HDMI_CORE_BASE(0xD50C)
|
||||
#define HDMI_VACT_SPACE_G_1 HDMI_CORE_BASE(0xD510)
|
||||
#define HDMI_VACT_SPACE_B_0 HDMI_CORE_BASE(0xD514)
|
||||
#define HDMI_VACT_SPACE_B_1 HDMI_CORE_BASE(0xD518)
|
||||
|
||||
#define HDMI_BLUE_SCREEN_B_0 HDMI_CORE_BASE(0xD520)
|
||||
#define HDMI_BLUE_SCREEN_B_1 HDMI_CORE_BASE(0xD524)
|
||||
#define HDMI_BLUE_SCREEN_G_0 HDMI_CORE_BASE(0xD528)
|
||||
#define HDMI_BLUE_SCREEN_G_1 HDMI_CORE_BASE(0xD52C)
|
||||
#define HDMI_BLUE_SCREEN_R_0 HDMI_CORE_BASE(0xD530)
|
||||
#define HDMI_BLUE_SCREEN_R_1 HDMI_CORE_BASE(0xD534)
|
||||
|
||||
/* Timing generator registers */
|
||||
/* TG configure/status registers */
|
||||
#define HDMI_TG_VACT_ST3_L HDMI_TG_BASE(0x0068)
|
||||
#define HDMI_TG_VACT_ST3_H HDMI_TG_BASE(0x006c)
|
||||
#define HDMI_TG_VACT_ST4_L HDMI_TG_BASE(0x0070)
|
||||
#define HDMI_TG_VACT_ST4_H HDMI_TG_BASE(0x0074)
|
||||
#define HDMI_TG_3D HDMI_TG_BASE(0x00F0)
|
||||
|
||||
#endif /* SAMSUNG_REGS_HDMI_H */
|
||||
|
|
|
@ -147,11 +147,13 @@ struct exynos_drm_common_hdmi_pd {
|
|||
* @timing: default video mode for initializing
|
||||
* @default_win: default window layer number to be used for UI.
|
||||
* @bpp: default bit per pixel.
|
||||
* @is_v13: set if hdmi version 13 is.
|
||||
*/
|
||||
struct exynos_drm_hdmi_pdata {
|
||||
struct fb_videomode timing;
|
||||
unsigned int default_win;
|
||||
unsigned int bpp;
|
||||
unsigned int is_v13:1;
|
||||
};
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
|
Loading…
Reference in a new issue