| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381 |
- /*
- SiI8348 Linux Driver
- Copyright (C) 2013 Silicon Image, Inc.
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation version 2.
- This program is distributed AS-IS WITHOUT ANY WARRANTY of any
- kind, whether express or implied; INCLUDING without the implied warranty
- of MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE or NON-INFRINGEMENT. See
- the GNU General Public License for more details at http://www.gnu.org/licenses/gpl-2.0.html.
- */
- // ===================================================== //
- #define REG_TPI_HDCP_TIMER_1_SEC TX_PAGE_TPI , 0x0002
- #define REG_TPI_INPUT TX_PAGE_TPI , 0x0009
- #define REG_TPI_INPUT_DEFVAL 0x00
- #define BIT_TPI_INPUT_FORMAT_MASK 0x03
- #define BIT_TPI_INPUT_FORMAT_RGB 0x00
- #define BIT_TPI_INPUT_FORMAT_YCbCr444 0x01
- #define BIT_TPI_INPUT_FORMAT_YCbCr422 0x02
- #define BIT_TPI_INPUT_FORMAT_INTERNAL_RGB 0x03
- #define BIT_TPI_INPUT_QUAN_RANGE_MASK 0x0C
- #define BIT_TPI_INPUT_QUAN_RANGE_AUTO 0x00
- #define BIT_TPI_INPUT_QUAN_RANGE_FULL 0x04 // Design: expand input to full color space range // TODO: FD, TBD, not used
- #define BIT_TPI_INPUT_QUAN_RANGE_LIMITED 0x08 // Design: leave input color space range as is // TODO: FD, TBD, not used
- #define BIT_TPI_INPUT_QUAN_RANGE_RSVD 0x0C
- #define REG_TPI_OUTPUT TX_PAGE_TPI , 0x000A
- #define REG_TPI_OUTPUT_DEFVAL 0x00
- #define BIT_TPI_OUTPUT_FORMAT_MASK 0x03
- #define BIT_TPI_OUTPUT_FORMAT_HDMI_TO_RGB 0x00
- #define BIT_TPI_OUTPUT_FORMAT_YCbCr444 0x01
- #define BIT_TPI_OUTPUT_FORMAT_YCbCr422 0x02
- #define BIT_TPI_OUTPUT_FORMAT_DVI_TO_RGB 0x03
- #define BIT_TPI_OUTPUT_QUAN_RANGE_MASK 0x0C
- #define BIT_TPI_OUTPUT_QUAN_RANGE_AUTO 0x00
- #define BIT_TPI_OUTPUT_QUAN_RANGE_FULL 0x04 // Design: compress output to limited color space range // TODO: FD, TBD, not used
- #define BIT_TPI_OUTPUT_QUAN_RANGE_LIMITED 0x08 // Design: leave output color space range as is // TODO: FD, TBD, not used
- #define BIT_TPI_OUTPUT_QUAN_RANGE_RSVD 0x0C
- #define REG_TPI_AVI_CHSUM TX_PAGE_TPI , 0x000C
- #define REG_TPI_AVI_BYTE13 TX_PAGE_TPI , 0x0019
- #define TPI_SYSTEM_CONTROL_DATA_REG TX_PAGE_TPI , 0x001A
- #define TPI_1A_AUTO_REAUTHENTICATION_MASK (0x40) // TODO: FD, TBD, not used, not in PR, should be removed
- #define TPI_1A_AUTO_REAUTHENTICATION_OFF (0x00) // TODO: FD, TBD, not used, not in PR, should be removed
- #define TPI_1A_AUTO_REAUTHENTICATION_ENABLE (0x40) // TODO: FD, TBD, not used, not in PR, should be removed
- #define TMDS_OUTPUT_CONTROL_MASK (0x10)
- #define TMDS_OUTPUT_CONTROL_ACTIVE (0x00)
- #define TMDS_OUTPUT_CONTROL_POWER_DOWN (0x10)
- #define AV_MUTE_MASK (0x08)
- #define AV_MUTE_NORMAL (0x00)
- #define AV_MUTE_MUTED (0x08)
- #define DDC_BUS_REQUEST_MASK (0x04) // TODO: FD, TBD, not used, not in PR, should be removed
- #define DDC_BUS_REQUEST_NOT_USING (0x00) // TODO: FD, TBD, not used, not in PR, should be removed
- #define DDC_BUS_REQUEST_REQUESTED (0x04) // TODO: FD, TBD, not used, not in PR, should be removed
- #define DDC_BUS_GRANT_MASK (0x02) // TODO: FD, TBD, not used, not in PR, should be removed
- #define DDC_BUS_GRANT_NOT_AVAILABLE (0x00) // TODO: FD, TBD, not used, not in PR, should be removed
- #define DDC_BUS_GRANT_GRANTED (0x02) // TODO: FD, TBD, not used, not in PR, should be removed
- #define TMDS_OUTPUT_MODE_MASK (0x01) // confirmed with design
- #define TMDS_OUTPUT_MODE_DVI (0x00)
- #define TMDS_OUTPUT_MODE_HDMI (0x01)
- // ===================================================== //
- #define TPI_DEVICE_POWER_STATE_CTRL_REG TX_PAGE_TPI , 0x001E
- #define TX_POWER_STATE_MASK (0x03)
- #define TX_POWER_STATE_D0 (0x00)
- #define TX_POWER_STATE_D2 (0x02)
- #define TX_POWER_STATE_D3 (0x03)
- #define REG_TPI_AUDIO_MAPPING_CONFIG TX_PAGE_TPI , 0x001F
- #define BIT_TPI_AUDIO_SD_ENABLE (0x80)
- #define BIT_TPI_AUDIO_SD_DISABLE (0x00)
- #define BIT_TPI_AUDIO_FIFO_MAP_3 (0x30)
- #define BIT_TPI_AUDIO_FIFO_MAP_2 (0x20)
- #define BIT_TPI_AUDIO_FIFO_MAP_1 (0x10)
- #define BIT_TPI_AUDIO_FIFO_MAP_0 (0x00)
- #define BIT_TPI_AUDIO_SD_SEL_3 (0x03)
- #define BIT_TPI_AUDIO_SD_SEL_2 (0x02)
- #define BIT_TPI_AUDIO_SD_SEL_1 (0x01)
- #define BIT_TPI_AUDIO_SD_SEL_0 (0x00)
- #define REG_TPI_CONFIG1 TX_PAGE_TPI , 0x0024
- typedef enum{
- BIT_TPI_CONFIG1_AUDIO_FREQUENCY_192K = 0x0E
- ,BIT_TPI_CONFIG1_AUDIO_FREQUENCY_96K = 0x0A
- ,BIT_TPI_CONFIG1_AUDIO_FREQUENCY_48K = 0x02
- ,BIT_TPI_CONFIG1_AUDIO_FREQUENCY_44K = 0x00
- ,BIT_TPI_CONFIG1_AUDIO_FREQUENCY_32K = 0x03
- }TpiConfig1Bits_e;
- #define REG_TPI_CONFIG2 TX_PAGE_TPI , 0x0025 // TODO: FD, TBD, not used
- typedef enum{
- BIT_TPI_AUDIO_HANDLING_MASK = 0x03
- ,BIT_TPI_AUDIO_HANDLING_PASS_BASIC_AUDIO_ONLY = 0x00
- ,BIT_TPI_AUDIO_HANDLING_PASS_ALL_AUDIO_MODES = 0x01
- ,BIT_TPI_AUDIO_HANDLING_DOWNSAMPLE_INCOMING_AS_NEEDED= 0x02
- ,BIT_TPI_AUDIO_HANDLING_DO_NOT_CHECK_AUDIO_STREAM = 0x03
- }TpiConfig2Bits_e;
- #define REG_TPI_CONFIG3 TX_PAGE_TPI , 0x0026 // TODO: FD, TBD, not used
- typedef enum{
- BIT_TPI_AUDIO_CODING_TYPE_MASK = 0x0F
- ,BIT_TPI_AUDIO_CODING_TYPE_STREAM_HEADER = 0x00
- ,BIT_TPI_AUDIO_CODING_TYPE_PCM = 0x01
- ,BIT_TPI_AUDIO_CODING_TYPE_AC3 = 0x02
- ,BIT_TPI_AUDIO_CODING_TYPE_MPEG1 = 0x03
- ,BIT_TPI_AUDIO_CODING_TYPE_MP3 = 0x04
- ,BIT_TPI_AUDIO_CODING_TYPE_MPEG2 = 0x05
- ,BIT_TPI_AUDIO_CODING_TYPE_AAC = 0x06
- ,BIT_TPI_AUDIO_CODING_TYPE_DTS = 0x07
- ,BIT_TPI_AUDIO_CODING_TYPE_ATRAC = 0x08
- ,BIT_TPI_CONFIG3_MUTE_MASK = 0x10
- ,BIT_TPI_CONFIG3_MUTE_NORMAL = 0x00
- ,BIT_TPI_CONFIG3_MUTE_MUTED = 0x10
- ,BIT_TPI_CONFIG3_AUDIO_PACKET_HEADER_LAYOUT_MASK = 0x20
- ,BIT_TPI_CONFIG3_AUDIO_PACKET_HEADER_LAYOUT_2CH = 0x00
- ,BIT_TPI_CONFIG3_AUDIO_PACKET_HEADER_LAYOUT_8CH_MAX = 0x20
- ,BIT_TPI_CONFIG3_AUDIO_TDM_MSB_No_DELAY = 0x00
- ,BIT_TPI_CONFIG3_AUDIO_TDM_MSB_1CLK_DEALY = 0x01
- ,BIT_TPI_CONFIG3_AUDIO_TDM_MSB_2CLK_DELAY = 0x02
- ,BIT_TPI_CONFIG3_AUDIO_TDM_FS_POL = 0x00
- ,BIT_TPI_CONFIG3_AUDIO_TDM_FS_NEG = 0x04
-
- ,BIT_TPI_CONFIG3_AUDIO_TDM_32B_CH = 0x00
- ,BIT_TPI_CONFIG3_AUDIO_TDM_16B_CH = 0x08
- ,BIT_TPI_CONFIG_3_AUDIO_INTERFACE_MASK = 0xC0
- ,BIT_TPI_CONFIG_3_AUDIO_INTERFACE_DISABLED = 0x00
- ,BIT_TPI_CONFIG_3_AUDIO_INTERFACE_SPDIF = 0x40
- ,BIT_TPI_CONFIG_3_AUDIO_INTERFACE_I2S = 0x80
- ,BIT_TPI_CONFIG_3_AUDIO_INTERFACE_HD_AUDIO = 0xC0
- }TpiConfig3Bits_e;
- #define REG_TPI_CONFIG4 TX_PAGE_TPI , 0x0027
- typedef enum{
- BIT_TPI_CONFIG4_AUDIO_Refer_To_Stream_Header = 0x00
- ,BIT_TPI_CONFIG4_AUDIO_WIDTH_16_BIT = 0x40
- ,BIT_TPI_CONFIG4_AUDIO_WIDTH_20_BIT = 0x80
- ,BIT_TPI_CONFIG4_AUDIO_WIDTH_24_BIT = 0xC0
- ,BIT_TPI_CONFIG4_AUDIO_FREQUENCY_192K = 0x38
- ,BIT_TPI_CONFIG4_AUDIO_FREQUENCY_48K = 0x18
- ,BIT_TPI_CONFIG4_AUDIO_FREQUENCY_96K = 0x28
- ,BIT_TPI_CONFIG4_AUDIO_FREQUENCY_44K = 0x10
- ,BIT_TPI_CONFIG4_AUDIO_FREQUENCY_32K = 0x08
- ,BIT_TPI_CONFIG4_AUDIO_CHANNEL_8CH = 0x07
- ,BIT_TPI_CONFIG4_AUDIO_CHANNEL_2CH = 0x01
- }TpiConfig4Bits_e;
- /*\
- HDCP Implementation
- HDCP link security logic is implemented in certain transmitters; unique
- keys are embedded in each chip as part of the solution. The security
- scheme is fully automatic and handled completely by the hardware.
- \*/
- /// HDCP Query Data Register ============================================== ///
- #define TPI_HDCP_QUERY_DATA_REG TX_PAGE_TPI , 0x0029
- #define EXTENDED_LINK_PROTECTION_MASK (0x80)
- #define EXTENDED_LINK_PROTECTION_NONE (0x00)
- #define EXTENDED_LINK_PROTECTION_SECURE (0x80)
- #define LOCAL_LINK_PROTECTION_MASK (0x40)
- #define LOCAL_LINK_PROTECTION_NONE (0x00)
- #define LOCAL_LINK_PROTECTION_SECURE (0x40)
- #define LINK_STATUS_MASK (0x30)
- #define LINK_STATUS_NORMAL (0x00)
- #define LINK_STATUS_LINK_LOST (0x10)
- #define LINK_STATUS_RENEGOTIATION_REQ (0x20)
- #define LINK_STATUS_LINK_SUSPENDED (0x30)
- #define HDCP_REPEATER_MASK (0x08)
- #define HDCP_REPEATER_NO (0x00)
- #define HDCP_REPEATER_YES (0x08)
- #define CONNECTOR_TYPE_MASK (0x05)
- #define CONNECTOR_TYPE_DVI (0x00) // confirmed with design
- #define CONNECTOR_TYPE_RSVD (0x01)
- #define CONNECTOR_TYPE_HDMI (0x04) // confirmed with design
- #define CONNECTOR_TYPE_FUTURE (0x05)
- #define PROTECTION_TYPE_MASK (0x02)
- #define PROTECTION_TYPE_NONE (0x00)
- #define PROTECTION_TYPE_HDCP (0x02)
- /// HDCP Control Data Register ============================================ ///
- #define TPI_HDCP_CONTROL_DATA_REG TX_PAGE_TPI , 0x002A
- typedef enum
- {
- BIT_TPI_HDCP_CONTROL_DATA_COPP_PROTLEVEL_MASK = 0x01
- ,BIT_TPI_HDCP_CONTROL_DATA_COPP_PROTLEVEL_MIN = 0x00
- ,BIT_TPI_HDCP_CONTROL_DATA_COPP_PROTLEVEL_MAX = 0x01
- ,BIT_TPI_HDCP_CONTROL_DATA_DOUBLE_RI_CHECK_MASK = 0x04
- ,BIT_TPI_HDCP_CONTROL_DATA_DOUBLE_RI_CHECK_DISABLE= 0x00
- ,BIT_TPI_HDCP_CONTROL_DATA_DOUBLE_RI_CHECK_ENABLE = 0x04
- }TpiHdcpControlDataBits_e;
- #define PROTECTION_LEVEL_MASK (0x01)
- #define PROTECTION_LEVEL_MIN (0x00)
- #define PROTECTION_LEVEL_MAX (0x01)
- #define KSV_FORWARD_MASK (0x10)
- #define KSV_FORWARD_ENABLE (0x10)
- #define KSV_FORWARD_DISABLE (0x00)
- /// HDCP BKSV Registers =================================================== ///
- #define TPI_BKSV_1_REG TX_PAGE_TPI , 0x002B
- #define TPI_BKSV_2_REG TX_PAGE_TPI , 0x002C
- #define TPI_BKSV_3_REG TX_PAGE_TPI , 0x002D
- #define TPI_BKSV_4_REG TX_PAGE_TPI , 0x002E
- #define TPI_BKSV_5_REG TX_PAGE_TPI , 0x002F
- /// HDCP Revision Data Register =========================================== ///
- #define TPI_HDCP_REVISION_DATA_REG TX_PAGE_TPI , 0x0030 // TODO: FD, TBD, not used
- #define HDCP_MAJOR_REVISION_MASK (0xF0)
- #define HDCP_MAJOR_REVISION_VALUE (0x10)
- #define HDCP_MINOR_REVISION_MASK (0x0F)
- #define HDCP_MINOR_REVISION_VALUE (0x02)
- /// HDCP KSV and V' Value Data Register =================================== ///
- #define TPI_V_PRIME_SELECTOR_REG TX_PAGE_TPI , 0x0031
- /// V' Value Readback Registers =========================================== ///
- #define TPI_V_PRIME_7_0_REG TX_PAGE_TPI , 0x0032
- #define TPI_V_PRIME_15_9_REG TX_PAGE_TPI , 0x0033
- #define TPI_V_PRIME_23_16_REG TX_PAGE_TPI , 0x0034
- #define TPI_V_PRIME_31_24_REG TX_PAGE_TPI , 0x0035
- /// HDCP AKSV Registers =================================================== ///
- #define TPI_AKSV_1_REG TX_PAGE_TPI , 0x0036
- #define TPI_AKSV_2_REG TX_PAGE_TPI , 0x0037
- #define TPI_AKSV_3_REG TX_PAGE_TPI , 0x0038
- #define TPI_AKSV_4_REG TX_PAGE_TPI , 0x0039
- #define TPI_AKSV_5_REG TX_PAGE_TPI , 0x003A
- /// Interrupt Enable Register ============================================= ///
- #define REG_TPI_INTR_ST0_ENABLE TX_PAGE_TPI , 0x003C
- #define REG_TPI_INTR_ST1_ENABLE TX_PAGE_TPI , 0x003F
- /// Interrupt Status Register ============================================= ///
- #define REG_TPI_INTR_ST0 TX_PAGE_TPI , 0x003D
- typedef enum{
- BIT_TPI_INTR_ST0_AUDIO_ERROR_EVENT = 0x10
- ,BIT_TPI_INTR_ST0_HDCP_SECURITY_CHANGE_EVENT = 0x20
- ,BIT_TPI_INTR_ST0_HDCP_VPRIME_VALUE_READY_EVENT = 0x40
- ,BIT_TPI_INTR_ST0_HDCP_AUTH_STATUS_CHANGE_EVENT = 0x80
- }TpiIntrSt0Bits_e;
- #define REG_TPI_INTR_ST1 TX_PAGE_TPI , 0x003E
- typedef enum{
- BIT_TPI_INTR_ST1_BKSV_ERR = 0x02
- ,BIT_TPI_INTR_ST1_BKSV_DONE = 0x04
- ,BIT_TPI_INTR_ST1_KSV_FIFO_FIRST = 0x08
- }TpiIntrSt1Bits_e;
- #define REG_TPI_BSTATUS2 TX_PAGE_TPI , 0x46
- typedef enum{
- BIT_DS_CASC_EXCEEDED = 0x08
- }tpi_bstatus2_e;
- #define REG_TPI_HW_DBG1 TX_PAGE_TPI , 0x79
- #define REG_TPI_HW_DBG2 TX_PAGE_TPI , 0x7A
- #define REG_TPI_HW_DBG3 TX_PAGE_TPI , 0x7B
- #define REG_TPI_HW_DBG4 TX_PAGE_TPI , 0x7C
- #define REG_TPI_HW_DBG5 TX_PAGE_TPI , 0x7D
- #define REG_TPI_HW_DBG6 TX_PAGE_TPI , 0x7E
- #define REG_TPI_HW_DBG7 TX_PAGE_TPI , 0x7F
- // Define the rest here when needed.
- #define TPI_REG_HW_OPT1_B9 TX_PAGE_TPI , 0x00B9 // TODO: FD, TBD, not used
- #define REG_TPI_HW_OPT3 TX_PAGE_TPI , 0x00BB
- #define REG_TPI_INFO_FSEL TX_PAGE_TPI , 0x00BF
- typedef enum{
- BIT_TPI_INFO_SEL_MASK = 0x07
- ,BIT_TPI_INFO_SEL_AVI = 0x00
- ,BIT_TPI_INFO_SEL_SPD = 0x01
- ,BIT_TPI_INFO_SEL_Audio = 0x02
- ,BIT_TPI_INFO_SEL_MPEG = 0x03
- ,BIT_TPI_INFO_SEL_GENERIC = 0x04
- ,BIT_TPI_INFO_SEL_GENERIC2 = 0x05
- ,BIT_TPI_INFO_SEL_3D_VSIF = 0x06
- ,BIT_TPI_INFO_READ_FLAG_MASK = 0x20
- ,BIT_TPI_INFO_READ_FLAG_NO_READ = 0x00
- ,BIT_TPI_INFO_READ_FLAG_READ = 0x20
- ,BIT_TPI_INFO_RPT = 0x40
- ,BIT_TPI_INFO_EN = 0x80
- }TpiInfoFSelBits_e;
- #define REG_TPI_INFO_BYTE00 TX_PAGE_TPI , 0x00C0
- #define REG_TPI_INFO_BYTE01 TX_PAGE_TPI , 0x00C1
- #define REG_TPI_INFO_BYTE02 TX_PAGE_TPI , 0x00C2
- #define REG_TPI_INFO_BYTE03 TX_PAGE_TPI , 0x00C3
- #define REG_TPI_INFO_BYTE04 TX_PAGE_TPI , 0x00C4
- #define REG_TPI_INFO_BYTE05 TX_PAGE_TPI , 0x00C5
- #define REG_TPI_INFO_BYTE06 TX_PAGE_TPI , 0x00C6
- #define REG_TPI_INFO_BYTE07 TX_PAGE_TPI , 0x00C7
- #define REG_TPI_INFO_BYTE08 TX_PAGE_TPI , 0x00C8
- #define REG_TPI_INFO_BYTE09 TX_PAGE_TPI , 0x00C9
- #define REG_TPI_INFO_BYTE10 TX_PAGE_TPI , 0x00CA
- #define REG_TPI_INFO_BYTE11 TX_PAGE_TPI , 0x00CB
- #define REG_TPI_INFO_BYTE12 TX_PAGE_TPI , 0x00CC
- #define REG_TPI_INFO_BYTE13 TX_PAGE_TPI , 0x00CD
- #define REG_TPI_INFO_BYTE14 TX_PAGE_TPI , 0x00CE
- #define REG_TPI_INFO_BYTE15 TX_PAGE_TPI , 0x00CF
- #define REG_TPI_INFO_BYTE16 TX_PAGE_TPI , 0x00D0
- #define REG_TPI_INFO_BYTE17 TX_PAGE_TPI , 0x00D1
- #define REG_TPI_INFO_BYTE18 TX_PAGE_TPI , 0x00D2
- #define REG_TPI_INFO_BYTE19 TX_PAGE_TPI , 0x00D3
- #define REG_TPI_INFO_BYTE20 TX_PAGE_TPI , 0x00D4
- #define REG_TPI_INFO_BYTE21 TX_PAGE_TPI , 0x00D5
- #define REG_TPI_INFO_BYTE22 TX_PAGE_TPI , 0x00D6
- #define REG_TPI_INFO_BYTE23 TX_PAGE_TPI , 0x00D7
- #define REG_TPI_INFO_BYTE24 TX_PAGE_TPI , 0x00D8
- #define REG_TPI_INFO_BYTE25 TX_PAGE_TPI , 0x00D9
- #define REG_TPI_INFO_BYTE26 TX_PAGE_TPI , 0x00DA
- #define REG_TPI_INFO_BYTE27 TX_PAGE_TPI , 0x00DB
- #define REG_TPI_INFO_BYTE28 TX_PAGE_TPI , 0x00DC
- #define REG_TPI_INFO_BYTE29 TX_PAGE_TPI , 0x00DD
- #define REG_TPI_INFO_BYTE30 TX_PAGE_TPI , 0x00DE
- #define REG_TPI_INFO_BYTE31 TX_PAGE_TPI , 0x00DF
- #define REG_TPI_INFO_BYTE32 TX_PAGE_TPI , 0x00E0
- #define REG_TPI_INFO_BYTE33 TX_PAGE_TPI , 0x00E1
- #define REG_TPI_INFO_BYTE34 TX_PAGE_TPI , 0x00E2
- #define REG_TPI_INFO_BYTE35 TX_PAGE_TPI , 0x00E3
- #define REG_TPI_INFO_BYTE36 TX_PAGE_TPI , 0x00E4
- #define REG_TPI_INFO_BYTE37 TX_PAGE_TPI , 0x00E5
- #define REG_TPI_INFO_BYTE38 TX_PAGE_TPI , 0x00E6
- #define REG_TPI_INFO_BYTE39 TX_PAGE_TPI , 0x00E7
- #define REG_TPI_INFO_BYTE40 TX_PAGE_TPI , 0x00E8
- #define REG_TPI_INFO_BYTE41 TX_PAGE_TPI , 0x00E9
- #define REG_TPI_INFO_BYTE42 TX_PAGE_TPI , 0x00EA
- #define REG_TPI_INFO_BYTE43 TX_PAGE_TPI , 0x00EB
- #define REG_TPI_INFO_BYTE44 TX_PAGE_TPI , 0x00EC
- #define REG_TPI_INFO_BYTE45 TX_PAGE_TPI , 0x00ED
- #define REG_TPI_INFO_BYTE46 TX_PAGE_TPI , 0x00EE
- #define REG_TPI_INFO_BYTE47 TX_PAGE_TPI , 0x00EF
|