xref: /openbmc/linux/drivers/media/i2c/ths8200_regs.h (revision 14735190)
114735190SHans Verkuil /*
214735190SHans Verkuil  * ths8200 - Texas Instruments THS8200 video encoder driver
314735190SHans Verkuil  *
414735190SHans Verkuil  * Copyright 2013 Cisco Systems, Inc. and/or its affiliates.
514735190SHans Verkuil  *
614735190SHans Verkuil  * This program is free software; you may redistribute it and/or modify
714735190SHans Verkuil  * it under the terms of the GNU General Public License as published by
814735190SHans Verkuil  * the Free Software Foundation; version 2 of the License.
914735190SHans Verkuil  *
1014735190SHans Verkuil  * This program is free software; you can redistribute it and/or
1114735190SHans Verkuil  * modify it under the terms of the GNU General Public License as
1214735190SHans Verkuil  * published by the Free Software Foundation version 2.
1314735190SHans Verkuil  *
1414735190SHans Verkuil  * This program is distributed .as is. WITHOUT ANY WARRANTY of any
1514735190SHans Verkuil  * kind, whether express or implied; without even the implied warranty
1614735190SHans Verkuil  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1714735190SHans Verkuil  * GNU General Public License for more details.
1814735190SHans Verkuil  */
1914735190SHans Verkuil 
2014735190SHans Verkuil #ifndef THS8200_REGS_H
2114735190SHans Verkuil #define THS8200_REGS_H
2214735190SHans Verkuil 
2314735190SHans Verkuil /* Register offset macros */
2414735190SHans Verkuil #define THS8200_VERSION				0x02
2514735190SHans Verkuil #define THS8200_CHIP_CTL			0x03
2614735190SHans Verkuil #define THS8200_CSC_R11				0x04
2714735190SHans Verkuil #define THS8200_CSC_R12				0x05
2814735190SHans Verkuil #define THS8200_CSC_R21				0x06
2914735190SHans Verkuil #define THS8200_CSC_R22				0x07
3014735190SHans Verkuil #define THS8200_CSC_R31				0x08
3114735190SHans Verkuil #define THS8200_CSC_R32				0x09
3214735190SHans Verkuil #define THS8200_CSC_G11				0x0a
3314735190SHans Verkuil #define THS8200_CSC_G12				0x0b
3414735190SHans Verkuil #define THS8200_CSC_G21				0x0c
3514735190SHans Verkuil #define THS8200_CSC_G22				0x0d
3614735190SHans Verkuil #define THS8200_CSC_G31				0x0e
3714735190SHans Verkuil #define THS8200_CSC_G32				0x0f
3814735190SHans Verkuil #define THS8200_CSC_B11				0x10
3914735190SHans Verkuil #define THS8200_CSC_B12				0x11
4014735190SHans Verkuil #define THS8200_CSC_B21				0x12
4114735190SHans Verkuil #define THS8200_CSC_B22				0x13
4214735190SHans Verkuil #define THS8200_CSC_B31				0x14
4314735190SHans Verkuil #define THS8200_CSC_B32				0x15
4414735190SHans Verkuil #define THS8200_CSC_OFFS1			0x16
4514735190SHans Verkuil #define THS8200_CSC_OFFS12			0x17
4614735190SHans Verkuil #define THS8200_CSC_OFFS23			0x18
4714735190SHans Verkuil #define THS8200_CSC_OFFS3			0x19
4814735190SHans Verkuil #define THS8200_TST_CNTL1			0x1a
4914735190SHans Verkuil #define THS8200_TST_CNTL2			0x1b
5014735190SHans Verkuil #define THS8200_DATA_CNTL			0x1c
5114735190SHans Verkuil #define THS8200_DTG1_Y_SYNC1_LSB		0x1d
5214735190SHans Verkuil #define THS8200_DTG1_Y_SYNC2_LSB		0x1e
5314735190SHans Verkuil #define THS8200_DTG1_Y_SYNC3_LSB		0x1f
5414735190SHans Verkuil #define THS8200_DTG1_CBCR_SYNC1_LSB		0x20
5514735190SHans Verkuil #define THS8200_DTG1_CBCR_SYNC2_LSB		0x21
5614735190SHans Verkuil #define THS8200_DTG1_CBCR_SYNC3_LSB		0x22
5714735190SHans Verkuil #define THS8200_DTG1_Y_SYNC_MSB			0x23
5814735190SHans Verkuil #define THS8200_DTG1_CBCR_SYNC_MSB		0x24
5914735190SHans Verkuil #define THS8200_DTG1_SPEC_A			0x25
6014735190SHans Verkuil #define THS8200_DTG1_SPEC_B			0x26
6114735190SHans Verkuil #define THS8200_DTG1_SPEC_C			0x27
6214735190SHans Verkuil #define THS8200_DTG1_SPEC_D_LSB			0x28
6314735190SHans Verkuil #define THS8200_DTG1_SPEC_D1			0x29
6414735190SHans Verkuil #define THS8200_DTG1_SPEC_E_LSB			0x2a
6514735190SHans Verkuil #define THS8200_DTG1_SPEC_DEH_MSB		0x2b
6614735190SHans Verkuil #define THS8200_DTG1_SPEC_H_LSB			0x2c
6714735190SHans Verkuil #define THS8200_DTG1_SPEC_I_MSB			0x2d
6814735190SHans Verkuil #define THS8200_DTG1_SPEC_I_LSB			0x2e
6914735190SHans Verkuil #define THS8200_DTG1_SPEC_K_LSB			0x2f
7014735190SHans Verkuil #define THS8200_DTG1_SPEC_K_MSB			0x30
7114735190SHans Verkuil #define THS8200_DTG1_SPEC_K1			0x31
7214735190SHans Verkuil #define THS8200_DTG1_SPEC_G_LSB			0x32
7314735190SHans Verkuil #define THS8200_DTG1_SPEC_G_MSB			0x33
7414735190SHans Verkuil #define THS8200_DTG1_TOT_PIXELS_MSB		0x34
7514735190SHans Verkuil #define THS8200_DTG1_TOT_PIXELS_LSB		0x35
7614735190SHans Verkuil #define THS8200_DTG1_FLD_FLIP_LINECNT_MSB	0x36
7714735190SHans Verkuil #define THS8200_DTG1_LINECNT_LSB		0x37
7814735190SHans Verkuil #define THS8200_DTG1_MODE			0x38
7914735190SHans Verkuil #define THS8200_DTG1_FRAME_FIELD_SZ_MSB		0x39
8014735190SHans Verkuil #define THS8200_DTG1_FRAME_SZ_LSB		0x3a
8114735190SHans Verkuil #define THS8200_DTG1_FIELD_SZ_LSB		0x3b
8214735190SHans Verkuil #define THS8200_DTG1_VESA_CBAR_SIZE		0x3c
8314735190SHans Verkuil #define THS8200_DAC_CNTL_MSB			0x3d
8414735190SHans Verkuil #define THS8200_DAC1_CNTL_LSB			0x3e
8514735190SHans Verkuil #define THS8200_DAC2_CNTL_LSB			0x3f
8614735190SHans Verkuil #define THS8200_DAC3_CNTL_LSB			0x40
8714735190SHans Verkuil #define THS8200_CSM_CLIP_GY_LOW			0x41
8814735190SHans Verkuil #define THS8200_CSM_CLIP_BCB_LOW		0x42
8914735190SHans Verkuil #define THS8200_CSM_CLIP_RCR_LOW		0x43
9014735190SHans Verkuil #define THS8200_CSM_CLIP_GY_HIGH		0x44
9114735190SHans Verkuil #define THS8200_CSM_CLIP_BCB_HIGH		0x45
9214735190SHans Verkuil #define THS8200_CSM_CLIP_RCR_HIGH		0x46
9314735190SHans Verkuil #define THS8200_CSM_SHIFT_GY			0x47
9414735190SHans Verkuil #define THS8200_CSM_SHIFT_BCB			0x48
9514735190SHans Verkuil #define THS8200_CSM_SHIFT_RCR			0x49
9614735190SHans Verkuil #define THS8200_CSM_GY_CNTL_MULT_MSB		0x4a
9714735190SHans Verkuil #define THS8200_CSM_MULT_BCB_RCR_MSB		0x4b
9814735190SHans Verkuil #define THS8200_CSM_MULT_GY_LSB			0x4c
9914735190SHans Verkuil #define THS8200_CSM_MULT_BCB_LSB		0x4d
10014735190SHans Verkuil #define THS8200_CSM_MULT_RCR_LSB		0x4e
10114735190SHans Verkuil #define THS8200_CSM_MULT_RCR_BCB_CNTL		0x4f
10214735190SHans Verkuil #define THS8200_CSM_MULT_RCR_LSB		0x4e
10314735190SHans Verkuil #define THS8200_DTG2_BP1_2_MSB			0x50
10414735190SHans Verkuil #define THS8200_DTG2_BP3_4_MSB			0x51
10514735190SHans Verkuil #define THS8200_DTG2_BP5_6_MSB			0x52
10614735190SHans Verkuil #define THS8200_DTG2_BP7_8_MSB			0x53
10714735190SHans Verkuil #define THS8200_DTG2_BP9_10_MSB			0x54
10814735190SHans Verkuil #define THS8200_DTG2_BP11_12_MSB		0x55
10914735190SHans Verkuil #define THS8200_DTG2_BP13_14_MSB		0x56
11014735190SHans Verkuil #define THS8200_DTG2_BP15_16_MSB		0x57
11114735190SHans Verkuil #define THS8200_DTG2_BP1_LSB			0x58
11214735190SHans Verkuil #define THS8200_DTG2_BP2_LSB			0x59
11314735190SHans Verkuil #define THS8200_DTG2_BP3_LSB			0x5a
11414735190SHans Verkuil #define THS8200_DTG2_BP4_LSB			0x5b
11514735190SHans Verkuil #define THS8200_DTG2_BP5_LSB			0x5c
11614735190SHans Verkuil #define THS8200_DTG2_BP6_LSB			0x5d
11714735190SHans Verkuil #define THS8200_DTG2_BP7_LSB			0x5e
11814735190SHans Verkuil #define THS8200_DTG2_BP8_LSB			0x5f
11914735190SHans Verkuil #define THS8200_DTG2_BP9_LSB			0x60
12014735190SHans Verkuil #define THS8200_DTG2_BP10_LSB			0x61
12114735190SHans Verkuil #define THS8200_DTG2_BP11_LSB			0x62
12214735190SHans Verkuil #define THS8200_DTG2_BP12_LSB			0x63
12314735190SHans Verkuil #define THS8200_DTG2_BP13_LSB			0x64
12414735190SHans Verkuil #define THS8200_DTG2_BP14_LSB			0x65
12514735190SHans Verkuil #define THS8200_DTG2_BP15_LSB			0x66
12614735190SHans Verkuil #define THS8200_DTG2_BP16_LSB			0x67
12714735190SHans Verkuil #define THS8200_DTG2_LINETYPE1			0x68
12814735190SHans Verkuil #define THS8200_DTG2_LINETYPE2			0x69
12914735190SHans Verkuil #define THS8200_DTG2_LINETYPE3			0x6a
13014735190SHans Verkuil #define THS8200_DTG2_LINETYPE4			0x6b
13114735190SHans Verkuil #define THS8200_DTG2_LINETYPE5			0x6c
13214735190SHans Verkuil #define THS8200_DTG2_LINETYPE6			0x6d
13314735190SHans Verkuil #define THS8200_DTG2_LINETYPE7			0x6e
13414735190SHans Verkuil #define THS8200_DTG2_LINETYPE8			0x6f
13514735190SHans Verkuil #define THS8200_DTG2_HLENGTH_LSB		0x70
13614735190SHans Verkuil #define THS8200_DTG2_HLENGTH_LSB_HDLY_MSB	0x71
13714735190SHans Verkuil #define THS8200_DTG2_HLENGTH_HDLY_LSB		0x72
13814735190SHans Verkuil #define THS8200_DTG2_VLENGTH1_LSB		0x73
13914735190SHans Verkuil #define THS8200_DTG2_VLENGTH1_MSB_VDLY1_MSB	0x74
14014735190SHans Verkuil #define THS8200_DTG2_VDLY1_LSB			0x75
14114735190SHans Verkuil #define THS8200_DTG2_VLENGTH2_LSB		0x76
14214735190SHans Verkuil #define THS8200_DTG2_VLENGTH2_MSB_VDLY2_MSB	0x77
14314735190SHans Verkuil #define THS8200_DTG2_VDLY2_LSB			0x78
14414735190SHans Verkuil #define THS8200_DTG2_HS_IN_DLY_MSB		0x79
14514735190SHans Verkuil #define THS8200_DTG2_HS_IN_DLY_LSB		0x7a
14614735190SHans Verkuil #define THS8200_DTG2_VS_IN_DLY_MSB		0x7b
14714735190SHans Verkuil #define THS8200_DTG2_VS_IN_DLY_LSB		0x7c
14814735190SHans Verkuil #define THS8200_DTG2_PIXEL_CNT_MSB		0x7d
14914735190SHans Verkuil #define THS8200_DTG2_PIXEL_CNT_LSB		0x7e
15014735190SHans Verkuil #define THS8200_DTG2_LINE_CNT_MSB		0x7f
15114735190SHans Verkuil #define THS8200_DTG2_LINE_CNT_LSB		0x80
15214735190SHans Verkuil #define THS8200_DTG2_CNTL			0x82
15314735190SHans Verkuil #define THS8200_CGMS_CNTL_HEADER		0x83
15414735190SHans Verkuil #define THS8200_CGMS_PAYLOAD_MSB		0x84
15514735190SHans Verkuil #define THS8200_CGMS_PAYLOAD_LSB		0x85
15614735190SHans Verkuil #define THS8200_MISC_PPL_LSB			0x86
15714735190SHans Verkuil #define THS8200_MISC_PPL_MSB			0x87
15814735190SHans Verkuil #define THS8200_MISC_LPF_MSB			0x88
15914735190SHans Verkuil #define THS8200_MISC_LPF_LSB			0x89
16014735190SHans Verkuil 
16114735190SHans Verkuil #endif /* THS8200_REGS_H */
162