114 lines
2.9 KiB
C
114 lines
2.9 KiB
C
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
||
|
/*
|
||
|
* ST stm32 Chrom-Art - 2D Graphics Accelerator Driver
|
||
|
*
|
||
|
* Copyright (c) 2021 Dillon Min
|
||
|
* Dillon Min, <dillon.minfei@gmail.com>
|
||
|
*
|
||
|
* based on s5p-g2d
|
||
|
*
|
||
|
* Copyright (c) 2011 Samsung Electronics Co., Ltd.
|
||
|
* Kamil Debski, <k.debski@samsung.com>
|
||
|
*/
|
||
|
|
||
|
#ifndef __DMA2D_REGS_H__
|
||
|
#define __DMA2D_REGS_H__
|
||
|
|
||
|
#define DMA2D_CR_REG 0x0000
|
||
|
#define CR_MODE_MASK GENMASK(17, 16)
|
||
|
#define CR_MODE_SHIFT 16
|
||
|
#define CR_M2M 0x0000
|
||
|
#define CR_M2M_PFC BIT(16)
|
||
|
#define CR_M2M_BLEND BIT(17)
|
||
|
#define CR_R2M (BIT(17) | BIT(16))
|
||
|
#define CR_CEIE BIT(13)
|
||
|
#define CR_CTCIE BIT(12)
|
||
|
#define CR_CAEIE BIT(11)
|
||
|
#define CR_TWIE BIT(10)
|
||
|
#define CR_TCIE BIT(9)
|
||
|
#define CR_TEIE BIT(8)
|
||
|
#define CR_ABORT BIT(2)
|
||
|
#define CR_SUSP BIT(1)
|
||
|
#define CR_START BIT(0)
|
||
|
|
||
|
#define DMA2D_ISR_REG 0x0004
|
||
|
#define ISR_CEIF BIT(5)
|
||
|
#define ISR_CTCIF BIT(4)
|
||
|
#define ISR_CAEIF BIT(3)
|
||
|
#define ISR_TWIF BIT(2)
|
||
|
#define ISR_TCIF BIT(1)
|
||
|
#define ISR_TEIF BIT(0)
|
||
|
|
||
|
#define DMA2D_IFCR_REG 0x0008
|
||
|
#define IFCR_CCEIF BIT(5)
|
||
|
#define IFCR_CCTCIF BIT(4)
|
||
|
#define IFCR_CAECIF BIT(3)
|
||
|
#define IFCR_CTWIF BIT(2)
|
||
|
#define IFCR_CTCIF BIT(1)
|
||
|
#define IFCR_CTEIF BIT(0)
|
||
|
|
||
|
#define DMA2D_FGMAR_REG 0x000c
|
||
|
#define DMA2D_FGOR_REG 0x0010
|
||
|
#define FGOR_LO_MASK GENMASK(13, 0)
|
||
|
|
||
|
#define DMA2D_BGMAR_REG 0x0014
|
||
|
#define DMA2D_BGOR_REG 0x0018
|
||
|
#define BGOR_LO_MASK GENMASK(13, 0)
|
||
|
|
||
|
#define DMA2D_FGPFCCR_REG 0x001c
|
||
|
#define FGPFCCR_ALPHA_MASK GENMASK(31, 24)
|
||
|
#define FGPFCCR_AM_MASK GENMASK(17, 16)
|
||
|
#define FGPFCCR_CS_MASK GENMASK(15, 8)
|
||
|
#define FGPFCCR_START BIT(5)
|
||
|
#define FGPFCCR_CCM_RGB888 BIT(4)
|
||
|
#define FGPFCCR_CM_MASK GENMASK(3, 0)
|
||
|
|
||
|
#define DMA2D_FGCOLR_REG 0x0020
|
||
|
#define FGCOLR_REG_MASK GENMASK(23, 16)
|
||
|
#define FGCOLR_GREEN_MASK GENMASK(15, 8)
|
||
|
#define FGCOLR_BLUE_MASK GENMASK(7, 0)
|
||
|
|
||
|
#define DMA2D_BGPFCCR_REG 0x0024
|
||
|
#define BGPFCCR_ALPHA_MASK GENMASK(31, 24)
|
||
|
#define BGPFCCR_AM_MASK GENMASK(17, 16)
|
||
|
#define BGPFCCR_CS_MASK GENMASK(15, 8)
|
||
|
#define BGPFCCR_START BIT(5)
|
||
|
#define BGPFCCR_CCM_RGB888 BIT(4)
|
||
|
#define BGPFCCR_CM_MASK GENMASK(3, 0)
|
||
|
|
||
|
#define DMA2D_BGCOLR_REG 0x0028
|
||
|
#define BGCOLR_REG_MASK GENMASK(23, 16)
|
||
|
#define BGCOLR_GREEN_MASK GENMASK(15, 8)
|
||
|
#define BGCOLR_BLUE_MASK GENMASK(7, 0)
|
||
|
|
||
|
#define DMA2D_OPFCCR_REG 0x0034
|
||
|
#define OPFCCR_CM_MASK GENMASK(2, 0)
|
||
|
|
||
|
#define DMA2D_OCOLR_REG 0x0038
|
||
|
#define OCOLR_ALPHA_MASK GENMASK(31, 24)
|
||
|
#define OCOLR_RED_MASK GENMASK(23, 16)
|
||
|
#define OCOLR_GREEN_MASK GENMASK(15, 8)
|
||
|
#define OCOLR_BLUE_MASK GENMASK(7, 0)
|
||
|
|
||
|
#define DMA2D_OMAR_REG 0x003c
|
||
|
|
||
|
#define DMA2D_OOR_REG 0x0040
|
||
|
#define OOR_LO_MASK GENMASK(13, 0)
|
||
|
|
||
|
#define DMA2D_NLR_REG 0x0044
|
||
|
#define NLR_PL_MASK GENMASK(29, 16)
|
||
|
#define NLR_NL_MASK GENMASK(15, 0)
|
||
|
|
||
|
/* Hardware limits */
|
||
|
#define MAX_WIDTH 2592
|
||
|
#define MAX_HEIGHT 2592
|
||
|
|
||
|
#define DEFAULT_WIDTH 240
|
||
|
#define DEFAULT_HEIGHT 320
|
||
|
#define DEFAULT_SIZE 307200
|
||
|
|
||
|
#define CM_MODE_ARGB8888 0x00
|
||
|
#define CM_MODE_ARGB4444 0x04
|
||
|
#define CM_MODE_A4 0x0a
|
||
|
#endif /* __DMA2D_REGS_H__ */
|