466 lines
17 KiB
C
466 lines
17 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (c) 2021 Rockchip Electronics Co. Ltd.
|
|
*
|
|
* Author: Dingxian Wen <shawn.wen@rock-chips.com>
|
|
*/
|
|
|
|
#ifndef __RK_HDMIRX_H__
|
|
#define __RK_HDMIRX_H__
|
|
|
|
#include <linux/bitops.h>
|
|
|
|
#define UPDATE(x, h, l) (((x) << (l)) & GENMASK((h), (l)))
|
|
#define HIWORD_UPDATE(v, h, l) (((v) << (l)) | (GENMASK((h), (l)) << 16))
|
|
|
|
// -------------------- SYS_GRF ---------------------------------
|
|
#define SYS_GRF_SOC_CON1 0x0304
|
|
#define HDMIRXPHY_SRAM_EXT_LD_DONE BIT(1)
|
|
#define HDMIRXPHY_SRAM_BYPASS BIT(0)
|
|
#define SYS_GRF_SOC_STATUS1 0x0384
|
|
#define HDMIRXPHY_SRAM_INIT_DONE BIT(10)
|
|
#define SYS_GRF_CHIP_ID 0x0600
|
|
|
|
// -------------------- VO1_GRF ---------------------------------
|
|
#define VO1_GRF_VO1_CON1 0x0004
|
|
#define HDCP1_P0_GPIO_IN_SEL BIT(8)
|
|
|
|
#define VO1_GRF_VO1_CON2 0x0008
|
|
#define HDCP1_GATING_EN BIT(10)
|
|
#define HDMIRX_SDAIN_MSK BIT(2)
|
|
#define HDMIRX_SCLIN_MSK BIT(1)
|
|
#define HDCP2_SWITCH_LCK BIT(0)
|
|
#define HDCP2_ESM_P0_GPIO_IN 0x0300
|
|
|
|
// -------------------- HDMIRX PHY -------------------------------
|
|
#define SUP_DIG_ANA_CREGS_SUP_ANA_NC 0x004f
|
|
|
|
#define LANE0_DIG_ASIC_RX_OVRD_OUT_0 0x100f
|
|
#define LANE1_DIG_ASIC_RX_OVRD_OUT_0 0x110f
|
|
#define LANE2_DIG_ASIC_RX_OVRD_OUT_0 0x120f
|
|
#define LANE3_DIG_ASIC_RX_OVRD_OUT_0 0x130f
|
|
#define ASIC_ACK_OVRD_EN BIT(1)
|
|
#define ASIC_ACK BIT(0)
|
|
|
|
#define LANE0_DIG_RX_VCOCAL_RX_VCO_CAL_CTRL_2 0x104a
|
|
#define LANE1_DIG_RX_VCOCAL_RX_VCO_CAL_CTRL_2 0x114a
|
|
#define LANE2_DIG_RX_VCOCAL_RX_VCO_CAL_CTRL_2 0x124a
|
|
#define LANE3_DIG_RX_VCOCAL_RX_VCO_CAL_CTRL_2 0x134a
|
|
#define FREQ_TUNE_START_VAL_MASK GENMASK(9, 0)
|
|
#define FREQ_TUNE_START_VAL(x) UPDATE(x, 9, 0)
|
|
|
|
#define HDMIPCS_DIG_CTRL_PATH_MAIN_FSM_FSM_CONFIG 0x20c4
|
|
#define HDMIPCS_DIG_CTRL_PATH_MAIN_FSM_ADAPT_REF_FOM 0x20c7
|
|
#define HDMIPCS_DIG_CTRL_PATH_MAIN_FSM_RATE_CALC_HDMI14_CDR_SETTING_3_REG 0x20e9
|
|
#define CDR_SETTING_BOUNDARY_3_DEFAULT 0x52da
|
|
#define HDMIPCS_DIG_CTRL_PATH_MAIN_FSM_RATE_CALC_HDMI14_CDR_SETTING_4_REG 0x20ea
|
|
#define CDR_SETTING_BOUNDARY_4_DEFAULT 0x43cd
|
|
#define HDMIPCS_DIG_CTRL_PATH_MAIN_FSM_RATE_CALC_HDMI14_CDR_SETTING_5_REG 0x20eb
|
|
#define CDR_SETTING_BOUNDARY_5_DEFAULT 0x35b3
|
|
#define HDMIPCS_DIG_CTRL_PATH_MAIN_FSM_RATE_CALC_HDMI14_CDR_SETTING_6_REG 0x20fb
|
|
#define CDR_SETTING_BOUNDARY_6_DEFAULT 0x2799
|
|
#define HDMIPCS_DIG_CTRL_PATH_MAIN_FSM_RATE_CALC_HDMI14_CDR_SETTING_7_REG 0x20fc
|
|
#define CDR_SETTING_BOUNDARY_7_DEFAULT 0x1b65
|
|
|
|
#define RAWLANE0_DIG_PCS_XF_RX_OVRD_OUT 0x300e
|
|
#define RAWLANE1_DIG_PCS_XF_RX_OVRD_OUT 0x310e
|
|
#define RAWLANE2_DIG_PCS_XF_RX_OVRD_OUT 0x320e
|
|
#define RAWLANE3_DIG_PCS_XF_RX_OVRD_OUT 0x330e
|
|
#define PCS_ACK_WRITE_SELECT BIT(14)
|
|
#define PCS_EN_CTL BIT(1)
|
|
#define PCS_ACK BIT(0)
|
|
|
|
#define RAWLANE0_DIG_AON_FAST_FLAGS 0x305c
|
|
#define RAWLANE1_DIG_AON_FAST_FLAGS 0x315c
|
|
#define RAWLANE2_DIG_AON_FAST_FLAGS 0x325c
|
|
#define RAWLANE3_DIG_AON_FAST_FLAGS 0x335c
|
|
|
|
// -------------------- HDMIRX Ctrler -------------------------------
|
|
#define GLOBAL_SWRESET_REQUEST 0x0020
|
|
#define DATAPATH_SWRESETREQ BIT(12)
|
|
#define AUDIO_SWRESETREQ BIT(9)
|
|
#define GLOBAL_SWENABLE 0x0024
|
|
#define PHYCTRL_ENABLE BIT(21)
|
|
#define CEC_ENABLE BIT(16)
|
|
#define TMDS_ENABLE BIT(13)
|
|
#define DATAPATH_ENABLE BIT(12)
|
|
#define PKTFIFO_ENABLE BIT(11)
|
|
#define HDCP_ENABLE BIT(10)
|
|
#define AUDIO_ENABLE BIT(9)
|
|
#define AVPUNIT_ENABLE BIT(8)
|
|
#define MAIN_ENABLE BIT(0)
|
|
#define GLOBAL_TIMER_REF_BASE 0x0028
|
|
#define CORE_CONFIG 0x0050
|
|
#define CMU_CONFIG0 0x0060
|
|
#define TMDSQPCLK_STABLE_FREQ_MARGIN_MASK GENMASK(30, 16)
|
|
#define TMDSQPCLK_STABLE_FREQ_MARGIN(x) UPDATE(x, 30, 16)
|
|
#define AUDCLK_STABLE_FREQ_MARGIN_MASK GENMASK(11, 9)
|
|
#define AUDCLK_STABLE_FREQ_MARGIN(x) UPDATE(x, 11, 9)
|
|
#define CMU_STATUS 0x007c
|
|
#define TMDSQPCLK_LOCKED_ST BIT(4)
|
|
#define CMU_TMDSQPCLK_FREQ 0x0084
|
|
#define PHY_CONFIG 0x00c0
|
|
#define LDO_AFE_PROG_MASK GENMASK(24, 23)
|
|
#define LDO_AFE_PROG(x) UPDATE(x, 24, 23)
|
|
#define LDO_PWRDN BIT(21)
|
|
#define TMDS_CLOCK_RATIO BIT(16)
|
|
#define RXDATA_WIDTH BIT(15)
|
|
#define REFFREQ_SEL_MASK GENMASK(11, 9)
|
|
#define REFFREQ_SEL(x) UPDATE(x, 11, 9)
|
|
#define HDMI_DISABLE BIT(8)
|
|
#define PHY_PDDQ BIT(1)
|
|
#define PHY_RESET BIT(0)
|
|
#define PHY_STATUS 0x00c8
|
|
#define HDMI_DISABLE_ACK BIT(1)
|
|
#define PDDQ_ACK BIT(0)
|
|
#define PHYCREG_CONFIG0 0x00e0
|
|
#define PHYCREG_CR_PARA_SELECTION_MODE_MASK GENMASK(1, 0)
|
|
#define PHYCREG_CR_PARA_SELECTION_MODE(x) UPDATE(x, 1, 0)
|
|
#define PHYCREG_CONFIG1 0x00e4
|
|
#define PHYCREG_CONFIG2 0x00e8
|
|
#define PHYCREG_CONFIG3 0x00ec
|
|
#define PHYCREG_CONTROL 0x00f0
|
|
#define PHYCREG_CR_PARA_WRITE_P BIT(1)
|
|
#define PHYCREG_CR_PARA_READ_P BIT(0)
|
|
#define PHYCREG_STATUS 0x00f4
|
|
|
|
#define MAINUNIT_STATUS 0x0150
|
|
#define TMDSVALID_STABLE_ST BIT(1)
|
|
#define DESCRAND_EN_CONTROL 0x0210
|
|
#define SCRAMB_EN_SEL_QST_MASK GENMASK(1, 0)
|
|
#define SCRAMB_EN_SEL_QST(x) UPDATE(x, 1, 0)
|
|
#define DESCRAND_SYNC_CONTROL 0x0214
|
|
#define RECOVER_UNSYNC_STREAM_QST BIT(0)
|
|
#define DESCRAND_SYNC_SEQ_CONFIG 0x022c
|
|
#define DESCRAND_SYNC_SEQ_ERR_CNT_EN BIT(0)
|
|
#define DESCRAND_SYNC_SEQ_STATUS 0x0234
|
|
#define DEFRAMER_CONFIG0 0x0270
|
|
#define VS_CNT_THR_QST_MASK GENMASK(27, 20)
|
|
#define VS_CNT_THR_QST(x) UPDATE(x, 27, 20)
|
|
#define HS_POL_QST_MASK GENMASK(19, 18)
|
|
#define HS_POL_QST(x) UPDATE(x, 19, 18)
|
|
#define VS_POL_QST_MASK GENMASK(17, 16)
|
|
#define VS_POL_QST(x) UPDATE(x, 17, 16)
|
|
#define VS_REMAPFILTER_EN_QST BIT(8)
|
|
#define HS_FILTER_ORDER_QST_MASK GENMASK(3, 2)
|
|
#define HS_FILTER_ORDER_QST(x) UPDATE(x, 3, 2)
|
|
#define VS_FILTER_ORDER_QST_MASK GENMASK(1, 0)
|
|
#define VS_FILTER_ORDER_QST(x) UPDATE(x, 1, 0)
|
|
#define DEFRAMER_VSYNC_CNT_CLEAR 0x0278
|
|
#define VSYNC_CNT_CLR_P BIT(0)
|
|
#define DEFRAMER_STATUS 0x027c
|
|
#define OPMODE_STS_MASK GENMASK(6, 4)
|
|
#define I2C_SLAVE_CONFIG1 0x0164
|
|
#define I2C_SDA_OUT_HOLD_VALUE_QST_MASK GENMASK(15, 8)
|
|
#define I2C_SDA_OUT_HOLD_VALUE_QST(x) UPDATE(x, 15, 8)
|
|
#define I2C_SDA_IN_HOLD_VALUE_QST_MASK GENMASK(7, 0)
|
|
#define I2C_SDA_IN_HOLD_VALUE_QST(x) UPDATE(x, 7, 0)
|
|
#define OPMODE_STS_MASK GENMASK(6, 4)
|
|
#define HDCP14_CONFIG 0x0290
|
|
#define REPEATER_QST BIT(28)
|
|
#define FASTREAUTH_QST BIT(27)
|
|
#define FEATURES_1DOT1_QST BIT(26)
|
|
#define FASTI2C_QST BIT(25)
|
|
#define EESS_CTL_THR_QST_MASK GENMASK(19, 16)
|
|
#define EESS_CTL_THR_QST(x) UPDATE(x, 19, 16)
|
|
#define OESS_CTL3_THR_QST_MASK GENMASK(11, 8)
|
|
#define OESS_CTL3_THR_QST(x) UPDATE(x, 11, 8)
|
|
#define EESS_OESS_SEL_QST_MASK GENMASK(5, 4)
|
|
#define EESS_OESS_SEL_QST(x) UPDATE(x, 5, 4)
|
|
#define KEY_DECRYPT_EN_QST BIT(0)
|
|
#define HDCP14_KEY_SEED 0x02a0
|
|
#define KEY_DECRYPT_SEED_QST_MASK GENMASK(15, 0)
|
|
#define KEY_DECRYPT_SEED_QST(x) UPDATE(x, 15, 0)
|
|
#define HDCP14_STATUS 0x2b8
|
|
#define HDCP2_CONFIG 0x02f0
|
|
#define HDCP2_CONNECTED BIT(12)
|
|
#define HDCP2_SWITCH_OVR_VALUE BIT(2)
|
|
#define HDCP2_SWITCH_OVR_EN BIT(1)
|
|
#define HDCP2_STATUS 0x02f4
|
|
#define HDCP2_ESM_P0_GPIO_OUT 0x0304
|
|
|
|
#define VIDEO_CONFIG2 0x042c
|
|
#define VPROC_VSYNC_POL_OVR_VALUE BIT(19)
|
|
#define VPROC_VSYNC_POL_OVR_EN BIT(18)
|
|
#define VPROC_HSYNC_POL_OVR_VALUE BIT(17)
|
|
#define VPROC_HSYNC_POL_OVR_EN BIT(16)
|
|
#define VPROC_FMT_OVR_VALUE_MASK GENMASK(6, 4)
|
|
#define VPROC_FMT_OVR_VALUE(x) UPDATE(x, 6, 4)
|
|
#define VPROC_FMT_OVR_EN BIT(0)
|
|
|
|
#define VIDEO_MUTE_VALUE_H 0x0430
|
|
#define VIDEO_MUTE_VALUE_L 0x0434
|
|
#define AUDIO_FIFO_CONFIG 0x0460
|
|
#define AFIFO_FILL_RESTART BIT(0)
|
|
#define AUDIO_FIFO_CONTROL 0x0464
|
|
#define AFIFO_INIT_P BIT(0)
|
|
#define AUDIO_FIFO_THR_PASS 0x0468
|
|
#define AUDIO_FIFO_THR 0x046c
|
|
#define AFIFO_THR_LOW_QST_MASK GENMASK(25, 16)
|
|
#define AFIFO_THR_LOW_QST(x) UPDATE(x, 25, 16)
|
|
#define AFIFO_THR_HIGH_QST_MASK GENMASK(9, 0)
|
|
#define AFIFO_THR_HIGH_QST(x) UPDATE(x, 9, 0)
|
|
#define AUDIO_FIFO_MUTE_THR 0x0470
|
|
#define AFIFO_THR_MUTE_LOW_QST_MASK GENMASK(25, 16)
|
|
#define AFIFO_THR_MUTE_LOW_QST(x) UPDATE(x, 25, 16)
|
|
#define AFIFO_THR_MUTE_HIGH_QST_MASK GENMASK(9, 0)
|
|
#define AFIFO_THR_MUTE_HIGH_QST(x) UPDATE(x, 9, 0)
|
|
|
|
#define AUDIO_FIFO_STATUS2 0x0478
|
|
#define AFIFO_UNDERFLOW_ST BIT(25)
|
|
#define AFIFO_OVERFLOW_ST BIT(24)
|
|
|
|
#define AUDIO_PROC_CONFIG0 0x0480
|
|
#define SPEAKER_ALLOC_OVR_EN BIT(16)
|
|
#define AUD_MUTE_OVR_VALUE BIT(13)
|
|
#define AUD_MUTE_OVR_EN BIT(12)
|
|
#define I2S_BPCUV_EN BIT(4)
|
|
#define SPDIF_EN BIT(2)
|
|
#define I2S_EN BIT(1)
|
|
#define AUDIO_PROC_CONFIG1 0x0484
|
|
#define AUDIO_PROC_CONFIG2 0x0488
|
|
#define AFIFO_THR_PASS_DEMUTEMASK_N BIT(24)
|
|
#define AVMUTE_DEMUTEMASK_N BIT(16)
|
|
#define AFIFO_THR_MUTE_LOW_MUTEMASK_N BIT(9)
|
|
#define AFIFO_THR_MUTE_HIGH_MUTEMASK_N BIT(8)
|
|
#define AUD_FMT_CHG_MUTEMASK_N BIT(1)
|
|
#define AVMUTE_MUTEMASK_N BIT(0)
|
|
#define AUDIO_PROC_CONFIG3 0x048c
|
|
#define AUDIO_PROC_STATUS1 0x0490
|
|
#define AUD_SAMPLE_PRESENT GENMASK(20, 17)
|
|
#define AUD_SAMPLE_FLAT GENMASK(16, 13)
|
|
#define SCDC_CONFIG 0x0580
|
|
#define HPDLOW BIT(1)
|
|
#define POWERPROVIDED BIT(0)
|
|
#define SCDC_REGBANK_STATUS1 0x058c
|
|
#define SCDC_TMDSBITCLKRATIO BIT(1)
|
|
#define SCDC_REGBANK_STATUS3 0x0594
|
|
#define SCDC_REGBANK_CONFIG0 0x05c0
|
|
#define SCDC_SINKVERSION_QST_MASK GENMASK(7, 0)
|
|
#define SCDC_SINKVERSION_QST(x) UPDATE(x, 7, 0)
|
|
#define AUDIO_GEN_CONFIG0 0x0740
|
|
#define AGEN_LAYOUT BIT(4)
|
|
#define AGEN_SPEAKER_ALLOC GENMASK(15, 8)
|
|
|
|
#define CED_CONFIG 0x0760
|
|
#define CED_VIDDATACHECKEN_QST BIT(27)
|
|
#define CED_DATAISCHECKEN_QST BIT(26)
|
|
#define CED_GBCHECKEN_QST BIT(25)
|
|
#define CED_CTRLCHECKEN_QST BIT(24)
|
|
#define CED_CHLOCKMAXER_QST_MASK GENMASK(14, 0)
|
|
#define CED_CHLOCKMAXER_QST(x) UPDATE(x, 14, 0)
|
|
#define CED_DYN_CONFIG 0x0768
|
|
#define CED_DYN_CONTROL 0x076c
|
|
#define PKTEX_BCH_ERRFILT_CONFIG 0x07c4
|
|
#define PKTEX_CHKSUM_ERRFILT_CONFIG 0x07c8
|
|
|
|
#define PKTDEC_ACR_PH2_1 0x1100
|
|
#define PKTDEC_ACR_PB3_0 0x1104
|
|
#define PKTDEC_ACR_PB7_4 0x1108
|
|
#define PKTDEC_AVIIF_PH2_1 0x1200
|
|
#define PKTDEC_AVIIF_PB3_0 0x1204
|
|
#define RGB_QUANTIZATION_RANGE GENMASK(27, 26)
|
|
#define EXTEND_COLORIMETRY GENMASK(30, 28)
|
|
#define PKTDEC_AVIIF_PB7_4 0x1208
|
|
#define VIC_VAL_MASK GENMASK(6, 0)
|
|
#define PKTDEC_AVIIF_PB11_8 0x120c
|
|
#define PKTDEC_AVIIF_PB15_12 0x1210
|
|
#define PKTDEC_AVIIF_PB19_16 0x1214
|
|
#define PKTDEC_AVIIF_PB23_20 0x1218
|
|
#define PKTDEC_AVIIF_PB27_24 0x121c
|
|
#define PKTDEC_AUDIF_PH2_1 0x1240
|
|
#define PKTDEC_AUDIF_PB3_0 0x1244
|
|
#define PKTDEC_AUDIF_PB7_4 0x1248
|
|
#define PKTDEC_AUDIF_PB11_8 0x124c
|
|
#define PKTDEC_AUDIF_PB15_12 0x1250
|
|
#define PKTDEC_AUDIF_PB19_16 0x1254
|
|
#define PKTDEC_AUDIF_PB23_20 0x1258
|
|
#define PKTDEC_AUDIF_PB27_24 0x125c
|
|
|
|
#define PKTFIFO_CONFIG 0x1500
|
|
#define PKTFIFO_STORE_FILT_CONFIG 0x1504
|
|
#define PKTFIFO_THR_CONFIG0 0x1508
|
|
#define PKTFIFO_THR_CONFIG1 0x150c
|
|
#define PKTFIFO_CONTROL 0x1510
|
|
|
|
#define VMON_CONTROL 0x1560
|
|
#define VMON_SOURCE_SEL_MASK GENMASK(30, 28)
|
|
#define VMON_SOURCE_SEL_DEFRAMER(x) UPDATE(x, 30, 28)
|
|
#define VMON_IRQ_THR_MASK BIT(24)
|
|
#define VMON_CONTROL2 0x1564
|
|
#define VMON_IRQ_VERTICAL_MASK GENMASK(12, 8)
|
|
#define VMON_IRQ_VERTICAL_SEL(x) UPDATE(x, 12, 8)
|
|
#define VMON_IRQ_HORIZONAL_MASK GENMASK(4, 0)
|
|
#define VMON_IRQ_HORIZONAL_SEL(x) UPDATE(x, 4, 0)
|
|
#define VMON_STATUS1 0x1580
|
|
#define VMON_STATUS2 0x1584
|
|
#define VMON_STATUS3 0x1588
|
|
#define VMON_STATUS4 0x158c
|
|
#define VMON_STATUS5 0x1590
|
|
#define VMON_STATUS6 0x1594
|
|
#define VMON_STATUS7 0x1598
|
|
#define VMON_ILACE_DETECT BIT(4)
|
|
|
|
#define CEC_TX_CONTROL 0x2000
|
|
#define CEC_STATUS 0x2004
|
|
#define CEC_CONFIG 0x2008
|
|
#define RX_AUTO_DRIVE_ACKNOWLEDGE BIT(9)
|
|
#define CEC_ADDR 0x200c
|
|
#define CEC_TX_COUNT 0x2020
|
|
#define CEC_TX_DATA3_0 0x2024
|
|
#define CEC_RX_COUNT_STATUS 0x2040
|
|
#define CEC_RX_DATA3_0 0x2044
|
|
#define CEC_LOCK_CONTROL 0x2054
|
|
#define CEC_RXQUAL_BITTIME_CONFIG 0x2060
|
|
#define CEC_RX_BITTIME_CONFIG 0x2064
|
|
#define CEC_TX_BITTIME_CONFIG 0x2068
|
|
|
|
#define DMA_CONFIG1 0x4400
|
|
#define UV_WID_MASK GENMASK(31, 28)
|
|
#define UV_WID(x) UPDATE(x, 31, 28)
|
|
#define Y_WID_MASK GENMASK(27, 24)
|
|
#define Y_WID(x) UPDATE(x, 27, 24)
|
|
#define DDR_STORE_FORMAT_MASK GENMASK(15, 12)
|
|
#define DDR_STORE_FORMAT(x) UPDATE(x, 15, 12)
|
|
#define ABANDON_EN BIT(0)
|
|
#define DMA_CONFIG2 0x4404
|
|
#define DMA_CONFIG3 0x4408
|
|
#define DMA_CONFIG4 0x440c // dma irq en
|
|
#define DMA_CONFIG5 0x4410 // dma irq clear status
|
|
#define LINE_FLAG_INT_EN BIT(8)
|
|
#define HDMIRX_DMA_IDLE_INT BIT(7)
|
|
#define HDMIRX_LOCK_DISABLE_INT BIT(6)
|
|
#define LAST_FRAME_AXI_UNFINISH_INT_EN BIT(5)
|
|
#define FIFO_OVERFLOW_INT_EN BIT(2)
|
|
#define FIFO_UNDERFLOW_INT_EN BIT(1)
|
|
#define HDMIRX_AXI_ERROR_INT_EN BIT(0)
|
|
#define DMA_CONFIG6 0x4414
|
|
#define RB_SWAP_EN BIT(9)
|
|
#define HSYNC_TOGGLE_EN BIT(5)
|
|
#define VSYNC_TOGGLE_EN BIT(4)
|
|
#define HDMIRX_DMA_EN BIT(1)
|
|
#define DMA_CONFIG7 0x4418
|
|
#define LINE_FLAG_NUM_MASK GENMASK(31, 16)
|
|
#define LINE_FLAG_NUM(x) UPDATE(x, 31, 16)
|
|
#define LOCK_FRAME_NUM_MASK GENMASK(11, 0)
|
|
#define LOCK_FRAME_NUM(x) UPDATE(x, 11, 0)
|
|
#define DMA_CONFIG8 0x441c
|
|
#define REG_MIRROR_EN BIT(0)
|
|
#define DMA_CONFIG9 0x4420
|
|
#define DMA_CONFIG10 0x4424
|
|
#define DMA_CONFIG11 0x4428
|
|
#define EDID_READ_EN_MASK BIT(8)
|
|
#define EDID_READ_EN(x) UPDATE(x, 8, 8)
|
|
#define EDID_WRITE_EN_MASK BIT(7)
|
|
#define EDID_WRITE_EN(x) UPDATE(x, 7, 7)
|
|
#define EDID_SLAVE_ADDR_MASK GENMASK(6, 0)
|
|
#define EDID_SLAVE_ADDR(x) UPDATE(x, 6, 0)
|
|
#define DMA_STATUS1 0x4430 // dma irq status
|
|
#define DMA_STATUS2 0x4434
|
|
#define DMA_STATUS3 0x4438
|
|
#define DMA_STATUS4 0x443c
|
|
#define DMA_STATUS5 0x4440
|
|
#define DMA_STATUS6 0x4444
|
|
#define DMA_STATUS7 0x4448
|
|
#define DMA_STATUS8 0x444c
|
|
#define DMA_STATUS9 0x4450
|
|
#define DMA_STATUS10 0x4454
|
|
#define HDMIRX_LOCK BIT(3)
|
|
#define DMA_STATUS11 0x4458
|
|
#define HDMIRX_TYPE_MASK GENMASK(8, 7)
|
|
#define HDMIRX_COLOR_DEPTH_MASK GENMASK(6, 3)
|
|
#define HDMIRX_FORMAT_MASK GENMASK(2, 0)
|
|
#define DMA_STATUS12 0x445c
|
|
#define DMA_STATUS13 0x4460
|
|
#define DMA_STATUS14 0x4464
|
|
|
|
#define MAINUNIT_INTVEC_INDEX 0x5000
|
|
#define MAINUNIT_0_INT_STATUS 0x5010
|
|
#define CECRX_NOTIFY_ERR BIT(12)
|
|
#define CECRX_EOM BIT(11)
|
|
#define CECTX_DRIVE_ERR BIT(10)
|
|
#define CECRX_BUSY BIT(9)
|
|
#define CECTX_BUSY BIT(8)
|
|
#define CECTX_FRAME_DISCARDED BIT(5)
|
|
#define CECTX_NRETRANSMIT_FAIL BIT(4)
|
|
#define CECTX_LINE_ERR BIT(3)
|
|
#define CECTX_ARBLOST BIT(2)
|
|
#define CECTX_NACK BIT(1)
|
|
#define CECTX_DONE BIT(0)
|
|
#define MAINUNIT_0_INT_MASK_N 0x5014
|
|
#define MAINUNIT_0_INT_CLEAR 0x5018
|
|
#define MAINUNIT_0_INT_FORCE 0x501c
|
|
#define TIMER_BASE_LOCKED_IRQ BIT(26)
|
|
#define TMDSQPCLK_OFF_CHG BIT(5)
|
|
#define TMDSQPCLK_LOCKED_CHG BIT(4)
|
|
#define MAINUNIT_1_INT_STATUS 0x5020
|
|
#define MAINUNIT_1_INT_MASK_N 0x5024
|
|
#define MAINUNIT_1_INT_CLEAR 0x5028
|
|
#define MAINUNIT_1_INT_FORCE 0x502c
|
|
#define MAINUNIT_2_INT_STATUS 0x5030
|
|
#define MAINUNIT_2_INT_MASK_N 0x5034
|
|
#define MAINUNIT_2_INT_CLEAR 0x5038
|
|
#define MAINUNIT_2_INT_FORCE 0x503c
|
|
#define PHYCREG_CR_READ_DONE BIT(11)
|
|
#define PHYCREG_CR_WRITE_DONE BIT(10)
|
|
#define TMDSVALID_STABLE_CHG BIT(1)
|
|
|
|
#define AVPUNIT_0_INT_STATUS 0x5040
|
|
#define AVPUNIT_0_INT_MASK_N 0x5044
|
|
#define AVPUNIT_0_INT_CLEAR 0x5048
|
|
#define AVPUNIT_0_INT_FORCE 0x504c
|
|
#define CED_DYN_CNT_CH2_IRQ BIT(22)
|
|
#define CED_DYN_CNT_CH1_IRQ BIT(21)
|
|
#define CED_DYN_CNT_CH0_IRQ BIT(20)
|
|
#define AVPUNIT_1_INT_STATUS 0x5050
|
|
#define VMON_VMEAS_IRQ BIT(31)
|
|
#define VMON_HMEAS_IRQ BIT(30)
|
|
#define DEFRAMER_VSYNC_THR_REACHED_IRQ BIT(1)
|
|
#define AVPUNIT_1_INT_MASK_N 0x5054
|
|
#define DEFRAMER_VSYNC_THR_REACHED_MASK_N BIT(1)
|
|
#define DEFRAMER_VSYNC_MASK_N BIT(0)
|
|
#define AVPUNIT_1_INT_CLEAR 0x5058
|
|
#define DEFRAMER_VSYNC_THR_REACHED_CLEAR BIT(1)
|
|
#define AVPUNIT_1_INT_FORCE 0x505C
|
|
#define PKT_0_INT_STATUS 0x5080
|
|
#define PKTDEC_AUDIF_CHG_IRQ BIT(13)
|
|
#define PKTDEC_AVIIF_CHG_IRQ BIT(11)
|
|
#define PKTDEV_VSIF_CHG_IRQ BIT(10)
|
|
#define PKTDEC_ACR_CHG_IRQ BIT(3)
|
|
#define PKT_0_INT_MASK_N 0x5084
|
|
#define PKTDEC_AVIIF_CHG_MASK_N BIT(11)
|
|
#define PKTDEV_VSIF_CHG_MASK_N BIT(10)
|
|
#define PKTDEC_ACR_CHG_MASK_N BIT(3)
|
|
#define PKT_0_INT_CLEAR 0x5088
|
|
#define PKT_0_INT_FORCE 0x508c
|
|
#define PKT_1_INT_STATUS 0x5090
|
|
#define PKT_1_INT_MASK_N 0x5094
|
|
#define PKT_1_INT_CLEAR 0x5098
|
|
#define PKT_2_INT_STATUS 0x50a0
|
|
#define PKTDEC_AUDIF_RCV_IRQ BIT(13)
|
|
#define PKTDEC_ACR_RCV_IRQ BIT(3)
|
|
#define PKT_2_INT_MASK_N 0x50a4
|
|
#define PKTDEC_AUDIF_RCV_MASK_N BIT(13)
|
|
#define PKTDEC_AVIIF_RCV_IRQ BIT(11)
|
|
#define PKTDEC_ACR_RCV_MASK_N BIT(3)
|
|
#define PKT_2_INT_CLEAR 0x50a8
|
|
#define PKTDEC_AUDIF_RCV_CLEAR BIT(13)
|
|
#define PKTDEC_AVIIF_RCV_CLEAR BIT(11)
|
|
#define PKTDEC_ACR_RCV_CLEAR BIT(3)
|
|
#define SCDC_INT_STATUS 0x50c0
|
|
#define SCDC_INT_MASK_N 0x50c4
|
|
#define SCDC_INT_CLEAR 0x50c8
|
|
#define SCDCTMDSCCFG_CHG BIT(2)
|
|
|
|
#define HDCP_INT_STATUS 0x50d0
|
|
#define HDCP_INT_MASK_N 0x50d4
|
|
#define HDCP_INT_CLEAR 0x50d8
|
|
#define HDCP_1_INT_STATUS 0x50e0
|
|
#define HDCP_1_INT_MASK_N 0x50e4
|
|
#define HDCP_1_INT_CLEAR 0x50e8
|
|
#define CEC_INT_STATUS 0x5100
|
|
#define CEC_INT_MASK_N 0x5104
|
|
#define CEC_INT_CLEAR 0x5108
|
|
|
|
#endif
|