xref: /openbmc/linux/drivers/gpu/drm/mxsfb/lcdif_regs.h (revision e3cac8f7)
19db35bb3SMarek Vasut /* SPDX-License-Identifier: GPL-2.0-or-later */
29db35bb3SMarek Vasut /*
39db35bb3SMarek Vasut  * Copyright (C) 2022 Marek Vasut <marex@denx.de>
49db35bb3SMarek Vasut  *
59db35bb3SMarek Vasut  * i.MX8MP/i.MXRT LCDIF LCD controller driver.
69db35bb3SMarek Vasut  */
79db35bb3SMarek Vasut 
89db35bb3SMarek Vasut #ifndef __LCDIF_REGS_H__
99db35bb3SMarek Vasut #define __LCDIF_REGS_H__
109db35bb3SMarek Vasut 
119db35bb3SMarek Vasut #define REG_SET	4
129db35bb3SMarek Vasut #define REG_CLR	8
139db35bb3SMarek Vasut 
149db35bb3SMarek Vasut /* V8 register set */
159db35bb3SMarek Vasut #define LCDC_V8_CTRL			0x00
169db35bb3SMarek Vasut #define LCDC_V8_DISP_PARA		0x10
179db35bb3SMarek Vasut #define LCDC_V8_DISP_SIZE		0x14
189db35bb3SMarek Vasut #define LCDC_V8_HSYN_PARA		0x18
199db35bb3SMarek Vasut #define LCDC_V8_VSYN_PARA		0x1c
209db35bb3SMarek Vasut #define LCDC_V8_VSYN_HSYN_WIDTH		0x20
219db35bb3SMarek Vasut #define LCDC_V8_INT_STATUS_D0		0x24
229db35bb3SMarek Vasut #define LCDC_V8_INT_ENABLE_D0		0x28
239db35bb3SMarek Vasut #define LCDC_V8_INT_STATUS_D1		0x30
249db35bb3SMarek Vasut #define LCDC_V8_INT_ENABLE_D1		0x34
259db35bb3SMarek Vasut #define LCDC_V8_CTRLDESCL0_1		0x200
269db35bb3SMarek Vasut #define LCDC_V8_CTRLDESCL0_3		0x208
279db35bb3SMarek Vasut #define LCDC_V8_CTRLDESCL_LOW0_4	0x20c
289db35bb3SMarek Vasut #define LCDC_V8_CTRLDESCL_HIGH0_4	0x210
299db35bb3SMarek Vasut #define LCDC_V8_CTRLDESCL0_5		0x214
309db35bb3SMarek Vasut #define LCDC_V8_CSC0_CTRL		0x21c
319db35bb3SMarek Vasut #define LCDC_V8_CSC0_COEF0		0x220
329db35bb3SMarek Vasut #define LCDC_V8_CSC0_COEF1		0x224
339db35bb3SMarek Vasut #define LCDC_V8_CSC0_COEF2		0x228
349db35bb3SMarek Vasut #define LCDC_V8_CSC0_COEF3		0x22c
359db35bb3SMarek Vasut #define LCDC_V8_CSC0_COEF4		0x230
369db35bb3SMarek Vasut #define LCDC_V8_CSC0_COEF5		0x234
379db35bb3SMarek Vasut #define LCDC_V8_PANIC0_THRES		0x238
389db35bb3SMarek Vasut 
399db35bb3SMarek Vasut #define CTRL_SFTRST			BIT(31)
409db35bb3SMarek Vasut #define CTRL_CLKGATE			BIT(30)
419db35bb3SMarek Vasut #define CTRL_BYPASS_COUNT		BIT(19)
429db35bb3SMarek Vasut #define CTRL_VSYNC_MODE			BIT(18)
439db35bb3SMarek Vasut #define CTRL_DOTCLK_MODE		BIT(17)
449db35bb3SMarek Vasut #define CTRL_DATA_SELECT		BIT(16)
459db35bb3SMarek Vasut #define CTRL_BUS_WIDTH_16		(0 << 10)
469db35bb3SMarek Vasut #define CTRL_BUS_WIDTH_8		(1 << 10)
479db35bb3SMarek Vasut #define CTRL_BUS_WIDTH_18		(2 << 10)
489db35bb3SMarek Vasut #define CTRL_BUS_WIDTH_24		(3 << 10)
499db35bb3SMarek Vasut #define CTRL_BUS_WIDTH_MASK		(0x3 << 10)
509db35bb3SMarek Vasut #define CTRL_WORD_LENGTH_16		(0 << 8)
519db35bb3SMarek Vasut #define CTRL_WORD_LENGTH_8		(1 << 8)
529db35bb3SMarek Vasut #define CTRL_WORD_LENGTH_18		(2 << 8)
539db35bb3SMarek Vasut #define CTRL_WORD_LENGTH_24		(3 << 8)
549db35bb3SMarek Vasut #define CTRL_MASTER			BIT(5)
559db35bb3SMarek Vasut #define CTRL_DF16			BIT(3)
569db35bb3SMarek Vasut #define CTRL_DF18			BIT(2)
579db35bb3SMarek Vasut #define CTRL_DF24			BIT(1)
589db35bb3SMarek Vasut #define CTRL_RUN			BIT(0)
599db35bb3SMarek Vasut 
609db35bb3SMarek Vasut #define CTRL1_RECOVER_ON_UNDERFLOW	BIT(24)
619db35bb3SMarek Vasut #define CTRL1_FIFO_CLEAR		BIT(21)
629db35bb3SMarek Vasut #define CTRL1_SET_BYTE_PACKAGING(x)	(((x) & 0xf) << 16)
639db35bb3SMarek Vasut #define CTRL1_GET_BYTE_PACKAGING(x)	(((x) >> 16) & 0xf)
649db35bb3SMarek Vasut #define CTRL1_CUR_FRAME_DONE_IRQ_EN	BIT(13)
659db35bb3SMarek Vasut #define CTRL1_CUR_FRAME_DONE_IRQ	BIT(9)
669db35bb3SMarek Vasut 
679db35bb3SMarek Vasut #define CTRL2_SET_OUTSTANDING_REQS_1	0
689db35bb3SMarek Vasut #define CTRL2_SET_OUTSTANDING_REQS_2	(0x1 << 21)
699db35bb3SMarek Vasut #define CTRL2_SET_OUTSTANDING_REQS_4	(0x2 << 21)
709db35bb3SMarek Vasut #define CTRL2_SET_OUTSTANDING_REQS_8	(0x3 << 21)
719db35bb3SMarek Vasut #define CTRL2_SET_OUTSTANDING_REQS_16	(0x4 << 21)
729db35bb3SMarek Vasut #define CTRL2_SET_OUTSTANDING_REQS_MASK	(0x7 << 21)
739db35bb3SMarek Vasut 
749db35bb3SMarek Vasut #define TRANSFER_COUNT_SET_VCOUNT(x)	(((x) & 0xffff) << 16)
759db35bb3SMarek Vasut #define TRANSFER_COUNT_GET_VCOUNT(x)	(((x) >> 16) & 0xffff)
769db35bb3SMarek Vasut #define TRANSFER_COUNT_SET_HCOUNT(x)	((x) & 0xffff)
779db35bb3SMarek Vasut #define TRANSFER_COUNT_GET_HCOUNT(x)	((x) & 0xffff)
789db35bb3SMarek Vasut 
799db35bb3SMarek Vasut #define VDCTRL0_ENABLE_PRESENT		BIT(28)
809db35bb3SMarek Vasut #define VDCTRL0_VSYNC_ACT_HIGH		BIT(27)
819db35bb3SMarek Vasut #define VDCTRL0_HSYNC_ACT_HIGH		BIT(26)
829db35bb3SMarek Vasut #define VDCTRL0_DOTCLK_ACT_FALLING	BIT(25)
839db35bb3SMarek Vasut #define VDCTRL0_ENABLE_ACT_HIGH		BIT(24)
849db35bb3SMarek Vasut #define VDCTRL0_VSYNC_PERIOD_UNIT	BIT(21)
859db35bb3SMarek Vasut #define VDCTRL0_VSYNC_PULSE_WIDTH_UNIT	BIT(20)
869db35bb3SMarek Vasut #define VDCTRL0_HALF_LINE		BIT(19)
879db35bb3SMarek Vasut #define VDCTRL0_HALF_LINE_MODE		BIT(18)
889db35bb3SMarek Vasut #define VDCTRL0_SET_VSYNC_PULSE_WIDTH(x) ((x) & 0x3ffff)
899db35bb3SMarek Vasut #define VDCTRL0_GET_VSYNC_PULSE_WIDTH(x) ((x) & 0x3ffff)
909db35bb3SMarek Vasut 
919db35bb3SMarek Vasut #define VDCTRL2_SET_HSYNC_PERIOD(x)	((x) & 0x3ffff)
929db35bb3SMarek Vasut #define VDCTRL2_GET_HSYNC_PERIOD(x)	((x) & 0x3ffff)
939db35bb3SMarek Vasut 
949db35bb3SMarek Vasut #define VDCTRL3_MUX_SYNC_SIGNALS	BIT(29)
959db35bb3SMarek Vasut #define VDCTRL3_VSYNC_ONLY		BIT(28)
969db35bb3SMarek Vasut #define SET_HOR_WAIT_CNT(x)		(((x) & 0xfff) << 16)
979db35bb3SMarek Vasut #define GET_HOR_WAIT_CNT(x)		(((x) >> 16) & 0xfff)
989db35bb3SMarek Vasut #define SET_VERT_WAIT_CNT(x)		((x) & 0xffff)
999db35bb3SMarek Vasut #define GET_VERT_WAIT_CNT(x)		((x) & 0xffff)
1009db35bb3SMarek Vasut 
1019db35bb3SMarek Vasut #define VDCTRL4_SET_DOTCLK_DLY(x)	(((x) & 0x7) << 29) /* v4 only */
1029db35bb3SMarek Vasut #define VDCTRL4_GET_DOTCLK_DLY(x)	(((x) >> 29) & 0x7) /* v4 only */
1039db35bb3SMarek Vasut #define VDCTRL4_SYNC_SIGNALS_ON		BIT(18)
1049db35bb3SMarek Vasut #define SET_DOTCLK_H_VALID_DATA_CNT(x)	((x) & 0x3ffff)
1059db35bb3SMarek Vasut 
1069db35bb3SMarek Vasut #define DEBUG0_HSYNC			BIT(26)
1079db35bb3SMarek Vasut #define DEBUG0_VSYNC			BIT(25)
1089db35bb3SMarek Vasut 
1099db35bb3SMarek Vasut #define AS_CTRL_PS_DISABLE		BIT(23)
1109db35bb3SMarek Vasut #define AS_CTRL_ALPHA_INVERT		BIT(20)
1119db35bb3SMarek Vasut #define AS_CTRL_ALPHA(a)		(((a) & 0xff) << 8)
1129db35bb3SMarek Vasut #define AS_CTRL_FORMAT_RGB565		(0xe << 4)
1139db35bb3SMarek Vasut #define AS_CTRL_FORMAT_RGB444		(0xd << 4)
1149db35bb3SMarek Vasut #define AS_CTRL_FORMAT_RGB555		(0xc << 4)
1159db35bb3SMarek Vasut #define AS_CTRL_FORMAT_ARGB4444		(0x9 << 4)
1169db35bb3SMarek Vasut #define AS_CTRL_FORMAT_ARGB1555		(0x8 << 4)
1179db35bb3SMarek Vasut #define AS_CTRL_FORMAT_RGB888		(0x4 << 4)
1189db35bb3SMarek Vasut #define AS_CTRL_FORMAT_ARGB8888		(0x0 << 4)
1199db35bb3SMarek Vasut #define AS_CTRL_ENABLE_COLORKEY		BIT(3)
1209db35bb3SMarek Vasut #define AS_CTRL_ALPHA_CTRL_ROP		(3 << 1)
1219db35bb3SMarek Vasut #define AS_CTRL_ALPHA_CTRL_MULTIPLY	(2 << 1)
1229db35bb3SMarek Vasut #define AS_CTRL_ALPHA_CTRL_OVERRIDE	(1 << 1)
1239db35bb3SMarek Vasut #define AS_CTRL_ALPHA_CTRL_EMBEDDED	(0 << 1)
1249db35bb3SMarek Vasut #define AS_CTRL_AS_ENABLE		BIT(0)
1259db35bb3SMarek Vasut 
1269db35bb3SMarek Vasut /* V8 register set */
1279db35bb3SMarek Vasut #define CTRL_SW_RESET			BIT(31)
1289db35bb3SMarek Vasut #define CTRL_FETCH_START_OPTION_FPV	0
1299db35bb3SMarek Vasut #define CTRL_FETCH_START_OPTION_PWV	BIT(8)
1309db35bb3SMarek Vasut #define CTRL_FETCH_START_OPTION_BPV	BIT(9)
1319db35bb3SMarek Vasut #define CTRL_FETCH_START_OPTION_RESV	GENMASK(9, 8)
1329db35bb3SMarek Vasut #define CTRL_FETCH_START_OPTION_MASK	GENMASK(9, 8)
1339db35bb3SMarek Vasut #define CTRL_NEG			BIT(4)
1349db35bb3SMarek Vasut #define CTRL_INV_PXCK			BIT(3)
1359db35bb3SMarek Vasut #define CTRL_INV_DE			BIT(2)
1369db35bb3SMarek Vasut #define CTRL_INV_VS			BIT(1)
1379db35bb3SMarek Vasut #define CTRL_INV_HS			BIT(0)
1389db35bb3SMarek Vasut 
1399db35bb3SMarek Vasut #define DISP_PARA_DISP_ON		BIT(31)
1409db35bb3SMarek Vasut #define DISP_PARA_SWAP_EN		BIT(30)
141664a7ecaSLaurent Pinchart #define DISP_PARA_LINE_PATTERN_UYVY_H	(0xd << 26)
142664a7ecaSLaurent Pinchart #define DISP_PARA_LINE_PATTERN_RGB565	(0x7 << 26)
143664a7ecaSLaurent Pinchart #define DISP_PARA_LINE_PATTERN_RGB888	(0x0 << 26)
1449db35bb3SMarek Vasut #define DISP_PARA_LINE_PATTERN_MASK	GENMASK(29, 26)
1459db35bb3SMarek Vasut #define DISP_PARA_DISP_MODE_MASK	GENMASK(25, 24)
1469db35bb3SMarek Vasut #define DISP_PARA_BGND_R_MASK		GENMASK(23, 16)
1479db35bb3SMarek Vasut #define DISP_PARA_BGND_G_MASK		GENMASK(15, 8)
1489db35bb3SMarek Vasut #define DISP_PARA_BGND_B_MASK		GENMASK(7, 0)
1499db35bb3SMarek Vasut 
1509db35bb3SMarek Vasut #define DISP_SIZE_DELTA_Y(n)		(((n) & 0xffff) << 16)
1519db35bb3SMarek Vasut #define DISP_SIZE_DELTA_Y_MASK		GENMASK(31, 16)
1529db35bb3SMarek Vasut #define DISP_SIZE_DELTA_X(n)		((n) & 0xffff)
1539db35bb3SMarek Vasut #define DISP_SIZE_DELTA_X_MASK		GENMASK(15, 0)
1549db35bb3SMarek Vasut 
1559db35bb3SMarek Vasut #define HSYN_PARA_BP_H(n)		(((n) & 0xffff) << 16)
1569db35bb3SMarek Vasut #define HSYN_PARA_BP_H_MASK		GENMASK(31, 16)
1579db35bb3SMarek Vasut #define HSYN_PARA_FP_H(n)		((n) & 0xffff)
1589db35bb3SMarek Vasut #define HSYN_PARA_FP_H_MASK		GENMASK(15, 0)
1599db35bb3SMarek Vasut 
1609db35bb3SMarek Vasut #define VSYN_PARA_BP_V(n)		(((n) & 0xffff) << 16)
1619db35bb3SMarek Vasut #define VSYN_PARA_BP_V_MASK		GENMASK(31, 16)
1629db35bb3SMarek Vasut #define VSYN_PARA_FP_V(n)		((n) & 0xffff)
1639db35bb3SMarek Vasut #define VSYN_PARA_FP_V_MASK		GENMASK(15, 0)
1649db35bb3SMarek Vasut 
1659db35bb3SMarek Vasut #define VSYN_HSYN_WIDTH_PW_V(n)		(((n) & 0xffff) << 16)
1669db35bb3SMarek Vasut #define VSYN_HSYN_WIDTH_PW_V_MASK	GENMASK(31, 16)
1679db35bb3SMarek Vasut #define VSYN_HSYN_WIDTH_PW_H(n)		((n) & 0xffff)
1689db35bb3SMarek Vasut #define VSYN_HSYN_WIDTH_PW_H_MASK	GENMASK(15, 0)
1699db35bb3SMarek Vasut 
1709db35bb3SMarek Vasut #define INT_STATUS_D0_FIFO_EMPTY	BIT(24)
1719db35bb3SMarek Vasut #define INT_STATUS_D0_DMA_DONE		BIT(16)
1729db35bb3SMarek Vasut #define INT_STATUS_D0_DMA_ERR		BIT(8)
1739db35bb3SMarek Vasut #define INT_STATUS_D0_VS_BLANK		BIT(2)
1749db35bb3SMarek Vasut #define INT_STATUS_D0_UNDERRUN		BIT(1)
1759db35bb3SMarek Vasut #define INT_STATUS_D0_VSYNC		BIT(0)
1769db35bb3SMarek Vasut 
1779db35bb3SMarek Vasut #define INT_ENABLE_D0_FIFO_EMPTY_EN	BIT(24)
1789db35bb3SMarek Vasut #define INT_ENABLE_D0_DMA_DONE_EN	BIT(16)
1799db35bb3SMarek Vasut #define INT_ENABLE_D0_DMA_ERR_EN	BIT(8)
1809db35bb3SMarek Vasut #define INT_ENABLE_D0_VS_BLANK_EN	BIT(2)
1819db35bb3SMarek Vasut #define INT_ENABLE_D0_UNDERRUN_EN	BIT(1)
1829db35bb3SMarek Vasut #define INT_ENABLE_D0_VSYNC_EN		BIT(0)
1839db35bb3SMarek Vasut 
1849db35bb3SMarek Vasut #define INT_STATUS_D1_PLANE_PANIC	BIT(0)
1859db35bb3SMarek Vasut 
1869db35bb3SMarek Vasut #define INT_ENABLE_D1_PLANE_PANIC_EN	BIT(0)
1879db35bb3SMarek Vasut 
1889db35bb3SMarek Vasut #define CTRLDESCL0_1_HEIGHT(n)		(((n) & 0xffff) << 16)
1899db35bb3SMarek Vasut #define CTRLDESCL0_1_HEIGHT_MASK	GENMASK(31, 16)
1909db35bb3SMarek Vasut #define CTRLDESCL0_1_WIDTH(n)		((n) & 0xffff)
1919db35bb3SMarek Vasut #define CTRLDESCL0_1_WIDTH_MASK		GENMASK(15, 0)
1929db35bb3SMarek Vasut 
1932215cb3bSMarco Felsch #define CTRLDESCL0_3_P_SIZE(n)		(((n) << 20) & CTRLDESCL0_3_P_SIZE_MASK)
1942215cb3bSMarco Felsch #define CTRLDESCL0_3_P_SIZE_MASK	GENMASK(22, 20)
1952215cb3bSMarco Felsch #define CTRLDESCL0_3_T_SIZE(n)		(((n) << 16) & CTRLDESCL0_3_T_SIZE_MASK)
1962215cb3bSMarco Felsch #define CTRLDESCL0_3_T_SIZE_MASK	GENMASK(17, 16)
1979db35bb3SMarek Vasut #define CTRLDESCL0_3_PITCH(n)		((n) & 0xffff)
1989db35bb3SMarek Vasut #define CTRLDESCL0_3_PITCH_MASK		GENMASK(15, 0)
1999db35bb3SMarek Vasut 
2009db35bb3SMarek Vasut #define CTRLDESCL_HIGH0_4_ADDR_HIGH(n)	((n) & 0xf)
2019db35bb3SMarek Vasut #define CTRLDESCL_HIGH0_4_ADDR_HIGH_MASK	GENMASK(3, 0)
2029db35bb3SMarek Vasut 
2039db35bb3SMarek Vasut #define CTRLDESCL0_5_EN			BIT(31)
2049db35bb3SMarek Vasut #define CTRLDESCL0_5_SHADOW_LOAD_EN	BIT(30)
205664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_BPP_16_RGB565	(0x4 << 24)
206664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_BPP_16_ARGB1555	(0x5 << 24)
207664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_BPP_16_ARGB4444	(0x6 << 24)
208664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_BPP_YCbCr422	(0x7 << 24)
209664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_BPP_24_RGB888	(0x8 << 24)
210664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_BPP_32_ARGB8888	(0x9 << 24)
211664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_BPP_32_ABGR8888	(0xa << 24)
2129db35bb3SMarek Vasut #define CTRLDESCL0_5_BPP_MASK		GENMASK(27, 24)
213664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_YUV_FORMAT_Y2VY1U	(0x0 << 14)
214664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_YUV_FORMAT_Y2UY1V	(0x1 << 14)
215664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_YUV_FORMAT_VY2UY1	(0x2 << 14)
216664a7ecaSLaurent Pinchart #define CTRLDESCL0_5_YUV_FORMAT_UY2VY1	(0x3 << 14)
2179db35bb3SMarek Vasut #define CTRLDESCL0_5_YUV_FORMAT_MASK	GENMASK(15, 14)
2189db35bb3SMarek Vasut 
2196cba31e3SKieran Bingham #define CSC0_CTRL_CSC_MODE_YUV2RGB	(0x0 << 1)
2206cba31e3SKieran Bingham #define CSC0_CTRL_CSC_MODE_YCbCr2RGB	(0x1 << 1)
2216cba31e3SKieran Bingham #define CSC0_CTRL_CSC_MODE_RGB2YUV	(0x2 << 1)
2226cba31e3SKieran Bingham #define CSC0_CTRL_CSC_MODE_RGB2YCbCr	(0x3 << 1)
2239db35bb3SMarek Vasut #define CSC0_CTRL_CSC_MODE_MASK		GENMASK(2, 1)
2249db35bb3SMarek Vasut #define CSC0_CTRL_BYPASS		BIT(0)
2259db35bb3SMarek Vasut 
2269db35bb3SMarek Vasut #define CSC0_COEF0_A2(n)		(((n) << 16) & CSC0_COEF0_A2_MASK)
2279db35bb3SMarek Vasut #define CSC0_COEF0_A2_MASK		GENMASK(26, 16)
2289db35bb3SMarek Vasut #define CSC0_COEF0_A1(n)		((n) & CSC0_COEF0_A1_MASK)
2299db35bb3SMarek Vasut #define CSC0_COEF0_A1_MASK		GENMASK(10, 0)
2309db35bb3SMarek Vasut 
2319db35bb3SMarek Vasut #define CSC0_COEF1_B1(n)		(((n) << 16) & CSC0_COEF1_B1_MASK)
2329db35bb3SMarek Vasut #define CSC0_COEF1_B1_MASK		GENMASK(26, 16)
2339db35bb3SMarek Vasut #define CSC0_COEF1_A3(n)		((n) & CSC0_COEF1_A3_MASK)
2349db35bb3SMarek Vasut #define CSC0_COEF1_A3_MASK		GENMASK(10, 0)
2359db35bb3SMarek Vasut 
2369db35bb3SMarek Vasut #define CSC0_COEF2_B3(n)		(((n) << 16) & CSC0_COEF2_B3_MASK)
2379db35bb3SMarek Vasut #define CSC0_COEF2_B3_MASK		GENMASK(26, 16)
2389db35bb3SMarek Vasut #define CSC0_COEF2_B2(n)		((n) & CSC0_COEF2_B2_MASK)
2399db35bb3SMarek Vasut #define CSC0_COEF2_B2_MASK		GENMASK(10, 0)
2409db35bb3SMarek Vasut 
2419db35bb3SMarek Vasut #define CSC0_COEF3_C2(n)		(((n) << 16) & CSC0_COEF3_C2_MASK)
2429db35bb3SMarek Vasut #define CSC0_COEF3_C2_MASK		GENMASK(26, 16)
2439db35bb3SMarek Vasut #define CSC0_COEF3_C1(n)		((n) & CSC0_COEF3_C1_MASK)
2449db35bb3SMarek Vasut #define CSC0_COEF3_C1_MASK		GENMASK(10, 0)
2459db35bb3SMarek Vasut 
2469db35bb3SMarek Vasut #define CSC0_COEF4_D1(n)		(((n) << 16) & CSC0_COEF4_D1_MASK)
2479db35bb3SMarek Vasut #define CSC0_COEF4_D1_MASK		GENMASK(24, 16)
2489db35bb3SMarek Vasut #define CSC0_COEF4_C3(n)		((n) & CSC0_COEF4_C3_MASK)
2499db35bb3SMarek Vasut #define CSC0_COEF4_C3_MASK		GENMASK(10, 0)
2509db35bb3SMarek Vasut 
2519db35bb3SMarek Vasut #define CSC0_COEF5_D3(n)		(((n) << 16) & CSC0_COEF5_D3_MASK)
2529db35bb3SMarek Vasut #define CSC0_COEF5_D3_MASK		GENMASK(24, 16)
2539db35bb3SMarek Vasut #define CSC0_COEF5_D2(n)		((n) & CSC0_COEF5_D2_MASK)
2549db35bb3SMarek Vasut #define CSC0_COEF5_D2_MASK		GENMASK(8, 0)
2559db35bb3SMarek Vasut 
2569db35bb3SMarek Vasut #define PANIC0_THRES_LOW_MASK		GENMASK(24, 16)
2579db35bb3SMarek Vasut #define PANIC0_THRES_HIGH_MASK		GENMASK(8, 0)
258*e3cac8f7SMarek Vasut #define PANIC0_THRES_MAX		511
2599db35bb3SMarek Vasut 
2609db35bb3SMarek Vasut #define LCDIF_MIN_XRES			120
2619db35bb3SMarek Vasut #define LCDIF_MIN_YRES			120
2629db35bb3SMarek Vasut #define LCDIF_MAX_XRES			0xffff
2639db35bb3SMarek Vasut #define LCDIF_MAX_YRES			0xffff
2649db35bb3SMarek Vasut 
2659db35bb3SMarek Vasut #endif /* __LCDIF_REGS_H__ */
266