159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/*
259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre * TI OMAP4 ISS V4L2 Driver - Register defines
359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre *
459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre * Copyright (C) 2012 Texas Instruments.
559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre *
659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre * Author: Sergio Aguirre <sergio.a.aguirre@gmail.com>
759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre *
859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre * This program is free software; you can redistribute it and/or modify
959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre * it under the terms of the GNU General Public License as published by
1059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre * the Free Software Foundation; either version 2 of the License, or
1159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre * (at your option) any later version.
1259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre */
1359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
1459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#ifndef _OMAP4_ISS_REGS_H_
1559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define _OMAP4_ISS_REGS_H_
1659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
1759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* ISS */
1859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_REVISION					0x0
1959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
2059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_SYSCONFIG				0x10
2159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_SYSCONFIG_IDLEMODE_SHIFT			2
2259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_SYSCONFIG_IDLEMODE_FORCEIDLE		0x0
2359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_SYSCONFIG_IDLEMODE_NOIDLE		0x1
2459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_SYSCONFIG_IDLEMODE_SMARTIDLE		0x2
2559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_SYSCONFIG_SOFTRESET			(1 << 0)
2659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
27ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISS_HL_IRQSTATUS_RAW(i)				(0x20 + (0x10 * (i)))
28ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISS_HL_IRQSTATUS(i)				(0x24 + (0x10 * (i)))
29ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISS_HL_IRQENABLE_SET(i)				(0x28 + (0x10 * (i)))
30ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISS_HL_IRQENABLE_CLR(i)				(0x2c + (0x10 * (i)))
3159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
32ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISS_HL_IRQ_HS_VS				(1 << 17)
33ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISS_HL_IRQ_SIMCOP(i)				(1 << (12 + (i)))
3459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_IRQ_BTE					(1 << 11)
3559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_IRQ_CBUFF				(1 << 10)
36ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISS_HL_IRQ_CCP2(i)				(1 << ((i) > 3 ? 16 : 14 + (i)))
3759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_IRQ_CSIB					(1 << 5)
3859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_IRQ_CSIA					(1 << 4)
3959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_HL_IRQ_ISP(i)				(1 << (i))
4059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
4159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CTRL					0x80
4259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CTRL_CLK_DIV_MASK				(3 << 4)
4359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CTRL_INPUT_SEL_MASK				(3 << 2)
4459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CTRL_INPUT_SEL_CSI2A			(0 << 2)
4559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CTRL_INPUT_SEL_CSI2B			(1 << 2)
4659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CTRL_SYNC_DETECT_VS_RAISING			(3 << 0)
4759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
4859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKCTRL					0x84
4959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKCTRL_VPORT2_CLK				(1 << 30)
5059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKCTRL_VPORT1_CLK				(1 << 29)
5159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKCTRL_VPORT0_CLK				(1 << 28)
5259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKCTRL_CCP2				(1 << 4)
5359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKCTRL_CSI2_B				(1 << 3)
5459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKCTRL_CSI2_A				(1 << 2)
5559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKCTRL_ISP					(1 << 1)
5659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKCTRL_SIMCOP				(1 << 0)
5759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
5859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKSTAT					0x88
5959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKSTAT_VPORT2_CLK				(1 << 30)
6059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKSTAT_VPORT1_CLK				(1 << 29)
6159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKSTAT_VPORT0_CLK				(1 << 28)
6259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKSTAT_CCP2				(1 << 4)
6359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKSTAT_CSI2_B				(1 << 3)
6459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKSTAT_CSI2_A				(1 << 2)
6559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKSTAT_ISP					(1 << 1)
6659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_CLKSTAT_SIMCOP				(1 << 0)
6759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
683c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISS_PM_STATUS					0x8c
6959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_PM_STATUS_CBUFF_PM_MASK			(3 << 12)
7059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_PM_STATUS_BTE_PM_MASK			(3 << 10)
7159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_PM_STATUS_SIMCOP_PM_MASK			(3 << 8)
7259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_PM_STATUS_ISP_PM_MASK			(3 << 6)
7359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_PM_STATUS_CCP2_PM_MASK			(3 << 4)
7459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_PM_STATUS_CSI2_B_PM_MASK			(3 << 2)
7559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISS_PM_STATUS_CSI2_A_PM_MASK			(3 << 0)
7659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
7759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER0					0x0
7859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER0_HSCLOCKCONFIG				(1 << 24)
793c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define REGISTER0_THS_TERM_MASK				(0xff << 8)
8059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER0_THS_TERM_SHIFT			8
813c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define REGISTER0_THS_SETTLE_MASK			(0xff << 0)
8259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER0_THS_SETTLE_SHIFT			0
8359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER1					0x4
8559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER1_RESET_DONE_CTRLCLK			(1 << 29)
8659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER1_CLOCK_MISS_DETECTOR_STATUS		(1 << 25)
873c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define REGISTER1_TCLK_TERM_MASK			(0x3f << 18)
8859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER1_TCLK_TERM_SHIFT			18
8959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER1_DPHY_HS_SYNC_PATTERN_SHIFT		10
9059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER1_CTRLCLK_DIV_FACTOR_MASK		(0x3 << 8)
9159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER1_CTRLCLK_DIV_FACTOR_SHIFT		8
923c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define REGISTER1_TCLK_SETTLE_MASK			(0xff << 0)
9359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER1_TCLK_SETTLE_SHIFT			0
9459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
9559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define REGISTER2					0x8
9659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
9759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_SYSCONFIG					0x10
9859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_SYSCONFIG_MSTANDBY_MODE_MASK		(3 << 12)
9959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_SYSCONFIG_MSTANDBY_MODE_FORCE		(0 << 12)
10059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_SYSCONFIG_MSTANDBY_MODE_NO			(1 << 12)
10159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_SYSCONFIG_MSTANDBY_MODE_SMART		(2 << 12)
10259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_SYSCONFIG_SOFT_RESET			(1 << 1)
10359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_SYSCONFIG_AUTO_IDLE			(1 << 0)
10459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
10559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_SYSSTATUS					0x14
10659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_SYSSTATUS_RESET_DONE			(1 << 0)
10759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
10859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_IRQSTATUS					0x18
1093c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_IRQENABLE					0x1c
11059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
11159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* Shared bits across CSI2_IRQENABLE and IRQSTATUS */
11259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
11359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_IRQ_OCP_ERR				(1 << 14)
11459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_IRQ_SHORT_PACKET				(1 << 13)
11559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_IRQ_ECC_CORRECTION				(1 << 12)
11659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_IRQ_ECC_NO_CORRECTION			(1 << 11)
11759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_IRQ_COMPLEXIO_ERR				(1 << 9)
11859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_IRQ_FIFO_OVF				(1 << 8)
11959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_IRQ_CONTEXT0				(1 << 0)
12059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
12159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL					0x40
12259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_MFLAG_LEVH_MASK			(7 << 20)
12359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_MFLAG_LEVH_SHIFT			20
12459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_MFLAG_LEVL_MASK			(7 << 17)
12559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_MFLAG_LEVL_SHIFT			17
12659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_BURST_SIZE_EXPAND			(1 << 16)
12759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_VP_CLK_EN				(1 << 15)
12859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_NON_POSTED_WRITE			(1 << 13)
12959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_VP_ONLY_EN				(1 << 11)
13059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_VP_OUT_CTRL_MASK			(3 << 8)
13159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_VP_OUT_CTRL_SHIFT			8
13259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_DBG_EN				(1 << 7)
13359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_BURST_SIZE_MASK			(3 << 5)
13459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_ENDIANNESS				(1 << 4)
13559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_FRAME					(1 << 3)
13659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_ECC_EN				(1 << 2)
13759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTRL_IF_EN					(1 << 0)
13859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
13959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_DBG_H					0x44
14059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
14159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG				0x50
14259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_RESET_CTRL			(1 << 30)
14359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_RESET_DONE			(1 << 29)
14459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_PWD_CMD_MASK			(3 << 27)
14559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_PWD_CMD_OFF			(0 << 27)
14659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_PWD_CMD_ON			(1 << 27)
14759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_PWD_CMD_ULP			(2 << 27)
14859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_PWD_STATUS_MASK		(3 << 25)
14959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_PWD_STATUS_OFF		(0 << 25)
15059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_PWD_STATUS_ON		(1 << 25)
15159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_PWD_STATUS_ULP		(2 << 25)
15259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_PWR_AUTO			(1 << 24)
15359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_DATA_POL(i)			(1 << (((i) * 4) + 3))
15459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_DATA_POSITION_MASK(i)	(7 << ((i) * 4))
15559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_DATA_POSITION_SHIFT(i)	((i) * 4)
15659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_CLOCK_POL			(1 << 3)
15759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_CLOCK_POSITION_MASK		(7 << 0)
15859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_CFG_CLOCK_POSITION_SHIFT		0
15959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
16059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQSTATUS			0x54
16159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
1623c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_SHORT_PACKET				0x5c
16359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
16459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQENABLE			0x60
16559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
16659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* Shared bits across CSI2_COMPLEXIO_IRQENABLE and IRQSTATUS */
16759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_STATEALLULPMEXIT		(1 << 26)
16859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_STATEALLULPMENTER		(1 << 25)
16959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_STATEULPM5			(1 << 24)
17059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_STATEULPM4			(1 << 23)
17159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_STATEULPM3			(1 << 22)
17259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_STATEULPM2			(1 << 21)
17359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_STATEULPM1			(1 << 20)
17459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRCONTROL5			(1 << 19)
17559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRCONTROL4			(1 << 18)
17659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRCONTROL3			(1 << 17)
17759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRCONTROL2			(1 << 16)
17859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRCONTROL1			(1 << 15)
17959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRESC5			(1 << 14)
18059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRESC4			(1 << 13)
18159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRESC3			(1 << 12)
18259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRESC2			(1 << 11)
18359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRESC1			(1 << 10)
18459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS5		(1 << 9)
18559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS4		(1 << 8)
18659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS3		(1 << 7)
18759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS2		(1 << 6)
18859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRSOTSYNCHS1		(1 << 5)
18959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRSOTHS5			(1 << 4)
19059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRSOTHS4			(1 << 3)
19159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRSOTHS3			(1 << 2)
19259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRSOTHS2			(1 << 1)
19359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_COMPLEXIO_IRQ_ERRSOTHS1			(1 << 0)
19459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
19559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_DBG_P					0x68
19659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
1973c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_TIMING					0x6c
19859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_TIMING_FORCE_RX_MODE_IO1			(1 << 15)
19959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_TIMING_STOP_STATE_X16_IO1			(1 << 14)
20059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_TIMING_STOP_STATE_X4_IO1			(1 << 13)
2013c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_TIMING_STOP_STATE_COUNTER_IO1_MASK		(0x1fff << 0)
20259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_TIMING_STOP_STATE_COUNTER_IO1_SHIFT	0
20359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
20459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL1(i)				(0x70 + (0x20 * i))
20559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL1_GENERIC				(1 << 30)
2063c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_CTX_CTRL1_TRANSCODE			(0xf << 24)
2073c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_CTX_CTRL1_FEC_NUMBER_MASK			(0xff << 16)
2083c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_CTX_CTRL1_COUNT_MASK			(0xff << 8)
20959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL1_COUNT_SHIFT			8
21059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL1_EOF_EN				(1 << 7)
21159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL1_EOL_EN				(1 << 6)
21259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL1_CS_EN				(1 << 5)
21359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL1_COUNT_UNLOCK			(1 << 4)
21459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL1_PING_PONG			(1 << 3)
21559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL1_CTX_EN				(1 << 0)
21659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
21759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL2(i)				(0x74 + (0x20 * i))
21859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL2_USER_DEF_MAP_SHIFT		13
21959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL2_USER_DEF_MAP_MASK		\
22059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre		(0x3 << CSI2_CTX_CTRL2_USER_DEF_MAP_SHIFT)
22159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL2_VIRTUAL_ID_MASK			(3 << 11)
22259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL2_VIRTUAL_ID_SHIFT			11
22359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL2_DPCM_PRED			(1 << 10)
2243c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_CTX_CTRL2_FORMAT_MASK			(0x3ff << 0)
22559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL2_FORMAT_SHIFT			0
22659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
22759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_DAT_OFST(i)				(0x78 + (0x20 * i))
2283c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_CTX_DAT_OFST_MASK				(0xfff << 5)
22959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
2303c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_CTX_PING_ADDR(i)				(0x7c + (0x20 * i))
2313c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_CTX_PING_ADDR_MASK				0xffffffe0
23259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
23359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_PONG_ADDR(i)				(0x80 + (0x20 * i))
23459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_PONG_ADDR_MASK				CSI2_CTX_PING_ADDR_MASK
23559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
23659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_IRQENABLE(i)				(0x84 + (0x20 * i))
23759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_IRQSTATUS(i)				(0x88 + (0x20 * i))
23859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
2393c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define CSI2_CTX_CTRL3(i)				(0x8c + (0x20 * i))
24059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL3_ALPHA_SHIFT			5
24159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_CTRL3_ALPHA_MASK			\
24259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre		(0x3fff << CSI2_CTX_CTRL3_ALPHA_SHIFT)
24359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
24459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* Shared bits across CSI2_CTX_IRQENABLE and IRQSTATUS */
24559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_IRQ_ECC_CORRECTION			(1 << 8)
24659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_IRQ_LINE_NUMBER			(1 << 7)
24759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_IRQ_FRAME_NUMBER			(1 << 6)
24859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_IRQ_CS					(1 << 5)
24959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_IRQ_LE					(1 << 3)
25059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_IRQ_LS					(1 << 2)
25159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_IRQ_FE					(1 << 1)
25259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define CSI2_CTX_IRQ_FS					(1 << 0)
25359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
25459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* ISS BTE */
25559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define BTE_CTRL					(0x0030)
2563c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define BTE_CTRL_BW_LIMITER_MASK			(0x3ff << 22)
25759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define BTE_CTRL_BW_LIMITER_SHIFT			22
25859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
25959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* ISS ISP_SYS1 */
26059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_REVISION					(0x0000)
26159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_SYSCONFIG					(0x0010)
26259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_SYSCONFIG_STANDBYMODE_MASK			(3 << 4)
26359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_SYSCONFIG_STANDBYMODE_FORCE		(0 << 4)
26459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_SYSCONFIG_STANDBYMODE_NO			(1 << 4)
26559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_SYSCONFIG_STANDBYMODE_SMART		(2 << 4)
26659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_SYSCONFIG_SOFTRESET			(1 << 1)
26759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
26859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_IRQSTATUS(i)				(0x0028 + (0x10 * (i)))
2693c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISP5_IRQENABLE_SET(i)				(0x002c + (0x10 * (i)))
27059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_IRQENABLE_CLR(i)				(0x0030 + (0x10 * (i)))
27159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
27259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* Bits shared for ISP5_IRQ* registers */
27359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_IRQ_OCP_ERR				(1 << 31)
274ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_IPIPE_INT_DPC_RNEW1			(1 << 29)
275ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_IPIPE_INT_DPC_RNEW0			(1 << 28)
276ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_IPIPE_INT_DPC_INIT			(1 << 27)
277ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_IPIPE_INT_EOF				(1 << 25)
278ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_H3A_INT_EOF				(1 << 24)
279ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_RSZ_INT_EOF1				(1 << 23)
28059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_IRQ_RSZ_INT_EOF0				(1 << 22)
281ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_RSZ_FIFO_IN_BLK_ERR			(1 << 19)
28259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_IRQ_RSZ_FIFO_OVF				(1 << 18)
283ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_RSZ_INT_CYC_RSZB			(1 << 17)
28459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_IRQ_RSZ_INT_CYC_RSZA			(1 << 16)
28559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_IRQ_RSZ_INT_DMA				(1 << 15)
286ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_RSZ_INT_LAST_PIX			(1 << 14)
287ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_RSZ_INT_REG				(1 << 13)
288ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_H3A_INT				(1 << 12)
289ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_AF_INT					(1 << 11)
290ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_AEW_INT				(1 << 10)
291ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_IPIPEIF_IRQ				(1 << 9)
292ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_IPIPE_INT_HST				(1 << 8)
293ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_IPIPE_INT_BSC				(1 << 7)
294ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_IPIPE_INT_DMA				(1 << 6)
295ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_IPIPE_INT_LAST_PIX			(1 << 5)
296ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_IPIPE_INT_REG				(1 << 4)
297ade1ec3736c432981fefaa07b20e818c8501a44eLaurent Pinchart#define ISP5_IRQ_ISIF_INT(i)				(1 << (i))
29859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
2993c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISP5_CTRL					(0x006c)
30059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_MSTANDBY				(1 << 24)
30159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_VD_PULSE_EXT				(1 << 23)
30259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_MSTANDBY_WAIT				(1 << 20)
30359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_BL_CLK_ENABLE				(1 << 15)
30459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_ISIF_CLK_ENABLE			(1 << 14)
30559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_H3A_CLK_ENABLE			(1 << 13)
30659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_RSZ_CLK_ENABLE			(1 << 12)
30759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_IPIPE_CLK_ENABLE			(1 << 11)
30859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_IPIPEIF_CLK_ENABLE			(1 << 10)
30959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_SYNC_ENABLE				(1 << 9)
31059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISP5_CTRL_PSYNC_CLK_SEL				(1 << 8)
31159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
31259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* ISS ISP ISIF register offsets */
31359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_SYNCEN					(0x0000)
31459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_SYNCEN_DWEN				(1 << 1)
31559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_SYNCEN_SYEN				(1 << 0)
31659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
31759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET					(0x0004)
31859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET_INPMOD_MASK			(3 << 12)
31959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET_INPMOD_RAW				(0 << 12)
32059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET_INPMOD_YCBCR16			(1 << 12)
32159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET_INPMOD_YCBCR8			(2 << 12)
32259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET_CCDW_MASK				(7 << 8)
32359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET_CCDW_2BIT				(2 << 8)
32459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET_CCDMD				(1 << 7)
32559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET_SWEN				(1 << 5)
32659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET_HDPOL				(1 << 3)
32759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_MODESET_VDPOL				(1 << 2)
32859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
32959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_SPH					(0x0018)
3303c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISIF_SPH_MASK					(0x7fff)
33159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
3323c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISIF_LNH					(0x001c)
3333c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISIF_LNH_MASK					(0x7fff)
33459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
33559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_LNV					(0x0028)
3363c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISIF_LNV_MASK					(0x7fff)
33759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
33859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_HSIZE					(0x0034)
33959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_HSIZE_ADCR					(1 << 12)
3403c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISIF_HSIZE_HSIZE_MASK				(0xfff)
34159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
3423c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISIF_CADU					(0x003c)
3433c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISIF_CADU_MASK					(0x7ff)
34459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
34559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CADL					(0x0040)
3463c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISIF_CADL_MASK					(0xffff)
34759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
3483c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISIF_CCOLP					(0x004c)
34959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP0_F0_R				(0 << 6)
35059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP0_F0_GR				(1 << 6)
35159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP0_F0_B				(3 << 6)
35259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP0_F0_GB				(2 << 6)
35359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP1_F0_R				(0 << 4)
35459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP1_F0_GR				(1 << 4)
35559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP1_F0_B				(3 << 4)
35659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP1_F0_GB				(2 << 4)
35759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP2_F0_R				(0 << 2)
35859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP2_F0_GR				(1 << 2)
35959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP2_F0_B				(3 << 2)
36059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP2_F0_GB				(2 << 2)
36159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP3_F0_R				(0 << 0)
36259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP3_F0_GR				(1 << 0)
36359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP3_F0_B				(3 << 0)
36459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCOLP_CP3_F0_GB				(2 << 0)
36559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
36654d0059c7bbc26b10d11148f507c3a3a56d2bdd5Laurent Pinchart#define ISIF_VDINT(i)					(0x0070 + (i) * 4)
36754d0059c7bbc26b10d11148f507c3a3a56d2bdd5Laurent Pinchart#define ISIF_VDINT_MASK					(0x7fff)
36859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
36959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CGAMMAWD					(0x0080)
3703c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define ISIF_CGAMMAWD_GWDI_MASK				(0xf << 1)
37186efc5043269df417d6145d912c87aafbed0c5c9Laurent Pinchart#define ISIF_CGAMMAWD_GWDI(bpp)				((16 - (bpp)) << 1)
37259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
37359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCDCFG					(0x0088)
37459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define ISIF_CCDCFG_Y8POS				(1 << 11)
37559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
37659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* ISS ISP IPIPEIF register offsets */
37759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_ENABLE					(0x0000)
37859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
37959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1					(0x0004)
38059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1_INPSRC1_MASK			(3 << 14)
38159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1_INPSRC1_VPORT_RAW			(0 << 14)
38259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1_INPSRC1_SDRAM_RAW			(1 << 14)
38359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1_INPSRC1_ISIF_DARKFM		(2 << 14)
38459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1_INPSRC1_SDRAM_YUV			(3 << 14)
38559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1_INPSRC2_MASK			(3 << 2)
38659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1_INPSRC2_ISIF			(0 << 2)
38759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1_INPSRC2_SDRAM_RAW			(1 << 2)
38859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1_INPSRC2_ISIF_DARKFM		(2 << 2)
38959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG1_INPSRC2_SDRAM_YUV			(3 << 2)
39059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
39159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG2					(0x0030)
39259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG2_YUV8P				(1 << 7)
39359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG2_YUV8				(1 << 6)
39459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG2_YUV16				(1 << 3)
39559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG2_VDPOL				(1 << 2)
39659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG2_HDPOL				(1 << 1)
39759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CFG2_INTSW				(1 << 0)
39859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
39959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPEIF_CLKDIV					(0x0040)
40059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
40159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* ISS ISP IPIPE register offsets */
40259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_EN					(0x0000)
40359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_EN_EN					(1 << 0)
40459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
40559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_MODE					(0x0004)
40659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_MODE_WRT				(1 << 1)
40759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_MODE_OST				(1 << 0)
40859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
40959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_FMT					(0x0008)
41059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_FMT_RAW2YUV				(0 << 0)
41159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_FMT_RAW2RAW				(1 << 0)
41259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_FMT_RAW2STATS				(2 << 0)
41359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_FMT_YUV2YUV				(3 << 0)
41459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
4153c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_SRC_COL					(0x000c)
41659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_OO_R				(0 << 6)
41759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_OO_GR				(1 << 6)
41859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_OO_B				(3 << 6)
41959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_OO_GB				(2 << 6)
42059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_OE_R				(0 << 4)
42159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_OE_GR				(1 << 4)
42259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_OE_B				(3 << 4)
42359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_OE_GB				(2 << 4)
42459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_EO_R				(0 << 2)
42559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_EO_GR				(1 << 2)
42659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_EO_B				(3 << 2)
42759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_EO_GB				(2 << 2)
42859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_EE_R				(0 << 0)
42959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_EE_GR				(1 << 0)
43059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_EE_B				(3 << 0)
43159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_COL_EE_GB				(2 << 0)
43259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
43359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_VPS					(0x0010)
4343c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_SRC_VPS_MASK				(0xffff)
43559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
43659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_VSZ					(0x0014)
4373c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_SRC_VSZ_MASK				(0x1fff)
43859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
43959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_HPS					(0x0018)
4403c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_SRC_HPS_MASK				(0xffff)
44159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
4423c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_SRC_HSZ					(0x001c)
4433c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_SRC_HSZ_MASK				(0x1ffe)
44459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
44559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SEL_SBU					(0x0020)
44659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
44759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_SRC_STA					(0x0024)
44859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
44959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_GCK_MMR					(0x0028)
45059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_GCK_MMR_REG				(1 << 0)
45159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
4523c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_GCK_PIX					(0x002c)
45359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_GCK_PIX_G3				(1 << 3)
45459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_GCK_PIX_G2				(1 << 2)
45559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_GCK_PIX_G1				(1 << 1)
45659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_GCK_PIX_G0				(1 << 0)
45759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
45859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_LUT_EN				(0x0034)
45959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_LUT_SEL				(0x0038)
4603c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_DPC_LUT_ADR				(0x003c)
46159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_LUT_SIZ				(0x0040)
46259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
46359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_EN				(0x0044)
46459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_TYP				(0x0048)
4653c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_DPC_OTF_2_D_THR_R				(0x004c)
46659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_2_D_THR_GR			(0x0050)
46759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_2_D_THR_GB			(0x0054)
46859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_2_D_THR_B				(0x0058)
4693c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_DPC_OTF_2_C_THR_R				(0x005c)
47059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_2_C_THR_GR			(0x0060)
47159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_2_C_THR_GB			(0x0064)
47259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_2_C_THR_B				(0x0068)
4733c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_DPC_OTF_3_SHF				(0x006c)
47459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_3_D_THR				(0x0070)
47559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_3_D_SPL				(0x0074)
47659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_3_D_MIN				(0x0078)
4773c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_DPC_OTF_3_D_MAX				(0x007c)
47859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_3_C_THR				(0x0080)
47959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_3_C_SLP				(0x0084)
48059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_DPC_OTF_3_C_MIN				(0x0088)
4813c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_DPC_OTF_3_C_MAX				(0x008c)
48259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
48359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_LSC_VOFT					(0x0090)
48459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_LSC_VA2					(0x0094)
48559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_LSC_VA1					(0x0098)
4863c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_VS					(0x009c)
4873c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_HOFT					(0x00a0)
4883c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_HA2					(0x00a4)
4893c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_HA1					(0x00a8)
4903c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_HS					(0x00ac)
4913c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_GAN_R					(0x00b0)
4923c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_GAN_GR				(0x00b4)
4933c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_GAN_GB				(0x00b8)
4943c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_GAN_B					(0x00bc)
4953c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_OFT_R					(0x00c0)
4963c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_OFT_GR				(0x00c4)
4973c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_OFT_GB				(0x00c8)
4983c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_OFT_B					(0x00cc)
4993c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_SHF					(0x00d0)
5003c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_LSC_MAX					(0x00d4)
5013c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart
5023c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_EN				(0x00d8)
5033c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_TYP				(0x00dc)
5043c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_THR_00				(0x00e0)
5053c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_THR_01				(0x00e4)
5063c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_THR_02				(0x00e8)
5073c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_THR_03				(0x00ec)
5083c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_THR_04				(0x00f0)
5093c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_THR_05				(0x00f4)
5103c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_THR_06				(0x00f8)
5113c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_THR_07				(0x00fc)
51259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_STR_00				(0x0100)
51359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_STR_01				(0x0104)
51459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_STR_02				(0x0108)
5153c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_STR_03				(0x010c)
51659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_STR_04				(0x0110)
51759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_STR_05				(0x0114)
51859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_STR_06				(0x0118)
5193c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_STR_07				(0x011c)
52059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_SPR_00				(0x0120)
52159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_SPR_01				(0x0124)
52259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_SPR_02				(0x0128)
5233c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_SPR_03				(0x012c)
52459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_SPR_04				(0x0130)
52559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_SPR_05				(0x0134)
52659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_SPR_06				(0x0138)
5273c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_1ST_SPR_07				(0x013c)
52859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_EDG_MIN				(0x0140)
52959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_1ST_EDG_MAX				(0x0144)
53059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_EN				(0x0148)
5313c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_TYP				(0x014c)
53259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_THR00				(0x0150)
53359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_THR01				(0x0154)
53459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_THR02				(0x0158)
5353c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_THR03				(0x015c)
53659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_THR04				(0x0160)
53759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_THR05				(0x0164)
53859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_THR06				(0x0168)
5393c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_THR07				(0x016c)
54059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_STR_00				(0x0170)
54159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_STR_01				(0x0174)
54259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_STR_02				(0x0178)
5433c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_STR_03				(0x017c)
54459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_STR_04				(0x0180)
54559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_STR_05				(0x0184)
54659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_STR_06				(0x0188)
5473c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_STR_07				(0x018c)
54859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_SPR_00				(0x0190)
54959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_SPR_01				(0x0194)
55059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_D2F_2ND_SPR_02				(0x0198)
5513c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_SPR_03				(0x019c)
5523c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_SPR_04				(0x01a0)
5533c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_SPR_05				(0x01a4)
5543c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_SPR_06				(0x01a8)
5553c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_SPR_07				(0x01ac)
5563c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_EDG_MIN				(0x01b0)
5573c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_D2F_2ND_EDG_MAX				(0x01b4)
5583c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart
5593c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_GIC_EN					(0x01b8)
5603c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_GIC_TYP					(0x01bc)
5613c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_GIC_GAN					(0x01c0)
5623c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_GIC_NFGAIN				(0x01c4)
5633c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_GIC_THR					(0x01c8)
5643c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_GIC_SLP					(0x01cc)
5653c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart
5663c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_WB2_OFT_R					(0x01d0)
5673c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_WB2_OFT_GR				(0x01d4)
5683c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_WB2_OFT_GB				(0x01d8)
5693c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_WB2_OFT_B					(0x01dc)
5703c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart
5713c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_WB2_WGN_R					(0x01e0)
5723c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_WB2_WGN_GR				(0x01e4)
5733c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_WB2_WGN_GB				(0x01e8)
5743c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_WB2_WGN_B					(0x01ec)
5753c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart
5763c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CFA_MODE					(0x01f0)
5773c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CFA_2DIR_HPF_THR				(0x01f4)
5783c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CFA_2DIR_HPF_SLP				(0x01f8)
5793c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CFA_2DIR_MIX_THR				(0x01fc)
58059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CFA_2DIR_MIX_SLP				(0x0200)
58159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CFA_2DIR_DIR_TRH				(0x0204)
58259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CFA_2DIR_DIR_SLP				(0x0208)
5833c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CFA_2DIR_NDWT				(0x020c)
58459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CFA_MONO_HUE_FRA				(0x0210)
58559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CFA_MONO_EDG_THR				(0x0214)
58659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CFA_MONO_THR_MIN				(0x0218)
58759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
5883c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CFA_MONO_THR_SLP				(0x021c)
58959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CFA_MONO_SLP_MIN				(0x0220)
59059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CFA_MONO_SLP_SLP				(0x0224)
59159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CFA_MONO_LPWT				(0x0228)
59259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
5933c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_RGB1_MUL_RR				(0x022c)
59459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB1_MUL_GR				(0x0230)
59559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB1_MUL_BR				(0x0234)
59659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB1_MUL_RG				(0x0238)
5973c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_RGB1_MUL_GG				(0x023c)
59859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB1_MUL_BG				(0x0240)
59959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB1_MUL_RB				(0x0244)
60059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB1_MUL_GB				(0x0248)
6013c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_RGB1_MUL_BB				(0x024c)
60259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB1_OFT_OR				(0x0250)
60359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB1_OFT_OG				(0x0254)
60459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB1_OFT_OB				(0x0258)
6053c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_GMM_CFG					(0x025c)
60659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB2_MUL_RR				(0x0260)
60759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB2_MUL_GR				(0x0264)
60859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB2_MUL_BR				(0x0268)
6093c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_RGB2_MUL_RG				(0x026c)
61059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB2_MUL_GG				(0x0270)
61159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB2_MUL_BG				(0x0274)
61259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB2_MUL_RB				(0x0278)
6133c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_RGB2_MUL_GB				(0x027c)
61459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB2_MUL_BB				(0x0280)
61559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB2_OFT_OR				(0x0284)
61659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_RGB2_OFT_OG				(0x0288)
6173c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_RGB2_OFT_OB				(0x028c)
61859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
61959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_YUV_ADJ					(0x0294)
62059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_YUV_MUL_RY				(0x0298)
6213c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_MUL_GY				(0x029c)
6223c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_MUL_BY				(0x02a0)
6233c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_MUL_RCB				(0x02a4)
6243c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_MUL_GCB				(0x02a8)
6253c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_MUL_BCB				(0x02ac)
6263c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_MUL_RCR				(0x02b0)
6273c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_MUL_GCR				(0x02b4)
6283c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_MUL_BCR				(0x02b8)
6293c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_OFT_Y					(0x02bc)
6303c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_OFT_CB				(0x02c0)
6313c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_OFT_CR				(0x02c4)
6323c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart
6333c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YUV_PHS					(0x02c8)
63459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_YUV_PHS_LPF				(1 << 1)
63559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_YUV_PHS_POS				(1 << 0)
63659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
6373c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_EN					(0x02d4)
6383c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_TYP					(0x02d8)
6393c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_SHF					(0x02dc)
6403c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_MUL_00				(0x02e0)
6413c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_MUL_01				(0x02e4)
6423c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_MUL_02				(0x02e8)
6433c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_MUL_10				(0x02ec)
6443c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_MUL_11				(0x02f0)
6453c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_MUL_12				(0x02f4)
6463c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_MUL_20				(0x02f8)
6473c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_MUL_21				(0x02fc)
64859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_YEE_MUL_22				(0x0300)
64959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_YEE_THR					(0x0304)
65059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_YEE_E_GAN					(0x0308)
6513c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_YEE_E_THR_1				(0x030c)
65259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_YEE_E_THR_2				(0x0310)
65359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_YEE_G_GAN					(0x0314)
65459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_YEE_G_OFT					(0x0318)
65559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
6563c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CAR_EN					(0x031c)
65759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CAR_TYP					(0x0320)
65859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CAR_SW					(0x0324)
65959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CAR_HPF_TYP				(0x0328)
6603c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CAR_HPF_SHF				(0x032c)
66159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CAR_HPF_THR				(0x0330)
66259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CAR_GN1_GAN				(0x0334)
66359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CAR_GN1_SHF				(0x0338)
6643c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CAR_GN1_MIN				(0x033c)
66559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CAR_GN2_GAN				(0x0340)
66659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CAR_GN2_SHF				(0x0344)
66759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CAR_GN2_MIN				(0x0348)
6683c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CGS_EN					(0x034c)
66959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CGS_GN1_L_THR				(0x0350)
67059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CGS_GN1_L_GAIN				(0x0354)
67159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CGS_GN1_L_SHF				(0x0358)
6723c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CGS_GN1_L_MIN				(0x035c)
67359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CGS_GN1_H_THR				(0x0360)
67459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CGS_GN1_H_GAIN				(0x0364)
67559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CGS_GN1_H_SHF				(0x0368)
6763c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CGS_GN1_H_MIN				(0x036c)
67759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CGS_GN2_L_THR				(0x0370)
67859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CGS_GN2_L_GAIN				(0x0374)
67959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_CGS_GN2_L_SHF				(0x0378)
6803c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_CGS_GN2_L_MIN				(0x037c)
68159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
68259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BOX_EN					(0x0380)
68359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BOX_MODE					(0x0384)
68459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BOX_TYP					(0x0388)
6853c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_BOX_SHF					(0x038c)
68659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BOX_SDR_SAD_H				(0x0390)
68759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BOX_SDR_SAD_L				(0x0394)
68859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
6893c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_EN					(0x039c)
6903c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_MODE					(0x03a0)
6913c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_SEL					(0x03a4)
6923c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_PARA					(0x03a8)
6933c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_0_VPS					(0x03ac)
6943c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_0_VSZ					(0x03b0)
6953c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_0_HPS					(0x03b4)
6963c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_0_HSZ					(0x03b8)
6973c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_1_VPS					(0x03bc)
6983c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_1_VSZ					(0x03c0)
6993c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_1_HPS					(0x03c4)
7003c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_1_HSZ					(0x03c8)
7013c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_2_VPS					(0x03cc)
7023c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_2_VSZ					(0x03d0)
7033c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_2_HPS					(0x03d4)
7043c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_2_HSZ					(0x03d8)
7053c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_3_VPS					(0x03dc)
7063c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_3_VSZ					(0x03e0)
7073c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_3_HPS					(0x03e4)
7083c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_3_HSZ					(0x03e8)
7093c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_TBL					(0x03ec)
7103c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_MUL_R					(0x03f0)
7113c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_MUL_GR				(0x03f4)
7123c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_MUL_GB				(0x03f8)
7133c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_HST_MUL_B					(0x03fc)
71459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
71559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_EN					(0x0400)
71659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_MODE					(0x0404)
71759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_TYP					(0x0408)
7183c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_BSC_ROW_VCT				(0x040c)
71959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_ROW_SHF				(0x0410)
72059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_ROW_VPO				(0x0414)
72159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_ROW_VNU				(0x0418)
7223c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_BSC_ROW_VSKIP				(0x041c)
72359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_ROW_HPO				(0x0420)
72459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_ROW_HNU				(0x0424)
72559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_ROW_HSKIP				(0x0428)
7263c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_BSC_COL_VCT				(0x042c)
72759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_COL_SHF				(0x0430)
72859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_COL_VPO				(0x0434)
72959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_COL_VNU				(0x0438)
7303c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define IPIPE_BSC_COL_VSKIP				(0x043c)
73159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_COL_HPO				(0x0440)
73259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_COL_HNU				(0x0444)
73359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_COL_HSKIP				(0x0448)
73459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
73559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define IPIPE_BSC_EN					(0x0400)
73659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
73759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* ISS ISP Resizer register offsets */
73859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_REVISION					(0x0000)
73959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SYSCONFIG					(0x0004)
74059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SYSCONFIG_RSZB_CLK_EN			(1 << 9)
74159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SYSCONFIG_RSZA_CLK_EN			(1 << 8)
74259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
7433c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_IN_FIFO_CTRL				(0x000c)
7443c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_IN_FIFO_CTRL_THRLD_LOW_MASK			(0x1ff << 16)
74559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_IN_FIFO_CTRL_THRLD_LOW_SHIFT		16
7463c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_IN_FIFO_CTRL_THRLD_HIGH_MASK		(0x1ff << 0)
74759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_IN_FIFO_CTRL_THRLD_HIGH_SHIFT		0
74859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
74959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_FRACDIV					(0x0008)
7503c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_FRACDIV_MASK				(0xffff)
75159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
75259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_EN					(0x0020)
75359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_EN_SRC_EN				(1 << 0)
75459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
75559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_MODE					(0x0024)
75659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_MODE_OST				(1 << 0)
75759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_MODE_WRT				(1 << 1)
75859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
75959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_FMT0					(0x0028)
76059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_FMT0_BYPASS				(1 << 1)
76159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_FMT0_SEL				(1 << 0)
76259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
7633c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_SRC_FMT1					(0x002c)
76459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_FMT1_IN420				(1 << 1)
76559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
76659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_VPS					(0x0030)
76759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_VSZ					(0x0034)
76859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SRC_HPS					(0x0038)
7693c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_SRC_HSZ					(0x003c)
77059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_DMA_RZA					(0x0040)
77159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_DMA_RZB					(0x0044)
77259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_DMA_STA					(0x0048)
7733c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_GCK_MMR					(0x004c)
77459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_GCK_MMR_MMR					(1 << 0)
77559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
77659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_GCK_SDR					(0x0054)
77759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_GCK_SDR_CORE				(1 << 0)
77859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
77959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_IRQ_RZA					(0x0058)
7803c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_IRQ_RZA_MASK				(0x1fff)
78159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
7823c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_IRQ_RZB					(0x005c)
7833c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_IRQ_RZB_MASK				(0x1fff)
78459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
78559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_YUV_Y_MIN					(0x0060)
78659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_YUV_Y_MAX					(0x0064)
78759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_YUV_C_MIN					(0x0068)
7883c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_YUV_C_MAX					(0x006c)
78959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
79059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SEQ						(0x0074)
79159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SEQ_HRVB					(1 << 2)
79259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_SEQ_HRVA					(1 << 0)
79359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
79459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZA_EN						(0x0078)
7953c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_MODE					(0x007c)
79659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZA_MODE_ONE_SHOT				(1 << 0)
79759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
79859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZA_420						(0x0080)
79959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZA_I_VPS					(0x0084)
80059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZA_I_HPS					(0x0088)
8013c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_O_VSZ					(0x008c)
80259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZA_O_HSZ					(0x0090)
80359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZA_V_PHS_Y					(0x0094)
80459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZA_V_PHS_C					(0x0098)
8053c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_V_DIF					(0x009c)
8063c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_V_TYP					(0x00a0)
8073c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_V_LPF					(0x00a4)
8083c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_H_PHS					(0x00a8)
8093c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_H_DIF					(0x00b0)
8103c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_H_TYP					(0x00b4)
8113c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_H_LPF					(0x00b8)
8123c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_DWN_EN					(0x00bc)
8133c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_Y_BAD_H					(0x00d0)
8143c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_Y_BAD_L					(0x00d4)
8153c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_Y_SAD_H					(0x00d8)
8163c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_Y_SAD_L					(0x00dc)
8173c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_Y_OFT					(0x00e0)
8183c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_Y_PTR_S					(0x00e4)
8193c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_Y_PTR_E					(0x00e8)
8203c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_C_BAD_H					(0x00ec)
8213c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_C_BAD_L					(0x00f0)
8223c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_C_SAD_H					(0x00f4)
8233c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_C_SAD_L					(0x00f8)
8243c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZA_SDR_C_OFT					(0x00fc)
82559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZA_SDR_C_PTR_S					(0x0100)
82659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZA_SDR_C_PTR_E					(0x0104)
82759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
82859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_EN						(0x0108)
8293c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZB_MODE					(0x010c)
83059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_420						(0x0110)
83159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_I_VPS					(0x0114)
83259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_I_HPS					(0x0118)
8333c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZB_O_VSZ					(0x011c)
83459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_O_HSZ					(0x0120)
83559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8363c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZB_V_DIF					(0x012c)
83759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_V_TYP					(0x0130)
83859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_V_LPF					(0x0134)
83959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
84059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_H_DIF					(0x0140)
84159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_H_TYP					(0x0144)
84259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_H_LPF					(0x0148)
84359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
84459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_Y_BAD_H					(0x0160)
84559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_Y_BAD_L					(0x0164)
84659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_Y_SAD_H					(0x0168)
8473c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZB_SDR_Y_SAD_L					(0x016c)
84859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_Y_OFT					(0x0170)
84959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_Y_PTR_S					(0x0174)
85059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_Y_PTR_E					(0x0178)
8513c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RZB_SDR_C_BAD_H					(0x017c)
85259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_C_BAD_L					(0x0180)
85359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_C_SAD_H					(0x0184)
85459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_C_SAD_L					(0x0188)
85559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
85659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_C_PTR_S					(0x0190)
85759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RZB_SDR_C_PTR_E					(0x0194)
85859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
85959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre/* Shared Bitmasks between RZA & RZB */
86059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_EN_EN					(1 << 0)
86159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
86259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_420_CEN					(1 << 1)
86359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_420_YEN					(1 << 0)
86459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8653c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_I_VPS_MASK					(0x1fff)
86659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8673c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_I_HPS_MASK					(0x1fff)
86859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8693c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_O_VSZ_MASK					(0x1fff)
87059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8713c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_O_HSZ_MASK					(0x1ffe)
87259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8733c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_V_PHS_Y_MASK				(0x3fff)
87459f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8753c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_V_PHS_C_MASK				(0x3fff)
87659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8773c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_V_DIF_MASK					(0x3fff)
87859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
87959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_V_TYP_C					(1 << 1)
88059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_V_TYP_Y					(1 << 0)
88159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8823c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_V_LPF_C_MASK				(0x3f << 6)
88359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_V_LPF_C_SHIFT				6
8843c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_V_LPF_Y_MASK				(0x3f << 0)
88559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_V_LPF_Y_SHIFT				0
88659f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8873c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_H_PHS_MASK					(0x3fff)
88859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8893c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_H_DIF_MASK					(0x3fff)
89059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
89159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_H_TYP_C					(1 << 1)
89259f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_H_TYP_Y					(1 << 0)
89359f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
8943c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_H_LPF_C_MASK				(0x3f << 6)
89559f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_H_LPF_C_SHIFT				6
8963c4ee96b5fd5bb0223965fda97918fdd353d240cLaurent Pinchart#define RSZ_H_LPF_Y_MASK				(0x3f << 0)
89759f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_H_LPF_Y_SHIFT				0
89859f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
89959f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#define RSZ_DWN_EN_DWN_EN				(1 << 0)
90059f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre
90159f0ad8076816d13f7cba80d2b178ff5ab787e2eSergio Aguirre#endif /* _OMAP4_ISS_REGS_H_ */
902