162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * ispreg.h
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * TI OMAP3 ISP - Registers definitions
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * Copyright (C) 2010 Nokia Corporation
862306a36Sopenharmony_ci * Copyright (C) 2009 Texas Instruments, Inc
962306a36Sopenharmony_ci *
1062306a36Sopenharmony_ci * Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
1162306a36Sopenharmony_ci *	     Sakari Ailus <sakari.ailus@iki.fi>
1262306a36Sopenharmony_ci */
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#ifndef OMAP3_ISP_REG_H
1562306a36Sopenharmony_ci#define OMAP3_ISP_REG_H
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci#define CM_CAM_MCLK_HZ			172800000	/* Hz */
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci/* ISP module register offset */
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci#define ISP_REVISION			(0x000)
2262306a36Sopenharmony_ci#define ISP_SYSCONFIG			(0x004)
2362306a36Sopenharmony_ci#define ISP_SYSSTATUS			(0x008)
2462306a36Sopenharmony_ci#define ISP_IRQ0ENABLE			(0x00C)
2562306a36Sopenharmony_ci#define ISP_IRQ0STATUS			(0x010)
2662306a36Sopenharmony_ci#define ISP_IRQ1ENABLE			(0x014)
2762306a36Sopenharmony_ci#define ISP_IRQ1STATUS			(0x018)
2862306a36Sopenharmony_ci#define ISP_TCTRL_GRESET_LENGTH		(0x030)
2962306a36Sopenharmony_ci#define ISP_TCTRL_PSTRB_REPLAY		(0x034)
3062306a36Sopenharmony_ci#define ISP_CTRL			(0x040)
3162306a36Sopenharmony_ci#define ISP_SECURE			(0x044)
3262306a36Sopenharmony_ci#define ISP_TCTRL_CTRL			(0x050)
3362306a36Sopenharmony_ci#define ISP_TCTRL_FRAME			(0x054)
3462306a36Sopenharmony_ci#define ISP_TCTRL_PSTRB_DELAY		(0x058)
3562306a36Sopenharmony_ci#define ISP_TCTRL_STRB_DELAY		(0x05C)
3662306a36Sopenharmony_ci#define ISP_TCTRL_SHUT_DELAY		(0x060)
3762306a36Sopenharmony_ci#define ISP_TCTRL_PSTRB_LENGTH		(0x064)
3862306a36Sopenharmony_ci#define ISP_TCTRL_STRB_LENGTH		(0x068)
3962306a36Sopenharmony_ci#define ISP_TCTRL_SHUT_LENGTH		(0x06C)
4062306a36Sopenharmony_ci#define ISP_PING_PONG_ADDR		(0x070)
4162306a36Sopenharmony_ci#define ISP_PING_PONG_MEM_RANGE		(0x074)
4262306a36Sopenharmony_ci#define ISP_PING_PONG_BUF_SIZE		(0x078)
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci/* CCP2 receiver registers */
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ci#define ISPCCP2_REVISION		(0x000)
4762306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG		(0x004)
4862306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_SOFT_RESET	BIT(1)
4962306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_AUTO_IDLE		0x1
5062306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT	12
5162306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_FORCE	\
5262306a36Sopenharmony_ci	(0x0 << ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT)
5362306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_NO	\
5462306a36Sopenharmony_ci	(0x1 << ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT)
5562306a36Sopenharmony_ci#define ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SMART	\
5662306a36Sopenharmony_ci	(0x2 << ISPCCP2_SYSCONFIG_MSTANDBY_MODE_SHIFT)
5762306a36Sopenharmony_ci#define ISPCCP2_SYSSTATUS		(0x008)
5862306a36Sopenharmony_ci#define ISPCCP2_SYSSTATUS_RESET_DONE	BIT(0)
5962306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQENABLE		(0x00C)
6062306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS		(0x010)
6162306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FS_IRQ	BIT(11)
6262306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_LE_IRQ	BIT(10)
6362306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_LS_IRQ	BIT(9)
6462306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FE_IRQ	BIT(8)
6562306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_COUNT_IRQ	BIT(7)
6662306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FIFO_OVF_IRQ	BIT(5)
6762306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_CRC_IRQ	BIT(4)
6862306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FSP_IRQ	BIT(3)
6962306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FW_IRQ	BIT(2)
7062306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_FSC_IRQ	BIT(1)
7162306a36Sopenharmony_ci#define ISPCCP2_LC01_IRQSTATUS_LC0_SSC_IRQ	BIT(0)
7262306a36Sopenharmony_ci
7362306a36Sopenharmony_ci#define ISPCCP2_LC23_IRQENABLE		(0x014)
7462306a36Sopenharmony_ci#define ISPCCP2_LC23_IRQSTATUS		(0x018)
7562306a36Sopenharmony_ci#define ISPCCP2_LCM_IRQENABLE		(0x02C)
7662306a36Sopenharmony_ci#define ISPCCP2_LCM_IRQSTATUS_EOF_IRQ		BIT(0)
7762306a36Sopenharmony_ci#define ISPCCP2_LCM_IRQSTATUS_OCPERROR_IRQ	BIT(1)
7862306a36Sopenharmony_ci#define ISPCCP2_LCM_IRQSTATUS		(0x030)
7962306a36Sopenharmony_ci#define ISPCCP2_CTRL			(0x040)
8062306a36Sopenharmony_ci#define ISPCCP2_CTRL_IF_EN		BIT(0)
8162306a36Sopenharmony_ci#define ISPCCP2_CTRL_PHY_SEL		BIT(1)
8262306a36Sopenharmony_ci#define ISPCCP2_CTRL_PHY_SEL_CLOCK	(0 << 1)
8362306a36Sopenharmony_ci#define ISPCCP2_CTRL_PHY_SEL_STROBE	(1 << 1)
8462306a36Sopenharmony_ci#define ISPCCP2_CTRL_PHY_SEL_MASK	0x1
8562306a36Sopenharmony_ci#define ISPCCP2_CTRL_PHY_SEL_SHIFT	1
8662306a36Sopenharmony_ci#define ISPCCP2_CTRL_IO_OUT_SEL		BIT(2)
8762306a36Sopenharmony_ci#define ISPCCP2_CTRL_IO_OUT_SEL_MASK	0x1
8862306a36Sopenharmony_ci#define ISPCCP2_CTRL_IO_OUT_SEL_SHIFT	2
8962306a36Sopenharmony_ci#define ISPCCP2_CTRL_MODE		BIT(4)
9062306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_CLK_FORCE_ON	BIT(9)
9162306a36Sopenharmony_ci#define ISPCCP2_CTRL_INV		BIT(10)
9262306a36Sopenharmony_ci#define ISPCCP2_CTRL_INV_MASK		0x1
9362306a36Sopenharmony_ci#define ISPCCP2_CTRL_INV_SHIFT		10
9462306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_ONLY_EN		BIT(11)
9562306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_CLK_POL		BIT(12)
9662306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_CLK_POL_MASK	0x1
9762306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_CLK_POL_SHIFT	12
9862306a36Sopenharmony_ci#define ISPCCP2_CTRL_VPCLK_DIV_SHIFT	15
9962306a36Sopenharmony_ci#define ISPCCP2_CTRL_VPCLK_DIV_MASK	0x1ffff /* [31:15] */
10062306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_OUT_CTRL_SHIFT	8 /* 3430 bits */
10162306a36Sopenharmony_ci#define ISPCCP2_CTRL_VP_OUT_CTRL_MASK	0x3 /* 3430 bits */
10262306a36Sopenharmony_ci#define ISPCCP2_DBG			(0x044)
10362306a36Sopenharmony_ci#define ISPCCP2_GNQ			(0x048)
10462306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL(x)			((0x050)+0x30*(x))
10562306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_CHAN_EN		BIT(0)
10662306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_CRC_EN			BIT(19)
10762306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_CRC_MASK		0x1
10862306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_CRC_SHIFT		2
10962306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_CRC_SHIFT_15_0		19
11062306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_REGION_EN		BIT(1)
11162306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_REGION_MASK		0x1
11262306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_REGION_SHIFT		1
11362306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_FORMAT_MASK_15_0	0x3f
11462306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_FORMAT_SHIFT_15_0	0x2
11562306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_FORMAT_MASK		0x1f
11662306a36Sopenharmony_ci#define ISPCCP2_LCx_CTRL_FORMAT_SHIFT		0x3
11762306a36Sopenharmony_ci#define ISPCCP2_LCx_CODE(x)		((0x054)+0x30*(x))
11862306a36Sopenharmony_ci#define ISPCCP2_LCx_STAT_START(x)	((0x058)+0x30*(x))
11962306a36Sopenharmony_ci#define ISPCCP2_LCx_STAT_SIZE(x)	((0x05C)+0x30*(x))
12062306a36Sopenharmony_ci#define ISPCCP2_LCx_SOF_ADDR(x)		((0x060)+0x30*(x))
12162306a36Sopenharmony_ci#define ISPCCP2_LCx_EOF_ADDR(x)		((0x064)+0x30*(x))
12262306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_START(x)	((0x068)+0x30*(x))
12362306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_SIZE(x)		((0x06C)+0x30*(x))
12462306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_MASK		0xFFF
12562306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_SHIFT		16
12662306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_PING_ADDR(x)	((0x070)+0x30*(x))
12762306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_PONG_ADDR(x)	((0x074)+0x30*(x))
12862306a36Sopenharmony_ci#define ISPCCP2_LCx_DAT_OFST(x)		((0x078)+0x30*(x))
12962306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL		(0x1D0)
13062306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_CHAN_EN               BIT(0)
13162306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_DST_PORT              BIT(2)
13262306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_DST_PORT_SHIFT		2
13362306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_READ_THROTTLE_SHIFT	3
13462306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_READ_THROTTLE_MASK	0x11
13562306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_BURST_SIZE_SHIFT	5
13662306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_BURST_SIZE_MASK	0x7
13762306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_FORMAT_SHIFT	16
13862306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_FORMAT_MASK	0x7
13962306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_DECOMPR_SHIFT	20
14062306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_DECOMPR_MASK	0x3
14162306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_DPCM_PRED		BIT(22)
14262306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_SRC_PACK		BIT(23)
14362306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_DST_FORMAT_SHIFT	24
14462306a36Sopenharmony_ci#define ISPCCP2_LCM_CTRL_DST_FORMAT_MASK	0x7
14562306a36Sopenharmony_ci#define ISPCCP2_LCM_VSIZE		(0x1D4)
14662306a36Sopenharmony_ci#define ISPCCP2_LCM_VSIZE_SHIFT		16
14762306a36Sopenharmony_ci#define ISPCCP2_LCM_HSIZE		(0x1D8)
14862306a36Sopenharmony_ci#define ISPCCP2_LCM_HSIZE_SHIFT		16
14962306a36Sopenharmony_ci#define ISPCCP2_LCM_PREFETCH		(0x1DC)
15062306a36Sopenharmony_ci#define ISPCCP2_LCM_PREFETCH_SHIFT	3
15162306a36Sopenharmony_ci#define ISPCCP2_LCM_SRC_ADDR		(0x1E0)
15262306a36Sopenharmony_ci#define ISPCCP2_LCM_SRC_OFST		(0x1E4)
15362306a36Sopenharmony_ci#define ISPCCP2_LCM_DST_ADDR		(0x1E8)
15462306a36Sopenharmony_ci#define ISPCCP2_LCM_DST_OFST		(0x1EC)
15562306a36Sopenharmony_ci
15662306a36Sopenharmony_ci/* CCDC module register offset */
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci#define ISPCCDC_PID			(0x000)
15962306a36Sopenharmony_ci#define ISPCCDC_PCR			(0x004)
16062306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE		(0x008)
16162306a36Sopenharmony_ci#define ISPCCDC_HD_VD_WID		(0x00C)
16262306a36Sopenharmony_ci#define ISPCCDC_PIX_LINES		(0x010)
16362306a36Sopenharmony_ci#define ISPCCDC_HORZ_INFO		(0x014)
16462306a36Sopenharmony_ci#define ISPCCDC_VERT_START		(0x018)
16562306a36Sopenharmony_ci#define ISPCCDC_VERT_LINES		(0x01C)
16662306a36Sopenharmony_ci#define ISPCCDC_CULLING			(0x020)
16762306a36Sopenharmony_ci#define ISPCCDC_HSIZE_OFF		(0x024)
16862306a36Sopenharmony_ci#define ISPCCDC_SDOFST			(0x028)
16962306a36Sopenharmony_ci#define ISPCCDC_SDR_ADDR		(0x02C)
17062306a36Sopenharmony_ci#define ISPCCDC_CLAMP			(0x030)
17162306a36Sopenharmony_ci#define ISPCCDC_DCSUB			(0x034)
17262306a36Sopenharmony_ci#define ISPCCDC_COLPTN			(0x038)
17362306a36Sopenharmony_ci#define ISPCCDC_BLKCMP			(0x03C)
17462306a36Sopenharmony_ci#define ISPCCDC_FPC			(0x040)
17562306a36Sopenharmony_ci#define ISPCCDC_FPC_ADDR		(0x044)
17662306a36Sopenharmony_ci#define ISPCCDC_VDINT			(0x048)
17762306a36Sopenharmony_ci#define ISPCCDC_ALAW			(0x04C)
17862306a36Sopenharmony_ci#define ISPCCDC_REC656IF		(0x050)
17962306a36Sopenharmony_ci#define ISPCCDC_CFG			(0x054)
18062306a36Sopenharmony_ci#define ISPCCDC_FMTCFG			(0x058)
18162306a36Sopenharmony_ci#define ISPCCDC_FMT_HORZ		(0x05C)
18262306a36Sopenharmony_ci#define ISPCCDC_FMT_VERT		(0x060)
18362306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR0		(0x064)
18462306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR1		(0x068)
18562306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR2		(0x06C)
18662306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR3		(0x070)
18762306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR4		(0x074)
18862306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR5		(0x078)
18962306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR6		(0x07C)
19062306a36Sopenharmony_ci#define ISPCCDC_FMT_ADDR7		(0x080)
19162306a36Sopenharmony_ci#define ISPCCDC_PRGEVEN0		(0x084)
19262306a36Sopenharmony_ci#define ISPCCDC_PRGEVEN1		(0x088)
19362306a36Sopenharmony_ci#define ISPCCDC_PRGODD0			(0x08C)
19462306a36Sopenharmony_ci#define ISPCCDC_PRGODD1			(0x090)
19562306a36Sopenharmony_ci#define ISPCCDC_VP_OUT			(0x094)
19662306a36Sopenharmony_ci
19762306a36Sopenharmony_ci#define ISPCCDC_LSC_CONFIG		(0x098)
19862306a36Sopenharmony_ci#define ISPCCDC_LSC_INITIAL		(0x09C)
19962306a36Sopenharmony_ci#define ISPCCDC_LSC_TABLE_BASE		(0x0A0)
20062306a36Sopenharmony_ci#define ISPCCDC_LSC_TABLE_OFFSET	(0x0A4)
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ci/* SBL */
20362306a36Sopenharmony_ci#define ISPSBL_PCR			0x4
20462306a36Sopenharmony_ci#define ISPSBL_PCR_H3A_AEAWB_WBL_OVF	BIT(16)
20562306a36Sopenharmony_ci#define ISPSBL_PCR_H3A_AF_WBL_OVF	BIT(17)
20662306a36Sopenharmony_ci#define ISPSBL_PCR_RSZ4_WBL_OVF		BIT(18)
20762306a36Sopenharmony_ci#define ISPSBL_PCR_RSZ3_WBL_OVF		BIT(19)
20862306a36Sopenharmony_ci#define ISPSBL_PCR_RSZ2_WBL_OVF		BIT(20)
20962306a36Sopenharmony_ci#define ISPSBL_PCR_RSZ1_WBL_OVF		BIT(21)
21062306a36Sopenharmony_ci#define ISPSBL_PCR_PRV_WBL_OVF		BIT(22)
21162306a36Sopenharmony_ci#define ISPSBL_PCR_CCDC_WBL_OVF		BIT(23)
21262306a36Sopenharmony_ci#define ISPSBL_PCR_CCDCPRV_2_RSZ_OVF	BIT(24)
21362306a36Sopenharmony_ci#define ISPSBL_PCR_CSIA_WBL_OVF		BIT(25)
21462306a36Sopenharmony_ci#define ISPSBL_PCR_CSIB_WBL_OVF		BIT(26)
21562306a36Sopenharmony_ci#define ISPSBL_CCDC_WR_0		(0x028)
21662306a36Sopenharmony_ci#define ISPSBL_CCDC_WR_0_DATA_READY	BIT(21)
21762306a36Sopenharmony_ci#define ISPSBL_CCDC_WR_1		(0x02C)
21862306a36Sopenharmony_ci#define ISPSBL_CCDC_WR_2		(0x030)
21962306a36Sopenharmony_ci#define ISPSBL_CCDC_WR_3		(0x034)
22062306a36Sopenharmony_ci
22162306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_EXP		0xF8
22262306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_HIST_EXP_SHIFT	0
22362306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_HIST_EXP_MASK	(0x3FF)
22462306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_RSZ_EXP_SHIFT	10
22562306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_RSZ_EXP_MASK	(0x3FF << ISPSBL_SDR_REQ_RSZ_EXP_SHIFT)
22662306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_PRV_EXP_SHIFT	20
22762306a36Sopenharmony_ci#define ISPSBL_SDR_REQ_PRV_EXP_MASK	(0x3FF << ISPSBL_SDR_REQ_PRV_EXP_SHIFT)
22862306a36Sopenharmony_ci
22962306a36Sopenharmony_ci/* Histogram registers */
23062306a36Sopenharmony_ci#define ISPHIST_PID			(0x000)
23162306a36Sopenharmony_ci#define ISPHIST_PCR			(0x004)
23262306a36Sopenharmony_ci#define ISPHIST_CNT			(0x008)
23362306a36Sopenharmony_ci#define ISPHIST_WB_GAIN			(0x00C)
23462306a36Sopenharmony_ci#define ISPHIST_R0_HORZ			(0x010)
23562306a36Sopenharmony_ci#define ISPHIST_R0_VERT			(0x014)
23662306a36Sopenharmony_ci#define ISPHIST_R1_HORZ			(0x018)
23762306a36Sopenharmony_ci#define ISPHIST_R1_VERT			(0x01C)
23862306a36Sopenharmony_ci#define ISPHIST_R2_HORZ			(0x020)
23962306a36Sopenharmony_ci#define ISPHIST_R2_VERT			(0x024)
24062306a36Sopenharmony_ci#define ISPHIST_R3_HORZ			(0x028)
24162306a36Sopenharmony_ci#define ISPHIST_R3_VERT			(0x02C)
24262306a36Sopenharmony_ci#define ISPHIST_ADDR			(0x030)
24362306a36Sopenharmony_ci#define ISPHIST_DATA			(0x034)
24462306a36Sopenharmony_ci#define ISPHIST_RADD			(0x038)
24562306a36Sopenharmony_ci#define ISPHIST_RADD_OFF		(0x03C)
24662306a36Sopenharmony_ci#define ISPHIST_H_V_INFO		(0x040)
24762306a36Sopenharmony_ci
24862306a36Sopenharmony_ci/* H3A module registers */
24962306a36Sopenharmony_ci#define ISPH3A_PID			(0x000)
25062306a36Sopenharmony_ci#define ISPH3A_PCR			(0x004)
25162306a36Sopenharmony_ci#define ISPH3A_AEWWIN1			(0x04C)
25262306a36Sopenharmony_ci#define ISPH3A_AEWINSTART		(0x050)
25362306a36Sopenharmony_ci#define ISPH3A_AEWINBLK			(0x054)
25462306a36Sopenharmony_ci#define ISPH3A_AEWSUBWIN		(0x058)
25562306a36Sopenharmony_ci#define ISPH3A_AEWBUFST			(0x05C)
25662306a36Sopenharmony_ci#define ISPH3A_AFPAX1			(0x008)
25762306a36Sopenharmony_ci#define ISPH3A_AFPAX2			(0x00C)
25862306a36Sopenharmony_ci#define ISPH3A_AFPAXSTART		(0x010)
25962306a36Sopenharmony_ci#define ISPH3A_AFIIRSH			(0x014)
26062306a36Sopenharmony_ci#define ISPH3A_AFBUFST			(0x018)
26162306a36Sopenharmony_ci#define ISPH3A_AFCOEF010		(0x01C)
26262306a36Sopenharmony_ci#define ISPH3A_AFCOEF032		(0x020)
26362306a36Sopenharmony_ci#define ISPH3A_AFCOEF054		(0x024)
26462306a36Sopenharmony_ci#define ISPH3A_AFCOEF076		(0x028)
26562306a36Sopenharmony_ci#define ISPH3A_AFCOEF098		(0x02C)
26662306a36Sopenharmony_ci#define ISPH3A_AFCOEF0010		(0x030)
26762306a36Sopenharmony_ci#define ISPH3A_AFCOEF110		(0x034)
26862306a36Sopenharmony_ci#define ISPH3A_AFCOEF132		(0x038)
26962306a36Sopenharmony_ci#define ISPH3A_AFCOEF154		(0x03C)
27062306a36Sopenharmony_ci#define ISPH3A_AFCOEF176		(0x040)
27162306a36Sopenharmony_ci#define ISPH3A_AFCOEF198		(0x044)
27262306a36Sopenharmony_ci#define ISPH3A_AFCOEF1010		(0x048)
27362306a36Sopenharmony_ci
27462306a36Sopenharmony_ci#define ISPPRV_PCR			(0x004)
27562306a36Sopenharmony_ci#define ISPPRV_HORZ_INFO		(0x008)
27662306a36Sopenharmony_ci#define ISPPRV_VERT_INFO		(0x00C)
27762306a36Sopenharmony_ci#define ISPPRV_RSDR_ADDR		(0x010)
27862306a36Sopenharmony_ci#define ISPPRV_RADR_OFFSET		(0x014)
27962306a36Sopenharmony_ci#define ISPPRV_DSDR_ADDR		(0x018)
28062306a36Sopenharmony_ci#define ISPPRV_DRKF_OFFSET		(0x01C)
28162306a36Sopenharmony_ci#define ISPPRV_WSDR_ADDR		(0x020)
28262306a36Sopenharmony_ci#define ISPPRV_WADD_OFFSET		(0x024)
28362306a36Sopenharmony_ci#define ISPPRV_AVE			(0x028)
28462306a36Sopenharmony_ci#define ISPPRV_HMED			(0x02C)
28562306a36Sopenharmony_ci#define ISPPRV_NF			(0x030)
28662306a36Sopenharmony_ci#define ISPPRV_WB_DGAIN			(0x034)
28762306a36Sopenharmony_ci#define ISPPRV_WBGAIN			(0x038)
28862306a36Sopenharmony_ci#define ISPPRV_WBSEL			(0x03C)
28962306a36Sopenharmony_ci#define ISPPRV_CFA			(0x040)
29062306a36Sopenharmony_ci#define ISPPRV_BLKADJOFF		(0x044)
29162306a36Sopenharmony_ci#define ISPPRV_RGB_MAT1			(0x048)
29262306a36Sopenharmony_ci#define ISPPRV_RGB_MAT2			(0x04C)
29362306a36Sopenharmony_ci#define ISPPRV_RGB_MAT3			(0x050)
29462306a36Sopenharmony_ci#define ISPPRV_RGB_MAT4			(0x054)
29562306a36Sopenharmony_ci#define ISPPRV_RGB_MAT5			(0x058)
29662306a36Sopenharmony_ci#define ISPPRV_RGB_OFF1			(0x05C)
29762306a36Sopenharmony_ci#define ISPPRV_RGB_OFF2			(0x060)
29862306a36Sopenharmony_ci#define ISPPRV_CSC0			(0x064)
29962306a36Sopenharmony_ci#define ISPPRV_CSC1			(0x068)
30062306a36Sopenharmony_ci#define ISPPRV_CSC2			(0x06C)
30162306a36Sopenharmony_ci#define ISPPRV_CSC_OFFSET		(0x070)
30262306a36Sopenharmony_ci#define ISPPRV_CNT_BRT			(0x074)
30362306a36Sopenharmony_ci#define ISPPRV_CSUP			(0x078)
30462306a36Sopenharmony_ci#define ISPPRV_SETUP_YC			(0x07C)
30562306a36Sopenharmony_ci#define ISPPRV_SET_TBL_ADDR		(0x080)
30662306a36Sopenharmony_ci#define ISPPRV_SET_TBL_DATA		(0x084)
30762306a36Sopenharmony_ci#define ISPPRV_CDC_THR0			(0x090)
30862306a36Sopenharmony_ci#define ISPPRV_CDC_THR1			(ISPPRV_CDC_THR0 + (0x4))
30962306a36Sopenharmony_ci#define ISPPRV_CDC_THR2			(ISPPRV_CDC_THR0 + (0x4) * 2)
31062306a36Sopenharmony_ci#define ISPPRV_CDC_THR3			(ISPPRV_CDC_THR0 + (0x4) * 3)
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_ci#define ISPPRV_REDGAMMA_TABLE_ADDR	0x0000
31362306a36Sopenharmony_ci#define ISPPRV_GREENGAMMA_TABLE_ADDR	0x0400
31462306a36Sopenharmony_ci#define ISPPRV_BLUEGAMMA_TABLE_ADDR	0x0800
31562306a36Sopenharmony_ci#define ISPPRV_NF_TABLE_ADDR		0x0C00
31662306a36Sopenharmony_ci#define ISPPRV_YENH_TABLE_ADDR		0x1000
31762306a36Sopenharmony_ci#define ISPPRV_CFA_TABLE_ADDR		0x1400
31862306a36Sopenharmony_ci
31962306a36Sopenharmony_ci#define ISPRSZ_MIN_OUTPUT		64
32062306a36Sopenharmony_ci#define ISPRSZ_MAX_OUTPUT		3312
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ci/* Resizer module register offset */
32362306a36Sopenharmony_ci#define ISPRSZ_PID			(0x000)
32462306a36Sopenharmony_ci#define ISPRSZ_PCR			(0x004)
32562306a36Sopenharmony_ci#define ISPRSZ_CNT			(0x008)
32662306a36Sopenharmony_ci#define ISPRSZ_OUT_SIZE			(0x00C)
32762306a36Sopenharmony_ci#define ISPRSZ_IN_START			(0x010)
32862306a36Sopenharmony_ci#define ISPRSZ_IN_SIZE			(0x014)
32962306a36Sopenharmony_ci#define ISPRSZ_SDR_INADD		(0x018)
33062306a36Sopenharmony_ci#define ISPRSZ_SDR_INOFF		(0x01C)
33162306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTADD		(0x020)
33262306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTOFF		(0x024)
33362306a36Sopenharmony_ci#define ISPRSZ_HFILT10			(0x028)
33462306a36Sopenharmony_ci#define ISPRSZ_HFILT32			(0x02C)
33562306a36Sopenharmony_ci#define ISPRSZ_HFILT54			(0x030)
33662306a36Sopenharmony_ci#define ISPRSZ_HFILT76			(0x034)
33762306a36Sopenharmony_ci#define ISPRSZ_HFILT98			(0x038)
33862306a36Sopenharmony_ci#define ISPRSZ_HFILT1110		(0x03C)
33962306a36Sopenharmony_ci#define ISPRSZ_HFILT1312		(0x040)
34062306a36Sopenharmony_ci#define ISPRSZ_HFILT1514		(0x044)
34162306a36Sopenharmony_ci#define ISPRSZ_HFILT1716		(0x048)
34262306a36Sopenharmony_ci#define ISPRSZ_HFILT1918		(0x04C)
34362306a36Sopenharmony_ci#define ISPRSZ_HFILT2120		(0x050)
34462306a36Sopenharmony_ci#define ISPRSZ_HFILT2322		(0x054)
34562306a36Sopenharmony_ci#define ISPRSZ_HFILT2524		(0x058)
34662306a36Sopenharmony_ci#define ISPRSZ_HFILT2726		(0x05C)
34762306a36Sopenharmony_ci#define ISPRSZ_HFILT2928		(0x060)
34862306a36Sopenharmony_ci#define ISPRSZ_HFILT3130		(0x064)
34962306a36Sopenharmony_ci#define ISPRSZ_VFILT10			(0x068)
35062306a36Sopenharmony_ci#define ISPRSZ_VFILT32			(0x06C)
35162306a36Sopenharmony_ci#define ISPRSZ_VFILT54			(0x070)
35262306a36Sopenharmony_ci#define ISPRSZ_VFILT76			(0x074)
35362306a36Sopenharmony_ci#define ISPRSZ_VFILT98			(0x078)
35462306a36Sopenharmony_ci#define ISPRSZ_VFILT1110		(0x07C)
35562306a36Sopenharmony_ci#define ISPRSZ_VFILT1312		(0x080)
35662306a36Sopenharmony_ci#define ISPRSZ_VFILT1514		(0x084)
35762306a36Sopenharmony_ci#define ISPRSZ_VFILT1716		(0x088)
35862306a36Sopenharmony_ci#define ISPRSZ_VFILT1918		(0x08C)
35962306a36Sopenharmony_ci#define ISPRSZ_VFILT2120		(0x090)
36062306a36Sopenharmony_ci#define ISPRSZ_VFILT2322		(0x094)
36162306a36Sopenharmony_ci#define ISPRSZ_VFILT2524		(0x098)
36262306a36Sopenharmony_ci#define ISPRSZ_VFILT2726		(0x09C)
36362306a36Sopenharmony_ci#define ISPRSZ_VFILT2928		(0x0A0)
36462306a36Sopenharmony_ci#define ISPRSZ_VFILT3130		(0x0A4)
36562306a36Sopenharmony_ci#define ISPRSZ_YENH			(0x0A8)
36662306a36Sopenharmony_ci
36762306a36Sopenharmony_ci#define ISP_INT_CLR			0xFF113F11
36862306a36Sopenharmony_ci#define ISPPRV_PCR_EN			1
36962306a36Sopenharmony_ci#define ISPPRV_PCR_BUSY			BIT(1)
37062306a36Sopenharmony_ci#define ISPPRV_PCR_SOURCE		BIT(2)
37162306a36Sopenharmony_ci#define ISPPRV_PCR_ONESHOT		BIT(3)
37262306a36Sopenharmony_ci#define ISPPRV_PCR_WIDTH		BIT(4)
37362306a36Sopenharmony_ci#define ISPPRV_PCR_INVALAW		BIT(5)
37462306a36Sopenharmony_ci#define ISPPRV_PCR_DRKFEN		BIT(6)
37562306a36Sopenharmony_ci#define ISPPRV_PCR_DRKFCAP		BIT(7)
37662306a36Sopenharmony_ci#define ISPPRV_PCR_HMEDEN		BIT(8)
37762306a36Sopenharmony_ci#define ISPPRV_PCR_NFEN			BIT(9)
37862306a36Sopenharmony_ci#define ISPPRV_PCR_CFAEN		BIT(10)
37962306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_SHIFT		11
38062306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_MASK		0x7800
38162306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_BAYER		(0 << 11)
38262306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_SONYVGA	(1 << 11)
38362306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_RGBFOVEON	(2 << 11)
38462306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_DNSPL		(3 << 11)
38562306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_HONEYCOMB	(4 << 11)
38662306a36Sopenharmony_ci#define ISPPRV_PCR_CFAFMT_RRGGBBFOVEON	(5 << 11)
38762306a36Sopenharmony_ci#define ISPPRV_PCR_YNENHEN		BIT(15)
38862306a36Sopenharmony_ci#define ISPPRV_PCR_SUPEN		BIT(16)
38962306a36Sopenharmony_ci#define ISPPRV_PCR_YCPOS_SHIFT		17
39062306a36Sopenharmony_ci#define ISPPRV_PCR_YCPOS_YCrYCb		(0 << 17)
39162306a36Sopenharmony_ci#define ISPPRV_PCR_YCPOS_YCbYCr		(1 << 17)
39262306a36Sopenharmony_ci#define ISPPRV_PCR_YCPOS_CbYCrY		(2 << 17)
39362306a36Sopenharmony_ci#define ISPPRV_PCR_YCPOS_CrYCbY		(3 << 17)
39462306a36Sopenharmony_ci#define ISPPRV_PCR_RSZPORT		BIT(19)
39562306a36Sopenharmony_ci#define ISPPRV_PCR_SDRPORT		BIT(20)
39662306a36Sopenharmony_ci#define ISPPRV_PCR_SCOMP_EN		BIT(21)
39762306a36Sopenharmony_ci#define ISPPRV_PCR_SCOMP_SFT_SHIFT	(22)
39862306a36Sopenharmony_ci#define ISPPRV_PCR_SCOMP_SFT_MASK	(7 << 22)
39962306a36Sopenharmony_ci#define ISPPRV_PCR_GAMMA_BYPASS		BIT(26)
40062306a36Sopenharmony_ci#define ISPPRV_PCR_DCOREN		BIT(27)
40162306a36Sopenharmony_ci#define ISPPRV_PCR_DCCOUP		BIT(28)
40262306a36Sopenharmony_ci#define ISPPRV_PCR_DRK_FAIL		BIT(31)
40362306a36Sopenharmony_ci
40462306a36Sopenharmony_ci#define ISPPRV_HORZ_INFO_EPH_SHIFT	0
40562306a36Sopenharmony_ci#define ISPPRV_HORZ_INFO_EPH_MASK	0x3fff
40662306a36Sopenharmony_ci#define ISPPRV_HORZ_INFO_SPH_SHIFT	16
40762306a36Sopenharmony_ci#define ISPPRV_HORZ_INFO_SPH_MASK	0x3fff0
40862306a36Sopenharmony_ci
40962306a36Sopenharmony_ci#define ISPPRV_VERT_INFO_ELV_SHIFT	0
41062306a36Sopenharmony_ci#define ISPPRV_VERT_INFO_ELV_MASK	0x3fff
41162306a36Sopenharmony_ci#define ISPPRV_VERT_INFO_SLV_SHIFT	16
41262306a36Sopenharmony_ci#define ISPPRV_VERT_INFO_SLV_MASK	0x3fff0
41362306a36Sopenharmony_ci
41462306a36Sopenharmony_ci#define ISPPRV_AVE_EVENDIST_SHIFT	2
41562306a36Sopenharmony_ci#define ISPPRV_AVE_EVENDIST_1		0x0
41662306a36Sopenharmony_ci#define ISPPRV_AVE_EVENDIST_2		0x1
41762306a36Sopenharmony_ci#define ISPPRV_AVE_EVENDIST_3		0x2
41862306a36Sopenharmony_ci#define ISPPRV_AVE_EVENDIST_4		0x3
41962306a36Sopenharmony_ci#define ISPPRV_AVE_ODDDIST_SHIFT	4
42062306a36Sopenharmony_ci#define ISPPRV_AVE_ODDDIST_1		0x0
42162306a36Sopenharmony_ci#define ISPPRV_AVE_ODDDIST_2		0x1
42262306a36Sopenharmony_ci#define ISPPRV_AVE_ODDDIST_3		0x2
42362306a36Sopenharmony_ci#define ISPPRV_AVE_ODDDIST_4		0x3
42462306a36Sopenharmony_ci
42562306a36Sopenharmony_ci#define ISPPRV_HMED_THRESHOLD_SHIFT	0
42662306a36Sopenharmony_ci#define ISPPRV_HMED_EVENDIST		BIT(8)
42762306a36Sopenharmony_ci#define ISPPRV_HMED_ODDDIST		BIT(9)
42862306a36Sopenharmony_ci
42962306a36Sopenharmony_ci#define ISPPRV_WBGAIN_COEF0_SHIFT	0
43062306a36Sopenharmony_ci#define ISPPRV_WBGAIN_COEF1_SHIFT	8
43162306a36Sopenharmony_ci#define ISPPRV_WBGAIN_COEF2_SHIFT	16
43262306a36Sopenharmony_ci#define ISPPRV_WBGAIN_COEF3_SHIFT	24
43362306a36Sopenharmony_ci
43462306a36Sopenharmony_ci#define ISPPRV_WBSEL_COEF0		0x0
43562306a36Sopenharmony_ci#define ISPPRV_WBSEL_COEF1		0x1
43662306a36Sopenharmony_ci#define ISPPRV_WBSEL_COEF2		0x2
43762306a36Sopenharmony_ci#define ISPPRV_WBSEL_COEF3		0x3
43862306a36Sopenharmony_ci
43962306a36Sopenharmony_ci#define ISPPRV_WBSEL_N0_0_SHIFT		0
44062306a36Sopenharmony_ci#define ISPPRV_WBSEL_N0_1_SHIFT		2
44162306a36Sopenharmony_ci#define ISPPRV_WBSEL_N0_2_SHIFT		4
44262306a36Sopenharmony_ci#define ISPPRV_WBSEL_N0_3_SHIFT		6
44362306a36Sopenharmony_ci#define ISPPRV_WBSEL_N1_0_SHIFT		8
44462306a36Sopenharmony_ci#define ISPPRV_WBSEL_N1_1_SHIFT		10
44562306a36Sopenharmony_ci#define ISPPRV_WBSEL_N1_2_SHIFT		12
44662306a36Sopenharmony_ci#define ISPPRV_WBSEL_N1_3_SHIFT		14
44762306a36Sopenharmony_ci#define ISPPRV_WBSEL_N2_0_SHIFT		16
44862306a36Sopenharmony_ci#define ISPPRV_WBSEL_N2_1_SHIFT		18
44962306a36Sopenharmony_ci#define ISPPRV_WBSEL_N2_2_SHIFT		20
45062306a36Sopenharmony_ci#define ISPPRV_WBSEL_N2_3_SHIFT		22
45162306a36Sopenharmony_ci#define ISPPRV_WBSEL_N3_0_SHIFT		24
45262306a36Sopenharmony_ci#define ISPPRV_WBSEL_N3_1_SHIFT		26
45362306a36Sopenharmony_ci#define ISPPRV_WBSEL_N3_2_SHIFT		28
45462306a36Sopenharmony_ci#define ISPPRV_WBSEL_N3_3_SHIFT		30
45562306a36Sopenharmony_ci
45662306a36Sopenharmony_ci#define ISPPRV_CFA_GRADTH_HOR_SHIFT	0
45762306a36Sopenharmony_ci#define ISPPRV_CFA_GRADTH_VER_SHIFT	8
45862306a36Sopenharmony_ci
45962306a36Sopenharmony_ci#define ISPPRV_BLKADJOFF_B_SHIFT	0
46062306a36Sopenharmony_ci#define ISPPRV_BLKADJOFF_G_SHIFT	8
46162306a36Sopenharmony_ci#define ISPPRV_BLKADJOFF_R_SHIFT	16
46262306a36Sopenharmony_ci
46362306a36Sopenharmony_ci#define ISPPRV_RGB_MAT1_MTX_RR_SHIFT	0
46462306a36Sopenharmony_ci#define ISPPRV_RGB_MAT1_MTX_GR_SHIFT	16
46562306a36Sopenharmony_ci
46662306a36Sopenharmony_ci#define ISPPRV_RGB_MAT2_MTX_BR_SHIFT	0
46762306a36Sopenharmony_ci#define ISPPRV_RGB_MAT2_MTX_RG_SHIFT	16
46862306a36Sopenharmony_ci
46962306a36Sopenharmony_ci#define ISPPRV_RGB_MAT3_MTX_GG_SHIFT	0
47062306a36Sopenharmony_ci#define ISPPRV_RGB_MAT3_MTX_BG_SHIFT	16
47162306a36Sopenharmony_ci
47262306a36Sopenharmony_ci#define ISPPRV_RGB_MAT4_MTX_RB_SHIFT	0
47362306a36Sopenharmony_ci#define ISPPRV_RGB_MAT4_MTX_GB_SHIFT	16
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_ci#define ISPPRV_RGB_MAT5_MTX_BB_SHIFT	0
47662306a36Sopenharmony_ci
47762306a36Sopenharmony_ci#define ISPPRV_RGB_OFF1_MTX_OFFG_SHIFT	0
47862306a36Sopenharmony_ci#define ISPPRV_RGB_OFF1_MTX_OFFR_SHIFT	16
47962306a36Sopenharmony_ci
48062306a36Sopenharmony_ci#define ISPPRV_RGB_OFF2_MTX_OFFB_SHIFT	0
48162306a36Sopenharmony_ci
48262306a36Sopenharmony_ci#define ISPPRV_CSC0_RY_SHIFT		0
48362306a36Sopenharmony_ci#define ISPPRV_CSC0_GY_SHIFT		10
48462306a36Sopenharmony_ci#define ISPPRV_CSC0_BY_SHIFT		20
48562306a36Sopenharmony_ci
48662306a36Sopenharmony_ci#define ISPPRV_CSC1_RCB_SHIFT		0
48762306a36Sopenharmony_ci#define ISPPRV_CSC1_GCB_SHIFT		10
48862306a36Sopenharmony_ci#define ISPPRV_CSC1_BCB_SHIFT		20
48962306a36Sopenharmony_ci
49062306a36Sopenharmony_ci#define ISPPRV_CSC2_RCR_SHIFT		0
49162306a36Sopenharmony_ci#define ISPPRV_CSC2_GCR_SHIFT		10
49262306a36Sopenharmony_ci#define ISPPRV_CSC2_BCR_SHIFT		20
49362306a36Sopenharmony_ci
49462306a36Sopenharmony_ci#define ISPPRV_CSC_OFFSET_CR_SHIFT	0
49562306a36Sopenharmony_ci#define ISPPRV_CSC_OFFSET_CB_SHIFT	8
49662306a36Sopenharmony_ci#define ISPPRV_CSC_OFFSET_Y_SHIFT	16
49762306a36Sopenharmony_ci
49862306a36Sopenharmony_ci#define ISPPRV_CNT_BRT_BRT_SHIFT	0
49962306a36Sopenharmony_ci#define ISPPRV_CNT_BRT_CNT_SHIFT	8
50062306a36Sopenharmony_ci
50162306a36Sopenharmony_ci#define ISPPRV_CONTRAST_MAX		0x10
50262306a36Sopenharmony_ci#define ISPPRV_CONTRAST_MIN		0xFF
50362306a36Sopenharmony_ci#define ISPPRV_BRIGHT_MIN		0x00
50462306a36Sopenharmony_ci#define ISPPRV_BRIGHT_MAX		0xFF
50562306a36Sopenharmony_ci
50662306a36Sopenharmony_ci#define ISPPRV_CSUP_CSUPG_SHIFT		0
50762306a36Sopenharmony_ci#define ISPPRV_CSUP_THRES_SHIFT		8
50862306a36Sopenharmony_ci#define ISPPRV_CSUP_HPYF_SHIFT		16
50962306a36Sopenharmony_ci
51062306a36Sopenharmony_ci#define ISPPRV_SETUP_YC_MINC_SHIFT	0
51162306a36Sopenharmony_ci#define ISPPRV_SETUP_YC_MAXC_SHIFT	8
51262306a36Sopenharmony_ci#define ISPPRV_SETUP_YC_MINY_SHIFT	16
51362306a36Sopenharmony_ci#define ISPPRV_SETUP_YC_MAXY_SHIFT	24
51462306a36Sopenharmony_ci#define ISPPRV_YC_MAX			0xFF
51562306a36Sopenharmony_ci#define ISPPRV_YC_MIN			0x0
51662306a36Sopenharmony_ci
51762306a36Sopenharmony_ci/* Define bit fields within selected registers */
51862306a36Sopenharmony_ci#define ISP_REVISION_SHIFT			0
51962306a36Sopenharmony_ci
52062306a36Sopenharmony_ci#define ISP_SYSCONFIG_AUTOIDLE			BIT(0)
52162306a36Sopenharmony_ci#define ISP_SYSCONFIG_SOFTRESET			BIT(1)
52262306a36Sopenharmony_ci#define ISP_SYSCONFIG_MIDLEMODE_SHIFT		12
52362306a36Sopenharmony_ci#define ISP_SYSCONFIG_MIDLEMODE_FORCESTANDBY	0x0
52462306a36Sopenharmony_ci#define ISP_SYSCONFIG_MIDLEMODE_NOSTANBY	0x1
52562306a36Sopenharmony_ci#define ISP_SYSCONFIG_MIDLEMODE_SMARTSTANDBY	0x2
52662306a36Sopenharmony_ci
52762306a36Sopenharmony_ci#define ISP_SYSSTATUS_RESETDONE			0
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_ci#define IRQ0ENABLE_CSIA_IRQ			BIT(0)
53062306a36Sopenharmony_ci#define IRQ0ENABLE_CSIC_IRQ			BIT(1)
53162306a36Sopenharmony_ci#define IRQ0ENABLE_CCP2_LCM_IRQ			BIT(3)
53262306a36Sopenharmony_ci#define IRQ0ENABLE_CCP2_LC0_IRQ			BIT(4)
53362306a36Sopenharmony_ci#define IRQ0ENABLE_CCP2_LC1_IRQ			BIT(5)
53462306a36Sopenharmony_ci#define IRQ0ENABLE_CCP2_LC2_IRQ			BIT(6)
53562306a36Sopenharmony_ci#define IRQ0ENABLE_CCP2_LC3_IRQ			BIT(7)
53662306a36Sopenharmony_ci#define IRQ0ENABLE_CSIB_IRQ			(IRQ0ENABLE_CCP2_LCM_IRQ | \
53762306a36Sopenharmony_ci						IRQ0ENABLE_CCP2_LC0_IRQ | \
53862306a36Sopenharmony_ci						IRQ0ENABLE_CCP2_LC1_IRQ | \
53962306a36Sopenharmony_ci						IRQ0ENABLE_CCP2_LC2_IRQ | \
54062306a36Sopenharmony_ci						IRQ0ENABLE_CCP2_LC3_IRQ)
54162306a36Sopenharmony_ci
54262306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_VD0_IRQ			BIT(8)
54362306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_VD1_IRQ			BIT(9)
54462306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_VD2_IRQ			BIT(10)
54562306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_ERR_IRQ			BIT(11)
54662306a36Sopenharmony_ci#define IRQ0ENABLE_H3A_AF_DONE_IRQ		BIT(12)
54762306a36Sopenharmony_ci#define IRQ0ENABLE_H3A_AWB_DONE_IRQ		BIT(13)
54862306a36Sopenharmony_ci#define IRQ0ENABLE_HIST_DONE_IRQ		BIT(16)
54962306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_LSC_DONE_IRQ		BIT(17)
55062306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_LSC_PREF_COMP_IRQ	BIT(18)
55162306a36Sopenharmony_ci#define IRQ0ENABLE_CCDC_LSC_PREF_ERR_IRQ	BIT(19)
55262306a36Sopenharmony_ci#define IRQ0ENABLE_PRV_DONE_IRQ			BIT(20)
55362306a36Sopenharmony_ci#define IRQ0ENABLE_RSZ_DONE_IRQ			BIT(24)
55462306a36Sopenharmony_ci#define IRQ0ENABLE_OVF_IRQ			BIT(25)
55562306a36Sopenharmony_ci#define IRQ0ENABLE_PING_IRQ			BIT(26)
55662306a36Sopenharmony_ci#define IRQ0ENABLE_PONG_IRQ			BIT(27)
55762306a36Sopenharmony_ci#define IRQ0ENABLE_MMU_ERR_IRQ			BIT(28)
55862306a36Sopenharmony_ci#define IRQ0ENABLE_OCP_ERR_IRQ			BIT(29)
55962306a36Sopenharmony_ci#define IRQ0ENABLE_SEC_ERR_IRQ			BIT(30)
56062306a36Sopenharmony_ci#define IRQ0ENABLE_HS_VS_IRQ			BIT(31)
56162306a36Sopenharmony_ci
56262306a36Sopenharmony_ci#define IRQ0STATUS_CSIA_IRQ			BIT(0)
56362306a36Sopenharmony_ci#define IRQ0STATUS_CSI2C_IRQ			BIT(1)
56462306a36Sopenharmony_ci#define IRQ0STATUS_CCP2_LCM_IRQ			BIT(3)
56562306a36Sopenharmony_ci#define IRQ0STATUS_CCP2_LC0_IRQ			BIT(4)
56662306a36Sopenharmony_ci#define IRQ0STATUS_CSIB_IRQ			(IRQ0STATUS_CCP2_LCM_IRQ | \
56762306a36Sopenharmony_ci						IRQ0STATUS_CCP2_LC0_IRQ)
56862306a36Sopenharmony_ci
56962306a36Sopenharmony_ci#define IRQ0STATUS_CSIB_LC1_IRQ			BIT(5)
57062306a36Sopenharmony_ci#define IRQ0STATUS_CSIB_LC2_IRQ			BIT(6)
57162306a36Sopenharmony_ci#define IRQ0STATUS_CSIB_LC3_IRQ			BIT(7)
57262306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_VD0_IRQ			BIT(8)
57362306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_VD1_IRQ			BIT(9)
57462306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_VD2_IRQ			BIT(10)
57562306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_ERR_IRQ			BIT(11)
57662306a36Sopenharmony_ci#define IRQ0STATUS_H3A_AF_DONE_IRQ		BIT(12)
57762306a36Sopenharmony_ci#define IRQ0STATUS_H3A_AWB_DONE_IRQ		BIT(13)
57862306a36Sopenharmony_ci#define IRQ0STATUS_HIST_DONE_IRQ		BIT(16)
57962306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_LSC_DONE_IRQ		BIT(17)
58062306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_LSC_PREF_COMP_IRQ	BIT(18)
58162306a36Sopenharmony_ci#define IRQ0STATUS_CCDC_LSC_PREF_ERR_IRQ	BIT(19)
58262306a36Sopenharmony_ci#define IRQ0STATUS_PRV_DONE_IRQ			BIT(20)
58362306a36Sopenharmony_ci#define IRQ0STATUS_RSZ_DONE_IRQ			BIT(24)
58462306a36Sopenharmony_ci#define IRQ0STATUS_OVF_IRQ			BIT(25)
58562306a36Sopenharmony_ci#define IRQ0STATUS_PING_IRQ			BIT(26)
58662306a36Sopenharmony_ci#define IRQ0STATUS_PONG_IRQ			BIT(27)
58762306a36Sopenharmony_ci#define IRQ0STATUS_MMU_ERR_IRQ			BIT(28)
58862306a36Sopenharmony_ci#define IRQ0STATUS_OCP_ERR_IRQ			BIT(29)
58962306a36Sopenharmony_ci#define IRQ0STATUS_SEC_ERR_IRQ			BIT(30)
59062306a36Sopenharmony_ci#define IRQ0STATUS_HS_VS_IRQ			BIT(31)
59162306a36Sopenharmony_ci
59262306a36Sopenharmony_ci#define TCTRL_GRESET_LEN			0
59362306a36Sopenharmony_ci
59462306a36Sopenharmony_ci#define TCTRL_PSTRB_REPLAY_DELAY		0
59562306a36Sopenharmony_ci#define TCTRL_PSTRB_REPLAY_COUNTER_SHIFT	25
59662306a36Sopenharmony_ci
59762306a36Sopenharmony_ci#define ISPCTRL_PAR_SER_CLK_SEL_PARALLEL	0x0
59862306a36Sopenharmony_ci#define ISPCTRL_PAR_SER_CLK_SEL_CSIA		0x1
59962306a36Sopenharmony_ci#define ISPCTRL_PAR_SER_CLK_SEL_CSIB		0x2
60062306a36Sopenharmony_ci#define ISPCTRL_PAR_SER_CLK_SEL_CSIC		0x3
60162306a36Sopenharmony_ci#define ISPCTRL_PAR_SER_CLK_SEL_MASK		0x3
60262306a36Sopenharmony_ci
60362306a36Sopenharmony_ci#define ISPCTRL_PAR_BRIDGE_SHIFT		2
60462306a36Sopenharmony_ci#define ISPCTRL_PAR_BRIDGE_DISABLE		(0x0 << 2)
60562306a36Sopenharmony_ci#define ISPCTRL_PAR_BRIDGE_LENDIAN		(0x2 << 2)
60662306a36Sopenharmony_ci#define ISPCTRL_PAR_BRIDGE_BENDIAN		(0x3 << 2)
60762306a36Sopenharmony_ci#define ISPCTRL_PAR_BRIDGE_MASK			(0x3 << 2)
60862306a36Sopenharmony_ci
60962306a36Sopenharmony_ci#define ISPCTRL_PAR_CLK_POL_SHIFT		4
61062306a36Sopenharmony_ci#define ISPCTRL_PAR_CLK_POL_INV			BIT(4)
61162306a36Sopenharmony_ci#define ISPCTRL_PING_PONG_EN			BIT(5)
61262306a36Sopenharmony_ci#define ISPCTRL_SHIFT_SHIFT			6
61362306a36Sopenharmony_ci#define ISPCTRL_SHIFT_0				(0x0 << 6)
61462306a36Sopenharmony_ci#define ISPCTRL_SHIFT_2				(0x1 << 6)
61562306a36Sopenharmony_ci#define ISPCTRL_SHIFT_4				(0x2 << 6)
61662306a36Sopenharmony_ci#define ISPCTRL_SHIFT_MASK			(0x3 << 6)
61762306a36Sopenharmony_ci
61862306a36Sopenharmony_ci#define ISPCTRL_CCDC_CLK_EN			BIT(8)
61962306a36Sopenharmony_ci#define ISPCTRL_SCMP_CLK_EN			BIT(9)
62062306a36Sopenharmony_ci#define ISPCTRL_H3A_CLK_EN			BIT(10)
62162306a36Sopenharmony_ci#define ISPCTRL_HIST_CLK_EN			BIT(11)
62262306a36Sopenharmony_ci#define ISPCTRL_PREV_CLK_EN			BIT(12)
62362306a36Sopenharmony_ci#define ISPCTRL_RSZ_CLK_EN			BIT(13)
62462306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_SHIFT		14
62562306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_HSFALL	(0x0 << ISPCTRL_SYNC_DETECT_SHIFT)
62662306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_HSRISE	(0x1 << ISPCTRL_SYNC_DETECT_SHIFT)
62762306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_VSFALL	(0x2 << ISPCTRL_SYNC_DETECT_SHIFT)
62862306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_VSRISE	(0x3 << ISPCTRL_SYNC_DETECT_SHIFT)
62962306a36Sopenharmony_ci#define ISPCTRL_SYNC_DETECT_MASK	(0x3 << ISPCTRL_SYNC_DETECT_SHIFT)
63062306a36Sopenharmony_ci
63162306a36Sopenharmony_ci#define ISPCTRL_CCDC_RAM_EN		BIT(16)
63262306a36Sopenharmony_ci#define ISPCTRL_PREV_RAM_EN		BIT(17)
63362306a36Sopenharmony_ci#define ISPCTRL_SBL_RD_RAM_EN		BIT(18)
63462306a36Sopenharmony_ci#define ISPCTRL_SBL_WR1_RAM_EN		BIT(19)
63562306a36Sopenharmony_ci#define ISPCTRL_SBL_WR0_RAM_EN		BIT(20)
63662306a36Sopenharmony_ci#define ISPCTRL_SBL_AUTOIDLE		BIT(21)
63762306a36Sopenharmony_ci#define ISPCTRL_SBL_SHARED_WPORTC	BIT(26)
63862306a36Sopenharmony_ci#define ISPCTRL_SBL_SHARED_RPORTA	BIT(27)
63962306a36Sopenharmony_ci#define ISPCTRL_SBL_SHARED_RPORTB	BIT(28)
64062306a36Sopenharmony_ci#define ISPCTRL_JPEG_FLUSH		BIT(30)
64162306a36Sopenharmony_ci#define ISPCTRL_CCDC_FLUSH		BIT(31)
64262306a36Sopenharmony_ci
64362306a36Sopenharmony_ci#define ISPSECURE_SECUREMODE		0
64462306a36Sopenharmony_ci
64562306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIV_LOW		0x0
64662306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIV_HIGH		0x1
64762306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIV_BYPASS	0x1F
64862306a36Sopenharmony_ci
64962306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVA_SHIFT	0
65062306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVA_MASK		(0x1F << ISPTCTRL_CTRL_DIVA_SHIFT)
65162306a36Sopenharmony_ci
65262306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVB_SHIFT	5
65362306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVB_MASK		(0x1F << ISPTCTRL_CTRL_DIVB_SHIFT)
65462306a36Sopenharmony_ci
65562306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVC_SHIFT	10
65662306a36Sopenharmony_ci#define ISPTCTRL_CTRL_DIVC_NOCLOCK	(0x0 << 10)
65762306a36Sopenharmony_ci
65862306a36Sopenharmony_ci#define ISPTCTRL_CTRL_SHUTEN		BIT(21)
65962306a36Sopenharmony_ci#define ISPTCTRL_CTRL_PSTRBEN		BIT(22)
66062306a36Sopenharmony_ci#define ISPTCTRL_CTRL_STRBEN		BIT(23)
66162306a36Sopenharmony_ci#define ISPTCTRL_CTRL_SHUTPOL		BIT(24)
66262306a36Sopenharmony_ci#define ISPTCTRL_CTRL_STRBPSTRBPOL	BIT(26)
66362306a36Sopenharmony_ci
66462306a36Sopenharmony_ci#define ISPTCTRL_CTRL_INSEL_SHIFT	27
66562306a36Sopenharmony_ci#define ISPTCTRL_CTRL_INSEL_PARALLEL	(0x0 << 27)
66662306a36Sopenharmony_ci#define ISPTCTRL_CTRL_INSEL_CSIA	(0x1 << 27)
66762306a36Sopenharmony_ci#define ISPTCTRL_CTRL_INSEL_CSIB	(0x2 << 27)
66862306a36Sopenharmony_ci
66962306a36Sopenharmony_ci#define ISPTCTRL_CTRL_GRESETEn		BIT(29)
67062306a36Sopenharmony_ci#define ISPTCTRL_CTRL_GRESETPOL		BIT(30)
67162306a36Sopenharmony_ci#define ISPTCTRL_CTRL_GRESETDIR		BIT(31)
67262306a36Sopenharmony_ci
67362306a36Sopenharmony_ci#define ISPTCTRL_FRAME_SHUT_SHIFT		0
67462306a36Sopenharmony_ci#define ISPTCTRL_FRAME_PSTRB_SHIFT		6
67562306a36Sopenharmony_ci#define ISPTCTRL_FRAME_STRB_SHIFT		12
67662306a36Sopenharmony_ci
67762306a36Sopenharmony_ci#define ISPCCDC_PID_PREV_SHIFT			0
67862306a36Sopenharmony_ci#define ISPCCDC_PID_CID_SHIFT			8
67962306a36Sopenharmony_ci#define ISPCCDC_PID_TID_SHIFT			16
68062306a36Sopenharmony_ci
68162306a36Sopenharmony_ci#define ISPCCDC_PCR_EN				1
68262306a36Sopenharmony_ci#define ISPCCDC_PCR_BUSY			BIT(1)
68362306a36Sopenharmony_ci
68462306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_VDHDOUT		0x1
68562306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_FLDOUT			BIT(1)
68662306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_VDPOL			BIT(2)
68762306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_HDPOL			BIT(3)
68862306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_FLDPOL			BIT(4)
68962306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_EXWEN			BIT(5)
69062306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATAPOL		BIT(6)
69162306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_FLDMODE		BIT(7)
69262306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_MASK		(0x7 << 8)
69362306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_8_16		(0x0 << 8)
69462306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_12		(0x4 << 8)
69562306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_11		(0x5 << 8)
69662306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_10		(0x6 << 8)
69762306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_DATSIZ_8		(0x7 << 8)
69862306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_PACK8			BIT(11)
69962306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_INPMOD_MASK		(3 << 12)
70062306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_INPMOD_RAW		(0 << 12)
70162306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_INPMOD_YCBCR16		(1 << 12)
70262306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_INPMOD_YCBCR8		(2 << 12)
70362306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_LPF			BIT(14)
70462306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_FLDSTAT		BIT(15)
70562306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_VDHDEN			BIT(16)
70662306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_WEN			BIT(17)
70762306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_VP2SDR			BIT(18)
70862306a36Sopenharmony_ci#define ISPCCDC_SYN_MODE_SDR2RSZ		BIT(19)
70962306a36Sopenharmony_ci
71062306a36Sopenharmony_ci#define ISPCCDC_HD_VD_WID_VDW_SHIFT		0
71162306a36Sopenharmony_ci#define ISPCCDC_HD_VD_WID_HDW_SHIFT		16
71262306a36Sopenharmony_ci
71362306a36Sopenharmony_ci#define ISPCCDC_PIX_LINES_HLPRF_SHIFT		0
71462306a36Sopenharmony_ci#define ISPCCDC_PIX_LINES_PPLN_SHIFT		16
71562306a36Sopenharmony_ci
71662306a36Sopenharmony_ci#define ISPCCDC_HORZ_INFO_NPH_SHIFT		0
71762306a36Sopenharmony_ci#define ISPCCDC_HORZ_INFO_NPH_MASK		0x00007fff
71862306a36Sopenharmony_ci#define ISPCCDC_HORZ_INFO_SPH_SHIFT		16
71962306a36Sopenharmony_ci#define ISPCCDC_HORZ_INFO_SPH_MASK		0x7fff0000
72062306a36Sopenharmony_ci
72162306a36Sopenharmony_ci#define ISPCCDC_VERT_START_SLV1_SHIFT		0
72262306a36Sopenharmony_ci#define ISPCCDC_VERT_START_SLV0_SHIFT		16
72362306a36Sopenharmony_ci#define ISPCCDC_VERT_START_SLV0_MASK		0x7fff0000
72462306a36Sopenharmony_ci
72562306a36Sopenharmony_ci#define ISPCCDC_VERT_LINES_NLV_SHIFT		0
72662306a36Sopenharmony_ci#define ISPCCDC_VERT_LINES_NLV_MASK		0x00007fff
72762306a36Sopenharmony_ci
72862306a36Sopenharmony_ci#define ISPCCDC_CULLING_CULV_SHIFT		0
72962306a36Sopenharmony_ci#define ISPCCDC_CULLING_CULHODD_SHIFT		16
73062306a36Sopenharmony_ci#define ISPCCDC_CULLING_CULHEVN_SHIFT		24
73162306a36Sopenharmony_ci
73262306a36Sopenharmony_ci#define ISPCCDC_HSIZE_OFF_SHIFT			0
73362306a36Sopenharmony_ci
73462306a36Sopenharmony_ci#define ISPCCDC_SDOFST_FIINV			BIT(14)
73562306a36Sopenharmony_ci#define ISPCCDC_SDOFST_FOFST_SHIFT		12
73662306a36Sopenharmony_ci#define ISPCCDC_SDOFST_FOFST_MASK		(3 << 12)
73762306a36Sopenharmony_ci#define ISPCCDC_SDOFST_LOFST3_SHIFT		0
73862306a36Sopenharmony_ci#define ISPCCDC_SDOFST_LOFST2_SHIFT		3
73962306a36Sopenharmony_ci#define ISPCCDC_SDOFST_LOFST1_SHIFT		6
74062306a36Sopenharmony_ci#define ISPCCDC_SDOFST_LOFST0_SHIFT		9
74162306a36Sopenharmony_ci
74262306a36Sopenharmony_ci#define ISPCCDC_CLAMP_OBGAIN_SHIFT		0
74362306a36Sopenharmony_ci#define ISPCCDC_CLAMP_OBST_SHIFT		10
74462306a36Sopenharmony_ci#define ISPCCDC_CLAMP_OBSLN_SHIFT		25
74562306a36Sopenharmony_ci#define ISPCCDC_CLAMP_OBSLEN_SHIFT		28
74662306a36Sopenharmony_ci#define ISPCCDC_CLAMP_CLAMPEN			BIT(31)
74762306a36Sopenharmony_ci
74862306a36Sopenharmony_ci#define ISPCCDC_COLPTN_R_Ye			0x0
74962306a36Sopenharmony_ci#define ISPCCDC_COLPTN_Gr_Cy			0x1
75062306a36Sopenharmony_ci#define ISPCCDC_COLPTN_Gb_G			0x2
75162306a36Sopenharmony_ci#define ISPCCDC_COLPTN_B_Mg			0x3
75262306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP0PLC0_SHIFT		0
75362306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP0PLC1_SHIFT		2
75462306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP0PLC2_SHIFT		4
75562306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP0PLC3_SHIFT		6
75662306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP1PLC0_SHIFT		8
75762306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP1PLC1_SHIFT		10
75862306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP1PLC2_SHIFT		12
75962306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP1PLC3_SHIFT		14
76062306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP2PLC0_SHIFT		16
76162306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP2PLC1_SHIFT		18
76262306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP2PLC2_SHIFT		20
76362306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP2PLC3_SHIFT		22
76462306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP3PLC0_SHIFT		24
76562306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP3PLC1_SHIFT		26
76662306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP3PLC2_SHIFT		28
76762306a36Sopenharmony_ci#define ISPCCDC_COLPTN_CP3PLC3_SHIFT		30
76862306a36Sopenharmony_ci
76962306a36Sopenharmony_ci#define ISPCCDC_BLKCMP_B_MG_SHIFT		0
77062306a36Sopenharmony_ci#define ISPCCDC_BLKCMP_GB_G_SHIFT		8
77162306a36Sopenharmony_ci#define ISPCCDC_BLKCMP_GR_CY_SHIFT		16
77262306a36Sopenharmony_ci#define ISPCCDC_BLKCMP_R_YE_SHIFT		24
77362306a36Sopenharmony_ci
77462306a36Sopenharmony_ci#define ISPCCDC_FPC_FPNUM_SHIFT			0
77562306a36Sopenharmony_ci#define ISPCCDC_FPC_FPCEN			BIT(15)
77662306a36Sopenharmony_ci#define ISPCCDC_FPC_FPERR			BIT(16)
77762306a36Sopenharmony_ci
77862306a36Sopenharmony_ci#define ISPCCDC_VDINT_1_SHIFT			0
77962306a36Sopenharmony_ci#define ISPCCDC_VDINT_1_MASK			0x00007fff
78062306a36Sopenharmony_ci#define ISPCCDC_VDINT_0_SHIFT			16
78162306a36Sopenharmony_ci#define ISPCCDC_VDINT_0_MASK			0x7fff0000
78262306a36Sopenharmony_ci
78362306a36Sopenharmony_ci#define ISPCCDC_ALAW_GWDI_12_3			(0x3 << 0)
78462306a36Sopenharmony_ci#define ISPCCDC_ALAW_GWDI_11_2			(0x4 << 0)
78562306a36Sopenharmony_ci#define ISPCCDC_ALAW_GWDI_10_1			(0x5 << 0)
78662306a36Sopenharmony_ci#define ISPCCDC_ALAW_GWDI_9_0			(0x6 << 0)
78762306a36Sopenharmony_ci#define ISPCCDC_ALAW_CCDTBL			BIT(3)
78862306a36Sopenharmony_ci
78962306a36Sopenharmony_ci#define ISPCCDC_REC656IF_R656ON			1
79062306a36Sopenharmony_ci#define ISPCCDC_REC656IF_ECCFVH			BIT(1)
79162306a36Sopenharmony_ci
79262306a36Sopenharmony_ci#define ISPCCDC_CFG_BW656			BIT(5)
79362306a36Sopenharmony_ci#define ISPCCDC_CFG_FIDMD_SHIFT			6
79462306a36Sopenharmony_ci#define ISPCCDC_CFG_WENLOG			BIT(8)
79562306a36Sopenharmony_ci#define ISPCCDC_CFG_WENLOG_AND			(0 << 8)
79662306a36Sopenharmony_ci#define ISPCCDC_CFG_WENLOG_OR			(1 << 8)
79762306a36Sopenharmony_ci#define ISPCCDC_CFG_Y8POS			BIT(11)
79862306a36Sopenharmony_ci#define ISPCCDC_CFG_BSWD			BIT(12)
79962306a36Sopenharmony_ci#define ISPCCDC_CFG_MSBINVI			BIT(13)
80062306a36Sopenharmony_ci#define ISPCCDC_CFG_VDLC			BIT(15)
80162306a36Sopenharmony_ci
80262306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_FMTEN			0x1
80362306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_LNALT			BIT(1)
80462306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_LNUM_SHIFT		2
80562306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_PLEN_ODD_SHIFT		4
80662306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_PLEN_EVEN_SHIFT		8
80762306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIN_MASK		0x00007000
80862306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIN_12_3		(0x3 << 12)
80962306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIN_11_2		(0x4 << 12)
81062306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIN_10_1		(0x5 << 12)
81162306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIN_9_0			(0x6 << 12)
81262306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPEN			BIT(15)
81362306a36Sopenharmony_ci
81462306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_MASK		0x003f0000
81562306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_SHIFT		16
81662306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_BY2		(0x0 << 16)
81762306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_BY3		(0x1 << 16)
81862306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_BY4		(0x2 << 16)
81962306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_BY5		(0x3 << 16)
82062306a36Sopenharmony_ci#define ISPCCDC_FMTCFG_VPIF_FRQ_BY6		(0x4 << 16)
82162306a36Sopenharmony_ci
82262306a36Sopenharmony_ci#define ISPCCDC_FMT_HORZ_FMTLNH_SHIFT		0
82362306a36Sopenharmony_ci#define ISPCCDC_FMT_HORZ_FMTSPH_SHIFT		16
82462306a36Sopenharmony_ci
82562306a36Sopenharmony_ci#define ISPCCDC_FMT_VERT_FMTLNV_SHIFT		0
82662306a36Sopenharmony_ci#define ISPCCDC_FMT_VERT_FMTSLV_SHIFT		16
82762306a36Sopenharmony_ci
82862306a36Sopenharmony_ci#define ISPCCDC_FMT_HORZ_FMTSPH_MASK		0x1fff0000
82962306a36Sopenharmony_ci#define ISPCCDC_FMT_HORZ_FMTLNH_MASK		0x00001fff
83062306a36Sopenharmony_ci
83162306a36Sopenharmony_ci#define ISPCCDC_FMT_VERT_FMTSLV_MASK		0x1fff0000
83262306a36Sopenharmony_ci#define ISPCCDC_FMT_VERT_FMTLNV_MASK		0x00001fff
83362306a36Sopenharmony_ci
83462306a36Sopenharmony_ci#define ISPCCDC_VP_OUT_HORZ_ST_SHIFT		0
83562306a36Sopenharmony_ci#define ISPCCDC_VP_OUT_HORZ_NUM_SHIFT		4
83662306a36Sopenharmony_ci#define ISPCCDC_VP_OUT_VERT_NUM_SHIFT		17
83762306a36Sopenharmony_ci
83862306a36Sopenharmony_ci#define ISPRSZ_PID_PREV_SHIFT			0
83962306a36Sopenharmony_ci#define ISPRSZ_PID_CID_SHIFT			8
84062306a36Sopenharmony_ci#define ISPRSZ_PID_TID_SHIFT			16
84162306a36Sopenharmony_ci
84262306a36Sopenharmony_ci#define ISPRSZ_PCR_ENABLE			BIT(0)
84362306a36Sopenharmony_ci#define ISPRSZ_PCR_BUSY				BIT(1)
84462306a36Sopenharmony_ci#define ISPRSZ_PCR_ONESHOT			BIT(2)
84562306a36Sopenharmony_ci
84662306a36Sopenharmony_ci#define ISPRSZ_CNT_HRSZ_SHIFT			0
84762306a36Sopenharmony_ci#define ISPRSZ_CNT_HRSZ_MASK			\
84862306a36Sopenharmony_ci	(0x3FF << ISPRSZ_CNT_HRSZ_SHIFT)
84962306a36Sopenharmony_ci#define ISPRSZ_CNT_VRSZ_SHIFT			10
85062306a36Sopenharmony_ci#define ISPRSZ_CNT_VRSZ_MASK			\
85162306a36Sopenharmony_ci	(0x3FF << ISPRSZ_CNT_VRSZ_SHIFT)
85262306a36Sopenharmony_ci#define ISPRSZ_CNT_HSTPH_SHIFT			20
85362306a36Sopenharmony_ci#define ISPRSZ_CNT_HSTPH_MASK			(0x7 << ISPRSZ_CNT_HSTPH_SHIFT)
85462306a36Sopenharmony_ci#define ISPRSZ_CNT_VSTPH_SHIFT			23
85562306a36Sopenharmony_ci#define ISPRSZ_CNT_VSTPH_MASK			(0x7 << ISPRSZ_CNT_VSTPH_SHIFT)
85662306a36Sopenharmony_ci#define ISPRSZ_CNT_YCPOS			BIT(26)
85762306a36Sopenharmony_ci#define ISPRSZ_CNT_INPTYP			BIT(27)
85862306a36Sopenharmony_ci#define ISPRSZ_CNT_INPSRC			BIT(28)
85962306a36Sopenharmony_ci#define ISPRSZ_CNT_CBILIN			BIT(29)
86062306a36Sopenharmony_ci
86162306a36Sopenharmony_ci#define ISPRSZ_OUT_SIZE_HORZ_SHIFT		0
86262306a36Sopenharmony_ci#define ISPRSZ_OUT_SIZE_HORZ_MASK		\
86362306a36Sopenharmony_ci	(0xFFF << ISPRSZ_OUT_SIZE_HORZ_SHIFT)
86462306a36Sopenharmony_ci#define ISPRSZ_OUT_SIZE_VERT_SHIFT		16
86562306a36Sopenharmony_ci#define ISPRSZ_OUT_SIZE_VERT_MASK		\
86662306a36Sopenharmony_ci	(0xFFF << ISPRSZ_OUT_SIZE_VERT_SHIFT)
86762306a36Sopenharmony_ci
86862306a36Sopenharmony_ci#define ISPRSZ_IN_START_HORZ_ST_SHIFT		0
86962306a36Sopenharmony_ci#define ISPRSZ_IN_START_HORZ_ST_MASK		\
87062306a36Sopenharmony_ci	(0x1FFF << ISPRSZ_IN_START_HORZ_ST_SHIFT)
87162306a36Sopenharmony_ci#define ISPRSZ_IN_START_VERT_ST_SHIFT		16
87262306a36Sopenharmony_ci#define ISPRSZ_IN_START_VERT_ST_MASK		\
87362306a36Sopenharmony_ci	(0x1FFF << ISPRSZ_IN_START_VERT_ST_SHIFT)
87462306a36Sopenharmony_ci
87562306a36Sopenharmony_ci#define ISPRSZ_IN_SIZE_HORZ_SHIFT		0
87662306a36Sopenharmony_ci#define ISPRSZ_IN_SIZE_HORZ_MASK		\
87762306a36Sopenharmony_ci	(0x1FFF << ISPRSZ_IN_SIZE_HORZ_SHIFT)
87862306a36Sopenharmony_ci#define ISPRSZ_IN_SIZE_VERT_SHIFT		16
87962306a36Sopenharmony_ci#define ISPRSZ_IN_SIZE_VERT_MASK		\
88062306a36Sopenharmony_ci	(0x1FFF << ISPRSZ_IN_SIZE_VERT_SHIFT)
88162306a36Sopenharmony_ci
88262306a36Sopenharmony_ci#define ISPRSZ_SDR_INADD_ADDR_SHIFT		0
88362306a36Sopenharmony_ci#define ISPRSZ_SDR_INADD_ADDR_MASK		0xFFFFFFFF
88462306a36Sopenharmony_ci
88562306a36Sopenharmony_ci#define ISPRSZ_SDR_INOFF_OFFSET_SHIFT		0
88662306a36Sopenharmony_ci#define ISPRSZ_SDR_INOFF_OFFSET_MASK		\
88762306a36Sopenharmony_ci	(0xFFFF << ISPRSZ_SDR_INOFF_OFFSET_SHIFT)
88862306a36Sopenharmony_ci
88962306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTADD_ADDR_SHIFT		0
89062306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTADD_ADDR_MASK		0xFFFFFFFF
89162306a36Sopenharmony_ci
89262306a36Sopenharmony_ci
89362306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTOFF_OFFSET_SHIFT		0
89462306a36Sopenharmony_ci#define ISPRSZ_SDR_OUTOFF_OFFSET_MASK		\
89562306a36Sopenharmony_ci	(0xFFFF << ISPRSZ_SDR_OUTOFF_OFFSET_SHIFT)
89662306a36Sopenharmony_ci
89762306a36Sopenharmony_ci#define ISPRSZ_HFILT_COEF0_SHIFT		0
89862306a36Sopenharmony_ci#define ISPRSZ_HFILT_COEF0_MASK			\
89962306a36Sopenharmony_ci	(0x3FF << ISPRSZ_HFILT_COEF0_SHIFT)
90062306a36Sopenharmony_ci#define ISPRSZ_HFILT_COEF1_SHIFT		16
90162306a36Sopenharmony_ci#define ISPRSZ_HFILT_COEF1_MASK			\
90262306a36Sopenharmony_ci	(0x3FF << ISPRSZ_HFILT_COEF1_SHIFT)
90362306a36Sopenharmony_ci
90462306a36Sopenharmony_ci#define ISPRSZ_HFILT32_COEF2_SHIFT		0
90562306a36Sopenharmony_ci#define ISPRSZ_HFILT32_COEF2_MASK		0x3FF
90662306a36Sopenharmony_ci#define ISPRSZ_HFILT32_COEF3_SHIFT		16
90762306a36Sopenharmony_ci#define ISPRSZ_HFILT32_COEF3_MASK		0x3FF0000
90862306a36Sopenharmony_ci
90962306a36Sopenharmony_ci#define ISPRSZ_HFILT54_COEF4_SHIFT		0
91062306a36Sopenharmony_ci#define ISPRSZ_HFILT54_COEF4_MASK		0x3FF
91162306a36Sopenharmony_ci#define ISPRSZ_HFILT54_COEF5_SHIFT		16
91262306a36Sopenharmony_ci#define ISPRSZ_HFILT54_COEF5_MASK		0x3FF0000
91362306a36Sopenharmony_ci
91462306a36Sopenharmony_ci#define ISPRSZ_HFILT76_COEFF6_SHIFT		0
91562306a36Sopenharmony_ci#define ISPRSZ_HFILT76_COEFF6_MASK		0x3FF
91662306a36Sopenharmony_ci#define ISPRSZ_HFILT76_COEFF7_SHIFT		16
91762306a36Sopenharmony_ci#define ISPRSZ_HFILT76_COEFF7_MASK		0x3FF0000
91862306a36Sopenharmony_ci
91962306a36Sopenharmony_ci#define ISPRSZ_HFILT98_COEFF8_SHIFT		0
92062306a36Sopenharmony_ci#define ISPRSZ_HFILT98_COEFF8_MASK		0x3FF
92162306a36Sopenharmony_ci#define ISPRSZ_HFILT98_COEFF9_SHIFT		16
92262306a36Sopenharmony_ci#define ISPRSZ_HFILT98_COEFF9_MASK		0x3FF0000
92362306a36Sopenharmony_ci
92462306a36Sopenharmony_ci#define ISPRSZ_HFILT1110_COEF10_SHIFT		0
92562306a36Sopenharmony_ci#define ISPRSZ_HFILT1110_COEF10_MASK		0x3FF
92662306a36Sopenharmony_ci#define ISPRSZ_HFILT1110_COEF11_SHIFT		16
92762306a36Sopenharmony_ci#define ISPRSZ_HFILT1110_COEF11_MASK		0x3FF0000
92862306a36Sopenharmony_ci
92962306a36Sopenharmony_ci#define ISPRSZ_HFILT1312_COEFF12_SHIFT		0
93062306a36Sopenharmony_ci#define ISPRSZ_HFILT1312_COEFF12_MASK		0x3FF
93162306a36Sopenharmony_ci#define ISPRSZ_HFILT1312_COEFF13_SHIFT		16
93262306a36Sopenharmony_ci#define ISPRSZ_HFILT1312_COEFF13_MASK		0x3FF0000
93362306a36Sopenharmony_ci
93462306a36Sopenharmony_ci#define ISPRSZ_HFILT1514_COEFF14_SHIFT		0
93562306a36Sopenharmony_ci#define ISPRSZ_HFILT1514_COEFF14_MASK		0x3FF
93662306a36Sopenharmony_ci#define ISPRSZ_HFILT1514_COEFF15_SHIFT		16
93762306a36Sopenharmony_ci#define ISPRSZ_HFILT1514_COEFF15_MASK		0x3FF0000
93862306a36Sopenharmony_ci
93962306a36Sopenharmony_ci#define ISPRSZ_HFILT1716_COEF16_SHIFT		0
94062306a36Sopenharmony_ci#define ISPRSZ_HFILT1716_COEF16_MASK		0x3FF
94162306a36Sopenharmony_ci#define ISPRSZ_HFILT1716_COEF17_SHIFT		16
94262306a36Sopenharmony_ci#define ISPRSZ_HFILT1716_COEF17_MASK		0x3FF0000
94362306a36Sopenharmony_ci
94462306a36Sopenharmony_ci#define ISPRSZ_HFILT1918_COEF18_SHIFT		0
94562306a36Sopenharmony_ci#define ISPRSZ_HFILT1918_COEF18_MASK		0x3FF
94662306a36Sopenharmony_ci#define ISPRSZ_HFILT1918_COEF19_SHIFT		16
94762306a36Sopenharmony_ci#define ISPRSZ_HFILT1918_COEF19_MASK		0x3FF0000
94862306a36Sopenharmony_ci
94962306a36Sopenharmony_ci#define ISPRSZ_HFILT2120_COEF20_SHIFT		0
95062306a36Sopenharmony_ci#define ISPRSZ_HFILT2120_COEF20_MASK		0x3FF
95162306a36Sopenharmony_ci#define ISPRSZ_HFILT2120_COEF21_SHIFT		16
95262306a36Sopenharmony_ci#define ISPRSZ_HFILT2120_COEF21_MASK		0x3FF0000
95362306a36Sopenharmony_ci
95462306a36Sopenharmony_ci#define ISPRSZ_HFILT2322_COEF22_SHIFT		0
95562306a36Sopenharmony_ci#define ISPRSZ_HFILT2322_COEF22_MASK		0x3FF
95662306a36Sopenharmony_ci#define ISPRSZ_HFILT2322_COEF23_SHIFT		16
95762306a36Sopenharmony_ci#define ISPRSZ_HFILT2322_COEF23_MASK		0x3FF0000
95862306a36Sopenharmony_ci
95962306a36Sopenharmony_ci#define ISPRSZ_HFILT2524_COEF24_SHIFT		0
96062306a36Sopenharmony_ci#define ISPRSZ_HFILT2524_COEF24_MASK		0x3FF
96162306a36Sopenharmony_ci#define ISPRSZ_HFILT2524_COEF25_SHIFT		16
96262306a36Sopenharmony_ci#define ISPRSZ_HFILT2524_COEF25_MASK		0x3FF0000
96362306a36Sopenharmony_ci
96462306a36Sopenharmony_ci#define ISPRSZ_HFILT2726_COEF26_SHIFT		0
96562306a36Sopenharmony_ci#define ISPRSZ_HFILT2726_COEF26_MASK		0x3FF
96662306a36Sopenharmony_ci#define ISPRSZ_HFILT2726_COEF27_SHIFT		16
96762306a36Sopenharmony_ci#define ISPRSZ_HFILT2726_COEF27_MASK		0x3FF0000
96862306a36Sopenharmony_ci
96962306a36Sopenharmony_ci#define ISPRSZ_HFILT2928_COEF28_SHIFT		0
97062306a36Sopenharmony_ci#define ISPRSZ_HFILT2928_COEF28_MASK		0x3FF
97162306a36Sopenharmony_ci#define ISPRSZ_HFILT2928_COEF29_SHIFT		16
97262306a36Sopenharmony_ci#define ISPRSZ_HFILT2928_COEF29_MASK		0x3FF0000
97362306a36Sopenharmony_ci
97462306a36Sopenharmony_ci#define ISPRSZ_HFILT3130_COEF30_SHIFT		0
97562306a36Sopenharmony_ci#define ISPRSZ_HFILT3130_COEF30_MASK		0x3FF
97662306a36Sopenharmony_ci#define ISPRSZ_HFILT3130_COEF31_SHIFT		16
97762306a36Sopenharmony_ci#define ISPRSZ_HFILT3130_COEF31_MASK		0x3FF0000
97862306a36Sopenharmony_ci
97962306a36Sopenharmony_ci#define ISPRSZ_VFILT_COEF0_SHIFT		0
98062306a36Sopenharmony_ci#define ISPRSZ_VFILT_COEF0_MASK			\
98162306a36Sopenharmony_ci	(0x3FF << ISPRSZ_VFILT_COEF0_SHIFT)
98262306a36Sopenharmony_ci#define ISPRSZ_VFILT_COEF1_SHIFT		16
98362306a36Sopenharmony_ci#define ISPRSZ_VFILT_COEF1_MASK			\
98462306a36Sopenharmony_ci	(0x3FF << ISPRSZ_VFILT_COEF1_SHIFT)
98562306a36Sopenharmony_ci
98662306a36Sopenharmony_ci#define ISPRSZ_VFILT10_COEF0_SHIFT		0
98762306a36Sopenharmony_ci#define ISPRSZ_VFILT10_COEF0_MASK		0x3FF
98862306a36Sopenharmony_ci#define ISPRSZ_VFILT10_COEF1_SHIFT		16
98962306a36Sopenharmony_ci#define ISPRSZ_VFILT10_COEF1_MASK		0x3FF0000
99062306a36Sopenharmony_ci
99162306a36Sopenharmony_ci#define ISPRSZ_VFILT32_COEF2_SHIFT		0
99262306a36Sopenharmony_ci#define ISPRSZ_VFILT32_COEF2_MASK		0x3FF
99362306a36Sopenharmony_ci#define ISPRSZ_VFILT32_COEF3_SHIFT		16
99462306a36Sopenharmony_ci#define ISPRSZ_VFILT32_COEF3_MASK		0x3FF0000
99562306a36Sopenharmony_ci
99662306a36Sopenharmony_ci#define ISPRSZ_VFILT54_COEF4_SHIFT		0
99762306a36Sopenharmony_ci#define ISPRSZ_VFILT54_COEF4_MASK		0x3FF
99862306a36Sopenharmony_ci#define ISPRSZ_VFILT54_COEF5_SHIFT		16
99962306a36Sopenharmony_ci#define ISPRSZ_VFILT54_COEF5_MASK		0x3FF0000
100062306a36Sopenharmony_ci
100162306a36Sopenharmony_ci#define ISPRSZ_VFILT76_COEFF6_SHIFT		0
100262306a36Sopenharmony_ci#define ISPRSZ_VFILT76_COEFF6_MASK		0x3FF
100362306a36Sopenharmony_ci#define ISPRSZ_VFILT76_COEFF7_SHIFT		16
100462306a36Sopenharmony_ci#define ISPRSZ_VFILT76_COEFF7_MASK		0x3FF0000
100562306a36Sopenharmony_ci
100662306a36Sopenharmony_ci#define ISPRSZ_VFILT98_COEFF8_SHIFT		0
100762306a36Sopenharmony_ci#define ISPRSZ_VFILT98_COEFF8_MASK		0x3FF
100862306a36Sopenharmony_ci#define ISPRSZ_VFILT98_COEFF9_SHIFT		16
100962306a36Sopenharmony_ci#define ISPRSZ_VFILT98_COEFF9_MASK		0x3FF0000
101062306a36Sopenharmony_ci
101162306a36Sopenharmony_ci#define ISPRSZ_VFILT1110_COEF10_SHIFT		0
101262306a36Sopenharmony_ci#define ISPRSZ_VFILT1110_COEF10_MASK		0x3FF
101362306a36Sopenharmony_ci#define ISPRSZ_VFILT1110_COEF11_SHIFT		16
101462306a36Sopenharmony_ci#define ISPRSZ_VFILT1110_COEF11_MASK		0x3FF0000
101562306a36Sopenharmony_ci
101662306a36Sopenharmony_ci#define ISPRSZ_VFILT1312_COEFF12_SHIFT		0
101762306a36Sopenharmony_ci#define ISPRSZ_VFILT1312_COEFF12_MASK		0x3FF
101862306a36Sopenharmony_ci#define ISPRSZ_VFILT1312_COEFF13_SHIFT		16
101962306a36Sopenharmony_ci#define ISPRSZ_VFILT1312_COEFF13_MASK		0x3FF0000
102062306a36Sopenharmony_ci
102162306a36Sopenharmony_ci#define ISPRSZ_VFILT1514_COEFF14_SHIFT		0
102262306a36Sopenharmony_ci#define ISPRSZ_VFILT1514_COEFF14_MASK		0x3FF
102362306a36Sopenharmony_ci#define ISPRSZ_VFILT1514_COEFF15_SHIFT		16
102462306a36Sopenharmony_ci#define ISPRSZ_VFILT1514_COEFF15_MASK		0x3FF0000
102562306a36Sopenharmony_ci
102662306a36Sopenharmony_ci#define ISPRSZ_VFILT1716_COEF16_SHIFT		0
102762306a36Sopenharmony_ci#define ISPRSZ_VFILT1716_COEF16_MASK		0x3FF
102862306a36Sopenharmony_ci#define ISPRSZ_VFILT1716_COEF17_SHIFT		16
102962306a36Sopenharmony_ci#define ISPRSZ_VFILT1716_COEF17_MASK		0x3FF0000
103062306a36Sopenharmony_ci
103162306a36Sopenharmony_ci#define ISPRSZ_VFILT1918_COEF18_SHIFT		0
103262306a36Sopenharmony_ci#define ISPRSZ_VFILT1918_COEF18_MASK		0x3FF
103362306a36Sopenharmony_ci#define ISPRSZ_VFILT1918_COEF19_SHIFT		16
103462306a36Sopenharmony_ci#define ISPRSZ_VFILT1918_COEF19_MASK		0x3FF0000
103562306a36Sopenharmony_ci
103662306a36Sopenharmony_ci#define ISPRSZ_VFILT2120_COEF20_SHIFT		0
103762306a36Sopenharmony_ci#define ISPRSZ_VFILT2120_COEF20_MASK		0x3FF
103862306a36Sopenharmony_ci#define ISPRSZ_VFILT2120_COEF21_SHIFT		16
103962306a36Sopenharmony_ci#define ISPRSZ_VFILT2120_COEF21_MASK		0x3FF0000
104062306a36Sopenharmony_ci
104162306a36Sopenharmony_ci#define ISPRSZ_VFILT2322_COEF22_SHIFT		0
104262306a36Sopenharmony_ci#define ISPRSZ_VFILT2322_COEF22_MASK		0x3FF
104362306a36Sopenharmony_ci#define ISPRSZ_VFILT2322_COEF23_SHIFT		16
104462306a36Sopenharmony_ci#define ISPRSZ_VFILT2322_COEF23_MASK		0x3FF0000
104562306a36Sopenharmony_ci
104662306a36Sopenharmony_ci#define ISPRSZ_VFILT2524_COEF24_SHIFT		0
104762306a36Sopenharmony_ci#define ISPRSZ_VFILT2524_COEF24_MASK		0x3FF
104862306a36Sopenharmony_ci#define ISPRSZ_VFILT2524_COEF25_SHIFT		16
104962306a36Sopenharmony_ci#define ISPRSZ_VFILT2524_COEF25_MASK		0x3FF0000
105062306a36Sopenharmony_ci
105162306a36Sopenharmony_ci#define ISPRSZ_VFILT2726_COEF26_SHIFT		0
105262306a36Sopenharmony_ci#define ISPRSZ_VFILT2726_COEF26_MASK		0x3FF
105362306a36Sopenharmony_ci#define ISPRSZ_VFILT2726_COEF27_SHIFT		16
105462306a36Sopenharmony_ci#define ISPRSZ_VFILT2726_COEF27_MASK		0x3FF0000
105562306a36Sopenharmony_ci
105662306a36Sopenharmony_ci#define ISPRSZ_VFILT2928_COEF28_SHIFT		0
105762306a36Sopenharmony_ci#define ISPRSZ_VFILT2928_COEF28_MASK		0x3FF
105862306a36Sopenharmony_ci#define ISPRSZ_VFILT2928_COEF29_SHIFT		16
105962306a36Sopenharmony_ci#define ISPRSZ_VFILT2928_COEF29_MASK		0x3FF0000
106062306a36Sopenharmony_ci
106162306a36Sopenharmony_ci#define ISPRSZ_VFILT3130_COEF30_SHIFT		0
106262306a36Sopenharmony_ci#define ISPRSZ_VFILT3130_COEF30_MASK		0x3FF
106362306a36Sopenharmony_ci#define ISPRSZ_VFILT3130_COEF31_SHIFT		16
106462306a36Sopenharmony_ci#define ISPRSZ_VFILT3130_COEF31_MASK		0x3FF0000
106562306a36Sopenharmony_ci
106662306a36Sopenharmony_ci#define ISPRSZ_YENH_CORE_SHIFT			0
106762306a36Sopenharmony_ci#define ISPRSZ_YENH_CORE_MASK			\
106862306a36Sopenharmony_ci	(0xFF << ISPRSZ_YENH_CORE_SHIFT)
106962306a36Sopenharmony_ci#define ISPRSZ_YENH_SLOP_SHIFT			8
107062306a36Sopenharmony_ci#define ISPRSZ_YENH_SLOP_MASK			\
107162306a36Sopenharmony_ci	(0xF << ISPRSZ_YENH_SLOP_SHIFT)
107262306a36Sopenharmony_ci#define ISPRSZ_YENH_GAIN_SHIFT			12
107362306a36Sopenharmony_ci#define ISPRSZ_YENH_GAIN_MASK			\
107462306a36Sopenharmony_ci	(0xF << ISPRSZ_YENH_GAIN_SHIFT)
107562306a36Sopenharmony_ci#define ISPRSZ_YENH_ALGO_SHIFT			16
107662306a36Sopenharmony_ci#define ISPRSZ_YENH_ALGO_MASK			\
107762306a36Sopenharmony_ci	(0x3 << ISPRSZ_YENH_ALGO_SHIFT)
107862306a36Sopenharmony_ci
107962306a36Sopenharmony_ci#define ISPH3A_PCR_AEW_ALAW_EN_SHIFT		1
108062306a36Sopenharmony_ci#define ISPH3A_PCR_AF_MED_TH_SHIFT		3
108162306a36Sopenharmony_ci#define ISPH3A_PCR_AF_RGBPOS_SHIFT		11
108262306a36Sopenharmony_ci#define ISPH3A_PCR_AEW_AVE2LMT_SHIFT		22
108362306a36Sopenharmony_ci#define ISPH3A_PCR_AEW_AVE2LMT_MASK		0xFFC00000
108462306a36Sopenharmony_ci#define ISPH3A_PCR_BUSYAF			BIT(15)
108562306a36Sopenharmony_ci#define ISPH3A_PCR_BUSYAEAWB			BIT(18)
108662306a36Sopenharmony_ci
108762306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINHC_SHIFT		0
108862306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINHC_MASK		0x3F
108962306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINVC_SHIFT		6
109062306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINVC_MASK		0x1FC0
109162306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINW_SHIFT		13
109262306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINW_MASK		0xFE000
109362306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINH_SHIFT		24
109462306a36Sopenharmony_ci#define ISPH3A_AEWWIN1_WINH_MASK		0x7F000000
109562306a36Sopenharmony_ci
109662306a36Sopenharmony_ci#define ISPH3A_AEWINSTART_WINSH_SHIFT		0
109762306a36Sopenharmony_ci#define ISPH3A_AEWINSTART_WINSH_MASK		0x0FFF
109862306a36Sopenharmony_ci#define ISPH3A_AEWINSTART_WINSV_SHIFT		16
109962306a36Sopenharmony_ci#define ISPH3A_AEWINSTART_WINSV_MASK		0x0FFF0000
110062306a36Sopenharmony_ci
110162306a36Sopenharmony_ci#define ISPH3A_AEWINBLK_WINH_SHIFT		0
110262306a36Sopenharmony_ci#define ISPH3A_AEWINBLK_WINH_MASK		0x7F
110362306a36Sopenharmony_ci#define ISPH3A_AEWINBLK_WINSV_SHIFT		16
110462306a36Sopenharmony_ci#define ISPH3A_AEWINBLK_WINSV_MASK		0x0FFF0000
110562306a36Sopenharmony_ci
110662306a36Sopenharmony_ci#define ISPH3A_AEWSUBWIN_AEWINCH_SHIFT		0
110762306a36Sopenharmony_ci#define ISPH3A_AEWSUBWIN_AEWINCH_MASK		0x0F
110862306a36Sopenharmony_ci#define ISPH3A_AEWSUBWIN_AEWINCV_SHIFT		8
110962306a36Sopenharmony_ci#define ISPH3A_AEWSUBWIN_AEWINCV_MASK		0x0F00
111062306a36Sopenharmony_ci
111162306a36Sopenharmony_ci#define ISPHIST_PCR_ENABLE_SHIFT	0
111262306a36Sopenharmony_ci#define ISPHIST_PCR_ENABLE_MASK		0x01
111362306a36Sopenharmony_ci#define ISPHIST_PCR_ENABLE		(1 << ISPHIST_PCR_ENABLE_SHIFT)
111462306a36Sopenharmony_ci#define ISPHIST_PCR_BUSY		0x02
111562306a36Sopenharmony_ci
111662306a36Sopenharmony_ci#define ISPHIST_CNT_DATASIZE_SHIFT	8
111762306a36Sopenharmony_ci#define ISPHIST_CNT_DATASIZE_MASK	0x0100
111862306a36Sopenharmony_ci#define ISPHIST_CNT_CLEAR_SHIFT		7
111962306a36Sopenharmony_ci#define ISPHIST_CNT_CLEAR_MASK		0x080
112062306a36Sopenharmony_ci#define ISPHIST_CNT_CLEAR		(1 << ISPHIST_CNT_CLEAR_SHIFT)
112162306a36Sopenharmony_ci#define ISPHIST_CNT_CFA_SHIFT		6
112262306a36Sopenharmony_ci#define ISPHIST_CNT_CFA_MASK		0x040
112362306a36Sopenharmony_ci#define ISPHIST_CNT_BINS_SHIFT		4
112462306a36Sopenharmony_ci#define ISPHIST_CNT_BINS_MASK		0x030
112562306a36Sopenharmony_ci#define ISPHIST_CNT_SOURCE_SHIFT	3
112662306a36Sopenharmony_ci#define ISPHIST_CNT_SOURCE_MASK		0x08
112762306a36Sopenharmony_ci#define ISPHIST_CNT_SHIFT_SHIFT		0
112862306a36Sopenharmony_ci#define ISPHIST_CNT_SHIFT_MASK		0x07
112962306a36Sopenharmony_ci
113062306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG00_SHIFT	24
113162306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG00_MASK	0xFF000000
113262306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG01_SHIFT	16
113362306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG01_MASK	0xFF0000
113462306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG02_SHIFT	8
113562306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG02_MASK	0xFF00
113662306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG03_SHIFT	0
113762306a36Sopenharmony_ci#define ISPHIST_WB_GAIN_WG03_MASK	0xFF
113862306a36Sopenharmony_ci
113962306a36Sopenharmony_ci#define ISPHIST_REG_START_END_MASK		0x3FFF
114062306a36Sopenharmony_ci#define ISPHIST_REG_START_SHIFT			16
114162306a36Sopenharmony_ci#define ISPHIST_REG_END_SHIFT			0
114262306a36Sopenharmony_ci#define ISPHIST_REG_START_MASK			(ISPHIST_REG_START_END_MASK << \
114362306a36Sopenharmony_ci						 ISPHIST_REG_START_SHIFT)
114462306a36Sopenharmony_ci#define ISPHIST_REG_END_MASK			(ISPHIST_REG_START_END_MASK << \
114562306a36Sopenharmony_ci						 ISPHIST_REG_END_SHIFT)
114662306a36Sopenharmony_ci
114762306a36Sopenharmony_ci#define ISPHIST_REG_MASK			(ISPHIST_REG_START_MASK | \
114862306a36Sopenharmony_ci						 ISPHIST_REG_END_MASK)
114962306a36Sopenharmony_ci
115062306a36Sopenharmony_ci#define ISPHIST_ADDR_SHIFT			0
115162306a36Sopenharmony_ci#define ISPHIST_ADDR_MASK			0x3FF
115262306a36Sopenharmony_ci
115362306a36Sopenharmony_ci#define ISPHIST_DATA_SHIFT			0
115462306a36Sopenharmony_ci#define ISPHIST_DATA_MASK			0xFFFFF
115562306a36Sopenharmony_ci
115662306a36Sopenharmony_ci#define ISPHIST_RADD_SHIFT			0
115762306a36Sopenharmony_ci#define ISPHIST_RADD_MASK			0xFFFFFFFF
115862306a36Sopenharmony_ci
115962306a36Sopenharmony_ci#define ISPHIST_RADD_OFF_SHIFT			0
116062306a36Sopenharmony_ci#define ISPHIST_RADD_OFF_MASK			0xFFFF
116162306a36Sopenharmony_ci
116262306a36Sopenharmony_ci#define ISPHIST_HV_INFO_HSIZE_SHIFT		16
116362306a36Sopenharmony_ci#define ISPHIST_HV_INFO_HSIZE_MASK		0x3FFF0000
116462306a36Sopenharmony_ci#define ISPHIST_HV_INFO_VSIZE_SHIFT		0
116562306a36Sopenharmony_ci#define ISPHIST_HV_INFO_VSIZE_MASK		0x3FFF
116662306a36Sopenharmony_ci
116762306a36Sopenharmony_ci#define ISPHIST_HV_INFO_MASK			0x3FFF3FFF
116862306a36Sopenharmony_ci
116962306a36Sopenharmony_ci#define ISPCCDC_LSC_ENABLE			BIT(0)
117062306a36Sopenharmony_ci#define ISPCCDC_LSC_BUSY			BIT(7)
117162306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_MODE_N_MASK		0x700
117262306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_MODE_N_SHIFT		8
117362306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_MODE_M_MASK		0x3800
117462306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_MODE_M_SHIFT		12
117562306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_FORMAT_MASK		0xE
117662306a36Sopenharmony_ci#define ISPCCDC_LSC_GAIN_FORMAT_SHIFT		1
117762306a36Sopenharmony_ci#define ISPCCDC_LSC_AFTER_REFORMATTER_MASK	BIT(6)
117862306a36Sopenharmony_ci
117962306a36Sopenharmony_ci#define ISPCCDC_LSC_INITIAL_X_MASK		0x3F
118062306a36Sopenharmony_ci#define ISPCCDC_LSC_INITIAL_X_SHIFT		0
118162306a36Sopenharmony_ci#define ISPCCDC_LSC_INITIAL_Y_MASK		0x3F0000
118262306a36Sopenharmony_ci#define ISPCCDC_LSC_INITIAL_Y_SHIFT		16
118362306a36Sopenharmony_ci
118462306a36Sopenharmony_ci/* -----------------------------------------------------------------------------
118562306a36Sopenharmony_ci * CSI2 receiver registers (ES2.0)
118662306a36Sopenharmony_ci */
118762306a36Sopenharmony_ci
118862306a36Sopenharmony_ci#define ISPCSI2_REVISION			(0x000)
118962306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG			(0x010)
119062306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SHIFT	12
119162306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_MSTANDBY_MODE_MASK	\
119262306a36Sopenharmony_ci	(0x3 << ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SHIFT)
119362306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_MSTANDBY_MODE_FORCE	\
119462306a36Sopenharmony_ci	(0x0 << ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SHIFT)
119562306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_MSTANDBY_MODE_NO	\
119662306a36Sopenharmony_ci	(0x1 << ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SHIFT)
119762306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SMART	\
119862306a36Sopenharmony_ci	(0x2 << ISPCSI2_SYSCONFIG_MSTANDBY_MODE_SHIFT)
119962306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_SOFT_RESET		BIT(1)
120062306a36Sopenharmony_ci#define ISPCSI2_SYSCONFIG_AUTO_IDLE		BIT(0)
120162306a36Sopenharmony_ci
120262306a36Sopenharmony_ci#define ISPCSI2_SYSSTATUS			(0x014)
120362306a36Sopenharmony_ci#define ISPCSI2_SYSSTATUS_RESET_DONE		BIT(0)
120462306a36Sopenharmony_ci
120562306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS			(0x018)
120662306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_OCP_ERR_IRQ		BIT(14)
120762306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_SHORT_PACKET_IRQ	BIT(13)
120862306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_ECC_CORRECTION_IRQ	BIT(12)
120962306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_ECC_NO_CORRECTION_IRQ	BIT(11)
121062306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_COMPLEXIO2_ERR_IRQ	BIT(10)
121162306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_COMPLEXIO1_ERR_IRQ	BIT(9)
121262306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_FIFO_OVF_IRQ		BIT(8)
121362306a36Sopenharmony_ci#define ISPCSI2_IRQSTATUS_CONTEXT(n)		BIT(n)
121462306a36Sopenharmony_ci
121562306a36Sopenharmony_ci#define ISPCSI2_IRQENABLE			(0x01c)
121662306a36Sopenharmony_ci#define ISPCSI2_CTRL				(0x040)
121762306a36Sopenharmony_ci#define ISPCSI2_CTRL_VP_CLK_EN			BIT(15)
121862306a36Sopenharmony_ci#define ISPCSI2_CTRL_VP_ONLY_EN			BIT(11)
121962306a36Sopenharmony_ci#define ISPCSI2_CTRL_VP_OUT_CTRL_SHIFT		8
122062306a36Sopenharmony_ci#define ISPCSI2_CTRL_VP_OUT_CTRL_MASK		\
122162306a36Sopenharmony_ci	(3 << ISPCSI2_CTRL_VP_OUT_CTRL_SHIFT)
122262306a36Sopenharmony_ci#define ISPCSI2_CTRL_DBG_EN			BIT(7)
122362306a36Sopenharmony_ci#define ISPCSI2_CTRL_BURST_SIZE_SHIFT		5
122462306a36Sopenharmony_ci#define ISPCSI2_CTRL_BURST_SIZE_MASK		\
122562306a36Sopenharmony_ci	(3 << ISPCSI2_CTRL_BURST_SIZE_SHIFT)
122662306a36Sopenharmony_ci#define ISPCSI2_CTRL_FRAME			BIT(3)
122762306a36Sopenharmony_ci#define ISPCSI2_CTRL_ECC_EN			BIT(2)
122862306a36Sopenharmony_ci#define ISPCSI2_CTRL_SECURE			BIT(1)
122962306a36Sopenharmony_ci#define ISPCSI2_CTRL_IF_EN			BIT(0)
123062306a36Sopenharmony_ci
123162306a36Sopenharmony_ci#define ISPCSI2_DBG_H				(0x044)
123262306a36Sopenharmony_ci#define ISPCSI2_GNQ				(0x048)
123362306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG				(0x050)
123462306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_RESET_CTRL		BIT(30)
123562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_RESET_DONE		BIT(29)
123662306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_CMD_SHIFT		27
123762306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_CMD_MASK		\
123862306a36Sopenharmony_ci	(0x3 << ISPCSI2_PHY_CFG_PWR_CMD_SHIFT)
123962306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_CMD_OFF		\
124062306a36Sopenharmony_ci	(0x0 << ISPCSI2_PHY_CFG_PWR_CMD_SHIFT)
124162306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_CMD_ON		\
124262306a36Sopenharmony_ci	(0x1 << ISPCSI2_PHY_CFG_PWR_CMD_SHIFT)
124362306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_CMD_ULPW		\
124462306a36Sopenharmony_ci	(0x2 << ISPCSI2_PHY_CFG_PWR_CMD_SHIFT)
124562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_STATUS_SHIFT	25
124662306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_STATUS_MASK		\
124762306a36Sopenharmony_ci	(0x3 << ISPCSI2_PHY_CFG_PWR_STATUS_SHIFT)
124862306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_STATUS_OFF		\
124962306a36Sopenharmony_ci	(0x0 << ISPCSI2_PHY_CFG_PWR_STATUS_SHIFT)
125062306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_STATUS_ON		\
125162306a36Sopenharmony_ci	(0x1 << ISPCSI2_PHY_CFG_PWR_STATUS_SHIFT)
125262306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_STATUS_ULPW		\
125362306a36Sopenharmony_ci	(0x2 << ISPCSI2_PHY_CFG_PWR_STATUS_SHIFT)
125462306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_PWR_AUTO		BIT(24)
125562306a36Sopenharmony_ci
125662306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POL_SHIFT(n)	(3 + ((n) * 4))
125762306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POL_MASK(n)	\
125862306a36Sopenharmony_ci	(0x1 << ISPCSI2_PHY_CFG_DATA_POL_SHIFT(n))
125962306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POL_PN(n)		\
126062306a36Sopenharmony_ci	(0x0 << ISPCSI2_PHY_CFG_DATA_POL_SHIFT(n))
126162306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POL_NP(n)		\
126262306a36Sopenharmony_ci	(0x1 << ISPCSI2_PHY_CFG_DATA_POL_SHIFT(n))
126362306a36Sopenharmony_ci
126462306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n)	((n) * 4)
126562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_MASK(n)	\
126662306a36Sopenharmony_ci	(0x7 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n))
126762306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_NC(n)	\
126862306a36Sopenharmony_ci	(0x0 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n))
126962306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_1(n)	\
127062306a36Sopenharmony_ci	(0x1 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n))
127162306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_2(n)	\
127262306a36Sopenharmony_ci	(0x2 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n))
127362306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_3(n)	\
127462306a36Sopenharmony_ci	(0x3 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n))
127562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_4(n)	\
127662306a36Sopenharmony_ci	(0x4 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n))
127762306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_DATA_POSITION_5(n)	\
127862306a36Sopenharmony_ci	(0x5 << ISPCSI2_PHY_CFG_DATA_POSITION_SHIFT(n))
127962306a36Sopenharmony_ci
128062306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POL_SHIFT		3
128162306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POL_MASK		\
128262306a36Sopenharmony_ci	(0x1 << ISPCSI2_PHY_CFG_CLOCK_POL_SHIFT)
128362306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POL_PN		\
128462306a36Sopenharmony_ci	(0x0 << ISPCSI2_PHY_CFG_CLOCK_POL_SHIFT)
128562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POL_NP		\
128662306a36Sopenharmony_ci	(0x1 << ISPCSI2_PHY_CFG_CLOCK_POL_SHIFT)
128762306a36Sopenharmony_ci
128862306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT	0
128962306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_MASK	\
129062306a36Sopenharmony_ci	(0x7 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT)
129162306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_1	\
129262306a36Sopenharmony_ci	(0x1 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT)
129362306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_2	\
129462306a36Sopenharmony_ci	(0x2 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT)
129562306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_3	\
129662306a36Sopenharmony_ci	(0x3 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT)
129762306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_4	\
129862306a36Sopenharmony_ci	(0x4 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT)
129962306a36Sopenharmony_ci#define ISPCSI2_PHY_CFG_CLOCK_POSITION_5	\
130062306a36Sopenharmony_ci	(0x5 << ISPCSI2_PHY_CFG_CLOCK_POSITION_SHIFT)
130162306a36Sopenharmony_ci
130262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS			(0x054)
130362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEALLULPMEXIT	BIT(26)
130462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEALLULPMENTER	BIT(25)
130562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEULPM5	BIT(24)
130662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEULPM4	BIT(23)
130762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEULPM3	BIT(22)
130862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEULPM2	BIT(21)
130962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_STATEULPM1	BIT(20)
131062306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRCONTROL5	BIT(19)
131162306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRCONTROL4	BIT(18)
131262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRCONTROL3	BIT(17)
131362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRCONTROL2	BIT(16)
131462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRCONTROL1	BIT(15)
131562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRESC5		BIT(14)
131662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRESC4		BIT(13)
131762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRESC3		BIT(12)
131862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRESC2		BIT(11)
131962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRESC1		BIT(10)
132062306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTSYNCHS5	BIT(9)
132162306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTSYNCHS4	BIT(8)
132262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTSYNCHS3	BIT(7)
132362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTSYNCHS2	BIT(6)
132462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTSYNCHS1	BIT(5)
132562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTHS5		BIT(4)
132662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTHS4		BIT(3)
132762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTHS3		BIT(2)
132862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTHS2		BIT(1)
132962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQSTATUS_ERRSOTHS1		BIT(0)
133062306a36Sopenharmony_ci
133162306a36Sopenharmony_ci#define ISPCSI2_SHORT_PACKET			(0x05c)
133262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE			(0x060)
133362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEALLULPMEXIT	BIT(26)
133462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEALLULPMENTER	BIT(25)
133562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEULPM5	BIT(24)
133662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEULPM4	BIT(23)
133762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEULPM3	BIT(22)
133862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEULPM2	BIT(21)
133962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_STATEULPM1	BIT(20)
134062306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRCONTROL5	BIT(19)
134162306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRCONTROL4	BIT(18)
134262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRCONTROL3	BIT(17)
134362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRCONTROL2	BIT(16)
134462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRCONTROL1	BIT(15)
134562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRESC5		BIT(14)
134662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRESC4		BIT(13)
134762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRESC3		BIT(12)
134862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRESC2		BIT(11)
134962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRESC1		BIT(10)
135062306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTSYNCHS5	BIT(9)
135162306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTSYNCHS4	BIT(8)
135262306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTSYNCHS3	BIT(7)
135362306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTSYNCHS2	BIT(6)
135462306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTSYNCHS1	BIT(5)
135562306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTHS5		BIT(4)
135662306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTHS4		BIT(3)
135762306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTHS3		BIT(2)
135862306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTHS2		BIT(1)
135962306a36Sopenharmony_ci#define ISPCSI2_PHY_IRQENABLE_ERRSOTHS1		BIT(0)
136062306a36Sopenharmony_ci
136162306a36Sopenharmony_ci#define ISPCSI2_DBG_P				(0x068)
136262306a36Sopenharmony_ci#define ISPCSI2_TIMING				(0x06c)
136362306a36Sopenharmony_ci#define ISPCSI2_TIMING_FORCE_RX_MODE_IO(n)	(1 << ((16 * ((n) - 1)) + 15))
136462306a36Sopenharmony_ci#define ISPCSI2_TIMING_STOP_STATE_X16_IO(n)	(1 << ((16 * ((n) - 1)) + 14))
136562306a36Sopenharmony_ci#define ISPCSI2_TIMING_STOP_STATE_X4_IO(n)	(1 << ((16 * ((n) - 1)) + 13))
136662306a36Sopenharmony_ci#define ISPCSI2_TIMING_STOP_STATE_COUNTER_IO_SHIFT(n)	(16 * ((n) - 1))
136762306a36Sopenharmony_ci#define ISPCSI2_TIMING_STOP_STATE_COUNTER_IO_MASK(n)	\
136862306a36Sopenharmony_ci	(0x1fff << ISPCSI2_TIMING_STOP_STATE_COUNTER_IO_SHIFT(n))
136962306a36Sopenharmony_ci
137062306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1(n)			((0x070) + 0x20 * (n))
137162306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_COUNT_SHIFT		8
137262306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_COUNT_MASK		\
137362306a36Sopenharmony_ci	(0xff << ISPCSI2_CTX_CTRL1_COUNT_SHIFT)
137462306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_EOF_EN		BIT(7)
137562306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_EOL_EN		BIT(6)
137662306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_CS_EN			BIT(5)
137762306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_COUNT_UNLOCK		BIT(4)
137862306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_PING_PONG		BIT(3)
137962306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL1_CTX_EN		BIT(0)
138062306a36Sopenharmony_ci
138162306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2(n)			((0x074) + 0x20 * (n))
138262306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_USER_DEF_MAP_SHIFT	13
138362306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_USER_DEF_MAP_MASK	\
138462306a36Sopenharmony_ci	(0x3 << ISPCSI2_CTX_CTRL2_USER_DEF_MAP_SHIFT)
138562306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_VIRTUAL_ID_SHIFT	11
138662306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_VIRTUAL_ID_MASK	\
138762306a36Sopenharmony_ci	(0x3 <<	ISPCSI2_CTX_CTRL2_VIRTUAL_ID_SHIFT)
138862306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_DPCM_PRED		BIT(10)
138962306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_FORMAT_SHIFT		0
139062306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_FORMAT_MASK		\
139162306a36Sopenharmony_ci	(0x3ff << ISPCSI2_CTX_CTRL2_FORMAT_SHIFT)
139262306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_FRAME_SHIFT		16
139362306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL2_FRAME_MASK		\
139462306a36Sopenharmony_ci	(0xffff << ISPCSI2_CTX_CTRL2_FRAME_SHIFT)
139562306a36Sopenharmony_ci
139662306a36Sopenharmony_ci#define ISPCSI2_CTX_DAT_OFST(n)			((0x078) + 0x20 * (n))
139762306a36Sopenharmony_ci#define ISPCSI2_CTX_DAT_OFST_OFST_SHIFT		0
139862306a36Sopenharmony_ci#define ISPCSI2_CTX_DAT_OFST_OFST_MASK		\
139962306a36Sopenharmony_ci	(0x1ffe0 << ISPCSI2_CTX_DAT_OFST_OFST_SHIFT)
140062306a36Sopenharmony_ci
140162306a36Sopenharmony_ci#define ISPCSI2_CTX_DAT_PING_ADDR(n)		((0x07c) + 0x20 * (n))
140262306a36Sopenharmony_ci#define ISPCSI2_CTX_DAT_PONG_ADDR(n)		((0x080) + 0x20 * (n))
140362306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE(n)		((0x084) + 0x20 * (n))
140462306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_ECC_CORRECTION_IRQ	BIT(8)
140562306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_LINE_NUMBER_IRQ	BIT(7)
140662306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_FRAME_NUMBER_IRQ	BIT(6)
140762306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_CS_IRQ		BIT(5)
140862306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_LE_IRQ		BIT(3)
140962306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_LS_IRQ		BIT(2)
141062306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_FE_IRQ		BIT(1)
141162306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQENABLE_FS_IRQ		BIT(0)
141262306a36Sopenharmony_ci
141362306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS(n)		((0x088) + 0x20 * (n))
141462306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_ECC_CORRECTION_IRQ	BIT(8)
141562306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_LINE_NUMBER_IRQ	BIT(7)
141662306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_FRAME_NUMBER_IRQ	BIT(6)
141762306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_CS_IRQ		BIT(5)
141862306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_LE_IRQ		BIT(3)
141962306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_LS_IRQ		BIT(2)
142062306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_FE_IRQ		BIT(1)
142162306a36Sopenharmony_ci#define ISPCSI2_CTX_IRQSTATUS_FS_IRQ		BIT(0)
142262306a36Sopenharmony_ci
142362306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL3(n)			((0x08c) + 0x20 * (n))
142462306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL3_ALPHA_SHIFT		5
142562306a36Sopenharmony_ci#define ISPCSI2_CTX_CTRL3_ALPHA_MASK		\
142662306a36Sopenharmony_ci	(0x3fff << ISPCSI2_CTX_CTRL3_ALPHA_SHIFT)
142762306a36Sopenharmony_ci
142862306a36Sopenharmony_ci/* This instance is for OMAP3630 only */
142962306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEH(n)		(0x000 + 0x8 * (n))
143062306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEH_HCOUNT_SHIFT	16
143162306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEH_HCOUNT_MASK	\
143262306a36Sopenharmony_ci	(0x1fff << ISPCSI2_CTX_TRANSCODEH_HCOUNT_SHIFT)
143362306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEH_HSKIP_SHIFT	0
143462306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEH_HSKIP_MASK	\
143562306a36Sopenharmony_ci	(0x1fff << ISPCSI2_CTX_TRANSCODEH_HCOUNT_SHIFT)
143662306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEV(n)		(0x004 + 0x8 * (n))
143762306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEV_VCOUNT_SHIFT	16
143862306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEV_VCOUNT_MASK	\
143962306a36Sopenharmony_ci	(0x1fff << ISPCSI2_CTX_TRANSCODEV_VCOUNT_SHIFT)
144062306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEV_VSKIP_SHIFT	0
144162306a36Sopenharmony_ci#define ISPCSI2_CTX_TRANSCODEV_VSKIP_MASK	\
144262306a36Sopenharmony_ci	(0x1fff << ISPCSI2_CTX_TRANSCODEV_VCOUNT_SHIFT)
144362306a36Sopenharmony_ci
144462306a36Sopenharmony_ci/* -----------------------------------------------------------------------------
144562306a36Sopenharmony_ci * CSI PHY registers
144662306a36Sopenharmony_ci */
144762306a36Sopenharmony_ci
144862306a36Sopenharmony_ci#define ISPCSIPHY_REG0				(0x000)
144962306a36Sopenharmony_ci#define ISPCSIPHY_REG0_THS_TERM_SHIFT		8
145062306a36Sopenharmony_ci#define ISPCSIPHY_REG0_THS_TERM_MASK		\
145162306a36Sopenharmony_ci	(0xff << ISPCSIPHY_REG0_THS_TERM_SHIFT)
145262306a36Sopenharmony_ci#define ISPCSIPHY_REG0_THS_SETTLE_SHIFT		0
145362306a36Sopenharmony_ci#define ISPCSIPHY_REG0_THS_SETTLE_MASK		\
145462306a36Sopenharmony_ci	(0xff << ISPCSIPHY_REG0_THS_SETTLE_SHIFT)
145562306a36Sopenharmony_ci
145662306a36Sopenharmony_ci#define ISPCSIPHY_REG1					(0x004)
145762306a36Sopenharmony_ci#define ISPCSIPHY_REG1_RESET_DONE_CTRLCLK		BIT(29)
145862306a36Sopenharmony_ci/* This field is for OMAP3630 only */
145962306a36Sopenharmony_ci#define ISPCSIPHY_REG1_CLOCK_MISS_DETECTOR_STATUS	BIT(25)
146062306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_TERM_SHIFT			18
146162306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_TERM_MASK			\
146262306a36Sopenharmony_ci	(0x7f << ISPCSIPHY_REG1_TCLK_TERM_SHIFT)
146362306a36Sopenharmony_ci#define ISPCSIPHY_REG1_DPHY_HS_SYNC_PATTERN_SHIFT	10
146462306a36Sopenharmony_ci#define ISPCSIPHY_REG1_DPHY_HS_SYNC_PATTERN_MASK	\
146562306a36Sopenharmony_ci	(0xff << ISPCSIPHY_REG1_DPHY_HS_SYNC_PATTERN)
146662306a36Sopenharmony_ci/* This field is for OMAP3430 only */
146762306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_MISS_SHIFT			8
146862306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_MISS_MASK			\
146962306a36Sopenharmony_ci	(0x3 << ISPCSIPHY_REG1_TCLK_MISS_SHIFT)
147062306a36Sopenharmony_ci/* This field is for OMAP3630 only */
147162306a36Sopenharmony_ci#define ISPCSIPHY_REG1_CTRLCLK_DIV_FACTOR_SHIFT		8
147262306a36Sopenharmony_ci#define ISPCSIPHY_REG1_CTRLCLK_DIV_FACTOR_MASK		\
147362306a36Sopenharmony_ci	(0x3 << ISPCSIPHY_REG1_CTRLCLK_DIV_FACTOR_SHIFT)
147462306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_SETTLE_SHIFT		0
147562306a36Sopenharmony_ci#define ISPCSIPHY_REG1_TCLK_SETTLE_MASK			\
147662306a36Sopenharmony_ci	(0xff << ISPCSIPHY_REG1_TCLK_SETTLE_SHIFT)
147762306a36Sopenharmony_ci
147862306a36Sopenharmony_ci/* This register is for OMAP3630 only */
147962306a36Sopenharmony_ci#define ISPCSIPHY_REG2					(0x008)
148062306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC0_SHIFT	30
148162306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC0_MASK	\
148262306a36Sopenharmony_ci	(0x3 << ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC0_SHIFT)
148362306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC1_SHIFT	28
148462306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC1_MASK	\
148562306a36Sopenharmony_ci	(0x3 << ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC1_SHIFT)
148662306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC2_SHIFT	26
148762306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC2_MASK	\
148862306a36Sopenharmony_ci	(0x3 << ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC2_SHIFT)
148962306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC3_SHIFT	24
149062306a36Sopenharmony_ci#define ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC3_MASK	\
149162306a36Sopenharmony_ci	(0x3 << ISPCSIPHY_REG2_TRIGGER_CMD_RXTRIGESC3_SHIFT)
149262306a36Sopenharmony_ci#define ISPCSIPHY_REG2_CCP2_SYNC_PATTERN_SHIFT		0
149362306a36Sopenharmony_ci#define ISPCSIPHY_REG2_CCP2_SYNC_PATTERN_MASK		\
149462306a36Sopenharmony_ci	(0x7fffff << ISPCSIPHY_REG2_CCP2_SYNC_PATTERN_SHIFT)
149562306a36Sopenharmony_ci
149662306a36Sopenharmony_ci/* -----------------------------------------------------------------------------
149762306a36Sopenharmony_ci * CONTROL registers for CSI-2 phy routing
149862306a36Sopenharmony_ci */
149962306a36Sopenharmony_ci
150062306a36Sopenharmony_ci/* OMAP343X_CONTROL_CSIRXFE */
150162306a36Sopenharmony_ci#define OMAP343X_CONTROL_CSIRXFE_CSIB_INV	BIT(7)
150262306a36Sopenharmony_ci#define OMAP343X_CONTROL_CSIRXFE_RESENABLE	BIT(8)
150362306a36Sopenharmony_ci#define OMAP343X_CONTROL_CSIRXFE_SELFORM	BIT(10)
150462306a36Sopenharmony_ci#define OMAP343X_CONTROL_CSIRXFE_PWRDNZ		BIT(12)
150562306a36Sopenharmony_ci#define OMAP343X_CONTROL_CSIRXFE_RESET		BIT(13)
150662306a36Sopenharmony_ci
150762306a36Sopenharmony_ci/* OMAP3630_CONTROL_CAMERA_PHY_CTRL */
150862306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_PHY1_SHIFT	2
150962306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_PHY2_SHIFT	0
151062306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_DPHY		0x0
151162306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_CCP2_DATA_STROBE 0x1
151262306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_CCP2_DATA_CLOCK 0x2
151362306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_GPI		0x3
151462306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CAMMODE_MASK		0x3
151562306a36Sopenharmony_ci/* CCP2B: set to receive data from PHY2 instead of PHY1 */
151662306a36Sopenharmony_ci#define OMAP3630_CONTROL_CAMERA_PHY_CTRL_CSI1_RX_SEL_PHY2	BIT(4)
151762306a36Sopenharmony_ci
151862306a36Sopenharmony_ci#endif	/* OMAP3_ISP_REG_H */
1519