Files
test/drivers/include/dispss/lvds_reg.h
2025-11-07 20:19:23 +08:00

131 lines
4.6 KiB
C

/**
* @file lvds_reg.h
* @brief SemiDrive Lvds REG header file.
*
* @copyright Copyright (c) 2022 Semidrive Semiconductor.
* All rights reserved.
*/
#ifndef LVDS_REG_H__
#define LVDS_REG_H__
#define LVDS_BASE 0xF34C0000
/* LVDS registers (RMW mode) definition */
#define LVDS_CH0_CTRL (0x1000)
#define CH0_EN_SHIFT 31
#define CH0_EN_MASK (unsigned int)0x1 << CH0_EN_SHIFT
#define CH0_MUX_SHIFT 23
#define CH0_MUX_MASK 0x3 << CH0_MUX_SHIFT
#define CH0_DUALODD_SHIFT 22
#define CH0_DUALODD_MASK 0x1 << CH0_DUALODD_SHIFT
#define CH0_LANE_UPDATE_SHIFT 7
#define CH0_LANE_UPDATE_MASK 0x7FFF << CH0_LANE_UPDATE_SHIFT
#define CH0_FRAME_MASK_SHIFT 5
#define CH0_FRAME_MASK_MASK 0x3 << CH0_FRAME_MASK_SHIFT
#define CH0_VSYNC_POL_SHIFT 4
#define CH0_VSYNC_POL_MASK 0x1 << CH0_VSYNC_POL_SHIFT
#define CH0_FORMAT_SHIFT 3
#define CH0_FORMAT_MASK 0x1 << CH0_FORMAT_SHIFT
#define CH0_BPP_SHIFT 1
#define CH0_BPP_MASK 0x3 << CH0_BPP_SHIFT
#define CH0_DUALMODE_SHIFT 0
#define CH0_DUALMODE_MASK 0x1 << CH0_DUALMODE_SHIFT
/* SOFT RESET */
#define LVDS_SOFT_RESET (0x1008)
#define CH0_SOFT_RESET_SHIFT 0
#define CH0_SOFT_RESET_MASK 0x1 << CH0_SOFT_RESET_SHIFT
#define LVDS_TEST_CFG (0x100c)
#define LVDS_TEST_CLK_SHIFT 8
#define LVDS_TEST_CLK_MASK 0x7F << LVDS_TEST_CLK_SHIFT
#define LVDS_TEST_EN_SHIFT 7
#define LVDS_TEST_EN_MASK 0x1 << LVDS_TEST_EN_SHIFT
#define LVDS_TEST_DATA_SHIFT 0
#define LVDS_TEST_DATA_MASK 0x7F << LVDS_TEST_DATA_MASK
#define LVDS_CH0_PAD_SET_(i) (0x1010 + 0x4 * i)
#define CH0_RXD_N_SHIFT 26
#define CH0_RXD_N_MASK 0x1 << CH0_RXD_N_SHIFT
#define CH0_RXD_P_SHIFT 25
#define CH0_RXD_P_MASK 0x1 << CH0_RXD_P_SHIFT
#define CH0_RXDA_SHIFT 24
#define CH0_RXDA_MASK 0x1 << CH0_RXDA_SHIFT
#define CH0_DTEST_OUT_SHIFT 23
#define CH0_DTEST_OUT_MASK 0x1 << CH0_DTEST_OUT_SHIFT
#define CH0_ATEST_SEL_SHIFT 16
#define CH0_ATEST_SEL_MASK 0x7 << CH0_ATEST_SEL_SHIFT
#define CH0_DTEST_SEL_SHIFT 14
#define CH0_DTEST_SEL_MASK 0x3 << CH0_DTEST_SEL_SHIFT
#define CH0_TXVCOM_SHIFT 8
#define CH0_TXVCOM_MASK 0x1 << CH0_TXVCOM_SHIFT ///
#define CH0_TXEN_SHIFT 7
#define CH0_TXEN_MASK 0x1 << CH0_TXEN_SHIFT
#define CH0_RXEN_SHIFT 6
#define CH0_RXEN_MASK 0x1 << CH0_RXEN_SHIFT
#define CH0_TXSWING_SHIFT 3
#define CH0_TXSWING_MASK 0x1 << CH0_TXSWING_SHIFT
#define CH0_SUBLVDS_SHIFT 2
#define CH0_SUBLVDS_MASK 0x1 << CH0_SUBLVDS_SHIFT
#define CH0_RTERM_EN_SHIFT 1
#define CH0_RTERM_EN_MASK 0x1 << CH0_RTERM_EN_SHIFT
#define LVDS_CH0_PAD_COM_SET (0x1100)
#define CH0_TEST_TXD_P_SHIFT 13
#define CH0_TEST_TXD_P_MASK 0x1 << CH0_TEST_TXD_P_SHIFT
#define CH0_TEST_TXD_N_SHIFT 12
#define CH0_TEST_TXD_N_MASK 0x1 << CH0_TEST_TXD_N_SHIFT
#define CH0_TEST_SCHMITT_EN_SHIFT 11
#define CH0_TEST_SCHMITT_EN_MASK 0x1 << CH0_TEST_SCHMITT_EN_SHIFT
#define CH0_TEST_RXEN_SHIFT 10
#define CH0_TEST_RXEN_MASK 0x1 << CH0_TEST_RXEN_SHIFT
#define CH0_TEST_RXCM_EN_SHIFT 9
#define CH0_TEST_RXCM_EN_MASK 0x1 << CH0_TEST_RXCM_EN_SHIFT
#define CH0_TEST_PULLDN_SHIFT 8
#define CH0_TEST_PULLDN_MASK 0x1 << CH0_TEST_PULLDN_SHIFT
#define CH0_TEST_OEN_P_SHIFT 7
#define CH0_TEST_OEN_P_MASK 0x1 << CH0_TEST_OEN_P_SHIFT
#define CH0_TEST_OEN_N_SHIFT 6
#define CH0_TEST_OEN_N_MASK 0x1 << CH0_TEST_OEN_N_SHIFT
#define CH0_TEST_IEN_P_SHIFT 5
#define CH0_TEST_IEN_P_MASK 0x1 << CH0_TEST_IEN_P_SHIFT
#define CH0_TEST_IEN_N_SHIFT 4
#define CH0_TEST_IEN_N_MASK 0x1 << CH0_TEST_IEN_N_SHIFT
#define CH0_RTERM_SHIFT 1
#define CH0_RTERM_MASK 0xF << CH0_RTERM_SHIFT
#define CH0_TRIM_SEL_SHIFT 0
#define CH0_TRIM_SEL_MASK 0x1 << CH0_TRIM_SEL_SHIFT
#define LVDS_CH0_RX_CTRL (0x1200)
#define CH0_CMP_MASK_SHFIT 24
#define CH0_CMP_MASK_MASK 0xFFFF << CH0_CMP_MASK_SHFIT
#define CH0_DATA_CLK_PT_SL_SHIFT 4
#define CH0_DATA_CLK_PT_SL_MASK 0x7F << CH0_DATA_CLK_PT_SL_SHIFT
#define CH0_COM_EN_SHIFT 3
#define CH0_COM_EN_MASK 0x1 << CH0_COM_EN_SHIFT
#define CH0_DATA_CLK_DELAY_SHIFT 1
#define CH0_DATA_CLK_DELAY_MASK 0x3 << CH0_DATA_CLK_DELAY_SHIFT
#define CH0_ERR_CLK_SHIFT 0
#define CH0_ERR_CLK_MASK 0x1 << CH0_ERR_CLK_SHIFT
#define DC1_MUX_CTRL (0x2000)
#define PARAL_OUT_BPP_SHIFT 16
#define PARAL_OUT_BPP_MASK 0x3 << PARAL_OUT_BPP_SHIFT
#define PARAL_TO_CSI_EN_SHIFT 10
#define PARAL_TO_CSI_EN_MASK 0x1 << PARAL_TO_CSI_EN_SHIFT
#define PARAL_TO_LVDS_EN_SHIFT 9
#define PARAL_TO_LVDS_EN_MASK 0x1 << PARAL_TO_LVDS_EN_SHIFT
#define PARAL_OUT_EN_SHIFT 8
#define PARAL_OUT_EN_MASK 0x1 << PARAL_OUT_EN_SHIFT
#define PARAL_OUT_CLK_POL_SHIFT 6
#define PARAL_OUT_CLK_POL_MASK 0x1 << PARAL_OUT_CLK_POL_SHIFT
#define PARAL_FB_CLK_POL_SHIFT 5
#define PARAL_FB_CLK_POL_MASK 0x1 << PARAL_FB_CLK_POL_SHIFT
#define CRC_SRC_SHIFT 4
#define CRC_SRC_MASK 0x1 << CRC_SRC_SHIFT
#define DSP_CLK_SHIFT 0
#define DSP_CLK_MASK 0x1 << DSP_CLK_SHIFT
#endif /* LVDS_REG_H__ */