linux/drivers/phy/mediatek/phy-mtk-mipi-csi-0-5-rx-reg.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (c) 2023, MediaTek Inc.
 * Copyright (c) 2023, BayLibre Inc.
 */

#ifndef __PHY_MTK_MIPI_CSI_V_0_5_RX_REG_H__
#define __PHY_MTK_MIPI_CSI_V_0_5_RX_REG_H__

/*
 * CSI1 and CSI2 are identical, and similar to CSI0. All CSIX macros are
 * applicable to the three PHYs. Where differences exist, they are denoted by
 * macro names using CSI0 and CSI1, the latter being applicable to CSI1 and
 * CSI2 alike.
 */

#define MIPI_RX_ANA00_CSIXA			0x0000
#define RG_CSI0A_CPHY_EN			BIT(0)
#define RG_CSIXA_EQ_PROTECT_EN			BIT(1)
#define RG_CSIXA_BG_LPF_EN			BIT(2)
#define RG_CSIXA_BG_CORE_EN			BIT(3)
#define RG_CSIXA_DPHY_L0_CKMODE_EN		BIT(5)
#define RG_CSIXA_DPHY_L0_CKSEL			BIT(6)
#define RG_CSIXA_DPHY_L1_CKMODE_EN		BIT(8)
#define RG_CSIXA_DPHY_L1_CKSEL			BIT(9)
#define RG_CSIXA_DPHY_L2_CKMODE_EN		BIT(11)
#define RG_CSIXA_DPHY_L2_CKSEL			BIT(12)

#define MIPI_RX_ANA18_CSIXA			0x0018
#define RG_CSI0A_L0_T0AB_EQ_IS			GENMASK(5, 4)
#define RG_CSI0A_L0_T0AB_EQ_BW			GENMASK(7, 6)
#define RG_CSI0A_L1_T1AB_EQ_IS			GENMASK(21, 20)
#define RG_CSI0A_L1_T1AB_EQ_BW			GENMASK(23, 22)
#define RG_CSI0A_L2_T1BC_EQ_IS			GENMASK(21, 20)
#define RG_CSI0A_L2_T1BC_EQ_BW			GENMASK(23, 22)
#define RG_CSI1A_L0_EQ_IS			GENMASK(5, 4)
#define RG_CSI1A_L0_EQ_BW			GENMASK(7, 6)
#define RG_CSI1A_L1_EQ_IS			GENMASK(21, 20)
#define RG_CSI1A_L1_EQ_BW			GENMASK(23, 22)
#define RG_CSI1A_L2_EQ_IS			GENMASK(5, 4)
#define RG_CSI1A_L2_EQ_BW			GENMASK(7, 6)

#define MIPI_RX_ANA1C_CSIXA			0x001c
#define MIPI_RX_ANA20_CSI0A			0x0020

#define MIPI_RX_ANA24_CSIXA			0x0024
#define RG_CSIXA_RESERVE			GENMASK(31, 24)

#define MIPI_RX_ANA40_CSIXA			0x0040
#define RG_CSIXA_CPHY_FMCK_SEL			GENMASK(1, 0)
#define RG_CSIXA_ASYNC_OPTION			GENMASK(7, 4)
#define RG_CSIXA_CPHY_SPARE			GENMASK(31, 16)

#define MIPI_RX_WRAPPER80_CSIXA			0x0080
#define CSR_CSI_RST_MODE			GENMASK(17, 16)

#define MIPI_RX_ANAA8_CSIXA			0x00a8
#define RG_CSIXA_CDPHY_L0_T0_BYTECK_INVERT	BIT(0)
#define RG_CSIXA_DPHY_L1_BYTECK_INVERT		BIT(1)
#define RG_CSIXA_CDPHY_L2_T1_BYTECK_INVERT	BIT(2)

#endif