230 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Copyright (C) Fuzhou Rockchip Electronics Co.Ltd4 * Zheng Yang <zhengyang@rock-chips.com>5 */6 7#ifndef __RK3066_HDMI_H__8#define __RK3066_HDMI_H__9 10#define GRF_SOC_CON0 0x15011#define HDMI_VIDEO_SEL BIT(14)12 13#define DDC_SEGMENT_ADDR 0x3014#define HDMI_SCL_RATE (50 * 1000)15#define HDMI_MAXIMUM_INFO_FRAME_SIZE 0x1116 17#define N_32K 0x100018#define N_441K 0x188019#define N_882K 0x310020#define N_1764K 0x620021#define N_48K 0x180022#define N_96K 0x300023#define N_192K 0x600024 25#define HDMI_SYS_CTRL 0x00026#define HDMI_LR_SWAP_N3 0x00427#define HDMI_N2 0x00828#define HDMI_N1 0x00c29#define HDMI_SPDIF_FS_CTS_INT3 0x01030#define HDMI_CTS_INT2 0x01431#define HDMI_CTS_INT1 0x01832#define HDMI_CTS_EXT3 0x01c33#define HDMI_CTS_EXT2 0x02034#define HDMI_CTS_EXT1 0x02435#define HDMI_AUDIO_CTRL1 0x02836#define HDMI_AUDIO_CTRL2 0x02c37#define HDMI_I2S_AUDIO_CTRL 0x03038#define HDMI_I2S_SWAP 0x04039#define HDMI_AUDIO_STA_BIT_CTRL1 0x04440#define HDMI_AUDIO_STA_BIT_CTRL2 0x04841#define HDMI_AUDIO_SRC_NUM_AND_LENGTH 0x05042#define HDMI_AV_CTRL1 0x05443#define HDMI_VIDEO_CTRL1 0x05844#define HDMI_DEEP_COLOR_MODE 0x05c45 46#define HDMI_EXT_VIDEO_PARA 0x0c047#define HDMI_EXT_HTOTAL_L 0x0c448#define HDMI_EXT_HTOTAL_H 0x0c849#define HDMI_EXT_HBLANK_L 0x0cc50#define HDMI_EXT_HBLANK_H 0x0d051#define HDMI_EXT_HDELAY_L 0x0d452#define HDMI_EXT_HDELAY_H 0x0d853#define HDMI_EXT_HDURATION_L 0x0dc54#define HDMI_EXT_HDURATION_H 0x0e055#define HDMI_EXT_VTOTAL_L 0x0e456#define HDMI_EXT_VTOTAL_H 0x0e857#define HDMI_AV_CTRL2 0x0ec58#define HDMI_EXT_VBLANK_L 0x0f459#define HDMI_EXT_VBLANK_H 0x10c60#define HDMI_EXT_VDELAY 0x0f861#define HDMI_EXT_VDURATION 0x0fc62 63#define HDMI_CP_MANU_SEND_CTRL 0x10064#define HDMI_CP_AUTO_SEND_CTRL 0x10465#define HDMI_AUTO_CHECKSUM_OPT 0x10866 67#define HDMI_VIDEO_CTRL2 0x11468 69#define HDMI_PHY_OPTION 0x14470 71#define HDMI_CP_BUF_INDEX 0x17c72#define HDMI_CP_BUF_ACC_HB0 0x18073#define HDMI_CP_BUF_ACC_HB1 0x18474#define HDMI_CP_BUF_ACC_HB2 0x18875#define HDMI_CP_BUF_ACC_PB0 0x18c76 77#define HDMI_DDC_READ_FIFO_ADDR 0x20078#define HDMI_DDC_BUS_FREQ_L 0x20479#define HDMI_DDC_BUS_FREQ_H 0x20880#define HDMI_DDC_BUS_CTRL 0x2dc81#define HDMI_DDC_I2C_LEN 0x27882#define HDMI_DDC_I2C_OFFSET 0x28083#define HDMI_DDC_I2C_CTRL 0x28484#define HDMI_DDC_I2C_READ_BUF0 0x28885#define HDMI_DDC_I2C_READ_BUF1 0x28c86#define HDMI_DDC_I2C_READ_BUF2 0x29087#define HDMI_DDC_I2C_READ_BUF3 0x29488#define HDMI_DDC_I2C_WRITE_BUF0 0x29889#define HDMI_DDC_I2C_WRITE_BUF1 0x29c90#define HDMI_DDC_I2C_WRITE_BUF2 0x2a091#define HDMI_DDC_I2C_WRITE_BUF3 0x2a492#define HDMI_DDC_I2C_WRITE_BUF4 0x2ac93#define HDMI_DDC_I2C_WRITE_BUF5 0x2b094#define HDMI_DDC_I2C_WRITE_BUF6 0x2b495 96#define HDMI_INTR_MASK1 0x24897#define HDMI_INTR_MASK2 0x24c98#define HDMI_INTR_STATUS1 0x25099#define HDMI_INTR_STATUS2 0x254100#define HDMI_INTR_MASK3 0x258101#define HDMI_INTR_MASK4 0x25c102#define HDMI_INTR_STATUS3 0x260103#define HDMI_INTR_STATUS4 0x264104 105#define HDMI_HDCP_CTRL 0x2bc106 107#define HDMI_EDID_SEGMENT_POINTER 0x310108#define HDMI_EDID_WORD_ADDR 0x314109#define HDMI_EDID_FIFO_ADDR 0x318110 111#define HDMI_HPG_MENS_STA 0x37c112 113#define HDMI_INTERNAL_CLK_DIVIDER 0x800114 115enum {116 /* HDMI_SYS_CTRL */117 HDMI_SYS_POWER_MODE_MASK = 0xf0,118 HDMI_SYS_POWER_MODE_A = 0x10,119 HDMI_SYS_POWER_MODE_B = 0x20,120 HDMI_SYS_POWER_MODE_D = 0x40,121 HDMI_SYS_POWER_MODE_E = 0x80,122 HDMI_SYS_PLL_RESET_MASK = 0x0c,123 HDMI_SYS_PLL_RESET = 0x0c,124 HDMI_SYS_PLLB_RESET = 0x08,125 126 /* HDMI_LR_SWAP_N3 */127 HDMI_AUDIO_LR_SWAP_MASK = 0xf0,128 HDMI_AUDIO_LR_SWAP_SUBPACKET0 = 0x10,129 HDMI_AUDIO_LR_SWAP_SUBPACKET1 = 0x20,130 HDMI_AUDIO_LR_SWAP_SUBPACKET2 = 0x40,131 HDMI_AUDIO_LR_SWAP_SUBPACKET3 = 0x80,132 HDMI_AUDIO_N_19_16_MASK = 0x0f,133 134 /* HDMI_AUDIO_CTRL1 */135 HDMI_AUDIO_EXTERNAL_CTS = BIT(7),136 HDMI_AUDIO_INPUT_IIS = 0,137 HDMI_AUDIO_INPUT_SPDIF = 0x08,138 HDMI_AUDIO_INPUT_MCLK_ACTIVE = 0x04,139 HDMI_AUDIO_INPUT_MCLK_DEACTIVE = 0,140 HDMI_AUDIO_INPUT_MCLK_RATE_128X = 0,141 HDMI_AUDIO_INPUT_MCLK_RATE_256X = 1,142 HDMI_AUDIO_INPUT_MCLK_RATE_384X = 2,143 HDMI_AUDIO_INPUT_MCLK_RATE_512X = 3,144 145 /* HDMI_I2S_AUDIO_CTRL */146 HDMI_AUDIO_I2S_FORMAT_STANDARD = 0,147 HDMI_AUDIO_I2S_CHANNEL_1_2 = 0x04,148 HDMI_AUDIO_I2S_CHANNEL_3_4 = 0x0c,149 HDMI_AUDIO_I2S_CHANNEL_5_6 = 0x1c,150 HDMI_AUDIO_I2S_CHANNEL_7_8 = 0x3c,151 152 /* HDMI_AV_CTRL1 */153 HDMI_AUDIO_SAMPLE_FRE_MASK = 0xf0,154 HDMI_AUDIO_SAMPLE_FRE_32000 = 0x30,155 HDMI_AUDIO_SAMPLE_FRE_44100 = 0,156 HDMI_AUDIO_SAMPLE_FRE_48000 = 0x20,157 HDMI_AUDIO_SAMPLE_FRE_88200 = 0x80,158 HDMI_AUDIO_SAMPLE_FRE_96000 = 0xa0,159 HDMI_AUDIO_SAMPLE_FRE_176400 = 0xc0,160 HDMI_AUDIO_SAMPLE_FRE_192000 = 0xe0,161 HDMI_AUDIO_SAMPLE_FRE_768000 = 0x90,162 163 HDMI_VIDEO_INPUT_FORMAT_MASK = 0x0e,164 HDMI_VIDEO_INPUT_RGB_YCBCR444 = 0,165 HDMI_VIDEO_INPUT_YCBCR422 = 0x02,166 HDMI_VIDEO_DE_MASK = 0x1,167 HDMI_VIDEO_INTERNAL_DE = 0,168 HDMI_VIDEO_EXTERNAL_DE = 0x01,169 170 /* HDMI_VIDEO_CTRL1 */171 HDMI_VIDEO_OUTPUT_FORMAT_MASK = 0xc0,172 HDMI_VIDEO_OUTPUT_RGB444 = 0,173 HDMI_VIDEO_OUTPUT_YCBCR444 = 0x40,174 HDMI_VIDEO_OUTPUT_YCBCR422 = 0x80,175 HDMI_VIDEO_INPUT_DATA_DEPTH_MASK = 0x30,176 HDMI_VIDEO_INPUT_DATA_DEPTH_12BIT = 0,177 HDMI_VIDEO_INPUT_DATA_DEPTH_10BIT = 0x10,178 HDMI_VIDEO_INPUT_DATA_DEPTH_8BIT = 0x30,179 HDMI_VIDEO_INPUT_COLOR_MASK = 1,180 HDMI_VIDEO_INPUT_COLOR_RGB = 0,181 HDMI_VIDEO_INPUT_COLOR_YCBCR = 1,182 183 /* HDMI_EXT_VIDEO_PARA */184 HDMI_VIDEO_VSYNC_OFFSET_SHIFT = 4,185 HDMI_VIDEO_VSYNC_ACTIVE_HIGH = BIT(3),186 HDMI_VIDEO_VSYNC_ACTIVE_LOW = 0,187 HDMI_VIDEO_HSYNC_ACTIVE_HIGH = BIT(2),188 HDMI_VIDEO_HSYNC_ACTIVE_LOW = 0,189 HDMI_VIDEO_MODE_INTERLACE = BIT(1),190 HDMI_VIDEO_MODE_PROGRESSIVE = 0,191 HDMI_EXT_VIDEO_SET_EN = BIT(0),192 193 /* HDMI_CP_AUTO_SEND_CTRL */194 195 /* HDMI_VIDEO_CTRL2 */196 HDMI_VIDEO_AV_MUTE_MASK = 0xc0,197 HDMI_VIDEO_CLR_AV_MUTE = BIT(7),198 HDMI_VIDEO_SET_AV_MUTE = BIT(6),199 HDMI_AUDIO_CP_LOGIC_RESET_MASK = BIT(2),200 HDMI_AUDIO_CP_LOGIC_RESET = BIT(2),201 HDMI_VIDEO_AUDIO_DISABLE_MASK = 0x3,202 HDMI_AUDIO_DISABLE = BIT(1),203 HDMI_VIDEO_DISABLE = BIT(0),204 205 /* HDMI_CP_BUF_INDEX */206 HDMI_INFOFRAME_VSI = 0x05,207 HDMI_INFOFRAME_AVI = 0x06,208 HDMI_INFOFRAME_AAI = 0x08,209 210 /* HDMI_INTR_MASK1 */211 /* HDMI_INTR_STATUS1 */212 HDMI_INTR_HOTPLUG = BIT(7),213 HDMI_INTR_MSENS = BIT(6),214 HDMI_INTR_VSYNC = BIT(5),215 HDMI_INTR_AUDIO_FIFO_FULL = BIT(4),216 HDMI_INTR_EDID_MASK = 0x6,217 HDMI_INTR_EDID_READY = BIT(2),218 HDMI_INTR_EDID_ERR = BIT(1),219 220 /* HDMI_HDCP_CTRL */221 HDMI_VIDEO_MODE_MASK = BIT(1),222 HDMI_VIDEO_MODE_HDMI = BIT(1),223 224 /* HDMI_HPG_MENS_STA */225 HDMI_HPG_IN_STATUS_HIGH = BIT(7),226 HDMI_MSENS_IN_STATUS_HIGH = BIT(6),227};228 229#endif /* __RK3066_HDMI_H__ */230